System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据传输方法、装置、系统、计算机设备和存储介质制造方法及图纸_技高网

数据传输方法、装置、系统、计算机设备和存储介质制造方法及图纸

技术编号:41210774 阅读:3 留言:0更新日期:2024-05-09 23:33
本公开实施例涉及一种数据传输方法、装置、系统、计算机设备和存储介质。前述方法的主要步骤包括:接收多个应用程序的报文数据,其中每个报文数据携带有与应用程序对应的属性信息,根据属性信息,确定每个报文数据的传输优先级,将报文数据按照传输优先级从高到低的顺序,发送至先进先出的待提取队列,根据待提取队列中的待提取报文数据的传输优先级和目标VCPU的工作状态信息,控制目标VCPU按照预设的工作模式向客户机发送中断通知,以使客户机根据中断通知提取对应的待提取报文数据。采用前述方法能够提升了高优先级应用程序数据流量的中断注入及响应速度,减少了高优先级数据流量的处理时延,提高网络性能。

【技术实现步骤摘要】

本公开涉及计算机,特别是涉及一种数据传输方法、装置、系统、计算机设备和存储介质


技术介绍

1、基于openstack架构下的宿主机网络虚拟化实现方案中,通常采用virtio-net(虚拟化输入输出网络)技术通过virtqueue(虚拟传输队列)实现前端和后端之间的数据传输。前端是指实现在客户机内核中用于与外部virtio-pci设备(虚拟化输入输出总线设备)交互的virtio前端驱动程序,后端是指宿主机中的virtio后端设备。前后端使用共享内存的虚拟传输队列进行数据交互:一端往虚拟传输队列中按接收顺序写入数据包,通过注入中断的方式通知另一端有数据包要处理,另一端以先进先出的方式读出数据包。

2、然而,现有的客户机和宿主机进行数据传输的过程中,在多应用程序的多任务并发时,数据传输按接收顺序进行,对于有高效传输需求的应用程序而言,存在通信耗时长、网络性能不佳等问题。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种提高网络性能的数据传输方法、装置、系统计算机设备和存储介质。

2、在第一方面,本公开实施例提供了一种数据传输方法,应用于openstack网络架构中的宿主机,该方法包括:

3、接收多个应用程序的报文数据,其中每个报文数据携带有与应用程序对应的属性信息;

4、根据属性信息,确定每个报文数据的传输优先级;

5、将报文数据按照传输优先级从高到低的顺序,发送至先进先出的待提取队列;

6、根据待提取队列中的待提取报文数据的传输优先级和目标vcpu的工作状态信息,控制目标vcpu按照预设的工作模式向客户机发送中断通知,以使客户机根据中断通知提取对应的待提取报文数据。

7、在一些实施例中,根据属性信息,确定每个报文数据的传输优先级,包括:

8、根据属性信息,确定应用程序id;

9、根据预设的应用程序id与传输优先级的映射关系,确定每个报文数据的传输优先级。

10、在一些实施例中,属性信息包括报文数据的源ip地址信息、目标ip地址信息、源端口信息、目标端口信息和传输协议信息;

11、根据属性信息,确定应用程序id,包括:对源ip地址信息、目标ip地址信息、源端口信息、目标端口信息和传输协议信息进行函数运算,根据运算值确定应用程序id。

12、在一些实施例中,该方法还包括:在报文数据发送至先进先出待提取队列后,

13、根据待提取队列中的待提取报文数据,生成待提取信息;

14、将待提取信息发送至宿主机的kvm模块;

15、kvm模块根据待提取信息确定待提取报文数据的传输优先级和目标vcpu;

16、待提取信息包括待提取队列编号、待提取报文数据对应的应用程序id和中断号,其中中断号与待提取报文数据的应用程序id相对应。

17、在一些实施例中,根据待提取信息确定待提取报文数据的传输优先级和目标vcpu,包括:

18、根据待提取信息中的应用程序id确定待提取报文数据的传输优先级;

19、根据待提取队列编号、应用程序id和中断号,构建中断重映射表,确定目标vcpu。

20、在一些实施例中,根据待提取队列编号、应用程序id和中断号,构建中断重映射表,确定目标vcpu,包括:

21、根据中断重映射表,更新中断路由表;

22、kvm模块中的i/o高级可编程中断控制器根据中断路由表确定目标本地高级可编程中断控制器;

23、根据本地高级可编程中断控制器确定目标vcpu,本地高级可编程中断控制器与vcpu一一对应。

24、在一些实施例中,中断重映射表包括待提取报文数据对应的待提取队列编号、中断号、应用程序id以及属性信息的运算值,其中中断号与本地高级可编程中断控制器存在对应关系。

25、在一些实施例中,kvm模块采用热插拔模式加载到宿主机的内核模块。

26、在一些实施例中,宿主机中包括用于报文数据暂存的多个不同队列等级的优先级队列,

27、将报文数据按照传输优先级从高到低的顺序,发送至先进先出的待提取队列,包括:

28、将报文数据根据传输优先级暂存至对应队列等级的多个目标优先级队列;

29、按队列等级从高到低的顺序,将目标优先级队列中的报文数据,发送至待提取队列。

30、在一些实施例中,该方法还包括:在根据属性信息,确定每个报文数据的传输优先级后,

31、确定报文数据的数据包类型,其中数据包类型包括首包数据和非首包数据;

32、将报文数据根据传输优先级暂存至对应队列等级的多个目标优先级队列,包括:

33、在第一目标报文数据的数据类型为首包数据时,将第一目标报文数据暂存至与其传输优先级对应的第一优先级队列;

34、根据第一目标报文数据的属性信息的运算值与第一优先级队列的编号信息,生成暂存对应关系表;

35、其中,第一优先级队列为空队列。

36、在一些实施例中,将报文数据根据传输优先级暂存至对应队列等级的多个目标优先级队列,包括:

37、在确定第二目标报文数据的数据类型为非首包数据时,根据暂存对应关系表和第二目标报文数据的属性信息的运算值,确定目标编号信息;

38、将第二目标报文数据暂存至目标编号信息对应的目标优先级队列。

39、在一些实施例中,根据待提取队列中的待提取报文数据的传输优先级和目标vcpu状态信息,控制目标vcpu按照预设的工作模式向客户机发送中断通知,包括:

40、在传输优先级为高优先级,且目标vcpu处于运行状态时,控制目标vcpu向客户机中与目标vcpu对应的cpu注入第一类中断通知,以使客户机根据第一类中断通知立即提取对应的报文数据。

41、在一些实施例中,根据待提取队列中的待提取报文数据的传输优先级和目标vcpu状态信息,控制目标vcpu按照预设的工作模式向客户机发送中断通知,包括:

42、在传输优先级为高优先级,且目标vcpu处于非运行状态时,将中断通知信息写入目标vcpu对应的vmcs结构中,并触发目标vcpu切换运行状态;

43、在目标vcpu状态切换为运行状态时,向客户机中与目标vcpu对应的cpu注入第一类中断通知,以使客户机根据第一类中断通知立即提取对应的报文数据。

44、在一些实施例中,根据待提取队列中的待提取报文数据的传输优先级和目标vcpu状态信息,控制目标vcpu按照预设的工作模式向客户机发送中断通知,包括:

45、在传输优先级为低优先级,且目标vcpu处于运行状态时,

46、控制目标vcpu向客户机中与目标vcpu对应的cpu注入第二类中断通知,以使客户机根据第二类中断通知,利用中断处理程序自行调度处理;和/或,

47、在传输优先级为本文档来自技高网...

【技术保护点】

1.一种数据传输方法,应用于Openstack网络架构中的宿主机,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述属性信息,确定每个报文数据的传输优先级,包括:

3.根据权利要求2所述的方法,其特征在于,所述属性信息包括报文数据的源IP地址信息、目标IP地址信息、源端口信息、目标端口信息和传输协议信息;

4.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述报文数据发送至先进先出待提取队列后,

5.根据权利要求4所述的方法,其特征在于,所述根据待提取信息确定待提取报文数据的传输优先级和所述目标VCPU,包括:

6.根据权利要求5所述的方法,其特征在于,所述根据所述待提取队列编号、所述应用程序ID和所述中断号,构建中断重映射表,确定所述目标VCPU,包括:

7.根据权利要求6所述的方法,其特征在于,所述中断重映射表包括待提取报文数据对应的待提取队列编号、中断号、应用程序ID以及属性信息的运算值,其中所述中断号与本地高级可编程中断控制器存在对应关系。

8.根据权利要求4所述的方法,其特征在于,所述KVM模块采用热插拔模式加载到宿主机的内核模块。

9.根据权利要求1所述的方法,其特征在于,所述宿主机中包括用于报文数据暂存的多个不同队列等级的优先级队列,

10.根据权利要求9所述的方法,其特征在于,所述方法还包括:在所述根据属性信息,确定每个报文数据的传输优先级后,

11.根据权利要求10所述的方法,其特征在于,所述将所述报文数据根据传输优先级暂存至对应队列等级的多个目标优先级队列,包括:

12.根据权利要求1所述的方法,其特征在于,所述根据所述待提取队列中的待提取报文数据的传输优先级和目标VCPU状态信息,控制目标VCPU按照预设的工作模式向客户机发送中断通知,包括:

13.根据权利要求1所述的方法,其特征在于,所述根据所述待提取队列中的待提取报文数据的传输优先级和目标VCPU状态信息,控制目标VCPU按照预设的工作模式向客户机发送中断通知,包括:

14.根据权利要求1所述的方法,其特征在于,所述根据所述待提取队列中的待提取报文数据的传输优先级和目标VCPU状态信息,控制目标VCPU按照预设的工作模式向客户机发送中断通知,包括:

15.根据权利要求1所述的方法,其特征在于,所述方法还包括:

16.根据权利要求1所述的方法,其特征在于,所述应用程序包括视频播放程序、实时会话程序、备份程序中的至少一种。

17.一种数据传输装置,其特征在于,应用于Openstack网络架构中的宿主机,其特征在于,所述装置包括:

18.一种数据传输系统,其特征在于,所述系统包括应用Openstack网络架构的宿主机和客户机;

19.根据权利要求18所述的系统,其特征在于,

20.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至16中任一项所述方法的步骤。

21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至16中任一项所述方法的步骤。

...

【技术特征摘要】

1.一种数据传输方法,应用于openstack网络架构中的宿主机,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述根据所述属性信息,确定每个报文数据的传输优先级,包括:

3.根据权利要求2所述的方法,其特征在于,所述属性信息包括报文数据的源ip地址信息、目标ip地址信息、源端口信息、目标端口信息和传输协议信息;

4.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述报文数据发送至先进先出待提取队列后,

5.根据权利要求4所述的方法,其特征在于,所述根据待提取信息确定待提取报文数据的传输优先级和所述目标vcpu,包括:

6.根据权利要求5所述的方法,其特征在于,所述根据所述待提取队列编号、所述应用程序id和所述中断号,构建中断重映射表,确定所述目标vcpu,包括:

7.根据权利要求6所述的方法,其特征在于,所述中断重映射表包括待提取报文数据对应的待提取队列编号、中断号、应用程序id以及属性信息的运算值,其中所述中断号与本地高级可编程中断控制器存在对应关系。

8.根据权利要求4所述的方法,其特征在于,所述kvm模块采用热插拔模式加载到宿主机的内核模块。

9.根据权利要求1所述的方法,其特征在于,所述宿主机中包括用于报文数据暂存的多个不同队列等级的优先级队列,

10.根据权利要求9所述的方法,其特征在于,所述方法还包括:在所述根据属性信息,确定每个报文数据的传输优先级后,

11.根据权利要求10所述的方法,其特征在于,所述将所述报文数据根据传输优先级暂存至对应队列等级的...

【专利技术属性】
技术研发人员:张同剑秦海中苏广峰亓开元
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1