一种基于文件预加载在远程桌面场景快速传输文件的方法技术

技术编号:37541906 阅读:7 留言:0更新日期:2023-05-12 16:10
本发明专利技术公开一种基于文件预加载在远程桌面场景快速传输文件的方法。本发明专利技术通过对需求端在周期时间内的缓存数据量与提供端的待发送的小文件的大小进行比对判断,从而将小文件数据进行打包快速发送,有效利用网络带宽,使得在传输过程中保持满带宽的状态,从而提高整体文件传输效率。体文件传输效率。

【技术实现步骤摘要】
一种基于文件预加载在远程桌面场景快速传输文件的方法


[0001]本专利技术涉及远程桌面文件传输
,尤其涉及一种基于文件预加载在远程桌面场景快速传输文件的方法。

技术介绍

[0002]使用Windows剪切板实现远程文件传输时,首先会调用OleSetClipboard函数向操作系统注册回调函数,当系统中发生粘贴操作时(右键菜单、Ctrl+V快捷键等),系统会调用回调函数中的GetData方法以获取文件列表和文件内容。系统会在传输文件前调用一次GetData方法,同时指定需要获取的类型为文件描述信息(CFSTR_FILEDESCRIPTOR)以获取文件列表,并根据获取到的文件列表再多次调用GetData方法,指定需要获取的类型为文件内容(CFSTR_FILECONTENTS),获取对应文件的内容,多个文件使用序号进行区分,该序号与获取文件列表的序号对应。
[0003]由于传输发生在两台不同的计算机之间,数据的需求端(粘贴端)和提供端(复制端)通过网络进行连接,当需求端操作系统调用GetData方法时需要通过网络通知提供端,由提供端准备相关数据发送到需求端,由需求端返回给操作系统。
[0004]在实际传输过程中,操作系统在传输多个文件时使用串行的方式进行,即同一时刻只会有一个文件正在传输,等待当前文件传输完成时才会调用GetData请求下一个文件的数据,在传输传输大量小文件且延迟较高时网络带宽不会被充分使用,极大降低了文件的传输效率。
[0005]因此,现有技术存在缺陷,需要改进。

技术实现思路

[0006]本专利技术的目的是克服现有技术的不足,提供一种基于文件预加载在远程桌面场景快速传输文件的方法。
[0007]本专利技术的技术方案如下:提供一种基于文件预加载在远程桌面场景快速传输文件的方法,包括如下步骤:
[0008]步骤1:由需求端每隔设定时间T获取一次本地收到的未被系统取走的数据量,并通知到提供端;
[0009]步骤2:提供端收到消息后,使用设定的存储值减去该数据量的值;
[0010]步骤3:如果计算结果为正数,提供端从本地保存的文件列表中读取未被发送的文件,将数据打包发送到需求端;
[0011]步骤4:如果计算结果为0或复数,则不继续读取文件内容。
[0012]进一步地,所述设定时间T为100

150ms。
[0013]进一步地,所述设定的存储值为8

32MB。
[0014]采用上述方案,本专利技术通过对需求端在周期时间内的缓存数据量与提供端的待发送的小文件的大小进行比对判断,从而将小文件数据进行打包快速发送,有效利用网络带
宽,使得在传输过程中保持满带宽的状态,从而提高整体文件传输效率。
具体实施方式
[0015]以下结合具体实施例,对本专利技术进行详细说明。
[0016]本专利技术提供一种基于文件预加载在远程桌面场景快速传输文件的方法,包括如下步骤:
[0017]步骤1:由需求端每隔设定时间T获取一次本地收到的未被系统取走的数据量,并通知到提供端。所述设定时间T为100

150ms。
[0018]步骤2:提供端收到消息后,使用设定的存储值减去该数据量的值。所述设定的存储值为8

32MB。
[0019]步骤3:如果计算结果为正数,提供端从本地保存的文件列表中读取未被发送的文件,将数据打包发送到需求端。
[0020]步骤4:如果计算结果为0或复数,则不继续读取文件内容。
[0021]操作系统除首次调用GetData获取文件列表外,后续获取文件数据时均会携带需要获取文件的序号,且该序号是从0开始递增的数字,即系统按文件列表中文件的顺序依次获取文件数据,基于此可以修改需求端和提供端之间的传输协议。在实施例中,设定每隔100ms获取一次本地收到的未被系统取走的数据量,并通知到提供端。提供端接收到通知消息后,使用16MB(16777216Byte)减去数据量的值。如果计算结果为正数,说明需求端的缓存数据不足16MB,因此提供端可以继续向需求端发送数据,从本地保存的文件列表中读取下一个未被发送的文件,将数据打包发送到需求端。如果计算后的值为0或负数,则说明需求端缓存的数据较多,不需要发送更多数据,则直接丢弃该消息,不再继续读取文件内容。在实际测试过程中,在约180ms延迟的场景下,传输相同数量级的小文件,其优化后的速度相较于其他远程桌面软件有20倍左右的速度提升,带宽占用基本保持满带宽的状态,有效利用网络带宽。
[0022]以上仅为本专利技术的较佳实施例而已,并不用于限制本专利技术,凡在本专利技术的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本专利技术的保护范围之内。
本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于文件预加载在远程桌面场景快速传输文件的方法,其特征在于,包括如下步骤:步骤1:由需求端每隔设定时间T获取一次本地收到的未被系统取走的数据量,并通知到提供端;步骤2:提供端收到消息后,使用设定的存储值减去该数据量的值;步骤3:如果计算结果为正数,提供端从本地保存的文件列表中读取未被发送的文件,将数据打包发送到需求端;步骤4:如果计算...

【专利技术属性】
技术研发人员:李盈亮邹琼周双全
申请(专利权)人:深圳市瑞云科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1