KR100261267B1 - A coherence of cache memory for the transformed contents - Google Patents

A coherence of cache memory for the transformed contents Download PDF

Info

Publication number
KR100261267B1
KR100261267B1 KR1019970053155A KR19970053155A KR100261267B1 KR 100261267 B1 KR100261267 B1 KR 100261267B1 KR 1019970053155 A KR1019970053155 A KR 1019970053155A KR 19970053155 A KR19970053155 A KR 19970053155A KR 100261267 B1 KR100261267 B1 KR 100261267B1
Authority
KR
South Korea
Prior art keywords
cache
cache memory
query
information
list
Prior art date
Application number
KR1019970053155A
Other languages
Korean (ko)
Other versions
KR19990032180A (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 KR1019970053155A priority Critical patent/KR100261267B1/en
Publication of KR19990032180A publication Critical patent/KR19990032180A/en
Application granted granted Critical
Publication of KR100261267B1 publication Critical patent/KR100261267B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE: A method is provided to identify contents of a database with data stored in a cache memory, the data is changed in real time according to a user request. CONSTITUTION: An assistant memory(17) stores the data which varies in real time according to the user request. A cache memory(14) stores the information with a manufactured format, which is stored in the device(17) and requested by the user at least one time. A database application software(11) receives a query from the user, and sends a response to the query to the user. A database management system(13) manages the contents in the device(17) in response to the query transferred via the application software(11). A cache manager(12) adds newly requested information to the cache memory(14), deletes updated information and provides the information searched in response to the query. A cache connection list(15) and a table connection list(16) are used for adding the information to the cache memory(14) and deleting the information from this cache memory(14).

Description

데이터 베이스의 내용과 캐쉬 메모리에 저장된 내용의 일치 방법How to match the contents of the database with the contents stored in cache memory

본 발명은 데이터 베이스의 내용과 캐쉬 메모리에 저장된 내용의 일치 방법에 관한 것으로서, 특히, 사용자의 요구에 따라 실시간으로 변화하는 데이터를 저장하는 데이터 베이스의 내용과 사용자에 의해 한 번 이상 요구되어 그 요구에 따라 가공된 형태로 캐쉬 메모리에 저장된 내용을 일치시키기 위한 방법에 관한 것이다.The present invention relates to a method of matching the contents of a database with the contents stored in a cache memory. In particular, the contents of a database storing data that are changed in real time according to a user's request, and those required by the user more than once are required. It relates to a method for matching the contents stored in the cache memory in the form processed according to.

일반적으로 매우 인기있는 웹 서버는 초당 수백 내지 수천개 씩의 클라이언트의 요구를 처리해야 한다. 따라서, 이러한 잦은 요구로 인한 서버의 부하를 감소시키기 위한 방법이 필요한데, 그 방법으로는 먼저, 클라이언트 내에 캐쉬 메모리를 두어 한 번 이상 검색된 내용을 상기 캐쉬 메모리에 저장하였다가 클라이언트 자신이 갖고 있는 자료에 대해서는 서버로부터 가져 오지 않고 자신의 캐쉬 메모리에 있는 자료를 활용하도록 하는 방법과, 프락시(proxy)와 같은 대리인을 두어 네트웍의 전달경로를 단축하여 응답속도를 단축시키는 방법이 있다.In general, very popular web servers have to handle hundreds to thousands of client requests per second. Therefore, there is a need for a method for reducing the load on the server caused by such frequent requests. In this method, a cache memory is stored in the client and the searched contents are stored in the cache memory more than once. For example, there are ways to utilize data in its own cache memory without getting it from the server, and a method such as proxy to reduce the response speed by shortening the network transmission path.

그러나, 웹의 전체적인 응답 속도 향상을 위해서는 네트웍의 전달 지연 시간을 단축시켜야 할 뿐만 아니라 서버 자체의 처리 속도를 향상시키는 방법이 요구된다. 이와 같이 서버의 처리 속도를 향상시키기 위해서는 여러가지가 있을 수 있으며, 그 중 메인 메모리를 서버 내의 캐쉬 메모리로 사용하여 서버의 처리 속도를 향상시킬 수 있는 방법이 있다.However, in order to improve the overall response speed of the web, not only the network propagation delay time should be shortened but also the method of improving the processing speed of the server itself is required. As such, there can be various ways to improve the processing speed of the server. Among them, there is a method of improving the processing speed of the server by using the main memory as a cache memory in the server.

그러나, 종래의 기술에 의하면, 상기 서버 내의 캐쉬 메모리에는 하이퍼 텍스트 작성 언어(HTML: Hyper Text Markup Language)문서나 이미지 데이터와 같은 정적인 문서만을 저장하였고, 즉, 사용자가 그 정보를 요구한 시점에서 가공된 상태의 정보를 저장하였고, 사용자의 요구에 의해 실시간으로 가공되어 변화된 정보는 데이터 베이스에만 갱신되었었다.However, according to the related art, only a static document such as a Hyper Text Markup Language (HTML) document or an image data is stored in the cache memory in the server, that is, at a time when the user requests the information. The information of the processed state was stored, and the changed and processed information in real time at the request of the user was updated only in the database.

따라서, 데이터베이스의 내용을 캐쉬 메모리에 읽어온 후 그 데이터베이스의 내용이 변경된 경우 사용자는 이전에 읽어진 캐쉬 메모리의 내용만을 읽어오므로 갱신되기 이전의 내용을 참조하게 된다는 단점이 있었다.Therefore, if the contents of the database are changed after reading the contents of the database, the user reads only the contents of the previously cached memory and has a disadvantage of referencing the contents before being updated.

이러한 단점을 보완하기 위해 종래에는 데이터베이스 관리 시스템(DBMS) 내에만 캐쉬를 두어, 테이블 단위의 정보만을 캐쉬에 저장하였으나, 이러한 방법은 테이블로부터 추출한 정보를 재가공하는 작업이 추가로 요구되어 응답 시간이 오래 걸린다.In order to make up for this drawback, the cache is stored only in the database management system (DBMS), and only the information of the table unit is stored in the cache. However, this method requires an additional process of reprocessing the information extracted from the table. Takes

따라서, 본 발명에서는 상기와 같은 단점을 보완하기 위해 사용자의 요구에 따라 실시간으로 변화하는 데이터를 저장하는 데이터 베이스의 내용과 사용자에 의해 한 번 이상 요구되어 그 요구에 따라 가공된 형태로 캐쉬 메모리에 저장된 내용을 일치시키기 위한 방법을 제공하고자 한다.Accordingly, in the present invention, in order to compensate for the above disadvantages, the contents of the database storing data that are changed in real time according to the user's request and the cache memory are processed in accordance with the requirements of the user. It is intended to provide a method for matching stored content.

본 발명에서 제공하는 방법은 사용자의 요구에 따라 실시간으로 변화하는 데이터를 저장하는 데이터 베이스의 내용과 사용자에 의해 한 번 이상 요구되어 그 요구에 따라 가공된 형태로 캐쉬 메모리에 저장된 내용을 일치시키기 위한 방법에 있어서, 응용 소프트웨어가 사용자로부터 질의를 받은 경우 상기 캐쉬 메모리를 검색하여 이전에 그와 동일한 질의가 있었는지 확인하는 제 1 단계와, 상기 제 1 단계의 확인 결과 동일한 질의가 있었으면 그 질의에 대해 가공되어 캐쉬 메모리에 저장되어 있는 정보를 상기 응용 소프트웨어에게 전달하고, 동일한 질의가 없었으면 데이터 베이스의 내용을 읽어서 상기 응용 소프트웨어가 원하는 형태로 가공하여 상기 응용 소프트웨어에게 전달한 후 상기 캐쉬 메모리에 추가하는 제 2 단계와, 응용 소프트웨어의 질의어에 의해 데이터 베이스의 내용이 갱신된 경우 그 내용에 해당하는 캐쉬 메모리의 정보를 삭제하는 제 3 단계로 구성된다.The method provided by the present invention is for matching the contents of a database storing data that is changed in real time according to a user's request with the contents stored in the cache memory in a processed form according to the request. In the method, when the application software receives a query from the user, a first step of searching the cache memory to confirm whether the same query has been previously performed; And transmits the processed information stored in the cache memory to the application software, and if there is no identical query, reads the contents of a database, processes the application software into a desired form, delivers the information to the application software, and adds it to the cache memory. Step 2, with the application of software If the contents of the database by the synonym update consists of a third step of deleting the information of the cache memory corresponding to the contents.

도 1은 본 발명에 의한 캐쉬의 전체적인 구성도,1 is an overall configuration diagram of a cache according to the present invention,

도 2는 본 발명에 의한 캐쉬 메모리의 자료구조,2 is a data structure of a cache memory according to the present invention;

도 3은 본 발명에 의한 캐쉬의 테이블 연결리스트 자료구조,3 is a table linked list data structure of a cache according to the present invention;

도 4는 본 발명에 의한 테이블 연결리스트의 연결 흐름도,4 is a connection flowchart of a table connection list according to the present invention;

도 5는 본 발명에 의한 테이블 자료구조,5 is a table data structure according to the present invention;

도 6은 본 발명에 의한 테이블의 캐쉬 연결리스트 목록 자료구조,6 is a cache connection list list data structure of a table according to the present invention;

도 7은 본 발명에 의한 캐쉬 연결리스트의 연결 흐름도,7 is a connection flowchart of the cache connection list according to the present invention;

도 8은 본 발명의 실시예에 따라 가공된 정보를 추출하는 흐름도,8 is a flowchart for extracting processed information according to an embodiment of the present invention;

도 9는 본 발명의 실시예에 따라 가공된 정보를 캐쉬에 추가하는 흐름도,9 is a flowchart for adding processed information to a cache according to an embodiment of the present invention;

도 10은 본 발명의 실시예에 따라 가공된 정보를 갱신하는 흐름도.10 is a flowchart for updating processed information according to an embodiment of the present invention.

〈도면의 주요부분에 대한 부호의 설명〉<Explanation of symbols for main parts of drawing>

11 : DB 응용 소프트웨어 12 : 캐쉬 관리자11: DB Application Software 12: Cache Manager

13 : DBMS 14 : 캐쉬 메모리13: DBMS 14: cache memory

15 : 캐쉬 연결리스트 목록 16 : 테이블 연결 리스트15: Cache connection list list 16: Table connection list

17 : 보조 기억장치17: auxiliary memory

이하, 첨부된 도면을 참조하여 본 발명을 좀더 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described the present invention in more detail.

도 1은 본 발명에 의한 캐쉬의 전체적인 구성도이고, 도 2는 본 발명에 의한 캐쉬 메모리의 자료구조이고, 도 3은 본 발명에 의한 캐쉬의 테이블 연결리스트 자료구조이고, 도 4는 본 발명에 의한 테이블 연결리스트의 연결 흐름도이고, 도 5는 본 발명에 의한 테이블 자료구조이고, 도 6은 본 발명에 의한 테이블의 캐쉬 연결리스트 목록 자료구조이고, 도 7은 본 발명에 의한 캐쉬 연결리스트의 연결 흐름도이고, 도 8은 본 발명의 실시예에 따라 가공된 정보를 추출하는 흐름도이고, 도 9는 본 발명의 실시예에 따라 가공된 정보를 캐쉬에 추가하는 흐름도이고, 도 10은 본 발명의 실시예에 따라 가공된 정보를 갱신하는 흐름도이다.1 is an overall configuration diagram of a cache according to the present invention, FIG. 2 is a data structure of a cache memory according to the present invention, FIG. 3 is a table linked list data structure of the cache according to the present invention, and FIG. 5 is a table data structure according to the present invention, FIG. 6 is a cache linked list list data structure of a table according to the present invention, and FIG. 7 is a connection of a cache linked list according to the present invention. 8 is a flowchart for extracting processed information according to an embodiment of the present invention, FIG. 9 is a flowchart for adding processed information to a cache according to an embodiment of the present invention, and FIG. 10 is an embodiment of the present invention. It is a flowchart which updates the processed information according to an example.

도 1을 참조하면, 본 발명에 의한 캐쉬는 사용자의 요구에 따라 실시간으로 변화하는 데이터를 저장하는 보조 기억장치(17)와, 상기 보조 기억장치(17)에 저장되어 있는 정보 중 사용자에 의해 한 번 이상 요구되어 그 요구에 따라 가공된 형태의 정보가 저장되는 캐쉬 메모리(14)와, 사용자로부터 전달된 질의를 받거나, 그 질의에 대한 응답을 사용자에게 전달시키는 DB 응용 소프트 웨어(11)와, 상기 DB 응용 소프트 웨어(11)를 통해 전달된 질의어에 의해 상기 보조 기억장치(17)의 내용을 관리하는 데이터 베이스 관리 시스템(DBMS:Data Base Management System)(13)과, 상기 캐쉬 메모리(14)에 새롭게 요구된 정보를 추가하거나, 갱신된 정보를 삭제하고, 상기 DB 응용 소프트 웨어(11)를 통해 전달된 질의어에 의해 검색된 정보를 사용자에게 제공하도록 상기 캐쉬 메모리(14)를 관리하는 캐쉬 관리자(12)와, 상기 캐쉬 메모리(14)에 정보를 추가하고, 삭제하는데 사용되는 캐쉬 연결 리스트 목록(15) 및 테이블 연결 리스트(16)로 구성된다.Referring to FIG. 1, the cache according to the present invention may be configured by an auxiliary storage device 17 that stores data that changes in real time according to a user's request, and information stored in the auxiliary storage device 17 by the user. A cache memory 14 for storing information processed in accordance with the request, which is required more than once, and a DB application software 11 for receiving a query transmitted from a user or delivering a response to the query to the user; A database management system (DBMS) 13 for managing the contents of the auxiliary storage device 17 by a query word transmitted through the DB application software 11, and the cache memory 14; The cache memory 14 to add newly requested information or delete updated information, and to provide a user with information retrieved by a query word transmitted through the DB application software 11. It comprises a cache manager 12 for managing the information, and a cache connection list list 15 and a table connection list 16 used to add and delete information in the cache memory 14.

상기와 같은 구성을 갖는 캐쉬는 사용자로부터 임의의 질의어를 받은 DB 응용 소프트 웨어(11)가 상기 캐쉬 관리자(12)에게 그 질의어를 전달하면, 상기 캐쉬 관리자(12)는 그 질의어를 분석하여 상기 캐쉬 메모리(14) 영역을 검색하고, 검색 결과 동일한 질의어에 의해 생성된 내용이 있으면, 캐쉬 메모리(14)에서 정보를 읽어 상기 DB 응용 소프트 웨어(11)를 통해 사용자에게 응답하고, 상기 검색 결과 동일한 질의어에 의해 생성된 내용이 없으면, 상기 DBMS(13)에 의해 데이터 베이스(DB:Data Base)(17)를 검색하여 원하는 정보를 가공한 후 상기 DB 응용 소프트 웨어(11)를 통해 사용자에게 응답한다.In the cache having the above-described configuration, when the DB application software 11 which receives an arbitrary query from the user delivers the query to the cache manager 12, the cache manager 12 analyzes the query and the cache is analyzed. Search the memory 14 area, if the search results are generated by the same query, read information from the cache memory 14 and respond to the user through the DB application software 11, the search query the same query If there is no content generated by the DBMS 13, the DBMS 13 searches the database 17, processes the desired information, and then responds to the user through the DB application software 11.

이 때, 만일 상기 캐쉬 메모리(14)에 원하는 정보가 없어서, 새로이 가공된 DB(17)의 내용이 사용자에게 제공된 경우 이 정보를 상기 캐쉬 메모리(14)에 추가한다.At this time, if there is no desired information in the cache memory 14 and the contents of the newly processed DB 17 are provided to the user, this information is added to the cache memory 14.

도 2를 참조하면, 상기 캐쉬 메모리(14)의 자료구조는 먼저, 그 자료 구조의 키(key)가되는 100바이트(Byte) 문자형(char:Character Type)의 캐쉬키(cache_key) (21)와, 캐쉬 메모리의 페이지를 나타내는 4바이트(Byte) 정수형(int:Integer Type)의 캐쉬 페이지(cache_page)(22)와, DB(17) 내에 저장된 테이블의 포인터 정보를 저장하는 4바이트(Byte) 포인터형(point of table_list)의 테이블 연결 리스트(table_list_ptr)(23)로 구성된다.Referring to FIG. 2, the data structure of the cache memory 14 is first composed of a cache key (cache_key) 21 of a 100-byte character type (char: Character Type) serving as a key of the data structure. A 4-byte integer (int: Integer Type) cache page (cache_page) 22, and a 4-byte pointer type that stores pointer information of a table stored in the DB 17. It consists of a table linked list (table_list_ptr) 23 of (point of table_list).

또한, 도 3을 참조하면, 상기 캐쉬 메모리(14)에서 참조하는 테이블에 대한 연결 리스트(16)의 자료구조는, 상기 캐쉬 메모리(14)에서 참조하는 테이블의 이름을 나타내는 20바이트(Byte) 문자형(char:Character Type)의 테이블 이름(table_name) (31)과, 그 테이블의 뒤에 연결된 테이블의 포인터 정보를 저장하는 4바이트(Byte) 포인터형(point of table_list)의 다음 테이블 연결 리스트(next_table)(32)로 구성된다.Referring to FIG. 3, the data structure of the linked list 16 for the table referred to in the cache memory 14 is a 20 byte character type representing the name of the table referred to in the cache memory 14. (char_Character Type) table name (table_name) (31), and the next table linked list (next_table) of the 4-byte point of table_list that stores pointer information of the table linked behind it. 32).

도 2에 나타난 상기 캐쉬 메모리(14)의 자료 구조와 도 3에 나타난 테이블 연결 리스트(16)의 자료구조에 의한 테이블 연결리스트의 연결 흐름도가 도 4에 나타나있다. 도 4를 참조하면, 먼저, 캐쉬 메모리(14)의 테이블 연결 리스트(table_list_ptr)(23)의 포인터 정보를 참조하여 그 포인터가 가리키는 번지에 저장되어 있는 테이블 이름(31) 정보를 추출하고, 다음 테이블 연결 리스트(next_table)(32)필드 정보를 참조하여 그 포인터가 가리키는 번지에 저장되어 있는 테이블 이름(31) 정보를 추출한다. 이와 같은 단계를 반복함으로써, 캐쉬 메모리(14)의 정보 검색에 필요한 테이블의 연결 흐름을 알 수 있다.A connection flow diagram of the table connection list by the data structure of the cache memory 14 shown in FIG. 2 and the data structure of the table connection list 16 shown in FIG. 3 is shown in FIG. 4, first, by referring to the pointer information of the table linked list (table_list_ptr) 23 of the cache memory 14, the table name 31 information stored at the address indicated by the pointer is extracted, and the next table The table name 31 information stored at the address indicated by the pointer is extracted by referring to the linked list (next_table) 32 field information. By repeating these steps, it is possible to know the connection flow of the tables necessary for retrieving the information in the cache memory 14.

또한, 도 5를 참조하면, 본 발명에 의한 테이블 자료구조는 테이블의 이름을 나타내는 20바이트 문자형(char)의 테이블 이름(table_name)(51)과, 그 테이블이 참조되고 있는 캐쉬 메모리내의 번지를 나타내는 4바이트 포인터형(pointer of cache_list) 캐쉬 리스트 포인터(cache_list_ptr)(52)로 구성되고, 도 6을 참조하면, 본 발명에 의한 테이블의 캐쉬 연결리스트 목록 자료구조는 상기 캐쉬 메모리(14) 자료구조의 키(key)가 되는 100바이트 문자형(char) 캐쉬키 이름(cache_key)(61)과, 다음에 연결되는 캐쉬키가 저장된 포인터 정보를 저장하는 4바이트 포인터형(pointer of cache_list)의 다음 캐쉬 연결 리스트(next_cache)(62)로 구성된다.Referring to Fig. 5, the table data structure according to the present invention shows a table name (table_name) 51 of a 20-byte character type (char) representing a table name, and a address in the cache memory to which the table is referenced. Consists of a four-byte pointer of cache_list cache list pointer (cache_list_ptr) 52, and referring to FIG. 6, a cache linked list list data structure of a table according to the present invention is defined in the cache memory 14 data structure. The next cache connection list of the four-byte pointer of cache_list that stores the pointer information that stores the 100-byte char cache key name (cache_key) 61 to be the key and the cache key to which it is connected. (next_cache) 62.

도 7은 본 발명에 의한 캐쉬 연결리스트의 연결 흐름도인데, 도 7을 참조하면, 먼저, 도 5에 나타난 테이블 자료 구조의 캐쉬 리스트 포인터(cache_list_ptr)(52)의 포인터 정보를 참조하여 그 포인터가 가리키는 번지에 저장된 캐쉬키 이름(cache_key)(61) 정보를 추출하고, 다음 캐쉬 연결 리스트(next_cache)(62) 필드 정보를 참조하여 그 포인터가 가리키는 번지에 저장되어 있는 캐쉬키 이름(cache_key)(61) 정보를 추출한다. 이와 같은 단계를 반복함으로써, 테이블이 참조되는 캐쉬 메모리(14)의 정보 검색에 필요한 테이블의 연결 흐름을 알 수 있다.FIG. 7 is a connection flow diagram of a cache connection list according to the present invention. Referring to FIG. 7, first, pointer information of a cache list pointer (cache_list_ptr) 52 of the table data structure shown in FIG. 5 is referred to by the pointer. Extract the cache key name (cache_key) 61 information stored in the address, refer to the next cache connection list (next_cache) 62 field information, and store the cache key name (cache_key) 61 stored at the address to which the pointer points. Extract the information. By repeating these steps, the connection flow of the tables necessary for retrieving the information in the cache memory 14 to which the table is referenced can be known.

도 1 및 도 8을 참조하면, 상기 도 1 내지 도 7과 같은 구성 및 자료 구조를 갖는 본 발명의 캐쉬를 이용하여 가공된 정보를 추출하는 처리 과정은 먼저, 사용자로부터 질의어를 전달받은 DB 응용 소프트 웨어(11)가 캐쉬 관리자(12)에게 질의어를 전달(S101)하면, 상기 캐쉬 관리자(12)는 그 질의어를 분석(S102)한 후, 캐쉬 메모리(14)에 그 질의어에 의해 가공된 정보가 존재하는 지를 확인(S103)한다.Referring to FIGS. 1 and 8, a process of extracting processed information using the cache of the present invention having the configuration and data structure as shown in FIGS. 1 to 7 is first performed by a DB application software that receives a query from a user. When the wear 11 transmits a query to the cache manager 12 (S101), the cache manager 12 analyzes the query (S102), and then the information processed by the query is stored in the cache memory 14. Check whether there exists (S103).

상기 확인(S103)결과 캐쉬 메모리(14)에 가공된 정보가 존재하면 캐쉬 메모리(14)에서 그 정보를 읽어(S104) 사용자에게 보내주고(S105), 만일 캐쉬 메모리(14)에 가공된 정보가 존재하지 않으면 상기 DBMS(13)에게 사용자로부터 전달받은 질의어를 전달(S106)하고, DB(17)로부터 해당 정보를 추출(S107)하여 그 추출된 정보를 응용 소프트웨어(11)로 전달(S108)한다. 그러면, 상기 응용 소프트웨어(11)는 상기 추출된 정보를 가공(S109)하여 그 정보를 요청한 사용자에게 보내주고(S105), 가공된 정보를 캐쉬 메모리(14)에 추가(S110)한다.As a result of the check (S103), if the processed information exists in the cache memory 14, the cache memory 14 reads the information (S104) and sends it to the user (S105), and if the processed information is stored in the cache memory 14 If it does not exist, the DBMS 13 transmits the query word received from the user (S106), extracts the corresponding information from the DB 17 (S107), and delivers the extracted information to the application software 11 (S108). . Then, the application software 11 processes the extracted information (S109) and sends the information to the requesting user (S105), and adds the processed information to the cache memory 14 (S110).

이 때, 상기 캐쉬 메모리(14)에 정보를 추가하는 과정에 대한 흐름도가 도 9에 나타나 있다. 도 1 및 도 9를 참조하면, 먼저, 상기 응용 소프트웨어(11)로부터 전달된 질의 및 그 질의에 의해 가공된 정보를 캐쉬 관리자(12)에게 전달(S111)하면, 그 캐쉬 관리자(12)는 상기 가공된 정보를 캐쉬 메모리에 저장(S112)하고, 상기 질의를 분석하여 사용된 테이블 이름을 추출(S113)한 후, 그 추출된 테이블의 이름을 캐쉬의 테이블 연결리스트에 저장(S114)하고, 그 테이블 이름을 키로하는 캐쉬 리스트 목록에 캐쉬의 포인터를 삽입(S115)한다.In this case, a flowchart of a process of adding information to the cache memory 14 is shown in FIG. 9. Referring to FIG. 1 and FIG. 9, first, a query transmitted from the application software 11 and information processed by the query are transferred to the cache manager 12 (S111). The processed information is stored in the cache memory (S112), the query is analyzed to extract the used table name (S113), and the name of the extracted table is stored in the cache table linked list (S114), and A cache pointer is inserted into the cache list list having the table name as a key (S115).

한편, 사용자의 요구에 의해 데이터 베이스의 내용이 갱신된 경우 이를 처리하기 위한 흐름도는 도 10에 나타나 있으며, 도 1 및 도 10을 참조하면 DB(17) 및 캐쉬 메모리(14)의 갱신처리는, 먼저, DB 응용 소프트웨어(11)가 사용자로부터 전달된 질의어를 상기 캐쉬 관리자(12) 및 DBMS(13)으로 전달(S116)하면, 상기 DBMS (13)는 그 관리 방식에 따라 DB(17)를 갱신(S121)한다.On the other hand, a flow chart for processing the contents of the database when the user's request is updated is shown in Figure 10, referring to Figures 1 and 10, the update processing of the DB 17 and the cache memory 14, First, when the DB application software 11 transfers the query word transmitted from the user to the cache manager 12 and the DBMS 13 (S116), the DBMS 13 updates the DB 17 according to the management scheme. (S121).

한편, 상기 캐쉬 관리자(12)는 상기 응용 소프트웨어(11)로부터 전달받은 질의어를 분석(S117)하여 갱신이 일어나는 테이블의 이름을 추출(S118)하고, 도 5의 테이블 자료 구조에서 테이블 이름(table_name)(51) 필드가 그 추출된 테이블의 이름과 동일한 데이터를 찾아 그 캐쉬 리스트 포인터(cache_list_ptr)(52)가 가리키는 번지에 연결된 모든 캐쉬 내용을 삭제(S119)하고, 도 6에 나타난 캐쉬 연결 리스트 목록에서 삭제하고자 하는 캐쉬를 연결에서 제거(S120)한다.On the other hand, the cache manager 12 analyzes the query received from the application software 11 (S117) to extract the name of the table in which the update occurs (S118), and the table name (table_name) in the table data structure of FIG. (51) finds data whose field is the same as the name of the extracted table, deletes all the cache contents connected to the address indicated by the cache list pointer (cache_list_ptr) 52 (S119), and removes from the cache connection list list shown in FIG. The cache to be deleted is removed from the connection (S120).

따라서, 상기와 같은 본 발명은 가공된 형태의 내용에 대한 캐쉬의 비일치성을 극복하여, 전자상거래의 데이터베이스 게이트웨이(gateway) 응용소프트와 같이 자료의 추가나 수정보다는 단순한 검색 질의를 더 많이 요구하는 환경에서, 데이터베이스 테이블로부터 추출한 정보를 재가공하는 추가적인 작업없이 현재의 데이터베이스 내용을 사용자에게 올바르게 반영할 수 있다는 장점이 있다.Accordingly, the present invention as described above overcomes the inconsistency of the cache for the processed form of contents, requiring more simple search queries than adding or modifying data, such as database gateway application software in electronic commerce. Has the advantage of correctly reflecting the current database contents to the user without the additional work of reprocessing the information extracted from the database tables.

Claims (3)

사용자의 요구에 따라 실시간으로 변화하는 데이터를 저장하는 데이터 베이스의 내용과 사용자에 의해 한 번 이상 요구되어 그 요구에 따라 가공된 형태로 캐쉬 메모리에 저장된 내용을 일치시키기 위한 방법에 있어서,In the method for matching the contents of the database that stores the data that changes in real time according to the user's request and the contents stored in the cache memory in the form of processing requested according to the request more than once by the user, 응용 소프트웨어가 사용자로부터 질의를 받은 경우 상기 캐쉬 메모리를 검색하여 이전에 그와 동일한 질의가 있었는지 확인하는 제 1 단계와,A first step of, when an application software receives a query from a user, searching the cache memory to determine whether the same query has been previously present; 상기 제 1 단계의 확인 결과 동일한 질의가 있었으면 그 질의에 대해 가공되어 캐쉬 메모리에 저장되어 있는 정보를 상기 응용 소프트웨어에게 전달하고, 동일한 질의가 없었으면 데이터 베이스의 내용을 읽어서 상기 응용 소프트웨어가 원하는 형태로 가공하여 상기 응용 소프트웨어에게 전달한 후 상기 캐쉬 메모리에 추가하는 제 2 단계와,If the same query is found as a result of the first step, information about the query is processed and stored in the cache memory to the application software. If there is no query, the contents of the database are read and the application software is in a desired form. A second step of processing and delivering the application software to the cache memory; 응용 소프트웨어의 질의어에 의해 데이터 베이스의 내용이 갱신된 경우 그 내용에 해당하는 캐쉬 메모리의 정보를 삭제하는 제 3 단계로 구성된 것을 특징으로 하는 데이터 베이스의 내용과 캐쉬 메모리에 저장된 내용의 일치 방법.And a third step of deleting the information of the cache memory corresponding to the contents when the contents of the database are updated by the query word of the application software. 제 1 항에 있어서,The method of claim 1, 상기 제 2 단계는The second step is 가공된 정보를 상기 캐쉬 메모리에 추가하기 위해To add processed information to the cache memory 상기 응용 소프트웨어로부터 전달된 질의 및 그 질의에 의해 가공된 정보를 캐쉬 메모리 관리 장치로 전달하는 제 21 단계와,A twenty-first step of delivering the query transmitted from the application software and the information processed by the query to the cache memory management apparatus; 상기 캐쉬 메모리 관리 장치가 상기 가공된 정보를 캐쉬 메모리에 저장하고, 상기 질의를 분석하여 사용된 테이블 이름을 추출하는 제 22 단계와,A twenty-second step of the cache memory management apparatus storing the processed information in a cache memory and analyzing the query to extract a used table name; 상기 22 단계에서 추출된 테이블의 이름을 캐쉬의 테이블 연결리스트에 저장하고, 그 테이블 이름을 키로하는 캐쉬 리스트 목록에 캐쉬의 포인터를 삽입하는 제 23 단계로 구성된 것을 특징으로 하는 데이터 베이스의 내용과 캐쉬 메모리에 저장된 내용의 일치 방법.And a twenty-third step of storing the name of the table extracted in step 22 in a cached table linked list and inserting a cache pointer into a cache list list whose key is the table name. How to match what is stored in memory. 제 1 항에 있어서,The method of claim 1, 상기 제 3 단계는The third step is 캐쉬 메모리 관리 장치가 상기 응용 소프트웨어의 질의어를 분석하여 갱신이 일어나는 테이블의 이름을 추출하는 제 31 단계와,A 31 st step of the cache memory management apparatus analyzing a query of the application software and extracting a name of a table where an update occurs; 캐쉬 연결 리스트 목록 중 상기 추출된 테이블의 이름을 키로 하는 리스트에 연결된 모든 캐쉬 내용을 삭제하는 제 32 단계와,A thirty-second step of deleting all cache contents connected to a list having a name of the extracted table as a key in a cache connection list list; 캐쉬 연결 리스트 목록에서 삭제하려는 캐쉬를 연결에서 제거하는 제 33 단계로 구성된 것을 특징으로 하는 데이터 베이스의 내용과 캐쉬 메모리에 저장된 내용의 일치 방법.And a thirty-third step of removing the cache to be deleted from the cache connection list list from the connection.
KR1019970053155A 1997-10-16 1997-10-16 A coherence of cache memory for the transformed contents KR100261267B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970053155A KR100261267B1 (en) 1997-10-16 1997-10-16 A coherence of cache memory for the transformed contents

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970053155A KR100261267B1 (en) 1997-10-16 1997-10-16 A coherence of cache memory for the transformed contents

Publications (2)

Publication Number Publication Date
KR19990032180A KR19990032180A (en) 1999-05-06
KR100261267B1 true KR100261267B1 (en) 2000-07-01

Family

ID=19522886

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970053155A KR100261267B1 (en) 1997-10-16 1997-10-16 A coherence of cache memory for the transformed contents

Country Status (1)

Country Link
KR (1) KR100261267B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101376320B1 (en) 2011-04-01 2014-03-21 (주)네오위즈게임즈 Server, device, and the method for increasing efficiency of caching in a Web environment

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100430561B1 (en) * 2000-12-27 2004-05-10 주식회사 케이티 Method for providing data consistency between web server and web cache server in active network environment
KR100496159B1 (en) * 2002-06-29 2005-06-20 주식회사 케이티 Usability-based Cache Management Scheme Method of Query Results
KR101318234B1 (en) * 2012-04-25 2013-10-15 주식회사 비트랜 Data cache method and device for database system
KR102399767B1 (en) 2020-08-20 2022-05-19 한솔테크닉스(주) Sub-pcb, pcb assembly including the same, and electronic devices using the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101376320B1 (en) 2011-04-01 2014-03-21 (주)네오위즈게임즈 Server, device, and the method for increasing efficiency of caching in a Web environment

Also Published As

Publication number Publication date
KR19990032180A (en) 1999-05-06

Similar Documents

Publication Publication Date Title
US8509266B2 (en) Using network traffic logs for search engine index updates
US5933832A (en) Retrieval system for frequently updated data distributed on network
US8090693B2 (en) System, method, and article of manufacture for maintaining and accessing a whois database
JP4593793B2 (en) Web server with queryable dynamic cache
US6397253B1 (en) Method and system for providing high performance Web browser and server communications
US6249844B1 (en) Identifying, processing and caching object fragments in a web environment
US6564257B1 (en) Repository protection by URL expiration
US7124358B2 (en) Method for dynamically generating reference identifiers in structured information
US20080301313A1 (en) Method and Apparatus for Local IP Address Translation
JP2003271441A (en) Data processing method, and network service system and program using the method
WO1997019564A2 (en) Universal electronic resource denotation, request and delivery system
US7376650B1 (en) Method and system for redirecting a request using redirection patterns
JP2000076118A (en) Distributed file processor and distributed file processing method
US20020026529A1 (en) Automatic display method and apparatus for update information, and medium storing program for the method
KR100261267B1 (en) A coherence of cache memory for the transformed contents
JPH09204442A (en) Document data retrieval system
JP2940459B2 (en) Node / link search device
JP4405695B2 (en) Update information automatic display method, apparatus, medium, and program
JP2004110080A (en) Computer network connection method on internet by real name, and computer network system
JPH1040180A (en) Information repeating device
RU2316048C2 (en) Method for requesting/delivering an electronic document, based on expandable language specification (xml)
JP2001084169A (en) Document database access device
JP2005503600A (en) Method and system for providing message publishing with Dynamic Page Builder over the Internet
KR100595165B1 (en) Searching Method for Documents referring a Document through Web Server
JP2004272747A (en) Method and system for acquiring data of database

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100401

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee