CN115499346B - 一种多网卡的测速方法、装置、设备及介质 - Google Patents

一种多网卡的测速方法、装置、设备及介质 Download PDF

Info

Publication number
CN115499346B
CN115499346B CN202211121537.4A CN202211121537A CN115499346B CN 115499346 B CN115499346 B CN 115499346B CN 202211121537 A CN202211121537 A CN 202211121537A CN 115499346 B CN115499346 B CN 115499346B
Authority
CN
China
Prior art keywords
network
detected
network card
socket
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211121537.4A
Other languages
English (en)
Other versions
CN115499346A (zh
Inventor
孟令龙
王昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Juqing Network Technology Jinan Co ltd
Original Assignee
Juqing Network Technology Jinan Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Juqing Network Technology Jinan Co ltd filed Critical Juqing Network Technology Jinan Co ltd
Priority to CN202211121537.4A priority Critical patent/CN115499346B/zh
Publication of CN115499346A publication Critical patent/CN115499346A/zh
Application granted granted Critical
Publication of CN115499346B publication Critical patent/CN115499346B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本说明书实施例公开了一种多网卡的测速方法、装置、设备及介质。方法包括以下过程:获取目标终端中的多个待检测网卡标识,并将多个待检测网卡标识添加到目标终端的网络接口队列中;基于网络接口队列中待检测网卡的数量,确定待启动的测速线程数量,以为各待检测网卡的测速任务分配对应的测速线程;将测速线程对应的预设套接字与对应的待检测网卡进行绑定;其中,待检测网卡对应一个或多个套接字;基于套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中所述待检测网卡的总带宽,以实现对所述目标终端的测速。

Description

一种多网卡的测速方法、装置、设备及介质
技术领域
本说明书涉及计算机技术领域,尤其涉及一种多网卡的测速方法、装置、设备及介质。
背景技术
在现在计算机硬件成本低廉、大量使用的情况下,网卡已经成了一种常见的硬件设备。随着计算机技术的快速发展,具备多网卡功能的设备逐渐增多,一台计算机配置两个网卡的情况已经很常见,一台计算机配置多达三个及以上的网卡的情况也频繁出现。基于服务器需求以及用户需求,经常需要对网卡性能进行测试,网卡性能指标评判标准包括传输往返时延、IP包时延变化、IP包丢失率、IP业务可用性以及带宽等。而在测试网卡的考量标准中,则主要测试网卡的带宽性能。
当前对于多网卡设备的网卡功能检测技术,大部分依然停留在对设备中网卡进行逐个检测。而且已有的具有网络测速的软件也只能逐个绑定网卡的网络接口进行测速,只能通过默认的网口或者指定单个网口来进行测速。当对多个网卡测速时,所有网卡均基于上述方式进行实现,实现过程较为复杂,且测试方法消耗时间过多,效率低。此外采用逐个检测的方式对于多网卡进行检测时,由于各个网卡的检测时间不同,在手动将单独检测的网卡带宽进行相加获得的总带宽时,会由于时间差异造成多网卡总带宽检测结果不准确的问题,无法适应于多网卡测量的应用场景。
发明内容
本说明书一个或多个实施例提供了一种多网卡的测速方法、设备及介质,用于解决如下技术问题:如何提供一种高效准确的多网卡的测速方法。
本说明书一个或多个实施例采用下述技术方案:
本说明书一个或多个实施例提供一种多网卡的测速方法,方法包括:
获取目标终端中的多个待检测网卡标识,并将所述多个待检测网卡标识添加到所述目标终端的网络接口队列中;
基于所述网络接口队列中待检测网卡的数量,确定待启动的测速线程数量,以为各所述待检测网卡的测速任务分配对应的测速线程;
将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定;其中,所述待检测网卡对应一个或多个套接字;
基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中所述待检测网卡的总带宽,以实现对所述目标终端的测速。
可选地,在本说明书一个或多个实施例中,获取目标终端中的多个待检测网卡标识之前,所述方法还包括:
响应于预设程序,或者响应于输入的网卡绑定参数,确定所述目标终端中的一个或多个指定网卡;
基于预设测速节点服务器调用所述指定网卡,以确定所述指定网卡能否联通外网;
若确定所述指定网卡能够联通外网,则将该指定网卡作为所述目标终端的待检测网卡;其中,所述确定所述指定网卡能否联通外网,具体包括:
若所述指定网卡调用成功,则确定所述指定网卡能联通外网;
若所述指定网卡调用不成功,则确定所述指定网卡不能联通外网。
可选地,在本说明书一个或多个实施例中,为各所述待检测网卡的测速任务分配对应的测速线程,具体包括:
基于预设线程函数为所述网络接口队列中各所述待检测网卡的测速任务,创建对应的工作线程,以将所述待检测网卡的测速任务分配到对应的线程中;其中,所述预设线程函数为create_thread。
可选地,在本说明书一个或多个实施例中,将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定,具体包括:
将所述待检测网卡的标识输入预设套接字绑定函数的参数中,以将所述套接字绑定与对应的待检测网卡进行绑定,以便基于所述套接字对所述待检测网卡进行测速;其中,所述预设套接字绑定函数为setsockopt;
基于所述预设套接字绑定函数的返回值,确定所述套接字是否绑定到对应的网卡中;
若是,则确定所述对应的线程中预设的网络连接套接字绑定到所述待检测网卡。
可选地,在本说明书一个或多个实施例中,基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中各所述待检测网卡的总带宽,具体包括:
获取所述套接字在预设时间内传输的网络数据量;
启动预设全局网速计算器计算各所述线程中所述套接字在预设时间内传输的网络数据量,以获得所述目标终端中各网卡的总带宽。
可选地,在本说明书一个或多个实施例中,获取所述套接字在预设时间内传输的网络数据量,具体包括:
若对所述目标终端的多网卡进行下载测速,则读取预设时间内所述线程内各所述套接字基于预设测速节点服务器下载的网络数据总量;
若对所述目标终端的多网卡进行上传测速,则在所述目标终端生成网络随机数据;
通过所述套接字将所述网络随机数据发送到所述预设测速节点服务器,并记录预设时间内各所述套接字发送的网络数据总量;
将所述下载的网络数据总量或者所述发送的网络数据总量,作为所述套接字在预设时间内传输的网络数据。
可选地,在本说明书一个或多个实施例中,所述读取预设时间内所述线程内各所述套接字基于预设测速节点服务器下载的网络数据总量之前,所述方法还包括:
接收所述目标终端发起的多网卡测速请求;
获取所述目标终端对应的网络测速请求中的地址信息,并根据所述地址信息生成与所述目标终端向对应的测速节点服务器列表;其中,所述测速节点服务器列表中包括一个或多个测速节点服务器的地址;
将所述测速节点服务器列表发送至所述目标终端,以使所述目标终端根据所述测速节点服务器列表中的测速节点服务器的地址,实现各所述套接字下载或者上传网络数据。
本说明书一个或多个实施例提供一种多网卡的测速装置,其特征在于,装置包括:
添加单元,用于获取目标终端中的多个待检测网卡标识,并将所述多个待检测网卡标识添加到所述目标终端的网络接口队列中;
分配单元,用于基于所述网络接口队列中待检测网卡的数量,确定待启动的测速线程数量,以为各所述待检测网卡的测速任务分配对应的测速线程;
绑定单元,用于将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定;其中,所述待检测网卡对应一个或多个套接字;
计算单元,用于基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中所述待检测网卡的总带宽,以实现对所述目标终端的测速。
本说明书一个或多个实施例提供一种多网卡的测速设备,设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取目标终端中的多个待检测网卡标识,并将所述多个待检测网卡标识添加到所述目标终端的网络接口队列中;
基于所述网络接口队列中待检测网卡的数量,确定待启动的测速线程数量,以为各所述待检测网卡的测速任务分配对应的测速线程;
将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定;其中,所述待检测网卡对应一个或多个套接字;
基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中各所述待检测网卡的总带宽,以实现对所述目标终端的测速。
本说明书一个或多个实施例提供的一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
获取目标终端中的多个待检测网卡标识,并将所述多个待检测网卡标识添加到所述目标终端的网络接口队列中;
基于所述网络接口队列中待检测网卡的数量,确定待启动的测速线程数量,以为各所述待检测网卡的测速任务分配对应的测速线程;
将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定;其中,所述待检测网卡对应一个或多个套接字;
基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中各所述待检测网卡的总带宽,以实现对所述目标终端的测速。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过将各待检测网卡的测速任务分配对应的测速线程后,使得各个待检测网卡的测速任务均可基于对应的测速线程进行,降低了多线程调度的复杂性保持了应用的简洁性。通过将测速线程对应的预设套接字与对应的待检测网卡进行绑定后,基于套接字与目标终端的预设全局网速计算器,计算目标终端中待检测网卡的总带宽。使得各个网卡的测速可以基于不同的线程同时进行,避免了现有逐个检测网卡时由于各个网卡的检测时间不同,在手动将单独检测的网卡带宽进行相加获得的总带宽时,会由于时间差异造成多网卡总带宽检测结果不准确的问题,提高了多网卡测速的准确性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本说明书实施例提供的一种多网卡测速方法的方法流程示意图;
图2为本说明书实施例提供的一种应用场景下的一种多网卡测速方法的系统框架逻辑示意图;
图3为本说明书实施例提供的一种多网卡测速装置的内容结构示意图;
图4为本说明书实施例提供的一种多网卡测速设备的内部结构示意图;
图5为本说明书实施例提供的一种非易失性计算机存储介质的内部结构示意图。
具体实施方式
本说明书实施例提供一种多网卡的测速方法、装置、设备及介质。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
随着网络技术的飞速发展,各种设备接入网络发方式也越来越多,例如:网线直连,WI-FI无线连接,手机热点共享,蓝牙连接等方式。并且设备上的网卡、网络接口不止一个,普通的电脑,可以同时连接有线网络和Wi-Fi无线网络,一些网络设备同时可以连接多个运营商提供的宽带连接。针对多个网卡的情况,一般的测速方式只能通过默认的网卡或者指定单个网卡来进行测速。从而导致了多网卡测速时的测速效率较低,并且采用逐个检测的方式对于多网卡进行检测时,由于各个网卡的检测时间不同,在手动将单独检测的网卡带宽进行相加获得的总带宽时,会由于时间差异造成多网卡总带宽检测结果不准确的问题,无法适应于多网卡测量的应用场景。
为了解决上述技术问题,本说明书实施例提供了一种多网卡测速的方法,通过将待检测网卡的测速任务分配到对应的测速线程进行,降低了多线程调度的复杂性保持了应用的简洁性。且多线程可同时进行,提高了测速的效率,也避免了逐个进行网卡测速所导致的多网卡测速的总带宽不准确的问题。此外,通过将测速线程对应的预设套接字与对应的待检测网卡进行绑定后,确保了测速数据是基于待检测网卡进行的进出,也提高了多网卡测速的准确性。
如图1所示,本说明书实施例提供一种多网卡的测速方法的方法流程示意图。由图1可知,在本说明书一个或多个实施例中,一种多网卡的测速方法包括以下步骤:
S101:获取目标终端中的多个待检测网卡标识,并将所述多个待检测网卡标识添加到所述目标终端的网络接口队列中。
为了解决现有技术中基于网络链路获取默认网卡数据,仅逐个对单网卡进行测速的问题。本说明书实施例中,首先获取目标终端中的多个待检测网卡标识,并将多个待检测网卡标识添加到目标终端的网络接口队列中,以便将待检测的网卡进行汇聚,从而方便了对于网络接口队列中的待检测网卡进行后续的测速。
进一步地,为了保证待检测网卡是能够被检测的,并且减少不必要的检测过程对计算机内存所造成的消耗问题。在本说明书一个或多个实施例中,获取目标终端中的多个待检测网卡标识之前,所述方法还包括:
首先响应于预设程序或者响应于输入的网卡绑定参数,从而确定出目标终端中的一个或多个指定网卡。例如:在本说明书实施例某应用场景下测速用户可以通过预设程序自动获取或者测速用户通过输入网卡绑定参数,例如“--bind”参数指定需要测速的网卡作为目标终端中的指定网卡。由于存在指定网卡没有联通外网,从而导致指定网卡无法连接到测速节点进行测速的问题。因此为了避免对无法测速的网卡进行测速所造成了计算成本的浪费。本说明书实施例根据预设测速节点服务器调用上述过程中确定出的指定网卡,以便于确定这些指定网卡能否联通外网进行测速。如果确定指定网卡能够联通外网,那么将该指定网卡作为目标终端的待检测网卡。其中,需要说明的是:在本说明书一个或多个实施例中,确定指定网卡能否联通外网,具体包括以下过程:如果指定网卡调用成功,那么确定该指定网卡能联通外网。反之,如果该指定网卡调用不成功,那么确定该指定网卡不能联通外网。如果该网卡可以联通外网那么将该网卡作为待检测网卡,并将该待检测网卡的标识添加到目标终端的网络接口队列中,以便于后续对于网络接口队列中的待检测网卡进行多网卡的测速,确定出目标终端的总带宽。
S102:基于网络接口队列中待检测网卡的数量,确定待启动的测速线程数量,以为各所述待检测网卡的测速任务分配对应的测速线程。
为了避免逐个对网卡测速所造成的效率低以及测速结果不准确的问题,以及多线程调度导致的网卡测速复杂度提升的问题。本说明书实施例中,根据上述步骤S101中确定出的网络接口队列,获取网络接口队列中待检测网卡的数量,进而确定出测速用户的目标终端所需要的待启动的测速线程的数量。启动与该数量相对应的测速线程为各待检测网卡的测速任务分配对应的测速线程。
具体地,在本说明书一个或多个实施例中,为各待检测网卡的测速任务分配对应的测速线程,具体包括以下步骤:根据预先设置的线程函数为网络接口队列中各待检测网卡的测速任务,创建对应的工作线程,从而将待检测网卡的测速任务分配到对应的线程中。其中,需要说明的是在本说明书一个或多格式实施例中,预设线程函数为create_thread。本说明书实施例通过对各个网卡创建对应的线程的方式,降低了多线程调度的复杂性,保持了应用的简洁性。同时为后续基于各个线程对各个网卡进行测速提供了基础,解决了逐个网卡进行检测时的效率低的问题。
S103:将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定;其中,所述待检测网卡对应一个或多个套接字。
为了确保测试过程中的测速数据基于待检测网卡进行进出,提高待检测网卡的测速准确性。在本说明书一个或多个实施例中,将测速线程对的预设套接字与对应的待检测网卡进行绑定,其中,需要说明的是待检测网卡可以对应一个或多个套接字。在本说明书一个或多个实施例中待检测网卡对应3-6个套接字。其中,需要说明的是:TCP用主机的IP地址加上主机上的端口号作为TCP连接的端点,这种端点就叫做套接字(socket)或插口。套接字可用于区分不同应用程序进程间的网络通信和连接,其主要包括有3个参数:通信的目的IP地址、使用的传输层协议(TCP或UDP)和使用的端口号。Socket原意是"插座"。通过将这3个参数结合起来,与一个"插座"Socket绑定,应用层就可以和传输层通过套接字接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
具体地,在本说明书一个或多个实施例中,将测速线程对应的预设套接字与对应的待检测网卡进行绑定,具体包括以下步骤:
将上述步骤S101中获取的待检测网卡的标识输入预设套接字绑定函数的参数中,从而将套接字绑定与对应的待检测网卡进行绑定,以便基于该套接字对待检测网卡进行测速,确保测速过程中的测试数据基于该待检测网卡进行进出。其中,在本说明书一个或多个实施例中,预设套接字绑定函数为setsockopt,预设套接字绑定函数中的参数包括“socket,SOL_SOCKET,SO_BINDTODEVICE”,也就是说通过设置setsockopt(socket,SOL_SOCKET,SO_BINDTODEVICE,dev,sizeof(dev))实现套接字与对应的待检测网卡的绑定,使得测速数据可以基于待检测网卡进行进出提高了测速的准确性。根据预设套接字绑定函数的返回值,确定套接字是否绑定到对应的网卡中。如果是,那么确定对应的测速线程中预设的套接字成功绑定到该待检测网卡。
S104:基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中各所述待检测网卡的总带宽,以实现对所述目标终端的测速。
在确保测速数据是通过待检测网卡进行进出之后,根据套接字与目标终端的预设全局网速计算器,计算目标终端中各待检测网卡的总带宽,从而实现对于目标终端的测速任务。
具体地,在本说明书一个或多个实施例中,基于套接字与目标终端的预设全局网速计算器,计算目标终端中各所述待检测网卡的总带宽,具体包括以下过程:
首先,获取套接字在预设时间内传输的网络数据量。然后启动预设全局网速计算器计算各线程中套接字在预设时间内传输的网络数据量,以获得目标终端中各网卡的总带宽。进一步地,在本说明书一个或多个实施例中,获取套接字在预设时间内传输的网络数据量,具体包括以下过程:
如果目标终端的多网卡进行下载测速,则读取预设时间内线程内各所述套接字基于预设测速节点服务器下载的网络数据总量;例如:在本说明书某应用场景下,在进行下载测速时,为每个套接字socket启动了网络数据消费器,从而读取每个socket从预先设置的测速节点服务器上下载的网络数据,并进行计数记录下载的网络数据总量。如果对目标终端的多网卡进行上传测速,那么在目标终端生成网络随机数据,并通过套接字将网络随机数据发送到预设测速节点服务器,记录预设时间内各套接字发送的网络数据总量;例如:在本说明书某应用场景下,在进行上传测速时,为每个套接字socket启动网络数据发生器,在目标终端生成网络随机数据,发送到远程节点服务器中,并在客户端进行实时计数,获得预设时间内各套接字发送的网络数据总量。将下载的网络数据总量或者发送的网络数据总量,作为套接字在预设时间内传输的网络数据。
进一步地,为了基于测速节点服务器接收目标终端发送的数据,实现对于目标终端的测速。在本说明书一个或多个实施例中,读取预设时间内所述线程内各套接字基于预设测速节点服务器下载的网络数据总量之前,方法还包括以下过程:
首先,接收目标终端发起的多网卡测速请求。获取到目标终端对应的网络测速请求中的地址信息,并根据地址信息生成与目标终端向对应的测速节点服务器列表。其中,需要说明的是:测速节点服务器列表中包括一个或多个测速节点服务器的地址。将测速节点服务器列表发送到目标终端,以使目标终端根据测速节点服务器列表中的测速节点服务器的地址,实现各套接字下载或者上传待检测网卡的网络数据。其中,需要说明的是现有技术中与本说明书实施例中提供的技术方案中,进行网卡测速的硬件设备并未改变,但是相对于现有技术中基于默认网卡进行数据传输的方式,本说明书实施例对各个待检测网卡创建了对应的线程,并基于socket实现了对于待检测网卡的上传测速与下载测速,解决了现有技术中网络测速的软件中尚未有能够同时测量多个网卡的问题。
如图2所示,本说明书实施例提供了一种应用场景下的一种多网卡测速方法的系统框架逻辑示意图。由图2可知,在本说明书实施例提供的某应用场景下,在获取到待检测网卡的数量之后,为每一个待检测网卡创建一个线程,为每个线程内的套接字设置套接字绑定函数,从而将套接字绑定到对应的待检测网卡上,确保测试数据是通过该待检测网卡进行进出。获取预设的测速节点服务器从而进行多网卡的下载测速与多网卡的上传测速,实时显示多网卡的网速,保存测速结果,实现对于多网卡的测速。
如图3所示,本说明书实施例提供了一种多网卡测速装置的内部结构示意图。由图3可知,一种多网卡的测速装置,装置包括:
添加单元301,用于获取目标终端中的多个待检测网卡标识,并将所述多个待检测网卡标识添加到所述目标终端的网络接口队列中;
分配单元302,用于基于所述网络接口队列中待检测网卡的数量,确定待启动的测速线程数量,以为各所述待检测网卡的测速任务分配对应的测速线程;
绑定单元303,用于将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定;其中,所述待检测网卡对应一个或多个套接字;
计算单元304,用于基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中所述待检测网卡的总带宽,以实现对所述目标终端的测速。
如图4所示,本说明书实施例提供了一种多网卡测速设备的内部结构示意图。由图4可知,一种多网卡的测速设备,设备包括:
至少一个处理器401;以及,
与所述至少一个处理器401通信连接的存储器402;其中,
所述存储器402存储有可被所述至少一个处理器401执行的指令,所述指令被所述至少一个处理器401执行,以使所述至少一个处理器401能够:
获取目标终端中的多个待检测网卡标识,并将所述多个待检测网卡标识添加到所述目标终端的网络接口队列中;
基于所述网络接口队列中待检测网卡的数量,确定待启动的测速线程数量,以为各所述待检测网卡的测速任务分配对应的测速线程;
将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定;其中,所述待检测网卡对应一个或多个套接字;
基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中所述待检测网卡的总带宽,以实现对所述目标终端的测速。
如图5所示,本说明书实施例提供了一种非易失性计算机存储介质的内部结构示意图。由图5可知,一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
获取目标终端中的多个待检测网卡标识,并将所述多个待检测网卡标识添加到所述目标终端的网络接口队列中;
基于所述网络接口队列中待检测网卡的数量,确定待启动的测速线程数量,以为各所述待检测网卡的测速任务分配对应的测速线程;
将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定;其中,所述待检测网卡对应一个或多个套接字;
基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中所述待检测网卡的总带宽,以实现对所述目标终端的测速。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述仅为本说明书的一个或多个实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书的一个或多个实施例可以有各种更改和变化。凡在本说明书的一个或多个实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (6)

1.一种多网卡的测速方法,其特征在于,所述方法包括:
获取目标终端中的多个待检测网卡标识,并将所述多个待检测网卡标识添加到所述目标终端的网络接口队列中;
基于所述网络接口队列中待检测网卡的数量,确定待启动的测速线程数量,以为各所述待检测网卡的测速任务分配对应的测速线程;
将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定;其中,所述待检测网卡对应一个或多个套接字;
基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中各所述待检测网卡的总带宽,以实现对所述目标终端的测速;
其中,为各所述待检测网卡的测速任务分配对应的测速线程,具体包括:
基于预设线程函数为所述网络接口队列中各所述待检测网卡的测速任务,创建对应的工作线程,以将所述待检测网卡的测速任务分配到对应的线程中;其中,所述预设线程函数为create_thread;
将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定,具体包括:
将所述待检测网卡的标识输入预设套接字绑定函数的参数中,以将所述套接字与对应的待检测网卡进行绑定,以便基于所述套接字对所述待检测网卡进行测速;其中,所述预设套接字绑定函数为setsockopt;
基于所述预设套接字绑定函数的返回值,确定所述套接字是否绑定到对应的待检测网卡中;
若是,则确定所述对应的测速线程中预设套接字绑定到所述待检测网卡;
基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中各所述待检测网卡的总带宽,具体包括:
获取所述套接字在预设时间内传输的网络数据量;
启动预设全局网速计算器计算各所述测速线程中所述套接字在预设时间内传输的网络数据量,以获得所述目标终端中各网卡的总带宽;
获取所述套接字在预设时间内传输的网络数据量,具体包括:
若对所述目标终端的多网卡进行下载测速,则读取预设时间内所述测速线程内各所述套接字基于预设测速节点服务器下载的网络数据总量;
若对所述目标终端的多网卡进行上传测速,则在所述目标终端生成网络随机数据;
通过所述套接字将所述网络随机数据发送到所述预设测速节点服务器,并记录预设时间内各所述套接字发送的网络数据总量;
将所述下载的网络数据总量或者所述发送的网络数据总量,作为所述套接字在预设时间内传输的网络数据。
2.根据权利要求1所述的一种多网卡的测速方法,其特征在于,所述获取目标终端中的多个待检测网卡标识之前,所述方法还包括:
响应于预设程序,或者响应于输入的网卡绑定参数,确定所述目标终端中的一个或多个指定网卡;
基于预设测速节点服务器调用所述指定网卡,以确定所述指定网卡能否联通外网;
若确定所述指定网卡能够联通外网,则将该指定网卡作为所述目标终端的待检测网卡;其中,所述确定所述指定网卡能否联通外网,具体包括:
若所述指定网卡调用成功,则确定所述指定网卡能联通外网;
若所述指定网卡调用不成功,则确定所述指定网卡不能联通外网。
3.根据权利要求1所述的一种多网卡的测速方法,其特征在于,所述读取预设时间内所述测速线程内各所述套接字基于预设测速节点服务器下载的网络数据总量之前,所述方法还包括:
接收所述目标终端发起的多网卡测速请求;
获取所述目标终端对应的网络测速请求中的地址信息,并根据所述地址信息生成与所述目标终端相对应的测速节点服务器列表;其中,所述测速节点服务器列表中包括一个或多个测速节点服务器的地址;
将所述测速节点服务器列表发送至所述目标终端,以使所述目标终端根据所述测速节点服务器列表中的测速节点服务器的地址,实现各所述套接字下载或者上传网络数据。
4.一种多网卡的测速装置,其特征在于,所述装置包括:
添加单元,用于获取目标终端中的多个待检测网卡标识,并将所述多个待检测网卡标识添加到所述目标终端的网络接口队列中;
分配单元,用于基于所述网络接口队列中待检测网卡的数量,确定待启动的测速线程数量,以为各所述待检测网卡的测速任务分配对应的测速线程;
绑定单元,用于将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定;其中,所述待检测网卡对应一个或多个套接字;
计算单元,用于基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中各所述待检测网卡的总带宽,以实现对所述目标终端的测速;
其中,为各所述待检测网卡的测速任务分配对应的测速线程,具体包括:
基于预设线程函数为所述网络接口队列中各所述待检测网卡的测速任务,创建对应的工作线程,以将所述待检测网卡的测速任务分配到对应的线程中;其中,所述预设线程函数为create_thread;
将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定,具体包括:
将所述待检测网卡的标识输入预设套接字绑定函数的参数中,以将所述套接字与对应的待检测网卡进行绑定,以便基于所述套接字对所述待检测网卡进行测速;其中,所述预设套接字绑定函数为setsockopt;
基于所述预设套接字绑定函数的返回值,确定所述套接字是否绑定到对应的待检测网卡中;
若是,则确定所述对应的测速线程中预设套接字绑定到所述待检测网卡;
基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中各所述待检测网卡的总带宽,具体包括:
获取所述套接字在预设时间内传输的网络数据量;
启动预设全局网速计算器计算各所述测速线程中所述套接字在预设时间内传输的网络数据量,以获得所述目标终端中各网卡的总带宽;
获取所述套接字在预设时间内传输的网络数据量,具体包括:
若对所述目标终端的多网卡进行下载测速,则读取预设时间内所述测速线程内各所述套接字基于预设测速节点服务器下载的网络数据总量;
若对所述目标终端的多网卡进行上传测速,则在所述目标终端生成网络随机数据;
通过所述套接字将所述网络随机数据发送到所述预设测速节点服务器,并记录预设时间内各所述套接字发送的网络数据总量;
将所述下载的网络数据总量或者所述发送的网络数据总量,作为所述套接字在预设时间内传输的网络数据。
5.一种多网卡的测速设备,其特征在于,所述设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
获取目标终端中的多个待检测网卡标识,并将所述多个待检测网卡标识添加到所述目标终端的网络接口队列中;
基于所述网络接口队列中待检测网卡的数量,确定待启动的测速线程数量,以为各所述待检测网卡的测速任务分配对应的测速线程;
将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定;其中,所述待检测网卡对应一个或多个套接字;
基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中各所述待检测网卡的总带宽,以实现对所述目标终端的测速;
其中,为各所述待检测网卡的测速任务分配对应的测速线程,具体包括:
基于预设线程函数为所述网络接口队列中各所述待检测网卡的测速任务,创建对应的工作线程,以将所述待检测网卡的测速任务分配到对应的线程中;其中,所述预设线程函数为create_thread;
将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定,具体包括:
将所述待检测网卡的标识输入预设套接字绑定函数的参数中,以将所述套接字与对应的待检测网卡进行绑定,以便基于所述套接字对所述待检测网卡进行测速;其中,所述预设套接字绑定函数为setsockopt;
基于所述预设套接字绑定函数的返回值,确定所述套接字是否绑定到对应的待检测网卡中;
若是,则确定所述对应的测速线程中预设套接字绑定到所述待检测网卡;
基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中各所述待检测网卡的总带宽,具体包括:
获取所述套接字在预设时间内传输的网络数据量;
启动预设全局网速计算器计算各所述测速线程中所述套接字在预设时间内传输的网络数据量,以获得所述目标终端中各网卡的总带宽;
获取所述套接字在预设时间内传输的网络数据量,具体包括:
若对所述目标终端的多网卡进行下载测速,则读取预设时间内所述测速线程内各所述套接字基于预设测速节点服务器下载的网络数据总量;
若对所述目标终端的多网卡进行上传测速,则在所述目标终端生成网络随机数据;
通过所述套接字将所述网络随机数据发送到所述预设测速节点服务器,并记录预设时间内各所述套接字发送的网络数据总量;
将所述下载的网络数据总量或者所述发送的网络数据总量,作为所述套接字在预设时间内传输的网络数据。
6.一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令能够:
获取目标终端中的多个待检测网卡标识,并将所述多个待检测网卡标识添加到所述目标终端的网络接口队列中;
基于所述网络接口队列中待检测网卡的数量,确定待启动的测速线程数量,以为各所述待检测网卡的测速任务分配对应的测速线程;
将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定;其中,所述待检测网卡对应一个或多个套接字;
基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中各所述待检测网卡的总带宽,以实现对所述目标终端的测速;
其中,为各所述待检测网卡的测速任务分配对应的测速线程,具体包括:
基于预设线程函数为所述网络接口队列中各所述待检测网卡的测速任务,创建对应的工作线程,以将所述待检测网卡的测速任务分配到对应的线程中;其中,所述预设线程函数为create_thread;
将所述测速线程对应的预设套接字与对应的待检测网卡进行绑定,具体包括:
将所述待检测网卡的标识输入预设套接字绑定函数的参数中,以将所述套接字与对应的待检测网卡进行绑定,以便基于所述套接字对所述待检测网卡进行测速;其中,所述预设套接字绑定函数为setsockopt;
基于所述预设套接字绑定函数的返回值,确定所述套接字是否绑定到对应的待检测网卡中;
若是,则确定所述对应的测速线程中预设套接字绑定到所述待检测网卡;
基于所述套接字与所述目标终端的预设全局网速计算器,计算所述目标终端中各所述待检测网卡的总带宽,具体包括:
获取所述套接字在预设时间内传输的网络数据量;
启动预设全局网速计算器计算各所述测速线程中所述套接字在预设时间内传输的网络数据量,以获得所述目标终端中各网卡的总带宽;
获取所述套接字在预设时间内传输的网络数据量,具体包括:
若对所述目标终端的多网卡进行下载测速,则读取预设时间内所述测速线程内各所述套接字基于预设测速节点服务器下载的网络数据总量;
若对所述目标终端的多网卡进行上传测速,则在所述目标终端生成网络随机数据;
通过所述套接字将所述网络随机数据发送到所述预设测速节点服务器,并记录预设时间内各所述套接字发送的网络数据总量;
将所述下载的网络数据总量或者所述发送的网络数据总量,作为所述套接字在预设时间内传输的网络数据。
CN202211121537.4A 2022-09-15 2022-09-15 一种多网卡的测速方法、装置、设备及介质 Active CN115499346B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211121537.4A CN115499346B (zh) 2022-09-15 2022-09-15 一种多网卡的测速方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211121537.4A CN115499346B (zh) 2022-09-15 2022-09-15 一种多网卡的测速方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN115499346A CN115499346A (zh) 2022-12-20
CN115499346B true CN115499346B (zh) 2024-04-26

Family

ID=84469155

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211121537.4A Active CN115499346B (zh) 2022-09-15 2022-09-15 一种多网卡的测速方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115499346B (zh)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1519742A (zh) * 2003-01-23 2004-08-11 英业达股份有限公司 可均衡负载的网卡测试方法
CN103583022A (zh) * 2011-03-28 2014-02-12 思杰系统有限公司 用于经由nic感知应用处理nic拥塞的系统和方法
CN104125597A (zh) * 2014-08-04 2014-10-29 上海大亚科技有限公司 实现网络设备无线吞吐量集成测试的系统及方法
CN104158705A (zh) * 2014-08-25 2014-11-19 太仓市同维电子有限公司 一种能够同时控制多张网卡写入mac的方法
CN104750543A (zh) * 2013-12-26 2015-07-01 杭州华为数字技术有限公司 线程创建方法、业务请求处理方法及相关设备
CN106161052A (zh) * 2015-03-31 2016-11-23 北京畅游天下网络技术有限公司 网络线路选择方法和网络测速方法
WO2016188240A1 (zh) * 2016-01-07 2016-12-01 中兴通讯股份有限公司 配置多网卡的方法及装置
CN106330619A (zh) * 2016-09-27 2017-01-11 太仓市同维电子有限公司 一种同时控制多张网卡进行无线板测的系统及其方法
CN108063712A (zh) * 2016-11-09 2018-05-22 北京国双科技有限公司 一种网络请求的发送方法及装置
CN108683556A (zh) * 2018-04-26 2018-10-19 Tcl王牌电器(惠州)有限公司 检测网卡功能状态的方法、装置和计算机存储介质
CN108881400A (zh) * 2018-05-28 2018-11-23 济南万联信息科技有限公司 一种基于多网卡实现多通道数据实时上传的系统
CN110896366A (zh) * 2019-05-14 2020-03-20 研祥智能科技股份有限公司 多网卡设备的网卡功能测试方法、装置及存储介质
CN111490908A (zh) * 2019-01-29 2020-08-04 北京京东尚科信息技术有限公司 一种网络测速方法、装置、设备、介质及测速系统
CN111565131A (zh) * 2020-04-22 2020-08-21 烽火通信科技股份有限公司 一种家庭网关cpu测速方法及系统
CN112653600A (zh) * 2020-12-26 2021-04-13 苏州浪潮智能科技有限公司 基于usb网卡的网卡性能测试方法、装置及电子设备
CN114375001A (zh) * 2021-12-24 2022-04-19 山东信通电子股份有限公司 一种网络测速方法及设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6922727B2 (en) * 2001-06-26 2005-07-26 International Business Machines Corporation Method and system for managing parallel data transfer through multiple sockets to provide scalability to a computer network
US20040015744A1 (en) * 2002-07-22 2004-01-22 Finisar Corporation Scalable multithreaded network testing tool

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1519742A (zh) * 2003-01-23 2004-08-11 英业达股份有限公司 可均衡负载的网卡测试方法
CN103583022A (zh) * 2011-03-28 2014-02-12 思杰系统有限公司 用于经由nic感知应用处理nic拥塞的系统和方法
CN104750543A (zh) * 2013-12-26 2015-07-01 杭州华为数字技术有限公司 线程创建方法、业务请求处理方法及相关设备
CN104125597A (zh) * 2014-08-04 2014-10-29 上海大亚科技有限公司 实现网络设备无线吞吐量集成测试的系统及方法
CN104158705A (zh) * 2014-08-25 2014-11-19 太仓市同维电子有限公司 一种能够同时控制多张网卡写入mac的方法
CN106161052A (zh) * 2015-03-31 2016-11-23 北京畅游天下网络技术有限公司 网络线路选择方法和网络测速方法
WO2016188240A1 (zh) * 2016-01-07 2016-12-01 中兴通讯股份有限公司 配置多网卡的方法及装置
CN106330619A (zh) * 2016-09-27 2017-01-11 太仓市同维电子有限公司 一种同时控制多张网卡进行无线板测的系统及其方法
CN108063712A (zh) * 2016-11-09 2018-05-22 北京国双科技有限公司 一种网络请求的发送方法及装置
CN108683556A (zh) * 2018-04-26 2018-10-19 Tcl王牌电器(惠州)有限公司 检测网卡功能状态的方法、装置和计算机存储介质
CN108881400A (zh) * 2018-05-28 2018-11-23 济南万联信息科技有限公司 一种基于多网卡实现多通道数据实时上传的系统
CN111490908A (zh) * 2019-01-29 2020-08-04 北京京东尚科信息技术有限公司 一种网络测速方法、装置、设备、介质及测速系统
CN110896366A (zh) * 2019-05-14 2020-03-20 研祥智能科技股份有限公司 多网卡设备的网卡功能测试方法、装置及存储介质
CN111565131A (zh) * 2020-04-22 2020-08-21 烽火通信科技股份有限公司 一种家庭网关cpu测速方法及系统
CN112653600A (zh) * 2020-12-26 2021-04-13 苏州浪潮智能科技有限公司 基于usb网卡的网卡性能测试方法、装置及电子设备
CN114375001A (zh) * 2021-12-24 2022-04-19 山东信通电子股份有限公司 一种网络测速方法及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Research on high-speed network data stream capture based on multi-queue NIC and multi-core processor;Chungang Huang等;2010 2nd IEEE International Conference on Information Management and Engineering;20100603;全文 *
VxWorks环境下基于TCP/IP协议的多网卡数据传输与双网卡冗余设计;刘锡祥;徐晓苏;刘建娟;冯丹琼;;工业仪表与自动化装置(第03期);全文 *

Also Published As

Publication number Publication date
CN115499346A (zh) 2022-12-20

Similar Documents

Publication Publication Date Title
CN109218133A (zh) 网络速度测试系统、方法、装置及计算机可读存储介质
CN109684228B (zh) 一种性能测试方法、装置、系统和存储介质
CN108924005B (zh) 网络检测方法、网络检测装置、介质和设备
CN107148009B (zh) 多制式移动通信网络上网数据流量测量装置及其方法
CN109660422B (zh) 基于多进程的网卡带宽测试方法、装置、终端及存储介质
CN109921962A (zh) 带宽测量方法、装置、计算机可读存储介质和计算机设备
CN112311628B (zh) 网络测速方法、系统、网络设备和存储介质
CN107707612B (zh) 一种负载均衡集群的资源利用率的评估方法及装置
CN110650042A (zh) 电力通信网健康度评价方法及终端设备
CN111431772B (zh) 网络延迟测量方法、系统、可读存储介质及终端设备
JP2017122994A (ja) 画面共有システム、画面共有プログラム、および画面共有方法
CN111966556A (zh) 性能压测方法、装置及服务器和计算机可读存储介质
CN108733545B (zh) 一种压力测试方法及装置
CN110248379B (zh) 无线局域网中基站的性能测试方法及装置
CN110855741B (zh) 业务的自适应接入方法和装置、存储介质、电子装置
CN108093036A (zh) 一种获取资源的方法及装置
CN115499346B (zh) 一种多网卡的测速方法、装置、设备及介质
CN104582011B (zh) 一种用于将移动终端连接至网络的方法和装置
CN114896025A (zh) 服务网格的架构优化方法、装置、计算机设备和存储介质
CN112671606B (zh) 一种网络测速方法和装置、系统、存储介质及网关设备
CN109788251A (zh) 视频处理方法、装置及存储介质
CN107911410A (zh) 分布式服务进程资源耗用统计方法和装置
CN114394025B (zh) 一种交流充电桩的充电方法、系统、终端以及存储介质
CN114138499B (zh) Gpu资源利用率的监控方法、装置、计算机设备及介质
CN114448841B (zh) 一种网卡测试方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant