KR20110064486A - System for controlling consistency of metadata cache in saas platform capable of providing multi-tenancy and method thereof - Google Patents

System for controlling consistency of metadata cache in saas platform capable of providing multi-tenancy and method thereof Download PDF

Info

Publication number
KR20110064486A
KR20110064486A KR1020090121125A KR20090121125A KR20110064486A KR 20110064486 A KR20110064486 A KR 20110064486A KR 1020090121125 A KR1020090121125 A KR 1020090121125A KR 20090121125 A KR20090121125 A KR 20090121125A KR 20110064486 A KR20110064486 A KR 20110064486A
Authority
KR
South Korea
Prior art keywords
metadata
web application
application server
cache
database
Prior art date
Application number
KR1020090121125A
Other languages
Korean (ko)
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 KR1020090121125A priority Critical patent/KR20110064486A/en
Publication of KR20110064486A publication Critical patent/KR20110064486A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE: A consistency control system and method of a meta data cache in an SaaS platform supporting multi-tenancy are provided to reflect the change of meta data to the meta data cache of a corresponding web application by tracking of a corresponding web application server in the change of the meta data. CONSTITUTION: Web application servers(100~102) respectively include a meta data cache(110~112). In case the saved meta data of the meta data cache is changed, a database(120) traces a corresponding web application. The corresponding web application has the previous version meta data of change-requested meta data. The database transmits the changed meta data to the web application server. The database updates the meta data cache.

Description

멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템 및 방법{SYSTEM FOR CONTROLLING CONSISTENCY OF METADATA CACHE IN SAAS PLATFORM CAPABLE OF PROVIDING MULTI-TENANCY AND METHOD THEREOF}SYSTEM FOR CONTROLLING CONSISTENCY OF METADATA CACHE IN SAAS PLATFORM CAPABLE OF PROVIDING MULTI-TENANCY AND METHOD THEREOF}

본 발명은 멀티테넌시(multi-tenancy)를 지원하는 SaaS 플랫폼(platform)에 관한 것으로, 특히 데이터베이스(data base)에 저장된 메타데이터(meta data)를 통해 멀티테넌시를 지원하는 SaaS 플랫폼에서 성능 향상을 위해 여러 웹 어플리케이션 서버(web application server)에 메타데이터 캐시(cache)를 두는 경우 데이터베이스와 메타데이터 캐시간 데이터의 일관성을 유지시킬 수 있도록 하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법에 관한 것이다.The present invention relates to a SaaS platform that supports multi-tenancy, and in particular, to improve performance in a SaaS platform that supports multi-tenancy through metadata stored in a database. Consistency of metadata caches on SaaS platforms that support multi-tenancy to ensure that the database and metadata cache data are consistent when metadata caches are placed on multiple web application servers. It relates to a control method.

본 발명은 지식경제부의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2009-S-033-01, 과제명: 중소기업 SW 서비스를 위한 SaaS 플랫폼 개발].The present invention is derived from a study conducted as part of the IT growth engine technology development project of the Ministry of Knowledge Economy [Task management number: 2009-S-033-01, Task name: Development of SaaS platform for SME SW service].

멀티테넌시를 지원하는 SaaS 플랫폼은 SaaS 서비스에 대해 테넌트(tenant)별 커스트마이즈(customize)를 지원하기 위해, 사용자 인터페이스(interface)를 위한 웹 유저인터페이스(web user interface), 서비스 처리를 위한 워크 플로우(work flow), 그리고 서비스에 정의된 데이터 구조를 위한 데이터 스키마(data schema) 정보를 모두 메타데이터 형태로 데이터베이스에 저장 및 관리한다. 이를 통해 테넌트별 사용자의 서비스 요청에 대해 메타데이터로부터 읽고 해석하여 해당 워크플로우를 실행하고, 필요한 데이터를 가져와서, 사용자 웹 유저인터페이스 (즉, 웹 페이지)를 넘겨준다.The SaaS platform that supports multi-tenancy supports tenant-specific customization of SaaS services, a web user interface for the user interface, and a workflow for service processing. (work flow) and data schema information for the data structure defined in the service are all stored and managed in the database in the form of metadata. It reads and interprets metadata from tenant users' service requests, executes the corresponding workflow, imports the necessary data, and passes the user web user interface (ie, web page).

SaaS 플랫폼은 사용자 요청을 처리하기 위해서는 양이 적고 갱신이 거의 없는 메타데이터를 매번 네트워크(network)를 통해 데이터베이스로부터 읽어 와야 한다. 그래서 메타데이터를 웹 어플리케이션 캐시(web application cache)에 둠으로써, 네트워크를 통해 데이터베이스에 접근하지 않고 필요한 메타데이터를 캐시에서 가져와서 처리할 수 있다. To handle user requests, the SaaS platform needs to read metadata from the database each time over a network with small amounts and few updates. So by putting metadata in a web application cache, you can retrieve and process the necessary metadata from the cache without accessing the database over the network.

도 1은 종래 일반적인 SaaS 플랫폼 시스템의 구성을 도시한 것으로, SaaS 플랫폼 시스템은 n개의 웹 어플리케이션 서버(100, 101, 102), 데이터베이스(120)로 구성되어 있으며, 각 웹 어플리케이션 서버(100, 101, 102)는 데이터베이스(120)에 있는 메타데이터를 캐시하기 위하여 메타데이터 캐시(110, 111, 112)를 구비한다. FIG. 1 illustrates a configuration of a conventional SaaS platform system. A SaaS platform system includes n web application servers 100, 101, and 102 and a database 120, and each web application server 100, 101, 102 includes metadata caches 110, 111, 112 to cache metadata in database 120.

위 도 1에서 보여지는 바와 같이 종래 웹 어플리케이션 서버(100, 101, 102)는 메타데이터 캐시(110, 111, 112)를 이용하여 사용자 요청을 처리 시마다 메타데이터를 네트워크를 통해 데이터베이스(120)로부터 얻어오는 오버헤드(overhead) 없이 웹 어플리케이션 서버(100, 101, 102)에 구비된 메타데이터 캐시(110, 111, 112)에서 메타데이터를 읽어와서 처리할 수 있다.As shown in FIG. 1, the conventional web application server 100, 101, 102 obtains metadata from the database 120 through a network whenever a user request is processed using the metadata cache 110, 111, 112. Metadata can be read and processed from the metadata caches 110, 111, and 112 provided in the web application servers 100, 101, and 102 without coming overhead.

그러나, 메타데이터 캐시를 구비하는 웹 어플리케이션 서버와 메타데이터를 저장하고 있는 데이터 베이스로 구성되는 종래 SaaS 플랫폼 시스템에서는 데이터베이스에 있는 메타데이터가 테넌트 관리자(customization tool)에 의해 커스트마이즈 결과로 변경이 되는 경우 데이터베이스의 변경된 메타데이터와 웹 어플리케이션 서버에 구비되는 메타데이터 캐시에 저장된 메타데이터간에 데이터 불일치가 발생하는 문제점이 있었다.However, in the conventional SaaS platform system including a web application server having a metadata cache and a database storing metadata, when the metadata in the database is changed as a result of customization by a tenant administrator (customization tool). There is a problem in that data inconsistency occurs between changed metadata of a database and metadata stored in a metadata cache provided in a web application server.

따라서, 본 발명은 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법으로서, 데이터베이스에 메타데이터 캐시를 추적 관리할 수 있는 메타데이터 캐시 추적 리스트와 리스 설정 데이터 테이블을 구현하고, 메타데이터의 변경 시 해당되는 웹 어플리케이션 서버를 추적하여 메타데이터의 변경 사항이 해당 웹 어플리케이션의 메타데이터 캐시에 반영되도록 함으로서 메타데이터 캐시의 일관성이 유지되도록 하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법을 제공하고자 한다.Accordingly, the present invention provides a method for controlling the consistency of a metadata cache in a SaaS platform supporting multi-tenancy, and implements a metadata cache trace list and a lease configuration data table for tracking and managing a metadata cache in a database. Of the metadata cache on the SaaS platform that supports multi-tenancy that keeps the metadata cache consistent by tracking the web application server when the change is made and reflecting the metadata changes in the metadata cache of the web application. We want to provide a consistency control method.

상술한 본 발명은 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템으로서, 메타데이터 캐시를 구비하는 웹 어플리케이션 서버와, 상기 메타데이터 캐시에 저장되는 메타데이터의 변경이 있는 경우 상기 변경 요청된 메타데이터의 이전 버전 메타데이터를 가지고 있는 상기 웹 어플리케이션을 추적하고, 상기 웹 어플리케션 서버로 상기 변경된 메타데이터를 전송하여 상기 메터데이터 캐시를 갱신시키는 데이터베이스를 포함한다.The present invention described above is a system for controlling consistency of a metadata cache in a SaaS platform supporting multi-tenancy, and includes a web application server including a metadata cache and a change in metadata stored in the metadata cache. And a database that tracks the web application having previous version metadata of the requested metadata and sends the modified metadata to the web application server to update the metadata cache.

또한, 상기 데이터베이스는, 상기 웹 어플리케이션 서버의 메타데이터 갱신 여부를 추적하기 위한 메타데이터 캐시 서버 추적 리스트를 구비하는 것을 특징으로 한다.The database may include a metadata cache server tracking list for tracking whether the web application server has updated the metadata.

또한, 상기 메타데이터 캐시 서버 추적 리스트는, 상기 웹 어플리케이션 서버의 IP 주소 정보와, 메타데이터 버전 번호 정보와 상기 메타데이터를 획득한 리스 획득 시간 정보를 포함하는 것을 특징으로 한다.The metadata cache server tracking list may include IP address information of the web application server, metadata version number information, and lease acquisition time information obtained from the metadata.

또한, 상기 데이터베이스는, 상기 웹 어플리케이션 서버로 제공하는 메타데이터에 대해 상기 메타데이터가 유효한지를 보증하는 리스 유효 시간을 설정하여, 상기 리스 유효 시간 경과 시마다 상기 웹 어플리케이션 서버가 상기 메타데이터에 대한 리스 연장 요청을 통해 상기 메타데이터의 갱신을 수행하도록 하는 것을 특징으로 한다.In addition, the database sets a lease validity time for ensuring that the metadata is valid for metadata provided to the web application server, and the web application server extends a lease for the metadata every time the lease validity time elapses. The metadata may be updated by request.

또한, 상기 데이터베이스는, 상기 웹 어플리케이션 서버로부터 상기 메타데이터 캐시에 대한 갱신 요청을 수신하는 경우, 상기 갱신 요청된 테넌트 식별자와 서비스 식별자에 대한 메타데이터를 검색하여 변경된 메타데이터를 상기 웹 어플리케이션 서버로 전송하는 것을 특징으로 한다.In addition, when receiving the update request for the metadata cache from the web application server, the database retrieves the metadata for the updated tenant identifier and service identifier and transmits the changed metadata to the web application server. Characterized in that.

또한, 상기 데이터베이스는, 상기 메타데이터의 갱신 수행 시 상기 웹 어플리케이션 서버로 전송한 메타데이터의 리스 획득 시간을 상기 메타데이터를 상기 웹 어플리케이션 서버로 전송하는 시간으로 변경하는 것을 특징으로 한다.The database may change the lease acquisition time of the metadata transmitted to the web application server to a time for transmitting the metadata to the web application server when the metadata is updated.

또한, 상기 데이터베이스는, 상기 메타데이터 캐시에 대한 갱신 요청 수신 시, 상기 갱신 요청된 테넌트 식별자와 서비스 식별자에 대한 메타데이터를 검색되지 않는 경우, 상기 테넌트 식별자와 서비스 식별자에 대해 새로운 리스트 엔트리를 구성하고 메타데이터를 생성하여 제공하는 것을 특징으로 한다.The database may further configure a new list entry for the tenant identifier and the service identifier when the metadata for the updated tenant identifier and the service identifier is not retrieved when the update request for the metadata cache is received. Characterized by generating and providing the metadata.

또한, 상기 데이터베이스는, 상기 웹 어플리케이션 서버로의 메타데이터 갱신 요청이 실패되는 경우, 상기 메타데이터 갱신 요청의 실패를 로그 정보를 기록하는 것을 특징으로 한다.In addition, the database, when the metadata update request to the web application server fails, characterized in that for recording the log information of the failure of the metadata update request.

또한, 상기 웹 어플리케이션 서버는, 상기 데이터베이스로부터 상기 변경된 메타데이터를 전송 받는 경우, 상기 메타데이터 캐시에서 상기 변경된 메타데이터에 해당하는 리스트 엔트리를 검색하여 상기 리스트 엔트리내 메타데이터 필드에 저장된 메타데이터를 상기 변경된 메타데이터로 갱신시키는 것을 특징으로 한다.In addition, when the web application server receives the changed metadata from the database, the web application server searches for a list entry corresponding to the changed metadata in the metadata cache and stores the metadata stored in the metadata field in the list entry. And updating the changed metadata.

또한, 상기 웹 어플리케이션 서버는, 상기 변경된 메타데이터를 전송 받아, 상기 메타데이터의 갱신 시 상기 리스트 엔트리내 리스 획득 시간을 상기 메타데이터의 갱신이 수행된 시간으로 갱신시키는 것을 특징으로 한다.The web application server may receive the changed metadata, and update the lease acquisition time in the list entry to the time at which the metadata is updated when the metadata is updated.

또한, 상기 웹 어플리케이션 서버는, 상기 메타데이터 캐시내 각 테넌트별 리스트 엔트리내 메타데이터에 대한 리스 유효 시간 정보를 구비하여 상기 리스 유효 시간이 만료되는 리스트 엔트리의 메타데이터에 대해서는 상기 데이터베이스로 상기 메타데이터에 대한 리스 연장 요청을 수행하여 상기 메타데이터 캐시의 갱신을 수행하는 것을 특징으로 한다.The web application server may also have lease valid time information for metadata in list entries for each tenant in the metadata cache, and the metadata may be stored in the database for metadata of list entries for which the lease valid time expires. And updating the metadata cache by performing a lease extension request.

또한, 상기 웹 어플리케이션 서버는, 상기 메타데이터 캐시내 각 테넌트별 리스트 엔트리에 저장된 메타데이터에 대한 최종 접속 시간을 검사하여 최종 접속 시간으로부터 경과된 시간이 미리 설정된 타임아웃시간을 초과하는 경우 해당 메타데이터를 상기 메타데이터 캐시에서 삭제시키는 것을 특징으로 한다.In addition, the web application server checks the last access time for the metadata stored in the list entry for each tenant in the metadata cache, and if the elapsed time from the last access time exceeds the preset timeout time, the corresponding metadata It is characterized in that to delete from the metadata cache.

또한, 본 발명은 웹 어플리케이션 서버와 데이터베이스를 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법으로서, 상기 데이터베이스에서 상기 웹 어플리케이션 서버로 리스 기반의 메타데이터를 제공하는 단계와, 상기 데이터베이스에서 상기 웹 어플리케이션 서버의 메타데이터 캐시내 저장되는 상기 메타데이터에 대한 변경이 발생하는지 검사하는 단계와, 상기 메타데이터에 대한 변경이 발생하는 경우 상기 변경이 발생한 메타데이터를 가지고 있는 상기 웹 어플리케이션 서버를 추적하는 단계와, 상기 추적된 웹 어플리케이션 서버로 상기 변경이 발생한 메타데이터를 전송하여 상기 메타데이터 캐시를 갱신시키는 단계를 포함한다.In addition, the present invention provides a method for controlling the consistency of a metadata cache in a SaaS platform that supports multi-tenancy including a web application server and a database, the method comprising: providing lease-based metadata from the database to the web application server; Checking if a change to the metadata stored in the metadata cache of the web application server occurs in the database; and if the change occurs to the metadata, the web application having the changed metadata. Tracking a server, and updating the metadata cache by sending the changed metadata to the tracked web application server.

또한, 상기 메타데이터 캐시의 갱신단계 이후, 상기 웹 어플리케이션 서버에서 상기 메타데이터의 리스 획득 시간을 상기 메타데이터가 수신된 시간으로 변경시키는 단계를 더 포함하는 것을 특징으로 한다. The method may further include changing, by the web application server, the lease acquisition time of the metadata to the time at which the metadata is received after the updating of the metadata cache.

또한, 상기 웹 어플리케이션 서버는, 상기 리스 기반의 메타데이터내 리스 유효 시간이 만료되는 경우 상기 데이터베이스로 해당 메타데이터의 리스 유효 시간 연장을 요청하는 것을 특징으로 한다.In addition, when the lease valid time in the lease-based metadata expires, the web application server requests the database to extend the lease valid time of the corresponding metadata.

또한, 본 발명은 웹 어플리케이션 서버와 데이터베이스를 포함하는 멀티테넌 시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법으로서, 상기 웹 어플리케이션 서버로부터 메타데이터 캐시에 대한 갱신 요청을 수신하는 단계와,The present invention also provides a method for controlling the consistency of a metadata cache in a SaaS platform that supports a multi-tenancy including a web application server and a database, the method comprising: receiving an update request for a metadata cache from the web application server;

상기 데이터베이스에서 상기 갱신 요청된 메타데이터에 대한 테넌트 식별자와 서비스 식별자를 읽어오는 단계와, 상기 웹 어플리케이션 서버별 관리되는 메타데이터 캐시 서버 추적 리스트에서 상기 테넌트 식별자와 서비스 식별자에 대응되는 메타데이터를 검색하는 단계와, 상기 검색된 메타데이터를 상기 웹 어플리케이션 서버로 전송하여 상기 메타데이터 캐시의 갱신을 수행하는 단계를 포함한다.Reading a tenant identifier and a service identifier for the updated requested metadata from the database, and searching for metadata corresponding to the tenant identifier and a service identifier in the managed metadata cache server tracking list for each web application server; And transmitting the retrieved metadata to the web application server to update the metadata cache.

또한, 상기 메타데이터 캐시 서버 추적 리스트는, 상기 웹 어플리케이션 서버의 IP 주소 정보와, 메타데이터 버전 번호 정보와 상기 메타데이터를 획득한 리스 획득 시간 정보를 포함하는 것을 특징으로 한다.The metadata cache server tracking list may include IP address information of the web application server, metadata version number information, and lease acquisition time information obtained from the metadata.

또한, 상기 메타데이터 캐시의 갱신을 수행한 이후, 상기 데이터베이스에서 상기 메타데이터의 리스 획득 시간을 상기 메타데이터가 상기 웹 어플리케이션 서버로 전송된 시간으로 변경시키는 단계를 더 포함하는 것을 특징으로 한다.The method may further include, after updating the metadata cache, changing the lease acquisition time of the metadata in the database to a time when the metadata is transmitted to the web application server.

또한, 본 발명은 웹 어플리케이션 서버와 데이터베이스를 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법으로서, 외부로부터 상기 웹 어플리케이션 서버의 메타데이터 캐시에 대한 갱신 요청을 수신하는 단계와, 상기 데이터베이스에서 상기 갱신 요청된 메타데이터에 대한 테넌트 식별자와 서비스 식별자 및 해당 웹 어플리케이션 IP 주소를 읽어오는 단계와, 상기 웹 어플리케이션 서버별 관리되는 메타데이터 캐시 서버 추적 리스트에서 상기 테 넌트 식별자와 서비스 식별자에 대응되는 메타데이터를 검색하는 단계와, 상기 검색된 메타데이터를 상기 IP 주소에 대응되는 해당 웹 어플리케이션 서버로 전송하여 상기 메타데이터 캐시의 갱신을 수행하는 단계를 포함한다.The present invention also provides a method for controlling the consistency of a metadata cache in a SaaS platform that supports multi-tenancy including a web application server and a database, the method comprising: receiving an update request for the metadata cache of the web application server from an external source; Reading a tenant identifier and service identifier for the updated requested metadata from the database, and a corresponding web application IP address; and the tenant identifier and service identifier in the managed metadata cache server tracking list for each web application server. Retrieving the metadata corresponding to the and transmitting the retrieved metadata to a corresponding web application server corresponding to the IP address to update the metadata cache.

또한, 본 발명은 웹 어플리케이션 서버와 데이터베이스를 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법으로서, 상기 웹 어플리케이션 서버에서 메타데이터 캐시내 저장된 메타데이터별 최종 접속 시간을 검사하는 단계와, 상기 메타데이터별 최종 접속 시간으로부터 현재 시간까지 경과된 경과시간을 검사하는 단계와, 상기 경과 시간이 미리 설정된 일정 타인아웃 시간을 초과하는 경우 해당 메타데이터를 상기 메타데이터 캐시에서 삭제시키는 단계를 포함한다.In addition, the present invention is a method of controlling the consistency of the metadata cache in a SaaS platform that supports multi-tenancy including a web application server and a database, the web application server to check the last access time for each metadata stored in the metadata cache Checking the elapsed time that elapsed from the last access time for each metadata to the current time; and deleting the corresponding metadata from the metadata cache when the elapsed time exceeds a preset predetermined tine out time. It includes.

본 발명에서는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법으로서, 데이터베이스에 메타데이터 캐시를 추적 관리할 수 있는 메타데이터 캐시 추적 리스트와 리스 설정 데이터 테이블을 구현하고, 메타데이터의 변경 시 해당되는 웹 어플리케이션 서버를 추적하여 메타데이터의 변경 사항이 해당 웹 어플리케이션의 메타데이터 캐시에 반영되도록 함으로서 메타데이터 캐시의 일관성이 유지되도록 하는 이점이 있다. In the present invention, as a method for controlling the consistency of the metadata cache in a SaaS platform supporting multi-tenancy, a metadata cache trace list and a lease configuration data table for tracking and managing a metadata cache in a database are implemented, and the metadata is changed. By tracking the web application server corresponding to the time, the metadata change is reflected in the metadata cache of the web application, thereby maintaining the consistency of the metadata cache.

또한, 데이터베이스에서 웹 어플리케이션 서버로 메타데이터를 제공할 때 메타데이터의 유효기간을 나타내는 리스를 설정하여 일정 리스 기간이 경과한 후에는 데이터베이스로 메타데이터의 리스 기간의 재설정을 요청하도록 함으로써, 웹 어플리케이션 서버로 메타데이터의 갱신 요청 수행 시, 웹 어플리케이션 서버의 동작 중단으로 인해 메타데이터 갱신 요청이 전달되지 못하는 경우에도 각 웹 어플리케이션 서버가 리스 기간 재설정을 위해 데이터베이스에 접근하는 때에 변경된 메타데이터를 가져가서 메타데이터를 갱신시키도록 함으로써 메타데이터 캐시의 일관성이 유지되도록 하는 이점이 있다. In addition, when providing metadata from the database to the web application server, a lease indicating the validity period of the metadata is set so that after a predetermined lease period has elapsed, the database is requested to be reset to the lease period of the metadata. When performing a metadata update request, even if the metadata update request is not delivered due to the failure of the web application server, the metadata is taken when each web application server accesses the database to reset the lease period. There is an advantage to maintaining the consistency of the metadata cache by having to update.

또한, 메타데이터 캐시에 저장된 메타데이터 중 일정 기준 시간이상 사용되지 않는 메타데이터에 대해서는 웹 어플리케이션 서버에서 주기적으로 이를 검사하여 삭제하도록 함으로써, 메타데이터 캐시의 불필요한 점유 공간을 줄여 사용 효율을 높일 수 있는 이점이 있다.In addition, the metadata stored in the metadata cache that is not used for a certain reference time is periodically checked and deleted by the web application server, thereby reducing the unnecessary occupied space of the metadata cache and increasing the efficiency of use. There is this.

이하, 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. Hereinafter, with reference to the accompanying drawings will be described in detail the operating principle of the present invention. In the following description of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intentions or customs of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

도 2는 본 발명의 실시 예에 따른 SaaS 플랫폼 시스템의 구성을 도시한 것으로, 본 발명에서는 메타데이터 캐시의 일관성 유지를 위한 데이터 베이스상에 메타데이터 캐시 서버 추적 테이블과 리스 설정 데이터 테이블을 포함한다.FIG. 2 illustrates a configuration of a SaaS platform system according to an exemplary embodiment of the present invention. The present invention includes a metadata cache server tracking table and a lease configuration data table on a database for maintaining consistency of the metadata cache.

이하, 도 2를 참조하여 SaaS 플랫폼 시스템에서 웹 어플리케이션 서버(200, 201, 202)와 데이터베이스(220)간 메타데이터 캐시(210, 211, 212)의 일관성을 유지시키는 동작을 상세히 설명하기로 한다.Hereinafter, an operation of maintaining the consistency of the metadata caches 210, 211, and 212 between the web application servers 200, 201, and 202 and the database 220 in the SaaS platform system will be described in detail with reference to FIG. 2.

먼저, 테넌트 관리자(customization tool)(203)에 의해 데이터베이스(220)의 메타데이터에 대한 갱신이 요청되는 경우, 갱신요청을 받은 데이터베이스(220)은 메타데이터를 갱신한 후에 누가 그리고 어떤 메타데이터를 캐시한지를 추적 및 관리하는 메타데이터 캐시 서버 추적 리스트(230)을 참조하여, 메타데이터를 갱신하기 위해서 해당 웹 어플리케이션 서버(200, 201, 202)에게 캐시 갱신 요청을 보낸다. First, when an update of the metadata of the database 220 is requested by the tenant customization tool 203, the database 220 receiving the update request caches who and what metadata after updating the metadata. With reference to the metadata cache server trace list 230 that tracks and manages Hanji, a cache update request is sent to the web application server 200, 201, 202 to update the metadata.

한편, 이때 데이터베이스(220)가 캐시 갱신 요청을 웹 어플리케이션 서버(200, 201, 202)에게 보냈을 때, 해당 웹 어플리케이션 서버가 관리자에 의한 중단, CPU, 보드, 전원장치, 네트워크 인터페이스 카드(NIC), 네트워크 케이블(network cable), 스위치 오류(switch error) 등의 문제로 인해 캐시 갱신 요청을 수신하지 못하는 상황이 발생할 수 있다. On the other hand, when the database 220 sends a cache update request to the web application server (200, 201, 202), the web application server is interrupted by the administrator, CPU, board, power supply, network interface card (NIC) In some cases, a cache update request may not be received due to a problem such as a network cable or a switch error.

이를 위해, 본 발명에서는 웹 어플리케이션 서버(200, 201, 202)가 메타데이터를 캐시할 때 리스(lease)(일정한 시간 동안만 그 메타데이터 캐시가 유효함)를 각 웹 어플리케이션 서버(200, 201, 202)에게 발급함으로써 유효한 시간이 경과된 리스를 가지는 웹 어플리케이션 서버(200, 201, 202)는 다시 리스를 요청하도록 함으로써 여러 오류로 인해 발생한 캐시 불일치 문제를 해결한다. 이와 같은 리스 설정 정보는 데이터베이스(220)에 리스 설정 데이터 테이블(240)에 저장 및 관리된다To this end, in the present invention, when the web application server 200, 201, 202 caches the metadata, a lease (the metadata cache is valid only for a predetermined time) is applied to each web application server 200, 201, The web application server (200, 201, 202) having a lease whose valid time has elapsed by issuing to 202 causes the lease to request a lease again, thereby solving the cache mismatch problem caused by various errors. Such lease setting information is stored and managed in the lease setting data table 240 in the database 220.

도 3은 본 발명의 실시 예에 따른 메타 데이터 캐시의 구조를 도시한 것으로, 메타데이터 캐시는 테넌트(tenant)와 서비스(service) 단위로 되어 있으며, 이들 전체는 리스트 헤드(list head)(300)를 시작으로 리스트 엔트리(list entry)(310, 320) 형태로 구성되어 있다.FIG. 3 illustrates a structure of a metadata cache according to an embodiment of the present invention. The metadata cache includes tenant and service units, and the entirety of the metadata cache is a list head 300. Beginning with the configuration, the list entries are formed in the form of list entries 310 and 320.

각 리스트 엔트리(310, 320)는 테넌트 식별자(tenant ID)(311, 321), 서비스 식별자(service ID)(312, 322), 캐시한 메타데이터의 버전 번호(version number)(313, 323), 리스를 획득한 시간(lease time)(314, 324), 리스의 유효 시간(lease period)(315, 325), 캐시 데이터를 접근한 최근 접근 시간(last access time)(316, 326), 그리고 실제 메타데이터(317, 327)로 캐시를 구성하고 있다. Each list entry 310, 320 includes a tenant identifier 311, 321, a service identifier 312, 322, version number 313, 323 of cached metadata, Lease time (314, 324), lease period (315, 325), last access time (316, 326) to access cache data, and actual The cache is composed of metadata 317 and 327.

도 4는 본 발명의 실시 예에 따른 리스 설정 데이터의 구성을 도시한 것이다. 4 illustrates a configuration of lease setting data according to an embodiment of the present invention.

데이터베이스(220)에 저장 및 관리되는 리스 설정은, 위 도 4에서 보여지는 바와 같이 테넌트 식별자(tenant ID)(411, 421, 431), 서비스 식별자(service ID)(412, 422, 432), 최신 메타데이터 버전 번호(last version number)(413, 413, 414), 리스 유효 시간(lesase period)(414, 424, 434)으로 구성된다. The lease settings stored and managed in the database 220 are tenant identifiers 411, 421, and 431, service identifiers 412, 422, and 432, as shown in FIG. 4 above. Metadata version number (413, 413, 414), lease period (414, 424, 434).

즉, 본 발명에서는 웹 어플리케이션 서버의 모든 종류의 장애에 대처하기 위해서 리스를 사용하여 캐시 일관성을 유지하도록 한다. 리스는 일정한 시간 동안만 해당 메타 데이터 캐시가 유효함을 나타내는 인자로 이러한 리스 유효 시간은 테넌트별 그리고 서비스별로 관리한다.That is, in the present invention, in order to cope with all kinds of failures of the web application server, the lease is used to maintain cache consistency. The lease indicates that the metadata cache is valid only for a certain time. The lease validity time is managed by tenant and service.

도 5는 본 발명의 실시 예에 따른 메타데이터 캐시 추적 리스트 구성을 도시한 것이다.5 illustrates a configuration of a metadata cache tracking list according to an embodiment of the present invention.

도 5를 참조하면, 메타데이터 캐시 서버 추적 리스트는 추적 및 관리할 대상인 테넌트 식별자(501)와 서비스 식별자(502)로 구성되는 추적 관리 엔트리(500)와 리스트 헤드(list head)(503)를 포함하고 있다. 이 리스트 헤드(503)에는 해당 메타데이터를 캐시한 웹 어플리케이션 서버의 리스트 엔트리(514, 524, 534)가 포함되어 있다.Referring to FIG. 5, the metadata cache server trace list includes a tracking management entry 500 and a list head 503 composed of a tenant identifier 501 and a service identifier 502 to be tracked and managed. Doing. The list head 503 includes list entries 514, 524, and 534 of the web application server that cached the metadata.

각 리스트 엔트리(514, 524, 534)는 캐시한 메타데이터의 버전 번호(version number)(511, 521, 531), 리스를 발급한 시간(lease time)(512, 522, 532), 그리고 웹 어플리케이션 서버(web application server)의 IP(Internet Protocol) 주소(513, 523, 533)로 구성되어 있다.Each list entry 514, 524, 534 is a version number (511, 521, 531) of the cached metadata, the lease time (512, 522, 532), and the web application It consists of IP (Internet Protocol) addresses 513, 523, 533 of a web application server.

위와 같이, 구성된 메타데이터 캐시 서버 추적 리스트 구성도는 메타데이터를 갱신할 때, 데이터베이스(220)가 어느 웹 어플리케이션 서버에게 갱신요청을 보낼 지 판단할 때 활용된다. 그리고 오류로 인해 갱신 요청을 받지 못한 웹 어플리케이션 서버에 대해서는 최대 리스 유효 시간 동안 기다린 이후 캐시한 메타데이터의 리스 갱신을 요청함과 동시에 갱신된 메타데이터를 다시 받아옴으로써, 일관성을 유지시키게 된다.As described above, the configured metadata cache server tracking list diagram is used when the database 220 determines which web application server to send an update request to when updating metadata. For web application servers that do not receive an update request due to an error, they wait for the maximum lease validity time and then request a lease update of the cached metadata and receive the updated metadata again to maintain consistency.

도 6은 본 발명의 실시 예에 따른 웹 어플리케이션 서버에서 메타데이터를 처리하는 동작 제어 흐름을 도시한 것이다. 이하, 도 2, 도 3 및 도 6을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.6 is a flowchart illustrating an operation control process of processing metadata in a web application server according to an exemplary embodiment of the present invention. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 2, 3, and 6.

먼저, 테넌트 소속의 사용자가 웹 어플리케이션 서버(200)로 서비스(service)를 요청한다(S600). 그러면 웹 어플리케이션 서버(200)는 서비스를 요청한 사용자의 테넌트 식별자(tenant ID)와 요청된 서비스에 대한 서비스 식별자(service ID)를 구한다(S602).First, a user belonging to a tenant requests a service to the web application server 200 (S600). Then, the web application server 200 obtains a tenant ID of the user who requested the service and a service ID of the requested service (S602).

이어, 웹 어플리케이션 서버(200)는 메타데이터 캐시(210)에서 리스트 헤드(300)를 읽어온 후(S604), 리스트 헤드(300)를 시작으로 순차적으로 메타데이터 캐시(210)로부터 리스트 엔트리(310, 320)를 가져와서(S610), 리스트 엔트리(310, 320)의 테넌트 식별자/서비스 식별자가 서비스 요청한 사용자의 테넌트 식별자/서비스 식별자와 같은지를 검사한다(S620).Subsequently, the web application server 200 reads the list head 300 from the metadata cache 210 (S604), and then sequentially starts the list head 310 from the metadata cache 210 starting with the list head 300. , 320, and check whether the tenant identifier / service identifier of the list entries 310 and 320 is the same as the tenant identifier / service identifier of the user who requested the service (S620).

이때, 리스트 엔트리(310, 320)의 테넌트 식별자/서비스 식별자가 서비스 요청한 사용자의 테넌트 식별자/서비스 식별자와 같지 않은 경우 웹 어플리케이션 서버(200)는 메타데이터 캐시(210)에서 다음 리스트 엔트리를 가져온다(S610).In this case, when the tenant identifier / service identifier of the list entries 310 and 320 is not the same as the tenant identifier / service identifier of the user who requested the service, the web application server 200 obtains the next list entry from the metadata cache 210 (S610). ).

그리고, 웹 어플리케이션 서버(200)는 두 번째로 가져온 리스트 엔트리의 테넌트 식별자/서비스 식별자가 서비스 요청한 사용자의 테넌트 식별자/서비스 식별자와 같은지를 검사한다(S620). 이와 같은 방법으로 웹 어플리케이션 서버(200)는 메타데이터 캐시(210)에 포함된 모든 리스트 엔트리(310, 320)에 대해 검사를 수행하게 된다(S610, S620, S622).The web application server 200 checks whether the tenant identifier / service identifier of the second-listed list entry is the same as the tenant identifier / service identifier of the user who requested the service (S620). In this manner, the web application server 200 performs a check on all list entries 310 and 320 included in the metadata cache 210 (S610, S620, and S622).

이때 만일, 리스트 엔트리(310, 320)의 테넌트 식별자/서비스 식별자가 서비 스 요청한 사용자의 테넌트 식별자/서비스 식별자와 같게 되는 경우 이는 서비스 요청한 사용자의 테넌트 식별자와 서비스 식별자가 메타데이터 캐시(210)에서 검색된 것을 의미한다. In this case, if the tenant identifier / service identifier of the list entries 310 and 320 is the same as the tenant identifier / service identifier of the user who requested the service, the tenant identifier and service identifier of the user who requested the service are retrieved from the metadata cache 210. Means that.

이에 따라, 웹 어플리케이션 서버(200)는 검색된 테넌트 식별자와 서비스 식별자에 해당하는 리스트 엔트리에서 리스 획득 시간(lease time)(314, 324)과 리스 유효 시간(lease period)(315, 325)을 읽어와서 사용자가 서비스를 요청한 현재 시간이 리스 획득 시간(314, 324)과 리스 유효 시간(315, 325)을 합한 기준 시간보다 작은지를 검사한다(S630).Accordingly, the web application server 200 reads the lease acquisition time (314, 324) and the lease valid time (lease period) (315, 325) from the list entry corresponding to the retrieved tenant identifier and service identifier. In operation S630, the user checks whether the current time of requesting the service is smaller than the reference time that adds the lease acquisition time 314 and 324 and the lease valid time 315 and 325.

이때, 현재 시간이 기준 시간보다 작은 경우 웹 어플리케이션 서버(200)는 해당 리스트 엔트리(310, 320)에 포함된 메타데이터(317, 327)를 가져오고(S646), 리스트 엔트리(310, 320)내 최종 접속 시간(last access time) 필드(field)를 현재 시간으로 갱신한다(S648). 이어 웹 어플리케이션 서버(200)는 메타데이터를 해석하여 사용자 서비스를 처리한다(S650).At this time, when the current time is smaller than the reference time, the web application server 200 imports the metadata 317 and 327 included in the corresponding list entry 310 or 320 (S646), and within the list entries 310 and 320. The last access time field is updated to the current time (S648). Subsequently, the web application server 200 processes the user service by interpreting the metadata (S650).

그러나, 이와 달리, 현재 시간이 기준 시간보다 큰 경우 이는 해당 리스트 엔트리(310, 320)의 메타데이터에 대한 리스 유효 시간이 만료된 것을 의미하므로, 웹 어플리케이션 서버(200)는 데이터베이스(220)에게 서비스 요청한 사용자의 테넌트 식별자, 서비스 식별자 및 버전번호를 가지고 새로운 리스를 요청한다(S632).Alternatively, however, if the current time is greater than the reference time, this means that the lease validity time for the metadata of the corresponding list entry 310, 320 has expired, so that the web application server 200 services the database 220. A new lease is requested with the tenant identifier, service identifier, and version number of the requested user (S632).

이때, 데이터베이스(220)내 해당 테넌트 식별자, 서비스 식별자에 대해 메타데이터의 변경이 없는 상태여서 리스 요청이 성공되는 경우(S640), 웹 어플리케이션 서버(200)는 메타데이터 캐시(210)내 해당 리스트 엔트리(310, 320)의 리스 획 득시간(lease time)을 갱신하고(S644), 해당 테넌트 식별자, 서비스 식별자에 대해 메타데이터 변경이 발생하여 리스 요청이 실패되는 경우(S640), 웹 어플리케이션 서버(200)는 테넌트 식별자와 서비스 식별자에 대한 리스 유효 시간과 변경된 메타데이터를 가져온다(S642).At this time, if the lease request is successful because there is no change of metadata for the corresponding tenant identifier and the service identifier in the database 220 (S640), the web application server 200 enters the corresponding list entry in the metadata cache 210. When the lease acquisition time of the 310 and 320 is updated (S644), and the lease request fails due to metadata change of the corresponding tenant identifier and the service identifier (S640), the web application server 200 ) Obtains the lease valid time and the changed metadata for the tenant identifier and the service identifier (S642).

한편, (S610)단계에서 메타데이터 캐시(210)에서 리스트 헤드(300)를 읽어온 후, 리스트 헤드(300)를 시작으로 순차적으로 메타데이터 캐시(210)로부터 리스트 엔트리(310, 320)를 가져와서 리스트 엔트리(310, 320)의 테넌트 식별자/서비스 식별자가 서비스 요청한 사용자의 테넌트 식별자/서비스 식별자와 같은지를 마지막 리스트 엔트리까지 검사한 결과, 메타데이터 캐시(210)내 서비스 요청한 사용자의 테넌트 식별자/서비스 식별자와 일치하는 리스트 엔트리가 없는 경우, 웹 어플리케이션 서버(200)는 새로운 리스트 엔트리를 생성한다(S612).Meanwhile, after reading the list head 300 from the metadata cache 210 in step S610, the list entries 310 and 320 are sequentially taken from the metadata cache 210 starting with the list head 300. The tenant identifier / service identifier of the list entries 310 and 320 is equal to the tenant identifier / service identifier of the user who requested the service until the last list entry, and the tenant identifier / service of the user who requested the service in the metadata cache 210 is checked. If there is no list entry that matches the identifier, the web application server 200 generates a new list entry (S612).

이어, 웹 어플리케이션 서버(200)는 위와 같이 생성한 리스트 엔트리에 사용자의 테넌트 식별자와 서비스 식별자를 설정하고(S614), 리스트 엔트리를 리스트 헤드(300)에 추가하고, 리스트 엔트리의 버전 번호(version number)를 '0'으로 설정한다(S618). 이와 같이 버전 번호를 '0'으로 설정함에 따라 데이터베이스(220)로부터 새로운 테넌트 식별자와 서비스 식별자로 인식되게 된다.Subsequently, the web application server 200 sets a tenant identifier and a service identifier of the user in the list entry generated as described above (S614), adds the list entry to the list head 300, and verifies the version number of the list entry (version number). ) Is set to '0' (S618). In this way, as the version number is set to '0', it is recognized as a new tenant identifier and a service identifier from the database 220.

도 7은 본 발명의 실시 예에 따른 데이터베이스에서 리스 요청을 처리하는 동작 제어 흐름을 도시한 것이다. 이하, 도 2, 도 3, 도 5 및 도 7을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.7 illustrates an operation control flow for processing a lease request in a database according to an embodiment of the present invention. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 2, 3, 5, and 7.

먼저, 데이터베이스(220)는 웹 어플리케이션 서버(200)로부터 리스 요청을 받는 경우(S700), 리스를 요청한 웹 어플리케이션 서버(200)의 IP 주소를 얻고(S702), 리스 요청에 따라 전송되는 테넌트 식별자(tenant ID)와 서비스 식별자(service ID) 그리고 버전 번호(version number)를 가져온다(S704). First, when receiving a lease request from the web application server 200 (S700), the database 220 obtains an IP address of the web application server 200 requesting a lease (S702), and a tenant identifier (sent) transmitted according to the lease request (S700). A tenant ID), a service ID, and a version number are obtained (S704).

이어, 데이터베이스(220)는 요청을 처리하기 위해 메타데이터 캐시 서버 추적 리스트(230)를 읽어온 후(S706), 리스트 헤드(503)를 시작으로 순차적으로 메타데이터 캐시 서버 추적 리스트(230)로부터 리스트 엔트리(514, 524, 534)를 가져와서(S708), 리스트 엔트리(514, 524, 534)의 테넌트 식별자(tenant ID)/서비스 식별자(service ID)가 서비스 요청된 테넌트 식별자/서비스 식별자와 같은지를 검사한다(S720).Subsequently, the database 220 reads the metadata cache server trace list 230 to process the request (S706), and then sequentially lists the metadata cache server trace list 230 starting from the list head 503. Take the entries 514, 524, 534 (S708) to see if the tenant ID / service ID of the list entry 514, 524, 534 is the same as the tenant identifier / service identifier requested for service. Inspect (S720).

이때, 리스트 엔트리(514, 524, 534)의 테넌트 식별자/서비스 식별자가 서비스 요청된 테넌트 식별자/서비스 식별자와 같지 않은 경우 데이터베이스(220)는 메타데이터 캐시 서버 추적 리스트(230)에서 다음 리스트 엔트리를 가져온다(S710).At this time, if the tenant identifier / service identifier of the list entries 514, 524, and 534 is not the same as the tenant identifier / service identifier requested for the service, the database 220 obtains the next list entry from the metadata cache server trace list 230. (S710).

그리고, 데이터베이스(220)는 두 번째로 가져온 리스트 엔트리의 테넌트 식별자/서비스 식별자가 서비스 요청된 테넌트 식별자/서비스 식별자와 같은지를 다시 검사한다(S720). 이와 같은 방법으로 데이터베이스(220)는 메타데이터 캐시 서버 추적 리스트(230)에 포함된 모든 리스트 엔트리(514, 524, 534)에 대해 검사를 수행하게 된다(S710, S720, S722).Then, the database 220 checks again whether the tenant identifier / service identifier of the second-listed list entry is the same as the tenant identifier / service identifier requested for service (S720). In this way, the database 220 performs a check on all list entries 514, 524, and 534 included in the metadata cache server trace list 230 (S710, S720, and S722).

이때 만일, 리스트 엔트리(514, 524, 534)의 테넌트 식별자/서비스 식별자가 서비스 요청된 테넌트 식별자/서비스 식별자와 같게 되는 경우 이는 서비스 요청된 테넌트 식별자와 서비스 식별자가 메타데이터 캐시 서버 추적 리스트(230)에서 검 색된 것을 의미한다.In this case, if the tenant identifier / service identifier of the list entries 514, 524, and 534 becomes the same as the service-required tenant identifier / service identifier, the service-required tenant identifier and the service identifier are the metadata cache server trace list 230. It means that it is colored.

이에 따라, 데이터베이스(220)는 리스 요청 시 수신된 버전 번호와 검색된 리스트 엔트리의 버전 번호 필드에 기록된 버전 번호(version number)(511, 521, 531)가 같은지를 검사한다(S730). Accordingly, the database 220 checks whether the version number (511, 521, 531) recorded in the version number field of the retrieved list entry and the version number received in the lease request are the same (S730).

이때, 버전 번호가 같은 경우 이는 리스 요청된 테넌트 식별자와 서비스 식별자에 대응되는 메타데이터가 변경되지 않은 상태를 의미하므로, 데이터베이스(220)는 리스 요청 결과 값을 성공으로 설정하고(S732), 검색된 리스트 엔트리의 리스 획득 시간(lease time)(512, 522, 532)을 현재 시간으로 갱신한다(S740). In this case, when the version number is the same, this means that the metadata corresponding to the lease requested tenant identifier and the service identifier has not changed, and the database 220 sets the lease request result value to success (S732), and the searched list. The lease acquisition time (512, 522, 532) of the entry is updated to the current time (S740).

이어, 데이터베이스(220)는 리스 요청에 대한 결과값과 버전 번호를 서비스 요청한 웹 어플리케이션 서버(200)로 전송하고(S742), 웹 어플리케이션 서버(200)로 전송할 리스 유효 시간값과 메타데이터가 있는 경우에는 이를 전송한다(S744).Subsequently, the database 220 transmits the result value and the version number of the lease request to the web application server 200 requesting the service (S742), and when there is a lease valid time value and metadata to be transmitted to the web application server 200. This is transmitted to (S744).

그러나, 이와 달리, 리스 요청시 수신된 버전 번호와 검색된 리스트 엔트리의 버전 번호 필드에 기록된 버전 번호가 서로 다른 경우 이는 리스 요청된 테넌트 식별자와 서비스 식별자에 대응되는 메타데이터가 버전 업되어 변경된 상태를 의미하므로, 데이터베이스(220)는 리스 요청 결과값을 실패로 설정하고(S734), 서비스 요청된 테넌트 식별자와 서비스 식별자에 대해 변경된 메타데이터 캐시를 얻어 이를 웹 어플리케이션 서버(200)로 제공한다(S736).However, in contrast, when the version number received in the lease request and the version number recorded in the version number field of the retrieved list entry are different, this means that the metadata corresponding to the lease requested tenant identifier and the service identifier are upgraded and changed. Therefore, the database 220 sets the lease request result value as failure (S734), obtains the changed metadata cache for the service-required tenant identifier and the service identifier, and provides it to the web application server 200 (S736). .

한편, (S710)단계에서 메타데이터 캐시 서버 추적 리스트(230)에서 리스트 헤드(503)를 읽어온 후, 리스트 헤드(503)를 시작으로 순차적으로 메타데이터 캐시 서버 추적 리스트(230)로부터 리스트 엔트리(514, 524, 534)를 가져와서 리스트 엔 트리(514, 524, 534)의 테넌트 식별자/서비스 식별자가 서비스 요청된 테넌트 식별자/서비스 식별자와 같은지를 마지막 리스트 엔트리까지 검사한 결과, 메타데이터 캐시 서버 추적 리스트(230)내 서비스 요청된 테넌트 식별자/서비스 식별자와 일치하는 리스트 엔트리가 없는 경우 데이터베이스(220)는 메타데이터 캐시 서버 추적 리스트(230)내 새로운 리스트 엔트리를 생성한다(S712).On the other hand, after reading the list head 503 from the metadata cache server trace list 230 in step (S710), the list entry (from the metadata cache server trace list 230 starting with the list head 503) 514, 524, 534 is retrieved and the metadata cache server trace is checked until the last list entry to see if the tenant identifier / service identifier in list entry 514, 524, 534 is the same as the tenant identifier / service identifier requested for service. If there is no list entry that matches the service requested tenant identifier / service identifier in the list 230, the database 220 generates a new list entry in the metadata cache server trace list 230 (S712).

이어, 데이터베이스(220)는 위와 같이 생성한 리스트 엔트리에 서비스 요청된 테넌트 식별자, 서비스 식별자와 웹 어플리케이션 서버의 IP 주소를 설정한다(S714). Subsequently, the database 220 sets the tenant identifier, the service identifier, and the IP address of the web application server to which the service is requested in the list entry generated as described above (S714).

그런 후, 데이터베이스(220)는 버전 번호와 리스 유효 시간값을 설정하고(S716), 리스트 엔트리를 메타데이터 캐시 서버 추적 리스트(230)의 리스트 헤드(503)에 추가한다(S718).Thereafter, the database 220 sets a version number and a lease valid time value (S716), and adds the list entry to the list head 503 of the metadata cache server trace list 230 (S718).

도 8은 본 발명의 실시 예에 따른 데이터베이스에서 테넌트 관리자로부터의 메타데이터 갱신 요청에 따라 메타데이터를 갱신시키는 동작 제어 흐름을 도시한 것이다. 이하, 도 2, 도 3, 도 5 및 도 8을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.8 illustrates an operation control flow for updating metadata in response to a metadata update request from a tenant manager in a database according to an embodiment of the present invention. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 2, 3, 5, and 8.

먼저, 데이터베이스(220)는 테넌트 관리자(203)로부터 메타데이터 갱신 요청을 받는 경우(S800), 갱신 요청된 테넌트 식별자(tenant ID)와 서비스 식별자(service ID)를 가져온다(S802).First, when receiving a metadata update request from the tenant manager 203 (S800), the database 220 obtains a tenant ID and a service ID (S802).

이어, 데이터베이스(220)는 테넌트 식별자와 서비스 식별자에 해당하는 메타데이터를 변경하고 리스 설정 데이터 테이블(240)의 해당 메타데이터의 버전 번호 값을 1 증가시킨다(S804). 또한 데이터베이스(220)는 메타데이터 캐시 서버 추적 리스트(230)를 검색하여 테넌트 식별자와 서비스 식별자에 대한 추적 관리 엔트리(500)를 가져온다(S806). Subsequently, the database 220 changes the metadata corresponding to the tenant identifier and the service identifier and increments the version number value of the corresponding metadata of the lease setting data table 240 by 1 (S804). In addition, the database 220 searches the metadata cache server trace list 230 to obtain a tracking management entry 500 for the tenant identifier and the service identifier (S806).

이어, 추적 관리 엔트리(500)의 리스트 헤드(503)를 가져와서(S808) 현재 시간이 리스트 헤드(503)의 리스 획득 시간과 리스 유효 시간을 합한 기준 시간 값보다 작은지를 검사한다(S810).Subsequently, the list head 503 of the tracking management entry 500 is taken (S808) to check whether the current time is smaller than the reference time value obtained by adding the lease acquisition time and the lease valid time of the list head 503 (S810).

이때, 현재 시간이 기준 시간보다 작은 경우 해당 리스트 엔트리(514, 524, 534)의 메타데이터에 대한 리스 유효 시간이 아직 만료되지 않은 것을 의미하므로, 해당 리스트 엔트리(514, 524, 534)의 웹 어플리케이션 서버로 메타데이터 갱신 요청을 보내지 않는다.At this time, if the current time is less than the reference time, it means that the lease valid time for the metadata of the corresponding list entry 514, 524, 534 has not yet expired, and thus the web application of the corresponding list entry 514, 524, 534. Do not send metadata update requests to the server.

그러나, 이와 달리, 현재 시간이 기준시간보다 큰 경우 이는 해당 리스트 엔트리의 메타데이터에 대한 리스 유효기간이 만료된 것을 의미하므로, 데이터베이스(220)는 해당 리스트 엔트리의 웹 어플리케이션 서버에게 메타데이터 갱신 요청을 전송하게 된다(S812).However, in contrast, if the current time is greater than the reference time, it means that the lease expiration date for the metadata of the corresponding list entry has expired, and thus the database 220 sends a metadata update request to the web application server of the corresponding list entry. It is to be transmitted (S812).

이때, 해당 웹 어플리케이션 서버는 관리자에 의한 중단, CPU, 보드, 전원장치, 네트워크 인터페이스 카드(NIC), 네트워크 케이블, 스위치 오류 등의 문제로 인해 메타데이터 갱신 요청을 수신하지 못하는 상황이 발생할 수 있다. In this case, the web application server may not receive the metadata update request due to an interruption caused by an administrator, a CPU, a board, a power supply, a network interface card (NIC), a network cable, a switch error, or the like.

위와 같이, 웹 어플리케이션 서버로의 메타데이터 갱신 요청이 실패하는 경우(S814), 데이터베이스(220)는 갱신 요청 실패에 대한 로그를 저장한다(S816).As described above, when the metadata update request to the web application server fails (S814), the database 220 stores a log of the update request failure (S816).

도 9는 본 발명의 실시 예에 따라 웹 어플리케이션 서버에서 메타데이터 갱 신을 처리하는 동작 제어 흐름을 도시한 것이다. 이하, 도 2, 도 3 및 도 9를 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.9 illustrates an operation control flow for processing metadata update in a web application server according to an embodiment of the present invention. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 2, 3, and 9.

먼저, 데이터베이스(220)로부터 메타데이터 갱신 요청을 수신하는 경우(S900), 웹 어플리케이션 서버(200)는 갱신 요청으로부터 테넌트 식별자(tenant ID)와 서비스 식별자(service ID)를 얻는다(S902). First, when receiving a metadata update request from the database 220 (S900), the web application server 200 obtains a tenant ID and a service ID from the update request (S902).

이어, 웹 어플리케이션 서버(200)는 메타데이터 캐시(210)에서 리스트 헤드(300)를 읽어온 후(S904), 리스트 헤드(300)를 시작으로 순차적으로 메타데이터 캐시(210)로부터 리스트 엔트리(310, 320)를 가져와서(S910) 리스트 엔트리(300)의 테넌트 식별자/서비스 식별자가 갱신 요청된 테넌트 식별자/서비스 식별자와 같은지를 검사한다(S920).Subsequently, the web application server 200 reads the list head 300 from the metadata cache 210 (S904), and then sequentially starts the list entry 310 from the metadata cache 210 starting with the list head 300. In operation S920, it is checked whether the tenant identifier / service identifier of the list entry 300 is the same as the tenant identifier / service identifier requested to be updated.

이때, 리스트 엔트리(310, 320)의 테넌트 식별자/서비스 식별자가 갱신 요청된 테넌트 식별자/서비스 식별자와 같지 않은 경우 웹 어플리케이션 서버(200)는 메타데이터 캐시(210)에서 다음 리스트 엔트리를 가져온다(S924).At this time, when the tenant identifier / service identifier of the list entries 310 and 320 is not the same as the tenant identifier / service identifier requested to be updated, the web application server 200 obtains the next list entry from the metadata cache 210 (S924). .

그리고, 웹 어플리케이션 서버(200)는 두 번째로 가져온 리스트 엔트리의 테넌트 식별자/서비스 식별자가 갱신 요청된 테넌트 식별자/서비스 식별자와 같은지를 검사한다(S920). 이와 같은 방법으로 웹 어플리케이션 서버(200)는 메타데이터 캐시(210)에 포함된 모든 리스트 엔트리에 대해 검사를 수행하게 된다(S910, S920, S922).Then, the web application server 200 checks whether the tenant identifier / service identifier of the second-listed list entry is the same as the tenant identifier / service identifier requested to be updated (S920). In this way, the web application server 200 checks all list entries included in the metadata cache 210 (S910, S920, S922).

이때 만일, 리스트 엔트리(310, 320)의 테넌트 식별자/서비스 식별자가 갱신 요청된 테넌트 식별자/서비스 식별자와 같게 되는 경우 이는 갱신 요청된 테넌트 식별자/서비스 식별자가 메타데이터 캐시에서 검색된 것을 의미한다.In this case, if the tenant identifier / service identifier of the list entries 310 and 320 is equal to the tenant identifier / service identifier requested to be updated, this means that the tenant identifier / service identifier requested to be updated is retrieved from the metadata cache.

이에 따라, 웹 어플리케이션 서버(200)는 검색된 리스트 엔트리(310, 320)의 리스 획득 시간(lease time)(314, 324)을 현재시간에서 리스 유효 시간(lease period)(315, 325)을 감산한 시간으로 갱신 설정한다(S922). 즉, 해당 갱신 요청된 메타데이터의 리스 유효 시간이 경과되도록 변경하여 변경된 메타데이터 캐시를 다시 받아오도록 하는 것이다.Accordingly, the web application server 200 subtracts the lease acquisition time (314, 324) of the retrieved list entries (310, 320) from the present time lease period (315, 325) The update is set to time (S922). In other words, the lease validity time of the update-requested metadata is changed so that the changed metadata cache is received again.

도 10은 본 발명의 실시 예에 따라 웹 어플리케이션 서버에서 메타데이터 캐시 중 사용되지 않는 캐시를 제거하는 동작 제어 흐름을 도시한 것이다. 이하, 도 2, 도 3 및 도 10을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.FIG. 10 illustrates an operation control flow for removing an unused cache from among metadata caches in a web application server according to an embodiment of the present invention. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 2, 3, and 10.

먼저, 웹 어플리케이션 서버(200)는 실행 주기 값을 가져오고(S1000), 타임아웃(time out) 설정값을 가져온다(S1002). First, the web application server 200 obtains an execution cycle value (S1000) and a timeout setting value (S1002).

이어, 웹 어플리케이션 서버(200)는 서버의 동작이 중단되었는지를 검사하고(S1010), 서버의 동작이 중단되지 않은 경우, 메타데이터 캐시(210)에서 리스트 헤드를 가져온 후(S1012), 리스트 헤드(300)를 시작으로 순차적으로 메타데이터 캐시(210)로부터 리스트 엔트리(310, 320)를 가져와서(S102), 리스트 엔트리(310, 320)내 메타데이터에 접근한 최종 접속 시간(last access time)(316, 326)이 현재시간에서 타임아웃 설정 시간을 감산한 기준시간보다 작은지를 검사한다(S1030).Subsequently, the web application server 200 checks whether the operation of the server is stopped (S1010). If the operation of the server is not stopped, the web application server 200 obtains the list head from the metadata cache 210 (S1012), and then the list head ( Starting with 300, the list entries 310 and 320 are sequentially obtained from the metadata cache 210 (S102), and the last access time (last access time) when the metadata in the list entries 310 and 320 is accessed. 316 and 326 check whether the current time is smaller than the reference time obtained by subtracting the timeout setting time (S1030).

이때, 리스트 엔트리의 최종 접속 시간(316, 326)이 기준시간보다 큰 경우에는 웹 어플리케이션 서버(200)는 메타데이터 캐시(210)에서 다음 리스트 엔트리를 가져온다(S1036).At this time, when the last access time (316, 326) of the list entry is greater than the reference time, the web application server 200 obtains the next list entry from the metadata cache 210 (S1036).

그리고, 웹 어플리케이션 서버(200)는 두 번째로 가져온 리스트 엔트리의 최종 접속 시간이 기준 시간보다 작은지를 다시 검사한다(S1030). 이와 같은 방법으로 웹 어플리케이션 서버(200)는 메타데이터 캐시(210)에 포함된 모든 리스트 엔트리에 대해 최종 접속 시간에 대한 검사를 수행하게 된다(S1020, S1030, S1036).Then, the web application server 200 checks again whether the last access time of the second list entry is smaller than the reference time (S1030). In this manner, the web application server 200 checks the last access time for all list entries included in the metadata cache 210 (S1020, S1030, and S1036).

이때 만일, 리스트 엔트리의 최종 접속 시간이 기준 시간 보다 작은 경우, 이는 해당 리스트 엔트리내 메타데이터가 최종 접속 시간이후 타임아웃 설정된 시간이 경과하도록 사용되지 않은 것을 의미하므로, 웹 어플리케이션 서버(200)는 이러한 리스트 엔트리에 대해서는 메타데이터 캐시(210)의 불필요한 공간 점유를 방지하고자 메타데이터 캐시(210)에서 제거시킨다(S1032).In this case, if the last access time of the list entry is less than the reference time, this means that the metadata in the list entry has not been used so that the timeout set after the last access time has elapsed. The list entry is removed from the metadata cache 210 to prevent unnecessary space occupancy of the metadata cache 210 (S1032).

한편, (S1010)단계에서 메타데이터 캐시(210)내 모든 리스트 엔트리에 대해서 최종 접속 시간을 검사한 경우 웹 어플리케이션 서버(200)는 미리 설정된 일정 실행 주기만큼 슬립(sleep)한 후, 다시 메타데이터 캐시(210)내 사용되지 않는 캐시를 제거하는 동작을 수행하게 된다.Meanwhile, when the final access time is checked for all list entries in the metadata cache 210 in step S1010, the web application server 200 sleeps for a predetermined predetermined execution period, and then again stores the metadata cache. In operation 210, an unused cache is removed.

상기한 바와 같이, 본 발명은 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법으로서, 데이터베이스에 메타데이터 캐시를 추적 관리할 수 있는 메타데이터 캐시 서버 추적 리스트와 리스 설정 데이터 테이블을 구현하고, 메타데이터의 변경 시 해당되는 웹 어플리케이션 서버를 추적하여 메타데이터의 변경 사항이 해당 웹 어플리케이션의 메타데이터 캐시에 반영되도록 함으로서 메타데이터 캐시의 일관성이 유지되도록 한다. As described above, the present invention provides a method for controlling the consistency of a metadata cache in a SaaS platform supporting multi-tenancy, and implements a metadata cache server trace list and a lease configuration data table for tracking and managing a metadata cache in a database. When the metadata is changed, the corresponding web application server is tracked so that the metadata change is reflected in the metadata cache of the web application to maintain the consistency of the metadata cache.

또한, 데이터베이스에서 웹 어플리케이션 서버로 메타데이터를 제공할 때 메 타데이터의 유효기간을 나타내는 리스를 설정하여 일정 리스 기간이 경과한 후에는 데이터베이스로 메타데이터의 리스 기간의 재설정을 요청하도록 함으로써, 웹 어플리케이션 서버로 메타데이터의 갱신 요청 수행 시, 웹 어플리케이션 서버의 동작 중단으로 인해 메타데이터 갱신 요청이 전달되지 못하는 경우에도 각 웹 어플리케이션 서버가 리스 기간 재설정을 위해 데이터베이스에 접근하는 때에 변경된 메타데이터를 가져가서 메타데이터를 갱신시키도록 함으로써 메타데이터 캐시의 일관성이 유지되도록 한다. Also, when providing metadata from a database to a web application server, a lease indicating the validity period of the metadata is set so that after a certain lease period has elapsed, the database is requested to reset the lease period of the metadata. When performing a metadata update request to the server, even if the metadata update request is not delivered due to the interruption of the web application server, the metadata is changed when each web application server accesses the database to reset the lease period. By updating the data, you ensure that the metadata cache is consistent.

한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention should not be limited by the described embodiments but should be defined by the appended claims.

도 1은 종래 SaaS 플랫폼의 구성도,1 is a configuration diagram of a conventional SaaS platform,

도 2는 본 발명의 실시 예에 따른 멀티테넌시를 지원하는 SaaS 플랫폼의 구성도,2 is a configuration diagram of a SaaS platform supporting multi-tenancy according to an embodiment of the present invention;

도 3은 본 발명의 실시 예에 따른 웹 어플리케이션 서버의 캐시 구성도,3 is a cache configuration diagram of a web application server according to an embodiment of the present invention;

도 4는 본 발명의 실시 예에 따른 리스 설정 데이터 구성도,4 is a configuration diagram of the lease setting data according to an embodiment of the present invention;

도 5는 본 발명의 실시 예에 따른 메타데이터 캐시 서버 추적 리스트 구성도,5 is a block diagram of a metadata cache server tracking list according to an embodiment of the present invention;

도 6은 본 발명의 실시 예에 따른 웹 어플리케이션 서버에서 메타데이터 처리 흐름도,6 is a flowchart illustrating metadata processing in a web application server according to an embodiment of the present invention;

도 7은 본 발명의 실시 예에 따른 데이터베이스에서 리스 요청 처리 흐름도,7 is a flowchart illustrating a lease request processing in a database according to an embodiment of the present invention;

도 8은 본 발명의 실시 예에 따른 데이터베이스에서 메타데이터 갱신 요청을 처리하는 동작 제어 흐름도,8 is an operation control flowchart of processing a metadata update request in a database according to an embodiment of the present invention;

도 9는 본 발명의 실시 예에 따른 웹 어플리케이션 서버에서 메타데이터 갱신을 처리하는 동작 제어 흐름도,9 is an operation control flowchart for processing metadata update in a web application server according to an embodiment of the present invention;

도 10은 본 발명의 실시 예에 따른 웹 어플리케이션 서버에서 메타데이터 캐시 중 사용되지 않는 캐시를 제거하는 동작 제어 흐름도.FIG. 10 is a flowchart illustrating an operation control for removing an unused cache among metadata caches in a web application server according to an exemplary embodiment of the present invention. FIG.

<도면의 주요 부호에 대한 간략한 설명><Brief description of the major symbols in the drawings>

200 : 웹 어플리케이션 서버 220 : 데이터베이스200: web application server 220: database

203 : 테넌트 관리자 230 : 메타데이터 캐시 서버 추적 리스트203: Tenant Manager 230: Metadata Cache Server Trace List

240 : 리스 설정 데이터 테이블240: lease setting data table

Claims (20)

멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템으로서,As a consistency control system of metadata cache in multi-tenancy SaaS platform, 메타데이터 캐시를 구비하는 웹 어플리케이션 서버와,A web application server having a metadata cache, 상기 메타데이터 캐시에 저장되는 메타데이터의 변경이 있는 경우 상기 변경 요청된 메타데이터의 이전 버전 메타데이터를 가지고 있는 상기 웹 어플리케이션을 추적하고, 상기 웹 어플리케션 서버로 상기 변경된 메타데이터를 전송하여 상기 메터데이터 캐시를 갱신시키는 데이터베이스If there is a change in metadata stored in the metadata cache, the web application having the previous version metadata of the change requested metadata is tracked, and the changed metadata is transmitted to the web application server to transmit the metadata. Database to update data cache 를 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템.Consistency control system of metadata cache in a SaaS platform that supports multi-tenancy including a. 제 1 항에 있어서,The method of claim 1, 상기 데이터베이스는,The database, 상기 웹 어플리케이션 서버의 메타데이터 갱신 여부를 추적하기 위한 메타데이터 캐시 서버 추적 리스트를 구비하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템.Consistency control system of metadata cache in a SaaS platform that supports multi-tenancy with a metadata cache server tracking list for tracking whether the web application server metadata update. 제 2 항에 있어서,The method of claim 2, 상기 메타데이터 캐시 서버 추적 리스트는,The metadata cache server tracking list is 상기 웹 어플리케이션 서버의 IP 주소 정보와, 메타데이터 버전 번호 정보와 상기 메타데이터를 획득한 리스 획득 시간 정보를 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템.Consistency control system of the metadata cache in a SaaS platform that supports multi-tenancy including the IP address information of the web application server, metadata version number information and lease acquisition time information obtained from the metadata. 제 1 항에 있어서,The method of claim 1, 상기 데이터베이스는,The database, 상기 웹 어플리케이션 서버로 제공하는 메타데이터에 대해 상기 메타데이터가 유효한지를 보증하는 리스 유효 시간을 설정하여, 상기 리스 유효 시간 경과 시마다 상기 웹 어플리케이션 서버가 상기 메타데이터에 대한 리스 연장 요청을 통해 상기 메타데이터의 갱신을 수행하도록 하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템.Set a lease validity time that guarantees that the metadata is valid for metadata provided to the web application server, and the web application server requests a lease extension for the metadata every time the lease validity time elapses. Consistency Control System of Metadata Cache on SaaS Platforms that Support Multi-Tenancy for Performing Updates. 제 1 항에 있어서,The method of claim 1, 상기 데이터베이스는, The database, 상기 웹 어플리케이션 서버로부터 상기 메타데이터 캐시에 대한 갱신 요청을 수신하는 경우, 상기 갱신 요청된 테넌트 식별자와 서비스 식별자에 대한 메타데이 터를 검색하여 변경된 메타데이터를 상기 웹 어플리케이션 서버로 전송하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템.When receiving an update request for the metadata cache from the web application server, a multi-tenancy that retrieves metadata for the updated tenant identifier and service identifier and transmits changed metadata to the web application server. Consistency Control System of Metadata Cache on Supported SaaS Platforms. 제 5 항에 있어서,The method of claim 5, 상기 데이터베이스는,The database, 상기 메타데이터의 갱신 수행 시 상기 웹 어플리케이션 서버로 전송한 메타데이터의 리스 획득 시간을 상기 메타데이터를 상기 웹 어플리케이션 서버로 전송하는 시간으로 변경하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템.Consistency of the metadata cache in the SaaS platform that supports multi-tenancy to change the lease acquisition time of the metadata transmitted to the web application server to the time to transmit the metadata to the web application server when updating the metadata. Control system. 제 5 항에 있어서,The method of claim 5, 상기 데이터베이스는,The database, 상기 메타데이터 캐시에 대한 갱신 요청 수신 시, 상기 갱신 요청된 테넌트 식별자와 서비스 식별자에 대한 메타데이터를 검색되지 않는 경우, 상기 테넌트 식별자와 서비스 식별자에 대해 새로운 리스트 엔트리를 구성하고 메타데이터를 생성하여 제공하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템.When receiving the update request for the metadata cache, if the metadata for the updated tenant identifier and the service identifier is not retrieved, a new list entry is formed for the tenant identifier and the service identifier, and the metadata is generated and provided. Consistency Control System of Metadata Cache in SaaS Platforms Supporting Multitenancy. 제 5 항에 있어서,The method of claim 5, 상기 데이터베이스는,The database, 상기 웹 어플리케이션 서버로의 메타데이터 갱신 요청이 실패되는 경우, 상기 메타데이터 갱신 요청의 실패를 로그 정보를 기록하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템.The metadata cache consistency control system of the SaaS platform that supports multi-tenancy to record log information of the failure of the metadata update request when the metadata update request to the web application server fails. 제 1 항에 있어서,The method of claim 1, 상기 웹 어플리케이션 서버는,The web application server, 상기 데이터베이스로부터 상기 변경된 메타데이터를 전송 받는 경우, 상기 메타데이터 캐시에서 상기 변경된 메타데이터에 해당하는 리스트 엔트리를 검색하여 상기 리스트 엔트리내 메타데이터 필드에 저장된 메타데이터를 상기 변경된 메타데이터로 갱신시키는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템.When the changed metadata is received from the database, the multi-tenant retrieves a list entry corresponding to the changed metadata from the metadata cache and updates the metadata stored in the metadata field in the list entry with the changed metadata. Consistency Control System of Metadata Cache on SaaS Platforms that Support City. 제 9 항에 있어서,The method of claim 9, 상기 웹 어플리케이션 서버는,The web application server, 상기 변경된 메타데이터를 전송 받아, 상기 메타데이터의 갱신 시 상기 리스 트 엔트리내 리스 획득 시간을 상기 메타데이터의 갱신이 수행된 시간으로 갱신시키는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템.Consistency control of the metadata cache in the SaaS platform that supports the multi-tenancy that receives the changed metadata and updates the lease acquisition time in the list entry to the time when the metadata is updated when the metadata is updated. system. 제 1 항에 있어서,The method of claim 1, 상기 웹 어플리케이션 서버는,The web application server, 상기 메타데이터 캐시내 각 테넌트별 리스트 엔트리내 메타데이터에 대한 리스 유효 시간 정보를 구비하여 상기 리스 유효 시간이 만료되는 리스트 엔트리의 메타데이터에 대해서는 상기 데이터베이스로 상기 메타데이터에 대한 리스 연장 요청을 수행하여 상기 메타데이터 캐시의 갱신을 수행하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템.The lease valid time information of the metadata in the list entry for each tenant in the metadata cache is provided, and for the metadata of the list entry for which the lease valid time expires, a lease extension request for the metadata is made to the database. Consistency control system of the metadata cache in the SaaS platform that supports multi-tenancy to perform the update of the metadata cache. 제 1 항에 있어서,The method of claim 1, 상기 웹 어플리케이션 서버는,The web application server, 상기 메타데이터 캐시내 각 테넌트별 리스트 엔트리에 저장된 메타데이터에 대한 최종 접속 시간을 검사하여 최종 접속 시간으로부터 경과된 시간이 미리 설정된 타임아웃시간을 초과하는 경우 해당 메타데이터를 상기 메타데이터 캐시에서 삭제시키는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 시스템.Examining the last access time for the metadata stored in the list entry for each tenant in the metadata cache and deleting the corresponding metadata from the metadata cache when the elapsed time from the last access time exceeds the preset timeout time. Consistency Control System of Metadata Cache on SaaS Platforms Supporting Multi-Tenancy. 웹 어플리케이션 서버와 데이터베이스를 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법으로서,As a method of controlling the consistency of metadata cache in the SaaS platform that supports multi-tenancy including web application server and database, 상기 데이터베이스에서 상기 웹 어플리케이션 서버로 리스 기반의 메타데이터를 제공하는 단계와,Providing lease-based metadata from the database to the web application server; 상기 데이터베이스에서 상기 웹 어플리케이션 서버의 메타데이터 캐시내 저장되는 상기 메타데이터에 대한 변경이 발생하는지 검사하는 단계와,Checking in the database if a change occurs in the metadata stored in the metadata cache of the web application server; 상기 메타데이터에 대한 변경이 발생하는 경우 상기 변경이 발생한 메타데이터를 가지고 있는 상기 웹 어플리케이션 서버를 추적하는 단계와,Tracking the web application server having the metadata in which the change occurred, when a change to the metadata occurs; 상기 추적된 웹 어플리케이션 서버로 상기 변경이 발생한 메타데이터를 전송하여 상기 메타데이터 캐시를 갱신시키는 단계Transmitting the changed metadata to the tracked web application server to update the metadata cache. 를 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법.How to control the consistency of the metadata cache in a SaaS platform that supports multi-tenancy, including. 제 13 항에 있어서,The method of claim 13, 상기 메타데이터 캐시의 갱신단계 이후, 상기 웹 어플리케이션 서버에서 상기 메타데이터의 리스 획득 시간을 상기 메타데이터가 수신된 시간으로 변경시키는 단계를 더 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법.After updating the metadata cache, changing the lease acquisition time of the metadata to the time at which the metadata is received by the web application server. How to control consistency. 제 13 항에 있어서,The method of claim 13, 상기 웹 어플리케이션 서버는,The web application server, 상기 리스 기반의 메타데이터내 리스 유효 시간이 만료되는 경우 상기 데이터베이스로 해당 메타데이터의 리스 유효 시간 연장을 요청하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법.How to control the consistency of the metadata cache in the SaaS platform that supports multi-tenancy to request the lease valid time extension of the metadata to the database when the lease valid time in the lease-based metadata expires. 웹 어플리케이션 서버와 데이터베이스를 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법으로서,As a method of controlling the consistency of metadata cache in the SaaS platform that supports multi-tenancy including web application server and database, 상기 웹 어플리케이션 서버로부터 메타데이터 캐시에 대한 갱신 요청을 수신하는 단계와,Receiving an update request for a metadata cache from the web application server; 상기 데이터베이스에서 상기 갱신 요청된 메타데이터에 대한 테넌트 식별자와 서비스 식별자를 읽어오는 단계와, Reading a tenant identifier and a service identifier for the update requested metadata from the database; 상기 웹 어플리케이션 서버별 관리되는 메타데이터 캐시 서버 추적 리스트에서 상기 테넌트 식별자와 서비스 식별자에 대응되는 메타데이터를 검색하는 단계와,Retrieving metadata corresponding to the tenant identifier and a service identifier from the managed metadata cache server tracking list for each web application server; 상기 검색된 메타데이터를 상기 웹 어플리케이션 서버로 전송하여 상기 메타데이터 캐시의 갱신을 수행하는 단계Transmitting the retrieved metadata to the web application server to update the metadata cache. 를 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법.How to control the consistency of the metadata cache in a SaaS platform that supports multi-tenancy, including. 제 16 항에 있어서,The method of claim 16, 상기 메타데이터 캐시 서버 추적 리스트는,The metadata cache server tracking list is 상기 웹 어플리케이션 서버의 IP 주소 정보와, 메타데이터 버전 번호 정보와 상기 메타데이터를 획득한 리스 획득 시간 정보를 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법.The method of controlling the consistency of the metadata cache in the SaaS platform that supports multi-tenancy including the IP address information of the web application server, metadata version number information and lease acquisition time information obtained from the metadata. 제 16 항에 있어서,The method of claim 16, 상기 메타데이터 캐시의 갱신을 수행한 이후, 상기 데이터베이스에서 상기 메타데이터의 리스 획득 시간을 상기 메타데이터가 상기 웹 어플리케이션 서버로 전송된 시간으로 변경시키는 단계를 더 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법.And after updating the metadata cache, changing the lease acquisition time of the metadata in the database to the time when the metadata is transmitted to the web application server. To control the consistency of the metadata cache in the database. 웹 어플리케이션 서버와 데이터베이스를 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법으로서,As a method of controlling the consistency of metadata cache in the SaaS platform that supports multi-tenancy including web application server and database, 외부로부터 상기 웹 어플리케이션 서버의 메타데이터 캐시에 대한 갱신 요청을 수신하는 단계와,Receiving an update request for a metadata cache of the web application server from the outside; 상기 데이터베이스에서 상기 갱신 요청된 메타데이터에 대한 테넌트 식별자와 서비스 식별자 및 해당 웹 어플리케이션 IP 주소를 읽어오는 단계와, Reading a tenant identifier, a service identifier, and a corresponding web application IP address for the updated requested metadata from the database; 상기 웹 어플리케이션 서버별 관리되는 메타데이터 캐시 서버 추적 리스트에서 상기 테넌트 식별자와 서비스 식별자에 대응되는 메타데이터를 검색하는 단계와,Retrieving metadata corresponding to the tenant identifier and the service identifier from the managed metadata cache server tracking list for each web application server; 상기 검색된 메타데이터를 상기 IP 주소에 대응되는 해당 웹 어플리케이션 서버로 전송하여 상기 메타데이터 캐시의 갱신을 수행하는 단계Transmitting the retrieved metadata to the corresponding web application server corresponding to the IP address to update the metadata cache. 를 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법.How to control the consistency of the metadata cache in a SaaS platform that supports multi-tenancy, including. 웹 어플리케이션 서버와 데이터베이스를 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법으로서,As a method of controlling the consistency of metadata cache in the SaaS platform that supports multi-tenancy including web application server and database, 상기 웹 어플리케이션 서버에서 메타데이터 캐시내 저장된 메타데이터별 최종 접속 시간을 검사하는 단계와,Checking a final access time for each metadata stored in a metadata cache at the web application server; 상기 메타데이터별 최종 접속 시간으로부터 현재 시간까지 경과된 경과시간 을 검사하는 단계와,Checking an elapsed time that elapses from the last access time for each metadata to a current time; 상기 경과 시간이 미리 설정된 일정 타인아웃 시간을 초과하는 경우 해당 메타데이터를 상기 메타데이터 캐시에서 삭제시키는 단계Deleting the corresponding metadata from the metadata cache when the elapsed time exceeds a predetermined predetermined tine out time. 를 포함하는 멀티테넌시를 지원하는 SaaS 플랫폼에서 메타데이터 캐시의 일관성 제어 방법.How to control the consistency of the metadata cache in a SaaS platform that supports multi-tenancy, including.
KR1020090121125A 2009-12-08 2009-12-08 System for controlling consistency of metadata cache in saas platform capable of providing multi-tenancy and method thereof KR20110064486A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090121125A KR20110064486A (en) 2009-12-08 2009-12-08 System for controlling consistency of metadata cache in saas platform capable of providing multi-tenancy and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090121125A KR20110064486A (en) 2009-12-08 2009-12-08 System for controlling consistency of metadata cache in saas platform capable of providing multi-tenancy and method thereof

Publications (1)

Publication Number Publication Date
KR20110064486A true KR20110064486A (en) 2011-06-15

Family

ID=44397919

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090121125A KR20110064486A (en) 2009-12-08 2009-12-08 System for controlling consistency of metadata cache in saas platform capable of providing multi-tenancy and method thereof

Country Status (1)

Country Link
KR (1) KR20110064486A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013141517A1 (en) * 2012-03-18 2013-09-26 엘지전자 주식회사 Control device and method for operating same, and server and method for operating same
WO2014193166A1 (en) * 2013-05-28 2014-12-04 엘지전자 주식회사 Gateway and control method therefor
KR20170102725A (en) * 2016-03-02 2017-09-12 한국전자통신연구원 Apparatus and method for managing data
KR20180117401A (en) * 2017-04-19 2018-10-29 한국전자통신연구원 Apparatus and method for managing metadata

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013141517A1 (en) * 2012-03-18 2013-09-26 엘지전자 주식회사 Control device and method for operating same, and server and method for operating same
WO2014193166A1 (en) * 2013-05-28 2014-12-04 엘지전자 주식회사 Gateway and control method therefor
KR20170102725A (en) * 2016-03-02 2017-09-12 한국전자통신연구원 Apparatus and method for managing data
KR20180117401A (en) * 2017-04-19 2018-10-29 한국전자통신연구원 Apparatus and method for managing metadata

Similar Documents

Publication Publication Date Title
US11388251B2 (en) Providing access to managed content
US9639546B1 (en) Object-backed block-based distributed storage
US8281376B2 (en) Authentication system and authentication method
JP4394493B2 (en) File management method, file management apparatus, and file management program
US8396938B2 (en) Providing direct access to distributed managed content
EP1701280B1 (en) File server and method for translating user identifier
EP3022708B1 (en) Content source discovery
US20100094979A1 (en) Network System, Server Apparatus, and Printer Driver
US20120265836A1 (en) File sharing system and file sharing method
JP2008519362A (en) Content address storage device for maintaining content address mapping
US20160042056A1 (en) System and Method for Storing Data in Clusters Located Remotely from Each Other
US9602614B1 (en) Distributed caching cluster client configuration
KR20070076619A (en) Operating method of domain name system for updating adress information of server and domain name system of enabling the method
US20200134043A1 (en) Duplicate Request Checking for File System Interfaces
RU2008118893A (en) DEFINITION SERVICE, DIGITAL CERTIFICATE WAS CANCELLATED
JP2019535060A (en) Software update system, firmware over-the-air update system, and method for updating client device
US20090157694A1 (en) Method and system for managing file metadata transparent about address changes of data servers and movements of their disks
KR20110064486A (en) System for controlling consistency of metadata cache in saas platform capable of providing multi-tenancy and method thereof
US20090165011A1 (en) Resource management method, information processing system, information processing apparatus, and program
JP2012146083A (en) Session management system, session management apparatus, server device and session management method
JP2008152553A (en) Data update processor, data update processing method and data update processing program
US20140025630A1 (en) Data-store management apparatus, data providing system, and data providing method
JP2004062443A (en) Service management system and method, server management device, communication terminal, and server device
WO2012046585A1 (en) Distributed storage system, method of controlling same, and program
US11442960B2 (en) Edge key value store for a distributed platform

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application