一种获取信息的方法和装置制造方法及图纸

技术编号:32820326 阅读:12 留言:0更新日期:2022-03-26 20:17
本公开提供一种获取信息的方法和装置,应用于虚拟网卡,所述虚拟网卡包括发送端和接收端,所述发送端和所述接收端之间通过数据传输通道连接,并共享统计计数器服务,该方法包括:调用所述发送端通过所述数据传输通道传输数据,并判断是否有通知所述接收端的事件;在有通知所述接收端的事件的情况下,依据所述事件的类型,更新所述统计计数器服务中对应的统计计数器;调用所述接收端在所述统计计数器服务中进行查询,获取所述事件对应的信息。本公开解决了虚拟网卡的接收端接收的信息不足的缺陷,实现了接收端除了能够接收传输数据外,还能接收发送端提供的额外的事件信息。能接收发送端提供的额外的事件信息。能接收发送端提供的额外的事件信息。

【技术实现步骤摘要】
一种获取信息的方法和装置


[0001]本公开涉及计算机
,尤其涉及一种获取信息的方法和装置。

技术介绍

[0002]在现有的虚拟网卡发送端和接收端传输数据的技术方案中,一般使用共享内存的Virtio Ring进行发送端和接收端之间的通信,但在传输过程中,发送端只是传输数据包给接收端,并不能携带发送端更多信息,如,发送端传输数据包给接收端时,发送端需要往Virtio Ring发送数据包,由于接收端处理有瓶颈,导致接收端没有及时接收到数据包,从而使Virtio Ring占满,只能选择丢弃报文,且丢包发生在发送端,接收端未得到丢包的信息,所以接收端无法及时发现接收有瓶颈,也就不能及时发现问题并优化调整,造成了提供信息不足的缺陷。

技术实现思路

[0003]本公开提供一种获取信息的方法和装置,用以解决现有技术中虚拟网卡的接收端接收的信息不足的缺陷,实现了接收端除了能够接收传输数据外,还能接收发送端提供的额外的事件信息。
[0004]第一方面,本公开提供一种获取信息的方法,应用于虚拟网卡,所述虚拟网卡包括发送端和接收端,所述发送端和所述接收端之间通过数据传输通道连接,并共享统计计数器服务,具体包括:
[0005]调用所述发送端通过所述数据传输通道传输数据,并判断是否有通知所述接收端的事件;
[0006]在有通知所述接收端的事件的情况下,依据所述事件的类型,更新所述统计计数器服务中对应的统计计数器;
[0007]调用所述接收端在所述统计计数器服务中进行查询,获取所述事件对应的信息。
[0008]根据本公开提供的获取信息的方法,所述调用所述接收端在所述统计计数器服务中进行查询,获取所述事件对应的信息,包括:
[0009]调用所述接收端根据查询命令在所述统计计数器服务中进行查询,获取所述发送端进行更新的统计计数器;
[0010]调用所述接收端依据所述更新的统计计数器获取所述事件对应的信息。
[0011]根据本公开提供的获取信息的方法,所述发送端为虚拟网卡驱动和虚拟网卡设备中的一个,所述接收端为虚拟网卡驱动和虚拟网卡设备中的另一个。
[0012]根据本公开提供的获取信息的方法,在所述调用所述发送端通过所述数据传输通道传输数据之前,包括:
[0013]调用所述虚拟网卡驱动在所述数据传输通道内设置虚拟框架缓冲区;
[0014]调用所述发送端通过所述虚拟框架缓冲区传输数据。
[0015]根据本公开提供的获取信息的方法,所述更新所述统计计数器服务中对应的统计
计数器之前,包括:
[0016]调用所述虚拟网卡驱动在所述虚拟网卡中创建统计计数器服务;
[0017]调用所述虚拟网卡设备确定统计计数器服务中支持的统计计数器对应的标签,并通过内存映射参数确定统计计数器的内存映射区域;
[0018]调用所述虚拟网卡设备对所述统计计数器对应的标签进行识别,在识别成功的情况下,对所述统计计数器的内存映射区域进行映射,以建立所述虚拟网卡设备与所述统计计数器服务之间的连接。
[0019]根据本公开提供的获取信息的方法,在所述调用所述虚拟网卡设备对所述统计计数器标签进行识别之后,还包括:
[0020]在识别失败的情况下,调用所述虚拟网卡设备显示识别失败。
[0021]根据本公开提供的获取信息的方法,所述事件的类型包括以下至少一个,具体为:
[0022]发送端或接收端因队列满导致丢包事件、发送端或接收端因连接表满导致丢包事件、发送端或接收端因出带宽限速导致丢包事件以及发送端或接收端因入带宽限速导致丢包事件。
[0023]第二方面,本公开提供一种获取信息的装置,设置于虚拟网卡,所述虚拟网卡包括发送端和接收端,所述接收端和所述发送端之间通过数据传输通道连接,并共享统计计数器服务,所述装置具体包括:
[0024]判断模块,用于调用所述发送端通过所述数据传输通道传输数据,并判断是否有通知所述接收端的事件;
[0025]更新模块,用于在有通知所述接收端的事件的情况下,依据所述事件的类型,更新所述统计计数器服务中对应的统计计数器;
[0026]获取模块,用于调用所述接收端在所述统计计数器服务中进行查询,获取所述事件对应的信息。
[0027]第三方面,本公开提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一项所述获取信息的方法的步骤。
[0028]第四方面,本公开提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述获取信息的方法的步骤。
[0029]第五方面,本公开提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述获取信息的方法的步骤。
[0030]本公开提供的一种获取信息的方法和装置,通过调用所述发送端通过所述数据传输通道传输数据,并判断是否有通知所述接收端的事件,在此判断是否有事件通知接收端能够有效避免由于发送端处理出现的问题而不能发送至接收端的现象,由于不同的事件类型对应不同的统计计数器,因此在有通知所述接收端的事件的情况下,依据事件的类型,更新统计计数器服务中对应的统计计数器,调用所述接收端在所述统计计数器服务中进行查询,获取所述事件对应的信息。实现了接收端除了能够接收传输数据外,还能接收发送端提供的额外的事件信息。
附图说明
[0031]为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032]图1是本公开实施例提供的现有技术中虚拟网卡的结构流程示意图;
[0033]图2是本公开提供的虚拟网卡的架构示意图;
[0034]图3是本公开提供的一种获取信息的方法的流程示意图;
[0035]图4是本公开实施例提供一种虚拟网卡的结构流程示意图;
[0036]图5是本公开实施例提供的更新统计计数器服务中对应的统计计数器之前的流程示意图;
[0037]图6是本公开实施例提供的创建统计计数器服务的具体流程示意图;
[0038]图7是本公开实施例提供的获取信息的流程示意图;
[0039]图8为本公开实施例提供的一种获取信息的装置的结构示意图;
[0040]图9是本公开提供的电子设备的结构示意图。
具体实施方式
[0041]为使本公开的目的、技术方案和优点更加清楚,下面将结合本公开中的附图,对本公开中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种获取信息的方法,其特征在于,应用于虚拟网卡,所述虚拟网卡包括发送端和接收端,所述发送端和所述接收端之间通过数据传输通道连接,并共享统计计数器服务,具体包括:调用所述发送端通过所述数据传输通道传输数据,并判断是否有通知所述接收端的事件;在有通知所述接收端的事件的情况下,依据所述事件的类型,更新所述统计计数器服务中对应的统计计数器;调用所述接收端在所述统计计数器服务中进行查询,获取所述事件对应的信息。2.根据权利要求1所述的获取信息的方法,其特征在于,所述调用所述接收端在所述统计计数器服务中进行查询,获取所述事件对应的信息,包括:调用所述接收端根据查询命令在所述统计计数器服务中进行查询,获取所述发送端进行更新的统计计数器;调用所述接收端依据所述更新的统计计数器获取所述事件对应的信息。3.根据权利要求2所述的获取信息的方法,其特征在于,所述发送端为虚拟网卡驱动和虚拟网卡设备中的一个,所述接收端为虚拟网卡驱动和虚拟网卡设备中的另一个。4.根据权利要求3所述的获取信息的方法,其特征在于,在所述调用所述发送端通过所述数据传输通道传输数据之前,包括:调用所述虚拟网卡驱动在所述数据传输通道内设置虚拟框架缓冲区;调用所述发送端通过所述虚拟框架缓冲区传输数据。5.根据权利要求3所述的获取信息的方法,其特征在于,所述更新所述统计计数器服务中对应的统计计数器之前,包括:调用所述虚拟网卡驱动在所述虚拟网卡中创建统计计数器服务;调用所述虚拟网卡设备确定统计计数器服务中支持的统计计数器对应的标签,并通过内存映射参数确定统计计数器的内存映射区域;调用所述虚拟网卡设备对所述统计计数器对应的标签进行识别,在识别成功的情况下,对所述统计计数器的内存映...

【专利技术属性】
技术研发人员:王志克
申请(专利权)人:京东科技信息技术有限公司
类型:发明
国别省市:

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

1