JP2019510306A - 分散型サービス処理の完全性をチェックする方法及び装置 - Google Patents

分散型サービス処理の完全性をチェックする方法及び装置 Download PDF

Info

Publication number
JP2019510306A
JP2019510306A JP2018545456A JP2018545456A JP2019510306A JP 2019510306 A JP2019510306 A JP 2019510306A JP 2018545456 A JP2018545456 A JP 2018545456A JP 2018545456 A JP2018545456 A JP 2018545456A JP 2019510306 A JP2019510306 A JP 2019510306A
Authority
JP
Japan
Prior art keywords
service
service subsystem
subsystem
processing
level
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.)
Granted
Application number
JP2018545456A
Other languages
English (en)
Other versions
JP6622926B2 (ja
Inventor
ドウ,ファンユー
Original Assignee
アリババ グループ ホウルディング リミテッド
アリババ グループ ホウルディング リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アリババ グループ ホウルディング リミテッド, アリババ グループ ホウルディング リミテッド filed Critical アリババ グループ ホウルディング リミテッド
Publication of JP2019510306A publication Critical patent/JP2019510306A/ja
Application granted granted Critical
Publication of JP6622926B2 publication Critical patent/JP6622926B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Hardware Redundancy (AREA)

Abstract

本願の実施は、分散型サービス処理の完全性をチェックする方法及び装置を開示する。一の方法は以下の通りである。すなわち、エントリサービスサブシステムがサービスリクエストを転送する必要があるレベル1の各サービスサブシステムについて、エントリサービスサブシステムが、エントリサービスサブシステムと、レベル1のサービスサブシステムとの連結識別子を生成し、排他的OR処理を実行して第1のチェック値を取得する。処理を完了した後、各共通サービスサブシステムは、上位レベルのサービスサブシステムから転送される連結識別子を記録し;共通サービスサブシステムと転送が必要な下位レベルのサービスサブシステムとの連結識別子を生成し、生成された連結識別子と第1のチェック値と共に、記録された連結識別子に対して排他的OR処理を実行し;第1のチェック値を更新する。処理を完了した後、各末端サービスサブシステムは、上位レベルのサービスサブシステムから転送される連結識別子を記録し;記録された連結識別子及び第1のチェック値に対して排他的OR処理を実行し;第1のチェック値を更新する。この実施において、分散型システムのサービス処理状況は、比較的小さなスペースに格納される。

Description

本願は、2016年2月29日に提出され「分散型サービス処理の完全性をチェックする方法及び装置」と題された中国特許出願第201610113586.1号の優先権を主張し、上記中国特許出願は参照によってその全体が本願に組み込まれる。
本願は、分散型サービス技術の分野に関し、特に、分散型サービス処理の完全性をチェックする方法及び装置に関する。
分散型サービスシステムは、柔軟かつ効率的にサービスを処理することができる。分散型サービス処理を通じ、サービス間の関係に基づきサービス全体の処理を完了するために、並列かつ協調的に接続できる互いに無関係な一連のサブシステムに、従来のシステムを分割することができる。例えば、現在、電子商取引プラットフォーム(例えばAlipayシステム)、ローカライズされた検索サービスプラットフォーム(例えば58.com)、会員登録及びマーケティングシステムなどは全て、分散型サービスシステムを用いることにより様々なサービスを柔軟に処理できる。
会員登録及びマーケティングシステムを例にとる。会員登録及びマーケティングサービスに関する様々な機能に基づき、種々のサービスサブシステム、すなわち、登録ページシステムA、会員登録システムB、APPプッシュシステムC、認証関連システムD、マーケティングシステムE、ショートメッセージシステムH、及び電子メールシステムI等を含めることができる。図1に示すように、サービス全体を、上記サービスサブシステムに基づき分割でき、分割を通じて取得されるサービス間の内部関係に基づき下記のプロセスが実行される。
S1:登録ページシステムAが、会員登録及びマーケティングリクエストを受信する(このリクエストのサービスシリアル番号をNo.001と仮定する)。
会員登録及びマーケティングリクエストは、クライアントにより送信される登録リクエストをサーバが受信した後に、分散型サービスシステムにおけるフロントエンドサーバにより登録ページシステムAへ送信されるリクエストとすることができる。
S2:登録ページシステムAが、会員登録及びマーケティングリクエストに対応する関連会員登録データを解析して、対応するサービス処理を実行する。会員登録及びマーケティングリクエストに対応する関連会員登録データがサービス条件1を満たしていると特定すると、システムAは、会員登録及びマーケティングリクエストに対応する関連会員登録データを、サービス条件1に対応する会員登録システムBへ送信し、データがサービス条件2を満たしている場合、システムAは、データをサービス条件2に対応するAPPプッシュシステムCへ送信する。
例えば、サービス条件1は新規登録であり、サービス条件2は携帯電話を用いることによる登録である。
S3:会員登録システムBが、会員登録及びマーケティングリクエストに対応する関連会員登録データを解析して、対応するサービス処理を実行する。解析を通じて取得される会員登録及びマーケティングリクエストに対応する関連会員登録データがサービス条件3を満たしていると特定すると、システムBは、データを認証関連システムDへ送信し、データがサービス条件4を満たしている場合、システムBは、データをマーケティングシステムEへ送信する。
S4:認証関連システムDが、受信されたデータに基づき対応するサービス処理を実行する。
S5:マーケティングシステムEが、会員登録及びマーケティングリクエストに対応する関連会員登録データを解析して、対応するサービス処理を実行する。解析を通じて取得される会員登録及びマーケティングリクエストに対応する関連会員登録データが、サービス条件5を満たしていると特定すると、システムEは、データをショートメッセージシステムHへ送信し、データがサービス条件6を満たしている場合には、システムEは、データを電子メールシステムIへ送信する。
S6:ショートメッセージシステムH及び電子メールシステムIが、受信されたデータに基づき、対応するサービス処理を別々に実行する。
ショートメッセージシステムH及び電子メールシステムIは、受信されたデータに基づき、対応するサービス処理を別々に実行して、マーケティングタスクを完了する。
複数のサブシステムが1つのサービスを協調して完了する場合、要因、例えばサービス制約(例えば、紅包(御祝儀あるいはお年玉)が、使用条件を満たしていない或いは口座残高が不十分である)及びシステム故障(例えば、ネットワーク若しくはシステムがタイムアウトする、又は、データベース制約が満たされてない)により、分散型サービス処理プロセスの中断がもたらされることがある。中断は、一部の実行されたタスクのデータと他のデータとの矛盾の原因となり、この矛盾は、後続のサービスに深刻な影響を与えることがある。したがって、データの整合性を確保するため、分散型タスク処理の完全性をチェックする必要がある。
既存の技術において、分散型タスク処理の完全性をチェックする方法は、表1に示すように、表中の各サービスサブシステムのサービス処理結果を記録することである。
Figure 2019510306
先の方法においては、比較的多量のデータが格納される。特に、現在の大規模インターネットサービスの場合、1つのサービスが数十のサブシステムを発動させて種々のサブサービス処理を実行する場合がある。そのため、1つのサービスフローに対して、数十のデータを記録する表(テーブル)が必要になることがあり、格納量は比較的大きくなる。
本願の実施の目的は、分散型サービス処理の完全性をチェックする方法及び装置を提供することにより、格納されるデータの量を低減することにある。
上記の技術的問題を解決するため、本願の実施において提供される分散型サービス処理の完全性をチェックする方法及び装置は、以下に述べるように実施される。
分散型サービス処理の完全性をチェックする方法が提供され、分散型サービスシステムがサービスリクエストを受信し、サービス条件に基づき前記サービスリクエストを後続のサービスサブシステムへレベルごとに転送する。前記分散型システムにおける各サービスサブシステムのサービス処理状況が監視される。そしてこの方法は以下を含む。
エントリサービスサブシステムが前記サービスリクエストを受信し、前記サービスリクエストをレベル1のサービスサブシステムへ転送する必要がある場合、転送が必要なレベル1の各サービスサブシステムについて、前記エントリサービスサブシステムにより前記エントリサービスサブシステムと前記レベル1のサービスサブシステムとの連結識別子を生成し、前記生成された連結識別子に対して排他的OR処理を実行して第1のチェック値を取得するステップ。
前記処理を完了した後、上位レベルのサービスサブシステムから転送された連結識別子を各共通サービスサブシステムにより記録する。前記共通サービスサブシステムが前記サービスリクエストを転送する下位レベルの各サービスサブシステムについて、前記共通サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成する。前記生成された連結識別子と前記第1のチェック値と共に、前記記録された連結識別子に対して各共通サービスサブシステムにより排他的OR処理を実行し、前記第1のチェック値を更新する。
前記処理を完了した後、上位レベルのサービスサブシステムから転送された連結識別子を各末端サービスサブシステムにより記録し、前記記録された連結識別子及び前記第1のチェック値に対して各末端サービスサブシステムにより排他的OR処理を実行し、前記第1のチェック値を更新する。
分散型サービス処理の完全性をチェックする装置が提供され、分散型サービスシステムが、サービスリクエストを受信し、サービス条件に基づき前記サービスリクエストを後続のサービスサブシステムへレベルごとに転送する。この装置は以下を含む。
前記分散型システムにおける各サービスサブシステムのサービス処理状況を監視するように構成された監視ユニットと;エントリサービスサブシステムが前記サービスリクエストを受信し、前記サービスリクエストをレベル1のサービスサブシステムへ転送する必要がある場合、転送が必要なレベル1の各サービスサブシステムについて、前記エントリサービスサブシステムと前記レベル1のサービスサブシステムとの連結識別子を生成するように構成された第1の生成ユニット。
前記第1の生成ユニットにより生成された前記連結識別子に対して排他的OR処理を実行して第1のチェック値を取得するように構成された第1の排他的ORユニットと;各サービスサブシステムが前記処理を完了した後に上位レベルのサービスサブシステムから転送された連結識別子を記録するように構成された記録ユニットと;前記サービスリクエストを共通サービスサブシステムへ転送する必要がある下位レベルの各サービスサブシステムについて、前記共通サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成するように構成された第2の生成ユニットと;各共通サービスサブシステムにより記録された前記連結識別子と、各共通サービスサブシステムにより生成される前記連結識別子と、前記第1のチェック値とに対して排他的OR処理を実行し、前記第1のチェック値を更新し;更に、各末端サービスサブシステムにより記録された連結識別子及び前記第1のチェック値に対して排他的OR処理を実行し、前記第1のチェック値を更新するように構成された第2の排他的ORユニット。
サービスリクエストを下位レベルのサービスサブシステムへ転送する場合には、分散型システムにおける任意のサービスサブシステムが、当該サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成し;処理を完了した場合には、前記分散型システムにおける任意のサービスサブシステムが、当該サービスサブシステムへ上位レベルのサービスサブシステムから転送される連結識別子を記録する、分散型サービス処理の完全性をチェックする方法が提供され、この方法は:エントリサービスサブシステムによって、前記サービスサブシステムにより生成される連結識別子に対して排他的OR処理を実行してチェック値を取得するステップと;前記エントリサービスサブシステム以外の各レベルのサービスサブシステムによって、前記サービスサブシステムにより記録された連結識別子と、前記サービスサブシステムにより生成された連結識別子と、上位レベルのサービスサブシステムのチェック値とに対して排他的OR処理を実行して最終チェック値を取得するステップと;を含む。
分散型サービス処理の完全性をチェックする装置が提供され、この装置は:分散型システムにおける任意のサービスサブシステムがサービスリクエストを下位レベルのサービスサブシステムへ転送する場合、前記サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成するように構成された第3の生成ユニットと;前記分散型システムにおける任意のサービスサブシステムが処理を完了した場合、上位レベルのサービスサブシステムから前記サービスサブシステムへ転送された連結識別子を記録するように構成された記録ユニットと;エントリサービスサブシステムにより生成された連結識別子に対して排他的OR処理を実行してチェック値を取得するように構成された第3の排他的ORユニットと;前記エントリサービスサブシステム以外の各レベルのサービスサブシステムにより記録された連結識別子と、前記エントリサービスサブシステム以外の前記サービスサブシステムにより生成された連結識別子と、上位レベルのサービスサブシステムのチェック値とに対して排他的OR処理を実行して最終チェック値を取得するように構成された第4の排他的ORユニットと;を含む。
サービスリクエストを下位レベルのサービスサブシステムへ転送する場合には、分散型システムにおける各サービスサブシステムが、前記サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成し;処理を完了した場合には、前記分散型システムにおける各サービスサブシステムが、上位レベルのサービスサブシステムから転送された連結識別子を記録する、分散型サービス処理の完全性をチェックする方法が提供され、この方法は:全ての前記サービスサブシステムにより記録された前記連結識別子と、全ての前記サービスサブシステムにより生成された前記連結識別子とに対して排他的OR処理を実行して最終チェック値を取得するステップを含む。
分散型サービス処理の完全性をチェックする装置が提供され、この装置は:分散型システムにおける各サービスサブシステムがサービスリクエストを下位レベルのサービスサブシステムへ転送する場合、前記サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成するように構成された第4の生成ユニットと;前記分散型システムにおける任意のサービスサブシステムが処理を完了した場合、上位レベルのサービスサブシステムから前記サービスサブシステムへ転送される連結識別子を記録するように構成された記録ユニットと;エントリサービスサブシステムにより生成された連結識別子と、前記エントリサービスサブシステム以外の各レベルのサービスサブシステムにより記録された連結識別子と、前記エントリサービスサブシステム以外の前記サービスサブシステムにより生成される連結識別子とに対して排他的OR処理を実行して最終チェック値を取得するように構成された第7の排他的ORユニットと;を含む。
本願の実施においては、本願の実施で提供される技術的解決策から分かることであるが、既存の技術とは異なり、非常に大きなテーブルを用いて各サービスサブシステムを記録する必要がない。それどころか、比較的小さなスペースを用いて分散型システムのサービス処理状況が格納されるように、規則に基づき排他的OR操作が実行される。
本願の実施又は既存の技術における技術的解決策をより明確に説明するため、実施又は既存の技術の説明に必要な添付図面について以下簡潔に説明する。明らかに、下記の記載における添付図面は、本願の一部の実施を示すに過ぎず、当業者は、これらの添付図面に基づき創造的活動を要することなく他の図面を導き出すことができる。
図1は、既存の技術における、分散型サービス処理の完全性をチェックする方法を示す概略図である。
図2は、本願の実施に係る、分散型サービス処理の完全性チェックの基本設計概念を示す図である。
図3は、本願の実施に係る、分散型サービス処理の完全性をチェックする方法を示すフローチャートである。
本願の実施は、分散型サービス処理の完全性をチェックする方法及び装置を提供する。
本願における技術的解決策を当業者がより深く理解できるように、本願の実施における技術的解決策を、添付図面を参照して明確かつ完全に以下説明する。明らかに、記載される実施は、本願の実施の一部に過ぎず、全てではない。本願の実施に基づき創造的活動を要することなく当業者によって得られる他の実施は全て、本願の保護範囲に含まれる。
本願は、分散型サービス処理の完全性をチェックする方法の実施を提供する。図2及び図3を参照して本願の実施を詳細に以下説明する。図2に示す登録ページシステムAは、エントリサービスサブシステムとすることができる。分散型システムにおいて、エントリサービスサブシステムは、レベル1のサービスサブシステムに接続でき、エントリサービスサブシステムへのサービス接続を有する1つ以上のレベル1のサービスサブシステムが存在してもよい。同様に、レベル1のサービスサブシステムは、レベル2のサービスサブシステムに接続でき、レベル1のサービスサブシステムへのサービス接続を有する1つ以上のレベル2のサービスサブシステムが存在してもよい。同様に、レベル2のサービスサブシステムは、レベル3のサービスサブシステムに接続でき、レベル2のサービスサブシステムへのサービス接続を有する1つ以上のレベル3のサービスサブシステムが存在してもよい、などとなっている。図2に示す分散型システムは、エントリサービスサブシステム、レベル1のサービスサブシステム、レベル2のサービスサブシステム、及びレベル3のサービスサブシステムを含む。当業者には公知であるが、分散型システムによっては、同数のサービスサブシステムレベルを含んでもよく、それよりも多数又は少数のサービスサブシステムレベルを含んでもよい。例えば、システムは、5つのレベルのサービスサブシステムを含むことができる。ここでの記載は一例に過ぎず、限定を伴うものではない。
分散型システムにおいて、レベル1のサービスサブシステムからレベルnのサービスサブシステムを、エントリサービスサブシステム以外の共通サービスサブシステム及び末端サービスサブシステムとして設定できる。共通サービスサブシステムは、上位レベルのサービスサブシステムへのサービス接続を有することができ、下位レベルのサービスサブシステムへのサービス接続を有することができる。末端サービスサブシステムは、上位レベルのサービスサブシステムへのサービス接続のみを有することができ、末端サービスサブシステムへのサービス接続を有する下位レベルのサービスサブシステムを有することはできない。
図2において、レベル1のサービスサブシステムにおける会員登録システムBは共通サービスサブシステムであり、APPプッシュシステムCは末端サービスサブシステムであり;レベル2のサービスサブシステムにおける認証関連システムDは末端サービスサブシステムであり、マーケティングシステムEは共通サービスサブシステムであり;レベル3のサービスサブシステムにおけるショートメッセージシステムHと電子メールシステムIはどちらも末端サービスサブシステムである。
ブロック内のシステムPは、別の分散型システムを表す。一般に、統合サービスを提供するネットワークサービスプロバイダは、種々のサービスを処理するために複数の分散型サービスシステムを有することができる。
本願は、分散型サービス処理の完全性をチェックする方法の実施を提供する。図3に以下のステップを含む工程を示す。
S310:分散型サービスシステムが、サービスリクエストを受信し、サービス条件に基づきサービスリクエストを後続のサービスサブシステムへレベルごとに転送する。
例えば、図2に示すように、分散型サービスシステムは、登録ページシステムA、会員登録システムB、APPプッシュシステムC、認証関連システムD、マーケティングシステムE、ショートメッセージシステムH、及び電子メールシステムIを含む。先のサービスサブシステムに基づき全体サービスを分割でき、分割を通じて取得されるサービス間の内部関係に基づき下記の処理が実行される。
S1:登録ページシステムAが、会員登録及びマーケティングリクエストを受信する(このリクエストのサービスシリアル番号をNo.001と仮定する)。
会員登録及びマーケティングリクエストは、クライアントにより送信された登録リクエストをサーバが受信した後に、分散型サービスシステムにおいてフロントエンドサーバにより登録ページシステムAへ送信される、リクエストとすることができる。
S2:登録ページシステムAが、会員登録及びマーケティングリクエストに対応する関連会員登録データを解析して、対応するサービス処理を実行する。会員登録及びマーケティングリクエストに対応する関連会員登録データがサービス条件1を満たしていると特定すると、システムAは、会員登録及びマーケティングリクエストに対応する関連会員登録データを、サービス条件1に対応する会員登録システムBへ送信し、データがサービス条件2を満たしている場合には、システムAは、データをサービス条件2に対応するAPPプッシュシステムCへ送信する。
例えば、サービス条件1は新規登録であり、サービス条件2は携帯電話を用いた登録である。
S3:会員登録システムBが、会員登録及びマーケティングリクエストに対応する関連会員登録データを解析して、対応するサービス処理を実行する。解析を通じて取得される会員登録及びマーケティングリクエストに対応する関連会員登録データがサービス条件3を満たしていると特定すると、システムBは、データを認証関連システムDへ送信し、データがサービス条件4を満たしている場合には、システムBは、データをマーケティングシステムEへ送信する。
S4:認証関連システムDが、受信されたデータに基づき、対応するサービス処理を実行する。
S5:マーケティングシステムEが、会員登録及びマーケティングリクエストに対応する関連会員登録データを解析して、対応するサービス処理を実行する。解析を通じて取得される会員登録及びマーケティングリクエストに対応する関連会員登録データがサービス条件5を満たしていると特定すると、システムEは、データをショートメッセージシステムHへ送信し、データがサービス条件6を満たしている場合には、システムEは、データを電子メールシステムIへ送信する。
S6:ショートメッセージシステムH及び電子メールシステムIが、受信されたデータに基づき、対応するサービス処理を別々に実行する。
ショートメッセージシステムH及び電子メールシステムIは、受信されたデータに基づき、対応するサービス処理を別々に実行して、マーケティングタスクを完了する。
先のプロセスにおいて、登録ページシステムAはエントリサービスサブシステムであり;会員登録システムB、APPプッシュシステムC及びマーケティングシステムEは中間サービスサブシステムであり;認証関連システムD、ショートメッセージシステムH、及び電子メールシステムIは、末端サービスサブシステムである。会員登録システムB及びAPPプッシュシステムCはレベル1のサービスサブシステムであり;認証関連システムD及びマーケティングシステムEはレベル2のサービスサブシステムであり;ショートメッセージシステムH及び電子メールシステムIはレベル3のサービスサブシステムである。
S320:エントリサービスサブシステムがサービスリクエストを受信し、サービスリクエストをレベル1のサービスサブシステムへ転送する必要がある場合、転送が必要な各レベル1のサービスサブシステムについて、エントリサービスサブシステムは、エントリサービスサブシステムとレベル1のサービスサブシステムとの連結識別子を生成し、生成される連結識別子に対して排他的OR処理を実行して第1のチェック値を取得する。
ここで、理解を容易にするため、分散型サービスシステムが会員制マーケティングシステムの一例である場合、エントリサービスサブシステムは登録ページシステムAの一例であり、これに応じ、サービス処理リクエストは会員登録及びマーケティングリクエストの一例である。
加えて、サービスリクエストは、サービスシリアル番号、例えば、No.001を有することができる。
サービスリクエストを受信した後、エントリサービスサブシステムは、サービスリクエストを処理でき、所定のサービス条件に基づき関連データをレベル1のサービスサブシステムへ転送できる。ここで、レベル1のサービスサブシステムは、図2に示す会員登録システムB及びAPPプッシュシステムCの一例である。
転送が必要な各レベル1のサービスサブシステムについて、エントリサービスサブシステムと各レベル1のサービスサブシステムとの連結識別子が生成される。例えば、会員登録システムBについて、エントリサービスサブシステムとレベル1のサービスサブシステムとの連結識別子を生成できる。すなわち、登録ページシステムAと会員登録システムBとの連結識別子、例えば、トークンABが生成される。APPプッシュシステムCについて、エントリサービスサブシステムとレベル1のサービスサブシステムとの連結識別子を生成できる。すなわち、登録ページシステムAとAPPプッシュシステムCとの連結識別子、例えばトークンACが生成される。
エントリサービスサブシステムと全てのレベル1のサービスサブシステムとの連結識別子に対して排他的OR処理が実行されて、第1のチェック値が取得される。
数学計算における排他的OR処理規則は、下記の数1に示す通りである。
Figure 2019510306
或る数値とそれ自体との排他的ORの結果は0であり、排他的OR演算子(以下においては、上記数1に示す演算子に代えて「+」を用いる)は結合法則を満たす。
例えば、排他的OR処理は、会員登録システムBについて生成された連結識別子トークンABと、APPプッシュシステムCについて生成された連結識別子トークンACとに対して実行され、結果は、トークンAB+トークンACであり、ここで、トークンAB+トークンACは第1のチェック値である。
なお、転送が必要なレベル1の各サービスサブシステムが1つの第1レベルのサービスサブシステムのみを含む場合、例えば、図2の例において、条件1のみが満たされている場合、転送が必要なレベル1のサービスサブシステムは、会員登録システムBのみを含み、登録ページシステムAと会員登録システムBとの連結識別子トークンABのみが生成され、排他的OR処理は必要ない。本願において、S310は下記の状況を含む。すなわち、サービスリクエストの転送が必要なレベル1の各サービスサブシステムが第1レベルの1つのサービスサブシステムのみを含む場合、排他的OR処理は必要ない。
S330:処理を完了した後、各共通サービスサブシステムは、上位レベルのサービスサブシステムから転送される連結識別子を記録する。共通サービスサブシステムがサービスリクエストを転送する下位レベルの各サービスサブシステムについて、共通サービスサブシステムと、転送が必要な下位レベルのサービスサブシステムとの連結識別子を生成し、各共通サービスサブシステムは、生成される連結識別子と第1のチェック値と共に記録される連結識別子に対して、排他的OR処理を実行し、第1のチェック値を更新する。処理を完了した後、各末端サービスサブシステムは、上位レベルのサービスサブシステムから転送される連結識別子を記録し、各末端サービスサブシステムは、記録される連結識別子と第1のチェック値とに対して排他的OR処理を実行し、第1のチェック値を更新する。
S320の後、エントリサービスサブシステムは、生成された連結識別子を、対応するレベル1のサービスサブシステムへ転送する。図2を参照すると、登録ページシステムAは、生成された連結識別子トークンABを会員登録システムBへ転送し、生成された連結識別子トークンACをAPPプッシュシステムCへ転送する。これに応じ、レベル1のサービスサブシステムは、転送された連結識別子を受信できる。処理を完了した後、各レベル1のサービスサブシステムは、上位レベルのサービスサブシステムからレベル1のサービスサブシステムへ転送される連結識別子を記録できる。同様に、処理を完了した後、同一レベルのサービスサブシステムは、上位レベルのサービスサブシステムから転送された連結識別子を記録できる。
更に図2を参照すると、各レベル1のサービスサブシステムは、上位レベルのサービスサブシステムから転送された連結識別子を記録する。対応する処理を完了した後、会員登録システムB及びAPPプッシュシステムCはそれぞれ、上位レベルのサービスサブシステムから転送された連結識別子トークンAB及び連結識別子トークンACを記録できる。
処理を完了した後、共通サービスサブシステムがサービスリクエストを転送する下位レベルの各サブシステムについて、共通サービスサブシステムは、共通サービスサブシステムと転送が必要な下位レベルのサービスサブシステムとの連結識別子を生成する。処理を完了した後に共通サービスサブシステムがサービスリクエストを転送する下位レベルの各サブシステムとしては、処理を完了した後、レベル1のサービスサブシステムが所定の規則に基づきサービスリクエストを転送する必要がある下位レベルの各サブシステムとすることができる。
図2を参照すると、例えば、会員登録システムBが共通サービスサブシステムであり、会員登録システムBは、会員登録に対応する関連会員登録データとマーケティングリクエストとを解析して、対応するサービス処理を実行する。解析を通じて取得される、会員登録に対応する関連会員登録データと、マーケティングリクエストとが条件3を満たすと特定すると、システムBは、データを認証関連システムDへ送信し、データが条件4を満たす場合、システムBは、データをマーケティングシステムEへ送信する。そのため、認証関連システムDについて、会員登録システムBと認証関連システムDとの連結識別子トークンBDを生成でき;マーケティングシステムEについて、会員登録システムBとマーケティングシステムEとの連結識別子トークンBEを生成できる。
各共通サービスサブシステムは、生成される連結識別子と第1のチェック値と共に、記録された連結識別子に対して排他的OR処理を実行し、第1のチェック値を更新できる。例えば、対応する処理を完了した後、会員登録システムBは、連結識別子トークンABを記録し、会員登録システムBは、連結識別子トークンBDと連結識別子トークンBEとを更に生成する。会員登録システムBは、生成される連結識別子と第1のチェック値と共に、記録された連結識別子に対して排他的OR処理を実行できる。具体的には、記録される連結識別子はトークンABであり、生成された連結識別子はトークンBD及びトークンBEであり、第1のチェック値はトークンAB+トークンACであり、生成された連結識別子と第1のチェック値と共に、記録された連結識別子に対して排他的OR処理が実行された後に取得される結果は、トークンAB+トークンBD+トークンBE+トークンAB+トークンAC=トークンBD+トークンBE+トークンACである。第1のチェック値は、この排他的OR処理結果に更新できる。
図2において、APPプッシュシステムCは末端サービスサブシステムであるので、サービス処理を完了した後、APPプッシュシステムCは、上位レベルのサービスサブシステムから転送された連結識別子トークンACを記録する。各末端サービスサブシステムは、記録された連結識別子及び第1のチェック値に対して排他的OR処理を実行し、第1のチェック値を更新する。具体的には、APPプッシュシステムCにより記録される連結識別子はトークンACであり、第1のチェック値はトークンBD+トークンBE+トークンACである。記録された連結識別子及び第1のチェック値に対して排他的OR処理が実行された後に取得される結果は、トークンAC+トークンBD+トークンBE+トークンAC=トークンBD+トークンBEである。第1のチェック値は、この排他的OR処理結果に更新できる。
転送が必要なサービスサブシステムの各レベルについて、全てのサービスサブシステムがサービス処理を完了するまで、又は、処理を終えるまで上記処理を繰り返すことができる。
図2を参照すると、対応する処理を完了した後、下位レベルの各サービスサブシステム、例えばレベル2のサービスサブシステムは、上位レベルのサービスサブシステムから転送される連結識別子を記録できる、すなわち、認証関連システムDにより受信されるトークンBD及びマーケティングシステムEにより受信されるトークンBEを記録できる。
レベル2のサービスサブシステム、例えば認証関連システムD及びマーケティングシステムEについて、認証関連システムDは末端サービスサブシステムであり、処理を完了した後、もはや下位レベルのサブシステムにサービスリクエストを転送することはない。マーケティングシステムEは共通サービスサブシステムであり、処理を完了した後、サービスリクエストを下位レベルのサービスサブシステム、すなわち、ショートメッセージシステムH及び電子メールシステムIへ転送し、したがって連結識別子トークンEH及び連結識別子トークンEIを生成する。認証関連システムDは、記録された連結識別子及び第1のチェック値に対して排他的OR処理を実行し、第1のチェック値を更新し、第1のチェック値はトークンBD+トークンBD+トークンBE=トークンBEとなる。マーケティングシステムEは、生成された連結識別子と第1のチェック値と共に、記録された連結識別子に対して排他的OR処理を実行し、第1のチェック値を更新し、第1のチェック値はトークンBE+トークンEH+トークンEI+トークンBE=トークンEH+トークンEIとなる。
レベル3のサービスサブシステム、例えばショートメッセージシステムH及び電子メールシステムIについて、ショートメッセージシステムH及び電子メールシステムIはどちらも末端サービスサブシステムである。処理を完了した後、ショートメッセージシステムHは、上位レベルのサービスサブシステムから転送された連結識別子、すなわち、マーケティングシステムEから転送されるトークンEHを記録できる。ショートメッセージシステムHは、生成された連結識別子と第1のチェック値と共に、記録された連結識別子に対して排他的OR処理を実行し、第1のチェック値をトークンEH+トークンEH+トークンEI=トークンEIに更新する。処理を完了した後、電子メールシステムIは、上位レベルのサービスサブシステムから転送される連結識別子、すなわち、マーケティングシステムEから転送されるトークンEIを記録できる。電子メールシステムIは、生成される連結識別子と第1のチェック値と共に、記録される連結識別子に対して排他的OR処理を実行し、第1のチェック値をトークンEI+トークンEI=0に更新する。
分散型サービスシステムがサービスリクエストに対する全ての処理を完了している場合、本願の先の実施における処理方法に基づく最終結果は0となる。換言すると、先の方法に基づき取得される最終のチェック値は0であり、それは、分散型サービスシステムがサービスリクエストに対する全ての処理を完了したことを意味する。
上記処理に基づき、ショートメッセージシステムHが処理を完了していないと仮定すると、完全性チェック装置は、上位レベルのサービスサブシステムからショートメッセージシステムHへ転送される連結識別子EHを記録せず、上記処理方法に基づき、最終結果がトークンEI+トークンEH+トークンEI、すなわち、トークンEHとなる。この結果が意味することは、分散型システムがショートメッセージシステムHでの処理を終了したということであり、それはおそらく、サービスリクエストがサービスサブシステムHへ転送されていない、又はサービスサブシステムHが処理を完了していないためである。連結識別子トークンEHの存在は、サービスサブシステムEが、サービスサブシステムEと、サービスリクエストの転送が必要なサービスサブシステムHとの連結識別子を少なくとも生成していることを意味する。換言すると、先の方法に基づき取得される最終チェック値が連結識別子である。最終結果が連結識別子である場合、連結識別子の中の最後の識別子に対応するサービスサブシステム、すなわち、分散型サービスシステムがサービスリクエストの処理を終了したサービスサブシステムは、サービス処理を完了していない。
同様に、最終結果が2つ以上の連結識別子である場合、各連結識別子の中の最後の識別子に対応するサービスサブシステムは、サービス処理を完了していない。例えば、最終結果がトークンEH+トークンEIである場合、すなわち、2つの連結識別子が存在する場合、第1の連結識別子EHの中の最後のHは、サービスサブシステムHがサービス処理を完了していないことを意味し、第2の連結識別子EIの中の最後のIは、電子メールシステムIがサービス処理を完了していないことを意味する。
図2を参照すると、先の処理方法に基づき、別の例として、登録ページシステムAがAB及びACを生成し、第1のチェック値:トークンAB+トークンACを取得する。
対応する処理を完了した後、会員登録システムBは、受信されるトークンABを記録する。対応する処理を完了した後、APPプッシュシステムCは、受信されたトークンACを記録する。会員登録システムBは、トークンBD及びトークンBEを生成し、生成されるトークンBD及びトークンBEをそれぞれ認証関連システムD及びマーケティングシステムEへ転送し、第2のチェック値:トークンAB+トークンAC+トークンBD+トークンBE+トークンAB+トークンAC=トークンBD+トークンBEを取得する。
認証関連システムDが処理を完了したと仮定すると、認証関連システムDは、上位レベルのサービスサブシステムから認証関連システムDへ転送された連結識別子トークンBDを記録する。マーケティングシステムEが処理を完了していないとすると、マーケティングシステムEは、トークンBEを記録しない。マーケティングシステムEが処理を完了していないので、マーケティングシステムEはトークンEH及びトークンEIを生成せず、第3のチェック値:トークンBD+トークンBD+トークンBE=トークンBEを取得する。
先の結果は、分散型サービスシステムにおけるサービス処理が、マーケティングシステムEで処理を終了したことを意味する。
分散型サービスシステムの処理結果BEを取得した後、関連システムは、対応する後続のサービス処理、例えば、マーケティングシステムEの故障をチェックして取り除く、又はマーケティングシステムEのサービス処理を再開する等の処理を実行できる。
先の例は、1つのエントリサービスサブシステムと3つのレベルのサービスサブシステムとを有する分散型システムを示すに過ぎず、実際の分散型サービスシステムは、数十又は数百のサービスサブシステムレベルを有してもよい。本願のこの実施において提供される方法において、既存の技術とは異なり、非常に大きなテーブルを用いて各サービスサブシステムを記録する必要がない。それどころか、比較的小さなスペースを用いて分散型システムのサービス処理状況が格納されるように、規則に基づき排他的OR操作が実行される。
加えて、既存の技術には、同期呼び出し処理方法が存在する。既存の技術において、図1に示す下位レベルのサービスサブシステムのための上位レベルのサービスサブシステムの呼び出しチェーンは、全て強制的に同期呼び出しに変更される。システムAは、システムC及びシステムBが処理を完了した後にのみサービス結果を上位レベルへ返信する。同様に、システムBは、システムE及びシステムDが処理を完了した後にのみサービス結果を上位レベルへ返信する。同様に、システムEは、システムH及びシステムIが処理を完了した後にのみサービス結果を上位レベルへ返信する。この場合、特定の段階において例外が発生した場合、上位レベル呼び出しシステムはこの例外を認識する。しかし、既存の技術の同期処理方法においては、非同期的に処理することもできる一部の重要でないサービスも強制的に同期処理されると、分散型システム全体のサービス処理時間は長くなる。そして、クライアントに応答する時間が延び、それがユーザエクスペリエンスを低下させ、システム全体のスループットが影響を受ける。
しかし、本願の先の実施に係る解決策においては、分散型システムのサービス処理状況を適時にチェックできる。同期処理は必要なく、そのため、サービス処理時間が延びることはなく、ユーザエクスペリエンスは影響を受けず、システム全体のスループットが影響を受けることはない。
本願は、分散型サービス処理の完全性をチェックする装置の実施を更に提供し、この装置は、分散型システムにおける各サービスサブシステムのサービス処理状況を監視するように構成された監視ユニットと;エントリサービスサブシステムがサービスリクエストを受信し、サービスリクエストをレベル1のサービスサブシステムへ転送する必要がある場合、転送が必要なレベル1の各サービスサブシステムについて、エントリサービスサブシステムとレベル1のサービスサブシステムとの連結識別子を生成するように構成された第1の生成ユニットと;第1の生成ユニットにより生成される連結識別子に対して排他的OR処理を実行して第1のチェック値を取得するように構成された第1の排他的ORユニットと;各サービスサブシステムが処理を完了した後に上位レベルのサービスサブシステムから転送される連結識別子を記録するように構成された記録ユニットと;処理を完了した後、サービスサブシステムがサービスリクエストを転送する必要がある下位レベルの各サブシステムについて、サブシステムと下位レベルサブシステムとの連結識別子を生成するように構成された第2の生成ユニットと;記録ユニットにより記録される連結識別子と、第2の生成ユニットにより生成された連結識別子と、最後に取得された第1のチェック値とに対して排他的OR処理を実行して新しいチェック値を取得するように構成された第2の排他的ORユニットを含む。
好ましくは、この装置は、分散型システムの内部又は外部に配設される。
好ましくは、サービスリクエストはシリアル番号を有する。
好ましくは、連結識別子は、組み合わされたサービスサブシステムの識別子を含む。
好ましくは、記録ユニットは、上位レベルのサービスサブシステムから処理を完了していないサービスサブシステムへ転送される連結識別子を記録しない。
本願における、別の分散型サービス処理の完全性をチェックする方法の実施を以下に述べる。この実施において、分散型システムにおける各サービスサブシステムがサービスリクエストを下位レベルのサービスサブシステムへ転送する場合、完全性チェック装置は、サービスサブシステムと転送が必要な下位レベルのサービスサブシステムとの連結識別子を生成し;分散型システムにおける各サービスサブシステムが処理を完了した場合、完全性チェック装置は、上位レベルのサービスサブシステムから転送される連結識別子を記録する。この方法は、完全性チェック装置により、エントリサービスサブシステムにより生成される連結識別子に対して排他的OR処理を実行してチェック値を取得するステップと;完全性チェック装置により、エントリサービスサブシステム以外の各レベルのサービスサブシステムにより記録される連結識別子と、エントリサービスサブシステム以外のサービスサブシステムにより生成される連結識別子と、上位レベルのサービスサブシステムのチェック値とに対して排他的OR処理を実行して最終チェック値を取得するステップ;とを含む。
特に、サービスサブシステムの最後のレベルは通常、末端サービスサブシステムであり、連結識別子を生成しない。この場合、生成される連結識別子は0であり、先の排他的OR操作を考慮すると、排他的OR操作において0が用いられる場合、操作結果は影響を受けないと考えられる。
本明細書における実施は全て、逐次的に記載されている。実施における同一又は類似の部分は、これらの実施を相互に参照する。各実施は、他の実施との差異に焦点を当てている。特に、システムの実施は方法の実施に類似しており、したがって、簡潔に記載される。関連する部分については、方法の実施における関連する説明を参照されたい。
本願における、分散型サービス処理の完全性をチェックする別の装置の実施を以下に述べる。この装置は、分散型システムにおける任意のサービスサブシステムがサービスリクエストを下位レベルのサービスサブシステムへ転送する場合、サービスサブシステムと転送が必要な下位レベルのサービスサブシステムとの連結識別子を生成するように構成された第3の生成ユニットと;分散型システムにおける任意のサービスサブシステムが処理を完了した場合、上位レベルのサービスサブシステムからサービスサブシステムへ転送される連結識別子を記録するように構成された記録ユニットと;エントリサービスサブシステムにより生成された連結識別子に対して排他的OR処理を実行してチェック値を取得するように構成された第3の排他的ORユニットと;エントリサービスサブシステム以外の各レベルのサービスサブシステムにより記録された連結識別子と、エントリサービスサブシステム以外のサービスサブシステムにより生成される連結識別子と、上位レベルのサービスサブシステムのチェック値に対して排他的OR処理を実行して最終チェック値を取得するように構成された第4の排他的ORユニットとを含む。
以下には、本願における、分散型サービス処理の完全性をチェックする方法の実施を述べる。サービスリクエストを下位レベルのサービスサブシステムへ転送する場合には、分散型システムにおける各サービスサブシステムは、サービスサブシステムと転送が必要な下位レベルのサービスサブシステムとの連結識別子を生成する。また、処理を完了した場合には、分散型システムにおける各サービスサブシステムは、上位レベルのサービスサブシステムから転送される連結識別子を記録する。そして、この方法は、全てのサービスサブシステムにより記録された連結識別子と、全てのサービスサブシステムにより生成された連結識別子とに対して排他的OR処理を実行して最終チェック値を取得するステップを含む。
図2を更に例にとる。この実施において、排他的OR処理は、生成される連結識別子と、転送される連結識別子とに対して集中的に実行できる。
例えば、シリアル番号がNo.001であるサービスリクエストについて、エントリサービスサブシステムは、下位レベルのサービスサブシステムへ転送すべき連結識別子トークンAB及び連結識別子トークンACを生成し;処理を完了した後、サービスサブシステムBは、サービスサブシステムBにより受信される連結識別子トークンABを記録する。処理を完了した後、サービスサブシステムCは、サービスサブシステムCにより受信される連結識別子トークンACを記録し;サービスサブシステムBは、下位レベルのサービスサブシステムへ転送すべき連結識別子トークンBD及び連結識別子トークンBEを生成する。処理を完了した後、サービスサブシステムDは、サービスサブシステムDにより受信される連結識別子トークンBDを記録し;処理を完了した後、サービスサブシステムEは、サービスサブシステムEにより受信される連結識別子トークンBEを記録し;サービスサブシステムEは、下位レベルのサービスサブシステムへ転送すべき連結識別子トークンEH及び連結識別子トークンEIを生成する。処理を完了した後、サービスサブシステムHは、サービスサブシステムHにより受信された連結識別子トークンEHを記録し;処理を完了した後、サービスサブシステムIは、サービスサブシステムIにより受信された連結識別子トークンEIを記録する。
各レベルのサービスサブシステムが処理を完了したと仮定すると、エントリサービスサブシステムにより生成される連結識別子と、エントリサービスサブシステム以外の各レベルのサービスサブシステムにより記録される連結識別子と、エントリサービスサブシステム以外のサービスサブシステムにより生成される連結識別子とに対して排他的OR処理が実行されて、最終のチェック結果、トークンAB+トークンAC+トークンAB+トークンAC+トークンBD+トークンBE+トークンBD+トークンBE+トークンEH+トークンEI+トークンEH+トークンEI=0が得られる。
同様に、上記処理に基づき、ショートメッセージシステムHが処理を完了していないとすると、完全性をチェックする装置は、上位レベルのサービスサブシステムからショートメッセージシステムHへ転送される連結識別子EHを記録せず、上記処理方法に基づき、最終の結果はトークンEHとなる。この結果を用いて、分散型システムがショートメッセージシステムHで処理を終了したこと、すなわち、サービスサブシステムHは処理を完了していないことを示すことができる。
本願における、分散型サービス処理の完全性をチェックする装置の実施を以下に述べる。この装置は、分散型システムにおける各サービスサブシステムがサービスリクエストを下位レベルのサービスサブシステムへ転送する場合、サービスサブシステムと転送が必要な下位レベルのサービスサブシステムとの連結識別子を生成するように構成された第4の生成ユニットと;分散型システムにおける任意のサービスサブシステムが処理を完了した場合、上位レベルのサービスサブシステムからサービスサブシステムへ転送される連結識別子を記録するように構成された記録ユニットと;全てのサービスサブシステムにより記録される連結識別子と、全てのサービスサブシステムにより生成される連結識別子とに対して排他的OR処理を実行して最終チェック値を取得するように構成された第7の排他的ORユニットとを含む。
1990年代、技術の向上はハードウェアの向上(例えば、回路構造、例えばダイオード、トランジスタ、又はスイッチの向上)であるか、又は、ソフトウェアの向上(方法手順の向上)であるか、は明確に区別できた。しかし、技術が発達すると、現在の多くの方法手順の向上は、ハードウェア回路構造の直接的向上であると考えることができる。設計者は、通常、向上した方法手順をハードウェア回路にプログラムして対応するハードウェア回路構造を得る。したがって、方法手順は、ハードウェアエンティティモジュールを用いることにより向上させることができる。例えば、プログラマブル論理デバイス(PLD)(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA))はその種の集積回路であり、PLDの論理機能は、デバイスプログラミングを通じてユーザにより特定される。デザイナは、チップメーカに特定用途向け集積回路チップを設計し製造するように要求することなく、プログラミングを実行してデジタルシステムをPLDに「一体化」する。加えて、プログラミングは、ほとんどの場合、手作業で集積回路チップを製造するのではなく、「論理コンパイラ」ソフトウェアを用いることにより実施される。これは、プログラムの開発及びコンパイルに使用されるソフトウェアコンパイラに類似している。しかし、コンパイル前の元のコードは、ハードウェア記述言語(HDL)と呼ばれる特定のプログラミング言語で書かれることもある。多くのHDL、例えばAdvanced Boolean Expression Language(ABEL)、Altera Hardware Description Language(AHDL)、Confluence、Cornell University Programming Language(CUPL)、HDCal、Java(登録商標) Hardware Description Language(JHDL)、Lava、Lola、MyHDL、PALASM、及びRuby Hardware Description Language(RHDL)が存在する。現在、超高速集積回路ハードウェア記述言語(VHDL)及びVerilogが最も広く使用されている。一旦、方法手順が、記載のハードウェア記述言語の幾つかを用いることにより論理的にプログラムされ、集積回路にプログラムされると、論理的方法手順を実施するハードウェア回路は容易に入手できることも、当業者は理解すべきである。
コントローラを任意適切な方式で実施できる。例えば、コントローラは、マイクロプロセッサ、プロセッサ、又はプロセッサ(若しくはマイクロプロセッサ)が実行できるコンピュータ読取可能なプログラムコード(例えば、ソフトウェア若しくはファームウェア)を格納するコンピュータ読取可能な媒体、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブル論理コントローラ、若しくは埋込型マイクロコントローラとすることができる。コントローラの例としては、下記のマイクロコントローラが挙げられるが、これに限定されない:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20、又はSilicon Labs C8051F320。メモリコントローラをメモリの制御ロジックの一部として実施することもできる。当業者には同じく公知であるが、コントローラは、純粋なコンピュータ読取可能なプログラムコードの形で実施でき、方法のステップは、コントローラが論理ゲート、スイッチ、特定用途向け集積回路、プログラマブル論理コントローラ、埋込型マイクロコントローラなどの形態で同じ機能を実施できるようにするため、論理的にプログラムすることができる。したがって、コントローラは、ハードウェアコンポーネントとみなすことができ、コントローラにおける様々な機能を実施するように構成された装置も同様に、ハードウェアコンポーネント内の構造とみなすことができる。或いは、様々な機能を実施するように構成された装置は、方法又はハードウェアコンポーネント内の構造を実施できるソフトウェアモジュールとみなすことができる。
先の実施で例示されるシステム、装置、モジュール、又はユニットは、コンピュータチップ又はエンティティを用いることにより実施できる、或いは、特定の機能を有する製品を用いることにより実施できる。
説明を容易にするため、記載の装置は、機能を様々なユニットに分割して説明している。当然、本願を実施する場合、各ユニットの機能は、1つ以上のソフトウェア及び/又はハードウェアにおいて実施できる。
当業者は、本願の実施は、方法、システム、又はコンピュータプログラム製品として提供できることを理解するはずである。そのため、本願は、ハードウェアのみの実施、ソフトウェアのみの実施、又は、ソフトウェアとハードウェアとの組み合わせによる実施を用いることができる。さらに、本願は、コンピュータで使用可能なプログラムコードを含んだ1台以上のコンピュータで使用可能な記憶媒体(ディスクメモリ、CD−ROM、光学メモリを非限定的に含む)上で実施されるコンピュータプログラム製品を使用できる。
本願は、本願の実施に係る方法、デバイス(システム)、コンピュータプログラム製品のフローチャート及び/又はブロック図を参照して説明されている。コンピュータプログラム命令は、各工程、及び/又はフローチャート内の各ブロック、及び/又はブロック図を実施するために用いることができ、さらに、工程、及び/又はフローチャート内の1つのブロック、及び/又はブロック図、の組み合わせを実施するために用いることができる点が理解されるはずである。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、又はあらゆるその他のプログラム可能なデータ処理デバイスに、マシンを生成するために提供されることができ、これにより、コンピュータ、又は、あらゆるその他のプログラム可能なデータ処理デバイスのプロセッサが、フローチャートの1つ以上の工程において、及び/又は、ブロック図の1つ以上のブロックにおいて、特定の機能を実施するデバイスを生成できるようになる。
これらのコンピュータプログラム命令を、コンピュータ又はあらゆるその他のプログラム可能なデータ処理デバイスに特定の方法で機能するように命令することができるコンピュータ読取可能なメモリに記憶して、これらのコンピュータ読取可能なメモリに記憶された命令が、命令装置を含む加工品を作り出すようにすることができる。この命令装置は、フローチャート内の1つ以上の工程における、及び/又はブロック図内の1つ以上のブロックにおける特定の機能を実施する。
これらのコンピュータプログラム命令をコンピュータ又はその他のプログラム可能なデータ処理デバイスにロードして、コンピュータ又はその他のプログラム可能なデバイス上で一連の操作及びステップが実行されるようにし、コンピュータで実施される処理を生成することができる。これにより、コンピュータ又はその他のプログラム可能なデバイス上で実行される命令が、フローチャート内の1つ以上のステップ及び/又はブロック図内の1つ以上のブロックにおける特定の機能を実施するデバイスを提供することを可能とする。
典型的な構成では、計算デバイスは1つ以上のプロセッサ(CPU)、入出力インターフェース、ネットワークインターフェース、及びメモリを含む。
メモリは揮発性メモリ、ランダムアクセスメモリ(RAM)、及び/又は、読み取り専用メモリ(ROM)若しくはフラッシュメモリのようなコンピュータ読取可能な媒体内の不揮発性メモリを含むことができる。メモリはコンピュータ読取可能な媒体の一例である。
コンピュータで読み取れる媒体には、任意の方法又は技術を用いて情報を記憶できる、永続的、非永続的、移動可能な、移動不能な媒体が含まれる。情報はコンピュータ読取可能な命令、データ構造、プログラムモジュール、又はその他のデータであってよい。コンピュータの記憶媒体の例として、計算デバイスによってアクセスできる情報を記憶するために用いることが可能な、相変化RAM(PRAM)、スタティックRAM(SRAM)、ダイナミックRAM(DRAM)、別タイプのRAM、ROM、電気的に消去可能でプログラム可能なROM(EEPROM)、フラッシュメモリ、又は別のメモリ技術、コンパクトディスクROM(CD−ROM)、デジタル多用途ディスク(DVD)、又は別の光学記憶装置、磁気カセットテープ、磁気テープディスク記憶装置、又は別の磁気記憶デバイス、若しくはその他任意の非一時的媒体があるが、それらに限定されない。ここで定義しているように、コンピュータ読み取り可能な媒体は、変調されたデータ信号及び搬送波のような一時的媒体(transitory memory)を含まない。
さらに、用語「含む」、「含有する」、又はこれらのその他任意の応用形は、非限定的な包含を網羅するものであるため、一連の要素を含んだ工程、方法、物品、デバイスはこれらの要素を含むだけでなく、ここで明確に挙げていないその他の要素をも含む、あるいは、このような工程、方法、物品、デバイスに固有の要素をさらに含むことができる点に留意することが重要である。「1つの〜を含む」との用語を付けて示された要素は、それ以上の制約がなければ、その要素を含んだ工程、方法、物品、デバイス内に別の同一の要素をさらに含むことを排除しない。
当業者は、本願の実施が方法、システム、コンピュータプログラム製品として提供され得ることを理解するはずである。そのため、本願は、ハードウェアのみの実施、ソフトウェアのみの実施、又は、ソフトウェアとハードウェアの組み合わせによる実施を用いることができる。さらに、本願は、コンピュータで用いることができるプログラムコードを含んだ、1つ以上のコンピュータで使用可能な記憶媒体(磁気ディスクメモリ、CD−ROM、光学ディスク等を非限定的に含む)上で実施されるコンピュータプログラム製品の形態を用いることが可能である。
本願は、コンピュータにより実行されるコンピュータ実行可能な命令、例えばプログラムモジュールの一般的文脈において記載することができる。一般に、プログラムモジュールは、特定のタスクを実行する、或いは特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本願は、分散型コンピューティング環境において実践することもできる。これら分散型コンピューティング環境において、タスクは、通信ネットワークを用いることにより接続されるリモート処理デバイスにより実行される。分散型コンピューティング環境において、プログラムモジュールは、格納デバイスを含むローカル及びリモートコンピュータ格納媒体に配置することができる。
本明細書における実施は、逐次的な形式で記載されている。実施における同一又は類似の部分については、その実施を参照されたい。各実施は、他の実施との差異に焦点を当てている。特に、システムの実施は方法の実施に類似しており、したがって、簡潔に記載される。関連する部分については、方法の実施における関連する説明を参照されたい。
上述のものは本願の一実施形態に過ぎず、本願を限定するものではない。当業者は、本願に様々な修正及び変更を加えることができる。本願の主旨及び原理から逸脱せずに為されるあらゆる修正、均等物による代替、改善は、本願の特許請求の範囲に含まれるものである。
上述のものは本願の一実施形態に過ぎず、本願を限定するものではない。当業者は、本願に様々な修正及び変更を加えることができる。本願の主旨及び原理から逸脱せずに為されるあらゆる修正、均等物による代替、改善は、本願の特許請求の範囲に含まれるものである。
以下、本発明の実施の態様の例を列挙する。
[第1の局面]
分散型サービスシステムがサービスリクエストを受信し、サービス条件に基づき前記サービスリクエストを後続のサービスサブシステムへレベルごとに転送し、前記分散型システムにおける各サービスサブシステムのサービス処理状況が監視される、分散型サービス処理の完全性をチェックする方法であって:
エントリサービスサブシステムが前記サービスリクエストを受信し、前記サービスリクエストをレベル1のサービスサブシステムへ転送する必要がある場合、転送が必要なレベル1の各サービスサブシステムについて、前記エントリサービスサブシステムにより前記エントリサービスサブシステムと前記レベル1のサービスサブシステムとの連結識別子を生成し、前記生成された連結識別子に対して排他的OR処理を実行して第1のチェック値を取得するステップと;
前記処理を完了した後、上位レベルのサービスサブシステムから転送された連結識別子を各共通サービスサブシステムにより記録し;前記共通サービスサブシステムが前記サービスリクエストを転送する下位レベルの各サービスサブシステムについて、前記共通サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成し;前記生成された連結識別子と前記第1のチェック値と共に、前記記録された連結識別子に対して各共通サービスサブシステムにより排他的OR処理を実行し、前記第1のチェック値を更新するステップと;
前記処理を完了した後、上位レベルのサービスサブシステムから転送された連結識別子を各末端サービスサブシステムにより記録し、前記記録された連結識別子及び前記第1のチェック値に対して各末端サービスサブシステムにより排他的OR処理を実行し、前記第1のチェック値を更新するステップと;を備える、
分散型サービス処理の完全性をチェックする方法。
[第2の局面]
前記方法において取得される最終チェック値が0である場合、前記分散型サービスシステムが前記サービスリクエストに対する全ての処理を完了したことを意味する、
第1の局面に記載の方法。
[第3の局面]
前記方法において取得される最終チェック値が連結識別子である場合、前記連結識別子における最後の識別子は、前記識別子に対応するサービスサブシステムがサービス処理を完了していないことを意味する、
第1の局面に記載の方法。
[第4の局面]
上位レベルのサービスサブシステムから処理を完了していないサービスサブシステムへ転送された連結識別子は記録されない、
第1の局面に記載の方法。
[第5の局面]
分散型サービスシステムが、サービスリクエストを受信し、サービス条件に基づき前記サービスリクエストを後続のサービスサブシステムへレベルごとに転送する、分散型サービス処理の完全性をチェックする装置であって:
前記分散型システムにおける各サービスサブシステムのサービス処理状況を監視するように構成された監視ユニットと;
エントリサービスサブシステムが前記サービスリクエストを受信し、前記サービスリクエストをレベル1のサービスサブシステムへ転送する必要がある場合、転送が必要なレベル1の各サービスサブシステムについて、前記エントリサービスサブシステムと前記レベル1のサービスサブシステムとの連結識別子を生成するように構成された第1の生成ユニットと;
前記第1の生成ユニットにより生成された前記連結識別子に対して排他的OR処理を実行して第1のチェック値を取得するように構成された第1の排他的ORユニットと;
各サービスサブシステムが前記処理を完了した後に上位レベルのサービスサブシステムから転送された連結識別子を記録するように構成された記録ユニットと;
前記サービスリクエストを共通サービスサブシステムへ転送する必要がある下位レベルの各サービスサブシステムについて、前記共通サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成するように構成された第2の生成ユニットと;
各共通サービスサブシステムにより記録された前記連結識別子と、各共通サービスサブシステムにより生成される前記連結識別子と、前記第1のチェック値とに対して排他的OR処理を実行し、前記第1のチェック値を更新し;更に、各末端サービスサブシステムにより記録された連結識別子及び前記第1のチェック値に対して排他的OR処理を実行し、前記第1のチェック値を更新するように構成された第2の排他的ORユニットと;を備える、
分散型サービス処理の完全性をチェックする装置。
[第6の局面]
前記装置が、前記分散型システムの内部又は外部に配設される、
第5の局面に記載の装置。
[第7の局面]
前記サービスリクエストがシリアル番号を有する、
第5の局面に記載の装置。
[第8の局面]
前記装置により取得され最終チェック値が連結識別子である場合、前記連結識別子における最後の識別子は、前記識別子に対応するサービスサブシステムがサービス処理を完了していないことを意味する、
第5の局面に記載の装置。
[第9の局面]
前記記録ユニットは、上位レベルのサービスサブシステムから処理を完了していないサービスサブシステムへ転送された連結識別子を記録しない、
第5の局面に記載の装置。
[第10の局面]
サービスリクエストを下位レベルのサービスサブシステムへ転送する場合には、分散型システムにおける任意のサービスサブシステムが、当該サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成し;処理を完了した場合には、前記分散型システムにおける任意のサービスサブシステムが、当該サービスサブシステムへ上位レベルのサービスサブシステムから転送される連結識別子を記録する;分散型サービス処理の完全性をチェックする方法であって:
エントリサービスサブシステムによって、前記サービスサブシステムにより生成される連結識別子に対して排他的OR処理を実行してチェック値を取得するステップと;
前記エントリサービスサブシステム以外の各レベルのサービスサブシステムによって、前記サービスサブシステムにより記録された連結識別子と、前記サービスサブシステムにより生成された連結識別子と、上位レベルのサービスサブシステムのチェック値とに対して排他的OR処理を実行して最終チェック値を取得するステップと;を備える、
分散型サービス処理の完全性をチェックする方法。
[第11の局面]
前記方法において取得される前記最終チェック値が0である場合、前記分散型サービスシステムが前記サービスリクエストに対する全ての処理を完了したことを意味する、
第10の局面に記載の方法。
[第12の局面]
前記方法において取得される前記最終チェック値が連結識別子である場合、前記連結識別子における最後の識別子は、前記識別子に対応するサービスサブシステムがサービス処理を完了していないことを意味する、
第10の局面に記載の方法。
[第13の局面]
上位レベルのサービスサブシステムから処理を完了していないサービスサブシステムへ転送された連結識別子は記録されない、
第10の局面に記載の方法。
[第14の局面]
分散型システムにおける任意のサービスサブシステムがサービスリクエストを下位レベルのサービスサブシステムへ転送する場合、前記サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成するように構成された第3の生成ユニットと;
前記分散型システムにおける任意のサービスサブシステムが処理を完了した場合、上位レベルのサービスサブシステムから前記サービスサブシステムへ転送された連結識別子を記録するように構成された記録ユニットと;
エントリサービスサブシステムにより生成された連結識別子に対して排他的OR処理を実行してチェック値を取得するように構成された第3の排他的ORユニットと;
前記エントリサービスサブシステム以外の各レベルのサービスサブシステムにより記録された連結識別子と、前記エントリサービスサブシステム以外の前記サービスサブシステムにより生成された連結識別子と、上位レベルのサービスサブシステムのチェック値とに対して排他的OR処理を実行して最終チェック値を取得するように構成された第4の排他的ORユニットと;を備える、
分散型サービス処理の完全性をチェックする装置。
[第15の局面]
サービスリクエストを下位レベルのサービスサブシステムへ転送する場合には、分散型システムにおける各サービスサブシステムが、前記サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成し;処理を完了した場合には、前記分散型システムにおける各サービスサブシステムが、上位レベルのサービスサブシステムから転送された連結識別子を記録する;分散型サービス処理の完全性をチェックする方法であって:
全ての前記サービスサブシステムにより記録された前記連結識別子と、全ての前記サービスサブシステムにより生成された前記連結識別子とに対して排他的OR処理を実行して最終チェック値を取得するステップを備える、
分散型サービス処理の完全性をチェックする方法。
[第16の局面]
前記方法において取得される前記最終チェック値が0である場合、前記分散型サービスシステムが前記サービスリクエストに対する全ての処理を完了したことを意味する、
第15の局面に記載の方法。
[第17の局面]
前記方法において取得された前記最終チェック値が連結識別子である場合、前記連結識別子における最後の識別子は、前記識別子に対応するサービスサブシステムがサービス処理を完了していないことを意味する、
第15に記載の方法。
[第18の局面]
上位レベルのサービスサブシステムから処理を完了していないサービスサブシステムへ転送された連結識別子は記録されない、
第15の局面に記載の方法。
[第19の局面]
分散型システムにおける各サービスサブシステムがサービスリクエストを下位レベルのサービスサブシステムへ転送する場合、前記サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成するように構成された第4の生成ユニットと;
前記分散型システムにおける任意のサービスサブシステムが処理を完了した場合、上位レベルのサービスサブシステムから前記サービスサブシステムへ転送される連結識別子を記録するように構成された記録ユニットと;
エントリサービスサブシステムにより生成された連結識別子と、前記エントリサービスサブシステム以外の各レベルのサービスサブシステムにより記録された連結識別子と、前記エントリサービスサブシステム以外の前記サービスサブシステムにより生成される連結識別子とに対して排他的OR処理を実行して最終チェック値を取得するように構成された第7の排他的ORユニットと;を備える、
分散型サービス処理の完全性をチェックする装置。

Claims (19)

  1. 分散型サービスシステムがサービスリクエストを受信し、サービス条件に基づき前記サービスリクエストを後続のサービスサブシステムへレベルごとに転送し、前記分散型システムにおける各サービスサブシステムのサービス処理状況が監視される、分散型サービス処理の完全性をチェックする方法であって:
    エントリサービスサブシステムが前記サービスリクエストを受信し、前記サービスリクエストをレベル1のサービスサブシステムへ転送する必要がある場合、転送が必要なレベル1の各サービスサブシステムについて、前記エントリサービスサブシステムにより前記エントリサービスサブシステムと前記レベル1のサービスサブシステムとの連結識別子を生成し、前記生成された連結識別子に対して排他的OR処理を実行して第1のチェック値を取得するステップと;
    前記処理を完了した後、上位レベルのサービスサブシステムから転送された連結識別子を各共通サービスサブシステムにより記録し;前記共通サービスサブシステムが前記サービスリクエストを転送する下位レベルの各サービスサブシステムについて、前記共通サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成し;前記生成された連結識別子と前記第1のチェック値と共に、前記記録された連結識別子に対して各共通サービスサブシステムにより排他的OR処理を実行し、前記第1のチェック値を更新するステップと;
    前記処理を完了した後、上位レベルのサービスサブシステムから転送された連結識別子を各末端サービスサブシステムにより記録し、前記記録された連結識別子及び前記第1のチェック値に対して各末端サービスサブシステムにより排他的OR処理を実行し、前記第1のチェック値を更新するステップと;を備える、
    分散型サービス処理の完全性をチェックする方法。
  2. 前記方法において取得される最終チェック値が0である場合、前記分散型サービスシステムが前記サービスリクエストに対する全ての処理を完了したことを意味する、
    請求項1に記載の方法。
  3. 前記方法において取得される最終チェック値が連結識別子である場合、前記連結識別子における最後の識別子は、前記識別子に対応するサービスサブシステムがサービス処理を完了していないことを意味する、
    請求項1に記載の方法。
  4. 上位レベルのサービスサブシステムから処理を完了していないサービスサブシステムへ転送された連結識別子は記録されない、
    請求項1に記載の方法。
  5. 分散型サービスシステムが、サービスリクエストを受信し、サービス条件に基づき前記サービスリクエストを後続のサービスサブシステムへレベルごとに転送する、分散型サービス処理の完全性をチェックする装置であって:
    前記分散型システムにおける各サービスサブシステムのサービス処理状況を監視するように構成された監視ユニットと;
    エントリサービスサブシステムが前記サービスリクエストを受信し、前記サービスリクエストをレベル1のサービスサブシステムへ転送する必要がある場合、転送が必要なレベル1の各サービスサブシステムについて、前記エントリサービスサブシステムと前記レベル1のサービスサブシステムとの連結識別子を生成するように構成された第1の生成ユニットと;
    前記第1の生成ユニットにより生成された前記連結識別子に対して排他的OR処理を実行して第1のチェック値を取得するように構成された第1の排他的ORユニットと;
    各サービスサブシステムが前記処理を完了した後に上位レベルのサービスサブシステムから転送された連結識別子を記録するように構成された記録ユニットと;
    前記サービスリクエストを共通サービスサブシステムへ転送する必要がある下位レベルの各サービスサブシステムについて、前記共通サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成するように構成された第2の生成ユニットと;
    各共通サービスサブシステムにより記録された前記連結識別子と、各共通サービスサブシステムにより生成される前記連結識別子と、前記第1のチェック値とに対して排他的OR処理を実行し、前記第1のチェック値を更新し;更に、各末端サービスサブシステムにより記録された連結識別子及び前記第1のチェック値に対して排他的OR処理を実行し、前記第1のチェック値を更新するように構成された第2の排他的ORユニットと;を備える、
    分散型サービス処理の完全性をチェックする装置。
  6. 前記装置が、前記分散型システムの内部又は外部に配設される、
    請求項5に記載の装置。
  7. 前記サービスリクエストがシリアル番号を有する、
    請求項5に記載の装置。
  8. 前記装置により取得され最終チェック値が連結識別子である場合、前記連結識別子における最後の識別子は、前記識別子に対応するサービスサブシステムがサービス処理を完了していないことを意味する、
    請求項5に記載の装置。
  9. 前記記録ユニットは、上位レベルのサービスサブシステムから処理を完了していないサービスサブシステムへ転送された連結識別子を記録しない、
    請求項5に記載の装置。
  10. サービスリクエストを下位レベルのサービスサブシステムへ転送する場合には、分散型システムにおける任意のサービスサブシステムが、当該サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成し;処理を完了した場合には、前記分散型システムにおける任意のサービスサブシステムが、当該サービスサブシステムへ上位レベルのサービスサブシステムから転送される連結識別子を記録する;分散型サービス処理の完全性をチェックする方法であって:
    エントリサービスサブシステムによって、前記サービスサブシステムにより生成される連結識別子に対して排他的OR処理を実行してチェック値を取得するステップと;
    前記エントリサービスサブシステム以外の各レベルのサービスサブシステムによって、前記サービスサブシステムにより記録された連結識別子と、前記サービスサブシステムにより生成された連結識別子と、上位レベルのサービスサブシステムのチェック値とに対して排他的OR処理を実行して最終チェック値を取得するステップと;を備える、
    分散型サービス処理の完全性をチェックする方法。
  11. 前記方法において取得される前記最終チェック値が0である場合、前記分散型サービスシステムが前記サービスリクエストに対する全ての処理を完了したことを意味する、
    請求項10に記載の方法。
  12. 前記方法において取得される前記最終チェック値が連結識別子である場合、前記連結識別子における最後の識別子は、前記識別子に対応するサービスサブシステムがサービス処理を完了していないことを意味する、
    請求項10に記載の方法。
  13. 上位レベルのサービスサブシステムから処理を完了していないサービスサブシステムへ転送された連結識別子は記録されない、
    請求項10に記載の方法。
  14. 分散型システムにおける任意のサービスサブシステムがサービスリクエストを下位レベルのサービスサブシステムへ転送する場合、前記サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成するように構成された第3の生成ユニットと;
    前記分散型システムにおける任意のサービスサブシステムが処理を完了した場合、上位レベルのサービスサブシステムから前記サービスサブシステムへ転送された連結識別子を記録するように構成された記録ユニットと;
    エントリサービスサブシステムにより生成された連結識別子に対して排他的OR処理を実行してチェック値を取得するように構成された第3の排他的ORユニットと;
    前記エントリサービスサブシステム以外の各レベルのサービスサブシステムにより記録された連結識別子と、前記エントリサービスサブシステム以外の前記サービスサブシステムにより生成された連結識別子と、上位レベルのサービスサブシステムのチェック値とに対して排他的OR処理を実行して最終チェック値を取得するように構成された第4の排他的ORユニットと;を備える、
    分散型サービス処理の完全性をチェックする装置。
  15. サービスリクエストを下位レベルのサービスサブシステムへ転送する場合には、分散型システムにおける各サービスサブシステムが、前記サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成し;処理を完了した場合には、前記分散型システムにおける各サービスサブシステムが、上位レベルのサービスサブシステムから転送された連結識別子を記録する;分散型サービス処理の完全性をチェックする方法であって:
    全ての前記サービスサブシステムにより記録された前記連結識別子と、全ての前記サービスサブシステムにより生成された前記連結識別子とに対して排他的OR処理を実行して最終チェック値を取得するステップを備える、
    分散型サービス処理の完全性をチェックする方法。
  16. 前記方法において取得される前記最終チェック値が0である場合、前記分散型サービスシステムが前記サービスリクエストに対する全ての処理を完了したことを意味する、
    請求項15に記載の方法。
  17. 前記方法において取得された前記最終チェック値が連結識別子である場合、前記連結識別子における最後の識別子は、前記識別子に対応するサービスサブシステムがサービス処理を完了していないことを意味する、
    請求項15に記載の方法。
  18. 上位レベルのサービスサブシステムから処理を完了していないサービスサブシステムへ転送された連結識別子は記録されない、
    請求項15に記載の方法。
  19. 分散型システムにおける各サービスサブシステムがサービスリクエストを下位レベルのサービスサブシステムへ転送する場合、前記サービスサブシステムと転送が必要な前記下位レベルのサービスサブシステムとの連結識別子を生成するように構成された第4の生成ユニットと;
    前記分散型システムにおける任意のサービスサブシステムが処理を完了した場合、上位レベルのサービスサブシステムから前記サービスサブシステムへ転送される連結識別子を記録するように構成された記録ユニットと;
    エントリサービスサブシステムにより生成された連結識別子と、前記エントリサービスサブシステム以外の各レベルのサービスサブシステムにより記録された連結識別子と、前記エントリサービスサブシステム以外の前記サービスサブシステムにより生成される連結識別子とに対して排他的OR処理を実行して最終チェック値を取得するように構成された第7の排他的ORユニットと;を備える、
    分散型サービス処理の完全性をチェックする装置。
JP2018545456A 2016-02-29 2017-02-17 分散型サービス処理の完全性をチェックする方法及び装置 Active JP6622926B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201610113586.1 2016-02-29
CN201610113586.1A CN107135191B (zh) 2016-02-29 2016-02-29 检查分布式业务处理完整度的方法及装置
PCT/CN2017/073916 WO2017148277A1 (zh) 2016-02-29 2017-02-17 检查分布式业务处理完整度的方法及装置

Publications (2)

Publication Number Publication Date
JP2019510306A true JP2019510306A (ja) 2019-04-11
JP6622926B2 JP6622926B2 (ja) 2019-12-18

Family

ID=59721579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018545456A Active JP6622926B2 (ja) 2016-02-29 2017-02-17 分散型サービス処理の完全性をチェックする方法及び装置

Country Status (6)

Country Link
US (1) US20180367642A1 (ja)
EP (1) EP3425508B1 (ja)
JP (1) JP6622926B2 (ja)
CN (1) CN107135191B (ja)
TW (1) TWI662486B (ja)
WO (1) WO2017148277A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108809731B (zh) * 2018-06-28 2021-05-04 珠海兴业新材料科技有限公司 一种基于地铁调光投影系统业务数据链的控制方法
US20230325846A1 (en) * 2022-04-06 2023-10-12 Stripe, Inc. Systems and methods for accessing distributed service systems to surface insights for a user

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526549B2 (en) * 2003-07-24 2009-04-28 International Business Machines Corporation Cluster data port services for clustered computer system
EP2677691A1 (en) * 2004-05-25 2013-12-25 Rockstar Consortium US LP Connectivity Fault Notification
CN101378329B (zh) * 2007-08-30 2011-06-22 阿里巴巴集团控股有限公司 分布式业务运营支撑系统和分布式业务的实现方法
US8929365B2 (en) * 2008-02-21 2015-01-06 Telcordia Technologies, Inc. Efficient, fault-tolerant multicast networks via network coding
US8533285B2 (en) * 2010-12-01 2013-09-10 Cisco Technology, Inc. Directing data flows in data centers with clustering services
CN102014169B (zh) * 2010-12-22 2013-03-20 国家电网公司 分布式服务系统、分布式服务系统的任务执行方法和装置
CN104636232B (zh) * 2013-11-06 2018-12-04 中国移动通信集团广东有限公司 一种分布式服务系统的性能监控装置和方法
CN105224550B (zh) * 2014-06-09 2019-07-19 腾讯科技(深圳)有限公司 分布式流计算系统和方法

Also Published As

Publication number Publication date
EP3425508A1 (en) 2019-01-09
TWI662486B (zh) 2019-06-11
WO2017148277A1 (zh) 2017-09-08
CN107135191A (zh) 2017-09-05
CN107135191B (zh) 2020-02-21
EP3425508B1 (en) 2021-07-07
JP6622926B2 (ja) 2019-12-18
EP3425508A4 (en) 2019-07-10
US20180367642A1 (en) 2018-12-20
TW201732692A (zh) 2017-09-16

Similar Documents

Publication Publication Date Title
TWI696083B (zh) 一種基於區塊鏈的共識方法及裝置
JP6921206B2 (ja) データベース状態決定方法およびデバイスならびに整合性検証方法およびデバイス
KR20190091484A (ko) 블록체인 합의 방법 및 디바이스
JP6325001B2 (ja) 階層データ構造のノードにおいて再帰的イベントリスナを用いる方法およびシステム
WO2021000570A1 (zh) 模型加载方法及系统、控制节点及执行节点
WO2020019893A1 (zh) 一种数据对象标识生成方法及装置
KR20200028425A (ko) 가상 카드 개설 방법 및 시스템, 결제 시스템, 및 카드 발급 시스템
JP6622926B2 (ja) 分散型サービス処理の完全性をチェックする方法及び装置
TWI712286B (zh) 大屏鏈路系統檢測方法、裝置及設備
CN110046052B (zh) 一种服务调用方法及装置
CN110022351B (zh) 一种业务请求的处理方法和装置
US11301792B2 (en) Cross domain integration in product lifecycle management
CN111078435A (zh) 业务处理方法、装置及电子设备
CN110992039A (zh) 交易处理方法、装置及设备
CN110502551A (zh) 数据读写方法、系统及架构组件
CN111324778A (zh) 数据、业务处理方法、装置及电子设备
CN107135137B (zh) 网络群组识别方法及装置
CN115658368B (zh) 一种故障处理方法、装置、存储介质及电子设备
CN117312074A (zh) 一种数据监控方法、装置及设备
CN116132246B (en) Interaction method, device, gateway equipment and storage medium
CN115208854B (zh) 基于dhcp的mlag动态双主检测方法、装置、设备及介质
CN105743704A (zh) 一种通信链路的故障分析方法和装置
CN114936116A (zh) 一种区块链服务管理方法和区块链节点
US10423475B2 (en) Stateful tokens for communicating with external services
CN116112526A (zh) 一种多个云平台的管理系统、方法以及设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181029

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190806

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191015

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: 20191023

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191122

R150 Certificate of patent or registration of utility model

Ref document number: 6622926

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250