本技术涉及数据处理,尤其涉及一种文件同步方法、电子设备及存储介质。
背景技术:
1、随着通信技术的发展,分布式技术越来越多的应用到了电子设备中。分布式技术在办公、数据存储、数据访问等一些场景下给用户带来更轻松、便捷的体验。
2、例如,在分布式文件同步场景,手机和其他的电子设备(如平板电脑、笔记本电脑、家庭存储设备等)通过近场通信。譬如利用无线保真(wireless fidelity,wi-fi)、蓝牙(bluetooth,bt)、点对点(peer-to-peer,p2p)等近场通信组成一个局域网,建立信任环,将手机中的文件同步至其他的电子设备中。
3、然而,使用中发现,相关技术中的文件同步过程并不安全,且容易出错。
技术实现思路
1、本技术提供了一种文件同步方法、电子设备及存储介质,能够在文件同步过程中,保证文件同步的完整性,提高文件同步的准确率,提高文件同步过程的安全性。
2、第一方面,本技术提供了一种文件同步方法,应用于电子设备,该电子设备所在的信任环还包括至少一个受信任电子设备,该方法包括:获取至少一个受信任电子设备发送的待同步文件;根据待同步文件生成临时同步文件;校验临时同步文件;当临时同步文件校验通过时,将临时同步文件同步至文件系统中。
3、其中,待同步文件即为想要同步的文件。在本技术实施例中,待同步文件可以为受信任电子设备向电子设备发送的用于同步的文件。
4、可选地,校验临时同步文件可以包括校验临时同步文件的完整性、临时同步文件与源文件的一致性、临时同步文件的功能是否正常等。
5、这种实现方式中,由于对临时同步文件进行了校验,能够保证电子设备接收到的文件与源文件一致,保证了文件同步的完整性、一致性,使最终同步的文件准确无误,提高了文件同步的准确性。对临时同步文件进行校验,还能够保证同步的文件不被篡改、同步过程不易出错,有效避免信任环内的电子设备的系统受到恶意软件或病毒的攻击,提高了文件同步过程的安全性。
6、结合第一方面,在第一方面的某些实现方式中,校验临时同步文件,包括:获取至少一个受信任电子设备发送的源端元数据;生成临时同步文件对应的校验值和源端元数据对应的校验值;检测到临时同步文件的校验值与源端元数据的校验值一致时,确定临时同步文件校验通过。
7、可选地,临时同步文件的校验值和源端元数据的校验值均可以包括,弱哈希值、强哈希值、校验和、基于哈希的消息认证码等。
8、这种实现方式中,相当于对临时同步文件和源文件进行了一致性校验,在临时同步文件和源文件一致时再对文件进行同步,能够使最终同步的文件准确无误,提高了文件同步的准确性。对临时同步文件进行校验,还能够保证同步的文件不被篡改、同步过程不易出错,有效避免信任环内的电子设备的系统受到恶意软件或病毒的攻击,提高了文件同步过程的安全性。
9、结合第一方面,在第一方面的某些实现方式中,将临时同步文件同步至文件系统中,包括:在文件系统中删除与临时同步文件对应的本地文件;修改临时同步文件的文件名;将修改文件名后的临时同步文件存储至文件系统中。
10、可选地,临时同步文件修改后的文件名与本地文件的文件名一致。
11、这种实现方式中,先删除本地文件,再修改临时同步文件的文件名,能够避免文件名冲突,减少因为文件名或文件版本不一致而导致的错误,有助于确保文件同步的完整性和一致性。
12、结合第一方面,在第一方面的某些实现方式中,根据待同步文件生成临时同步文件,包括:对本地文件和待同步文件进行增量同步,生成临时同步文件。
13、这种实现方式中,采用增量同步的方式完成文件的多端同步,能够有效减少文件传输的数据量,节省了带宽。且由于传输的数据量减少,文件同步过程加快,提高了整体的数据同步效率。同时,由于电子设备只需处理发生变化的文件,有效减少了文件同步过程中的负载,降低了电子设备的功耗。
14、结合第一方面,在第一方面的某些实现方式中,该文件同步方法在获取至少一个受信任电子设备发送的待同步文件之前,还可以包括:获取本地元数据;检测到本地元数据与本地文件匹配时,对比本地元数据与源端元数据是否一致;本地元数据与源端元数据一致时,更新本地文件。
15、其中,本地元数据用于描述本地文件的名称、文件大小、文件创建时间、文件最后修改时间、文件最后访问时间、文件类型、文件权限(如读写权限、写入权限、执行权限等)、文件所有者、文件属性标志(如特定的标志位,用于表示文件属于隐藏文件、或系统文件、或只读文件等)、文件系统信息、文件版本、文件扩展属性(如自定义标签)、相对路径等。
16、源端元数据用于描述待同步文件的名称、文件大小、文件创建时间、文件最后修改时间、文件最后访问时间、文件类型、文件权限(如读写权限、写入权限、执行权限等)、文件所有者、文件属性标志(如特定的标志位,用于表示文件属于隐藏文件、或系统文件、或只读文件等)、文件系统信息、文件版本、文件扩展属性(如自定义标签)、相对路径等。
17、这种实现方式中,对本地元数据与本地文件,以及本地元数据与源端元数据进行校验,在校验均通过时再执行后续文件同步流程,能够确保后续文件同步结果的准确性。
18、结合第一方面,在第一方面的某些实现方式中,该文件同步方法在检测到本地元数据与本地文件匹配时,对比本地元数据与源端元数据是否一致之后,还可以包括:本地元数据与源端元数据不一致时,确定本地元数据与源端元数据之间的差异数据;将差异数据发送至至少一个受信任电子设备中。
19、其中,差异数据用于触发至少一个受信任电子设备向电子设备发送待同步文件。
20、这种实现方式中,在确定出本地文件与源文件不同时,向受信任电子设备发送差异数据,触发受信任电子设备向电子设备发送待同步文件,为实现文件同步提供了保障。
21、结合第一方面,在第一方面的某些实现方式中,该文件同步方法在本地元数据与源端元数据不一致时,确定本地元数据与源端元数据之间的差异数据之后,还可以包括:将源端元数据和差异数据发送至至少一个受信任电子设备中。
22、发送源端元数据用于至少一个受信任电子设备校验该源端元数据与至少一个受信任电子设备中的本地文件是否匹配;发送差异数据用于触发至少一个受信任电子设备在源端元数据与至少一个受信任电子设备中的本地文件匹配时,向电子设备发送待同步文件。
23、这种实现方式中,先对受信任电子设备的源文件与元数据进行校验,在源文件没有问题的情况下再执行后续文件同步流程,能够确保后续文件同步结果的准确性。
24、第二方面,本技术提供一种电子设备,电子设备包括:一个或多个处理器;一个或多个存储器;安装有多个应用程序的模块;存储器存储有一个或多个程序,当一个或者多个程序被处理器执行时,使得电子设备执行上述第一方面及其任意可能的实现方式中的方法。
25、第三方面,本技术提供一种处理数据的装置,包括用于执行第一方面中任一种方法的单元。该装置可以是服务器,也可以是电子设备,还可以是电子设备内的芯片。该装置可以包括输入单元和处理单元。
26、当该装置是电子设备时,该处理单元可以是处理器,该输入单元可以是通信接口;该电子设备还可以包括存储器,该存储器用于存储计算机程序代码,当该处理器执行该存储器所存储的计算机程序代码时,使得该电子设备执行第一方面中的任一种方法。
27、当该装置是电子设备内的芯片时,该处理单元可以是芯片内部的处理单元,该输入单元可以是输出接口、管脚或电路等;该芯片还可以包括存储器,该存储器可以是该芯片内的存储器(例如,寄存器、缓存等),也可以是位于该芯片外部的存储器(例如,只读存储器、随机存取存储器等);该存储器用于存储计算机程序代码,当该处理器执行该存储器所存储的计算机程序代码时,使得该芯片执行第一方面中的任一种方法。
28、第四方面,本技术提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
29、可选的,芯片还包括存储器,存储器与处理器通过电路或电线连接。
30、可选的,芯片还包括通信接口。
31、第五方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面及其任意可能的实现方式中的方法。
32、第六方面,本技术提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面及其任意可能的实现方式中的方法。
33、上述第二方面、第三方面、第四方面、第五方面以及第六方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。