CN109088829A - 一种数据调度方法、装置、存储介质及设备 - Google Patents
一种数据调度方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN109088829A CN109088829A CN201811100706.XA CN201811100706A CN109088829A CN 109088829 A CN109088829 A CN 109088829A CN 201811100706 A CN201811100706 A CN 201811100706A CN 109088829 A CN109088829 A CN 109088829A
- Authority
- CN
- China
- Prior art keywords
- data message
- priority
- data
- message
- waiting time
- 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.)
- Granted
Links
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/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6255—Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6275—Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Abstract
本申请实施例公开了一种数据调度方法、装置、存储介质及设备。该方法包括:获取数据报文在发送缓存区的等待时间;根据所述等待时间,确定所述数据报文的优先级;依据所述数据报文的优先级对所述数据报文添加优先级标记;其中,所述优先级标记用于使交换机对所述数据报文进行调度;发送所述数据报文。通过采用本申请所提供的技术方案,可以实现根据每个发送主机的情况,最小化短流、长流以及间歇式流的完成时间,同时保证数据报文传输时延较低的效果。
Description
技术领域
本申请实施例涉及通信技术领域,尤其涉及一种数据调度方法、装置、存储介质及设备。
背景技术
数据中心网络在如今纷繁的网络服务中的作用尤为重要,例如网络搜索、数据挖掘、社交网络、广告设备和零售业等。为了满足用户的需求和确保服务器的性能,大多数托管在数据中心网络中的应用程序对流完成时间和传输时延都提出了苛刻的要求。
在数据中心网络中,流完成时间指的是从流建立连接到关闭连接的时间,传输时延指的是应用程序发出数据报文到接收到对应ACK(Acknowledgement,确认字符)报文的时间间隔。目前业界已经提出了多种最小化流完成时间的流量调度方案。根据流信息是否提前已知,现有的流量调度方案可以分为两组:流信息已知的方案和流信息无关的方案。流信息已知的方案需要提前获知流的开始时间、流长度等信息进行调度。由于在实际中很难提前获知精确的流信息,因此流信息已知的流量调度方案在现实中难以真正应用。为了克服这一困难,学术界提出了一种流信息无关的流量调度方案PIAS(Practical Information-agnostic flow scheduling,信息不可知流调度)。首先,PIAS采用了多优先级队列调度机制。在PIAS的交换机中,数据报文根据所携带的优先级标记,进入不同的优先级队列,优先级队列之间采用严格的优先级顺序转发策略,同一优先级队列内采用先进先出调度策略。在发送主机侧,同一个流的数据报文的优先级,随着该流已发送的字节数的增加而降低。因此,PIAS可以保证短流可以在较短时间内完成,而且通常优于长流。
PIAS需要一个中央服务器来收集全网的负载信息,然后发布到每台发送主机,用于确定各发送主机的优先级划分阈值。然而,网络中的流经过的路径总是不完全相同的,每条流经历的网络负载情况也是不同的;因此,PIAS中所有发送主机都采用同一个全网负载信息的方案并不合理。
发明内容
本申请实施例提供一种数据调度方法、装置、存储介质及设备,可以实现根据每个发送主机的情况,最小化短流、长流以及间歇式流的完成时间,同时保证数据报文传输时延较低的效果。
第一方面,本申请实施例提供了一种数据调度方法,该方法包括:
获取数据报文在发送缓存区的等待时间;
根据所述等待时间,确定所述数据报文的优先级;
依据所述数据报文的优先级对所述数据报文添加优先级标记;其中,所述优先级标记用于使交换机对所述数据报文进行调度;
发送所述数据报文。
进一步的,获取数据报文在发送缓存区的等待时间,包括:
当数据报文进入发送主机的发送缓存区时,记录进入时间戳;
当数据报文离开所述发送缓存区时,记录离开时间戳;
根据所述离开时间戳与所述进入时间戳的时间间隔,确定所述数据报文在所述发送缓存区的等待时间。
进一步的,根据所述等待时间,确定所述数据报文的优先级,包括:
根据所述等待时间,依据预设映射关系,确定所述数据报文的优先级;其中,所述预设映射关系为时间划分阈值与优先级之间的映射关系,当所述等待时间大于或者等于所述时间划分阈值中的最大值时,将所述数据报文的优先级确定比最低的优先级高一级。
进一步的,在发送所述数据报文之后,所述方法还包括:
接收到针对所述数据报文的ACK报文之后,根据所述ACK报文中所携带的负载信息,对所述时间划分阈值进行调整。
第二方面,本申请实施例还提供了一种数据调度方法,该方法包括:
接收到数据报文后,根据所述数据报文的优先级标记,将其分配到交换机端口的优先级队列中;
从所述优先级队列中从优先级从高到低的顺序,首个非空优先级队列的第一个数据报文作为即将发送的数据报文;
发送所述即将发送的数据报文。
进一步的,在从所述优先级队列中从优先级从高到低的顺序,首个非空优先级队列的第一个数据报文作为即将发送的数据报文之后,发送所述即将发送的数据报文之前,所述方法还包括:
当所述数据报文不为ACK报文时,则将数据报文发送途径的交换机端口的负载信息附加至所述数据报文。
进一步的,将数据报文发送途径的交换机端口的负载信息附加至所述数据报文,包括:
判断所述数据报文是否存在负载信息;
若是,则将当前交换机端口的负载信息和已经存在的负载信息中的较大值,对所述已经存在的负载信息进行替换。
第三方面,本申请实施例还提供了一种数据调度装置,配置于发送主机,该装置包括:
等待时间获取模块,用于获取数据报文在发送缓存区的等待时间;
优先级确定模块,用于根据所述等待时间,确定所述数据报文的优先级;
优先级标记模块,用于依据所述数据报文的优先级对所述数据报文添加优先级标记;其中,所述优先级标记用于使交换机对所述数据报文进行调度;
数据报文发送模块,用于发送所述数据报文。
第四方面,本申请实施例还提供了一种数据调度装置,配置于交换机,该装置包括:
队列分配模块,用于接收到数据报文后,根据所述数据报文的优先级标记,将其分配到交换机端口的优先级队列中;
即将发送的数据报文确定模块,用于从所述优先级队列中从优先级从高到低的顺序,首个非空优先级队列的第一个数据报文作为即将发送的数据报文;
数据报文发送模块,用于发送所述即将发送的数据报文。
第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所提供的任一数据调度方法。
第六方面,本申请实施例提供了一种设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所提供的任一数据调度方法。
本申请实施例所提供的技术方案,通过获取数据报文在发送缓存区的等待时间;根据所述等待时间,确定所述数据报文的优先级;依据所述数据报文的优先级对所述数据报文添加优先级标记;其中,所述优先级标记用于使交换机对所述数据报文进行调度;发送所述数据报文。通过采用本申请所提供的技术方案,可以实现根据每个发送主机的情况,最小化短流、长流以及间歇式流的完成时间,同时保证数据报文传输时延较低的效果。
附图说明
图1是本申请实施例一提供的数据调度方法的流程图;
图2是本申请实施例二提供的数据调度方法的流程图;
图3是本申请实施例三提供的数据调度方法的流程图;
图4是本申请实施例三提供的数据调度方法的流程图;
图5是本申请实施例三提供的数据调度方法的流程图;
图6是本申请实施例四提供的数据调度装置的结构示意图;
图7是本申请实施例五提供的数据调度装置的结构示意图;
图8为本申请实施例提供的一种设备的结构示意图。
具体实施方式
数据中心网络在如今纷繁的在线服务中扮演越来越关键的角色,例如网络搜索、数据挖掘、社交网络、广告设备和零售业等。为了提供满意的用户体验和确保服务器的性能,大多数托管在数据中心网络中的应用程序对传输时延和流完成时间都提出了苛刻的要求。
在数据中心网络中,一个“源IP、源端口、目的IP、目的端口、传输协议”五元组被称为一条流,流完成时间指的是从流建立连接到关闭连接的时间,传输时延指的是应用程序发出数据报文到接收到对应ACK报文的时间间隔。本申请提出一种分布式流信息无关的流量调度方法DIAS(Distributed Information-Agnostic Scheduling),目标是最小化数据中心网络中的平均流完成时间,同时保证较低的传输时延。
目前业界已经提出了多种最小化流完成时间的流量调度方案。根据流信息是否提前已知,现有的流量调度方案可以分为两组:流信息已知的方案和流信息无关的方案。流信息已知的方案(例如pFabric、PDQ和PASE)需要提前获知流的开始时间、流长度等信息进行调度。由于在实际中很难提前获知精确的流信息,因此流信息已知的流量调度方案在现实中难以真正应用。
为了克服这一困难,学术界提出了一种流信息无关的流量调度方案PIAS。首先,PIAS采用了多优先级队列调度机制。在PIAS的交换机中,数据报文根据所携带的优先级标记,进入不同的优先级队列,优先级队列之间采用严格的优先级顺序转发策略,同一优先级队列内采用先进先出调度策略。在发送主机侧,同一个流的数据报文的优先级,随着该流已发送的字节数的增加而降低。因此,PIAS可以保证短流可以在较短时间内完成,而且通常优于长流。然而,PIAS有以下几个缺点:
首先,PIAS需要一个中央服务器来收集全网的负载信息,然后发布到每台主机,用于调整各主机的优先级划分阈值。然而,网络中的流经过的路径总是不完全相同的,每条流经历的网络负载情况也是不同的;因此,PIAS中所有主机都采用同一个全网负载信息的方案并不合理。
第二,PIAS仅仅关注数据中心网络的流完成时间,短流优先的策略往往是最优的。在网络负载较高的情况下,长流的数据报文总是被赋予较低的优先级,很可能会遭遇更多的超时重传情况。但是,现如今视频流,例如VR(Virtual Reality,虚拟现实)视频流,和交互式AI(Artificial Intelligence,人工智能)问答流所占的比例日益增加,这就意味着优化对时延敏感的长流的网络延迟也同样重要。事实上,几乎所有现存的调度方案都没关注时延敏感长流。
第三,当某长流触发了两次超时事件,PIAS会重置该长流的已发送字节数,重新把它当作一条新流来看待,这对于优化全局的流完成时间来说是不利的。
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本申请实施例一提供的数据调度方法的流程图,本实施例可适用数据传输的情况,该方法可以由本申请实施例所提供的数据调度装置来执行,该装置可以由软件和/或硬件的方式来实现,并可集成于发送主机中。
如图1所示,所述数据调度方法包括:
S110、获取数据报文在发送缓存区的等待时间。
其中,发送缓存区是用于将数据报文进行缓存的存储区间。每个发送主机可以设置有一个发送缓存区,也可以设置多个,在本实施例中,就以一个发送缓存区进行说明。可以把数据报文进入和离开发送缓存区的时间间隔,作为数据报文在发送缓存区的等待时间。
在本实施例中,优选的,获取数据报文在发送缓存区的等待时间,包括:当数据报文进入发送主机的发送缓存区时,记录进入时间戳;当数据报文离开所述发送缓存区时,记录离开时间戳;根据所述离开时间戳与所述进入时间戳的时间间隔,确定所述数据报文在所述发送缓存区的等待时间。其中,通过记录进入时间戳和离开时间戳,可以根据二者时间间隔,确定数据报文在所述发送缓存区的等待时间。这样设置的好处是可以准确的确定数据报文在发送缓存区的等待时间。而且无需通过中央服务器获取网络的负载信息的方式来确定数据报文的优先级,使得每个数据报文都可以根据自身的情况以及数据报文自身的传输路径来确定数据报文的优先级,优化了网络资源配置。
S120、根据所述等待时间,确定所述数据报文的优先级。
其中,数据报文的等待时间的长短,可以是和应用程序一次性放入数据报文的数量有关,如一个应用程序一次放入1000个数据报文,而另一个应用程序在流中一次仅需要放入10个数据报文,则一次性放入的数据报文越多,则等待时间越长。另一方面,数据报文海域发送主机的发送端口的带宽有关,带宽越宽,则数据报文的等待时间会越短。除此之外,数据报文在等待缓存区的等待时间还可以与其他因素有关,此处不一一罗列。
在本实施例中,可以根据等待时间由短到长的顺序,来确定数据报文的优先级的高低,然而这样设置没存在等待时间不同的数据报文,就需要多一个优先级,因此,本申请实施例优选的为等待时间设定时间阈值,根据数据报文的等待时间与时间阈值之间的关系,来确定数据报文的优先级。
在本实施例中,优选的,根据所述等待时间,确定所述数据报文的优先级,包括:根据所述等待时间,依据预设映射关系,确定所述数据报文的优先级;其中,所述预设映射关系为时间划分阈值与优先级之间的映射关系,当所述等待时间大于或者等于所述时间划分阈值中的最大值时,将所述数据报文的优先级确定比最低的优先级高一级。其中,预设映射关系是时间划分阈值与优先级之间的映射关系。例如,时间划分阈值为α1,α2,……,αk,计算数据报文的优先级为:
其中,P1的优先级大于P2,PK-1的优先级大于PK。数据报文的优先级会随着报文等待时间的而降低,当t∈[αi-1,αi)时,报文被分配优先级Pi,其中i=1,2,...,K-1,且令α0=0。当t≥αK时,DIAS认为这条流可能存在或者即将发生超时情况,为了避免情况进一步恶化,t≥αK的数据报文的优先级设为PK-1。另外,重传报文的优先级也设置为PK-1,这样做的目的是使重传报文优先于其他长流报文,防止再次重传,且不影响高优先级的短流报文。
S130、依据所述数据报文的优先级对所述数据报文添加优先级标记;其中,所述优先级标记用于使交换机对所述数据报文进行调度。
根据数据报文的优先级对所述数据报文添加优先级标记,具体的,可以为数据报文设置优先级字段,在优先级字段中添加所确定的当前数据报文的优先级标记。其中,优先级标记是用于是交换机等后续其他设备对数据报文进行调度的依据。
S140、发送所述数据报文。
将数据报文发送至后续其他设备中,其中包括交换机、路由器、服务器以及接收主机等。而且本申请并不限定后续其他设备的顺序,完全由数据报文所需要的发送途径来确定。
本申请实施例所提供的技术方案,通过获取数据报文在发送缓存区的等待时间;根据所述等待时间,确定所述数据报文的优先级;依据所述数据报文的优先级对所述数据报文添加优先级标记;其中,所述优先级标记用于使交换机对所述数据报文进行调度;发送所述数据报文。通过采用本申请所提供的技术方案,可以实现根据每个发送主机的情况,最小化短流、长流以及间歇式流的完成时间,同时保证数据报文传输时延较低的效果。
实施例二
图2是本申请实施例二提供的数据调度方法的流程图。本实施例在上述实施例的基础上,在发送所述数据报文之后,所述方法还包括:接收到针对所述数据报文的ACK报文之后,根据所述ACK报文中所携带的负载信息,对所述时间划分阈值进行调整。
如图2所示,所述数据调度方法包括:
S210、获取数据报文在发送缓存区的等待时间。
S220、根据所述等待时间,依据预设映射关系,确定所述数据报文的优先级;其中,所述预设映射关系为时间划分阈值与优先级之间的映射关系,当所述等待时间大于或者等于所述时间划分阈值中的最大值时,将所述数据报文的优先级确定比最低的优先级高一级。
S230、依据所述数据报文的优先级对所述数据报文添加优先级标记;其中,所述优先级标记用于使交换机对所述数据报文进行调度。
S240、发送所述数据报文。
S250、接收到针对所述数据报文的ACK报文之后,根据所述ACK报文中所携带的负载信息,对所述时间划分阈值进行调整。
其中,数据报文所携带的负载信息可以是数据报文发送后,所经过的一个或者多个交换机的负载信息。具体的,负载信息可以是当前数据报文经过交换机的端口的负载信息,如可以通过当前端口的两种工作状态来确定,具体为:“空闲”状态和“繁忙”状态(初始状态为“空闲”状态),分别使用Tidle和Tbusy表示交换机的累积“空闲”时间和“繁忙”时间。
交换机接收报文:当交换机收到一个报文,根据流表规则将报文转发到对应的端口进行队列调度。每个交换机端口都分为K个优先级队列Q1,Q2,…,QK,数据报文根据其携带的优先级信息Pi加入到对应的优先级队列Qi中,ACK报文默认进入最高优先级队列Q1。当有“入队”动作发生时,如果当前交换机端口工作状态为“空闲”,记录当前时间CurrentTS,变更工作状态变为“繁忙”状态,并更新累积“空闲”时间Tidle=Tidle+CurrentTS-LastTS以及LastTS=CurrentTS。
交换机发送报文:交换机端口准备发送报文的时候,选择优先级最高的非空队列,按先进先出原则选出下一个出队的报文。
如果所有优先级队列都为空,且交换机端口状态为“繁忙”,记录当前时间CurrentTS,变更工作状态为“空闲”状态,并更新累积“繁忙”时间Tbusy=Tbusy+CurrentTS-LastTS以及LastTS=CurrentTS;
否则,找到优先级最高的非空队列Qi,取出队首的报文作为下一个被发送的报文。如果下一个被发送的报文是ACK报文,直接发送报文;否则,计算流量负载ρ=Tbusy/(Tbusy+Tidle)并附加在数据报文上(如果数据报文上已携带之前经过的交换机的流量负载信息ρprev,则将其更新为),再发送报文。
接收主机接收到数据报文后,先记录数据报文上附带的流量负载信息,并将该信息通过ACK报文返回给发送主机。
这样,在发送主机接收到针对所述数据报文的ACK报文之后,根据所述ACK报文中所携带的负载信息,对所述时间划分阈值进行调整。在本实施例中,优选的,可以按时对时间划分阈值进行调整,比如每1分钟调整一次。那么可以把这个固定时段之间所接收到的ACK报文携带的负载信息忽略,直至这个固定时段到达时,才根据所携带的负载信息进行调整。这样设置可以减小发送主机对时间阈值调整的计算量。
具体的调整方式可以采用如下方式:
发送主机根据ACK报文中携带的;流量负载信息,独立地调整每条流的优先级划分阈值。为简化最优化优先级划分阈值的计算,我们假设数据中心内的流都遵从相同的流量模式分布,且忽略异常情况(即忽略“最长报文等待时间”大于αK的情况)。随机给定一条流,令F(x)为其“最长报文等待时间不大于x”的概率,F(x)为提前已知的变量。
令θi=F(αi)-F(αi-1),表示“最长报文等待时间在[αi-1,αi)区间内”的流的比例(i=1,2,...,K),
我们设定每条流都使用一个相同的初始流量负载ρinit,通过提取ACK报文携带的流量负载信息,不断地调整每条流各自的流量负载信息ρ。用Ti表示报文在Qi内的期望排队时间,
用上述符号的定义,我们可以算出“最长报文等待时间不大于x且x∈[αi-1,αi)”的流的期望完成时间:
其中那么数据中心网络内平均流完成时间的期望C满足
其中UB是C的上界,因为对于任意一个“最长报文等待时间不大于x”的流来说,这个γ的值是不确定的。我们在公式4中,UB其实就是把γ当成1(即上界)计算得到的。
求解最优化问题:
min UB subject to(1),(2),(4) (公式5)
得到最优的θ,进而计算得到最优的优先级划分阈值α1,α2,...,αK。
本实施例在上述实施例的基础上,提供了在接收到数据报文发送后的ACK报文后,对时间划分阈值进行调整的方法,该方法的好处在于可以根据数据报文所途径的负载情况来确定数据报文的优先级,这样可以优化网络资源配置和优化数据调度方案,充分考虑到当前的网络环境来对数据进行调度。
实施例三
图3是本申请实施例三提供的数据调度方法的流程图,本实施例可适用数据传输的情况,该方法可以由本申请实施例所提供的数据调度装置来执行,该装置可以由软件和/或硬件的方式来实现,并可集成于交换机中。本实施例所提供的数据调度方法与上述各实施例所述的数据调度方法相对应,分别置于发送主机侧和交换机侧,本实施例中未详尽描述的技术细节可以参照上述各实施例。
如图3所示,所述数据调度方法包括:
S310、接收到数据报文后,根据所述数据报文的优先级标记,将其分配到交换机端口的优先级队列中。
例如数据报文的优先级标记所表示的优先级为5,则把当前数据报文放在交换机的对应端口的优先级为5的队列中。其中交换机端口由数据报文的传输目标地址所确定,所以可以根据数据报文自身的属性来判断应该把数据报文放在哪个端口。
S320、从所述优先级队列中从优先级从高到低的顺序,首个非空优先级队列的第一个数据报文作为即将发送的数据报文。
交换机存在一个或者多个端口,每个端口设置有多个优先级,则可以将数据报文所处的端口的多个优先级中,从首个非空优先级队列中的第一个数据报文作为即将发送的数据报文。其中第一个数据报文可以是最先进入到当前优先级队列的数据报文。
S330、发送所述即将发送的数据报文。
交换机把即将发送的数据报文发送至其他交换机或者接收主机,至此,可以完成数据报文向接收主机的传输。接收主机接收到数据报文后,先记录数据报文上附带的流量负载信息,并将该信息通过ACK报文返回给发送主机。
本实施例所提供的技术方案,通过接收到数据报文后,根据所述数据报文的优先级标记,将其分配到交换机端口的优先级队列中;从所述优先级队列中从优先级从高到低的顺序,首个非空优先级队列的第一个数据报文作为即将发送的数据报文;发送所述即将发送的数据报文。通过采用本实施例所提供的技术方案,可以按照数据报文中根据数据报文在数据缓存区中的等待时间确定的优先级进行数据调度,可以实现根据每个发送主机的情况,最小化短流、长流以及间歇式流的完成时间,同时保证数据报文传输时延较低的效果。
在上述技术方案的基础上,优选的,在从所述优先级队列中从优先级从高到低的顺序,首个非空优先级队列的第一个数据报文作为即将发送的数据报文之后,发送所述即将发送的数据报文之前,所述方法还包括:当所述数据报文不为ACK报文时,则将数据报文发送途径的交换机端口的负载信息附加至所述数据报文。
图4是本申请实施例三提供的数据调度方法的流程图。如图4所示,当交换机接收到的数据报文为ACK报文时,直接将其放在最高的优先级队列Q1的队尾。如果当前接收到的数据报文不是ACK报文,则提取数据报文的优先级标记Pi,并将其放入到优先级队列Qi的队尾。
在上述各技术方案的基础上,优选的,将数据报文发送途径的交换机端口的负载信息附加至所述数据报文,包括:判断所述数据报文是否存在负载信息;若是,则将当前交换机端口的负载信息和已经存在的负载信息中的较大值,对所述已经存在的负载信息进行替换。
图5是本申请实施例三提供的数据调度方法的流程图。如图5所示,在优先级最高的非空队列Qi的队首取出数据报文之后,判断其是否为ACK报文,若否,则计算交换机端口的负载信息,修改数据报文所携带的负载信息,修改依据是确定数据报文已存在的负载信息和计算得到的当前计算机端口的负载信息之间的大小,将较大值作为新的流量负载信息,并对已经存在的负载信息进行修改。这样设置的好处实现针对每个流,按照其数据报文传输途径的实际负载情况,来确定数据报文的优先级。
实施例四
图6是本申请实施例四提供的数据调度装置的结构示意图。本实施例所提供的数据调度装置配置于发送主机。如图6所示,所述数据调度装置,包括:
等待时间获取模块610,用于获取数据报文在发送缓存区的等待时间;
优先级确定模块620,用于根据所述等待时间,确定所述数据报文的优先级;
优先级标记模块630,用于依据所述数据报文的优先级对所述数据报文添加优先级标记;其中,所述优先级标记用于使交换机对所述数据报文进行调度;
数据报文发送模块640,用于发送所述数据报文。
本申请实施例所提供的技术方案,通过获取数据报文在发送缓存区的等待时间;根据所述等待时间,确定所述数据报文的优先级;依据所述数据报文的优先级对所述数据报文添加优先级标记;其中,所述优先级标记用于使交换机对所述数据报文进行调度;发送所述数据报文。通过采用本申请所提供的技术方案,可以实现根据每个发送主机的情况,最小化短流、长流以及间歇式流的完成时间,同时保证数据报文传输时延较低的效果。
上述产品可执行本申请实施例一和实施例二所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例五
图7是本申请实施例五提供的数据调度装置的结构示意图。本实施例所提供的数据调度装置配置于交换机。如图7所示,所述数据调度装置,包括:
队列分配模块710,用于接收到数据报文后,根据所述数据报文的优先级标记,将其分配到交换机端口的优先级队列中;
即将发送的数据报文确定模块720,用于从所述优先级队列中从优先级从高到低的顺序,首个非空优先级队列的第一个数据报文作为即将发送的数据报文;
数据报文发送模块730,用于发送所述即将发送的数据报文。
本申请实施例所提供的技术方案,通过获取数据报文在发送缓存区的等待时间;根据所述等待时间,确定所述数据报文的优先级;依据所述数据报文的优先级对所述数据报文添加优先级标记;其中,所述优先级标记用于使交换机对所述数据报文进行调度;发送所述数据报文。通过采用本申请所提供的技术方案,可以实现根据每个发送主机的情况,最小化短流、长流以及间歇式流的完成时间,同时保证数据报文传输时延较低的效果。
上述产品可执行本申请实施例三所提供的方法,具备执行方法相应的功能模块和有益效果。
实施例六
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据调度方法,该方法包括:
获取数据报文在发送缓存区的等待时间;
根据所述等待时间,确定所述数据报文的优先级;
依据所述数据报文的优先级对所述数据报文添加优先级标记;其中,所述优先级标记用于使交换机对所述数据报文进行调度;
发送所述数据报文。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行另一种数据调度方法,该方法包括:
接收到数据报文后,根据所述数据报文的优先级标记,将其分配到交换机端口的优先级队列中;
从所述优先级队列中从优先级从高到低的顺序,首个非空优先级队列的第一个数据报文作为即将发送的数据报文;
发送所述即将发送的数据报文。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的计算机中,或者可以位于不同的第二计算机中,第二计算机通过网络(诸如因特网)连接到计算机。第二计算机可以提供程序指令给计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的数据调度操作,还可以执行本申请第一、二实施例和第三实施例所提供的数据调度方法中的相关操作。
实施例七
本申请实施例提供了一种设备,该设备中可集成本申请实施例提供的数据调度装置。图8为本申请实施例提供的一种设备的结构示意图。参见图8,本实施例提供了一种设备800,其包括:一个或多个处理器820;存储装置810,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器820执行,使得所述一个或多个处理器820实现本申请实施例一和二所提供的数据调度方法,包括:
获取数据报文在发送缓存区的等待时间;
根据所述等待时间,确定所述数据报文的优先级;
依据所述数据报文的优先级对所述数据报文添加优先级标记;其中,所述优先级标记用于使交换机对所述数据报文进行调度;
发送所述数据报文。
当然,本领域技术人员可以理解,处理器820还可以实现本申请实施例二所提供的数据方法的技术方案。
图8显示的设备800仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图8所示,该设备800包括处理器820、存储装置810、输入装置830和输出装置840;设备中处理器820的数量可以是一个或多个,图8中以一个处理器820为例;设备中的处理器820、存储装置810、输入装置830和输出装置840可以通过总线或其他方式连接,图8中以通过总线850连接为例。
存储装置810作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的数据调度方法对应的程序指令。
存储装置810可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置810可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置810可进一步包括相对于处理器820远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置830可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置840可包括显示屏等显示设备。
本申请实施例还提供了另一设备,其包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本申请实施例三所提供的数据调度方法,包括:
接收到数据报文后,根据所述数据报文的优先级标记,将其分配到交换机端口的优先级队列中;
从所述优先级队列中从优先级从高到低的顺序,首个非空优先级队列的第一个数据报文作为即将发送的数据报文;
发送所述即将发送的数据报文。
该设备的硬件结构以及功能可参见实施例三的内容解释。
本申请实施例所提供的技术方案,有如下效果:
1、DIAS兼顾了网络流量的流完成时间和传输时延。
DIAS使用数据报文在发送缓冲区里的等待时间作为划分优先级的指标。有网络传输任务的应用程序,总是尽可能地塞满发送缓冲区,可以发现一条流的数据报文优先级慢慢地从最高优先级降低到较低的优先级。由于长流的总数据量较大,一小段时间后,长流的数据报文总是比短流的数据报文需要等待更久的时间,因此,短流总是能获得相对较高的优先级标记。此外,时延敏感长流的数据报文总是间歇性地进入发送缓冲区,网络传输行为更像短流,因此时延敏感长流的数据报文等待时间也较短,可以获得较高的优先级。
2、DIAS可以分布式地动态调整数据报文的优先级划分阈值。
DIAS不需要中央服务器的参与,就可以分布式地动态调整数据报文的优先级划分阈值。因为在数据中心网络里,不同的应用的流通常使用不同的路径,全局统一的优先级划分阈值总是无法达到最优的效果。在DIAS中,发送主机利用ACK报文携带的流量负载信息,对每一条流的优先级划分阈值进行独立的动态调整。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。
Claims (11)
1.一种数据调度方法,其特征在于,包括:
获取数据报文在发送缓存区的等待时间;
根据所述等待时间,确定所述数据报文的优先级;
依据所述数据报文的优先级对所述数据报文添加优先级标记;其中,所述优先级标记用于使交换机对所述数据报文进行调度;
发送所述数据报文。
2.根据权利要求1所述的方法,其特征在于,获取数据报文在发送缓存区的等待时间,包括:
当数据报文进入发送主机的发送缓存区时,记录进入时间戳;
当数据报文离开所述发送缓存区时,记录离开时间戳;
根据所述离开时间戳与所述进入时间戳的时间间隔,确定所述数据报文在所述发送缓存区的等待时间。
3.根据权利要求1所述的方法,其特征在于,根据所述等待时间,确定所述数据报文的优先级,包括:
根据所述等待时间,依据预设映射关系,确定所述数据报文的优先级;其中,所述预设映射关系为时间划分阈值与优先级之间的映射关系,当所述等待时间大于或者等于所述时间划分阈值中的最大值时,将所述数据报文的优先级确定比最低的优先级高一级。
4.根据权利要求3所述的方法,其特征在于,在发送所述数据报文之后,所述方法还包括:
接收到针对所述数据报文的ACK报文之后,根据所述ACK报文中所携带的负载信息,对所述时间划分阈值进行调整。
5.一种数据调度方法,其特征在于,包括:
接收到数据报文后,根据所述数据报文的优先级标记,将其分配到交换机端口的优先级队列中;
从所述优先级队列中从优先级从高到低的顺序,首个非空优先级队列的第一个数据报文作为即将发送的数据报文;
发送所述即将发送的数据报文。
6.根据权利要求5所述的方法,其特征在于,在从所述优先级队列中从优先级从高到低的顺序,首个非空优先级队列的第一个数据报文作为即将发送的数据报文之后,发送所述即将发送的数据报文之前,所述方法还包括:
当所述数据报文不为ACK报文时,则将数据报文发送途径的交换机端口的负载信息附加至所述数据报文。
7.根据权利要求6所述的方法,其特征在于,将数据报文发送途径的交换机端口的负载信息附加至所述数据报文,包括:
判断所述数据报文是否存在负载信息;
若是,则将当前交换机端口的负载信息和已经存在的负载信息中的较大值,对所述已经存在的负载信息进行替换。
8.一种数据调度装置,其特征在于,配置于发送主机,该装置包括:
等待时间获取模块,用于获取数据报文在发送缓存区的等待时间;
优先级确定模块,用于根据所述等待时间,确定所述数据报文的优先级;
优先级标记模块,用于依据所述数据报文的优先级对所述数据报文添加优先级标记;其中,所述优先级标记用于使交换机对所述数据报文进行调度;
数据报文发送模块,用于发送所述数据报文。
9.一种数据调度装置,其特征在于,配置于交换机,该装置包括:
队列分配模块,用于接收到数据报文后,根据所述数据报文的优先级标记,将其分配到交换机端口的优先级队列中;
即将发送的数据报文确定模块,用于从所述优先级队列中从优先级从高到低的顺序,首个非空优先级队列的第一个数据报文作为即将发送的数据报文;
数据报文发送模块,用于发送所述即将发送的数据报文。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的数据调度方法,或,该程序被处理器执行时实现如权利要求5-7中任一项所述的数据调度方法。
11.一种设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-4中任一项所述的数据调度方法,或,所述处理器执行所述计算机程序时实现如权利要求5-7中任一项所述的数据调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811100706.XA CN109088829B (zh) | 2018-09-20 | 2018-09-20 | 一种数据调度方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811100706.XA CN109088829B (zh) | 2018-09-20 | 2018-09-20 | 一种数据调度方法、装置、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109088829A true CN109088829A (zh) | 2018-12-25 |
CN109088829B CN109088829B (zh) | 2022-09-20 |
Family
ID=64842010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811100706.XA Active CN109088829B (zh) | 2018-09-20 | 2018-09-20 | 一种数据调度方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109088829B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547360A (zh) * | 2019-02-01 | 2019-03-29 | 中国联合网络通信集团有限公司 | 数据传输调度方法和装置 |
CN109861791A (zh) * | 2019-01-21 | 2019-06-07 | 广州小鹏汽车科技有限公司 | 一种周期型数据报文传输方法、系统、装置和存储介质 |
CN110730142A (zh) * | 2019-10-14 | 2020-01-24 | 安徽工业大学 | 一种信息不可知情况下的数据中心流自适应调度方法 |
CN111628940A (zh) * | 2020-05-15 | 2020-09-04 | 清华大学深圳国际研究生院 | 流量调度方法、设备、系统、交换机及计算机存储介质 |
CN112000446A (zh) * | 2020-07-13 | 2020-11-27 | 深圳市优必选科技股份有限公司 | 一种数据传输的方法及机器人 |
CN112838904A (zh) * | 2021-01-08 | 2021-05-25 | 中国电子技术标准化研究院 | Tsn网络延迟抖动测量装置及方法 |
CN113259215A (zh) * | 2021-05-25 | 2021-08-13 | 东莞铭普光磁股份有限公司 | 一种主从机通信方法和主从机通信系统 |
CN114095445A (zh) * | 2020-07-29 | 2022-02-25 | 华人运通(上海)自动驾驶科技有限公司 | 车载以太网的数据传输控制方法、装置、电子设备及存储介质 |
CN114567603A (zh) * | 2021-12-29 | 2022-05-31 | 云洲(盐城)创新科技有限公司 | 一种报文传输方法、报文传输装置、电子设备及存储介质 |
WO2023109188A1 (zh) * | 2021-12-14 | 2023-06-22 | 中兴通讯股份有限公司 | 报文调度方法、网络设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195885A (zh) * | 2011-05-27 | 2011-09-21 | 成都市华为赛门铁克科技有限公司 | 报文处理方法及装置 |
CN103973593A (zh) * | 2014-05-09 | 2014-08-06 | 中国电子科技集团公司第三十研究所 | 一种ip语音调度方法 |
CN106254273A (zh) * | 2016-08-09 | 2016-12-21 | 清华大学深圳研究生院 | 一种数据中心网络流的调度方法和系统 |
CN107431667A (zh) * | 2015-03-20 | 2017-12-01 | 阿尔卡特朗讯公司 | 在网络设备中调度数据包 |
CN108390738A (zh) * | 2018-01-29 | 2018-08-10 | 全球能源互联网研究院有限公司 | 一种基于智能变电站时钟同步的数据传输方法与系统 |
CN108540402A (zh) * | 2017-03-02 | 2018-09-14 | 华为技术有限公司 | 一种优化队列时延的方法和设备 |
-
2018
- 2018-09-20 CN CN201811100706.XA patent/CN109088829B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195885A (zh) * | 2011-05-27 | 2011-09-21 | 成都市华为赛门铁克科技有限公司 | 报文处理方法及装置 |
CN103973593A (zh) * | 2014-05-09 | 2014-08-06 | 中国电子科技集团公司第三十研究所 | 一种ip语音调度方法 |
CN107431667A (zh) * | 2015-03-20 | 2017-12-01 | 阿尔卡特朗讯公司 | 在网络设备中调度数据包 |
CN106254273A (zh) * | 2016-08-09 | 2016-12-21 | 清华大学深圳研究生院 | 一种数据中心网络流的调度方法和系统 |
CN108540402A (zh) * | 2017-03-02 | 2018-09-14 | 华为技术有限公司 | 一种优化队列时延的方法和设备 |
CN108390738A (zh) * | 2018-01-29 | 2018-08-10 | 全球能源互联网研究院有限公司 | 一种基于智能变电站时钟同步的数据传输方法与系统 |
Non-Patent Citations (2)
Title |
---|
WEI BAI 等: ""PIAS: Practical Information-Agnostic Flow Scheduling for Commodity Data Centers"", 《IEEE/ACM TRANSACTIONS ON NETWORK》 * |
欧阳宏雨: ""战术数据链网络资源动态管理技研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109861791A (zh) * | 2019-01-21 | 2019-06-07 | 广州小鹏汽车科技有限公司 | 一种周期型数据报文传输方法、系统、装置和存储介质 |
CN109861791B (zh) * | 2019-01-21 | 2021-12-07 | 广州小鹏汽车科技有限公司 | 一种周期型数据报文传输方法、系统、装置和存储介质 |
CN109547360B (zh) * | 2019-02-01 | 2022-02-15 | 中国联合网络通信集团有限公司 | 数据传输调度方法和装置 |
CN109547360A (zh) * | 2019-02-01 | 2019-03-29 | 中国联合网络通信集团有限公司 | 数据传输调度方法和装置 |
CN110730142A (zh) * | 2019-10-14 | 2020-01-24 | 安徽工业大学 | 一种信息不可知情况下的数据中心流自适应调度方法 |
CN110730142B (zh) * | 2019-10-14 | 2022-04-26 | 安徽工业大学 | 一种信息不可知情况下的数据中心流自适应调度方法 |
CN111628940A (zh) * | 2020-05-15 | 2020-09-04 | 清华大学深圳国际研究生院 | 流量调度方法、设备、系统、交换机及计算机存储介质 |
CN112000446A (zh) * | 2020-07-13 | 2020-11-27 | 深圳市优必选科技股份有限公司 | 一种数据传输的方法及机器人 |
CN114095445A (zh) * | 2020-07-29 | 2022-02-25 | 华人运通(上海)自动驾驶科技有限公司 | 车载以太网的数据传输控制方法、装置、电子设备及存储介质 |
CN112838904A (zh) * | 2021-01-08 | 2021-05-25 | 中国电子技术标准化研究院 | Tsn网络延迟抖动测量装置及方法 |
CN112838904B (zh) * | 2021-01-08 | 2023-09-08 | 中国电子技术标准化研究院 | Tsn网络延迟抖动测量装置及方法 |
CN113259215A (zh) * | 2021-05-25 | 2021-08-13 | 东莞铭普光磁股份有限公司 | 一种主从机通信方法和主从机通信系统 |
WO2023109188A1 (zh) * | 2021-12-14 | 2023-06-22 | 中兴通讯股份有限公司 | 报文调度方法、网络设备及计算机可读存储介质 |
CN114567603A (zh) * | 2021-12-29 | 2022-05-31 | 云洲(盐城)创新科技有限公司 | 一种报文传输方法、报文传输装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109088829B (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109088829A (zh) | 一种数据调度方法、装置、存储介质及设备 | |
CN105812287B (zh) | 分组交换网络中的有效电路 | |
CN111937364B (zh) | 无线网络系统中处理数据路径创建的方法和系统 | |
CN101667144B (zh) | 一种基于共享内存的虚拟机通信方法 | |
US6888831B1 (en) | Distributed resource reservation system for establishing a path through a multi-dimensional computer network to support isochronous data | |
JP4569846B2 (ja) | I/oノード制御方式及び方法 | |
US8874797B2 (en) | Network interface for use in parallel computing systems | |
US8930593B2 (en) | Method for setting parameters and determining latency in a chained device system | |
JP5672063B2 (ja) | 送信制御プログラム、通信装置および送信制御方法 | |
US20170257280A1 (en) | Reliably Updating a Messaging System | |
US20020165981A1 (en) | Method and apparatus for establishing and sharing a virtual change notification list among a plurality of peer nodes | |
CN101714947B (zh) | 一种可扩展的全流优先级调度方法及系统 | |
WO2019127597A1 (zh) | 一种发送报文的方法、设备和系统 | |
WO2007121611A1 (fr) | Procédé et dispositif de transmission de contenu dans un réseau poste à poste | |
Kliazovich et al. | CA-DAG: Communication-aware directed acyclic graphs for modeling cloud computing applications | |
CN109412958A (zh) | 数据中心的拥塞控制方法和装置 | |
EP2919426B1 (en) | Concurrent hashes and sub-hashes on data streams | |
JPWO2014103144A1 (ja) | インタフェース装置、およびメモリバスシステム | |
US7275081B1 (en) | Managing state information in a computing environment | |
CN105407128A (zh) | 在ccn中的中间路由器上兴趣保持活动 | |
CN103516612A (zh) | 分布式路由器中生成路由表项的方法及分布式路由器 | |
CN103763217A (zh) | 多路径tcp的分组调度方法和装置 | |
CN106372013B (zh) | 远程内存访问方法、装置和系统 | |
CN109547352A (zh) | 报文缓存队列的动态分配方法和装置 | |
WO2015021878A1 (zh) | 一种应用于pci-e的流量控制方法、设备及系统 |
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 |