KR102431555B1 - Method, Device, and Computer-readable Medium for Processing Data through Linkage between Processes that Share Storage - Google Patents

Method, Device, and Computer-readable Medium for Processing Data through Linkage between Processes that Share Storage Download PDF

Info

Publication number
KR102431555B1
KR102431555B1 KR1020200146495A KR20200146495A KR102431555B1 KR 102431555 B1 KR102431555 B1 KR 102431555B1 KR 1020200146495 A KR1020200146495 A KR 1020200146495A KR 20200146495 A KR20200146495 A KR 20200146495A KR 102431555 B1 KR102431555 B1 KR 102431555B1
Authority
KR
South Korea
Prior art keywords
file
service
storage
unit
processing unit
Prior art date
Application number
KR1020200146495A
Other languages
Korean (ko)
Other versions
KR20220060659A (en
Inventor
곽준기
Original Assignee
주식회사 에벤에셀케이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 에벤에셀케이 filed Critical 주식회사 에벤에셀케이
Priority to KR1020200146495A priority Critical patent/KR102431555B1/en
Publication of KR20220060659A publication Critical patent/KR20220060659A/en
Application granted granted Critical
Publication of KR102431555B1 publication Critical patent/KR102431555B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory

Abstract

본 발명은 스토리지를 공유하는 프로세스 간의 연계를 통해 데이터를 처리하기 위한 방법, 시스템, 및 컴퓨터-판독가능 매체에 관한 것으로서, 더욱 상세하게는 독립된 프로세스 혹은 프로그램이 타 프로세스 혹은 프로그램을 호출하는 것이 아니라, 서로 공유하는 스토리지에 소정의 파일들을 업로드함에 따라 데이터 파일을 처리함으로써, 데이터를 처리하기 위해 오픈소스 기반의 프로그램을 사용하는 경우에 전체 프로그램의 소스코드를 공개하는 것을 회피하거나 혹은 라이선스 구매 비용을 절감할 수 있는, 스토리지를 공유하는 프로세스 간의 연계를 통해 데이터를 처리하기 위한 방법, 시스템, 및 컴퓨터-판독가능 매체에 관한 것이다.The present invention relates to a method, system, and computer-readable medium for processing data through association between processes sharing storage, and more particularly, an independent process or program does not call other processes or programs, By processing data files by uploading predetermined files to shared storage, when an open source-based program is used to process data, it avoids disclosing the source code of the entire program or reduces the cost of purchasing a license It relates to a method, system, and computer-readable medium for processing data through associations between processes that share storage.

Description

스토리지를 공유하는 프로세스 간의 연계를 통해 데이터를 처리하기 위한 방법, 시스템, 및 컴퓨터-판독가능 매체 {Method, Device, and Computer-readable Medium for Processing Data through Linkage between Processes that Share Storage}{Method, Device, and Computer-readable Medium for Processing Data through Linkage between Processes that Share Storage}

본 발명은 스토리지를 공유하는 프로세스 간의 연계를 통해 데이터를 처리하기 위한 방법, 시스템, 및 컴퓨터-판독가능 매체에 관한 것으로서, 더욱 상세하게는 독립된 프로세스 혹은 프로그램이 타 프로세스 혹은 프로그램을 호출하는 것이 아니라, 서로 공유하는 스토리지에 소정의 파일들을 업로드함에 따라 데이터 파일을 처리함으로써, 데이터를 처리하기 위해 오픈소스 기반의 프로그램을 사용하는 경우에 전체 프로그램의 소스코드를 공개하는 것을 회피하거나 혹은 라이선스 구매 비용을 절감할 수 있는, 스토리지를 공유하는 프로세스 간의 연계를 통해 데이터를 처리하기 위한 방법, 시스템, 및 컴퓨터-판독가능 매체에 관한 것이다.The present invention relates to a method, system, and computer-readable medium for processing data through association between processes sharing storage, and more particularly, an independent process or program does not call other processes or programs, By processing data files by uploading predetermined files to shared storage, when an open source-based program is used to process data, it avoids disclosing the source code of the entire program or reduces the cost of purchasing a license It relates to a method, system, and computer-readable medium for processing data through associations between processes that share storage.

데이터 처리기술이 고도화됨에 따라 독립된 컴퓨터 프로그램(프로세스) 자체로 데이터를 처리하는 것은 물론, 복수의 프로그램을 연계하여 데이터를 처리하는 시스템이 많이 개발되고 있다. 이러한 시스템들은 통상적으로 특정 프로그램이 다른 프로그램을 호출하거나, 혹은 다른 프로그램의 소스 혹은 함수를 호출하는 방식으로 프로그램 간의 연계가 이루어지고 있다. 구체적으로 프로그램 사이의 직접적인 호출 방식인 Inter Process Communication(IPC), 원격지 서버의 호출 방식인 Remote Procedure Call(RPC) 혹은 메시지 큐(Message Queue)를 사용하여 프로그램을 호출하는 것으로 복수의 프로그램을 사용하여 데이터를 처리하고 있는 상황이다.As data processing technology is advanced, many systems for processing data by linking a plurality of programs as well as processing data by an independent computer program (process) itself have been developed. In these systems, linkage between programs is usually made in such a way that a specific program calls another program or calls a source or function of another program. Specifically, the program is called using Inter Process Communication (IPC), which is a direct call method between programs, Remote Procedure Call (RPC), which is a call method from a remote server, or Message Queue. is being dealt with.

이와 같이, 타 프로그램을 직접 호출하여 데이터를 처리하는 경우에 호출하는 프로그램(부모 프로세스) 혹은 호출되는 타 프로그램(자식 프로세스)이 Affero General Public License(AGPL) 또는 General Public License (GPL)과 같이 오픈라이선스 기반의 프로그램인 경우에 해당 프로그램을 포함하는 전체 시스템의 소스코드를 공개해야 하는 제약이 존재한다. 또한 리눅스 기반의 서버와 윈도우 기반의 서버를 연계하고자 하는 경우 REST API를 필수적으로 개발해야 하고, REST API의 경우에는 AGPL 또는 GPL 등의 오폰소스 라이선스 기반의 함수를 필요로 하는 경우가 많으므로, 결과적으로 해당 시스템의 소스코드를 공개할 수밖에 없는 상황이다. 따라서 개발자가 공개하기 곤란한 중요한 소스코드를 보호하기 어려운 문제점이 존재한다.In this way, when data is processed by directly calling another program, the calling program (parent process) or the called other program (child process) is licensed under an open license such as Affero General Public License (AGPL) or General Public License (GPL). In the case of a base program, there is a restriction that the source code of the entire system including the program must be disclosed. In addition, if you want to link a Linux-based server with a Windows-based server, it is essential to develop a REST API. As a result, the source code of the system has no choice but to be disclosed. Therefore, there is a problem in that it is difficult to protect important source codes that are difficult for developers to disclose.

한편, 소스코드를 비공개하고자 하는 경우에는 별도의 커머셜 라이선스를 구입하는 것으로 시스템 전체의 소스코드를 보호할 수 있으나, 이는 개발 비용이 과도하게 소요되는 원인으로 작용한다.On the other hand, if you want to keep the source code private, you can protect the source code of the entire system by purchasing a separate commercial license, but this causes excessive development costs.

따라서, 이러한 종래의 문제점을 개선하기 위하여 프로그램을 직접 호출하지 않으면서도 프로그램 혹은 프로세스 간의 연계를 통해 데이터를 처리하는 시스템을 구축하기 위한 새로운 방법의 개발이 요구되고 있다.Accordingly, in order to improve the conventional problems, there is a need to develop a new method for constructing a system that processes data through linkage between programs or processes without directly calling the program.

본 발명은 스토리지를 공유하는 프로세스 간의 연계를 통해 데이터를 처리하기 위한 방법, 시스템, 및 컴퓨터-판독가능 매체에 관한 것으로서, 더욱 상세하게는 독립된 프로세스 혹은 프로그램이 타 프로세스 혹은 프로그램을 호출하는 것이 아니라, 서로 공유하는 스토리지에 소정의 파일들을 업로드함에 따라 데이터 파일을 처리함으로써, 데이터를 처리하기 위해 오픈소스 기반의 프로그램을 사용하는 경우에 전체 프로그램의 소스코드를 공개하는 것을 회피하거나 혹은 라이선스 구매 비용을 절감할 수 있는, 스토리지를 공유하는 프로세스 간의 연계를 통해 데이터를 처리하기 위한 방법, 시스템, 및 컴퓨터-판독가능 매체를 제공하는 것을 목적으로 한다.The present invention relates to a method, system, and computer-readable medium for processing data through association between processes sharing storage, and more particularly, an independent process or program does not call other processes or programs, By processing data files by uploading predetermined files to shared storage, when an open source-based program is used to process data, it avoids disclosing the source code of the entire program or reduces the cost of purchasing a license An object of the present invention is to provide a method, a system, and a computer-readable medium for processing data through an association between processes that share storage.

상기와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에서는, 스토리지를 공유하는 서비스요청부 및 서비스처리부 사이의 연계를 통해 소정의 프로세스를 수행하기 위한 방법으로서, 상기 서비스요청부에 의해, 상기 스토리지에 프로세스의 수행 대상이 되는 원본파일을 업로드하는 원본파일업로드단계; 상기 서비스요청부에 의해, 상기 원본파일에 대한 프로세스를 요청하기 위한 요청파일을 생성하여 상기 스토리지에 업로드하는 요청파일업로드단계; 상기 서비스처리부에 의해, 상기 스토리지에 상기 요청파일이 업로드되는 경우에 상기 요청파일에 상응하는 원본파일에 대하여 프로세스를 수행하는 프로세스수행단계; 상기 서비스처리부에 의해, 상기 원본파일에 대한 프로세스가 완료된 결과파일 및 상기 원본파일에 대한 프로세스가 완료되었음을 의미하는 처리완료파일을 생성하여 상기 스토리지에 업로드하는 프로세스완료단계; 및 상기 서비스요청부에 의해, 상기 스토리지에 상기 처리완료파일이 업로드되는 경우에 상기 원본파일에 대한 소정의 프로세스가 완료되었음을 확인하는 프로세스완료확인단계;를 포함하고, 상기 서비스처리부에 의하여 수행되는 프로세스는 AGPL 또는 GPL의 라이선스를 따르는 오픈소스 프로그램에 의하여 수행되는 프로세스인, 소정의 프로세스를 수행하기 위한 방법을 제공한다.In order to solve the above problems, in one embodiment of the present invention, as a method for performing a predetermined process through association between a service requesting unit and a service processing unit sharing storage, by the service requesting unit, the storage A source file upload step of uploading the source file to be performed in the process; a request file uploading step of generating, by the service requester, a request file for requesting a process for the original file and uploading it to the storage; a process performing step of performing, by the service processing unit, a process on an original file corresponding to the request file when the request file is uploaded to the storage; a process completion step of generating, by the service processing unit, a result file on which the process on the original file is completed and a process completion file indicating that the process on the original file is completed, and uploading it to the storage; and a process completion confirmation step of confirming, by the service requesting unit, that a predetermined process for the original file is completed when the processed file is uploaded to the storage; provides a method for performing a predetermined process, which is a process performed by an open source program under the AGPL or GPL license.

본 발명의 일 실시예에서는, 상기 프로세스수행단계는, 상기 원본파일에 대한 프로세스가 진행 중임을 의미하는 처리진행파일을 생성하여 상기 스토리지에 업로드하는 처리진행파일업로드단계;를 포함할 수 있다.In an embodiment of the present invention, the process performing step may include a processing in progress file uploading step of creating a processing in progress file indicating that the process for the original file is in progress and uploading it to the storage.

본 발명의 일 실시예에서는, 상기 소정의 프로세스를 수행하기 위한 방법은, 상기 서비스처리부에 의해, 상기 원본파일에 대한 프로세스가 수행되지 않는 경우에 오류 내용을 포함하는 처리오류파일을 생성하여 상기 스토리지에 업로드하는 처리오류파일업로드단계; 및 상기 서비스요청부에 의해, 상기 스토리지에 상기 처리오류파일이 업로드 되는 경우에 상기 원본파일의 프로세스에 대한 오류 내용을 확인하는 오류확인단계;를 더 포함할 수 있다.In an embodiment of the present invention, in the method for performing the predetermined process, when the process on the original file is not performed by the service processing unit, a processing error file including error contents is generated and the storage processing error file upload step to upload to; and an error checking step of checking, by the service requesting unit, error content of the process of the original file when the processing error file is uploaded to the storage.

본 발명의 일 실시예에서는, 상기 요청파일 및 상기 처리완료파일 각각은 파일 내부에 내용이 존재하지 않고, 상기 서비스요청부는, 상기 스토리지에 업로드된 상기 처리완료파일에 해당하는 파일명에 기초하여 상기 프로세스완료확인단계를 수행하고, 상기 서비스처리부는, 상기 스토리지에 업로드된 상기 요청파일에 해당하는 파일명에 기초하여 상기 프로세스수행단계를 수행하는 것을 특징으로 할 수 있다.In one embodiment of the present invention, each of the request file and the processed file does not have a content inside the file, and the service request unit, based on the file name corresponding to the processed file uploaded to the storage, the process A completion confirmation step may be performed, and the service processing unit may perform the process execution step based on a file name corresponding to the request file uploaded to the storage.

본 발명의 일 실시예에서는, 상기 처리진행파일업로드단계에서 생성되는 처리진행파일은, 상기 원본파일에 대하여 수행되는 상기 프로세스의 진행정보를 포함할 수 있다.In an embodiment of the present invention, the processing progress file generated in the processing progress file upload step may include progress information of the process performed on the original file.

본 발명의 일 실시예에서는, 상기 처리진행파일업로드단계에서 생성되는 처리진행파일의 파일명은, 상기 원본파일에 대하여 프로세스를 수행하는 서비스처리부의 고유식별정보를 포함할 수 있다.In an embodiment of the present invention, the file name of the processing progress file generated in the processing progress file upload step may include unique identification information of a service processing unit that performs a process on the original file.

본 발명의 일 실시예에서는, 상기 서비스요청부 및 상기 서비스처리부는, 폴링(Polling) 혹은 감시 폴더(Watch Folder) 방식을 사용하여 상기 스토리지에 업로드 되는 파일들을 모니터링하고, 업로드된 파일의 파일명에 기초하여 각 파일명에 상응하는 단계를 수행할 수 있다.In an embodiment of the present invention, the service request unit and the service processing unit monitor the files uploaded to the storage using a polling or watch folder method, and based on the file name of the uploaded file Thus, a step corresponding to each file name can be performed.

본 발명의 일 실시예에서는, 상기 소정의 프로세스를 수행하기 위한 방법은, 상기 서비스처리부에 의해, 상기 원본파일에 대한 프로세스가 수행되지 않는 경우에 오류 내용을 포함하는 처리오류파일을 생성하여 상기 스토리지에 업로드하는 처리오류파일업로드단계;를 더 포함하고, 상기 원본파일, 상기 처리진행파일, 상기 처리완료파일 및 상기 처리오류파일의 파일명 각각에는 파일별로 고유한 확장자를 포함하고, 상기 서비스요청부 및 상기 서비스처리부는, 상기 스토리지에 업로드되는 파일의 확장자에 기초하여 해당 확장자에 상응하는 단계를 수행할 수 있다.In an embodiment of the present invention, in the method for performing the predetermined process, when the process on the original file is not performed by the service processing unit, a processing error file including error contents is generated and the storage Further comprising; a processing error file upload step of uploading to the file name of the original file, the processing in progress file, the processing completed file, and the processing error file each including a unique extension for each file, the service request unit and The service processing unit may perform a step corresponding to the extension based on the extension of the file uploaded to the storage.

상기와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에서는, 스토리지를 공유하는 서비스요청부 및 서비스처리부를 포함하고, 상기 서비스요청부 및 상기 서비스처리부 사이의 연계를 통해 소정의 프로세스를 수행하는 시스템으로서, 상기 서비스요청부에 의해, 상기 스토리지에 프로세스의 수행 대상이 되는 원본파일을 업로드하는 원본파일업로드단계; 상기 서비스요청부에 의해, 상기 원본파일에 대한 프로세스를 요청하기 위한 요청파일을 생성하여 상기 스토리지에 업로드하는 요청파일업로드단계; 상기 서비스처리부에 의해, 상기 스토리지에 상기 요청파일이 업로드되는 경우에 상기 요청파일에 상응하는 원본파일에 대하여 프로세스를 수행하는 프로세스수행단계; 상기 서비스처리부에 의해, 상기 원본파일에 대한 프로세스가 완료된 결과파일 및 상기 원본파일에 대한 프로세스가 완료되었음을 의미하는 처리완료파일을 생성하여 상기 스토리지에 업로드하는 프로세스완료단계; 및 상기 서비스요청부에 의해, 상기 스토리지에 상기 처리완료파일이 업로드되는 경우에 상기 원본파일에 대한 소정의 프로세스가 완료되었음을 확인하는 프로세스완료확인단계;를 수행하고, 상기 서비스처리부에 의하여 수행되는 프로세스는 AGPL 또는 GPL의 라이선스를 따르는 오픈소스 프로그램에 의하여 수행되는 프로세스인, 소정의 프로세스를 수행하는 시스템을 제공한다.In order to solve the above problems, in one embodiment of the present invention, a system including a service requesting unit and a service processing unit sharing storage, and performing a predetermined process through linkage between the service requesting unit and the service processing unit An original file upload step of uploading, by the service requesting unit, an original file to be performed in the storage; a request file uploading step of generating, by the service requester, a request file for requesting a process for the original file and uploading it to the storage; a process performing step of performing, by the service processing unit, a process on an original file corresponding to the request file when the request file is uploaded to the storage; a process completion step of generating, by the service processing unit, a result file on which the process on the original file is completed and a process completion file indicating that the process on the original file is completed, and uploading it to the storage; and a process completion confirmation step of confirming, by the service requesting unit, that a predetermined process for the original file is completed when the processed file is uploaded to the storage; and a process performed by the service processing unit provides a system for performing a predetermined process, which is a process performed by an open source program conforming to the AGPL or GPL license.

상기와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에서는, 스토리지를 공유하고, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 서비스요청부 및 서비스처리부 사이의 연계를 통해 소정의 프로세스를 수행하기 위한 명령이 저장되어 있는, 컴퓨터-판독가능 매체로서, 상기 명령이 상기 서비스요청부 및 상기 서비스처리부에 의해 실행되며, 상기 서비스요청부에 의해, 상기 스토리지에 프로세스의 수행 대상이 되는 원본파일을 업로드하는 원본파일업로드단계; 상기 서비스요청부에 의해, 상기 원본파일에 대한 프로세스를 요청하기 위한 요청파일을 생성하여 상기 스토리지에 업로드하는 요청파일업로드단계; 상기 서비스처리부에 의해, 상기 스토리지에 상기 요청파일이 업로드되는 경우에 상기 요청파일에 상응하는 원본파일에 대하여 프로세스를 수행하는 프로세스수행단계; 상기 서비스처리부에 의해, 상기 원본파일에 대한 프로세스가 완료된 결과파일 및 상기 원본파일에 대한 프로세스가 완료되었음을 의미하는 처리완료파일을 생성하여 상기 스토리지에 업로드하는 프로세스완료단계; 및 상기 서비스요청부에 의해, 상기 스토리지에 상기 처리완료파일이 업로드되는 경우에 상기 원본파일에 대한 소정의 프로세스가 완료되었음을 확인하는 프로세스완료확인단계;를 수행하게 하고, 상기 서비스처리부에 의하여 수행되는 프로세스는 AGPL 또는 GPL의 라이선스를 따르는 오픈소스 프로그램에 의하여 수행되는 프로세스인, 명령이 저장되어 있는 컴퓨터-판독가능 매체를 제공한다.In order to solve the above problems, in one embodiment of the present invention, a command for sharing storage and performing a predetermined process through association between a service requesting unit and a service processing unit including one or more processors and one or more memories The stored, computer-readable medium, wherein the instruction is executed by the service requesting unit and the service processing unit, and by the service requesting unit, an original for uploading an original file to be performed to the storage in the storage file upload step; a request file uploading step of generating, by the service requester, a request file for requesting a process for the original file and uploading it to the storage; a process performing step of performing, by the service processing unit, a process on an original file corresponding to the request file when the request file is uploaded to the storage; a process completion step of generating, by the service processing unit, a result file on which the process on the original file is completed and a process completion file indicating that the process on the original file is completed, and uploading it to the storage; and a process completion confirmation step of confirming, by the service requesting unit, that a predetermined process for the original file is completed when the processed file is uploaded to the storage; The process provides a computer-readable medium having stored thereon instructions, which is a process performed by an open source program under the license of the AGPL or GPL.

본 발명의 일 실시예에 따르면, 타 프로그램 혹은 타 프로세스를 직접적으로 호출하지 않고, 공유된 스토리지에 소정의 파일을 업로드 함으로써 타 프로세스와 연계하여 데이터를 처리하므로, 타 프로그램 혹은 타 프로세스가 오픈라이선스 기반인 경우에 타 프로그램 혹은 타 프로세스가 포함된 독립적인 시스템의 소스코드만 공개하면 되므로, 전체 시스템의 소스코드 공개를 회피할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, data is processed in connection with other processes by uploading a predetermined file to the shared storage without directly calling other programs or other processes, so that other programs or other processes are based on open licenses. In this case, since it is only necessary to disclose the source code of an independent system including other programs or other processes, it is possible to avoid the disclosure of the source code of the entire system.

본 발명의 일 실시예에 따르면, 본 시스템은 사용자의 요구에 따라 서버 외에도 PC를 기반으로 구현될 수 있으므로, 서버를 기반으로 구현되는 것과 비교하여 시스템 도입 비용을 줄일 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the present system can be implemented based on a PC in addition to the server according to the user's request, it is possible to exhibit the effect of reducing the system introduction cost compared to the server-based implementation.

본 발명의 일 실시예에 따르면, 프로그램 혹은 프로세스를 구동하는 디바이스가 서로 스토리지를 공유하는 경우에 프로그램 간 연계를 통해 데이터를 처리할 수 있으므로, PC, 서버 외의 다양한 디바이스 환경에서도 적용 가능한 효과를 발휘할 수 있다.According to an embodiment of the present invention, when devices running a program or process share storage with each other, data can be processed through linkage between programs, so it can exhibit effects applicable to various device environments other than PCs and servers. have.

본 발명의 일 실시예에 따르면, 서비스요청부 및 서비스처리부는 공유된 스토리지에 데이터 처리를 위한 파일을 생성하여 업로드하고, 스토리지에 업로드된 파일의 파일명에 기초하여 데이터 처리과정을 수행하므로, 데이터 처리를 위한 파일을 생성하는데 있어서 리소스를 최소화할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the service request unit and the service processing unit create and upload a file for data processing in the shared storage, and perform data processing based on the file name of the file uploaded to the storage, so that data processing is performed. It can have the effect of minimizing resources in creating a file for

본 발명의 일 실시예에 따르면, 서비스요청부는 스토리지에 업로드된 처리오류파일을 확인하여 요청한 데이터의 처리과정에서의 오류 내용을 용이하게 확인할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the service request unit can check the processing error file uploaded to the storage, thereby exhibiting the effect of easily checking the error content in the processing process of the requested data.

본 발명의 일 실시예에 따르면, 처리진행파일업로드단계에서 생성되는 처리진행파일은, 원본파일에 대하여 수행되는 프로세스의 진행정보를 포함하므로, 서비스요청부에서 처리진행파일을 확인하는 것으로 프로세스의 진행정보를 용이하게 확인할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the process progress file generated in the process progress file upload step includes progress information of the process performed on the original file, the process progresses by checking the process progress file in the service request unit It is possible to exert the effect that information can be easily checked.

본 발명의 일 실시예에 따르면, 처리진행파일의 파일명은 원본파일에 대하여 프로세스를 수행하는 서비스처리부의 고유식별정보를 포함하므로, 해당 프로세스를 수행하지 않는 타 서비스처리부 혹은 원본파일을 업로드한 서비스요청부에서 해당 프로세스를 수행하고 있는 특정 서비스처리부를 용이하게 인지할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the file name of the processing progress file includes unique identification information of the service processing unit that performs the process on the original file, another service processing unit that does not perform the corresponding process or a service request that uploads the original file It can exert the effect of easily recognizing the specific service processing unit that is performing the corresponding process in the department.

도 1은 본 발명의 일 실시예에 따른 스토리지를 공유하는 서비스요청부 및 서비스처리부의 구성을 개략적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른 단일 컴퓨팅장치에 포함된 스토리지를 공유하는 서비스요청부 및 서비스처리부의 구성을 개략적으로 도시한다.
도 3은 본 발명의 일 실시예에 따른 스토리지를 공유하는 서비스요청부 및 서비스처리부에서 수행되는 데이터 처리 과정을 개략적으로 도시한다.
도 4는 본 발명의 일 실시예에 따른 서비스처리부에서 처리오류파일을 생성하여 스토리지에 업로드하고, 서비스요청부에서 처리오류파일을 확인하는 과정을 개략적으로 도시한다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리를 위한 파일의 유형 및 파일의 내용을 개략적으로 도시한다.
도 6은 본 발명의 일 실시예에 따른 데이터 처리를 위한 파일유형에 대한 파일명과 파일유형에 따라 수행되는 단계들을 개략적으로 도시한다.
도 7은 본 발명의 일 실시예에 따른 서비스요청부에서 업로드한 요청파일에 기초하여 서비스처리부에서 처리진행파일을 생성하여 업로드하는 과정을 개략적으로 도시한다.
도 8은 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 개략적으로 도시한다.
1 schematically shows the configuration of a service requesting unit and a service processing unit sharing storage according to an embodiment of the present invention.
2 schematically illustrates the configuration of a service request unit and a service processing unit that share storage included in a single computing device according to an embodiment of the present invention.
3 schematically illustrates a data processing process performed by a service requesting unit and a service processing unit sharing storage according to an embodiment of the present invention.
4 schematically illustrates a process of generating a processing error file in the service processing unit, uploading it to storage, and checking the processing error file in the service requesting unit according to an embodiment of the present invention.
5 schematically shows a type of a file and contents of a file for data processing according to an embodiment of the present invention.
6 schematically shows a file name for a file type for data processing according to an embodiment of the present invention and steps performed according to the file type.
7 schematically illustrates a process of generating and uploading a processing progress file in the service processing unit based on the request file uploaded by the service requesting unit according to an embodiment of the present invention.
8 schematically illustrates an internal configuration of a computing device according to an embodiment of the present invention.

이하에서는, 다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.In the following, various embodiments and/or aspects are now disclosed with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of one or more aspects. However, it will also be recognized by one of ordinary skill in the art that such aspect(s) may be practiced without these specific details. The following description and accompanying drawings set forth in detail certain illustrative aspects of one or more aspects. These aspects are illustrative, however, and some of the various methods in principles of various aspects may be employed, and the descriptions set forth are intended to include all such aspects and their equivalents.

또한, 다양한 양상들 및 특징들이 다수의 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있는 시스템에 의하여 제시될 것이다. 다양한 시스템들이, 추가적인 장치들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있다는 점 그리고/또는 도면들과 관련하여 논의된 장치들, 컴포넌트들, 모듈들 등 전부를 포함하지 않을 수도 있다는 점 또한 이해되고 인식되어야 한다.Further, various aspects and features will be presented by a system that may include a number of devices, components and/or modules, and the like. It is also noted that various systems may include additional apparatuses, components, and/or modules, etc. and/or may not include all of the apparatuses, components, modules, etc. discussed with respect to the drawings. must be understood and recognized.

본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. 아래에서 사용되는 용어들 '~부', '컴포넌트', '모듈', '시스템', '인터페이스' 등은 일반적으로 컴퓨터 관련 엔티티(computer-related entity)를 의미하며, 예를 들어, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어를 의미할 수 있다.As used herein, “embodiment”, “example”, “aspect”, “exemplary”, etc. may not be construed as an advantage or an advantage in any aspect or design described above over other aspects or designs. . The terms '~part', 'component', 'module', 'system', 'interface', etc. used below generally mean a computer-related entity, for example, hardware, hardware A combination of and software may mean software.

또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.Also, the terms "comprises" and/or "comprising" mean that the feature and/or element is present, but excludes the presence or addition of one or more other features, elements and/or groups thereof. should be understood as not

또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Also, terms including an ordinal number such as first, second, etc. may be used to describe various elements, but the elements are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, in the embodiments of the present invention, unless otherwise defined, all terms used herein, including technical or scientific terms, are generally understood by those of ordinary skill in the art to which the present invention belongs. have the same meaning as Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in an embodiment of the present invention, an ideal or excessively formal meaning is not interpreted as

도 1은 본 발명의 일 실시예에 따른 스토리지(200)를 공유하는 서비스요청부(100) 및 서비스처리부(300)의 구성을 개략적으로 도시한다.1 schematically shows the configuration of a service requesting unit 100 and a service processing unit 300 sharing a storage 200 according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 서비스요청부(100) 및 서비스처리부(300)는 스토리지(200)를 공유하고, 스토리지(200)에 데이터 파일 처리를 위한 파일들을 업로드함으로써, 서비스요청부(100) 및 서비스처리부(300)의 연계를 통한 데이터 파일의 처리를 수행할 수 있다.As shown in FIG. 1 , the service request unit 100 and the service processing unit 300 share the storage 200 , and upload files for data file processing to the storage 200 , thereby the service request unit 100 . and processing the data file through the linkage of the service processing unit 300 .

서비스요청부(100)는 서비스처리부(300)와 연계하여 데이터 혹은 파일의 처리를 요청하는 구성요소로서, 상기 서비스요청부(100)는 컴퓨팅장치, 프로세스 혹은 프로그램에 해당할 수도 있다. 한편, 상기 서비스요청부(100)는 원본파일업로드부(110), 요청파일업로드부(120), 프로세스완료확인부(130) 및 오류확인부(140)를 포함할 수 있다.The service request unit 100 is a component that requests processing of data or files in connection with the service processing unit 300 , and the service request unit 100 may correspond to a computing device, a process, or a program. Meanwhile, the service request unit 100 may include an original file upload unit 110 , a request file upload unit 120 , a process completion check unit 130 , and an error check unit 140 .

상기 원본파일업로드부(110)는 서비스처리부(300)를 통해 처리하고자 하는 원본파일을 업로드할 수 있다. 예를 들어, 서비스처리부(300)와 연계하여 아래아 한글 파일(*.hwp)을 PDF 파일로 변환하고자 하는 경우, 상기 원본파일업로드부(110)는 상기 스토리지(200)에 원본파일, 즉 아래아 한글 파일을 업로드할 수 있다.The original file upload unit 110 may upload an original file to be processed through the service processing unit 300 . For example, in connection with the service processing unit 300 to convert a Hangul file (*.hwp) to a PDF file, the original file upload unit 110 stores the original file in the storage 200, that is, the Hangul file below. You can upload files.

상기 요청파일업로드부(120)는 스토리지(200)에 업로드한 원본파일을 서비스처리부(300)에서 소정의 프로세스를 수행하여 처리하도록 요청하는 파일에 해당하는 요청파일을 생성하고, 상기 요청파일을 스토리지(200)에 업로드할 수 있다. 이에 따라, 상기 원본파일업로드부(110) 및 상기 요청파일업로드부(120)에서 상기 스토리지(200)에 업로드한 원본파일 및 요청파일에 기초하여 상기 서비스처리부(300)는 원본파일에 대한 소정의 프로세스를 수행하게 된다.The request file upload unit 120 generates a request file corresponding to a file requesting to process the original file uploaded to the storage 200 by performing a predetermined process in the service processing unit 300, and stores the request file. (200) can be uploaded. Accordingly, based on the original file and the requested file uploaded to the storage 200 by the original file upload unit 110 and the requested file upload unit 120 , the service processing unit 300 receives a predetermined value for the original file. process will be performed.

한편, 상기 프로세스완료확인부(130)는 상기 서비스처리부(300)에서 상기 스토리지(200)에 업로드한 처리완료파일을 모니터링하고, 모니터링된 경우에 해당 원본파일에 대한 프로세스가 완료되었음을 확인할 수 있다.On the other hand, the process completion confirmation unit 130 may monitor the processed file uploaded to the storage 200 by the service processing unit 300 and, if monitored, confirm that the process for the corresponding original file has been completed.

또한, 상기 오류확인부(140)는 상기 서비스처리부(300)에서 해당 원본파일에 대한 소정의 프로세스가 정상적으로 이루어지지 않은 경우, 스토리지(200)에 업로드한 처리오류파일을 모니터링하여, 해당 프로세스의 오류 내용을 확인할 수 있다.In addition, the error check unit 140 monitors the processing error file uploaded to the storage 200 when a predetermined process for the corresponding original file is not normally performed in the service processing unit 300 , and the error of the corresponding process is performed. You can check the contents.

서비스처리부(300)는 서비스요청부(100)와 연계하여 스토리지(200)에 업로드된 원본파일을 소정의 프로세스를 통해 처리하는 구성요소로서, 상기 서비스처리부(300) 또한 컴퓨팅장치, 프로세스 혹은 프로그램에 해당할 수 있다. 한편, 상기 서비스처리부(300)는 프로세스수행부(310), 프로세스완료부(320) 및 처리오류파일업로드부(330)를 포함할 수 있다.The service processing unit 300 is a component that processes the original file uploaded to the storage 200 through a predetermined process in connection with the service request unit 100, and the service processing unit 300 is also a computing device, process or program. may be applicable. Meanwhile, the service processing unit 300 may include a process execution unit 310 , a process completion unit 320 , and a processing error file upload unit 330 .

상기 프로세스수행부(310)는 스토리지(200)에 업로드된 요청파일을 모니터링하고, 해당 요청파일에 상응하는 원본파일에 대하여 소정의 프로세스를 수행할 수 있다. 상술한 예를 참고하면, 상기 소정의 프로세스는 아래아 한글을 PDF 파일로 변환하기 위한 소정의 프로세스에 해당할 수 있다.The process performing unit 310 may monitor the request file uploaded to the storage 200 and perform a predetermined process on the original file corresponding to the request file. Referring to the above-described example, the predetermined process may correspond to a predetermined process for converting Haeah Hangul into a PDF file.

상기 프로세스완료부(320)는 상기 프로세스수행부(310)에서 요청파일에 대하여 소정의 프로세스를 수행하여 도출된 결과파일을 상기 스토리지(200)에 업로드하고, 해당 원본파일에 대한 프로세스가 완료되었음을 의미하는 처리완료파일을 생성하여 상기 스토리지(200)에 업로드할 수 있다. 상기 프로세스완료부(320)를 통해 스토리지(200)에 업로드된 결과파일 및 처리완료파일에 대하여 상기 서비스요청부(100)에 포함된 프로세스완료확인부(130)에서 모니터링하여, 원본파일에 대한 소정의 프로세스가 완료되었음을 인지할 수 있다.The process completion unit 320 uploads a result file derived by performing a predetermined process on the request file in the process execution unit 310 to the storage 200, meaning that the process for the original file is completed It is possible to create a processed file to be uploaded to the storage (200). The process completion confirmation unit 130 included in the service request unit 100 monitors the result file and the processed file uploaded to the storage 200 through the process completion unit 320, and provides a predetermined value for the original file. It can be recognized that the process of

상기 처리오류파일업로드부(330)는 상기 프로세스수행부(310)에서 요청파일에 대하여 소정의 프로세스가 정상적으로 수행되지 않는 경우에, 오류 내용을 포함하는 처리오류파일을 생성하고, 생성된 처리오류파일을 스토리지(200)에 업로드 할 수 있다. 따라서, 상기 처리오류파일업로드부(330)를 통해 스토리지(200)에 업로드된 처리오류파일을 상기 서비스요청부(100)의 오류확인부(140)에서 모니터링함으로써 상기 서비스요청부(100)에서 오류 내용을 확인할 수 있게 된다.The processing error file upload unit 330 generates a processing error file including error contents when a predetermined process is not normally performed with respect to the requested file in the process execution unit 310, and the generated processing error file may be uploaded to the storage 200 . Therefore, by monitoring the processing error file uploaded to the storage 200 through the processing error file uploading unit 330 in the error checking unit 140 of the service requesting unit 100, the error in the service requesting unit 100 You can check the contents.

상기 스토리지(200)는 상기 서비스요청부(100) 및 상기 서비스처리부(300)가 서로 공유가능한 형태의 데이터 저장요소로써, Network Attached Storage(NAS), 또는 클라우드 기반으로 구현되거나, 상기 서비스요청부(100)와 물리적으로 연결되거나, 혹은 상기 서비스처리부(300)와 물리적으로 연결될 수도 있다.The storage 200 is a data storage element in a form that the service request unit 100 and the service processing unit 300 can share with each other. 100) or may be physically connected to the service processing unit 300 .

바람직하게는 상기 서비스요청부(100) 및 상기 스토리지(200)는 하나의 물리적인 공간에 함께 배치되어 직렬ATA 방식과 같은 근거리 유선 통신으로 연결되고, 상기 서비스처리부(300)는 IP기반의 원거리 통신을 통해 상기 스토리지(200)에 접근할 수도 있다. 이와 같은 구성을 통해 사용자는 서비스요청부(100)에 해당하는 컴퓨팅장치에 포함된 HDD, SSD와 같은 저장장치에 원본파일을 업로드하고, 서비스처리부(300)는 저장장치에 업로드된 원본파일에 대하여 소정의 프로세스를 수행하고 그 결과파일을 해당 저장장치에 업로드함으로써, 서비스요청부(100) 및 서비스처리부(300)가 서로 연계하여 데이터 파일을 처리할 수 있다.Preferably, the service request unit 100 and the storage 200 are disposed together in one physical space and are connected by short-distance wired communication such as a serial ATA method, and the service processing unit 300 is IP-based long-distance communication. It is also possible to access the storage 200 through Through such a configuration, the user uploads an original file to a storage device such as HDD or SSD included in the computing device corresponding to the service request unit 100, and the service processing unit 300 relates to the original file uploaded to the storage device. By performing a predetermined process and uploading the result file to the corresponding storage device, the service request unit 100 and the service processing unit 300 may process the data file in connection with each other.

한편, 상기 서비스처리부(300), 더 구체적으로는 프로세스수행부(310)에서 수행되는 소정의 프로세스는 AGPL 또는 GPL 등의 라이선스와 같이 오픈소스 기반의 프로그램에 의하여 수행되는 프로세스에 해당할 수 있다. 따라서, 본 발명에서는 상기 서비스요청부(100)는 서비스처리부(300)를 직접적으로 호출하거나 서비스처리부(300)의 특정 함수를 호출하지 않으므로, 오픈소스 라이선스 규약에 따라 서비스처리부(300)에 해당하는 소스코드만 공개할 수 있으므로, 서비스요청부(100)를 포함하는 전체 시스템의 소스코드 공개를 회피할 수 있는 효과를 발휘할 수 있다. 또한, 본 발명에서는 AGPL 또는 GPL의 라이선스만을 기재하였으나, 이에 한정되는 것이 아니라 오픈소스에 대한 다양한 라이선스들을 포함할 수도 있다.Meanwhile, the predetermined process performed by the service processing unit 300 , more specifically, the process execution unit 310 may correspond to a process performed by an open source-based program such as a license such as AGPL or GPL. Therefore, in the present invention, since the service request unit 100 does not directly call the service processing unit 300 or call a specific function of the service processing unit 300, according to the open source license agreement corresponding to the service processing unit 300. Since only the source code can be disclosed, it is possible to exhibit the effect of avoiding the source code disclosure of the entire system including the service request unit 100 . In addition, although only the AGPL or GPL license is described in the present invention, the present invention is not limited thereto, and may include various licenses for open source.

한편, 상기 서비스요청부(100) 및 상기 서비스처리부(300)는 도 1에 도시된 구성요소만을 포함하는 것으로 제한되지 않는다. 예를 들어, 상기 서비스요청부(100) 및 상기 서비스처리부(300) 각각이 컴퓨팅장치에 해당하는 경우, 1 이상의 메모리 및 1 이상의 프로세서를 포함할 수 있고, 추가적으로 디스플레이 장치, 통신 장치 등을 포함할 수도 있다.Meanwhile, the service request unit 100 and the service processing unit 300 are not limited to including only the components shown in FIG. 1 . For example, when each of the service request unit 100 and the service processing unit 300 corresponds to a computing device, it may include one or more memories and one or more processors, and may additionally include a display device, a communication device, etc. may be

도 2는 본 발명의 일 실시예에 따른 단일 컴퓨팅장치(1000)에 포함된 스토리지(200)를 공유하는 서비스요청부(100) 및 서비스처리부(300)의 구성을 개략적으로 도시한다.2 schematically illustrates the configuration of the service request unit 100 and the service processing unit 300 sharing the storage 200 included in a single computing device 1000 according to an embodiment of the present invention.

도 2에 도시된 바와 같이 상기 서비스요청부(100), 상기 서비스처리부(300), 및 상기 스토리지(200)는 하나의 컴퓨팅장치(1000)에 포함될 수도 있다. 이와 같은 경우에 상기 서비스요청부(100) 및 상기 서비스처리부(300) 각각은 독립된 프로세스 혹은 프로그램에 해당할 수 있으며, 서비스요청부(100)는 스토리지(200)를 통해 서비스처리부(300)로 하여금 원본파일에 대한 소정의 프로세스를 요청하고, 서비스처리부(300)는 요청에 따라 원본파일에 대하여 소정의 프로세스를 수행할 수 있다.As shown in FIG. 2 , the service request unit 100 , the service processing unit 300 , and the storage 200 may be included in one computing device 1000 . In this case, each of the service requesting unit 100 and the service processing unit 300 may correspond to an independent process or program, and the service requesting unit 100 causes the service processing unit 300 to A predetermined process for the original file is requested, and the service processing unit 300 may perform a predetermined process on the original file according to the request.

도 3은 본 발명의 일 실시예에 따른 스토리지(200)를 공유하는 서비스요청부(100) 및 서비스처리부(300)에서 수행되는 데이터 처리 과정을 개략적으로 도시한다.3 schematically illustrates a data processing process performed by the service requesting unit 100 and the service processing unit 300 sharing the storage 200 according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 스토리지(200)를 공유하는 서비스요청부(100) 및 서비스처리부(300) 사이의 연계를 통해 소정의 프로세스를 수행하기 위한 방법으로서, 상기 서비스요청부(100)에 의해, 상기 스토리지(200)에 프로세스의 수행 대상이 되는 원본파일을 업로드하는 원본파일업로드단계(S10); 상기 서비스요청부(100)에 의해, 상기 원본파일에 대한 프로세스를 요청하기 위한 요청파일을 생성하여 상기 스토리지(200)에 업로드하는 요청파일업로드단계(S20); 상기 서비스처리부(300)에 의해, 상기 스토리지(200)에 상기 요청파일이 업로드되는 경우에 상기 요청파일에 상응하는 원본파일에 대하여 프로세스를 수행하는 프로세스수행단계(S60); 상기 서비스처리부(300)에 의해, 상기 원본파일에 대한 프로세스가 완료된 결과파일 및 상기 원본파일에 대한 프로세스가 완료되었음을 의미하는 처리완료파일을 생성하여 상기 스토리지(200)에 업로드하는 프로세스완료단계(S70 ~ S80); 및 상기 서비스요청부(100)에 의해, 상기 스토리지(200)에 상기 처리완료파일이 업로드되는 경우에 상기 원본파일에 대한 소정의 프로세스가 완료되었음을 확인하는 프로세스완료확인단계(S90);를 포함할 수 있다.As shown in FIG. 3 , as a method for performing a predetermined process through linkage between the service requesting unit 100 and the service processing unit 300 sharing the storage 200 , the service requesting unit 100 is by, an original file upload step (S10) of uploading an original file that is a target of the process to the storage 200; a request file upload step (S20) of generating a request file for requesting a process for the original file by the service request unit 100 and uploading it to the storage 200; When the request file is uploaded to the storage 200 by the service processing unit 300, a process performing step of performing a process on the original file corresponding to the request file (S60); A process completion step (S70) of creating, by the service processing unit 300, a result file in which the process for the original file is completed and a processed file indicating that the process on the original file is completed, and uploading it to the storage 200 (S70) ~ S80); and a process completion confirmation step (S90) of confirming, by the service request unit 100, that a predetermined process for the original file is completed when the processed file is uploaded to the storage 200; can

구체적으로, 서비스요청부(100)는 서비스처리부(300)를 통해 처리하고자 하는 원본파일을 상기 스토리지(200)에 업로드하는 원본파일업로드단계(S10)를 수행하고, 원본파일을 업로드한 후에 서비스처리부(300)에서 원본파일에 대한 프로세스 수행을 요청하는 요청파일을 생성하여 상기 스토리지(200)에 업로드하는 요청파일업로드단계(S20)를 수행한다.Specifically, the service request unit 100 performs the original file upload step (S10) of uploading the original file to be processed to the storage 200 through the service processing unit 300, and after uploading the original file, the service processing unit In step 300, a request file upload step (S20) of creating a request file for requesting to perform a process on the original file and uploading it to the storage 200 is performed.

반면에 서비스처리부(300)는 스토리지(200)에 대하여 지속적으로 모니터링을 수행하고, 상기 요청파일업로드단계(S20)를 통해 요청파일이 스토리지(200)에 업로드되는 것을 모니터링(S30)하는 경우에 해당 요청파일에 상응하는 원본파일에 대하여 소정의 프로세스를 수행하는 프로세스수행단계(S60)를 수행한다.On the other hand, the service processing unit 300 continuously monitors the storage 200 and monitors (S30) that the requested file is uploaded to the storage 200 through the request file upload step (S20). A process execution step (S60) of performing a predetermined process on the original file corresponding to the request file is performed.

한편, 상기 프로세스수행단계(S60)는, 상기 원본파일에 대한 프로세스가 진행 중임을 의미하는 처리진행파일을 생성하여 상기 스토리지(200)에 업로드하는 처리진행파일업로드단계(S40);를 포함할 수 있다.On the other hand, the process performing step (S60), the processing progress file upload step (S40) of creating a processing progress file indicating that the process for the original file is in progress and uploading it to the storage 200; may include; have.

구체적으로, 상기 서비스처리부(300)에서 수행하는 프로세스수행단계(S60)는 원본파일에 대한 프로세스가 진행 중임을 상기 서비스요청부(100) 혹은 타 서비스처리부(300)에서 확인할 수 있도록 처리진행파일을 생성하고, 상기 처리진행파일을 스토리지(200)에 업로드하는 처리진행파일업로드단계(S40)를 포함할 수 있다. 따라서, 스토리지(200)에 업로드된 처리진행파일을 모니터링(S50)함에 따라 서비스요청부(100)에서는 자신이 요청한 원본파일에 대해 프로세스가 진행 중임을 인지할 수 있고, 타 서비스처리부(300)에서는 해당 원본파일에 대한 중복 프로세스를 수행하지 않을 수 있다.Specifically, in the process execution step (S60) performed by the service processing unit 300, the processing progress file It may include a process progress file upload step (S40) of creating and uploading the process progress file to the storage 200. Accordingly, as the processing progress file uploaded to the storage 200 is monitored (S50), the service request unit 100 may recognize that a process is in progress for the original file requested by the service requesting unit 100, and the other service processing unit 300 Duplicate process for the original file may not be performed.

한편, 프로세스완료단계(S70 ~ S80)는, 프로세스수행단계(S60)에서 해당 원본파일에 대한 소정의 프로세스를 수행하여 도출된 결과파일을 스토리지(200)에 업로드(S70)하고, 프로세스가 완료되었음을 의미하는 처리완료파일을 생성하여, 상기 스토리지(200)에 업로드(S80)할 수 있다. 상기 처리완료파일은 결과파일과는 별개로 서비스요청부(100)에서 원본파일에 대한 프로세스가 완료되었음을 확인할 수 있도록 하는 파일에 해당한다.On the other hand, in the process completion step (S70 ~ S80), the result file derived by performing a predetermined process on the original file in the process execution step (S60) is uploaded to the storage 200 (S70), and the process is completed. It is possible to create a processing completion file meaning, and upload it to the storage 200 (S80). The process completion file corresponds to a file that allows the service request unit 100 to confirm that the process for the original file has been completed, separately from the result file.

이어서, 상기 서비스요청부(100)의 프로세스완료확인단계(S90)는, 스토리지(200)를 지속적으로 모니터링하며, 상기 프로세스완료단계(S70 ~ S80)를 통해 스토리지(200)에 처리완료파일이 업로드된 것을 모니터링 하는 경우에 해당 원본파일에 대한 프로세스가 정상적으로 완료되었음을 확인할 수 있다.Subsequently, in the process completion confirmation step (S90) of the service request unit 100, the storage 200 is continuously monitored, and the process completion file is uploaded to the storage 200 through the process completion steps (S70 to S80). If you monitor what has been done, you can confirm that the process for the original file has been completed normally.

이후에 상기 서비스요청부(100)는 스토리지(200)에 업로드된 결과파일을 다운로드 하는 등의 프로세스를 통해 도출된 결과파일을 사용할 수도 있다.Thereafter, the service request unit 100 may use the result file derived through a process such as downloading the result file uploaded to the storage 200 .

이와 같이 도 2에 도시된 과정을 통해서 스토리지(200)를 공유하는 서비스요청부(100) 및 서비스처리부(300)를 통해 서비스처리부(300)의 프로그램 혹은 프로세스를 직접적으로 호출하지 않으면서, 서비스처리부(300)와 연계하여 데이터 파일을 처리할 수 있다.As described above, through the process shown in FIG. 2 , the service processing unit does not directly call the program or process of the service processing unit 300 through the service request unit 100 and the service processing unit 300 that share the storage 200 . The data file may be processed in conjunction with 300 .

도 4는 본 발명의 일 실시예에 따른 서비스처리부(300)에서 처리오류파일을 생성하여 스토리지(200)에 업로드하고, 서비스요청부(100)에서 처리오류파일을 확인하는 과정을 개략적으로 도시한다.4 schematically illustrates a process of generating a processing error file in the service processing unit 300 and uploading it to the storage 200, and checking the processing error file in the service requesting unit 100 according to an embodiment of the present invention. .

도 4에 도시된 바와 같이, 상기 소정의 프로세스를 수행하기 위한 방법은, 상기 서비스처리부(300)에 의해, 상기 원본파일에 대한 프로세스가 수행되지 않는 경우에 오류 내용을 포함하는 처리오류파일을 생성하여 상기 스토리지(200)에 업로드하는 처리오류파일업로드단계(S210); 및 상기 서비스요청부(100)에 의해, 상기 스토리지(200)에 상기 처리오류파일이 업로드 되는 경우에 상기 원본파일의 프로세스에 대한 오류 내용을 확인하는 오류확인단계(S230);를 더 포함할 수 있다.As shown in FIG. 4 , in the method for performing the predetermined process, when the process on the original file is not performed by the service processing unit 300, a processing error file including error contents is generated. a processing error file upload step of uploading to the storage 200 (S210); and an error checking step (S230) of checking, by the service requesting unit 100, the error content of the process of the original file when the processing error file is uploaded to the storage 200; have.

구체적으로, 도 2에서 상술한 바와 같이, 서비스처리부(300)의 프로세스수행단계(S60)에서 요청파일을 모니터링하여, 요청파일에 상응하는 원본파일에 대하여 소정의 프로세스를 수행할 수 있고, 원본파일에 대한 프로세스가 정상적으로 이루어지지 않는 경우, 즉, 프로세스의 오류가 발생하는 경우에 상기 서비스처리부(300)는 프로세스에서 발생한 오류 내용을 포함하는 처리오류파일을 생성하고, 상기 처리오류파일을 스토리지(200)에 업로드하는 처리오류파일업로드단계(S210)를 수행한다.Specifically, as described above in FIG. 2 , by monitoring the request file in the process execution step ( S60 ) of the service processing unit 300 , a predetermined process may be performed on the original file corresponding to the request file, and the original file When the process is not normally performed, that is, when an error in the process occurs, the service processing unit 300 generates a processing error file including the error content generated in the process, and stores the processing error file in the storage 200 ) to upload a processing error file upload step (S210) is performed.

한편, 상기 서비스요청부(100)는 스토리지(200)를 지속적으로 모니터링하고, 상기 처리오류파일업로드단계(S210)를 통해 스토리지(200)에 처리오류파일이 업로드되는 것을 모니터링(S220) 하는 경우에 해당 처리오류파일에 포함된 오류 내용을 확인하는 오류확인단계(S230);를 수행한다.On the other hand, the service request unit 100 continuously monitors the storage 200, and monitors (S220) that the processing error file is uploaded to the storage 200 through the processing error file upload step (S210). An error checking step (S230) of checking the error content included in the corresponding processing error file; is performed.

상기 오류확인단계(S230)에서는 상기 처리오류파일에 포함된 오류 내용을 모니터와 같은 디스플레이장치를 통해 표시함으로써 사용자에게 오류 내용을 제공할 수도 있다.In the error checking step (S230), the error content may be provided to the user by displaying the error content included in the processing error file through a display device such as a monitor.

이와 같이, 요청파일, 처리진행파일 및 처리완료파일은 파일 내부에 별도의 내용을 기재하지 않고, 단순히 각 파일의 파일명에 따라 상기 서비스요청부(100) 및 상기 서비스처리부(300)에서 대응하는 단계를 수행하므로, 해당 파일들을 생성하는데 있어서 필요로 하는 리소스를 최소화할 수 있는 효과를 발휘할 수 있다.In this way, the request file, the processing in progress file, and the processing complete file do not write separate contents inside the file, but simply correspond to the service request unit 100 and the service processing unit 300 according to the file name of each file. , it can have the effect of minimizing the resources required to create the files.

도 5는 본 발명의 일 실시예에 따른 데이터 처리를 위한 파일의 유형 및 파일의 내용을 개략적으로 도시한다.5 schematically shows a type of a file and contents of a file for data processing according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 상기 요청파일 및 상기 처리완료파일 각각은 파일 내부에 내용이 존재하지 않고, 상기 서비스요청부(100)는, 상기 스토리지(200)에 업로드된 상기 처리완료파일에 해당하는 파일명에 기초하여 상기 프로세스완료확인단계(S90)를 수행하고, 상기 서비스처리부(300)는, 상기 스토리지(200)에 업로드된 상기 요청파일에 해당하는 파일명에 기초하여 상기 프로세스수행단계(S60)를 수행하는 것을 특징으로 할 수 있다.As shown in FIG. 5 , each of the request file and the processed file does not have content inside the file, and the service request unit 100 corresponds to the processed file uploaded to the storage 200 . The process completion confirmation step (S90) is performed based on the file name, and the service processing unit 300 performs the process execution step (S60) based on the file name corresponding to the requested file uploaded to the storage 200. It may be characterized by performing

구체적으로, 도 5에는 본 발명에서 서비스요청부(100) 및 서비스처리부(300)가 연계하여 프로세스를 수행하기 위하여 생성하는 파일유형들이 기재되어 있고, 각 파일유형별 파일 내용이 기재되어 있다. 파일유형에는 상기 서비스요청부(100)의 요청파일업로드단계(S20)에서 생성되는 요청파일, 상기 서비스처리부(300)의 처리진행파일업로드단계(S40)에서 생성되는 처리진행파일, 프로세스완료단계(S70 ~ S80)에서 생성되는 처리완료파일, 처리오류파일업로드단계(S210)에서 생성되는 처리오류파일이 해당될 수 있다.Specifically, in FIG. 5, the file types generated by the service request unit 100 and the service processing unit 300 to perform a process in connection with each other are described in the present invention, and the file contents for each file type are described. The file type includes a request file generated in the request file upload step (S20) of the service request unit 100, a processing in progress file generated in the processing in progress file upload step (S40) of the service processing unit 300, and a process completion step ( The processed file generated in S70 to S80 may correspond to the processing error file generated in the processing error file upload step S210.

한편, 상기 요청파일, 상기 처리진행파일, 및 상기 처리완료파일 각각의 파일 내용은 존재하지 않는다. 따라서, 각 파일의 크기는 '0 byte'에 해당하고, 소정의 규칙에 따라 생성된 파일명만 가지고 있게 된다. 또한 상기 처리오류파일은 소정의 규칙에 따라 생성된 파일명 및 오류 내용을 포함할 수 있다.On the other hand, the file contents of each of the request file, the processing in progress file, and the processing completed file do not exist. Accordingly, the size of each file corresponds to '0 byte', and only the file name generated according to a predetermined rule is included. In addition, the processing error file may include a file name and error content generated according to a predetermined rule.

한편, 상기 서비스요청부(100) 및 상기 서비스처리부(300)는 모니터링 하고 있는 스토리지(200)에 특정 파일이 업로드 되는 경우에 해당 파일의 파일명에 기초하여 소정의 단계들을 수행할 수 있다. 이에 대한 자세한 설명은 도 6에서 후술하도록 한다.Meanwhile, when a specific file is uploaded to the storage 200 being monitored, the service request unit 100 and the service processing unit 300 may perform predetermined steps based on the file name of the corresponding file. A detailed description thereof will be provided later with reference to FIG. 6 .

본 발명의 다른 실시예에서, 상기 처리진행파일업로드단계(S40)에서 생성되는 처리진행파일은, 상기 원본파일에 대하여 수행되는 상기 프로세스의 진행정보를 포함할 수 있다.In another embodiment of the present invention, the processing progress file generated in the processing progress file upload step ( S40 ) may include progress information of the process performed on the original file.

구체적으로, 상기 처리진행파일업로드단계(S40)는 처리진행파일에 대한 소정의 규칙에 따른 파일명 및 원본파일에 대한 프로세스의 진행정보를 포함하는 처리진행파일을 생성할 수 있다. 따라서 처리진행파일을 모니터링하는 서비스요청부(100)에서는 자신이 요청한 원본파일에 대하여 어느정도 프로세스가 수행되었는 지를 확인할 수 있다.Specifically, the process progress file upload step (S40) may generate a process progress file including a file name according to a predetermined rule for the process progress file and process progress information for the original file. Accordingly, the service request unit 100 for monitoring the processing progress file can check how much processing has been performed for the original file requested by the service requesting unit 100 .

또한, 상기 처리진행파일업로드단계(S40)는, 처리진행파일을 주기적으로 생성하여 상기 스토리지(200)에 업로드함으로써, 지속적으로 프로세스의 진행정보를 상기 서비스요청부(100)에 제공할 수 있으며, 이와 같은 경우에 주기적으로 생성되는 처리진행파일은 최로 생성된 처리진행파일로부터 업데이트 되는 방식으로 생성되거나, 혹은 각각의 처리진행파일이 별도로 생성되어 상기 스토리지(200)에 업로드될 수도 있다.In addition, in the process progress file upload step (S40), by periodically generating a process progress file and uploading it to the storage 200, the process progress information can be continuously provided to the service request unit 100, In this case, the process progress file that is periodically generated may be generated in a way that is updated from the most generated process progress file, or each process progress file may be separately created and uploaded to the storage 200 .

도 6은 본 발명의 일 실시예에 따른 데이터 처리를 위한 파일유형에 대한 파일명과 파일유형에 따라 수행되는 단계들을 개략적으로 도시한다.6 schematically shows a file name for a file type for data processing according to an embodiment of the present invention and steps performed according to the file type.

도 6에 도시된 바와 같이, 상기 소정의 프로세스를 수행하기 위한 방법은, 상기 서비스처리부(300)에 의해, 상기 원본파일에 대한 프로세스가 수행되지 않는 경우에 오류 내용을 포함하는 처리오류파일을 생성하여 상기 스토리지(200)에 업로드하는 처리오류파일업로드단계(S210);를 더 포함하고, 상기 원본파일, 상기 처리진행파일, 상기 처리완료파일 및 상기 처리오류파일의 파일명 각각에는 파일별로 고유한 확장자를 포함하고, 상기 서비스요청부(100) 및 상기 서비스처리부(300)는, 상기 스토리지(200)에 업로드되는 파일의 확장자에 기초하여 해당 확장자에 상응하는 단계를 수행할 수 있다.As shown in FIG. 6 , in the method for performing the predetermined process, when the process on the original file is not performed by the service processing unit 300, a processing error file including error contents is generated. A processing error file upload step (S210) of uploading to the storage 200 by further comprising, each of the file names of the original file, the processing in progress file, the processing completed file, and the processing error file has a unique extension for each file Including, the service request unit 100 and the service processing unit 300, based on the extension of the file uploaded to the storage 200 may perform a step corresponding to the extension.

구체적으로, 도 6에 도시된 바와 같이, 각 파일유형의 파일명에는 고유한 확장자가 포함되어 있고, 상기 서비스요청부(100) 및 상기 서비스처리부(300)는 스토리지(200)에 업로드된 파일의 확장자를 식별하여 해당 파일에 따른 단계를 수행할 수 있다.Specifically, as shown in FIG. 6 , the file name of each file type includes a unique extension, and the service requesting unit 100 and the service processing unit 300 are the extensions of the files uploaded to the storage 200 . can be identified to perform the steps according to the file.

예를 들어, 도 6에서는 아래아 한글 파일(*.hwp)을 원본파일로 하고, 아래아 한글 파일을 서비스처리부(300)에서 PDF 파일로 변환하는 소정의 프로세스를 수행하는 것으로 가정한다. 이때, 요청파일업로드단계(S20)에서는 원본파일명 뒤에 요청파일에 해당하는 확장자(.Call)를 포함하는 파일명을 갖는 *.hwp.Call 파일을 생성하여 스토리지(200)에 업로드한다. 한편, 상기 서비스처리부(300)에서는 스토리지(200)에 업로드된 요청파일(*.hwp.Call)의 확장자를 식별하여 요청파일에 상응하는 원본파일에 대하여 프로세스수행단계(S60)를 수행할 수 있다.For example, in FIG. 6 , it is assumed that a Haeah Hangul file (*.hwp) is used as an original file, and a predetermined process of converting the Haeah Hangul file into a PDF file is performed in the service processing unit 300 . At this time, in the request file upload step (S20), a *.hwp.Call file having a file name including the extension (.Call) corresponding to the request file after the original file name is created and uploaded to the storage 200 . Meanwhile, the service processing unit 300 may identify the extension of the request file (*.hwp.Call) uploaded to the storage 200 and perform the process execution step (S60) on the original file corresponding to the request file. .

한편, 원본파일에 대한 프로세스를 수행함에 따라 처리진행파일업로드단계(S40)에서는 원본파일명 뒤에 처리진행파일에 해당하는 확장자(.Work)를 포함하는 파일명을 갖는 *.hwp.Work 파일을 생성하여 스토리지(200)에 업로드한다. 한편, 상기 서비스요청부(100)에서는 스토리지(200)에 업로드된 처리진행파일(*.hwp.Work)의 확장자를 식별하여 원본파일에 대한 프로세스가 진행중임을 모니터링(S50)하는 프로세스확인단계를 수행할 수 있다.On the other hand, as the process for the original file is performed, in the processing in progress file upload step (S40), a *.hwp.Work file having a file name including the extension (.Work) corresponding to the processing in progress file after the original file name is created and stored Upload to (200). Meanwhile, the service request unit 100 identifies the extension of the processing progress file (*.hwp.Work) uploaded to the storage 200 and monitors (S50) that the process for the original file is in progress. can do.

또한, 원본파일에 대한 프로세스가 정상적으로 완료됨에 따라 프로세스완료단계(S70 ~ S80)에서는 원본파일명 뒤에 처리완료파일에 해당하는 확장자(.Success)를 포함하는 파일명을 갖는 *.hwp.Success 파일을 생성하여 스토리지(200)에 업로드한다. 한편, 상기 서비스요청부(100)에서는 스토리지(200)에 업로드된 처리완료파일(*.hwp.Success)의 확장자를 식별하여 원본파일에 대한 프로세스가 완료되었음을 확인하는 프로세스완료확인단계(S90)를 수행할 수 있다.In addition, as the process for the original file is normally completed, in the process completion step (S70 ~ S80), a *.hwp.Success file having a file name including the extension (.Success) corresponding to the processed file after the original file name is created. It is uploaded to the storage 200 . On the other hand, the service request unit 100 identifies the extension of the processed file (*.hwp.Success) uploaded to the storage 200 to confirm that the process for the original file is complete (S90). can be done

한편, 원본 파일에 대한 프로세스가 정상적으로 완료되지 못하는 경우 처리오류파일업로드단계(S210)에서는 원본파일명 뒤에 처리오류파일에 해당하는 확장자(.Error)를 포함하는 파일명을 갖는 *.hwp.Error 파일을 생성하여 스토리지(200)에 업로드한다. 이에 따라 상기 서비스요청부(100)에서는 스토리지(200)에 업로드된 처리오류파일(*.hwp.Error)의 확장자를 식별하여 처리오류파일에 포함된 오류 내용을 확인하는 오류확인단계(S230)를 수행할 수 있다.On the other hand, if the process for the original file cannot be completed normally, in the processing error file upload step (S210), an *.hwp.Error file having a file name including the extension (.Error) corresponding to the processing error file after the original file name is created and upload it to the storage 200 . Accordingly, the service request unit 100 identifies the extension of the processing error file (*.hwp.Error) uploaded to the storage 200 and confirms the error content included in the processing error file (S230). can be done

이와 같이, 본 발명에 따라 프로세스를 처리하기 위하여 생성되는 파일들은 파일유형에 따라 고유한 확장자를 포함하여 생성되고, 상기 서비스요청부(100) 및 상기 서비스처리부(300)는 각 파일명에 포함된 확장자를 식별하여 해당 파일에 따른 단계들을 수행할 수 있으며, 각 파일유형에 따른 확장자를 포함하는 파일명 생성 규칙 및 파일유형에 따라 수행해야하는 단계들은 각각 상기 서비스요청부(100) 및 상기 서비스처리부(300)에 기설정될 수 있다.In this way, the files generated to process the process according to the present invention are generated with a unique extension according to the file type, and the service request unit 100 and the service processing unit 300 have the extension included in each file name. The steps to be performed according to the file name generation rule including the extension according to each file type and the file type are performed by the service request unit 100 and the service processing unit 300, respectively. may be set in

또한, 도 6에 도시된 파일유형에 따른 확장자는 일 실시예일 뿐이고, 다양한 규칙의 확장자 혹은 파일명으로 구현될 수도 있다.In addition, the extension according to the file type shown in FIG. 6 is only an embodiment, and may be implemented as an extension or file name of various rules.

한편, 상기 서비스요청부(100) 및 상기 서비스처리부(300)는, 폴링(Polling) 혹은 감시 폴더(Watch Folder) 방식을 사용하여 상기 스토리지(200)에 업로드 되는 파일들을 모니터링하고, 업로드된 파일의 파일명에 기초하여 각 파일명에 상응하는 단계를 수행할 수 있다.On the other hand, the service request unit 100 and the service processing unit 300, using a polling (Polling) or watch folder (Watch Folder) method to monitor the files uploaded to the storage 200, and Based on the file name, a step corresponding to each file name may be performed.

구체적으로, 상기 서비스요청부(100) 및 상기 서비스처리부(300)는 실시간 혹은 주기적으로 스토리지(200)를 모니터링하며, 모니터링 기법으로는 일반적으로 사용되는 폴링(Polling) 기법을 사용하여 스토리지(200)로부터 기설정된 주기에 따라 스토리지(200)에 저장된 파일의 내역을 제공받아 모니터링할 수 있으며, 감시 폴더(Watch Folder) 기법을 통해 스토리지(200) 혹은 스토리지(200)에 지정된 폴더에 새로운 파일이 업로드 되는 경우에 새로운 파일의 내역을 제공받아 모니터링할 수 있다.Specifically, the service request unit 100 and the service processing unit 300 monitor the storage 200 in real time or periodically, and as a monitoring technique, the storage 200 using a commonly used polling technique. It is possible to receive and monitor the details of files stored in the storage 200 according to a preset cycle from the In this case, you can monitor by receiving the details of the new file.

본 발명의 일 실시예에서는 폴링(Polling) 기법 혹은 감시 폴더(Watch Folder) 기법을 사용하여 스토리지(200)를 모니터링하는 것으로 기재하였으나, 본 발명의 다른 실시예에서는 종래에 컴퓨터 디렉토리를 모니터링하는 다양한 기법들을 사용할 수도 있다.In an embodiment of the present invention, it has been described that the storage 200 is monitored using a polling technique or a watch folder technique, but in another embodiment of the present invention, various techniques for monitoring a computer directory in the related art can also be used

도 7은 본 발명의 일 실시예에 따른 서비스요청부(100)에서 업로드한 요청파일에 기초하여 서비스처리부(300)에서 처리진행파일을 생성하여 업로드하는 과정을 개략적으로 도시한다.7 schematically illustrates a process of generating and uploading a processing progress file in the service processing unit 300 based on the request file uploaded by the service requesting unit 100 according to an embodiment of the present invention.

도 7에 도시된 바와 같이, 상기 처리진행파일업로드단계(S40)에서 생성되는 처리진행파일의 파일명은, 상기 원본파일에 대하여 프로세스를 수행하는 서비스처리부(300)의 고유식별정보를 포함할 수 있다.7, the file name of the processing progress file generated in the processing progress file upload step (S40) may include unique identification information of the service processing unit 300 that performs a process on the original file. .

구체적으로, 도 1에 도시된 바와 같이 스토리지(200)를 공유하는 서비스요청부(100) 및 서비스처리부(300)의 개수는 1:1로 구성될 수 있으며, 도 7에서 도시된 것과 같이 서비스요청부(100) 및 서비스처리부(300)의 개수가 1:N으로 구성될 수도 있으며, 도시하지는 않았으나 서비스요청부(100) 및 서비스처리부(300)의 개수가 N:N으로 구성될 수 있다.Specifically, as shown in FIG. 1 , the number of service requesting units 100 and service processing units 300 sharing the storage 200 may be configured in a 1:1 ratio, and as shown in FIG. 7 , service requests The number of the unit 100 and the service processing unit 300 may be configured as 1:N, and although not shown, the number of the service requesting unit 100 and the service processing unit 300 may be configured as N:N.

이와 같이 서비스처리부(300)가 복수로 구성되어 있는 경우에, 원본파일에 대한 프로세스를 요청하는 서비스요청부(100)는 해당 원본파일에 대한 프로세스를 수행하고 있는 서비스처리부(300)가 어떤 서비스처리부(300)인지를 확인해야할 필요가 있고, 타 서비스처리부(300)에서도 해당 원본파일에 대한 프로세스 수행의 중복을 방지하기 위하여 어떤 서비스처리부(300)에서 프로세스를 수행하고 있는지 확인해야할 필요가 발생할 수 있다.In this way, when the service processing unit 300 is configured in plurality, the service requesting unit 100 requesting a process for the original file determines which service processing unit the service processing unit 300 performing the process on the original file is. (300), it may be necessary to check which service processing unit 300 is performing the process in order to prevent duplication of process execution for the original file in other service processing units 300. .

따라서, 해당 원본파일에 대한 프로세스를 수행함에 따라 생성되는 처리진행파일의 파일명에는 프로세스를 수행하는 서비스처리부(300)의 고유식별정보가 포함될 수 있다.Accordingly, the file name of the processing progress file generated by performing the process on the original file may include unique identification information of the service processing unit 300 performing the process.

도 7에 도시된 바와 같이, 서비스요청부(100)는 원본파일업로드단계를 통해 처리하고자 하는 원본파일을 스토리지(200)에 업로드(S300)하고, 요청파일업로드단계를 통해 원본파일에 대한 요청파일을 생성하여 스토리지(200)에 업로드(S310)한다.7, the service request unit 100 uploads the original file to be processed to the storage 200 through the original file upload step (S300), and the request file for the original file through the request file upload step is created and uploaded to the storage 200 (S310).

한편, 복수의 서비스처리부(300.1, 300.2 및 300.N)는 스토리지(200)에 업로드된 요청파일을 모니터링(S320, S330 및 S340)한다. 도 7에 도시된 바와 같이 서비스처리부 #2(300.2)가 가장 먼저 요청파일을 모니터링 하거나 혹은 소정의 규칙에 따라 서비스처리부 #2(300.2)에서 원본파일에 대한 프로세스를 수행하는 것으로 결정되는 경우, 서비스처리부 #2(300.2)에서는 원본파일에 대한 프로세스 수행에 따른 처리진행파일을 생성하여 스토리지(200)에 업로드(S350)하는 처리진행파일업로드단계를 수행한다.On the other hand, the plurality of service processing units (300.1, 300.2 and 300.N) monitor the request file uploaded to the storage 200 (S320, S330 and S340). As shown in FIG. 7, when it is determined that the service processing unit #2 (300.2) monitors the request file first or it is determined that the service processing unit #2 (300.2) performs the process on the original file according to a predetermined rule, the service In the processing unit #2 (300.2), a processing progress file upload step of creating a processing progress file according to the execution of the process on the original file and uploading it to the storage 200 (S350) is performed.

이때, 상기 처리진행파일업로드단계에서 생성하는 처리진행파일의 파일명에는 처리진행파일에 대한 확장자 및 해당 서비스처리부(300.2)의 고유식별정보를 포함할 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 원본파일의 파일명(*.hwp)의 뒤에 해당 서비스처리부(300.2)의 고유식별정보인 '.2', 그 뒤에 처리진행파일에 상응하는 확장자인 '.Work'를 포함하는 파일명을 갖는 처리진행파일을 생성할 수 있다.In this case, the file name of the processing in progress file generated in the processing in progress file upload step may include an extension for the processing in progress file and unique identification information of the corresponding service processing unit 300.2. For example, as shown in FIG. 7 , after the file name (*.hwp) of the original file, '.2', which is unique identification information of the corresponding service processing unit 300.2, followed by '. You can create a processing progress file with a file name including '.Work'.

따라서, 스토리지(200)에는 프로세스를 수행하는 서비스처리부(300.2)의 고유식별정보가 더 포함된 파일명을 갖는 처리진행파일(*.hwp.2.Work)이 업로드되고, 서비스요청부(100)는 처리진행파일에 포함된 고유식별정보에 기초하여 요청한 원본파일에 대하여 프로세스를 수행하고 있는 서비스처리부(300.2)를 식별할 수 있고, 타 서비스처리부(300.1 및 300.N)는 처리진행파일에 포함된 고유식별정보에 기초하여 원본파일에 대한 프로세스를 중복하여 수행하는 것을 방지할 수 있다.Accordingly, the processing progress file (*.hwp.2.Work) having a file name that further includes unique identification information of the service processing unit 300.2 that performs the process is uploaded to the storage 200, and the service request unit 100 is Based on the unique identification information included in the processing progress file, the service processing unit 300.2 performing the process on the requested original file can be identified, and the other service processing units 300.1 and 300.N are included in the processing progress file. It is possible to prevent the duplication of the process for the original file based on the unique identification information.

한편, 도 7에서는 원본파일의 파일명 뒤에 서비스처리부(300.1, 300.2, 및 300.N)의 고유식별정보가 붙고, 그 뒤에 처리진행파일에 해당하는 확장자가 붙는 것으로 도시되어 있으나, 순서는 다양하게 적용될 수 있으며, 서비스처리부(300.1, 300.2, 및 300.N)의 고유식별정보 또한 숫자뿐만 아니라 복수의 서비스처리부(300.1, 300.2, 및 300.N)들을 개별적으로 식별할 수 있는 고유한 형태의 값들을 모두 포함할 수 있다.On the other hand, in FIG. 7, it is shown that the unique identification information of the service processing units 300.1, 300.2, and 300.N is attached after the file name of the original file, followed by the extension corresponding to the processing progress file, but the order can be applied in various ways. In addition, the unique identification information of the service processing units (300.1, 300.2, and 300.N) is not only a number, but also a unique type of values that can individually identify the plurality of service processing units (300.1, 300.2, and 300.N). can include all of them.

도 8은 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 개략적으로 도시한다.8 schematically illustrates an internal configuration of a computing device according to an embodiment of the present invention.

상술한 도 1 및 도 2에 도시된 서비스요청부(100) 및 서비스처리부(300), 혹은 상기 서비스요청부(100) 및 서비스처리부(300)를 포함하는 컴퓨팅장치(1000)는 상기 도 8에 도시된 컴퓨팅장치(11000)의 구성요소들을 포함할 수 있다.The computing device 1000 including the service requesting unit 100 and the service processing unit 300, or the service requesting unit 100 and the service processing unit 300 shown in FIGS. 1 and 2, is shown in FIG. It may include components of the illustrated computing device 11000 .

도 8에 도시된 바와 같이, 컴퓨팅장치(11000)는 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/O subsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다. 이때, 컴퓨팅장치(11000)는 도 1 및 도 2에 도시된 서비스요청부(100) 및 서비스처리부(300), 혹은 상기 서비스요청부(100) 및 서비스처리부(300)를 포함하는 컴퓨팅장치(1000)에 해당될 수 있다.8, the computing device 11000 includes at least one processor 11100, a memory 11200, a peripheral interface 11300, an input/output subsystem ( It may include at least an I/O subsystem) 11400 , a power circuit 11500 , and a communication circuit 11600 . At this time, the computing device 11000 is a computing device 1000 including the service requesting unit 100 and the service processing unit 300 shown in FIGS. 1 and 2 , or the service requesting unit 100 and the service processing unit 300 . ) may be applicable.

메모리(11200)는 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(11200)는 컴퓨팅장치(11000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그 밖에 다양한 데이터를 포함할 수 있다.The memory 11200 may include, for example, high-speed random access memory, a magnetic disk, SRAM, DRAM, ROM, flash memory, or non-volatile memory. . The memory 11200 may include a software module, an instruction set, or other various data required for the operation of the computing device 11000 .

이때, 프로세서(11100)나 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 메모리(11200)에 액세스하는 것은 프로세서(11100)에 의해 제어될 수 있다.In this case, access to the memory 11200 from other components such as the processor 11100 or the peripheral device interface 11300 may be controlled by the processor 11100 .

주변장치 인터페이스(11300)는 컴퓨팅장치(11000)의 입력 및/또는 출력 주변장치를 프로세서(11100) 및 메모리 (11200)에 결합시킬 수 있다. 프로세서(11100)는 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 컴퓨팅장치(11000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.Peripheral interface 11300 may couple input and/or output peripherals of computing device 11000 to processor 11100 and memory 11200 . The processor 11100 may execute a software module or an instruction set stored in the memory 11200 to perform various functions for the computing device 11000 and process data.

입/출력 서브시스템은 다양한 입/출력 주변장치들을 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 입/출력 서브시스템은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서 등의 주변장치를 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 입/출력 주변장치들은 입/출력 서브시스템을 거치지 않고 주변장치 인터페이스(11300)에 결합될 수도 있다.The input/output subsystem may couple various input/output peripherals to the peripheral interface 11300 . For example, the input/output subsystem may include a controller for coupling a peripheral device such as a monitor or keyboard, mouse, printer, or a touch screen or sensor as required to the peripheral interface 11300 . According to another aspect, input/output peripherals may be coupled to peripheral interface 11300 without going through an input/output subsystem.

전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.The power circuit 11500 may supply power to all or some of the components of the terminal. For example, the power circuit 11500 may include a power management system, one or more power sources such as batteries or alternating current (AC), a charging system, a power failure detection circuit, a power converter or inverter, a power status indicator, or a power source. It may include any other components for creation, management, and distribution.

통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅장치와 통신을 가능하게 할 수 있다.The communication circuit 11600 may enable communication with another computing device using at least one external port.

또는 상술한 바와 같이 필요에 따라 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅장치와 통신을 가능하게 할 수도 있다.Alternatively, as described above, if necessary, the communication circuit 11600 may transmit and receive an RF signal, also known as an electromagnetic signal, including an RF circuit, thereby enabling communication with other computing devices.

이러한 도 8의 실시예는, 컴퓨팅장치(11000)의 일례일 뿐이고, 컴퓨팅장치(11000)는 도 8에 도시된 일부 컴포넌트가 생략되거나, 도 8에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅장치는 도 8에 도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(11600)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 컴퓨팅장치(11000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.This embodiment of FIG. 8 is only an example of the computing device 11000, and the computing device 11000 may omit some components shown in FIG. 8 or further include additional components not shown in FIG. 8, or 2 It may have a configuration or arrangement that combines two or more components. For example, a computing device for a communication terminal in a mobile environment may further include a touch screen or a sensor in addition to the components shown in FIG. 8 , and may include various communication methods (WiFi, 3G, LTE) in the communication circuit 11600 . , Bluetooth, NFC, Zigbee, etc.) may include a circuit for RF communication. Components that may be included in the computing device 11000 may be implemented in hardware, software, or a combination of both hardware and software including an integrated circuit specialized for one or more signal processing or applications.

본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 어플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 서비스요청부(100) 및 서비스처리부(300), 혹은 상기 서비스요청부(100) 및 서비스처리부(300)를 포함하는 컴퓨팅장치(1000)에 설치될 수 있다. 일 예로, 파일 배포 시스템은 서비스요청부(100) 및 서비스처리부(300), 혹은 상기 서비스요청부(100) 및 서비스처리부(300)를 포함하는 컴퓨팅장치(1000)의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.Methods according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computing devices and recorded in a computer-readable medium. In particular, the program according to the present embodiment may be configured as a PC-based program or an application dedicated to a mobile terminal. An application to which the present invention is applied is a computing device 1000 including a service requesting unit 100 and a service processing unit 300 or the service requesting unit 100 and a service processing unit 300 through a file provided by a file distribution system. ) can be installed. For example, the file distribution system transmits the file according to the request of the service requesting unit 100 and the service processing unit 300 , or the computing device 1000 including the service requesting unit 100 and the service processing unit 300 . and a file transfer unit (not shown).

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅장치 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computing devices, and may be stored or executed in a distributed manner. Software and data may be stored in 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 the embodiment may be implemented in the form of program instructions 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 recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes 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.

본 발명의 일 실시예에 따르면, 타 프로그램 혹은 타 프로세스를 직접적으로 호출하지 않고, 공유된 스토리지에 소정의 파일을 업로드 함으로써 타 프로세스와 연계하여 데이터를 처리하므로, 타 프로그램 혹은 타 프로세스가 오픈라이선스 기반인 경우에 타 프로그램 혹은 타 프로세스가 포함된 독립적인 시스템의 소스코드만 공개하면 되므로, 전체 시스템의 소스코드 공개를 회피할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, data is processed in connection with other processes by uploading a predetermined file to the shared storage without directly calling other programs or other processes, so that other programs or other processes are based on open licenses. In this case, since it is only necessary to disclose the source code of an independent system including other programs or other processes, it is possible to avoid the disclosure of the source code of the entire system.

본 발명의 일 실시예에 따르면, 본 시스템은 사용자의 요구에 따라 서버 외에도 PC를 기반으로 구현될 수 있으므로, 서버를 기반으로 구현되는 것과 비교하여 시스템 도입 비용을 줄일 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the present system can be implemented based on a PC in addition to the server according to the user's request, it is possible to exhibit the effect of reducing the system introduction cost compared to the server-based implementation.

본 발명의 일 실시예에 따르면, 프로그램 혹은 프로세스를 구동하는 디바이스가 서로 스토리지를 공유하는 경우에 프로그램 간 연계를 통해 데이터를 처리할 수 있으므로, PC, 서버 외의 다양한 디바이스 환경에서도 적용 가능한 효과를 발휘할 수 있다.According to an embodiment of the present invention, when devices running a program or process share storage with each other, data can be processed through linkage between programs, so it can exhibit effects applicable to various device environments other than PCs and servers. have.

본 발명의 일 실시예에 따르면, 서비스요청부 및 서비스처리부는 공유된 스토리지에 데이터 처리를 위한 파일을 생성하여 업로드하고, 스토리지에 업로드된 파일의 파일명에 기초하여 데이터 처리과정을 수행하므로, 데이터 처리를 위한 파일을 생성하는데 있어서 리소스를 최소화할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the service request unit and the service processing unit create and upload a file for data processing in the shared storage, and perform data processing based on the file name of the file uploaded to the storage, so that data processing is performed. It can have the effect of minimizing resources in creating a file for

본 발명의 일 실시예에 따르면, 서비스요청부는 스토리지에 업로드된 처리오류파일을 확인하여 요청한 데이터의 처리과정에서의 오류 내용을 용이하게 확인할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the service request unit can check the processing error file uploaded to the storage, thereby exhibiting the effect of easily checking the error content in the processing process of the requested data.

본 발명의 일 실시예에 따르면, 처리진행파일업로드단계에서 생성되는 처리진행파일은, 원본파일에 대하여 수행되는 프로세스의 진행정보를 포함하므로, 서비스요청부에서 처리진행파일을 확인하는 것으로 프로세스의 진행정보를 용이하게 확인할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the process progress file generated in the process progress file upload step includes progress information of the process performed on the original file, the process progresses by checking the process progress file in the service request unit It is possible to exert the effect that information can be easily checked.

본 발명의 일 실시예에 따르면, 처리진행파일의 파일명은 원본파일에 대하여 프로세스를 수행하는 서비스처리부의 고유식별정보를 포함하므로, 해당 프로세스를 수행하지 않는 타 서비스처리부 혹은 원본파일을 업로드한 서비스요청부에서 해당 프로세스를 수행하고 있는 특정 서비스처리부를 용이하게 인지할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the file name of the processing progress file includes unique identification information of the service processing unit that performs the process on the original file, another service processing unit that does not perform the corresponding process or a service request that uploads the original file It can exert the effect of easily recognizing the specific service processing unit that is performing the corresponding process in the department.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible by those skilled in the art from the above description. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result. Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (10)

스토리지를 공유하는 서비스요청부 및 서비스처리부 사이의 연계를 통해 소정의 프로세스를 수행하기 위한 방법으로서,
상기 서비스요청부 및 상기 서비스처리부 각각은 1 이상의 프로세서 및 1 이상의 메모리를 포함하고,
상기 소정의 프로세서를 수행하기 위한 방법은,
상기 서비스요청부에 의해, 상기 스토리지에 프로세스의 수행 대상이 되는 원본파일을 업로드하는 원본파일업로드단계;
상기 서비스요청부에 의해, 상기 원본파일에 대한 프로세스를 요청하기 위한 요청파일을 생성하여 상기 스토리지에 업로드하는 요청파일업로드단계;
상기 서비스처리부에 의해, 상기 스토리지에 상기 요청파일이 업로드되는 경우에 상기 요청파일에 상응하는 원본파일에 대하여 프로세스를 수행하는 프로세스수행단계;
상기 서비스처리부에 의해, 상기 원본파일에 대한 프로세스가 완료된 결과파일 및 상기 원본파일에 대한 프로세스가 완료되었음을 의미하는 처리완료파일을 생성하여 상기 스토리지에 업로드하는 프로세스완료단계; 및
상기 서비스요청부에 의해, 상기 스토리지에 상기 처리완료파일이 업로드되는 경우에 상기 원본파일에 대한 소정의 프로세스가 완료되었음을 확인하는 프로세스완료확인단계;를 포함하고,
상기 서비스처리부에 의하여 수행되는 프로세스는 AGPL 또는 GPL의 라이선스를 따르는 오픈소스 프로그램에 의하여 수행되는 프로세스인, 소정의 프로세스를 수행하기 위한 방법.
A method for performing a predetermined process through linkage between a service requesting unit and a service processing unit sharing storage,
Each of the service request unit and the service processing unit includes at least one processor and at least one memory,
The method for performing the predetermined processor,
an original file uploading step of uploading, by the service requesting unit, an original file to be performed in the storage;
a request file uploading step of generating, by the service requesting unit, a request file for requesting a process for the original file and uploading it to the storage;
a process performing step of performing, by the service processing unit, a process on an original file corresponding to the request file when the request file is uploaded to the storage;
a process completion step of generating, by the service processing unit, a result file on which the process on the original file is completed and a process completion file indicating that the process on the original file is completed, and uploading it to the storage; and
a process completion confirmation step of confirming, by the service request unit, that a predetermined process for the original file is completed when the processed file is uploaded to the storage;
A method for performing a predetermined process, wherein the process performed by the service processing unit is a process performed by an open source program conforming to AGPL or GPL license.
청구항 1에 있어서,
상기 프로세스수행단계는,
상기 원본파일에 대한 프로세스가 진행 중임을 의미하는 처리진행파일을 생성하여 상기 스토리지에 업로드하는 처리진행파일업로드단계;를 포함하는, 소정의 프로세스를 수행하기 위한 방법.
The method according to claim 1,
The process execution step is
A method for performing a predetermined process, including; a process in progress file upload step of creating a process in progress file indicating that the process of the original file is in progress and uploading it to the storage.
청구항 1에 있어서,
상기 소정의 프로세스를 수행하기 위한 방법은,
상기 서비스처리부에 의해, 상기 프로세스수행단계에서 상기 원본파일에 대한 프로세스가 수행되지 않는 경우에, 오류 내용을 포함하는 처리오류파일을 생성하여 상기 스토리지에 업로드하는 처리오류파일업로드단계; 및
상기 서비스요청부에 의해, 상기 처리오류파일업로드단계에서 상기 스토리지에 상기 처리오류파일이 업로드 되는 경우에, 상기 원본파일의 프로세스에 대한 오류 내용을 확인하는 오류확인단계;를 더 포함하는, 소정의 프로세스를 수행하기 위한 방법.
The method according to claim 1,
A method for performing the predetermined process,
a processing error file uploading step of generating, by the service processing unit, a processing error file including error contents and uploading it to the storage when the process on the original file is not performed in the process execution step; and
When the processing error file is uploaded to the storage in the processing error file uploading step, by the service request unit, an error checking step of checking error details for the process of the original file; A method for carrying out the process.
청구항 1에 있어서,
상기 요청파일 및 상기 처리완료파일 각각은 파일 내부에 내용이 존재하지 않고,
상기 서비스요청부는,
상기 스토리지에 업로드된 상기 처리완료파일에 해당하는 파일명에 기초하여 상기 프로세스완료확인단계를 수행하고,
상기 서비스처리부는,
상기 스토리지에 업로드된 상기 요청파일에 해당하는 파일명에 기초하여 상기 프로세스수행단계를 수행하는 것을 특징으로 하는, 소정의 프로세스를 수행하기 위한 방법.
The method according to claim 1,
Each of the request file and the processed file does not have content inside the file,
The service request unit,
performing the process completion confirmation step based on the file name corresponding to the processed file uploaded to the storage;
The service processing unit,
A method for performing a predetermined process, characterized in that performing the process execution step based on a file name corresponding to the requested file uploaded to the storage.
청구항 2에 있어서,
상기 처리진행파일업로드단계에서 생성되는 처리진행파일은,
상기 원본파일에 대하여 수행되는 상기 프로세스의 진행정보를 포함하는, 소정의 프로세스를 수행하기 위한 방법.
3. The method according to claim 2,
The processing progress file generated in the processing progress file upload step is,
A method for performing a predetermined process, including progress information of the process performed on the original file.
청구항 2에 있어서,
상기 처리진행파일업로드단계에서 생성되는 처리진행파일의 파일명은,
상기 원본파일에 대하여 프로세스를 수행하는 서비스처리부의 고유식별정보를 포함하는, 소정의 프로세스를 수행하기 위한 방법.
3. The method according to claim 2,
The file name of the processing progress file generated in the processing progress file upload step is,
A method for performing a predetermined process, including unique identification information of a service processing unit that performs a process on the original file.
청구항 1에 있어서,
상기 서비스요청부 및 상기 서비스처리부는,
폴링(Polling) 혹은 감시 폴더(Watch Folder) 방식을 사용하여 상기 스토리지에 업로드 되는 파일들을 모니터링하고, 업로드된 파일의 파일명에 기초하여 각 파일명에 상응하는 단계를 수행하는, 소정의 프로세스를 수행하기 위한 방법.
The method according to claim 1,
The service request unit and the service processing unit,
Monitoring the files uploaded to the storage using a polling or watch folder method, and performing a step corresponding to each file name based on the file name of the uploaded file, for performing a predetermined process Way.
청구항 2에 있어서,
상기 소정의 프로세스를 수행하기 위한 방법은,
상기 서비스처리부에 의해, 상기 프로세스수행단계에서 상기 원본파일에 대한 프로세스가 수행되지 않는 경우에, 오류 내용을 포함하는 처리오류파일을 생성하여 상기 스토리지에 업로드하는 처리오류파일업로드단계;를 더 포함하고,
상기 원본파일, 상기 처리진행파일, 상기 처리완료파일 및 상기 처리오류파일의 파일명 각각에는 파일별로 고유한 확장자를 포함하고,
상기 서비스요청부 및 상기 서비스처리부는,
상기 스토리지에 업로드되는 파일의 확장자에 기초하여 해당 확장자에 상응하는 단계를 수행하는, 소정의 프로세스를 수행하기 위한 방법.
3. The method according to claim 2,
A method for performing the predetermined process,
A processing error file upload step of generating a processing error file including error contents and uploading it to the storage by the service processing unit when the process on the original file is not performed in the process execution step; and ,
Each of the file names of the original file, the processing in progress file, the processing completed file and the processing error file includes a unique extension for each file,
The service request unit and the service processing unit,
Based on the extension of the file uploaded to the storage, performing a step corresponding to the extension, a method for performing a predetermined process.
스토리지를 공유하는 서비스요청부 및 서비스처리부를 포함하고, 상기 서비스요청부 및 상기 서비스처리부 사이의 연계를 통해 소정의 프로세스를 수행하는 시스템으로서,
상기 서비스요청부 및 상기 서비스처리부 각각은 1 이상의 프로세서 및 1 이상의 메모리를 포함하고,
상기 소정의 프로세스를 수행하는 시스템은,
상기 서비스요청부에 의해, 상기 스토리지에 프로세스의 수행 대상이 되는 원본파일을 업로드하는 원본파일업로드단계;
상기 서비스요청부에 의해, 상기 원본파일에 대한 프로세스를 요청하기 위한 요청파일을 생성하여 상기 스토리지에 업로드하는 요청파일업로드단계;
상기 서비스처리부에 의해, 상기 스토리지에 상기 요청파일이 업로드되는 경우에 상기 요청파일에 상응하는 원본파일에 대하여 프로세스를 수행하는 프로세스수행단계;
상기 서비스처리부에 의해, 상기 원본파일에 대한 프로세스가 완료된 결과파일 및 상기 원본파일에 대한 프로세스가 완료되었음을 의미하는 처리완료파일을 생성하여 상기 스토리지에 업로드하는 프로세스완료단계; 및
상기 서비스요청부에 의해, 상기 스토리지에 상기 처리완료파일이 업로드되는 경우에 상기 원본파일에 대한 소정의 프로세스가 완료되었음을 확인하는 프로세스완료확인단계;를 수행하고,
상기 서비스처리부에 의하여 수행되는 프로세스는 AGPL 또는 GPL의 라이선스를 따르는 오픈소스 프로그램에 의하여 수행되는 프로세스인, 소정의 프로세스를 수행하는 시스템.
A system comprising a service requesting unit and a service processing unit sharing storage, and performing a predetermined process through association between the service requesting unit and the service processing unit,
Each of the service request unit and the service processing unit includes at least one processor and at least one memory,
The system for performing the predetermined process,
an original file uploading step of uploading, by the service requesting unit, an original file to be performed in the storage;
a request file uploading step of generating, by the service requesting unit, a request file for requesting a process for the original file and uploading it to the storage;
a process performing step of performing, by the service processing unit, a process on an original file corresponding to the request file when the request file is uploaded to the storage;
a process completion step of generating, by the service processing unit, a result file on which the process on the original file is completed and a process completion file indicating that the process on the original file is completed, and uploading it to the storage; and
performing, by the service requesting unit, a process completion confirmation step of confirming that a predetermined process for the original file is completed when the processed file is uploaded to the storage;
A system for performing a predetermined process, wherein the process performed by the service processing unit is a process performed by an open source program conforming to AGPL or GPL license.
스토리지를 공유하고, 1 이상의 프로세서 및 1 이상의 메모리를 각각 포함하는 서비스요청부 및 서비스처리부 사이의 연계를 통해 소정의 프로세스를 수행하기 위한 명령이 저장되어 있는, 컴퓨터-판독가능 매체로서,
상기 명령이 상기 서비스요청부 및 상기 서비스처리부에 의해 실행되며,
상기 서비스요청부에 의해, 상기 스토리지에 프로세스의 수행 대상이 되는 원본파일을 업로드하는 원본파일업로드단계;
상기 서비스요청부에 의해, 상기 원본파일에 대한 프로세스를 요청하기 위한 요청파일을 생성하여 상기 스토리지에 업로드하는 요청파일업로드단계;
상기 서비스처리부에 의해, 상기 스토리지에 상기 요청파일이 업로드되는 경우에 상기 요청파일에 상응하는 원본파일에 대하여 프로세스를 수행하는 프로세스수행단계;
상기 서비스처리부에 의해, 상기 원본파일에 대한 프로세스가 완료된 결과파일 및 상기 원본파일에 대한 프로세스가 완료되었음을 의미하는 처리완료파일을 생성하여 상기 스토리지에 업로드하는 프로세스완료단계; 및
상기 서비스요청부에 의해, 상기 스토리지에 상기 처리완료파일이 업로드되는 경우에 상기 원본파일에 대한 소정의 프로세스가 완료되었음을 확인하는 프로세스완료확인단계;를 수행하게 하고,
상기 서비스처리부에 의하여 수행되는 프로세스는 AGPL 또는 GPL의 라이선스를 따르는 오픈소스 프로그램에 의하여 수행되는 프로세스인, 명령이 저장되어 있는 컴퓨터-판독가능 매체.
A computer-readable medium having stored thereon instructions for sharing storage and performing a predetermined process through an association between a service requesting unit and a service processing unit each including at least one processor and at least one memory,
The command is executed by the service request unit and the service processing unit,
an original file uploading step of uploading, by the service requesting unit, an original file to be performed in the storage;
a request file uploading step of generating, by the service requesting unit, a request file for requesting a process for the original file and uploading it to the storage;
a process performing step of performing, by the service processing unit, a process on an original file corresponding to the request file when the request file is uploaded to the storage;
a process completion step of generating, by the service processing unit, a result file on which the process on the original file is completed and a process completion file indicating that the process on the original file is completed, and uploading it to the storage; and
a process completion confirmation step of confirming that a predetermined process for the original file is completed when the processed file is uploaded to the storage by the service requesting unit;
A computer-readable medium storing instructions, wherein the process performed by the service processing unit is a process performed by an open source program conforming to AGPL or a license of the GPL.
KR1020200146495A 2020-11-05 2020-11-05 Method, Device, and Computer-readable Medium for Processing Data through Linkage between Processes that Share Storage KR102431555B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200146495A KR102431555B1 (en) 2020-11-05 2020-11-05 Method, Device, and Computer-readable Medium for Processing Data through Linkage between Processes that Share Storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200146495A KR102431555B1 (en) 2020-11-05 2020-11-05 Method, Device, and Computer-readable Medium for Processing Data through Linkage between Processes that Share Storage

Publications (2)

Publication Number Publication Date
KR20220060659A KR20220060659A (en) 2022-05-12
KR102431555B1 true KR102431555B1 (en) 2022-08-11

Family

ID=81590359

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200146495A KR102431555B1 (en) 2020-11-05 2020-11-05 Method, Device, and Computer-readable Medium for Processing Data through Linkage between Processes that Share Storage

Country Status (1)

Country Link
KR (1) KR102431555B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101569112B1 (en) 2014-10-06 2015-11-13 주식회사 벨트커뮤니케이션 System and method for converting utilizeuniversal document between different sysetm
JP2016512631A (en) 2013-02-15 2016-04-28 クアルコム,インコーポレイテッド Online behavior analysis engine on mobile devices using multiple analyzer model providers
KR101944792B1 (en) 2017-10-31 2019-02-01 주식회사 에벤에셀케이 Method, Device, and Computer-Readable Medium for Optimizing Images of compressed package files
KR102124499B1 (en) 2018-11-30 2020-06-19 주식회사 코레토 Method, apparatus and computer-readable medium of providing application service based on cloud service

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180099349A (en) * 2017-02-28 2018-09-05 주식회사 미디어로그 User terminal, and cloud service system including the same
KR102176190B1 (en) * 2018-09-18 2020-11-09 주식회사 에벤에셀케이 Document Sending Method based on Cloud system, Device, and Computer Program Thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016512631A (en) 2013-02-15 2016-04-28 クアルコム,インコーポレイテッド Online behavior analysis engine on mobile devices using multiple analyzer model providers
KR101569112B1 (en) 2014-10-06 2015-11-13 주식회사 벨트커뮤니케이션 System and method for converting utilizeuniversal document between different sysetm
KR101944792B1 (en) 2017-10-31 2019-02-01 주식회사 에벤에셀케이 Method, Device, and Computer-Readable Medium for Optimizing Images of compressed package files
KR102124499B1 (en) 2018-11-30 2020-06-19 주식회사 코레토 Method, apparatus and computer-readable medium of providing application service based on cloud service

Also Published As

Publication number Publication date
KR20220060659A (en) 2022-05-12

Similar Documents

Publication Publication Date Title
US10620943B2 (en) Distributed parallel build system
Castain et al. Pmix: process management for exascale environments
US9990319B2 (en) Placement of input / output adapter cards in a server
US10445013B2 (en) Method and device for storing data
US20120131468A1 (en) Template for optimizing it infrastructure configuration
US9397905B1 (en) Aggregated health check of a multi-tenant service container
JP7100941B2 (en) A memory access broker system that supports application-controlled early write acknowledgments
US9645814B1 (en) Generating and publishing applications for multiple platforms
US20150161023A1 (en) Distributed debugging of an application in a distributed computing environment
US10725890B1 (en) Program testing service
US9183065B1 (en) Providing access to an application programming interface through a named pipe
US20210336994A1 (en) Attestation support for elastic cloud computing environments
CN103597453B (en) For testing the operator message order of coupling facility
JP2022541929A (en) Method and apparatus for issuing smart contracts
US20140331205A1 (en) Program Testing Service
US10929573B2 (en) Systems and methods for designing and modeling products in a cloud environment
KR102431555B1 (en) Method, Device, and Computer-readable Medium for Processing Data through Linkage between Processes that Share Storage
US10001982B1 (en) Imposing a common build system for services from disparate sources
US9189299B2 (en) Framework for system communication for handling data
US20220114023A1 (en) Infrastructure as code deployment mechanism
US9836315B1 (en) De-referenced package execution
US9672138B1 (en) Enabling communication between an application developer and an application tester
US11178216B2 (en) Generating client applications from service model descriptions
US10169007B1 (en) Service provider network integrated compilation service and runtime system
KR20220063955A (en) Method, Device, and Computer-readable Medium for Image Compressing through Processes Sharing Storage

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant