一种实现配置同步的方法及设备
技术领域
本发明属于数据通信领域,尤其涉及一种实现配置同步的方法及设备。
背景技术
分布式系统中配置同步的主要工作原理为,配置发送设备与配置接收端建立基于数据通信的服务,如TCP(TransmissionControlProtocol,传输控制协议)/UDP(UserDatagramProtocol,用户数据报协议)等协议,由于网络环境需求日益复杂,分布式系统中配置同步技术逐渐不能满足具体的市场需求。
为了满足不同网络环境需求,于是出现了可定制化的配置同步方式,其将具体的配置抽象化为数据,通过设备间的代理建立单独的批量数据连接和实时数据连接,根据实时的环境需求对数据进行批量同步或实时同步,以解决所有数据关心者均参与通信所带来的网络环境复杂和系统资源大量消耗的问题。然而现有技术中可定制化的配置同步方式存在以下缺陷:
一、可定制化配置同步方式中,配置接收端定制的数据已经在操作系统中严格指定,当需求发生变化时,必须通过修改操作系统才能实现新的需求;
二、同步数据的最小粒度以模块为单位,配置接收端若只关心某一个模块的部分内容,则该方式无法满足需求,只能由配置接收端自己对数据进行筛选;
三、配置接收端被动接收数据,无法反馈其获得的数据是否得到正确处理。
针对以上问题,如果能设计出一种粒度较小、灵活可交互的配置同步方式,则可减少在不同网络环境下投入大量人力来进行新的开发需求。
发明内容
为解决现有技术中,数据同步在需求发生变化时,必须修改操作系统才能满足新的需求、同步数据的粒度较粗、配置接收端只能被动接收数据等问题。
本发明的主要目的在于提供一种实现配置同步的方法,所述方法具体包括:
配置发送设备在系统启动后加载动态同步配置表,获取实时的配置同步信息;
所述配置发送设备接收到用户发送的同步命令后,根据所述实时的配置同步信息收集所有需要同步的配置生成同步配置文件;所述配置发送设备将所述同步配置文件发送给配置接收设备;
所述配置接收设备读取所述同步配置文件并执行其中的配置;所述配置接收设备将配置执行情况生成执行结果文件发送给所述配置发送设备。
进一步地,所述动态同步配置表中记录有需要进行配置同步的各应用模块的命令节点信息。
进一步地,所述配置发送设备在系统启动后加载所述动态同步配置表,获取实时的配置同步信息的方法包括;
所述配置发送设备在启动后加载所述动态同步配置表,依据所述动态同步配置表,对所述配置发送设备中各应用模块的命令节点对应的同步标识进行修改;得到各个应用模块的命令节点实时的是否需要同步的信息。
进一步地,所述方法还包括:所述配置发送设备接收到用户发送的修改命令后,对所述修改命令的命令类型进行解析,根据解析结果对动态同步配置表进行修改,所述动态同步配置表修改完成后重启所述配置发送设备。
进一步地,所述修改命令的命令类型包括:
单条命令类型,指将具体指定的一条命令节点的配置设置为同步或非同步;
模糊匹配命令类型,指将符合模糊匹配条件的所有命令节点的配置设置为同步或非同步;
特定用户模式的命令类型,指将指定的特定用户模式下所有命令节点的配置进行同步或非同步。
本发明的另一目的还在于提供一种实现配置同步的方法,所述方法具体包括:
在系统启动后加载动态同步配置表,获取实时的配置同步信息;
在接收到用户发送的同步命令后,根据所述实时的配置同步信息收集所有需要同步的配置生成同步配置文件;
将所述同步配置文件发送给需要接收配置同步信息的设备。
进一步地,所述方法还包括:
在接收到用户发送的修改命令后,对所述修改命令的命令类型进行解析,根据解析结果对所述动态同步配置表进行修改,所述动态同步配置表修改完成后重启系统。
本发明的又一目的还在于提供一种网络设备,所述设备包括:
用户接口模块,用于接收用户发送的同步命令;
同步管理模块,用于在系统启动后加载动态同步配置表,获取实时的配置同步信息;并在所述用户接口模块接收到同步命令后,根据所述实时的配置同步信息收集所有需要同步的配置生成同步配置文件;
文件发送模块,用于将所述同步管理模块生成的所述同步配置文件发送给配置接收设备。
进一步地,所述动态同步配置表中记录有需要进行配置同步的各应用模块的命令节点信息。
进一步地,所述同步管理模块,具体用于:在系统启动后加载所述动态同步配置表,依据所述动态同步配置表,对各应用模块的命令节点对应的同步标识进行修改;得到各个应用模块的命令节点实时的是否需要同步的信息。
进一步地,所述用户接口模块,还用于接收用户发送的修改命令,所述修改命令用于修改所述动态同步配置表;
所述同步管理模块,还用于在所述用户接口模块接收到修改命令后,对所述修改命令的命令类型进行解析,根据解析结果对动态同步配置表进行修改;在对所述动态同步配置表修改完成后重启所述设备。
进一步地,所述修改命令的命令类型包括:
单条命令类型,指将具体指定的一条命令节点的配置设置为同步或非同步;
模糊匹配命令类型,指将符合模糊匹配条件的所有命令节点的配置设置为同步或非同步;
特定用户模式的命令类型,指将指定的特定用户模式下所有命令节点的配置进行同步或非同步。
本发明还提供了一种网络设备,所述设备包括:
文件收发模块,用于接收配置文件,并将所述配置文件的执行结果文件发送出去;
配置同步模块,用于读取所述文件收发模块接收的配置文件并执行所述配置文件中的配置,并在所述配置文件中的配置执行完成后生成执行结果文件。
本发明的有益效果为:当设备使用环境发生变化或者客户需求发生变化时,本发明可以在不修改操作系统的情况下,可以通过修改命令来实现对同步配置的修改,且当需求较为细化时,可以指定具体的某一条配置不被同步,对于复杂场景应用更为高效。在本发明中,配置接收设备执行同步命令并反馈执行结果文件给配置发送设备,与配置发送设备存在交互。在手动触发同步的情况下,便于排查问题。
附图说明
图1是本发明实施例提供的一种实现配置同步的方法流程图;
图2是本发明实施例的命令树组织架构图;
图3是本发明实施例提供的另一种实现配置同步的方法流程图;
图4是本发明实施例提供的网络设备的结构示意图;
图5是本发明实施例提供的另外一种网络设备的结构示意图。
具体实施方式
为使本发明的技术方案更加清楚明白,现结合附图对本发明做进一步详细说明:
为解决现有技术在同步配置中存在的问题,本发明提供一种实现配置同步的方法及设备。当设备使用环境发生变化或者客户需求发生变化时,可以在不修改操作系统的情况下,可以通过修改命令来实现对同步配置的修改,且当需求较为细化时,可以指定具体的某一条配置不被同步,对于复杂场景应用更为高效。在本发明中,配置接收设备执行同步命令并反馈执行结果文件给配置发送设备,与配置发送设备存在交互。在手动触发同步的情况下,便于排查问题。
实施例1
本发明实施例提供一种实现配置同步的方法,如图1所示,所述方法具体包括:
S101、配置发送设备在系统启动后加载动态同步配置表,获取实时的配置同步信息。本步骤的启动包括设备上线后的首次启动,也包括更新配置后的重新启动。本发明实施例中,所述动态同步配置表中记录有需要进行配置同步的各应用模块的命令节点信息。可在设备出厂之前在系统中设置一个默认的加载动态同步配置表,也可以在上线配置一个可修改的同步配置表。
在本步骤中,所述配置发送设备在系统启动后加载所述动态同步配置表,获取实时的配置同步信息的方法包括;所述配置发送设备在启动后加载所述动态同步配置表,依据所述动态同步配置表,对所述配置发送设备中各应用模块的命令节点对应的同步标识进行修改;得到各个应用模块的命令节点实时的是否需要同步的信息。
S102、所述配置发送设备接收到用户发送的同步命令后,根据所述实时的配置同步信息收集所有需要同步的配置生成同步配置文件;所述配置发送设备将所述同步配置文件发送给配置接收设备。
S103、所述配置接收设备读取所述同步配置文件并执行其中的配置;所述配置接收设备将配置执行情况生成执行结果文件发送给所述配置发送设备。
本发明实施例,在步骤S103之后,还可以包括如下步骤:配置发送设备将接收到执行结果文件的内容进行显示。
本发明实施例,在步骤S103之后,还可以包括如下步骤:所述配置发送设备接收到用户发送的修改命令后,对所述修改命令的命令类型进行解析,根据解析结果对动态同步配置表进行修改,所述动态同步配置表修改完成后重启所述配置发送设备。所述修改命令的命令类型包括:
单条命令类型,指将具体指定的一条命令节点的配置设置为同步或非同步;
模糊匹配命令类型,指将符合模糊匹配条件的所有命令节点的配置设置为同步或非同步;
特定用户模式的命令类型,指将指定的特定用户模式下所有命令节点的配置进行同步或非同步。
在本发明实施例中,一条配置是否需要进行同步是通过对命令节点进行标识来实现的,以命令的一个节点作为一条配置的基本单位,一条命令由多个节点构成,在一条命令的每一个节点中设置标志位来表示该条命令的该节点是否需要进行同步。在注册命令时,将目前已经确认需要进行同步的命令节点标志位设置为同步。
在本发明实施例中,用户可以通过修改命令来实现对当前动态同步配置表的修改,对当前动态同步配置表的修改包括增加和删除,增加是在原有的基础上增加新的命令节点为支持同步,并将所作出的修改记录在动态同步配置表中;删除则是删除已经支持同步的命令节点,具体包括:在动态同步配置表中查找包含所述命令节点的是否已进行同步配置,若已经进行同步配置,则删除动作生效;若未进行同步配置,则形成新的动态同步配置记录,并记录在动态同步配置表中。对动态同步配置表的修改均表现在设备内存中,需要执行的命令则将其保存到FLASH中。设备开机运行时,以批量修改的形式修改当前动态同步配置表。全局配置模式时,以实时修改的形式修改当前动态同步配置表。
如图2所示,命令树的节点包含A、B、C、D、E、F、G。下面举例说明单条命令和模糊匹配命令类型,在图2的命令树中,B节点后有结束标记(CR_标记),命令可以以AB的形式结束,也能以ABCD/ABEF/ABEG的形式结束。如果配置为AB命令,由于B节点后有结束标记,故该配置为单条命令,其仅对AB命令生效,不对ABCD/ABEF/ABEG生效。如果配置为ABE命令,由于E节点后没有结束标记,故该配置为模糊命令,其对ABEF/ABEG命令生效。系统内部是通过判断节点后面是否有结束标记,来确定当前命令的命令类型的。
所有终端用户对同步配置发出的修改命令,均会被写入FLASH的动态同步配置表中进行记录,设备在开机运行时加载该动态同步配置表,以获得实际的动态同步配置信息。
实施例2
本发明实施例提供一种实现配置同步的方法,应用在配置发送设备上,如图3所示,所述方法具体包括:
S301、在系统启动后加载动态同步配置表,获取实时的配置同步信息;
S302、在接收到用户发送的同步命令后,根据所述实时的配置同步信息收集所有需要同步的配置生成同步配置文件;
S303、将所述同步配置文件发送给需要接收配置同步信息的设备。
所述方法还包括:在接收到用户发送的修改命令后,对所述修改命令的命令类型进行解析,根据解析结果对所述动态同步配置表进行修改,所述动态同步配置表修改完成后重启系统。
在本发明实施例中,用户可以通过修改命令来实现对当前动态同步配置表的修改,对当前动态同步配置表的修改包括增加和删除,增加是在原有的基础上增加新的命令节点为支持同步,并将所作出的修改记录在动态同步配置表中;删除则是删除已经支持同步的命令节点,具体包括:在动态同步配置表中查找包含所述命令节点的是否已进行同步配置,若已经进行同步配置,则删除动作生效;若未进行同步配置,则形成新的动态同步配置记录,并记录在动态同步配置表中。对动态同步配置表的修改均表现在设备内存中,需要执行的命令则将其保存到FLASH中。设备开机运行时,以批量修改的形式修改当前动态同步配置表。全局配置模式时,以实时修改的形式修改当前动态同步配置表。
实施例3
本发明实施例提供一种网络设备,如图4,所示,所述网络设备包括:
用户接口模块401,用于接收用户发送的同步命令。
同步管理模块402,用于在系统启动后加载动态同步配置表,获取实时的配置同步信息;并在所述用户接口模块接收到同步命令后,根据所述实时的配置同步信息收集所有需要同步的配置生成同步配置文件;所述动态同步配置表中记录有需要进行配置同步的各应用模块的命令节点信息。
文件发送模块403,用于将所述同步管理模块402生成的所述同步配置文件发送给配置接收设备。
进一步的,所述同步管理模块402,具体用于:在系统启动后加载所述动态同步配置表,依据所述动态同步配置表,对各应用模块的命令节点对应的同步标识进行修改;得到各个应用模块的命令节点实时的是否需要同步的信息。
进一步的,所述用户接口模块401,还用于接收用户发送的修改命令,所述修改命令用于修改所述动态同步配置表;
进一步的,所述同步管理模块402,还用于在所述用户接口模块接收到修改命令后,对所述修改命令的命令类型进行解析,根据解析结果对动态同步配置表进行修改;在对所述动态同步配置表修改完成后重启所述设备。所述修改命令的命令类型包括:
单条命令类型,指将具体指定的一条命令节点的配置设置为同步或非同步;
模糊匹配命令类型,指将符合模糊匹配条件的所有命令节点的配置设置为同步或非同步;
特定用户模式的命令类型,指将指定的特定用户模式下所有命令节点的配置进行同步或非同步。
实施例4
本发明实施例提供一种网络设备,如图5所示,所述网络设备包括:
文件收发模块501,用于接收配置文件,并将所述配置文件的执行结果文件发送出去;
配置同步模块502,用于读取所述文件收发模块接收的配置文件并执行所述配置文件中的配置,并在所述配置文件中的配置执行完成后生成执行结果文件。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。