KR20160011031A - The method and architecture for exchanging data between the web services based on big-data analysis - Google Patents
The method and architecture for exchanging data between the web services based on big-data analysis Download PDFInfo
- Publication number
- KR20160011031A KR20160011031A KR1020140091988A KR20140091988A KR20160011031A KR 20160011031 A KR20160011031 A KR 20160011031A KR 1020140091988 A KR1020140091988 A KR 1020140091988A KR 20140091988 A KR20140091988 A KR 20140091988A KR 20160011031 A KR20160011031 A KR 20160011031A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- key
- nth
- service object
- input
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/40—Data acquisition and logging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
아래의 설명은 데이터 전달 방법에 관한 것으로, 빅 데이터를 분석하기 위하여 복수의 웹 서비스들이 상호 간에 데이터를 주고받는 기술에 관한 것이다.
The following description relates to a data transmission method, and relates to a technique in which a plurality of web services exchange data with each other in order to analyze big data.
현재의 빅데이터 분석 서비스는 주로 단일 단체의 시스템 혹은 서버에서 처리 후 서비스되는 형태로 개발되고 있다. 빅데이터 분석 분야가 지속적으로 성장함에 따라 개발의 효율성, 개발된 서비스의 재사용성 등을 높이기 위한 노력이 요구되고 있다. 이를 위해, SOA 패러다임을 이용함으로써, 분석 서비스를 개발하고자 자신만의 독자적인 알고리즘이나 데이터 프로세스를 수행하는 서비스를 개발하고, 그 외의 다른 단체에서 제공되는 서비스들을 연계하여 하나의 서비스를 만들어낼 수 있다.The current Big Data Analysis Service is mainly developed as a service after being processed by a single system or server. As the field of big data analysis continues to grow, efforts are needed to improve the efficiency of development and the reusability of developed services. To this end, by using the SOA paradigm, it is possible to develop a service that performs its own proprietary algorithm or data process to develop an analysis service, and to create a service by linking services provided by other organizations.
현재 SOA 패러다임을 적용하기 위한 기술로 웹 서비스가 가장 많이 활용되고 있다. 하지만 빅 데이터 분석을 위한 고유 기능을 가진 다수의 웹 서비스들이 연계되어 특정 목적을 가진 하나의 빅 데이터 분석 서비스로 만들어질 때, 이들 웹 서비스들 간에는 대량의 데이터가 상호 전달되어야 하지만 기존의 웹 서비스를 호출하고 처리 결과를 받는 방식은 비정형이면서 거대한 양의 빅 데이터를 처리하기에는 타임아웃이나 메모리상에서 처리가 불가능한 등의 문제가 있다. 따라서 연계되는 모든 웹 서비스들은 본래 제공해야 할 고유 기능 외에 빅 데이터를 핸들링하기 위한 부가적인 기능이 필요하게 되고, 이로 인해 웹 서비스 자체의 개발 오버헤드가 증가한다.Currently, web services are the most popular technology for applying the SOA paradigm. However, when a large number of web services with unique functions for big data analysis are combined into one large data analysis service with a specific purpose, a large amount of data must be transmitted between these web services, There is a problem in that the method of calling and receiving the processing result is atypical and timeout for processing a huge amount of big data or impossibility of processing in memory. Therefore, in addition to the inherent functions to be originally provided, all the associated web services need additional functions for handling the big data, thereby increasing the development overhead of the web service itself.
한국공개특허 제2014-0005474호는 정형 데이터, 비정형 데이터를 포함한 빅 데이터를 수집하고 분석하여 다수의 테넌트에 대해 각각의 개별화된 온라인 서비스를 제공하는 방법을 제안하고 있다. 하지만, 빅 데이터 분석을 위한 웹 서비스의 개발에 있어서 데이터 핸들링을 위한 오버헤드를 줄이고, 데이터를 키 값 데이터 모델을 사용하여 관리함으로써 데이터의 저장형태를 다양하게 변경할 수 있는 기술을 제안하지 못하고 있다.
Korean Patent Laid-Open Publication No. 2014-0005474 proposes a method for collecting and analyzing big data including fixed data and unstructured data and providing individual personalized online services for a plurality of tenants. However, in developing a web service for big data analysis, there is not proposed a technique of reducing the overhead for data handling and managing data by using a key value data model to variously change the storage format of data.
일 실시예에 따른 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법은 데이터 매니저 에이전트 및 데이터 매니저 서버를 적용하여 키(Key)를 통해 데이터를 획득하고 처리하는 기술을 제공할 수 있다.
According to an exemplary embodiment of the present invention, a method for transmitting data between web services for analyzing big data can provide a technique of acquiring and processing data through a key by applying a data manager agent and a data manager server.
일 실시예에 따른 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법은, 분석 서비스 객체에서, 제N 서비스 객체를 호출하고, 제N 입력 키, 제N 출력 키 및 제N 결과 키를 파라미터로 상기 제N 서비스 객체에 전달하는 단계; 상기 분석 서비스 객체에서, 데이터 매니저 서버의 상기 제N 결과 키의 값을 룩업하는 단계; 상기 분석 서비스 객체에서, 상기 제N 결과 키의 값에 따라 상기 제N 서비스 객체의 수행이 완료되었는지 판단하는 단계; 및 상기 분석 서비스 객체에서, 상기 제N 서비스 객체의 수행이 완료된 것으로 판단한 경우, 제N+1 서비스 객체를 호출하고, 제N+1 입력 키, 제N+1 출력 키 및 제N+1 결과 키를 파라미터로 전달하는 단계 - 상기 제N+1 입력 키는 상기 제N 출력 키임 -를 포함할 수 있다.A method for transmitting data between web services for analyzing big data according to an exemplary embodiment of the present invention includes the steps of: invoking an Nth service object in an analysis service object, and using the Nth input key, the Nth output key, N service object; In the analysis service object, looking up the value of the Nth result key of the data manager server; Determining, in the analysis service object, whether the execution of the N-th service object is completed according to the value of the N-th result key; And an N + 1th input key, an (N + 1) -th output key, and an (N + 1) -th result key when the execution of the Nth service object is completed in the analysis service object, And the (N + 1) th input key is the Nth output key.
일 측에 따르면, 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법은, 상기 분석 서비스 객체에서, 상기 분석 서비스 객체에 입력된 초기 데이터를 첫 번째로 수행되는 서비스 객체의 입력 키의 값과 동일한 키 값으로 데이터 매니저 서버에 저장하는 단계를 더 포함할 수 있다. According to one aspect of the present invention, there is provided a method for transmitting data between web services for analyzing big data, comprising the steps of: in the analysis service object, initial data input to the analysis service object is a key value To the data manager server.
또 다른 일측에 따르면, 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법은, 상기 제N 서비스 객체에서, 제N 데이터 매니저 에이전트를 통하여, 상기 데이터 매니저 서버로부터 상기 제N 입력 키에 대응하는 입력 데이터를 수신하는 단계; 및 상기 제N 서비스 객체에서, 상기 제N 데이터 매니저 에이전트를 통하여, 상기 입력 데이터를 처리한 결과 데이터를 상기 제N 출력 키에 대응하여 상기 데이터 매니저 서버에 저장하는 단계를 더 포함할 수 있다.According to another aspect of the present invention, there is provided a method for transmitting data between web services for analyzing big data, comprising the steps of: receiving input data corresponding to the Nth input key from the data manager server through the Nth data manager agent Receiving; And storing the resultant data in the Nth service object through the Nth data manager agent in the data manager server corresponding to the Nth output key.
또 다른 일측에 따르면, 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법은, 상기 제N 서비스 객체에서, 상기 입력 데이터의 처리가 완료된 경우, 상기 제N 데이터 매니저 에이전트를 통하여, 상기 제N 결과 키의 값으로 상기 제N 서비스 객체의 수행이 완료되었다는 데이터를 상기 데이터 매니저 서버에 저장하는 단계를 더 포함할 수 있다.According to another aspect of the present invention, there is provided a method of transmitting data between web services for analyzing big data, wherein, in the N-th service object, when processing of the input data is completed, Storing the data indicating that the execution of the N-th service object is completed in the data manager server.
또 다른 일측에 따르면, 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법은, 상기 제N 데이터 매니저 에이전트에서, 상기 제N 데이터 매니저 에이전트와 연관된 입력 버퍼를 유지하고, 상기 제N 서비스 객체로부터 상기 제N 입력 키에 대응하는 입력 데이터의 요청을 받는 경우, 상기 입력 버퍼에 상기 요청된 입력 데이터가 있는지 판단하는 단계; 상기 제N 데이터 매니저 에이전트에서, 상기 입력 버퍼에 상기 요청된 입력 데이터가 있는 경우, 상기 입력 버퍼에 저장된 상기 요청된 입력 데이터를 상기 제N 서비스 객체에게 전달하는 단계; 및 상기 제N 데이터 매니저 에이전트에서, 상기 입력 버퍼에 상기 요청된 입력 데이터가 없는 경우, 상기 데이터 매니저 서버에게 상기 제N 입력 키에 대응하는 상기 입력 데이터를 포함하고 상기 입력 데이터보다 더 큰 데이터를 요청하여 수신하고, 상기 수신된 데이터를 상기 입력 버퍼에 저장한 후, 상기 요청된 입력 데이터를 상기 제N 서비스 객체에게 전달하는 단계를 포함할 수 있다. According to another aspect of the present invention, there is provided a method for transmitting data between web services for analyzing big data, comprising the steps of: in the Nth data manager agent, maintaining an input buffer associated with the Nth data manager agent; Receiving a request for input data corresponding to an input key, determining whether the input data exists in the input buffer; Transferring the requested input data stored in the input buffer to the Nth service object when the Nth data manager agent has the requested input data in the input buffer; And if the requested input data is not present in the input buffer, the Nth data manager agent transmits to the data manager server the input data corresponding to the Nth input key and requests data larger than the input data And storing the received data in the input buffer, and transmitting the requested input data to the Nth service object.
또 다른 일측에 따르면, 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법은, 복수의 서비스 객체가 병렬적으로 수행될 수 있는 경우, 상기 분석 서비스 객체에서 상기 병렬적으로 수행될 수 있는 복수의 서비스 객체를 호출하고, 상기 병렬적으로 수행될 수 있는 복수의 서비스 객체의 각각에 대하여 대응하는 입력 키, 출력 키 및 결과 키를 파라미터로 전달할 수 있다. According to another aspect of the present invention, there is provided a method for transmitting data between web services for analyzing big data, comprising the steps of: when a plurality of service objects can be performed in parallel, And for each of the plurality of service objects that may be performed in parallel, a corresponding input key, output key, and result key as parameters.
또 다른 일측에 따르면, 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법은, 상기 분석 서비스 객체에서, 상기 병렬적으로 수행될 수 있는 복수의 서비스 객체의 각각에 대응하는 결과 키의 값을 룩업하고, 상기 병렬적으로 수행될 수 있는 복수의 서비스 객체의 모두의 수행이 완료되었다고 판단되는 경우, 상기 병렬적으로 수행될 수 있는 복수의 서비스 객체의 각각의 출력 키에 대응하는 출력 데이터를 상기 데이터 매니저 서버로부터 판독하는 단계; 및 상기 판독된 출력 데이터를 결합하여 최종 결과 데이터를 생성하는 단계를 더 포함할 수 있다. According to another aspect, a method for transferring data between web services for analyzing big data includes the steps of: in the analysis service object, look up a value of a result key corresponding to each of a plurality of service objects that can be performed in parallel, And outputting output data corresponding to each output key of the plurality of service objects that can be performed in parallel to the data manager server, when it is determined that the execution of all of the plurality of service objects that can be performed in parallel is completed, ; And combining the read output data to generate final result data.
또 다른 일측에 따르면, 상기 제N 입력 키는, 상기 데이터 매니저 서버에 저장된, 상기 제N 서비스 객체에 의하여 처리될 제N 입력 데이터를 탐색하기 위한 키이고, 상기 제N 출력 키는, 상기 데이터 매니저 서버에 저장된, 상기 제N 서비스 객체에 의하여 상기 제N 입력 데이터를 처리한 제N 결과 데이터를 탐색하기 위한 키이고, 상기 제N 결과 키는, 상기 데이터 매니저 서버에 저장된, 상기 제N 서비스 객체의 수행이 완료되었는지에 대한 값을 탐색하기 위한 키일 수 있다.According to another aspect of the present invention, the N-th input key is a key for searching for N-th input data to be processed by the N-th service object stored in the data manager server, N is a key for searching the Nth result data processed by the Nth service object stored in the server, and the Nth result key is a key for searching the Nth service object stored in the data manager server And may be a key for searching for a value of whether the execution is completed.
또 다른 일측에 따르면, 상기 데이터 매니저 서버는, 상기 제N 입력 키에 대응하여 상기 제N 서비스 객체에 의하여 처리될 제N 입력 데이터를 저장하고, 상기 제N 출력 키에 대응하여 상기 제N 서비스 객체에 의하여 상기 제N 입력 데이터를 처리한 제N 결과 데이터를 저장하고, 상기 제N 결과 키에 대응하여 상기 제N 서비스 객체의 수행이 완료되었는지에 대한 값을 저장할 수 있다.According to another aspect of the present invention, the data manager server stores N-th input data to be processed by the N-th service object corresponding to the N-th input key, Stores the N-th result data obtained by processing the N-th input data by the N-th result processing unit, and stores the value of whether the execution of the N-th service object is completed corresponding to the N-th result key.
또 다른 일측에 따르면, 상기 데이터 매니저 서버는, 상기 제N 데이터 매니저 에이전트로부터 상기 제N 입력 키를 수신하고, 상기 제N 입력 키에 대응하는 상기 제N 입력 데이터를 회신할 수 있다.
According to another aspect of the present invention, the data manager server may receive the N-th input key from the N-th data manager agent and return the N-th input data corresponding to the N-th input key.
일 실시예에 따른 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법은 결과 데이터를 직접 반환하지 않고, 키를 전달받아 수행하기 때문에 타임아웃 설정으로부터 자유로워질 수 있다. 또한, 각 웹 서비스 객체가 필요한 만큼의 데이터를 가져와 처리하기 때문에 데이터의 양에 따른 웹 서비스 객체의 에러 발생률이 낮아지고, 이로 인해 다수의 웹 서비스 객체의 연계로 이뤄진 분석 서비스의 에러율을 낮출 수 있다.
According to an exemplary embodiment of the present invention, a method for transmitting data between web services for analyzing big data may be free from a timeout setting because it carries out receiving the key without receiving the result data directly. In addition, since each web service object fetches as much data as needed, the error rate of the web service object according to the amount of data is lowered, thereby reducing the error rate of the analysis service made up of a plurality of web service objects .
도 1은 일 실시예에 따른 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 시스템에 대한 동작을 나타낸 도면이다.
도 2는 일 실시예에 따른 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 시스템에 대한 구체적인 동작을 나타낸 도면이다.
도 3은 일 실시예에 따른 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 시스템에 있어서, 복수의 객체가 병렬적으로 수행되는 동작을 나타낸 도면이다.
도 4는 일 실시예에 따른 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법을 나타낸 흐름도이다.1 is a diagram illustrating an operation of a data transfer system for web services for analyzing big data according to an exemplary embodiment of the present invention.
FIG. 2 is a diagram illustrating a concrete operation of a data transfer system for web services for big data analysis according to an exemplary embodiment of the present invention.
FIG. 3 is a diagram illustrating an operation in which a plurality of objects are executed in parallel in a data transfer system for web services for big data analysis according to an exemplary embodiment of the present invention.
4 is a flowchart illustrating a method of transmitting data between web services for analyzing big data according to an embodiment.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
도 1은 일 실시예에 따른 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 시스템에 대한 동작을 나타낸 도면이다.1 is a diagram illustrating an operation of a data transfer system for web services for analyzing big data according to an exemplary embodiment of the present invention.
도 1에서 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 시스템은 제 1 서비스 객체(121), 제2 서비스 객체(122), 제3 서비스 객체(123) 및 제 4 서비스 객체(124)를 통하여 데이터를 전달한다고 가정한다. 이때, 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 시스템에서 서비스 객체는 서비스 객체의 수에 제한되지 않는다. 예를 들면, 분석 서비스 객체(110)는 평균 통계 서비스, 상위 필터 서비스, 정렬 서비스, 표준화 서비스를 호출할 수 있고, 평균 통계 서비스, 상위 필터 서비스, 정렬 서비스, 표준화 서비스를 통하여 빅 데이터 분석을 위한 데이터를 전달할 수 있다. In FIG. 1, a data transfer system for web data services for analysis of a big data includes a
도 1은 제1 서비스 객체(121)를 평균 통계 서비스, 제2 서비스 객체(122)를 상위 필터 서비스, 제3 서비스 객체(123)를 정렬 서비스, 제4 서비스 객체(124)를 표준화 서비스라고 가정하여 설명하기로 한다.1, the
분석 서비스 객체(110)는 분석 서비스 객체(110)에 입력된 초기 데이터(101)를 첫 번째로 수행되는 서비스 객체인 제1 서비스 객체(예를 들면, 평균 통계 서비스)(121)의 입력 키의 값과 동일한 키 값으로 데이터 매니저 서버(150)에 저장할 수 있다. 분석 서비스 객체(110)는 제1 서비스 객체(121)를 호출하고, 제1 키(141)를 파라미터로 제1 서비스 객체(예를 들면, 평균 통계 서비스 객체)(121)에 전달할 수 있다. 이때, 제1 키는 제1 입력 키, 제1 출력 키 및 제1 결과 키를 포함할 수 있다.The
제1 서비스 객체(121)는 제1 데이터 매니저 에이전트(131)를 통하여 데이터 매니저 서버(150)로부터 제1 입력 키에 대응하는 입력 데이터를 수신할 수 있다. 제1 서비스 객체(121)에서 입력 데이터의 처리가 완료된 경우, 제1 데이터 매니저 에이전트(131)를 통하여 제1 결과 키의 값으로 제1 서비스 객체(121)의 수행이 완료되었다는 데이터를 데이터 매니저 서버(150)에 저장할 수 있다.The
분석 서비스 객체(110)는 데이터 매니저 서버(150)의 제1 결과 키의 값을 룩업할 수 있다. 분석 서비스 객체(110)는 제1 결과 키의 값에 따라 제1 서비스 객체(121)의 수행이 완료되었는지 판단할 수 있다. 분석 서비스 객체(110)는 제1 서비스 객체(121)의 수행이 완료된 것으로 판단한 경우, 제2 서비스 객체(예를 들면, 상위 필터 서비스)(122)를 호출하고, 제2 키(142)를 파라미터로 전달할 수 있다. The
제2 서비스 객체(122)는 제2 데이터 매니저 에이전트(132)를 통하여 데이터 매니저 서버(150)로부터 제2 입력 키에 대응하는 입력 데이터를 수신할 수 있다. 제2 서비스 객체(122)에서 입력 데이터의 처리가 완료된 경우, 제2 데이터 매니저 에이전트(132)를 통하여 제2 결과 키의 값으로 제2 서비스 객체(122)의 수행이 완료되었다는 데이터를 데이터 매니저 서버(150)에 저장할 수 있다.The
분석 서비스 객체(110)는 데이터 매니저 서버(150)의 제2 결과 키의 값을 룩업할 수 있다. 분석 서비스 객체(110)는 제2 결과 키의 값에 따라 제2 서비스 객체(122)의 수행이 완료되었는지 판단할 수 있다. 분석 서비스 객체(110)는 제2 서비스 객체(122)의 수행이 완료된 것으로 판단한 경우, 제3 서비스 객체(예를 들면, 정렬 서비스)(123)를 호출하고, 제3 키(143)를 파라미터로 전달할 수 있다. The
제3 서비스 객체(123)는 제3 데이터 매니저 에이전트(133)를 통하여 데이터 매니저 서버(150)로부터 제3 입력 키에 대응하는 입력 데이터를 수신할 수 있다. 제3 서비스 객체(123)에서 입력 데이터의 처리가 완료된 경우, 제3 데이터 매니저 에이전트(133)를 통하여 제3 결과 키의 값으로 제3 서비스 객체(123)의 수행이 완료되었다는 데이터를 데이터 매니저 서버(150)에 저장할 수 있다.The
분석 서비스 객체(110)는 데이터 매니저 서버(150)의 제3 결과 키의 값을 룩업할 수 있다. 분석 서비스 객체(110)는 제3 결과 키의 값에 따라 제3 서비스 객체(123)의 수행이 완료되었는지 판단할 수 있다. 분석 서비스 객체(110)는 제3 서비스 객체(123)의 수행이 완료된 것으로 판단한 경우, 제4 서비스 객체(예를 들면, 표준화 서비스)(124)를 호출하고, 제4 키(144)를 파라미터로 전달할 수 있다. The
제4 서비스 객체(124)는 제4 데이터 매니저 에이전트(134)를 통하여 데이터 매니저 서버(150)로부터 제4 입력 키에 대응하는 입력 데이터를 수신할 수 있다. 제4 서비스 객체(124)에서 입력 데이터의 처리가 완료된 경우, 제4 데이터 매니저 에이전트(134)를 통하여 제4 결과 키의 값으로 제4 서비스 객체(124)의 수행이 완료되었다는 데이터를 데이터 매니저 서버(150)에 저장할 수 있다.The
분석 서비스 객체(110)는 데이터 매니저 서버(150)의 제4 결과 키의 값을 룩업할 수 있다. 분석 서비스 객체(110)는 제4 결과 키의 값에 따라 제4 서비스 객체(122)의 수행이 완료되었는지 판단할 수 있다. The
데이터 매니저 서버(150)는 각 서비스 객체(121, 122, 123, 124)로부터 출력된 처리 결과 데이터를 결합하여 최종 데이터(102)를 생성할 수 있다. 예를 들면, 데이터 매니저 서버(150)는 평균 통계 서비스 객체로부터 출력된 출력 데이터, 상위 필터 서비스 객체로부터 출력된 출력 데이터, 정렬 서비스 객체로부터 출력된 출력 데이터 및 표준화 서비스 객체로부터 출력된 출력 데이터를 결합할 수 있고, 결합된 처리 결과 데이터를 출력함으로써 최종 데이터가 생성될 수 있다.The
도 2는 일 실시예에 따른 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 시스템에 대한 구체적인 동작을 나타낸 도면이다.FIG. 2 is a diagram illustrating a concrete operation of a data transfer system for web services for big data analysis according to an exemplary embodiment of the present invention.
도 1에서 설명한 바와 같이 분석 서비스 객체는 예를 들면, 프로그램일 수 있으며, 제N 서비스 객체를 호출할 수 있다. 도 2는 분석 서비스 객체와 서비스 객체 및 데이터 매니저 서버 사이의 구체적인 동작을 설명하기 위한 도면으로, 분석 서비스 객체와 제1 서비스 객체, 제1 데이터 매니저 에이전트 및 데이터 매니저 서버의 동작을 설명하기로 한다. As described in FIG. 1, the analysis service object may be, for example, a program, and may call the Nth service object. FIG. 2 is a diagram for explaining a concrete operation between an analysis service object, a service object, and a data manager server. The operation of the analysis service object, the first service object, the first data manager agent, and the data manager server will be described.
분석 서비스 객체(210)는 분석 서비스 객체(210)에 입력된 초기 데이터(201)를 제1 서비스 객체(221)의 입력 키의 값과 동일한 키 값으로 데이터 매니저 서버(250)에 저장할 수 있다. 데이터 매니저 서버(250)는 제1 입력 키에 대응하여 제1 서비스 객체(221)에 의하여 처리될 제1 입력 데이터를 저장할 수 있다. 분석 서비스 객체(210)는 제1 서비스 객체(221)를 호출하고, 제1 입력 키, 제1 출력 키 및 제1 결과 키를 파라미터로 제1 서비스 객체(221)에 전달할 수 있다. 이때, 제1 입력 키는 데이터 매니저 서버(250)에 저장된 제1 서비스 객체(221)에 의하여 처리될 제1 입력 데이터를 탐색하기 위한 키일 수 있다. 제1 출력 키는 데이터 매니저 서버(250)에 저장된 제1 서비스 객체에 의하여 제1 입력 데이터를 처리한 제1 결과 데이터를 탐색하기 위한 키일 수 있다. 제1 결과 키는 데이터 매니저 서버(250)에 저장된 제1 서비스 객체의 수행이 완료되었는지에 대한 값을 탐색하기 위한 키일 수 있다.The
제1 서비스 객체(221)는 제1 데이터 매니저 에이전트(231)를 통하여 데이터 매니저 서버(250)로부터 제1 입력 키에 대응하는 입력 데이터를 수신할 수 있다. 데이터 매니저 서버(250)는 제1 입력 키에 대응하여 제1 서비스 객체(221)에 의하여 처리될 제1 입력 데이터를 저장할 수 있다. 예를 들면, 제1 데이터 매니저 에이전트(231)는 제1 데이터 매니저 에이전트(231)와 연관된 입력 버퍼를 유지하고, 제1 서비스 객체(221)로부터 제1 입력 키에 대응하는 입력 데이터의 요청을 받는 경우, 입력 버퍼에 요청된 입력 데이터가 있는지 판단할 수 있다. 제1 데이터 매니저 에이전트(231)는 입력 버퍼에 요청된 입력 데이터가 있는 경우, 입력 버퍼에 저장된 요청된 입력 데이터를 제1 서비스 객체(221)에 전달할 수 있다. 제1 데이터 매니저 에이전트(231)에서 입력 버퍼에 요청된 입력 데이터가 없는 경우, 데이터 매니저 서버에게 제1 입력 키에 대응하는 입력 데이터를 포함하고 입력 데이터보다 더 큰 데이터를 요청하여 수신하고, 수신된 데이터를 입력 버퍼에 저장한 후, 요청된 입력 데이터를 제1 서비스 객체(221)에게 전달할 수 있다. 예를 들면, 제1 키(241)를 전달받은 제1 서비스 객체(221)는 제1 데이터 매니저 에이전트(231)를 통해 제1 입력 키에 해당하는 데이터를 라인(Line) 단위로 읽어 사용할 수 있다. 데이터 매니저 서버(250)와 제1 데이터 매니저 에이전트(231)는 특정 사이즈(예를 들면, 10000 Lines)의 버퍼를 두어 네트워크 커넥션 횟수를 줄여 데이터의 송수신에 필요한 시간을 줄일 수 있다. 제1 서비스 객체(221)가 제1 데이터 매니저 에이전트(231)를 통해 1라인 데이터를 요청하면, 제1 데이터 매니저 에이전트(231)는 버퍼에 있는 데이터를 전달할 수 있다. 이때, 버퍼가 비워있으면 데이터 매니저 서버(250)에 새로이 버퍼 사이즈만큼 데이터를 요청해서 버퍼를 채우고 1라인 데이터를 전달할 수 있다.The
제1 서비스 객체(221)는 제1 데이터 매니저 에이전트(231)를 통하여 입력 데이터를 처리한 결과 데이터를 제1 출력 키에 대응하여 데이터 매니저 서버(250)에 저장할 수 있다. 데이터 매니저 서버(250)는 제1 출력 키에 대응하여 제1 서비스 객체(221)에 의하여 제1 입력 데이터를 처리한 제1 결과 데이터를 저장할 수 있다. 예를 들면, 제1 데이터 매니저 에이전트(231)는 제1 데이터 매니저 에이전트(231)와 연관된 출력 버퍼를 유지하고, 제1 서비스 객체(221)로부터 제1 출력 키에 대응하는 출력 데이터의 요청을 받은 경우, 출력 버퍼에 요청된 출력 데이터가 있는지 판단할 수 있다. 제1 데이터 매니저 에이전트(231)는 출력 버퍼에 요청된 출력 데이터가 있는 경우, 출력 버퍼에 저장된 요청된 출력 데이터를 제1 서비스 객체(221)에게 전달할 수 있다. 제1 데이터 매니저 에이전트(231)는 출력 버퍼에 요청된 출력 데이터가 없는 경우, 데이터 매니저 서버(250)에게 제1 출력 키에 대응하는 출력 데이터를 포함하고 출력 데이터보다 더 큰 데이터를 요청하여 수신하고, 수신된 데이터를 출력 버퍼에 저장한 후, 요청된 출력 데이터를 제1 서비스 객체(221)에게 전달할 수 있다.The
제1 서비스 객체(221)는 입력 데이터의 처리가 완료된 경우, 제1 데이터 매니저 에이전트(231)를 통하여 제1 결과 키의 값으로 제1 서비스 객체의 수행이 완료되었다는 데이터를 데이터 매니저 서버(250)에 저장할 수 있다. 데이터 매니저 서버(250)는 제1 결과 키에 대응하여 제1 서비스 객체(221)의 수행이 완료되었는지에 대한 값을 저장할 수 있다.The
분석 서비스 객체(210)는 데이터 매니저 서버의 제1 결과 키의 값을 룩업할 수 있다. 분석 서비스 객체(210)는 제1 결과 키의 값에 따라 제1 서비스 객체의 수행이 완료되었는지 판단할 수 있다. 분석 서비스 객체(210)는 제1 서비스 객체의 수행이 완료된 것으로 판단한 경우, 제2 서비스 객체(222)를 호출할 수 있다. The
앞에서 설명한 것과 마찬가지의 과정을 반복함으로써 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법이 수행될 수 있다. 예를 들면, 도 2에 도시된 바와 같이, 서비스 객체가 4개 라면, 제1 서비스 객체, 제2 서비스 객체, 제3 서비스 객체 및 제4 서비스 객체 각각의 출력 키에 대응하는 출력 데이터를 데이터 매니저 서버(250)로부터 판독할 수 있다. 데이터 매니저 서버(250)는 판독된 제1 서비스 객체의 출력 데이터, 제2 서비스 객체의 출력 데이터, 제3 서비스 객체의 출력 데이터 및 제4 서비스 객체의 출력 데이터를 결합하여 최종 데이터(202)를 생성할 수 있다.By repeating the same process as described above, a data transfer method between web services for big data analysis can be performed. For example, as shown in FIG. 2, if there are four service objects, the output data corresponding to the output keys of the first service object, the second service object, the third service object, and the fourth service object, And can be read from the
일 실시예에 따른 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법은 결과 데이터를 직접 반환하지 않고, 키를 전달받아 수행하기 때문에 타임아웃 설정으로부터 자유로워질 수 있다. 또한, 각 웹 서비스 객체가 필요한 만큼의 데이터를 가져와 처리하기 때문에 데이터의 양에 따른 웹 서비스 객체의 에러 발생률이 낮아지고, 이로 인해 다수의 웹 서비스 객체의 연계로 이뤄진 분석 서비스의 에러율을 낮출 수 있다. According to an exemplary embodiment of the present invention, a method for transmitting data between web services for analyzing big data may be free from a timeout setting because it carries out receiving the key without receiving the result data directly. In addition, since each web service object fetches as much data as needed, the error rate of the web service object according to the amount of data is lowered, thereby reducing the error rate of the analysis service made up of a plurality of web service objects .
도 3은 일 실시예에 따른 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 시스템에 있어서, 복수의 서비스 객체가 병렬적으로 수행되는 동작을 나타낸 도면이다.FIG. 3 is a diagram illustrating an operation in which a plurality of service objects are executed in parallel in a data transfer system for web services for analyzing big data according to an exemplary embodiment.
빅 데이터 분석 서비스는 복수의 서비스 객체가 차례로 수행될 수 있고, 복수의 서비스 객체가 서로 독립적으로 수행될 수 있다. 도 3에서는 복수의 서비스 객체가 서로 독립적으로 수행되고 그 결과를 취합하여 최종 결과 데이터를 출력하는 방법에 대해서 설명하기로 한다. In the big data analysis service, a plurality of service objects may be sequentially performed, and a plurality of service objects may be performed independently of each other. 3, a method of performing a plurality of service objects independently of each other, collecting the results, and outputting final result data will be described.
복수의 서비스 객체가 병렬적으로 수행될 수 있는 경우, 분석 서비스 객체(310)에서 병렬적으로 수행될 수 있는 복수의 서비스 객체를 호출하고, 병렬적으로 수행될 수 있는 복수의 서비스 객체의 각각에 대하여 대응하는 입력 키, 출력 키 및 결과 키를 파라미터로 전달할 수 있다.When a plurality of service objects can be performed in parallel, a plurality of service objects that can be performed in parallel in the
분석 서비스 객체(310)는 병렬적으로 수행될 수 있는 복수의 서비스 객체(321, 322, 323, 324)의 각각에 대응하는 결과 키의 값을 룩업하고, 병렬적으로 수행될 수 있는 복수의 서비스 객체(321, 322, 323, 324)의 모두의 수행이 완료되었다고 판단되는 경우, 병렬적으로 수행될 수 있는 복수의 서비스 객체의 각각의 출력 키에 대응하는 출력 데이터를 데이터 매니저 서버로부터 판독할 수 있다. 데이터 매니저 서버는 판독된 출력 데이터를 결합하여 결합하여 최종 결과 데이터를 생성할 수 있다.The
예를 들면, 종래의 웹 서비스 호출 방식으로 분석 서비스가 수행될 경우, 각각의 서비스 수행시간을 모두 더한 시간인 11분(1분+5분+3분+2분)이 분석 서비스의 수행시간이 될 수 있다. 본 발명을 적용하면 서비스 A 객체(321), 서비스 B 객체(322), 서비스 C 객체(323)가 동시에 수행되므로, 서비스A 객체(321), 서비스B(322), 서비스C 객체(323) 중 가장 오래 걸리는 서비스 수행 시간인 서비스 B 객체(323)의 수행시간과 서비스 D(324)의 수행시간을 더하면 되므로, 분석 서비스의 수행시간은 7분(5분+2분)이 될 수 있다.For example, when the analysis service is performed using the conventional web service invocation method, 11 minutes (1 minute + 5 minutes + 3 minutes + 2 minutes), which is the total time of adding each service execution time, . Since the
일 실시예에 따른 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 시스템은 복수의 서비스 객체를 비동기식으로 호출하기 때문에 종래의 서비스 객체 호출 방식보다 처리 속도가 빠르다.According to an exemplary embodiment of the present invention, a data transfer system for inter-web services for big data analysis has a faster processing speed than a conventional service object calling method because it invokes a plurality of service objects asynchronously.
도 4는 일 실시예에 따른 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법을 나타낸 흐름도이다.4 is a flowchart illustrating a method of transmitting data between web services for analyzing big data according to an embodiment.
빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법은 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 시스템에 의하여 수행될 수 있다. 도 4는 분석 서비스 객체와 제N 서비스 객체의 동작을 나타낸 흐름도로, 이때, 객체는 예를 들면, 프로그램일 수 있다.The method of transmitting data between web services for big data analysis can be performed by a data transfer system between web services for big data analysis. FIG. 4 is a flowchart illustrating an operation of an analysis service object and an Nth service object, wherein the object may be, for example, a program.
단계(410)에서 분석 서비스 객체는 분석 서비스 객체에 입력된 초기 데이터를 첫 번째로 수행되는 서비스 객체의 입력 키의 동일한 키 값으로 데이터 매니저 서버에 저장할 수 있다.In
단계(420)에서 분석 서비스 객체는 제N 서비스 객체를 호출하고, 제N 입력 키, 제 N 출력 키 및 제N 결과 키를 파라미터로 제N 서비스 객체에 전달할 수 있다. 이때, 제 N 입력 키는 데이터 매니저 서버에 저장된 제N 서비스 객체에 의하여 처리될 제N 입력 데이터를 탐색하기 위한 키이고, 제N 출력 키는 데이터 매니저 서버에 저장된 제N 서비스 객체에 의하여 제N 입력 데이터를 처리한 제N 결과 데이터를 탐색하기 위한 키이고, 제N 결과 키는 데이터 매니저 서버에 저장된 제N 서비스 객체의 수행이 완료되었는지에 대한 값을 탐색하기 위한 키일 수 있다.In
단계(430) 제N 서비스 객체는 제N 데이터 매니저 에이전트를 통하여 데이터 매니저 서버로부터 제N 입력 키에 대응하는 입력 데이터를 수신할 수 있다. 이때, 제N 데이터 매니저 에이전트에서 제N 데이터 매니저 에이전트와 연관된 입력 버퍼를 유지하고, 제N 서비스 객체로부터 제N 입력 키에 대응하는 입력 데이터의 요청을 받는 경우, 입력 버퍼에 요청된 입력 데이터가 있는지 판단할 수 있다. 제N 데이터 매니저 에이전트는 입력 버퍼에 요청된 입력 데이터가 있는 경우, 입력 버퍼에 저장된 요청된 입력 데이터를 제N 서비스 객체에게 전달할 수 있다. 제N 데이터 매니저 에이전트는 입력 버퍼에 요청된 입력 데이터가 없는 경우, 데이터 매니저 서버에게 제N 입력 키에 대응하는 입력 데이터를 포함하고 입력 데이터보다 더 큰 데이터를 요청하여 수신하고, 수신된 데이터를 입력 버퍼에 저장한 후, 요청된 입력 데이터를 제N 서비스 객체에게 전달할 수 있다.In
단계(440)에서 제N 서비스 객체는 제N 데이터 매니저 에이전트를 통하여, 입력 데이터를 처리한 결과 데이터를 제N 출력 키에 대응하여 데이터 매니저 서버에 저장할 수 있다. 이때, 제N 데이터 매니저 에이전트는 제N 데이터 매니저 에이전트와 연관된 출력 버퍼를 유지하고, 제N 서비스 객체로부터 제N 출력 키에 대응하는 출력 데이터의 요청을 받은 경우, 출력 버퍼에 요청된 출력 데이터가 있는지 판단할 수 있다. 제N 데이터 매니저 에이전트는 출력 버퍼에 요청된 출력 데이터가 있는 경우, 출력 버퍼에 저장된 요청된 출력 데이터를 제N 서비스 객체에게 전달할 수 있다. 제N 데이터 매니저 에이전트는 출력 버퍼에 요청된 출력 데이터가 없는 경우, 데이터 매니저 서버에게 제N 출력 키에 대응하는 출력 데이터를 포함하고 출력 데이터보다 더 큰 데이터를 요청하여 수신하고, 수신된 데이터를 출력 버퍼에 저장한 후, 요청된 출력 데이터를 제N 서비스 객체에게 전달할 수 있다.In
단계(450)에서 제N 서비스 객체는 입력 데이터의 처리가 완료된 경우, 제N 데이터 매니저 에이전트를 통하여 제N 결과 키의 값으로 제N 서비스 객체의 수행이 완료되었다는 데이터를 매니저 서버에 저장할 수 있다.In step 450, when processing of the input data is completed, the Nth service object may store data indicating that the execution of the Nth service object is completed with the value of the Nth result key through the Nth data manager agent, in the manager server.
단계(460)에서 분석 서비스 객체는 데이터 매니저 서버의 제N 결과 키의 값을 룩업할 수 있다.In step 460, the analysis service object may look up the value of the Nth result key of the data manager server.
단계(470)에서 분석 서비스 객체는 제N 결과 키의 값에 따라 제N 서비스 객체의 수행이 완료되었는지 판단할 수 있다.In step 470, the analysis service object may determine whether the execution of the Nth service object is completed according to the value of the Nth result key.
단계(480)에서 분석 서비스 객체는 제N 서비스 객체의 수행이 완료된 것으로 판단한 경우, 제N+1 서비스 객체를 호출하고, 제N+1 입력 키, 제N+1 출력 키 및 제N+1 결과 키를 파라미터로 전달할 수 있다. 이때, 제N+1 입력 키는 제N 결과 키일 수 있다.If the analysis service object determines in
빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법은 단계(420)부터 단계(480) 과정을 반복할 수 있다. 데이터 매니저 서버는 호출된 웹 서비스 객체들로부터 수행된 각각의 출력 키에 대응하는 출력 데이터를 판독하고, 판독된 출력 데이터를 결합함으로써 최종적인 결과 데이터를 도출할 수 있다. The method of transferring data between web services for big data analysis may repeat
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA) A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
201: 초기 데이터
202: 최종 데이터
210: 분석 서비스 객체
221: 제1 서비스 객체
222: 제2 서비스 객체
223: 제3 서비스 객체
224: 제4 서비스 객체
231: 제1 데이터 매니저 에이전트
232: 제2 데이터 매니저 에이전트
233: 제3 데이터 매니저 에이전트
234: 제4 데이터 매니저 에이전트
241: 제1 키
242: 제2 키
243: 제3 키
244: 제4 키
250: 데이터 매니저 서버201: Initial data
202: final data
210: Analysis service object
221: first service object
222: second service object
223: Third service object
224: fourth service object
231: first data manager agent
232: second data manager agent
233: third data manager agent
234: fourth data manager agent
241: First key
242: second key
243: Third key
244: fourth key
250: Data manager server
Claims (11)
분석 서비스 객체에서, 제N 서비스 객체를 호출하고, 제N 입력 키, 제N 출력 키 및 제N 결과 키를 파라미터로 상기 제N 서비스 객체에 전달하는 단계;
상기 분석 서비스 객체에서, 데이터 매니저 서버의 상기 제N 결과 키의 값을 룩업하는 단계;
상기 분석 서비스 객체에서, 상기 제N 결과 키의 값에 따라 상기 제N 서비스 객체의 수행이 완료되었는지 판단하는 단계; 및
상기 분석 서비스 객체에서, 상기 제N 서비스 객체의 수행이 완료된 것으로 판단한 경우, 제N+1 서비스 객체를 호출하고, 제N+1 입력 키, 제N+1 출력 키 및 제N+1 결과 키를 파라미터로 전달하는 단계 - 상기 제N+1 입력 키는 상기 제N 출력 키임 -
를 포함하는 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법.A method for transmitting data between web services for a big data analysis,
Invoking an Nth service object in an analysis service object, passing an Nth input key, an Nth output key, and a Nth result key as parameters to the Nth service object;
In the analysis service object, looking up the value of the Nth result key of the data manager server;
Determining, in the analysis service object, whether the execution of the N-th service object is completed according to the value of the N-th result key; And
(N + 1) -th input key, the (N + 1) -th output key, and the (N + 1) -th result key when it is determined in the analysis service object that the execution of the N-th service object is completed Parameter, wherein the (N + 1) -th input key is the Nth output key,
A method for data transfer between web services for large data analysis.
상기 분석 서비스 객체에서, 상기 분석 서비스 객체에 입력된 초기 데이터를 첫 번째로 수행되는 서비스 객체의 입력 키의 값과 동일한 키 값으로 데이터 매니저 서버에 저장하는 단계;
를 더 포함하는 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법.The method according to claim 1,
Storing, in the analysis service object, initial data input to the analysis service object in a data manager server with a key value equal to a value of an input key of a first service object;
The method comprising the steps of:
상기 제N 서비스 객체에서, 제N 데이터 매니저 에이전트를 통하여, 상기 데이터 매니저 서버로부터 상기 제N 입력 키에 대응하는 입력 데이터를 수신하는 단계; 및
상기 제N 서비스 객체에서, 상기 제N 데이터 매니저 에이전트를 통하여, 상기 입력 데이터를 처리한 결과 데이터를 상기 제N 출력 키에 대응하여 상기 데이터 매니저 서버에 저장하는 단계
를 더 포함하는 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법.The method according to claim 1,
Receiving, in the Nth service object, input data corresponding to the Nth input key from the data manager server through an Nth data manager agent; And
Storing the resultant data in the Nth service object through the Nth data manager agent in the data manager server corresponding to the Nth output key
The method comprising the steps of:
상기 제N 서비스 객체에서, 상기 입력 데이터의 처리가 완료된 경우, 상기 제N 데이터 매니저 에이전트를 통하여, 상기 제N 결과 키의 값으로 상기 제N 서비스 객체의 수행이 완료되었다는 데이터를 상기 데이터 매니저 서버에 저장하는 단계
를 더 포함하는 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법.The method of claim 3,
Wherein when the processing of the input data is completed in the Nth service object, data indicating that the execution of the Nth service object is completed with the value of the Nth result key is transmitted to the data manager server through the Nth data manager agent Steps to save
The method comprising the steps of:
상기 제N 데이터 매니저 에이전트에서, 상기 제N 데이터 매니저 에이전트와 연관된 입력 버퍼를 유지하고, 상기 제N 서비스 객체로부터 상기 제N 입력 키에 대응하는 입력 데이터의 요청을 받는 경우, 상기 입력 버퍼에 상기 요청된 입력 데이터가 있는지 판단하는 단계;
상기 제N 데이터 매니저 에이전트에서, 상기 입력 버퍼에 상기 요청된 입력 데이터가 있는 경우, 상기 입력 버퍼에 저장된 상기 요청된 입력 데이터를 상기 제N 서비스 객체에게 전달하는 단계; 및
상기 제N 데이터 매니저 에이전트에서, 상기 입력 버퍼에 상기 요청된 입력 데이터가 없는 경우, 상기 데이터 매니저 서버에게 상기 제N 입력 키에 대응하는 상기 입력 데이터를 포함하고 상기 입력 데이터보다 더 큰 데이터를 요청하여 수신하고, 상기 수신된 데이터를 상기 입력 버퍼에 저장한 후, 상기 요청된 입력 데이터를 상기 제N 서비스 객체에게 전달하는 단계
를 포함하는 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법.The method of claim 3,
Wherein when the Nth data manager agent holds an input buffer associated with the Nth data manager agent and receives a request for input data corresponding to the Nth input key from the Nth service object, Determining whether there is input data that has been input;
Transferring the requested input data stored in the input buffer to the Nth service object when the Nth data manager agent has the requested input data in the input buffer; And
If the requested input data is not present in the input buffer, the Nth data manager agent requests the data manager server to transmit the input data corresponding to the Nth input key and to request data larger than the input data Storing the received data in the input buffer, and transmitting the requested input data to the Nth service object
A method for data transfer between web services for large data analysis.
복수의 서비스 객체가 병렬적으로 수행될 수 있는 경우, 상기 분석 서비스 객체에서 상기 병렬적으로 수행될 수 있는 복수의 서비스 객체를 호출하고, 상기 병렬적으로 수행될 수 있는 복수의 서비스 객체의 각각에 대하여 대응하는 입력 키, 출력 키 및 결과 키를 파라미터로 전달하는
빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법.The method according to claim 1,
A plurality of service objects that can be performed in parallel can be called from the analysis service object when a plurality of service objects can be executed in parallel and each of a plurality of service objects A corresponding input key, an output key, and a result key as parameters
A method for data transfer between web services for big data analysis.
상기 분석 서비스 객체에서, 상기 병렬적으로 수행될 수 있는 복수의 서비스 객체의 각각에 대응하는 결과 키의 값을 룩업하고, 상기 병렬적으로 수행될 수 있는 복수의 서비스 객체의 모두의 수행이 완료되었다고 판단되는 경우, 상기 병렬적으로 수행될 수 있는 복수의 서비스 객체의 각각의 출력 키에 대응하는 출력 데이터를 상기 데이터 매니저 서버로부터 판독하는 단계; 및
상기 판독된 출력 데이터를 결합하여 최종 결과 데이터를 생성하는 단계
를 더 포함하는 빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법.The method according to claim 6,
In the analysis service object, the value of the result key corresponding to each of the plurality of service objects that can be performed in parallel is looked up, and the execution of all of the plurality of service objects that can be performed in parallel is completed Reading out, from the data manager server, output data corresponding to each output key of a plurality of service objects that can be performed in parallel, if determined; And
Combining the read output data to produce final result data
The method comprising the steps of:
상기 제N 입력 키는,
상기 데이터 매니저 서버에 저장된, 상기 제N 서비스 객체에 의하여 처리될 제N 입력 데이터를 탐색하기 위한 키이고,
상기 제N 출력 키는,
상기 데이터 매니저 서버에 저장된, 상기 제N 서비스 객체에 의하여 상기 제N 입력 데이터를 처리한 제N 결과 데이터를 탐색하기 위한 키이고,
상기 제N 결과 키는,
상기 데이터 매니저 서버에 저장된, 상기 제N 서비스 객체의 수행이 완료되었는지에 대한 값을 탐색하기 위한 키인
빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법.The method according to claim 1,
Wherein the N input key comprises:
A key for searching for N-th input data to be processed by the N-th service object stored in the data manager server,
Wherein the Nth output key comprises:
A key for searching Nth result data processed by the Nth service object stored in the data manager server,
Wherein the N-th result key comprises:
And a key for searching for a value of whether the execution of the N-th service object is completed, which is stored in the data manager server
A method for data transfer between web services for big data analysis.
상기 데이터 매니저 서버는,
상기 제N 입력 키에 대응하여 상기 제N 서비스 객체에 의하여 처리될 제N 입력 데이터를 저장하고,
상기 제N 출력 키에 대응하여 상기 제N 서비스 객체에 의하여 상기 제N 입력 데이터를 처리한 제N 결과 데이터를 저장하고,
상기 제N 결과 키에 대응하여 상기 제N 서비스 객체의 수행이 완료되었는지에 대한 값을 저장하는
빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법.The method according to claim 1,
Wherein the data manager server comprises:
Storing Nth input data to be processed by the Nth service object corresponding to the Nth input key,
Storing the N-th result data obtained by processing the N-th input data by the N-th service object in response to the N-th output key,
Storing a value of whether the execution of the N-th service object is completed corresponding to the N-th result key
A method for data transfer between web services for big data analysis.
상기 데이터 매니저 서버는,
상기 제N 데이터 매니저 에이전트로부터 상기 제N 입력 키를 수신하고, 상기 제N 입력 키에 대응하는 상기 제N 입력 데이터를 회신하는
빅 데이터 분석을 위한 웹 서비스 간 데이터 전달 방법.10. The method of claim 9,
Wherein the data manager server comprises:
Receives the Nth input key from the Nth data manager agent, and returns the Nth input data corresponding to the Nth input key
A method for data transfer between web services for big data analysis.
A computer-readable recording medium storing a program for executing the method according to any one of claims 1 to 10.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140091988A KR101590719B1 (en) | 2014-07-21 | 2014-07-21 | The method and architecture for exchanging data between the web services based on big-data analysis |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140091988A KR101590719B1 (en) | 2014-07-21 | 2014-07-21 | The method and architecture for exchanging data between the web services based on big-data analysis |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160011031A true KR20160011031A (en) | 2016-01-29 |
KR101590719B1 KR101590719B1 (en) | 2016-02-02 |
Family
ID=55310125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140091988A KR101590719B1 (en) | 2014-07-21 | 2014-07-21 | The method and architecture for exchanging data between the web services based on big-data analysis |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101590719B1 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001167098A (en) | 1999-12-07 | 2001-06-22 | Hitachi Ltd | Distributed parallel analyzing method for mass data |
-
2014
- 2014-07-21 KR KR1020140091988A patent/KR101590719B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR101590719B1 (en) | 2016-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9794343B2 (en) | Reconfigurable cloud computing | |
CN110750592B (en) | Data synchronization method, device and terminal equipment | |
CN107729138B (en) | Method and device for analyzing high-performance distributed vector space data | |
Xie et al. | Pandas: robust locality-aware scheduling with stochastic delay optimality | |
WO2014108768A1 (en) | Computing regression models | |
US9762700B2 (en) | Client-side aggregation of nested resource dependencies | |
US11381630B2 (en) | Transmitting data over a network in representational state transfer (REST) applications | |
US9703614B2 (en) | Managing a free list of resources to decrease control complexity and reduce power consumption | |
US10958588B2 (en) | Reliability processing of remote direct memory access | |
KR101590719B1 (en) | The method and architecture for exchanging data between the web services based on big-data analysis | |
CN107493205B (en) | Method and device for predicting capacity expansion performance of equipment cluster | |
US20150373078A1 (en) | On-demand helper operator for a streaming application | |
US20220244976A1 (en) | Containers on demand | |
US9246816B2 (en) | Injecting congestion in a link between adaptors in a network | |
KR102128832B1 (en) | Network interface apparatus and data processing method for network interface apparauts thereof | |
US9800469B2 (en) | Predicting the performance of a multi-stage communications network under load from multiple communicating servers | |
CN108388470B (en) | Big data task processing method and computer equipment | |
CN113779021A (en) | Data processing method, device, computer system and readable storage medium | |
US11755957B2 (en) | Multitemporal data analysis | |
US11243764B1 (en) | Code deployment | |
US11496602B2 (en) | Fence computing | |
US11271838B2 (en) | Timing synchronization | |
CN112667956A (en) | Multi-path data stream generator and generation method for stream-oriented computation | |
US9338103B2 (en) | Injecting congestion in a link between adaptors in a network | |
CN117610686A (en) | Model state machine generation method, device, electronic equipment and computer readable medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20190129 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20200129 Year of fee payment: 5 |