地址迁移方法、通信设备及双活系统与流程

专利检索2022-05-10  5



1.本技术涉及数据通信领域,具体而言,涉及一种地址迁移方法、通信设备及双活系统。


背景技术:

2.在数据通信领域,通信设备是数据转发的基础和桥梁,通信设备通过mac(media access control,媒体接入控制)地址来转发数据。通信设备中的mac地址表记录了交换机学习到的其他设备的mac地址与接口的对应关系,以及接口所属vlan(virtual local area network,虚拟局域网)等信息。通信设备在转发报文时,根据报文的目的mac地址查询mac地址表,如果mac地址表中包含与报文目的mac地址对应的表项,则直接通过该表项中的出接口转发该报文;如果mac地址表中没有包含报文目的mac地址对应的表项时,通信设备将采取广播方式在所属vlan内除去接收接口外的所有接口转发该报文。mac地址迁移是指通信设备上一个vlan内有两个端口学习到同一个mac地址,后学习到的mac地址表项覆盖原mac地址表项的现象。
3.目前,在地址迁移过程中,通常需要部署时间服务器,通过依赖第三方的时间协议,以对通信设备中各板卡的时间进行同步,该方式会增加网络维护的复杂性和维护成本。


技术实现要素:

4.本技术实施例的目的在于提供一种地址迁移方法、通信设备及双活系统,可以在地址迁移过程中无需部署时间服务器,有利于简化系统的架构,降低维护成本。
5.为了实现上述目的,本技术的实施例通过如下方式实现:
6.第一方面,本技术实施例提供一种种地址迁移方法,应用于双活系统,所述双活系统包括主通信设备及备份通信设备,所述方法包括:以预设周期确定所述主通信设备中的m个业务卡,以及与所述备份通信设备中的第二主控卡、n个业务卡各自运行时长与所述主通信设备中的第一主控卡运行时长之间的校正时间,其中,m、n均为大于0的整数;当所述m个业务卡和所述n个业务卡中的任一业务卡中的任一端口学习到mac地址时,由所述任一业务卡自身根据自身所对应的校正时间确定在学习到所述mac地址时的同步时间戳;所述任一业务卡基于学习到所述mac地址的端口,通过根据预设迁移仲裁规则判断所述mac地址是否满足迁移条件;在满足所述迁移条件时,目标业务卡根据所述同步时间戳对所述mac地址进行迁移,所述目标业务卡为所述m个业务卡和所述n个业务卡中满足所述mac地址的所述迁移条件的业务卡。
7.在上述的实施方式中,将第一主控卡的运行时长作为板卡之间时间同步的依据,如此,无需再部署时间服务器,便可以实现第一主控卡、第二主控卡、m个业务卡和n个业务卡之间的时间同步处理,简化系统框架,降低维护成本。在进行地址迁移时,双活系统可以对各业务卡学习到mac地址时的时间戳进行同步,从而可以准确有效地进行mac地址迁移,避免因板卡之间的时间不同步而无法进行mac地址的准确迁移。
8.结合第一方面,在一些可选的实施方式中,以预设周期确定所述主通信设备中的m个业务卡,以及与所述备份通信设备中的第二主控卡、n个业务卡各自运行时长与所述主通信设备中的第一主控卡运行时长之间的校正时间,包括:
9.由所述主通信设备中的所述第一主控卡,根据预设周期将所述第一主控卡的运行时长,发送至所述m个业务卡、所述第二主控卡;
10.所述m个业务卡中的每个业务卡,根据自身的运行时长、每个所述预设周期所接收的所述第一主控卡的运行时长,确定自身的第一校正时间;
11.所述n个业务卡中的每个业务卡,根据自身的运行时长、所述第二主控卡自身的运行时长,确定自身的第二校正时间;
12.所述第二主控卡根据自身的运行时长、每个所述预设周期所接收的所述第一主控卡的运行时长,确定双活系统校正时间;所述校正时间包括所述第一校正时间、所述第二校正时间及所述双活系统校正时间。
13.在上述的实施方式中,第一校正时间作为主通信设备内业务卡的校正时间,第二校正时间作为备通信设备内业务板卡的校正时间,双活系统校正时间作为主通信设备和备通信设备之间的校正时间,如此,有利于在不依赖时间服务器的情况下,利用第一校正时间、第二校正时间及双活系统校正时间进行时间戳的同步处理。
14.结合第一方面,在一些可选的实施方式中,当所述m个业务卡和所述n个业务卡中的任一业务卡中的任一端口学习到mac地址时,由所述任一业务卡自身根据自身所对应的校正时间确定在学习到所述mac地址时的同步时间戳,包括:
15.当所述m个业务卡中的任一业务卡中的任一端口在学习到mac地址时,由所述任一业务卡根据自身在学习到所述mac地址时的当前启动时长及对应的第一校正时间,确定在最新时间学习到的所述mac地址时的所述同步时间戳;
16.当所述n个业务卡中的任一业务卡中的任一端口在学习到mac地址时,由所述任一业务卡根据自身在学习到所述mac地址时的当前启动时长及对应的第二校正时间、所述双活系统校正时间,确定在最新时间学习到的所述mac地址时的所述同步时间戳。
17.在上述的实施方式中,计算得到的同步时间戳为经过同步处理后的时间戳,均是以第一主控卡的运行时长为基准,如此,方便利用同步时间戳分析比对学习到mac地址时的实际先后顺序。
18.结合第一方面,在一些可选的实施方式中,所述任一业务卡基于学习到所述mac地址的端口,通过根据预设迁移仲裁规则判断所述mac地址是否满足迁移条件,包括:
19.当在所述主通信设备或所述备份通信设备中,存在不同端口学习记录到的所述mac地址时,所述任一业务卡确定所述mac地址满足所述迁移条件。
20.结合第一方面,在一些可选的实施方式中,在满足所述迁移条件时,通过目标业务卡对所述述mac地址进行迁移,包括:
21.在满足所述迁移条件时,所述目标业务卡将所述mac地址迁移至所述目标业务卡中的学习到所述mac地址且所述同步时间戳最大的端口;
22.或者,在满足所述迁移条件,且学习到所述mac地址的端口的同步时间戳相同时,所述目标业务卡将所述mac地址迁移至所述目标业务卡中的端口标识最小且学习到所述mac地址的端口;
23.或者,在满足所述迁移条件,且学习到所述mac地址的端口的端口标识相同,且分别位于所述主通信设备及所述备份通信设备中,且同步时间戳相同时,由目标业务卡将所述mac地址迁移至所述目标业务卡中的学习到所述mac地址的端口,所述目标业务卡为所述主通信设备中的满足所述迁移条件的业务卡。
24.第二方面,本技术实施例还提供另一种地址迁移方法,应用于通信设备,所述方法包括:
25.以预设周期确定所述通信设备中的m个业务卡各自运行时长与所述通信设备中的第一主控卡运行时长之间的校正时间,其中,m为大于0的整数;
26.当所述m个业务卡中的任一业务卡中的任一端口学习到mac地址时,由所述任一业务卡自身根据自身所对应的校正时间确定在学习到所述mac地址时的同步时间戳;
27.所述任一业务卡基于学习到所述mac地址的端口,通过根据预设迁移仲裁规则判断所述mac地址是否满足迁移条件;
28.在满足所述迁移条件时,目标业务卡根据所述同步时间戳对所述mac地址进行迁移,所述目标业务卡为所述m个业务卡中满足所述mac地址的所述迁移条件的业务卡。
29.结合第二方面,在一些可选的实施方式中,以预设周期确定所述通信设备中的m个业务卡各自运行时长与所述通信设备中的第一主控卡运行时长之间的校正时间,包括:
30.所述主通信设备中的所述第一主控卡,根据预设周期将所述第一主控卡的运行时长,发送至所述m个业务卡;
31.所述m个业务卡中的每个业务卡,根据自身的运行时长、每个所述预设周期所接收的所述第一主控卡的运行时长,确定自身的第一校正时间。
32.结合第二方面,在一些可选的实施方式中,当所述m个业务卡中的任一业务卡中的任一端口学习到mac地址时,由所述任一业务卡自身根据自身所对应的校正时间确定在学习到所述mac地址时的同步时间戳,包括:
33.当所述m个业务卡中的任一业务卡中的任一端口在学习到mac地址时,由所述任一业务卡根据自身在学习到所述mac地址时的当前启动时长及对应的第一校正时间,确定在最新时间学习到的所述mac地址时的所述同步时间戳。
34.结合第二方面,在一些可选的实施方式中,所述任一业务卡基于学习到所述mac地址的端口,通过根据预设迁移仲裁规则判断所述mac地址是否满足迁移条件,包括:
35.当在所述m个业务卡中,存在不同端口学习记录到所述mac地址时,所述任一业务卡确定所述mac地址满足所述迁移条件。
36.结合第二方面,在一些可选的实施方式中,在满足所述迁移条件时,通过目标业务卡对所述述mac地址进行迁移,包括:
37.在满足所述迁移条件时,所述目标业务卡将所述mac地址迁移至所述目标业务卡中的学习到所述mac地址且所述同步时间戳最大的端口;
38.或者,在满足所述迁移条件,且学习到所述mac地址的端口的同步时间戳相同时,所述目标业务卡将所述mac地址迁移至所述目标业务卡中的端口标识最小且学习到所述mac地址的端口。
39.第三方面,本技术实施例还提供一种通信设备,所述通信设备包括主控卡、备份主控卡及m个业务卡,其中,m为大于0的整数,所述主控卡、所述备份主控卡及所述m个业务卡
内存储有计算机程序,当所述计算机程序被执行时,使得所述通信设备能够执行上述的方法。
40.第四方面,本技术实施例还提供一种双活系统,所述双活系统包括主通信设备及备份通信设备;
41.所述主通信设备中的第一主控卡,用于以预设周期确定所述主通信设备中的m个业务卡,以及与所述备份通信设备中的第二主控卡、n个业务卡各自运行时长与所述主通信设备中的第一主控卡运行时长之间的校正时间,其中,m、n均为大于0的整数;
42.当所述m个业务卡和所述n个业务卡中的任一业务卡中的任一端口学习到mac地址时,所述任一业务卡还用于根据自身所对应的校正时间确定在学习到所述mac地址时的同步时间戳;
43.所述任一业务卡还用于基于学习到所述mac地址的端口及所述同步时间戳,通过根据预设迁移仲裁规则判断所述mac地址是否满足迁移条件;
44.在满足所述迁移条件时,目标业务卡用于对所述mac地址进行迁移,所述目标业务卡为所述m个业务卡和所述n个业务卡中满足所述mac地址的所述迁移条件的业务卡。
附图说明
45.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
46.图1为本技术实施例提供的通信设备的结构示意图。
47.图2为本技术实施例提供的双活系统的结构示意图。
48.图3为本技术实施例提供的地址迁移方法的流程示意图之一。
49.图4为本技术实施例提供的地址迁移方法的流程示意图之二。
50.图标:10

通信设备;11

主控卡;12

备份主控卡;20

双活系统;30

主通信设备;31

第一主控卡;32

第一备份主控卡;40

备份通信设备;41

第二主控卡;42

第二备份主控卡。
具体实施方式
51.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。需要说明的是,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
52.第一实施例
53.请参照图1,本技术实施例提供一种通信设备10,可以在无需部署时间服务器的情况下,实现mac地址的迁移。通信设备10可以为交换机,或者为具有交换机功能的其他设备。图1所示的通信设备10可以作为如图2所述双活系统20中的组成设备。
54.通信设备10可以包括主控卡11、备份主控卡12及m个业务卡。其中,m为大于0的整数,主控卡11、备份主控卡12及m个业务卡内存储有计算机程序,当计算机程序被执行时,使得通信设备10能够执行第一实施例中地址迁移方法中的各步骤。
55.在通信设备10中,主控卡11与备份主控卡12的身份与功能均可以相互替换。通常而言,当通信设备10运行时,主控卡11处于运行状态;备份主控卡12可以处于待机状态,无需执行业务。
56.在主控卡11运行期间,主控卡11可以向备份主控卡12同步控制数据,以便于在备份主控卡12需要替换主控卡11时,备份主控卡12可以接管主控卡11的所有业务。控制数据可以根据实际情况进行灵活确定,例如,控制数据包括但不限于主控卡11自身的启动时长。
57.业务卡可以用于mac地址的学习与数据转发。
58.主控卡11与备份主控卡12均可以用于对m个业务卡进行管理控制,例如,主控卡11可以对m个业务卡之间的时间进行同步。
59.请参照图2,本技术还提供一种双活系统20,可以用于执行或实现第二实施例所描述的地址迁移方法中的各步骤。可理解地,在双活系统20中,可以包括两个通信设备,其中一个通信设备作为主通信设备30,另一个通信设备作为备份通信设备40。两个通信设备可以同时独立运行。例如,两个通信设备可以基于基于mlag(multi

chassis link aggregation group,跨设备链路汇聚组)协议进行协同工作。另外,两个通信设备可以独立运行二层网络协议、三层网络协议,独立进行mac地址学习、数据报文转发等。
60.在双活系统20的两个通信设备中,存在部分业务的关联的情况。例如,针对mac地址,两个通信设备各自学习到的mac地址可以自动同步,确保两个独立的通信设备能够协同工作,对外呈现为一个协同一体的双活系统20。
61.示例性地,当双活系统20基于mlag协议协同工作时,可以在创建的mlag组中,进行端口的关联配置。例如,将主通信设备30中业务卡1的端口1的id(identity document,身份标识号)和备份通信设备40中的业务卡1的端口1的id关联成mlag组的同一个id。基于此,后续在对外通信时,双活系统20便可以以mlag组的端口id对外交互。
62.其中,在单个通信设备中,不同端口具有不同的端口标识(端口标识即为端口id)。在两个通信设备中,可以具有相同端口标识的端口。例如,在主通信设备30的业务卡1中,具有端口id为“001”的端口,在备份通信设备40的业务卡1中,也可以具有端口id为“001”的端口。端口id和mlag组的id均可以根据实际情况进行灵活确定,这里不作具体限定。
63.请再次参照图2,在双活系统20中,主通信设备30可以包括第一主控卡31、第一备份主控卡32及m个业务卡。备份通信设备40可以包括第二主控卡41、第二备份主控卡42及n个业务卡。其中,m、n均为整数,m和n可以相同或不同,可以根据实际情况进行灵活确定。
64.请参照图3,本技术提供一种地址迁移方法,可以应用于上述的通信设备10中,由通信设备10执行或实现方法中的各步骤。方法可以包括如下步骤:
65.步骤s110,以预设周期确定所述通信设备中的m个业务卡各自运行时长与所述通信设备中的第一主控卡31运行时长之间的校正时间,其中,m为大于0的整数;
66.步骤s120,当所述m个业务卡中的任一业务卡中的任一端口学习到mac地址时,由所述任一业务卡自身根据自身所对应的校正时间确定在学习到所述mac地址时的同步时间戳;
67.步骤s130,所述任一业务卡基于学习到所述mac地址的端口,通过根据预设迁移仲裁规则判断所述mac地址是否满足迁移条件;
68.步骤s140,在满足所述迁移条件时,目标业务卡根据所述同步时间戳对所述mac地
址进行迁移,所述目标业务卡为所述m个业务卡中满足所述mac地址的所述迁移条件的业务卡。
69.在上述的实施方式中,将第一主控卡31的运行时长作为板卡之间时间同步的依据,如此,无需再部署时间服务器,便可以实现第一主控卡31、m个业务卡之间的时间同步处理,简化系统框架,降低维护成本。在进行地址迁移时,通信设备可以对各业务卡学习到mac地址时的时间戳进行同步,从而可以准确有效地进行mac地址迁移,避免因板卡之间的时间不同步而无法进行mac地址的准确迁移。
70.下面将对方法的各步骤进行详细阐述,如下:
71.在步骤s110中,在通信设备的第一主控卡31和m个业务卡等各个板卡中,均存在计时功能的计时器,可以独立记录各个板卡自身的运行时长。该运行时长可理解为:将板卡从开始启动作为零时刻,并持续记录板卡在运行状态、待机状态这两种状态下的累计时长所得到的时间数据。板卡关机重启后,便重新以零时刻进行计时。计时器可以是但不限于晶振或其他计时模块。
72.在通信设备开机运行过程中,第一主控卡31和m个业务卡等各板卡的启动时间点可以不同,第一主控卡31的启动时间通常早于各业务卡的启动时间。
73.各个板卡的计时器独立计时,且存在所记录的时间不同步的情况。在步骤s110中进行时间同步时,可以将第一主控卡31的运行时长作为基准时间,然后,在现实世界的同一时间点下,计算m个板卡各自的运行时长和第一主控卡31的运行时长的时长差值,该时长差值便可以作为校正时间。m个板卡各自的校正时间可以将板卡自身的运行时长转换成在基准时间下的时间数据。
74.作为一种可选的实施方式,步骤s110可以包括:
75.所述主通信设备中的所述第一主控卡31,根据预设周期将所述第一主控卡31的运行时长,发送至所述m个业务卡;
76.所述m个业务卡中的每个业务卡,根据自身的运行时长、每个所述预设周期所接收的所述第一主控卡31的运行时长,确定自身的第一校正时间。
77.可理解地,在双活系统20中,第一主控卡31可以周期性地,向m个业务卡发送第一主控卡31当前的运行时长,业务卡每次在接收到第一主控卡31的运行时长时,便可以运算得到一次校正时间,然后,每个业务卡可以利用自身的校正时间进行自身的时间同步处理。如此,双活系统20可以周期性地对第一主控卡31、m个业务卡之间的时间进行同步处理,避免时间同步的间隔较长之后,业务卡之间出现时间不同步的情况。其中,预设周期可以根据实际情况进行灵活确定,这里不作具体限定。
78.示例性地,通信设备包括第一主控卡31、业务卡1及业务卡2。在2021年1月1日13时0分0秒这一时刻下,第一主控卡31的运行时长为60秒,业务卡1的运行时长为30秒,业务卡2的运行时长为31秒。同时,“第一主控卡31的运行时长为60秒”这一控制数据被第一主控卡31下发至业务卡1和业务卡2,然后,业务卡1可以自动计算出自身的校正时间为30秒,业务卡2可以自动计算出自身的校正时间为29秒。
79.在步骤s120中,业务卡中的端口学习mac地址的方式为本领域技术人员熟知,这里不再赘述。当任一端口学习到mac地址时,便可以由端口所在的业务卡,基于该业务卡自身在当前的运行时长及自身的校正时间,确定在学习到mac地址时的同步时间戳。
80.其中,步骤s120可以包括:
81.当所述m个业务卡中的任一业务卡中的任一端口在学习到mac地址时,由所述任一业务卡根据自身在学习到所述mac地址时的当前启动时长及对应的第一校正时间,确定在最新时间学习到的所述mac地址时的所述同步时间戳。
82.可理解地,通常而言,主控业务卡的启动时间早于业务卡的启动时间,此时,各业务卡的同步时间戳可以通过如下公式计算得到:
83.t1=t0 s1ꢀꢀꢀ
(1)
84.在公式(1)中,t1指业务卡在学习到的所述mac地址时的同步时间戳;t0指业务卡自身在学习到的所述mac地址时的运行时长;s1指业务卡自身在学习到的所述mac地址时的校正时间。
85.示例性地,沿用上述校正时间确定方式的例子,假设该mac地址称为“mac1”,通信设备的业务卡1的端口1学习到“mac1”时,业务卡1当前的校正时间为30秒。其中,学习到“mac1”的原始时间戳(未经过校正的时间)为业务卡1的当前运行时长,假设该当前运行时长为10分钟,此时,同步时间戳通过上述公式(1)可以计算得到,即,t1为10分钟30秒。
86.在步骤s130中,预设迁移仲裁规则可以根据实际情况进行灵活确定。例如,当在双活系统20中,相同的mac地址被不同的端口学习到,则确定满足迁移条件。
87.例如,步骤s130可以包括:
88.当在所述m个业务卡中,存在不同端口学习记录到所述mac地址时,所述任一业务卡确定所述mac地址满足所述迁移条件。
89.在单个通信设备中,各业务卡之间的端口具有不同的端口id,因此,不同端口可以通过端口所具有的端口id进行区分。
90.示例性地,在假设m个业务卡中,业务卡1的端口“001”在学习到“mac1”之后,业务卡2的端口“002”也学习到“mac1”,此时,业务卡2可以基于业务卡1和业务卡1之间的板间通信,获取到“业务卡1已学习到mac1”的这一信息,进而可以便确定业务卡2满足迁移条件,迁移对象即为业务卡2的端口“002”。
91.在步骤s140中,迁移方式可以根据实际情况进行灵活确定,可以将最新时间学习到相同mac地址的端口作为迁移对象,或者,在学习到相同mac地址的两端口的时间相同时,将较小端口id的端口作为迁移对象。然后,将mac地址,迁移至该迁移对象所指的端口。
92.例如,步骤s140可以包括:
93.在满足所述迁移条件时,所述目标业务卡将所述mac地址迁移至所述目标业务卡中的学习到所述mac地址且所述同步时间戳最大的端口;
94.或者,在满足所述迁移条件,且学习到所述mac地址的端口的同步时间戳相同时,所述目标业务卡将所述mac地址迁移至所述目标业务卡中的端口标识最小且学习到所述mac地址的端口。
95.可理解地,目标业务卡即为m个业务卡中的表征迁移对象的端口所在的业务卡。该端口可以通过学习到mac地址的同步时间戳、端口id等信息确定。
96.示例性地,在通信设备的各业务卡中,端口“001”已经学习到“mac1”情况下,端口“002”也学习到“mac1”,此时,通过比较学习到“mac1”时的同步时间戳,确定迁移对象。
97.若端口“002”的同步时间戳比端口“001”的同步时间戳更大,则表示端口“002”学
习到“mac1”的时间最新,此时,将“mac1”从端口“001”迁移至端口“002”。迁移对象即为端口“002”,“mac1”最终学习的出端口即为端口“002”。
98.若端口“002”的同步时间戳和端口“001”的同步时间戳相同,则将较小端口标识“001”的端口作为迁移对象,此时,将“mac1”从端口“002”迁移至端口“001”。“mac1”最终学习的出端口即为端口“001”。
99.第二实施例
100.第二实施例提供的地址迁移方法可以应用于如图2所示的双活系统20中,由双活系统20中的各设备相互配合,以实现方法的各步骤,在第二实施例中,方法可以包括如下步骤:
101.步骤s210,以预设周期确定所述主通信设备30中的m个业务卡,以及与所述备份通信设备40中的第二主控卡41、n个业务卡各自运行时长与所述主通信设备30中的第一主控卡31运行时长之间的校正时间,其中,m、n均为大于0的整数;
102.步骤s220,当所述m个业务卡和所述n个业务卡中的任一业务卡中的任一端口学习到mac地址时,由所述任一业务卡自身根据自身所对应的校正时间确定在学习到所述mac地址时的同步时间戳;
103.步骤s230,所述任一业务卡基于学习到所述mac地址的端口,通过根据预设迁移仲裁规则判断所述mac地址是否满足迁移条件;
104.步骤s240,在满足所述迁移条件时,目标业务卡根据所述同步时间戳对所述mac地址进行迁移,所述目标业务卡为所述m个业务卡和所述n个业务卡中满足所述mac地址的所述迁移条件的业务卡。
105.在上述的实施方式中,将第一主控卡31的运行时长作为板卡之间时间同步的依据,如此,无需再部署时间服务器,便可以实现第一主控卡31、第二主控卡41、m个业务卡和n个业务卡之间的时间同步处理,简化系统框架,降低维护成本。在进行地址迁移时,双活系统20可以对各业务卡学习到mac地址时的时间戳进行同步,从而可以准确有效地进行mac地址迁移,避免因板卡之间的时间不同步而无法进行mac地址的准确迁移。
106.可理解地,第二实施例中的地址迁移方法与第一实施例中的地址迁移方法的实现流程相类似。第二实施例中的单个通信设备(主通信设备30、备份通信设备40)所执行的操作步骤可以近似看做第一实施例中的通信设备所执行的操作步骤。
107.与第一实施例相比,在第二实施例中,新增了主通信设备30和备份通信设备40之间的协同与交互。即,在双活系统20中,除了需要确保单个通信设备内的时间同步和mac地址的同步外,还需要确保双活系统20中所有板卡的时间及mac地址的同步。
108.下面将对第二实施例中的各步骤中区别于第一实施的实现过程进行详细阐述,如下:
109.在步骤s210中区别于第一实施例中的步骤s110的是,第一主控卡31还可以以预设周期,对备份通信设备40中的第二主控卡41、n个业务卡各自的运行时长进行同步处理。
110.在步骤s210中,可以包括:
111.由所述主通信设备30中的所述第一主控卡31,根据预设周期将所述第一主控卡31的运行时长,发送至所述m个业务卡、所述第二主控卡41;
112.所述m个业务卡中的每个业务卡,根据自身的运行时长、每个所述预设周期所接收
的所述第一主控卡31的运行时长,确定自身的第一校正时间;
113.所述n个业务卡中的每个业务卡,根据自身的运行时长、所述第二主控卡41自身的运行时长,确定自身的第二校正时间;
114.所述第二主控卡41根据自身的运行时长、每个所述预设周期所接收的所述第一主控卡31的运行时长,确定双活系统20校正时间;所述校正时间包括所述第一校正时间、所述第二校正时间及所述双活系统20校正时间。
115.可理解地,第一主控卡31可以通过板间通信,将自身的运行时长发送至第二主控卡41,然后由第二主控卡41运算得到第二主控卡41自身的运行时长、第一主控卡31的运行时长之差,该时长之差即为双活系统20校正时间。
116.示例性地,沿用上述的校正时间确定方式的例子,假设在2021年1月1日13时0分0秒这一时刻下,第一主控卡31的运行时长为60秒,第二主控卡41的运行时长为30秒。同时,“第一主控卡31的运行时长为60秒”这一控制数据被第一主控卡31下发至第二主控卡41,然后,第二主控卡41可以自动计算出自身的双活系统20校正时间为30秒。
117.在步骤s220中,区别于步骤s120的是,在第二实施例中,双活系统20可以基于双活系统20校正时间、备份通信设备40内的第二校正时间,将备份通信设备40中第二主控卡41、n个业务卡的运行时长或时间戳,转换成以主通信设备30的第一主控卡31为基准的时间数据,以实现时间同步处理。
118.例如,步骤s220可以包括:
119.当所述m个业务卡中的任一业务卡中的任一端口在学习到mac地址时,由所述任一业务卡根据自身在学习到所述mac地址时的当前启动时长及对应的第一校正时间,确定在最新时间学习到的所述mac地址时的所述同步时间戳;
120.当所述n个业务卡中的任一业务卡中的任一端口在学习到mac地址时,由所述任一业务卡根据自身在学习到所述mac地址时的当前启动时长及对应的第二校正时间、所述双活系统20校正时间,确定在最新时间学习到的所述mac地址时的所述同步时间戳。
121.示例性地,假设备份通信设备40中的业务卡1的端口1学习到“mac1”时,业务卡1当前的校正时间为30秒,当前的双系统校正时间为30秒。其中,端口1学习到“mac1”的原始时间戳(未经过校正的时间)为业务卡1的当前运行时长,假设该当前运行时长为10分钟。此时,同步时间戳通过下述公式(2)可以计算得到,为11分钟。公式(2)如下:
122.t2=t
’0 s0 s2ꢀꢀꢀ
(2)
123.在公式(2)中,t2指备份通信设备40中的业务卡在学习到的所述mac地址时的同步时间戳;t
’0指备份通信设备40中的业务卡自身在学习到的所述mac地址时的运行时长;s0指双活系统20校正时间;s2指业务卡自身在学习到的所述mac地址时的校正时间。
124.在步骤s230中,区别于步骤s130的是,在第二实施例中,双活系统20可以对主通信设备30、备份通信设备40中各业务卡的端口学习到的mac地址进行检测分析,以判断该mac地址是否满足迁移条件。
125.例如,步骤s230可以包括:
126.当在所述主通信设备30或所述备份通信设备40中,存在不同端口学习记录到的所述mac地址时,所述任一业务卡确定所述mac地址满足所述迁移条件。
127.在步骤s240中,在进行mac地址迁移时,学习到mac地址的业务卡可以分析比对双
活系统20中所有业务卡中学习到与该mac地址相同的端口、端口id及对应的同步时间戳,从而以确定迁移对象。
128.例如,步骤s240可以包括:
129.在满足所述迁移条件时,所述目标业务卡将所述mac地址迁移至所述目标业务卡中的学习到所述mac地址且所述同步时间戳最大的端口;
130.或者,在满足所述迁移条件,且学习到所述mac地址的端口的同步时间戳相同时,所述目标业务卡将所述mac地址迁移至所述目标业务卡中的端口标识最小且学习到所述mac地址的端口;
131.或者,在满足所述迁移条件,且学习到所述mac地址的端口的端口标识相同,且分别位于所述主通信设备30及所述备份通信设备40中,且同步时间戳相同时,由目标业务卡将所述mac地址迁移至所述目标业务卡中的学习到所述mac地址的端口,所述目标业务卡为所述主通信设备30中的满足所述迁移条件的业务卡。
132.示例性地,在双活系统20的各业务卡中,假设学习到相同“mac1”的端口的id不同分别为“001”和“002”,且两端口对应的同步时间戳也不同,此时,通过比较两端口学习到“mac1”时的同步时间戳,便可以将同步时间戳最大的端口作为迁移对象。
133.若端口“002”的同步时间戳和端口“001”的同步时间戳相同,则将较小端口标识“001”的端口作为迁移对象,此时,将“mac1”从端口“002”迁移至端口“001”。“mac1”最终学习的出端口即为端口“001”。
134.若学习到相同“mac1”的端口分别在主通信设备30和备份通信设备40中,且端口的id相同、同步时间戳也相同,此时,将主通信设备30中的学习到该“mac1”的端口作为迁移对象。
135.基于上述设计,可以在不依赖于部署的时间服务器、时间同步协议等,不受系统现实世界的实际时间等影响,通过双活系统20中各板卡内部自带的计时功能,实现板卡之间的时间同步处理,从而能在不依赖时间服务器的情况下,实现双活系统20的地址迁移。
136.可理解地,在通信设备10的主控卡11、备份主控卡12及业务卡中,均包括相应的处理器及存储器。处理器具有信号的处理能力。例如,该处理器可以是中央处理器(central processing unit,cpu)、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。
137.存储器可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储器可以用于存储运行时长、校正时长等。当然,存储器还可以用于存储程序,处理器在接收到执行指令后,执行该程序。
138.主控卡11、备份主控卡12及业务卡中,还可以包括通信模块。通信模块用于建立板卡之间的通信,以实现板卡之间的数据交互;或用于建立通信设备之间的通信,以进行通信设备之间的数据交互。
139.可以理解的是,图1所示的结构仅为通信设备的一种结构示意图,通信设备还可以包括比图1所示更多的组件。图1中所示的各组件可以采用硬件、软件或其组合实现。
140.需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的通信设备的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
141.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本技术可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd

rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者通信设备等)执行本技术各个实施场景所述的方法。
142.综上所述,在本方案中,将第一主控卡的运行时长作为板卡之间时间同步的依据,如此,无需再部署时间服务器,便可以实现第一主控卡、第二主控卡、m个业务卡和n个业务卡之间的时间同步处理,简化系统框架,降低维护成本。在进行地址迁移时,双活系统可以对各业务卡学习到mac地址时的时间戳进行同步,从而可以准确有效地进行mac地址迁移,避免因板卡之间的时间不同步而无法进行mac地址的准确迁移。
143.在本技术所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
144.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
转载请注明原文地址:https://win.8miu.com/read-250229.html

最新回复(0)