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

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

本申请涉及计算机技术领域,尤其涉及一种数据同步方法及装置。



背景技术:

随着网络技术的不断发展,人们通过网络获取各种各样的信息已经成为生活中不可获取的一部分。

目前,为了方便人们方便记忆提供信息的服务器的互联网协议(Internet Protocol,IP)地址,服务器的IP地址可由一个域名代替,并把域名对外提供给用户,后续,用户可在浏览器的地址栏中输入域名,终端将该域名携带在信息获取请求中发送给域名服务器,域名服务器将域名解析成IP地址,并根据解析后的IP地址,将信息获取请求发送给IP地址对应的服务器,并从服务器中获取信息。

在实际应用中,由于域名服务器采用的主从模式,即,一个主域名服务器,多个从域名服务器,而用户在对保存在主域名服务器中的域名进行修改的时候,是通过访问主域名服务器进行修改的,也就是说,用户对保存在主域名服务器中的域名进行修改的,而不会对从域名服务器中保存的域名进行修改,因此,需要将主域名服务器中修改的域名同步到从域名服务器中。

在现有技术中,为了避免主域名服务器在给所有的从域名服务器同时同步的过程中因负载过大而导致主域名服务器宕机,因此,在将主域名的服务器中保存的域名同步到所有从域名服务器过程中,需要先将所有从域名服务器按照主域名服务器承受负载的要求分成不同的组,并针对任一组,主域名服务器同时与该组内包含的所有从域名服务器建立同步连接,并进行数据同步,当该组内的从域名服务器均同步完成后,针对剩余组中的任一一组中包含的从域名服务器建立同步连接,进行数据同步,直至所有组中包含的从域名服务器都完成数据同步。

但是,在现有技术中,当从域名服务器存在大量时,则将主域名服务器中已经修改的域名同步到所有的从域名服务器中,势必会需要大量的时间去进行数据同步,数据同步的及时性较低。



技术实现要素:

本申请实施例提供一种数据同步方法及装置,用以解决将主域名服务器中已经修改的域名同步到所有的从域名服务器中,数据同步的及时性较低的问题。

本申请实施例提供的一种数据同步方法,包括:

在多个域名服务器对应的数据库中修改网站的域名;

将修改后的域名同步到所述多个域名服务器中。

本申请实施例提供的一种数据同步装置,包括:

修改模块,用于在多个域名服务器对应的所述装置中修改网站的域名;

同步模块,用于将修改后的域名同步到所述多个域名服务器中。

本申请实施例提供一种数据同步方法及装置,该方法在多个域名服务器对应的数据库中修改网站的域名,将修改后的域名同步到所述多个域名服务器中。通过上述方法,即使存在大量的域名服务器,也可将已经修改的域名同时更新到所有的域名服务器,有效的提高了数据同步的及时性。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为本申请实施例提供的数据同步方法的过程示意图;

图2为本申请实施例提供的第一种数据同步系统结构示意图;

图3为本申请实施例提供的第二种数据同步系统结构示意图;

图4为本申请实施例提供的数据同步装置的结构示意图。

具体实施方式

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

图1为本申请实施例提供的数据同步过程,具体包括以下步骤:

S101:在多个域名服务器对应的数据库中修改网站的域名。

由于将域名服务器分为主域名服务器以及从域名服务器的模式,会为了保证主域名服务器在与从域名服务器进行数据同步时,主域名服务器不会因为负载过大而造成宕机,从而对同时与主域名服务器进行数据同步的从域名服务器的数量进行了限制,如果存在大量的从域名服务器,这样会造成数据同步不能及时同步到所有从域名服务器中,及时性较低。

因此,在本申请中,不再将域名服务器分成主域名服务器和从域名服务器,而是将域名服务器均作为同一级别的域名服务器,并且,将所有的域名服务器都与同一个数据库相连,如图2所示。

进一步的,在实际应用中,用户在注册申请到一个自己的网站的域名后,后续有可能会存在用户对自己注册的网站的域名进行修改的情况,在本申请中,用户在对自己注册的网站的域名进行修改的过程中,具体是在图2中所示的数据库中完成的。

另外,本申请也提供了修改网站的域名的整个过程,具体的,数据库可接收用户发送的携带有待修改域名的标识以及待修改域名的内容的域名修改请求,根据该待修改域名的标识,确定该待修改域名对应的包含有待修改域名的记录,根据该待修改域名的内容,对包含有待修改域名的记录中保存的域名进行修改,并在该待修改域名对应的序列号上加一。

在此需要说明的是,域名具体是存储在zone文件中的,一个域名对应的一个zone文件,而zone文件是存储在数据库中的记录中的,并且,数据库中一个记录中可以只保存一个用户申请注册的网站的域名,也即,数据库中一个记录中可以只保存一个包含用户申请注册的网站的域名的zone文件。

并且,由于后续需要对域名进行同步操作,因此,必须需要知道数据库中保存的哪个域名是被修改过的,在本申请中,可采用序列号的形式来标识域名是否被修改过,具体的,可针对任一域名,在数据库中开始建立该域名时候,需要为该域名建立一个初始序列号,后续,每修改一次域名,则可在序列号上加一,并把加一后的序列号作为该域名新的序列号,当然也可以加二,甚至加N(N大于1的正整数),只要保证修改前该域名的序列号与修改后该域名的序列号不一致即可,并且,每个域名的初始序列号可以相同,也可以不同。

另外,还需要说明的是,在接收用户发送的域名修改请求时,可以直接由数据库接收,也可以由Web服务器(如,webdns平台)接收用户发送的域名修改请求,再由Web服务器转发给数据库,如图3所示。

进一步的,由于在主域名服务器和从域名服务器的模式下,用户在修改自己的域名时通常都是在主域名服务器中进行修改的,并且,如果多个用户均对某域名进行修改时,主域名服务器会将最后一个用户的修改的域名作为最终保存的域名,但是,如果第一个修改域名的用户突然卡死或网络延迟造成该第一个修改域名的用户变成了最后一个修改域名的用户,这样主域名服务器保存的是其实是第一个修改域名的用户所修改的域名,显然,这有可能会造成修改的错误,为了保证用户在修改域名的过程中的准确性,因此,当用户在主域名服务器中进行域名修改时,会为该用户的操作行为进行上锁,也就是说,为该用户的操作行为进行上锁后,在上锁的过程中,只有该用户才可以在主域名服务器进行操作,其他用户需要排队等待,当该用户在主域名服务器中操作完成后,主域名服务器会自动为该用户进行解锁,这样下一个用户可在主域名服务器进行操作。

从上述也可以看出,当存在大量的用户去修改自己的网站的域名时,势必会造成用户的等待时间过长,针对上述出现的问题,在本申请中,可以采用数据库自带的行锁解决,具体的,数据库中每个记录都会有一个行锁,该行锁只会对该行锁对应的记录进行加锁,当用户在修改某个记录中包含的域名时,该行锁就会对该用户进行加锁,当前加锁的这段时间段内,只有该用户才可以对该记录进行操作,其他用户也想对记录进行操作时需要排队等待,但是其他用户想对数据库中别的记录中包含的域名进行修改时,则可进行操作,这样大大的降低了用户的等待时间。

S102:将修改后的域名同步到所述多个域名服务器中。

当用户在数据库中对自己注册的网站的域名进行修改完成后,数据库可分别与每个域名服务器建立连接,并将修改后的域名同步到多个域名服务器中,当然,多个域名服务器可每隔一定的周期时间向数据库发送更新询问请求,以此确定数据库中是否发生了更新,如果数据库中发生了更新,则数据库在接收到更新询问请求后,可分别与每个域名服务器建立连接,如果数据库中没有发生更新,则不用做任何操作处理。

进一步的,本申请提供了将修改后的域名同步到多个域名服务器中的方式,具体的,数据库将携带有各域名的标识以及各域名的序列号发送给每个域名服务器,域名服务器根据各域名的标识,找到各域名,并根据各域名的序列号,确定哪些域名是需要同步的域名(即,待同步的域名),将确定出的待同步的域名的标识携带在数据同步请求中发送给数据库,数据库根据待同步的域名的标识,在数据库中查找出待同步的域名,并将待同步的域名发送给每个域名服务器,完成整个数据同步。

另外,在此需要说明的是,数据库中所修改的不仅仅只有域名,也有可能是包含域名存储路径的配置文件,如,named.conf配置文件,可通过该配置文件查找到保存域名,如果包含域名存储路径的配置文件发生了修改,则需要通过上述方式将配置文件同步到多个域名服务器中。

由于在现有技术中所涉及的主域名服务器和从域名服务器模式中,从域名服务器中所保存的zone文件的文件格式为data格式,而主域名服务器中所保存的zone文件的文件格式为txt格式,后续,如果主域名服务器发生了宕机,则切换到从域名服务器,用户是无法对从域名服务器中所保存的zone文件中的域名进行修改的,并且,可读性很差,因此,针对上述情况,本申请可在同一级别的域名服务器中设置所保存文件的文件格式,让每个域名服务器中所包含的文件的文件格式均为txt格式,这样后续无论哪个域名服务器发生了宕机,都可以使用其他域名服务器代替进行域名解析工作。

最后,在此需要说明的是,本申请中所涉及的图2中的数据库只是在数据同步中发挥作用,而正常的dns查询和解析是在域名服务器中进行的,也就是说,当用户输入网站的网址后,终端将该域名携带在信息获取请求中发送给多个域名服务器中的任意一个,域名服务器将域名解析成IP地址,并根据解析后的IP地址,将信息获取请求发送给IP地址对应的服务器,并从服务器中获取信息。

以上为本申请实施例提供的数据同步方法,基于同样的思路,本申请实施例还提供一种数据同步装置。

如图4所示,本申请实施例提供的一种数据同步装置包括:

修改模块401,用于在多个域名服务器对应的所述装置中修改网站的域名;

同步模块402,用于将修改后的域名同步到所述多个域名服务器中。

所述修改模块401具体用于,接收用户发送的域名修改请求,其中,所述域名修改请求中携带有待修改域名的标识以及待修改域名的内容,根据所述待修改域名的标识,确定所述待修改域名对应的记录,根据所述待修改域名的内容,对所述记录中保存的数据进行修改,并在所述待修改域名对应的序列号上加一。

所述同步模块402具体用于,分别与每个所述域名服务器建立连接,将携带有各域名的标识以及各域名的序列号发送给每个域名服务器;其中,域名服务器根据所述各域名的标识以及所述各域名的序列号,确定待同步的域名,并将确定出的待同步的域名的标识携带在数据同步请求中发送给所述同步模块402;

所述同步模块402还具体用于,根据所述待同步的域名的标识,将待同步的域名发送给每个所述域名服务器。

所述修改模块401具体用于,通过Web服务器接收用户发送的域名修改请求。

所述域名服务器中包含txt格式的文件。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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