增量文件的生成方法、装置和存储介质以及电子设备与流程

文档序号:15637191发布日期:2018-10-12 21:37阅读:167来源:国知局

本公开涉及数据处理领域,具体地,涉及一种增量文件的生成方法、装置和存储介质以及电子设备。



背景技术:

业务端通常将数据存放在数据目录中,并通过数据同步软件将数据目录中的增量文件同步传输到备用设备(如远程服务器或者数据库等)以进行数据备份或者数据使用。

目前,增量文件的获取方式主要存在以下两种:方式一为通过读取指定文件夹,并将指定文件夹中的文件与备用设备上存储的文件进行比较,若相同,则可以确定该指定文件夹中的文件为已备份文件,无需将该已备份文件传输至备用设备,若不同,则可以确定该指定文件夹中的文件为增量文件,需要将该增量文件传输至备用设备;方式二通过扫描器扫描指定文件夹,即获取指定文件夹中包括的全部文件对应的文件修改时间,并根据文件修改时间获取指定文件夹中发生修改的变化文件,并根据该变化文件生成增量文件,从而可以将该增量文件传输至备用设备。

但是,在上述指定文件夹为多个时,由于每一个指定文件夹中包括的文件的数量较多,这样,方式一需要将每一个指定文件夹中的文件都与备用设备上存储的文件进行比较,方式二需要对每一个指定文件夹中包括的全部文件进行扫描,采用上述两种方式均耗费较长时间,从而造成获取增量文件的效率较低。



技术实现要素:

为了解决上述问题,本公开提出了一种增量文件的生成方法、装置和存储介质以及电子设备。

根据本公开实施例的第一方面,提供一种增量文件的生成方法,包括:

获取数据目录下的全部文件夹;

从所述全部文件夹中确定在检测时间段内发生修改的变化文件夹;所述变化文件夹中包括至少一个文件;

从所述变化文件夹的至少一个文件中确定发生修改的变化文件,并根据所述变化文件得到中断增量文件。

可选地,在所述获取数据目录下的全部文件夹前,所述方法还包括:

扫描所述数据目录下的全部文件;

在确定所述全部文件均为最新修改文件时,监听所述全部文件中发生修改的目标文件;

在监听到所述目标文件时,根据所述目标文件生成监听增量文件;

所述获取数据目录下的全部文件夹包括:

在监听被中断时,获取所述数据目录下的全部文件夹。

可选地,所述检测时间段包括监听中断时间段,所述从所述全部文件夹中确定在检测时间段内发生修改的变化文件夹包括:

从所述全部文件夹中确定在所述监听中断时间段内发生修改的变化文件夹。

可选地,所述从所述全部文件夹中确定在检测时间段内发生修改的变化文件夹包括:

确定所述全部文件夹的修改时间在所述检测时间段内是否发生变化;

确定所述变化后的修改时间对应的文件夹为所述变化文件夹。

根据本公开实施例的第二方面,提供一种增量文件的生成装置,包括:

获取模块,用于获取数据目录下的全部文件夹;

确定模块,用于从所述全部文件夹中确定在检测时间段内发生修改的变化文件夹;所述变化文件夹中包括至少一个文件;

处理模块,用于从所述变化文件夹的至少一个文件中确定发生修改的变化文件,并根据所述变化文件得到中断增量文件。

可选地,所述装置还包括:

扫描模块,用于在所述获取数据目录下的全部文件夹前,扫描所述数据目录下的全部文件;

监听模块,用于在确定所述全部文件均为最新修改文件时,监听所述全部文件中发生修改的目标文件;

生成模块,用于在监听到所述目标文件时,根据所述目标文件生成监听增量文件;

所述获取模块,用于在监听被中断时,获取所述数据目录下的全部文件夹。

可选地,所述检测时间段包括监听中断时间段,所述确定模块,用于从所述全部文件夹中确定在所述监听中断时间段内发生修改的变化文件夹。

可选地,所述确定模块包括:

第一确定子模块,用于确定所述全部文件夹的修改时间在所述检测时间段内是否发生变化;

第二确定子模块,用于确定所述变化后的修改时间对应的文件夹为所述变化文件夹。

根据本公开实施例的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述方法的步骤。

根据本公开实施例的第四方面,提供一种电子设备,包括:

上述所述的计算机可读存储介质;以及

一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。

通过上述技术方案,可以首先获取数据目录下的全部文件夹;接着,从所述全部文件夹中确定在检测时间段内发生修改的变化文件夹;所述变化文件夹中包括至少一个文件;然后,从所述变化文件夹的至少一个文件中确定发生修改的变化文件,并根据所述变化文件得到中断增量文件。考虑到数据目录下包括的文件夹较多,并且文件夹中包括的文件数量较多,从而可以通过获取变化文件夹以获取变化文件夹中的变化文件,这样,缩短了获取增量文件的时间,并提高了获取增量文件的效率。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是本公开示例性实施例示出的一种增量文件的生成方法的流程图;

图2是本公开示例性实施例示出的又一种增量文件的生成方法的流程图;

图3是本公开示例性实施例示出的一种增量文件的生成装置的框图;

图4是本公开示例性实施例示出的另一种增量文件的生成装置的框图;

图5是本公开示例性实施例示出的又一种增量文件的生成装置的框图;

图6是本公开示例性实施例示出的一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

本公开可以应用于增量文件传输的场景,在该场景下,由于数据目录中的文件数据对用户较重要,为了保护文件数据的安全性,通常可以将文件数据同步到备用设备(如远程服务器、数据库等),从而避免数据丢失。

目前,文件同步方法中,通常采用增量同步或者全量同步,在增量同步中,通常需要获取增量文件,但是由于数据目录中包括了多个文件夹,每个文件夹中又包括了数量较多的文件,这样,从每个文件夹中的全部文件中获取增量文件需要耗费较长时间,从而造成获取增量文件的效率较低。

为了解决上述问题,本公开提出了一种增量文件的生成方法、装置和存储介质以及电子设备,可以从全部文件夹中确定在检测时间段内发生修改的变化文件夹,并从变化文件夹的至少一个文件中确定发生修改的变化文件,并根据该变化文件得到中断增量文件,考虑到数据目录下包括的文件夹较多,并且文件夹中包括的文件数量较多,从而可以通过获取变化文件夹以获取变化文件夹中的变化文件,这样,缩短了获取增量文件的时间,并提高了获取增量文件的效率。

下面结合具体实施例对本公开进行详细说明。

图1是本公开示例性实施例示出的一种增量文件的生成方法的流程图,如图1所示,该方法包括:

s101、获取数据目录下的全部文件夹。

其中,该数据目录可以是业务端放置文件数据的目录。

s102、从该全部文件夹中确定在检测时间段内发生修改的变化文件夹。

在本步骤中,该变化文件夹中可以包括至少一个文件,另外,若该文件夹的文件夹信息(如文件夹名称、文件夹地址等)或者该文件夹中包括的任一文件的文件信息(如文件名称、文件地址、文件内存大小以及文件内容等)在该检测时间段内发生变化,则确定该文件夹为在该检测时间段内的变化文件夹,并且该文件夹的修改时间会发生变化。

在一种可能的实现方式中,可以确定该全部文件夹的修改时间在该检测时间段内是否发生变化,并确定变化后的修改时间对应的文件夹为该变化文件夹。

需要说明的是,本公开中的检测时间段可以根据预设周期进行设置,如该预设时间段可以是当前周期对应的时间段,或者上一周期对应的时间段等,这样,可以周期性地获取变化文件夹,从而在后续步骤中从该变化文件夹中确定发生修改的变化文件,进而实现对该数据目录中的全部文件进行周期性地备份;在本公开另一实施例中,可以通过监听器对该数据目录下的全部文件进行实时监听以获取到发生修改的变化文件,在监听被中断时,由于监听中断导致无法实时获取到变化文件,为了解决该问题,本公开可以在发生监听中断时获取该数据目录下的全部文件夹,此时,该检测时间段可以为监听中断时间段,因此,可以从该全部文件夹中确定在该监听中断时间段内发生修改的变化文件夹,从而可以避免了该数据目录下的全部文件在监听中断过程中无法实时获取增量文件的问题,上述示例只是举例说明,本公开对此不作限定。

s103、从该变化文件夹的至少一个文件中确定发生修改的变化文件,并根据该变化文件得到中断增量文件。

在本步骤中,可以获取该变化文件夹中的至少一个文件的文件修改时间,从而可以确定该文件修改时间在该检测时间段内是否发生变化,若该文件修改时间在该检测时间段内发生变化,则可以确定变化后的文件修改时间对应的文件为该变化文件,上述示例只是举例说明,本公开对此不作限定。

这样,可以获取到全部变化文件,并根据该全部变化文件生成中断增量文件,并将该中断增量文件的索引信息(如该中断增量文件的文件名称、文件地址以及文件内存大小等)存储至增量文件索引区,从而可以利用传输组件通过该增量文件索引区中的索引信息将该中断增量文件传输至备用设备,进而实现数据备份。

采用上述方法,可以从全部文件夹中确定在检测时间段内发生修改的变化文件夹,并从变化文件夹的至少一个文件中确定发生修改的变化文件,并根据该变化文件得到中断增量文件,考虑到数据目录下包括的文件夹较多,并且文件夹中包括的文件数量较多,从而可以通过获取变化文件夹以获取变化文件夹中的变化文件,这样,缩短了获取增量文件的时间,并提高了获取增量文件的效率。

图2是本公开示例性实施例示出的一种增量文件的生成方法的流程图,在本实施例中,以该检测时间段为监听中断时间段为例进行说明,如图2所示,该方法包括:

s201、扫描数据目录下的全部文件。

其中,该数据目录可以是业务端放置文件数据的目录,示例地,若该数据目录为a,该数据目录a下有n个子目录a1、a2、...、an,n为大于1的整数,该子目录即为文件夹,每一个文件夹中包括至少一个文件,这样,该全部文件即为全部文件夹中包括的至少一个文件。

在本公开中,可以通过扫描器扫描该数据目录下的全部文件。

s202、确定该全部文件是否均为最新修改文件。

首先,在对数据目录进行第一次数据备份时,需要将该数据目录中的全部文件进行备份,并且可以获取到该全部文件对应的文件修改时间,并从该文件修改时间中获取到时间最新的目标时间,并将该目标时间进行存储,然后,在检测到数据目录中的文件对应的文件修改时间发生变化时,获取该变化后的文件修改时间,并将变化后的文件修改时间作为该目标时间,综上,在确定该全部文件是否均为最新修改文件前,需要获取该目标时间,这样,确定该全部文件是否均为最新修改文件可以包括:确定该全部文件当前的文件修改时间是否均在该目标时间之前,若该全部文件当前的文件修改时间均在该目标时间之前,则确定该全部文件均为最新修改文件;若该全部文件中的任一文件当前的文件修改时间在该目标时间之后,则确定该全部文件中包括非最新修改文件,且该全部文件中的该任一文件为非最新修改文件。

在该全部文件中包括非最新修改文件时,执行步骤s203;

在该全部文件均为最新修改文件时,执行步骤s204。

s203、将该全部文件中包括的非最新修改文件标识为最新修改文件。

在一种可能的实现方式中,可以通过扫描器将该非最新修改文件扫描至该增量文件索引区,其中,该增量文件索引区中存储有需要进行备份的文件的索引信息(如文件名称、文件地址以及文件内存大小等信息),这样,可以利用传输组件通过增量文件索引区中的索引信息完成该非最新修改文件的数据备份,由于在对该非最新修改文件进行数据备份时,需要根据该非最新修改文件的文件修改时间更新该目标时间,从而将该非最新修改文件标识为最新修改文件。

s204、监听该全部文件中发生修改的目标文件。

在一种可能的实现方式中,可以通过监听操作系统底层的事件以监听该目标文件,如在该操作系统底层的事件中存在该全部文件中的某一个文件的文件信息(如文件名称、文件地址、文件内存大小以及文件内容等)发生变化,或者存在该全部文件中的某一个文件的删除操作,或者存在某一个文件的创建操作等,则可以确定该某一文件为该目标文件,这样,通过操作系统底层的方式可以提高获取目标文件的速度,上述示例只是举例说明,本公开还可以通过直接监听全部文件以获取该目标文件。

s205、在监听到该目标文件时,根据该目标文件生成监听增量文件。

在本公开中,该监听增量文件即为在监听该全部文件时生成的增量文件,这样,可以将监听增量文件传输至备用设备以实现文件同步。

通过步骤s201至s205,可以在该数据目录中的全部文件为最新修改文件时,通过实时监听的方式获取该目标文件,从而使得在实时监听时,只需要监听发生修改的目标文件,无需在全部文件中逐层遍历,从而缩短了获取增量文件的时间。但是,在上述实时监听的过程中,若监听设备发生故障,则会导致监听被中断,从而存在监听中断而无法实时获取到目标文件的问题,为了解决该问题,本公开可以获取在该监听中断时间段内发生修改的变化文件夹,从而可以避免了该数据目录下的全部文件在监听中断过程中无法实时获取增量文件的问题,具体过程参考步骤s206至s208。

s206、在监听被中断时,获取该数据目录下的全部文件夹。

s207、从该全部文件夹中确定在该监听中断时间段内发生修改的变化文件夹。

其中,该变化文件夹中包括至少一个文件,另外,若该文件夹的文件夹信息(如文件夹名称、文件夹地址等)或者该文件夹中包括的任一文件的文件信息(如文件名称、文件地址、文件内存大小以及文件内容等)在该监听中断时间段内发生变化,则确定该文件夹为在该监听中断时间段内的变化文件夹,并且该文件夹的修改时间会发生变化。

在本步骤中,确定该全部文件夹的修改时间在该监听中断时间段内是否发生变化,并确定变化后的修改时间对应的文件夹为该变化文件夹,其中,可以获取在监听被中断前该全部文件夹的文件夹修改时间中时间最新的比较时间,从而确定该全部文件夹的修改时间在该监听中断时间段内是否发生变化可以包括:确定该全部文件夹的修改时间是否均在该比较时间之前,若该全部文件夹的修改时间均在该比较时间之前,则确定该全部文件夹的修改时间在该监听中断时间段内未发生变化,若该全部文件夹中的任一文件夹的修改时间在该比较时间之后,则确定该任一文件夹的修改时间在该监听中断时间段内发生变化。

s208、从该变化文件夹的至少一个文件中确定发生修改的变化文件,并根据该变化文件得到中断增量文件。

其中,该中断增量文件即为在该监听中断时间段内根据变化文件生成的增量文件。

在一种可能的实现方式中,可以获取到至少一个文件对应的文件修改时间,并从该文件修改时间中获取到时间最新的目标时间,并将该目标时间进行存储,在至少一个文件当前的文件修改时间在该目标时间之后时,确定至少一个文件为该变化文件,在至少一个文件当前的文件修改时间在该目标时间之前时,确定至少一个文件未发生修改;在另一种可能的实现方式中,可以将该变化文件夹的每个文件的时间最新的目标修改时间进行存储,并重新获取每个文件当前的文件修改时间,在重新获取的每个文件当前的该文件修改时间与每个文件的该目标修改时间不同时,确定每个文件为变化文件,并确定每个文件当前的文件修改时间为目标修改时间;在重新获取的每个文件当前的该文件修改时间与每个文件的该目标修改时间相同时,确定每个文件未发生变化,上述确定变化文件的方法只是举例说明,本公开对此不作限定。

需要说明的是,在该变化文件夹的至少一个文件的数量大于或者等于预设阈值时,可以通过操作系统底层命令获取该变化文件。

这样,可以获取到监听中断时间段内的全部变化文件,并根据该全部变化文件生成中断增量文件,并将该中断增量文件的索引信息存储至增量文件索引区,从而可以利用传输组件通过该增量文件索引区中的索引信息将该中断增量文件传输至备用设备,进而实现数据备份。

采用上述方法,可以在该数据目录中的全部文件为最新修改文件时,通过实时监听的方式获取该目标文件,当实时监听中断时,从全部文件夹中确定在监听中断时间段内发生修改的变化文件夹,并从变化文件夹的至少一个文件中确定发生修改的变化文件,并根据该变化文件得到中断增量文件,考虑到数据目录下包括的文件夹较多,并且文件夹中包括的文件数量较多,从而可以将该数据目录中的全部文件标识为最新修改文件,从而可以实时监听目标文件,无需对全部文件监听,并且在监听中断时,通过获取变化文件夹以获取变化文件夹中的变化文件,这样,缩短了获取增量文件的时间,并提高了获取增量文件的效率。

图3是本公开示例性实施例示出的一种增量文件的生成装置的框图,如图3所示,该装置包括:

获取模块301,用于获取数据目录下的全部文件夹;

确定模块302,用于从该全部文件夹中确定在检测时间段内发生修改的变化文件夹;该变化文件夹中包括至少一个文件;

处理模块303,用于从该变化文件夹的至少一个文件中确定发生修改的变化文件,并根据该变化文件得到中断增量文件。

图4是本公开示例性实施例示出的一种增量文件的生成装置的框图,如图4所示,该装置还包括:

扫描模块304,用于在该获取数据目录下的全部文件夹前,扫描该数据目录下的全部文件;

监听模块305,用于在确定该全部文件均为最新修改文件时,监听该全部文件中发生修改的目标文件;

生成模块306,用于在监听到该目标文件时,根据该目标文件生成监听增量文件;

该获取模块301,用于在监听被中断时,获取该数据目录下的全部文件夹。

可选地,该检测时间段包括监听中断时间段,该确定模块302,用于从该全部文件夹中确定在该监听中断时间段内发生修改的变化文件夹。

图5是本公开示例性实施例示出的一种增量文件的生成装置的框图,如图5所示,该确定模块302包括:

第一确定子模块3021,用于确定该全部文件夹的修改时间在该检测时间段内是否发生变化;

第二确定子模块3022,用于确定该变化后的修改时间对应的文件夹为该变化文件夹。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

采用上述装置,可以从全部文件夹中确定在检测时间段内发生修改的变化文件夹,并从变化文件夹的至少一个文件中确定发生修改的变化文件,并根据该变化文件得到中断增量文件,考虑到数据目录下包括的文件夹较多,并且文件夹中包括的文件数量较多,从而可以通过获取变化文件夹以获取变化文件夹中的变化文件,这样,缩短了获取增量文件的时间,并提高了获取增量文件的效率。

图6是根据一示例性实施例示出的一种电子设备600的框图。如图6所示,该电子设备600可以包括:处理器601,存储器602。该电子设备600还可以包括多媒体组件603,输入/输出(i/o)接口604,以及通信组件605中的一者或多者。

其中,处理器601用于控制该电子设备600的整体操作,以完成上述的增量文件的生成方法中的全部或部分步骤。存储器602用于存储各种类型的数据以支持在该电子设备600的操作,这些数据例如可以包括用于在该电子设备600上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器602可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件603可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器602或通过通信组件605发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口604为处理器601和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件605用于该电子设备600与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件605可以包括:wi-fi模块,蓝牙模块,nfc模块。

在一示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的增量文件的生成方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的增量文件的生成方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器602,上述程序指令可由电子设备600的处理器601执行以完成上述的增量文件的生成方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

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