本发明涉及数据传输技术领域,具体涉及一种传输设备配置校验同步方法及系统。
背景技术:
在potn传输设备中,通常,主控盘采用盘间方式来检测和处理配置的校验和,然而,受制于背板交叉的稳定性,加上本身使用的udp协议报文也是不可靠的,盘间方式存在丢包风险,而且由于检测和处理校验和的频率较高,当同时存在其他盘间交互的数据处理时,更会加大处理盘间消息队列阻塞的概率。
而后,在检测出配置不同步时,当前处理配置同步同样也存在效率问题,特别是配置数据量较大时,比如集群、控制平面场景,处理同步效率不高,造成系统资源占用过多,因此,需要一个合理、高效的配置同步处理机制来提高效率。
技术实现要素:
针对现有技术中存在的缺陷,本发明的目的在于提供一种传输设备配置校验同步方法,大大提高了增量同步处理效率,而且可以避免丢包、队列阻塞等问题。
为达到以上目的,本发明采取的技术方案是:
一种传输设备配置校验同步方法,包括步骤:
分别获取主盘配置块的校验和信息和备盘配置块的校验和信息,并将主盘配置块的校验和信息和备盘配置块的校验和信息对应保存在主盘的两个校验和列表中;
创建一个用于处理校验和信息的线程x;
每间隔一段时间,线程x将两个校验和列表进行比较,如果有配置块的校验和不一致,则主盘向备盘发送该配置块数据,并在备盘接收成功后,线程x将主盘的检验和信息覆盖备盘配置块的校验和信息,完成配置校验同步。
在上述技术方案的基础上,当发生主备切换后,所述分别获取主盘配置块的校验和信息和备盘配置块的校验和信息的具体步骤包括:
新的主盘根据配置文件重新计算配置块的校验和信息,新的备盘删除以前的配置,并同步新的主盘的配置文件,再根据新的备盘同步到的配置文件,得到新的备盘配置块的校验和信息。
在上述技术方案的基础上,当应用于存在多个扩展框的场景时,在主盘上新建一个扩展框校验和列表,所有扩展框的配置校验和信息都存放在所述扩展框校验和列表中,采用点对多点的组播方式同步多个扩展框的配置,多个扩展框以并行的同步方式进行配置下发。
在上述技术方案的基础上,所述主盘向备盘发送该配置块数据的具体步骤包括:主盘收到新的配置数据后,根据配置块数量、下发频率,判断配置同步的方式,根据不同的配置同步的方式对应更新两个校验和列表。
在上述技术方案的基础上,对应更新两个校验和列表的具体步骤包括:
主盘根据新的配置数据更新主盘配置块的检验和信息;
主盘向备盘发送更新配置块的配置文件压缩包,等待备盘正常收到后的确认应答;
主盘在收到备盘接收成功的应答后,线程x将主盘的检验和信息覆盖备盘配置块的校验和信息;若主盘未收到备盘接收成功的应答,则主盘重新向备盘发送更新配置块的配置文件压缩包,直至收到备盘接收成功的应答。
在上述技术方案的基础上,所述根据不同的配置同步的方式对应更新两个校验和列表的具体步骤包括:
若为少量配置数据增量下发,则实时同步配置块数据,并更新两个校验和列表;
若为大量配置数据批量下发,则进行延时同步,在间隔延时时长后,根据最新的配置块数据更新两个校验和列表。
在上述技术方案的基础上,所述延时时长的计算方式为:
设置多个影响延时时长的因素,并为每个因素分配加权值,通过加权平均计算公式计算出加权平均值,再通过加权平均值计算本次配置下发的延时时长。
在上述技术方案的基础上,所述通过加权平均值计算本次配置下发的延时时长的计算公式为:t=x*δt;
其中,t为延时时长,x为加权平均值,δt为经验系数。
在上述技术方案的基础上,所述传输设备配置校验同步方法,还包括步骤:
间隔一段时间,备盘重新计算配置块的校验和信息,并将重新计算得到的校验和信息发送给主盘,主盘在对应的校验和列表中重新更新备盘配置块的校验和信息。
本申请还提供了一种传输设备配置校验同步系统,包括:
校验和处理模块,其用于分别获取主盘配置块的校验和信息和备盘配置块的校验和信息,并将主盘配置块的校验和信息和备盘配置块的校验和信息对应保存在主盘的两个校验和列表中;
线程创建模块,其用于创建一个用于处理校验和信息的线程x;
校验同步模块,其用于每间隔一段时间,线程x将两个校验和列表进行比较,如果有配置块的校验和不一致,则主盘向备盘发送该配置块数据,并在备盘接收成功后,线程x将主盘的检验和信息覆盖备盘配置块的校验和信息,完成配置校验同步。
与现有技术相比,本发明的优点在于:本申请的传输设备配置校验同步方法,一方面,获取到的是配置块的校验和信息,通过比较两个校验和列表,可以找到校验和不一致的配置块,然后,主盘再向备盘发送该配置块数据,进行同步,以配置块为最小处理单元,并且同步不一致的配置块,由于配置块的粒度较小,是原子级的配置单元,如果配置改变少的话,处理数据量是比较少的,效率是很高的,从而大大提高了增量同步处理效率;另一方面,所有的校验及处理动作都在主盘内完成,基本不存在盘间的数据交互,可以避免丢包、队列阻塞等问题。
附图说明
图1为本发明实施例中传输设备配置校验同步方法的示意图;
图2为本发明实施例中传输设备配置校验同步方法的流程图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例提供一种传输设备配置校验同步方法,包括步骤:
s1:分别获取主盘配置块的校验和信息和备盘配置块的校验和信息,并将主盘配置块的校验和信息和备盘配置块的校验和信息对应保存在主盘的两个校验和列表中;
s2:创建一个用于处理校验和信息的线程x;
s3:每间隔一段时间,线程x将两个校验和列表进行比较,如果有配置块的校验和不一致,则主盘向备盘发送该配置块数据,并在备盘接收成功后,线程x将主盘的检验和信息覆盖备盘配置块的校验和信息,完成配置校验同步。
本申请实施例的传输设备配置校验同步方法,一方面,获取到的是配置块的校验和信息,通过比较两个校验和列表,可以找到校验和不一致的配置块,然后,主盘再向备盘发送该配置块数据,进行同步,以配置块为最小处理单元,并且同步不一致的配置块,大大提高了增量同步处理效率;另一方面,所有的校验及处理动作都在主盘内完成,基本不存在盘间的数据交互,可以避免丢包、队列阻塞等问题。
更为具体地,在本申请实施例中,上述传输设备配置校验同步方法的具体过程为:
使用md5算法获取主盘配置块的校验和信息,并将主盘的校验和信息保存在主盘的校验和列表mapa中;
使用md5算法获取备盘配置块的校验和信息,并将备盘的校验和信息保存在主盘的校验和列表mapb中;
创建一个用于处理校验和信息的线程x;
每间隔一段时间,线程x将校验和列表mapa和校验和列表mapb进行比较,如果有配置块的校验和不一致,则主盘向备盘发送该配置块的配置文件压缩包,并等待备盘正常收到后的确认应答;主盘收到备盘接收成功的应答后,线程x将校验和列表mapa中的校验和信息覆盖校验和列表mapb,完成配置校验同步。
此处间隔一段时间可以设置为10秒,在线程x将校验和列表mapa中的校验和信息覆盖校验和列表mapb时,仅覆盖校验和列表mapb中与校验和列表mapa不一致的配置块的校验和信息,效率更高。
更进一步地,在本申请实施例中,当发生主备切换后,上述步骤s1中,所述分别获取主盘配置块的校验和信息和备盘配置块的校验和信息的具体步骤包括:
新的主盘根据配置文件重新计算配置块的校验和信息,新的备盘删除以前的配置,并同步新的主盘的配置文件,再根据新的备盘同步到的配置文件,得到新的备盘配置块的校验和信息。
更进一步地,在本申请实施例中,当应用于存在多个扩展框的场景时,传输设备配置校验同步方法包括步骤:
在主盘上新建一个扩展框校验和列表,所有扩展框的配置校验和信息都存放在所述扩展框校验和列表中,采用点对多点的组播方式同步多个扩展框的配置,多个扩展框以并行的同步方式进行配置下发。
具体地,如果是集群场景,即存在多个扩展框的应用场景时,需要在主盘mapa和mapb的基础上新增一个扩展框校验和列表mapc,其中,mapa和mapb是用于主备同步的,mapc用于跟扩展框同步的,扩展框上的配置校验和信息都存放在mapc中,同步原理跟主备同步有一点差异性,使用点对多点的组播方式同步配置,与各个从框之间同步可以是并行的。更进一步地,在本申请实施例中,上述步骤s3中,主盘向备盘发送该配置块数据的具体步骤包括:
s4:主盘收到新的配置数据后,根据配置块数量、下发频率,判断配置同步的方式,根据不同的配置同步的方式对应更新两个校验和列表。
具体地,在上述步骤s4中,所述根据不同的配置同步的方式对应更新两个校验和列表的具体步骤包括:
若为少量配置数据增量下发,则实时同步配置块数据,并更新两个校验和列表;
若为大量配置数据批量下发,则进行延时同步,在间隔延时时长后,根据最新的配置块数据更新两个校验和列表。
在本申请实施例中,当有大量配置数据批量下发时,进行延时同步,可以避免配置反复修改,一次同步更新即为最新的配置,从而大大提高了配置效率,也不会占用过多的系统资源,更好地避免丢包、队列阻塞等问题。
优选地,在本申请实施例中,所述延时时长的计算方式为:设置多个影响延时时长的因素,并为每个因素分配加权值,通过加权平均计算公式计算出加权平均值,再通过加权平均值计算本次配置下发的延时时长。
其中,影响延时时长的因素包括配置块数量、链路倒换时长、配置数据大小、配置的优先级等。
在本申请实施例中,配置块数量记为x1,配置块数量的加权值为t1,链路倒换时长记为x2,链路倒换时长的加权值为t2,配置数据大小记为x3,配置数据大小的加权值为t3,配置的优先级记为x4,配置的优先级的加权值为t4,加权平均值x的计算公式为:
x=(x1*t1+x2*t2+x3*t3+x4*t4)/(t1+t2+t3+t4)。
优选地,在本申请实施例中,所述通过加权平均值计算本次配置下发的延时时长的计算公式为:t=x*δt;
其中,t为延时时长,x为加权平均值,δt为经验系数。δt可以为通过试验得到的经验值,优选的为1.5min,也可以根据实际情况进行调整。
本申请实施例中,可以根据配置数据的不同情况,动态延长配置同步处理的时间,即动态调整延时时长,从而高效地批量处理数据,提高同步批量数据的效率。
具体地,在上述步骤s4中,对应更新两个校验和列表的具体步骤包括:
主盘根据新的配置数据更新主盘配置块的检验和信息;
主盘向备盘发送更新配置块的配置文件压缩包,等待备盘正常收到后的确认应答;
主盘在收到备盘接收成功的应答后,线程x将主盘的检验和信息覆盖备盘配置块的校验和信息;若主盘未收到备盘接收成功的应答,则主盘重新向备盘发送更新配置块的配置文件压缩包,直至收到备盘接收成功的应答。
参见图2所示,步骤s4的详细步骤包括:
s401:主盘接收新的配置数据;
s402:根据配置块数量、下发频率判断配置同步方式,若配置同步方式为少量配置数据增量下发,则转至步骤s403,若配置同步方式为大量配置数据批量下发,则转至步骤s404;
s403:实时同步配置数据,得到新的配置数据,转至步骤s405;
s404:进行延时同步配置数据,并在间隔延时时长后,跳过中间旧数据,得到新的配置数据,即为最新的配置数据,转至步骤s405;
s405:主盘根据新的配置数据更新主盘配置块的检验和信息,并将更新后的主盘配置块的检验和信息保存在校验和列表mapa中;
s406:主盘向备盘发送更新配置块的配置文件压缩包,等待备盘正常收到后的确认应答;
s407:判断主盘是否收到备盘接收成功的应答,若是,则转入步骤s408,若否,则转入步骤s409;
s408:主盘在收到备盘接收成功的应答后,线程x将主盘的检验和信息覆盖备盘配置块的校验和信息,即将校验和列表mapa中的校验和信息覆盖校验和列表mapb;
s409:若主盘未收到备盘接收成功的应答,则转至步骤s406,主盘重新向备盘发送更新配置块的配置文件压缩。
优选地,在本申请实施例中,所述的传输设备配置校验同步方法,还包括步骤:
间隔一段时间,备盘重新计算配置块的校验和信息,并将重新计算得到的校验和信息发送给主盘,主盘在对应的校验和列表中重新更新备盘配置块的校验和信息。
此处间隔时间可以设置相对较长一些,比如10分钟,以免间隔时间太短,频繁操作,占用更多资源。
上述根据重新计算得到校验和信息更新校验和列表mapb的具体步骤包括:
主盘比较重新计算得到的校验和信息和校验和列表mapb中的校验和信息是否一致,若一致,则不作处理,若不一致,则将校验和列表mapb中的校验和信息更新为重新计算得到的校验和信息。
上述步骤提供了校验和定时更新机制,若主盘中的校验和列表与备盘实际配置的校验和不一致,需要更新校验和列表,进而保证主盘中的校验和列表与备盘实际配置的校验和是一致的,更加安全可靠,保证校验和列表的实时性和准确性。
本申请实施例还提供了一种传输设备配置校验同步系统,包括:
校验和处理模块,其用于分别获取主盘配置块的校验和信息和备盘配置块的校验和信息,并将主盘配置块的校验和信息和备盘配置块的校验和信息对应保存在主盘的两个校验和列表中;
线程创建模块,其用于创建一个用于处理校验和信息的线程x;
校验同步模块,其用于每间隔一段时间,线程x将两个校验和列表进行比较,如果有配置块的校验和不一致,则主盘向备盘发送该配置块数据,并在备盘接收成功后,线程x将主盘的检验和信息覆盖备盘配置块的校验和信息,完成配置校验同步。
本申请实施例的传输设备配置校验同步系统,一方面,获取到的是配置块的校验和信息,通过比较两个校验和列表,可以找到校验和不一致的配置块,然后,主盘再向备盘发送该配置块数据,进行同步,以配置块为最小处理单元,并且同步不一致的配置块,大大提高了增量同步时处理效率;另一方面,所有的校验及处理动作都在主盘内完成,基本不存在盘间的数据交互,可以避免丢包、队列阻塞等问题。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。