CN112311693B - 业务数据的传输方法和装置 - Google Patents

业务数据的传输方法和装置 Download PDF

Info

Publication number
CN112311693B
CN112311693B CN201910684179.XA CN201910684179A CN112311693B CN 112311693 B CN112311693 B CN 112311693B CN 201910684179 A CN201910684179 A CN 201910684179A CN 112311693 B CN112311693 B CN 112311693B
Authority
CN
China
Prior art keywords
service data
data packet
data packets
transmission
scheduling 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.)
Active
Application number
CN201910684179.XA
Other languages
English (en)
Other versions
CN112311693A (zh
Inventor
李超
王学寰
张兴新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910684179.XA priority Critical patent/CN112311693B/zh
Priority to PCT/CN2020/096137 priority patent/WO2021017667A1/zh
Priority to EP20847977.4A priority patent/EP3996337B1/en
Publication of CN112311693A publication Critical patent/CN112311693A/zh
Application granted granted Critical
Publication of CN112311693B publication Critical patent/CN112311693B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority

Abstract

本申请提供一种业务数据的传输方法和装置。本申请的业务数据的传输方法,包括:确定N个传输队列中至少两个传输队列中的首个业务数据包的调度时间,N为大于等于2的正整数;获取所述至少两个传输队列的优先级和所述至少两个传输队列的首个业务数据包的数据包大小;根据所述调度时间、所述优先级和所述数据包大小,从所述至少两个传输队列中确定一个传输队列的首个业务数据包为第一业务数据包;传输所述第一业务数据包。本申请可以优化业务数据包的传输顺序,以减少业务数据包的传输等待时延,确保业务的QoS需求,例如,转发时延、抖动等。可以应用于车辆尤其是智能汽车上,同时可以应用于非车联网相关的其它类似的通讯领域或应用场景。

Description

业务数据的传输方法和装置
技术领域
本申请涉及通信技术,尤其涉及一种业务数据的传输方法和装置。
背景技术
汽车通信网络中,交换设备汇聚转发各种业务数据(如音视频、雷达、CAN/LIN等)到数据存储中心或计算中心。高级辅助驾驶系统、完全自动驾驶的车辆对控制、同步等消息在网络中的传输时延、抖动非常敏感。例如高速公路上以120km/h行驶的汽车,紧急刹车消息延迟增加1s,汽车刹车距离增加33.33m,这极大的威胁了驾乘人员的人身安全。因此,为了保证各种业务数据的服务质量(Quality of Service,QoS),交换设备需要对输入的业务数据进行流量整形,得到一个业务流,由端口输出到控制器、数据中心或计算中心作进一步的处理。
交换设备的一种非同步流量整形方法,该方法是基于令牌桶(Token Bucket)的流量整形方法。交换设备通过给每个输入端口对应的队列配置一定令牌容量的令牌桶。当桶中的令牌数量未达到令牌容量时,令牌桶中的令牌数量便会以恒定的速度增加。在队列进行业务调度前,需要确认队列的当前桶中令牌数量是否足够。若令牌数量充足,则直接进行业务调度,同时令牌的数量会相应减少;反之,队列需要等到桶中令牌累积到相应的数量,再进行业务调度。
基于令牌桶(Token Bucket)的流量整形方法可以防止交换设备数据输出拥塞。然而,使用该流量整形方法对业务数据进行调度过程中,不能较好的满足部分业务数据的QoS需求,例如,转发时延、抖动等。
发明内容
本申请提供一种业务数据的传输方法和装置,可以优化业务数据包的传输顺序,以减少业务数据包的传输等待时延,确保业务的QoS需求,例如,转发时延、抖动等。
第一方面,本申请实施例提供一种业务数据的传输方法,该方法可以包括:确定N个传输队列中至少两个传输队列中的首个业务数据包的调度时间,N为大于等于2的正整数。获取该至少两个传输队列的优先级和该至少两个传输队列的首个业务数据包的数据包大小。根据该调度时间、该优先级和该数据包大小,确定第一业务数据包,该第一业务数据包为该至少两个传输队列中的一个传输队列的首个业务数据包。传输该第一业务数据包。
本实现方式可以实现业务数据包的汇聚转发,由于在汇聚转发过程中结合调度时间、优先级和数据包大小从多个传输队列中确定出传输的业务数据包,所以可以优化业务数据包的传输顺序,以减少业务数据包的传输等待时延,确保业务的QoS需求,例如,转发时延、抖动等。
在一种可能的设计中,根据该调度时间、该优先级和该数据包大小,确定第一业务数据包,可以包括:根据该调度时间、该优先级或该数据包大小中至少两项,从该至少两个传输队列的首个业务数据包中确定第一类业务数据包。将该第一类业务数据包中数据包大小最小的作为该第一业务数据包。
在一种可能的设计中,该至少两个传输队列的首个业务数据包包括该第一类业务数据包和第二类业务数据包,该第一类业务数据包中任意业务数据包的调度时间相等,且该第一类业务数据包中任意业务数据包的优先级相等;该第一类业务数据包中任意业务数据包的调度时间早于第二类业务数据包的调度时间;或者,该至少两个传输队列的首个业务数据包包括该第一类业务数据包,该第一类业务数据包中任意业务数据包的调度时间相等,且该第一类业务数据包中任意业务数据包的优先级相等。
在一种可能的设计中,该至少两个传输队列的首个业务数据包包括所述第一类业务数据包和第二类业务数据包,该第一类业务数据包中任意业务数据包的调度时间相等,该第一类业务数据包中任意业务数据包的优先级与最高优先级的差值大于0小于或等于第二阈值。其中,该第一类业务数据包中任意业务数据包的调度时间早于或等于第二类业务数据包的调度时间,该最高优先级为第三类业务数据包对应的传输队列的优先级的最大值,该第三类业务数据包包括该第二类业务数据包中与该第一类业务数据包的调度时间相等的业务数据包。
在一种可能的设计中,该第一类业务数据包中任意业务数据包的大小满足以下至少一项:小于或等于第三阈值,或者,与该最高优先级对应的业务数据包的大小的差值大于或等于第四阈值。
在一种可能的设计中,该第一类业务数据包中任意两个业务数据包的优先级的差值小于或等于第二阈值。其中,该第一类业务数据包的调度时间为最小调度时间且该第一类业务数据包包括最高优先级的业务数据包,该最小调度时间为该至少两个传输队列中的首个业务数据包的调度时间的最小值,该最高优先级为该最小调度时间的业务数据包对应的传输队列的优先级的最大值。
在一种可能的设计中,该至少两个传输队列的首个业务数据包包括该第一类业务数据包和第二类业务数据包,该第一类业务数据包中任意业务数据包的调度时间与该第二类业务数据包的最小调度时间的差值大于0且小于或等于第一阈值、该第一类业务数据包中任意业务数据包的优先级与该最小调度时间对应的业务数据包的优先级的差值小于或等于第二阈值。
在一种可能的设计中,该第一类业务数据包中任意业务数据包的大小满足以下至少一项:小于或等于第三阈值,或者,与该最小调度时间对应的业务数据包的大小的差值大于或等于第四阈值。
在一种可能的设计中,该第一类业务数据包中任意两个业务数据包的调度时间的差值小于或等于第一阈值、该第一类业务数据包中任意两个业务数据包的优先级的差值小于或等于第二阈值,其中,该第一类业务数据包的调度时间的最小值为该至少两个传输队列中的首个业务数据包的调度时间的最小值,且该第一类业务数据包包括最高优先级的业务数据包,该最高优先级为调度时间与该最小值的差值小于或等于第一阈值的业务数据包对应的优先级的最大值。
在一种可能的设计中,若该第一类业务数据包中存在多个数据包大小最小的业务数据包,该方法还可以包括:根据多个数据包大小最小的业务数据包对应的传输队列的缓存空间大小、缓存剩余空间大小、或者首个业务数据包在缓存中的等待时间中至少一项,确定该第一业务数据包。
在一种可能的设计中,根据多个数据包大小最小的业务数据包对应的传输队列的缓存空间大小、缓存剩余空间大小、首个业务数据包在缓存中的等待时间中至少一项,确定该第一业务数据包,可以包括:在多个数据包大小最小的业务数据包中选取满足以下至少一项的业务数据包作为该第一业务数据包:业务数据包对应的传输队列的缓存空间最小;或者,业务数据包对应的传输队列的缓存剩余空间最小;或者,业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长。
第二方面,本申请实施例提供一种业务数据的传输装置,该装置可以包括:处理模块,用于确定N个传输队列中至少两个传输队列中的首个业务数据包的调度时间,N为大于等于2的正整数。该处理模块,还用于获取该至少两个传输队列的优先级和该至少两个传输队列的首个业务数据包的数据包大小。该处理模块,还用于根据该调度时间、该优先级和该数据包大小,确定第一业务数据包,该第一业务数据包为该至少两个传输队列中一个传输队列的首个业务数据包。该处理模块,还用于通过收发模块传输该第一业务数据包。
在一种可能的设计中,该处理模块,用于:根据该调度时间、该优先级或该数据包大小中至少两项,从该至少两个传输队列的首个业务数据包中确定第一类业务数据包;将该第一类业务数据包中数据包大小最小的作为该第一业务数据包。
在一种可能的设计中,该至少两个传输队列的首个业务数据包包括该第一类业务数据包和第二类业务数据包,该第一类业务数据包中任意业务数据包的调度时间相等,且该第一类业务数据包中任意业务数据包的优先级相等;该第一类业务数据包中任意业务数据包的调度时间早于第二类业务数据包的调度时间;或者,该至少两个传输队列的首个业务数据包包括该第一类业务数据包,该第一类业务数据包中任意业务数据包的调度时间相等,且该第一类业务数据包中任意业务数据包的优先级相等。
在一种可能的设计中,该至少两个传输队列的首个业务数据包包括该第一类业务数据包和第二类业务数据包,该第一类业务数据包中任意业务数据包的调度时间相等,该第一类业务数据包中任意业务数据包的优先级与最高优先级的差值大于0且小于或等于第二阈值。其中,该第一类业务数据包中任意业务数据包的调度时间早于或等于第二类业务数据包的调度时间,该最高优先级为第三类业务数据包对应的传输队列的优先级的最大值,该第三类业务数据包包括该第二类业务数据包中与该第一类业务数据包的调度时间相等的业务数据包。
在一种可能的设计中,该第一类业务数据包中任意业务数据包的大小满足以下至少一项:小于或等于第三阈值,或者,与该最高优先级对应的业务数据包的大小的差值大于或等于第四阈值。
在一种可能的设计中,该第一类业务数据包中任意两个业务数据包的优先级的差值小于或等于第二阈值。其中,该第一类业务数据包的调度时间为最小调度时间且该第一类业务数据包包括最高优先级的业务数据包,该最小调度时间为该至少两个传输队列中的首个业务数据包的调度时间的最小值,该最高优先级为所述最小调度时间的业务数据包对应的传输队列的优先级的最大值。
在一种可能的设计中,该至少两个传输队列的首个业务数据包包括该第一类业务数据包和第二类业务数据包,该第一类业务数据包中任意业务数据包的调度时间与该第二类业务数据包的最小调度时间的差值大于0且小于或等于第一阈值、该第一类业务数据包中任意业务数据包的优先级与该最小调度时间对应的业务数据包的优先级的差值小于或等于第二阈值。
在一种可能的设计中,该第一类业务数据包中任意业务数据包的大小满足以下至少一项:小于或等于第三阈值,或者,与该最小调度时间对应的业务数据包的大小的差值大于或等于第四阈值。
在一种可能的设计中,该第一类业务数据包中任意两个业务数据包的调度时间的差值小于或等于第一阈值、该第一类业务数据包中任意两个业务数据包的优先级的差值小于或等于第二阈值,其中,该第一类业务数据包的调度时间的最小值为该至少两个传输队列中首个业务数据包的调度时间的最小值,且该第一类业务数据包包括最高优先级的业务数据包,该最高优先级为调度时间与该最小调度时间的差值小于或等于第一阈值的业务数据包对应的优先级的最大值。
在一种可能的设计中,若该第一类业务数据包中存在多个数据包大小最小的业务数据包,该处理模块还用于:根据多个数据包大小最小的业务数据包对应的传输队列的缓存空间大小、缓存剩余空间大小、或者首个业务数据包在缓存中的等待时间中至少一项,确定该第一业务数据包。
在一种可能的设计中,该处理模块用于:在多个数据包大小最小的业务数据包中选取满足以下至少一项的业务数据包作为该第一业务数据包:业务数据包对应的传输队列的缓存空间最小;或者,业务数据包对应的传输队列的缓存剩余空间最小;或者,业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长。
第三方面,本申请提供一种业务数据的传输装置,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一方面中任一项所述的方法。
在一种可能的设计中,该业务数据的传输装置为终端设备。
第四方面,本申请提供一种计算机可读存储介质,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行上述第一方面中任一项所述的方法。
第五方面,本申请提供一种计算机程序,当所述计算机程序被计算机执行时,用于执行上述第一方面中任一项所述的方法。
第六方面,本申请提供一种芯片,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如上述第一方面中任一项所述的方法。
第七方面,本申请一种车辆,包括:至少一个传感器、如第二方面中任一项所述的业务数据的传输装置、以及接收装置。该至少一个传感器与该业务数据的传输装置连接,该业务数据的传输装置与该接收装置连接。
本申请的业务数据的传输方法和装置,通过确定N个传输队列中至少两个传输队列中的首个业务数据包的调度时间,获取至少两个传输队列的优先级和至少两个传输队列的首个业务数据包的数据包大小,根据调度时间、优先级和数据包大小,从至少两个传输队列中确定一个传输队列的首个业务数据包为第一业务数据包,传输第一业务数据包,从而实现业务数据包的汇聚转发,由于在汇聚转发过程中结合调度时间、优先级和数据包大小从多个传输队列中确定出传输的业务数据包,所以可以优化业务数据包的传输顺序,以减少业务数据包的传输等待时延,确保业务的QoS需求,例如,转发时延、抖动等。
附图说明
图1为本申请实施例的一种应用场景的示意图;
图2为本申请实施例的另一种应用场景的示意图;
图3为本申请实施例的ATS算法确定调度时间的示意图;
图4为本申请实施例的一种业务数据的传输方法的流程图;
图5为本申请实施例的一种业务数据的传输方法的调度示意图;
图6为本申请实施例的一种业务数据的传输方法的调度示意图;
图7为本申请实施例的一种业务数据的传输方法的调度示意图;
图8为本申请实施例的一种业务数据的传输方法的调度示意图;
图9为本申请实施例的另一种业务数据的传输的流程图;
图10为本申请实施例的另一种业务数据的传输的流程图;
图11为本申请实施例的一种业务数据的传输装置1000的示意性框图;
图12为本申请实施例的一种业务数据的传输装置1100的示意性框图。
具体实施方式
本申请所涉及的术语“第一”、“第二”等仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
图1为本申请实施例的一种应用场景的示意图,如图1所示,该应用场景可以包括:交换传输设备2以及接收装置3,其中,交换传输设备2与接收装置3连接。
该交换传输设备2用于执行本申请实施例的业务数据的传输方法,将业务数据汇聚转发至接收装置3。该业务数据可以是自身所产生的业务数据,也可以是从其它装置接收到的业务数据,该其它装置例如可以是传感器、控制器、其它业务交换传输设备等。
在一些示例中,如图1虚线所示的传感器(11和12),该传感器(11和12)分别与交换传输设备2连接,传感器(11和12)用于采集数据,并将数据传输至交换传输设备2,交换传输设备2用于执行本申请实施例的业务数据的传输方法,将接收到的传感器(11和12)的业务数据汇聚转发至接收装置3。其中,交换传输设备2可以包括多个输入端口和一个输出端口,一个输入端口连接一个或多个传感器,交换传输设备2将通过一个或多个输入端口接收到的数据划分至相应的传输队列,将多个传输队列的业务流整形为一个业务流,通过输出端口传输至接收装置3,业务流可以包括一个或多个业务数据包,到达输出端口的业务数据包需要等待前一个业务数据包传输完成,链路空闲时才能被传输,通过本申请的业务数据的传输方法可以减少业务数据包由于排序输出所带来的调度等待时延。
需要说明的是,如图1所示的传感器(11、12)为一种示意性说明,该传感器的个数还可以是3个、4个等,本申请实施例不以图示个数作为限制。
本申请所涉及的业务数据包(Traffic packet)也可以称之为帧(frame)、包(packet)、数据(data)、数据包(data packet)、片段(segment)等,本申请不以此作为限制。本申请采用业务数据包(Traffic packet)做举例说明。
本申请的业务数据的传输方法可以应用于车内网络通信的业务调度,或者车外网通信的业务调度,也可以用于其它通信系统。比如,可以应用于车与车(Vehicle toVehicle,V2V)通信、车与行人(Vehicle to Pedestrian,V2P)通信或车与基建/网络(Vehicle to Infrastructure/Network,V2I/N)通信。以车内网络通信为例,图2为本申请实施例的另一种应用场景的示意图,如图2所示,多个传感器(S1、S2、S3、……、S16)分别设置在车辆上,多个传感器(S1、S2、S3、……、S16)用于采集车辆行驶数据、周围环境数据等业务数据,传感器(S1、S2、S3和S4)与交换传输设备1连接,传感器(S5、S6、S7和S8)与交换传输设备2连接,传感器(S9、S10、S11和S12)与交换传输设备3连接,传感器(S13、S14、S15和S16)与交换传输设备4连接,交换传输设备1、交换传输设备2、交换传输设备3和交换传输设备4分别与接收装置连接,交换传输设备1、交换传输设备2、交换传输设备3和交换传输设备4之间也可以连接。传感器(S1、S2、S3和S4)将采集到的业务数据传输至与其连接的交换传输设备。交换传输设备1、交换传输设备2、交换传输设备3和交换传输设备4中任意交换设备均可以执行本申请的业务数据的传输方法,对接收到的业务数据进行处理,以减少业务数据包由于排序输出所带来的调度等待时延,确保业务的QoS需求,例如,转发时延、抖动等。
本申请所涉及的传感器,用于获取被测量的信息,并将被测量的信息,按一定规律变换成为电信号或其它所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。该传感器可以是如下任意一种具体形式:毫米波雷达、激光雷达、超声波雷达、摄像头、定位系统(如全球定位系统(Global Positioning System,GPS)、惯性测量单元(Inertial measurement unit,IMU)、速度传感器、加速度传感器、湿度传感器、光强度传感器、或远程信息处理器(Telematics BOX,T-Box)等。
本申请所涉及的交换传输设备,也可以称之为业务数据的传输装置,用于承担路由交换功能,汇聚中转各种业务数据。该业务数据可以是音视频数据、同步消息、控制消息等。该业务数据的传输装置可以是路由器、交换机等。
本申请所涉及的接收装置,可以是控制器,也可以是计算中心或存储中心,用于承担一种或多种功能的计算和控制。该接收装置可以是独立的,也可以与交换传输设备集成,例如,可以是车载计算平台、车载电脑、域控制器、多域控制器(如自动驾驶控制器、信息娱乐控制器)等。该接收装置也可以是数据中心,用于存储重要的数据,例如,该数据中心可以是车内的黑匣子、行车记录仪等。
需要说明的是,以上网元(如传感器、交换传输设备、接收装置)是逻辑概念,在实际中,网元的形态可以是一个实体设备,例如,盒子,也可以是一块单板,或者单板上的一个芯片或者区域。在实际中,多个网元还可以合成为一个设备,例如,交换传输设备和接收装置可以在一个电路板上。
该接收装置可以位于车内,也可以位于车外其它网元,如基站,路边站等。该接收装置可以与交换传输单元位于同一辆车内,也可以位于不同车辆内。
本申请所涉及的调度时间(assigned eligibility time),用于表示一个时刻,业务数据的传输装置根据该时刻传输业务数据包,例如,根据多个业务数据包的调度时间确定该多个业务数据包从该业务数据的传输装置的端口输出的顺序。该调度时间可以使用异步业务整形(Asynchronize Traffic Shaper,ATS)算法确定,当然该调度时间也可以采用其它算法确定,本申请实施例不以ATS算法作为限制。
示意的,如上述图1或图2所示的业务数据的传输装置可以有多个输入端口,输入端口可以与传感器连接,或者与其它业务数据的传输装置连接。业务数据的传输装置从一个或多个输入端口接收业务数据包,根据业务数据包的业务类型,将业务数据包划分至相应传输队列,业务数据的传输装置为每个传输队列配置有一定的缓存空间,每一个传输队列中的业务数据包按照到达该业务数据的传输装置的时间依次排序,存储在对应的缓存空间中。业务数据的传输装置还为每个传输队列配置一定令牌容量的令牌桶。业务数据的传输装置根据每个传输队列的令牌增长速率、当前令牌数量、当前系统时间等参数,确定该传输队列的首个业务数据包的调度时间,进而根据各个传输队列的首个业务数据包的调度时间确定优先传输的业务数据包,传输该业务数据包。重复上述根据各个传输队列的首个业务数据包的调度时间确定优先传输的业务数据包的过程,直至全部业务数据包传输完成。在一些示例中,第i(i>1)次执行根据各个传输队列的首个业务数据包的调度时间确定优先调度传输的业务数据包的过程之前,可以仅计算更新第i-1次确定的优先调度传输的业务数据包所在传输队列的首个业务数据包的调度时间,其它传输队列的首个业务数据包的调度时间不变。例如,第一次执行本申请实施例所述方法之前,三个传输队列(Q1、Q2和Q3),传输队列Q1中的业务数据包从队首至队尾分别为:业务数据包11(traffic packet 11)和业务数据包12(traffic packet 12),传输队列Q2中的业务数据包从队首至队尾分别为:业务数据包21(traffic packet 21)和业务数据包22(traffic packet 22),队列Q3中的业务数据包从队首至队尾分别为:业务数据包31(traffic packet 31)和业务数据包32(trafficpacket 32),业务数据的传输装置可以根据每个传输队列的令牌增长速率、当前令牌数量、当前系统时间等参数,确定Q1、Q2和Q3的首个业务数据包的调度时间,例如,分别为T1、T2和T3,在一次执行根据各个传输队列的首个业务数据包的调度时间(T1、T2和T3)确定优先调度传输的业务数据包后,确定并传输业务数据包11(traffic packet 11)。在第二次执行本申请实施例所述方法之前,由于Q1的首个业务数据包变为业务数据包12(traffic packet12),重新计算Q1的首个业务数据包的调度时间,例如,为T1’,再一次执行根据各个传输队列的首个业务数据包的调度时间(T1’、T2和T3)确定优先调度传输的业务数据包,传输业务数据包,以此类推,直至全部业务数据包传输完成。
本申请所涉及的优先级(priority),用于表示传输队列的调度传输的优先等级。需要说明的是,本申请实施例中描述的业务数据包的优先级指:业务数据包所在的传输队列的优先级。优先级可以用数值表示,其可以是数值越大,优先级越高,也可以是数值越小,优先级越高,其可以用根据需求进行灵活设置。本申请中采用数值越大,优先级越高进行举例说明。
本申请所涉及的A与B的差值,可以理解为A与B中较大的减去较小的,即A减去B,或者,B减去A。也可以理解为A减去B的绝对值。
一种举例说明,图3为本申请实施例的ATS算法确定调度时间的示意图,如图3所示,N个传输队列,该N个传输队列可以是上述交换传输设备2的N个传输队列,其中,传输队列Q1中已有业务数据包11(traffic packet 11),传输队列Q2中已有业务数据包21(trafficpacket 21),……,传输队列QN中已有业务数据包N1(traffic packet N1),业务数据包11(traffic packet 11)为传输队列Q1的首个业务数据包,业务数据包21(traffic packet21)为传输队列Q2的首个业务数据包,业务数据包N1(traffic packet N1)为传输队列QN的首个业务数据包,业务数据包11(traffic packet 11)、业务数据包21(traffic packet21)、业务数据包N1(traffic packet N1)的数据包大小可以相同,也可以不同,其数据包大小的单位可以是比特(bit)、字节(B)、千字节(KB)等。交换传输设备2可以通过ATS算法确定每个传输队列的首个业务数据包的调度时间,例如,确定出传输队列Q1的首个业务数据包的调度时间为T11,传输队列Q2的首个业务数据包的调度时间为T21,……,传输队列QN的首个业务数据包的调度时间为TN1
本申请的业务数据的传输方法可以结合调度时间、优先级和数据包大小确定优先调度传输的业务数据包,其具体实施方式可以参见下述实施例的解释说明。
图4为本申请实施例的一种业务数据的传输方法的流程图,如图4所示,本实施例的方法可以包括:
步骤101、业务数据的传输装置确定至少两个传输队列中的首个业务数据包的调度时间,N为大于等于2的正整数。
具体的,该至少两个传输队列为N个传输队列中的有业务数据包需要传输的传输队列。
业务数据的传输装置可以采用如上所述的ATS算法确定N个传输队列中至少两个传输队列中的首个业务数据包的调度时间。举例而言,N=4,即该业务数据的传输装置有4个传输队列(传输队列Q1、传输队列Q2、传输队列Q3、传输队列Q4),其中有2个传输队列(传输队列Q1、传输队列Q2)有业务数据包,另外2个传输队列(传输队列Q3、传输队列Q4)为空,则该业务数据的传输装置可以采用如上所述的ATS算法确定传输队列Q1和传输队列Q2的首个业务数据包的调度时间。
示例性的,该业务数据包可以来自于传感器,业务数据的传输装置接收传感器发送的业务数据包。该业务数据包可以是音视频数据、雷达数据、控制器局域网络(Controller Area Network,CAN)数据、局域互联网络(Local Interconnect Network,LIN)数据等。
业务数据的传输装置可以将接收到的业务数据包划分至相应的传输队列,例如,如图3所示的传输队列Q1中。
可以理解的,本申请各实施例中,至少两个传输队列中的首个业务数据包,具体可以指至少两个传输队列中每个传输队列的首个业务数据包,相应的,至少两个传输队列中的首个业务数据包的调度时间,具体可以指至少两个传输队列中每个传输队列的首个业务数据包的调度时间。
步骤102、业务数据的传输装置获取至少两个传输队列的优先级和至少两个传输队列的首个业务数据包的数据包大小。
可以理解的,本申请各实施例中,至少两个传输队列的优先级,具体可以指至少两个传输队列中每个传输队列的优先级;至少两个传输队列的首个业务数据包的数据包大小,具体可以指至少两个传输队列中每个传输队列的首个业务数据包的数据包大小。
以上述步骤101的举例做进一步举例说明,该业务数据的传输装置可以获取传输队列Q1的优先级和传输队列Q2的优先级,并获取传输队列Q1的首个业务数据包11(trafficpacket 11)的数据包大小和传输队列Q2的首个业务数据包21(traffic packet 21)的数据包大小。
步骤103、业务数据的传输装置根据调度时间、优先级和数据包大小,确定第一业务数据包,该第一业务数据包为该至少两个传输队列中的一个传输队列的首个业务数据包。
该业务数据的传输装置可以根据上述步骤101确定的至少两个传输队列的调度时间、以及上述步骤102获取的至少两个传输队列的优先级和数据包大小,从上述至少两个传输队列中确定一个传输队列的首个业务数据包为第一业务数据包。以上述步骤101和步骤102的举例做进一步举例说明,该业务数据的传输装置可以根据传输队列Q1和传输队列Q2的调度时间、优先级和数据包大小确定一个传输队列的首个业务数据包为第一业务数据包。
步骤104、业务数据的传输装置传输第一业务数据包至接收装置。
例如,通过步骤103确定传输队列Q2的首个业务数据包为第一业务数据包,则可以通过步骤104将该传输队列Q2的首个业务数据包发送至接收装置。
本申请实施例的业务数据的传输装置在传输完该第一业务数据包之后,可以重新计算首个业务数据包发生变化的传输队列的调度时间,并获取该首个业务数据包的数据包大小,重复执行上述步骤103,以确定新的第一业务数据包,并进行传输,直至将该N个传输队列中的业务数据包传输完成。比如,如果Q2仍有业务数据包需要传输,重新计算Q2的首个业务数据包的调度时间;如果Q3有业务数据包需要传输,计算Q3的首个业务数据包的调度时间。
本实施例,业务数据的传输装置通过确定N个传输队列中至少两个传输队列中的首个业务数据包的调度时间,获取至少两个传输队列的优先级和至少两个传输队列的首个业务数据包的数据包大小,根据调度时间、优先级和数据包大小,从至少两个传输队列中确定一个传输队列的首个业务数据包为第一业务数据包,传输第一业务数据包,从而实现业务数据包的汇聚转发,由于在汇聚转发过程中结合调度时间、优先级和数据包大小从多个传输队列中确定出传输的业务数据包,所以可以优化业务数据包的传输顺序,以减少业务数据包的传输等待时延,确保业务的QoS需求,例如,转发时延、抖动等。
举例而言,传输队列Q1和传输队列Q2的调度时间和优先级均相等,使用本实施例的方法可以根据数据包大小确定数据大小较小的先传输,从而可以减少转发时延、抖动等。
采用ATS算法确定的调度时间,还可以使得本申请实施例的业务数据的传输方法实现通信网络突发业务的流量整形。
本申请实施例的上述步骤103的具体实施方式可以有很多种,下面将举例分别介绍其中的三种方式。
方式一
例如,一种可实施方式,方式一,业务数据的传输装置根据至少两个传输队列的调度时间和优先级,从该至少两个传输队列的首个业务数据包中确定第一类业务数据包,将第一类业务数据包中数据包大小满足预设大小条件的作为第一业务数据包。
一种示例,上述方式一中的第一类业务数据包可以具有如下性质:该第一类业务数据包中任意业务数据包的调度时间相等,且该第一类业务数据包中任意业务数据包的优先级相等,该第一类业务数据包中任意业务数据包的调度时间早于第二类业务数据包的调度时间,其中,第二类业务数据包为该至少两个传输队列中的一个或多个传输队列中的首个业务数据。
举例而言,该至少两个传输队列的首个业务数据包可以分为两类业务数据包:第一类业务数据包和第二类业务数据包。其中,第一类业务数据包中任意业务数据包的调度时间相等,且优先级相等,该第一类业务数据包中任意业务数据包的调度时间早于第二类业务数据包的调度时间。
或者,该方式一中的第一类业务数据包可以具有如下性质,该至少两个传输队列的首个业务数据包只包括该第一类业务数据包,该第一类业务数据包中任意业务数据包的调度时间相等,且该第一类业务数据包中任意业务数据包的优先级相等。
举例而言,该至少两个传输队列的首个业务数据包的调度时间均相等且优先级相等,则该至少两个传输队列的首个业务数据包均属于第一类业务数据包。
以图5所示的场景做举例说明,图5为本申请实施例的一种业务数据的传输方法的调度示意图,如图5所示,假设N个传输队列中均有业务数据需要传输,即至少两个传输队列即为N个传输队列,业务数据的传输装置通过执行上述步骤101确定出N个传输队列的首个业务数据包(业务数据包11、业务数据包21……业务数据包N1)的调度时间(T11、T21、……、TN1),该N个传输队列的首个业务数据包(业务数据包11、业务数据包21……业务数据包N1)的调度时间(T11、T21、……、TN1)相等,即T11=T21=……=TN1,通过执行上述步骤102获取到N个传输队列(Q1、Q2、……、QN)的优先级(P11、P21、……、PN1)和首个业务数据包的数据包大小(S21、S11、……、SN1),该N个传输队列(Q1、Q2、……、QN)的优先级(P11、P21、……、PN1)相等,即P11=P21=……=PN1。通过上述步骤103的方式一以及上述第一类业务数据包的性质,可以确定出本实施例的第一类业务数据包包括业务数据包11、业务数据包21……和业务数据包N1,将第一类业务数据包中数据包大小满足预设大小条件的作为第一业务数据包,例如,将第一类业务数据包中数据包大小最小的作为第一业务数据,假设业务数据包21的数据包大小(S21)<业务数据包11的数据包大小(S11)<……<业务数据包N1的数据包大小(SN1),即业务数据包21的数据包大小(S21)最小,将业务数据包21作为第一业务数据包,传输该第一业务数据包。重复执行本申请的业务数据包的传输方法以确定下一个传输的业务数据包。例如,再一次执行本申请业务数据包的传输方法时,除业务数据包22外,其它业务数据包的调度时间相同,上述至少两个传输队列为除Q2之外的其它传输队列,假设业务数据包11的数据包大小(S11)最小,则下一个传输的业务数据包为业务数据包11,则如图5所示,在业务数据包21之后传输业务数据包11。
示例性的,针对上述场景,本申请实施例可以通过如下步骤确定第一业务数据包:首先筛选出调度时间最小且相等的业务数据包集合D1={业务数据包11、业务数据包21……业务数据包N1},然后确定集合D1中优先级最高且相等的业务数据包集合D2={业务数据包11、业务数据包21……业务数据包N1},最后从D2中挑选业务数据包大小最小的(业务数据包21)进行调度传输。进一步的,如果D2中存在多个业务数据包大小最小(记为集合D3),则按照D3中业务数据包对应的传输队列的缓存空间最小、业务数据包对应的传输队列的缓存剩余空间最小、业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长中至少一项确定调度传输的数据包。可以理解的,调度时间最小具体可以指期望或计划被传输的时间最早。
本实施例,在N个传输队列中至少两个传输队列中的首个业务数据包的调度时间相等,且优先级相等时,根据数据包大小选取数据包最小的作为第一业务数据包,进行传输,从而可以优化业务数据包的传输顺序,以减少业务数据包的传输等待时延,确保业务的QoS需求,例如,转发时延、抖动等。当传输带宽固定,越小的业务数据包传输时间越短。小的业务数据包传输时间短,对大的业务数据包造成的传输时延影响更小。例如,120字节的业务数据包与1500字节的业务数据包,若先传输1500字节的业务数据包,则增加该120字节的业务数据包12.5倍的时延,反之,120字节的业务数据包仅增加1500字节的业务数据包8%的传输等待时延,通过本实施例的方法可以先传输小的业务数据包,从而可以减少数据传输过程中的整体等待时延。
另一种示例,上述方式一中的第一类业务数据包可以具有如下性质:该第一类业务数据包中任意业务数据包的调度时间相等,该第一类业务数据包中任意业务数据包的优先级与最高优先级的差值大于0且小于或等于第二阈值,其中,该第一类业务数据包中任意业务数据包的调度时间早于或等于第二类业务数据包的调度时间,其中,第二类业务数据包为该至少两个传输队列中除第一类业务数据包对应的传输队列之外的一个或多个传输队列中的首个业务数据包,该最高优先级为第三类业务数据包对应的传输队列的优先级的最大值,该第三类业务数据包包括该第二类业务数据包中与该第一类业务数据包的调度时间相等的业务数据包。
其中,该第二阈值可以用P表示,该P可以取1、2等。
该第一类业务数据包中业务数据包的个数可以是一个或者多个,当该第一类业务数据包的个数为一个时,也可以理解为该第一类业务数据包中任意业务数据包的调度时间相等。该第三类业务数据包中业务数据包的个数可以是一个或者多个。
举例而言,该至少两个传输队列的首个业务数据包可以分为两类业务数据包:第一类业务数据包和第二类业务数据包。也可以理解为两个业务数据包集合。该第三类业务数据包可以理解为该第二类业务数据包的子集。
具有上述调度时间和优先级方面的性质的第一类业务数据包可以理解为调度时间相等且优先级相差不大的业务数据包。
以一种场景进行举例说明,假设N个传输队列中有三个传输队列有业务数据需要传输,即至少两个传输队列即为三个传输队列,业务数据的传输装置通过执行上述步骤101确定出N个传输队列中三个传输队列的首个业务数据包(业务数据包11、业务数据包21、业务数据包31)的调度时间(T11、T21、T31),该三个传输队列的首个业务数据包(业务数据包11、业务数据包21、业务数据包31)的调度时间(T11、T21、T31)相等,即T11=T21=T31,通过执行上述步骤102获取到三个传输队列(Q1、Q2、Q3)的优先级(P11、P21、P31)和首个业务数据包的数据包大小(S21、S11、S31),该三个传输队列(Q1、Q2、Q3)的优先级(P11、P21、P31)具有如下关系:P11>P21=P31,且P11与P21相差在P个等级之内,该三个传输队列(Q1、Q2、Q3)的首个业务数据包的数据包大小(S21、S11、S31)具有如下关系:S31<S21<S11。通过上述步骤103的方式一以及上述第一类业务数据包的性质(具有上述调度时间相等且优先级相差不大的性质),可以确定出本实施例的第一类业务数据包包括业务数据包21和业务数据包31,第三类业务数据包包括业务数据包11,将第一类业务数据包中数据包大小满足预设大小条件的作为第一业务数据包,例如,将第一类业务数据包中数据包大小最小的作为第一业务数据,即,将业务数据包31作为第一业务数据包,传输该第一业务数据包。重复执行本申请的业务数据包的传输方法以确定下一个传输的业务数据包。
示例性的,针对上述场景,本申请实施例可以通过如下步骤确定第一业务数据包:首先筛选出调度时间最小且相等的业务数据包集合D1={业务数据包11、业务数据包21、业务数据包31},然后确定集合D1中优先级最高业务数据包P0={业务数据包11},以及与P0的优先级相差P个等级之内的业务数据包集合D2={业务数据包21、业务数据包31}。如果D2为空集,则优先调度业务数据包P0,如果D2为非空集合,则优先调度D2中最小业务数据包。如果D2中存在多个业务数据包大小最小(记为集合D3),则按照D3中业务数据包优先级最高、业务数据包对应的传输队列的缓存空间最小、业务数据包对应的传输队列的缓存剩余空间最小、业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长中至少一项确定调度传输的数据包。
本实施例,在N个传输队列中至少两个传输队列中的首个业务数据包的调度时间相等,且优先级相差不大时,根据数据包大小选取数据包最小的作为第一业务数据包,进行传输,从而可以优化业务数据包的传输顺序,以减少业务数据包的传输等待时延,确保业务的QoS需求,例如,转发时延、抖动等。
另一种示例,上述方式一中的第一类业务数据包可以具有如下性质:该至少两个传输队列的首个业务数据包包括第一类业务数据包和第二类业务数据包,该第一类业务数据包中任意业务数据包的调度时间与该第二类业务数据包的最小调度时间的差值大于0且小于或等于第一阈值,该第一类业务数据包中任意业务数据包的优先级与该最小调度时间对应的业务数据包的优先级的差值大于0且小于或等于第二阈值。
其中,该第一阈值可以用T表示,该T可以取2、3等。第二阈值的解释说明可以参见上述实施例,此处不再赘述。
具有上述调度时间和优先级方面的性质的第一类业务数据包可以理解为调度时间相差不大且优先级相差不大的业务数据包。
以图6所示的场景做举例说明,图6为本申请实施例的一种业务数据的传输方法的调度示意图,如图6所示,假设N个传输队列中有两个传输队列有业务数据需要传输,即至少两个传输队列即为两个传输队列,业务数据的传输装置通过执行上述步骤101确定出N个传输队列中两个传输队列的首个业务数据包(业务数据包11、业务数据包21)的调度时间(T11、T21),该两个传输队列的首个业务数据包(业务数据包11、业务数据包21)的调度时间(T11、T21)的大小关系如下:0<T21-T11<T,通过执行上述步骤102获取到两个传输队列(Q1、Q2)的优先级(P11、P21)和首个业务数据包的数据包大小(S21、S11),该两个传输队列(Q1、Q2)的优先级(P11、P21)具有如下关系:P21与P11优先级差距在P个等级之内,该两个传输队列(Q1、Q2)的首个业务数据包的数据包大小(S11、S21)具有如下关系:S21<=K且S11-S21>M。通过上述步骤103的方式一以及上述第一类业务数据包的性质(具有调度时间相差不大且优先级相差不大的性质),可以确定出本实施例的第一类业务数据包包括业务数据包21,该第二类业务数据包包括业务数据包11,由于该第一类业务数据包中只有一个业务数据包,则可以将业务数据包21作为第一业务数据包,传输该第一业务数据包,如果第一类业务数据包中有多个业务数据包,则可以将第一类业务数据包中数据包大小满足预设大小条件的作为第一业务数据包,例如,将第一类业务数据包中数据包大小最小的作为第一业务数据,传输该第一业务数据包。重复执行本申请的业务数据包的传输方法以确定下一个传输的业务数据包。例如,下一个传输的业务数据包为业务数据包11,则如图6所示,在业务数据包21之后传输业务数据包11。
示例性的,针对上述场景,本申请实施例可以通过如下步骤确定第一业务数据包:首先筛选出最小调度时间的业务数据包P0={业务数据包11},然后筛选出调度时间与P0的调度时间相差小于T的业务数据包集合D1={业务数据包21},从D1中筛选出与P0的优先级相差为P个等级内的业务数据包集合D2={业务数据包21},如果D2为空集,则优先调度业务数据包P0,如果D2为非空集合,则优先传输D2中业务数据包大小最小的数据包P0={业务数据包11}。如果D2中存在多个业务数据包大小最小(记为集合D3),则按照D3中业务数据包调度时间最小、业务数据包优先级最高、业务数据包对应的传输队列的缓存空间最小、业务数据包对应的传输队列的缓存剩余空间最小、或业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长中至少一项确定调度传输的数据包。
本实施例,在N个传输队列中至少两个传输队列中的首个业务数据包的调度时间相差不大,且优先级相差不大时,根据数据包大小选取数据包最小的作为第一业务数据包,进行传输,从而可以优化业务数据包的传输顺序,以减少业务数据包的传输等待时延,确保业务的QoS需求,例如,转发时延、抖动等。
另一种示例,上述方式一中的第一类业务数据包可以具有如下性质:该第一类业务数据包中任意两个业务数据包的优先级的差值小于或等于第二阈值;其中,该第一类业务数据包的调度时间为最小调度时间且该第一类业务数据包包括最高优先级的业务数据包,该最小调度时间为该至少两个传输队列中首个业务数据包的调度时间的最小值,该最高优先级为该最小调度时间的业务数据包对应的传输队列的优先级的最大值。或者,第一类业务数据包中任意两个业务数据包的调度时间的差值小于或等于第一阈值,第一类业务数据包中任意两个业务数据包的优先级的差值小于或等于第二阈值,其中,该第一类业务数据包的调度时间的最小值为至少两个传输队列中的首个业务数据包的调度时间的最小值,且该第一类业务数据包包括最高优先级的业务数据包,该最高优先级为调度时间与该最小值的差值小于或等于第一阈值的业务数据包对应的优先级的最大值。
其中,第一阈值和第二阈值的解释说明可以参见上述实施例,此处不再赘述。
需要说明的是,该第一类业务数据包可以包括一个或多个业务数据包。
以一种场景进行举例说明,假设N个传输队列中有三个传输队列有业务数据需要传输,即至少两个传输队列即为三个传输队列,业务数据的传输装置通过执行上述步骤101确定出三个传输队列的首个业务数据包(业务数据包11、业务数据包21、业务数据包31)的调度时间(T11、T21、T31),该三个传输队列的首个业务数据包(业务数据包11、业务数据包21、业务数据包31)的调度时间(T11、T21、T31)相等,即T11=T21=T31,通过执行上述步骤102获取到三个传输队列(Q1、Q2、Q3)的优先级(P11、P21、P31)和首个业务数据包的数据包大小(S21、S11、S31),该三个传输队列(Q1、Q2、Q3)的优先级(P11、P21、P31)具有如下关系:P11>P21>P31,且P11与P21相差在P个等级之内,P11与P31相差大于P个等级,该三个传输队列(Q1、Q2、Q3)的首个业务数据包的数据包大小(S21、S11、S31)具有如下关系:S11<S21=S31。通过上述步骤103的方式一以及上述第一类业务数据包的性质,可以确定出本实施例的第一类业务数据包包括业务数据包11和业务数据包21,将第一类业务数据包中数据包大小满足预设大小条件的作为第一业务数据包,例如,将第一类业务数据包中数据包大小最小的作为第一业务数据,即,将业务数据包11作为第一业务数据包,传输该第一业务数据包。重复执行本申请的业务数据包的传输方法以确定下一个传输的业务数据包。例如,下一个传输的业务数据包为业务数据包21,在业务数据包11之后传输业务数据包21。
示例性的,针对上述场景,本申请实施例可以通过如下步骤确定第一业务数据包:首先筛选出调度时间最小且相等的业务数据包集合D1={业务数据包11、业务数据包21、业务数据包31},然后确定集合D1中优先级最高业务数据包P0={业务数据包11},其次从D1中筛选出与P0的优先级相差P个等级之内的业务数据包集合D2={业务数据包11、业务数据包21},优先传输D2中业务数据包大小最小的数据包。如果D2中存在多个业务数据包大小最小(记为集合D3),则按照D3中业务数据包优先级最高、业务数据包对应的传输队列的缓存空间最小、业务数据包对应的传输队列的缓存剩余空间最小、业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长中至少一项确定调度传输的数据包。
方式二
另一种可实施方式,方式二,业务数据的传输装置根据至少两个传输队列的调度时间、优先级和数据包大小,从该至少两个传输队列的首个业务数据包中确定第一类业务数据包,将第一类业务数据包中数据包大小满足预设大小条件的作为第一业务数据包。
该预设大小条件可以是数据包大小最小、或者数据包大小小于一个阈值等,其可以根据需求进行灵活设置。
一种示例,上述方式二中的第一类业务数据包可以具有如下性质:该第一类业务数据包中任意业务数据包的调度时间相等,该第一类业务数据包中任意业务数据包的优先级与最高优先级的差值大于0且小于或等于第二阈值,其中,该第一类业务数据包中任意业务数据包的调度时间早于或等于第二类业务数据包的调度时间,其中,第二类业务数据包为该至少两个传输队列中除第一类业务数据包对应的传输队列之外的一个或多个传输队列中的首个业务数据包,该最高优先级为第三类业务数据包对应的传输队列的优先级的最大值,该第三类业务数据包包括该第二类业务数据包中与该第一类业务数据包的调度时间相等的业务数据包。并且,该第一类业务数据中任意业务数据包的大小满足如下至少一项:小于或等于第三阈值,或者,与该最高优先级对应的业务数据包的大小的差值大于或等于第四阈值。
该第一类业务数据包中业务数据包的个数可以是一个或者多个,当该第一类业务数据包的个数为一个时,也可以理解为该第一类业务数据包中任意业务数据包的调度时间相等。该第三类业务数据包中业务数据包的个数可以是一个或者多个。举例而言,该至少两个传输队列的首个业务数据包可以分为两类业务数据包:第一类业务数据包和第二类业务数据包。也可以理解为两个业务数据包集合。该第三类业务数据包可以理解为该第二类业务数据包的子集。
上述与该最高优先级对应的业务数据包的大小的差值大于或等于第四阈值可以指,该最高优先级对应的业务数据包减去该第一类业务数据包中任意业务数据包所得到的数值大于或等于第四阈值。
具有上述调度时间、优先级以及数据大小方面的性质的第一类业务数据包可以理解为调度时间相等、优先级相差不大且数据包大小具有如下性质的业务数据包:数据包大小较小,和/或,数据包大小与该最高优先级对应的业务数据包大小差距较大的业务数据包。
其中,第三阈值可以用K表示,该K可以取100字节、90字节等,该第四阈值可以用M表示,该M可以取300字节、350字节等,其可以根据需求进行灵活设置,本申请实施例对此不作具体限制。第二阈值的解释说明可以参见上述实施例,此处不再赘述。
以图7所示的场景做举例说明,图7为本申请实施例的一种业务数据的传输方法的调度示意图,如图7所示,假设N个传输队列中均有业务数据需要传输,即至少两个传输队列即为N个传输队列,业务数据的传输装置通过执行上述步骤101确定出N个传输队列中三个传输队列的首个业务数据包(业务数据包11、业务数据包21、业务数据包31)的调度时间(T11、T21、T31),该三个传输队列的首个业务数据包(业务数据包11、业务数据包21、业务数据包31)的调度时间(T11、T21、T31)相等,即T11=T21=T31,通过执行上述步骤102获取到三个传输队列(Q1、Q2、Q3)的优先级(P11、P21、P31)和首个业务数据包的数据包大小(S21、S11、S31),该三个传输队列(Q1、Q2、Q3)的优先级(P11、P21、P31)具有如下关系:P11>P21>P31,且P11与P21相差在P个等级之内,P11与P31相差大于P个等级,该三个传输队列(Q1、Q2、Q3)的首个业务数据包的数据包大小(S21、S11、S31)具有如下关系:S21=S31<=K<S11且S11-S21≥M。通过上述步骤103的方式二(即根据调度时间、优先级和数据包大小)以及上述第一类业务数据包的性质(具有上述调度时间和优先级方面的性质、以及数据包大小较小的性质),可以确定出本实施例的最高优先级是P11第一类业务数据包包括业务数据包21,第二类业务数据包业务数据包11和业务数据包31,第三类业务数据包包括业务数据包11和业务数据包31,本实施例中第一类业务数据包中只有一个业务数据包,即业务数据包21,则可以将业务数据包21作为第一业务数据包,如果第一类业务数据包中存在多个业务数据包,则可以将第一类业务数据包中数据包大小满足预设大小条件的作为第一业务数据包,例如,将第一类业务数据包中数据包大小最小的作为第一业务数据。重复执行本申请的业务数据包的传输方法以确定下一个传输的业务数据包。例如,下一个传输的业务数据包为业务数据包11,则如图7所示,在业务数据包21之后传输业务数据包11。
示例性的,针对上述场景,本申请实施例可以通过如下算法步骤确定第一业务数据包:首先筛选出调度时间最小且相等的业务数据包集合D1={业务数据包11、业务数据包21、业务数据包31},然后确定集合D1中优先级最高业务数据包P0={业务数据包11},以及与P0的优先级相差P个等级之内的业务数据包集合D2={业务数据包21}。如果D2为空集,则优先调度业务数据包P0,如果D2为非空集合,则可以判断D2={业务数据包21}是否存在数据包大小小于或等于K,若存在,则优先传输D2中业务数据包大小最小的数据包,若不存在,则优先传输业务数据包P0={业务数据包11}。如果D2中存在多个业务数据包大小最小(记为集合D3),则按照D3中业务数据包优先级最高、业务数据包对应的传输队列的缓存空间最小、业务数据包对应的传输队列的缓存剩余空间最小、业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长中至少一项确定调度传输的数据包。
另一个示例,假设N个传输队列中有三个传输队列有业务数据需要传输,即至少两个传输队列即为三个传输队列,业务数据的传输装置通过执行上述步骤101确定出N个传输队列中三个传输队列的首个业务数据包(业务数据包11、业务数据包21、业务数据包31)的调度时间(T11、T21、T31),该三个传输队列的首个业务数据包(业务数据包11、业务数据包21、业务数据包31)的调度时间(T11、T21、T31)相等,即T11=T21=T31,通过执行上述步骤102获取到三个传输队列(Q1、Q2、Q3)的优先级(P11、P21、P31)和首个业务数据包的数据包大小(S21、S11、S31),该三个传输队列(Q1、Q2、Q3)的优先级(P11、P21、P31)具有如下关系:P11>P21=P31,且P11与P21相差在P个等级之内,该三个传输队列(Q1、Q2、Q3)的首个业务数据包的数据包大小(S21、S11、S31)具有如下关系:S11-S21>M,S11-S31<M。通过上述步骤103的方式二以及上述第一类业务数据包的性质(具有上述调度时间和优先级方面的性质、以及数据包大小差距较大的性质),可以确定出本实施例的第一类业务数据包包括业务数据包21,第三类业务数据包包括业务数据包11和业务数据包31,本实施例中第一类业务数据包中只有一个业务数据包,即业务数据包21,则可以将业务数据包21作为第一业务数据包,如果第一类业务数据包中存在多个业务数据包,则可以将第一类业务数据包中数据包大小满足预设大小条件的作为第一业务数据包,例如,将第一类业务数据包中数据包大小最小的作为第一业务数据。重复执行本申请的业务数据包的传输方法以确定下一个传输的业务数据包。
示例性的,针对上述场景,本申请实施例可以通过如下算法步骤确定第一业务数据包:首先筛选出调度时间最小且相等的业务数据包集合D1={业务数据包11、业务数据包21、业务数据包31},然后确定集合D1中优先级最高业务数据包P0={业务数据包11},以及与P0的优先级相差P个等级之内的业务数据包集合D2={业务数据包21、业务数据包31}。如果D2为空集,则优先调度业务数据包P0,如果D2为非空集合,则可以判断D2是否存在数据包大小比P0的数据包大小少M个字节以上的业务数据包(记为集合D3),若存在,则优先传输D3中业务数据包大小最小的数据包,若不存在,则优先传输业务数据包P0={业务数据包11}。如果D3中存在多个业务数据包大小最小(记为集合D4),则按照D4中业务数据包优先级最高、业务数据包对应的传输队列的缓存空间最小、业务数据包对应的传输队列的缓存剩余空间最小、业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长中至少一项确定调度传输的数据包。
本实施例,在N个传输队列中至少两个传输队列中的首个业务数据包的调度时间相等,且优先级相差不大时,根据数据包大小选取数据包较小的作为第一业务数据包,进行传输,从而可以优化业务数据包的传输顺序,以减少业务数据包的传输等待时延,以及减少不同业务数据包之间的传输时延影响程度,确保业务的QoS需求,例如,转发时延、抖动等。
另一种可实现方式,上述方式二中的第一类业务数据包可以具有如下性质:该至少两个传输队列的首个业务数据包包括第一类业务数据包和第二类业务数据包,该第一类业务数据包中任意业务数据包的调度时间与该第二类业务数据包的最小调度时间的差值大于0且小于或等于第一阈值,并且该第一类业务数据包中任意业务数据包的优先级与该最小调度时间对应的业务数据包的优先级的差值大于0且小于或等于第二阈值。并且,该第一类业务数据包中任意业务数据包的大小满足如下至少一项:小于或等于第三阈值,或者,与该最小调度时间对应的业务数据包的大小的差值大于或等于第四阈值。
在一些实施例中,上述与该最小调度时间对应的业务数据包的大小的差值大于或等于第四阈值可以指,该最小调度时间对应的业务数据包的大小减去该第一类业务数据包中任意业务数据包所得到的的数值大于或等于第四阈值。
具有上述调度时间、优先级以及数据包大小方面的性质的第一类业务数据包可以理解为调度时间相差不大、优先级相差不大、且数据包大小具有如下性质的业务数据包:数据包大小较小,和/或,数据包大小与该最小调度时间对应的业务数据包大小差距较大的业务数据包。
其中,该第一阈值、该第二阈值、第三阈值、第四阈值的解释说明可以参见上述实施例,此处不再赘述。
另一个示例,以图8所示的场景做举例说明,图8为本申请实施例的一种业务数据的传输方法的调度示意图,如图8所示,假设N个传输队列中均有三个传输队列有业务数据需要传输,即至少两个传输队列即为三个传输队列,业务数据的传输装置通过执行上述步骤101确定出N个传输队列中三个传输队列的首个业务数据包(业务数据包11、业务数据包21、业务数据包31)的调度时间(T11、T21、T31),该三个传输队列的首个业务数据包(业务数据包11、业务数据包21、业务数据包31)的调度时间(T11、T21、T31)的大小关系如下:T11<T21=T31,且0<T21-T11<T,通过执行上述步骤102获取到三个传输队列(Q1、Q2、Q3)的优先级(P11、P21、P31)和首个业务数据包的数据包大小(S21、S11、S31),该三个传输队列(Q1、Q2、Q3)的优先级(P11、P21、P31)具有如下关系:P11>P21,P11>P31,且P31、P21与P11之间的优先级相差在P个等级之内,该三个传输队列(Q1、Q2、Q3)的首个业务数据包的数据包大小(S21、S11、S31)具有如下关系:S21=S31<=K<S11,且S11-S21>M。通过上述步骤103的方式二以及上述第一类业务数据包的性质(具有上述调度时间和优先级方面的性质、以及数据包大小较小的性质),可以确定出本实施例的第一类业务数据包包括业务数据包21和业务数据包31,该第二类业务数据包包括业务数据包11,将第一类业务数据包中数据包大小满足预设大小条件的作为第一业务数据包,例如,将第一类业务数据包中数据包大小最小的作为第一业务数据,即,由于业务数据包21和业务数据包31均为最小的业务数据包,所以还可以比较业务数据包21和业务数据包31对应的传输队列的优先级,选取优先级高的业务数据包作为第一业务数据包,例如,P31>P21,则将业务数据包31作为第一业务数据包,传输该第一业务数据包。重复执行本申请的业务数据包的传输方法以确定下一个传输的业务数据包。例如,下一个传输的业务数据包为业务数据包11,则如图8所示,在业务数据包31之后传输业务数据包11。
示例性的,针对上述场景,本申请实施例可以通过如下步骤确定第一业务数据包:首先筛选出最小调度时间的业务数据包P0={业务数据包11},然后确定调度时间与P0的调度时间相差小于T的业务数据包集合D1={业务数据包21、业务数据包31},从D1中筛选出与P0的优先级相差为P个等级内的业务数据包集合D2={业务数据包21、业务数据包31},如果D2为空集,则优先调度业务数据包P0,如果D2为非空集合,则筛选D2={业务数据包21、业务数据包31}中数据包大小小于K的业务数据包(记为集合D3)。若D3为空集合,则优先传输P0,反之,则优先传输D3中业务数据包大小最小的数据包。若D3中存在多个最小的业务数据包(记为集合D4),则按照D4中业务数据包优先级最高、业务数据包对应的传输队列的缓存空间最小、业务数据包对应的传输队列的缓存剩余空间最小、业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长中至少一项确定调度传输的数据包。
本实施例,在N个传输队列中至少两个传输队列中的首个业务数据包的调度时间相差不大,且优先级相差不大时,根据数据包大小选取数据包较小的作为第一业务数据包,进行传输,从而可以优化业务数据包的传输顺序,以减少业务数据包的传输等待时延,以及减少不同业务数据包之间的传输时延影响程度,确保业务的QoS需求,例如,转发时延、抖动等。
方式三
另一种可能的实现方式,方式三,业务数据的传输装置根据至少两个传输队列的调度时间和首个业务数据包的数据包大小,从该至少两个传输队列的首个业务数据包中确定第一类业务数据包,将第一类业务数据包中数据包大小满足预设大小条件的作为第一业务数据包。
上述方式三中的第一类业务数据包可以具有如下性质:调度时间相等且数据包大小与最小调度时间的业务数据包的大小相差较大的业务数据包,或者,调度时间相等且数据包大小较小的业务数据包,或者,调度时间与最小调度时间相差不大且数据包大小与最小调度时间的业务数据包的大小相差较大的业务数据包,或者,调度时间与最小调度时间相差不大且数据包大小较小的业务数据包。该最小调度时间为该至少两个传输队列的首个业务数据包的调度时间的最小值。
示例性的,针对上述场景,本申请实施例可以通过如下步骤确定第一业务数据包:首先筛选出最小调度时间的业务数据包P0,以及调度时间与P0的调度时间相差T之内的业务数据包集合D1,从D1中剔除比P0的业务数据包大小少M以下、以及比P0业务数据包大的业务数据包,得到业务数据包集合D2,如果D2为空集,则优先调度业务数据包P0,如果D2为非空集合,则优先传输D2中业务数据包大小最小的数据包。如果D2中存在多个业务数据包大小最小(记为集合D3),则按照D3中业务数据包优先级最高、业务数据包对应的传输队列的缓存空间最小、业务数据包对应的传输队列的缓存剩余空间最小、业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长中至少一项确定调度传输的数据包。
另一个示例,业务数据的传输装置通过执行上述步骤101确定出N个传输队列中三个传输队列的首个业务数据包(业务数据包11、业务数据包21、业务数据包31)的调度时间(T11、T21、T31),该三个传输队列的首个业务数据包(业务数据包11、业务数据包21、业务数据包31)的调度时间(T11、T21、T31)的大小关系如下:T11<T21=T31,且0<T21-T11<T,通过执行上述步骤102获取到三个传输队列(Q1、Q2、Q3)的优先级(P11、P21、P31)和首个业务数据包的数据包大小(S21、S11、S31),该三个传输队列(Q1、Q2、Q3)的优先级(P11、P21、P31)具有如下关系:P11>P21,P11>P31,且P31、P21与P11之间的优先级相差在P个等级之内,该三个传输队列(Q1、Q2、Q3)的首个业务数据包的数据包大小(S21、S11、S31)具有如下关系:S11>S21=S31,且S11-S21>M。通过上述步骤103的方式三以及上述第一类业务数据包的性质(具有上述调度时间相差不大的性质、以及数据包大小差距较大的性质),可以确定出本实施例的第一类业务数据包包括业务数据包11、业务数据包21和业务数据包31,将第一类业务数据包中数据包大小满足预设大小条件的作为第一业务数据包,例如,将第一类业务数据包中数据包大小最小的作为第一业务数据,由于第一类业务数据包中数据包大小最小的包括两个,即业务数据包21和业务数据包31,则还可以按照业务数据包优先级最高、业务数据包对应的传输队列的缓存空间最小、业务数据包对应的传输队列的缓存剩余空间最小、业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长中至少一项确定第一业务数据包,传输该第一业务数据包。重复执行本申请的业务数据包的传输方法以确定下一个传输的业务数据包。
示例性的,针对上述场景,本申请实施例可以通过如下步骤确定第一业务数据包:首先筛选出最小调度时间的业务数据包P0={业务数据包11},以及调度时间与P0的调度时间相差T之内的业务数据包集合D1={业务数据包11、业务数据包21、业务数据包31},从D1中剔除比P0的数据包大小少M以下、以及比P0业务数据包大的业务数据包,得到业务数据包集合D2={业务数据包11、业务数据包21、业务数据包31},优先传输D2中业务数据包大小最小的数据包。如果D2中存在多个业务数据包大小最小(记为集合D3),则按照D3中业务数据包优先级最高、业务数据包对应的传输队列的缓存空间最小、业务数据包对应的传输队列的缓存剩余空间最小、业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长中至少一项确定调度传输的数据包。
图9为本申请实施例的另一种业务数据的传输的流程图,如图9所示,本实施例的方法可以包括:
步骤201、传感器向业务数据的传输装置发送业务数据包。
步骤202、业务数据的传输装置确定N个传输队列中至少两个传输队列中的首个业务数据包的调度时间,N为大于等于2的正整数。
步骤203、业务数据的传输装置获取至少两个传输队列的优先级和至少两个传输队列的首个业务数据包的数据包大小。
其中,步骤202-步骤203的解释说明可以参见图4所示实施例的步骤101至步骤102,此处不再赘述。
步骤204、根据调度时间、优先级和数据包大小,从至少两个传输队列的首个业务数据包中确定第一类业务数据包。
其中,步骤204的解释说明可以参见上述实施例,此处不再赘述。
步骤205、判断第一类业务数据包中是否存在多个数据包大小最小的业务数据包,若否,则执行步骤206,若是,则执行步骤207。
步骤206、将第一类业务数据包中数据包大小最小的作为第一业务数据包。
执行完步骤206后,执行步骤208。
步骤207、根据多个数据包大小最小的业务数据包对应的传输队列的缓存空间大小、缓存剩余空间大小、首个业务数据包在缓存中的等待时间中至少一项,确定第一业务数据包。
执行完步骤207后,执行步骤208。
步骤208、业务数据的传输装置传输第一业务数据包至接收装置。
在一些实施例中,该步骤207的一种可实现方式为:在多个数据包大小最小的业务数据包中选取满足以下至少一项的业务数据包作为第一业务数据包:业务数据包对应的传输队列的缓存空间最小;业务数据包对应的传输队列的缓存剩余空间最小;业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长。
在一些实施例中,在该步骤207之前还可以判断多个数据包大小最小的业务数据包的调度时间是否相等,若调度时间相等,则判断多个数据包大小最小的业务数据包的优先级是否相等,若优先级相等,则可以通过上述步骤207确定第一业务数据包,若优先级不相等,则可以选取多个数据包大小最小的业务数据包中优先级最大的业务数据包作为第一业务数据包。若调度时间不相等,则可以选取多个数据包大小最小的业务数据包中调度时间最小的业务数据包作为第一业务数据包。
本实施例,业务数据的传输装置通过确定N个传输队列中至少两个传输队列中的首个业务数据包的调度时间,获取至少两个传输队列的优先级和至少两个传输队列的首个业务数据包的数据包大小,根据调度时间、优先级和数据包大小,从至少两个传输队列的首个业务数据包中确定第一类业务数据包,判断第一类业务数据包中是否存在多个数据包大小最小的业务数据包,若否,则将第一类业务数据包中数据包大小最小的作为第一业务数据包,若是,则根据多个数据包大小最小的业务数据包对应的传输队列的缓存空间大小、缓存剩余空间大小、首个业务数据包在缓存中的等待时间中至少一项,确定第一业务数据包,传输第一业务数据包,从而实现业务数据包的汇聚转发,由于在汇聚转发过程中结合调度时间、优先级和数据包大小从多个传输队列中确定出传输的业务数据包,所以可以优化业务数据包的传输顺序,以减少业务数据包的传输等待时延,确保业务的QoS需求,例如,转发时延、抖动等。
图10为本申请实施例的另一种业务数据的传输的流程图,如图10所示,本实施例的执行主体可以是业务数据的传输装置,本实施例对上述实施例中业务数据的传输装置根据调度时间、优先级和数据包大小确定第一业务数据包的一种可实现方式进行解释说明,本实施例的方法可以包括:
步骤301、判断是否存在多个最小调度时间的首个业务数据包,若是,则执行步骤302,若否,则执行步骤303。
在步骤301之前,业务数据的传输装置可以通过上述实施例的步骤102确定N个传输队列中至少两个传输队列中首个业务数据包的调度时间,通过上述实施例的步骤103获取至少两个传输队列的优先级和该至少两个传输队列的首个业务数据包的数据包大小,开始执行上述步骤301。
步骤302、判断最小调度时间的首个业务数据包的优先级是否相等,若是,则执行步骤305,若否,则执行步骤304。
通过步骤302,当最小调度时间的首个业务数据包的优先级均相等时,该最小调度时间的首个业务数据包即为上述实施例的第一类业务数据包,再通过下述步骤305以在第一类业务数据包中确定第一业务数据包。
步骤303、判断是否存在与最小调度时间满足第一预设条件的首个业务数据包,若是,则执行步骤311,若否,则执行步骤313。
举例而言,该第一预设条件可以与该最小调度时间的差值大于0且小于或等于上述第一阈值。
步骤304、判断最小调度时间的首个业务数据包的优先级是否满足第二预设条件,若是,则执行步骤308,若否,则执行步骤309。
举例而言,该第二预设条件可以是该最小调度时间的首个业务数据包之间的优先级的差值大于0且小于或等于第二阈值。
步骤305、判断是否存在多个数据包大小最小的首个业务数据包,若是,则执行步骤307,若否,则执行步骤306。
步骤306、将数据包大小最小的首个业务数据包作为第一业务数据包。
步骤307、根据多个数据包大小最小的业务数据包对应的传输队列的缓存空间大小、缓存剩余空间大小、首个业务数据包在缓存中的等待时间中至少一项,确定第一业务数据包。
步骤308、判断满足第二预设条件的首个业务数据包的数据包大小是否满足第三预设条件,若是,则执行步骤310,若否,则执行步骤309。
举例而言,该第三预设条件可以是数据包大小小于或等于第三阈值。通过步骤308,可以确定上述实施例的第一类业务数据包,再通过下述步骤310以在第一类业务数据包中确定第一业务数据包。
步骤309、将优先级最高的业务数据包作为第一业务数据包。
步骤310、判断是否存在多个满足上述条件的数据包大小最小的首个业务数据包,若是,则执行步骤307,若否,则步骤306。
步骤311、判断满足第一预设条件的首个业务数据包的优先级是否满足第二预设条件,若是,则执行步骤312,若否,则执行步骤313。
步骤312、判断满足第一预设条件和第二预设条件的首个业务数据包的数据包大小是否满足第三预设条件,若是,则执行步骤314,若否,则执行步骤313。
通过步骤312,可以确定上述实施例的第一类业务数据包,再通过下述步骤314以在第一类业务数据包中确定第一业务数据包。
步骤313、将调度时间最小的首个业务数据包作为第一业务数据包。
步骤314、判断是否存在多个满足上述条件的首个业务数据包,若是,则执行步骤306,若否,则执行步骤307。
需要说明的是,如图10所示的结束指的确定第一业务数据包的过程结束,之后可以通过上述步骤104传输第一业务数据包。
本实施例,可以优化业务数据包的传输顺序,以减少业务数据包的传输等待时延,以及减少不同业务数据包之间的传输时延影响程度,确保业务的QoS需求,例如,转发时延、抖动等。
上文中详细描述了根据本申请实施例的业务数据的传输方法,下面将描述本申请实施例的业务数据的传输装置。
本申请实施例详细描述了业务数据的传输装置的示意性结构。
在一个示例中,图11示出了本申请实施例的一种业务数据的传输装置1000的示意性框图。本申请实施例的装置1000可以是上述方法实施例中的业务数据的传输装置,也可以是业务数据的传输装置内的一个或多个芯片。装置1000可以用于执行上述方法实施例中的业务数据的传输装置的部分或全部功能。该装置1000可以包括处理模块1010和收发模块1020,可选的,该装置1000还可以包括存储模块1030。
例如,该处理模块1010,可以用于执行前述方法实施例中的步骤S101中的确定调度时间,步骤102中的获取优先级和数据包大小,以及步骤103中的确定第一业务数据包,通过收发模块1020发送步骤104的第一业务数据包,或者用于执行前述方法实施例的步骤S201至步骤207,通过收发模块1020发送步骤208的第一业务数据包。
可以替换的,装置1000也可配置成通用处理系统,例如通称为芯片,该处理模块1010可以包括:提供处理功能的一个或多个处理器;所述收发模块1020例如可以是输入/输出接口、管脚或电路等,输入/输出接口可用于负责此芯片系统与外界的信息交互,例如,此输入/输出接口可将业务数据的传输装置的传输信号输出给此芯片外的其它模块进行处理。该处理模块可执行存储模块中存储的计算机执行指令以实现上述方法实施例中业务数据的传输装置的功能。在一个示例中,装置1000中可选的包括的存储模块1030可以为芯片内的存储单元,如寄存器、缓存等,所述存储模块1030还可以是所述业务数据的传输装置内的位于芯片外部的存储单元,如只读存储器(read-only memory,简称ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,简称RAM)等。
在另一个示例中,图12示出了本申请实施例的另一种业务数据的传输装置1100的示意性框图。装置1100可以用于执行上述方法实施例中的业务数据的传输装置的部分或全部功能。该装置1100可以包括:处理器1110,物理接口1120,可选的,该装置1100还可以包括存储器1130。装置1100的各个组件通过总线1140耦合在一起,其中总线系统1140除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统1140。
处理器1110可用于实现对业务数据的传输装置的控制,用于执行上述实施例中由业务数据的传输装置进行的处理,可以执行上述方法实施例中涉及业务数据的传输装置的处理过程和/或用于本申请所描述的技术的其它过程,还可以运行操作系统,负责管理总线以及可以执行存储在存储器中的程序或指令。
物理接口1120可以用于支持业务数据的传输装置和上述实施例中涉及的传感器或接收装置之间收发数据,以支持业务数据的传输装置与传感器或接收装置之间进行通信。一个示例中,来自传感器的业务数据包经由物理接口1120接收,由处理器1110进行处理,确定第一业务数据包,经由物理接口1120传输给接收装置。
存储器1130可以用于存储业务数据的传输装置的程序代码和数据,存储器1130可以是图11中的存储模块1030。可以理解的,图12中存储器1130被示为与处理器1110分离,然而,本领域技术人员很容易明白,存储器1130或其任意部分可位于业务数据的传输装置1100之外。举例来说,存储器1130可以包括传输线、和/或与业务数据的传输装置分离开的计算机制品,这些介质均可以由处理器1110通过总线接口1140来访问。可替换地,存储器1130或其任意部分可以集成到处理器1110中,例如,可以是高速缓存和/或通用寄存器。
可以理解的是,图12仅仅示出了业务数据的传输装置的简化设计。例如,在实际应用中,业务数据的传输装置可以包含任意数量的物理接口,处理器,存储器等,而所有可以实现本申请的业务数据的传输装置都在本申请的保护范围之内。
一种可能的实现方式中,业务数据的传输装置也可以使用下述来实现:一个或多个现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑器件(programmable logic device,PLD)、控制器、状态机、门逻辑、分立硬件部件、任何其它适合的电路、或者能够执行本申请通篇所描述的各种功能的电路的任意组合。在又一个示例中,本申请实施例还提供一种计算机存储介质,该计算机存储介质可以存储用于指示上述任一种方法的程序指令,以使得处理器执行此程序指令实现上述方法实施例中涉及业务数据的传输装置的方法和功能。
上述处理器可以是通用处理器,例如通用中央处理器(CPU)、网络处理器(NetworkProcessor,简称NP)、微处理器等,也可以是特定应用集成电路(application-specificintegrated circuit,简称ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。还可以是数字信号处理器(Digital Signal Processor,简称DSP)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。控制器/处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。处理器通常是基于存储器内存储的程序指令来执行逻辑和算术运算。
上述存储器还可以保存有操作系统和其它应用程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,上述存储器可以是ROM、可存储静态信息和指令的其它类型的静态存储设备、RAM、可存储信息和指令的其它类型的动态存储设备、磁盘存储器等等。存储器可以是上述存储类型的组合。并且上述计算机可读存储介质/存储器可以在处理器中,还可以在处理器的外部,或在包括处理器或处理电路的多个实体上分布。上述计算机可读存储介质/存储器可以具体体现在计算机程序产品中。举例而言,计算机程序产品可以包括封装材料中的计算机可读介质。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。

Claims (26)

1.一种业务数据的传输方法,其特征在于,包括:
确定N个传输队列中至少两个传输队列中的首个业务数据包的调度时间,N为大于等于2的正整数;
获取所述至少两个传输队列的优先级和所述至少两个传输队列的首个业务数据包的数据包大小;
根据所述调度时间、所述优先级或所述数据包大小中至少两项,从所述至少两个传输队列的首个业务数据包中确定第一类业务数据包;
传输第一业务数据包,所述第一业务数据包为所述第一类业务数据包中最小的数据包。
2.根据权利要求1所述的方法,其特征在于,所述至少两个传输队列的首个业务数据包包括所述第一类业务数据包和第二类业务数据包,所述第一类业务数据包中任意业务数据包的调度时间相等,且所述第一类业务数据包中任意业务数据包的优先级相等;所述第一类业务数据包中任意业务数据包的调度时间早于第二类业务数据包的调度时间。
3.根据权利要求1所述的方法,其特征在于,所述至少两个传输队列的首个业务数据包包括所述第一类业务数据包,所述第一类业务数据包中任意业务数据包的调度时间相等,且所述第一类业务数据包中任意业务数据包的优先级相等。
4.根据权利要求1所述的方法,其特征在于,所述至少两个传输队列的首个业务数据包包括所述第一类业务数据包和第二类业务数据包,所述第一类业务数据包中任意业务数据包的调度时间相等,所述第一类业务数据包中任意业务数据包的优先级与最高优先级的差值大于0小于或等于第二阈值;
其中,所述第一类业务数据包中任意业务数据包的调度时间早于或等于第二类业务数据包的调度时间,所述最高优先级为第三类业务数据包对应的传输队列的优先级的最大值,所述第三类业务数据包包括所述第二类业务数据包中与所述第一类业务数据包的调度时间相等的业务数据包。
5.根据权利要求4所述的方法,其特征在于,所述第一类业务数据包中任意业务数据包的大小满足以下至少一项:小于或等于第三阈值,或者,与所述最高优先级对应的业务数据包的大小的差值大于或等于第四阈值。
6.根据权利要求1所述的方法,其特征在于,所述第一类业务数据包中任意两个业务数据包的优先级的差值小于或等于第二阈值;
其中,所述第一类业务数据包的调度时间为最小调度时间且所述第一类业务数据包包括最高优先级的业务数据包,所述最小调度时间为所述至少两个传输队列中的首个业务数据包的调度时间的最小值,所述最高优先级为所述最小调度时间的业务数据包对应的传输队列的优先级的最大值。
7.根据权利要求1所述的方法,其特征在于,所述至少两个传输队列的首个业务数据包包括所述第一类业务数据包和第二类业务数据包,所述第一类业务数据包中任意业务数据包的调度时间与所述第二类业务数据包的最小调度时间的差值大于0且小于或等于第一阈值、所述第一类业务数据包中任意业务数据包的优先级与所述最小调度时间对应的业务数据包的优先级的差值小于或等于第二阈值。
8.根据权利要求7所述的方法,其特征在于,所述第一类业务数据包中任意业务数据包的大小满足以下至少一项:小于或等于第三阈值,或者,与所述最小调度时间对应的业务数据包的大小的差值大于或等于第四阈值。
9.根据权利要求1所述的方法,其特征在于,所述第一类业务数据包中任意两个业务数据包的调度时间的差值小于或等于第一阈值,所述第一类业务数据包中任意两个业务数据包的优先级的差值小于或等于第二阈值;
其中,所述第一类业务数据包的调度时间的最小值为所述至少两个传输队列中的首个业务数据包的调度时间的最小值,且所述第一类业务数据包包括最高优先级的业务数据包,所述最高优先级为调度时间与所述最小值的差值小于或等于第一阈值的业务数据包对应的优先级的最大值。
10.根据权利要求1至9任一项所述的方法,其特征在于,若所述第一类业务数据包中存在多个数据包大小最小的业务数据包,所述方法还包括:
根据多个数据包大小最小的业务数据包对应的传输队列的缓存空间大小、缓存剩余空间大小、或者首个业务数据包在缓存中的等待时间中至少一项,确定所述第一业务数据包。
11.根据权利要求10所述的方法,其特征在于,所述根据多个数据包大小最小的业务数据包对应的传输队列的缓存空间大小、缓存剩余空间大小、或者首个业务数据包在缓存中的等待时间中至少一项,确定所述第一业务数据包,包括:
在多个数据包大小最小的业务数据包中选取满足以下至少一项的业务数据包作为所述第一业务数据包:
业务数据包对应的传输队列的缓存空间最小;或者,
业务数据包对应的传输队列的缓存剩余空间最小;或者,
业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长。
12.一种业务数据的传输装置,其特征在于,包括:
处理模块,用于确定N个传输队列中至少两个传输队列中的首个业务数据包的调度时间,N为大于等于2的正整数;
所述处理模块,还用于获取所述至少两个传输队列的优先级和所述至少两个传输队列的首个业务数据包的数据包大小;
所述处理模块,还用于根据所述调度时间、所述优先级或所述数据包大小中至少两项,从所述至少两个传输队列的首个业务数据包中确定第一类业务数据包;
所述处理模块,还用于通过收发模块传输第一业务数据包,所述第一业务数据包为所述第一类业务数据包中最小的数据包。
13.根据权利要求12所述的装置,其特征在于,所述至少两个传输队列的首个业务数据包包括所述第一类业务数据包和第二类业务数据包,所述第一类业务数据包中任意业务数据包的调度时间相等,且所述第一类业务数据包中任意业务数据包的优先级相等;所述第一类业务数据包中任意业务数据包的调度时间早于第二类业务数据包的调度时间。
14.根据权利要求12所述的装置,其特征在于,所述至少两个传输队列的首个业务数据包包括所述第一类业务数据包,所述第一类业务数据包中任意业务数据包的调度时间相等,且所述第一类业务数据包中任意业务数据包的优先级相等。
15.根据权利要求12所述的装置,其特征在于,所述至少两个传输队列的首个业务数据包包括所述第一类业务数据包和第二类业务数据包,所述第一类业务数据包中任意业务数据包的调度时间相等,所述第一类业务数据包中任意业务数据包的优先级与最高优先级的差值大于0且小于或等于第二阈值;
其中,所述第一类业务数据包中任意业务数据包的调度时间早于或等于第二类业务数据包的调度时间,所述最高优先级为第三类业务数据包对应的传输队列的优先级的最大值,所述第三类业务数据包包括所述第二类业务数据包中与所述第一类业务数据包的调度时间相等的业务数据包。
16.根据权利要求15所述的装置,其特征在于,所述第一类业务数据包中任意业务数据包的大小满足以下至少一项:小于或等于第三阈值,或者,与所述最高优先级对应的业务数据包的大小的差值大于或等于第四阈值。
17.根据权利要求12所述的装置,其特征在于,所述第一类业务数据包中任意两个业务数据包的优先级的差值小于或等于第二阈值;
其中,所述第一类业务数据包的调度时间为最小调度时间且所述第一类业务数据包包括最高优先级的业务数据包,所述最小调度时间为所述至少两个传输队列中的首个业务数据包的调度时间的最小值,所述最高优先级为所述最小调度时间的业务数据包对应的传输队列的优先级的最大值。
18.根据权利要求12所述的装置,其特征在于,所述至少两个传输队列的首个业务数据包包括所述第一类业务数据包和第二类业务数据包,所述第一类业务数据包中任意业务数据包的调度时间与所述第二类业务数据包的最小调度时间的差值大于0且小于或等于第一阈值、所述第一类业务数据包中任意业务数据包的优先级与所述最小调度时间对应的业务数据包的优先级的差值小于或等于第二阈值。
19.根据权利要求18所述的装置,其特征在于,所述第一类业务数据包中任意业务数据包的大小满足以下至少一项:小于或等于第三阈值,或者,与所述最小调度时间对应的业务数据包的大小的差值大于或等于第四阈值。
20.根据权利要求12所述的装置,其特征在于,所述第一类业务数据包中任意两个业务数据包的调度时间的差值小于或等于第一阈值,所述第一类业务数据包中任意两个业务数据包的优先级的差值小于或等于第二阈值,其中,所述第一类业务数据包的调度时间的最小值为所述至少两个传输队列中的首个业务数据包的调度时间的最小值,且所述第一类业务数据包包括最高优先级的业务数据包,所述最高优先级为调度时间与所述最小值的差值小于或等于第一阈值的业务数据包对应的优先级的最大值。
21.根据权利要求12至20任一项所述的装置,其特征在于,若所述第一类业务数据包中存在多个数据包大小最小的业务数据包,所述处理模块还用于:
根据多个数据包大小最小的业务数据包对应的传输队列的缓存空间大小、缓存剩余空间大小、或者首个业务数据包在缓存中的等待时间中至少一项,确定所述第一业务数据包。
22.根据权利要求21所述的装置,其特征在于,所述处理模块用于:
在多个数据包大小最小的业务数据包中选取满足以下至少一项的业务数据包作为所述第一业务数据包:
业务数据包对应的传输队列的缓存空间最小;或者,
业务数据包对应的传输队列的缓存剩余空间最小;或者,
业务数据包对应的传输队列的首个业务数据包在缓存中的等待时间最长。
23.一种业务数据的传输装置,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-11中任一项所述的方法。
24.一种计算机可读存储介质,其特征在于,包括计算机程序,所述计算机程序在计算机上被执行时,使得所述计算机执行权利要求1-11中任一项所述的方法。
25.一种芯片,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行如权利要求1-11中任一项所述的方法。
26.一种车辆,其特征在于,包括:至少一个传感器、如权利要求12-22中任一项所述的业务数据的传输装置、以及接收装置;
所述至少一个传感器与所述业务数据的传输装置连接,所述业务数据的传输装置与所述接收装置连接。
CN201910684179.XA 2019-07-26 2019-07-26 业务数据的传输方法和装置 Active CN112311693B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910684179.XA CN112311693B (zh) 2019-07-26 2019-07-26 业务数据的传输方法和装置
PCT/CN2020/096137 WO2021017667A1 (zh) 2019-07-26 2020-06-15 业务数据的传输方法和装置
EP20847977.4A EP3996337B1 (en) 2019-07-26 2020-06-15 Service data transmission method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910684179.XA CN112311693B (zh) 2019-07-26 2019-07-26 业务数据的传输方法和装置

Publications (2)

Publication Number Publication Date
CN112311693A CN112311693A (zh) 2021-02-02
CN112311693B true CN112311693B (zh) 2022-08-26

Family

ID=74230077

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910684179.XA Active CN112311693B (zh) 2019-07-26 2019-07-26 业务数据的传输方法和装置

Country Status (3)

Country Link
EP (1) EP3996337B1 (zh)
CN (1) CN112311693B (zh)
WO (1) WO2021017667A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113783798A (zh) * 2021-09-24 2021-12-10 上海明胜品智人工智能科技有限公司 数据传输方法及系统、边缘服务设备
CN113965520B (zh) * 2021-09-28 2023-12-12 昆高新芯微电子(江苏)有限公司 报文发送调度方法和装置、异步流量整形器
CN117155874A (zh) * 2022-05-24 2023-12-01 华为技术有限公司 数据包发送方法、转发节点、发送端及存储介质
CN115694707B (zh) * 2022-12-27 2023-04-11 北京理工大学深圳汽车研究院(电动车辆国家工程实验室深圳研究院) 一种基于业务识别的汽车区系统及实时同步调度方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964758A (zh) * 2010-11-05 2011-02-02 南京邮电大学 一种基于区分服务的队列调度方法
CN103929374A (zh) * 2014-03-31 2014-07-16 中国人民解放军91655部队 一种基于业务类型的多级队列调度方法
CN106453139A (zh) * 2016-09-26 2017-02-22 东软集团股份有限公司 数据包调度的方法及装置
CN107431667A (zh) * 2015-03-20 2017-12-01 阿尔卡特朗讯公司 在网络设备中调度数据包
CN108173780A (zh) * 2017-11-29 2018-06-15 东软集团股份有限公司 数据处理方法、装置、计算机及存储介质
CN109981483A (zh) * 2017-12-27 2019-07-05 中国移动通信集团山东有限公司 一种面向小包实时业务感知的lte调度方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108259355B (zh) * 2014-12-30 2022-03-11 华为技术有限公司 一种报文转发方法和装置
CN106921586B (zh) * 2015-12-25 2020-02-14 华为技术有限公司 一种数据流整形方法、数据调度方法以及装置
CN107196877B (zh) * 2016-03-14 2021-07-20 华为技术有限公司 网络流量控制的方法及其网络设备
CN108282415B (zh) * 2017-12-29 2022-01-11 超聚变数字技术有限公司 一种调度方法及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964758A (zh) * 2010-11-05 2011-02-02 南京邮电大学 一种基于区分服务的队列调度方法
CN103929374A (zh) * 2014-03-31 2014-07-16 中国人民解放军91655部队 一种基于业务类型的多级队列调度方法
CN107431667A (zh) * 2015-03-20 2017-12-01 阿尔卡特朗讯公司 在网络设备中调度数据包
CN106453139A (zh) * 2016-09-26 2017-02-22 东软集团股份有限公司 数据包调度的方法及装置
CN108173780A (zh) * 2017-11-29 2018-06-15 东软集团股份有限公司 数据处理方法、装置、计算机及存储介质
CN109981483A (zh) * 2017-12-27 2019-07-05 中国移动通信集团山东有限公司 一种面向小包实时业务感知的lte调度方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"一种在大容量交换中可以保证QoS的队列调度器设计与实现";钱鹏飞;《通信技术》;20181130;第51卷(第11期);第2655-2661页 *

Also Published As

Publication number Publication date
EP3996337B1 (en) 2024-02-14
CN112311693A (zh) 2021-02-02
EP3996337A4 (en) 2022-08-10
WO2021017667A1 (zh) 2021-02-04
EP3996337A1 (en) 2022-05-11

Similar Documents

Publication Publication Date Title
CN112311693B (zh) 业务数据的传输方法和装置
US10284387B2 (en) Hybrid intra-vehicle communication network
KR101468833B1 (ko) 계층적 프로파일 스케줄링 및 쉐이핑
CN108476162B (zh) 网络集线器、转发方法及车载网络系统
JP7388646B2 (ja) パケット転送方法およびパケット転送装置、システム、デバイス、並びにプログラム
US9436642B2 (en) Bus system for semiconductor circuit
JP2017212727A (ja) 電子制御ユニット、通信方法及び車載ネットワークシステム
Zhou et al. Edge-facilitated augmented vision in vehicle-to-everything networks
CN107453895B (zh) 用于配置通信路径的方法和构成车辆网络的第一通信节点
CN102664803B (zh) 一种ef队列的实现方法和设备
CN115705044A (zh) 一种车辆远程诊断方法、装置及系统
US10157158B2 (en) Method and apparatus for distributed computing using controller area network protocols
Ridouard et al. Probabilistic upper bounds for heterogeneous flows using a static priority queueing on an AFDX network
CN112787901B (zh) 网络集线器、转发方法及车载网络系统
CN113170500B (zh) 一种信息传输方法及装置
CN113992707A (zh) 一种数据传输方法、装置、车载以太网设备及存储介质
US11171806B1 (en) Dynamic quality of service control for automotive ethernet
Park et al. Optimal priority assignment for multiple can/can-fd buses with a central gateway
WO2024016251A1 (zh) 一种日志上报方法及装置
WO2023004801A1 (zh) 一种任务处理方法及装置
US11743134B2 (en) Programmable traffic management engine
Yoo et al. Unidirectional Ring Ethernet and Media Access Controller with Automatic Relaying for Low-complexity In-vehicle Control Network
JP2009277052A (ja) 分散デバイス制御システム
US20130094516A1 (en) Control Protocol System
Testa et al. Comparative assessment of Time-Sensitive Networking transmission schemes in automotive applications

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