WO2002029624A1 - Structure de traitement de donnees - Google Patents
Structure de traitement de donnees Download PDFInfo
- Publication number
- WO2002029624A1 WO2002029624A1 PCT/AU2001/001250 AU0101250W WO0229624A1 WO 2002029624 A1 WO2002029624 A1 WO 2002029624A1 AU 0101250 W AU0101250 W AU 0101250W WO 0229624 A1 WO0229624 A1 WO 0229624A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- block
- nodes
- data processing
- pointer
- Prior art date
Links
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
Definitions
- the present invention relates to a data processing structure and, more particularly, to such a data structure suited to simultaneously representing work to do and work done .
- the structure represents work to do
- the structure has to be linearly scanned to discover what work to do next;
- steps 2 & 3 must be repeated is due to the nature/structure of the binary trees and sparse arrays. If an object appears in such a structure it always appears in a particular place.
- Scanning a binary tree or sparse array can be done depth or breadth first, but there is always some traversal cursor moving through the nodes . If new values are inserted into the binary tree or sparse array (because of processing the handle already in the structure) , they are inserted with indifference to the traversal cursor. The upshot is that the structure must be rescanned until there is no further work.
- a data processing structure comprising a chain of data blocks containing a binary tree structure; each of said data blocks containing a predetermined number of nodes .
- a data processing structure comprising one or more node blocks and a control structure; said control structure grouping nodes in said node blocks according to a physical ordering in computer memory.
- each said node block contains a pointer to the next node block and an array of binary tree nodes .
- said binary tree node contains a value, a left pointer and a right pointer.
- control structure includes the following: (a) the number of nodes in a block;
- a method of storage of a binary tree structure comprising storing nodes of said tree in node arrays; each said node array comprising a predetermined number of node storage locations; said node storage locations of said predetermined number of node storage locations having a predetermined physical ordering in memory.
- a traversal cursor is utilized to keep track of work done; said cursor being advanced in a linear progression through said data processing structure as each node in said structure is processed whereby nodes through which said cursor has advanced do not require further processing.
- Fig. 1 represents a binary tree structure to which embodiments of the present invention can be applied;
- Fig. 2 illustrates an instance of a data processing structure according to a first preferred embodiment
- Fig. 3 illustrates operations on the data processing structure of Fig. 2;
- Fig. 4 illustrates in block diagram form further detail of the data processing structure of Fig. 2.
- a data processing structure 10 comprises logically a binary tree 11 but physically held within a block chain - where each block holds a set of nodes .
- Fig. 1 assume we have the logical binary tree 11 comprising a plurality of nodes 12-22 as illustrated.
- structure 10 is such that the nodes have a physical ordering in memory.
- the structure 10 can be linearly (and efficiently) traversed and while being traversed new values can be added, such that all new values appear physically ahead of a traversal cursor.
- Values ahead of the traversal cursor represent work to be done, whilst values behind the traversal cursor represent work already done.
- This property of adding new values ahead of the traversal cursor means the client application (not shown) can add/record further work to do. Advancing the traversal cursor eventually reaches the new work to be done.
- Having multiple nodes in a block means minimal memory allocation.
- the structure can be reused by resetting the pointers (thereby keeping the blocks if this is efficient) , or can be deleted outright .
- the structure is extensible so it can be used to hold an indefinite amount of work.
- the data processing structure 10 comprises: a . One or more node blocks ; and b. A control structure. Each node block contains : a. A pointer to the next node block (thereby forming a chain of node blocks) ; and b. An array of traditional binary tree nodes (i.e. a value, a left pointer and a right pointer) .
- the control structure has at least six members: a. The number of nodes in a block; b. A pointer to the first block; c. A pointer to the last block; d. A pointer to the current append block; e. A pointer to last node appended in the current append block; and f . The number of free nodes in the current append block.
- the data processing structure 10 can allow the following operations :
- the data processing structure 10 has the following properties:
- Data processing structure 10 comprises, in this instance, first node block 30, second node block 31 and third node block 32.
- Each of node blocks 30, 31, 32 comprises an array of four nodes 33 together with a pointer 34 to the next node block.
- Each node 33 includes a value 35, a left pointer 36 and a right pointer 37.
- each node block 30, 31, 32 comprises exactly four nodes.
- a control structure 38 is associated with the data processing structure 10 and includes pointer 39 to first node block 30, pointer 40 to the current append block (in this instance node block 32) , pointer 41 to last node block (in this instance third node block 32) .
- control structure 38 includes storage location 42 which contains the number of free nodes in the current append block (in this instance there are two spare nodes, namely spare node 42 and spare node 43 in the third node block 32) .
- a cursor 44 is moved through the control structure 10 starting with the first node of first node block 30, progressing, in this instance, from left to right through all of the nodes in first node block 30, then progressing to the first node of second node block 31, progressing through all the nodes of second node block 31 (again from left to right) and then, finally, in this instance, progressing through the two nodes of third node block 32. If, in the course of progression, the cursor 34 discovers further nodes for processing such nodes are appended to the next available node in the current append block as designated by pointer 40. Because of the structure of data processing structure 10 such additional nodes will always be placed after the current position of the cursor 44.
- the number of nodes set aside for each node block 30, 31, 32 may be different from node block to node block. However, the number of nodes in any given node block which is set up will always be known in advance of the creation of that node block and as determined by control structure 38. In one typical example the first node block could, in practice, contain 256 nodes with subsequent node blocks each containing double the number of nodes of the previous node block.
- the binary tree or sparse array implemented as the data processing structure of the preferred embodiment is an extremely useful and efficient structure for representing both work done; work to do and recording further work to do while doing work.
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2001293509A AU2001293509A1 (en) | 2000-10-04 | 2001-10-04 | Data processing structure |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23753000P | 2000-10-04 | 2000-10-04 | |
US60/237,530 | 2000-10-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2002029624A1 true WO2002029624A1 (fr) | 2002-04-11 |
Family
ID=22894119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/AU2001/001250 WO2002029624A1 (fr) | 2000-10-04 | 2001-10-04 | Structure de traitement de donnees |
Country Status (2)
Country | Link |
---|---|
AU (1) | AU2001293509A1 (fr) |
WO (1) | WO2002029624A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7512616B2 (en) * | 2003-11-20 | 2009-03-31 | International Business Machines Corporation | Apparatus, system, and method for communicating a binary code image |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2196764A (en) * | 1986-10-30 | 1988-05-05 | Apple Computer | Hierarchical file system |
WO1994002898A1 (fr) * | 1992-07-24 | 1994-02-03 | Microsoft Corporation | Procede et systeme informatiques servant a attribuer et a liberer l'espace memoire |
US5613105A (en) * | 1993-06-30 | 1997-03-18 | Microsoft Corporation | Efficient storage of objects in a file system |
US5644763A (en) * | 1995-06-28 | 1997-07-01 | Sybase, Inc. | Database system with improved methods for B-tree maintenance |
WO1998026353A2 (fr) * | 1996-12-12 | 1998-06-18 | Network Associates, Inc. | Systeme de fichiers informatiques reconstituables |
-
2001
- 2001-10-04 AU AU2001293509A patent/AU2001293509A1/en not_active Abandoned
- 2001-10-04 WO PCT/AU2001/001250 patent/WO2002029624A1/fr active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2196764A (en) * | 1986-10-30 | 1988-05-05 | Apple Computer | Hierarchical file system |
WO1994002898A1 (fr) * | 1992-07-24 | 1994-02-03 | Microsoft Corporation | Procede et systeme informatiques servant a attribuer et a liberer l'espace memoire |
US5613105A (en) * | 1993-06-30 | 1997-03-18 | Microsoft Corporation | Efficient storage of objects in a file system |
US5644763A (en) * | 1995-06-28 | 1997-07-01 | Sybase, Inc. | Database system with improved methods for B-tree maintenance |
WO1998026353A2 (fr) * | 1996-12-12 | 1998-06-18 | Network Associates, Inc. | Systeme de fichiers informatiques reconstituables |
Non-Patent Citations (1)
Title |
---|
STORNETTA ET AL: "Implementation of an efficient parallel BDD package", DAC'96, 1996 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7512616B2 (en) * | 2003-11-20 | 2009-03-31 | International Business Machines Corporation | Apparatus, system, and method for communicating a binary code image |
Also Published As
Publication number | Publication date |
---|---|
AU2001293509A1 (en) | 2002-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5897636A (en) | Distributed object computer system with hierarchical name space versioning | |
Wormald | Generating random regular graphs | |
Burkhard | Interpolation-based index maintenance | |
Belazzougui | Linear time construction of compressed text indices in compact space | |
US10545915B2 (en) | Recursive multi-threaded file system scanner for serializing file system metadata exoskeleton | |
US10191998B1 (en) | Methods of data reduction for parallel breadth-first search over graphs of connected data elements | |
US5727204A (en) | Database organization for rapid multi-set membership determination | |
WO2013174452A1 (fr) | Exportation de données dirigée par méta-modèle depuis une base de données et importation de données dirigée par méta-modèle vers une base de données | |
EP1971939A2 (fr) | Vidage/restauration de systeme de fichiers par numerotage de noeud | |
US7991976B2 (en) | Permanent pool memory management method and system | |
US20170277687A1 (en) | System and methods for searching documents in a relational database using a tree structure stored in a tabular format | |
US11080334B1 (en) | Graph representation system and methods | |
CN106503186A (zh) | 一种数据管理方法、客户端及系统 | |
CN107153692B (zh) | 一种字符串匹配的方法及设备 | |
WO2002029624A1 (fr) | Structure de traitement de donnees | |
Gavruskin et al. | Dynamic algorithms for monotonic interval scheduling problem | |
JP2629034B2 (ja) | 長さに制限のない識別名をもつデータのファイル管理方式 | |
Naor | String matching with preprocessing of text and pattern | |
CN116186045A (zh) | 稀疏矩阵的调整方法、装置、电子设备及存储介质 | |
Andersson et al. | Construction of a tree from its traversals in optimal time and space | |
Evangelista et al. | Memory efficient state space storage in explicit software model checking | |
CN113377364B (zh) | 基于节点历史值的树形结构组织编辑操作回撤方法 | |
US20020161758A1 (en) | System and method for mining patterns from a dataset | |
CN108984780B (zh) | 基于支持重复键值树数据结构管理磁盘数据的方法和装置 | |
Wald | A stack-free traversal algorithm for left-balanced kd trees |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |