Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7065697B2 - System and service control method - Google Patents
[go: Go Back, main page]

JP7065697B2 - System and service control method - Google Patents

System and service control method Download PDF

Info

Publication number
JP7065697B2
JP7065697B2 JP2018106888A JP2018106888A JP7065697B2 JP 7065697 B2 JP7065697 B2 JP 7065697B2 JP 2018106888 A JP2018106888 A JP 2018106888A JP 2018106888 A JP2018106888 A JP 2018106888A JP 7065697 B2 JP7065697 B2 JP 7065697B2
Authority
JP
Japan
Prior art keywords
execution
service
microservices
processing
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018106888A
Other languages
Japanese (ja)
Other versions
JP2019211955A (en
Inventor
光雄 早坂
敬一 松澤
和正 松原
明男 島田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018106888A priority Critical patent/JP7065697B2/en
Publication of JP2019211955A publication Critical patent/JP2019211955A/en
Application granted granted Critical
Publication of JP7065697B2 publication Critical patent/JP7065697B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、マイクロサービスを組み合わせたサービスの開発及び実行を行うシステムに関する。 The present invention relates to a system for developing and executing a service combining microservices.

近年、個別に開発された小さなサービスを組み合わせて、一つのサービスを提供する開発手法が注目を浴びている。これらは、マイクロサービス、SaaS(Software AS a service)、SOA(Service Oriented Architecture)等として知られている。以下の説明では、開発手法を表すとき、マイクロサービスアーキテクチャと記載し、マイクロサービスアーキテクチャを用いて開発されたサービス群をマイクロサービスと記載する。 In recent years, a development method that provides one service by combining small services developed individually has attracted attention. These are known as microservices, SaaS (Software as a service), SOA (Service Oriented Architecture), and the like. In the following description, when the development method is expressed, it is described as a microservice architecture, and a group of services developed using the microservice architecture is described as a microservice.

マイクロサービスアーキテクチャでは、複数のマイクロサービスを組み合わせてサービスが開発される。開発されたサービスは他のサービスを構成するマイクロサービスとして組み込むことができる。 In the microservices architecture, services are developed by combining multiple microservices. The developed service can be incorporated as a microservice that constitutes another service.

マイクロサービスアーキテクチャを用いて開発されたサービスは、顧客サイトで構築されたプライベートクラウド及び顧客サイト外のパブリッククラウド等で、ネットワークを介して処理される。マイクロサービスアーキテクチャを用いたサービス開発の容易にするために、マイクロサービスアーキテクチャが提供するAPI同士を容易につなげる開発プラットフォームPaaS(Platform AS a Service)を提供することが主流となっている。 Services developed using the microservice architecture are processed via a network in a private cloud built on the customer site, a public cloud outside the customer site, and the like. In order to facilitate service development using a microservice architecture, it is the mainstream to provide a development platform PaaS (Platform AS a Service) that easily connects APIs provided by a microservice architecture.

例えば、特許文献1では、各種のクラウド上のマイクロサービスを、インターコネクションプラットフォームでAPI同士をつなげて、サービスを提供する技術が開示されている。また、マイクロサービス化した処理を、GUIベースで処理サーバを配置し、処理サーバ同士をつなげることで、アプリを容易に開発する基盤を提供する方法が広まっている。例えば、OSSとして提供されるNode-REDなどである。Node-REDでは、ノードと呼ばれる、特定の機能を実現する処理要素を接続して、一つのフロー(マイクロサービス)を生成する。 For example, Patent Document 1 discloses a technique for providing various microservices on the cloud by connecting APIs with each other by an interconnection platform. In addition, a method of providing a platform for easily developing an application by arranging a processing server based on a GUI and connecting the processing servers to each other for microservice processing is widespread. For example, Node-RED provided as OSS. In Node-RED, a process element called a node that realizes a specific function is connected to generate one flow (microservice).

米国特許出願公開第2016/0124742号明細書US Patent Application Publication No. 2016/0124742

マイクロサービスアーキテクチャを用いて開発されたサービスは、サービスを構成するマイクロサービス毎に処理が実行される。そのため、ネットワークを介して接続されるシステムに複数のマイクロサービスを配置した場合、マイクロサービス間の通信によってサービスの実行速度が低下し、また、通信リソースの消費量が増大する。 Services developed using the microservice architecture are processed for each microservice that constitutes the service. Therefore, when a plurality of microservices are arranged in a system connected via a network, the execution speed of the services is reduced by the communication between the microservices, and the consumption of communication resources is increased.

本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、複数のマイクロサービスから構成されるサービスを提供するシステムであって、前記マイクロサービスを実行可能な複数の計算機システムを含み、前記複数の計算機システムは、複数の計算機を含み、前記複数のマイクロサービスの実行順番を制御するサービス順序制御部を有し、前記サービス順序制御部は、第1サービスを提供するための複数の実行マイクロサービス及びその実行順番と、前記複数の実行マイクロサービスの配置条件とに関する情報を取得し、前記配置条件を満たし、かつ、前記複数の実行マイクロサービスの実行時の通信が少なくなるように、前記複数の実行マイクロサービスを実行させる実行計算機システムを決定し、前記複数の実行マイクロサービスの実行順番及び前記複数の実行計算機システムを含む処理管理情報を生成し、前記複数の実行計算機システムに送信し、前記処理管理情報を受信した前記実行計算機システムは、当該実行計算機システムが実行する前記実行マイクロサービスが複数存在する場合、前記配置条件を満たし、かつ、前記複数の実行マイクロサービスの実行時の通信が少なくなるように、前記複数の実行マイクロサービスを実行させる前記計算機を決定し、当該決定に基づいて、前記計算機への前記複数の実行マイクロサービスのデプロイを実行し、前記サービス順序制御部は、前記第1サービスの実行契機を検知した場合、前記処理管理情報に基づいて、一つの前記実行計算機システムを選択し、選択された前記実行計算機システムが実行する前記実行マイクロサービスの実行順番を含む実行要求を送信し、複数の前記実行マイクロサービスを実行する前記実行計算機システムは、複数の前記実行マイクロサービスの全てを実行した後に処理結果を示すデータを送信することを特徴とする。 A typical example of the invention disclosed in the present application is as follows. That is, it is a system that provides a service composed of a plurality of microservices and includes a plurality of computer systems capable of executing the microservices, and the plurality of computer systems includes a plurality of computers and the plurality of micros. It has a service order control unit that controls the execution order of services, and the service order control unit has a plurality of execution microservices for providing the first service, their execution order, and arrangement conditions of the plurality of execution microservices. The execution computer system for executing the plurality of execution microservices is determined so as to acquire the information regarding the above, satisfy the arrangement condition, and reduce the communication at the time of execution of the plurality of execution microservices, and determine the plurality of execution microservices. The execution computer system that generates the execution order of the execution microservices and the processing management information including the plurality of execution computer systems, transmits the processing management information to the plurality of execution computer systems, and receives the processing management information is the execution computer system. When there are a plurality of the execution microservices to be executed, the computer for executing the plurality of execution microservices so as to satisfy the arrangement condition and reduce communication at the time of execution of the plurality of execution microservices. A decision is made, and based on the decision, the plurality of execution microservices are deployed to the computer, and when the service order control unit detects the execution trigger of the first service, it is based on the processing management information. The execution computer system that selects one execution computer system, sends an execution request including the execution order of the execution microservices executed by the selected execution computer system, and executes a plurality of execution microservices. Is characterized in that data indicating a processing result is transmitted after executing all of the plurality of execution microservices .

本発明の一形態によれば、マイクロサービスアーキテクチャを用いて開発されたサービスの実行速度が向上し、また、通信リソースの消費量が削減できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。 According to one embodiment of the present invention, the execution speed of the service developed by using the microservice architecture can be improved, and the consumption of communication resources can be reduced. Issues, configurations and effects other than those mentioned above will be clarified by the description of the following examples.

実施例1の計算機システムの構成例を示す図である。It is a figure which shows the configuration example of the computer system of Example 1. FIG. 実施例1の基盤サーバの構成例を示すブロック図である。It is a block diagram which shows the configuration example of the base server of Example 1. FIG. 実施例1のサービス処理サーの構成例を示すブロック図である。It is a block diagram which shows the configuration example of the service processing sir of Example 1. FIG. 実施例1の処理管理情報のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the processing management information of Example 1. FIG. 実施例1のサービス制御システム情報のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the service control system information of Example 1. FIG. 実施例1の開発基盤処理部が提供するGUIの一例を示す図である。It is a figure which shows an example of the GUI provided by the development infrastructure processing part of Example 1. FIG. 実施例1の基盤サーバが実行する処理を説明するフローチャートである。It is a flowchart explaining the process executed by the base server of Embodiment 1. FIG. 実施例1の基盤サーバが実行するマイクロサービス配置最適化処理を説明するフローチャートである。It is a flowchart explaining the microservice arrangement optimization process executed by the base server of Example 1. FIG. 実施例1のサービス処理サーバがデプロイされたマイクロサービス(実行ファイル)を受け付けた場合に実行する処理を説明するフローチャートである。It is a flowchart explaining the process to execute when the service process server of Example 1 accepts the deployed microservice (executable file). 実施例1の基盤サーバがサービスの提供時に実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the base server of Example 1 executes at the time of providing a service. 実施例2の開発基盤処理部が提供するGUIの一例を示す図である。It is a figure which shows an example of the GUI provided by the development infrastructure processing part of Example 2. FIG. 実施例2の基盤サーバが実行するマイクロサービス配置最適化処理を説明するフローチャートである。It is a flowchart explaining the microservice arrangement optimization process executed by the base server of Example 2. 実施例2の基盤サーバが実行するマイクロサービス配置最適化処理を説明するフローチャートである。It is a flowchart explaining the microservice arrangement optimization process executed by the base server of Example 2. 実施例2の基盤サーバがサービスの提供時に実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the base server of Example 2 executes at the time of providing a service. 実施例3の基盤サーバが処理要求を送信する場合に実行する処理を説明するフローチャートである。It is a flowchart explaining the process to execute when the base server of Example 3 sends a process request. 実施例4の基盤サーバがサービスの提供時に実行する処理を説明するフローチャートである。It is a flowchart explaining the process which the base server of Example 4 executes at the time of providing a service. 実施例5の開発基盤処理部によって提示されるポータルの一例を示す図である。It is a figure which shows an example of the portal presented by the development infrastructure processing part of Example 5. 実施例5の開発基盤処理部が提供するGUIの一例を示す図である。It is a figure which shows an example of the GUI provided by the development infrastructure processing part of Example 5. 実施例5の開発基盤処理部が提供するGUIの一例を示す図である。It is a figure which shows an example of the GUI provided by the development infrastructure processing part of Example 5. 実施例5の開発基盤処理部が提供するGUIの一例を示す図である。It is a figure which shows an example of the GUI provided by the development infrastructure processing part of Example 5.

本明細書では、「aaaテーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「aaaテーブル」を「aaa情報」と呼ぶこともできる。 In the present specification, various information may be described by the expression of "aaa table", but various information may be expressed by a data structure other than the table. The "aaa table" can also be referred to as "aaa information" to show that it does not depend on the data structure.

本明細書では、各テーブルの構成は一例であり、一つのテーブルは、二以上のテーブルに分割されてもよいし、二つ以上のテーブルの全部又は一部が一つのテーブルであってもよい。 In the present specification, the configuration of each table is an example, and one table may be divided into two or more tables, or all or a part of two or more tables may be one table. ..

本明細書では、「インタフェース」は、一つ以上の通信インタフェースデバイスを含んでよい。一つ以上の通信インタフェースデバイスは、NIC(Network Interface Card)及びHBA(Host Bus Adapter)等の一つ以上の同種の通信インタフェースデバイスであってもよいし、二つ以上の異種の通信インタフェースデバイスであってもよい。 As used herein, an "interface" may include one or more communication interface devices. The one or more communication interface devices may be one or more similar communication interface devices such as NIC (Network Interface Card) and HBA (Host Bus Adapter), or two or more different types of communication interface devices. There may be.

本明細書では、プログラムを主語として処理を説明する場合、プロセッサ及びCPU(Central Processing Unit)等の演算装置及び演算装置を有する計算機が処理を実行していることを示す。 In the present specification, when the processing is described with the program as the subject, it is shown that the processing is executed by the arithmetic unit such as the processor and the CPU (Central Processing Unit) and the computer having the arithmetic unit.

本明細書では、ストレージシステム等が有するコントローラは、演算装置、又は、コントローラが行う処理の一部若しくは全部を行うハードウェア回路を含んでもよい。 In the present specification, the controller included in the storage system or the like may include an arithmetic unit or a hardware circuit that performs a part or all of the processing performed by the controller.

本明細書では、プログラムは、予め計算機に格納されていてもよいし、プログラムソースから計算機にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバ又はコンピュータ読取可能な(例えば非一時的な)記憶メディアであってもよい。また、以下の説明において、二つ以上のプログラムが一つのプログラムとして実現されてもよいし、一つのプログラムが二つ以上のプログラムとして実現されてもよい。 In the present specification, the program may be stored in the computer in advance, or may be installed in the computer from the program source. The program source may be, for example, a program distribution server or a computer-readable (eg, non-temporary) storage medium. Further, in the following description, two or more programs may be realized as one program, or one program may be realized as two or more programs.

本明細書では、要素の識別情報の一例としてIDを記載しているが、IDの代わりに他の識別情報を使用してもよいし、IDとともに他の識別情報を使用してもよい。 Although the ID is described as an example of the element identification information in the present specification, other identification information may be used instead of the ID, or other identification information may be used together with the ID.

本明細書では、同種の要素を区別しない場合、同じ参照符号を用い、同種の要素を区別する場合、同種の識別可能な参照符号を用いる。 In the present specification, when not distinguishing the same kind of elements, the same reference code is used, and when distinguishing the same kind of elements, the same kind of distinguishable reference code is used.

本明細書では、分散システムは、一つ以上の物理的な計算機を含む。一つ以上の物理的な計算機は、物理的なサーバ及び物理的なストレージの少なくともいずれかを含んでよい。物理的な計算機は、VM(Virtual Machine)等の仮想的な計算機を実行してもよいし、SDx(Software-Defined anything)を実行してもよい。SDxとしては、例えば、仮想的なストレージ装置の一例であるSDS(Software Defined Storage)又はSDDC(Software-defined Datacenter)を採用することができる。 As used herein, a distributed system includes one or more physical computers. The one or more physical computers may include at least one of a physical server and a physical storage. As the physical computer, a virtual computer such as a VM (Virtual Machine) may be executed, or SDx (Software-Defined answering) may be executed. As the SDx, for example, SDS (Software Defined Storage) or SDDC (Software-defined Storage), which is an example of a virtual storage device, can be adopted.

図1は、実施例1の計算機システムの構成例を示す図である。 FIG. 1 is a diagram showing a configuration example of the computer system of the first embodiment.

計算機システムは、基盤システム100及び複数のデータセンタ101-1、101-2から構成される。基盤システム100及びデータセンタ101-1、101-2は、ネットワーク102を介して互いに接続される。ネットワーク102は、例えば、WAN(Wide Area Network)、LAN(Local Area Network)、SAN(Storage Area Network)、インターネット、公衆回線、及び専用回線等である。ネットワーク102の接続方式は有線及び無線のいずれでもよい。 The computer system is composed of a basic system 100 and a plurality of data centers 101-1 and 101-2. The infrastructure system 100 and the data centers 101-1 and 101-2 are connected to each other via the network 102. The network 102 is, for example, a WAN (Wide Area Network), a LAN (Local Area Network), a SAN (Storage Area Network), the Internet, a public line, a dedicated line, and the like. The connection method of the network 102 may be either wired or wireless.

本明細書では、データセンタ101-1、101-2を区別しない場合、データセンタ101と記載する。また、基盤システム100及びデータセンタ101を区別しない場合、処理システムと記載する。 In this specification, when data centers 101-1 and 101-2 are not distinguished, they are referred to as data center 101. When the infrastructure system 100 and the data center 101 are not distinguished, they are described as a processing system.

計算機システムは、複数のマイクロサービスの組合せによって実現されるサービスを提供する。マイクロサービスは、少なくとも一つの機能を実現する処理から構成される。本明細書では、特定の機能を実現する処理要素をノードと記載する。 The computer system provides services realized by a combination of multiple microservices. Microservices consist of processes that realize at least one function. In this specification, a processing element that realizes a specific function is referred to as a node.

ここで、マイクロサービスアーキテクチャにおけるマイクロサービスのデプロイ方式について説明する。マイクロサービスのデプロイ方式としては、複数のマイクロサービスを一つの処理システムにデプロイする方式と、複数のマイクロサービスの各々を分散するように複数の処理システムをデプロイする方式とがある。本明細書の「デプロイ」は、サービスが実行可能な状態で実行環境に配置することを表す。 Here, the deployment method of microservices in the microservice architecture will be described. As a method of deploying microservices, there are a method of deploying a plurality of microservices to one processing system and a method of deploying a plurality of processing systems so as to distribute each of the plurality of microservices. "Deployment" in the present specification means that the service is placed in the execution environment in an executable state.

前者の方式は人工知能等を利用したサービスが考えられる。人工知能は、例えば、生のデータを用いた学習によってモデルを構築し、当該モデルに基づいてデータの判別及び行動の決定等を行う。学習に使用するデータが格納される計算機(サーバ)にマイクロサービスを実行させて、サービスを提供する。後者の方式は複数の処理システムにマイクロサービスを分散させることによってサービスの性能の向上等を実現する。 The former method can be considered as a service using artificial intelligence or the like. Artificial intelligence builds a model by learning using raw data, for example, and discriminates data and determines behavior based on the model. A computer (server) that stores data used for learning is made to execute a microservice to provide the service. The latter method improves the performance of services by distributing microservices to multiple processing systems.

基盤システム100は、マイクロサービスの開発基盤120を実現する計算機リソース及びソフトウェアを提供するシステムである。基盤システム100では、マイクロサービスの実行基盤121も提供される。データセンタ101は、マイクロサービスの実行基盤121を提供するシステムである。 The infrastructure system 100 is a system that provides computer resources and software that realizes the development infrastructure 120 of microservices. The infrastructure system 100 also provides an execution infrastructure 121 for microservices. The data center 101 is a system that provides an execution platform 121 for microservices.

基盤システム100は、基盤を提供するシステムであり、複数の基盤サーバ110から構成される。基盤サーバ110の構成については図2を用いて説明する。 The board system 100 is a system that provides a board, and is composed of a plurality of board servers 110. The configuration of the base server 110 will be described with reference to FIG.

データセンタ101は、データを管理し、また、データを用いた処理を実行するシステムであり、複数のサービス処理サーバ111から構成される。データセンタ101-1にはデータA170が格納され、データセンタ101-2にはデータB171が格納される。サービス処理サーバ111の構成は図3を用いて説明する。 The data center 101 is a system that manages data and executes processing using the data, and is composed of a plurality of service processing servers 111. The data A170 is stored in the data center 101-1 and the data B171 is stored in the data center 101-2. The configuration of the service processing server 111 will be described with reference to FIG.

本明細書では、「基盤」とは、計算機リソース及び特定の機能を提供するプログラム及びAPIを含むものとする。 As used herein, the term "base" shall include computer resources and programs and APIs that provide specific functions.

本明細書では、サービス処理サーバ111-1、111-2を区別しない場合、サービス処理サーバ111と記載する。また、基盤サーバ110及びサービス処理サーバ111を区別しない場合、サーバと記載する。 In this specification, when the service processing servers 111-1 and 111-2 are not distinguished, they are referred to as the service processing server 111. When the base server 110 and the service processing server 111 are not distinguished, they are described as a server.

基盤サーバ110は、開発基盤120及び実行基盤121を提供する機能を有する。サービス処理サーバ111は、実行基盤121を提供する機能を有する。開発基盤120はマイクロサービスを開発するための基盤である。実行基盤121はマイクロサービスを実行するための基盤である。 The board server 110 has a function of providing the development board 120 and the execution board 121. The service processing server 111 has a function of providing the execution platform 121. The development platform 120 is a platform for developing microservices. The execution platform 121 is a platform for executing microservices.

実施例1では、マイクロサービスを表す処理A、処理B、処理C、処理D、処理E、処理F、及び処理Zから構成されるサービスが提供されるものとする。説明の簡単のために、一つの処理が一つのノードに対応するものとする。 In the first embodiment, it is assumed that a service including process A, process B, process C, process D, process E, process F, and process Z representing microservices is provided. For the sake of simplicity, it is assumed that one process corresponds to one node.

なお、処理A、処理B、処理C、処理D、処理E、処理F、及び処理Zの順で処理が実行されるものとする。開発基盤120上の処理A150、処理B151、処理C152、処理D153、処理E154、処理F155、及び処理Z156は、ソースコード等の形式のデータとして扱われる。また、実行基盤121上の処理A160、処理B161、処理C162、処理D163、処理E164、処理F165、及び処理Z166は、実行形式のファイル等のデータとして扱われる。 It is assumed that the processes are executed in the order of process A, process B, process C, process D, process E, process F, and process Z. The processing A150, processing B151, processing C152, processing D153, processing E154, processing F155, and processing Z156 on the development platform 120 are treated as data in the form of source code or the like. Further, the process A160, the process B161, the process C162, the process D163, the process E164, the process F165, and the process Z166 on the execution board 121 are treated as data such as an execution format file.

実施例1の計算機システムでは、開発基盤120を用いて開発されたサービスを構成するマイクロサービスが実行形式のデータに変換され、基盤システム100上の実行基盤121にデプロイされる。 In the computer system of the first embodiment, the microservices constituting the service developed by using the development platform 120 are converted into execution format data and deployed on the execution platform 121 on the platform system 100.

本明細書では、開発基盤120を用いたサービスの開発において、各マイクロサービスのデプロイ先は以下のように設定されているものとする。処理A160、処理C162、及び処理F165は、基盤サーバ110の実行基盤121にデプロイされる。処理B161及び処理D163は、データセンタ101-1の実行基盤121にデプロイされる。処理E164及び処理Z166は、データセンタ101-2の実行基盤121にデプロイされる。 In this specification, in the development of the service using the development platform 120, it is assumed that the deployment destination of each microservice is set as follows. The process A160, the process C162, and the process F165 are deployed on the execution board 121 of the board server 110. Process B161 and process D163 are deployed on the execution platform 121 of the data center 101-1. The process E164 and the process Z166 are deployed on the execution platform 121 of the data center 101-2.

また、本明細書では、処理A160は、基盤システム100の基盤サーバ110のみが実行できるものとし、処理B161及び処理D163は、データセンタ101-1のサービス処理サーバ111-1のみが実行できるものとし、処理E及び処理Z166は、データセンタ101-2のサービス処理サーバ111-2のみが実行できるものとする。処理C162及び処理F165については、実行するサーバは限定されない。 Further, in the present specification, it is assumed that the process A160 can be executed only by the infrastructure server 110 of the infrastructure system 100, and the processes B161 and D163 can be executed only by the service processing server 111-1 of the data center 101-1. , Processing E and processing Z166 can be executed only by the service processing server 111-2 of the data center 101-2. The server that executes the process C162 and the process F165 is not limited.

従来の方式では、デフォルトの設定にしたがってマイクロサービスが処理システムにデプロイされる。この場合、サービスの実行にあたって、各処理システムの基盤サーバ110、サービス処理サーバ111-1、及びサービス処理サーバ111-2は、ネットワーク102を介した通信によってデータの送受信を行う。したがって、サービスの実行速度の遅延及び通信リソースの消費量の増大が問題となる。 In the traditional method, microservices are deployed to the processing system according to the default settings. In this case, in executing the service, the infrastructure server 110, the service processing server 111-1, and the service processing server 111-2 of each processing system transmit and receive data by communication via the network 102. Therefore, the delay in the execution speed of the service and the increase in the consumption of communication resources become problems.

実施例1のシステムでは、基盤システム100上の実行基盤121では、マイクロサービスの実行順番が解析され、解析結果に基づいて、上記のような問題を解決できるようにマイクロサービスをデプロイする処理システムが決定される。 In the system of the first embodiment, in the execution platform 121 on the platform system 100, the execution order of the microservices is analyzed, and based on the analysis result, a processing system that deploys the microservices so as to solve the above problems is provided. It is determined.

図1に示す例では、処理A160は基盤サーバ110の実行基盤121にデプロイされ、処理B161、処理C162、及び処理D163はサービス処理サーバ111-1の実行基盤121にデプロイされ、処理E164、処理F165、及び処理Z166はサービス処理サーバ111-2の実行基盤121にデプロイされる。 In the example shown in FIG. 1, the process A160 is deployed on the execution platform 121 of the infrastructure server 110, the process B161, the process C162, and the process D163 are deployed on the execution platform 121 of the service processing server 111-1, and the process E164 and the process F165 are deployed. , And the processing Z166 are deployed on the execution platform 121 of the service processing server 111-2.

図2は、実施例1の基盤サーバ110の構成例を示すブロック図である。 FIG. 2 is a block diagram showing a configuration example of the base server 110 of the first embodiment.

基盤サーバ110は、CPU200、メモリ201、記憶装置202、及びネットワークインタフェース203を有する。各ハードウェアは内部バス204を介して互いに接続される。 The board server 110 has a CPU 200, a memory 201, a storage device 202, and a network interface 203. The hardware is connected to each other via the internal bus 204.

CPU200は、メモリ201に格納されるプログラムを実行する。CPU200がプログラムにしたがって処理を実行することによって、基盤サーバ110の特定の機能を実現する機能部(モジュール)として動作する。 The CPU 200 executes a program stored in the memory 201. When the CPU 200 executes processing according to a program, it operates as a functional unit (module) that realizes a specific function of the base server 110.

メモリ201は、DRAM(Dynamic Random Access Memory)等の揮発性の記憶素子又はStorage Class Memory等の不揮発性の記憶素子から構成される記憶装置である。メモリ201は、CPU200が実行するプログラム及びプログラムが使用する情報を格納する。メモリ201は、ユーザデータを一時的に格納するキャッシュエリア、プログラムが使用するワークエリアとしても用いられる。 The memory 201 is a storage device composed of a volatile storage element such as a DRAM (Dynamic Random Access Memory) or a non-volatile storage element such as a Story Class Memory. The memory 201 stores a program executed by the CPU 200 and information used by the program. The memory 201 is also used as a cache area for temporarily storing user data and a work area used by the program.

実施例1のメモリ201は、開発基盤処理部210、サービス順序制御部211、及びサービス実行部212を実現するプログラムを格納する。また、メモリ201は、処理管理情報T100及びサービス制御システム情報T110を格納する。 The memory 201 of the first embodiment stores a program that realizes the development infrastructure processing unit 210, the service order control unit 211, and the service execution unit 212. Further, the memory 201 stores the processing management information T100 and the service control system information T110.

開発基盤処理部210は、開発基盤120を実現する各種機能を提供する。サービス順序制御部211は、マイクロサービスの最適なデプロイ先となる処理システムを決定し、実行順番を含む処理要求を処理システムに送信する。また、サービス順序制御部211は、デプロイされたマイクロサービスの処理システム内のデプロイ先となるサーバを決定する。サービス実行部212は、実行基盤121を実現する各種機能を提供する。また、サービス実行部212は、デプロイされたマイクロサービスを実行する。 The development infrastructure processing unit 210 provides various functions for realizing the development infrastructure 120. The service order control unit 211 determines a processing system to which the microservice is optimally deployed, and sends a processing request including an execution order to the processing system. Further, the service order control unit 211 determines a server to be deployed in the processing system of the deployed microservice. The service execution unit 212 provides various functions for realizing the execution platform 121. In addition, the service execution unit 212 executes the deployed microservice.

処理管理情報T100は、マイクロサービスを管理するための情報であり、マイクロサービスのデプロイ時に生成される。処理管理情報T100のデータ構造については図4を用いて説明する。サービス制御システム情報T110は、マイクロサービスを実行するサーバを制御するための情報であり、予め、基盤サーバ110に設定される。サービス制御システム情報T110のデータ構造については図5を用いて説明する。 The processing management information T100 is information for managing the microservice, and is generated when the microservice is deployed. The data structure of the processing management information T100 will be described with reference to FIG. The service control system information T110 is information for controlling a server that executes microservices, and is set in advance in the base server 110. The data structure of the service control system information T110 will be described with reference to FIG.

記憶装置202は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等の記憶装置である。記憶装置202は、データを永続的に格納する。 The storage device 202 is a storage device such as an HDD (Hard Disk Drive) and an SSD (Solid State Drive). The storage device 202 permanently stores the data.

プログラム及び情報は、メモリ201に格納されているものとして説明しているが、記憶装置202に格納されてもよい。この場合、CPU200が記憶装置202からプログラム及び情報を読み出して、メモリ201上にロードする。 Although the program and information are described as being stored in the memory 201, they may be stored in the storage device 202. In this case, the CPU 200 reads the program and information from the storage device 202 and loads them on the memory 201.

ネットワークインタフェース203は、ネットワークを介して他の装置と接続するためのインタフェースである。 The network interface 203 is an interface for connecting to another device via a network.

なお、基盤サーバ110は、キーボード、マウス、及びタッチパネル等の入力装置、並びに、ディスプレイ及びプリンタ等の出力装置を有してもよい。 The board server 110 may have an input device such as a keyboard, a mouse, and a touch panel, and an output device such as a display and a printer.

図3は、実施例1のサービス処理サーバ111の構成例を示すブロック図である。 FIG. 3 is a block diagram showing a configuration example of the service processing server 111 of the first embodiment.

サービス処理サーバ111は、CPU300、メモリ301、記憶装置302、及びネットワークインタフェース303を有する。各ハードウェアは内部バス304を介して互いに接続される。 The service processing server 111 includes a CPU 300, a memory 301, a storage device 302, and a network interface 303. The hardware is connected to each other via the internal bus 304.

CPU300、メモリ301、記憶装置302、及びネットワークインタフェース303は、CPU200、メモリ201、記憶装置202、及びネットワークインタフェース203と同様のハードウェアである。 The CPU 300, the memory 301, the storage device 302, and the network interface 303 are the same hardware as the CPU 200, the memory 201, the storage device 202, and the network interface 203.

メモリ301は、サービス順序制御部211及びサービス実行部212を実現するプログラムを格納し、また、処理管理情報T100及びサービス制御システム情報T110を格納する。なお、処理管理情報T100には、サービス処理サーバ111にデプロイされたマイクロサービスに関連する情報が格納される。 The memory 301 stores a program that realizes the service order control unit 211 and the service execution unit 212, and also stores the processing management information T100 and the service control system information T110. The processing management information T100 stores information related to the microservice deployed on the service processing server 111.

図4は、実施例1の処理管理情報T100のデータ構造の一例を示す図である。 FIG. 4 is a diagram showing an example of the data structure of the processing management information T100 of the first embodiment.

処理管理情報T100は、処理順番C101、処理名C102、配置変更フラグC103、処理システム情報C104、及び変更処理システム情報C105から構成されるエントリを含む。一つのエントリが一つのマイクロサービスに対応する。 The processing management information T100 includes an entry composed of a processing order C101, a processing name C102, an arrangement change flag C103, a processing system information C104, and a change processing system information C105. One entry corresponds to one microservice.

処理順番C101は、マイクロサービスの実行順番を格納するフィールドである。処理名C102は、マイクロサービスの名称を格納するフィールドである。処理名C102は、マイクロサービスの名称の代わりに、マイクロサービスに付与されたID等を格納してもよい。 The processing order C101 is a field for storing the execution order of the microservices. The process name C102 is a field for storing the name of the microservice. The process name C102 may store an ID or the like assigned to the microservice instead of the name of the microservice.

配置変更フラグC103は、マイクロサービスのデプロイ先となる処理システムを変更できるか否かを示すフラグを格納するフィールドである。配置変更フラグC103には、マイクロサービスのデプロイ先となる処理システムを変更できることを示す「可」又はマイクロサービスのデプロイ先となる処理システムを変更できないことを示す「否」のいずれかが格納される。 The placement change flag C103 is a field for storing a flag indicating whether or not the processing system to which the microservice is deployed can be changed. The placement change flag C103 stores either "OK" indicating that the processing system to which the microservice is deployed can be changed or "No" indicating that the processing system to which the microservice is deployed cannot be changed. ..

処理システム情報C104は、マイクロサービスのデフォルトのデプロイ先となる処理システムへアクセスするための情報を格納するフィールドである。例えば、各サーバがhttpプロトコルに基づいてリクエスト及び応答を送受信する場合、処理システム情報C104にはURLが格納される。 The processing system information C104 is a field for storing information for accessing the processing system to be the default deployment destination of the microservice. For example, when each server sends and receives a request and a response based on the http protocol, the URL is stored in the processing system information C104.

変更処理システム情報C105は、サービス順序制御部211によって変更されたマイクロサービスのデプロイ先となる処理システムへアクセスするための情報を格納するフィールドである。なお、処理システムが変更されていないマイクロサービスに対応するエントリの変更処理システム情報C105は空欄となる。 The change processing system information C105 is a field for storing information for accessing the processing system to which the microservice changed by the service order control unit 211 is deployed. The change processing system information C105 of the entry corresponding to the microservice whose processing system has not been changed is blank.

処理名C102、配置変更フラグC103、処理システム情報C104に格納される値は、マイクロサービスを定義するソースコード又はマイクロサービスの実行ファイルのメタデータに含まれる。処理順番C101は、開発基盤120から実行基盤121へマイクロサービスがデプロイ(コンパイル)されるときに決定される。なお、変更処理システム情報C105は、サービス順序制御部211の処理結果に基づいて更新される。 The values stored in the process name C102, the arrangement change flag C103, and the processing system information C104 are included in the metadata of the source code defining the microservice or the execution file of the microservice. The processing order C101 is determined when the microservice is deployed (compiled) from the development base 120 to the execution base 121. The change processing system information C105 is updated based on the processing result of the service order control unit 211.

なお、開発基盤120において独自のマイクロサービス(ノード)が開発された場合、当該マイクロサービスは、配置変更フラグC103が「否」に設定される。このとき、変更処理システム情報C105には、デプロイ先となるサーバがマイクロサービスを開発した基盤サーバ110であることを示す「Local Node」が格納されてもよい。 When a unique microservice (node) is developed on the development platform 120, the arrangement change flag C103 is set to "No" for the microservice. At this time, the change processing system information C105 may store a "Local Node" indicating that the server to be deployed is the base server 110 that developed the microservice.

図5は、実施例1のサービス制御システム情報T110のデータ構造の一例を示す図である。 FIG. 5 is a diagram showing an example of the data structure of the service control system information T110 of the first embodiment.

サービス制御システム情報T110は、サービス順序制御部情報C111及びオフロードフラグC112から構成されるエントリを含む。一つのエントリが一つのサーバに含まれるサービス順序制御部211に対応する。 The service control system information T110 includes an entry composed of the service order control unit information C111 and the offload flag C112. One entry corresponds to the service sequence control unit 211 included in one server.

サービス順序制御部情報C111は、マイクロサービスの実行順番を制御するサービス順序制御部211を示す情報を格納するフィールドである。サービス順序制御部情報C111には、例えば、サーバを示すURLのドメイン名の後に「Control」等の制御名を付与した値が格納される。 The service order control unit information C111 is a field for storing information indicating the service order control unit 211 that controls the execution order of the microservices. In the service order control unit information C111, for example, a value in which a control name such as "Control" is added after the domain name of the URL indicating the server is stored.

オフロードフラグC112は、サービス順序制御部情報C111に対応する処理システムにデプロイされた全てのマイクロサービスが完了した後に、最後に実行したマイクロサービスの次のマイクロサービスがデプロイされた処理システムに処理要求を送信するか否かを示すフラグを格納するフィールドである。本明細書では、前述した処理をオフロード処理と記載する。オフロードフラグC112には、オフロード処理を許可することを示す「可」又はオフロード処理を許可しないことを示す「否」のいずれかが格納される。 The offload flag C112 requests processing from the processing system to which the next microservice of the last executed microservice is deployed after all the microservices deployed in the processing system corresponding to the service order control unit information C111 are completed. This field stores a flag indicating whether or not to send. In the present specification, the above-mentioned processing is referred to as an offload processing. The offload flag C112 stores either "OK" indicating that the offload processing is permitted or "No" indicating that the offload processing is not permitted.

なお、サービス制御システム情報T110を用いた処理の詳細は実施例4で説明する。 The details of the processing using the service control system information T110 will be described in the fourth embodiment.

図6は、実施例1の開発基盤処理部210が提供するGUIの一例を示す図である。 FIG. 6 is a diagram showing an example of the GUI provided by the development infrastructure processing unit 210 of the first embodiment.

開発基盤処理部210は、サービスを開発する場合に、図6に示すようなGUI600をユーザに対して表示する。GUI600は、パレット610、ワークスペース620、コンソール630、及びデプロイボタン640から構成される。 When developing a service, the development infrastructure processing unit 210 displays the GUI 600 as shown in FIG. 6 to the user. The GUI 600 is composed of a palette 610, a workspace 620, a console 630, and a deploy button 640.

パレット610は、マイクロサービスを表示する欄である。パレット610には、マイクロサービスを表すアイコンが表示される。ワークスペース620は、サービスを実現するマイクロサービスのフローを構成するための欄である。コンソール630は、マイクロサービスの処理結果の出力及びデフォルトのサーバの情報等の属性を設定し、また表示する欄である。デプロイボタン640は、ワークスペース620を用いて設定されたマイクロサービスのフローをデプロイするための操作ボタンである。 The pallet 610 is a column for displaying microservices. An icon representing a microservice is displayed on the pallet 610. Workspace 620 is a column for configuring a flow of microservices that realize services. The console 630 is a column for setting and displaying attributes such as output of microservice processing results and default server information. The deploy button 640 is an operation button for deploying the flow of the microservice set by using the workspace 620.

ユーザは、パレット610からワークスペース620にマイクロサービス処理をドラッグアンドドロップする。また、ユーザは、ワークスペース620に配置されたマイクロサービスを接続し、サービスを提供するためのフローを生成する。また、ユーザは、必要に応じてコンソール630を用いて、マイクロサービスの属性の確認及び設定を行う。ユーザは、必要な設定を行った後、デプロイボタン640を操作する。 The user drags and drops the microservices process from palette 610 to workspace 620. In addition, the user connects the microservices arranged in the workspace 620 and generates a flow for providing the service. In addition, the user confirms and sets the attributes of the microservice using the console 630 as necessary. The user operates the deploy button 640 after making the necessary settings.

例えば、ユーザがデプロイボタン640を操作した場合、ワークスペース620に設定されたフローの情報及びコンソール630を用いて設定された情報がメタデータとして付与された実行ファイルが生成される。また、コンソール630の設定に基づいてサービス制御システム情報T110が生成される。 For example, when the user operates the deploy button 640, an executable file to which the flow information set in the workspace 620 and the information set using the console 630 are added as metadata is generated. Further, the service control system information T110 is generated based on the setting of the console 630.

図7は、実施例1の基盤サーバ110が実行する処理を説明するフローチャートである。ユーザによってデプロイボタン640が操作された場合、以下で説明する処理が実行される。 FIG. 7 is a flowchart illustrating a process executed by the base server 110 of the first embodiment. When the deploy button 640 is operated by the user, the process described below is executed.

まず、基盤サーバ110は、マイクロサービス配置最適化処理を実行する(ステップS101)。マイクロサービス配置最適化処理の詳細は図8を用いて説明する。 First, the base server 110 executes the microservice arrangement optimization process (step S101). The details of the microservice arrangement optimization process will be described with reference to FIG.

次に、基盤サーバ110は、マイクロサービスのデプロイ先となる処理システムにマイクロサービス配置最適化処理の結果を通知する(ステップS103)。例えば、基盤サーバ110のサービス順序制御部211が、処理管理情報T100からデプロイするマイクロサービスに対応するエントリを、処理システムに含まれる基盤サーバ110又はサービス処理サーバ111に通知する。この場合、サービス処理サーバ111は、メモリ301に当該エントリを含む処理管理情報T100を生成する。 Next, the base server 110 notifies the processing system to which the microservice is deployed the result of the microservice placement optimization process (step S103). For example, the service order control unit 211 of the base server 110 notifies the base server 110 or the service processing server 111 included in the processing system of the entry corresponding to the microservice deployed from the processing management information T100. In this case, the service processing server 111 generates the processing management information T100 including the entry in the memory 301.

次に、基盤サーバ110は、処理システムにマイクロサービスをデプロイする(ステップS105)。 Next, the base server 110 deploys the microservice to the processing system (step S105).

図8は、実施例1の基盤サーバ110が実行するマイクロサービス配置最適化処理を説明するフローチャートである。この最適化処理では、各処理について処理を行う処理システムが変更可能か調査し、処理順番が隣接する処理について同じ処理システムで処理するように最適化する処理である。 FIG. 8 is a flowchart illustrating a microservice arrangement optimization process executed by the base server 110 of the first embodiment. In this optimization process, it is investigated whether the processing system that performs the processing for each processing can be changed, and the processing that is adjacent in the processing order is optimized to be processed by the same processing system.

サービス順序制御部211は、開発基盤処理部210によってノードがコンパイルされ、ノードの実行ファイルを生成された場合、処理管理情報T100を生成する(ステップS201)。具体的には、以下のような処理が実行される。 When the node is compiled by the development infrastructure processing unit 210 and the execution file of the node is generated, the service order control unit 211 generates the processing management information T100 (step S201). Specifically, the following processing is executed.

サービス順序制御部211は、処理管理情報T100にワークスペース620に配置されたマイクロサービスの数だけエントリを生成する。また、開発基盤処理部210は、マイクロサービスの実行ファイルのメタデータから値を取得し、エントリの処理名C102、配置変更フラグC103、及び処理システム情報C104に取得した値を設定する。これらのメタデータは、ノードのプロパティなどの設定情報に記述されている。さらに、開発基盤処理部210は、メタデータに基づいて、各エントリの処理順番C101に実行順番を設定する。このとき、サービス順序制御部211は、実行順番に基づいて、処理管理情報T100のエントリをソートする。 The service order control unit 211 generates entries in the processing management information T100 for the number of microservices arranged in the workspace 620. Further, the development infrastructure processing unit 210 acquires a value from the metadata of the execution file of the microservice, and sets the acquired value in the entry processing name C102, the arrangement change flag C103, and the processing system information C104. These metadata are described in setting information such as node properties. Further, the development infrastructure processing unit 210 sets the execution order in the processing order C101 of each entry based on the metadata. At this time, the service order control unit 211 sorts the entries of the processing management information T100 based on the execution order.

また、サービス順序制御部211は、変数N及び変数Mを初期化する。具体的には、サービス順序制御部211は、変数Nに「1」を設定し、変数Mに「0」を設定する。変数Nは処理中のマイクロサービスを特定するために用いられ、変数Mは比較するマイクロサービスを特定するために用いられる。 Further, the service order control unit 211 initializes the variable N and the variable M. Specifically, the service order control unit 211 sets the variable N to "1" and the variable M to "0". The variable N is used to identify the microservices being processed, and the variable M is used to identify the microservices to be compared.

次に、サービス順序制御部211は、ターゲットマイクロサービスを選択する(ステップS203)。 Next, the service order control unit 211 selects the target microservice (step S203).

具体的には、サービス順序制御部211は、処理管理情報T100から処理順番C101が変数Nに一致するエントリを選択する。 Specifically, the service order control unit 211 selects an entry in which the processing order C101 matches the variable N from the processing management information T100.

次に、サービス順序制御部211は、ターゲットマイクロサービスに対応するエントリの配置変更フラグC103が「可」であるか否かを判定する(ステップS205)。 Next, the service order control unit 211 determines whether or not the arrangement change flag C103 of the entry corresponding to the target microservice is “possible” (step S205).

ターゲットマイクロサービスに対応するエントリの配置変更フラグC103が「可」と判定された場合、サービス順序制御部211は、ステップS213に進む。 When the arrangement change flag C103 of the entry corresponding to the target microservice is determined to be “OK”, the service order control unit 211 proceeds to step S213.

ステップS205において、ターゲットマイクロサービスに対応するエントリの配置変更フラグC103が「可」でないと判定された場合、サービス順序制御部211は、変数Mが0であるか否かを判定する(ステップS207)。 If it is determined in step S205 that the placement change flag C103 of the entry corresponding to the target microservice is not "possible", the service order control unit 211 determines whether or not the variable M is 0 (step S207). ..

変数Mが0であると判定された場合、サービス順序制御部211は、ステップS211に進む。 If it is determined that the variable M is 0, the service order control unit 211 proceeds to step S211.

変数Mが0でないと判定された場合、サービス順序制御部211は、処理管理情報T100の変数Mに一致するエントリから変数N-1に一致するエントリの間のマイクロサービスの処理システムを同一システムへ変更する(ステップS209)。その後、サービス順序制御部211は、ステップS211に進む。 When it is determined that the variable M is not 0, the service order control unit 211 transfers the microservice processing system between the entry matching the variable M of the processing management information T100 to the entry matching the variable N-1 to the same system. Change (step S209). After that, the service order control unit 211 proceeds to step S211.

具体的には、サービス順序制御部211は、処理順番C101がMであるエントリと処理順番C101がNであるエントリとの間に存在する全てのエントリの変更処理システム情報C105に、M番目のエントリの処理システム情報C104の値を設定する。 Specifically, the service order control unit 211 has the Mth entry in the change processing system information C105 of all the entries existing between the entry in which the processing order C101 is M and the entry in which the processing order C101 is N. Set the value of the processing system information C104 of.

また、エントリがMであるエントリの処理システムC104に変更してもよいし、エントリがN-1であるエントリの処理システムC104に変更してもよいし、その間にあったエントリの処理システムC104に変更してもよい。 Further, it may be changed to the entry processing system C104 whose entry is M, the entry processing system C104 whose entry is N-1, or the entry processing system C104 which is in between. You may.

前述の処理手順に基づいて、マイクロサービスを実行する処理システムを変更することによって、マイクロサービスの実行に伴う処理システム間の通信を削減できる。例えば、Nが7かつMが5の場合、処理順番C101が6であるエントリに対応するマイクロサービスを実行する処理システムが変更される。以上が、ステップS209の処理の説明である。 By changing the processing system that executes the microservice based on the above-mentioned processing procedure, it is possible to reduce the communication between the processing systems associated with the execution of the microservice. For example, when N is 7 and M is 5, the processing system that executes the microservice corresponding to the entry whose processing order C101 is 6 is changed. The above is the description of the process of step S209.

サービス順序制御部211は、変数Mを変数Nで更新する(ステップS211)。その後、サービス順序制御部211は、ステップS213に進む。 The service order control unit 211 updates the variable M with the variable N (step S211). After that, the service order control unit 211 proceeds to step S213.

ステップS213では、サービス順序制御部211は、全てのマイクロサービスが選択されたか否かを判定する(ステップS213)。 In step S213, the service order control unit 211 determines whether or not all the microservices have been selected (step S213).

全てのマイクロサービスが選択されていないと判定された場合、サービス順序制御部211は、変数Nに1を加算した値を変数Nに設定し(ステップS219)、その後、ステップS203に戻る。 When it is determined that all the microservices are not selected, the service order control unit 211 sets the value obtained by adding 1 to the variable N in the variable N (step S219), and then returns to the step S203.

全てのマイクロサービスが選択されたと判定された場合、サービス順序制御部211は、ステップS215へ進む。 If it is determined that all the microservices have been selected, the service order control unit 211 proceeds to step S215.

サービス順序制御部211は、MがNより小さいかを判定する(ステップS215)。MがNより小さくなかった場合、サービス順序制御部211は、マイクロサービス配置最適化処理を終了する。 The service order control unit 211 determines whether M is smaller than N (step S215). If M is not less than N, the service order control unit 211 ends the microservice placement optimization process.

MがNより小さかった場合、サービス順序制御部211は、S209と同様の処理をMからNまでの間で実施する(ステップ217)。その後、マイクロサービス配置最適化処理を終了する。 When M is smaller than N, the service order control unit 211 performs the same processing as in S209 between M and N (step 217). After that, the microservice placement optimization process is terminated.

以上の処理によって、デプロイ先の処理システム及びデプロイするマイクロサービスの組合せが決定され、同じ処理システムで実行される二つ以上のマイクロサービスを同じ処理システムで実行されるようにして、通信処理を軽減させることができる。 By the above processing, the combination of the processing system to be deployed and the microservice to be deployed is determined, and two or more microservices executed in the same processing system are executed in the same processing system to reduce the communication processing. Can be made to.

図9は、実施例1のサービス処理サーバ111が、受信したマイクロサービス最適配置情報を受信した場合に、マイクロサービス(実行ファイル)をサービス処理サーバにデプロイする処理を説明するフローチャートである。特に、本処理は、マイクロサービスが、同一のデータセンタ内の異なる複数のサーバで実行される場合に、同一のデータセンタ内でのマイクロサービス最適配置処理を実行する。 FIG. 9 is a flowchart illustrating a process of deploying a microservice (executable file) to the service processing server when the service processing server 111 of the first embodiment receives the received microservice optimum arrangement information. In particular, this process executes the microservice optimal placement process in the same data center when the microservice is executed in a plurality of different servers in the same data center.

サービス処理サーバ111のサービス順序制御部211は、開発基盤サーバ110のサービス順序制御部211が作成したマイクロサービス最適配置処理を受信する(ステップS301)。 The service order control unit 211 of the service processing server 111 receives the microservice optimum placement process created by the service order control unit 211 of the development platform server 110 (step S301).

サービス処理サーバ111のサービス順序制御部211は、デプロイされたマイクロサービスが、同一データセンタ内の複数のサーバで実行されるか否かを判定する(ステップS303)。 The service order control unit 211 of the service processing server 111 determines whether or not the deployed microservice is executed by a plurality of servers in the same data center (step S303).

例えば、サービス順序制御部211は、処理管理情報T100に複数のエントリが存在するか否かを判定する。また、サービス順序制御部211は、デプロイされたマイクロサービスの数をカウントし、マイクロサービスの数が二以上であるか否かを判定する。 For example, the service order control unit 211 determines whether or not a plurality of entries exist in the processing management information T100. Further, the service order control unit 211 counts the number of deployed microservices and determines whether or not the number of microservices is two or more.

デプロイされたマイクロサービスが一つであると判定された場合、サービス順序制御部211は、マイクロサービスをデプロイするサービス処理サーバ111を決定し、決定されたサービス処理サーバ111にマイクロサービスをデプロイする(ステップS307)。なお、本発明は、マイクロサービスをデプロイするサービス処理サーバ111の決定方法に限定されない。その後、サービス順序制御部211は、処理を終了する。 If it is determined that there is only one deployed microservice, the service order control unit 211 determines the service processing server 111 to deploy the microservice, and deploys the microservice to the determined service processing server 111 (. Step S307). The present invention is not limited to the method of determining the service processing server 111 for deploying the microservice. After that, the service order control unit 211 ends the process.

ステップS303において、同一データセンタ内で実行されるマイクロサービスが複数であると判定された場合、サービス順序制御部211は、マイクロサービス配置最適化処理を実行する(ステップS305)。マイクロサービス配置最適化処理は、ステップS203からステップS223までの処理と同様の処理である。ただし、デプロイ先がサーバである点が異なる。 If it is determined in step S303 that there are a plurality of microservices executed in the same data center, the service order control unit 211 executes the microservice arrangement optimization process (step S305). The microservice arrangement optimization process is the same process as the process from step S203 to step S223. However, the difference is that the deployment destination is the server.

次に、サービス順序制御部211は、マイクロサービス配置最適化処理の処理結果に基づいて、決定されたサービス処理サーバ111にマイクロサービスをデプロイする(ステップS307)。その後、サービス順序制御部211は、処理を終了する。 Next, the service order control unit 211 deploys the microservice to the determined service processing server 111 based on the processing result of the microservice arrangement optimization processing (step S307). After that, the service order control unit 211 ends the process.

図10は、実施例1の基盤サーバ110がサービスの提供時に実行する処理を説明するフローチャートである。 FIG. 10 is a flowchart illustrating a process executed by the base server 110 of the first embodiment when providing a service.

基盤サーバ110のサービス順序制御部211は、サービスの実行契機を検出した場合、以下で説明する処理を開始する。サービスの実行契機としては、ユーザ等からサービスの実行要求の受け付け、及び一定時間の経過等が考えられる。 When the service sequence control unit 211 of the base server 110 detects the execution trigger of the service, the service sequence control unit 211 starts the process described below. As a service execution trigger, it is conceivable that a service execution request is received from a user or the like, and that a certain period of time has elapsed.

基盤サーバ110のサービス順序制御部211は、処理管理情報T100の処理システム情報C104及び変更処理システム情報C105を参照して、処理要求を送信する処理システムの順番を決定する(ステップS401)。このとき、処理要求を送信する処理システムの順番を表す変数iに初期値「1」を設定する。 The service order control unit 211 of the base server 110 refers to the processing system information C104 and the change processing system information C105 of the processing management information T100 to determine the order of the processing systems for transmitting the processing requests (step S401). At this time, the initial value "1" is set in the variable i representing the order of the processing system for transmitting the processing request.

次に、基盤サーバ110のサービス順序制御部211は、i番目の処理システムに第一処理要求を送信する(ステップS403)。 Next, the service order control unit 211 of the base server 110 transmits the first processing request to the i-th processing system (step S403).

具体的には、基盤サーバ110のサービス順序制御部211は、入力パラメータ及びマイクロサービスの実行順番を含む第一処理要求をi番目の処理システムに送信する。第一処理要求を受信した処理システムのサービス実行部212は、処理要求にしたがって、デプロイされたマイクロサービスを実行する。 Specifically, the service order control unit 211 of the base server 110 transmits the first processing request including the input parameters and the execution order of the microservices to the i-th processing system. The service execution unit 212 of the processing system that has received the first processing request executes the deployed microservice according to the processing request.

なお、i番目の処理システムにデプロイされているマイクロサービスが一つである場合、基盤サーバ110のサービス順序制御部211は、当該処理システムに第二処理要求を送信する。第二処理要求には入力パラメータが含まれるが、マイクロサービスの実行順番は含まれない。 When one microservice is deployed in the i-th processing system, the service order control unit 211 of the base server 110 transmits a second processing request to the processing system. The second processing request includes input parameters, but does not include the execution order of microservices.

処理要求は、例えば、XML形式又はJSON形式のデータとして送信されてもよいし、また、HTTP通信のパラメータとして送信されてもよい。 The processing request may be transmitted as data in XML format or JSON format, for example, or may be transmitted as a parameter of HTTP communication.

なお、分散処理を実行する場合には以下のような処理が実行される。XML形式又はJSON形式のデータとして処理要求を受信した場合、サービス実行部212は、当該データをマイクロサービスの設定ファイルとして登録し、指定された順番でマイクロサービスを実行する。HTTP通信のパラメータとして処理要求を受信した場合、サービス実行部212は、パラメータをXML形式又はJSON形式のデータに変換し、当該データをマイクロサービスの設定ファイルとして登録し、指定された順番でマイクロサービスを実行する。 When executing the distributed processing, the following processing is executed. When the processing request is received as XML format or JSON format data, the service execution unit 212 registers the data as a microservice setting file and executes the microservices in the designated order. When a processing request is received as a parameter of HTTP communication, the service execution unit 212 converts the parameter into XML format or JSON format data, registers the data as a microservice setting file, and microservices in the specified order. To execute.

次に、基盤サーバ110のサービス順序制御部211は、第一処理要求を送信した処理システムのサービス実行部212から処理結果を受信する(ステップS405)。 Next, the service order control unit 211 of the base server 110 receives the processing result from the service execution unit 212 of the processing system that has transmitted the first processing request (step S405).

次に、基盤サーバ110のサービス順序制御部211は、全てのマイクロサービスが実行されたか否かを判定する(ステップS407)。 Next, the service order control unit 211 of the base server 110 determines whether or not all the microservices have been executed (step S407).

全てのマイクロサービスが実行されていないと判定された場合、基盤サーバ110のサービス順序制御部211は、変数iに1を加算し(ステップS409)、ステップS403に戻り、同様の処理を実行する。 If it is determined that all the microservices have not been executed, the service order control unit 211 of the base server 110 adds 1 to the variable i (step S409), returns to step S403, and executes the same process.

全てのマイクロサービスが実行されたと判定された場合、基盤サーバ110のサービス順序制御部211は、一連のマイクロサービスの処理結果から得られる応答を出力し(ステップS411)、処理を終了する。 When it is determined that all the microservices have been executed, the service order control unit 211 of the base server 110 outputs a response obtained from the processing results of the series of microservices (step S411), and ends the processing.

ここで、図1に示すようにマイクロサービスがデプロイされた場合における図10の処理の具体例について説明する。 Here, a specific example of the processing of FIG. 10 when the microservice is deployed as shown in FIG. 1 will be described.

(1)まず、基盤サーバ110は、ユーザから入力Aを含むサービスの実行要求を受信する。基盤サーバ110のサービス順序制御部211は、基盤システム100、データセンタ101-1、データセンタ101-2の順に処理要求を送信することを決定する。基盤サーバ110のサービス順序制御部211は、基盤システム100に第一処理要求を送信する。基盤サーバ110のサービス実行部212は、処理A160を実行し、処理結果として出力Aを出力する。基盤サーバ110のサービス実行部212は、基盤サーバ110のサービス順序制御部211に出力Aを送信する。 (1) First, the base server 110 receives a service execution request including the input A from the user. The service order control unit 211 of the infrastructure server 110 determines to transmit processing requests in the order of the infrastructure system 100, the data center 101-1, and the data center 101-2. The service order control unit 211 of the board server 110 transmits a first processing request to the board system 100. The service execution unit 212 of the base server 110 executes the process A160 and outputs the output A as the process result. The service execution unit 212 of the base server 110 transmits the output A to the service order control unit 211 of the base server 110.

(2)基盤サーバ110のサービス順序制御部211は、出力A及びマイクロサービス(処理B161、処理C162、処理D163)の実行順番を含む第一処理要求をデータセンタ101-1に送信する。 (2) The service order control unit 211 of the base server 110 transmits the first processing request including the execution order of the output A and the microservices (processing B161, processing C162, processing D163) to the data center 101-1.

(3)サービス処理サーバ111-1のサービス実行部212は、出力Aに基づいて処理B161を実行して出力Bを出力し、出力Bに基づいて処理C162を実行して出力Cを出力し、出力Cに基づいて処理D163を実行して出力Dを出力する。サービス処理サーバ111-1は、基盤サーバ110のサービス順序制御部211に出力Dを送信する。 (3) The service execution unit 212 of the service processing server 111-1 executes the process B161 based on the output A to output the output B, executes the process C162 based on the output B, and outputs the output C. The process D163 is executed based on the output C, and the output D is output. The service processing server 111-1 transmits the output D to the service order control unit 211 of the base server 110.

(4)基盤サーバ110のサービス順序制御部211は、出力D及びマイクロサービス(処理E164、処理F165、処理Z166)の順番を含む第一処理要求をデータセンタ101-2に送信する。 (4) The service order control unit 211 of the base server 110 transmits a first processing request including the order of the output D and the microservices (processing E164, processing F165, processing Z166) to the data center 101-2.

(5)サービス処理サーバ111-2のサービス実行部212は、出力Dに基づいて処理E164を実行して出力Eを出力し、出力Eに基づいて処理F165を実行して出力Fを出力し、出力Fに基づいて処理Z166を実行して出力Zを出力する。サービス処理サーバ111-2のサービス実行部212は、基盤サーバ110のサービス順序制御部211に出力Zを送信する。 (5) The service execution unit 212 of the service processing server 111-2 executes the process E164 based on the output D to output the output E, executes the process F165 based on the output E, and outputs the output F. Processing Z166 is executed based on the output F, and the output Z is output. The service execution unit 212 of the service processing server 111-2 transmits the output Z to the service order control unit 211 of the base server 110.

(6)基盤サーバ110のサービス順序制御部211は、ユーザに応答として出力Zを出力する。 (6) The service order control unit 211 of the board server 110 outputs the output Z as a response to the user.

実施例1によれば、サービスを統括するサーバ(基盤サーバ110)は、マイクロサービスが配置された処理システム間(サーバ間)のデータの送受信が頻繁に行われないようにマイクロサービスのデプロイ先となる処理システムを決定する。また、サービスを統括するサーバ(基盤サーバ110)は、サービスの実行時に、実行順番を含む処理要求を処理システムに送信する。これによって、サービスの実行に伴う処理システム間のデータの送受信が削減されるため、実行速度の低下及び通信リソースの消費量の増大の問題を改善することができる。 According to the first embodiment, the server (base server 110) that controls the service is the deployment destination of the microservice so that the data is not frequently transmitted and received between the processing systems (between the servers) in which the microservice is arranged. Determine the processing system. Further, the server that controls the service (base server 110) transmits a processing request including the execution order to the processing system when the service is executed. As a result, the transmission and reception of data between the processing systems associated with the execution of the service is reduced, so that the problems of the decrease in execution speed and the increase in the consumption of communication resources can be improved.

実施例1では、サービスを構成する全てのマイクロサービスに対してマイクロサービス配置最適化処理が実行される。実施例2では、サービスを構成するマイクロサービスのうち、一部のマイクロサービスに対してマイクロサービス配置最適化処理が実行される。それを実現するために、マイクロサービス配置最適化処理を適用するマイクロサービスを限定する。以下、実施例1との差異を中心に実施例2について説明する。 In the first embodiment, the microservice placement optimization process is executed for all the microservices constituting the service. In the second embodiment, the microservice placement optimization process is executed for some of the microservices constituting the service. To achieve this, limit the microservices to which the microservice placement optimization process is applied. Hereinafter, Example 2 will be described with a focus on the differences from Example 1.

実施例2の計算機システムの構成は、実施例1と同一である。実施例2の基盤サーバ110及びサービス処理サーバ111の構成は、実施例1と同一である。また、実施例2の基盤サーバ110及びサービス処理サーバ111が保持する情報のデータ構造は、実施例1と同一である。 The configuration of the computer system of the second embodiment is the same as that of the first embodiment. The configuration of the base server 110 and the service processing server 111 of the second embodiment is the same as that of the first embodiment. Further, the data structure of the information held by the infrastructure server 110 and the service processing server 111 of the second embodiment is the same as that of the first embodiment.

実施例2では、開発基盤120において提供されるマイクロサービスが一部異なる。図11は、実施例2の開発基盤処理部210が提供するGUIの一例を示す図である。 In the second embodiment, the microservices provided in the development platform 120 are partially different. FIG. 11 is a diagram showing an example of a GUI provided by the development infrastructure processing unit 210 of the second embodiment.

実施例2のGUI600のパレット610には、マイクロサービス配置最適化処理を適用する範囲を示すために、一括処理開始ノード157及び一括処理終了ノード158が表示される。一括処理開始ノード157はマイクロサービス配置最適化処理の始点を示すノード(マイクロサービス)であり、一括処理終了ノード158はマイクロサービス配置最適化処理の終点を示すノード(マイクロサービス)である。一括処理開始ノード157及び一括処理終了ノード158は、基盤サーバ110に配置されるものとする。 The batch process start node 157 and the batch process end node 158 are displayed on the palette 610 of the GUI 600 of the second embodiment in order to indicate the range to which the microservice arrangement optimization process is applied. The batch processing start node 157 is a node (microservice) indicating the start point of the microservice placement optimization processing, and the batch processing end node 158 is a node (microservice) indicating the end point of the microservice placement optimization processing. It is assumed that the batch processing start node 157 and the batch processing end node 158 are arranged on the base server 110.

図11に示す例では、処理B151から処理F155がマイクロサービス配置最適化処理の対象となる。 In the example shown in FIG. 11, the processes B151 to F155 are the targets of the microservice arrangement optimization process.

図12A及び図12Bは、実施例2の基盤サーバ110が実行するマイクロサービス配置最適化処理を説明するフローチャートである。 12A and 12B are flowcharts illustrating the microservice arrangement optimization process executed by the base server 110 of the second embodiment.

基盤サーバ110のサービス順序制御部211は、ステップS203の処理の後に、ターゲットマイクロサービスに対応するノードが一括処理開始ノード157であるか否かを判定する(ステップS251)。 After the processing in step S203, the service order control unit 211 of the base server 110 determines whether or not the node corresponding to the target microservice is the batch processing start node 157 (step S251).

ターゲットマイクロサービスに対応するノードが一括処理開始ノード157であると判定された場合、基盤サーバ110のサービス順序制御部211は、一括処理フラグを「ON」に設定する(ステップS253)。その後、基盤サーバ110のサービス順序制御部211は、ステップS259に進む。 When it is determined that the node corresponding to the target microservice is the batch processing start node 157, the service order control unit 211 of the base server 110 sets the batch processing flag to “ON” (step S253). After that, the service order control unit 211 of the board server 110 proceeds to step S259.

ターゲットマイクロサービスに対応するノードが一括処理開始ノード157でないと判定された場合、基盤サーバ110のサービス順序制御部211は、当該ノードが一括処理終了ノード158であるか否かを判定する(ステップS255)。 When it is determined that the node corresponding to the target microservice is not the batch processing start node 157, the service order control unit 211 of the base server 110 determines whether or not the node is the batch processing end node 158 (step S255). ).

ターゲットマイクロサービスに対応するノードが一括処理終了ノード158であると判定された場合、基盤サーバ110のサービス順序制御部211は、一括処理フラグを「OFF」に設定する(ステップS257)。その後、基盤サーバ110のサービス順序制御部211は、ステップS259に進む。 When it is determined that the node corresponding to the target microservice is the batch processing end node 158, the service order control unit 211 of the base server 110 sets the batch processing flag to "OFF" (step S257). After that, the service order control unit 211 of the board server 110 proceeds to step S259.

ターゲットマイクロサービスに対応するノードが一括処理終了ノード158でないと判定された場合、基盤サーバ110のサービス順序制御部211は、ステップS259に進む。 If it is determined that the node corresponding to the target microservice is not the batch processing end node 158, the service order control unit 211 of the base server 110 proceeds to step S259.

ステップS259では、基盤サーバ110のサービス順序制御部211は、一括処理フラグが「ON」であるか否かを判定する(ステップS259)。 In step S259, the service order control unit 211 of the base server 110 determines whether or not the batch processing flag is “ON” (step S259).

一括処理フラグが「ON」であると判定された場合、基盤サーバ110のサービス順序制御部211は、ステップS205に進む。 If it is determined that the batch processing flag is "ON", the service order control unit 211 of the base server 110 proceeds to step S205.

一括処理フラグが「OFF」であると判定された場合、基盤サーバ110のサービス順序制御部211は、ステップS213に進む。 If it is determined that the batch processing flag is "OFF", the service order control unit 211 of the base server 110 proceeds to step S213.

図13は、実施例2の基盤サーバ110がサービスの提供時に実行する処理を説明するフローチャートである。 FIG. 13 is a flowchart illustrating a process executed by the base server 110 of the second embodiment when the service is provided.

基盤サーバ110のサービス順序制御部211は、ステップS401の処理の後に、i番目の処理システムが実行するマイクロサービスが一括処理開始ノード157であるか否かを判定する(ステップS421)。 After the processing in step S401, the service order control unit 211 of the base server 110 determines whether or not the microservice executed by the i-th processing system is the batch processing start node 157 (step S421).

i番目の処理システムが実行するマイクロサービスに一括処理開始ノード157であると判定された場合、基盤サーバ110のサービス順序制御部211は、一括処理フラグを「ON」に設定する(ステップS423)。その後、基盤サーバ110のサービス順序制御部211は、ステップS409に進む。 When it is determined that the microservice executed by the i-th processing system is the batch processing start node 157, the service order control unit 211 of the base server 110 sets the batch processing flag to "ON" (step S423). After that, the service order control unit 211 of the board server 110 proceeds to step S409.

i番目の処理システムが実行するマイクロサービスが一括処理開始ノード157でないと判定された場合、基盤サーバ110のサービス順序制御部211は、当該マイクロサービスが一括処理終了ノード158であるか否かを判定する(ステップS425)。 When it is determined that the microservice executed by the i-th processing system is not the batch processing start node 157, the service order control unit 211 of the base server 110 determines whether or not the microservice is the batch processing end node 158. (Step S425).

i番目の処理システムが実行するマイクロサービスが一括処理終了ノード158であると判定された場合、基盤サーバ110のサービス順序制御部211は、一括処理フラグを「OFF」に設定する(ステップS427)。その後、基盤サーバ110のサービス順序制御部211は、ステップS409に進む。 When it is determined that the microservice executed by the i-th processing system is the batch processing end node 158, the service order control unit 211 of the base server 110 sets the batch processing flag to "OFF" (step S427). After that, the service order control unit 211 of the board server 110 proceeds to step S409.

i番目の処理システムが実行するマイクロサービスが一括処理終了ノード158でないと判定された場合、基盤サーバ110のサービス順序制御部211は、一括フラグが「ON」であるか否かを判定する(ステップS429)。 When it is determined that the microservice executed by the i-th processing system is not the batch processing end node 158, the service order control unit 211 of the base server 110 determines whether or not the batch flag is "ON" (step). S429).

一括フラグが「ON」であると判定された場合、基盤サーバ110のサービス順序制御部211は、ステップS403に進む。 If it is determined that the batch flag is "ON", the service order control unit 211 of the base server 110 proceeds to step S403.

一括フラグが「OFF」であると判定された場合、基盤サーバ110のサービス順序制御部211は、i番目の処理システムに第二処理要求を送信する(ステップS431)。第二処理要求にはマイクロサービスの実行順番は含まれない。その後、基盤サーバ110のサービス順序制御部211は、ステップS405に進む。サービス実行部212は、第二処理要求を受信した場合、ノードに対応するプロセスを実行した後、処理結果を応答する。 When it is determined that the batch flag is "OFF", the service order control unit 211 of the base server 110 transmits a second processing request to the i-th processing system (step S431). The second processing request does not include the execution order of the microservices. After that, the service order control unit 211 of the board server 110 proceeds to step S405. When the service execution unit 212 receives the second processing request, the service execution unit 212 executes the process corresponding to the node and then responds with the processing result.

サービス処理サーバ111がデプロイされたマイクロサービス(実行ファイル)を受け付けた場合に実行する処理は、実施例1と同一である。 The process to be executed when the service processing server 111 receives the deployed microservice (executable file) is the same as that in the first embodiment.

実施例2によれば、実施例1と同様の効果を奏するとともに、また、サービスを統括するサーバ(基盤サーバ110)の負荷を低減できる。また、一括処理開始ノード157及び一括処理終了ノード158が異なる計算機システムで配置されていても、計算機システムを移動可能なマイクロサービスであれば、一括処理するマイクロサービスをすべて同じ計算機システムに配置して一括処理可能にしてもよい。 According to the second embodiment, the same effect as that of the first embodiment can be obtained, and the load on the server (base server 110) that controls the service can be reduced. Even if the batch processing start node 157 and the batch processing end node 158 are arranged in different computer systems, if the computer system is a movable microservice, all the microservices to be batch processed are arranged in the same computer system. It may be possible to perform batch processing.

実施例3では、処理要求の送信時の処理が異なる。以下、実施例1との差異を中心に実施例3について説明する。 In the third embodiment, the processing at the time of transmitting the processing request is different. Hereinafter, Example 3 will be described with a focus on the differences from Example 1.

実施例3の計算機システムの構成は、実施例1と同一である。実施例3の基盤サーバ110及びサービス処理サーバ111の構成は、実施例1と同一である。また、実施例3の基盤サーバ110及びサービス処理サーバ111が保持する情報のデータ構造は、実施例1と同一である。 The configuration of the computer system of the third embodiment is the same as that of the first embodiment. The configuration of the base server 110 and the service processing server 111 of the third embodiment is the same as that of the first embodiment. Further, the data structure of the information held by the infrastructure server 110 and the service processing server 111 of the third embodiment is the same as that of the first embodiment.

マイクロサービス配置最適化処理及びサービス処理サーバ111がデプロイされたノード(実行ファイル)を受け付けた場合に実行する処理は、実施例1と同一である。 The microservice allocation optimization process and the process executed when the service process server 111 accepts the deployed node (executable file) are the same as those in the first embodiment.

基盤サーバ110がサービスの提供時に実行する処理の流れは、実施例1と同一である。ただし、ステップS403の処理が異なる。 The flow of processing executed by the base server 110 when the service is provided is the same as that of the first embodiment. However, the process of step S403 is different.

図14は、実施例3の基盤サーバ110が処理要求を送信する場合に実行する処理を説明するフローチャートである。以下で説明する処理は、ステップS403において実行される処理である。 FIG. 14 is a flowchart illustrating a process to be executed when the base server 110 of the third embodiment transmits a process request. The process described below is the process executed in step S403.

基盤サーバ110のサービス順序制御部211は、マイクロサービスを解析し(ステップS501)、解析結果に基づいて、マイクロサービスに含まれる繰り返し処理の中に、他のマイクロサービスが含まれるか否かを判定する(ステップS503)。 The service order control unit 211 of the base server 110 analyzes the microservice (step S501), and determines whether or not other microservices are included in the iterative processing included in the microservice based on the analysis result. (Step S503).

例えば、サービス順序制御部211は、for文に他のマイクロサービスの実行を指示するコードが含まれるか否かを判定する。 For example, the service order control unit 211 determines whether or not the for statement contains a code instructing the execution of another microservice.

なお、マイクロサービスの解析は、マイクロサービス配置最適化処理において実行されてもよい。この場合、処理管理情報T100に繰り返し処理に関する情報を格納するフィールドを追加する。ステップS201において、基盤サーバ110のサービス順序制御部211は、当該フィールドにソースコードの解析結果を格納する。 The microservice analysis may be executed in the microservice placement optimization process. In this case, a field for storing information related to repetitive processing is added to the processing management information T100. In step S201, the service order control unit 211 of the base server 110 stores the analysis result of the source code in the field.

マイクロサービスに含まれる繰り返し処理の中に他のマイクロサービスが含まれないと判定された場合、基盤サーバ110のサービス順序制御部211は、第一処理要求をi番目の処理システムに送信する(ステップS505)。その後、基盤サーバ110のサービス順序制御部211はステップS405に進む。ステップS505の処理は、ステップS403の処理と同一である。 When it is determined that the iterative processing included in the microservice does not include other microservices, the service order control unit 211 of the base server 110 transmits the first processing request to the i-th processing system (step). S505). After that, the service order control unit 211 of the board server 110 proceeds to step S405. The process of step S505 is the same as the process of step S403.

マイクロサービスに含まれる繰り返し処理の中に他のマイクロサービスが含まれると判定された場合、基盤サーバ110のサービス順序制御部211は、繰り返し処理を非同期通信処理に変更するための情報を含む第三処理要求をi番目の処理システムに送信する(ステップS507)。その後、基盤サーバ110のサービス順序制御部211はステップS405に進む。 When it is determined that other microservices are included in the iterative processing included in the microservice, the service order control unit 211 of the base server 110 includes information for changing the iterative processing to asynchronous communication processing. The processing request is transmitted to the i-th processing system (step S507). After that, the service order control unit 211 of the board server 110 proceeds to step S405.

具体的には、基盤サーバ110のサービス順序制御部211は、入力パラメータ及びマイクロサービスの実行順番と、繰り返し処理に含まれる他のマイクロサービスの名称及び繰り返し数とを含む第三処理要求を送信する。 Specifically, the service order control unit 211 of the base server 110 transmits a third processing request including input parameters and execution order of microservices, names of other microservices included in the iterative processing, and the number of iterations. ..

サービス処理サーバ111のサービス実行部212は、当該処理要求を受信した場合、ジョブIDを発行し、基盤サーバ110のサービス順序制御部211に発行したジョブIDを応答する。その後、サービス処理サーバ111のサービス実行部212は、繰り返し処理を実行する。 When the service execution unit 212 of the service processing server 111 receives the processing request, it issues a job ID and responds with the job ID issued to the service order control unit 211 of the base server 110. After that, the service execution unit 212 of the service processing server 111 executes the iterative processing.

基盤サーバ110のサービス順序制御部211は、ジョブIDを用いて繰り返し処理の進捗状態を把握するための問合せを行う。サービス処理サーバ111のサービス実行部212は、ジョブIDに対する進捗の問合せを受信した場合、現在の進捗を示す値を応答する。 The service order control unit 211 of the base server 110 makes an inquiry to grasp the progress status of the iterative process using the job ID. When the service execution unit 212 of the service processing server 111 receives a progress inquiry for the job ID, it responds with a value indicating the current progress.

実施例3によれば、繰り返し処理によって頻繁に実行されるマイクロサービスが配置された処理システム間のデータの送受信を削減できる。 According to the third embodiment, it is possible to reduce the transmission and reception of data between the processing systems in which the microservices frequently executed by the iterative processing are arranged.

実施例4では、基盤サーバ110がサービスの提供時に実行する処理が実施例1と異なる。以下、実施例1との差異を中心に実施例4について説明する。 In the fourth embodiment, the process executed by the base server 110 when the service is provided is different from that of the first embodiment. Hereinafter, Example 4 will be described with a focus on the differences from Example 1.

実施例4の計算機システムの構成は、実施例1と同一である。実施例4の基盤サーバ110及びサービス処理サーバ111の構成は、実施例1と同一である。また、実施例4の基盤サーバ110及びサービス処理サーバ111が保持する情報のデータ構造は、実施例1と同一である。 The configuration of the computer system of the fourth embodiment is the same as that of the first embodiment. The configuration of the base server 110 and the service processing server 111 of the fourth embodiment is the same as that of the first embodiment. Further, the data structure of the information held by the infrastructure server 110 and the service processing server 111 of the fourth embodiment is the same as that of the first embodiment.

マイクロサービス配置最適化処理及びサービス処理サーバ111がデプロイされたマイクロサービス(実行ファイル)を受け付けた場合に実行する処理は、実施例1と同一である。 The microservice allocation optimization process and the process executed when the service processing server 111 receives the deployed microservice (executable file) are the same as those in the first embodiment.

図15は、実施例4の基盤サーバ110がサービスの提供時に実行する処理を説明するフローチャートである。 FIG. 15 is a flowchart illustrating a process executed by the base server 110 of the fourth embodiment when providing a service.

基盤サーバ110のサービス順序制御部211は、ステップS401の処理の後、サービス制御システム情報T110を参照して、i番目の処理システムに対応するエントリのオフロードフラグC112が「可」であるか否かを判定する(ステップS441)。 After the processing in step S401, the service order control unit 211 of the base server 110 refers to the service control system information T110 and determines whether the offload flag C112 of the entry corresponding to the i-th processing system is "possible". (Step S441).

i番目の処理システムに対応するエントリのオフロードフラグC112が「可」でないと判定された場合、基盤サーバ110のサービス順序制御部211は、ステップS403に進む。 If it is determined that the offload flag C112 of the entry corresponding to the i-th processing system is not "OK", the service order control unit 211 of the base server 110 proceeds to step S403.

i番目の処理システムに対応するエントリのオフロードフラグC112が「可」であると判定された場合、基盤サーバ110のサービス順序制御部211は、i番目の処理システムに第四処理要求を送信する(ステップS443)。 When the offload flag C112 of the entry corresponding to the i-th processing system is determined to be "OK", the service sequence control unit 211 of the base server 110 transmits the fourth processing request to the i-th processing system. (Step S443).

具体的には、基盤サーバ110のサービス順序制御部211は、i番目以降の全ての処理システムにデプロイされたマイクロサービスの実行順番を決定する。基盤サーバ110のサービス順序制御部211は、処理システム及びマイクロサービスの実行順番を対応づけた情報と、i番目の処理システムに入力する入力パラメータとを含む第四処理要求を送信する。 Specifically, the service order control unit 211 of the base server 110 determines the execution order of the microservices deployed in all the i-th and subsequent processing systems. The service order control unit 211 of the base server 110 transmits a fourth processing request including information associated with the execution order of the processing system and the microservice and an input parameter to be input to the i-th processing system.

i番目以降の処理システムのサービス順序制御部211は、第四処理要求を受信した場合、自サーバにデプロイされたマイクロサービスの実行をサービス実行部212に指示する。また、i番目以降の処理システムのサービス順序制御部211は、図15で示した処理と同様の処理を実行する。ただし、ステップS401では、サーバの順番を決定する代わりに、変数iに(i+1)を設定する。また、基盤サーバ110から直接第四処理要求を受信した処理システムのサービス順序制御部211は、i番目以降の処理システムから得られたマイクロサービスの処理結果を基盤サーバ110に送信する。 When the service sequence control unit 211 of the i-th and subsequent processing systems receives the fourth processing request, the service execution unit 212 instructs the service execution unit 212 to execute the microservice deployed on the local server. Further, the service order control unit 211 of the i-th and subsequent processing systems executes the same processing as the processing shown in FIG. However, in step S401, (i + 1) is set in the variable i instead of determining the order of the servers. Further, the service order control unit 211 of the processing system that has received the fourth processing request directly from the base server 110 transmits the processing result of the microservice obtained from the i-th and subsequent processing systems to the base server 110.

次に、基盤サーバ110のサービス順序制御部211は、第四処理要求を送信したサーバから処理結果を受信する(ステップS445)。その後、基盤サーバ110のサービス順序制御部211は、ステップS411に進む。 Next, the service order control unit 211 of the base server 110 receives the processing result from the server that transmitted the fourth processing request (step S445). After that, the service order control unit 211 of the board server 110 proceeds to step S411.

図1に示すようにマイクロサービスがデプロイされた場合における図15の処理の具体例について説明する。 A specific example of the processing of FIG. 15 when the microservice is deployed as shown in FIG. 1 will be described.

(1)まず、基盤サーバ110は、ユーザから入力Aを含むサービスの実行要求を受信する。基盤サーバ110のサービス順序制御部211は、基盤システム100、データセンタ101-1、データセンタ101-2の順に処理要求を送信することを決定する。基盤サーバ110のサービス順序制御部211は、基盤サーバ110に第一処理要求を送信する。基盤サーバ110のサービス実行部212は、処理A160を実行し、処理結果として出力Aを出力する。基盤サーバ110のサービス実行部212は、基盤サーバ110のサービス順序制御部211に出力Aを送信する。 (1) First, the base server 110 receives a service execution request including the input A from the user. The service order control unit 211 of the infrastructure server 110 determines to transmit processing requests in the order of the infrastructure system 100, the data center 101-1, and the data center 101-2. The service order control unit 211 of the base server 110 transmits a first processing request to the base server 110. The service execution unit 212 of the base server 110 executes the process A160 and outputs the output A as the process result. The service execution unit 212 of the base server 110 transmits the output A to the service order control unit 211 of the base server 110.

(2)基盤サーバ110のサービス順序制御部211は、サービス処理サーバ111-1及びマイクロサービス(処理B161、処理C162、処理D163)の実行順番を対応づけた情報、サービス処理サーバ111-2及びマイクロサービス(処理E164、処理F165、処理Z166)の実行順番を対応づけた情報、並びに出力Aを含む第四処理要求をサービス処理サーバ111-1に送信する。 (2) The service order control unit 211 of the base server 110 includes information corresponding to the execution order of the service processing server 111-1 and the microservices (processing B161, processing C162, processing D163), the service processing server 111-2, and the micro. The information associated with the execution order of the services (process E164, process F165, process Z166) and the fourth process request including the output A are transmitted to the service process server 111-1.

(3)サービス処理サーバ111-1のサービス実行部212は、出力Aに基づいて処理B161を実行して出力Bを出力し、出力Bに基づいて処理C162を実行して出力Cを出力し、出力Cに基づいて処理D163を実行して出力Dを出力する。サービス処理サーバ111-1のサービス順序制御部211は、サービス処理サーバ111-2及びマイクロサービス(処理E164、処理F165、処理Z166)の実行順番を対応づけた情報、並びに出力Dを含む第一処理要求を送信する。 (3) The service execution unit 212 of the service processing server 111-1 executes the process B161 based on the output A to output the output B, executes the process C162 based on the output B, and outputs the output C. The process D163 is executed based on the output C, and the output D is output. The service order control unit 211 of the service processing server 111-1 includes information corresponding to the execution order of the service processing server 111-2 and the microservices (process E164, process F165, process Z166), and the first process including the output D. Send the request.

(4)サービス処理サーバ111-2のサービス実行部212は、出力Dに基づいて処理E164を実行して出力Eを出力し、出力Eに基づいて処理F165を実行して出力Fを出力し、出力Fに基づいて処理Z166を実行して出力Zを出力する。サービス処理サーバ111-2のサービス実行部212は、サービス処理サーバ111-1に出力Zを送信する。 (4) The service execution unit 212 of the service processing server 111-2 executes the process E164 based on the output D to output the output E, executes the process F165 based on the output E, and outputs the output F. Processing Z166 is executed based on the output F, and the output Z is output. The service execution unit 212 of the service processing server 111-2 transmits the output Z to the service processing server 111-1.

(5)サービス処理サーバ111-1のサービス順序制御部211は、基盤サーバ110に出力Zを送信する。なお、サービス処理サーバ111-1のサービス順序制御部211は、サービス処理サーバ111-1及びサービス処理サーバ111-2にデプロイされたマイクロサービスの処理結果から一つの出力を生成してもよい。 (5) The service order control unit 211 of the service processing server 111-1 transmits the output Z to the base server 110. The service order control unit 211 of the service processing server 111-1 may generate one output from the processing results of the microservices deployed on the service processing server 111-1 and the service processing server 111-2.

(6)基盤サーバ110のサービス順序制御部211は、ユーザに応答として出力Zを出力する。 (6) The service order control unit 211 of the board server 110 outputs the output Z as a response to the user.

実施例4によれば、処理システムがマイクロサービスを実行するたびに基盤サーバ110と通信を行う必要がないため、よりサービスの実行速度を向上でき、また、通信リソースの消費量をより削減できる。 According to the fourth embodiment, since it is not necessary to communicate with the base server 110 every time the processing system executes the microservice, the execution speed of the service can be further improved, and the consumption of the communication resource can be further reduced.

ユースケース及び要件又は開発者のスキル等に応じて、提供するノード(マイクロサービス)の単位が異なってくる。これは、提供すべきAPIの単位が異なることを意味し、一つのマイクロサービスにどれだけの処理を実行させるかという問題に帰着する。 The unit of the node (microservice) to be provided differs depending on the use case and requirements or the skill of the developer. This means that the units of API to be provided are different, and it comes down to the problem of how much processing should be executed by one microservice.

そこで、サービスを小さい単位のマイクロサービス(小規模の処理)に分解し、小さい単位のマイクロサービスを組み合わせて適切なマイクロサービス(中規模又は大規模の処理)を提供することが考えられる。しかし、小さい単位のマイクロサービスから構成されるサービスでは、マイクロサービス間の通信が頻繁に発生するため、サービスの実行速度の低下とネットワークリソースの消費量の増大という問題がある。 Therefore, it is conceivable to decompose services into small units of microservices (small-scale processing) and combine small-unit microservices to provide appropriate microservices (medium-scale or large-scale processing). However, in a service composed of small units of microservices, communication between microservices frequently occurs, so that there are problems that the execution speed of the service is slowed down and the consumption of network resources is increased.

そこで、実施例1から実施例4で示した発明を用いることによって前述の課題を解決できる。 Therefore, the above-mentioned problems can be solved by using the inventions shown in Examples 1 to 4.

実施例5では、サービス順序制御部211は、マイクロサービス配置最適化処理が完了した後、当該処理の結果に基づいて、複数のマイクロサービスを組み合わせたマイクロサービスを生成する。例えば、サービス順序制御部211は、処理システム間の通信が発生しないマイクロサービスの組合せを新たなマイクロサービスとして生成する。また、開発基盤処理部210は、サービスを生成する場合に、新たに生成されたマイクロサービスをGUI600に表示する。 In the fifth embodiment, after the microservice arrangement optimization process is completed, the service order control unit 211 generates a microservice in which a plurality of microservices are combined based on the result of the process. For example, the service sequence control unit 211 creates a combination of microservices in which communication between processing systems does not occur as a new microservice. Further, the development infrastructure processing unit 210 displays the newly generated microservice on the GUI 600 when the service is generated.

複数のマイクロサービスを組み合わせたマイクロサービスから構成されるサービスでは、最小のマイクロサービスを考慮してマイクロサービス配置最適化処理及びマイクロサービスが実行される。具体的には、一つのマイクロサービス(ノード)を構成する小さい単位のマイクロサービス(ノード)を対象とした処理となる。 In a service composed of microservices combining a plurality of microservices, the microservice placement optimization process and the microservice are executed in consideration of the minimum microservice. Specifically, it is a process for a small unit microservice (node) constituting one microservice (node).

図16は、実施例5の開発基盤処理部210によって提示されるポータル1600の一例を示す図である。 FIG. 16 is a diagram showing an example of the portal 1600 presented by the development infrastructure processing unit 210 of the fifth embodiment.

ポータル1600は、ユーザ(開発者)が所望するAPIを検索するためのGUIである。ポータル1600は、キーワード入力欄1610及び検索結果表示欄1620を含む。 The portal 1600 is a GUI for searching the API desired by the user (developer). The portal 1600 includes a keyword input field 1610 and a search result display field 1620.

キーワード入力欄1610は、APIの検索に用いられるキーワードを入力する欄である。検索結果表示欄1620は、検索結果を表示する欄である。検索結果表示欄1620には、例えば、APIを提供する処理サーバの情報が表示される。 The keyword input field 1610 is a field for inputting a keyword used for API search. The search result display field 1620 is a field for displaying search results. In the search result display field 1620, for example, information on the processing server that provides the API is displayed.

ユーザは、処理サーバを開発基盤120にドラッグアンドドロップし、又は、マイクロサービスを表すJSONを開発基盤120にダウンロードする。これによって、開発基盤120上でAPIを使用することが可能となる。 The user drags and drops the processing server onto the development platform 120, or downloads JSON representing a microservice to the development platform 120. This makes it possible to use the API on the development platform 120.

処理B-C1611及び処理D-F1612は、複数の処理をまとめたマイクロサービスである。 Processes B-C1611 and DF1612 are microservices that combine a plurality of processes.

なお、開発基盤処理部210は、ユーザ認証処理を実行した後に、ポータル1600を表示するようにしてもよい。また、開発基盤処理部210は、ユーザごとに検索可能なマイクロサービスが異なるようにしてもよい。 The development infrastructure processing unit 210 may display the portal 1600 after executing the user authentication process. Further, the development infrastructure processing unit 210 may have different searchable microservices for each user.

図17A、図17B、及び図17Cは、実施例5の開発基盤処理部210が提供するGUIの一例を示す図である。 17A, 17B, and 17C are diagrams showing an example of the GUI provided by the development infrastructure processing unit 210 of the fifth embodiment.

GUI600のワークスペース620には、ポータル1600を用いて検索されたマイクロサービスに対応する処理B-C1611及び処理D-F1612が表示される。 In the workspace 620 of the GUI 600, the processes B-C 1611 and the processes D-F 1612 corresponding to the microservices searched by using the portal 1600 are displayed.

図17Aに示すGUI600において、ワークスペース620に表示された処理B-C1611をダブルクリックした場合、ワークスペース620は図17Bに示すような表示に切り替わる。 In the GUI 600 shown in FIG. 17A, when the process B-C1611 displayed in the workspace 620 is double-clicked, the workspace 620 switches to the display as shown in FIG. 17B.

また、図17Cに示すようなGUI600も考えられる。図17CのGUI600には、ワークスペース620にタブが含まれる。図17Cでは全体タブ及び詳細タブが含まれる。 Further, a GUI 600 as shown in FIG. 17C is also conceivable. In the GUI 600 of FIG. 17C, the workspace 620 includes tabs. In FIG. 17C, the whole tab and the detail tab are included.

ユーザが全体タブを操作した場合、ワークスペース620には、図17AのGUI600のワークスペース620に示すようなサービスを構成するマイクロサービスのフローが表示される。ユーザが詳細タブを操作した場合、図17CのGUI600のワークスペース620には、複数のマイクロサービスから構成されるマイクロサービスである処理B-C1611及び処理D-F1612のそれぞれの詳細なノードの構成が表示される。なお、マイクロサービスごとにタブを設けてもよい。 When the user operates the whole tab, the workspace 620 displays the flow of microservices constituting the service as shown in the workspace 620 of the GUI 600 of FIG. 17A. When the user operates the details tab, the workspace 620 of the GUI 600 in FIG. 17C contains detailed node configurations of the processes BC1611 and the processes DF1612, which are microservices composed of a plurality of microservices. Is displayed. A tab may be provided for each microservice.

実施例5によれば、最小単位のマイクロサービスのデプロイ結果に基づいて、ユーザごとに最適なマイクロサービスを生成することができる。 According to the fifth embodiment, the optimum microservice can be generated for each user based on the deployment result of the smallest unit microservice.

なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。 The present invention is not limited to the above-described embodiment, and includes various modifications. Further, for example, the above-described embodiment describes the configuration in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to the one including all the described configurations. Further, it is possible to add, delete, or replace a part of the configuration of each embodiment with other configurations.

また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。 Further, each of the above configurations, functions, processing units, processing means and the like may be realized by hardware by designing a part or all of them by, for example, an integrated circuit. The present invention can also be realized by a software program code that realizes the functions of the examples. In this case, a storage medium in which the program code is recorded is provided to the computer, and the processor included in the computer reads out the program code stored in the storage medium. In this case, the program code itself read from the storage medium realizes the function of the above-described embodiment, and the program code itself and the storage medium storing it constitute the present invention. Examples of the storage medium for supplying such a program code include a flexible disk, a CD-ROM, a DVD-ROM, a hard disk, an SSD (Solid State Drive), an optical disk, a magneto-optical disk, a CD-R, and a magnetic tape. Non-volatile memory cards, ROMs, etc. are used.

また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。 In addition, the program code that realizes the functions described in this embodiment can be implemented in a wide range of programs or script languages such as assembler, C / C ++, perl, Shell, PHP, and Java (registered trademark).

さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。 Further, by distributing the program code of the software that realizes the functions of the embodiment via the network, the program code is stored in a storage means such as a hard disk or a memory of a computer or a storage medium such as a CD-RW or a CD-R. The processor included in the computer may read and execute the program code stored in the storage means or the storage medium.

上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。 In the above-described embodiment, the control lines and information lines show what is considered necessary for explanation, and do not necessarily indicate all the control lines and information lines in the product. All configurations may be interconnected.

100 基盤システム
101 データセンタ
102 ネットワーク
110 基盤サーバ
111 サービス処理サーバ
120 開発基盤
120 基盤サーバ
120 開発環境
121 実行基盤
T100 処理管理情報
T110 サービス制御システム情報
200、300 CPU
201、301 メモリ
202、302 記憶装置
203、303 ネットワークインタフェース
204、304 内部バス
600 GUI
610 パレット
620 ワークスペース
630 コンソール
640 デプロイボタン
1600 ポータル
1610 キーワード入力欄
1620 検索結果表示欄
100 Infrastructure system 101 Data center 102 Network 110 Infrastructure server 111 Service processing server 120 Development infrastructure 120 Infrastructure server 120 Development environment 121 Execution infrastructure T100 Processing management information T110 Service control system information 200, 300 CPU
201, 301 Memory 202, 302 Storage device 203, 303 Network interface 204, 304 Internal bus 600 GUI
610 Palette 620 Workspace 630 Console 640 Deploy button 1600 Portal 1610 Keyword input field 1620 Search result display field

Claims (10)

複数のマイクロサービスから構成されるサービスを提供するシステムであって、
前記マイクロサービスを実行可能な複数の計算機システムを含み、
前記複数の計算機システムは、複数の計算機を含み、前記複数のマイクロサービスの実行順番を制御するサービス順序制御部を有し、
前記サービス順序制御部は、第1サービスを提供するための複数の実行マイクロサービス及びその実行順番と、前記複数の実行マイクロサービスの配置条件とに関する情報を取得し、前記配置条件を満たし、かつ、前記複数の実行マイクロサービスの実行時の通信が少なくなるように、前記複数の実行マイクロサービスを実行させる実行計算機システムを決定し、前記複数の実行マイクロサービスの実行順番及び前記複数の実行計算機システムを含む処理管理情報を生成し、前記複数の実行計算機システムに送信し、
前記処理管理情報を受信した前記実行計算機システムは、当該実行計算機システムが実行する前記実行マイクロサービスが複数存在する場合、前記配置条件を満たし、かつ、前記複数の実行マイクロサービスの実行時の通信が少なくなるように、前記複数の実行マイクロサービスを実行させる前記計算機を決定し、当該決定に基づいて、前記計算機への前記複数の実行マイクロサービスのデプロイを実行し、
前記サービス順序制御部は、前記第1サービスの実行契機を検知した場合、前記処理管理情報に基づいて、一つの前記実行計算機システムを選択し、選択された前記実行計算機システムが実行する前記実行マイクロサービスの実行順番を含む実行要求を送信し、
複数の前記実行マイクロサービスを実行する前記実行計算機システムは、複数の前記実行マイクロサービスの全てを実行した後に処理結果を示すデータを送信することを特徴とするシステム。
A system that provides services consisting of multiple microservices.
Including multiple computer systems capable of performing the microservices
The plurality of computer systems include a plurality of computers, and have a service order control unit that controls the execution order of the plurality of microservices.
The service order control unit acquires information on a plurality of execution microservices for providing the first service, their execution orders, and arrangement conditions of the plurality of execution microservices, satisfies the arrangement conditions, and An execution computer system for executing the plurality of execution microservices is determined so that communication during execution of the plurality of execution microservices is reduced, and the execution order of the plurality of execution microservices and the plurality of execution computer systems are determined. Generates processing management information including, and sends it to the plurality of execution computer systems.
When the execution computer system that has received the processing management information has a plurality of the execution microservices executed by the execution computer system, the execution computer system satisfies the arrangement condition and the communication at the time of execution of the plurality of execution microservices is performed. To reduce the number of execution microservices, a computer is determined to execute the plurality of execution microservices, and based on the determination, the deployment of the plurality of execution microservices to the computer is executed.
When the service sequence control unit detects the execution trigger of the first service, the service sequence control unit selects one execution computer system based on the processing management information, and the execution micro is executed by the selected execution computer system. Send an execution request including the execution order of the service,
The execution computer system for executing a plurality of the execution microservices is a system characterized in that data indicating a processing result is transmitted after executing all of the plurality of execution microservices .
請求項1に記載のシステムであって、 The system according to claim 1.
前記サービス順序制御部は、複数のマイクロサービスを一括で処理する一括処理を行えるように、前記実行計算機システムを決定することを特徴とするシステム。 The service order control unit is a system characterized in that the execution computer system is determined so that batch processing for collectively processing a plurality of microservices can be performed.
請求項1に記載のシステムであって、 The system according to claim 1.
実行順番が連続する前記複数の実行マイクロサービスに、前記実行マイクロサービスを繰り返し処理する繰り返し処理が含まれている場合、前記サービス順序制御部は、当該処理の通信を非同期通信に変更し、 When the plurality of execution microservices having a continuous execution order include a repetitive process of repeatedly processing the execution microservice, the service order control unit changes the communication of the process to asynchronous communication.
前記繰り返し処理を行う前記実行計算機システムは、前記繰り返し処理を実行し、前記サービス順序制御部から問い合わせを受信した場合、前記繰り返し処理にかかる応答を行うことを特徴とするシステム。 The execution computer system that performs the iterative process is a system that executes the iterative process and, when an inquiry is received from the service order control unit, performs a response related to the iterative process.
請求項1に記載のシステムであって、 The system according to claim 1.
前記サービス順序制御部は、前記複数の実行計算機システムから前記処理結果を示すデータを受信し、前記第1サービスに関する出力を行うことを特徴とするシステム。 The service order control unit is a system characterized in that it receives data indicating the processing result from the plurality of execution computer systems and outputs data relating to the first service.
請求項1に記載のシステムであって、 The system according to claim 1.
前記サービス順序制御部は、前記実行計算機システムに、前記処理結果を示すデータを、次に選択される前記実行計算機システムに送信させることを特徴とするシステム。 The service order control unit is a system characterized in that the execution computer system transmits data indicating the processing result to the execution computer system to be selected next.
複数のマイクロサービスから構成されるサービスを提供するシステムが実行するサービス制御方法であって、 A service control method executed by a system that provides a service consisting of multiple microservices.
前記システムは、前記マイクロサービスを実行可能な複数の計算機システムを含み、 The system includes a plurality of computer systems capable of performing the microservices.
前記複数の計算機システムは、複数の計算機を含み、前記複数のマイクロサービスの実行順番を制御するサービス順序制御部を有し、 The plurality of computer systems include a plurality of computers, and have a service order control unit that controls the execution order of the plurality of microservices.
前記サービス制御方法は、 The service control method is
前記サービス順序制御部が、第1サービスを提供するための複数の実行マイクロサービス及びその実行順番と、前記複数の実行マイクロサービスの配置条件とに関する情報を取得し、前記配置条件を満たし、かつ、前記複数の実行マイクロサービスの実行時の通信が少なくなるように、前記複数の実行マイクロサービスを実行させる実行計算機システムを決定し、前記複数の実行マイクロサービスの実行順番及び前記複数の実行計算機システムを含む処理管理情報を生成し、前記複数の実行計算機システムに送信する第1のステップと、 The service order control unit acquires information on a plurality of execution microservices for providing the first service, their execution order, and arrangement conditions of the plurality of execution microservices, satisfies the arrangement conditions, and An execution computer system for executing the plurality of execution microservices is determined so that communication during execution of the plurality of execution microservices is reduced, and the execution order of the plurality of execution microservices and the plurality of execution computer systems are determined. The first step of generating the processing management information to be included and transmitting it to the plurality of execution computer systems, and
前記処理管理情報を受信した前記実行計算機システムは、当該実行計算機システムが実行する前記実行マイクロサービスが複数存在する場合、前記配置条件を満たし、かつ、前記複数の実行マイクロサービスの実行時の通信が少なくなるように、前記複数の実行マイクロサービスを実行させる前記計算機を決定し、当該決定に基づいて、前記計算機への前記複数の実行マイクロサービスのデプロイを実行する第2のステップと、 When the execution computer system that has received the processing management information has a plurality of the execution microservices executed by the execution computer system, the execution computer system satisfies the arrangement condition and the communication at the time of execution of the plurality of execution microservices is performed. A second step of determining the computer to execute the plurality of execution microservices so as to be less, and executing the deployment of the plurality of execution microservices to the computer based on the determination.
前記サービス順序制御部が、前記第1サービスの実行契機を検知した場合、前記処理管理情報に基づいて、一つの前記実行計算機システムを選択し、選択された前記実行計算機システムが実行する前記実行マイクロサービスの実行順番を含む実行要求を送信する第3のステップと、 When the service order control unit detects the execution trigger of the first service, the execution computer system is selected based on the processing management information, and the execution micro is executed by the selected execution computer system. The third step of sending an execution request, including the execution order of the services,
複数の前記実行マイクロサービスを実行する前記実行計算機システムが、複数の前記実行マイクロサービスの全てを実行した後に処理結果を示すデータを送信する第4のステップと、を含むことを特徴とするサービス制御方法。 A service control comprising the fourth step of transmitting data indicating a processing result after the execution computer system executing the plurality of execution microservices has executed all of the plurality of execution microservices. Method.
請求項6に記載のサービス制御方法であって、 The service control method according to claim 6.
前記第1のステップは、前記サービス順序制御部が、複数のマイクロサービスを一括で処理する一括処理を行えるように、前記実行計算機システムを決定するステップを含むことを特徴とするサービス制御方法。 The first step is a service control method including a step of determining the execution computer system so that the service order control unit can perform batch processing for batch processing a plurality of microservices.
請求項6に記載のサービス制御方法であって、 The service control method according to claim 6.
前記第1のステップは、前記サービス順序制御部が、実行順番が連続する前記複数の実行マイクロサービスに、前記実行マイクロサービスを繰り返し処理する繰り返し処理が含まれている場合、当該処理の通信を非同期通信に変更するステップを含み、 In the first step, when the service order control unit includes a repetitive process of repeatedly processing the execution microservices in the plurality of execution microservices having a continuous execution order, the communication of the processes is asynchronous. Including the step to change to communication
前記サービス制御方法は、前記繰り返し処理を行う前記実行計算機システムが、前記繰り返し処理を実行し、前記サービス順序制御部から問い合わせを受信した場合、前記繰り返し処理にかかる応答を行うステップを含むことを特徴とするサービス制御方法。 The service control method is characterized by including a step of performing a response related to the iterative process when the execution computer system performing the iterative process executes the iterative process and receives an inquiry from the service order control unit. Service control method.
請求項6に記載のサービス制御方法であって、 The service control method according to claim 6.
前記第3のステップは、前記サービス順序制御部が、前記複数の実行計算機システムから前記処理結果を示すデータを受信し、前記第1サービスに関する出力を行うステップを含むことを特徴とするサービス制御方法。 The third step is a service control method comprising a step in which the service order control unit receives data indicating the processing result from the plurality of execution computer systems and outputs data relating to the first service. ..
請求項6に記載のサービス制御方法であって、 The service control method according to claim 6.
前記第3のステップは、前記サービス順序制御部が、前記実行計算機システムに、前記処理結果を示すデータを、次に選択される前記実行計算機システムに送信させるステップを含むことを特徴とするサービス制御方法。 The third step is a service control including a step in which the service sequence control unit causes the execution computer system to transmit data indicating the processing result to the execution computer system to be selected next. Method.
JP2018106888A 2018-06-04 2018-06-04 System and service control method Active JP7065697B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018106888A JP7065697B2 (en) 2018-06-04 2018-06-04 System and service control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018106888A JP7065697B2 (en) 2018-06-04 2018-06-04 System and service control method

Publications (2)

Publication Number Publication Date
JP2019211955A JP2019211955A (en) 2019-12-12
JP7065697B2 true JP7065697B2 (en) 2022-05-12

Family

ID=68844138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018106888A Active JP7065697B2 (en) 2018-06-04 2018-06-04 System and service control method

Country Status (1)

Country Link
JP (1) JP7065697B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11564063B2 (en) * 2020-11-11 2023-01-24 International Business Machines Corporation Intelligent dynamic communication handoff for mobile applications
JP7247161B2 (en) * 2020-12-24 2023-03-28 株式会社日立製作所 Information processing system and data arrangement method in information processing system
JP7682823B2 (en) * 2022-03-16 2025-05-26 日立ヴァンタラ株式会社 LAYOUT PLAN SEARCH DEVICE, COMPUTER SYSTEM, AND LAYOUT PLAN SEARCH METHOD
US12238184B2 (en) 2022-09-29 2025-02-25 Rakuten Mobile, Inc. Network management for executing a service using a plurality of entities
WO2024069843A1 (en) * 2022-09-29 2024-04-04 楽天モバイル株式会社 Distributed deployment control for microservices

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229783A (en) 2001-01-31 2002-08-16 Toshiba Corp Software construction support system, its method and software construction support program
JP2008158865A (en) 2006-12-25 2008-07-10 Shimadzu Corp Program creation support system
JP2009258998A (en) 2008-04-16 2009-11-05 Fujitsu Ltd Apparatus, method, and program for providing service information
JP2011118587A (en) 2009-12-02 2011-06-16 Hitachi Ltd System for executing cooperative service by plurality of servers
JP2017525232A (en) 2014-10-30 2017-08-31 エクイニクス,インコーポレイティド An interconnection platform for configuring and managing cloud-based service exchanges in real time
US20180075231A1 (en) 2016-09-14 2018-03-15 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
JP2018067302A (en) 2016-10-21 2018-04-26 富士通株式会社 Software service execution device, system, and method
JP2018081440A (en) 2016-11-15 2018-05-24 富士通株式会社 Program, information processing apparatus, and information processing method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229783A (en) 2001-01-31 2002-08-16 Toshiba Corp Software construction support system, its method and software construction support program
JP2008158865A (en) 2006-12-25 2008-07-10 Shimadzu Corp Program creation support system
JP2009258998A (en) 2008-04-16 2009-11-05 Fujitsu Ltd Apparatus, method, and program for providing service information
JP2011118587A (en) 2009-12-02 2011-06-16 Hitachi Ltd System for executing cooperative service by plurality of servers
JP2017525232A (en) 2014-10-30 2017-08-31 エクイニクス,インコーポレイティド An interconnection platform for configuring and managing cloud-based service exchanges in real time
US20180075231A1 (en) 2016-09-14 2018-03-15 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
JP2018067302A (en) 2016-10-21 2018-04-26 富士通株式会社 Software service execution device, system, and method
JP2018081440A (en) 2016-11-15 2018-05-24 富士通株式会社 Program, information processing apparatus, and information processing method

Also Published As

Publication number Publication date
JP2019211955A (en) 2019-12-12

Similar Documents

Publication Publication Date Title
JP7065697B2 (en) System and service control method
CN113110938B (en) Resource allocation method and device, computer equipment and storage medium
JP5569197B2 (en) Computer apparatus and reset control program
US10013271B2 (en) Management system and method for controlling management system
JP5477047B2 (en) Information processing apparatus, virtual machine connection method, program, and recording medium
EP3046030A2 (en) Method of allocating physical computing resource of computer system
EP3920028B1 (en) Method for deploying service in cluster system, program, and system
JP7082673B2 (en) Security protection methods and equipment
EP2631797A2 (en) Thin client system with virtual machine management and server, method and program for connection management
JP5352367B2 (en) Virtual machine boot terminal and virtual machine boot program
JP2019144727A (en) Virtual resource management device and virtual resource allocation method and virtual resource allocation program
CN113590146A (en) Server and container upgrading method
WO2012053393A1 (en) Method and device for deploying virtual computers
JP2016115065A (en) Information processor, information processing system, task processing method, and program
JP2016006608A (en) Management method, virtual machine, management server, management system, and computer program
CN116069447B (en) A method, device, equipment, and medium for generating NUMA topology of a virtual machine
CN114995961A (en) A request scheduling method, device and storage medium
JP2006127001A (en) Business system operation method, operation management system, and operation program
US20240061698A1 (en) Managing the assignment of virtual machines to non-uniform memory access nodes
KR20240164269A (en) Method and system for managing host node resource for container-based cloud database
WO2025039408A1 (en) Component management method and apparatus, and non-volatile storage medium and electronic device
CN116781628A (en) Request distribution methods, devices, electronic equipment and storage media
US20250321751A1 (en) Method for creating pod instances in federated cluster, device and medium
JP2022092156A (en) Inter-application communication control method and inter-application communication control program
JP6870390B2 (en) Resource allocation method, connection management server and connection management program in a system based on a virtual infrastructure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220426

R150 Certificate of patent or registration of utility model

Ref document number: 7065697

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150