一种数据同步方法及装置与流程

文档序号:12492943阅读:182来源:国知局
一种数据同步方法及装置与流程

本发明涉及计算机防御技术领域,特别是涉及一种数据同步方法及装置。



背景技术:

防火墙一般部署在大中型企业的网络出口、企业内部网络间或者数据中心的出口,对外网访问内网的流量进行检测实现保护内网安全的目的,对内网访问外网的流量进行检测实现企业敏感信息的控制。例如,防火墙可以根据用户配置以及预定义的特征库中携带的匹配规则进行流量检测,实现流量的识别和控制功能。

实际应用中,出于高可用性的考虑,一般会部署分布式防火墙。分布式防火墙通常包括多个主控板和多个业务板,其中,多个主控板中可以包括一个主用主控板和多个备用主控板。主用主控板是整个防火墙的控制中心,由其对各主控板和业务板实现控制功能和数据同步功能,如匹配规则、配置信息、表项等的同步。并且,分布式防火墙的主用主控板和各业务板需要保存同样的数据,以根据该数据进行流量检测。

在实际应用中,分布式防火墙的主用主控板可能由于故障或用户输入等原因导致重启,这种情况下,一个备用主控板就会快速升级为新的主用主控板,来控制整个防火墙继续正常运行。上述备用主控板升级为新的主用主控板的过程可以称为主备倒换过程。

在主备倒换过程中,为了实现新的主用主控板和各业务板之间的数据同步,当各业务板检测到发生主备倒换时,各业务板可以向新的主用主控板发送数据同步请求。例如,当各业务板检测到与主用主控板发生重连时,各业务板可以向重连后的主用主控板发送数据同步请求。新的主用主控板接收到各业务板发送的数据同步请求后,可以将自身保存的所有的数据依次发送给各业务板,各业务板使用接收到的数据更新本地保存的数据,从而实现新的主用主控板和各业务板之间的数据同步。

但是,对于分布式防火墙来说,通常会包括较多数量的业务板,且各业务 板又包括多个业务模块,各业务模块中保存其对应的数据,因此,新的主用主控板需要下发的数据通常较多,从而导致数据同步时间较长,从而导致主用主控板长时间繁忙,对于用户响应不及时。并且,数据同步期间,各业务板需要发送数据同步请求,并接收新的主用主控板发送的数据,使用接收到的数据更新本地保存的数据,这段时间内各业务板无法进行正常的流量检测,因此,这将影响分布式防火墙的流量检测业务的正常进行。



技术实现要素:

本发明实施例的目的在于提供一种数据同步方法及装置,以减少主备倒换过程中的数据同步时间,降低主备倒换对分布式防火墙流量检测业务的影响。具体技术方案如下:

第一方面,本发明实施例提供了一种数据同步方法,应用于分布式防火墙中主备倒换后的主用主控板,所述方法包括:

接收所述分布式防火墙中的业务板发送的数据同步请求,其中,所述数据同步请求中包括所述业务板当前保存的业务模块对应的第一数据的第一标识;

当本地保存的所述业务模块对应的第二数据的第二标识与所述第一标识不同时,向所述业务板发送所述第二数据及第二标识。

第二方面,本发明实施例提供了一种数据同步方法,应用于分布式防火墙中的任一业务板,所述方法包括:

检测是否与主用主控板重连;

如果是,向所述主用主控板发送数据同步请求,其中,所述数据同步请求中包括该业务板当前保存的业务模块对应的第一数据的第一标识,以使所述主用主控板确定本地保存的所述业务模块对应的第二数据的第二标识与所述第一标识不同时,向所述业务板发送所述第二数据及第二标识;

接收所述主用主控板发送的第二数据及第二标识,并将所述第一数据及第一标识分别更新为第二数据及所述第二标识。

第三方面,本发明实施例提供了一种数据同步装置,应用于分布式防火墙中主备倒换后的主用主控板,所述装置包括:

接收模块,用于接收所述分布式防火墙中的业务板发送的数据同步请求,其中,所述数据同步请求中包括所述业务板当前保存的业务模块对应的第一数据的第一标识;

发送模块,用于当本地保存的所述业务模块对应的第二数据的第二标识与所述第一标识不同时,向所述业务板发送所述第二数据及第二标识。

第四方面,本发明实施例提供了一种数据同步装置,应用于分布式防火墙中的任一业务板,所述装置包括:

检测模块,用于检测是否与主用主控板重连;

发送模块,用于向所述主用主控板发送数据同步请求,其中,所述数据同步请求中包括该业务板当前保存的业务模块对应的第一数据的第一标识,以使所述主用主控板确定本地保存的所述业务模块对应的第二数据的第二标识与所述第一标识不同时,向所述业务板发送所述第二数据及第二标识;

接收模块,用于接收所述主用主控板发送的第二数据及第二标识,并将所述第一数据及第一标识分别更新为第二数据及所述第二标识。

本发明实施例提供了一种数据同步方法及装置,发生主备倒换后,新的主用主控板可以针对每个业务板,当该业务板上的业务模块当前保存的数据的标识与主控板当前保存的对应该业务模块的数据的标识不同时,将该业务模块的数据及其标识发送给该业务板,而不需要将每个业务模块对应的数据都发送给业务板,因此,能够减少主备倒换过程中的数据同步时间,降低主备倒换对分布式防火墙流量检测业务的影响。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种数据同步方法的流程图;

图2为本发明实施例提供的另一种数据同步方法的流程图;

图3为本发明实施例提供的一种数据同步装置的结构示意图;

图4为本发明实施例提供的另一种数据同步装置的结构示意图;

图5(a)、5(b)为本发明实施例提供的数据同步过程。

具体实施方式

为了减少主备倒换过程中的数据同步时间,降低主备倒换对分布式防火墙流量检测业务的影响,本发明实施例提供了一种数据同步方法及装置。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

在实际应用中,当分布式防火墙中发生主备倒换时,为了实现新的主用主控板和各业务板之间的数据同步,当各业务板检测到发生主备倒换时,各业务板可以向新的主用主控板发送数据同步请求,以接收新的主用主控板向其发送的数据,实现各业务板和新的主用主控板之间的数据同步。

但是,在实际应用中,主用主控板和各备用主控板中保存的数据是根据用户输入信息和/或特征库文件得到的,主用主控板和各备用主控板中保存的数据通常是相同的。因此,当发生主备倒换后,新的主用主控板可以首先判断各业务板中保存的数据是否与自身保存的相同,若相同,则不需要进行数据同步,若不同,则将自身保存的数据发送给各业务板,以实现各业务板与自身的数据同步。

具体地,在本发明实施例中,主用主控板可以针对本地保存的各业务模块对应的数据,保存该数据的标识,该标识例如可以是版本号。当检测到由于用户输入或特征库升级导致的数据变化时,更新该数据对应的标识。

进一步地,主用主控板将自身保存的各业务模块对应的数据同步给各业务板时,在数据同步消息中除了包括各业务模块对应的数据外,还可以包括该数据的标识。各业务板接收到主用主控板发送的数据同步消息后,可以将该消息 中包括的数据及其标识均保存在本地。

为了减少主备倒换过程中的数据同步时间,降低主备倒换对分布式防火墙流量检测业务的影响,本发明实施例提供了一种数据同步方法过程,应用于分布式防火墙中主备倒换后的主用主控板,该过程包括以下步骤:

S101,接收所述分布式防火墙中的业务板发送的数据同步请求,其中,所述数据同步请求中包括所述业务板当前保存的业务模块对应的第一数据的第一标识。

在本发明实施例中,当发生主备倒换时,主备倒换后的主用主控板可以接收业务板发送的数据同步请求,其中,该数据同步请求中可以包括该业务板当前保存的业务模块对应的第一数据的第一标识。

在实际应用中,当发生主备倒换时,业务板会与主备倒换之前的主用主控板断开连接,并连接到主备倒换后的主用主控板。因此,在本发明实施例中,业务板可以检测是否与主用主控板重连,如果是,则表明进行了主备倒换。此时,业务板可以向连接到的主用主控板,即主备倒换后的主用主控板发送数据同步请求,以实现自身与主用主控板的数据同步。

S102,当本地保存的所述业务模块对应的第二数据的第二标识与所述第一标识不同时,向所述业务板发送所述第二数据及第二标识。

在实际应用中,分布式防火墙中的主用主控板和各备用主控板中,都保存了各业务模块对应的数据及其标识。

当主用主控板接收到业务板发送的数据同步请求后,主用主控板可以针对业务板的业务模块,判断本地保存的该业务模块对应的第二数据的第二标识是否与第一标识相同。

当本地保存的该业务模块对应的第二数据的第二标识与第一标识不同时,可以表明业务板中保存的该业务模块的数据与本地保存的不同。这种情况下,主用主控板可以向业务板发送第二数据及第二标识,以实现业务板中该业务模块对应的数据与本地的同步。

需要说明的是,本发明实施例仅以分布式防火墙中的任一业务板,该业务板中的任一业务模块为例说明了本实施例提供的数据同步方法。实际应用中, 各业务板,以及各业务板中的各业务模块都可以使用本发明实施例提供的数据同步方法,来实现自身与主用主控板间的数据同步。

本发明实施例提供了一种数据同步方法,发生主备倒换后,新的主用主控板可以针对每个业务板,当该业务板上的业务模块当前保存的数据的标识与主控板当前保存的对应该业务模块的数据的标识不同时,将该业务模块的数据及其标识发送给该业务板,而不需要将每个业务模块对应的数据都发送给业务板,因此,能够减少主备倒换过程中的数据同步时间,降低主备倒换对分布式防火墙流量检测业务的影响。

可以理解,在实际应用中,主用主控板中针对业务板的业务模块,可能保存较多的第二数据。这种情况下,为了避免通过一条消息发送所有的第二数据,造成的网络资源负载过大的问题,主用主控板可以通过至少两条消息向业务板发送第二数据。

进一步地,在实际应用中,可能出现针对业务模块,其对应的第二数据未同步完成时,再次发生主备倒换的情况。例如,当主用主控板将第二数据通过5条消息发送给该业务板,当该业务板接收到3条消息时,再次发生了主备倒换。

这种情况下,为了保证业务板中保存的第二数据的完整性,主用主控板通过至少两条消息向业务板发送第二数据时,至少两条消息中的最后一条消息携带第二数据的部分数据及第二标识,至少两条消息中的其它消息携带第二数据的其它部分数据及与第二标识不同的标识。

可以理解,若每条消息中都包含第二标识,当针对该业务模块,其对应的第二数据未同步完成,再次发生主备倒换时,该业务板发送给新的主用主控板的数据同步请求中包括的该业务模块的数据的标识即为该第二标识。这种情况下,新的主用主控板判断得到该业务模块的数据的标识与本地保存的对应该业务模块的数据的标识相同时,就不会将该业务模块对应的数据发送给该业务板。而该业务板中并没有保存针对该业务模块的完整的数据,从而会导致该业务板中针对该业务模块保存的数据不完整。

因此,在本发明实施例中,当通过至少两条消息发送第二数据时,最后一条消息中包括第二标识,其他消息中包括与第二标识不同的标识,能够保证当 第二数据未同步完成,再次发生主备倒换时,新的主用主控板可以将本地保存的针对该业务模块的数据发送给该业务板,从而保证了业务板中针对该业务模块保存的数据的完整性。

例如,当主用主控板针对业务模块的第二数据,通过5条消息发送给该业务板,本地保存的该业务模块对应的第二数据的第二标识为100时,则前4条消息中包括的标识不是100,如可以是0、ffff等,只有最后一条消息中包括的标识为100。

当该业务板未完全接收到第二数据时,其保存的该业务模块对应的数据的标识则为前4条消息中包括的标识,即0、ffff等。当再次发生主备倒换时,新的主用主控板中保存的针对该业务模块的数据的标识(100)与该业务板中的不同,则新的主用主控板会将本地保存的针对该业务模块的数据发送给该业务板。

当该业务板接收到全部的第二数据时,其保存的该业务模块对应的数据的标识则为第5条消息中包括的标识,即100。当再次发生主备倒换时,新的主用主控板中保存的针对该业务模块的数据的标识(100)与该业务板中的相同,则新的主用主控板不会将该业务模块对应的数据发送给该业务板。

可以理解,在实际应用中,当未发生主备倒换时,主用主控板也可能需要将自身保存的各业务模块的数据同步给各业务板。例如,当由于用户输入或特征库升级导致的数据更新时,主用主控板可以将更新后的数据同步给个业务板。

具体地,当主用主控板检测到与业务模块对应的第二数据相关的更新数据时,可以根据该更新数据将第二数据更新为第三数据,并将第二标识更新为与第三数据对应的第三标识。这种情况下,主用主控板可以将第三数据及第三标识发送给业务板,以实现自身与业务板中的数据同步。

需要说明的是,在本发明实施例中,当未发生主备倒换,主用主控板将第三数据及第三标识同步给业务板时,也可以采用上述方法,通过至少两条消息将第三消息发送给业务板。并且,为了保证业务板中保存的数据的完整性,至少两条消息中的最后一条消息携带第三数据的部分数据及第三标识,至少两条消息中的其它消息携带第三数据的其它部分数据及与第三标识不同的标识。

进一步地,本发明实施例还提供了另一种数据同步方法过程,应用于分布式防火墙中的任一业务板,该过程包括以下步骤:

S201,检测是否与主用主控板重连。

在本发明实施例中,分布式防火墙中的任一业务板都可以检测是否与主用主控板重连,以确定是否发生了主备倒换。

S202,当检测到与主用主控板重连时,向所述主用主控板发送数据同步请求,其中,所述数据同步请求中包括该业务板当前保存的业务模块对应的第一数据的第一标识,以使所述主用主控板确定本地保存的所述业务模块对应的第二数据的第二标识与所述第一标识不同时,向所述业务板发送所述第二数据及第二标识。

当检测到与主用主控板重连时,可以表明进行了主备倒换,此时,业务板可以向连接到的主用主控板,即主备倒换后的主用主控板发送数据同步请求,以实现自身与主用主控板的数据同步。

其中,该数据同步请求中可以包括该业务板当前保存的业务模块对应的第一数据的第一标识。

当主用主控板接收到业务板发送的数据同步请求后,主用主控板可以针对业务板的业务模块,判断本地保存的该业务模块对应的第二数据的第二标识是否与第一标识相同。

当本地保存的该业务模块对应的第二数据的第二标识与第一标识不同时,可以表明业务板中保存的该业务模块的数据与本地保存的不同。这种情况下,主用主控板可以向业务板发送第二数据及第二标识,以实现业务板中该业务模块对应的数据与本地的同步。

S203,接收所述主用主控板发送的第二数据及第二标识,并将所述第一数据及第一标识分别更新为第二数据及所述第二标识。

在本发明实施例中,业务板可以接收主用主控板向自身发送的第二数据及第二标识,并将本地保存的第一数据及第一标识分别更新为第二数据及第二标识,以实现本地保存的该业务模块的数据及标识都与主用主控板中对应业务模 块的数据及标识同步。

本发明实施例提供了一种数据同步方法,发生主备倒换后,新的主用主控板可以针对每个业务板,当该业务板上的业务模块当前保存的数据的标识与该主控板当前保存的对应该业务模块的数据的标识不同时,将该业务模块的数据及其标识发送给该业务板,而不需要将每个业务模块对应的数据都发送给业务板,因此,能够减少主备倒换过程中的数据同步时间,降低主备倒换对分布式防火墙流量检测业务的影响。

进一步地,在本发明实施例中,在进行数据同步时,主用主控板可以通过至少两条消息向业务板发送第二数据。

进一步地,在实际应用中,可能出现针对业务模块,其对应的第二数据未同步完成时,再次发生主备倒换的情况。例如,当主用主控板将第二数据通过5条消息发送给该业务板,当该业务板接收到3条消息时,再次发生了主备倒换。

这种情况下,为了保证业务板中保存的第二数据的完整性,主用主控板通过至少两条消息向业务板发送第二数据时,至少两条消息中的最后一条消息携带第二数据的部分数据及第二标识,至少两条消息中的其它消息携带第二数据的其它部分数据及与第二标识不同的标识。

业务板可以接收主用主控板发送的至少两条消息,删除本地保存的第一数据,保存至少两条消息中包括的第二数据的部分数据,并使用后一条消息中的第二标识更新保存的至少两条消息中的其它消息中包括的标识。从而保证当业务板接收到全部的消息时,本地保存的第二数据对应的标识才为第二标识,其余情况下,本地保存的第二数据对应的标识均与第二标识不同。

可以理解,若每条消息中都包含第二标识,当针对该业务模块,其对应的第二数据未同步完成,再次发生主备倒换时,该业务板发送给新的主用主控板的数据同步请求中包括的该业务模块的数据的标识即为该第二标识。这种情况下,新的主用主控板判断得到该业务模块的数据的标识与本地保存的对应该业务模块的数据的标识相同时,就不会将该业务模块对应的数据发送给该业务板。而该业务板中并没有保存针对该业务模块的完整的数据,从而会导致该业务板中针对该业务模块保存的数据不完整。

因此,在本发明实施例中,当通过至少两条消息发送第二数据时,最后一条消息中包括第二标识,其他消息中包括与第二标识不同的标识,能够保证当第二数据未同步完成,再次发生主备倒换时,新的主用主控板可以将本地保存的针对该业务模块的数据发送给该业务板,从而保证了业务板中针对该业务模块保存的数据的完整性。

相应于上面的方法实施例,本发明实施例还提供了相应的装置实施例。

图3为本发明实施例提供的一种数据同步装置,应用于分布式防火墙中主备倒换后的主用主控板,所述装置包括:

接收模块310,用于接收所述分布式防火墙中的业务板发送的数据同步请求,其中,所述数据同步请求中包括所述业务板当前保存的业务模块对应的第一数据的第一标识;

发送模块320,用于用于当本地保存的所述业务模块对应的第二数据的第二标识与所述第一标识不同时,向所述业务板发送所述第二数据及第二标识。

本发明实施例提供了一种数据同步装置,发生主备倒换后,新的主用主控板可以针对每个业务板,当该业务板上的业务模块当前保存的数据的标识与该主控板当前保存的对应该业务模块的数据的标识不同时,将该业务模块的数据及其标识发送给该业务板,而不需要将每个业务模块对应的数据都发送给业务板,因此,能够减少主备倒换过程中的数据同步时间,降低主备倒换对分布式防火墙流量检测业务的影响。

进一步地,所述发送模块320,具体用于通过至少两条消息向所述业务板发送所述第二数据,其中,所述至少两条消息中的最后一条消息携带所述第二数据的部分数据及第二标识,所述至少两条消息中的其它消息携带所述第二数据的其它部分数据及与所述第二标识不同的标识。

进一步地,所述装置还包括:

更新模块(图中未示出),用于当检测到与所述业务模块对应的第二数据相关的更新数据时,根据所述更新数据将所述第二数据更新为第三数据,并将 所述第二标识更新为与所述第三数据对应的第三标识。

更进一步地,图4为本发明实施例提供的另一种数据同步装置,应用于分布式防火墙中的任一业务板,所述装置包括:

检测模块410,用于检测是否与主用主控板重连;

发送模块420,用于向所述主用主控板发送数据同步请求,其中,所述数据同步请求中包括该业务板当前保存的业务模块对应的第一数据的第一标识,以使所述主用主控板确定本地保存的所述业务模块对应的第二数据的第二标识与所述第一标识不同时,向所述业务板发送所述第二数据及第二标识;

接收模块430,用于接收所述主用主控板发送的第二数据及第二标识,并将所述第一数据及第一标识分别更新为第二数据及所述第二标识。

本发明实施例提供了一种数据同步装置,发生主备倒换后,新的主用主控板可以针对每个业务板,当该业务板上的业务模块当前保存的数据的标识与该主控板当前保存的对应该业务模块的数据的标识不同时,将该业务模块的数据及其标识发送给该业务板,而不需要将每个业务模块对应的数据都发送给业务板,因此,能够减少主备倒换过程中的数据同步时间,降低主备倒换对分布式防火墙流量检测业务的影响。

进一步地,所述接收模块430,包括:

接收子模块(图中未示出),用于接收所述主用主控板发送的至少两条消息,其中,每条消息中包含所述第二数据的部分数据,所述至少两条消息中的最后一条消息中包括所述第二标识,所述至少两条消息中的其他消息中包括与所述第二标识不同的标识;

执行子模块(图中未示出),用于删除本地保存的第一数据,保存所述至少两条消息中包括的第二数据的部分数据,并使用后一条消息中的第二标识更新保存的所述至少两条消息中的其它消息中包括的标识。

下面结合一个具体的实施例对本发明提供的数据同步方法进行详细的说明。

如图5(a)所示,本实施例的分布式防火墙可以包括进行重启的主用主控板、新的主用主控板、以及多个业务板(业务板1、业务板2…业务板n)。在本实施例中,以业务板1进行数据同步为例来说明本发明实施例的数据同步过程。

在本实施例中,业务板1可以包括业务模块1和业务模块2,并且,业务板1中保存有业务模块1和业务模块2对应的数据及其标识,如,业务模块1对应的数据的标识为100,业务模块2对应的数据的标识为0。

如图5(b)所示,当检测到与主用主控板重连时,业务板1的业务模块1、业务模块2可以分别向新的主用主控板发送数据同步请求。其中,业务模块1发送的第一数据同步请求中包括业务模块1当前保存的数据的标识100,业务模块2发送的第二数据同步请求中包括业务模块2当前保存的数据的标识0。

主用主控板接收到业务模块1发送的第一数据同步请求后,根据本地保存的对应业务模块1的标识信息100,确定业务板中业务模块1保存的数据的标识与本地保存的相同。

主用主控板接收到业务模块2发送的第二数据同步请求后,根据本地保存的对应业务模块2的标识信息200,确定业务板中业务模块2保存的数据的标识与本地保存的不同。

主用主控板可以将本地保存的对应业务模块2的数据及其标识发送给业务模块2,业务模块2使用主用主控板发送的数据及标识更新本地保存的数据及标识,即可实现本地与主用主控板间的数据同步。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的 其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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