WO2020179942A1 - Distributed processing method based on shared database - Google Patents
Distributed processing method based on shared database Download PDFInfo
- Publication number
- WO2020179942A1 WO2020179942A1 PCT/KR2019/002502 KR2019002502W WO2020179942A1 WO 2020179942 A1 WO2020179942 A1 WO 2020179942A1 KR 2019002502 W KR2019002502 W KR 2019002502W WO 2020179942 A1 WO2020179942 A1 WO 2020179942A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- division
- shared database
- requesting
- terminal
- application
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Definitions
- the technology disclosed in the present specification relates to a distributed processing method, and more particularly, to a distributed processing method based on a shared database in which an operation is distributed to a plurality of terminals to perform an operation.
- Korean Patent Application Laid-Open No. 10-2006-0082622 (published on July 19, 2006, “Data distributed processing method and system thereof using a home gateway”) distributes and transmits a command code to a home gateway for predetermined data processing, And a remote management server that collects processing results from the home gateway, and a home gateway that processes command codes transmitted from the remote management server and retransmits the results to the remote management server.
- a technology capable of effectively processing large amounts of data by using an existing remote management server and a home gateway without installing a separate data processing device is disclosed.
- Korean Patent Laid-Open Publication No. 10-2004-0069059 (published on Aug. 04, 2004, “Distributed processing system and distributed processing method using virtual machines”) has connection information for a plurality of clients and divides the work to be performed.
- a distributed processing server for transmitting a program containing the divided work contents and data necessary for the work to each client; And a plurality of clients that receive the program through a network, load it into a virtual machine, receive data, execute the program, and transmit the result to the distributed processing server through the network. Therefore, whenever a task to be processed in a distributed environment is changed, the distributed processing server only needs to create and transmit a task program described as a script, a technology that can be used flexibly is disclosed.
- the conventional techniques described above have a problem in that in order to construct a distributed system, an independent operation server must be included, such as distributing a specific operation and matching a plurality of terminals to perform the distributed operation.
- the technology disclosed in this specification is a distributed processing method based on a shared database capable of constructing a distributed system without configuring a server connecting a plurality of users and the users and databases to each other. What is provided is a task to be solved.
- a distributed processing method based on a shared database is disclosed.
- the distributed processing method based on a shared database disclosed in the present specification includes an instruction acquisition process (S100) of acquiring an operation instruction 10 through the request application 200 installed in the requesting terminal 100 (S100) and the request application 200 Splitting the operation instruction 10 through the requesting terminal 100, converting it into two or more division operation instructions 20, and directly storing the division operation instruction 20 by connecting directly to the shared database 300
- the process (S200) and the execution application 500 installed in each of the execution terminals 400 are directly connected to the shared database 300 through the execution terminal 400 and individually transmit the stored division operation command 20 It may include a process of performing division (S300) of receiving and performing an operation.
- the execution application 500 may further include a result storage process (S400) of storing the operation result data 40 obtained by performing the division operation command 20 through the execution terminal 400 in the shared database 300 (S400). have.
- S400 result storage process
- the requesting application 200 performs a combination operation 50 that combines each operation result data 40 stored in the shared database 300 through the requesting terminal 100 to obtain the completion data 60
- a combination completion process (S500) may be further included.
- the dividing process (S200) is a command dividing process (S210) in which the requesting application 200 divides the operation instruction 10 into two or more to generate a dividing instruction 21 and the requesting application 200
- the requesting application 200 executes the division command 21
- the requesting application 200 sends the division command 21 and the derived log information 22 and the grade data 23
- the requesting application 200 may include a derivative log storing process (S260) of storing the derived log information 22 of the division operation command 20 in the requesting terminal 100.
- the division execution process (S300) includes a performance grade generation process (S310) in which the execution application 500 calculates a grade at which the execution terminal 400 can perform an operation to generate performance grade data 30, and the A rating search process in which the performing application 500 finds the division operation instruction 20 including the grade data 23 of the same or lower grade as the performance grade data 30 (S320), the execution application 500
- the division operation process of generating the operation result data 40 by receiving the division operation command 20 found in the above through the execution terminal 400 and performing an operation corresponding to the division operation command 20 (S330 )
- result data completion process (S340) including the derived log information 22 included in the division operation command 20 performed by the execution application 500 on the operation result data 40 have.
- the result storage process (S400) is a classification process (S410) in which the execution application 500 classifies the operation result data 40 according to a specific criterion through the execution terminal 400 and the execution application 500 Through the performing terminal 400, the calculation result data 40 below the specific criterion is stored in the shared database 300, and the calculation result data 40 above the specific criterion is stored in another shared database 300.
- the classification and storage process (S420) may be included.
- the combination completion process (S500) includes the requesting application 200 from among the calculation result data 40 stored in the shared database 300 through the requesting terminal 100, the stored in the requesting terminal 100.
- the operation result collection process (S510) receiving two or more calculation result data 40 including the derived log information 22 identical to the derived log information 22 and the requesting application 200
- a combination data completion process of acquiring the completed data 60 according to the calculation instruction 10 by performing the combination calculation 50 combining two or more calculation result data 40 collected through) ( S520) may be included.
- the requesting terminal 100 and the executing terminal 400 are directly connected to the shared database 300, and the request installed in the requesting terminal 100 and the executing terminal 400
- One operation instruction 10 is distributedly performed by a plurality of execution terminals 400 through the application 200 and the execution application 500, so that one operation instruction 10 is divided into a division operation instruction 20, or There is an effect of constructing a distributed system without operating an independent server matching the execution terminal 400 to be performed suitable for the division operation instruction 20.
- FIG. 1 is a schematic system configuration diagram according to an embodiment disclosed in the present specification.
- FIG. 2 is a diagram illustrating a sequence according to a method disclosed herein.
- FIG. 3 is a diagram showing a sequence according to an example of the dividing process (S200) disclosed in the present specification.
- FIG. 4 is a diagram showing a sequence according to another example of a division process (S200) disclosed in the present specification.
- FIG. 5 is a diagram illustrating a sequence according to a process of performing division (S300) disclosed in the present specification.
- FIG. 6 is a diagram showing a sequence according to a result storage process (S400) disclosed in the present specification.
- FIG. 7 is a diagram illustrating a sequence according to a combination completion process (S500) disclosed in the present specification.
- one component When one component is referred to as “arrangement” to another component, it may include a case where the one component is directly disposed on the other component, as well as a case where an additional component is interposed therebetween.
- connecting When one component is referred to as "connecting" to another component, it may include a case where the one component is directly connected to the other component, as well as a case where an additional component is interposed therebetween.
- one component When one component is referred to as "formation" in another component, it may include a case where the one component is directly formed on the other component, as well as a case where an additional component is interposed therebetween.
- one component When one component is referred to as "coupling" to another component, it may include a case in which the one component is directly coupled to the other component, as well as a case where an additional component is interposed therebetween.
- 1 attached to the present specification is a schematic system configuration diagram according to an embodiment disclosed in the present specification.
- 2 is a diagram illustrating a sequence according to a method disclosed herein.
- 3 is a diagram showing a sequence according to an example of the dividing process (S200) disclosed in the present specification.
- 4 is a diagram showing a sequence according to another example of a division process (S200) disclosed in the present specification.
- 5 is a diagram illustrating a sequence according to a process of performing division (S300) disclosed in the present specification.
- 6 is a diagram showing a sequence according to a result storage process (S400) disclosed in the present specification.
- 7 is a diagram illustrating a sequence according to a combination completion process (S500) disclosed in the present specification.
- the distributed processing method based on the shared database disclosed in the present specification with reference to the drawings below includes an instruction acquisition process (S100), a division process (S200), and a division performance process (S300), as shown in FIG. 2.
- a result storage process (S400) and a combination completion process (S500) may be selectively further included.
- the command acquisition process (S100) is a process of acquiring the operation command 10 through the request application 200 installed in the request terminal 100.
- the requesting terminal 100 may be provided with a conventional personal computer or smart phone.
- the arithmetic instruction 10 may be provided as an ordinary arithmetic instruction (arithmetical instruction).
- the requesting application 200 may be provided to store the operation command 10 input by the user through the requesting terminal 100 in the requesting terminal 100.
- the command acquisition process (S100) when the user inputs a command to perform a specific operation through the requesting terminal 100, the requesting application 200 sends the inputted operation command 10 to the storage device of the requesting terminal 100. Save it.
- the requesting application 200 divides the operation instruction 10 stored in the storage device by the requesting terminal 100 through the requesting terminal 100, 20), and directly connecting to the shared database 300 to directly store the division operation command 20.
- the division process (S200) includes a command division process (S210) and a derivative recording process (S220), a division generation process (S240), a division storage process (S250), and a derivative log storage process (S260). can do.
- the command splitting process (S210) allows the requesting application 200 to divide the operation command 10 stored in the storage device of the requesting terminal 100 into two or more, and then divide the operation command 21 into two or more. It is the process of creating.
- the division instruction 21 is divided to the extent that it can perform an independent operation as an independent object.
- the derivation recording process (S220) is performed by the requesting application (200), but generates a derived log (Log) information (22) that can confirm that the division command (21) is derived from one operation command (10) It is a process.
- the division generation process (S240) is a process in which the requesting application 200 generates the division operation instruction 20 by including the division instruction 21 and the derived log information 22.
- the divided storing process (S250) is a process in which the requesting application 200 directly stores the divided operation command 20 in the shared database 300. In the process of storing the derived log (S260), the requesting application 200 stores the derived log information 22 of the division operation command 20 in the requesting terminal 100.
- the division process (S200) includes a command division process (S210) and a derivative recording process (S220), a rating generation process (S230), a division generation process (S240), a division storage process (S250), and a derivation.
- a log storage process (S260) may be included.
- the command splitting process (S210) is a command splitting process (S210) by the requesting application 200 dividing the operation command 10 stored in the storage device of the requesting terminal 100 into two or more. This is the process of generating the division command 21.
- the division instruction 21 is divided to the extent that it can perform an independent operation as an independent object.
- the derivation recording process (S220) is performed by the requesting application (200), but generates a derived log (Log) information (22) that can confirm that the division command (21) is derived from one operation command (10) It is a process.
- the grade generation process (S230) is a process of generating grade data 23 by calculating a performance grade at which the requesting application 200 can execute the division command 21.
- the performance level is defined as a level of hardware specifications or resources of the performing terminal 400 to be described below, and it will be appropriate that information on the performance level is set in the requesting application 200.
- the division generation process (S240) is a process in which the requesting application 200 includes the division instruction 21, the derived log information 22, and the grade data 23 in the division operation instruction 20.
- the divided storing process (S250) is a process in which the requesting application 200 stores the divided operation command 20 in the shared database 300.
- the requesting application 200 stores the derived log information 22 of the division operation command 20 in the requesting terminal 100.
- the division operation command stored by connecting the executing application 500 installed in each of the executing terminals 400 to the shared database 300 through the executing terminal 400 is the process of performing an operation by individually receiving (20).
- the division performance process (S300) includes a performance level generation process (S310), a rating search process (S320), a division operation process (S330), and a result data completion process (S340). I can.
- the performance level generation process (S310) the performance level data 30 is generated by calculating the level at which the execution terminal 400 can perform the calculation by the execution application 500, and is stored in the storage device of the execution terminal 400. It is the process of saving.
- the executing application 500 allows the executing terminal 400 to be directly connected to the shared database 300 and stored in the storage device of the executing terminal 400 from the shared database 300 This is a process of finding the division operation instruction 20 including the grade data 23 having the same or lower grade as the grade data 30.
- the division operation process (S330) the execution application 500 receives the division operation command 20 found in the execution terminal 400 and performs an operation corresponding to the division operation command 20 to perform the operation. This is the process of generating the result data 40.
- the execution application 500 includes the derived log information 22 included in the division operation instruction 20 corresponding to the operation result data 40 in the operation result data 40 It is a process that includes.
- the same division operation command 20 is different from the performing terminal 400 by deleting the received division operation command 20 from the shared database 300 or adding a transmitted record. ), it is also possible to prevent duplicate execution.
- the execution application 500 directly stores the operation result data 40 obtained by performing the division operation command 20 through the execution terminal 400 in the shared database 300 It is a process.
- the execution application 500 directly connects the execution terminal 400 to the shared database 300, and the operation result data 40 is directly connected to the shared database 300. ) Is the process of saving directly.
- the result storage process (S400) is a classification process in which the execution application 500 classifies the operation result data 40 according to a specific criterion (capacity, etc.) through the execution terminal 400 (S410) and the execution application 500 stores the operation result data 40 below the specific reference through the execution terminal 400 in the shared database 300, and the operation result data 40 above the specific reference ) May include a classification storage process (S420) that is stored in another shared database 300.
- a specific criterion capacity, etc.
- the combination completion process according to an embodiment is a combination calculation (50) in which the requesting application 200 combines each calculation result data 40 stored in the shared database 300 through the requesting terminal 100. ) To obtain the completion data 60.
- the combination completion process S500 may include an operation result collection process S510 and a combination data completion process S520.
- the operation result collection process (S510) is performed by the requesting application 200 from among the operation result data 40 stored in the shared database 300 through the requesting terminal 100. This is a process of receiving two or more calculation result data 40 including the derived log information 22 identical to the derived log information 22.
- the requesting application 200 performs the combination calculation 50 to combine two or more calculation result data 40 collected through the requesting terminal 100 to perform the calculation command ( This is a process of obtaining the completed data 60 according to 10).
- the method in which the requesting terminal 100 and the executing terminal 400 described above are connected to the shared database 300 means that they are communicatively connected, and the requesting application 200 and the executing application ( 500) can be implemented.
- the requesting terminal 100 and the executing terminal 400 are directly connected to the shared database 300 so that one operation command 10 is transferred to a plurality of executing terminals ( By performing distributed operation, 400) divides one operation instruction 10 into a division operation instruction 20, or provides an independent server matching the execution terminal 400 to be performed suitable for the division operation instruction 20. There is an effect of being able to build a distributed system without operating.
- the requesting application 200 and the requesting terminal (S100) and the requesting terminal (S100) and the requesting terminal (S200), which perform the process of performing the division (S300), the process of storing results (S400), and the process of completing the combination (S500) 100) and the description of the executing application 500 and the executing terminal 400 are limited for easy description of the distributed processing method based on the shared database disclosed in the present specification, and the functions of the requesting application 200 and One application in which the execution application 500 is integrated may be installed on each terminal, and the operation command 10 is stored in the shared database 300 through the requesting terminal 100 while the partitioning process (S200) is performed.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
A distributed processing method based on a shared database, disclosed in the present specification, may comprise: an instruction acquisition step in which an operation instruction is acquired via a requesting application installed on a requesting terminal; a division step in which, through the requesting terminal, the requesting application divides the operation instruction and converts same into two or more divided operation instructions, and directly stores the divided operation instructions in a shared database by being directly connected thereto; and a divided execution step in which respective executing applications installed on a plurality of executing terminals execute an operation by individually receiving the stored divided operation instructions by being directly connected to the shared database via the executing terminals.
Description
본 명세서에서 개시하는 기술은 분산 처리 방법에 관한 것으로, 상세하게는 하나의 연산을 다수의 단말기에 분산시켜 연산이 수행되도록 하는 공유 데이터베이스를 기반으로 하는 분산 처리 방법 에 관한 것이다.The technology disclosed in the present specification relates to a distributed processing method, and more particularly, to a distributed processing method based on a shared database in which an operation is distributed to a plurality of terminals to perform an operation.
대한민국공개특허공보 제10-2006-0082622호(2006.07.19. 공개, “홈 게이트웨이를 이용한 데이터 분산 처리 방법 및 그시스템”)에는 소정의 데이터 처리를 위해 명령 코드를 홈 게이트웨이에 분산하여 전송하고, 상기 홈 게이트웨이로부터 처리 결과를 수집하는 원격 관리 서버와, 상기 원격 관리 서버로부터 전송된 명령 코드를 처리하여 그 결과를 상기 원격 관리 서버로 재전송하는 홈 게이트웨이를 포함한다. 별도의 데이터 처리 장치를 설치하지 않고 기존의 원격 관리 서버 및 홈 게이트웨이를 이용하여 대용량의 데이터 처리를 효과적으로 수행할 수 있는 기술이 개시되어 있다.Korean Patent Application Laid-Open No. 10-2006-0082622 (published on July 19, 2006, “Data distributed processing method and system thereof using a home gateway”) distributes and transmits a command code to a home gateway for predetermined data processing, And a remote management server that collects processing results from the home gateway, and a home gateway that processes command codes transmitted from the remote management server and retransmits the results to the remote management server. A technology capable of effectively processing large amounts of data by using an existing remote management server and a home gateway without installing a separate data processing device is disclosed.
대한민국공개특허공보 제10-2004-0069059호(2004.08.04. 공개, “가상 머신을 이용한 분산 처리 시스템 및 분산 처리방법”)에는 복수의 클라이언트에 대한 연결 정보를 가지고 있으며, 수행되어야 할 작업을 분할하여, 상기 분할된 각각의 작업 내용이 담긴 프로그램과 작업에 필요한 데이터를 각각의 클라이언트에 전송하는 분산 처리 서버; 및 상기 프로그램을 소정의 프로토콜을 이용하여 네트워크를 통해 전달받아 가상머신에 로드하고 데이터를 입력받아 프로그램을 수행한 후 그 결과를 상기 네트워크를 통해 상기 분산 처리 서버로 전달하는 복수의 클라이언트를 구비한다. 따라서 분산 환경에서 처리할 작업이 변경될 때마다 분산처리 서버에서 스크립트로 기술된 작업 프로그램만을 생성하여 전송하면 되므로 유연하게 사용할 수 있는 기술이 개시되어 있다.Korean Patent Laid-Open Publication No. 10-2004-0069059 (published on Aug. 04, 2004, “Distributed processing system and distributed processing method using virtual machines”) has connection information for a plurality of clients and divides the work to be performed. Thus, a distributed processing server for transmitting a program containing the divided work contents and data necessary for the work to each client; And a plurality of clients that receive the program through a network, load it into a virtual machine, receive data, execute the program, and transmit the result to the distributed processing server through the network. Therefore, whenever a task to be processed in a distributed environment is changed, the distributed processing server only needs to create and transmit a task program described as a script, a technology that can be used flexibly is disclosed.
상기에서 설명된 종래의 기술들은 분산 시스템을 구축하기 위해서 특정 연산을 분산하고 분산된 연산을 수행할 다수의 단말기를 매칭하는 등의 독립된 연산 서버(Server)를 필수적으로 포함하여야 하는 문제점이 있다.The conventional techniques described above have a problem in that in order to construct a distributed system, an independent operation server must be included, such as distributing a specific operation and matching a plurality of terminals to perform the distributed operation.
본 명세서에서 개시하는 기술은 분산 처리 방법에 있어서, 다수의 사용자들 사이와 그 사용자들과 데이터베이스를 서로 연결하는 서버를 구성하지 않고도 분산 시스템을 구축할 수 있는 공유 데이터베이스를 기반으로 하는 분산 처리 방법을 제공하는 것을 해결하고자 하는 과제로 한다.The technology disclosed in this specification is a distributed processing method based on a shared database capable of constructing a distributed system without configuring a server connecting a plurality of users and the users and databases to each other. What is provided is a task to be solved.
일 실시 예에서, 공유 데이터베이스를 기반으로 하는 분산 처리 방법이 개시(disclosure)된다.In one embodiment, a distributed processing method based on a shared database is disclosed.
본 명세서에서 개시하는 공유 데이터베이스를 기반으로 하는 분산 처리 방법은 요청 단말기(100)에 설치된 요청 어플리케이션(200)을 통해서 연산 명령(10)을 획득하는 명령 획득 과정(S100)과 상기 요청 어플리케이션(200)이 요청 단말기(100)를 통해서 상기 연산 명령(10)을 분할하여 둘 이상의 분할 연산 명령(20)으로 변환하고, 공유 데이터베이스(300)에 직접 연결하여 상기 분할 연산 명령(20)을 직접 저장하는 분할 과정(S200) 및 다수의 수행 단말기(400)에 각각 설치된 수행 어플리케이션(500)이 수행 단말기(400)를 통해서 상기 공유 데이터베이스(300)에 직접 연결되어 저장된 상기 분할 연산 명령(20)을 개별적으로 전송 받아 연산을 수행하는 분할 수행 과정(S300)을 포함할 수 있다.The distributed processing method based on a shared database disclosed in the present specification includes an instruction acquisition process (S100) of acquiring an operation instruction 10 through the request application 200 installed in the requesting terminal 100 (S100) and the request application 200 Splitting the operation instruction 10 through the requesting terminal 100, converting it into two or more division operation instructions 20, and directly storing the division operation instruction 20 by connecting directly to the shared database 300 The process (S200) and the execution application 500 installed in each of the execution terminals 400 are directly connected to the shared database 300 through the execution terminal 400 and individually transmit the stored division operation command 20 It may include a process of performing division (S300) of receiving and performing an operation.
상기 수행 어플리케이션(500)이 수행 단말기(400)를 통해서 상기 분할 연산 명령(20)을 수행한 연산 결과 데이터(40)를 공유 데이터베이스(300)에 저장하는 결과 저장 과정(S400)을 더 포함할 수 있다.The execution application 500 may further include a result storage process (S400) of storing the operation result data 40 obtained by performing the division operation command 20 through the execution terminal 400 in the shared database 300 (S400). have.
상기 요청 어플리케이션(200)이 상기 요청 단말기(100)를 통해서 상기 공유 데이터베이스(300)에 저장된 각각의 연산 결과 데이터(40)를 조합하는 조합연산(50)을 수행하여 완성 데이터(60)를 획득하는 조합 완성 과정(S500)을 더 포함할 수 있다.The requesting application 200 performs a combination operation 50 that combines each operation result data 40 stored in the shared database 300 through the requesting terminal 100 to obtain the completion data 60 A combination completion process (S500) may be further included.
상기 분할 과정(S200)은 상기 요청 어플리케이션(200)이 상기 연산 명령(10)을 둘 이상으로 분할하여 분할 명령(21)을 생성하는 명령 분할 과정(S210)과 상기 요청 어플리케이션(200)이 상기 분할된 분할 명령(21)이 하나의 연산 명령(10)에 파생된 것임을 확인할 수 있는 파생 로그 정보(22)를 생성하는 파생 기록 과정(S220), 요청 어플리케이션(200)이 분할 명령(21)을 수행할 수 있는 수행 등급을 산정하여 등급 데이터(23)를 생성하는 등급 생성 과정(S230), 상기 요청 어플리케이션(200)이 상기 분할 명령(21)과 상기 파생 로그 정보(22) 및 상기 등급 데이터(23)를 상기 분할 연산 명령(20)에 포함시키는 분할 생성 과정(S240), 상기 요청 어플리케이션(200)이 상기 분할 연산 명령(20)을 상기 공유 데이터베이스(300)에 저장하는 분할 저장 과정(S250) 및 상기 요청 어플리케이션(200)이 상기 분할 연산 명령(20)의 상기 파생 로그 정보(22)를 상기 요청 단말기(100)에 저장하는 파생 로그 저장 과정(S260)을 포함할 수 있다.The dividing process (S200) is a command dividing process (S210) in which the requesting application 200 divides the operation instruction 10 into two or more to generate a dividing instruction 21 and the requesting application 200 Derivative recording process (S220) of generating derived log information 22 that can confirm that the divided command 21 is derived from one operation command 10 (S220), and the requesting application 200 executes the division command 21 A grade generation process (S230) of generating grade data 23 by calculating a possible performance grade (S230), and the requesting application 200 sends the division command 21 and the derived log information 22 and the grade data 23 ) In the division operation command 20 (S240), the requesting application 200 to store the division operation instruction 20 in the shared database 300 (S250), and The requesting application 200 may include a derivative log storing process (S260) of storing the derived log information 22 of the division operation command 20 in the requesting terminal 100.
상기 분할 수행 과정(S300)은 상기 수행 어플리케이션(500)이 상기 수행 단말기(400)가 연산을 수행할 수 있는 등급을 산정하여 수행 등급 데이터(30)를 생성하는 수행 등급 생성 과정(S310)과 상기 수행 어플리케이션(500)이 상기 수행 등급 데이터(30)와 동일 또는 낮은 등급의 상기 등급 데이터(23)를 포함하는 상기 분할 연산 명령(20)를 찾는 등급 서치 과정(S320), 상기 수행 어플리케이션(500)이 상기에서 찾은 분할 연산 명령(20)을 상기 수행 단말기(400)를 통해서 전송 받아 상기 분할 연산 명령(20)에 대응하는 연산을 수행하여 상기 연산 결과 데이터(40)를 생성하는 분할 연산 과정(S330) 및 상기 수행 어플리케이션(500)이 상기 연산 결과 데이터(40)에 수행한 상기 분할 연산 명령(20)에 포함된 상기 파생 로그 정보(22)를 포함하는 결과 데이터 완성 과정(S340)을 포함할 수 있다.The division execution process (S300) includes a performance grade generation process (S310) in which the execution application 500 calculates a grade at which the execution terminal 400 can perform an operation to generate performance grade data 30, and the A rating search process in which the performing application 500 finds the division operation instruction 20 including the grade data 23 of the same or lower grade as the performance grade data 30 (S320), the execution application 500 The division operation process of generating the operation result data 40 by receiving the division operation command 20 found in the above through the execution terminal 400 and performing an operation corresponding to the division operation command 20 (S330 ) And result data completion process (S340) including the derived log information 22 included in the division operation command 20 performed by the execution application 500 on the operation result data 40 have.
결과 저장 과정(S400)은 상기 수행 어플리케이션(500)이 상기 수행 단말기(400)를 통해서 상기 연산 결과 데이터(40)를 특정기준에 따라서 분류하는 분류 과정(S410) 및 상기 수행 어플리케이션(500)이 상기 수행 단말기(400)를 통해서 상기 특정기준 이하의 연산 결과 데이터(40)는 상기 공유 데이터베이스(300)에 저장하고, 상기 특정기준 이상의 연산 결과 데이터(40)는 또 다른 공유 데이터베이스(300)에 저장하는 분류 저장 과정(S420)을 포함할 수 있다.The result storage process (S400) is a classification process (S410) in which the execution application 500 classifies the operation result data 40 according to a specific criterion through the execution terminal 400 and the execution application 500 Through the performing terminal 400, the calculation result data 40 below the specific criterion is stored in the shared database 300, and the calculation result data 40 above the specific criterion is stored in another shared database 300. The classification and storage process (S420) may be included.
상기 조합 완성 과정(S500)은 상기 요청 어플리케이션(200)이 상기 요청 단말기(100)를 통해서 상기 공유 데이터베이스(300)에 저장된 상기 연산 결과 데이터(40)들 중, 상기 요청 단말기(100)에 저장된 상기 파생 로그 정보(22)와 동일한 상기 파생 로그 정보(22)를 포함하는 둘 이상의 상기 연산 결과 데이터(40)를 수신 받는 연산 결과 수집 과정(S510) 및 상기 요청 어플리케이션(200)이 상기 요청 단말기(100)를 통해서 수집된 둘 이상의 상기 연산 결과 데이터(40)를 조합하는 상기 조합연산(50)을 수행하여 상기 연산 명령(10)에 따른 완성된 상기 완성 데이터(60)를 획득하는 조합 데이터 완성 과정(S520)을 포함할 수 있다.The combination completion process (S500) includes the requesting application 200 from among the calculation result data 40 stored in the shared database 300 through the requesting terminal 100, the stored in the requesting terminal 100. The operation result collection process (S510) receiving two or more calculation result data 40 including the derived log information 22 identical to the derived log information 22 and the requesting application 200 A combination data completion process of acquiring the completed data 60 according to the calculation instruction 10 by performing the combination calculation 50 combining two or more calculation result data 40 collected through) ( S520) may be included.
본 명세서에서 개시된 데이터베이스를 기반으로 하는 분산 처리 방법에 따르면, 공유 데이터베이스(300)에 요청 단말기(100)와 수행 단말기(400)가 직접 연결되어 요청 단말기(100)와 수행 단말기(400)에 설치된 요청 어플리케이션(200)과 수행 어플리케이션(500)을 통해서 하나의 연산 명령(10)이 다수의 수행 단말기(400)가 분산 수행함으로써, 하나의 연산 명령(10)을 분할 연산 명령(20)으로 분할 하거나, 그 분할 연산 명령(20)에 적합한 수행할 수행 단말기(400)를 매칭하는 독립된 서버(Server)를 운영하지 않고도 분산 시스템 (distributed system)을 구축할 수 있는 효과가 있다.According to the distributed processing method based on the database disclosed in this specification, the requesting terminal 100 and the executing terminal 400 are directly connected to the shared database 300, and the request installed in the requesting terminal 100 and the executing terminal 400 One operation instruction 10 is distributedly performed by a plurality of execution terminals 400 through the application 200 and the execution application 500, so that one operation instruction 10 is divided into a division operation instruction 20, or There is an effect of constructing a distributed system without operating an independent server matching the execution terminal 400 to be performed suitable for the division operation instruction 20.
전술한 내용은 이후에 보다 자세하게 기술되는 사항에 대해 간략화된 형태로 선택적인 개념만을 제공한다. 본 내용은 특허 청구 범위의 주요 특징 또는 필수적 특징을 한정하거나, 특허청구범위의 범위를 제한할 의도로 제공되는 것은 아니다.The above description provides only an optional concept in a simplified form for matters to be described in more detail later. The present disclosure is not intended to limit the main or essential features of the claims, or to limit the scope of the claims.
도 1은 본 명세서에서 개시하는 일 실시 예에 따른 대략적인 시스템 구성도 이다.1 is a schematic system configuration diagram according to an embodiment disclosed in the present specification.
도 2는 본 명세서에서 개시하는 방법에 따른 순서를 도시한 도면이다.2 is a diagram illustrating a sequence according to a method disclosed herein.
도 3은 본 명세서에서 개시하는 분할 과정(S200)의 일례에 따른 순서를 도시한 도면이다.3 is a diagram showing a sequence according to an example of the dividing process (S200) disclosed in the present specification.
도 4는 본 명세서에서 개시하는 분할 과정(S200)의 다른 일례에 따른 순서를 도시한 도면이다.4 is a diagram showing a sequence according to another example of a division process (S200) disclosed in the present specification.
도 5는 본 명세서에서 개시하는 분할 수행 과정(S300)에 따른 순서를 도시한 도면이다.5 is a diagram illustrating a sequence according to a process of performing division (S300) disclosed in the present specification.
도 6은 본 명세서에서 개시하는 결과 저장 과정(S400)에 따른 순서를 도시한 도면이다.6 is a diagram showing a sequence according to a result storage process (S400) disclosed in the present specification.
도 7은 본 명세서에서 개시하는 조합 완성 과정(S500)에 따른 순서를 도시한 도면이다.7 is a diagram illustrating a sequence according to a combination completion process (S500) disclosed in the present specification.
이하, 본 명세서에 개시된 실시 예들을 도면을 참조하여 상세하게 설명하고자 한다. 본문에서 달리 명시하지 않는 한, 도면의 유사한 참조번호들은 유사한 구성요소들을 나타낸다. 상세한 설명, 도면들 및 청구항들에서 상술하는 예시적인 실시 예들은 한정을 위한 것이 아니며, 다른 실시 예들이 이용될 수 있으며, 여기서 개시되는 기술의 사상이나 범주를 벗어나지 않는 한 다른 변경들도 가능하다. 당업자는 본 개시의 구성요소들, 즉 여기서 일반적으로 기술되고, 도면에 기재되는 구성요소들을 다양하게 다른 구성으로 배열, 구성, 결합, 도안할 수 있으며, 이것들의 모두는 명백하게 고안되며, 본 개시의 일부를 형성하고 있음을 용이하게 이해할 수 있을 것이다. 도면에서 여러 층(또는 막), 영역 및 형상을 명확하게 표현하기 위하여 구성요소의 폭, 길이, 두께 또는 형상 등은 과장되어 표현될 수도 있다.Hereinafter, exemplary embodiments disclosed in the present specification will be described in detail with reference to the drawings. Unless otherwise specified in the text, like reference numbers in the drawings indicate like elements. The exemplary embodiments described in the detailed description, drawings, and claims are not intended to be limiting, and other embodiments may be used, and other modifications may be made without departing from the spirit or scope of the technology disclosed herein. Those skilled in the art may arrange, construct, combine, and design the components of the present disclosure, that is, the components generally described herein and described in the drawings in various different configurations, all of which are clearly devised, and It will be easy to understand that they are forming a part. In the drawings, in order to clearly express various layers (or films), regions, and shapes, the width, length, thickness, or shape of components may be exaggerated.
일 구성요소가 다른 구성요소에 "배치"라고 언급되는 경우, 상기 일 구성요소가 상기 다른 구성요소에 직접 배치되는 경우는 물론, 이들 사이에 추가적인 구성요소가 개재되는 경우도 포함할 수 있다.When one component is referred to as “arrangement” to another component, it may include a case where the one component is directly disposed on the other component, as well as a case where an additional component is interposed therebetween.
일 구성요소가 다른 구성요소에 "연결"이라고 언급되는 경우, 상기 일 구성요소가 상기 다른 구성요소에 직접 연결되는 경우는 물론, 이들 사이에 추가적인 구성요소가 개재되는 경우도 포함할 수 있다.When one component is referred to as "connecting" to another component, it may include a case where the one component is directly connected to the other component, as well as a case where an additional component is interposed therebetween.
일 구성요소가 다른 구성요소에 "형성"이라고 언급되는 경우, 상기 일 구성요소가 상기 다른 구성요소에 직접 형성되는 경우는 물론, 이들 사이에 추가적인 구성요소가 개재되는 경우도 포함할 수 있다.When one component is referred to as "formation" in another component, it may include a case where the one component is directly formed on the other component, as well as a case where an additional component is interposed therebetween.
일 구성요소가 다른 구성요소에 "결합"이라고 언급되는 경우, 상기 일 구성요소가 상기 다른 구성요소에 직접 결합하는 경우는 물론, 이들 사이에 추가적인 구성요소가 개재되는 경우도 포함할 수 있다.When one component is referred to as "coupling" to another component, it may include a case in which the one component is directly coupled to the other component, as well as a case where an additional component is interposed therebetween.
개시된 기술에 관한 설명은 구조적 내지 기능적 설명을 위한 실시 예에 불과하므로, 개시된 기술의 권리범위는 본문에 설명된 실시 예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시 예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 개시된 기술의 권리범위는 기술적 사상을 실현할 수 있는 균등물을 포함하는 것으로 이해되어야 한다.Since the description of the disclosed technology is merely an embodiment for structural or functional description, the scope of the rights of the disclosed technology should not be construed as being limited by the embodiments described in the text. That is, since the embodiments can be variously changed and have various forms, the scope of rights of the disclosed technology should be understood to include equivalents capable of realizing the technical idea.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, “포함하다.” 또는 “가지다.” 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions are to be understood as including plural expressions, unless the context clearly indicates otherwise, and “includes.” Or “have.” The terms such as, etc. are intended to designate the existence of a feature, number, step, action, component, part, or combination of those implemented, but one or more other features or numbers, steps, actions, components, parts, or combinations thereof. It is to be understood that the possibility of the existence or addition of one thing is not precluded.
여기서 사용된 모든 용어들은 다르게 정의되지 않는 한, 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 일반적으로 사용되는 사전에 정의되어 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미가 있는 것으로 해석될 수 없다.All terms used herein have the same meaning as commonly understood by one of ordinary skill in the field to which the disclosed technology belongs, unless otherwise defined. As defined in a commonly used dictionary, terms should be construed as being consistent with the meaning of the related technology, and cannot be construed as having an ideal or excessive formal meaning unless explicitly defined in the present application.
본 명세서에 첨부된 도 1은 본 명세서에서 개시하는 일 실시 예에 따른 대략적인 시스템 구성도 이다. 도 2는 본 명세서에서 개시하는 방법에 따른 순서를 도시한 도면이다. 도 3은 본 명세서에서 개시하는 분할 과정(S200)의 일례에 따른 순서를 도시한 도면이다. 도 4는 본 명세서에서 개시하는 분할 과정(S200)의 다른 일례에 따른 순서를 도시한 도면이다. 도 5는 본 명세서에서 개시하는 분할 수행 과정(S300)에 따른 순서를 도시한 도면이다. 도 6은 본 명세서에서 개시하는 결과 저장 과정(S400)에 따른 순서를 도시한 도면이다. 도 7은 본 명세서에서 개시하는 조합 완성 과정(S500)에 따른 순서를 도시한 도면이다.1 attached to the present specification is a schematic system configuration diagram according to an embodiment disclosed in the present specification. 2 is a diagram illustrating a sequence according to a method disclosed herein. 3 is a diagram showing a sequence according to an example of the dividing process (S200) disclosed in the present specification. 4 is a diagram showing a sequence according to another example of a division process (S200) disclosed in the present specification. 5 is a diagram illustrating a sequence according to a process of performing division (S300) disclosed in the present specification. 6 is a diagram showing a sequence according to a result storage process (S400) disclosed in the present specification. 7 is a diagram illustrating a sequence according to a combination completion process (S500) disclosed in the present specification.
이하 도면을 참조하여 본 명세서에서 개시하는 공유 데이터베이스를 기반으로 하는 분산 처리 방법은 대략적으로 도 2와 같이, 명령 획득 과정(S100)과 분할 과정(S200) 및 분할 수행 과정(S300)을 포함한다. 몇몇 다른 실시 예들에 있어서, 결과 저장 과정(S400)과 조합 완성 과정(S500)을 선택적으로 더 포함할 수 있다.The distributed processing method based on the shared database disclosed in the present specification with reference to the drawings below includes an instruction acquisition process (S100), a division process (S200), and a division performance process (S300), as shown in FIG. 2. In some other embodiments, a result storage process (S400) and a combination completion process (S500) may be selectively further included.
도 1 및 도 2를 참조한 일 실시 예에 따른 명령 획득 과정(S100)은 요청 단말기(100)에 설치된 요청 어플리케이션(200)을 통해서 연산 명령(10)을 획득하는 과정이다. 좀 더 상세히 설명하면 요청 단말기(100)는 통상의 개인 컴퓨터 또는 스마트폰 등으로 마련될 수 있다. 연산 명령(10)은 통상의 연산명령(arithmetic instruction, arithmetical instruction)으로 마련될 수 있다. 요청 어플리케이션(200)은 요청 단말기(100)를 통해서 사용자가 입력한 연산 명령(10)을 요청 단말기(100)에 저장할 수 있도록 마련될 수 있다. 명령 획득 과정(S100)은 사용자가 요청 단말기(100)를 통해서 특정 연산을 진행하도록 하는 명령어를 입력하면, 요청 어플리케이션(200)이 입력된 연산 명령(10)을 요청 단말기(100)의 저장장치에 저장한다.The command acquisition process (S100) according to an embodiment with reference to FIGS. 1 and 2 is a process of acquiring the operation command 10 through the request application 200 installed in the request terminal 100. In more detail, the requesting terminal 100 may be provided with a conventional personal computer or smart phone. The arithmetic instruction 10 may be provided as an ordinary arithmetic instruction (arithmetical instruction). The requesting application 200 may be provided to store the operation command 10 input by the user through the requesting terminal 100 in the requesting terminal 100. In the command acquisition process (S100), when the user inputs a command to perform a specific operation through the requesting terminal 100, the requesting application 200 sends the inputted operation command 10 to the storage device of the requesting terminal 100. Save it.
일 실시 예에 따른 분할 과정(S200)은 상기 요청 어플리케이션(200)이 요청 단말기(100)를 통해서 요청 단말기(100)이 저장장치에 저장된 상기 연산 명령(10)을 분할하여 둘 이상의 분할 연산 명령(20)으로 변환하고, 공유 데이터베이스(300)에 직접 연결하여 상기 분할 연산 명령(20)을 직접 저장하는 과정이다.In the segmentation process (S200) according to an embodiment, the requesting application 200 divides the operation instruction 10 stored in the storage device by the requesting terminal 100 through the requesting terminal 100, 20), and directly connecting to the shared database 300 to directly store the division operation command 20.
도 3을 참조한 일례로, 분할 과정(S200)은 명령 분할 과정(S210)과 파생 기록 과정(S220), 분할 생성 과정(S240), 분할 저장 과정(S250) 및 파생 로그 저장 과정(S260)을 포함할 수 있다. 명령 분할 과정(S210)은 명령 분할 과정(S210)은 상기 요청 어플리케이션(200)이 상기 요청 단말기(100)의 저장장치에 저장된 상기 연산 명령(10)을 둘 이상으로 분할하여 분할 명령(21)을 생성하는 과정이다. 분할 명령(21)은 독립된 객체로써 독립된 연산을 수행할 수 있을 정도로 분할 된다. 파생 기록 과정(S220)은 상기 요청 어플리케이션(200)에 의해서 진행되되, 상기 분할 명령(21)이 하나의 연산 명령(10)에 파생된 것임을 확인할 수 있는 파생 로그(Log) 정보(22)를 생성하는 과정이다. 분할 생성 과정(S240)은 상기 요청 어플리케이션(200)이 상기 분할 명령(21) 및 상기 파생 로그 정보(22)를 포함시켜 상기 분할 연산 명령(20)을 생성하는 과정이다. 분할 저장 과정(S250)은 상기 요청 어플리케이션(200)이 상기 분할 연산 명령(20)을 상기 공유 데이터베이스(300)에 직접 저장하는 과정이다. 파생 로그 저장 과정(S260)은 상기 요청 어플리케이션(200)이 상기 분할 연산 명령(20)의 상기 파생 로그 정보(22)를 상기 요청 단말기(100)에 저장하는 과정이다.As an example with reference to FIG. 3, the division process (S200) includes a command division process (S210) and a derivative recording process (S220), a division generation process (S240), a division storage process (S250), and a derivative log storage process (S260). can do. In the command splitting process (S210), the command splitting process (S210) allows the requesting application 200 to divide the operation command 10 stored in the storage device of the requesting terminal 100 into two or more, and then divide the operation command 21 into two or more. It is the process of creating. The division instruction 21 is divided to the extent that it can perform an independent operation as an independent object. The derivation recording process (S220) is performed by the requesting application (200), but generates a derived log (Log) information (22) that can confirm that the division command (21) is derived from one operation command (10) It is a process. The division generation process (S240) is a process in which the requesting application 200 generates the division operation instruction 20 by including the division instruction 21 and the derived log information 22. The divided storing process (S250) is a process in which the requesting application 200 directly stores the divided operation command 20 in the shared database 300. In the process of storing the derived log (S260), the requesting application 200 stores the derived log information 22 of the division operation command 20 in the requesting terminal 100.
도 4를 참조한 다른 일례로, 분할 과정(S200)은 명령 분할 과정(S210)과 파생 기록 과정(S220), 등급 생성 과정(S230), 분할 생성 과정(S240), 분할 저장 과정(S250) 및 파생 로그 저장 과정(S260)을 포함할 수 있다. 좀 더 상세히 설명하면, 명령 분할 과정(S210)은 명령 분할 과정(S210)은 상기 요청 어플리케이션(200)이 상기 요청 단말기(100)의 저장장치에 저장된 상기 연산 명령(10)을 둘 이상으로 분할하여 분할 명령(21)을 생성하는 과정이다. 분할 명령(21)은 독립된 객체로써 독립된 연산을 수행할 수 있을 정도로 분할 된다. 파생 기록 과정(S220)은 상기 요청 어플리케이션(200)에 의해서 진행되되, 상기 분할 명령(21)이 하나의 연산 명령(10)에 파생된 것임을 확인할 수 있는 파생 로그(Log) 정보(22)를 생성하는 과정이다. 등급 생성 과정(S230)은 요청 어플리케이션(200)이 분할 명령(21)을 수행할 수 있는 수행 등급을 산정하여 등급 데이터(23)를 생성하는 과정이다. 수행 등급은 이하 설명될 수행 단말기(400)의 하드웨어적인 사양 또는 리소스 등을 등급으로 정의한 것이고, 수행 등급에 관한 정보는 상기 요청 어플리케이션(200)에 설정되어 있음이 타당할 것이다. 분할 생성 과정(S240)은 상기 요청 어플리케이션(200)이 상기 분할 명령(21)과 상기 파생 로그 정보(22) 및 상기 등급 데이터(23)를 상기 분할 연산 명령(20)에 포함하는 과정이다. 분할 저장 과정(S250)은 상기 요청 어플리케이션(200)이 상기 분할 연산 명령(20)을 상기 공유 데이터베이스(300)에 저장하는 과정이다. 파생 로그 저장 과정(S260)은 상기 요청 어플리케이션(200)이 상기 분할 연산 명령(20)의 상기 파생 로그 정보(22)를 상기 요청 단말기(100)에 저장하는 과정이다.As another example with reference to FIG. 4, the division process (S200) includes a command division process (S210) and a derivative recording process (S220), a rating generation process (S230), a division generation process (S240), a division storage process (S250), and a derivation. A log storage process (S260) may be included. In more detail, the command splitting process (S210) is a command splitting process (S210) by the requesting application 200 dividing the operation command 10 stored in the storage device of the requesting terminal 100 into two or more. This is the process of generating the division command 21. The division instruction 21 is divided to the extent that it can perform an independent operation as an independent object. The derivation recording process (S220) is performed by the requesting application (200), but generates a derived log (Log) information (22) that can confirm that the division command (21) is derived from one operation command (10) It is a process. The grade generation process (S230) is a process of generating grade data 23 by calculating a performance grade at which the requesting application 200 can execute the division command 21. The performance level is defined as a level of hardware specifications or resources of the performing terminal 400 to be described below, and it will be appropriate that information on the performance level is set in the requesting application 200. The division generation process (S240) is a process in which the requesting application 200 includes the division instruction 21, the derived log information 22, and the grade data 23 in the division operation instruction 20. The divided storing process (S250) is a process in which the requesting application 200 stores the divided operation command 20 in the shared database 300. In the process of storing the derived log (S260), the requesting application 200 stores the derived log information 22 of the division operation command 20 in the requesting terminal 100.
일 실시 예에 따른 분할 수행 과정(S300)은 다수의 수행 단말기(400)에 각각 설치된 수행 어플리케이션(500)이 수행 단말기(400)를 통해서 상기 공유 데이터베이스(300)에 직접 연결되어 저장된 상기 분할 연산 명령(20)을 개별적으로 전송 받아 연산을 수행하는 과정이다. 도 5를 참조하여 좀 더 상세히 설명하면, 분할 수행 과정(S300)는 수행 등급 생성 과정(S310)과 등급 서치 과정(S320), 분할 연산 과정(S330) 및 결과 데이터 완성 과정(S340)을 포함할 수 있다. 수행 등급 생성 과정(S310)은 상기 수행 어플리케이션(500)이 상기 수행 단말기(400)가 연산을 수행할 수 있는 등급을 산정하여 수행 등급 데이터(30)를 생성하여 수행 단말기(400)의 저장장치에 저장하는 과정이다. 등급 서치 과정(S320)은 상기 수행 어플리케이션(500)이 상기 수행 단말기(400)가 공유 데이터베이스(300)에 직접 연결되도록 하고, 공유 데이터베이스(300)로부터 상기 수행 단말기(400)의 저장장치에 저장된 수행 등급 데이터(30)와 동일 또는 낮은 등급의 상기 등급 데이터(23)를 포함하는 상기 분할 연산 명령(20)를 찾는 과정이다. 분할 연산 과정(S330)은 상기 수행 어플리케이션(500)이 상기에서 찾은 분할 연산 명령(20)을 상기 수행 단말기(400)를 통해서 전송 받아 상기 분할 연산 명령(20)에 대응하는 연산을 수행하여 상기 연산 결과 데이터(40)를 생성하는 과정이다. 결과 데이터 완성 과정(S340)은 상기 수행 어플리케이션(500)이 상기 연산 결과 데이터(40)에 그 연산 결과 데이터(40)와 대응하는 상기 분할 연산 명령(20)에 포함된 상기 파생 로그 정보(22)를 포함시키는 과정이다.In the process of performing the division (S300) according to an embodiment, the division operation command stored by connecting the executing application 500 installed in each of the executing terminals 400 to the shared database 300 through the executing terminal 400 directly This is the process of performing an operation by individually receiving (20). Referring to FIG. 5 in more detail, the division performance process (S300) includes a performance level generation process (S310), a rating search process (S320), a division operation process (S330), and a result data completion process (S340). I can. In the performance level generation process (S310), the performance level data 30 is generated by calculating the level at which the execution terminal 400 can perform the calculation by the execution application 500, and is stored in the storage device of the execution terminal 400. It is the process of saving. In the rating search process (S320), the executing application 500 allows the executing terminal 400 to be directly connected to the shared database 300 and stored in the storage device of the executing terminal 400 from the shared database 300 This is a process of finding the division operation instruction 20 including the grade data 23 having the same or lower grade as the grade data 30. In the division operation process (S330), the execution application 500 receives the division operation command 20 found in the execution terminal 400 and performs an operation corresponding to the division operation command 20 to perform the operation. This is the process of generating the result data 40. In the result data completion process (S340), the execution application 500 includes the derived log information 22 included in the division operation instruction 20 corresponding to the operation result data 40 in the operation result data 40 It is a process that includes.
한편, 분할 수행 과정(S300)에는 전송 받은 분할 연산 명령(20)을 상기 공유 데이터베이스(300)에서 삭제 또는 전송 받은 기록을 추가시키는 등의 방법으로 동일한 분할 연산 명령(20)이 다른 수행 단말기(400)에 의해서 중복 수행되지 않도록 할 수도 있다.On the other hand, in the process of performing the division (S300), the same division operation command 20 is different from the performing terminal 400 by deleting the received division operation command 20 from the shared database 300 or adding a transmitted record. ), it is also possible to prevent duplicate execution.
일 실시 예에 따른 결과 저장 과정(S400)은 수행 어플리케이션(500)이 수행 단말기(400)를 통해서 상기 분할 연산 명령(20)을 수행한 연산 결과 데이터(40)를 공유 데이터베이스(300)에 직접 저장하는 과정이다.In the result storage process (S400) according to an embodiment, the execution application 500 directly stores the operation result data 40 obtained by performing the division operation command 20 through the execution terminal 400 in the shared database 300 It is a process.
일례에 따른 결과 저장 과정(S400)은 상기 수행 어플리케이션(500)이 상기 수행 단말기(400)를 상기 공유 데이터베이스(300)에 직접 연결되도록 하고, 상기 연산 결과 데이터(40)를 직접 연결된 공유 데이터베이스(300)에 직접 저장하는 과정이다.In the result storage process (S400) according to an example, the execution application 500 directly connects the execution terminal 400 to the shared database 300, and the operation result data 40 is directly connected to the shared database 300. ) Is the process of saving directly.
도 6을 참조한 다른 일례에 따른 결과 저장 과정(S400)은 상기 수행 어플리케이션(500)이 상기 수행 단말기(400)를 통해서 상기 연산 결과 데이터(40)를 특정기준(용량 등)에 따라서 분류하는 분류 과정(S410) 및 상기 수행 어플리케이션(500)이 상기 수행 단말기(400)를 통해서 상기 특정기준 이하의 연산 결과 데이터(40)는 상기 공유 데이터베이스(300)에 저장하고, 상기 특정기준 이상의 연산 결과 데이터(40)는 또 다른 공유 데이터베이스(300)에 저장하는 분류 저장 과정(S420)을 포함할 수 있다.The result storage process (S400) according to another example with reference to FIG. 6 is a classification process in which the execution application 500 classifies the operation result data 40 according to a specific criterion (capacity, etc.) through the execution terminal 400 (S410) and the execution application 500 stores the operation result data 40 below the specific reference through the execution terminal 400 in the shared database 300, and the operation result data 40 above the specific reference ) May include a classification storage process (S420) that is stored in another shared database 300.
일 실시 예에 따른 조합 완성 과정(S500)은 상기 요청 어플리케이션(200)이 상기 요청 단말기(100)를 통해서 상기 공유 데이터베이스(300)에 저장된 각각의 연산 결과 데이터(40)를 조합하는 조합연산(50)을 수행하여 완성 데이터(60)를 획득하는 과정이다. 도 7을 참조하여 좀 더 상세히 설명하면, 조합 완성 과정(S500)은 연산 결과 수집 과정(S510) 및 조합 데이터 완성 과정(S520)을 포함할 수 있다. 연산 결과 수집 과정(S510)은 상기 요청 어플리케이션(200)이 상기 요청 단말기(100)를 통해서 상기 공유 데이터베이스(300)에 저장된 상기 연산 결과 데이터(40)들 중, 상기 요청 단말기(100)에 저장된 상기 파생 로그 정보(22)와 동일한 상기 파생 로그 정보(22)를 포함하는 둘 이상의 상기 연산 결과 데이터(40)를 수신 받는 과정이다. 조합 데이터 완성 과정(S520)은 상기 요청 어플리케이션(200)이 상기 요청 단말기(100)를 통해서 수집된 둘 이상의 상기 연산 결과 데이터(40)를 조합하는 상기 조합연산(50)을 수행하여 상기 연산 명령(10)에 따른 완성된 상기 완성 데이터(60)를 획득하는 과정이다.The combination completion process according to an embodiment (S500) is a combination calculation (50) in which the requesting application 200 combines each calculation result data 40 stored in the shared database 300 through the requesting terminal 100. ) To obtain the completion data 60. When described in more detail with reference to FIG. 7, the combination completion process S500 may include an operation result collection process S510 and a combination data completion process S520. The operation result collection process (S510) is performed by the requesting application 200 from among the operation result data 40 stored in the shared database 300 through the requesting terminal 100. This is a process of receiving two or more calculation result data 40 including the derived log information 22 identical to the derived log information 22. In the combined data completion process (S520), the requesting application 200 performs the combination calculation 50 to combine two or more calculation result data 40 collected through the requesting terminal 100 to perform the calculation command ( This is a process of obtaining the completed data 60 according to 10).
한편, 상기에서 설명된 요청 단말기(100)와 수행 단말기(400)가 공유 데이터베이스(300)에 연결되는 방식은 통신적으로 연결되는 것을 의미하고, 하나의 어플리케이션에 요청 어플리케이션(200) 및 수행 어플리케이션(500)의 기능이 구현되도록 할 수도 있다.Meanwhile, the method in which the requesting terminal 100 and the executing terminal 400 described above are connected to the shared database 300 means that they are communicatively connected, and the requesting application 200 and the executing application ( 500) can be implemented.
상기에서 설명된 공유 데이터베이스를 기반으로 하는 분산 처리 방법에 따르면, 공유 데이터베이스(300)에 요청 단말기(100)와 수행 단말기(400)가 직접 연결되어 하나의 연산 명령(10)이 다수의 수행 단말기(400)가 분산 수행함으로써, 하나의 연산 명령(10)을 분할 연산 명령(20)으로 분할 하거나, 그 분할 연산 명령(20)에 적합한 수행할 수행 단말기(400)를 매칭하는 독립된 서버(Server)를 운영하지 않고도 분산 시스템 (distributed system)을 구축할 수 있는 효과가 있다.According to the distributed processing method based on the shared database described above, the requesting terminal 100 and the executing terminal 400 are directly connected to the shared database 300 so that one operation command 10 is transferred to a plurality of executing terminals ( By performing distributed operation, 400) divides one operation instruction 10 into a division operation instruction 20, or provides an independent server matching the execution terminal 400 to be performed suitable for the division operation instruction 20. There is an effect of being able to build a distributed system without operating.
나아가 상기에서 설명된 명령 획득 과정(S100)과 분할 과정(S200), 분할 수행 과정(S300), 결과 저장 과정(S400) 및 조합 완성 과정(S500)을 수행하는 요청 어플리케이션(200)과 요청 단말기(100) 및 수행 어플리케이션(500)과 수행 단말기(400)의 설명은 본 명세서에서 개시하는 공유 데이터베이스를 기반으로 하는 분산 처리 방법의 용이한 설명을 위해서 한정한 것일 뿐, 요청 어플리케이션(200)의 기능과 수행 어플리케이션(500)이 통합된 하나의 어플리케이션이 각각의 단말기에 각각 설치될 수 있고, 요청 단말기(100)를 통해서 연산 명령(10)이 공유 데이터베이스(300)에 저장되도록 하면서 분할 과정(S200)이 수행 단말기(400)를 통해서 진행될 수 도 있는 등의 다양한 변형이 가능할 것이다.Furthermore, the requesting application 200 and the requesting terminal (S100) and the requesting terminal (S100) and the requesting terminal (S200), which perform the process of performing the division (S300), the process of storing results (S400), and the process of completing the combination (S500) 100) and the description of the executing application 500 and the executing terminal 400 are limited for easy description of the distributed processing method based on the shared database disclosed in the present specification, and the functions of the requesting application 200 and One application in which the execution application 500 is integrated may be installed on each terminal, and the operation command 10 is stored in the shared database 300 through the requesting terminal 100 while the partitioning process (S200) is performed. Various modifications, such as which may be carried out through the performing terminal 400, will be possible.
상기로부터, 본 개시의 다양한 실시 예들이 예시를 위해 기술되었으며, 아울러 본 개시의 범주 및 사상으로부터 벗어나지 않고 가능한 다양한 변형 예들이 존재함을 이해할 수 있을 것이다. 그리고 개시되고 있는 상기 다양한 실시 예들은 본 개시된 사상을 한정하기 위한 것이 아니며, 진정한 사상 및 범주는 하기의 청구항으로부터 제시될 것이다.From the above, various embodiments of the present disclosure have been described for illustration, and it will be understood that there are various possible modifications without departing from the scope and spirit of the present disclosure. And the disclosed various embodiments are not intended to limit the spirit of the present disclosure, and the true spirit and scope will be presented from the claims below.
Claims (7)
- 요청 단말기에 설치된 요청 어플리케이션을 통해서 연산 명령을 획득하는 명령 획득 과정;An instruction acquisition process of obtaining an operation instruction through a request application installed in the requesting terminal;상기 요청 어플리케이션이 요청 단말기를 통해서 상기 연산 명령을 분할하여 둘 이상의 분할 연산 명령으로 변환하고, 공유 데이터베이스에 직접 연결하여 상기 분할 연산 명령을 직접 저장하는 분할 과정; 및A partitioning process in which the requesting application divides the operation instruction through a requesting terminal, converts it into two or more partition operation instructions, and directly stores the partition operation instruction by directly connecting to a shared database; And다수의 수행 단말기에 각각 설치된 수행 어플리케이션이 수행 단말기를 통해서 상기 공유 데이터베이스에 직접 연결되어 저장된 상기 분할 연산 명령을 개별적으로 전송받아 연산을 수행하는 분할 수행 과정;A partition execution process in which execution applications respectively installed in a plurality of execution terminals are directly connected to the shared database through the execution terminal and individually transmit the stored partition operation command to perform an operation;을 포함하는 공유 데이터베이스를 기반으로 하는 분산 처리 방법.Distributed processing method based on a shared database including a.
- 제1항에 있어서,The method of claim 1,상기 수행 어플리케이션이 수행 단말기를 통해서 상기 분할 연산 명령을 수행한 연산 결과 데이터를 공유 데이터베이스에 저장하는 결과 저장 과정을 더 포함하는 공유 데이터베이스를 기반으로 하는 분산 처리 방법.Distributed processing method based on a shared database, further comprising a step of storing a result of the executing application in a shared database storing operation result data of performing the division operation command through the executing terminal.
- 제2항에 있어서,The method of claim 2,상기 요청 어플리케이션이 상기 요청 단말기를 통해서 상기 공유 데이터베이스에 저장된 각각의 연산 결과 데이터를 조합하는 조합연산을 수행하여 완성 데이터를 획득하는 조합 완성 과정을 더 포함하는 공유 데이터베이스를 기반으로 하는 분산 처리 방법.A distributed processing method based on a shared database, further comprising: a combination completion process of obtaining completed data by performing a combination operation in which the requesting application combines each operation result data stored in the shared database through the requesting terminal.
- 제1항 내지 제3항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3,상기 분할 과정은,The dividing process,상기 요청 어플리케이션이 상기 연산 명령을 둘 이상으로 분할하여 분할 명령을 생성하는 명령 분할 과정;An instruction dividing process in which the requesting application divides the operation instruction into two or more to generate a division instruction;상기 요청 어플리케이션에 의해서 진행되되, 상기 분할 명령이 하나의 연산 명령에 파생된 것임을 확인할 수 있는 파생 로그 정보를 생성하는 파생 기록 과정;A derivation recording process performed by the requesting application, generating derivation log information capable of confirming that the division instruction is derived from one operation instruction;요청 어플리케이션이 상기 분할 명령을 수행할 수 있는 수행 등급을 산정하여 등급 데이터를 생성하는 등급 생성 과정;A class generation process of generating class data by calculating an execution class at which the requesting application can execute the division command;상기 요청 어플리케이션이 상기 분할 명령과 상기 파생 로그 정보 및 상기 등급 데이터(23)를 포함하는 상기 분할 연산 명령을 생성하는 분할 생성 과정;A division generation process in which the requesting application generates the division operation instruction including the division instruction, the derivative log information, and the grade data (23);상기 요청 어플리케이션이 상기 분할 연산 명령을 상기 공유 데이터베이스에 저장하는 분할 저장 과정;A partitioned storage process in which the requesting application stores the partitioning operation instruction in the shared database;상기 요청 어플리케이션이 상기 분할 연산 명령의 상기 파생 로그 정보를 상기 요청 단말기에 저장하는 파생 로그 저장 과정을 포함하는 공유 데이터베이스를 기반으로 하는 분산 처리 방법.Distributed processing method based on a shared database including a process of storing a derived log in which the requesting application stores the derived log information of the division operation instruction in the requesting terminal.
- 제1항 내지 제3항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3,상기 분할 수행 과정은,The process of performing the division,상기 수행 어플리케이션이 상기 수행 단말기가 연산을 수행할 수 있는 등급을 산정하여 수행 등급 데이터를 생성하는 수행 등급 생성 과정;A performance grade generation process in which the execution application calculates a grade at which the execution terminal can perform an operation and generates performance grade data;상기 수행 어플리케이션이 상기 수행 등급 데이터와 동일 또는 낮은 등급의 상기 등급 데이터를 포함하는 상기 분할 연산 명령를 찾는 등급 서치 과정;A class search process in which the performing application finds the division operation instruction including the class data of the same or lower level as the performance class data;상기 수행 어플리케이션이 상기에서 찾은 분할 연산 명령을 상기 수행 단말기를 통해서 전송받아 상기 분할 연산 명령에 대응하는 연산을 수행하여 상기 연산 결과 데이터를 생성하는 분할 연산 과정; 및A division operation process in which the executing application receives the division operation command found in the execution terminal through the executing terminal and performs an operation corresponding to the division operation command to generate the operation result data; And상기 수행 어플리케이션이 상기 연산 결과 데이터에 그 연산 결과 데이터와 대응하는 상기 분할 연산 명령에 포함된 상기 파생 로그 정보를 포함시키는 결과 데이터 완성 과정;A result data completion process of the executing application including the derived log information included in the division operation instruction corresponding to the operation result data in the operation result data;을 포함하는 공유 데이터베이스를 기반으로 하는 분산 처리 방법.Distributed processing method based on a shared database including a.
- 제2항에 있어서,The method of claim 2,결과 저장 과정은,The process of saving results,상기 수행 어플리케이션이 상기 수행 단말기를 통해서 상기 연산 결과 데이터를 특정기준에 따라서 분류하는 분류 과정; 및A classification process in which the executing application classifies the operation result data according to a specific criterion through the executing terminal; And상기 수행 어플리케이션이 상기 수행 단말기를 통해서 상기 특정기준 이하의 연산 결과 데이터는 상기 공유 데이터베이스에 저장하고, 상기 특정기준 이상의 연산 결과 데이터는 또 다른 공유 데이터베이스에 저장하는 분류 저장 과정;A classification storing process in which the executing application stores operation result data below the specific criterion in the shared database through the executing terminal, and storing operation result data above the specific criterion in another shared database;을 포함하는 공유 데이터베이스를 기반으로 하는 분산 처리 방법.Distributed processing method based on a shared database including a.
- 제3항에 있어서,The method of claim 3,상기 조합 완성 과정은,The combination completion process,상기 요청 어플리케이션이 상기 요청 단말기를 통해서 상기 공유 데이터베이스에 저장된 상기 연산 결과 데이터들 중, 상기 요청 단말기에 저장된 상기 파생 로그 정보와 동일한 상기 파생 로그 정보를 포함하는 둘 이상의 상기 연산 결과 데이터를 수신받는 연산 결과 수집 과정; 및Calculation result in which the requesting application receives two or more calculation result data including the derivative log information that is the same as the derived log information stored in the requesting terminal among the calculation result data stored in the shared database through the requesting terminal Collection process; And상기 요청 어플리케이션이 상기 요청 단말기를 통해서 수집된 둘 이상의 상기 연산 결과 데이터를 조합하는 상기 조합연산을 수행하여 상기 연산 명령에 따른 완성된 상기 완성 데이터를 획득하는 조합 데이터 완성 과정;A combined data completion process in which the requesting application performs the combined operation of combining two or more calculation result data collected through the requesting terminal to obtain the completed completion data according to the calculation command;을 포함하는 공유 데이터베이스를 기반으로 하는 분산 처리 방법.Distributed processing method based on a shared database including a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2019/002502 WO2020179942A1 (en) | 2019-03-05 | 2019-03-05 | Distributed processing method based on shared database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/KR2019/002502 WO2020179942A1 (en) | 2019-03-05 | 2019-03-05 | Distributed processing method based on shared database |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020179942A1 true WO2020179942A1 (en) | 2020-09-10 |
Family
ID=72338685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2019/002502 WO2020179942A1 (en) | 2019-03-05 | 2019-03-05 | Distributed processing method based on shared database |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2020179942A1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120072908A (en) * | 2010-12-24 | 2012-07-04 | 주식회사 케이티 | Distribution storage system having plural proxy servers, distributive management method thereof, and computer-readable recording medium |
KR20150130496A (en) * | 2013-03-15 | 2015-11-23 | 아마존 테크놀로지스, 인크. | Fast crash recovery for distributed database systems |
KR20180060807A (en) * | 2016-11-29 | 2018-06-07 | 충남대학교산학협력단 | Apparatus and method for distributed storage based on tiers |
-
2019
- 2019-03-05 WO PCT/KR2019/002502 patent/WO2020179942A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120072908A (en) * | 2010-12-24 | 2012-07-04 | 주식회사 케이티 | Distribution storage system having plural proxy servers, distributive management method thereof, and computer-readable recording medium |
KR20150130496A (en) * | 2013-03-15 | 2015-11-23 | 아마존 테크놀로지스, 인크. | Fast crash recovery for distributed database systems |
KR20180060807A (en) * | 2016-11-29 | 2018-06-07 | 충남대학교산학협력단 | Apparatus and method for distributed storage based on tiers |
Non-Patent Citations (2)
Title |
---|
BAJRACHARYA, RANJAN ET AL.: "069 WT", MEDIUM.COM, 24 January 2018 (2018-01-24), pages 1 - 4, XP055737906, Retrieved from the Internet <URL:https://medium.com/@ran_bajra/069-wt-e8fcaace0126> * |
KIM BANJANG: "Understanding of n-tier Distributed Business.", NAVER, 4 August 2015 (2015-08-04), pages 1 - 3, Retrieved from the Internet <URL:http://blog.naver.com/PostView.nlm?blogId=ky_808&logNo=220440839922> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20210049721A (en) | Blockchain-based data processing method and apparatus, device, storage medium and program | |
CN110119292B (en) | System operation parameter query method, matching method, device and node equipment | |
CN112308521B (en) | Micro-service partitioning method and system | |
US20160132272A1 (en) | Information processing apparatus, communication method and information processing system | |
CN104981781A (en) | Distributed computing architecture | |
CN111858083A (en) | Remote service calling method and device, electronic equipment and storage medium | |
CN102413114A (en) | Combination-oriented semantic web service discovery method | |
CN104717197A (en) | Session management system, session management apparatus, and session management method | |
CN109327321B (en) | Network model service execution method and device, SDN controller and readable storage medium | |
EP4250161A1 (en) | Data transfer system and data transfer method | |
CN110737425A (en) | billing platform system application program establishing method and device | |
WO2020179942A1 (en) | Distributed processing method based on shared database | |
CN117762632B (en) | Calculation management method based on calculation operation system | |
CN107122362A (en) | Cloud database resource extends the method and system with service extension | |
CN113656502A (en) | Data synchronization method, system, electronic device and storage medium | |
KR20160081231A (en) | Method and system for extracting image feature based on map-reduce for searching image | |
CN107480302A (en) | A kind of loose coupling data integration synchronization realizing method based on enterprise-level application scene | |
CN106453592B (en) | Asynchronous call processing method, device and distributed system | |
JP7305898B2 (en) | Operation response method, operation response device, electronic device and storage medium | |
CN110609707B (en) | Online data processing system generation method, device and equipment | |
CN110018831A (en) | Program processing method, device and Related product | |
CN116932147A (en) | Streaming job processing method and device, electronic equipment and medium | |
CN115809292A (en) | Data processing method, device, equipment and medium | |
CN112637201B (en) | Method, device, equipment and system for processing request of web server | |
CN115185543A (en) | Model deployment method, packing method, device, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19917688 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19917688 Country of ref document: EP Kind code of ref document: A1 |