(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-06-15
(45)【発行日】2022-06-23
(54)【発明の名称】情報を生成するための方法及び装置
(51)【国際特許分類】
G06F 9/50 20060101AFI20220616BHJP
【FI】
G06F9/50 150B
【外国語出願】
(21)【出願番号】P 2020155015
(22)【出願日】2020-09-15
【審査請求日】2020-12-11
(31)【優先権主張番号】202010067282.2
(32)【優先日】2020-01-20
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110002675
【氏名又は名称】特許業務法人ドライト国際特許事務所
(72)【発明者】
【氏名】チェン,シャオシュ
(72)【発明者】
【氏名】ジャン,ジユアン
(72)【発明者】
【氏名】リュ,フェン
(72)【発明者】
【氏名】ヤン,タオ
(72)【発明者】
【氏名】ガオ,シャン
【審査官】三坂 敏夫
(56)【参考文献】
【文献】国際公開第2010/113242(WO,A1)
【文献】国際公開第2012/101893(WO,A1)
【文献】特開平05-088869(JP,A)
【文献】米国特許出願公開第2018/0276040(US,A1)
【文献】特開平06-151282(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/455-9/54
(57)【特許請求の範囲】
【請求項1】
情報を生成する方法であって、
処理対象サービスを少なくとも1つ取得するとともに、前記少なくとも1つの処理対象サービスのうちの2つの処理対象サービスの実行順序を示す関係情報を少なくとも1つ取得するステップと、
前記少なくとも1つの処理対象サービスのそれぞれを節点とし、前記少なくとも1つの関係情報のそれぞれを有向辺として、有向グラフを作成するステップと、
前記有向グラフに
おける実行開始点、実行終了点及び少なくとも1つの実行中点を決定するステップであって、前記実行開始点は、最初に実行される処理対象サービスを示し、前記実行終了点は、最後に実行される処理対象サービスを示し、前記実行中点は、実行開始点と実行終了点との間で実行される処理対象サービスを示すように構成されるステップと、
前記実行開始点に対して最初の実行順序情報を設定し、前記実行終了点に対して最後の実行順序情報を設定するステップと、
前記少なくとも1つの実行中点のそれぞれに対して、前記最初の実行順序情報、最後の実行順序情報、及び、有向辺に基づいて、当該実行中点と他の実行中点の間の実行順序情報を決定するステップと、
を含む、方法。
【請求項2】
前記少なくとも1つの処理対象サービスのそれぞれを節点とし、前記少なくとも1つの関係情報のそれぞれを有向辺として、有向グラフを作成するステップは、
前記少なくとも1つの処理対象サービスのそれぞれに対し、対応するサービス番号を付与して、少なくとも1つの処理対象サービスに対応する少なくとも1つのサービス番号を得るステップと、
前記少なくとも1つのサービス番号を平面図にマークし、前記少なくとも1つの関係情報のうちの関係情報に基づいて、関連するサービス番号に対して少なくとも1つの有向辺を設置することにより、有向グラフを得るステップであって、前記有向辺の始点が該当する処理対象サービスは、有向辺の終点が該当する処理対象サービスより先に実行されるように構成されるステップと、
を含む、請求項1に記載の方法。
【請求項3】
前記少なくとも1つの処理対象サービスのそれぞれを節点とし、前記少なくとも1つの関係情報のそれぞれを有向辺として、有向グラフを作成するステップは、
前記有向グラフを検出し、当該有向グラフに情報リングが存在することを検出した場合、警報信号を発するステップ、を含む、
請求項2に記載の方法。
【請求項4】
前記最初の実行順序情報、最後の実行順序情報、及び、有向辺に基づいて、当該実行中点と他の実行中点との間の実行順序情報を決定するステップは、
当該実行中点にアクセスした有向辺の終点の数を調査し、前記アクセスした有向辺の終点の数に基づいて、当該実行中点と他の実行中点の間の実行順序情報を決定するステップと、
を含む、請求項
1に記載の方法。
【請求項5】
前記アクセスした有向辺の終点の数に基づいて、当該実行中点と他の実行中点の間の実行順序情報を決定するステップは、
前記アクセスした有向辺の終点の数に対応する有向辺の始点が該当する、処理対象サービスの少なくとも1つの上位サービスのサービス番号を調査するステップと、
前記最初の実行順序情報及び最後の実行順序情報に基づいて前記少なくとも1つの上位サービスのサービス番号のうち最後に実行される上位サービスのサービス番号を調査するステップと、
当該実行中点の実行順序情報を、前記最後に実行される上位サービスのサービス番号の実行順序情報の次の実行順序情報とするステップと、
を含む、請求項
4に記載の方法。
【請求項6】
前記実行順序情報に基づいて前記少なくとも1つの処理対象サービスを実行するステップを含む、請求項1~
5のいずれか1項に記載の方法。
【請求項7】
情報を生成するための装置であって、
処理対象サービスを少なくとも1つ取得するとともに、前記少なくとも1つの処理対象サービスのうちの2つの処理対象サービスの実行順序を示す関係情報を少なくとも1つ取得するように構成された情報取得ユニットと、
前記少なくとも1つの処理対象サービスのそれぞれを節点とし、前記少なくとも1つの関係情報のそれぞれを有向辺として、有向グラフを作成するように構成された有向グラフ作成ユニットと、
情報生成ユニットと、
を備え、
前記情報生成ユニットは、
前記有向グラフにおける実行開始点、実行終了点及び少なくとも1つの実行中点を決定するように構成された節点関係決定サブユニットであって、前記実行開始点は、最初に実行される処理対象サービスを示し、前記実行終了点は、最後に実行される処理対象サービスを示し、前記実行中点は、実行開始点と実行終了点との間で実行される処理対象サービスを示すように構成される節点関係決定サブユニットと、
前記実行開始点に対して最初の実行順序情報を設定し、前記実行終了点に対して最後の実行順序情報を設定するように構成された最初の実行順序情報設定サブユニットと、
前記少なくとも1つの実行中点のそれぞれに対して、前記最初の実行順序情報、最後の実行順序情報、及び、有向辺に基づいて、当該実行中点と他の実行中点の間の実行順序情報を決定するように構成された第2の実行順序情報設定サブユニットと、
を備える、装置。
【請求項8】
前記有向グラフ作成ユニットは、
前記少なくとも1つの処理対象サービスのそれぞれに対し、対応するサービス番号を付与して、少なくとも1つの処理対象サービスに対応する少なくとも1つのサービス番号を得るように構成されたサービス番号設定サブユニットと、
前記少なくとも1つのサービス番号を平面図にマークし、前記少なくとも1つの関係情報のうちの関係情報に基づいて、関連するサービス番号に対して少なくとも1つの有向辺を設置することにより、有向グラフを得る有向グラフ作成サブユニットであって、前記有向辺の始点が該当する処理対象サービスは、有向辺の終点が該当する処理対象サービスより先に実行されるように構成される有向グラフ作成サブユニットと、
を備える、請求項
7に記載の装置。
【請求項9】
前記有向グラフ作成ユニットは、
前記有向グラフを検出し、当該有向グラフに情報リングが存在することを検出した場合、警報信号を発するように構成される警報サブユニットを備える、請求項
8に記載の装置。
【請求項10】
前記第2の実行順序情報設定サブユニットは、
当該実行中点にアクセスした有向辺の終点の数を調査し、前記アクセスした有向辺の終点の数に基づいて、当該実行中点と他の実行中点の間の実行順序情報を決定するように構成される実行順序情報決定モジュールを備える、
請求項
7に記載の装置。
【請求項11】
前記実行順序情報決定モジュールは、
前記アクセスした有向辺の終点の数に対応する有向辺の始点が該当する、処理対象サービスの少なくとも1つの上位サービスのサービス番号を調査するように構成された上位サービス番号調査サブモジュールと、
前記最初の実行順序情報及び最後の実行順序情報に基づいて前記少なくとも1つの上位サービスのサービス番号のうち最後に実行される上位サービスのサービス番号を調査するように構成された上位サービス番号決定サブモジュールと、
当該実行中点の実行順序情報を、前記最後に実行される上位サービスのサービス番号の実行順序情報の次の実行順序情報とするように構成された実行順序情報決定サブモジュールと、
を備える、請求項1
0に記載の装置。
【請求項12】
前記実行順序情報に基づいて前記少なくとも1つの処理対象サービスを実行するように構成された実行ユニットを更に備える、
請求項
7~1
1のいずれか1項に記載の装置。
【請求項13】
電子機器であって、
1つまたは複数のプロセッサと、
1つまたは複数のコンピュータプログラムが記憶されたメモリと、を備え、
前記1つまたは複数のコンピュータプログラムが前記1つまたは複数のプロセッサにより実行されると、前記1つまたは複数のプロセッサに、請求項1~
6のいずれか1項に記載の方法を実行させる、電子機器。
【請求項14】
コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項1~
6のいずれか1項に記載の方法を実現させるコンピュータ読み取り可能な記録媒体。
【請求項15】
コンピュータプログラムであって、
プロセッサにより実行されることにより、請求項1~
6のいずれか1項に記載の方法を実現させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示の実施例は、データ処理技術分野に関し、具体的には、情報を生成するための方法及び装置に関する。
【背景技術】
【0002】
マイクロサービスアーキテクチャは、一組のマイクロサービスを利用して単一のアプリケーションを開発する手段であり、それぞれのサービスが、自分のプロセスで動作するとともに、軽量メカニズムにより通信するものである。マイクロサービスには、大量の特定のサービス(すなわちデータ処理タスク)が含まれ、これらのサービスは、直列又は並列して実行することができる。実際のサービスの実行時に、これらのサービス間の関係が直列であるか又は並列であるかに応じて、実行の順が決定される必要がある。
【発明の概要】
【0003】
本開示の実施例は、情報を生成するための方法及び装置を提供する。
【0004】
本開示の第1の態様よれば、情報を生成する方法であって、処理対象サービスを少なくとも1つ取得するとともに、前記少なくとも1つの処理対象サービスのうちの2つの処理対象サービスの実行順序を示す関係情報を少なくとも1つ取得するステップと、前記少なくとも1つの処理対象サービスのそれぞれを節点とし、前記少なくとも1つの関係情報のそれぞれを有向辺として、有向グラフを作成するステップと、前記有向グラフに基づいて、前記少なくとも1つの処理対象サービスのそれぞれの実行順序情報を生成するステップと、を含む、方法を提供する。
【0005】
幾つかの実施例において、前記少なくとも1つの処理対象サービスのそれぞれを節点とし、前記少なくとも1つの関係情報のそれぞれを有向辺として、有向グラフを作成するステップは、前記少なくとも1つの処理対象サービスのそれぞれに対し、対応するサービス番号を付与して、少なくとも1つの処理対象サービスに対応する少なくとも1つのサービス番号を得るステップと、前記少なくとも1つのサービス番号を平面図にマークし、前記少なくとも1つの関係情報のうちの関係情報に基づいて、関連するサービス番号に対して少なくとも1つの有向辺を設置することにより、有向グラフを得るステップであって、前記有向辺の始点が該当する処理対象サービスは、有向辺の終点が該当する処理対象サービスより先に実行されるように構成されるステップと、を含む。
【0006】
幾つかの実施例において、前記少なくとも1つの処理対象サービスのそれぞれを節点とし、前記少なくとも1つの関係情報のそれぞれを有向辺として、有向グラフを作成するステップは、前記有向グラフを検出し、当該有向グラフに情報リングが存在することを検出した場合、警報信号を発するステップ、を含む。
【0007】
幾つかの実施例において、前記有向グラフに基づいて、前記少なくとも1つの処理対象サービスのそれぞれの実行順序情報を生成するステップは、前記有向グラフにおける実行開始点、実行終了点及び少なくとも1つの実行中点を決定するステップであって、前記実行開始点は、最初に実行される処理対象サービスを示し、前記実行終了点は、最後に実行される処理対象サービスを示し、前記実行中点は、実行開始点と実行終了点との間で実行される処理対象サービスを示すように構成されるステップと、前記実行開始点に対して最初の実行順序情報を設定し、前記実行終了点に対して最後の実行順序情報を設定するステップと、前記少なくとも1つの実行中点のそれぞれに対して、前記最初の実行順序情報、最後の実行順序情報、及び、有向辺に基づいて、当該実行中点と他の実行中点の間の実行順序情報を決定するステップと、を含む。
【0008】
幾つかの実施例において、前記最初の実行順序情報、最後の実行順序情報、及び、有向辺に基づいて、当該実行中点と他の実行中点との間の実行順序情報を決定するステップは、当該実行中点にアクセスした有向辺の終点の数を調査し、前記アクセスした有向辺の終点の数に基づいて、当該実行中点と他の実行中点の間の実行順序情報を決定するステップと、を含む。
【0009】
幾つかの実施例において、前記アクセスした有向辺の終点の数に基づいて、当該実行中点と他の実行中点の間の実行順序情報を決定するステップは、前記アクセスした有向辺の終点の数に対応する有向辺の始点が該当する、処理対象サービスの少なくとも1つの上位サービスのサービス番号を調査するステップと、前記最初の実行順序情報及び最後の実行順序情報に基づいて前記少なくとも1つの上位サービスのサービス番号のうち最後に実行される上位サービスのサービス番号を調査するステップと、当該実行中点の実行順序情報を、前記最後に実行される上位サービスのサービス番号の実行順序情報の次の実行順序情報とするステップと、を含む。
【0010】
幾つかの実施例において、上記の方法は、前記実行順序情報に基づいて前記少なくとも1つの処理対象サービスを実行するステップを含む。
【0011】
本開示の第2の態様によれば、情報を生成するための装置であって、処理対象サービスを少なくとも1つ取得するとともに、前記少なくとも1つの処理対象サービスのうちの2つの処理対象サービスの実行順序を示す関係情報を少なくとも1つ取得するように構成された情報取得ユニットと、前記少なくとも1つの処理対象サービスのそれぞれを節点とし、前記少なくとも1つの関係情報のそれぞれを有向辺として、有向グラフを作成するように構成された有向グラフ作成ユニットと、前記有向グラフに基づいて、前記少なくとも1つの処理対象サービスのそれぞれの実行順序情報を生成するように構成された情報生成ユニットと、を備える、装置を提供する。
【0012】
幾つかの実施例において、前記有向グラフ作成ユニットは、前記少なくとも1つの処理対象サービスのそれぞれに対し、対応するサービス番号を付与して、少なくとも1つの処理対象サービスに対応する少なくとも1つのサービス番号を得るように構成されたサービス番号設定サブユニットと、前記少なくとも1つのサービス番号を平面図にマークし、前記少なくとも1つの関係情報のうちの関係情報に基づいて、関連するサービス番号に対して少なくとも1つの有向辺を設置することにより、有向グラフを得る有向グラフ作成サブユニットであって、前記有向辺の始点が該当する処理対象サービスは、有向辺の終点が該当する処理対象サービスより先に実行されるように構成される有向グラフ作成サブユニットと、を備える。
【0013】
幾つかの実施例において、前記有向グラフ作成ユニットは、前記有向グラフを検出し、当該有向グラフに情報リングが存在することを検出した場合、警報信号を発するように構成される警報サブユニットを備える。
【0014】
幾つかの実施例において、前記情報生成ユニットは、前記有向グラフにおける実行開始点、実行終了点及び少なくとも1つの実行中点を決定するように構成された節点関係決定サブユニットであって、前記実行開始点は、最初に実行される処理対象サービスを示し、前記実行終了点は、最後に実行される処理対象サービスを示し、前記実行中点は、実行開始点と実行終了点との間で実行される処理対象サービスを示すように構成される節点関係決定サブユニットと、前記実行開始点に対して最初の実行順序情報を設定し、前記実行終了点に対して最後の実行順序情報を設定するように構成された最初の実行順序情報設定ユニットと、前記少なくとも1つの実行中点のそれぞれに対して、前記最初の実行順序情報、最後の実行順序情報、及び、有向辺に基づいて、当該実行中点と他の実行中点の間の実行順序情報を決定するように構成された第2の実行順序情報設定ユニットと、を備える。
【0015】
幾つかの実施例において、前記第2の実行順序情報設定サブユニットは、当該実行中点にアクセスした有向辺の終点の数を調査し、前記アクセスした有向辺の終点の数に基づいて、当該実行中点と他の実行中点の間の実行順序情報を決定するように構成される実行順序情報決定モジュールを備える。
【0016】
幾つかの実施例において、前記実行順序情報決定モジュールは、前記アクセスした有向辺の終点の数に対応する有向辺の始点が該当する、処理対象サービスの少なくとも1つの上位サービスのサービス番号を調査するように構成された上位サービス番号調査サブモジュールと、前記最初の実行順序情報及び最後の実行順序情報に基づいて前記少なくとも1つの上位サービスのサービス番号のうち最後に実行される上位サービスのサービス番号を調査するように構成された上位サービス番号決定サブモジュールと、当該実行中点の実行順序情報を、前記最後に実行される上位サービスのサービス番号の実行順序情報の次の実行順序情報とするように構成された実行順序情報決定サブモジュールと、を備える。
【0017】
幾つかの実施例において、上記の装置は、前記実行順序情報に基づいて前記少なくとも1つの処理対象サービスを実行するように構成された実行ユニットを更に備える。
【0018】
本開示の第3の態様によれば、電子機器であって、1つまたは複数のプロセッサと、1つまたは複数のコンピュータプログラムが記憶されたメモリと、を備え、前記1つまたは複数のコンピュータプログラムが前記1つまたは複数のプロセッサにより実行されると、前記1つまたは複数のプロセッサに、上記第1の態様に記載の方法を実行させる、電子機器を提供する。
【0019】
本開示の第4の態様によれば、コンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記コンピュータプログラムがプロセッサにより実行されると、上記第1の態様に記載の方法を実現させるコンピュータ読み取り可能な記録媒体を提供する。
【0020】
本開示の第5の態様によれば、コンピュータプログラムであって、プロセッサにより実行されることにより、上記第1の態様に記載の方法を実現させるコンピュータプログラムを提供する。
【0021】
本開示の実施例が提供する情報を生成するための方法及び装置は、まず、処理対象サービスを少なくとも1つ取得するとともに、前記少なくとも1つの処理対象サービスのうちの2つの処理対象サービスの実行順序を示す関係情報を少なくとも1つ取得する。その後、前記少なくとも1つの処理対象サービスのそれぞれを節点とし、前記少なくとも1つの関係情報のそれぞれを有向辺として、有向グラフを作成する。最後に、前記有向グラフに基づいて、前記少なくとも1つの処理対象サービスのそれぞれの実行順序情報を生成する。本出願によれば、直列実行の関係と並列実行の関係とが混在する複数の処理対象サービスの実行順序情報を決定することができる。
【図面の簡単な説明】
【0022】
本出願の他の特徴、目的及び利点は、以下の図面を参照してなされる非限定的な実施例に係る詳細な説明を読むことにより、より明らかになる。
【
図1】本開示の実施例を適用可能な例示的なシステムアーキテクチャを示す図である。
【
図2】本発明に係る情報を生成するための方法の一実施例のフローチャートである。
【
図3】本発明に係る情報を生成するための方法の適用シナリオを示す図である。
【
図4】本発明に係る情報を生成するための方法の他の実施例のフローチャートである。
【
図5】本発明に係る情報を生成するための装置の一実施例の概略構成図である。
【
図6】本開示の実施形態の実施に適した電子機器の概略構成図である。
【発明を実施するための形態】
【0023】
以下、図面及び実施例を参照しながら本出願をより詳細に説明する。ここで説明する具体的な実施例は、関連する発明を説明するためのものに過ぎず、当該発明を限定するものではないことを理解されたい。また、説明の便宜上、図面には発明に関連する部分のみが示されていることに留意されたい。
【0024】
なお、本出願の実施例及び実施例における特徴は、矛盾を生じない限り、相互に組み合わせることができる。以下、図面及び実施例を参照しながら本出願を詳細に説明する。
【0025】
図1は、本開示の実施形態に係る情報を生成するための方法、または、情報を生成する装置を適用できる例示的なシステムアーキテクチャ100を示す図である。
【0026】
図1に示すように、システムアーキテクチャ100は、サーバ装置101、102、103と、ネットワーク104と、制御装置105とを含むことができる。ネットワーク104は、サーバ装置101、102、103と制御装置105との間で通信リンクを提供するための媒体である。ネットワーク104には、有線又は無線通信回線、光ファイバケーブル等の各種の接続形態が含まれていてもよい。
【0027】
サーバ装置101、102、103は、ネットワーク104を介して制御装置105とやり取りして、メッセージ等を送受信する。サーバ装置101、102、103には、例えば、ウェブブラウザアプリケーション、ショッピングアプリケーション、検索アプリケーション、即時通信ツール、メールクライアント、ソーシャルプラットフォームソフトウェア等、様々なデータ処理アプリケーションをインストールすることができる。
【0028】
サーバ装置101、102、103は、ハードウェアであってもよいし、ソフトウェアであってもよい。サーバ装置101、102、103は、ハードウェアである場合、データ処理を指示可能な様々な電子機器であってもよく、スマートフォン、タブレットコンピュータ、ノート型携帯コンピュータ及びデスクトップコンピュータ等を含むがこれらに限定されない。サーバ装置101、102、103は、ソフトウェアである場合には、上記に例示した電子機器にインストールすることができる。サーバ装置は、複数のソフトウェア又はソフトウェアモジュール(例えば分散サービスを提供するために用いられる)として実施されてもよく、単一のソフトウェア又はソフトウェアモジュールとして実施されてもよいが、ここで具体的に限定されない。
【0029】
制御装置105は、様々なサービスを提供するサーバであってもよく、例えば、サーバ装置101、102、103における各種のサービスの実行順序を設定するサーバであってもよい。サーバは、受信したサーバ装置101、102、103のそれぞれの処理対象サービス及び関係情報等のデータに対し解析等の処理を実行して、処理の結果(例えば実行順序情報)をサーバ装置101、102、103にフィードバックすることができる。
【0030】
なお、本開示の実施例による情報を生成する方法は、一般的に制御装置105によって実行される。それに応じて、情報を生成するための装置は、一般的に制御装置105に設けられる。
【0031】
なお、制御装置105は、ハードウェアであってもよいし、ソフトウェアであってもよい。制御装置105は、ハードウェアである場合、複数の制御装置で構成される分散型サーバクラスタとして実施されてもよく、また単一のサーバとして実施されてもよい。制御装置105は、ソフトウェアである場合、複数のソフトウェア又はソフトウェアモジュール(例えば分散サービスを提供するために用いられる)として実施されてもよく、単一のソフトウェア又はソフトウェアモジュールとして実施されてもよいが、ここで具体的に限定されない。
【0032】
なお、
図1に示したサーバ装置、ネットワーク、制御装置の数は単なる一例である。実際のニーズに応じて、任意の数のサーバ装置、ネットワーク、制御装置を備えることができる。
【0033】
次に、
図2を参照する。
図2に、本開示の情報を生成するための方法の一実施例のフロー200が示される。当該情報を生成するための方法は、以下のステップを含む。
【0034】
ステップ201において、処理対象サービスを少なくとも1つ取得するとともに、関係情報を少なくとも1つ取得する。
【0035】
本実施例において、情報を生成するための方法の実行主体(例えば
図1に示す制御装置105)は、有線接続又は無線接続を介して少なくとも1つの処理対象サービス及び少なくとも1つの関係情報を取得することができる。なお、上述の無線接続は、3G/4G接続、WiFi接続、ブルートゥース(登録商標)接続、 WiMAX接続、Zigbee接続、UWB(Ultra Wideband)接続、及びその他の既知又は将来に開発される無線接続方式を含むがこれらに限定されない。
【0036】
マイクロサービスアーキテクチャにおいて、サーバ装置間の実行順序は、直列実行又は並列実行であってもよい。従来技術では、サーバ装置間が直列実行である場合、一般的に技術者が実行順序に従ってサーバ装置を配置する必要がある。そのため、多くの時間がかかり、大規模なサーバ装置の場合に適用しない。サーバ装置間が並列実行である場合、単に並列実行しか行わない現在のサーバ装置に適用するが、並列実行と直列実行が混在する場合に適用しない。そのため、現在では、並列実行の適用範囲が狭い。
【0037】
サーバ装置101、102、103間の実行順序を決定するためには、実行主体は、まず、サーバ装置101、102、103の対応する少なくとも1つの処理対象サービスと、少なくとも1つの関係情報とを取得する必要がある。ここで、処理対象サービスは、サーバ装置101、102、103のデータ処理サービスであってもよい。例えば、サーバ装置101は、ウェブサーバであり、対応する処理対象サービスは、ウェブページ調査情報サービスであってもよい。関係情報は、上記少なくとも1つの処理対象サービスのうちの2つの処理対象サービス間の実行順序を示すために用いられる。すなわち、関係情報は、処理対象サービス間の依存関係であると考えることもできる。
【0038】
ステップ202において、上記少なくとも1つの処理対象サービスのうちの処理対象サービスを節点とし、上記少なくとも1つの関係情報のうちの関係情報を有向辺をとして、有向グラフを作成する。
【0039】
少なくとも1つの処理対象サービス及び少なくとも1つの関係情報を取得した後、実行主体は、少なくとも1つの処理対象サービス及び少なくとも1つの関係情報に基づいて、有向グラフを作成することができる。ここで、有向グラフの節点は、処理対象サービスを示すことに用いられる。有向グラフの有向辺は、関係情報を示すことに用いられる。
【0040】
本実施例のいくつかの選択可能な実現形態において、上記少なくとも1つの処理対象サービスのうちの処理対象サービスを節点とし、上記少なくとも1つの関係情報のうちの関係情報を有向辺をとして、有向グラフを作成するステップは、以下のステップを含んでもよい。
【0041】
第1のステップにおいて、上記少なくとも1つの処理対象サービスのそれぞれに対して、サービス番号を付与して、少なくとも1つの処理対象サービスに対応する少なくとも1つのサービス番号を得る。
【0042】
有向グラフを得るために、実行主体は、まず少なくとも1つの処理対象サービスのそれぞれに対して、サービス番号を付与することができる。このようにして、少なくとも1つの処理対象サービスに対応する少なくとも1つのサービス番号を取得する。
【0043】
第2のステップにおいて、上記少なくとも1つのサービス番号を平面図にマークし、且つ上記少なくとも1つの関係情報のうちの関係情報に基づいて、対応するサービス番号に対して少なくとも1つの有向辺を設置して、有向グラフを得る。
【0044】
実行主体は、少なくとも1つのサービス番号を平面図にマークしてもよい。サービス番号の間に辺を付加することを容易にするために、マークする際に、実行主体は、ランダム等の方法により各サービス番号を平面図にマークすることができる。その後、実行主体は、関係情報に基づいて有向辺を設置し、有向グラフを得ることができる。このように、有向辺を介して有向グラフにおける各点間の依存関係が確立される。ここで、有向辺の始点が該当する処理対象サービスは、有向辺の終点が該当する処理対象サービスより先に実行される。
【0045】
本実施例のいくつかの選択可能な実現形態において、上記少なくとも1つの処理対象サービスのそれぞれを節点とし、上記少なくとも1つの関係情報のそれぞれを有向辺としてグラフを作成するステップは、有向グラフを検出し、有向グラフに情報リングが存在する場合、警報信号を発することを含む。
【0046】
通常、作成された有向グラフは、節点間の循環との状況が存在しない。すなわち、有向グラフには、「リング」は存在しない。「リング」が存在すると、情報処理がデッドループに陥ってしまう。例えば、第一点は、有向辺によって第二点を指し、第二点は、有向辺によって第三点を指し、第三点は、有向辺によって第一点を指するように、第一点、第二点と第三点との間にループを形成することが挙げられる。実際には、何らかの原因で、実行主体に作成された有向グラフにリングが存在している可能性がある。この場合、実行主体は、警報信号を発し、よって、技術者が関連情報を検査して調整することができる。実行主体は、さらに有向グラフのリング検出アルゴリズム等の方法によってリングが存在するか否かを判定することができるが、ここでは説明を省略する。
【0047】
ステップ203において、上記有向グラフに基づいて上記少なくとも1つの処理対象サービスのそれぞれの実行順序情報を生成する。
【0048】
有向グラフ内の節点及び有向辺は、それぞれ、処理対象サービス及び関係情報を示すことができる。有向辺に基づいて、有向グラフ内の節点間の流れ(すなわち点間の前後順序)を決定し、続いて、処理対象サービスの実行順序情報を得ることができる。ここで、実行順序情報は、実行順序番号で表示されてもよく、他のタイプの情報で表示されてもよいが、ここでは説明を省略する。
【0049】
本実施例のいくつかの選択可能な実現形態において、上記有向グラフに基づいて上記少なくとも1つの処理対象サービスのそれぞれの実行順序情報を生成するステップは、以下のステップを含むことができる。
【0050】
第1のステップにおいて、上記有向グラフにおける実行開始点、実行終了点及び少なくとも1つの実行中点を決定する。
【0051】
実行主体は、実行順序情報を取得するために、まず、有向グラフにおいて、実行開始点及び実行終了点を特定してもよい。ここで、上記実行開始点は、最初に実行される処理対象サービスを示すために用いられる。例えば、有向グラフ中のある節点が有向辺の始点のみで使用される場合、その点が実行開始点であると考えられる。上記実行終了点は、最後に実行される処理対象サービスを示すために用いられる。例えば、有向グラフ中のある点が有向辺のある終点のみで使用される場合、その点が実行終了点であると考えられる。実行開始点と実行終了点を特定した後、残りの点が実行中点となる。前記実行中点は、前記実行開始点から前記実行終了点までの間に実行される処理対象のサービスを示すために用いられる。例えば、有向グラフ中のある点が有向辺の始点とされると同時に、有向辺の終点ともされる場合には、その点が実行中点であると考えられる。
【0052】
実際には、1つの有向グラフにおいて、複数の実行開始点及び/又は複数の実行終了点を有してもよく、具体的には、実際のニーズに応じて決定される。なお、有向グラフにおける実行中点は、通常、複数あるため、実行開始点と実行終了点とを先に特定してから、実行中点を決定してもよい。
【0053】
第2のステップにおいて、上記実行開始点に対して最初の実行順序情報を設定し、実行終了点に対して最後の実行順序情報を設定する。
【0054】
実行開始点と実行終了点とが決定されると、実行主体は、まず、実行開始点及び実行終了点に対して、それぞれ、最初の実行順序情報及び最後の実行順序情報を設定することができる。そのうち、最初の実行順序情報は、対応する処理対象サービスが最初に実行されることを示すことに用いられる。最後の実行順序情報は、対応する処理対象サービスが最後に実行されることを示すことに用いられる。なお、最初の実行順序情報及び最後の実行順序情報は、数字、アルファベット、その他の番号等で表すことができる。
【0055】
第3のステップにおいて、前記少なくとも1つの実行中点のそれぞれについて、前記最初の実行順序情報、最後の実行順序情報及び有向辺に基づいて、該実行中点と他の実行中点との間の実行順序情報を決定する。
【0056】
実行中点は、実行開始点と実行終了点との間の実行順序で実行されるものである。前記実行主体は、前記実行開始点および前記実行終了点に対応する前記最初の実行順序情報および前記最後の実行順序情報を決定した後、前記最初の実行順序情報および前記最後の実行順序情報に基づいて、前記実行中点間の前記実行順序情報を決定してもよい。例えば、実行主体は、2つの実行中点の実行順序を決定し、続けて、すべての実行中点の実行順序情報を決定してもよい。
【0057】
また、実行主体は、有向グラフ中の実行開始点のみを特定し、残りの点を全て実行中点としてもよい。その後、各実行中点と実行開始点との関係を調査して、まず、実行順序が第2番の実行中点を決定する。さらに、実行順序が第3番の実行中点を決定し、最後の実行中点の実行順序を決定するまで繰り返す。
【0058】
本実施例のいくつかの選択可能な実現形態において、上記最初の実行順序情報、最後の実行順序情報、及び有向辺に基づいて、該実行中点と他の実行中点との間の実行順序情報を決定するステップは、該実行中点にアクセスした有向辺の終点の数を調査し、上記アクセス数に基づいて該実行中点と他の実行中点との間の実行順序情報を決定することを含む。
【0059】
実行主体は、その実行中点にアクセスした有向辺の終点の数を調査することができる。アクセスした有向辺の終点の数が1つである場合、現在の実行中点をその直前の実行中点の次の順番とするとよい。アクセスした有向辺の終点の数が複数である場合、現在の実行中点は、複数の他の実行中点の実行が完了したからこそ、実行される。この場合、現在の実行中点の実行順序情報を決定するために、実行主体は、現在の実行中点と他の実行中点との間の実行順序を決定する必要がある。
【0060】
本実施例のいくつかの選択可能な実現形態において、上記アクセスした有向辺の終点の数に基づいて、該実行中点と他の実行中点との間の実行順序情報を決定することは、以下のステップを含むことができる。
【0061】
第1のステップにおいて、上記アクセスした有向辺の終点の数に対応する有向辺の始点が該当する、処理対象サービスの少なくとも1つの上位サービスのサービス番号を調査する。
【0062】
実行主体は、有向辺に基づいて、上記アクセスした有向辺の終点の数に対応する有向辺の始点が該当する、処理対象サービスの少なくとも1つの上位サービスのサービス番号を調査することができる。
【0063】
第2のステップにおいて、前記最初の実行順序情報及び最後の実行順序情報に基づいて上記少なくとも1つの上位サービスのサービス番号のうち最後に実行される上位サービスのサービス番号を調査する。
【0064】
上位サービス番号が実行開始点に対応する場合、現在の実行中点は、実行順序が第2番であってもよく、他の実行順序であってもよい。この場合、現在の実行中点と実行開始点との間は、直列実行の関係である。上位サービスのサービス番号が実行開始点に対応しない場合、上位サービスのサービス番号が他の実行中点に該当する。この場合、実行主体は、当該上位サービスのサービス番号に対応する実行中点を始点として、更なる上位サービスのサービス番号を調査してもよい。このように繰り返すと、実行順序が第2番の実行中点、実行順序が第3番の実行中点等を決定することができ、続いて実行中点に対応する各サービス番号を決定することができる。
【0065】
第3のステップにおいて、該実行中点の実行順序情報を上記最後に実行される上位サービスのサービス番号の実行順序情報の次の実行順序情報とする。
【0066】
ある実行中点について、複数の上位サービスのサービス番号が存在する場合、実行主体は、これらの上位サービスのサービス番号のうちの最後に実行された上位サービスのサービス番号を調査することができる。例えば、現在の実行中点は、2つの上位サービスのサービス番号があり、1つの上位サービスのサービス番号の実行順序情報が2であり、他の上位サービスのサービス番号の実行順序情報が3である場合、実行主体は、現在の実行中点の実行順序情報を実行順序情報が4にすることができる。即ち、現在の実行中点に対応する処理対象サービスは、実行順序情報が2の処理対象サービス、及び実行順序情報が3の処理対象サービスの2つの処理対象サービスの実行が終了してからこそ、実行できる。他に、実行順序情報が2の処理対象サービス及び実行順序情報が3の処理対象サービスの2つの処理対象サービスの実行が終了した後からこそ実行できる他の実行中点がある場合、現在の実行中点と当該他の実行中点とは、並列実行可能である。
【0067】
このようにして、直列実行と並列実行とが混在する複数の処理対象サービスの実行順序を決定することができる。
【0068】
また、実行主体は、最後の実行中点の実行順序に応じて、実行中点の実行順序情報を変更するようにしてもよい。例えば、最後の実行中点の実行順序が6番目である場合には、実行終了点の実行順序情報を7に変更してもよい。実行主体は、さらにタグに基づくトポロジソートアルゴリズム等の方法によって有向グラフ中の各点の実行順序情報を確定することができるが、ここでは説明を省略する。
【0069】
図3を参照する。
図3は、本実施例に係る情報を生成するための方法の適用シナリオの概略図である。
図3の適用シナリオにおいて、制御装置105が取得するサーバ装置の処理対象サービスは、{A,B,C,D,E,F}とし、関係情報は、{(A,B),(A,C),(B,C),(B,D),(C,E),(C,D),(D,F),(E,F)}としてもよい。そして、制御装置105は、
図3に示すように、処理対象サービスを節点とし、関係情報を有向辺として、有向グラフを生成する。
図3から分かるように、処理対象サービスAは先に実行され、続いて、処理対象サービスAに対応する有向辺は、処理対象サービスB及び処理対象サービスCを指す。ここで、処理対象サービスBは、処理対象サービスAからの有向辺を1つのみ有し、処理対象サービスCは、処理対象サービスAからの有向辺及び処理対象サービスBからの有向辺を有する。よって、処理対象サービスBは、実行順序が第2番(直列実行)となる。処理対象サービスCは、処理対象サービスA及び処理対象サービスBの実行が完了してからこそ実行されるので、処理対象サービスCは、実行順序が第3番(直列実行)となる。処理対象サービスDは、処理対象サービスBと処理対象サービスCの実行が完了してからこそ実行され、処理対象サービスEは、処理対象サービスCの実行が完了してからこそ実行される。処理対象サービスCは、処理対象サービスBの実行が完了してからこそ実行される。よって、処理対象サービスD及び処理対象サービスEは、いずれも処理対象サービスCの実行が完了してからこそ実行されるとみなすことができる。これにより、処理対象サービスDと処理対象サービスEとを同時に実行(並列実行)することができる。処理対象サービスFは、処理対象サービスDと処理対象サービスEの実行が完了してからこそ実行される(直列実行)。最後に、制御装置105は、
図3の有向グラフに基づいて生成された処理対象サービスの実行順序情報を、{A
1、B
2、C
3、D
4、E
4、F
5}とすることができる。このうち、上書きは、実行順序情報である。
【0070】
本開示の上記実施例による方法は、まず少なくとも1つの処理対象サービスと少なくとも1つの関係情報を取得する。続いて、上記少なくとも1つの処理対象サービスのそれぞれを節点とし、上記少なくとも1つの関係情報のそれぞれを有向辺として有向グラフを作成する。最後に上記有向グラフに基づいて上記少なくとも1つの処理対象サービスのそれぞれの実行順序情報を生成する。本出願は、直列実行関係と並列実行関係とが混在する複数の処理対象サービスの実行順序情報を決定することができる。
【0071】
さらに、
図4を参照すると、情報を生成するための方法の別の実施例のフロー400が示されている。該情報を生成するための方法のフロー400は、以下のステップを含む。
【0072】
ステップ401において、処理対象サービスを少なくとも1つ取得し、関係情報を少なくとも1つ取得する。
【0073】
本実施例において、情報を生成するための方法の実行主体(例えば
図1に示す制御装置105)は、有線接続又は無線接続によって少なくとも1つの処理対象サービス及び少なくとも1つの関係情報を取得することができる。
【0074】
ステップ401の内容は、ステップ201の内容と同じであるので、ここでは説明を省略する。
【0075】
ステップ402において、上記少なくとも1つの処理対象サービスのそれぞれを節点として、上記少なくとも1つの関係情報のそれぞれを有向辺として有向グラフを作成する。
【0076】
ステップ402の内容はステップ202の内容と同じであるので、ここでは説明を省略する。
【0077】
ステップ403において、上記有向グラフに基づいて上記少なくとも1つの処理対象サービスのそれぞれの実行順序情報を生成する。
【0078】
ステップ403の内容は、ステップ203の内容と同じであるので、ここでは説明を省略する。
【0079】
ステップ404において、上記実行順序情報に基づいて上記少なくとも1つの処理対象サービスを実行する。
【0080】
実行順序情報を取得した後、実行主体は、実行順序情報に基づいて処理対象サービスを順次実行することができ、直列実行関係及び並列実行関係が混在する処理対象サービスの実行を実現することができる。
【0081】
さらに
図5を参照し、上記各図に示す方法に対する実施態様として、本開示は、情報を生成するための装置の一実施例を提供する。該装置の実施例は、
図2に示す方法の実施例に対応し、該装置は、具体的に様々な電子機器に適用することができる。
【0082】
図5に示すように、本実施例の情報を生成するための装置500は、処理対象サービスを少なくとも1つ取得するとともに、少なくとも1つの処理対象サービスのうちの2つの処理対象サービスの実行順序を示す関係情報を少なくとも1つ取得するように構成された情報取得ユニット501と、少なくとも1つの処理対象サービスのそれぞれを節点とし、前記少なくとも1つの関係情報のそれぞれを有向辺として、有向グラフを作成するように構成された有向グラフ作成ユニット502と、有向グラフに基づいて、少なくとも1つの処理対象サービスのそれぞれの実行順序情報を生成するように構成された情報生成ユニット503とを備えてもよい。
【0083】
本実施例のいくつかの任意の実現形態において、上記有向グラフ作成ユニット502は、少なくとも1つの処理対象サービスのそれぞれに対し、対応するサービス番号を付与して、少なくとも1つの処理対象サービスに対応する少なくとも1つのサービス番号を得るように構成されたサービス番号設定サブユニット(図示せず)と、少なくとも1つのサービス番号を平面図にマークし、前記少なくとも1つの関係情報のうちの関係情報に基づいて、関連するサービス番号に対して少なくとも1つの有向辺を設置することにより、有向グラフを得る有向グラフ作成サブユニットであって、前記有向辺の始点が該当する処理対象サービスは、有向辺の終点が該当する処理対象サービスより先に実行されるように構成される有向グラフ作成サブユニット(図示せず)と、を備えてもよい。
【0084】
本実施例のいくつかの選択可能な実現形態において、上記有向グラフ作成ユニット502は、上記有向グラフを検出し、情報リングが存在することを検出した場合、警報信号を発するように構成された警報サブユニット(図示せず)をさら備えてもよい。
【0085】
本実施例のいくつかの選択可能な実現形態において、上記情報生成ユニット503は、有向グラフにおける実行開始点、実行終了点及び少なくとも1つの実行中点を決定するように構成された節点関係決定サブユニットであって、前記実行開始点は、最初に実行される処理対象サービスを示し、実行終了点は、最後に実行される処理対象サービスを示し、前記実行中点は、実行開始点と実行終了点との間で実行される処理対象サービスを示すように構成される節点関係決定サブユニット(図示せず)と、実行開始点に対して最初の実行順序情報を設定し、実行終了点に対して最後の実行順序情報を設定するように構成された最初の実行順序情報設定ユニット(図示せず)と、少なくとも1つの実行中点のそれぞれに対して、最初の実行順序情報、最後の実行順序情報、及び、有向辺に基づいて、当該実行中点と他の実行中点の間の実行順序情報を決定するように構成された第2の実行順序情報設定ユニット(図示せず)と、を備えてもよい。
【0086】
本実施例のいくつかの選択可能な実現形態において、上記第2の実行順序情報設定サブユニットは、当該実行中点にアクセスした有向辺の終点の数を調査し、前記アクセスした有向辺の終点の数に基づいて、当該実行中点と他の実行中点の間の実行順序情報を決定するように構成される実行順序情報決定モジュール(図示せず)を備えてもよい。
【0087】
本実施例のいくつかの選択可能な実現形態において、上記実行順序情報決定モジュールは、アクセスした有向辺の終点の数に対応する有向辺の始点が該当する、処理対象サービスの少なくとも1つの上位サービスのサービス番号を調査するように構成された上位サービス番号調査サブモジュール(図示せず)と、最初の実行順序情報及び最後の実行順序情報に基づいて前記少なくとも1つの上位サービスのサービス番号のうち最後に実行される上位サービスのサービス番号を調査するように構成された上位サービス番号決定サブモジュール(図示せず)と、当該実行中点の実行順序情報を、前記最後に実行される上位サービスのサービス番号の実行順序情報の次の実行順序情報とするように構成された実行順序情報決定サブモジュール(図示せず)とを備えても良い。
【0088】
本実施例のいくつかの選択可能な実現形態において、上記情報を生成するための上記装置500は、上記実行順序情報に基づいて上記少なくとも1つの処理対象サービスを実行するように構成される実行ユニット(図示せず)をさらに含むことができる。
【0089】
本実施例は、1つまたは複数のプロセッサを備え、1つまたは複数のプログラムを記憶し、前記1つまたは複数のプログラムが前記1つまたは複数のプロセッサに実行される時、前記1つまたは複数のプロセッサに上記情報を生成するための方法を実行させる電子機器をさらに提供する。
【0090】
本実施例は、コンピュータプログラムが記憶されコンピュータ読み取り可能な媒体であって、該コンピュータプログラムはプロセッサに実行されると上記情報を生成するための方法を実現するコンピュータ読み取り可能な媒体をさらに提供する。
【0091】
次に、
図6を参照して、本開示の実施形態に係る電子機器(例えば、
図1の制御装置105)を実現するために好適なコンピュータシステム600の構成を説明する。なお、
図6に示す電子機器はあくまで一例であり、本発明の実施形態の機能および使用範囲を限定するものではない。
【0092】
図6に示すように、電子機器600は、ROM(Read Only Memory)602に記憶されたプログラム、または記憶装置608からRAM (Random Access Memory)603にロードされたプログラムに従って各種の動作および処理を実行する処理装置(例えば、中央処理装置、グラフィックプロセッサ等)601を備えることができる。RAM603にはまた、電子機器600の動作に必要な各種プログラムやデータが記憶されている。処理装置601、ROM602、およびRAM603は、バス604を介して相互に接続されている。バス604にはまた、入出力インターフェイス605が接続されている。
【0093】
入出力インターフェイス605には、例えば、タッチパネル、キーボード、マウス、カメラ、マイク、加速度計、ジャイロなどよりなる入力装置606、LCD(Liquid Crystal Display)、スピーカ、バイブレータなどよりなる出力装置607、磁気テープ、ハードディスクなどよりなる記憶装置608、通信装置609が接続されている。通信装置609は、電子機器600と他の機器との間で無線または有線による通信を行い、データの授受を行うことができる。なお、
図6では、様々なデバイスを有する電子機器600を示しているが、必ずしも全てのデバイスを実施または備える必要はない。また、より多くの装置を実施してもよいし、より少ない装置を実施してもよい。
図6に示す各ブロックは1つの装置を代表してもよいし、必要に応じて複数の装置を代表してもよい。
【0094】
特に、本開示の実施例によれば、上記のフローチャートを参照しながら記載されたプロセスは、コンピュータのソフトウェアプログラムとして実現されてもよい。例えば、本開示の実施例は、コンピュータ可読媒体に具現化されるコンピュータプログラムを含むコンピュータプログラム製品を備え、該コンピュータプログラムは、フローチャートで示される方法を実行するためのプログラムコードを含む。このような実施例では、該コンピュータプログラムは、通信装置609によりネットワークからダウンロードされてインストールされることが可能であり、又は記憶装置608からインストールされ得る。該コンピュータプログラムがプロセッサ601によって実行されると、本開示の実施例の方法で限定された上記の機能を実行する。
【0095】
注意すべきなのは、本開示の実施例に記載されたコンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体、又はこれらの任意の組み合わせであってもよい。コンピュータ可読記憶媒体は、例えば、電気、磁気、光、電磁気、赤外線、又は半導体システム、装置もしくはデバイス、又はこれらの任意の組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例としては、1本又は複数の導線による電気的接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMもしくはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読取り専用メモリ(CD-ROM)、光メモリ、磁気メモリ、又はこれらの任意の適切な組み合わせを含むことができるが、これらに限定されない。本開示の実施例において、コンピュータ可読記憶媒体は、命令実行システム、装置もしくはデバイスによって使用可能な、又はそれらに組み込まれて使用可能なプログラムを包含又は格納する任意の有形の媒体であってもよい。本開示の実施例において、コンピュータ可読信号媒体は、ベースバンド内の、又は搬送波の一部として伝搬されるデータ信号を含むことができ、その中にコンピュータ可読プログラムコードが担持されている。かかる伝搬されたデータ信号は、様々な形態をとることができ、電磁信号、光信号、又はこれらの任意の適切な組み合わせを含むが、これらに限定されない。コンピュータ可読信号媒体は、更にコンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であってもよい。当該コンピュータ可読媒体は、命令実行システム、装置もしくはデバイスによって使用されるか、又はそれらに組み込まれて使用されるプログラムを、送信、伝搬又は伝送することができる。コンピュータ可読媒体に含まれるプログラムコードは任意の適切な媒体で伝送することができ、当該任意の適切な媒体とは、電線、光ケーブル、RF(無線周波数)など、又はこれらの任意の適切な組み合わせを含むが、これらに限定されない。
【0096】
上記コンピュータ読み取り可能な媒体は、上記電子機器に含まれていてもよいが、該電子機器に組み込まれず、単独で存在してもよい。上記コンピュータ読み取り可能な媒体に1つまたは複数のコンピュータプログラムが記録され、上記1つまたは複数のコンピュータプログラムが該電子機器に実行されると、該電子機器に、処理対象サービスを少なくとも1つ取得するとともに、前記少なくとも1つの処理対象サービスのうちの2つの処理対象サービスの実行順序を示す関係情報を少なくとも1つ取得するステップと、前記少なくとも1つの処理対象サービスのそれぞれを節点とし、前記少なくとも1つの関係情報のそれぞれを有向辺として、有向グラフを作成するステップと、前記有向グラフに基づいて、前記少なくとも1つの処理対象サービスのそれぞれの実行順序情報を生成するステップと、を含む操作を実行させる。
【0097】
本開示の実施例の動作を実行するためのコンピュータプログラムコードは、1種以上のプログラミング言語、又はそれらの組み合わせで作成されることができ、プログラミング言語は、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語と、「C」言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語とを含む。プログラムコードは、完全にユーザのコンピュータで実行されることも、部分的にユーザのコンピュータで実行されることも、単独のソフトウェアパッケージとして実行されることも、部分的にユーザのコンピュータで実行されながら部分的にリモートコンピュータで実行されることも、又は完全にリモートコンピュータもしくはサーバで実行されることも可能である。リモートコンピュータの場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続することができ、又は(例えば、インターネットサービスプロバイダによるインターネットサービスを介して)外部のコンピュータに接続することができる。
【0098】
図面のうちのフローチャート及びブロック図は、本出願の様々な実施例に係るシステム、方法及びコンピュータプログラム製品によって実現できるアーキテクチャ、機能及び動作の表示例である。これについては、フローチャート又はブロック図における各ブロックは、モジュール、プログラムセグメント、又はコードの一部を表すことができる。当該モジュール、プログラムセグメント、又はコードの一部には、所定のロジック機能を実現するための1つまたは複数の実行可能命令が含まれている。さらに注意すべきなのは、一部の代替となる実施態様においては、ブロックに示されている機能は図面に示されているものとは異なる順序で実行することも可能である。例えば、連続して示された2つのブロックは、実際には係る機能に応じて、ほぼ並行して実行されてもよく、時には逆の順序で実行されてもよい。さらに注意すべきなのは、ブロック図及び/又はフローチャートにおけるすべてのブロック、ならびにブロック図及び/又はフローチャートにおけるブロックの組み合わせは、所定の機能又は操作を実行する専用のハードウェアベースのシステムで実現することもできれば、専用のハードウェアとコンピュータ命令との組み合わせで実現することもできる。
【0099】
本出願の実施例に記載された手段は、ソフトウェアで実現されてもよく、ハードウェアで実現されてもよい。記載されたユニットは、プロセッサに設置されてもよく、例えば、「第1取得ユニットと、第1生成ユニットとを備えるプロセッサ」として記載されてもよい。ここで、これらのユニットの名称は、ある場合において当該ユニットそれ自体を限定するものではなく、例えば、第1取得ユニットは、「物品を載置する棚の重力検知データを取得するユニット」として記載されてもよい。
【0100】
以上の記載は、本出願の好ましい実施例、及び使用された技術的原理に関する説明に過ぎない。当業者であれば、本出願に係る発明の範囲が、上記の技術的特徴の特定の組み合わせからなる解決策に限定されるものではなく、上記の本出願の趣旨を逸脱しない範囲で、上記の技術的特徴又はそれらの同等の特徴の任意の組み合わせからなる他の解決策も含むべきであることを理解すべきである。例えば、上記の特徴と本出願に開示された類似の機能を有する技術的特徴(それらに限られない)とを相互に置き換えてなる解決策が該当する。