KR102266073B1 - 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 - Google Patents
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 Download PDFInfo
- Publication number
- KR102266073B1 KR102266073B1 KR1020200012402A KR20200012402A KR102266073B1 KR 102266073 B1 KR102266073 B1 KR 102266073B1 KR 1020200012402 A KR1020200012402 A KR 1020200012402A KR 20200012402 A KR20200012402 A KR 20200012402A KR 102266073 B1 KR102266073 B1 KR 102266073B1
- Authority
- KR
- South Korea
- Prior art keywords
- sheets
- sheet
- loading
- unit
- reference sheet
- Prior art date
Links
- 238000011017 operating method Methods 0.000 title abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 28
- 239000013598 vector Substances 0.000 claims description 87
- 238000000605 extraction Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims description 5
- 230000003213 activating effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005226 mechanical processes and functions Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30072—Arrangements for executing specific machine instructions to perform conditional operations, e.g. using predicates or guards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/3009—Thread control instructions
Abstract
Description
본 발명은 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치 및 그 동작 방법에 대한 것이다.The present invention relates to an electronic device for efficiently controlling the load of each sheet constituting a spreadsheet document based on a multi-thread, and an operating method thereof.
최근, 컴퓨터나 스마트폰 또는 태블릿 PC 등이 널리 보급됨에 따라, 이러한 전자 장치를 이용하여 전자 문서를 열람, 작성, 편집할 수 있도록 하는 다양한 종류의 전자 문서 관련 프로그램들이 출시되고 있다. Recently, as computers, smart phones, or tablet PCs are widely used, various types of electronic document-related programs have been released that allow users to read, write, and edit electronic documents using such electronic devices.
이러한 전자 문서 관련 프로그램들로는 기본적인 문서의 작성, 편집 등을 지원하는 워드프로세서, 데이터의 입력, 산술연산, 데이터 관리를 보조하는 스프레드시트, 발표자의 발표를 보조하기 위한 프레젠테이션 프로그램들이 있다. These electronic document-related programs include a word processor supporting basic document creation and editing, a spreadsheet supporting data input, arithmetic operations, and data management, and presentation programs supporting a presenter's presentation.
관련하여, 스프레드시트에서 생성되는 문서는 여러 개의 시트들로 구성될 수 있고, 각 시트는 가로 행과 세로 행이 교차하면서 만든 셀이라는 공간에 데이터가 입력되어 각종 계산 작업을 수행할 수 있도록 구성되어 있다.In relation to this, a document created in a spreadsheet can be composed of several sheets, and each sheet is configured so that data can be entered into a space called a cell created by intersecting horizontal and vertical rows to perform various calculations. have.
일반적으로, 복수의 시트들로 구성되는 스프레드시트 문서가 메모리에 저장된 후, 사용자의 문서 오픈 명령에 따라 스프레드시트 상에서 오픈되면, 상기 스프레드시트 문서를 구성하는 상기 복수의 시트들이 화면 상에 순차적으로 로드된다.In general, after a spreadsheet document composed of a plurality of sheets is stored in a memory and then opened on the spreadsheet according to a user's document open command, the plurality of sheets constituting the spreadsheet document are sequentially loaded on the screen. do.
이 경우, 프로세스 내에서 실행되는 여러 흐름의 단위를 의미하는 '스레드'가 사용자의 문서 오픈 명령에 따른 상기 복수의 시트들의 로드 작업을 수행하기 위해, 운영체제로부터 시스템 자원을 할당받아 로드 작업을 처리하게 된다.In this case, a 'thread', which means a unit of several flows executed in a process, receives system resources from the operating system to process the load operation in order to perform the load operation of the plurality of sheets according to the user's document open command. do.
기존에는 각 시트별로 단일 스레드를 생성하여 로드 작업을 처리함에 따라, 하나의 시트에 대한 로드가 완료되어야만 다음 시트가 로드될 수 있어, 시트의 수가 너무 많거나 특정 시트의 데이터 크기가 매우 큰 경우, 자원의 비효율적 할당으로 상기 복수의 시트들의 전체 로딩 속도가 느려지는 문제가 있었다. In the past, as a single thread was created for each sheet to handle the load operation, the next sheet could be loaded only after the loading of one sheet was completed. If the number of sheets is too large or the data size of a specific sheet is very large, There is a problem in that the overall loading speed of the plurality of sheets is slowed down due to inefficient allocation of resources.
만약, 다수의 시트들 각각이 하나씩 할당된 다수의 스레드를 기반으로 상기 문서 오픈 명령에 따른 시트들의 로드 작업을 처리할 수 있다면, 하나의 프로세스 내에서 다수의 스레드가 자원을 공유함으로써, 시스템의 처리량과 처리 속도를 향상시킬 수 있어 자원의 효율적인 운영이 가능할 것이다. If a load operation of sheets according to the document open command can be processed based on a plurality of threads allocated to each of a plurality of sheets, a plurality of threads within one process share a resource, thereby increasing the throughput of the system and processing speed can be improved, so that efficient operation of resources will be possible.
더불어, 스프레드시트 문서를 구성하는 각 시트에 대한 사용자의 편집시간이나 데이터 크기 등을 기초로, 상기 복수의 시트들의 로드 순서를 결정함으로써, 사용자의 편의를 도모할 수도 있다.In addition, by determining the load order of the plurality of sheets based on the user's editing time or data size for each sheet constituting the spreadsheet document, user convenience may be promoted.
따라서, 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 기술에 대한 연구가 필요하다.Therefore, it is necessary to study a technique for efficiently controlling the load for each sheet composing a spreadsheet document based on multi-threading.
본 발명에 따른 전자 장치 및 그 동작 방법은 사용자로부터 스프레드시트 문서의 저장 명령이 수신되면, 상기 문서에서 생성된 n(n은 3이상의 자연수임)개의 시트들 각각에 대한 편집시간 정보를 문서 파일에 포함시켜 저장한 후, 상기 사용자로부터 상기 문서 파일에 대한 오픈 명령이 수신되면, 상기 n개의 시트들의 로드가 모두 완료될 때까지, 상기 문서 파일에 포함된 상기 n개의 시트들 각각에 대한 편집시간과 상기 n개의 시트들 각각에 대한 데이터 크기를 기초로, 상기 n개의 시트들 중 k(k는 n보다 작은 2이상의 자연수임)개의 시트들을 선택하고, k개의 로딩 스레드들에 하나씩 할당하여 병렬 로드하는 과정을 반복 수행함으로써, 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트의 효율적인 로드를 지원하고자 한다.An electronic device and an operating method thereof according to the present invention, when a command to save a spreadsheet document is received from a user, edit time information for each of n (n is a natural number equal to or greater than 3) generated in the document is stored in a document file After including and storing, when an open command for the document file is received from the user, the editing time for each of the n sheets included in the document file and Based on the data size for each of the n sheets, k (k is a natural number less than 2 or more) of the n sheets is selected, and one is assigned to k loading threads for parallel loading. By repeating the process, we want to support efficient loading of each sheet composing a spreadsheet document based on multi-threading.
본 발명의 일실시예에 따른 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치는 사용자의 편집 명령에 의해 스프레드시트 문서에서 n(n은 3이상의 자연수임)개의 시트들이 생성된 경우, 상기 n개의 시트들 각각에 대한 편집시간 - 상기 n개의 시트들 각각에 대한 편집시간은 상기 n개의 시트들 각각이 문서 편집을 위해 활성화되어 있는 시간을 의미함 - 을 측정하는 편집시간 측정부, 상기 사용자로부터 상기 n개의 시트들에 대한 문서 편집이 완료되어 문서 저장 명령이 수신되면, 상기 n개의 시트들 각각에 대한 편집시간 정보가 포함된 문서 파일을 생성하여 저장하는 저장부, 상기 사용자로부터 상기 문서 파일에 대한 오픈 명령이 수신되면, 상기 문서 파일에 포함되어 있는 상기 n개의 시트들 각각에 대한 편집시간을 확인한 후, 상기 n개의 시트들 각각에 대한 데이터 크기를 확인하는 확인부, 상기 n개의 시트들 각각에 대하여, 상기 n개의 시트들 각각에 대한 편집시간과 상기 n개의 시트들 각각에 대한 데이터 크기를 각 성분으로 하는 2차원의 기준 벡터를 생성하는 기준 벡터 생성부, 상기 n개의 시트들 중 편집시간이 최대인 제1 기준 시트를 추출하는 추출부, 상기 n개의 시트들 중 상기 제1 기준 시트를 제외한 나머지 n-1개의 시트들 각각에 대한 2차원의 기준 벡터와 상기 제1 기준 시트에 대한 2차원의 기준 벡터 간의 유클리드 거리(Euclidean Distance)를 연산한 후, 상기 n-1개의 시트들 중 상기 제1 기준 시트에 대한 2차원의 기준 벡터와의 유클리드 거리가 최소인 2차원의 기준 벡터를 갖는 k-1(k는 n보다 작은 2이상의 자연수임)개의 제1 시트들을 선택하는 선택부 및 상기 제1 기준 시트와 상기 k-1개의 제1 시트들의 로드를 위한 k개의 제1 로딩 스레드(thread)들을 생성하고, 상기 k개의 제1 로딩 스레드들에 상기 제1 기준 시트와 상기 k-1개의 제1 시트들 각각을 하나씩 할당한 후, 상기 k개의 제1 로딩 스레드들을 실행시켜 상기 제1 기준 시트와 상기 k-1개의 제1 시트들을 병렬 로드하는 로드부를 포함한다.The electronic device for efficiently controlling the loading of each sheet constituting the spreadsheet document based on the multi-thread according to an embodiment of the present invention is n (n is a natural number greater than or equal to 3) in the spreadsheet document by the user's editing command. When n sheets are generated, the editing time for each of the n sheets - the editing time for each of the n sheets means the time during which each of the n sheets is active for document editing - is measured an editing time measuring unit that generates and stores a document file including editing time information for each of the n sheets when a document saving command is received from the user after the document editing for the n sheets is completed When an open command for the document file is received from the user, after checking the editing time for each of the n sheets included in the document file, the data size for each of the n sheets is checked A check unit, for each of the n sheets, a reference vector generation unit for generating a two-dimensional reference vector using an editing time for each of the n sheets and a data size for each of the n sheets as each component , an extraction unit for extracting a first reference sheet having the maximum editing time from among the n sheets, a two-dimensional reference vector for each of the remaining n-1 sheets excluding the first reference sheet among the n sheets After calculating the Euclidean Distance between the and the two-dimensional reference vector for the first reference sheet, the Euclidean distance from the two-dimensional reference vector for the first reference sheet among the n-1 sheets is A selection unit for selecting k-1 (k is a natural number greater than or equal to 2, less than n) first sheets having a minimum two-dimensional reference vector, and a load of the first reference sheet and the k-1 first sheets After generating k first loading threads for the , assigning each of the first reference sheet and the k-1 first sheets one to the k first loading threads, the k and a load unit for executing the first loading threads to load the first reference sheet and the k-1 first sheets in parallel.
또한, 본 발명의 일실시예에 따른 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치의 동작 방법은 사용자의 편집 명령에 의해 스프레드시트 문서에서 n개의 시트들이 생성된 경우, 편집시간 측정부가 상기 n개의 시트들 각각에 대한 편집시간 - 상기 n개의 시트들 각각에 대한 편집시간은 상기 n개의 시트들 각각이 문서 편집을 위해 활성화되어 있는 시간을 의미함 - 을 측정하는 단계, 상기 사용자로부터 상기 n개의 시트들에 대한 문서 편집이 완료되어 문서 저장 명령이 수신되면, 저장부가 상기 n개의 시트들 각각에 대한 편집시간 정보가 포함된 문서 파일을 생성하여 저장하는 단계, 상기 사용자로부터 상기 문서 파일에 대한 오픈 명령이 수신되면, 확인부가 상기 문서 파일에 포함되어 있는 상기 n개의 시트들 각각에 대한 편집시간을 확인한 후, 상기 n개의 시트들 각각에 대한 데이터 크기를 확인하는 단계, 기준 벡터 생성부가 상기 n개의 시트들 각각에 대하여, 상기 n개의 시트들 각각에 대한 편집시간과 상기 n개의 시트들 각각에 대한 데이터 크기를 각 성분으로 하는 2차원의 기준 벡터를 생성하는 단계, 추출부가 상기 n개의 시트들 중 편집시간이 최대인 제1 기준 시트를 추출하는 단계, 선택부가 상기 n개의 시트들 중 상기 제1 기준 시트를 제외한 나머지 n-1개의 시트들 각각에 대한 2차원의 기준 벡터와 상기 제1 기준 시트에 대한 2차원의 기준 벡터 간의 유클리드 거리를 연산한 후, 상기 n-1개의 시트들 중 상기 제1 기준 시트에 대한 2차원의 기준 벡터와의 유클리드 거리가 최소인 2차원의 기준 벡터를 갖는 k-1개의 제1 시트들을 선택하는 단계 및 로드부가 상기 제1 기준 시트와 상기 k-1개의 제1 시트들의 로드를 위한 k개의 제1 로딩 스레드들을 생성하고, 상기 k개의 제1 로딩 스레드들에 상기 제1 기준 시트와 상기 k-1개의 제1 시트들 각각을 하나씩 할당한 후, 상기 k개의 제1 로딩 스레드들을 실행시켜 상기 제1 기준 시트와 상기 k-1개의 제1 시트들을 병렬 로드하는 단계를 포함한다.In addition, the operating method of the electronic device for efficiently controlling the loading of each sheet constituting the spreadsheet document based on the multi-thread according to an embodiment of the present invention is that n sheets in the spreadsheet document are When generated, the editing time measuring unit calculates the editing time for each of the n sheets - the editing time for each of the n sheets means the time during which each of the n sheets is active for document editing Measuring, when the document editing of the n sheets is completed and a document storage command is received from the user, a storage unit generating and storing a document file including editing time information for each of the n sheets , when an open command for the document file is received from the user, a confirmation unit checks the editing time for each of the n sheets included in the document file, and then checks the data size for each of the n sheets step, the reference vector generating unit, for each of the n sheets, generating a two-dimensional reference vector using the editing time for each of the n sheets and the data size for each of the n sheets as each component step, extracting, by an extraction unit, a first reference sheet having a maximum editing time from among the n sheets, a selection unit 2 for each of the remaining n-1 sheets excluding the first reference sheet among the n sheets After calculating the Euclidean distance between the dimensional reference vector and the two-dimensional reference vector for the first reference sheet, the Euclidean distance between the two-dimensional reference vector for the first reference sheet among the n-1 sheets is selecting k-1 first sheets having a minimum two-dimensional reference vector, and a loader generating k first loading threads for loading the first reference sheet and the k-1 first sheets, , after allocating each of the first reference sheet and the k-1 first sheets to the k first loading threads, executing the k first loading threads and loading a first reference sheet and the k-1 first sheets in parallel.
본 발명에 따른 전자 장치 및 그 동작 방법은 사용자로부터 스프레드시트 문서의 저장 명령이 수신되면, 상기 문서에서 생성된 n(n은 3이상의 자연수임)개의 시트들 각각에 대한 편집시간 정보를 문서 파일에 포함시켜 저장한 후, 상기 사용자로부터 상기 문서 파일에 대한 오픈 명령이 수신되면, 상기 n개의 시트들의 로드가 모두 완료될 때까지, 상기 문서 파일에 포함된 상기 n개의 시트들 각각에 대한 편집시간과 상기 n개의 시트들 각각에 대한 데이터 크기를 기초로, 상기 n개의 시트들 중 k(k는 n보다 작은 2이상의 자연수임)개의 시트들을 선택하고, k개의 로딩 스레드들에 하나씩 할당하여 병렬 로드하는 과정을 반복 수행함으로써, 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트의 효율적인 로드를 지원할 수 있다.An electronic device and an operating method thereof according to the present invention, when a command to save a spreadsheet document is received from a user, edit time information for each of n (n is a natural number equal to or greater than 3) generated in the document is stored in a document file After including and storing, when an open command for the document file is received from the user, the editing time for each of the n sheets included in the document file and Based on the data size for each of the n sheets, k (k is a natural number less than 2 or more) of the n sheets is selected, and one is assigned to k loading threads for parallel loading. By repeating the process, it is possible to support efficient loading of each sheet composing a spreadsheet document based on multiple threads.
도 1은 본 발명의 일실시예에 따른 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치의 동작 방법을 도시한 순서도이다. 1 is a diagram illustrating a structure of an electronic device for efficiently controlling a load for each sheet constituting a spreadsheet document based on a multi-thread according to an embodiment of the present invention.
2 is a flowchart illustrating a method of operating an electronic device for efficiently controlling a load for each sheet constituting a spreadsheet document based on a multi-thread 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. These descriptions are not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, like reference numerals are used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, refer to those of ordinary skill in the art to which the present invention belongs. It has the same meaning as is commonly understood by those who have it.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다. In this document, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. In addition, in various embodiments of the present invention, each of the components, functional blocks or means may be composed of one or more sub-components, and the electrical, electronic, and mechanical functions performed by each component are electronic. A circuit, an integrated circuit, an ASIC (Application Specific Integrated Circuit), etc. may be implemented with various well-known devices or mechanical elements, and may be implemented separately or two or more may be integrated into one.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks in the accompanying block diagram or steps in the flowchart are computer program instructions that are loaded in the processor or memory of equipment capable of data processing, such as general-purpose computers, special-purpose computers, portable notebook computers, and network computers, and perform specified functions can be interpreted as meaning Since these computer program instructions may be stored in a memory provided in a computer device or in a memory readable by a computer, the functions described in the blocks of the block diagrams or the steps of the flowcharts are produced as articles of manufacture containing instruction means for performing the same. could be In addition, each block or each step may represent a module, segment, or portion of code comprising one or more executable instructions for executing the specified logical function(s). It should also be noted that, in some alternative embodiments, it is also possible for the functions recited in blocks or steps to be executed out of the prescribed order. For example, two blocks or steps shown in succession may be performed substantially simultaneously or in the reverse order, and in some cases, some blocks or steps may be omitted.
도 1은 본 발명의 일실시예에 따른 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치의 구조를 도시한 도면이다. 1 is a diagram illustrating a structure of an electronic device for efficiently controlling a load for each sheet constituting a spreadsheet document based on a multi-thread according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일실시예에 따른 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치(110)는 편집시간 측정부(111), 저장부(112), 확인부(113), 기준 벡터 생성부(114), 추출부(115), 선택부(116) 및 로드부(117)를 포함한다.Referring to FIG. 1 , the
편집시간 측정부(111)는 사용자의 편집 명령에 의해 스프레드시트 문서에서 n(n은 3이상의 자연수임)개의 시트들이 생성된 경우, 상기 n개의 시트들 각각에 대한 편집시간을 측정한다.The editing
여기서, 상기 n개의 시트들 각각에 대한 편집시간은 상기 n개의 시트들 각각이 문서 편집을 위해 활성화되어 있는 시간을 의미한다. Here, the editing time for each of the n sheets means a time during which each of the n sheets is activated for document editing.
예컨대, n이 '9'라고 가정하면, 편집시간 측정부(111)는 사용자의 편집 명령에 의해 스프레드시트 문서에서 '9'개의 시트들('시트 1', '시트 2', '시트 3', '시트 4', '시트 5', '시트 6', '시트 7', '시트 8', '시트 9')이 생성된 경우, 상기 '9'개의 시트들 각각에 대한 편집시간을 하기의 표 1과 같이 측정할 수 있다.For example, assuming that n is '9', the editing
저장부(112)는 상기 사용자로부터 상기 n개의 시트들에 대한 문서 편집이 완료되어 문서 저장 명령이 수신되면, 상기 n개의 시트들 각각에 대한 편집시간 정보가 포함된 문서 파일을 생성하여 저장한다.The
예컨대, 앞선 예에 따라, 상기 사용자로부터 상기 '9'개의 시트들에 대한 문서 편집이 완료되어 문서 저장 명령이 수신되면, 저장부(112)는 상기 '9'개의 시트들 각각에 대한 편집시간 정보가 포함된 문서 파일을 생성하여 저장할 수 있다.For example, according to the preceding example, when the document editing of the '9' sheets is completed and a document storage command is received from the user, the
확인부(113)는 상기 사용자로부터 상기 문서 파일에 대한 오픈 명령이 수신되면, 상기 문서 파일에 포함되어 있는 상기 n개의 시트들 각각에 대한 편집시간을 확인한 후, 상기 n개의 시트들 각각에 대한 데이터 크기를 확인한다.When an open command for the document file is received from the user, the
기준 벡터 생성부(114)는 상기 n개의 시트들 각각에 대하여, 상기 n개의 시트들 각각에 대한 편집시간과 상기 n개의 시트들 각각에 대한 데이터 크기를 각 성분으로 하는 2차원의 기준 벡터를 생성한다.The reference
추출부(115)는 상기 n개의 시트들 중 편집시간이 최대인 제1 기준 시트를 추출한다.The
선택부(116)는 상기 n개의 시트들 중 상기 제1 기준 시트를 제외한 나머지 n-1개의 시트들 각각에 대한 2차원의 기준 벡터와 상기 제1 기준 시트에 대한 2차원의 기준 벡터 간의 유클리드 거리(Euclidean Distance)를 연산한 후, 상기 n-1개의 시트들 중 상기 제1 기준 시트에 대한 2차원의 기준 벡터와의 유클리드 거리가 최소인 2차원의 기준 벡터를 갖는 k-1(k는 n보다 작은 2이상의 자연수임)개의 제1 시트들을 선택한다.The
여기서, 유클리드 거리란 두 벡터 간의 거리를 의미하는 것으로 하기의 수학식 1에 따라 연산될 수 있다.Here, the Euclidean distance refers to a distance between two vectors and may be calculated according to Equation 1 below.
상기 수학식 1에서 D는 유클리드 거리, pi와 qi는 두 벡터에 포함되어 있는 i번째 성분들을 의미한다. 두 벡터 간의 유클리드 거리가 작을수록 두 벡터는 유사한 벡터라고 볼 수 있고, 두 벡터 간의 유클리드 거리가 클수록 두 벡터는 비유사한 벡터라고 볼 수 있다.In Equation 1, D denotes a Euclidean distance, and p i and q i denote i-th components included in the two vectors. As the Euclidean distance between two vectors is small, the two vectors can be regarded as similar vectors, and as the Euclidean distance between two vectors increases, the two vectors can be regarded as dissimilar vectors.
즉, 상기 n-1개의 시트들 각각에 대한 2차원의 기준 벡터와 상기 제1 기준 시트에 대한 2차원의 기준 벡터 간의 유클리드 거리가 작을수록 상기 n-1개의 시트들 각각에 대한 2차원의 기준 벡터는 상기 제1 기준 시트에 대한 2차원의 기준 벡터와 유사한 벡터라고 볼 수 있고, 상기 n-1개의 시트들 각각에 대한 2차원의 기준 벡터와 상기 제1 기준 시트에 대한 2차원의 기준 벡터 간의 유클리드 거리가 클수록 상기 n-1개의 시트들 각각에 대한 2차원의 기준 벡터는 상기 제1 기준 시트에 대한 2차원의 기준 벡터와 비유사한 벡터라고 볼 수 있다.That is, the smaller the Euclidean distance between the two-dimensional reference vector for each of the n-1 sheets and the two-dimensional reference vector for the first reference sheet is, the smaller the two-dimensional reference for each of the n-1 sheets. The vector may be viewed as a vector similar to a two-dimensional reference vector for the first reference sheet, a two-dimensional reference vector for each of the n-1 sheets, and a two-dimensional reference vector for the first reference sheet As the Euclidean distance between them increases, the two-dimensional reference vector for each of the n-1 sheets may be regarded as a vector dissimilar to the two-dimensional reference vector for the first reference sheet.
로드부(117)는 상기 제1 기준 시트와 상기 k-1개의 제1 시트들의 로드를 위한 k개의 제1 로딩 스레드(thread)들을 생성하고, 상기 k개의 제1 로딩 스레드들에 상기 제1 기준 시트와 상기 k-1개의 제1 시트들 각각을 하나씩 할당한 후, 상기 k개의 제1 로딩 스레드들을 실행시켜 상기 제1 기준 시트와 상기 k-1개의 제1 시트들을 병렬 로드한다.The
여기서, 스레드는 프로세스 내에서 실행되는 명령을 독립적으로 처리하는 하나의 작업 단위를 의미한다.Here, a thread means one unit of work that independently processes instructions executed within a process.
이하에서는 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치(110)의 동작에 대해 예를 들어 상세히 설명하기로 한다. Hereinafter, an operation of the
전술한 예를 따르면, 확인부(113)는 상기 사용자로부터 상기 문서 파일에 대한 오픈 명령이 수신되는 경우, 상기의 표 1에 기록된 바와 같이, 상기 문서 파일에 포함되어 있는 상기 '9'개의 시트들 각각에 대한 편집시간을 확인한 후, 상기 '9'개의 시트들 각각에 대한 데이터 크기를 하기의 표 2와 같이 확인할 수 있다.According to the above-described example, when an open command for the document file is received from the user, the
이후, 기준 벡터 생성부(114)는 상기 '9'개의 시트들 각각에 대하여, 상기 '9'개의 시트들 각각에 대한 편집시간과 상기 '9'개의 시트들 각각에 대한 데이터 크기를 각 성분으로 하는 2차원의 기준 벡터를 하기의 표 3과 같이 생성할 수 있다.Thereafter, for each of the '9' sheets, the
추출부(115)는 상기 '9'개의 시트들 중 편집시간이 최대인 제1 기준 시트로 편집시간이 '300(분)'인 '시트 1'을 추출할 수 있다.The
이렇게, 상기 제1 기준 시트로 '시트 1'이 추출되면, 선택부(116)는 상기 '9'개의 시트들 중 '시트 1'을 제외한 나머지 '8'개의 시트들('시트 2', '시트 3', '시트 4', '시트 5', '시트 6', '시트 7', '시트 8', '시트 9') 각각에 대한 2차원의 기준 벡터와 '시트 1'에 대한 2차원의 기준 벡터인 '[300 150]' 간의 유클리드 거리를 상기 수학식 1에 따라, 하기의 표 4와 같이 연산할 수 있다. In this way, when 'sheet 1' is extracted as the first reference sheet, the
그리고, 선택부(116)는 k가 '3'이라고 가정하는 경우, 상기 '8'개의 시트들 중 '시트 1'에 대한 2차원의 기준 벡터인 '[300 150]'과의 유클리드 거리가 최소인 2차원의 기준 벡터를 갖는 '2'개의 제1 시트들로 '시트 2'와 '시트 4'를 선택할 수 있다.And, when it is assumed that k is '3', the
이렇게, 상기 '2'개의 제1 시트들로 '시트 2'와 '시트 4'가 선택되면, 로드부(117)는 '시트 1'과 '시트 2' 및 '시트 4'의 로드를 위한 '3'개의 제1 로딩 스레드들을 생성할 수 있고, 상기 '3'개의 제1 로딩 스레드들에 '시트 1', '시트 2' 및 '시트 4' 각각을 하나씩 할당한 후, 상기 '3'개의 제1 로딩 스레드들을 실행시켜 '시트 1', '시트 2' 및 '시트 4'를 병렬 로드할 수 있다.In this way, when 'sheet 2' and 'sheet 4' are selected as the '2' first sheets, the
이때, 본 발명의 일실시예에 따르면, 추출부(115)는 상기 제1 기준 시트와 상기 k-1개의 제1 시트들이 모두 로드 완료되는 경우, 상기 n개의 시트들에서 상기 제1 기준 시트와 상기 k-1개의 제1 시트들을 제외한 나머지 n-k개의 시트들 중 편집시간이 최대인 제2 기준 시트를 추출할 수 있다.At this time, according to an embodiment of the present invention, the
또한, 본 발명의 일실시예에 따르면, 선택부(116)는 상기 n-k개의 시트들 중 상기 제2 기준 시트를 제외한 나머지 n-k-1개의 시트들 각각에 대한 2차원의 기준 벡터와 상기 제2 기준 시트에 대한 2차원의 기준 벡터 간의 유클리드 거리를 연산한 후, 상기 n-k-1개의 시트들 중 상기 제2 기준 시트에 대한 2차원의 기준 벡터와의 유클리드 거리가 최소인 2차원의 기준 벡터를 갖는 k-1개의 제2 시트들을 선택할 수 있다.In addition, according to an embodiment of the present invention, the
또한, 본 발명의 일실시예에 따르면, 로드부(117)는 상기 제2 기준 시트와 상기 k-1개의 제2 시트들의 로드를 위한 k개의 제2 로딩 스레드들을 생성하고, 상기 k개의 제2 로딩 스레드들에 상기 제2 기준 시트와 상기 k-1개 제2 시트들 각각을 하나씩 할당한 후, 상기 k개의 제2 로딩 스레드들을 실행시켜 상기 제2 기준 시트와 상기 k-1개의 제2 시트들을 병렬 로드할 수 있다.In addition, according to an embodiment of the present invention, the
이때, n-k-1이 0인 경우, 선택부(116)는 상기 k-1개의 제2 시트들을 선택하지 않을 수 있고, 로드부(117)는 상기 제2 기준 시트의 로드를 위한 제2 로딩 스레드를 생성하고, 상기 제2 로딩 스레드에 상기 제2 기준 시트를 할당한 후, 상기 제2 로딩 스레드를 실행시켜 상기 제2 기준 시트만을 로드할 수 있다. In this case, when nk-1 is 0, the
또한, n-k-1이 k-1보다 작은 경우, 선택부(116)는 n-k-1개의 제2 시트들을 선택할 수 있고, 로드부(117)는 상기 제2 기준 시트와 상기 n-k-1개의 제2 시트들의 로드를 위한 n-k개의 제2 로딩 스레드들을 생성하고, 상기 n-k개의 제2 로딩 스레드들에 상기 제2 기준 시트와 상기 n-k-1개의 제2 시트들 각각을 하나씩 할당한 후, 상기 n-k개의 제2 로딩 스레드들을 실행시켜 상기 제2 기준 시트와 상기 n-k-1개의 제2 시트들을 병렬 로드할 수 있다.Also, when nk-1 is smaller than k-1, the
관련하여, 전술한 예에 따르면, 추출부(115)는 '시트 1', '시트 2' 및 '시트 4'가 모두 로드 완료되는 경우, 상기 '9'개의 시트들에서 '시트 1', '시트 2' 및 '시트 4'를 제외한 나머지 '6'개의 시트들('시트 3', '시트 5', '시트 6', '시트 7', '시트 8', '시트 9') 중 편집시간이 최대인 제2 기준 시트로 편집시간이 '230(분)'인 '시트 3'을 추출할 수 있다.In relation to this, according to the above-described example, when all of 'sheet 1', 'sheet 2', and 'sheet 4' are loaded, the
선택부(116)는 상기 '6'개의 시트들 중 '시트 3'을 제외한 나머지 '5'개의 시트들('시트 5', '시트 6', '시트 7', '시트 8', '시트 9') 각각에 대한 2차원의 기준 벡터와 '시트 3'에 대한 2차원의 기준 벡터인 '[230 100]' 간의 유클리드 거리를 상기 수학식 1에 따라, 하기의 표 5와 같이 연산할 수 있다. The
그리고, 선택부(116)는 상기 '5'개의 시트들 중 '시트 3'에 대한 2차원의 기준 벡터인 '[230 100]'과의 유클리드 거리가 최소인 2차원의 기준 벡터를 갖는 '2'개의 제2 시트들로 '시트 5'와 '시트 6'을 선택할 수 있다.In addition, the
이렇게, 상기 '2'개의 제2 시트들로 '시트 5'와 '시트 6'이 선택되면, 로드부(117)는 '시트 3'과 '시트 5' 및 '시트 6'의 로드를 위한 '3'개의 제2 로딩 스레드들을 생성할 수 있고, 상기 '3'개의 제2 로딩 스레드들에 '시트 3', '시트 5' 및 '시트 6' 각각을 하나씩 할당한 후, 상기 '3'개의 제2 로딩 스레드들을 실행시켜 '시트 3', '시트 5' 및 '시트 6'을 병렬 로드할 수 있다.In this way, when 'sheet 5' and 'sheet 6' are selected as the '2' second sheets, the
이때, 본 발명의 일실시예에 따르면, 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치(110)는 상기 n개의 시트들의 로드를 모두 완료하기 위한 구성으로 반복 수행 제어부(118)를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, the
반복 수행 제어부(118)는 상기 n개의 시트들의 로드가 모두 완료될 때까지 추출부(115), 선택부(116) 및 로드부(117)의 동작을 반복 수행시킨다.The
관련하여, 앞선 예와 같이, 상기 사용자로부터 상기 '9'개의 시트들로 구성되는 상기 문서 파일에 대한 오픈 명령이 수신됨에 따라, 로드부(117)에 의해 상기 '3'개의 제1 로딩 스레드들이 실행되어 '시트 1', '시트 2' 및 '시트 4'가 병렬 로드되고, 상기 '3'개의 제2 로딩 스레드들이 실행되어 '시트 3', '시트 5' 및 '시트 6'이 병렬 로드된 경우, 반복 수행 제어부(118)는 상기 '9'개의 시트들 중 아직 로드되지 않은 '시트 7', '시트 8' 및 '시트 9'의 로드가 모두 완료될 때까지 추출부(115), 선택부(116) 및 로드부(117)의 동작을 반복 수행시킬 수 있다.In this regard, as in the previous example, as an open command for the document file composed of the '9' sheets is received from the user, the '3' first loading threads are executed by the
즉, 추출부(115)는 '시트 3', '시트 5' 및 '시트 6'의 로드가 완료되면, 상기 '6'개의 시트들에서 '시트 3', '시트 5' 및 '시트 6'을 제외한 나머지 '3'개의 시트들('시트 7', '시트 8', '시트 9') 중 편집시간이 최대인 제3 기준 시트로 편집시간이 '50(분)'인 '시트 7'을 추출할 수 있다.That is, when the loading of 'sheet 3', 'sheet 5' and 'sheet 6' is completed, the
그리고, 선택부(116)는 상기 '3'개의 시트들 중 '시트 7'을 제외한 나머지 '2'개의 시트들('시트 8', '시트 9') 각각에 대한 2차원의 기준 벡터와 '시트 7'에 대한 2차원의 기준 벡터인 '[50 100]' 간의 유클리드 거리를 연산한 후, '시트 7'에 대한 2차원의 기준 벡터인 '[50 100]'과의 유클리드 거리가 최소인 2차원의 기준 벡터를 갖는 '2'개의 제3 시트들을 선택할 수 있다.And, the
이때, 선택부(116)는 상기 제3 기준 시트인 '시트 7' 외에 로드되지 않고 남아있는 시트들로 '시트 8'과 '시트 9'만이 존재하므로, 상기 '2'개의 제3 시트들로 '시트 8'과 '시트 9'를 선택할 수 있다.At this time, the
이렇게, 상기 '2'개의 제3 시트들로 '시트 8'과 '시트 9'가 선택되면, 로드부(117)는 '시트 7'과 '시트 8' 및 '시트 9'의 로드를 위한 '3'개의 제3 로딩 스레드들을 생성할 수 있고, 상기 '3'개의 제3 로딩 스레드들에 '시트 7', '시트 8' 및 '시트 9' 각각을 하나씩 할당한 후, 상기 '3'개의 제3 로딩 스레드들을 실행시켜 '시트 7', '시트 8' 및 '시트 9'를 병렬 로드할 수 있다.In this way, when 'sheet 8' and 'sheet 9' are selected as the '2' third sheets, the
또한, 본 발명의 일실시예에 따르면, 로드부(117)는 상기 n개의 시트들 각각의 로드가 완료될 때마다, 마지막으로 로드가 완료된 시트를 활성화시켜 화면 상에 임시로 표시할 수 있다.Also, according to an embodiment of the present invention, the
예컨대, 앞선 예에 따라, 상기 '9'개의 시트들 중 '시트 1', '시트 2', '시트 4'의 로드가 '시트 1', '시트 2', '시트 4'의 순서로 완료된 경우, 로드부(117)는 마지막으로 로드가 완료된 시트인 '시트 4'를 활성화시켜 화면 상에 임시로 표시할 수 있다. For example, according to the preceding example, loading of 'Sheet 1', 'Sheet 2', and 'Sheet 4' among the '9' sheets is completed in the order of 'Sheet 1', 'Sheet 2', and 'Sheet 4'. In this case, the
그리고, '시트 1', '시트 2', '시트 4'의 로드가 완료된 후, '시트 3', '시트 5', '시트 6'의 로드가 '시트 5', '시트 6', '시트 3'의 순서로 완료되면, 로드부(117)는 마지막으로 로드가 완료된 시트인 '시트 3'을 활성화시켜 화면 상에 임시로 표시할 수 있다. 만약, '시트 3'이 로드되기 전이라면, 로드부(117)는 마지막으로 로드가 완료된 시트인 '시트 6'을 활성화시켜 화면 상에 임시로 표시할 수 있을 것이다.And, after loading of 'Sheet 1', 'Sheet 2', and 'Sheet 4' is completed, the loading of 'Sheet 3', 'Sheet 5', and 'Sheet 6' is changed to 'Sheet 5', 'Sheet 6', ' When the order of sheet 3' is completed, the
또한, 본 발명의 일실시예에 따르면, 로드부(117)는 상기 n개의 시트들이 전부 로드 완료되면, 상기 n개의 시트들 중 상기 제1 기준 시트를 활성화시켜 화면 상에 최종 표시할 수 있다.Also, according to an embodiment of the present invention, when all of the n sheets are loaded, the
즉, 로드부(117)는 상기 n개의 시트들 전부의 로드가 완료되면, 상기 n개의 시트들 중 편집시간이 최대인 상기 제1 기준 시트를 화면 상에 최종 표시하여, 상기 사용자가 열람할 가능성이 가장 높은 시트를 화면 상에 표시함으로써, 상기 사용자의 편의를 도모할 수 있다.That is, when the loading of all of the n sheets is completed, the
도 2는 본 발명의 일실시예에 따른 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치의 동작 방법을 도시한 순서도이다.2 is a flowchart illustrating an operation method of an electronic device for efficiently controlling a load for each sheet constituting a spreadsheet document based on a multi-thread according to an embodiment of the present invention.
단계(S210)에서는 사용자의 편집 명령에 의해 스프레드시트 문서에서 n개의 시트들이 생성된 경우, 편집시간 측정부가 상기 n개의 시트들 각각에 대한 편집시간(상기 n개의 시트들 각각에 대한 편집시간은 상기 n개의 시트들 각각이 문서 편집을 위해 활성화되어 있는 시간을 의미함)을 측정한다.In step S210, when n sheets are generated in the spreadsheet document by the user's editing command, the editing time measuring unit edits the editing time for each of the n sheets (the editing time for each of the n sheets is the Measure the time each of n sheets is active for document editing).
단계(S220)에서는 상기 사용자로부터 상기 n개의 시트들에 대한 문서 편집이 완료되어 문서 저장 명령이 수신되면, 저장부가 상기 n개의 시트들 각각에 대한 편집시간 정보가 포함된 문서 파일을 생성하여 저장한다.In step S220, when the document editing of the n sheets is completed and a document storage command is received from the user, the storage unit generates and stores a document file including editing time information for each of the n sheets. .
단계(S230)에서는 상기 사용자로부터 상기 문서 파일에 대한 오픈 명령이 수신되면, 확인부가 상기 문서 파일에 포함되어 있는 상기 n개의 시트들 각각에 대한 편집시간을 확인한 후, 상기 n개의 시트들 각각에 대한 데이터 크기를 확인한다.In step S230, when an open command for the document file is received from the user, a confirmation unit checks the editing time for each of the n sheets included in the document file, and then Check the data size.
단계(S240)에서는 기준 벡터 생성부가 상기 n개의 시트들 각각에 대하여, 상기 n개의 시트들 각각에 대한 편집시간과 상기 n개의 시트들 각각에 대한 데이터 크기를 각 성분으로 하는 2차원의 기준 벡터를 생성한다.In step S240, for each of the n sheets, the reference vector generating unit generates a two-dimensional reference vector using the editing time for each of the n sheets and the data size for each of the n sheets as components. create
단계(S250)에서는 추출부가 상기 n개의 시트들 중 편집시간이 최대인 제1 기준 시트를 추출한다.In step S250, the extraction unit extracts the first reference sheet having the maximum editing time from among the n sheets.
단계(S260)에서는 선택부가 상기 n개의 시트들 중 상기 제1 기준 시트를 제외한 나머지 n-1개의 시트들 각각에 대한 2차원의 기준 벡터와 상기 제1 기준 시트에 대한 2차원의 기준 벡터 간의 유클리드 거리를 연산한 후, 상기 n-1개의 시트들 중 상기 제1 기준 시트에 대한 2차원의 기준 벡터와의 유클리드 거리가 최소인 2차원의 기준 벡터를 갖는 k-1개의 제1 시트들을 선택한다.In step S260, the selection unit Euclidean between the two-dimensional reference vector for each of the remaining n-1 sheets of the n sheets except the first reference sheet and the two-dimensional reference vector for the first reference sheet After calculating the distance, k-1 first sheets having a two-dimensional reference vector having a minimum Euclidean distance from a two-dimensional reference vector with respect to the first reference sheet are selected from among the n-1 sheets. .
단계(S270)에서는 로드부가 상기 제1 기준 시트와 상기 k-1개의 제1 시트들의 로드를 위한 k개의 제1 로딩 스레드들을 생성하고, 상기 k개의 제1 로딩 스레드들에 상기 제1 기준 시트와 상기 k-1개의 제1 시트들 각각을 하나씩 할당한 후, 상기 k개의 제1 로딩 스레드들을 실행시켜 상기 제1 기준 시트와 상기 k-1개의 제1 시트들을 병렬 로드한다.In step S270, a load unit generates k first loading threads for loading the first reference sheet and the k-1 first sheets, and includes the first reference sheet and the k first loading threads in the k first loading threads. After allocating each of the k-1 first sheets one by one, the k first loading threads are executed to load the first reference sheet and the k-1 first sheets in parallel.
이때, 본 발명의 일실시예에 따르면, 상기 전자 장치의 동작 방법은 상기 제1 기준 시트와 상기 k-1개의 제1 시트들이 모두 로드 완료되면, 상기 추출부가 상기 n개의 시트들에서 상기 제1 기준 시트와 상기 k-1개의 제1 시트들을 제외한 나머지 n-k개의 시트들 중 편집시간이 최대인 제2 기준 시트를 추출하는 단계, 상기 선택부가 상기 n-k개의 시트들 중 상기 제2 기준 시트를 제외한 나머지 n-k-1개의 시트들 각각에 대한 2차원의 기준 벡터와 상기 제2 기준 시트에 대한 2차원의 기준 벡터 간의 유클리드 거리를 연산한 후, 상기 n-k-1개의 시트들 중 상기 제2 기준 시트에 대한 2차원의 기준 벡터와의 유클리드 거리가 최소인 2차원의 기준 벡터를 갖는 k-1개의 제2 시트들을 선택하는 단계 및 상기 로드부가 상기 제2 기준 시트와 상기 k-1개의 제2 시트들의 로드를 위한 k개의 제2 로딩 스레드들을 생성하고, 상기 k개의 제2 로딩 스레드들에 상기 제2 기준 시트와 상기 k-1개 제2 시트들 각각을 하나씩 할당한 후, 상기 k개의 제2 로딩 스레드들을 실행시켜 상기 제2 기준 시트와 상기 k-1개의 제2 시트들을 병렬 로드하는 단계를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, in the method of operating the electronic device, when all of the first reference sheet and the k-1 first sheets are loaded, the extraction unit selects the first reference sheet from the n sheets. extracting a second reference sheet having a maximum editing time from among the remaining nk sheets other than the reference sheet and the k-1 first sheets, wherein the selection unit selects the remainder of the nk sheets except for the second reference sheet After calculating the Euclidean distance between the two-dimensional reference vector for each of the nk-1 sheets and the two-dimensional reference vector for the second reference sheet, for the second reference sheet among the nk-1 sheets selecting k-1 second sheets having a two-dimensional reference vector having a minimum Euclidean distance from the two-dimensional reference vector, and the loading unit loads the second reference sheet and the k-1 second sheets After generating k second loading threads for , and allocating each of the second reference sheet and the k-1 second sheets to the k second loading threads, the k second loading threads It may further include the step of parallel loading the second reference sheet and the k-1 number of second sheets by executing .
이때, 본 발명의 일실시예에 따르면, 상기 전자 장치의 동작 방법은 반복 수행 제어부가 상기 n개의 시트들의 로드가 모두 완료될 때까지 상기 추출부, 상기 선택부, 상기 로드부의 동작을 반복 수행시키는 단계를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, in the method of operating the electronic device, the iteration control unit repeatedly performs the operations of the extraction unit, the selection unit, and the loading unit until all the n sheets are loaded. It may include further steps.
또한, 본 발명의 일실시예에 따르면, 상기 전자 장치의 동작 방법은 상기 로드부가 상기 n개의 시트들 각각의 로드가 완료될 때마다, 마지막으로 로드가 완료된 시트를 활성화시켜 화면 상에 임시로 표시하는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, in the method of operating the electronic device, whenever the loading of each of the n sheets is completed, the loading unit activates the last loaded sheet and temporarily displays it on the screen It may further include the step of
또한, 본 발명의 일실시예에 따르면, 상기 전자 장치의 동작 방법은 상기 n개의 시트들이 전부 로드 완료되면, 상기 로드부가 상기 n개의 시트들 중 상기 제1 기준 시트를 활성화시켜 화면 상에 최종 표시하는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, in the method of operating the electronic device, when all the n sheets are loaded, the loading unit activates the first reference sheet among the n sheets to be finally displayed on the screen It may further include the step of
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치의 동작 방법은 도 1을 이용하여 설명한 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, an operating method of an electronic device for efficiently controlling a load for each sheet constituting a spreadsheet document based on a multi-thread according to an embodiment of the present invention has been described with reference to FIG. 2 . Here, the operating method of the electronic device for efficiently controlling the loading of each sheet constituting the spreadsheet document based on the multi-thread according to an embodiment of the present invention is a spreadsheet document based on the multi-thread described with reference to FIG. 1 . Since it may correspond to the configuration of the operation of the
본 발명의 일실시예에 따른 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.An operating method of an electronic device for efficiently controlling the load of each sheet constituting a spreadsheet document based on a multi-thread according to an embodiment of the present invention is a computer program stored in a storage medium for execution through combination with a computer. can be implemented.
또한, 본 발명의 일실시예에 따른 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.In addition, the operating method of the electronic device for efficiently controlling the load for each sheet constituting the spreadsheet document based on the multi-thread according to an embodiment of the present invention is in the form of a computer program command for execution through combination with a computer. It may be implemented and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described with specific matters 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. , various modifications and variations are possible from these descriptions by those of ordinary skill in the art to which the present invention pertains.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and not only the claims to be described later, but also all those with equivalent or equivalent modifications to the claims will be said to belong to the scope of the spirit of the present invention. .
110: 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치
111: 편집시간 측정부 112: 저장부
113: 확인부 114: 기준 벡터 생성부
115: 추출부 116: 선택부
117: 로드부 118: 반복 수행 제어부 110: Electronic device for controlling efficient loading of each sheet composing a spreadsheet document on a multi-threaded basis
111: editing time measurement unit 112: storage unit
113: check unit 114: reference vector generation unit
115: extraction unit 116: selection unit
117: load unit 118: repeat execution control unit
Claims (12)
상기 사용자로부터 상기 n개의 시트들에 대한 문서 편집이 완료되어 문서 저장 명령이 수신되면, 상기 n개의 시트들 각각에 대한 편집시간 정보가 포함된 문서 파일을 생성하여 저장하는 저장부;
상기 사용자로부터 상기 문서 파일에 대한 오픈 명령이 수신되면, 상기 문서 파일에 포함되어 있는 상기 n개의 시트들 각각에 대한 편집시간을 확인한 후, 상기 n개의 시트들 각각에 대한 데이터 크기를 확인하는 확인부;
상기 n개의 시트들 각각에 대하여, 상기 n개의 시트들 각각에 대한 편집시간과 상기 n개의 시트들 각각에 대한 데이터 크기를 각 성분으로 하는 2차원의 기준 벡터를 생성하는 기준 벡터 생성부;
상기 n개의 시트들 중 편집시간이 최대인 제1 기준 시트를 추출하는 추출부;
상기 n개의 시트들 중 상기 제1 기준 시트를 제외한 나머지 n-1개의 시트들 각각에 대한 2차원의 기준 벡터와 상기 제1 기준 시트에 대한 2차원의 기준 벡터 간의 유클리드 거리(Euclidean Distance)를 연산한 후, 상기 n-1개의 시트들 중 상기 제1 기준 시트에 대한 2차원의 기준 벡터와의 유클리드 거리가 최소인 2차원의 기준 벡터를 갖는 k-1(k는 n보다 작은 2이상의 자연수임)개의 제1 시트들을 선택하는 선택부; 및
상기 제1 기준 시트와 상기 k-1개의 제1 시트들의 로드를 위한 k개의 제1 로딩 스레드(thread)들을 생성하고, 상기 k개의 제1 로딩 스레드들에 상기 제1 기준 시트와 상기 k-1개의 제1 시트들 각각을 하나씩 할당한 후, 상기 k개의 제1 로딩 스레드들을 실행시켜 상기 제1 기준 시트와 상기 k-1개의 제1 시트들을 병렬 로드하는 로드부
를 포함하는 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치.When n (n is a natural number of 3 or more) sheets are generated in the spreadsheet document by the user's editing command, the editing time for each of the n sheets - The editing time for each of the n sheets is the n an editing time measuring unit that measures the time during which each of the sheets is active for document editing;
a storage unit for generating and storing a document file including editing time information for each of the n sheets when a document storage command is received from the user after the document editing of the n sheets is completed;
When an open command for the document file is received from the user, after checking the editing time for each of the n sheets included in the document file, a confirmation unit for checking the data size of each of the n sheets ;
a reference vector generator for generating, for each of the n sheets, a two-dimensional reference vector using an editing time for each of the n sheets and a data size for each of the n sheets as components;
an extraction unit for extracting a first reference sheet having a maximum editing time from among the n sheets;
Calculate the Euclidean distance between the two-dimensional reference vector for each of the remaining n-1 sheets of the n sheets except the first reference sheet and the two-dimensional reference vector for the first reference sheet Then, k-1 having a two-dimensional reference vector having a minimum Euclidean distance from a two-dimensional reference vector with respect to the first reference sheet among the n-1 sheets (k is a natural number of 2 or more less than n) ) a selection unit for selecting the first sheets; and
creating k first loading threads for loading the first reference sheet and the k-1 first sheets, and providing the k first loading threads with the first reference sheet and the k-1 After allocating each of the number of first sheets one by one, the load unit executes the k first loading threads to load the first reference sheet and the k-1 first sheets in parallel.
An electronic device that controls the efficient loading of each sheet composing a spreadsheet document based on a multi-thread containing
상기 추출부는
상기 제1 기준 시트와 상기 k-1개의 제1 시트들이 모두 로드 완료되면, 상기 n개의 시트들에서 상기 제1 기준 시트와 상기 k-1개의 제1 시트들을 제외한 나머지 n-k개의 시트들 중 편집시간이 최대인 제2 기준 시트를 추출하고,
상기 선택부는
상기 n-k개의 시트들 중 상기 제2 기준 시트를 제외한 나머지 n-k-1개의 시트들 각각에 대한 2차원의 기준 벡터와 상기 제2 기준 시트에 대한 2차원의 기준 벡터 간의 유클리드 거리를 연산한 후, 상기 n-k-1개의 시트들 중 상기 제2 기준 시트에 대한 2차원의 기준 벡터와의 유클리드 거리가 최소인 2차원의 기준 벡터를 갖는 k-1개의 제2 시트들을 선택하며,
상기 로드부는
상기 제2 기준 시트와 상기 k-1개의 제2 시트들의 로드를 위한 k개의 제2 로딩 스레드들을 생성하고, 상기 k개의 제2 로딩 스레드들에 상기 제2 기준 시트와 상기 k-1개의 제2 시트들 각각을 하나씩 할당한 후, 상기 k개의 제2 로딩 스레드들을 실행시켜 상기 제2 기준 시트와 상기 k-1개의 제2 시트들을 병렬 로드하는 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치.According to claim 1,
The extraction unit
When the first reference sheet and the k-1 number of first sheets are all loaded, the editing time among the remaining nk sheets excluding the first reference sheet and the k-1 number of first sheets in the n sheets Extracting a second reference sheet that is this maximum,
the selection unit
After calculating the Euclidean distance between the two-dimensional reference vector for each of the remaining nk-1 sheets excluding the second reference sheet among the nk sheets and the two-dimensional reference vector for the second reference sheet, the selecting k-1 second sheets having a two-dimensional reference vector having a minimum Euclidean distance from a two-dimensional reference vector with respect to the second reference sheet from among nk-1 sheets,
the rod part
generating k second loading threads for loading the second reference sheet and the k-1 second sheets, and providing the k second loading threads with the second reference sheet and the k-1 second sheets. After allocating each sheet one by one, each sheet composing a spreadsheet document based on a multi-thread that executes the k second loading threads to load the second reference sheet and the k-1 second sheets in parallel Electronic devices that control the load efficiently.
상기 n개의 시트들의 로드가 모두 완료될 때까지 상기 추출부, 상기 선택부 및 상기 로드부의 동작을 반복 수행시키는 반복 수행 제어부
를 더 포함하는 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치.3. The method of claim 2,
A repetition control unit for repeatedly performing the operations of the extraction unit, the selection unit, and the loading unit until the loading of the n sheets is completed.
Electronic device for controlling efficient loading for each sheet composing a spreadsheet document on a multi-threaded basis further comprising:
상기 로드부는
상기 n개의 시트들 각각의 로드가 완료될 때마다, 마지막으로 로드가 완료된 시트를 활성화시켜 화면 상에 임시로 표시하는 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치.According to claim 1,
the rod part
Whenever the loading of each of the n sheets is completed, the efficient loading of each sheet composing the spreadsheet document is controlled based on a multi-thread that activates the last loaded sheet and temporarily displays it on the screen. electronic device.
상기 로드부는
상기 n개의 시트들이 전부 로드 완료되면, 상기 n개의 시트들 중 상기 제1 기준 시트를 활성화시켜 화면 상에 최종 표시하는 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치.5. The method of claim 4,
the rod part
When all the n sheets are loaded, the first reference sheet among the n sheets is activated to control the efficient loading of each sheet constituting the spreadsheet document based on a multi-thread that is finally displayed on the screen electronic device.
상기 사용자로부터 상기 n개의 시트들에 대한 문서 편집이 완료되어 문서 저장 명령이 수신되면, 저장부가 상기 n개의 시트들 각각에 대한 편집시간 정보가 포함된 문서 파일을 생성하여 저장하는 단계;
상기 사용자로부터 상기 문서 파일에 대한 오픈 명령이 수신되면, 확인부가 상기 문서 파일에 포함되어 있는 상기 n개의 시트들 각각에 대한 편집시간을 확인한 후, 상기 n개의 시트들 각각에 대한 데이터 크기를 확인하는 단계;
기준 벡터 생성부가 상기 n개의 시트들 각각에 대하여, 상기 n개의 시트들 각각에 대한 편집시간과 상기 n개의 시트들 각각에 대한 데이터 크기를 각 성분으로 하는 2차원의 기준 벡터를 생성하는 단계;
추출부가 상기 n개의 시트들 중 편집시간이 최대인 제1 기준 시트를 추출하는 단계;
선택부가 상기 n개의 시트들 중 상기 제1 기준 시트를 제외한 나머지 n-1개의 시트들 각각에 대한 2차원의 기준 벡터와 상기 제1 기준 시트에 대한 2차원의 기준 벡터 간의 유클리드 거리(Euclidean Distance)를 연산한 후, 상기 n-1개의 시트들 중 상기 제1 기준 시트에 대한 2차원의 기준 벡터와의 유클리드 거리가 최소인 2차원의 기준 벡터를 갖는 k-1(k는 n보다 작은 2이상의 자연수임)개의 제1 시트들을 선택하는 단계; 및
로드부가 상기 제1 기준 시트와 상기 k-1개의 제1 시트들의 로드를 위한 k개의 제1 로딩 스레드(thread)들을 생성하고, 상기 k개의 제1 로딩 스레드들에 상기 제1 기준 시트와 상기 k-1개의 제1 시트들 각각을 하나씩 할당한 후, 상기 k개의 제1 로딩 스레드들을 실행시켜 상기 제1 기준 시트와 상기 k-1개의 제1 시트들을 병렬 로드하는 단계
를 포함하는 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치의 동작 방법.When n (n is a natural number greater than or equal to 3) sheets are generated in the spreadsheet document by the user's editing command, the editing time measuring unit edits time for each of the n sheets - Editing for each of the n sheets measuring time - which means the time during which each of the n sheets is active for document editing;
generating and storing, by a storage unit, a document file including editing time information for each of the n sheets, when a document saving command is received from the user after the document editing of the n sheets is completed;
When an open command for the document file is received from the user, a confirmation unit checks the editing time for each of the n sheets included in the document file, and then checks the data size for each of the n sheets step;
generating, by a reference vector generator, for each of the n sheets, a two-dimensional reference vector using an editing time for each of the n sheets and a data size for each of the n sheets as components;
extracting, by an extracting unit, a first reference sheet having a maximum editing time from among the n sheets;
Euclidean distance between the two-dimensional reference vector for each of the remaining n-1 sheets except for the first reference sheet among the n sheets and the two-dimensional reference vector for the first reference sheet by the selection unit After calculating , k-1 having a two-dimensional reference vector having a minimum Euclidean distance from a two-dimensional reference vector with respect to the first reference sheet among the n-1 sheets (k is two or more smaller than n) a natural number) of first sheets; and
A load unit generates k first loading threads for loading the first reference sheet and the k-1 first sheets, and provides the k first loading threads with the first reference sheet and the k - after allocating each of the -1 first sheets one by one, executing the k first loading threads to load the first reference sheet and the k-1 first sheets in parallel
A method of operation of an electronic device for controlling the efficient loading of each sheet composing a spreadsheet document based on a multi-thread comprising a.
상기 제1 기준 시트와 상기 k-1개의 제1 시트들이 모두 로드 완료되면, 상기 추출부가 상기 n개의 시트들에서 상기 제1 기준 시트와 상기 k-1개의 제1 시트들을 제외한 나머지 n-k개의 시트들 중 편집시간이 최대인 제2 기준 시트를 추출하는 단계;
상기 선택부가 상기 n-k개의 시트들 중 상기 제2 기준 시트를 제외한 나머지 n-k-1개의 시트들 각각에 대한 2차원의 기준 벡터와 상기 제2 기준 시트에 대한 2차원의 기준 벡터 간의 유클리드 거리를 연산한 후, 상기 n-k-1개의 시트들 중 상기 제2 기준 시트에 대한 2차원의 기준 벡터와의 유클리드 거리가 최소인 2차원의 기준 벡터를 갖는 k-1개의 제2 시트들을 선택하는 단계; 및
상기 로드부가 상기 제2 기준 시트와 상기 k-1개의 제2 시트들의 로드를 위한 k개의 제2 로딩 스레드들을 생성하고, 상기 k개의 제2 로딩 스레드들에 상기 제2 기준 시트와 상기 k-1개의 제2 시트들 각각을 하나씩 할당한 후, 상기 k개의 제2 로딩 스레드들을 실행시켜 상기 제2 기준 시트와 상기 k-1개의 제2 시트들을 병렬 로드하는 단계
를 더 포함하는 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치의 동작 방법.7. The method of claim 6,
When the first reference sheet and the k-1 number of first sheets are all loaded, the extractor selects the remaining nk sheets from the n sheets except for the first reference sheet and the k-1 number of first sheets. extracting a second reference sheet having a maximum editing time among them;
The selection unit calculates the Euclidean distance between the two-dimensional reference vector for each of the remaining nk-1 sheets excluding the second reference sheet among the nk sheets and the two-dimensional reference vector for the second reference sheet. thereafter, selecting k-1 second sheets having a two-dimensional reference vector having a minimum Euclidean distance from a two-dimensional reference vector with respect to the second reference sheet from among the nk-1 sheets; and
The rod part generates k second loading threads for loading the second reference sheet and the k-1 second sheets, and the k second loading threads are connected to the second reference sheet and the k-1 number of the second reference sheet. After allocating each of the 2 second sheets one by one, executing the k second loading threads to load the second reference sheet and the k-1 second sheets in parallel
A method of operating an electronic device for controlling an efficient load for each sheet composing a spreadsheet document based on a multi-thread further comprising a.
반복 수행 제어부가 상기 n개의 시트들의 로드가 모두 완료될 때까지 상기 추출부, 상기 선택부, 상기 로드부의 동작을 반복 수행시키는 단계
를 더 포함하는 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치의 동작 방법.8. The method of claim 7,
repeating the operation of the extracting unit, the selecting unit, and the loading unit until the iteration control unit completes the loading of the n sheets.
A method of operating an electronic device for controlling an efficient load for each sheet composing a spreadsheet document based on a multi-thread further comprising a.
상기 로드부가 상기 n개의 시트들 각각의 로드가 완료될 때마다, 마지막으로 로드가 완료된 시트를 활성화시켜 화면 상에 임시로 표시하는 단계
를 더 포함하는 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치의 동작 방법.9. The method of claim 8,
Whenever the loading of each of the n sheets is completed by the loading unit, activating the last loaded sheet and temporarily displaying it on the screen
A method of operating an electronic device for controlling an efficient load for each sheet composing a spreadsheet document based on a multi-thread further comprising a.
상기 n개의 시트들이 전부 로드 완료되면, 상기 로드부가 상기 n개의 시트들 중 상기 제1 기준 시트를 활성화시켜 화면 상에 최종 표시하는 단계
를 더 포함하는 멀티 스레드를 기반으로 스프레드시트 문서를 구성하는 각 시트에 대한 효율적 로드를 제어하는 전자 장치의 동작 방법.10. The method of claim 9,
When all of the n sheets are loaded, the loading unit activates the first reference sheet among the n sheets to finally display the first reference sheet on the screen
A method of operating an electronic device for controlling an efficient load for each sheet composing a spreadsheet document based on a multi-thread further comprising a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200012402A KR102266073B1 (en) | 2020-02-03 | 2020-02-03 | 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 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200012402A KR102266073B1 (en) | 2020-02-03 | 2020-02-03 | 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 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102266073B1 true KR102266073B1 (en) | 2021-06-17 |
Family
ID=76603502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200012402A KR102266073B1 (en) | 2020-02-03 | 2020-02-03 | 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 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102266073B1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060048515A (en) * | 2004-09-27 | 2006-05-18 | 마이크로소프트 코포레이션 | Method and system for multithread processing of spreadsheet chain calculations |
JP2010525489A (en) * | 2007-04-27 | 2010-07-22 | マイクロソフト コーポレーション | Loading scripts dynamically |
KR20150045471A (en) * | 2012-08-16 | 2015-04-28 | 퀄컴 인코포레이티드 | Pre-processing of scripts in web browsers |
JP2016173690A (en) * | 2015-03-17 | 2016-09-29 | カシオ計算機株式会社 | Information management device and program |
KR101774265B1 (en) * | 2017-05-23 | 2017-09-12 | 주식회사 한글과컴퓨터 | Multi thread based spreadsheet document providing apparatus and operating method thereof |
-
2020
- 2020-02-03 KR KR1020200012402A patent/KR102266073B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060048515A (en) * | 2004-09-27 | 2006-05-18 | 마이크로소프트 코포레이션 | Method and system for multithread processing of spreadsheet chain calculations |
JP2010525489A (en) * | 2007-04-27 | 2010-07-22 | マイクロソフト コーポレーション | Loading scripts dynamically |
KR20150045471A (en) * | 2012-08-16 | 2015-04-28 | 퀄컴 인코포레이티드 | Pre-processing of scripts in web browsers |
JP2016173690A (en) * | 2015-03-17 | 2016-09-29 | カシオ計算機株式会社 | Information management device and program |
KR101774265B1 (en) * | 2017-05-23 | 2017-09-12 | 주식회사 한글과컴퓨터 | Multi thread based spreadsheet document providing apparatus and operating method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160292144A1 (en) | Document data entry suggestions | |
US7707508B1 (en) | Methods and apparatus for efficient layout of digital content | |
KR102266073B1 (en) | 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 | |
CN110705208B (en) | Text display method, text display device, computer readable storage medium and electronic equipment | |
KR101999576B1 (en) | Spreadsheet driving apparatus capable of performing fast function operations on selected cell range and operating method thereof | |
KR102004994B1 (en) | Spreadsheet driving apparatus capable of automatic change of reference cell area in relation to mathematical operation and operating method thereof | |
KR102300437B1 (en) | Electronic document editing apparatus that enables the insertion of special characters at specific locations on the electronic document based on the entered characters and operating method thereof | |
KR102004996B1 (en) | Presentation document editing apparatus for performing a simple insertion of a page movement link on a slide page and operating method thereof | |
KR102300491B1 (en) | Electronic terminal device that enables easy change of matrix layout entered through the formula editing window in the electronic document and operating method thereof | |
JP2007080049A (en) | Built-in program generation method, built-in program development system and information table section | |
CN113835835A (en) | Method and device for creating consistency group and computer-readable storage medium | |
KR101977104B1 (en) | Spreadsheet driving apparatus for performing automatic function calculation based on cell range selection and operating method thereof | |
CN113011148A (en) | Method, device, equipment and medium for automatically outputting file with specified format | |
KR102566934B1 (en) | Electronic apparatus that performs parallel processing-based document format conversion and operating method thereof | |
KR102442510B1 (en) | Document editing apparatus that automatically specifies the storage file format for documents and the operating method thereof | |
KR102300486B1 (en) | Electronic terminal device that support easy subscript entry for mathematical operators in electronic documents and operating method thereof | |
KR102545260B1 (en) | Electronic terminal apparatus that supports application of natural substitute fonts when loading electronic documents with unsupported fonts applied and operating method thereof | |
KR102442506B1 (en) | Electronic device for recommending shortcuts for editing actions in document editing programs and the operating method thereof | |
KR102466710B1 (en) | Electronic device that provides auto-complete for unfinished table in spreadsheets and operating method thereof | |
KR102466714B1 (en) | Electronic device that provides improved object insertion into electronic document through object box and operating method thereof | |
KR102566913B1 (en) | Electronic apparatus that provides improved page switching function when running a slide show for a presentation document and operating method thereof | |
CN104461636B (en) | A kind of skin resource loading method and electronic equipment | |
KR102466706B1 (en) | Electronic device that enables easy selection of dependent edit action in document editing programs and operating method thereof | |
KR102507487B1 (en) | Electronic apparatus which generates the dedicated document file for supporting fast editing of the pages comprising of a document, and the operating method thereof | |
KR101485907B1 (en) | Apparatus and method for preload using probability model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |