JP7083901B2 - Dark Roch Realization Method, Equipment, Computation Node and System - Google Patents

Dark Roch Realization Method, Equipment, Computation Node and System Download PDF

Info

Publication number
JP7083901B2
JP7083901B2 JP2020536074A JP2020536074A JP7083901B2 JP 7083901 B2 JP7083901 B2 JP 7083901B2 JP 2020536074 A JP2020536074 A JP 2020536074A JP 2020536074 A JP2020536074 A JP 2020536074A JP 7083901 B2 JP7083901 B2 JP 7083901B2
Authority
JP
Japan
Prior art keywords
trial
request
data
user
formal
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
JP2020536074A
Other languages
Japanese (ja)
Other versions
JP2021513694A (en
Inventor
ルー,ティエンウェイ
フー,ユー
ルオ,シェンメイ
チエン,ユーミン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Publication of JP2021513694A publication Critical patent/JP2021513694A/en
Application granted granted Critical
Publication of JP7083901B2 publication Critical patent/JP7083901B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

(関連出願の相互参照)
本願は、出願番号が201711499192.5で、出願日が2017年12月29日の中国特許出願に基づいて提出され、かつ当該中国特許出願の優先権を主張し、当該中国特許出願の全ての内容は、参照として本願に組み込まれる。
(Mutual reference of related applications)
This application is filed on the basis of a Chinese patent application dated December 29, 2017, with an application number of 201711499192.5, and claims the priority of the Chinese patent application and all the contents of the Chinese patent application. Is incorporated herein by reference.

本願は、分散データ処理技術に関し、特に分散データベースに基づくダークローンチ実現方法、装置、計算ノード及びシステムに関するものであるが、これに限定されない。 The present application relates to distributed data processing techniques, and is particularly limited to, but not limited to, dark clone implementation methods, devices, computing nodes and systems based on distributed databases.

システムのアップデートがユーザーの使用に与える影響を低減し、ひいては回避するために、アップデートにダークローンチのポリシーを採用するアプリケーションがますます増えている。ダークローンチ(カナリアリリースともいう)とは、黒と白との間において滑らかに遷移可能なリリース方法である。ダークローンチにはA/Bテスト(A/B testing)を行うことができ、すなわち、一部のユーザーが続けて製品機能Aを使い、他の一部のユーザーが製品機能Bを使用し始めるようにし、もしユーザーが製品機能Bに対し異議がなければ、範囲を徐々に拡大し、全てのユーザーを製品機能Bに遷移する。ダークローンチは、システム全体の安定性を保証することができ、初期に問題を発見して調整することで、その影響を制御することができる。 More and more applications are adopting Dark Roche policies for updates to reduce and thus avoid the impact of system updates on user usage. Dark roche (also called canary release) is a release method that allows a smooth transition between black and white. Dark clones can be A / B tested, that is, some users will continue to use product function A and some others will begin to use product function B. If the user has no objection to the product function B, the range is gradually expanded and all users are transferred to the product function B. Dark Roche can guarantee the stability of the entire system and control its impact by finding and adjusting problems early on.

関連技術では、一般的に使用されるダークローンチポリシーは、アプリケーションが正式ユーザーと試用ユーザーのリストに応じて、対応するトラフィックを元のサービスシステムと新しいサービスシステムにそれぞれ導入することを含む。このような方式は、新しいサービスシステムを追加すると同時に、設定センターなどの一連の機能モジュールを対応して追加する。このように、アプリケーションは、新旧両方のデータ構造及びそのデータ内容を保留するために、元のサービスシステムと新しいサービスシステムに対応する新旧両方のサービスコードを維持する必要がある。 In related technologies, commonly used dark clone policies involve an application introducing the corresponding traffic into the original service system and the new service system, respectively, depending on the list of official and trial users. Such a method adds a new service system and at the same time adds a corresponding set of functional modules such as a configuration center. As described above, the application needs to maintain both the old and new service codes corresponding to the original service system and the new service system in order to retain both the old and new data structures and their data contents.

現在、システムは、主にアプリケーション側とサーバー側によりダークローンチを実現し、データベースに関与することはほとんどなく、データベースに関与しても、試用ユーザーと正式ユーザーは、同一のデータベースを使用しながら、冗長フィールドを追加することにより、サービス修正に適応する。例えば、1つのテーブルにおいて、正式ユーザーは、フィールドA、フィールドB、及びフィールドCの3つのフィールドを使用する必要があり、試用ユーザーは、フィールドA、フィールドD及びフィールドEの3つのフィールドを使用する必要があり、同一のデータベースで正式ユーザーと試用ユーザーをキャリアすると、このテーブルには、フィールドA、フィールドB、フィールドC、フィールドD、及びフィールドEの5つのフィールドが含まれなければならず、明らかに、正式ユーザーのデータにとってフィールドDとフィールドEが冗長であり、試用ユーザーのデータにとってフィールドBとフィールドCが冗長である。このように、正式アプリケーションがアクセスするとき、それが正式データしかアクセスできないように制限するとともに、フィールドDとフィールドEをマスクする必要があり、また、試用アプリケーションがアクセスするとき、それが試用データしかアクセスできないように制限するとともに、フィールドBとフィールドCをマスクする必要があり、このような処理によりサービスが制限され、また、試用サービスの修正が複雑になり、後期メンテナンスに不利となり、バージョンのロールバックにも不利となる。 Currently, the system implements redundancy mainly on the application side and the server side, and rarely participates in the database, and even if it is involved in the database, the trial user and the official user use the same database, while Adapt to service modifications by adding redundant fields. For example, in one table, the official user needs to use the three fields A, B, and C, and the trial user uses the three fields A, D, and E. Given that you need to carry an official user and a trial user in the same database, this table must contain five fields, Field A, Field B, Field C, Field D, and Field E, which is clear. In addition, the field D and the field E are redundant for the data of the official user, and the fields B and C are redundant for the data of the trial user. Thus, when a formal application accesses, it must be restricted to access only formal data, and fields D and E must be masked, and when a trial application accesses, it is only trial data. It is necessary to restrict access and mask fields B and C, which limits the service, complicates the modification of the trial service, is disadvantageous for late maintenance, and rolls the version. It is also disadvantageous to the back.

上記技術的課題を解決するために、本願は、ダークローンチの目的を簡単かつ効果的に達成するとともに、サービス変更量を低減できるダークローンチ実現方法、装置、計算ノード及びシステムを提供する。 In order to solve the above technical problems, the present application provides a dark roach realization method, an apparatus, a calculation node and a system capable of easily and effectively achieving the purpose of the dark roach and reducing the amount of service change.

本願は、
受信されたアプリケーション要求を処理し、受信されたアプリケーション要求が試用要求であることを決定することと、
予め設定されたパーティション設定情報に基づいて試用要求を解析し、試用要求が試用データを要求する第1の試用要求であるか又は試用データ及び正式データを要求する第2の試用要求であるかを決定することと、
第1の試用要求又は第2の試用要求における、試用ユーザーのデータを要求する部分を、試用要求に対応する試用ユーザーが位置する試用データノードに転送して実行することと、第2の試用要求における、正式ユーザーのデータを要求する部分を、正式ユーザーが位置する正式データノードに転送して実行することとを含む、ダークローンチ実現方法を提供する。
This application is
To process the received application request and determine that the received application request is a trial request,
It analyzes the trial request based on the preset partition setting information and determines whether the trial request is the first trial request requesting the trial data or the second trial request requesting the trial data and the official data. To decide and
The part of the first trial request or the second trial request that requests the data of the trial user is transferred to the trial data node where the trial user corresponding to the trial request is located and executed, and the second trial request is executed. Provides a dark clone implementation method including transferring and executing the part requesting the data of the official user to the official data node where the official user is located.

本願は、プロセッサによって実行されると、本願の実施例におけるいずれか1つのダークローンチ実現方法のステップを実現するコンピュータプログラムが記憶されている、コンピュータ可読記憶媒体をさらに提供する。 The present application further provides a computer-readable storage medium, which, when executed by a processor, stores a computer program that realizes any one of the steps of the dark clone implementation method in the embodiment of the present application.

本願は、プロセッサと、前記プロセッサによって実行されると、本願の実施例におけるいずれか1つのダークローンチ実現方法を実現する命令が記憶されているコンピュータ可読記憶媒体とを含む、ダークローンチ実現装置をさらに提供する。 The present application further comprises a dark cloned realization apparatus comprising a processor and, when executed by said processor, a computer-readable storage medium in which instructions for realizing any one of the dark clone realized methods of the embodiments of the present application are stored. offer.

本願は、
受信されたアプリケーション要求を処理し、受信されたアプリケーション要求が試用要求であると決定するように構成されるフィルタリングモジュールと、
ロードされたパーティション設定情報に基づいて試用要求を解析し、試用要求が試用データを要求する第1の試用要求であるか又は試用データ及び正式データを要求する第2の試用要求であるかを決定するように構成される解析モジュールと、
第1の試用要求又は第2の試用要求における、試用ユーザーのデータを要求する部分を、試用要求に対応する試用ユーザーが位置する試用データノードに転送して実行し、第2の試用要求における、正式ユーザーのデータを要求する部分を、正式ユーザーが位置する正式データノードに転送して実行するように構成される転送モジュールとを含む、ダークローンチ実現装置をさらに提供する。
This application is
A filtering module configured to process incoming application requests and determine that the received application request is a trial request,
Analyzes the trial request based on the loaded partition configuration information and determines whether the trial request is the first trial request requesting trial data or the second trial request requesting trial data and formal data. With an analysis module configured to
In the first trial request or the second trial request, the part requesting the data of the trial user is transferred to the trial data node where the trial user corresponding to the trial request is located and executed, and in the second trial request, Further provided is a dark clone implementation device including a transfer module configured to transfer and execute a portion requesting data of a formal user to a formal data node in which the formal user is located.

本願は、本願の実施例のいずれか1つに記載のダークローンチ実現装置を含む計算ノードをさらに提供する。 The present application further provides a compute node comprising the dark clone realization device according to any one of the embodiments of the present application.

本願は、
2つ以上のデータノードを含み、ユーザーデータをキャリアするように構成される分散データベースにおけるデータノードクラスターと、
2つ以上の計算ノードを含み、サービスを外部に提供するように構成される分散データベースにおける計算ノードクラスターとを含み、データがパーティション設定情報によって複数のデータノードに分散され、前記計算ノードが本願の実施例のいずれか1つに記載のダークローンチ実現装置を含む、ダークローンチ実現システムをさらに提供する。
This application is
A data node cluster in a distributed database that contains two or more data nodes and is configured to carry user data.
Containing two or more compute nodes, including a compute node cluster in a distributed database configured to provide services externally, data is distributed across multiple data nodes by partitioning information, said compute nodes of the present application. Further provided is a darker node realization system comprising the darker node realization device according to any one of the embodiments.

本願の技術的解決手段は、受信されたアプリケーション要求を処理し、受信されたアプリケーション要求が試用要求であると決定することと、ロードされたパーティション設定情報に基づいて試用要求を解析し、試用要求が試用データを要求する第1の試用要求であるか又は試用データ及び正式データを要求する第2の試用要求であるかを決定することと、予め設定された試用修正設定情報に基づいて、第1の試用要求又は第2の試用要求における、試用ユーザーのデータを要求する部分を書き換えることと、書き換えた第1の試用要求又は第2の試用要求における、試用ユーザーのデータを要求する部分を、試用要求に対応する試用ユーザーが位置する試用データノードに転送して実行することと、第2の試用要求における、正式ユーザーのデータを要求する部分を、正式ユーザーが位置する正式データノードに転送して実行することとを含む。本願に係る技術的解決手段により、データベース層において試用ユーザーと正式ユーザーを区別し、ダークローンチの目的が簡単かつ効果的に達成されるとともに、サービス変更量が低減される。 The technical solution of the present application is to process the received application request, determine that the received application request is a trial request, analyze the trial request based on the loaded partitioning information, and perform the trial request. Is a first trial request requesting trial data or a second trial request requesting trial data and formal data, and based on preset trial modification setting information. Rewriting the part requesting the data of the trial user in the first trial request or the second trial request, and the part requesting the data of the trial user in the rewritten first trial request or the second trial request. Transfer to the trial data node where the trial user corresponding to the trial request is located and execute it, and transfer the part of the second trial request that requests the data of the official user to the official data node where the official user is located. Including to do. The technical solution according to the present application distinguishes between a trial user and an official user in the database layer, the purpose of dark clone is easily and effectively achieved, and the amount of service change is reduced.

本発明の他の特徴及び利点は、後述の明細書で説明によって自明になるか又は本発明の実施によって了解される。本発明の目的及び他の利点は、明細書、特許請求の範囲及び図面において特に指摘された構造によって実現し取得することができる。 Other features and advantages of the invention will be obvious by description in the specification below or will be understood by the practice of the invention. The object and other advantages of the present invention can be realized and obtained by the structure specifically pointed out in the specification, claims and drawings.

図面は、本願の技術的解決手段のさらなる理解を提供するためのものであり、明細書の一部を構成し、本願の実施例とともに本願の技術的解決手段を解釈するが、本願の技術的解決手段を限定するものではない
本願に係るダークローンチ実現方法のフローチャートである。 本願に係るデータパーティション及び同名異種テーブルを実現する実施例の概略図である。 本願に係るダークローンチをサポートするユーザーデータパーティションの実施例の概略図である。 本願に係る分散データベースのデータ再分散の実施例の概略図である。 本願に係る試用要求レポートの統計処理の実施例の概略図である。 本願に係る清算処理の実施例のフローチャートである。 本願に係るダークローンチ実現装置の構成概略図である。 本願に係る計算ノードの構成実施例の概略図である。 本願に係る分散データベースに基づいてダークローンチを実現する全体的なアーキテクチャの概略図である。 本願に係るダークローンチ実現装置の構成概略図である。 本願に係るダークローンチを実現する第1の実施例の概略図である。 本願に係るダークローンチを実現する第2の実施例の概略図である。 本願に係るダークローンチを実現する第3の実施例の概略図である。 本願に係るダークローンチを実現する第4の実施例の概略図である。
The drawings are intended to provide a further understanding of the technical solutions of the present application, which form part of the specification and interpret the technical solutions of the present application together with the embodiments of the present application. Does not limit the solution
It is a flowchart of the dark clone realization method which concerns on this application. It is a schematic diagram of the Example which realizes the data partition and the heterogeneous table of the same name which concerns on this application. It is a schematic diagram of the Example of the user data partition which supports the dark crocodile which concerns on this application. It is a schematic diagram of the example of the data redistribution of the distributed database which concerns on this application. It is a schematic diagram of the example of the statistical processing of the trial request report which concerns on this application. It is a flowchart of the Example of the clearing process which concerns on this application. It is a structural schematic diagram of the dark rochi realization apparatus which concerns on this application. It is a schematic diagram of the configuration example of the calculation node which concerns on this application. It is a schematic diagram of the whole architecture which realizes a dark clone based on the distributed database which concerns on this application. It is a structural schematic diagram of the dark rochi realization apparatus which concerns on this application. It is a schematic diagram of the 1st Example which realizes the dark crocodile which concerns on this application. It is a schematic diagram of the 2nd Example which realizes the dark crocodile which concerns on this application. It is a schematic diagram of the 3rd Example which realizes the dark crocodile which concerns on this application. It is a schematic diagram of the 4th Example which realizes the dark crocodile which concerns on this application.

本願の目的、技術的解決手段及び利点をより明確にするために、以下、図面を参照しながら本願の実施例を詳細に説明する。なお、衝突しない場合には、本願の実施例と実施例の特徴は、互いに任意に組み合わせることができる。 In order to further clarify the objectives, technical solutions and advantages of the present application, examples of the present application will be described in detail below with reference to the drawings. If they do not collide, the embodiments of the present application and the features of the embodiments can be arbitrarily combined with each other.

図1は、本願に係るダークローンチ実現方法のフローチャートであり、図1に示すように、以下を含む。 FIG. 1 is a flowchart of a dark clone realization method according to the present application, and as shown in FIG. 1, includes the following.

ステップ100:計算ノードは、受信されたアプリケーション要求を処理し、受信されたアプリケーション要求が試用要求であると決定する。 Step 100: The compute node processes the received application request and determines that the received application request is a trial request.

1つの実施形態では、受信されたアプリケーション要求が試用要求であると決定すれば、本願の方法は、
正式要求を、正式要求に対応する正式ユーザーが位置する正式データノードに転送して実行することをさらに含む。
In one embodiment, if the received application request is determined to be a trial request, then the method of the present application is:
It further includes transferring and executing the formal request to the formal data node where the formal user corresponding to the formal request is located.

1つの実施形態では、本ステップにおいて、計算ノードは、IPホワイトリストにより、受信されたアプリケーション要求をフィルタリングすることにより、受信されたアプリケーション要求が試用要求であるか又は正式データを要求する正式要求であるかを区別する。 In one embodiment, in this step, the compute node is a formal request that the received application request is a trial request or requests formal data by filtering the received application request by IP whitelist. Distinguish whether there is.

1つの実施形態では、IPホワイトリストは、正式要求IPホワイトリスト及び試用要求IPホワイトリストを含み、IPホワイトリストにより、受信されたアプリケーション要求をフィルタリングすることは、
正式要求IPホワイトリスト内の正式アプリケーションデータベースクライアントからのアプリケーション要求が正式要求であると決定することと、
試用要求IPホワイトリスト内の試用アプリケーションデータベースクライアントからのアプリケーション要求が試用要求であると決定することと、
非ホワイトリストIPからの、すなわち正式要求IPホワイトリスト内の正式アプリケーションデータベースクライアントにも属せず、試用要求IPホワイトリスト内の試用アプリケーションデータベースクライアントにも属しないアプリケーション要求を破棄することとを含む。
In one embodiment, the IP whitelist comprises a formal request IP whitelist and a trial request IP whitelist, and filtering the received application requests by the IP whitelist can be done.
Formal Request To determine that an application request from a formal application database client in the IP whitelist is a formal request,
Trial Requests Determining that an application request from a trial application database client in the IP whitelist is a trial request,
Includes discarding an application request from a non-whitelist IP, i.e., which does not belong to the formal application database client in the formal request IP whitelist and does not belong to the trial application database client in the trial request IP whitelist.

本願は、IPホワイトリストによって不正なアプリケーション要求をフィルタリングする。 The present application filters rogue application requests by IP whitelist.

本ステップにおいて分散データベースのIPホワイトリストによってデータベースクライアントの要求に対してIPフィルタリングを行うことを保証するために、本ステップの前に、
アプリケーションと協働して、トラフィックガイダンスをし、例えば、要求に身分情報等を含んで識別して、試用ユーザーと正式ユーザーの要求をそれぞれ異なるIPのデータベースクライアント(ユーザーのクライアントではなく、通常はアプリケーションサーバーに配備される)にガイドすることをさらに含む。具体的な実装形態は多く、本願の保護範囲を限定するものではなく、ここでは説明を省略する。
Prior to this step, to ensure that the IP whitelist of the distributed database performs IP filtering on database client requests in this step.
In collaboration with the application, it provides traffic guidance, for example, identifies the request including identification information, etc., and identifies the request of the trial user and the official user as different IP database clients (usually the application, not the user's client). Further includes guiding to (deployed on the server). There are many specific implementation forms, and the scope of protection of the present application is not limited, and the description thereof will be omitted here.

ステップ101:予め設定されたパーティション設定情報に基づいて試用要求を解析し、試用要求が試用データを要求する第1の試用要求であるか又は試用データ及び正式データを要求する第2の試用要求であるかを決定する。 Step 101: In the first trial request that analyzes the trial request based on the preset partition setting information and requests the trial data, or in the second trial request that requests the trial data and the formal data. Decide if there is.

1つの実施形態では、パーティション設定情報は、Listパーティション、ERパーティション、Hashパーティション、Rangeパーティションなどの任意の組み合わせを含むが、これらに限定されず、本願では、複数の分散方式によって試用ユーザーと正式ユーザーを組み合わせて区別する。 In one embodiment, the partitioning information includes, but is not limited to, any combination of List partition, ER partition, Hash partition, Range partition, etc. Are combined and distinguished.

1つの実施形態では、本願の前に、
予め設定されたパーティション設定情報に基づいて、分散データベースのデータパーティショニング機能を利用して、データベース層において試用ユーザーのデータと正式ユーザーのデータを区別し、すなわち、試用ユーザーと正式ユーザーを区別することをさらに含む。また、本願は、同じパーティション設定情報を使用することにより、同一のユーザーの全ての関連データが同じ分散ルールを有し、すなわち、同一のユーザーのデータ分散には同一のパーティション設定情報を採用することを保証する。同一のユーザーは多くのテーブルに関与する可能性があるが、これらの関連するテーブルには同じパーティション設定情報が採用される。
In one embodiment, prior to the present application,
Utilizing the data partitioning function of the distributed database based on the preset partition setting information to distinguish the trial user data and the official user data at the database layer, that is, to distinguish the trial user from the official user. Including further. Further, in the present application, by using the same partition setting information, all related data of the same user have the same distribution rule, that is, the same partition setting information is adopted for the data distribution of the same user. Guarantee. The same user can be involved in many tables, but these related tables will have the same partitioning information.

1つの実施形態では、ステップ101において予め設定されたパーティション設定情報に基づいて試用要求を解析することは、具体的に、試用要求に基づいてクエリが必要とするテーブルを決定することと、パーティション設定情報に基づいて当該テーブルのパーティショニングルールをクエリし、かつパーティショニングルールに応じて当該試用要求に対応するデータノードを決定することとを含む。 In one embodiment, parsing the trial request based on the partitioning information preset in step 101 specifically determines the table required by the query based on the trial request and partitioning. It includes querying the partitioning rules of the table informedly and determining the data node corresponding to the trial request according to the partitioning rules.

一例を挙げると、試用要求の構文がselect*from T where id=3であると仮定し、予め設定されたパーティション設定情報に基づいて、テーブルTがidによりrangeパーティションされ、かつid1~id10がデータノード1に分散され、id11~id20がデータノード2に分散されていることが分かっていると仮定すると、当該試用要求のデータがデータノード1に分散され、すなわち、当該試用要求をデータノード1に送信して実行することが解析によって分かる。 As an example, assuming that the syntax of the trial request is select * from Where id = 3, the table T is range partitioned by id based on the preset partition setting information, and id1 to id10 are data. Assuming that it is distributed to node 1 and it is known that id11 to id20 are distributed to data node 2, the data of the trial request is distributed to data node 1, that is, the trial request is distributed to data node 1. Analysis shows that it can be sent and executed.

ステップ103:第1の試用要求又は第2の試用要求における、試用ユーザーのデータを要求する部分を、試用要求に対応する試用ユーザーが位置する試用データノードに転送して実行し、第2の試用要求における、正式ユーザーのデータを要求する部分を、正式ユーザーが位置する正式データノードに転送して実行する。 Step 103: The part of the first trial request or the second trial request that requests the data of the trial user is transferred to the trial data node where the trial user corresponding to the trial request is located and executed, and the second trial is executed. The part of the request that requests the formal user's data is transferred to the formal data node where the formal user is located and executed.

1つの実施形態では、試用ユーザーと正式ユーザーに同時に関与する第2の試用要求、例えば、統計レポートなどに対して、データの実行が完了した後に、要求をまとめることにより、試用ユーザーが位置する試用データノードへ送信さした一部の実行結果と、正式ユーザーが位置する正式データノードへ送信した一部の実行結果とをまとめることをさらに含む。 In one embodiment, for a second trial request that involves both the trial user and the official user at the same time, for example, for a statistical report, the trial user is located by putting the requests together after the data execution is completed. It further includes summarizing some execution results sent to the data node and some execution results sent to the formal data node where the formal user is located.

1つの実施形態では、ステップ101の後、ステップ103の前に、本願に係るダークローンチ実現方法は、
ステップ102:予め設定された試用修正設定情報に基づいて、第1の試用要求又は第2の試用要求における、試用ユーザーのデータを要求する部分を書き換えることをさらに含む。
In one embodiment, after step 101 and before step 103, the dark clone realization method according to the present application is:
Step 102: Further includes rewriting the part of the first trial request or the second trial request that requests the data of the trial user based on the preset trial modification setting information.

分散データベースは、名称が同じであるがデータ構造が異なるテーブルである同名異種テーブルをサポートし、試用サービスのデータ構造及びサービスロジックへの要求を満たすために、1つの実施形態では、本願の前に、
試用ユーザーと正式ユーザーが使用するデータテーブル構造が異なるように、試用修正設定情報に基づいて、試用ユーザーデータベースのテーブル構造を書き換えることをさらに含む。試用ユーザーのテーブルのテーブル構造と正式ユーザーのテーブルのテーブル構造は異なるが、両者は依然として同じ名称のテーブルを使用する。
The distributed database supports heterogeneous tables of the same name, which are tables with the same name but different data structures, and in order to meet the demands on the data structure and service logic of the trial service, in one embodiment, before the present application. ,
It also includes rewriting the table structure of the trial user database based on the trial modification setting information so that the data table structure used by the trial user and the official user are different. The table structure of the trial user's table and the table structure of the official user's table are different, but they still use the table with the same name.

一例を挙げると、要求に2つの構文があり、1番目の構文がselect A,B,C from T where id=3であり、2番目の構文がselect A,B,C from T where id=13であると仮定し、予め設定されたパーティション設定情報に基づいて、テーブルTがidによりrangeパーティションされ、かつid1~id10がデータノード1に分散され、id11~id20がデータノード2に分散されていることが分かっていると仮定すると、
1番目の構文に対して、試用修正設定情報が追加されていないとすれば、SQLを書き換える必要がなく、1番目の構文をそのままパーティションデータノード1に送信し、2番目の構文に対して、D=A+B、E=10*Cという試用修正設定情報が追加されたと仮定すれば、元の構文におけるBがD-Aに置き換えられ、元の構文におけるCがE/10に置き換えられ、最終的にパーティションデータノード2に送信される構文はselect A,D-A,E/10 from T where id=13に書き換えられる。
For example, there are two syntaxes in the request, the first syntax is select A, B, C from Where id = 3, and the second syntax is select A, B, C from Where id = 13. The table T is range-partitioned by id, id1 to id10 are distributed to the data node 1, and id11 to id20 are distributed to the data node 2, based on the preset partition setting information. Assuming you know
If the trial modification setting information is not added to the first syntax, there is no need to rewrite the SQL, and the first syntax is sent to the partition data node 1 as it is, and the second syntax is addressed to. Assuming that the trial modification setting information of D = A + B and E = 10 * C is added, B in the original syntax is replaced with DA, C in the original syntax is replaced with E / 10, and finally. The syntax sent to the partition data node 2 is rewritten as select A, DA, E / 10 from Where id = 13.

すなわち、試用修正設定情報がどのテーブルに関与するか、どのフィールドに関与するかによって書き換えが必要であるか否かを判断し、修正に関与されないフィールドであれば、SQLを書き換える必要がない。 That is, it is determined whether or not rewriting is necessary depending on which table the trial modification setting information is involved in and which field is involved, and if the field is not involved in the modification, it is not necessary to rewrite the SQL.

このように、サービスの同じ構文を用いた異種データベースへのアクセスサポートが実現され、次元が一致しない場合が生じない。例えば、元のテーブル内のフィールドはフィールドA、フィールドB及びフィールドCであり、試用ユーザーのフィールドはフィールドA、フィールドD及びフィールドEである。D=A+B、E=10*Cであれば、本願の書き換え方式に従って、試用ユーザーのテーブルは実際にはフィールドA、フィールド(A+B)及びフィールド(10*C)であり、この次元は以前と一致し、容易にロールバックできることを保証でき、情報を失うことがない。 In this way, access support to heterogeneous databases using the same syntax of the service is realized, and there are no cases where the dimensions do not match. For example, the fields in the original table are fields A, B and C, and the trial user's fields are fields A, D and E. If D = A + B and E = 10 * C, the trial user's table is actually field A, field (A + B) and field (10 * C) according to the rewriting method of the present application, and this dimension is the same as before. We can guarantee that you can roll back easily and you will not lose any information.

図2は、本願に係るデータパーティション及び同名異種テーブルを実現する実施例の概略図であり、分散データベースを使用しない場合、同一のテーブルの全てのデータが1つのデータノードにセットされ、テーブル内に全てのデータ行が記憶され、図2の左側に示すように、シングルノード上のテーブルTには9行のデータがセットされている。分散データベースを使用する場合、データが3つのデータノードに分散され、かつデータノード1に1行目~4行目がセットされ、データノード2に5行目~8行目がセットされ、データノード3に9行目がセットされると仮定すれば、図2におけるデータ分散方式は、様々なポリシーによって実現することができる。 FIG. 2 is a schematic diagram of an embodiment that realizes a data partition and a heterogeneous table having the same name according to the present application. When a distributed database is not used, all the data in the same table is set in one data node and stored in the table. All data rows are stored, and as shown on the left side of FIG. 2, 9 rows of data are set in the table T on the single node. When using a distributed database, data is distributed among three data nodes, data node 1 is set to lines 1 to 4, data node 2 is set to lines 5 to 8, and the data node is set. Assuming that the 9th line is set in 3, the data distribution method in FIG. 2 can be realized by various policies.

例えば、Listパーティションを採用すれば、枚挙の方式、例えばset1{1、2、3、4}、set2{5、6、7、8}、set3{9}によってデータを異なるデータノードに分散することができ、
また、例えば、Rangeパーティションを採用すれば、画定範囲、例えばset1{1~4}、set2{5~8}、set3{9~∞}によってデータを異なるデータノードに分散することができ、
さらに、例えば、他のパーティション方式、例えばHashパーティション、関係パーティションなどを採用する。
For example, if the List partition is adopted, the data can be distributed to different data nodes by the enumeration method, for example, set1 {1, 2, 3, 4}, set2 {5, 6, 7, 8}, set3 {9}. Can be done
Further, for example, if a Range partition is adopted, data can be distributed to different data nodes according to a defined range, for example, set1 {1 to 4}, set2 {5 to 8}, and set3 {9 to ∞}.
Further, for example, another partition method, for example, a Hash partition, a related partition, or the like is adopted.

1つの実施形態では、異なるデータノード上のテーブルTの構造が異なることを期待する場合、テーブル構造を修正することができる。図2におけるデータノード2及びデータノード3上のテーブルTについて、alterによってテーブル構造を操作し、例えばalter table set C=B-Cにすることで、データノード2上のテーブル構造をT(A、B、B-C)に修正し、例えばalter table set C=B+Cにすることで、データノード3上のテーブル構造をT(A、B、B+C)に修正することができる。 In one embodiment, the table structure can be modified if one expects the structure of the table T on different data nodes to be different. For the table T on the data node 2 and the data node 3 in FIG. 2, the table structure on the data node 2 is changed to T (A, by manipulating the table structure by alter, for example, by setting alter table set C = BC. B, BC), for example, alter table set C = B + C, so that the table structure on the data node 3 can be modified to T (A, B, B + C).

なお、テーブル構造の修正は、計算ノードのテーブルの作成後に行われ、データノード全体が計算ノードに示すのは、依然として元のテーブル構造T(A、B、C)である。すなわち、分散データベースの場合、計算ノードによって外部にテーブル構造を示し、正式データベースと試用データベースにおけるテーブルTは全体であり、どのような試用修正が行われても、外部に示されるテーブル面構造がT(A、B、C)のままである。 The modification of the table structure is performed after the table of the calculation node is created, and the original table structure T (A, B, C) is still shown to the calculation node by the entire data node. That is, in the case of a distributed database, the table structure is shown to the outside by the compute node, the table T in the formal database and the trial database is the whole, and the table surface structure shown to the outside is T regardless of any trial modification. It remains (A, B, C).

図3は、本願に係るダークローンチをサポートするユーザーデータパーティションの実施例の概略図であり、図3に示すように、試用ユーザーの選択ポリシーを設定する必要があり、すなわち、分散データベースのパーティションポリシーを予め設定する必要があり、例えば、範囲に従ってIDが1~100のユーザーを試用ユーザーとして設定することができ、これはRange分散に属し、データは正式データと試用データに分けられる。同一のユーザーの全てのデータが同一のデータベースに分散され、正式ユーザーに関連するテーブルT1、テーブルT2、テーブルT3及びテーブルT4がいずれも正式データノードに分散され、試用ユーザーに関連するテーブルT1、テーブルT2、テーブルT3及びテーブルT4がいずれも試用データノードに分散されることを保証するために、関連するテーブルに対して同じ分散ルールを設定する。 FIG. 3 is a schematic diagram of an example of a user data partition that supports dark clones according to the present application, and as shown in FIG. 3, it is necessary to set a trial user selection policy, that is, a distributed database partition policy. For example, a user with an ID of 1 to 100 can be set as a trial user according to a range, which belongs to the Range distribution, and the data is divided into official data and trial data. All data of the same user is distributed to the same database, tables T1, table T2, table T3 and table T4 related to the official user are all distributed to the official data node, and tables T1 and tables related to the trial user are distributed. To ensure that T2, table T3 and table T4 are all distributed to the trial data nodes, the same distribution rule is set for the related tables.

試用ユーザーの関連するテーブルについて、試用サービスの需要に応じて、対応するテーブルの構造を修正し、図4の試用ライブラリに示すように、テーブル名は正式データノードにおけるテーブル名と一致するが、テーブル構造は異なる。テーブル構造の修正について、例えば正式ライブラリのテーブルT(A、B、C)の試用ライブラリのテーブルT(A、B、B-C)に変更するには、対応テーブルのSQL書き換え設定(例えばC=B-C)を追加すればいい。 For the related table of the trial user, modify the structure of the corresponding table according to the demand of the trial service, and as shown in the trial library of FIG. 4, the table name matches the table name in the official data node, but the table. The structure is different. Regarding the modification of the table structure, for example, to change the table T (A, B, C) of the official library to the table T (A, B, BC) of the trial library, the SQL rewrite setting of the corresponding table (for example, C = BC) should be added.

なお、正式ユーザーのクエリは、正式ライブラリ(左側の破線枠内のデータ)のみに関与し、試用ユーザーのクエリは、試用ライブラリ及び正式ライブラリ(右側の破線枠内のデータ)に関与する。 The official user query is related only to the official library (data in the broken line frame on the left side), and the trial user query is involved in the trial library and the official library (data in the dashed line frame on the right side).

試用ユーザーは、グレーリストの群衆に関与しないSQL要求に対して、グレーリストを静的ルーティングしてスクリーニングした後、SQL構文をそのまま正式ライブラリに送信し、図4の基本情報テーブル2に示すとおりである。試用ユーザーは、グレーリストの群衆に関与するSQL要求に対して、対応するSQLを書き換えた後、試用ノードに送信して実行し、例えば、書き換え設定に従って、元のselect C from Tをselect B+C from Tに書き換えた後に試用ノードに送信する。 The trial user statically routes and screens the greylist for SQL requests that are not involved in the greylist crowd, then sends the SQL syntax as is to the formal library, as shown in basic information table 2 in FIG. be. The trial user rewrites the corresponding SQL in response to the SQL request involved in the graylist crowd, then sends it to the trial node and executes it. For example, according to the rewrite setting, the original select C from T is selected B + C from. After rewriting to T, send to the trial node.

分散データベースにとって、データパーティショニング技術が使用されるため、データが細かいシャーディング(sharding)に分割され、データノードクラスターに分散され、実行中にサービスのホットスポットデータが現れることは不可避であり、サービス負荷があるパーティションに集中して、シングルデータノードのストレスが過大になることを引き起こす恐れがあり、装置をより上手く利用することを保証するために、1つの実施形態では、本願は、
データを再分散して負荷を均等化することをさらに含み、データを再分散して負荷を均等化することは、一部のホットスポットデータを追加パーティションに移動するか又は負荷の大きいデータノードから負荷の小さいデータノードに遷移することを含む。
Due to the use of data partitioning techniques for distributed databases, it is inevitable that the data will be divided into fine sharding, distributed across data node clusters, and the hotspot data of the service will appear during execution. In one embodiment, the present application is to ensure better utilization of the device, which can cause the single data node to become overstressed by concentrating on the loaded partition.
Further including redistributing the data to equalize the load, redistributing the data to equalize the load can move some hotspot data to additional partitions or from a heavily loaded data node. Includes transitioning to a lightly loaded data node.

ユーザーのパーティションについて、分散データベースのデータ再分散機能によって再パーティショニングを実現することができる。データ再分散機能を利用することにより、サービスが停止しない場合に既定のパーティション設定情報に基づいてデータを遷移することが実現される。図4に示すように、元のデータが4つのデータノードに分散されるが、データノード4のストレスが大きいため、データノード4のデータを再分散し、例えば、一部のデータを追加のデータノード5に遷移することができる。 Repartitioning of user partitions can be achieved by the data redistribution function of the distributed database. By using the data redistribution function, it is possible to transition data based on the default partition setting information when the service does not stop. As shown in FIG. 4, the original data is distributed to four data nodes, but due to the high stress of the data node 4, the data of the data node 4 is redistributed, for example, some data is added to the additional data. You can transition to node 5.

1つの実施形態では、本願の方法は、試用ユーザーのアプリケーション特性に応じて、対応する試用テーブルのテーブル構造を修正することをさらに含む。例えば、元のデータベースにおいて、あるフィールドMは「元」を単位とするが、サービスロジックがユーザーに示すのは「万元」を単位とすることである。その場合に、試用修正によって、データベースにおける当該フィールドをM/10000に修正する。 In one embodiment, the method of the present application further comprises modifying the table structure of the corresponding trial table depending on the application characteristics of the trial user. For example, in the original database, a certain field M is in the unit of "original", but what the service logic shows to the user is in the unit of "10,000 yuan". In that case, the trial modification modifies the field in the database to M / 10000.

テーブルTを例にして、対応する正式データベースにおけるフィールドがフィールドA、フィールドB及びフィールドCを含み、対応する試用データベースにおけるフィールドがフィールドA、フィールドB及びフィールドDを含むと仮定し、設定ルールがD=C+Bであると仮定すれば、アプリケーション要求、例えば汎用のSQL要求における、フィールドCを含む構文にとって、書き換えルールである試用修正設定情報は、C=D-Bである。具体な例は表1に示すとおりである。 Taking Table T as an example, it is assumed that the fields in the corresponding formal database include fields A, B and C, and the fields in the corresponding trial database include fields A, B and D, and the configuration rule is D. Assuming = C + B, the trial modification setting information that is a rewrite rule for the syntax including the field C in the application request, for example, the general-purpose SQL request, is C = DB. Specific examples are shown in Table 1.

Figure 0007083901000001
Figure 0007083901000001

このように、計算ノードが汎用のSQL要求を受信すると、まず、予め設定されたパーティション設定情報に基づいて、関与するデータパーティションを判断し、正式データベースと試用データベースのユーザーに同時に関与すれば、SQL書き換えルールに従って書き換えが必要であるか否かを判断し、最後に、書き換えた構文を対応するデータベース(DB)であるデータノードに送信する。 In this way, when the compute node receives a general-purpose SQL request, it first determines the data partition involved based on the preset partition setting information, and if it is involved with the users of the official database and the trial database at the same time, it is SQL. It is determined whether or not rewriting is necessary according to the rewriting rule, and finally, the rewritten syntax is transmitted to the data node which is the corresponding database (DB).

1つの実施形態では、本願の方法は、
ユーザーは試用アプリケーションが正式に発行可能であると判断した場合、全ての元の正式データベースのデータ構造を試用データベースのデータ構造に修正し、すなわち元の正式データベースのデータ構造をアップデート処理し、
ユーザーは試用アプリケーションが適用されないと判断した場合、試用データベースのデータ構造を正式データベースのデータ構造にロールバックし、すなわち試用データベースのデータ構造をロールバック処理する。
In one embodiment, the method of the present application
If the user determines that the trial application can be officially published, it modifies the data structures of all the original official databases to the data structures of the trial database, that is, updates the data structures of the original official database.
If the user decides that the trial application does not apply, he rolls back the data structure of the trial database to the data structure of the official database, that is, rolls back the data structure of the trial database.

上記アップデート又はロールバックシーンに対して、SQL設定ルールに対して自動化スクリプトを生成することによりアップデートを実行してもよく、データを導入してユーザーを遷移することにより実現してもよい。 For the above update or rollback scene, the update may be executed by generating an automation script for the SQL setting rule, or it may be realized by introducing data and transitioning the user.

テーブルTを例にして、対応する正式データベースにおけるフィールドがフィールドA、フィールドB及びフィールドCを含み、対応する試用データベースにおけるフィールドがフィールドA、フィールドB及びフィールドDを含むと仮定し、かつ設定ルールがD=C+Bであると仮定すれば、アップデート及びロールバックスクリプトは表2に示すとおりである。 Taking Table T as an example, it is assumed that the fields in the corresponding formal database contain fields A, B and C, the fields in the corresponding trial database contain fields A, B and D, and the configuration rule is Assuming D = C + B, the update and rollback scripts are shown in Table 2.

Figure 0007083901000002
Figure 0007083901000002

テーブルT1を例にして、対応する正式データベースにおけるフィールドがフィールドA、フィールドB及びフィールドCを含み、対応する試用データベースにおけるフィールドがフィールドA、フィールドB及びフィールドDを含むと仮定し、テーブルT2の対応する正式データベースにおけるフィールドがフィールドE、フィールドF及びフィールドGを含むと仮定し、かつ設定ルールがT1.D=T1.A+T1.B+T2.Gであると仮定すれば、アップデート及びロールバックスクリプトは表3に示すとおりである。 Taking Table T1 as an example, it is assumed that the fields in the corresponding formal database include fields A, B and C, and the fields in the corresponding trial database include fields A, B and D, and the correspondence in table T2. It is assumed that the fields in the formal database include fields E, F and G, and the setting rule is T1. D = T1. A + T1. B + T2. Assuming G, the update and rollback scripts are as shown in Table 3.

Figure 0007083901000003
Figure 0007083901000003

試用ユーザー及び正式ユーザーに同時に関与する要求は、一般的に統計レポートの処理であり、図5は、本願に係る試用要求レポートの統計処理の実施例の概略図であり、図5に示すように、試用ユーザー及び正式ユーザーに同時に関与する要求は、一般的に統計レポートの処理であり、正式データベースと試用データベースは、同一のレポート生成プログラムを共用し、例えば、同一の記憶プログラムにより生成されるレポートは、割り当てレポートのように構造が同じであり、計算ノードは、正式データベースと試用データベースのレポート生成プログラムを呼び出すことを担当し、SQL書き換えルールをロードすることによりレポート生成プログラムに異なるパラメータを導入し、各データベースにおける同名異種テーブルのテーブル構造をマッチングし、計算ノードは、各データベースの生成したレポートである割り当てレポートをまとめることを担当する。 Requests that simultaneously involve the trial user and the official user are generally statistical report processing, and FIG. 5 is a schematic diagram of an example of statistical processing of the trial request report according to the present application, as shown in FIG. Requests involving the trial user and the official user at the same time are generally the processing of statistical reports, and the official database and the trial database share the same report generator, for example, reports generated by the same storage program. Has the same structure as the allocation report, the compute node is responsible for calling the report generator for the formal database and the trial database, and introduces different parameters into the report generator by loading the SQL rewrite rules. , Matching the table structure of heterogeneous tables with the same name in each database, the compute node is responsible for putting together the allocation reports that are the reports generated by each database.

図5に示すように、記憶過程を例にして、正式データベース及び試用データベースには、いずれも上記同一の記憶過程が存在し、計算ノードがレポート生成命令を発行すると、レポートに関与するテーブルに基づいて異なる書き換えルールをトリガし、異なるパラメータを導入し、例えば、テーブルTに対して、正式データベースの記憶過程においてフィールドCにバッチ処理を行い、試用データベースの記憶過程においてフィールドE/10の結果を処理する。 As shown in FIG. 5, taking the storage process as an example, the same storage process exists in both the formal database and the trial database, and when the compute node issues a report generation instruction, it is based on the table involved in the report. Trigger different rewrite rules and introduce different parameters, for example, for table T, batch process field C in the storage process of the formal database and process the result of field E / 10 in the storage process of the trial database. do.

図5に示すように、統計記憶過程を例にして、当該記憶過程は、テーブル内に100よりも大きいあるフィールドの個数を統計する。正式データベースでは、フィールドCに直接導入するが、試用データベースでは、正確な統計を実現しようとすると、E/10を導入する必要がある。 As shown in FIG. 5, taking a statistical storage process as an example, the storage process statistics the number of fields in the table that are greater than 100. In the official database, it is introduced directly in the field C, but in the trial database, it is necessary to introduce E / 10 in order to realize accurate statistics.

図6は、本願に係る清算処理の実施例のフローチャートであり、図6に示すように、ダークローンチにおける清算プログラムは主に、1部のみの清算ファイルがあり、請求書記録テーブルが正式データベース及び試用データベースに分散され、正式データベースと試用データベースにおける清算記録テーブルの構造が異なる可能性があるという2つの問題を処理する。 FIG. 6 is a flowchart of an embodiment of the clearing process according to the present application, and as shown in FIG. 6, the clearing program in Dark Loch mainly has only one copy of the clearing file, and the invoice record table is a formal database and. It is distributed across the trial database and handles two issues where the structure of the clearing record table in the official database and the trial database may be different.

正式データベース及び試用データベースにおいて清算仮テーブルを作成し、仮テーブルのテーブル構成と清算システムから導出された清算データファイルを一致させることと、
計算ノードが清算データファイル内のエントリを、正式ユーザー(図6のエントリ1、エントリ2及びエントリ3)、試用ユーザー(図6のエントリ4及びエントリ5)のパーティション設定ルールに従って対応する仮テーブルに導入することと、
計算ノードが、各データベースにおける清算プログラム(例えば、記憶過程)を呼び出し、SQL書き換えルールをロードすることにより、異なるパーティションノードにおける清算プログラムに異なるパラメータを導入し、データベース内の同名異種の清算テーブルをマッチングする(書き換えることにより、要求内の構文を、データベース内のテーブルの構造と同じようにする調整する)ことと、
各割り当てられたデータベースの清算が終了した後、計算ノードが清算結果をまとめることとを含む。
Create a clearing temporary table in the official database and trial database, and match the table structure of the temporary table with the clearing data file derived from the clearing system.
The compute node introduces the entries in the clearing data file into the corresponding temporary table according to the partitioning rules of the official user (entry 1, entry 2 and entry 3 in Figure 6) and the trial user (entry 4 and entry 5 in Figure 6). To do and
A compute node calls a clearing program (eg, a storage process) in each database and loads SQL rewrite rules to introduce different parameters into the clearing program in different partitioned nodes and match different clearing tables with the same name in the database. (By rewriting, adjust the syntax in the request so that it resembles the structure of the table in the database).
After the clearing of each assigned database is completed, the compute node summarizes the clearing results.

図7は、本願に係るダークローンチ実現装置の構成概略図であり、図7に示すように、前記装置は、
受信されたアプリケーション要求を処理し、受信されたアプリケーション要求が試用要求であると決定するように構成されるフィルタリングモジュールと、
予め設定されたパーティション設定情報に基づいて試用要求を解析し、試用要求が試用データを要求する第1の試用要求であるか又は試用データ及び正式データを要求する第2の試用要求であるかを決定するように構成される解析モジュールと、
第1の試用要求又は第2の試用要求における、試用ユーザーのデータを要求する部分を、試用要求に対応する試用ユーザーが位置する試用データノードに転送して実行し、第2の試用要求における、正式ユーザーのデータを要求する部分を、正式ユーザーが位置する正式データノードに転送して実行するように構成される転送モジュールとを少なくとも含む。
FIG. 7 is a schematic configuration diagram of the dark clone realization device according to the present application, and as shown in FIG. 7, the device is
A filtering module configured to process incoming application requests and determine that the received application request is a trial request,
It analyzes the trial request based on the preset partition setting information and determines whether the trial request is the first trial request requesting the trial data or the second trial request requesting the trial data and the official data. An analysis module configured to determine and
In the first trial request or the second trial request, the part requesting the data of the trial user is transferred to the trial data node where the trial user corresponding to the trial request is located and executed, and in the second trial request, It includes at least a transfer module configured to transfer and execute the part that requests the data of the formal user to the formal data node where the formal user is located.

1つの実施形態では、本願に係る装置は、
予め設定された試用修正設定情報に基づいて、第1の試用要求又は第2の試用要求における、試用ユーザーのデータを要求する部分を書き換え、そして書き換えた第1の試用要求又は第2の試用要求を転送モジュールに出力するように構成される処理モジュールをさらに含む。
In one embodiment, the apparatus according to the present application is
Based on the preset trial modification setting information, the part of the first trial request or the second trial request that requests the data of the trial user is rewritten, and the rewritten first trial request or second trial request is performed. Further includes a processing module configured to output to the transfer module.

1つの実施形態では、フィルタリングモジュールは、さらに、受信されたアプリケーション要求が正式データを要求する正式要求であると決定すれば、正式要求を、正式要求に対応する正式ユーザーが位置する正式データノードに転送して実行するように構成される。 In one embodiment, the filtering module further determines that the received application request is a formal request requesting formal data, so that the formal request is sent to the formal data node where the formal user corresponding to the formal request is located. It is configured to transfer and execute.

1つの実施形態では、フィルタリングモジュールは、IPホワイトリストにより、受信されたアプリケーション要求をフィルタリングすることにより、受信されたアプリケーション要求が試用データを要求する試用要求であるか又は正式データを要求する正式要求であるかを区別するように構成される。より具体的には、
IPホワイトリストは、正式要求IPホワイトリスト及び試用要求IPホワイトリストの2つの部分に分けられ、正式要求IPホワイトリスト内の正式アプリケーションデータベースクライアントからのアプリケーション要求が正式要求であり、試用要求IPホワイトリスト内の試用アプリケーションデータベースクライアントからのアプリケーション要求が試用要求であり、非ホワイトリストIPからのアプリケーション要求が破棄される。
In one embodiment, the filtering module filters the received application request by an IP whitelist so that the received application request is a trial request requesting trial data or a formal request requesting formal data. It is configured to distinguish between. More specifically
The IP whitelist is divided into two parts, the formal request IP whitelist and the trial request IP whitelist. The application request from the formal application database client in the formal request IP whitelist is the formal request, and the trial request IP whitelist. The application request from the trial application database client in is a trial request, and the application request from the non-whitelist IP is discarded.

1つの実施形態では、解析モジュールは、試用要求に基づいてクエリが必要とするテーブルを決定し、パーティション設定情報に基づいて当該テーブルのパーティショニングルールをクエリし、かつパーティショニングルールに応じて当該試用要求に対応するデータノードを決定するように構成される。 In one embodiment, the analysis module determines the table required by the query based on the trial request, queries the partitioning rules for the table based on the partitioning information, and depending on the partitioning rules, the trial. It is configured to determine the data node that corresponds to the request.

1つの実施形態では、解析モジュールは、さらに、予め設定されたパーティション設定情報に基づいて、分散データベースのデータパーティショニング機能を利用して、データベース層において試用ユーザーのデータと正式ユーザーのデータを区別し、すなわち、試用ユーザーと正式ユーザーを区別するように構成される。また、本願は、同じパーティション設定情報を用いて、同一のユーザーの全ての関連データが同じ分散ルールを有することを保証する。 In one embodiment, the analysis module also utilizes the data partitioning feature of the distributed database to distinguish between trial user data and official user data at the database tier, based on preset partitioning information. That is, it is configured to distinguish between a trial user and an official user. The application also guarantees that all relevant data of the same user will have the same distribution rule using the same partitioning information.

1つの実施形態では、処理モジュールは、さらに、試用ユーザーと正式ユーザーが使用するデータテーブル構造が異なるように、試用修正設定情報に基づいて、試用ユーザーデータベースのテーブル構造を書き換えるように構成される。 In one embodiment, the processing module is further configured to rewrite the table structure of the trial user database based on the trial modification setting information so that the data table structure used by the trial user and the official user are different.

1つの実施形態では、処理モジュールは、さらに、試用ユーザーのアプリケーション特性に応じて、対応する試用テーブルのテーブル構造を修正するように構成される。 In one embodiment, the processing module is further configured to modify the table structure of the corresponding trial table, depending on the application characteristics of the trial user.

1つの実施形態では、処理モジュールは、さらに、試用ユーザーと正式ユーザーに同時に関与する第2の試用要求、例えば統計レポートなどに対して、データの実行が完了した後、試用ユーザーが位置する試用データノードへ送信した一部の実行結果と、正式ユーザーが位置する正式データノードへ送信した一部の実行結果とをまとめるように構成される。 In one embodiment, the processing module also places trial data in which the trial user is located after the execution of the data is complete for a second trial request that involves the trial user and the official user at the same time, such as a statistical report. It is configured to combine some execution results sent to the node and some execution results sent to the official data node where the official user is located.

1つの実施形態では、処理モジュールは、さらに、データを再分散して負荷を均等化するように構成され、データを再分散して負荷を均等化することは、一部のホットスポットデータを追加パーティションに移動するか又は負荷の大きいデータノードから負荷の小さいデータノードに遷移することを含む。 In one embodiment, the processing module is further configured to redistribute the data to equalize the load, and redistributing the data to equalize the load adds some hotspot data. Includes moving to a partition or transitioning from a heavily loaded data node to a lightly loaded data node.

1つの実施形態では、処理モジュールは、さらに、
ユーザーが、試用アプリケーションが正式に発行可能であると判断した場合、全ての元の正式データベースのデータ構造を試用データベースのデータ構造に修正し、すなわち元の正式データベースのデータ構造をアップデート処理し、ユーザーが、試用アプリケーションが適用されないと判断した場合、試用データベースのデータ構造を正式データベースのデータ構造にロールバックし、すなわち試用データベースのデータ構造をロールバック処理するように構成される。
In one embodiment, the processing module further
If the user determines that the trial application can be officially published, the data structure of all the original official databases is modified to the data structure of the trial database, that is, the data structure of the original official database is updated and the user However, if it determines that the trial application does not apply, it is configured to roll back the data structure of the trial database to the data structure of the official database, that is, to roll back the data structure of the trial database.

実際の応用において、上記ダークローンチ実現装置における各手段が実現する機能は、いずれもダークローンチ実現装置にある中央処理装置(CPU、Central Processing Unit)、マイクロプロセッサ(MPU、Micro Processor Unit)、デジタルシグナルプロセッサ(DSP、Digital Signal Processor)、又はフィールドプログラマブルゲートアレイ(FPGA、Field Programmable Gate Array)などによって実現できる。 In an actual application, the functions realized by each means in the above-mentioned darkness realization device are the central processing unit (CPU, Central Processing Unit), the microprocessor (MPU, MicroProcessor Unit), and the digital signal in the darkness realization device. It can be realized by a processor (DSP, Digital Signal Processor), a field programmable gate array (FPGA, Field Programmable Gate Array), or the like.

図8は、本願に係る計算ノードの構成実施例の概略図であり、図8に示すように、IPホワイトリスト、静的ルーティングモジュール及びデータ書き換えモジュールを含み、IPホワイトリストが具体的に図7のいずれか1つのフィルタリングモジュールのように実現され、静的ルーティングモジュールが具体的に図7のいずれか1つの解析モジュールのように実現され、データ書き換えモジュールが具体的に図7のいずれか1つの処理モジュールのように実現される。 FIG. 8 is a schematic diagram of a configuration embodiment of a calculation node according to the present application, and as shown in FIG. 8, includes an IP white list, a static routing module, and a data rewriting module, and the IP white list is specifically shown in FIG. 7. The static routing module is specifically realized as any one of the analysis modules in FIG. 7, and the data rewriting module is specifically realized as any one of FIG. 7. It is realized like a processing module.

データノードが起動するとき、計算ノードは、IPホワイトリストによってIPホワイトリスト設定情報をロードし、静的ルーティングモジュールによってデータパーティション設定情報をロードし、SQLデータ書き換えモジュールによってSQL書き換えルール設定情報をロードする。本願に係る計算ノードの動作原理は、以下を含む。 When the data node is started, the compute node loads the IP whitelist configuration information by the IP whitelist, the data partition configuration information by the static routing module, and the SQL rewrite rule configuration information by the SQL data rewrite module. .. The operating principle of the calculation node according to the present application includes the following.

データ計算ノードのIPホワイトリストモジュールは、受信した全ての外部アプリケーション要求に対してホワイトリストのフィルタリングを行い、ホワイトリストが、正式要求IPホワイトリストと試用要求IPホワイトリストの2つの部分を含む。非ホワイトリストIPから送信されてきたSQL要求を破棄し、正式クライアント(例えば、図中のIP1)から送信されてきた要求をそのまま正式データベースに送信し、試用クライアント(例えば、図中のIP2)から送信されてきた要求を静的ルーティングモジュールに送信して処理し、
計算ノードの静的ルーティングモジュールは、データパーティション設定情報に基づいてSQL要求に対してルーティング及び解析を行う。SQL要求を解析することにより、SQL要求を、正式データの個別要求、試用データの個別要求及び多部分ユーザーデータの同時要求の3種類に分類する。正式データを要求するSQL要求を正式データベースに送信し、試用データを要求するSQL要求と多部分ユーザーデータを同時に要求するSQL要求とをデータ書き換えモジュールによって書き換えた後に試用データベースに送信する。
The IP whitelist module of the data compute node filters the whitelist for all received external application requests, and the whitelist contains two parts: the official request IP whitelist and the trial request IP whitelist. The SQL request sent from the non-whitelist IP is discarded, the request sent from the formal client (for example, IP1 in the figure) is sent to the formal database as it is, and the trial client (for example, IP2 in the figure) sends it as it is. Sends the incoming request to the static routing module for processing and
The static routing module of the compute node routes and analyzes the SQL request based on the data partition setting information. By analyzing the SQL request, the SQL request is classified into three types: individual request for formal data, individual request for trial data, and simultaneous request for multi-part user data. The SQL request requesting formal data is sent to the formal database, and the SQL request requesting trial data and the SQL request requesting multi-part user data at the same time are rewritten by the data rewriting module and then sent to the trial database.

図9は、本願に係る分散データベースに基づいてダークローンチを実現する全体的なアーキテクチャの概略図であり、図9に示すように、分散データベースの先端は、複数のアプリケーション、例えば図1のアプリケーション1、アプリケーション2…アプリケーションXに通信し、複数のアプリケーションは、それぞれ正式ユーザーからのアプリケーション要求と試用ユーザーからのアプリケーション要求とを処理するために用いられる。 FIG. 9 is a schematic diagram of an overall architecture that realizes a dark clone based on the distributed database according to the present application, and as shown in FIG. 9, the tip of the distributed database is a plurality of applications, for example, application 1 of FIG. , Application 2 ... Communicating with application X, the plurality of applications are used to process application requests from official users and application requests from trial users, respectively.

分散データベース内のデータノードクラスターは、複数のデータノード、例えば図1のデータノード1、データノード2…データノードMを含み、全てのユーザーデータをキャリアするために用いられる。データは、パーティションポリシーによって複数のデータノードに分散され、各データノードは、一部のユーザーデータをキャリアする。 A data node cluster in a distributed database includes a plurality of data nodes, such as data node 1, data node 2 ... data node M in FIG. 1, and is used to carry all user data. The data is distributed to multiple data nodes by the partition policy, and each data node carries some user data.

分散データベース内の計算ノードクラスターは、複数の計算ノード、例えば図1の計算ノード1、計算ノード2…計算ノードNを含み、外部にサービスを提供するために用いられ、具体的に図8のいずれか1つの計算ノードを含む。計算ノードは、無共有アーキテクチャを採用し、アプリケーションに統一的な標準構造化クエリ言語(SQL)インタフェースを提供し、複数の計算ノードは、ロードバランシングを行う。計算ノードは、データパーティション情報に基づいて対応するデータセット位置を見つけることにより、対応するSQL構文を対応するデータノードに送信して実行することができる。 A compute node cluster in a distributed database includes a plurality of compute nodes, such as compute node 1, compute node 2 ... compute node N in FIG. 1, and is used to provide services to the outside, specifically any of FIG. Contains one compute node. Computational nodes adopt a non-shared architecture, provide a unified standard structured query language (SQL) interface for applications, and multiple compute nodes perform load balancing. The compute node can send and execute the corresponding SQL syntax to the corresponding data node by finding the corresponding dataset location based on the data partition information.

本願は、プロセッサによって実行されると、上記いずれか1つのダークローンチ実現方法のステップを実現するコンピュータプログラムが記憶されている、コンピュータ可読記憶媒体をさらに提供する。 The present application further provides a computer-readable storage medium, which, when executed by a processor, stores a computer program that implements any one of the steps of the dark clone implementation method described above.

図10は、本願に係るダークローンチ実現装置の構成概略図であり、図10に示すように、プロセッサと、上記プロセッサによって実行されると、上記いずれか1つのダークローンチ実現方法を実現する命令が記憶されているコンピュータ可読記憶媒体とを含む。 FIG. 10 is a schematic configuration diagram of a dark roach realization device according to the present application, and as shown in FIG. 10, a processor and an instruction for realizing any one of the above dark roach realization methods when executed by the processor are issued. Includes stored computer-readable storage media.

コンピュータ可読記憶媒体は、フラッシュメモリ、ハードディスク、マルチメディアカード、カード型メモリ(例えば、SDメモリーカード(SDカード、Secure Digital Memory Card)又はデータレジスタ(DX、Data Register)メモリなど)、ランダムアクセスメモリ(RAM、Random Access Memory)、静的ランダムアクセスメモリ(SRAM、Static Random Access Memory)、リードオンリーメモリ(ROM、Read Only Memory)、電気的に消去可能なプログラマブルリードオンリーメモリ(EEPROM、Electrically Erasable Programmable Read-Only Memory)、プログラマブルリードオンリーメモリ(PROM、Programmable Read-Only Memory)、磁気メモリ、磁気ディスク、光ディスクなどのうちのいずれか1つ又は複数を含む。 Computer-readable storage media include flash memory, hard disk, multimedia card, card-type memory (for example, SD memory card (SD card, Secure Digital Memory Card) or data register (DX, Data Register) memory, etc.), random access memory (for example). RAM, Random Access Memory), Static Random Access Memory (SRAM, Static Random Access Memory), Read Only Memory (ROM, Read Only Memory), Electrically Erasable Programmable Read Only Memory (EEPROM, Electrically Memory) Only one or more of (Only Memory), programmable read-only memory (ROM, Programmable Read-Only Memory), magnetic memory, magnetic disk, optical disk and the like.

プロセッサは、中央処理装置(CPU、Central Processing Unit)、コントローラ、マイクロコントローラ、マイクロプロセッサ又は他のデータ処理チップなどであってよい。 The processor may be a central processing unit (CPU, Central Processing Unit), controller, microcontroller, microprocessor or other data processing chip.

以下、具体的な応用シーンを参照しながら本願に係るダークローンチ実現方法について詳細に説明する。 Hereinafter, the dark clone realization method according to the present application will be described in detail with reference to specific application scenes.

第1の実施例は、分散データベースがサービスの多段ダークローンチをサポートする実施例であり、図11は、本願に係るダークローンチを実現する第1の実施例の概略図であり、図11に示すように、第1の実施例の分散データベースは複数のデータノードがあり、通常、全てのデータが正式ライブラリにセットされる。ユーザーが複数の試用修正の比較を同時に行うことを望む場合、試用ユーザーのデータを他の複数のデータノード、例えば試用ライブラリ1、試用ライブラリ2…試用ライブラリnに割り当てて実行する。具体的には以下を含む。 The first embodiment is an example in which the distributed database supports the multi-stage dark clone of the service, and FIG. 11 is a schematic diagram of the first embodiment for realizing the dark clone according to the present application, which is shown in FIG. As such, the distributed database of the first embodiment has a plurality of data nodes, and usually all the data are set in the formal library. When the user wants to compare a plurality of trial modifications at the same time, the data of the trial user is assigned to a plurality of other data nodes, for example, trial library 1, trial library 2, ... trial library n, and executed. Specifically, it includes the following.

分散データベースの再分散機能を使用し、試用テストのユーザー分布設定情報ルールに従ってテーブルのパーティション情報を設定し、予め設定された、サービスを満たす適切なパーティションルールを採用して、データに再分散操作を行い、一類試用修正に応用される試験ユーザーのデータを試用ライブラリ1に設定し、二類試用修正に応用される試験ユーザーのデータを試用ライブラリ2に設定し、…n類試用修正に応用される試験ユーザーのデータを試用ライブラリnに設定し、
パーティション1からパーティションnまでのそれぞれに対してテーブル構造の試用修正操作を行い、それぞれ新しいパーティション上のテーブルにalter操作を行い、例えば、alter T set C=C+1、alter T set C=C+2、…alter T set C=C+nにし、異なるパーティションでは、テーブル構造の試用修正操作に対して、対応するSQL書き換え設定を追加し、例えば、データノードnにC=C-nを追加する。
Use the distributed database redistribution feature to set the partition information of the table according to the user distribution setting information rule of the trial test, and adopt the appropriate pre-configured partition rule that satisfies the service to perform the redistribution operation on the data. The data of the test user applied to the first-class trial modification is set in the trial library 1, the data of the test user applied to the second-class trial modification is set in the trial library 2, and ... It is applied to the n-class trial modification. Set the test user data in the trial library n and set it.
Perform a trial modification operation of the table structure for each of partitions 1 to n, and perform an alter operation on the table on the new partition, for example, alter T set C = C + 1, alter T set C = C + 2, ... alter. Set T set C = C + n, and in different partitions, add the corresponding SQL rewrite settings for the trial modification operation of the table structure, for example, add C = Cn to the data node n.

このように、システムが実行するとき、計算ノードの静的ルーティングモジュールは、元のSQL構文を解析しルーティング分割し、全ての分割後のSQLに対して、データ書き換えモジュールによって、当該SQLに対応する実行ノードのSQL書き換えルールを見つけ、書き換えた後に対応する試用ライブラリに送信して実行する。構文select C from Tを例にして、対応するパーティション2上の構文をselect C-1 from Tに書き換え、対応するパーティション3上の構文をselect c-2 from Tに書き換え、…対応するパーティションn上の構文をselect c-n from Tに書き換える。 In this way, when the system executes, the static routing module of the compute node analyzes the original SQL syntax and divides the routing, and for all the divided SQLs, the data rewrite module corresponds to the SQL. Find the SQL rewrite rule of the execution node, rewrite it, and then send it to the corresponding trial library to execute it. Using the syntax select C from T as an example, the syntax on the corresponding partition 2 is rewritten to select C-1 from T, the syntax on the corresponding partition 3 is rewritten to select c-2 from T, and so on. Rewrite the syntax of to select c-n from T.

全てのオンラインのシングルノード取引(1つのユーザーデータのみに関与するオンラインサービス)はそのまま戻り、計算ノードが構文selcet c from T where id in set nをノードnのみに送信すると判断すれば、当該構文をselcet c-n from T where id in set nに書き換え、バッチのノードクロス取引(複数のパーティションの複数のユーザーに関与するサービス)を、計算ノードによってまとめた後に戻し、計算ノードが構文selcet c from T where id in set{n-1,n}をノード(n-1)とノードnに送信すると判断すれば、当該構文を2つの構文に分割し、1つの構文selet c-(n-1) from T where id in set n-1をノード(n-1)に送信し、別の構文selet c-n from T where id in set nをノードnに送信する。 All online single-node transactions (online services involving only one user data) will return as is, and if the compute node determines that it will send the syntax select c from Node in set n only to node n, then the syntax will be changed. Rewrite to select cn from T from id in set n, and return the batch node cross transaction (service involving multiple users of multiple partitions) after being summarized by the compute node, and the compute node has the syntax select c from T. If it is determined that the if id in set {n-1, n} is to be transmitted to the node (n-1) and the node n, the syntax is divided into two syntaxes and one syntax is set c- (n-1) from. T whoe id in set n-1 is sent to the node (n-1), and another syntax set c-n from T where id in set n is sent to the node n.

各試用ノードの試験が完了した後、ある試用修正タイプがユーザーの需要を満たせば、当該試用ノードの修正タイプに対応するSQL書き換え設定情報によってアップデートスクリプトを直接生成し、かつ当該アップデートスクリプトを利用してデータベース全体に試用アップデートを行うことができる。 After the test of each trial node is completed, if a trial modification type meets the user's demand, an update script is directly generated by the SQL rewrite setting information corresponding to the modification type of the trial node, and the update script is used. You can make a trial update to the entire database.

第2の実施例は、分散データベースがグローバルサービスの統一的建設をサポートすることであり、図12は、本願に係るダークローンチを実現する第2の実施例の概略図であり、図12に示すように、第2の実施例では、サービス設計部門が統一的なアプリケーションプラットフォームの構築を担当し、データ構造を統一的に求めることにより、データレポートの統計を容易にし、下部のサービス建設部門がそれぞれいくつかの特別な需要を有し、同一のサービスに対する処理方式がそれぞれ異なると仮定する。この場合には、本願に係る分散データベースシステムを使用して、グローバルサービスの統一的建設需要を満たすことができる。具体的には以下を含む。 The second embodiment is that the distributed database supports the unified construction of the global service, and FIG. 12 is a schematic diagram of the second embodiment for realizing the dark clone according to the present application, which is shown in FIG. As such, in the second embodiment, the service design department is in charge of building a unified application platform, and by requesting a unified data structure, the statistics of the data report are facilitated, and the service construction department at the bottom is each. Suppose you have some special demands and different processing methods for the same service. In this case, the distributed database system according to the present application can be used to meet the unified construction demand for global services. Specifically, it includes the following.

異なるサービス建設部は、統一されたサービスに対して同じテーブル名Tを使用し、またプラットフォームのデータ統一に対する要件を満たす。分散データベースの再分散機能を使用し、各部門のユーザー分布設定ルールに従ってテーブルのパーティション情報を設定し、データを再パーティショニングし、例えば、部門1のデータをサービスライブラリ1に設定し、部門2のデータをサービスライブラリ2に設定し、…部門nのデータをサービスライブラリnに設定し、各建設部門は、それぞれのサービスロジックに従って、それぞれのテーブル構造を修正し、それぞれのalter構文を実行する。異なるパーティションでは、各部門は、テーブル構造の修正操作に対して、対応するSQL書き換え設定ルールを追加する。 Different service construction departments use the same table name T for unified services and also meet the requirements for platform data unification. Using the distributed database redistribution function, set the partition information of the table according to the user distribution setting rule of each department, repartition the data, for example, set the data of department 1 to the service library 1, and set the data of department 2 to the service library 1. The data is set in the service library 2, ... The data of the department n is set in the service library n, and each construction department modifies each table structure and executes each alter syntax according to the respective service logic. In different partitions, each department adds a corresponding SQL rewrite configuration rule for the table structure modification operation.

このように、システムが実行するとき、計算ノードの静的ルーティングモジュールは、SQL構文を解析し分割し、全ての分割後のSQL要求が対応する分割サービスライブラリを有し、対応する分割サービスライブラリのデータ書き換えモジュールによって、対応するSQL書き換えルールを見つけ、書き換えた後に対応する分割サービスライブラリに送信して実行する。 Thus, when the system runs, the compute node's static routing module parses and splits the SQL syntax, and all post-split SQL requests have a corresponding split service library of the corresponding split service library. The data rewrite module finds the corresponding SQL rewrite rule, rewrites it, and then sends it to the corresponding split service library for execution.

各サービス構築部門のそれぞれのサービスライブラリに関与するデータのみはそのまま戻り、プラットフォーム部門の統一的なバッチ取引、例えばグローバル統計のようなサービスライブラリクロスクエリは計算ノードによってまとめられた後に戻る。 Only the data related to each service library of each service construction department is returned as it is, and the unified batch transaction of the platform department, for example, the service library cross query such as global statistics is returned after being summarized by the compute node.

異なるサービスライブラリは、常に異なるテーブル構造及びデータ書き換えルールを維持する。このように、それぞれのサービスがプラットフォームの統一的要件と矛盾するとき、それぞれのテーブル構造を修正し設定ルールを書き換えることにより調整する。 Different service libraries always maintain different table structures and data rewrite rules. In this way, when each service conflicts with the unified requirements of the platform, it is adjusted by modifying each table structure and rewriting the setting rule.

第3の実施例は、分散データベースを用いてサービスのアップデート及びロールバックを迅速に行い、図13は、本願に係るダークローンチを実現する第3の実施例の概略図であり、図13に示すように、第3の実施例では、本願に係る対応するアップデート及びロールバック方法を用いて、サービスバージョンのアップデート及びロールバックを迅速に実現し、かつ基本的にサービス時間を占有せず、サービス中断を引き起こさない。具体的には以下を含む。 The third embodiment rapidly updates and rolls back the service using the distributed database, and FIG. 13 is a schematic diagram of the third embodiment that realizes the dark clone according to the present application, and is shown in FIG. As described above, in the third embodiment, the corresponding update and rollback method according to the present application is used to quickly realize the update and rollback of the service version, and basically do not occupy the service time, and the service is interrupted. Does not cause. Specifically, it includes the following.

サービスがアップデートする必要がある場合、サービスコードを修正する必要がなく、テーブル構造を修正し、構文alter set C=B+Cを実行することにより、元のテーブルT(A、B、C)をテーブルT(A、B、B+C)にランクアップすればよい。テーブルTからテーブルT´までのテーブル構造の修正に対して、対応するSQL書き換え設定情報であるC=B+Cを追加し、追加した後、テーブルT’に関連するSQL構文の全てを当該SQL書き換え設定情報に従って書き換え、すなわち、元のSQLコードにおけるCをC-Bに置き換え、置き換え完了後に対応するデータノードに送信して実行する。 If the service needs to be updated, the original table T (A, B, C) can be converted to table T by modifying the table structure and executing the syntax alter set C = B + C without having to modify the service code. You may rank up to (A, B, B + C). For the modification of the table structure from table T to table T', add C = B + C, which is the corresponding SQL rewrite setting information, and after adding, set all the SQL syntax related to table T'in the relevant SQL rewrite setting. It is rewritten according to the information, that is, C in the original SQL code is replaced with CB, and after the replacement is completed, it is transmitted to the corresponding data node and executed.

サービスがロールバックする必要がある場合、サービスコードを修正する必要がなく、そのままテーブルTに構文alter set C=C-Bの操作を実行し、テーブルTを先のテーブルTのデータ構造に戻すとともに、SQL書き換え設定情報C=B+Cを削除すればよい。このように、サービスが前のバージョンにロールバックすることが簡単に実現される。 If the service needs to be rolled back, there is no need to modify the service code, just execute the operation of the syntax alter set C = CB on the table T, return the table T to the data structure of the previous table T, and at the same time. , SQL rewrite setting information C = B + C may be deleted. In this way, it is easy to roll back the service to the previous version.

第4の実施例は、SQL自動書き換え機能とルーティングマスク機能を用いてサービスをホットフィックスし、図14は、本願に係るダークローンチを実現する第4の実施例の概略図であり、図14に示すように、第4の実施例では、分散データベースのデータノードの個数を問わない。通常、サービス実行は正常である。SQLに関連するサービスロジックバグ(bug)が現れるとき、本願に係るSQL書き換え機能又はSQLマスク機能によってサービスロジックを修正して、bugによるユーザーへの影響を低減することができる。具体的には以下を含む。 In the fourth embodiment, the service is hotfixed by using the SQL automatic rewriting function and the routing mask function, and FIG. 14 is a schematic diagram of the fourth embodiment for realizing the dark clone according to the present application, which is shown in FIG. As described above, in the fourth embodiment, the number of data nodes in the distributed database does not matter. Service execution is usually normal. When a service logic bug (bug) related to SQL appears, the service logic can be modified by the SQL rewriting function or the SQL mask function according to the present application to reduce the influence of the bug on the user. Specifically, it includes the following.

生産環境で正常に動作する過程で、特に携帯電話のAPPの場合、ロジックbugが現れれば、アプリケーションが既にユーザーに配布されており、ユーザーのクライアントAPPを直接修正する必要がなく、このような問題に対して、本願は、2つの処理方式を有し、
ロジックが簡単であるbugに対して、bugを修正するロジックに基づいて、関連するテーブルのSQL書き換え設定情報を追加するか又は修正し、元のbugのSQLロジックを正常なSQLロジックに修正することにより、bug修正の目的を達成する。例えば、元のSQL構文がselect A from table Tであり、サービスにおいて単位の計算が間違っており、戻す必要があるのが1000*Aであると仮定すれば、SQL書き換え設定情報であるA=1000*Aを追加することにより、このロジックを修正すればよく、
ロジックが複雑であれば、例えば、SQL修正によって依然として当該サービスロジックを修正することができない場合、計算ノードの静的ルーティングモジュールで対応するSQL構文をマスクすることができ、例えば、サービスが当該SQL構文を実行するとき、そのままエラーを戻し、このようにbugの影響範囲も制限される。
In the process of operating normally in the production environment, especially in the case of mobile phone APP, if the logic bug appears, the application has already been distributed to the user and there is no need to directly modify the user's client APP, such a problem. On the other hand, the present application has two processing methods.
For a bug whose logic is simple, add or modify the SQL rewrite setting information of the related table based on the logic that modifies the bug, and modify the SQL logic of the original bug to the normal SQL logic. To achieve the purpose of bug modification. For example, assuming that the original SQL syntax is select A from table T, the unit calculation is wrong in the service, and it is 1000 * A that needs to be returned, the SQL rewrite setting information A = 1000. * You can modify this logic by adding A,
If the logic is complex, for example, if the SQL modification still cannot modify the service logic, the static routing module of the compute node can mask the corresponding SQL syntax, for example, the service has the SQL syntax. When executing, the error is returned as it is, and the range of influence of the bug is also limited in this way.

本願に係るダークローンチ実現方法及び装置は、サービスコードを修正しない上で、アプリケーションのダークローンチがデータ構造及びサービスロジックを絶えず修正しなければならないという問題を解決し、全ての修正操作をデータベースにまとめて実行し、かつ分散データの再分散機能によってサービス部門がダークローンチデータをより迅速に構築することを容易にし、システムのリソース投入を節約し、サービスの試用反復の効率を向上させる。 The dark clone implementation method and device according to the present application solve the problem that the application dark clone must constantly modify the data structure and service logic without modifying the service code, and all the modification operations are put together in a database. And the distributed data redistribution feature makes it easier for service departments to build dark clone data faster, saves system resource input, and improves the efficiency of service trial iterations.

以上は、本発明の好ましい実施例に過ぎず、本発明の保護範囲を限定するためのものではない。本発明の精神及び原則内に行われるいかなる修正、同等置換、改善などは、いずれも本発明の保護範囲に含まれるべきである。 The above is merely a preferred embodiment of the present invention, and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the invention should be included in the scope of protection of the invention.

Claims (12)

受信されたアプリケーション要求を処理し、受信されたアプリケーション要求が試用要求であることを決定することと、
予め設定されたパーティション設定情報に基づいて試用要求を解析し、試用要求が試用データを要求する第1の試用要求であるか又は試用データ及び正式データを要求する第2の試用要求であるかを決定することと、
試用要求が第1の試用要求であると決定された場合、第1の試用要求を試用要求に対応する試用ユーザーが位置する試用データノードに転送して実行することと、又は試用要求が第2の試用要求であると決定された場合、第2の試用要求における、試用ユーザーのデータを要求する部分を、試用要求に対応する試用ユーザーが位置する試用データノードに転送して実行することと、第2の試用要求における、正式ユーザーのデータを要求する部分を、正式ユーザーが位置する正式データノードに転送して実行することとを含み、
前記予め設定されたパーティション設定情報に基づいて、試用要求を解析した後、前記実行を行う前に
予め設定された試用修正設定情報に基づいて、前記第1の試用要求又は前記第2の試用要求における、試用ユーザーのデータを要求する部分を書き換えることをさらに含み、
前記試用ユーザーと前記正式ユーザーの使用するデータテーブル構造が異なりながら、使用する名称が同じであるように、前記試用修正設定情報に基づいて、試用ユーザーデータベースのテーブル構造を書き換えることをさらに含む、ダークローンチ実現方法。
To process the received application request and determine that the received application request is a trial request,
It analyzes the trial request based on the preset partition setting information and determines whether the trial request is the first trial request requesting the trial data or the second trial request requesting the trial data and the official data. To decide and
If the trial request is determined to be the first trial request, the first trial request may be transferred to the trial data node where the trial user corresponding to the trial request is located and executed, or the trial request may be the second. If it is determined that the trial request is made, the part of the second trial request that requests the data of the trial user is transferred to the trial data node where the trial user corresponding to the trial request is located and executed. The part of the second trial request that requests the official user's data is transferred to the official data node where the official user is located and executed .
After analyzing the trial request based on the preset partition setting information and before performing the execution .
Further including rewriting the part of the first trial request or the second trial request that requests the data of the trial user based on the preset trial modification setting information.
Dark , including rewriting the table structure of the trial user database based on the trial modification settings information so that the data table structure used by the trial user and the official user are different, but the names used are the same. How to realize the launch.
予め設定された前記パーティション設定情報に基づいて、分散データベースのデータパーティショニング機能を利用して、データベース層において前記試用ユーザーのデータと前記正式ユーザーのデータを区別することをさらに含み、
同一のユーザーが同じパーティション設定情報を使用する、請求項1に記載の方法。
Further including distinguishing the data of the trial user from the data of the official user in the database layer by utilizing the data partitioning function of the distributed database based on the preset partition setting information.
The method of claim 1, wherein the same user uses the same partitioning information.
前記受信されたアプリケーション要求が正式データを要求する正式要求であると決定すれば、
正式要求を、正式要求に対応する正式ユーザーが位置する正式データノードに転送して実行することをさらに含む、請求項1又は2に記載の方法。
If it is determined that the received application request is a formal request for formal data,
The method of claim 1 or 2 , further comprising transferring and executing a formal request to a formal data node in which a formal user corresponding to the formal request is located.
予め設定されたIPホワイトリストにより、前記受信されたアプリケーション要求をフィルタリングすることにより、前記受信されたアプリケーション要求が試用データを要求する試用要求であるか又は正式データを要求する正式要求であるかを区別する、請求項1に記載の方法。 By filtering the received application request according to a preset IP whitelist, whether the received application request is a trial request requesting trial data or a formal request requesting formal data. The method of claim 1 for distinguishing. 前記IPホワイトリストは、正式要求IPホワイトリスト及び試用要求IPホワイトリストを含み、
前記IPホワイトリストにより、受信されたアプリケーション要求をフィルタリングすることは、
正式要求IPホワイトリスト内の正式アプリケーションデータベースクライアントからのアプリケーション要求が正式要求であると決定することと、
試用要求IPホワイトリスト内の試用アプリケーションデータベースクライアントからのアプリケーション要求が前記試用要求であると決定することと、
非ホワイトリストIPからのアプリケーション要求を破棄することとを含む、請求項に記載の方法。
The IP whitelist includes a formal request IP whitelist and a trial request IP whitelist.
Filtering received application requests by the IP whitelist
Formal Request To determine that an application request from a formal application database client in the IP whitelist is a formal request,
Trial Request To determine that the application request from the trial application database client in the IP whitelist is the trial request.
The method of claim 4 , comprising discarding the application request from the non-whitelist IP.
予め設定されたパーティション設定情報に基づいて試用要求を解析することは、
前記試用要求に基づいてクエリが必要とするテーブルを決定することと、
前記パーティション設定情報に基づいて当該テーブルのパーティショニングルールをクエリし、かつパーティショニングルールに応じて当該試用要求に対応するデータノードを決定することとを含む、請求項1又は2に記載の方法。
Analyzing the trial request based on the preset partitioning information is
Determining the table required by the query based on the trial request
The method of claim 1 or 2 , comprising querying the partitioning rules for the table based on the partitioning information and determining the data node corresponding to the trial request according to the partitioning rules.
前記第2の試用要求のデータの実行が完了した後、
前記試用ユーザーが位置する試用データノードへ送信した一部の実行結果と、前記正式ユーザーが位置する正式データノードへ送信した一部の実行結果とをまとめることをさらに含む、請求項1又は2に記載の方法。
After the execution of the data of the second trial request is completed,
Claim 1 or 2 , further comprising summarizing a part of the execution result transmitted to the trial data node where the trial user is located and a part of the execution result transmitted to the formal data node where the formal user is located. The method described.
データを再分散し、一部のホットスポットデータを追加パーティションに移動するか又は一部のホットスポットデータを負荷の大きいデータノードから負荷の小さいデータノードに遷移することをさらに含む、請求項1又は2に記載の方法。 Claim 1 or further comprises redistributing the data and moving some hotspot data to additional partitions or transitioning some hotspot data from a heavily loaded data node to a lightly loaded data node. The method according to 2 . 前記試用ユーザーのアプリケーション特性に応じて、対応する試用テーブルのテーブル構造を修正することをさらに含む、請求項又は2に記載の方法。 The method of claim or 2 , further comprising modifying the table structure of the corresponding trial table according to the application characteristics of the trial user. 試用アプリケーションが正式に発行されたと判断した場合、全ての正式データベースのデータ構造を、前記試用アプリケーションに対応する試用データベースのデータ構造に修正することと、
試用アプリケーションが適用されないと判断した場合、前記試用アプリケーションに対応する試用データベースのデータ構造を正式データベースのデータ構造にロールバックすることとをさらに含む、請求項1又は2に記載の方法。
If it is determined that the trial application has been officially published, the data structure of all official databases should be modified to the data structure of the trial database corresponding to the trial application.
The method of claim 1 or 2 , further comprising rolling back the data structure of the trial database corresponding to the trial application to the data structure of the formal database if it is determined that the trial application is not applicable.
受信されたアプリケーション要求を処理し、受信されたアプリケーション要求が試用要求であると決定するように構成されるフィルタリングモジュールと、
ロードされたパーティション設定情報に基づいて試用要求を解析し、試用要求が試用データを要求する第1の試用要求であるか又は試用データ及び正式データを要求する第2の試用要求であるかを決定するように構成される解析モジュールと、
予め設定された試用修正設定情報に基づいて、第1の試用要求又は第2の試用要求における、試用ユーザーのデータを要求する部分を書き換え、書き換えた第1の試用要求又は第2の試用要求を転送モジュールに出力するように構成される処理モジュールと、
解析モジュールは試用要求が第1の試用要求であると決定された場合、第1の試用要求を試用要求に対応する試用ユーザーが位置する試用データノードに転送して実行することと、又は解析モジュールは試用要求が第2の試用要求であると決定された場合、第2の試用要求における、試用ユーザーのデータを要求する部分を、試用要求に対応する試用ユーザーが位置する試用データノードに転送して実行し、第2の試用要求における、正式ユーザーのデータを要求する部分を、正式ユーザーが位置する正式データノードに転送して実行するように構成される転送モジュールとを含み、
処理モジュールは、さらに、前記試用ユーザーと前記正式ユーザーの使用するデータテーブル構造が異なりながら、使用する名称が同じであるように、前記試用修正設定情報に基づいて、試用ユーザーデータベースのテーブル構造を書き換えるように構成される、ダークローンチ実現装置。
A filtering module configured to process incoming application requests and determine that the received application request is a trial request,
Analyzes the trial request based on the loaded partition configuration information and determines whether the trial request is the first trial request requesting trial data or the second trial request requesting trial data and formal data. With an analysis module configured to
Based on the preset trial modification setting information, the part of the first trial request or the second trial request that requests the data of the trial user is rewritten and the rewritten first trial request or the second trial request is made. A processing module configured to output to the transfer module, and
When the trial request is determined to be the first trial request, the analysis module transfers the first trial request to the trial data node where the trial user corresponding to the trial request is located, or executes the analysis module. If it is determined that the trial request is the second trial request, transfers the part of the second trial request requesting the data of the trial user to the trial data node where the trial user corresponding to the trial request is located. Includes a transfer module configured to transfer and execute the portion of the second trial request that requests the formal user's data to the formal data node where the formal user is located.
The processing module further rewrites the table structure of the trial user database based on the trial modification setting information so that the data table structure used by the trial user and the official user are different, but the names used are the same. Dark clone realization device configured as .
2つ以上のデータノードを含み、ユーザーデータをキャリアするように構成される分散データベースにおけるデータノードクラスターと、
2つ以上の計算ノードを含み、サービスを外部に提供するように構成される分散データベースにおける計算ノードクラスターとを含み、データがパーティション設定情報によって複数のデータノードに分散され、前記計算ノードが請求項1に記載のダークローンチ実現装置を含むダークローンチ実現システム。
A data node cluster in a distributed database that contains two or more data nodes and is configured to carry user data.
Includes a compute node cluster in a distributed database that contains two or more compute nodes and is configured to provide services externally, data is distributed across multiple data nodes by partitioning information, and the compute nodes claim. 11. A darkness realization system including the darkness realization device according to 1 .
JP2020536074A 2017-12-29 2018-07-23 Dark Roch Realization Method, Equipment, Computation Node and System Active JP7083901B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201711499192.5 2017-12-29
CN201711499192.5A CN108319656A (en) 2017-12-29 2017-12-29 Realize the method, apparatus and calculate node and system that gray scale is issued
PCT/CN2018/096686 WO2019128205A1 (en) 2017-12-29 2018-07-23 Method and device for achieving grayscale publishing, computing node and system

Publications (2)

Publication Number Publication Date
JP2021513694A JP2021513694A (en) 2021-05-27
JP7083901B2 true JP7083901B2 (en) 2022-06-13

Family

ID=62892765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020536074A Active JP7083901B2 (en) 2017-12-29 2018-07-23 Dark Roch Realization Method, Equipment, Computation Node and System

Country Status (3)

Country Link
JP (1) JP7083901B2 (en)
CN (1) CN108319656A (en)
WO (1) WO2019128205A1 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109189494B (en) * 2018-07-27 2022-01-21 创新先进技术有限公司 Configuration gray level publishing method, device and equipment and computer readable storage medium
CN110225094B (en) * 2019-05-17 2022-02-11 平安科技(深圳)有限公司 Load balancing application virtual IP switching method and device, computer equipment and storage medium
CN110489133A (en) * 2019-08-23 2019-11-22 亿企赢网络科技有限公司 A kind of gray scale dissemination method, system and electronic equipment and storage medium
CN110532008A (en) * 2019-08-29 2019-12-03 深圳前海环融联易信息科技服务有限公司 A kind of product gray scale dissemination method, device, computer equipment and storage medium
CN111158715B (en) * 2019-12-19 2024-02-06 中国平安财产保险股份有限公司 Gray release control method and system
CN111352654B (en) * 2020-03-10 2023-08-15 中国工商银行股份有限公司 System and method for implementing gray scale distribution
CN113626068A (en) * 2020-05-09 2021-11-09 北京沃东天骏信息技术有限公司 Page management method and device
CN111580859B (en) * 2020-05-12 2023-04-07 北京思特奇信息技术股份有限公司 Gray cutover method and system and electronic equipment
CN111737128A (en) * 2020-06-19 2020-10-02 北京百度网讯科技有限公司 On-line testing method, gray level shunting equipment and storage medium
CN111782542A (en) * 2020-07-13 2020-10-16 豆盟(北京)科技股份有限公司 Test method, device, equipment, system and computer storage medium
CN111897571A (en) * 2020-08-04 2020-11-06 上海非码网络科技有限公司 Gray scale publishing method and system based on Spring Cloud
CN114697304B (en) * 2020-12-28 2023-12-01 京东科技控股股份有限公司 Gray release method, system, device, equipment and storage medium
CN113138774B (en) * 2021-05-11 2024-02-09 中国工商银行股份有限公司 Gray release method, device, electronic equipment and medium
CN113296911B (en) * 2021-05-24 2023-09-22 北京京东振世信息技术有限公司 Cluster calling method, cluster calling device, electronic equipment and readable storage medium
CN113535595B (en) * 2021-09-17 2022-02-25 国网江苏省电力有限公司营销服务中心 Information system gray level release user selection method and system based on micro-service architecture
CN114780512B (en) * 2022-03-22 2023-05-12 荣耀终端有限公司 Gray release method, system and server
CN114944951B (en) * 2022-05-18 2024-02-06 北京天融信网络安全技术有限公司 Request processing method and device, mimicry device and storage medium
CN117315107B (en) * 2023-09-21 2024-03-12 支付宝(杭州)信息技术有限公司 Digital image issuing method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078636A (en) 2003-08-28 2005-03-24 Internatl Business Mach Corp <Ibm> System, method and computer program for carrying out legacy application transition
JP2009245383A (en) 2008-03-31 2009-10-22 Nomura Research Institute Ltd Information processor and program analyzing method
JP2010045617A (en) 2008-08-13 2010-02-25 Nippon Telegr & Teleph Corp <Ntt> System and method for allocating server using white list
JP2017033136A (en) 2015-07-30 2017-02-09 富士通株式会社 Information control program, information control device and information control method
US20170277747A1 (en) 2016-03-22 2017-09-28 Oracle International Corporation Modifying a database query

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9113130B2 (en) * 2012-02-06 2015-08-18 Legend3D, Inc. Multi-stage production pipeline system
CN105791341B (en) * 2014-12-22 2020-01-17 华为软件技术有限公司 Application release processing method, device and system
CN106844399B (en) * 2015-12-07 2022-08-09 中兴通讯股份有限公司 Distributed database system and self-adaptive method thereof
CN106909563B (en) * 2015-12-23 2021-01-08 上海热璞网络科技有限公司 Distributed system
US10726032B2 (en) * 2015-12-30 2020-07-28 Palantir Technologies, Inc. Systems and methods for search template generation
CN105978976A (en) * 2016-05-13 2016-09-28 中国建设银行股份有限公司 Information processing system and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078636A (en) 2003-08-28 2005-03-24 Internatl Business Mach Corp <Ibm> System, method and computer program for carrying out legacy application transition
JP2009245383A (en) 2008-03-31 2009-10-22 Nomura Research Institute Ltd Information processor and program analyzing method
JP2010045617A (en) 2008-08-13 2010-02-25 Nippon Telegr & Teleph Corp <Ntt> System and method for allocating server using white list
JP2017033136A (en) 2015-07-30 2017-02-09 富士通株式会社 Information control program, information control device and information control method
US20170277747A1 (en) 2016-03-22 2017-09-28 Oracle International Corporation Modifying a database query

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
疋田 定幸,図解 分散型データベースシステム入門 ,第1版,日本,株式会社オーム社,1994年12月10日,pp. 43-47

Also Published As

Publication number Publication date
CN108319656A (en) 2018-07-24
WO2019128205A1 (en) 2019-07-04
JP2021513694A (en) 2021-05-27

Similar Documents

Publication Publication Date Title
JP7083901B2 (en) Dark Roch Realization Method, Equipment, Computation Node and System
US7302533B2 (en) System and method for optimally configuring software systems for a NUMA platform
US6751683B1 (en) Method, system and program products for projecting the impact of configuration changes on controllers
Wang et al. Ravel: A database-defined network
US10305815B2 (en) System and method for distributed resource management
US20120011496A1 (en) Service providing apparatus, service providing system, method of processing data in service providing apparatus, and computer program
US9594801B2 (en) Systems and methods for allocating work for various types of services among nodes in a distributed computing system
CN110196851A (en) A kind of date storage method, device, equipment and storage medium
US20150128150A1 (en) Data processing method and information processing apparatus
US11030169B1 (en) Data re-sharding
US9860192B2 (en) Distributed computing architecture
US8499298B2 (en) Multiprocessing transaction recovery manager
US20200117589A1 (en) Techniques and devices for cloud memory sizing
US20190228009A1 (en) Information processing system and information processing method
US20240061712A1 (en) Method, apparatus, and system for creating training task on ai training platform, and medium
Sadok et al. Stateful DRF: considering the past in a multi-resource allocation
Thamsen et al. Ellis: Dynamically scaling distributed dataflows to meet runtime targets
Miceli et al. Programming abstractions for data intensive computing on clouds and grids
Palyvos-Giannas et al. Lachesis: a middleware for customizing OS scheduling of stream processing queries
US20080077930A1 (en) Workload Partitioning in a Parallel System with Hetergeneous Alignment Constraints
JP2009037369A (en) Resource assignment method to database server
US10824640B1 (en) Framework for scheduling concurrent replication cycles
Morisawa et al. Flexible executor allocation without latency increase for stream processing in apache spark
US10824432B2 (en) Systems and methods for providing multiple console sessions that enable line-by-line execution of scripts on a server application
US20160299953A1 (en) Limiting tuple creation at the tuple level

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200630

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220104

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220601

R150 Certificate of patent or registration of utility model

Ref document number: 7083901

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150