文件同步方法、装置、计算机设备和存储介质与流程

文档序号:16200064发布日期:2018-12-08 06:31阅读:151来源:国知局
文件同步方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种文件同步方法、装置、计算机设备和存储介质。

背景技术

随着计算机技术的发展,信息化程度越来越高,业务处理过程中对应生成的文件数量也越来越多。为了满足业务需求,可能会将本地存储的海量文件同步至另一服务器或服务器集群。文件同步过程中,文件同步效率和文件同步对在线业务的影响是值得关注的问题。

目前,文件同步过程中,为了保证文件的一致性,通常采用离线方式进行文件同步。离线方式是指线下将本地存储的海量文件拷贝至另一服务器或服务器集群。然而,这种文件同步方式存在同步效率低的问题。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提高同步效率的文件同步方法、装置、计算机设备和存储介质。

一种文件同步方法,所述方法包括:

接收文件同步指令;

根据所述文件同步指令查询待同步的已有文件和相应的文件存储路径;

将所述已有文件和所述文件存储路径全量同步至目标服务器;所述文件存储路径用于指示所述目标服务器按照所述文件存储路径存储所述已有文件;

当全量同步完成时,确定从开始全量同步起所新增的文件的总量;

当所述总量大于或等于预设阈值时,迭代地将从上次同步起新增的文件同步至所述目标服务器。

在其中一个实施例中,所述方法还包括:当所述总量小于所述预设阈值时,以增量同步方式将所述从开始全量同步起所新增的文件同步至所述目标服务器。

在其中一个实施例中,所述方法还包括:

当产生新增文件时,将所述新增文件对应的文件标识记录在日志中;

在以增量同步方式同步的过程中,实时检测所述日志中新增的文件标识;

根据新增的所述文件标识获取相应的新增文件和新增文件的文件存储路径;

将获取的所述新增文件和新增文件的文件存储路径实时同步至所述目标服务器;实时同步的新增文件和新增文件的文件存储路径,用于指示所述目标服务器按照实时同步的新增文件的文件存储路径存储实时同步的新增文件。

在其中一个实施例中,所述方法还包括:在迭代进行的同步过程中,当从上次同步起新增的文件的总量小于所述预设阈值时,结束迭代,并以增量同步方式将从上次同步起新增的文件同步至所述目标服务器。

在其中一个实施例中,所述方法还包括:当新增文件时,将新增的所述文件对应的文件标识和新增时间记录在日志中;

所述当全量同步完成时,确定从开始全量同步起所新增的文件的总量包括:

当全量同步完成时,获取全量同步开始时间;

从所述日志中筛选出新增时间晚于所述全量同步开始时间的文件标识;

将筛选出的所述文件标识对应的文件的数量,确定为从开始全量同步起所新增的文件的总量。

在其中一个实施例中,所述方法还包括:接收所述目标服务器反馈的表示同步失败的提示信息;

根据所述提示信息确定同步失败的文件和相应的文件存储路径;

将所确定的所述文件和相应的文件存储路径重新同步至目标服务器。

在其中一个实施例中,所述方法还包括:实时检测网络传输流量;

将所述网络传输流量与预设流量阈值进行比较;

当所述网络传输流量达到所述预设流量阈值时,降低文件同步速率。

一种文件同步装置,所述装置包括:

接收模块,用于接收文件同步指令;

查询模块,用于根据所述文件同步指令查询待同步的已有文件和相应的文件存储路径;

全量同步模块,用于将所述已有文件和所述文件存储路径全量同步至目标服务器;所述文件存储路径用于指示所述目标服务器按照所述文件存储路径存储所述已有文件;

确定模块,用于当全量同步完成时,确定从开始全量同步起所新增的文件的总量;

迭代同步模块,用于当所述总量大于或等于预设阈值时,迭代地将从上次同步起新增的文件同步至所述目标服务器。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

接收文件同步指令;

根据所述文件同步指令查询待同步的已有文件和相应的文件存储路径;

将所述已有文件和所述文件存储路径全量同步至目标服务器;所述文件存储路径用于指示所述目标服务器按照所述文件存储路径存储所述已有文件;

当全量同步完成时,确定从开始全量同步起所新增的文件的总量;

当所述总量大于或等于预设阈值时,迭代地将从上次同步起新增的文件同步至所述目标服务器。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

接收文件同步指令;

根据所述文件同步指令查询待同步的已有文件和相应的文件存储路径;

将所述已有文件和所述文件存储路径全量同步至目标服务器;所述文件存储路径用于指示所述目标服务器按照所述文件存储路径存储所述已有文件;

当全量同步完成时,确定从开始全量同步起所新增的文件的总量;

当所述总量大于或等于预设阈值时,迭代地将从上次同步起新增的文件同步至所述目标服务器。

上述文件同步方法、装置、计算机设备和存储介质,根据接收到的文件同步指令进行全量同步,全量同步过程中将已有文件和对应的文件存储路径一起同步至目标服务器,以使得目标服务器根据文件存储路径对应存储相应的已有文件,从而保证文件同步前后,文件存储路径的一致性。当全量同步完成、且全量同步过程中新增的第一增量文件数量达到预设数量阈值时,自动触发迭代式增量同步,将新增文件同步至目标服务器,这样,在保证了文件一致性的情况下,可以有效提高文件同步效率。

附图说明

图1为一个实施例中文件同步方法的应用场景图;

图2为一个实施例中文件同步方法的流程示意图;

图3为另一个实施例中文件同步方法的流程示意图;

图4为一个实施例中文件同步装置的结构框图;

图5为另一个实施例中文件同步装置的结构框图;

图6为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的文件同步方法,可以应用于如图1所示的应用环境中。其中,源服务器104通过网络分别与终端102和目标服务器106进行通信。源服务器104根据终端102发送的文件同步指令查询待同步的已有文件和文件存储路径,将查询到的已有文件和文件存储路径全量同步至目标服务器106,以使得目标服务器106根据文件存储路径存储已有文件。进一步地,全量同步完成时,源服务器104获取全量同步过程中新增的文件的总量,当总量达到预设阈值时,源服务器迭代地将新增的文件同步至目标服务器106。

其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,源服务器104和目标服务器106均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。源服务器104和目标服务器106可以部署在同一机房内,也可以分别部署于不同机房。

以源服务器104和目标服务器106分别部署于不同机房为例。源服务器104部署在主机房,具有读写属性,即源服务器104支持写操作和读操作。目标服务器106部署在备机房,具有只读属性,即目标服务器106仅支持读操作不支持写操作。读写属性或只读属性分别用相应的属性参数对应表示,比如属性参数1表示读写属性,属性参数0表示只读属性。

在一个实施例中,如图2所示,提供了一种文件同步方法,以该方法应用于图1中的源服务器为例进行说明,包括以下步骤:

s202,接收文件同步指令。

其中,文件同步指令是触发文件同步操作的指令。具体地,源服务器接收终端通过无线或有线网络发送的文件同步指令。终端检测到同步文件的触发操作时,根据所检测到的触发操作生成文件同步指令,将所生成的文件同步指令发送至源服务器。终端上运行有能够触发生成文件同步指令的客户端,通过运行于终端的客户端根据检测到的触发操作生成文件同步指令,并将文件同步指令发送至源服务器。其中,客户端是安装并运行于终端的计算机程序。

s204,根据文件同步指令查询待同步的已有文件和相应的文件存储路径。

其中,已有文件是指当前时间已经存在的文件。当前时间是指接收到文件同步指令时的时间。待同步的已有文件是指已经预先生成并存储在本地的可同步文件。文件存储路径是指文件存储的路径。文件存储路径用于表示文件在服务器中的存储目录。

具体地,源服务器接收到文件同步指令时,根据所接收到的文件同步指令在本地查询已有的文件存储路径,根据所查询到的文件存储路径查询相应的已有文件,所查询到的已有文件即为根据文件同步指令对应确定的待同步的已有文件。源服务器可以通过全盘搜索的方式查询本地已有的文件存储路径。

在一个实施例中,源服务器新增文件时,将新增的文件对应的文件标识和新增时间对应记录在日志中。接收到文件同步指令时,源服务器获取当前时间,将所获取的当前时间确定为全量同步开始时间。源服务器根据日志中对应记录的文件标识和新增时间,确定新增时间早于或等于全量同步开始时间的文件标识,根据所确定的文件标识查询待同步的已有文件和相应的文件存储路径。

在一个实施例中,源服务器根据文件同步指令获取已有的文件标识,根据所获取的文件标识查询相应文件的文件存储路径,进而根据所查询到的文件存储路径对应查询待同步的已有文件。

在一个实施例中,源服务器接收到文件同步指令时,通过全盘搜索的方式获取已有的文件标识。源服务器可以通过解析接收到的文件同步指令,获得已有的文件标识。

在一个实施例中,源服务器将新增的文件标识按照指定存储路径进行存储。源服务器解析接收到的文件同步指令,获得存储文件标识的指定存储路径,根据所获得的指定存储路径查询已有的文件标识。

s206,将已有文件和文件存储路径全量同步至目标服务器;文件存储路径用于指示目标服务器按照文件存储路径存储已有文件。

其中,全量同步是同步所有的文件。在本实施例中,全量同步是指对所查询到的所有的已有文件进行同步。

具体地,源服务器查询到待同步的已有文件和相应的文件存储路径时,将所查询到的各已有文件,以及各已有文件各自对应的文件存储路径分别同步至目标服务器。目标服务器对所接收到的已有文件按照各已有文件各自对应的文件存储路径进行存储。

在一个实施例中,源服务器将所查询到的各已有文件,以及各已有文件各自对应的文件存储路径并行同步至目标服务器。在一个实施例中,源服务器根据所查询到的已有文件确定待同步的已有文件的总量,根据已有文件的总量确定所要创建的线程数量,通过所创建的线程将已有文件和相应的文件存储路径并行同步至目标服务器。根据已有文件的总量确定并行同步的并发量,这样,在不会影响线上业务的情况下,保证了同步效率。

s208,当全量同步完成时,确定从开始全量同步起所新增的文件的总量。

其中,全量同步完成是指将待同步的已有文件和相应的文件存储路径全部成功同步至目标服务器。新增的文件是指从开始全量同步起新增加的文件。新增的文件的总量是指从开始全量同步起新增加的文件的总数量。

具体地,当成功将所查询到的各已有文件和相应的文件存储路径全量同步至目标服务器时,源服务器在本地查询从开始全量同步起所新增的文件,进而确定从开始全量同步起所新增的文件总量。

在一个实施例中,当全量同步完成时,源服务器查询从开始全量同步起所新增的文件标识,统计所新增的文件标识的总量,将获得的文件标识的总量确定为从开始全量同步起所新增的文件的总量。

在一个实施例中,当全量同步完成时,源服务器通过全盘搜索文件存储路径的方式,确定从开始全量同步起所新增的文件存储路径的总量,将新增的文件存储路径的总量确定为从开始全量同步起所新增的文件的总量。

在一个实施例中,当全量同步完成时,源服务器查询从开始全量同步起所新增的文件和相应的文件存储路径。

s210,当总量大于或等于预设阈值时,迭代地将从上次同步起新增的文件同步至目标服务器。

其中,预设阈值是预先设定的数量阈值。预设阈值是判定通过迭代同步方式还是增量同步方式同步新增的文件的判断依据。

具体地,源服务器将从开始全量同步起至全量同步完成时所新增的文件的总量与预设阈值进行比较。换而言之,源服务器将从上次同步起至同步完成时所新增的文件的总量与预设阈值进行比较。当该新增的文件的总量大于或等于预设阈值时,源服务器将从上次同步起至同步完成时所新增的文件和文件存储路径同步至目标服务器,并确定从当次同步起至同步完成时所新增的文件的总量;当确定的总量大于或等于预设阈值时,继续执行将从上次同步起至同步完成时所新增的文件和文件存储路径同步至目标服务器,并确定从当次同步起至同步完成时所新增的文件的总量的步骤,直至从上次同步起至同步完成时所新增的文件的总量小于预设阈值时,结束迭代。其中,上次同步具体可以是全量同步或者迭代进行的同步。

举例说明,假设预设阈值为10万,全量同步过程中所同步的已有文件的总量为500万,从全量同步起至全量同步完成时新增的文件的总量为100万。由于自上次同步起至同步完成时新增的文件的总量100万大于预设阈值10万,源服务器将该总量为100万的新增的文件和文件存储路径同步至目标服务器,并确定从当次同步起至同步完成时,即当次同步过程中新增的文件的总量,假设为50万。由于上次同步过程中新增的文件的总量50万大于预设阈值10万,源服务器将该总量为50万的新增的文件和文件存储路径同步至目标服务器,并确定当次同步过程中新增的文件的总量。当所确定的新增的文件的总量仍大于或等于10万时,继续上述迭代过程;当该总量小于10万时,结束迭代。

在一个实施例中,当上次迭代同步完成时,源服务器查询从上次同步起至同步完成时所新增的文件和文件存储路径,并对应确定该新增的文件的总量。

在一个实施例中,在迭代进行的同步过程中,源服务器将查询到的新增的文件和文件存储路径并行同步至目标服务器。

在一个实施例中,当从开始全量同步起至全量同步完成时新增的文件的总量大于或等于预设阈值时,源服务器迭代地将从上次同步起新增且还未同步的文件同步至目标服务器。

具体地,当全量同步过程中新增的文件的总量大于或等于预设阈值时,源服务器从该新增的文件中选择指定数量的文件,将选择的指定数量的文件同步至目标服务器,并确定当次同步过程中新增的文件的总量,进而确定自上次同步起新增的且还未同步的文件的总量。当自上次同步起新增的且还未同步的文件的总量大于或等于预设阈值时,源服务器从该新增的且还未同步的文件中选择指定数量的文件,将选择的指定数量的文件同步至目标服务器,并确定当次同步过程中新增的文件的总量,进而确定自上次同步起新增的且还未同步的文件的总量。

进一步地,当自上次同步起新增的且还未同步的文件的总量大于或等于预设阈值时,源服务器继续执行从该新增的且还未同步的文件中选择指定数量的文件,将选择的指定数量的文件同步至目标服务器,并确定当次同步过程中新增的文件的总量,进而确定自上次同步起新增的且还未同步的文件的总量的步骤,直至自上次同步起新增的且还未同步的文件的总量小于预设阈值时,停止迭代。其中,指定数量根据实际情况自定义。

举例说明,假设预设阈值为10万,全量同步过程中所同步的已有文件的总量为500万,全量同步过程中新增的文件的总量为100万。由于该新增的文件的总量100万大于预设阈值10万,源服务器从该新增的100万文件中选择50万文件,将所选择的50万文件同步至目标服务器,确定同步该50万过程中新增的文件的总量,假设为20万,则所确定的自上次同步起新增的且还未同步的文件的总量为70万。由于自上次同步起新增的且还未同步的文件的总量70万大于预设阈值10万,源服务器从该新增的且还未同步的70万文件中选择50万,将选择的50万文件同步至目标服务器,并确定自上次同步起新增的且还未同步的文件的总量。当该自上次同步起新增的且还未同步的文件的总量大于或等于预设阈值时,继续重复执行上述迭代进行的同步的相关步骤。

上述文件同步方法,根据接收到的文件同步指令进行全量同步,全量同步过程中将已有文件和对应的文件存储路径一起同步至目标服务器,以使得目标服务器根据文件存储路径对应存储相应的已有文件,从而保证文件同步前后,文件存储路径的一致性。当全量同步完成、且全量同步过程中新增的第一增量文件数量达到预设数量阈值时,自动触发迭代式增量同步,将新增文件同步至目标服务器,这样,在保证文件一致性的情况下,可以有效提高文件同步效率。

在一个实施例中,上述文件同步方法,还包括:当总量小于预设阈值时,以增量同步方式将从开始全量同步起所新增的文件同步至目标服务器。

其中,增量同步方式是指将从上次同步起至同步完成时新增的文件和文件存储路径串行同步至目标服务器的同步方式。

具体地,源服务器将从开始全量同步起至同步完成时所新增的文件的总量与预设阈值进行比较。当该新增的文件的总量小于预设阈值时,源服务器将从开始全量同步起至全量同步完成时所新增的文件和文件存储路径串行同步至目标服务器。

上述实施例中,当全量同步过程中新增的文件的总量小于预设阈值时,表明全量同步过程中新增的文件的总量比较小,则将所新增的文件串行同步至目标服务器。这样,既能保证新增的文件的同步效率,又能降低文件同步过程对在线业务的影响,实现了同步效率和对在线业务的影响的有效权衡。

在一个实施例中,上述文件同步方法,还包括:当产生新增文件时,将新增文件对应的文件标识记录在日志中;在以增量同步方式同步的过程中,实时检测日志中新增的文件标识;根据新增的文件标识获取相应的新增文件和新增文件的文件存储路径;将获取的新增文件和新增文件的文件存储路径实时同步至目标服务器;实时同步的新增文件和新增文件的文件存储路径,用于指示目标服务器按照实时同步的新增文件的文件存储路径存储实时同步的新增文件。

其中,文件标识用于唯一标识文件。文件标识可以是由数字、字母和符号等字符中的至少一种组成。

具体地,当产生新增文件时,源服务器将该新增文件对应的文件标识记录记录在日志中。在以增量同步方式将新增文件和新增文件的文件存储路径同步至目标服务器时,源服务器实时检测日志中新增的文件标识。当检测到日志中新增文件标识时,源服务器根据该新增的文件标识查询相应的新增文件和该新增文件的文件存储路径,将查询到的新增文件和相应的文件存储路径实时同步至目标服务器。目标服务器将实时接收到的新增文件按照相应的文件存储路径进行存储。

在一个实施例中,当产生新增文件时,源服务器将该新增文件对应的文件存储路径按照指定存储路径进行存储。在以增量同步方式同步的过程中,源服务器按照该指定存储路径实时查询新增的文件存储路径。当查询到新增的文件存储路径时,根据该新增的文件存储路径查询相应的新增文件。

在一个实施例中,当增量同步方式的同步完成时,即当以增量同步方式将上次同步过程中产生的新增文件和该新增文件的文件存储路径成功同步至目标服务器时,源服务器实时检测日志中新增的文件标识,或者按照指定存储路径实时查询新增的文件存储路径。源服务器根据实时检测到的文件标识或者实时查询到的文件存储路径实时查询新增的新增文件,并将查询到的新增文件实时同步至目标服务器。

在一个实施例中,源服务器将实时查询到的新增文件和文件存储路径通过异步方式同步至目标服务器。

上述实施例中,将新增文件对应的文件标识记录在日志中,以便于通过实时检测日志中新增的文件标识对应确定新增文件,进而将该新增文件实时同步至目标服务器,从而提高了文件同步的及时性。

在一个实施例中,上述文件同步方法,还包括:在迭代进行的同步过程中,当从上次同步起新增的文件的总量小于预设阈值时,结束迭代,并以增量同步方式将从上次同步起新增的文件同步至目标服务器。

具体地,在迭代进行的同步过程中,源服务器将从上次同步起至同步完成时新增的文件的总量与预设阈值进行比较,当该新增的文件的总量小于预设阈值时,结束该迭代进行的同步过程。进一步地,源服务器将该总量小于预设阈值的新增的文件,以增量同步方式串行同步至目标服务器。

在一个实施例中,在迭代进行的同步过程中,当剩余的新增且还未同步的文件的总量小于预设阈值时,结束迭代,并以增量同步方式将剩余的新增且还未同步的文件同步至目标服务器。

具体地,在迭代进行的同步过程中,在当次同步过程中新增的文件的总量与上次同步过程中新增的且还未同步的文件的总量之和小于预设阈值时,结束迭代,并将当次同步过程中新增的文件和上次同步过程中新增的且还未同步的文件,以增量同步方式同步至目标服务器。

上述实施例中,当上次同步过程中新增的文件的总量大于或等于预设阈值时,将新增的文件通过迭代进行的同步方式同步至目标服务器,有效保证了新增文件的同步效率。当该总量小于预设阈值时,将该新增的文件通过增量同步方式串行同步至目标服务器,实现了同步效率和对在线业务的影响的有效权衡。

在一个实施例中,上述文件同步方法,还包括:当新增文件时,将新增的文件对应的文件标识和新增时间记录在日志中;步骤s208包括:当全量同步完成时,获取全量同步开始时间;从日志中筛选出新增时间晚于全量同步开始时间的文件标识;将筛选出的文件标识对应的文件的数量,确定为从开始全量同步起所新增的文件的总量。

其中,全量同步开始时间是指进行全量同步的起始时间。全量同步开始时间具体可以是接收到文件同步指令的当前时间。新增时间是指新增文件的时间。新增时间用于表示文件的生成时间。

具体地,当新增文件时,源服务器生成该新增的文件对应的文件标识,并获取当前时间,将所获取的当前时间作为该新增的文件的新增时间。源服务器将该新增的文件对应的文件标识和新增时间对应记录在日志中。

进一步地,当全量同步完成时,源服务器获取全量同步开始时间,根据所获取的全量同步开始时间从日志中筛选出新增时间晚于该全量同步开始时间的文件标识。源服务器根据筛选出的文件标识确定对应的文件,统计所确定的文件的总量,将统计获得的总量确定为从开始全量同步起所新增的文件的总量。

在一个实施例中,源服务器接收到文件同步指令时,获取接收到该文件同步指令时的当前时间,将所获取的当前时间作为全量同步开始时间记录在本地。当全量同步完成时,从本地获取记录的全量同步开始时间。

在一个实施例中,源服务器根据全量同步开始时间和日志中记录的新增时间,确定日志中新增时间晚于全量同步开始时间的文件标识的总量,将所确定的总量作为从开始全量同步起所新增的文件的总量。

上述实施例中,根据日志中对应记录的文件标识和新增时间,确定从开始全量同步起新增的文件的总量,提高了总量的确定效率,从而提高了同步效率。

在一个实施例中,上述文件同步方法,还包括:接收目标服务器反馈的表示同步失败的提示信息;根据提示信息确定同步失败的文件和相应的文件存储路径;将所确定的文件和相应的文件存储路径重新同步至目标服务器。

其中,同步失败表示没有成功将所同步的文件或文件存储路径同步至目标服务器。提示信息是用于提示同步成功或同步失败的信息。提示信息具体是用于表示将同步的文件或文件存储路径同步至目标服务器的同步结果的信息。

具体地,源服务器接收到目标服务器反馈的表示同步失败的提示信息时,根据接收到的提示信息确定同步失败的文件对应的文件标识,根据所确定的文件标识获取同步失败的文件和相应的文件存储路径,将所获取的文件和文件存储路径重新同步至目标服务器。

在一个实施例中,目标服务器接收源服务器同步的文件,根据接收结果向源服务器对应反馈表示同步成功或同步失败的提示信息。当成功接收到所同步的文件和相应的文件存储路径时,目标服务器对应反馈表示同步成功的提示信息;当未成功接收到所同步的文件或相应的文件存储路径时,目标服务器对应反馈表示同步失败的提示信息。

在一个实施例中,目标服务器接收到所同步的文件和相应的文件存储路径后,未成功将所接收到的文件按照相应的文件存储路径存储时,向源服务器反馈表示同步失败的提示信息。

在一个实施例中,目标服务器反馈的表示同步失败的提示信息中包括同步失败的文件对应的文件存储路径,或者同步失败的文件存储路径。源服务器根据接收到的提示信息获取相应的文件存储路径,根据所获取的文件存储路径获取相应的文件,将所获取的文件和文件存储路径重新同步至目标服务器。

在一个实施例中,源服务器根据接收到的表示同步成功或同步失败的提示信息时,分别将同步成功或同步失败的文件对应的文件标识记录在同步日志中,以便于根据同步日志统计分析文件同步情况。

上述实施例中,当同步失败时,将同步失败的文件和文件存储路径重新同步至目标服务器,有效保证了文件一致性。

在一个实施例中,上述文件同步方法,还包括:实时检测网络传输流量;将网络传输流量与预设流量阈值进行比较;当网络传输流量达到预设流量阈值时,降低文件同步速率。

其中,网络传输流量是指通过网络进行通信时单位时间内所传输的数据量。网络传输流量用于表示源服务器在单位时间内输入输出的数据量。在本实施例中,网络传输流量包括其他计算机设备与源服务器进行网络通信时传输的数据量,以及源服务器向目标服务器同步文件和文件存储路径时传输的数据量等。即网络传输流量包括在线业务流量和文件同步流量。

在线业务流量是指在线业务处理过程中在单位时间内生成的流量。文件同步流量是指文件同步过程中,源服务器在单位时间内同步至目标服务器的文件数据量。文件同步流量用于表示文件同步速率。预设流量阈值是预先设定的网络传输流量阈值。预设流量阈值用于与网络传输流量进行比较,从而判定是否需要降低当前的文件同步速率。

具体地,源服务器实时检测网络传输流量,将实时检测的网络传输流量与预设流量阈值进行比较。当实时检测的网络传输流量达到预设流量阈值时,表明源服务器当前实时传输的网络流量过大,源服务器暂停当前的文件同步过程,转入休眠状态。当休眠时长达到预设时长时,源服务器继续进行文件同步,以此来降低文件同步速率。预设时长根据实际情况自定义。

在一个实施例中,当实时检测的网络传输流量达到预设流量阈值时,源服务器通过降低文件同步的并发量来降低文件同步速率。比如,通过减少同步文件的线程数量来降低文件同步的并发量。在一个实施例中,源服务器在文件同步过程中,通过增加同步相邻两个文件之间的时间间隔来降低文件同步速率。比如,同步完一个文件时,间隔指定时长后在同步下一个文件。

上述实施例中,当实时检测的网络传输流量达到预设流量阈值时,通过降低文件同步效率来确保在线业务的顺利进行,降低了对在线业务的影响。

如图3所示,在一个实施例中,提供了一种文件同步方法,该方法具体包括以下步骤:

s302,接收文件同步指令。

s304,根据文件同步指令查询待同步的已有文件和相应的文件存储路径。

s306,将已有文件和文件存储路径全量同步至目标服务器;文件存储路径用于指示目标服务器按照文件存储路径存储已有文件。

s308,当全量同步完成时,获取全量同步开始时间。

s310,当新增文件时,将新增的文件对应的文件标识和新增时间记录在日志中。

s312,从日志中筛选出新增时间晚于全量同步开始时间的文件标识。

s314,将筛选出的文件标识对应的文件的数量,确定为从开始全量同步起所新增的文件的总量。

s316,当总量大于或等于预设阈值时,迭代地将从上次同步起新增的文件同步至目标服务器。

s318,在迭代进行的同步过程中,当从上次同步起新增的文件的总量小于预设阈值时,结束迭代,并以增量同步方式将从上次同步起新增的文件同步至目标服务器。

s320,当总量小于预设阈值时,以增量同步方式将从开始全量同步起所新增的文件同步至目标服务器。

s322,在以增量同步方式同步的过程中,实时检测日志中新增的文件标识。

s324,根据新增的文件标识获取相应的新增文件和新增文件的文件存储路径。

s326,将获取的新增文件和新增文件的文件存储路径实时同步至目标服务器;实时同步的新增文件和新增文件的文件存储路径,用于指示目标服务器按照实时同步的新增文件的文件存储路径存储实时同步的新增文件。

s328,接收目标服务器反馈的表示同步失败的提示信息。

s330,根据提示信息确定同步失败的文件和相应的文件存储路径。

s332,将所确定的文件和相应的文件存储路径重新同步至目标服务器。

上述实施例中,根据接收到的文件同步指令将待同步的已有文件和文件存储路径全量同步至目标服务器,当全量同步完成时,根据日志中的新增时间确定全量同步过程中新增的文件,将新增的文件和文件存储路径通过迭代进行的同步方式或者增量同步方式同步至目标服务器,在保证文件一致性的情况下,有效提高了文件同步效率。

应该理解的是,虽然图2和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图4所示,提供了一种文件同步装置400,包括:接收模块401、查询模块402、全量同步模块403、确定模块404和迭代同步模块405,其中:接收模块401,用于接收文件同步指令;

查询模块402,用于根据文件同步指令查询待同步的已有文件和相应的文件存储路径;

全量同步模块403,用于将已有文件和文件存储路径全量同步至目标服务器;文件存储路径用于指示目标服务器按照文件存储路径存储已有文件;

确定模块404,用于当全量同步完成时,确定从开始全量同步起所新增的文件的总量;

迭代同步模块405,用于当总量大于或等于预设阈值时,迭代地将从上次同步起新增的文件同步至目标服务器。

上述文件同步装置,根据接收到的文件同步指令进行全量同步,全量同步过程中将已有文件和对应的文件存储路径一起同步至目标服务器,以使得目标服务器根据文件存储路径对应存储相应的已有文件,从而保证文件同步前后,文件存储路径的一致性。当全量同步完成、且全量同步过程中新增的第一增量文件数量达到预设数量阈值时,自动触发迭代式增量同步,将新增文件同步至目标服务器,这样,在保证文件一致性的情况下,可以有效提高文件同步效率。

如图5所示,在一个实施例中,上述文件同步装置400,还包括:增量同步模块406。增量同步模块406,用于当总量小于预设阈值时,以增量同步方式将从开始全量同步起所新增的文件同步至目标服务器。

在一个实施例中,上述文件同步装置400,还包括:日志模块407。日志模块407,用于当产生新增文件时,将新增文件对应的文件标识记录在日志中;增量同步模块406,还用于在以增量同步方式同步的过程中,实时检测日志中新增的文件标识;根据新增的文件标识获取相应的新增文件和新增文件的文件存储路径;将获取的新增文件和新增文件的文件存储路径实时同步至目标服务器;实时同步的新增文件和新增文件的文件存储路径,用于指示目标服务器按照实时同步的新增文件的文件存储路径存储实时同步的新增文件。

在一个实施例中,增量同步模块406,还用于在迭代进行的同步过程中,当从上次同步起新增的文件的总量小于预设阈值时,结束迭代,并以增量同步方式将从上次同步起新增的文件同步至目标服务器。

在一个实施例中,日志模块407,还用于当新增文件时,将新增的文件对应的文件标识和新增时间记录在日志中;确定模块404,还用于当全量同步完成时,获取全量同步开始时间;从日志中筛选出新增时间晚于全量同步开始时间的文件标识;将筛选出的文件标识对应的文件的数量,确定为从开始全量同步起所新增的文件的总量。

在一个实施例中,上述文件同步装置400,还包括:同步校验模块408。同步校验模块408,用于接收目标服务器反馈的表示同步失败的提示信息;根据提示信息确定同步失败的文件和相应的文件存储路径;将所确定的文件和相应的文件存储路径重新同步至目标服务器。

在一个实施例中,上述文件同步装置400,还包括:流量管理模块409。流量管理模块409,用于实时检测网络传输流量;将网络传输流量与预设流量阈值进行比较;当网络传输流量达到预设流量阈值时,降低文件同步速率。

关于文件同步装置的具体限定可以参见上文中对于文件同步方法的限定,在此不再赘述。上述文件同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储已有文件和新增的文件。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种文件同步方法。

本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收文件同步指令;根据文件同步指令查询待同步的已有文件和相应的文件存储路径;将已有文件和文件存储路径全量同步至目标服务器;文件存储路径用于指示目标服务器按照文件存储路径存储已有文件;当全量同步完成时,确定从开始全量同步起所新增的文件的总量;当总量大于或等于预设阈值时,迭代地将从上次同步起新增的文件同步至目标服务器。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:当总量小于预设阈值时,以增量同步方式将从开始全量同步起所新增的文件同步至目标服务器。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:当产生新增文件时,将新增文件对应的文件标识记录在日志中;在以增量同步方式同步的过程中,实时检测日志中新增的文件标识;根据新增的文件标识获取相应的新增文件和新增文件的文件存储路径;将获取的新增文件和新增文件的文件存储路径实时同步至目标服务器;实时同步的新增文件和新增文件的文件存储路径,用于指示目标服务器按照实时同步的新增文件的文件存储路径存储实时同步的新增文件。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:在迭代进行的同步过程中,当从上次同步起新增的文件的总量小于预设阈值时,结束迭代,并以增量同步方式将从上次同步起新增的文件同步至目标服务器。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:当新增文件时,将新增的文件对应的文件标识和新增时间记录在日志中;当全量同步完成时,确定从开始全量同步起所新增的文件的总量包括:当全量同步完成时,获取全量同步开始时间;从日志中筛选出新增时间晚于全量同步开始时间的文件标识;将筛选出的文件标识对应的文件的数量,确定为从开始全量同步起所新增的文件的总量。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收目标服务器反馈的表示同步失败的提示信息;根据提示信息确定同步失败的文件和相应的文件存储路径;将所确定的文件和相应的文件存储路径重新同步至目标服务器。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:实时检测网络传输流量;将网络传输流量与预设流量阈值进行比较;当网络传输流量达到预设流量阈值时,降低文件同步速率。

上述计算机设备,根据接收到的文件同步指令进行全量同步,全量同步过程中将已有文件和对应的文件存储路径一起同步至目标服务器,以使得目标服务器根据文件存储路径对应存储相应的已有文件,从而保证文件同步前后,文件存储路径的一致性。当全量同步完成、且全量同步过程中新增的第一增量文件数量达到预设数量阈值时,自动触发迭代式增量同步,将新增文件同步至目标服务器,这样,在保证了文件一致性的情况下,可以有效提高文件同步效率。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收文件同步指令;根据文件同步指令查询待同步的已有文件和相应的文件存储路径;将已有文件和文件存储路径全量同步至目标服务器;文件存储路径用于指示目标服务器按照文件存储路径存储已有文件;当全量同步完成时,确定从开始全量同步起所新增的文件的总量;当总量大于或等于预设阈值时,迭代地将从上次同步起新增的文件同步至目标服务器。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当总量小于预设阈值时,以增量同步方式将从开始全量同步起所新增的文件同步至目标服务器。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当产生新增文件时,将新增文件对应的文件标识记录在日志中;在以增量同步方式同步的过程中,实时检测日志中新增的文件标识;根据新增的文件标识获取相应的新增文件和新增文件的文件存储路径;将获取的新增文件和新增文件的文件存储路径实时同步至目标服务器;实时同步的新增文件和新增文件的文件存储路径,用于指示目标服务器按照实时同步的新增文件的文件存储路径存储实时同步的新增文件。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在迭代进行的同步过程中,当从上次同步起新增的文件的总量小于预设阈值时,结束迭代,并以增量同步方式将从上次同步起新增的文件同步至目标服务器。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当新增文件时,将新增的文件对应的文件标识和新增时间记录在日志中;当全量同步完成时,确定从开始全量同步起所新增的文件的总量包括:当全量同步完成时,获取全量同步开始时间;从日志中筛选出新增时间晚于全量同步开始时间的文件标识;将筛选出的文件标识对应的文件的数量,确定为从开始全量同步起所新增的文件的总量。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收目标服务器反馈的表示同步失败的提示信息;根据提示信息确定同步失败的文件和相应的文件存储路径;将所确定的文件和相应的文件存储路径重新同步至目标服务器。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:实时检测网络传输流量;将网络传输流量与预设流量阈值进行比较;当网络传输流量达到预设流量阈值时,降低文件同步速率。

上述计算机可读存储介质,根据接收到的文件同步指令进行全量同步,全量同步过程中将已有文件和对应的文件存储路径一起同步至目标服务器,以使得目标服务器根据文件存储路径对应存储相应的已有文件,从而保证文件同步前后,文件存储路径的一致性。当全量同步完成、且全量同步过程中新增的第一增量文件数量达到预设数量阈值时,自动触发迭代式增量同步,将新增文件同步至目标服务器,这样,在保证了文件一致性的情况下,可以有效提高文件同步效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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