KR102500742B1 - Format conversion task allocating apparatus for supporting efficient format conversion task of document files, by mixing synchronous and asynchronous ways, and the operating method thereof - Google Patents

Format conversion task allocating apparatus for supporting efficient format conversion task of document files, by mixing synchronous and asynchronous ways, and the operating method thereof Download PDF

Info

Publication number
KR102500742B1
KR102500742B1 KR1020210088364A KR20210088364A KR102500742B1 KR 102500742 B1 KR102500742 B1 KR 102500742B1 KR 1020210088364 A KR1020210088364 A KR 1020210088364A KR 20210088364 A KR20210088364 A KR 20210088364A KR 102500742 B1 KR102500742 B1 KR 102500742B1
Authority
KR
South Korea
Prior art keywords
format conversion
document file
matrix
server
format
Prior art date
Application number
KR1020210088364A
Other languages
Korean (ko)
Other versions
KR20230007705A (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 KR1020210088364A priority Critical patent/KR102500742B1/en
Publication of KR20230007705A publication Critical patent/KR20230007705A/en
Application granted granted Critical
Publication of KR102500742B1 publication Critical patent/KR102500742B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Abstract

동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치 및 그 동작 방법이 개시된다. 본 발명은 클라이언트 단말로부터, 문서 파일이 수신되면서, 상기 문서 파일에 대한 포맷 변환 요청이 수신되면, 사전 지정된 복수의 포맷 변환 서버들 중 작업 대상 서버를 선택한 후, 상기 작업 대상 서버에 대해, 사전 설정된 제1 시간 동안에는 동기 방식으로, 상기 제1 시간이 경과한 이후에는 비동기 방식으로 상기 문서 파일에 대한 포맷 변환 작업을 수행할 것을 지시하는 포맷 변환 작업 할당 장치 및 그 동작 방법에 대한 것이다.Disclosed are a format conversion task allocator and an operation method thereof that support efficiently converting a format of a document file by using both a synchronous method and an asynchronous method. In the present invention, when a document file is received from a client terminal and a format conversion request for the document file is received, after selecting a work target server from among a plurality of pre-designated format conversion servers, a preset An apparatus for assigning a format conversion task for instructing to perform a format conversion task for a document file in a synchronous manner during a first time period and in an asynchronous manner after the lapse of the first time period, and an operation method thereof.

Description

동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치 및 그 동작 방법{FORMAT CONVERSION TASK ALLOCATING APPARATUS FOR SUPPORTING EFFICIENT FORMAT CONVERSION TASK OF DOCUMENT FILES, BY MIXING SYNCHRONOUS AND ASYNCHRONOUS WAYS, AND THE OPERATING METHOD THEREOF}A format conversion task allocator that supports efficient format conversion of document files by using a combination of synchronous and asynchronous methods and its operation method SYNCHRONOUS AND ASYNCHRONOUS WAYS, AND THE OPERATING METHOD THEREOF}

본 발명은 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치 및 그 동작 방법에 대한 것이다.The present invention relates to a format conversion task allocator and an operating method thereof that support efficient conversion of a document file format by using a combination of a synchronous method and an asynchronous method.

최근, 다양한 종류의 문서 열람 및 편집 프로그램들이 등장함에 따라, 이러한 프로그램들에서 호환되는 다양한 종류의 전자 문서 포맷들이 등장하고 있다. 예컨대, 'docx', 'hwp', 'pdf' 등과 같은 확장자를 갖는 다양한 문서 포맷이 존재한다.Recently, as various types of document viewing and editing programs have emerged, various types of electronic document formats compatible with these programs have emerged. For example, there are various document formats having extensions such as 'docx', 'hwp', 'pdf', and the like.

아울러, 최근에는 기업 등과 같은 각종 기관에서 업무의 효율성을 높이기 위해, 브라우저 상에서 다양한 전자 문서를 열람하고, 작성할 수 있도록 하는 웹 기반의 업무 시스템을 도입하는 경우가 증가하고 있다.In addition, in recent years, in order to increase work efficiency in various organizations such as companies, web-based work systems that allow users to read and create various electronic documents on a browser are increasingly being introduced.

이러한 웹 기반의 업무 시스템은 브라우저 상에 문서 작성이 가능하도록 하는 웹 에디터가 탑재되어 있어서, 사용자가 브라우저를 통해 웹 에디터를 구동한 후 상기 웹 에디터를 통해 다양한 문서를 열람 및 작성할 수 있도록 지원하며, 이렇게 문서 작성이 완료되면, 작성이 완료된 문서를 다른 사용자에게 공유할 수 있도록 지원하고 있다.Such a web-based business system is equipped with a web editor capable of creating documents on a browser, and supports a user to view and write various documents through the web editor after driving the web editor through the browser, When the document creation is completed in this way, it is supported to share the completed document with other users.

웹 기반의 업무 시스템에서는 전자 문서가 브라우저 상에 표시되어야 하기 때문에 HTML(Hypertext Markup Language)과 같이 마크업 언어 포맷으로 구성된 웹 문서가 주로 사용된다.In a web-based business system, since an electronic document must be displayed on a browser, a web document composed of a markup language format such as HTML (Hypertext Markup Language) is mainly used.

이렇게, 다양한 포맷의 전자 문서가 사용됨에 따라, 특정 포맷으로 생성된 문서 파일을 다른 포맷으로 변환할 수 있는 포맷 변환 기능의 중요성이 증가하고 있다. 예컨대, 'docx'의 확장자 포맷으로 작성된 문서 파일을 'hwp'의 확장자 포맷의 문서 파일로 변환하거나, 'hwp'의 확장자 포맷으로 작성된 문서 파일을 HTML 기반의 웹 문서로 변환하는 포맷 변환 기능의 중요성이 증가하고 있다.In this way, as electronic documents of various formats are used, the importance of a format conversion function capable of converting a document file created in a specific format into another format is increasing. For example, the importance of the format conversion function that converts a document file with the extension format of 'docx' into a document file with the extension format of 'hwp' or converts a document file with the extension format of 'hwp' into an HTML-based web document. this is increasing

이와 관련해서, 문서 파일의 포맷 변환 기능을 지원하는 기존의 포맷 변환 서비스에서는, 주로 동기(synchronous) 방식이나 비동기(asynchronous) 방식으로 문서 파일의 포맷 변환 작업을 수행하는 경우가 많다.In this regard, in an existing format conversion service that supports a format conversion function of a document file, format conversion of a document file is performed in a synchronous or asynchronous manner in many cases.

여기서, 동기 방식은 문서 파일의 포맷 변환이 완료될 때까지 대기하였다가, 문서 파일의 포맷 변환이 완료되면, 포맷 변환이 완료된 문서 파일을 결과물로 획득하는 방식을 의미하고, 비동기 방식은 소정 주기 간격으로 문서 파일의 포맷 변환이 완료되었는지를 체크하여 특정 주기에서 체크하였을 때, 문서 파일의 포맷 변환이 완료된 것으로 확인되면, 포맷 변환이 완료된 문서 파일을 결과물로 획득하는 방식을 의미한다.Here, the synchronous method means a method of waiting until the format conversion of the document file is completed, and then acquiring the document file whose format conversion is completed as a result when the format conversion of the document file is completed, and the asynchronous method means a method of obtaining a document file whose format conversion is completed as a result. It means a method of checking whether the format conversion of the document file has been completed and obtaining the format conversion completed document file as a result if it is confirmed that the format conversion of the document file has been completed when the check is performed at a specific period.

관련해서, 동기 방식으로 문서 파일의 포맷 변환 작업을 수행하는 경우에는, 문서 파일의 포맷 변환 작업이 완료될 때까지, 사용자에게 포맷 변환 작업의 작업 완료율에 대한 정보를 제공할 수 없다는 문제점이 있었다. 또한, 비동기 방식으로 문서 파일의 포맷 변환 작업을 수행하는 경우에는, 포맷 변환 작업이 수행되는 동안 사용자에게 작업 완료율에 대한 정보를 제공할 수 있지만, 문서 파일의 파일 크기가 작다면 동기 방식으로 포맷 변환 작업을 수행하는 경우보다 더 많은 시간이 소요될 수 있다는 문제점이 있었다.In this regard, when the document file format conversion operation is performed in a synchronous manner, there is a problem in that information on the completion rate of the format conversion operation cannot be provided to the user until the document file format conversion operation is completed. In addition, when the format conversion of the document file is performed in an asynchronous manner, information on the completion rate of the work can be provided to the user while the format conversion is being performed. However, if the file size of the document file is small, the format conversion is performed in a synchronous manner. There was a problem that it could take more time than the case of performing the task.

만약, 동기 방식과 비동기 방식을 적절하게 혼용하여 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 기술이 도입된다면, 보다 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있을 것이다.If a technology is introduced to support the format conversion of a document file by appropriately mixing a synchronous method and an asynchronous method, the document file format conversion can be performed more efficiently.

따라서, 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 기술에 대한 연구가 필요하다.Therefore, it is necessary to study a technology that can efficiently convert the format of a document file by using a combination of a synchronous method and an asynchronous method.

본 발명은 클라이언트 단말로부터, 문서 파일이 수신되면서, 상기 문서 파일에 대한 포맷 변환 요청이 수신되면, 사전 지정된 복수의 포맷 변환 서버들 중 작업 대상 서버를 선택한 후, 상기 작업 대상 서버에 대해, 사전 설정된 제1 시간 동안에는 동기 방식으로, 상기 제1 시간이 경과한 이후에는 비동기 방식으로 상기 문서 파일에 대한 포맷 변환 작업을 수행할 것을 지시하는 포맷 변환 작업 할당 장치 및 그 동작 방법을 제시함으로써, 보다 효율적으로 문서 파일의 포맷 변환 작업이 수행될 수 있도록 지원하고자 한다.In the present invention, when a document file is received from a client terminal and a format conversion request for the document file is received, after selecting a work target server from among a plurality of pre-designated format conversion servers, a preset By presenting a format conversion task allocating device and method of operating the same, which instructs to perform the format conversion task for the document file in a synchronous manner during the first time and in an asynchronous manner after the first time has elapsed, We want to support the format conversion of document files.

본 발명의 일실시예에 따른 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치는 클라이언트 단말로부터, 문서 파일이 수신되면서, 상기 문서 파일에 대한 포맷 변환 요청이 수신되면, 사전 지정된 복수의 포맷 변환 서버들 중 어느 하나의 포맷 변환 서버를 상기 문서 파일의 포맷 변환 작업을 수행할 작업 대상 서버로 선택하는 서버 선택부, 상기 작업 대상 서버가 선택되면, 동기(synchronous) 방식으로 상기 문서 파일의 포맷 변환 작업을 수행하기 위한 동기 변환 이벤트를 발생시키는 동기 변환 이벤트 발생부, 상기 동기 변환 이벤트가 발생되면, 상기 작업 대상 서버로, 상기 문서 파일과, 상기 문서 파일의 포맷 변환 작업을 수행할 것을 지시하는 작업 지시 명령을 전송함과 동시에, 상기 작업 대상 서버로 인보크(invoke) 조건 - 상기 인보크 조건은 상기 작업 대상 서버에서 상기 문서 파일의 포맷 변환 작업이 완료되면, 작업 완료 메시지를 생성하여 상기 포맷 변환 작업 할당 장치로 피드백할 것을 인보크시키는 조건임 - 을 설정할 것을 지시하는 조건 설정 명령을 전송하는 명령 전송부, 상기 작업 대상 서버로 상기 조건 설정 명령이 전송된 시점으로부터 사전 설정된 제1 시간이 경과하기 전에, 상기 작업 대상 서버에서 상기 문서 파일의 포맷 변환 작업이 완료됨에 따라, 상기 작업 대상 서버로부터 상기 작업 완료 메시지가 피드백되면, 상기 작업 대상 서버로, 포맷이 변환된 상기 문서 파일의 전송 요청을 전송하고, 상기 작업 대상 서버로부터, 포맷이 변환된 상기 문서 파일이 수신되면, 포맷이 변환된 상기 문서 파일을 상기 클라이언트 단말로 전송하는 제1 문서 파일 전송부, 상기 작업 대상 서버로 상기 조건 설정 명령이 전송된 시점으로부터 상기 제1 시간이 경과할 때까지, 상기 작업 대상 서버로부터 상기 작업 완료 메시지가 피드백되지 않는 경우, 비동기(asynchronous) 방식으로 상기 문서 파일의 포맷 변환 작업을 수행하기 위한 비동기 변환 이벤트를 발생시키는 비동기 변환 이벤트 발생부, 상기 비동기 변환 이벤트가 발생되면, 상기 작업 대상 서버로, 상기 인보크 조건을 제거할 것을 지시하는 조건 제거 명령을 전송하는 조건 제거 명령 전송부, 상기 작업 대상 서버로 상기 조건 제거 명령이 전송되면, 사전 설정된 확인 주기 간격으로 상기 작업 대상 서버에 접속하여, 상기 문서 파일의 포맷 변환 작업이 완료되었는지 여부를 확인하는 작업 확인부 및 상기 작업 확인부에 의해, t(t는 자연수임)번째 확인 주기에서, 상기 문서 파일의 포맷 변환 작업이 완료된 것으로 확인되면, 상기 작업 대상 서버로, 포맷이 변환된 상기 문서 파일의 전송 요청을 전송하고, 상기 작업 대상 서버로부터, 포맷이 변환된 상기 문서 파일이 수신되면, 포맷이 변환된 상기 문서 파일을 상기 클라이언트 단말로 전송하는 제2 문서 파일 전송부를 포함한다.According to an embodiment of the present invention, an apparatus for assigning a format conversion task that supports efficiently converting a format of a document file by using a combination of a synchronous method and an asynchronous method, while a document file is received from a client terminal, the document file When a format conversion request is received, a server selection unit for selecting one of a plurality of pre-designated format conversion servers as a work target server to perform the format conversion of the document file, the work target server If selected, a synchronous conversion event generation unit generating a synchronous conversion event for performing the format conversion of the document file in a synchronous manner. When the synchronous conversion event occurs, the document file and , Invoke condition to the work target server while transmitting a work instruction command instructing the format conversion of the document file to be performed - the invoke condition is the format of the document file in the work target server When the conversion job is completed, a condition for invoking a job completion message to be fed back to the format conversion job allocator - a command transmitter for transmitting a condition setting command instructing to set the condition to the job target server When the job completion message is fed back from the job target server as the format conversion job of the document file is completed in the job target server before the first preset time elapses from the time when the setting command is transmitted, the job target server A first step of transmitting a transmission request of the document file whose format has been converted to a server, and when the document file whose format has been converted is received from the work target server, the document file whose format has been converted is transmitted to the client terminal. When the task completion message is not fed back from the document file transmission unit until the first time elapses from the time when the condition setting command is transmitted to the task server, the task server performs an asynchronous operation. remind An asynchronous conversion event generating unit generating an asynchronous conversion event for performing a format conversion of a document file, and a condition removal command instructing the server to remove the invoke condition when the asynchronous conversion event occurs A condition removal command transmission unit to transmit, when the condition removal command is transmitted to the work target server, an operation of connecting to the work target server at a predetermined check interval and confirming whether the format conversion of the document file has been completed. If it is confirmed by the confirmation unit and the job confirmation unit that the format conversion operation of the document file is completed in the t (t is a natural number) th confirmation cycle, transmission of the format-converted document file to the job target server and a second document file transmitter for transmitting a request and, when the format-converted document file is received from the work target server, transmitting the format-converted document file to the client terminal.

또한, 본 발명의 일실시예에 따른 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치의 동작 방법은 클라이언트 단말로부터, 문서 파일이 수신되면서, 상기 문서 파일에 대한 포맷 변환 요청이 수신되면, 사전 지정된 복수의 포맷 변환 서버들 중 어느 하나의 포맷 변환 서버를 상기 문서 파일의 포맷 변환 작업을 수행할 작업 대상 서버로 선택하는 단계, 상기 작업 대상 서버가 선택되면, 동기 방식으로 상기 문서 파일의 포맷 변환 작업을 수행하기 위한 동기 변환 이벤트를 발생시키는 단계, 상기 동기 변환 이벤트가 발생되면, 상기 작업 대상 서버로, 상기 문서 파일과, 상기 문서 파일의 포맷 변환 작업을 수행할 것을 지시하는 작업 지시 명령을 전송함과 동시에, 상기 작업 대상 서버로 인보크 조건 - 상기 인보크 조건은 상기 작업 대상 서버에서 상기 문서 파일의 포맷 변환 작업이 완료되면, 작업 완료 메시지를 생성하여 상기 포맷 변환 작업 할당 장치로 피드백할 것을 인보크시키는 조건임 - 을 설정할 것을 지시하는 조건 설정 명령을 전송하는 단계, 상기 작업 대상 서버로 상기 조건 설정 명령이 전송된 시점으로부터 사전 설정된 제1 시간이 경과하기 전에, 상기 작업 대상 서버에서 상기 문서 파일의 포맷 변환 작업이 완료됨에 따라, 상기 작업 대상 서버로부터 상기 작업 완료 메시지가 피드백되면, 상기 작업 대상 서버로, 포맷이 변환된 상기 문서 파일의 전송 요청을 전송하고, 상기 작업 대상 서버로부터, 포맷이 변환된 상기 문서 파일이 수신되면, 포맷이 변환된 상기 문서 파일을 상기 클라이언트 단말로 전송하는 단계, 상기 작업 대상 서버로 상기 조건 설정 명령이 전송된 시점으로부터 상기 제1 시간이 경과할 때까지, 상기 작업 대상 서버로부터 상기 작업 완료 메시지가 피드백되지 않는 경우, 비동기 방식으로 상기 문서 파일의 포맷 변환 작업을 수행하기 위한 비동기 변환 이벤트를 발생시키는 단계, 상기 비동기 변환 이벤트가 발생되면, 상기 작업 대상 서버로, 상기 인보크 조건을 제거할 것을 지시하는 조건 제거 명령을 전송하는 단계, 상기 작업 대상 서버로 상기 조건 제거 명령이 전송되면, 사전 설정된 확인 주기 간격으로 상기 작업 대상 서버에 접속하여, 상기 문서 파일의 포맷 변환 작업이 완료되었는지 여부를 확인하는 단계 및 상기 문서 파일의 포맷 변환 작업이 완료되었는지 여부를 확인하는 단계에 의해, t(t는 자연수임)번째 확인 주기에서, 상기 문서 파일의 포맷 변환 작업이 완료된 것으로 확인되면, 상기 작업 대상 서버로, 포맷이 변환된 상기 문서 파일의 전송 요청을 전송하고, 상기 작업 대상 서버로부터, 포맷이 변환된 상기 문서 파일이 수신되면, 포맷이 변환된 상기 문서 파일을 상기 클라이언트 단말로 전송하는 단계를 포함한다.In addition, according to an embodiment of the present invention, a method of operating an apparatus for converting a format conversion task that supports efficiently converting a format of a document file by using a combination of a synchronous method and an asynchronous method is to receive a document file from a client terminal. When a format conversion request for the document file is received, selecting one of a plurality of pre-designated format conversion servers as a work target server to perform the format conversion of the document file, the task If a target server is selected, generating a synchronous conversion event for performing a format conversion of the document file in a synchronous manner. If the synchronous conversion event occurs, the document file and the document file are transmitted to the target server. At the same time as sending a job instruction command instructing to perform a format conversion job, an invoke condition to the job target server - the invoke condition is that when the format conversion job of the document file is completed in the job target server, the job Transmitting a condition setting command instructing to set a condition for invoking a completion message to be fed back to the format conversion task allocator, set in advance from the time when the condition setting command is transmitted to the work target server Before the first time elapses, when the job completion message is fed back from the job server as the format conversion job of the document file is completed in the job server, the document whose format is converted to the job server Transmitting a file transmission request, and when the document file whose format is converted is received from the work target server, transmitting the format-converted document file to the client terminal; the condition setting command to the work target server When the task completion message is not fed back from the task target server until the first time elapses from the time of transmission, generating an asynchronous conversion event for performing the format conversion task of the document file in an asynchronous manner. step, the above If a pre-conversion event occurs, transmitting a condition removal command instructing to remove the invoke condition to the work target server, at a predetermined check interval when the condition removal command is transmitted to the work target server. By connecting to the work target server, checking whether the format conversion of the document file has been completed, and checking whether the format conversion of the document file has been completed, the t (t is a natural number) th In the confirmation cycle, if it is confirmed that the format conversion of the document file is completed, a transfer request of the format-converted document file is transmitted to the work target server, and the format-converted document file is transmitted from the work target server. When the document file is received, transmitting the document file whose format has been converted to the client terminal.

본 발명은 클라이언트 단말로부터, 문서 파일이 수신되면서, 상기 문서 파일에 대한 포맷 변환 요청이 수신되면, 사전 지정된 복수의 포맷 변환 서버들 중 작업 대상 서버를 선택한 후, 상기 작업 대상 서버에 대해, 사전 설정된 제1 시간 동안에는 동기 방식으로, 상기 제1 시간이 경과한 이후에는 비동기 방식으로 상기 문서 파일에 대한 포맷 변환 작업을 수행할 것을 지시하는 포맷 변환 작업 할당 장치 및 그 동작 방법을 제시함으로써, 보다 효율적으로 문서 파일의 포맷 변환 작업이 수행될 수 있도록 지원할 수 있다.In the present invention, when a document file is received from a client terminal and a format conversion request for the document file is received, after selecting a work target server from among a plurality of pre-designated format conversion servers, a preset By presenting a format conversion task allocating device and method of operating the same, which instructs to perform the format conversion task for the document file in a synchronous manner during the first time and in an asynchronous manner after the first time has elapsed, It can support the format conversion of document files to be performed.

도 1은 본 발명의 일실시예에 따른 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치의 동작 방법을 도시한 순서도이다.
FIG. 1 is a diagram showing the structure of a format conversion task allocator that supports efficiently converting the format of a document file by using a combination of a synchronous method and an asynchronous method according to an embodiment of the present invention.
FIG. 2 is a flowchart illustrating an operating method of a format conversion task allocator that supports efficiently converting a format of a document file by using a combination of a synchronous method and an asynchronous method according to an embodiment of the present invention.

이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. This description is not intended to limit the present invention to specific embodiments, but should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, similar reference numerals have been used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, are common knowledge in the art to which the present invention belongs. has the same meaning as commonly understood by the person who has it.

본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다. In this document, when a certain component is said to "include", it means that it may further include other components without excluding other components unless otherwise stated. In addition, in various embodiments of the present invention, each component, functional block, or means may be composed of one or more sub-components, and the electrical, electronic, and mechanical functions performed by each component are electronic It may be implemented with various known elements or mechanical elements such as circuits, integrated circuits, ASICs (Application Specific Integrated Circuits), and may be implemented separately or two or more may be integrated into one.

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks of the accompanying block diagram or the steps of the flowchart are computer program instructions that perform designated functions by being loaded into a processor or memory of a device capable of data processing, such as a general-purpose computer, a special purpose computer, a portable notebook computer, and a network computer. can be interpreted as meaning Since these computer program instructions may be stored in a memory included in a computer device or in a computer readable memory, the functions described in blocks of a block diagram or steps of a flowchart are produced as a product containing instruction means for performing them. It could be. Further, each block or each step may represent a module, segment or portion of code that includes one or more executable instructions for executing specified logical function(s). Also, it should be noted that in some alternative embodiments, functions mentioned in blocks or steps may be executed out of a predetermined order. For example, two blocks or steps shown in succession may be performed substantially simultaneously or in reverse order, and in some cases, some blocks or steps may be omitted.

도 1은 본 발명의 일실시예에 따른 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치의 구조를 도시한 도면이다.FIG. 1 is a diagram showing the structure of a format conversion task allocator that supports efficiently converting the format of a document file by using a combination of a synchronous method and an asynchronous method according to an embodiment of the present invention.

도 1을 참조하면, 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치(110)는 서버 선택부(111), 동기 변환 이벤트 발생부(112), 명령 전송부(113), 제1 문서 파일 전송부(114), 비동기 변환 이벤트 발생부(115), 조건 제거 명령 전송부(116), 작업 확인부(117) 및 제2 문서 파일 전송부(118)를 포함한다.Referring to FIG. 1, a format conversion task allocator 110 that supports efficiently converting a format of a document file by using a combination of a synchronous method and an asynchronous method includes a server selection unit 111 and a synchronous conversion event generating unit. 112, command transmission unit 113, first document file transmission unit 114, asynchronous conversion event generation unit 115, condition removal command transmission unit 116, job confirmation unit 117, and second document file A transmission unit 118 is included.

서버 선택부(111)는 클라이언트 단말(140)로부터, 문서 파일이 수신되면서, 상기 문서 파일에 대한 포맷 변환 요청이 수신되면, 사전 지정된 복수의 포맷 변환 서버들(151, 152, 153) 중 어느 하나의 포맷 변환 서버를 상기 문서 파일의 포맷 변환 작업을 수행할 작업 대상 서버로 선택한다.When a document file is received from the client terminal 140 and a format conversion request for the document file is received, the server selector 111 selects one of a plurality of pre-designated format conversion servers 151, 152, and 153. A format conversion server of the document file is selected as a work target server to perform the format conversion work of the document file.

이때, 본 발명의 일실시예에 따르면, 서버 선택부(111)는 상기 복수의 포맷 변환 서버들(151, 152, 153) 중 어느 하나의 포맷 변환 서버를 상기 작업 대상 서버로 선택하기 위한 구체적인 구성으로, 정보 저장부(119), 서버 확인부(120), 파일 특징 벡터 생성부(121), 서버 특징 벡터 생성부(122), 거리 연산부(123) 및 선택 처리부(124)를 포함할 수 있다.At this time, according to an embodiment of the present invention, the server selector 111 has a specific configuration for selecting one of the plurality of format conversion servers 151, 152, and 153 as the target server. , an information storage unit 119, a server confirmation unit 120, a file feature vector generator 121, a server feature vector generator 122, a distance calculation unit 123, and a selection processing unit 124 may be included. .

정보 저장부(119)에는 복수의 포맷 변환 서버들(151, 152, 153) 각각에 대응되는 것으로 사전 설정된 서로 다른 작업 할당 기준 정보가 저장되어 있다.In the information storage unit 119, different job assignment reference information preset to correspond to each of the plurality of format conversion servers 151, 152, and 153 is stored.

여기서, 상기 작업 할당 기준 정보는 복수의 포맷 변환 서버들(151, 152, 153) 중 상기 작업 대상 서버를 선택하기 위한 기준치를 의미하는 정보로, 상기 작업 할당 기준 정보에는, 각 포맷 변환 서버에 대응되는 것으로 사전 설정된 기준 파일 크기 값과 기준 개체 수가 쌍으로 포함되어 있다.Here, the job assignment reference information is information indicating a reference value for selecting the target server from among the plurality of format conversion servers 151, 152, and 153, and the job assignment reference information includes It includes a preset standard file size value and a standard number of objects in pairs.

관련해서, 복수의 포맷 변환 서버들(151, 152, 153)을 '포맷 변환 서버 1(151), 포맷 변환 서버 2(152), 포맷 변환 서버 3(153)'이라고 하는 경우, 정보 저장부(119)에는 하기의 표 1과 같은 '포맷 변환 서버 1(151), 포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 각각에 대응되는 것으로 사전 설정된 서로 다른 작업 할당 기준 정보가 저장되어 있을 수 있다.In this regard, when the plurality of format conversion servers 151, 152, and 153 are referred to as 'format conversion server 1 151, format conversion server 2 152, and format conversion server 3 153', the information storage unit ( 119) stores different job allocation reference information preset as corresponding to 'format conversion server 1 (151), format conversion server 2 (152), and format conversion server 3 (153)' as shown in Table 1 below. There may be.

포맷 변환 서버format conversion server 작업 할당 기준 정보About Work Assignment Criteria 기준 파일 크기 값 (KB)Baseline file size value (KB) 기준 개체 수 (개)Standard number of objects (pieces) 포맷 변환 서버 1(151)Format Conversion Server 1 (151) 100100 1010 포맷 변환 서버 2(152)Format Conversion Server 2 (152) 200200 2020 포맷 변환 서버 3(153)Format Conversion Server 3 (153) 500500 5050

서버 확인부(120)는 클라이언트 단말(140)로부터, 상기 문서 파일이 수신되면서, 상기 문서 파일에 대한 포맷 변환 요청이 수신되면, 복수의 포맷 변환 서버들(151, 152, 153)과 접속하여, 복수의 포맷 변환 서버들(151, 152, 153) 중 유휴(idle)상태인 포맷 변환 서버가 존재하는지 여부를 확인한다.When the document file is received from the client terminal 140 and a format conversion request for the document file is received, the server confirmation unit 120 connects to a plurality of format conversion servers 151, 152, and 153, It is checked whether there exists an idle format conversion server among the plurality of format conversion servers 151, 152, and 153.

파일 특징 벡터 생성부(121)는 상기 복수의 포맷 변환 서버들 중 유휴상태인 포맷 변환 서버로, 적어도 하나의 제1 포맷 변환 서버가 존재하는 것으로 확인되면, 상기 문서 파일의 파일 크기 값을 확인하고, 상기 문서 파일에 따른 문서 내에 삽입되어 있는 개체의 개수를 카운트한 후, 상기 문서 파일의 파일 크기 값과 상기 개체의 개수를 성분으로 갖는 2차원의 벡터를 구성함으로써, 상기 문서 파일에 대응되는 특징 벡터를 생성한다.The file feature vector generation unit 121 is an idle format conversion server among the plurality of format conversion servers, and if it is confirmed that at least one first format conversion server exists, checks the file size value of the document file and , After counting the number of objects inserted into the document according to the document file, a two-dimensional vector having the file size value of the document file and the number of objects as components is constructed, thereby corresponding to the document file. create a vector

여기서, 개체란 전자 문서 내에 삽입되어 있는 도형, 표, 이미지 등과 같은 아이템을 의미한다.Here, an object means an item such as a figure, table, image, etc. inserted into an electronic document.

서버 특징 벡터 생성부(122)는 정보 저장부(119)를 참조하여, 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대응되는 기준 파일 크기 값과 기준 개체 수를 확인한 후, 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대해, 각 포맷 변환 서버에 대응되는 기준 파일 크기 값과 기준 개체 수를 성분으로 갖는 2차원의 벡터를 구성함으로써, 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대한 특징 벡터를 생성한다.The server feature vector generator 122 refers to the information storage unit 119, checks the reference file size value and the reference object number corresponding to each of the at least one first format conversion server, and then determines the at least one first format conversion server. For each format conversion server, a feature vector for each of the at least one first format conversion server is generated by constructing a two-dimensional vector having a reference file size value corresponding to each format conversion server and a reference object number as components. do.

거리 연산부(123)는 상기 문서 파일에 대응되는 특징 벡터와 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대응되는 특징 벡터 간의 유클리드 거리(Euclidean distance)를 연산한다.The distance calculation unit 123 calculates a Euclidean distance between a feature vector corresponding to the document file and a feature vector corresponding to each of the at least one first format conversion server.

여기서, 유클리드 거리란 두 개의 벡터가 존재한다고 하였을 때, 두 벡터 간의 거리를 의미하는 것으로, 하기의 수학식 1에 따라 연산될 수 있다.Here, the Euclidean distance means the distance between two vectors when it is assumed that two vectors exist, and can be calculated according to Equation 1 below.

Figure 112021077756267-pat00001
Figure 112021077756267-pat00001

상기 수학식 1에서 D는 벡터 A와 벡터 B 간의 유클리드 거리를 의미하고, Ai와 Bi는 각각 벡터 A와 벡터 B에 포함되어 있는 성분들 중 i번째 성분들을 의미한다. 보통, 두 벡터 간의 유클리드 거리가 작을수록 두 벡터는 유사한 벡터라고 볼 수 있고, 두 벡터 간의 유클리드 거리가 클수록 두 벡터는 비유사한 벡터라고 볼 수 있다.In Equation 1, D denotes the Euclidean distance between vectors A and B, and A i and B i denote i-th components among components included in vectors A and B, respectively. In general, the smaller the Euclidean distance between two vectors, the more similar the two vectors are, and the larger the Euclidean distance between the two vectors, the more dissimilar vectors they are.

선택 처리부(124)는 상기 적어도 하나의 제1 포맷 변환 서버 중 상기 유클리드 거리가 최소로 연산된 포맷 변환 서버를, 상기 작업 대상 서버로 선택한다.The selection processing unit 124 selects a format conversion server for which the Euclidean distance is calculated as the minimum among the at least one first format conversion server as the work target server.

이하에서는, 서버 확인부(120), 파일 특징 벡터 생성부(121), 서버 특징 벡터 생성부(122), 거리 연산부(123)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, operations of the server check unit 120, the file feature vector generator 121, the server feature vector generator 122, and the distance calculation unit 123 will be described in detail by way of example.

먼저, 전술한 예와 같이, 복수의 포맷 변환 서버들(151, 152, 153)을 '포맷 변환 서버 1(151), 포맷 변환 서버 2(152), 포맷 변환 서버 3(153)'이라고 하고, 클라이언트 단말(140)로부터, '문서 파일 1'이 수신되면서, '문서 파일 1'에 대한 포맷 변환 요청이 수신되었다고 가정하자.First, as in the above example, the plurality of format conversion servers 151, 152, and 153 are referred to as 'format conversion server 1 151, format conversion server 2 152, and format conversion server 3 153', Assume that a format conversion request for 'document file 1' is received while 'document file 1' is received from the client terminal 140 .

그러면, 서버 확인부(120)는 '포맷 변환 서버 1(151), 포맷 변환 서버 2(152), 포맷 변환 서버 3(153)'과 접속하여, '포맷 변환 서버 1(151), 포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 중 유휴상태인 포맷 변환 서버가 존재하는지 여부를 확인할 수 있다.Then, the server confirmation unit 120 connects to the 'format conversion server 1 (151), format conversion server 2 (152), and format conversion server 3 (153)', and connects to 'format conversion server 1 (151), format conversion server 2 (152) and format conversion server 3 (153)', it is possible to check whether an idle format conversion server exists.

이때, '포맷 변환 서버 1(151), 포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 중 유휴상태인 포맷 변환 서버로, '포맷 변환 서버 2(152), 포맷 변환 서버 3(153)'이 존재하는 것으로 확인되었다고 가정하자.At this time, among 'format conversion server 1 (151), format conversion server 2 (152), and format conversion server 3 (153)', an idle format conversion server is selected as 'format conversion server 2 (152), format conversion server 3 ( 153)' is confirmed to exist.

그러면, 파일 특징 벡터 생성부(121)는 '문서 파일 1'의 파일 크기 값과 '문서 파일 1'의 문서 내에 삽입되어 있는 개체의 개수를 카운트할 수 있다. Then, the file feature vector generation unit 121 may count the file size value of 'document file 1' and the number of objects inserted in the document of 'document file 1'.

이때, 파일 특징 벡터 생성부(121)에 의해, '문서 파일 1'의 파일 크기 값이 '100KB'인 것으로 확인되었다고 하고, 상기 개체의 개수가 '5개'인 것으로 카운트되었다고 하는 경우, 파일 특징 벡터 생성부(121)는 '100(KB), 5(개)'를 성분으로 갖는 2차원의 벡터를 구성함으로써, '문서 파일 1'에 대응되는 특징 벡터를 '[100 5]'와 같이 생성할 수 있다.At this time, it is assumed that the file size value of 'document file 1' is confirmed to be '100KB' by the file feature vector generator 121, and the number of objects is counted as '5', the file characteristic The vector generator 121 creates a feature vector corresponding to 'document file 1' as '[100 5]' by constructing a two-dimensional vector having '100 (KB), 5 (dog)' as components. can do.

그러고 나서, 서버 특징 벡터 생성부(122)는 상기 표 1과 같은 정보 저장부(119)를 참조하여, '포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 각각에 대응되는 기준 파일 크기 값과 기준 개체 수를 확인한 후, '포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 각각에 대해, 각 포맷 변환 서버에 대응되는 기준 파일 크기 값과 기준 개체 수를 성분으로 갖는 2차원의 벡터를 구성함으로써, '포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 각각에 대한 특징 벡터를 생성할 수 있다.Then, the server feature vector generator 122 refers to the information storage unit 119 as shown in Table 1 above, and references files corresponding to 'format conversion server 2 (152) and format conversion server 3 (153)', respectively. After checking the size value and the standard number of objects, for each of the 'format conversion server 2 (152) and format conversion server 3 (153)', the standard file size value and the standard number of objects corresponding to each format conversion server are components By constructing a two-dimensional vector, it is possible to generate feature vectors for each of 'format conversion server 2 (152) and format conversion server 3 (153)'.

관련해서, 상기 표 1과 같은 정보 저장부(119)에서는, '포맷 변환 서버 2(152)'에 대응되는 기준 파일 크기 값과 기준 개체 수가 '200(KB), 20(개)'이고, '포맷 변환 서버 3(153)'에 대응되는 기준 파일 크기 값과 기준 개체 수가 '500(KB), 50(개)'이므로, 서버 특징 벡터 생성부(122)는 '포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 각각에 대한 특징 벡터를 '[200 20], [500 50]'과 같이 생성할 수 있다.In relation to this, in the information storage unit 119 as shown in Table 1, the standard file size value and the standard number of objects corresponding to the 'format conversion server 2 (152)' are '200 (KB), 20 (pieces)', and ' Since the standard file size value and the standard number of objects corresponding to the format conversion server 3 (153) are '500 (KB), 50 (pcs)', the server feature vector generator 122 determines the 'format conversion server 2 (152), Feature vectors for each of the format conversion server 3 (153) may be generated as '[200 20], [500 50]'.

그러면, 거리 연산부(123)는 상기 수학식 1에 따라, '문서 파일 1'에 대응되는 특징 벡터인 '[100 5]'와, '포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 각각에 대한 특징 벡터인 '[200 20], [500 50]' 간의 유클리드 거리를 연산할 수 있다.Then, the distance calculation unit 123 calculates '[100 5]', which is a feature vector corresponding to 'document file 1', and 'format conversion server 2 152 and format conversion server 3 153' according to Equation 1 above. ' The Euclidean distance between '[200 20] and [500 50]', which are feature vectors for each, can be calculated.

이때, '포맷 변환 서버 2(152)'의 상기 유클리드 거리가, '포맷 변환 서버 3(153)'의 상기 유클리드 거리보다 작은 값으로 연산되었다고 하는 경우, 선택 처리부(124)는 '포맷 변환 서버 2(152)'를 상기 작업 대상 서버로 선택할 수 있다.At this time, when it is assumed that the Euclidean distance of the 'format conversion server 2 (152)' is calculated as a smaller value than the Euclidean distance of the 'format conversion server 3 (153)', the selection processing unit 124 determines the 'format conversion server 2 (152)' can be selected as the work target server.

한편, 시스템 상황에 따라서는, 복수의 포맷 변환 서버들(151, 152, 153) 중 유휴상태인 포맷 변환 서버가 존재하지 않는 경우도 있을 수 있다. On the other hand, depending on system conditions, there may be a case where an idle format conversion server among the plurality of format conversion servers 151, 152, and 153 does not exist.

이와 관련해서, 본 발명의 일실시예에 따르면, 서버 선택부(111)는 복수의 포맷 변환 서버들(151, 152, 153) 중 유휴상태인 포맷 변환 서버가 존재하지 않는 경우 복수의 포맷 변환 서버들(151, 152, 153) 중 상기 작업 대상 서버를 선택하기 위한 구성으로, 상태 벡터 생성부(125), 노름 연산부(126) 및 대체 선택 처리부(127)를 더 포함할 수 있다.In this regard, according to one embodiment of the present invention, the server selector 111 selects a plurality of format conversion servers when there is no idle format conversion server among the plurality of format conversion servers 151, 152, and 153. As a configuration for selecting the work target server among the s 151 , 152 , and 153 , a state vector generator 125 , a norm operation unit 126 , and an alternative selection processor 127 may be further included.

상태 벡터 생성부(125)는 서버 확인부(120)에 의해, 복수의 포맷 변환 서버들(151, 152, 153) 중 유휴상태인 포맷 변환 서버가 존재하지 않는 것으로 확인되는 경우, 상기 복수의 포맷 변환 서버들 각각의 현재 전력 소모량, 현재 CPU 사용률 및 현재 네트워크 트래픽 수치를 확인한 후, 복수의 포맷 변환 서버들(151, 152, 153) 각각에 대해, 각 포맷 변환 서버의 현재 전력 소모량, 현재 CPU 사용률 및 현재 네트워크 트래픽 수치를 성분으로 갖는 3차원의 벡터를 구성함으로써, 복수의 포맷 변환 서버들(151, 152, 153) 각각에 대응되는 상태 벡터를 생성한다.The state vector generator 125 determines, by the server checking unit 120, that there is no idle format conversion server among the plurality of format conversion servers 151, 152, and 153, the plurality of format conversion servers 151, 152, and 153 do not exist. After checking the current power consumption, current CPU usage rate, and current network traffic value of each of the conversion servers, for each of the plurality of format conversion servers 151, 152, and 153, the current power consumption and current CPU usage rate of each format conversion server and a state vector corresponding to each of the plurality of format conversion servers 151, 152, and 153 is generated by constructing a three-dimensional vector having a current network traffic value as a component.

노름 연산부(126)는 상태 벡터 생성부(125)에 의해 복수의 포맷 변환 서버들(151, 152, 153) 각각에 대응되는 상태 벡터가 생성되면, 복수의 포맷 변환 서버들(151, 152, 153) 각각에 대응되는 상태 벡터의 유클리드 노름(Euclidean norm)을 연산한다. When a state vector corresponding to each of the plurality of format conversion servers 151, 152, and 153 is generated by the state vector generator 125, the norm operation unit 126 converts the plurality of format conversion servers 151, 152, and 153 ) calculates the Euclidean norm of the state vector corresponding to each.

여기서, 유클리드 노름이란 벡터나 행렬의 유클리드 공간 상에서의 크기를 나타내는 L2 노름으로, 하기의 수학식 2와 같이 나타낼 수 있다.Here, the Euclidean norm is the L2 norm representing the size of a vector or matrix in the Euclidean space, and can be expressed as in Equation 2 below.

Figure 112021077756267-pat00002
Figure 112021077756267-pat00002

이때,

Figure 112021077756267-pat00003
는 상기 유클리드 노름을 의미하는 것으로,
Figure 112021077756267-pat00004
는 벡터 또는 행렬의 k번째 성분을 의미한다.At this time,
Figure 112021077756267-pat00003
Means the Euclidean norm,
Figure 112021077756267-pat00004
means the k-th element of a vector or matrix.

대체 선택 처리부(127)는 복수의 포맷 변환 서버들(151, 152, 153) 중 상기 유클리드 노름이 최소로 연산된 포맷 변환 서버를 상기 작업 대상 서버로 선택한다.The alternative selection processing unit 127 selects a format conversion server for which the Euclidean norm has been calculated to a minimum among a plurality of format conversion servers 151, 152, and 153 as the work target server.

이하에서는, 상태 벡터 생성부(125), 노름 연산부(126) 및 대체 선택 처리부(127)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, operations of the state vector generating unit 125, the norm calculating unit 126, and the alternative selection processing unit 127 will be described in detail by way of example.

먼저, 전술한 예와 같이, 복수의 포맷 변환 서버들(151, 152, 153)을 '포맷 변환 서버 1(151), 포맷 변환 서버 2(152), 포맷 변환 서버 3(153)'이라고 하고, 서버 확인부(120)에 의해, '포맷 변환 서버 1(151), 포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 중 유휴상태인 포맷 변환 서버가 존재하지 않는 것으로 확인되었다고 가정하자.First, as in the above example, the plurality of format conversion servers 151, 152, and 153 are referred to as 'format conversion server 1 151, format conversion server 2 152, and format conversion server 3 153', Suppose that it is confirmed by the server confirmation unit 120 that there is no format conversion server in an idle state among 'format conversion server 1 (151), format conversion server 2 (152), and format conversion server 3 (153)'. .

그러면, 상태 벡터 생성부(125)는 '포맷 변환 서버 1(151), 포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 각각의 현재 전력 소모량, 현재 CPU 사용률 및 현재 네트워크 트래픽 수치를 확인한 후, '포맷 변환 서버 1(151), 포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 각각에 대해, 각 포맷 변환 서버의 현재 전력 소모량, 현재 CPU 사용률 및 현재 네트워크 트래픽 수치를 성분으로 갖는 3차원의 벡터를 구성함으로써, '포맷 변환 서버 1(151), 포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 각각에 대응되는 상태 벡터를 생성할 수 있다.Then, the state vector generator 125 calculates the current power consumption, current CPU utilization, and current network traffic values of each of the 'format conversion server 1 151, format conversion server 2 152, and format conversion server 3 153'. After checking, for each of 'Format Conversion Server 1 (151), Format Conversion Server 2 (152), and Format Conversion Server 3 (153)', the current power consumption, current CPU utilization, and current network traffic figures of each format conversion server are calculated. By constructing a three-dimensional vector having components, it is possible to generate state vectors corresponding to 'format conversion server 1 (151), format conversion server 2 (152), and format conversion server 3 (153)' respectively.

관련해서, '포맷 변환 서버 1(151)'에 대해, '포맷 변환 서버 1(151)'의 현재 전력 소모량이 '350W'이고, 현재 CPU 사용률이 '30%'이며, 현재 네트워크 트래픽 수치가 '70GB'인 것으로 확인되었다고 하는 경우, 상태 벡터 생성부(125)는 '350(W), 30(%), 70(GB)'을 성분으로 갖는 3차원의 벡터를 구성함으로써, '포맷 변환 서버 1(151)'에 대응되는 상태 벡터를 '[350 30 70]'과 같이 생성할 수 있다.In relation to 'Format Conversion Server 1 (151)', the current power consumption of 'Format Conversion Server 1 (151)' is '350W', the current CPU utilization is '30%', and the current network traffic figure is '350W'. 70GB', the state vector generator 125 constructs a three-dimensional vector having '350 (W), 30 (%), and 70 (GB)' as components, so that 'format conversion server 1 A state vector corresponding to (151)' can be generated as '[350 30 70]'.

이러한 방식으로, '포맷 변환 서버 1(151), 포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 각각에 대응되는 상태 벡터가 '[350 30 70], [500 40 50], [800 70 100]'과 같이 생성되었다고 하는 경우, 노름 연산부(126)는 '포맷 변환 서버 1(151), 포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 각각에 대응되는 상태 벡터인 '[350 30 70], [500 40 50], [800 70 100]'의 유클리드 노름을 연산할 수 있다.In this way, the state vectors corresponding to 'format conversion server 1 (151), format conversion server 2 (152), and format conversion server 3 (153)' are '[350 30 70], [500 40 50], [ 800 70 100]', the norm operation unit 126 is a state vector corresponding to 'format conversion server 1 (151), format conversion server 2 (152), and format conversion server 3 (153)', respectively. The Euclidean norm of '[350 30 70], [500 40 50], [800 70 100]' can be calculated.

이때, '포맷 변환 서버 1(151), 포맷 변환 서버 2(152), 포맷 변환 서버 3(153)' 중 '포맷 변환 서버 1(151)'의 상기 유클리드 노름이 최소로 연산되었다고 하는 경우, 대체 선택 처리부(127)는 '포맷 변환 서버 1(151)'을 상기 작업 대상 서버로 선택할 수 있다. At this time, if it is assumed that the Euclidean norm of 'Format Conversion Server 1 (151)' among 'Format Conversion Server 1 (151), Format Conversion Server 2 (152), and Format Conversion Server 3 (153)' is calculated to the minimum, the replacement The selection processing unit 127 may select the 'format conversion server 1 (151)' as the target server.

이렇게, 서버 선택부(111)에 의해 상기 작업 대상 서버가 선택되면, 동기 변환 이벤트 발생부(112)는 동기(synchronous) 방식으로 상기 문서 파일의 포맷 변환 작업을 수행하기 위한 동기 변환 이벤트를 발생시킨다.In this way, when the work target server is selected by the server selector 111, the synchronous conversion event generator 112 generates a synchronous conversion event for performing the format conversion of the document file in a synchronous manner. .

명령 전송부(113)는 동기 변환 이벤트 발생부(112)에 의해 상기 동기 변환 이벤트가 발생되면, 상기 작업 대상 서버로, 상기 문서 파일과, 상기 문서 파일의 포맷 변환 작업을 수행할 것을 지시하는 작업 지시 명령을 전송함과 동시에, 상기 작업 대상 서버로 인보크(invoke) 조건을 설정할 것을 지시하는 조건 설정 명령을 전송한다.When the synchronization conversion event is generated by the synchronization conversion event generating unit 112, the command transmission unit 113 instructs the target server to perform format conversion of the document file and the document file. At the same time as transmitting the instruction command, a condition setting command instructing the server to set an invoke condition is transmitted.

여기서, 상기 인보크 조건은 상기 작업 대상 서버에서 상기 문서 파일의 포맷 변환 작업이 완료되면, 작업 완료 메시지를 생성하여 포맷 변환 작업 할당 장치(110)로 피드백할 것을 인보크시키는 조건이다.Here, the invoking condition is a condition for invoking a task completion message to be generated and fed back to the format conversion task allocator 110 when the task of converting the format of the document file is completed in the task server.

제1 문서 파일 전송부(114)는 명령 전송부(113)에 의해 상기 작업 대상 서버로 상기 조건 설정 명령이 전송된 시점으로부터 사전 설정된 제1 시간이 경과하기 전에, 상기 작업 대상 서버에서 상기 문서 파일의 포맷 변환 작업이 완료됨에 따라, 상기 작업 대상 서버로부터 상기 작업 완료 메시지가 피드백되면, 상기 작업 대상 서버로, 포맷이 변환된 상기 문서 파일의 전송 요청을 전송하고, 상기 작업 대상 서버로부터, 포맷이 변환된 상기 문서 파일이 수신되면, 포맷이 변환된 상기 문서 파일을 클라이언트 단말(140)로 전송한다.The first document file transmission unit 114 transmits the document file from the job server before a first preset time elapses from the time when the condition setting command is transmitted by the command transmission unit 113 to the job server. As the format conversion job of is completed, when the job completion message is fed back from the work target server, a transfer request of the document file whose format has been converted is transmitted to the work target server, and the format is changed from the work target server. When the converted document file is received, the converted document file is transmitted to the client terminal 140 .

이하에서는, 명령 전송부(113) 및 제1 문서 파일 전송부(114)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, operations of the command transmission unit 113 and the first document file transmission unit 114 will be described in detail, for example.

먼저, 전술한 예와 같이, 클라이언트 단말(140)로부터, '문서 파일 1'이 수신되면서, '문서 파일 1'에 대한 포맷 변환 요청이 수신되었다고 하고, 서버 선택부(111)에 의해, '포맷 변환 서버 1(151)'이 상기 작업 대상 서버로 선택되었다고 하며, 그 이후, 동기 변환 이벤트 발생부(112)에 의해 상기 동기 변환 이벤트가 발생되었다고 가정하자.First, as in the above example, it is assumed that a format conversion request for 'document file 1' is received while 'document file 1' is received from the client terminal 140, and the server selector 111 selects 'format Assume that the conversion server 1 (151) is selected as the target server, and then the synchronization conversion event is generated by the synchronization conversion event generator 112.

그러면, 명령 전송부(113)는 '포맷 변환 서버 1(151)'로 '문서 파일 1'과, '문서 파일 1'의 포맷 변환 작업을 수행할 것을 지시하는 작업 지시 명령을 전송함과 동시에, '포맷 변환 서버 1(151)'로 인보크 조건을 설정할 것을 지시하는 조건 설정 명령을 전송할 수 있다. Then, the command transmission unit 113 transmits the 'document file 1' and the 'document file 1' format conversion command to the 'format conversion server 1 (151)' and transmits a work instruction command, A condition setting command instructing to set an invoke condition may be transmitted to the 'format conversion server 1 (151)'.

이에 따라, '포맷 변환 서버 1(151)'에 '문서 파일 1'과 상기 작업 지시 명령이 수신됨과 동시에, 상기 조건 설정 명령이 수신되면, '포맷 변환 서버 1(151)'은 상기 작업 지시 명령에 따라, '문서 파일 1'의 포맷 변환 작업을 수행할 수 있다.Accordingly, when the 'document file 1' and the job instruction command are received by the 'format conversion server 1 (151)' and the condition setting command is received, the 'format conversion server 1 (151)' receives the job instruction command. Accordingly, a format conversion operation of 'document file 1' may be performed.

또한, '포맷 변환 서버 1(151)'은 상기 조건 설정 명령에 따라, 상기 인보크 조건을 설정하여, '포맷 변환 서버 1(151)'에서 '문서 파일 1'의 포맷 변환 작업이 완료되면, 작업 완료 메시지를 생성하여 포맷 변환 작업 할당 장치(110)로 피드백할 수 있다.In addition, the 'format conversion server 1 (151)' sets the invoke condition according to the condition setting command, and when the 'format conversion server 1 (151)' completes the format conversion of 'document file 1', A task completion message may be generated and fed back to the format conversion task allocator 110 .

이때, 사전 설정된 제1 시간을 '5초'라고 하고, 명령 전송부(113)에 의해 '포맷 변환 서버 1(151)'로 상기 조건 설정 명령이 전송된 시점으로부터 '3초'가 지난 시점에, '포맷 변환 서버 1(151)'에서 '문서 파일 1'의 포맷 변환 작업이 완료되었다고 하는 경우, '포맷 변환 서버 1(151)'은 상기 작업 완료 메시지를 생성하여 작업 할당 장치(110)로 피드백할 수 있다.At this time, the preset first time is '5 seconds', and '3 seconds' from the time when the condition setting command is transmitted to the 'format conversion server 1 (151)' by the command transmission unit 113 , When the 'format conversion server 1 (151)' says that the format conversion job of 'document file 1' is completed, the 'format conversion server 1 (151)' generates the job completion message and sends it to the job allocator 110. can give feedback.

이에 따라, 포맷 변환 작업 장치(110)에, 상기 작업 완료 메시지가 피드백되면, 제1 문서 파일 전송부(114)는 '포맷 변환 서버 1(151)'로, 포맷이 변환된 '문서 파일 1'의 전송 요청을 전송할 수 있다.Accordingly, when the task completion message is fed back to the format conversion work device 110, the first document file transmission unit 114 sends the 'format conversion server 1 151' to the 'document file 1' whose format has been converted. can send a request for transmission.

이때, '포맷 변환 서버 1(151)'에 상기 전송 요청이 수신되면, '포맷 변환 서버 1(151)'은 상기 전송 요청에 대응하여, 포맷이 변환된 '문서 파일 1'을 포맷 변환 작업 할당 장치(110)로 전송할 수 있다.At this time, when the transfer request is received by the 'format conversion server 1 (151)', the 'format conversion server 1 (151)' allocates the format conversion task to the 'document file 1' whose format has been converted in response to the transmission request. device 110.

이에 따라, 포맷 변환 작업 할당 장치(110)에, 포맷이 변환된 '문서 파일 1'이 수신되면, 제1 문서 파일 전송부(114)는 포맷이 변환된 '문서 파일 1'을 클라이언트 단말(140)로 전송할 수 있다.Accordingly, when the format conversion job allocator 110 receives the 'document file 1' whose format is converted, the first document file transmission unit 114 transfers the format-converted 'document file 1' to the client terminal 140. ) can be transmitted.

비동기 변환 이벤트 발생부(115)는 상기 작업 대상 서버로 상기 조건 설정 명령이 전송된 시점으로부터 상기 제1 시간이 경과할 때까지, 상기 작업 대상 서버로부터 상기 작업 완료 메시지가 피드백되지 않는 경우, 비동기(asynchronous) 방식으로 상기 문서 파일의 포맷 변환 작업을 수행하기 위한 비동기 변환 이벤트를 발생시킨다.The asynchronous conversion event generating unit 115 is asynchronous when the task completion message is not fed back from the task server until the first time elapses from the time when the condition setting command is transmitted to the task server. asynchronous) generates an asynchronous conversion event for performing format conversion of the document file.

비동기 변환 이벤트 발생부(115)에 의해 상기 비동기 변환 이벤트가 발생되면, 조건 제거 명령 전송부(116)는 상기 작업 대상 서버로, 상기 인보크 조건을 제거할 것을 지시하는 조건 제거 명령을 전송한다.When the asynchronous conversion event is generated by the asynchronous conversion event generation unit 115, the condition removal command transmitter 116 transmits a condition removal command instructing to remove the invoke condition to the work target server.

작업 확인부(117)는 조건 제거 명령 전송부(116)에 의해 상기 작업 대상 서버로 상기 조건 제거 명령이 전송되면, 사전 설정된 확인 주기 간격으로 상기 작업 대상 서버에 접속하여, 상기 문서 파일의 포맷 변환 작업이 완료되었는지 여부를 확인한다.When the condition removal command is transmitted to the work target server by the condition removal command transmission unit 116, the job confirmation unit 117 accesses the work target server at a preset check interval and converts the format of the document file. Check whether the task is completed.

이때, 본 발명의 일실시예에 따르면, 작업 확인부(117)는 상기 확인 주기 간격으로 상기 작업 대상 서버에 접속하여, 상기 문서 파일의 포맷 변환 작업이 완료되었는지 여부를 확인할 때마다, 상기 문서 파일의 포맷 변환 작업에 대한 작업 완료율을 추가로 확인한 후, 상기 작업 완료율에 대한 정보를 클라이언트 단말(140)로 전송할 수 있다.At this time, according to one embodiment of the present invention, the job confirmation unit 117 accesses the job target server at the check period interval and checks whether or not the format conversion job of the document file has been completed, the document file After additionally confirming the task completion rate for the format conversion task, information on the task completion rate may be transmitted to the client terminal 140 .

제2 문서 파일 전송부(118)는 작업 확인부(117)가 상기 확인 주기 간격으로 상기 문서 파일의 포맷 변환 작업이 완료되었는지 여부를 확인함에 따라, 작업 확인부(117)에 의해, t(t는 자연수임)번째 확인 주기에서, 상기 문서 파일의 포맷 변환 작업이 완료된 것으로 확인되면, 상기 작업 대상 서버로, 포맷이 변환된 상기 문서 파일의 전송 요청을 전송하고, 상기 작업 대상 서버로부터, 포맷이 변환된 상기 문서 파일이 수신되면, 포맷이 변환된 상기 문서 파일을 클라이언트 단말(140)로 전송한다.As the second document file transmission unit 118 checks whether the job confirmation unit 117 has completed the format conversion of the document file at the check interval, t (t is a natural number) th confirmation cycle, if it is confirmed that the format conversion of the document file has been completed, a transfer request of the document file whose format has been converted is transmitted to the work target server, and the format is converted from the work target server. When the converted document file is received, the converted document file is transmitted to the client terminal 140 .

이하에서는, 비동기 변환 이벤트 발생부(115), 조건 제거 명령 전송부(116), 작업 확인부(117) 및 제2 문서 파일 전송부(118)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, operations of the asynchronous conversion event generation unit 115, the condition removal command transmission unit 116, the job confirmation unit 117, and the second document file transmission unit 118 will be described in detail, for example.

먼저, 전술한 예와 같이, 상기 제1 시간을 '5초'라고 하고, 명령 전송부(113)에 의해, '포맷 변환 서버 1(151)'로 '문서 파일 1'과, '문서 파일 1'의 포맷 변환 작업을 수행할 것을 지시하는 작업 지시 명령이 전송됨과 동시에, '포맷 변환 서버 1(151)'로 인보크 조건을 설정할 것을 지시하는 조건 설정 명령이 전송되었다고 가정하자.First, as in the above example, the first time is set to '5 seconds', and the 'document file 1' and 'document file 1' are sent to the 'format conversion server 1 (151)' by the command transmission unit 113. Assume that a condition setting command instructing to set an invoke condition to the 'format conversion server 1 (151)' is transmitted at the same time as a job instruction command instructing to perform a format conversion job of '.

이때, 명령 전송부(113)에 의해 '포맷 변환 서버 1(151)'로 상기 조건 설정 명령이 전송된 이후, '5초'가 경과할 때까지, '포맷 변환 서버 1(151)'로부터 상기 작업 완료 메시지가 피드백되지 않았다고 하는 경우, 비동기 변환 이벤트 발생부(115)는 비동기 방식으로 상기 문서 파일의 포맷 변환 작업을 수행하기 위한 비동기 변환 이벤트를 발생시킬 수 있다.At this time, after the condition setting command is transmitted to the 'format conversion server 1 (151)' by the command transmission unit 113, until '5 seconds' has elapsed, the 'format conversion server 1 (151)' If the task completion message is not fed back, the asynchronous conversion event generating unit 115 may generate an asynchronous conversion event for performing the format conversion of the document file in an asynchronous manner.

그러면, 조건 제거 명령 전송부(116)는 '포맷 변환 서버 1(151)'로, 상기 인보크 조건을 제거할 것을 지시하는 조건 제거 명령을 전송할 수 있다.Then, the condition removal command transmission unit 116 may transmit a condition removal command instructing to remove the invoke condition to the 'format conversion server 1 (151)'.

그러면, '포맷 변환 서버 1(151)'은 상기 조건 제거 명령에 기초하여 '포맷 변환 서버 1(151)'에 설정되어 있는 상기 인보크 조건을 제거할 수 있다. 이로 인해, '포맷 변환 서버 1(151)'은 '문서 파일 1'의 포맷 변환 작업이 완료되더라도 포맷 변환 작업 할당 장치(110)로 작업 완료 메시지를 피드백하지 않게 된다.Then, the 'format conversion server 1 (151)' may remove the invoke condition set in the 'format conversion server 1 (151)' based on the condition removal command. As a result, the 'format conversion server 1 (151)' does not feed back a job completion message to the format conversion job allocator 110 even when the format conversion job of the 'document file 1' is completed.

그 이후, 작업 확인부(117)는 사전 설정된 확인 주기 간격으로 '포맷 변환 서버 1(151)'에 접속하여, '문서 파일 1'의 포맷 변환 작업이 완료되었는지 여부를 확인할 수 있고, 이와 동시에, '문서 파일 1'의 포맷 변환 작업에 대한 작업 완료율을 추가로 확인할 수 있다. 관련해서, 상기 사전 설정된 확인 주기를 '1초'라고 하는 경우, 작업 확인부(117)는 '1초' 간격으로 '포맷 변환 서버 1(151)'에 접속하여, '문서 파일 1'의 포맷 변환 작업이 완료되었는지 여부를 확인할 수 있고, 이와 동시에, '문서 파일 1'의 포맷 변환 작업에 대한 작업 완료율을 추가로 확인할 수 있다.After that, the job confirmation unit 117 can connect to the 'format conversion server 1 151' at preset check intervals to check whether the format conversion job of 'document file 1' has been completed, and at the same time, You can additionally check the job completion rate for the format conversion job of 'document file 1'. In relation to this, when the preset checking cycle is set to '1 second', the job confirmation unit 117 accesses the 'format conversion server 1 151' at intervals of '1 second' to format the 'document file 1'. It is possible to check whether or not the conversion job has been completed, and at the same time, it is possible to additionally check the job completion rate for the format conversion job of 'document file 1'.

그 결과, 특정 주기에서 상기 작업 완료율이 '70%'와 같이 확인되었다고 하는 경우, 작업 확인부(117)는 상기 작업 완료율인 '70%'에 대한 정보를 클라이언트 단말(140)로 전송할 수 있다.As a result, if the task completion rate is confirmed as '70%' in a specific period, the task confirmation unit 117 may transmit information about the task completion rate of '70%' to the client terminal 140 .

이렇게, 작업 확인부(117)가 '1초' 간격으로 '포맷 변환 서버 1(151)'에 접속하여, '문서 파일 1'의 포맷 변환 작업이 완료되었는지 여부를 확인한 결과, '2'번째 확인 주기에서, 상기 '문서 파일 1'의 포맷 변환 작업이 완료된 것으로 확인되었다고 하는 경우, 제2 문서 파일 전송부(118)는 '2'번째 확인 주기에서, '포맷 변환 서버 1(151)'로, 포맷이 변환된 '문서 파일 1'의 전송 요청을 전송할 수 있다.In this way, the job confirmation unit 117 connects to the 'format conversion server 1 (151)' at intervals of '1 second' and confirms whether the format conversion job of 'document file 1' has been completed, and as a result, the '2' confirmation In the cycle, when it is confirmed that the format conversion of the 'document file 1' has been completed, the second document file transmission unit 118 sends the 'format conversion server 1 151' in the '2nd' confirmation cycle, A transmission request for 'document file 1' whose format has been converted can be transmitted.

그 이후, 상기 전송 요청에 대응하여, '포맷 변환 서버 1(151)'로부터 포맷이 변환된 '문서 파일 1'이 포맷 변환 작업 할당 장치(110)에 수신되면, 제2 문서 파일 전송부(118)는 포맷이 변환된 '문서 파일 1'을 클라이언트 단말(140)로 전송할 수 있다.After that, in response to the transfer request, when the 'document file 1' whose format has been converted from the 'format conversion server 1 151' is received by the format conversion task allocator 110, the second document file transmission unit 118 ) may transmit the format-converted 'document file 1' to the client terminal 140.

본 발명의 일실시예에 따르면, 명령 전송부(113)는 상기 작업 대상 서버로 문서 파일과 함께 상기 문서 파일의 포맷을 변환할 것을 지시하는 작업 지시 명령을 전송할 때, 상기 문서 파일이 노출되는 것을 최소화하기 위해, 상기 문서 파일을 암호화하여 상기 작업 대상 서버로 전송하는 구성을 더 포함할 수 있다.According to one embodiment of the present invention, when the command transmission unit 113 transmits a work instruction command instructing to convert the format of the document file together with the document file to the work target server, the document file is not exposed. In order to minimize, a configuration for encrypting the document file and transmitting it to the work target server may be further included.

이와 관련해서, 명령 전송부(113)는 행렬 저장부(128), 데이터 행렬 생성부(129), 랜덤 행렬 생성부(130), 암호화 행렬 생성부(131) 및 암호화 전송부(132)를 포함할 수 있다.In this regard, the command transmitter 113 includes a matrix storage unit 128, a data matrix generator 129, a random matrix generator 130, an encryption matrix generator 131, and an encryption transmitter 132. can do.

행렬 저장부(128)에는 의사 난수(Pseudo-Random Number)를 생성하기 위한 사전 설정된 시드 값(seed)과, n x k(n과 k는 서로 다른 2 이상의 자연수임) 크기의 공개키 행렬이 저장되어 있다.The matrix storage unit 128 stores a preset seed value for generating a pseudo-random number and a public key matrix of size n x k (where n and k are two or more different natural numbers). .

여기서, 상기 공개키 행렬은, 상기 시드 값을 기초로 생성되는 n2개의 의사 난수들을 성분으로 갖는 n x n 크기의 의사 난수 행렬과, 복수의 포맷 변환 서버들(151, 152, 153) 각각에 사전 발급되어 저장되어 있는 n x k 크기의 개인키 행렬이 서로 곱해져서 생성된 행렬이다.Here, the public key matrix includes an n×n pseudorandom matrix having n 2 pseudorandom numbers generated based on the seed value as components, and a plurality of format conversion servers 151, 152, and 153 pre-issued, respectively. It is a matrix generated by multiplying the nxk size private key matrices that have been stored and stored.

예컨대, n을 '3', k를 '4'라고 하는 경우, 그러면, 행렬 저장부(128)에는 의사 난수를 생성하기 위한 사전 설정된 시드값과, 하기의 수학식 3에 따라 생성된 '3 x 4' 크기의 공개키 행렬인 '행렬 O'가 저장되어 있을 수 있다.For example, if n is '3' and k is '4', then, in the matrix storage unit 128, a preset seed value for generating a pseudo-random number and '3 x' generated according to Equation 3 below 'Matrix O', which is a 4' size public key matrix, may be stored.

관련해서, '행렬 O'는 상기 시드 값을 기초로 생성되는 '9'개의 의사 난수들을 성분으로 갖는 '3 x 3' 크기의 상기 의사 난수 행렬인 '행렬 N'과, 복수의 포맷 변환 서버들(151, 152, 153) 각각에 사전 발급되어 저장되어 있는 '3 x 4' 크기의 개인키 행렬인 '행렬 P'가 서로 곱해져서 생성된 행렬로서, 하기의 수학식 3에 따라 생성될 수 있다.In relation to this, the 'matrix O' is the 'matrix N', which is the pseudo-random number matrix having a size of '3 x 3' having '9' pseudo-random numbers generated based on the seed value as components, and a plurality of format conversion servers. (151, 152, 153) A matrix generated by multiplying the '3 x 4' private key matrix 'Matrix P', which is pre-issued and stored in each of them, can be generated according to Equation 3 below. .

Figure 112021077756267-pat00005
Figure 112021077756267-pat00005

데이터 행렬 생성부(129)는 동기 변환 이벤트 발생부(112)에 의해 상기 동기 변환 이벤트가 발생되면, 상기 문서 파일을 구성하는 데이터를 k2개의 부분 데이터들로 분할한 후, 상기 k2개의 부분 데이터들을 성분으로 갖는 k x k 크기의 데이터 행렬을 생성한다.When the synchronization conversion event is generated by the synchronization conversion event generating unit 112, the data matrix generator 129 divides the data constituting the document file into k 2 partial data, and then divides the data constituting the document file into k 2 partial data. Create a kxk-sized data matrix with data as components.

랜덤 행렬 생성부(130)는 데이터 행렬 생성부(129)에 의해 상기 데이터 행렬이 생성되면, 행렬 저장부(128)에 저장되어 있는 상기 시드 값을 기초로, 상기 n2개의 의사 난수들을 생성한 후, 상기 n2개의 의사 난수들을 성분으로 갖는 n x n 크기의 상기 의사 난수 행렬을 생성하고, 랜덤한 성분들로 구성된 k x n 크기의 랜덤 행렬을 생성한다.When the data matrix is generated by the data matrix generator 129, the random matrix generator 130 generates the n 2 pseudorandom numbers based on the seed value stored in the matrix storage unit 128. Then, the pseudorandom matrix of size nxn having the n 2 pseudorandom numbers as components is generated, and a random matrix of size kxn composed of random components is generated.

암호화 행렬 생성부(131)는 랜덤 행렬 생성부(130)에 의해 상기 랜덤 행렬이 생성되면, 상기 랜덤 행렬과 상기 의사 난수 행렬을 곱함으로써, k x n 크기의 제1 암호화 행렬을 생성하고, 상기 랜덤 행렬과 행렬 저장부(128)에 저장되어 있는 상기 공개키 행렬을 서로 곱한 후 상기 데이터 행렬을 더함으로써, k x k 크기의 제2 암호화 행렬을 생성한다.When the random matrix is generated by the random matrix generator 130, the encryption matrix generator 131 multiplies the random matrix and the pseudorandom number matrix to generate a first encryption matrix having a size of k x n, and the random matrix A second encryption matrix having a size of k×k is generated by multiplying the public key matrix and the public key matrix stored in the matrix storage unit 128 and then adding the data matrix.

암호화 전송부(132)는 암호화 행렬 생성부(131)에 의해 상기 제1 암호화 행렬과 상기 제2 암호화 행렬이 생성되면, 상기 제1 암호화 행렬과 상기 제2 암호화 행렬을, 상기 문서 파일의 암호화 데이터로 지정하여 상기 작업 대상 서버로 전송함과 동시에, 상기 작업 지시 명령과 상기 조건 설정 명령을 전송한다.When the first encryption matrix and the second encryption matrix are generated by the encryption matrix generator 131, the encryption transmission unit 132 transmits the first encryption matrix and the second encryption matrix to the encrypted data of the document file. is specified and transmitted to the work target server, and at the same time, the work instruction command and the condition setting command are transmitted.

이하에서는, 데이터 행렬 생성부(129), 랜덤 행렬 생성부(130), 암호화 행렬 생성부(131) 및 암호화 전송부(132)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, operations of the data matrix generator 129, the random matrix generator 130, the encryption matrix generator 131, and the encryption transmission unit 132 will be described in detail by way of example.

먼저, 전술한 예와 같이, n을 '3', k를 '4'라고 하고, 클라이언트 단말(140)로부터, '문서 파일 1'이 수신되면서, '문서 파일 1'에 대한 포맷 변환 요청이 수신되었다고 하며, 서버 선택부(111)에 의해 '포맷 변환 서버 1(151)'이 상기 작업 대상 서버로 선택되었다고 하고, 그 이후, 동기 변환 이벤트 발생부(112)에 의해 상기 동기 변환 이벤트가 발생되었다고 가정하자.First, as in the above example, when n is '3' and k is '4', and 'document file 1' is received from the client terminal 140, a format conversion request for 'document file 1' is received. It is said that the 'format conversion server 1 (151)' is selected as the work target server by the server selection unit 111, and then the synchronization conversion event is generated by the synchronization conversion event generating unit 112 Let's assume.

그러면, 데이터 행렬 생성부(129)는 '문서 파일 1'을 구성하는 데이터를 '16개'의 부분 데이터들로 분할한 후, '16개'의 부분 데이터들을 성분으로 갖는 '4 x 4' 크기의 데이터 행렬인 '행렬 D'를 생성할 수 있다.Then, the data matrix generator 129 divides the data constituting 'document file 1' into '16' partial data, and then divides the '16' partial data into '4 x 4' size components. 'Matrix D', which is a data matrix of , can be created.

그 이후, 랜덤 행렬 생성부(130)는 행렬 저장부(128)에 저장되어 있는 상기 시드 값을 기초로, 상기 '9개'의 의사 난수들을 생성한 후, 상기 '9개'의 의사 난수들을 성분으로 갖는 '3 x 3' 크기의 상기 의사 난수 행렬인 '행렬 N'을 생성할 수 있고, 랜덤한 성분들로 구성된 '4 x 3' 크기의 랜덤 행렬을 생성할 수 있다. Thereafter, the random matrix generator 130 generates the '9' pseudorandom numbers based on the seed value stored in the matrix storage unit 128, and then converts the '9' pseudorandom numbers. A 'matrix N', which is the pseudorandom matrix having a size of '3 x 3' as a component, may be generated, and a random matrix having a size of '4 x 3' composed of random components may be generated.

이때, 상기 랜덤 행렬을 '행렬 R'이라고 하는 경우, 암호화 행렬 생성부(131)는 하기의 수학식 4에 따라, 상기 랜덤 행렬인 '행렬 R'과 상기 의사 난수 행렬인 '행렬 N'을 곱함으로써, '4 x 3' 크기의 제1 암호화 행렬을 '행렬 C1'과 같이 생성할 수 있다.At this time, when the random matrix is referred to as 'matrix R', the encryption matrix generator 131 multiplies the 'matrix R' as the random matrix and the 'matrix N' as the pseudorandom number matrix according to Equation 4 below. By doing so, a first encryption matrix having a size of '4 x 3' can be generated like 'matrix C 1 '.

Figure 112021077756267-pat00006
Figure 112021077756267-pat00006

또한, 암호화 행렬 생성부(131)는 하기의 수학식 5에 따라, '행렬 R'과 행렬 저장부(128)에 저장되어 있는 상기 공개키 행렬인 '행렬 O'를 서로 곱한 후 상기 데이터 행렬인 '행렬 D'를 더함으로써, '4 x 4' 크기의 제2 암호화 행렬을 '행렬 C2'와 같이 생성할 수 있다.In addition, the encryption matrix generator 131 multiplies the 'matrix R' and the 'matrix O', which is the public key matrix stored in the matrix storage unit 128, according to Equation 5 below, and then the data matrix, By adding 'matrix D', a second encryption matrix having a size of '4 x 4' can be generated as in 'matrix C 2 '.

Figure 112021077756267-pat00007
Figure 112021077756267-pat00007

이렇게, 암호화 행렬 생성부(131)에 의해, 상기 제1 암호화 행렬인 '행렬 C1'과 상기 제2 암호화 행렬인 '행렬 C2'가 생성되면, 암호화 전송부(132)는 '행렬 C1'과 '행렬 C2'를 '문서 파일 1'의 암호화 데이터로 지정하여 '포맷 변환 서버 1(151)'로 전송함과 동시에, 상기 작업 지시 명령과 상기 조건 설정 명령을 전송할 수 있다.In this way, when the first encryption matrix 'matrix C 1 ' and the second encryption matrix 'matrix C 2 ' are generated by the encryption matrix generator 131, the encryption transmission unit 132 transmits 'matrix C 1 '. ' and 'Matrix C 2 ' as encrypted data of 'document file 1' and transmitted to 'Format Conversion Server 1 (151)', and at the same time, the task instruction command and the condition setting command may be transmitted.

이때, 본 발명의 일실시예에 따르면, 상기 작업 대상 서버는 메모리 상에 상기 개인키 행렬을 사전 저장하고 있고, 포맷 변환 작업 할당 장치(110)로부터, 상기 문서 파일의 암호화 데이터가 수신됨과 동시에, 상기 작업 지시 명령과 상기 조건 설정 명령이 수신되면, 상기 문서 파일의 암호화 데이터로부터, 상기 제1 암호화 행렬과 상기 제2 암호화 행렬을 확인한 후, 상기 제1 암호화 행렬과 상기 개인키 행렬을 곱함으로써, k x k 크기의 연산 행렬을 생성하고, 상기 제2 암호화 행렬에서 상기 연산 행렬을 뺌으로써, 상기 데이터 행렬을 복원하며, 상기 데이터 행렬로부터, 상기 데이터 행렬의 성분들로 포함되어 있는 상기 k2개의 부분 데이터들을 추출하고, 상기 k2개의 부분 데이터들을 조합하여 상기 문서 파일을 구성하는 데이터를 복원한 후, 상기 작업 지시 명령에 따라, 상기 문서 파일에 대한 포맷 변환 작업을 수행할 수 있다.At this time, according to one embodiment of the present invention, the work target server pre-stores the private key matrix in a memory, and at the same time as the encrypted data of the document file is received from the format conversion job allocator 110, When the work instruction command and the condition setting command are received, after checking the first encryption matrix and the second encryption matrix from the encrypted data of the document file, by multiplying the first encryption matrix by the private key matrix, The data matrix is restored by generating an operation matrix of size kxk and subtracting the operation matrix from the second encryption matrix, and the k 2 partial data included as components of the data matrix from the data matrix After extracting and restoring data constituting the document file by combining the k 2 pieces of partial data, format conversion of the document file may be performed according to the work instruction command.

예컨대, 전술한 예와 같이, n을 '3', k를 '4'라고 하고, 상기 작업 대상 서버를 '포맷 변환 서버 1(151)'이라고 하며, '3 x 4' 크기의 개인키 행렬을 '행렬 P'라고 하는 경우, '포맷 변환 서버 1(151)'의 메모리 상에는 상기 개인키 행렬인 '행렬 P'가 저장되어 있을 수 있다. For example, as in the above example, let n be '3' and k be '4', the work target server be referred to as 'Format Conversion Server 1 (151)', and a '3 x 4' private key matrix In the case of 'matrix P', the 'matrix P', which is the private key matrix, may be stored in the memory of the 'format conversion server 1 (151)'.

또한, 전술한 예와 같이, 암호화 전송부(132)가 상기 제1 암호화 행렬인 '행렬 C1'과 상기 제2 암호화 행렬인 '행렬 C2'를, '문서 파일 1'의 암호화 데이터로 지정하여 '포맷 변환 서버 1(151)'로 전송함과 동시에, 상기 작업 지시 명령과 상기 조건 설정 명령을 전송함에 따라, '포맷 변환 서버 1(151)'에 '문서 파일 1'의 암호화 데이터가 수신됨과 동시에, 상기 작업 지시 명령과 상기 조건 설정 명령이 수신되었다고 가정하자.In addition, as in the above example, the encryption transmission unit 132 designates the 'matrix C 1 ' as the first encryption matrix and the 'matrix C 2 ' as the second encryption matrix as the encrypted data of the 'document file 1'. and transmits it to the 'Format Conversion Server 1 (151)', and at the same time, as the job instruction command and the condition setting command are transmitted, the 'Format Conversion Server 1 (151)' receives the encrypted data of 'document file 1' At the same time, it is assumed that the work instruction command and the condition setting command are received.

그러면, '포맷 변환 서버 1(151)'은 '문서 파일 1'의 암호화 데이터로부터 상기 제1 암호화 행렬인 '행렬 C1'과 상기 제2 암호화 행렬인 '행렬 C2'를 확인할 수 있다Then, the 'format conversion server 1 (151)' can check the first encryption matrix 'Matrix C 1 ' and the second encryption matrix 'Matrix C 2 ' from the encrypted data of the 'document file 1'.

그러고 나서, '포맷 변환 서버 1(151)'은 하기의 수학식 6에 따라, '행렬 C1'과 '행렬 P'를 곱함으로써, '4 x 4' 크기의 연산 행렬을 생성하고, '행렬 C2'에서 상기 연산 행렬을 뺌으로써, '행렬 D'를 복원할 수 있다.Then, 'Format Conversion Server 1 (151)' generates a '4 x 4' operation matrix by multiplying 'Matrix C 1 ' and 'Matrix P' according to Equation 6 below, and By subtracting the operation matrix from C 2 ', the 'matrix D' can be restored.

Figure 112021077756267-pat00008
Figure 112021077756267-pat00008

여기서, 상기 수학식 6의 연산 결과인 '행렬 D'는 하기의 수학식 7과 같은 연산 과정에 의해서 산출될 수 있다.Here, the 'matrix D', which is the result of the operation of Equation 6, can be calculated through the same operation process as in Equation 7 below.

Figure 112021077756267-pat00009
Figure 112021077756267-pat00009

이때, 전술한 예에 따르면, '행렬 D'는 '16개'의 부분 데이터들을 성분으로 갖는 '4 x 4' 크기의 데이터 행렬이므로, '포맷 변환 서버 1(151)'은 '행렬 D'가 복원되면, '행렬 D'로부터, '행렬 D'의 성분들로 포함되어 있는 '16개'의 부분 데이터들을 추출할 수 있다. At this time, according to the above example, since 'matrix D' is a '4 x 4' data matrix having '16' partial data elements, 'format conversion server 1 (151)' has 'matrix D' Once restored, '16' pieces of partial data included as components of 'matrix D' can be extracted from 'matrix D'.

이때, 전술한 예에 따르면, '16개'의 부분 데이터들은 데이터 행렬 생성부(129)에 의해, '문서 파일 1'을 구성하는 데이터가 분할되어 생성된 분할 데이터들이므로, '포맷 변환 서버 1(151)'은 '16개'의 부분 데이터들을 조합하여 '문서 파일 1'을 구성하는 데이터를 복원할 수 있고, 그 이후, 상기 작업 지시 명령에 따라, '문서 파일 1'에 대한 포맷 변환 작업을 수행할 수 있다.In this case, according to the above example, '16' pieces of partial data are divided data generated by dividing the data constituting 'document file 1' by the data matrix generator 129, so 'format conversion server 1 (151)' can restore data constituting 'document file 1' by combining '16 pieces' of partial data, and then, according to the work instruction command, the format conversion operation for 'document file 1' is performed. can be performed.

도 2는 본 발명의 일실시예에 따른 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치의 동작 방법을 도시한 순서도이다.FIG. 2 is a flowchart illustrating an operating method of a format conversion task allocator that supports efficiently converting a format of a document file by using a combination of a synchronous method and an asynchronous method according to an embodiment of the present invention.

단계(S210)에서는 클라이언트 단말로부터, 문서 파일이 수신되면서, 상기 문서 파일에 대한 포맷 변환 요청이 수신되면, 사전 지정된 복수의 포맷 변환 서버들 중 어느 하나의 포맷 변환 서버를 상기 문서 파일의 포맷 변환 작업을 수행할 작업 대상 서버로 선택한다.In step S210, when a document file is received from a client terminal and a format conversion request for the document file is received, one of a plurality of pre-designated format conversion servers is used to convert the format of the document file. Select as the target server for the operation to be performed.

단계(S220)에서는 상기 작업 대상 서버가 선택되면, 동기 방식으로 상기 문서 파일의 포맷 변환 작업을 수행하기 위한 동기 변환 이벤트를 발생시킨다.In step S220, if the work target server is selected, a synchronous conversion event is generated to perform the format conversion work of the document file in a synchronous manner.

단계(S230)에서는 상기 동기 변환 이벤트가 발생되면, 상기 작업 대상 서버로, 상기 문서 파일과, 상기 문서 파일의 포맷 변환 작업을 수행할 것을 지시하는 작업 지시 명령을 전송함과 동시에, 상기 작업 대상 서버로 인보크 조건(상기 인보크 조건은 상기 작업 대상 서버에서 상기 문서 파일의 포맷 변환 작업이 완료되면, 작업 완료 메시지를 생성하여 상기 포맷 변환 작업 할당 장치로 피드백할 것을 인보크시키는 조건임)을 설정할 것을 지시하는 조건 설정 명령을 전송한다.In step S230, when the synchronization conversion event occurs, the document file and a work instruction command instructing to perform a format conversion of the document file are transmitted to the work target server, and at the same time, the work target server to set an invoke condition (the invoke condition is a condition for invoking a job completion message to be fed back to the format conversion job allocator when the job target server completes the format conversion job of the document file) Sends a condition setting command that instructs

단계(S240)에서는 상기 작업 대상 서버로 상기 조건 설정 명령이 전송된 시점으로부터 사전 설정된 제1 시간이 경과하기 전에, 상기 작업 대상 서버에서 상기 문서 파일의 포맷 변환 작업이 완료됨에 따라, 상기 작업 대상 서버로부터 상기 작업 완료 메시지가 피드백되면, 상기 작업 대상 서버로, 포맷이 변환된 상기 문서 파일의 전송 요청을 전송하고, 상기 작업 대상 서버로부터, 포맷이 변환된 상기 문서 파일이 수신되면, 포맷이 변환된 상기 문서 파일을 상기 클라이언트 단말로 전송한다.In step S240, as the format conversion of the document file is completed in the work target server before a first preset time elapses from the time when the condition setting command is transmitted to the work target server, the work target server When the job completion message is fed back from the work target server, a request for transmitting the document file whose format is converted is transmitted to the work target server, and when the document file whose format is converted is received from the work target server, the format is converted. The document file is transmitted to the client terminal.

단계(S250)에서는 상기 작업 대상 서버로 상기 조건 설정 명령이 전송된 시점으로부터 상기 제1 시간이 경과할 때까지, 상기 작업 대상 서버로부터 상기 작업 완료 메시지가 피드백되지 않는 경우, 비동기 방식으로 상기 문서 파일의 포맷 변환 작업을 수행하기 위한 비동기 변환 이벤트를 발생시킨다.In step S250, when the task completion message is not fed back from the task server until the first time elapses from the time when the condition setting command is transmitted to the task server, the document file is asynchronously performed. Generates an asynchronous conversion event to perform format conversion.

단계(S260)에서는 상기 비동기 변환 이벤트가 발생되면, 상기 작업 대상 서버로, 상기 인보크 조건을 제거할 것을 지시하는 조건 제거 명령을 전송한다.In step S260, when the asynchronous conversion event occurs, a condition removal command instructing to remove the invoke condition is transmitted to the work target server.

단계(S270)에서는 상기 작업 대상 서버로 상기 조건 제거 명령이 전송되면, 사전 설정된 확인 주기 간격으로 상기 작업 대상 서버에 접속하여, 상기 문서 파일의 포맷 변환 작업이 완료되었는지 여부를 확인한다.In step S270, when the condition removal command is transmitted to the target server, the server is connected to the target server at a preset check interval to check whether the format conversion of the document file has been completed.

단계(S280)에서는 단계(S270)에 의해, t(t는 자연수임)번째 확인 주기에서, 상기 문서 파일의 포맷 변환 작업이 완료된 것으로 확인되면, 상기 작업 대상 서버로, 포맷이 변환된 상기 문서 파일의 전송 요청을 전송하고, 상기 작업 대상 서버로부터, 포맷이 변환된 상기 문서 파일이 수신되면, 포맷이 변환된 상기 문서 파일을 상기 클라이언트 단말로 전송한다.In step S280, if it is confirmed in step S270 that the format conversion of the document file is completed in the t (t is a natural number) th confirmation period, the document file whose format has been converted to the work target server A transfer request is transmitted, and when the format-converted document file is received from the work target server, the format-converted document file is transmitted to the client terminal.

이때, 본 발명의 일실시예에 따르면, 단계(S270)에서는 상기 확인 주기 간격으로 상기 작업 대상 서버에 접속하여, 상기 문서 파일의 포맷 변환 작업이 완료되었는지 여부를 확인할 때마다, 상기 문서 파일의 포맷 변환 작업에 대한 작업 완료율을 추가로 확인한 후, 상기 작업 완료율에 대한 정보를 상기 클라이언트 단말로 전송할 수 있다.At this time, according to one embodiment of the present invention, in step S270, the format of the document file is accessed whenever it is checked whether or not the format conversion job of the document file has been completed by accessing the work target server at the check interval. After additionally checking the job completion rate for the conversion job, information on the job completion rate may be transmitted to the client terminal.

또한, 본 발명의 일실시예에 따르면, 단계(S210)에서는 상기 복수의 포맷 변환 서버들 각각에 대응되는 것으로 사전 설정된 서로 다른 작업 할당 기준 정보(상기 작업 할당 기준 정보는 상기 복수의 포맷 변환 서버들 중 상기 작업 대상 서버를 선택하기 위한 기준치를 의미하는 정보로, 상기 작업 할당 기준 정보에는, 각 포맷 변환 서버에 대응되는 것으로 사전 설정된 기준 파일 크기 값과 기준 개체 수가 쌍으로 포함되어 있음)가 저장되어 있는 정보 저장부를 유지하는 단계, 상기 클라이언트 단말로부터, 상기 문서 파일이 수신되면서, 상기 문서 파일에 대한 포맷 변환 요청이 수신되면, 상기 복수의 포맷 변환 서버들과 접속하여, 상기 복수의 포맷 변환 서버들 중 유휴상태인 포맷 변환 서버가 존재하는지 여부를 확인하는 단계, 상기 복수의 포맷 변환 서버들 중 유휴상태인 포맷 변환 서버로, 적어도 하나의 제1 포맷 변환 서버가 존재하는 것으로 확인되면, 상기 문서 파일의 파일 크기 값을 확인하고, 상기 문서 파일에 따른 문서 내에 삽입되어 있는 개체의 개수를 카운트한 후, 상기 문서 파일의 파일 크기 값과 상기 개체의 개수를 성분으로 갖는 2차원의 벡터를 구성함으로써, 상기 문서 파일에 대응되는 특징 벡터를 생성하는 단계, 상기 정보 저장부를 참조하여, 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대응되는 기준 파일 크기 값과 기준 개체 수를 확인한 후, 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대해, 각 포맷 변환 서버에 대응되는 기준 파일 크기 값과 기준 개체 수를 성분으로 갖는 2차원의 벡터를 구성함으로써, 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대한 특징 벡터를 생성하는 단계, 상기 문서 파일에 대응되는 특징 벡터와 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대응되는 특징 벡터 간의 유클리드 거리를 연산하는 단계 및 상기 적어도 하나의 제1 포맷 변환 서버 중 상기 유클리드 거리가 최소로 연산된 포맷 변환 서버를, 상기 작업 대상 서버로 선택하는 단계를 포함할 수 있다.In addition, according to one embodiment of the present invention, in step S210, different job allocation reference information preset to correspond to each of the plurality of format conversion servers (the job allocation reference information is the plurality of format conversion servers) information indicating a reference value for selecting the target server, wherein the job assignment reference information includes a pair of a reference file size value and a reference number of objects preset to correspond to each format conversion server) are stored Maintaining an information storage unit in the client terminal, when the document file is received from the client terminal and a format conversion request for the document file is received, accessing the plurality of format conversion servers, the plurality of format conversion servers checking whether there is an idle format conversion server among the plurality of format conversion servers, if it is confirmed that at least one first format conversion server exists as an idle format conversion server among the plurality of format conversion servers, the document file After checking the file size value of the document file and counting the number of objects inserted into the document according to the document file, constructing a two-dimensional vector having the file size value of the document file and the number of objects as components, Generating a feature vector corresponding to the document file; After checking a reference file size value and a reference number of objects corresponding to each of the at least one first format conversion server with reference to the information storage unit, the at least one first format conversion server is checked. 1 For each format conversion server, a feature vector for each of the at least one first format conversion server is constructed by constructing a two-dimensional vector having a reference file size value corresponding to each format conversion server and a reference object number as components. generating, calculating a Euclidian distance between a feature vector corresponding to the document file and a feature vector corresponding to each of the at least one first format conversion server, and the Euclidian distance among the at least one first format conversion server Select the minimum calculated format conversion server as the work target server It may include a selection step.

이때, 본 발명의 일실시예에 따르면, 단계(S210)에서는 상기 유휴상태인 포맷 변환 서버가 존재하는지 여부를 확인하는 단계에 의해, 상기 복수의 포맷 변환 서버들 중 유휴상태인 포맷 변환 서버가 존재하지 않는 것으로 확인되는 경우, 상기 복수의 포맷 변환 서버들 각각의 현재 전력 소모량, 현재 CPU 사용률 및 현재 네트워크 트래픽 수치를 확인한 후, 상기 복수의 포맷 변환 서버들 각각에 대해, 각 포맷 변환 서버의 현재 전력 소모량, 현재 CPU 사용률 및 현재 네트워크 트래픽 수치를 성분으로 갖는 3차원의 벡터를 구성함으로써, 상기 복수의 포맷 변환 서버들 각각에 대응되는 상태 벡터를 생성하는 단계, 상기 복수의 포맷 변환 서버들 각각에 대응되는 상태 벡터가 생성되면, 상기 복수의 포맷 변환 서버들 각각에 대응되는 상태 벡터의 유클리드 노름을 연산하는 단계 및 상기 복수의 포맷 변환 서버들 중 상기 유클리드 노름이 최소로 연산된 포맷 변환 서버를 상기 작업 대상 서버로 선택하는 단계를 더 포함할 수 있다.At this time, according to one embodiment of the present invention, in step S210, by checking whether or not the format conversion server in an idle state exists, among the plurality of format conversion servers, an idle format conversion server exists. If it is confirmed that it does not, after checking the current power consumption, current CPU usage rate, and current network traffic value of each of the plurality of format conversion servers, for each of the plurality of format conversion servers, the current power of each format conversion server Generating a state vector corresponding to each of the plurality of format conversion servers by constructing a three-dimensional vector having consumption amount, current CPU usage rate, and current network traffic value as components, corresponding to each of the plurality of format conversion servers When a state vector is generated, calculating a Euclidean norm of a state vector corresponding to each of the plurality of format conversion servers, and selecting a format conversion server for which the Euclidean norm is the least calculated among the plurality of format conversion servers. A step of selecting a target server may be further included.

또한, 본 발명의 일실시예에 따르면, 단계(S280)에서는 의사 난수를 생성하기 위한 사전 설정된 시드 값과, n x k(n과 k는 서로 다른 2 이상의 자연수임) 크기의 공개키 행렬(상기 공개키 행렬은, 상기 시드 값을 기초로 생성되는 n2개의 의사 난수들을 성분으로 갖는 n x n 크기의 의사 난수 행렬과, 상기 복수의 포맷 변환 서버들 각각에 사전 발급되어 저장되어 있는 n x k 크기의 개인키 행렬이 서로 곱해져서 생성된 행렬임)이 저장되어 있는 행렬 저장부를 유지하는 단계, 상기 동기 변환 이벤트가 발생되면, 상기 문서 파일을 구성하는 데이터를 k2개의 부분 데이터들로 분할한 후, 상기 k2개의 부분 데이터들을 성분으로 갖는 k x k 크기의 데이터 행렬을 생성하는 단계, 상기 데이터 행렬이 생성되면, 상기 행렬 저장부에 저장되어 있는 상기 시드 값을 기초로, 상기 n2개의 의사 난수들을 생성한 후, 상기 n2개의 의사 난수들을 성분으로 갖는 n x n 크기의 상기 의사 난수 행렬을 생성하고, 랜덤한 성분들로 구성된 k x n 크기의 랜덤 행렬을 생성하는 단계, 상기 랜덤 행렬이 생성되면, 상기 랜덤 행렬과 상기 의사 난수 행렬을 곱함으로써, k x n 크기의 제1 암호화 행렬을 생성하고, 상기 랜덤 행렬과 상기 행렬 저장부에 저장되어 있는 상기 공개키 행렬을 서로 곱한 후 상기 데이터 행렬을 더함으로써, k x k 크기의 제2 암호화 행렬을 생성하는 단계 및 상기 제1 암호화 행렬과 상기 제2 암호화 행렬이 생성되면, 상기 제1 암호화 행렬과 상기 제2 암호화 행렬을, 상기 문서 파일의 암호화 데이터로 지정하여 상기 작업 대상 서버로 전송함과 동시에, 상기 작업 지시 명령과 상기 조건 설정 명령을 전송하는 단계를 포함할 수 있다.In addition, according to one embodiment of the present invention, in step S280, a preset seed value for generating a pseudorandom number and a public key matrix of size nxk (where n and k are two or more different natural numbers) (the public key The matrix includes an nxn size pseudorandom number matrix having n 2 pseudorandom numbers generated based on the seed value as components and an nxk size private key matrix pre-issued and stored in each of the plurality of format conversion servers. maintaining a matrix storage unit in which a matrix generated by multiplying each other) is stored; when the synchronization conversion event occurs, after dividing the data constituting the document file into k 2 pieces of data, the k 2 pieces of data generating a data matrix having a size of kxk having partial data as components; when the data matrix is generated, after generating the n 2 pseudorandom numbers based on the seed value stored in the matrix storage unit, the Generating the pseudorandom matrix of size nxn having n 2 pseudorandom numbers as components and generating a random matrix of size kxn composed of random components, when the random matrix is generated, the random matrix and the pseudorandom number A first encryption matrix having a size of kxn is generated by multiplying matrices, and a second encryption matrix having a size of kxk is generated by multiplying the random matrix and the public key matrix stored in the matrix storage unit and then adding the data matrix. Generating and when the first encryption matrix and the second encryption matrix are generated, designating the first encryption matrix and the second encryption matrix as encryption data of the document file and transmitting them to the work target server; At the same time, it may include transmitting the work instruction command and the condition setting command.

이때, 상기 작업 대상 서버는 메모리 상에 상기 개인키 행렬을 사전 저장하고 있고, 상기 포맷 변환 작업 할당 장치로부터, 상기 문서 파일의 암호화 데이터가 수신됨과 동시에, 상기 작업 지시 명령과 상기 조건 설정 명령이 수신되면, 상기 문서 파일의 암호화 데이터로부터, 상기 제1 암호화 행렬과 상기 제2 암호화 행렬을 확인한 후, 상기 제1 암호화 행렬과 상기 개인키 행렬을 곱함으로써, k x k 크기의 연산 행렬을 생성하고, 상기 제2 암호화 행렬에서 상기 연산 행렬을 뺌으로써, 상기 데이터 행렬을 복원하며, 상기 데이터 행렬로부터, 상기 데이터 행렬의 성분들로 포함되어 있는 상기 k2개의 부분 데이터들을 추출하고, 상기 k2개의 부분 데이터들을 조합하여 상기 문서 파일을 구성하는 데이터를 복원한 후, 상기 작업 지시 명령에 따라, 상기 문서 파일에 대한 포맷 변환 작업을 수행할 수 있다.At this time, the work target server pre-stores the private key matrix in memory, and at the same time as the encrypted data of the document file is received from the format conversion task allocator, the work instruction command and the condition setting command are received. , after checking the first encryption matrix and the second encryption matrix from the encrypted data of the document file, by multiplying the first encryption matrix and the private key matrix, an operation matrix having a size of kxk is generated, and the 2 Restoring the data matrix by subtracting the operation matrix from the encryption matrix, extracting the k 2 partial data included as components of the data matrix from the data matrix, and extracting the k 2 partial data After restoring the data constituting the document file by combining them, a format conversion job for the document file may be performed according to the work instruction command.

이상, 도 2를 참조하여 본 발명 일실시예에 따른 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명 일실시예에 따른 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치의 동작 방법은 도 1을 이용하여 설명한 포맷 변환 작업 할당 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, with reference to FIG. 2, the operating method of the format conversion task allocating apparatus for efficiently converting the format of a document file by using a combination of a synchronous method and an asynchronous method according to an embodiment of the present invention has been described. Here, the operating method of the format conversion task allocating device that supports efficient format conversion of a document file by using a combination of a synchronous method and an asynchronous method according to an embodiment of the present invention is a format conversion task described with reference to FIG. Since it may correspond to the configuration of the operation of the allocation device 110, a detailed description thereof will be omitted.

본 발명의 일실시예에 따른 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.A method of operating a format conversion task allocator that supports efficient format conversion of a document file by using a combination of a synchronous method and an asynchronous method according to an embodiment of the present invention is a storage for execution through combination with a computer. It may be implemented as a computer program stored on a medium.

또한, 본 발명의 일실시예에 따른 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, the method of operating a format conversion task allocator that supports efficient format conversion of a document file by using a combination of a synchronous method and an asynchronous method according to an embodiment of the present invention can be performed through various computer means. It may be implemented in the form of program instructions and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the medium may be those specially designed and configured for the present invention or those known and usable to those skilled in computer software. Examples of computer-readable recording media 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 floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by specific details such as specific components and limited embodiments and drawings, but these are provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , Those skilled in the art in the field to which the present invention belongs can make various modifications and variations from these descriptions.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and it will be said that not only the claims to be described later, but also all modifications equivalent or equivalent to these claims belong to the scope of the present invention. .

110: 동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치
111: 서버 선택부 112: 동기 변환 이벤트 발생부
113: 명령 전송부 114: 제1 문서 파일 전송부
115: 비동기 변환 이벤트 발생부 116: 조건 제거 명령 전송부
117: 작업 확인부 118: 제2 문서 파일 전송부
119: 정보 저장부 120: 서버 확인부
121: 파일 특징 벡터 생성부 122: 서버 특징 벡터 생성부
123: 거리 연산부 124: 선택 처리부
125: 상태 벡터 생성부 126: 노름 연산부
127: 대체 선택부 128: 행렬 저장부
129: 데이터 행렬 생성부 130: 랜덤 행렬 생성부
131: 암호화 행렬 생성부 132: 암호화 전송부
140: 클라이언트 단말
151, 152, 153: 복수의 포맷 변환 서버들
110: A format conversion task assignment device that supports efficiently converting the format of a document file by mixing a synchronous method and an asynchronous method
111: server selection unit 112: synchronous conversion event generating unit
113: command transmission unit 114: first document file transmission unit
115: asynchronous conversion event generation unit 116: condition removal command transmission unit
117: job confirmation unit 118: second document file transmission unit
119: information storage unit 120: server confirmation unit
121: file feature vector generator 122: server feature vector generator
123: distance calculation unit 124: selection processing unit
125: state vector generation unit 126: norm operation unit
127: alternative selection unit 128: matrix storage unit
129: data matrix generator 130: random matrix generator
131: encryption matrix generation unit 132: encryption transmission unit
140: client terminal
151, 152, 153: a plurality of format conversion servers

Claims (12)

동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치에 있어서,
클라이언트 단말로부터, 문서 파일이 수신되면서, 상기 문서 파일에 대한 포맷 변환 요청이 수신되면, 사전 지정된 복수의 포맷 변환 서버들 중 어느 하나의 포맷 변환 서버를 상기 문서 파일의 포맷 변환 작업을 수행할 작업 대상 서버로 선택하는 서버 선택부;
상기 작업 대상 서버가 선택되면, 동기(synchronous) 방식으로 상기 문서 파일의 포맷 변환 작업을 수행하기 위한 동기 변환 이벤트를 발생시키는 동기 변환 이벤트 발생부;
상기 동기 변환 이벤트가 발생되면, 상기 작업 대상 서버로, 상기 문서 파일과, 상기 문서 파일의 포맷 변환 작업을 수행할 것을 지시하는 작업 지시 명령을 전송함과 동시에, 상기 작업 대상 서버로 인보크(invoke) 조건 - 상기 인보크 조건은 상기 작업 대상 서버에서 상기 문서 파일의 포맷 변환 작업이 완료되면, 작업 완료 메시지를 생성하여 상기 포맷 변환 작업 할당 장치로 피드백할 것을 인보크시키는 조건임 - 을 설정할 것을 지시하는 조건 설정 명령을 전송하는 명령 전송부;
상기 작업 대상 서버로 상기 조건 설정 명령이 전송된 시점으로부터 사전 설정된 제1 시간이 경과하기 전에, 상기 작업 대상 서버에서 상기 문서 파일의 포맷 변환 작업이 완료됨에 따라, 상기 작업 대상 서버로부터 상기 작업 완료 메시지가 피드백되면, 상기 작업 대상 서버로, 포맷이 변환된 상기 문서 파일의 전송 요청을 전송하고, 상기 작업 대상 서버로부터, 포맷이 변환된 상기 문서 파일이 수신되면, 포맷이 변환된 상기 문서 파일을 상기 클라이언트 단말로 전송하는 제1 문서 파일 전송부;
상기 작업 대상 서버로 상기 조건 설정 명령이 전송된 시점으로부터 상기 제1 시간이 경과할 때까지, 상기 작업 대상 서버로부터 상기 작업 완료 메시지가 피드백되지 않는 경우, 비동기(asynchronous) 방식으로 상기 문서 파일의 포맷 변환 작업을 수행하기 위한 비동기 변환 이벤트를 발생시키는 비동기 변환 이벤트 발생부;
상기 비동기 변환 이벤트가 발생되면, 상기 작업 대상 서버로, 상기 인보크 조건을 제거할 것을 지시하는 조건 제거 명령을 전송하는 조건 제거 명령 전송부;
상기 작업 대상 서버로 상기 조건 제거 명령이 전송되면, 사전 설정된 확인 주기 간격으로 상기 작업 대상 서버에 접속하여, 상기 문서 파일의 포맷 변환 작업이 완료되었는지 여부를 확인하는 작업 확인부; 및
상기 작업 확인부에 의해, t(t는 자연수임)번째 확인 주기에서, 상기 문서 파일의 포맷 변환 작업이 완료된 것으로 확인되면, 상기 작업 대상 서버로, 포맷이 변환된 상기 문서 파일의 전송 요청을 전송하고, 상기 작업 대상 서버로부터, 포맷이 변환된 상기 문서 파일이 수신되면, 포맷이 변환된 상기 문서 파일을 상기 클라이언트 단말로 전송하는 제2 문서 파일 전송부
를 포함하는 포맷 변환 작업 할당 장치.
A format conversion task assignment device that supports efficient format conversion of a document file by mixing a synchronous method and an asynchronous method,
When a document file is received from a client terminal and a format conversion request for the document file is received, any one format conversion server among a plurality of pre-designated format conversion servers is a work target to perform format conversion of the document file. a server selection unit for selecting a server;
a synchronous conversion event generating unit generating a synchronous conversion event for performing format conversion of the document file in a synchronous manner when the work target server is selected;
When the synchronization conversion event occurs, the document file and a work instruction command instructing to perform the format conversion of the document file are transmitted to the work target server, and at the same time, the work target server is invoked. ) condition - the invoke condition is a condition for invoking a job completion message to be fed back to the format conversion job allocator when the job target server completes the format conversion job of the document file - instructs to set a command transmission unit for transmitting a condition setting command;
Before the first preset time elapses from the time when the condition setting command is transmitted to the work target server, as the format conversion job of the document file is completed in the work target server, the job completion message from the work target server If is fed back, a request for transmitting the document file whose format has been converted is transmitted to the work target server, and when the document file whose format has been converted is received from the work target server, the document file whose format has been converted is sent to the work target server. A first document file transmission unit for transmitting to a client terminal;
When the task completion message is not fed back from the task server until the first time elapses from the time when the condition setting command is transmitted to the task server, the document file is formatted in an asynchronous manner. an asynchronous conversion event generation unit generating an asynchronous conversion event for performing a conversion operation;
a condition removal command transmission unit for transmitting a condition removal command instructing to remove the invoke condition to the work target server when the asynchronous conversion event occurs;
When the condition removal command is transmitted to the work target server, a job check unit that accesses the work target server at a preset check interval and checks whether the format conversion of the document file has been completed; and
If it is confirmed by the job confirmation unit that the format conversion job of the document file has been completed in the t (t is a natural number) th verification period, a transfer request of the document file whose format has been converted is transmitted to the job target server and a second document file transmitter for transmitting the format-converted document file to the client terminal when the format-converted document file is received from the work target server.
A format conversion task assignment device comprising a.
제1항에 있어서,
상기 작업 확인부는
상기 확인 주기 간격으로 상기 작업 대상 서버에 접속하여, 상기 문서 파일의 포맷 변환 작업이 완료되었는지 여부를 확인할 때마다, 상기 문서 파일의 포맷 변환 작업에 대한 작업 완료율을 추가로 확인한 후, 상기 작업 완료율에 대한 정보를 상기 클라이언트 단말로 전송하는 것을 특징으로 하는 포맷 변환 작업 할당 장치.
According to claim 1,
The work confirmation section
Every time it is accessed to the work target server at the check interval and whether or not the format conversion of the document file has been completed, the work completion rate for the document file format conversion work is additionally checked, and then the work completion rate is determined. Format conversion task assignment device, characterized in that for transmitting the information on the client terminal.
제1항에 있어서,
상기 서버 선택부는
상기 복수의 포맷 변환 서버들 각각에 대응되는 것으로 사전 설정된 서로 다른 작업 할당 기준 정보 - 상기 작업 할당 기준 정보는 상기 복수의 포맷 변환 서버들 중 상기 작업 대상 서버를 선택하기 위한 기준치를 의미하는 정보로, 상기 작업 할당 기준 정보에는, 각 포맷 변환 서버에 대응되는 것으로 사전 설정된 기준 파일 크기 값과 기준 개체 수가 쌍으로 포함되어 있음 - 가 저장되어 있는 정보 저장부;
상기 클라이언트 단말로부터, 상기 문서 파일이 수신되면서, 상기 문서 파일에 대한 포맷 변환 요청이 수신되면, 상기 복수의 포맷 변환 서버들과 접속하여, 상기 복수의 포맷 변환 서버들 중 유휴(idle)상태인 포맷 변환 서버가 존재하는지 여부를 확인하는 서버 확인부;
상기 복수의 포맷 변환 서버들 중 유휴상태인 포맷 변환 서버로, 적어도 하나의 제1 포맷 변환 서버가 존재하는 것으로 확인되면, 상기 문서 파일의 파일 크기 값을 확인하고, 상기 문서 파일에 따른 문서 내에 삽입되어 있는 개체의 개수를 카운트한 후, 상기 문서 파일의 파일 크기 값과 상기 개체의 개수를 성분으로 갖는 2차원의 벡터를 구성함으로써, 상기 문서 파일에 대응되는 특징 벡터를 생성하는 파일 특징 벡터 생성부;
상기 정보 저장부를 참조하여, 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대응되는 기준 파일 크기 값과 기준 개체 수를 확인한 후, 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대해, 각 포맷 변환 서버에 대응되는 기준 파일 크기 값과 기준 개체 수를 성분으로 갖는 2차원의 벡터를 구성함으로써, 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대한 특징 벡터를 생성하는 서버 특징 벡터 생성부;
상기 문서 파일에 대응되는 특징 벡터와 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대응되는 특징 벡터 간의 유클리드 거리(Euclidean distance)를 연산하는 거리 연산부; 및
상기 적어도 하나의 제1 포맷 변환 서버 중 상기 유클리드 거리가 최소로 연산된 포맷 변환 서버를, 상기 작업 대상 서버로 선택하는 선택 처리부
를 포함하는 포맷 변환 작업 할당 장치.
According to claim 1,
The server selector
Different job assignment criteria information preset to correspond to each of the plurality of format conversion servers - the job assignment criteria information is information indicating a reference value for selecting the work target server from among the plurality of format conversion servers, an information storage unit in which the job assignment reference information includes a pair of a reference file size value and a reference number of entities corresponding to each format conversion server;
When the document file is received from the client terminal and a format conversion request for the document file is received, the client terminal connects to the plurality of format conversion servers and formats the format that is idle among the plurality of format conversion servers. a server checking unit that checks whether a conversion server exists;
If it is confirmed that at least one first format conversion server exists among the plurality of format conversion servers in an idle state, the file size value of the document file is checked and inserted into the document according to the document file. A file feature vector generator for generating a feature vector corresponding to the document file by constructing a two-dimensional vector having the file size value of the document file and the number of the objects as components after counting the number of objects in the document file. ;
After checking the reference file size value and the reference number of objects corresponding to each of the at least one first format conversion server with reference to the information storage unit, for each of the at least one first format conversion server, to each format conversion server. a server feature vector generation unit configured to generate a feature vector for each of the at least one first format conversion server by constructing a two-dimensional vector having a corresponding reference file size value and a reference object number as components;
a distance calculating unit calculating a Euclidean distance between a feature vector corresponding to the document file and a feature vector corresponding to each of the at least one first format conversion server; and
A selection processing unit selecting a format conversion server for which the Euclidean distance is calculated as the minimum among the at least one first format conversion server as the work target server.
A format conversion task assignment device comprising a.
제3항에 있어서,
상기 서버 선택부는
상기 서버 확인부에 의해, 상기 복수의 포맷 변환 서버들 중 유휴상태인 포맷 변환 서버가 존재하지 않는 것으로 확인되는 경우, 상기 복수의 포맷 변환 서버들 각각의 현재 전력 소모량, 현재 CPU 사용률 및 현재 네트워크 트래픽 수치를 확인한 후, 상기 복수의 포맷 변환 서버들 각각에 대해, 각 포맷 변환 서버의 현재 전력 소모량, 현재 CPU 사용률 및 현재 네트워크 트래픽 수치를 성분으로 갖는 3차원의 벡터를 구성함으로써, 상기 복수의 포맷 변환 서버들 각각에 대응되는 상태 벡터를 생성하는 상태 벡터 생성부;
상기 복수의 포맷 변환 서버들 각각에 대응되는 상태 벡터가 생성되면, 상기 복수의 포맷 변환 서버들 각각에 대응되는 상태 벡터의 유클리드 노름(Euclidean norm)을 연산하는 노름 연산부; 및
상기 복수의 포맷 변환 서버들 중 상기 유클리드 노름이 최소로 연산된 포맷 변환 서버를 상기 작업 대상 서버로 선택하는 대체 선택 처리부
를 더 포함하는 포맷 변환 작업 할당 장치.
According to claim 3,
The server selector
If it is confirmed by the server checking unit that there is no format conversion server in an idle state among the plurality of format conversion servers, the current power consumption, current CPU usage rate, and current network traffic of each of the plurality of format conversion servers. After checking the values, a three-dimensional vector having as components the current power consumption, current CPU utilization, and current network traffic value of each of the plurality of format conversion servers is constructed for each of the plurality of format conversion servers, a state vector generator for generating a state vector corresponding to each of the servers;
a norm calculation unit calculating a Euclidean norm of the state vector corresponding to each of the plurality of format conversion servers when the state vector corresponding to each of the plurality of format conversion servers is generated; and
An alternative selection processing unit for selecting a format conversion server for which the Euclidean norm has been calculated to a minimum among the plurality of format conversion servers as the work target server.
A format conversion task assignment device further comprising a.
제1항에 있어서,
상기 명령 전송부는
의사 난수(Pseudo-Random Number)를 생성하기 위한 사전 설정된 시드 값(seed)과, n x k(n과 k는 서로 다른 2 이상의 자연수임) 크기의 공개키 행렬 - 상기 공개키 행렬은, 상기 시드 값을 기초로 생성되는 n2개의 의사 난수들을 성분으로 갖는 n x n 크기의 의사 난수 행렬과, 상기 복수의 포맷 변환 서버들 각각에 사전 발급되어 저장되어 있는 n x k 크기의 개인키 행렬이 서로 곱해져서 생성된 행렬임 - 이 저장되어 있는 행렬 저장부;
상기 동기 변환 이벤트가 발생되면, 상기 문서 파일을 구성하는 데이터를 k2개의 부분 데이터들로 분할한 후, 상기 k2개의 부분 데이터들을 성분으로 갖는 k x k 크기의 데이터 행렬을 생성하는 데이터 행렬 생성부;
상기 데이터 행렬이 생성되면, 상기 행렬 저장부에 저장되어 있는 상기 시드 값을 기초로, 상기 n2개의 의사 난수들을 생성한 후, 상기 n2개의 의사 난수들을 성분으로 갖는 n x n 크기의 상기 의사 난수 행렬을 생성하고, 랜덤한 성분들로 구성된 k x n 크기의 랜덤 행렬을 생성하는 랜덤 행렬 생성부;
상기 랜덤 행렬이 생성되면, 상기 랜덤 행렬과 상기 의사 난수 행렬을 곱함으로써, k x n 크기의 제1 암호화 행렬을 생성하고, 상기 랜덤 행렬과 상기 행렬 저장부에 저장되어 있는 상기 공개키 행렬을 서로 곱한 후 상기 데이터 행렬을 더함으로써, k x k 크기의 제2 암호화 행렬을 생성하는 암호화 행렬 생성부; 및
상기 제1 암호화 행렬과 상기 제2 암호화 행렬이 생성되면, 상기 제1 암호화 행렬과 상기 제2 암호화 행렬을, 상기 문서 파일의 암호화 데이터로 지정하여 상기 작업 대상 서버로 전송함과 동시에, 상기 작업 지시 명령과 상기 조건 설정 명령을 전송하는 암호화 전송부
를 포함하고,
상기 작업 대상 서버는
메모리 상에 상기 개인키 행렬을 사전 저장하고 있고, 상기 포맷 변환 작업 할당 장치로부터, 상기 문서 파일의 암호화 데이터가 수신됨과 동시에, 상기 작업 지시 명령과 상기 조건 설정 명령이 수신되면, 상기 문서 파일의 암호화 데이터로부터, 상기 제1 암호화 행렬과 상기 제2 암호화 행렬을 확인한 후, 상기 제1 암호화 행렬과 상기 개인키 행렬을 곱함으로써, k x k 크기의 연산 행렬을 생성하고, 상기 제2 암호화 행렬에서 상기 연산 행렬을 뺌으로써, 상기 데이터 행렬을 복원하며, 상기 데이터 행렬로부터, 상기 데이터 행렬의 성분들로 포함되어 있는 상기 k2개의 부분 데이터들을 추출하고, 상기 k2개의 부분 데이터들을 조합하여 상기 문서 파일을 구성하는 데이터를 복원한 후, 상기 작업 지시 명령에 따라, 상기 문서 파일에 대한 포맷 변환 작업을 수행하는 것을 특징으로 하는 포맷 변환 작업 할당 장치.
According to claim 1,
The command transmission unit
A preset seed value for generating a pseudo-random number and a public key matrix of size nxk (where n and k are two or more different natural numbers) - the public key matrix includes the seed value A matrix generated by multiplying an nxn-sized pseudorandom number matrix generated based on n 2 pseudorandom numbers as components and an nxk-sized private key matrix pre-issued and stored in each of the plurality of format conversion servers. - a matrix storage unit in which this is stored;
a data matrix generator configured to divide the data constituting the document file into k 2 pieces of partial data when the synchronization conversion event occurs, and then generate a kxk-sized data matrix having the k 2 pieces of partial data as components;
When the data matrix is generated, after generating the n 2 pseudorandom numbers based on the seed value stored in the matrix storage unit, the pseudorandom matrix having an nxn size having the n 2 pseudorandom numbers as components a random matrix generator for generating a kxn-sized random matrix composed of random components;
When the random matrix is generated, a first encryption matrix having a size of kxn is generated by multiplying the random matrix and the pseudorandom number matrix, and the random matrix is multiplied by the public key matrix stored in the matrix storage unit. an encryption matrix generating unit generating a kxk second encryption matrix by adding the data matrices; and
When the first encryption matrix and the second encryption matrix are generated, the first encryption matrix and the second encryption matrix are designated as encryption data of the document file and transmitted to the work target server, and at the same time, the work instruction Encryption transmission unit for transmitting the command and the condition setting command
including,
The target server is
If the private key matrix is pre-stored in memory and the encryption data of the document file is received from the format conversion job allocator and the job instruction command and the condition setting command are received, encryption of the document file After verifying the first encryption matrix and the second encryption matrix from data, by multiplying the first encryption matrix and the private key matrix, an operation matrix having a kxk size is generated, and the operation matrix in the second encryption matrix Restoring the data matrix by subtracting , extracting the k 2 partial data included as components of the data matrix from the data matrix, and configuring the document file by combining the k 2 partial data After restoring the data to be restored, according to the work instruction command, the format conversion task assignment device characterized in that for performing the format conversion work on the document file.
동기 방식과 비동기 방식을 혼용하여 효율적으로 문서 파일의 포맷 변환 작업을 수행할 수 있도록 지원하는 포맷 변환 작업 할당 장치의 동작 방법에 있어서,
클라이언트 단말로부터, 문서 파일이 수신되면서, 상기 문서 파일에 대한 포맷 변환 요청이 수신되면, 사전 지정된 복수의 포맷 변환 서버들 중 어느 하나의 포맷 변환 서버를 상기 문서 파일의 포맷 변환 작업을 수행할 작업 대상 서버로 선택하는 단계;
상기 작업 대상 서버가 선택되면, 동기(synchronous) 방식으로 상기 문서 파일의 포맷 변환 작업을 수행하기 위한 동기 변환 이벤트를 발생시키는 단계;
상기 동기 변환 이벤트가 발생되면, 상기 작업 대상 서버로, 상기 문서 파일과, 상기 문서 파일의 포맷 변환 작업을 수행할 것을 지시하는 작업 지시 명령을 전송함과 동시에, 상기 작업 대상 서버로 인보크(invoke) 조건 - 상기 인보크 조건은 상기 작업 대상 서버에서 상기 문서 파일의 포맷 변환 작업이 완료되면, 작업 완료 메시지를 생성하여 상기 포맷 변환 작업 할당 장치로 피드백할 것을 인보크시키는 조건임 - 을 설정할 것을 지시하는 조건 설정 명령을 전송하는 단계;
상기 작업 대상 서버로 상기 조건 설정 명령이 전송된 시점으로부터 사전 설정된 제1 시간이 경과하기 전에, 상기 작업 대상 서버에서 상기 문서 파일의 포맷 변환 작업이 완료됨에 따라, 상기 작업 대상 서버로부터 상기 작업 완료 메시지가 피드백되면, 상기 작업 대상 서버로, 포맷이 변환된 상기 문서 파일의 전송 요청을 전송하고, 상기 작업 대상 서버로부터, 포맷이 변환된 상기 문서 파일이 수신되면, 포맷이 변환된 상기 문서 파일을 상기 클라이언트 단말로 전송하는 단계;
상기 작업 대상 서버로 상기 조건 설정 명령이 전송된 시점으로부터 상기 제1 시간이 경과할 때까지, 상기 작업 대상 서버로부터 상기 작업 완료 메시지가 피드백되지 않는 경우, 비동기(asynchronous) 방식으로 상기 문서 파일의 포맷 변환 작업을 수행하기 위한 비동기 변환 이벤트를 발생시키는 단계;
상기 비동기 변환 이벤트가 발생되면, 상기 작업 대상 서버로, 상기 인보크 조건을 제거할 것을 지시하는 조건 제거 명령을 전송하는 단계;
상기 작업 대상 서버로 상기 조건 제거 명령이 전송되면, 사전 설정된 확인 주기 간격으로 상기 작업 대상 서버에 접속하여, 상기 문서 파일의 포맷 변환 작업이 완료되었는지 여부를 확인하는 단계; 및
상기 문서 파일의 포맷 변환 작업이 완료되었는지 여부를 확인하는 단계에 의해, t(t는 자연수임)번째 확인 주기에서, 상기 문서 파일의 포맷 변환 작업이 완료된 것으로 확인되면, 상기 작업 대상 서버로, 포맷이 변환된 상기 문서 파일의 전송 요청을 전송하고, 상기 작업 대상 서버로부터, 포맷이 변환된 상기 문서 파일이 수신되면, 포맷이 변환된 상기 문서 파일을 상기 클라이언트 단말로 전송하는 단계
를 포함하는 포맷 변환 작업 할당 장치의 동작 방법.
In the operating method of a format conversion task allocator that supports efficient format conversion of a document file by using a synchronous method and an asynchronous method,
When a document file is received from a client terminal and a format conversion request for the document file is received, any one format conversion server among a plurality of pre-designated format conversion servers is a work target to perform format conversion of the document file. selecting as a server;
generating a synchronous conversion event for performing format conversion of the document file in a synchronous manner when the work target server is selected;
When the synchronization conversion event occurs, the document file and a work instruction command instructing to perform the format conversion of the document file are transmitted to the work target server, and at the same time, the work target server is invoked. ) condition - the invoke condition is a condition for invoking a job completion message to be fed back to the format conversion job allocator when the job target server completes the format conversion job of the document file - instructs to set Transmitting a condition setting command to;
Before the first preset time elapses from the time when the condition setting command is transmitted to the work target server, as the format conversion job of the document file is completed in the work target server, the job completion message from the work target server If is fed back, a request for transmitting the document file whose format has been converted is transmitted to the work target server, and when the document file whose format has been converted is received from the work target server, the document file whose format has been converted is sent to the work target server. transmitting to a client terminal;
When the task completion message is not fed back from the task server until the first time elapses from the time when the condition setting command is transmitted to the task server, the document file is formatted in an asynchronous manner. generating an asynchronous conversion event to perform conversion work;
transmitting a condition removal command instructing to remove the invoke condition to the work target server when the asynchronous conversion event occurs;
when the condition removal command is transmitted to the work target server, accessing the work target server at a preset check interval and checking whether format conversion of the document file has been completed; and
In the step of checking whether the format conversion of the document file has been completed, in the t (t is a natural number) th confirmation period, if it is confirmed that the format conversion of the document file has been completed, to the work target server, the format Transmitting a transmission request for the converted document file, and transmitting the format-converted document file to the client terminal when the format-converted document file is received from the work target server.
A method of operating a format conversion task assignment device comprising a.
제6항에 있어서,
상기 문서 파일의 포맷 변환 작업이 완료되었는지 여부를 확인하는 단계는
상기 확인 주기 간격으로 상기 작업 대상 서버에 접속하여, 상기 문서 파일의 포맷 변환 작업이 완료되었는지 여부를 확인할 때마다, 상기 문서 파일의 포맷 변환 작업에 대한 작업 완료율을 추가로 확인한 후, 상기 작업 완료율에 대한 정보를 상기 클라이언트 단말로 전송하는 것을 특징으로 하는 포맷 변환 작업 할당 장치의 동작 방법.
According to claim 6,
The step of checking whether the format conversion operation of the document file is completed
Every time it is accessed to the work target server at the check interval and whether or not the format conversion of the document file has been completed, the work completion rate for the document file format conversion work is additionally checked, and then the work completion rate is determined. A method of operating an apparatus for assigning a format conversion task, characterized in that for transmitting information about the format to the client terminal.
제6항에 있어서,
상기 문서 파일의 포맷 변환 작업을 수행할 작업 대상 서버로 선택하는 단계는
상기 복수의 포맷 변환 서버들 각각에 대응되는 것으로 사전 설정된 서로 다른 작업 할당 기준 정보 - 상기 작업 할당 기준 정보는 상기 복수의 포맷 변환 서버들 중 상기 작업 대상 서버를 선택하기 위한 기준치를 의미하는 정보로, 상기 작업 할당 기준 정보에는, 각 포맷 변환 서버에 대응되는 것으로 사전 설정된 기준 파일 크기 값과 기준 개체 수가 쌍으로 포함되어 있음 - 가 저장되어 있는 정보 저장부를 유지하는 단계;
상기 클라이언트 단말로부터, 상기 문서 파일이 수신되면서, 상기 문서 파일에 대한 포맷 변환 요청이 수신되면, 상기 복수의 포맷 변환 서버들과 접속하여, 상기 복수의 포맷 변환 서버들 중 유휴(idle)상태인 포맷 변환 서버가 존재하는지 여부를 확인하는 단계;
상기 복수의 포맷 변환 서버들 중 유휴상태인 포맷 변환 서버로, 적어도 하나의 제1 포맷 변환 서버가 존재하는 것으로 확인되면, 상기 문서 파일의 파일 크기 값을 확인하고, 상기 문서 파일에 따른 문서 내에 삽입되어 있는 개체의 개수를 카운트한 후, 상기 문서 파일의 파일 크기 값과 상기 개체의 개수를 성분으로 갖는 2차원의 벡터를 구성함으로써, 상기 문서 파일에 대응되는 특징 벡터를 생성하는 단계;
상기 정보 저장부를 참조하여, 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대응되는 기준 파일 크기 값과 기준 개체 수를 확인한 후, 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대해, 각 포맷 변환 서버에 대응되는 기준 파일 크기 값과 기준 개체 수를 성분으로 갖는 2차원의 벡터를 구성함으로써, 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대한 특징 벡터를 생성하는 단계;
상기 문서 파일에 대응되는 특징 벡터와 상기 적어도 하나의 제1 포맷 변환 서버 각각에 대응되는 특징 벡터 간의 유클리드 거리(Euclidean distance)를 연산하는 단계; 및
상기 적어도 하나의 제1 포맷 변환 서버 중 상기 유클리드 거리가 최소로 연산된 포맷 변환 서버를, 상기 작업 대상 서버로 선택하는 단계
를 포함하는 포맷 변환 작업 할당 장치의 동작 방법.
According to claim 6,
The step of selecting a server as a target server to perform the format conversion of the document file
Different job assignment criteria information preset to correspond to each of the plurality of format conversion servers - the job assignment criteria information is information indicating a reference value for selecting the work target server from among the plurality of format conversion servers, maintaining an information storage unit in which the job assignment reference information includes a pair of a reference file size value and a reference number of entities corresponding to each format conversion server;
When the document file is received from the client terminal and a format conversion request for the document file is received, the client terminal connects to the plurality of format conversion servers and formats a format that is in an idle state among the plurality of format conversion servers. checking whether a conversion server exists;
If it is confirmed that at least one first format conversion server exists among the plurality of format conversion servers in an idle state, the file size value of the document file is checked and inserted into the document according to the document file. generating a feature vector corresponding to the document file;
After checking the reference file size value and the reference object number corresponding to each of the at least one first format conversion server with reference to the information storage unit, for each of the at least one first format conversion server, each format conversion server generating a feature vector for each of the at least one first format conversion server by constructing a two-dimensional vector having a corresponding standard file size value and a standard object number as components;
calculating a Euclidean distance between a feature vector corresponding to the document file and a feature vector corresponding to each of the at least one first format conversion server; and
Selecting, among the at least one first format conversion server, a format conversion server for which the Euclidean distance is calculated as the minimum, as the work target server.
A method of operating a format conversion task assignment device comprising a.
제8항에 있어서,
상기 문서 파일의 포맷 변환 작업을 수행할 작업 대상 서버로 선택하는 단계는
상기 유휴상태인 포맷 변환 서버가 존재하는지 여부를 확인하는 단계에 의해, 상기 복수의 포맷 변환 서버들 중 유휴상태인 포맷 변환 서버가 존재하지 않는 것으로 확인되는 경우, 상기 복수의 포맷 변환 서버들 각각의 현재 전력 소모량, 현재 CPU 사용률 및 현재 네트워크 트래픽 수치를 확인한 후, 상기 복수의 포맷 변환 서버들 각각에 대해, 각 포맷 변환 서버의 현재 전력 소모량, 현재 CPU 사용률 및 현재 네트워크 트래픽 수치를 성분으로 갖는 3차원의 벡터를 구성함으로써, 상기 복수의 포맷 변환 서버들 각각에 대응되는 상태 벡터를 생성하는 단계;
상기 복수의 포맷 변환 서버들 각각에 대응되는 상태 벡터가 생성되면, 상기 복수의 포맷 변환 서버들 각각에 대응되는 상태 벡터의 유클리드 노름(Euclidean norm)을 연산하는 단계; 및
상기 복수의 포맷 변환 서버들 중 상기 유클리드 노름이 최소로 연산된 포맷 변환 서버를 상기 작업 대상 서버로 선택하는 단계
를 더 포함하는 포맷 변환 작업 할당 장치의 동작 방법.
According to claim 8,
The step of selecting a server as a target server to perform the format conversion of the document file
In the step of checking whether there is an idle format conversion server, if it is confirmed that there is no idle format conversion server among the plurality of format conversion servers, each of the plurality of format conversion servers After checking the current power consumption, current CPU usage rate, and current network traffic value, for each of the plurality of format conversion servers, a three-dimensional three-dimensional data having the current power consumption, current CPU usage rate, and current network traffic value of each format conversion server as components. generating a state vector corresponding to each of the plurality of format conversion servers by constructing a vector of;
calculating a Euclidean norm of the state vector corresponding to each of the plurality of format conversion servers when the state vector corresponding to each of the plurality of format conversion servers is generated; and
Selecting a format conversion server for which the Euclidean norm has been calculated to a minimum among the plurality of format conversion servers as the work target server.
A method of operating a format conversion task assignment device further comprising a.
제6항에 있어서,
상기 조건 설정 명령을 전송하는 단계는
의사 난수(Pseudo-Random Number)를 생성하기 위한 사전 설정된 시드 값(seed)과, n x k(n과 k는 서로 다른 2 이상의 자연수임) 크기의 공개키 행렬 - 상기 공개키 행렬은, 상기 시드 값을 기초로 생성되는 n2개의 의사 난수들을 성분으로 갖는 n x n 크기의 의사 난수 행렬과, 상기 복수의 포맷 변환 서버들 각각에 사전 발급되어 저장되어 있는 n x k 크기의 개인키 행렬이 서로 곱해져서 생성된 행렬임 - 이 저장되어 있는 행렬 저장부를 유지하는 단계;
상기 동기 변환 이벤트가 발생되면, 상기 문서 파일을 구성하는 데이터를 k2개의 부분 데이터들로 분할한 후, 상기 k2개의 부분 데이터들을 성분으로 갖는 k x k 크기의 데이터 행렬을 생성하는 단계;
상기 데이터 행렬이 생성되면, 상기 행렬 저장부에 저장되어 있는 상기 시드 값을 기초로, 상기 n2개의 의사 난수들을 생성한 후, 상기 n2개의 의사 난수들을 성분으로 갖는 n x n 크기의 상기 의사 난수 행렬을 생성하고, 랜덤한 성분들로 구성된 k x n 크기의 랜덤 행렬을 생성하는 단계;
상기 랜덤 행렬이 생성되면, 상기 랜덤 행렬과 상기 의사 난수 행렬을 곱함으로써, k x n 크기의 제1 암호화 행렬을 생성하고, 상기 랜덤 행렬과 상기 행렬 저장부에 저장되어 있는 상기 공개키 행렬을 서로 곱한 후 상기 데이터 행렬을 더함으로써, k x k 크기의 제2 암호화 행렬을 생성하는 단계; 및
상기 제1 암호화 행렬과 상기 제2 암호화 행렬이 생성되면, 상기 제1 암호화 행렬과 상기 제2 암호화 행렬을, 상기 문서 파일의 암호화 데이터로 지정하여 상기 작업 대상 서버로 전송함과 동시에, 상기 작업 지시 명령과 상기 조건 설정 명령을 전송하는 단계
를 포함하고,
상기 작업 대상 서버는
메모리 상에 상기 개인키 행렬을 사전 저장하고 있고, 상기 포맷 변환 작업 할당 장치로부터, 상기 문서 파일의 암호화 데이터가 수신됨과 동시에, 상기 작업 지시 명령과 상기 조건 설정 명령이 수신되면, 상기 문서 파일의 암호화 데이터로부터, 상기 제1 암호화 행렬과 상기 제2 암호화 행렬을 확인한 후, 상기 제1 암호화 행렬과 상기 개인키 행렬을 곱함으로써, k x k 크기의 연산 행렬을 생성하고, 상기 제2 암호화 행렬에서 상기 연산 행렬을 뺌으로써, 상기 데이터 행렬을 복원하며, 상기 데이터 행렬로부터, 상기 데이터 행렬의 성분들로 포함되어 있는 상기 k2개의 부분 데이터들을 추출하고, 상기 k2개의 부분 데이터들을 조합하여 상기 문서 파일을 구성하는 데이터를 복원한 후, 상기 작업 지시 명령에 따라, 상기 문서 파일에 대한 포맷 변환 작업을 수행하는 것을 특징으로 하는 포맷 변환 작업 할당 장치의 동작 방법.
According to claim 6,
Transmitting the condition setting command
A preset seed value for generating a pseudo-random number and a public key matrix of size nxk (where n and k are two or more different natural numbers) - the public key matrix includes the seed value A matrix generated by multiplying an nxn-sized pseudorandom number matrix generated based on n 2 pseudorandom numbers as components and an nxk-sized private key matrix pre-issued and stored in each of the plurality of format conversion servers. - maintaining this stored matrix storage;
generating a data matrix having a size of kxk having the k 2 partial data as components after dividing the data constituting the document file into k 2 partial data when the synchronization conversion event occurs;
When the data matrix is generated, after generating the n 2 pseudorandom numbers based on the seed value stored in the matrix storage unit, the pseudorandom matrix having an nxn size having the n 2 pseudorandom numbers as components Generating a kxn-sized random matrix composed of random components;
When the random matrix is generated, a first encryption matrix having a size of kxn is generated by multiplying the random matrix and the pseudorandom number matrix, and the random matrix is multiplied by the public key matrix stored in the matrix storage unit. generating a second encryption matrix having a kxk size by adding the data matrices; and
When the first encryption matrix and the second encryption matrix are generated, the first encryption matrix and the second encryption matrix are designated as encryption data of the document file and transmitted to the work target server, and at the same time, the work instruction Sending a command and the condition setting command
including,
The target server is
If the private key matrix is pre-stored in memory and the encryption data of the document file is received from the format conversion job allocator and the job instruction command and the condition setting command are received, encryption of the document file After verifying the first encryption matrix and the second encryption matrix from data, by multiplying the first encryption matrix and the private key matrix, an operation matrix having a kxk size is generated, and the operation matrix in the second encryption matrix Restoring the data matrix by subtracting , extracting the k 2 partial data included as components of the data matrix from the data matrix, and configuring the document file by combining the k 2 partial data A method of operating a format conversion task allocator, characterized in that, after restoring the data to be restored, a format conversion task for the document file is performed according to the task instruction command.
제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 6 to 10 through a combination with a computer. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6 to 10 through a combination with a computer.
KR1020210088364A 2021-07-06 2021-07-06 Format conversion task allocating apparatus for supporting efficient format conversion task of document files, by mixing synchronous and asynchronous ways, and the operating method thereof KR102500742B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210088364A KR102500742B1 (en) 2021-07-06 2021-07-06 Format conversion task allocating apparatus for supporting efficient format conversion task of document files, by mixing synchronous and asynchronous ways, and the operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210088364A KR102500742B1 (en) 2021-07-06 2021-07-06 Format conversion task allocating apparatus for supporting efficient format conversion task of document files, by mixing synchronous and asynchronous ways, and the operating method thereof

Publications (2)

Publication Number Publication Date
KR20230007705A KR20230007705A (en) 2023-01-13
KR102500742B1 true KR102500742B1 (en) 2023-02-16

Family

ID=84900145

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210088364A KR102500742B1 (en) 2021-07-06 2021-07-06 Format conversion task allocating apparatus for supporting efficient format conversion task of document files, by mixing synchronous and asynchronous ways, and the operating method thereof

Country Status (1)

Country Link
KR (1) KR102500742B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101815924B1 (en) 2016-12-02 2018-01-08 주식회사 한글과컴퓨터 Online document editing service apparatus that provides a collaborative environment so that a plurality of users can create electronic documents online and operating method thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4035872B2 (en) * 1997-10-27 2008-01-23 株式会社日立製作所 File format conversion method, file system, information system and electronic commerce system using the same
KR102053071B1 (en) * 2018-04-23 2020-01-08 주식회사 한글과컴퓨터 Client terminal apparatus that supports format conversion for storing web-based documents through a web editor installed in a browser and operating method thereof
KR102168324B1 (en) * 2019-03-04 2020-10-21 주식회사 한글과컴퓨터 Electronic terminal device capable of changing the state of each object in a web-based document creation environment associated with a document editing server and operating method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101815924B1 (en) 2016-12-02 2018-01-08 주식회사 한글과컴퓨터 Online document editing service apparatus that provides a collaborative environment so that a plurality of users can create electronic documents online and operating method thereof

Also Published As

Publication number Publication date
KR20230007705A (en) 2023-01-13

Similar Documents

Publication Publication Date Title
CN102341823B (en) Content rendering on computer
CN110020854B (en) Data evidence storage method and system based on multiple block chain networks
CN111666129B (en) Container mirror image processing method, electronic device, storage medium and system
CN110633309A (en) Block chain transaction processing method and device
CN110020945B (en) Data reading method and system based on multiple block chain networks
US10903989B2 (en) Blockchain transaction processing method and apparatus
US10936581B2 (en) Blockchain transaction processing method and apparatus
CN110597877A (en) Block chain transaction processing method and device
CN113672204A (en) Interface document generation method, system, electronic equipment and storage medium
CN103608801A (en) Presentation software automation services
CN111611622A (en) Block chain-based file storage method and electronic equipment
CN102932471A (en) Method and system for login server by browser and for achieving browser login
KR102500742B1 (en) Format conversion task allocating apparatus for supporting efficient format conversion task of document files, by mixing synchronous and asynchronous ways, and the operating method thereof
CN112866406A (en) Data storage method, system, device, equipment and storage medium
KR102375509B1 (en) Format conversion task allocating apparatus which allocates tasks for converting format of document files to multiple format converting servers and the operating method thereof
KR102545266B1 (en) Scheduling apparatus performing scheduling to allocate format conversion tasks of document files, based on the status of a plurality of format converting servers, and the operating method thereof
CN115328997A (en) Data synchronization method, system, device and storage medium
CN104156358B (en) A kind of batch read method of table for database, device and system
KR102466717B1 (en) Document conversion job allocation scheduling apparatus that performs job allocation for document format conversion for document conversion servers equipped with a format conversion engine that converts document formats and operating method thereof
KR102300439B1 (en) Font verification server to verify whether the font applied to a document is authorized and operating method thereof
US10831833B2 (en) Information processing apparatus and non-transitory computer readable medium
KR102574293B1 (en) Blockchain-based author information management server that enables storage and inquiry of author information for the electronic document through interworking with the two-dimensional code inserted into the electronic document, and operating method thereof
KR20230115833A (en) Similar word providing service server to operate the similar word providing service that provides the similar word corresponding to the neologism word and the operating method thereof
CN115941662A (en) File uploading method and device
KR20230149958A (en) Document providing server capable of providing an electronic document with a two-dimensional code inserted to verify that it is an authentic document and operating method thereof

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant