JP7481244B2 - データ同期システム、データ同期装置及びデータ同期方法 - Google Patents
データ同期システム、データ同期装置及びデータ同期方法 Download PDFInfo
- Publication number
- JP7481244B2 JP7481244B2 JP2020200535A JP2020200535A JP7481244B2 JP 7481244 B2 JP7481244 B2 JP 7481244B2 JP 2020200535 A JP2020200535 A JP 2020200535A JP 2020200535 A JP2020200535 A JP 2020200535A JP 7481244 B2 JP7481244 B2 JP 7481244B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- synchronization
- difference
- acquisition module
- difference acquisition
- 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
Links
- 238000000034 method Methods 0.000 title claims description 127
- 230000008569 process Effects 0.000 claims description 108
- 238000012546 transfer Methods 0.000 claims description 48
- 230000001360 synchronised effect Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 17
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 238000007792 addition Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
- G06F16/1756—De-duplication implemented within the file system, e.g. based on file segments based on delta files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
また、代表的な本発明のデータ同期方法の一つは、同期元となる第1の装置から同期対象として指定されたデータである同期対象データの全件を取得する全件取得ステップと、前記全件取得ステップにより取得された同期対象データを所定の記憶部に格納するステップと、同期先である第2の装置が現に保持するデータを示す同期先データと前記同期対象データとを用いて前記第2の装置に反映すべき差分を特定するステップと、特定した差分を前記第2の装置に反映させるステップと、前記反映の後、前記同期対象データに基づいて前記同期先データを更新するステップとを含むことを特徴とする。
図7は、実施例2における差分取得処理307の処理手順を示すフローチャートである。実施例2において、差分取得モジュール232は、差分取得処理307を開始すると、今回データ領域234から対象表のデータを1行取得し、ハッシュを計算する(701)。その後、差分取得モジュール232は、前回データ領域235から主キー列及びソート列の値が等しい行のハッシュを取得する(702)。
チャンクは、データテーブルのソート列の値の範囲(最大値と最小値)を指定することで設定し、チャンク番号を付与することで識別する。
図9は、実施例3における差分取得処理307の処理手順を示すフローチャートである。実施例3において、差分取得モジュール232は、差分取得処理307を開始すると、前回データ領域235からn番目のチャンクを取得し(901)、取得したチャンクのソート列の値の最大値と最小値を取得する(902)。
比較の結果、ハッシュが一致すれば(904;Y)、905の処理に移行する。
ハッシュが不一致であれば(904;N)、差分取得モジュール232は、チャンクに含まれる全ての行をシンク装置104に転送して(941)、チャンク内で発生した追加、更新、削除を反映させ、905の処理に移行する。
また、差分取得モジュール232は、テーブルデータの所定の列について、当該列の値である列値の範囲を指定することでチャンクを設定するので、行の追加や削除が他のチャンクに影響を及ぼす事態を回避し、チャンク単位の差分の反映を効率的に行うことができる。
以降、本実施例4について、実施例3との相違点を中心に説明を行う。
図11は、実施例4における差分取得処理307の処理手順を示すフローチャートである。901の処理から908の処理までは、実施例3と同様であるので、説明を省略する。
1101の処理において、差分取得モジュール232は、941の処理で行った転送の所要時間の中に、過去統計より+1σ以上大きいものがあるか否かを判定する。
所要時間の中に過去統計より+1σ以上大きいものがあるならば(1101;Y)、1102に移行する。
所要時間の中に過去統計より+1σ以上大きいものがなければ(1101;N)、差分取得モジュール232は、941の処理で行った転送の所要時間の中に、過去統計より-1σ以下の小さいものがあるか否かを判定する(1111)。
所要時間の中に過去統計より-1σ以下の小さいものがあるならば(1111;Y)、1112に移行する。
所要時間の中に過去統計より-1σ以下の小さいものがなければ(1111;N)、差分取得モジュール232は、今回データ領域234の使用量が閾値以上であるか否かを判定する(1113)。
今回データ領域234の使用量が閾値以上であれば(1113;Y)、1112の処理に移行し、今回データ領域234の使用量が閾値未満であれば(1113;N)、1104に移行する。
1112の処理では、差分取得モジュール232は、チャンクに含まれる行数が増えるようにチャンクの範囲を変更し、1103の処理に移行する。
一例として、チャンクの行数を増やすときは、チャンクの範囲を25%ずつ増やし、チャンクの行数を減らすときは、チャンクの範囲を25%ずつ減らす。
1103の処理では、所要時間の統計値をリセットし、1104に移行する。
例えば、売上管理データが対象である場合、新たな売上のデータが順次追加されるが、データの追加の発生頻度に比して変更や削除の発生頻度は低くなる。そして、変更や削除が発生する場合にも、新しい売上に対する変更や削除が主であり、古い売上に対する変更や削除が発生することは少ない。
このような特性を有するテーブルでは、売上の日時をソート列とし、日時が新しい側の所定範囲についてはチャンクの設定対象から除外して、行単位で差分の特定を行う方が、データの同期を効率的に行うことができる。
以降、本実施例5について、実施例4との相違点を中心に説明を行う。
1402の処理では、差分取得モジュール232は、前回のチャンクを全て取得したか否かを判定する。
未取得のチャンクが残っていれば(1402;N)、差分取得モジュール232は、901の処理に戻る。全てのチャンクを取得済みであれば(1402;Y)、差分取得モジュール232は、906の処理に進む。
1404の処理の後、差分取得モジュール232は、チャンクの設定対象から除外された行、すなわち、ソート列値の大きい側の非チャンクの行について、行ごとのハッシュを計算し、前回データ領域235に移動させる(1405)。
1405の処理の後、差分取得モジュール232は、スケジューラモジュール233に差分取得終了を通知し(312)、差分取得処理を終了する。
上記実施例1~実施例5は、あくまで一例であり、本発明を限定するものではない。例えば、データ転送装置203は必ずしも一体に構成する必要はなく、複数の装置が協働してデータ転送装置203としての機能を実現してもよい。
主キー列名1704及びソート列名1705は、差分更新を行なう際に、どの列を用いて前回データと今回データの対応関係を識別するかを設定する項目である。
Claims (6)
- 同期元となる第1の装置から同期対象として指定されたデータである同期対象データの全件を取得する全件取得部と、
同期先である第2の装置が現に保持するデータを示す同期先データを予め格納するとともに、前記全件取得部により取得された同期対象データを格納する1又は複数の記憶部と、
前記同期先データ及び前記同期対象データを用いて前記第2の装置に反映すべき差分を特定し、特定した差分を前記第2の装置に反映させ、該反映の後、前記同期対象データに基づいて前記同期先データを更新する差分取得部と
を備え、
前記差分取得部は、
前記第2の装置が現に保持するテーブルデータに対して1又は複数のチャンクを設定し、前記チャンクに含まれる1又は複数の行から1のハッシュデータを生成して前記同期先データとし、
前記差分を前記第2の装置に反映させた後、前記同期対象データから生成したハッシュデータを新たな同期先データとするものであり、
前記差分取得部は、前記第2の装置の負荷状況に応じて、又は前記記憶部の空き容量に応じて、前記チャンクのサイズを変更することを特徴とするデータ同期システム。 - 前記差分取得部は、前記テーブルデータの所定の列について、当該列の値である列値の範囲を指定することで前記チャンクを設定することを特徴とする請求項1に記載のデータ同期システム。
- 前記差分取得部は、前記テーブルデータにおいて行の追加が見込まれる所定範囲を前記チャンクの設定対象から除外し、当該所定範囲においては行単位で差分の特定を行うことを特徴とする請求項2に記載のデータ同期システム。
- 前記第1の装置と通信接続するソース側転送装置と、前記第2の装置と通信接続するシンク側転送装置とを備え、
前記ソース側転送装置は、前記全件取得部及び前記記憶部を少なくとも有し、
前記シンク側転送装置は、前記ソース側転送装置と所定のネットワークを介して接続されて、前記差分を前記第2の装置に反映する処理を実行する
ことを特徴とする請求項1に記載のデータ同期システム。 - 同期元となる第1の装置から同期対象として指定されたデータである同期対象データの全件を取得する全件取得部と、
同期先である第2の装置が現に保持するデータを示す同期先データを予め格納するとともに、前記全件取得部により取得された同期対象データを格納する1又は複数の記憶部と、
前記同期先データ及び前記同期対象データを用いて前記第2の装置に反映すべき差分を特定し、特定した差分を前記第2の装置に反映させ、該反映の後、前記同期対象データに基づいて前記同期先データを更新する差分取得部と
を備え、
前記差分取得部は、
前記第2の装置が現に保持するテーブルデータに対して1又は複数のチャンクを設定し、前記チャンクに含まれる1又は複数の行から1のハッシュデータを生成して前記同期先データとし、
前記差分を前記第2の装置に反映させた後、前記同期対象データから生成したハッシュデータを新たな同期先データとするものであり、
前記差分取得部は、前記第2の装置の負荷状況に応じて、又は前記記憶部の空き容量に応じて、前記チャンクのサイズを変更することを特徴とするデータ同期装置。 - データ同期装置が、
同期元となる第1の装置から同期対象として指定されたデータである同期対象データの全件を取得する全件取得ステップと、
前記全件取得ステップにより取得された同期対象データを所定の記憶部に格納するステップと、
同期先である第2の装置が現に保持するデータを示す同期先データと前記同期対象データとを用いて前記第2の装置に反映すべき差分を特定するステップと、
特定した差分を前記第2の装置に反映させるステップと、
前記反映の後、前記同期対象データに基づいて前記同期先データを更新するステップと
を含み、
前記同期先データは、前記第2の装置が現に保持するテーブルデータに対して1又は複数のチャンクを設定し、前記チャンクに含まれる1又は複数の行から1のハッシュデータを生成したものであり、
前記差分を前記第2の装置に反映させた後、前記チャンクのサイズを、前記第2の装置の負荷状況に応じて、又は前記記憶部の空き容量に応じて変更するステップと、前記同期対象データから生成したハッシュデータを新たな同期先データとするステップとをさらに含むことを特徴とするデータ同期方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020200535A JP7481244B2 (ja) | 2020-12-02 | 2020-12-02 | データ同期システム、データ同期装置及びデータ同期方法 |
US17/539,383 US20220171788A1 (en) | 2020-12-02 | 2021-12-01 | Data synchronization system, data synchronization apparatus, and data synchronization method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020200535A JP7481244B2 (ja) | 2020-12-02 | 2020-12-02 | データ同期システム、データ同期装置及びデータ同期方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022088221A JP2022088221A (ja) | 2022-06-14 |
JP7481244B2 true JP7481244B2 (ja) | 2024-05-10 |
Family
ID=81751470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020200535A Active JP7481244B2 (ja) | 2020-12-02 | 2020-12-02 | データ同期システム、データ同期装置及びデータ同期方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220171788A1 (ja) |
JP (1) | JP7481244B2 (ja) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006113783A (ja) | 2004-10-14 | 2006-04-27 | Hitachi Ltd | 計算機システム |
JP2006338298A (ja) | 2005-06-01 | 2006-12-14 | Sharp Corp | マルチデータの分割管理方法およびそれを用いた情報端末装置 |
JP2009230523A (ja) | 2008-03-24 | 2009-10-08 | Nippon Hoso Kyokai <Nhk> | ファイル同期装置、ファイル同期方法及びファイル同期プログラム |
JP2010205100A (ja) | 2009-03-05 | 2010-09-16 | Nec Corp | 管理サーバ、バックアップ方式、バックアップ方法、及び、プログラム |
JP2011198385A (ja) | 2005-09-29 | 2011-10-06 | Research In Motion Ltd | 代表的な情報を比較することによる効率的なデータベースの同期化 |
JP2013254400A (ja) | 2012-06-08 | 2013-12-19 | Hitachi Ltd | 計算機システム、バックアップデータ生成方法、バックアップ計算機及びプログラム |
JP2020190874A (ja) | 2019-05-21 | 2020-11-26 | 株式会社医療情報技術研究所 | 文書管理システム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8869138B2 (en) * | 2011-11-11 | 2014-10-21 | Wyse Technology L.L.C. | Robust firmware update with recovery logic |
US9400800B2 (en) * | 2012-11-19 | 2016-07-26 | Palo Alto Research Center Incorporated | Data transport by named content synchronization |
US9355116B2 (en) * | 2013-03-04 | 2016-05-31 | Vmware, Inc. | Cross-file differential content synchronization using cached patches |
CN104239357B (zh) * | 2013-06-21 | 2019-01-18 | Sap欧洲公司 | 用于数据库事务的并发请求处理 |
JP6394259B2 (ja) * | 2014-10-09 | 2018-09-26 | 富士通株式会社 | 認証システム、認証方法、および認証装置 |
JP6587953B2 (ja) * | 2016-02-10 | 2019-10-09 | 東芝メモリ株式会社 | ストレージコントローラ、ストレージ装置、データ処理方法およびプログラム |
-
2020
- 2020-12-02 JP JP2020200535A patent/JP7481244B2/ja active Active
-
2021
- 2021-12-01 US US17/539,383 patent/US20220171788A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006113783A (ja) | 2004-10-14 | 2006-04-27 | Hitachi Ltd | 計算機システム |
JP2006338298A (ja) | 2005-06-01 | 2006-12-14 | Sharp Corp | マルチデータの分割管理方法およびそれを用いた情報端末装置 |
JP2011198385A (ja) | 2005-09-29 | 2011-10-06 | Research In Motion Ltd | 代表的な情報を比較することによる効率的なデータベースの同期化 |
JP2009230523A (ja) | 2008-03-24 | 2009-10-08 | Nippon Hoso Kyokai <Nhk> | ファイル同期装置、ファイル同期方法及びファイル同期プログラム |
JP2010205100A (ja) | 2009-03-05 | 2010-09-16 | Nec Corp | 管理サーバ、バックアップ方式、バックアップ方法、及び、プログラム |
JP2013254400A (ja) | 2012-06-08 | 2013-12-19 | Hitachi Ltd | 計算機システム、バックアップデータ生成方法、バックアップ計算機及びプログラム |
JP2020190874A (ja) | 2019-05-21 | 2020-11-26 | 株式会社医療情報技術研究所 | 文書管理システム |
Also Published As
Publication number | Publication date |
---|---|
US20220171788A1 (en) | 2022-06-02 |
JP2022088221A (ja) | 2022-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11023448B2 (en) | Data scrubbing method and apparatus, and computer readable storage medium | |
CN108319654B (zh) | 计算系统、冷热数据分离方法及装置、计算机可读存储介质 | |
CN106462592B (zh) | 优化对索引的多版本支持的系统和方法 | |
CN108121782B (zh) | 查询请求的分配方法、数据库中间件系统以及电子设备 | |
US20200334207A1 (en) | Synchronization of metadata in a distributed storage system | |
US9672244B2 (en) | Efficient undo-processing during data redistribution | |
CN108509462B (zh) | 一种同步活动事务表的方法及装置 | |
KR101663215B1 (ko) | 데이터 저장 방법 및 장치 | |
US20160026699A1 (en) | Method for Synchronization of UGC Master and Backup and System Thereof, and Computer Storage Medium | |
US11847034B2 (en) | Database-level automatic storage management | |
EP3885929A1 (en) | Data redistribution method, device, and system | |
CN106294205B (zh) | 缓存数据处理方法及装置 | |
US11675743B2 (en) | Web-scale distributed deduplication | |
CN111386521B (zh) | 在数据库集群中重分布表数据 | |
CN112334891A (zh) | 用于搜索服务器的集中式存储 | |
CN112148736A (zh) | 缓存数据的方法、设备及存储介质 | |
US10430400B1 (en) | User controlled file synchronization limits | |
JP7481244B2 (ja) | データ同期システム、データ同期装置及びデータ同期方法 | |
CN112187889A (zh) | 一种数据同步方法、装置及存储介质 | |
CN113901141B (zh) | 一种分布式数据同步方法及系统 | |
CN112115166B (zh) | 数据缓存方法、装置、计算机设备和存储介质 | |
US20110214130A1 (en) | Data processing system, data processing method, and data processing program | |
CN113253924A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
US20150215404A1 (en) | Replication device, replication method, and replication system | |
CN111190912B (zh) | 一种基于行变更的面向大事务的分片执行方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240130 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240326 |
|
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: 20240402 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240425 |