KR20220094551A - System for performing searching and analysis based on in-memory computing for real-time data processing, analysis method, and computer program - Google Patents
System for performing searching and analysis based on in-memory computing for real-time data processing, analysis method, and computer program Download PDFInfo
- Publication number
- KR20220094551A KR20220094551A KR1020200185862A KR20200185862A KR20220094551A KR 20220094551 A KR20220094551 A KR 20220094551A KR 1020200185862 A KR1020200185862 A KR 1020200185862A KR 20200185862 A KR20200185862 A KR 20200185862A KR 20220094551 A KR20220094551 A KR 20220094551A
- Authority
- KR
- South Korea
- Prior art keywords
- content
- analysis
- search
- data
- memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computing Systems (AREA)
Abstract
Description
본 개시는 인메모리 컴퓨팅을 기반으로 동작하는 시스템에 관한 것으로, 보다 상세하게는, 인메모리 컴퓨팅에 따라 실시간으로 데이터를 구축하여 분석 속도를 향상시키는 시스템에 관한 것이다.The present disclosure relates to a system operating based on in-memory computing, and more particularly, to a system for improving analysis speed by constructing data in real time according to in-memory computing.
실시간 및/또는 대용량의 빅데이터를 처리함에 있어 인메모리 컴퓨팅 방식이 고안된 바 있다.In-memory computing methods have been devised to process real-time and/or large-capacity big data.
인메모리 컴퓨팅 방식은, 대부분의 데이터가 하드 디스크에 저장되어 이용된 결과 데이터의 입출력에 많은 시간이 소모되었던 기존의 방식을 탈피하여, 램으로 구성된 메모리 내에 데이터를 직접 저장하여 코어가 해당 데이터를 빠르게 처리/가공하도록 하는 방식이다.In the in-memory computing method, most of the data is stored on the hard disk and used, breaking away from the existing method in which a lot of time was consumed for input/output of data, and data is directly stored in the memory composed of RAM so that the core can quickly retrieve the data. The way it is processed/processed.
인메모리 컴퓨팅 방식의 경우, 복수의 코어가 로드를 효율적으로 나누어 메모리 내 데이터를 병렬 처리함으로써 처리 속도가 빨라질 수 있다.In the case of the in-memory computing method, a plurality of cores efficiently divide the load and parallelly process the data in the memory, thereby increasing the processing speed.
본 개시는 인메모리 컴퓨팅을 기반으로 메모리 내 데이터를 사전에 분류 및 전처리하여 검색 및 분석 동작의 속도를 향상시키는 시스템 및 분석 방법을 제공한다.The present disclosure provides a system and an analysis method for improving the speed of a search and analysis operation by pre-classifying and pre-processing data in a memory based on in-memory computing.
본 개시의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 개시의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 개시의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 개시의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Objects of the present disclosure are not limited to the above-mentioned purposes, and other objects and advantages of the present disclosure that are not mentioned may be understood by the following description, and will be more clearly understood by the embodiments of the present disclosure. Moreover, it will be readily apparent that the objects and advantages of the present disclosure may be realized by the means and combinations thereof indicated in the claims.
본 개시의 일 실시 예에 따른 인메모리 컴퓨팅 기반 시스템의 분석 방법은, 실시간으로 획득되는 데이터를 시간에 따른 복수의 콘텐츠 그룹으로 구분하여 메모리에 저장하는 단계, 상기 복수의 콘텐츠 그룹 각각을 적어도 하나의 인덱스 키워드에 따라 전처리하여 복수의 분석 콘텐츠를 획득하는 단계, 적어도 하나의 검색어 및 조건이 입력되면, 복수의 코어가 상기 복수의 콘텐츠 그룹에 대하여 병렬 처리 방식으로 검색을 수행하여 적어도 하나의 콘텐츠를 식별하는 단계, 상기 식별된 콘텐츠에 매칭되는 적어도 하나의 분석 콘텐츠를 이용하여 분석을 수행하는 단계를 포함한다.The analysis method of an in-memory computing-based system according to an embodiment of the present disclosure includes dividing data acquired in real time into a plurality of content groups according to time and storing the data in a memory, and each of the plurality of content groups is stored in at least one Pre-processing according to the index keyword to obtain a plurality of analyzed content, when at least one search word and condition are input, a plurality of cores perform a search in a parallel processing method for the plurality of content groups to identify at least one content and performing analysis using at least one analysis content matching the identified content.
상기 복수의 분석 콘텐츠를 획득하는 단계는, 상기 인덱스 키워드의 출현 빈도, 상기 인덱스 키워드의 출현 순서, 상기 인덱스 키워드에 따른 분류 정보, 및 상기 인덱스 키워드에 기초한 패턴 정보 중 적어도 하나를 기반으로, 상기 복수의 콘텐츠 그룹 각각을 전처리할 수 있다.The acquiring of the plurality of analyzed contents may include, based on at least one of an appearance frequency of the index keyword, an appearance order of the index keyword, classification information according to the index keyword, and pattern information based on the index keyword, You can pre-process each of the content groups of .
그리고, 상기 적어도 하나의 콘텐츠를 식별하는 단계는, 상기 복수의 콘텐츠 그룹 중 적어도 하나의 콘텐츠 그룹의 데이터 사이즈가 상기 복수의 코어 각각의 검색 성능에 따라 기설정된 데이터 사이즈보다 큰 경우, 상기 콘텐츠 그룹을 분할하여 병렬 처리 방식으로 검색을 수행할 수 있다.And, in the step of identifying the at least one content, when a data size of at least one content group among the plurality of content groups is larger than a data size preset according to the search performance of each of the plurality of cores, the content group is selected The search can be performed in a parallel processing manner by dividing.
한편, 상기 시스템의 분석 방법은, 일 코어를 통해 수행된 검색에 따라 복수의 콘텐츠가 식별된 경우, 상기 복수의 콘텐츠를 기설정된 개수 단위로 분할하여 복수의 콘텐츠 리스트를 생성하는 단계를 더 포함할 수 있다. 이 경우, 상기 분석을 수행하는 단계는, 복수의 코어가, 상기 생성된 복수의 콘텐츠 리스트를 병렬 처리 방식으로 분석할 수 있다.Meanwhile, the analysis method of the system may further include, when a plurality of contents are identified according to a search performed through one core, dividing the plurality of contents into a preset number unit to generate a plurality of contents list can In this case, in the performing of the analysis, a plurality of cores may analyze the generated plurality of content lists in a parallel processing manner.
이 경우, 상기 시스템의 분석 방법은, 상기 복수의 콘텐츠 리스트 각각에 대한 분석 결과를 병합하는 단계를 더 포함할 수도 있다.In this case, the analysis method of the system may further include merging the analysis results for each of the plurality of content lists.
한편, 상기 시스템의 분석 방법은, 상기 복수의 콘텐츠 그룹 및 상기 복수의 분석 콘텐츠에 대한 백업 정보를 적어도 하나의 스토리지에 저장하는 단계, 상기 시스템이 부팅되는 경우, 상기 백업 정보를 기반으로 상기 복수의 콘텐츠 그룹 및 상기 복수의 분석 콘텐츠를 상기 메모리로 로드하는 단계를 더 포함할 수 있다.On the other hand, the analysis method of the system includes the steps of storing backup information for the plurality of content groups and the plurality of analyzed content in at least one storage, and when the system is booted, based on the backup information, the plurality of The method may further include loading a content group and the plurality of analyzed content into the memory.
상기 복수의 분석 콘텐츠를 획득하는 단계는, 상기 실시간으로 획득되는 데이터의 증가 속도, 상기 시스템에 포함된 코어의 수, 및 각 코어의 성능에 따라 설정된 주기를 기반으로, 상기 데이터가 구분된 복수의 콘텐츠 그룹 각각을 적어도 하나의 인덱스 키워드에 따라 전처리하여 복수의 분석 콘텐츠를 획득할 수 있다.The acquiring of the plurality of analysis contents includes: based on a period set according to an increase rate of the data acquired in real time, the number of cores included in the system, and the performance of each core, the data is divided into a plurality of Each of the content groups may be pre-processed according to at least one index keyword to obtain a plurality of analyzed content.
한편, 상기 시스템의 분석 방법은, 검색어 및 조건이 입력되어 상기 시스템을 통해 검색이 수행되는 적어도 하나의 시간 구간을 식별하는 단계, 상기 식별된 시간 구간을 기반으로, 검색이 수행되는 시간 구간에 대한 패턴을 생성하는 단계, 상기 생성된 패턴을 기반으로, 검색이 수행될 가능성이 가장 낮은 적어도 하나의 시간 구간을 선택하는 단계를 더 포함할 수 있다. 이 경우, 상기 복수의 분석 콘텐츠를 획득하는 단계는, 상기 선택된 시간 구간 동안, 상기 데이터가 구분된 복수의 콘텐츠 그룹 각각을 적어도 하나의 인덱스 키워드에 따라 전처리하여 복수의 분석 콘텐츠를 획득할 수 있다.On the other hand, the analysis method of the system includes the steps of identifying at least one time section in which a search is performed through the system in which a search word and a condition are input, and based on the identified time section, The method may further include generating a pattern, and selecting at least one time interval in which a search is most likely to be performed based on the generated pattern. In this case, the acquiring of the plurality of analyzed contents may include pre-processing each of the plurality of content groups in which the data is divided according to at least one index keyword during the selected time period to obtain the plurality of analyzed contents.
본 개시의 일 실시 예에 따른 인메모리 컴퓨팅 기반 시스템은, 적어도 하나의 메모리, 상기 적어도 하나의 메모리와 연결된 적어도 하나의 프로세서를 포함한다. 상기 프로세서는, 실시간으로 획득되는 데이터를 시간에 따른 복수의 콘텐츠 그룹으로 구분하여 상기 메모리에 저장하고, 상기 복수의 콘텐츠 그룹 각각을 적어도 하나의 인덱스 키워드에 따라 전처리하여 복수의 분석 콘텐츠를 획득하고, 적어도 하나의 검색어 및 조건이 입력되면, 복수의 코어를 통해 상기 복수의 콘텐츠 그룹에 대하여 병렬 처리 방식으로 검색을 수행하여 적어도 하나의 콘텐츠를 식별하고, 상기 식별된 콘텐츠에 매칭되는 적어도 하나의 분석 콘텐츠를 이용하여 분석을 수행한다.An in-memory computing based system according to an embodiment of the present disclosure includes at least one memory and at least one processor connected to the at least one memory. The processor divides the data obtained in real time into a plurality of content groups according to time, stores them in the memory, and pre-processes each of the plurality of content groups according to at least one index keyword to obtain a plurality of analyzed content, When at least one search word and condition are input, a search is performed on the plurality of content groups in a parallel processing manner through a plurality of cores to identify at least one content, and at least one analysis content matching the identified content to perform the analysis.
본 개시에 따른 인메모리 컴퓨팅 기반 시스템 및 분석 방법은, 실시간으로 획득되는 데이터를 병렬 처리 방식에 맞도록 분류 및 전처리하여 메모리 내에 저장함으로써, 병렬 처리 방식의 검색 및 분석 과정이 빨라질 수 있다는 효과가 있다.In the in-memory computing-based system and analysis method according to the present disclosure, by classifying and pre-processing data obtained in real time to match the parallel processing method and storing it in the memory, there is an effect that the search and analysis process of the parallel processing method can be accelerated .
도 1은 본 개시의 일 실시 예에 따른 시스템의 동작을 개략적으로 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따른 시스템의 구성을 설명하기 위한 블록도,
도 3은 본 개시의 일 실시 예에 따른 시스템의 동작을 설명하기 위한 알고리즘,
도 4는 본 개시의 일 실시 예에 따른 시스템이 데이터를 분류 및 전처리하는 동작을 설명하기 위한 도면,
도 5는 본 개시의 일 실시 예에 따른 시스템이 복수의 코어를 통해 병렬 처리 방식으로 검색을 수행하는 동작을 설명하기 위한 도면,
도 6은 본 개시의 일 실시 예에 따른 시스템이 복수의 코어를 통해 병렬 처리 방식으로 분석을 수행하는 동작을 설명하기 위한 도면, 그리고
도 7은 본 개시의 일 실시 예에 따른 시스템의 기능적 구성을 설명하기 위한 블록도이다.1 is a diagram for schematically explaining the operation of a system according to an embodiment of the present disclosure;
2 is a block diagram for explaining the configuration of a system according to an embodiment of the present disclosure;
3 is an algorithm for explaining the operation of the system according to an embodiment of the present disclosure;
4 is a diagram for explaining an operation of a system classifying and pre-processing data according to an embodiment of the present disclosure;
5 is a diagram for explaining an operation of a system performing a search in a parallel processing method through a plurality of cores according to an embodiment of the present disclosure;
6 is a view for explaining an operation in which the system performs analysis in a parallel processing manner through a plurality of cores according to an embodiment of the present disclosure; and
7 is a block diagram illustrating a functional configuration of a system according to an embodiment of the present disclosure.
본 개시에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.Prior to describing the present disclosure in detail, a description will be given of the description of the present specification and drawings.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 개시의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당해 기술 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다. First, terms used in the present specification and claims have been selected in consideration of functions in various embodiments of the present disclosure. However, these terms may vary depending on the intention or legal or technical interpretation of a person skilled in the art, and the emergence of new technology. Also, some terms are arbitrarily selected by the applicant. These terms may be interpreted in the meanings defined herein, and in the absence of specific definitions, they may be interpreted based on the general content of the present specification and common technical common sense in the art.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다. Also, the same reference numerals or reference numerals in each drawing attached to this specification indicate parts or components that perform substantially the same functions. For convenience of description and understanding, the same reference numbers or reference numerals are used in different embodiments. That is, even though all components having the same reference number are illustrated in a plurality of drawings, the plurality of drawings do not mean one embodiment.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안 된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안 된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다. In addition, in this specification and claims, terms including an ordinal number such as “first” and “second” may be used to distinguish between elements. This ordinal number is used to distinguish the same or similar elements from each other, and the meaning of the term should not be construed as limited due to the use of the ordinal number. As an example, the use order or arrangement order of components combined with such an ordinal number should not be limited by the number. If necessary, each ordinal number may be used interchangeably.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, the singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as "comprises" or "consisting of" are intended to designate that the features, numbers, steps, operations, components, parts, or combinations thereof described in the specification exist, and are intended to indicate that one or more other It should be understood that this does not preclude the possibility of addition or presence of features or numbers, steps, operations, components, parts, or combinations thereof.
본 개시의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In an embodiment of the present disclosure, terms such as “module”, “unit”, “part”, etc. are terms for designating a component that performs at least one function or operation, and such component is hardware or software. It may be implemented or implemented as a combination of hardware and software. In addition, a plurality of "modules", "units", "parts", etc. are integrated into at least one module or chip, except when each needs to be implemented in individual specific hardware, and thus at least one processor. can be implemented as
또한, 본 개시의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In addition, in an embodiment of the present disclosure, when it is said that a certain part is connected to another part, this includes not only a direct connection but also an indirect connection through another medium. In addition, the meaning that a certain part includes a certain component means that other components may be further included, rather than excluding other components, unless otherwise stated.
도 1은 본 개시의 일 실시 예에 따른 시스템의 동작을 개략적으로 설명하기 위한 도면이다.1 is a diagram schematically illustrating an operation of a system according to an embodiment of the present disclosure.
도 1을 참조하면, 본 개시에 따른 시스템은, 다양한 외부 데이터(External Data)를 획득할 수 있다.Referring to FIG. 1 , the system according to the present disclosure may acquire various external data.
구체적으로, 시스템은 다양한 방식의 유/무선 네트워크를 통해 SNS 콘텐츠, 뉴스 콘텐츠, 공공 데이터, 기타 텍스트 등 다양한 데이터를 획득할 수 있다.Specifically, the system may acquire various data such as SNS content, news content, public data, and other texts through various types of wired/wireless networks.
또한, 시스템은 해당 데이터를 실시간으로 수집하여 실시간으로 확장되는 대용량의 빅데이터를 구축할 수 있다.In addition, the system can build large-capacity big data that is expanded in real time by collecting the data in real time.
그리고, 시스템은 메모리 상에 데이터를 저장하는 한편, 메모리를 이용하여 해당 데이터를 전처리하고, 구분하고, 인덱싱하는 등 다양한 처리를 수행할 수 있다. 데이터가 실시간으로 획득됨에 따라 해당 처리 역시 실시간으로(또는 특정 주기/조건에 따라) 수행될 수 있다.And, while the system stores data in the memory, the system may perform various processes such as preprocessing, classifying, and indexing the corresponding data using the memory. As data is acquired in real time, the corresponding processing may also be performed in real time (or according to a specific period/condition).
여기서, 시스템은 전처리, 구분 또는 인덱싱 등의 처리가 수행된 데이터를 메모리에 저장할 수 있다.Here, the system may store data on which processing such as pre-processing, classification, or indexing has been performed, in the memory.
그리고, 시스템은 해당 데이터를 병렬 처리 방식으로 취급하여 검색을 수행할 수 있다. 구체적으로, 시스템은 데이터가 구분된 복수의 서브 데이터 각각에 대하여 각 코어를 이용한 검색을 수행할 수 있다.In addition, the system may perform a search by treating the corresponding data in a parallel processing method. Specifically, the system may perform a search using each core for each of a plurality of sub data into which data is divided.
이 경우, 시스템은 키워드 기반 검색, 분류 기반 검색, 패턴 기반 검색 등 다양한 검색 기술을 이용할 수 있다.In this case, the system may use various search technologies such as keyword-based search, classification-based search, and pattern-based search.
또한, 시스템은 검색 결과 획득된 콘텐츠에 대하여 다양한 분석을 수행할 수도 있다. 이를 위해, 시스템은 다양한 기능/서비스를 제공하는 모듈들을 이용할 수 있다.In addition, the system may perform various analyzes on the content obtained as a result of the search. To this end, the system may use modules that provide various functions/services.
이때, 모듈들 각각을 실행하는 코어들이 해당 콘텐츠를 병렬 처리 방식으로 분석할 수 있으며, 검색 또는 분석의 결과가 모듈들 간에 서로 공유\될 수도 있다. 이 경우, 분석 결과가 시스템의 메모리 내에 저장될 수 있다.At this time, the cores executing each of the modules may analyze the corresponding content in a parallel processing manner, and the results of the search or analysis may be shared between the modules. In this case, the analysis results may be stored in the system's memory.
그리고, 시스템은 검색 결과 및/또는 분석 결과를 제공할 수 있다. 이때, 시스템에 연결된 출력 장치를 통해 검색 결과 및/또는 분석 결과가 제공될 수도 있고, 시스템이 접속된 네트워크에 포함된 적어도 하나의 사용자 단말을 통해 검색 결과 및/또는 분석 결과가 제공될 수도 있다.And, the system may provide search results and/or analysis results. In this case, the search result and/or analysis result may be provided through an output device connected to the system, or the search result and/or analysis result may be provided through at least one user terminal included in a network to which the system is connected.
이하 도면들을 통해, 본 개시에 따른 시스템의 구성 및 동작에 대해 보다 구체적으로 설명한다.With reference to the drawings below, the configuration and operation of the system according to the present disclosure will be described in more detail.
도 2는 본 개시의 일 실시 예에 따른 시스템의 구성을 설명하기 위한 블록도이다.2 is a block diagram illustrating the configuration of a system according to an embodiment of the present disclosure.
도 2를 참조하면, 시스템(100)은 적어도 하나의 메모리(110) 및 적어도 하나의 프로세서(120)를 포함한다.Referring to FIG. 2 , the
시스템(100)은 하나 이상의 전자 장치 내지는 컴퓨터를 포함할 수 있으며, 일 예로, 검색이나 분석 기능(Application, Program 등)을 제공하는 복수의 서버 장치로 구현될 수 있으나 이에 한정되지 않는다.The
메모리(110)는 다양한 데이터를 저장하기 위한 구성이다. 인메모리 컴퓨팅 방식을 사용하는 본 개시의 시스템(100) 내에서, 메모리(110)는 하나 이상의 RAM(Random Access Memory)으로 구성될 수 있다.The
구체적으로, 메모리(110)는 DRAM(Dynamic RAM), SRAM(static RAM) 등의 휘발성 메모리로 구현될 수 있다. 다만, 메모리(110)는 MRAM(Dynamic RAM), PRAM(Phase-change RAM), RRAM(Resistive RAM), FRAM(Ferroelectric RAM), 기타 플래시 메모리 등을 포함할 수도 있다.Specifically, the
프로세서(120)는 시스템(100)의 전반적인 동작을 제어하기 위한 구성으로, 메모리(110)와 연결되어 다양한 기능을 수행할 수 있다.The
구체적으로, 프로세서(120)는 메모리(110)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 후술할 검색 및 분석 방법을 수행할 수 있다.Specifically, the
프로세서(120)는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit) 등과 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서 등을 포함할 수 있다. 또한, 프로세서(120)는 SRAM을 포함할 수 있다.The
프로세서(120)는 복수의 코어를 포함할 수 있다. 각 코어는 동일한 기능을 병렬적으로 수행할 수도 있고, 또는 서로 다른 기능을 수행할 수도 있다.The
구체적으로, 프로세서(120)는 복수의 코어를 이용하여 메모리(110)에 저장된 다양한 형태의 데이터를 분류, 전처리할 수 있으며, 분류, 전처리된 데이터를 이용하여 다양한 기능(ex. 검색, 분석 등)을 수행할 수 있다.Specifically, the
도 3은 본 개시의 일 실시 예에 따른 시스템의 동작을 설명하기 위한 알고리즘이다.3 is an algorithm for explaining the operation of the system according to an embodiment of the present disclosure.
도 3을 참조하면, 시스템(100)은 실시간으로 획득되는 데이터를 시간에 따른 복수의 콘텐츠 그룹으로 구분하여 메모리(110)에 저장할 수 있다(S310).Referring to FIG. 3 , the
구체적으로, 시스템(100)은 메모리(110)에 저장된 데이터(다양한 콘텐츠 포함)를 날짜, Media ID 등의 항목을 기준으로 분류하여 복수의 콘텐츠 그룹을 정의할 수 있다.Specifically, the
특히, 외부로부터 실시간으로 다양한 (콘텐츠) 데이터가 수신되는 경우, 시스템(100)은 수신되는 데이터가 날짜 별로 구분된 복수의 콘텐츠 그룹을 메모리(110)에 저장할 수 있다. 이때, 날짜 별로 구분된 콘텐츠 데이터는 queue 형태로 메모리(110)에 저장될 수 있으나, 이 밖에 stack, linked list, array, tree 등 다양한 형태가 가능하다.In particular, when various (content) data is received from the outside in real time, the
그 결과, 콘텐츠 데이터는 향후 검색에 용이한 형태인 복수의 콘텐츠 그룹의 구조로 메모리(110) 내에 구축될 수 있다.As a result, the content data may be built in the
그리고, 시스템(100)은 복수의 콘텐츠 그룹 각각을 적어도 하나의 인덱스 키워드에 따라 전처리하여 복수의 분석 콘텐츠를 획득할 수 있다(S320).Then, the
인덱스 키워드는, 각 콘텐츠 그룹을 인덱싱하기 위한 기준이 될 수 있다.The index keyword may be a criterion for indexing each content group.
구체적인 예로, 시스템(100)은 인덱스 키워드의 출현 빈도, 하나 이상의 인덱스 키워드의 출현 순서, 인덱스 키워드에 따른 분류 정보, 및 인덱스 키워드에 기초한 패턴 정보 중 적어도 하나를 기반으로, 복수의 콘텐츠 그룹 각각을 전처리할 수 있다. 또한, 시스템(100)은 인덱스 키워드에 매칭되는 아이디 또는 대상을 기준으로 각 콘텐츠 그룹을 전처리할 수도 있다.As a specific example, the
그 결과, 각 콘텐츠 그룹에 포함되는 복수의 분석 콘텐츠가 정의되어 메모리(110)에 저장될 수 있다.As a result, a plurality of analysis contents included in each content group may be defined and stored in the
분석 콘텐츠는, 특정한 인덱스 키워드를 포함하는 콘텐츠, 특정한 인덱스 키워드들을 특정한 순서로 포함하는 콘텐츠, 특정한 기준으로 분류된 인덱스 키워드들에 따라 구분된 콘텐츠, 특정한 인덱스 키워드들을 기설정된 패턴으로 포함하는 콘텐츠, 특정한 인덱스 키워드에 매칭되는 아이디 또는 사용자에 의해 생성된 콘텐츠 등 다양하게 정의될 수 있다.Analysis content includes content including specific index keywords, content including specific index keywords in a specific order, content classified according to index keywords classified according to a specific criterion, content including specific index keywords in a preset pattern, and specific An ID matching an index keyword or content generated by a user may be defined in various ways.
또한, 분석 콘텐츠는, 특정한 인덱스 키워드를 기준으로 특정한 콘텐츠 그룹에 대하여 산출된 통계 분석 관련 데이터(수치, 지표, 분류 등)를 포함할 수도 있다.In addition, the analysis content may include statistical analysis related data (numerical values, indicators, classifications, etc.) calculated for a specific content group based on a specific index keyword.
이렇듯, 콘텐츠 데이터는 통계 등 다양한 분석에 용이한 분석 콘텐츠들의 형태로 메모리(110) 내에 구축될 수 있다.In this way, the content data may be built in the
도 4는 본 개시의 일 실시 예에 따른 시스템이 데이터를 분류 및 전처리하는 동작을 설명하기 위한 도면이다.4 is a diagram for explaining an operation of classifying and pre-processing data by a system according to an embodiment of the present disclosure.
도 4를 참조하면, 시스템(100)은 데이터를 날짜 및 Media ID를 기반으로 분류하여 복수의 콘텐츠 그룹(410, 420, 430, …)을 식별하고, 식별된 복수의 콘텐츠 그룹에 대한 정보를 메모리(110)에 저장할 수 있다.Referring to FIG. 4, the
또한, 시스템(100)은 각 콘텐츠 그룹(410, 420, 430, …)에 대하여 전처리를 수행할 수 있다.In addition, the
구체적으로, 도 4를 참조하면, 시스템(100)은 콘텐츠 그룹(410)에 대하여 다양한 인덱스 키워드들(환경, 코로나, 펀드, 기업은행 등)을 기반으로 전처리/분류를 수행함으로써 복수의 분석 콘텐츠(411, 412, 413, 414, …)를 획득할 수 있다.Specifically, referring to FIG. 4 , the
예를 들어, “환경” 키워드에 따른 분석 콘텐츠(411)의 경우, 콘텐츠 그룹(410) 내 “환경”의 출현 빈도에 대한 정보, “환경”의 출현 빈도에 따라 순서대로 나열된 콘텐츠 그룹(410) 내 복수의 콘텐츠에 대한 정보, 콘텐츠 그룹(410) 내 키워드 “환경”의 출현 패턴에 대한 정보, 콘텐츠 그룹(410) 내 “환경”이라는 단어를 높은 빈도로 사용한 아이디/사용자에 대한 정보 등을 포함할 수 있으나, 이에 한정되지 않는다.For example, in the case of
상술한 실시 예들에 따라 메모리(110) 내 데이터가 검색 및 분석에 용이하도록 구축된 상태에서, 시스템(100)은 구축된 데이터를 기반으로 검색 및 분석을 수행할 수 있다.In a state in which data in the
구체적으로, 도 3을 참조하면, 적어도 하나의 검색어 및 조건이 입력되면, 시스템(100) 내 복수의 코어가 복수의 콘텐츠 그룹(ex. 410, 420, 430, …)에 대하여 병렬 처리 방식으로 검색을 수행하여 적어도 하나의 콘텐츠를 식별할 수 있다(S330).Specifically, referring to FIG. 3 , when at least one search word and condition are input, a plurality of cores in the
여기서, 검색어와 함께 입력되는 조건은, 적어도 하나의 키워드를 포함하거나 포함하지 않을 조건, 검색 대상 시기(기간), 불용어, 검색어가 복합어인 경우 복합어에 포함된 단어들이 서로 일정 단어 수 이하의 거리로 인접해 있는 조건 등 다양한 조건에 해당할 수 있다.Here, the conditions input together with the search word include a condition including or not including at least one keyword, a search target time (period), a stopword, and when the search word is a compound word, the words included in the compound word are at a distance of less than a certain number of words from each other. It may correspond to a variety of conditions, such as adjacent conditions.
그리고, 일 실시 예로, 시스템(100) 내 복수의 코어 각각은, 복수의 콘텐츠 그룹 각각에 대하여 검색을 수행할 수 있다(병렬 처리). And, as an embodiment, each of the plurality of cores in the
만약, 시스템(100) 내 복수의 프로세서 및/또는 복수의 서버가 포함된 경우, 복수의 프로세서/서버에 포함된 코어들이 복수의 콘텐츠 그룹 각각에 대하여 병렬 처리 방식으로 검색을 수행할 수 있다.If a plurality of processors and/or a plurality of servers are included in the
이렇듯 병렬 처리 방식을 통해 복수의 콘텐츠 그룹에 대한 검색이 수행된 결과, 검색 속도가 빨라질 수 있고, 코어 사용 효율이 높아질 수 있다. 또한, 데이터가 뭉쳐 있거나 중복되면 동시 접근이 불가능한 반면, 구분된 복수의 콘텐츠 그룹 각각에 대한 검색이 수행됨으로써, 동기화 구간이 최소화되어 병렬 처리의 효율이 보장될 수 있다. As a result of performing a search for a plurality of content groups through the parallel processing method, the search speed may be increased and the core usage efficiency may be increased. In addition, when data is aggregated or duplicated, simultaneous access is not possible, whereas a search for each of a plurality of divided content groups is performed, so that the synchronization period is minimized and parallel processing efficiency can be guaranteed.
다만, 복수의 콘텐츠 그룹 중 적어도 하나의 콘텐츠 그룹의 데이터 사이즈가 복수의 코어 각각의 검색 성능에 따라 기설정된 데이터 사이즈보다 큰 경우, 시스템(100)은 적어도 하나의 콘텐츠 그룹을 분할하여 병렬 처리 방식으로 검색을 수행할 수도 있다. 이 경우, 코어들의 병렬 처리 성능이 이상 없이 유지될 수 있다.However, when the data size of at least one content group among the plurality of content groups is larger than the data size preset according to the search performance of each of the plurality of cores, the
도 5는 본 개시의 일 실시 예에 따른 시스템이 복수의 코어를 통해 병렬 처리 방식으로 검색을 수행하는 동작을 설명하기 위한 도면이다.5 is a diagram for explaining an operation of a system performing a search in a parallel processing method through a plurality of cores according to an embodiment of the present disclosure.
도 5를 참조하면, 각 코어(thread)가 콘텐츠 그룹(shard contents group) 하나씩 검색을 수행할 수 있다.Referring to FIG. 5 , each core (thread) may perform a search for one content group (shard contents group).
여기서, 각 콘텐츠 그룹은, 앞서 구분된 복수의 콘텐츠 그룹(ex. 410, 420, 430, …) 중 하나일 수도 있고, (콘텐츠 그룹의 사이즈가 큰 경우) 복수의 콘텐츠 그룹 중 하나가 분할된 일부 콘텐츠 그룹일 수도 있다.Here, each content group may be one of the plurality of content groups (eg. 410, 420, 430, ...) divided above, and a part of one of the plurality of content groups (when the size of the content group is large) It can also be a content group.
도 5를 참조하면, 각 코어는 하나의 콘텐츠 그룹(shard contents group)에 대한 검색이 끝나면 다른 콘텐츠 그룹(shard contents group)에 대하여 검색을 수행하는데, 이러한 과정이 모든 콘텐츠 그룹(shard contents group)에 대하여 수행될 때까지 반복될 수 있다.Referring to FIG. 5 , each core performs a search on another content group (shard contents group) after the search for one content group (shard contents group) is completed, and this process is applied to all contents group (shard contents group). It can be repeated until performed for
각 코어는, 검색을 수행함에 따라 적어도 하나의 콘텐츠를 식별할 수 있다. 여기서, 각 코어는, 중복된 결과를 제거할 수 있다.Each core may identify at least one content by performing a search. Here, each core may remove duplicate results.
일 코어를 통해 수행된 검색에 따라 복수의 콘텐츠가 식별된 경우, 코어는 복수의 콘텐츠를 기설정된 개수 단위로 분할하여 복수의 콘텐츠 리스트를 생성할 수 있다.When a plurality of contents are identified according to a search performed through one core, the core may generate a plurality of contents list by dividing the plurality of contents into units of a preset number.
구체적인 예로, 각 코어는, List<Contents[]>의 형태로 검색 결과를 생성할 수 있다. 이 경우, 생성되는 검색 결과의 크기가 일정 개수의 콘텐츠 이하로 설정될 수 있다.As a specific example, each core may generate a search result in the form of List<Contents[]>. In this case, the size of the generated search result may be set to be less than or equal to a predetermined number of contents.
분석 과정에서 List<Contents[]>로부터 Contents[]를 가져오는 경우 동기화가 발생하게 되는데, 이 구간을 최소화하기 위해 배열 형태로 콘텐츠를 로드하는 것이다(하나씩 가져오게 되면 가져오는 구간마다 동기화 구간이 발생하여 속도에 영향이 크다).In the analysis process, when Contents[] is retrieved from List<Contents[]>, synchronization occurs. To minimize this section, the contents are loaded in an array form (if one is imported, a synchronization section occurs for each section to be imported). Therefore, the speed is greatly affected).
이렇듯, 검색 결과가 Queue가 아닌 List의 형태로 생성된 결과, 추후 분석 과정(S340)에서, 복수의 코어는 복수의 콘텐츠 리스트를 병렬 처리 방식으로 분석할 수 있다. As such, as a result of which the search result is generated in the form of a List rather than a Queue, in a later analysis process ( S340 ), the plurality of cores may analyze the plurality of content lists in a parallel processing manner.
그리고, 상술한 실시 예와 같이 검색이 수행되면, 시스템(100)은 (검색에 따라) 식별된 콘텐츠에 매칭되는 적어도 하나의 분석 콘텐츠를 이용하여 분석을 수행할 수 있다(S340).And, if the search is performed as in the above-described embodiment, the
일 실시 예로, 시스템(100) 내 각 코어는, 검색 결과인 복수의 콘텐츠 리스트 각각에 대한 분석을 수행할 수 있다. As an embodiment, each core in the
구체적으로, 각 코어는, 복수의 콘텐츠 리스트 각각에 매칭되는 상술한 분석 콘텐츠(: 전처리된 데이터)를 이용하여, 복수의 콘텐츠 리스트 각각을 병렬 처리 방식으로 분석할 수 있다.Specifically, each core may analyze each of the plurality of content lists in a parallel processing manner using the above-described analyzed content (: pre-processed data) that matches each of the plurality of content lists.
이렇듯 메모리(110) 내에 미리 전처리된 데이터 구조(분석 콘텐츠)가 프로세서(120) 및 메모리(110) 간의 작업만으로 처리되므로 메모리 데이터 교환 및 데이터 변환 (ex. JSON-> Memory Object) 등의 과정이 수행될 필요가 없게 되어, 종래와 달리 분석 과정의 처리 속도가 빨라질 수 있다.As such, since the preprocessed data structure (analysis content) in the
도 6은 본 개시의 일 실시 예에 따른 시스템이 복수의 코어를 통해 병렬 처리 방식으로 분석을 수행하는 동작을 설명하기 위한 도면이다.FIG. 6 is a diagram for explaining an operation in which the system performs analysis in a parallel processing method through a plurality of cores according to an embodiment of the present disclosure.
도 6을 참조하면, 각 코어(thread)는 전처리된 콘텐츠(preprocessing contents)를 이용하여 분석(ex. 통계 분석)을 빠르게 병렬적으로 처리할 수 있다.Referring to FIG. 6 , each core (thread) can quickly and parallelly process analysis (eg, statistical analysis) using preprocessing contents.
여기서, 전처리된 콘텐츠는, 검색 결과 식별된 콘텐츠 리스트에 매칭되는 분석 콘텐츠의 적어도 일부일 수 있다.Here, the pre-processed content may be at least a part of the analyzed content matching the content list identified as a result of the search.
이렇듯, 데이터가 미리 분류되고 전처리되어 메모리(110) 내에 구축되어 유지 내지는 업데이트됨으로써, 시스템(100) 내 복수의 코어가 데이터에 대한 검색 및 분석을 병렬 처리 방식으로 빠르게 수행할 수 있는 최적의 환경이 보장될 수 있다.In this way, data is pre-classified and pre-processed, built and maintained or updated in the
한편, 각 코어의 분석 내용은, 서로 동일한 기능/모듈에 따른 분석일 수도 있고, 서로 다른 기능/모듈에 따른 분석일 수도 있다.Meanwhile, the analysis contents of each core may be analysis according to the same function/module or analysis according to different functions/modules.
일 실시 예로, 복수의 코어가 동일한 모듈/기능에 따른 분석을 수행하는 경우, 시스템(100)은 복수의 콘텐츠 리스트 각각에 대한 복수의 코어의 분석 결과를 병합할 수도 있다.As an embodiment, when a plurality of cores perform analysis according to the same module/function, the
일 예로, 제1 내지 제4 코어 각각을 통해 수행된 분석에 따라 제1 내지 제4 통계 데이터가 산출된 경우를 가정한다.As an example, it is assumed that the first to fourth statistical data are calculated according to the analysis performed through each of the first to fourth cores.
이 경우, 프로세서(120)는, 제1 통계 데이터 및 제2 통계 데이터를 병합하여 제1 병합 통계 데이터를 획득하고, 제3 통계 데이터 및 제4 통계 데이터를 병합하여 제2 병합 통계 데이터를 획득할 수 있다.In this case, the
그리고, 프로세서(120)는 제1 병합 통계 데이터 및 제2 병합 통계 데이터를 병합하여 최종 통계 데이터를 산출할 수 있다.In addition, the
한편, 일 실시 예에 따르면, 시스템(100)은, 일정 주기에 따라 상술한 S310 내지 S320 과정을 수행할 수 있다.Meanwhile, according to an embodiment, the
즉, 시스템(100)은 외부 데이터가 실시간으로 추가됨에 따라, 해당 데이터에 대한 분류 내지 전처리를 주기적으로 수행하여 메모리(110) 내 데이터 환경을 구축할 수 있다.That is, as external data is added in real time, the
구체적인 예로, 시스템(100)은 실시간으로 획득되는 데이터의 증가 속도, 시스템(100)에 포함된 코어의 수, 및 각 코어의 성능에 따라 설정된 주기를 기반으로, 데이터가 구분된 복수의 콘텐츠 그룹 각각을 적어도 하나의 인덱스 키워드에 따라 전처리하여 복수의 분석 콘텐츠를 획득할 수 있다.As a specific example, the
일 예로, 시스템(100)이 실시간 추가되는 데이터를 검색 및 분석에 적합하게 분류/전처리하는(S310~S320) 속도는, 실시간으로 추가되는 데이터의 증가 속도보다 빨라야 한다. 이 경우, 각 코어의 데이터 처리 속도에 코어의 수를 곱한 값을 주기로 나눈 결과는, 실시간으로 획득되는 데이터의 증가 속도보다 빠를 수 있다.As an example, the speed at which the
또한, 일 실시 예로, 시스템(100)은, 후술할 검색(S330) 및 분석(S340)이 수행되지 않을 것으로 예측되는 시간 구간 동안 상술한 분류 및 전처리(S310~S320) 과정을 수행할 수도 있다.Also, as an embodiment, the
구체적인 예로, 시스템(100)은 검색어 및 조건이 입력되어 시스템(100)을 통해 검색이 수행되었던 적어도 하나의 시간 구간을 식별할 수 있다. 그리고, 식별된 시간 구간을 기반으로, 시스템(100)은 검색이 수행되는 시간 구간에 대한 패턴(ex. 시간 구간의 평균 시작/종료 시간)을 생성할 수 있다.As a specific example, the
이 경우, 생성된 패턴을 기반으로, 시스템(100)은 검색이 수행될 가능성이 가장 낮은 적어도 하나의 시간 구간을 선택할 수 있다.In this case, based on the generated pattern, the
그리고, 시스템(100)은 선택된 시간 구간 동안, 추가/업데이트 된 데이터에 대하여 S310 내지 S320 과정을 수행할 수 있다. 구체적으로, 시스템(100)은 데이터가 구분된 복수의 콘텐츠 그룹 각각을 적어도 하나의 인덱스 키워드에 따라 전처리하여 복수의 분석 콘텐츠를 획득할 수 있다.Then, the
예를 들어, 서버 관리자 또는 사용자의 요청에 따른 검색 및 분석이 주로 오전 8시에서 오후 7시 사이에 수행되는 경우, 시스템(100)은 상술한 S310 내지 S320 과정을 오후 11시에서 다음날 오전 2시까지 수행할 수 있다.For example, when the search and analysis according to the request of the server administrator or user is mainly performed between 8:00 am and 7:00 pm, the
이 경우, 매일 추가적으로 획득/수집되는 외부 데이터(ex. 콘텐츠 그룹)에 대하여 전처리가 수행되어 메모리(110) 상에 구축될 수 있고, 그 결과, 매일 수행되는 검색 및 분석의 속도가 보장될 수 있다.In this case, pre-processing may be performed on external data (eg, content group) that is additionally acquired/collected every day and built on the
한편, 일 실시 예에 따르면, 시스템(100)은 S310 내지 S320 과정을 통해 획득된 복수의 콘텐츠 그룹 및 복수의 분석 콘텐츠에 대한 백업 정보를 적어도 하나의 스토리지에 저장할 수 있다.Meanwhile, according to an embodiment, the
스토리지는, HDD(Hard Disk Drive), SSD(Solid State Drive), 플래시 메모리 등 다양한 구성을 포함할 수 있으나, 이에 한정되지 않는다.The storage may include various configurations such as a hard disk drive (HDD), a solid state drive (SSD), and a flash memory, but is not limited thereto.
그리고, 시스템(100)이 부팅(ex. 종료 후 재부팅)되는 경우, 시스템(100)은 백업 정보를 기반으로 복수의 콘텐츠 그룹 및 복수의 분석 콘텐츠를 메모리(110)에 로드할 수 있다. 이때, 시스템(100)은 복수의 코어를 통한 병렬 처리 방식으로 복수의 콘텐츠 그룹 및 복수의 분석 콘텐츠를 로드할 수 있다.And, when the
한편, 시스템(100)은 백업 정보를 메모리(110)에 포함된 적어도 하나의 비휘발성 메모리 상에 저장해둘 수도 있다. 이 경우, 재부팅된 시스템(100)은, 비휘발성 메모리에 저장된 백업 정보를 이용하여, 복수의 콘텐츠 그룹 및 복수의 분석 콘텐츠를 메모리(110)의 휘발성 메모리 상에 로드할 수 있다.Meanwhile, the
한편, 일 실시 예로, 시스템(100)은 S330 단계의 검색에 이용된 검색어에 대한 데이터(ex. 검색어 별 빈도, 검색 빈도에 따른 검색어 나열)를 이용하여, 추후 수행되는 메모리 구축 과정(S320)을 수행할 수 있다.On the other hand, in one embodiment, the
구체적인 예로, 시스템(100)은 입력 빈도에 따라 각 검색어를 순차적인 인덱스 키워드로 설정하고, 설정된 각 인덱스 키워드를 이용하여 S320 단계의 전처리를 수행하여 복수의 분석 콘텐츠를 획득할 수 있다.As a specific example, the
또한, 일 실시 예로, 시스템(100)은 S330 단계의 검색에 이용된 (입력된) 적어도 하나의 조건을, 추후 인덱스 키워드에 따른 전처리 과정(S320)에 이용할 수도 있다.In addition, as an embodiment, the
한편, 도 7은 본 개시의 일 실시 예에 따른 시스템의 기능적 구성을 설명하기 위한 블록도이다.Meanwhile, FIG. 7 is a block diagram illustrating a functional configuration of a system according to an embodiment of the present disclosure.
도 7을 참조하면, 시스템(100)은 다양한 형태/기능의 분석을 수행하기 위한 각종 모듈들(Analysis Modules)을 포함할 수 있다. 한 번 검색된 결과는, 여러 모듈에서 공유해서 사용될 수 있다.Referring to FIG. 7 , the
구체적으로, 시스템(100)은 다양한 분류 관련 처리를 수행하기 위한 Classify TF(Task Force), 단어와 관련된 분석을 수행하는 Word TF, Word TFIDF(Term Frequency-Inverse Document Frequency) 등을 포함할 수 있다. 또한, 시스템(100)은 미디어의 생성/처리와 관련된 Media TF도 포함할 수 있다. 또한, 시스템(100)은 다양한 문서에 대하여 단어 감지, 어절 패턴 감지 등 주제를 발견하기 위한 언어 처리를 수행하기 위한 Topic Modeling 모듈(ex. LDA: Latent Dirichlet Allocation)을 포함할 수 있다. 또한, 시스템(100)은 다양한 외부 데이터를 획득하기 위한 SNA(Social Network Analysis) 모듈을 포함할 수도 있다.Specifically, the
상술한 모듈들 각각은 소프트웨어 및/또는 하드웨어를 통해 구현될 수 있으며, 프로세서(120)에 포함되는 적어도 하나의 코어를 통해 실행될 수 있다.Each of the above-described modules may be implemented through software and/or hardware, and may be executed through at least one core included in the
또한, 도 7을 참조하면, 시스템(100)은 자연어 처리를 위한 NLP(Natural Language Processing) 모듈 및 그 밖에 다양한 실시간 데이터 처리를 수행하기 위한 모듈들을 포함할 수 있다.Also, referring to FIG. 7 , the
구체적으로, 시스템(100)은 실시간으로 외부로부터 미디어 콘텐츠를 수집하기 위한 적어도 하나의 모듈, 수집된 콘텐츠를 이용하여 실시간으로 메모리(110) 내 데이터 구성을 변경/추가/삭제하는 모듈, 추가/변경된 인덱스 키워드를 이용하여 실시간으로 인덱싱(전처리)를 수행하는 모듈 등을 포함할 수 있다.Specifically, the
일 예로, 시스템(100)은 불용어 제거, 다양한 방식의 단어 관리, 신조어 학습 등을 기반으로 인덱스 키워드를 실시간으로 추가/변경할 수 있다.As an example, the
그리고, 시스템(100)은 추가/변경된 인덱스 키워드를 이용하여 복수의 콘텐츠 그룹 각각에 대한 전처리를 수행할 수 있다. 그 결과, 메모리(110) 내에 구축되는 복수의 분석 콘텐츠가 시대 및 언어의 변화에 맞게 실시간으로 업데이트될 수 있다.In addition, the
한편, 이하 표 1은 본 개시에 따른 일 실시 예의 효과를 설명하기 위한 검색 및 분석 시간의 비교표이다.Meanwhile, Table 1 below is a comparison table of search and analysis times for explaining the effects of an embodiment according to the present disclosure.
비율Search Results
ratio
미적용in-memory
Unapplied
(초)time taken
(candle)
표 1은 동일한 170만 건의 데이터에 대한 각 실시 예의 검색 및 분석 시간을 계산한 것이다. 특히, SparkRdd + SQL은 SQL의 질의 시간이 계산되지 않은 값으로 실제로는 더 큰 시간이 소요된다고 볼 수 있다.표 1을 참조하면, 인메모리 검색 엔진과 일반적인 검색 엔진 간에 분석에 필요한 모든 데이터를 찾아서 분석에 전달하는 시간까지는 10 ~ 100배 이상의 성능 차이를 보인다.Table 1 calculates the search and analysis time of each example for the same 1.7 million data. In particular, in SparkRdd + SQL, the query time of SQL is not calculated, and it can be seen that it takes longer in reality. Referring to Table 1, it is possible to find all data necessary for analysis between the in-memory search engine and the general search engine. It shows a performance difference of 10 to 100 times or more by the time it is delivered to analysis.
그리고, 본 개시의 일 실시 예에 따른 검색 및 분석은, 검색 엔진(ex. Elastic Search)을 통해 데이터를 전달받은 Spark와 비교하여 4배 이상의 성능 차이를 보인다.And, the search and analysis according to an embodiment of the present disclosure show a performance difference of 4 times or more compared to Spark, which received data through a search engine (ex. Elastic Search).
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합된 것을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다.Meanwhile, the various embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.
하드웨어적인 구현에 의하면, 본 개시에서 설명되는 실시 예들은 ASICs(Application Specific Integrated Circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛(unit) 중 적어도 하나를 이용하여 구현될 수 있다. According to the hardware implementation, the embodiments described in the present disclosure are ASICs (Application Specific Integrated Circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays) ), processors, controllers, micro-controllers, microprocessors, and other electrical units for performing other functions may be implemented using at least one.
일부의 경우에 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상술한 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다.In some cases, the embodiments described herein may be implemented by the processor itself. According to the software implementation, embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the above-described software modules may perform one or more functions and operations described herein.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 시스템(100) 내 적어도 하나의 전자 장치에서의 처리동작을 수행하기 위한 컴퓨터 명령어(computer instructions) 또는 컴퓨터 프로그램은 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium)에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어 또는 컴퓨터 프로그램은 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 시스템(100)에서의 처리 동작을 상술한 특정 기기가 수행하도록 한다. Meanwhile, computer instructions or a computer program for performing a processing operation in at least one electronic device in the
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.The non-transitory computer-readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, a cache, a memory, and can be read by a device. Specific examples of the non-transitory computer-readable medium may include a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.In the above, preferred embodiments of the present disclosure have been illustrated and described, but the present disclosure is not limited to the specific embodiments described above, and is generally used in the technical field belonging to the present disclosure without departing from the gist of the present disclosure as claimed in the claims. Various modifications may be made by those having the knowledge of
100: 시스템
110: 메모리
120: 프로세서100: system 110: memory
120: processor
Claims (10)
실시간으로 획득되는 데이터를 시간에 따른 복수의 콘텐츠 그룹으로 구분하여 메모리에 저장하는 단계;
상기 복수의 콘텐츠 그룹 각각을 적어도 하나의 인덱스 키워드에 따라 전처리하여 복수의 분석 콘텐츠를 획득하는 단계;
적어도 하나의 검색어 및 조건이 입력되면, 복수의 코어가 상기 복수의 콘텐츠 그룹에 대하여 병렬 처리 방식으로 검색을 수행하여 적어도 하나의 콘텐츠를 식별하는 단계; 및
상기 식별된 콘텐츠에 매칭되는 적어도 하나의 분석 콘텐츠를 이용하여 분석을 수행하는 단계;를 포함하는, 시스템의 분석 방법.In the analysis method of an in-memory computing-based system,
classifying data obtained in real time into a plurality of content groups according to time and storing the data in a memory;
pre-processing each of the plurality of content groups according to at least one index keyword to obtain a plurality of analyzed content;
identifying at least one content by performing, by a plurality of cores, a parallel processing method on the plurality of content groups when at least one search word and condition are input; and
and performing an analysis using at least one analysis content matching the identified content.
상기 복수의 분석 콘텐츠를 획득하는 단계는,
상기 인덱스 키워드의 출현 빈도, 상기 인덱스 키워드의 출현 순서, 상기 인덱스 키워드에 따른 분류 정보, 및 상기 인덱스 키워드에 기초한 패턴 정보 중 적어도 하나를 기반으로, 상기 복수의 콘텐츠 그룹 각각을 전처리하는, 시스템의 분석 방법.According to claim 1,
The step of obtaining the plurality of analysis contents includes:
Analysis of a system for pre-processing each of the plurality of content groups based on at least one of the frequency of appearance of the index keyword, the order of appearance of the index keyword, classification information according to the index keyword, and pattern information based on the index keyword Way.
상기 적어도 하나의 콘텐츠를 식별하는 단계는,
상기 복수의 콘텐츠 그룹 중 적어도 하나의 콘텐츠 그룹의 데이터 사이즈가 상기 복수의 코어 각각의 검색 성능에 따라 기설정된 데이터 사이즈보다 큰 경우, 상기 콘텐츠 그룹을 분할하여 병렬 처리 방식으로 검색을 수행하는, 시스템의 분석 방법.According to claim 1,
The step of identifying the at least one content comprises:
When the data size of at least one content group among the plurality of content groups is larger than a data size preset according to the search performance of each of the plurality of cores, the content group is divided and the search is performed in a parallel processing method of a system analysis method.
상기 시스템의 분석 방법은,
일 코어를 통해 수행된 검색에 따라 복수의 콘텐츠가 식별된 경우, 상기 복수의 콘텐츠를 기설정된 개수 단위로 분할하여 복수의 콘텐츠 리스트를 생성하는 단계;를 더 포함하고,
상기 분석을 수행하는 단계는,
복수의 코어가, 상기 생성된 복수의 콘텐츠 리스트를 병렬 처리 방식으로 분석하는, 시스템의 분석 방법.According to claim 1,
The analysis method of the system is,
When a plurality of contents are identified according to a search performed through one core, generating a plurality of contents list by dividing the plurality of contents into a unit of a preset number;
The step of performing the analysis is
An analysis method of a system, wherein a plurality of cores analyze the generated plurality of content lists in a parallel processing manner.
상기 시스템의 분석 방법은,
상기 복수의 콘텐츠 리스트 각각에 대한 분석 결과를 병합하는 단계;를 더 포함하는, 시스템의 분석 방법.5. The method of claim 4,
The analysis method of the system is,
Merging the analysis results for each of the plurality of content lists; further comprising, the analysis method of the system.
상기 시스템의 분석 방법은,
상기 복수의 콘텐츠 그룹 및 상기 복수의 분석 콘텐츠에 대한 백업 정보를 적어도 하나의 스토리지에 저장하는 단계; 및
상기 시스템이 부팅되는 경우, 상기 백업 정보를 기반으로 상기 복수의 콘텐츠 그룹 및 상기 복수의 분석 콘텐츠를 상기 메모리로 로드하는 단계;를 더 포함하는, 시스템의 분석 방법.According to claim 1,
The analysis method of the system is,
storing backup information for the plurality of content groups and the plurality of analyzed content in at least one storage; and
When the system is booted, loading the plurality of content groups and the plurality of analyzed contents into the memory based on the backup information; further comprising, an analysis method of a system.
상기 복수의 분석 콘텐츠를 획득하는 단계는,
상기 실시간으로 획득되는 데이터의 증가 속도, 상기 시스템에 포함된 코어의 수, 및 각 코어의 성능에 따라 설정된 주기를 기반으로, 상기 데이터가 구분된 복수의 콘텐츠 그룹 각각을 적어도 하나의 인덱스 키워드에 따라 전처리하여 복수의 분석 콘텐츠를 획득하는, 시스템의 분석 방법.According to claim 1,
The step of obtaining the plurality of analysis contents includes:
Based on a period set according to the rate of increase of the data acquired in real time, the number of cores included in the system, and the performance of each core, each of the plurality of content groups in which the data is divided according to at least one index keyword Pre-processing to obtain a plurality of analysis content, an analysis method of the system.
상기 시스템의 분석 방법은,
검색어 및 조건이 입력되어 상기 시스템을 통해 검색이 수행되는 적어도 하나의 시간 구간을 식별하는 단계;
상기 식별된 시간 구간을 기반으로, 검색이 수행되는 시간 구간에 대한 패턴을 생성하는 단계; 및
상기 생성된 패턴을 기반으로, 검색이 수행될 가능성이 가장 낮은 적어도 하나의 시간 구간을 선택하는 단계;를 더 포함하고,
상기 복수의 분석 콘텐츠를 획득하는 단계는,
상기 선택된 시간 구간 동안, 상기 데이터가 구분된 복수의 콘텐츠 그룹 각각을 적어도 하나의 인덱스 키워드에 따라 전처리하여 복수의 분석 콘텐츠를 획득하는, 시스템의 분석 방법.According to claim 1,
The analysis method of the system is,
identifying at least one time interval in which a search term and condition are input and a search is performed through the system;
generating a pattern for a time interval in which a search is performed, based on the identified time interval; and
Selecting at least one time interval in which a search is most likely to be performed based on the generated pattern; further comprising,
The step of obtaining the plurality of analysis contents includes:
During the selected time period, each of the plurality of content groups in which the data is divided is pre-processed according to at least one index keyword to obtain a plurality of analyzed content.
적어도 하나의 메모리; 및
상기 적어도 하나의 메모리와 연결된 적어도 하나의 프로세서;를 포함하고,
상기 프로세서는,
실시간으로 획득되는 데이터를 시간에 따른 복수의 콘텐츠 그룹으로 구분하여 상기 메모리에 저장하고,
상기 복수의 콘텐츠 그룹 각각을 적어도 하나의 인덱스 키워드에 따라 전처리하여 복수의 분석 콘텐츠를 획득하고,
적어도 하나의 검색어 및 조건이 입력되면, 복수의 코어를 통해 상기 복수의 콘텐츠 그룹에 대하여 병렬 처리 방식으로 검색을 수행하여 적어도 하나의 콘텐츠를 식별하고,
상기 식별된 콘텐츠에 매칭되는 적어도 하나의 분석 콘텐츠를 이용하여 분석을 수행하는, 시스템.In an in-memory computing-based system,
at least one memory; and
Including; at least one processor coupled to the at least one memory;
The processor is
Data obtained in real time is divided into a plurality of content groups according to time and stored in the memory,
Pre-processing each of the plurality of content groups according to at least one index keyword to obtain a plurality of analyzed content,
When at least one search word and condition are input, a search is performed in a parallel processing method for the plurality of content groups through a plurality of cores to identify at least one content,
performing an analysis using at least one analysis content matching the identified content.
적어도 하나의 전자 장치의 프로세서에 의해 실행되어, 상기 전자 장치로 하여금 제1항의 분석 방법을 수행하도록 하는, 컴퓨터 프로그램.In the computer program stored in a computer-readable medium,
A computer program, executed by a processor of at least one electronic device to cause the electronic device to perform the analysis method of claim 1 .
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200185862A KR102425595B1 (en) | 2020-12-29 | 2020-12-29 | System for performing searching and analysis based on in-memory computing for real-time data processing, analysis method, and computer program |
KR1020220090065A KR102465391B1 (en) | 2020-12-29 | 2022-07-21 | Analytical methods of systems for setting data processing cycles based on growth rate of data in real time |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200185862A KR102425595B1 (en) | 2020-12-29 | 2020-12-29 | System for performing searching and analysis based on in-memory computing for real-time data processing, analysis method, and computer program |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220090065A Division KR102465391B1 (en) | 2020-12-29 | 2022-07-21 | Analytical methods of systems for setting data processing cycles based on growth rate of data in real time |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220094551A true KR20220094551A (en) | 2022-07-06 |
KR102425595B1 KR102425595B1 (en) | 2022-07-29 |
Family
ID=82399828
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200185862A KR102425595B1 (en) | 2020-12-29 | 2020-12-29 | System for performing searching and analysis based on in-memory computing for real-time data processing, analysis method, and computer program |
KR1020220090065A KR102465391B1 (en) | 2020-12-29 | 2022-07-21 | Analytical methods of systems for setting data processing cycles based on growth rate of data in real time |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220090065A KR102465391B1 (en) | 2020-12-29 | 2022-07-21 | Analytical methods of systems for setting data processing cycles based on growth rate of data in real time |
Country Status (1)
Country | Link |
---|---|
KR (2) | KR102425595B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194041A (en) * | 2023-09-26 | 2023-12-08 | 北京强云创新科技有限公司 | Parallel optimization method and system for high-performance computer |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102571783B1 (en) * | 2022-12-16 | 2023-08-29 | 스트라토 주식회사 | Search processing system performing high-volume search processing and control method thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190005578A (en) | 2017-07-07 | 2019-01-16 | (주)넥스트위드 | Systemt and method of managing distributed database based on inmemory |
WO2019043848A1 (en) * | 2017-08-30 | 2019-03-07 | 楽天株式会社 | Server device, service method, program, and non-transitory computer-readable information recording medium |
-
2020
- 2020-12-29 KR KR1020200185862A patent/KR102425595B1/en active IP Right Grant
-
2022
- 2022-07-21 KR KR1020220090065A patent/KR102465391B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190005578A (en) | 2017-07-07 | 2019-01-16 | (주)넥스트위드 | Systemt and method of managing distributed database based on inmemory |
WO2019043848A1 (en) * | 2017-08-30 | 2019-03-07 | 楽天株式会社 | Server device, service method, program, and non-transitory computer-readable information recording medium |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117194041A (en) * | 2023-09-26 | 2023-12-08 | 北京强云创新科技有限公司 | Parallel optimization method and system for high-performance computer |
CN117194041B (en) * | 2023-09-26 | 2024-03-19 | 北京强云创新科技有限公司 | Parallel optimization method and system for high-performance computer |
Also Published As
Publication number | Publication date |
---|---|
KR102465391B1 (en) | 2022-11-10 |
KR102425595B1 (en) | 2022-07-29 |
KR20220111219A (en) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102465391B1 (en) | Analytical methods of systems for setting data processing cycles based on growth rate of data in real time | |
Chen et al. | Xgboost: A scalable tree boosting system | |
US9710474B2 (en) | Method and system for file relocation | |
Lin | The curse of zipf and limits to parallelization: A look at the stragglers problem in mapreduce | |
US9146983B2 (en) | Creating a semantically aggregated index in an indexer-agnostic index building system | |
US20170161375A1 (en) | Clustering documents based on textual content | |
RU2663358C2 (en) | Clustering storage method and device | |
US9256665B2 (en) | Creation of inverted index system, and data processing method and apparatus | |
US7752221B2 (en) | Progressive relaxation across tiers | |
US20120254173A1 (en) | Grouping data | |
US9305076B1 (en) | Flattening a cluster hierarchy tree to filter documents | |
CN106909554B (en) | Method and device for loading database text table data | |
WO2016107497A1 (en) | Method and apparatus for scalable sorting of data set | |
US20190087453A1 (en) | Data search system, data search method, and program product | |
US20190318191A1 (en) | Noise mitigation in vector space representations of item collections | |
US20140222736A1 (en) | Collaborative Analytics Map Reduction Classification Learning Systems and Methods | |
CN110019017A (en) | A kind of high-energy physics file memory method based on access feature | |
Lim et al. | An analysis of image storage systems for scalable training of deep neural networks | |
Kolb et al. | Parallel sorted neighborhood blocking with mapreduce | |
US8660974B2 (en) | Inference over semantic network with some links omitted from indexes | |
De Francisci et al. | Scaling out all pairs similarity search with mapreduce | |
von Wyl et al. | A parallel cross-modal search engine over large-scale multimedia collections with interactive relevance feedback | |
Lai et al. | Nimbus: tuning filters service on Tweet streams | |
KR20230101281A (en) | Analysis system for real time big data | |
Tang et al. | Acolyte: an in-memory social network query system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
N231 | Notification of change of applicant |