一种数据同步的方法、同步设备、装置及存储介质与流程

文档序号:11479779阅读:193来源:国知局
一种数据同步的方法、同步设备、装置及存储介质与流程

本申请涉及网络通信领域,尤其涉及一种数据同步的方法、同步设备、装置及存储介质。



背景技术:

随着智能移动终端的普及,用户规模的不断膨胀,用户对资源文件(比如应用安装包、图片、视频、音乐等)的需求量也越来越大。为了提高用户终端的网络访问速度,提高用户体验,业界提供了一种内容分发网络(英文全称:contentdeliverynetwork,英文缩写:cdn)技术,该cdn技术主要用于为终端用户选择距离最近的网络存储节点来访问需要的文件,比如某应用文件在全国各区的互联网数据中心(英文全称:internetdatacenter,英文缩写:idc)机房都存储有文件副本,终端用户在访问该应用文件时,通过cdn从而选择距离该终端用户近的idc机房获取该应用文件,从而提高了用户的访问速度。

当应用服务器对存储在某网络存储节点的文件进行修改后,为了使得各地区的网络存储节点上的文件能够同步,工程师们会将文件拷贝到不同的网络存储节点。但是大流量跨网络存储节点拷贝文件,会占用网络存储节点的专线带宽,影响网络存储节点的业务系统正常运转,造成网络存储节点的业务系统不稳定。



技术实现要素:

本申请实施例提供了一种数据同步的方法、同步设备、装置及存储介质,用于提高网络带宽资源的利用率。

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

同步设备将待同步文件发送给内容分发网络服务器;

同步设备通过第一数据通道向第一网络存储节点发送同步指示,同步指示包含待同步文件的标识,以使得第一网络存储节点根据同步指示通过第二数据通道从内容分发网络服务器中获取待同步文件。

一种可能的实现方式中,同步设备为应用服务器;在同步设备将待同步文件发送给内容分发网络服务器之前,方法还包括:

应用服务器修改目标文件,或者新增目标文件,以使得目标文件为待同步文件。

另一种可能的实现方式中,同步设备为第二网络存储节点;在同步设备将待同步文件发送给内容分发网络服务器之前,方法还包括:

第二网络存储节点接收到应用服务器发送的修改目标文件的指示,并根据指示修改目标文件,以使得目标文件为待同步文件;或者,

第二网络存储节点接收到应用服务器发送的目标文件,以使得目标文件为待同步文件,目标文件为新增文件。

另一种可能的实现方式中,第一数据通道为网络存储节点之间的专用数据通道,第二数据通道为公用数据通道。

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

第一网络存储节点接收应用服务器或第二网络存储节点通过第一数据通道发送的同步指示,同步指示包含待同步文件的标识;

第一网络存储节点根据同步指示通过第二数据通道从内容分发服务器中获取待同步文件;

第一网络存储节点将待同步文件更新至本地。

一种可能的实现方式中,方法还包括:

第一网络存储节点接收应用服务器发送的通过第一数据通道发送的日志文件信息,日志文件信息中包含待同步文件的更改信息;

第一网络存储节点根据日志文件信息校验所获取到的待同步文件的内容是否完整;

当所获取到的待同步文件的内容不完整时,第一网络存储节点重新向内容分发服务器中获取待同步文件。

本申请实施例第三方面提供一种同步设备,包括:

发送单元,用于将待同步文件发送给内容分发网络服务器;

发送单元还用于,通过第一数据通道向第一网络存储节点发送同步指示,同步指示包含待同步文件的标识,以使得第一网络存储节点根据同步指示通过第二数据通道从内容分发网络服务器中获取待同步文件。

一种可能的实现方式中,同步设备为应用服务器;同步设备还包括:

修改单元,用于在发送单元将待同步文件发送给内容分发网络服务器之前,修改目标文件,或者新增目标文件,以使得目标文件为待同步文件。

另一种可能的实现方式中,同步设备为第二网络存储节点;同步设备还包括:

接收单元,用于在发送单元将待同步文件发送给内容分发网络服务器之前,接收到应用服务器发送的修改目标文件的指示;

修改单元,用于根据指示修改目标文件,以使得目标文件为待同步文件;或者,

接收单元还用于,接收到应用服务器发送的目标文件,以使得目标文件为待同步文件,目标文件为新增文件。

另一种可能的实现方式中,第一数据通道为网络存储节点之间的专用数据通道,第二数据通道为公用数据通道。

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

接收单元,用于接收应用服务器或第二网络存储节点通过第一数据通道发送的同步指示,同步指示包含待同步文件的标识;

获取单元,用于根据同步指示通过第二数据通道从内容分发服务器中获取待同步文件;

更新单元,用于将待同步文件更新至本地。

一种可能的实现方式中,接收单元还用于:

接收应用服务器发送的通过第一数据通道发送的日志文件信息,日志文件信息中包含待同步文件的更改信息;

装置还包括:

校验单元,用于根据日志文件信息校验所获取到的待同步文件的内容是否完整;

获取单元还用于,当所获取到的待同步文件的内容不完整时,重新向内容分发服务器中获取待同步文件。

本申请实施例第五方面提供一种计算机装置,计算机装置包括处理器,处理器用于执行存储器中存储的计算机程序时实现如第一方面或第二方面中任意一种实现方式的步骤。

本申请实施例第六方面提供一种计算机可读存储介质,其上存储有计算机程序(指令),其特征在于:计算机程序(指令)被处理器执行时实现如第一方面或第二方面中任意一种实现方式的步骤。

从以上技术方案可以看出,本申请实施例具有以下优点:

同步设备将待同步文件发送给内容分发网络服务器,同步设备通过第一数据通道向第一网络存储节点发送同步指示,同步指示包含待同步文件的标识,以使得第一网络存储节点根据同步指示通过第二数据通道从内容分发网络服务器中获取待同步文件。这样,当有文件需要更新同步时,只需要通过第一数据通道向各个网络存储节点发送同步指示,由各个网络存储节点通过第二数据通道从内容分发网络服务器获取相应的待同步文件,无需网络存储节点之间通过专用信道进行大量数据的传输,节省了网络存储节点的专用带宽,提高了网络带宽资源的利用率,同时提高了网络存储节点的业务系统的稳定性。

附图说明

图1为本申请实施例中数据同步的方法的一个实施例示意图;

图2为本申请实施例中数据同步的方法的另一实施例示意图;

图3为本申请实施例中数据同步的方法的另一实施例示意图;

图4为本申请实施例中同步设备的一个实施例示意图;

图5为本申请实施例中同步设备的另一实施例示意图;

图6为本申请实施例中数据同步的装置的一个实施例示意图;

图7为本申请实施例中同步设备或数据同步装置的另一实施例示意图。

具体实施方式

本申请实施例提供了一种数据同步的方法、同步设备、装置及存储介质,用于提高网络带宽资源的利用率。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本申请实施例中,同步设备可以为应用服务器,也可以为第二网络存储节点,下面通过多个实施例对本申请中数据同步的方法进行具体描述。其中,图1实施例中,同步设备为应用服务器,图2实施例中,同步设备为第二网络存储节点。

参照图1所示,本申请实施例中数据同步的方法的一个实施例包括:

101、应用服务器修改目标文件,或者新增目标文件,以使得所述目标文件为待同步文件。

应用服务器为运营商所经营的服务器,该服务器通过运行所存储的文件来为终端提供不同的应用服务。比如,该应用服务器为视频类型的服务器,用于为终端提供视频访问的服务。为了使得不同地区的终端能够快速的访问该应用服务器中的文件,一般的在各个地区都设置有网络存储节点,应用服务器需要将给终端提供应用服务的文件部署在各个地区的网络存储节点中,以便各个地区的终端通过所对应的内容分发网络cdn服务器快速访问该应用服务器所提供的业务服务。本申请中的网络存储节点可以为idc机房。

各个地区网络存储节点所存储的同一应用服务器的文件必须相同,才能使得各个地区的终端能够访问相同的业务内容。因此,当运营商需要更新某个文件时,或者新增一个文件时,需要通过应用服务器进行修改或者新增。当应用服务器进行文件的修改或者新增后,所得到的目标文件为待同步文件,待同步文件需要同步到各个不同的网络存储节点中。具体流程通过后续步骤做进一步描述。

102、所述应用服务器将待同步文件发送给内容分发网络服务器。

若各个地区的网络存储节点均直接通过应用服务器获取待同步文件,那么会造成应用服务器比较大的流量负载,有可能造成该应用服务器的其它业务的正常运行。因此,应用服务器可以将待同步文件发送给cdn服务器,cnd服务器可以为一个或多个,应用服务器将该待同步文件发送给一个cdn服务器,也可以将该待同步文件发送给多个cdn服务器。若应用服务器将该待同步文件发送给一个cdn服务器,可以再由该cdn服务器将该待同步文件发送给其它cdn服务器。

103、所述应用服务器通过第一数据通道向第一网络存储节点发送同步指示,所述同步指示包含所述待同步文件的标识,以使得所述第一网络存储节点根据所述同步指示通过第二数据通道从所述内容分发网络服务器中获取所述待同步文件。

应用服务器在将待同步文件发送给cdn服务器后,则可以通过第一数据通道向第一网络存储节点发送同步指示,指示该第一网络存储节点通过第二数据通道从该cnd服务器中下载待同步文件,从而进行本地更新。同步指示中包含待同步文件的标识,以便第一网络存储节点能够确认需要获取哪个文件。该待同步文件的标识可以为文件名,或者文件序号等其它可用于唯一指代该待同步文件的标记,具体不做限定。

可选的,所述第一数据通道为专用数据通道,所述第二数据通道为公用数据通道。应用服务器与cdn服务器之间、应用服务器与网络存储节点之间、以及不同的网络存储节点之间可以使用专用数据通道,即使用专用网络进行数据传输。应用服务器与网络存储节点之间,则可以通过公用数据通道,即使用公用网络进行数据传输。这样,使得网络带宽资源得到合理利用,提高了网络资源的利用率。

参照图2所示,本申请实施例中数据同步的方法的另一实施例包括:

201、第二网络存储节点接收到应用服务器发送的修改目标文件的指示或者目标文件。

在本实施例中,同步设备为第二网络存储节点。运营商通过应用服务器在修改了目标文件或者新增了目标文件后,先发送指示给一个网络存储节点,或者把新增的目标文件发送给一个网络存储节点,以使得该目标文件为待同步文件。

202、所述第二网络存储节点将待同步文件发送给内容分发网络服务器。

由于第二网络存储节点已经获取到了待同步文件,在本申请实施例中,则可以由第二网络存储节点将该待同步文件发送给cnd服务器。具体内容与步骤102类似,此处不做赘述。

203、所述第二网络存储节点通过第一数据通道向第一网络存储节点发送同步指示,所述同步指示包含所述待同步文件的标识,以使得所述第一网络存储节点根据所述同步指示通过第二数据通道从所述内容分发网络服务器中获取所述待同步文件。

具体内容与步骤103类似,此处不做赘述。

本申请实施例中,同步设备将待同步文件发送给内容分发网络服务器,所述同步设备通过第一数据通道向第一网络存储节点发送同步指示,所述同步指示包含所述待同步文件的标识,以使得所述第一网络存储节点根据所述同步指示通过第二数据通道从所述内容分发网络服务器中获取所述待同步文件。这样,当有文件需要更新同步时,只需要通过第一数据通道向各个网络存储节点发送同步指示,由各个网络存储节点通过第二数据通道从内容分发网络服务器获取相应的待同步文件,无需网络存储节点之间通过专用信道进行大量数据的传输,节省了网络存储节点的专用带宽,提高了网络带宽资源的利用率,同时提高了网络存储节点的业务系统的稳定性。

参照图3所示,本申请实施例中数据同步的方法的另一实施例包括:

301、第一网络存储节点接收应用服务器或第二网络存储节点通过第一数据通道发送的同步指示,所述同步指示包含待同步文件的标识。

详细内容参照步骤101和步骤201所述,此处不做赘述。

302、所述第一网络存储节点根据所述同步指示通过第二数据通道从内容分发服务器中获取所述待同步文件。

所述同步指示包含该待同步文件的标识,那么第一网络存储节点则能够确认需要从cdn服务器中下载哪个文件,以进行更新同步。

可选的,所述第一数据通道为专用数据通道,所述第二数据通道为公用数据通道。应用服务器与cdn服务器之间、应用服务器与网络存储节点之间、以及不同的网络存储节点之间可以使用专用数据通道,即使用专用网络进行数据传输。应用服务器与网络存储节点之间,则可以通过公用数据通道,即使用公用网络进行数据传输。这样,使得网络带宽资源得到合理利用,提高了网络资源的利用率。

303、所述第一网络存储节点将所述待同步文件更新至本地。

第一网络存储节点在获取到待同步文件后,则将获取到的待同步文件更新至本地。比如,若该待同步文件为修改后的文件,则第一网络存储节点将该待同步文件替换掉之前所存储的文件;若该待同步文件为新增文件,那么第一网络存储节点则将该待同步文件新增存储在本地。

可选的,该数据同步的方法还可以包括如下步骤:

304、所述第一网络存储节点接收所述应用服务器发送的通过第一数据通道发送的日志文件信息,所述日志文件信息中包含所述待同步文件的更改信息。

可选的,第一网络存储节点在获取待同步文件后,第一网络存储节点还从应用服务器中接收日志文件信息,该日志文件信息中包含待同步文件的更改信息,以便第一网络存储节点进行校验。

可选的,第一网络存储节点还可以通过周期性的方式来获取该日志文件信息,比如每隔1小时从应用服务器中获取一次日志文件信息,判断该日志文件信息中是否存在修改后的待同步文件的修改内容,进而根据该日志文件信息对获取到的待同步文件进行校验。

305、所述第一网络存储节点根据所述日志文件信息校验所获取到的所述待同步文件的内容是否完整;当所获取到的待同步文件的内容不完整时,所述第一网络存储节点重新向所述内容分发服务器中获取待同步文件。

可选的,日志文件信息可以包含md5(message-digestalgorithm5)码,第一网络存储节点可以通过md5码对该待同步文件进行校验,校验该待同步文件是否完整。若校验出从cdn服务器所获取到的待同步文件不完整时,则表示在下载过程中出现了丢包或者错乱的情况,因此,第一网络存储节点可以重新向该cdn服务器重新下载待同步文件。

参照图4所示,当同步设备为应用服务器时,本申请实施例中同步设备的一个实施例包括:

发送单元401,用于将待同步文件发送给内容分发网络服务器;

所述发送单元401还用于,通过第一数据通道向第一网络存储节点发送同步指示,所述同步指示包含所述待同步文件的标识,以使得所述第一网络存储节点根据所述同步指示通过第二数据通道从所述内容分发网络服务器中获取所述待同步文件。

可选的,所述同步设备还包括:

修改单元402,用于在所述发送单元将待同步文件发送给内容分发网络服务器之前,修改目标文件,或者新增目标文件,以使得所述目标文件为待同步文件。

图4实施例的具体描述参照图1实施例中数据同步的方法的描述内容,此处不做赘述。

参照图5所示,当同步设备为第二网络存储节点时,本申请实施例中同步设备的一个实施例包括:

发送单元501,用于将待同步文件发送给内容分发网络服务器;

所述发送单元501还用于,通过第一数据通道向第一网络存储节点发送同步指示,所述同步指示包含所述待同步文件的标识,以使得所述第一网络存储节点根据所述同步指示通过第二数据通道从所述内容分发网络服务器中获取所述待同步文件。

接收单元502,用于在所述发送单元将待同步文件发送给内容分发网络服务器之前,接收到应用服务器发送的修改目标文件的指示;

修改单元503,用于根据所述指示修改所述目标文件,以使得所述目标文件为待同步文件;或者,

所述接收单元502还用于,接收到应用服务器发送的目标文件,以使得所述目标文件为待同步文件,所述目标文件为新增文件。

可选的,所述第一数据通道为网络存储节点之间的专用数据通道,所述第二数据通道为公用数据通道。

图5实施例的具体描述参照图2实施例中数据同步的方法的描述内容,此处不做赘述。

参照图6所示,本申请实施例中数据同步的装置的一个实施例包括:

接收单元601,用于接收应用服务器或第二网络存储节点通过第一数据通道发送的同步指示,所述同步指示包含待同步文件的标识;

获取单元602,用于根据所述同步指示通过第二数据通道从内容分发服务器中获取所述待同步文件;

更新单元603,用于将所述待同步文件更新至本地。

可选的,所述接收单元601还用于:

接收所述应用服务器发送的通过第一数据通道发送的日志文件信息,所述日志文件信息中包含所述待同步文件的更改信息;

所述装置还包括:

校验单元604,用于根据所述日志文件信息校验所获取到的所述待同步文件的内容是否完整;

所述获取单元602还用于,当所获取到的待同步文件的内容不完整时,重新向所述内容分发服务器中获取待同步文件。

图6实施例的具体描述参照图3实施例中数据同步的方法的描述内容,此处不做赘述。

本申请实施例中的同步设备或数据同步的装置还可以以另一种形式的实施例。参照图7所示,该实施例的同步设备或数据同步的装置包括:处理器701、存储器702、收发器703,所述处理器701、所述存储器702以及所述收发器703通过总线704连接,收发器703可以包括发送器与接收器,所述存储器702存储有计算机程序,例如数据同步的程序。所述处理器701执行所述计算机程序时实现上述各个数据同步的方法实施例中的步骤,例如图1所示的步骤101-103。或者,所述处理器701执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如发送单元401等。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述多节点回源的装置中的执行过程。例如,所述计算机程序可以被分割成接收单元、获取单元、更新单元,各模块具体功能如下:

接收单元,用于接收应用服务器或第二网络存储节点通过第一数据通道发送的同步指示,所述同步指示包含待同步文件的标识;

获取单元,用于根据所述同步指示通过第二数据通道从内容分发服务器中获取所述待同步文件;

更新单元,用于将所述待同步文件更新至本地。

所述同步设备或数据同步的装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述同步设备或数据同步的装置可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述示意图仅仅是多节点回源的装置的示例,并不构成对同步设备或数据同步的装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述同步设备或数据同步的装置还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述同步设备或数据同步的装置的控制中心,利用各种接口和线路连接整个同步设备或数据同步的装置的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述建立通信的装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

所述同步设备或数据同步的装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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