CN116055414B - 数据传输方法、装置及路由器 - Google Patents
数据传输方法、装置及路由器 Download PDFInfo
- Publication number
- CN116055414B CN116055414B CN202211015917.XA CN202211015917A CN116055414B CN 116055414 B CN116055414 B CN 116055414B CN 202211015917 A CN202211015917 A CN 202211015917A CN 116055414 B CN116055414 B CN 116055414B
- Authority
- CN
- China
- Prior art keywords
- router
- service
- rate
- load
- determining
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000005540 biological transmission Effects 0.000 title claims abstract description 30
- 230000015654 memory Effects 0.000 claims description 91
- 238000004458 analytical method Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 abstract description 31
- 238000012545 processing Methods 0.000 description 33
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 7
- 102100039558 Galectin-3 Human genes 0.000 description 6
- 101000608757 Homo sapiens Galectin-3 Proteins 0.000 description 6
- 101001046686 Homo sapiens Integrin alpha-M Proteins 0.000 description 6
- 101000935040 Homo sapiens Integrin beta-2 Proteins 0.000 description 6
- 102100022338 Integrin alpha-M Human genes 0.000 description 6
- 101000962498 Macropis fulvipes Macropin Proteins 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 238000013145 classification model Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000035945 sensitivity Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101000652292 Homo sapiens Serotonin N-acetyltransferase Proteins 0.000 description 1
- 102100030547 Serotonin N-acetyltransferase Human genes 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种数据传输方法、装置及路由器,涉及通信领域,该方法包括:路由器通过根据该路由器的运行状态信息确定该路由器的负荷指标,和识别终端发送至该终端的业务数据的业务类型,可以根据路由器的负荷指标和业务数据的业务类型,确定目标转发速率;按照目标转发速率,对业务数据进行转发。这样,路由器可以将对业务数据的转发速率调整至适用于该路由器的负荷和业务数据的业务类型,从而更加准确和便捷地调整路由器的负荷,以优化路由器的性能。
Description
技术领域
本申请实施例涉及通信领域,尤其涉及一种数据传输方法、装置及路由器。
背景技术
路由器通过在网络中转发所连接终端的数据,可以将该终端连接至互联网。
相关技术中,通常存在路由器大负荷的场景:终端同时进行多个在线业务,例如直播、网络游戏、视频通话等业务,引起路由器转发负荷过大导致的路由器卡顿和传输延迟等性能下降的问题。
对上述性能下降问题,往往依靠用户手动终止终端进行的业务、重启路由器等方式来调整路由器负荷,以优化路由器性能,不够准确和便捷。
发明内容
为了解决上述技术问题,本申请提供一种数据传输方法、装置及路由器。在该方法中,路由器通过解析该路由器的负荷,和识别该路由器从终端接收的数据的业务类型,可以将所接收数据的转发速率调整至适用于该路由器的负荷和所接收数据的业务类型,从而更加准确和便捷地调整路由器的负荷,以优化路由器性能。
第一方面,本申请实施例提供一种数据传输方法,应用于路由器,该方法包括:接收终端发送的业务数据;其中,业务数据包括:由运行于终端的业务产生、且待路由器转发的数据;识别业务数据的业务类型;获取路由器的运行状态信息,并根据运行状态信息,确定路由器的负荷指标;其中,负荷指标用于指示路由器对业务的承载状态;根据路由器的负荷指标和业务数据的业务类型,确定目标转发速率;按照目标转发速率,对业务数据进行转发。
示例性的,图5是本申请实施例提供的一种数据传输方法的流程图。如图5所示,终端发送的业务数据可以为数据流。
本申请实施例中,路由器可以根据该路由器的负荷和所接收数据的业务类型,进行以下转发速率调整也就是限速操作:调整向终端转发数据的转发速率;进而按照调整后的转发速率进行数据转发也就是发送。这样,路由器可以将所接收数据的转发速率调整至适用于该路由器的负荷和所接收终端数据的业务类型,从而更加准确和便捷地调整路由器的负荷,以优化路由器的性能。
根据第一方面,运行状态信息包括以下信息中的至少之一:路由器的CPU利用率、路由器的内存使用率、路由器的温度和路由器已连接终端的个数。
本申请实施例中,路由器的运行状态信息包括多种信息中的至少一种,从而保证后续通过运行状态信息可以更加准确、全面地确定路由器的负荷指标。
根据第一方面,或者以上第一方面的任意一种实现方式,获取路由器的运行状态信息,包括:
获取路由器的CPU空闲率,根据CPU空闲率,确定路由器的CPU利用率;获取路由器的内存空余量和内存总量,根据内存空余量和内存总量,确定路由器的内存使用率;检测路由器的WiFi芯片的温度,得到路由器的温度;统计与路由器连接的终端的数量,得到路由器已连接终端的个数。
本申请实施例中,通过路由器的CPU空闲率确定路由器的CPU利用率,根据内存空余量和内存总量,确定路由器的内存使用率,从而可以直接调用路由器提供的接口,获得路由器的CPU空闲率、内存空余量和内存总量,更加便捷。路由器的温度为路由器的WiFi芯片的温度,统计与路由器连接的终端的数量,得到路由器已连接终端的个数,这样,可以保证通过该温度、路由器已连接终端的个数确定的负荷指标,能够准确反映转发数据对路由器负荷的影响,从而保证更加准确地调整路由器对数据的转发速率。
根据第一方面,或者以上第一方面的任意一种实现方式,根据运行状态信息,确定路由器的负荷指标,包括:确定运行状态信息的影响权重;根据影响权重,对运行状态信息进行加权处理,得到加权结果;根据加权结果,确定路由器的负荷指标。
本申请实施例中,通过确定运行状态信息的影响权重,进而对运行状态信息进行加权处理,得到加权结果;根据加权结果,确定路由器的负荷指标,可以在路由器的负荷指标中,纳入不同的运行状态信息对路由器负荷的不同影响程度,从而保证路由器的负荷指标更加准确、全面。
根据第一方面,或者以上第一方面的任意一种实现方式,根据影响权重,对运行状态信息进行加权处理,得到加权结果,包括:利用预先建立的温度与负荷率的对应关系,将路由器的温度转换为第一负荷率;获取路由器能够连接的终端总数,根据路由器已连接终端的个数与终端总数,将路由器已连接终端的个数转换为第二负荷率;根据影响权重,对第一负荷率和第二负荷率、路由器的CPU利用率和路由器的内存使用率进行加权处理,得到加权结果;其中,运行状态信息包括路由器的温度、路由器已连接终端的个数、路由器的CPU利用率和路由器的内存使用率。
本申请实施例中,利用预先建立的温度与负荷率的对应关系,将路由器的温度转换为第一负荷率;根据路由器已连接终端的个数与终端总数,将路由器已连接终端的个数转换为第二负荷率。这样,温度和路由器已连接终端的个数与终端总数可以用于确定路由器的负荷指标。另外,本申请实施例将路由器的CPU利用率、路由器的内存使用率、路由器的温度和路由器已连接终端的个数全部用于确定路由器的负荷指标,可以保证该负荷指标更加全面、准确地指示路由器对业务的承载状态。
根据第一方面,或者以上第一方面的任意一种实现方式,根据路由器的负荷指标和业务数据的业务类型,确定目标转发速率,包括:确定路由器的负荷指标对应的额定转发速率配比;获取路由器的额定转发速率;基于额定转发速率和额定转发速率配比,确定路由器能够支持的可分配转发速率;基于业务数据的业务类型,确定终端的速率占比;根据可分配转发速率和终端的速率占比,确定目标转发速率。
本申请实施例中,可分配转发速率与路由器的负荷指标对应,终端的速率占比基于数据流的业务类型确定,且目标转发速率根据可分配转发速率和终端的速率占比确定。这样,可以保证目标速率更加适用于路由器的负荷,从而通过将路由器对数据流的转发速率调整为目标速率,减少转发速率不适用于路由器的负荷导致的路由器性能下降,实现更加便捷和准确地路由器负荷调整。
根据第一方面,或者以上第一方面的任意一种实现方式,终端的数量为多个;基于业务数据的业务类型,确定终端的速率占比,包括:确定每个终端的业务类型的业务权重;根据每个终端的业务类型的业务权重,统计每个终端的业务权重和所有终端的总业务权重;确定每个终端的业务权重在所有终端的总业务权重中的占比,得到每个终端的速率占比。
本申请实施例中,可分配转发速率与路由器的负荷指标对应,终端的速率占比基于数据流的业务类型确定,且目标转发速率根据可分配转发速率和终端的速率占比确定。这样,可以保证目标速率更加适用于路由器的负荷,从而通过将路由器对数据流的转发速率调整为目标速率,减少转发速率不适用于路由器的负荷导致的路由器性能下降,实现更加便捷和准确地路由器负荷调整。另外,本申请实施例还可以保证路由器连接有多个终端时,可以根据业务类型更加合理地设置对不同终端数据流的转发速率,减少对丢包敏感度更高的业务类型的数据流的丢包,且无需用户手动关闭业务,实现更加便捷和准确地路由器负荷调整。
根据第一方面,或者以上第一方面的任意一种实现方式,确定路由器的负荷指标对应的额定转发速率配比,包括:查找预先建立的负荷指标与额定转发速率配比的对应关系,得到路由器的负荷指标对应的额定转发速率配比。
本申请实施例中,路由器的额定转发速率配比用于分配路由器的额定转发速率,且与路由器的负荷指标对应,从而可以保证对路由器的额定转发速率分配适用于路由器的负荷指标,进而保证后续对路由器的转发速率更加准确。
根据第一方面,或者以上第一方面的任意一种实现方式,获取路由器的额定转发速率,包括:获取路由器能够支持的宽带信息;查找预先建立的宽带信息与额定转发速率的对应关系,得到路由器的额定转发速率。
示例性的,路由器能够支持的宽带信息可以是路由器的宽带档位,例如,AC1200。
本申请实施例中,通过路由器能够支持的宽带信息,获取路由器的额定转发速率,可以适用于支持不同宽带信息的路由器,且更加准确。
根据第一方面,或者以上第一方面的任意一种实现方式,识别业务数据的业务类型,包括:通过业务识别模块识别业务数据的业务类型;其中,业务识别模块设置在路由器协议栈的传递FORWARD节点处;路由器协议栈的层数大于或者等于四。
本申请实施例中,通过业务识别模块识别业务数据的业务类型,业务识别模块设置在路由器协议栈的传递FORWARD节点处,从而可以减少对无需路由器转发的业务数据的业务识别,进一步提高效率,降低路由器对数据的处理成本。
根据第一方面,或者以上第一方面的任意一种实现方式,识别业务数据的业务类型,包括:对业务数据进行特征提取;根据提取的特征,确定业务数据的业务类型。
本申请实施例中,通过对业务数据进行特征提取,进而可以根据提取的特征确定业务数据的业务类型。
根据第一方面,或者以上第一方面的任意一种实现方式,对业务数据进行特征提取,包括:解析业务数据,得到业务数据的五元组;将五元组确定为业务数据的特征。
本申请实施例中,将五元组作为业务数据的特征,以识别业务数据的业务类型,可以直接解析业务数据得到五元组,无需进行复杂的处理即可得到业务数据的特征,从而进一步提高对路由器
第二方面,本申请实施例提供一种数据传输装置,应用于路由器,该装置包括:WiFi驱动模块,用于接收终端发送的业务数据;其中,业务数据包括:由运行于终端的业务产生、且待路由器转发的数据;业务识别模块,用于识别业务数据的业务类型;负荷解析模块,用于获取路由器的运行状态信息,并根据运行状态信息,确定路由器的负荷指标;其中,负荷指标用于指示路由器对业务的承载状态;限速模块,用于根据路由器的负荷指标和业务数据的业务类型,确定目标转发速率;按照目标转发速率,对业务数据进行转发。
根据第二方面,运行状态信息包括以下信息中的至少之一:路由器的CPU利用率、路由器的内存使用率、路由器的温度和路由器已连接终端的个数。
根据第二方面,或者以上第二方面的任意一种实现方式,负荷解析模块,具体用于:获取路由器的CPU空闲率,根据CPU空闲率,确定路由器的CPU利用率;获取路由器的内存空余量和内存总量,根据内存空余量和内存总量,确定路由器的内存使用率;检测路由器的WiFi芯片的温度,得到路由器的温度;统计与路由器连接的终端的数量,得到路由器已连接终端的个数。
根据第二方面,或者以上第二方面的任意一种实现方式,负荷解析模块,具体用于:确定运行状态信息的影响权重;根据影响权重,对运行状态信息进行加权处理,得到加权结果;根据加权结果,确定路由器的负荷指标。
根据第二方面,或者以上第二方面的任意一种实现方式,负荷解析模块,具体用于:利用预先建立的温度与负荷率的对应关系,将路由器的温度转换为第一负荷率;获取路由器能够连接的终端总数,根据路由器已连接终端的个数与终端总数,将路由器已连接终端的个数转换为第二负荷率;根据影响权重,对第一负荷率和第二负荷率、路由器的CPU利用率和路由器的内存使用率进行加权处理,得到加权结果;其中,运行状态信息包括路由器的温度、路由器已连接终端的个数、路由器的CPU利用率和路由器的内存使用率。
根据第二方面,或者以上第二方面的任意一种实现方式,限速模块,具体用于:确定路由器的负荷指标对应的额定转发速率配比;获取路由器的额定转发速率;基于额定转发速率和额定转发速率配比,确定路由器能够支持的可分配转发速率;基于业务数据的业务类型,确定终端的速率占比;根据可分配转发速率和终端的速率占比,确定目标转发速率。
根据第二方面,或者以上第二方面的任意一种实现方式,终端的数量为多个;限速模块,具体用于:确定每个终端的业务类型的业务权重;根据每个终端的业务类型的业务权重,统计每个终端的业务权重和所有终端的总业务权重;确定每个终端的业务权重在所有终端的总业务权重中的占比,得到每个终端的速率占比。
根据第二方面,或者以上第二方面的任意一种实现方式,限速模块,具体用于:查找预先建立的负荷指标与额定转发速率配比的对应关系,得到路由器的负荷指标对应的额定转发速率配比。
根据第二方面,或者以上第二方面的任意一种实现方式,限速模块,具体用于:获取路由器能够支持的宽带信息;查找预先建立的宽带信息与额定转发速率的对应关系,得到路由器的额定转发速率。
根据第二方面,或者以上第二方面的任意一种实现方式,业务识别模块,具体用于:通过业务识别模块识别业务数据的业务类型;其中,业务识别模块设置在路由器协议栈的传递FORWARD节点处;路由器协议栈的层数大于或者等于四。
根据第二方面,或者以上第二方面的任意一种实现方式,业务识别模块,具体用于:对业务数据进行特征提取;根据提取的特征,确定业务数据的业务类型。
根据第二方面,或者以上第二方面的任意一种实现方式,业务识别模块,具体用于:解析业务数据,得到业务数据的五元组;将五元组确定为业务数据的特征。
第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,本申请实施例提供了一种路由器,包括:处理器和收发器;存储器,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如上述第一方面以及第一方面的任意一种实现方式的方法。
第三方面以及第三方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第三方面以及第三方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第四方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第五方面,本申请实施例提供了一种计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第六方面,本申请实施例提供了一种芯片,该芯片包括处理电路、收发管脚。其中,该收发管脚、和该处理电路通过内部连接通路互相通信,该处理电路执行第一方面或第一方面的任一种可能的实现方式中的方法,以控制接收管脚接收信号,以控制发送管脚发送信号。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是示例性示出的一种应用场景的示意图;
图2是本申请实施例提供的一种路由器的结构示意图;
图3是本申请实施例提供的另一种路由器的结构示意图;
图4是本申请实施例提供的一种路由器的软件结构的示意性框图;
图5是本申请实施例提供的一种数据传输方法的流程图;
图6是本申请实施例提供的业务识别模块在TCP/IP协议栈中所处节点的示意图;
图7是本申请实施例提供的一种装置的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
图1是示例性示出的一种应用场景的示意图。如图1所示,路由器(Router)可以作为终端与互联网之间的连接纽带,在终端和互联网之间进行数据(如数据流)转发。例如,路由器可以接收互联网发送的数据并转发至终端,也就是终端下载数据。路由器可以接收终端发送的数据并转发至互联网,也就是终端上传数据。其中,终端可以包括以下至少之一:与路由器进行有线连接也就是有线通讯的传真机、台式计算机、打印机和网络电话,以及与路由器进行无线连接也就是无线通讯的无线扬声器、智能手机、便携式计算机和平板电脑。路由器可以分析各种不同类型网络传来的数据包的目的地址,再根据选定的路由算法把各数据包按最佳路线转发到目的地址。路由器在同一时间转发的数据包越多,路由器的负荷越大。负荷越大越容易导致路由器出现性能下降问题,例如,随机丢弃数据包、传输延迟和卡顿等。图1所示场景的路由器和终端,以及终端的数量仅为示例,本申请对此不做限定。
在一种示例中,图1所示场景中的平板电脑进行在线视频的同时,手机进行网络游戏,台式计算机进行视频下载。这样,多个终端在同一时间进行大量的数据下载和上传,使得路由器在同一时间进行大量的数据转发,负荷变高。在另一种示例中,图1所示场景中的一个终端(如手机)同时进行视频下载、观看直播等在线业务,该终端在同一时间进行大量的数据下载和上传,使得路由器在同一时间进行大量的数据转发,负荷变高。此时,需要用户手动关闭一些业务,例如停止视频下载、关闭在线视频等,甚至可能需要用户手动重启路由器,以降低路由器的负荷,恢复路由器的性能。这样,对路由器的性能调整由用户主观手动进行,不够便捷和准确。
因此,本申请实施例提供了一种数据传输方法,以解决上述问题。示例性地,应用本申请实施例提供的数据传输方法,在图1所示的场景中,路由器可以根据该路由器的负荷和所接收数据的业务类型,进行以下转发速率调整也就是限速操作:调整向终端转发数据的转发速率;进而按照调整后的转发速率进行数据转发也就是发送。这样,路由器可以将所接收数据的转发速率调整至适用于该路由器的负荷和所接收终端数据的业务类型,从而更加准确和便捷地调整路由器的负荷,以优化路由器的性能。
在对本申请实施例的技术方案说明之前,首先结合附图对本申请实施例的路由器进行说明。示例性的,图2是本申请实施例提供的一种路由器的结构示意图。如图2所示,该路由器200中包括存储器201、处理器202、交换机203、接口204(物理接口)和电源模块205。其中,接口204(物理接口)包括但不限于局域网接口(LAN接口)、广域网接口(WAN接口)和路由器配置接口。路由器配置接口可以包括控制台端口和辅助端口。处理器202通过交换机203和接口204实现与终端的对接。局域网接口、广域网接口和路由器配置接口的数量均不限于一个。局域网接口(LAN接口)3030的类型有以太网、快速以太网、千兆以太网、万兆以太网M等标准网络接口。在每种网络中,又可以支持不同介质标准的接口,如RJ45接口、光纤接口、粗同轴电缆接口等。路由器200可以通过RJ45接口与终端连接,以实现与终端的数据通讯。广域网接口有同步串行接口、异步串行接口。路由器200通过WAN接口与广域网连接以实现跨地区的广域网数据通讯网络。控制台端口Console通常是用来当对路由器200进行基本配置时使用专用连接线将该接口与终端相连接。。控制台端口Console通常是用来当对路由器200进行基本配置时使用专用连接线将该接口与终端相连接。作为控制台端口是使得用户或管理员能够利用入网设备与路由器200进行通讯,完成路由器的配置,该端口提供了一个EIA/TIA-232异步串行接口,用于在路由器200进行配置。作为辅助端口也提供一个EIA/TIA-232异步串行接口,不同的是,其常用于连接调制解调器以实现对路由器的远程管理。
应该理解的是,图2所示路由器200仅是路由器的一个范例,并且路由器200可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图2中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
在本申请的一些实施例中,存储器201可以采用非易失性存储器,随机存取存储器,闪存以及只读存储器。
随机存取存储器是在路由器启动或供电间隙时会丢弃其信息,只读存储器保存路由器的启动软件,启动软件是路由器运行的第一个软件,负责路由器进入正常的工作状态,路由器将完整的操作系统作为备用保存在随机存储存储器中,以便在操作系统不能使用时,作为备份使用。路由器200拥有动态主机配置协议服务器(Dynamic HostConfiguration Protocol,DHCP server)。随机存取存储器可以作为IP地址((InternetProtocol Address,互联网协议地址)池的存储器件,当终端请求路由器200分配IP地址时,路由器200的DHCP server从IP地址池中选取一IP地址并分配至终端。此外,随机存取存储器中还可以存储终端的MAC地址、路由器200分配给终端的IP地址、终端的MAC地址(MediaAccess Control Address,也称物理地址)和IP地址的绑定关系等各个参数。此外,随机存取存储器中还可以存储路由器200的物理接口(如LAN接口)对应的虚拟接口(LAN接口的虚拟LAN接口)的图片资源数据(LAN接口在路由器上的位置、接口参数、外形等)、物理接口和虚拟接口之间的映射关系等。只读存储器通常设置在一个或多个芯片上,焊接在路由器的主机板上。
闪存的主要用途是存储路由器200的操作系统,维持路由器的正常工作,如果路由器安装了闪存,则主要用来引导路由器操作系统的默认位置,只要闪存的容量足够,可以保存多个操作系统映像,以提供多重启动选项,其中,路由器200的操作系统采用Linux操作系统。非易失性存储器的主要作用是保存操作系统启动时读入的配置数据(启动配置)。随机存取存储器主要作为操作系统表和缓冲的存储区,操作系统可以通过随机存取存储器满足所有的常规存储需要,让路由器能迅速访问这些信息,其中,随机存取存储器的存储速度优于以上提到的三种。可以理解的是,路由器的IP池、终端的参数、图片资源数据以及终端的MAC地址和IP地址的绑定关系等参数也可以存储在非易失性存储器或其他类型的存储器中,本申请实施例在此并不作限定。
处理器202可以包括一个或多个处理单元,例如:处理器202可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。控制器可以是路由器200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器202中还可以设置存储器,用于存储指令和与路由器200相关的参数和终端相关的参数。在一些实施例中,处理器202中的存储器为高速缓冲存储器。该存储器可以保存处理器202刚用过或循环使用的指令或数据。如果处理器202需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器202的等待时间,因而提高了路由器200的效率。处理器202中的处理单元可以对路由器200的数据包转换为比特流发送至交换机203。处理单元可以称为MAC处理单元,包括硬件部分也就是GMAC硬件和软件部分也就是GMAC软件。
交换机203对来自于MAC处理单元的比特流进行解析,得到终端的MAC地址。路由器200查找该MAC地址对应的终端,将对应的数据(如IP地址和视频流)发送至对应的物理接口,通过物理接口发送至终端。
电源模块205可以包括电源、电源管理部件等。电源管理部件用于管理电源的充电和电源向其他模块的供电。
可选的,对于无线路由器而言,图2所示的路由器200还具有无线通讯模块(图2中未示出)。使得无线路由器可以实现如图1所示的智能手机、无线扬声器、便携式计算机和平板电脑间的无线通讯。无线通信模块可以提供应用在终端上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wirelessf id elity,Wi-Fi)网络),蓝牙(bluetooth,BT),近距离无线通信技术(nea r f ieldcommunication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块可以是集成至少一个通信处理模块的一个或多个器件。
无线通讯模块可以提供应用在路由器200上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络)、蓝牙(bluetooth,BT)、全球导航卫星系统(global navigation satellite system,GNSS)、调频(frequencymodulation,FM)、近距离无线通信技术(near field communication,NFC)、红外技术(infrared,IR)等无线通信的解决方案。无线通讯模块可以是集成至少一个通信处理模块的一个或多个器件。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对路由器200的结构限定。在本申请另一些实施例中,路由器200也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
示例性的,图3是本申请实施例提供的另一种路由器的结构示意图。如图3所示,路由器可以包括WiFi驱动模块301、业务识别模块302、负荷解析模块303和限速模块304。其中,WiFi驱动模块301用于接收终端或者互联网发送的数据,以及将所接收的数据递交至业务识别模块302。业务识别模块302用于识别WiFi驱动模块301递交的数据的业务类型,并存储该数据的业务类型。负荷解析模块303用于按照第一周期解析路由器的负荷指标,并存储该负荷指标。限速模块304按照第二周期分别从业务识别模块302和负荷解析模块303获取数据的业务类型,和路由器的负荷指标,进而根据负荷指标和业务类型,调整对所接收数据流的转发速率。
路由器200的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构为例,示例性说明路由器200的软件结构。示例性的,图4是本申请实施例提供的一种路由器的软件结构的示意性框图。
如图4所示,路由器200的分层架构将软件分成若干个层:操作系统内核层401、驱动程序层402和路由网络层403。每一层都有清晰的角色和分工。层与层之间通过软件接口通信。可以理解的是,图4示出的操作系统内核层401、驱动程序层402和路由网络层403,并不构成对路由器200的具体限定。在本申请另一些实施例中,路由器200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。
操作系统内核层401可以包括文件系统、内存管理单元、进程调度单元以及进程通信单元。其中,文件系统用于定义路由器200的操作系统中所有文件的数据块信息,并据此建立文件索引,为内存管理单元、进程调度单元以及进程通信单元提供文件查询与更改的支撑。内存管理单元可以为进程调度单元提供运行所需的地址空间,并对进程调度单元运行中所涉及的数据信息进行管理。进程调度单元负责处理路由器中上层应用程序的应用请求。进程通信单元负责为进程调度单元的运行提供通信支撑。
驱动程序层402用于对路由器200的操作系统中的所有硬件进行封装,并向操作系统内核层401的文件系统开放接口,在文件系统中形成文件供上层调用。如对接路由器200的处理器202或其他的硬件。
路由网络层403用于实现路由器200的通讯功能。示例性的,路由网络层403可以基于传输控制协议/网际协议(transmission control protocol/internet protocol,TCP/IP)或其他通讯协议进行通讯。路由网络层403中的动态主机配置协议服务器(dynamichost configuration protocol,DHCP)基于TCP/IP网络协议进行数据通信。
下面结合图5和图6对本申请实施例提供的数据传输方法进行具体说明。
示例性的,图5是本申请实施例提供的一种数据传输方法的流程图。如图5所示,本申请实施例提供的一种数据传输方法,可以包括但不限于如下步骤:
S502,终端发送数据流至路由器的WiFi驱动模块;
S504,路由器的WiFi驱动模块接收该数据流。
示例性的,终端1通过路由器下载数据可以包括:路由器将终端2例如是服务器发送的数据转发至终端1。终端1通过路由器上传数据可以包括:路由器将终端1例如是手机发送的数据转发至互联网中的终端2例如是服务器。也就是说,通过路由器进行的数据上传和下载,均为某终端向路由器发送数据,路由器转发所接收的数据。基于此,本申请实施例以终端向无线路由器发送数据流为例进行说明。无线路由器具体可以通过WiFi驱动模块提供的无线保真技术(WiFi)实现无线通讯,相应地,终端发送数据流至路由器的WiFi驱动模块,路由器的WiFi驱动模块接收该数据流。对数据流发送和接收的具体实现方式可以参见已有的WiFi技术,此处不再赘述。
数据流(data stream)是通信领域使用的概念,是一组有序,有起点和终点的字节的数据序列。本申请实施例中的数据流为终端向路由器发送的数据的一种示例。在一种可选的情况中,该数据可以为数据包等,本实施例对此不作限制。可以理解的是,数据包和数据流都是顺序的。区别在于,数据流的特点是并非一次接收/发送数该据流的完整数据。比如,数据流包括30个字节,可以是第一次是接收/发送6个字节,第二次接收/发送3个字节,第三次接收/发送1个字节。数据包通常是一次接收/发送完该数据包的完整数据并传递给应用层。
S506,路由器的WiFi驱动模块递交数据流至路由器的业务识别模块;
路由器的WiFi驱动模块在接收到终端发送的数据流后,可以将数据流递交至路由器的业务识别模块,以识别该数据流的业务类型。其中,数据流的业务类型可以按照产生数据流的应用程序的差异划分。示例性的,数据流的业务类型可以包括如下类型中的至少之一:应用市场,网络游戏,短视频,视频,直播,新闻,社交聊天,购物,支付,网课,下载等。举例而言,华为应用市场产生的数据流的业务类型为应用市场。多人在线战术竞技游戏产生的数据流的业务类型为网络游戏。短视频应用程序产生的数据流的业务类型为短视频。视频播放应用程序产生的数据流的业务类型为视频。直播应用程序产生的数据流的业务类型为直播。新闻应用程序产生的数据流的业务类型为新闻。即时通讯应用程序产生的数据流的业务类型为社交聊天。在线购物应用程序产生的数据流的业务类型为购物。移动支付应用程序产生的数据流的业务类型为支付。在线学习应用程序产生的数据流的业务类型为。网盘和网页的下载功能产生的数据流的业务类型为下载。
对于数据流的业务类型的划分,可以按照场景需求设置,本实施例仅为示例性说明,对此不作限制。
S508,路由器的业务识别模块识别并存储数据流的业务类型;
路由器的业务识别模块在接收到WiFi驱动模块递交的数据流后,可以识别该数据流的业务类型,并存储识别得到的该数据流的业务类型以供限速模块获取。示例性的,业务识别模块可以是工作在Linux内核的IP协议栈中的独立模块。本申请实施例的协议栈可以包括协议栈的层数大于或者等于4层的协议栈,例如,可以为TCP/IP协议栈。
图6是本申请实施例提供的业务识别模块在TCP/IP协议栈中所处节点的示意图。如图6所示,该协议栈可以包括如下节点:路由前处理(PRE-ROUTING)节点,路由决策节点,传递(FORWARD)节点,路由后处理(POST-ROUTING)节点,本地业务处理入口(LOCAL_IN)节点,本地业务处理出口(LOCAL_OUT)节点。
路由前处理节点用于进行数据流的目的地址转换(destination networkaddress translation,DNAT,将一组本地内部地址映射全球地址),以及为数据流添加特定标识等处理,以保证路由器可以根据转换后的目的地址以及特定标识等对数据流进行路由决策。
路由决策节点用于确定对数据流的处理方式。其中,处理方式可以包括:转发处理或者路由器本地业务处理(如Web等业务)。
传递节点用于将需要转发的数据流传递至路由后处理节点,是转发报文关键节点。在内核IP协议栈中,Netfilter框架对数据流有5个关键的hook(检测)点。而下挂设备转发数据也就是终端发送至路由器、且需要路由器转发的数据流经过Pre-Routing、Forward、Post-Routing这三个关键hook点。如图6所示,本申请实施例提供的业务类型识别模块(Service Aware,SA,业务感知)工作的位置也就是Netfilter的hook点,可以设置在传递节点处,以对需要路由器转发的数据流进行业务类型的识别,进而调整对该数据流的转发速率。这样,可以避免对无需路由器转发而是路由器本地业务处理的数据流进行不必要的业务类型的识别,更加准确高效。Netfilter是Linux 2.4.x引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪成为了可能。Netfilter的架构就是在整个网络流程的若干位置放置了一些hook(检测)点,而在每个检测点上登记了一些处理函数对传递至检测点的数据进行处理。
在一种可选的实施方式中,业务识别模块识别数据流的业务类型可以包括:业务识别模块对数据流进行特征提取,从预先建立的特征与业务类型的对应关系中,查找所提取的特征对应的业务类型,得到该数据流的业务类型。或者,业务识别模块将数据流输入预先训练得到的第一分类模型,得到该数据流的业务类型。其中,第一分类模型为利用样本数据流和样本数据流的类型标签训练得到的神经网络模型。示例性的,数据流的特征可以包括数据流的长度、格式等。
在另一种可选的实施方式中,业务识别模块识别数据流的业务类型可以包括:业务识别模块对所接收的数据流或者数据包进行解析,得到该数据流的五元组;根据五元组识别数据流的业务类型。其中,五元组可以包括源IP地址,源端口,目的IP地址,目的端口,和传输层协议这五个量组成的一个集合。例如:192.168.1.1 10000TCP121.14.88.76 80构成了一个五元组,代表一个IP地址为192.168.1.1的终端通过端口10000,利用TCP协议,和IP地址为121.14.88.76,端口为80的终端进行通信。通过五元组可以区分不同会话,并且对应的会话是唯一的。
根据五元组识别数据流的业务类型,具体可以包括:查找五元组与业务类型的对应关系,得到数据流的业务类型。或者,业务识别模块将数据流的五元组输入预先训练得到的第二分类模型,得到该数据流的业务类型。其中,第二分类模型为利用样本数据流的五元组和样本数据流的类型标签训练得到的神经网络模型。在一种可选的实施方式中,根据五元组识别数据流的业务类型的功能可以封装为识别引擎接口(Egn ApiPacketInspect),业务识别模块可以调用识别引擎接口得到数据流的业务类型。
任何业务识别模块识别数据流的业务类型的方式均可用于本申请,本实施例对此不作限制。
在一种可选的示例中,业务类型识别模块在得到数据流的业务类型后,可以存储数据流与业务类型的对应关系,或者,在通过五元组识别业务类型后,可以存储五元组与业务类型的对应关系。示例性的,路由器对所接收的多个数据流的业务类型识别结果可以如下表1所示:
表1数据流的业务类型识别结果
数据流来源 | 业务识别结果 | 业务类型 |
MAC-1 | 100 | 4 |
MAC-2 | 101 | 4 |
MAC-3 | 116 | 4 |
MAC-1、MAC-2 | 2 | 2 |
MAC-1 | 4 | 2 |
MAC-3、MAC-2 | 502 | 1024 |
MAC-3 | 504 | 1024 |
表1中,数据流来源可以根据发送数据流的终端的MAC地址确定。例如,手机1发送的数据流的来源可以是MAC-1,手机2发送的数据流的来源可以是MAC-2,平板电脑发送的数据流的来源可以是MAC-3。业务识别结果包括业务识别模块识别的业务名称。例如,业务识别结果100代表多人在线射击竞技游戏,业务识别结果101代表多人在线对抗推搭游戏,业务识别结果116代表角色扮演网游,业务识别结果2代表应用市场1,业务识别结果4代表应用市场2,业务识别结果502代表移动支付1,业务识别结果504代表移动支付2。业务类型包括业务识别模块对数据流所属业务的分类结果。例如,业务类型4代表业务类型为网络游戏,业务类型2代表业务类型为应用市场,业务类型1024代表业务类型为移动支付。
示例性的,业务识别模块可以根据数据流的特征或者五元组确定业务识别结果,多个数据流的特征和五元组中至少之一不同,则多个数据流所属的业务不同。业务识别结果的确定方式与上述业务类型的确定方式类似,区别在于识别的是业务名称、业务标识等业务信息,相应的训练模型所利用的标签适应性调整为代表业务信息的标签。基于此,在一种可选的示例中,业务类型识别模块可以根据数据流的特征或者五元组确定业务识别结果,进而查找业务识别结果与业务类型的对应关系,得到数据流的业务类型。
本地业务处理入口和本地业务处理出口,分别是路由器本地业务处理节点的入口和出口,分别用于接收需要进行本地业务处理的数据流,和用于输出已进行本地业务处理的数据流。
路由后处理节点主要用于进行数据流的源地址转换SNAT。源地址转换是指将数据包流的内网源IP转换为外网IP。示例性的,内网地址向外访问时,将发起访问的内网IP地址转换为指定的IP地址(可以指定具体的服务以及相应的端口或端口范围)。这样,内网中使用保留IP地址的主机可以访问外部网络,例如,内网的多部主机可以通过一个有效的公网IP地址访问外部网络。
S510,路由器的负荷解析模块按照第一周期解析并存储路由器的负荷指标。
在路由器开启后,路由器的负荷解析模块可以按照第一周期解析路由器的负荷指标,进而存储该负荷指标。路由器的负荷指标用于表征路由器的负荷高低,路由器的负荷越高,路由器的性能越低。示例性的,路由器的负荷指标可以包括负荷等级,例如,过载、高、中、低。或者,路由器的负荷指标可以包括基于路由器的性能参数确定得到的平均性能参数。可以理解的是,上述负荷等级可以基于路由器的性能参数划分。第一周期可以根据应用需求进行设置,例如可以为2秒。
示例性的,路由器的性能参数可以包括以下参数中的至少一种:路由器的CPU利用率、路由器的内存使用率、路由器的温度和路由器所连接设备也就是终端的个数等。这样,路由器的负荷解析模块按照第一周期解析路由器的负荷指标,具体可以包括:路由器的负荷解析模块按照第一周期获取路由器的性能参数也就是运行状态信息,基于路由器的性能参数,确定路由器的负荷指标。在一种可选的实施方式中,路由器的性能参数的数量为一种,路由器的负荷解析模块基于路由器的性能参数,确定路由器的负荷指标,可以包括:路由器的负荷解析模块将路由器的性能参数确定为路由器的负荷指标。例如,将路由器的CPU利用率确定为路由器的负荷指标。或者,在另一种可选的实施方式中,路由器的性能参数的种类为多个,路由器的负荷解析模块基于路由器的性能参数,确定路由器的负荷指标,可以包括:路由器的负荷解析模块计算路由器的多个性能参数的平均值,得到路由器的负荷指标。例如,路由器的负荷解析模块对路由器的多个性能参数进行加权处理,得到路由器的负荷指标。
对于路由器的CPU利用率,示例性的,路由器的负荷解析模块可以调用路由器操作系统提供的CPU空闲率获取接口,得到该CPU的空闲率,计算1与CPU的空闲率的差值,得到路由器的CPU利用率。也就是说,路由器按照第一周期(如2s)采集路由器的CPU利用率=1-idle。例如,idle为91%,CPU利用率=1-91%。
对于路由器的内存使用率,示例性的,路由器的负荷解析模块可以调用路由器操作系统提供的内存空余量和总量获取接口,得到该路由器的内存空余量和内存总量,基于内存总量与内存空余量,确定路由器的内存使用率。也就是说,路由器的负荷解析模块按照第一周期(如2s)采集路由器的内存使用率=(内存总量total-内存空余量free)/内存总量total(%)。例如,路由器的内存使用=(3770-2425)÷3770%=35.7%。
对于路由器的温度,示例性的,路由器的负荷解析模块可以调用WiFi芯片提供的温度检测接口获取路由器的温度(如45℃)。在一种情况中,路由器的负荷解析模块可以查找温度与负荷率的对应关系,得到所获取的温度对应的负荷率,以将该负荷率用于确定路由器的负荷指标。
示例性的,温度与负荷率的对应关系如下表2所示:
表2温度和负荷率的对应关系
温度 | 负荷率 |
(0℃,99℃] | 0% |
(99℃,106℃] | 60% |
(106℃,113℃] | 85% |
(113℃,126℃] | 95% |
(126℃,∞) | 100% |
举例而言,路由器的温度为10℃,路由器的负荷率为0%;路由器的温度率为100℃,路由器的负荷率为85%。
对于路由器所连接设备的个数,示例性的,路由器的负荷解析模块可以从WiFi驱动模块读取路由器已连接的设备个数,进而计算路由器能够连接的设备总数与路由器已连接的设备个数之比,得到路由器已连接设备的个数对应的负荷率,以将该负荷率用于确定路由器的负荷指标。例如,路由器能够连接的设备个数为N,路由器已连接的设备个数为n,则路由器的负荷率L=n÷N(%)。
路由器的负荷解析模块获得以下四种参数:路由器的CPU利用率、内存使用率、温度对应的负荷率和路由器已连接设备的个数对应的负荷率后,可以对这四种参数进行加权处理,得到路由器的负荷指标。路由器的不同性能参数对路由器的负荷产生不同的影响,基于此,可以对不同的性能参数设置不同的影响权重,具体可以根据应用需求设置,本实施例对此不作限制。示例性的,性能参数与影响权重的对应关系如下表3所示:
表3性能参数与影响权重的对应关系
性能参数 | 影响权重 |
CPU | 0.35 |
内存 | 0.30 |
温度 | 0.25 |
已连接设备个数 | 0.10 |
总计 | 1 |
示例性的,若路由器的CPU利用率、内存使用率、温度对应的负荷率和路由器已连接设备的个数对应的负荷率分别是C、M、T、L。结合表3所示的权重,路由器的负荷解析模块确定路由器的负荷指标S如下所示:S=0.35*C+0.30*M+0.25*T+0.10*L。
在一种示例中,路由器的负荷解析模块可以将上述加权处理结果S映射为路由器的负荷等级,进而将该负荷等级确定为路由器的负荷指标。例如,查询如下表4可以得到路由器的负荷等级:
表4加权处理结果与负荷等级的对应关系
加权处理结果(单位:%) | 负荷等级 |
(95,100] | 过载 |
(85,95] | 高 |
(60,85] | 中 |
(0,60] | 低 |
举例而言,若加权处理结果S为100%,路由器的负荷等级为“过载”;加权处理结果S为50%,路由器的负荷等级为“低”。也就是说,路由器的负荷解析模块可以将负荷等级例如是“过载”,确定为路由器的负荷指标。
这样,本申请实施例通过综合多种路由器性能参数,可以对路由器的负荷进行更加全面的解析,得到更加准确的负荷指标,从而提高后续利用负荷指标进行路由器性能调整的准确度。
S512,路由器的限速模块按照第二周期从路由器的负荷解析模块获取负荷指标。
S514,路由器的限速模块按照第二周期从路由器的业务识别模块获取业务类型;
路由器的限速模块可以按照第二周期,从路由器的负荷解析模块和路由器的业务识别模块分别获取负荷指标和业务类型。示例性的,路由器的限速模块可以按照第二周期读取或者请求负荷指标和业务类型。示例性的,第二周期可以大于或者等于第一周期,以降低负荷指标的获取失败率。或者,第二周期可以根据终端发送数据流的频次设置,以提高路由器性能调整的及时性。第二周期具体可以按照应用需求设置,本实施例对此不作限制。
S516,路由器的限速模块根据负荷指标和业务类型,调整对终端数据流的转发速率。
路由器的限速模块获取负荷指标和业务类型后,可以根据负荷指标和业务类型,调整对终端数据流的转发速率,也就是调整路由器对所接收的数据流的转发速率。示例性的,路由器的限速模块根据负荷指标和业务类型,调整对终端数据流的转发速率,可以包括:路由器的限速模块从负荷指标(如负荷等级)与额定速率转发配比的对应关系中,查找与所获取的负荷指标对应的额定转发速率配比;获取路由器的额定转发速率,基于该额定转发速率和额定转发速率配比,确定路由器实际能够支持的可分配转发速率;基于数据流的业务类型,确定发送数据流的终端的速率占比;根据可分配转发速率和终端的速率占比,确定该终端的数据流的目标转发速率;将对该终端的转发速率设置为目标转发速率。
示例性的,额定转发速率配比包括路由器的额定转发速率的分配比例。针对路由器的不同负荷指标(如负荷等级)设置不同的额定转发速率配比,以使根据额定转发速率配比确定的路由器转发数据流的速率,能够与路由器的负荷相适配、且不超出路由器的额定转发速率。路由器的限速模块查询如下表5,可以得到与负荷解析模块确定的负荷指标对应的额定转发速率配比:
表5负荷等级与额定转发速率配比的对应关系
负荷等级 | 额定转发速率配比 |
过载 | 10% |
高 | 30% |
中 | 60% |
低 | 100% |
举例而言,路由器的限速模块从负荷解析模块获取的负荷指标为负荷等级“过载”,那么路由器的限速模块用于分配路由器的额定转发速率的比例,也就是额定转发速率配比为10%。
路由器的限速模块还获取路由器的额定转发速率,以进行额定转发速率的分配,也就是基于路由器的额定转发速率和额定转发速率配比,确定路由器实际能够支持的可分配转发速率。可以理解的是,路由器的额定转发速率和额定转发速率配比,可以先后获取或者同时获取,本实施例对额定转发速率和额定转发速率配比的获取顺序不作限制,在确定路由器实际能够支持的可分配转发速率之前获取即可。
支持不同宽带的路由器的额定转发速率不同。基于此,路由器的限速模块可以读取该路由器能够支持的宽带信息例如可以是路由器的宽带档位,进而从如下表6中查找与该宽带档位对应的额定转发速率:
表6路由器的宽带档位与额定转发速率的对应关系
/>
举例而言,路由器的限速模块读取到该路由器的宽带档位为N300,那么该路由器的额定转发速率为300Mbits/s;路由器的限速模块读取到该路由器的宽带档位为AX3000,那么该路由器的额定转发速率为3000Mbits/s。路由器的限速模块在获取到额定转发速率和额定转发速率配比后,可以基于所获取的额定转发速率和额定转发速率配比,确定路由器实际能够支持的可分配转发速率:计算额定转发速率和额定转发速率配比的乘积。例如,额定转发速率配比为RP,额定转发速率为RI,那么路由器实际能够支持的可分配转发速率为RD=RP*RI。
在一种可选的实施方式中,路由器的额定转发速率可以包括上行额定速率和下行额定速率。上行额定速率例如可以是终端的上传速率,也就是路由器将终端发送的数据流转发至互联网的速率。下行额定速率例如可以是终端的下载速率,也就是路由器将终端从互联网请求的数据流转发至终端的速率。对此,若路由器的限速模块读取到该路由器的宽带档位为N300,那么上行额定速率和下行额定速率均为3000Mbps。路由器的限速模块读取到该路由器的宽带档位为AX3000,那么该路由器的上行额定速率为600Mbits/s,下行额定速率均为2400Mbits/s。
相应地,路由器的限速模块在获取到额定转发速率和额定转发速率配比后,可以基于所获取的上行额定速率和下行额定速率和额定转发速率配比,确定路由器实际能够支持的可分配转发速率:计算上行额定速率和额定转发速率配比的乘积,得到上行可分配转发速率,计算下行额定速率和额定转发速率配比的乘积,得到下行可分配转发速率。例如,额定转发速率配比为RP,上行额定速率为RIUP,下行额定速率为RIdown,那么路由器实际能够支持的可分配转发速率包括上行可分配转发速率RDUP=RP*RIUP,和下行可分配转发速率RDdown=RP*RIdown。可以理解的是,可分配转发速率的单位均可以为Mbits/s。
路由器的限速模块可以基于数据流的业务类型,确定发送数据流的终端的速率占比。终端的速率占比可以包括将路由器能够支持的可分配转发速率分配给终端的比例。
在一种可选的实现方式中,终端的数量为一个,路由器的限速模块基于数据流的业务类型,确定发送数据流的终端的速率占比,可以包括:路由器的限速模块通过WiFi驱动模块识别终端的数量为一个,将该终端的速率占比确定为1。也就是说,终端的数量为一个,那么路由器可以将实际能够支持的可分配转发速率全部分配给该终端,也就是可以将该可分配转发速率确定为终端的目标转发速率。
在另一种可选的实现方式中,终端的数量为多个,路由器的限速模块基于数据流的业务类型,确定发送数据流的终端的速率占比,可以包括:路由器的限速模块从业务类型与业务权重的对应关系中,查找每个终端所发送数据流的业务类型对应的业务权重;统计每个终端的业务权重和所有终端的总业务权重;确定每个终端的业务权重在所有终端的总业务权重中的占比,得到该终端的速率占比。也就是说,若共有k个终端与路由器连接,路由器的限速模块得到每个设备的业务权重li(i=[1,k]),则每个终端的速率占比Qi为:
示例性的,每个终端的业务权重可以如下表7所示:
表7每个终端的业务权重
表7中的数据流来源、业务识别结果和业务类型与上述表1相同,此处不再赘述,可以参见对表1的描述。可以理解的是,业务识别模块在识别出数据流的业务类型后,即可建立表7,路由器的限速模块获取业务类型可以是直接获取表7。路由器的限速模块确定终端的速率占比和确定路由器能够支持的可分配转发速率的顺序可以是先后或者同时,本实施例对该顺序不作限制,在确定目标转发速率之前确定终端的速率占比和路由器能够支持的可分配转发速率即可。
举例而言,路由器的限速模块查找到终端1(物理地址为MAC-1)的业务权重包括业务权重100、业务权重2和业务权重2;终端2(物理地址为MAC-2)的业务权重包括业务权重100、业务权重2和业务权重6;终端3(物理地址为MAC-3)的业务权重包括业务权重100、业务权重2和业务权重6。路由器的限速模块统计每个终端的业务权重和所有终端的总业务权重,并确定每个终端的业务权重在所有终端的总业务权重中的占比,可以得到如下表8所示的结果:
表8每个终端的速率占比:
对于表8所示的终端,路由器的限速模块根据每个终端的业务权重,计算得到终端1(物理地址为MAC-1)的速率占比为32%,终端2(物理地址为MAC-2)的速率占比为33%,终端3(物理地址为MAC-3)的速率占比为35%。
路由器的限速模块在得到每个终端的速率占比后,可以根据可分配转发速率和终端的速率占比,确定该终端的数据流的目标转发速率;将对该终端的转发速率设置为目标转发速率。示例性的,路由器的限速模块根据可分配转发速率和终端的速率占比,确定对该终端的数据流的目标转发速率,可以包括:计算路由器能够支持的可分配转发速率和终端的速率占比的乘积。举例而言,若共有k个终端,路由器的限速模块获得每个终端的业务权重li(i=[1,k]),路由器能够支持的可分配转发速率为RD,每个终端的目标转发速率Oi如下:
/>
可以理解的是,对于路由器能够支持的可分配转发速率包括上行可分配速率和下行可分配速率的情况,确定方式与上述确定Oi的方式相似,区别在于代入公式的可分配转发速率适应地分别为上行可分配速率和下行可分配速率。
路由器的限速模块确定了任一终端的目标转发速率,可以将该终端的目标转发速率设置为对该终端数据流的转发速率,从而实现调整对终端数据流的转发速率的效果。示例性的,路由器的限速模块将终端的目标转发速率设置为对该终端数据流的转发速率,具体可以包括:发送限速指令至路由器的转发速率设置接口,限速指令包括终端的目标转发速率,用于指示路由器按照终端的目标转发速率对该终端的数据流进行转发。示例性对的,路由器的转发速率设置接口可以是路由器的通信芯片提供的接口。
举例而言,限速指令可以为指示路由器对与wlan0端口连接的MAC为00:11:22:33:44:55的终端,设置上行转发速率为50000kbps,设置下行转发限速80000kbps。该限速指令可以为如下代码:iwpriv wlan0 sta_bw_control 001122334455,80000,50000。可以理解的是,Kbps为数据传输速率单位,也可以写为Kbits/s或者kb/s,与Mbits/s进行单位转换即可。
路由器按照终端的目标转发速率对该终端的数据流进行转发时,如果终端向路由器发送数据流的发送速率低于目标转发速率,路由器对所接收的数据流可以正常转发;如果该发送速率高于目标转发速率,路由器的缓存会被占满,路由器对数据流进行丢弃。这样,本申请实施例根据不同数据流的业务类型设置为数据流分配的转发速率,可以更加合理地设置对不同终端数据流的转发速率,减少对丢包敏感度更高的业务类型的数据流的丢包。
本申请实施例中,可分配转发速率与路由器的负荷指标对应,终端的速率占比基于数据流的业务类型确定,且目标转发速率根据可分配转发速率和终端的速率占比确定。这样,可以保证目标速率更加适用于路由器的负荷,从而通过将路由器对数据流的转发速率调整为目标速率,减少转发速率不适用于路由器的负荷导致的路由器性能下降,实现更加便捷和准确地路由器负荷调整。另外,本申请实施例还可以保证路由器连接有多个终端时,可以根据业务类型更加合理地设置对不同终端数据流的转发速率,减少对丢包敏感度更高的业务类型的数据流的丢包,且无需用户手动关闭业务,实现更加便捷和准确地路由器负荷调整。
另外,本申请实施例提供的数据传输方法,可以应用于具有路由功能的电子设备,该电子设备例如可以是路由器、网关等。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
一个示例中,图7示出了本申请实施例的一种装置700的示意性框图装置700可包括:处理器701和收发器/收发管脚702,可选地,还包括存储器703。
装置700的各个组件通过总线704耦合在一起,其中总线704除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都称为总线704。
可选地,存储器703可以用于前述方法实施例中的指令。该处理器701可用于执行存储器703中的指令,并控制接收管脚接收信号,以及控制发送管脚发送信号。
装置700可以是上述方法实施例中的电子设备或电子设备的芯片。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请各个实施例的任意内容,以及同一实施例的任意内容,均可以自由组合。对上述内容的任意组合均在本申请的范围之内。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
结合本申请实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(application specific integrated circuit,ASIC)中。另外,该ASIC可以位于路由器中。当然,处理器和存储介质也可以作为分立组件存在于路由器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (27)
1.一种数据传输方法,其特征在于,应用于路由器,所述方法包括:
接收终端发送的业务数据;其中,所述业务数据包括:由运行于所述终端的业务产生、且待所述路由器转发的数据;
识别所述业务数据的业务类型;其中,所述业务数据的业务类型按照产生所述业务数据的应用程序的差异划分;
获取所述路由器的运行状态信息,并根据所述运行状态信息,确定所述路由器的负荷指标;其中,所述负荷指标用于指示所述路由器对所述业务的承载状态;
根据所述路由器的负荷指标和所述业务数据的业务类型,确定目标转发速率;其中,所述目标转发速率为适用于所述路由器的负荷和所述业务类型的转发速率,所述路由器的负荷大小与所述路由器的性能间的关系为负相关;
按照所述目标转发速率,对所述业务数据进行转发。
2.根据权利要求1所述的方法,其特征在于,所述运行状态信息包括以下信息中的至少之一:所述路由器的CPU利用率、所述路由器的内存使用率、所述路由器的温度和所述路由器已连接终端的个数。
3.根据权利要求2所述的方法,其特征在于,所述获取所述路由器的运行状态信息,包括:
获取所述路由器的CPU空闲率,根据所述CPU空闲率,确定所述路由器的CPU利用率;
获取所述路由器的内存空余量和内存总量,根据所述内存空余量和内存总量,确定所述路由器的内存使用率;
检测所述路由器的WiFi芯片的温度,得到所述路由器的温度;
统计与所述路由器连接的终端的数量,得到所述路由器已连接终端的个数。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述运行状态信息,确定所述路由器的负荷指标,包括:
确定所述运行状态信息的影响权重;
根据所述影响权重,对所述运行状态信息进行加权处理,得到加权结果;
根据所述加权结果,确定所述路由器的负荷指标。
5.根据权利要求4所述的方法,其特征在于,所述根据所述影响权重,对所述运行状态信息进行加权处理,得到加权结果,包括:
利用预先建立的温度与负荷率的对应关系,将所述路由器的温度转换为第一负荷率;
获取所述路由器能够连接的终端总数,根据所述路由器已连接终端的个数与所述终端总数,将所述路由器已连接终端的个数转换为第二负荷率;
根据所述影响权重,对所述第一负荷率和所述第二负荷率、所述路由器的CPU利用率和所述路由器的内存使用率进行加权处理,得到加权结果;其中,所述运行状态信息包括所述路由器的温度、所述路由器已连接终端的个数、所述路由器的CPU利用率和所述路由器的内存使用率。
6.根据权利要求1至3和5中任一项所述的方法,其特征在于,所述根据所述路由器的负荷指标和所述业务数据的业务类型,确定目标转发速率,包括:
确定所述路由器的负荷指标对应的额定转发速率配比;
获取所述路由器的额定转发速率;
基于所述额定转发速率和所述额定转发速率配比,确定所述路由器能够支持的可分配转发速率;
基于所述业务数据的业务类型,确定所述终端的速率占比;
根据所述可分配转发速率和所述终端的速率占比,确定所述目标转发速率。
7.根据权利要求6所述的方法,其特征在于,所述终端的数量为多个;
所述基于所述业务数据的业务类型,确定所述终端的速率占比,包括:
确定每个终端的业务类型的业务权重;
根据所述每个终端的所述业务类型的业务权重,统计每个终端的业务权重和所有终端的总业务权重;
确定所述每个终端的业务权重在所述所有终端的总业务权重中的占比,得到所述每个终端的速率占比。
8.根据权利要求7所述的方法,其特征在于,所述确定所述路由器的负荷指标对应的额定转发速率配比,包括:
查找预先建立的负荷指标与额定转发速率配比的对应关系,得到所述路由器的负荷指标对应的额定转发速率配比。
9.根据权利要求7至8中任一项所述的方法,其特征在于,所述获取所述路由器的额定转发速率,包括:
获取所述路由器能够支持的宽带信息;
查找预先建立的宽带信息与额定转发速率的对应关系,得到所述路由器的额定转发速率。
10.根据权利要求1至3和5以及7至8中任一项所述的方法,其特征在于,所述识别所述业务数据的业务类型,包括:
通过业务识别模块识别所述业务数据的业务类型;其中,所述业务识别模块设置在所述路由器协议栈的传递FORWARD节点处;所述路由器协议栈的层数大于或者等于四。
11.根据权利要求1至3和5以及7至8中任一项所述的方法,其特征在于,所述识别所述业务数据的业务类型,包括:
对所述业务数据进行特征提取;
根据提取的特征,确定所述业务数据的业务类型。
12.根据权利要求11所述的方法,其特征在于,所述对所述业务数据进行特征提取,包括:
解析所述业务数据,得到所述业务数据的五元组;
将所述五元组确定为所述业务数据的特征。
13.一种数据传输装置,其特征在于,应用于路由器,所述装置包括:
WiFi驱动模块,用于接收终端发送的业务数据;其中,所述业务数据包括:由运行于所述终端的业务产生、且待所述路由器转发的数据;
业务识别模块,用于识别所述业务数据的业务类型;其中,所述业务数据的业务类型按照产生所述业务数据的应用程序的差异划分;
负荷解析模块,用于获取所述路由器的运行状态信息,并根据所述运行状态信息,确定所述路由器的负荷指标;其中,所述负荷指标用于指示所述路由器对所述业务的承载状态;
限速模块,用于根据所述路由器的负荷指标和所述业务数据的业务类型,确定目标转发速率;按照所述目标转发速率,对所述业务数据进行转发;其中,所述目标转发速率为适用于所述路由器的负荷和所述业务类型的转发速率,所述路由器的负荷大小与所述路由器的性能间的关系为负相关。
14.根据权利要求13所述的装置,其特征在于,所述运行状态信息包括以下信息中的至少之一:所述路由器的CPU利用率、所述路由器的内存使用率、所述路由器的温度和所述路由器已连接终端的个数。
15.根据权利要求14所述的装置,其特征在于,所述负荷解析模块,具体用于:
获取所述路由器的CPU空闲率,根据所述CPU空闲率,确定所述路由器的CPU利用率;
获取所述路由器的内存空余量和内存总量,根据所述内存空余量和内存总量,确定所述路由器的内存使用率;
检测所述路由器的WiFi芯片的温度,得到所述路由器的温度;
统计与所述路由器连接的终端的数量,得到所述路由器已连接终端的个数。
16.根据权利要求13至15中任一项所述的装置,其特征在于,所述负荷解析模块,具体用于:
确定所述运行状态信息的影响权重;
根据所述影响权重,对所述运行状态信息进行加权处理,得到加权结果;
根据所述加权结果,确定所述路由器的负荷指标。
17.根据权利要求16所述的装置,其特征在于,所述负荷解析模块,具体用于:
利用预先建立的温度与负荷率的对应关系,将所述路由器的温度转换为第一负荷率;
获取所述路由器能够连接的终端总数,根据所述路由器已连接终端的个数与所述终端总数,将所述路由器已连接终端的个数转换为第二负荷率;
根据所述影响权重,对所述第一负荷率和所述第二负荷率、所述路由器的CPU利用率和所述路由器的内存使用率进行加权处理,得到加权结果;其中,所述运行状态信息包括所述路由器的温度、所述路由器已连接终端的个数、所述路由器的CPU利用率和所述路由器的内存使用率。
18.根据权利要求13至15和17中任一项所述的装置,其特征在于,所述限速模块,具体用于:
确定所述路由器的负荷指标对应的额定转发速率配比;
获取所述路由器的额定转发速率;
基于所述额定转发速率和所述额定转发速率配比,确定所述路由器能够支持的可分配转发速率;
基于所述业务数据的业务类型,确定所述终端的速率占比;
根据所述可分配转发速率和所述终端的速率占比,确定所述目标转发速率。
19.根据权利要求18所述的装置,其特征在于,所述终端的数量为多个;
所述限速模块,具体用于:
确定每个终端的业务类型的业务权重;
根据所述每个终端的所述业务类型的业务权重,统计每个终端的业务权重和所有终端的总业务权重;
确定所述每个终端的业务权重在所述所有终端的总业务权重中的占比,得到所述每个终端的速率占比。
20.根据权利要求19所述的装置,其特征在于,所述限速模块,具体用于:
查找预先建立的负荷指标与额定转发速率配比的对应关系,得到所述路由器的负荷指标对应的额定转发速率配比。
21.根据权利要求19至20中任一项所述的装置,其特征在于,所述限速模块,具体用于:
获取所述路由器能够支持的宽带信息;
查找预先建立的宽带信息与额定转发速率的对应关系,得到所述路由器的额定转发速率。
22.根据权利要求13至15和17以及19至20中任一项所述的装置,其特征在于,所述业务识别模块,具体用于:
通过业务识别模块识别所述业务数据的业务类型;其中,所述业务识别模块设置在所述路由器协议栈的传递FORWARD节点处;所述路由器协议栈的层数大于或者等于四。
23.根据权利要求13至15和17以及19至20中任一项所述的装置,其特征在于,所述业务识别模块,具体用于:
对所述业务数据进行特征提取;
根据提取的特征,确定所述业务数据的业务类型。
24.根据权利要求23所述的装置,其特征在于,所述业务识别模块,具体用于:
解析所述业务数据,得到所述业务数据的五元组;
将所述五元组确定为所述业务数据的特征。
25.一种路由器,其特征在于,包括:
处理器和收发器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至12中任一项所述的方法。
26.一种计算机可读存储介质,其特征在于,包括计算机程序,其特征在于,当所述计算机程序在路由器上运行时,使得所述路由器执行如权利要求1至12中任意一项所述的方法。
27.一种芯片,其特征在于,包括一个或多个接口电路和一个或多个处理器;所述接口电路用于从电子设备的存储器接收信号,并向所述处理器发送所述信号,所述信号包括存储器中存储的计算机指令;当所述处理器执行所述计算机指令时,使得所述电子设备执行权利要求1至12中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211015917.XA CN116055414B (zh) | 2022-08-24 | 2022-08-24 | 数据传输方法、装置及路由器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211015917.XA CN116055414B (zh) | 2022-08-24 | 2022-08-24 | 数据传输方法、装置及路由器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116055414A CN116055414A (zh) | 2023-05-02 |
CN116055414B true CN116055414B (zh) | 2023-11-14 |
Family
ID=86124259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211015917.XA Active CN116055414B (zh) | 2022-08-24 | 2022-08-24 | 数据传输方法、装置及路由器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116055414B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111211980A (zh) * | 2019-12-17 | 2020-05-29 | 中移(杭州)信息技术有限公司 | 传输链路管理方法、装置、电子设备及存储介质 |
CN112532466A (zh) * | 2019-09-17 | 2021-03-19 | 华为技术有限公司 | 流量识别方法、装置及存储介质 |
CN113037624A (zh) * | 2019-12-25 | 2021-06-25 | 华为技术有限公司 | 一种数据流控制的方法和装置 |
WO2022078192A1 (zh) * | 2020-10-14 | 2022-04-21 | 华为技术有限公司 | Wi-Fi芯片、Wi-Fi设备及队列调度方法 |
-
2022
- 2022-08-24 CN CN202211015917.XA patent/CN116055414B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112532466A (zh) * | 2019-09-17 | 2021-03-19 | 华为技术有限公司 | 流量识别方法、装置及存储介质 |
CN111211980A (zh) * | 2019-12-17 | 2020-05-29 | 中移(杭州)信息技术有限公司 | 传输链路管理方法、装置、电子设备及存储介质 |
CN113037624A (zh) * | 2019-12-25 | 2021-06-25 | 华为技术有限公司 | 一种数据流控制的方法和装置 |
WO2022078192A1 (zh) * | 2020-10-14 | 2022-04-21 | 华为技术有限公司 | Wi-Fi芯片、Wi-Fi设备及队列调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116055414A (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022222755A1 (zh) | 业务处理方法、装置及存储介质 | |
CN106972985B (zh) | 加速dpi设备数据处理与转发的方法和dpi设备 | |
US20070133548A1 (en) | Transmission apparatus having a plurality of network interfaces and transmission method using the same | |
US9590922B2 (en) | Programmable and high performance switch for data center networks | |
CN112965824A (zh) | 报文的转发方法及装置、存储介质、电子设备 | |
CN112291366B (zh) | 数据传输方法、装置、存储介质及电子设备 | |
CN109831490B (zh) | 一种基于云网一体化的边缘云系统与访问方法 | |
JP2001244987A (ja) | ネットワーク機器のサービス品質管理方法及び装置 | |
US9553623B2 (en) | Wireless communication device | |
US11316916B2 (en) | Packet processing method, related device, and computer storage medium | |
CN113746692A (zh) | 网络流量统计的方法、电子设备及存储介质 | |
WO2023186046A1 (zh) | 一种发送报文的方法和装置 | |
WO2021052199A1 (zh) | 一种服务器负载均衡的方法、装置及cdn节点 | |
US10382339B2 (en) | Large scale bandwidth management of IP flows using a hierarchy of traffic shaping devices | |
CN114867061B (zh) | 一种基于无线通信网络的云监控方法 | |
JP2011203810A (ja) | サーバ、計算機システム及び仮想計算機管理方法 | |
CN116055414B (zh) | 数据传输方法、装置及路由器 | |
US8832266B2 (en) | System and method for aggregating bandwidth of multiple active physical interfaces on application layer | |
WO2018057165A1 (en) | Technologies for dynamically transitioning network traffic host buffer queues | |
CN114039931A (zh) | 一种控制数据传输的方法、装置、设备及介质 | |
CN115996188A (zh) | 业务调度方法、装置、设备及计算机可读存储介质 | |
US20190357230A1 (en) | Wireless Communication Device | |
CN117082152B (zh) | 服务处理方法、系统及装置 | |
CN116033536B (zh) | 发射功率调整方法及无线路由器 | |
US20020015384A1 (en) | Broadband Ethernet data flow control |
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 |