KR20190133404A - 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
KR20190133404A
KR20190133404A KR1020180058300A KR20180058300A KR20190133404A KR 20190133404 A KR20190133404 A KR 20190133404A KR 1020180058300 A KR1020180058300 A KR 1020180058300A KR 20180058300 A KR20180058300 A KR 20180058300A KR 20190133404 A KR20190133404 A KR 20190133404A
Authority
KR
South Korea
Prior art keywords
setting
meta information
service
service module
tenant
Prior art date
Application number
KR1020180058300A
Other languages
Korean (ko)
Other versions
KR102544820B1 (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

Provided are a service system based on micro service architecture and a multi-tenant configuration management method in the system. According to one embodiment of the present invention, the service system comprises: one or more general service modules respectively providing a plurality of functions constituting a service to one or more tenants and storing a configuration value for each tenant related to functions provided by each general service module; and a configuration management service module storing configuration meta information corresponding to the configuration value of 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 BASED SERVICE SYSTEM AND METHOD FOR MULTI-TENANT CONFIGURATION THEREOF}

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

마이크로 서비스 아키텍처란, 하나의 큰 애플리케이션 또는 컴퓨팅 서비스를 각각 특화된 기능을 담당하는 복수 개의 서비스 모듈(Service Module)로 나누어 구현한 아키텍처를 의미한다. 마이크로 서비스 아키텍처에서는 복수 개의 서비스 모듈의 변경과 조합을 통해 전체 애플리케이션 또는 서비스를 구성하게 되므로, 종래의 모노리틱(monolithic) 아키텍처와 비교하여 기능의 추가, 삭제, 또는 개선이 자유롭다.The microservice architecture refers to an architecture in which one large application or computing service is divided into a plurality of service modules each having specialized functions. In the microservice architecture, the entire application or service is configured by changing and combining a plurality of service modules, so that the addition, deletion, or improvement of functions is free compared with the conventional monolithic architecture.

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

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

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

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

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

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

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

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

상기 설정 관리 서비스 모듈은, 특정 테넌트로부터 상기 설정값에 대한 조회 요청이 수신되는 경우, 상기 설정 메타 정보를 참조하여 상기 하나 이상의 일반 서비스 모듈로부터 상기 특정 테넌트의 설정값을 수신하고, 수신된 상기 특정 테넌트의 설정값을 상기 설정 메타 정보와 결합하여 상기 특정 테넌트로 제공할 수 있다.When the request for inquiring about the setting value is received from the specific tenant, the configuration management service module receives the setting value of the specific tenant from the one or more general service modules with reference to the setting meta information, and receives the specific value. 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, the apparatus comprising: a configuration meta information storage unit for storing configuration meta information associated with service provision setting values for each tenant; And a setting value providing unit configured to receive the setting value from at least one general service module which divides and stores the setting value of each tenant, and provides the setting value to the user by combining the received setting value with the setting meta information. A management service device is provided.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

도 1은 일 실시예에 따른 서비스 시스템을 설명하기 위한 블록도
도 2는 일 실시예에 따른 설정 관리 서비스 모듈을 설명하기 위한 블록도
도 3은 일 실시예에 따른 일반 서비스 모듈을 설명하기 위한 블록도
도 4는 일 실시예에 따른 설정값 제공 과정을 설명하기 위한 흐름도
도 5는 일 실시예에 따른 서비스 시스템에서의 기능 제공 과정을 설명하기 위한 흐름도
1 is a block diagram illustrating a service system according to an exemplary embodiment.
2 is a block diagram illustrating a configuration management service module according to an embodiment.
3 is a block diagram illustrating a general service module according to an embodiment.
4 is a flowchart illustrating a process of providing a setting value, according to an exemplary embodiment.
5 is a flowchart illustrating 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 following detailed description is provided to assist in 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, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or an operator. Therefore, the definition should be made based on the contents throughout the specification. The terminology used in the description is for the purpose of describing embodiments of the invention only and should not be limiting. Unless expressly used otherwise, the singular forms “a,” “an,” and “the” include plural forms of meaning. In this description, expressions such as "comprises" or "equipment" are intended to indicate certain features, numbers, steps, actions, elements, portions or combinations thereof, and one or more than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, actions, elements, portions or combinations 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 a user. In the disclosed embodiments, the computing service may include without limitation various kinds of software infrastructure providing services that can be provided online, such as an email service, a social network service, an online storage service, a business support service, and the like.

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

도 1에 도시된 바와 같이, 일 실시예에 따른 서비스 시스템(100)은 하나 이상의 일반 서비스 모듈(102) 및 설정 관리 모듈(104)을 포함한다.As shown in FIG. 1, the 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 multi-tenancy based services. In one embodiment, each general service module 102 may provide a plurality of functions constituting the service. For example, if the service system 100 is composed of three general service modules 102, the first service module is a workspace service module that provides an online workspace with one or more tenants, the second service module. Is a drive service module that provides remote file storage space to one or more tenants, and the third service module may be an email service module that provides email transmission / reception services 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 each store and manage configuration values for each tenant related to the functions they provide. As described above, when the service system 100 includes three general service modules 102, the first service module stores workspace-specific settings for each tenant, and the second service module stores remote files for each tenant. The third service module may store and manage the related setting value, and the e-mail transmission and reception related setting value for each tenant.

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

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

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

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

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

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

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

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

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

도 2는 일 실시예에 따른 설정 관리 서비스 모듈(104)을 설명하기 위한 블록도이다. 도시된 바와 같이, 일 실시예에 따른 설정 관리 서비스 모듈(104)은 설정 메타 정보 저장부(202), 설정값 제공부(204) 및 설정 메타 정보 관리부(206)를 포함한다.2 is a block diagram illustrating a configuration management service module 104 according to an embodiment. As illustrated, the configuration management service module 104 according to an embodiment includes a configuration meta information storage unit 202, a configuration value providing unit 204, and a configuration 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 configuration management service module 104 stores only configuration meta information in the configuration meta information storage unit 202, and the actual service provision setting values 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 requested setting value for each tenant from one or more general service modules 102 when an inquiry request for the setting value is received from a user (specific tenant or 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 manager 206 changes the setting meta information stored in the setting meta information storage unit 202 according to the request. The configuration meta information management unit 206 may transmit the changed configuration meta information to the one or more general service modules 102 when the configuration meta information is changed. Then, the general service module 102 having received the request reflects the change and synchronizes the configuration meta information with the configuration management service module 104.

도 3은 일 실시예에 따른 일반 서비스 모듈(102)을 설명하기 위한 블록도이다. 도시된 바와 같이, 일 실시예에 따른 일반 서비스 모듈(102)은 설정값 저장부(302), 설정 메타 정보 연계 저장부(304) 및 설정값 관리부(306)를 포함한다.3 is a block diagram illustrating a general service module 102 according to an embodiment. As illustrated, 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 a function provided by the corresponding general service module 102.

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

설정값 관리부(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 administrator 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 one embodiment, the set value management unit 306 provides a set value for each tenant stored in the set value storage unit 302 when a specific tenant or a request for providing a set value is received from the set management service module 104. can do. When the setting value management unit 306 needs to inquire about other setting values other than the setting values stored in the setting value storage unit 302, the setting value management unit 306 obtains other service module information in which the other setting values are stored by referring to setting meta information. The service module may request to provide the other setting value.

도 4는 일 실시예에 따른 설정값 제공 과정(400)을 설명하기 위한 흐름도이다. 도시된 흐름도에 의한 방법은 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치, 예를 들어 전술한 서비스 시스템(100)에 의해 수행될 수 있다. 도시된 흐름도에서는 설명의 편의를 위해 일반 서비스 모듈(102)이 제1 일반 서비스 모듈(102-1) 및 제2 일반 서비스 모듈(102-2)을 포함하는 것으로 가정하였다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.4 is a flowchart for describing a setting value providing process 400 according to an exemplary embodiment. The method according to the flow diagram shown 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. have. In the flowchart shown, 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 for convenience of description. In the illustrated flow chart, the method is divided into a plurality of steps, but at least some of the steps may be performed in a reverse order, in combination with other steps, omitted, divided into substeps, or not shown. One or more steps may be added and performed.

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

시스템 관리자 또는 특정 테넌트의 관리자 등으로부터 설정값에 대한 조회 요청이 수신되는 경우(단계 404), 설정 관리 서비스 모듈(104)은 일반 서비스 모듈(102)로 설정값 제공 요청을 송신한다(단계 406 및 408).When an inquiry request for a setting value is received from a system administrator or an administrator of a specific tenant (step 404), the setting management service module 104 transmits a setting value providing request to the general service module 102 (step 406 and 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 respectively set setting values stored by the first general service module 102-1 according to the request for providing the setting values. To send).

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

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

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

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

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

단계 506에서, 상기 기능 제공 요청을 수신한 일반 서비스 모듈(102)은 상기 기능의 제공을 위해 타 서비스 모듈의 설정값이 필요한지 여부를 판단한다.In operation 506, the general service module 102 having received the function providing request determines whether a setting value of another service module is required for providing the function.

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

이와 달리 상기 506 단계의 판단 결과 상기 기능의 제공을 위해 내부에 저장된 설정값이 아닌 타 서비스 모듈에 저장된 설정값이 필요한 경우, 단계 510에서 일반 서비스 모듈(102)은 설정 메타 정보를 조회하여 해당 설정값이 저장된 타 서비스 모듈 정보를 획득한다.On the contrary, if it is determined in step 506 that a setting value stored in another service module is required instead of an internally stored setting value to provide the function, in step 510, the general service module 102 inquires the setting meta information and sets the corresponding setting Acquire other service module information whose value is stored.

단계 512에서 일반 서비스 모듈(102)은 타 서비스 모듈로 설정값 제공을 요청하고 상기 요청에 따라 상기 타 서비스 모듈로부터 설정값을 수신한다.In step 512, the general service module 102 requests the other service module to provide the setting value and receives the setting value from the other service module 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 settings obtained in step 508, or the settings received in step 512.

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

이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Although exemplary embodiments of the present invention have been described in detail above, those skilled in the art will appreciate that various modifications can be made 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, but should be defined by the claims below and equivalents thereof.

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: set value providing unit
206: setting meta information management unit
302: setting value storage unit
304: configuration meta information linkage storage unit
306: set value management unit

Claims (20)

하나 이상의 테넌트(tenant)로 서비스를 제공하기 위한 시스템으로서,
상기 하나 이상의 테넌트로 상기 서비스를 구성하는 복수의 기능들을 각각 나누어 제공하고, 각각 자신이 제공하는 기능과 관련된 각 테넌트별 설정값을 저장하는 하나 이상의 일반 서비스 모듈; 및
상기 각 테넌트별 설정값에 대응되는 설정 메타 정보를 저장하는 설정 관리 서비스 모듈을 포함하는, 서비스 시스템.
A system for providing services to one or more tenants,
At least one general service module for dividing and providing a plurality of functions constituting the service into the at least one tenant, and storing setting values for each tenant related to functions provided by the at least one tenant; And
And a setting management service module for storing setting meta information corresponding to the setting values for each tenant.
청구항 1에 있어서,
상기 설정 관리 서비스 모듈은,
상기 설정 메타 정보의 변경이 발생되는 경우, 변경된 설정 메타 정보를 상기 하나 이상의 일반 서비스 모듈로 송신하는, 서비스 시스템.
The method according to claim 1,
The configuration management service module,
And if the change of the setting meta information occurs, sending the changed setting meta information to the one or more general service modules.
청구항 2에 있어서,
상기 하나 이상의 일반 서비스 모듈은,
상기 설정 관리 서비스 모듈로부터 수신된 상기 변경된 설정 메타 정보를 이용하여 상기 설정 메타 정보를 상기 설정 관리 서비스 모듈과 동기화하는, 서비스 시스템.
The method according to claim 2,
The one or more general service module,
And synchronize the setting meta information with the setting management service module by using the changed setting meta information received from the setting management service module.
청구항 3에 있어서,
상기 설정 메타 정보는,
상기 설정값 각각의 설정 항목, 데이터 유형, 및 해당 설정값이 저장되는 서비스 모듈 정보 중 하나 이상을 포함하는, 서비스 시스템.
The method according to claim 3,
The setting meta information,
And at least one of a setting item, a data type of each of the setting values, and service module information in which the setting values are stored.
청구항 4에 있어서,
상기 일반 서비스 모듈은,
자신이 저장하고 있는 설정값 이외의 타 설정값에 대한 조회가 필요한 경우, 상기 설정 메타 정보를 참조하여 상기 타 설정값이 저장된 타 서비스 모듈 정보를 획득하고, 상기 타 서비스 모듈로 상기 타 설정값의 제공을 요청하는, 서비스 시스템.
The method according to claim 4,
The general service module,
When an inquiry about other setting values other than the setting value stored by the user is needed, other service module information in which the other setting values are stored is obtained by referring to the setting meta information, and the other service module is used to obtain the other setting values. Service system, requesting provision.
청구항 4에 있어서,
상기 설정 관리 서비스 모듈은,
특정 테넌트로부터 상기 설정값에 대한 조회 요청이 수신되는 경우, 상기 설정 메타 정보를 참조하여 상기 하나 이상의 일반 서비스 모듈로부터 상기 특정 테넌트의 설정값을 수신하고, 수신된 상기 특정 테넌트의 설정값을 상기 설정 메타 정보와 결합하여 상기 특정 테넌트로 제공하는, 서비스 시스템.
The method according to claim 4,
The configuration management service module,
When an inquiry request for the setting value is received from a specific tenant, the setting value of the specific tenant is received from the one or more general service modules with reference to the setting meta information, and the setting value of the received specific tenant is set. And provide the specific tenant in combination with meta information.
하나 이상의 테넌트(tenant)로 서비스를 제공하기 위한 장치로서,
상기 각 테넌트별 서비스 제공 설정값과 연관되는 설정 메타 정보를 저장하는 설정 메타 정보 저장부; 및
상기 각 테넌트별 설정값을 각각 분할하여 저장하는 하나 이상의 일반 서비스 모듈로부터 상기 설정값을 수신하고, 수신된 상기 설정값을 상기 설정 메타 정보와 결합하여 사용자에게 제공하는 설정값 제공부를 포함하는 설정 관리 서비스 장치.
An apparatus for providing a service to one or more tenants,
A configuration meta information storage unit for storing configuration meta information associated with the service provision setting values for each tenant; And
A setting management unit configured to receive the setting value from at least one general service module which divides and stores the setting value of each tenant, and provides the setting value to the user by combining the received setting value with the setting meta information. Service device.
청구항 7에 있어서,
상기 설정 메타 정보는,
상기 설정값 각각의 설정 항목, 데이터 유형, 및 해당 설정값이 저장되는 서비스 모듈 정보 중 하나 이상을 포함하는, 설정 관리 서비스 장치.
The method according to claim 7,
The setting meta information,
And at least one of a setting item, a data type of each of the setting values, and service module information in which the setting values are stored.
청구항 7에 있어서,
상기 사용자로부터 상기 설정 메타 정보의 추가, 수정, 또는 삭제 요청이 수신되는 경우, 상기 요청에 따라 상기 설정 메타 정보를 변경하는 설정 메타 정보 관리부를 더 포함하는, 설정 관리 서비스 장치.
The method according to claim 7,
And a setting meta information manager configured to change 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.
청구항 9에 있어서,
상기 설정 메타 정보 관리부는,
상기 설정 메타 정보의 변경이 발생되는 경우, 변경된 설정 메타 정보를 상기 하나 이상의 일반 서비스 모듈로 송신하는, 설정 관리 서비스 장치.
The method according to claim 9,
The setting meta information management unit,
And if the change of the setting meta information occurs, sending the changed setting meta information to the one or more general service modules.
하나 이상의 테넌트(tenant)로 서비스를 제공하기 위한 장치로서,
상기 하나 이상의 테넌트로 상기 서비스를 구성하는 복수의 기능들 중 어느 하나의 기능을 제공하고, 상기 제공 기능과 관련된 상기 각 테넌트별 설정값을 저장하는 설정값 저장부;
설정 관리 서비스 모듈로부터 상기 설정값과 연관되는 설정 메타 정보를 수신하여 저장하는 설정 메타 정보 연계 저장부; 및
설정값 제공 요청에 따라 상기 설정값 저장부에 저장된 상기 설정값을 제공하는 설정값 관리부를 포함하는, 서비스 제공 장치.
An apparatus for providing a service to one or more tenants,
A setting value storage unit providing any one of a plurality of functions configuring the service with the one or more tenants, and storing setting values for each tenant related to the providing function;
A configuration meta information association storage unit configured to receive and store configuration meta information associated with the configuration value from a configuration management service module; And
And a setting value management unit which provides the setting value stored in the setting value storing unit in response to a setting value providing request.
청구항 11에 있어서,
상기 설정 메타 정보 연계 저장부는,
상기 설정 관리 서비스 모듈로부터 변경된 설정 메타 정보가 수신되는 경우, 이를 이용하여 상기 설정 메타 정보를 상기 설정 관리 서비스 모듈과 동기화하는, 서비스 제공 장치.
The method according to claim 11,
The setting meta information linked storage unit,
And when the changed configuration meta information is received from the configuration management service module, using the configuration management information to synchronize the configuration metadata with the configuration management service module.
청구항 11에 있어서,
상기 설정 메타 정보는,
상기 설정값 각각의 설정 항목, 데이터 유형, 및 해당 설정값이 저장되는 서비스 모듈 정보 중 하나 이상을 포함하는, 서비스 제공 장치.
The method according to claim 11,
The setting meta information,
And at least one of a setting item, a data type of each of the setting values, and service module information in which the setting values are stored.
청구항 11에 있어서,
상기 설정값 관리부는,
상기 설정값 저장부에 저장된 설정값 이외의 타 설정값에 대한 조회가 필요한 경우, 상기 설정 메타 정보를 참조하여 상기 타 설정값이 저장된 타 서비스 모듈 정보를 획득하고, 상기 타 서비스 모듈로 상기 타 설정값의 제공을 요청하는, 서비스 제공 장치.
The method according to claim 11,
The set value management unit,
When inquiring about other setting values other than the setting values stored in the setting value storage unit is necessary, other service module information in which the other setting values are stored is obtained by referring to the setting meta information, and the other setting is performed by the other service module. A service providing device for requesting provision of a value.
하나 이상의 테넌트(tenant)로 서비스를 제공하기 위한 설정 관리 서비스 장치에서 수행되는 방법으로서,
상기 각 테넌트별 서비스 제공 설정값과 연관되는 설정 메타 정보를 저장하는 단계;
상기 각 테넌트별 설정값을 각각 분할하여 저장하는 하나 이상의 일반 서비스 모듈로부터 상기 각 테넌트별 설정값의 적어도 일부를 수신하는 단계; 및
수신된 상기 설정값의 적어도 일부를 상기 설정 메타 정보와 결합하여 사용자에게 제공하는 단계를 포함하는, 설정 관리 방법.
A method performed in a configuration management service device for providing a service to one or more tenants,
Storing setting meta information associated with the service providing setting value for each tenant;
Receiving at least a part of the setting values for each tenant from one or more general service modules which respectively divide and store the setting values for each tenant; And
And providing at least a portion of the received setting value to the user in combination with the setting meta information.
청구항 15에 있어서,
상기 설정 메타 정보는,
상기 설정값 각각의 설정 항목, 데이터 유형, 및 해당 설정값이 저장되는 서비스 모듈 정보 중 하나 이상을 포함하는, 설정 관리 방법.
The method according to claim 15,
The setting meta information,
And at least one of a setting item, a data type of each of the setting values, and service module information in which the setting values are stored.
청구항 15에 있어서,
상기 저장하는 단계는,
상기 사용자로부터 상기 설정 메타 정보의 추가, 수정, 또는 삭제 요청이 수신되는 경우, 상기 요청에 따라 기 저장된 상기 설정 메타 정보를 변경하는 단계를 더 포함하는, 설정 관리 방법.
The method according to claim 15,
The storing step,
And when the request for adding, modifying or deleting the setting meta information is received from the user, changing the previously stored setting meta information according to the request.
청구항 17에 있어서,
상기 설정 메타 정보를 변경하는 단계는,
변경된 설정 메타 정보를 상기 하나 이상의 일반 서비스 모듈로 송신하는 단계를 더 포함하는, 설정 관리 방법.
The method according to claim 17,
Changing the setting meta information,
And sending the changed configuration meta information to the one or more general service modules.
하나 이상의 테넌트(tenant)로 서비스를 제공하기 위한 서비스 제공 장치에서 수행되는 방법으로서,
상기 하나 이상의 테넌트로 상기 서비스의 제공을 위한 각 테넌트별 설정값을 저장하는 단계;
특정 테넌트로부터 상기 서비스를 구성하는 복수의 기능들 중 특정 기능에 대한 제공 요청을 수신하는 단계;
저장된 상기 설정값을 조회하여 상기 특정 기능의 제공과 연관된 특정 설정값을 획득하는 단계; 및
획득된 상기 특정 설정값에 기초하여 상기 특정 기능을 제공하는 단계를 포함하는, 서비스 제공 방법.
A method performed in a service providing device for providing a service to one or more tenants,
Storing setting values for each tenant for providing the service as the one or more tenants;
Receiving a request for providing a specific function from among a plurality of functions configuring the service from a specific tenant;
Querying the stored setting values to obtain specific setting values associated with providing the specific function; And
Providing the specific function based on the obtained specific setting value.
상기 설정값을 획득하는 단계는,
상기 특정 기능의 제공을 위하여, 상기 저장된 설정값 이외의 타 설정값에 대한 조회가 필요한 경우,
설정 메타 정보를 참조하여 상기 타 설정값이 저장된 타 서비스 모듈 정보를 획득하고, 상기 타 서비스 모듈로 상기 타 설정값의 제공을 요청하도록 구성되는, 서비스 제공 방법.
Acquiring the set value,
In order to provide the specific function, inquiring about other setting values other than the stored setting values is necessary,
And obtaining other service module information in which the other setting value is stored with reference to 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 true KR20190133404A (en) 2019-12-03
KR102544820B1 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210108770A (en) * 2020-02-26 2021-09-03 주식회사 에스원 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 (6)

* 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
KR20100015398A (en) 2007-04-13 2010-02-12 마이크로소프트 코포레이션 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
KR20140091470A (en) * 2013-01-11 2014-07-21 한국전자통신연구원 Switch and method for supporting QOS of Multi-Tenant Cloud Service and System having the same switch
KR20150064599A (en) * 2013-12-03 2015-06-11 주식회사 엘지씨엔에스 Method for management common code of multi-tenane environment, server performing the same and storage media storing the same

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100015398A (en) 2007-04-13 2010-02-12 마이크로소프트 코포레이션 Extensible and programmable multi-tenant service architecture
US20100005443A1 (en) * 2008-07-07 2010-01-07 Kwok Thomas Y System and Methods to Create a Multi-Tenancy Software as a Service Application
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
KR20140091470A (en) * 2013-01-11 2014-07-21 한국전자통신연구원 Switch and method for supporting QOS of Multi-Tenant Cloud Service and System having the same switch
KR20150064599A (en) * 2013-12-03 2015-06-11 주식회사 엘지씨엔에스 Method for management common code of multi-tenane environment, server performing the same and storage media storing the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210108770A (en) * 2020-02-26 2021-09-03 주식회사 에스원 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

Also Published As

Publication number Publication date
KR102544820B1 (en) 2023-06-16

Similar Documents

Publication Publication Date Title
US11727035B2 (en) Hybrid workflow synchronization between cloud and on-premise systems in a content management system
US11132643B1 (en) Systems and methods for managing data in remote huddle sessions
US11379428B2 (en) Synchronization of client machines with a content management system repository
US10567484B2 (en) Identifying content items for inclusion in a shared collection
US9294485B2 (en) Controlling access to shared content in an online content management system
JP5226770B2 (en) In-memory caching of multitenant data that can be shared and customized
US10831776B2 (en) On-demand file synchronization
US20150012861A1 (en) Syncing content clipboard
US11226982B2 (en) Synchronization of offline instances
US20170277747A1 (en) Modifying a database query
US20180314723A1 (en) Managing multi-tenant keys in multi-tenant computing environments
US11841842B2 (en) Method and system for using external content type object types
US9992278B2 (en) Automatic account selection
KR102544820B1 (en) Micro service architecture based service system and method for multi-tenant configuration thereof
EP3061011B1 (en) Method for optimizing index, master database node and subscriber database node
US20210160201A1 (en) Third-party integration in activity feeds
US20230099501A1 (en) Masking shard operations in distributed database systems
US8453166B2 (en) Data services framework visibility component
US9961132B2 (en) Placing a user account in escrow
US11385921B2 (en) Collaboration across isolated virtual environments
US10681172B2 (en) Secure data sharing through a network application

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