CN114285790A - 数据处理方法、装置、电子设备和计算机可读存储介质 - Google Patents

数据处理方法、装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN114285790A
CN114285790A CN202111568822.6A CN202111568822A CN114285790A CN 114285790 A CN114285790 A CN 114285790A CN 202111568822 A CN202111568822 A CN 202111568822A CN 114285790 A CN114285790 A CN 114285790A
Authority
CN
China
Prior art keywords
target
flow
port
stream
data packet
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.)
Pending
Application number
CN202111568822.6A
Other languages
English (en)
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.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud Technology 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 Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202111568822.6A priority Critical patent/CN114285790A/zh
Publication of CN114285790A publication Critical patent/CN114285790A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供一种数据处理方法、装置、电子设备和计算机可读存储介质,该数据处理方法包括:接收目标数据包,所述目标数据包包括目标流标识,所述目标流标识用来标识所述目标数据包所属的目标流;获取流记录表,并根据所述目标流标识确定所述流记录表中不包括所述目标流;获取所述目标流对应的多个端口,所述多个端口分别对应一负载值,各个端口对应的负载值是根据各个端口对应的流的优先级确定的;在所述多个端口中确定一负载值最小的端口作为第一端口;将所述目标数据包分配至所述第一端口对应的第一端口队列,以便将所述目标数据包转发至所述第一端口。本公开实施例提供的技术方案可以降低流完成时间,从而降低第一设备中平均流完成时间。

Description

数据处理方法、装置、电子设备和计算机可读存储介质
技术领域
本公开涉及计算机与互联网技术领域,尤其涉及一种数据处理方法及装置、电子设备和计算机可读存储介质。
背景技术
当前的数据中心中运行着许多与用户进行交互的应用,如网络搜索、在线游戏和网络购物等,这些应用都是对时延极其敏感的时延敏感应用,它们的响应时延直接决定了用户的体验。例如某公司提供的搜索返回结果的时延每增加500ms,则会导致其利润减少1.5%。应用的时延大小主要是由应用发送的流的FCT(Flow Completion Time,平均流完成时间)决定,因此最小化平均FCT具有重要意义。
因此,一种能够优化平均流完成时间的方案对于降低数据传输时延有着重要意义。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解。
发明内容
本公开的目的在于提供一种数据处理方法、装置、电子设备以及和计算机可读存储介质,能够降低数据包传输时延,从而降低平均流完成时间。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
本公开实施例提供了一种数据处理方法,包括:接收目标数据包,所述目标数据包包括目标流标识,所述目标流标识用来标识所述目标数据包所属的目标流;获取流记录表,并根据所述目标流标识确定所述流记录表中不包括所述目标流;获取所述目标流对应的多个端口,所述多个端口分别对应一负载值,各个端口对应的负载值是根据各个端口对应的流的优先级确定的,所述优先级是根据流的流量大小确定的;在所述多个端口中确定一负载值最小的端口作为第一端口;将所述目标数据包分配至所述第一端口对应的第一端口队列,以便将所述目标数据包转发至所述第一端口。
在一些实施例中,所述方法还包括:根据所述目标流标识在所述流记录表中创建所述目标流对应的目标流项;在所述目标流项中设置端口信息、有效位信息以及老化位信息;其中,所述端口信息设置为所述第一端口;所述有效位信息设置为第一值,用于表示所述目标流与所述第一端口是有效对应的;所述老化位信息设置为第二值,用于表示在第一时间间隔内有接受到所述目标流中的数据包。在一些实施例中,所述方法还包括:获取所述第一端口对应的第一负载值和所述目标数据包对应的目标优先级;根据所述目标优先级和所述第一负载值确定一第二负载值;根据所述第二负载值更新所述第一端口对应的第一负载值。
在一些实施例中,所述方法还包括:根据所述目标流标识确定所述目标流与所述流记录表中的目标流项对应,所述目标流项中包括端口信息和老化位信息,所述端口信息的值为第二端口;将所述目标数据包分配至所述第二端口对应的第二端口队列,以便将所述目标数据包转发至所述第二端口;将所述老化位信息对应的值设置为第二值。
在一些实施例中,所述方法还包括:以第一时间间隔为更新间隔对所述流记录表进行周期性检测,以确定所述目标流项中老化位信息对应的值;若所述老化位信息对应的值为第二值,则确定在所述更新间隔内没有接收到属于所述目标流的数据包,则将所述目标流项对应的有效位信息设置为第三值,用于表示所述目标流与所述第一端口无效对应,以便将所述目标流项从所述流记录表中删除;若所述老化位信息对应的值为第四值,则确定在所述更新间隔内有接收到属于所述目标流的数据包,则将所述老化位信息对应的值设置为第二值,维持所述有效位信息为第一值,用于表示所述目标流与所述第一端口有效对应。
在一些实施例中,所述方法还包括:以第二时间间隔为衰减周期对所述第一端口对应的负载值按照目标比例进行衰减处理。
本公开实施例提供了一种数据处理装置,包括:目标数据包接收模块、流记录表记录模块、端口获取模块、负载比较模块以及分配模块。
其中,所述目标数据包接收模块用于接收目标数据包,所述目标数据包包括目标流标识,所述目标流标识用来标识所述目标数据包所属的目标流;所述流记录表记录模块可以用于获取流记录表,并根据所述目标流标识确定所述流记录表中不包括所述目标流;所述端口获取模块可以用于获取所述目标流对应的多个端口,所述多个端口分别对应一负载值,各个端口对应的负载值是根据各个端口对应的流的优先级确定的;所述负载比较模块可以用于在所述多个端口中确定一负载值最小的端口作为第一端口;所述分配模块可以用于将所述目标数据包分配至所述第一端口对应的第一端口队列,以便将所述目标数据包转发至所述第一端口。
本公开实施例提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的数据处理方法。
本公开实施例提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的数据处理方法。
本公开实施例提出一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据处理方法。
本公开实施例提供的数据处理方法、装置及电子设备和计算机可读存储介质,在确定记录表中不存在目标流的相关信息时,通过在目标流对应的多个端口中确定负载最小的端口作为该转发该目标流的端口,其中端口的负载是根据端口对应流的大小确定的,从而降低了转发目标流的时延。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了应用于本公开实施例的数据处理方法或数据处理装置的示例性系统架构的示意图。
图2是根据一示例性实施例示出的一种数据处理方法的流程图。
图3是根据一示例性实施例示出的一种数据处理方法。
图4是根据一示例性实施例示出的一种老化位更新方法。
图5是根据一示例性实施例示出的一种优先级确定方法。
图6是根据一示例性实施例示出的一中数据处理结构。
图7是根据一示例性实施例示出的一种数据处理装置的框图。
图8是根据一示例性实施例示出的一种数据处理装置的框图。
图9示出了适于用来实现本公开实施例的终端设备或服务器的电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本说明书中,用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在一个或多个要素/组成部分/等;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”和“第三”等仅作为标记使用,不是对其对象的数量限制。
下面结合附图对本公开示例实施方式进行详细说明。
图1示出了可以应用于本公开实施例的数据处理方法或数据处理装置的示例性系统架构的示意图。
如图1所示,系统架构100可以包括数据中心服务器101、102以及103、交换机104以及第一端口、第二端口和第三端口。
其中,数据中心服务器101、102以及103与交换机104之间可以通过网络介质(未在图中示出)进行通信以传输数据包1、2、3、4等。网络介质可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端向数据中心服务器101、102或者103发送消息,该数据中心服务器101、102或者103可以根据用户发送的消息经由交换机向其他数据中心发送。
数据中心服务器101、102或者103可以是提供各种服务的服务器,例如对用户利用终端设备所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。例如向用户提供聊天服务的服务器、向用户提供搜索的服务器等,本公开对此不做限制。
服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器等,本公开对此不做限制。
在本公开中,数据中心服务器可例如完成以下操作:在发送目标流中的目标数据包时,获取所述目标流的当前剩余流量大小;根据所述当前剩余流量大小和预设流区间阈值设定所述目标数据包的优先级;将所述目标数据包发送给第一设备,以便所述第一设备根据所述目标数据包的优先级在所述目标流对应的多个端口中确定第一端口,以便向所述第一端口转发所述目标数据包。
交换机104可以是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。
在本公开提供的技术方案中,交换机104可以实现以下步骤:接收目标数据包,所述目标数据包包括目标流标识,所述目标流标识用来标识所述目标数据包所属的目标流;获取流记录表,并根据所述目标流标识确定所述流记录表中不包括所述目标流;获取所述目标流对应的多个端口,所述多个端口分别对应一负载值,各个端口对应的负载值是根据各个端口对应的流的优先级确定的;在所述多个端口中确定一负载值最小的端口作为第一端口;将所述目标数据包分配至所述第一端口对应的第一端口队列,以便将所述目标数据包转发至所述第一端口。
应该理解,图1中的数据中心服务器、交换机、端口的数目仅仅是示意性的,根据实际需要,可以具有任意数目的数据中心服务器、交换机和端口。
1)相关技术中,流调度技术方案中大都假设流的大小信息为先验知识,降低了流调度的可性行。
2)相关技术中,大都使用近似最短任务优先(Shortest Job First,SJF)的策略来最小化流完成时间。在SJF中,越小的流分配的优先级越高,越大的流则分配的优先级越低,因此使用SJF可能会导致大流长时间得到不到服务,即大流饥饿问题。另外,使用SJF得到的结果不是最优的,使用最短剩余处理时间优先(Shortest Remaining Processing Time,SRPT)的策略得到的结果才是最优的。举例来说,假设链路每单位时间传送1个包,A、B两流分别是20个包和10个包的流,由于B流较小被分配了较高的优先级,在网络传输过程中,假设A流已经传输了19个包,只剩余了1个包,此时B流到达,然而B流拥有较高的优先级,所以开始发送B流的10个包,直到B流结束,A流才能发送剩余的1个包。因此,平均流完成时间为(30+10)/2=20,而如果根据SRPT,A流剩余1个包,B流剩余10个包,因此A流有较高优先级,A流传输完成后,B流才会传输,因此平均FCT为(20+11)/2=15.5。因此SJF得到的不是最优解,使用SRPT才会得到最优解。而现有的使用SRPT的方案有的需要修改硬件来实现,有的则需要更改整个协议栈,导致布署成本极高,不能应用于实际。
基于现有方案的两个缺点,本公开提出了一个新技术方案,具体将通过以下实施例进行说明。
图2是根据一示例性实施例示出的一种数据处理方法的流程图。本公开实施例所提供的方法可以由任意具备计算处理能力的电子设备来执行,例如该方法可以由第一设备执行,该第一设备可以是上述图1实施例中的交换机,在下面的实施例中,以交换机为执行主体为例进行举例说明,但本公开并不限定于此。
参照图2,本公开实施例提供的数据处理方法可以包括以下步骤。
步骤S202,接收目标数据包,所述目标数据包包括目标流标识,所述目标流标识用来标识所述目标数据包所属的目标流。
在一些实施例中,数据通常以流(Flow)的形式在设备之间进行传输,该流可以由多个数据包组成,该流也可以由多个流簇(Flowlet)组成,每个流簇可以由多个数据包组成,本公开对此不做限制。
在本公开中,目标流可以是流Flow,也可以是流簇Flowlet,本公开对此不做限制。
在一些实施例中,可以在每个数据包中标识该数据包所属的流。例如,可以在数据包的包头部的DSCP(Differentiated Services Code Point,差分服务代码点)字段处标识该数据包所属的流的信息。
步骤S204,获取流记录表,并根据所述目标流标识确定所述流记录表中不包括所述目标流。
在一些实施例中,可以在第一设备中维护一流记录表,该流记录表用来记录交换机所对应的多个端口数据转发情况,例如记录当前时刻正在等待或者正在被端口转发的有效流信息。
如表1所示,可以通过多条记录作为每个流的记录项。如表1所示,第一行就可以是流标识为Flow-ID1的流所对应的记录项。
在每个记录项中可以包括有效位信息、端口信息以及老化位信息。
其中,端口信息用来记录该流Flow-ID当前所对应的端口信息,如表1所示流标识为Flow-ID1对应的流可以与端口Port1对应。
有效位信息用来标识该流Flow-ID1与端口信息中的端口Port1是否是有效对应,当有效位信息为第一值(例如1)时,则认为该流与该端口是有效对应,即该流将会通过该端口进行转发,当有效位为第三值(例如0)时,则认为该流与该端由无效对应,即该流已被转发完成,可以将该流对应的记录项从流记录表中删除。
所述老化位信息用来记录在某个周期内,交换机是否有接收到流标识为Flow-ID1的流的数据包,若交换机在该周期内有接收到该流Flow-ID1中的数据包,则老化位会被设置为第二值(例如0);若交换机在该周期内没有接收到该流Flow-ID1中的数据包,则老化为会被设置为第四值(例如1);一旦在该周期结束确定该流Flow-ID1对应的老化位是第四值,则确定在该周期内交换机没有收到该流Flow-ID1中的数据包,交换机则会认为该流Flow-ID1已传输完毕,就可以将该流Flow-ID1对应的项(例如第一行的记录)从流记录表中删除。
表1
流ID 有效位 端口 老化位
Flow-ID1 1 Port1 0
Flow-ID2 0 Port2 0
在一些实施例中,若流记录表中不存在目标流标识或者该目标流标识对应的记录项中的有效位信息为第三值(例如为1),则认为流记录表中不包括该目标流。
步骤S206,获取所述目标流对应的多个端口,所述多个端口分别对应一负载值,各个端口对应的负载值是根据各个端口对应的流的优先级确定的。
在一些实施例中,目标流应该有其目标接收设备,从交换机到达该目标接收设备可能有多条线路,每个线路均对应有一个端口。
在一些实施例中,交换机中还可以维护一如表2所示的端口表,通过该端口表可以记录各个端口中的负载信息。
表2
端口 负载
Port1 10
Port2 8
其中,端口对应的负载信息可以用来记录该端口所对应的端口队列中待处理的各个流的优先级信息,其中各个流的优先级可以用来标识该流的数据量大小信息,其中端口队列可以指的是由待被其对应端口处理的流(亦可以说成是数据包)组成的队列。
步骤S208,在所述多个端口中确定一负载值最小的端口作为第一端口。
在一些实施例中,可以从目标流对应的多个端口中确定负载最小的端口作为第一端口。
步骤S210,将所述目标数据包分配至所述第一端口对应的第一端口队列,以便将所述目标数据包转发至所述第一端口。
在一些实施例中,每个端口都可以与一队列对应,该端口对应的队列中会包括即将通过该端口进行转发的数据流。
步骤S212,根据所述目标流标识在所述流记录表中创建所述目标流对应的目标流项。
在一些实施例中,若判断记录表中没有目标流的有效记录,则可以在记录表中创建该目标流对应的目标流项。
可以通过以下步骤判断记录表中没有目标流的有效记录:若判断记录表中没有目标流的目标流标识,则认为记录表中没有目标流的有效记录;或者若记录表中有目标流的目标流标识,但是该目标流标识对应的有效位信息为第三值,则判断该记录表中没有目标流的有效记录。
步骤S214,在所述目标流项中设置端口信息、有效位信息以及老化位信息;其中,所述端口信息设置为所述第一端口;所述有效位信息设置为第一值,用于表示所述目标流与所述第一端口是有效对应的;所述老化位信息设置为第二值,用于表示在第一时间间隔内有接受到所述目标流中的数据包。
在创建该目标流项时,可以将目标流的端口信息设置为第一端口,有效位信息设置为第一值(例如1),老化位信息设置为第二值(例如为0)。
步骤S216,获取所述第一端口对应的第一负载值和所述目标数据包对应的目标优先级。
在完成目标流项的创建之后,还需要根据目标流对应的目标优先级更新第一端口的负载。
其中,由于流记录表中没有记录目标流的有效信息,则可以认为目标数据包是目标流中的第一个包,则根据目标流中记录的目标流的有效即信息更新第一端口的负载信息。
步骤S218,根据所述目标优先级和所述第一负载值确定一第二负载值。
在一些实施例中,可以将第一负载值与目标优先级相加以确定该第二负载值。
例如,若第一端口之前的第一负载值为0,目标流的目标优先级为10,则第一端口当前的第二负载值为10。
步骤S220,根据所述第二负载值更新所述第一端口对应的第一负载值。
在一些实施例中,可以通过第二负载值更新第一负载值,因此第一端口当前的第一负载值为第二负载值(例如10)。
另外,因为各个端口对数据包的处理速度是固定的,因此交换机可以以第二时间间隔为衰减周期对端口表中各个端口的负载进行衰减处理。
在进行衰减处理时,可以通过目标比例对各个端口对应的负载值进行衰减处理。例如,可以使用如下公式:X=X*(1-α)对端口负载X进行衰减处理。其中X为负载值(例如10),α为预设值(例如0.2),则port1一次衰减后变为10*(1-0.2)=8。若为非整数值,则向上取整。
上述实施例提供的技术方案,一方面在流记录表中没有目标流标识对应的流记录项的情况下,通过在目标流对应的多个端口中确定负载最小的第一端口作为转发目标流的端口,降低了目标流的转发时延;另一方面,在流记录表中没有目标流标识对应的记录项的情况下,根据目标流标识、第一端口信息在流记录表中创建了该目标流对应的记录项,以便交换机再接收到目标流中其他数据包时,直接通过第一端口对该目标流中的数据包进行转发,保证了同一条流中的数据包均通过同一端口进行有序转发,还通过老化位信息确定目标流中的数据包是否已经传输完毕,并通过有效位信息确定目标流与第一端口是否是有效对应,以对目标流是否传输完毕进行有效判断。
总之,上述实施例一方面通过流记录表保证了同一条流必定通过同一端口进行转发;另一方面,还保证了每接收到一条新的流的时候,都能对其对应的多个端口的负载信息进行动态规划,以使该新的流通过负载最小的端口进行转发,进而使得该流的转发时延最小,从而使得经过交换机的的流平均流完成时间最短。
上述技术方案,通过引入流记录表和端口表,确定了每条链路上的负载,使得每条链路上的负载尽可能相同,提高了平均链路利用率,降低了平均流完成时间。总之上述技术方案考虑了链路负载的负载均衡,避免了链路拥塞,提高了链路利用率。
在一些实施例中,在执行步骤S204之前,还可以执行以下步骤一~步骤二:
步骤一,在接收到目标数据包时,获取所述目标数据包的优先级。
在本实施例中,数据中心服务器在设定目标流中目标数据包的优先级之后,会将已设定优先级的目标数据包发送至交换机,此时,交换机在接收到数据中心服务器发送的目标数据包时,获取目标数据包的优先级。其中,目标数据包的优先级是基于目标流的当前剩余目标流量大小设定的。
服务器在发送目标数据包时,可将设定的优先级标记在目标数据包头部的DSCP字段处,其中,DSCP在每个目标数据包IP头部的服务类别TOS标识字节中,利用已使用的6比特和未使用的2比特,通过编码值来区分优先级。对应的,交换机在获取目标数据包的优先级时,可对目标数据包头部的DSCP字段解析得到。当然,可以理解,该目标数据包除携带设定的优先级外,还可以携带对应的目标流标识,其中,目标流标识可以为字符串,具有唯一性,用于区分不同目标流。
步骤二,根据所述优先级将所述目标数据包分配至对应的优先级队列中,以在达到预设转发条件时,对所述优先级队列中的目标数据包通过目标流记录表和端口表进行端口转发。
在获取到目标数据包的优先级之后,根据优先级将目标数据包分配至对应的优先级队列中,以在达到预设转发条件时,根据流记录表和端口表对该优先级队列中的目标数据包进行端口的选择和转发。其中,预设转发条件即为该目标数据包在优先级队列中具有最高优先权,即,比该目标数据包所在优先级队列更高优先级的队列中的目标数据包转发完成、且该目标数据包在其所在优先级队列中排在第一位时。
其中,步骤二还可以包括步骤1~5:
步骤1,获取所述目标数据包对应目标流的目标流标识,查询目标流信息表中是否存在与所述目标流标识对应的目标流表项。
本实施例中,目标数据包的分配原则如下:先获取目标数据包对应目标流的目标流标识,然后,查询目标流信息表中是否存在与目标流标识对应的目标流表项。
其中,各个交换机均会维持一张目标流信息表,目标流信息表中包含经过该交换机的优先级队列的每条流的信息,该目标流信息表至少包括流标识(记为id)、当前优先级(记为cur_pri)、当前包数量(记为cur_pri),当然还可以包括老化位(记为age),如下表1所示。其中,流标识、当前优先级和当前包数量的设定,是用于确定如何对目标数据包进行分配;老化位的设定,是用于确定是否已完成各条目标流全部目标数据包的分配,进而确定是否对各条目标流所对应表项进行删除,以节省内存。
表3
Figure BDA0003422822700000131
若存在与所述目标流的目标流标识对应的目标流表项,则执行步骤2,则从所述目标流表项中获取所述目标流标识对应目标流的当前包数量。
例如,若目标流标识为F1_ID,则获取目标流表项为F1_ID所在行的的当前数据包数量,即上表1中第一行中的当前数据包数量。
进一步地,若目标流信息表中不存在与该目标流标识对应的目标流表项,此时,则在目标流信息表中创建该目标流标识对应的目标流表项,其中,该目标流表项对应的目标流信息设定如下:当前优先级cur_pri设为该目标数据包的优先级i,当前包数量cur_num设为1,老化位age设为0。进而,将目标数据包分配至该优先级对应的优先级队列中,即分配至优先级队列i中,i为大于或者等于1的整数。
步骤3,判断所述当前包数量是否为第一预设值。
在从目标流表项中获取目标流标识对应目标流的当前包数量之后,判断该当前包数量是否为第一预设值,其中,第一预设值可选地设为0。
若所述当前包数量为第一预设值,则执行步骤4,将目标数据包分配至该目标流表现的优先级对应的优先级队列中,并更新目标流表项中对应目标流的当前包数量信息和当前优先级信息;
若当前包数量为第一预设值0,则说明该目标流中之前发送至交换机的目标数据包已完成转发,此时,则可以直接将该目标数据包分配至目标数据包优先级标记对应的优先级队列中。例如,交换机接收到一个目标流标识为F1_ID的目标数据包,其优先级为7,从目标流信息表中查询到其当前包数量cur_num=0,此时,则将该目标数据包分配至优先级为7的优先级队列中。
若所述当前包数量不为第一预设值,则执行步骤5,从所述目标流表项中查询所述目标流标识对应目标流的当前优先级,将所述目标数据包分配至所述当前优先级对应的优先级队列中。
若当前包数量不为第一预设值0,则说明该目标流中之前发送至交换机的目标数据包还未全部完成转发,此时,为避免该目标流的目标数据包转发顺序混乱,需将目标数据包分配至同一目标流未完成转发的目标数据包的后面,因此,先从目标流表项中查询目标流标识对应目标流的当前优先级,然后,将目标数据包分配至该当前优先级对应的优先级队列中。例如,交换机接收到一个目标流标识为F2_ID的目标数据包,其优先级为3,从目标流信息表中查询到其当前包数量cur_num=10、而非第一预设值0,此时,则获取F2_ID的当前优先级,得到cur_pri为5,则该目标数据包分配至优先级为5的优先级队列中。
本发明实施例提供的技术方案,通过在接收到目标数据包时,获取目标数据包的优先级;根据优先级将目标数据包分配至对应的优先级队列中,以在达到预设转发条件时,根据流记录表和端口表对优先级队列中的目标数据包进行端口转发。本发明实施例中,是根据目标流中目标数据包的优先级来进行分配和转发,而该优先级是基于目标流的当前剩余目标流量大小来设定的,通过结合数据中心服务器实现了近似的最短剩余处理时间优先(Shortest RemainingProcessing Time,SRPT)策略,相比于现有技术中直接基于目标流的优先级来设定目标数据包的优先级,本发明可避免大目标流量的目标流长时间得到不到服务的现象,同时亦可避免背景技术中提及的优先级较低的目标流因在传输中途等待另一优先级较高的目标流、而影响平均目标流完成时间的现象,从而可降低平均目标流完成时间。此外,本发明只需对数据中心中交换机的软件层实现逻辑进行改进,而无需修改硬件,从而可实现在降低平均目标流完成时间的同时降低成本。
在一些实施例中,在根据所述优先级将所述目标数据包分配至对应的优先级队列中的步骤之后,还包括:更新所述目标流表项中对应目标流的当前包数量、当前优先级和老化位。
本实施例中,交换机在根据优先级将目标数据包分配至对应的优先级队列中之后,需对目标流信息表进行更新,以便于后续对接收到的各目标流中的目标数据包进行分配。具体的,更新目标目标流表项中对应目标流的当前包数量、当前优先级和老化位。当然,可以理解,如上所述,在具体实施时,目标流信息表中可不设置老化位,此时,则只需更新目标流表项中对应目标流的当前包数量、当前优先级。
具体的更新方式包括以下2种情况:
1)在获取到优先级为i的目标数据包之后,查询到目标流信息表中存在与该目标数据包对应目标流的目标流标识所对应的目标流表项,且目标流表项中的当前包数量为0,则将该目标数据包分配至优先级为i的优先级队列中,然后,更新该目标流表项中的当前包数量和当前优先级。具体的,将该目标流表项中的当前包数量cur_num加1,更新为1,同时,将当前优先级更新为目标数据包携带的标记优先级i,将老化位更新为第三预设值(可设为0)。
2)在获取到优先级为i的目标数据包之后,查询到目标流信息表中存在与该目标数据包对应目标流的目标流标识所对应的目标流表项,当目标流表项中的当前包数量不为0时,则获取目标流表项的当前优先级(记为j),并将该目标数据包分配至优先级为j的优先级队列中,然后,更新该目标目标流表项中的当前包数量和老化位,无需更新当前优先级。具体的,将该目标流表项中的当前包数量cur_num加1,同时,将老化位更新为第三预设值(可设为0)。
在一些实施例中,每隔预设时间检测所述目标流信息表中是否存在老化位为第二预设值的表项;若不存在老化位为第二预设值的表项,则将所述目标流信息表中各表项的老化位更新为第三预设值;若存在老化位为第二预设值的表项,则检测老化位为第二预设值的表项所对应的当前包数量是否为第一预设值;若为第一预设值,则从所述目标流信息表中删除老化位为第二预设值的表项,并将经删除处理的目标流信息表中各表项的老化位更新为第三预设值;若不为第一预设值,则将所述目标流信息表中各表项的老化位更新为第三预设值。
进一步地,在步骤2之后,所述方法还包括:
当交换机准备转发优先级队列中的目标数据包时,会查询目标流信息表,得到该目标数据包对应目标流的表项,并将该表项中的当前包数量cur_num减1,然后转发该目标数据包。
进一步地,该方法还包括:
步骤A1300,每隔预设时间检测所述目标流信息表中是否存在老化位为第二预设值的表项。
本实施例中,交换机每隔预设时间检测目标流信息表中是否存在老化位为第二预设值的表项。其中,预设时间是预先设定的,其设定依据在于若经过该预设时间,目标流未发送任一目标数据包,可认定该目标流已结束了目标数据包的发送,可选地可设为1s。为便于说明,以将第二预设值设为1进行说明。
若不存在老化位为第二预设值的表项,则执行步骤A1410,将所述目标流信息表中各表项的老化位更新为第三预设值。
若不存在老化位为第二预设值的表项,则说明该目标流信息表中各条目标流在上一预设时间均未完成目标数据包的发送,此时,将目标流信息表中各表项的老化位更新为第三预设值。为便于说明,以将第三预设值设为0进行说明。
若存在老化位为第二预设值的表项,则执行步骤A1420,检测老化位为第二预设值的表项所对应的当前包数量是否为第一预设值。
若存在老化位为第二预设值的表项,则说明该目标流信息表中可能存在已完成目标数据包发送的目标流,此时,检测老化位为第二预设值的表项所对应的当前包数量是否为第一预设值,以检测该目标流中的目标数据包是否已被交换机全部转发。其中,第一预设值为0。
若为第一预设值,则执行步骤A1510,从所述目标流信息表中删除老化位为第二预设值的表项,并将经删除处理的目标流信息表中各表项的老化位更新为第三预设值。
若不为第一预设值,则执行步骤A1520,将所述目标流信息表中各表项的老化位更新为第三预设值。
若为第一预设值0,则从目标流信息表中删除老化位为第二预设值1的表项,并将经删除处理的目标流信息表中各表项的老化位更新为第三预设值0。
若不为第一预设值0,则将目标流信息表中各表项的老化位更新为第三预设值0。
需要说明的是,在具体实施例中,第二预设值和第三预设值的设定只需不同即可,不限于设为1和0。
本实施例中,在目标流信息表中设定老化位,以用于判定各目标流中的目标数据包是否已完成转发,并在检测到完成转发时,在目标流信息表中删除其对应的表项,以节省内存。
进一步地,基于上述应用于交换机的第一和第二实施例,该目标流量调度方法还包括:
在接收到数据中心服务器发送的目标数据包时,检测目标数据包的当前缓存(buffer)是否已满;若已满,则将buffer中优先级最低的目标数据包与新接收到的目标数据包,丢弃两者中优先级较低的目标数据包,留下优先级更高的目标数据包。本实施例中采用优先级丢包策略,实现了在缓存已满时,根据优先级保留优先级较高的目标数据包,从而使得更高优先级目标数据包可优先转发,从而可进一步节省处理时间。
图3是根据一示例性实施例示出的一种数据处理方法。参考图3,上述数据处理方法可以包括以下步骤。
步骤S302,根据所述目标流标识确定所述目标流与所述流记录表中的目标流项对应,所述目标流项中包括端口信息和老化位信息,所述端口信息的值为第二端口。
在一些实施例中,若流记录表中存在目标流标识,且该目标流标识对应的有效位信息为第一值,则认为该流记录表中存在该目标流的相关记录。
步骤S304,将所述目标数据包分配至所述第二端口对应的第二端口队列,以便将所述目标数据包转发至所述第二端口。
在一些实施例中,若流记录表中存在目标流的有效信息,则认为该目标流的数据传输尚未结束,则应该继续将目标数据包通关该目标流对应的端口(即第二端口)进行转发。
步骤S306,将所述老化位信息对应的值设置为第二值。
在一些实施例中,当确定流记录表中存在目标流的目标流项时,需要将该目标流项中的有效位设置为第二值,以记录在本周期内交换机有接收到该目标流中的数据包。
上述实施例一方面通过流记录表保证了同一条流必定通过同一端口进行转发。
图4是根据一示例性实施例示出的一种老化位更新方法。参考图4,上述老化位更新方法可以包括以下步骤。
步骤S402,以第一时间间隔为更新间隔对所述流记录表进行周期性检测,以确定所述目标流项中老化位信息对应的值。
其中,第一时间间隔时预设设定的时间间隔,一般来说在第一时间间隔内,一个流可以完成一次传输。
步骤S404,若所述老化位信息对应的值为第四值,则确定在所述更新间隔内没有接收到属于所述目标流的数据包,则将所述目标流项对应的有效位信息设置为第三值,用于表示所述目标流与所述第一端口无效对应,以便将所述目标流项从所述流记录表中删除。
在一些实施例中,若确定老化位信息为第四值(例如1),则确定在该次更新间隔内交换机没有收到任何属于目标流的数据包,则可以将目标流项对应的有效位信息设置为第三值(例如为0),用于表示所述目标流与所述第一端口无效对应,以便将所述目标流项从所述流记录表中删除。
步骤S406,若所述老化位信息对应的值为第二值,则确定在所述更新间隔内有接收到属于所述目标流的数据包,则将所述老化位信息对应的值设置为第四值,维持所述有效位信息为第一值,用于表示所述目标流与所述第一端口有效对应。
在一些实施例中,若确定老化为信息为第第二值,则确定在该次更新间隔内交换机有收到属于目标流的数据包,即确定目标流尚未传输完毕,则将所述老化位信息对应的值设置为第二值,维持所述有效位信息为第一值,用于表示所述目标流与所述第一端口有效对应。
上述实施例通过对老化位的周期性检测,确定了交换机在第一时间间隔内是否有接收目标流中的数据包,以便确定目标流与其对应的端口是有效对应,并通过有效位信息记录该有效对应情况。通过上述老化位和有效位的配合,一方面可以保证同一流中的数据包均会有序通过同一端口进行转发,另一方面在接收到新的流的数据包时对其对应的端口进行动态规划,以使得该新的流可以通过负载最小的端口进行转发,进而降低了该流的转发时延。
图5是根据一示例性实施例示出的一种优先级确定方法。本公开实施例所提供的方法可以由任意具备计算处理能力的电子设备来执行,例如该方法可以由第二设备执行,该第二设备可以是上述图1实施例中的数据中心服务器,在下面的实施例中,以数据中心服务器为执行主体为例进行举例说明,但本公开并不限定于此。
参考图5,上述优先级确定方法可以包括以下步骤。
步骤S502,在发送目标流中的目标数据包时,获取所述目标流的当前剩余流量大小。
其中,所述当前剩余流量大小是基于流的预测流量大小和流中已发送数据包的数据包大小更新得到的。
在上述步骤S502之前,该数据处理方法还包括步骤A40~步骤A50。
步骤A40,在生成流时,第二设备获取流的第一特征数据,将所述第一特征数据输入至流区间预测模型,得到预测流区间。
在生成流时,服务器获取流的第一特征数据,将第一特征数据输入至流区间预测模型,得到预测流区间。其中,流是由多个数据包构成的,可以为数据流、信息流等。第一特征数据为流生成时刻的一些特征值,可以包括但不限于:内存使用率、磁盘I/O(Input/Output,输入/输出)、网络I/O、CPU(Central Processing Unit,中央处理器)使用率和前K(一预设值)条流的流量大小。流区间预测模型是预先基于梯度提升树(Gradient BoostingDecision Tree,GBDT)模型训练得到的,其训练过程可参照下述实施例。预测流区间,即为预测得到的该流所属的流区间。
步骤A50,根据所述预测流区间和所述预设流区间阈值,计算得到所述流的预测流量大小。
然后,根据预测流区间和预设流区间阈值,计算得到流的预测流量大小。其中,预设流区间阈值是预先计算得到的,其获取过程可参照下面的实施例,通过预设流区间阈值可将数据中心的流量大小分布划分为多个流区间。例如,可用(K-1)个阈值(即预设流区间阈值)将该数据中心的流大小分布划分为K个流区间,为便于说明,将第i个阈值记为αi,当i=0时,α0=0,而αK是这个数据中心中流量大小可达到的最大值。对于α0≤α<α1,这一区间记为区间1,αi-1≤α<αi,这一区间记为区间i。K为大于1的整数,i为大于等于0的整数。
对于预测流量大小的计算,可采用一个近似值来进行计算,可选地,预测流量大小可设为预测流区间大小所在区间的两端阈值的平均值。假设预测流区间为i,则预测流量大小S=(αi-1i)/2。服务器在发送流的数据包时,先获取流的当前剩余流量大小。其中,当前剩余流量大小是基于流的预测流量大小和流中已发送数据包的数据包大小更新得到的。具体的,得到一条流的预测流量大小S值后,服务器每发送这条流的一个数据包,则用该预测流量大小S减去发出的数据包的大小得到新的流量大小,即当前剩余流量大小。
步骤S504,根据所述当前剩余流量大小和预设流区间阈值设定所述目标数据包的优先级。
然后,根据当前剩余流量大小和预设流区间阈值设定数据包的优先级。例如,上述例中,开始时,当前剩余流量大小即为预测流量大小,为(αi-1i)/2,此时,根据预设流区间阈值可设定数据包的优先级为i;随着数据包的发送,当前剩余流量大小会逐渐减小,在当前剩余流量大小小于αi-1后,则将之后发送数据包的优先级设为i-1,依次类推,在当前剩余流量大小为负值时,则设定数据包的优先级为最高优先级1。
步骤S506,将所述目标数据包发送给第一设备,以便所述第一设备根据所述目标数据包的优先级在所述目标流对应的多个端口中确定第一端口,以便向所述第一端口转发所述目标数据包。
在发送数据包时,服务器可将设定的优先级标记在数据包头部的DSCP(Differentiated Services CodePoint,差分服务代码点)字段处,其中,DSCP在每个数据包IP(Internet Protocol,网际互连协议)头部的服务类别TOS(Type Of Service,服务类型)标识字节中,利用已使用的6比特和未使用的2比特,通过编码值来区分优先级。
将所述目标数据包发送给第一设备后,第一设备会根据目标数据包的优先级在目标流对应的多个端口中确定第一端口,以便向第一端口转发该目标数据包,其具体过程可以参考图2~图4的实施例,本实施例不再赘述。
进一步地,基于上述第一实施例,提出一种流区间预测方法。具体包括步骤A60~步骤A90。
步骤A60,获取训练样本数据,所述训练样本数据包括第二特征数据和样本流量大小。
在本实施例中,介绍了流区间预测模型的训练过程,具体如下:
先获取训练样本数据,训练样本数据包括第二特征数据和样本流量大小。其中,第二特征数据为流生成时刻的一些特征值,可以包括但不限于:内存使用率、磁盘I/O、网络I/O、CPU使用率和前K条流的流量大小。样本流量大小即样本流的流量大小。
步骤A70,根据所述样本流量大小和所述预设流区间阈值,得到样本流区间。
然后,根据样本流量大小和预设流区间阈值,得到样本流区间。例如,预设流区间阈值包括α1、α2、α3、……、αK时,可划分得到K个样本流区间,对于α0≤α<α10=0),这一区间记为区间1;对于αi-1≤α<αi,这一区间记为区间i;对于αK-1≤α<αK,这一区间记为区间K。
根据样本流量大小与预设流区间阈值之间的大小关系,确定其对应的样本流区间。
步骤A80,根据所述样本流区间和所述第二特征数据,构建得到训练样本集。
步骤A90,通过所述训练样本集对预设梯度提升树模型进行训练,得到所述流区间预测模型。
根据样本流区间和第二特征数据,构建得到训练样本集,进而通过训练样本集对预设梯度提升树模型进行训练,得到流区间预测模型。具体的训练方法可参照现有技术,此处不再赘述。
需要说明的是,本实施例中选用梯度提升树模型来进行训练,得到区间预测模型,是因为:梯度提升树模型训练完成后是一系列的if/else语句,可以用一些工具将其转化为if/else语句执行,也可以用其它语言编写这些if/else语句,从而在进行预测时,可快速地执行,节省了中间的处理时间,因此,相比于其他模型,可进一步节省平均流完成时间。
此外,本实施例中,是对流区间进行预测,相比于对具体的流量大小进行预测,大大提高精确率。
通过上述方式,通过构建训练样本集,以训练得到流区间预测模型,以便于后续通过该流区间预测模型对流的流区间进行预测。本实施例中,流区间预测模型采用梯度提升树模型,相比于其他模型,可快速地执行,节省了中间的处理时间,从而可进一步节省平均流完成时间。此外,本实施例中,通过对流区间进行预测,相比于对具体的流量大小进行预测,可大大提高精确率。
进一步地,基于实施例,本实施例提出了一种预设流区间阈值确定方法。
步骤A100,获取数据中心的当前负载、带宽速率和优先级队列数量。
在本实施例中,预设流区间阈值的获取过程如下:
先获取数据中心的当前负载、带宽速率和优先级队列数量,为便于后续说明,将当前负载记为ρ,带宽速率记为μ,优先级队列数量记为K,第i个队列用Qi表示,其优先级为i,其中1≤i≤K。第一个队列Q1的优先级最高。
步骤A110,根据预设函数确定各优先级队列中流量大小的期望值;
然后,根据预设函数确定各优先级队列中流量大小的期望值。其中,预设函数记为F(x),F(x)是数据中心流量大小的累积分布函数CDF。用αi来表示Qi和Qi+1的阈值,即小于αi的流量属于Qi队列,而大于或等于αi的流量属于Qi+1队列。因此,优先级队列Qi中流量大小的期望值如下:
E[Si]≤(αi+1i)(1-F(αi))。
步骤A120,根据所述当前负载、所述带宽速率和所述期望值计算得到各优先级队列中的数据到达率。
根据当前负载、带宽速率和期望值计算得到各优先级队列中的数据到达率。具体的,先计算当前的流到达速率λ,然后,再计算各优先级队列中的数据到达率,其计算方式如下:
Figure BDA0003422822700000231
其中,λi表示优先级队列i中的数据到达率。
步骤A130,根据所述数据到达率和所述带宽速率计算各优先级队列占用的带宽比例。
根据数据到达率λi和带宽速率μ计算各优先级队列占用的带宽比例。在优先级队列中,由于各优先级队列获得服务的速率取决于比它优先级更高的队列是否为空。假设数据中心链路的带宽速率为μ,则最高优先级的队列Q1获得的服务速率为μ1=μ。所以Q1占用带宽的比例(即带宽比例)为ρ1=λ11,Q1空闲出来的带宽比例为(1-ρ1)。所以Q2可以得到的带宽比例为μ2=(1-ρ1)μ。同理可得到优先级队列i占用的带宽比例ρi的计算方式如下:
ρi=λii
其中,
Figure BDA0003422822700000241
步骤A140,将所述带宽比例、所述数据到达率输入至预设计算公式,得到所述预设流区间阈值。
最后,将带宽比例、数据到达率输入至预设计算公式,得到预设流区间阈值。具体的,先根据各优先级队列占用的带宽比例及各优先级队列的数据到达率,计算各优先级队列的平均延时时间(记为T)。计算公式如下:
Ti=1/(μii)。
其中,Ti表示优先级队列i中的平均延时时间。
对于在优先级队列Qi中的流fi,它会经历从每一个队列到第i个队列的所有排队时延,所以它的平均流完成时间T(fi)满足如下关系:
Figure BDA0003422822700000242
因此,我们可以将其转化为在瓶颈链路上选取一系列θ值的去最小化平均流完成时间的优化问题,其可以表达为:
Figure BDA0003422822700000243
Figure BDA0003422822700000244
θi≥0,i=1,...,K
进而,可解出一组最优化值,从通过得到的一组θ值计算出阈值集合{α},其中,该阈值集合{α}包括α0、α1、α2、α3、……、αK,其中,α0=0,而αK是最大值。其中,集合{α}可以代表的是比例,按照集合{α}中的比例值将累计分布函数CDF划段,即可得到一组预设流区间阈值解。
本实施例中,通过上述方式,可准确计算得到预设流区间阈值,以便于后续基于预设流区间阈值确定各优先级队列对应的流区间,进而基于流区间来设定数据包的优先级。
图6是根据一示例性实施例示出的一中数据处理系统。
在该数据处理系统中,包括数据中心服务器中的发送器601和控制器602、交换机603和接收器604。
其中,发送器601中部署有网络适配器(Network Interface,NIC)、流量调度模块以及TCP(Transmission Control Protocol,传输控制协议)/IP(Internet Protocol,国际互联协议)堆栈。
结合上述数据处理结构,本实施例提供了一种数据处理方法。
具体包括:
发送器601将生成目标流时对应的第一特征数据F和预测区间阈值S发送给控制器602;该控制器将第一特征数据F输入至流区间预测模型(即预测系统),得到预测流区间。根据预测流区间和预设流区间阈值S,计算得到所述流的预测流量大小R;由于确定预测区间阈值S的累计分布函数CDF会随着经由交换机的实际流(也可以是经由预测系统预测出来的流)的大小发生改变,因此该控制器602还会根据目标流的第一特征数据以及目标流的实际流量大小更新累计分布函数CDF,以便根据该累计分布函数CDF更新预测流区间阈值S以获得更新后预测流区间阈值T,以便下次进行流大小预测时使用;控制器602会将预测的目标流的预测流大小R和更新后的预测流区间阈值T返回给发送器601;发送器601将所述目标数据包发送给第一设备,以便所述第一设备根据所述目标数据包的优先级在所述目标流对应的多个端口中确定第一端口,以便向所述第一端口转发所述目标数据包。
交换机603接收目标数据包,所述目标数据包包括目标流标识,所述目标流标识用来标识所述目标数据包所属的目标流;获取流记录表,并根据所述目标流标识确定所述流记录表中不包括所述目标流;获取所述目标流对应的多个端口(例如队列P0对应的端口、队列P1对应的端口、队列P2对应的端口),所述多个端口分别对应一负载值,各个端口对应的负载值是根据各个端口对应的流的优先级确定的;在所述多个端口中确定一负载值最小的端口作为第一端口;将所述目标数据包分配至所述第一端口对应的第一端口队列,以便将所述目标数据包转发至所述第一端口。
本实施例提供一种数据处理系统,该数据处理系统包括第一设备(例如交换机)和第二设备(例如数据中心服务器),第二设备在发送流的数据包时,获取流的当前剩余流量大小;然后,根据当前剩余流量大小和预设流区间阈值设定数据包的优先级;进而将已设定优先级的数据包发送至交换机,此时,交换机在接收到该数据包时,根据优先级将数据包分配至对应的优先级队列中,以在达到预设转发条件时,对优先级队列中的数据包进行转发。通过构建上述数据处理系统,第二设备在设定数据包的优先级时,是基于流的当前剩余流量大小来设定的,进而交换机根据该优先级将数据包分配至对应的优先级队列中,以进行转发,由于数据包的优先级是基于流的当前剩余流量大小动态设定的,相比于现有技术中直接基于流的优先级来设定,本发明结合第二设备和交换机实现了近似的最短剩余处理时间优先(ShortestRemaining Processing Time,SRPT)策略,可降低平均流完成时间。同时,本系统无需对硬件进行修改,只需修改第二设备和交换机的软件层实现逻辑,因此可节省成本,提高可行性。
本公开设计新方案的目的是提出一种实用的方案来优化数据中心的平均流完成时间(Flow Completion Time,FCT)。当前的数据中心中运行着许多与用户的交互的应用,如网络搜索、在线游戏和网络购物等,这些应用都是对时延极其敏感的时延敏感应用,它们的响应时延直接决定了用户的体验。例如必应搜索返回结果的时延每增加500ms,则会导致其利润减少1.5%。应用的时延大小主要是由应用发送的流的FCT决定,因此最小化平均FCT具有重要意义。
图7是根据一示例性实施例示出的一种数据处理装置的框图。参照图7,本公开实施例提供的数据处理装置700可以包括:目标数据包接收模块701、流记录表记录模块702、端口获取模块703、负载比较模块704以及分配模块705。
其中,所述目标数据包接收模块701可以用于接收目标数据包,所述目标数据包包括目标流标识,所述目标流标识用来标识所述目标数据包所属的目标流;所述流记录表记录模块702可以用于获取流记录表,并根据所述目标流标识确定所述流记录表中不包括所述目标流;所述端口获取模块703可以用于获取所述目标流对应的多个端口,所述多个端口分别对应一负载值,各个端口对应的负载值是根据各个端口对应的流的优先级确定的;所述负载比较模块704可以用于在所述多个端口中确定一负载值最小的端口作为第一端口;所述分配模块705可以用于将所述目标数据包分配至所述第一端口对应的第一端口队列,以便将所述目标数据包转发至所述第一端口。
在一些实施例中,所述数据处理装置还包括:目标流项创建模块和目标流项设置模块。
其中,所述目标流项创建模块可以用于根据所述目标流标识在所述流记录表中创建所述目标流对应的目标流项;所述目标流项设置模块可以用于在所述目标流项中设置端口信息、有效位信息以及老化位信息;其中,所述端口信息设置为所述第一端口;所述有效位信息设置为第一值,用于表示所述目标流与所述第一端口是有效对应的;所述老化位信息设置为第二值,用于表示在第一时间间隔内有接受到所述目标流中的数据包。
在一些实施例中,所述数据处理装置还包括:目标优先级获取模块、第二负载值获取模块以及第一负载值更新模块。
其中,所述目标优先级获取模块可以用于获取所述第一端口对应的第一负载值和所述目标数据包对应的目标优先级;所述第二负载值获取模块可以用于根据所述目标优先级和所述第一负载值确定一第二负载值;所述第一负载值更新模块可以用于根据所述第二负载值更新所述第一端口对应的第一负载值。
在一些实施例中,所述数据处理装置还包括:目标流项确定模块、端口分配模块以及老化位设置模块。
其中,所述目标流项确定模块可以用于根据所述目标流标识确定所述目标流与所述流记录表中的目标流项对应,所述目标流项中包括端口信息和老化位信息,所述端口信息的值为第二端口;所述端口分配模块可以用于将所述目标数据包分配至所述第二端口对应的第二端口队列,以便将所述目标数据包转发至所述第二端口;所述老化位设置模块可以用于将所述老化位信息对应的值设置为第二值。
在一些实施例中,所述数据处理装置还包括:周期检测模块、第一判断模块和第二判断模块。
其中,所述周期检测模块可以用于以第一时间间隔为更新间隔对所述流记录表进行周期性检测,以确定所述目标流项中老化位信息对应的值;所述第一判断模块可以用于若所述老化位信息对应的值为第二值,则确定在所述更新间隔内没有接收到属于所述目标流的数据包,则将所述目标流项对应的有效位信息设置为第三值,用于表示所述目标流与所述第一端口无效对应,以便将所述目标流项从所述流记录表中删除;所述第二判断模块可以用于若所述老化位信息对应的值为第四值,则确定在所述更新间隔内有接收到属于所述目标流的数据包,则将所述老化位信息对应的值设置为第二值,维持所述有效位信息为第一值,用于表示所述目标流与所述第一端口有效对应。
在一些实施例中,所述数据处理装置还包括:衰减模块。
其中,所述衰减模块可以用于以第二时间间隔为衰减周期对所述第一端口对应的负载值按照目标比例进行衰减处理。
由于装置700的各功能已在其对应的方法实施例中予以详细说明,本公开于此不再赘述。
图8是根据一示例性实施例示出的一种数据处理装置的框图。参照图8,本公开实施例提供的数据处理装置800可以包括:当前剩余流量大小获取模块801、优先级确定模块802以及发送模块803。
其中,所述当前剩余流量大小获取模块801可以用于在发送目标流中的目标数据包时,获取所述目标流的当前剩余流量大小;所述优先级确定模块802可以用于根据所述当前剩余流量大小和预设流区间阈值设定所述目标数据包的优先级;所述发送模块803可以用于将所述目标数据包发送给第一设备,以便所述第一设备根据所述目标数据包的优先级在所述目标流对应的多个端口中确定第一端口,以便向所述第一端口转发所述目标数据包。
在一些实施例中,所述目标流的当前剩余流量大小是基于所述目标流的预测流量大小和所述目标流中已发送数据包的数据包大小更新得到的;其中,所述当前剩余流量大小获取模块801可以包括:第一特征数据获取单元、预测流区间获取单元以及预测流量大小获取单元。
其中,所述第一特征数据获取单元可以用于获取生成所述目标流时对应第一特征数据;所述预测流区间获取单元可以用于将所述第一特征数据输入至流区间预测模型,得到预测流区间;所述预测流量大小获取单元可以用于根据所述预测流区间和所述预设流区间阈值,计算得到所述流的预测流量大小。
在一些实施例中,在将所述第一特征数据输入至流区间预测模型,得到预测流区间之前,所述数据处理装置还包括:训练样本数据获取模块、样本流区间确定模块、训练样本集构建模块以及训练模块。
其中,所述训练样本数据获取模块可以用于获取训练样本数据,所述训练样本数据包括第二特征数据和样本流量大小;所述样本流区间确定模块可以用于根据所述样本流量大小和所述预设流区间阈值,得到样本流区间;所述训练样本集构建模块可以用于根据所述样本流区间和所述第二特征数据,构建得到训练样本集;所述训练模块可以用于通过所述训练样本集对预设梯度提升树模型进行训练,得到所述流区间预测模型。
在一些实施例中,在根据所述当前剩余流量大小和预设流区间阈值设定所述目标数据包的优先级之前,所述数据处理装置还包括:当前负载确定模块、期望值确定模块、到达率确定模块以及带宽比例确定模块以及区间阈值确定模块。
其中,所述当前负载确定模块可以用于获取数据中心的当前负载、带宽速率和优先级队列数量;所述期望值确定模块可以用于根据预设函数确定各优先级队列中流量大小的期望值;所述到达率确定模块可以用于根据所述当前负载、所述带宽速率和所述期望值计算得到各优先级队列中的数据到达率;所述带宽比例确定模块可以用于根据所述数据到达率和所述带宽速率计算各优先级队列占用的带宽比例;所述区间阈值确定模块可以用于将所述带宽比例、所述数据到达率输入至预设计算公式,得到所述预设流区间阈值。
由于装置800的各功能已在其对应的方法实施例中予以详细说明,本公开于此不再赘述。
描述于本申请实施例中所涉及到的模块单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块单元也可以设置在处理器中。其中,这些模块单元的名称在某种情况下并不构成对该模块单元本身的限定。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
图9示出了适于用来实现本公开实施例的终端设备或服务器的电子设备的结构示意图。需要说明的是,图9示出的电子设备900仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从储存部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有电子设备900操作所需的各种程序和数据。CPU 901、ROM902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的储存部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入储存部分908。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本公开所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备可实现功能包括:接收目标数据包,所述目标数据包包括目标流标识,所述目标流标识用来标识所述目标数据包所属的目标流;获取流记录表,并根据所述目标流标识确定所述流记录表中不包括所述目标流;获取所述目标流对应的多个端口,所述多个端口分别对应一负载值,各个端口对应的负载值是根据各个端口对应的流的优先级确定的;在所述多个端口中确定一负载值最小的端口作为第一端口;将所述目标数据包分配至所述第一端口对应的第一端口队列,以便将所述目标数据包转发至所述第一端口。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例的各种可选实现方式中提供的方法。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者智能设备等)执行根据本公开实施例的方法,例如图2~图5任一图所示的步骤。
本领域技术人员在考虑说明书及实践在这里公开的公开后,将容易想到本公开的其他实施例。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不限于这里已经示出的详细结构、附图方式或实现方法,相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (13)

1.一种数据处理方法,其特征在于,所述方法包括:
接收目标数据包,所述目标数据包包括目标流标识,所述目标流标识用来标识所述目标数据包所属的目标流;
获取流记录表,并根据所述目标流标识确定所述流记录表中不包括所述目标流;
获取所述目标流对应的多个端口,所述多个端口分别对应一负载值,各个端口对应的负载值是根据各个端口对应的流的优先级确定的,所述优先级是根据流的流量大小确定的;
在所述多个端口中确定一负载值最小的端口作为第一端口;
将所述目标数据包分配至所述第一端口对应的第一端口队列,以便将所述目标数据包转发至所述第一端口。
2.根据权利要求1所述方法,其特征在于,所述方法还包括:
根据所述目标流标识在所述流记录表中创建所述目标流对应的目标流项;
在所述目标流项中设置端口信息、有效位信息以及老化位信息;
其中,所述端口信息设置为所述第一端口;所述有效位信息设置为第一值,用于表示所述目标流与所述第一端口是有效对应的;所述老化位信息设置为第二值,用于表示在第一时间间隔内有接受到所述目标流中的数据包。
3.根据权利要求1所述方法,其特征在于,所述方法还包括:
获取所述第一端口对应的第一负载值和所述目标数据包对应的目标优先级;
根据所述目标优先级和所述第一负载值确定一第二负载值;
根据所述第二负载值更新所述第一端口对应的第一负载值。
4.根据权利要求1所述方法,其特征在于,所述方法还包括:
根据所述目标流标识确定所述目标流与所述流记录表中的目标流项对应,所述目标流项中包括端口信息和老化位信息,所述端口信息的值为第二端口;
将所述目标数据包分配至所述第二端口对应的第二端口队列,以便将所述目标数据包转发至所述第二端口;
将所述老化位信息对应的值设置为第二值。
5.根据权利要求2或4所述方法,其特征在于,所述方法还包括:
以第一时间间隔为更新间隔对所述流记录表进行周期性检测,以确定所述目标流项中老化位信息对应的值;
若所述老化位信息对应的值为第四值,则确定在所述更新间隔内没有接收到属于所述目标流的数据包,则将所述目标流项对应的有效位信息设置为第三值,用于表示所述目标流与所述第一端口无效对应,以便将所述目标流项从所述流记录表中删除;
若所述老化位信息对应的值为第二值,则确定在所述更新间隔内有接收到属于所述目标流的数据包,则将所述老化位信息对应的值设置为第四值,维持所述有效位信息为第一值,用于表示所述目标流与所述第一端口有效对应。
6.根据权利要求5任一所述方法,其特征在于,所述方法还包括:
以第二时间间隔为衰减周期对所述第一端口对应的负载值按照目标比例进行衰减处理。
7.一种数据处理方法,其特征在于,所述方法包括:
在发送目标流中的目标数据包时,获取所述目标流的当前剩余流量大小;
根据所述当前剩余流量大小和预设流区间阈值设定所述目标数据包的优先级;
将所述目标数据包发送给第一设备,以便所述第一设备根据所述目标数据包的优先级在所述目标流对应的多个端口中确定第一端口,以便向所述第一端口转发所述目标数据包。
8.根据权利要求7所述方法,其特征在于,所述目标流的当前剩余流量大小是基于所述目标流的预测流量大小和所述目标流中已发送数据包的数据包大小更新得到的;其中,在发送目标流中的目标数据包时,获取所述目标流的当前剩余流量大小,包括:
获取生成所述目标流时对应第一特征数据;
将所述第一特征数据输入至流区间预测模型,得到预测流区间;
根据所述预测流区间和所述预设流区间阈值,计算得到所述流的预测流量大小。
9.根据权利要求8所述方法,其特征在于,在将所述第一特征数据输入至流区间预测模型,得到预测流区间之前,所述方法还包括:
获取训练样本数据,所述训练样本数据包括第二特征数据和样本流量大小;
根据所述样本流量大小和所述预设流区间阈值,得到样本流区间;
根据所述样本流区间和所述第二特征数据,构建得到训练样本集;
通过所述训练样本集对预设梯度提升树模型进行训练,得到所述流区间预测模型。
10.根据权利要求7-9中任一项所述数据处理方法,其特征在于,在根据所述当前剩余流量大小和预设流区间阈值设定所述目标数据包的优先级之前,所述方法还包括:
获取数据中心的当前负载、带宽速率和优先级队列数量;
根据预设函数确定各优先级队列中流量大小的期望值;
根据所述当前负载、所述带宽速率和所述期望值计算得到各优先级队列中的数据到达率;
根据所述数据到达率和所述带宽速率计算各优先级队列占用的带宽比例;
将所述带宽比例、所述数据到达率输入至预设计算公式,得到所述预设流区间阈值。
11.一种数据处理装置,其特征在于,包括:
目标数据包接收模块,用于接收目标数据包,所述目标数据包包括目标流标识,所述目标流标识用来标识所述目标数据包所属的目标流;
流记录表记录模块,用于获取流记录表,并根据所述目标流标识确定所述流记录表中不包括所述目标流;
端口获取模块,用于获取所述目标流对应的多个端口,所述多个端口分别对应一负载值,各个端口对应的负载值是根据各个端口对应的流的优先级确定的,所述优先级是根据流的流量大小确定的;
负载比较模块,用于在所述多个端口中确定一负载值最小的端口作为第一端口;
分配模块,用于将所述目标数据包分配至所述第一端口对应的第一端口队列,以便将所述目标数据包转发至所述第一端口。
12.一种电子设备,其特征在于,包括:
存储器;以及
耦合到所述存储器的处理器,所述处理器被用于基于存储在所述存储器中的指令,执行如权利要求1-10任一项所述的数据处理方法。
13.一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如权利要求1-10任一项所述的数据处理方法。
CN202111568822.6A 2021-12-21 2021-12-21 数据处理方法、装置、电子设备和计算机可读存储介质 Pending CN114285790A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111568822.6A CN114285790A (zh) 2021-12-21 2021-12-21 数据处理方法、装置、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111568822.6A CN114285790A (zh) 2021-12-21 2021-12-21 数据处理方法、装置、电子设备和计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN114285790A true CN114285790A (zh) 2022-04-05

Family

ID=80873430

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111568822.6A Pending CN114285790A (zh) 2021-12-21 2021-12-21 数据处理方法、装置、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114285790A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666278A (zh) * 2022-05-25 2022-06-24 湖南工商大学 基于全局动态流量切分的数据中心负载均衡方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335709A (zh) * 2008-08-07 2008-12-31 杭州华三通信技术有限公司 在流量分析服务器之间实现负载分担的方法和分流设备
CN103152284A (zh) * 2013-03-18 2013-06-12 神州数码网络(北京)有限公司 一种路由器多径输出智能负载均衡的方法及路由器
CN103401801A (zh) * 2013-08-07 2013-11-20 盛科网络(苏州)有限公司 动态负载均衡的实现方法及装置
CN108259375A (zh) * 2018-02-27 2018-07-06 盛科网络(苏州)有限公司 一种队列级的动态负载分担的实现方法及装置
US20200067839A1 (en) * 2015-07-02 2020-02-27 Cisco Technology, Inc. Network traffic load balancing
CN111628940A (zh) * 2020-05-15 2020-09-04 清华大学深圳国际研究生院 流量调度方法、设备、系统、交换机及计算机存储介质
CN113543209A (zh) * 2021-06-24 2021-10-22 北京邮电大学 一种基于令牌调度的拥塞控制方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335709A (zh) * 2008-08-07 2008-12-31 杭州华三通信技术有限公司 在流量分析服务器之间实现负载分担的方法和分流设备
CN103152284A (zh) * 2013-03-18 2013-06-12 神州数码网络(北京)有限公司 一种路由器多径输出智能负载均衡的方法及路由器
CN103401801A (zh) * 2013-08-07 2013-11-20 盛科网络(苏州)有限公司 动态负载均衡的实现方法及装置
US20200067839A1 (en) * 2015-07-02 2020-02-27 Cisco Technology, Inc. Network traffic load balancing
CN108259375A (zh) * 2018-02-27 2018-07-06 盛科网络(苏州)有限公司 一种队列级的动态负载分担的实现方法及装置
CN111628940A (zh) * 2020-05-15 2020-09-04 清华大学深圳国际研究生院 流量调度方法、设备、系统、交换机及计算机存储介质
CN113543209A (zh) * 2021-06-24 2021-10-22 北京邮电大学 一种基于令牌调度的拥塞控制方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666278A (zh) * 2022-05-25 2022-06-24 湖南工商大学 基于全局动态流量切分的数据中心负载均衡方法及系统
CN114666278B (zh) * 2022-05-25 2022-08-12 湖南工商大学 基于全局动态流量切分的数据中心负载均衡方法及系统

Similar Documents

Publication Publication Date Title
US8441931B2 (en) Method and device for managing priority during the transmission of a message
CN111628940B (zh) 流量调度方法、设备、系统、交换机及计算机存储介质
US20140169384A1 (en) Hierarchical profiled scheduling and shaping
CN109104373B (zh) 网络拥塞的处理方法、装置及系统
CN107454019B (zh) 软件定义网络动态带宽分配方法、装置、设备及存储介质
CN108512672B (zh) 业务编排方法、业务管理方法及装置
CN105264509A (zh) 融合网络中的自适应中断联合
US20080063004A1 (en) Buffer allocation method for multi-class traffic with dynamic spare buffering
WO2019072162A1 (zh) 虚拟网络映射方法、设备和存储介质
CN108429701A (zh) 网络加速系统
CN110058937B (zh) 用于调度专用处理资源的方法、设备和介质
CN102845032A (zh) 基于业务组合的实时统计动态调整服务质量配置的系统和方法
CN109617806B (zh) 一种数据流量调度方法及装置
US20150100694A1 (en) Use of iterative learning for resolving scalability issues of bandwidth broker
CN116489104A (zh) 一种基于动态优先级的流量调度方法与系统
CN114079638A (zh) 多协议混合网络的数据传输方法、装置和存储介质
CN114285790A (zh) 数据处理方法、装置、电子设备和计算机可读存储介质
WO2020229905A1 (en) Multi-timescale packet marker
US7839790B2 (en) Network congestion analysis
JP3830937B2 (ja) 高速パケット網のためのパケットスケジューリングシステム及び方法
CN111817985A (zh) 业务处理方法及装置
CN114448899A (zh) 一种均衡数据中心网络负载的方法
EP3531622B1 (en) Method of handling packet flow in software-defined network, computer program product, and software-defined network
CN114363246A (zh) 众核的片上网络数据传输方法、装置、设备及介质
US6804196B1 (en) Determining traffic information in a communications network

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