(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-16
(45)【発行日】2024-07-24
(54)【発明の名称】サービス統合におけるデータ伝送方法、装置、機器及びコンピュータープログラム
(51)【国際特許分類】
G06F 9/54 20060101AFI20240717BHJP
【FI】
G06F9/54 Z
(21)【出願番号】P 2023538140
(86)(22)【出願日】2022-03-21
(86)【国際出願番号】 CN2022082006
(87)【国際公開番号】W WO2022206452
(87)【国際公開日】2022-10-06
【審査請求日】2023-06-21
(31)【優先権主張番号】202110353970.X
(32)【優先日】2021-04-01
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
【氏名又は名称原語表記】TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
【住所又は居所原語表記】35/F,Tencent Building,Kejizhongyi Road,Midwest District of Hi-tech Park,Nanshan District, Shenzhen,Guangdong 518057,CHINA
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】▲孫▼ 彬
(72)【発明者】
【氏名】李 云帆
(72)【発明者】
【氏名】李 克新
(72)【発明者】
【氏名】黄 明波
(72)【発明者】
【氏名】▲馮▼ 旋
【審査官】坂庭 剛史
(56)【参考文献】
【文献】米国特許出願公開第2016/0241596(US,A1)
【文献】米国特許出願公開第2012/0151074(US,A1)
【文献】特開2015-226322(JP,A)
【文献】島田優子,連携専用PaaSが登場,GUIベースでクラウド間をつなぐ,日経SYSTEMS,日本,日経BP社,2018年07月26日,第304号,p.11,ISSN 1881-1620
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/54
(57)【特許請求の範囲】
【請求項1】
サービス統合におけるデータ伝送機器が実行する、サービス統合におけるデータ伝送方法であって、前記サービス統合におけるデータ伝送機器は、サービスとしての統合プラットフォーム(iPaaS)システムのゲートウェイを含み、前記データ伝送方法は、
前記iPaaSシステムのゲートウェイが、前記iPaaSシステムのコネクタによって送信されたデータ伝送要求を受信するステップであって、前記iPaaSシステムは、クラウドネットワークにおける前記iPaaSシステムが属するテナントの第1仮想プライベートクラウド(VPC)にデプロイされる、ステップと、
設定されたサービス設定情報に基づいて、前記コネクタがアクセスする目標サービスのアドレス識別子、及び前記ゲートウェイと前記目標サービスのサービスエージェントとがデータ伝送を行う第1伝送接続を決定するステップであって、前記サービスエージェントは前記テナントのイントラネットにデプロイされ、前記目標サービスは前記イントラネット又は前記テナントの第2VPCにデプロイされ、前記第1伝送接続は前記サービスエージェントによって開始された第1接続確立要求に基づいて確立される、ステップと、
前記第1伝送接続を介して、前記データ伝送要求及び前記目標サービスのアドレス識別子を前記サービスエージェントに送信するステップであって、前記サービスエージェントは前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信するものである、ステップと、を含む、データ伝送方法。
【請求項2】
前記iPaaSシステムのゲートウェイが、前記iPaaSシステムのコネクタによって送信されたデータ伝送要求を受信する前に、前記データ伝送方法は、さらに、
前記サービスエージェントによって開始された第1接続確立要求を受信する場合、前記サービスエージェントと第1伝送接続を確立するステップであって、前記第1接続確立要求は前記サービスエージェントのサービスリストを含む、ステップと、
前記サービスリストにおける各サービスについて、前記サービスにプロキシアドレスを割り当て、前記サービスのアドレス識別子と前記プロキシアドレスとの間の対応関係を前記サービス設定情報に追加するステップと、を含む、
請求項1に記載のデータ伝送方法。
【請求項3】
前記データ伝送要求は、前記ゲートウェイと確立した第2伝送接続を介して前記コネクタによって送信され、
前記設定されたサービス設定情報に基づいて、前記コネクタがアクセスする目標サービスのアドレス識別子、及び前記ゲートウェイと前記目標サービスのサービスエージェントとがデータ伝送を行う第1伝送接続を決定するステップは、
前記第2伝送接続の識別子に基づいて、前記サービス設定情報を照会し、前記コネクタがアクセスする目標サービスのアドレス識別子、及び前記ゲートウェイと前記目標サービスのサービスエージェントがデータ伝送を行う第1伝送接続を得るステップを含み、
前記サービスエージェントが前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信するステップは、
前記サービスエージェントが前記アドレス識別子に基づいて、前記目標サービスと確立した第3伝送接続を決定し、前記第3伝送接続を介して、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信するステップを含む、
請求項1に記載のデータ伝送方法。
【請求項4】
前記データ伝送方法は、さらに、
前記第1伝送接続を介して、前記サービスエージェントによって返される応答データ及び前記目標サービスのアドレス識別子を受信するステップであって、前記応答データは、前記目標サービスによって前記第3伝送接続を介して前記サービスエージェントに送信されるものである、ステップと、
前記目標サービスのアドレス識別子に基づいて、前記サービス設定情報を照会し、前記第2伝送接続の識別子を得るステップと、
前記第2伝送接続の識別子に基づいて、前記第2伝送接続を介して前記応答データを前記コネクタに送信するステップと、を含む、
請求項3に記載のデータ伝送方法。
【請求項5】
前記iPaaSシステムのゲートウェイが、前記iPaaSシステムのコネクタによって送信されたデータ伝送要求を受信する前に、前記データ伝送方法は、さらに、
前記コネクタによって送信された第2接続確立要求を受信する場合、前記コネクタと第2伝送接続を確立するステップと、
前記第2接続確立要求によって要求されたプロキシアドレスに基づいて、前記サービス設定情報を照会し、前記コネクタがアクセスする目標サービスのアドレス識別子、及び前記目標サービスのサービスエージェントとデータ伝送を行う第1伝送接続を得るステップと、
前記第1伝送接続に基づいて、第3接続確立要求を前記サービスエージェントに送信するステップであって、前記第3接続確立要求は、前記目標サービスのアドレス識別子を運び、前記サービスエージェントは前記目標サービスのアドレス識別子に基づいて、前記目標サービスと第3伝送接続を確立するものである、ステップと、を含む、
請求項3に記載のデータ伝送方法。
【請求項6】
前記設定されたサービス設定情報に基づいて、前記コネクタがアクセスする目標サービスのアドレス識別子、及び前記ゲートウェイと前記目標サービスのサービスエージェントとがデータ伝送を行う第1伝送接続を決定するステップは、
前記データ伝送要求を送信するコネクタのアドレス、前記データ伝送要求を受信するプロキシのアドレス、及び前記コネクタがアクセスする目標サービスのアドレスを取得するステップと、
前記コネクタのアドレス及び前記プロキシのアドレスに基づいて、前記ゲートウェイの接続状態追跡テーブルを照会し、前記コネクタがアクセスする目標サービスのアドレス識別子を得るステップと、
前記プロキシのアドレスに基づいて、設定されたサービス設定情報を照会し、前記ゲートウェイと前記目標サービスのサービスエージェントがデータ伝送を行う第1伝送接続を得るステップと、を含み、
前記第1伝送接続を介して、前記データ伝送要求及び前記目標サービスのアドレス識別子を前記サービスエージェントに送信するステップは、
前記第1伝送接続を介して、前記データ伝送要求、前記目標サービスのアドレス、及び前記目標サービスのアドレス識別子を前記サービスエージェントに送信するステップであって、前記サービスエージェントは前記アドレス識別子に基づいて、前記サービスエージェントの接続状態追跡テーブルを照会し、前記サービスエージェントのアドレスを決定し、前記サービスエージェントのアドレスと前記目標サービスのアドレスにより、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信するものである、ステップ、を含む、
請求項1に記載のデータ伝送方法。
【請求項7】
前記コネクタのアドレス及び前記プロキシのアドレスに基づいて、前記ゲートウェイの接続状態追跡テーブルを照会し、前記コネクタがアクセスする目標サービスのアドレス識別子を得るステップは、
前記ゲートウェイの接続状態追跡テーブルに前記コネクタのアドレス及び前記プロキシのアドレスに対応するレコードを照会しない場合、前記目標サービスのアドレスに基づいて、前記コネクタがアクセスする目標サービスのアドレス識別子を生成するステップと、
前記コネクタのアドレス、前記プロキシのアドレス、及び前記目標サービスのアドレス識別子からなるレコードを前記ゲートウェイの接続状態追跡テーブルに追加するステップと、を含む、
請求項6に記載のデータ伝送方法。
【請求項8】
前記データ伝送方法は、さらに、
前記第1伝送接続を介して、前記サービスエージェントによって返された応答データと、前記コネクタがアクセスする目標サービスのアドレス識別子とを受信するステップと、
前記目標サービスのアドレス識別子に基づいて、前記ゲートウェイの接続状態追跡テーブルを照会し、前記応答データを送信するプロキシのアドレス、及び前記応答データを受信するコネクタのアドレスを得るステップと、
前記プロキシのアドレスと前記コネクタのアドレスに基づいて、前記応答データを前記コネクタに送信するステップと、を含む、
請求項6に記載のデータ伝送方法。
【請求項9】
サービス統合におけるデータ伝送機器が実行する、サービス統合におけるデータ伝送方法であって、前記サービス統合におけるデータ伝送機器は、サービスエージェントを含み、前記データ伝送方法は、
前記サービスエージェントは、サービスとしての統合プラットフォーム(iPaaS)システムのゲートウェイによって送信された前記iPaaSシステムのコネクタのデータ伝送要求、及び前記コネクタがアクセスする目標サービスのアドレス識別子を受信するステップであって、前記iPaaSシステムは、クラウドネットワークにおける前記iPaaSシステムが属するテナントの第1仮想プライベートクラウド(VPC)にデプロイされ、前記サービスエージェントは、前記テナントのイントラネットにデプロイされ、前記目標サービスは前記イントラネット又は前記テナントの第2VPCにデプロイされる、ステップと、
前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信するステップと、
前記コネクタがアクセスする目標サービスによって送信された応答データを受信した場合、前記目標サービスのアドレス識別子に基づいて、前記サービスエージェントと前記ゲートウェイがデータ伝送を行う第1伝送接続を決定するステップであって、前記第1伝送接続は、前記サービスエージェントによって開始された第1接続確立要求に基づいて確立される、ステップと、
前記第1伝送接続を介して、前記目標サービスの応答データ及び前記目標サービスのアドレス識別子を前記ゲートウェイに送信するステップであって、前記ゲートウェイは、前記アドレス識別子に基づいて前記コネクタを決定し、前記目標サービスの応答データを前記コネクタに送信するものである、ステップと、を含む、データ伝送方法。
【請求項10】
前記コネクタがアクセスする目標サービスによって送信された応答データを受信する前に、前記データ伝送方法は、さらに、
前記サービスエージェントは第1接続確立要求を前記ゲートウェイに送信し、前記サービスエージェントは前記ゲートウェイと第1伝送接続を確立するステップであって、前記第1接続確立要求は前記サービスエージェントのサービスリストを含み、前記ゲートウェイと前記第1伝送接続を確立した後、前記サービスリストにおける各サービスについて、前記サービスにプロキシアドレスを割り当て、前記サービスのアドレス識別子と前記プロキシアドレスとの間の対応関係をサービス設定情報に追加する、ステップ、を含む、
請求項9に記載のデータ伝送方法。
【請求項11】
前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信するステップは、
前記アドレス識別子に基づいて、前記サービスエージェントと、前記コネクタがアクセスする目標サービスとの間の確立された第3伝送接続を決定するステップと、
前記第3伝送接続を介して、前記コネクタのデータ伝送要求を前記目標サービスに送信するステップと、を含み、
前記ゲートウェイが前記アドレス識別子に基づいて前記コネクタを決定し、前記目標サービスの応答データを前記コネクタに送信するものは、前記ゲートウェイが前記アドレス識別子に基づいて、前記コネクタ及び前記コネクタと確立した第1伝送接続を決定し、前記第1伝送接続を介して前記目標サービスの応答データを前記コネクタに送信するものを含む、
請求項9に記載のデータ伝送方法。
【請求項12】
前記アドレス識別子に基づいて、前記サービスエージェントと、前記コネクタがアクセスする目標サービスとの間の確立された第3伝送接続を決定する前に、前記データ伝送方法は、さらに、
前記ゲートウェイによって送信された第3接続確立要求を受信する場合、前記目標サービスのアドレス識別子に基づいて、前記目標サービスと第3伝送接続を確立するステップであって、前記第3接続確立要求は、前記コネクタがアクセスする目標サービスのアドレス識別子を運ぶ、ステップを含む、
請求項11に記載のデータ伝送方法。
【請求項13】
前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信するステップは、
前記アドレス識別子に基づいて、前記サービスエージェントの接続状態追従テーブルを照会し、前記サービスエージェントのアドレスと前記コネクタがアクセスする目標サービスのアドレスを得るステップと、
前記サービスエージェントのアドレス及び前記目標サービスのアドレスにより、前記コネクタのデータ伝送要求を前記目標サービスに送信するステップと、を含み、
前記目標サービスのアドレス識別子に基づいて、前記サービスエージェントと前記ゲートウェイがデータ伝送を行う第1伝送接続を決定する前に、前記データ伝送方法は、さらに、
前記コネクタがアクセスする目標サービスのアドレスと、前記目標サービスの応答データを受信するサービスエージェントのアドレスを取得するステップと、
前記目標サービスのアドレスと前記サービスエージェントのアドレスに基づいて、前記サービスエージェントの接続状態追跡テーブルを照会し、前記目標サービスのアドレス識別子を得るステップと、を含む、
請求項9に記載のデータ伝送方法。
【請求項14】
前記アドレス識別子に基づいて、前記サービスエージェントの接続状態追従テーブルを照会し、前記サービスエージェントのアドレスと前記コネクタがアクセスする目標サービスのアドレスを得るステップは、
前記サービスエージェントの接続状態追跡テーブルに前記アドレス識別子に対応するレコードを照会しない場合、前記コネクタがアクセスする目標サービスのアドレスに基づいて、サービスエージェントのアドレスを前記目標サービスに割り当てるステップと、
前記目標サービスのアドレス、前記サービスエージェントのアドレス及び前記アドレス識別子からなるレコードを前記サービスエージェントの接続状態追従テーブルに追加するステップと、を含む、
請求項13に記載のデータ伝送方法。
【請求項15】
サービス統合におけるデータ伝送装置であって、
サービスとしての統合プラットフォーム(iPaaS)システムのゲートウェイが前記iPaaSシステムのコネクタによって送信されたデータ伝送要求を受信するように構成される第1受信モジュールであって、前記iPaaSシステムは、クラウドネットワークにおける前記iPaaSシステムが属するテナントの第1仮想プライベートクラウド(VPC)にデプロイされる、第1受信モジュールと、
設定されたサービス設定情報に基づいて、前記コネクタがアクセスする目標サービスのアドレス識別子、及び前記ゲートウェイと前記目標サービスのサービスエージェントとがデータ伝送を行う第1伝送接続を決定するように構成される第1マッピングモジュールであって、前記サービスエージェントは前記テナントのイントラネットにデプロイされ、前記目標サービスは前記イントラネット又は前記テナントの第2VPCにデプロイされ、前記第1伝送接続は前記サービスエージェントによって開始された第1接続確立要求に基づいて確立される、第1マッピングモジュールと、
前記第1伝送接続を介して、前記データ伝送要求及び前記目標サービスのアドレス識別子を前記サービスエージェントに送信するように構成される第1送信モジュールであって、前記サービスエージェントは前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信するものである、第1送信モジュールと、を備える、データ伝送装置。
【請求項16】
サービス統合におけるデータ伝送装置であって、
サービスエージェントがサービスとしての統合プラットフォーム(iPaaS)システムのゲートウェイによって送信された前記iPaaSシステムのコネクタのデータ伝送要求、及び前記コネクタがアクセスする目標サービスのアドレス識別子を受信するように構成される第4受信モジュールであって、前記iPaaSシステムは、クラウドネットワークにおける前記iPaaSシステムが属するテナントの第1仮想プライベートクラウド(VPC)にデプロイされ、前記サービスエージェントは、前記テナントのイントラネットにデプロイされ、前記目標サービスは前記イントラネット又は前記テナントの第2VPCにデプロイされる、第4受信モジュールと、
前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信するように構成される第5送信モジュールと、
前記コネクタがアクセスする目標サービスによって送信された応答データを受信した場合、前記目標サービスのアドレス識別子に基づいて、前記サービスエージェントと前記ゲートウェイがデータ伝送を行う第1伝送接続を決定するように構成される第5受信モジュールであって、前記第1伝送接続は、前記サービスエージェントによって開始された第1接続確立要求に基づいて確立される、第5受信モジュールと、
前記第1伝送接続を介して、前記目標サービスの応答データ及び前記目標サービスのアドレス識別子を前記ゲートウェイに送信するように構成される第6送信モジュールであって、前記ゲートウェイは、前記アドレス識別子に基づいて前記コネクタを決定し、前記目標サービスの応答データを前記コネクタに送信するものである、第6送信モジュールと、を備える、データ伝送装置。
【請求項17】
サービス統合におけるデータ伝送機器であって、
実行可能な命令を記憶するメモリと、
前記メモリに記憶される実行可能な命令を実行するとき、請求項1乃至14のいずれか一項に記載の方法を実現するプロセッサと、を含む、データ伝送機器。
【請求項18】
コンピューターに、請求項1乃至14のいずれか一項に記載の方法を実行させ
る、コンピュータープログラ
ム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願への相互参照)
本願は、出願番号が202110353970.Xであり、出願日が2021年04月01日である中国特許出願に基づいて提出され、該中国特許出願の優先権を主張し、該中国特許出願の全ての内容が参照により本願の実施例に組み込まれる。
【0002】
本願は、クラウドコンピューティングサービスの分野に関し、特に、サービス統合におけるデータ伝送方法、装置、機器、コンピューター可読記憶媒体及びコンピュータープログラム製品に関する。
【背景技術】
【0003】
サービスとしての統合プラットフォーム(iPaaS:Integration Platform as a Service)統合アプリケーションは、異なるシステムとサービスを一定のロジックに従って統合するために開発されたアプリケーションプログラムである。関連技術では、目標クライアントの多くの内部システム、データベース、及びサービスとしてのソフトウェア(SaaS:Software-as-a-Service)システムはクライアントのイントラネットにデプロイされるが、iPaaSシステムは通常、パブリッククラウド上の仮想プライベートクラウド(VPC:Virtual Private Cloud)にデプロイされるため、iPaaSシステムは、クライアントのイントラネットのプライベートサービスとデータベースに直接接続することができず、それによって、イントラネットのプライベートサービスとデータベースに対する統合ロジックを完了することができない。また、異なる仮想プライベートクラウドにデプロイされた一部の統合対象システムとデータベースについては、地域を跨るVPCがクライアントのイントラネットを介して直接接続できないため、VPCにデプロイされたiPaaSシステムを介して統合することもできない。
【0004】
以上から分かるように、関連技術におけるiPaaSサービス統合ソリューションには、ネットワーク不通の制約問題があり、サービス統合の需要を十分に満たすことができない。
【発明の概要】
【0005】
本願の実施例は、サービス統合におけるデータ伝送方法、装置、機器、コンピューター可読記憶媒体及びコンピュータープログラム製品を提供し、iPaaSシステムとテナントのイントラネットとの間のネットワークインターワーキングを実現し、イントラネットにおけるサービスに対する統合ロジックを実現することができ、それによって、同じテナントの異なるイントラネット又は異なるVPCにおけるサービスに対する統合ロジックを実現することができ、さらに、iPaaSシステムのサービス統合能力を完全なものにすることができる。
【0006】
本願の実施例の技術案は、以下のように実現される。
【0007】
本願の実施例は、サービス統合におけるデータ伝送方法を提供し、前記データ伝送方法は、
iPaaSシステムのゲートウェイが、前記iPaaSシステムのコネクタによって送信されたデータ伝送要求を受信するステップであって、前記iPaaSシステムは、クラウドネットワークにおける前記iPaaSシステムが属するテナントの第1仮想プライベートクラウド(VPC)にデプロイされる、ステップと、
設定されたサービス設定情報に基づいて、前記コネクタがアクセスする目標サービスのアドレス識別子、及び前記ゲートウェイと前記目標サービスのサービスエージェントとがデータ伝送を行う第1伝送接続を決定するステップであって、前記サービスエージェントは前記テナントのイントラネットにデプロイされ、前記目標サービスは前記イントラネット又は前記テナントの第2VPCにデプロイされ、前記第1伝送接続は前記サービスエージェントによって開始された第1接続確立要求に基づいて確立される、ステップと、
前記第1伝送接続を介して、前記データ伝送要求及び前記目標サービスのアドレス識別子を前記サービスエージェントに送信するステップであって、前記サービスエージェントは前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信するものである、ステップと、を含む。
【0008】
本願の実施例は、サービス統合におけるデータ伝送方法を提供し、前記データ伝送方法は、
サービスエージェントは、iPaaSシステムのゲートウェイによって送信された前記iPaaSシステムのコネクタのデータ伝送要求、及び前記コネクタがアクセスする目標サービスのアドレス識別子を受信するステップであって、前記iPaaSシステムは、クラウドネットワークにおける前記iPaaSシステムが属するテナントの第1VPCにデプロイされ、前記サービスエージェントは、前記テナントのイントラネットにデプロイされ、前記目標サービスは前記イントラネット又は前記テナントの第2VPCにデプロイされる、ステップと、
前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信するステップと、
前記コネクタがアクセスする目標サービスによって送信された応答データを受信した場合、前記目標サービスのアドレス識別子に基づいて、前記サービスエージェントと前記ゲートウェイがデータ伝送を行う第1伝送接続を決定するステップであって、前記第1伝送接続は、前記サービスエージェントによって開始された第1接続確立要求に基づいて確立される、ステップと、
前記第1伝送接続を介して、前記目標サービスの応答データ及び前記目標サービスのアドレス識別子を前記ゲートウェイに送信するステップであって、前記ゲートウェイは、前記アドレス識別子に基づいて前記コネクタを決定し、前記目標サービスの応答データを前記コネクタに送信するものである、ステップと、を含む。
【0009】
本願の実施例は、サービス統合におけるデータ伝送装置を提供し、前記データ伝送装置は、
iPaaSシステムのゲートウェイが前記iPaaSシステムのコネクタによって送信されたデータ伝送要求を受信するように構成される第1受信モジュールであって、前記iPaaSシステムは、クラウドネットワークにおける前記iPaaSシステムが属するテナントの第1VPCにデプロイされる、第1受信モジュールと、
設定されたサービス設定情報に基づいて、前記コネクタがアクセスする目標サービスのアドレス識別子、及び前記ゲートウェイと前記目標サービスのサービスエージェントとがデータ伝送を行う第1伝送接続を決定するように構成される第1マッピングモジュールであって、前記サービスエージェントは前記テナントのイントラネットにデプロイされ、前記目標サービスは前記イントラネット又は前記テナントの第2VPCにデプロイされ、前記第1伝送接続は前記サービスエージェントによって開始された第1接続確立要求に基づいて確立される、第1マッピングモジュールと、
前記第1伝送接続を介して、前記データ伝送要求及び前記目標サービスのアドレス識別子を前記サービスエージェントに送信するように構成される第1送信モジュールであって、前記サービスエージェントは前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信するものである、第1送信モジュールと、を備える。
【0010】
本願の実施例は、サービス統合におけるデータ伝送装置を提供し、前記データ伝送装置は、
サービスエージェントがiPaaSシステムのゲートウェイによって送信された前記iPaaSシステムのコネクタのデータ伝送要求、及び前記コネクタがアクセスする目標サービスのアドレス識別子を受信するように構成される第4受信モジュールであって、前記iPaaSシステムは、クラウドネットワークにおける前記iPaaSシステムが属するテナントの第1VPCにデプロイされ、前記サービスエージェントは、前記テナントのイントラネットにデプロイされ、前記目標サービスは前記イントラネット又は前記テナントの第2VPCにデプロイされる、第4受信モジュールと、
前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信するように構成される第5送信モジュールと、
前記コネクタがアクセスする目標サービスによって送信された応答データを受信した場合、前記目標サービスのアドレス識別子に基づいて、前記サービスエージェントと前記ゲートウェイがデータ伝送を行う第1伝送接続を決定するように構成される第5受信モジュールであって、前記第1伝送接続は、前記サービスエージェントによって開始された第1接続確立要求に基づいて確立される、第5受信モジュールと、
前記第1伝送接続を介して、前記目標サービスの応答データ及び前記目標サービスのアドレス識別子を前記ゲートウェイに送信するように構成される第6送信モジュールであって、前記ゲートウェイは、前記アドレス識別子に基づいて前記コネクタを決定し、前記目標サービスの応答データを前記コネクタに送信するものである、第6送信モジュールと、を備える。
【0011】
本願の実施例は、サービス統合におけるデータ伝送機器を提供し、前記データ伝送機器は、メモリと、プロセッサとを含み、前記メモリは実行可能な命令を記憶し、前記プロセッサは、前記メモリに記憶される実行可能な命令を実行するとき、本願の実施例によって提供されるサービス統合におけるデータ伝送方法を実現する。
【0012】
本願の実施例は、コンピューター可読記憶媒体を提供し、前記コンピューター可読記憶媒体は、実行可能な命令が記憶され、前記実行可能な命令は、プロセッサによって実行されるとき、前記プロセッサに本願の実施例によって提供されるサービス統合におけるデータ伝送方法を実現させる。
【0013】
本願の実施例は、コンピュータープログラム製品を提供し、前記コンピュータープログラム製品は、コンピュータープログラム又は命令を含み、前記コンピュータープログラム又は命令は、コンピューターに、上記のサービス統合におけるデータ伝送方法を実行させる。
【0014】
本願の実施例は、以下の有益な効果を有する。
第1VPCにデプロイされたiPaaSシステムのゲートウェイにより、iPaaSシステムのコネクタによって送信されたデータ伝送要求を受信し、データ伝送要求の目標サービスのアドレス識別子、及びゲートウェイと目標サービスのサービスエージェントがデータ伝送を行う第1伝送接続を決定し、第1伝送接続を介して、データ伝送要求及び目標サービスのアドレス識別子をサービスエージェントに送信することにより、サービスエージェントは該アドレス識別子に基づいて、該データ伝送要求を目標サービスに送信する。このようにして、iPaaSシステムとテナントのイントラネットとの間のネットワークインターワーキングを実現し、イントラネットにおけるサービスに対する統合ロジックを実現することができる。また、iPaaSシステムはテナントの第1VPCにデプロイされ、目標サービスはイントラネット又はテナントの第2VPCにデプロイされ、第1伝送接続を介してデータ伝送要求を目標サービスのサービスエージェントに伝送するため、同じテナントの異なるイントラネット又は異なるVPCにおけるサービスに対する統合ロジックを実現することができ、さらに、iPaaSシステムのサービス統合能力を完全なものにすることができる。
【図面の簡単な説明】
【0015】
【
図1A】関連技術におけるiPaaSシステムをデプロイするシナリオの模式図である。
【
図1B】関連技術におけるiPaaSシステムをデプロイするシナリオの模式図である。
【
図1C】関連技術におけるiPaaSシステムをデプロイするシナリオの模式図である。
【
図1D】関連技術におけるiPaaSシステムのプライベート化デプロイメントのアーキテクチャ模式図である
【
図1E】本願の実施例による統合サービスシステムのアーキテクチャ模式図である。
【
図2A】本願の実施例によるサービス統合におけるデータ伝送機器の構造的模式図である。
【
図2B】本願の実施例によるサービス統合におけるデータ伝送機器の構造的模式図である。
【
図3】本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートである。
【
図4】本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートである。
【
図5A】本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートである。
【
図5B】本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートである。
【
図5C】本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートである。
【
図6A】本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートである。
【
図6B】本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートである。
【
図7】本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートである。
【
図8A】本願の実施例によるサービス統合システムの実現アーキテクチャの模式図である。
【
図8B】本願の実施例によるサービス統合システムの実現アーキテクチャの模式図である。
【
図8C】本願の実施例によるサービス統合システムにおける各モジュール間のインタラクションプロセスの模式図である。
【
図8D】本願の実施例によるサービス統合システムにおけるプライベートクラウドメタデータの状態遷移の模式図である。
【
図9】本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートである。
【
図10】本願の実施例によるトラフィック転送モードを使用してポートマッピングを行うサービス統合システムの構成アーキテクチャの模式図である。
【
図11】本願の実施例によるNATモードを使用してポートマッピングを行うサービス統合システムの構成アーキテクチャの模式図である。
【発明を実施するための形態】
【0016】
本願の目的、技術案及び利点をより明確にするために、下記において図面を参照しながら本願をさらに詳細に説明し、記載される実施例は、本願に対する制限と見なすべきではない。当業者が創造的な労力を払うことなく得られる他の全ての実施例は、いずれも本願の保護範囲に属する。
【0017】
下記に記載される「いくつかの実施例」について、全ての可能な実施例のサブセットが記載されているが、理解可能なこととして、「いくつかの実施例」は全ての可能な実施例の同じサブセット又は異なるサブセットであってよく、しかも矛盾でなければ互いに組み合わせることができる。
【0018】
出願書類に「第1/第2」の類似する記載があれば、以下の説明を追加し、下記に記載される用語「第1/第2/第3」は、単に類似するオブジェクトを区別するものであり、オブジェクトに対する特定の順序を表すものではなく、理解可能なこととして、「第1/第2/第3」は、本明細書で説明される本願の実施形態が本明細書で図示又は説明される以外の順序で実施できるように、許可された場合に特定の順序又は前後順序を交換することができる。
【0019】
別途に定義しない限り、本明細書で使用される全ての技術用語及び科学用語は、本願の技術分野に属する当業者が一般に理解するものと同じ意味を有する。本明細書で使用される用語は、本願を限定することを意図するものではなく、単に本願の実施例を説明するためのものである。
【0020】
本願の実施例によるサービス統合におけるデータ伝送方法をよりよく理解するために、以下において、まず、関連技術におけるiPaaSシステムのデプロイメントソリューションを説明する。
【0021】
1)シナリオ1について
図1Aを参照すると、該シナリオでは、目標テナントの内部システム11とデータベース12がイントラネット10にデプロイされ、内部プライベートSaaS21がイントラネット20にデプロイされるが、iPaaSシステム31がパブリッククラウドVPCにデプロイされ、いかなるプロキシ、仮想プライベートネットワーク(VPN:Virtual Private Network)などのサードパーティ製ツールのサポートがない場合、iPaaSシステム31は、パブリックネットワークSaaS32に直接接続できるが、イントラネット10における内部システム11とデータベース12、及びイントラネット20における内部プライベートSaaS21に直接接続できないため、内部システム11、データベース12、及びプライベートSaaS21に対する統合ロジックを完成することができない。
【0022】
2)シナリオ2について
図1Bを参照すると、該シナリオでは、マーチャントシステム41及びデータベース42は、仮想クラウド内のマーチャントVPC40上にデプロイされ、iPaaSシステム51は、仮想クラウド内のiPaaS VPC50上にデプロイされ、マーチャントVPC40とiPaaS VPC50が異なる地域(Region)に属する場合、地域を跨るVPCはイントラネットを介して直接接続できないため、iPaaS VPC50上にデプロイされたiPaaSシステム51を介してマーチャントシステム41とデータベース42を統合することができない。同様に、
図1Cを参照すると、ホーム登録(HR:Home Register)システム61及びデータベース62は、仮想クラウド内の自己開発VPC60上にデプロイされ、iPaaSシステム71は、仮想クラウド内のiPaaS VPC70上にデプロイされ、自己開発VPC60とiPaaS VPC70が異なる地域に属する場合、iPaaS VPC70上にデプロイされたiPaaSシステム71を介してHRシステム61とデータベース62を統合することができない。
【0023】
以上から分かるように、上記のシナリオでは、iPaaSシステムがテナントのイントラネットと通信できず、iPaaSシステムがイントラネット回線を介してパブリッククラウドVPC又は自己開発VPC上のサービスにアクセスできないため、関連技術におけるiPaaSシステムの適用シナリオは限定的であり、サービス統合の需要を十分に満たすことができない。
【0024】
上記の問題について、
図1Dを参照すると、関連技術では、1セットの完全なプライベートiPaaSシステム81を目標テナントのイントラネット80にデプロイする方式で、プライベートiPaaSシステム81を使用して同じイントラネット内のデータベース82、内部プライベートSaaS83を貫通させ、同時に、プライベートiPaaSシステム81は、パブリックネットワークSaaS32とのインターワーキングをサポートするが、プライベートiPaaSシステム81と、別のイントラネット90にデプロイされたデータベース91及び内部プライベートSaaS92との間のネットワークは相互に通信しない。
【0025】
したがって、上記の関連技術におけるiPaaSシステムのプライベート化デプロイメントの方式は、イントラネットのインターワーキングの問題を完全に解決することができず、以下の問題が存在する。1)複数の相互に通信しないイントラネット又はVPCにおけるサービスに対する統合を支持することができず、テナントが1つ以上のイントラネットを持つ場合、1セットのプライベートiPaaSは複数の相互に通信しないイントラネット間のサービスとデータベースの統合を満たすことができない。2)コストが高く、複数のクライアントは複数のセットのプライベートiPaaSシステムをデプロイする必要があり、リソースの要求が高い。3)反復的な更新周期が長く、iPaaSシステムが毎回反復的に更新されるとともに、テナントのイントラネットにデプロイされる全てのプライベートiPaaSシステムを同期的に更新する必要がある。4)メンテナンスが難しく、クライアントによってリソース、ネットワークなどに差異があり、プライベートiPaaSシステムの運用とメンテナンスのコストは大きくなる。
【0026】
本願の実施例は、サービス統合におけるデータ伝送方法、装置、機器、コンピューター可読記憶媒体及びコンピュータープログラム製品を提供し、iPaaSシステムとテナントのイントラネットとの間のネットワークインターワーキングを実現し、イントラネットにおけるサービスに対する統合ロジックを実現することができ、また、iPaaSシステムがテナントの第1VPCにデプロイされ、目標サービスがイントラネット又はテナントの第2VPCにデプロイされ、第1伝送接続を介してデータ伝送要求を目標サービスのサービスエージェントに伝送するため、同じテナントの異なるイントラネット又は異なるVPCにおけるサービスの統合ロジックを実現することができ、さらに、iPaaSシステムのサービス統合能力を完全なものにすることができ、iPaaSシステムの開発、メンテナンス、反復的なコストを効果的に低減させることができる。以下に、本願の実施例によるサービス統合におけるデータ送信機器の例示的な適用を説明し、本願の実施例によって提供されるサービス統合におけるデータ送信機器は、iPaaSシステムのゲートウェイであってもよく、テナントのイントラネットにデプロイされたサービスエージェントであってもよい。実施する時に、該ゲートウェイと該サービスエージェントの両方は、ノートブックコンピューター、タブレットコンピューター、デスクトップコンピューター、車載ナビゲーター、セットトップボックス、モバイル機器(例えば、携帯電話、携帯音楽プレーヤー、パーソナルデジタルアシスタント、専用メッセージング機器、携帯ゲーム機器)などの様々なタイプのユーザ端末として実施されてもよく、サーバとして実施されてもよい。次に、サービス統合におけるデータ伝送機器であるゲートウェイとサービスエージェントの両方をサーバとして実施する場合の例示的な適用について説明する。
【0027】
図1Eを参照すると、
図1Eは、本願の実施例による統合サービスシステム100のアーキテクチャ模式図であり、イントラネット内のサービスを一定のロジックに従って統合することができ、該統合サービスシステム100は、テナントのイントラネット(例示的に、イントラネット400-1とイントラネット400-2が示される)にデプロイされるサービスエージェント(例示的に、サービスエージェント410-1とサービスエージェント410-2が示される)とサービス(例示的に、サービス420-1とサービス420-2が示される)、第1仮想プライベートクラウド上にデプロイされるiPaaSシステム500、及びiPaaSシステム500のゲートウェイ510を含み、サービスエージェント及びゲートウェイ510は、ネットワークインターワーキングを実現することができ、iPaaSシステムは、ゲートウェイ510及びサービスエージェントを介して、対応するサービスとデータ伝送及びインターワーキングを行うことができるとともに、iPaaSシステム500は、パブリックネットワークSaaS32とのインターワーキングも支持する。
【0028】
ゲートウェイ510は、前記iPaaSシステムのコネクタによって送信されたデータ伝送要求を受信するために用いられ、前記iPaaSシステムは、クラウドネットワークにおける前記iPaaSシステムが属するテナントの第1仮想プライベートクラウド(VPC)にデプロイされ、設定されたサービス設定情報に基づいて、前記コネクタがアクセスする目標サービスのアドレス識別子、及び前記ゲートウェイと前記目標サービスのサービスエージェントがデータ伝送を行う第1伝送接続を決定し、ここで、前記サービスエージェントは前記テナントのイントラネットにデプロイされ、前記目標サービスは前記イントラネット又は前記テナントの第2VPCにデプロイされ、前記第1伝送接続は前記サービスエージェントによって開始された第1接続確立要求に基づいて確立され、前記第1伝送接続を介して、前記データ伝送要求、前記目標サービスのアドレス識別子を前記サービスエージェントに送信することにより、前記サービスエージェントは前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信する。
【0029】
サービスエージェントは、iPaaSシステムのゲートウェイによって送信された前記iPaaSシステムのコネクタのデータ伝送要求と、前記コネクタがアクセスする目標サービスのアドレス識別を受信するために用いられ、前記iPaaSシステムは、クラウドネットワークにおける前記iPaaSシステムが属するテナントの第1VPCにデプロイされ、前記サービスエージェントは前記テナントのイントラネットにデプロイされ、前記目標サービスは前記イントラネット又は前記テナントの第2VPCにデプロイされ、前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信し、前記コネクタがアクセスする目標サービスによって送信された応答データを受信した場合、前記目標サービスのアドレス識別子に基づいて、前記サービスエージェントと前記ゲートウェイがデータ伝送を行う第1伝送接続を決定し、ここで、前記第1伝送接続は前記サービスエージェントによって開始された第1接続確立要求に基づいて確立され、前記第1伝送接続を介して、前記目標サービスの応答データと前記目標サービスのアドレス識別子を前記ゲートウェイに送信するこれにより、前記ゲートウェイは、前記アドレス識別子に基づいて前記コネクタを決定し、前記目標サービスの応答データを前記コネクタに送信する。
【0030】
いくつかの実施例では、ゲートウェイ510とサービスエージェントの両方は、独立した物理サーバであってもよく、又は複数の物理サーバから構成されるサーバクラスター又は分散システムであってもよく、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメイン名サービス、セキュリティサービス、コンテンツ配信ネットワーク(CDN:Content Delivery Network)、及びビッグデータと人工知能プラットフォームなどの基本的なクラウドコンピューティングサービスを提供するクラウドサーバであってもよい。ゲートウェイとサービスエージェントは、有線通信又は無線通信により直接的又は間接的に接続することができ、本願の実施例では限定されない。
【0031】
いくつかの実施例では、ゲートウェイ510とサービスエージェントの両方は、ブロックチェーンシステム内のノードであってもよく、ここで、ブロックチェーンシステムは、複数のノード(ネットワークにアクセスする任意の形態のコンピューティング機器、例えば、サーバ、ユーザ端末)とクライアントによって形成される分散ノードであってもよく、ノード間に組成されたピアツーピア(P2P:Peer To Peer)ネットワークが形成され、P2Pプロトコルは、伝送制御プロトコル(TCP:Transmission Control Protocol)上で動作するアプリケーション層プロトコルである。ブロックチェーンシステムでは、サーバ、端末などの任意のマシンが参加してノードになることができる。
【0032】
図2Aを参照すると、
図2Aは、本願の実施例によるサービス統合におけるデータ伝送機器200の構造的模式図であり、例えば、サービス統合におけるデータ伝送機器200は、ゲートウェイとして実施され、
図2Aに示すサービス統合におけるデータ伝送機器200は、少なくとも1つのプロセッサ210、メモリ250、少なくとも1つのネットワークインターフェース220、及びユーザインターフェース230を含む。サービス統合におけるデータ伝送機器200内の各コンポーネントは、バスシステム240により結合される。バスシステム240は、これらのコンポーネント間の接続及び通信を実現するために用いられることが理解され得る。バスシステム240は、データバスに加えて、電源バス、制御バス、及び状態信号バスも含む。しかし、明確に説明するために、
図2Aでは、様々なバスをバスシステム240と記す。
【0033】
プロセッサ210は、信号処理能力を備えた集積回路チップ、例えば、汎用プロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、又は他のプログラマブルロジック機器、ディスクリートゲート又はトランジスタロジック機器、ディスクリートハードウェアコンポーネントなどであってもよい。ここで、汎用プロセッサは、マイクロプロセッサ又は任意の従来のプロセッサなどであってもよい。
【0034】
ユーザインターフェース230は、メディアコンテンツのプレゼンテーションを可能にする1つ又は複数の出力装置231を含み、出力装置231は、1つ又は複数のスピーカ及び/又は1つ又は複数のビジュアルディスプレイを含む。ユーザインターフェース230はさらに、1つ又は複数の入力装置232を含み、入力装置232は、ユーザの入力を容易にするユーザインターフェース構成要素、例えば、キーボード、マウス、マイクロフォン、タッチスクリーンディスプレイ、カメラ、他の入力ボタン及びコントロールを含む。
【0035】
メモリ250は、取り外し可能、取り外し不可、又はそれらの組み合わせであってもよい。例示的なハードウェア機器は、ソリッドステートメモリ、ハードドライブ、光ディスドライブなどを含む。メモリ250は、選択的に、プロセッサ210から物理的に離れた位置にある1つ又は複数の記憶装置を含む。
【0036】
メモリ250は、揮発性メモリ又は不揮発性メモリを含み、揮発性メモリと不揮発性メモリの両方を含むこともできる。不揮発性メモリは読み出し専用メモリ(ROM:Read Only Memory)であってもよく、揮発性メモリはランダムアクセスメモリ(RAM:Random Access Memory)であってもよい。本願の実施例で説明されるメモリ250は、任意の適切なタイプのメモリを含むことを意図する。
【0037】
いくつかの実施例では、メモリ250は、各種類の操作をサポートするためにデータを記憶することができ、これらのデータの例は、プログラム、モジュール、及びデータ構造、又はそれらのサブセット又はスーパーセットを含み、以下に例示的に説明する。
【0038】
オペレーティングシステム251は、様々な基本システムサービスを処理し、ハードウェア関連タスクを実行するためのシステムプログラム、例えば、フレームワーク層、コアライブラリ層、ドライバ層などを含み、様々な基本サービスを実現し、ハードウェアに基づくタスクを処理するために用いられる。
【0039】
ネットワーク通信モジュール252は、1つ又は複数の(有線又は無線)ネットワークインターフェース220により他のコンピューティング機器に到達するために用いられ、例示的なネットワークインターフェース220は、ブルートゥース(登録商標)、無線適合性認証(WiFi)、及び汎用シリアルバス(USB:Universal Serial Bus)などを含む。
【0040】
プレゼンテーションモジュール253は、ユーザインターフェース230に関連付けられた1つ又は複数の出力装置231(例えば、ディスプレイ、スピーカなど)により情報(例えば、周辺機器を操作し、コンテンツ及び情報を表示するためのユーザインターフェース)のプレゼンテーションを可能にするために用いられる。
【0041】
入力処理モジュール254は、1つ又は複数の入力装置232の1つからの1つ又は複数のユーザ入力又はインタラクションを検出し、検出された入力又はインタラクションを翻訳するように用いられる。
【0042】
いくつかの実施例では、本願の実施例によって提供されるサービス統合におけるデータ伝送装置は、ソフトウェアによって実現することができ、
図2Aは、メモリ250に記憶されたサービス統合におけるデータ伝送装置255を示し、データ伝送装置255は、プログラム又はプラグインなどの形式のソフトウェアであり得、第1受信モジュール2551、第1マッピングモジュール2552及び第1送信モジュール2553を含み、これらのモジュールは論理的であるため、実現された機能に応じて任意の組み合わせ又はさらに分割を行うことができる。以下において、各モジュールの機能について説明する。
【0043】
別のいくつかの実施例では、本願の実施例によって提供されるサービス統合におけるデータ伝送装置は、ハードウェアで実現されてもよく、例として、本願の実施例によって提供されるサービス統合におけるデータ伝送装置は、ハードウェアデコーディングプロセッサの形態を採用するプロセッサであってもよく、該プロセッサは、本願の実施例によって提供されるデータ伝送方法を実行するためにプログラムされ、例えば、ハードウェアデコーディングプロセッサ形態のプロセッサは、1つ又は複数の特定用途向け集積回路(ASIC:Application Specific Integrated Circuit)、DSP、プログラマブルロジックデバイス(PLD:Programmable Logic Device)、コンプレックスプログラマブルロジックデバイス(CPLD:Complex Programmable Logic Device)、フィールドプログラマブルゲートアレイ(FPGA:Field-Programmable Gate Array)又はその他の電子部品を採用することができる。
【0044】
図2Bを参照すると、
図2Bは、本願の実施例によるサービス統合におけるデータ伝送機器300の構造的模式図であり、例えば、サービス統合におけるデータ伝送機器は、サービスエージェントとして実施され、
図2Bに示すサービス統合におけるデータ伝送機器300は、少なくとも1つのプロセッサ310、メモリ350、少なくとも1つのネットワークインターフェース320、及びユーザインターフェース330を含む。サービス統合におけるデータ伝送機器300内の各コンポーネントは、バスシステム340により結合される。バスシステム340は、これらのコンポーネント間の接続及び通信を実現するために用いられることが理解され得る。バスシステム340は、データバスに加えて、電源バス、制御バス、及び状態信号バスも含む。しかし、明確に説明するために、
図2Bでは、様々なバスをバスシステム340と記す。
【0045】
プロセッサ310は、信号処理能力を備えた集積回路チップ、例えば、汎用プロセッサ、DSP、又は他のプログラマブルロジック機器、ディスクリートゲート又はトランジスタロジック機器、ディスクリートハードウェアコンポーネントなどであってもよい。ここで、汎用プロセッサは、マイクロプロセッサ又は任意の従来のプロセッサなどであってもよい。
【0046】
ユーザインターフェース330は、メディアコンテンツのプレゼンテーションを可能にする1つ又は複数の出力装置331を含み、出力装置331は、1つ又は複数のスピーカ及び/又は1つ又は複数のビジュアルディスプレイを含む。ユーザインターフェース330はさらに、1つ又は複数の入力装置332を含み、入力装置332は、ユーザの入力を容易にするユーザインターフェース構成要素、例えば、キーボード、マウス、マイクロフォン、タッチスクリーンディスプレイ、カメラ、他の入力ボタン及びコントロールを含む。
【0047】
メモリ350は、取り外し可能、取り外し不可、又はそれらの組み合わせであってもよい。例示的なハードウェア機器は、ソリッドステートメモリ、ハードドライブ、光ディスドライブなどを含む。メモリ350は、選択的に、プロセッサ310から物理的に離れた位置にある1つ又は複数の記憶装置を含む。
【0048】
メモリ350は、揮発性メモリ又は不揮発性メモリを含み、揮発性メモリと不揮発性メモリの両方を含むこともできる。不揮発性メモリはROMであってもよく、揮発性メモリはRAMであってもよい。本願の実施例で説明されるメモリ350は、任意の適切なタイプのメモリを含むことを意図する。
【0049】
いくつかの実施例では、メモリ350は、各種類の操作をサポートするためにデータを記憶することができ、これらのデータの例は、プログラム、モジュール、及びデータ構造、又はそれらのサブセット又はスーパーセットを含み、以下に例示的に説明する。
【0050】
オペレーティングシステム351は、様々な基本システムサービスを処理し、ハードウェア関連タスクを実行するためのシステムプログラム、例えば、フレームワーク層、コアライブラリ層、ドライバ層などを含み、様々な基本サービスを実現し、ハードウェアに基づくタスクを処理するために用いられる。
【0051】
ネットワーク通信モジュール352は、1つ又は複数の(有線又は無線)ネットワークインターフェース320により他のコンピューティング機器に到達するために用いられ、例示的なネットワークインターフェース320は、ブルートゥース(登録商標)、WiFi、及びUSBなどを含む。
【0052】
プレゼンテーションモジュール353は、ユーザインターフェース330に関連付けられた1つ又は複数の出力装置331(例えば、ディスプレイ、スピーカなど)により情報(例えば、周辺機器を操作し、コンテンツ及び情報を表示するためのユーザインターフェース)のプレゼンテーションを可能にするために用いられる。
【0053】
入力処理モジュール354は、1つ又は複数の入力装置332の1つからの1つ又は複数のユーザ入力又はインタラクションを検出し、検出された入力又はインタラクションを翻訳するように用いられる。
【0054】
いくつかの実施例では、本願の実施例によって提供されるサービス統合におけるデータ伝送装置は、ソフトウェアによって実現することができ、
図2Bは、メモリ350に記憶されたサービス統合におけるデータ伝送装置355を示し、データ伝送装置355は、プログラム又はプラグインなどの形式のソフトウェアであり得、第4受信モジュール3551、第5送信モジュール3552、第5受信モジュール3553及び第6送信モジュール3554を含み、これらのモジュールは論理的であるため、実現された機能に応じて任意の組み合わせ又はさらに分割を行うことができる。以下において、各モジュールの機能について説明する。
【0055】
別のいくつかの実施例では、本願の実施例によって提供されるサービス統合におけるデータ伝送装置は、ハードウェアで実現されてもよく、例として、本願の実施例によって提供されるサービス統合におけるデータ伝送装置は、ハードウェアデコーディングプロセッサの形態を採用するプロセッサであってもよく、該プロセッサは、本願の実施例によって提供されるデータ伝送方法を実行するためにプログラムされ、例えば、ハードウェアデコーディングプロセッサ形態のプロセッサは、1つ又は複数のASIC、DSP、PLD、CPLD、FPGA又はその他の電子部品を採用することができる。
【0056】
以下において、本願の実施例によって提供されるゲートウェイの例示的な適用及び実施を組み合わせて、本願の実施例によって提供されるサービス統合におけるデータ伝送方法を説明する。
【0057】
図3を参照すると、
図3は、本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートであり、以下において、
図3に示すステップを組み合わせて説明し、以下のステップの実行主体は前述のゲートウェイであってもよい。
【0058】
ステップS101において、サービスとしての統合プラットフォーム(iPaaS)システムのゲートウェイは、iPaaSシステムのコネクタによって送信されたデータ伝送要求を受信し、iPaaSシステムは、クラウドネットワークにおけるiPaaSシステムが属するテナントの第1仮想プライベートクラウド(VPC)にデプロイされる。
【0059】
ここで、第1VPCは、iPaaSシステムをデプロイできるパブリッククラウド上の任意の適切なVPCであり得、iPaaSシステムのコネクタは、対応するサービスに接続されることによって、サービスの統合ロジックを実現する必要がある。データ伝送要求は、コネクタが目標サービスからデータを取得するための要求である。
【0060】
ステップS102において、設定されたサービス設定情報に基づいて、コネクタがアクセスする目標サービスのアドレス識別子、及びゲートウェイと目標サービスのサービスエージェントとがデータ伝送を行う第1伝送接続を決定し、ここで、サービスエージェントはテナントのイントラネットにデプロイされ、目標サービスはイントラネット又はテナントの第2VPCにデプロイされ、第1伝送接続はサービスエージェントによって開始された第1接続確立要求に基づいて確立される。
【0061】
ここで、コネクタがアクセスする目標サービスは、コネクタが該データ伝送要求を送信する場合に最終的にアクセスする必要があるサービスであり、目標サービスのサービスエージェントは、ゲートウェイと目標サービスがデータ伝送を行うことを支援するためのエージェントサーバである。目標サービスのアドレス識別子は、目標サービスのアドレスを一意に決定できる識別情報であり、目標サービスのインターネットプロトコル(IP:Internet Protocol)アドレスとポートの組み合わせであってもよく、目標サービスのIPアドレスとポートに基づいて生成される唯一の識別子であってもよく、ここでは限定されない。第1伝送接続は、サービスエージェントによって開始された第1接続確立要求に基づいて事前に又はリアルタイムに確立された接続であり、TCP接続であってもよく、リモートプロシージャコール(RPC:Remote Processor Call)接続であってもよい。
【0062】
サービス設定情報は、コネクタのアドレスと目標サーバのアドレスとに対してアドレスマッピングを行うために必要な構成情報であってよく、サービス設定情報は事前に構成されてよく、コネクタのアドレスと目標サービスのアドレスとの間の対応関係を表す情報、ゲートウェイにおけるデータ伝送要求を受信するプロキシのアドレスと目標サービスのアドレスとの間の対応関係を表す情報、コネクタ及びプロキシのアドレスの組み合わせと目標サービス及び目標サービスのサービスエージェントのアドレスの組み合わせとの間の対応関係を表す情報などを含むことができるが、これらに限定されなく、コネクタのアドレスと第1伝送接続との間の対応関係を表す情報、受信ゲートウェイにおけるデータ伝送要求を受信するプロキシのアドレスと第1伝送接続との間の対応関係を表す情報などをさらに含むことができるが、これらに限定されない。実施する時に、実際の状況に応じて適切なサービス設定情報を採用することができ、ここでは限定されない。
【0063】
例えば、サービス設定情報は、コネクタのアドレス、目標サービスのアドレス識別子、及び第1伝送接続の間のマッピング関係を含むことができ、データ伝送要求に対してアドレスマッピング処理を実行する場合、データ伝送要求を送信するコネクタのアドレスに基づいて、サービス設定情報を照会し、該コネクタのアドレスに対応する目標サービスのアドレス識別子及び第1伝送接続を得ることができる。また、サービス設定情報は、ゲートウェイにおけるデータ伝送要求を受信するプロキシのアドレス、目標サービスのアドレス識別子、及び第1伝送接続の間のマッピング関係を含むことができ、データ伝送要求に対してアドレスマッピング処理を実行する場合、データ伝送要求を受信するプロキシのアドレスに基づいて、サービス設定情報を照会し、該プロキシのアドレスに対応する目標サービスのアドレス識別子及び第1伝送接続を得ることができる。
【0064】
目標サービスのサービスエージェントは、テナントのイントラネットにデプロイされ、目標サービスは、イントラネットにデプロイされてもよく、テナントの第2VPCにデプロイされてもよい。このようにして、ゲートウェイは、イントラネットにおけるサービスエージェントを介してイントラネットにおけるサービスとネットワークインターワーキングを行うことができ、イントラネットにおけるサービスエージェントを介して第2VPCにおけるサービスとネットワークインターワーキングを行うこともできる。
【0065】
ステップS103において、サービスエージェントがアドレス識別子に基づいてコネクタのデータ伝送要求を、コネクタがアクセスする目標サービスに送信するように、第1伝送接続を介してデータ伝送要求及び目標サービスのアドレス識別子をサービスエージェントに送信する。
【0066】
ここで、ゲートウェイは、第1伝送接続を介して、データ伝送要求と目標サービスのアドレス識別子を、目標サービスのサービスエージェントに送信することができ、サービスエージェントは、目標サービスのアドレス識別子に基づいて、目標サービスのIPアドレスとポートを決定し、決定されたIPアドレスとポートに基づいて、データ伝送要求を目標サービスに送信することができる。
【0067】
本願の実施例では、第1VPCにデプロイされるiPaaSシステムのゲートウェイにより、iPaaSシステムのコネクタによって送信されたデータ伝送要求を受信し、設定されたサービス設定情報に基づいて、コネクタがアクセスする目標サービスのアドレス識別子、及びゲートウェイと目標サービスのサービスエージェントがデータ伝送を行う第1伝送接続を決定し、ここで、サービスエージェントはテナントのイントラネットにデプロイされ、目標サービスは該イントラネット又は第2VPCにデプロイされ、第1伝送接続はサービスエージェントによって開始された第1接続確立要求に基づいて確立され、第1伝送接続を介して、データ伝送要求及び目標サービスのアドレス識別子をサービスエージェントに送信することにより、サービスエージェントは該アドレス識別子に基づいて、該データ伝送要求を目標サービスに送信する。このようにして、iPaaSシステムとテナントのイントラネットとの間のネットワークインターワーキングを実現し、イントラネットにおけるサービスに対する統合ロジックを実現することができる。また、iPaaSシステムはテナントの第1VPCにデプロイされ、目標サービスはイントラネット又はテナントの第2VPCにデプロイされ、第1伝送接続を介してデータ伝送要求を目標サービスのサービスエージェントに送信するため、同じテナントの異なるイントラネット又は異なるVPCにおけるサービスに対する統合ロジックを実現することができ、さらに、iPaaSシステムのサービス統合能力を完全なものにすることができ、iPaaSシステムの開発、メンテナンス、反復的なコストを効果的に低減させることができる。
【0068】
いくつかの実施例では、
図4を参照すると、
図4は、本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートである。
図3に基づいて、ステップS101の前に以下のステップS401~S402をさらに実行することができる。以下において、各ステップを組み合わせて説明し、以下のステップの実行主体は前述のゲートウェイであってもよい。
【0069】
ステップS401において、サービスエージェントによって開始された第1接続確立要求を受信する場合、サービスエージェントと第1伝送接続を確立し、ここで、第1接続確立要求はサービスエージェントのサービスリストを含む。
【0070】
ここで、サービスエージェントは、ゲートウェイへネットワーク接続要求を能動的に開始し、ゲートウェイは、サービスエージェントによって開始された第1接続確立要求を受信した後、該サービスエージェントと第1伝送接続を確立することができる。サービスエージェントのサービスリストは、該サービスエージェントが接続できる少なくとも1つのサービスを含むことができる。
【0071】
ステップS402において、サービスリストにおける各サービスについて、サービスにプロキシアドレスを割り当て、サービスのアドレス識別子とプロキシアドレスとの間の対応関係をサービス設定情報に追加する。
【0072】
ここで、プロキシアドレスは、サービスリスト内の各サービスのためにゲートウェイによって割り当てられる、該サービスに対応するデータパケットを転送するためのアドレスであり、データメッセージを転送するためのポートであり得、データメッセージを転送するためのIPアドレスとポートを含むことができる。実施する時に、ゲートウェイはサービスエージェントと接続を確立した後、現在利用可能なポートから1つのポートをプロキシアドレスとして選択することができる。
【0073】
サービスのアドレス識別子は、サービスリストにおいて取得されたサービスのIPアドレスとポートであり得、サービスのIPアドレスとポートに基づいてゲートウェイによって割り当てられる唯一の識別子であり得、ここでは限定されない。
【0074】
サービス設定情報は、ゲートウェイによって記憶及びメンテナンスされてもよく、他のシステム又はモジュールによって記憶及びメンテナンスされてもよく、例えば、サービス設定情報を記憶及びメンテナンスするための登録センターを第1VPCにデプロイすることができる。
【0075】
本願の実施例では、サービスエージェントは、ゲートウェイにネットワーク接続要求を能動的に開始することができ、ゲートウェイは、サービスエージェントによって開始された第1接続確立要求を受信した後、該サービスエージェントと第1伝送接続を確立し、該サービスエージェントのサービスリスト内の各サービスにプロキシアドレスを割り当て、各サービスのアドレス識別子と対応するプロキシアドレスとの間の対応関係をサービス設定情報に追加することができる。このようにして、コネクタが目標サービスへデータ伝送を行う場合、ゲートウェイは、データ伝送要求を受信するプロキシポートに基づいて、サービス設定情報から目標サービスのアドレス識別子を取得することができる。
【0076】
いくつかの実施例では、
図5Aを参照すると、
図5Aは、本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートである。
図3に基づいて、データ伝送要求は、ゲートウェイと予め確立する第2伝送接続を介してコネクタによって送信され、ステップS102は、以下のステップS501により実現され得、ステップS103は、以下のステップS502により実現され得る。以下において、各ステップを組み合わせて説明し、以下のステップの実行主体は前述のゲートウェイであってもよい。
【0077】
ステップS501において、第2伝送接続の識別子に基づいて、サービス設定情報を照会し、コネクタがアクセスする目標サービスのアドレス識別子、及びゲートウェイと目標サービスのサービスエージェントがデータ伝送を行う第1伝送接続を得る。
【0078】
ここで、第2伝送接続は、コネクタとゲートウェイとの間の事前に又はリアルタイムに確立された接続であり、第2伝送接続の識別子は、唯一の第2伝送接続を表す情報であり、第2伝送接続を確立するときにコネクタ又はゲートウェイによって生成されるものであってもよく、該コネクタのIPアドレスとポートの組み合わせであってもよく、又は該ゲートウェイにおける該コネクタに接続されたIPアドレスとポートの組み合わせであってもよく、ここでは限定されない。
【0079】
サービス設定情報は、第2伝送接続の識別子、サービスのアドレス識別子、及び第1伝送接続の間の対応関係を含むことができ、第2伝送接続の識別子とプロキシのアドレスとの間の対応関係、及びプロキシのアドレス、サービスのアドレス識別子、及び第1伝送接続の間の対応関係も含むことができ、ここでは限定されない。
【0080】
ステップS502において、サービスエージェントがアドレス識別子に基づいて目標サービスと確立した第3伝送接続を決定し、第3伝送接続を介してコネクタのデータ伝送要求を、コネクタがアクセスする目標サービスに送信するように、第1伝送接続を介してデータ伝送要求と目標サービスのアドレス識別子をサービスエージェントに送信する。
【0081】
ここで、サービスエージェントは、事前に又はリアルタイムに目標サービスと第3伝送接続を確立することができ、サービスエージェントは、ゲートウェイによって第1伝送接続を介して送信された目標サービスのアドレス識別子を受信した後、該アドレス識別子に基づいて、該目標サービスに対応する第3伝送接続を決定することができる。
【0082】
本願の実施例では、コネクタとゲートウェイとの間に第2伝送接続を事前に確立し、ゲートウェイと目標サービスのサービスエージェントとの間に第1伝送接続を確立し、目標サービスのサービスエージェントと目標サービスとの間の第3伝送接続を確立することができ、そして、第2伝送接続の識別子に基づいて、目標サービスのアドレス識別子と第1伝送接続を決定することができ、目標サービスのアドレス識別子に基づいて、第3伝送接続を決定することができる。このように、コネクタと目標サービスとの間の事前に確立されたフルリンク接続に基づいて、データ伝送を行う場合、事前に確立されたフルリンク接続に基づいて、第1VPCにおけるiPaaSシステムとイントラネット又は第2VPCにおける目標サービスとの間のネットワークインターワーキングを簡単かつ迅速に実現することができる。
【0083】
いくつかの実施例では、
図5Bを参照すると、
図5Bは本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートであり、
図5Aに基づいて、該方法は、以下のステップS503~S505をさらに含むことができる。以下において、各ステップを組み合わせて説明し、以下のステップの実行主体は前述のゲートウェイであってもよい。
【0084】
ステップS503において、第1伝送接続を介して、サービスエージェントによって返される応答データ及び目標サービスのアドレス識別子を受信し、ここで、応答データは、目標サービスによって第3伝送接続を介してサービスエージェントに送信されるものである。
【0085】
ここで、応答データは、目標サービスによってサービスエージェントを介してゲートウェイに返される応答データパケットであり得る。
【0086】
ステップS504において、目標サービスのアドレス識別子に基づいて、サービス設定情報を照会し、第2伝送接続の識別子を得る。
【0087】
ここで、サービス設定情報は、目標サービスと第2伝送接続との間の対応関係を表す情報を含み得、該対応関係を照会することにより、目標サービスのアドレス識別子に対応する第2伝送接続の識別子を決定するができる。
【0088】
ステップS505において、第2伝送接続の識別子に基づいて、応答データを第2伝送接続を介してコネクタに送信する。
【0089】
本願の実施例では、第3伝送接続、第1伝送接続、及び第2伝送接続を介して、目標サービスの応答データをiPaaSシステムのコネクタに送信することができ、このようにして、目標サービスとiPaaSシステムのコネクタとの間のネットワークインターワーキングを簡単かつ迅速に実現することができる。
【0090】
いくつかの実施例では、
図5Cを参照すると、
図5Cは本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートである。
図5Aに基づいて、ステップS101の前に以下のステップS506~S508をさらに実行することができる。以下において、各ステップを組み合わせて説明し、以下のステップの実行主体は前述のゲートウェイであってもよい。
【0091】
ステップS506において、コネクタによって送信された第2接続確立要求を受信する場合、コネクタと第2伝送接続を確立する。
【0092】
ここで、コネクタは、第2接続確立要求をゲートウェイに能動的に送信することができ、それによってゲートウェイは該コネクタと第2伝送接続を確立することができる。実施するときに、第2伝送接続はTCP接続であってもよく、RPC接続であってもよく、ここでは限定されない。
【0093】
ステップS507において、第2接続確立要求によって要求されたプロキシアドレスに基づいて、サービス設定情報を照会し、コネクタがアクセスする目標サービスのアドレス識別子、及び目標サービスのサービスエージェントとデータ伝送を行う第1伝送接続を得る。
【0094】
ここで、コネクタは、第2接続確立要求に要求すべきプロキシアドレスを運ぶことができ、プロキシアドレスは、プロキシのIPアドレス及びポートを含むことができる。
【0095】
ステップS508において、サービスエージェントが目標サービスのアドレス識別子に基づいて目標サービスと第3伝送接続を確立するように、第1伝送接続に基づいて、目標サービスのアドレス識別子を運ぶ第3接続確立要求をサービスエージェントに送信する。
【0096】
ここで、ゲートウェイは、事前に確立された第1伝送接続に基づいて、目標サービスのサービスエージェントに第3接続確立要求を送信することができ、目標サービスのサービスエージェントは、第3接続確立要求を受信した後、目標サービスのアドレス識別子に基づいて、接続すべき目標サービスを決定し、それによって該目標サービスと第3伝送接続を確立することができる。
【0097】
本願の実施例では、ゲートウェイは、コネクタによって送信された第2接続確立要求を受信する場合、コネクタと第2伝送接続を確立し、第2接続確立要求によって要求されたプロキシアドレスに基づいて、コネクタがアクセスする目標サービスのアドレス識別子、及び目標サービスのサービスエージェントとデータ伝送を行う第1伝送接続を決定し、第1伝送接続に基づいて、目標サービスのアドレス識別子を運ぶ第3接続確立要求をサービスエージェントに送信することにより、サービスエージェントは、目標サービスのアドレス識別子に基づいて、目標サービスと第3伝送接続を確立する。このようにして、iPaaSシステムと目標サービスとの間のフルリンク接続を迅速に確立することができる。
【0098】
いくつかの実施例において、
図6Aを参照すると、
図6Aは、本願の実施例によるサービス統合におけるデータ伝送方法の模式的なフローチャートであり、
図3に基づいて、ステップS102は、以下のステップS601~S603によって実現され得、ステップS103は、以下のステップS604によって実現され得る。以下において、各ステップを組み合わせて説明し、以下のステップの実行主体は前述のゲートウェイであってもよい。
【0099】
ステップS601において、データ伝送要求を送信するコネクタのアドレス、データ伝送要求を受信するプロキシのアドレス、及びコネクタがアクセスする目標サービスのアドレスを取得する。
【0100】
ここで、データ伝送要求メッセージを解析することによって、要求メッセージのソースアドレスと宛先アドレスを取得することができ、要求メッセージのソースアドレスは、データ伝送要求を送信するコネクタのアドレスであり、要求メッセージの宛先アドレスは、データ伝送要求を受信するプロキシのアドレスである。データ伝送要求メッセージは、コネクタがアクセスする目標サービスのアドレスも運ぶことができる。
【0101】
ステップS602において、コネクタのアドレス及びプロキシのアドレスに基づいて、ゲートウェイの接続状態追跡テーブルを照会し、コネクタがアクセスする目標サービスのアドレス識別子を得る。
【0102】
ここで、ゲートウェイの接続状態追跡テーブルは、ゲートウェイにおけるコネクタのアドレス又はプロキシのアドレスと、目標サービスのアドレス識別子との間の対応関係を記録するために用いられる。コネクタがアクセスする目標サービスのアドレス識別子は、ゲートウェイがコネクタによって送信されたデータ伝送要求を受信した後、コネクタのアドレスとプロキシのアドレスに基づいて、コネクタがアクセスする目標サービスのアドレスのために割り当てられる唯一の識別子であってもよい。実施する時に、コネクタがアクセスする目標サービスのアドレス識別子は、コネクタのアドレス又はプロキシのアドレスにバインドされた後、ゲートウェイの接続状態追跡テーブルに記録されてもよい。
【0103】
ステップS603において、プロキシのアドレスに基づいて、設定されたサービス設定情報を照会し、ゲートウェイと目標サービスのサービスエージェントがデータ伝送を行う第1伝送接続を得る。
【0104】
ステップS604において、サービスエージェントがアドレス識別子に基づいてサービスエージェントの接続状態追跡テーブルを照会し、サービスエージェントのアドレスを決定し、サービスエージェントのアドレスと目標サービスのアドレスによりコネクタのデータ伝送要求を、コネクタがアクセスする目標サービスに送信するように、第1伝送接続を介してデータ伝送要求、目標サービスのアドレス及び目標サービスのアドレス識別子をサービスエージェントに送信する。
【0105】
ここで、サービスエージェントのアドレスは、サービスエージェントにおける目標サービスとデータ伝送を行うためのポートを含むことができる。サービスエージェントの接続状態追跡テーブルは、サービスエージェントにおける目標サービスのアドレス識別子とサービスエージェントのアドレスとの間の対応関係を記録するために用いられる。目標サービスのサービスエージェントは、ゲートウェイによって送信されたデータ伝送要求、目標サービスのアドレス及び目標サービスのアドレス識別子を受信した後、サービスエージェントの接続状態追跡テーブルに該目標サービスのアドレス識別子に対応するレコードがあるかどうかを照会し、サービスエージェントの接続状態追跡テーブルに該目標サービスのアドレス識別子に対応するレコードがないと、受信した目標サービスのアドレスに基づいて、1つのサービスエージェントのアドレスを該目標サービスに割り当て、割り当てられたサービスエージェントのアドレスを目標サービスのアドレス識別子とバインドした後、サービスエージェントの接続状態追跡テーブルに記録する。
【0106】
いくつかの実施例では、上記のステップS602は、以下のステップS621~S622によって実現することができる。ステップS621において、ゲートウェイの接続状態追跡テーブルにコネクタのアドレス及びプロキシのアドレスに対応するレコードを照会しない場合、目標サービスのアドレスに基づいて、コネクタがアクセスする目標サービスのアドレス識別子を生成する。ステップS622において、コネクタのアドレス、プロキシのアドレス、及び目標サービスのアドレス識別子からなるレコードをゲートウェイの接続状態追跡テーブルに追加する。
【0107】
本願の実施例では、ゲートウェイの接続状態追従テーブルにより、ゲートウェイにおけるコネクタのアドレス又はプロキシのアドレスと目標サービスのアドレス識別子との間の対応関係を記録し、サービスエージェントの接続状態追従テーブルにより、サービスエージェントにおける目標サービスのアドレス識別子とサービスエージェントのアドレスとの間の対応関係を記録する。このようにして、ゲートウェイとサービスエージェントがデータ伝送を行うとき、ゲートウェイの接続状態追従テーブル及びサービスエージェントの接続状態追従テーブルに基づいて、コネクタのアドレス又はプロキシのアドレスとサービスエージェントのアドレスとの間のマッピングを実現することができ、それによってコネクタのアドレス又はプロキシのアドレスと目標サービスのアドレスとの間のマッピングを実現し、コネクタがゲートウェイ及びサービスエージェントを介して目標サービスにデータを送信する過程中に、第1伝送接続を維持する必要だけがあるため、ある程度データ伝送の遅延を減少させ、データ伝送の効率を向上させることができる。
【0108】
いくつかの実施例では、
図6Bを参照すると、
図6Bは、本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートであり、
図6Aに基づいて、該方法は、以下のステップS605~S607をさらに実行することができる。以下において、各ステップを組み合わせて説明し、以下のステップの実行主体は前述のゲートウェイであってもよい。
【0109】
ステップS605において、第1伝送接続を介して、サービスエージェントによって返された応答データと、コネクタがアクセスする目標サービスのアドレス識別子とを受信する。
【0110】
ステップS606において、目標サービスのアドレス識別子に基づいて、ゲートウェイの接続状態追跡テーブルを照会し、応答データを送信するプロキシのアドレス、及び応答データを受信するコネクタのアドレスを得る。
【0111】
ステップS607において、プロキシのアドレスとコネクタのアドレスに基づいて、応答データをコネクタに送信する。
【0112】
本願の実施例では、ゲートウェイは、第1伝送接続を介してサービスエージェントによって返された応答データ及び目標サービスのアドレス識別子を受信し、目標サービスのアドレス識別子に基づいて、ゲートウェイの接続状態追跡テーブルを照会し、応答データを送信するプロキシのアドレスと、応答データを受信するコネクタのアドレスとを得、これにより、プロキシのアドレスとコネクタのアドレスに基づいて、応答データをコネクタに送信する。このようにして、目標サービスの応答データをコネクタに迅速に返すことができる。
【0113】
以下において、本願の実施例で提供されるサービスエージェントの例示的な適用及び実施を組み合わせて、本願の実施例で提供されるサービス統合におけるデータ伝送方法を説明する。
【0114】
図7を参照すると、
図7は、本願の実施例によるサービス統合におけるデータ伝送方法の模式的フローチャートであり、以下において、
図7に示すステップを組み合わせて説明し、以下のステップの実行主体は前述のサービスエージェントであってもよい。
【0115】
ステップS701において、サービスエージェントは、iPaaSシステムのゲートウェイによって送信されたiPaaSシステムのコネクタのデータ伝送要求、及びコネクタがアクセスする目標サービスのアドレス識別子を受信し、iPaaSシステムは、クラウドネットワークにおけるiPaaSシステムが属するテナントの第1VPCにデプロイされ、サービスエージェントは、テナントのイントラネットにデプロイされ、目標サービスはイントラネット又はテナントの第2VPCにデプロイされる。
【0116】
ステップS702において、アドレス識別子に基づいて、コネクタのデータ伝送要求を、コネクタがアクセスする目標サービスに送信する。
【0117】
ステップS703において、コネクタがアクセスする目標サービスによって送信された応答データを受信した場合、目標サービスのアドレス識別子に基づいて、サービスエージェントとゲートウェイがデータ伝送を行う第1伝送接続を決定し、ここで、第1伝送接続は、サービスエージェントによって開始された第1接続確立要求に基づいて確立される。
【0118】
ステップS704において、第1伝送接続を介して、目標サービスの応答データ及び目標サービスのアドレス識別子をゲートウェイに送信することにより、ゲートウェイは、アドレス識別子に基づいてコネクタを決定し、目標サービスの応答データをコネクタに送信する。
【0119】
ここで、コネクタは、該目標サービスによって送信された応答データを受信するiPaaSシステムにおけるコネクタである。
【0120】
本願の実施例では、テナントのイントラネットにデプロイされたサービスエージェントにより、第1VPCにデプロイされたiPaaSシステムのゲートウェイによって送信されたデータ伝送要求及び目標サービスのアドレス識別子を受信し、該アドレス識別子に基づいてデータ伝送要求を該イントラネット又は第2VPCにデプロイされ目標サービスに送信し、目標サービスによって送信された応答データを受信した場合、該目標サービスのアドレス識別子に基づいて、サービスエージェントと該ゲートウェイがデータ伝送を行う第1伝送接続を決定し、ここで、第1伝送接続は該サービスエージェントによって開始された第1接続確立要求に基づいて事前に確立され、該第1伝送接続を介して、応答データ及び目標サービスのアドレス識別子を該ゲートウェイに送信することにより、該ゲートウェイは、アドレス識別子に基づいて、該目標サービスにアクセスする必要があるiPaaSシステムにおけるコネクタを決定し、応答データを該コネクタに送信する。このようにして、iPaaSシステムとテナントのイントラネットとの間のネットワークインターワーキングを実現し、イントラネットにおけるサービスに対する統合ロジックを実現することができる。また、iPaaSシステムはテナントの第1VPCにデプロイされ、目標サービスはイントラネット又はテナントの第2VPCにデプロイされ、第1伝送接続を介してデータ伝送要求を目標サービスのサービスエージェントに送信するため、同じテナントの異なるイントラネット又は異なるVPCにおけるサービスに対する統合ロジックを実現することができ、さらに、iPaaSシステムのサービス統合能力を完全なものにすることができ、iPaaSシステムの開発、メンテナンス、反復的なコストを効果的に低減させることができる。
【0121】
いくつかの実施例では、該方法は、ステップ703の前に以下のステップS801をさらに実行することができる。
【0122】
ステップS801において、サービスエージェントは第1接続確立要求をゲートウェイに送信し、サービスエージェントはゲートウェイと第1伝送接続を確立し、ここで、第1接続確立要求はサービスエージェントのサービスリストを含み、これにより、ゲートウェイは、第1伝送接続を確立した後、サービスリストにおける各サービスに対して、サービスにプロキシアドレスを割り当て、サービスのアドレス識別子とプロキシアドレスとの間の対応関係をサービス設定情報に追加する。
【0123】
いくつかの実施例では、ステップS702は、以下のステップS901~S902によって実現されてもよい。
【0124】
ステップS901において、アドレス識別子に基づいて、サービスエージェントと、コネクタがアクセスする目標サービスとの間の事前に確立された第3伝送接続を決定する。
【0125】
ステップS902において、第3伝送接続を介して、コネクタのデータ伝送要求を目標サービスに送信する。
【0126】
対応して、ステップS704は、以下のステップS903によって実現することができる。
【0127】
ステップS903において、第1伝送接続を介して、目標サービスの応答データ及び目標サービスのアドレス識別子を、ゲートウェイに送信することにより、ゲートウェイは、アドレス識別子に基づいて、コネクタ及びコネクタと確立した第1伝送接続を決定し、第1伝送接続を介して目標サービスの応答データをコネクタに送信する。
【0128】
いくつかの実施例では、ステップS901の前に、該方法は以下のステップS904をさらに実行することができる。
【0129】
ステップS904において、コネクタがアクセスする目標サービスのアドレス識別子を運ぶゲートウェイによって送信された第3接続確立要求を受信する場合、目標サービスのアドレス識別子に基づいて、目標サービスと第3伝送接続を確立する。
【0130】
いくつかの実施例では、ステップS702は、以下のステップS1001~S1002によって実現することができる。
【0131】
ステップS1001において、アドレス識別子に基づいて、サービスエージェントの接続状態追従テーブルを照会し、サービスエージェントのアドレスとコネクタがアクセスする目標サービスのアドレスを得る。
【0132】
ステップS1002において、サービスエージェントのアドレス及び目標サービスのアドレスにより、コネクタのデータ伝送要求を、コネクタがアクセスする目標サービスに送信する。
【0133】
対応して、ステップS703の前に以下のステップS1003~S1004をさらに実行することができる。
【0134】
ステップS1003において、コネクタがアクセスする目標サービスのアドレスと、目標サービスの応答データを受信するサービスエージェントのアドレスを取得する。
【0135】
ステップS1004において、目標サービスのアドレスとサービスエージェントのアドレスに基づいて、サービスエージェントの接続状態追跡テーブルを照会し、目標サービスのアドレス識別子を得る。
【0136】
いくつかの実施例では、上記のステップS1001は、以下のステップS1005~S1006によって実現されてもよい。
【0137】
ステップS1005において、サービスエージェントの接続状態追跡テーブルにアドレス識別子に対応するレコードを照会しない場合、コネクタがアクセスする目標サービスのアドレスに基づいて、サービスエージェントのアドレスを目標サービスに割り当てる。
【0138】
ステップS1006において、目標サービスのアドレス、サービスエージェントのアドレス及びアドレス識別子からなるレコードをサービスエージェントの接続状態追従テーブルに追加する。
【0139】
説明すべきこととして、サービスエージェント側の上記の方法の実施例の説明は、ゲートウェイ側の上記の方法の実施例の説明と同様であり、ゲートウェイ側の方法の実施例と同様の有益な効果を有する。本願のサービスエージェント側の方法の実施例で開示されない技術的な詳細については、本願のゲートウェイ側の方法の実施例の説明を参照して理解される。
【0140】
以下において、実際の適用シナリオにおける本願の実施例の例示的な適用について説明する。
【0141】
iPaaSシステムにおけるConnector(コネクタ)と目標クライアントのイントラネットにおけるサービス(Service)の統合とインターワーキングを例として、本願の実施例は、サービス統合システムを提供し、
図8Aを参照すると、
図8Aは本願の実施例によるサービス統合システムの実現アーキテクチャの模式図であり、該システムは、クライアントイントラネット110にデプロイされたサービスエージェント(Agent)111、内部システム112及びデータベース113、クライアントイントラネット120にデプロイされたサービスエージェント(Agent)121、内部プライベートSaaS122、パブリッククラウドVPCにデプロイされたiPaaSシステム130、及びパブリッククラウド上にデプロイされたパブリックネットワークSaaS141を含み、ここで、Agentはパブリッククラウドにアクセスできるが、パブリッククラウドで検出を行うことができず、Agentを介してiPaaSシステム130に能動的にアクセスすると、AgentとiPaaSシステム130との間のネットワークインターワーキングを実現することができ、同時に、既存のiPaaSシステムに対する互換性と改造コストを考慮して、結合度を低減させるために、iPaaSの内部にゲートウェイ(Gateway)131が設定され、Gateway131はiPaaSシステム130とクライアントイントラネット110及び120との間のネットワークインターワーキングの貫通を支援することができ、それによって内部システム112、データベース113、内部プライベートSaaS122及びパブリックネットワークSaaS141間の統合ロジックを実現することができる。
【0142】
図8Bを参照すると、
図8Bは、本願の実施例によるサービス統合システムの実現アーキテクチャの模式図であり、iPaaS VPCにデプロイされたiPaaSシステムにおけるConnector(例示的に、Connector1321、Connector1322及びConnector132nが示され、nが正の整数である)及びクライアントイントラネットにおけるService(例示的に、Service1121、Service1122及びService112nが示される)の統合とインターワーキングを実現するために、Gateway131、登録センター133及びAgent(例示的に、Agent1111、Agent1112及びAgent111nが示される)の3つのモジュールが新たに追加され、ここで、Gateway131及び登録センター133はiPaaS VPCにデプロイされ、Agentはクライアントイントラネットにデプロイされ、同時にクライアントのイントラネットにおいて、地域/サービスの分割に基づいて複数のAgentをデプロイすることが許可される。それと同時に、Gatewayでは、クライアントイントラネットの各Serviceに1つの対応するプロキシProxy(例示的に、Proxy1311、Proxy1312及びProxy131nが示される)を作成し、両者は一対一に対応しており、ConnectorがProxyと通信することは、直接該Proxyに対応するServiceと通信することと同等であり、iPaaSシステムのユーザに感知されない。該実現アーキテクチャの主な利点は次のとおりである:1)既存のiPaaSシステムにおけるConnectorの変更コストが最小であり、通信に関連するコードを変更する必要はなく、サービスアドレス/ポート(Service IP/Port)とプロキシアドレス/ポート(Proxy IP/Port)とのマッピングロジックを新たに追加し、サービスに接続する元の方式で対応するProxyに接続するだけである。2)コードの結合度を低減されることができ、Connectorコンポーネントの内部はビジネス処理ロジックのみに注目し、具体的なネットワーク相互接続はGatewayによって統一に処理される。
【0143】
図8Cを参照すると、
図8Cは、本願の実施例によるサービス統合システムにおける各モジュール間のインタラクションプロセスの模式図であり、該プロセスは以下のステップを含む。
【0144】
ステップS1101において、Agentは、Gatewayとの接続、即ち第1伝送接続(AgentConnection)の確立を能動的に要求する。
【0145】
ステップS1102において、Gatewayは、Agentの各サービスに対応するProxyを作成する。
【0146】
ステップS1103において、GatewayはProxyの作成に成功した後、作成されたProxyを登録センターに登録する。
【0147】
ステップS1104において、ConnectorはService IP/Portに接続するとき、Service IP/Portに基づいて登録センターから対応するProxy IP/Portを決定する。
【0148】
ステップS1105において、Connectorは、対応するProxy IP/Portと直接通信する。
【0149】
ステップS1106において、Gatewayは、AgentConnectionを介して、ConnectorとProxyとの間の通信をAgentとServiceとの間の通信にマッピングし、データ伝送が完了した後、1つの完全な通信を完了するためにConnectorに返す。
【0150】
上記のインタラクションプロセスには、プライベートクラウド(Private Cloud)、Gateway、Proxy、及びAgentというエンティティが含まれ、登録センターにおいて各エンティティに対応するメタデータと設定ファイルを維持し、ここで、登録センターに保存される主なメタデータは、プライベートクラウドメタデータ(PrivateCloudMeta)、Gatewayメタデータ(GatewayMeta)及びProxyメタデータ(ProxyMeta)を含む。
【0151】
1)プライベートクラウドメタデータ(PrivateCloudMeta)について
該メタデータは、アプリケーション識別子(AppId)、クラウド識別子(CloudId)、クラウド名(CloudName)、サービスリスト(Services)、ソースIPアドレスホワイトリスト(SourceIpWhiteList)、状態(Status)、AgentConnectionリスト(AgentConnectionList)を含むことができ、ここで、プライベートクラウドメタデータの状態Statusは、利用可能な状態(ENABLED)、無効化中(DISABLING)、及び無効化状態(DISABLED)のうちの1つを含み、
図8Dを参照すると、
図8Dは、本願の実施例によるサービス統合システムにおけるプライベートクラウドメタデータの状態遷移の模式図であり、ENABLED状態で該プライベートクラウドメタデータが無効化にされる場合、DISABLING状態に入り、プライベートクラウドメタデータの無効化が完了した後、DISABLED状態に入り、DISABLED状態で該プライベートクラウドメタデータが有効になると、ENABLED状態に入る。サービスリスト(Services)に少なくとも1つのサービスを含むことができ、各サービスは、IP、ポートPort、モードModeを含むことができ、Modeは、ネットワークアドレス変換(NAT:Network Address Translation)モード、転送(Forward)モードを含むことができる。AgentConnectionリストに少なくとも1つのAgentConnectionを含むことができ、各AgentConnectionは、AgentConnectionの識別子AgentConnectionId、Gatewayの識別子GatewayId及び状態Statusを含むことができ、AgentConnectionの状態Statusは、接続状態(CONNECTED)又は切断状態(DISCONNECTED)であることができる。
【0152】
2)Gatewayメタデータ(GatewayMeta)について
該メタデータは、Gatewayの識別子(GatewayId)、GatewayのIPアドレス(GatewayIp)、状態(Status)、及びハートビート情報(Heartbeat)を含み得る。ここで、Gatewayの状態Statusは、アクティブな状態(ACTIVE)又は使用不可能な状態(UNAVAILABLE)であり得る。
【0153】
3)Proxyメタデータ(ProxyMeta)について
該メタデータは、クラウド識別子(CloudId)、サービスのIPアドレス(ServiceIp)、サービスのポート(ServicePort)、プロキシのIPアドレス(ProxyIp)、プロキシのポート(ProxyPort)、及びProxyに接続するAgentConnectionの識別子(AgentConnectionId)を含み得る。
【0154】
登録センターによって保存される設定ファイルは、Agent設定ファイルを含み、Agent設定ファイルには、アプリケーションの検証シーケンス番号(AppKey)、アプリケーションの検証キー(AppSecret)、クラウド識別子(CloudId)、及びサービスホワイトリスト(ServiceWhiteList)を含み得る。
【0155】
本願の実施例は、サービス統合におけるデータ伝送方法を提供し、
図9を参照すると、該方法は、以下のステップS1201~S1213を含む。
【0156】
ステップS1201において、登録センターにセキュリティゲートウェイ(即ち、プライベートクラウド)を作成する。
【0157】
ステップS1202において、クライアントイントラネットにAgent設定ファイルを作成し、Agentプログラムをデプロイ及び開始する。
【0158】
ステップS1203において、Agentが開始された後、能動的にGatewayと接続を確立し、即ち、AgentConnectionを確立する。
【0159】
ステップS1204において、接続が成功した後、Agentはハンドシェイク命令をGatewayに送信し、ハンドシェイク命令は、パラメータAppKey、AppId、CloudId、ServiceWhiteList、及びAppSecretの署名(Signature)を含む。
【0160】
ステップS1205において、Gatewayは、ハンドシェイク命令を受信した後、認証によりAppIdを取得し、さらに、AppId+CloudIdに基づいて、登録センターからプライベートクラウドメタデータを取得する。
【0161】
ステップS1206において、認証が失敗した場合、又はプライベートクラウドが存在しない場合、又はプライベートクラウドのStatusが利用可能な状態でない場合、又はハンドシェイク命令のソースIPがSourceIpWhiteListにない場合、又は利用可能なポートの数が不十分である場合、Gatewayは対応するエラーを返す。
【0162】
ステップS1207において、検証に合格した後、Gatewayは、該接続に関連付けられたAgentConnectionIdを割り当て、該接続をプライベートクラウドメタデータのAgentConnectionListに登録する。
【0163】
ステップS1208において、Gatewayは、プライベートクラウドメタデータ内のすべてのServiceを取得し、ハンドシェイクメッセージにServiceWhiteListが指定される場合、プライベートクラウドメタデータ内のすべてのServiceからServiceWhiteListに含まれる各サービスを選別し、各Serviceにプロキシポートを割り当てる。
【0164】
各サービスに対して、次の操作を実行することができる。
【0165】
ステップS1208aにおいて、Gatewayの利用可能なポートプールにProxyPortを割り当てる。
【0166】
ステップS1208bにおいて、Gatewayは、割り当てられたProxyPortの検出を試み、検出が失敗した場合、1秒(s)スリープし、該ProxyPortをポートプールに返し、ステップS1208aにジャンプし、検出が成功した場合、ステップS1208cにジャンプする。
【0167】
ステップS1208cにおいて、Gatewayは、登録センターにProxyメタデータを作成し、ここで、ProxyメタデータのProxyIpは、該GatewayノードのイントラネットIPであり、ProxyPortは、割り当てられたProxyPortであり、AgentConnectionIdは、該接続に関連付けられたAgentConnectionIdであり、ServiceIP/Portは、現在のServiceのIPアドレスとポートに対応する。
【0168】
ステップS1209において、Connectorを設定するとき、プライベートクラウドを指定することができる。
【0169】
ステップS1210において、Connectorが目標サービスと接続を確立するとき、パラメータがCloudIdを指定する場合、AppId+CloudIdに基づいて登録センターからプライベートクラウドメタデータを取得し、プライベートクラウドメタデータが存在しない場合、又は状態が利用可能な状態でない場合、エラー報告処理を実行する。
【0170】
ステップS1211において、目標Service IP/PortがServiceリストにない場合、Connectorは、目標Service IP/Portに直接接続して通信を行い、そうでない場合、Connectorは、目標IP、Port、AppId、CloudIdに基づいて、状態がACTIVEであるGatewayにおける、Heartbeatがタイムアウトしなく、且つAgentConnectionがCONNECTED状態にあるProxyを検索し、検索しない場合、エラー報告処理を実行する。
【0171】
ステップS1212において、Connectorは、少なくとも1つの検索したProxyからロードバランシングポリシーに基づいて、1つのProxyを選択し、選択されたProxy IP/Portと接続及び通信を行う。
【0172】
ステップS1213において、GatewayとAgentは、Proxy IP/PortとService IP/Portとの間のポートマッピングを共に完了し、実施する時に、ポートマッピングはNATとトラフィック転送の2つのモードをサポートする。
【0173】
上記のプロセスでは、コンソールの操作は、1)プライベートクラウドを作成すること、2)プライベートクラウドを起動と停止すること、3)停止状態で、プライベートクラウドメタデータをメンテナンス/削除すること、4)プライベートクラウドとAgentに接続されるネットワーク構造トポロジー図を調べること、を含む。
【0174】
Gatewayは、以下のステップを実行することでシステム制御を実現することができる。
【0175】
ステップS1301において、Gatewayが起動した後、GatewayIPを取得する。
【0176】
ステップS1302において、登録センターでGatewayIPに従ってACTIVEなGatewayを照会し、Gatewayを削除し、このようにして、同じIPのGatewayを繰り返して起動することを回避することができる。
【0177】
ステップS1303において、GatewayIdを割り当て、GatewayIdを登録センターに登録する。
【0178】
ステップS1304において、ポートプールを初期化する。
【0179】
ここで、以下のステップS1304a~S1304dによってポートプールの初期化を実現することができる。
【0180】
ステップS1304aにおいて、GatewayIPが同じ、削除された、最後のハートビート時間が最大プロキシ生命時間(MPL:Max Proxy Lifetime)内の全てのGatewayIdを登録センターから見つけ、登録センターから対応するポート(Port)を見つける。
【0181】
ここで、MPLは、Proxyが誤って接続されるのを防ぐために用いられ、ProxyのMPL内で、同じグループのIP/Portは再利用されなく、ConnectorのクライアントClientは、Proxy IP/Portを使用するときに、ProxyのMPL内にあることを確保する必要があり、MPLは、デフォルトで10分であり得る。
【0182】
ステップS1304bにおいて、各Portを遅延キューに入れ、時間は、Portに対応するGatewayIdの最後のハートビート時間+MPLである。
【0183】
ステップS1304cにおいて、残りの利用可能なポートを遅延キューの頭部に入れ、得られた遅延キューはポートプールである。
【0184】
ステップS1305において、Agentからの接続の受信を開始する。
【0185】
ステップS1306において、登録センターGatewayのハートビート時間を定期的に更新し、Gatewayが削除されたと決定する場合、すべてのAgentConnectionを中断し、Proxy Portを停止してサービスを再起動する。
【0186】
ステップS1307において、ハートビートがタイムアウトしたGatewayを定期的に削除する。
【0187】
ステップS1308において、Gatewayは定期的にAgentConnectionを検出し、AgentConnectionが利用不可能である場合、接続を切断し、該AgentConnectionの状態をDISCONNECTEDに更新する。
【0188】
ここで、Agentは定期的にAgentConnectionもアクティブ化し、AgentConnectionが利用不可能である場合、接続を切断し、接続を再確立する。
【0189】
ステップS1309において、Gatewayはプライベートクラウドを無効化にする場合、次の操作を実行することができる。
【0190】
ステップS1309aにおいて、無効化すべきプライベートクラウドメタデータにおける状態をDISABLINGとしてマークする。
【0191】
ステップS1309bにおいて、各AgentConnectionに対応するGatewayの切断接続インターフェースを順番に呼び出し、呼び出しが完了した後、プライベートクラウドメタデータにおける状態をDISABLEDとしてマークする。
【0192】
本願の実施例によるサービス統合におけるデータ伝送方法では、プライベートクラウド状態、Gateway状態、及びAgentConnection状態のそれぞれの一貫性を保証する必要がある。各状態は、次の一貫性の優先度がある:プライベートクラウド状態の一貫性>Gateway状態の一貫性>AgentConnection状態の一貫性。Gateway状態とAgentConnection状態の一貫性の保証については、以下の方式を採用することができる。
【0193】
1)Gateway状態の一貫性の保証について
Gatewayが利用不可能であると、状態が一致しない場合、ハートビートがタイムアウト後、Gatewayが他のノードによって削除され、状態の一貫性を保証する。
【0194】
Gatewayがパーティション化される場合、ハートビートがタイムアウトした後、Gatewayは他のノードによって削除され、パーティションが復元された後、状態が一致しない場合、Gatewayが削除されたことをハートビートによって検出した後、Gatewayは能動的に再起動し、状態の一貫性を保証する。
【0195】
2)AgentConnection状態の一貫性の保証について
Gatewayが利用不可能であるとき、AgentがGatewayに接続できない場合、Agentは自動的に再起動し、状態は一致になる。
【0196】
Agentが利用不可能であるとき、GatewayがAgentに接続できない場合、対応するAgentConnectionをDISCONNECTEDとしてマークし、状態は一致になる。
【0197】
Gatewayネットワークが不通するとき、AgentがGatewayに接続できない場合、Agentは自動的に再起動し、Gatewayネットワークが接続された後、Agentが利用不可能であるとき、GatewayがAgentに接続できない場合、対応するAgentConnectionをDISCONNECTEDとしてマークし、状態は一致になる。
【0198】
Agentネットワークが不通するとき、AgentConnectionの接続が切断され、接続状態をDISCONNECTEDとしてマークし、Agentネットワークが接続されるとき、再接続し、Gatewayネットワークが不通するとき、AgentがGatewayに接続できない場合、Agentは自動的に再起動し、Gatewayネットワークが接続された後、Agentが利用不可能であるとき、GatewayがAgentに接続できない場合、対応するAgentConnectionをDISCONNECTEDとしてマークし、状態は一致になる。
【0199】
以上をまとめて、本願の実施例によるサービス統合におけるデータ伝送方法では、iPaaSイントラネットにデプロイされたGatewayとクライアントイントラネットにデプロイされたAgentは、Proxy IP/PortとService IP/Portとの間のポートマッピングの機能を共に完成し、NATとトラフィック転送の2つのポートマッピングモードをサポートする。以下において、2つのモードのポートマッピングの原理の紹介を展開する。
【0200】
1)トラフィック転送モードについて
図10を参照すると、
図10は、本願の実施例によるトラフィック転送モードを使用してポートマッピングを行うサービス統合システムの構成アーキテクチャの模式図であり、トラフィック転送モードでは、iPaaSシステムのコネクタConnector1010と目標サービスService1040との間の完全なリンクは、3つのTCP接続を確立する必要があり、該3つのTCP接続は、Connector1010とGateway1020のプロキシProxy1021との間に確立された接続ClientConnector、Gateway1020のプロキシProxy1021とAgent1030との間に確立されたAgentConnection、及びAgent1030とService1040との間に確立されたServiceConnection、即ち第3伝送接続を含み、Gateway1020とAgent1030は、共に分散エージェントゲートウェイとすることができる。
【0201】
サービス統合では、トラフィック転送モードに基づいてデータ伝送を行う場合、主にフルリンク接続の確立とデータ伝送の2つのプロセスを含み、同時に接続の中断とエラー処理を考慮する必要がある。以下に、各プロセスについて説明する。
【0202】
フルリンク接続の確立は、以下のステップS1401~S1405を含むことができる。
【0203】
ステップS1401において、ConnectorのクライアントClientは、TCPの3つのハンドシェイクを介してProxyと接続ClientConnection、即ち、第2伝送接続を確立する。
【0204】
ステップS1402において、Gatewayは、識別子ConnectionIdを該ClientConnectionに割り当てる。
【0205】
ステップS1403において、Gatewayは、接続確立命令をProxyに対応するAgentConnectionに送信し、返信を待つ。
【0206】
ここで、GatewayとAgentとの間の接続はRPC接続であり、接続確立命令に対応するRPCメッセージのフォーマットは次のとおりである。
【0207】
Cmd:Establish
ConnectionId:xxx
Service IP/Port:xxx:xxx;
ここで、Cmdは制御タイプであり、Establishは接続を確立することを表し、ConnectionIdはClientConnectionに割り当てられた唯一の識別子であり、Service IP/PORTは目標サービスのIPアドレス/ポートである。
【0208】
ステップS1404において、Agentは、TCPの3つのハンドシェイクを介して目標サービスService IP/ポートと接続ServiceConnectionを確立し、該接続をConnectionIdとバインドする。
【0209】
ステップS1405において、Agentは、確立成功又は確立失敗のメッセージをGatewayに返す。
【0210】
データ伝送プロセスは、アップリンクデータ伝送とダウンリンクデータ伝送の2つの部分を含み、上記のステップS1402の後に、アップリンクデータ伝送プロセスを実行することができ、以下のステップS1411~S1416を含む。
【0211】
ステップS1411において、Connectorは、ClientConnectionを介してデータストリームをProxyに送信する。
【0212】
ここで、データストリームを送信する場合、データストリームに対するアンパック、グループ化などの操作を含むことができ、ConnectorがProxyにデータパケットを送信するときのTCPメッセージフォーマットは次のとおりである:
Src:Client IP/Port
Dst:Proxy IP/Port
Flag:DATA
Payload;
ここで、メッセージのソースアドレスSrcは、ConnectorのクライアントのIPアドレスとポート、即ちClient IP/Portであり、メッセージの宛先アドレスDstは、ProxyのIPアドレスとポート、即ちProxy IP/Portであり、Flagはメッセージフラグであり、DATAはデータ送信メッセージを表し、Payloadは伝送すべきデータである。
【0213】
また、Proxyは、Connectorによって送信されたメッセージを受信した後、確認メッセージをConnectorに返す。
【0214】
ステップS1412において、Gatewayは、ClientConnectionに基づいて対応するConnectionIdを取得し、Proxyに基づいて対応するAgentConnectionを取得する。
【0215】
ステップS1413において、Gatewayは、AgentConnectionを介してAgentにデータストリーム命令を送信し、返信を待つ。
【0216】
ここで、データストリームを送信する場合、データストリームに対するアンパック、グループ化などの操作を含むことができ、AgentConnectionは、TCP接続であってもよく、RPC接続であってもよく、GatewayがデータパケットをAgentConnectionに送信するときのRPCメッセージフォーマットは次のとおりである:
Cmd:DATA
ConnectionId:xxx
Payload;
ここで、Cmdは制御タイプであり、DATAはデータ送信を表し、Payloadは伝送すべきデータであり、ConnectionIdはClientConnectionの識別子である。該ConnectionIdの前のアップリンクデータ伝送命令がまだ返さない場合、待ちキューに入れて送信を待つ。
【0217】
ステップS1414において、Agentは、ConnectionIdに基づいて、対応するServiceConnectionを見つける。
【0218】
ステップS1415において、Agentは、ServiceConnectionを介してデータストリームをServiceに送信する。
【0219】
ここで、データストリームを送信する場合、データストリームに対するアンパック、グループ化などの操作を含むことができ、AgentがデータパケットをServiceに送信するときのTCPメッセージフォーマットは次のとおりである:
Src:Agent IP/Port
Dst:Service IP/Port
Flag:DATA
Payload;
ここで、メッセージのソースアドレスSrcはAgentのIPアドレスとポート、即ちAgent IP/Portであり、メッセージの宛先アドレスDstはServiceのIPアドレスとポート、即ちService IP/Portであり、Flagはメッセージフラグであり、DATAはデータ送信メッセージを表し、Payloadは伝送すべきデータである。
【0220】
ステップS1416において、Serviceは、送信成功又は失敗のメッセージを返す。
【0221】
また、Serviceは、Agentから送信されたメッセージを受信した後、送信成功又は失敗を示す確認メッセージをAgentに返す。
【0222】
ダウンリンクデータ伝送プロセスは、以下のステップS1421~S1426を含む。
【0223】
ステップS1421において、Serviceは、ServiceConnectionを介してAgentにデータストリームを送信する。
【0224】
ここで、データストリームを送信する場合、データストリームに対するアンパック、グループ化などの操作を含むことができ、ServiceがAgentにデータパケットを送信するときのTCPメッセージフォーマットは次のとおりである:
Src:Service IP/Port
Dst:Agent IP/Port
Flag:DATA
Payload;
ここで、メッセージのソースアドレスSrcは、ServiceのIPアドレスとポート、即ちService IP/Portであり、メッセージの宛先アドレスDstは、AgentのIPアドレスとポート、即ちAgent IP/Portであり、Flagはメッセージフラグであり、DATAはデータ送信メッセージを表し、Payloadは伝送すべきデータである。
【0225】
また、Agentは、Serviceによって送信されたメッセージを受信した後、確認メッセージをServiceに返す。
【0226】
ステップS1422において、Agentは、ServiceConnectionに基づいてConnectionIdを決定する。
【0227】
ステップS1423において、Agentは、AgentConnectionを介してデータストリーム命令をProxyに送信する。
【0228】
ここで、データストリームを送信する場合、データストリームに対するアンパック、グループ化などの操作を含むことができ、AgentConnectionは、TCP接続であってもよく、RPC接続であってもよく、AgentがAgentConnectionを介してデータパケットを送信するときのRPCメッセージフォーマットは次のとおりである:
Cmd:DATA
ConnectionId:xxx
Payload;
ここで、Cmdは制御タイプであり、DATAはデータ送信を表し、Payloadは伝送すべきデータであり、ConnectionIdはClientConnectionの識別子である。該ConnectionIdの前のダウンリンクデータ伝送命令がまだ返さない場合、待ちキューに入れて送信を待つ。
【0229】
ステップS1424において、Gatewayは、ConnectionIdに基づいて、対応するClientConnectionを決定する。
【0230】
ステップS1425において、GatewayはClientConnectionを介してデータストリームをConnectorに送信する。
【0231】
ここで、データストリームを送信する場合、データストリームに対するアンパック、グループ化などの操作を含むことができ、GatewayがデータパケットをConnectorに送信するときのTCPメッセージフォーマットは次のとおりである:
Src:Proxy IP/Port
Dst:Client IP/Port
Flag:DATA
Payload;
ここで、メッセージのソースアドレスSrcはProxyのIPアドレスとポート、即ちProxy IP/Portであり、メッセージの宛先アドレスDstはConnectorのクライアントのIPアドレスとポート、即ちClient IP/Portであり、Flagはメッセージフラグであり、DATAはデータ送信メッセージを表し、Payloadは伝送すべきデータである。
【0232】
ステップS1426において、Connectorは、送信成功又は失敗のメッセージを返す。
【0233】
ここで、Connectorは、Proxyによって送信されたメッセージを受信した後、送信成功又は失敗を示す確認メッセージをProxyに返す。
【0234】
上述の本願の実施例によるトラフィック転送モードを使用してポートマッピングを行うデータ伝送方法では、各接続の中断及びエラー処理については、以下の(1)~(4)を含むことができる。
【0235】
(1)ClientConnectionが受動的に切断される処理プロセスは次のとおりである。
a.Gatewayは、ClientConnectionの切断、例えば、タイムアウト、再起動又はConnectorの切断を受信することを検出した。
b.Gatewayは、ConnectionId状態を切断済みとしてマークする。
c.Gatewayは、AgentConnectionを介して切断命令をAgentに送信し、切断命令はパラメータConnectionIdを運ぶ。
d.Agentは、命令を受信した後、ConnectionId状態を切断済みとしてマークし、対応するServiceConnectionを切断する。
e.Gatewayは、後続でAgentConnectionを介して送信された該ConnectionIdのダウンリンク命令を受信する場合、エラーを返す。
【0236】
(2)ServiceConnectionが受動的に切断される処理プロセスは次のとおりである。
a.Agentは、ServiceConnectionの切断、例えば、タイムアウト、再起動又はServiceの切断を受信することを検出した。
b.Agentは、ConnectionIdを切断済みとしてマークする。
c.Agentは、AgentConnectionを介して切断命令をGatewayに送信し、切断命令はパラメータConnectionIdを運ぶ。
d.Gatewayは、命令を受信した後、ConnectionIdを切断済みとしてマークし、対応するClientConnectionを切断する。
e.Agentは、後続でGatewayによってAgentConnectionを介して送信された該ConnectionIdのアップリンク命令を受信する場合、エラーを返す。
【0237】
(3)Gatewayがアップリンク命令を送信してエラーを返す場合、対応するConnectionIdを切断済みとしてマークし、対応するClientConnectionを切断する。
【0238】
(4)Agentがダウンリンク命令を送信してエラーを返す場合、対応するConnectionIdを切断済みとしてマークし、対応するServiceConnectionを切断する。
【0239】
上述の本願の実施例によるトラフィック転送モードを使用してポートマッピングを行うデータ伝送方法は、実現が簡単で、接続が信頼性があり、オペレーティングシステムカーネルにおける既存のTCPプロトコルサポート能力を十分に利用することができ、データ伝送性能がよい。
【0240】
(2)NATモードについて
図11を参照すると、
図11は、本願の実施例によるNATモードを使用してポートマッピングを行うサービス統合システムの構成アーキテクチャの模式図であり、NATモードでは、iPaaSシステムのコネクタConnector1010と目標サービスService1040はデータ伝送を行う場合、Gateway1020とAgent1030を介してアドレス変換を行う必要があり、Gateway1020における各Proxy1021とAgent1030との間にAgentConnectionが事前に確立され、AgentConnectionに基づいてデータ伝送を行う場合、GatewayによってメンテナンスされるGateway接続状態追跡テーブル(Gateway Connection Track)1022、及びAgentによってメンテナンスされるAgent接続状態追跡テーブル(Agent Connection Track)1031により、Proxy IP/PortとService IP/Portとの間のマッピングを実現し、それによって、ConnectorとServiceとの間のネットワークインターワーキングを実現する。
【0241】
サービス統合では、NATモードに基づいてデータ伝送を行う場合、以下のステップS1501~ステップS1517を含むことができる。
【0242】
ステップS1501において、Clientは、TCPハンドシェイクメッセージSYNパケットをProxyに送信する。
【0243】
ステップS1502において、Gatewayは、SYNパケットを受信した後、Client IP/Port+Proxy Portに基づいて、Gatewayの接続状態追跡テーブルからConnectionId及び対応する状態データを検索する。
【0244】
ステップS1503において、SYNパケットのタイプを判断し、異なるSYNパケットのタイプに基づいて以下の操作a~bを実行する。
a.Gatewayの接続状態追跡テーブルのレコードにおいてClient IP/Port+Proxy Portに対応するConnectionIdが存在しない場合、このパケットは最初に到着するパケットであり、新たなConnectionIdを割り当てた後、Gatewayの接続状態追跡テーブルに登録した後、ステップS1504にジャンプする。
b.Gatewayの接続状態追跡テーブルのレコードにおいてClientFlag==SYN且つClientSeq==seq1の場合、このパケットは再送パケットであり、ステップS1504にジャンプし、それ以外の場合、このパケットは乱順のパケットであり、このパケットを無視する。
【0245】
ステップS1504において、Gatewayは、AgentConnectionを介してAgentに同期命令を送信する。
【0246】
ここで、RPC方式で命令を送信することができ、同期命令のメッセージは、ConnectionId、Service IP/Port、及びポート番号が除去された元のTCPメッセージを含むことができる。
【0247】
ステップS1505において、Agentは、同期命令を受信した後、ConnectionIdに基づいて、Agentの接続状態追従テーブルから、Agentポート(AgentPort)と状態データを検索する。
【0248】
ステップS1506において、Agentは、メッセージタイプを判断し、以下のa~bを含む。
a.Agentの接続状態追従テーブルのレコードにConnectionIdに対応するAgentPortが存在しない場合、このパケットが最初に到着するパケットであり、AgentPortを割り当てた後、該AgentPortをAgentの接続状態追従テーブルに登録し、対応するレコードにおけるClientFlag、ClientSeqを更新した後、ステップS1507にジャンプする。
b.Agentの接続状態追従テーブルのレコードにおいて、ConnectionIdに対応するレコードのClientFlag==SYN且つClientSeq==seq1の場合、このパケットは再送パケットであり、ステップS1507にジャンプし、それ以外の場合、このパケットは乱順のパケットであり、このパケットを無視する。
【0249】
ステップS1507において、Agentは、AgentPortを介してService IP/PortにTCPメッセージを送信し、TCPメッセージにおいて、ソースアドレスはAgent IP/Portであり、宛先アドレスはService IP/Portであり、メッセージフラグビットはSYNであり、即ち、送信されたものがSYNパケットであり、Seqがseq1である。
【0250】
ステップS1508において、ServiceはSYNパケットを受信した後、SYN|ACKパケットで返事し、対応するTCPメッセージにおいて、ソースアドレスはService IP/Portであり、宛先アドレスはAgent IP/Portであり、メッセージフラグビットはSYN|ACKであり、Seqはseq2であり、Ackはseq1+1である。
【0251】
ステップS1509において、Agentは、SYN|ACKパケットを受信した後、Service IP/Port及びAgentPortに基づいて、Agentの接続状態追跡テーブルから、ConnectionId及び対応する状態データを検索する。
【0252】
ステップS1510において、Agentは、メッセージタイプを判断し、以下のa~eを含む。
a.Agentの接続状態追跡テーブルのレコードに、Service IP/Port及びAgentPortに対応するConnectionIdが存在しない場合、このパケットは乱順のパケットであり、このパケットを無視する。
b.Agentの接続状態追跡テーブルのレコードにおいて、ConnectionIdに対応するレコードのClientFlag!=SYN又はClientSeq!=このパケットのAck(即ち、seq1+1)の場合、このパケットは乱順のパケットであり、このパケットを無視する。
c.Agentの接続状態追跡テーブルのレコードにおいて、ConnectionIdに対応するレコードのServiceFlag==nil、ServiceSeq==nilの場合、このパケットが最初のSYN|ACKパケットであり、ServiceFlag、ServiceSeqを更新し、ステップS1511にジャンプする。
d.Agentの接続状態追跡テーブルのレコードにおいて、ConnectionIdに対応するレコードのServiceFlag==このパケットのフラグ(即ちSYN|ACK)、ServiceSeq==このパケットのSeq(即ちseq2)の場合、このパケットは再送パケットであり、ステップS1511にジャンプする。
e.それ以外の場合、このパケットは乱順のパケットであり、このパケットを無視する。
【0253】
ステップS1511において、Agentは、同期応答命令をGatewayに送信し、応答命令のRPCメッセージには、制御フィールドCmd、ConnectionId、及びポート番号が除去された元のTCPメッセージを含む。
【0254】
ステップS1512において、Gatewayは、同期応答命令を受信する場合、ConnectionIdに基づいて、Client IP/Port、ProxyPort及び状態データを、Gatewayの接続状態追従テーブルから検索する。
【0255】
ステップS1513において、Gatewayは、メッセージタイプを判断し、以下のa~eを含む。
a.Gatewayの接続状態追跡テーブルのレコードに、ConnectionIdに対応するClient IP/Port及びProxyPortが存在しない場合、このパケットは乱順のパケットであり、このパケットを無視する。
b.Gatewayの接続状態追跡テーブルのレコードにおいて、ConnectionIdに対応するレコードにおけるClientFlag!=SYN又はClientSeq!=このパケットのAck(即ち、seq1+1)の場合、このパケットは乱順のパケットであり、このパケットを無視する。
c.Gatewayの接続状態追跡テーブルのレコードにおいて、ConnectionIdに対応するレコードにおけるServiceFlag==nil、ServiceSeq==nilの場合、このパケットが最初のSYN|ACKパケットであり、ServiceFlag、ServiceSeqを更新し、ステップS1514にジャンプする。
d.Gatewayの接続状態追跡テーブルのレコードにおいて、ConnectionIdに対応するレコードにおけるServiceFlag==このパケットのFlag(即ちSYN|ACK)、ServiceSeq==このパケットのSeq(即ちseq2)の場合、このパケットは再送パケットであり、ステップS1514にジャンプする。
e.それ以外の場合、このパケットは乱順のパケットであり、このパケットを無視する。
【0256】
ステップS1514において、GatewayはProxyのポート(Port)を介してClient IP/PortにTCPメッセージを送信し、送信されたTCPメッセージにおいて、ソースアドレスはProxy IP/Portであり、宛先アドレスはClient IP/Portであり、フラグビットFlagはSYN|ACKであり、Seqはseq2であり、Ackはseq1+1である。
【0257】
ステップS1515において、Clientは、Gatewayによって送信されたSYN|ACKパケットを受信した後、ACKパケット又はACK|PSHパケットで返事する。
【0258】
ステップS1516において、GatewayがClientによって送信されたACKパケット又はPSH|ACKパケット又はPSHパケットを受信する場合、又は接続が関連する制御メッセージを切断する場合、Client IP/Port及びProxy IP/Portに基づいて、Gatewayの接続状態追跡テーブルをマッチングさせ、メッセージタイプを判断し、以下のa~cを含む。
a.メッセージタイプがフォローアップメッセージの場合、Gatewayの接続状態追跡テーブルを更新した後、AgentConnectionに命令を送信し、ここで、フォローアップメッセージとは、順序に従って正常に受信されるメッセージを指す。
b.メッセージタイプが再送メッセージの場合、AgentConnectionに命令を直接送信する。
c.メッセージタイプが乱順メッセージの場合、このパケットを無視する。
【0259】
Agentは命令を受信した後、Gatewayと同様に、ConnectionIdに基づいて、Agentの接続状態追跡テーブルをマッチングさせ、メッセージタイプを判断し、以下のa~cを含む。
a.メッセージタイプがフォローアップメッセージの場合、Agentの接続状態追跡テーブルを更新した後、Agentのポート(AgentPort)を介して受信されたデータパケットを、Service IP/Portに送信する。
b.メッセージタイプが再送メッセージの場合、AgentPortを介して受信されたデータパケットをService IP/Portに直接送信する。
c.メッセージタイプが乱順メッセージの場合、このパケットを無視する。
【0260】
ステップS1517において、AgentがServiceによって送信されたACKパケット又はPSH|ACKパケット又はPSHパケットを受信する場合、又は接続が関連する制御メッセージを切断する場合、Service IP/Portに基づいて、Agentの接続状態追跡テーブルをマッチングさせ、メッセージタイプを判断する。
a.メッセージタイプがフォローアップメッセージの場合、Agentの接続状態追跡テーブルを更新した後、AgentConnectionに命令を送信する。
b.メッセージタイプが再送メッセージの場合、AgentConnectionに命令を直接送信する。
c.メッセージタイプが乱順メッセージの場合、このパケットを無視する。
【0261】
Gatewayは命令を受信した後、ConnectionIdに基づいて、Gatewayの接続状態追跡テーブルをマッチングさせ、メッセージタイプを判断する。
a.メッセージタイプがフォローアップメッセージの場合、Gatewayの接続状態追跡テーブルを更新した後、Proxyのポート(ProxyPort)を介して受信されたデータパケットを、Client IP/Portに送信する。
b.メッセージタイプが再送メッセージの場合、ProxyPortを介して受信されたデータパケットをClient IP/Portに直接送信する。
c.メッセージタイプが乱順メッセージの場合、このパケットを無視する。
【0262】
また、各ProxyPortについて、Gatewayが該ProxyPortに対するRSTメッセージを受信するか、対応するAgentConnectionの4回の手を振ったことが終わることを検出した後、遅延が2倍のメッセージ最大生存時間(MSL:Maximum Segment Lifetime)である遅延キューに入れ、その後、利用可能なProxyポートプールに戻す。
【0263】
各AgentPortについて、Agentが該AgentPortに対するRSTメッセージを受信するか、対応するAgentConnectionの4回の手を振ったことが終わることを検出した後、遅延が2倍のメッセージ最大生存時間(MSL:Maximum Segment Lifetime)である遅延キューに入れ、その後、利用可能なAgentポートプールに戻す。
【0264】
上述の本願の実施例によって提供されるNATモードを使用してポートマッピングを行うデータ伝送方法では、TCP状態が実状態であり、フルリンクが接続を実際に確立しないときに接続状態に戻す状況が発生しない。また、データ伝送プロセス全体が1つのTCP接続で実行され、遅延はより低くなる。
【0265】
本願の実施例によって提供されるサービス統合システムは、関連技術におけるiPaaSのプライベート化デプロイメントのソリューションと比較して、開発、メンテナンス、及び反復的なコストを大幅に低減させ、同じクライアントの複数のイントラネット間のネットワークインターワーキングを同時に満たすことができ、さらにiPaaSシステム自体のサービス統合能力を完全なものにすることができる。
【0266】
以下において、本願の実施例によって提供されるサービス統合におけるデータ伝送装置255のソフトウェアモジュールとして実施される例示的な構造を引き続き説明し、いくつかの実施例では、
図2Aに示すように、メモリ250に記憶されたサービス統合におけるデータ伝送装置255のソフトウェアモジュールは、第1受信モジュール2551、第1マッピングモジュール2552及び第1送信モジュール2553を備えることができる。
【0267】
第1受信モジュール2551は、iPaaSシステムのゲートウェイが前記iPaaSシステムのコネクタによって送信されたデータ伝送要求を受信するように構成され、前記iPaaSシステムは、クラウドネットワークにおける前記iPaaSシステムが属するテナントの第1仮想プライベートクラウド(VPC)にデプロイされる。第1マッピングモジュール2552は、設定されたサービス設定情報に基づいて、前記コネクタがアクセスする目標サービスのアドレス識別子、及び前記ゲートウェイと前記目標サービスのサービスエージェントとがデータ伝送を行う第1伝送接続を決定するように構成され、ここで、前記サービスエージェントは前記テナントのイントラネットにデプロイされ、前記目標サービスは前記イントラネット又は前記テナントの第2VPCにデプロイされ、前記第1伝送接続は前記サービスエージェントによって開始された第1接続確立要求に基づいて確立される。第1送信モジュール2553は、前記第1伝送接続を介して、前記データ伝送要求及び前記目標サービスのアドレス識別子を前記サービスエージェントに送信するように構成され、ここで、前記サービスエージェントは前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信する。
【0268】
いくつかの実施例では、前記装置は、さらに、前記サービスエージェントによって開始された第1接続確立要求を受信する場合、前記サービスエージェントと第1伝送接続を確立するように構成される第1確立モジュールであって、前記第1接続確立要求は前記サービスエージェントのサービスリストを含む、第1確立モジュールと、前記サービスリストにおける各サービスについて、前記サービスにプロキシアドレスを割り当て、前記サービスのアドレス識別子と前記プロキシアドレスとの間の対応関係を前記サービス設定情報に追加するように構成される第1割り当てモジュールと、を備える。
【0269】
いくつかの実施例では、前記データ伝送要求は、前記ゲートウェイと確立した第2伝送接続を介して前記コネクタによって送信され、前記第1マッピングモジュールは、さらに、前記第2伝送接続の識別子に基づいて、前記サービス設定情報を照会し、前記コネクタがアクセスする目標サービスのアドレス識別子、及び前記ゲートウェイと前記目標サービスのサービスエージェントがデータ伝送を行う第1伝送接続を得るように構成され、前記第1送信モジュールは、さらに、前記第1伝送接続を介して、前記データ伝送要求及び前記目標サービスのアドレス識別子を前記サービスエージェントに送信するように構成され、前記サービスエージェントはアドレス識別子に基づいて、前記目標サービスと確立した第3伝送接続を決定し、前記第3伝送接続を介して、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信する。
【0270】
いくつかの実施例では、前記装置は、さらに、前記第1伝送接続を介して、前記サービスエージェントによって返される応答データ及び前記目標サービスのアドレス識別子を受信するように構成される第2受信モジュールであって、前記応答データは、前記目標サービスによって前記第3伝送接続を介して前記サービスエージェントに送信されるものである第2受信モジュールと、前記目標サービスのアドレス識別子に基づいて、前記サービス設定情報を照会し、前記第2伝送接続の識別子を得るように構成される第1照会モジュールと、前記第2伝送接続の識別子に基づいて、前記第2伝送接続を介して前記応答データを前記コネクタに送信するように構成される第2送信モジュールと、を備える。
【0271】
いくつかの実施例では、前記装置は、さらに、前記コネクタによって送信された第2接続確立要求を受信する場合、前記コネクタと第2伝送接続を確立するように構成される第2確立モジュールと、前記第2接続確立要求によって要求されたプロキシアドレスに基づいて、前記サービス設定情報を照会し、前記コネクタがアクセスする目標サービスのアドレス識別子、及び前記目標サービスのサービスエージェントとデータ伝送を行う第1伝送接続を得るように構成される第2照会モジュールと、前記第1伝送接続に基づいて、第3接続確立要求を前記サービスエージェントに送信するように構成される第3送信モジュールであって、前記第3接続確立要求は、前記目標サービスのアドレス識別子を運び、前記サービスエージェントは前記目標サービスのアドレス識別子に基づいて、前記目標サービスと第3伝送接続を確立する、第3送信モジュールと、を備える。
【0272】
いくつかの実施例では、前記第1マッピングモジュールは、さらに、前記データ伝送要求を送信するコネクタのアドレス、前記データ伝送要求を受信するプロキシのアドレス、及び前記コネクタがアクセスする目標サービスのアドレスを取得し、前記コネクタのアドレス及び前記プロキシのアドレスに基づいて、前記ゲートウェイの接続状態追跡テーブルを照会し、前記コネクタがアクセスする目標サービスのアドレス識別子を得、前記プロキシのアドレスに基づいて、設定されたサービス設定情報を照会し、前記ゲートウェイと前記目標サービスのサービスエージェントがデータ伝送を行う第1伝送接続を得るように構成され、前記第1送信モジュールは、さらに、前記第1伝送接続を介して、前記データ伝送要求、前記目標サービスのアドレス、及び前記目標サービスのアドレス識別子を前記サービスエージェントに送信するように構成され、前記サービスエージェントは前記アドレス識別子に基づいて、前記サービスエージェントの接続状態追跡テーブルを照会し、前記サービスエージェントのアドレスを決定し、前記サービスエージェントのアドレスと前記目標サービスのアドレスにより、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信する。
【0273】
いくつかの実施例では、前記第1マッピングモジュールは、さらに、前記ゲートウェイの接続状態追跡テーブルに前記コネクタのアドレス及び前記プロキシのアドレスに対応するレコードを照会しない場合、前記目標サービスのアドレスに基づいて、前記コネクタがアクセスする目標サービスのアドレス識別子を生成し、前記コネクタのアドレス、前記プロキシのアドレス、及び前記目標サービスのアドレス識別子からなるレコードを前記ゲートウェイの接続状態追跡テーブルに追加するように構成される。
【0274】
いくつかの実施例では、前記装置は、さらに、前記第1伝送接続を介して、前記サービスエージェントによって返された応答データと、前記コネクタがアクセスする目標サービスのアドレス識別子とを受信するように構成される第3受信モジュールと、前記目標サービスのアドレス識別子に基づいて、前記ゲートウェイの接続状態追跡テーブルを照会し、前記応答データを送信するプロキシのアドレス、及び前記応答データを受信するコネクタのアドレスを得るように構成される第3照会モジュールと、前記プロキシのアドレスと前記コネクタのアドレスに基づいて、前記応答データを前記コネクタに送信するように構成される第4送信モジュールと、を備える。
【0275】
以下において、本願の実施例によって提供されるサービス統合におけるデータ伝送装置355のソフトウェアモジュールとして実施される例示的な構造を引き続き説明し、いくつかの実施例では、
図2Bに示すように、メモリ350に記憶されたサービス統合におけるデータ伝送装置355のソフトウェアモジュールは、
サービスエージェントがiPaaSシステムのゲートウェイによって送信された前記iPaaSシステムのコネクタのデータ伝送要求、及び前記コネクタがアクセスする目標サービスのアドレス識別子を受信するように構成される第4受信モジュール3551であって、前記iPaaSシステムは、クラウドネットワークにおける前記iPaaSシステムが属するテナントの第1VPCにデプロイされ、前記サービスエージェントは、前記テナントのイントラネットにデプロイされ、前記目標サービスは前記イントラネット又は前記テナントの第2VPCにデプロイされる、第4受信モジュール3551と、
前記アドレス識別子に基づいて、前記コネクタのデータ伝送要求を、前記コネクタがアクセスする目標サービスに送信するように構成される第5送信モジュール3552と、
前記コネクタがアクセスする目標サービスによって送信された応答データを受信した場合、前記目標サービスのアドレス識別子に基づいて、前記サービスエージェントと前記ゲートウェイがデータ伝送を行う第1伝送接続を決定するように構成される第5受信モジュール3553であって、前記第1伝送接続は、前記サービスエージェントによって開始された第1接続確立要求に基づいて確立される、第5受信モジュール3553と、
前記第1伝送接続を介して、前記目標サービスの応答データ及び前記目標サービスのアドレス識別子を前記ゲートウェイに送信するように構成される第6送信モジュール3554であって、前記ゲートウェイは、前記アドレス識別子に基づいて前記コネクタを決定し、前記目標サービスの応答データを前記コネクタに送信するものである、第6送信モジュール3554と、を備えることができる。
【0276】
いくつかの実施例では、前記装置は、さらに、前記サービスエージェントは第1接続確立要求を前記ゲートウェイに送信し、前記サービスエージェントは前記ゲートウェイと第1伝送接続を確立するように構成される第3確立モジュールであって、前記第1接続確立要求は前記サービスエージェントのサービスリストを含み、前記ゲートウェイと前記第1伝送接続を確立した後、前記サービスリストにおける各サービスについて、前記サービスにプロキシアドレスを割り当て、前記サービスのアドレス識別子と前記プロキシアドレスとの間の対応関係をサービス設定情報に追加する、第3確立モジュールを備える。
【0277】
いくつかの実施例では、前記第5送信モジュールは、さらに、前記アドレス識別子に基づいて、前記サービスエージェントと、前記コネクタがアクセスする目標サービスとの間の確立された第3伝送接続を決定し、前記第3伝送接続を介して、前記コネクタのデータ伝送要求を前記目標サービスに送信するように構成され、前記第6送信モジュールは、さらに、第1伝送接続を介して、前記目標サービスの応答データ及び目標サービスのアドレス識別子を前記ゲートウェイに送信し、前記ゲートウェイは、前記アドレス識別子に基づいて、前記コネクタ及び前記コネクタと確立した第1伝送接続を決定し、前記第1伝送接続を介して前記目標サービスの応答データを前記コネクタに送信するように構成される。
【0278】
いくつかの実施例では、前記装置は、さらに、前記ゲートウェイによって送信された第3接続確立要求を受信する場合、前記目標サービスのアドレス識別子に基づいて、前記目標サービスと第3伝送接続を確立するように構成される第4確立モジュールであって、前記第3接続確立要求は、前記コネクタがアクセスする目標サービスのアドレス識別子を運ぶ、第4確立モジュールとを備える。
【0279】
いくつかの実施例では、前記第5送信モジュールは、さらに、前記アドレス識別子に基づいて、前記サービスエージェントの接続状態追従テーブルを照会し、前記サービスエージェントのアドレスと前記コネクタがアクセスする目標サービスのアドレスを得、前記サービスエージェントのアドレス及び前記目標サービスのアドレスにより、前記コネクタのデータ伝送要求を前記コネクタがアクセスする目標サービスに送信するように構成され、前記第5受信モジュールは、さらに、前記コネクタがアクセスする目標サービスのアドレスと、前記目標サービスの応答データを受信するサービスエージェントのアドレスを取得し、前記目標サービスのアドレスと前記サービスエージェントのアドレスに基づいて、前記サービスエージェントの接続状態追跡テーブルを照会し、前記目標サービスのアドレス識別子を得るように構成される。
【0280】
いくつかの実施例では、前記第5送信モジュールは、さらに、前記サービスエージェントの接続状態追跡テーブルに前記アドレス識別子に対応するレコードを照会しない場合、前記コネクタがアクセスする目標サービスのアドレスに基づいて、サービスエージェントのアドレスを前記目標サービスに割り当て、前記目標サービスのアドレス、前記サービスエージェントのアドレス及び前記アドレス識別子からなるレコードを前記サービスエージェントの接続状態追従テーブルに追加するように構成される。
【0281】
本願の実施例は、コンピュータープログラム製品又はコンピュータープログラムを提供し、該コンピュータープログラム製品又はコンピュータープログラムはコンピューター命令を含み、該コンピューター命令はコンピューター可読記憶媒体に記憶される。コンピューター機器のプロセッサは、コンピューター可読記憶媒体から該コンピューター命令を読み取り、プロセッサは該コンピューター命令を実行して、該コンピューター機器に、本願の実施例の上述のサービス統合におけるデータ伝送方法を実行させる。
【0282】
本願の実施例は、実行可能な命令を記憶するコンピューター可読記憶媒体を提供し、実行可能な命令が記憶され、実行可能な命令がプロセッサによって実行される場合、プロセッサに、本願の実施例で提供されるサービス統合におけるデータ伝送方法、例えば、
図3~
図7に示す方法を実行させる。
【0283】
いくつかの実施例では、コンピューター可読記憶媒体は、FRAM(登録商標)、ROM、PROM、EPROM、EEPROM、フラッシュメモリ、磁気表面メモリ、光ディスク、又はCD-ROMなどのメモリであってもよく、上述のメモリの1つ又は任意の組み合わせを含む各種の機器であってもよい。
【0284】
いくつかの実施例では、実行可能な命令は、プログラム、ソフトウェア、ソフトウェアモジュール、スクリプト又はコードの形式を採用することができ、任意の形式のプログラミング言語(コンパイル言語又はインタープリター言語、又は宣言型言語又は手続き型言語を含む)で書かれ、任意の形式でデプロイすることができ、独立したプログラムとしてデプロイされるか、又はモジュール、コンポーネント、サブルーチン、又は計算環境で使用するのに適した他のユニットとしてデプロイされることを含む。
【0285】
例として、実行可能な命令は、ファイルシステム内のファイルに対応することができるが、これに限らなく、他のプログラム又はデータを保存するファイルの一部に記憶されてもよく、例えば、ハイパーテキストマークアップ言語(HTML:Hyper Text Markup Language)ドキュメントの1つ又は複数のスクリプトに記憶され、係るプログラムに専用に構成された単一のファイルに記憶されるか、又は、複数の共同ファイル(例えば、1つ又は複数のモジュール、サブルーチン、又はコード部分を記憶するファイル)に記憶される。
【0286】
例として、実行可能な命令は、1つの計算機器上で実行されるか、又は1つのサイトに位置する複数の計算機器上で実行されるか、又は、複数のサイトに分散され、通信ネットワークによって相互接続された複数の計算機器上で実行されるように構成され得る。
【0287】
以上をまとめて、本願の実施例によりiPaaSシステムとテナントのイントラネットとの間のネットワークインターワーキングを実現し、イントラネットにおけるサービスに対する統合ロジックを実現することができ、また、iPaaSシステムはテナントの第1VPCにデプロイされ、目標サービスはイントラネット又はテナントの第2VPCにデプロイされ、第1伝送接続を介してデータ伝送要求を目標サービスのサービスエージェントに伝送するため、同じテナントの異なるイントラネット又は異なるVPCにおけるサービスに対する統合ロジックを実現することができ、さらに、iPaaSシステムのサービス統合能力を完全なものにすることができ、iPaaSシステムの開発、メンテナンス及び反復的なコストを効果的に低減させることができる。
【0288】
上記の説明は、本願の実施例だけであり、本願の保護範囲を限定するように構成されていない。本願の精神及び範囲内で行われるいかなる修正、同等の置換及び改良は、いずれも本願の保護範囲に含まれる。
【符号の説明】
【0289】
100 統合サービスシステム
110及び120 クライアントイントラネット
111 サービスエージェント(Agent)
112 内部システム
112n Service
113 データベース
120 クライアントイントラネット
121 サービスエージェント(Agent)
130 iPaaSシステム
131 ゲートウェイ(Gateway)
132n Connector
133及びAgent 登録センター
200 データ伝送機器
210 プロセッサ
220 ネットワークインターフェース
230 ユーザインターフェース
231 出力装置
232 入力装置
240 バスシステム
250 メモリ
251 オペレーティングシステム
252 ネットワーク通信モジュール
253 プレゼンテーションモジュール
254 入力処理モジュール
255 データ伝送装置
300 データ伝送機器
310 プロセッサ
320 ネットワークインターフェース
330 ユーザインターフェース
331 出力装置
332 入力装置
340 バスシステム
350 メモリ
351 オペレーティングシステム
352 ネットワーク通信モジュール
353 プレゼンテーションモジュール
354 入力処理モジュール
355 データ伝送装置
400 イントラネット
410 サービスエージェント
420 サービス
500 iPaaSシステム
510 ゲートウェイ
1010 コネクタ
1020 Gateway
1022 Gateway接続状態追跡テーブル
1031 接続状態追跡テーブル
1040 サービス
1121 Service
1122 Service
1321 Connector
1322 Connector
2551 第1受信モジュール
2552 第1マッピングモジュール
2553 第1送信モジュール
3551 第4受信モジュール
3552 第5送信モジュール
3553 第5受信モジュール
3554 第6送信モジュール