本发明涉及文件传输,尤其涉及一种基于块交换协议实现多端文件快速同步的方法。
背景技术:
1、当一个终端设备中的文件出现变化,需要同步到其他在设备上时,传统方法是将变化后的文件传输给其他设备上,但这种方式会面临以下问题:1、传输整个文件,耗时较长;2、传输整个文件,网络带宽占用较高;3、变化前后的文件在同步后在同一个设备中容易存在冲突,文件冲突问题解决困难。
2、因此,现有技术存在缺陷,需要改进。
技术实现思路
1、本发明要解决的技术问题是:提供一种基于块交换协议实现多端文件快速同步的方法,能够快速、高效地在多端设备间进行文件同步,减少传输量和耗时,并解决文件冲突的问题。
2、本发明的技术方案如下:提供一种基于块交换协议实现多端文件快速同步的方法,包括以下步骤。
3、s1:建立文件块哈希索引;在每个设备上都对文件a进行分块,获得文件块,计算每个文件块的哈希值,并建立文件块哈希索引,记录每个文件块的哈希值和文件块的位置信息。
4、s2:检测文件a是否发生变化,例如新增部分内容、修改部分内容或删除部分内容,检测文件a是否发生变化的方法为监测文件a的存储时间或文件大小是否发生变化;若文件a发生变化,根据步骤s1的分块方式对发生变化后的文件a进行分块并计算各文件块的哈希值;将步骤s1获得文件块的哈希值与本步骤获得的文件块的哈希值进行对比,获得文件块的哈希值的变化情况,从而获得哪些文件块发生了变化。
5、s3:将发生了变化的文件块的变化记录到变更列表中;文件a发生变化的设备为文件传输设备,需要对文件a进行更新的设备为文件接收设备。
6、s4:通过块交换协议,在文件传输设备与文件接收设备之间交换发生了变化的文件块的数据;文件传输设备根据变更列表中的变更信息,选择需要进行传输的文件块的数据,并将其传输给文件接收设备。
7、s5:文件接收设备接收到传输的块数据后,文件接收设备根据文件块哈希索引,将接收到的文件块数据按照原始的文件块序列组合,文件接收设备完成文件a的更新。
8、文件传输设备、文件接收设备均对变化前的文件a进行备份。
9、在一个方案中,在步骤s1中,对文件a的分块的方式为:正序分割、倒序分割;分别计算两种分块方式获得的每个文件块的哈希值。
10、在步骤s2中,对变化后的文件a的分块的方式为:正序分割、倒序分割;分别计算两种分块方式获得的每个文件块的哈希值。
11、正序分割、倒序分割两种分块方式按照相同的数据块大小进行分割。
12、在步骤s2中,两种分块方式获得的文件块的哈希值均与变化前的文件a的文件块的哈希值进行对比,获得两种分块方式需要变更的文件块的数量,选择文件块变更数量少的分割方式在步骤s3中进行交换。
13、在另一个方案中,在步骤s1中,对文件a按照设定的数据块大小进行分块后,获得n个文件块;第n个文件块的大小会等于或小于设定的数据块大小;在步骤s2中,根据步骤s1的分块方式对发生变化后的文件a进行分块有两种方式,第一种是:直接按照设定的数据块大小从变化后的文件a的开始处进行分块并计算文件块的哈希值,获得第一种文件块以及对应文件块哈希值;第二种是:先用所述第n个文件块的大小对变化后的文件a的末尾进行分块,然后再用设定的数据块大小对去掉了所述第n个文件块的大小的文件a进行进行倒序分块。
14、第一种分块方式和第二种分块方式获得的文件块的哈希值均与变化前的文件a的文件块的哈希值进行对比,获得两种分块方式需要变更的文件块及其数量;从而获得具体哪些数据块发生了变化需要进行更新;进入步骤s3。
15、采用上述方案,本发明能够实现多个终端设备上的文件的快速同步,具有很高的实用价值和广泛应用前景。本发明提供一种基于块交换协议实现多端文件快速同步的方法,具有以下技术效果:
16、(1)、减少了传输量,只传输变更的块数据,减少了网络带宽占用和传输耗时;
17、(2)、提高了文件同步的效率和速度,特别是在大文件和网络较慢的情况下;
18、(3)、能够有效解决文件冲突,提高了文件同步的准确性和完整性。
1.一种基于块交换协议实现多端文件快速同步的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于块交换协议实现多端文件快速同步的方法,其特征在于,
3.根据权利要求1所述的一种基于块交换协议实现多端文件快速同步的方法,其特征在于,在步骤s1中,对文件a按照设定的数据块大小进行分块后,获得n个文件块;第n个文件块的大小会等于或小于设定的数据块大小;在步骤s2中,根据步骤s1的分块方式对发生变化后的文件a进行分块有两种方式,第一种是:直接按照设定的数据块大小从变化后的文件a的开始处进行分块并计算文件块的哈希值,获得第一种文件块以及对应文件块哈希值;第二种是:先用所述第n个文件块的大小对变化后的文件a的末尾进行分块,然后再用设定的数据块大小对去掉了所述第n个文件块的大小的文件a进行进行倒序分块;
4.根据权利要求1所述的一种基于块交换协议实现多端文件快速同步的方法,其特征在于,文件传输设备、文件接收设备均对变化前的文件a进行备份。
5.根据权利要求1所述的一种基于块交换协议实现多端文件快速同步的方法,其特征在于,检测文件a是否发生变化的方法为监测文件a的存储时间或文件大小是否发生变化。
