JP7484038B2 - データ分割装置、データ分割方法及びプログラム。 - Google Patents
データ分割装置、データ分割方法及びプログラム。 Download PDFInfo
- Publication number
- JP7484038B2 JP7484038B2 JP2019210670A JP2019210670A JP7484038B2 JP 7484038 B2 JP7484038 B2 JP 7484038B2 JP 2019210670 A JP2019210670 A JP 2019210670A JP 2019210670 A JP2019210670 A JP 2019210670A JP 7484038 B2 JP7484038 B2 JP 7484038B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- program
- rule
- programs
- division
- 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 55
- 230000005764 inhibitory process Effects 0.000 claims description 22
- 238000000638 solvent extraction Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 20
- 230000003068 static effect Effects 0.000 description 11
- 239000000284 extract Substances 0.000 description 7
- 238000000926 separation method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
以下、一実施形態に係るデータ分割装置について図1~図16を参照して説明する。
図1は、本発明の一実施形態によるデータ分割装置の一例を示す機能ブロック図である。データ分割装置100は、既存の業務システム10(以下、既存システム10と記載する。)のソースコード11、データの構成情報12(テーブルやテーブルのレイアウト情報など)、稼働ログ13、設定情報14を取得し、マイクロサービス化のためにどのようにデータの分割・統合を行えば良いかを提案する。ここで、データとは、既存システム10の業務データが記録されるデータベースのテーブル、各テーブルの項目、ファイルなどである。データの分割とは、テーブルやファイルをマイクロサービスの何れかに帰属させること、1つのテーブルや1つのファイルを項目単位で分割して分割後のテーブルやファイルをマイクロサービスの何れかに帰属させることをいう。
データ取得部101は、既存システム10を構成するプログラムのソースコード11、データの構成情報12、既存システム10の稼働ログ13、設定情報14を取得する。データの構成情報12には、データベースに含まれるテーブルや各テーブルの項目などの情報が含まれる。既存システム10の稼働ログ13には、既存システム10の稼働中に、既存システム10を構成する各プログラムがデータベースのどのテーブルのどの項目にアクセスしたかを示す履歴が記録されている。設定情報14には、データベースに含まれるテーブルやテーブルの項目について、複製を許可するか否か、分離可能か否かなどの既存システム10のユーザが設定した設定情報が含まれている。また、データ取得部101は、データ分割処理に用いる閾値の設定などを受け付ける。
図2に示す例では、解析結果の情報は、「No.」と、「種別」と、「テーブル名、ファイル名」と、複数のプログラムの「プログラム名」ごとの「アクセス種別」(CURD)と、「アクセス頻度(動的、静的)」と、「設定情報」とを対応付けた情報である。
例えば、1行目のデータは、「No.」に“1”が付された「種別」が“テーブル”で名称が“テーブルT1”のテーブルが、“プログラムA”から参照(“R”)されていること、稼働ログ13に基づく動的なアクセス頻度が“X11”、ソースコード11に基づく静的なアクセス回数が“X12”であること、テーブルT1には「複製不可」が設定されていること、を示している。
図3に示す一例では、解析結果の情報は、「No.」と、「種別」と、「テーブル名、ファイル名」と、「項目名」と、複数のプログラムの「プログラム名」ごとの「アクセス種別」および「アクセス頻度(動的、静的)」と、「設定情報」とを対応付けた情報である。
例えば、1行目のデータは、「No.」に“1”が付された「種別」が“テーブル”で名称が“テーブルT3”のテーブルの“項目1“が”プログラムA“から参照(“R”)されていること、稼働ログ13に基づく動的なアクセス頻度が“X31“であること、ソースコード11に基づく静的なアクセス頻度が”X32“であることを示している。同様に2行目のデータは、テーブルT3の“項目2“が「プログラムB」から作成、更新、削除(“CUD”)されていること、稼働ログ13に基づく動的なアクセス頻度が“X41“であること、ソースコード11に基づく静的なアクセス回数が”X42“であることを示している。
分割部108は、重み付け部105が設定した基準に則ってデータの分割を行う。
次に図7~図13を参照してデータの分割ルールについて説明する。
図7は、本発明の一実施形態による分割処理の重み付けの一例を示す図である。図8~図13は、それぞれ、本発明の一実施形態による分割方法の一例を示す第1図~第5図である。
図7に、分割のルールと、そのカテゴリ及び種別、また、そのルールに基づいて分割を行うことに対する優先度を示す。カテゴリには、業務観点とプログラム観点が存在する。業務観点は、業務解析部103による解析結果に基づいてデータベースの分割を検討することを意味し、プログラム観点は、データアクセス解析部102による解析結果に基づいてデータベースの分割を検討することを意味する。種別には、抑止ルールと分割ルールが存在する。分割ルールは、データの分割方法を示し、抑止ルールは、データ分割の際に担保すべき条件を示す。優先度は、データを分割するにあたってルール(分割ルール、抑止ルール)を適用する優先度を示す。
図7の例では、この抑止ルールに最も高い優先度“1”が設定されている。分割部108は、この抑止ルールに基づくデータ分割を、以下に説明する他のルールによる分割よりも重んじて行う。
次に本実施形態のデータ分割処理の流れについて説明する。
図13は、本発明の一実施形態のデータ分割処理の一例を示すフローチャートである。
次にデータアクセス解析部102が、ソースコード11に基づいて、プログラム間の呼び出し、プログラムからデータベースへのアクセスを解析する(ステップS2)。例えば、データアクセス解析部102は、まず、他のプログラムから呼び出されていない起点プログラムを抽出する。そして、データアクセス解析部102は、起点プログラムから呼び出される他のプログラムを再帰的に抽出する。そして、データアクセス解析部102は、抽出した各プログラムからアクセスされるデータの情報を抽出する。そして、データアクセス解析部102は、抽出した呼び出し先プログラムの呼び出し順及び、抽出したデータへのアクセス順を処理順に整理し、整理した結果を記憶部104に記録する。記憶部104には、例えば、図5に例示するような処理フローと当該処理フローに含まれるプログラムからアクセスされるテーブルや項目の情報が対応付けて記録される。
図13のステップS9~S10では、動的なアクセス頻度に基づく分割を行う。例えば、プログラムAとプログラムBが同じデータにアクセスする場合、アクセス頻度にどの程度の差があれば偏りがあると判定するのかが不明である。図14に、ステップS9とステップS10の何れの方法によってデータの分割を行うかを切り替える処理の一例を示す。
まず、担当者が、データ別に閾値をデータ分割装置100へ入力する。データ取得部101は、入力された閾値を取得し、重み付け部105へ出力する。重み付け部105は、「No.」が“6”の分割ルールにおけるアクセス頻度の多少を判定する閾値に、入力された値を設定する(ステップS21)。次に分割部108は、図2、図3に例示する稼働ログ13の解析結果のうち動的アクセス頻度の値と、入力された閾値とを比較する(ステップS23)。動的なアクセス頻度が閾値を上回る場合(ステップS23;Yes)、分割部108は、動的なアクセス頻度が高いプログラムの方へデータを分割する(ステップS24)。つまり、ステップS9の処理による分割を行う。動的なアクセス頻度が閾値以下の場合(ステップS23;No)、つまり、アクセス頻度に大きな偏りが無い場合、分割部108は、全てのプログラムへデータを分割する(ステップS25)。つまり、ステップS10の処理による分割を行う。
図15に示すようにデータ分割装置20は、少なくとも重み付け部21と、分割部22とを有している。
重み付け部21は、複数のプログラムと前記プログラムのうちの少なくとも1つからアクセスされるデータを複数含むシステムに対し、前記複数のプログラムと前記複数のデータとを複数のグループ(マイクロサービス)に分割するにあたり、前記複数のデータを分割するルールと該ルールの重み付け(優先度)を設定する手段である。
分割部22は、重み付け部21が設定したルールに基づいて複数のデータを複数のプログラムの何れかに割り当てる手段である。
コンピュータ900は、CPU901、主記憶装置902、補助記憶装置903、入出力インタフェース904、通信インタフェース905を備える。上述のデータ分割装置100は、コンピュータ900に実装される。そして、上述した各機能部(データ取得部101、データアクセス解析部102、業務解析部103、重み付け部105、抑止ルール設定部106、分割ルール設定部107、分割部108、出力部109)の動作は、プログラムの形式で補助記憶装置903に記憶されている。CPU901は、プログラムを補助記憶装置903から読み出して主記憶装置902に展開し、当該プログラムに従って上記処理を実行する。また、CPU901は、プログラムに従って、記憶領域を主記憶装置902に確保する。また、CPU901は、プログラムに従って、処理中のデータを記憶する記憶領域を補助記憶装置903に確保する。
11・・・ソースコード
12・・・データの構成情報
13・・・稼働ログ
14・・・設定情報
100・・・データ分割装置
101・・・データ取得部
102・・・データアクセス解析部
103・・・業務解析部
104・・・記憶部
105・・・重み付け部
106・・・抑止ルール設定部
107・・・分割ルール設定部
108・・・分割部
109・・・出力部
900・・・コンピュータ
901・・・CPU
902・・・主記憶装置
903・・・補助記憶装置
904・・・入出力インタフェース
905・・・通信インタフェース
Claims (10)
- 複数のプログラムと前記プログラムのうちの少なくとも1つからアクセスされるデータを複数含むシステムに対し、前記複数のプログラムと前記複数のデータとを複数のグループに分割するにあたり、前記複数のデータを分割するルールと該ルールの重み付けを設定する重み付け手段と、
前記重み付け手段が設定した前記ルールに基づいて前記複数のデータを前記グループの何れかに割り当てる分割手段と、
を備えるデータ分割装置。 - 前記重み付け手段は、
前記データの分割方法を規定した分割ルールを設定する手段と、
前記データを分割する際に担保すべき条件を示す抑止ルールを設定する手段と、
を備える請求項1に記載のデータ分割装置。 - 前記抑止ルールを設定する手段は、
同一の業務に関する前記プログラムがアクセスする1つ又は複数の前記データを異なる前記グループへ分割しないルールを設定する、
請求項2に記載のデータ分割装置。 - 前記分割ルールを設定する手段は、
2以上の前記プログラムが1つの前記データにアクセスし、それらの前記プログラムが、参照アクセスのみを行う前記プログラムと、更新アクセスを行う前記プログラムに分類できる場合、1つの前記データを、更新アクセスを行う前記プログラムが帰属する前記グループへ割り当てるルールを設定する、
請求項2または請求項3に記載のデータ分割装置。 - 前記抑止ルールを設定する手段は、
前記データに複製不可が設定されている場合、前記データを、前記データにアクセスする複数のプログラムの何れか1つに割り当てるルールを設定する、
請求項2から請求項4の何れか1項に記載のデータ分割装置。 - 前記抑止ルールを設定する手段は、
前記データに分離不可が設定されている場合、前記データを、前記データにアクセスする前記プログラムが帰属する前記グループの各々に個別に割り当てるとともに、前記グループとは独立して前記データに対応するマスタデータを設け、前記マスタデータと前記グループごとに割り当てた前記データとの間で同期させるよう構成するルールを設定する、 請求項2から請求項5の何れか1項に記載のデータ分割装置。 - 前記分割ルールを設定する手段は、
2以上の前記プログラムが1つの前記データにアクセスする場合、前記データを、それらの前記プログラムのうち、前記データにアクセスする頻度が最も多い前記プログラムが帰属するグループへ割り当てるルールを設定する、
請求項2から請求項6の何れか1項に記載のデータ分割装置。 - 前記分割ルールを設定する手段は、
2以上の前記プログラムが1つの前記データにアクセスする場合であって、それら全ての前記プログラムが前記データにアクセスする頻度の差が所定の範囲内の場合、前記データを、前記データにアクセスする前記プログラムが帰属する前記グループの各々に個別に割り当てるとともに、前記グループとは独立して前記データに対応するマスタデータを設け、前記マスタデータと複数の前記グループごとに割り当てた前記データとの間で同期させるよう構成するルールを設定する、
請求項2から請求項7の何れか1項に記載のデータ分割装置。 - コンピュータによって実行されるデータ分割方法であって、
複数のプログラムと前記プログラムのうちの少なくとも1つからアクセスされるデータを複数含むシステムに対し、前記複数のプログラムと前記複数のデータとを複数のグループに分割するにあたり、前記複数のデータを分割するルールと該ルールの重み付けを設定し、
前記重み付け手段が設定した前記ルールに基づいて前記複数のデータを前記グループの何れかに割り当てる、
データ分割方法。 - コンピュータに、
複数のプログラムと前記プログラムのうちの少なくとも1つからアクセスされるデータを複数含むシステムに対し、前記複数のプログラムと前記複数のデータとを複数のグループに分割するにあたり、前記複数のデータを分割するルールと該ルールの重み付けを設定し、
前記重み付け手段が設定した前記ルールに基づいて前記複数のデータを前記グループの何れかに割り当てる処理を実行させる、
プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019210670A JP7484038B2 (ja) | 2019-11-21 | 2019-11-21 | データ分割装置、データ分割方法及びプログラム。 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019210670A JP7484038B2 (ja) | 2019-11-21 | 2019-11-21 | データ分割装置、データ分割方法及びプログラム。 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021082143A JP2021082143A (ja) | 2021-05-27 |
JP7484038B2 true JP7484038B2 (ja) | 2024-05-16 |
Family
ID=75965374
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019210670A Active JP7484038B2 (ja) | 2019-11-21 | 2019-11-21 | データ分割装置、データ分割方法及びプログラム。 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7484038B2 (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005004411A (ja) | 2003-06-11 | 2005-01-06 | Hitachi Ltd | システム開発方法、および、システム開発支援プログラム |
JP2010122716A (ja) | 2008-11-17 | 2010-06-03 | Fujitsu Ltd | 改修作業範囲分割プログラム,改修作業範囲分割装置,及び改修作業範囲分割方法 |
JP2018025860A (ja) | 2016-08-08 | 2018-02-15 | 日本電信電話株式会社 | データ分離評価装置、データ分離評価方法およびデータ分離評価プログラム |
JP2019133541A (ja) | 2018-02-02 | 2019-08-08 | 富士通株式会社 | 分離方法、分離装置および分離プログラム |
JP2019144656A (ja) | 2018-02-16 | 2019-08-29 | 日本電信電話株式会社 | アプリケーション分割装置、方法およびプログラム |
JP2021056570A (ja) | 2019-09-27 | 2021-04-08 | 日本電気株式会社 | データベースの分割システム、データベースの分割方法、及びデータベースの分割プログラム |
-
2019
- 2019-11-21 JP JP2019210670A patent/JP7484038B2/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005004411A (ja) | 2003-06-11 | 2005-01-06 | Hitachi Ltd | システム開発方法、および、システム開発支援プログラム |
JP2010122716A (ja) | 2008-11-17 | 2010-06-03 | Fujitsu Ltd | 改修作業範囲分割プログラム,改修作業範囲分割装置,及び改修作業範囲分割方法 |
JP2018025860A (ja) | 2016-08-08 | 2018-02-15 | 日本電信電話株式会社 | データ分離評価装置、データ分離評価方法およびデータ分離評価プログラム |
JP2019133541A (ja) | 2018-02-02 | 2019-08-08 | 富士通株式会社 | 分離方法、分離装置および分離プログラム |
JP2019144656A (ja) | 2018-02-16 | 2019-08-29 | 日本電信電話株式会社 | アプリケーション分割装置、方法およびプログラム |
JP2021056570A (ja) | 2019-09-27 | 2021-04-08 | 日本電気株式会社 | データベースの分割システム、データベースの分割方法、及びデータベースの分割プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP2021082143A (ja) | 2021-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9710751B2 (en) | Parallel tree based prediction | |
CN107122360B (zh) | 数据迁移系统和方法 | |
Kolb et al. | Multi-pass sorted neighborhood blocking with mapreduce | |
US9645843B2 (en) | Image instance mapping | |
CN107122361B (zh) | 数据迁移系统和方法 | |
US6754848B1 (en) | Method, system and program products for operationally migrating a cluster through emulation | |
JP6903755B2 (ja) | データ統合ジョブ変換 | |
CN115129782A (zh) | 一种分布式数据库的分区级连接方法和装置 | |
WO2020259325A1 (zh) | 一种适用于机器学习的特征处理方法及装置 | |
CN105975493A (zh) | 一种文件合并方法及装置 | |
CN115934161A (zh) | 一种代码变更的影响分析方法、装置以及设备 | |
US20020016810A1 (en) | Database system and information processing system with process code information | |
US20240232722A1 (en) | Handling system-characteristics drift in machine learning applications | |
CN115774552A (zh) | 配置化的算法设计方法、装置、电子设备及可读存储介质 | |
JP7484038B2 (ja) | データ分割装置、データ分割方法及びプログラム。 | |
CN112732242B (zh) | 宽表加工脚本的生成方法及装置 | |
US10114951B2 (en) | Virus signature matching method and apparatus | |
US20180267831A1 (en) | Information processing apparatus, stage-out processing method and recording medium recording job management program | |
JP7427896B2 (ja) | データベースの分割システム、データベースの分割方法、及びデータベースの分割プログラム | |
US20200142995A1 (en) | Intelligently Scheduling Resynchronization Jobs in a Distributed Object-Based Storage System | |
KR920002853B1 (ko) | 논리형언어의 데이타 처리방법 | |
CN115061811A (zh) | 一种资源调度方法、装置、设备及存储介质 | |
US20130111450A1 (en) | Runtime environment and method for non-invasive monitoring of software applications | |
JP6729742B1 (ja) | 情報処理装置、情報処理システム、情報処理方法、及びプログラム | |
JP7255420B2 (ja) | 資産管理装置、資産管理方法および資産管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221011 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231031 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231219 |
|
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: 20240319 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20240408 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240401 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7484038 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |