KR101774265B1 - Multi thread based spreadsheet document providing apparatus and operating method thereof - Google Patents
Multi thread based spreadsheet document providing apparatus and operating method thereof Download PDFInfo
- Publication number
- KR101774265B1 KR101774265B1 KR1020170063285A KR20170063285A KR101774265B1 KR 101774265 B1 KR101774265 B1 KR 101774265B1 KR 1020170063285 A KR1020170063285 A KR 1020170063285A KR 20170063285 A KR20170063285 A KR 20170063285A KR 101774265 B1 KR101774265 B1 KR 101774265B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- elements
- sheet
- object type
- client terminal
- Prior art date
Links
Images
Classifications
-
- G06F17/246—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
Description
본 발명은 스프레드시트 문서를 고속으로 로드 및 변환하여 클라이언트 단말로 제공하기 위한 기법에 대한 것이다.The present invention relates to a technique for rapidly loading and converting a spreadsheet document and providing it to a client terminal.
최근, 컴퓨터나 스마트폰 또는 태블릿 PC 등과 같은 전자 단말 장치가 널리 보급됨에 따라 이러한 전자 단말 장치를 이용하여 전자 문서를 열람, 작성, 편집할 수 있도록 하는 다양한 종류의 전자 문서 관련 프로그램들이 출시되고 있다.2. Description of the Related Art [0002] Recently, various electronic document-related programs have been released to enable electronic documents to be viewed, created, and edited using electronic terminal devices such as computers, smart phones, tablet PCs, and the like.
이러한 전자 문서 관련 프로그램들로는 기본적인 문서의 작성, 편집 등을 지원하는 워드프로세서, 데이터의 입력, 산술연산, 데이터 관리를 보조하는 스프레드시트, 발표자의 발표를 보조하기 위한 프레젠테이션 프로그램들이 있다.Examples of such electronic document related programs include a word processor for basic document creation and editing, a data input, an arithmetic operation, a spreadsheet for supporting data management, and presentation programs for assisting presenters.
기존에는 사용자가 전자 단말 장치를 활용해서 전자 문서를 열람, 작성, 편집하기 위해서는 전자 단말 장치에 직접 앞서 언급한 전자 문서 관련 프로그램들을 설치한 후 전자 문서 관련 프로그램들을 구동시켜 전자 문서를 열람하거나 작성 및 편집해야 했었다.Conventionally, in order to view, create and edit an electronic document by using an electronic terminal device, a user has to install the above-mentioned electronic document related programs directly in the electronic terminal device, and then operate the electronic document related programs to browse, I had to edit.
하지만, 최근에는 초고속 인터넷 환경이 구축되고, 언제 어디에서든지 인터넷에 접속할 수 있도록 하는 무선 인터넷 환경이 구축됨에 따라, 원격지의 서버를 통해서, 클라이언트 단말인 전자 단말 장치에 전자 문서 관련 서비스를 제공함으로써, 사용자가 전자 단말 장치에 소정의 전자 문서 관련 프로그램을 설치하지 않더라도 언제 어디에서든지 전자 문서를 열람, 작성, 편집할 수 있도록 하는 웹 기반의 전자 문서 서비스가 등장하고 있다.However, in recent years, a wireless Internet environment has been established in which a broadband Internet environment is established and a user can access the Internet anytime and anywhere. Thus, by providing an electronic document related service to an electronic terminal device serving as a client terminal through a remote server, A web-based electronic document service that allows an electronic document to be viewed, created, and edited anytime and anywhere without installing a predetermined electronic document-related program in the electronic terminal apparatus is emerging.
이러한 웹 기반의 전자 문서 서비스는 다양한 클라이언트 단말들이 전자 문서 서비스 제공 서버에 접속한 후 브라우저를 통해 웹 기반의 전자 문서를 열람한 후 해당 전자 문서를 작성 및 편집할 수 있도록 지원하며, 다양한 클라이언트 단말들이 상기 전자 문서에 대해서 실시간으로 동시 협업을 수행할 수 있도록 지원한다는 점에서 기업이나 단체 등에서 주로 활용되고 있다.This web-based electronic document service enables various client terminals to access the electronic document service providing server, browse the web-based electronic document through the browser and create and edit the electronic document, and various client terminals The present invention is mainly utilized in corporations and organizations because it supports simultaneous collaboration on the electronic document in real time.
그리고, 웹 기반의 전자 문서 서비스는 클라이언트 단말에 소정의 전자 문서 작성 프로그램을 설치할 필요 없이, 인터넷에 접속만 할 수 있으면, 클라이언트 단말에 탑재되어 있는 브라우저를 통해서 전자 문서를 열람하고, 작성 및 편집할 수 있도록 지원하기 때문에 사용자의 이동성을 보장할 수 있어, 개인 사용자들도 점차 증가하고 있는 추세이다.If a web-based electronic document service can be connected to the Internet without installing a predetermined electronic document creating program on the client terminal, the electronic document service can be browsed, created and edited through a browser installed in the client terminal And thus the mobility of users can be guaranteed, and the number of individual users is also increasing.
관련해서, 사용자가 클라이언트 단말을 이용하여 웹 기반의 전자 문서를 요청할 때, 이에 응답하여 클라이언트 단말로 웹 기반의 전자 문서를 빠르게 전송하는 것이 중요하다. 그러나, 웹 기반의 전자 문서, 특히, 스프레드시트 문서의 경우, 문서에 대한 데이터들을 모두 리드하여 객체형 문서로 변환한 후 변환된 객체형 문서를 클라이언트 단말로 전송함으로써, 웹 기반의 전자 문서에 대한 요청에 응답하여 클라이언트 단말로 전송하는 반응 시간이 길어지는 문제점이 있다.In connection with this, when a user requests a web-based electronic document using a client terminal, it is important to quickly transmit the web-based electronic document to the client terminal in response thereto. However, in the case of a web-based electronic document, particularly a spreadsheet document, all the data for the document are read and converted into an object type document, and the converted object type document is transmitted to the client terminal, There is a problem in that the response time to transmit to the client terminal becomes longer in response to the request.
따라서, 사용자들이 클라이언트 단말을 이용하여 웹 기반의 전자 문서를 요청할 때, 최대한 고속으로 웹 기반의 전자 문서에 대한 요청에 응답하여 클라이언트 단말로 전송하는 알고리즘이 도입될 필요가 있다.Accordingly, when a user requests a web-based electronic document using a client terminal, it is necessary to introduce an algorithm for transmitting the web-based electronic document to the client terminal in response to a request for a web-based electronic document at a maximum speed.
클라이언트 단말로부터 문서 저장부에 저장된 스프레드시트 문서에 대한 리드 명령이 입력되면, 상기 클라이언트 단말이 상기 스프레드시트 문서에 대한 편집을 마지막으로 종료하였을 때 상기 클라이언트 단말에 디스플레이되고 있던 시트에 대한 정보를 확인하고, 상기 스프레드시트 문서의 데이터 영역에 포함된 엘리먼트들의 식별 정보를 확인한 후 상기 엘리먼트들 각각의 데이터를 로드하도록 상기 엘리먼트들 각각을 다수의 서브 쓰레드들 각각에 순차적으로 할당함으로써 상기 엘리먼트들 각각의 데이터를 로드하며, 상기 클라이언트 단말에 디스플레이되고 있던 시트에 상응하는 엘리먼트들 각각의 데이터가 로드된 경우, 상기 로드된 엘리먼트들 각각의 데이터를 객체형 데이터로 변환하고, 이를 상기 클라이언트 단말로 전송함으로써, 사용자들이 클라이언트 단말을 이용하여 웹 기반의 전자 문서를 요청할 때, 최대한 고속으로 웹 기반의 전자 문서에 대한 요청에 응답하여 클라이언트 단말로 전송하고자 한다.When a read command for a spreadsheet document stored in a document storage unit is inputted from the client terminal, information on the sheet displayed on the client terminal is checked when the client terminal has finally finished editing the spreadsheet document , Identifying each of the elements included in the data area of the spreadsheet document and sequentially assigning each of the elements to each of the plurality of sub-threads to load data of each of the elements, And when data of each element corresponding to the sheet displayed on the client terminal is loaded, the data of each of the loaded elements is converted into object type data and transmitted to the client terminal, Now, when they ask for electronic documents using a Web-based client terminals, and want to respond to requests for electronic documents, Web-based maximum speed transmission to the client terminal.
본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치는 클라이언트 단말로부터 문서 저장부에 저장된 스프레드시트 문서에 대한 리드 명령이 입력되면, 상기 스프레드시트 문서의 문서 정보 영역에 기록된 제1 시트 정보 - 상기 제1 시트 정보는 상기 클라이언트 단말이 상기 스프레드시트 문서에 대한 편집을 마지막으로 종료하였을 때 상기 클라이언트 단말에 디스플레이되고 있던 시트에 대한 정보임 - 를 확인하는 문서 정보 확인부, 상기 스프레드시트 문서의 데이터 영역에 포함된 엘리먼트들의 식별 정보를 확인한 후 상기 엘리먼트들 각각의 데이터를 로드하도록 상기 엘리먼트들 각각을 다수의 서브 쓰레드들 각각에 순차적으로 할당하는 메인 쓰레드, 상기 메인 쓰레드로부터 상기 다수의 서브 쓰레드들 각각에 순차적으로 할당된 상기 엘리먼트들 각각의 데이터를 로드하는 다수의 서브 쓰레드들, 상기 엘리먼트들의 상기 식별 정보에 기초하여 상기 엘리먼트들 중 제1 시트에 상응하는 제1 엘리먼트들 각각의 데이터가 로드된 경우, 상기 로드된 제1 엘리먼트들 각각의 데이터를 제1 객체형 데이터로 변환하는 객체형 데이터 변환부 및 상기 제1 객체형 데이터를 상기 클라이언트 단말로 전송하는 객체형 데이터 전송부를 포함한다.The apparatus for providing a spreadsheet document based on a multithread according to an exemplary embodiment of the present invention is characterized in that when a read command for a spreadsheet document stored in a document storage unit is input from a client terminal, Sheet information - The first sheet information is a document information confirmation unit for confirming that the client terminal is information on a sheet displayed on the client terminal when the client terminal finally finished editing the spreadsheet document, A main thread sequentially assigning each of the elements to each of a plurality of sub threads to load data of each of the elements after identifying identification information of elements included in a data area of a document, Sequential to each thread The method comprising the steps of: if the data of each of the first elements corresponding to the first sheet of the elements is loaded based on the identification information of the elements, An object type data converter for converting data of each of the loaded first elements into first object type data, and an object type data transmitter for transmitting the first object type data to the client terminal.
본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치의 동작 방법은 클라이언트 단말로부터 문서 저장부에 저장된 스프레드시트 문서에 대한 리드 명령이 입력되면, 상기 스프레드시트 문서의 문서 정보 영역에 기록된 제1 시트 정보 - 상기 제1 시트 정보는 상기 클라이언트 단말이 상기 스프레드시트 문서에 대한 편집을 마지막으로 종료하였을 때 상기 클라이언트 단말에 디스플레이되고 있던 시트에 대한 정보임 - 를 확인하는 단계, 메인 쓰레드가 상기 스프레드시트 문서의 데이터 영역에 포함된 엘리먼트들의 식별 정보를 확인한 후 상기 엘리먼트들 각각의 데이터를 로드하도록 상기 엘리먼트들 각각을 다수의 서브 쓰레드들 각각에 순차적으로 할당하도록 상기 메인 쓰레드를 제어하는 단계, 상기 다수의 서브 쓰레드들 각각이 상기 메인 쓰레드로부터 순차적으로 할당된 상기 엘리먼트들 각각의 데이터를 로드하도록 상기 다수의 서브 쓰레드들을 제어하는 단계, 상기 엘리먼트들의 상기 식별 정보에 기초하여 상기 엘리먼트들 중 제1 시트에 상응하는 제1 엘리먼트들 각각의 데이터가 로드된 경우, 상기 로드된 제1 엘리먼트들 각각의 데이터를 제1 객체형 데이터로 변환하는 단계 및 상기 제1 객체형 데이터를 상기 클라이언트 단말로 전송하는 단계를 포함한다.A method of operating a multi-threaded spreadsheet document providing apparatus according to an exemplary embodiment of the present invention includes: inputting a read command for a spreadsheet document stored in a document storage unit from a client terminal; The first sheet information, the first sheet information, confirming that the client terminal is information about the sheet displayed on the client terminal when the editing of the spreadsheet document last ended, Controlling the main thread to sequentially assign each of the elements to each of a plurality of sub threads to load data of each of the elements after identifying identification information of elements included in a data area of the spreadsheet document, The plurality of sub-threads Controlling each of the plurality of sub threads to load data of each of the sequentially assigned elements from the main thread, determining a first thread corresponding to a first sheet of the elements based on the identification information of the elements, Converting data of each of the loaded first elements into first object type data when data of each of the elements is loaded, and transmitting the first object type data to the client terminal.
클라이언트 단말로부터 문서 저장부에 저장된 스프레드시트 문서에 대한 리드 명령이 입력되면, 상기 클라이언트 단말이 상기 스프레드시트 문서에 대한 편집을 마지막으로 종료하였을 때 상기 클라이언트 단말에 디스플레이되고 있던 시트에 대한 정보를 확인하고, 상기 스프레드시트 문서의 데이터 영역에 포함된 엘리먼트들의 식별 정보를 확인한 후 상기 엘리먼트들 각각의 데이터를 로드하도록 상기 엘리먼트들 각각을 다수의 서브 쓰레드들 각각에 순차적으로 할당함으로써 상기 엘리먼트들 각각의 데이터를 로드하며, 상기 클라이언트 단말에 디스플레이되고 있던 시트에 상응하는 엘리먼트들 각각의 데이터가 로드된 경우, 상기 로드된 엘리먼트들 각각의 데이터를 객체형 데이터로 변환하고, 이를 상기 클라이언트 단말로 전송함으로써, 사용자들이 클라이언트 단말을 이용하여 웹 기반의 전자 문서를 요청할 때, 최대한 고속으로 웹 기반의 전자 문서에 대한 요청에 응답하여 클라이언트 단말로 전송할 수 있다.When a read command for a spreadsheet document stored in a document storage unit is inputted from the client terminal, information on the sheet displayed on the client terminal is checked when the client terminal has finally finished editing the spreadsheet document , Identifying each of the elements included in the data area of the spreadsheet document and sequentially assigning each of the elements to each of the plurality of sub-threads to load data of each of the elements, And when data of each element corresponding to the sheet displayed on the client terminal is loaded, the data of each of the loaded elements is converted into object type data and transmitted to the client terminal, Here they are, be transferred to the client terminal in response to a request for an electronic document from a Web-based high speed as much as possible when you request a web-based electronic document using the client terminal.
도 1은 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치를 포함하는 스프레드시트 문서 편집 시스템의 구조를 도시한 도면이다.
도 2는 바이너리 포맷 형식의 스프레드시트 문서를 예시한 도면이다.
도 3은 XML(eXtensible Markup Language) 형식의 스프레드시트 문서를 예시한 도면이다.
도 4는 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치의 동작 방법을 도시한 순서도이다.1 is a diagram illustrating a structure of a spreadsheet document editing system including a multithread-based spreadsheet document providing apparatus according to an embodiment of the present invention.
2 is a diagram illustrating a spreadsheet document in binary format.
3 is a diagram illustrating a spreadsheet document in XML (extensible Markup Language) format.
4 is a flowchart illustrating an operation method of a multi-threaded spreadsheet document providing apparatus 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. It is to be understood that the description is not intended to limit the invention to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals in the drawings are used for similar elements and, unless otherwise defined, all terms used in the specification, including technical and scientific terms, are to be construed in a manner that is familiar to those skilled in the art. It has the same meaning as commonly understood by those who have it.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치(100)를 포함하는 스프레드시트 문서 편집 시스템(10)의 구조를 도시한 도면이다.1 is a diagram illustrating a structure of a spreadsheet
도 1에 도시된 바와 같이, 스프레드시트 문서 편집 시스템(10)은 스프레드시트 문서 제공 장치(100) 및 클라이언트 단말(170)을 포함한다.As shown in FIG. 1, a spreadsheet
본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치(100)는 문서 저장부(110), 클라이언트 명령 수신부(120), 문서 정보 확인부(130), 쓰레드부(140), 객체형 데이터 변환부(150) 및 객체형 데이터 전송부(160)를 포함한다.An
문서 저장부(110)는 스프레드시트 문서를 저장한다. 여기서 스프레드시트 문서는 "cell", "nxl", “xls" 및 "xlsx" 등의 확장자를 갖는 표 형식의 문서이다.The
도 2는 바이너리 포맷 형식의 스프레드시트 문서(200)를 예시한 도면이다.2 is a diagram illustrating a
도 2에 예시된 바와 같이, 바이너리 포맷 형식의 스프레드시트 문서(200)는 하나의 파일로 구성되며, 문서 정보 영역(210), 시트 데이터 영역(220) 및 서식 데이터 영역(230)이 기록되어 있다. 문서 정보 영역(210)에는 상기 스프레드시트 문서(200)의 문서 정보, 예컨대, 상기 클라이언트 단말(170)이 상기 스프레드시트 문서에 대한 편집을 종료할 것을 명령하였을 때 상기 클라이언트 단말(170)에 디스플레이되고 있던 제1 시트에 대한 정보(이하에서는 제1 시트 정보라고 함)가 기록되어 있다. 시트 데이터 영역(220)에는 상기 스프레드시트 문서(200)의 1 내지 4번 시트들(221 내지 224)에 포함된 객체들에 대한 데이터가 기록되어 있으며, 서식 데이터 필드(230)에는 객체들 각각에 대한 서식 데이터 등이 기록되어 있다. 문서 정보 영역(210), 시트 데이터 영역(220) 및 서식 데이터 영역(230) 각각은 데이터가 엘리먼트 형태로 기록되어 있으며, 엘리먼트들 각각은 하기 표 1과 같은 형태를 가진다.2, the
여기서, 레코드 필드는 엘리먼트의 메타 정보가 기록되고, 렝스 필드는 데이터의 길이 정보가 기록되며, 데이터 필드는 엘리먼트의 메타 정보에 상응하는 데이터가 기록된다. 또한, 레코드 필드 및 렝스 필드는 사전 설정된 길이의 데이터를 가진다. 이에 따라, 스프레드시트 문서 제공 장치(100)는 상기 스프레드시트 문서(200)를 로드할 때 엘리먼트들 각각의 레코드 필드 및 렝스 필드에 기록된 데이터를 참조함으로써, 다음번의 엘리먼트의 시작 위치를 확인할 수 있다. 이하에서는, 시트 데이터 영역(220) 및 서식 데이터 영역(230)을 데이터 영역으로 지칭한다.Here, the meta information of the element is recorded in the record field, the length information of the data is recorded in the length field, and the data corresponding to the meta information of the element is recorded in the data field. In addition, the record field and the length field have a predetermined length of data. Accordingly, when loading the
이상에서는, 스프레드시트 문서가 4개의 시트로 이루어진 것으로 예시하였으나, 이는 예시일 뿐, 4개를 초과하는 시트 또는 4개 미만의 시트로 이루어질 수도 있다.In the above description, the spreadsheet document is illustrated as being composed of four sheets, but this is merely an example, and may be composed of more than four sheets or less than four sheets.
이하에서는 도 2에 예시된 바이너리 포맷 형식의 스프레드시트 문서(200)를 참조하여, 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치(100)의 동작을 설명한다.Hereinafter, the operation of the
클라이언트 명령 수신부(120)는 유/무선으로 연결된 클라이언트 단말(170)로부터 클라이언트 명령을 수신한다. 여기에서, 클라이언트 명령은 문서 저장부(110)에 저장된 스프레드시트 문서, 예컨대, 바이너리 포맷 형식의 스프레드시트 문서(200)의 리드 명령, 상기 스프레드시트 문서(200)에 대한 편집 명령, 상기 편집 명령에 기초하여 편집된 스프레드시트 문서(200)에 대한 저장 명령 등일 수 있다.The client
문서 정보 확인부(130)는 클라이언트 단말(170)로부터의 클라이언트 명령에 응답하여 문서 저장부(110)에 저장된 스프레드시트 문서(200)의 문서 정보 영역(210)을 확인한다.The document
구체적으로, 문서 정보 확인부(130)는 클라이언트 단말(170)로부터 스프레드시트 문서(200)를 리드하라는 리드 명령에 응답하여 상기 스프레드시트 문서(200)의 문서 정보 영역(210)을 확인한다. 이에 따라, 문서 정보 확인부(130)는 상기 스프레드시트 문서(200)의 문서 정보 영역(210)을 확인함으로써 문서 정보 영역에 기록된 제1 시트 정보를 확인할 수 있다.More specifically, the document
쓰레드부(140)는, 도 1에 도시된 바와 같이, 메인 쓰레드(141) 및 다수의 서브 쓰레드들(142 내지 144)을 포함한다. 여기서, 다수의 서브 쓰레드들(142 내지 144)이 3개의 서브 쓰레드들로 이루어진 것으로 예시하였으나, 이는 예시일 뿐, 다수의 서브 쓰레드들은 3개를 초과하는 서브 쓰레드 또는 3개 미만의 서브 쓰레드로 이루어질 수도 있다.The
쓰레드부(140)는 클라이언트 단말(170)로부터의 클라이언트 명령에 응답하여 문서 저장부(110)에 저장된 스프레드시트 문서(200)의 데이터 영역에 기록된 데이터들을 로드하며, 시트들 각각에 대한 데이터들이 모두 로드될 때마다, 시트들 각각에 대한 데이터들이 모두 로드되었음을 객체형 데이터 변환부(150)에 통지한다. 이에 따라, 쓰레드부(140)는 상기 제1 시트 정보에 상응하는 제1 시트에 대한 데이터들이 로드된 경우, 상기 제1 시트에 대한 데이터들이 로드되었음을 객체형 데이터 변환부(150)에 통지할 수 있으며, 상기 제1 시트 이외의 제2 시트들 각각에 대한 데이터들이 로드된 경우, 상기 제2 시트들 각각에 대한 데이터들이 로드되었음을 객체형 데이터 변환부(150)에 통지할 수 있다.The
구체적으로, 메인 쓰레드(141)는 상기 스프레드시트 문서(200)의 데이터 영역에 포함된 엘리먼트들의 식별 정보를 확인한 후 상기 엘리먼트들 각각을 다수의 서브 쓰레드들(142, 143 및 144) 각각에 순차적으로 할당하며, 이에 따라, 다수의 서브 쓰레드들(142, 143 및 144) 각각은 할당된 엘리먼트를 데이터 필드를 로드할 수 있다. 이때, 메인 쓰레드(141)는 상기 스프레드시트 문서(200)의 데이터 영역에 포함된 상기 엘리먼트들 각각을 상기 다수의 서브 쓰레드들(142, 143 및 144) 중 아이들(idle) 상태인 서브 쓰레드들 각각에 순차적으로 할당한다. 여기서, 식별 정보는 상기 스프레드시트 문서(200)에서의 엘리먼트의 위치, 레코드 필드의 엘리먼트의 메타 정보 및 렝스 필드의 데이터의 길이 정보를 포함하는 정보이다.Specifically, the
예를 들어, 다수의 서브 쓰레드들(142, 143 및 144)이 아이들(idle) 상태이고, 1, 3 및 4번 시트 데이터 영역들(221, 223 및 223) 각각에는 3개의 엘리먼트가 기록되어 있고, 2번 시트 데이터 영역(222)에는 6개의 엘리먼트가 기록되어 있으며, 서식 데이터 영역(230)에는 4개의 엘리먼트가 기록되어 있는 경우, 메인 쓰레드(141)는 제1 서브 쓰레드(142)에 1번 시트 데이터 영역(221)의 1번 엘리먼트를 할당하고, 제2 서브 쓰레드(143)에 1번 시트 데이터 영역(221)의 2번 엘리먼트를 할당하며, 제3 서브 쓰레드(144)에 1번 시트 데이터 영역(221)의 3번 엘리먼트를 할당함으로써, 상기 엘리먼트들 각각을 다수의 서브 쓰레드들(142, 143 및 144) 각각에 순차적으로 할당할 수 있다.For example, in the case where a plurality of
또한, 메인 쓰레드(141)는 상기 엘리먼트들 각각을 상기 다수의 서브 쓰레드들(142, 143 및 144) 각각에 순차적으로 할당하되, 상기 다수의 서브 쓰레드들(142, 143 및 144) 모두가 할당된 엘리먼트들 각각의 데이터를 로드하고 있는 경우 상기 엘리먼트들 중 할당되지 않은 엘리먼트들 중 하나의 엘리먼트를 자신에게 할당한 후 상기 하나의 엘리먼트의 데이터를 로드할 수 있다.Also, the
예를 들어, 상기 예로 든 상황에서, 제1 내지 3 서브 쓰레드들(142, 142 및 144) 각각이 순차적으로 할당된 1번 시트 데이터 영역(221)의 1 내지 3번 엘리먼트들 각각을 로드하고 있는 경우, 상기 스프레드시트 문서(200)의 데이터 영역에 포함된 상기 엘리먼트들 중 할당되지 않은 엘리먼트들 중 하나의 엘리먼트, 예컨대, 2번 시트 데이터 영역(222)의 1번 엘리먼트를 자신에게 할당한 후 상기 하나의 엘리먼트, 즉, 2번 시트 데이터 영역(222)의 1번 엘리먼트의 데이터를 로드할 수 있다.For example, in the above-described situation, each of the first to
그리고, 메인 쓰레드(141)는 자신에게 할당된 상기 하나의 엘리먼트를 로드한 후, 상기 다수의 서브 쓰레드들(142, 143 및 144) 모두가 할당된 엘리먼트들 각각의 데이터를 로드하고 있는지 확인한 후, 상기 스프레드시트 문서(200)의 데이터 영역에 포함된 상기 엘리먼트들 중 할당되지 않은 엘리먼트들 중 다른 하나의 엘리먼트의 할당 여부를 결정할 수 있다.After the
예를 들어, 상기 예로 든 상황에서, 메인 쓰레드(141)가 자신에게 할당한 2번 시트 데이터 영역(222)의 1번 엘리먼트를 로드한 후, 제1 내지 3 서브 쓰레드들(142, 142 및 144) 각각이 순차적으로 할당된 1번 시트 데이터 영역(221)의 1 내지 3번 엘리먼트들 각각을 로드하고 있는지 확인하며, 확인 결과, 여전히 제1 내지 3 서브 쓰레드들(142, 142 및 144) 각각이 순차적으로 할당된 1번 시트 데이터 영역(221)의 1 내지 3번 엘리먼트들 각각을 로드하고 있는 경우, 상기 스프레드시트 문서(200)의 데이터 영역에 포함된 상기 엘리먼트들 중 할당되지 않은 엘리먼트들 중 다른 하나의 엘리먼트, 예컨대, 2번 시트 데이터 영역(222)의 2번 엘리먼트를 자신에게 할당한 후 상기 2번 시트 데이터 영역(222)의 2번 엘리먼트의 데이터를 로드할 수 있다. 그러나, 상기 예로 든 상황에서, 확인 결과, 제1 내지 3 서브 쓰레드들(142, 142 및 144) 중 제2 서브 쓰레드(142)가 1번 시트 데이터 영역(221)의 2번 엘리먼트를 로드 완료한 경우, 상기 스프레드시트 문서(200)의 데이터 영역에 포함된 상기 엘리먼트들 중 할당되지 않은 엘리먼트들 중 다른 하나의 엘리먼트, 예컨대, 2번 시트 데이터 영역(222)의 2번 엘리먼트를 제2 서브 쓰레드(142)에게 할당할 수 있다.For example, in the above example, after loading the element 1 of the second
본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치(100)는 상술한 바와 같은 방식으로 메인 쓰레드(141)가 상기 스프레드시트 문서(200)의 데이터 영역에 포함된 상기 엘리먼트들을 메인 쓰레드(141) 및/또는 상기 다수의 서브 쓰레드들(142, 143 및 144)에게 할당함으로써, 상기 스프레드시트 문서(200)를 고속으로 로드할 수 있다.The
또한, 메인 쓰레드(141)는 상기 엘리먼트들의 상기 식별 정보에 기초하여 시트들 각각에 상응하는 엘리먼트들의 각각의 데이터가 모두 로드된 경우, 시트들 각각에 상응하는 엘리먼트들의 각각의 데이터가 모두 로드되었음을 객체형 데이터 변환부(150)에 통지한다. 여기에서, 상기 스프레드시트 문서(200)의 1 내지 4번 시트들 중 1번 시트를 예로 들면, 1번 시트에 상응하는 엘리먼트들의 각각의 데이터는 1번 시트 데이터 영역(221)에 기록된 엘리먼트들의 각각의 데이터와 서식 데이터 영역(230)에 기록된 엘리먼트들 중 1번 시트에 대한 서식 정보에 대한 엘리먼트들의 각각의 데이터이다. 또한, 상기 스프레드시트 문서(200)의 1 내지 4번 시트들 중 2번 시트를 예로 들면, 2번 시트에 상응하는 엘리먼트들의 각각의 데이터는 2번 시트 데이터 영역(222)에 기록된 엘리먼트들의 각각의 데이터와 서식 데이터 영역(230)에 기록된 엘리먼트들 중 2번 시트에 대한 서식 정보에 대한 엘리먼트들의 각각의 데이터이다. 이때, 메인 쓰레드(141)는 이전에 할당한 엘리먼트의 상기 식별 정보 중 레코드 필드의 메타 정보가 1번 시트에 대한 데이터임을 나타내고, 현재의 엘리먼트의 상기 식별 정보 중 레코드 필드의 메타 정보가 2번 시트에 대한 데이터임을 나타내는 경우, 1번 시트에 대한 서식 정보를 기록한 엘리먼트들의 각각의 데이터가 모두 로드된 것으로 판단할 수 있다. 이때, 메인 쓰레드(141)는 서식 데이터 영역(230)에 기록된 엘리먼트들의 레코드 필드의 메타 정보가 1번 시트에 상응하는 어느 한 엘리먼트의 데이터에서 2번 시트에 상응하는 어느 한 엘리먼트의 데이터로 변경될 때 1번 시트에 대한 서식 정보를 기록한 엘리먼트들이 모두 로드된 것으로 판단할 수 있다.In addition, the
예를 들어, 메인 쓰레드(141)는 1번 시트에 대한 데이터들, 즉, 1번 시트 데이터 영역(221)에 기록된 엘리먼트들과 서식 데이터 영역(230)에 기록된 엘리먼트들 중 1번 시트에 대한 서식 정보를 기록한 엘리먼트들이 모두 로드된 경우, 1번 시트에 상응하는 엘리먼트들의 각각의 데이터가 모두 로드되었음을 객체형 데이터 변환부(150)에 통지한다. 또한, 예를 들어, 메인 쓰레드(141)는 2번 시트에 대한 데이터들, 즉, 2번 시트 데이터 영역(222)에 기록된 엘리먼트들과 서식 데이터 영역(230)에 기록된 엘리먼트들 중 2번 시트에 대한 서식 정보를 기록한 엘리먼트들이 모두 로드된 경우, 2번 시트에 상응하는 엘리먼트들의 각각의 데이터가 모두 로드되었음을 객체형 데이터 변환부(150)에 통지한다.For example, the
다음으로, 객체형 데이터 변환부(150)는 상기 엘리먼트들의 상기 식별 정보에 기초하여 시트들 중 어느 한 시트에 상응하는 엘리먼트들의 각각의 데이터가 모두 로드된 경우, 상기 어느 한 시트에 상응하는 엘리먼트들의 각각의 데이터를 객체형 데이터로 변환한다. 여기에서, 객체형 데이터는 JSON(JavaScript Object Notation)과 같은 키-밸류 포맷(Key-Value Format)의 데이터일 수 있다.Next, the object-type
예를 들어, 객체형 데이터 변환부(150)는 상기 스프레드시트 문서(200)의 1번 시트에 상응하는 엘리먼트들의 각각의 데이터가 모두 로드된 경우, 상기 1번 시트에 상응하는 엘리먼트들의 각각의 데이터를 객체형 데이터로 변환한다.For example, when all the data of the elements corresponding to the first sheet of the
객체형 데이터 변환부(150)는 제1 시트에 상응하는 제1 엘리먼트들 각각의 데이터가 로드된 경우, 상기 제1 시트에 상응하는 제1 엘리먼트들 각각의 데이터를 제1 객체형 데이터로 변환한다. 이때, 객체형 데이터 변환부(150)는 제1 시트 이외의 다른 시트들 중 어느 한 시트에 상응하는 엘리먼트들 각각의 데이터가 로드된 경우에도, 제1 시트에 상응하는 제1 엘리먼트들 각각의 데이터가 로드될 때까지 기다린 후 상기 제1 시트에 상응하는 제1 엘리먼트들 각각의 데이터를 제1 객체형 데이터로 변환할 수 있다. 여기서, 제1 시트는, 전술한 바와 같이, 상기 클라이언트 단말(170)이 상기 스프레드시트 문서(200)에 대한 편집을 종료할 것을 명령하였을 때 상기 클라이언트 단말(170)에 디스플레이되고 있던 제1 시트에 대한 정보에 상응하는 시트이다.When the data of each of the first elements corresponding to the first sheet is loaded, the object-type
예를 들어, 1번 시트가 제1 시트인 경우, 객체형 데이터 변환부(150)는 상기 1번 시트에 상응하는 엘리먼트들 각각의 데이터가 로드된 경우, 상기 1번 시트에 상응하는 엘리먼트들 각각의 데이터를 제1 객체형 데이터로 변환한다. 이때, 객체형 데이터 변환부(150)는 1번 시트 이외의 2번 시트에 상응하는 엘리먼트들 각각의 데이터가 먼저 로드된 경우에도, 1번 시트에 상응하는 엘리먼트들 각각의 데이터가 로드될 때까지 기다린 후 상기 1번 시트에 상응하는 엘리먼트들 각각의 데이터를 제1 객체형 데이터로 변환할 수 있다. 이에 따라, 1번 시트에 상응하는 엘리먼트들 각각의 데이터가 로드되자마자 상기 1번 시트에 상응하는 엘리먼트들 각각의 데이터를 제1 객체형 데이터로 변환될 수 있다.For example, when the first sheet is the first sheet, the object-type
다음으로, 객체형 데이터 변환부(150)는 제1 시트에 상응하는 제1 엘리먼트들 각각의 데이터를 제1 객체형 데이터로 변환한 후 상기 제1 시트 이외의 제2 시트들 각각에 상응하는 제2 엘리먼트들 각각의 데이터가 로드된 경우, 상기 제2 시트들 각각에 상응하는 제2 엘리먼트들 각각의 데이터를 제2 객체형 데이터로 변환한다.Next, the object-type
예를 들어, 상기 예로 든 상황에서, 객체형 데이터 변환부(150)는 상기 1번 시트에 상응하는 엘리먼트들 각각의 데이터를 제1 객체형 데이터로 변환한 후, 2번 시트에 상응하는 엘리먼트들 각각의 데이터가 로드된 경우, 상기 2번 시트에 상응하는 엘리먼트들 각각의 데이터를 제2 객체형 데이터로 변환한다.For example, in the above-described example, the object-type
이때, 객체형 데이터 변환부(150)는 제1 시트에 상응하는 제1 엘리먼트들 각각의 데이터를 제1 객체형 데이터로 변환하고 객체형 데이터 전송부(160)가 상기 제1 객체형 데이터를 상기 클라이언트 단말(170)로 전송한 후, 상기 클라이언트 단말(170)이 상기 제1 시트 이외의 제2 시트들 중 제3 시트에 대한 제3 객체형 데이터를 요청한 경우, 객체형 데이터 변환부(150)는 상기 제3 시트에 상응하는 제3 엘리먼트들 각각의 데이터가 로드되었는지 확인하고, 상기 제3 엘리먼트들 각각의 데이터가 로드된 경우, 상기 로드된 제3 엘리먼트들 각각의 데이터를 제3 객체형 데이터로 변환한다. 여기서, 상기 클라이언트 단말(170)이 상기 제1 시트 이외의 제2 시트들 중 제3 시트에 대한 제3 객체형 데이터를 요청한 경우는 상기 클라이언트 단말(170)이 객체형 데이터 전송부(160)를 통해 수신된 상기 제1 객체형 데이터를 클라이언트 단말(170)의 브라우저에 디스플레이한 후 제3 시트를 디스플레이하기 위해 선택한 경우일 수 있다.At this time, the object-type
예를 들어, 상기 예로 든 상황에서, 객체형 데이터 변환부(150)는 상기 1번 시트에 상응하는 엘리먼트들 각각의 데이터를 제1 객체형 데이터로 변환하고 객체형 데이터 전송부(160)가 상기 제1 객체형 데이터를 상기 클라이언트 단말(170)로 전송한 후, 상기 클라이언트 단말(170)이 상기 1번 시트 이외의 3번 시트에 대한 제3 객체형 데이터를 요청한 경우, 객체형 데이터 변환부(150)는 상기 3번 시트에 상응하는 엘리먼트들 각각의 데이터가 로드되었는지 확인하고, 상기 3번 시트에 상응하는 엘리먼트들 각각의 데이터가 로드된 경우, 상기 3번 시트에 상응하는 엘리먼트들 각각의 데이터를 제3 객체형 데이터로 변환한다.For example, in the above-described situation, the object-type
객체형 데이터 전송부(160)는 상기 객체형 데이터 변환부(150)가 변환한 객체형 데이터를 클라이언트 단말(170)로 전송한다. 이때, 객체형 데이터 전송부(160)는 상기 제1 객체형 데이터를 클라이언트 단말(170)로 전송하고, 상기 제2 객체형 데이터를 클라이언트 단말(170)로 전송하며, 상기 제3 객체형 데이터를 클라이언트 단말(170)로 전송할 수 있다.The object-type
도 2에 예시된 바이너리 포맷 형식의 스프레드시트 문서(200)를 참조하여 상술한 바와 같은 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치(100)는 상기 스프레드시트 문서(200)를 고속으로 로드하고, 클라이언트 단말(170)이 마지막으로 편집했던 시트를 우선적으로 객체형 데이터로 변환한 후 클라이언트 단말(170)에 전송함으로써, 클라이언트 단말(170)이 요청한 스프레드시트 문서(200)를 고속으로 제공할 수 있다.Referring to the
이하에서는 도 3에 예시된 XML(eXtensible Markup Language) 형식의 스프레드시트 문서(300)를 참조하여, 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치(100)의 동작을 설명한다. 간단명료한 설명을 위하여 바이너리 포맷 형식의 스프레드시트 문서(200)를 참조하여, 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치(100)의 동작과 중복되는 내용에 대한 설명을 이외의 핵심적인 내용에 대하여 중점적으로 설명한다.Hereinafter, the operation of the
도 3은 XML 형식의 스프레드시트 문서(300)를 예시한 도면이다.3 is a diagram illustrating a
도 3에 예시된 바와 같이, XML 형식의 스프레드시트 문서(300)는 문서 정보 파일(310), 다수의 시트 데이터 파일들(320, 330, 340 및 350) 및 서식 데이터 파일(360)로 구성되며, 문서 정보 파일(310)에는 문서 정보 영역(310)이 기록되어 있고, 1 내지 4번 시트 데이터 파일들(320, 330, 340 및 350) 각각에는 시트 데이터 영역들(321, 331, 341 및 351) 각각이 기록되어 있으며, 서식 데이터 파일(360)에는 서식 데이터 영역(361)이 기록되어 있다. 스프레드시트 문서(300)의 문서 정보 영역(311), 1 내지 4번 시트 데이터 영역들(321, 331, 341 및 351) 및 서식 데이터 영역(360) 각각에 기록된 데이터는 스프레드시트 문서(200)의 문서 정보 영역(210), 1 내지 4번 시트 데이터 영역들(221 내지 224) 및 서식 데이터 영역(230)의 각각에 기록된 데이터에 상응한다. 구체적으로, 문서 정보 영역(311)에는 상기 스프레드시트 문서(300)의 문서 정보, 예컨대, 제1 시트 정보가 기록되어 있다. 1 내지 4번 시트 데이터 영역들(321, 331, 341 및 351) 각각에는 상기 스프레드시트 문서(300)의 1 내지 4번 시트 데이터 파일들(320, 330, 340 및 350) 각각에 상응하는 시트에 포함된 객체들에 대한 데이터가 기록되어 있으며, 서식 데이터 영역(361)에는 객체들 각각에 대한 서식 데이터 등이 기록되어 있다.3, a
XML 형식의 스프레드시트 문서(300)는 문서 정보 파일(310), 다수의 시트 데이터 파일들(320, 330, 340 및 350) 및 서식 데이터 파일(360)로 구성됨에 따라, 스프레드시트 문서 제공 장치(100)는 상기 스프레드시트 문서(300)를 로드할 때 문서 정보 파일(310)에 저장된 1 내지 4번 시트 데이터 파일들(320, 330, 340 및 350) 및 서식 데이터 파일(330) 각각의 위치를 확인함으로써 1 내지 4번 시트 데이터 영역들(321, 331, 341 및 351) 및 서식 데이터 영역(360) 각각에 저장된 데이터를 리드할 수 있다.The
바이너리 포맷 형식의 스프레드시트 문서(200)와 달리 XML 형식의 스프레드시트 문서(300)는 문서 정보 파일(310), 다수의 시트 데이터 파일들(320, 330, 340 및 350) 및 서식 데이터 파일(360)로 구성됨에 따라, 파일들을 억세스하여 필요한 데이터들을 로드할 수 있다.Unlike the
구체적으로, 쓰레드부(140)는 클라이언트 단말(170)로부터의 클라이언트 명령에 응답하여 문서 저장부(110)에 저장된 스프레드시트 문서(300)의 데이터 영역들(321, 331, 341 및 351)에 기록된 데이터들을 로드할 때, 제1 시트에 상응하는 파일들을 억세스하여 데이터들을 로드한 후, 제1 시트 이외의 제2 시트들 각각에 상응하는 파일들을 순차적으로 억세스하여 데이터들을 로드할 수 있다.Specifically, the
예를 들어, 스프레드시트 문서 정보 확인부(130)가 스프레드시트 문서(300)의 문서 정보 파일(310)에 기록된 제1 시트 정보의 확인한 결과 1번 시트가 제1 시트인 경우, 객체형 데이터 변환부(150)는 1번 시트 데이터 영역이 기록된 1번 시트 데이터 파일(320) 및 서식 데이터 파일(360)에 억세스하여 1번 시트에 상응하는 데이터들을 로드한다. 이에 따라, 1번 시트에 상응하는 데이터들이 로드된 경우, 객체형 데이터 변환부(150)는 상기 1번 시트에 상응하는 데이터들을 제1 객체형 데이터들로 변환한다. 이에 따라, 바이너리 포맷 형식의 스프레드시트 문서(200)와 달리 XML 형식의 스프레드시트 문서(300)의 경우, 1번 시트에 상응하는 데이터들이 보다 빠르게 로드되어 제1 객체형 데이터로 변환될 수 있다.For example, if the spreadsheet document
도 4는 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치의 동작 방법을 도시한 순서도이다.4 is a flowchart illustrating an operation method of a multi-threaded spreadsheet document providing apparatus according to an embodiment of the present invention.
단계(S410)에서는 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치가 클라이언트 단말로부터 문서 저장부에 저장된 스프레드시트 문서에 대한 리드 명령이 입력되면, 상기 스프레드시트 문서의 문서 정보 영역에 기록된 제1 시트 정보를 확인한다.In step S410, if a multi-threaded spreadsheet document providing apparatus according to an embodiment of the present invention inputs a read command for a spreadsheet document stored in a document storage unit from a client terminal, The first sheet information recorded in the first sheet is confirmed.
단계(S420)에서는 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치가 메인 쓰레드가 상기 스프레드시트 문서의 데이터 영역에 포함된 엘리먼트들의 식별 정보를 확인한 후 상기 엘리먼트들 각각의 데이터를 로드하도록 상기 엘리먼트들 각각을 다수의 서브 쓰레드들 각각에 순차적으로 할당하도록 상기 메인 쓰레드를 제어한다.In step S420, the apparatus for providing a spreadsheet document based on a multithread according to an embodiment of the present invention checks the identification information of the elements included in the data area of the spreadsheet document, The main thread is controlled to sequentially allocate each of the elements to each of a plurality of sub threads to load.
이때, 단계(S420)에서는 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치가 상기 메인 쓰레드가 상기 엘리먼트들 각각을 상기 다수의 서브 쓰레드들 중 아이들(idle) 상태인 서브 쓰레드들 각각에 순차적으로 할당하도록 상기 메인 쓰레드를 제어할 수 있다.At this time, in step S420, an apparatus for providing a spreadsheet document based on a multithread according to an embodiment of the present invention causes the main thread to insert each of the elements into an idle state of the plurality of sub-threads, The main thread can be controlled so as to be sequentially allocated to each of them.
단계(S430)에서는 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치가 상기 다수의 서브 쓰레드들 각각이 상기 메인 쓰레드로부터 순차적으로 할당된 상기 엘리먼트들 각각의 데이터를 로드하도록 상기 다수의 서브 쓰레드들을 제어한다.In step S430, an apparatus for providing a spreadsheet document based on a multithread according to an exemplary embodiment of the present invention includes a plurality of sub-threads, each of the plurality of sub-threads sequentially loading data of the elements sequentially allocated from the main thread, Threads.
단계(S440)에서는 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치가 상기 엘리먼트들의 상기 식별 정보에 기초하여 상기 엘리먼트들 중 제1 시트에 상응하는 제1 엘리먼트들 각각의 데이터가 로드된 경우, 상기 로드된 제1 엘리먼트들 각각의 데이터를 제1 객체형 데이터로 변환한다.In step S440, an apparatus for providing a spreadsheet document based on a multithread according to an embodiment of the present invention determines whether or not the data of each of the first elements corresponding to the first sheet of the elements, based on the identification information of the elements, And if so, converts the data of each of the loaded first elements into the first object type data.
단계(S450)에서는 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치가 상기 제1 객체형 데이터를 상기 클라이언트 단말로 전송한다.In step S450, the multithread-based spreadsheet document providing apparatus transmits the first object type data to the client terminal according to an embodiment of the present invention.
이때, 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치는 상기 엘리먼트들의 상기 식별 정보 기초하여 상기 엘리먼트들 중 상기 제1 시트 이외의 제2 시트들 각각에 상응하는 제2 엘리먼트들 각각의 데이터가 로드된 경우, 상기 로드된 제2 엘리먼트들 각각의 데이터를 제2 객체형 데이터로 변환하고, 상기 제2 객체형 데이터를 상기 클라이언트 단말로 전송할 수 있다.At this time, an apparatus for providing a spreadsheet document based on a multithread according to an embodiment of the present invention may include a second element corresponding to each of the second sheets other than the first sheet among the elements based on the identification information of the elements When each data is loaded, data of each of the loaded second elements may be converted into second object type data, and the second object type data may be transmitted to the client terminal.
또한, 단계(S420)에서는 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치가 상기 다수의 서브 쓰레드들 모두가 상기 할당된 엘리먼트들 각각의 데이터를 로드하고 있는 경우 상기 엘리먼트들 중 할당되지 않은 엘리먼트들 중 하나의 엘리먼트를 상기 메인 쓰레드에게 할당한 후 상기 하나의 엘리먼트의 데이터를 로드하도록 상기 메인 쓰레드를 제어하고, 상기 메인 쓰레드가 다수의 서브 쓰레드들 각각에 순차적으로 할당된 엘리먼트의 식별 정보를 제공하도록 상기 메인 쓰레드를 제어할 수 있으며, 이에 따라, 단계(S430)에서는 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치가 상기 다수의 서브 쓰레드들을 제어하는 단계는 상기 다수의 서브 쓰레드들 각각이 상기 메인 쓰레드로부터 제공된 상기 식별 정보에 상응하는 엘리먼트의 데이터를 로드하도록 제어할 수 있다.In step S420, if the apparatus for providing a spreadsheet document based on a multithread according to an embodiment of the present invention loads data of each of the allocated elements in all of the plurality of sub-threads, Controlling the main thread to allocate an element of one of the unallocated elements to the main thread and then to load the data of the one element, wherein the main thread allocates elements of sequentially allocated elements to the plurality of sub threads The main thread can be controlled to provide the identification information. Accordingly, in step S430, the step of controlling the plurality of sub-threads by the apparatus for providing a spreadsheet document based on the multithread according to an embodiment of the present invention Each of the plurality of sub-threads being provided from the main thread It can be controlled so as to load the data element corresponding to the group identification information.
또한, 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치는 상기 제1 객체형 데이터를 상기 클라이언트 단말로 전송한 후 상기 클라이언트 단말로부터 제2 시트들 중 제3 시트에 대한 제3 객체형 데이터를 요청한 경우, 상기 제3 시트에 상응하는 제3 엘리먼트들 각각의 데이터가 로드되었는지 확인하고, 상기 제3 엘리먼트들 각각의 데이터가 로드된 경우, 상기 로드된 제3 엘리먼트들 각각의 데이터를 제3 객체형 데이터로 변환하며, 상기 제3 객체형 데이터를 상기 클라이언트 단말로 전송할 수 있다.Also, the apparatus for providing a spreadsheet document based on a multithread according to an embodiment of the present invention transmits the first object type data to the client terminal, and then transmits the third object type data from the client terminal to the third If data of the third elements corresponding to the third sheet is requested, if data of each of the third elements is loaded, if data of each of the third elements is loaded, To third object type data, and transmits the third object type data to the client terminal.
이상, 도 4를 참조하여 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치의 동작 방법의 동작 방법은 도 1 내지 3을 이용하여 설명한 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치(100)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The operation of the apparatus for providing a spreadsheet document based on the multithread according to an embodiment of the present invention has been described above with reference to FIG. Here, an operation method of an operation method of a multithread-based spreadsheet document providing apparatus according to an embodiment of the present invention will be described with reference to the operation of the
본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.A method of operating a multithreaded spreadsheet document providing apparatus according to an embodiment of the present invention may be implemented by a computer program stored in a storage medium for execution through a combination with a computer.
또한, 본 발명의 일실시예에 따른 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.In addition, an operation method of a multi-threaded spreadsheet document providing apparatus according to an exemplary embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and configured for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .
Claims (12)
상기 스프레드시트 문서의 데이터 영역에 포함된 엘리먼트들의 식별 정보를 확인한 후 상기 엘리먼트들 각각의 데이터를 로드하도록 상기 엘리먼트들 각각을 다수의 서브 쓰레드들 각각에 순차적으로 할당하는 메인 쓰레드;
상기 메인 쓰레드로부터 상기 다수의 서브 쓰레드들 각각에 순차적으로 할당된 상기 엘리먼트들 각각의 데이터를 로드하는 다수의 서브 쓰레드들;
상기 엘리먼트들의 상기 식별 정보에 기초하여 상기 엘리먼트들 중 제1 시트에 상응하는 제1 엘리먼트들 각각의 데이터가 로드된 경우, 상기 로드된 제1 엘리먼트들 각각의 데이터를 제1 객체형 데이터로 변환하는 객체형 데이터 변환부; 및
상기 제1 객체형 데이터를 상기 클라이언트 단말로 전송하는 객체형 데이터 전송부
를 포함하는 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치.When a read command for a spreadsheet document stored in a document storage unit is input from a client terminal, first sheet information recorded in a document information area of the spreadsheet document, A document information confirmation unit for confirming that the sheet has been displayed on the client terminal when the editing of the sheet has been finished last;
A main thread sequentially assigning each of the elements to each of a plurality of sub threads to load data of each of the elements after identifying identification information of elements included in a data area of the spreadsheet document;
A plurality of sub-threads for loading data of each of the elements sequentially assigned to each of the plurality of sub-threads from the main thread;
If data of each of first elements corresponding to a first sheet of the elements is loaded based on the identification information of the elements, converting data of each of the loaded first elements into first object type data An object type data conversion unit; And
An object type data transfer unit for transferring the first object type data to the client terminal,
Based spreadsheet document providing apparatus.
상기 객체형 데이터 변환부는 상기 엘리먼트들의 상기 식별 정보 기초하여 상기 엘리먼트들 중 상기 제1 시트 이외의 제2 시트들 각각에 상응하는 제2 엘리먼트들 각각의 데이터가 로드된 경우, 상기 로드된 제2 엘리먼트들 각각의 데이터를 제2 객체형 데이터로 변환하고,
상기 객체형 데이터 전송부는 상기 제2 객체형 데이터를 상기 클라이언트 단말로 전송하는
멀티 쓰레드 기반의 스프레드시트 문서 제공 장치.The method according to claim 1,
Wherein the object type data conversion unit converts the data of each of the second elements corresponding to each of the second sheets other than the first sheet of the elements based on the identification information of the elements, Into second object type data,
And the object type data transmission unit transmits the second object type data to the client terminal
Multi-threaded spreadsheet document delivery device.
상기 메인 쓰레드는 상기 엘리먼트들 각각을 상기 다수의 서브 쓰레드들 중 아이들(idle) 상태인 서브 쓰레드들 각각에 순차적으로 할당하는
멀티 쓰레드 기반의 스프레드시트 문서 제공 장치.3. The method of claim 2,
The main thread sequentially allocates each of the elements to each of the sub-threads in an idle state among the plurality of sub-threads
Multi-threaded spreadsheet document delivery device.
상기 메인 쓰레드는 상기 엘리먼트들 각각을 상기 다수의 서브 쓰레드들 각각에 순차적으로 할당하되, 상기 다수의 서브 쓰레드들 모두가 상기 할당된 엘리먼트들 각각의 데이터를 로드하고 있는 경우 상기 엘리먼트들 중 할당되지 않은 엘리먼트들 중 하나의 엘리먼트를 자신에게 할당한 후 상기 하나의 엘리먼트의 데이터를 로드하며,
상기 메인 쓰레드는 다수의 서브 쓰레드들 각각에 순차적으로 할당된 엘리먼트의 식별 정보를 제공하고,
상기 다수의 서브 쓰레드들 각각은 상기 메인 쓰레드로부터 제공된 상기 식별 정보에 상응하는 엘리먼트의 데이터를 로드하는
멀티 쓰레드 기반의 스프레드시트 문서 제공 장치.The method of claim 3,
Wherein the main thread sequentially allocates each of the elements to each of the plurality of sub-threads, wherein if all of the plurality of sub-threads are loading data of each of the allocated elements, Assigning an element of one of the elements to itself, loading the data of the one element,
The main thread provides identification information of elements sequentially assigned to each of a plurality of sub-threads,
Wherein each of the plurality of sub threads loads data of an element corresponding to the identification information provided from the main thread
Multi-threaded spreadsheet document delivery device.
상기 객체형 데이터 변환부는 상기 제1 객체형 데이터를 상기 클라이언트 단말로 전송한 후 상기 클라이언트 단말로부터 제2 시트들 중 제3 시트에 대한 제3 객체형 데이터를 요청한 경우, 상기 제3 시트에 상응하는 제3 엘리먼트들 각각의 데이터가 로드되었는지 확인하고, 상기 제3 엘리먼트들 각각의 데이터가 로드된 경우, 상기 로드된 제3 엘리먼트들 각각의 데이터를 제3 객체형 데이터로 변환하고,
상기 객체형 데이터 전송부는 상기 제3 객체형 데이터를 상기 클라이언트 단말로 전송하는
멀티 쓰레드 기반의 스프레드시트 문서 제공 장치.5. The method of claim 4,
When the object type data conversion unit transmits the first object type data to the client terminal and then requests the third object type data for the third sheet among the second sheets from the client terminal, If the data of each of the third elements is loaded, converting the data of each of the loaded third elements into third object type data,
And the object type data transmission unit transmits the third object type data to the client terminal
Multi-threaded spreadsheet document delivery device.
메인 쓰레드가 상기 스프레드시트 문서의 데이터 영역에 포함된 엘리먼트들의 식별 정보를 확인한 후 상기 엘리먼트들 각각의 데이터를 로드하도록 상기 엘리먼트들 각각을 다수의 서브 쓰레드들 각각에 순차적으로 할당하도록 상기 메인 쓰레드를 제어하는 단계;
상기 다수의 서브 쓰레드들 각각이 상기 메인 쓰레드로부터 순차적으로 할당된 상기 엘리먼트들 각각의 데이터를 로드하도록 상기 다수의 서브 쓰레드들을 제어하는 단계;
상기 엘리먼트들의 상기 식별 정보에 기초하여 상기 엘리먼트들 중 제1 시트에 상응하는 제1 엘리먼트들 각각의 데이터가 로드된 경우, 상기 로드된 제1 엘리먼트들 각각의 데이터를 제1 객체형 데이터로 변환하는 단계; 및
상기 제1 객체형 데이터를 상기 클라이언트 단말로 전송하는 단계
를 포함하는 멀티 쓰레드 기반의 스프레드시트 문서 제공 장치의 동작 방법.When a read command for a spreadsheet document stored in a document storage unit is input from a client terminal, first sheet information recorded in a document information area of the spreadsheet document, Confirming that the sheet has been displayed on the client terminal when the editing of the sheet is finished last;
Controlling the main thread to sequentially allocate each of the elements to each of a plurality of sub threads so that the main thread identifies identification information of elements included in a data area of the spreadsheet document and then loads data of each of the elements; ;
Controlling each of the plurality of sub threads to load data of each of the sequentially assigned elements from the main thread;
If data of each of first elements corresponding to a first sheet of the elements is loaded based on the identification information of the elements, converting data of each of the loaded first elements into first object type data step; And
Transmitting the first object type data to the client terminal
Based spreadsheet document providing apparatus.
상기 엘리먼트들의 상기 식별 정보 기초하여 상기 엘리먼트들 중 상기 제1 시트 이외의 제2 시트들 각각에 상응하는 제2 엘리먼트들 각각의 데이터가 로드된 경우, 상기 로드된 제2 엘리먼트들 각각의 데이터를 제2 객체형 데이터로 변환하는 단계; 및
상기 제2 객체형 데이터를 상기 클라이언트 단말로 전송하는 단계를 더 포함하는
멀티 쓰레드 기반의 스프레드시트 문서 제공 장치의 동작 방법.The method according to claim 6,
If the data of each of the second elements corresponding to each of the second sheets other than the first sheet among the elements is loaded based on the identification information of the elements, 2 object type data; And
And transmitting the second object type data to the client terminal
Method of operating a device for providing a spreadsheet document based on a multithread.
상기 엘리먼트들 각각을 순차적으로 할당하는 단계는 상기 메인 쓰레드가 상기 엘리먼트들 각각을 상기 다수의 서브 쓰레드들 중 아이들(idle) 상태인 서브 쓰레드들 각각에 순차적으로 할당하도록 상기 메인 쓰레드를 제어하는
멀티 쓰레드 기반의 스프레드시트 문서 제공 장치의 동작 방법.8. The method of claim 7,
Wherein sequentially allocating each of the elements comprises: controlling the main thread to sequentially allocate each of the elements to each of the sub-threads in an idle state of the plurality of sub-threads
Method of operating a device for providing a spreadsheet document based on a multithread.
상기 엘리먼트들 각각을 순차적으로 할당하는 단계는
상기 다수의 서브 쓰레드들 모두가 상기 할당된 엘리먼트들 각각의 데이터를 로드하고 있는 경우 상기 엘리먼트들 중 할당되지 않은 엘리먼트들 중 하나의 엘리먼트를 상기 메인 쓰레드에게 할당한 후 상기 하나의 엘리먼트의 데이터를 로드하도록 상기 메인 쓰레드를 제어하는 단계; 및
상기 메인 쓰레드가 다수의 서브 쓰레드들 각각에 순차적으로 할당된 엘리먼트의 식별 정보를 제공하도록 상기 메인 쓰레드를 제어하는 단계;
를 포함하고,
상기 다수의 서브 쓰레드들을 제어하는 단계는 상기 다수의 서브 쓰레드들 각각이 상기 메인 쓰레드로부터 제공된 상기 식별 정보에 상응하는 엘리먼트의 데이터를 로드하도록 제어하는
멀티 쓰레드 기반의 스프레드시트 문서 제공 장치의 동작 방법.9. The method of claim 8,
The step of sequentially allocating each of the elements
When all of the plurality of sub-threads are loading data of each of the allocated elements, allocating one of the unallocated elements to the main thread and then loading the data of the one element Controlling the main thread; And
Controlling the main thread so that the main thread provides identification information of an element sequentially assigned to each of a plurality of sub threads;
Lt; / RTI >
Wherein the controlling of the plurality of sub-threads controls each of the plurality of sub-threads to load data of an element corresponding to the identification information provided from the main thread
Method of operating a device for providing a spreadsheet document based on a multithread.
상기 제1 객체형 데이터를 상기 클라이언트 단말로 전송한 후 상기 클라이언트 단말로부터 제2 시트들 중 제3 시트에 대한 제3 객체형 데이터를 요청한 경우, 상기 제3 시트에 상응하는 제3 엘리먼트들 각각의 데이터가 로드되었는지 확인하는 단계;
상기 제3 엘리먼트들 각각의 데이터가 로드된 경우, 상기 로드된 제3 엘리먼트들 각각의 데이터를 제3 객체형 데이터로 변환하는 단계; 및
상기 제3 객체형 데이터를 상기 클라이언트 단말로 전송하는 단계
를 더 포함하는
멀티 쓰레드 기반의 스프레드시트 문서 제공 장치의 동작 방법.10. The method of claim 9,
When transmitting the first object type data to the client terminal and requesting the third object type data for the third one of the second sheets from the client terminal, Confirming that data is loaded;
If data of each of the third elements is loaded, converting data of each of the loaded third elements into third object type data; And
Transmitting the third object type data to the client terminal
Further comprising
Method of operating a device for providing a spreadsheet document based on a multithread.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170063285A KR101774265B1 (en) | 2017-05-23 | 2017-05-23 | Multi thread based spreadsheet document providing apparatus and operating method thereof |
PCT/KR2018/005061 WO2018216920A1 (en) | 2017-05-23 | 2018-05-02 | Device for providing multi-thread based spread sheet document, and operation method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170063285A KR101774265B1 (en) | 2017-05-23 | 2017-05-23 | Multi thread based spreadsheet document providing apparatus and operating method thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101774265B1 true KR101774265B1 (en) | 2017-09-12 |
Family
ID=59926436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170063285A KR101774265B1 (en) | 2017-05-23 | 2017-05-23 | Multi thread based spreadsheet document providing apparatus and operating method thereof |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101774265B1 (en) |
WO (1) | WO2018216920A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200016579A (en) * | 2018-08-07 | 2020-02-17 | 캐릭터테크 주식회사 | Apparatus for processing 3 dimension modelling data based on multi thread and operating method thereof |
KR102266073B1 (en) * | 2020-02-03 | 2021-06-17 | 주식회사 한글과컴퓨터 | Electronic device that controls the efficient loading of each sheet that makes up a spreadsheet document based on a multi-thread and operating method thereof |
KR20230033433A (en) * | 2021-09-01 | 2023-03-08 | 주식회사 한글과컴퓨터 | Electronic apparatus that performs parallel processing-based document format conversion and operating method thereof |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109801174B (en) * | 2018-12-26 | 2023-11-17 | 平安科技(深圳)有限公司 | Method, device, equipment and computer readable storage medium for processing claim data |
CN114509986B (en) * | 2022-01-20 | 2024-04-05 | 武汉朗宇智能科技有限公司 | Cross-platform HMI configuration system and method based on xml file |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120041733A1 (en) | 2010-08-10 | 2012-02-16 | Nigel James Brock | System and method for analyzing data |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7783614B2 (en) * | 2003-02-13 | 2010-08-24 | Microsoft Corporation | Linking elements of a document to corresponding fields, queries and/or procedures in a database |
US20070061699A1 (en) * | 2005-09-09 | 2007-03-15 | Microsoft Corporation | Named object view of electronic data report |
US9053083B2 (en) * | 2011-11-04 | 2015-06-09 | Microsoft Technology Licensing, Llc | Interaction between web gadgets and spreadsheets |
US10664652B2 (en) * | 2013-06-15 | 2020-05-26 | Microsoft Technology Licensing, Llc | Seamless grid and canvas integration in a spreadsheet application |
US20160026616A1 (en) * | 2014-07-28 | 2016-01-28 | Microsoft Corporation | Presenting dataset of spreadsheet in form based view |
-
2017
- 2017-05-23 KR KR1020170063285A patent/KR101774265B1/en active IP Right Grant
-
2018
- 2018-05-02 WO PCT/KR2018/005061 patent/WO2018216920A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120041733A1 (en) | 2010-08-10 | 2012-02-16 | Nigel James Brock | System and method for analyzing data |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200016579A (en) * | 2018-08-07 | 2020-02-17 | 캐릭터테크 주식회사 | Apparatus for processing 3 dimension modelling data based on multi thread and operating method thereof |
KR102110760B1 (en) | 2018-08-07 | 2020-05-15 | 매트릭스테크 주식회사 | Apparatus for processing 3 dimension modelling data based on multi thread and operating method thereof |
KR102266073B1 (en) * | 2020-02-03 | 2021-06-17 | 주식회사 한글과컴퓨터 | Electronic device that controls the efficient loading of each sheet that makes up a spreadsheet document based on a multi-thread and operating method thereof |
KR20230033433A (en) * | 2021-09-01 | 2023-03-08 | 주식회사 한글과컴퓨터 | Electronic apparatus that performs parallel processing-based document format conversion and operating method thereof |
KR102566934B1 (en) * | 2021-09-01 | 2023-08-14 | 주식회사 한글과컴퓨터 | Electronic apparatus that performs parallel processing-based document format conversion and operating method thereof |
Also Published As
Publication number | Publication date |
---|---|
WO2018216920A1 (en) | 2018-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101774265B1 (en) | Multi thread based spreadsheet document providing apparatus and operating method thereof | |
US10977438B2 (en) | Latency reduction in collaborative presentation sharing environment | |
US8176081B2 (en) | Forms integration of an external data model not implemented through a document object model (DOM) accessible application programming interface (API) | |
CN102739770B (en) | Method and system for scheduling resource based on cloud computing | |
US10572581B2 (en) | System and method for web content presentation management | |
US20150089382A1 (en) | Application context migration framework and protocol | |
JP5042693B2 (en) | Optimize storage and transmission of markup language files | |
KR20120128357A (en) | Method and apparatus for splitting of media file | |
KR101805959B1 (en) | Serializing document editing commands | |
US10310716B2 (en) | Apparatus for supporting cooperation for joint editing of electronic document, and method of operating the same | |
EP4131054A1 (en) | Document editing method and apparatus, computer device and storage medium | |
US10733361B2 (en) | Content reproducing apparatus | |
US9483493B2 (en) | Method and system for accessing a distributed file system | |
AU2016202576B2 (en) | Techniques for evaluating applications through use of an auxiliary application | |
US11093705B2 (en) | Apparatus and method of verifying simultaneous edit match for markup language-based document | |
KR102087280B1 (en) | Server for editing electronic document based on message including edit command and operating method thereof | |
KR102013620B1 (en) | Web based document editing server for changing template of web based document and operating method thereof | |
KR101965722B1 (en) | Apparatus for ensuring editing reliability in respect of web document according to whether to edit single or edit simultaneously and operation method thereof | |
JP2011008753A (en) | Method and system for executing file stored in hidden storage area of storage device | |
CN115981614B (en) | Modular processing method for project engineering, electronic equipment and computer storage medium | |
KR102004975B1 (en) | Apparatus for editing web based document by remote accessing each of web based document storage servers and operating method thereof | |
KR102017293B1 (en) | Client terminal apparatus for performing transmission processing of an efficient editing command in a document collaborative editing environment and operating method thereof | |
KR101965718B1 (en) | Apparatus for ensuring editing reliability in respect of web document and operation method thereof | |
KR20210144513A (en) | Method and system for sharing contents among a plirality of devices | |
JP5294352B2 (en) | Thin client system, session management apparatus, session management method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |