利用浏览器插件实现VNC中文件拖拽传输的方法及装置与流程

文档序号:26910249发布日期:2021-10-09 14:51阅读:来源:国知局

技术特征:
1.一种利用浏览器插件实现vnc中文件拖拽传输的方法,其特征在于,包括:使用novnc作为客户端,通过在浏览器安装插件,捕获拖拽事件并分解拖拽元素,获取文件信息,读取文件内容;按照扩展的rfb协议格式对文件内容进行数据封装并通过浏览器和vnc代理服务之间的websocket连接实现数据的双向传输,即主机文件向虚拟机的拖拽传输,和虚拟机文件向主机的拖拽传输。2.如权利要求1所述的利用浏览器插件实现vnc中文件拖拽传输的方法,其特征在于,所述扩展的rfb协议格式,包括:消息类型,用来区别其他消息事件;传输方向标识,用来区分文件传输方向;唯一标识,用来标记数据唯一性,数据分多次发送时,分片和重组避免混淆分片数据;分片标识,用来标识收到的分片数据后续是否还有分片数据待接收;分片编号,用来记录数据分片在此次传输中的编号;文件信息长度,用来定义文件信息的字节长度;文件信息,用来传输文件信息;文件长度,用来定义文件数据的字节长度;文件内容,用来传输文件内容。3.如权利要求1或2所述的利用浏览器插件实现vnc中文件拖拽传输的方法,其特征在于,所述主机文件向虚拟机的拖拽传输,包括:按照扩展的rfb协议格式进行数据封装并通过浏览器和vnc代理服务之间的websocket连接将数据传输至vnc代理服务,并且在虚拟机中安装代理软件,用来接收vnc代理服务转发到vnc服务的数据,虚拟机代理软件解析数据,完成文件的创建及写入,实现主机文件向虚拟机的拖拽传输。4.如权利要求3所述的利用浏览器插件实现vnc中文件拖拽传输的方法,其特征在于,所述主机文件向虚拟机的拖拽传输,具体实现方式为:本机发起文件拖拽动作,将文件拖拽至虚拟机novnc显示范围;浏览器插件捕获拖拽动作,获取拖拽元素,进行文件读取;将读取到的文件信息及文件数据按照扩展的rfb协议格式进行封装;通过浏览器和vnc代理服务之间的websocket连接进行传输;vnc代理服务将收到的数据转发到vnc服务;vnc服务接收到数据判断数据类型,将扩展的rfb协议数据保留;vnc代理服务通过和浏览器之间的websocket连接将vnc服务的数据转发给浏览器;在虚拟机中的代理软件获取vnc服务保留的数据后,解析数据得到文件信息,根据文件信息创建文件,写入文件内容,直到文件传输完毕。5.如权利要求1或2所述的利用浏览器插件实现vnc中文件拖拽传输的方法,其特征在于,所述虚拟机文件向主机的拖拽传输,包括:利用浏览器插件捕获拖拽事件,通知虚拟机代理软件进行文件读取,按照扩展的rfb协议格式对文件内容进行数据封装并传递给vnc服务,vnc代理服务通过和浏览器之间的websocket连接将vnc服务数据转发到浏览器,浏览器插件收到传输的数据后,解析数据,完
成文件的创建及写入,实现虚拟机文件向主机的拖拽传输。6.如权利要求5所述的利用浏览器插件实现vnc中文件拖拽传输的方法,其特征在于,所述虚拟机文件向主机的拖拽传输,具体实现方式为:虚拟机内发起文件拖拽动作,拖拽至novnc边界;浏览器插件检测到拖拽事件,通知虚拟机代理软件;虚拟机代理软件收到通知后,获取虚拟机内拖拽文件信息并开始文件读取,将文件信息及文件数据按照扩展的rfb协议格式进行封装,将封装后的数据传递给vnc服务;vnc服务判断数据类型,将扩展的rfb协议传输数据至vnc代理服务;vnc代理服务通过和浏览器之间的websocket连接将vnc服务的数据转发给浏览器;浏览器插件解析浏览器收到的数据,按照扩展的rfb协议格式拿到文件信息,根据文件信息创建文件,写入文件内容,直到文件传输完毕。7.如权利要求4或6所述的利用浏览器插件实现vnc中文件拖拽传输的方法,其特征在于,将文件信息及文件数据按照扩展的rfb协议格式进行封装,包括:封装数据消息类型,传输方向标识,唯一标识字段,将读取到的文件信息按照定义的顺序填写到文件信息字段,并计算文件信息长度填写到文件信息长度字段,将读取到的文件长度经过计算填写到文件长度字段,将文件内容填写到文件内容字段,如果文件内容过大,则通过控制文件长度和文件内容,计算并填写分片编号和分片标识,实现断点续传,分多次传输数据;所述主机文件向虚拟机的拖拽传输,文件传输方向为0,所述虚拟机文件向主机的拖拽传输,文件传输方向为1;或者,所述主机文件向虚拟机的拖拽传输,文件传输方向为1,所述虚拟机文件向主机的拖拽传输,文件传输方向为0。8.一种利用浏览器插件实现vnc中文件拖拽传输的装置,其特征在于,包括文件读取模块和文件传输模块,其中:所述文件读取模块,用于使用novnc作为客户端,通过在浏览器安装插件,捕获拖拽事件并分解拖拽元素,获取文件信息,读取文件内容;所述文件传输模块,用于按照扩展的rfb协议格式对文件内容进行数据封装并通过浏览器和vnc代理服务之间的websocket连接实现数据的双向传输,即主机文件向虚拟机的拖拽传输,和虚拟机文件向主机的拖拽传输。9.如权利要求8所述的利用浏览器插件实现vnc中文件拖拽传输的装置,其特征在于,所述扩展的rfb协议格式,包括:消息类型,用来区别其他消息事件;传输方向标识,用来区分文件传输方向;唯一标识,用来标记数据唯一性,数据分多次发送时,分片和重组避免混淆分片数据;分片标识,用来标识收到的分片数据后续是否还有分片数据待接收;分片编号,用来记录数据分片在此次传输中的编号;文件信息长度,用来定义文件信息的字节长度;文件信息,用来传输文件信息;文件长度,用来定义文件数据的字节长度;文件内容,用来传输文件内容。
10.如权利要求8或9所述的利用浏览器插件实现vnc中文件拖拽传输的装置,其特征在于,所述主机文件向虚拟机的拖拽传输,包括:按照扩展的rfb协议格式进行数据封装并通过浏览器和vnc代理服务之间的websocket连接将数据传输至vnc代理服务,并且在虚拟机中安装代理软件,用来接收vnc代理服务转发到vnc服务的数据,虚拟机代理软件解析数据,完成文件的创建及写入,实现主机文件向虚拟机的拖拽传输;所述虚拟机文件向主机的拖拽传输,包括:利用浏览器插件捕获拖拽事件,通知虚拟机代理软件进行文件读取,按照扩展的rfb协议格式对文件内容进行数据封装并传递给vnc服务,vnc代理服务通过和浏览器之间的websocket连接将vnc服务数据转发到浏览器,浏览器插件收到传输的数据后,解析数据,完成文件的创建及写入,实现虚拟机文件向主机的拖拽传输。

技术总结
本发明公开了一种利用浏览器插件实现VNC中文件拖拽传输的方法,包括:使用noVNC作为客户端,通过在浏览器安装插件,捕获拖拽事件并分解拖拽元素,获取文件信息,读取文件内容;按照扩展的RFB协议格式对文件内容进行数据封装并通过浏览器和VNC代理服务之间的WebSocket连接实现数据的双向传输,即主机文件向虚拟机的拖拽传输,和虚拟机文件向主机的拖拽传输。本发明方便有效的解决了主机和虚拟机之间文件拖拽双向传输问题,使VNC使用更便捷,功能更丰富;既拥有云计算的成本优势又兼顾虚拟化软件客户端的便捷,本发明将对云计算、虚拟化控制面板的功能和使用体验带来极大提升。本发明还提供了相应的利用浏览器插件实现VNC中文件拖拽传输的装置。拖拽传输的装置。拖拽传输的装置。


技术研发人员:黄韬 朱家振 王昊 孙作华 吴江
受保护的技术使用者:烽火通信科技股份有限公司
技术研发日:2021.06.29
技术公布日:2021/10/8
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1