掌桥专利:专业的专利平台
掌桥专利
首页

文件同步方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 20:00:25


文件同步方法、装置、电子设备及存储介质

技术领域

本公开涉及数据同步技术领域,尤其涉及一种文件同步方法、装置、电子设备及存储介质。

背景技术

随着信息技术的快速发展,高可用这个概念越来越受到关注。高可用是指系统能够长期内,连续地、不间断地、稳定地提供服务。灾备中心是系统高可用的重要实现方案。灾备中心是指在异地的城市建立一个备份的中心,用于双中心的数据备份,当主中心出现自然灾害等原因而发生故障时,异地灾备中心可以用备份数据进行业务的恢复。

发明内容

本公开提供了一种文件同步方法、装置、电子设备及存储介质。

根据本公开的第一方面,提供了一种文件同步方法,应用于主中心,包括:

确定切片大小参数;其中,切片大小参数用于指示切分文件时的文件分片大小;

基于切片大小参数,切分多个待同步文件,得到多个文件分片数据;并获取每个文件分片数据的分片序号、分片大小、分片偏移量和分片摘要;其中,分片大小用于指示对应文件分片数据的大小,分片偏移量用于指示对应文件分片数据在所属待同步文件中的偏移量,分片摘要包括对应文件分片数据的摘要信息;分片序号用于指示对应文件分片数据在所属待同步文件中的排序;

加密多个文件分片数据中的每个文件分片数据,得到多个加密文件分片数据;

获取扩展头信息,并基于扩展头信息,封装多个加密文件分片数据中的每个加密文件分片数据,得到多个文件分片数据封装包;其中,扩展头信息包括分片序号、分片大小、分片偏移量、分片摘要和文件摘要,文件摘要包括对应待同步文件的摘要信息;

建立与备份中心的数据链接,并基于数据链接,将多个文件分片数据封装包传输至备份中心。

根据本公开的第二方面,提供了一种文件同步方法,应用于备份中心,包括:

接收主中心发送的多个文件分片数据封装包;文件分片数据封装包包括扩展头信息,扩展头信息包括分片序号、分片大小、分片偏移量、分片摘要和文件摘要;

解析多个文件分片数据封装包中的每个文件分片数据封装包,得到加密文件分片数据和扩展头信息;并解密加密文件分片数据,得到原文件分片数据;

基于分片大小和分片摘要,校验原文件分片数据的完整性;

在多个文件分片数据封装包对应的多个原文件分片数据,校验成功后,基于分片序号,重组多个原文件分片数据,得到重组文件;

基于分片偏移量和文件摘要,分别校验重组文件是否发生乱序和文件数据完整性。

根据本公开的第三方面,提供了一种文件同步装置,配置于主中心,包括:

参数确定模块,用于确定切片大小参数;其中,切片大小参数用于指示切分文件时的文件分片大小;

文件切片模块,用于基于切片大小参数,切分多个待同步文件,得到多个文件分片数据;并获取每个文件分片数据的分片序号、分片大小、分片偏移量和分片摘要;其中,分片大小用于指示对应文件分片数据的大小,分片偏移量用于指示对应文件分片数据在所属待同步文件中的偏移量,分片摘要包括对应文件分片数据的摘要信息;分片序号用于指示对应文件分片数据在所属待同步文件中的排序;

数据加密模块,用于加密多个文件分片数据中的每个文件分片数据,得到多个加密文件分片数据;

数据封装模块,用于获取扩展头信息,并基于扩展头信息,封装多个加密文件分片数据中的每个加密文件分片数据,得到多个文件分片数据封装包;其中,扩展头信息包括分片序号、分片大小、分片偏移量、分片摘要和文件摘要,文件摘要包括对应待同步文件的摘要信息;

数据传输模块,用于建立与备份中心的数据链接,并基于数据链接,将多个文件分片数据封装包传输至备份中心。

根据本公开的第四方面,提供了一种文件同步装置,配置于备份中心,包括:

数据收发模块,用于接收主中心发送的多个文件分片数据封装包;文件分片数据封装包包括扩展头信息,扩展头信息包括分片序号、分片大小、分片偏移量、分片摘要和文件摘要;

解析解密模块,用于解析多个文件分片数据封装包中的每个文件分片数据封装包,得到加密文件分片数据和扩展头信息;并解密加密文件分片数据,得到原文件分片数据;

分片校验模块,用于基于分片大小和分片摘要,校验原文件分片数据的完整性;

文件重组模块,用于在多个文件分片数据封装包对应的多个原文件分片数据,校验成功后,基于分片序号,重组多个原文件分片数据,得到重组文件;

文件校验模块,用于基于分片偏移量和文件摘要,分别校验重组文件是否发生乱序和文件数据完整性。

根据本公开的第五方面,提供了一种电子设备,包括:处理器,以及与处理器通信连接的存储器;存储器存储计算机执行指令;处理器执行存储器存储的计算机执行指令,以实现上述第一方面以及第二方面所述的方法。

根据本公开的第六方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述第一方面以及第二方面所述的方法。

根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面以及第二方面所述的方法。

本公开提供的文件同步方法、装置、电子设备及存储介质,通过将多个待同步文件切分为多个文件分片数据,并对多个文件分片数据进行加密处理,得到多个加密文件分片数据。基于扩展头信息,封装多个加密文件分片数据中的每个加密文件分片数据,得到多个文件分片数据封装包,并将多个文件分片数据封装包传输至备份中心,这样解决了网络传输中断后需要重新同步整个文件导致的传输延迟问题以及文件容易被窃听或修改的安全性问题,并提高了文件同步的成功率以及传输速度。

本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。

附图说明

本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1是根据本公开实施例提供的一种文件同步方法的流程示意图;

图2是根据本公开实施例提供的又一种文件同步方法的流程示意图;

图3是根据本公开实施例提供的又一种文件同步方法的流程示意图;

图4是根据本公开实施例提供的另一种文件同步方法的流程示意图;

图5是根据本公开实施例提供的一种文件同步系统的交互流程图;

图6是根据本公开实施例提供的一种文件同步装置的框图;

图7是根据本公开实施例提供的另一种文件同步装置的框图;

图8是根据本公开实施例提供的一种电子设备的框图。

具体实施方式

下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。

随着大数据时代的到来,数据灾备建设成为网络安全和数据安全保障的重要支撑。数据灾备包括数据容灾与数据备份。其中,数据容灾是指相隔较远的两地建立两套或多套功能相同的计算机系统,互相之间进行健康状态监视和功能切换,当一处因环境因素停止工作时,整个应用系统可以切换到另一处,使得该系统可以继续正常工作。数据备份是指将系统产生的重要数据制作一份或多份拷贝,以增强数据的安全性。

数据灾备一般通过建设灾备中心的形式实现。灾备中心是指在异地的城市建立一个备份的中心,用于双中心的数据备份,当主中心出现自然灾害等原因而发生故障时,异地灾备中心可以用备份数据进行业务的恢复。为了避免数据中心遭受灾害时造成巨大损失,如不可抗拒的自然灾害洪水、雪灾、地震损坏机房、人为操作失误或人为灾难、掉电、光缆故障等,导致数据流失,容灾备份的建设尤其重要。

相关技术中,存在主中心与灾备中心传输距离长以及传输网络不稳定的问题以及安全性问题。在文件同步过程中,通过网络协议进行数据传输可能出现传输中断。在文件传输中断后,主中心需要重新传输整个文件,这样会导致数据到达备份中心延迟延迟较大。

针对这一问题,本公开实施例提供了文件同步方法、装置及电子设备,以实现对待同步文件的切片以及加密处理,解决相关技术中传输不稳定造成的延迟问题以及安全性问题。

下面参考附图描述本公开实施例的文件同步方法、装置及电子设备。

图1为本公开实施例所提供的一种文件同步方法的流程示意图。该文件同步方法应用于主中心。如图1所示,该文件同步方法包括但不限于以下步骤:

在步骤S101中,确定切片大小参数。

可选的,在一些实施例中,切片大小参数可以用于指示切分文件时的文件分片大小。

可以理解的是,文件同步过程中每传输一次文件分片数据均需要建立一条连接主中心与备份中心的网络连接。当切片大小参数设置过小且在同步传输较大文件时,会建立过多网络连接。当切片大小参数设置过大时,会增加单个文件分片数据的重传时间。

可选的,在一些实施例中,可以将切片大小参数设置为所需同步的文件总大小的第一百分比信息。示例性的,第一百分比信息可以为百分之一,即将所需同步的文件切分为100个文件分片数据。

在步骤S102中,基于切片大小参数,切分多个待同步文件,得到多个文件分片数据;并获取每个文件分片数据的分片序号、分片大小、分片偏移量和分片摘要。

可选的,在一些实施例中,在基于切片大小参数,切分多个待同步文件之前,还可以获取待同步文件。基于文件类型,分类待同步文件,得到分类后的待同步文件。压缩分类后的待同步文件。

可选的,在一些实施例中,待同步文件可以为一个或多个。

作为一种可能的实现方式,当待同步文件为一个时,基于切片大小参数,将该待同步文件切分为多个相同大小的文件分片数据。

作为一种可能的实现方式,当待同步文件为多个时,基于切片大小参数,将多个待同步文件切分为多个相同大小的文件分片数据。

可选的,在一些实施例中,每个文件分片数据的分片序号可以用于指示对应文件分片数据在所属待同步文件中的排序;每个文件分片数据的分片大小用于指示对应文件分片数据的大小;每个文件分片数据的分片偏移量用于指示对应文件分片数据在所属待同步文件中的偏移量;每个文件分片数据的分片摘要包括对应文件分片数据的摘要信息。

在步骤S103中,加密多个文件分片数据中的每个文件分片数据,得到多个加密文件分片数据。

可选的,在一些实施例中,可以通过对称加密的方式进行加密。

示例性的,确定对称加密秘钥;针对每个文件分片数据,主中心通过对称加密秘钥对该文件分片数据进行加密,得到对应的加密文件分片数据;主中心将对应的加密文件分片数据发送到备份中心;备份中心通过对称加密秘钥对该文件分片数据进行解密,得到该文件分片数据。

可选的,在一些实施例中,可以通过非对称加密的方式进行加密。

示例性的,确定非对称加密公钥以及非对称加密私钥;针对每个文件分片数据,主中心通过非对称加密公钥对该文件分片数据进行加密,得到对应的加密文件分片数据;备份中心通过非对称加密私钥对该文件分片数据进行解密,得到该文件分片数据。

在步骤S104中,获取扩展头信息,并基于扩展头信息,封装多个加密文件分片数据中的每个加密文件分片数据,得到多个文件分片数据封装包。

可选的,在一些实施例中,扩展头信息可以包括分片序号、分片大小、分片偏移量、分片摘要以及文件摘要。其中,文件摘要可以包括对应待同步文件的摘要信息。

可选的,在一些实施例中,针对每个加密文件分片数据,基于扩展头信息以及该加密文件分片数据进行拼接处理,并填充扩展头信息,得到该加密文件分片数据的封装包。

在步骤S105中,建立与备份中心的数据链接,并基于数据链接,将多个文件分片数据封装包传输至备份中心。

可选的,在一些实施例中,在文件同步传输过程中,可以计算多个文件分片数据封装包的传输成功率。根据多个文件分片数据封装包的传输成功率,调整文件同步传输的切片大小参数。基于调整后的切片大小参数,对未传输成功的待同步文件执行切分步骤以及切分之后的步骤。

在本实施例中,通过将多个待同步文件切分为多个文件分片数据,并对多个文件分片数据进行加密处理,得到多个加密文件分片数据。基于扩展头信息,封装多个加密文件分片数据中的每个加密文件分片数据,得到多个文件分片数据封装包,并将多个文件分片数据封装包传输至备份中心,这样解决了网络传输中断后需要重新同步整个文件导致的传输延迟问题以及文件容易被窃听或修改的安全性问题,并提高了文件同步的成功率以及传输速度。

为了清楚说明本公开中是如何保障文件分片数据的成功传输,本实施例提供了另一种文件同步方法,图2为本公开实施例所提供的又一种文件同步方法的流程示意图。该文件同步方法应用于主中心。如图2所示,该文件同步方法包括但不限于以下步骤:

在步骤S201中,确定切片大小参数。

在本公开的实施例中,步骤S201可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。

在步骤S202中,基于切片大小参数,切分多个待同步文件,得到多个文件分片数据;并获取每个文件分片数据的分片序号、分片大小、分片偏移量和分片摘要。

在本公开的实施例中,步骤S202可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。

在步骤S203中,加密多个文件分片数据中的每个文件分片数据,得到多个加密文件分片数据。

在本公开的实施例中,步骤S203可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。

在步骤S204中,获取扩展头信息,并基于扩展头信息,封装多个加密文件分片数据中的每个加密文件分片数据,得到多个文件分片数据封装包。

在本公开的实施例中,步骤S203可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。

在步骤S205中,建立与备份中心的数据链接,并基于数据链接,将多个文件分片数据封装包传输至备份中心。

在本公开的实施例中,步骤S205可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。

在步骤S206中,实时获取每个文件分片数据封装包的传输状态,传输状态包括传输成功和传输失败。

在步骤S207中,根据传输状态,计算多个文件分片数据封装包的传输成功率。

根据传输状态,获得多个文件分片数据封装包中传输成功的文件分片数据封装包个数;基于传输成功的文件分片数据封装包个数以及多个文件分片数据封装包个数,计算多个文件分片数据封装包的传输成功率。

示例性的,假设主中心发送的多个文件分片数据封装包个数为20个,多个文件分片数据封装包中传输成功的文件分片数据封装包个数为10个,则多个文件分片数据封装包的传输成功率为50%。

在步骤S208中,比较传输成功率与预设阈值。

可选的,在一些实施例中,预设阈值可以为80%。

在步骤S209中,在传输成功率小于预设阈值时,调整切片大小参数,得到调整后的切片大小参数。

可选的,在一些实施例中,当传输成功率小于预设阈值时,可以将当前切片大小参数的一半确定为调整后的切片大小参数。示例性的,假设传输成功率为50%,预设阈值为80%,切片大小参数为50兆字节。由于传输成功率小于预设阈值,调整切片大小参数为25兆字节。

在步骤S210中,基于调整后的切片大小参数,对未传输成功的待同步文件执行切分步骤以及切分之后的步骤。

在本实施例中,实时获取每个文件分片数据封装包的传输状态;根据传输状态,计算多个文件分片数据封装包的传输成功率;在传输成功率小于预设阈值时,调整切片大小参数,得到调整后的切片大小参数;基于调整后的切片大小参数,对未传输成功的待同步文件执行切分步骤以及切分之后的步骤,这样,根据实时统计的传输成功率调整切片大小参数,提高了文件同步的稳定性,进一步提高了文件同步的成功率。

为了清楚说明本公开中是如何重传同步文件,本实施例提供了另一种文件同步方法,图3为本公开实施例所提供的又一种文件同步方法的流程示意图。该文件同步方法应用于主中心。如图3所示,该文件同步方法包括但不限于以下步骤:

在步骤S301中,确定切片大小参数。

在本公开的实施例中,步骤S301可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。

在步骤S302中,基于切片大小参数,切分多个待同步文件,得到多个文件分片数据;并获取每个文件分片数据的分片序号、分片大小、分片偏移量和分片摘要。

在本公开的实施例中,步骤S302可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。

在步骤S303中,加密多个文件分片数据中的每个文件分片数据,得到多个加密文件分片数据。

在本公开的实施例中,步骤S303可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。

在步骤S304中,获取扩展头信息,并基于扩展头信息,封装多个加密文件分片数据中的每个加密文件分片数据,得到多个文件分片数据封装包。

在本公开的实施例中,步骤S304可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。

在步骤S305中,建立与备份中心的数据链接,并基于数据链接,将多个文件分片数据封装包传输至备份中心。

在本公开的实施例中,步骤S305可以分别采用本公开的各实施例中的任一种方式实现,本公开实施例并不对此作出限定,也不再赘述。

在步骤S306中,接收备份中心发送的携带分片标识的重传消息。

可选的,在一些实施例中,还可以接收备份中心发送的需要重新切分文件的重传信息。

示例性的,当接收到备份中心发送的需要重新切分文件的重传信息时,重新确定切片参数大小;并基于重新确定的切片参数大小,对所需同步文件执行切分步骤以及切分之后的步骤。

在步骤S307中,将分片标识对应的文件分片数据封装包传输至备份中心。

可选的,在一些实施例中,分片标识可以包括但不限于分片序号、分片大小、分片偏移量、分片摘要等信息。示例性的,可以根据分片序号、分片大小、分片偏移量以及分片摘要,确定分片标识对应的文件分片数据封装包。将该文件分片数据封装包传输至备份中心。

在本实施例中,通过分片标识确定需要重传的文件分片数据封装包,提高了文件同步的稳定性以及传输效率。

图4为本公开实施例所提供的一种文件同步方法的流程示意图。该文件同步方法应用于备份中心。如图4所示,该文件同步方法包括但不限于以下步骤:

在步骤S401中,接收主中心发送的多个文件分片数据封装包。

在步骤S402中,解析多个文件分片数据封装包中的每个文件分片数据封装包,得到加密文件分片数据和扩展头信息;并解密加密文件分片数据,得到原文件分片数据。

可选的,在一些实施例中,在利用对称加密方式进行加密的情况下,可以获取对称加密秘钥。基于对称加密秘钥,解密加密文件分片数据,得到原文件分片数据。

可选的,在一些实施例中,在利用非对称加密方式进行加密的情况下,可以获取非对称加密私钥。基于非对称加密私钥,解密加密文件分片数据,得到原文件分片数据。

在步骤S403中,基于分片大小和分片摘要,校验原文件分片数据的完整性。

可选的,在一些实施例中,基于分片大小与原文件分片数据的大小进行比较处理,校验原文件分片数据的完整性;基于分片摘要与原文件分片数据的内容进行比较处理,,校验原文件分片数据的完整性。

可选的,在一些实施例中,当校验结果为原文件分片数据不完整时,向主中心发送携带分片标识的重传信息。

在步骤S404中,在多个文件分片数据封装包对应的多个原文件分片数据,校验成功后,基于分片序号,重组多个原文件分片数据,得到重组文件。

可选的,在一些实施例中,在多个文件分片数据封装包对应的多个原文件分片数据校验成功后,基于分片序号,按照分片序号顺序依次从小到大,将多个原文件分片数据进行拼接重组,得到重组文件。

在步骤S405中,基于分片偏移量和文件摘要,分别校验重组文件是否发生乱序和文件数据完整性。

可选的,在一些实施例中,基于分片偏移量以及重组文件,校验重组文件是否发生乱序;基于文件摘要以及重组文件,校验重组文件的文件数据完整性。

可选的,在一些实施例中,当重组文件的校验结果为发送乱序或重组文件的文件数据不完整时,向主中心发送需要重新切分文件的重传信息。

在本实施例中,基于分片大小和分片摘要,校验原文件分片数据的完整性;在校验成功后,基于分片序号,重组多个原文件分片数据,得到重组文件;基于分片偏移量和文件摘要,分别校验重组文件是否发生乱序和文件数据完整性,这样,提高了文件同步的数据完整性以及准确性。

为了清楚的说明上述实施例,现通过具体的示例进行说明。图5为本公开实施例所提供的一种文件同步系统的交互流程图。该文件同步系统包括主中心以及备份中心,该文件同步系统可以执行本公开任一实施例所述的文件同步方法。如图5所示,该文件同步系统的交互流程可以如下所示:主中心获取多个待同步文件,并基于文件类型,对多个待同步文件进行分类,得到多个分类后的待同步文件。基于多个分类后的待同步文件进行压缩处理,得到多个压缩后的待同步文件(步骤S501)。在得到多个压缩后的待同步文件后,主中心根据多个压缩后的待同步文件的大小,确定切片大小参数(步骤S502)。基于切片大小参数,切分多个压缩后的待同步文件,得到多个文件分片数据(步骤S503)。获取每个文件分片数据的分片序号、分片大小、分片偏移量和分片摘要,并对多个文件分片数据中的每个文件分片数据进行加密处理,得到多个加密文件分片数据(步骤S504)。获取拓展头信息,并基于拓展头信息,对多个加密文件分片数据中的每个加密文件分片数据进行加密,得到多个文件分片数据封装包(步骤S505)。建立与备份中心的数据链接,并基于数据链接,将多个文件分片数据封装包传输至备份中心(步骤S506)。在接收到主中心发送的多个文件分片数据封装包(步骤S507)后,备份中心对解析多个文件分片数据封装包中的每个文件分片数据封装包,得到加密文件分片数据以及扩展头信息(步骤S508)。在得到加密文件分片数据后,对加密文件分片数据进行解密处理,得到原文件分片数据(步骤S509)。基于分片大小和分片摘要,校验原文件分片数据的完整性(步骤S510)。(步骤S511)当原文件分片数据的完整性校验失败时,备份中心向主中心发送携带分片标识的重传消息(步骤S512);在接收到携带分片标识的重传消息后,主中心向备份中心发送分片标识对应的文件分片数据封装包(步骤S513)。在原文件分片数据的完整性校验成功后,基于分片序号,重组多个原文件分片数据,得到重组文件(步骤S514)。基于分片偏移量和文件摘要,分别校验重组文件是否发生乱序和文件数据完整性(步骤S515)。(步骤S516)当重组文件出现乱序或者完整性校验失败时,备份中心向主中心发送需要重新切分文件的重传消息(步骤S518)。在接收到需要重新切分文件的重传消息后,主中心重新确定切片大小参数;并基于重新确定的切片大小参数,对待同步文件重新执行切分步骤以及切分之后的步骤(步骤S519)。在重组文件未出现乱序并且完整性校验成功后,对重组文件进行解压处理,得到多个待同步文件的备份(步骤S517)。

为了实现上述实施例,本公开还提出一种文件同步装置。图6为本公开实施例所提供的一种文件同步装置的框图。该文件同步装置配置于主中心。如图6所示,该文件同步装置可以包括但不限于:参数确定模块601、文件切片模块602、数据加密模块603、数据封装模块604以及数据传输模块605。

参数确定模块601,用于确定切片大小参数。

文件切片模块602,用于基于切片大小参数,切分多个待同步文件,得到多个文件分片数据;并获取每个文件分片数据的分片序号、分片大小、分片偏移量和分片摘要。

数据加密模块603,用于加密多个文件分片数据中的每个文件分片数据,得到多个加密文件分片数据。

数据封装模块604,用于获取扩展头信息,并基于扩展头信息,封装多个加密文件分片数据中的每个加密文件分片数据,得到多个文件分片数据封装包。

数据传输模块605,用于建立与备份中心的数据链接,并基于数据链接,将多个文件分片数据封装包传输至备份中心。

进一步地,在本公开实施例的一种可能的实现方式中,该文件同步装置还可以包括:

第一获取模块606,用于实时获取每个文件分片数据封装包的传输状态。

传输计算模块607,用于根据传输状态,计算多个文件分片数据封装包的传输成功率。

传输比较模块608,用于比较传输成功率与预设阈值。

切片调整模块609,用于在传输成功率小于预设阈值时,调整切片大小参数,得到调整后的切片大小参数。

切分处理模块610,用于基于调整后的切片大小参数,对未传输成功的待同步文件执行切分步骤以及切分之后的步骤。

其中,调整模块609具体可以用于:将切片大小参数减半。

进一步地,在本公开实施例的一种可能的实现方式中,该文件同步装置还可以包括:

第二获取模块611,用于获取所述待同步文件。

文件分类模块612,用于基于文件类型,分类待同步文件,得到分类后的待同步文件。

文件压缩模块613,用于压缩分类后的待同步文件。

进一步地,在本公开实施例的一种可能的实现方式中,该文件同步装置还可以包括:

重传接收模块614,用于接收备份中心发送的携带分片标识的重传消息。

其中,数据传输模块605还可以用于:将分片标识对应的文件分片数据封装包传输至备份中心。

需要说明的是,前述对文件同步方法实施例的解释说明也适用于该实施例的文件同步装置,此处不再赘述。

为了实现上述实施例,本公开还提出另一种文件同步装置。图7为本公开实施例所提供的另一种文件同步装置的框图。该文件同步装置配置于备份中心。如图7所示,该文件同步装置可以包括但不限于:数据收发模块701、解析解密模块702、分片校验模块703、文件重组模块704以及文件校验模块705。

数据收发模块701,用于接收主中心发送的多个文件分片数据封装包;文件分片数据封装包包括扩展头信息,扩展头信息包括分片序号、分片大小、分片偏移量、分片摘要和文件摘要。

解析解密模块702,用于解析多个文件分片数据封装包中的每个文件分片数据封装包,得到加密文件分片数据和扩展头信息;并解密加密文件分片数据,得到原文件分片数据。

分片校验模块703,用于基于分片大小和分片摘要,校验原文件分片数据的完整性。

文件重组模块704,用于在多个文件分片数据封装包对应的多个原文件分片数据,校验成功后,基于分片序号,重组多个原文件分片数据,得到重组文件。

文件校验模块705,用于基于分片偏移量和文件摘要,分别校验重组文件是否发生乱序和文件数据完整性。

进一步地,在本公开实施例的一种可能的实现方式中,该文本同步装置还可以包括:

重传发送模块706,用于校验原文件分片数据的完整性失败后,向主中心发送携带分片标识的重传消息。

需要说明的是,前述对文件同步方法实施例的解释说明也适用于该实施例的文件同步装置,此处不再赘述。

根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。如图8所示,根据本公开实施例提供的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。

存储器802即为本公开所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本公开所提供的文本同步方法。本公开的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的文本同步方法。

存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的文本同步方法对应的程序指令/模块(例如,附图6所示的参数确定模块601、文件切片模块602、数据加密模块603、数据封装模块604以及数据传输模块605,或者,图7所示的数据收发模块701、解析解密模块702、分片校验模块703、文件重组模块704以及文件校验模块705)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的文本同步方法。

存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

文本同步方法的电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。

输入装置803可接收输入的数字或字符信息,以及产生与文本同步方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

根据本公开的实施例,本公开还提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现本公开实施例中的文本同步方法。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

本公开中所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。

需要说明的是,来自用户的个人信息应当被收集用于合法且合理的用途,并且不在这些合法使用之外共享或出售。此外,应在收到用户知情同意后进行此类采集/共享,包括但不限于在用户使用该功能前,通知用户阅读用户协议/用户通知,并签署包括授权相关用户信息的协议/授权。此外,还需采取任何必要步骤,保卫和保障对此类个人信息数据的访问,并确保有权访问个人信息数据的其他人遵守其隐私政策和流程。

本公开预期可提供用户选择性阻止使用或访问个人信息数据的实施方案。即本公开预期可提供硬件和/或软件,以防止或阻止对此类个人信息数据的访问。一旦不再需要个人信息数据,通过限制数据收集和删除数据可最小化风险。此外,在适用时,对此类个人信息去除个人标识,以保护用户的隐私。

在前述各实施例描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。

相关技术
  • 合成和制造具有高量子效率和显著增强的热和光稳定性的混合发光磷光体的基于前体的方法
  • 具有高光效率的光调制装置
  • 光调制装置、具有光调制装置的光学装置、和具有该光调制装置或光学装置的投影仪
技术分类

06120116526472