JPWO2020184126A1 - データ置換装置、データ置換方法、プログラム - Google Patents
データ置換装置、データ置換方法、プログラム Download PDFInfo
- Publication number
- JPWO2020184126A1 JPWO2020184126A1 JP2021504879A JP2021504879A JPWO2020184126A1 JP WO2020184126 A1 JPWO2020184126 A1 JP WO2020184126A1 JP 2021504879 A JP2021504879 A JP 2021504879A JP 2021504879 A JP2021504879 A JP 2021504879A JP WO2020184126 A1 JPWO2020184126 A1 JP WO2020184126A1
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- attribute
- attribute value
- value set
- grouped
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
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)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
以下の実施例では、大規模データを小容量の主記憶装置で高速にミクロアグリゲーショするデータ置換装置、データ置換方法、プログラムを開示する。実施例1のデータ置換装置、データ置換方法、プログラムは、補助記憶装置(例えばHDD)のランダムアクセスと比較してシーケンシャルアクセス(連続アクセス)のほうが速いという特徴、補助記憶装置(例えばHDD)が主記憶装置(例えばメモリ)と比較して遅いという特徴、補助記憶装置(例えばHDD)が主記憶装置(例えばメモリ)と比べて記憶容量が大きいという特徴を考慮して、アルゴリズムとデータ構造を工夫することで、高速な処理を実現した。
この手順において、属性値集合取得部11は、グループ化された属性値集合を取得する。ここでグループ化された属性値集合とは、後述する分割判定部13の動作により分割されてグループ化された属性値集合であるものとする。また、分割判定部13の動作が未実行(すなわち初期状態)である場合には、属性値集合のデータ全体を一つのグループとみなし、属性値集合のデータ全体をグループ化された属性値集合として取り扱うものとする。
中央値算出部12は、主記憶装置10A上、または補助記憶装置10B上でグループ化された属性値集合の中央値を算出する(S12a,S12b)。
分割判定部13は、中央値に基づいてグループ化された属性値集合を二分割した場合に、分割後の属性値集合のそれぞれのサイズが所定のしきい値以上となる場合(図2、条件分岐:しきい値?→しきい値以上)に、分割後の二つの属性値集合それぞれを新たなグループとする(S13a,S13b)。なお、分割後の属性値集合のいずれかのサイズが所定のしきい値未満となる場合(図2、条件分岐:しきい値?→しきい値未満)は、ステップS11〜S13のループ処理から外れ、分割前の属性値集合に対してステップS14以降の処理が続行される。
図3に示すように、結合集合生成部14は、属性値集合取得部11と、中央値算出部12と、分割判定部13の処理(S11〜S13)を繰り返し実行することにより収束したグループ内の属性値が連続するように属性値に紐つけられたレコード番号を配列してなる結合集合を生成する(S14)。例えばグループPに属性値p1,p2,…,p|P|があり、グループQに属性値q1,q2,…,q|Q|がある場合、「グループ内の属性値が連続するように」とは、p1,p2,…,p|P|,q1,q2,…,q|Q|、あるいは、q1,q2,…,q|Q|,p1,p2,…,p|P|のように、あるグループ内の属性値が他のグループ内の属性値と混ざらない並びにすることを意味し、結合集合生成部14は、上述した「グループ内の属性値が連続するような」並びが再現できるように、属性値に紐つけられたレコード番号を配列して結合集合を生成する。
並び替え部15は、結合集合に基づいて補助記憶装置10B上の属性値を並び替える(S15)。
代表値置換部16は、並び替えた属性値の一部を補助記憶装置10Bから主記憶装置10A上に取得する処理をシーケンシャルに実行し、主記憶装置10A上に取得された属性値を代表値に置き換える(S16)。
再並び替え部17は、代表値を補助記憶装置10Bに移動して、元の順序に並び替える(S17)。
Input:レコード数N、属性数M、補助記憶装置10B上に格納されたデータD^、しきい値k、レコード番号集合r^、主記憶装置10A上で用いるM個の属性ベクトル集合A^=a^1,...,a^M(M種類の属性にそれぞれ対応)
Output:グループごとのレコード番号集合R^'=(r^1,...,r^|R^'|)
[1]:分割対象の属性lを決定する。
[2]:if |r^|≦|a^l| then(図2、条件分岐:サイズ?→小に相当)
[3]:分割対象の属性lのうち、レコード番号集合r^に該当する属性値集合d^(l) rを、アルゴリズム4(後述)により、主記憶装置10A上のベクトルa^lに取得する(S11aに相当)。
[4]:d^(l) rの中央値mを算出する(a^lから算出する、S12aに相当)。
[5]:d^(l) rのm未満のレコード番号集合をlr^、m以上のレコード番号集合をrr^とする(S13aに相当)。
[6]:else(図2、条件分岐:サイズ?→大に相当)
[7]:分割対象の属性lのうち、レコード番号集合r^に該当する属性値集合d^(l) rを、補助記憶装置10Bに連続に配置する(S11bに相当)。ここで、「連続に配置」とは他のデータを挟まないようにデータを連続に配置することを意味する。
[8]:d^(l) rの中央値mを算出する(S12bに相当)。その際、各値へのアクセスは、アルゴリズム5(後述)より行う。なお、中央値の計算は、ベクトルを外部ソート(例えばマージソート)し、ベクトルの中間の値を中央値として計算するようにする。
[9]:d^(l) rのm未満のレコード番号集合をlr^、m以上のレコード番号集合をrr^とする(S13bに相当)。
[10]:end if
[11]:if |lr^| < k OR |rr^| < k then(図2、条件分岐:しきい値?→しきい値未満に相当)
[12]:return r(図2、しきい値未満→*に相当)
[13]:else(図2、条件分岐:しきい値?→しきい値以上に相当)
[14]:return GROUP(D^,k,lr^,A^)∪GROUP(D^,k,rr^,A^)(図2、スタートに戻り、ループする処理に相当)
[15]:end if
Input:グループごとのレコード集合R^'、補助記憶装置10Bに格納されたデータD^
Output:代表値に置き換わったD^'
[1]:グループごとのレコード番号集合R^'={r^'1,r^'2,...}を順番に並べて結合した集合
(結合集合)をs^とする(S14に相当)。
[2]:アルゴリズム3(後述)に従い結合集合s^の順にデータD^を並び替える(S15に相当)。
[3]:j=1
[4]:for r^'i in R^' do
[5]:j番目からj + |r^'i| - 1番目のレコードを補助記憶装置10Bに格納されているD^から主記憶装置10A上に格納し、代表値(例えば平均値、中央値、利用者の指定した値など)に置き換え、D^'に順次格納する(S16に相当)。
[6]:j = j + |r^'i|
[7]:end for
[8]:D^'を元の順序に並び替える(S17に相当)。
[9]:return D^'
Input:補助記憶装置10B上に配置されたベクトルa^、並べ替えたい順番s^
Output:並び替えられたa^'
[1]:b^=1,2,...,|a^|を用意する(図4C参照)。
[2]:b^をs^をキーにしてソートを行う(図4D参照)。
[3]:a^をb^をキーにしてソートを行う(図4E参照)。
[4]:return a^' = a^
Input:補助記憶装置10B上に配置されたデータD^、参照する属性l、レコード番号ri、主記憶装置10A上のベクトルt^
Output:
[2]:補助記憶装置10Bから該当する値
[3]:else
[4]:if
[5]:d^の中から最も利用されていない要素と
[6]:end if
[7]:end if
[8]:return t^内の
Input:補助記憶装置10B上に配置されたベクトルa^、参照したい要素の位置i、主記憶装置10A上のベクトルc^
Output:値ai
[1]:if i番目の要素がc^に存在しない場合 then
[2]:i番目からi+|c^|番目の要素を補助記憶装置10Bから取得し、c^に格納する。
[3]:end if
[4]:return c^内のai
本実施例のデータ置換装置、データ置換方法、プログラムによれば、大規模なデータのミクロアグリゲーションを効率良く実行することができる。主記憶装置は、ランダムアクセス前提でアルゴリズムが設計されているため、主記憶装置のアルゴリズムをそのまま補助記憶装置の動作に移植すると途端に実行速度が低下する。そこで本実施例では、補助記憶装置10B上にデータベースが配置されていることを考慮し、可能な限り補助記憶装置10Bにシーケンシャルにアクセスがなされるように、かつ可能な限り補助記憶装置10Bへのアクセスを減らすように、アルゴリズムを設計したことである。例えばアルゴリズム1では、主記憶装置10Aの指定領域にデータ(属性値集合)が収まるか収まらないかにより、処理を変え、収まらない場合は、補助記憶装置10Bにシーケンシャルアクセスできるようにし、高速化を図っている。アルゴリズム2では、ソートを予め実施しておくことにより、補助記憶装置10Bへシーケンシャルにアクセスできるようにしている。
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
Claims (7)
- 属性値をグループごとに代表値に置き換えるデータ置換装置であって、
グループ化された属性値集合のサイズが予め定めたサイズ以下である場合には、主記憶装置上にグループ化された前記属性値集合を取得し、グループ化された前記属性値集合のサイズが予め定めたサイズよりも大きい場合には、補助記憶装置上にグループ化された前記属性値集合を取得する属性値集合取得部と、
主記憶装置上、または補助記憶装置上でグループ化された前記属性値集合の中央値を算出する中央値算出部と、
前記中央値に基づいてグループ化された前記属性値集合を二分割した場合に、分割後の前記属性値集合のそれぞれのサイズが所定のしきい値以上となる場合に、分割後の二つの前記属性値集合それぞれを新たな前記グループとする分割判定部を含む
データ置換装置。 - 請求項1に記載のデータ置換装置であって、
前記属性値集合取得部と、前記中央値算出部と、前記分割判定部の処理を繰り返し実行することにより収束した前記グループ内の前記属性値が連続するように前記属性値に紐つけられたレコード番号を配列してなる結合集合を生成する結合集合生成部と、
前記結合集合に基づいて前記補助記憶装置上の前記属性値を並び替える並び替え部と、
並び替えた前記属性値の一部を前記補助記憶装置から前記主記憶装置上に取得する処理をシーケンシャルに実行し、前記主記憶装置上に取得された前記属性値を前記代表値に置き換える代表値置換部と、
前記代表値を前記補助記憶装置に移動して、元の順序に並び替える再並び替え部を含む
データ置換装置。 - 請求項1または2に記載のデータ置換装置であって、
前記属性値集合取得部は、
前記主記憶装置上に取得したグループ化された前記属性値集合をLRUアルゴリズムに基づいて更新する
データ置換装置。 - 属性値をグループごとに代表値に置き換えるデータ置換装置であって、
前記グループ内の前記属性値が連続するように前記属性値に紐つけられたレコード番号を配列してなる結合集合を生成する結合集合生成部と、
前記結合集合に基づいて補助記憶装置上の前記属性値を並び替える並び替え部と、
並び替えた前記属性値の一部を前記補助記憶装置から主記憶装置上に取得する処理をシーケンシャルに実行し、前記主記憶装置上に取得された前記属性値を前記代表値に置き換える代表値置換部を含む
データ置換装置。 - 属性値をグループごとに代表値に置き換えるデータ置換方法であって、
グループ化された属性値集合のサイズが予め定めたサイズ以下である場合には、主記憶装置上にグループ化された前記属性値集合を取得し、グループ化された前記属性値集合のサイズが予め定めたサイズよりも大きい場合には、補助記憶装置上にグループ化された前記属性値集合を取得する属性値集合取得ステップと、
主記憶装置上、または補助記憶装置上でグループ化された前記属性値集合の中央値を算出する中央値算出ステップと、
前記中央値に基づいてグループ化された前記属性値集合を二分割した場合に、分割後の前記属性値集合のそれぞれのサイズが所定のしきい値以上となる場合に、分割後の二つの前記属性値集合それぞれを新たな前記グループとする分割判定ステップを含む
データ置換方法。 - 属性値をグループごとに代表値に置き換えるデータ置換方法であって、
前記グループ内の前記属性値が連続するように前記属性値に紐つけられたレコード番号を配列してなる結合集合を生成する結合集合生成ステップと、
前記結合集合に基づいて補助記憶装置上の前記属性値を並び替える並び替えステップと、
並び替えた前記属性値の一部を前記補助記憶装置から主記憶装置上に取得する処理をシーケンシャルに実行し、前記主記憶装置上に取得された前記属性値を前記代表値に置き換える代表値置換ステップを含む
データ置換方法。 - コンピュータを請求項1から4の何れかに記載のデータ置換装置として機能させるプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019043663 | 2019-03-11 | ||
JP2019043663 | 2019-03-11 | ||
PCT/JP2020/006710 WO2020184126A1 (ja) | 2019-03-11 | 2020-02-20 | データ置換装置、データ置換方法、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020184126A1 true JPWO2020184126A1 (ja) | 2021-12-16 |
JP7173282B2 JP7173282B2 (ja) | 2022-11-16 |
Family
ID=72427951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021504879A Active JP7173282B2 (ja) | 2019-03-11 | 2020-02-20 | データ置換装置、データ置換方法、プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220138338A1 (ja) |
EP (1) | EP3940571A4 (ja) |
JP (1) | JP7173282B2 (ja) |
CN (1) | CN113544684A (ja) |
WO (1) | WO2020184126A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140189858A1 (en) * | 2012-12-27 | 2014-07-03 | Industrial Technology Research Institute | Generation Method and Device for generating anonymous dataset, and method and device for risk evaluation |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5684165B2 (ja) * | 2012-02-08 | 2015-03-11 | 株式会社日立製作所 | 個人情報匿名化装置および方法 |
WO2014006851A1 (ja) * | 2012-07-02 | 2014-01-09 | 日本電気株式会社 | 匿名化装置、匿名化システム、匿名化方法、及び、プログラム記録媒体 |
JP5962472B2 (ja) * | 2012-12-03 | 2016-08-03 | 富士通株式会社 | 匿名化データ生成方法、装置及びプログラム |
JP5957095B2 (ja) * | 2013-01-17 | 2016-07-27 | 日本電信電話株式会社 | 改ざん検知装置、改ざん検知方法、およびプログラム |
JP6040320B2 (ja) * | 2013-10-10 | 2016-12-07 | 日本電信電話株式会社 | 秘密並列処理装置、秘密並列処理方法、プログラム |
JP6174002B2 (ja) * | 2014-12-05 | 2017-08-02 | 株式会社東芝 | 匿名化装置、及びプログラム |
JP2016115112A (ja) * | 2014-12-15 | 2016-06-23 | 富士通株式会社 | データ匿名化装置、プログラム、及び方法 |
-
2020
- 2020-02-20 EP EP20769038.9A patent/EP3940571A4/en active Pending
- 2020-02-20 WO PCT/JP2020/006710 patent/WO2020184126A1/ja unknown
- 2020-02-20 US US17/431,719 patent/US20220138338A1/en active Pending
- 2020-02-20 JP JP2021504879A patent/JP7173282B2/ja active Active
- 2020-02-20 CN CN202080019714.0A patent/CN113544684A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140189858A1 (en) * | 2012-12-27 | 2014-07-03 | Industrial Technology Research Institute | Generation Method and Device for generating anonymous dataset, and method and device for risk evaluation |
Non-Patent Citations (2)
Title |
---|
新井 淳也: "クラスタリングと空間分割の併用による効率的なk−匿名化", 日本データベース学会和文論文誌, vol. 13, no. 1, JPN6022027974, 31 October 2014 (2014-10-31), JP, pages 72 - 77, ISSN: 0004819990 * |
長谷川 聡: "大規模データを実用的な速度で処理可能な匿名化ライブラリの設計と実装評価", CSS2017 コンピュータセキュリティシンポジウム2017 論文集, vol. 2017, no. 2, JPN6022027973, 16 October 2017 (2017-10-16), JP, pages 1342 - 1349, ISSN: 0004819989 * |
Also Published As
Publication number | Publication date |
---|---|
WO2020184126A1 (ja) | 2020-09-17 |
US20220138338A1 (en) | 2022-05-05 |
EP3940571A4 (en) | 2022-12-07 |
EP3940571A1 (en) | 2022-01-19 |
JP7173282B2 (ja) | 2022-11-16 |
CN113544684A (zh) | 2021-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Grossman et al. | On the varieties of clouds for data intensive computing. | |
Silva et al. | Integrating big data into the computing curricula | |
Gladyshev et al. | Finite state machine analysis of a blackmail investigation | |
Naeem et al. | Big data velocity management–from stream to warehouse via high performance memory optimized index join | |
Abdel Azez et al. | Optimizing join in HIVE star schema using key/facts indexing | |
Liu et al. | A tool for moving blockchain computations off-chain | |
CN103150145A (zh) | 数据仓库环境中的语义分组数据的并行处理 | |
CN100501737C (zh) | 用于内容受管制的数据的数据库方案及其创建方法和系统 | |
JP7120439B2 (ja) | データ一般化装置、データ一般化方法、プログラム | |
Lytvyn et al. | Development of Intellectual System for Data De-Duplication and Distribution in Cloud Storage. | |
WO2020184126A1 (ja) | データ置換装置、データ置換方法、プログラム | |
Reeves et al. | Propositional proof skeletons | |
CN111444197B (zh) | 一种块链式账本中数据记录的验证方法、装置及设备 | |
Chaffai et al. | E-learning real time analysis using large scale infrastructure | |
Crema et al. | Spectral projected subgradient with a momentum term for the Lagrangean dual approach | |
US20180285428A1 (en) | Reduced fixed length sort of variable length columns | |
US11972021B2 (en) | Anonymization apparatus, anonymization method, and program | |
US11849020B2 (en) | Fully homomorphic encryption transpiler for high-level languages | |
JP5875535B2 (ja) | 匿名化装置、匿名化方法、プログラム | |
Khatiwada | Architectural issues in real-time business intelligence | |
JP5875536B2 (ja) | 匿名化装置、匿名化方法、プログラム | |
US10353675B2 (en) | Discovering high-level language data structures from assembler code | |
KR20210114818A (ko) | 하이브리드 블록체인 생성 방법 및 장치 | |
Sachdev et al. | Khanan: Performance Comparison and Programming α-Miner Algorithm in Column-Oriented and Relational Database Query Languages | |
CN115544096A (zh) | 数据查询方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210816 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220705 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220901 |
|
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: 20221004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221017 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7173282 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |