JP7109572B2 - トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム - Google Patents

トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム Download PDF

Info

Publication number
JP7109572B2
JP7109572B2 JP2020552790A JP2020552790A JP7109572B2 JP 7109572 B2 JP7109572 B2 JP 7109572B2 JP 2020552790 A JP2020552790 A JP 2020552790A JP 2020552790 A JP2020552790 A JP 2020552790A JP 7109572 B2 JP7109572 B2 JP 7109572B2
Authority
JP
Japan
Prior art keywords
statement
node
type
transaction
execution plan
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020552790A
Other languages
English (en)
Other versions
JP2021517322A (ja
Inventor
家晶 周
浩 苗
▲継▼恩 周
Original Assignee
中国▲銀▼▲聯▼股▲ふん▼有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中国▲銀▼▲聯▼股▲ふん▼有限公司 filed Critical 中国▲銀▼▲聯▼股▲ふん▼有限公司
Publication of JP2021517322A publication Critical patent/JP2021517322A/ja
Application granted granted Critical
Publication of JP7109572B2 publication Critical patent/JP7109572B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Operations Research (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Description

[関連出願の相互参照]
本出願は、2018年03月29日に中国特許局に提出し、出願番号が201810273942.5であり、発明名称が「トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム」との中国特許出願を基礎とする優先権を主張し、その開示の総てをここに取り込む。
本発明は、通信技術分野に関し、特にトランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステムに関する。
インターネットの急速な発展に伴い、単一のデータベースのデータおよびタアクセスの量は急速に増大している。分散型データベースは、大量のデータストレージと同時データアクセスの問題を効果的に解決できる。従来技術の分散型データベースシステムは少なくとも1つのデータベースを含み、各データベースは少なくとも1つのデータテーブルを含む。このようにして、元の集中型データベースのデータを分散し、ネットワークを介して接続された複数のデータストレージノードに保存して、より大きなストレージ容量とより多くの同時アクセスを取得できる。
現在、従来技術の分散型データベースは、同じサーバーを使用して異なるタイプのデータアクセス要件を処理し、異なるタイプのデータアクセス要件は、単一のデータベースのアクセス要件、すなわち、このデータアクセス要件では、サーバーが1つのデータベースに検索を実行して結果を取得する必要がある。複数のデータベースのアクセス要件がある場合もある。つまり、このデータアクセス要件では、サーバーが複数のデータベースを検索して結果を取得する必要がある。これら2つのタイプのデータアクセス要件で必要な処理時間は異なるため、データアクセス要件の処理におけるサーバーの効率が低下し、サーバーの運用負荷が増大する。
これに基づいて、分散型データベースは同じサーバーを使用して異なるタイプのトランザクションアクセス要件を処理するため、サーバーの処理効率が低いという従来技術の問題を解決するトランザクション処理の方法が必要である。
本発明の実施形態は、分散型データベースが同じサーバを使用するためにサーバの処理効率が低いという従来の技術的問題を解決するために、トランザクション処理方法およびサーバー、ならびにトランザクション処理のシステムを提供する。
第1の態様では、本発明の実施形態によって提供されるトランザクション処理の方法は、第1のノードは、第1のトランザクションに対応する少なくとも1つのステートメントを取得するステップと、前記第1のノードは、前記第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを少なくとも1つの第2のノード中の前記第1のステートメントのタイプに対応する第2のノードに送信して、前記第1のステートメントのタイプに対応する第2のノードに、ステートメントに従がって前記ステートメントに対応する実行プランを生成させるようにするステップと、前記第1のノードは、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、前記第1のトランザクションを処理するステップとを備え、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントである。
このように、当該トランザクション処理のシステムには少なくとも1つの第2のノードがあるため、第1のノードは、第1のトランザクションに対応する少なくとも1つのステートメントを取得した後、少なくとも1つのステートメントのタイプを決定し、対応する第2のノードに送信することができる。従来技術でトランザクション処理にサーバーを1つだけ使用するモードと比較して、本発明の実施形態は、複数のタイプのステートメントを同時に処理でき、システムの処理効率を効果的に改善し、システムの運用負担を軽減する。さらに、少なくとも1つの第2のノードは、ステートメントに対応する実行プランを第1のノードに送信するだけでよく、第1のノードは最初のトランザクションに含まれる少なくとも1つのステートメントに対して統合処理を実行することにより、トランザクション性が確保できる。
任意選択で、前記第1のノードが、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従がって、前記第1のトランザクションを処理することは、前記第1のノードは、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従がって、前記第1のトランザクションを開始し、前記第1のトランザクションに対応するスケジューラを割り当てることを含み、前記第1のノードは、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従がって、前記第1のトランザクションに対応するスケジューラを介して前記第1のトランザクションを処理する。
このように、複数のトランザクションを同時に処理することができ、トランザクション処理のシステムの処理効率を改善し、トランザクション性を保証する。
任意選択で、前記少なくとも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のタイプのステートメントに対応するストレージノードにタアクセスする。
このように、OLTPノードは第1タイプのステートメントの処理を担当し、OLAPノードは第2タイプのステートメントの処理を担当するので、本発明の実施形態は、複数のタイプのステートメントを同時に処理でき、システムの処理効率を効果的に改善し、システムの運用負担を軽減する。
任意選択で、前記少なくとも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のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
このように、OLAPノードは、分散型データベースのストレージルールを考慮する必要がなく(すなわち、各データリストに対応するストレージノードを考慮する必要がない)、各データリスト内部の論理関係のみを考慮する必要がある。OLTPノードは、分散型データベースのストレージルールを各データリストの内部論理関係と統合する必要があるため、OLAPノードの構造を簡素化し、トランザクション処理のシステムの複雑さを軽減し、トランザクション処理のシステムを実現するためのコストを減縮できる。
任意選択で、前記第1のノードおよび前記OLTPノードは、同じデバイス内に配置される。
このように、1つのノードにおける各デバイスのそれぞれの配置によって容易に引き起こされる運用コストの増加の問題を回避することができ、システムの複雑さを低減することができる。
第2の態様では、本発明の実施形態によって提供されるトランザクション処理の方法は、OLAPノードは、第1のノードによって送信された第1のトランザクションのステートメントを受信するステップと、前記OLAPノードは、前記ステートメントに対応する初期実行プランを生成するステップであって、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる前記生成するステップと、前記OLAPノードは、前記ステートメントに対応する初期実行プランをOLTPノードに送信して、前記OLTPノードに前記ステートメントの初期実行プランに従って前記ステートメントに対応する実行プランを生成させるようにするステップとを備える。
このように、OLAPノードは、分散型データベースのストレージルールを考慮する必要がなく(すなわち、各データリストに対応するストレージノードを考慮する必要がない)、各データリスト内部の論理関係のみを考慮する必要がある。OLAPノードの構造を簡素化し、トランザクション処理のシステムの複雑さを軽減し、トランザクション処理のシステムを実現するためのコストを減縮できる。
第3の態様では、本発明の実施形態によって提供されるトランザクション処理の方法は、OLTPノードは、OLAPノードによって送信された第1のトランザクションのステートメントの初期実行プランを受信するステップであって、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる前記受信するステップと、前記OLTPノードは、前記ステートメントに対応する初期実行プランに従がって、前記ステートメントに対応するストレージノードを取得し、前記対応する実行プランを生成するステップであって、前記ステートメントに対応する実行プランに前記ステートメントに対応する実行内容およびストレージノードが含まれる前記生成するステップと、前記OLTPノードは、前記ステートメントに対応する実行プランを第1のノードに送信して、前記第1のノードに前記ステートメントに対応する実行プランに従がって前記第1のトランザクションを処理させるようにするステップとを備える。
このように、OLTPノードは、分散型データベースのストレージルールを各データリストの内部論理関係と統合するだけでよく、トランザクション処理のシステムの複雑さを軽減し、トランザクション処理のシステムを実現するためのコストを減縮できる。
第4の態様では、本発明の実施形態によって提供されるトランザクション管理および実行のためのサーバーは、取得ユニットと、処理ユニットと、受信ユニットとを備え、前記取得ユニットは、第1のトランザクションに対応する少なくとも1つのステートメントを取得するように構成され、前記処理ユニットは、第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを少なくとも1つの第2のノード中の前記第1のステートメントのタイプに対応する第2のノードに送信して、前記第1のステートメントのタイプに対応する第2のノードに、ステートメントに従がって前記ステートメントに対応する実行プランを生成させるようにし、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントであり、前記受信ユニットは、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信するように構成され、前記処理ユニットはさらに、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを処理する。
任意選択で、前記処理ユニットは具体的に、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを開始し、前記第1のトランザクションに対応するスケジューラを割り当て、および前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションに対応するスケジューラを介して前記第1のトランザクションを処理する。
任意選択で、前記少なくとも1つの第2のノードは、オンライントランザクション処理(OLTP)ノードおよびオンライン分析処理(OLAP)ノードを含み、前記処理ユニットは具体的に、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容が含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のトランザクションを処理し、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容およびストレージノードが含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のタイプのステートメントに対応するストレージノードにアクセスし、および前記第2のタイプのステートメントに対応する実行内容に従って前記第2のタイプのステートメントに対応するストレージノードにタアクセスし、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
任意選択で、前記少なくとも1つの第2のノードは、OLTPノードを含み、前記受信ユニットは具体的に、OLTPノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランおよび前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランが含まれ、ここで、前記第1のタイプのステートメントに対応する実行プランは、前記第1のタイプのステートメントに従って前記OLTPノードによって生成され、前記第2のタイプのステートメントに対応する実行プランは、前記OLAPノードによって送信された第2のタイプのステートメントの初期実行プランに従って、前記OLTPノードによって生成され、前記第2のタイプのステートメントの初期実行プランは前記第2のタイプのステートメントに対応する実行内容を含み、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
第5の態様では、本発明の実施形態によって提供されるOLAPサーバーは、受信ユニットと、処理ユニットと、送信ユニットとを備え、
前記受信ユニットは、第1のノードによって送信された第1のトランザクションのステートメントを受信するように構成され、前記処理ユニットは、前記ステートメントに対応する初期実行プランを生成し、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれ、前記送信ユニットは、前記ステートメントに対応する初期実行プランをOLTPノードに送信し、前記OLTPノードに前記ステートメントの初期実行プランに従って前記ステートメントに対応する実行プランを生成させるようにする。
第6の態様では、本発明の実施形態によって提供されるOLTPサーバーは、受信ユニットと、処理ユニットと、送信ユニットとを備え、
前記受信ユニットは、OLAPノードによって送信された第1のトランザクションのステートメントの初期実行プランを受信し、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれ、前記処理ユニットは、前記ステートメントに対応する初期実行プランに従って前記ステートメントに対応するストレージノードを取得し、前記対応する実行プランを生成し、前記ステートメントに対応する実行プランに前記ステートメントに対応する実行内容およびストレージノードが含まれ、前記送信ユニットは、前記ステートメントに対応する実行プランを第1のノードに送信し、前記第1のノードに前記ステートメントに対応する実行プランに従がって前記第1のトランザクションを処理させるようにする。
第7の態様では、本発明の実施形態によって提供されるサーバーは、ソフトウェアプログラムを格納するように構成されたメモリと、前記メモリ内のソフトウェアプログラムを読み取り、上記のトランザクション処理の方法を実行するように構成されたプロセッサとを備える。
第8の態様では、本発明の実施形態によって提供される電子デバイスは、プロセッサ、メモリ、送受信機、およびバスインターフェースを備え、ここで、前記プロセッサ、前記メモリ、前記送受信機および前記バスインターフェースは、バスを介して相互に接続され、
前記プロセッサは、前記メモリ内のプログラムを読み取って前記メモリ内のプログラムを読み取って次の操作を実行するように構成され、第1のトランザクションに対応する少なくとも1つのステートメントを取得し、第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを少なくとも1つの第2のノード中の前記第1のステートメントのタイプに対応する第2のノードに送信して、前記第1のステートメントのタイプに対応する第2のノードに、ステートメントに従がって前記ステートメントに対応する実行プランを生成させるようにし、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントであり、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを処理し、
前記送受信機は、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信する。
任意選択で、前記プロセッサは具体的に、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを開始し、前記第1のトランザクションに対応するスケジューラを割り当て、および前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションに対応するスケジューラを介して前記第1のトランザクションを処理する。
任意選択で、前記少なくとも1つの第2のノードは、オンライントランザクション処理(OLTP)ノードおよびオンライン分析処理(OLAP)ノードを含み、前記プロセッサは具体的に、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容が含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のトランザクションを処理し、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容およびストレージノードが含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のタイプのステートメントに対応するストレージノードにアクセスし、および前記第2のタイプのステートメントに対応する実行内容に従って前記第2のタイプのステートメントに対応するストレージノードにタアクセスし、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
任意選択で、前記少なくとも1つの第2のノードは、OLTPノードを含み、前記送受信機は具体的に、
OLTPノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランおよび前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランが含まれ、ここで、前記第1のタイプのステートメントに対応する実行プランは、前記第1のタイプのステートメントに従って前記OLTPノードによって生成され、前記第2のタイプのステートメントに対応する実行プランは、前記OLAPノードによって送信された第2のタイプのステートメントの初期実行プランに従って、前記OLTPノードによって生成され、前記第2のタイプのステートメントの初期実行プランは前記第2のタイプのステートメントに対応する実行内容を含み、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
第9の態様では、本発明の実施形態によって提供される電子デバイスは、プロセッサ、メモリ、送受信機、およびバスインターフェースを備え、ここで、前記プロセッサ、前記メモリ、前記送受信機および前記バスインターフェースは、バスを介して相互に接続され、
前記送受信機は、第1のノードによって送信された第1のトランザクションのステートメントを受信し、前記ステートメントに対応する初期実行プランをOLTPノードに送信し、前記OLTPノードに前記ステートメントの初期実行プランに従って前記ステートメントに対応する実行プランを生成させるようにし、
プロセッサは、前記ステートメントに対応する初期実行プランを生成し、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる。
第10の態様では、本発明の実施形態によって提供される電子デバイスは、プロセッサ、メモリ、送受信機、およびバスインターフェースを備え、ここで、前記プロセッサ、前記メモリ、前記送受信機および前記バスインターフェースは、バスを介して相互に接続され、
前記送受信機は、OLAPノードによって送信された第1のトランザクションのステートメントの初期実行プランを受信するように構成され、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれ、前記ステートメントに対応する実行プランを第1のノードに送信し、前記第1のノードに、前記ステートメントに対応する実行プランに従って記第1のトランザクションを処理させるようにし、
前記プロセッサは、前記ステートメントに対応する初期実行プランに従って前記ステートメントに対応するストレージノードを取得し、前記対応する実行プランを生成するように構成され、前記ステートメントに対応する実行プランに前記ステートメントに対応する実行内容およびストレージノードが含まれる。
第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のトランザクションを処理する。
第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のトランザクションを処理する。
第13の態様では、本発明の実施形態は、命令を記憶する非一時的なコンピュータ可読記憶媒体を提供し、これにより、コンピュータに、第1の態様または第1の態様に係るいずれかの方法を実行させるか、または、コンピュータに、第2の態様または第2の態様に係るいずれかの方法を実行させるか、またはコンピュータに第3の態様または第3の態様の係るいずれかの方法を実行させるコンピューターで実行させる。
第14の態様では、本発明の実施形態は、コンピュータ上で実行するときにコンピュータに第1の態様または第1の態様の任意の可能な実施で方法を実行させるか、または第2の態様または第2の態様の任意の可能な実施で方法を実行させるか、第3の態様または第3の態様の任意の可能な実施で方法を実行させる、命令を含むコンピュータプログラム製品を提供する。
本発明の実施形態では、第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つのステートメントに対して統合処理を実行することにより、トランザクション性が確保できる。
本発明に係る実施例や従来の技術方案をより明確に説明するために、以下に実施例を説明するために必要な図面をについて簡単に紹介する。無論、以下の説明における図面は本発明に係る実施例の一部であり、当業者は、創造性作業を行わないことを前提として、これらの図面に基づいて他の図面を得ることができる。
本発明の実施形態に適用可能なシステムアーキテクチャの概略図である 本発明の実施形態によって提供されるトランザクション処理のシステムの構造概略図である。 本発明の実施形態によって提供されるトランザクション処理の方法のフロー概略図である。 本発明の実施形態に係るOLTPノードである第2のノードに対応するフロー概略図である。 本発明の実施形態に係る第1のノードの構造概略図である。 本発明の実施形態によって提供されるトランザクション管理および実行のためのサーバーの構造概略図である。 本発明の実施形態に適用可能な別のシステムアーキテクチャの概略図である。 本発明の実施形態によって提供される別のトランザクション処理のシステムの構造概略図である。 本発明の実施形態によって提供される別のトランザクション処理の方法のフロー概略図である。 本発明の実施形態によって提供されるOLAPサーバーの構造概略図である。 本発明の実施形態によって提供されるOLTPサーバーの構造概略図である。 本発明の実施形態によって提供される電子デバイスの構造概略図である。 本発明の実施形態によって提供される電子デバイスの構造概略図である。 本発明の実施形態によって提供される電子デバイスの構造概略図である。
本発明の目的、技術的解決策、および有益な効果をより明確にするために、本発明は、図面および実施形態を参照して、以下に詳細にさらに説明される。本明細書に記載された特定の実施形態は、本発明を説明するためにのみ使用され、本発明を限定するものではないことを理解されたい。
以下に本発明に係る実施形態において図面を結合して本発明の実施形態における技術方案について詳細に、完全に説明するが、次に陳述する実施形態は単に本発明のいくつかの実施形態であり、その全てではない。本分野の一般の技術者にとって、創造性的労働をしなくても、これらの実施形態に基づいてその他の実施形態を容易に獲得することができ、全て本発明の保護範囲に属することは明白である。
本発明の実施形態における方法は、様々なシステムアーキテクチャに適用可能であり得る。本発明の実施形態における方法は、第1および第2の実施形態においてそれぞれ例として与えられたシステムアーキテクチャと組み合わせて、以下で詳細に説明される。
第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タイプのノードは、データを格納するためのデータベースであり得る。
特定の実施プロセスでは、第1のタイプのノード1011は、特定のトランザクションの少なくとも1つのステートメントを取得し、当該トランザクションの各ステートメントを分類し、各ステートメントのタイプに従がって少なくとも1つのステートメントそれぞれを第2のタイプのノード1021および第2のタイプのノード1022に送信する。さらに、第2のタイプのノード1021または第2のタイプのノード1022は、ステートメントを受信した後、受信されたステートメントに従って前記ステートメントに対応する実行プランを生成し、前記ステートメントに対応する実行プランを第1のタイプのノード1012に送信することができる。さらに、第1のタイプのノード1012は、第2のタイプのノード1021および/または第2のタイプのノード1022によって送信されたトランザクションの少なくとも1つのステートメントに対応する受信された実行プランに従ってトランザクションを処理し得る。
本発明の実施形態におけるノードは、物理エンティティノードであってもよく、または仮想ノードであってもよく、これらはここに限定されない。
(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のタイプのノードの数を増減することができる。
図1に示されるシステムアーキテクチャをより明確に説明するために、図1に説明されるシステムアーキテクチャは、図2と組み合わせて以下に例示される。図2に示されるように、それは本発明の実施形態によって提供されるトランザクション処理のシステムの構造概略図である。当該トランザクション処理のシステム200は、トランザクション管理および実行のためのサーバー201、OLTPサーバー202およびOLAPサーバー203を含む。ここで:
トランザクション管理および実行のためのサーバー201は、第1のトランザクションに対応する少なくとも1つのステートメントを取得し、第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを前記OLTPサーバー202または前記OLAPサーバー203に送信する。前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントである。
OLTPサーバー202は、前記トランザクション管理および実行のためのサーバーによって送信された第1のトランザクションの第1のタイプのステートメントを受信し、前記第1のタイプのステートメントに従がって前記第1のタイプのステートメントに対応する実行プランを生成し、および、前記第1のタイプのステートメントに対応する実行プランを前記トランザクション管理および実行のためのサーバーに送信する。OLAPサーバー203は、前記トランザクション管理および実行のためのサーバーによって送信された第1のトランザクションの第2のタイプのステートメントを受信し、前記第2のタイプのステートメントに従がって前記第2のタイプのステートメントに対応する実行プランを生成し、前記第2のタイプのステートメントに対応する実行プランを前記トランザクション管理および実行のためのサーバーに送信する。
前記トランザクション管理および実行のためのサーバー201はさらに、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、前記第1のトランザクションを処理する。
なお、(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であり得る。
図1に示されるシステムアーキテクチャに基づいて、図3は、本発明の実施形態によって提供されるトランザクション処理の方法に対応するフロー概略図を例示的に示し、第1のノードは、トランザクション管理および実行のためのサーバー201であり得る。この方法は、具体的には次のステップを含む。
ステップ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のトランザクションを処理する。
上記のステップで説明されたコンテンツの複数の実施があることに留意されたい。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サーバーによって実行される。
このように、当該トランザクション処理のシステムには少なくとも1つの第2のノードがあるため、第1のノードは、第1のトランザクションに対応する少なくとも1つのステートメントを取得した後、少なくとも1つのステートメントを分類してから少なくとも1つの第2のノードに送信することができる。ステートメントを分類および処理するこの方法は、ステートメントシステムの設計の複雑さを軽減できる。さらに、従来技術でトランザクション処理にサーバーを1つだけ使用するモードと比較して、本発明の実施形態は、複数のタイプのステートメントを同時に処理でき、システムの処理パフォーマンスを効果的に改善し、システムの運用負担を軽減する。次にシステムの全体的な並列処理を増やす。さらに、少なくとも1つの第2のノードは、ステートメントに対応する実行プランを第1のノードに送信するだけでよく、第1のノードは最初のトランザクションに含まれる少なくとも1つのステートメントに対して統合処理を実行することにより、トランザクション性が確保できる。
具体的には、ステップ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ステートメントを取り上げる)。
Figure 0007109572000001
表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。
ステップ302において、ステートメントを分類するための複数の方法があり得る。1つの可能な実施は、ステートメントの実行の難易度に従ってステートメントを分類することである。表1に示す内容を例にとると、ステートメント1、ステートメント2、およびステートメント4は、ステップが少なく、難易度が低く、ステートメント1、ステートメント2、およびステートメント4は、第1のタイプのステートメントとして分類できる。そして、ステートメント3は、より多くのステップおよびより高い難易度で実行され、ステートメント3は、第2のタイプのステートメントとして分類され得る。類推して、第1のトランザクションがより多くのステートメントを含む場合、ステートメントはより多くのタイプに分割されることもある(つまり、タイプの数は2より大きい)。
なお、上記の説明の実施の難易度は、特に限定されない経験や実情に基づいて当業者が設定することができる。
他の可能な実施形態では、ステートメントが分類されるとき、それらは他の方法で分類されてもよく、例えば、ステートメントの内容に従って、またはステートメントの実行順序に従って分類されてもよい。特に限定される。
さらに、ステートメントのタイプと第2のノードとの間には対応関係がある場合がある。したがって、第1のノードは、各ステートメントのタイプおよびステートメントのタイプと第2のノードとの間の対応関係に従って、少なくとも1つの前記ステートメントを少なくとも1つの第2のノードにそれぞれ送信することができる。表2に示すように、これはステートメントのタイプと第2ノード間の対応関係の例である。第2ノードにはOLTPノードとOLAPノードが含まれる。ステートメントのタイプが第1のタイプのステートメントである場合、対応する第2のノードはOLTPノードであり、ステートメントのタイプが第2のタイプのステートメントである場合、対応する第2のノードはOLAPノードである。
Figure 0007109572000002
表2に記載される内容に従って、本発明の実施形態は、表1に示される第1のトランザクションのステートメントを分類し、それらを対応する第2のノードに送信することができ、ステートメント1、ステートメント2およびステートメント4は、第1のタイプのステートメントである。第1のノードは、ステートメント1、ステートメント2、およびステートメント4をOLTPノードに送信できる。また、ステートメント3は第2のタイプのステートメントであり、第1のノードはステートメント3をOLAPノードに送信する。
ステップ303および304において、異なる第2のノードは、異なるタイプのステートメントに対応する。以下では、説明のための例として、第2のノードにOLTPノードとOLAPノードが含まれる。
特定の実施プロセスにおいて、第1のノードが、OLTPノードによって送信された第1のトランザクションの第1のタイプのステートメントに対応する実行プランを受信した後、第1のタイプのステートメントに対応する実行プランが第1のタイプのステートメントに対応する実行内容を含むと判定された場合、次いで、第1のノードは、前記第1のタイプのステートメントに対応する実行内容に従って第1のトランザクションを処理することができる。第1のタイプのステートメントに対応する実行プランが、第1のタイプのステートメントに対応する実行内容およびストレージノードを含むと判定された場合、第1ノードは、前記第1のタイプのステートメントに対応する実行内容に従がって、前記第1のタイプのステートメントに対応するストレージノードにアクセスすることができる。
OLAPノードによって送信された第1のトランザクションの第2のタイプのステートメントに対応する実行プランを受信した後、第1のノードは、第2のタイプのステートメントに対応する実行プランに含まれる第2のタイプのステートメントに対応する実行内容に従がって、第2のタイプのステートメントに対応するストレージノードにアクセスし得る。第2のタイプのステートメントに対応する実行プランに第2のタイプのステートメントに対応するストレージノードが含まれる。
上記の実施プロセスをより明確に説明するために、本発明の実施形態に関与するOLTPノードである第2のノードに対応するフローを、図4を参照して以下に具体的に示し、以下のステップを含む。
ステップ401:第1のノードは、第1のトランザクションの第1のタイプのステートメントをOLTPノードに送信する。
ステップ402:第1のノードは、第1のトランザクションの第2のタイプのステートメントをOLAPノードに送信する。
ステップ403:OLTPノードは、第1のノードによって送信された第1のトランザクションの第1のタイプのステートメントを受信する。
ステップ404:OLTPノードは、前記第1のトランザクションの第1のタイプのステートメントに従って、前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランを生成する。
具体的には、一例において、第1のタイプのステートメントに対応する実行プランは、第1のタイプのステートメントに対応する実行内容のみを含み得る。たとえば、表1に示すステートメント1を例にすると、ステートメント1は「開始」である。ステートメント1によると、OLTPノードは第1のトランザクションを開始する必要があることを知っている可能性がある。次に、OLTPノードは、ステートメント1に対応する実行プランを生成することができ、すなわち、ステートメント1に対応する実行プランに含まれる実行内容が第1のトランザクションを開始するという内容である。
別の例では、第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のトランザクションを処理する。
ステップ405:OLTPノードは、前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランを第1のノードに送信する。
ステップ406:OLAPノードは、第1のノードによって送信された第1のトランザクションの第2のタイプのステートメントを受信する。
ステップ407:OLAPノードは、前記第1のトランザクションの第2のタイプのステートメントに従って、前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランを生成する。
具体的には、第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である。
このようにして、この実行プランを受信された後、第1のノードは、ストレージノードaで生徒番号200401361211に対応する指導教官番号を検索し、ストレージノードbで指導教官番号に従って指導教官の名前を検索することにより、第1のトランザクションを処理することができる。
ステップ408:OLTPノードは、前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランを第1のノードに送信する。
ステップ409:第1のノードは、OLTPノードおよびOLAPノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、第1のトランザクションの少なくとも1つのステートメントに対応する実行プラン従って第1のトランザクションを処理する。
(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ノードの構造を簡素化し、トランザクション処理のシステムの複雑さを軽減し、トランザクション処理のシステムを実現するためのコストを減縮できる。
上述の内容に基づいて、本発明の実施形態は、第1のノードによって第1のトランザクションを処理するための方法をさらに提供する。第1のノードの構造概略図である図5に示されるように、第1のノードは、複数のスケジューラを含み得る。
図5に示すこの構造では、第1のトランザクションに対応する少なくとも1つのステートメントに対応する実行プランを受信された後、第1のノードは第1のトランザクションを開始し、対応するスケジューラを第1のトランザクションに割り当てることができる。次に、第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、第1のトランザクションに対応するスケジューラを通じて第1のトランザクションを処理する。
例えば、第1のノードは、第1のトランザクションに対応する少なくとも1つのステートメントに対応する実行プラン、第2のトランザクションに対応する少なくとも1つのステートメントに対応する実行プラン、および第3のトランザクションに対応する少なくとも1つのステートメントに対応する実行プランを受信する。第1のノードは、第1、第2、第3のトランザクションをそれぞれ開始し、第1のスケジューラを第1のトランザクションに、第2のスケジューラを第2のトランザクションに、第3のスケジューラを第3のトランザクションに割り当てることができる。これにより、複数のトランザクションが同時に処理され、トランザクション処理のシステムの処理効率が向上し、トランザクション性が確保される。
同じ発明思想に基づいて、図6は、本発明の実施形態によって提供されるトランザクション管理および実行のためのサーバーの構造概略図を例示的に示す。図6に示すように、当該トランザクション管理および実行のためのサーバー600は、取得ユニット601、処理ユニット602、および受信ユニット603を含む。ここで:
前記取得ユニット601は、第1のトランザクションに対応する少なくとも1つのステートメントを取得するように構成される。
前記処理ユニット602は、第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを少なくとも1つの第2のノード中の前記第1のステートメントのタイプに対応する第2のノードに送信して、前記第1のステートメントのタイプに対応する第2のノードに、ステートメントに従がって前記ステートメントに対応する実行プランを生成させるようにし、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントである。
前記受信ユニット603は、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信するように構成される。
また、前記処理ユニット602は、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを処理する。
任意選択で、前記処理ユニット602は具体的に、
前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを開始し、前記第1のトランザクションに対応するスケジューラを割り当て、および前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションに対応するスケジューラを介して前記第1のトランザクションを処理する。
任意選択で、前記少なくとも1つの第2のノードは、オンライントランザクション処理(OLTP)ノードおよびオンライン分析処理(OLAP)ノードを含み、
前記処理ユニット602は具体的に、
前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容が含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のトランザクションを処理し、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容およびストレージノードが含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のタイプのステートメントに対応するストレージノードにアクセスし、
および前記第2のタイプのステートメントに対応する実行内容に従って前記第2のタイプのステートメントに対応するストレージノードにタアクセスし、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
任意選択で、前記少なくとも1つの第2のノードは、OLTPノードを含み、
前記受信ユニット603は具体的に、
OLTPノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランおよび前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランが含まれ、
ここで、前記第1のタイプのステートメントに対応する実行プランは、前記第1のタイプのステートメントに従って前記OLTPノードによって生成され、前記第2のタイプのステートメントに対応する実行プランは、前記OLAPノードによって送信された第2のタイプのステートメントの初期実行プランに従って、前記OLTPノードによって生成され、
前記第2のタイプのステートメントの初期実行プランは前記第2のタイプのステートメントに対応する実行内容を含み、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
第2の実施形態:
図7は、本発明の実施形態に適用可能な別のシステムアーキテクチャの概略図を例示的に示す。図7に示すように、本発明の実施形態に適用可能なシステムアーキテクチャ700は、第1のタイプのノード701、第2のタイプのノード702、図7に示されるようなおよび第3のタイプのノード7031、タイプノード7032および第3のタイプのノード7033などの第3のタイプのノードを含む。ここで、第3のタイプのノードは、データを格納するためのデータベースであり得る。
特定の実施プロセスでは、第1のタイプのノード701は、特定のトランザクションに対応する少なくとも1つのステートメントを取得し、当該トランザクションの各ステートメントを分類し、その後、各ステートメントのタイプに従がって少なくとも1つのステートメントをそれ自体(すなわち、第1のタイプのノード701)および第2のタイプのノード702に送信することができる。)。さらに、ステートメントを受信した後、第2のタイプのノード702は、受信されたステートメントに従ってステートメントに対応する初期実行プランを生成し、前記ステートメントに対応する初期実行プランを第1のタイプのノード701に送信することができる。さらに、第1のタイプのノード701は、第2のタイプのノード702によって送信されたステートメントに対応する受信された初期実行プランに従って前記ステートメントに対応する実行プランを生成し、前記ステートメントに対応する実行プランに従って当該トランザクションを処理することができる。
(1)本発明の実施形態において、第2のタイプのノードの数は特に限定されず、図1に示される第2のタイプのノード702は、単なる例であり、当業者は、アートは、経験と実際の状態に応じて、第2のタイプのノードの数を増減できる。(2)本発明の実施形態では、第3のタイプのノードの数は特に限定されず、図1に示す第3のタイプのノード1031、第3のタイプのノード1032および第3のタイプのノード1033は、単なる例示である。例えば、当業者は、経験および実際の状態に従って、第3のタイプのノードの数を増減することができる。
図7に示すシステムアーキテクチャをより明確に説明するために、図7に説明するシステムアーキテクチャを、図8と組み合わせて以下に例示する。図8は、本発明の実施形態によって提供される別のトランザクション処理のシステムの構造概略図である。当該トランザクション処理のシステム800は、OLTPサーバー801およびOLAPサーバー802を含む。ここで、
前記OLTPサーバー801は、第1のトランザクションに対応する少なくとも1つのステートメントを取得し、前記少なくとも1つのステートメントのタイプを決定し、前記第1のステートメントを第1のタイプのステートメントとしてと決定すると、前記第1のタイプのステートメントに対応する実行プランを生成し、前記第1のステートメントを第2のタイプのステートメントとして決定すると、前記第2のタイプのステートメントを前記OLAPサーバー802に送信するように構成される。前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントである。
前記OLAPサーバー802は、前記OLTPサーバーによって送信された第2のタイプのステートメントを受信し、前記第2のタイプのステートメントに対応する初期実行プランを生成し、前記第2のタイプのステートメントに対応する初期実行プランを前記OLTPサーバー801に送信するように構成される。
前記OLTPサーバー801はさらに、前記OLAPサーバー802によって送信された第2のタイプのステートメントに対応する初期実行プランを受信し、前記第2のタイプのステートメントに対応する初期実行プランに従がって、第2のタイプのステートメントに対応する実行プランを生成し、前記第1のタイプのステートメントに対応する実行プランおよび前記第2のタイプのステートメントに対応する実行プランに従がって、前記第1のトランザクションを処理する。
図8に示されるトランザクション処理のシステムでは、OLTPサーバー801は、図7に示される第1のタイプのノード701であり得、OLAPサーバー802は、図7に示す第2のタイプのノード702であり得ることに留意されたい。
図7に示されるシステムアーキテクチャに基づいて、図9は、本発明の実施形態によって提供される別のトランザクション処理の方法に対応するフロー概略図を例示的に示し、OLTPノードは、図8に示されるOLTPサーバー801であり得る。OLAPノードは、図8に示されるOLAPサーバー802であってもよい。この方法は、具体的には、以下のステップを含む。
ステップ901:OLAPノードは、第1のノードによって送信された第1のトランザクションのステートメントを受信する。
ステップ902:OLAPノードは、前記ステートメントに対応する初期実行プランを生成する。
ステップ903:OLAPノードは、前記ステートメントに対応する初期実行プランをOLTPノードに送信する。
ステップ904:OLTPノードは、OLAPノードによって送信された第1のトランザクションのステートメントに対応する初期実行プランを受信する。
ステップ905:OLTPノードは、前記ステートメントに対応する初期実行プランに従がって、前記ステートメントに対応するストレージノードを取得し、前記ステートメントに対応する実行プランを生成する。
ステップ906:OLTPノードは、前記ステートメントに対応する実行プランを第1のノードに送信して、前記第1のノードに前記ステートメントに対応する実行プランに従がって前記第1のトランザクションを処理させるようにする。
ステップ901から906に記載されたコンテンツでは、第1のノードは、OLTPサーバーに直接配備されてもよいことに留意されたい。このようにして、トランザクション処理のシステムの複雑さを軽減することができる。
具体的に、ステップ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に対応する指導教官番号を検索し、取得した指導教官番号に基づいて指導教官名を検索することである。
さらに、ステップ905において、ステートメントに対応する実行プランは、ステートメントに対応する実行内容およびストレージノードを含む。上記の内容を例にとると、ステートメント3に対応する初期実行プランとストレージルールによれば、OLTPノードは、生徒番号200401361211に対応するデータがストレージノードaに格納され、生徒番号200401361211に対応する指導教官のデータがストレージノードbに格納され、OLTPノードはステートメント3に対応する実行プランを生成できる。つまり、ステートメント3に対応する実行プランに含まれる実行内容は生徒番号200401361211に対応する指導教官番号を検索し、取得した指導教官番号に従って指導教官の名前を検索することである。ステートメント3に対応する実行プランに含まれるストレージノードは、ストレージノードaとストレージノードbである。
したがって、上記のステップ901~906で説明されたコンテンツでは、OLAPノードは、分散型データベースのストレージルールを考慮する必要がない(すなわち、各データリストに対応するストレージノードを考慮する必要がない)。各データリストの内部的な論理関係のみを考慮する必要がある。一方、OLTPノードは、分散型データベースのストレージルールを各データリストの内部論理関係と統合する必要がある。このような方法は、OLAPノードの構造を単純化し、トランザクション処理のシステムの複雑さを軽減し、トランザクション処理のシステムの実施コストを削減できる。
他の可能な実施形態では、図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より大きい)場合、上記の方法も使用できる。ここでは繰り返さない。
第1のノードの構造概略図である図5にも示されるステップ906において、第1のノードは、依然として複数のスケジューラを含み得る。第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信された後、第1のノードは第1のトランザクションを開始し、対応するスケジューラーを第1のトランザクションに割り当て、次に第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って、第1のトランザクションに対応するスケジューラーを通じて第1のトランザクションを処理する。
同じ発明思想に基づいて、図10は、本発明の実施形態によって提供されるOLAPサーバーの構造概略図を例示的に示す。図10に示すように、OLAPサーバー1000は、受信ユニット1001、処理ユニット1002、および送信ユニット1003を含む。ここで:
前記受信ユニット1001は、第1のノードによって送信された第1のトランザクションのステートメントを受信するように構成される。
前記処理ユニット1002は、前記ステートメントに対応する初期実行プランを生成するように構成される。
前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる。
前記送信ユニット1003は、前記ステートメントに対応する初期実行プランをOLTPノードに送信し、前記OLTPノードに前記ステートメントの初期実行プランに従って前記ステートメントに対応する実行プランを生成させるようにする。
同じ発明思想に基づいて、図11は、本発明の実施形態によって提供されるOLTPサーバーの構造概略図を例示的に示す。図11に示すように、OLTPサーバー1100は、受信ユニット1101、処理ユニット1102、および送信ユニット1103を含む。ここで:
前記受信ユニット1101は、OLAPノードによって送信された第1のトランザクションのステートメントの初期実行プランを受信するように構成され、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる。
前記処理ユニット1102は、前記ステートメントに対応する初期実行プランに従って前記ステートメントに対応するストレージノードを取得し、前記対応する実行プランを生成するように構成され、前記ステートメントに対応する実行プランに前記ステートメントに対応する実行内容およびストレージノードが含まれる。
前記送信ユニット1103は、前記ステートメントに対応する実行プランを第1のノードに送信し、前記第1のノードに前記ステートメントに対応する実行プランに従がって前記第1のトランザクションを処理させるようにする。
本発明の実施形態によって提供されるサーバーは、
ソフトウェアプログラムを格納するように構成されたメモリと、
前記メモリ内のソフトウェアプログラムを読み取り、上記のトランザクション処理の方法を実行するように構成されたプロセッサとを備える。
本発明の実施形態は、1つまたは複数のプロセッサによって読み取られて、実行されるときに上記のトランザクション処理の方法を実施するソフトウェアプログラムを格納するコンピュータ記憶媒体を提供する。
本発明の実施形態では、第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つのステートメントに対して統合処理を実行することにより、トランザクション性が確保できる。
同じ概念に基づいて、本発明は、トランザクション管理および実行のためのサーバー側で上記の方法フローを実行するために使用することができる電子デバイスを提供する。図12は本発明によって提供される電子デバイスの構造概略図である。当該電子デバイスは、プロセッサ1201、メモリ1202、送受信機1203およびバスインターフェース1204を含む。ここで、プロセッサ1201、メモリ1202、送受信機1203およびバスインターフェース1204は、バス1205を介して互いに接続されている。
メモリ1202は、プログラムを格納するために使用される。具体的には、プログラムは、コンピュータ動作命令を含むプログラムコードを含み得る。メモリ1202は、揮発性メモリ(volatile memory)、例えば、ランダムアクセスメモリ(random-access memory,RAM)を含み得る。メモリはまた、例えば、フラッシュメモリ(flash memory)、ハードディスクドライブ(hard disk drive,HDD)またはソリッドステートドライブ(solid-state drive,SSD)などの不揮発性メモリを含み得る。また、メモリ1202は、上記のタイプのメモリの組み合わせを含むこともできる。
メモリ1202は、実行可能モジュールまたはデータ構造、またはそれらのサブセット、またはそれらの拡張セットの要素を格納する。
操作命令には、各種操作を実現するための各種操作命令が含まれる。
オペレーションシステムには、さまざまな基本サービスを実施し、ハードウェアベースのタスクを処理するためのさまざまなシステムプログラムが含まれている。
バス1205は、周辺機器相互接続(peripheral component interconnect,PCI)バスまたは拡張産業標準アーキテクチャ(extended industry standard architecture,EISA)バスなどとすることができる。バスは、アドレスバス、データバス、コントロールバスなどに分割できる。表現を簡単にするために、バスは図12では1本の太い線のみで表されていますが、1本のバスまたは1種類のバスのみを表しているわけではない。
バスインターフェース1204は、有線通信インターフェース、無線バスインターフェース、またはそれらの組み合わせであってもよく、有線バスインターフェースは、例えば、イーサネットインターフェースであってもよい。イーサネットインターフェースは、光学インターフェース、電気インターフェース、またはそれらの組み合わせであってもよい。無線バスインターフェースは、WLANインターフェースであり得る。
プロセッサ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)、またはそれらの任意の組み合わせであり得る。
前記プロセッサ1201は、前記メモリ1202内のプログラムを読み取って次の操作を実行するように構成され、第1のトランザクションに対応する少なくとも1つのステートメントを取得し、第1のステートメントのタイプを決定し、前記第1のステートメントのタイプに従がって、前記第1のステートメントを少なくとも1つの第2のノード中の前記第1のステートメントのタイプに対応する第2のノードに送信して、前記第1のステートメントのタイプに対応する第2のノードに、ステートメントに従がって前記ステートメントに対応する実行プランを生成させるようにし、前記第1のステートメントは前記少なくとも1つのステートメント中のいずれかのステートメントである。
前記メモリ1202は、1つまたは複数の実行可能プログラムを格納するように構成され、動作を実行するときにプロセッサ1201によって使用されるデータを格納することができる。
前記送受信機1203は、前記プロセッサ1201の制御下で、前記少なくとも1つの第2のノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記処理ユニットはさらに、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを処理する。
任意選択で、前記プロセッサ1201は具体的に、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションを開始し、前記第1のトランザクションに対応するスケジューラを割り当て、および前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに従って前記第1のトランザクションに対応するスケジューラを介して前記第1のトランザクションを処理する。
任意選択で、前記少なくとも1つの第2のノードは、オンライントランザクション処理(OLTP)ノードおよびオンライン分析処理(OLAP)ノードを含み、前記プロセッサ1201は具体的に、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容が含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のトランザクションを処理し、前記第1のタイプのステートメントに対応する実行プランに前記第1のタイプのステートメントに対応する実行内容およびストレージノードが含まれる場合、前記第1のタイプのステートメントに対応する実行内容に従って前記第1のタイプのステートメントに対応するストレージノードにアクセスし、および前記第2のタイプのステートメントに対応する実行内容に従って前記第2のタイプのステートメントに対応するストレージノードにタアクセスし、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
任意選択で、前記少なくとも1つの第2のノードは、OLTPノードを含み、前記送受信機1203は具体的に、OLTPノードによって送信された前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランを受信し、前記第1のトランザクションの少なくとも1つのステートメントに対応する実行プランに前記第1のトランザクションの第1のタイプのステートメントに対応する実行プランおよび前記第1のトランザクションの第2のタイプのステートメントに対応する実行プランが含まれ、ここで、前記第1のタイプのステートメントに対応する実行プランは、前記第1のタイプのステートメントに従って前記OLTPノードによって生成され、前記第2のタイプのステートメントに対応する実行プランは、前記OLAPノードによって送信された第2のタイプのステートメントの初期実行プランに従って、前記OLTPノードによって生成され、前記第2のタイプのステートメントの初期実行プランは前記第2のタイプのステートメントに対応する実行内容を含み、前記第2のタイプのステートメントに対応する実行プランには前記第2のタイプのステートメントに対応する実行内容およびストレージノードが含まれる。
上記のユニットの分割は、論理機能の分割のみであり、これらのユニットは、物理的エンティティに完全にまたは部分的に統合され得るか、または実際の実施において物理的に分離され得る。本願の実施形態では、受信ユニット603は送受信機1203によって実施され得、取得ユニット601および処理ユニット602はプロセッサ1201によって実施され得る。図12に示されるように、電子デバイス1200は、プロセッサ1201、送受信機1203およびメモリ1202を含み、メモリ1202は、電子デバイス1200が工場を出るときにプレインストールされたプログラム/コードを格納するように構成され得、また、プロセッサ1201によって実行されるために使用されるコードなどを格納し得る。
上記から分かるように、本発明の実施形態では、このように、当該トランザクション処理のシステムには少なくとも1つの第2のノードがあるため、第1のノードは、第1のトランザクションに対応する少なくとも1つのステートメントを取得した後、少なくとも1つのステートメントのタイプを決定し、対応する第2のノードに送信することができる。従来技術でトランザクション処理にサーバーを1つだけ使用するモードと比較して、本発明の実施形態は、複数のタイプのステートメントを同時に処理でき、システムの処理効率を効果的に改善し、システムの運用負担を軽減する。さらに、少なくとも1つの第2のノードは、ステートメントに対応する実行プランを第1のノードに送信するだけでよく、第1のノードは最初のトランザクションに含まれる少なくとも1つのステートメントに対して統合処理を実行することにより、トランザクション性が確保できる。
同じ概念に基づいて、本発明は、OLAPサーバー側で上記の方法フローを実行するために使用できる電子デバイスを提供する。図13は本発明によって提供される電子デバイスの構造概略図である。号外電子デバイスは、プロセッサ1301、メモリ1302、送受信機1303およびバスインターフェース1304を含む。ここで、プロセッサ1301、メモリ1302、送受信機1303、およびバスインターフェース1304は、バス1305を介して互いに接続されている。
メモリ1302は、実行可能モジュールまたはデータ構造、またはそれらのサブセット、またはそれらの拡張セットの要素を格納する。
操作命令には、各種操作を実現するための各種操作命令が含まれる。
オペレーションシステムには、さまざまな基本サービスを実施し、ハードウェアベースのタスクを処理するためのさまざまなシステムプログラムが含まれている。
バス1305は、周辺機器相互接続(peripheral component interconnect,PCI)バスまたは拡張産業標準アーキテクチャ(extended industry standard architecture,EISA)バスなどとすることができる。バスは、アドレスバス、データバス、コントロールバスなどに分割できる。表現を簡単にするために、バスは図13では1本の太い線のみで表されていますが、1本のバスまたは1種類のバスのみを表しているわけではない。
バスインターフェース1304は、有線通信インターフェース、無線バスインターフェース、またはそれらの組み合わせであってもよく、有線バスインターフェースは、例えば、イーサネットインターフェースであってもよい。イーサネットインターフェースは、光学インターフェース、電気インターフェース、またはそれらの組み合わせであってもよい。無線バスインターフェースは、WLANインターフェースであり得る。
プロセッサ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)、またはそれらの任意の組み合わせであり得る。
前記プロセッサ1301は、前記メモリ1302内のプログラムを読み取って次の操作を実行するように構成され、前記ステートメントに対応する初期実行プランを生成し、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれる。
送受信機1303は、第1のノードによって送信された第1のトランザクションのステートメントを受信し、前記ステートメントに対応する初期実行プランをOLTPノードに送信し、前記OLTPノードに前記ステートメントの初期実行プランに従って前記ステートメントに対応する実行プランを生成させるようにする。
上記のユニットの分割は、論理機能の分割のみであり、これらのユニットは、物理的エンティティに完全にまたは部分的に統合され得るか、または実際の実施において物理的に分離され得る。本願の実施形態では、受信ユニット1001および送信ユニット1003は、送受信機1303によって実施され得、処理ユニット1002は、プロセッサ1301によって実施され得る。図13に示されるように、電子デバイス1300は、プロセッサ1301、送受信機1303、およびメモリ1302を含み、メモリ1302は、電子デバイス1300が工場を出るときにプレインストールされたプログラム/コードを格納するように構成され得、また、プロセッサ1301によって実行されるために使用されるコードなどを格納し得る。
同じ思想に基づいて、本発明は、OLTPサーバー側で上記の方法フローを実行するために使用することができる電子デバイスを提供する。図14は本発明によって提供される電子デバイスの構造概略図である。当該電子デバイスは、プロセッサ1401、メモリ1402、送受信機1403、およびバスインターフェース1404を含む。ここで、プロセッサ1401、メモリ1402、送受信機1403、およびバスインターフェース1404は、バス1405を介して互いに接続される。
メモリ1402は、プログラムを格納するために使用される。具体的には、プログラムは、コンピュータ動作命令を含むプログラムコードを含み得る。メモリ1202は、揮発性メモリ(volatile memory)、例えば、ランダムアクセスメモリ(random-access memory,RAM)を含み得る。メモリはまた、例えば、フラッシュメモリ(flash memory)、ハードディスクドライブ(hard disk drive,HDD)またはソリッドステートドライブ(solid-state drive,SSD)などの不揮発性メモリを含み得る。また、メモリ1402は、上記のタイプのメモリの組み合わせを含むこともできる。
メモリ1402は、実行可能モジュールまたはデータ構造、またはそれらのサブセット、またはそれらの拡張セットの要素を格納する。
操作命令には、各種操作を実現するための各種操作命令が含まれる。
オペレーションシステムには、さまざまな基本サービスを実施し、ハードウェアベースのタスクを処理するためのさまざまなシステムプログラムが含まれている。
バス1405は、周辺機器相互接続(peripheral component interconnect,PCI)バスまたは拡張産業標準アーキテクチャ(extended industry standard architecture,EISA)バスなどとすることができる。バスは、アドレスバス、データバス、コントロールバスなどに分割できる。表現を簡単にするために、バスは図14では1本の太い線のみで表されていますが、1本のバスまたは1種類のバスのみを表しているわけではない。
バスインターフェース1404は、有線通信インターフェース、無線バスインターフェース、またはそれらの組み合わせであってもよく、有線バスインターフェースは、例えば、イーサネットインターフェースであってもよい。イーサネットインターフェースは、光学インターフェース、電気インターフェース、またはそれらの組み合わせであってもよい。無線バスインターフェースは、WLANインターフェースであり得る。
プロセッサ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)、またはそれらの任意の組み合わせであり得る。
前記プロセッサ1401は、前記メモリ1402内のプログラムを読み取って次の操作を実行するように構成され、前記ステートメントに対応する初期実行プランに従って前記ステートメントに対応するストレージノードを取得し、前記対応する実行プランを生成し、前記ステートメントに対応する実行プランに前記ステートメントに対応する実行内容およびストレージノードが含まれる。
前記送受信機1403は、OLAPノードによって送信された第1のトランザクションのステートメントの初期実行プランを受信し、前記ステートメントに対応する初期実行プランに前記ステートメントに対応する実行内容が含まれ、前記ステートメントに対応する実行プランを第1のノードに送信し、前記第1のノードに前記ステートメントに対応する実行プランに従がって前記第1のトランザクションを処理させるようにする。
上記のユニットの分割は、論理機能の分割のみであり、これらのユニットは、物理的エンティティに完全にまたは部分的に統合され得るか、または実際の実施において物理的に分離され得る。本願の実施形態では、受信ユニット1101および送信ユニット1103は、送受信機1403によって実施され得、処理ユニット1102は、プロセッサ1401によって実施され得る。図14に示されるように、電子デバイス1400は、プロセッサ1401、送受信機1403、およびメモリ1402を含み、メモリ1402は、電子デバイス1400が工場を出るときにプレインストールされたプログラム/コードを格納するように構成され得、また、プロセッサ1401によって実行されるために使用されるコードなどを格納し得る。
本分野の技術者として、本発明の実施形態が、方法、システムまたはいはコンピュータプログラム製品を提供できるため、本発明は完全なハードウェア実施形態、完全なソフトウェア実施形態、またはソフトウェアとハードウェアの両方を結合した実施形態を採用できることがわかるはずである。さらに、本発明は、一つまたはいは複数のコンピュータプログラム製品の形式を採用できる。当該製品はコンピュータ使用可能なプログラムコードを含むコンピュータ使用可能な記憶媒体(ディスク記憶装置、CD-ROM、光学記憶装置等を含むがそれとは限らない)において実施する。
以上は本発明の実施形態の方法、装置(システム)、およびコンピュータプログラム製品のフロー図および/またはブロック図によって、本発明を記述した。理解すべきことは、コンピュータプログラム命令によって、フロー図および/またはブロック図における各フローおよび/またはブロックと、フロー図および/またはブロック図におけるフローおよび/またはブロックの結合を実現できる。プロセッサはこれらのコンピュータプログラム命令を、汎用コンピュータ、専用コンピュータ、組込み式処理装置、またはいは他のプログラム可能なデータ処理装置設備の処理装置器に提供でき、コンピュータまたはいは他のプログラム可能なデータ処理装置のプロセッサは、これらのコンピュータプログラム命令を実行し、フロー図における一つまたはいは複数のフローおよび/またはブロック図における一つまたはいは複数のブロックに指定する機能を実現する。
これらのコンピュータプログラム命令は又、また、コンピュータまたはいは他のプログラム可能なデータ処理装置を特定方式で動作させるコンピュータ読取記憶装置に記憶できる。これによって、命令を含む装置は当該コンピュータ読取記憶装置内の命令を実行でき、フロー図における一つまたはいは複数のフローおよび/またはブロック図における一つまたはいは複数のブロックに指定する機能を実現する。
これらコンピュータプログラム命令はさらに、コンピュータまたはいは他のプログラム可能なデータ処理装置設備に実装もできる。コンピュータプログラム命令が実装されたコンピュータまたはいは他のプログラム可能設備は、一連の操作ステップを実行することによって、関連の処理を実現し、コンピュータまたはいは他のプログラム可能な設備において実行される命令によって、フロー図における一つまたはいは複数のフローおよび/またはブロック図における一つまたはいは複数のブロックに指定する機能を実現する。
無論、当業者によって、上述した実施形態に記述された技術的な解決手段を改造し、またはいはその中の一部の技術要素を置換することもできる。そのような、改造と置換は本発明の各実施形態の技術の範囲から逸脱するとは見なされない。そのような改造と置換は、すべて本発明の請求の範囲に属する。
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のタイプのノード

Claims (18)

  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のいずれか一項に記載のトランザクション処理の方法を実行させるプログラム命令を含むコンピュータプログラム製品。
JP2020552790A 2018-03-29 2019-01-25 トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム Active JP7109572B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810273942.5A CN108551478B (zh) 2018-03-29 2018-03-29 一种事务处理方法、服务器及事务处理系统
CN201810273942.5 2018-03-29
PCT/CN2019/073233 WO2019184577A1 (zh) 2018-03-29 2019-01-25 一种事务处理方法、服务器及事务处理系统

Publications (2)

Publication Number Publication Date
JP2021517322A JP2021517322A (ja) 2021-07-15
JP7109572B2 true JP7109572B2 (ja) 2022-07-29

Family

ID=63517479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020552790A Active JP7109572B2 (ja) 2018-03-29 2019-01-25 トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム

Country Status (9)

Country Link
US (1) US11544260B2 (ja)
EP (1) EP3779720A4 (ja)
JP (1) JP7109572B2 (ja)
KR (1) KR102413144B1 (ja)
CN (1) CN108551478B (ja)
AU (1) AU2019241002B2 (ja)
CA (1) CA3094727C (ja)
SG (1) SG11202008855SA (ja)
WO (1) WO2019184577A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459398B (zh) * 2019-01-22 2024-04-02 阿里巴巴集团控股有限公司 一种分布式系统的数据处理方法和装置
US11860869B1 (en) * 2019-06-28 2024-01-02 Amazon Technologies, Inc. Performing queries to a consistent view of a data set across query engine types
CN113407562A (zh) * 2021-06-04 2021-09-17 北京金山云网络技术有限公司 分布式数据库系统的通信方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003526159A (ja) 2000-02-28 2003-09-02 ハイパーロール・イスラエル・リミテッド 多次元データベースおよび統合集約サーバ
CN104199831A (zh) 2014-07-31 2014-12-10 深圳市腾讯计算机系统有限公司 信息处理方法及装置
US20160350372A1 (en) 2013-05-31 2016-12-01 International Business Machines Corporation Eigenvalue-based data query
JP2017529632A (ja) 2015-05-13 2017-10-05 ホアウェイ・テクノロジーズ・カンパニー・リミテッド データベースの選択的なスナップショットを生成するためのシステムおよび方法
CN107784032A (zh) 2016-08-31 2018-03-09 华为技术有限公司 一种数据查询结果的渐进式输出方法、装置及系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5717911A (en) 1995-01-23 1998-02-10 Tandem Computers, Inc. Relational database system and method with high availability compliation of SQL programs
US5873075A (en) * 1997-06-30 1999-02-16 International Business Machines Corporation Synchronization of SQL actions in a relational database system
US6480842B1 (en) * 1998-03-26 2002-11-12 Sap Portals, Inc. Dimension to domain server
US6990503B1 (en) * 2002-04-12 2006-01-24 Ncr Corporation Rescheduling transactions in a database system
EP1649344A4 (en) 2003-07-07 2010-02-10 Netezza Corp SQL CODE GENERATION FOR HETEROGICAL ENVIRONMENT
US7689582B2 (en) 2006-03-10 2010-03-30 International Business Machines Corporation Data flow system and method for heterogeneous data integration environments
US8301589B2 (en) * 2006-05-10 2012-10-30 Sybase, Inc. System and method for assignment of unique identifiers in a distributed environment
US7984043B1 (en) 2007-07-24 2011-07-19 Amazon Technologies, Inc. System and method for distributed query processing using configuration-independent query plans
US8650181B2 (en) * 2010-11-22 2014-02-11 Sap Ag OLAP execution model using relational operations
US9501550B2 (en) * 2012-04-18 2016-11-22 Renmin University Of China OLAP query processing method oriented to database and HADOOP hybrid platform
CN103514028B (zh) * 2012-06-14 2016-12-21 北京新媒传信科技有限公司 一种处理分布式事务的方法和装置
CN103092970A (zh) 2013-01-24 2013-05-08 华为技术有限公司 一种数据库操作方法及设备
CN103345502B (zh) * 2013-07-01 2017-04-26 曙光信息产业(北京)有限公司 分布式数据库的事务处理方法和系统
CN103500180A (zh) * 2013-09-09 2014-01-08 北京思特奇信息技术股份有限公司 一种基于连接池管理的分布式事务处理方法
US20150120645A1 (en) * 2013-10-31 2015-04-30 Futurewei Technologies, Inc. System and Method for Creating a Distributed Transaction Manager Supporting Repeatable Read Isolation level in a MPP Database
CN104331457A (zh) * 2014-10-31 2015-02-04 北京思特奇信息技术股份有限公司 一种基于数据库节点的数据访问方法及系统
WO2016085488A1 (en) * 2014-11-26 2016-06-02 Hewlett Packard Enterprise Development Lp Database transfer of changes
CN106547781B (zh) * 2015-09-21 2021-06-11 南京中兴新软件有限责任公司 一种实现分布式事务的方法、装置及数据库服务器
CN106548264A (zh) * 2015-09-22 2017-03-29 阿里巴巴集团控股有限公司 一种数据分析方法和装置
CN107122357A (zh) * 2016-02-24 2017-09-01 阿里巴巴集团控股有限公司 数据库读写分离方法、装置和系统
CN106055322A (zh) 2016-05-26 2016-10-26 中国银联股份有限公司 一种流程调度方法及装置
US10298702B2 (en) * 2016-07-05 2019-05-21 Sap Se Parallelized replay of captured database workload
CN107403104A (zh) * 2017-06-22 2017-11-28 努比亚技术有限公司 一种实现数据表查询限制的装置和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003526159A (ja) 2000-02-28 2003-09-02 ハイパーロール・イスラエル・リミテッド 多次元データベースおよび統合集約サーバ
US20160350372A1 (en) 2013-05-31 2016-12-01 International Business Machines Corporation Eigenvalue-based data query
CN104199831A (zh) 2014-07-31 2014-12-10 深圳市腾讯计算机系统有限公司 信息处理方法及装置
JP2017529632A (ja) 2015-05-13 2017-10-05 ホアウェイ・テクノロジーズ・カンパニー・リミテッド データベースの選択的なスナップショットを生成するためのシステムおよび方法
CN107784032A (zh) 2016-08-31 2018-03-09 华为技术有限公司 一种数据查询结果的渐进式输出方法、装置及系统

Also Published As

Publication number Publication date
JP2021517322A (ja) 2021-07-15
CA3094727A1 (en) 2019-10-03
EP3779720A1 (en) 2021-02-17
US11544260B2 (en) 2023-01-03
KR102413144B1 (ko) 2022-06-24
WO2019184577A1 (zh) 2019-10-03
AU2019241002B2 (en) 2022-01-27
CN108551478B (zh) 2020-12-18
CN108551478A (zh) 2018-09-18
CA3094727C (en) 2021-08-24
US20210026854A1 (en) 2021-01-28
KR20200135522A (ko) 2020-12-02
SG11202008855SA (en) 2020-10-29
EP3779720A4 (en) 2021-02-17
AU2019241002A1 (en) 2020-10-15

Similar Documents

Publication Publication Date Title
US10831562B2 (en) Method and system for operating a data center by reducing an amount of data to be processed
JP7109572B2 (ja) トランザクション処理の方法およびサーバー、ならびにトランザクション処理のシステム
US11068439B2 (en) Unsupervised method for enriching RDF data sources from denormalized data
WO2016011904A1 (zh) 数据库访问方法及装置、数据库系统
US20160012107A1 (en) Mapping query operations in database systems to hardware based query accelerators
US9813490B2 (en) Scheduled network communication for efficient re-partitioning of data
CN109906447B (zh) 管理请求数据库系统中不存在的索引键的事务
US20150363467A1 (en) Performing an index operation in a mapreduce environment
US9734176B2 (en) Index merge ordering
US20150269234A1 (en) User Defined Functions Including Requests for Analytics by External Analytic Engines
US10929188B2 (en) Selective and piecemeal data loading for computing efficiency
US20210201909A1 (en) Index suggestion engine for relational databases
CN108073641B (zh) 查询数据表的方法和装置
CN109117426B (zh) 分布式数据库查询方法、装置、设备及存储介质
US11194805B2 (en) Optimization of database execution planning
CN106502842A (zh) 数据恢复方法及系统
WO2022268089A1 (zh) 一种数据处理方法、系统及相关设备
CN111159213A (zh) 一种数据查询方法、装置、系统和存储介质
US20140379691A1 (en) Database query processing with reduce function configuration
CN104133831B (zh) 跨域数据联接系统、跨域数据联接方法及节点
US20170046344A1 (en) Method for Performing In-Database Distributed Advanced Predictive Analytics Modeling via Common Queries
CN110597786A (zh) 结构化数据治理方法及装置
US11494354B2 (en) Information management apparatus, information processing apparatus, and non-transitory computer readable medium
US11379728B2 (en) Modified genetic recombination operator for cloud optimization
CN107590161A (zh) 一种生成哈希连接表的方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220204

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220620

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220719

R150 Certificate of patent or registration of utility model

Ref document number: 7109572

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150