一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

网卡功能开关状态调整方法、装置、电子设备及可读介质与流程

2023-01-15 08:11:31 来源:中国专利 TAG:


1.本发明涉及网络通信技术领域,特别是涉及一种网卡功能开关状态调整方法、一种网卡功能开关状态调整装置、一种电子设备以及一种计算机可读介质。


背景技术:

2.一个既有的网络拥有众多的设备,一旦网络拓扑的设计或者链接有问题,或者网络中的某个广播域中的节点形成环路,就很容易形成网络风暴,整个网络流量被组播包和广播包占据,其他的转发业务不能进行。而正常情况下,网络中的主机需要响应所有的组播包和广播包,大量的组播包和广播包的涌入会让网卡向cpu上报海量的中断,cpu不得不暂停当下的任务、调用网络中断服务程序来响应中断。同时,cpu不断的处理协议栈,造成cpu占用率飙升,与中断叠加,造成性能下降,甚至宕机,严重威胁cpu稳定性。


技术实现要素:

3.鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种网卡功能开关状态调整方法、一种网卡功能开关状态调整装置、一种电子设备以及一种计算机可读介质。
4.本发明实施例公开了一种网卡功能开关状态调整方法,应用于中央处理器,包括:
5.确定网络链接速度;
6.根据所述网络链接速度确定网卡可接收的数据包的数量峰值;所述数据包包括组播包和/或广播包;
7.确定网卡接收的数据包的数量;
8.根据所述网卡接收的数据包的数量以及所述数量峰值,调整网卡接收数据包功能和/或网卡中断功能的开关状态。
9.可选地,所述方法还包括:
10.根据预设的第一对应关系以及所述网卡接收的数据包的数量,确定所述网卡接收数据包功能和/或网卡中断功能的关闭时间;其中,所述第一对应关系为所述网卡接收的数据包的数量,与所述网卡接收数据包功能和/或网卡中断功能的关闭时间的对应关系。
11.可选地,所述根据网卡接收的数据包的数量以及所述数量峰值,调整网卡接收数据包功能和/或网卡中断功能的开关状态的步骤,包括:
12.判断所述网卡接收的数据包的数量是否大于所述数量峰值;
13.若所述网卡接收的数据包的数量大于所述数量峰值,则关闭所述网卡接收数据包功能和/或网卡中断功能;
14.若所述网卡接收的数据包的数量小于或等于所述数量峰值,则开启所述网卡接收数据包功能和/或网卡中断功能。
15.可选地,所述若所述网卡接收的数据包的数量大于所述数量峰值,则关闭所述网卡接收数据包功能和/或网卡中断功能的步骤,包括:
16.若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量大于上一次网卡接收的数据包的数量,则将所述网卡接收数据包功能和/或网卡中断功能的关闭时间,调整为大于上一次网卡接收数据包功能和/或网卡中断功能的关闭时间;
17.若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量小于或等于所述上一次网卡接收的数据包的数量,则将所述网卡接收数据包功能和/或网卡中断功能的关闭时间,调整为小于或等于所述上一次网卡接收数据包功能和/或网卡中断功能的关闭时间。
18.可选地,所述方法还包括;
19.若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量小于或等于所述上一次网卡接收的数据包的数量,则关闭所述网卡接收数据包功能,并开启所述网卡中断功能。
20.可选地,所述方法还包括:
21.根据所述中央处理器对中断的处理能力和/或对协议栈的处理能力确定所述网卡可接收的数据包的数量峰值。
22.可选地,所述方法还包括:
23.按照预设周期,确定所述网卡接收的数据包的数量。
24.本发明实施例还公开了一种网卡功能开关状态调整装置,应用于中央处理器,包括:
25.网络链接速度确定模块,用于确定网络链接速度;
26.第一数量峰值确定模块,用于根据所述网络链接速度确定网卡可接收的数据包的数量峰值;
27.第一数据包数量确定模块,用于确定网卡接收的数据包的数量;
28.调整模块,用于根据所述网卡接收的数据包的数量以及所述数量峰值,调整网卡接收数据包功能和/或网卡中断功能的开关状态。
29.可选地,所述装置还包括:
30.关闭时间确定模块,用于根据预设的第一对应关系以及所述网卡接收的数据包的数量,确定所述网卡接收数据包功能和/或网卡中断功能的关闭时间;其中,所述第一对应关系为所述网卡接收的数据包的数量,与所述网卡接收数据包功能和/或网卡中断功能的关闭时间的对应关系。
31.可选地,所述调整模块,包括:
32.判断子模块,用于判断所述网卡接收的数据包的数量是否大于所述数量峰值;
33.关闭子模块,用于若所述网卡接收的数据包的数量大于所述数量峰值,则关闭所述网卡接收数据包功能和/或网卡中断功能;
34.开启子模块,用于若所述网卡接收的数据包的数量小于或等于所述数量峰值,则开启所述网卡接收数据包功能和/或网卡中断功能。
35.可选地,所述关闭子模块,包括:
36.第一调整单元,用于若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量大于上一次网卡接收的数据包的数量,则将所述网卡接收数据包功能和/或网卡中断功能的关闭时间,调整为大于上一次网卡接收数据包功能和/或网卡中
断功能的关闭时间;
37.第二调整单元,用于若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量小于或等于所述上一次网卡接收的数据包的数量,则将所述网卡接收数据包功能和/或网卡中断功能的关闭时间,调整为小于或等于所述上一次网卡接收数据包功能和/或网卡中断功能的关闭时间。
38.可选地,所述装置还包括;
39.开关模块,用于若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量小于或等于所述上一次网卡接收的数据包的数量,则关闭所述网卡接收数据包功能,并开启所述网卡中断功能。
40.可选地,所述装置还包括:
41.第二数量峰值确定模块,用于根据所述中央处理器对中断的处理能力和/或对协议栈的处理能力确定所述网卡可接收的数据包的数量峰值。
42.可选地,所述装置还包括:
43.第二数据包数量确定模块,用于按照预设周期,确定所述网卡接收的数据包的数量。
44.本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口以及所述存储器通过所述通信总线完成相互间的通信;
45.所述存储器,用于存放计算机程序;
46.所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的网卡功能开关状态调整方法。
47.本发明实施例还公开了一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的网卡功能开关状态调整方法。
48.本发明实施例包括以下优点:
49.在本发明实施例中,通过确定网络链接速度和网卡接收的数据包的数量,使得可以根据网络链接速度确定网卡可接收的数据包的数量峰值,并可以进一步根据网卡接收的数据包的数量以及数量峰值,调整网卡接收数据包功能和/或网卡中断功能的开关状态。根据网络状况动态调整网卡可接收的数据包的数量峰值,进而采用网卡接收的数据包的数量以及数量峰值,动态调整网卡接收数据包功能和网卡中断功能的开关状态,从而控制广播包和组播包的接收量以及中断上报的次数,避免过度占用cpu资源,使cpu可以处理正常业务,保证cpu工作效率和稳定性。
附图说明
50.图1是本发明实施例中提供的一种网卡功能开关状态调整方法的步骤流程图;
51.图2是本发明实施例中提供的另一种网卡功能开关状态调整方法的步骤流程图;
52.图3是本发明实施例中提供的一种调整网卡功能开关状态的流程示意图;
53.图4是本发明实施例中提供的一种网卡功能开关状态调整装置的结构框图;
54.图5是本发明实施例中提供的一种电子设备的框图;
55.图6是本发明实施例中提供的一种计算机可读介质的示意图。
具体实施方式
56.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
57.计算机系统部署进网络后,当大量广播或组播数据包时,网卡会接收到大量数据包,进而会导致网卡向cpu上报大量中断,使得cpu不得不停下当前处理的任务,调用网络中断服务程序来响应中断。同时,协议栈对大量数据包的处理会大量消耗cpu的资源,造成cpu占用率飙升。响应大量中断占用大量的资源,并且协议栈处理数据包消耗大量的资源,会使得cpu的性能下降,甚至宕机,严重威胁cpu稳定性。
58.本发明提出了一种网卡功能开关状态调整方法,应用于中央处理器,通过将广播和组播包的处理下沉到网卡上,减少网络风暴时cpu处理数据包的数量和中断的数量,从而减少cpu的工作量,保证cpu处理正常业务的效率和稳定性。
59.参照图1,示出了本发明实施例中提供的一种网卡功能开关状态调整方法的步骤流程图,具体可以包括如下步骤:
60.步骤101,确定网络链接速度;
61.部署在网络中的计算机,针对用户的需求,会产生数据包,数据包可以包括组播包、广播包。当大量广播或组播数据包时,网卡会接收到大量数据包,进而会导致网卡向cpu上报大量中断,使得cpu不得不停下当前处理的任务,调用网络中断服务程序来响应中断,同时,协议栈对大量数据包的处理会大量消耗cpu的资源,造成cpu占用率飙升,所以需要控制网卡的数据包接收量以及中断上报的次数,即控制网卡接收数据包功能和中断功能的开启和关闭。
62.基于此,cpu可以为网卡设置一个可接收的数据包的数量峰值,但是如果在一个高速网络上设置了一个低的数量上限,那么这个上限就很容易达到,就会频繁的关闭组播包和广播包接收功能,使得正常的组播和广播也受到影响。反之,如果在一个低速网络上设置一个高的数量上限,那么这个上限可能永远达不到,则组播包和广播包接收功能一直是打开的,这样海量组播包和广播包的涌入就会占用网卡和cpu的资源,使得网卡不能收发其他正常的数据包,从而使得其他业务不能得到及时处理。因此,cpu可以根据网络链接速度来设置网卡可接收的数据包的数量峰值。
63.在本发明实施例中,为了确定网卡可接收的数据包的数量峰值,cpu可以先确定当前的网络链接速度。具体地,cpu可以设置一监测工具实时地监测网络链接速度。
64.步骤102,根据所述网络链接速度确定网卡可接收的数据包的数量峰值;
65.在确定网络链接速度后,则可以根据网络链接速度确定网卡可接收的数据包的数量峰值。具体地,可以预设网络链接速度与网卡可接收的数据包的数量峰值的对应关系,使得在确定网络链接速度后,可以在两者的对应关系表中查找网卡可接收的数据包的数量峰值,从而实现对网卡可接收的数据包的数量峰值的确定。
66.实际应用中,可以监测单位时间内的网络链接速度,根据单位时间内的网络链接速度确定单位时间内网卡可接收的数据包的数量峰值。其中,单位时间可以根据实际情况设定,可以设置为每毫秒、每秒。
67.作为一种示例,可以设置当网络链接速度为10m/每秒时,网卡可接收的数据包的数量峰值为k;当网络链接速度为100m/每秒时,网卡可接收的数据包的数量峰值为10k;当网络链接速度为1000m/每秒时,网卡可接收的数据包的数量峰值为100k。因此,当确定网络链接速度为10m/每秒时,可以将k作为网卡可接收的数据包的数量峰值;当确定网络链接速度为100m/每秒时,可以将10k作为网卡可接收的数据包的数量峰值;当确定网络链接速度为1000m/每秒时,可以将100k作为网卡可接收的数据包的数量峰值。
68.步骤103,确定网卡接收的数据包的数量;
69.在确定网卡可接收的数据包的数量峰值后,为了判断需不需要调整网卡接收数据包功能和中断功能的开关状态,cpu可以比较网卡可接收的数据包的数量峰值与网卡接收的数据包的数量的大小,根据比较的结果来调整网卡接收数据包功能和中断功能的开关状态。
70.在本发明实施例中,为了比较两者的大小,cpu可以先确定单位时间内网卡接收的数据包的数量。具体地,cpu可以设置一监测工具,实时地监测和计算网卡接收的数据包的数量。
71.步骤104,根据所述网卡接收的数据包的数量以及所述数量峰值,调整网卡接收数据包功能和/或网卡中断功能的开关状态。
72.在确定网卡可接收的数据包的数量峰值和网卡接收的数据包的数量后,可以比较网卡可接收的数据包的数量峰值和网卡接收的数据包的数量的大小,得到比较结果,即网卡接收的数据包的数量大于网卡可接收的数据包的数量峰值,或网卡接收的数据包的数量小于或等于网卡可接收的数据包的数量峰值,进而可以根据这两种比较结果将网卡接收数据包功能和/或网卡中断功能调整为打开或关闭,从而实现根据网络状况和网卡接收的数据包的数量动态调整网卡接收数据包功能和/或网卡中断功能的开关状态,减少网络风暴时cpu处理数据包的数量和中断的数量,从而减少cpu的工作量,保证cpu处理正常业务的效率和稳定性。
73.通过本发明实施例的网卡功能开关状态调整方法,cpu通过确定网络链接速度和网卡接收的数据包的数量,使得可以根据网络链接速度确定网卡可接收的数据包的数量峰值,并可以进一步根据网卡接收的数据包的数量以及数量峰值,调整网卡接收数据包功能和/或网卡中断功能的开关状态。根据网络状况动态调整网卡可接收的数据包的数量峰值,进而采用网卡接收的数据包的数量以及数量峰值,动态调整网卡接收数据包功能和网卡中断功能的开关状态,从而控制广播包和组播包的接收量以及中断上报的次数,避免过度占用cpu资源,使cpu可以处理正常业务,保证cpu工作效率和稳定性。
74.参照图2,示出了本发明实施例中提供的另一种网卡功能开关状态调整方法的步骤流程图,具体可以包括如下步骤:
75.步骤201,确定网络链接速度;
76.在本发明实施例中,为了确定网卡可接收的数据包的数量峰值,cpu可以先确定当前的网络链接速度。具体地,cpu可以设置一监测工具实时地监测网络链接速度。
77.步骤202,根据所述网络链接速度确定网卡可接收的数据包的数量峰值;
78.在确定网络链接速度后,则可以根据网络链接速度确定网卡可接收的数据包的数量峰值。具体地,可以预设网络链接速度与网卡可接收的数据包的数量峰值的对应关系,使
得在确定网络链接速度后,可以在两者的对应关系表中查找网卡可接收的数据包的数量峰值,从而实现对网卡可接收的数据包的数量峰值的确定。
79.实际应用中,可以监测单位时间内的网络链接速度,根据单位时间内的网络链接速度确定单位时间内网卡可接收的数据包的数量峰值。其中,单位时间可以根据实际情况设定,可以设置为每毫秒、每秒。
80.在本发明的一种实施例中,所述方法还包括:
81.s11,根据所述中央处理器对中断的处理能力和/或对协议栈的处理能力确定所述网卡可接收的数据包的数量峰值。
82.不同cpu的性能存在差异,所以不同cpu对中断的处理能力和/或对协议栈的处理能力也是不相同,也就是说,即使在相同网络链接速度下,不同cpu处理处理中断和数据包的效率也是不同。
83.因此,为了保证cpu的工作效率和稳定性,除了根据网络链接速度调整网卡可接收的数据包的数量峰值外,还可以根据中央处理器对中断的处理能力和/或对协议栈的处理能力确定网卡可接收的数据包的数量峰值,从而不会过度高估或低估cpu的处理能力,而接收过多或过少广播包和组播包导致不能合理利用cpu资源。其中,cpu对中断的处理能力可以为单位时间内cpu可以处理中断的次数;cpu对协议栈的处理能力可以为单位时间内协议栈调用cpu资源可以处理的数据包的数量。
84.具体地,可以先确定cpu的型号,根据cpu的型号确定cpu对中断的处理能力和/或对协议栈的处理能力,再根据预设的cpu对中断的处理能力和/或对协议栈的处理能力,与网卡可接收的数据包的数量峰值的的对应关系,从而可以在确定cpu对中断的处理能力和/或对协议栈的处理能力后,根据两者的对应关系,确定网卡可接收的数据包的数量峰值。
85.具体应用中,可以先根据网络链接速度确定网卡可接收的数据包的数量峰值,再根据中央处理器对中断的处理能力和/或对协议栈的处理能力确定网卡可接收的数据包的数量峰值,最后取分别确定的这两个数量峰值的平均值作为最终的网卡可接收的数据包的数量峰值,兼顾网络链接速度和cpu的性能来确定网卡可接收的数据包的数量峰值,使得确定的数量峰值贴合实际情况,更加真实可靠,从而可以保证cpu的工作效率和稳定性。
86.可选地,可以根据中央处理器对中断的处理能力和对协议栈的处理能力设置两个数量峰值ni和ng,其中,ni大于ng,当网卡接收的数据包数量小于ng时,打开网卡数据包接收功能和网卡中断功能;当网卡接收的数据包的数量大于数量峰值ng但小于数量峰值ni时,可以仅关闭网卡接收数据包功能;当网卡接收的数据包的数量大于数量峰值ni时,则需要关闭网卡中断功能。
87.步骤203,按照预设周期,确定所述网卡接收的数据包的数量;
88.在确定网卡可接收的数据包的数量峰值后,为了判断需不需要调整网卡接收数据包功能和中断功能的开关状态,cpu可以比较网卡可接收的数据包的数量峰值与网卡接收的数据包的数量的大小,根据比较的结果来调整网卡接收数据包功能和中断功能的开关状态。
89.在本发明实施例中,为了比较两者的大小,cpu可以先确定单位时间内网卡接收的数据包的数量。具体地,cpu可以预设一周期,按照预设周期来访问网卡以确定网卡接收的组播包和/或广播包的数量,使得cpu不需要频繁地访问网卡,避免资源的无谓消耗。
90.具体应用中,cpu可以设置一定时器,定时器用于计算时间,当计算的时间达到预设周期时,定时器可以提醒cpu访问网卡,以获取周期内网卡接收的数据包的数量。
91.步骤204,判断所述网卡接收的数据包的数量是否大于所述数量峰值;
92.在确定网卡可接收的数据包的数量峰值和网卡接收的数据包的数量后,可以判断网卡接收的数据包的数量是否大于所述数量峰值,经过比较得到比较结果,即网卡接收的数据包的数量大于网卡可接收的数据包的数量峰值,或网卡接收的数据包的数量小于或等于网卡可接收的数据包的数量峰值,进而可以根据这两种比较结果将网卡接收数据包功能和/或网卡中断功能调整为打开或关闭,从而实现根据网络状况和网卡接收的数据包的数量动态调整网卡接收数据包功能和/或网卡中断功能的开关状态,减少网络风暴时cpu处理数据包的数量和中断的数量,从而减少cpu的工作量,保证cpu处理正常业务的效率和稳定性。
93.步骤205,若所述网卡接收的数据包的数量大于所述数量峰值,则关闭所述网卡接收数据包功能和/或网卡中断功能;
94.在经过比较,确定网卡接收的数据包的数量大于网卡可接收的数据包的数量峰值后,可以说明继续接收组播包和广播包可能降低cpu的工作效率和影响cpu的稳定性,甚至可能会导致cpu宕机,此时,可以关闭网卡接收数据包功能和/或网卡中断功能,以保证cpu能够正常工作。
95.步骤206,若所述网卡接收的数据包的数量小于或等于所述数量峰值,则开启所述网卡接收数据包功能和/或网卡中断功能。
96.在经过比较,确定网卡接收的数据包的数量小于或等于网卡可接收的数据包的数量峰值后,可以说明该周期内接收的组播包和广播包的数量比较少,不会降低cpu的工作效率和影响cpu的稳定性,此时,可以开启网卡接收数据包功能和/或网卡中断功能,以避免错过正常的组播包/广播包。
97.在本发明的一种实施例中,所述方法还包括:
98.s21,根据预设的第一对应关系以及所述网卡接收的数据包的数量,确定所述网卡接收数据包功能和/或网卡中断功能的关闭时间;
99.为了避免降低cpu的工作效率和影响cpu的稳定性,当若网卡接收的数据包的数量大于数量峰值时,可以关闭网卡接收数据包功能和/或网卡中断功能,但如果关闭时间过短,则不能有效屏蔽数据包和中断,如果关闭时间过长,则可能错过正常的组播包和/或广播包,导致用户的正常业务得不到及时处理。因此,可以根据预设周期内网卡实际接收的数据包的数量来动态调整网卡接收数据包功能和/或网卡中断功能的关闭时间。
100.具体地,可以预设第一对应关系,第一对应关系可以为网卡接收的数据包的数量,与网卡接收数据包功能和/或网卡中断功能的关闭时间的对应关系。由此,可以在确定网卡接收的数据包的数量后,根据预设的第一对应关系,查找网卡接收数据包功能和/或网卡中断功能的关闭时间。
101.在本发明的一种实施例中,所述若所述网卡接收的数据包的数量大于所述数量峰值,则关闭所述网卡接收数据包功能和/或网卡中断功能的步骤,包括:
102.s31,若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量大于上一次网卡接收的数据包的数量,则将所述网卡接收数据包功能和/或网卡
中断功能的关闭时间,调整为大于上一次网卡接收数据包功能和/或网卡中断功能的关闭时间;
103.在本周期网卡接收的数据包的数量大于网卡可接收的数据包的数量峰值的情况下,与上一周期相比,本周期网卡接收的数据包的数量可能大于上一周期网卡接收的数据包的数量,也可能小于或等于网卡接收的数据包的数量,所以本周期网卡接收的数据包的数量大于网卡可接收的数据包的数量峰值的情况下,可以比较本周期网卡接收数量与上一周期网卡接收数量的大小,根据比较的结果,控制网卡接收数据包功能和/或网卡中断功能的关闭时间的长短,使得能够根据实际情况调整关闭时间,保证cpu的工作效率。
104.具体地,在本周期网卡接收的数据包的数量大于网卡可接收的数据包的数量峰值,并且本周期接收数量相比上一周期接收数量增加的情况下,可以延长网卡接收功能和中断上报功能的关闭时间,避免由于关闭时间过短而继续接收组播包和/或广播包,从而减少对cpu资源的占用,保证cpu正常的工作效率和稳定性。
105.作为一种示例,当网卡可接收的数据包的数量峰值为k时,若本周期网卡接收的数据包的数量为100k,上一周期网卡接收的数据包的数量为10k,上一周期设置的关闭时间为t,由于100k》10k》k,可以说明本周期网卡接收的数据包的数量大于网卡可接收的数据包的数量峰值,并且本周期接收数量相比上一周期接收数量增加,则可以在本周期将关闭时间设置为大于t,具体地,可以本周期将关闭时间设置为2t,4t,5t,10t,等等。
106.s32,若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量小于或等于所述上一次网卡接收的数据包的数量,则将所述网卡接收数据包功能和/或网卡中断功能的关闭时间,调整为小于或等于所述上一次网卡接收数据包功能和/或网卡中断功能的关闭时间。
107.在本周期网卡接收的数据包的数量大于网卡可接收的数据包的数量峰值,并且接收数量相比上一周期减少或不变的情况下,可以缩短或不改变网卡接收功能和中断上报功能的关闭时间,从而避免由于关闭时间过长而浪费cpu的资源,并且可以避免错过正常的组播包和/或广播包。
108.作为一种示例,当网卡可接收的数据包的数量峰值为k时,若本周期网卡接收的数据包的数量为10k,上一周期网卡接收的数据包的数量为100k,上一周期设置的关闭时间为t,由于100k》10k》k,可以说明本周期网卡接收的数据包的数量大于网卡可接收的数据包的数量峰值,并且接收数量相比上一周期减少,则可以在本周期将关闭时间设置为小于t,具体地,可以本周期将关闭时间设置为1/2t,1/4t,1/5t,1/10t,等等。
109.作为一种示例,当网卡可接收的数据包的数量峰值为k时,若本周期网卡接收的数据包的数量为10k,上一周期网卡接收的数据包的数量为10k,上一周期设置的关闭时间为t,由于10k=10k》k,可以说明本周期网卡接收的数据包的数量大于网卡可接收的数据包的数量峰值,并且接收数量与上一周期相等,则可以在本周期将关闭时间设置为等于t。
110.在本发明的一种实施例中,所述方法还包括:
111.s41,若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量小于或等于所述上一次网卡接收的数据包的数量,则关闭所述网卡接收数据包功能,并开启所述网卡中断功能。
112.由于网卡可接收的数据包的数量峰值是根据网络链接速度,和/或,cpu对中断的
处理能力和/或对协议栈的处理能力确定的,所以当网卡接收的数据包的数量大于数量峰值,但本周期网卡接收的数据包的数量小于或等于上一周期网卡接收的数据包的数量的情况下,可以说明cpu的资源没有被过渡占用,能够正常工作,此时,可以关闭网卡接收数据包功能,并开启网卡中断功能,从而cpu可以处理网卡上报的中断,并进一步对数据包进行处理,减少cpu资源的浪费。
113.参照图3,示出了本发明实施例中提供的一种调整网卡功能开关状态的流程示意图。具体流程如下:
114.1、cpu根据网络链接速度,和/或,cpu对中断的处理能力和/或对协议栈的处理能力确定网卡可接收的数据包的数量峰值;
115.2、定时器计算时间,当达到预设周期时,提醒cpu访问网卡获取网卡接收的数据包的数量;cpu访问网卡获取该周期内网卡接收的数据包的数量;
116.3、cpu判断该周期内网卡接收的数据包的数量是否大于网卡可接收的数据包的数量峰值;
117.4、若该周期内网卡接收的数据包的数量小于或等于网卡可接收的数据包的数量峰值,则说明cpu的资源没有被过渡占用,可以继续处理数据包和网卡上报的中断,此时可以不调整网卡接收数据包功能和/或网卡中断功能的开关状态,cpu可以等待定时器的下一次提醒,重新获取下一周期网卡接收的数据包的数量;
118.5、若该周期内网卡接收的数据包的数量大于可接收的数据包的数量峰值,则说明cpu的资源的占用率较高,此时可以进一步判断该周期内网卡接收的数据包的数量是否大于上一周期网卡接收的数据包的数量;
119.6、若该周期内网卡接收的数据包的数量小于或等于上一周期网卡接收的数据包的数量,则可以关闭网卡的数据包接收功能和中断功能,或者仅关闭网卡接收数据包的功能,打开网卡中断功能,并且关闭时间可以小于或等于上一周期的关闭时间;
120.7、若该周期内网卡接收的数据包的数量大于上一周期网卡接收的数据包的数量,则可以关闭网卡的数据包接收功能和中断功能,并且关闭时间可以大于上一周期的关闭时间;
121.8、等关闭时间结束后,可以打开网卡的接收数据包功能和中断功能;并且可以继续获取网卡接收的数据包的数量,以判断是否需要打开或关闭网卡的接收数据包功能和中断功能。
122.通过本发明实施例的网卡功能开关状态调整方法,cpu通过确定网络链接速度和网卡接收的数据包的数量,使得可以根据网络链接速度确定网卡可接收的数据包的数量峰值,并可以进一步根据网卡接收的数据包的数量以及数量峰值,调整网卡接收数据包功能和/或网卡中断功能的开关状态。根据网络状况动态调整网卡可接收的数据包的数量峰值,进而采用网卡接收的数据包的数量以及数量峰值,动态调整网卡接收数据包功能和网卡中断功能的开关状态,从而控制广播包和组播包的接收量以及中断上报的次数,避免过度占用cpu资源,使cpu可以处理正常业务,保证cpu工作效率和稳定性。
123.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该
知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
124.参照图4,示出了本发明实施例中提供的一种网卡功能开关状态调整装置的结构框图,具体可以包括如下模块:
125.网络链接速度确定模块401,用于确定网络链接速度;
126.第一数量峰值确定模块402,用于根据所述网络链接速度确定网卡可接收的数据包的数量峰值;
127.第一数据包数量确定模块403,用于确定网卡接收的数据包的数量;
128.调整模块404,用于根据所述网卡接收的数据包的数量以及所述数量峰值,调整网卡接收数据包功能和/或网卡中断功能的开关状态。
129.在本发明的一种实施例中,所述装置还包括:
130.关闭时间确定模块,用于根据预设的第一对应关系以及所述网卡接收的数据包的数量,确定所述网卡接收数据包功能和/或网卡中断功能的关闭时间;其中,所述第一对应关系为所述网卡接收的数据包的数量,与所述网卡接收数据包功能和/或网卡中断功能的关闭时间的对应关系。
131.在本发明的一种实施例中,所述调整模块404,包括:
132.判断子模块,用于判断所述网卡接收的数据包的数量是否大于所述数量峰值;
133.关闭子模块,用于若所述网卡接收的数据包的数量大于所述数量峰值,则关闭所述网卡接收数据包功能和/或网卡中断功能;
134.开启子模块,用于若所述网卡接收的数据包的数量小于或等于所述数量峰值,则开启所述网卡接收数据包功能和/或网卡中断功能。
135.在本发明的一种实施例中,所述关闭子模块,包括:
136.第一调整单元,用于若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量大于上一次网卡接收的数据包的数量,则将所述网卡接收数据包功能和/或网卡中断功能的关闭时间,调整为大于上一次网卡接收数据包功能和/或网卡中断功能的关闭时间;
137.第二调整单元,用于若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量小于或等于所述上一次网卡接收的数据包的数量,则将所述网卡接收数据包功能和/或网卡中断功能的关闭时间,调整为小于或等于所述上一次网卡接收数据包功能和/或网卡中断功能的关闭时间。
138.在本发明的一种实施例中,所述装置还包括;
139.开关模块,用于若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量小于或等于所述上一次网卡接收的数据包的数量,则关闭所述网卡接收数据包功能,并开启所述网卡中断功能。
140.在本发明的一种实施例中,所述装置还包括:
141.第二数量峰值确定模块,用于根据所述中央处理器对中断的处理能力和/或对协议栈的处理能力确定所述网卡可接收的数据包的数量峰值。
142.在本发明的一种实施例中,所述装置还包括:
143.第二数据包数量确定模块,用于按照预设周期,确定所述网卡接收的数据包的数
量。
144.通过本发明实施例的网卡功能开关状态调整装置,cpu通过确定网络链接速度和网卡接收的数据包的数量,使得可以根据网络链接速度确定网卡可接收的数据包的数量峰值,并可以进一步根据网卡接收的数据包的数量以及数量峰值,调整网卡接收数据包功能和/或网卡中断功能的开关状态。根据网络状况动态调整网卡可接收的数据包的数量峰值,进而采用网卡接收的数据包的数量以及数量峰值,动态调整网卡接收数据包功能和网卡中断功能的开关状态,从而控制广播包和组播包的接收量以及中断上报的次数,避免过度占用cpu资源,使cpu可以处理正常业务,保证cpu工作效率和稳定性。
145.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
146.另外,本发明实施例还提供一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
147.存储器503,用于存放计算机程序;
148.处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
149.确定网络链接速度;
150.根据所述网络链接速度确定网卡可接收的数据包的数量峰值;所述数据包包括组播包和/或广播包;
151.确定网卡接收的数据包的数量;
152.根据所述网卡接收的数据包的数量以及所述数量峰值,调整网卡接收数据包功能和/或网卡中断功能的开关状态。
153.可选地,所述方法还包括:
154.根据预设的第一对应关系以及所述网卡接收的数据包的数量,确定所述网卡接收数据包功能和/或网卡中断功能的关闭时间;其中,所述第一对应关系为所述网卡接收的数据包的数量,与所述网卡接收数据包功能和/或网卡中断功能的关闭时间的对应关系。
155.可选地,所述根据网卡接收的数据包的数量以及所述数量峰值,调整网卡接收数据包功能和/或网卡中断功能的开关状态的步骤,包括:
156.判断所述网卡接收的数据包的数量是否大于所述数量峰值;
157.若所述网卡接收的数据包的数量大于所述数量峰值,则关闭所述网卡接收数据包功能和/或网卡中断功能;
158.若所述网卡接收的数据包的数量小于或等于所述数量峰值,则开启所述网卡接收数据包功能和/或网卡中断功能。
159.可选地,所述若所述网卡接收的数据包的数量大于所述数量峰值,则关闭所述网卡接收数据包功能和/或网卡中断功能的步骤,包括:
160.若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量大于上一次网卡接收的数据包的数量,则将所述网卡接收数据包功能和/或网卡中断功能的关闭时间,调整为大于上一次网卡接收数据包功能和/或网卡中断功能的关闭时间;
161.若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量小于或等于所述上一次网卡接收的数据包的数量,则将所述网卡接收数据包功能和/
或网卡中断功能的关闭时间,调整为小于或等于所述上一次网卡接收数据包功能和/或网卡中断功能的关闭时间。
162.可选地,所述方法还包括;
163.若所述网卡接收的数据包的数量大于所述数量峰值,且所述网卡接收的数据包的数量小于或等于所述上一次网卡接收的数据包的数量,则关闭所述网卡接收数据包功能,并开启所述网卡中断功能。
164.可选地,所述方法还包括:
165.根据所述中央处理器对中断的处理能力和/或对协议栈的处理能力确定所述网卡可接收的数据包的数量峰值。
166.可选地,所述方法还包括:
167.按照预设周期,确定所述网卡接收的数据包的数量。
168.上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
169.通信接口用于上述终端与其他设备之间的通信。
170.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
171.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
172.如图6所示,在本发明提供的又一实施例中,还提供了一种计算机可读存储介质601,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中所述的网卡功能开关状态调整方法。
173.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中所述的网卡功能开关状态调整方法。
174.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以
是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
175.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
176.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
177.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献