KR102544820B1 - Micro service architecture based service system and method for multi-tenant configuration thereof - Google Patents

Micro service architecture based service system and method for multi-tenant configuration thereof Download PDF

Info

Publication number
KR102544820B1
KR102544820B1 KR1020180058300A KR20180058300A KR102544820B1 KR 102544820 B1 KR102544820 B1 KR 102544820B1 KR 1020180058300 A KR1020180058300 A KR 1020180058300A KR 20180058300 A KR20180058300 A KR 20180058300A KR 102544820 B1 KR102544820 B1 KR 102544820B1
Authority
KR
South Korea
Prior art keywords
setting
service
meta information
service module
setting value
Prior art date
Application number
KR1020180058300A
Other languages
Korean (ko)
Other versions
KR20190133404A (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 KR1020180058300A priority Critical patent/KR102544820B1/en
Publication of KR20190133404A publication Critical patent/KR20190133404A/en
Application granted granted Critical
Publication of KR102544820B1 publication Critical patent/KR102544820B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Abstract

마이크로 서비스 아키텍처 기반의 서비스 시스템 및 상기 시스템에서의 멀티 테넌트 설정 관리 방법이 제공된다. 일 실시예에 따른 서비스 시스템은 하나 이상의 테넌트로 상기 서비스를 구성하는 복수의 기능들을 각각 나누어 제공하고, 각각 자신이 제공하는 기능과 관련된 각 테넌트별 설정값을 저장하는 하나 이상의 일반 서비스 모듈 및 상기 각 테넌트별 설정값에 대응되는 설정 메타 정보를 저장하는 설정 관리 서비스 모듈을 포함한다.A service system based on a microservice architecture and a multi-tenant configuration management method in the system are provided. A service system according to an embodiment divides and provides a plurality of functions constituting the service to one or more tenants, and stores one or more general service modules that store setting values for each tenant related to the functions provided by the service system, and each of the services. It includes a setting management service module that stores setting meta information corresponding to setting values for each tenant.

Description

마이크로 서비스 아키텍처 기반의 서비스 시스템 및 상기 시스템에서의 멀티 테넌트 설정 관리 방법{MICRO SERVICE ARCHITECTURE BASED SERVICE SYSTEM AND METHOD FOR MULTI-TENANT CONFIGURATION THEREOF}Service system based on microservice architecture and multi-tenant configuration management method in the system

개시되는 실시예들은 마이크로 서비스 아키텍처(Micro Service Architecture) 기반의 서비스 제공 기술과 관련된다.The disclosed embodiments relate to a service providing technology based on a micro service architecture.

마이크로 서비스 아키텍처란, 하나의 큰 애플리케이션 또는 컴퓨팅 서비스를 각각 특화된 기능을 담당하는 복수 개의 서비스 모듈(Service Module)로 나누어 구현한 아키텍처를 의미한다. 마이크로 서비스 아키텍처에서는 복수 개의 서비스 모듈의 변경과 조합을 통해 전체 애플리케이션 또는 서비스를 구성하게 되므로, 종래의 모노리틱(monolithic) 아키텍처와 비교하여 기능의 추가, 삭제, 또는 개선이 자유롭다.Microservice architecture refers to an architecture implemented by dividing one large application or computing service into a plurality of service modules each responsible for a specialized function. In the microservice architecture, since an entire application or service is configured through modification and combination of a plurality of service modules, functions can be freely added, deleted, or improved compared to a conventional monolithic architecture.

마이크로 서비스 아키텍처 기반으로 복수의 테넌트(tenant)에 서비스를 제공할 경우, 각 테넌트들을 서비스 제공자와의 계약 내용에 따라 해당 서비스를 구성하는 복수 개의 서비스 모듈 중 일부 또는 전부를 사용하게 된다. 이에 따라, 각각의 테넌트별 서비스 제공에 필요한 설정값들을 효과적으로 관리하기 위한 방안이 필요하게 되었다.When a service is provided to a plurality of tenants based on a microservice architecture, each tenant uses some or all of the plurality of service modules constituting the corresponding service according to the contents of the contract with the service provider. Accordingly, a method for effectively managing setting values required for service provision for each tenant is required.

대한민국 공개특허공보 제10-2010-0015398호 (2010. 02. 12)Republic of Korea Patent Publication No. 10-2010-0015398 (2010. 02. 12)

개시되는 실시예들은, 마이크로 서비스 아키텍처 기반의 서비스 시스템에서 각 테넌트별 설정값을 효과적으로 관리하기 위한 기술적인 수단을 제공하기 위한 것이다. The disclosed embodiments are intended to provide technical means for effectively managing setting values for each tenant in a service system based on a microservice architecture.

예시적인 실시예에 따르면, 하나 이상의 테넌트(tenant)로 서비스를 제공하기 위한 시스템으로서, 상기 하나 이상의 테넌트로 상기 서비스를 구성하는 복수의 기능들을 각각 나누어 제공하고, 각각 자신이 제공하는 기능과 관련된 각 테넌트별 설정값을 저장하는 하나 이상의 일반 서비스 모듈; 및 상기 각 테넌트별 설정값에 대응되는 설정 메타 정보를 저장하는 설정 관리 서비스 모듈을 포함하는, 서비스 시스템이 제공된다.According to an exemplary embodiment, as a system for providing a service to one or more tenants, a plurality of functions constituting the service are divided and provided to the one or more tenants, and each function related to the function provided by the one or more tenants is separately provided. One or more general service modules that store setting values for each tenant; and a setting management service module storing setting meta information corresponding to the setting value for each tenant.

상기 설정 관리 서비스 모듈은, 상기 설정 메타 정보의 변경이 발생되는 경우, 변경된 설정 메타 정보를 상기 하나 이상의 일반 서비스 모듈로 송신할 수 있다.The setting management service module may transmit the changed setting meta information to the one or more general service modules when the setting meta information is changed.

상기 하나 이상의 일반 서비스 모듈은, 상기 설정 관리 서비스 모듈로부터 수신된 상기 변경된 설정 메타 정보를 이용하여 상기 설정 메타 정보를 상기 설정 관리 서비스 모듈과 동기화할 수 있다.The at least one general service module may synchronize the setting meta information with the setting management service module using the changed setting meta information received from the setting management service module.

상기 설정 메타 정보는, 상기 설정값 각각의 설정 항목, 데이터 유형, 및 해당 설정값이 저장되는 서비스 모듈 정보 중 하나 이상을 포함할 수 있다.The setting meta information may include one or more of a setting item for each setting value, a data type, and service module information in which the corresponding setting value is stored.

상기 일반 서비스 모듈은, 자신이 저장하고 있는 설정값 이외의 타 설정값에 대한 조회가 필요한 경우, 상기 설정 메타 정보를 참조하여 상기 타 설정값이 저장된 타 서비스 모듈 정보를 획득하고, 상기 타 서비스 모듈로 상기 타 설정값의 제공을 요청할 수 있다.The general service module, when it is necessary to inquire about other setting values other than the setting values stored by itself, obtains other service module information in which the other setting values are stored by referring to the setting meta information, and the other service module It is possible to request the provision of the other setting values with .

상기 설정 관리 서비스 모듈은, 특정 테넌트로부터 상기 설정값에 대한 조회 요청이 수신되는 경우, 상기 설정 메타 정보를 참조하여 상기 하나 이상의 일반 서비스 모듈로부터 상기 특정 테넌트의 설정값을 수신하고, 수신된 상기 특정 테넌트의 설정값을 상기 설정 메타 정보와 결합하여 상기 특정 테넌트로 제공할 수 있다.The setting management service module, when a request for inquiry on the setting value is received from a specific tenant, refers to the setting meta information to receive the setting value of the specific tenant from the one or more general service modules, and the received setting value of the specific tenant The setting value of the tenant may be combined with the setting meta information and provided to the specific tenant.

다른 예시적인 실시예에 따르면, 하나 이상의 테넌트(tenant)로 서비스를 제공하기 위한 장치로서, 상기 각 테넌트별 서비스 제공 설정값과 연관되는 설정 메타 정보를 저장하는 설정 메타 정보 저장부; 및 상기 각 테넌트별 설정값을 각각 분할하여 저장하는 하나 이상의 일반 서비스 모듈로부터 상기 설정값을 수신하고, 수신된 상기 설정값을 상기 설정 메타 정보와 결합하여 사용자에게 제공하는 설정값 제공부를 포함하는 설정 관리 서비스 장치가 제공된다.According to another exemplary embodiment, an apparatus for providing a service to one or more tenants is provided, comprising: a setting meta information storage unit configured to store setting meta information associated with a service provision setting value for each tenant; and a setting value providing unit that receives the setting value from one or more general service modules that divide and store the setting value for each tenant, combines the received setting value with the setting meta information, and provides the setting value to a user. A management service device is provided.

상기 설정 메타 정보는, 상기 설정값 각각의 설정 항목, 데이터 유형, 및 해당 설정값이 저장되는 서비스 모듈 정보 중 하나 이상을 포함할 수 있다.The setting meta information may include one or more of a setting item for each setting value, a data type, and service module information in which the corresponding setting value is stored.

상기 장치는, 상기 사용자로부터 상기 설정 메타 정보의 추가, 수정, 또는 삭제 요청이 수신되는 경우, 상기 요청에 따라 상기 설정 메타 정보를 변경하는 설정 메타 정보 관리부를 더 포함할 수 있다.The device may further include a setting meta information management unit configured to change the setting meta information according to the request for adding, modifying, or deleting the setting meta information from the user.

상기 설정 메타 정보 관리부는, 상기 설정 메타 정보의 변경이 발생되는 경우, 변경된 설정 메타 정보를 상기 하나 이상의 일반 서비스 모듈로 송신할 수 있다.The setting meta information management unit may transmit the changed setting meta information to the one or more general service modules when the setting meta information is changed.

다른 예시적인 실시예에 따르면, 하나 이상의 테넌트(tenant)로 서비스를 제공하기 위한 장치로서, 상기 하나 이상의 테넌트로 상기 서비스를 구성하는 복수의 기능들 중 어느 하나의 기능을 제공하고, 상기 제공 기능과 관련된 상기 각 테넌트별 설정값을 저장하는 설정값 저장부; 설정 관리 서비스 모듈로부터 상기 설정값과 연관되는 설정 메타 정보를 수신하여 저장하는 설정 메타 정보 연계 저장부; 및 설정값 제공 요청에 따라 상기 설정값 저장부에 저장된 상기 설정값을 제공하는 설정값 관리부를 포함하는, 서비스 제공 장치가 제공된다.According to another exemplary embodiment, an apparatus for providing a service to one or more tenants, providing any one of a plurality of functions constituting the service to the one or more tenants, and comprising the providing function and a setting value storage unit for storing the setting value for each tenant; a setting meta-information linked storage unit for receiving and storing setting meta-information associated with the setting value from a setting management service module; and a setting value management unit configured to provide the setting value stored in the setting value storage unit according to a setting value provision request.

상기 설정 메타 정보 연계 저장부는, 상기 설정 관리 서비스 모듈로부터 변경된 설정 메타 정보가 수신되는 경우, 이를 이용하여 상기 설정 메타 정보를 상기 설정 관리 서비스 모듈과 동기화할 수 있다.When the changed setting meta information is received from the setting management service module, the setting meta information linked storage unit can synchronize the setting meta information with the setting management service module using this.

상기 설정 메타 정보는, 상기 설정값 각각의 설정 항목, 데이터 유형, 및 해당 설정값이 저장되는 서비스 모듈 정보 중 하나 이상을 포함할 수 있다.The setting meta information may include one or more of a setting item for each setting value, a data type, and service module information in which the corresponding setting value is stored.

상기 설정값 관리부는, 상기 설정값 저장부에 저장된 설정값 이외의 타 설정값에 대한 조회가 필요한 경우, 상기 설정 메타 정보를 참조하여 상기 타 설정값이 저장된 타 서비스 모듈 정보를 획득하고, 상기 타 서비스 모듈로 상기 타 설정값의 제공을 요청할 수 있다.The setting value management unit obtains other service module information in which the other setting value is stored by referring to the setting meta information when it is necessary to inquire about other setting values other than the setting value stored in the setting value storage unit. A service module may be requested to provide the other setting values.

다른 예시적인 실시예에 따르면, 하나 이상의 테넌트(tenant)로 서비스를 제공하기 위한 설정 관리 서비스 장치에서 수행되는 방법으로서, 상기 각 테넌트별 서비스 제공 설정값과 연관되는 설정 메타 정보를 저장하는 단계; 상기 각 테넌트별 설정값을 각각 분할하여 저장하는 하나 이상의 일반 서비스 모듈로부터 상기 각 테넌트별 설정값의 적어도 일부를 수신하는 단계; 및 수신된 상기 설정값의 적어도 일부를 상기 설정 메타 정보와 결합하여 사용자에게 제공하는 단계를 포함하는, 설정 관리 방법이 제공된다.According to another exemplary embodiment, a method performed in a setting management service device for providing a service to one or more tenants, comprising: storing setting meta information associated with a service provision setting value for each tenant; receiving at least a portion of the set values for each tenant from one or more general service modules that divide and store the set values for each tenant; and combining at least a part of the received setting value with the setting meta information and providing it to a user.

상기 설정 메타 정보는, 상기 설정값 각각의 설정 항목, 데이터 유형, 및 해당 설정값이 저장되는 서비스 모듈 정보 중 하나 이상을 포함할 수 있다.The setting meta information may include one or more of a setting item for each setting value, a data type, and service module information in which the corresponding setting value is stored.

상기 저장하는 단계는, 상기 사용자로부터 상기 설정 메타 정보의 추가, 수정, 또는 삭제 요청이 수신되는 경우, 상기 요청에 따라 기 저장된 상기 설정 메타 정보를 변경하는 단계를 더 포함할 수 있다.The storing may further include, when a request for addition, modification, or deletion of the setting meta information is received from the user, changing the previously stored setting meta information according to the request.

상기 설정 메타 정보를 변경하는 단계는, 변경된 설정 메타 정보를 상기 하나 이상의 일반 서비스 모듈로 송신하는 단계를 더 포함할 수 있다.Changing the setting meta information may further include transmitting the changed setting meta information to the at least one general service module.

다른 예시적인 실시예에 따르면, 하나 이상의 테넌트(tenant)로 서비스를 제공하기 위한 서비스 제공 장치에서 수행되는 방법으로서, 상기 하나 이상의 테넌트로 상기 서비스의 제공을 위한 각 테넌트별 설정값을 저장하는 단계; 특정 테넌트로부터 상기 서비스를 구성하는 복수의 기능들 중 특정 기능에 대한 제공 요청을 수신하는 단계; 저장된 상기 설정값을 조회하여 상기 특정 기능의 제공과 연관된 특정 설정값을 획득하는 단계; 및 획득된 상기 특정 설정값에 기초하여 상기 특정 기능을 제공하는 단계를 포함하는, 서비스 제공 방법이 제공된다.According to another exemplary embodiment, a method performed in a service providing apparatus for providing a service to one or more tenants includes: storing setting values for each tenant for providing the service to the one or more tenants; Receiving a provision request for a specific function among a plurality of functions constituting the service from a specific tenant; obtaining a specific setting value associated with providing the specific function by inquiring the stored setting value; and providing the specific function based on the obtained specific setting value.

상기 설정값을 획득하는 단계는, 상기 특정 기능의 제공을 위하여, 상기 저장된 설정값 이외의 타 설정값에 대한 조회가 필요한 경우, 설정 메타 정보를 참조하여 상기 타 설정값이 저장된 타 서비스 모듈 정보를 획득하고, 상기 타 서비스 모듈로 상기 타 설정값의 제공을 요청하도록 구성될 수 있다.The step of acquiring the set value may include, in order to provide the specific function, if it is necessary to inquire about other set values other than the stored set value, information on other service modules in which the other set value is stored by referring to setting meta information. and request the other service module to provide the other setting value.

개시되는 실시예들에 따르면, 각 테넌트별 서비스 제공을 위한 설정값을 각 서비스 모듈에 분산하여 저장하고 설정 관리 서비스 모듈에는 설정값과 연관되는 메타 정보만을 저장하도록 구성됨으로써, 설정 관리 서비스 모듈에 장애가 발생하더라도 각 서비스 모듈은 각자 자신에게 저장된 설정값을 이용하여 서비스를 중단 없이 제공할 수 있게 된다. 따라서 개시되는 실시예들에 따를 경우 각 서비스 모듈의 독립적인 동작을 보장할 수 있으며, 설정 관리 서비스 모듈의 장애로 인한 서비스 중단을 최소화할 수 있다.According to the disclosed embodiments, setting values for service provision for each tenant are distributed and stored in each service module, and the setting management service module is configured to store only meta information associated with the setting values, so that failures in the setting management service module are prevented. Even if it occurs, each service module can provide the service without interruption using the set value stored in itself. Therefore, according to the disclosed embodiments, independent operation of each service module can be guaranteed, and service interruption due to failure of the configuration management service module can be minimized.

도 1은 일 실시예에 따른 서비스 시스템을 설명하기 위한 블록도
도 2는 일 실시예에 따른 설정 관리 서비스 모듈을 설명하기 위한 블록도
도 3은 일 실시예에 따른 일반 서비스 모듈을 설명하기 위한 블록도
도 4는 일 실시예에 따른 설정값 제공 과정을 설명하기 위한 흐름도
도 5는 일 실시예에 따른 서비스 시스템에서의 기능 제공 과정을 설명하기 위한 흐름도
1 is a block diagram for explaining a service system according to an exemplary embodiment;
2 is a block diagram for explaining a configuration management service module according to an exemplary embodiment;
3 is a block diagram for explaining a general service module according to an exemplary embodiment;
4 is a flowchart for explaining a setting value providing process according to an embodiment
5 is a flowchart for explaining a process of providing a function in a service system according to an exemplary embodiment;

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The detailed descriptions that follow are provided to provide a comprehensive understanding of the methods, devices and/or systems described herein. However, this is only an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, if it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or operator. Therefore, the definition should be made based on the contents throughout this specification. Terminology used in the detailed description is only for describing the embodiments of the present invention and should in no way be limiting. Unless expressly used otherwise, singular forms of expression include plural forms. In this description, expressions such as "comprising" or "comprising" are intended to indicate any characteristic, number, step, operation, element, portion or combination thereof, one or more other than those described. It should not be construed to exclude the existence or possibility of any other feature, number, step, operation, element, part or combination thereof.

도 1은 일 실시예에 따른 서비스 시스템(100)을 설명하기 위한 블록도이다. 일 실시예에 따른 서비스 시스템(100)은 사용자에게 다양한 종류의 컴퓨팅 서비스를 제공하기 위한 시스템이다. 개시되는 실시예들에서, 컴퓨팅 서비스란 이메일 서비스, 소셜 네트워크 서비스, 온라인 스토리지 서비스, 비즈니스 지원 서비스 등, 온라인상에서 제공 가능한 다양한 종류의 소프트웨어 인프라 제공 서비스들을 제한 없이 포함할 수 있다. 1 is a block diagram illustrating a service system 100 according to an exemplary embodiment. The service system 100 according to an embodiment is a system for providing various types of computing services to users. In the disclosed embodiments, the computing service may include, without limitation, various types of software infrastructure providing services that can be provided online, such as e-mail service, social network service, online storage service, and business support service.

일 실시예에서, 서비스 시스템(100)은 복수의 테넌트(tenant)를 대상으로 서비스를 제공할 수 있도록 멀티 테넌시(multi tenancy) 기반으로 구현될 수 있다. 테넌트란 서비스 시스템(100)에 대하여 공통의 접근 권한을 공유하는 사용자들의 그룹을 의미한다. 예를 들어, 하나의 회사 또는 회사 내의 특정 그룹이 하나의 테넌트를 구성할 수 있다. 서비스 시스템(100)은 복수의 테넌트 각각에 대하여 서로 다른 서비스 설정값을 저장 및 관리할 수 있으며, 상기 설정값에 기반하여 각 테넌트별로 서비스를 제공할 수 있다.In one embodiment, the service system 100 may be implemented based on multi-tenancy to provide services to a plurality of tenants. A tenant refers to a group of users who share common access rights to the service system 100 . For example, one company or a specific group within a company may constitute one tenant. The service system 100 may store and manage different service setting values for each of a plurality of tenants, and provide services for each tenant based on the setting values.

도 1에 도시된 바와 같이, 일 실시예에 따른 서비스 시스템(100)은 하나 이상의 일반 서비스 모듈(102) 및 설정 관리 모듈(104)을 포함한다.As shown in FIG. 1 , a service system 100 according to an embodiment includes one or more general service modules 102 and a configuration management module 104 .

하나 이상의 일반 서비스 모듈(102)은 멀티 테넌시 기반의 서비스를 제공하기 위한 모듈이다. 일 실시예에서, 상기 각 일반 서비스 모듈(102)은 상기 서비스를 구성하는 복수의 기능들을 각각 나누어 제공할 수 있다. 예를 들어, 서비스 시스템(100)이 세 개의 일반 서비스 모듈(102)로 구성될 경우, 이 중 제1 서비스 모듈은 하나 이상의 테넌트로 온라인상의 작업 공간을 제공하는 워크스페이스 서비스 모듈, 제2 서비스 모듈은 하나 이상의 테넌트에 원격 파일 저장 공간을 제공하는 드라이브 서비스 모듈, 제3 서비스 모듈은 하나 이상의 테넌트에 이메일 송수신 서비스를 제공하는 이메일 서비스 모듈일 수 있다. 즉, 개시되는 실시예들에서 일반 서비스 모듈(102)은 이른바 마이크로 서비스 아키텍처(Micro Service Architecture) 기반으로 서비스를 제공할 수 있다.One or more general service modules 102 are modules for providing services based on multi-tenancy. In one embodiment, each of the general service modules 102 may separately provide a plurality of functions constituting the service. For example, when the service system 100 is composed of three general service modules 102, a first service module among them is a workspace service module that provides an online workspace to one or more tenants, and a second service module. may be a drive service module that provides a remote file storage space to one or more tenants, and a third service module may be an email service module that provides an email transmission/reception service to one or more tenants. That is, in the disclosed embodiments, the general service module 102 may provide a service based on a so-called micro service architecture.

일 실시예에서, 하나 이상의 일반 서비스 모듈(102)은 각각 자신이 제공하는 기능과 관련된 각 테넌트별 설정값을 저장 및 관리한다. 전술한 예와 같이 서비스 시스템(100)이 세 개의 일반 서비스 모듈(102)을 포함할 경우, 제1 서비스 모듈은 각 테넌트별 워크스페이스 관련 설정값을, 제2 서비스 모듈은 각 테넌트별 원격 파일 저장 관련 설정값을, 제3 서비스 모듈은 각 테넌트별 이메일 송수신 관련 설정값을 저장 및 관리할 수 있다.In one embodiment, one or more general service modules 102 store and manage setting values for each tenant related to functions provided by themselves. As in the above example, when the service system 100 includes three general service modules 102, the first service module stores workspace-related setting values for each tenant, and the second service module stores remote files for each tenant. As for the related setting values, the third service module may store and manage setting values related to email transmission/reception for each tenant.

설정 관리 서비스 모듈(104)은 상기 마이크로 서비스 아키텍처를 구성하는 서비스 모듈 중 하나로서, 상기 각 테넌트별 설정값에 대응되는 설정 메타 정보를 저장하는 기능을 수행한다. 이때, 상기 설정 메타 정보는 설정값의 입력, 유지 및 관리에 사용되는 정보로서, 각 설정값들의 설정 항목, 데이터 유형, 및 해당 설정값이 저장되는 서비스 모듈 정보 등을 포함할 수 있다.The setting management service module 104 is one of the service modules constituting the microservice architecture, and performs a function of storing setting meta information corresponding to setting values for each tenant. In this case, the setting meta information is information used for inputting, maintaining, and managing setting values, and may include setting items of each setting value, data type, and service module information in which the corresponding setting value is stored.

아래의 표 1은 설정 메타 정보의 일례를 나타낸 것이다.Table 1 below shows an example of setting meta information.

컬럼명column name 컬럼 설명column description 예시example 설정 IDsetting ID 설정 Key 값Set Key value IF_FNCT_USE_YNIF_FNCT_USE_YN 설정 설명Setting Description 설정에 대한 설명Description of settings 연계 기능 사용 여부Whether to use linkage function 서비스 모듈service module 설정 값을 관리할 서비스 모듈명Service module name to manage setting value IOFFICE_FSW 모듈IOFFICE_FSW module 순서order 해당 설정값의 화면 표시 순서Screen display order of the corresponding setting value 1One 설정값 유형setpoint type 설정값의 데이터 유형Data type of setting value Boolean, Reference(Single Selection), Reference(Multi Selection)Boolean, Reference (Single Selection), Reference (Multi Selection) 기본값(default value)default value 해당 설정의 기본값Default value for that setting YY 적용 레벨application level 해당 설정이 적용되는 범위Scope to which the setting applies 테넌트 단위, 또는 전체 시스템 등per tenant, or entire system, etc.

개시되는 실시예들에서, 설정 관리 서비스 모듈(104)은 각 테넌트별 설정값을 설정하기 위한 설정 메타 정보만을 저장하며, 각 테넌트별 설정값 자체는 하나 이상의 일반 서비스 모듈(102)에 분산하여 저장된다. 이와 같이 구성될 경우 설정값들이 하나의 서비스 모듈에 통합하여 저장될 때와 비교하여 서비스의 안정성 및 유지보수의 측면에서 유리하다. 예를 들어, 설정값들이 특정 서비스 모듈(예컨대, 관리 서비스 모듈)에 통합하여 저장될 경우, 해당 관리 서비스 모듈에 장애가 발생하면 다른 서비스 모듈에서 설정값을 조회하는 것이 불가능해진다. 따라서 이 경우 다른 서비스 모듈들은 정상 작동함에도 불구하고 관리 서비스 모듈이 복구될 때까지 서비스 전체가 중단될 위험성이 있다. 그러나 개시되는 실시예들에 따를 경우 설정 관리 서비스 모듈(104)에 장애가 발생하더라도 각 일반 서비스 모듈(102)은 각자 자신에게 저장된 설정값을 이용하여 서비스를 중단 없이 제공할 수 있게 되는 바, 서비스의 장애를 최소화할 수 있다.In the disclosed embodiments, the setting management service module 104 stores only setting meta information for setting setting values for each tenant, and setting values for each tenant are distributed and stored in one or more general service modules 102. do. When configured in this way, it is advantageous in terms of service stability and maintenance compared to when setting values are integrated and stored in one service module. For example, when setting values are integrated and stored in a specific service module (eg, a management service module), when a failure occurs in the corresponding management service module, it becomes impossible to retrieve the setting values from other service modules. Accordingly, in this case, there is a risk that the entire service is stopped until the management service module is restored even though other service modules operate normally. However, according to the disclosed embodiments, even if a failure occurs in the setting management service module 104, each general service module 102 can provide the service without interruption by using the setting values stored therein. obstacles can be minimized.

설정 관리 서비스 모듈(104)은 특정 테넌트로부터 상기 설정값에 대한 조회 요청이 수신되는 경우, 상기 설정 메타 정보를 참조하여 하나 이상의 일반 서비스 모듈(102)로부터 상기 특정 테넌트의 설정값을 수신할 수 있다. 이후 설정 관리 서비스 모듈(104)은 수신된 상기 특정 테넌트의 설정값을 상기 설정 메타 정보와 결합하여 상기 특정 테넌트로 제공할 수 있다. 개시되는 실시예들에서, 설정값은 대개 Y/N 등의 문자, 또는 숫자 등으로만 구성되는 바, 설정 메타 정보가 없으면 그 의미를 인식하는 것이 불가능하다. 따라서 설정 관리 서비스 모듈(104)은 하나 이상의 일반 서비스 모듈(102)로부터 수신되는 설정값을 설정 메타 정보와 결합하고 이를 시각적으로 구성하여 제공함으로써 이를 요청한 요청자가 해당 설정값의 의미를 이해할 수 있도록 할 수 있다.The setting management service module 104 may receive the setting value of the specific tenant from one or more general service modules 102 by referring to the setting meta information when a query request for the setting value is received from the specific tenant. . Thereafter, the setting management service module 104 may combine the received setting value of the specific tenant with the setting meta information and provide the received setting value to the specific tenant. In the disclosed embodiments, setting values usually consist of only letters or numbers such as Y/N, and it is impossible to recognize their meaning without setting meta information. Therefore, the setting management service module 104 combines setting values received from one or more general service modules 102 with setting meta-information and visually configures and provides them so that the requester can understand the meaning of the corresponding setting value. can

한편, 하나 이상의 일반 서비스 모듈(102)은 설정 관리 서비스 모듈(104)로부터 상기 설정 메타 정보를 수신하여 저장한다. 즉, 각각의 일반 서비스 모듈(102)은 자신이 제공하는 기능과 관련된 설정값과 함께, 설정 관리 서비스 모듈(104)에 저장된 전체 설정 메타 정보의 사본을 저장 및 관리하게 된다.Meanwhile, one or more general service modules 102 receive and store the setting meta information from the setting management service module 104 . That is, each general service module 102 stores and manages a copy of all setting meta information stored in the setting management service module 104 together with setting values related to functions provided by the module.

설정 관리 서비스 모듈(104)은 기 저장된 설정 메타 정보의 변경이 발생되는 경우, 변경된 설정 메타 정보를 하나 이상의 일반 서비스 모듈(102)로 송신한다. 그러면 이를 수신한 하나 이상의 일반 서비스 모듈(102)은 설정 관리 서비스 모듈(104)로부터 수신된 변경된 설정 메타 정보를 이용하여 상기 설정 메타 정보를 설정 관리 서비스 모듈(104)과 동기화하게 된다.The setting management service module 104 transmits the changed setting meta information to one or more general service modules 102 when a change occurs in pre-stored setting meta information. Then, one or more general service modules 102 receiving this synchronize the setting meta information with the setting management service module 104 by using the changed setting meta information received from the setting management service module 104 .

일반 서비스 모듈(102)은 자신이 제공하는 기능과 관련한 설정값의 조회가 필요한 경우 타 서비스 모듈과 통신할 필요 없이 내부의 저장 공간을 조회하여 상기 설정값을 조회할 수 있다. 예를 들어, 이메일 서비스를 제공하는 일반 서비스 모듈(102)은 특정 테넌트의 사용자로부터 이메일에 파일 첨부 요청이 수신되는 경우 저장된 설정값을 조회하여 해당 테넌트의 최대 메일 첨부 용량을 알아낼 수 있다. 이와 달리, 만약 자신이 저장하고 있는 설정값 이외의 타 설정값에 대한 조회가 필요한 경우, 일반 서비스 모듈(102)은 설정 관리 서비스 모듈(104)로부터 수신하여 저장하고 있는 설정 메타 정보를 참조하여 상기 타 설정값이 저장된 타 서비스 모듈 정보를 획득하고, 상기 타 서비스 모듈로 상기 타 설정값의 제공을 요청할 수 있다.When the general service module 102 needs to inquire about the setting value related to the function provided by itself, it can inquire the setting value by inquiring the internal storage space without having to communicate with other service modules. For example, when a request for attaching a file to an email is received from a user of a specific tenant, the general service module 102 providing an email service may retrieve a stored setting value to find out the maximum email attachment capacity of the corresponding tenant. On the other hand, if it is necessary to inquire about setting values other than the setting values stored by itself, the general service module 102 refers to the setting meta information received from the setting management service module 104 and stored therein, Other service module information in which other setting values are stored may be obtained, and provision of the other setting values may be requested to the other service module.

일 실시예에서, 하나 이상의 일반 서비스 모듈(102) 및 설정 관리 모듈(104)은 하나 이상의 프로세서 및 그 프로세서와 연결된 컴퓨터 판독 가능 기록 매체를 포함하는 컴퓨팅 장치 상에서 구현될 수 있다. 컴퓨터 판독 가능 기록 매체는 프로세서의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서와 연결될 수 있다. 컴퓨팅 장치 내의 프로세서는 각 컴퓨팅 장치로 하여금 본 명세서에서 기술되는 예시적인 실시예에 따라 동작하도록 할 수 있다. 예를 들어, 프로세서는 컴퓨터 판독 가능 기록 매체에 저장된 명령어를 실행할 수 있고, 컴퓨터 판독 가능 기록 매체에 저장된 명령어는 프로세서에 의해 실행되는 경우 컴퓨팅 장치로 하여금 본 명세서에 기술되는 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.In one embodiment, one or more of the general services module 102 and configuration management module 104 may be implemented on a computing device that includes one or more processors and computer readable media coupled with the processors. The computer readable recording medium may be internal or external to the processor, and may be connected to the processor by various well-known means. A processor within a computing device may cause each computing device to operate in accordance with example embodiments described herein. For example, a processor may execute instructions stored on a computer-readable storage medium, which, when executed by the processor, cause a computing device to perform operations according to the exemplary embodiments described herein. can be configured to perform

도 2는 일 실시예에 따른 설정 관리 서비스 모듈(104)을 설명하기 위한 블록도이다. 도시된 바와 같이, 일 실시예에 따른 설정 관리 서비스 모듈(104)은 설정 메타 정보 저장부(202), 설정값 제공부(204) 및 설정 메타 정보 관리부(206)를 포함한다.2 is a block diagram illustrating a configuration management service module 104 according to an exemplary embodiment. As shown, the setting management service module 104 according to an embodiment includes a setting meta information storage unit 202, a setting value providing unit 204, and a setting meta information management unit 206.

설정 메타 정보 저장부(202)는 설정 메타 정보를 저장 및 관리한다. 앞서 설명한 바와 같이, 설정 관리 서비스 모듈(104)은 설정 메타 정보 저장부(202)에 설정 메타 정보만을 저장하며, 실제 각 테넌트별 서비스 제공 설정값은 하나 이상의 일반 서비스 모듈(102)에 분산 저장된다.The setting meta information storage unit 202 stores and manages setting meta information. As described above, the setting management service module 104 stores only setting meta information in the setting meta information storage unit 202, and actually service provision settings for each tenant are distributed and stored in one or more general service modules 102. .

설정값 제공부(204)는 사용자(특정 테넌트, 또는 관리자 등)로부터 상기 설정값에 대한 조회 요청이 수신되는 경우, 하나 이상의 일반 서비스 모듈(102)로부터 상기 각 테넌트별 요청된 설정값을 수신한다. 이후, 설정값 제공부(204)는 수신된 설정값을 설정 메타 정보 저장부(202)에 저장된 상기 설정 메타 정보와 결합하여 상기 설정값을 요청한 사용자에게 제공한다. The setting value providing unit 204 receives the setting value requested for each tenant from one or more general service modules 102 when a search request for the setting value is received from a user (a specific tenant or an administrator). . Thereafter, the setting value providing unit 204 combines the received setting value with the setting meta information stored in the setting meta information storage unit 202 and provides the setting value to the requesting user.

설정 메타 정보 관리부(206)는 상기 사용자로부터 상기 설정 메타 정보의 추가, 수정, 또는 삭제 요청이 수신되는 경우, 상기 요청에 따라 설정 메타 정보 저장부(202)에 저장된 상기 설정 메타 정보를 변경한다. 설정 메타 정보 관리부(206)는 상기 설정 메타 정보의 변경이 발생되는 경우, 변경된 설정 메타 정보를 하나 이상의 일반 서비스 모듈(102)로 송신할 수 있다. 그러면 이를 수신한 일반 서비스 모듈(102)은 해당 변경 사항을 반영하여 설정 메타 정보를 설정 관리 서비스 모듈(104)과 동기화하게 된다.When a request for adding, modifying, or deleting the setting meta information is received from the user, the setting meta information management unit 206 changes the setting meta information stored in the setting meta information storage unit 202 according to the request. When the setting meta information is changed, the setting meta information management unit 206 may transmit the changed setting meta information to one or more general service modules 102 . Then, the general service module 102 receiving this synchronizes the setting meta information with the setting management service module 104 by reflecting the corresponding change.

도 3은 일 실시예에 따른 일반 서비스 모듈(102)을 설명하기 위한 블록도이다. 도시된 바와 같이, 일 실시예에 따른 일반 서비스 모듈(102)은 설정값 저장부(302), 설정 메타 정보 연계 저장부(304) 및 설정값 관리부(306)를 포함한다.3 is a block diagram illustrating a general service module 102 according to an exemplary embodiment. As shown, the general service module 102 according to an embodiment includes a setting value storage unit 302, a setting meta information association storage unit 304, and a setting value management unit 306.

설정값 저장부(302)는 해당 일반 서비스 모듈(102)에서 제공하는 기능과 관련된 각 테넌트별 설정값을 저장한다.The setting value storage unit 302 stores setting values for each tenant related to functions provided by the corresponding general service module 102 .

설정 메타 정보 연계 저장부(304)는 설정 관리 서비스 모듈(104)로부터 상기 설정값과 연관되는 설정 메타 정보를 수신하여 저장한다. 또한 설정 메타 정보 연계 저장부(304)는 설정 관리 서비스 모듈(104)로부터 변경된 설정 메타 정보가 수신되는 경우, 이를 이용하여 상기 설정 메타 정보를 상기 설정 관리 서비스 모듈과 동기화할 수 있다.The setting meta information linked storage unit 304 receives and stores setting meta information related to the setting value from the setting management service module 104 . In addition, when the changed setting meta information is received from the setting management service module 104, the setting meta information linked storage unit 304 can synchronize the setting meta information with the setting management service module using this.

설정값 관리부(306)는 설정값 저장부(302)에 저장된 각 테넌트별 설정값을 관리한다. 서비스 시스템(100)의 관리자 등은 설정값 관리부(306)를 통하여 설정값 저장부(302)에 저장된 각 테넌트별 설정값을 추가, 변경 또는 삭제할 수 있다. The setting value management unit 306 manages setting values for each tenant stored in the setting value storage unit 302 . The manager of the service system 100 may add, change, or delete setting values for each tenant stored in the setting value storage unit 302 through the setting value management unit 306 .

일 실시예에서, 설정값 관리부(306)는 특정 테넌트, 또는 설정 관리 서비스 모듈(104)로부터 설정값 제공 요청이 수신되는 경우, 설정값 저장부(302)에 저장된 상기 각 테넌트별 설정값을 제공할 수 있다. 설정값 관리부(306)는 설정값 저장부(302)에 저장된 설정값 이외의 타 설정값에 대한 조회가 필요한 경우, 설정 메타 정보를 참조하여 상기 타 설정값이 저장된 타 서비스 모듈 정보를 획득하고, 해당 서비스 모듈로 상기 타 설정값의 제공을 요청할 수 있다.In an embodiment, the setting value management unit 306 provides setting values for each tenant stored in the setting value storage unit 302 when a request for providing setting values is received from a specific tenant or from the setting management service module 104 . can do. The setting value management unit 306 obtains other service module information in which the other setting value is stored by referring to the setting meta information when it is necessary to inquire about other setting values other than the setting value stored in the setting value storage unit 302, A corresponding service module may be requested to provide the other setting values.

도 4는 일 실시예에 따른 설정값 제공 과정(400)을 설명하기 위한 흐름도이다. 도시된 흐름도에 의한 방법은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치, 예를 들어 전술한 서비스 시스템(100)에 의해 수행될 수 있다. 도시된 흐름도에서는 설명의 편의를 위해 일반 서비스 모듈(102)이 제1 일반 서비스 모듈(102-1) 및 제2 일반 서비스 모듈(102-2)을 포함하는 것으로 가정하였다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.4 is a flowchart illustrating a setting value providing process 400 according to an exemplary embodiment. The method according to the illustrated flowchart may be performed by a computing device having one or more processors and a memory storing one or more programs executed by the one or more processors, for example, the service system 100 described above. there is. In the illustrated flowchart, for convenience of description, it is assumed that the general service module 102 includes a first general service module 102-1 and a second general service module 102-2. In the illustrated flowchart, the method is divided into a plurality of steps, but at least some of the steps are performed in reverse order, combined with other steps, performed together, omitted, divided into detailed steps, or not shown. One or more steps may be added and performed.

단계 402에서, 설정 관리 서비스 모듈(104)은 각 테넌트별 서비스 제공 설정값과 연관되는 설정 메타 정보를 저장한다.In step 402, the setting management service module 104 stores setting meta information associated with service provision setting values for each tenant.

시스템 관리자 또는 특정 테넌트의 관리자 등으로부터 설정값에 대한 조회 요청이 수신되는 경우(단계 404), 설정 관리 서비스 모듈(104)은 일반 서비스 모듈(102)로 설정값 제공 요청을 송신한다(단계 406 및 408).When a query request for setting values is received from the system administrator or the manager of a specific tenant (step 404), the setting management service module 104 transmits a setting value provision request to the general service module 102 (steps 406 and 406). 408).

단계 410 및 412에서, 제1 일반 서비스 모듈(102-1) 및 제2 일반 서비스 모듈(102-2)은 상기 설정값 제공 요청에 따라 각각 자신이 저장하고 있는 설정값을 설정 관리 서비스 모듈(104)로 송신한다.In steps 410 and 412, the first general service module 102-1 and the second general service module 102-2 transfer their stored settings to the setting management service module 104 according to the setting value provision request. ) is sent to

단계 414에서, 설정 관리 서비스 모듈(104)은 수신된 설정값을 상기 설정 메타 정보와 결합한다.In step 414, the configuration management service module 104 combines the received configuration values with the configuration meta information.

단계 416에서, 설정 관리 서비스 모듈(104)은 상기 설정 메타 정보와 결합되 설정값을 요청자에게 제공한다.In step 416, the setting management service module 104 provides setting values combined with the setting meta information to the requestor.

도 5는 일 실시예에 따른 일반 서비스 모듈(102)에서의 기능 제공 과정(500)을 설명하기 위한 흐름도이다. 5 is a flowchart illustrating a function providing process 500 in the general service module 102 according to an exemplary embodiment.

단계 502에서, 일반 서비스 모듈(102)은 설정 관리 서비스 모듈(104)로부터 설정 메타 정보를 수신하여 저장한다.In step 502, the general service module 102 receives and stores setting meta information from the setting management service module 104.

단계 504에서, 일반 서비스 모듈(102)은 특정 테넌트로부터 서비스와 관련된 기능 제공 요청을 수신한다.In step 504, the general service module 102 receives a function provision request related to a service from a specific tenant.

단계 506에서, 상기 기능 제공 요청을 수신한 일반 서비스 모듈(102)은 상기 기능의 제공을 위해 타 서비스 모듈의 설정값이 필요한지 여부를 판단한다.In step 506, the general service module 102 receiving the request for providing the function determines whether setting values of other service modules are needed to provide the function.

만약 상기 506 단계의 판단 결과 타 서비스 모듈이 설정값이 필요하지 않은 경우, 단계 508에서 일반 서비스 모듈(102)은 기 저장된 설정값을 조회하여 상기 기능의 제공과 연관된 설정값을 획득한다. If it is determined in step 506 that other service modules do not require setting values, in step 508, the general service module 102 retrieves previously stored setting values and acquires setting values related to the provision of the function.

이와 달리 상기 506 단계의 판단 결과 상기 기능의 제공을 위해 내부에 저장된 설정값이 아닌 타 서비스 모듈에 저장된 설정값이 필요한 경우, 단계 510에서 일반 서비스 모듈(102)은 설정 메타 정보를 조회하여 해당 설정값이 저장된 타 서비스 모듈 정보를 획득한다.On the other hand, as a result of the determination in step 506, if a setting value stored in another service module is required to provide the function, in step 510, the general service module 102 searches for setting meta information to set the corresponding setting value. Acquires information of other service modules whose values are stored.

단계 512에서 일반 서비스 모듈(102)은 타 서비스 모듈로 설정값 제공을 요청하고 상기 요청에 따라 상기 타 서비스 모듈로부터 설정값을 수신한다.In step 512, the general service module 102 requests other service modules to provide setting values and receives setting values from the other service modules according to the request.

단계 514에서, 일반 서비스 모듈(102)은 상기 508 단계에서 획득된 설정값, 또는 상기 512 단계에서 수신된 상기 설정값에 기초하여 단계 504에서 요청된 기능을 제공한다.In step 514, the general service module 102 provides the function requested in step 504 based on the set value obtained in step 508 or the set value received in step 512.

한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.Meanwhile, embodiments of the present invention may include a program for performing the methods described in this specification on a computer, and a computer readable recording medium including the program. The computer readable recording medium may include program instructions, local data files, local data structures, etc. alone or in combination. The media may be specially designed and configured for the present invention, or may be commonly available in the field of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and specially configured to store and execute program instructions such as ROM, RAM, and flash memory. Hardware devices are included. Examples of the program may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes generated by a compiler.

이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although representative embodiments of the present invention have been described in detail above, those skilled in the art will understand that various modifications are possible to the above-described embodiments without departing from the scope of the present invention. . Therefore, the scope of the present invention should not be limited to the described embodiments and should not be defined, and should be defined by not only the claims to be described later, but also those equivalent to these claims.

100: 서비스 시스템
102: 일반 서비스 모듈
104: 설정 관리 서비스 모듈
202: 설정 메타 정보 저장부
204: 설정값 제공부
206: 설정 메타 정보 관리부
302: 설정값 저장부
304: 설정 메타 정보 연계 저장부
306: 설정값 관리부
100: service system
102: general service module
104: configuration management service module
202: setting meta information storage unit
204: setting value providing unit
206: setting meta information management unit
302: set value storage unit
304: setting meta information linked storage unit
306: set value management unit

Claims (20)

하나 이상의 테넌트(tenant)로 마이크로 서비스 아키텍처(Micro Service Architecture) 기반의 서비스를 제공하기 위한 시스템으로서,
상기 하나 이상의 테넌트로 상기 서비스를 구성하는 복수의 기능들을 각각 나누어 제공하고, 각각 자신이 제공하는 기능과 관련된 각 테넌트별 설정값을 저장하는 복수의 일반 서비스 모듈; 및
상기 각 테넌트별 설정값에 대응되는 설정 메타 정보를 저장하는 설정 관리 서비스 모듈을 포함하되,
상기 설정 관리 서비스 모듈은, 상기 설정 메타 정보의 변경 이벤트가 발생되는 경우, 변경된 설정 메타 정보를 상기 복수의 일반 서비스 모듈로 송신하는, 서비스 시스템.
A system for providing a service based on a micro service architecture to one or more tenants,
a plurality of general service modules that divide and provide a plurality of functions constituting the service to the one or more tenants and store setting values for each tenant related to the functions provided by the service module; and
A setting management service module for storing setting meta information corresponding to the setting value for each tenant,
The service system of claim 1 , wherein the setting management service module transmits changed setting meta information to the plurality of general service modules when a change event of the setting meta information occurs.
삭제delete 청구항 1에 있어서,
각각의 일반 서비스 모듈은,
상기 설정 관리 서비스 모듈로부터 수신된 상기 변경된 설정 메타 정보를 이용하여 상기 설정 메타 정보를 상기 설정 관리 서비스 모듈과 동기화하는, 서비스 시스템.
The method of claim 1,
Each general service module,
and synchronizing the setting meta information with the setting management service module using the changed setting meta information received from the setting management service module.
청구항 3에 있어서,
상기 설정 메타 정보는,
상기 설정값 각각의 설정 항목, 데이터 유형, 및 해당 설정값이 저장되는 서비스 모듈 정보 중 하나 이상을 포함하는, 서비스 시스템.
The method of claim 3,
The setting meta information,
A service system comprising at least one of a setting item for each setting value, a data type, and service module information in which the corresponding setting value is stored.
청구항 4에 있어서,
상기 일반 서비스 모듈은,
자신이 저장하고 있는 설정값 이외의 타 설정값에 대한 조회가 필요한 경우, 상기 설정 메타 정보를 참조하여 상기 타 설정값이 저장된 타 서비스 모듈 정보를 획득하고, 상기 타 서비스 모듈로 상기 타 설정값의 제공을 요청하는, 서비스 시스템.
The method of claim 4,
The general service module,
When it is necessary to inquire about setting values other than the setting values stored by the user, information on other service modules in which the other setting values are stored is obtained by referring to the setting meta information, and the other setting values are stored in the other service module. Service system, requesting provision.
청구항 4에 있어서,
상기 설정 관리 서비스 모듈은,
특정 테넌트로부터 상기 설정값에 대한 조회 요청이 수신되는 경우, 상기 설정 메타 정보를 참조하여 상기 복수의 일반 서비스 모듈로부터 상기 특정 테넌트의 설정값을 수신하고, 수신된 상기 특정 테넌트의 설정값을 상기 설정 메타 정보와 결합하여 상기 특정 테넌트로 제공하는, 서비스 시스템.
The method of claim 4,
The setting management service module,
When a search request for the setting value is received from a specific tenant, the setting value of the specific tenant is received from the plurality of general service modules with reference to the setting meta information, and the received setting value of the specific tenant is referred to as the setting value. A service system that combines meta information and provides it to the specific tenant.
하나 이상의 테넌트(tenant)로 마이크로 서비스 아키텍처(Micro Service Architecture) 기반의 서비스를 제공하기 위한 장치로서,
각 테넌트별 설정값과 연관되는 설정 메타 정보를 저장하는 설정 메타 정보 저장부;
상기 각 테넌트별 설정값을 각각 분할하여 저장하는 복수의 일반 서비스 모듈로부터 상기 설정값을 수신하고, 수신된 상기 설정값을 상기 설정 메타 정보와 결합하여 사용자에게 제공하는 설정값 제공부; 및
상기 설정 메타 정보의 변경 이벤트가 발생되는 경우, 변경된 설정 메타 정보를 상기 복수의 일반 서비스 모듈로 송신하는 설정 메타 정보 관리부를 포함하는 설정 관리 서비스 장치.
As a device for providing a service based on a micro service architecture to one or more tenants,
a setting meta information storage unit for storing setting meta information associated with setting values for each tenant;
a setting value providing unit that receives the setting value from a plurality of general service modules that divide and store the setting value for each tenant, combines the received setting value with the setting meta information, and provides the setting value to a user; and
and a setting meta information management unit configured to transmit the changed setting meta information to the plurality of general service modules when an event of changing the setting meta information occurs.
청구항 7에 있어서,
상기 설정 메타 정보는,
상기 설정값 각각의 설정 항목, 데이터 유형, 및 해당 설정값이 저장되는 서비스 모듈 정보 중 하나 이상을 포함하는, 설정 관리 서비스 장치.
The method of claim 7,
The setting meta information,
A configuration management service device comprising at least one of a setting item for each setting value, a data type, and service module information in which the corresponding setting value is stored.
청구항 7에 있어서,
상기 설정 메타 정보 관리부는,
상기 사용자로부터 상기 설정 메타 정보의 추가, 수정, 또는 삭제 요청이 수신되는 경우, 상기 요청에 따라 상기 설정 메타 정보를 변경하는, 설정 관리 서비스 장치.
The method of claim 7,
The setting meta information management unit,
The setting management service device, which changes the setting meta information according to the request when a request for adding, modifying, or deleting the setting meta information is received from the user.
삭제delete 하나 이상의 테넌트(tenant)로 마이크로 서비스 아키텍처(Micro Service Architecture) 기반의 서비스를 제공하기 위한 장치로서,
상기 하나 이상의 테넌트로 상기 서비스를 구성하는 복수의 기능들 중 어느 하나의 기능을 제공하고, 상기 제공 기능과 관련된 상기 각 테넌트별 설정값을 저장하는 설정값 저장부;
설정 관리 서비스 모듈로부터 상기 설정값과 연관되는 설정 메타 정보를 수신하여 저장하는 설정 메타 정보 연계 저장부; 및
설정값 제공 요청에 따라 상기 설정값 저장부에 저장된 상기 설정값을 제공하는 설정값 관리부를 포함하되,
상기 설정 메타 정보 연계 저장부는, 상기 설정 관리 서비스 모듈로부터 변경된 설정 메타 정보가 수신되는 경우, 이를 이용하여 상기 설정 메타 정보를 상기 설정 관리 서비스 모듈과 동기화하는, 서비스 제공 장치.
As a device for providing a service based on a micro service architecture to one or more tenants,
a setting value storage unit providing one or more functions among a plurality of functions constituting the service to the one or more tenants and storing setting values for each tenant related to the provided function;
a setting meta-information linked storage unit for receiving and storing setting meta-information associated with the setting value from a setting management service module; and
In response to a setting value provision request, a setting value management unit providing the setting value stored in the setting value storage unit,
The service providing device of claim 1 , wherein the setting meta information linked storage unit synchronizes the setting meta information with the setting management service module by using the changed setting meta information when received from the setting management service module.
삭제delete 청구항 11에 있어서,
상기 설정 메타 정보는,
상기 설정값 각각의 설정 항목, 데이터 유형, 및 해당 설정값이 저장되는 서비스 모듈 정보 중 하나 이상을 포함하는, 서비스 제공 장치.
The method of claim 11,
The setting meta information,
A service providing device comprising at least one of a setting item of each of the setting values, a data type, and service module information in which the setting value is stored.
청구항 11에 있어서,
상기 설정값 관리부는,
상기 설정값 저장부에 저장된 설정값 이외의 타 설정값에 대한 조회가 필요한 경우, 상기 설정 메타 정보를 참조하여 상기 타 설정값이 저장된 타 서비스 모듈 정보를 획득하고, 상기 타 서비스 모듈로 상기 타 설정값의 제공을 요청하는, 서비스 제공 장치.
The method of claim 11,
The set value management unit,
When it is necessary to inquire about other setting values other than the setting values stored in the setting value storage unit, information on other service modules in which the other setting values are stored is acquired by referring to the setting meta information, and the other setting values are obtained through the other service module. A service providing device requesting provision of a value.
하나 이상의 테넌트(tenant)로 마이크로 서비스 아키텍처(Micro Service Architecture) 기반의 서비스를 제공하기 위한 설정 관리 서비스 장치에서 수행되는 방법으로서,
각 테넌트별 설정값과 연관되는 설정 메타 정보를 저장하는 단계;
상기 각 테넌트별 설정값을 각각 분할하여 저장하는 복수의 일반 서비스 모듈로부터 상기 각 테넌트별 설정값의 적어도 일부를 수신하는 단계;
수신된 상기 설정값의 적어도 일부를 상기 설정 메타 정보와 결합하여 사용자에게 제공하는 단계;및
상기 설정 메타 정보의 변경 이벤트가 발생되는 경우, 변경된 설정 메타 정보를 상기 복수의 일반 서비스 모듈로 송신하는 단계를 포함하는, 설정 관리 방법.
A method performed in a setting management service device for providing a service based on a micro service architecture to one or more tenants,
storing setting meta information associated with setting values for each tenant;
receiving at least a portion of the set values for each tenant from a plurality of general service modules that divide and store the set values for each tenant;
combining at least a part of the received setting value with the setting meta information and providing it to a user; and
and transmitting the changed setting meta information to the plurality of general service modules when a change event of the setting meta information occurs.
청구항 15에 있어서,
상기 설정 메타 정보는,
상기 설정값 각각의 설정 항목, 데이터 유형, 및 해당 설정값이 저장되는 서비스 모듈 정보 중 하나 이상을 포함하는, 설정 관리 방법.
The method of claim 15
The setting meta information,
A setting management method comprising at least one of a setting item for each setting value, a data type, and service module information in which the corresponding setting value is stored.
청구항 15에 있어서,
상기 저장하는 단계는,
상기 사용자로부터 상기 설정 메타 정보의 추가, 수정, 또는 삭제 요청이 수신되는 경우, 상기 요청에 따라 기 저장된 상기 설정 메타 정보를 변경하는 단계를 더 포함하는, 설정 관리 방법.
The method of claim 15
The storing step is
The setting management method further comprising changing the pre-stored setting meta information in response to a request for adding, modifying, or deleting the setting meta information from the user.
삭제delete 하나 이상의 테넌트(tenant)로 마이크로 서비스 아키텍처(Micro Service Architecture) 기반의 서비스를 제공하기 위한 서비스 제공 장치에서 수행되는 방법으로서,
상기 하나 이상의 테넌트로 상기 서비스의 제공을 위한 각 테넌트별 설정값을 저장하는 단계;
설정 관리 서비스 모듈로부터 상기 설정값과 연관되는 설정 메타 정보를 수신하여 저장하는 단계;
특정 테넌트로부터 상기 서비스를 구성하는 복수의 기능들 중 특정 기능에 대한 제공 요청을 수신하는 경우, 상기 특정 기능의 제공과 연관된 특정 설정값을 획득하고, 상기 획득된 특정 설정값에 기초하여 상기 특정 기능을 제공하는 단계; 및
상기 설정 관리 서비스 모듈로부터 변경된 설정 메타 정보가 수신되는 경우, 이를 이용하여 상기 설정 메타 정보를 상기 설정 관리 서비스 모듈과 동기화하는 단계를 포함하는, 서비스 제공 방법.
As a method performed in a service providing device for providing a service based on a micro service architecture to one or more tenants,
storing setting values for each tenant for providing the service to the one or more tenants;
receiving and storing setting meta information associated with the setting value from a setting management service module;
When a request for provision of a specific function among a plurality of functions constituting the service is received from a specific tenant, a specific setting value related to provision of the specific function is obtained, and the specific function is obtained based on the obtained specific setting value. providing; and
and synchronizing the setting meta information with the setting management service module by using the changed setting meta information when the changed setting meta information is received from the setting management service module.
청구항 19에 있어서,
상기 특정 기능을 제공하는 단계는,
상기 특정 기능의 제공을 위하여, 상기 저장된 설정값 이외의 타 설정값에 대한 조회가 필요한 경우,
상기 설정 메타 정보를 참조하여 상기 타 설정값이 저장된 타 서비스 모듈 정보를 획득하고, 상기 타 서비스 모듈로 상기 타 설정값의 제공을 요청하도록 구성되는, 서비스 제공 방법.
The method of claim 19
The step of providing the specific function is,
In order to provide the specific function, if it is necessary to inquire about other setting values other than the stored setting value,
and acquiring other service module information in which the other setting value is stored by referring to the setting meta information, and requesting the other service module to provide the other setting value.
KR1020180058300A 2018-05-23 2018-05-23 Micro service architecture based service system and method for multi-tenant configuration thereof KR102544820B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180058300A KR102544820B1 (en) 2018-05-23 2018-05-23 Micro service architecture based service system and method for multi-tenant configuration thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180058300A KR102544820B1 (en) 2018-05-23 2018-05-23 Micro service architecture based service system and method for multi-tenant configuration thereof

Publications (2)

Publication Number Publication Date
KR20190133404A KR20190133404A (en) 2019-12-03
KR102544820B1 true KR102544820B1 (en) 2023-06-16

Family

ID=68837885

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180058300A KR102544820B1 (en) 2018-05-23 2018-05-23 Micro service architecture based service system and method for multi-tenant configuration thereof

Country Status (1)

Country Link
KR (1) KR102544820B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102344770B1 (en) * 2020-02-26 2021-12-28 주식회사 에스원 Multi custom site deployment method and device
KR20210125742A (en) 2020-04-09 2021-10-19 주식회사 크로센트 Software development assisting system and method based on visualized microservice on cloud platform

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100005443A1 (en) 2008-07-07 2010-01-07 Kwok Thomas Y System and Methods to Create a Multi-Tenancy Software as a Service Application

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019812B2 (en) 2007-04-13 2011-09-13 Microsoft Corporation Extensible and programmable multi-tenant service architecture
KR20120045586A (en) * 2010-10-29 2012-05-09 한국전자통신연구원 Apparatus and method for setting saas(software as a service) applications for multi-tenant
KR20130050205A (en) * 2011-11-07 2013-05-15 한국전자통신연구원 Platform for software as a service and method for provisioning service for supporting multi tenent using its
KR102020049B1 (en) * 2013-01-11 2019-11-04 한국전자통신연구원 Switch and method for supporting QOS of Multi-Tenant Cloud Service and System having the same switch
KR101570980B1 (en) * 2013-12-03 2015-11-23 주식회사 엘지씨엔에스 Method for management common code of multi-tenane environment, server performing the same and storage media storing the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100005443A1 (en) 2008-07-07 2010-01-07 Kwok Thomas Y System and Methods to Create a Multi-Tenancy Software as a Service Application

Also Published As

Publication number Publication date
KR20190133404A (en) 2019-12-03

Similar Documents

Publication Publication Date Title
US11727035B2 (en) Hybrid workflow synchronization between cloud and on-premise systems in a content management system
US9317697B2 (en) Processing of restricted access data
US9854039B2 (en) Method and system for synchronizing a server and an on-demand database service
JP5226770B2 (en) In-memory caching of multitenant data that can be shared and customized
US7114037B2 (en) Employing local data stores to maintain data during workflows
US20140215551A1 (en) Controlling access to shared content in an online content management system
US20070156774A1 (en) Multi-Tier Document Management System
KR102544820B1 (en) Micro service architecture based service system and method for multi-tenant configuration thereof
JP2000163303A (en) Directory data converting method, storage medium stored with directory data converting program, and directory converting server
US20150106344A1 (en) Methods and systems for intelligent archive searching in multiple repository systems
JP5964950B2 (en) Computer system, data arrangement management method and program
US10650161B2 (en) Data protection management system compliant identification handling
JP2009211403A (en) File search program
US11410173B1 (en) Tokenization web services
US20110276572A1 (en) Configuration management device, medium and method
JP2007025964A (en) Data location management server and data location management program
US9986119B2 (en) Image processing apparatus for sharing setting value, method of controlling the same, and storage medium
US11556515B2 (en) Artificially-intelligent, continuously-updating, centralized-database-identifier repository system
JP2006260074A (en) Cad data management device
WO2006085578A1 (en) Distributed information unification method and distributed information unification system
US8453166B2 (en) Data services framework visibility component
JP2007018309A (en) Data base device and db access controller and access control system and access control method and access control program
US11966770B2 (en) Collaboration across isolated virtual environments
US11385921B2 (en) Collaboration across isolated virtual environments
US20220046056A1 (en) Systems, methods and machine readable programs for isolation of data

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant