JP6912724B2 - 情報処理プログラム、情報処理装置及び情報処理方法 - Google Patents
情報処理プログラム、情報処理装置及び情報処理方法 Download PDFInfo
- Publication number
- JP6912724B2 JP6912724B2 JP2017228577A JP2017228577A JP6912724B2 JP 6912724 B2 JP6912724 B2 JP 6912724B2 JP 2017228577 A JP2017228577 A JP 2017228577A JP 2017228577 A JP2017228577 A JP 2017228577A JP 6912724 B2 JP6912724 B2 JP 6912724B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- data
- lock
- target
- information processing
- 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
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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- 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/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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/2246—Trees, e.g. B+trees
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成を示す図である。
次に、インデックス131のデータ構造の具体例について説明を行う。図2から図11は、インデックス131のデータ構造の具体例について説明する図である。以下、インデックス131のデータ構造が木構造の一種であるFull Blossom Treeによって構成されているものとして説明を行う。
次に、データの挿入が行われる際の処理の具体例について説明を行う。以下、図2で説明したデータ構造に対して、「bba」からなるデータ(以下、挿入データとも呼ぶ)の挿入が行われる場合について説明を行う。
次に、データの削除が行われる際の処理の具体例について説明を行う。以下、図2で説明したデータ構造に含まれるデータのうち、「bbaa」からなるデータ(以下、削除データとも呼ぶ)の削除が行われる場合について説明を行う。
次に、インデックス131のデータ構造の他の具体例について説明を行う。
初めに、データの挿入が行われる際の処理の他の具体例について説明を行う。以下、図7で説明したデータ構造に対して、「bba」からなる挿入データの挿入が行われる場合について説明を行う。
次に、データの削除が行われる際の処理の他の具体例について説明を行う。以下、図7で説明したデータ構造に含まれるデータのうち、「bbaa」からなるデータ(以下、削除データとも呼ぶ)の削除が行われる場合について説明を行う。
次に、情報処理システム10のハードウエア構成について説明する。図12は、管理装置1のハードウエア構成を示す図である。
次に、情報処理システム10の機能について説明する。図13は、管理装置1の機能ブロック図である。
次に、第1の実施の形態の概略について説明を行う。図14及び図15は、第1の実施の形態におけるロック制御処理の概略を説明するフローチャート図である。
次に、第1の実施の形態の詳細について説明する。図16から図18は、第1の実施の形態におけるロック制御処理の詳細を説明するフローチャート図である。また、図19から図30は、第1の実施の形態におけるロック制御処理の詳細を説明する図である。図19から図30を参照しながら、図16から図18のロック制御処理の詳細について説明する。
図19から図30は、第1の実施の形態におけるロック制御処理の具体例を説明する図である。具体的に、図19から図30に示す例は、図2から図11において説明したデータ構造に対してロック制御処理を実行した場合の例である。なお、以下、ロック実行部113によって行われるロックが更新ロックであるものとして説明を行う。
初めに、対象ノードの具体例について説明を行う。
次に、データの挿入が行われる際の処理の具体例について説明を行う。以下、図19で説明したデータ構造に対して、「bba」からなる挿入データの挿入が行われる場合について説明を行う。
次に、データの削除が行われる際の処理の具体例について説明を行う。以下、図19で説明したデータ構造に含まれるデータのうち、「bbaa」からなる削除データの削除が行われる場合について説明を行う。
次に、対象ノードの他の具体例について説明を行う。
次に、データの挿入が行われる際の処理の具体例について説明を行う。以下、図2で説明したデータ構造に対して、「bba」からなる挿入データの挿入が行われる場合について説明を行う。
次に、データの削除が行われる際の処理の具体例について説明を行う。以下、図19で説明したデータ構造に含まれるデータのうち、「bbab」からなる削除データの削除が行われる場合について説明を行う。
木構造で構成されたデータ構造においてロック制御を行う情報処理プログラムであって、
前記データ構造の各階層における親ノードそれぞれに対応する子ノードのうちの長男ノード以外を、ロック制御を行う場合の対象ノードとして設定し、
前記データ構造におけるノードに対応付けられたデータに対して操作を行う場合において、前記対象ノードを親ノードから子ノードに向けて通過する処理を行う場合、前記対象ノードに対してロックを行う、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
付記1において、
前記データの先頭には、前記データ構造における根ノードから前記データが対応付けられたノードまでの間の枝に対応付けられたデータが、前記根ノードに近い順に含まれており、
前記データは、各データが深さ優先探索において辞書式順になるように各ノードに対応付けられる、
ことを特徴とする情報処理プログラム。
付記2において、
前記木構造は、Full Blossom Treeである、
ことを特徴とする情報処理プログラム。
付記1において、
前記対象ノードとして設定する処理では、前記データ構造における根ノードと、前記根ノード以外の第1対象ノードと、前記第1対象ノードの子孫ノードである第2対象ノードとを前記対象ノードとして設定し、
前記ロックを行う処理では、前記第1対象ノードに対してロックが行われている場合において、前記第2対象ノードを親ノードから子ノードに向けて通過する処理が行われた場合、前記第2対象ノードに対してロックを行うとともに、前記第1対象ノードに対して行われているロックを解除する、
ことを特徴とする情報処理プログラム。
付記1において、
前記ロックを行う処理では、
前記データ構造におけるノードに対応付けられたデータに対して操作を行う場合において、前記長男ノードを親ノードから子ノードに向けて通過する処理が行われる場合、前記長男ノードを子ノードから親ノードに向けて通過する処理が、前記長男ノードを親ノードから子ノードに向けて通過する処理の後に行われるか否かを判定し、
前記長男ノードを子ノードから親ノードに向けて通過する処理が、前記長男ノードを親ノードから子ノードに向けて通過する処理の後に行われないと判定した場合、前記長男ノードに対してロックを行う、
ことを特徴とする情報処理プログラム。
付記5において、
前記ロックを行う処理では、前記長男ノードに対してロックを行うとともに、前記長男ノードの親ノードに対して行われているロックを解除する、
ことを特徴とする情報処理プログラム。
付記1において、
前記データの検索、前記データの挿入及び前記データの削除のうちのいずれかの処理である、
ことを特徴とする情報処理プログラム。
木構造で構成されたデータ構造においてロック制御を行う情報処理装置であって、
前記データ構造の各階層における親ノードそれぞれに対応する子ノードのうちの長男ノード以外を、ロック制御を行う場合の対象ノードとして設定する対象ノード設定部と、
前記データ構造におけるノードに対応付けられたデータに対して操作を行う場合において、前記対象ノードを親ノードから子ノードに向けて通過する処理を行う場合、前記対象ノードに対してロックを行うロック実行部と、を有する、
ことを特徴とする情報処理装置。
付記8において、
前記対象ノード設定部は、前記データ構造における根ノードと、前記根ノード以外の第1対象ノードと、前記第1対象ノードの子孫ノードである第2対象ノードとを前記対象ノードとして設定し、
前記ロック実行部は、前記第1対象ノードに対してロックが行われている場合において、前記第2対象ノードを親ノードから子ノードに向けて通過する処理が行われた場合、前記第2対象ノードに対してロックを行うとともに、前記第1対象ノードに対して行われているロックを解除する、
ことを特徴とする情報処理装置。
木構造で構成されたデータ構造においてロック制御を行う情報処理方法であって、
前記データ構造の各階層における親ノードそれぞれに対応する子ノードのうちの長男ノード以外を、ロック制御を行う場合の対象ノードとして設定し、
前記データ構造におけるノードに対応付けられたデータに対して操作を行う場合において、前記対象ノードを親ノードから子ノードに向けて通過する処理を行う場合、前記対象ノードに対してロックを行う、
ことを特徴とする情報処理方法。
付記10において、
前記対象ノードとして設定する工程では、前記データ構造における根ノードと、前記根ノード以外の第1対象ノードと、前記第1対象ノードの子孫ノードである第2対象ノードとを前記対象ノードとして設定し、
前記ロックを行う工程では、前記第1対象ノードに対してロックが行われている場合において、前記第2対象ノードを親ノードから子ノードに向けて通過する処理が行われた場合、前記第2対象ノードに対してロックを行うとともに、前記第1対象ノードに対して行われているロックを解除する、
ことを特徴とする情報処理方法。
2b:検索装置 3a:データベース
3b:データベース 5a:操作端末
5b:操作端末 5c:操作端末
130:記憶部 131:インデックス
DT1:データ DT2:データ
Claims (9)
- 木構造で構成されたデータ構造においてロック制御を行う情報処理プログラムであって、
前記データ構造の各階層における親ノードそれぞれに対応する子ノードのうちの長男ノード以外を、ロック制御を行う場合の対象ノードとして設定し、
前記データ構造におけるノードに対応付けられたデータに対して操作を行う場合において、前記対象ノードを親ノードから子ノードに向けて通過する処理を行う場合、前記対象ノードに対してロックを行う、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。 - 請求項1において、
前記データの先頭には、前記データ構造における根ノードから前記データが対応付けられたノードまでの間の枝に対応付けられたデータが、前記根ノードに近い順に含まれており、
前記データは、各データが深さ優先探索において辞書式順になるように各ノードに対応付けられる、
ことを特徴とする情報処理プログラム。 - 請求項2において、
前記木構造は、Full Blossom Treeである、
ことを特徴とする情報処理プログラム。 - 請求項1において、
前記対象ノードとして設定する処理では、前記データ構造における根ノードと、前記根ノード以外の第1対象ノードと、前記第1対象ノードの子孫ノードである第2対象ノードとを前記対象ノードとして設定し、
前記ロックを行う処理では、前記第1対象ノードに対してロックが行われている場合において、前記第2対象ノードを親ノードから子ノードに向けて通過する処理が行われた場合、前記第2対象ノードに対してロックを行うとともに、前記第1対象ノードに対して行われているロックを解除する、
ことを特徴とする情報処理プログラム。 - 請求項1において、
前記ロックを行う処理では、
前記データ構造におけるノードに対応付けられたデータに対して操作を行う場合において、前記長男ノードを親ノードから子ノードに向けて通過する処理が行われる場合、前記長男ノードを子ノードから親ノードに向けて通過する処理が、前記長男ノードを親ノードから子ノードに向けて通過する処理の後に行われるか否かを判定し、
前記長男ノードを子ノードから親ノードに向けて通過する処理が、前記長男ノードを親ノードから子ノードに向けて通過する処理の後に行われないと判定した場合、前記長男ノードに対してロックを行う、
ことを特徴とする情報処理プログラム。 - 請求項5において、
前記ロックを行う処理では、前記長男ノードに対してロックを行うとともに、前記長男ノードの親ノードに対して行われているロックを解除する、
ことを特徴とする情報処理プログラム。 - 請求項1において、
前記データの検索、前記データの挿入及び前記データの削除のうちのいずれかの処理である、
ことを特徴とする情報処理プログラム。 - 木構造で構成されたデータ構造においてロック制御を行う情報処理装置であって、
前記データ構造の各階層における親ノードそれぞれに対応する子ノードのうちの長男ノード以外を、ロック制御を行う場合の対象ノードとして設定する対象ノード設定部と、
前記データ構造におけるノードに対応付けられたデータに対して操作を行う場合において、前記対象ノードを親ノードから子ノードに向けて通過する処理を行う場合、前記対象ノードに対してロックを行うロック実行部と、を有する、
ことを特徴とする情報処理装置。 - 木構造で構成されたデータ構造においてロック制御を行う情報処理方法であって、
前記データ構造の各階層における親ノードそれぞれに対応する子ノードのうちの長男ノード以外を、ロック制御を行う場合の対象ノードとして設定し、
前記データ構造におけるノードに対応付けられたデータに対して操作を行う場合において、前記対象ノードを親ノードから子ノードに向けて通過する処理を行う場合、前記対象ノードに対してロックを行う、
ことを特徴とする情報処理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017228577A JP6912724B2 (ja) | 2017-11-29 | 2017-11-29 | 情報処理プログラム、情報処理装置及び情報処理方法 |
US16/190,884 US11003509B2 (en) | 2017-11-29 | 2018-11-14 | Lock control apparatus and lock control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017228577A JP6912724B2 (ja) | 2017-11-29 | 2017-11-29 | 情報処理プログラム、情報処理装置及び情報処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019101518A JP2019101518A (ja) | 2019-06-24 |
JP6912724B2 true JP6912724B2 (ja) | 2021-08-04 |
Family
ID=66632348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017228577A Active JP6912724B2 (ja) | 2017-11-29 | 2017-11-29 | 情報処理プログラム、情報処理装置及び情報処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11003509B2 (ja) |
JP (1) | JP6912724B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201905533D0 (en) * | 2019-03-20 | 2019-06-05 | Cohesity Inc | Determining differences between two versions of a file directory tree structure |
CN114328500A (zh) * | 2020-09-29 | 2022-04-12 | 北京金山云网络技术有限公司 | 一种数据访问方法、装置、设备及计算机可读存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5430869A (en) * | 1991-05-29 | 1995-07-04 | Hewlett-Packard Company | System and method for restructuring a B-Tree |
JP3338752B2 (ja) | 1996-05-31 | 2002-10-28 | 日本電気株式会社 | 更新可能表の明示指定によるデッドロック削減方式 |
US7383276B2 (en) * | 2004-01-30 | 2008-06-03 | Microsoft Corporation | Concurrency control for B-trees with node deletion |
JP5224953B2 (ja) | 2008-07-17 | 2013-07-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置、情報処理方法およびプログラム |
US8996563B2 (en) * | 2010-04-06 | 2015-03-31 | Tokutek, Inc. | High-performance streaming dictionary |
JP5069337B2 (ja) | 2010-05-26 | 2012-11-07 | 日本電信電話株式会社 | 分散データ管理システム、データサーバ、トランザクションサーバ、分散データ管理方法、プログラム |
US9275096B2 (en) * | 2012-01-17 | 2016-03-01 | Apple Inc. | Optimized b-tree |
US8868531B2 (en) * | 2012-09-10 | 2014-10-21 | Apple Inc. | Concurrent access methods for tree data structures |
US9535658B2 (en) * | 2012-09-28 | 2017-01-03 | Alcatel Lucent | Secure private database querying system with content hiding bloom filters |
US9208258B2 (en) * | 2013-04-11 | 2015-12-08 | Apple Inc. | Locking and traversal methods for ordered tree data structures |
US9262463B2 (en) * | 2013-08-05 | 2016-02-16 | International Business Machines Corporation | Managing multiple locks for data set members in a data set index |
US9489414B2 (en) * | 2014-05-30 | 2016-11-08 | Spiral Genetics, Inc. | Prefix burrows-wheeler transformations for creating and searching a merged lexeme set |
US10303673B2 (en) * | 2015-05-11 | 2019-05-28 | Apple Inc. | Hierarchical data storage |
US10496283B2 (en) * | 2016-01-22 | 2019-12-03 | Suraj Prabhakar WAGHULDE | Adaptive prefix tree based order partitioned data storage system |
US10114559B2 (en) * | 2016-08-12 | 2018-10-30 | International Business Machines Corporation | Generating node access information for a transaction accessing nodes of a data set index |
US11031092B2 (en) * | 2017-11-01 | 2021-06-08 | International Business Machines Corporation | Taxonomic annotation of variable length metagenomic patterns |
-
2017
- 2017-11-29 JP JP2017228577A patent/JP6912724B2/ja active Active
-
2018
- 2018-11-14 US US16/190,884 patent/US11003509B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11003509B2 (en) | 2021-05-11 |
US20190163542A1 (en) | 2019-05-30 |
JP2019101518A (ja) | 2019-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2016244128B2 (en) | Processing database transactions in a distributed computing system | |
US6868414B2 (en) | Technique for serializing data structure updates and retrievals without requiring searchers to use locks | |
EP3117348B1 (en) | Systems and methods to optimize multi-version support in indexes | |
US8719226B1 (en) | Database version control | |
US8380702B2 (en) | Loading an index with minimal effect on availability of applications using the corresponding table | |
EP3631651B1 (en) | Method for efficient primary key based queries using atomic rdma reads on cache friendly in-memory hash index | |
US20120084273A1 (en) | Accelerated Transactions With Precommit-Time Early Lock Release | |
CN112052264B (zh) | 业务数据查询方法、装置、电子设备及可读存储介质 | |
CN108304251B (zh) | 线程同步方法及服务器 | |
WO2011084987A1 (en) | Traversal-free rapid data transfer | |
JP6912724B2 (ja) | 情報処理プログラム、情報処理装置及び情報処理方法 | |
CN106250487B (zh) | 一种数据库并发控制方法及装置 | |
CN102193991A (zh) | 基于oltp的数据修改方法、系统及图形数据库服务器 | |
CN102103642A (zh) | 基于oltp的数据删除方法、系统及图形数据库服务器 | |
US10768974B2 (en) | Specifying an order of a plurality of resources in a transaction according to distance | |
CN113361236A (zh) | 一种编辑文档的方法和装置 | |
CN115098497A (zh) | 一种关键数据结构的动态重构方法 | |
CN110535939A (zh) | 一种服务发现与抢占方法、装置、计算机设备及存储介质 | |
JP2010176319A (ja) | 構造化文書検索システム、装置、及び方法 | |
CN102193987B (zh) | 基于oltp的增加节点数据关系的方法及系统 | |
AU2006224669A1 (en) | Method and system for maintaining consistency of a cache memory by multiple independent processes | |
JP4396988B2 (ja) | データベースシステム | |
JP6477169B2 (ja) | データベースの処理制御方法、処理制御プロラム及びデータベースサーバ | |
JP2012053802A (ja) | ソフトウェア導入状況管理装置、ソフトウェア導入状況管理方法およびプログラム | |
US10417214B2 (en) | Non-transitory computer-readable storage medium, database control method and database control device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200807 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210528 |
|
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: 20210608 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210621 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6912724 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |