特表2021-517322(P2021-517322A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 中国▲銀▼▲聯▼股▲ふん▼有限公司の特許一覧

特表2021-517322トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム
<>
  • 特表2021517322-トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム 図000005
  • 特表2021517322-トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム 図000006
  • 特表2021517322-トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム 図000007
  • 特表2021517322-トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム 図000008
  • 特表2021517322-トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム 図000009
  • 特表2021517322-トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム 図000010
  • 特表2021517322-トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム 図000011
  • 特表2021517322-トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム 図000012
  • 特表2021517322-トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム 図000013
  • 特表2021517322-トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム 図000014
  • 特表2021517322-トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム 図000015
  • 特表2021517322-トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム 図000016
  • 特表2021517322-トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム 図000017
  • 特表2021517322-トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2021-517322(P2021-517322A)
(43)【公表日】2021年7月15日
(54)【発明の名称】トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム
(51)【国際特許分類】
   G06F 16/27 20190101AFI20210618BHJP
   G06F 9/46 20060101ALI20210618BHJP
【FI】
   G06F16/27
   G06F9/46 430
【審査請求】有
【予備審査請求】未請求
【全頁数】41
(21)【出願番号】特願2020-552790(P2020-552790)
(86)(22)【出願日】2019年1月25日
(85)【翻訳文提出日】2020年9月29日
(86)【国際出願番号】CN2019073233
(87)【国際公開番号】WO2019184577
(87)【国際公開日】20191003
(31)【優先権主張番号】201810273942.5
(32)【優先日】2018年3月29日
(33)【優先権主張国】CN
(81)【指定国】 AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
(71)【出願人】
【識別番号】513278998
【氏名又は名称】中国▲銀▼▲聯▼股▲ふん▼有限公司
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】周 家晶
(72)【発明者】
【氏名】苗 浩
(72)【発明者】
【氏名】周 ▲継▼恩
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175AA01
(57)【要約】
本発明は、トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステムを開示する。前記方法は、第1のトランザクションに対応する少なくとも1つのステートメントを取得した後、第1のノードは、は、前記第1のステートメントのタイプを決定し、各ステートメントのタイプにしたがって少なくとも1つのステートメントそれぞれを少なくとも1つの第2のノードに送信し、少なくとも1つの第2のノードに受信されたステートメントに従がって前記ステートメントに対応する実行プランを生成させるようにし、そして、第1のノードは、受信された少なくとも1つの第2のノードによって送信された第1のトランザクションの少なくとも1つのステートメントに対応する実行プランにしたがって、第1のトランザクションを処理する。このように、本発明の実施形態は、複数のタイプのステートメントを同時に処理でき、システムの処理効率を効果的に改善し、システムの運用負担を軽減し、システムのトランザクション性を効果的に確保することができる。
【特許請求の範囲】
【請求項1】
第1のノードは、第1のトランザクションに対応する少なくとも1つのステートメントを取得するステップと、
前記第1のノードは、前記第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを少なくとも1つの第2のノード中の前記第1のステートメントのタイプに対応する第2のノードに送信して、前記第1のステートメントのタイプに対応する第2のノードに、ステートメントに従がって前記ステートメントに対応する実行プランを生成させるようにするステップであって、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントである前記生成させるようにするステップと、
前記第1のノードは、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、前記第1のトランザクションを処理するステップと
を備えることを特徴とするトランザクション処理の方法。
【請求項2】
前記第1のノードが、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従がって、前記第1のトランザクションを処理することは、
前記第1のノードは、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従がって、前記第1のトランザクションを開始し、前記第1のトランザクションに対応するスケジューラを割り当て、
前記第1のノードは、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従がって、前記第1のトランザクションに対応するスケジューラを介して前記第1のトランザクションを処理することを特徴とする請求項1に記載のトランザクション処理の方法。
【請求項3】
前記少なくとも1つの第2のノードは、オンライントランザクション処理(OLTP)ノードおよびオンライン分析処理(OLAP)ノードを含み、
前記第1のノードが、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、前記第1のトランザクションを処理することは、
前記第1のノードは、前記OLTPノードによって送信された前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランを受信し、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容が含まれる場合、前記第1のノードは、前記第1のタイプのステートメントに対応する実行内容に従って、前記第1のトランザクションを処理し、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容およびストレージノードが含まれる場合、前記第1のノードは、前記第1のタイプのステートメントに対応する実行内容に従って、前記第1のタイプのステートメントに対応するストレージノードにアクセスし、
前記第1のノードは、前記OLAPノードによって送信された前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランを受信し、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれ、前記第1のノードは、前記第2のタイプのステートメントに対応する実行内容に従って、前記第2のタイプのステートメントに対応するストレージノードにタアクセスすることを特徴とする請求項1または請求項2に記載のトランザクション処理の方法。
【請求項4】
前記少なくとも1つの第2のノードは、OLTPノードを含み、
前記第1のノードが、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信することは、
前記第1のノードは、OLTPノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランおよび前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランが含まれ、
ここで、前記第1のタイプのステートメントに対応する実行プランは、前記第1のタイプのステートメントに従って前記OLTPノードによって生成され、前記第2のタイプのステートメントに対応する実行プランは、前記OLAPノードによって送信された第2のタイプのステートメントの初期実行プランに従って、前記OLTPノードによって生成され、
前記第2のタイプのステートメントの初期実行プランは前記第2のタイプのステートメントに対応する実行内容を含み、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれることを特徴とする請求項1または請求項2に記載のトランザクション処理の方法。
【請求項5】
OLAPノードは、第1のノードによって送信された第1のトランザクションのステートメントを受信するステップと、
前記OLAPノードは、前記ステートメントに対応する初期実行プランを生成するステップであって、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる前記生成するステップと、
前記OLAPノードは、前記ステートメントに対応する初期実行プランをOLTPノードに送信して、前記OLTPノードに前記ステートメントの初期実行プランに従って前記ステートメントに対応する実行プランを生成させるようにするステップと
を備えることを特徴とするトランザクション処理の方法。
【請求項6】
OLTPノードは、OLAPノードによって送信された第1のトランザクションのステートメントの初期実行プランを受信するステップであって、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる受信するステップと、
前記OLTPノードは、前記ステートメントに対応する初期実行プランに従がって、前記ステートメントに対応するストレージノードを取得し、前記ステートメントに対応する実行プランを生成するステップであって、前記ステートメントに対応する実行プランに前記ステートメントに対応する実行内容およびストレージノードが含まれる前記生成するステップと、
前記OLTPノードは、前記ステートメントに対応する実行プランを第1のノードに送信して、前記第1のノードに前記ステートメントに対応する実行プランに従がって前記第1のトランザクションを処理させるようにするステップとを
備えることを特徴とするトランザクション処理の方法。
【請求項7】
ソフトウェアプログラムを格納するように構成されたメモリと、
メモリ内のソフトウェアプログラムを読み取り、請求項1から6のいずれか一項に記載のトランザクション処理の方法を実行するように構成されたプロセッサと
を備えることを特徴とするサーバー。
【請求項8】
ソフトウェアプログラムを格納するコンピュータ記憶媒体であって、前記ソフトウェアプログラムは、1つまたは複数のプロセッサによって読み取られ実行されると、請求項1から6のいずれか一項に記載のトランザクション処理の方法を実施することを特徴とするコンピュータ記憶媒体。
【請求項9】
前記システムトランザクション管理および実行のためのサーバーと、OLTPサーバーと、OLAPサーバーとを備え、
前記トランザクション管理および実行のためのサーバーは、第1のトランザクションに対応する少なくとも1つのステートメントを取得し、第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを前記OLTPサーバーや前記OLAPサーバーに送信し、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントであり、
前記OLTPサーバーは、前記トランザクション管理および実行のためのサーバーによって送信された第1のトランザクションの第1のタイプのステートメントを受信し、前記第1のタイプのステートメントに従がって前記第1のタイプのステートメントに対応する実行プランを生成し、前記第1のタイプのステートメントに対応する実行プランを前記トランザクション管理および実行のためのサーバーに送信し、
前記OLAPサーバーは、前記トランザクション管理および実行のためのサーバーによって送信された第1のトランザクションの第2のタイプのステートメントを受信し、前記第2のタイプのステートメントに従がって前記第2のタイプのステートメントに対応する実行プランを生成し、前記第2のタイプのステートメントに対応する実行プランを前記トランザクション管理および実行のためのサーバーに送信し、
前記トランザクション管理および実行のためのサーバーはさらに、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、前記第1のトランザクションを処理することを特徴とするトランザクション処理のシステム。
【請求項10】
オンライントランザクション処理(OLTP)サーバーおよびオンライン分析処理(OLAP)サーバーを含み、
前記OLTPサーバーは、第1のトランザクションに対応する少なくとも1つのステートメントを取得し、前記第1のステートメントのタイプを決定し、前記第1のステートメントを第1のタイプのステートメントとしてと決定すると、前記第1のタイプのステートメントに対応する実行プランを生成し、前記第1のステートメントを第2のタイプのステートメントとして決定すると、前記第2のタイプのステートメントを前記OLAPサーバーに送信し、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントであり、
前記OLAPサーバーは、前記OLTPサーバーによって送信された前記第2のタイプのステートメントを受信し、前記第2のタイプのステートメントに対応する初期実行プランを生成し、および前記第2のタイプのステートメントに対応する初期実行プランを前記OLTPサーバーに送信し、
前記OLTPサーバーはさらに、前記OLAPサーバーによって送信された前記第2のタイプのステートメントに対応する初期実行プランを受信し、前記第2のタイプのステートメントに対応する初期実行プランに従がって、第2のタイプのステートメントに対応する実行プランを生成し、前記第1のタイプのステートメントに対応する実行プランおよび前記第2のタイプのステートメントに対応する実行プランに従がって、前記第1のトランザクションを処理することを特徴とするトランザクション処理のシステム。
【請求項11】
プロセッサ、メモリ、送受信機、およびバスインターフェースを備え、ここで、前記プロセッサ、前記メモリと前記送受信機は、バスを介して相互に接続され、
前記プロセッサは、前記メモリ内のプログラムを読み取って前記メモリ内のプログラムを読み取って次の操作を実行するように構成され、
第1のトランザクションに対応する少なくとも1つのステートメントを取得し、第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを少なくとも1つの第2のノード中の前記第1のステートメントのタイプに対応する第2のノードに送信して、前記第1のステートメントのタイプに対応する第2のノードに、ステートメントに従がって前記ステートメントに対応する実行プランを生成させるようにし、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントであり、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを処理し、
前記送受信機は、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、
前記メモリは、1つまたは複数の実行可能プログラムを格納し、操作の実行時に前記プロセッサが使用するデータを格納するように構成されることを特徴とする電子デバイス。
【請求項12】
前記プロセッサは、
前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを開始し、前記第1のトランザクションに対応するスケジューラを割り当て、および前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションに対応するスケジューラを介して前記第1のトランザクションを処理することを特徴とする請求項11に記載の電子デバイス。
【請求項13】
前記少なくとも1つの第2のノードは、オンライントランザクション処理(OLTP)ノードおよびオンライン分析処理(OLAP)ノードを含み、
前記プロセッサは、
前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容が含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のトランザクションを処理し、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容およびストレージノードが含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のタイプのステートメントに対応するストレージノードにアクセスし、および前記第2のタイプのステートメントに対応する実行内容に従って前記第2のタイプのステートメントに対応するストレージノードにアクセスし、
前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれることを特徴とする請求項11に記載の電子デバイス。
【請求項14】
前記少なくとも1つの第2のノードは、OLTPノードを含み、
前記送受信機は、
OLTPノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランおよび前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランが含まれ、ここで、前記第1のタイプのステートメントに対応する実行プランは、前記第1のタイプのステートメントに従って前記OLTPノードによって生成され、前記第2のタイプのステートメントに対応する実行プランは、前記OLAPノードによって送信された第2のタイプのステートメントの初期実行プランに従って、前記OLTPノードによって生成され、前記第2のタイプのステートメントの初期実行プランは前記第2のタイプのステートメントに対応する実行内容を含み、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれることを特徴とする請求項11に記載の電子デバイス。
【請求項15】
プロセッサ、メモリ、送受信機、およびバスインターフェースを備え、ここで、前記プロセッサ、前記メモリ、前記送受信機および前記バスインターフェースは、バスを介して相互に接続され、
前記送受信機は、第1のノードによって送信された第1のトランザクションのステートメントを受信し、前記ステートメントに対応する初期実行プランをOLTPノードに送信し、前記OLTPノードに前記ステートメントの初期実行プランに従って前記ステートメントに対応する実行プランを生成させるようにし、
前記プロセッサは、前記ステートメントに対応する初期実行プランを生成し、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれることを特徴とする電子デバイス。
【請求項16】
プロセッサ、メモリ、送受信機、およびバスインターフェースを備え、ここで、前記プロセッサ、前記メモリ、前記送受信機および前記バスインターフェースは、バスを介して相互に接続され、
前記送受信機は、OLAPノードによって送信された第1のトランザクションのステートメントの初期実行プランを受信するように構成され、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれ、前記ステートメントに対応する実行プランを第1のノードに送信し、前記第1のノードに、前記ステートメントに対応する実行プランに従って記第1のトランザクションを処理させるようにし、
前記プロセッサは、前記ステートメントに対応する初期実行プランに従って前記ステートメントに対応するストレージノードを取得し、前記対応する実行プランを生成するように構成され、前記ステートメントに対応する実行プランに前記ステートメントに対応する実行内容およびストレージノードが含まれることを特徴とする電子デバイス。
【請求項17】
請求項1から6のいずれか一項に記載のトランザクション処理の方法をコンピュータに実行させるコンピュータ命令を格納する、非一時的なコンピュータ可読記憶媒体。
【請求項18】
非一時的コンピュータ可読記憶媒体に記憶されたコンピュータプログラムを含むコンピュータプログラム製品であって、コンピュータによって実行されると、コンピュータに請求項1から6のいずれか一項に記載のトランザクション処理の方法を実行させるプログラム命令を含むコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2018年03月29日に中国特許局に提出し、出願番号が201810273942.5であり、発明名称が「トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム」との中国特許出願を基礎とする優先権を主張し、その開示の総てをここに取り込む。
【0002】
本発明は、通信技術分野に関し、特にトランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステムに関する。
【背景技術】
【0003】
インターネットの急速な発展に伴い、単一のデータベースのデータおよびタアクセスの量は急速に増大している。分散型データベースは、大量のデータストレージと同時データアクセスの問題を効果的に解決できる。従来技術の分散型データベースシステムは少なくとも1つのデータベースを含み、各データベースは少なくとも1つのデータテーブルを含む。このようにして、元の集中型データベースのデータを分散し、ネットワークを介して接続された複数のデータストレージノードに保存して、より大きなストレージ容量とより多くの同時アクセスを取得できる。
【0004】
現在、従来技術の分散型データベースは、同じサーバーを使用して異なるタイプのデータアクセス要件を処理し、異なるタイプのデータアクセス要件は、単一のデータベースのアクセス要件、すなわち、このデータアクセス要件では、サーバーが1つのデータベースに検索を実行して結果を取得する必要がある。複数のデータベースのアクセス要件がある場合もある。つまり、このデータアクセス要件では、サーバーが複数のデータベースを検索して結果を取得する必要がある。これら2つのタイプのデータアクセス要件で必要な処理時間は異なるため、データアクセス要件の処理におけるサーバーの効率が低下し、サーバーの運用負荷が増大する。
【0005】
これに基づいて、分散型データベースは同じサーバーを使用して異なるタイプのトランザクションアクセス要件を処理するため、サーバーの処理効率が低いという従来技術の問題を解決するトランザクション処理の方法が必要である。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の実施形態は、分散型データベースが同じサーバを使用するためにサーバの処理効率が低いという従来の技術的問題を解決するために、トランザクション処理方法およびサーバー、ならびにトランザクション処理のシステムを提供する。
【課題を解決するための手段】
【0007】
第1の態様では、本発明の実施形態によって提供されるトランザクション処理の方法は、第1のノードは、第1のトランザクションに対応する少なくとも1つのステートメントを取得するステップと、前記第1のノードは、前記第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを少なくとも1つの第2のノード中の前記第1のステートメントのタイプに対応する第2のノードに送信して、前記第1のステートメントのタイプに対応する第2のノードに、ステートメントに従がって前記ステートメントに対応する実行プランを生成させるようにするステップと、前記第1のノードは、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、前記第1のトランザクションを処理するステップとを備え、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントである。
【0008】
このように、当該トランザクション処理のシステムには少なくとも1つの第2のノードがあるため、第1のノードは、第1のトランザクションに対応する少なくとも1つのステートメントを取得した後、少なくとも1つのステートメントのタイプを決定し、対応する第2のノードに送信することができる。従来技術でトランザクション処理にサーバーを1つだけ使用するモードと比較して、本発明の実施形態は、複数のタイプのステートメントを同時に処理でき、システムの処理効率を効果的に改善し、システムの運用負担を軽減する。さらに、少なくとも1つの第2のノードは、ステートメントに対応する実行プランを第1のノードに送信するだけでよく、第1のノードは最初のトランザクションに含まれる少なくとも1つのステートメントに対して統合処理を実行することにより、トランザクション性が確保できる。
【0009】
任意選択で、前記第1のノードが、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従がって、前記第1のトランザクションを処理することは、前記第1のノードは、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従がって、前記第1のトランザクションを開始し、前記第1のトランザクションに対応するスケジューラを割り当てることを含み、前記第1のノードは、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従がって、前記第1のトランザクションに対応するスケジューラを介して前記第1のトランザクションを処理する。
【0010】
このように、複数のトランザクションを同時に処理することができ、トランザクション処理のシステムの処理効率を改善し、トランザクション性を保証する。
【0011】
任意選択で、前記少なくとも1つの第2のノードは、オンライントランザクション処理(OnLine Transaction Processing,OLTP)ノードおよびオンライン分析処理(Online Analytical Processing,OLAP)ノードを含み、前記第1のノードが、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、前記第1のトランザクションを処理することは、前記第1のノードは、前記OLTPノードによって送信された前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランを受信し、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容が含まれる場合、前記第1のノードは、前記第1のタイプのステートメントに対応する実行内容に従って、前記第1のトランザクションを処理し、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容およびストレージノードが含まれる場合、前記第1のノードは、前記第1のタイプのステートメントに対応する実行内容に従って、前記第1のタイプのステートメントに対応するストレージノードにアクセスし、前記第1のノードは、前記OLAPノードによって送信された前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランを受信し、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれ、前記第1のノードは、前記第2のタイプのステートメントに対応する実行内容に従って、前記第2のタイプのステートメントに対応するストレージノードにタアクセスする。
【0012】
このように、OLTPノードは第1タイプのステートメントの処理を担当し、OLAPノードは第2タイプのステートメントの処理を担当するので、本発明の実施形態は、複数のタイプのステートメントを同時に処理でき、システムの処理効率を効果的に改善し、システムの運用負担を軽減する。
【0013】
任意選択で、前記少なくとも1つの第2のノードは、OLTPノードを含み、前記第1のノードが、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信することは、前記第1のノードは、OLTPノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランおよび前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランが含まれ、ここで、前記第1のタイプのステートメントに対応する実行プランは、前記第1のタイプのステートメントに従って前記OLTPノードによって生成され、前記第2のタイプのステートメントに対応する実行プランは、前記OLAPノードによって送信された第2のタイプのステートメントの初期実行プランに従って、前記OLTPノードによって生成され、前記第2のタイプのステートメントの初期実行プランは前記第2のタイプのステートメントに対応する実行内容を含み、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
【0014】
このように、OLAPノードは、分散型データベースのストレージルールを考慮する必要がなく(すなわち、各データリストに対応するストレージノードを考慮する必要がない)、各データリスト内部の論理関係のみを考慮する必要がある。OLTPノードは、分散型データベースのストレージルールを各データリストの内部論理関係と統合する必要があるため、OLAPノードの構造を簡素化し、トランザクション処理のシステムの複雑さを軽減し、トランザクション処理のシステムを実現するためのコストを減縮できる。
【0015】
任意選択で、前記第1のノードおよび前記OLTPノードは、同じデバイス内に配置される。
【0016】
このように、1つのノードにおける各デバイスのそれぞれの配置によって容易に引き起こされる運用コストの増加の問題を回避することができ、システムの複雑さを低減することができる。
【0017】
第2の態様では、本発明の実施形態によって提供されるトランザクション処理の方法は、OLAPノードは、第1のノードによって送信された第1のトランザクションのステートメントを受信するステップと、前記OLAPノードは、前記ステートメントに対応する初期実行プランを生成するステップであって、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる前記生成するステップと、前記OLAPノードは、前記ステートメントに対応する初期実行プランをOLTPノードに送信して、前記OLTPノードに前記ステートメントの初期実行プランに従って前記ステートメントに対応する実行プランを生成させるようにするステップとを備える。
【0018】
このように、OLAPノードは、分散型データベースのストレージルールを考慮する必要がなく(すなわち、各データリストに対応するストレージノードを考慮する必要がない)、各データリスト内部の論理関係のみを考慮する必要がある。OLAPノードの構造を簡素化し、トランザクション処理のシステムの複雑さを軽減し、トランザクション処理のシステムを実現するためのコストを減縮できる。
【0019】
第3の態様では、本発明の実施形態によって提供されるトランザクション処理の方法は、OLTPノードは、OLAPノードによって送信された第1のトランザクションのステートメントの初期実行プランを受信するステップであって、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる前記受信するステップと、前記OLTPノードは、前記ステートメントに対応する初期実行プランに従がって、前記ステートメントに対応するストレージノードを取得し、前記対応する実行プランを生成するステップであって、前記ステートメントに対応する実行プランに前記ステートメントに対応する実行内容およびストレージノードが含まれる前記生成するステップと、前記OLTPノードは、前記ステートメントに対応する実行プランを第1のノードに送信して、前記第1のノードに前記ステートメントに対応する実行プランに従がって前記第1のトランザクションを処理させるようにするステップとを備える。
【0020】
このように、OLTPノードは、分散型データベースのストレージルールを各データリストの内部論理関係と統合するだけでよく、トランザクション処理のシステムの複雑さを軽減し、トランザクション処理のシステムを実現するためのコストを減縮できる。
【0021】
第4の態様では、本発明の実施形態によって提供されるトランザクション管理および実行のためのサーバーは、取得ユニットと、処理ユニットと、受信ユニットとを備え、前記取得ユニットは、第1のトランザクションに対応する少なくとも1つのステートメントを取得するように構成され、前記処理ユニットは、第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを少なくとも1つの第2のノード中の前記第1のステートメントのタイプに対応する第2のノードに送信して、前記第1のステートメントのタイプに対応する第2のノードに、ステートメントに従がって前記ステートメントに対応する実行プランを生成させるようにし、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントであり、前記受信ユニットは、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信するように構成され、前記処理ユニットはさらに、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを処理する。
【0022】
任意選択で、前記処理ユニットは具体的に、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを開始し、前記第1のトランザクションに対応するスケジューラを割り当て、および前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションに対応するスケジューラを介して前記第1のトランザクションを処理する。
【0023】
任意選択で、前記少なくとも1つの第2のノードは、オンライントランザクション処理(OLTP)ノードおよびオンライン分析処理(OLAP)ノードを含み、前記処理ユニットは具体的に、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容が含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のトランザクションを処理し、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容およびストレージノードが含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のタイプのステートメントに対応するストレージノードにアクセスし、および前記第2のタイプのステートメントに対応する実行内容に従って前記第2のタイプのステートメントに対応するストレージノードにタアクセスし、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
【0024】
任意選択で、前記少なくとも1つの第2のノードは、OLTPノードを含み、前記受信ユニットは具体的に、OLTPノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランおよび前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランが含まれ、ここで、前記第1のタイプのステートメントに対応する実行プランは、前記第1のタイプのステートメントに従って前記OLTPノードによって生成され、前記第2のタイプのステートメントに対応する実行プランは、前記OLAPノードによって送信された第2のタイプのステートメントの初期実行プランに従って、前記OLTPノードによって生成され、前記第2のタイプのステートメントの初期実行プランは前記第2のタイプのステートメントに対応する実行内容を含み、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
【0025】
第5の態様では、本発明の実施形態によって提供されるOLAPサーバーは、受信ユニットと、処理ユニットと、送信ユニットとを備え、
前記受信ユニットは、第1のノードによって送信された第1のトランザクションのステートメントを受信するように構成され、前記処理ユニットは、前記ステートメントに対応する初期実行プランを生成し、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれ、前記送信ユニットは、前記ステートメントに対応する初期実行プランをOLTPノードに送信し、前記OLTPノードに前記ステートメントの初期実行プランに従って前記ステートメントに対応する実行プランを生成させるようにする。
【0026】
第6の態様では、本発明の実施形態によって提供されるOLTPサーバーは、受信ユニットと、処理ユニットと、送信ユニットとを備え、
前記受信ユニットは、OLAPノードによって送信された第1のトランザクションのステートメントの初期実行プランを受信し、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれ、前記処理ユニットは、前記ステートメントに対応する初期実行プランに従って前記ステートメントに対応するストレージノードを取得し、前記対応する実行プランを生成し、前記ステートメントに対応する実行プランに前記ステートメントに対応する実行内容およびストレージノードが含まれ、前記送信ユニットは、前記ステートメントに対応する実行プランを第1のノードに送信し、前記第1のノードに前記ステートメントに対応する実行プランに従がって前記第1のトランザクションを処理させるようにする。
【0027】
第7の態様では、本発明の実施形態によって提供されるサーバーは、ソフトウェアプログラムを格納するように構成されたメモリと、前記メモリ内のソフトウェアプログラムを読み取り、上記のトランザクション処理の方法を実行するように構成されたプロセッサとを備える。
【0028】
第8の態様では、本発明の実施形態によって提供される電子デバイスは、プロセッサ、メモリ、送受信機、およびバスインターフェースを備え、ここで、前記プロセッサ、前記メモリ、前記送受信機および前記バスインターフェースは、バスを介して相互に接続され、
前記プロセッサは、前記メモリ内のプログラムを読み取って前記メモリ内のプログラムを読み取って次の操作を実行するように構成され、第1のトランザクションに対応する少なくとも1つのステートメントを取得し、第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを少なくとも1つの第2のノード中の前記第1のステートメントのタイプに対応する第2のノードに送信して、前記第1のステートメントのタイプに対応する第2のノードに、ステートメントに従がって前記ステートメントに対応する実行プランを生成させるようにし、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントであり、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを処理し、
前記送受信機は、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信する。
【0029】
任意選択で、前記プロセッサは具体的に、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを開始し、前記第1のトランザクションに対応するスケジューラを割り当て、および前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションに対応するスケジューラを介して前記第1のトランザクションを処理する。
【0030】
任意選択で、前記少なくとも1つの第2のノードは、オンライントランザクション処理(OLTP)ノードおよびオンライン分析処理(OLAP)ノードを含み、前記プロセッサは具体的に、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容が含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のトランザクションを処理し、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容およびストレージノードが含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のタイプのステートメントに対応するストレージノードにアクセスし、および前記第2のタイプのステートメントに対応する実行内容に従って前記第2のタイプのステートメントに対応するストレージノードにタアクセスし、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
【0031】
任意選択で、前記少なくとも1つの第2のノードは、OLTPノードを含み、前記送受信機は具体的に、
OLTPノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランおよび前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランが含まれ、ここで、前記第1のタイプのステートメントに対応する実行プランは、前記第1のタイプのステートメントに従って前記OLTPノードによって生成され、前記第2のタイプのステートメントに対応する実行プランは、前記OLAPノードによって送信された第2のタイプのステートメントの初期実行プランに従って、前記OLTPノードによって生成され、前記第2のタイプのステートメントの初期実行プランは前記第2のタイプのステートメントに対応する実行内容を含み、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
【0032】
第9の態様では、本発明の実施形態によって提供される電子デバイスは、プロセッサ、メモリ、送受信機、およびバスインターフェースを備え、ここで、前記プロセッサ、前記メモリ、前記送受信機および前記バスインターフェースは、バスを介して相互に接続され、
前記送受信機は、第1のノードによって送信された第1のトランザクションのステートメントを受信し、前記ステートメントに対応する初期実行プランをOLTPノードに送信し、前記OLTPノードに前記ステートメントの初期実行プランに従って前記ステートメントに対応する実行プランを生成させるようにし、
プロセッサは、前記ステートメントに対応する初期実行プランを生成し、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる。
【0033】
第10の態様では、本発明の実施形態によって提供される電子デバイスは、プロセッサ、メモリ、送受信機、およびバスインターフェースを備え、ここで、前記プロセッサ、前記メモリ、前記送受信機および前記バスインターフェースは、バスを介して相互に接続され、
前記送受信機は、OLAPノードによって送信された第1のトランザクションのステートメントの初期実行プランを受信するように構成され、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれ、前記ステートメントに対応する実行プランを第1のノードに送信し、前記第1のノードに、前記ステートメントに対応する実行プランに従って記第1のトランザクションを処理させるようにし、
前記プロセッサは、前記ステートメントに対応する初期実行プランに従って前記ステートメントに対応するストレージノードを取得し、前記対応する実行プランを生成するように構成され、前記ステートメントに対応する実行プランに前記ステートメントに対応する実行内容およびストレージノードが含まれる。
【0034】
第11の態様では、本発明の実施形態によって提供されるトランザクション処理のシステムは、前記システムトランザクション管理および実行のためのサーバーと、OLTPサーバーと、OLAPサーバーとを備え、
前記トランザクション管理および実行のためのサーバーは、第1のトランザクションに対応する少なくとも1つのステートメントを取得し、第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを前記OLTPサーバーや前記OLAPサーバーに送信し、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントであり、前記OLTPサーバーは、前記トランザクション管理および実行のためのサーバーによって送信された第1のトランザクションの第1のタイプのステートメントを受信し、前記第1のタイプのステートメントに従がって前記第1のタイプのステートメントに対応する実行プランを生成し、前記第1のタイプのステートメントに対応する実行プランを前記トランザクション管理および実行のためのサーバーに送信し、前記OLAPサーバーは、前記トランザクション管理および実行のためのサーバーによって送信された第1のトランザクションの第2のタイプのステートメントを受信し、前記第2のタイプのステートメントに従がって前記第2のタイプのステートメントに対応する実行プランを生成し、前記第2のタイプのステートメントに対応する実行プランを前記トランザクション管理および実行のためのサーバーに送信し、前記トランザクション管理および実行のためのサーバーはさらに、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、前記第1のトランザクションを処理する。
【0035】
第12の態様では、本発明の実施形態によって提供されるトランザクション処理のシステムは、オンライントランザクション処理(OLTP)サーバーおよびオンライン分析処理(OLAP)サーバーを含み、前記OLTPサーバーは、第1のトランザクションに対応する少なくとも1つのステートメントを取得し、前記少なくとも1つのステートメントのタイプを決定し、前記第1のステートメントを第1のタイプのステートメントとしてと決定すると、前記第1のタイプのステートメントに対応する実行プランを生成し、前記第1のステートメントを第2のタイプのステートメントとして決定すると、前記第2のタイプのステートメントを前記OLAPサーバーに送信し、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントであり、前記OLAPサーバーは、前記OLTPサーバーによって送信された前記第2のタイプのステートメントを受信し、前記第2のタイプのステートメントに対応する初期実行プランを生成し、および前記第2のタイプのステートメントに対応する初期実行プランを前記OLTPサーバーに送信し、前記OLTPサーバーはさらに、前記OLAPサーバーによって送信された前記第2のタイプのステートメントに対応する初期実行プランを受信し、前記第2のタイプのステートメントに対応する初期実行プランに従がって、第2のタイプのステートメントに対応する実行プランを生成し、前記第1のタイプのステートメントに対応する実行プランおよび前記第2のタイプのステートメントに対応する実行プランに従がって、前記第1のトランザクションを処理する。
【0036】
第13の態様では、本発明の実施形態は、命令を記憶する非一時的なコンピュータ可読記憶媒体を提供し、これにより、コンピュータに、第1の態様または第1の態様に係るいずれかの方法を実行させるか、または、コンピュータに、第2の態様または第2の態様に係るいずれかの方法を実行させるか、またはコンピュータに第3の態様または第3の態様の係るいずれかの方法を実行させるコンピューターで実行させる。
【0037】
第14の態様では、本発明の実施形態は、コンピュータ上で実行するときにコンピュータに第1の態様または第1の態様の任意の可能な実施で方法を実行させるか、または第2の態様または第2の態様の任意の可能な実施で方法を実行させるか、第3の態様または第3の態様の任意の可能な実施で方法を実行させる、命令を含むコンピュータプログラム製品を提供する。
【発明の効果】
【0038】
本発明の実施形態では、第1のトランザクションに対応する少なくとも1つのステートメントを取得した後、第1のノードは、前記各ステートメントを分類し、前記各ステートメントが属するタイプに従ってそれぞれ少なくとも1つの第2のノードに少なくとも1つの前記ステートメントを送信することができる。その結果、少なくとも1つの第2のノードは、受信されたステートメントに従って前記ステートメントに対応する実行プランを生成する。第1のノードは、少なくとも1つの前記第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する受信された実行プランに従って前記第1のトランザクションを処理する。このように、当該トランザクション処理のシステムには少なくとも1つの第2のノードがあるため、第1のノードは、第1のトランザクションに対応する少なくとも1つのステートメントを取得した後、少なくとも1つのステートメントを分類してから少なくとも1つの第2のノードに送信することができる。ステートメントを分類および処理するこの方法は、ステートメントシステムの設計の複雑さを軽減できる。さらに、従来技術でトランザクション処理にサーバーを1つだけ使用するモードと比較して、本発明の実施形態は、複数のタイプのステートメントを同時に処理でき、システムの処理パフォーマンスを効果的に改善し、システムの運用負担を軽減する。次にシステムの全体的な並列処理を増やす。さらに、少なくとも1つの第2のノードは、ステートメントに対応する実行プランを第1のノードに送信するだけでよく、第1のノードは最初のトランザクションに含まれる少なくとも1つのステートメントに対して統合処理を実行することにより、トランザクション性が確保できる。
【図面の簡単な説明】
【0039】
本発明に係る実施例や従来の技術方案をより明確に説明するために、以下に実施例を説明するために必要な図面をについて簡単に紹介する。無論、以下の説明における図面は本発明に係る実施例の一部であり、当業者は、創造性作業を行わないことを前提として、これらの図面に基づいて他の図面を得ることができる。
図1】本発明の実施形態に適用可能なシステムアーキテクチャの概略図である
図2】本発明の実施形態によって提供されるトランザクション処理のシステムの構造概略図である。
図3】本発明の実施形態によって提供されるトランザクション処理の方法のフロー概略図である。
図4】本発明の実施形態に係るOLTPノードである第2のノードに対応するフロー概略図である。
図5】本発明の実施形態に係る第1のノードの構造概略図である。
図6】本発明の実施形態によって提供されるトランザクション管理および実行のためのサーバーの構造概略図である。
図7】本発明の実施形態に適用可能な別のシステムアーキテクチャの概略図である。
図8】本発明の実施形態によって提供される別のトランザクション処理のシステムの構造概略図である。
図9】本発明の実施形態によって提供される別のトランザクション処理の方法のフロー概略図である。
図10】本発明の実施形態によって提供されるOLAPサーバーの構造概略図である。
図11】本発明の実施形態によって提供されるOLTPサーバーの構造概略図である。
図12】本発明の実施形態によって提供される電子デバイスの構造概略図である。
図13】本発明の実施形態によって提供される電子デバイスの構造概略図である。
図14】本発明の実施形態によって提供される電子デバイスの構造概略図である。
【発明を実施するための形態】
【0040】
本発明の目的、技術的解決策、および有益な効果をより明確にするために、本発明は、図面および実施形態を参照して、以下に詳細にさらに説明される。本明細書に記載された特定の実施形態は、本発明を説明するためにのみ使用され、本発明を限定するものではないことを理解されたい。
【0041】
以下に本発明に係る実施形態において図面を結合して本発明の実施形態における技術方案について詳細に、完全に説明するが、次に陳述する実施形態は単に本発明のいくつかの実施形態であり、その全てではない。本分野の一般の技術者にとって、創造性的労働をしなくても、これらの実施形態に基づいてその他の実施形態を容易に獲得することができ、全て本発明の保護範囲に属することは明白である。
【0042】
本発明の実施形態における方法は、様々なシステムアーキテクチャに適用可能であり得る。本発明の実施形態における方法は、第1および第2の実施形態においてそれぞれ例として与えられたシステムアーキテクチャと組み合わせて、以下で詳細に説明される。
【0043】
第1の実施形態:
図1は、本発明の実施形態に適用可能なシステムアーキテクチャの概略図を例示的に示している。図1に示されるように、本発明の実施形態に適用可能なシステムアーキテクチャ100は、図1に示されるような第1のタイプのノード1011および第1のタイプのノード1012などの第1のタイプのノードと、図1に示されるような第2のタイプのノード1021および第2のタイプのノード1022などの第2のタイプのノードと、そして、図1に示されるような第3タイプのノード1031、第3タイプのノード1032および第3タイプのノード1033などの第3タイプのノードとを含む。ここで、第3タイプのノードは、データを格納するためのデータベースであり得る。
【0044】
特定の実施プロセスでは、第1のタイプのノード1011は、特定のトランザクションの少なくとも1つのステートメントを取得し、当該トランザクションの各ステートメントを分類し、各ステートメントのタイプに従がって少なくとも1つのステートメントそれぞれを第2のタイプのノード1021および第2のタイプのノード1022に送信する。さらに、第2のタイプのノード1021または第2のタイプのノード1022は、ステートメントを受信した後、受信されたステートメントに従って前記ステートメントに対応する実行プランを生成し、前記ステートメントに対応する実行プランを第1のタイプのノード1012に送信することができる。さらに、第1のタイプのノード1012は、第2のタイプのノード1021および/または第2のタイプのノード1022によって送信されたトランザクションの少なくとも1つのステートメントに対応する受信された実行プランに従ってトランザクションを処理し得る。
【0045】
本発明の実施形態におけるノードは、物理エンティティノードであってもよく、または仮想ノードであってもよく、これらはここに限定されない。
【0046】
(1)第1のタイプのノードは、異なるデバイス上に配備することができ、例えば、図1に示される第1のタイプのノード1011は、デバイスA上に配備され、第1のタイプのノード1012はデバイスBに配備される。あるいは、第1のタイプのノードは、同じデバイス上に配備されてもよく、例えば、図1に示される第1のタイプのノード1011および第1のタイプのノード1012は、両方ともデバイスA上に配備される。(2)本発明の実施形態では、第2のタイプのノードの数は特に限定されず、図1に示される第2のタイプのノード1021および第2のタイプのノード1022は、単なる例であり、当業者は、経験と実際の状況に応じて、第2タイプのノードの数を増減できる。(3)本発明の実施形態では、第3のタイプのノードの数は特に限定されず、図1に示す第3のタイプのノード1031、第3のタイプのノード1032および第3のタイプのノード1033は、単なる例であり、当業者は、経験および実際の状態に従って第3のタイプのノードの数を増減することができる。
【0047】
図1に示されるシステムアーキテクチャをより明確に説明するために、図1に説明されるシステムアーキテクチャは、図2と組み合わせて以下に例示される。図2に示されるように、それは本発明の実施形態によって提供されるトランザクション処理のシステムの構造概略図である。当該トランザクション処理のシステム200は、トランザクション管理および実行のためのサーバー201、OLTPサーバー202およびOLAPサーバー203を含む。ここで:
トランザクション管理および実行のためのサーバー201は、第1のトランザクションに対応する少なくとも1つのステートメントを取得し、第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを前記OLTPサーバー202または前記OLAPサーバー203に送信する。前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントである。
【0048】
OLTPサーバー202は、前記トランザクション管理および実行のためのサーバーによって送信された第1のトランザクションの第1のタイプのステートメントを受信し、前記第1のタイプのステートメントに従がって前記第1のタイプのステートメントに対応する実行プランを生成し、および、前記第1のタイプのステートメントに対応する実行プランを前記トランザクション管理および実行のためのサーバーに送信する。OLAPサーバー203は、前記トランザクション管理および実行のためのサーバーによって送信された第1のトランザクションの第2のタイプのステートメントを受信し、前記第2のタイプのステートメントに従がって前記第2のタイプのステートメントに対応する実行プランを生成し、前記第2のタイプのステートメントに対応する実行プランを前記トランザクション管理および実行のためのサーバーに送信する。
【0049】
前記トランザクション管理および実行のためのサーバー201はさらに、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、前記第1のトランザクションを処理する。
【0050】
なお、(1)図2に示すトランザクション処理のシステムにおいて、トランザクション管理および実行のためのサーバー201は、複数の第1のタイプのノードの機能を有していてもよい。例えば、トランザクション管理および実行のためのサーバー201は、図1に示される第1のタイプのノード1011の機能および第1のタイプのノード1012の機能の両方を有することができる。(2)図2に示されるトランザクション処理のシステムにおいて、OLTPサーバー202は、図1に示される第2のタイプのノードのいずれか1つであり得、例えば、OLTPサーバー202は、第2のタイプのノード1021であり得る。そして、OLAPサーバー202は、OLTPサーバー以外の図1に示される第2のタイプのノードのうちの任意の1つであり得、例えば、OLAPサーバー203は、第2のタイプのノード1022であり得る。
【0051】
図1に示されるシステムアーキテクチャに基づいて、図3は、本発明の実施形態によって提供されるトランザクション処理の方法に対応するフロー概略図を例示的に示し、第1のノードは、トランザクション管理および実行のためのサーバー201であり得る。この方法は、具体的には次のステップを含む。
【0052】
ステップ301:第1のノードは、第1のトランザクションに対応する少なくとも1つのステートメントを取得する。
ステップ302:第1のノードは、前記第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを少なくとも1つの第2のノード中の前記第1のステートメントのタイプに対応する第2のノードに送信する。
ステップ303:少なくとも1つの第2のノードは、受信されたステートメントに従って、前記ステートメントに対応する実行プランを生成し、前記ステートメントに対応する実行プランを第1のノードに送信する。
ステップ304:第1のノードは、前記少なくとも1つの第2のノードによって送信された第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、前記第1のトランザクションを処理する。
【0053】
上記のステップで説明されたコンテンツの複数の実施があることに留意されたい。1つの可能な実施は以下の通りである:図1に示されるシステムアーキテクチャを例にとると、上記のステップ301および302は図1に示される第1のタイプのノード1011によって実行され得、上記のステップ303は、図1に示される第2のタイプのノードのうちの少なくとも1つによって実行され得る。および上記のステップ304は、図1に示される第1のタイプのノード1012によって実行され得る。別の可能な実施は以下の通りである:図2に示すシステムアーキテクチャを例にとると、上記のステップ301、302および304は、図2に示すトランザクション管理サーバー201によって実行され得、上記のステップ303は、図2に示すOLTPサーバーまたはOLAPサーバーによって実行される。
【0054】
このように、当該トランザクション処理のシステムには少なくとも1つの第2のノードがあるため、第1のノードは、第1のトランザクションに対応する少なくとも1つのステートメントを取得した後、少なくとも1つのステートメントを分類してから少なくとも1つの第2のノードに送信することができる。ステートメントを分類および処理するこの方法は、ステートメントシステムの設計の複雑さを軽減できる。さらに、従来技術でトランザクション処理にサーバーを1つだけ使用するモードと比較して、本発明の実施形態は、複数のタイプのステートメントを同時に処理でき、システムの処理パフォーマンスを効果的に改善し、システムの運用負担を軽減する。次にシステムの全体的な並列処理を増やす。さらに、少なくとも1つの第2のノードは、ステートメントに対応する実行プランを第1のノードに送信するだけでよく、第1のノードは最初のトランザクションに含まれる少なくとも1つのステートメントに対して統合処理を実行することにより、トランザクション性が確保できる。
【0055】
具体的には、ステップ301において、第1のトランザクションは、少なくとも1つのステートメントを含み得る。たとえば、第1のトランザクションに対応するビジネスシナリオは次のとおりである。大学の教育管理システムは、2004年に登録され、番号が200401361211である生徒のGPAを3.9に更新する必要がある。次に、当該生徒の指導教官の氏名を検索し、GPAスコアを確認するよう指導教官に指示す目的で、生徒の指導教官の氏名が検索される。大学の教育行政システムのデータベースには2つのデータテーブルがあることが知られており、表1は教師リスト(teacher_list)で、主キーは教師ID(teacher_id)で、他のフィールドは教師名(name)である。表2は生徒リスト(student_list)である。主キーは生徒ID(student_id)で、他のフィールドは生徒名(name)、生徒に対応する教師ID(teacher_id)、およびGrade Point Average(GPA)である。このビジネスシナリオに基づいて、表1に示すように、第1のトランザクションのステートメントを示す(例としてSQLステートメントを取り上げる)。
【0056】
【表1】
【0057】
表1に示される内容に基づいて、第1のトランザクションは4つのステートメント、すなわち以下を含むことが分かる。ステートメント1,begin;ステートメント2,update student_list //set gpa=3.9 // where // student_id =’200401361211’;ステートメント3,select s.name, s.gpa, t.name // from teacher_list as t // student_list as s //where // s.student_id=’200401361211’ //and // s.teacher_id = t.teacher_id;ステートメント4,commit。
【0058】
ステップ302において、ステートメントを分類するための複数の方法があり得る。1つの可能な実施は、ステートメントの実行の難易度に従ってステートメントを分類することである。表1に示す内容を例にとると、ステートメント1、ステートメント2、およびステートメント4は、ステップが少なく、難易度が低く、ステートメント1、ステートメント2、およびステートメント4は、第1のタイプのステートメントとして分類できる。そして、ステートメント3は、より多くのステップおよびより高い難易度で実行され、ステートメント3は、第2のタイプのステートメントとして分類され得る。類推して、第1のトランザクションがより多くのステートメントを含む場合、ステートメントはより多くのタイプに分割されることもある(つまり、タイプの数は2より大きい)。
【0059】
なお、上記の説明の実施の難易度は、特に限定されない経験や実情に基づいて当業者が設定することができる。
【0060】
他の可能な実施形態では、ステートメントが分類されるとき、それらは他の方法で分類されてもよく、例えば、ステートメントの内容に従って、またはステートメントの実行順序に従って分類されてもよい。特に限定される。
【0061】
さらに、ステートメントのタイプと第2のノードとの間には対応関係がある場合がある。したがって、第1のノードは、各ステートメントのタイプおよびステートメントのタイプと第2のノードとの間の対応関係に従って、少なくとも1つの前記ステートメントを少なくとも1つの第2のノードにそれぞれ送信することができる。表2に示すように、これはステートメントのタイプと第2ノード間の対応関係の例である。第2ノードにはOLTPノードとOLAPノードが含まれる。ステートメントのタイプが第1のタイプのステートメントである場合、対応する第2のノードはOLTPノードであり、ステートメントのタイプが第2のタイプのステートメントである場合、対応する第2のノードはOLAPノードである。
【0062】
【表2】
【0063】
表2に記載される内容に従って、本発明の実施形態は、表1に示される第1のトランザクションのステートメントを分類し、それらを対応する第2のノードに送信することができ、ステートメント1、ステートメント2およびステートメント4は、第1のタイプのステートメントである。第1のノードは、ステートメント1、ステートメント2、およびステートメント4をOLTPノードに送信できる。また、ステートメント3は第2のタイプのステートメントであり、第1のノードはステートメント3をOLAPノードに送信する。
【0064】
ステップ303および304において、異なる第2のノードは、異なるタイプのステートメントに対応する。以下では、説明のための例として、第2のノードにOLTPノードとOLAPノードが含まれる。
【0065】
特定の実施プロセスにおいて、第1のノードが、OLTPノードによって送信された第1のトランザクションの第1のタイプのステートメントに対応する実行プランを受信した後、第1のタイプのステートメントに対応する実行プランが第1のタイプのステートメントに対応する実行内容を含むと判定された場合、次いで、第1のノードは、前記第1のタイプのステートメントに対応する実行内容に従って第1のトランザクションを処理することができる。第1のタイプのステートメントに対応する実行プランが、第1のタイプのステートメントに対応する実行内容およびストレージノードを含むと判定された場合、第1ノードは、前記第1のタイプのステートメントに対応する実行内容に従がって、前記第1のタイプのステートメントに対応するストレージノードにアクセスすることができる。
【0066】
OLAPノードによって送信された第1のトランザクションの第2のタイプのステートメントに対応する実行プランを受信した後、第1のノードは、第2のタイプのステートメントに対応する実行プランに含まれる第2のタイプのステートメントに対応する実行内容に従がって、第2のタイプのステートメントに対応するストレージノードにアクセスし得る。第2のタイプのステートメントに対応する実行プランに第2のタイプのステートメントに対応するストレージノードが含まれる。
【0067】
上記の実施プロセスをより明確に説明するために、本発明の実施形態に関与するOLTPノードである第2のノードに対応するフローを、図4を参照して以下に具体的に示し、以下のステップを含む。
ステップ401:第1のノードは、第1のトランザクションの第1のタイプのステートメントをOLTPノードに送信する。
ステップ402:第1のノードは、第1のトランザクションの第2のタイプのステートメントをOLAPノードに送信する。
ステップ403:OLTPノードは、第1のノードによって送信された第1のトランザクションの第1のタイプのステートメントを受信する。
ステップ404:OLTPノードは、前記第1のトランザクションの第1のタイプのステートメントに従って、前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランを生成する。
【0068】
具体的には、一例において、第1のタイプのステートメントに対応する実行プランは、第1のタイプのステートメントに対応する実行内容のみを含み得る。たとえば、表1に示すステートメント1を例にすると、ステートメント1は「開始」である。ステートメント1によると、OLTPノードは第1のトランザクションを開始する必要があることを知っている可能性がある。次に、OLTPノードは、ステートメント1に対応する実行プランを生成することができ、すなわち、ステートメント1に対応する実行プランに含まれる実行内容が第1のトランザクションを開始するという内容である。
【0069】
別の例では、第1のタイプのステートメントに対応する実行プランは、第1のタイプのステートメントに対応する実行内容と第1のタイプのステートメントに対応するストレージノードの両方を含むこともできる。たとえば、表1に示されているステートメント2を例にとると、ステートメント2はupdate student_list //set gpa=3.9 // where // student_id =’200401361211’である。ステートメント2と事前に設定されたストレージルールに従って、OLTPノードは生徒番号200401361211に対応するデータがストレージノードaに格納されていることを認識し、OLTPノードはステートメント2に対応する実行プランを生成する。つまり、ステートメント2に対応する実行プランに含まれる実行内容は、生徒番号200401361211に対応するデータを検索しており、ステートメント2に対応する実行プランに含まれるストレージノードは、ストレージノードaである。このようにして、この実行プランを受信された後、第1のノードは、ストレージノードaで生徒番号200401361211に対応するデータを検索して、第1のトランザクションを処理する。
【0070】
ステップ405:OLTPノードは、前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランを第1のノードに送信する。
ステップ406:OLAPノードは、第1のノードによって送信された第1のトランザクションの第2のタイプのステートメントを受信する。
ステップ407:OLAPノードは、前記第1のトランザクションの第2のタイプのステートメントに従って、前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランを生成する。
【0071】
具体的には、第2のタイプのステートメントに対応する実行プランは、第2のタイプのステートメントに対応する実行内容およびストレージノードを含むことができる。たとえば、表1に示すステートメント3を例にとると、ステートメント3はselect s.name, s.gpa, t.name // from teacher_list as t // student_list as s //where // s.student_id=’200401361211’ //and // s.teacher_id = t.teacher_idである。ステートメント3とストレージルールによれば、OLAPノードは、生徒番号200401361211に対応するデータがストレージノードaに格納され、生徒番号200401361211に対応する指導教官のデータがストレージノードbに格納されていることを認識できる。その後、OLAPノードはステートメント3に対応する実行プランを生成できる。つまり、ステートメント3に対応する実行プランに含まれる実行内容は、生徒番号200401361211に対応する指導教官番号を検索してから、取得された指導教官番号による教師名を検索することができる。ステートメントに対応する実行プランに含まれるストレージノードは、ストレージノードaとストレージノードbである。
【0072】
このようにして、この実行プランを受信された後、第1のノードは、ストレージノードaで生徒番号200401361211に対応する指導教官番号を検索し、ストレージノードbで指導教官番号に従って指導教官の名前を検索することにより、第1のトランザクションを処理することができる。
【0073】
ステップ408:OLTPノードは、前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランを第1のノードに送信する。
ステップ409:第1のノードは、OLTPノードおよびOLAPノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、第1のトランザクションの少なくとも1つのステートメントに対応する実行プラン従って第1のトランザクションを処理する。
【0074】
(1)上記のステップ番号は、実行プロセスの例示的な表現にすぎず、本発明は、例えば、上記のステップ401および402におけるすべてのステップの前後順位を特に限定しないことに留意されたい。第1のノードは、最初に第1のトランザクションの第2のタイプのステートメントをOLAPノードに送信し、次に第1のトランザクションの第1のタイプのステートメントをOLTPノードに送信することもできる。(2)他の可能な実施形態では、第2のノードの数は2より大きくてもよく、例えば、第1のノードは、第2のノードA、第2のノードBおよび第2のノードC送信された第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信してもよい。前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、前記第1のトランザクションを処理する。特定の処理手順は上記の内容を参照することができ、ここでは繰り返さない。(3)他の可能な実施形態では、上記のステップ407において、OLAPノードはまた、前記第1のトランザクションの第2のタイプのステートメントに従って、第1のトランザクションの第2のタイプのステートメントに対応する初期実行プランを生成し得る。OLAPノードは前記第1のトランザクションの第2のタイプのステートメントに対応する初期実行プランをOLTPノードに送信し、OLTPノードは第2のタイプに対応する初期実行プランに従って第2のタイプのステートメントに対応する実行プランを生成し、第2のタイプのステートメントに対応する実行プランを第1のノードに送信する。このようにして、OLAPノードは分散型データベースのストレージルールを考慮する必要がなく(すなわち、各データリストに対応するストレージノードを考慮する必要がない)、各データリストの内部論理関係のみを考慮する必要がある。OLTPノードは、分散型データベースのストレージルールを各データリストの内部論理関係と統合する必要があるため、OLAPノードの構造を簡素化し、トランザクション処理のシステムの複雑さを軽減し、トランザクション処理のシステムを実現するためのコストを減縮できる。
【0075】
上述の内容に基づいて、本発明の実施形態は、第1のノードによって第1のトランザクションを処理するための方法をさらに提供する。第1のノードの構造概略図である図5に示されるように、第1のノードは、複数のスケジューラを含み得る。
【0076】
図5に示すこの構造では、第1のトランザクションに対応する少なくとも1つのステートメントに対応する実行プランを受信された後、第1のノードは第1のトランザクションを開始し、対応するスケジューラを第1のトランザクションに割り当てることができる。次に、第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、第1のトランザクションに対応するスケジューラを通じて第1のトランザクションを処理する。
【0077】
例えば、第1のノードは、第1のトランザクションに対応する少なくとも1つのステートメントに対応する実行プラン、第2のトランザクションに対応する少なくとも1つのステートメントに対応する実行プラン、および第3のトランザクションに対応する少なくとも1つのステートメントに対応する実行プランを受信する。第1のノードは、第1、第2、第3のトランザクションをそれぞれ開始し、第1のスケジューラを第1のトランザクションに、第2のスケジューラを第2のトランザクションに、第3のスケジューラを第3のトランザクションに割り当てることができる。これにより、複数のトランザクションが同時に処理され、トランザクション処理のシステムの処理効率が向上し、トランザクション性が確保される。
【0078】
同じ発明思想に基づいて、図6は、本発明の実施形態によって提供されるトランザクション管理および実行のためのサーバーの構造概略図を例示的に示す。図6に示すように、当該トランザクション管理および実行のためのサーバー600は、取得ユニット601、処理ユニット602、および受信ユニット603を含む。ここで:
前記取得ユニット601は、第1のトランザクションに対応する少なくとも1つのステートメントを取得するように構成される。
【0079】
前記処理ユニット602は、第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを少なくとも1つの第2のノード中の前記第1のステートメントのタイプに対応する第2のノードに送信して、前記第1のステートメントのタイプに対応する第2のノードに、ステートメントに従がって前記ステートメントに対応する実行プランを生成させるようにし、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントである。
【0080】
前記受信ユニット603は、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信するように構成される。
【0081】
また、前記処理ユニット602は、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを処理する。
【0082】
任意選択で、前記処理ユニット602は具体的に、
前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを開始し、前記第1のトランザクションに対応するスケジューラを割り当て、および前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションに対応するスケジューラを介して前記第1のトランザクションを処理する。
【0083】
任意選択で、前記少なくとも1つの第2のノードは、オンライントランザクション処理(OLTP)ノードおよびオンライン分析処理(OLAP)ノードを含み、
前記処理ユニット602は具体的に、
前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容が含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のトランザクションを処理し、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容およびストレージノードが含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のタイプのステートメントに対応するストレージノードにアクセスし、
および前記第2のタイプのステートメントに対応する実行内容に従って前記第2のタイプのステートメントに対応するストレージノードにタアクセスし、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
【0084】
任意選択で、前記少なくとも1つの第2のノードは、OLTPノードを含み、
前記受信ユニット603は具体的に、
OLTPノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランおよび前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランが含まれ、
ここで、前記第1のタイプのステートメントに対応する実行プランは、前記第1のタイプのステートメントに従って前記OLTPノードによって生成され、前記第2のタイプのステートメントに対応する実行プランは、前記OLAPノードによって送信された第2のタイプのステートメントの初期実行プランに従って、前記OLTPノードによって生成され、
前記第2のタイプのステートメントの初期実行プランは前記第2のタイプのステートメントに対応する実行内容を含み、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
【0085】
第2の実施形態:
図7は、本発明の実施形態に適用可能な別のシステムアーキテクチャの概略図を例示的に示す。図7に示すように、本発明の実施形態に適用可能なシステムアーキテクチャ700は、第1のタイプのノード701、第2のタイプのノード702、図7に示されるようなおよび第3のタイプのノード7031、タイプノード7032および第3のタイプのノード7033などの第3のタイプのノードを含む。ここで、第3のタイプのノードは、データを格納するためのデータベースであり得る。
【0086】
特定の実施プロセスでは、第1のタイプのノード701は、特定のトランザクションに対応する少なくとも1つのステートメントを取得し、当該トランザクションの各ステートメントを分類し、その後、各ステートメントのタイプに従がって少なくとも1つのステートメントをそれ自体(すなわち、第1のタイプのノード701)および第2のタイプのノード702に送信することができる。)。さらに、ステートメントを受信した後、第2のタイプのノード702は、受信されたステートメントに従ってステートメントに対応する初期実行プランを生成し、前記ステートメントに対応する初期実行プランを第1のタイプのノード701に送信することができる。さらに、第1のタイプのノード701は、第2のタイプのノード702によって送信されたステートメントに対応する受信された初期実行プランに従って前記ステートメントに対応する実行プランを生成し、前記ステートメントに対応する実行プランに従って当該トランザクションを処理することができる。
【0087】
(1)本発明の実施形態において、第2のタイプのノードの数は特に限定されず、図1に示される第2のタイプのノード702は、単なる例であり、当業者は、アートは、経験と実際の状態に応じて、第2のタイプのノードの数を増減できる。(2)本発明の実施形態では、第3のタイプのノードの数は特に限定されず、図1に示す第3のタイプのノード1031、第3のタイプのノード1032および第3のタイプのノード1033は、単なる例示である。例えば、当業者は、経験および実際の状態に従って、第3のタイプのノードの数を増減することができる。
【0088】
図7に示すシステムアーキテクチャをより明確に説明するために、図7に説明するシステムアーキテクチャを、図8と組み合わせて以下に例示する。図8は、本発明の実施形態によって提供される別のトランザクション処理のシステムの構造概略図である。当該トランザクション処理のシステム800は、OLTPサーバー801およびOLAPサーバー802を含む。ここで、
前記OLTPサーバー801は、第1のトランザクションに対応する少なくとも1つのステートメントを取得し、前記少なくとも1つのステートメントのタイプを決定し、前記第1のステートメントを第1のタイプのステートメントとしてと決定すると、前記第1のタイプのステートメントに対応する実行プランを生成し、前記第1のステートメントを第2のタイプのステートメントとして決定すると、前記第2のタイプのステートメントを前記OLAPサーバー802に送信するように構成される。前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントである。
【0089】
前記OLAPサーバー802は、前記OLTPサーバーによって送信された第2のタイプのステートメントを受信し、前記第2のタイプのステートメントに対応する初期実行プランを生成し、前記第2のタイプのステートメントに対応する初期実行プランを前記OLTPサーバー801に送信するように構成される。
【0090】
前記OLTPサーバー801はさらに、前記OLAPサーバー802によって送信された第2のタイプのステートメントに対応する初期実行プランを受信し、前記第2のタイプのステートメントに対応する初期実行プランに従がって、第2のタイプのステートメントに対応する実行プランを生成し、前記第1のタイプのステートメントに対応する実行プランおよび前記第2のタイプのステートメントに対応する実行プランに従がって、前記第1のトランザクションを処理する。
【0091】
図8に示されるトランザクション処理のシステムでは、OLTPサーバー801は、図7に示される第1のタイプのノード701であり得、OLAPサーバー802は、図7に示す第2のタイプのノード702であり得ることに留意されたい。
【0092】
図7に示されるシステムアーキテクチャに基づいて、図9は、本発明の実施形態によって提供される別のトランザクション処理の方法に対応するフロー概略図を例示的に示し、OLTPノードは、図8に示されるOLTPサーバー801であり得る。OLAPノードは、図8に示されるOLAPサーバー802であってもよい。この方法は、具体的には、以下のステップを含む。
【0093】
ステップ901:OLAPノードは、第1のノードによって送信された第1のトランザクションのステートメントを受信する。
ステップ902:OLAPノードは、前記ステートメントに対応する初期実行プランを生成する。
ステップ903:OLAPノードは、前記ステートメントに対応する初期実行プランをOLTPノードに送信する。
ステップ904:OLTPノードは、OLAPノードによって送信された第1のトランザクションのステートメントに対応する初期実行プランを受信する。
ステップ905:OLTPノードは、前記ステートメントに対応する初期実行プランに従がって、前記ステートメントに対応するストレージノードを取得し、前記ステートメントに対応する実行プランを生成する。
ステップ906:OLTPノードは、前記ステートメントに対応する実行プランを第1のノードに送信して、前記第1のノードに前記ステートメントに対応する実行プランに従がって前記第1のトランザクションを処理させるようにする。
【0094】
ステップ901から906に記載されたコンテンツでは、第1のノードは、OLTPサーバーに直接配備されてもよいことに留意されたい。このようにして、トランザクション処理のシステムの複雑さを軽減することができる。
【0095】
具体的に、ステップ902およびステップ903では、ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる。たとえば、表1に示すステートメント3を例にとると、ステートメント3はselect s.name, s.gpa, t.name // from teacher_list as t // student_list as s //where // s.student_id=’200401361211’ //and // s.teacher_id = t.teacher_idである。ステートメント3によると、OLAPノードは、生徒番号200401361211に対応するデータを検索し、生徒番号200401361211に対応するデータ内の指導教官番号に従って指導教官の名前を検索する必要があることを知っている可能性がある。すなわち、ステートメント3に対応する初期実行プランに含まれる実行内容は、生徒番号200401361211に対応する指導教官番号を検索し、取得した指導教官番号に基づいて指導教官名を検索することである。
【0096】
さらに、ステップ905において、ステートメントに対応する実行プランは、ステートメントに対応する実行内容およびストレージノードを含む。上記の内容を例にとると、ステートメント3に対応する初期実行プランとストレージルールによれば、OLTPノードは、生徒番号200401361211に対応するデータがストレージノードaに格納され、生徒番号200401361211に対応する指導教官のデータがストレージノードbに格納され、OLTPノードはステートメント3に対応する実行プランを生成できる。つまり、ステートメント3に対応する実行プランに含まれる実行内容は生徒番号200401361211に対応する指導教官番号を検索し、取得した指導教官番号に従って指導教官の名前を検索することである。ステートメント3に対応する実行プランに含まれるストレージノードは、ストレージノードaとストレージノードbである。
【0097】
したがって、上記のステップ901〜906で説明されたコンテンツでは、OLAPノードは、分散型データベースのストレージルールを考慮する必要がない(すなわち、各データリストに対応するストレージノードを考慮する必要がない)。各データリストの内部的な論理関係のみを考慮する必要がある。一方、OLTPノードは、分散型データベースのストレージルールを各データリストの内部論理関係と統合する必要がある。このような方法は、OLAPノードの構造を単純化し、トランザクション処理のシステムの複雑さを軽減し、トランザクション処理のシステムの実施コストを削減できる。
【0098】
他の可能な実施形態では、図7に示されるシステム構造が、一例において、第2のタイプのノードAおよび第2のタイプのノードBなどの複数の第2のタイプのノードを有する場合、第2のタイプのノードAと第2のタイプのノードBは、それぞれ受信されたステートメントに従って、ステートメントに対応する初期実行プランをそれぞれ生成できる。その後、第2タイプノードAと第2タイプノードBは、ステートメントに対応する初期実行プランを第1のタイプのノードに送信することができる。別の例では、第2のタイプのノードAは、受信されたステートメントに従ってステートメントに対応する初期実行プランAを生成でき、次に、第2のタイプのノードAは、ステートメントに対応する初期実行プランAを第2のタイプのノードBに送信する。第2のタイプのノードBは、ステートメントに対応する初期実行プランAに従ってステートメントに対応する初期実行プランBを生成し、ステートメントに対応する初期実行プランBを第1のタイプのノードに送信する。類推して、図7に示すシステム構造に第2のタイプのノードがさらにある(つまり、第2のタイプのノードの数が2より大きい)場合、上記の方法も使用できる。ここでは繰り返さない。
【0099】
第1のノードの構造概略図である図5にも示されるステップ906において、第1のノードは、依然として複数のスケジューラを含み得る。第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信された後、第1のノードは第1のトランザクションを開始し、対応するスケジューラーを第1のトランザクションに割り当て、次に第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、第1のトランザクションに対応するスケジューラーを通じて第1のトランザクションを処理する。
【0100】
同じ発明思想に基づいて、図10は、本発明の実施形態によって提供されるOLAPサーバーの構造概略図を例示的に示す。図10に示すように、OLAPサーバー1000は、受信ユニット1001、処理ユニット1002、および送信ユニット1003を含む。ここで:
前記受信ユニット1001は、第1のノードによって送信された第1のトランザクションのステートメントを受信するように構成される。
【0101】
前記処理ユニット1002は、前記ステートメントに対応する初期実行プランを生成するように構成される。
【0102】
前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる。
【0103】
前記送信ユニット1003は、前記ステートメントに対応する初期実行プランをOLTPノードに送信し、前記OLTPノードに前記ステートメントの初期実行プランに従って前記ステートメントに対応する実行プランを生成させるようにする。
【0104】
同じ発明思想に基づいて、図11は、本発明の実施形態によって提供されるOLTPサーバーの構造概略図を例示的に示す。図11に示すように、OLTPサーバー1100は、受信ユニット1101、処理ユニット1102、および送信ユニット1103を含む。ここで:
前記受信ユニット1101は、OLAPノードによって送信された第1のトランザクションのステートメントの初期実行プランを受信するように構成され、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる。
【0105】
前記処理ユニット1102は、前記ステートメントに対応する初期実行プランに従って前記ステートメントに対応するストレージノードを取得し、前記対応する実行プランを生成するように構成され、前記ステートメントに対応する実行プランに前記ステートメントに対応する実行内容およびストレージノードが含まれる。
【0106】
前記送信ユニット1103は、前記ステートメントに対応する実行プランを第1のノードに送信し、前記第1のノードに前記ステートメントに対応する実行プランに従がって前記第1のトランザクションを処理させるようにする。
【0107】
本発明の実施形態によって提供されるサーバーは、
ソフトウェアプログラムを格納するように構成されたメモリと、
前記メモリ内のソフトウェアプログラムを読み取り、上記のトランザクション処理の方法を実行するように構成されたプロセッサとを備える。
【0108】
本発明の実施形態は、1つまたは複数のプロセッサによって読み取られて、実行されるときに上記のトランザクション処理の方法を実施するソフトウェアプログラムを格納するコンピュータ記憶媒体を提供する。
【0109】
本発明の実施形態では、第1のトランザクションに対応する少なくとも1つのステートメントを取得した後、第1のノードは、前記各ステートメントを分類し、前記各ステートメントが属するタイプに従ってそれぞれ少なくとも1つの第2のノードに少なくとも1つの前記ステートメントを送信することができる。その結果、少なくとも1つの第2のノードは、受信されたステートメントに従って前記ステートメントに対応する実行プランを生成する。第1のノードは、少なくとも1つの前記第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する受信された実行プランに従って前記第1のトランザクションを処理する。このように、当該トランザクション処理のシステムには少なくとも1つの第2のノードがあるため、第1のノードは、第1のトランザクションに対応する少なくとも1つのステートメントを取得した後、少なくとも1つのステートメントを分類してから少なくとも1つの第2のノードに送信することができる。ステートメントを分類および処理するこの方法は、ステートメントシステムの設計の複雑さを軽減できる。さらに、従来技術でトランザクション処理にサーバーを1つだけ使用するモードと比較して、本発明の実施形態は、複数のタイプのステートメントを同時に処理でき、システムの処理パフォーマンスを効果的に改善し、システムの運用負担を軽減する。次にシステムの全体的な並列処理を増やす。さらに、少なくとも1つの第2のノードは、ステートメントに対応する実行プランを第1のノードに送信するだけでよく、第1のノードは最初のトランザクションに含まれる少なくとも1つのステートメントに対して統合処理を実行することにより、トランザクション性が確保できる。
【0110】
同じ概念に基づいて、本発明は、トランザクション管理および実行のためのサーバー側で上記の方法フローを実行するために使用することができる電子デバイスを提供する。図12は本発明によって提供される電子デバイスの構造概略図である。当該電子デバイスは、プロセッサ1201、メモリ1202、送受信機1203およびバスインターフェース1204を含む。ここで、プロセッサ1201、メモリ1202、送受信機1203およびバスインターフェース1204は、バス1205を介して互いに接続されている。
【0111】
メモリ1202は、プログラムを格納するために使用される。具体的には、プログラムは、コンピュータ動作命令を含むプログラムコードを含み得る。メモリ1202は、揮発性メモリ(volatile memory)、例えば、ランダムアクセスメモリ(random−access memory,RAM)を含み得る。メモリはまた、例えば、フラッシュメモリ(flash memory)、ハードディスクドライブ(hard disk drive,HDD)またはソリッドステートドライブ(solid−state drive,SSD)などの不揮発性メモリを含み得る。また、メモリ1202は、上記のタイプのメモリの組み合わせを含むこともできる。
【0112】
メモリ1202は、実行可能モジュールまたはデータ構造、またはそれらのサブセット、またはそれらの拡張セットの要素を格納する。
【0113】
操作命令には、各種操作を実現するための各種操作命令が含まれる。
【0114】
オペレーションシステムには、さまざまな基本サービスを実施し、ハードウェアベースのタスクを処理するためのさまざまなシステムプログラムが含まれている。
【0115】
バス1205は、周辺機器相互接続(peripheral component interconnect,PCI)バスまたは拡張産業標準アーキテクチャ(extended industry standard architecture,EISA)バスなどとすることができる。バスは、アドレスバス、データバス、コントロールバスなどに分割できる。表現を簡単にするために、バスは図12では1本の太い線のみで表されていますが、1本のバスまたは1種類のバスのみを表しているわけではない。
【0116】
バスインターフェース1204は、有線通信インターフェース、無線バスインターフェース、またはそれらの組み合わせであってもよく、有線バスインターフェースは、例えば、イーサネットインターフェースであってもよい。イーサネットインターフェースは、光学インターフェース、電気インターフェース、またはそれらの組み合わせであってもよい。無線バスインターフェースは、WLANインターフェースであり得る。
【0117】
プロセッサ1201は、中央処理装置(central processing unit,CPU)、ネットワークプロセッサ(network processor,NP)、またはCPUとNPの組み合わせであり得る。ハードウェアチップの場合もある。上記のハードウェアチップは、特定用途向け集積回路(application−specific integrated circuit,ASIC)、プログラマブルロジックデバイス(programmable logic device,PLD)、またはそれらの組み合わせであり得る。上記のPLDは、複合プログラマブルロジックデバイス(complex programmable logic device,CPLD)、フィールドプログラマブルゲートアレイ(field−programmable gate array,FPGA)、ジェネリックアレイロジック(generic array logic,GAL)、またはそれらの任意の組み合わせであり得る。
【0118】
前記プロセッサ1201は、前記メモリ1202内のプログラムを読み取って次の操作を実行するように構成され、第1のトランザクションに対応する少なくとも1つのステートメントを取得し、第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを少なくとも1つの第2のノード中の前記第1のステートメントのタイプに対応する第2のノードに送信して、前記第1のステートメントのタイプに対応する第2のノードに、ステートメントに従がって前記ステートメントに対応する実行プランを生成させるようにし、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントである。
【0119】
前記メモリ1202は、1つまたは複数の実行可能プログラムを格納するように構成され、動作を実行するときにプロセッサ1201によって使用されるデータを格納することができる。
【0120】
前記送受信機1203は、前記プロセッサ1201の制御下で、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記処理ユニットはさらに、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを処理する。
【0121】
任意選択で、前記プロセッサ1201は具体的に、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを開始し、前記第1のトランザクションに対応するスケジューラを割り当て、および前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションに対応するスケジューラを介して前記第1のトランザクションを処理する。
【0122】
任意選択で、前記少なくとも1つの第2のノードは、オンライントランザクション処理(OLTP)ノードおよびオンライン分析処理(OLAP)ノードを含み、前記プロセッサ1201は具体的に、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容が含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のトランザクションを処理し、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容およびストレージノードが含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のタイプのステートメントに対応するストレージノードにアクセスし、および前記第2のタイプのステートメントに対応する実行内容に従って前記第2のタイプのステートメントに対応するストレージノードにタアクセスし、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
【0123】
任意選択で、前記少なくとも1つの第2のノードは、OLTPノードを含み、前記送受信機1203は具体的に、OLTPノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランおよび前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランが含まれ、ここで、前記第1のタイプのステートメントに対応する実行プランは、前記第1のタイプのステートメントに従って前記OLTPノードによって生成され、前記第2のタイプのステートメントに対応する実行プランは、前記OLAPノードによって送信された第2のタイプのステートメントの初期実行プランに従って、前記OLTPノードによって生成され、前記第2のタイプのステートメントの初期実行プランは前記第2のタイプのステートメントに対応する実行内容を含み、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
【0124】
上記のユニットの分割は、論理機能の分割のみであり、これらのユニットは、物理的エンティティに完全にまたは部分的に統合され得るか、または実際の実施において物理的に分離され得る。本願の実施形態では、受信ユニット603は送受信機1203によって実施され得、取得ユニット601および処理ユニット602はプロセッサ1201によって実施され得る。図12に示されるように、電子デバイス1200は、プロセッサ1201、送受信機1203およびメモリ1202を含み、メモリ1202は、電子デバイス1200が工場を出るときにプレインストールされたプログラム/コードを格納するように構成され得、また、プロセッサ1201によって実行されるために使用されるコードなどを格納し得る。
【0125】
上記から分かるように、本発明の実施形態では、このように、当該トランザクション処理のシステムには少なくとも1つの第2のノードがあるため、第1のノードは、第1のトランザクションに対応する少なくとも1つのステートメントを取得した後、少なくとも1つのステートメントのタイプを決定し、対応する第2のノードに送信することができる。従来技術でトランザクション処理にサーバーを1つだけ使用するモードと比較して、本発明の実施形態は、複数のタイプのステートメントを同時に処理でき、システムの処理効率を効果的に改善し、システムの運用負担を軽減する。さらに、少なくとも1つの第2のノードは、ステートメントに対応する実行プランを第1のノードに送信するだけでよく、第1のノードは最初のトランザクションに含まれる少なくとも1つのステートメントに対して統合処理を実行することにより、トランザクション性が確保できる。
【0126】
同じ概念に基づいて、本発明は、OLAPサーバー側で上記の方法フローを実行するために使用できる電子デバイスを提供する。図13は本発明によって提供される電子デバイスの構造概略図である。号外電子デバイスは、プロセッサ1301、メモリ1302、送受信機1303およびバスインターフェース1304を含む。ここで、プロセッサ1301、メモリ1302、送受信機1303、およびバスインターフェース1304は、バス1305を介して互いに接続されている。
【0127】
メモリ1302は、実行可能モジュールまたはデータ構造、またはそれらのサブセット、またはそれらの拡張セットの要素を格納する。
【0128】
操作命令には、各種操作を実現するための各種操作命令が含まれる。
【0129】
オペレーションシステムには、さまざまな基本サービスを実施し、ハードウェアベースのタスクを処理するためのさまざまなシステムプログラムが含まれている。
【0130】
バス1305は、周辺機器相互接続(peripheral component interconnect,PCI)バスまたは拡張産業標準アーキテクチャ(extended industry standard architecture,EISA)バスなどとすることができる。バスは、アドレスバス、データバス、コントロールバスなどに分割できる。表現を簡単にするために、バスは図13では1本の太い線のみで表されていますが、1本のバスまたは1種類のバスのみを表しているわけではない。
【0131】
バスインターフェース1304は、有線通信インターフェース、無線バスインターフェース、またはそれらの組み合わせであってもよく、有線バスインターフェースは、例えば、イーサネットインターフェースであってもよい。イーサネットインターフェースは、光学インターフェース、電気インターフェース、またはそれらの組み合わせであってもよい。無線バスインターフェースは、WLANインターフェースであり得る。
【0132】
プロセッサ1301は、中央処理装置(central processing unit,CPU)、ネットワークプロセッサ(network processor,NP)、またはCPUとNPの組み合わせであり得る。ハードウェアチップの場合もある。上記のハードウェアチップは、特定用途向け集積回路(application−specific integrated circuit,ASIC)、プログラマブルロジックデバイス(programmable logic device,PLD)、またはそれらの組み合わせであり得る。上記のPLDは、複合プログラマブルロジックデバイス(complex programmable logic device,CPLD)、フィールドプログラマブルゲートアレイ(field−programmable gate array,FPGA)、ジェネリックアレイロジック(generic array logic,GAL)、またはそれらの任意の組み合わせであり得る。
【0133】
前記プロセッサ1301は、前記メモリ1302内のプログラムを読み取って次の操作を実行するように構成され、前記ステートメントに対応する初期実行プランを生成し、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる。
【0134】
送受信機1303は、第1のノードによって送信された第1のトランザクションのステートメントを受信し、前記ステートメントに対応する初期実行プランをOLTPノードに送信し、前記OLTPノードに前記ステートメントの初期実行プランに従って前記ステートメントに対応する実行プランを生成させるようにする。
【0135】
上記のユニットの分割は、論理機能の分割のみであり、これらのユニットは、物理的エンティティに完全にまたは部分的に統合され得るか、または実際の実施において物理的に分離され得る。本願の実施形態では、受信ユニット1001および送信ユニット1003は、送受信機1303によって実施され得、処理ユニット1002は、プロセッサ1301によって実施され得る。図13に示されるように、電子デバイス1300は、プロセッサ1301、送受信機1303、およびメモリ1302を含み、メモリ1302は、電子デバイス1300が工場を出るときにプレインストールされたプログラム/コードを格納するように構成され得、また、プロセッサ1301によって実行されるために使用されるコードなどを格納し得る。
【0136】
同じ思想に基づいて、本発明は、OLTPサーバー側で上記の方法フローを実行するために使用することができる電子デバイスを提供する。図14は本発明によって提供される電子デバイスの構造概略図である。当該電子デバイスは、プロセッサ1401、メモリ1402、送受信機1403、およびバスインターフェース1404を含む。ここで、プロセッサ1401、メモリ1402、送受信機1403、およびバスインターフェース1404は、バス1405を介して互いに接続される。
【0137】
メモリ1402は、プログラムを格納するために使用される。具体的には、プログラムは、コンピュータ動作命令を含むプログラムコードを含み得る。メモリ1202は、揮発性メモリ(volatile memory)、例えば、ランダムアクセスメモリ(random−access memory,RAM)を含み得る。メモリはまた、例えば、フラッシュメモリ(flash memory)、ハードディスクドライブ(hard disk drive,HDD)またはソリッドステートドライブ(solid−state drive,SSD)などの不揮発性メモリを含み得る。また、メモリ1402は、上記のタイプのメモリの組み合わせを含むこともできる。
【0138】
メモリ1402は、実行可能モジュールまたはデータ構造、またはそれらのサブセット、またはそれらの拡張セットの要素を格納する。
【0139】
操作命令には、各種操作を実現するための各種操作命令が含まれる。
【0140】
オペレーションシステムには、さまざまな基本サービスを実施し、ハードウェアベースのタスクを処理するためのさまざまなシステムプログラムが含まれている。
【0141】
バス1405は、周辺機器相互接続(peripheral component interconnect,PCI)バスまたは拡張産業標準アーキテクチャ(extended industry standard architecture,EISA)バスなどとすることができる。バスは、アドレスバス、データバス、コントロールバスなどに分割できる。表現を簡単にするために、バスは図14では1本の太い線のみで表されていますが、1本のバスまたは1種類のバスのみを表しているわけではない。
【0142】
バスインターフェース1404は、有線通信インターフェース、無線バスインターフェース、またはそれらの組み合わせであってもよく、有線バスインターフェースは、例えば、イーサネットインターフェースであってもよい。イーサネットインターフェースは、光学インターフェース、電気インターフェース、またはそれらの組み合わせであってもよい。無線バスインターフェースは、WLANインターフェースであり得る。
【0143】
プロセッサ1401は、中央処理装置(central processing unit,CPU)、ネットワークプロセッサ(network processor,NP)、またはCPUとNPの組み合わせであり得る。ハードウェアチップの場合もある。上記のハードウェアチップは、特定用途向け集積回路(application−specific integrated circuit,ASIC)、プログラマブルロジックデバイス(programmable logic device,PLD)、またはそれらの組み合わせであり得る。上記のPLDは、複合プログラマブルロジックデバイス(complex programmable logic device,CPLD)、フィールドプログラマブルゲートアレイ(field−programmable gate array,FPGA)、ジェネリックアレイロジック(generic array logic,GAL)、またはそれらの任意の組み合わせであり得る。
【0144】
前記プロセッサ1401は、前記メモリ1402内のプログラムを読み取って次の操作を実行するように構成され、前記ステートメントに対応する初期実行プランに従って前記ステートメントに対応するストレージノードを取得し、前記対応する実行プランを生成し、前記ステートメントに対応する実行プランに前記ステートメントに対応する実行内容およびストレージノードが含まれる。
【0145】
前記送受信機1403は、OLAPノードによって送信された第1のトランザクションのステートメントの初期実行プランを受信し、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれ、前記ステートメントに対応する実行プランを第1のノードに送信し、前記第1のノードに前記ステートメントに対応する実行プランに従がって前記第1のトランザクションを処理させるようにする。
【0146】
上記のユニットの分割は、論理機能の分割のみであり、これらのユニットは、物理的エンティティに完全にまたは部分的に統合され得るか、または実際の実施において物理的に分離され得る。本願の実施形態では、受信ユニット1101および送信ユニット1103は、送受信機1403によって実施され得、処理ユニット1102は、プロセッサ1401によって実施され得る。図14に示されるように、電子デバイス1400は、プロセッサ1401、送受信機1403、およびメモリ1402を含み、メモリ1402は、電子デバイス1400が工場を出るときにプレインストールされたプログラム/コードを格納するように構成され得、また、プロセッサ1401によって実行されるために使用されるコードなどを格納し得る。
【0147】
本分野の技術者として、本発明の実施形態が、方法、システムまたはいはコンピュータプログラム製品を提供できるため、本発明は完全なハードウェア実施形態、完全なソフトウェア実施形態、またはソフトウェアとハードウェアの両方を結合した実施形態を採用できることがわかるはずである。さらに、本発明は、一つまたはいは複数のコンピュータプログラム製品の形式を採用できる。当該製品はコンピュータ使用可能なプログラムコードを含むコンピュータ使用可能な記憶媒体(ディスク記憶装置、CD−ROM、光学記憶装置等を含むがそれとは限らない)において実施する。
【0148】
以上は本発明の実施形態の方法、装置(システム)、およびコンピュータプログラム製品のフロー図および/またはブロック図によって、本発明を記述した。理解すべきことは、コンピュータプログラム命令によって、フロー図および/またはブロック図における各フローおよび/またはブロックと、フロー図および/またはブロック図におけるフローおよび/またはブロックの結合を実現できる。プロセッサはこれらのコンピュータプログラム命令を、汎用コンピュータ、専用コンピュータ、組込み式処理装置、またはいは他のプログラム可能なデータ処理装置設備の処理装置器に提供でき、コンピュータまたはいは他のプログラム可能なデータ処理装置のプロセッサは、これらのコンピュータプログラム命令を実行し、フロー図における一つまたはいは複数のフローおよび/またはブロック図における一つまたはいは複数のブロックに指定する機能を実現する。
【0149】
これらのコンピュータプログラム命令は又、また、コンピュータまたはいは他のプログラム可能なデータ処理装置を特定方式で動作させるコンピュータ読取記憶装置に記憶できる。これによって、命令を含む装置は当該コンピュータ読取記憶装置内の命令を実行でき、フロー図における一つまたはいは複数のフローおよび/またはブロック図における一つまたはいは複数のブロックに指定する機能を実現する。
【0150】
これらコンピュータプログラム命令はさらに、コンピュータまたはいは他のプログラム可能なデータ処理装置設備に実装もできる。コンピュータプログラム命令が実装されたコンピュータまたはいは他のプログラム可能設備は、一連の操作ステップを実行することによって、関連の処理を実現し、コンピュータまたはいは他のプログラム可能な設備において実行される命令によって、フロー図における一つまたはいは複数のフローおよび/またはブロック図における一つまたはいは複数のブロックに指定する機能を実現する。
【0151】
無論、当業者によって、上述した実施形態に記述された技術的な解決手段を改造し、またはいはその中の一部の技術要素を置換することもできる。そのような、改造と置換は本発明の各実施形態の技術の範囲から逸脱するとは見なされない。そのような改造と置換は、すべて本発明の請求の範囲に属する。
【符号の説明】
【0152】
200 トランザクション処理のシステム
201 トランザクション管理および実行のためのサーバー
202 OLTPサーバー
203 OLAPサーバー
600 トランザクション管理および実行のためのサーバー
601 取得ユニット
602 処理ユニット
603 受信ユニット
700 システムアーキテクチャ
701 第1のタイプのノード
702 第2のタイプのノード
800 トランザクション処理のシステム
801 OLTPサーバー
802 OLAPサーバー
1000 OLAPサーバー
1001 受信ユニット
1002 処理ユニット
1003 送信ユニット
1011 第1のタイプのノード
1012 第1のタイプのノード
1021 第2のタイプのノード
1022 第2のタイプのノード
1031 第3タイプのノード
1032 第3タイプのノード
1033 第3タイプのノード
1100 サーバー
1101 受信ユニット
1102 処理ユニット
1103 送信ユニット
1201 プロセッサ
1202 メモリ
1203 送受信機
1204 バスインターフェース
1205 バス
1301 プロセッサ
1302 メモリ
1303 送受信機
1304 バスインターフェース
1305 バス
1401 プロセッサ
1402 メモリ
1403 送受信機
1404 バスインターフェース
1405 バス
7031 第3のタイプのノード
7032 第3のタイプのノード
7033 第3のタイプのノード
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【国際調査報告】