CN1307584C - 一种用二维表实现的树的存储、访问的方法 - Google Patents
一种用二维表实现的树的存储、访问的方法 Download PDFInfo
- Publication number
- CN1307584C CN1307584C CNB2003101136602A CN200310113660A CN1307584C CN 1307584 C CN1307584 C CN 1307584C CN B2003101136602 A CNB2003101136602 A CN B2003101136602A CN 200310113660 A CN200310113660 A CN 200310113660A CN 1307584 C CN1307584 C CN 1307584C
- Authority
- CN
- China
- Prior art keywords
- data
- node
- record
- tree
- storage
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种用二维表实现的树的存储、访问的方法,包括:(1)创建二维表,包括:容量配置表,用于描述系统中表的容量;树结构关系表,用于描述树结构的关系;数个数据存储区表,用于记录树结构中的节点属性值;(2)加载数据并对数据进行维护,包括增加、删除、修改和查找数据,以及由此引起的相关操作;(3)对数据进行管理,包括数据的加载、同步、数据更改通知和观察部分。本发明应用于通讯领域,在配置数据灵活性、缓存机制简化等方面取得了进步,达到了灵活配置数据并可以最大化使用面向对象数据库原有机制的效果,提高了处理效率和处理的灵活性和稳定性。
Description
技术领域
本发明涉及一种树状数据结构的配置、存储方法,尤其涉及通讯领域的协议栈数据配置、存储和管理。包括对现有的路由数据配置和在3G产品中采用的IP承载配置,象WCDMA的RNC,MSC-S,MGW,SGSN,GGSN等,CDMA2000中PCF,PDSN等网元的基于IP协议栈承载的配置。
背景技术
现有的关于协议承载配置的数据一般有两种主要的存储方式:
1.基于链表的树状结构+连续缓冲区的实现方式:请参照中国专利文献CN 00125204.6号本方式由树形索引结构(如图1)和单一的缓冲区组成。树节点指示该节点的配置类型、数据长度、数据缓冲区地址等属性。其中数据缓冲区地址指示了该配置参数在缓冲区的位置,数据长度指示该参数在缓冲区中占用的连续空间大小。这样有几个缺点:(1)对配置参数表使用现有的面向对象的数据库的各种约束机制以及操作非常困难;(2)在较长时间内,如果对配置表进行增、删操作过多,会造成缓冲区的碎片。(3)对于树结构节点数目和数据缓冲区的容量和大小不可以灵活配置。不可以实现容量的动态升级。
2.纯粹用关系表实现方式:这种方式只适合一些具有很少的协议数据配置的系统,并且由于在表设计时要关心到具体的数据属性,协议数据配置的可扩充性较差,因为协议数据分布包括多个层次,属于应用的协议数据配置需求变化(属于关系表的设计变化)较快,所以使用的也不是很好。
发明内容
本发明要解决的技术问题是克服现有技术中的协议配置数据管理的局限性,提出了一种结合二维表实现树结构的快速存储、访问和管理的方法。
本发明中的二维表包括容量表、容量表索引、树形结构索引表、多个二维缓冲数据表以及各种状态表(这些状态表描述了各种表当前的占用和空闲状态)。
本发明用二维表实现的树的存储、访问的方法,包括以下步骤:
(1)创建二维表,包括:容量配置表,用于描述系统中表的容量;树结构关系表,用于描述树结构的关系;数个数据存储区表,用于记录树结构中的节点属性值;
(2)加载数据并对数据进行维护,包括增加、删除、修改和查找数据,以及由此引起的相关操作;
(3)对数据进行管理,包括数据的加载、同步、数据更改通知和观察部分。
所述的容量配置表字段属性如下表所示:
字段名 | 类型 | 解释 |
wModule | WORD | 驻留数据的模块号 |
dwNetType | DWORD | 驻留数据的网元类型 |
dwModuletype | DWORD | 驻留数据的模块类型 |
ucInfoType | BYTE | 记录类型0:节点记录>0:数据缓冲区编号 |
wTreeNodeNum | WORD | 树节点最大个数 |
wBufferSize | WORD | 记录的数据缓冲区的大小 |
wBufferNum | WORD | 该数据区大小的缓冲个数 |
所述的树结构关系表字段属性如下表所示:
字段名 | 类型 | 解释 |
FATHER | WORD | 父节点的标志字段 |
NODENAME | LPSTR | 关系表中记录的节点名 |
NODEINDEX | WORD | 记录了当前节点在关系表中的位置标志 |
DATATYPE | BYTE | 属性字段值类型 |
DATALEN | WORD | 属性字段值的长度 |
DATAHANDLE | DWORD | 属性字段值所存放的缓冲区表的标志 |
DATAMARK | WORD | 节点数据存放在相应缓冲区中的位置 |
ISDUMMY | BYTE | 记录节点是否虚节点 |
LCHILD | WORD | 左孩子节点记录位置 |
RCHILD | WORD | 右孩子节点记录位置 |
所述的数据存储区表字段属性如下表所示:
字段名 | 类型 | 解释 |
Nodeindex | WORD16 | 数据缓冲区中记录节点标志 |
Nodevalue | LPSTR | 数据缓冲区中记录内容 |
所述的用二维表实现的树的存储、访问的方法,还包括创建容量表,创建容量索引数据;加载容量数据,加载索引。
所述的用二维表实现的树的存储、访问的方法,还包括创建树结构表,创建树结构节点索引数据;创建数据存储区表,为各个数据存储区创建索引字段;加载树结构和数据存储区的数据,加载各个索引字段。
所述的增加的步骤包括:
(1)同步或异步发送增加请求消息;
(2)接收进程根据请求消息中的参数查找父节点记录标志;如果不存在父节点,在系统中自动增加一个虚的父节点记录;
(3)查看要增加的节点记录是否已经存在;已经存在,返回错误;
(4)在树结构的二维表中增加一个记录,在记录中描述其父节点记录或兄弟节点记录的相关信息,同时更改相关的表项;
(5)根据要增加的节点记录的节点属性值的类型和长度,选择不同的数据缓冲区,在选中的数据缓冲区表中申请一个空闲的记录空间存放当前的数据;
(6)同步返回操作结果。
所述的删除的步骤包括:
(1)同步或异步发送删除请求消息;
(2)接收进程根据请求消息中的参数查找节点记录标志;
(3)查看要删除的节点记录是否存在;不存在,返回错误;
(4)删除找到的节点,释放节点对应的数据缓冲区资源;
(5)在关系表中查询该节点是否有孩子节点记录,循环删除所有的孩子及其下的节点记录;
(6)循环判断当前节点的父节点记录有没有存在的必要,没有的话删除该节点记录。
(7)同步返回操作结果;
所述的修改的步骤包括:
(1)同步或异步发送修改数据请求消息;
(2)接收进程根据请求消息中的参数查找父节点记录标志;
(3)查看要修改的节点记录是否已经存在;已经存在,修改相应的属性值,主要是数据缓冲区表的数据维护,可能的操作包括:修改原来的数据缓冲区中的内容(以前的数据和新的数据在同一个缓冲区中时);从原来的数据缓冲区中删除记录项(新的数据不再需要在缓冲区中存放,释放以前的记录缓冲区数据);新申请一个数据缓冲区增加属性(以前的数据没有存放在缓冲区表中,现在需要存放在缓冲区表中);删除原来的数据表项,增加新的数据表项(以前的数据和新的数据长度要求在不同的缓冲区中)四种操作;
(4)同步返回结果
所述的查找包括简单查找和插入查找,简单查找是按照树结构关系在表中一层一层记录地查找,直接返回查找的结果;插入查找是从根节点开始查找,遇到不存在的节点,插入记录,一直到最终的记录节点位置。
所述数据的加载采用二维表记录加载方式;数据的同步同样采用表记录的增加和删除来实现,在数据的加载和同步的过程中,树结构数据和缓冲区中的数据相对独立,同样在加载、同步数据缓冲区中的数据时,只负责标志出本数据缓冲区的标志字段。
所述数据的更改通知是以一个完整的事务应用为单位进行数据的更改通知,该事务定义就是一次协议数据的修改,事务完成后再进行相关数据的更改通知。
所述数据的观察采用两种方式:(1)类似于二维表的记录显示方式;(2)采用树型的结构显示协议数据,将存储在内模式中的数据转化成数据的逻辑模式显示给应用用户查看。
采用本发明所述方法,与现有技术相比,在配置数据灵活性、缓存机制简化等方面取得了进步,达到了灵活配置数据并可以最大化使用面向对象数据库原有机制的效果,提高了处理效率和处理的灵活性和稳定性。体现在以下几个方面:
(1)结合了关系表和树结构的优点;
一方面配置参数使用了现有的面向对象的数据库的各种约束机制,可以按记录来进行控制,包括表记录的预删除、预增加、删除、增加等触发器的编写,使得应用场合更加广泛,操作容易;
另一方面摆脱了关系表和应用的相关性,方便了应用数据配置的可扩充性。
(2)对配置表的操作,不会造成缓冲区的碎片。系统在启动时会根据容量表中分配的数据计算出各个数据缓冲区表的大小(在系统启动后,这是一个定值),在每一个数据缓冲区表中存放的数据长度是固定大小,基于表的操作就是基于表中记录的操作,一个节点记录的数据只会保存在一个缓冲表记录中,释放节点记录也会释放该缓冲表中对应的记录,记录和记录之间是紧凑的,不会产生碎片。这是一个牺牲内存(静态分配内存)来实现避免内存碎片的方法。采用了该方法,可以很好地提高系统长期运行的稳定性。
(3)容量和大小可以灵活配置,可以做到版本不升级实现容量的升级,很好的提高了系统的可维护性。由于在3G产品中,运用到IP承载设计的网元很多,如果容量不能灵活配置,各个网元的配置势必有很大差别,这些差别体现在代码中对系统的稳定性和可维护性都有一定的影响。采用容量表来配置网元容量将这种网元的差别屏蔽在用户配置上,系统比较灵活;另外,对于一个固定网元,根据用户需要可能会要求容量的升级,采用了该方法后,可以做到用户配置增加容量而不用更换软件版本。
附图说明
图1是一个现有树状结构示意图;
图2是图1的树状结构转换后对应的二叉树示意图;
图3是该树状结构在关系表中的存储方式及其对应的数据存储位置示意图;
图4是在关系表中增加一个节点数据的流程;
图5是在关系表中删除一个节点及其相关的节点的流程;
图6是在关系表中删除一个节点数据的流程;
图7是在关系表中修改一个节点数据的流程;
图8是在关系表中查询一个节点和节点值的流程;
图9是在关系表中查询一个节点的流程;
图10是在关系表中查询并追加节点的流程。
具体实施方式
在附图中,各英文单词的含义如下:
DWORD:表示一个数据是整数数据类型;
STREAM:表示一个字符串码流格式的数据类型;
Fathercode:表示当前要查找的起始节点位置;
Lplocate:表示从起始节点位置到要操作节点的全路径。
另外,说明书中缩略语意义如下:
GPRS:General Packet Radio System,无线分组系统
RNC:Radio NetWork Controller,无线网络控制
MSC-S:Mobile Switching Center-SERVER,移动交换中心一服务端
MGW:Media Gateway,媒体网关
SGSN:Serving GPRS Support Node,GPRS支持服务节点
GGSN:Gateway GPRS Support Node,GPRS支持网关节点
PCF:Packet Control Function,分组控制功能
PDSN:Packet Data Service Node,分组数据服务节点
本发明所述协议数据配置的方法如下:
一.数据结构描述:
按功能在系统中创建了三种二维表:一个容量配置表描述了系统中表的容量;一个树结构关系表描述了树结构的关系;数个数据存储区表记录树结构中的节点属性值。
1.容量配置表字段属性如表一所示:
表一.描述了系统中容量表中的各个字段及其意义
字段名 | 类型 | 解释 |
wModule | WORD | 驻留数据的模块号 |
dwNetType | DWORD | 驻留数据的网元类型 |
dwModuletype | DWORD | 驻留数据的模块类型 |
ucInfoType | BYTE | 记录类型0:节点记录>0:数据缓冲区编号 |
wTreeNodeNum | WORD | 树节点最大个数 |
wBufferSize | WORD | 记录的数据缓冲区的大小 |
wBufferNum | WORD | 该数据区大小的缓冲个数 |
表一中各个字段的说明:
前三个字段wModule,dwNetype,dwModuletype是通用的字段,可以用来区分多模块的容量配置
ucInfoType=0时:表示该记录描述的是树结构节点容量配置关系,紧跟着wTreeNodeNum字段描述了系统中树结构节点的总的个数(容量);其它字段无效
ucInfoType>0时:表示该记录描述的是相应的数据缓冲区的容量配置关系,wTreeNodeNum字段无效,wBufferSize描述了该数据缓冲区每一个记录的大小,wBufferNum描述了该数据缓冲区记录的个数;
2.树结构字段属性如表二所示:
表二.描述了系统中树状关系表中的各个字段及其记录间的相互关系
字段名 | 类型 | 解释 |
FATHER | WORD | 父节点的标志字段 |
NODENAME | LPSTR | 关系表中记录的节点名 |
NODEINDEX | WORD | 记录了当前节点在关系表中的位置标志 |
DATATYPE | BYTE | 属性字段值类型 |
DATALEN | WORD | 属性字段值的长度 |
DATAHANDLE | DWORD | 属性字段值所存放的缓冲区表的标志 |
DATAMARK | WORD | 节点数据存放在相应缓冲区中的位置 |
ISDUMMY | BYTE | 记录节点是否虚节点 |
LCHILD | WORD | 左孩子节点记录位置 |
RCHILD | WORD | 右孩子节点记录位置 |
结构说明:
本发明针对图1所示现有的树形索引结构,通过演化转变成图2所示二叉树索引结构,然后进一步的处理变成图3所示关系表索引结构,图2只是这个完整过程中的一个演进阶段,是为了的系统的完整性而增加,增加该图便于对整个过程的认识,在本发明中不做赘述。
从图3中可以看到,NODEINDEX(节点标志)字段在表中的值是唯一的,用该字段可以做为该表的唯一主索引。
3.数据存储区表字段属性如表三所示:
表三.描述了系统中各个数据缓冲区的存储方式
字段名 | 类型 | 解释 |
Nodeindex | WORD16 | 数据缓冲区中记录节点标志 |
Nodevalue | LPSTR | 数据缓冲区中记录内容 |
结构说明:
Nodeindex:标志了该数据缓冲区位置;从图3中可以看到,该字段在表中的值是唯一的,用该字段可以做为该表的唯一主索引。
Nodevalue:一个可变数组,长度由R_CONST表中的记录来确定;可以实现一个可变长度和可变容量的数据缓冲区。
二.系统的运行
第一步:二维表的创建,数据加载
本步骤又可以包括下列步骤:
1.创建容量表,创建容量索引数据;
2.加载容量数据,加载索引;
根据容量表中的数据进行如下的操作:
创建树结构表,创建树结构节点索引数据;
创建数据存储区表,为各个数据存储区创建索引字段;
加载树结构和数据存储区的数据,加载各个索引字段。
至此,整个内存数据表创建,加载完毕;可以进行以下的操作。
第二步.树节点的维护
加载完数据,可以对表中的树结构进行维护,包括对表中记录的增、删、改、查,以及由此引起的相关的一系列操作,比如:删除一个表中的树的记录节点引起相应的孩子节点记录项的删除,同时会删除数据存储区中的内容。
增加一个数据节点的过程参考附图4中的步骤:
1.同步(或异步)发送增加请求消息;
2.接收进程根据请求消息中的参数查找父节点记录标志(如果不存在父节点,在系统中自动增加一个虚的父节点记录。)
3.查看要增加的节点记录是否已经存在(已经存在,返回错误);
4.在树结构的二维表中增加一个记录,在记录中描述其父节点记录或兄弟节点记录的相关信息,同时更改相关的表项,(如果是父节点的第一个子孩子,要修改当前记录的父节点字段和父节点记录的左孩子节点字段;否则的话只要修改当前记录前一个兄弟记录的右孩子字段);
5.根据要增加的节点记录的节点属性值的类型和长度,选择不同的数据缓冲区,在选中的数据缓冲区表中申请一个记录空间存放当前的数据。
6.同步返回操作结果;
删除一个数据节点的过程参考附图5,附图6中的步骤:
1.同步(或异步)发送删除请求消息;
2.接收进程根据请求消息中的参数查找节点记录标志;
3.查看要删除的节点记录是否存在(不存在,返回错误);
4.删除找到的节点,删除节点对应的数据缓冲区中的数据;
5.在关系表中查询该节点是否有孩子节点记录,循环删除所有的孩子及其下的节点记录;
6.循环判断当前节点的父节点记录有没有存在的必要,没有的话删除该节点记录。(节点是虚节点记录类型并且没有孩子记录表示当前的记录没有存在的必要,可以删除之,但第一层根节点除外)
7.同步返回操作结果;
修改一个数据节点的过程参考附图7中的步骤:
1.同步(或异步)发送修改数据请求消息;
2.接收进程根据请求消息中的参数查找父节点记录标志(如果不存在父节点记录,返回操作失败及失败原因。)
3.查看要修改的节点记录是否已经存在(已经存在,修改相应的属性值,主要是数据缓冲区表的数据维护,可能的操作包括:修改原来的数据缓冲区中的内容;从原来的数据缓冲区中删除记录项;新申请一个数据缓冲区增加属性;删除原来的数据表项,增加新的数据表项等四种操作。如果该节点记录不存在,按照增加节点记录的方式在当前的节点下新生成一个节点记录);
4.同步返回结果
查看一个表数据节点值的过程参考图8中的步骤:
1.同步(或异步)发送查询数据请求消息;
2.接收进程根据请求消息中的参数查找节点记录标志(如果不存在节点记录,返回操作失败及失败原因。)
3.根据得到的节点记录数据项中的存储数据属性和长度判断该节点数据存放的数据缓冲区及其在缓冲区中的位置,然后到相应的缓冲区中取出数据。
4.同步返回结果
在上面的描述中,每一个操作都需要对表中的记录定位,所以查询操作的效率比较重要,系统中为每一个表创建了HASH索引,采用HASH和名字比较的方法,提高了查找效率。根据系统中的需求不同,我们提供了两种方式的查找:简单查找和插入查找。
简单查找:用户的操作都会引发简单查找的动作,其目的是为了得到要操作对象的节点记录。
简单查找一个数据节点的过程参考附图9中的步骤:
1.根据输入路径第一个字段在表中记录的根节点下查找匹配的记录;
2.如果没有找到记录则返回失败,否则路径去掉第一个字段,如果路径为空,则返回找到的表记录的节点标志;
3.循环1,2操作;
插入查找:用户的增加一个节点操作可能会引起插入查找的过程,其目的是为了在简单查找的基础上,如果一个对象不存在,不再返回失败,而是增加一个虚路径。
插入查找一个数据节点的过程参考附图10中的步骤:
1.根据输入路径第一个字段在表中记录的根节点下查找匹配的记录;
2.如果没有找到记录则跳到4执行,否则路径去掉第一个字段,如果路径为空,则返回找到的表记录的节点标志;
3.循环1,2操作;
4.根据路径中第一个字段在表中增加相应的虚节点;路径去掉第一个字段
5.循环执行4,一直到路径为空;
第三步.数据的管理
数据的管理包括数据的加载、同步、数据更改通知和观察部分。
在通讯领域中,由于采用了分布处理,并且为了提高系统的稳定性,很多单板采用1+1热备份方式,因此数据的加载、同步的处理显得更加复杂、重要。
协议数据物理存储结构以表方式组织,因此数据的加载采用二维表记录加载方式;数据的同步同样采用表记录的增加和删除来实现,在行数据的加载和同步的过程,不关心具体的记录数据的相互依赖关系。树结构数据和缓冲区中的数据相对独立,比如在加载、同步如附图1所示的数据时,可以按照附图3所示的记录位置来存放数据,也可以按实际运行中杂乱的位置存放数据,此时不关心具体的数据存放的数据缓冲区中的位置,只在表中记录好缓冲区中的标志字段DATAHANDLE和DATAMARK,同样在加载、同步数据缓冲区中的数据时也不用关心其对应的树结构中的节点位置,只负责标志出本数据缓冲区的标志字段Nodeindex,这两种表的关系只在系统运行时通过上面的三个字段和缓冲区在系统中的句柄来对应起来。
协议的数据更改通知主要是指协议数据成功修改后需要通知其他的应用;由于在协议数据中增加一个节点,其存储的二维表中可能会增加或删除多条记录,因此不能以传统的二维表记录的增加和删除触发数据的通知,而以一个完整的事务应用为单位进行数据的更改通知,该事务定义就是一次协议数据的修改,事务完成后再进行相关数据的更改通知。
协议数据的观察可以采用两种方式:(1)类似于二维表的记录显示方式,该方式对具体的协议数据含义观察不直观,但对于数据库专业人员可以直观的查看协议数据内模式的存储结构,便于表容量的调整,以及一些索引的组织。(2)采用树型的结构显示协议数据,将存储在内模式中的数据转化成数据的逻辑模式显示给应用用户查看。
Claims (13)
1.一种用二维表实现的树的存储、访问的方法,其特征在于,包括:
步骤一:创建二维表,包括:容量配置表,用于描述系统中表的容量;树结构关系表,用于描述树结构的关系;数个数据存储区表,用于记录树结构中的节点属性值;
步骤二:加载数据并对数据进行维护,包括增加、删除、修改和查找数据,以及由此引起的相关操作;
步骤三:对数据进行管理,包括数据的加载、同步、数据更改通知和观察部分。
2.如权利要求1所述的用二维表实现的树的存储、访问的方法,其特征在于,所述的容量配置表字段属性如表所示:
。
3.如权利要求1所述的用二维表实现的树的存储、访问的方法,其特征在于,所述的树结构字段属性如表所示:
。
4.如权利要求1所述的用二维表实现的树的存储、访问的方法,其特征在于,所述的数据存储区表字段属性如表所示:
。
5.如权利要求1所述的用二维表实现的树的存储、访问的方法,其特征在于,步骤一还包括创建容量表,创建容量索引数据;加载容量数据,加载索引。
6.如权利要求1或5所述的用二维表实现的树的存储、访问的方法,其特征在于,步骤一还包括创建树结构表,创建树结构节点索引数据;创建数据存储区表,为各个数据存储区创建索引字段;加载树结构和数据存储区的数据,加载各个索引字段。
7.如权利要求1所述的用二维表实现的树的存储、访问的方法,其特征在于,步骤二中所述的增加的步骤包括:
(1)同步或异步发送增加请求消息;
(2)接收进程根据请求消息中的参数查找父节点记录标志;如果不存在父节点,在系统中自动增加一个虚的父节点记录;
(3)查看要增加的节点记录是否已经存在;已经存在,返回错误;
(4)在树结构的二维表中增加一个记录,在记录中描述其父节点记录或兄弟节点记录的相关信息,同时更改相关的表项;
(5)根据要增加的节点记录的节点属性值的类型和长度,选择不同的数据缓冲区,在选中的数据缓冲区表中申请一个记录空间存放当前的数据;
(6)同步返回操作结果。
8.如权利要求1所述的用二维表实现的树的存储、访问的方法,其特征在于,步骤二中所述的删除的步骤包括:
(1)同步或异步发送删除请求消息;
(2)接收进程根据请求消息中的参数查找节点记录标志;
(3)查看要删除的节点记录是否存在;不存在,返回错误;
(4)删除找到的节点,删除节点对应的数据缓冲区中的数据;
(5)在关系表中查询该节点是否有孩子节点记录,循环删除所有的孩子及其下的节点记录;
(6)循环判断当前节点的父节点记录有没有存在的必要,没有的话删除该节点记录。
(7)同步返回操作结果。
9.如权利要求1所述的用二维表实现的树的存储、访问的方法,其特征在于,步骤二中所述的修改的步骤包括:
(1)同步或异步发送修改数据请求消息;
(2)接收进程根据请求消息中的参数查找父节点记录标志;
(3)查看要修改的节点记录是否已经存在;已经存在,修改相应的属性值,即数据缓冲区表的数据维护,操作包括:修改原来的数据缓冲区中的内容;从原来的数据缓冲区中删除记录项;新申请一个数据缓冲区增加属性;删除原来的数据表项,增加新的数据表项四种操作;
(4)同步返回结果。
10.如权利要求1所述的用二维表实现的树的存储、访问的方法,其特征在于,步骤二中所述的查找包括简单查找和插入查找,简单查找是按照树结构关系在表中一层一层记录地查找,直接返回查找的结果;插入查找是从根节点开始查找,遇到不存在的节点,插入记录,一直到最终的记录节点位置。
11.如权利要求1所述的用二维表实现的树的存储、访问的方法,其特征在于,步骤三中所述数据的加载采用二维表记录加载方式;所述数据的同步同样采用表记录的增加和删除来实现,在数据的加载和同步的过程,树结构数据和缓冲区中的数据相对独立,同样在加载、同步数据缓冲区中的数据时,只负责标志出本数据缓冲区的标志字段。
12.如权利要求1所述的用二维表实现的树的存储、访问的方法,其特征在于,步骤三中所述数据的更改通知是以一个完整的事务应用为单位进行数据的更改通知,该事务定义就是一次协议数据的修改,事务完成后再进行相关数据的更改通知。
13.如权利要求1所述的用二维表实现的树的存储、访问的方法,其特征在于,步骤三中所述数据的观察采用两种方式:(1)采用二维表的记录显示方式;(2)采用树型的结构显示协议数据,将存储在内模式中的数据转化成数据的逻辑模式显示给应用用户查看。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101136602A CN1307584C (zh) | 2003-11-17 | 2003-11-17 | 一种用二维表实现的树的存储、访问的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2003101136602A CN1307584C (zh) | 2003-11-17 | 2003-11-17 | 一种用二维表实现的树的存储、访问的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1545048A CN1545048A (zh) | 2004-11-10 |
CN1307584C true CN1307584C (zh) | 2007-03-28 |
Family
ID=34336948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2003101136602A Expired - Fee Related CN1307584C (zh) | 2003-11-17 | 2003-11-17 | 一种用二维表实现的树的存储、访问的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1307584C (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101241492B (zh) * | 2007-02-06 | 2011-05-11 | 中兴通讯股份有限公司 | 具有容量动态控制功能的内存数据存储装置及其实现方法 |
CN100541453C (zh) * | 2007-12-03 | 2009-09-16 | 腾讯数码(天津)有限公司 | 大容量缓存实现方法及存储系统 |
US8458654B2 (en) * | 2008-10-22 | 2013-06-04 | International Business Machines Corporation | Identifying impact of database changes on an application |
JP4688111B2 (ja) * | 2008-11-28 | 2011-05-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置、データベース・システム、情報処理方法、およびプログラム |
CN101620618B (zh) * | 2009-07-24 | 2011-11-30 | 中兴通讯股份有限公司 | 内存存储数据的维护方法与装置 |
CN101853278A (zh) * | 2010-05-19 | 2010-10-06 | 苏州迈科网络安全技术有限公司 | 数据存储系统应用方法 |
CN102024052B (zh) * | 2010-12-17 | 2013-03-13 | 北京握奇数据系统有限公司 | 一种数据存储系统事务的实现方法和装置 |
CN102567000B (zh) * | 2010-12-31 | 2016-08-17 | 新奥特(北京)视频技术有限公司 | 一种支持动态参数的特技插件的方法和装置 |
CN102156743A (zh) * | 2011-04-18 | 2011-08-17 | 北京神州数码思特奇信息技术股份有限公司 | 一种电信海量话单数据存储方法 |
CN102750265A (zh) * | 2011-08-26 | 2012-10-24 | 新奥特(北京)视频技术有限公司 | 一种数据替换的方法及装置 |
CN102508866B (zh) * | 2011-10-09 | 2013-03-27 | 中国电子科技集团公司第二十八研究所 | 基于数字寻址的指挥关系树结构化存储与快速处理方法 |
CN103186568B (zh) * | 2011-12-28 | 2017-03-22 | 金蝶软件(中国)有限公司 | 树型结构数据的访问方法及系统 |
CN103207813B (zh) * | 2012-01-11 | 2018-08-14 | 华为技术有限公司 | 管理资源的方法和装置 |
CN102970152A (zh) * | 2012-11-23 | 2013-03-13 | 上海斐讯数据通信技术有限公司 | 静态实现IGMP Snooping的方法 |
CN103020273B (zh) * | 2012-12-27 | 2016-08-17 | 福建榕基软件股份有限公司 | 树形结构数据的展示及相关索引表生成的方法与装置 |
CN104850591B (zh) * | 2015-04-24 | 2019-03-19 | 百度在线网络技术(北京)有限公司 | 一种数据的转换存储方法及装置 |
CN107018077B (zh) * | 2017-04-28 | 2019-08-20 | 烽火通信科技股份有限公司 | 用于路由器的数据传输方法及系统 |
CN110019223A (zh) * | 2017-12-21 | 2019-07-16 | 天津数观科技有限公司 | 一种基于数据存储模型的生成数据族谱的方法 |
CN110083339A (zh) * | 2018-01-26 | 2019-08-02 | 拜椰特(上海)软件技术有限公司 | 一种新型计算机编程语言 |
CN108805527A (zh) * | 2018-05-29 | 2018-11-13 | 郑州云海信息技术有限公司 | 一种项目管理方法和装置 |
CN113392089B (zh) * | 2021-06-25 | 2023-02-24 | 瀚高基础软件股份有限公司 | 一种数据库索引优化方法及可读存储介质 |
CN113434587B (zh) * | 2021-06-30 | 2023-08-18 | 青岛海尔科技有限公司 | 一种数据存储、数据查询方法及系统 |
CN114780325B (zh) * | 2022-06-21 | 2022-09-30 | 新华三信息技术有限公司 | 一种PCIe设备检测方法及装置 |
CN115328366B (zh) * | 2022-08-11 | 2023-09-19 | 北京智慧星光信息技术有限公司 | 基于全路径计算的千万级树形节点搜索展示方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1139339A (ja) * | 1997-07-24 | 1999-02-12 | Denso Corp | ナビゲーション装置 |
JP2002208947A (ja) * | 2001-01-12 | 2002-07-26 | Nec Corp | 経路検索システムとその検索方法、及び経路検索プログラムを記録した記録媒体 |
US6621429B2 (en) * | 2001-02-23 | 2003-09-16 | Yamaha Corporation | Huffman decoding method and decoder, huffman decoding table, method of preparing the table, and storage media |
-
2003
- 2003-11-17 CN CNB2003101136602A patent/CN1307584C/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1139339A (ja) * | 1997-07-24 | 1999-02-12 | Denso Corp | ナビゲーション装置 |
JP2002208947A (ja) * | 2001-01-12 | 2002-07-26 | Nec Corp | 経路検索システムとその検索方法、及び経路検索プログラムを記録した記録媒体 |
US6621429B2 (en) * | 2001-02-23 | 2003-09-16 | Yamaha Corporation | Huffman decoding method and decoder, huffman decoding table, method of preparing the table, and storage media |
Also Published As
Publication number | Publication date |
---|---|
CN1545048A (zh) | 2004-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1307584C (zh) | 一种用二维表实现的树的存储、访问的方法 | |
CN101876983B (zh) | 数据库分区方法与系统 | |
CN102158546B (zh) | 一种集群文件系统及其文件服务方法 | |
CN102541990B (zh) | 利用虚拟分区的数据库重新分布方法和系统 | |
US9342528B2 (en) | Method and apparatus for tiered storage | |
US9047330B2 (en) | Index compression in databases | |
US10242050B2 (en) | Database caching in a database system | |
CN102638584B (zh) | 数据分布缓存方法及系统 | |
CN103023982B (zh) | 一种云存储客户端的低延迟元数据访问方法 | |
CN101354726B (zh) | 一种机群文件系统的内存元数据管理方法 | |
CN104881466B (zh) | 数据分片的处理以及垃圾文件的删除方法和装置 | |
CN112771511B (zh) | 数据库系统中的多层次元数据 | |
US7730099B2 (en) | Storage and retrieval of richly typed hierarchical network models | |
CN101169785A (zh) | 集群数据库系统的动态负载均衡方法 | |
JP2001522074A (ja) | 通信システム及び方法 | |
CN103631924B (zh) | 一种分布式数据库平台的应用方法和系统 | |
CN101882132A (zh) | 虚拟fat文件系统的创建及读取方法以及装置 | |
CN103916467A (zh) | 一种元数据集群中负载转移方法及系统 | |
CN103853714A (zh) | 一种数据处理方法和装置 | |
CN101571869A (zh) | 一种智能卡的文件存储、读取方法及装置 | |
CN105981013B (zh) | 一种基于稀疏文件的数据库存储模型的系统和方法 | |
CN100378663C (zh) | 将应用程序动态下载到用户识别模块的方法、系统及模块 | |
CN101986649A (zh) | 应用于电信行业计费系统的共享数据中心 | |
CN1845093A (zh) | 一种属性可扩展的对象文件系统 | |
US20070016548A1 (en) | Implementing storage management functions using a data store system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070328 Termination date: 20141117 |
|
EXPY | Termination of patent right or utility model |