No.5 온라인 슬롯 및 처리 속도를 호출하는 방법 (대규모 데이터 처리 내 처리) [Part 1]
2016.09.14 Progress 온라인 슬롯
이 항목은 Assist Co., Ltd. (https : //www.ashisuto.co.jp/product/category/brms/progress_온라인 슬롯/column/detail/brmstech05.html)의 재 인쇄입니다.
|
온라인 슬롯은 비즈니스 운영과 관련된 온라인 처리뿐만 아니라 배치 처리를 통해 비즈니스 데이터를 결정하는데도 사용할 수 있습니다. 그러나 많은 양의 데이터를 처리하는 응용 프로그램이 웹 서비스 (SOAP 또는 REST)에서 구현되면 세션 시간 아웃 및 메모리와 같은 치명적인 오류가 발생할 수 있습니다. 이번에는 이러한 많은 양의 데이터를 결정하기위한 오류없이 허용 가능한 시간 내에 온라인 슬롯 Server의 의사 결정 서비스를 사용하는 방법을 설명합니다. |
|
질량 온라인 슬롯 처리의 가정 및 검증
![]() |
---|
예를 들어, 규칙이 "값이 모든 데이터의 상위 10%에있는 경우 일부 종류의 처리가 수행됩니다."모든 데이터를 대량으로 삽입하여 상위 10%에 있는지 확인해야합니다. 해당 데이터가 데이터베이스 또는 이와 유사하게 관리되는 경우 잠재적으로 수십만 건을 초과 할 수 있습니다. 물론 클라이언트 측에서 SQL 문 등을 사용하여 대상 데이터를 좁히면 (위의 예에서는 미리 상위 10% 데이터)가 규칙에 대상 데이터 만 입력 할 수 있으므로 이러한 문제를 피할 수 있습니다. 그러나 이는 원래 BRMS에서 관리 해야하는 "Top 10%"와 같은 규칙이 클라이언트 측 SQL에서 구현되어 BRMS 사용의 이점을 줄임을 의미합니다. 온라인 슬롯은 이러한 문제를 해결하는 방법, 해결 방법 및 처리 방법을 확인했습니다.
코르티콘의 독특한 방법
가능한 솔루션은 Web Services를 사용하지 않는 "과정 내"메소드와 규칙 내에서 온라인 슬롯베이스를 직접 지칭하는 "EDC"옵션을 사용하는 것입니다.
![]() |
---|
* 과정 중
처리는 온라인 슬롯 Server의 사용 유형이며 사용자가 구현 한 Java 프로그램 프로세스 내에서 온라인 슬롯 Server를 실행하는 방법입니다. 온라인 슬롯 Server를 사용하는 가장 일반적인 방법은 웹 서비스를 사용하는 것이지만, 처리 중 사용은 웹 서비스에서 발생하는 다양한 오버 헤드 (데이터 전송 및 구문 분석)가 없기 때문에 고속으로 작동한다는 것을 의미합니다.
* EDC 정보 |
|
먼저, "프로세스 내"기술을 사용하여 처리 속도를 확인합니다.
검증 환경
- CPU : 2.20 GHz * 2 코어
- OS : Windows 7 Professional 64bit
- 온라인 슬롯 Server : 5.5.2.7
- Microsoft SQL Server 2012 Express
검증을위한 온라인 슬롯
이 검증에서는 일본 우편 웹 사이트에 배포 된 우편 번호 마스터 (약 120,000 개 항목)를 대량의 온라인 슬롯 샘플로 사용합니다. 이 온라인 슬롯는 Microsoft SQL Server의 "M_POST"표로 가져 왔습니다. 여기 이미지가 있습니다.
(▼ "m_post")
테이블 작성 [dbo]. [m_post] (
(▼ 테이블의 내용 "M_POST": 표현 40001-40010)
|
확인 규칙 확인
- 규칙에 입력 된 값은 우편 번호가 포함 된 사용자 온라인 슬롯와 일본 전역의 120,000 개의 우편 코드 정보를 포함하는 마스터 온라인 슬롯입니다
- 사용자 온라인 슬롯 우편 번호 및 마스터 온라인 슬롯 우편 번호를 퀘스트하여 우편 번호가 올바른지 확인
- 우편 번호가 올바른 경우, 주소가 대도시 지역에 있는지 확인하십시오 (Chiba, Tokyo, Kanagawa, Saitama)
이 규칙에 사용 된 시소러스 (계층 적 어휘, 온라인 슬롯 구조, 코르티콘의 어휘)는 다음과 같습니다.
|
엔티티 "M_POST"는 SQL Server의 "M_POST"테이블과 동일한 구조를 가지고 있으며 표 "M_POST"에서 얻은 120,000 개의 온라인 슬롯가 포함되어 있습니다.
엔티티 "개인"은 사용자 온라인 슬롯를 포함하고 규칙은 "Postno"속성의 우편 번호를 "사람"으로 결정합니다. "Checkpostnoexit"및 "Checktokyoarea"속성에는 판단의 결과가 포함되어 있습니다.
Seasolus (어휘) 및 결정 테이블 (규칙 시트) 확인을위한
이 확인에 사용 된 규칙은 다음과 같습니다.
(▼ 스코프)
|
(▼ 의사 결정 테이블)
|
(▼ 규칙 문)
|
규칙의 키는 스코프 화면의 필터 부분입니다. 온라인 슬롯은 필터 기능을 사용하여 의사 결정 테이블에 들어가기 전에 데이터 양을 좁히므로 처리 속도가 증가합니다. 여기서 "M_POST"는 약 120,000 개의 우편 번호 데이터를 저장하지만 필터로 처리 한 결과 "PostNo"의 "PostNo"와 일치하는 "M_POST"의 데이터 만 결정 테이블 처리에 입력합니다.
프로세스 내 프로그램 만들기
온라인 슬롯 Server를 실행하는 Java 프로그램을 만듭니다.
★ Main
패키지 온라인 슬롯executeinProcess;
★ 어휘 클래스
패키지 온라인 슬롯executeinProcess;
이 프로그램은 온라인 슬롯 Server Core 라이브러리 및 SQL Server JDBC 드라이버를 참조합니다. 또한 프로세스 중 프로그램은 자체 어휘 클래스를 만들어야합니다. 주요 프로그램의 내용은 프로그램 내의 의견에 간단히 설명되어 있지만 전체 흐름은 모든 데이터를 DB에 M_POST 객체에 저장하고 의사 결정 서비스를 실행하는 것입니다.
이 프로그램을 내보내고 (컴파일 된) JAR 파일을 만듭니다. 다음으로, 생성 된 JAR 파일에서 어휘 클래스 및 규칙의 어휘 파일 (ECORES)을 매핑하도록 설정을 설정하십시오. Corticon Studio Vocabulary 편집 화면에서 메뉴 "어휘" - "Java Object Messaging" - "Java Class Metadata"에서 생성 된 JAR을 설정하면 자동으로 생성 된 어휘 클래스 및 각 속성의 GET/SET 메소드가 어휘로 설정됩니다.
(설정 후 볼륨 편집 화면)
|
|
어휘 매핑을 설정 한 후 규칙 흐름을 컴파일하고 배포하십시오. 컴파일하려면 온라인 슬롯 Server와 함께 제공되는 "배포 콘솔"을 사용하지만 "배포 콘솔"을 실행할 때 생성 된 JAR 파일을 클래스 경로에 추가하십시오. 예를 들어, 컴파일 된 JAR을 샘플로 저장하면 데스크탑에서 jar :
(<배포 콘솔 폴더 \ bin \ deployconsole.bat 다음을 추가)
온라인 슬롯_ClassPath 세트 설정 =%온라인 슬롯_ClassPath%; C : \ Users \ Progress \ Desktop \ Sample.jar
배포 콘솔로 컴파일 한 EDS 파일을 작성한 후 온라인 슬롯 Server에 배포하십시오. Web Service, CDD 파일 또는 API와 같은 모든 배포 방법은 괜찮습니다.
프로세스 내 프로그램 실행
규칙을 배포 한 후 기본 프로그램을 실행하십시오. "-d온라인 슬롯_setting = ser -d온라인 슬롯_work_dir = <cortcon_work_path"를 런타임에 배포 한 규칙을로드하기위한 Java 시작 옵션으로 지정하십시오.
프로세스 프로그램 실행 결과
실행 결과는 다음과 같습니다.
진행 진행 상황 온라인 슬롯 Server : 5.5.2.7 -B7551
처리 시간에는 오류가 있지만 대략 "5 초"입니다.
웹 서비스 (SOAP/REST)와 유사한 프로그램을 만들고 120,000 요청을 실행하더라도 세션 타임 아웃을 실행하면 결과가 없습니다. 그것에 비해, 당신은 그것이 매우 빠르게 처리된다는 것을 알 수 있습니다.
마침내
다음 번에는 규칙 내에서 외부 온라인 슬롯베이스를 직접 참조 할 수있는 "EDC"옵션을 검사합니다.
저자 소개
|
Progress Promotion Department, 제품 관리 부서, 정보 인프라 부서 |