一种PDF文件的同步方法及装置与流程
未命名
10-08
阅读:89
评论:0

一种pdf文件的同步方法及装置
技术领域
1.本发明涉及一种在本地和服务器之间高效同步pdf文件的方法。
背景技术:
2.pdf文件可在计算机、手机、平板电脑等电子设备上通过特定的软件、app(应用)等进行修改编辑,例如增加页面、更改页面之间的顺序、删除页面、增加注释、修改注释、删除注释、增加书签、修改书签、删除书签等。对pdf文件进行修改编辑也称为pdf文件的更新。与修改编辑之前的pdf文件相比,修改编辑后的pdf文件就产生了更新。
3.某些软件、app能够将本地电子设备的pdf文件上传到云端的服务器上保存,还能根据需要将服务器上的pdf文件下载到本地电子设备保存,称为pdf文件的同步。为了确保同一个pdf文件在两个位置的保存内容完全一致,一旦pdf文件在本地电子设备产生了更新,就需要将更新后的pdf文件再次上传到服务器上保存;一旦pdf文件在服务器产生了更新,就需要将更新后的pdf文件再次下载到本地电子设备进行保存。现有技术是将整个pdf文件进行同步(上传或下载),这种同步整个pdf文件的方式需要传输的数据量较大,花费时间较长。
4.现有技术可以将pdf文件按页拆分,即根据pdf文件的页结构拆分为多个子文件。例如一个pdf文件有10页,按每2页进行拆分,会拆分为5个pdf子文件,每个pdf子文件为2页。这种按页拆分pdf文件的方式具有如下特点。第一,每个pdf子文件的大小不一定相同。单个pdf子文件的大小不能控制,而取决于该pdf子文件所包含的内容。第二,每个pdf子文件可以单独浏览阅读。第三,单个pdf子文件会丢失大纲等属性信息,即使所有pdf子文件合并起来也还是会丢失大纲等属性信息,且合并后的pdf文件的大小和原始的pdf文件的大小也可能不同(本质上还是数据丢失)。因此这种按页拆分pdf文件的方式不能完美适用于在本地电子设备和服务器之间同步pdf文件。
技术实现要素:
5.本发明所要解决的技术问题是:如何减小传输数据量、缩短同步时间地在本地和服务器之间同步pdf文件,尤其是更新后的pdf文件。无论pdf文件有多大或多小,都能保持同步后的pdf文件的数据不丢失。
6.为解决上述技术问题,本发明提出了一种pdf文件的同步方法,包括如下步骤。步骤s1:本地电子设备中的程序或app读取本地的pdf文件,将该pdf文件被读取后在本地电子设备的内存中的存储内容称为字符串,基于所述字符串对该pdf文件进行分片,记录每个分片的序号,计算出每个分片的校验值。步骤s2:当需要将本地电子设备中的某个pdf文件上传到服务器、且该pdf文件此前从未上传到服务器时,本地电子设备中的程序或app向服务器上传:本次上传批次号、分片的固定大小、每个分片所属的pdf文件的id、每个分片的数据、每个分片的序号、每个分片的校验值;服务器在保存pdf文件时,按照单个分片进行存储。步骤s3:当需要将本地电子设备中的更新后的某个pdf文件上传到服务器、且该pdf文件
此前曾经上传到服务器,服务器中存储有更新之前的该pdf文件时,本地电子设备中的程序或app首先将服务器中保存的更新之前的该pdf文件的每个分片的序号、每个分片的校验值下载到本地电子设备;如果本地电子设备中的更新后的该pdf文件的某个分片的校验值与下载得到的更新之前的该pdf文件的某个分片的校验值相同,则表明该分片是重复分片,重复分片不用上传,只需记录重复分片在更新后的该pdf文件中的分片序号;如果本地电子设备中的更新后的该pdf文件的某个分片的校验值与下载得到的更新之前的该pdf文件的所有分片的校验值都不同,则表明该分片是新分片,新分片需要上传。步骤s4:本地电子设备中的程序或app向服务器上传:本次上传批次号、重复分片在更新后的该pdf文件中的分片序号、新分片的数据、新分片的序号、新分片的校验值;服务器将本次上传批次号对应的新分片数据与重复分片数据按照更新后的该pdf文件中的分片序号进行合并后,就得到了完整的更新后的该pdf文件。
7.优选地,所述步骤s1中,本地电子设备中的程序或app按照固定大小的字符串长度对本地的pdf文件进行分片,最后一个分片如果不足固定大小就按该分片实际大小拆分为一个分片。
8.进一步地,所述步骤s2中,服务器在校验属于同一个上传批次号的所有分片同时符合以下条件:(1)除最后一个分片以外的其余分片的大小均符合分片的固定大小、(2)所有分片所属的pdf文件的id相同、(3)所有分片的序号连续、(4)所有分片的校验值符合后,判定本次上传批次号的pdf文件上传成功,将该上传批次号对应的所有分片置为有效状态。
9.进一步地,所述步骤s4中,服务器在校验属于同一个上传批次号的所有分片同时符合以下条件:(1)除最后一个分片以外的其余分片的大小均符合分片的固定大小、(2)所有分片所属的pdf文件的id相同、(3)所有分片的序号连续、(4)所有分片的校验值符合后,判定本次上传批次号的pdf文件上传成功,将该上传批次号对应的所有分片置为有效状态。
10.进一步地,在步骤s1之后增加步骤s5和步骤s6。步骤s5:当需要从服务器将更新后的某个pdf文件下载到本地、而本地已保存更新之前的该pdf文件时,本地电子设备中的程序或app首先将服务器中保存的更新后的该pdf文件的各个分片的序号及校验值下载到本地电子设备;如果下载得到的更新后的该pdf文件的某个分片的校验值与本地电子设备中的更新之前的该pdf文件的某个分片的校验值相同,则表明该分片是重复分片,重复分片不用下载,只需记录重复分片在更新后的该pdf文件中的分片序号;如果下载得到的更新后的该pdf文件的某个分片的校验值与本地电子设备中的更新之前的该pdf文件的所有分片的校验值都不同,则表明该分片是新分片,新分片需要下载。步骤s6:本地电子设备中的程序或app从服务器下载:新分片的数据、新分片的序号、新分片的校验值;本地电子设备中的程序或app将本次下载得到的新分片数据与重复分片数据按照更新后的该pdf文件中的分片序号进行合并后,就得到了完整的更新后的该pdf文件。
11.可替换地,所述步骤s3或步骤s5中,执行判断的主体由本地电子设备中的程序或app改为远程的服务器端。
12.优选地,所述步骤s4或步骤s6中,服务器或本地电子设备中保存同一pdf文件的原始版本和每次更新的版本。
13.优选地,所述步骤s2、或步骤s4、或步骤s6中,本地电子设备中的程序或app根据本地电子设备的性能和/或网络情况选择相匹配的并发数并发传输。
14.本发明还提出了一种pdf文件的同步装置,包括分片单元、原始上传单元、上传预处理单元、上传同步单元。所述分片单元用来读取本地的pdf文件,将该pdf文件被读取后在本地电子设备的内存中的存储内容称为字符串,基于所述字符串对该pdf文件进行分片,记录每个分片的序号,计算出每个分片的校验值。所述原始上传单元用来在需要将本地电子设备中的某个pdf文件上传到服务器、且该pdf文件此前从未上传到服务器时,从本地电子设备向服务器上传:本次上传批次号、分片的固定大小、每个分片所属的pdf文件的id、每个分片的数据、每个分片的序号、每个分片的校验值;服务器在保存pdf文件时,按照单个分片进行存储。所述上传预处理单元用来在需要将本地电子设备中的更新后的某个pdf文件上传到服务器、且该pdf文件此前曾经上传到服务器,服务器中存储有更新之前的该pdf文件时,比较本地电子设备中的更新后的该pdf文件的每个分片的校验值和服务器中的更新之前的该pdf文件的每个分片的校验值;如果本地电子设备中的更新后的该pdf文件的某个分片的校验值与服务器中的更新之前的该pdf文件的某个分片的校验值相同,则表明该分片是重复分片,重复分片不用上传,只需记录重复分片在更新后的该pdf文件中的分片序号;如果本地电子设备中的更新后的该pdf文件的某个分片的校验值与服务器中的更新之前的该pdf文件的所有分片的校验值都不同,则表明该分片是新分片,新分片需要上传。所述上传同步单元从本地电子设备向服务器上传:本次上传批次号、重复分片在更新后的该pdf文件中的分片序号、新分片的数据、新分片的序号、新分片的校验值;还将本次上传批次号对应的新分片数据与重复分片数据按照更新后的该pdf文件中的分片序号在服务器进行合并后,就得到了完整的更新后的该pdf文件。
15.进一步地,所述pdf文件的同步装置还包括下载预处理单元、下载同步单元。所述下载预处理单元在需要从服务器将更新后的某个pdf文件下载到本地、而本地已保存更新之前的该pdf文件时,比较本地电子设备中的更新后的该pdf文件的每个分片的校验值和服务器中的更新之前的该pdf文件的每个分片的校验值;如果服务器中的更新后的该pdf文件的某个分片的校验值与本地电子设备中的更新之前的该pdf文件的某个分片的校验值相同,则表明该分片是重复分片,重复分片不用下载,只需记录重复分片在更新后的该pdf文件中的分片序号;如果服务器中的更新后的该pdf文件的某个分片的校验值与本地电子设备中的更新之前的该pdf文件的所有分片的校验值都不同,则表明该分片是新分片,新分片需要下载。所述下载同步单元从服务器向本地电子设备下载:重复分片在更新后的该pdf文件中的分片序号、新分片的数据、新分片的序号、新分片的校验值;还将本次下载得到的新分片数据与重复分片数据按照更新后的该pdf文件中的分片序号在本地电子设备进行合并后,就得到了完整的更新后的该pdf文件。
16.本发明取得的技术效果是:保证pdf文件同步后数据不丢失,减小了pdf文件在本地电子设备和服务器之间同步的传输数据量,缩短了同步时间,尤其适用于将某个位置更新后的pdf文件同步到其他位置。
附图说明
17.图1是本发明提出的pdf文件的同步方法的实施例一的流程示意图。
18.图2是本发明提出的pdf文件的同步方法的实施例二的流程示意图。
19.图3是本发明提出的pdf文件的同步装置的实施例一的结构示意图。
20.图4是本发明提出的pdf文件的同步装置的实施例二的结构示意图。
21.图中附图标记说明:1为分片单元、2为原始上传单元、3为上传预处理单元、4为上传同步单元、5为下载预处理单元、6为下载同步单元。
具体实施方式
22.请参阅图1,本发明提出的pdf文件的同步方法的实施例一包括如下步骤。
23.步骤s1:本地电子设备中的程序或app读取本地的pdf文件,并基于该pdf文件被读取后在本地电子设备的内存中的存储内容(称为字符串、或文件数据字符串)对该pdf文件进行分片,记录每个分片的序号,计算出每个分片的校验值(例如md5)。优选地,本地电子设备中的程序或app按照固定大小(即相同)的字符串长度对本地的pdf文件进行分片,最后一个分片如果不足固定大小就按该分片实际大小拆分为一个分片。例如一个pdf文件的大小是10.5mb,则其在本地电子设备的内存中的字符串总长度也是10.5mb,按照每1mb大小进行拆分,会拆分为11个分片,前10个分片的大小均为1mb,第11个分片(即最后一个分片)的大小为0.5mb。
24.本地的pdf文件被本地电子设备中的程序或app读取后,以字符串方式存放在本地电子设备的内存中,本地的程序或app可以依据字符串对pdf文件进行分片。这种分片方式具有如下特点。第一,分片不需要考虑pdf文件结构,即分片与pdf文件的页没有关联。每个分片的大小完全受控,可以相同,也可以不同。第二,每个分片不能单独浏览阅读。因为单个分片不是一个pdf文件,必须将所有分片按序合并起来才是一个pdf文件。第三,所有分片合并起来后,原始pdf文件的所有信息(包括书签、大纲等属性信息)都完整存在,不会丢失。合并后的pdf文件的大小和原始的pdf文件的大小完全相同,即不存在数据丢失。因此这种分割和合并不会对pdf文件产生任何影响。
25.步骤s2:当需要将本地电子设备中的某个pdf文件上传到服务器、且该pdf文件此前从未上传到服务器时,本地电子设备中的程序或app向服务器上传:本次上传批次号、分片的固定大小(如1mb,不考虑最后一个分片的大小)、每个分片所属的pdf文件的id(识别码)、每个分片的数据、每个分片的序号、每个分片的校验值。所述上传批次号用于区分不同上传来源,避免多个来源(即一个服务器可能对应多个本地电子设备)同时上传同一个pdf文件时造成数据相互干扰,一次pdf文件的上传过程有一个相同的上传批次号。所述pdf文件的id用于区分不同的pdf文件。服务器在保存pdf文件时,是按照单个分片进行存储,同时存储:上传批次号、分片的固定大小、每个分片所属的pdf文件的id、每个分片的数据、每个分片的序号、每个分片的校验值。优选地,服务器在校验属于同一个上传批次号的所有分片同时符合以下条件:(1)除最后一个分片以外的其余分片的大小均符合分片的固定大小、(2)所有分片所属的pdf文件的id相同、(3)所有分片的序号连续、(4)所有分片的校验值符合后,判定本次上传批次号的pdf文件上传成功,将该上传批次号对应的所有分片置为有效状态,后续可供其他设备基于分片进行下载。
26.步骤s3:当需要将本地电子设备中的更新后的某个pdf文件上传到服务器、且该pdf文件此前曾经上传到服务器,服务器中存储有更新之前的该pdf文件时,本地电子设备中的程序或app首先将服务器中保存的更新之前的该pdf文件的每个分片的序号、每个分片的校验值下载到本地电子设备。如果本地电子设备中的程序或app、服务器两端可能对pdf
文件的分片采用不同的固定大小,这里还优选将服务器中保存的更新之前的该pdf文件的分片的固定大小下载到本地电子设备。如果本地电子设备中的更新后的该pdf文件的某个分片的校验值与下载得到的更新之前的该pdf文件的某个分片的校验值相同,则表明该分片是重复分片,重复分片不用上传,只需记录重复分片在更新后的该pdf文件中的分片序号。如果本地电子设备中的更新后的该pdf文件的某个分片的校验值与下载得到的更新之前的该pdf文件的所有分片的校验值都不同,则表明该分片是新分片,新分片需要上传。随后进入步骤s4。
27.可替换地,所述步骤s3中,执行判断的主体由本地电子设备中的程序或app改为远程的服务器端。本地电子设备中的程序或app首先将本地的更新后的pdf文件的各个分片的序号及校验值上传到服务器。如果上传得到的更新后的pdf文件的某个分片的校验值与服务器中的更新之前的该pdf文件的任意一个分片的校验值相同,则表明该分片是重复分片,重复分片不用上传,只需记录重复分片在更新后的该pdf文件中的分片序号。如果上传得到的更新后的pdf文件的某个分片的校验值与服务器中的更新之前的该pdf文件的所有分片的校验值都不同,则表明该分片是新分片,新分片需要上传。
28.步骤s4:本地电子设备中的程序或app向服务器上传:本次上传批次号、重复分片在更新后的该pdf文件中的分片序号、新分片的数据、新分片的序号、新分片的校验值。服务器将本次上传批次号对应的新分片数据与重复分片数据按照更新后的该pdf文件中的分片序号进行合并后,就得到了完整的更新后的该pdf文件。这个过程中就可以省掉大量的重复分片的上传,既节省了数据传输量,又减少了上传耗时。优选地,服务器在校验属于同一个上传批次号的所有分片同时符合以下条件:(1)除最后一个分片以外的其余分片的大小均符合分片的固定大小、(2)所有分片所属的pdf文件的id相同、(3)所有分片的序号(本次上传批次号下的重复分片在更新后的该pdf文件中的分片序号、以及新分片的序号)连续、(4)所有分片的校验值符合后,判定本次上传批次号的pdf文件上传成功,将该上传批次号对应的所有分片置为有效状态,后续可供其他设备基于分片进行下载。优选地,服务器中保存同一pdf文件的原始版本和每次更新的版本,便于后续进行比较分析。
29.请参阅图2,本发明提出的pdf文件的同步方法的实施例二包括如下步骤。
30.步骤s1:与实施例一中的步骤s1相同,随后进入步骤s5。
31.步骤s5:当需要从服务器将更新后的某个pdf文件下载到本地、而本地已保存更新之前的该pdf文件时,本地电子设备中的程序或app首先将服务器中保存的更新后的该pdf文件的各个分片的序号及校验值下载到本地电子设备。如果下载得到的更新后的该pdf文件的某个分片的校验值与本地电子设备中的更新之前的该pdf文件的某个分片的校验值相同,则表明该分片是重复分片,重复分片不用下载,只需记录重复分片在更新后的该pdf文件中的分片序号。如果下载得到的更新后的该pdf文件的某个分片的校验值与本地电子设备中的更新之前的该pdf文件的所有分片的校验值都不同,则表明该分片是新分片,新分片需要下载。随后进入步骤s6。
32.可替换地,所述步骤s5中,执行判断的主体由本地电子设备中的程序或app改为远程的服务器端。本地电子设备中的程序或app首先将本地的更新之前的该pdf文件的各个分片的序号及校验值上传到服务器。如果服务器中的更新后的该pdf文件的某个分片的校验值与上传得到的更新之前的该pdf文件的任意一个分片的校验值相同,则表明该分片是重
复分片,重复分片不用下载,只需记录重复分片在更新后的该pdf文件中的分片序号。如果服务器中的更新后的该pdf文件的某个分片的校验值与上传得到的更新之前的该pdf文件的所有分片的校验值都不同,则表明该分片是新分片,新分片需要下载。
33.步骤s6:本地电子设备中的程序或app从服务器下载:新分片的数据、新分片的序号、新分片的校验值。本地电子设备中的程序或app将本次下载得到的新分片数据与重复分片数据按照更新后的该pdf文件中的分片序号进行合并后,就得到了完整的更新后的该pdf文件。这个过程中就可以省掉大量的重复分片的下载,既节省了数据传输量,又减少了下载耗时。优选地,本地电子设备中保存同一pdf文件的原始版本和每次更新的版本,便于后续进行比较分析。
34.优选地,所述步骤s2、步骤s4、步骤s6中,本地电子设备中的程序或app根据本地电子设备的性能和/或网络情况选择相匹配的并发数并发传输。
35.请参阅图3,本发明提出的pdf文件的同步装置的实施例一包括分片单元1、原始上传单元2、上传预处理单元3、上传同步单元4。
36.所述分片单元1用来读取本地的pdf文件,并基于该pdf文件被读取后在本地电子设备的内存中的存储内容(称为字符串、或文件数据字符串)对该pdf文件进行分片,记录每个分片的序号,计算出每个分片的校验值。
37.所述原始上传单元2用来在需要将本地电子设备中的某个pdf文件上传到服务器、且该pdf文件此前从未上传到服务器时,从本地电子设备向服务器上传:本次上传批次号、分片的固定大小、每个分片所属的pdf文件的id、每个分片的数据、每个分片的序号、每个分片的校验值。服务器在保存pdf文件时,是按照单个分片进行存储,同时存储:上传批次号、分片的固定大小、每个分片所属的pdf文件的id、每个分片的数据、每个分片的序号、每个分片的校验值。
38.所述上传预处理单元3用来在需要将本地电子设备中的某个pdf文件上传到服务器、且该pdf文件此前曾经上传到服务器,服务器中存储有更新之前的该pdf文件时,比较本地电子设备中的更新后的该pdf文件的每个分片的校验值和服务器中的更新之前的该pdf文件的每个分片的校验值。如果本地电子设备中的更新后的该pdf文件的某个分片的校验值与服务器中的更新之前的该pdf文件的某个分片的校验值相同,则表明该分片是重复分片,重复分片不用上传,只需记录重复分片在更新后的该pdf文件中的分片序号。如果本地电子设备中的更新后的该pdf文件的某个分片的校验值与服务器中的更新之前的该pdf文件的所有分片的校验值都不同,则表明该分片是新分片,新分片需要上传。
39.所述上传同步单元4从本地电子设备向服务器上传:本次上传批次号、重复分片在更新后的该pdf文件中的分片序号、新分片的数据、新分片的序号、新分片的校验值。所述上传同步单元4将本次上传批次号对应的新分片数据与重复分片数据按照更新后的该pdf文件中的分片序号在服务器进行合并后,就得到了完整的更新后的该pdf文件。
40.请参阅图4,本发明提出的pdf文件的同步装置的实施例二包括分片单元1、下载预处理单元5、下载同步单元6。
41.所述分片单元1与实施例一相同,随后进入下载同步单元4。
42.所述下载预处理单元5在需要从服务器将更新后的某个pdf文件下载到本地、而本地已保存更新之前的该pdf文件时,比较本地电子设备中的更新后的该pdf文件的每个分片
的校验值和服务器中的更新之前的该pdf文件的每个分片的校验值。如果服务器中的更新后的该pdf文件的某个分片的校验值与本地电子设备中的更新之前的该pdf文件的某个分片的校验值相同,则表明该分片是重复分片,重复分片不用下载,只需记录重复分片在更新后的该pdf文件中的分片序号。如果服务器中的更新后的该pdf文件的某个分片的校验值与本地电子设备中的更新之前的该pdf文件的所有分片的校验值都不同,则表明该分片是新分片,新分片需要下载。
43.所述下载同步单元6从服务器向本地电子设备下载:重复分片在更新后的该pdf文件中的分片序号、新分片的数据、新分片的序号、新分片的校验值。所述下载同步单元6将本次下载得到的新分片数据与重复分片数据按照更新后的该pdf文件中的分片序号在本地电子设备进行合并后,就得到了完整的更新后的该pdf文件。
44.与现有技术相比,本发明提出的pdf文件的同步方法及装置具有如下有益效果。第一,本发明基于pdf文件被读取后在本地电子设备的内存中的存储内容(称为字符串、或文件数据字符串)对pdf文件进行分片,能在所有分片合并后完整保留原始pdf文件的全部数据,不存在数据丢失。第二,本发明在pdf文件更新后的数据同步时以分片为单位进行,先检查各个分片的校验值,仅同步校验值不同的分片,不同步校验值相同的分片,从而能够大幅减少数据传输量和同步耗时。应用本发明的技术方案进行测试,在a、b手机上均保存有原始pdf文件,在a手机上通过app对该pdf文件更新后,先同步上传到服务器,再由b手机上的app下载该更新后的pdf文件,本发明比竞品的同步时间有显著缩短,体现出巨大性能优势。而且对pdf文件的更新内容越少,这种性能优势越明显。
45.以上仅为本发明的优选实施例,并不用于限定本发明。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种pdf文件的同步方法,其特征是,包括如下步骤;步骤s1:本地电子设备中的程序或app读取本地的pdf文件,将该pdf文件被读取后在本地电子设备的内存中的存储内容称为字符串,基于所述字符串对该pdf文件进行分片,记录每个分片的序号,计算出每个分片的校验值;步骤s2:当需要将本地电子设备中的某个pdf文件上传到服务器、且该pdf文件此前从未上传到服务器时,本地电子设备中的程序或app向服务器上传:本次上传批次号、分片的固定大小、每个分片所属的pdf文件的id、每个分片的数据、每个分片的序号、每个分片的校验值;服务器在保存pdf文件时,按照单个分片进行存储;步骤s3:当需要将本地电子设备中的更新后的某个pdf文件上传到服务器、且该pdf文件此前曾经上传到服务器,服务器中存储有更新之前的该pdf文件时,本地电子设备中的程序或app首先将服务器中保存的更新之前的该pdf文件的每个分片的序号、每个分片的校验值下载到本地电子设备;如果本地电子设备中的更新后的该pdf文件的某个分片的校验值与下载得到的更新之前的该pdf文件的某个分片的校验值相同,则表明该分片是重复分片,重复分片不用上传,只需记录重复分片在更新后的该pdf文件中的分片序号;如果本地电子设备中的更新后的该pdf文件的某个分片的校验值与下载得到的更新之前的该pdf文件的所有分片的校验值都不同,则表明该分片是新分片,新分片需要上传;步骤s4:本地电子设备中的程序或app向服务器上传:本次上传批次号、重复分片在更新后的该pdf文件中的分片序号、新分片的数据、新分片的序号、新分片的校验值;服务器将本次上传批次号对应的新分片数据与重复分片数据按照更新后的该pdf文件中的分片序号进行合并后,就得到了完整的更新后的该pdf文件。2.根据权利要求1所述的pdf文件的同步方法,其特征是,所述步骤s1中,本地电子设备中的程序或app按照固定大小的字符串长度对本地的pdf文件进行分片,最后一个分片如果不足固定大小就按该分片实际大小拆分为一个分片。3.根据权利要求1所述的pdf文件的同步方法,其特征是,所述步骤s2中,服务器在校验属于同一个上传批次号的所有分片同时符合以下条件:(1)除最后一个分片以外的其余分片的大小均符合分片的固定大小、(2)所有分片所属的pdf文件的id相同、(3)所有分片的序号连续、(4)所有分片的校验值符合后,判定本次上传批次号的pdf文件上传成功,将该上传批次号对应的所有分片置为有效状态。4.根据权利要求1所述的pdf文件的同步方法,其特征是,所述步骤s4中,服务器在校验属于同一个上传批次号的所有分片同时符合以下条件:(1)除最后一个分片以外的其余分片的大小均符合分片的固定大小、(2)所有分片所属的pdf文件的id相同、(3)所有分片的序号连续、(4)所有分片的校验值符合后,判定本次上传批次号的pdf文件上传成功,将该上传批次号对应的所有分片置为有效状态。5.根据权利要求1所述的pdf文件的同步方法,其特征是,在步骤s1之后增加步骤s5和步骤s6;步骤s5:当需要从服务器将更新后的某个pdf文件下载到本地、而本地已保存更新之前的该pdf文件时,本地电子设备中的程序或app首先将服务器中保存的更新后的该pdf文件的各个分片的序号及校验值下载到本地电子设备;如果下载得到的更新后的该pdf文件的某个分片的校验值与本地电子设备中的更新之前的该pdf文件的某个分片的校验值相同,
则表明该分片是重复分片,重复分片不用下载,只需记录重复分片在更新后的该pdf文件中的分片序号;如果下载得到的更新后的该pdf文件的某个分片的校验值与本地电子设备中的更新之前的该pdf文件的所有分片的校验值都不同,则表明该分片是新分片,新分片需要下载;步骤s6:本地电子设备中的程序或app从服务器下载:新分片的数据、新分片的序号、新分片的校验值;本地电子设备中的程序或app将本次下载得到的新分片数据与重复分片数据按照更新后的该pdf文件中的分片序号进行合并后,就得到了完整的更新后的该pdf文件。6.根据权利要求1或5所述的pdf文件的同步方法,其特征是,所述步骤s3或步骤s5中,执行判断的主体由本地电子设备中的程序或app改为远程的服务器端。7.根据权利要求1或5所述的pdf文件的同步方法,其特征是,所述步骤s4或步骤s6中,服务器或本地电子设备中保存同一pdf文件的原始版本和每次更新的版本。8.根据权利要求1或5所述的pdf文件的同步方法,其特征是,所述步骤s2、或步骤s4、或步骤s6中,本地电子设备中的程序或app根据本地电子设备的性能和/或网络情况选择相匹配的并发数并发传输。9.一种pdf文件的同步装置,其特征是,包括分片单元、原始上传单元、上传预处理单元、上传同步单元;所述分片单元用来读取本地的pdf文件,将该pdf文件被读取后在本地电子设备的内存中的存储内容称为字符串,基于所述字符串对该pdf文件进行分片,记录每个分片的序号,计算出每个分片的校验值;所述原始上传单元用来在需要将本地电子设备中的某个pdf文件上传到服务器、且该pdf文件此前从未上传到服务器时,从本地电子设备向服务器上传:本次上传批次号、分片的固定大小、每个分片所属的pdf文件的id、每个分片的数据、每个分片的序号、每个分片的校验值;服务器在保存pdf文件时,按照单个分片进行存储;所述上传预处理单元用来在需要将本地电子设备中的更新后的某个pdf文件上传到服务器、且该pdf文件此前曾经上传到服务器,服务器中存储有更新之前的该pdf文件时,比较本地电子设备中的更新后的该pdf文件的每个分片的校验值和服务器中的更新之前的该pdf文件的每个分片的校验值;如果本地电子设备中的更新后的该pdf文件的某个分片的校验值与服务器中的更新之前的该pdf文件的某个分片的校验值相同,则表明该分片是重复分片,重复分片不用上传,只需记录重复分片在更新后的该pdf文件中的分片序号;如果本地电子设备中的更新后的该pdf文件的某个分片的校验值与服务器中的更新之前的该pdf文件的所有分片的校验值都不同,则表明该分片是新分片,新分片需要上传;所述上传同步单元从本地电子设备向服务器上传:本次上传批次号、重复分片在更新后的该pdf文件中的分片序号、新分片的数据、新分片的序号、新分片的校验值;还将本次上传批次号对应的新分片数据与重复分片数据按照更新后的该pdf文件中的分片序号在服务器进行合并后,就得到了完整的更新后的该pdf文件。10.根据权利要求9所述的pdf文件的同步装置,其特征是,还包括下载预处理单元、下载同步单元;所述下载预处理单元在需要从服务器将更新后的某个pdf文件下载到本地、而本地已
保存更新之前的该pdf文件时,比较本地电子设备中的更新后的该pdf文件的每个分片的校验值和服务器中的更新之前的该pdf文件的每个分片的校验值;如果服务器中的更新后的该pdf文件的某个分片的校验值与本地电子设备中的更新之前的该pdf文件的某个分片的校验值相同,则表明该分片是重复分片,重复分片不用下载,只需记录重复分片在更新后的该pdf文件中的分片序号;如果服务器中的更新后的该pdf文件的某个分片的校验值与本地电子设备中的更新之前的该pdf文件的所有分片的校验值都不同,则表明该分片是新分片,新分片需要下载;所述下载同步单元从服务器向本地电子设备下载:重复分片在更新后的该pdf文件中的分片序号、新分片的数据、新分片的序号、新分片的校验值;还将本次下载得到的新分片数据与重复分片数据按照更新后的该pdf文件中的分片序号在本地电子设备进行合并后,就得到了完整的更新后的该pdf文件。
技术总结
本发明公开了一种PDF文件的同步方法。本地电子设备中的程序或APP将PDF文件被读取后在本地电子设备的内存中的存储内容对该PDF文件进行分片,记录每个分片的序号,计算出每个分片的校验值。当需要将本地电子设备中的更新后的某个PDF文件上传到服务器、且该PDF文件此前曾经上传到服务器时,先区分重复分片和新分片,本地电子设备中的程序或APP向服务器上传:本次上传批次号、重复分片在更新后的该PDF文件中的分片序号、新分片的数据、新分片的序号、新分片的校验值;服务器将本次上传批次号对应的新分片数据与重复分片数据按照更新后的该PDF文件中的分片序号进行合并后,就得到了完整的更新后的该PDF文件。本发明能够大幅减少数据传输量和同步耗时。数据传输量和同步耗时。数据传输量和同步耗时。
技术研发人员:黄杰 郭辉辉 吴忠泽
受保护的技术使用者:上海合合信息科技股份有限公司 上海生腾数据科技有限公司 上海盈五蓄数据科技有限公司
技术研发日:2023.06.28
技术公布日:2023/10/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/