数据同步方法、装置、电子设备和计算机可读存储介质制造方法及图纸

技术编号:24456057 阅读:20 留言:0更新日期:2020-06-10 15:35
本发明专利技术提供一种数据同步方法、装置、电子设备和计算机可读存储介质,涉及集群的数据处理领域。该数据同步方法应用于集群的主节点,集群还设置有数据库和至少一个从节点,主节点和数据库、从节点分别通信连接;该方法包括:当主节点获取到域名数据同步请求时,从数据库中获取与域名数据同步请求对应的待同步域名数据;根据待同步域名数据和地址信息,生成主节点中的至少一个区域文件;发送域名数据同步指令至地址信息对应的从节点,以使从节点根据主节点中的增量数据更新从节点中的区域文件。主节点和数据库进行域名数据的同步,避免主节点直接修改区域文件出错;从节点依据主节点中的增量数据实现区域文件的更新,进而实现域名数据的增量同步。

Data synchronization method, device, electronic equipment and computer readable storage medium

【技术实现步骤摘要】
数据同步方法、装置、电子设备和计算机可读存储介质
本专利技术涉及集群的数据处理领域,具体而言,涉及一种数据同步方法、装置、电子设备和计算机可读存储介质。
技术介绍
域名系统(DomainNameSystem,DNS)一般存在主-从服务器,主服务器(Master)从其主机上的文件中读取区域数据,而从服务器(Slave)从该区域的权威名称服务器(通常为主服务器)上读取区域数据,也可从其他辅名称服务器上加载区域数据。在搭建权威DNS中,域名数据同步是至关重要的,目前的方案一般是在Master-Slave的两者之间数据以区域文件(Zone)的形式进行域名数据同步。在目前的技术方案中,一种实现DNS中域名数据同步的方式是使用Bind来实现DNS中Master-Slave之间的域名数据同步,Slave通过对比Master中的Zone文件序列号,加载最新的数据到Slave中;但是,每一个Slave都会在Master上生成全部的Zone数据,只能实现域名数据的全量同步,需要耗费较多的时间。因此,本领域技术人员采用了一种Bind+MySQL的数据同步方法,Master、Slave均从MySQL数据库获取数据,并进行域名数据同步;然而,当Slave需要使用厂商的云主机进行部署,且Slave对MySQL数据库中的数据进行修改时,Master无法有效的实时管理MySQL数据库中的数据,Master和Slave中的数据可能不一致,容易导致分布式系统的数据紊乱。因此,如何有效实现权威DNS的数据同步是目前亟待解决的问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种数据同步方法、装置、电子设备和计算机可读存储介质。为了实现上述目的,本专利技术实施例采用的技术方案如下:第一方面,本专利技术提供一种数据同步方法,应用于集群的主节点,所述集群还设置有数据库和至少一个从节点,所述主节点和所述数据库、所述从节点分别通信连接,所述主节点中存储有所述集群中所有节点的地址信息。所述方法包括:当所述主节点获取到域名数据同步请求时,从所述数据库中获取与所述域名数据同步请求对应的待同步域名数据;所述待同步域名数据为所述数据库中用于指示所述所有节点的域名配置的有效数据。根据所述待同步域名数据和所述地址信息,生成所述主节点中的至少一个区域文件;所述区域文件包括所述有效数据和所述有效数据对应的节点的地址信息。发送域名数据同步指令至所述地址信息对应的所述从节点,以使所述从节点根据所述主节点中的增量数据更新所述从节点中的区域文件;所述增量数据为所述主节点与所述从节点中的差异区域文件。在可选的实施方式中,所述发送域名数据同步指令至所述地址信息对应的所述从节点,以使所述从节点根据所述主节点中的增量数据更新所述从节点中的区域文件,包括:将所述主节点中的每个所述区域文件拆分为至少一个区域文件块。将每个所述区域文件块的校验信息发送至所述地址信息对应的所有从节点;所述校验信息包括所述区域文件块的文件块标识和滚动校验信息,所述文件块标识用于确定所述区域文件块所属的区域文件。接收第一从节点依据所述校验信息发送的差异区域文件块标识;所述第一从节点为所述所有从节点中的任一从节点,所述差异区域文件块标识为所述第一从节点依据所述滚动校验信息,校验所述第一从节点中的区域文件得到的。根据所述差异区域文件块标识对应的差异区域文件,生成所述增量数据。将所述增量数据发送至所述第一从节点,以使所述第一从节点根据所述增量数据更新所述第一从节点中的区域文件。在可选的实施方式中,所述根据所述差异区域文件块标识对应的差异区域文件,生成所述增量数据,包括:根据所述差异区域文件块标识对应的差异区域文件,生成与所述第一从节点的版本信息一致的增量数据。在可选的实施方式中,所述主节点中的每个区域文件都具有序列号,所述根据所述差异区域文件块标识对应的差异区域文件,生成与所述第一从节点的版本信息一致的增量数据,包括:将所述差异区域文件块标识与所述序列号匹配,从所述主节点中的所有所述区域文件中确定所述差异区域文件;根据所述差异区域文件和所述版本信息,生成所述增量数据。在可选的实施方式中,所述第一从节点部署在云端,所述云端上包括多个从节点。所述将所述增量数据发送至所述第一从节点,以使所述第一从节点根据所述增量数据更新所述第一从节点中的区域文件,包括:发送所述增量数据至所述云端,以使所述云端确定所述多个从节点中的第一从节点,所述第一从节点根据所述增量数据更新所述第一从节点中的区域文件。第二方面,本专利技术提供一种数据同步装置,应用于集群的主节点,所述集群还设置有数据库和至少一个从节点,所述主节点和所述数据库、所述从节点分别通信连接,所述主节点中存储有所述集群中所有节点的地址信息。所述装置包括:通信模块和处理模块。所述通信模块用于当所述主节点获取到域名数据同步请求时,从所述数据库中获取与所述域名数据同步请求对应的待同步域名数据;所述待同步域名数据为所述数据库中用于指示所述所有节点的域名配置的有效数据。所述处理模块用于根据所述待同步域名数据和所述地址信息,生成所述主节点中的至少一个区域文件;所述区域文件包括所述有效数据和所述有效数据对应的节点的地址信息。所述通信模块还用于发送域名数据同步指令至所述地址信息对应的所述从节点,以使所述从节点根据所述主节点中的增量数据更新所述从节点中的区域文件;所述增量数据为所述主节点与所述从节点中的差异区域文件。在可选的实施方式中,所述处理模块还用于将所述主节点中的每个所述区域文件拆分为至少一个区域文件块。所述处理模块还用于将每个所述区域文件块的校验信息发送至所述地址信息对应的所有从节点;所述校验信息包括所述区域文件块的文件块标识和滚动校验信息,所述文件块标识用于确定所述区域文件块所属的区域文件。所述通信模块还用于接收第一从节点依据所述校验信息发送的差异区域文件块标识;所述第一从节点为所述所有从节点中的任一从节点,所述差异区域文件块标识为所述第一从节点依据所述滚动校验信息,校验所述第一从节点中的区域文件得到的。所述处理模块还用于根据所述差异区域文件块标识对应的差异区域文件,生成所述增量数据。所述通信模块还用于将所述增量数据发送至所述第一从节点,以使所述第一从节点根据所述增量数据更新所述第一从节点中的区域文件。在可选的实施方式中,所述处理模块还用于根据所述差异区域文件块标识对应的差异区域文件,生成与所述第一从节点的版本信息一致的增量数据。在可选的实施方式中,所述主节点中的每个区域文件都具有序列号;所述处理模块还用于将所述差异区域文件块标识与所述序列号匹配,从所述主节点中的所有所述区域文件中确定所述差异区域文件。所述处理模块还用于根据所述差异区域文件和所述版本信息,生成所述增量数据。在可选的实施方式中,所述第一从节点部署在云端,所述云端上包括多个从节点。所述通信模块还用于发送所述增量数据至所述云端,以使所述云端确定所述多个从节点中的第一从节点,所述第一从节点根据所述增量数据更新所述第一从节点中的区域文件。第三方面,本专利技术提供一种电子设备,本文档来自技高网
...

【技术保护点】
1.一种数据同步方法,其特征在于,应用于集群的主节点,所述集群还设置有数据库和至少一个从节点,所述主节点和所述数据库、所述从节点分别通信连接,所述主节点中存储有所述集群中所有节点的地址信息,所述方法包括:/n当所述主节点获取到域名数据同步请求时,从所述数据库中获取与所述域名数据同步请求对应的待同步域名数据;所述待同步域名数据为所述数据库中用于指示所述所有节点的域名配置的有效数据;/n根据所述待同步域名数据和所述地址信息,生成所述主节点中的至少一个区域文件;所述区域文件包括所述有效数据和所述有效数据对应的节点的地址信息;/n发送域名数据同步指令至所述地址信息对应的所述从节点,以使所述从节点根据所述主节点中的增量数据更新所述从节点中的区域文件;所述增量数据为所述主节点与所述从节点中的差异区域文件。/n

【技术特征摘要】
1.一种数据同步方法,其特征在于,应用于集群的主节点,所述集群还设置有数据库和至少一个从节点,所述主节点和所述数据库、所述从节点分别通信连接,所述主节点中存储有所述集群中所有节点的地址信息,所述方法包括:
当所述主节点获取到域名数据同步请求时,从所述数据库中获取与所述域名数据同步请求对应的待同步域名数据;所述待同步域名数据为所述数据库中用于指示所述所有节点的域名配置的有效数据;
根据所述待同步域名数据和所述地址信息,生成所述主节点中的至少一个区域文件;所述区域文件包括所述有效数据和所述有效数据对应的节点的地址信息;
发送域名数据同步指令至所述地址信息对应的所述从节点,以使所述从节点根据所述主节点中的增量数据更新所述从节点中的区域文件;所述增量数据为所述主节点与所述从节点中的差异区域文件。


2.根据权利要求1所述的方法,其特征在于,所述发送域名数据同步指令至所述地址信息对应的所述从节点,以使所述从节点根据所述主节点中的增量数据更新所述从节点中的区域文件,包括:
将所述主节点中的每个所述区域文件拆分为至少一个区域文件块;
将每个所述区域文件块的校验信息发送至所述地址信息对应的所有从节点;所述校验信息包括所述区域文件块的文件块标识和滚动校验信息,所述文件块标识用于确定所述区域文件块所属的区域文件;
接收第一从节点依据所述校验信息发送的差异区域文件块标识;所述第一从节点为所述所有从节点中的任一从节点,所述差异区域文件块标识为所述第一从节点依据所述滚动校验信息,校验所述第一从节点中的区域文件得到的;
根据所述差异区域文件块标识对应的差异区域文件,生成所述增量数据;
将所述增量数据发送至所述第一从节点,以使所述第一从节点根据所述增量数据更新所述第一从节点中的区域文件。


3.根据权利要求2所述的方法,其特征在于,所述根据所述差异区域文件块标识对应的差异区域文件,生成所述增量数据,包括:
根据所述差异区域文件块标识对应的差异区域文件,生成与所述第一从节点的版本信息一致的增量数据。


4.根据权利要求3所述的方法,其特征在于,所述主节点中的每个区域文件都具有序列号,所述根据所述差异区域文件块标识对应的差异区域文件,生成与所述第一从节点的版本信息一致的增量数据,包括:
将所述差异区域文件块标识与所述序列号匹配,从所述主节点中的所有所述区域文件中确定所述差异区域文件;
根据所述差异区域文件和所述版本信息,生成所述增量数据。


5.根据权利要求2所述的方法,其特征在于,所述第一从节点部署在云端,所述云端上包括多个从节点;
所述将所述增量数据发送至所述第一从节点,以使所述第一从节点根据所述增量数据更新所述第一从节点中的区...

【专利技术属性】
技术研发人员:郑腾辉周健张波王华夏毛茂德
申请(专利权)人:广州虎牙科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1