著录项信息
专利名称 | 一种用二维表实现的树的存储、访问的方法 |
申请号 | CN200310113660.2 | 申请日期 | 2003-11-17 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2004-11-10 | 公开/公告号 | CN1545048 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 中兴通讯股份有限公司 | 申请人地址 | 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦A座6层
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中兴通讯股份有限公司 | 当前权利人 | 中兴通讯股份有限公司 |
发明人 | 郑宇;蔡辉;业绪进 |
代理机构 | 北京律诚同业知识产权代理有限公司 | 代理人 | 梁挥;祁建国 |
摘要
本发明涉及一种用二维表实现的树的存储、访问的方法,包括:(1)创建二维表,包括:容量配置表,用于描述系统中表的容量;树结构关系表,用于描述树结构的关系;数个数据存储区表,用于记录树结构中的节点属性值;(2)加载数据并对数据进行维护,包括增加、删除、修改和查找数据,以及由此引起的相关操作;(3)对数据进行管理,包括数据的加载、同步、数据更改通知和观察部分。本发明应用于通讯领域,在配置数据灵活性、缓存机制简化等方面取得了进步,达到了灵活配置数据并可以最大化使用面向对象数据库原有机制的效果,提高了处理效率和处理的灵活性和稳定性。
1.一种用二维表实现的树的存储、访问的方法,其特征在于,包括:
步骤一:创建二维表,包括:容量配置表,用于描述系统中表的容量;树 结构关系表,用于描述树结构的关系;数个数据存储区表,用于记录树结构中 的节点属性值;
步骤二:加载数据并对数据进行维护,包括增加、删除、修改和查找数据, 以及由此引起的相关操作;
步骤三:对数据进行管理,包括数据的加载、同步、数据更改通知和观察 部分。
2.如权利要求1所述的用二维表实现的树的存储、访问的方法,其特征 在于,所述的容量配置表字段属性如表所示:
字段名 类型 解释 wModule WORD 驻留数据的模块号 dwNetType DWORD 驻留数据的网元类型 dwModuletype DWORD 驻留数据的模块类型 ucInfoType BYTE 记录类型0:节点记录>0:数据缓 冲区编号 wTreeNodeNum WORD 树节点最大个数 wBufferSize WORD 记录的数据缓冲区的大小 wBufferNum WORD 该数据区大小的缓冲个数
。
3.如权利要求1所述的用二维表实现的树的存储、访问的方法,其特征 在于,所述的树结构字段属性如表所示:
字段名 类型 解释 FATHER WORD 父节点的标志字段 NODENAME LPSTR 关系表中记录的节点名 NODEINDEX WORD 记录了当前节点在关系表中的位 置标志 DATATYPE BYTE 属性字段值类型 DATALEN WORD 属性字段值的长度 DATAHANDLE DWORD 属性字段值所存放的缓冲区表的 标志 DATAMARK WORD 节点数据存放在相应缓冲区中的 位置 ISDUMMY BYTE 记录节点是否虚节点 LCHILD WORD 左孩子节点记录位置 RCHILD WORD 右孩子节点记录位置
。
4.如权利要求1所述的用二维表实现的树的存储、访问的方法,其特征 在于,所述的数据存储区表字段属性如表所示:
字段名 类型 解释 Nodeindex WORD16 数据缓冲区中记录节点标志 Nodevalue LPSTR 数据缓冲区中记录内容
。
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)采用树型的结构显示协议数据,将存储在内模式中的数据转化成数据 的逻辑模式显示给应用用户查看。
技术领域\n本发明涉及一种树状数据结构的配置、存储方法,尤其涉及通讯领域的协 议栈数据配置、存储和管理。包括对现有的路由数据配置和在3G产品中采用 的IP承载配置,象WCDMA的RNC,MSC-S,MGW,SGSN,GGSN等,CDMA2000中 PCF,PDSN等网元的基于IP协议栈承载的配置。\n背景技术\n现有的关于协议承载配置的数据一般有两种主要的存储方式:\n1.基于链表的树状结构+连续缓冲区的实现方式:请参照中国专利文献 CN 00125204.6号本方式由树形索引结构(如图1)和单一的缓冲区组成。树 节点指示该节点的配置类型、数据长度、数据缓冲区地址等属性。其中数据缓 冲区地址指示了该配置参数在缓冲区的位置,数据长度指示该参数在缓冲区中 占用的连续空间大小。这样有几个缺点:(1)对配置参数表使用现有的面向对 象的数据库的各种约束机制以及操作非常困难;(2)在较长时间内,如果对配 置表进行增、删操作过多,会造成缓冲区的碎片。(3)对于树结构节点数目和 数据缓冲区的容量和大小不可以灵活配置。不可以实现容量的动态升级。\n2.纯粹用关系表实现方式:这种方式只适合一些具有很少的协议数据配置 的系统,并且由于在表设计时要关心到具体的数据属性,协议数据配置的可扩 充性较差,因为协议数据分布包括多个层次,属于应用的协议数据配置需求变 化(属于关系表的设计变化)较快,所以使用的也不是很好。\n发明内容\n本发明要解决的技术问题是克服现有技术中的协议配置数据管理的局限 性,提出了一种结合二维表实现树结构的快速存储、访问和管理的方法。\n本发明中的二维表包括容量表、容量表索引、树形结构索引表、多个二维 缓冲数据表以及各种状态表(这些状态表描述了各种表当前的占用和空闲状 态)。\n本发明用二维表实现的树的存储、访问的方法,包括以下步骤:\n(1)创建二维表,包括:容量配置表,用于描述系统中表的容量;树结构 关系表,用于描述树结构的关系;数个数据存储区表,用于记录树结构中的节 点属性值;\n(2)加载数据并对数据进行维护,包括增加、删除、修改和查找数据,以 及由此引起的相关操作;\n(3)对数据进行管理,包括数据的加载、同步、数据更改通知和观察部分。\n所述的容量配置表字段属性如下表所示:\n 字段名 类型 解释 wModule WORD 驻留数据的模块号 dwNetType DWORD 驻留数据的网元类型 dwModuletype DWORD 驻留数据的模块类型 ucInfoType BYTE 记录类型0:节点记录>0:数据缓 冲区编号 wTreeNodeNum WORD 树节点最大个数 wBufferSize WORD 记录的数据缓冲区的大小 wBufferNum WORD 该数据区大小的缓冲个数\n所述的树结构关系表字段属性如下表所示:\n 字段名 类型 解释 FATHER WORD 父节点的标志字段 NODENAME LPSTR 关系表中记录的节点名 NODEINDEX WORD 记录了当前节点在关系表中的位 置标志 DATATYPE BYTE 属性字段值类型 DATALEN WORD 属性字段值的长度 DATAHANDLE DWORD 属性字段值所存放的缓冲区表的 标志 DATAMARK WORD 节点数据存放在相应缓冲区中的 位置 ISDUMMY BYTE 记录节点是否虚节点 LCHILD WORD 左孩子节点记录位置 RCHILD WORD 右孩子节点记录位置\n所述的数据存储区表字段属性如下表所示:\n 字段名 类型 解释 Nodeindex WORD16 数据缓冲区中记录节点标志 Nodevalue LPSTR 数据缓冲区中记录内容\n所述的用二维表实现的树的存储、访问的方法,还包括创建容量表,创建 容量索引数据;加载容量数据,加载索引。\n所述的用二维表实现的树的存储、访问的方法,还包括创建树结构表,创 建树结构节点索引数据;创建数据存储区表,为各个数据存储区创建索引字段; 加载树结构和数据存储区的数据,加载各个索引字段。\n所述的增加的步骤包括:\n(1)同步或异步发送增加请求消息;\n(2)接收进程根据请求消息中的参数查找父节点记录标志;如果不存在 父节点,在系统中自动增加一个虚的父节点记录;\n(3)查看要增加的节点记录是否已经存在;已经存在,返回错误;\n(4)在树结构的二维表中增加一个记录,在记录中描述其父节点记录或 兄弟节点记录的相关信息,同时更改相关的表项;\n(5)根据要增加的节点记录的节点属性值的类型和长度,选择不同的数 据缓冲区,在选中的数据缓冲区表中申请一个空闲的记录空间存放当前的数 据;\n(6)同步返回操作结果。\n所述的删除的步骤包括:\n(1)同步或异步发送删除请求消息;\n(2)接收进程根据请求消息中的参数查找节点记录标志;\n(3)查看要删除的节点记录是否存在;不存在,返回错误;\n(4)删除找到的节点,释放节点对应的数据缓冲区资源;\n(5)在关系表中查询该节点是否有孩子节点记录,循环删除所有的孩子 及其下的节点记录;\n(6)循环判断当前节点的父节点记录有没有存在的必要,没有的话删除 该节点记录。\n(7)同步返回操作结果;\n所述的修改的步骤包括:\n(1)同步或异步发送修改数据请求消息;\n(2)接收进程根据请求消息中的参数查找父节点记录标志;\n(3)查看要修改的节点记录是否已经存在;已经存在,修改相应的属性 值,主要是数据缓冲区表的数据维护,可能的操作包括:修改原来的数据缓冲 区中的内容(以前的数据和新的数据在同一个缓冲区中时);从原来的数据缓 冲区中删除记录项(新的数据不再需要在缓冲区中存放,释放以前的记录缓冲 区数据);新申请一个数据缓冲区增加属性(以前的数据没有存放在缓冲区表 中,现在需要存放在缓冲区表中);删除原来的数据表项,增加新的数据表项 (以前的数据和新的数据长度要求在不同的缓冲区中)四种操作;\n(4)同步返回结果\n所述的查找包括简单查找和插入查找,简单查找是按照树结构关系在表中 一层一层记录地查找,直接返回查找的结果;插入查找是从根节点开始查找, 遇到不存在的节点,插入记录,一直到最终的记录节点位置。\n所述数据的加载采用二维表记录加载方式;数据的同步同样采用表记录的 增加和删除来实现,在数据的加载和同步的过程中,树结构数据和缓冲区中的 数据相对独立,同样在加载、同步数据缓冲区中的数据时,只负责标志出本数 据缓冲区的标志字段。\n所述数据的更改通知是以一个完整的事务应用为单位进行数据的更改通 知,该事务定义就是一次协议数据的修改,事务完成后再进行相关数据的更改 通知。\n所述数据的观察采用两种方式:(1)类似于二维表的记录显示方式;(2) 采用树型的结构显示协议数据,将存储在内模式中的数据转化成数据的逻辑模 式显示给应用用户查看。\n采用本发明所述方法,与现有技术相比,在配置数据灵活性、缓存机制简 化等方面取得了进步,达到了灵活配置数据并可以最大化使用面向对象数据库 原有机制的效果,提高了处理效率和处理的灵活性和稳定性。体现在以下几个 方面:\n(1)结合了关系表和树结构的优点;\n一方面配置参数使用了现有的面向对象的数据库的各种约束机制,可以 按记录来进行控制,包括表记录的预删除、预增加、删除、增加等触发器的编 写,使得应用场合更加广泛,操作容易;\n另一方面摆脱了关系表和应用的相关性,方便了应用数据配置的可扩充 性。\n(2)对配置表的操作,不会造成缓冲区的碎片。系统在启动时会根据容 量表中分配的数据计算出各个数据缓冲区表的大小(在系统启动后,这是一个 定值),在每一个数据缓冲区表中存放的数据长度是固定大小,基于表的操作 就是基于表中记录的操作,一个节点记录的数据只会保存在一个缓冲表记录 中,释放节点记录也会释放该缓冲表中对应的记录,记录和记录之间是紧凑的, 不会产生碎片。这是一个牺牲内存(静态分配内存)来实现避免内存碎片的方 法。采用了该方法,可以很好地提高系统长期运行的稳定性。\n(3)容量和大小可以灵活配置,可以做到版本不升级实现容量的升级, 很好的提高了系统的可维护性。由于在3G产品中,运用到IP承载设计的网元 很多,如果容量不能灵活配置,各个网元的配置势必有很大差别,这些差别体 现在代码中对系统的稳定性和可维护性都有一定的影响。采用容量表来配置网 元容量将这种网元的差别屏蔽在用户配置上,系统比较灵活;另外,对于一个 固定网元,根据用户需要可能会要求容量的升级,采用了该方法后,可以做到 用户配置增加容量而不用更换软件版本。\n附图说明\n图1是一个现有树状结构示意图;\n图2是图1的树状结构转换后对应的二叉树示意图;\n图3是该树状结构在关系表中的存储方式及其对应的数据存储位置示意 图;\n图4是在关系表中增加一个节点数据的流程;\n图5是在关系表中删除一个节点及其相关的节点的流程;\n图6是在关系表中删除一个节点数据的流程;\n图7是在关系表中修改一个节点数据的流程;\n图8是在关系表中查询一个节点和节点值的流程;\n图9是在关系表中查询一个节点的流程;\n图10是在关系表中查询并追加节点的流程。\n具体实施方式\n在附图中,各英文单词的含义如下:\nDWORD:表示一个数据是整数数据类型;\nSTREAM:表示一个字符串码流格式的数据类型;\nFathercode:表示当前要查找的起始节点位置;\nLplocate:表示从起始节点位置到要操作节点的全路径。\n另外,说明书中缩略语意义如下:\nGPRS:General Packet Radio System,无线分组系统\nRNC:Radio NetWork Controller,无线网络控制\nMSC-S:Mobile Switching Center-SERVER,移动交换中心一服务端\nMGW:Media Gateway,媒体网关\nSGSN:Serving GPRS Support Node,GPRS支持服务节点\nGGSN:Gateway GPRS Support Node,GPRS支持网关节点\nPCF:Packet Control Function,分组控制功能\nPDSN:Packet Data Service Node,分组数据服务节点\n本发明所述协议数据配置的方法如下:\n一.数据结构描述:\n按功能在系统中创建了三种二维表:一个容量配置表描述了系统中表的容 量;一个树结构关系表描述了树结构的关系;数个数据存储区表记录树结构中 的节点属性值。\n1.容量配置表字段属性如表一所示:\n表一.描述了系统中容量表中的各个字段及其意义\n 字段名 类型 解释 wModule WORD 驻留数据的模块号 dwNetType DWORD 驻留数据的网元类型 dwModuletype DWORD 驻留数据的模块类型 ucInfoType BYTE 记录类型0:节点记录>0:数据缓 冲区编号 wTreeNodeNum WORD 树节点最大个数 wBufferSize WORD 记录的数据缓冲区的大小 wBufferNum WORD 该数据区大小的缓冲个数\n表一中各个字段的说明:\n前三个字段wModule,dwNetype,dwModuletype是通用的字段,可以用来 区分多模块的容量配置\nucInfoType=0时:表示该记录描述的是树结构节点容量配置关系,紧 跟着wTreeNodeNum字段描述了系统中树结构节点的总的个数(容量);其它字 段无效\nucInfoType>0时:表示该记录描述的是相应的数据缓冲区的容量配置 关系,wTreeNodeNum字段无效,wBufferSize描述了该数据缓冲区每一个记 录的大小,wBufferNum描述了该数据缓冲区记录的个数;\n2.树结构字段属性如表二所示:\n表二.描述了系统中树状关系表中的各个字段及其记录间的相互关系\n 字段名 类型 解释 FATHER WORD 父节点的标志字段 NODENAME LPSTR 关系表中记录的节点名 NODEINDEX WORD 记录了当前节点在关系表中的位 置标志 DATATYPE BYTE 属性字段值类型 DATALEN WORD 属性字段值的长度 DATAHANDLE DWORD 属性字段值所存放的缓冲区表的 标志 DATAMARK WORD 节点数据存放在相应缓冲区中的 位置 ISDUMMY BYTE 记录节点是否虚节点 LCHILD WORD 左孩子节点记录位置 RCHILD WORD 右孩子节点记录位置\n结构说明:\n本发明针对图1所示现有的树形索引结构,通过演化转变成图2所示二叉 树索引结构,然后进一步的处理变成图3所示关系表索引结构,图2只是这个 完整过程中的一个演进阶段,是为了的系统的完整性而增加,增加该图便于对 整个过程的认识,在本发明中不做赘述。\n从图3中可以看到,NODEINDEX(节点标志)字段在表中的值是唯一的, 用该字段可以做为该表的唯一主索引。\n3.数据存储区表字段属性如表三所示:\n表三.描述了系统中各个数据缓冲区的存储方式\n 字段名 类型 解释 Nodeindex WORD16 数据缓冲区中记录节点标志 Nodevalue LPSTR 数据缓冲区中记录内容\n结构说明:\nNodeindex:标志了该数据缓冲区位置;从图3中可以看到,该字段在表 中的值是唯一的,用该字段可以做为该表的唯一主索引。\nNodevalue:一个可变数组,长度由R_CONST表中的记录来确定;可以实 现一个可变长度和可变容量的数据缓冲区。\n二.系统的运行\n第一步:二维表的创建,数据加载\n本步骤又可以包括下列步骤:\n1.创建容量表,创建容量索引数据;\n2.加载容量数据,加载索引;\n根据容量表中的数据进行如下的操作:\n创建树结构表,创建树结构节点索引数据;\n创建数据存储区表,为各个数据存储区创建索引字段;\n加载树结构和数据存储区的数据,加载各个索引字段。\n至此,整个内存数据表创建,加载完毕;可以进行以下的操作。\n第二步.树节点的维护\n加载完数据,可以对表中的树结构进行维护,包括对表中记录的增、删、 改、查,以及由此引起的相关的一系列操作,比如:删除一个表中的树的记录 节点引起相应的孩子节点记录项的删除,同时会删除数据存储区中的内容。\n增加一个数据节点的过程参考附图4中的步骤:\n1.同步(或异步)发送增加请求消息;\n2.接收进程根据请求消息中的参数查找父节点记录标志(如果不存在父节 点,在系统中自动增加一个虚的父节点记录。)\n3.查看要增加的节点记录是否已经存在(已经存在,返回错误);\n4.在树结构的二维表中增加一个记录,在记录中描述其父节点记录或兄弟 节点记录的相关信息,同时更改相关的表项,(如果是父节点的第一个子孩子, 要修改当前记录的父节点字段和父节点记录的左孩子节点字段;否则的话只要 修改当前记录前一个兄弟记录的右孩子字段);\n5.根据要增加的节点记录的节点属性值的类型和长度,选择不同的数据缓 冲区,在选中的数据缓冲区表中申请一个记录空间存放当前的数据。\n6.同步返回操作结果;\n删除一个数据节点的过程参考附图5,附图6中的步骤:\n1.同步(或异步)发送删除请求消息;\n2.接收进程根据请求消息中的参数查找节点记录标志;\n3.查看要删除的节点记录是否存在(不存在,返回错误);\n4.删除找到的节点,删除节点对应的数据缓冲区中的数据;\n5.在关系表中查询该节点是否有孩子节点记录,循环删除所有的孩子及其 下的节点记录;\n6.循环判断当前节点的父节点记录有没有存在的必要,没有的话删除该节 点记录。(节点是虚节点记录类型并且没有孩子记录表示当前的记录没有存在 的必要,可以删除之,但第一层根节点除外)\n7.同步返回操作结果;\n修改一个数据节点的过程参考附图7中的步骤:\n1.同步(或异步)发送修改数据请求消息;\n2.接收进程根据请求消息中的参数查找父节点记录标志(如果不存在父节 点记录,返回操作失败及失败原因。)\n3.查看要修改的节点记录是否已经存在(已经存在,修改相应的属性值, 主要是数据缓冲区表的数据维护,可能的操作包括:修改原来的数据缓冲区中 的内容;从原来的数据缓冲区中删除记录项;新申请一个数据缓冲区增加属性; 删除原来的数据表项,增加新的数据表项等四种操作。如果该节点记录不存在, 按照增加节点记录的方式在当前的节点下新生成一个节点记录);\n4.同步返回结果\n查看一个表数据节点值的过程参考图8中的步骤:\n1.同步(或异步)发送查询数据请求消息;\n2.接收进程根据请求消息中的参数查找节点记录标志(如果不存在节点记 录,返回操作失败及失败原因。)\n3.根据得到的节点记录数据项中的存储数据属性和长度判断该节点数据 存放的数据缓冲区及其在缓冲区中的位置,然后到相应的缓冲区中取出数据。\n4.同步返回结果\n在上面的描述中,每一个操作都需要对表中的记录定位,所以查询操作的 效率比较重要,系统中为每一个表创建了HASH索引,采用HASH和名字比较的 方法,提高了查找效率。根据系统中的需求不同,我们提供了两种方式的查找: 简单查找和插入查找。\n简单查找:用户的操作都会引发简单查找的动作,其目的是为了得到要操 作对象的节点记录。\n简单查找一个数据节点的过程参考附图9中的步骤:\n1.根据输入路径第一个字段在表中记录的根节点下查找匹配的记录;\n2.如果没有找到记录则返回失败,否则路径去掉第一个字段,如果路径为 空,则返回找到的表记录的节点标志;\n3.循环1,2操作;\n插入查找:用户的增加一个节点操作可能会引起插入查找的过程,其目的 是为了在简单查找的基础上,如果一个对象不存在,不再返回失败,而是增加 一个虚路径。\n插入查找一个数据节点的过程参考附图10中的步骤:\n1.根据输入路径第一个字段在表中记录的根节点下查找匹配的记录;\n2.如果没有找到记录则跳到4执行,否则路径去掉第一个字段,如果路径 为空,则返回找到的表记录的节点标志;\n3.循环1,2操作;\n4.根据路径中第一个字段在表中增加相应的虚节点;路径去掉第一个字段\n5.循环执行4,一直到路径为空;\n第三步.数据的管理\n数据的管理包括数据的加载、同步、数据更改通知和观察部分。\n在通讯领域中,由于采用了分布处理,并且为了提高系统的稳定性,很多 单板采用1+1热备份方式,因此数据的加载、同步的处理显得更加复杂、重要。\n协议数据物理存储结构以表方式组织,因此数据的加载采用二维表记录加 载方式;数据的同步同样采用表记录的增加和删除来实现,在行数据的加载和 同步的过程,不关心具体的记录数据的相互依赖关系。树结构数据和缓冲区中 的数据相对独立,比如在加载、同步如附图1所示的数据时,可以按照附图3 所示的记录位置来存放数据,也可以按实际运行中杂乱的位置存放数据,此时 不关心具体的数据存放的数据缓冲区中的位置,只在表中记录好缓冲区中的标 志字段DATAHANDLE和DATAMARK,同样在加载、同步数据缓冲区中的数据时也 不用关心其对应的树结构中的节点位置,只负责标志出本数据缓冲区的标志字 段Nodeindex,这两种表的关系只在系统运行时通过上面的三个字段和缓冲区 在系统中的句柄来对应起来。\n协议的数据更改通知主要是指协议数据成功修改后需要通知其他的应用; 由于在协议数据中增加一个节点,其存储的二维表中可能会增加或删除多条记 录,因此不能以传统的二维表记录的增加和删除触发数据的通知,而以一个完 整的事务应用为单位进行数据的更改通知,该事务定义就是一次协议数据的修 改,事务完成后再进行相关数据的更改通知。\n协议数据的观察可以采用两种方式:(1)类似于二维表的记录显示方式, 该方式对具体的协议数据含义观察不直观,但对于数据库专业人员可以直观的 查看协议数据内模式的存储结构,便于表容量的调整,以及一些索引的组织。 (2)采用树型的结构显示协议数据,将存储在内模式中的数据转化成数据的 逻辑模式显示给应用用户查看。
法律信息
- 2016-01-06
未缴年费专利权终止
IPC(主分类): G06F 17/30
专利号: ZL 200310113660.2
申请日: 2003.11.17
授权公告日: 2007.03.28
- 2007-03-28
- 2005-01-12
- 2004-11-10
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |