一种桌面云数据传输方法及相关设备与流程

文档序号:31704643发布日期:2022-10-01 10:19阅读:44来源:国知局
一种桌面云数据传输方法及相关设备与流程

1.本说明书涉及桌面云领域,更具体地说,本发明涉及一种桌面云数据传输方法及相关设备。


背景技术:

2.桌面云已然成为当下最流行的办公环境。云桌面与本地端共享数据,是日常重要需求之一,通过剪切板来传递数据是其中最便捷的方式之一。在服务端上,执行复制操作,将剪切板格式列表通过本地和远端桌面的连接通道,发送至本地,当本地端接收到剪切板格式列表后,将该剪切板格式列表注入到本地的系统剪切板中,此时,在本地的桌面环境上,就可以通过粘贴操作,触发系统剪切板完成剪切板数据的请求。在当前的文件传输方式中,每个本地端与服务端都创建一个会话,每个会话之间相互隔离,在一个本地端与服务端进行数据交换是只能运用一个会话进行传输,限制了数据传输的速度。


技术实现要素:

3.在发明内容部分中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本发明的发明内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
4.为了提供一种更为智能的云桌面数据传输方法,第一方面,本发明提出一种桌面云数据传输方法,用于服务端,上述方法包括:接收第一本地端发出的文件传输请求信息;获取与上述服务端连接的第二本地端信息;将上述第二本地端信息发送至上述第一本地端以使上述第一本地端与上述第二本地端建立本地连接;基于上述文件传输请求信息向上述第一本地端和上述第二本地端传输上述文件传输请求信息对应的目标文件的对应部分,以使上述第一本地端从上述服务端和上述第二本地端获取完整的上述目标文件。
5.可选的,上述将上述第二本地端信息发送至上述第一本地端以使上述第一本地端与上述第二本地端建立本地连接,包括:获取上述第一本地端对应的第一优先级;获取上述第二本地端对应的第二优先级;在上述第一优先级大于上述第二优先级的情况下,控制上述第一本地端与上述第二本地端建立本地连接。
6.可选的,上述将上述第二本地端信息发送至上述第一本地端以使上述第一本地端与上述第二本地端建立本地连接,包括:将上述第二本地端信息发送至上述第一本地端;接收上述第一本地端的第二本地端连接请求信息,其中,上述第二本地端连接请
求信息是基于上述第一本地端的选择生成的;根据上述第二本地端连接请求信息向对应的第二本地端发送连接请求信息以使上述第一本地端与上述第二本地端建立本地连接。
7.可选的,上述获取与上述服务端连接的第二本地端信息,包括:获取所有本地端所属组织架构的考勤信息;基于上述考勤信息在上述所有本地端中选取缺勤人员或外出人员关联的本地终端作为第二本地端,获取与上述服务端连接的第二本地端信息;和/或,获取所有本地端所属的局域网架构信息;基于上述局域网架构信息获取上述所有本地端对应组织架构信息;基于上述组织架构信息将上述第一本地端所属用户的下级用户对应的本地端确定为第二本地端,获取与上述服务端连接的第二本地端信息;和/或,获取所有本地端所属组织架构的排班信息;基于上述排班信息生成从属本地端安排计划表;基于上述从属本地端安排计划表和上述文件传输请求信息的接收时间,确定上述第二本地端,获取与上述服务端连接的第二本地端信息;和/或,获取所有本地端所属组织架构的用户移动终端信息;基于上述用户移动终端信息获取用户位置信息;基于上述位置信息与用户关联的本地端的距离,确定距离大于预设距离的用户关联的本地端为第二本地端,获取与上述服务端连接的第二本地端信息。
8.可选的,上述文件传输请求信息包括目标文件分段信息;上述基于上述文件传输请求向上述第一本地端和上述第二本地端传输上述文件传输请求信息对应的目标文件的对应部分,以使上述第一本地端从上述服务端和上述第二本地端获取完整的上述目标文件,包括:基于上述目标分段信息将第一文件传输给上述第一本地端;根据上述目标分段信息将第二文件传输给上述第二本地端,以使上述第一本地端通过本地连接获取上述第二文件,其中,完整的上述目标文件包括上述第一文件和上述第二文件。
9.第二方面,本技术提出一种桌面云数据传输方法,用于客户端,其特征在于,包括:向目标服务端发送文件传输请求信息以使与至少一个第二本地端建立本地连接,其中,上述第二本地端为与上述目标服务端建立连接的本地端;接收目标服务端发送的目标文件对应的第一文件;接收上述第二本地端发送的目标文件对应的第二文件,其中,上述第二文件是由第二本地端从上述目标服务端获取并通过本地连接传输给上述本地端的;基于上述第一文件和上述第二文件获取完整的上述目标文件。
10.可选的,上述传输请求信息包括目标文件分段信息;上述方法还包括:将上述第一文件存放在临时文件段;将上述第二文件存放在临时文件段;基于上述目标文件分段信息监控上述临时文件段的传输结果;
在上述第一文件和/或上述第二文件传输完成的情况下,将上述第一文件和/或上述第二文件存入固定文件段。
11.第三方面,本发明还提出一种桌面云数据传输装置,包括:接收单元,用于接收第一本地端发出的文件传输请求信息;获取单元,用于获取与上述服务端连接的第二本地端信息;发送单元,用于将上述第二本地端信息发送至上述第一本地端以使上述第一本地端与上述第二本地端建立本地连接;传输单元,用于基于上述文件传输请求信息向上述第一本地端和上述第二本地端传输上述文件传输请求信息对应的目标文件的对应部分,以使上述第一本地端从上述服务端和上述第二本地端获取完整的上述目标文件。
12.第四方面,一种电子设备,包括:存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器用于执行存储器中存储的计算机程序时实现如上述的第一方面任一项的桌面云数据传输方法的步骤。
13.第五方面,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时实现第一方面上述任一项的桌面云数据传输方法。
14.综上,本技术实施例的桌面云数据传输方法包括:接收第一本地端发出的文件传输请求信息;获取与上述服务端连接的第二本地端信息;将上述第二本地端信息发送至上述第一本地端以使上述第一本地端与上述第二本地端建立本地连接;基于上述文件传输请求信息向上述第一本地端和上述第二本地端传输上述文件传输请求信息对应的目标文件的对应部分,以使上述第一本地端从上述服务端和上述第二本地端获取完整的上述目标文件。本技术实施例提供的桌面云数据传输方法,服务端基于第一客户端的文件传输请求,将与服务端连接的第二本地端信息发与第一本地端,在第一本地端与第二本地端建立连接后将传输的文件分段分别传输给第一本地端和与第一本地端建立了本地连接的第二本地端,第二本地端在接收到传输文件后通过本地连接转发给第一本地端,帮助第一本地端共同完成文件传输任务。本技术实施例提供的方法通过在第一本地端和第二本地端建立本地连接,通过第一本地端和第二本地端并行完成文件传输,提高了文件的传输效率,增加了多个文件段的传输通道,增加了文件传输的稳定性。当一个通道的损毁时,可用其余通道的传输能力弥补。同时,借用其它客户端与服务端会话的传输能力,提高了服务端的利用率。
15.本发明的桌面云数据传输方法,本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
16.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本说明书的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1为本技术实施例提供的一种桌面云数据传输方法流程示意图;图2为本技术实施例提供的一种现有的桌面云数据传输结构示意图;图3为本技术实施例提供的一种现有的桌面云数据传输流程示意图;图4为本技术实施例提供的一种桌面云数据传输结构示意图;
图5为本技术实施例提供的另一种桌面云数据传输结构示意图;图6为本技术实施例提供的另一种桌面云数据传输方法流程示意图;图7为本技术实施例提供的又一种桌面云数据传输方法流程示意图;图8为本技术实施例提供的文件段请求数据格式结构示意图;图9为本技术实施例提供的文件段响应数据格式结构示意图;图10为本技术实施例提供的一种桌面云数据传输装置结构示意图;图11为本技术实施例提供的一种桌面云数据传输电子设备结构示意图。
具体实施方式
17.本技术实施例提供的桌面云数据传输方法,服务端基于第一客户端的文件传输请求,将与服务端连接的第二本地端信息发与第一本地端,在第一本地端与第二本地端建立连接后将传输的文件分段分别传输给第一本地端和与第一本地端建立了本地连接的第二本地端,第二本地端在接收到传输文件后通过本地连接转发给第一本地端,帮助第一本地端共同完成文件传输任务。本技术实施例提供的方法通过在第一本地端和第二本地端建立本地连接,通过第一本地端和第二本地端并行完成文件传输,提高了文件的传输效率,增加了多个文件段的传输通道,增加了文件传输的稳定性。一个通道的损毁,可用其余通道的传输能力弥补,借用其它客户端与服务端会话的传输能力,提高了服务端的利用率。
18.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。
19.在当前的云桌面系统中,如图2和图3所示,本地端与服务端建立连接,在本地端进行复制操作时,服务端将剪切板格式列表通过本地和远端桌面的连接通道发送至本地,当本地端接收到剪切板格式列表后,本地端将服务端发送的剪切板格式列表注入到本地的系统剪切板中,此时,在本地的桌面环境上,就可以通过粘贴操作,触发系统剪切板完成剪切板数据的请求。但是如果在粘贴数据内容非常大的情况下,比如一个文件有几g到数十g的大小。此时,本地桌面上触发粘贴的,如文件管理器,并不是一次性的下发几g到数十g的文件内容的请求,而是均匀有序的通过系统剪切板,通过逐个的分包来请求文件的内容。具体数据请求响应流程如图3所示,本地桌面上执行粘贴操作后,本地桌面上文件管理器通过系统剪切板,请求一定大小的文件内容,首先将该请求通过本地和远端桌面的连接通道,将该请求命令发送至远端,远端收到该命令后,收集4k的文件内容,再通过本地和远端桌面的连接通道将4k文件内容数据,返回给本地桌面的数据请求端。当收到4k文件内容后,再主动触发第二个4k的文件内容的请求。当文件内容很大的时候,就要通过如图3所示的方式来回反复的重复n次同样4k大小文件传输的流程,直至文件内容请求处理完毕。上述过程中,存在
以下三个非常明显的特性。其一,受系统限制,文件的网络请求与数据响应是顺序、串行进行的,不具备并行能力;其二,在多会话场景下,由于其他会话对系统资源的抢占,会造成当前会话下传输效率降低;其三,由于多会话场景下会话级的隔离,只有r1-s1的传输通道利用,其他会话的传输通道不能有效利用。这些原因均会造成额外的耗时增加,降低了整个文件内容的远程传输速率。
20.请参阅图1,本技术实施例提供了一种用于服务端桌面云数据传输方法流程示意图,具体可以包括:s110、接收第一本地端发出的文件传输请求信息;示例性的,请参阅图4,服务端在接收到第一本地端发出的文件传输请求信息,文件传输请求信息可以是基于用户的粘贴操作指令触发的,传输请求信息对应的请求文件为用户在服务端选中的需要粘贴的目标文件。
21.s120、获取与上述服务端连接的第二本地端信息;示例性的,在接收到第一本地端的文件传输请求信息后,服务端获取与该服务端建立了连接的第二本地端的信息,第二本地端为除第一本地端之外的与服务端建立了连接的本地端,如图4中,包括第二本地端1至第二本地端4共4个第二本地端。
22.s130、将上述第二本地端信息发送至上述第一本地端以使上述第一本地端与上述第二本地端建立本地连接;示例性的,服务端将与服务端连接的第二本地端的信息传输给第一本地端,第二本地端的信息可以包括第二本地端的ip地址等信息。如图4所示与客户端连接的第二本地端有第二本地端1至第二本地端4,第一本地端接收到第二本地端的信息后,可以申请与全部或者部分的第二本地端建立本地连接。
23.s140、基于上述文件传输请求信息向上述第一本地端和上述第二本地端传输上述文件传输请求信息对应的目标文件的对应部分,以使上述第一本地端从上述服务端和上述第二本地端获取完整的上述目标文件。
24.示例性的,在第一本地端与第二本地端建立本地连接后,第一本地端作为当前的文件传输请求信息对应文件传输任务的master(主)角色,第二本地端为slaver(从)角色。客户端可以基于文件传输请求将请求传输的文件分成不同的部分发往第一本地端和第二本地端,第二本地端在接收到服务端发送的传输文件后转发给第一本地端,从而实现并行数据传输。
25.如图5所示,master本地端中可以设置本地传输管理模块和本地连接模块,本地传输管理模块包括文件请求管理模块、主从设备连接模块、临时文件段管理模块,相应的,服务端包括远程桌面管理模块和远程连接模块。主从设备连接模块负责master和slave角色设备的连接与断开;可记录slave设备的空闲情况;接收文件段传输任务,完成某个文件段的内容的传输;临时文件管理模块,负责接收保存远端pc传输来的文件段内容为临时文件。负责接收文件请求接收模块的其他包内容请求,将指定包的内容从临时文件中读出并返回给文件请求接收模块。同时也支持删除临时文件。支持master、slave角色的申请、注册与注销。支持角色列表信息的请求,比如多个slave角色的连接信息。支持master连接slave的申请处理。
26.综上,本技术实施例提供的桌面云数据传输方法,服务端基于第一客户端的文件
传输请求,将与服务端连接的第二本地端信息发与第一本地端,在第一本地端与第二本地端建立连接后将传输的文件分段分别传输给第一本地端和与第一本地端建立了本地连接的第二本地端,第二本地端在接收到传输文件后通过本地连接转发给第一本地端,帮助第一本地端共同完成文件传输任务。本技术实施例提供的方法通过在第一本地端和第二本地端建立本地连接,通过第一本地端和第二本地端并行完成文件传输,提高了文件的传输效率,增加了多个文件段的传输通道,增加了文件传输的稳定性。一个通道的损毁,可用其余通道的传输能力弥补,借用其它客户端与服务端会话的传输能力,提高了服务端的利用率。
27.在一些示例中,上述将上述第二本地端信息发送至上述第一本地端以使上述第一本地端与上述第二本地端建立本地连接,包括:获取上述第一本地端对应的第一优先级;获取上述第二本地端对应的第二优先级;在上述第一优先级大于上述第二优先级的情况下,控制上述第一本地端与上述第二本地端建立本地连接。
28.示例性的,服务端在接收到第一本地端发出的文件传输请求信息,获取发出第一本地端的第一优先级,并获取与服务端连接的第二本地端的第二优先级,服务端自动判断第一优先级和第二优先级的等级,控制第二优先级小于第一优先级的第二本地端和第一本地端建立连接,以使第二本地端与第一本地端共同完成数据传输任务。
29.综上,本技术实施例提供的桌面云数据传输方法,服务端可以自动判断本地端之间的优先级,并控制低于第一本地端优先级的第二本地端自动与第一本地端建立本地连接,共同完成第一本地端的文件传输任务,方便快捷。
30.在一些示例中,上述将上述第二本地端信息发送至上述第一本地端以使上述第一本地端与上述第二本地端建立本地连接,包括:将上述第二本地端信息发送至上述第一本地端;接收上述第一本地端的第二本地端连接请求信息,其中,上述第二本地端连接请求信息是基于上述第一本地端的选择生成的;根据上述第二本地端连接请求信息向对应的第二本地端发送连接请求信息以使上述第一本地端与上述第二本地端建立本地连接。
31.示例性的,在第一本地端与第二本地端请求建立本地连接的过程中,第一本地端接收到服务端发送的第二客户端的信息后,可以对在多个第二客户端中进行选择,根据选择的结果生成连接请求信息,并将连接请求信息发送至服务端,服务端将连接请求信息发送给对应的第二客户端,第二客户端在接收到连接请求后,可以选择接收连接或拒绝连接。
32.上述过程即初始化master和slaver的过程,具体可以包括步骤:s201-s212。
33.s201、pc1本地连接模块开始连接远程桌面s1。
34.s202、pc1本地连接模块启动本地传输管理模块。
35.s203、本地连接模块通过远程桌面管理模块,将自己pc1注册为master角色。
36.s204、远程桌面管理模块记录本地pc1为master角色。
37.s205、pc1本地连接模块通过远程桌面管理模块,获取远程桌面管理模块上已经注册的本地pc列表。
38.s206、pc1提供下拉列表,选择将要连接的非master角色/非slave角色的本地pc2、
pc4。
39.s207、本地pc2收到master角色的本地pc1的连接请求。
40.s208、判断本地pc2用户是否同意建立连接。
41.s209、如果拒绝连接,则整个流程结束s210、pc1收到pc2用户的连接允许回应。
42.s211、本地pc2将自己的slave角色,以及其与pc1的主从信息注册到远程桌面管理模块。
43.s212、结束。
44.其中,pc1为第一本地端,pc2为第二本地端,第二本地端可以包括多个,每个第二本地端确定为slaver的过程均可通过上述步骤完成。
45.在第二本地端与第一本地端建立本地连接后,如果第二本地端有其他任务需要执行,可以请求断开本地连接,即注销slaver角色。具体可以包括步骤s301至步骤s313:s301、在pc2上提供可选择断开与master连接的功能。
46.s302、判断pc2上正在进行文件段的传输,s303、如果是,则提示用户“正在帮助pc1完成文件传输,是否强制断开”。如果选择否,则流程结束。
47.s304、pc2断开与pc1的连接;s305、pc2向远程桌面管理模块申请注销其slave角色。
48.s306、远程桌面管理模块注销pc2的slave角色,并删除其与pc1的主从关系,且将该消息通知给master角色pc1。
49.s307、pc1上提供选择注销其master角色。
50.s308、判断pc1是否正在进行文件段传输,s309、如果是,pc1上提示用户“pc1正在进行文件传输,是否强制断开”,如果选择否,则流程退出。
51.s310、pc1断开与pc2的连接s311、pc1向远程桌面管理模块注销其master角色s312、远程桌面管理模块注销pc1的master角色,并删除与pc1具备主从关系的pc2/的slave角色。
52.s313、流程结束。
53.综上,本技术实施例提供的桌面云数据传输方法,在第一客户端和第二客户端建立本地连接和注销本地连接的过程中,为用户提供了一种可以基于用户选择的可视化、可操作性的人机交互界面,用户可以根据自己需求建立或断开连接,注册或注销角色信息。
54.在一些示例中,上述获取与上述服务端连接的第二本地端信息,包括:获取所有本地端所属组织架构的考勤信息;基于上述考勤信息在上述所有本地端中选取缺勤人员或外出人员关联的本地终端作为第二本地端,获取与上述服务端连接的第二本地端信息;和/或,获取所有本地端所属的局域网架构信息;基于上述局域网架构信息获取上述所有本地端对应组织架构信息;基于上述组织架构信息将上述第一本地端所属用户的下级用户对应的本地端确
定为第二本地端,获取与上述服务端连接的第二本地端信息;和/或,获取所有本地端所属组织架构的排班信息;基于上述排班信息生成从属本地端安排计划表;基于上述从属本地端安排计划表和上述文件传输请求信息的接收时间,确定上述第二本地端,获取与上述服务端连接的第二本地端信息;和/或,获取所有本地端所属组织架构的用户移动终端信息;基于上述用户移动终端信息获取用户位置信息;基于上述位置信息与用户关联的本地端的距离,确定距离大于预设距离的用户关联的本地端为第二本地端,获取与上述服务端连接的第二本地端信息。
55.示例性的,在第一本地端与第二本地端构建本地连接的过程中,可以通过下述a、b、c和d三种中一种或多种方式,实现自动连接。
56.a:获取所有的本地端所述架构的考勤信息,所述架构可以为同一个办公室的架构中,考勤信息可以为上班打卡或外出打卡信息,从而可以确定缺勤人员和外出人员的对应的本地终端,并将其对应的本地终端确定为第二本地端,充分利用未出勤或外出人员本地终端的传输能力。
57.b:获取本地端的组织架构信息,确定第一本地端的下级用户,例如第一本地端为某项目经理的本地端,那么从属于同一个项目的员工,且职位等级低于项目经理的员工的本地端为第二本地端,利用所属用户的下级用户对应的本地端帮助第一本地端实现文件传输,优先保证级别较高用户的文件传输。
58.c:根据本地端所属组织架构的排班信息,并基于上述排班信息生成从属本地端安排计划表,即不同的工作人员可能对应着不同的排班计划,在某一时刻处于未排班中的人员的本地端处于闲置状态,可将这些本地端作为第二本地端,帮助第一本地端共同传输文件。
59.d:获取本地端对应的用户的移动终端的位置信息,如果位置信息与本地端的距离大于预设距离即认为该用户与本地端距离较远,未使用本地端,此时可以将距离大于预设距离的用户关联的本地端为第二本地端,使此第二本地端与第一本地端建立本地连接,帮助第一本地端共同传输文件。
60.综上,本技术实施例提出的桌面云数据传输方法,提供了多种自动建立本地连接的方法,在不影响其他本地端的正常工作下,保证文件的传输速度。
61.在一些示例中,上述文件传输请求信息包括目标文件分段信息;上述基于上述文件传输请求向上述第一本地端和上述第二本地端传输上述文件传输请求信息对应的目标文件的对应部分,以使上述第一本地端从上述服务端和上述第二本地端获取完整的上述目标文件,包括:基于上述目标分段信息将第一文件传输给上述第一本地端;根据上述目标分段信息将第二文件传输给上述第二本地端,以使上述第一本地端通过本地连接获取上述第二文件,其中,完整的上述目标文件包括上述第一文件和上述第二文件。
62.示例性的,服务端根据文件传输请求信息中的目标文件分段信息将目标文件包分成多个部分即第一文件和第二文件,将第一文件发给第一本地端,将第二文件发给第二本
地端,第二本地端在接收到第二文件后将第二文件转发给第一本地端,第一本地端接收的全部第一文件和第二文件即为完整的目标文件,通过多个第二本地端的配合工作,可以实现并行传输数据,节省了数据传输的时间,并充分运用了服务端的资源。
63.第二方面,本技术提出一种桌面云数据传输方法,用于客户端,请参数图6,包括:s410、向目标服务端发送文件传输请求信息以使与至少一个第二本地端建立本地连接,其中,上述第二本地端为与上述目标服务端建立连接的本地端;示例性的,第一服务端向目标服务端发送传输请求信息,服务端在接收到第一本地端的文件传输请求信息后,服务端获取与该服务端建立了连接的第二本地端的信息,服务端将与服务端连接的第二本地端的信息传输给第一本地端,第一本地端和第二本地端建立本地连接。
64.s420、接收目标服务端发送的目标文件对应的第一文件;示例性的,在第一本地端与第二本地端建立本地连接后,第一本地端作为当前的文件传输请求信息对应文件传输任务的master(主)角色,第二本地端为slaver(从)角色,目标服务端向第一本地端发送第一文件。
65.s430、接收上述第二本地端发送的目标文件对应的第二文件,其中,上述第二文件是由第二本地端从上述目标服务端获取并通过本地连接传输给上述本地端的;示例性的,目标服务端向第二本地端发送第二文件,第二本地端在接收到第二文件后将其通过本地连接转发给第一本地端。
66.s440、基于上述第一文件和上述第二文件获取完整的上述目标文件。
67.示例性的,第一本地端在接收到全部的第一文件和第二文件后即获取到了完整的目标文件。
68.综上,本技术实施例提供的桌面云数据传输方法,第一本地端向服务端发送文件传输请求信息,服务端将与服务端连接的第二本地端信息发与第一本地端,第一本地端与第二本地端建立本地连接,服务端将传输的文件分段分别传输给第一本地端和与第一本地端建立了本地连接的第二本地端,第二本地端在接收到传输文件后通过本地连接转发给第一本地端,帮助第一本地端共同完成文件传输任务。本技术实施例提供的方法通过在第一本地端和第二本地端建立本地连接,通过第一本地端和第二本地端并行完成文件传输,提高了文件的传输效率,增加了多个文件段的传输通道,增加了文件传输的稳定性。一个通道的损毁,可用其余通道的传输能力弥补,借用其它客户端与服务端会话的传输能力,提高了服务端的利用率。
69.在一些示例中,上述传输请求信息包括目标文件分段信息;上述方法还包括:将上述第一文件存放在临时文件段;将上述第二文件存放在临时文件段;基于上述目标文件分段信息监控上述临时文件段的传输结果;在上述第一文件和/或上述第二文件传输完成的情况下,将上述第一文件和/或上述第二文件存入固定文件段。
70.示例性的,第一本地端设置有临时文件段,用以存储接收到的第一文件和第二文件,第一本地端监控临时文件段的传输结果,在第一文件和第二文件完成传输后将第一文
件和第二文件存入固定文件段,并同时删除临时文件段存储的文件,完成文件数据的传输工作。
71.具体包括步骤s501值步骤s515:s501、本地pc1上文件管理器执行粘贴操作。
72.s502、通过系统剪切板将文件包的请求转发至文件请求管理模块。
73.s503、文件请求管理模块按照10m为单位,将文件分段,并按顺序标记。如下图中的分段1到n。
74.s504、文件请求管理模块通过主从设备管理模块,获得slave设备列表。
75.s505、判断是否有slave设备空闲。
76.s506、如果没有slave设备空闲,则文件请求管理模块将该文件段的传输任务,分配给master设备。
77.s507、master设备通过与其连接的会话,从远端将该文件段拷贝到master本地。如图7中点划线箭头所示。
78.s508、如果有slave设备空闲,文件请求管理模块将某个文件段的传输任务,分配给某个slave从设备。如图7中虚线和实线箭头所示。
79.s509、slave从设备通过与其连接的会话,从远端将该文件段拷贝到slave从设备。
80.s510、slave从设备将该文件段内容返回到master设备。
81.s511、masterpc上的临时文件段管理模块,将该文件段内容保存至临时文件。
82.s512、重新分配下一个文件段传输任务。文件段传输任务可基于多个slave完成并行的传输。
83.s513、文件请求管理模块将某个文件段上的某一包数据返回给系统剪切板。
84.s514、系统剪切板将某一包数据返回给文件管理器。
85.s515、所有文件包请求完毕,流程结束。
86.图8为文件段请求数据格式说明,文件段的请求格式说明如下:消息类型为16比特无符号整数,该字段用来在数据块中内容字段的信息类型消息类型字段的编码分配为:0表示文件段请求,1表示文件段响应;消息状态为16比特无符号整数,该字段用来在数据块中内容字段的状态类型字段的编码分配如为0表示成功,1表示失败;消息大小:该值用来表示包含消息类型字段、消息状态字段、消息长度字段、文件名称字段、随机编号字段和文件段序号字段在内的字节数;文件名称:待传输的文件的全称;随机编号:可根据毫秒级时间为种子生成的随机值;文件段序号:文件段序号从1开始,最大值为文件总大小除以单个文件段大小。
87.图9为文件段响应数据格式示意图,消息类型为16比特无符号整数,该字段用来在数据块中内容字段的信息类型消息类型字段的编码分配为0代表文件段请求,1代表文件段响应;消息状态为16比特无符号整数,该字段用来在数据块中内容字段的状态类型0代表成功,1代表失败。消息大小:该值用来表示包含消息类型字段、消息状态字段、消息长度字段、文件名称字段、随机编号字段、文件段序号字段、文件段分包总数字段、文件段分包序号字段、文件包分包大小字段和文件段分包内容在内的字节数;文件名称:待传输的文件的全称;随机编号:文件段请求消息传递来的随机编号字段值;文件段序号:文件段请求消息传递来的文件段序号字段值;文件段分包总数:由于系统传输受限,单个文件段的传输也需要
分割为系统支持的小包,通过多个小包的组合,来组成一个文件段。该总数为文件段的大小除以系统支持的小包的大小。文件段分包序号:该序号从1开始;文件段分包大小:文件段分包的大小。文件段分包内容:文件段分包的内容;临时文件段的保存说明:临时文件段在粘贴端保存,即在master角色的本地pc上完成保存。临时文件段由多个文件段分包组成;临时文件段的临时保存文件名称可以为:文件名_随机编号_文件段的序号.文件后缀;临时文件管理模块,通过读取文件名_随机编号_文件段的序号.文件后缀的临时文件,来响应文件管理器对文件内容的读取。在完成整个文件段的内容读取后,临时文件管理模块删除临时文件。
88.综上,本技术实施例提出的桌面云数据传输方法,通过第一本地端的临时文件管理模块可以有效地控制第一本地端和第二本地端接收第一文件和第二文件,实现第一本地端和第二本地端并行接收文件。
89.请参阅图10,本技术实施例中桌面云数据传输装置的一个实施例,可以包括:接收单元21,用于接收第一本地端发出的文件传输请求信息;获取单元22,用于获取与上述服务端连接的第二本地端信息;发送单元23,用于将上述第二本地端信息发送至上述第一本地端以使上述第一本地端与上述第二本地端建立本地连接;传输单元24,用于基于上述文件传输请求信息向上述第一本地端和上述第二本地端传输上述文件传输请求信息对应的目标文件的对应部分,以使上述第一本地端从上述服务端和上述第二本地端获取完整的上述目标文件。
90.如图11所示,本技术实施例还提供一种电子设备600,包括存储器610、处理器620及存储在存储器620上并可在处理器上运行的计算机程序311,处理器620执行计算机程序611时实现上述桌面云数据传输的任一方法的步骤。
91.由于本实施例所介绍的电子设备为实施本技术实施例中一种桌面云数据传输装置所采用的设备,故而基于本技术实施例中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本技术实施例中的方法不再详细介绍,只要本领域所属技术人员实施本技术实施例中的方法所采用的设备,都属于本技术所欲保护的范围。
92.在具体实施过程中,该计算机程序611被处理器执行时可以实现图1对应的实施例中任一实施方式。
93.需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
94.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
95.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指
令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
96.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
97.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
98.本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机软件指令,当计算机软件指令在处理设备上运行时,使得处理设备执行如图1对应实施例中的桌面云数据传输的流程。
99.计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
100.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
101.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
102.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
103.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
104.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可
以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
105.以上,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1