云地协同中文件的下载方法及装置与流程

专利2023-04-07  14



1.本公开涉及网络通信技术领域,尤其涉及一种云地协同中文件的下载方法及装置。


背景技术:

2.随着互联网技术的发展,云地协同有了越来越多的应用,比如云地协同办公,其中,“云”是指云端,“地”是指本地端,不过本地端可能不止一个,比如云地协同办公中,每个员工都有自身的本地端。但是云地协同面临着下载上传文件速度不足的尴尬问题,目前常用局域网加速的方式,增加云地协同中下载上传文件的速度。由于加速盘部署依旧依赖于已有的硬件设备,要求人员在同一办公地点才可以生效,而且对非局域网下的员工无有效提速支撑,使用的范围有限。
3.在实现本公开构思的过程中,发明人发现相关技术中至少存在如下技术问题:目前云地协同中文件下载的加速方法依赖硬件设备的问题。


技术实现要素:

4.有鉴于此,本公开实施例提供了一种云地协同中文件的下载方法及装置,以解决现有技术中,目前云地协同中文件下载的加速方法依赖硬件设备的问题
5.本公开实施例的第一方面,提供了一种云地协同中文件的下载方法,包括:接收目标用户发送的文件下载指令;根据文件下载指令确定出待下载的目标本体文件的第一文件信息;基于目标本体文件的第一文件信息,确定出在目标用户的本地文件库中目标本体文件的第一当前版本以及在云端文件库中目标本体文件的第一最新版本;基于第一文件信息、第一当前版本和第一最新版本,利用碎片化下载技术从云端文件库中为目标用户下载目标本体文件,以更新目标用户的本地文件库中的目标本体文件,使得目标用户的本地文件库中保存的目标本体文件的版本为第一最新版本。
6.本公开实施例的第二方面,提供了一种云地协同中文件的下载装置,包括:接收模块,被配置为接收目标用户发送的文件下载指令;第一确定模块,被配置为根据文件下载指令确定出待下载的目标本体文件的第一文件信息;第二确定模块,被配置为基于目标本体文件的第一文件信息,确定出在目标用户的本地文件库中目标本体文件的第一当前版本以及在云端文件库中目标本体文件的第一最新版本;下载模块,被配置为基于第一文件信息、第一当前版本和第一最新版本,利用碎片化下载技术从云端文件库中为目标用户下载目标本体文件,以更新目标用户的本地文件库中的目标本体文件,使得目标用户的本地文件库中保存的目标本体文件的版本为第一最新版本。
7.本公开实施例的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在存储器中并且可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
8.本公开实施例的第四方面,提供了一种计算机可读存储介质,该计算机可读存储
介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
9.本公开实施例与现有技术相比存在的有益效果是:因为本公开实施例通过接收目标用户发送的文件下载指令;根据文件下载指令确定出待下载的目标本体文件的第一文件信息;基于目标本体文件的第一文件信息,确定出在目标用户的本地文件库中目标本体文件的第一当前版本以及在云端文件库中目标本体文件的第一最新版本;基于第一文件信息、第一当前版本和第一最新版本,利用碎片化下载技术从云端文件库中为目标用户下载目标本体文件,以更新目标用户的本地文件库中的目标本体文件,使得目标用户的本地文件库中保存的目标本体文件的版本为第一最新版本,因此,采用上述技术手段,可以解决现有技术中,目前云地协同中文件下载的加速方法依赖硬件设备的问题,进而提供一种不依赖硬件设备的云地协同中加速文件下载的方法。
附图说明
10.为了更清楚地说明本公开实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
11.图1是本公开实施例的应用场景的场景示意图;
12.图2是本公开实施例提供的一种云地协同中文件的下载方法的流程示意图;
13.图3是本公开实施例提供的一种云地协同中文件的下载装置的结构示意图;
14.图4是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
15.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
16.下面将结合附图详细说明根据本公开实施例的一种云地协同中文件的下载方法和装置。
17.图1是本公开实施例的应用场景的场景示意图。该应用场景可以包括终端设备101、102和103、服务器104以及网络105。
18.终端设备101、102和103可以是硬件,也可以是软件。当终端设备101、102和103为硬件时,其可以是具有显示屏且支持与服务器104通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等;当终端设备101、102和103为软件时,其可以安装在如上的电子设备中。终端设备101、102和103可以实现为多个软件或软件模块,也可以实现为单个软件或软件模块,本公开实施例对此不作限制。进一步地,终端设备101、102和103上可以安装有各种应用,例如数据处理应用、即时通信工具、社交平台软件、搜索类应用、购物类应用等。
19.服务器104可以是提供各种服务的服务器,例如,对与其建立通信连接的终端设备发送的请求进行接收的后台服务器,该后台服务器可以对终端设备发送的请求进行接收和
分析等处理,并生成处理结果。服务器104可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本公开实施例对此不作限制。
20.需要说明的是,服务器104可以是硬件,也可以是软件。当服务器104为硬件时,其可以是为终端设备101、102和103提供各种服务的各种电子设备。当服务器104为软件时,其可以是为终端设备101、102和103提供各种服务的多个软件或软件模块,也可以是为终端设备101、102和103提供各种服务的单个软件或软件模块,本公开实施例对此不作限制。
21.网络105可以是采用同轴电缆、双绞线和光纤连接的有线网络,也可以是无需布线就能实现各种通信设备互联的无线网络,例如,蓝牙(bluetooth)、近场通信(near field communication,nfc)、红外(infrared)等,本公开实施例对此不作限制。
22.用户可以通过终端设备101、102和103经由网络105与服务器104建立通信连接,以接收或发送信息等。需要说明的是,终端设备101、102和103、服务器104以及网络105的具体类型、数量和组合可以根据应用场景的实际需求进行调整,本公开实施例对此不作限制。
23.图2是本公开实施例提供的一种云地协同中文件的下载方法的流程示意图。图2的云地协同中文件的下载方法可以由图1的终端设备或服务器执行。如图2所示,该云地协同中文件的下载方法包括:
24.s201,接收目标用户发送的文件下载指令;
25.s202,根据文件下载指令确定出待下载的目标本体文件的第一文件信息;
26.s203,基于目标本体文件的第一文件信息,确定出在目标用户的本地文件库中目标本体文件的第一当前版本以及在云端文件库中目标本体文件的第一最新版本;
27.s204,基于第一文件信息、第一当前版本和第一最新版本,利用碎片化下载技术从云端文件库中为目标用户下载目标本体文件,以更新目标用户的本地文件库中的目标本体文件,使得目标用户的本地文件库中保存的目标本体文件的版本为第一最新版本。
28.第一文件信息可以是目标本体文件的文件名或者存储路径等信息;对文件下载指令解析,可以得到第一文件信息;第一当前版本是目标用户的本地文件库中目标本体文件的版本,第一最新版本是云端文件库中目标本体文件的版本;本公开实施例是用云端文件库中目标本体文件更新目标用户的本地文件库中的目标本体文件。
29.需要说明的是,本公开中云地协同中文件的下载方法,可以类推到云地协同中文件的上传方法,比如基于第一文件信息、第一当前版本和第一最新版本,利用碎片化上传技术将目标用户的本地文件库中的目标本体文件上传给云端文件库中,以更新云端文件库中的目标本体文件,使得云端文件库中保存的目标本体文件的版本为第一当前版本。
30.举例说明,本公开实施例中的文件可以是dwg文件,dwg文件在文件处理的过程中是以参照的形式出现的(dwg文件是autocad(欧特克公司首次于1982年开发的自动计算机辅助设计软件)创立的一种图纸保存格式,文件包括设计图案、照片、地图和几何资料)。通过上述技术手段,可以提高云地协同中dwg文件的下载速度。
31.根据本公开实施例提供的技术方案,通过接收目标用户发送的文件下载指令;根据文件下载指令确定出待下载的目标本体文件的第一文件信息;基于目标本体文件的第一文件信息,确定出在目标用户的本地文件库中目标本体文件的第一当前版本以及在云端文件库中目标本体文件的第一最新版本;基于第一文件信息、第一当前版本和第一最新版本,利用碎片化下载技术从云端文件库中为目标用户下载目标本体文件,以更新目标用户的本
地文件库中的目标本体文件,使得目标用户的本地文件库中保存的目标本体文件的版本为第一最新版本,因此,采用上述技术手段,可以解决现有技术中,目前云地协同中文件下载的加速方法依赖硬件设备的问题,进而提供一种不依赖硬件设备的云地协同中加速文件下载的方法。
32.在执行步骤s202之后,也就是根据文件下载指令确定出待下载的目标本体文件的第一文件信息之后,方法还包括:基于第一文件信息,从文件关系数据库中查询与目标本体文件存在链接关系的每个目标关联文件的第二文件信息;基于每个目标关联文件的第二文件信息,从云端文件库中为目标用户下载每个目标关联文件,使得目标用户的本地文件库中保存有与目标本体文件存在链接关系的多个目标关联文件。
33.目标本体文件相对于目标关联文件,目标本体文件为主体,目标关联文件为与目标本体文件存在链接关系的附属文件。比如目标本体文件为ppt文件,目标关联文件为可以插入该ppt文件的视频或者图片等。文件关系数据库集记载了多个文件之间的链接关系。第二文件信息类似于第一文件信息。
34.基于第一文件信息,从文件关系数据库中查询与目标本体文件存在链接关系的每个目标关联文件的第二文件信息之后,方法还包括:基于每个目标关联文件的第二文件信息,确定出在目标用户的本地文件库中每个目标关联文件的第二当前版本以及在云端文件库中每个目标关联文件的第二最新版本;基于每个目标关联文件的第二文件信息、第二当前版本和第二最新版本,利用碎片化下载技术从云端文件库中为目标用户下载每个目标关联文件,以更新目标用户的本地文件库中的每个目标关联文件,使得目标用户的本地文件库中保存的每个目标关联文件的版本为第二最新版本。
35.基于第二当前版本和第二最新版本,确定目标关联文件对应的待下载的内容(待下载的内容可以是第二最新版本比第二当前版本多出的内容);基于第二文件信息,从云端文件库中为目标用户下载待下载的内容(第二文件信息提供了目标关联文件的标识信息)。
36.在一个可选实施例中,包括:当在目标用户的本地文件库中不存在目标关联文件,基于目标关联文件的第二文件信息,从云端文件库中为目标用户下载目标关联文件,使得目标用户的本地文件库中保存有目标关联文件,并且目标用户的本地文件库中保存的目标关联文件的版本为第二最新版本。
37.如果在目标用户的本地文件库中不存在目标关联文件,那么也就是没有第二当前版本,此时,直接将云端文件库中的目标关联文件下载到目标用户的本地文件库。
38.在步骤s204中,基于第一文件信息、第一当前版本和第一最新版本,利用碎片化下载技术从云端文件库中为目标用户下载目标本体文件,以更新目标用户的本地文件库中的目标本体文件,使得目标用户的本地文件库中保存的目标本体文件的版本为第一最新版本,包括:基于第一当前版本和第一最新版本,确定目标本体文件对应的待下载的目标内容;基于第一文件信息,从云端文件库中为目标用户下载目标内容,以更新目标用户的本地文件库中的目标本体文件,使得目标用户的本地文件库中保存的目标本体文件的版本为第一最新版本。
39.基于第一当前版本和第一最新版本,确定目标本体文件对应的待下载的目标内容,可以是将第一最新版本比第一当前版本多出的内容确定为目标内容。利用碎片化下载技术从云端文件库中为目标用户下载目标本体文件,就是将第一最新版本比第一当前版本
多出的内容下载到目标用户的本地文件库中。举例说明:第一最新版本是1m到101m,第一当前版本是1m到100m,那么目标内容为第101m(m为单位兆),需要说明的是,要利用碎片化下载技术下载文件,那么该文件也是利用碎片化上传技术上传的(云端文件库中目标本体文件从100m到101m的更新也是按照碎片化更新的,所以可以找到第101m)。
40.在执行步骤s203之后,也就是基于目标本体文件的第一文件信息,确定出在目标用户的本地文件库中目标本体文件的第一当前版本以及在云端文件库中目标本体文件的第一最新版本之后,方法还包括:通过下载记录中心确定与目标用户同时从云端文件库下载目标本体文件的其他用户,其中,下载记录中心负责记录每次从云端文件库下载文件的相关信息,相关信息,包括:请求下载文件的用户的用户信息、文件下载的时间以及待下载文件的文件信息;将目标本体文件划分为目标用户对应的第一部分文件与其他用户对应的第二部分文件;从云端文件库中为目标用户下载第一部分文件以及为其他用户下载第二部分文件;在为目标用户下载第一部分文件以及为其他用户下载第二部分文件的同时,令目标用户从其他用户获取已经下载到的第二部分文件的最新内容,令其他用户从目标用户获取已经下载到的第一部分文件的最新内容,以更新目标用户的本地文件库和其他用户的本地文件库中的目标本体文件,使得目标用户的本地文件库和其他用户的本地文件库中保存的目标本体文件的版本为第一最新版本。
41.下载记录中心负责记录每次从云端文件库下载文件的相关信息,相关信息,包括:请求下载文件的用户的用户信息(用户的标识信息)、文件下载的时间以及待下载文件的文件信息(文件信息类似于第一文件信息);所以通过下载记录中心可以确定出与目标用户同时从云端文件库下载目标本体文件的其他用户。其他用户可以是一个或者多个。因为多个用户同时从云端文件库中下载目标本体文件的全部内容,由于云端文件库对应的带宽是一定的,用户数量过多,每个用户分到的带宽就越少,这会影响到每个用户的下载进程。所以本公开实施例将目标本体文件划分为目标用户对应的第一部分文件与其他用户对应的第二部分文件,在为目标用户下载第一部分文件以及为其他用户下载第二部分文件的同时,令目标用户从其他用户获取已经下载到的第二部分文件的最新内容,令其他用户从目标用户获取已经下载到的第一部分文件的最新内容。也就是说目标用户只需要从云端文件库下载第一部分文件,目标用户可以从其他用户处获取第二部分文件,这相当于目标用户同时从多个地方下载同一个文件,对于其他用户亦然。这避免了云端文件库对应的带宽的限制,也提高了下载的速度。
42.在步骤s204中,基于第一文件信息、第一当前版本和第一最新版本,利用碎片化下载技术从云端文件库中为目标用户下载目标本体文件,以更新目标用户的本地文件库中的目标本体文件,使得目标用户的本地文件库中保存的目标本体文件的版本为第一最新版本,包括:通过下载记录中心确定与目标用户同时从云端文件库下载目标本体文件的其他用户,其中,下载记录中心负责记录每次从云端文件库下载文件的相关信息,相关信息,包括:请求下载文件的用户的用户信息、文件下载的时间以及待下载文件的文件信息;基于第一文件信息、第一当前版本和第一最新版本,利用碎片化下载技术和bittorrent协议,从云端文件库中为目标用户和其他用户下载目标本体文件,以更新目标用户的本地文件库和其他用户的本地文件库中的目标本体文件,使得目标用户的本地文件库和其他用户的本地文件库中保存的目标本体文件的版本为第一最新版本。
43.bittorrent(简称bt)协议是一种点对点(peer-to-peer,或简写为p2p)传输协议,它被设计用来高效地分发文件(尤其是对于大文件、多人同时下载时效率非常高)。在传统的场景下,用户希望下载一个文件,一般都会通过比如http/ftp的方式从目标站点的服务器上下载,服务器的带宽通常都是有限的,当同时下载的用户过多时,将超出服务器的带宽限制,这时大家都会下载地很慢甚至是无法继续下载,而bittorrent协议便是为了解决这个问题,它的创新点在于将文件分片,每个终端用户下载文件分片,在下载的同时也会互相分发自己已下载的文件分片给其它正在下载的用户,从而将部分原本应从服务器拉取数据所造成的带宽压力分散给了终端用户,所有正在同时下载同一文件的终端用户构成一个图结构,互相点对点式地分发文件片段,因此对于大文件、多人同时下载时有非常好的文件分发效率。
44.利用碎片化下载技术,基于第一当前版本和第一最新版本,可以确定目标用户待下载的目标内容,同理,可以确定出其他用户需要下载的内容,由于每个用户下载的是第一最新版本,所以每个用户实际下载的内容有共同的部分,该共同的部分可以利用bittorrent协议,实现多个用户的快速下载。
45.上述所有可选技术方案,可以采用任意结合形成本技术的可选实施例,在此不再一一赘述。
46.下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
47.图3是本公开实施例提供的一种云地协同中文件的下载装置的示意图。如图3所示,该云地协同中文件的下载装置包括:
48.接收模块301,被配置为接收目标用户发送的文件下载指令;
49.第一确定模块302,被配置为根据文件下载指令确定出待下载的目标本体文件的第一文件信息;
50.第二确定模块303,被配置为基于目标本体文件的第一文件信息,确定出在目标用户的本地文件库中目标本体文件的第一当前版本以及在云端文件库中目标本体文件的第一最新版本;
51.下载模块304,被配置为基于第一文件信息、第一当前版本和第一最新版本,利用碎片化下载技术从云端文件库中为目标用户下载目标本体文件,以更新目标用户的本地文件库中的目标本体文件,使得目标用户的本地文件库中保存的目标本体文件的版本为第一最新版本。
52.第一文件信息可以是目标本体文件的文件名或者存储路径等信息;对文件下载指令解析,可以得到第一文件信息;第一当前版本是目标用户的本地文件库中目标本体文件的版本,第一最新版本是云端文件库中目标本体文件的版本;本公开实施例是用云端文件库中目标本体文件更新目标用户的本地文件库中的目标本体文件。
53.需要说明的是,本公开中云地协同中文件的下载方法,可以类推到云地协同中文件的上传方法,比如基于第一文件信息、第一当前版本和第一最新版本,利用碎片化上传技术将目标用户的本地文件库中的目标本体文件上传给云端文件库中,以更新云端文件库中的目标本体文件,使得云端文件库中保存的目标本体文件的版本为第一当前版本。
54.举例说明,本公开实施例中的文件可以是dwg文件,dwg文件在文件处理的过程中
是以参照的形式出现的(dwg文件是autocad(欧特克公司首次于1982年开发的自动计算机辅助设计软件)创立的一种图纸保存格式,文件包括设计图案、照片、地图和几何资料)。通过上述技术手段,可以提高云地协同中dwg文件的下载速度。
55.根据本公开实施例提供的技术方案,通过接收目标用户发送的文件下载指令;根据文件下载指令确定出待下载的目标本体文件的第一文件信息;基于目标本体文件的第一文件信息,确定出在目标用户的本地文件库中目标本体文件的第一当前版本以及在云端文件库中目标本体文件的第一最新版本;基于第一文件信息、第一当前版本和第一最新版本,利用碎片化下载技术从云端文件库中为目标用户下载目标本体文件,以更新目标用户的本地文件库中的目标本体文件,使得目标用户的本地文件库中保存的目标本体文件的版本为第一最新版本,因此,采用上述技术手段,可以解决现有技术中,目前云地协同中文件下载的加速方法依赖硬件设备的问题,进而提供一种不依赖硬件设备的云地协同中加速文件下载的方法。
56.可选地,第一确定模块302还被配置为基于第一文件信息,从文件关系数据库中查询与目标本体文件存在链接关系的每个目标关联文件的第二文件信息;基于每个目标关联文件的第二文件信息,从云端文件库中为目标用户下载每个目标关联文件,使得目标用户的本地文件库中保存有与目标本体文件存在链接关系的多个目标关联文件。
57.目标本体文件相对于目标关联文件,目标本体文件为主体,目标关联文件为与目标本体文件存在链接关系的附属文件。比如目标本体文件为ppt文件,目标关联文件为可以插入该ppt文件的视频或者图片等。文件关系数据库集记载了多个文件之间的链接关系。第二文件信息类似于第一文件信息。
58.可选地,第一确定模块302还被配置为基于每个目标关联文件的第二文件信息,确定出在目标用户的本地文件库中每个目标关联文件的第二当前版本以及在云端文件库中每个目标关联文件的第二最新版本;基于每个目标关联文件的第二文件信息、第二当前版本和第二最新版本,利用碎片化下载技术从云端文件库中为目标用户下载每个目标关联文件,以更新目标用户的本地文件库中的每个目标关联文件,使得目标用户的本地文件库中保存的每个目标关联文件的版本为第二最新版本。
59.基于第二当前版本和第二最新版本,确定目标关联文件对应的待下载的内容(待下载的内容可以是第二最新版本比第二当前版本多出的内容);基于第二文件信息,从云端文件库中为目标用户下载待下载的内容(第二文件信息提供了目标关联文件的标识信息)。
60.可选地,第一确定模块302还被配置为当在目标用户的本地文件库中不存在目标关联文件,基于目标关联文件的第二文件信息,从云端文件库中为目标用户下载目标关联文件,使得目标用户的本地文件库中保存有目标关联文件,并且目标用户的本地文件库中保存的目标关联文件的版本为第二最新版本。
61.如果在目标用户的本地文件库中不存在目标关联文件,那么也就是没有第二当前版本,此时,直接将云端文件库中的目标关联文件下载到目标用户的本地文件库。
62.可选地,下载模块304还被配置为基于第一当前版本和第一最新版本,确定目标本体文件对应的待下载的目标内容;基于第一文件信息,从云端文件库中为目标用户下载目标内容,以更新目标用户的本地文件库中的目标本体文件,使得目标用户的本地文件库中保存的目标本体文件的版本为第一最新版本。
63.基于第一当前版本和第一最新版本,确定目标本体文件对应的待下载的目标内容,可以是将第一最新版本比第一当前版本多出的内容确定为目标内容。利用碎片化下载技术从云端文件库中为目标用户下载目标本体文件,就是将第一最新版本比第一当前版本多出的内容下载到目标用户的本地文件库中。举例说明:第一最新版本是1m到101m,第一当前版本是1m到100m,那么目标内容为第101m(m为单位兆),需要说明的是,要利用碎片化下载技术下载文件,那么该文件也是利用碎片化上传技术上传的(云端文件库中目标本体文件从100m到101m的更新也是按照碎片化更新的,所以可以找到第101m)。
64.可选地,第二确定模块303还被配置为请求下载文件的用户的用户信息、文件下载的时间以及待下载文件的文件信息;将目标本体文件划分为目标用户对应的第一部分文件与其他用户对应的第二部分文件;从云端文件库中为目标用户下载第一部分文件以及为其他用户下载第二部分文件;在为目标用户下载第一部分文件以及为其他用户下载第二部分文件的同时,令目标用户从其他用户获取已经下载到的第二部分文件的最新内容,令其他用户从目标用户获取已经下载到的第一部分文件的最新内容,以更新目标用户的本地文件库和其他用户的本地文件库中的目标本体文件,使得目标用户的本地文件库和其他用户的本地文件库中保存的目标本体文件的版本为第一最新版本。
65.下载记录中心负责记录每次从云端文件库下载文件的相关信息,相关信息,包括:请求下载文件的用户的用户信息(用户的标识信息)、文件下载的时间以及待下载文件的文件信息(文件信息类似于第一文件信息);所以通过下载记录中心可以确定出与目标用户同时从云端文件库下载目标本体文件的其他用户。其他用户可以是一个或者多个。因为多个用户同时从云端文件库中下载目标本体文件的全部内容,由于云端文件库对应的带宽是一定的,用户数量过多,每个用户分到的带宽就越少,这会影响到每个用户的下载进程。所以本公开实施例将目标本体文件划分为目标用户对应的第一部分文件与其他用户对应的第二部分文件,在为目标用户下载第一部分文件以及为其他用户下载第二部分文件的同时,令目标用户从其他用户获取已经下载到的第二部分文件的最新内容,令其他用户从目标用户获取已经下载到的第一部分文件的最新内容。也就是说目标用户只需要从云端文件库下载第一部分文件,目标用户可以从其他用户处获取第二部分文件,这相当于目标用户同时从多个地方下载同一个文件,对于其他用户亦然。这避免了云端文件库对应的带宽的限制,也提高了下载的速度。
66.可选地,下载模块304还被配置为通过下载记录中心确定与目标用户同时从云端文件库下载目标本体文件的其他用户,其中,下载记录中心负责记录每次从云端文件库下载文件的相关信息,相关信息,包括:请求下载文件的用户的用户信息、文件下载的时间以及待下载文件的文件信息;基于第一文件信息、第一当前版本和第一最新版本,利用碎片化下载技术和bittorrent协议,从云端文件库中为目标用户和其他用户下载目标本体文件,以更新目标用户的本地文件库和其他用户的本地文件库中的目标本体文件,使得目标用户的本地文件库和其他用户的本地文件库中保存的目标本体文件的版本为第一最新版本。
67.bittorrent(简称bt)协议是一种点对点(peer-to-peer,或简写为p2p)传输协议,它被设计用来高效地分发文件(尤其是对于大文件、多人同时下载时效率非常高)。在传统的场景下,用户希望下载一个文件,一般都会通过比如http/ftp的方式从目标站点的服务器上下载,服务器的带宽通常都是有限的,当同时下载的用户过多时,将超出服务器的带宽
限制,这时大家都会下载地很慢甚至是无法继续下载,而bittorrent协议便是为了解决这个问题,它的创新点在于将文件分片,每个终端用户下载文件分片,在下载的同时也会互相分发自己已下载的文件分片给其它正在下载的用户,从而将部分原本应从服务器拉取数据所造成的带宽压力分散给了终端用户,所有正在同时下载同一文件的终端用户构成一个图结构,互相点对点式地分发文件片段,因此对于大文件、多人同时下载时有非常好的文件分发效率。
68.利用碎片化下载技术,基于第一当前版本和第一最新版本,可以确定目标用户待下载的目标内容,同理,可以确定出其他用户需要下载的内容,由于每个用户下载的是第一最新版本,所以每个用户实际下载的内容有共同的部分,该共同的部分可以利用bittorrent协议,实现多个用户的快速下载。
69.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
70.图4是本公开实施例提供的电子设备4的示意图。如图4所示,该实施例的电子设备4包括:处理器401、存储器402以及存储在该存储器402中并且可在处理器401上运行的计算机程序403。处理器401执行计算机程序403时实现上述各个方法实施例中的步骤。或者,处理器401执行计算机程序403时实现上述各装置实施例中各模块/单元的功能。
71.电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备4可以包括但不仅限于处理器401和存储器402。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者不同的部件。
72.处理器401可以是中央处理单元(central processing unit,cpu),也可以是其它通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
73.存储器402可以是电子设备4的内部存储单元,例如,电子设备4的硬盘或内存。存储器402也可以是电子设备4的外部存储设备,例如,电子设备4上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。存储器402还可以既包括电子设备4的内部存储单元也包括外部存储设备。存储器402用于存储计算机程序以及电子设备所需的其它程序和数据。
74.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
75.集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法
中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
76.以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。

技术特征:
1.一种云地协同中文件的下载方法,其特征在于,包括:接收目标用户发送的文件下载指令;根据所述文件下载指令确定出待下载的目标本体文件的第一文件信息;基于所述目标本体文件的第一文件信息,确定出在所述目标用户的本地文件库中所述目标本体文件的第一当前版本以及在云端文件库中所述目标本体文件的第一最新版本;基于所述第一文件信息、所述第一当前版本和所述第一最新版本,利用碎片化下载技术从所述云端文件库中为所述目标用户下载所述目标本体文件,以更新所述目标用户的本地文件库中的所述目标本体文件,使得所述目标用户的本地文件库中保存的所述目标本体文件的版本为所述第一最新版本。2.根据权利要求1所述的方法,其特征在于,所述根据所述文件下载指令确定出待下载的目标本体文件的第一文件信息之后,所述方法还包括:基于所述第一文件信息,从文件关系数据库中查询与所述目标本体文件存在链接关系的每个目标关联文件的第二文件信息;基于每个目标关联文件的第二文件信息,从所述云端文件库中为所述目标用户下载每个目标关联文件,使得所述目标用户的本地文件库中保存有与所述目标本体文件存在链接关系的多个目标关联文件。3.根据权利要求2所述的方法,其特征在于,所述基于所述第一文件信息,从文件关系数据库中查询与所述目标本体文件存在链接关系的每个目标关联文件的第二文件信息之后,所述方法还包括:基于每个目标关联文件的第二文件信息,确定出在所述目标用户的本地文件库中每个目标关联文件的第二当前版本以及在所述云端文件库中每个目标关联文件的第二最新版本;基于每个目标关联文件的第二文件信息、所述第二当前版本和所述第二最新版本,利用碎片化下载技术从所述云端文件库中为所述目标用户下载每个目标关联文件,以更新所述目标用户的本地文件库中的每个目标关联文件,使得所述目标用户的本地文件库中保存的每个目标关联文件的版本为所述第二最新版本。4.根据权利要求3所述的方法,其特征在于,包括:当在所述目标用户的本地文件库中不存在所述目标关联文件,基于所述目标关联文件的第二文件信息,从所述云端文件库中为所述目标用户下载所述目标关联文件,使得所述目标用户的本地文件库中保存有所述目标关联文件,并且所述目标用户的本地文件库中保存的所述目标关联文件的版本为所述第二最新版本。5.根据权利要求1所述的方法,其特征在于,所述基于所述第一文件信息、所述第一当前版本和所述第一最新版本,利用碎片化下载技术从所述云端文件库中为所述目标用户下载所述目标本体文件,以更新所述目标用户的本地文件库中的所述目标本体文件,使得所述目标用户的本地文件库中保存的所述目标本体文件的版本为所述第一最新版本,包括:基于所述第一当前版本和所述第一最新版本,确定所述目标本体文件对应的待下载的目标内容;基于所述第一文件信息,从所述云端文件库中为所述目标用户下载所述目标内容,以更新所述目标用户的本地文件库中的所述目标本体文件,使得所述目标用户的本地文件库
中保存的所述目标本体文件的版本为所述第一最新版本。6.根据权利要求1所述的方法,其特征在于,所述基于所述目标本体文件的第一文件信息,确定出在所述目标用户的本地文件库中所述目标本体文件的第一当前版本以及在所述云端文件库中所述目标本体文件的第一最新版本之后,所述方法还包括:通过下载记录中心确定与所述目标用户同时从所述云端文件库下载所述目标本体文件的其他用户,其中,所述下载记录中心负责记录每次从所述云端文件库下载文件的相关信息,所述相关信息,包括:请求下载文件的用户的用户信息、文件下载的时间以及待下载文件的文件信息;将所述目标本体文件划分为所述目标用户对应的第一部分文件与所述其他用户对应的第二部分文件;从所述云端文件库中为所述目标用户下载所述第一部分文件以及为所述其他用户下载所述第二部分文件;在为所述目标用户下载所述第一部分文件以及为所述其他用户下载所述第二部分文件的同时,令所述目标用户从所述其他用户获取已经下载到的所述第二部分文件的最新内容,令所述其他用户从所述目标用户获取已经下载到的所述第一部分文件的最新内容,以更新所述目标用户的本地文件库和所述其他用户的本地文件库中的所述目标本体文件,使得所述目标用户的本地文件库和所述其他用户的本地文件库中保存的所述目标本体文件的版本为所述第一最新版本。7.根据权利要求1所述的方法,其特征在于,所述基于所述第一文件信息、所述第一当前版本和所述第一最新版本,利用碎片化下载技术从所述云端文件库中为所述目标用户下载所述目标本体文件,以更新所述目标用户的本地文件库中的所述目标本体文件,使得所述目标用户的本地文件库中保存的所述目标本体文件的版本为所述第一最新版本,包括:通过下载记录中心确定与所述目标用户同时从所述云端文件库下载所述目标本体文件的其他用户,其中,所述下载记录中心负责记录每次从所述云端文件库下载文件的相关信息,所述相关信息,包括:请求下载文件的用户的用户信息、文件下载的时间以及待下载文件的文件信息;基于所述第一文件信息、所述第一当前版本和所述第一最新版本,利用所述碎片化下载技术和bittorrent协议,从所述云端文件库中为所述目标用户和所述其他用户下载所述目标本体文件,以更新所述目标用户的本地文件库和所述其他用户的本地文件库中的所述目标本体文件,使得所述目标用户的本地文件库和所述其他用户的本地文件库中保存的所述目标本体文件的版本为所述第一最新版本。8.一种云地协同中文件的下载装置,其特征在于,包括:接收模块,被配置为接收目标用户发送的文件下载指令;第一确定模块,被配置为根据所述文件下载指令确定出待下载的目标本体文件的第一文件信息;第二确定模块,被配置为基于所述目标本体文件的第一文件信息,确定出在所述目标用户的本地文件库中所述目标本体文件的第一当前版本以及在云端文件库中所述目标本体文件的第一最新版本;下载模块,被配置为基于所述第一文件信息、所述第一当前版本和所述第一最新版本,
利用碎片化下载技术从所述云端文件库中为所述目标用户下载所述目标本体文件,以更新所述目标用户的本地文件库中的所述目标本体文件,使得所述目标用户的本地文件库中保存的所述目标本体文件的版本为所述第一最新版本。9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并且可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述方法的步骤。

技术总结
本公开涉及网络通信技术领域,提供了一种云地协同中文件的下载方法及装置。该方法包括:接收目标用户发送的文件下载指令;根据文件下载指令确定出待下载的目标本体文件的第一文件信息;基于目标本体文件的第一文件信息,确定出在目标用户的本地文件库中目标本体文件的第一当前版本以及在云端文件库中目标本体文件的第一最新版本;基于第一文件信息、第一当前版本和第一最新版本,利用碎片化下载技术从云端文件库中为目标用户下载目标本体文件,以更新目标用户的本地文件库中的目标本体文件,使得目标用户的本地文件库中保存的目标本体文件的版本为第一最新版本。标本体文件的版本为第一最新版本。标本体文件的版本为第一最新版本。


技术研发人员:祁爽 张蕾 张君威 张阳 钱娟娟 傅磊
受保护的技术使用者:成都须弥云图建筑设计有限公司
技术研发日:2022.08.09
技术公布日:2022/12/2
转载请注明原文地址: https://bbs.8miu.com/read-332693.html

最新回复(0)