著录项信息
专利名称 | 分布式系统中数据查询的方法及板间数据同步的方法 |
申请号 | CN200510090809.9 | 申请日期 | 2005-08-16 |
法律状态 | 权利终止 | 申报国家 | 中国 |
公开/公告日 | 2006-02-08 | 公开/公告号 | CN1731400 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0;;;H;0;4;L;2;9;/;0;0查看分类表>
|
申请人 | 杭州华为三康技术有限公司 | 申请人地址 | 浙江省杭州市滨江区长河路466号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 新华三技术有限公司 | 当前权利人 | 新华三技术有限公司 |
发明人 | 王俊 |
代理机构 | 北京集佳知识产权代理有限公司 | 代理人 | 逯长明 |
摘要
本发明提供一种分布式系统中数据查询的方法,首先建立主控板数据表项与各业务板对应数据表项的索引;搜索主控板的数据表项,获取主控板上搜索到的数据表项的索引,通过主控板与业务板间的板间通讯,将索引发送至相应的业务板,以便接收到索引的业务板根据索引定位业务板中对应的数据表项。另外,本发明还提供一种分布式系统中板间数据同步的方法,首先为主控板的某一数据表项添加索引,并将该索引下发给各具有对应数据表项的业务板;当主控板的数据表项更新后,主控板将更新的数据表项的索引发送至对应业务板,收到索引的业务板根据索引搜索业务板中对应的数据表项,并将业务板中对应的数据表项进行更新。本发明实现简便、占用系统资源少。
1、一种分布式系统中数据查询的方法,其特征在于,包括步骤: 建立主控板的数据表项与各业务板对应的数据表项的索引; 搜索所述主控板的数据表项,获取所述主控板上搜索到的数据表项的索引,通过主控板与业务板间的板间通讯,将该索引发送至各个业务板,以便接收到该索引的业务板根据所述索引定位该业务板中对应的数据表项。
2、 根据权利要求1所述的分布式系统中数据查询的方法,其特征在于: 在所述建立索引的步骤之前,该方法还包括:预先在主控板上建立一个索引 栈。.
3、 根据权利要求2所述的分布式系统中数据查询的方法,其特征在于: 当添加一新数据表项的时候,主控板为所述数据表项分配一个索引;当需要 删除数据时,主控板回收所述数据的索引。
4、 根据权利要求1至3任一项所述的分布式系统中数据查询的方法,其 特征在于:所述索引为指针或数组下标。
5、 一种分布式系统中板间数据同步的方法,其特征在于,包括步骤:1) 为主控板的某一数据表项添加索引,并将该索引下发给各个业务板;2) 当所述主控板的数据表项更新后,主控板将所更新的数据表项的索引 发送至各个业务板,收到该索引的业务板根据所述索引,搜索该业务板中对 应的数据表项,并将所述业务板中对应的数据表项进行更新。
6、 根据权利要求5所述的分布式系统中板间数据同步的方法,其特征在 于:所述索引为指针或数组下标。
7、 根据权利要求5所述的分布式系统中板间数据同步的方法,其特征在 于,步骤l)之后还包括:判断该数据表项的索引是否有效,若有效,则执行 步骤2),否则不执^f于步骤2)。
8、 根据权利要求7所述的分布式系统中板间数据同步的方法,其特征在 于,所述数据表项更新包括:数据添加、数据修改、数据删除。
9、 根据权利要求8所述的分布式系统中板间数据同步的方法,其特征在 于:主控板的数据表项添加数据后,通过板间通讯将该数据表项的索引发送 至业务板;所述业务板根据该索引在对应的数据表项添加数据。
10、 根据权利要求8所述的分布式系统中板间数据同步的方法,其特征 在于:主控板的数据表项修改数据后,通过板间通讯将该数据表项的索引发 送至业务板;根据所述主控板的数据表项的索引定位所述业务板上对应的数 据表项,并修改该业务板数据表项的数据。
11、 根据权利要求8所述的分布式系统中板间数据同步的方法,其特征 在于:主控板的数据表项删除数据后,将该数据表项的索引释放,通过板间 通讯将该数据表项的索引发送至业务板,根据所述主控板的数据表项的索引 定位所述业务板上对应的数据表项,并删除该业务板数据表项的数据。
12、 一种分布式系统中板间数据同步的方法,其特征在于,包括步骤:1) 建立主控板的数据表项与各业务板对应的数据表项的索引;2) 当所述主控板的数据表项添加数据后,通过板间通讯将该数据表项的 索引发送至业务板;3)所述业务板根据该主控板的数据表项的索引搜索业务板中对应的数据 表项,并根据该索引在对应的数据表项添加数据。
分布式系统中数据查询的方法及板间数据同步的方法\n技术领域\n本发明涉及分布式系统,具体涉及分布式系统中数据查询的方法及数据同 步的方法。 背景技术\n目前的路由器、以太网交换机设备等网络通讯设备一般为多CPU的分布系\n统。分布式系统通常是由主控板和多个业务板組成。其中主控板承担设备的集 中控制、管理的功能,把实现不同业务的各个业务板的公共特性进行集中处理, 然后再分发到各个业务板。每个业务板更多的是关心自己业务的处理和实现。 对于公共特性,分布式系统一般釆用同步的机制,由主控板实现公共特性的管 理,如配置、修改和操作。然后将处理的结果同步传输到各个业务板供其使用。 目前分布式系统的主控板、业务板分别保存各自的数据表项。不同单板 上的数据表项内容基本类似,但操作上是独立的。目前业务板与主控板进行\n数据同步的方法是:当某个数据表项需要更新时,先由主控板的高层软件才艮 据协议处理,计算出数据表项的各项信息,然后在主控板进行查找,更新主 控板数据表项后,再通过板间通讯机制,通知各个业务板也执行相应操作, 即各个业务板分别通过数据表项查找对应数据,更新各自的数据表项和硬件 数据表项。\n现有的分布式系统下的主控板、业务板表项搜索过程是不同单板分别查 找自己的数据表项。以路由表项查找为例,主控板、业务板分别保存自己的 路由表,当某个路由表项需要更新时,先由主控板的高层软件根据协议处理, 计算出路由表的各项信息,然后在主控板根据自己的路由搜索结构进行路由 查找,更新主控板路由表后,再通过板间通讯机制,通知各个业务板也执行 相应操作,各个业务板分别通过自己的路由搜索结构进行路由查找,找到对\n4应路由表项,再更新各自的软件路由表项和硬件路由表项。由此看出,由于 目前分布式系统的各个单板的数据表项操作均分别独立进行,因此在主控板、 业务板均需花费一定的时间和资源来执行搜索数据表项的操作,并分别需要 较多的存储空间保存这些搜索结构。对操作系统的软件资源消耗较多,且增 加了操作系统的复杂度,增加操作系统任务调度的工作量和风险。\n发明内容\n本发明要解决的技术问题在于:提供一种分布式系统中数据查询的方法及 板间数据同步的方法,能够加速业务板的数据表项的查找速度,优化系统资源。 为解决上述技术问题,本发明提供一种分布式系统中数据查询的方法,包 括步骤:\n建立主控板的数据表项与各业务板对应的数据表项的索引; 搜索所述主控板的数据表项,获取所述主控板上搜索到的数据表项的索 引,通过主控板与业务板间的板间通讯,将该索引发送至各个业务板,以便 接收到该索引的业务板根据所述索《1定位该业务板中对应的数据表项;\n另外,在所述建立索引的步骤之前,该方法还包括:预先在主控板上建 立一个索引栈。\n当添加一新数据表项的时候,主控板为所述数据表项分配一个索引;当 需要删除数据时,主控板回收所述数据的索引。 其中,所述索引可以为指针或数组下标。\n另外,本发明还提供一种分布式系统中板间数据同步的方法,包括步骤:\n1) 为主控板的某一数据表项添加索引,并将该索引下发给各个业务板;\n2) 当所述主控板的数据表项更新后,主控板将所更新的数据表项的索引 发送至各个业务板,收到该索引的业务板根据所述索引,搜索该业务板中对应的数据表项,并将所述业务板中对应的数据表项进行更新。 同样,所述索引为指针或所述索引为数组下标。\n另外,歩骤l)之后还包括歩骤:判断该数据表项的索引是否有效,若有 效,则执行歩骤2 ),否则不执行歩骤2 )。\n其中,所述数据表项更新包括:数据添加、数据修改、数据删除。\n主控板的数据表项添加数据后,通过板间通讯将该数据表项的索引发送 至业务板;所述业务板根据该索引在对应的数据表项添加数据。\n主控板的数据表项修改数据后,通过板间通讯将该数据表项的索引发送 至业务板;根据所述主控板的数据表项的索引定位所述业务板上对应的数据 表项,并修改该业务板数据表项的数据。\n主控板的数据表项删除数据后,将该数据表项的索引释放,通过板间通 讯将该数据表项的索引发送至业务板,根据所述主控板的数据表项的索引定 位所述业务板上对应的数据表项,并删除该业务板数据表项的数据。\n本发明还提供另 一种分布式系统中板间数据同步的方法,包括步骤:\n1 )建立主控板的数据表项与各业务板对应的数据表项的索引;\n2)当所述主控板的数据表项添加数据后,通过板间通讯将该数据表项的 索引发送至业务板;\n3 )所述业务板根据该主控板的数据表项的索引搜索业务板中对应的数据 表项,并根据该索引在对应的数据表项添加数据。\n与现有技术相比,本发明的有益效果是:本发明通过创建主控板与各业务 板对应表项的索引,仅在主控板进行一次搜索,找到对应数据表项的索引,然 后在业务板可以根据索引直接查找到业务板上的相关数据表项。有实现简便、占用系统资源少的优点。\n进一步,本发明在业务板的数择表项搜索实现指针索引式查找,对分布式 系统来说业务板数据表项变化频繁的情况下,可以大大提高搜索效率,減少搜 索时间。显著地降低业务板的单位数据表项的搜索时间,同时不影响各种功能 特性、协议的正常运行。 附图说明\n图l是本发明所述的添加数据时板间数据同步的流程图; 图2是本发明所述的删除数据时板间数据同步的流程图; 图3是本发明所述的修改数据时板间数据同步的流程图; 图4是本发明所述的分布式系统中数据查询的流程图。 具体实施方式\n随着通讯芯片技术的迅速发展,目前包括路由器、以太网交换机等在内 的数据通讯设备处理速度越来越快,端口密度也越做越大,支持的功能、协 议特性也越来越丰富。在高端路由器、以太网交换机设备中一般是多CPU的 分布式处理架构。\n本发明提供的分布式系统中数据搜索的方法,通过建立主控板的数据表 项与各业务板的数据表项的关联,实现对业务板数据的快速搜索。本发明建 立数据表项关联的方法是通过创建主控板的数据表项与各业务板对应的数据 表项的索引实现的。需要查找业务板上的数据表项时,搜索所述主控板的数 据表项,并根据所述主控板上搜索到的数据表项的索引定位业务板中对应的 数据表项。本发明所述的索引的实现方式可以通过指针也可以通过数组下标。\n主控板和各业务板之间经常要进行各种数据表项的同步,包括数据的添 加、删除、修改操作。与上述分布式系统中数据搜索的方法类似,本发明提 供一种分布式系统中板间数据同步的方法,其核心同样是建立主控板的数据 表项与各业务板数据表项的关联。具体过程为:创建主控板的数据表项与各业务板对应的数据表项的索引;在所迷主控板的数据表项更新后,根据该数 据表项的索引搜索业务板中对应的数据表项,然后将所述业务板中对应的数 据表项进行更新。\n另外,本发明标识主控板的数据表项对应的索引的有效状态,当删除某 个业务板数据表项时将该数据表项的索引状态置为无效状态。在对主控板和 业务板的各数据表项进行操作前还可以首先判断该数据表项的索引是否有 效,若有效,则对主控板和业务板的数据表项进行相应的处理。\n分布式系统中板间数据同步时,通常首先由主控板的高层软件根据协议 对主控板的数据表项进行更新,然后通过板间通讯向业务板发送操作指令, 同时将主控板的数据表项的索引 一并发送至业务板;业务板根据主控板的数 据表项的索引定位到相应的数据表项,执行相应的操作。针对主控板添加、 修改、以及删除的操作的过程分别为:\n主控板的数据表项添加数据后,通过板间通讯将该数据表项的索引以及 操作指令发送至业务板;所迷业务板4艮据该索引在对应的数据表项添加数据。\n主控板的数据表项修改数据后,通过板间通讯向所述业务板下发数据表 项修改指令以及修改的数据表项对应的索引,根据所述主控板的数据表项的 索引定位所述业务板上对应的数据表项,并修改该业务板数据表项的数据。\n主控板的数据表项删除数据后,将该数据表项的索引释放,通过板间通讯 向所述业务板下发数据表项删除指令以及该数据表项的索引,根据所述主控板 的数据表项的索引定位所述业务板上对应的数据表项,并删除该业务板数据表 项的数据。\n为了更好的理解本发明,以下阐述本发明的一个具体实施例: 在本实施例中,主控板的数据表项增添了一个索引字段,用于创建业务板 的与主控板对应的数据的数据表项。在业务板的表项操作中,使用该索引直接 搮作该对应数据表项,以便仅在主控板进行一次搜索,当主控板找到对应数据表项后,在业务板可以根据索引直接查找到业务板上的相关数据表项。该索引 除了利用指针实现以外,还可以使用数组下标等数字索引。\n本发明的实现过程的流程图如图1至图4,包括数据表项的同步过程以及 数据表项查询过程。\n以下^f又以路由表的数据表项为例进行说明。\n首先,由于分布式路由器系统运行的要求,对同一种数据表项,系统的主 控板、业务板运行时需要分别生成独立的数据表项,以分别供主控板和业务板 使用。对于每项数据表项,首先会在主控板添加,此时为主控板添加的数据表 表项分配一个索引(Index),并将该索引统一下发到各个业务板,业务板添加 数据表表项时,直接以这个索引作为表项的下标,来组织业务板上的数据表存 储结构。\n这样,就可以实现分布式系统中的在业务板上的数据表项快速查找。以下 以查找目的IP为DestinationIPl的路由表项为例进4亍i兌明。\n预先在主控板上建立一个索引栈(Stack ),对每个数据表项均能够对应一 个索引。在每次主控板添加一个数据表项时,主控板为该数据表项分配一个索 引,反之,在每次主控板删除一个数据表项时,主控板回收给这个数据表项的 索引。\n每块业务板上均建立一个数据表项列表,按照数组方式组织,而每个数据 表项的数组下标,即对应的数据表项索引,这个索引由主控板分配,并且在业 务板上对数据表项的进行添加、删除、修改、查找时,均首先根据该索引,找 到表项的位置,然后对对应的数据表项进行操作。\n1、数据表项的添加过程如图l所示。\n步骤101:以目的IPDestinationIPl为键值,在主控板上添加路由表项 Entrylj\n步骤102:从主控板的路由表项索引栈中,获取一个空闲的索引Indexl;步骤103:将该索引和需要添加的表项数据通过板间通讯发到业务板; 步骤1(M:业务板上根据表项的Index数值,找到业务板的对应数据表项 的位置,即对应的数组下标;\n步骤105:将该数据表项的内容添加到业务板上对应的位置。 步骤106:表项添加流程结束。\n2、 数据表项的删除过程如图2所示。\n步骤201:以目的IP DestinationIPl为键值,在主控板上找到对应路由 表项;\n步骤202:从找到的路由表项的索引字段获取索引Indexl; 步骤203:判断该索引值的有效性;\n步骤204:如果无效则认为该表项已经被删除,删除过程结束,返回路由 表项删除成功;\n步骤205:如果索引值有效,则主控板删除自己保存该数据表项,并fet 应的表项索引Indexl释放掉(即回收到表项索引栈中,供下一次数据表项添 加时使用);\n步骤206:主控板通过板间通讯,向各个业务板下发数据表项删除的指令, 以该索引Indexl直接作为该数据表项在业务板上的数据表项的下标,找到业 务板数据表项;\n步骤207:各个业务板删除Indexl对应的业务板数据表项; 步骤204:表项删除流程结束。\n3、 数据表项的修改过程如图3所示。\n步骤30卜.以目的IP DestinationIPl为键值,在主控板上找到对应路由 表项;\n步骤302:从找到的路由表项的索引字段获取索引Indexl; 步骤303:判断该索引值的有效性;步骤304:如果无效则认为操作错误,返回数据表项修改不成功; 步骤305:如果索引值有效,则主控板先修改自己保存的该数据表项的内\n容;\n步骤306:主控板通过板间通讯,向各个业务板下发数据表项修改的指令, 以该索引Indexl直接作为该数据表项在业务板上的数据表项的下标,找到业 务板数据表项;\n步骤307:各个业务板修改Indexl对应的业务板数据表项; 步骤308:表项修改流程结束。 4、数据表项的搜索过程如图4。\n步骤401:以目的IP DestinationIPl为键值,在主控板上找到对应路由 表项;\n步骤402:从找到的路由表项的索引字段获取索引Indexl; 步骤403:判断该索引值的有效性;\n步骤404:如果无效则认为操作错误,返回数据表项查找不成功;\n步骤405:如果索引值有效,则主控板通过板间通讯,向各个业务板下发 数据表项查询的指令,以该索引Indexl直接作为该数据表项在业务板上的数 据表项的下标,找到业务板数据表项;\n步骤406:各个业务板找到Indexl对应的业务板数据表项,再通过板间 通讯,向主控板返回查到的数据表项内容;\n步骤407:表项查询流程结束。\n通过以上表项操作过程,可以快速实现分布式系统中在业务板上的快速表 项查找。\n以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通 技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰, 这些改进和润饰也应视为本发明的保护范围。
法律信息
- 2021-07-30
未缴年费专利权终止
IPC(主分类): G06F 17/30
专利号: ZL 200510090809.9
申请日: 2005.08.16
授权公告日: 2008.12.10
- 2017-05-31
专利权人的姓名或者名称、地址的变更
专利权人由杭州华三通信技术有限公司变更为新华三技术有限公司
地址由310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地变更为310052 浙江省杭州市滨江区长河路466号
- 2008-12-10
- 2006-04-05
- 2006-02-08
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2002-06-12
|
2000-04-24
| | |
2
| | 暂无 |
1997-10-15
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |