(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-12-01
(54)【発明の名称】日付切替データオフロード方法、装置、設備及び媒体
(51)【国際特許分類】
G06F 16/21 20190101AFI20221124BHJP
【FI】
G06F16/21
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022519553
(86)(22)【出願日】2020-09-11
(85)【翻訳文提出日】2022-03-28
(86)【国際出願番号】 CN2020114819
(87)【国際公開番号】W WO2021057515
(87)【国際公開日】2021-04-01
(31)【優先権主張番号】201910925714.6
(32)【優先日】2019-09-27
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】511151662
【氏名又は名称】中興通訊股▲ふん▼有限公司
【氏名又は名称原語表記】ZTE CORPORATION
【住所又は居所原語表記】ZTE Plaza,Keji Road South,Hi-Tech Industrial Park,Nanshan Shenzhen,Guangdong 518057 China
(74)【代理人】
【識別番号】100112656
【氏名又は名称】宮田 英毅
(74)【代理人】
【識別番号】100089118
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】周日明
(72)【発明者】
【氏名】趙培
(72)【発明者】
【氏名】秦延涛
(72)【発明者】
【氏名】付裕
(72)【発明者】
【氏名】陳▲ベイ▼
(72)【発明者】
【氏名】陳海
(72)【発明者】
【氏名】張興強
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175CA01
(57)【要約】
本発明は、日付切替データオフロード方法、装置、設備及び媒体を開示する。前記日付切替データオフロード方法は、データアンロードコマンドに基づいてマッチングするデータテーブル基礎データを取得するステップ(S110)と、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られるステップ(S120)と、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られるステップ(130)と、前記データテーブルがロールバックされたデータと前記2日渡りトランザクションデータとを合弁処理し、前記日付切替データが得られる(ステップ140)とを含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
関係型データベースに応用される日付切替データオフロード方法であって、
データアンロードコマンドに基づいてマッチングするデータテーブル基礎データを取得し、
データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られ、
前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られ、
前記データテーブルがロールバックされたデータと前記2日渡りトランザクションデータとを合弁処理し、前記日付切替データが得られることを含む方法。
【請求項2】
前記のデータベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られることは、
前記データベースログに基づいて日付切替トランザクションに対応する日付切替トランザクションログを決定し、
前記データベースログに基づいて、前記データテーブル基礎データを前記日付切替トランザクションログに対応する時刻までロールバックし、前記データテーブルがロールバックされたデータが得られることを含む請求項1に記載の方法。
【請求項3】
前記の前記データベースログに基づいて日付切替トランザクションに対応する日付切替トランザクションログを決定する前に、
受信したトランザクション要求に決済日付切替標記が含まれる場合には、前記トランザクション要求を日付切替トランザクション要求として決定し、
前記日付切替トランザクション要求に基づいて日付切替トランザクションテーブルを更新し、かつ前記日付切替トランザクションに対応する日付切替トランザクションログを生成することを含む請求項2に記載の方法。
【請求項4】
前記の前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られることは、
前記データベースログにおける前記日付切替トランザクションログに対応する時刻後の目標ログを取得し、
前記決済日付付きのトランザクション記録に基づいて、前記目標ログにおいて2日渡りトランザクションに対応する2日渡りトランザクションログを決定し、かつ前記2日渡りトランザクションログに基づいて前記データテーブル基礎データに対応する2日渡りトランザクションデータを決定することを含み、
前記2日渡りトランザクションの決済日付が前記日付切替トランザクションにおいて切り替えられる決済日付である請求項2又は3に記載の方法。
【請求項5】
前記の前記決済日付付きのトランザクション記録に基づいて、前記目標ログにおいて2日渡りトランザクションに対応する2日渡りトランザクションログを決定することは、
前記目標ログにおけるそれぞれのログを現在処理ログとして順次に取得し、
トランザクション決済日付テーブルにおいて前記現在処理ログに対応するトランザクションの決済日付を問い合わせ、前記現在処理ログに対応するトランザクションの決済日付が前記日付切替トランザクションにおいて切り替えられる決済日付である場合には、前記目標ログについてトラバーサルを完了するまで前記現在処理ログが2日渡りトランザクションログであることを含み、
前記トランザクション決済日付テーブルにはトランザクションの決済日付が記憶されている請求項4に記載の方法。
【請求項6】
前記決済日付付きのトランザクション記録に基づいて、前記目標ログにおいて2日渡りトランザクションに対応する2日渡りトランザクションログを決定する前に、
受信したトランザクション要求に決済日付標記が含まれる場合には、前記トランザクション要求のトランザクション番号及び決済日付を1つのトランザクション記録として前記トランザクション決済日付テーブルに添加することをさらに含む請求項5に記載の方法。
【請求項7】
前記トランザクション要求の要求時間が日付切替ウィンドウ期間内にある場合には、前記トランザクション要求に前記決済日付標記が含まれることをさらに含み、前記日付切替ウィンドウ期間が前記日付切替時刻を含む設定時間帯である請求項6に記載の方法。
【請求項8】
データアンロードコマンドに基づいてマッチングするデータテーブル基礎データを取得する前に、
データオフロードクライアントモジュールにより送信されるコマンドライン形式の前記データアンロードコマンドを受信することをさらに含む請求項1に記載の方法。
【請求項9】
前記データアンロードコマンドには、データオフロードを行う必要があるテーブル情報、フィルタ条件及びフィルタフィールドが含まれる請求項1又は8に記載の方法。
【請求項10】
分散型データベースに応用される日付切替データオフロード方法であって、
データ断片が位置する機器に配置されるデータオフロードエージェントサービスにより、データアンロードコマンドに基づいてローカルのマッチングするデータテーブル基礎データを取得し、
前記データオフロードエージェントサービスにより、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られ、
前記データオフロードエージェントサービスにより、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られ、
前記データオフロードエージェントサービスにより、前記2日渡りトランザクションデータと前記データテーブルがロールバックされたデータとを合弁処理し、日付切替断片データが得られ、かつデータオフロード制御モジュールに送信され、
前記データオフロード制御モジュールにより、複数の前記データオフロードエージェントサービスが送信する前記日付切替断片データを受信した後に、データ合弁処理を行い、前記分散型データベースに対応する前記日付切替データを生成することを含む方法。
【請求項11】
関係型データベースに応用される日付切替データオフロード装置であって、
データアンロードコマンドに基づいてマッチングするデータテーブル基礎データを取得するように構成されるデータテーブル基礎データ取得モジュールと、
データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られるように構成されるデータロールバックモジュールと、
前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られるように構成される2日渡りデータ補充モジュールと、
前記データテーブルがロールバックされたデータと前記2日渡りトランザクションデータとを合弁処理し、前記日付切替データが得られるように構成される日付切替データ生成モジュールとを含む装置。
【請求項12】
分散型データベースに応用される日付切替データオフロード装置であって、
データ断片が位置する機器に配置されるデータオフロードエージェントサービスにより、データアンロードコマンドに基づいてローカルのマッチングするデータテーブル基礎データを取得するように構成されるデータテーブル基礎データ取得モジュールと、
前記データオフロードエージェントサービスにより、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られるように構成されるデータロールバックモジュールと、
前記データオフロードエージェントサービスにより、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られるように構成される2日渡りデータ補充モジュールと、
前記データオフロードエージェントサービスにより、前記2日渡りトランザクションデータと前記データテーブルがロールバックされたデータとを合弁処理し、日付切替断片データが得られ、かつデータオフロード制御モジュールに送信されるように構成される日付切替断片データ生成モジュールと、
前記データオフロード制御モジュールにより、複数の前記データオフロードエージェントサービスが送信する前記日付切替断片データを受信した後に、データ合弁処理を行い、前記分散型データベースに対応する前記日付切替データを生成するように構成される日付切替データ生成モジュールとを含む装置。
【請求項13】
コンピュータ設備であって、
少なくとも1つのプロセッサと、
少なくとも1つのプログラムを記憶するように構成される記憶装置とを含み、
前記少なくとも1つのプログラムが前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサは、請求項1~9のいずれか一項に記載の日付切替データオフロード方法、又は請求項10に記載の日付切替データオフロード方法を実現するコンピュータ設備。
【請求項14】
記憶媒体であって、
コンピュータプログラムを記憶しており、前記コンピュータプログラムがプロセッサにより実行されると、請求項1~9のいずれか一項に記載の日付切替データオフロード方法、又は請求項10に記載の日付切替データオフロード方法を実現する記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2019年09月27日に中国特許庁に提出された出願番号201910925714.6の中国特許出願の優先権を主張しており、該出願の全内容は引用によって本出願に組み込まれる。
【0002】
本出願は、データベースの技術分野に属し、例えば、日付切替データオフロード方法、装置、設備及び媒体に関する。
【背景技術】
【0003】
日付切替とは、一般的には、システムが決済する時間を変更し、即ち、決済日付が切り替えられる。一般的には、1つの取引トランザクションが1つの決済日付内に完了されるが、決済日付が切り替えられる時に、ある取引トランザクションは、決済日付が変化する前に起動し(その決済日付がT+0である)、かつ決済日付が変化した後に(つまり、決済日付がT+1である)提出され、それを2日渡りトランザクションと称する。2日渡りトランザクションは翌日に提出されるが、データを統計する時に、依然として前日の取引とされ、日付切替データには、これらの2日渡りトランザクションが含まれる。
【0004】
日付が切り替えられた後に、即刻に翌日(即ち、決済日付がT+1である)の取引トランザクションが開始しかつすぐに完成され、T+1トランザクションがT+0トランザクションよりも早く完了される現象を出現させる可能性がある。従って、外部へのオンライン取引サービスが24時間に持続的に運転される前提で、データベースシステムにおいて、日付切替データをオフロードすることを満足する時刻(この時刻のすべてのT+0トランザクションが既に提出されるが、すべてのT+1トランザクションが提出されていない)が見付けられず、それにより、データベースから日付切替データを簡単的に導出することができない。しかしながら、追加テーブルや追加フィールドなどにより基本テーブルデータをクリーニングして日付切替データが得られる方式は、業務システムのロジック複雑度を増加し、開発の困難度を増大する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本出願は、外部への取引サービスが持続的に運転される前提で、データベースから要求を満足する日付切替データを直接的にオフロードする日付切替データオフロード方法、装置、設備及び媒体を提供する。
【課題を解決するための手段】
【0006】
関係型データベースに応用される日付切替データオフロード方法であって、データアンロードコマンドに基づいてマッチングするデータテーブル基礎データを取得し、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られ、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られ、前記データテーブルがロールバックされたデータと前記2日渡りトランザクションデータとを合弁処理し、前記日付切替データが得られることを含む、方法が提供される。
【0007】
分散型データベースに応用される日付切替データオフロード方法であって、データ断片が位置する機器に配置されるデータオフロードエージェントサービスにより、データアンロードコマンドに基づいてローカルのマッチングするデータテーブル基礎データを取得し、前記データオフロードエージェントサービスにより、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られ、前記データオフロードエージェントサービスにより、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られ、前記データオフロードエージェントサービスにより、前記2日渡りトランザクションデータと前記データテーブルがロールバックされたデータとを合弁処理し、日付切替断片データが得られ、かつデータオフロード制御モジュールに送信され、前記データオフロード制御モジュールにより、複数の前記データオフロードエージェントサービスが送信する前記日付切替断片データを受信した後に、データ合弁処理を行い、前記分散型データベースに対応する前記日付切替データを生成することを含む、方法がさらに提供される。
【0008】
関係型データベースに応用される日付切替データオフロード装置であって、データアンロードコマンドに基づいてマッチングするデータテーブル基礎データを取得するように構成されるデータテーブル基礎データ取得モジュールと、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られるように構成されるデータロールバックモジュールと、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られるように構成される2日渡りデータ補充モジュールと、前記データテーブルがロールバックされたデータと前記2日渡りトランザクションデータとを合弁処理し、前記日付切替データが得られるように構成される日付切替データ生成モジュールとを含む、装置がさらに提供される。
【0009】
分散型データベースに応用される日付切替データオフロード装置であって、データ断片が位置する機器に配置されるデータオフロードエージェントサービスにより、データアンロードコマンドに基づいてローカルのマッチングするデータテーブル基礎データを取得するように構成されるデータテーブル基礎データ取得モジュールと、前記データオフロードエージェントサービスにより、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られるように構成されるデータロールバックモジュールと、前記データオフロードエージェントサービスにより、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られるように構成される2日渡りデータ補充モジュールと、前記データオフロードエージェントサービスにより、前記2日渡りトランザクションデータと前記データテーブルがロールバックされたデータとを合弁処理し、日付切替断片データが得られ、かつデータオフロード制御モジュールに送信されるように構成される日付切替断片データ生成モジュールと、前記データオフロード制御モジュールにより、複数の前記データオフロードエージェントサービスが送信する前記日付切替断片データを受信した後に、データ合弁処理を行い、前記分散型データベースに対応する前記日付切替データを生成するように構成される日付切替データ生成モジュールとを含む、装置がさらに提供される。
【0010】
コンピュータ設備であって、少なくとも1つのプロセッサと、少なくとも1つのプログラムを記憶するように構成される記憶装置とを含み、前記少なくとも1つのプログラムが前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサは、本出願のいずれかの実施例に記載の関係型データベースに応用される日付切替データオフロード方法を実現する、設備がさらに提供される。
【0011】
記憶媒体であって、前記記憶媒体がコンピュータプログラムを記憶しており、前記コンピュータプログラムがプロセッサにより実行されると、本出願のいずれかの実施例に記載の関係型データベースに応用される日付切替データオフロード方法を実現する、媒体がさらに提供される。
【0012】
コンピュータ設備であって、少なくとも1つのプロセッサと、少なくとも1つのプログラムを記憶するように構成される記憶装置と、を含み、前記少なくとも1つのプログラムが前記少なくとも1つのプロセッサにより実行されると、前記少なくとも1つのプロセッサは、本出願のいずれかの実施例に記載の分散型データベースに応用される日付切替データオフロード方法を実現する、設備がさらに提供される。
【0013】
記憶媒体であって、前記記憶媒体がコンピュータプログラムを記憶しており、前記コンピュータプログラムがプロセッサにより実行されると、本出願のいずれかの実施例に記載の分散型データベースに応用される日付切替データオフロード方法を実現する、媒体がさらに提供される。
【図面の簡単な説明】
【0014】
【
図1】週7日24時間持続するオンライン取引におけるトランザクションの提出時刻の模式図である。
【
図2】本出願に係る日付切替データオフロード方法のフロー模式図である。
【
図3】本出願に係る関係型データベースに適用される日付切替データオフロード方案の模式図である。
【
図4】本出願に係る日付切替ウィンドウ期間内におけるオンライントランザクションが決済日付Hint標記を添加する模式図である。
【
図5】本出願に係る日付切替データオフロードステップの模式図である。
【
図6】本出願に係る日付切替データオフロードステップにおけるデータファイル変化の模式図である。
【
図7】本出願に係る2日渡りトランザクションを増加するフロー模式図である。
【
図8】本出願に係る別の日付切替データオフロード方法のフロー模式図である。
【
図9】本出願に係る分散型データベースに適用される日付切替データオフロード方案の模式図である。
【
図10】本出願に係る日付切替データオフロード装置の構成模式図である。
【
図11】本出願に係る別の日付切替データオフロード装置の構成模式図である。
【
図12】本出願に係るコンピュータ設備の構成模式図である。
【発明を実施するための形態】
【0015】
以下、図面を組み合わせて本出願の実施例を説明する。
【0016】
本出願に係る実施形態を説明する前に、日付切替データに関する概念を解釈する。
【0017】
分散型データベースを例とし、分散型データベースは、オンライン取引システム(On-Line Transaction Processing、OLTP)とし、データを分析システム(例えばデータウェアハウス)に定期にオフロードする必要があり、それにより他のシステムが後続のデータ分析処理を行う。当日の業務運営が完了した後に、当日までの業務データを分析システムにオフロードする必要があり、それにより、分析システムにおいて業務状況を多角度に分析する。分析システムは、システム全体におけるすべてのデータをオフロードする必要がなく、分析の必要に応じてその一部のデータをフィルタリングしてオフロードする可能性がある。
【0018】
オンライン取引システムは、厳しく決済準則に従って取引業務を処理する。オンライン取引が発生する時に、アプリケーションシステムは、まず、データベースシステムの現在日期を取得し、その後にデータベースへ挿入、削除、変更、読み取り操作を要求し、最後にデータベースに提出され、過程全体を1つのトランザクション(又は、取引トランザクション)と称する。それぞれの取引トランザクションは、取引の発生日付を正確的に記録し、従って、それに基づいて、例えば利子算出、業務統計、諸表監査などのデータ算出を行い、この取引の発生日付を決済日付と称する。決済日付は、毎日一回変化し(通常、夜中00:00時点に、当日から翌日に切り替える)、決済日付切替(又は日付切替と略称する)と称する。日付切替後に、すべての決済日付がT+0である取引トランザクション(例えば日付切替時刻前に起動される取引トランザクション)のデータをオフロードし、いずれかの決済日付がT+1である取引トランザクションのデータを含まず、これらのデータを日付切替データと称する。
【0019】
正常の情況では、1つの取引トランザクションが1つの決済日付内に完了されるが、決済日付が切り替えられる時に、ある取引トランザクションは、決済日付が変化する前に起動し(問い合わせて、その決済日付がT+0であることが分かる)、かつ決済日付が変化した後に(つまり、決済日付がT+1である)提出され、それを2日渡りトランザクションと称する。2日渡りトランザクションは翌日に提出されるが、データを統計する時に、依然として前日の取引とされ、そのため、日付切替データには、これらの2日渡りトランザクションが含まれる。また、キーになる取引システムは、24時間に持続的に外部へサービスを提供する必要があり、日付が切り替えられた後に、即刻に翌日(即ち、決済日付がT+1である)の取引トランザクションが開始しかつすぐに完成され、それにより、以下の情況を出現させる。つまり、決済日付がT+1であるトランザクションは、決済日付がT+0であるトランザクションよりも早く完了される現象を出現させる可能性がある。
図1に示すように、すべての決済日付がT+0であるトランザクションが完了した後にデータオフロードを開始すると、オフロードの日付切替データには、決済日付がT+1であるトランザクションデータを含む可能性があり、そのため、データベースシステムにおいて、すべての決済日付がT+0であるトランザクションが既に提出されるが、すべての決済日付がT+1であるトランザクションが提出されない明確な時刻を見付けることができない。従って、データベースから必要である日付切替データを簡単的に導出できない。
【0020】
一例示的な実施形態において、
図2は、本出願に係る日付切替データオフロード方法のフロー模式図である。該方法は、関係型データベース(集中型データベースと分散型データベースを含む)において日付切替データをオフロードすることに適用される。該方法は、本出願に係る関係型データベースに応用される日付切替データオフロード装置により実行でき、該日付切替データオフロード装置は、ソフトウェア及び/又はハードウェアにより実現でき、かつコンピュータ設備に集積される。
【0021】
図2に示すように、本出願に係る関係型データベースに応用される日付切替データオフロード方法は、下記のS110~S140を含む。
S110では、データアンロードコマンドに基づいてマッチングするデータテーブル基礎データを取得する。
【0022】
データアンロードコマンドとは、データオフロード操作を開始するように指示するための指令である。データアンロードコマンドを受信した後に、データアンロードコマンドの内容にマッチングするデータテーブル基礎データを取得する。データテーブル基礎データは、現在時刻データベースにおいてデータアンロードコマンドの内容にマッチングする関連データテーブルにおける基礎データである。
【0023】
一例において、前記データアンロードコマンドには、データオフロードを行う必要があるテーブル情報、フィルタ条件及びフィルタフィールドが含まれる。
【0024】
データオフロードを行う必要があるテーブル情報とは、データオフロード処理を行う必要があるデータテーブルの基本情報であり、例えばデータテーブルの名称などであってもよく、フィルタ条件とは、データオフロード処理を行う必要があるデータテーブルにおける設定データが満足すべきである条件であり、例えば数値範囲などであってよく、フィルタフィールドとは、データオフロード処理を行う必要があるデータテーブルにおける設定データが合致すべきであるフィールド情報であり、例えばフィールドの名称などであってもよい。
【0025】
データベースには100個のデータテーブルが含まれ、オフロードする必要があるデータが、この100個のデータテーブルにおける少なくとも一部のデータテーブルにおけるすべてのデータ又は一部のデータであると仮定すると、データアンロードコマンドにより実現できる。
【0026】
一例において、データアンロードコマンドは、コマンドラインにより実現できる。
【0027】
S120では、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られる。
【0028】
日付切替時刻とは、決済日付が切り替えられる時刻である。日付切替時刻前に起動されるトランザクションデータ(日付切替時刻前に起動され、日付切替時刻後に完成されるトランザクションデータを含む)が日付切替データに属し、日付切替時刻後に起動されるトランザクションデータが日付切替データに属しない。
【0029】
データベースログを取得し、データベースログには、トランザクションが完成するタイムスタンプ、トランザクション操作のデータテーブル及びトランザクションが完成する前後に相応するデータテーブルにおいて対応する古い記録値と新しい記録値が含まれる。データベースログに基づいて、データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、つまり、相応するトランザクションが完成する前の記録値までロールバックされる。それにより、データテーブルがロールバックされたデータは、日付切替時刻データベースにおいてデータアンロードコマンドの内容にマッチングする関連データテーブルにおける基礎データである。
【0030】
S130では、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られる。
【0031】
データベースログにおけるタイムスタンプが日付切替時刻の後である複数のログを取得し、決済日付付きのトランザクション記録に基づいてこれらのログに対応するトランザクションの決済日付をそれぞれ問い合わせ、問い合わせられた決済日付が決済日付切替前の日付(つまり、日付切替時刻)であると、該トランザクションが2日渡りトランザクションとして決定され、それにより、データベースログに基づいて2日渡りトランザクションに対応する2日渡りトランザクションデータを取得することができる。2日渡りトランザクションデータは、日付切替時刻前に変更が開始し、日付切替時刻後に変更が完了するデータであり、該データは変更した新しい記録値である。
【0032】
S140では、前記データテーブルがロールバックされたデータと前記2日渡りトランザクションデータとを合弁処理し、前記日付切替データが得られる。
【0033】
データテーブルがロールバックされたデータを基礎にして、2日渡りトランザクションデータを補充すれば、完全な日付切替データが得られる。前記データテーブルがロールバックされたデータと前記2日渡りトランザクションデータとの合弁処理は、2日渡りトランザクションデータをデータテーブルがロールバックされたデータの後に対応的に追加することであってもよく、2日渡りトランザクションデータによりデータテーブルがロールバックされたデータに対応する記録値を置換することであってもよい。
【0034】
関連技術において、1つの方法は、決済日付が切り替えられる期間に、外部へのオンライン取引サービスを停止させ、すべての決済日付がT+0であるトランザクションが完了する後に、さらに、継続的に外部へサービスを提供するということである。このような方法は、日付切替データをオフロードすることを満足する時刻を見つけ出すことができるが、外部へのサービスを停止する必要があり、24時間に連続的に運転する要求を満足しない。このような実現方法に対して、本実施例に係る技術案は、外部への取引業務システムが24時間に持続的にサービスを提供する過程において、データベースから完全な日付切替データを直接的にオフロードすることができる。
【0035】
関連技術において、別の方法は、データベースの上流アプリケーションシステムにより処理され、決済日付が切り替えられる前後に、この時間帯に発生するデータベース変化を追加テーブル(追加テーブルには決済日付フィールドが含まれる)に付加的に記録するということである。データベースの下流システムがデータをオフロードする時に、まず、基本テーブルと追加テーブルをオフロードし、さらに、追加テーブルにより基本テーブルデータをクリーニングし、決済日付がT+1であるトランザクションデータを基本テーブルから除去し、又は、単独の追加テーブルを採用するのではなく、基本テーブルに追加フィールドを拡張し、決済日付が変化した後に、オフロードする必要があるフィールドを基本テーブルから追加フィールドにコピーする。このような方法は、24時間に業務が停止しない要求を満足することができるが、アプリケーションシステムは、決済日付が切り替えられる時刻に大量の特殊処理を行う必要があり、業務ロジックの複雑性を増加し、アプリケーションシステムの開発困難度を増加させると共に、下流システムによりデータクリーニングを行うことは、複雑であるだけでなく、データクリーニング自身が時間消費を増加する。このような実現方法に対して、本実施例に係る技術案は、外部への取引業務システムが24時間に持続的にサービスを提供する過程において、データベースから完全な日付切替データを直接的にオフロードすることができるだけでなく、データベースの上流アプリケーションシステムが別の業務処理を行う必要がなく、データベースの下流システムもデータクリーニング操作を行う必要もなく、業務開発ロジックを簡易化し、日付切替データオフロードの全体時間の消費を短縮する。
【0036】
上記実施例を基礎にして、上記実施例の変形実施例を提出し、説明を簡易化するために、変形実施例において、上記実施例との相違点のみを説明する。
【0037】
一例において、S110の前には、データオフロードクライアントモジュールにより送信されるコマンドライン形式の前記データアンロードコマンドを受信することをさらに含む。
【0038】
図3に示すように、アプリケーションシステムは、データベースの上層アプリケーションであり、データベースインターフェース(例えば、構造化照会言語(Structured Query Language、SQL)インターフェース)によりデータベースへ挿入、削除、変更、読み取り操作を要求し、アプリケーションシステムがデータオフロードクライアントモジュールを呼び出し、データオフロードクライアントモジュールがコマンドラインであってよい。データオフロードクライアントモジュールは、ローカルのコマンド又はリモートインターフェースによりデータベースサーバにおけるデータオフロードサーバモジュールへデータオフロード要求を発する。データオフロードサーバモジュールは、データアンロードコマンドを受信した後に、まず、データアンロードコマンドに基づいてマッチングするデータテーブル基礎データを取得し、次にデータベースにおけるデータベースログにアクセスし、データベースログに基づいてデータテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られ、再びデータベースにおける決済日付付きのトランザクション記録にアクセスし、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られ、最後に、前記データテーブルがロールバックされたデータと前記2日渡りトランザクションデータとを合弁処理し、前記日付切替データが得られる。
【0039】
一例において、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られることは、
前記データベースログに基づいて日付切替トランザクションに対応する日付切替トランザクションログを決定し、前記データベースログに基づいて、前記データテーブル基礎データを前記日付切替トランザクションログが対応する時刻までロールバックし、前記データテーブルがロールバックされたデータが得られることを含む。
【0040】
日付切替トランザクションとは、アプリケーションシステム自身の操作トランザクションであり、アプリケーションシステムは、該トランザクションにおいてデータベースの1つの業務テーブル(該テーブルがアプリケーションシステムにより作成される)に対して決済日付フィールド(該フィールドがアプリケーションシステムにより作成される)を修正する。
【0041】
本出願において、いくつかの特定のトランザクションについて、トランザクション要求にプリセット表示を増加することにより、データベースサーバは、トランザクション要求に付加されたプリセット表示によりトランザクションの類型を識別することができる。
【0042】
一例において、アプリケーションシステムは、データベースへ挿入、削除、変更、読み取り操作を要求するSQLインターフェースにインターフェースフィールド(例えば標記「Hint」)を拡張し、Hintによりデータベースへトランザクションの特定意味を伝達する。
【0043】
日付切替トランザクションに対応するトランザクション要求にHint標記を増加し、Hint標記には、切り替えられる決済日付、例えば、「SET @SWITCHED_ACDATE=2018-04-25」が付加され、@SWITCHED_ACDATEは、決済日付が切り替えられる標記であり、その値は、切り替えられた決済日付、例えば、「2018-04-25」であり、その日のトランザクションが完了した後に、決済日付が「2018-04-26」になるように切り替えられる。
【0044】
例を挙げて説明し、元の日付切替トランザクションのSQL文:
SELECT CUR_ACDATE FROM SYSTEM_TABLE
--現在決済日付:IS 2018-04-25
UPDATE SYSTEM_TABLE SET CUR_ACDATE=CUR_ACDATE+1、
COMMIT。
Hint標記を増加した日付切替トランザクションのSQL文:
SELECT CUR_ACDATE FROM SYSTEM_TABLE、
--現在決済日付:2018-04-25
UPDATE SYSTEM_TABLE SET CUR_ACDATE=CUR_ACDATE+1、
--データベースが該Hint文に基づいて日付切替データオフロード要求を識別する
SET @SWITCHED_ACDATE=2018-04-25、
COMMIT。
【0045】
一例において、前記データベースログに基づいて日付切替トランザクションに対応する日付切替トランザクションログを決定する前に、
受信したトランザクション要求には決済日付切替標記が含まれると、前記トランザクション要求が日付切替トランザクション要求として決定され、前記日付切替トランザクション要求に基づいて日付切替トランザクションテーブルを更新し、かつ前記日付切替トランザクションに対応する日付切替トランザクションログを生成することをさらに含む。
【0046】
データベース内部には、日付切替トランザクションテーブルであるシステムテーブルが維持され、このテーブルには、切り替えられる決済日付(SWITCHED_ACDATE)が記録された。データベースサービスがSQL要求を解析する時に、決済日付切替標記SET @SWITCHED_ACDATEがあると、上下文に該トランザクションの決済日付を記録し、該トランザクションが提出される時、データベースは、切り替えられる決済日付を日付切替トランザクションテーブルに更新し、かつ対応する日付切替トランザクションログを生成する。日付切替トランザクションテーブルのフィールド説明は、表1に示される。
【表1】
【0047】
データベースにおけるデータベースログにアクセスし、まず、日付切替トランザクションに対応する日付切替トランザクションログを決定し、その後にデータテーブル基礎データを前記日付切替トランザクションログの位置までロールバックすれば、前記データテーブルがロールバックされたデータが得られる。
【0048】
一例において、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られることは、
前記データベースログにおける前記日付切替トランザクションログに対応する時刻後の目標ログを取得し、前記決済日付付きのトランザクション記録に基づいて、前記目標ログにおいて2日渡りトランザクションに対応する2日渡りトランザクションログを決定し、かつ前記2日渡りトランザクションログに基づいて前記データテーブル基礎データに対応する2日渡りトランザクションデータを決定し、前記2日渡りトランザクションの決済日付が前記日付切替トランザクションにおいて切り替えられる決済日付であることを含む。
【0049】
データベースにおけるデータベースログにアクセスし、まず、日付切替トランザクションに対応する日付切替トランザクションログを決定し、その後にデータベースログにおいて前記日付切替トランザクションログに対応する時刻後のすべてのログ(これらのログを目標ログと称する)を取得し、決済日付付きのトランザクション記録に基づいてこれらの目標ログに対応するトランザクションの決済日付をそれぞれ問い合わせ、決済日付は、切り替えられる決済日付のトランザクション、即ち2日渡りトランザクションであり、対応する目標ログが2日渡りトランザクションログであり、それにより、2日渡りトランザクションログを問い合わせればデータテーブル基礎データに対応する2日渡りトランザクションデータが得られる。
【0050】
一例において、前記決済日付付きのトランザクション記録に基づいて、前記目標ログにおいて2日渡りトランザクションに対応する2日渡りトランザクションログを決定することは、前記目標ログにおける1つのログを現在処理ログとして順次に取得し、トランザクション決済日付テーブルにおいて前記現在処理ログに対応するトランザクションの決済日付を問い合わせ、前記決済日付が前記日付切替トランザクションにおいて切り替えられる決済日付であると、前記目標ログについてトラバーサルを完了するまでに前記現在処理ログが2日渡りトランザクションログであり、前記トランザクション決済日付テーブルにはトランザクションの決済日付が記憶されていることをさらに含む。
【0051】
データベース内部には、トランザクション決済日付テーブルであるシステムテーブルが維持され、このテーブルには、それぞれのトランザクションに対応する決済日付が記録された。トランザクション決済日付テーブルには、それぞれのトランザクションのトランザクション番号及び決済日付が記録され、トランザクション番号がトランザクション識別子(Transaction Identifier、TID)又はグローバルトランザクション識別子(Global Transaction ID、GTID)である。トランザクションが問い合わせ操作のみであるが、いずれかの変更操作がないと、該トランザクションをトランザクション決済日付テーブルに記録する必要がない。トランザクション決済日付テーブルのフィールド説明は、表2に示される。
【表2】
【0052】
目標ログが2日渡りログであるか否かを判断する時に、トランザクション決済日付テーブルにおいて、目標ログに対応するトランザクションの決済日付を問い合わせることができ、問い合わせた決済日付が切り替えられる決済日付であると、目標ログに対応するトランザクションが2日渡りトランザクションであり、目標ログが2日渡りログである。
【0053】
一例において、前記決済日付付きのトランザクション記録に基づいて、前記目標ログにおいて2日渡りトランザクションに対応する2日渡りトランザクションログを決定する前に、受信したトランザクション要求に決済日付標記が含まれる場合には、前記トランザクション要求のトランザクション番号及び決済日付を1つのトランザクション記録として前記トランザクション決済日付テーブルに添加することをさらに含む。
【0054】
アプリケーションシステムがデータベースへ要求されるそれぞれのオンライントランザクションには、Hint標記を増加することができ、Hint標記に決済日付、例えば「SET @ACDATE=2018-04-25」が付加され、ただし、@ACDATEは、トランザクション決済日付標記であり、その値は、該トランザクションがデータベースへ問い合わせ始める決済日付値、例えば「2018-04-25」である。
【0055】
例を挙げて、元のオンライントランザクションのSQL文:
SELECT CUR_ACDATE FROM SYSTEM_TABLE、
--現在決済日付:2018-04-25
SELECT ...、
--現在決済日付が2018-04-26であり、業務SQLが2018-04-25を使用する
UPDATE ACCOUNT SET BAL=BAL+100、 ACDATE = 2018-04-25 WHERE ...、
COMMIT。
Hint標記を増加したオンライントランザクションのSQL文:
SELECT CUR_ACDATE FROM SYSTEM_TABLE、
--現在決済日付:2018-04-25
SELECT ...、
UPDATE ACCOUNT SET BAL=BAL+100、ACDATE = 2018-04-25 WHERE ...、
--データベースが該Hint文に基づいてトランザクション決済日付を記録する
SET @ACDATE = 2018-04-25、
COMMIT。
【0056】
データベースサービスがSQL要求を解析する時に、SET @ACDATEがあると、実行される上下文に該トランザクションの決済日付を記録する。該トランザクションが提出される時刻に、データベースは、該トランザクションのトランザクション番号(TID/GTID)と決済日付(ACDATE)を1つの記録としてトランザクション決済日付テーブルに挿入する。該トランザクションは、ただ問い合わせて、変更操作しないと、登録する必要がない。
【0057】
一例において、前記トランザクション要求の要求時間が日付切替ウィンドウ期間内にある場合には、前記トランザクション要求に決済日付標記が含まれ、前記日付切替ウィンドウ期間が前記日付切替時刻を含む設定時間帯である。
【0058】
オンライン取引の時間は、一般的に短く、通常、1s以内である。日付が切り替えられる前後に、十分な時間ウィンドウを残し、それにより、2日渡り取引トランザクションは、このウィンドウ期間だけ開始し、かつこのウィンドウ期間内に完了され、該ウィンドウ期間を日付切替ウィンドウ期間と称する。日付切替ウィンドウ期間は、アプリケーションシステムにより制御され、アプリケーションに基づいて、データベーストランザクションの最大長さを制御し、一般的には、取引トランザクションの最大長さを超え、例えば、日付切替ウィンドウ期間が日付切替前の5分間から日付切替後の5分間に設定される。
【0059】
2日渡り取引トランザクションを明確にするために、アプリケーションシステムは、日付切替ウィンドウ期間内だけにそれぞれのトランザクションに決済日付を標記し、トランザクションを提出する時、データベースにこの決済日付を記録する。
【0060】
図4に示すように、日付切替ウィンドウ期間が開始した後に、アプリケーションシステムがデータベースへ要求されるそれぞれのオンライントランザクションには、Hint標記を増加し、日付切替ウィンドウ期間が終了するまでにHint標記に決済日付、例えば「SET @ACDATE=2018-04-2」が付加される。
【0061】
トランザクション決済日付テーブルには、日付切替ウィンドウ期間内におけるすべてのオンライン取引トランザクションに対応する決済日付を記録する。日付切替ウィンドウ期間が終了した後に、該トランザクション決済日付テーブルには、すべての2日渡りトランザクションを既に登録する。トランザクション決済日付テーブルには、日付切替ウィンドウ期間内において、要求されかつ提出して完了される決済日付がT+0であるすべてのトランザクション、及び日付切替ウィンドウ期間内において、要求されかつ提出して完了される決済日付がT+1であるすべてのトランザクションが含まれ、日付切替ウィンドウ期間内において、要求されかつ提出して完了される決済日付がT+0であるトランザクションのうちの一部のトランザクションが2日渡りトランザクションである。従って、該トランザクション決済日付テーブルを使用してすべての2日渡りトランザクションをフィルタリングすることができる。
【0062】
一例において、
図3に示すように、日付切替ウィンドウ期間が終了する時、アプリケーションシステムは、データオフロードクライアントモジュールを呼び出し、データオフロードクライアントモジュールによりデータアンロードコマンドをデータオフロードサーバモジュールに通知し、データオフロードサーバモジュールがデータアンロードコマンドに基づいてマッチングするデータテーブル基礎データを取得し、データベースにおけるデータベースログ、日付切替トランザクションテーブル及びトランザクション決済日付テーブルにアクセスし、かつこれらのデータに基づいて、対応する日付切替データファイルを生成する。
【0063】
データオフロードサーバモジュールは、データベース内部のサブモジュールであり、データベースサービスと共に同一機器に置かれることができる。データオフロードサーバモジュールは、データアンロードコマンドを受信した後に、データテーブル基礎データを導出し、かつ日付切替トランザクションテーブル、トランザクション決済日付テーブル基づいてデータロールバックとデータ補充を行い、その間にデータベースログ(binlog)を使用する。
【0064】
図5に示すように、日付切替データオフロードは、3つのステップから構成される。第1ステップでは、データテーブル基礎データを導出し、テーブルの原始データファイルを形成する。第2ステップでは、日付切替トランザクションテーブルとデータベースログに基づいて、テーブルの原始データファイルを日付切替時刻までロールバックし、T+1トランザクションを除去したデータファイルが得られ、この時、すべての決済日付がT+1であるトランザクションは、全部除去された。第3ステップでは、日付切替トランザクションテーブルとデータベースログに基づいて、2日渡りトランザクションを、T+1トランザクションが除去されたデータファイルに追加し、日付切替データファイルが得られる。
【0065】
図6に示すように、データファイルが上記の3つのステップにおいて発生する変化は、以下の通りである。第1ステップでは、データファイルには、決済日付がT+0であるトランザクションと決済日付がT+1であるトランザクションが含まれ、第2ステップでは、データファイルには、決済日付がT+1であるトランザクションは、全部除去されたが、2日渡りトランザクションも一緒に除去され、第3ステップでは、2日渡りトランザクションがデータファイルに補充される。
【0066】
データオフロードサーバモジュールがデータアンロードコマンドを受信した後に、データテーブル基礎データを導出し始める。フィルタ条件に基づいて、複数本のSELECT INTO FILE WHERE ...文を組み合わせ、バッチ操作を実行し、対応テーブルのデータをデータファイルに導出する。データファイルは、通常、カンマ区切り値(Comma-Separated Values、CSV)形式であり、それぞれのテーブルが1つのファイルであり、テーブルの名称をファイルの名称としてもよい。複数のテーブルを導出する必要がある時、予めに配置される同時接続数により並行してN個のテーブルを導出し、すべてのテーブルが導出を完了するまでにそのほかのテーブルは待機する。
【0067】
データベースログbinlogには、データベーストランザクションが提出される時に、該トランザクションに関するテーブル記録の変化が記録されており、該記録が古い行値(old-row-value)と新しい行値(new-row-value)が含まれる。また、binlogは、データベーストランザクションが提出される前後順序に従って書き込まれるものであり、即ち、先に提出されるトランザクションに対応するbinlogは、いつも、後に提出されるトランザクションよりも早くログファイルに書き込まれ、従って、binlogに基づいてデータベースを任意の時刻までロールバックすることができる。
【0068】
本出願では、導出されるデータは、まず、日付切替トランザクションが提出される時刻までにロールバックする必要がある。この時刻のデータには、いずれかの決済日付がT+1であるトランザクションを含まないが、2日渡りトランザクションが欠けている。ロールバック操作は、データの導出時刻から始め、binlogにおける日付切替トランザクションに対応するログ(即ち、日付切替トランザクションテーブルのSWITCHED_ACDATEフィールドが更新されるログ)までに持続される。表3に示すように、導出されるデータを、binlogログで、日付切替トランザクションテーブルが更新される位置、つまり、タイムスタンプ11(Timestamp11)に対応する位置までに反方向ロールバックされ、この時に、日付が切り替えられた後に発生するデータ変化は、いずれもロールバックにより復元される。
【0069】
2日渡りトランザクションは、決済日付が切り替えられた後に提出されるので、決済日付がT+1であるトランザクションをロールバックして得られたデータファイルには、2日渡りトランザクションのデータが欠けており、2日渡りトランザクションをデータファイルに補充する必要がある。トランザクション決済日付テーブルにおいて、決済日付がT+0であるすべてのトランザクションについて、binlogログから対応するログを見つけ出し、かつこれらのログに基づいて、ロールバックされたデータファイルを一回再処理する。
【表3】
【0070】
一例において、データオフロードサーバモジュールは、順にbinlogを解析し、解析の開始位置は、日付切替トランザクションが位置する位置であり、解析の終了位置は、導出時刻が位置する位置であり、ログ解析リストが得られる。ログ解析リストには、順に1つのトランザクションを選択して解析し、まず、それぞれのトランザクションのTID/GTIDを取得し、その後に該TID/GTIDのトランザクション決済日付テーブルにおける対応するACDATEがT+0(即ち、切り替えられる決済日付)であるか否かを判断し、該TID/GTIDのトランザクション決済日付テーブルにおける対応するACDATEがT+0であると、binlogから該トランザクションの新しい記録値を抽出し、かつT+0追加テーブルに挿入し、該T+0追加テーブルは、メモリ構造体、つまり、メモリに記憶されるテーブルであってもよく、ログ解析リストにおける複数のトランザクションがいずれも解析されるまでに、該TID/GTIDのトランザクション決済日付テーブルにおける対応するACDATEがT+0であると廃棄される。最後に、T+0追加テーブルにおける記録行によりこの前の日付切替点までにロールバックされるデータファイルに対応する記録を置換し、ここで、実際に追加操作であり、それまでに日付切替データファイルが得られる。
【0071】
表4に示すように、binlogには、日付切替トランザクションが位置する位置から導出時刻までの間には、2つのトランザクションログが含まれ、表5は、トランザクション決済日付テーブルの例である。
【表4】
【表5】
【0072】
図7に示すフロー図に示すように、この2つのトランザクションログを解析し始める。タイムスタンプ番号が1であるログに対応するトランザクションの新しいTID/GTIDは、102であり、トランザクション決済日付テーブルを問い合わせて分かるように、TID/GTID 102に対応するACDATEは、4-25であり、切り替えられる決済日付T+0であり、binlogのうちの該トランザクションの最も新しい記録(例えば、主キーID及び新しい記録値)を取得し、かつT+0追加テーブルに添加する。タイムスタンプ番号が2であるログに対応するトランザクションの新しいTID/GTIDは、103であり、トランザクション決済日付テーブルを問い合わせて分かるように、TID/GTID 103に対応するACDATEは、4-26であり、切り替えられる決済日付T+0ではなく、該トランザクションログが廃棄される。この時、T+0追加テーブルは、表6に示される。
【表6】
【0073】
仮に日付切替点までロールバックされるデータファイルは、表7に示され、T+0追加テーブルにおけるデータを日付切替点までロールバックされるデータファイルに補充する。
【表7】
【0074】
日付切替点までロールバックされるデータファイルには、T+0追加テーブルにおけるデータにマッチングする記録が含まれると、T+0追加テーブルにおけるデータによりマッチングする記録値を置換し、日付切替点までロールバックされるデータファイルには、T+0追加テーブルにおけるデータにマッチングする記録が含まないと、T+0追加テーブルにおけるデータを日付切替点までロールバックされるデータファイルに添加し、それにより日付切替データファイルが得られる。
【0075】
表7に示すように、日付切替点までロールバックされるデータファイルには、T+0追加テーブルにおけるデータにマッチングする(主キーIDが1234である)記録が含まれると、T+0追加テーブルにおけるデータによりマッチングする記録値を置換し、得られた日付切替データファイルは、表8に示され、表8には、補充するデータのみを示し、他のデータが示さない。
【表8】
【0076】
1つの例示的な実施形態において、
図8は、本出願に係る別の日付切替データオフロード方法のフロー模式図である。該方法は、分散型データベースにおける日付切替データをオフロードすることに適用される。該方法は、本出願に係る分散型データベースに応用される日付切替データオフロード装置により実行でき、該日付切替データオフロード装置は、ソフトウェア及び/又はハードウェアにより実現でき、かつコンピュータ設備に集積される。
【0077】
図8に示すように、本出願に係る分散型データベースに応用される日付切替データオフロード方法は、以下のステップを含む。
【0078】
S210では、データ断片が位置する機器に配置されるデータオフロードエージェントサービスにより、データアンロードコマンドに基づいてローカルのマッチングするデータテーブル基礎データを取得する。
【0079】
S220では、前記データオフロードエージェントサービスにより、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られる。
【0080】
S230では、前記データオフロードエージェントサービスにより、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られる。
【0081】
S240では、前記データオフロードエージェントサービスにより、前記2日渡りトランザクションデータと前記データテーブルがロールバックされたデータとを合弁処理し、日付切替断片データが得られ、かつデータオフロード制御モジュールに送信される。
【0082】
S250では、前記データオフロード制御モジュールにより、複数の前記データオフロードエージェントサービスが送信する前記日付切替断片データを受信した後に、データ合弁処理を行い、前記分散型データベースに対応する前記日付切替データを生成する。
【0083】
分散型データベースの日付切替データオフロードの方案は、総体的には上記の関係型データベースの日付切替データオフロードの方案と類似し、データオフロードサーバモジュールの機能をデータオフロードの制御及びデータオフロードのエージェントという2つの部分に分けて、
図9に示すように、それぞれのデータ断片が位置する機器においてデータオフロードエージェントサービスを配置し、データ断片1/2/.../nに対応してデータオフロードエージェント1/2/.../nを配置し、日付切替データオフロードの主な過程は、データオフロードエージェントサービスにより完了される。
【0084】
日付切替データオフロード過程は、データオフロード制御モジュールにより統一的に制御され、それぞれのデータオフロードエージェントサービスを協調してデータテーブル基礎データの導出、日付切替トランザクション後のトランザクションのロールバック、2日渡りトランザクションの追加などの過程を実行する。データオフロードエージェントサービスは、ローカルにおいてデータテーブル基礎データの導出、トランザクションのロールバック、2日渡りトランザクションの追加の過程を完成し、複数の断片に対応する日付切替断片データファイルを形成し、処理過程が関係型データベースと同じである。複数のデータオフロードエージェントサービスは、ローカルの日付切替断片データファイルをファイルトランスファープロトコル(File Transfer Protocol、FTP)などのトランスファープロトコルを介してデータオフロード制御モジュールに送信する。データオフロード制御モジュールは、すべての日付切替断片データファイルを合弁し、最後に分散型データベースの日付切替データファイルが得られる。
【0085】
本実施例に係る技術案は、分散型データベースの底層にそれぞれの取引トランザクションの決済日付を記録し、データオフロードする時に、それぞれのデータノードに並行してデータオフロードを実行し、さらに、データベースログロールバック機構に基づいて、決済日付がT+1である分散型トランザクションをロールバックし、それにより、分散型データベースにおいて、直接的にオフロードして日付切替データが得られる。それぞれのデータ断片が位置する機器にデータオフロードエージェントサービスを配置することにより、ローカルのデータオフロード操作を実現し、データファイル、ログファイルがノードの間に搬送する消費を減少する。
【0086】
一例において、前記データオフロードエージェントサービスにより、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られることは、
前記データオフロードエージェントサービスにより、前記データベースログに基づいて日付切替トランザクションに対応する日付切替トランザクションログを決定し、前記データベースログに基づいて、前記データテーブル基礎データを前記日付切替トランザクションログが対応する時刻までロールバックし、前記データテーブルがロールバックされたデータが得られることを含む。
【0087】
一例において、前記データオフロードエージェントサービスにより、前記データベースログに基づいて日付切替トランザクションに対応する日付切替トランザクションログを決定する前に、データベースサービスにより、受信したトランザクション要求に決済日付切替標記が含まれる場合には、前記トランザクション要求を日付切替トランザクション要求として決定し、前記日付切替トランザクション要求に基づいて日付切替トランザクションテーブルを更新し、かつ前記日付切替トランザクションに対応する日付切替トランザクションログを生成することを含む。
【0088】
一例において、前記データオフロードエージェントサービスにより、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られることは、
前記データオフロードエージェントサービスにより、前記データベースログにおける前記日付切替トランザクションログに対応する時刻後の目標ログを取得し、前記決済日付付きのトランザクション記録に基づいて、前記目標ログにおいて2日渡りトランザクションに対応する2日渡りトランザクションログを決定し、かつ前記2日渡りトランザクションログに基づいて前記データテーブル基礎データに対応する2日渡りトランザクションデータを決定し、前記2日渡りトランザクションの決済日付が前記日付切替トランザクションにおいて切り替えられる決済日付であることを含む。
【0089】
一例において、前記データオフロードエージェントサービスにより、前記決済日付付きのトランザクション記録に基づいて、前記目標ログにおいて2日渡りトランザクションに対応する2日渡りトランザクションログを決定することは、
前記データオフロードエージェントサービスにより、前記目標ログにおける1つのログを現在処理ログとして順次に取得し、トランザクション決済日付テーブルにおいて前記現在処理ログに対応するトランザクションの決済日付を問い合わせ、前記決済日付が前記日付切替トランザクションにおいて切り替えられる決済日付であると、前記目標ログについてトラバーサルを完了するまでに前記現在処理ログが2日渡りトランザクションログであり、前記トランザクション決済日付テーブルにはトランザクションの決済日付が記憶されていることを含む。
【0090】
一例において、前記データオフロードエージェントサービスにより、前記決済日付付きのトランザクション記録に基づいて、前記目標ログにおいて2日渡りトランザクションに対応する2日渡りトランザクションログを決定する前には、
データベースサービスにより、受信したトランザクション要求に決済日付標記が含まれる場合に、前記トランザクション要求のトランザクション番号及び決済日付を1つのトランザクション記録として前記トランザクション決済日付テーブルに添加することをさらに含む。
【0091】
一例において、前記トランザクション要求の要求時間が日付切替ウィンドウ期間内にある場合には、前記トランザクション要求に決済日付標記が含まれ、前記日付切替ウィンドウ期間が前記日付切替時刻を含む設定時間帯であることを含む。
【0092】
一例において、データ断片が位置する機器に配置されるデータオフロードエージェントサービスにより、データアンロードコマンドに基づいてローカルのマッチングするデータテーブル基礎データを取得する前には、
データ断片が位置する機器に配置されるデータオフロードエージェントサービスにより、前記データオフロード制御モジュールにより送信する前記データアンロードコマンドを受信し、前記データアンロードコマンドがデータオフロードクライアントモジュールによりコマンドラインの形式で前記データオフロード制御モジュールに送信されることをさらに含む。
【0093】
一例において、前記データアンロードコマンドには、データオフロードを行う必要があるテーブル情報、フィルタ条件及びフィルタフィールドが含まれる。
【0094】
本実施形態において詳しく説明しない内容は、以上の関係型データベースについての実施形態を参照し、ここで説明を省略する。
【0095】
本実施例は、日付切替データオフロード装置をさらに提供し、
図10は、本出願に係る日付切替データオフロード装置の構成模式図である。
図10に示すように、本出願の実施例に係る関係型データベースに応用される日付切替データオフロード装置を提供し、該日付切替データオフロード装置は、ソフトウェア及び/又はハードウェアにより実現でき、かつコンピュータ設備に集積される。該装置は、第1データテーブル基礎データ取得モジュール310と、第1データロールバックモジュール320と、第1 2日渡りデータ補充モジュール330と、第1日付切替データ生成モジュール340とを含む。第1データテーブル基礎データ取得モジュール310は、データアンロードコマンドに基づいてマッチングするデータテーブル基礎データを取得するように構成され、第1データロールバックモジュール320は、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られるように構成され、第1 2日渡りデータ補充モジュール330は、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られるように構成され、第1日付切替データ生成モジュール340は、前記データテーブルがロールバックされたデータと前記2日渡りトランザクションデータとを合弁処理し、前記日付切替データが得られるように構成される。
【0096】
本実施例に係る技術案は、外部への取引業務システムが24時間に持続的にサービスを提供する過程に、直接的にデータベースから完全な日付切替データをオフロードでき、かつデータベースの上流アプリケーションシステムは、別の業務処理を行う必要がなく、データベースの下流システムもデータクリーニング操作を行う必要もなく、業務開発ロジックを簡易化し、日付切替データオフロードの全体時間の消費を短縮する。
【0097】
一例において、第1データロールバックモジュール320は、
前記データベースログに基づいて日付切替トランザクションに対応する日付切替トランザクションログを決定するように構成される日付切替トランザクションログ決定ユニットと、前記データベースログに基づいて、前記データテーブル基礎データを前記日付切替トランザクションログが対応する時刻までロールバックし、前記データテーブルがロールバックされたデータが得られるように構成される第1データロールバックユニットと、を含む。
【0098】
一例において、第1データロールバックモジュール320は、
前記データベースログに基づいて日付切替トランザクションに対応する日付切替トランザクションログを決定する前に、受信したトランザクション要求に決済日付切替標記が含まれる場合には、前記トランザクション要求を日付切替トランザクション要求として決定し、前記日付切替トランザクション要求に基づいて日付切替トランザクションテーブルを更新し、かつ前記日付切替トランザクションに対応する日付切替トランザクションログを生成するように構成される日付切替トランザクションログ生成ユニットをさらに含む。
【0099】
一例において、第1 2日渡りデータ補充モジュール330は、
前記データベースログにおける前記日付切替トランザクションログに対応する時刻後の目標ログを取得するように構成される目標ログモジュールユニットと、前記決済日付付きのトランザクション記録に基づいて、前記目標ログにおいて2日渡りトランザクションに対応する2日渡りトランザクションログを決定し、かつ前記2日渡りトランザクションログに基づいて前記データテーブル基礎データに対応する2日渡りトランザクションデータを決定するように構成される2日渡りトランザクション決定ユニットとを含み、前記2日渡りトランザクションの決済日付が前記日付切替トランザクションにおいて切り替えられる決済日付である。
【0100】
一例において、2日渡りトランザクション決定ユニットは、前記目標ログにおける1つのログを現在処理ログとして順次に取得し、トランザクション決済日付テーブルにおいて前記現在処理ログに対応するトランザクションの決済日付を問い合わせ、前記決済日付が前記日付切替トランザクションにおいて切り替えられる決済日付であると、前記目標ログについてトラバーサルを完了するまでに前記現在処理ログが2日渡りトランザクションログであり、前記トランザクション決済日付テーブルにはトランザクションの決済日付が記憶されているように構成される。
【0101】
一例において、第1 2日渡りデータ補充モジュール330は、
前記決済日付付きのトランザクション記録に基づいて、前記目標ログにおいて2日渡りトランザクションに対応する2日渡りトランザクションログを決定する前に、受信したトランザクション要求に決済日付標記が含まれる場合には、前記トランザクション要求のトランザクション番号及び決済日付を1つのトランザクション記録として前記トランザクション決済日付テーブルに添加するように構成されるトランザクション決済日付テーブル生成ユニットをさらに含む。
【0102】
一例において、前記トランザクション要求の要求時間が日付切替ウィンドウ期間内にある場合には、前記トランザクション要求に決済日付標記が含まれ、前記日付切替ウィンドウ期間が前記日付切替時刻を含む設定時間帯であることを含む。
【0103】
一例において、上記装置は、データアンロードコマンドに基づいてマッチングするデータテーブル基礎データを取得する前に、データオフロードクライアントモジュールにより送信されるコマンドライン形式の前記データアンロードコマンドを受信するように構成されるデータアンロードコマンド受信モジュールをさらに含む。
【0104】
一例において、前記データアンロードコマンドには、データオフロードを行う必要があるテーブル情報、フィルタ条件及びフィルタフィールドが含まれる。
【0105】
本実施例に係る関係型データベースに応用される日付切替データオフロード装置は、本出願の実施例に記載の関係型データベースに応用される日付切替データオフロード方法を実現するように構成され、本実施例に係る関係型データベースに応用される日付切替データオフロード装置の実現原理及び技術効果は、本出願の実施例に記載の関係型データベースに応用される日付切替データオフロード方法と類似し、ここで説明を省略する。
【0106】
本実施例は、日付切替データオフロード装置をさらに提供し、
図11は、本出願に係る別の日付切替データオフロード装置の構成模式図である。
図11に示すように、本出願の実施例は、分散型データベースに応用される日付切替データオフロード装置を提供し、該日付切替データオフロード装置は、ソフトウェア及び/又はハードウェアにより実現され、かつコンピュータ設備に集積される。該装置は、第2データテーブル基礎データ取得モジュール410と、第2データロールバックモジュール420と、第2 2日渡りデータ補充モジュール430と、日付切替断片データ生成モジュール440と、第2日付切替データ生成モジュール450とを含む。第2データテーブル基礎データ取得モジュール410は、データ断片が位置する機器に配置されるデータオフロードエージェントサービスにより、データアンロードコマンドに基づいてローカルのマッチングするデータテーブル基礎データを取得するように構成され、第2データロールバックモジュール420は、前記データオフロードエージェントサービスにより、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られるように構成され、第2 2日渡りデータ補充モジュール430は、前記データオフロードエージェントサービスにより、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られるように構成され、日付切替断片データ生成モジュール440は、前記データオフロードエージェントサービスにより、前記2日渡りトランザクションデータと前記データテーブルがロールバックされたデータとを合弁処理し、日付切替断片データが得られ、かつデータオフロード制御モジュールに送信されるように構成され、第2日付切替データ生成モジュール450は、前記データオフロード制御モジュールにより、複数の前記データオフロードエージェントサービスが送信する前記日付切替断片データを受信した後に、データ合弁処理を行い、前記分散型データベースに対応する前記日付切替データを生成するように構成される。
【0107】
本実施例に係る技術案は、分散型データベースの底層にそれぞれの取引トランザクションの決済日付を記録し、データオフロードする時に、それぞれのデータノードに並行してデータオフロードを実行し、さらに、データベースログロールバック機構に基づいて、決済日付がT+1である分散型トランザクションをロールバックし、それにより、分散型データベースにおいて、直接的にオフロードして日付切替データが得られる。それぞれのデータ断片が位置する機器にデータオフロードエージェントサービスを配置することにより、ローカルのデータオフロード操作を実現し、データファイル、ログファイルがノードの間に搬送する消費を減少する。
【0108】
本実施例に係る分散型データベースに応用される日付切替データオフロード装置は、本出願の実施例に記載の分散型データベースに応用される日付切替データオフロード方法を実現するように構成され、本実施例に係る分散型データベースに応用される日付切替データオフロード装置の実現原理及び技術効果は、本出願の実施例に記載の分散型データベースに応用される日付切替データオフロード方法と類似し、ここで説明を省略する。
【0109】
本出願の実施例は、コンピュータ設備を提供し、
図12は、本出願に係るコンピュータ設備の構成模式図である。
図12に示すように、本出願に係るコンピュータ設備は、少なくとも1つのプロセッサ510と記憶装置520を含み、該コンピュータ設備のプロセッサ510は、少なくとも1つであってもよく、
図12において、1つのプロセッサ510を例とし、記憶装置520は、少なくとも1つのプログラムを記憶するように構成され、前記少なくとも1つのプログラムが前記少なくとも1つのプロセッサ510により実行され、それにより、前記少なくとも1つのプロセッサ510は、本出願の実施例に記載の関係型データベースに応用される日付切替データオフロード方法又は分散型データベースに応用される日付切替データオフロード方法を実現する。
【0110】
コンピュータ設備におけるプロセッサ510、記憶装置520は、バス又は他の方式により接続されることでき、
図12において、バスにより接続されることを例としている。
【0111】
記憶装置520は、コンピュータ読み取り可能な記憶媒体として、ソフトウェアプログラム、コンピュータ実行可能なプログラム及びモジュール、例えば、本出願の実施例に記載の関係型データベースに応用される日付切替データオフロード方法に対応するプログラム指令/モジュール(例えば、関係型データベースに応用される日付切替データオフロード装置における第1データテーブル基礎データ取得モジュール310、第1データロールバックモジュール320、第1 2日渡りデータ補充モジュール330及び第1日付切替データ生成モジュール340)、また、本出願の実施例に記載の分散型データベースに応用される日付切替データオフロード方法に対応するプログラム指令/モジュール(例えば、分散型データベースに応用される日付切替データオフロード装置における第2データテーブル基礎データ取得モジュール410、第2データロールバックモジュール420、第2 2日渡りデータ補充モジュール430、日付切替断片データ生成モジュール440及び第2日付切替データ生成モジュール450)を記憶するように設置できる。記憶装置520は、プログラム記憶領域とデータ記憶領域を含むことができ、プログラム記憶領域は、操作システム、少なくとも1つの機能に必要なアプリケーションプログラムを記憶することができ、データ記憶領域は、設備の使用に応じて作成されるデータなどを記憶することができる。また、記憶装置520は、高速ランダムアクセスメモリを含むことができ、不揮発性メモリ、例えば少なくとも1つのディスクメモリ、フラッシュメモリ、又は他の不揮発性ソリッドステートメモリを含むこともできる。幾つかの実例において、記憶装置520は、プロセッサ510に対してリモート設置されるメモリをさらに含むことができ、これらのリモートメモリは、ネットワークを介してコンピュータ設備に接続されることができる。上記ネットワークの実例は、インターネット、イントラネット、ローカルエリアネットワーク、移動通信ネットワーク及びその組合せを含むが、それに限定されていない。
【0112】
入力装置530は、入力するデジタル又はキャラクター情報を受信し、及びコンピュータ設備のユーザ設置及び機能制御に関するキー信号入力を発生させるように構成される。出力装置540は、表示画面などの表示設備を含むことができる。
【0113】
本出願の実施例は、記憶媒体をさらに提供する。前記記憶媒体には、コンピュータプログラムが記憶され、前記コンピュータプログラムがプロセッサにより実行される時に、本出願の実施例のいずれかに記載の関係型データベースに応用される日付切替データオフロード方法又は本出願の実施例のいずれかに記載の分散型データベースに応用される日付切替データオフロード方法を実現する。
【0114】
関係型データベースに応用される日付切替データオフロード方法は、
データアンロードコマンドに基づいてマッチングするデータテーブル基礎データを取得し、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られ、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られ、前記データテーブルがロールバックされたデータと前記2日渡りトランザクションデータとを合弁処理し、前記日付切替データが得られることを含む。
【0115】
分散型データベースに応用される日付切替データオフロード方法は、
データ断片が位置する機器に配置されるデータオフロードエージェントサービスにより、データアンロードコマンドに基づいてローカルのマッチングするデータテーブル基礎データを取得し、前記データオフロードエージェントサービスにより、データベースログに基づいて前記データテーブル基礎データにおける日付切替時刻後のデータに対してロールバック操作を行い、データテーブルがロールバックされたデータが得られ、前記データオフロードエージェントサービスにより、前記データベースログ及び決済日付付きのトランザクション記録に基づいて、前記データテーブル基礎データに対応する2日渡りトランザクションデータが得られ、前記データオフロードエージェントサービスにより、前記2日渡りトランザクションデータと前記データテーブルがロールバックされたデータとを合弁処理し、日付切替断片データが得られ、かつデータオフロード制御モジュールに送信され、前記データオフロード制御モジュールにより、複数の前記データオフロードエージェントサービスが送信する前記日付切替断片データを受信した後に、データ合弁処理を行い、前記分散型データベースに対応する前記日付切替データを生成することを含む。
【0116】
代替的に、該コンピュータ実行可能な指令は、コンピュータプロセッサにより実行される時に、本出願の実施例のいずれかに記載の関係型データベースに応用される日付切替データオフロード方法又は本出願の実施例のいずれかに記載の分散型データベースに応用される日付切替データオフロード方法を実行することに用いられる。
【0117】
以上の実施形態の説明により、本出願は、ソフトウェア及び必要な汎用ハードウェアにより実現でき、ハードウェアにより実現できる。本出願の技術案は、ソフトウェア製品の形式により体現でき、該コンピュータソフトウェア製品は、コンピュータ読み取り可能な記憶媒体、例えば、コンピュータのフレキシブルディスクや、リードオンリーメモリ(Read-Only Memory、ROM)、ランダムアクセスメモリ(Random Access Memory、RAM)、フラッシュメモリ(FLASH)、ハードディスク、光ディスクなどに記憶され、複数の指令を含むことにより、一台のコンピュータ設備(パーソナルコンピュータや、サーバ、ネットワーク設備などであってもよい)に本出願の実施例に記載の方法を実行させる。
【0118】
上記の関係型データベースに応用される日付切替データオフロード装置又は分散型データベースに応用される日付切替データオフロード装置の実施例において、含まれる複数のユニットとモジュールは、機能ロジックに応じて区分されるが、相応する機能を実現できればよく、上記区分に限定されていない。また、複数の機能ユニットの名称は、互いに区分するためのものだけであり、本出願の特許請求の範囲を限定するものではない。
【0119】
以上は、本出願の例示的な実施例だけであり、本出願の特許請求の範囲を限定するものではない。
【0120】
ユーザ端末という用語は、いずれかの適当な類型の無線ユーザ設備、例えば携帯電話や、ポータブルデータ処理装置、ポータブルネットワークブラウザ、車載移動台を含む。
【0121】
一般的には、本出願の複数種の実施例は、ハードウェア又は特殊回路、ソフトウェア、ロジック又はその任意の組合せにおいて実現できる。例えば、幾つかの面は、ハードウェアに実現できるが、他の面が制御器、マイクロプロセッサ又はほかの算出装置により実行されるファームウェアやソフトウェアに実現でき、本出願は、それに限定されていない。
【0122】
本出願の実施例は、移動装置のデータプロセッサによりコンピュータプログラム指令を実行することにより実現でき、例えばプロセッサ実体において、又はハードウェア、又はソフトウェアとハードウェアの組合せにより実現できる。コンピュータプログラム指令は、アセンブリー指令、命令セットアーキテクチャ(Instruction Set Architecture、ISA)指令、機器指令、機器関連指令、マイクロコード、ファームウェア指令、状態設定データ、又は少なくとも1つのプログラミング言語のいずれかの組合せにより編集されるソースコード又はオブジェクトコードであってもよい。
【0123】
本出願の図面におけるいずれかのロジックフローのブロック図は、プログラムステップを示すことができ、又は、互いに接続されるロジック回路、モジュール及び機能を示すことができ、又は、プログラムステップとロジック回路、モジュールと機能の組合せを示すことができる。コンピュータプログラムは、メモリに記憶されることができる。メモリは、ローカルの技術環境に適合する類型を有することができ、かついずれかの適当なデータ記憶技術により実現でき、例えば、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、光メモリ装置とシステム(デジタル多用途ディスク(Digital Video Disc、DVD)又は光ディスク(Compact Disk、CD))などを含むが、それに限定されていない。コンピュータ読み取り可能な媒体は、非一時的記憶媒体を含むことができる。データプロセッサは、いずれかのローカルの技術環境に適当する類型であってもよく、例えば、汎用コンピュータ、専用コンピュータ、マイクロプロセッサ、デジタル信号プロセッサ(Digital Signal Processing、DSP)、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、現場プログラム可能ゲートアレイ(Field-Programmable Gate Array、FPGA)及びマルチコアプロセッサーアーキテクチャに基づくプロセッサを含むが、それに限定されていない。
【国際調査報告】