表项管理方法和系统与流程

文档序号:12828909阅读:235来源:国知局
表项管理方法和系统与流程

本发明涉及通信技术领域,具体而言,涉及表项管理方法和系统。



背景技术:

在网络部署过程中,考虑到网络的高可靠性,通常在关键位置部署网络设备时,会以主备方式部署,当主设备异常的时候,备设备升级为主设备,保证网络通信的正常。高可靠性组网环境下的表项管理包括多个原始设备在不同分配状态下的表项分配过程,主要过程包括:分配初期,主备设备的表项是同步的,表项完全相同。主备发生分裂,形成了两个主,再次各自分配表项时,表项索引可能重复。分裂后的两个主再次合并,形成一主一备的环境。如果系统在整个表项管理过程中,由于业务需要,状态2中两个独立的主设备上分配的表项需要合并,因为如果不合并,随意选取一个,会导致另一个设备上的表项丢失,业务功能出问题,但是,由于两个主设备分配表项时,采取的原则相同,所以,表项索引可能重复,导致表项索引冲突导致无法合并的问题。



技术实现要素:

本发明提供表项管理方法和系统,旨在改善上述问题。

第一方面,本发明实施例提供的一种表项管理方法,应用于包括主设备和备设备的高可用性ha系统。所述方法包括:在所述主设备和所述备设备协商完成后,所述主设备给所述备设备分配表项前缀,并将创建的多个第一表项同步给所述备设备。所述备设备在本地保存所述表项前缀和所述主设备同步的第一表项,并将本地保存的所述表项前缀增加到所述第一表项的索引中。在主备发生分裂后,升级为主设备的所述备设备创建第二表项,并将本地保存的所述表项前缀增加到所述第二表项的索引中。在故障恢复后,所述主设备获取所述备设备内的全部所述第一表项和所述第二表项,将所述第一表项和所述第二表项合并为第三表项,将所述第三表项同步给所述备设备。

第二方面,本发明实施例提供的一种表项管理系统,应用于高可用性ha系统,包括主设备和备设备的。所述主设备用于在所述主设备和所述备设备协商完成后,给所述备设备分配表项前缀,并将创建的多个第一表项同步给所述备设备。所述备设备用于在本地保存所述表项前缀和所述主设备同步的第一表项,并将本地保存的所述表项前缀增加到所述第一表项的索引中。所述备设备还用于在主备发生分裂后,升级为主设备,创建第二表项,并将本地保存的所述表项前缀增加到所述第二表项的索引中。所述主设备用于在故障恢复后,获取所述备设备内的全部所述第一表项和所述第二表项,将所述第一表项和所述第二表项合并为第三表项,将所述第三表项同步给所述备设备。

第三方面,本发明实施例提供的一种表项管理方法,应用于包括多个原始设备的高可用性ha系统。所述方法包括:根据预设的主备约定规则,从多个所述原始设备中选择一个所述原始设备作为主设备,将除所述主设备外的其他原始设备作为备设备。在所述主设备和所述备设备协商完成后,所述主设备给所述备设备分配表项前缀,并将创建的多个第一表项同步给所述备设备。所述备设备在本地保存所述表项前缀和所述第一表项,并将本地保存的所述表项前缀增加到所述第一表项的索引中。在主备发生分裂后,所述备设备升级为主设备,创建第二表项,并将本地保存的所述表项前缀增加到所述第二表项的索引中。在故障恢复后,从多个所述原始设备中选择一个所述原始设备作为当前状态的主设备,将除所述当前状态的主设备外的其他原始设备作为当前状态的备设备。所述当前状态的主设备获取全部所述当前状态的备设备内的全部所述第一表项和所述第二表项,将所述第一表项和所述第二表项合并为第三表项,将所述第三表项同步给所述备设备。

第四方面,本发明实施例提供的一种表项管理系统,应用于高可用性ha系统,包括多个原始设备。根据预设的主备约定规则,从多个所述原始设备中选择一个所述原始设备作为主设备,将除所述主设备外的其他原始设备作为备设备。所述主设备用于在所述主设备和所述备设备协商完成后,给所述备设备分配表项前缀,并将创建的多个第一表项同步给所述备设备。所述备设备用于在本地保存所述表项前缀和所述第一表项,并将本地保存的所述表项前缀增加到所述第一表项的索引中。所述备设备还用于在主备发生分裂后,升级为主设备,创建第二表项,并将本地保存的所述表项前缀增加到所述第二表项的索引中;以及,在故障恢复后,从多个所述原始设备中选择一个所述原始设备作为当前状态的主设备,将除所述当前状态的主设备外的其他原始设备作为当前状态的备设备。所述当前状态的主设备用于获取全部所述当前状态的备设备内的全部所述第一表项和所述第二表项,将所述第一表项和所述第二表项合并为第三表项,将所述第三表项同步给所述当前状态的备设备。

本发明实施例提供的表项管理方法、装置和系统,在ha组网环境下表项管理的初始状态时,主设备创建多个第一表项及表项前缀,将每个所述第一表项及表项前缀仅分配给一个原始设备,避免了表项重复分配时所造成的后续状态合并表项冲突的技术问题。在所述初始状态后,每个所述原始设备内均在本地保存有在先分配的第一表项及所对应的表项前缀,以便在后续过程合并,解决了表项合并时的表项遗漏问题。初始状态时主设备创建表项的对应分配、第一表项的表项前缀的本地保存,以及将所获取的全部表项进行合并,保证了表项合并后的完整性和排他性,进而保证了网络部署时主备设备的表项管理的稳定性和准确性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1是本发明实施例提供的主设备和备设备的交互图;

图2是本发明第一实施例提供的表项管理方法的步骤流程图;

图3是本发明第三实施例提供的表项管理方法的步骤流程图。

具体实施方式

鉴于此,本发明的设计者通过探索和尝试,不断的改革创新,得出本方案所示的表项管理方法和系统。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,是本发明实施例提供的表项管理方法所应用表项管理系统的交互示意图,所述表项管理系统可以包括服务器200与原始设备100进行交互的示意图。所述服务器200通过网络与多个原始设备100进行通信连接,以进行表项分配。所述原始设备100中包括执行主导身份的主设备101和执行备份身份的备设备102。所述服务器200可以是网络服务器、数据服务器等。多个原始设备中,根据预设的规则,选出一个(或者多个)原始设备作为主设备,其他原始设备作为备设备,主设备可以进行表项创建,将创建的表项分配给备设备使用,主备设备配合完成所述主备设备的表项管理。不同的网络分配状态下,原始设备的主备身份可以固定不变,也可以跟随网络状态的不同进行设置不同。

请参见图2,为本发明第一实施例提供的表项管理方法的步骤流程图,应用于组网环境下的表项管理,尤其是高可用性(highavailable,简称ha)组网环境下的表项管理操作。所述组网环境下的表项管理主要包括上述的多个原始设备在不同网络分配状态下的表项分配过程。下面将结合图2所示的步骤,对本实施例的三个状态下的表项管理过程进行具体解释。

步骤s201,在所述主设备和所述备设备协商完成后,所述主设备给所述备设备分配表项前缀,并将创建的多个第一表项同步给所述备设备。

在需要进行表项管理时,主备设备协商,进行初始状态下的表项创建和分配操作。在一个表项管理系统中,可以从多个原始设备中选出主导身份的主设备和备份设备的备设备,进行主备设备的表项管理操作。所述原始设备的主备身份可以为预先设定,并且设定主设备的主导身份在表项分配的各个状态下保持不变。

确定每个所述原始设备的主备身份后,主备设备协商表项分配的数量和相关交互方式,所述主设备进行表项的创建,设定此时创建的表项为第一表项。为了避免后续表项合并过程中的表项冲突的技术问题,引入表项前缀以指示在先创建的表项。所述主设备创建第一表项,获取所述第一表项的表项索引,并根据每个所述表项的表项索引,和预设的前缀获取规则,获取每个所述第一表项的表项前缀。所述主设备根据预先的协商内容,将所述表项前缀分配给其他备设备,并将所述第一表项同步给其他备设备。所述主设备在将多个表项前缀对应分配给不同的备设备时,给主设备本身也分配部分表项前缀。

所述表项前缀一般为根据其对应的第一表项的表项索引获取,所述表项前缀也可以为对应所述表项索引的表项后缀等,其他能对应所述表项的表示方式均可使用。获取所述表项前缀的方式可以包括:获取所述第一表项的表项索引,判断所述第一表项的表项索引的字符类型。所述表项索引的字符类型可以包括字符串或者整型数。根据所述第一表项的表项索引的字符类型,及预设的前缀获取规则,生成每个所述第一表项的表项索引的字符类型的表项前缀。例如,所述第一表项的表项索引为字符串,则该第一表项的表项前缀可以为字符串前缀。所述第一表项的表项索引为整型数,则该第一表项的表项前缀可以为该表项索引的整型数中的高几位前缀。其他类型的表项前缀的获取过程均可适用于本实施例,不做限定。

所述主设备创建多个第一表项及表项前缀后,进行第一表项及其表项前缀的分配操作。所述主设备将其所创建的第一表项及其表项前缀分成多份表项数据包,每份表项数据包均包括一定数量的第一表项对其表项前缀,每个所述第一表项及其表项前缀仅属于一份表项数据包。将每个表项数据包分配给一个备设备,所述主设备同时也给所述主设备本身分配一个表项数据包。每个所述第一表项及其表项前缀仅属于一个主设备或者一个备设备,不存在将同一个第一表项及其表项前缀同时分配给两个或者两个以上原始设备的情况。

在其他实施方式中,所述主设备创建第一表项及其表项前缀时,根据主设备和备设备的数量及每个设备的表项需求量,设置创建第一表项及其表项前缀的数量。例如,网络系统中共包含四个原始设备,则需要设置四个原始设备所需要的表项创建和管理。每个原始设备需要100个表项,则从四个原始设备中选择一个原始设备作为主设备,其余三个原始设备作为备设备。控制主设备创建一个主设备和三个备设备所需要的表项,共计4*100=400个表项。所述主设备创建400个表项,获取对应每个表项的表项前缀,并将所创建的全部表项平均分配到四份表项数据包,则每份表项数据包各包含100个表项及其表项前缀。所述主设备给每个所述备设备分配一份表项数据包中第一表项及其表项前缀,并且给所述主设备本身分配一份表项数据包中第一表项及其表项前缀。

步骤s202,所述备设备在本地保存所述表项前缀和所述主设备同步的第一表项,并将本地保存的所述表项前缀增加到所述第一表项的索引中。

所述备设备获取所述主设备同步的第一表项和表项前缀后,将所述表项前缀和所述第一表项在本地保存。所述备设备将保存在本地的所述表项前缀增加到所述第一表项的索引。

步骤s203,在主备发生分裂后,升级为主设备的所述备设备创建第二表项,并将本地保存的所述表项前缀增加到所述第二表项的索引中。

完成上述步骤的第一表项的分配操作后,主备设备分裂,备设备升级为主设备。当前状态下,原始设备均为主设备,原始主导身份的主设备和升级后的主设备均创建表项,设为第二表项。创建第二表项后,将在先保存在本地的表项前缀增加到新创建的第二表项的索引中。

步骤s204,在故障恢复后,所述主设备获取所述备设备内的全部所述第一表项和所述第二表项,将所述第一表项和所述第二表项合并为第三表项,将所述第三表项同步给所述备设备。

故障恢复后,主设备执行在先创建表项的合并操作。主设备将前述创建的全部表项进行合并。初始状态下,主设备内或者备设备内分配了第一表项及表项前缀,第一表项在第一状态后进行相应的网络部署应用中,因此每个第一主设备或者第一备设备内均存储的对应其所获取的第一表项的表项前缀。主备设备分裂后,所述第二备设备均切换为主设备,每个所述主设备均创建各自的第二表项,并将在先保存在本地。在进行合并操作时,所述主设备需要合并第一表项和所述第二表项,将所述合并后的表项作为所述第三表项。所述主设备将合并后的所述第三表项分配给所述备设备。

所述主备设备之间设置有数据通信的接口,根据具体数据通信需求设置相应的通信接口。在所述主设备和所述备设备之间设置备份通道,所述备份通道可以主备设备接口之间的电路或者指定的逻辑通道,并且在逻辑通道中配置备份所需的工作参数。所述备份通道的设置方式可以有多种,具体不做限定。

将所接收的所述第三表项与其内部已经预先存储的表项中的相同表项进行融合后存储,以使所述备设备内的表项不存在重复表项,且所述主设备和所述备设备内的表项内容完全相同。

所述主设备完成第三表项的合并后,将所述第三表项分配给备设备,以使所述备设备内也包含表项分配管理过程中所创建的全部表项数据,以使所述主设备和所述备设备都具有相同的表项数据,且融合了前两个过程创建的所有表项或者相应表项的表项前缀。由于初始状态时,主设备将创建的每一个第一表项均分配给一个主设备或者一个备设备,因此所述主设备内不存在重复的表项或者表项前缀,且没有遗漏任何一个设备创建的表项。

上述本发明实施例提供的表项管理方法,在ha组网环境下表项管理的初始状态时,主设备创建多个第一表项及表项前缀,将每个所述第一表项及表项前缀仅分配给一个原始设备,避免了表项重复分配时所造成的后续状态合并表项冲突的技术问题。在所述初始状态后,每个所述原始设备内均在本地保存有在先分配的第一表项及所对应的表项前缀,以便在后续过程合并,解决了表项合并时的表项遗漏问题。初始状态时主设备创建表项的对应分配、第一表项的表项前缀的本地保存,以及将所获取的全部表项进行合并,保证了表项合并后的完整性和排他性,进而保证了网络部署时主备设备的表项管理的稳定性和准确性。

请继续参见图1,为本发明第二实施例提供的表项管理系统的交互示意图,所述表项管理系统应用于高可用性ha系统的表项管理,包括主设备101和备设备102。

所述主设备101用于在所述主设备和所述备设备协商完成后,给所述备设备分配表项前缀,并将创建的多个第一表项同步给所述备设备;

所述备设备102用于在本地保存所述表项前缀和所述主设备同步的第一表项,并将本地保存的所述表项前缀增加到所述第一表项的索引中;

所述备设备102还用于在主备发生分裂后,升级为主设备,创建第二表项,并将本地保存的所述表项前缀增加到所述第二表项的索引中;

所述主设备101用于在故障恢复后,获取所述备设备内的全部所述第一表项和所述第二表项,将所述第一表项和所述第二表项合并为第三表项,将所述第三表项同步给所述备设备。

在上述实施例的基础上,所述主设备101还用于:

创建多个第一表项;

根据每个所述第一表项的表项索引,生成每个所述第一表项的表项前缀;

将所述表项前缀分配给所述备设备,并将所述第一表项分配给所述备设备。

在上述实施例的基础上,所述主设备101具体用于:

获取所述第一表项的表项索引的字符类型,其中,所述字符类型包括字符串或者整型数;

根据所述第一表项的表项索引的字符类型,及预设的前缀获取规则,生成每个所述第一表项的表项索引的字符类型的表项前缀,其中,所述表项前缀为对应字符串类型表项索引的字符串前缀,或者对应所述整型数类型表项索引的整型数高位前缀。

在上述实施例的基础上,所述备设备102还用于:

接收所述主设备通过备份通道发送的所述第三表项;

所述备设备将所接收的所述第三表项与其内部存储的相同表项进行融合存储。

上述本发明实施例提供的表项管理系统,应用于包括主设备和备设备的高可用性ha系统的表项管理。初始状态时,主设备创建多个第一表项及表项前缀,将每个所述第一表项及表项前缀仅分配给一个原始设备,避免了表项重复分配时所造成的后续状态合并表项冲突的技术问题。在所述初始状态后,每个所述原始设备内均在本地保存有在先分配的第一表项及所对应的表项前缀,以便在后续过程合并,解决了表项合并时的表项遗漏问题。初始状态时主设备创建表项的对应分配、第一表项的表项前缀的本地保存,以及将所获取的全部表项进行合并,保证了表项合并后的完整性和排他性,进而保证了网络部署时主备设备的表项管理的稳定性和准确性。本发明实施例提供的表项管理系统的具体实施过程请参见上述实施例的表项管理方法的具体实施过程,在此不再一一赘述。

请参见图3,为本发明第三实施例提供的表项管理方法的步骤流程图,应用于包括多个原始设备的高可用性ha系统。本发明实施例提供的表项管理方法,相对于上述实施例的主要区别是,不同管理过程中的原始设备的主备身份不固定,可以根据预设的规则选择作为所述原始设备的主导身份或者备份身份。下面将结合图3,对本发明实施例提供的表项管理方法的实施过程进行详细解释。

步骤s301,根据预设的主备约定规则,从多个所述原始设备中选择一个所述原始设备作为主设备,将除所述主设备外的其他原始设备作为备设备。

系统的多个原始设备中,不同分配状态下,需要选取执行主导功能的主设备,以及备份功能的备设备。可以预设主设备选取规则,例如运行于tcp之上的私定协议,定义一些字段类型,通告主备消息即可,所述主备消息可以为每个备设备所使用的前缀信息等。

在进行表项管理的初始状态下,根据预设的主备约定规则,选取当前状态下的主设备,将除所述主设备外的其他原始设备作为当前状态的备设备。

步骤s302,在所述主设备和所述备设备协商完成后,所述主设备给所述备设备分配表项前缀,并将创建的多个第一表项同步给所述备设备。

依据上述步骤完成所述原始设备的主备身份选取后,由选定后的主设备和所述备设备协商表项创建和分配情况。协商完成后,所述主设备给所述备设备分配表项前缀,并将创建的多个第一表项同步给所述备设备。所述主设备创建并分配第一表项及表项前缀的具体实施过程请参见上述实施例,在此不再赘述。

步骤s303,所述备设备在本地保存所述表项前缀和所述第一表项,并将本地保存的所述表项前缀增加到所述第一表项的索引中。

所述备设备接收所述主设备同步的第一表项和表项前缀,并将所述第一表项和所述表项前缀保存在本地,将所述表项前缀增加到所述第一表项的索引中。所述备设备保存所述第一表项和表项前缀的具体实施过程请参见上述实施例,不再赘述。

步骤s304,在主备发生分裂后,所述备设备升级为主设备,创建第二表项,并将本地保存的所述表项前缀增加到所述第二表项的索引中。

主备发生分裂,备设备升级为主设备,此时全部所述原始设备均转换为主导身份的原始设备。所述主设备创建第二表项,并将所述本地保存的表项前缀增加到所创建的第二表项的索引中。所述第二表项的创建的具体实施过程请参见上述实施例,不再赘述。

步骤s305,在故障恢复后,从多个所述原始设备中选择一个所述原始设备作为当前状态的主设备,将除所述当前状态的主设备外的其他原始设备作为当前状态的备设备。

故障恢复后,需要从多个原始设备,或者多个前述状态下的主设备中,选取一个目标设备作为当前状态下的主设备,将其他设备作为当前状态下的备设备。从多个原始设备中选取当前状态下的主设备的规则可参见初始状态下主设备的选取规则,不再赘述。

步骤s306,所述当前状态的主设备获取全部所述当前状态的备设备内的全部所述第一表项和所述第二表项,将所述第一表项和所述第二表项合并为第三表项,将所述第三表项同步给所述备设备。

当前状态下的主设备获取全部所述当前状态下内的备设备内的全部表项数据,并将所获取的全部表项数据与其本身设备内存储的第一表项和所述第二表项合并,作为第三表项,并将合并后的第三表项同步给所述备设备。所述第三表项的合并和同步分配的具体实施过程请参见上述实施例,不再赘述。

上述本发明实施例提供的表项管理方法,在ha组网环境下表项管理的初始状态时,主设备创建多个第一表项及表项前缀,将每个所述第一表项及表项前缀仅分配给一个原始设备,避免了表项重复分配时所造成的后续状态合并表项冲突的技术问题。在所述初始状态后,每个所述原始设备内均在本地保存有在先分配的第一表项及所对应的表项前缀,以便在后续过程合并,解决了表项合并时的表项遗漏问题。初始状态时主设备创建表项的对应分配、第一表项的表项前缀的本地保存,以及将所获取的全部表项进行合并,保证了表项合并后的完整性和排他性,进而保证了网络部署时主备设备的表项管理的稳定性和准确性。在不同表项分配过程,根据预设规则选择作为主导身份的主设备,也避免了表项分配过程中主设备可能发生故障不能继续表项分配操作的技术问题,降低了故障率。本发明实施例提供的表项管理方法的具体实施过程请参见上述实施例,在此不再赘述。

请继续参见图1,为本发明第四实施例提供的表项管理系统的交互示意图,应用于高可用性ha系统。本发明实施例提供的表项管理方法,相对于上述实施例的主要区别是,不同管理过程中的原始设备的主备身份不固定,可以根据预设的规则选择作为所述原始设备的主导身份或者备份身份。

在初始状态,根据预设的主备约定规则,从多个所述原始设备中选择一个所述原始设备作为主设备,将除所述主设备外的其他原始设备作为备设备。

所述主设备用于在所述主设备和所述备设备协商完成后,给所述备设备分配表项前缀,并将创建的多个第一表项同步给所述备设备;

所述备设备用于在本地保存所述表项前缀和所述第一表项,并将本地保存的所述表项前缀增加到所述第一表项的索引中;

所述备设备还用于在主备发生分裂后,升级为主设备,创建第二表项,并将本地保存的所述表项前缀增加到所述第二表项的索引中;以及,

在故障恢复后,从多个所述原始设备中选择一个所述原始设备作为当前状态的主设备,将除所述当前状态的主设备外的其他原始设备作为当前状态的备设备;

所述当前状态的主设备用于获取全部所述当前状态的备设备内的全部所述第一表项和所述第二表项,将所述第一表项和所述第二表项合并为第三表项,将所述第三表项同步给所述当前状态的备设备。

本发明实施例提供的表项管理系统,在ha组网环境下表项管理的初始状态时,主设备创建多个第一表项及表项前缀,将每个所述第一表项及表项前缀仅分配给一个原始设备,避免了表项重复分配时所造成的后续状态合并表项冲突的技术问题。在所述初始状态后,每个所述原始设备内均在本地保存有在先分配的第一表项及所对应的表项前缀,以便在后续过程合并,解决了表项合并时的表项遗漏问题。初始状态时主设备创建表项的对应分配、第一表项的表项前缀的本地保存,以及将所获取的全部表项进行合并,保证了表项合并后的完整性和排他性,进而保证了网络部署时主备设备的表项管理的稳定性和准确性。本发明实施例提供的表项管理系统的具体实施过程请参见上述方法实施例,在此不再一一赘述。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1