恭喜麒麟软件有限公司王宇锋获国家专利权
买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
龙图腾网恭喜麒麟软件有限公司申请的专利一种宿主机与客户机之间文件传输的方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN119520513B 。
龙图腾网通过国家知识产权局官网在2025-05-30发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202510098492.0,技术领域涉及:H04L67/06;该发明授权一种宿主机与客户机之间文件传输的方法是由王宇锋;雷翔;谢明;张铎设计研发完成,并于2025-01-22向国家知识产权局提交的专利申请。
本一种宿主机与客户机之间文件传输的方法在说明书摘要公布了:本发明涉及计算机技术领域,具体提供一种宿主机与客户机之间文件传输的方法,包括步骤:在客户机侧设置信息连接的ViofsServer模块和viofsDrvier模块,在宿主机侧设置virtiofsd模块和Qemu模块;基于Qemu在传输数据初始化时实现virtiofsd模块、ViofsServer模块和viofsDrvier模块的初始配置、参数传递,以及事件绑定触发响应的关系连接;基于virtio协议实现viofsDrvier模块与virtiofsd模块之间的数据通道。在不通过网络堆栈且不配置共享目录的情况下,保留高性能传输的优点,实现宿主机与客户机之间任意文件传输功能。
本发明授权一种宿主机与客户机之间文件传输的方法在权利要求书中公布了:1.一种宿主机与客户机之间文件传输的方法,其特征在于,包括步骤:S1:在客户机GuestOS侧设置信息连接的ViofsServer模块和viofsDriver模块,在宿主机HostOS侧设置virtiofsd模块和Qemu模块;S2:基于Qemu在传输数据初始化时实现virtiofsd模块、ViofsServer模块和viofsDriver模块的初始配置、参数传递,以及事件绑定触发响应的关系连接;S3:基于virtio协议实现viofsDriver模块与virtiofsd模块之间的数据通道;S4:基于步骤S1-S3所搭建的客户机与宿主机之间的传输机制,基于用户发起的文件传输命令,在virtio协议之上封装FUSE命令,用来处理文件打开命令,文件读命令、文件写命令和文件关闭命令,完成文件传输;S5:由用户通过命令行的方法发起文件传输命令;ViofsServer模块是客户机GuestOS中的一个服务程序,用来接收客户机GuestOS中的用户g_user发送的传输文件命令并做相应的处理,也会接收viofsDriver模块发过来的传输文件命令做相应的处理;viofsDriver模块是客户机GuestOS中的一个驱动程序,用于把从ViofsServer模块接收到的命令先根据virtio协议封装然后通过数据通道下发到宿主机HostOS的virtiofsd模块,也接收从数据通道传来的根据FUSE协议和virtio协议依次封装的命令,先根据virtio协议解析后再发送到ViofsServer模块;virtiofsd模块是宿主机HostOS的服务程序,用来接收宿主机HostOS中的用户h_user发送的传输文件命令并做相应的处理,也会接收数据通道发过来的传输文件命令并做相应的处理;所述步骤S5包括:客户机GuestOS中的用户g_user通过命令行发起的将GuestOS中的文件发送给HostOS的传输文件命令;在执行所述客户机GuestOS中的用户g_user通过命令行发起的将GuestOS中的文件发送给HostOS的传输文件命令时,包括步骤:A1:g_user通过命令行发送相应的文件传输命令给ViofsServer模块,并传递了在HostOS上的存储路径和在GuestOS上的读取路径,所述文件传输命令包括打开命令、读命令、写命令和关闭命令;A2:ViofsServer模块根据读取路径和打开命令,对GuestOS上的读取路径执行打开操作,然后根据FUSE协议将存储路径和打开命令封装为相应的FUSE命令发送给viofsDriver模块;A3:viofsDriver模块将FUSE命令根据virtio协议再次封装并通过数据通道发送给virtiofsd模块;A4:virtiofsd模块根据virtio协议和FUSE协议依次解析到存储路径和打开命令,然后对HostOS上的存储路径执行打开操作,获取文件标识,根据FUSE协议和virtio协议将文件标识依次封装并通过数据通道发送给viofsDriver模块;A5:viofsDriver模块根据virtio协议解析到相应的FUSE命令并转发给ViofsServer模块;A6:ViofsServer模块根据FUSE协议解析到文件标识后,再根据读命令和指定内存信息对读取路径的文件执行读操作,然后根据FUSE协议将写命令、文件标识、指定内存信息和本次写入长度封装为相应的FUSE命令发送给viofsDriver模块,所述指定内存信息,包括内存开始地址、内存长度和每次读取文件的大小,所述本次写入长度与ViofsServer模块本次读取的真实长度相同;A7:viofsDriver模块将FUSE命令根据virtio协议再次封装并通过数据通道发送给virtiofsd模块;A8:virtiofsd模块根据virtio协议和FUSE协议依次解析到写命令、文件标识、指定内存信息和本次写入长度,根据指定内存信息和本次写入长度对存储路径的文件执行写操作,然后根据FUSE协议和virtio协议将本次写入的真实长度依次封装并通过数据通道发送给viofsDriver模块;A9:viofsDriver模块根据virtio协议解析到相应的FUSE命令并转发给ViofsServer模块;A10:ViofsServer模块根据FUSE协议解析到本次写入的真实长度后,再次根据读命令和指定内存信息对读取路径的文件执行读操作,然后根据FUSE协议将写命令、文件标识、指定内存信息和本次写入长度依次封装为相应的FUSE命令发送给viofsDriver模块,本次写入长度与ViofsServer模块本次读取的真实长度相同;A11:重复执行A7-A10,直到本次读取的真实长度为0,即所有数据写完,ViofsServer模块根据关闭命令对读取路径执行关闭操作,然后根据FUSE协议将文件标识和关闭命令封装为相应的FUSE命令发送给viofsDriver模块;A12:viofsDriver模块将FUSE命令根据virtio协议再次封装并通过数据通道发送给virtiofsd模块;A13:virtiofsd模块根据virtio协议和FUSE协议依次解析到文件标识和关闭命令,然后对HostOS上的存储路径执行关闭操作,获取关闭成功标志,根据FUSE协议和virtio协议将关闭成功标志依次封装并通过数据通道发送给viofsDriver模块;A14:viofsDriver模块根据virtio协议解析到相应的FUSE命令并转发给ViofsServer模块;A15:ViofsServer模块根据FUSE协议解析到关闭成功标志后,流程结束。
如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人麒麟软件有限公司,其通讯地址为:300450 天津市滨海新区塘沽海洋科技园信安创业广场3号楼6-8层;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。