[go: up one dir, main page]

KR102815485B1 - Data providing method and apparatus for the same - Google Patents

Data providing method and apparatus for the same Download PDF

Info

Publication number
KR102815485B1
KR102815485B1 KR1020220080614A KR20220080614A KR102815485B1 KR 102815485 B1 KR102815485 B1 KR 102815485B1 KR 1020220080614 A KR1020220080614 A KR 1020220080614A KR 20220080614 A KR20220080614 A KR 20220080614A KR 102815485 B1 KR102815485 B1 KR 102815485B1
Authority
KR
South Korea
Prior art keywords
data
file
information
database
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
KR1020220080614A
Other languages
Korean (ko)
Other versions
KR20240003313A (en
Inventor
프라카쉬 카델
박정준
강구
박종훈
이진운
황수현
권장혁
김두형
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Priority to KR1020220080614A priority Critical patent/KR102815485B1/en
Priority to PCT/KR2022/010024 priority patent/WO2024005252A1/en
Priority to TW113141522A priority patent/TWI894029B/en
Priority to TW112122534A priority patent/TWI864827B/en
Publication of KR20240003313A publication Critical patent/KR20240003313A/en
Priority to KR1020250069171A priority patent/KR20250079114A/en
Application granted granted Critical
Publication of KR102815485B1 publication Critical patent/KR102815485B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2358Change logging, detection, and notification
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

프론트 노드에서 제1 데이터 요청을 수신하고, 제1 데이터 요청을 기반으로 메인 데이터베이스 에서 제1 데이터를 획득하고, 제1 데이터 요청을 기반으로 임시 데이터베이스 에서 제2 데이터를 획득하고, 제1 데이터 및 제2 데이터를 프론트 노드로 전송하는 전자 장치 및 그의 동작 방법을 제공한다.An electronic device and its operating method are provided, which receive a first data request from a front node, acquire first data from a main database based on the first data request, acquire second data from a temporary database based on the first data request, and transmit the first data and the second data to the front node.

Description

데이터 제공 방법 및 그 장치{DATA PROVIDING METHOD AND APPARATUS FOR THE SAME}DATA PROVIDING METHOD AND APPARATUS FOR THE SAME

본 개시는 데이터 제공 방법 및 그 장치에 관한 것이다.The present disclosure relates to a data providing method and a device thereof.

정보통신기술의 발전에 따라 전자상거래 시장은 빠르게 발전하여 쇼핑의 한 분야로 자리잡았다. 고객은 전자 기기 등을 사용하여 온라인 상에서 물품을 구매하고, 원하는 장소로 물품을 배달시킬 수 있다. 이에 따라 판매자와 구매자 간의 매매를 중개하고 배송 서비스를 배송하는 매매 중개 서비스가 활성화되고 있다. With the development of information and communication technology, the e-commerce market has developed rapidly and has become a part of shopping. Customers can purchase products online using electronic devices and have them delivered to their desired location. Accordingly, brokerage services that mediate sales between sellers and buyers and provide delivery services are becoming more active.

이와 같은 매매 중개 서비스에서는 판매하는 물품의 변화나 사용자에게 제공해야 하는 정보가 변경됨에 따라 데이터의 변경이 필요한 경우가 발생한다. 그러나 제공되는 서비스의 데이터 양이 증가함에 따라 일부 데이터를 수정하거나 추가하는데에 많은 시간이 소요되고, 데이터 사이에 무결성이나 일관성을 가지지 못하는 경우 데이터 수정 이후 서비스에 오류가 나타날 수 있게 되었다. 이에 따라, 서비스 운영을 위해 사용되는 메인 데이터베이스 이외에 데이터 수정이나 추가와 관련된 별도의 데이터 베이스를 운영할 필요성이 생겼으며, 데이터 관리를 하는 작업자는 데이터 베이스의 수정이나 추가에 익숙하지 않을 수 있으므로, 프로그래머의 도움 없이 임시 데이터 베이스에 데이터 추가를 용이하게 하고, 이를 적절한 형테로 프론트엔드에 제공할 수 있는 방안이 요구된다.In such a sales brokerage service, there are cases where data needs to be changed due to changes in the items being sold or information to be provided to users. However, as the amount of data for the service provided increases, it takes a lot of time to modify or add some data, and if there is no integrity or consistency between the data, errors may occur in the service after the data is modified. Accordingly, in addition to the main database used for service operation, it has become necessary to operate a separate database related to modifying or adding data, and since the worker in charge of managing the data may not be familiar with modifying or adding to the database, a method is required that facilitates adding data to a temporary database without the help of a programmer and provides this to the front end in an appropriate form.

본 발명과 관련하여, KR 10-1589213 B1 건, KR 0-2003-0057528 A 등의 선행문헌들을 참조할 수 있다.In relation to the present invention, reference may be made to prior literature such as KR 10-1589213 B1 and KR 0-2003-0057528 A.

본 발명의 과제는 서비스 운영 방향에 따라 프론트 엔드에 제공될 수 있는 데이터를 제공하기 위해 임시 데이터베이스와 메인 데이터 베이스를 관리하고, 이들로부터 수신한 정보를 조합하여 프론트 엔드에 제공할 수 있는 방법 및 그 장치를 제공하는데 있다.The object of the present invention is to provide a method and device for managing a temporary database and a main database to provide data that can be provided to a front end according to a service operation direction, and combining information received from them to provide the combined information to the front end.

본 발명이 이루고자 하는 기술적 과제는 상기된 바와 같은 과제로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.The technical problems to be solved by the present invention are not limited to the problems described above, and other technical problems can be inferred from the following examples.

일 실시예에 따라, 전자 장치의 데이터 제공 방법은, 프론트 노드에서 제1 데이터 요청을 수신하는 단계; 제1 데이터 요청을 기반으로 메인 데이터베이스 에서 제1 데이터를 획득하는 단계; 제1 데이터 요청을 기반으로 임시 데이터베이스 에서 제2 데이터를 획득하는 단계; 및 제1 데이터 및 제2 데이터를 프론트 노드로 전송하는 단계를 포함할 수 있다.According to one embodiment, a method for providing data of an electronic device may include: receiving a first data request from a front node; obtaining first data from a main database based on the first data request; obtaining second data from a temporary database based on the first data request; and transmitting the first data and the second data to the front node.

또한, 데이터 제공 방법은, 특정 식별 정보를 포함하는 제2 데이터 요청을 임시 데이터 베이스에 전송하는 단계; 및 제2 데이터 요청에 따라 임시 데이터베이스로부터 제2 데이터를 획득하는 단계를 포함할 수 있다.Additionally, the data providing method may include a step of transmitting a second data request including specific identification information to a temporary database; and a step of obtaining second data from the temporary database according to the second data request.

또한, 특정 식별 정보는 제1 데이터를 기반으로 확인될 수 있다. Additionally, certain identifying information can be identified based on the first data.

또한, 제2 데이터는 임시 데이터베이스에서 특정 식별 정보에 따라 동적 설정 데이터 베이스 로부터 획득된 설정 정보를 기반으로 확인된 테이블로부터 획득될 수 있다. Additionally, the second data can be obtained from a table verified based on configuration information obtained from a dynamic configuration database according to specific identification information in a temporary database.

또한, 제2 데이터는 제1 데이터 요청에 대응하는 적어도 하나의 키-값 쌍을 포함할 수 있다. Additionally, the second data may include at least one key-value pair corresponding to the first data request.

또한, 키-값 쌍의 키는 키에 대응하는 값을 생성한 주체를 식별하는 정보일 수 있다. Additionally, the key of a key-value pair may be information that identifies the entity that created the value corresponding to the key.

또한, 임시 데이터베이스는 적어도 하나의 데이터 파일을 기초로 갱신되고, 적어도 하나의 데이터 파일 각각은 적어도 하나의 키-값 쌍 및 각각의 키-값 쌍을 생성한 주체를 식별하는 정보를 포함할 수 있다.Additionally, the temporary database may be updated based on at least one data file, each of the at least one data file including at least one key-value pair and information identifying a subject that created each key-value pair.

또한, 적어도 하나의 데이터 파일 각각은 데이터 파일에 포함되는 정보의 형식 및 데이터 파일의 크기를 기초로 검증될 수 있다.Additionally, each of at least one data file can be verified based on the format of information contained in the data file and the size of the data file.

또한, 임시 데이터베이스는 적어도 하나의 테이블을 포함하고, 적어도 하나의 테이블 각각은 특정 식별 정보의 타입 에 따라 서로 구별될 수 있다.Additionally, the temporary database includes at least one table, and each of the at least one table can be distinguished from each other based on a type of specific identifying information.

또한, 적어도 하나의 테이블 각각은, 적어도 하나의 테이블 각각에 대응하는 작업 구성 파일 을 기초로 구성되는 테이블로 교체됨으로써 갱신될 수 있다.Additionally, each of at least one table can be updated by replacing it with a table configured based on a working configuration file corresponding to each of at least one table.

또한, 적어도 하나의 데이터 파일이 업로드될 때, 각 데이터 파일에 포함되는 특정 식별 정보의 타입, 값의 타입, 그룹핑 여부 및 데이터 만료일 정보가 함께 업로드될 수 있다.Additionally, when at least one data file is uploaded, the type of specific identification information contained in each data file, the type of value, whether grouped, and the data expiration date information may be uploaded together.

또한, 제1 임시 데이터 파일은, 구분자를 이용하여 제1 임시 데이터에 포함된 하나 이상의 정보를 서로 구분할 수 있도록 구성될 수 있고, 데이터 제공 방법은, 구분자를 이용하여 하나 이상의 임시 데이터에 대응하는 하나 이상의 임시 데이터 파일을 파싱(parsing)하여 하나 이상의 임시 데이터를 확인하는 단계를 포함할 수 있다.Additionally, the first temporary data file may be configured to distinguish one or more pieces of information included in the first temporary data from one another using a delimiter, and the data providing method may include a step of parsing one or more temporary data files corresponding to the one or more temporary data using the delimiter to verify the one or more temporary data.

또한, 데이터 제공 방법은, 제2 데이터에 대한 데이터 만료일이 경과하지 않은 경우, 제1 데이터 및 제2 데이터를 프론트 노드로 전송하는 단계를 포함할 수 있다.Additionally, the data providing method may include a step of transmitting the first data and the second data to the front node if the data expiration date for the second data has not expired.

또한, 데이터 제공 방법은, 데이터 만료일로부터 기 설정된 기간 이전에 알림을 제공하는 단계를 더 포함할 수있다.Additionally, the data provision method may further include a step of providing a notification prior to a preset period from the data expiration date.

또한, 데이터 제공 방법은, 캐시(cache)로부터 제2 데이터를 획득하는 단계를 포함하고, 캐시는 임시 데이터베이스를 기초로 갱신될 수 있다.Additionally, the method of providing data includes a step of obtaining second data from a cache, wherein the cache can be updated based on a temporary database.

또한, 하나 이상의 특정 식별 정보가 확인되면 특정 식별 정보에 대응하는 데이터가 캐시에서 삭제될 수 있다.Additionally, when one or more specific identifying information is identified, data corresponding to the specific identifying information may be deleted from the cache.

또한, 임시 데이터베이스는 기 설정된 주기로 갱신될 수 있다.Additionally, the temporary database can be updated at preset intervals.

또한, 데이터 제공 방법은, 임시 데이터베이스의 갱신 작업의 요청을 확인한 경우, 갱신 작업의 시작을 확인한 경우 및 갱신 작업의 완료를 확인한 경우 각각에 대해 알림을 제공할 수 있다.Additionally, the data provision method can provide notifications for each of the following cases: when a request for an update operation of a temporary database is confirmed, when the start of an update operation is confirmed, and when the completion of an update operation is confirmed.

또한, 데이터 제공 방법은, 임시 데이터베이스에 포함된 데이터의 활성화 여부 정보를 표시하는 단계를 포함할 수 있다.Additionally, the data providing method may include a step of displaying information on whether data included in a temporary database is activated.

또한, 전자 장치는, 적어도 하나의 프로그램이 저장된 메모리; 및 적어도 하나의 프로그램을 실행함으로써, 프론트 노드에서 제1 데이터 요청을 수신하고, 제1 데이터 요청을 기반으로 메인 데이터베이스에서 제1 데이터를 획득하고, 제1 데이터 요청을 기반으로 임시 데이터베이스에서 제2 데이터를 획득하고, 제1 데이터 및 제2 데이터를 프론트 노드로 전송하는 프로세서를 포함할 수 있다.In addition, the electronic device may include a memory having at least one program stored therein; and a processor that executes at least one program to receive a first data request from a front node, obtain first data from a main database based on the first data request, obtain second data from a temporary database based on the first data request, and transmit the first data and the second data to the front node.

또한, 컴퓨터로 읽을 수 있는 비일시적 기록매체는, 상술한 동작 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록할 수 있다.Additionally, a non-transitory computer-readable recording medium can record a program for causing a computer to execute the above-described operating method.

기타 실시예들의 구체적인 사항은 상세한 설명 및 도면들에 포함된다.Specific details of other embodiments are included in the detailed description and drawings.

본 발명에 따르면, 사용자는 별도의 코딩 없이도 임시 데이터를 메인 데이터와 함께 프론트엔드에 제공하여, 서비스 이용자가 임시 데이터를 메인 데이터와 함께 제공받을 수 있다. 따라서 프로그래머 또는 개발자 자원이 절약되는 효과가 있다.According to the present invention, a user can provide temporary data to the front end together with main data without separate coding, so that the service user can receive the temporary data together with the main data. Therefore, there is an effect of saving programmer or developer resources.

또한 본 발명에 따르면, 사용자는 유저 인터페이스를 통해 임시 데이터베이스의 테이블을 생성, 삭제, 관리할 수 있다.Additionally, according to the present invention, a user can create, delete, and manage tables of a temporary database through a user interface.

또한 본 발명에 따르면, 임시 데이터베이스를 활용하여 백엔드에서 제공한 데이터에 포함된 데이터 중에 임시 데이터베이스에서 전달한 데이터를 구별하고, 이를 기반으로 프론트 엔드에서 데이터를 활용하여 새로운 서비스를 제공할 수 있다In addition, according to the present invention, by utilizing a temporary database, data transmitted from a temporary database can be distinguished from data included in data provided from a backend, and based on this, a new service can be provided by utilizing data from a front end.

또한 본 발명에 따르면, 임시 데이터는 임시 데이터베이스의 테이블 형태에 저장되어, 특정 식별 정보를 기반으로 복수개의 테이블에서 어떤 임시 데이터를 전달해야 하는지 구별할 수 있다In addition, according to the present invention, temporary data is stored in the form of a table in a temporary database, so that it is possible to distinguish which temporary data should be transferred from multiple tables based on specific identification information.

또한 본 발명에 따르면, 메인 데이터를 보관하는 메인 데이터베이스를 별도로 수정하거나 메인 테이터베이스에 대한 데이터 요청 양식을 수정하지 않아도 메인 데이터베이스에 대한 특정 식별 정보를 포함하는 데이터 요청을 활용하여 임시 데이터베이스에서 임시 데이터를 획득할 수 있는 이점이 있다. In addition, according to the present invention, there is an advantage in that temporary data can be obtained from a temporary database by utilizing a data request including specific identification information for the main database without separately modifying the main database storing the main data or modifying a data request form for the main database.

또한 본 발명에 따르면, 프론트 서비스의 변경이 있고, 그에 따른 일부 데이터의 변경이 필요한 경우, 본 발명을 활용하여 해당 서비스에 관련된 테이블을 추가하고, 데이터 요청 시 식별자를 통해 해당 table의 데이터를 획득하고 프론트 노드에서 제공할 수 있다.In addition, according to the present invention, when there is a change in the front service and a change in some data is required accordingly, a table related to the corresponding service can be added by utilizing the present invention, and when requesting data, data of the corresponding table can be obtained through an identifier and provided from the front node.

발명의 효과는 이상에서 언급한 효과만으로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위 기재로부터 당해 기술 분야의 통상의 기술자에게 명확하게 이해될 수 있다.The effects of the invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by a person skilled in the art from the description of the claims.

도 1은 본 개시에 따른 전자 장치의 일 실시예를 나타낸다.
도 2는 본 개시에 따른 데이터 제공 방법의 일 실시예를 나타낸다.
도 3a 는 본 개시에 따른 데이터 파일의 일 실시예를 나타낸다.
도 3b 는 본 개시에 따른 데이터 파일에 관한 정보의 일 실시예를 나타낸다.
도 4는 본 개시에 따른 데이터 파일에 관한 정보에 포함될 수 있는 정보의 종류를 나타낸다.
도 5는 본 개시에 따른 데이터의 테이블을 나타낸다.
도 6 은 본 개시에 따른 데이터 제공 방법에 관한 임시 데이터의 요청 및 응답을 나타낸다.
도 7 은 본 개시에 따른 데이터 제공 방법의 일 실시예를 나타낸다.
도 8 은 본 개시에 따른 데이터 제공 방법의 일 실시예를 나타낸다.
도 9 는 본 개시에 따른 데이터 제공 방법의 일 실시예를 나타낸다.
도 10 은 본 개시에 따른 데이터 제공 방법의 일 실시예를 나타낸다.
도 11 은 본 개시에 따른 데이터 제공 방법에 관한 사용자 인터페이스를 나타낸다.
도 12 는 본 개시에 따른 데이터 제공 방법에 관한 사용자 인터페이스를 나타낸다.
도 13 은 본 개시에 따른 데이터 제공 방법에 관한 사용자 인터페이스를 나타낸다.
도 14 는 본 개시에 따른 데이터 제공 방법의 일 실시예를 나타낸다.
도 15 는 본 개시에 따른 데이터 제공 방법의 일 실시예를 나타낸다.
도 16 은 본 개시에 따른 데이터 제공 방법의 일 실시예를 나타낸다.
도 17 은 본 개시에 따른 데이터 제공 방법의 일 실시예를 나타낸다.
도 18 은 본 개시에 따른 데이터 제공 방법의 일 실시예를 나타낸다.
도 19 는 본 개시에 따른 데이터 제공 방법의 일 실시예를 나타낸다.
Figure 1 illustrates one embodiment of an electronic device according to the present disclosure.
FIG. 2 illustrates one embodiment of a data providing method according to the present disclosure.
FIG. 3a illustrates an embodiment of a data file according to the present disclosure.
FIG. 3b illustrates an example of information regarding a data file according to the present disclosure.
Figure 4 illustrates the types of information that may be included in information about a data file according to the present disclosure.
Figure 5 shows a table of data according to the present disclosure.
Figure 6 illustrates a request and response for temporary data regarding a data provision method according to the present disclosure.
FIG. 7 illustrates an embodiment of a data providing method according to the present disclosure.
FIG. 8 illustrates an embodiment of a data providing method according to the present disclosure.
FIG. 9 illustrates an embodiment of a data providing method according to the present disclosure.
FIG. 10 illustrates an embodiment of a data providing method according to the present disclosure.
FIG. 11 illustrates a user interface for a data providing method according to the present disclosure.
FIG. 12 illustrates a user interface for a data providing method according to the present disclosure.
FIG. 13 illustrates a user interface for a data providing method according to the present disclosure.
FIG. 14 illustrates an embodiment of a data providing method according to the present disclosure.
FIG. 15 illustrates an embodiment of a data providing method according to the present disclosure.
FIG. 16 illustrates an embodiment of a data providing method according to the present disclosure.
FIG. 17 illustrates an embodiment of a data providing method according to the present disclosure.
FIG. 18 illustrates an embodiment of a data providing method according to the present disclosure.
FIG. 19 illustrates an embodiment of a data providing method according to the present disclosure.

본 개시에 기술된 실시예는 본 개시를 제한하는 것이 아니라 예시하는 것이고, 통상의 기술자는 첨부된 청구범위에 의해 정의된 본 개시의 범주를 벗어나지 않으면서, 다수의 대안적인 실시예를 설계할 수 있다. 실시 예들에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.The embodiments described in this disclosure are intended to illustrate rather than limit the present disclosure, and those skilled in the art can design many alternative embodiments without departing from the scope of the present disclosure defined by the appended claims. The terms used in the embodiments have been selected from currently widely used general terms as much as possible while considering the functions in the present disclosure, but this may vary depending on the intention of a person skilled in the art, precedents, the emergence of new technologies, etc. In addition, in certain cases, there are terms arbitrarily selected by the applicant, and in this case, the meanings thereof will be described in detail in the corresponding description section. Therefore, the terms used in the present disclosure should be defined based on the meanings of the terms and the overall contents of the present disclosure, rather than the simple names of the terms.

본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 반대되는 기재가 존재하지 않는 한, 단수는 물론 복수를 모두 포함한다. As used herein, the singular expression includes both the singular and the plural, unless the context clearly indicates otherwise.

본 명세서 전체에서 어떤 부분이 어떤 구성요소들 또는 어떤 단계들을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 어떤 부분이 구성요소들 또는 단계들을 반드시 모두 포함해야 하는 것은 아니고, 청구범위 또는 명세서 전체에 열거된 것 이외의 구성요소 또는 단계가 포함되는 것을 배제하는 것도 아니며, 단지 이들을 더 포함할 수 있음을 의미한다. When it is said throughout this specification that a part "comprises" certain elements or steps, unless otherwise specifically stated, that does not mean that the part must include all of those elements or steps, nor does it exclude the inclusion of elements or steps other than those listed in the claims or throughout the specification, but only that the part may include more.

또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 서수를 포함하는 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 문맥상 명세서의 일 부분에서 일 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리범위를 벗어나지 않으면서 제1 구성요소는 명세서의 다른 부분에서 제2 구성요소로 명명될 수 있고, 반대로 제2 구성요소도 명세서의 다른 부분에서 제1 구성요소로 명명될 수 있다.Also, terms including ordinal numbers such as first, second, etc. used in this specification may be used to describe various components, but the components should not be limited by the terms including ordinal numbers. The terms are used only for the purpose of distinguishing one component from another component in a portion of the specification in context. For example, a first component may be referred to as a second component in another portion of the specification, and conversely, a second component may also be referred to as a first component in another portion of the specification, without departing from the scope of the present invention.

본 명세서에서 "매커니즘", "요소", "수단", "구성"과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.In this specification, terms such as "mechanism", "element", "means", and "configuration" may be used broadly and are not limited to mechanical and physical configurations. The terms may include the meaning of a series of software processes (routines) in connection with a processor, etc.

본 명세서(특히 청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 재배열되어 행해질 수 있고, 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 통상의 기술자는 본 명세서에 개시된 실시예에 설계 조건 및 팩터에 따라 다양한 수정, 조합 및 변경을 부가하여 특허청구범위 또는 그 균등물의 범주에 속하는 새로운 실시예를 구성할 수 있다.The use of the term "above" and similar referential terms in this specification (especially in the claims) may refer to both the singular and the plural. In addition, when a range is described, it is intended to include individual values within the range (unless otherwise stated), and each individual value constituting the range is described in the detailed description. Finally, unless the order of the steps constituting the method is explicitly stated or stated to the contrary, the steps may be rearranged and performed in any appropriate order, and the order in which the steps are described is not necessarily limited. The use of all examples or exemplary terms (e.g., etc.) is intended merely to further illustrate the technical idea, and the scope is not limited by the examples or exemplary terms, unless otherwise stated by the claims. Those skilled in the art may add various modifications, combinations, and changes to the embodiments disclosed herein, depending on design conditions and factors, to form new embodiments falling within the scope of the claims or their equivalents.

이하에서는 도면을 참조하여 본 개시의 실시예를 설명한다.Hereinafter, embodiments of the present disclosure will be described with reference to the drawings.

도 1 은 본 개시의 적어도 하나의 실시예를 실행하는데 사용될 수 있는 전자 장치(100)의 예시적이고 단순화된 블록도를 나타낸다. 다양한 실시예에서, 전자 장치(100)는 본 개시에서 서술된 임의의 시스템 또는 방법을 구현하는데 사용될 수 있다. 예를 들어, 전자 장치(100)는 데이터 서버, 웹 서버, 휴대용 컴퓨팅 디바이스, 개인용 컴퓨터, 태블릿 컴퓨터, 워크스테이션, 휴대폰, 스마트 폰(smart phone) 또는 아래에서 서술되는 임의의 다른 디바이스를 포함하는 임의의 전자 장치로서 사용되도록 구성될 수 있다.FIG. 1 illustrates an exemplary and simplified block diagram of an electronic device (100) that may be used to implement at least one embodiment of the present disclosure. In various embodiments, the electronic device (100) may be used to implement any system or method described in the present disclosure. For example, the electronic device (100) may be configured to be used as any electronic device, including a data server, a web server, a portable computing device, a personal computer, a tablet computer, a workstation, a mobile phone, a smart phone, or any other device described below.

전자 장치(100)는 메모리(120) 및 메모리(120)와 통신하도록 구성될 수 있는 하나 이상의 캐시 메모리 및 메모리 제어기를 갖는 하나 이상의 프로세서(110)를 포함할 수 있다. 추가적으로, 전자 장치(100)는 하나 이상의 포트(예컨대, USB(Universal Serial Bus), 헤드폰 잭, 라이트닝(Lightning) 커넥터, 썬더볼트(Thunderbolt) 커넥터 등)를 통해 전자 장치(100)에 연결될 수 있는 다른 디바이스를 포함할 수 있다. 전자 장치(100)에 연결될 수 있는 디바이스는 광섬유 커넥터를 수용하도록 구성되는 복수의 포트를 포함할 수 있다. 도시된 전자 장치(100)의 구성은 디바이스의 바람직한 실시예를 예시할 목적으로 특정 예시로서만 의도된다. 도시된 전자 장치(100)에는 본 실시예들과 관련된 구성요소들만이 도시되어 있다. 따라서, 전자 장치(100)에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음은 당해 기술분야의 통상의 기술자에게 자명하다.The electronic device (100) may include one or more processors (110) having a memory (120) and one or more cache memories and a memory controller configured to communicate with the memory (120). Additionally, the electronic device (100) may include other devices that may be connected to the electronic device (100) via one or more ports (e.g., a Universal Serial Bus (USB), a headphone jack, a Lightning connector, a Thunderbolt connector, etc.). The devices that may be connected to the electronic device (100) may include a plurality of ports configured to receive fiber optic connectors. The configuration of the illustrated electronic device (100) is intended only as a specific example for the purpose of illustrating preferred embodiments of the device. Only components relevant to the present embodiments are illustrated in the illustrated electronic device (100). Accordingly, it will be apparent to one of ordinary skill in the art that the electronic device (100) may further include other general purpose components in addition to the components illustrated.

프로세서(110)는 전자 장치(100)가 본 개시에서 서술된 임의의 실시예의 단계 또는 기능을 제공하도록 하기 위해 이용될 수 있다. 예를 들어, 프로세서(110)는 전자 장치(100) 내의 메모리(120)에 저장된 프로그램들을 실행함으로써, 전자 장치(100)를 전반적으로 제어한다. 프로세서(110)는 전자 장치(100) 내에 구비된 CPU(central processing unit), GPU(graphics processing unit), AP(application processor) 등으로 구현될 수 있으나, 이에 제한되지 않는다.The processor (110) may be utilized to enable the electronic device (100) to provide steps or functions of any of the embodiments described in the present disclosure. For example, the processor (110) controls the electronic device (100) as a whole by executing programs stored in the memory (120) within the electronic device (100). The processor (110) may be implemented as a central processing unit (CPU), a graphics processing unit (GPU), an application processor (AP), or the like provided within the electronic device (100), but is not limited thereto.

메모리(120)는 전자 장치(100) 내에서 처리되는 각종 데이터들을 저장하는 하드웨어로서, 메모리(120)는 전자 장치(100)에서 프로세서(110)를 통해 처리된 데이터들 및 처리될 데이터들을 저장할 수 있다. 또한, 메모리(120)는 본 개시의 적어도 하나의 실시예의 기능을 제공할 수 있는 기본 프로그래밍 및 데이터 구조를 저장하는 것은 물론, 본 개시의 실시예의 기능을 제공할 수 있는 애플리케이션들(프로그램, 코드 모듈, 명령어), 드라이버들 등을 저장할 수 있다. 메모리(120)는 DRAM(dynamic random access memory), SRAM(static random access memory) 등과 같은 RAM(random access memory), ROM(read-only memory), EEPROM(electrically erasable programmable read-only memory), CD-ROM, 블루레이 또는 다른 광학 디스크 스토리지, HDD(hard disk drive), SSD(solid state drive), 또는 플래시 메모리를 포함할 수 있다. The memory (120) is a hardware that stores various types of data processed within the electronic device (100), and the memory (120) can store data processed and data to be processed through the processor (110) in the electronic device (100). In addition, the memory (120) can store basic programming and data structures that can provide functions of at least one embodiment of the present disclosure, as well as applications (programs, code modules, commands), drivers, etc. that can provide functions of the embodiments of the present disclosure. The memory (120) can include a random access memory (RAM) such as a dynamic random access memory (DRAM), a static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a CD-ROM, a Blu-ray or other optical disk storage, a hard disk drive (HDD), a solid state drive (SSD), or a flash memory.

본 개시에 따른 방법 및 각 단계는 전자 장치(100) 또는 프로세서(110)가 수행할 수 있다. 전자 장치(100)는 프로세서(110)의 제어에 의해 동작한다. 설명을 간단히 하기 위하여 아래부터는 전자 장치(100)가 본 개시에 따른 방법 및 각 단계의 수행 주체임을 전제하여 설명한다.The method and each step according to the present disclosure can be performed by an electronic device (100) or a processor (110). The electronic device (100) operates under the control of the processor (110). For simplicity of explanation, the following description assumes that the electronic device (100) is the subject of performing the method and each step according to the present disclosure.

도 2 는 본 개시에 따른 결제 서비스 제공 방법의 일 실시예를 나타낸다. 일 실시예에서, 전자 장치(100)는 프론트 노드에서 제1 데이터 요청을 수신하고, 제1 데이터 요청을 기반으로 메인 데이터베이스 에서 제1 데이터를 획득하고, 제1 데이터 요청을 기반으로 임시 데이터베이스 에서 제2 데이터를 획득하고 제1 데이터 및 제2 데이터를 프론트 노드(미도시)로 전송할 수 있다.FIG. 2 illustrates one embodiment of a payment service providing method according to the present disclosure. In one embodiment, an electronic device (100) may receive a first data request from a front node, obtain first data from a main database based on the first data request, obtain second data from a temporary database based on the first data request, and transmit the first data and the second data to a front node (not shown).

"프론트 노드(미도시)"는 백엔드 노드로부터 데이터를 수신하고, 사용자에게 제공할 페이지를 생성할 수 있다. 프론트 노드는 사용자의 단말로 페이지를 생성하여 서비스 이용자에게 서비스를 제공할 수 있다. A "front node (not shown)" can receive data from a backend node and generate a page to be provided to a user. The front node can generate a page as a user's terminal and provide a service to a service user.

서빙 레이어(214)는 프론트 노드로 데이터를 제공할 수 있다. 서빙 레이어(214)는 전자 장치(100)에 포함될 수 있다. 서빙 레이어(214)는 복수의 API들을 포함하고, 프론트 노드의 요청에 따라 특정 API에 대응하는 백엔드 노드 또는 서버로부터 데이터를 수신하여 프론트 노드에 전달할 수 있다. 구체적으로, 서빙 레이어(214)는 리스팅 API(215), 검색 API(216) 및 프로모션 API(217) 중 적어도 하나를 포함할 수 있다. 리스팅 API(215)는 프론트 노드로 데이터의 리스트를 제공할 수 있다. 검색 API(216)은 프론트 노드로 데이터의 검색 결과를 제공할 수 있다. 프로모션 API(217)는 프론트 노드로 프로모션에 관한 데이터를 제공할 수 있다.The serving layer (214) can provide data to the front node. The serving layer (214) can be included in the electronic device (100). The serving layer (214) includes a plurality of APIs, and can receive data from a backend node or server corresponding to a specific API according to a request of the front node and transmit the data to the front node. Specifically, the serving layer (214) can include at least one of a listing API (215), a search API (216), and a promotion API (217). The listing API (215) can provide a list of data to the front node. The search API (216) can provide a search result of data to the front node. The promotion API (217) can provide data regarding a promotion to the front node.

프론트 노드는 서빙 레이어(214)로 특정한 객체의 특정 식별 정보를 포함하는 요청을 송신할 수 있다. 서빙 레이어(214)는 객체 데이터 제공 API(213)로 제1 데이터 요청을 송신할 수 있다. 객체 데이터 제공 API(213)는 전자 장치(100)에 포함될 수 있다. 구체적으로, 제1 데이터 요청은 특정한 객체에 관한 데이터의 요청일 수 있다. 다시 말해, 제1 데이터 요청은 프론트 노드로부터의 요청에 대응하는 특정한 객체의 특정 식별 정보를 포함할 수 있다. 객체 데이터 제공 API(213)는 서빙 레이어(214)의 제1 데이터 요청에 대응하여 제1 데이터를 획득하고, 제 1 데이터를 서빙 레이어(214)로 제공할 수 있다. The front node can transmit a request including specific identification information of a specific object to the serving layer (214). The serving layer (214) can transmit a first data request to the object data providing API (213). The object data providing API (213) can be included in the electronic device (100). Specifically, the first data request can be a request for data regarding a specific object. In other words, the first data request can include specific identification information of a specific object corresponding to the request from the front node. The object data providing API (213) can obtain first data in response to the first data request of the serving layer (214) and provide the first data to the serving layer (214).

객체 데이터 제공 API(213)는 제1 데이터 요청을 기반으로 메인 데이터베이스에서 제1 데이터를 획득 할 수 있다. 메인 데이터베이스는 특정한 객체에 관한 데이터를 저장할 수 있다. 제1 데이터 요청은 특정한 객체에 관한 식별 정보를 포함할 수 있고, 객체 데이터 제공 API(213)는 식별 정보를 이용하여 메인 데이터베이스로부터 식별 정보에 대응하는 객체에 관한 제1 데이터를 획득할 수 있다. The object data provision API (213) can obtain first data from the main database based on the first data request. The main database can store data regarding a specific object. The first data request can include identification information regarding a specific object, and the object data provision API (213) can obtain first data regarding an object corresponding to the identification information from the main database using the identification information.

메인 데이터베이스는 방대한 양의 데이터를 저장할 수 있으며, 그에 따라 메인 데이터베이스로의 데이터 요청 및 데이터 제공 작업도 빈번하게 이루어질 수 있다. 따라서 메인 데이터베이스의 데이터 제공 작업에 대한 방해가 최소화되도록, 메인 데이터베이스에 대한 데이터 변경, 수정, 삭제, 갱신 작업 역시 최소화될 필요가 있다. 따라서 임시 데이터를 메인 데이터베이스에 반영하는 대신, 별도의 임시 데이터베이스를 사용하고, 임시 데이터베이스로부터 임시 데이터를 로드하여 제공할 수 있다.The main database can store a large amount of data, and accordingly, data requests and data provision tasks to the main database can also be performed frequently. Therefore, in order to minimize interference with the data provision tasks of the main database, data change, modification, deletion, and update tasks for the main database also need to be minimized. Therefore, instead of reflecting temporary data in the main database, a separate temporary database can be used, and temporary data can be loaded from the temporary database and provided.

객체 데이터 제공 API(213)는 제1 데이터 요청을 셔틀(212)에 전달할 수 있다. 셔틀(212)는 전자 장치(100)의 일부일 수 있다. 셔틀(212)은 제1 데이터 요청을 기반으로 임시 데이터베이스(210)에서 제2 데이터를 획득할 수 있다. 임시 데이터베이스(210)는 특정한 객체에 관한 데이터를 저장할 수 있다. 또한, 임시 데이터베이스(210)는 예를 들어, Spark Cassandra 등의 분산형 데이터베이스이거나, 그를 포함할 수 있다. 셔틀(212)은 제1 데이터 요청 또는 제1 데이터를 기반으로 확인되는 특정 식별 정보를 이용하여 임시 데이터베이스(210)로부터 특정 식별 정보에 대응하는 객체에 관한 제2 데이터를 획득할 수 있고, 제2 데이터를 객체 데이터 제공 API(213)에 전달할 수 있다. 제2 데이터는 특정한 객체에 관한 임시 데이터를 포함할 수 있다. 객체 데이터 제공 API(213) 또는 프로세서는 제1 데이터 및 제2 데이터를 서빙 레이어(214)로 전달하여, 제1 데이터 및 제2 데이터가 프론트 노드로 전송될 수 있다.The object data provision API (213) can transmit the first data request to the shuttle (212). The shuttle (212) can be a part of the electronic device (100). The shuttle (212) can obtain second data from the temporary database (210) based on the first data request. The temporary database (210) can store data regarding a specific object. In addition, the temporary database (210) can be, or include, a distributed database such as Spark Cassandra, for example. The shuttle (212) can obtain second data regarding an object corresponding to the specific identification information from the temporary database (210) using specific identification information identified based on the first data request or the first data, and can transmit the second data to the object data provision API (213). The second data can include temporary data regarding a specific object. The object data provision API (213) or the processor can transmit the first data and the second data to the serving layer (214), so that the first data and the second data can be transmitted to the front node.

일 실시예에서, 셔틀(212)은 특정 식별 정보를 포함하는 제2 데이터 요청을 임시 데이터베이스(210)에 전송하고, 제2 데이터 요청에 따라 임시 데이터베이스(210)로부터 제2 데이터를 획득할 수 있다. 제2 데이터 요청은 제1 데이터 또는 제1 데이터 요청을 기반으로 생성될 수 있다. 제2 데이터 요청 및 제2 데이터에 관하여는 이후 도 6을 참조하여 자세히 설명한다.In one embodiment, the shuttle (212) may transmit a second data request including specific identification information to the temporary database (210) and obtain second data from the temporary database (210) according to the second data request. The second data request may be generated based on the first data or the first data request. The second data request and the second data will be described in detail later with reference to FIG. 6.

일 실시예에서, 셔틀(212)은 캐시(211)로부터 제2 데이터를 획득할 수 있고, 캐시(211)는 임시 데이터베이스(210)를 기초로 갱신될 수 있다. 캐시(211)는 제2 데이터와 같이 임시 데이터베이스(210)에 저장된 데이터 중 일부를 포함할 수 있다. 이는 임시 데이터베이스(210)로부터 직접 데이터를 획득하는 것보다 더 신속하게 데이터를 획득할 수 있는 이점이 있다.In one embodiment, the shuttle (212) can obtain second data from the cache (211), and the cache (211) can be updated based on the temporary database (210). The cache (211) can include some of the data stored in the temporary database (210), such as the second data. This has the advantage of obtaining data more quickly than obtaining data directly from the temporary database (210).

일 실시예에서, 제2 데이터는 임시 데이터베이스(210)에서 특정 식별 정보에 따라 동적 설정 데이터베이스(209)로부터 획득된 설정 정보를 기반으로 확인된 테이블로부터 획득될 수 있다. 이러한 테이블 및 동적 설정 데이터베이스(209)의 자세한 내용에 관하여는 이후 도 5 를 참조하여 자세히 설명한다.In one embodiment, the second data may be obtained from a table identified based on configuration information obtained from the dynamic configuration database (209) according to specific identification information in the temporary database (210). Details of this table and the dynamic configuration database (209) will be described in detail later with reference to FIG. 5.

일 실시예에서, 임시 데이터베이스(210)에 데이터를 추가, 수정 또는 갱신하기 위하여 사용자(201)는 애드혹 서비스(203)를 통해 적어도 하나의 데이터 파일을 업로드(202)할 수 있다. 애드혹 서비스(203)은 애드혹 UI(User Interface)(204)를 포함할 수 있고, 사용자(201)는 애드혹 UI(204)를 이용하여 적더오 하나의 데이터 파일을 업로드(202)할 수 있다. In one embodiment, a user (201) may upload (202) at least one data file via an ad hoc service (203) to add, modify, or update data in a temporary database (210). The ad hoc service (203) may include an ad hoc user interface (UI) (204), and the user (201) may upload (202) at least one data file using the ad hoc UI (204).

적어도 하나의 데이터 파일은 텍스트 파일 또는 csv(comma separated values) 파일일 수 있다. 적어도 하나의 데이터 파일의 실시예는 도 3a 에 나타나 있다. 적어도 하나의 데이터 파일은 파일 데이터베이스(205)에 저장될 수 있고, 데이터 추출기(208)는 적어도 하나의 데이터 파일로부터 임시 데이터베이스(210)를 갱신할 수 있다. 즉, 임시 데이터베이스(210)는 적어도 하나의 데이터 파일을 기초로 갱신될 수 있다. 파일 데이터베이스(205)는 Amazon S3 등의 클라우드 스토리지를 포함할 수 있다. At least one data file can be a text file or a comma separated values (csv) file. An embodiment of the at least one data file is shown in FIG. 3a. The at least one data file can be stored in the file database (205), and the data extractor (208) can update the temporary database (210) from the at least one data file. That is, the temporary database (210) can be updated based on the at least one data file. The file database (205) can include cloud storage such as Amazon S3.

일 실시예에서, 적어도 하나의 데이터 파일 각각은 적어도 하나의 키-값 쌍을 포함할 수 있다. 적어도 하나의 키-값 쌍의 키는 특정 식별 정보일 수 있고, 값은 특정 식별 정보에 대응되는 값일 수 있다. 여기서 각각의 키에 대응하는 값은 단일 값일 수도 있지만, json(JavaScript Object Notation) 형태 등의 데이터 포맷으로 표현된 하나 이상의 값을 포함할 수도 있다. 일 실시예에서, 적어도 하나의 데이터 파일 각각은 구분자를 이용하여 적어도 하나의 데이터 파일 각각에 포함된 하나 이상의 정보를 서로 구분할 수 있도록 구성될 수 있다. 구분자는 탭(tab) 또는 콤마(,)등일 수 있다. 구분자는 도 2 의 애드혹 UI(204)를 통해 설정될 수 있다. 사용자(201)는 애드혹 UI(204)를 통해 사용할 구분자를 결정할 수 있다.In one embodiment, each of the at least one data file may include at least one key-value pair. The key of the at least one key-value pair may be specific identification information, and the value may be a value corresponding to the specific identification information. Here, the value corresponding to each key may be a single value, but may also include one or more values expressed in a data format such as json (JavaScript Object Notation). In one embodiment, each of the at least one data file may be configured to distinguish one or more pieces of information included in each of the at least one data file from each other using a delimiter. The delimiter may be a tab or a comma (,), etc. The delimiter may be set through the ad hoc UI (204) of FIG. 2. The user (201) may determine the delimiter to be used through the ad hoc UI (204).

도 3a 를 참조하여 설명하면, A1.txt 파일(301)은 키 10001, 키 10002에 각각 대응하는 값으로 2 및 3을 각각 포함할 수 있다. 각각의 키 및 값은 콤마로 구분된다. A2.txt 파일(302)은 키 10001에 대응하는 값으로 3000을 가질 수 있다. A3.txt 파일(303)은 키 19101053에 대응하는 값으로 true를 가질 수 있다. A4.txt 파일(304)은 키 10001에 대응하는 값으로 retail/image01.png를 가질 수 있다. Referring to FIG. 3a, the A1.txt file (301) may include 2 and 3 as values corresponding to keys 10001 and 10002, respectively. Each key and value is separated by a comma. The A2.txt file (302) may have 3000 as a value corresponding to key 10001. The A3.txt file (303) may have true as a value corresponding to key 19101053. The A4.txt file (304) may have retail/image01.png as a value corresponding to key 10001.

B1.txt 파일(305)은 키 10001에 대응하는 값으로 {"bsr_rank": "1", "bsr_limit": false}를 가질 수 있다. 이는 json 포맷에 대응될 수 있다. The B1.txt file (305) may have {"bsr_rank": "1", "bsr_limit": false} as values corresponding to key 10001. This may correspond to the json format.

적어도 하나의 데이터 파일 각각은 적어도 하나의 키-값 쌍을 생성한 주체(또는 사용자)를 식별하는 정보(다시 말해, 생성 주체 식별자)에 대응될 수 있다. 생성 주체 식별자는 제2 데이터의 사용처를 식별하는 정보일 수 있다. 생성 주체 식별자를 통해, 프론트 노드에서는 적어도 하나의 데이터 파일에 포함되는 키-값 쌍 또는 제2 데이터의 사용처를 결정할 수 있다. 즉, 생성 주체 식별자는 사용자와 프론트 노드 사이에서 약속된 식별자일 수 있으며, 이는 생성 주체뿐만 아니라 임시 데이터베이스에 필요한 데이터를 요청하고, 이를 수신한 프론트 엔드 노드에서 임시 데이터베이스에서 획득한 정보를 구별할 수 있도록 하는 식별 정보를 포함할 수 있다. Each of at least one data file may correspond to information identifying a subject (or user) who created at least one key-value pair (i.e., a generating subject identifier). The generating subject identifier may be information identifying a usage of the second data. Through the generating subject identifier, the front node may determine a usage of the key-value pair or the second data included in at least one data file. That is, the generating subject identifier may be an identifier promised between the user and the front node, and may include identification information that allows not only the generating subject but also a front-end node that requests data required for a temporary database and receives the data to distinguish information obtained from the temporary database.

일 실시예에서, 적어도 하나의 데이터 파일 각각은 데이터 파일에 포함되는 정보(키 및 값)의 형식 또는 데이터 파일의 크기를 기초로 검증될 수 있다. 예를 들어, 적어도 하나의 데이터 파일에 포함되는 키가 integer 타입인지 혹은 값이 string 타입인지 검증될 수 있고, 데이터 파일인 1메가바이트 이하인지 등이 검증될 수 있다. 이는 프로그래밍에 익숙하지 않은 사용자(201)가 잠재적 프로그램 오류를 야기할 수 있는 데이터를 업로드하는 문제를 방지할 수 있는 효과가 있다.In one embodiment, each of at least one data file can be verified based on the format of information (key and value) included in the data file or the size of the data file. For example, it can be verified whether the key included in at least one data file is of integer type or the value is of string type, and it can be verified whether the data file is 1 megabyte or less. This has the effect of preventing a user (201) who is not familiar with programming from uploading data that may cause potential program errors.

일 실시예에서, 적어도 하나의 데이터 파일에 관한 정보는 파일 정보 데이터베이스(206)에 보관될 수 있다. 파일 정보 데이터베이스(206)는 Amazon RDS 등의 관계형 데이터베이스를 포함할 수 있다. 적어도 하나의 데이터 파일에 관한 정보는 이후 도 3b 와 관련하여 자세히 설명한다.In one embodiment, information regarding at least one data file may be stored in a file information database (206). The file information database (206) may include a relational database such as Amazon RDS. The information regarding at least one data file is described in more detail later with respect to FIG. 3b.

일 실시예에서, 파일 데이터베이스(205)에 저장된 적어도 하나의 데이터 파일을 기초로 임시 데이터베이스(210)를 갱신하기 위하여, 작업 구성 파일이 작업 구성 파일 데이터베이스(207)에 업로드될 수 있다. 작업 구성 파일 데이터베이스는 Amazon S3 등의 데이터베이스를 포함할 수 있다. 데이터 추출기(208)는 작업 구성 파일 데이터베이스(207)에 저장된 작업 구성 파일을 참조하여 파일 데이터베이스(205)에 저장된 하나 이상의 데이터 파일을 확인하고, 임시 데이터베이스(210)를 갱신할 수 있으며, 이에 따라 임시 데이터베이스(210)의 테이블이 갱신되고, 프론트 노드로 전달할 데이터에 대응하는 테이블이나 로우(row)를 설정하기 위해 동적 설정 데이터베이스(209)에 설정 값을 업데이트 할 수 있다. 데이터 추출기(208)는 Spark Streaming 등의 데이터 스트리밍 도구를 포함할 수 있다. 작업 구성 파일은 하나 이상의 데이터 파일을 일괄 작업하기 위한 정보를 포함할 수 있다. 이는 임시 데이터베이스(210)를 적절한 빈도로 갱신하여, 임시 데이터베이스(210)에 가해지는 부하를 조절할 수 있는 이점이 있다.In one embodiment, a job configuration file may be uploaded to a job configuration file database (207) to update a temporary database (210) based on at least one data file stored in a file database (205). The job configuration file database may include a database such as Amazon S3. The data extractor (208) may refer to the job configuration file stored in the job configuration file database (207) to identify one or more data files stored in the file database (205), update the temporary database (210), and accordingly, update a table in the temporary database (210) and update a setting value in the dynamic setting database (209) to set a table or row corresponding to data to be transmitted to the front node. The data extractor (208) may include a data streaming tool such as Spark Streaming. The job configuration file may include information for batch processing one or more data files. This has the advantage of being able to adjust the load applied to the temporary database (210) by updating the temporary database (210) at an appropriate frequency.

일 실시예에서, 데이터 추출기(208)는 임시 데이터베이스(210)를 갱신한 다음, 임시 데이터베이스(210)의 갱신에 관한 설정 정보를 동적 설정 데이터베이스(209)에 업로드할 수 있다. 셔틀(212)은 동적 설정 데이터베이스(209)로부터 이러한 설정 정보를 임시 데이터베이스(210)로부터 제2 데이터를 획득하는데 활용할 수 있다. 동적 설정 데이터베이스(209)의 설정 정보는 셔틀(212)이 임시 데이터베이스(210)로부터 어떤 데이터를 참조해야 하는지에 관한 정보를 포함할 수 있다. 예를 들어, 셔틀(212)은 동적 설정 데이터베이스(209)의 설정 정보를 기초로 어떤 테이블 및 행/열 정보를 참조해야 하는지 확인하고, 이를 기초로 임시 데이터베이스(210)로부터 제2 데이터를 획득할 수 있다. 이와 같이 동적 설정 데이터베이스(209)에서 설정 정보를 관리함으로써 임시 데이터베이스(210)의 데이터를 적응적으로 업데이트 할 수 있으며, 사용되는 데이터의 버전이 변경되는 경우에도 동적 설정 데이터베이스(209)를 업데이트함으로써 프론트 노드로 전달될 데이터를 용이하게 설정할 수 있다. In one embodiment, the data extractor (208) can update the temporary database (210) and then upload configuration information regarding the update of the temporary database (210) to the dynamic configuration database (209). The shuttle (212) can utilize this configuration information from the dynamic configuration database (209) to obtain second data from the temporary database (210). The configuration information of the dynamic configuration database (209) can include information regarding which data the shuttle (212) should refer to from the temporary database (210). For example, the shuttle (212) can determine which table and row/column information it should refer to based on the configuration information of the dynamic configuration database (209) and obtain the second data from the temporary database (210) based on this. By managing the configuration information in the dynamic configuration database (209) in this way, the data of the temporary database (210) can be adaptively updated, and even when the version of the data being used is changed, the data to be transmitted to the front node can be easily set by updating the dynamic configuration database (209).

동적 설정 데이터베이스(209)에는 임시 데이터베이스(210)의 갱신된 테이블 이름 및 해당 테이블의 갱신된 열 정보가 포함될 수 있다. The dynamic configuration database (209) may include updated table names of the temporary database (210) and updated column information of the corresponding tables.

도 3b 는 본 개시에 따른 적어도 하나의 데이터 파일에 관한 정보의 일 실시예를 나타낸다. 사용자가 업로드한 적어도 하나의 데이터 파일은 도 3b 에 도시된 테이블 형태로 파일 정보 데이터베이스에 저장될 수 있다. 적어도 하나의 데이터 파일에 관한 정보는 각 데이터 파일의 식별자(310), 생성 주체 식별자(320), 식별자 타입(330) 및 저장 경로(340) 등의 정보를 포함할 수 있다. FIG. 3b illustrates an example of information about at least one data file according to the present disclosure. At least one data file uploaded by a user may be stored in a file information database in the form of a table as shown in FIG. 3b. The information about at least one data file may include information such as an identifier (310) of each data file, a creator identifier (320), an identifier type (330), and a storage path (340).

식별자(310)는 적어도 하나의 데이터 파일의 순번에 대응될 수 있다. The identifier (310) may correspond to a sequence number of at least one data file.

생성 주체 식별자(320)는 적어도 하나의 데이터 파일을 생성한 주체를 식별하는 정보일 수 있으며, 상술한 바와 같이, 적어도 하나의 데이터 파일에 포함되는 키-값 쌍이 사용되는 사용처를 정하는 정보일 수 있다. The creation subject identifier (320) may be information that identifies the subject that created at least one data file, and as described above, may be information that determines the usage of the key-value pair included in at least one data file.

식별자 타입(330)은 적어도 하나의 데이터 파일에 포함되는 키-값 쌍의 키의 타입을 의미할 수 있다. 구체적으로, 적어도 하나의 데이터 파일에 포함되는 키-값 쌍의 키는 특정 식별 정보에 대응할 수 있고, 특정 식별 정보는 일정한 기준으로 분류될 수 있다. 예를 들어, 특정 식별 정보는 벤더 아이템(VENDOR_ITEM) 타입의 식별 정보일 수 있고, 카테고리(CATEGORY) 타입의 식별 정보일 수 있고, 멤버(MEMBER) 타입의 식별 정보일 수 있다.The identifier type (330) may mean the type of a key of a key-value pair included in at least one data file. Specifically, a key of a key-value pair included in at least one data file may correspond to specific identification information, and the specific identification information may be classified according to a certain standard. For example, the specific identification information may be identification information of a vendor item (VENDOR_ITEM) type, identification information of a category (CATEGORY) type, or identification information of a member (MEMBER) type.

저장 경로(340)는 적어도 하나의 데이터 파일 각각이 파일 데이터베이스에 저장된 경로를 나타낼 수 있다. The storage path (340) may represent a path where each of at least one data file is stored in the file database.

예를 들어, 식별자(310)가 2인 행은 도 3a의 A2.txt파일(302)에 대응될 수 있다. 즉, 식별자(310)가 2인 행의 저장 경로(340) 셀은 도A2.txt 파일(302)가 파일 데이터베이스 내에 저장된 경로를 포함할 수 있다. 식별자(310)가 2인 행을 참조하면, 생성 주체 식별자(320)는 CATEGORY_IMAGE로, 특정한 카테고리에 대응하는 이미지를 추가 / 변경 / 삭제 하는 작업을 의미할 수 있다. 이 경우, 식별자 타입(330)은 CATEGORY로 설정될 수 있다. 즉, 이 작업과 관련된 데이터 파일인 A2.txt파일(302)에 포함되는 키는 특정한 카테고리에 대응될 수 있다. 예를 들어, A2.txt파일(302) 에는 "티셔츠" 카테고리에 대응되는 키인 10001이 포함될 수 있고, "티셔츠" 카테고리에 대응하는 이미지를 변경하기 위하여 10001 키에 대응되는 값은 새로운 이미지의 URL(Uniform Resource Locator), 예를 들어 "retail/image01.png" 등일 수 있다. For example, a row with identifier (310) of 2 may correspond to file A2.txt (302) of FIG. 3A. That is, the storage path (340) cell of the row with identifier (310) of 2 may include a path where file A2.txt (302) of FIG. 3A is stored in the file database. Referring to the row with identifier (310) of 2, the creation subject identifier (320) may be CATEGORY_IMAGE, which may mean an operation of adding/changing/deleting an image corresponding to a specific category. In this case, the identifier type (330) may be set to CATEGORY. That is, a key included in file A2.txt (302), which is a data file related to this operation, may correspond to a specific category. For example, the A2.txt file (302) may include a key 10001 corresponding to the "T-shirt" category, and the value corresponding to the 10001 key to change the image corresponding to the "T-shirt" category may be the URL (Uniform Resource Locator) of the new image, for example, "retail/image01.png".

또한 예를 들어, 식별자(310)가 1인 행은 도 3a의 A1.txt 파일(301)에 대응될 수 있고, 식별자(310)가 3인 행은 도 3a의 A3.txt 파일(303)에 대응될 수 있고, 식별자(310)가 4인 행은 도 3a의 A4.txt 파일(304)에 대응될 수 있다.Also, for example, a row with an identifier (310) of 1 may correspond to the A1.txt file (301) of FIG. 3a, a row with an identifier (310) of 3 may correspond to the A3.txt file (303) of FIG. 3a, and a row with an identifier (310) of 4 may correspond to the A4.txt file (304) of FIG. 3a.

일 실시예에서, 적어도 하나의 데이터 파일이 업로드될 때, 각 데이터 파일에 포함되는 특정 식별 정보의 타입, 값의 타입, 그룹핑 여부 및 데이터 만료일 정보가 함께 업로드될 수 있다. In one embodiment, when at least one data file is uploaded, the type of specific identifying information contained in each data file, the type of value, whether grouped, and the data expiration date information may be uploaded together.

특정 식별 정보의 타입에는 예를 들어 PRODUCT, ITEM, VENDOR_ITEM, CATEGORY, VENDOR, MEMBER, UNKNOWN 등의 특정 식별 정보의 타입이 있을 수 있다. Types of specific identifying information may include, for example, types of specific identifying information such as PRODUCT, ITEM, VENDOR_ITEM, CATEGORY, VENDOR, MEMBER, UNKNOWN, etc.

값의 타입에는 예를 들어 TEXT, BOOLEAN, DOUBLE, LONG, UNKNOWN 등의 데이터 기술 타입이 포함될 수 있다. The type of a value can include data description types such as TEXT, BOOLEAN, DOUBLE, LONG, UNKNOWN, etc.

그룹핑 여부에는 값이 복수의 값의 세트일 수 있는지 여부가 포함될 수 있다. 예를 들어 그룹핑 여부가 "SINGLE"인 경우, 특정 식별 정보에 대응하는 값은 단일 값임을 의미할 수 있다. 다른 예를 들어, 그룹핑 여부가 "MULTI"인 경우, 특정 식별 정보에 대응하는 값은 복수 개이거나, 다른 키-값 쌍이 될 수 있음을 의미할 수 있다.The grouping may include whether the value can be a set of multiple values. For example, if the grouping is "SINGLE", this may mean that the value corresponding to a particular identifier is a single value. For another example, if the grouping is "MULTI", this may mean that the value corresponding to a particular identifier can be multiple, or other key-value pairs.

데이터 만료일 정보는 적어도 하나의 데이터 파일 각각이 유효한 기간을 의미할 수 있다. 즉, 데이터 만료일이 2022년 5월 16일로 지정된 경우, 데이터 파일은 2022년 5월 16일까지만 유효하며, 데이터 파일에 포함되는 정보 역시 2022년 5월 16일까지만 유효할 수 있다. 따라서, 데이터 파일에 포함되는 정보가 임시 데이터베이스에 이미 저장되어 있다고 해도, 이는 데이터 만료일인 2022년 5월 16일까지만 프론트 노드에 제공될 수 있다. 즉, 전자 장치(100)는 제2 데이터에 대한 데이터 만료일이 경과하지 않은 경우, 제2 데이터를 프론트 노드로 전송할 수 있다. 또한, 전자 장치(100)는 데이터 만료일로부터 기 설정된 기간 이전에 알림을 제공할 수 있다. 이는 사용자가 임시 데이터가 만료되기 전에 임시 데이터를 적절히 갱신할 수 있도록 하는 이점이 있다.The data expiration date information may indicate a valid period for each of at least one data file. That is, if the data expiration date is set to May 16, 2022, the data file is valid only until May 16, 2022, and the information included in the data file may also be valid only until May 16, 2022. Accordingly, even if the information included in the data file is already stored in the temporary database, it may be provided to the front node only until May 16, 2022, which is the data expiration date. That is, the electronic device (100) may transmit the second data to the front node if the data expiration date for the second data has not passed. In addition, the electronic device (100) may provide a notification prior to a preset period from the data expiration date. This has the advantage of allowing the user to appropriately update the temporary data before the temporary data expires.

도 4 는 본 개시에 따른 데이터 파일에 관한 정보에 포함될 수 있는 정보의 종류를 나타낸다. 애드혹 데이터 전달 오브젝트(AdHocDto, 410) 정보는 본 개시에 따른 임시 데이터에 관한 정보를 포함할 수 있다. 즉, 애드혹 데이터 전달 오브젝트(410)에 나타난 각 행은 도 3b 에 나타난 데이터 파일에 관한 정보, 즉 테이블의 열 정보일 수 있다. 따라서, 데이터 파일에 관한 정보에는 식별자(id) 정보, 제목(title) 정보, 설명(Description) 정보, 내용(Content) 정보, 식별자 타입(idType) 정보, 애드혹 생성일(또는 파일 생성일, createdAt) 정보, 애드혹 생성 주체(또는 파일 생성 주체, createdBy) 정보, 애드혹 수정일(또는 파일 수정일, modifiedAt) 정보, 애드혹 수정 주체(또는 파일 수정 주체, modifiedBy) 정보, 애드혹 데이터 또는 데이터 파일의 임시 데이터베이스 업로드 상태(status) 정보 및 데이터 파일의 저장 경로(s3Path) 정보 등이 포함될 수 있다.FIG. 4 illustrates types of information that may be included in information about a data file according to the present disclosure. Information about an ad hoc data transfer object (AdHocDto, 410) may include information about temporary data according to the present disclosure. That is, each row shown in the ad hoc data transfer object (410) may be information about a data file shown in FIG. 3b, that is, column information of a table. Accordingly, the information about the data file may include identifier (id) information, title information, description information, content information, identifier type (idType) information, ad hoc creation date (or file creation date, createdAt) information, ad hoc creation subject (or file creation subject, createdBy) information, ad hoc modification date (or file modification date, modifiedAt) information, ad hoc modification subject (or file modification subject, modifiedBy) information, temporary database upload status (status) information of ad hoc data or data file, and storage path (s3Path) information of the data file.

애드혹 데이터 전달 오브젝트(410)의 일부는 애드혹 데이터 히스토리 정보(AdHocDtoHistory, 430)일 수 있다. 애드혹 데이터 히스토리 정보(430)에는 식별자(id) 정보, 애드혹 식별자(adHocID)정보, 설명(Description) 정보, 애드혹 생성일(또는 파일 생성일, createdAt) 정보, 애드혹 생성 주체(또는 파일 생성 주체, createdBy) 정보 등이 포함될 수 있다.A part of the ad hoc data transfer object (410) may be ad hoc data history information (AdHocDtoHistory, 430). The ad hoc data history information (430) may include identifier (id) information, ad hoc identifier (adHocID) information, description (Description) information, ad hoc creation date (or file creation date, createdAt) information, ad hoc creation subject (or file creation subject, createdBy) information, etc.

식별자 타입(idType) 정보(420)에는 식별자 타입의 식별자(id) 정보 및 타입 정보가 포함될 수 있다.Identifier type (idType) information (420) may include identifier (id) information and type information of the identifier type.

각 정보(410, 420, 430)는 관리자에 의해 생성, 변경, 삭제될 수 있으며, 사용자에 의해 생성, 변경, 삭제될 수 있다. 각 정보의 관리를 위하여, 사용자의 권한은 관리자에 비해 축소될 수 있다. Each piece of information (410, 420, 430) can be created, changed, or deleted by the administrator, and can be created, changed, or deleted by the user. For the management of each piece of information, the user's authority can be reduced compared to that of the administrator.

도 5 는 본 개시에 따라 임시 데이터베이스에 저장될 수 있는 데이터의 테이블을 나타낸다. 일 실시예에서, 임시 데이터베이스는 적어도 하나의 테이블을 포함하고, 적어도 하나의 테이블 각각은 특정 식별 정보의 타입에 따라 서로 구별될 수 있다. 특정 식별 정보의 타입은 도 3b 에 나타난 식별자 타입(330)에 해당하는 것일 수 있다. 예를 들어, 벤더 아이템 테이블(510)은 도 3b 에 나타난 VENDOR_ITEM 타입의 특정 식별 정보 및 해당 특정 식별 정보에 대응하는 값들을 테이블 형태로 포함할 수 있다. FIG. 5 illustrates a table of data that may be stored in a temporary database according to the present disclosure. In one embodiment, the temporary database includes at least one table, and each of the at least one table may be distinguished from each other according to a type of specific identification information. The type of specific identification information may correspond to the identifier type (330) shown in FIG. 3b. For example, the vendor item table (510) may include specific identification information of the VENDOR_ITEM type shown in FIG. 3b and values corresponding to the specific identification information in the form of a table.

예를 들어, 도 3b의 식별자(310)가 1인 행의 특정 식별 정보의 타입, 즉, 식별자 타입(310)은 VENDOR_ITEM이다. 도 3b의 식별자(310)가 1인 행은 도 3a의 A1.txt 파일(301)에 대응된다. 도 3b의 식별자(310)가 1인 행은 생성 주체 식별자(320)가 VI_BEST_SELLER_RANKING 이므로, 벤더 아이템 테이블(510)의 두 번째 열의 제목은 VI_BEST_SELLER_RANKING으로 설정될 수 있다. 그리고, A1.txt 파일(301)은 특정 식별 정보 10001에 대응하는 값 2 및 특정 식별 정보 10002에 대응하는 값 3을 포함하므로, 벤더 아이템 테이블(510)의 두 번째 열에서 특정 식별 정보가 10001인 행 및 10002인 행에 대응하는 셀에 값 2 및 3을 각각 기록할 수 있다. For example, the type of specific identification information of a row in which the identifier (310) of FIG. 3b is 1, that is, the identifier type (310) is VENDOR_ITEM. The row in which the identifier (310) of FIG. 3b is 1 corresponds to the A1.txt file (301) of FIG. 3a. Since the generation subject identifier (320) of the row in which the identifier (310) of FIG. 3b is 1 is VI_BEST_SELLER_RANKING, the title of the second column of the vendor item table (510) can be set to VI_BEST_SELLER_RANKING. And, since the A1.txt file (301) includes the value 2 corresponding to the specific identification information 10001 and the value 3 corresponding to the specific identification information 10002, the values 2 and 3 can be recorded in the cells corresponding to the rows with the specific identification information 10001 and 10002, respectively, in the second column of the vendor item table (510).

다음으로, 도 3b의 식별자(310)가 3인 행의 특정 식별 정보의 타입 역시 VENDOR_ITEM이다. 도 3b의 식별자(310)가 3인 행은 도 3a의 A3.txt 파일(303)에 대응된다. 도 3b의 식별자(310)가 3인 행은 생성 주체 식별자(320)가 VI_FRESH_PROMOTION 이므로, 벤더 아이템 테이블(510)의 세 번째 열의 제목은 VI_FRESH_PROMOTION 으로 설정될 수 있다. 그리고, A3.txt 파일(303)은 특정 식별 정보 10001에 대응하는 값 3000을 포함하므로, 이를 벤더 아이템 테이블(510)의 세 번째 열에서 특정 식별 정보가 10001인 행에 대응하는 셀에 3000을 기록할 수 있다.Next, the type of specific identification information of the row whose identifier (310) of FIG. 3b is 3 is also VENDOR_ITEM. The row whose identifier (310) of FIG. 3b is 3 corresponds to the A3.txt file (303) of FIG. 3a. Since the generation subject identifier (320) of the row whose identifier (310) of FIG. 3b is 3 is VI_FRESH_PROMOTION, the title of the third column of the vendor item table (510) can be set to VI_FRESH_PROMOTION. In addition, since the A3.txt file (303) includes the value 3000 corresponding to the specific identification information 10001, 3000 can be recorded in the cell corresponding to the row whose specific identification information is 10001 in the third column of the vendor item table (510).

다음으로, 도 3b의 식별자(310)가 4인 행의 특정 식별 정보의 타입은 MEMBER 이다. 도 3b의 식별자(310)가 4인 행은 도 3a의 A4.txt 파일(304)에 대응된다. 도 3b의 식별자(310)가 4인 행은 생성 주체 식별자(320)가 MEMBER_FREE_SHIPPING 이므로, 멤버 테이블(520)의 두 번째 열의 제목은 MEMBER_FREE_SHIPPING 으로 설정될 수 있다. 그리고, A4.txt 파일(304)은 특정 식별 정보 19101053에 대응하는 값 true를 포함하므로, 이를 멤버 테이블(520)의 두 번째 열에서 특정 식별 정보가 19101053인 행에 대응하는 셀에 true를 기록할 수 있다.Next, the type of specific identification information of the row in which the identifier (310) of FIG. 3b is 4 is MEMBER. The row in which the identifier (310) of FIG. 3b is 4 corresponds to the A4.txt file (304) of FIG. 3a. Since the generating subject identifier (320) of the row in which the identifier (310) of FIG. 3b is 4 is MEMBER_FREE_SHIPPING, the title of the second column of the member table (520) can be set to MEMBER_FREE_SHIPPING. In addition, since the A4.txt file (304) includes the value true corresponding to the specific identification information 19101053, true can be recorded in the cell corresponding to the row in which the specific identification information is 19101053 in the second column of the member table (520).

마지막으로, 도 3b의 식별자(310)가 2인 행의 특정 식별 정보의 타입은 CATEGORY이다. 도 3b의 식별자(310)가 2인 행은 도 3a의 A2.txt 파일(302)에 대응된다. 도 3b의 식별자(310)가 2인 행은 생성 주체 식별자(320)가 CATEGORY_IMAGE 이므로, 카테고리 테이블(530)의 두 번째 열의 제목은 CATEGORY_IMAGE 으로 설정될 수 있다. 그리고, A2.txt 파일(302)은 특정 식별 정보 10001에 대응하는 값 retail/image01.png를 포함하므로, 카테고리 테이블(530)의 두 번째 열에서 특정 식별 정보가 10001인 행에 대응하는 셀에 retail/image01.png를 기록할 수 있다.Finally, the type of specific identification information of the row whose identifier (310) of FIG. 3b is 2 is CATEGORY. The row whose identifier (310) of FIG. 3b is 2 corresponds to the A2.txt file (302) of FIG. 3a. Since the creator identifier (320) of the row whose identifier (310) of FIG. 3b is 2 is CATEGORY_IMAGE, the title of the second column of the category table (530) can be set to CATEGORY_IMAGE. In addition, since the A2.txt file (302) includes the value retail/image01.png corresponding to the specific identification information 10001, retail/image01.png can be recorded in the cell corresponding to the row whose specific identification information is 10001 in the second column of the category table (530).

상술한 것과 같이 임시 데이터베이스의 적어도 하나의 테이블을 특정 식별 정보의 타입에 따라 구별하는 것은, 프론트 노드, 서빙 레이어, 객체 데이터 제공 API또는 셔틀로부터의 제1 데이터 요청 또는 제2 데이터 요청이 특정 식별 정보의 타입 및 특정 식별 정보에 관한 것인 경우 임시 데이터베이스로부터 신속하게 제2 데이터를 획득할 수 있는 이점을 가진다.Distinguishing at least one table of the temporary database according to the type of specific identification information as described above has the advantage of allowing the second data to be quickly obtained from the temporary database when a first data request or a second data request from the front node, the serving layer, the object data providing API, or the shuttle is about the type of specific identification information and the specific identification information.

도 6 은 본 개시에 따른 제2 데이터 요청 및 제2 데이터 요청에 대응하는 응답을 나타낸다. 일 실시예에서, 제2 데이터 요청은 특정 식별 정보를 포함할 수 있다. 도 6 에 나타난 제2 데이터 요청은 "vi": 10001 에 해당한다. vi는 특정 식별 정보의 타입 중 VENDOR_ITEM타입을 의미하고, 10001은 특정 식별 정보의 값에 해당한다. 즉, 도 6 의 제2 데이터 요청은 VENDOR_ITEM 타입의 특정 식별 정보가 10001인 제2 데이터를 요청하는 것을 의미한다. FIG. 6 illustrates a second data request and a response corresponding to the second data request according to the present disclosure. In one embodiment, the second data request may include specific identification information. The second data request illustrated in FIG. 6 corresponds to "vi": 10001. vi means a VENDOR_ITEM type among types of specific identification information, and 10001 corresponds to a value of the specific identification information. That is, the second data request of FIG. 6 means requesting second data whose specific identification information of the VENDOR_ITEM type is 10001.

제2 데이터 요청은 제1 데이터 요청 또는 제1 데이터를 기초로 생성된 것일 수 있다. 예를 들어, 제1 데이터 요청 자체가 VENDOR_ITEM 타입의 특정 식별 정보가 10001인 제2 데이터를 요청하는 것을 포함할 수도 있고, 제1 데이터 요청에 따라 획득된 제1 데이터가 VENDOR_ITEM 타입의 특정 식별 정보가 10001인 객체에 대한 정보를 포함하기 때문에, 제2 데이터 요청이 제1 데이터에 의해 생성된 것일 수 있다.The second data request may be generated based on the first data request or the first data. For example, the first data request itself may include requesting second data having a specific identification information of the VENDOR_ITEM type of 10001, and the second data request may be generated by the first data because the first data obtained according to the first data request includes information about an object having a specific identification information of the VENDOR_ITEM type of 10001.

셔틀 또는 객체 데이터 제공 API는 도 6 에 나타난 제2 데이터 요청을 임시 데이터베이스에 전송할 수 있고, 도 6 에 나타난 응답을 생성할 수 있다. 도 5 에 따르면, VENDOR_ITEM 타입의 특정 식별 정보 및 그에 대응하는 데이터를 저장하는 벤더 아이템 테이블(510)에는 특정 식별 정보가 10001인 행이 존재한다. 따라서, 셔틀 도는 객체 데이터 제공 API는 벤더 아이템 테이블(510)의 특정 식별 정보가 10001인 두 번째 행의 값들인 2 및 3, 그리고 각각의 열 이름인 VI_BEST_SELLER_RANKING 및 VI_FRESH_PROMOTION을 획득할 수 있다. 셔틀 또는 객체 데이터 제공 API는 이를 이용하여 제2 데이터를 포함하는 응답을 도 6 과 같이 생성할 수 있다. The shuttle or object data providing API can transmit the second data request shown in FIG. 6 to the temporary database, and can generate the response shown in FIG. 6. According to FIG. 5, in the vendor item table (510) storing specific identification information of the VENDOR_ITEM type and data corresponding thereto, there is a row whose specific identification information is 10001. Accordingly, the shuttle or object data providing API can obtain the values 2 and 3 of the second row of the vendor item table (510) whose specific identification information is 10001, and the column names VI_BEST_SELLER_RANKING and VI_FRESH_PROMOTION, respectively. The shuttle or object data providing API can use this to generate a response including the second data as shown in FIG. 6.

일 실시예에서, 제2 데이터는 제1 데이터 요청 또는 제2 데이터 요청에 대응하는 적어도 하나의 키-값 쌍을 포함할 수 있다. 도 6 에 나타난 것과 같이, 제2 데이터는 키-값 쌍의 형태로 기술될 수 있다. 구체적으로, 제2 데이터는 JSON 포맷으로 기술될 수 있다. 제2 데이터에 포함되는 키-값 쌍의 키는 키에 대응하는 값을 생성한 주체를 식별하는 정보일 수 있다. 즉, 제2 데이터에 포함되는 키-값 쌍의 키는 생성 주체 식별자일 수 있다.In one embodiment, the second data may include at least one key-value pair corresponding to the first data request or the second data request. As shown in FIG. 6, the second data may be described in the form of key-value pairs. Specifically, the second data may be described in JSON format. The key of the key-value pair included in the second data may be information identifying the subject who created the value corresponding to the key. That is, the key of the key-value pair included in the second data may be a generating subject identifier.

예를 들어, 도 6 에 나타난 것과 같이 제2 데이터는 키 VI_BEST_SELLER_RANKING에 대응하는 값 2의 제1 키-값 쌍 및 키 VI_FRESH_PROMOTION에 대응하는 값 3의 제2 키-값 쌍이 될 수 있다. 제1 키-값 쌍 및 제2 키-값 쌍은 도 6과 같이 제2 데이터 응답에 포함될 수 있고, 제2 데이터 응답에는 제2 데이터가 VENDOR_ITEM 타입의 특정 식별 정보에 대응하는 것임을 의미하는 "vendorItem" 키가 포함될 수 있다. 또한, 제2 데이터 응답에는 제2 데이터가 임시 데이터임을 의미하는 "adhocProperties" 키가 포함될 수 있다.For example, as shown in FIG. 6, the second data can be a first key-value pair with a value 2 corresponding to a key VI_BEST_SELLER_RANKING and a second key-value pair with a value 3 corresponding to a key VI_FRESH_PROMOTION. The first key-value pair and the second key-value pair can be included in a second data response as shown in FIG. 6, and the second data response can include a "vendorItem" key indicating that the second data corresponds to specific identifying information of the VENDOR_ITEM type. Additionally, the second data response can include an "adhocProperties" key indicating that the second data is temporary data.

도 7 은 본 개시에 따른 데이터 제공 방법의 일 실시예를 나타낸다. 구체적으로, 도 7 은 사용자가 업로드한 데이터 파일의 정보를 기초로 임시 데이터베이스의 적어도 하나의 테이블을 갱신하는 과정을 나타낸다. 애드혹 백엔드(710)는 전자 장치(100)에 포함되는 모듈일 수 있다. Amazon RDS(720)는 파일 정보 데이터베이스에 대응될 수 있다. Amazon S3(730)는 작업 구성 파일 데이터베이스에 대응될 수 있다. Apache Airflow(740)는 전자 장치(100)에 포함되는 모듈일 수 있다. FIG. 7 illustrates an embodiment of a data providing method according to the present disclosure. Specifically, FIG. 7 illustrates a process of updating at least one table of a temporary database based on information of a data file uploaded by a user. An ad hoc backend (710) may be a module included in an electronic device (100). Amazon RDS (720) may correspond to a file information database. Amazon S3 (730) may correspond to a job configuration file database. Apache Airflow (740) may be a module included in an electronic device (100).

일 실시예에서, 단계 S701에 따라, 애드혹 백엔드(710)는 Amazon S3(730)에서 adhoc_base.yaml 파일로부터 airflow 작업 기초 구성 파일을 가져올 수 있다. adhoc_base.yaml 파일 또는 airflow 작업 기초 구성 파일은 임시 데이터베이스의 적어도 하나의 테이블을 갱신하기 위한 공통적인 설정, 명령 또는 시퀀스를 포함할 수 있다.In one embodiment, according to step S701, the ad hoc backend (710) can retrieve the airflow job base configuration file from the adhoc_base.yaml file in Amazon S3 (730). The adhoc_base.yaml file or the airflow job base configuration file can include common settings, commands, or sequences for updating at least one table in the temporary database.

일 실시예에서, 단계 S702에 따라, 애드혹 백엔드(710)는 각 airflow 작업을 트리거하는 것에 대한 기초 구성의 캐시를 만들 수 있다. 즉, 애드혹 백엔드(710)는 작업 기초 구성 파일을 기초로 기초 구성 정보를 캐싱할 수 있다.In one embodiment, according to step S702, the ad hoc backend (710) can create a cache of the base configuration for triggering each airflow task. That is, the ad hoc backend (710) can cache the base configuration information based on the task base configuration file.

일 실시예에서, 단계 S703에 따라, 사용자는 Adhoc.id에 대한 발행 버튼을 클릭할 수 있다. 즉, 사용자는 파일 데이터베이스에 이미 업로드된 적어도 하나의 데이터 파일을 발행하여 임시 데이터베이스를 갱신하도록 명령할 수 있다.In one embodiment, according to step S703, the user may click on the publish button for Adhoc.id. That is, the user may instruct to update the temporary database by publishing at least one data file already uploaded to the file database.

일 실시예에서, 단계 S704에 따라, 애드혹 백엔드(710)는 사용자의 발행 버튼 클릭에 대응하여 애드혹 상태를 '활성화됨'으로 설정할 수 있다. 애드혹 상태는 임시 데이터베이스를 갱신할 때 임시 데이터베이스에 새롭게 업데이트되는 데이터 파일에 포함된 정보의 활성화 여부를 의미할 수 있다. 애드혹 상태가 활성화된 경우, 대응되는 임시 데이터베이스의 정보가 셔틀에 의해 프론트 노드로 전달될 수 있다. 애드혹 상태 정보는 Amazon RDS(720)에 기록될 수 있다.In one embodiment, according to step S704, the ad hoc backend (710) may set the ad hoc status to 'activated' in response to the user's click on the publish button. The ad hoc status may mean whether information included in a data file newly updated in the temporary database is activated when updating the temporary database. If the ad hoc status is activated, information of the corresponding temporary database may be transferred to the front node by the shuttle. The ad hoc status information may be recorded in Amazon RDS (720).

일 실시예에서, 단계 S705에 따라, 애드혹 백엔드(710)는 활성화된 상태의 모든 애드혹 리스트를 Amazon RDS(720)로부터 쿼리할 수 있다. 애드혹 리스트는 파일 정보 데이터베이스, 즉, Amazon RDS(720)에 저장된 데이터 파일의 정보를 의미할 수 있다. 즉, 애드혹 리스트는 도 3b의 테이블에 대응되는 것일 수 있다.In one embodiment, according to step S705, the ad hoc backend (710) may query all ad hoc lists in an activated state from Amazon RDS (720). The ad hoc list may mean information of a file information database, i.e., information of a data file stored in Amazon RDS (720). That is, the ad hoc list may correspond to the table of FIG. 3b.

일 실시예에서, 단계 S706에 따라, 애드혹 백엔드(710)는 Airflow 작업을 위한 설정을 만들 수 있다. 이 설정은 단계 S702에서 캐시된 기초 구성에 기초할 수 있다. 또한, 애드혹 백엔드(710)는 애드혹 리스트로 yaml 파일의 입력 세션을 만들 수 있다. 이를 통해 애드혹 백엔드(710)는 임시 데이터베이스의 갱신 작업에 대한 작업 구성 파일을 구성할 수 있다.In one embodiment, according to step S706, the ad hoc backend (710) can create a configuration for an Airflow job. This configuration can be based on the basic configuration cached in step S702. In addition, the ad hoc backend (710) can create an input session of a yaml file as an ad hoc list. This allows the ad hoc backend (710) to configure a job configuration file for an update task of a temporary database.

일 실시예에서, 단계 S707에 따라, 애드혹 백엔드(710)는 adhoc_{ID_TYPE}.yaml 파일을 Amazon S3(730)에 업로드할 수 있다. adhoc_{ID_TYPE}.yaml 파일은 적어도 하나의 데이터 파일에서 특정 식별 정보의 타입이 ID_TYPE인 키-값 쌍에 해당하는 정보를 기초로 임시 데이터베이스에서 특정 식별 정보의 타입이 ID_TYPE인 테이블을 갱신하기 위한 작업의 설정을 포함하는 작업 구성 파일일 수 있다. 예를 들어, 도 5의 벤더 아이템 테이블(510)은 adhoc_vendorItem.yaml 파일을 참조하여 갱신될 수 있다.In one embodiment, according to step S707, the ad hoc backend (710) can upload an adhoc_{ID_TYPE}.yaml file to Amazon S3 (730). The adhoc_{ID_TYPE}.yaml file can be a job configuration file that includes settings for a job to update a table in a temporary database whose type of specific identification information is ID_TYPE based on information corresponding to key-value pairs whose type of specific identification information is ID_TYPE in at least one data file. For example, the vendor item table (510) of FIG. 5 can be updated by referencing the adhoc_vendorItem.yaml file.

일 실시예에서, 단계 S708에 따라, Apache Airflow(740)는 작업을 위해 yaml 파일을 Amazon S3(730)로부터 가져올 수 있다. Apache Airflow(740)는 yaml 파일을 참조하여 단계 S709에 따라 파싱할 각 csv, text 파일을 Amazon S3(730)로부터 가져올 수 있다. csv, text 파일은 적어도 하나의 데이터 파일에 대응될 수 있다.In one embodiment, according to step S708, Apache Airflow (740) can retrieve a yaml file from Amazon S3 (730) for the task. Apache Airflow (740) can retrieve each csv, text file to be parsed according to step S709 from Amazon S3 (730) by referencing the yaml file. The csv, text file can correspond to at least one data file.

일 실시예에서, 단계 S710에 따라, Apache Airflow(740)는 카산드라의 신규 테이블을 생성할 수 있다. 카산드라는 임시 데이터베이스에 대응되는 것일 수 있다. 이 과정에서, 카산드라의 기존 테이블은 드랍할 수 있다. 즉, Apache Airflow(740)는 카산드라 또는 임시 데이터베이스에 저장된 테이블에 대응되는 테이블을 새로 생성하고, 임시 데이터베이스에 저장된 테이블을 새로 생성된 테이블로 교체 또는 치환할 수 있다. 이러한 방법은 카산드라 또는 임시 데이터베이스의 테이블에 적어도 하나의 파일의 정보를 모두 덮어쓰기하는 것보다 더 빠르게 임시 데이터베이스를 갱신할 수 있는 이점이 있다. 즉, 일 실시예에서 적어도 하나의 테이블 각각은 적어도 하나의 테이블 각각에 대응하는 작업 구성 파일을 기초로 구성되는 테이블로 교체됨으로써 갱신될 수 있다.In one embodiment, according to step S710, Apache Airflow (740) can create a new table of Cassandra. Cassandra may correspond to a temporary database. In this process, an existing table of Cassandra can be dropped. That is, Apache Airflow (740) can create a new table corresponding to a table stored in Cassandra or a temporary database, and replace or substitute the table stored in the temporary database with the newly created table. This method has an advantage of updating the temporary database faster than overwriting all information of at least one file in a table of Cassandra or a temporary database. That is, in one embodiment, each of at least one table can be updated by being replaced with a table configured based on a task configuration file corresponding to each of at least one table.

도 8 은 본 개시에 따른 방법의 일 실시예를 나타낸다. 구체적으로, 도 8 은 새로운 데이터를 프론트 노드로 전달하기 위한 방법을 나타낸다. Apache Airflow(810)는 조인-라이터(Join-Writer, 811)를 포함할 수 있다. 일 실시예에서, 조인-라이터(811)는 테이블을 서로 조인(join)하는 작업을 하는 모듈일 수 있다. 조인-라이터(811)는 조인 테이블을 생성하고, 새로운 데이터를 조인 테이블에 쓴 다음, CDS(Cassandra Data Server, 812)를 갱신할 수 있다. CDS(812)는 메인 데이터베이스에 대응하는 것일 수 있다. 셔틀(813)은 CDS(812)로부터 새로운 데이터를 획득할 수 있고, 객체 데이터 제공 api(814)는 각 id를 기초로 데이터를 가져올 수 있다. 여기서 id는 특정 식별 정보일 수 있다. 객체 데이터 제공 api(814)는 새로운 데이터를 서빙 레이어(815)로 전달하여, 새로운 데이터가 프론트 노드로 전달되도록 할 수 있다.FIG. 8 illustrates an embodiment of a method according to the present disclosure. Specifically, FIG. 8 illustrates a method for transmitting new data to a front node. Apache Airflow (810) may include a Join-Writer (811). In one embodiment, the Join-Writer (811) may be a module that performs a task of joining tables with each other. The Join-Writer (811) may create a join table, write new data to the join table, and then update the CDS (Cassandra Data Server, 812). The CDS (812) may correspond to a main database. The Shuttle (813) may obtain new data from the CDS (812), and the Object Data Providing API (814) may bring in data based on each id. Here, the id may be specific identification information. The object data provision API (814) can deliver new data to the serving layer (815) so that the new data can be delivered to the front node.

다른 실시예에서, Apache Airflow(820)는 조인-라이터(821) 및 애드혹 라이터(822)를 포함할 수 있다. 애드혹 라이터(822)는 새로운 데이터를 임시 데이터베이스에 저장하는 작업을 하는 모듈일 수 있다. 조인-라이터(823)는 조인 테이블을 생성하고, 새로운 데이터를 조인 테이블에 쓴 다음, CDS(823)를 갱신할 수 있다. CDS(823)는 메인 데이터베이스에 대응하는 것일 수 있다. 셔틀(824)은 CDS(823)로부터 새로운 데이터를 획득할 수 있고, 객체 데이터 제공 api(827)는 각 id를 기초로 데이터를 가져올 수 있다. 여기서 id는 특정 식별 정보일 수 있다. 객체 데이터 제공 api(827)는 새로운 데이터를 서빙 레이어(828)로 전달하여, 새로운 데이터가 프론트 노드로 전달되도록 할 수 있다.In another embodiment, Apache Airflow (820) may include a join-writer (821) and an ad-hoc writer (822). The ad-hoc writer (822) may be a module that stores new data in a temporary database. The join-writer (823) may create a join table, write new data to the join table, and then update the CDS (823). The CDS (823) may correspond to the main database. The shuttle (824) may obtain new data from the CDS (823), and the object data provision API (827) may retrieve data based on each id. Here, the id may be specific identification information. The object data provision API (827) may forward the new data to the serving layer (828), so that the new data may be forwarded to the front node.

또는, 조인-라이터(823) 및 애드혹 라이터(822)는 새로운 데이터를 포함하는 조인 데이터 및 애드혹 데이터를 같은 테이블에 쓴 다음, CDS(825)를 갱신할 수 있다. CDS(825)는 메인 데이터베이스 또는 임시 데이터베이스에 대응하는 것일 수 있다. 셔틀(826)은 CDS(825)로부터 새로운 데이터를 획득할 수 있고, 객체 데이터 제공 api(827)는 각 id를 기초로 데이터를 가져올 수 있다. 여기서 id는 특정 식별 정보일 수 있다. 객체 데이터 제공 api(827)는 새로운 데이터를 서빙 레이어(828)로 전달하여, 새로운 데이터가 프론트 노드로 전달되도록 할 수 있다.Alternatively, the join-writer (823) and the ad-hoc writer (822) can write the join data and the ad-hoc data including the new data to the same table, and then update the CDS (825). The CDS (825) may correspond to the main database or the temporary database. The shuttle (826) can obtain the new data from the CDS (825), and the object data providing API (827) can retrieve the data based on each id, where the id can be a specific identification information. The object data providing API (827) can pass the new data to the serving layer (828), so that the new data can be passed to the front node.

도 9 는 본 개시에 따른 방법의 일 실시예를 나타낸다. 도 9 에 나타난 각 구성요소는 도 1 내지 도 8에서 설명된 동일한 명칭의 구성요소에 각각 대응되는 것일 수 있다. 사용자(901)는 적어도 하나의 데이터 파일을 애드혹 서비스(903)의 애드혹 UI를 통해 업로드할 수 있다. 적어도 하나의 데이터 파일은 파일 데이터베이스 또는 S3(905)에 업로드될 수 있다. 업로드된 적어도 하나의 데이터 파일에 대한 정보는 파일 정보 데이터베이스 또는 RDS(904)에 업로드될 수 있다. FIG. 9 illustrates an embodiment of a method according to the present disclosure. Each component shown in FIG. 9 may correspond to a component of the same name described in FIGS. 1 to 8, respectively. A user (901) may upload at least one data file through an ad hoc UI of an ad hoc service (903). The at least one data file may be uploaded to a file database or S3 (905). Information about the at least one uploaded data file may be uploaded to a file information database or RDS (904).

사용자(901)는 활성 테스트 리스트를 트리거하여, 데이터 추출기(906)의 작업을 트리거할 수 있다. 활성 테스트 리스트는 파일 정보 데이터베이스 또는 S3(905)에서 애드혹 상태가 활성화된 파일의 리스트를 의미하는 것일 수 있다. 데이터 추출기(906)는 제공하는 테이블 및 열(column)의 이름을 동적 설정 데이터베이스(907)에 업로드할 수 있다. 제공하는 테이블 및 열은 임시 데이터베이스 또는 CDS(909)에서 갱신된(갱신될) 테이블 및 갱신된(갱신될) 열을 의미할 수 있다. 동적 설정 데이터베이스(907)은 갱신된 테이블 및 열의 이름을 셔틀(908)에 알릴 수 있다. The user (901) can trigger the active test list to trigger the operation of the data extractor (906). The active test list may mean a list of files in which an ad hoc state is activated in the file information database or S3 (905). The data extractor (906) can upload the names of the tables and columns provided to the dynamic configuration database (907). The tables and columns provided may mean tables that have been (or will be) updated and columns that have been (or will be) updated in the temporary database or CDS (909). The dynamic configuration database (907) can inform the shuttle (908) of the names of the updated tables and columns.

서빙 레이어(912)는 리스팅 API(913), 검색 API(914), 프로모션 API(915)를 포함할 수 있다. 서빙 레이어(913)는 제1 데이터 요청을 객체 데이터 제공 API(911)로 전송할 수 있다. 객체 데이터 제공 API(911)는 제1 데이터 요청을 기초로 메인 데이터베이스에서 제1 데이터를 획득할 수 있다. 객체 데이터 제공 API(911)는 제1 데이터 요청 또는 제1 데이터를 기초로 제2 데이터 요청을 생성할 수 있다. 객체 데이터 제공 API(911)는 제2 데이터 요청을 셔틀(908)에 전송할 수 있다. 셔틀(908)은 제2 데이터 요청에 대응하여 임시 데이터베이스(919) 또는 캐시(910)로부터 제2 데이터를 객체 데이터 제공 API(911)로 제공할 수 있고, 객체 데이터 제공 API(911)는 제1 데이터 및 제2 데이터를 서빙 레이어(912)로 전달하여 제1 데이터 및 제2 데이터가 프론트 노드로 전달되도록 할 수 있다.The serving layer (912) may include a listing API (913), a search API (914), and a promotion API (915). The serving layer (913) may transmit a first data request to the object data providing API (911). The object data providing API (911) may obtain first data from the main database based on the first data request. The object data providing API (911) may generate a second data request based on the first data request or the first data. The object data providing API (911) may transmit the second data request to the shuttle (908). The shuttle (908) may provide second data from the temporary database (919) or the cache (910) to the object data providing API (911) in response to the second data request, and the object data providing API (911) may transmit the first data and the second data to the serving layer (912) so that the first data and the second data may be transmitted to the front node.

도 10 은 본 개시에 따른 방법의 일 실시예를 나타낸다. 도 10 에 나타난 각 구성요소는 도 1 내지 도 9에서 설명된 동일한 명칭의 구성요소에 각각 대응되는 것일 수 있다.Fig. 10 illustrates one embodiment of a method according to the present disclosure. Each component shown in Fig. 10 may correspond to a component of the same name described in Figs. 1 to 9.

일 실시예에서, 단계 S1001에 따라, 사용자는 애드혹 UI(1010)를 통해 새로운 데이터 파일을 생성하거나, 기존의 데이터 파일을 갱신할 수 있다. 단계 S1002에 따라, 애드혹 UI(1010)는 애드혹 서버(1020)의 /api/file/upload를 호출할 수 있다. /api/file/upload 는 데이터 파일의 업로드를 수행하는 명령어를 의미할 수 있다. 애드혹 서버(1020)는 전자 장치(100)에 포함되는 모듈일 수 있다.In one embodiment, according to step S1001, a user can create a new data file or update an existing data file through an ad hoc UI (1010). According to step S1002, the ad hoc UI (1010) can call /api/file/upload of an ad hoc server (1020). /api/file/upload may mean a command for performing upload of a data file. The ad hoc server (1020) may be a module included in the electronic device (100).

단계 S1003에 따라, 파일 데이터베이스 또는 S3(1030)는 특정 식별 정보의 타입 및 제목을 먼저 파일 정보 데이터베이스(1040)에 저장할 수 있다. 여기서 제목은 파일을 생성한 주체의 식별자, 즉, 도 3b의 생성 주체 식별자(320)에 대응하는 것일 수 있다.According to step S1003, the file database or S3 (1030) may first store the type and title of specific identification information in the file information database (1040). Here, the title may correspond to the identifier of the entity that created the file, i.e., the creation entity identifier (320) of FIG. 3b.

단계 S1004에 따라, 파일 정보 데이터베이스(1040)는 저장 결과 및 식별자를 리턴할 수 있다. 여기서 식별자는 도 3b의 식별자(310)에 대응하는 것일 수 있다.According to step S1004, the file information database (1040) may return a storage result and an identifier. Here, the identifier may correspond to the identifier (310) of FIG. 3b.

단계 S1005에 따라, 애드혹 서버(1020)는 파일 데이터베이스 또는 S3(1030)에 적어도 하나의 파일을 업로드할 수 있다. 파일 데이터베이스 또는 S3(1030)는 단계 S1006에 따라, 업로드 결과를 애드혹 서버(1020)로 리턴할 수 있다.According to step S1005, the ad hoc server (1020) can upload at least one file to the file database or S3 (1030). The file database or S3 (1030) can return the upload result to the ad hoc server (1020) according to step S1006.

애드혹 서버(1020)는 단계 S1007에 따라 이전 id와 함께 s3 경로를 파일 정보 데이터베이스(1040)에 저장할 수 있다. 이전 id는 도 3b의 식별자(310)에 대응하는 것일 수 있고, 파일이 업로드되거나 갱신되기 이전의 식별자(310)를 의미할 수 있다.The ad hoc server (1020) may store the s3 path together with the previous id in the file information database (1040) according to step S1007. The previous id may correspond to the identifier (310) of FIG. 3B and may mean the identifier (310) before the file is uploaded or updated.

단계 S1008에 따라, 파일 정보 데이터베이스(1040)는 업로드 성공을 애드혹 서버(1020)로 알리고, 애드혹 서버(1020)는 단계 S1009에 따라 애드혹 UI(1010)에 업로드 성공 UI(S1010)를 표시하도록 할 수 있다.According to step S1008, the file information database (1040) notifies the ad hoc server (1020) of the upload success, and the ad hoc server (1020) can display the upload success UI (S1010) on the ad hoc UI (1010) according to step S1009.

도 11 은 본 개시에 따른 애드혹 UI(1110)의 일 실시예를 나타낸다. 애드혹 UI(1110)는 파일 정보 데이터베이스에 기초하여 애드혹 서비스(임시 서비스)의 리스트(1114)를 표시할 수 있다. 애드혹 서비스 또는 임시 서비스는 파일 정보 데이터베이스에 업로드된 적어도 하나의 데이터 파일 각각에 대응되는 것일 수 있다.FIG. 11 illustrates an embodiment of an ad hoc UI (1110) according to the present disclosure. The ad hoc UI (1110) can display a list (1114) of ad hoc services (temporary services) based on a file information database. The ad hoc services or temporary services can correspond to each of at least one data file uploaded to the file information database.

애드혹 UI(1110)는 검색 창(1111) 및 검색 버튼(1112)을 포함하여, 사용자는 리스트(1114)의 열 이름을 기초로 정보를 검색할 수 있다. The ad hoc UI (1110) includes a search window (1111) and a search button (1112), so that a user can search for information based on column names in a list (1114).

애드혹 UI(1110)는 신규 버튼(1113)을 포함할 수 있고, 사용자는 신규 버튼(1113)을 클릭하여, 데이터베이스(1120)에 적어도 하나의 파일을 업로드할 수 있다.The ad hoc UI (1110) may include a new button (1113), and a user may click the new button (1113) to upload at least one file to the database (1120).

애드혹 UI(1110)는 갱신 버튼(1115)을 포함할 수 있고, 사용자는 갱신 버튼(1115)을 클릭하여 데이터베이스(1120)에 업로드된 적어도 하나의 파일을 갱신할 수 있다.The ad hoc UI (1110) may include a refresh button (1115), and a user may click the refresh button (1115) to refresh at least one file uploaded to the database (1120).

애드혹 UI(1110)는 다운로드 버튼(1116)을 포함할 수 있고, 사용자는 다운로드 버튼(1116)을 클릭하여 데이터베이스(1120)에 업로드된 적어도 하나의 파일을 다운로드할 수 있다.The ad hoc UI (1110) may include a download button (1116), and a user may click the download button (1116) to download at least one file uploaded to the database (1120).

애드혹 UI(1110)는 삭제 버튼(1117)을 포함할 수 있고, 사용자는 삭제 버튼(1117)을 클릭하여 데이터베이스(1120)에 업로드된 적어도 하나의 파일을 삭제할 수 있다. 이 때, 애드혹 UI(1110)는 확인 창(1130)을 포함하여, 삭제 여부를 사용자에게 다시 한번 확인할 수 있다.The ad hoc UI (1110) may include a delete button (1117), and the user may click the delete button (1117) to delete at least one file uploaded to the database (1120). At this time, the ad hoc UI (1110) may include a confirmation window (1130) to confirm with the user whether to delete or not.

도 12 는 본 개시에 따른 애드혹 UI(1200)의 일 실시예를 나타낸다. 구체적으로, 애드혹 UI(1200)는 애드혹 서비스, 즉 임시 서비스를 신규 생성 또는 편집하기 위한 인터페이스를 나타낸다. 애드혹 UI(1200)는 비즈니스 ID 입력 필드를 포함할 수 있다. 비즈니스 ID는 도 3b의 생성 주체 식별자(320)에 대응되는 것일 수 있다. 즉, 설정된 비즈니스 ID를 기초로 임시 데이터 또는 제2 데이터의 사용처가 결정될 수 있다. 제2 데이터가 적절하게 제공되기 위하여, 비즈니스 ID 또는 생성 주체 식별자는 프론트 노드와 약속된 값일 수 있다.FIG. 12 illustrates an embodiment of an ad hoc UI (1200) according to the present disclosure. Specifically, the ad hoc UI (1200) illustrates an interface for newly creating or editing an ad hoc service, i.e., a temporary service. The ad hoc UI (1200) may include a business ID input field. The business ID may correspond to the creation subject identifier (320) of FIG. 3b. That is, the use of temporary data or second data may be determined based on the set business ID. In order for the second data to be provided appropriately, the business ID or the creation subject identifier may be a value promised to the front node.

애드혹 UI(1200)는 특정 식별 정보의 타입을 설정할 수 있는 버튼을 포함할 수 있다.The ad hoc UI (1200) may include a button that can set the type of specific identification information.

애드혹 UI(1200)는 관련 링크를 삽입할 수 있는 필드를 포함할 수 있고, 애드혹 서비스의 설명을 기록할 수 있는 필드를 포함할 수 있다. The ad hoc UI (1200) may include a field into which a related link can be inserted and a field into which a description of the ad hoc service can be recorded.

애드혹 UI(1200)는 적어도 하나의 데이터 파일을 입력할 수 있는 필드를 포함할 수 있다. 이를 통해 적어도 하나의 데이터 파일이 파일 데이터베이스에 업로드될 수 있다.The ad hoc UI (1200) may include a field into which at least one data file may be entered. This allows at least one data file to be uploaded to a file database.

도 13 은 본 개시에 따른 애드혹 UI(1300)의 일 실시예를 나타낸다. 구체적으로, 애드혹 UI(1300)는 애드혹 서비스, 즉 임시 데이터를 편집하기 위한 인터페이스를 나타낸다.FIG. 13 illustrates an embodiment of an ad hoc UI (1300) according to the present disclosure. Specifically, the ad hoc UI (1300) illustrates an interface for editing an ad hoc service, i.e., temporary data.

애드혹 UI(1300)는 상태 활성 UI를 포함할 수 있다. 상태 활성 UI는 임시 데이터가 활성화 상태인지 여부를 표시할 수 있다.The ad hoc UI (1300) may include a state active UI. The state active UI may indicate whether the ad hoc data is active.

애드혹 UI(1300)는 특정 식별 정보의 타입을 설정할 수 있는 버튼을 포함할 수 있다.The ad hoc UI (1300) may include a button that can set the type of specific identification information.

애드혹 UI(1300)는 관련 링크를 삽입할 수 있는 필드를 포함할 수 있고, 애드혹 서비스의 설명을 기록할 수 있는 필드를 포함할 수 있다. The ad hoc UI (1300) may include a field into which a related link can be inserted and a field into which a description of the ad hoc service can be recorded.

애드혹 UI(1300)는 적어도 하나의 데이터 파일을 입력할 수 있는 필드를 포함할 수 있다. 이를 통해 적어도 하나의 데이터 파일이 파일 데이터베이스에 업로드될 수 있다.The ad hoc UI (1300) may include a field into which at least one data file may be entered. This allows at least one data file to be uploaded to a file database.

도 14 는 본 개시에 따른 방법의 일 실시예를 나타낸다. 도 14 에 나타난 각 구성요소는 도 1 내지 도 13에서 설명된 동일한 명칭의 구성요소에 각각 대응되는 것일 수 있다.Fig. 14 illustrates one embodiment of a method according to the present disclosure. Each component shown in Fig. 14 may correspond to a component having the same name described in Figs. 1 to 13.

일 실시예에서, Spark airflow(1410)는 데이터 추출기(1420)를 트리거할 수 있다. 데이터 추출기(1420)는 조인 라이터(1421)를 포함할 수 있다. 데이터 추출기(1420)는 Spark airflow의 트리거에 대응하여, 임시 데이터베이스 또는 CDS(1430)의 테이블을 갱신할 수 있다. In one embodiment, Spark airflow (1410) can trigger a data extractor (1420). The data extractor (1420) can include a join writer (1421). The data extractor (1420) can update a table in a temporary database or CDS (1430) in response to the trigger of Spark airflow.

CDS(1430)는 테이블의 갱신된 정보를 캐시(cache, 1440)에 캐싱(caching)할 수 있다. 셔틀(1450)은 캐시(1440)로부터 제2 데이터를 획득할 수 있다. 제2 데이터는 테이블의 갱신된 정보를 포함할 수 있다. CDS (1430) can cache updated information of the table in cache (cache, 1440). Shuttle (1450) can obtain second data from cache (1440). The second data can include updated information of the table.

즉, 일 실시예에서 전자 장치(100)는, 캐시(cache)로부터 제2 데이터를 획득할 수 있고, 캐시는 임시 데이터베이스를 기초로 갱신될 수 있다.That is, in one embodiment, the electronic device (100) can obtain second data from a cache, and the cache can be updated based on a temporary database.

제2 데이터는 메이트-api(1460)에 전달될 수 있다. 메이트-api(1460)는 객체 데이터 제공 API에 대응되는 것일 수 있다.The second data can be passed to mate-api (1460). Mate-api (1460) may correspond to an object data provision API.

도 15 는 본 개시에 따른 방법의 일 실시예를 나타낸다. 도 15 에 나타난 각 구성요소는 도 1 내지 도 14에서 설명된 동일한 명칭의 구성요소에 각각 대응되는 것일 수 있다.Fig. 15 illustrates one embodiment of a method according to the present disclosure. Each component shown in Fig. 15 may correspond to a component of the same name described in Figs. 1 to 14.

일 실시예에서, 사용자(1500)는 목(mock) 생성 인터페이스(1502)의 목 생성 UI(1503)를 통해 데이터 파일을 CUD(Create, Update, Delete)할 수 있다. 목 생성 인터페이스(1502)는 도 2 의 애드혹 서비스(203)에 대응되고, 목 생성 UI(1503)는 도 2 의 애드혹 UI(204)에 대응되는 것일 수 있다. 또한 목(mock)은 애드혹 서비스 또는 적어도 하나의 데이터 파일에 대응되는 것일 수 있다.In one embodiment, a user (1500) can CUD (Create, Update, Delete) a data file through a mock creation UI (1503) of a mock creation interface (1502). The mock creation interface (1502) may correspond to the ad hoc service (203) of FIG. 2, and the mock creation UI (1503) may correspond to the ad hoc UI (204) of FIG. 2. In addition, the mock may correspond to an ad hoc service or at least one data file.

목 생성 UI(1503)는 벌크 카프카(kafka)(1507)를 통해 목을 생성(1505) 및 업데이트(1506)할 수 있다. 목의 생성 또는 업데이트 결과는 개별 카프카(1508)를 통해 목 생성 UI(1503)로 전달될 수 있다. 벌크 카프카(1507) 및 개별 카프카(1508)는 Apache kafka 등의 데이터 또는 메시지 스트리밍 솔루션을 의미할 수 있다.The mock creation UI (1503) can create (1505) and update (1506) mocks via bulk Kafka (1507). The result of creating or updating mocks can be delivered to the mock creation UI (1503) via individual Kafka (1508). Bulk Kafka (1507) and individual Kafka (1508) can refer to data or message streaming solutions such as Apache Kafka.

목 생성 UI(1503)는 셔틀(1511)을 트리거하여 CDS(1512)를 갱신할 수 있다. 이 때, 업데이터(1510)가 생성 또는 업데이트된 목을 기초로 CDS(1512)의 테이블(1533, 1534) 및 RDS(1504)의 테이블(1531, 1532)을 갱신할 수 있다. RDS(1504)의 테이블을 트랜잭션 카프카(1509)를 통해 갱신될 수 있다. 트랜잭션 카프카(1509) 역시 Apache kafka 등의 데이터 또는 메시지 스트리밍 솔루션을 의미할 수 있다.The mock creation UI (1503) can trigger the shuttle (1511) to update the CDS (1512). At this time, the updater (1510) can update the tables (1533, 1534) of the CDS (1512) and the tables (1531, 1532) of the RDS (1504) based on the created or updated mock. The tables of the RDS (1504) can be updated through transaction Kafka (1509). Transaction Kafka (1509) can also mean a data or message streaming solution such as Apache Kafka.

CDS(1512)의 테이블(1533, 1534) 및 RDS(1504)의 테이블(1531, 1532)에서 SIGNAL은 도 3b의 생성 주체 식별자(320)에 대응될 수 있고, LEVEL은 도 3b의 특정 식별 정보의 타입, 즉, 식별자 타입(330)에 대응될 수 있다. ID 및 String은 도 3a 에 나타난 키 및 값을 의미할 수 있다. 예를 들어, 도 3a의 B1.txt(305)의 키인 10001이 ID에, 값인 {"bsr_rank": "1", "bsr_limit": false}가 String에 대응될 수 있다. String은 JSON 포맷의 문자열을 의미할 수 있다.In tables (1533, 1534) of CDS (1512) and tables (1531, 1532) of RDS (1504), SIGNAL may correspond to the creation subject identifier (320) of FIG. 3b, and LEVEL may correspond to the type of specific identification information of FIG. 3b, that is, the identifier type (330). ID and String may mean the key and value shown in FIG. 3a. For example, the key 10001 of B1.txt (305) of FIG. 3a may correspond to ID, and the value {"bsr_rank": "1", "bsr_limit": false} may correspond to String. String may mean a character string in JSON format.

셔틀(1511)은 객체 데이터 제공 API(1514)의 요청(1535)에 따라, 캐시(1513) 또는 CDS(1512)로부터 제2 데이터를 획득하고, 객체 데이터 제공 API(1514)로 전달할 수 있다. 객체 데이터 제공 API(1514)는 제2 데이터를 응답(1536)에 포함시켜서 서빙 레이어(1516)로 전달할 수 있다. 제2 데이터는 제1 데이터와 함께 응답(1536)에 포함될 수 있다. 이 때, 모킹 핸들러(1515)가 개입하여 신호가 MOCK 타입인 경우 응답을 대체할 수 있다. MOCK 타입의 신호는 본 개시에 따른 방법의 작동을 시험(test)하는데 사용되는 특정 식별 정보의 타입일 수 있다. 각각의 모킹 핸들러(1520)는 서빙 레이어(1516)의 리스팅 API(1517), 검색 API(1518) 및 프로모선 API(1519)에 개입하여 MOCK 타입의 신호에 대한 응답을 처리할 수 있다.The shuttle (1511) may obtain second data from the cache (1513) or the CDS (1512) according to the request (1535) of the object data providing API (1514) and transmit it to the object data providing API (1514). The object data providing API (1514) may include the second data in a response (1536) and transmit it to the serving layer (1516). The second data may be included in the response (1536) together with the first data. At this time, the mocking handler (1515) may intervene and replace the response if the signal is of the MOCK type. The MOCK type signal may be a type of specific identification information used to test the operation of the method according to the present disclosure. Each mocking handler (1520) can intervene in the listing API (1517), search API (1518), and promotion API (1519) of the serving layer (1516) to process a response to a signal of the MOCK type.

도 16 은 본 개시에 따른 방법의 일 실시예를 나타낸다. 도 16 에 나타난 각 구성요소는 도 1 내지 도 15에서 설명된 동일한 명칭의 구성요소에 각각 대응되는 것일 수 있다.Fig. 16 illustrates one embodiment of a method according to the present disclosure. Each component shown in Fig. 16 may correspond to a component of the same name described in Figs. 1 to 15.

일 실시예에서, 사용자(1600)는 목(mock) 생성 인터페이스(1602)의 목 생성 UI(1603)를 통해 데이터 파일을 CUD(Create, Update, Delete)할 수 있다. 목 생성 인터페이스(1602)는 도 2 의 애드혹 서비스(203)에 대응되고, 목 생성 UI(1603)는 도 2 의 애드혹 UI(204)에 대응되는 것일 수 있다. 또한 목(mock)은 애드혹 서비스 또는 적어도 하나의 데이터 파일에 대응되는 것일 수 있다.In one embodiment, a user (1600) can CUD (Create, Update, Delete) a data file through a mock creation UI (1603) of a mock creation interface (1602). The mock creation interface (1602) may correspond to the ad hoc service (203) of FIG. 2, and the mock creation UI (1603) may correspond to the ad hoc UI (204) of FIG. 2. In addition, the mock may correspond to an ad hoc service or at least one data file.

목 생성 UI(1603)는 목 카프카(1606)에 목을 발행(1605)할 수 있다. 이 때, 클린업 스케줄러(1604)는 일정한 주기(예를 들어, 매일)로 목 생성 UI(1603)을 트리거하여 목을 발행(1605)하도록 할 수 있다. 즉, 임시 데이터베이스 또는 CDS(1612)는 기 설정된 주기로 갱신될 수 있다. The mock creation UI (1603) can publish (1605) a mock to the mock Kafka (1606). At this time, the cleanup scheduler (1604) can trigger the mock creation UI (1603) to publish (1605) a mock at a regular interval (e.g., daily). That is, the temporary database or CDS (1612) can be updated at a preset interval.

셔틀(1611)은 목 카프카(1606)를 통해 목을 구독(1607)하여 CDS(1612)의 테이블(1631)을 갱신할 수 있다. 목 생성 인터페이스(1602)는 상태 카프카(1610)를 통해 상태를 구독(1609)하여 RDS(1610)의 테이블(1630)을 갱신할 수 있다.The shuttle (1611) can update the table (1631) of the CDS (1612) by subscribing to the state (1607) through the state Kafka (1606). The mock creation interface (1602) can update the table (1630) of the RDS (1610) by subscribing to the state (1609) through the state Kafka (1610).

테이블(1630, 1631)의 BUSINESS_SIGNAL은 도 3b에 나타난 생성 주체 식별자(320)에, ID_TYPE은 도 3b의 특정 식별 정보의 타입, 즉, 식별자 타입(330)에 대응될 수 있다. ID 및 BUSINESS_CONTENTS는 도 3a 에 나타난 키 및 값을 의미할 수 있다. 예를 들어, 도 3a의 B1.txt(305)의 키인 10001이 ID에, 값인 {"bsr_rank": "1", "bsr_limit": false}가 BUSINESS_CONTENTS에 대응될 수 있다. BUSINESS_CONTENTS은 JSON 포맷의 문자열을 포함할 수 있다. BUSINESS_SIGNAL of tables (1630, 1631) may correspond to the creation subject identifier (320) shown in Fig. 3b, and ID_TYPE may correspond to the type of specific identification information of Fig. 3b, i.e., the identifier type (330). ID and BUSINESS_CONTENTS may mean the key and value shown in Fig. 3a. For example, the key 10001 of B1.txt (305) of Fig. 3a may correspond to ID, and the value {"bsr_rank": "1", "bsr_limit": false} may correspond to BUSINESS_CONTENTS. BUSINESS_CONTENTS may include a string in JSON format.

STATUS는 목 또는 적어도 하나의 데이터 파일을 기초로 임시 데이터베이스 또는 CDS(1612)가 갱신되는 상태를 나타낼 수 있다. 예를 들어, STATUS가 CONFIRMED 라면 임시 데이터베이스 또는 CDS(1612)가 이미 갱신 완료된 상태를, STATUS가 WAITING이라면 임시 데이터베이스 또는 CDS(1612)가 갱신 대기 중인 상태를, STATUS가 FAILED라면 임시 데이터베이스 또는 CDS(1612)의 갱신이 실패한 상태일 수 있다. 이러한 갱신과 관련된 상태는 같이 상태 구독(1609)을 통해 RDS(1610)의 테이블(1630)에 반영될 수 있고, 이는 사용자(1600)에게 알려질 수 있다. 즉, 일 실시예에서, 전자 장치(100)는 임시 데이터베이스의 갱신 작업의 요청을 확인한 경우, 갱신 작업의 시작을 확인한 경우 및 갱신 작업의 완료를 확인한 경우 각각에 대해 알림(예를 들어 클린업 알림)을 제공할 수 있다.STATUS can indicate the status of the temporary database or CDS (1612) being updated based on a node or at least one data file. For example, if STATUS is CONFIRMED, it can indicate that the temporary database or CDS (1612) has already been updated, if STATUS is WAITING, it can indicate that the temporary database or CDS (1612) is waiting for an update, and if STATUS is FAILED, it can indicate that the update of the temporary database or CDS (1612) has failed. The status related to this update can be reflected in the table (1630) of the RDS (1610) through the status subscription (1609), and this can be notified to the user (1600). That is, in one embodiment, the electronic device (100) can provide a notification (e.g., a cleanup notification) for each of the cases where it confirms a request for an update operation of a temporary database, confirms the start of an update operation, and confirms the completion of an update operation.

셔틀(1611)은 객체 데이터 제공 API(1614)의 요청(1632)에 따라, 캐시(1613) 또는 CDS(1612)로부터 제2 데이터를 획득하고, 객체 데이터 제공 API(1614)로 전달할 수 있다. 객체 데이터 제공 API(1614)는 제2 데이터를 응답(1633)에 포함시켜서 서빙 레이어(1616)로 전달할 수 있다. 제2 데이터는 제1 데이터와 함께 응답(1632)에 포함될 수 있다. 이 때, 모킹 핸들러(1615)가 개입하여 신호가 MOCK 타입인 경우 응답을 대체할 수 있다. MOCK 타입의 신호는 본 개시에 따른 방법의 작동을 시험(test)하는데 사용되는 특정 식별 정보의 타입일 수 있다. 각각의 모킹 핸들러(1620)는 서빙 레이어(1616)의 리스팅 API(1617), 검색 API(1618) 및 프로모선 API(1619)에 개입하여 MOCK 타입의 신호에 대한 응답을 처리할 수 있다.The shuttle (1611) may obtain second data from the cache (1613) or the CDS (1612) according to the request (1632) of the object data providing API (1614) and transmit it to the object data providing API (1614). The object data providing API (1614) may include the second data in a response (1633) and transmit it to the serving layer (1616). The second data may be included in the response (1632) together with the first data. At this time, the mocking handler (1615) may intervene and replace the response if the signal is of the MOCK type. The MOCK type signal may be a type of specific identification information used to test the operation of the method according to the present disclosure. Each mocking handler (1620) can intervene in the listing API (1617), search API (1618), and promotion API (1619) of the serving layer (1616) to process a response to a signal of the MOCK type.

도 17 은 본 개시에 따른 방법의 일 실시예를 나타낸다. 도 17 에 나타난 각 구성요소는 도 1 내지 도 16에서 설명된 동일한 명칭의 구성요소에 각각 대응되는 것일 수 있다.Fig. 17 illustrates one embodiment of a method according to the present disclosure. Each component shown in Fig. 17 may correspond to a component of the same name described in Figs. 1 to 16.

일 실시예에서, 사용자(1700)는 애드혹 서비스(1702)의 애드혹 UI(1703)을 통해 적어도 하나의 데이터 파일을 파일 데이터베이스 또는 S3(1706)에 업로드할 수 있다. 이 때, 애드혹 UI(1703)을 통해 파일 정보 데이터베이스(1705)에 저장된 파일 정보(1730)가 갱신될 수 있다.In one embodiment, a user (1700) can upload at least one data file to a file database or S3 (1706) through an ad hoc UI (1703) of an ad hoc service (1702). At this time, file information (1730) stored in a file information database (1705) can be updated through the ad hoc UI (1703).

애드혹 UI(1703)은 API를 호출하여 데이터 추출기(1707)를 트리거할 수 있다. 데이터 추출기(1707)는 파일 데이터베이스 또는 S3(1706)로부터 적어도 하나의 데이터 파일을 참조하여 임시 데이터베이스 또는 CDS(1710)의 테이블(1731)을 갱신할 수 있다. 클린업 스케줄러(1704)는 일정한 주기(예를 들어, 매일)로 애드혹 UI(1703)을 트리거하여 데이터 추출기(1707)를 호출하도록 할 수 있다. 즉, 임시 데이터베이스 또는 CDS(1710)는 기 설정된 주기로 갱신될 수 있다.The ad hoc UI (1703) can trigger the data extractor (1707) by calling an API. The data extractor (1707) can reference at least one data file from the file database or S3 (1706) to update a table (1731) of the temporary database or CDS (1710). The cleanup scheduler (1704) can trigger the ad hoc UI (1703) to call the data extractor (1707) at a regular interval (e.g., daily). That is, the temporary database or CDS (1710) can be updated at a preset interval.

일 실시예에서, 파일 데이터베이스 또는 S3(1706)의 파일이 추가, 삭제 또는 갱신된 경우 임시 데이터베이스 또는 CDS(1710)가 업데이트될 수 있다. 애드혹 UI(1703)는 파일 데이터베이스 또는 S3(1706)의 파일이 추가, 삭제 또는 갱신되었을 때, API를 호출하여 데이터 추출기(1707)를 트리거할 수 있다. 데이터 추출기(1707)는 파일 데이터베이스 또는 S3(1706)로부터 추가, 삭제 또는 갱신된 적어도 하나의 데이터 파일을 확인하고 추가, 삭제 또는 갱신된 적어도 하나의 데이터 파일에 대응되는 임시 데이터베이스 또는 CDS(1710)의 테이블(1731)을 갱신(테이블(1731)의 행 또는 열을 추가, 삭제 또는 갱신)할 수 있다. 이 때, 임시 데이터베이스 또는 CDS(1710)의 테이블(1731)의 갱신이 누락되는 것을 방지하기 위해, 클린업 스케줄러(1704), 애드혹 서비스(1702) 또는 애드혹 UI(1703)는 일정한 주기(바람직하게는, 매일 새벽 시간)로 임시 데이터베이스 또는 CDS(1710)의 테이블(1731)의 갱신이 누락되었는지 확인하고, 데이터 추출기(1707)를 호출하여 임시 데이터베이스 또는 CDS(1710)의 테이블(1731)이 갱신되도록 할 수 있다.In one embodiment, the temporary database or CDS (1710) may be updated when a file in the file database or S3 (1706) is added, deleted, or updated. The ad hoc UI (1703) may trigger the data extractor (1707) by calling an API when a file in the file database or S3 (1706) is added, deleted, or updated. The data extractor (1707) may identify at least one data file that has been added, deleted, or updated from the file database or S3 (1706) and update a table (1731) in the temporary database or CDS (1710) corresponding to the at least one data file that has been added, deleted, or updated (add, delete, or update a row or column in the table (1731)). At this time, in order to prevent the update of the table (1731) of the temporary database or CDS (1710) from being missed, the cleanup scheduler (1704), the ad hoc service (1702), or the ad hoc UI (1703) can check at regular intervals (preferably, every morning) whether the update of the table (1731) of the temporary database or CDS (1710) is missed, and call the data extractor (1707) to update the table (1731) of the temporary database or CDS (1710).

일 실시예에서, 파일 데이터베이스 또는 S3(1706)의 파일이 추가, 삭제 또는 갱신된 경우 임시 데이터베이스 또는 CDS(1710)가 업데이트될 수 있다. 애드혹 UI(1703)는 기 설정된 주기(예를 들어, 수 분 내지 수십 분에 한 번, 바람직하게는 10분에 한 번)로 파일 데이터베이스 또는 S3(1706)의 파일이 추가, 삭제 또는 갱신되었는지 확인하고, API를 호출하여 데이터 추출기(1707)를 트리거할 수 있다. 데이터 추출기(1707)는 파일 데이터베이스 또는 S3(1706)로부터 추가, 삭제 또는 갱신된 적어도 하나의 데이터 파일을 확인하고 추가, 삭제 또는 갱신된 적어도 하나의 데이터 파일에 대응되는 임시 데이터베이스 또는 CDS(1710)의 테이블(1731)을 갱신(테이블(1731)의 행 또는 열을 추가, 삭제 또는 갱신)할 수 있다. 이 때, 임시 데이터베이스 또는 CDS(1710)의 테이블(1731)의 갱신이 누락되는 것을 방지하기 위해, 클린업 스케줄러(1704), 애드혹 서비스(1702) 또는 애드혹 UI(1703)는 일정한 주기(바람직하게는, 매일 새벽 시간)로 임시 데이터베이스 또는 CDS(1710)의 테이블(1731)의 갱신이 누락되었는지 확인하고, 데이터 추출기(1707)를 호출하여 임시 데이터베이스 또는 CDS(1710)의 테이블(1731)이 갱신되도록 할 수 있다.In one embodiment, the temporary database or CDS (1710) may be updated when a file in the file database or S3 (1706) is added, deleted, or updated. The ad hoc UI (1703) may check whether a file in the file database or S3 (1706) is added, deleted, or updated at a preset interval (e.g., once every several minutes to tens of minutes, preferably once every 10 minutes) and call an API to trigger the data extractor (1707). The data extractor (1707) may check at least one data file added, deleted, or updated from the file database or S3 (1706) and update a table (1731) of the temporary database or CDS (1710) corresponding to the at least one data file added, deleted, or updated (add, delete, or update a row or column of the table (1731). At this time, in order to prevent the update of the table (1731) of the temporary database or CDS (1710) from being missed, the cleanup scheduler (1704), the ad hoc service (1702), or the ad hoc UI (1703) can check at regular intervals (preferably, every morning) whether the update of the table (1731) of the temporary database or CDS (1710) is missed, and call the data extractor (1707) to update the table (1731) of the temporary database or CDS (1710).

데이터 추출기(170)는 캐시 업데이터(1708)를 통해 캐시(1711)를 함께 갱신할 수 있다. 캐시(1711)의 업데이트는 사용자(1700)에 의해 이루어질 수 있다. 사용자(1700)는 애드혹 UI(1703)를 통해 특정 식별 정보를 입력할 수 있고, 데이터 추출기(1707)는 사용자의 입력에 대응하여 캐시 업데이터(1708)를 통해 특정 식별 정보에 대응하는 데이터 (예를 들어, 적어도 하나의 데이터 파일의 키-값)을 캐시(1711)에 저장할 수 있다. 이후 특정 식별 정보에 대응하는 제2 데이터가 캐시(1711)로부터 객체 데이터 제공 API(1712)로 제공될 수 있다. 데이터가 캐시(1711)로부터 객체 데이터 제공 API(1712) 로 제공된 다음, 특정 식별 정보에 대응하는 데이터는 캐시에서 삭제될 수 있다. 즉, 일 실시예에서, 하나 이상의 특정 식별 정보가 확인되면 특정 식별 정보에 대응하는 데이터가 캐시에서 삭제될 수 있다. 이는 클린업 스케줄러(1704)의 트리거 없이도 필요에 따라 특정 식별 정보에 대응하는 임시 데이터가 프론트 노드로 빨리 전달될 수 있는 이점을 가진다. The data extractor (170) can update the cache (1711) together with the cache updater (1708). The update of the cache (1711) can be performed by the user (1700). The user (1700) can input specific identification information through the ad hoc UI (1703), and the data extractor (1707) can store data (e.g., key-value of at least one data file) corresponding to the specific identification information in the cache (1711) in response to the user's input through the cache updater (1708). Thereafter, second data corresponding to the specific identification information can be provided from the cache (1711) to the object data provision API (1712). After the data is provided from the cache (1711) to the object data provision API (1712), the data corresponding to the specific identification information can be deleted from the cache. That is, in one embodiment, when one or more pieces of specific identification information are confirmed, the data corresponding to the specific identification information can be deleted from the cache. This has the advantage that temporary data corresponding to specific identification information can be quickly delivered to the front node as needed without triggering the cleanup scheduler (1704).

파일 정보(1730)는 도 3b에 나타난 표에 대응될 수 있다. 테이블(1731)은 도 5에 나타난 테이블(510, 520, 530) 중 어느 하나에 대응될 수 있다. File information (1730) may correspond to the table shown in Fig. 3b. Table (1731) may correspond to any one of the tables (510, 520, 530) shown in Fig. 5.

파일 정보(1730)의 title 및 테이블(1731)의 BUSINESS_SIGNAL은 도 3b에 나타난 생성 주체 식별자(320)에, ID_TYPE은 도 3b의 특정 식별 정보의 타입, 즉, 식별자 타입(330)에 대응될 수 있다. ID 및 BUSINESS_CONTENTS는 도 3a 에 나타난 키 및 값을 의미할 수 있다. 예를 들어, 도 3a의 B1.txt(305)의 키인 10001이 ID에, 값인 {"bsr_rank": "1", "bsr_limit": false}가 BUSINESS_CONTENTS에 대응될 수 있다. BUSINESS_CONTENTS은 JSON 포맷의 문자열을 포함할 수 있다. The title of the file information (1730) and the BUSINESS_SIGNAL of the table (1731) may correspond to the creator identifier (320) shown in Fig. 3b, and ID_TYPE may correspond to the type of specific identification information of Fig. 3b, i.e., the identifier type (330). ID and BUSINESS_CONTENTS may mean the key and value shown in Fig. 3a. For example, the key 10001 of B1.txt (305) of Fig. 3a may correspond to ID, and the value {"bsr_rank": "1", "bsr_limit": false} may correspond to BUSINESS_CONTENTS. BUSINESS_CONTENTS may include a string in JSON format.

셔틀(1709)은 객체 데이터 제공 API(1712)의 요청(1732)에 따라, 캐시(1711) 또는 CDS(1710)로부터 제2 데이터를 획득하고, 객체 데이터 제공 API(1712)로 전달할 수 있다. 객체 데이터 제공 API(1712)는 제2 데이터를 응답(1733)에 포함시켜서 서빙 레이어(1714)로 전달할 수 있다. 제2 데이터는 제1 데이터와 함께 응답(1733)에 포함될 수 있다. 이 때, 모킹 핸들러(1713)가 개입하여 신호가 MOCK 타입인 경우 응답을 대체할 수 있다. MOCK 타입의 신호는 본 개시에 따른 방법의 작동을 시험(test)하는데 사용되는 특정 식별 정보의 타입일 수 있다. 각각의 모킹 핸들러(1718)는 서빙 레이어(1714)의 리스팅 API(1715), 검색 API(1716) 및 프로모선 API(1717)에 개입하여 MOCK 타입의 신호에 대한 응답을 처리할 수 있다.The shuttle (1709) may obtain second data from the cache (1711) or the CDS (1710) according to the request (1732) of the object data providing API (1712) and transmit it to the object data providing API (1712). The object data providing API (1712) may include the second data in a response (1733) and transmit it to the serving layer (1714). The second data may be included in the response (1733) together with the first data. At this time, the mocking handler (1713) may intervene and replace the response if the signal is of the MOCK type. The MOCK type signal may be a type of specific identification information used to test the operation of the method according to the present disclosure. Each mocking handler (1718) can intervene in the listing API (1715), search API (1716), and promotion API (1717) of the serving layer (1714) to process responses to signals of the MOCK type.

도 18 은 일 실시예에 따른 전자 장치(100)의 동작 방법을 나타낸다. 도 18 의 동작 방법의 각 단계에 대해 도 1 내지 도 17 에서 설명한 프로세서(110)의 동작과 중복되는 내용에 대해서는 설명을 생략한다.Fig. 18 illustrates an operating method of an electronic device (100) according to one embodiment. For each step of the operating method of Fig. 18, descriptions of the same content as the operation of the processor (110) described in Figs. 1 to 17 will be omitted.

단계 S1810에서, 전자 장치(100)는, 프론트 노드에서 제1 데이터 요청을 수신할 수 있다. 제1 데이터 요청은 특정한 객체에 관한 데이터의 요청을 포함할 수 있다. 서빙 레이어는 제1 데이터 요청을 수신하여, 아이템 데이터 제공 API로 넘겨줄 수 있다.In step S1810, the electronic device (100) may receive a first data request from the front node. The first data request may include a request for data regarding a specific object. The serving layer may receive the first data request and pass it on to the item data provision API.

단계 S1820에서, 전자 장치(100)는, 제1 데이터 요청을 기반으로 메인 데이터베이스에서 제1 데이터를 획득할 수 있다. 구체적으로, 아이템 데이터 제공 API는 제1 데이터 요청을 기초로 메인 데이터베이스에서 제1 데이터를 획득할 수 있다.In step S1820, the electronic device (100) can obtain first data from the main database based on the first data request. Specifically, the item data provision API can obtain first data from the main database based on the first data request.

단계 S1830에서, 전자 장치(100)는, 제1 데이터 요청을 기반으로 임시 데이터베이스에서 제2 데이터를 획득할 수 있다. 구체적으로, 아이템 데이터 제공 API는 메인 데이터베이스에서 획득한 제1 데이터를 기초로 셔틀로 제2 데이터 요청을 송신할 수 있다. 제2 데이터 요청은 특정한 객체에 관한 특정 식별 정보를 포함할 수 있다. 셔틀은 제2 데이터 요청의 특정 식별 정보를 기초로 임시 데이터베이스에서 특정 식별 정보의 타입에 따른 테이블로부터 특정 식별 정보에 해당하는 행의 값 및 열 정보(생성 주체 식별자)를 획득하고, 이를 기초로 제2 데이터를 획득할 수 있다. 제2 데이터는 json 포맷의 데이터일 수 있다.In step S1830, the electronic device (100) may obtain second data from a temporary database based on the first data request. Specifically, the item data provision API may transmit a second data request to the shuttle based on the first data obtained from the main database. The second data request may include specific identification information regarding a specific object. The shuttle may obtain a row value and column information (creation subject identifier) corresponding to the specific identification information from a table according to the type of the specific identification information in the temporary database based on the specific identification information of the second data request, and obtain the second data based on the same. The second data may be data in a json format.

단계 S1840에서, 전자 장치(100)는, 제1 데이터 및 제2 데이터를 프론트 노드로 전송할 수 있다. 프론트 노드는 제1 데이터 및 제2 데이터를 파싱하여 제1 데이터 및 제2 데이터를 구분한 다음, 제1 데이터 및 제2 데이터를 기초로 서비스 이용자에게 제공할 페이지를 생성할 수 있다.In step S1840, the electronic device (100) can transmit the first data and the second data to the front node. The front node can parse the first data and the second data to distinguish the first data and the second data, and then generate a page to be provided to the service user based on the first data and the second data.

예를 들어, 본 개시에 따른 발명의 사용자는 특정 카테고리, 예를 들어 패션 카테고리에 대응하는 아이템에 대해 추가 정보를 표시해야 할 수 있다. 이 때, 메인 데이터베이스의 수정이 어려울 수 있으므로, 사용자는 본 개시에 따른 전자 장치(100)의 애드혹 UI를 이용할 수 있다. 사용자는 애드혹 UI를 통해 프론트 노드로 제공할 추가 정보를 파일 형태로 업로드할 수 있다. 이 때, 파일은 텍스트 파일일 수 있다. 즉, 사용자는 패션 카테고리의 식별자(본 개시에서 특정 식별 정보에 대응됨)와 이에 대응되는 정보를 파일 형태로 업로드할 수 있다. For example, a user of the invention according to the present disclosure may need to display additional information for an item corresponding to a specific category, for example, a fashion category. At this time, since it may be difficult to modify the main database, the user may utilize an ad hoc UI of the electronic device (100) according to the present disclosure. The user may upload additional information to be provided to the front node in the form of a file through the ad hoc UI. At this time, the file may be a text file. That is, the user may upload an identifier of a fashion category (corresponding to specific identification information in the present disclosure) and information corresponding thereto in the form of a file.

전자 장치(100)는 업로드된 파일을 기초로 임시 데이터베이스에서 패션 카테고리에 대응되는 테이블 및 행을 추가 또는 수정할 수 있다. 이후 전자 장치(100)는 프론트 노드로부터 제1 데이터 요청을 수신하고, 제1 데이터로부터 패션 카테고리의 식별자를 확인하였다면 임시 데이터베이스로부터 패션 카테고리에 대응되는 추가 정보를 포함하는 제2 데이터를 제1 데이터와 함께 프론트 노드로 전달할 수 있다.The electronic device (100) can add or modify tables and rows corresponding to the fashion category in the temporary database based on the uploaded file. Thereafter, the electronic device (100) receives a first data request from the front node, and if it has confirmed the identifier of the fashion category from the first data, it can transmit second data including additional information corresponding to the fashion category from the temporary database to the front node together with the first data.

프론트 노드 측에서는 제2 데이터를 페이지에 표시할 수 있다. 즉, 패션 카테고리에 관한 추가 정보를 패션 카테고리가 표시된 페이지에 추가 또는 수정할 수 있다. 이렇게 수정된 페이지는 서비스 이용자에게 제공될 수 있다. On the front node side, secondary data can be displayed on the page. That is, additional information about the fashion category can be added or modified to the page where the fashion category is displayed. The modified page can be provided to the service users.

도 19 는 일 실시예에 따른 전자 장치(100)의 동작 방법을 나타낸다. 도 19 의 동작 방법의 각 단계에 대해 도 1 내지 도 17 에서 설명한 프로세서(110)의 동작과 중복되는 내용에 대해서는 설명을 생략한다.FIG. 19 illustrates an operating method of an electronic device (100) according to one embodiment. For each step of the operating method of FIG. 19, descriptions of the same content as the operation of the processor (110) described in FIGS. 1 to 17 will be omitted.

단계 S1910에서, 전자 장치(100)는, 프론트 노드에서 제1 데이터 요청을 수신할 수 있다.In step S1910, the electronic device (100) can receive a first data request from the front node.

단계 S1920에서, 전자 장치(100)는, 제1 데이터 요청을 기반으로 메인 데이터베이스에서 제1 데이터를 획득할 수 있다.In step S1920, the electronic device (100) can obtain first data from the main database based on the first data request.

단계 S1931에서, 전자 장치(100)는, 제1 데이터를 기반으로 확인되는 특정 식별 정보를 포함하는 제2 데이터 요청을 임시 데이터베이스에 전송할 수 있다.In step S1931, the electronic device (100) may transmit a second data request including specific identification information verified based on the first data to a temporary database.

단계 S1932에서, 전자 장치(100)는, 제2 데이터 요청에 따라 임시 데이터베이스로부터 제2 데이터를 획득할 수 있다.In step S1932, the electronic device (100) can obtain second data from a temporary database according to a second data request.

단계 S1940에서, 전자 장치(100)는, 제1 데이터 및 제2 데이터를 프론트 노드로 전송할 수 있다.In step S1940, the electronic device (100) can transmit first data and second data to the front node.

이상 설명된 본 개시에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체 또는 비일시적 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체 또는 비일시적 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체 또는 비일시적 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체 또는 비일시적 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치 또는 전자 장치는 본 개시에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The embodiments according to the present disclosure described above may be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium or a non-transitory recording medium. The computer-readable recording medium or the non-transitory recording medium may include program instructions, data files, data structures, etc., alone or in combination. The program instructions recorded on the computer-readable recording medium or the non-transitory recording medium may be those specially designed and configured for the present invention or may be those known to and available to those skilled in the art of computer software. Examples of the computer-readable recording medium or the non-transitory recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions such as ROMs, RAMs, flash memories, etc. Examples of the program instructions include not only machine language codes generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc. The above hardware device or electronic device may be configured to operate as one or more software modules to perform processing according to the present disclosure, and vice versa.

본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어, 소프트웨어, 또는 이들의 조합들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 데이터 처리 또는 이들의 조합 등을 위하여 종래 기술을 채용할 수 있다.The present embodiment may be represented by functional block configurations and various processing steps. These functional blocks may be implemented by various numbers of hardware, software, or combinations thereof to perform specific functions. For example, the embodiment may employ direct circuit configurations such as memory, processing, logic, look-up tables, etc., which may perform various functions under the control of one or more microprocessors or other control devices. Similarly to the fact that the components may be implemented as software programming or software elements, the present embodiment may be implemented in a programming or scripting language such as C, C++, Java, assembler, etc., including various algorithms implemented as a combination of data structures, processes, routines, or other programming elements. The functional aspects may be implemented as algorithms that are executed on one or more processors. In addition, the present embodiment may employ conventional techniques for electronic environment setting, signal processing, data processing, or combinations thereof.

Claims (21)

전자 장치의 데이터 제공 방법에 있어서,
프론트 노드에서 제1 데이터 요청을 수신하는 단계;
상기 제1 데이터 요청을 기반으로 메인 데이터베이스에서 제1 데이터를 획득하는 단계;
상기 제1 데이터 요청을 기반으로 임시 데이터베이스에서 제2 데이터를 획득하는 단계; 및
상기 제1 데이터 및 상기 제2 데이터를 상기 프론트 노드로 전송하는 단계를 포함하고,
상기 제2 데이터를 획득하는 단계는
특정 식별 정보를 포함하는 제2 데이터 요청을 상기 임시 데이터베이스에 전송하는 단계; 및
상기 제2 데이터 요청에 따라 상기 임시 데이터베이스로부터 상기 제2 데이터를 획득하는 단계를 포함하는, 데이터 제공 방법.
In a method for providing data in an electronic device,
A step of receiving a first data request from a front node;
A step of obtaining first data from a main database based on the first data request;
A step of obtaining second data from a temporary database based on the first data request; and
comprising a step of transmitting the first data and the second data to the front node;
The step of obtaining the above second data is
transmitting a second data request containing specific identification information to the temporary database; and
A method for providing data, comprising the step of obtaining the second data from the temporary database according to the second data request.
삭제delete 제1항에 있어서,
상기 특정 식별 정보는 상기 제1 데이터를 기반으로 확인되는, 데이터 제공 방법.
In the first paragraph,
A method of providing data, wherein the specific identification information is verified based on the first data.
제1항에 있어서,
상기 제2 데이터는 상기 임시 데이터베이스에서 상기 특정 식별 정보에 따라 동적 설정 데이터베이스로부터 획득된 설정 정보를 기반으로 확인된 테이블로부터 획득되는, 데이터 제공 방법.
In the first paragraph,
A method for providing data, wherein the second data is obtained from a table verified based on setting information obtained from a dynamic setting database according to the specific identification information in the temporary database.
제1항에 있어서,
상기 제2 데이터는 상기 제1 데이터 요청에 대응하는 적어도 하나의 키-값 쌍을 포함하는, 데이터 제공 방법.
In the first paragraph,
A method for providing data, wherein the second data includes at least one key-value pair corresponding to the first data request.
전자 장치의 데이터 제공 방법에 있어서,
프론트 노드에서 제1 데이터 요청을 수신하는 단계;
상기 제1 데이터 요청을 기반으로 메인 데이터베이스에서 제1 데이터를 획득하는 단계;
상기 제1 데이터 요청을 기반으로 임시 데이터베이스에서 제2 데이터를 획득하는 단계; 및
상기 제1 데이터 및 상기 제2 데이터를 상기 프론트 노드로 전송하는 단계를 포함하고,
상기 제2 데이터는 상기 제1 데이터 요청에 대응하는 적어도 하나의 키-값 쌍을 포함하고,
상기 키-값 쌍의 키는 상기 키에 대응하는 값을 생성한 주체를 식별하는 정보인, 데이터 제공 방법.
In a method for providing data in an electronic device,
A step of receiving a first data request from a front node;
A step of obtaining first data from a main database based on the first data request;
A step of obtaining second data from a temporary database based on the first data request; and
comprising a step of transmitting the first data and the second data to the front node;
The second data includes at least one key-value pair corresponding to the first data request,
A method for providing data, wherein the key of the above key-value pair is information that identifies the subject that created the value corresponding to the key.
제6항에 있어서,
상기 임시 데이터베이스는 적어도 하나의 데이터 파일을 기초로 갱신되고,
상기 적어도 하나의 데이터 파일 각각은 상기 주체를 식별하는 정보에 대응되는, 데이터 제공 방법.
In Article 6,
The above temporary database is updated based on at least one data file,
A method of providing data, wherein each of said at least one data file corresponds to information identifying said subject.
제7항에 있어서,
상기 적어도 하나의 데이터 파일 각각은 상기 데이터 파일에 포함되는 정보의 형식 및 상기 데이터 파일의 크기를 기초로 검증되는, 데이터 제공 방법.
In Article 7,
A method for providing data, wherein each of said at least one data file is verified based on the format of information contained in said data file and the size of said data file.
제7항에 있어서,
상기 임시 데이터베이스는 적어도 하나의 테이블을 포함하고,
상기 적어도 하나의 테이블 각각은 특정 식별 정보의 타입에 따라 서로 구별되는, 데이터 제공 방법.
In Article 7,
The above temporary database contains at least one table,
A method of providing data, wherein each of the at least one table is distinguished from the others based on a type of specific identifying information.
제9항에 있어서,
상기 적어도 하나의 테이블 각각은,
상기 적어도 하나의 테이블 각각에 대응하는 작업 구성 파일을 기초로 구성되는 테이블로 교체됨으로써 갱신되는, 데이터 제공 방법.
In Article 9,
Each of the above at least one table,
A method of providing data, wherein the data is updated by replacing the table with a table configured based on a work configuration file corresponding to each of the at least one table above.
제7항에 있어서,
상기 적어도 하나의 데이터 파일이 업로드될 때, 각 데이터 파일에 포함되는 특정 식별 정보의 타입, 값의 타입, 그룹핑 여부 및 데이터 만료일 정보가 함께 업로드되는, 데이터 제공 방법.
In Article 7,
A method of providing data, wherein when at least one data file is uploaded, the type of specific identification information included in each data file, the type of value, whether grouped, and the data expiration date information are uploaded together.
제7항에 있어서,
상기 적어도 하나의 데이터 파일 각각은,
구분자를 이용하여 상기 적어도 하나의 데이터 파일 각각에 포함된 하나 이상의 정보를 서로 구분할 수 있도록 구성되는,
데이터 제공 방법.
In Article 7,
Each of the above at least one data file,
configured to be able to distinguish one or more pieces of information contained in each of said at least one data file from each other using a delimiter,
How to provide data.
제1항에 있어서,
상기 프론트 노드로 전송하는 단계는,
상기 제2 데이터에 대한 데이터 만료일이 경과하지 않은 경우, 상기 제2 데이터를 상기 프론트 노드로 전송하는 단계를 포함하는, 데이터 제공 방법.
In the first paragraph,
The step of transmitting to the above front node is:
A data providing method, comprising the step of transmitting the second data to the front node if the data expiration date for the second data has not expired.
제13항에 있어서,
상기 데이터 만료일로부터 기 설정된 기간 이전에 알림을 제공하는 단계를 더 포함하는, 데이터 제공 방법.
In Article 13,
A method of providing data, further comprising the step of providing a notification prior to a preset period from the data expiration date.
제1항에 있어서,
상기 임시 데이터베이스에서 제2 데이터를 획득하는 단계는,
캐시(cache)로부터 상기 제2 데이터를 획득하는 단계를 포함하고,
상기 캐시는 임시 데이터베이스를 기초로 갱신되는, 데이터 제공 방법.
In the first paragraph,
The step of obtaining the second data from the above temporary database is:
Comprising a step of obtaining the second data from a cache,
A method of providing data in which the above cache is updated based on a temporary database.
제15항에 있어서,
하나 이상의 특정 식별 정보가 확인되면 상기 특정 식별 정보에 대응하는 데이터가 상기 캐시에서 삭제되는, 데이터 제공 방법.
In Article 15,
A method of providing data, wherein when one or more specific identification pieces of information are identified, data corresponding to said specific identification pieces of information are deleted from the cache.
제1항에 있어서,
상기 임시 데이터베이스는 기 설정된 주기로 갱신되는, 데이터 제공 방법.
In the first paragraph,
A method of providing data, wherein the above temporary database is updated at a preset cycle.
제1항에 있어서,
상기 임시 데이터베이스의 갱신 작업의 요청을 확인한 경우, 상기 갱신 작업의 시작을 확인한 경우 및 상기 갱신 작업의 완료를 확인한 경우 각각에 대해 알림을 제공하는 단계를 더 포함하는, 데이터 제공 방법.
In the first paragraph,
A method for providing data, further comprising the steps of providing a notification when a request for an update operation of the temporary database is confirmed, when the start of the update operation is confirmed, and when the completion of the update operation is confirmed.
제1항에 있어서,
상기 임시 데이터베이스에 포함된 데이터의 활성화 여부 정보를 표시하는 단계를 포함하는, 데이터 제공 방법.
In the first paragraph,
A method for providing data, comprising the step of displaying information on whether data included in the temporary database is activated.
전자 장치로서,
적어도 하나의 프로그램이 저장된 메모리; 및
상기 적어도 하나의 프로그램을 실행함으로써,
프론트 노드에서 제1 데이터 요청을 수신하고,
상기 제1 데이터 요청을 기반으로 메인 데이터베이스에서 제1 데이터를 획득하고,
상기 제1 데이터 요청을 기반으로 임시 데이터베이스에서 제2 데이터를 획득하고,
상기 제1 데이터 및 상기 제2 데이터를 상기 프론트 노드로 전송하는 프로세서를 포함하고,
상기 제2 데이터를 획득하기 위하여, 상기 프로세서는,
특정 식별 정보를 포함하는 제2 데이터 요청을 상기 임시 데이터베이스에 전송하고,
상기 제2 데이터 요청에 따라 상기 임시 데이터베이스로부터 상기 제2 데이터를 획득하는, 전자 장치.
As an electronic device,
memory in which at least one program is stored; and
By executing at least one of the above programs,
Receive the first data request from the front node,
Obtaining first data from the main database based on the first data request above,
Obtain second data from a temporary database based on the first data request above,
Including a processor that transmits the first data and the second data to the front node,
To obtain the second data, the processor,
Transmitting a second data request containing specific identifying information to said temporary database;
An electronic device that obtains the second data from the temporary database in response to the second data request.
전자 장치의 데이터 제공 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적 기록매체로서,
상기 데이터 제공 방법은,
프론트 노드에서 제1 데이터 요청을 수신하는 단계;
상기 제1 데이터 요청을 기반으로 메인 데이터베이스에서 제1 데이터를 획득하는 단계;
상기 제1 데이터 요청을 기반으로 임시 데이터베이스에서 제2 데이터를 획득하는 단계; 및
상기 제1 데이터 및 상기 제2 데이터를 상기 프론트 노드로 전송하는 단계를 포함하고,
상기 제2 데이터를 획득하는 단계는
특정 식별 정보를 포함하는 제2 데이터 요청을 상기 임시 데이터베이스에 전송하는 단계; 및
상기 제2 데이터 요청에 따라 상기 임시 데이터베이스로부터 상기 제2 데이터를 획득하는 단계를 포함하는, 비일시적 기록 매체.
A non-transitory computer-readable storage medium having recorded thereon a program for executing a method of providing data to an electronic device on a computer,
The above data provision method is:
A step of receiving a first data request from a front node;
A step of obtaining first data from a main database based on the first data request;
A step of obtaining second data from a temporary database based on the first data request; and
comprising a step of transmitting the first data and the second data to the front node;
The step of obtaining the above second data is
transmitting a second data request containing specific identification information to the temporary database; and
A non-transitory recording medium, comprising a step of obtaining the second data from the temporary database according to the second data request.
KR1020220080614A 2022-06-30 2022-06-30 Data providing method and apparatus for the same Active KR102815485B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020220080614A KR102815485B1 (en) 2022-06-30 2022-06-30 Data providing method and apparatus for the same
PCT/KR2022/010024 WO2024005252A1 (en) 2022-06-30 2022-07-11 Data providing method and device therefor
TW113141522A TWI894029B (en) 2022-06-30 2023-06-16 Data providing method and apparatus for the same
TW112122534A TWI864827B (en) 2022-06-30 2023-06-16 Data providing method and apparatus for the same
KR1020250069171A KR20250079114A (en) 2022-06-30 2025-05-27 Data providing method and apparatus for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220080614A KR102815485B1 (en) 2022-06-30 2022-06-30 Data providing method and apparatus for the same

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020250069171A Division KR20250079114A (en) 2022-06-30 2025-05-27 Data providing method and apparatus for the same

Publications (2)

Publication Number Publication Date
KR20240003313A KR20240003313A (en) 2024-01-08
KR102815485B1 true KR102815485B1 (en) 2025-06-02

Family

ID=89382565

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020220080614A Active KR102815485B1 (en) 2022-06-30 2022-06-30 Data providing method and apparatus for the same
KR1020250069171A Pending KR20250079114A (en) 2022-06-30 2025-05-27 Data providing method and apparatus for the same

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020250069171A Pending KR20250079114A (en) 2022-06-30 2025-05-27 Data providing method and apparatus for the same

Country Status (3)

Country Link
KR (2) KR102815485B1 (en)
TW (2) TWI894029B (en)
WO (1) WO2024005252A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140310287A1 (en) * 2012-12-17 2014-10-16 Unisys Corporation Method and system for storing data in commodity computing
JP2018010424A (en) * 2016-07-12 2018-01-18 株式会社東芝 Database system, data coupling method, integrating server, data coupling program, database system sharing method and database system sharing program
US20190034550A1 (en) * 2016-04-01 2019-01-31 Alibaba Group Holding Limited Data caching method and apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7925967B2 (en) * 2000-11-21 2011-04-12 Aol Inc. Metadata quality improvement
US7996754B2 (en) * 2006-02-13 2011-08-09 International Business Machines Corporation Consolidated content management
KR102012002B1 (en) * 2017-07-20 2019-10-21 네이버 주식회사 Contents sharing method, contents sharing server
US11210288B2 (en) * 2020-05-12 2021-12-28 Coupang Corp. Systems and methods for reducing database query latency
US10963438B1 (en) * 2020-11-17 2021-03-30 Coupang Corp. Systems and methods for database query efficiency improvement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140310287A1 (en) * 2012-12-17 2014-10-16 Unisys Corporation Method and system for storing data in commodity computing
US20190034550A1 (en) * 2016-04-01 2019-01-31 Alibaba Group Holding Limited Data caching method and apparatus
JP2018010424A (en) * 2016-07-12 2018-01-18 株式会社東芝 Database system, data coupling method, integrating server, data coupling program, database system sharing method and database system sharing program

Also Published As

Publication number Publication date
WO2024005252A1 (en) 2024-01-04
TWI894029B (en) 2025-08-11
TW202416151A (en) 2024-04-16
TW202507529A (en) 2025-02-16
KR20240003313A (en) 2024-01-08
TWI864827B (en) 2024-12-01
KR20250079114A (en) 2025-06-04

Similar Documents

Publication Publication Date Title
US11288002B2 (en) System and method for providing high availability data
CN102132273B (en) Annotating webpage content
CN104598459B (en) database processing, data access method and system
US11556518B2 (en) System and method for providing high availability data
KR101903926B1 (en) Efficient query processing using histograms in a columnar database
JP6506412B2 (en) Application loading method and apparatus
US20110029854A1 (en) Web content management
US6968382B2 (en) Activating a volume group without a quorum of disks in the volume group being active
US8494888B2 (en) Offline modification of business data
CN109086388A (en) Block chain date storage method, device, equipment and medium
US11036590B2 (en) Reducing granularity of backup data over time
CN110096295B (en) Multi-module mobile application thermal updating method and system based on reactivating
CN112000746A (en) Data management method and device and server
US20140032703A1 (en) System and method for an expandable computer storage system
KR102815485B1 (en) Data providing method and apparatus for the same
CN111580733A (en) Task processing method and device, computing equipment and medium
US20150347112A1 (en) Providing data analytics for cohorts
CN118820364A (en) Distributed transaction processing method, device, storage medium and electronic device
CN117196632A (en) Order data processing method and related device
CN115391364A (en) Commodity inventory data processing method and device
CN114417208A (en) Configurable general system and system configuration method
Alonso Technical perspective: DFI: the data flow interface for high-speed networks
TWI902437B (en) Method, apparatus, and recording medium for testing newly added software components in the source code
CN114116730B (en) Interface management method, device, equipment and storage medium
US20250328497A1 (en) Destaging metadata changes from in-memory buckets to persistent buckets of variable size

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20220630

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20250130

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20250309

A107 Divisional application of patent
GRNT Written decision to grant
PA0107 Divisional application

Comment text: Divisional Application of Patent

Patent event date: 20250527

Patent event code: PA01071R01D

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20250527

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20250528

End annual number: 3

Start annual number: 1

PG1601 Publication of registration