CN114765585B - 一种服务质量检测方法、报文处理方法及装置 - Google Patents
一种服务质量检测方法、报文处理方法及装置 Download PDFInfo
- Publication number
- CN114765585B CN114765585B CN202011623282.2A CN202011623282A CN114765585B CN 114765585 B CN114765585 B CN 114765585B CN 202011623282 A CN202011623282 A CN 202011623282A CN 114765585 B CN114765585 B CN 114765585B
- Authority
- CN
- China
- Prior art keywords
- message
- network device
- messages
- information
- data stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 59
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 125
- 238000012545 processing Methods 0.000 claims abstract description 56
- 239000003086 colorant Substances 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 20
- 208000027744 congestion Diseases 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 19
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 15
- 238000012544 monitoring process Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 11
- 239000004744 fabric Substances 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000011895 specific detection Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种服务质量检测方法、一种报文处理方法及装置,使得传输数据流的设备可以对数据流的QoS信息进行检测。其中,所述服务质量检测方法包括:第一设备生成数据流,所述数据流的报文包括标识信息和第一指示信息,所述第一指示信息用于指示传输所述数据流的设备根据所述标识信息对所述数据流的服务质量QoS进行检测,得到所述数据流的QoS信息;所述第一设备为第一终端设备或第一服务器,所述传输所述数据流的设备包括第一网络设备;所述第一设备向所述第一网络设备发送所述数据流。
Description
技术领域
本申请涉及通信领域,尤其设计一种服务质量检测方法、报文处理方法及装置。
背景技术
处于网络架构中的终端设备或服务器可以通过网络设备将报文转发给目标设备。当设备连续向同一目标设备发送多个报文时,这些报文可以被称为数据流。同一条数据流中的不同报文可以经过相同的一个或多个网络设备。为了确保报文的正常传输,可以对数据流的服务质量(quality of service,QoS)信息进行检测,例如可以通过监控服务器对目标设备接收报文的情况进行检测。
但是,传统的检测方法只能由生成数据流的设备和数据流的目的设备进行检测,QoS传输的设备无法不能对数据流进行QoS检测,导致QoS检测存在较大局限,无法满足检测需求。
发明内容
本申请实施例提供了一种服务质量检测方法、报文处理方法及装置,使得传输数据流的设备可以对数据流的QoS信息进行检测。
第一方面,本申请实施例提供了一种服务质量检测方法,该方法应用于第一设备,第一设备可以是第一终端或第一服务器。在需要检测数据流在传输过程中的QoS信息时,第一设备可以生成数据流,该数据流的报文包括标识信息和第一指示信息。其中,标识信息用于标识数据流,第一指示信息用于指示传输数据流的设备根据标识信息对数据流的QoS进行检测,从而得到数据流的QoS信息。在生成报文后,第一设备可以向第一网络设备发送该数据流。这样,传输数据流的设备(包括第一网络设备)可以通过第一网络设备接收到来自第一设备的数据流,从而在第一指示信息的指示下根据标识信息对数据流进行QoS检测。如此,任意一个传输数据流的设备可以对数据流进行QoS检测,从而得到数据流的QoS信息。
在一些可能的实现中,第一设备还可以生成第一报文,并向第一网络设备发送该第一报文。其中。第一报文包括第二指示信息,第二指示信息用于指示传输数据流的设备将数据流的QoS信息添加到第一报文中。这样,传输数据流的设备可以在第二指示信息的指示下,将对数据流进行QoS检测得到的QoS信息添加到第一报文中。如此,经过一个或多个设备传输数据流的设备的转发,第一报文中携带的QoS信息逐渐增多。当第一报文到达数据流的目的设备时,第一报文中可以携带任意一个传输数据流的网络设备的QoS信息。
在一些可能的实现中,由于第一设备也属于传输数据流的设备,第一设备也可以在第一指示信息的指示下根据标识信息对数据流进行QoS检测,得到第一QoS信息。相应地,在生成第一报文时,第一设备可以将第一QoS信息添加到第一报文中。这样,生成数据流的设备也可以对数据流进行QoS检测,得到的QoS信息更加详细。
在一些可能的实现中,传输数据流的设备还可以在第二指示信息的指示下在第一报文中添加自身的设备标识。这样,第一报文中既包括设备的QoS信息,也包括该设备的设备标识,使得目的设备(或其他设备)可以确定QoS信息对应的设备。
在一些可能的实现中,第一指示信息可以携带在报文的传输层扩展头中,该传输层扩展头为携带传输层信息的扩展头。
在一些可能的实现中,传输层扩展都为实时传输协议(Real-time TransportProtocol,RTP)扩展头
在一些可能的实现中,第一设备生成的报文中携带的标识信息包括应用程序的标识、业务实例的标识、流标识和帧标识中的任意一种或多种。
在一些可能的实现中,数据流的报文还可以包括颜色信息,颜色信息用于指示在第一网络设备处于拥塞状况下报文被丢弃的比例。
在一些可能的实现中,QoS信息可以包括以下中的任意一项或多项:
第一网络设备接收报文的时间、第一网络设备发送报文的时间、第一网络设备在预设时间段发送的数据流的报文的字节总数、第一网络设备在预设时间段发送的数据流的报文的数目、第一网络设备在预设时间段丢弃数据流的报文的数目、第一网络设备在预设时间段丢弃的数据流的报文的字节数目。
在一些可能的实现中,传输数据流的设备还包括第二设备,第二设备为第二终端设备或第二服务器。
在一些可能的实现中,当传输数据流的设备还包括第二服务器时,QoS信息包括数据流的体验质量QoE信息。
第二方面,本申请实施例提供了一种服务质量检测方法,所述方法应用于第一网络设备,第一网络设备为传输数据流的设备。在第一网络设备传输来自第一设备的数据流时,第一网络设备可以接收来自第一设备的数据流,该数据流的报文包括标识信息和第一指示信息。其中,第一设备可以是能够生成报文的终端设备或服务器。在接收到报文后,第一网络设备可以在第一指示信息的指示下,根据标识信息对数据流的QoS进行检测,从而得到数据流的第二QoS信息。这样,传输数据流的第一网络设备可以在第一设备的指示下对数据流进行QoS检测,可以根据标识信息对任意一条特定的数据流进行QOS检测。如此,任意一个传输数据流的网络设备可以对数据流进行QoS检测,从而得到数据流的QoS信息。
在一些可能的实现中,第一网络设备可以接收来自第一设备的第一报文,该第一报文包括第二指示信息。第一网络设备可以在第二指示信息的知识下将数据流的第二QoS信息添加到第一报文中,再向数据流的目的设备发送第一报文。这样,第一网络设备可以在第一设备的指示下将对数据流进行QoS监测得到的第二QoS信息添加到第一报文中,并向目标设备发送携带有第二QoS信息的第一报文。这样,在经过一个或多个设备传输数据流的设备的转发后,第一报文中携带的QoS信息越来越多。如此,数据流的目的设备可以获取到任意一个传输数据流的设备对数据流进行QoS检测得到的QoS信息。
在一些可能的实现中,第二指示信息还可以用于指示第一网络设备将第一网络设备的设备标识添加到第一报文中。那么,第一网络设备可以基于第二指示信息的指示,将第一网络设备的标识添加到第一报文中。
在一些可能的实现中,指示信息携带在传输层扩展头中,传输层扩展头为携带传输层信息的扩展头。
在一些可能的实现中,传输层扩展头包括实时传输协议RTP扩展头。
在一些可能的实现中,标识信息可以包括应用程序的标识、业务实例的标识、流标识和帧标识中的任意一种或多种。
在一些可能的实现中,第一报文还包括第一QoS信息,第一QoS信息为第一设备对数据流进行QoS进行检测得到的QoS信息。
在一些可能的实现中,第一报文还包括第一设备的标识。
在一些可能的实现中,第二QoS信息至少包括以下其中一项:
第一网络设备接收报文的时间、第一网络设备发送报文的时间、第一网络设备在预设时间段发送的数据流的报文的字节总数、第一网络设备在预设时间段发送的数据流的报文的数目、第一网络设备在预设时间段丢弃数据流的报文的数目、第一网络设备在预设时间段丢弃的数据流的报文的字节数目。
第三方面,本申请实施例提供了一种报文处理方法。在网络设备接收到新的等待入队的报文时,网络设备可以获取第一报文集合中每个报文的报文信息,第一报文集合可以将目标队列已缓存的报文和目标队列等待入队的报文。接着,网络设备可以根据报文信息从第一报文集合中确定丢弃报文集合,该丢弃报文集合可以包括至少两个报文。在确定丢弃报文集合后,网络设备将丢弃报文集合中的报文丢弃。这样,当网络设备处于拥塞状态时,每有一个新的待入队报文,网络设备都可以丢弃至少两个报文,使得目标队列中缓存的报文数量能够快速减少,从而使得目标队列能够快速恢复为低负载状态,降低报文被调度前的等待时间,降低报文传输的时延
在一些可能的实现中,网络设备在确定丢弃报文集合前,可以先获取目标队列的第一队列利用率,该第一队列利用率为目标队列已缓存的报文量与目标队列的最大报文量的比值。接着,网络设备可以比较第一队列利用率与第一阈值的大小。如果第一队列利用率小于第一阈值,网络设备可以不丢弃报文。如果第一队列利用率大于或等于第一阈值,网络设备根据报文信息从第一报文集合中确定丢弃报文集合。
在一些可能的实现方式中,在网络设备确定第一队列利用率大于或等于第一阈值后,网络设备可以将待入队报文的颜色信息对应的计数器的值加1。接着,网络设备可以比较计数器的值与第二阈值的大小。如果计数器的值小于第二阈值,网络设备可以不丢弃报文。如果计数器的值大于或等于第二阈值,网络设备可以根据报文信息从第一报文集合中确定丢弃报文集合,从而丢弃需要丢弃的报文。
在一种可能的实现方式中,当第一报文集合包括至少一个音视频帧的报文时,网络设备可以先丢弃第一报文集合汇总的冗余报文。具体地,网络设备可以根据冗余标识从第一报文集合中的至少一个音视频帧的报文确定冗余报文集合。该冗余报文集合为至少一个冗余报文组成的集合,冗余报文为携带有冗余标识的报文。在从第一报文集合中确定冗余报文集合后,网络设备可以将冗余报文集合中一个或多个冗余报文确定为丢弃报文集合。
在一种可能的实现中,网络设备在从冗余报文集合汇总确定丢弃报文集合时,可以根据冗余报文集合中每个冗余报文的包序号从冗余报文集合中确定一个或多个冗余报文为丢弃报文集合。其中,包序号可以是冗余报文在音视频帧中的顺序编号,也可以是冗余报文在第一报文集合中的顺序编号。
在一种可能的实现中,网络设备可以根据报文的颜色信息从第一报文集合中确定冗余报文集合。报文信息可以包括颜色信息表示报文的重要程度。每个报文分别对应红、黄、绿三种颜色中的一种颜色。在从第一报文集合中确定冗余报文集合时,网络设备可以先遍历每种颜色对应的至少一个音视频帧的报文,并根据冗余标识确定每种颜色对应的冗余报文子集合。相应地,在确定丢弃报文集合时,网络设备可以按照颜色信息对应的重要程度从一个或多个冗余报文子集合中将一个或多个冗余报文确定为丢弃报文集合。如此,可以根据报文所属的音视频帧的重要程度按顺序依次从多个颜色分别对应的冗余报文子集合中确定一个或多个冗余报文为丢弃报文集合。
在一种可能的实现中,即使第一报文集合中并不包括音视频帧的报文,网络设备可以根据颜色信息表示的重要程度依次遍历每种颜色对应的报文子集合。具体地,网络设备可以先遍历第一报文结合中三种颜色对应的报文,再将三种颜色中重要程度最低的第一颜色作为目标颜色。接着,网络设备可以从目标颜色对应的报文子集合中确定丢弃报文子集合,再从第一报文集合中丢弃该丢弃报文子集合,得到第二报文集合。网络设备可以记录第二报文集合的报文量与目标队列的最大报文量的比值,得到第二队列利用率。网络设备可以比较第二队列利用率与第三阈值的大小。如果第二队列利用率大于第三阈值,且三种颜色的报文尚未遍历完成,网络设备可以将除第一颜色外,重要程度最低的颜色确定为目标颜色。如此循环执行,直至目标队列的第二队列利用率小于或等于第三阈值,或三种颜色的报文均已遍历完成。
在一些可能的实现中,网络设备在遍历目标颜色对应的报文子集合的过程中,可以依次对目标颜色对应的报文子集合中的一个或多个报文进行处理。在网络设备对报文子集合中的第一报文进行处理时,网络设备可以先获取目标报文的序列号,再通过伪随机算法根据目标报文的序列号确定对应的伪随机数。该伪随机算法输入的序列号越大,得到的伪随机数大于或等于目标颜色对应的目标阈值的概率也就越大。在得到目标报文的序列号对应的伪随机数后,网络设备可以比较伪随机数与目标阈值的大小。如果目标阈值大于或等于目标阈值,网络设备可以将该目标报文加入丢弃报文子集合。如此,网络设备可以优先丢弃后续的报文,从而保证对数据正常传输影响最小的前提下,尽可能地缓解网络拥塞。
在一些可能的实现中,当目标颜色对应的报文子集合属于至少一个音视频帧时,网络设备可以遍历第一报文集合的与目标颜色的至少一个音视频帧对应的报文子集合的报文。
在一些可能的实现中,为了确保音视频帧的准确定,网络设备在遍历至少一个音视频帧中任意一个音视频帧时,可以确定该音视频帧的报文转发率。报文转发率为音视频帧的已发送报文数目与音视频帧的报文总数的比值。如果报文转发率大于第四阈值,网络设备可以跳过从该音视频帧中确定丢弃报文子集合的步骤,即不丢弃该音视频帧的报文,从而确保该音视频帧的完整性。如果报文转发率小于第四阈值,网络设备可以对该音视频帧执行前述确定丢弃报文子集合的步骤。
在一些可能的实现中,在确定将丢弃报文集合丢弃后,网络设备还可以获取目标UI队列的第三队列利用率,该第三队列利用率为第三报文集合的报文量与目标队列的最大报文量的比值,第三报文集合为第一报文集合将丢弃报文集合丢弃之后的报文集合。接着,网络设备可以比较第三队列利用率与第五阈值的大小。如果第三队列利用率大于或等于第五阈值,且前述等待入队的报文未被丢弃,网络设备可以将等待入队的报文丢弃。如果第三队列利用率小于第五阈值,且前述等待入队的报文未被丢弃,网络设备可以将等待入队的报文入队。这样,如果网络拥塞在丢弃报文后仍未得到缓解,网络设备可以将等待入队的报文丢弃,从而缓解网络拥塞,
在一些可能的实现中,网络设备还可以比较第三队列利用率与第一阈值,如果第三队列利用率小于第一阈值,网络设备可以将待入队的报文的颜色信息对应的计数器的值置零。
第四方面,本申请实施例提供了一种服务质量检测装置,所述装置应用于第一设备,包括:处理单元,用于生成数据流,所述数据流的报文包括标识信息和第一指示信息,所述第一指示信息用于指示传输所述数据流的设备根据所述标识信息对所述数据流的服务质量QoS进行检测,得到所述数据流的QoS信息;所述第一设备为第一终端设备或第一服务器,所述传输所述数据流的设备包括第一网络设备;发送模块,用于向所述第一网络设备发送所述数据流。
在一些可能的实现中,所述处理单元,用于生成第一报文,所述第一报文包括第二指示信息,所述第二指示信息用于指示所述传输所述数据流的设备将所述数据流的QoS信息添加到所述第一报文中;所述发送单元,用于向所述第一网络设备发送所述第一报文。
在一些可能的实现中,所述传输所述数据流的设备还包括所述第一设备,所述数据流的QoS信息包括第一QoS信息;所述处理单元,用于根据所述标识信息和所述第一指示信息对所述数据流的QoS进行检测,得到所述第一QoS信息;在所述第一报文中添加所述第一QoS信息。
在一些可能的实现中,所述第二指示信息还用于指示所述传输所述数据流的设备在所述第一报文中添加所述设备的设备标识。
在一些可能的实现中,所述第一指示信息携带在传输层扩展头中,所述传输层扩展头为携带传输层信息的扩展头。
在一些可能的实现中,所述传输层扩展头包括实时传输协议RTP扩展头。
在一些可能的实现中,所述标识信息至少包括以下其中一项:应用程序的标识、业务实例的标识、流标识和帧标识。
在一些可能的实现中,所述数据流的报文还包括颜色信息,所述颜色信息用于指示在所述第一网络设备处于拥塞状况下所述报文被丢弃的比例。
在一些可能的实现中,所述QoS信息至少包括以下其中一项:所述第一网络设备接收所述报文的时间、所述第一网络设备发送所述报文的时间、所述第一网络设备在预设时间段发送的所述数据流的报文的字节总数、所述第一网络设备在所述预设时间段发送的所述数据流的报文的数目、所述第一网络设备在所述预设时间段丢弃所述数据流的报文的数目、所述第一网络设备在所述预设时间段丢弃的所述数据流的报文的字节数目。
在一些可能的实现中,所述传输所述数据流的设备还包括第二设备,所述第二设备为第二终端设备或第二服务器。
在一些可能的实现中,当所述传输所述数据流的设备还包括所述第二服务器时,所述QoS信息包括所述数据流的体验质量QoE信息。
第五方面,本申请实施例提供了一种服务质量检测装置,所述装置应用于第一网络设备,包括:接收单元,用于接收来自第一设备的数据流,所述数据流的报文包括标识信息和第一指示信息,所述第一设备为终端设备或服务器;处理单元,用于基于所述第一指示信息的指示根据所述标识信息对所述数据流的服务质量QoS进行检测,得到所述数据流的第二QoS信息。
在一些可能的实现中,所述接收单元,用于接收来自所述第一设备的第一报文,所述第一报文包括第二指示信息;所述处理单元,用于基于所述第二指示信息的指示将所述数据流的第二QoS信息添加到所述第一报文中;向目的设备发送所述第一报文,所述目的设备为所述数据流的目的设备。
在一些可能的实现中,所述处理单元,还用于在向目的设备发送所述第一报文之前,基于所述第二指示信息的指示将所述第一网络设备的标识添加到所述第一报文中。
在一些可能的实现中,所述指示信息携带在传输层扩展头中,所述传输层扩展头为携带传输层信息的扩展头。
在一些可能的实现中,所述传输层扩展头包括实时传输协议RTP扩展头。
在一些可能的实现中,所述标识信息至少包括以下其中一项:应用程序的标识、业务实例的标识、流标识和帧标识。
在一些可能的实现中,所述第一报文还包括第一QoS信息,所述第一QoS信息为所述第一设备对所述数据流进行QoS进行检测得到的QoS信息。
在一些可能的实现中,所述第一报文还包括所述第一设备的标识。
在一些可能的实现中,所述第二QoS信息至少包括以下其中一项:所述第一网络设备接收所述报文的时间、所述第一网络设备发送所述报文的时间、所述第一网络设备在预设时间段发送的所述数据流的报文的字节总数、所述第一网络设备在所述预设时间段发送的所述数据流的报文的数目、所述第一网络设备在所述预设时间段丢弃所述数据流的报文的数目、所述第一网络设备在所述预设时间段丢弃的所述数据流的报文的字节数目。
第六方面,本申请实施例提供了一种报文处理装置,所述装置应用于网络设备,包括:获取单元,用于获取第一报文集合中每个报文的报文信息,所述第一报文集合包括目标队列的已缓存报文和所述目标队列的待入队报文;确定单元,用于根据所述报文信息从所述第一报文集合中确定丢弃报文集合,所述丢弃报文集合包括至少两个报文;丢弃单元,用于丢弃所述第一报文集合中的所述丢弃报文集合。
在一些可能的实现中,所述确定单元,用于获取所述目标队列的第一队列利用率,所述第一队列利用率为所述目标队列的已缓存报文的报文量与所述目标队列的最大报文量的比值;响应于所述目标队列的第一队列利用率大于或等于第一阈值,根据所述报文信息从所述第一报文集合中确定丢弃报文集合。
在一些可能的实现中,所述确定单元,用于响应于所述目标队列的第一队列利用率大于或等于第一阈值,将与所述待入队报文的颜色信息对应的计数器的值加1;响应于所述计数器的值等于第二阈值,根据所述报文信息从所述第一报文集合中确定丢弃报文集合。
在一些可能的实现中,所述第一报文集合包括至少一个音视频帧的报文;所述确定单元,用于根据冗余标识从所述至少一个音视频帧的报文中确定冗余报文集合,所述冗余报文集合为至少一个冗余报文的集合,所述冗余报文为携带有所述冗余标识的报文;将所述冗余报文集合中的一个或多个冗余报文确定为丢弃报文集合。
在一些可能的实现中,所述确定单元,用于根据所述冗余报文集合中每个冗余报文的包序号,将所述冗余报文集合中的一个或多个冗余报文确定为丢弃报文集合。
在一些可能的实现中,所述报文信息包括颜色信息,每个报文对应红、黄、绿三种颜色中的其中一种颜色,每种颜色对应至少一个音视频帧的报文;所述确定单元,用于遍历每种颜色对应的至少一个音视频帧的报文,根据冗余标识从所述至少一个音视频帧的报文中确定每种颜色对应的冗余报文子集合;将所述冗余报文集合中的一个或多个冗余报文确定为丢弃报文集合包括:将一个或多个所述冗余报文子集合中的一个或多个冗余报文确定为丢弃报文集合。
在一些可能的实现中,所述报文信息包括颜色信息,每个报文对应红、黄、绿三种颜色中的其中一种颜色;所述确定单元,用于遍历所述第一报文集合中所述三种颜色对应的报文,将所述三种颜色中的第一颜色作为目标颜色,执行如下步骤,直到所述目标队列的第二队列利用率小于或等于第三阈值或所述三种颜色的报文均遍历完成:从所述第一报文集合的与所述目标颜色对应的报文子集合中确定丢弃报文子集合;从所述第一报文集合中丢弃所述丢弃报文子集合,得到第二报文集合,所述第二队列利用率为所述第二报文集合的报文量与所述目标队列的最大报文量的比值。
在一些可能的实现中,所述确定单元,用于遍历所述第一报文集合的与所述目标颜色对应的报文子集合的报文,将所述报文子集合中的第一报文作为目标报文执行如下步骤,直到遍历完成所述报文子集合中的所有报文,得到所述丢弃报文子集合:获取所述目标报文的序列号;根据伪随机算法确定与所述目标报文的序列号对应的伪随机数,所述目标报文的序列号越大,所述伪随机数大于或等于所述目标颜色对应的目标阈值的概率越大;响应于所述伪随机数大于或等于所述目标阈值,将所述目标报文加入所述丢弃报文子集合。
在一些可能的实现中,所述目标颜色对应的报文子集合属于至少一个音视频帧;所述确定单元,用于遍历所述第一报文集合的与所述目标颜色的至少一个音视频帧对应的报文子集合的报文。
在一些可能的实现中,所述确定单元,用于遍历所述至少一个音视频帧,将所述至少一个音视频帧的其中一个音视频帧作为目标音视频帧执行以下步骤,直到遍历完所述目标颜色的所有音视频帧:确定与所述目标音视频帧对应的报文转发率,所述报文转发率为所述目标音视频帧的已发送报文数目与所述目标音视频帧的报文总数的比值;响应于所述报文转发率大于或等于第四阈值,将所述至少一个音视频帧中未被遍历的其中一个音视频帧作为所述目标音视频帧;响应于所述报文转发率小于所述第四阈值,执行遍历所述第一报文集合的与所述目标颜色的至少一个音视频帧对应的报文子集合的报文的步骤。
在一些可能的实现中,所述确定单元,还用于获取所述目标队列的第三队列利用率,所述第三队列利用率为第三报文集合的报文量与所述目标队列的最大报文量的比值,所述第三报文集合为所述第一报文集合丢弃所述丢弃报文集合之后的报文集合;响应于所述第三队列利用率小于所述第五阈值,且所述丢弃报文集合不包括所述待入队报文,将所述待入队报文入队;所述丢弃单元,用于响应于所述第三队列利用率大于或等于第五阈值,且所述丢弃报文集合不包括所述待入队报文,丢弃所述待入队报文,所述第五阈值大于所述第一阈值。
在一些可能的实现中,所述确定单元,还用于响应于所述第三队列利用率小于所述第一阈值,将所述计数器的值置为0。
第七方面,本申请实施例提供了一种第一设备,所述网络设备包括:至少一个处理器,所述至少一个处理器与至少一个存储器耦合:
所述至少一个处理器,用于执行所述至少一个存储器中存储的计算机程序或指令,使得所述第一设备执行如前述第一方面所述的服务质量检测方法。
第八方面,本申请实施例提供了一种网络设备,所述网络设备包括:至少一个处理器,所述至少一个处理器与至少一个存储器耦合:
所述至少一个处理器,用于执行所述至少一个存储器中存储的计算机程序或指令,使得所述网络设备执行如前述第二方面所述的服务质量检测方法。
第九方面,本申请实施例提供了第一设备,所述网络设备包括:至少一个处理器,所述至少一个处理器与至少一个存储器耦合:
所述至少一个处理器,用于执行所述至少一个存储器中存储的计算机程序或指令,使得所述第一设备执行如前述第三方面所述的报文处理方法。
第十方面,本申请实施例提供了一种网络系统,该网络系统包括第一设备和第一网络设备;其中,所述第一设备用于执行如前述第一方面所述的服务质量检测方法,所述第二设备用于执行如前述第二方面所述的服务质量检测方法。
第十一方面,本申请实施例提供了一种计算机可读存储介质,包括计算机程序,当其在计算机上运行时,使得计算机执行前述第一方面或第二方面所述的服务质量检测方法,或前述第三方面所述的报文处理方法。
第十二方面,本申请实施例提供了一种芯片,包括处理器和接口电路,
所述接口电路,用于接收指令并传输至所述处理器;
所述处理器,用于执行前述第一方面或第二方面所述的服务质量检测方法,或前述第三方面所述的报文处理方法。
附图说明
图1为本申请实施例提供的系统的一种架构示意图;
图2为本申请实施例提供的服务质量检测方法的一种信令交互图;
图3为本申请实施例提供的网络架构的一种结构示意图;
图4为本申请实施例提供的网络架构的一种结构示意图;
图5为本申请实施例提供的报文处理方法的一种方法流程图;
图6为本申请实施例提供的报文处理方法的又一种方法流程图;
图7为本申请实施例提供的报文处理方法的再一种方法流程图;
图8为本申请实施例提供的报文处理方法的再一种方法流程图;
图9为本申请实施例提供的服务质量检测装置900的一种结构示意图;
图10为本申请实施例提供的服务质量检测装置1000的一种结构示意图;
图11为本申请实施例提供的报文处理装置1100的一种结构示意图;
图12为本申请实施例提供的一种设备1200的一种结构示意图;
图13为本申请实施例提供的一种设备1300的一种结构示意图。
具体实施方式
下面结合附图对传统技术和本申请实施例提供服务质量检测方法和报文处理方法进行介绍。
参见图1,该图为本申请实施例提供的系统100的一种结构示意图。在系统100中,包括终端设备110、服务器120、网络设备131、网络设备132、网络设备133和监控服务器140。其中,终端设备110与网络设备131连接,网络设备132分别与网络设备131和网络设备133连接,服务器120与网络设备133连接,监控服务器140分别与终端设备110和服务器120连接。
终端设备110生成的数据流A先后经过网络设备131、网络设备132和网络设备133到达服务器120。在这个过程中,终端设备110和服务器120可以分别对数据流A进行QoS检测,并将得到的QoS信息发送给监控服务器140。如此,监控服务器140可以得到数据流A的QoS信息。
但是,传统的监控方法只能由生数据流的设备和数据流的目的设备进行QoS监控,无法监控某个网络设备在传输某条特定的数据流的过程中的QoS信息。
为了解决上述问题,本申请实施例提供了一种服务质量检测方法,生成数据流的第一设备可以在数据流的报文中添加标识信息和第一指示信息。传输数据流的设备(包括网络设备)可以根据第一指示信息的指示,对标识信息对应的数据流进行QoS信息检测。
本申请实施例提供的方法可以应用于图1所示的网络架构。
其中,终端设备110,又可以称为用户设备(user equipment,UE)、移动台(mobilestation,MS)、移动终端(mobile terminal,MT)、终端等,是一种向用户提供语音和/或数据连通性的设备,或,设置于该设备内的芯片,例如,具有无线连接功能的手持式设备、车载设备等。目前,一些终端设备的举例为:手机、台式电脑、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、支持5G接入的家庭网关设备(5G→residential gateway,5G→RG)等。服务器120和监控服务器140可以是独立的服务器,也可以是由多台服务器组成的服务器集群。
网络设备131、网络设备132、和网络设备133可以例如是路由器(router)、交换机(switch)等支持路由功能的实体设备,也可以是部署虚拟路由器或虚拟交换机的服务器,用于传输数据流。
需要说明的是,在本申请实施例中,数据流在传输过程中可能经过服务器的中转,那么传输数据流的设备还可以包括服务器,本申请实施例对数据流的传输方式不做限定。
参见图2,该图为本申请实施例提供的一种服务质量检测方法的信令交互图,本申请实施例提供的服务质量检测方法可以包括如下步骤:
S201:第一设备生成数据流。
在本申请实施例中,第一设备为生成数据流的第一终端设备或第一服务器,例如可以是图1中终端设备110。第一设备可以生成并向目的设备发送数据流,该数据流中包括多个报文,其中每个报文的目的地址均为数据流的目的设备的目的地址。其中,目的设备可以为图1中的服务器120。
在数据流从第一设备传输到目的设备的过程中,报文可以经过网络架构中一个或多个网络设备的转发。其中,网络设备包括第一网络设备,第一网络设备可以是图1中网络设备131、网络设备132和网络设备133中的任意一个。可选地,报文在传输的过程中还可以经过服务器,例如图1中除服务器120和监控服务器140以外的其他服务器,该服务器可以位于终端设备110和网络设备131之间。
第一设备生成的数据流中任意一个报文可以携带第一指示信息和标识信息。下面分别对标识信息和第一指示信息进行介绍。
首先介绍标识信息。在本申请实施例中,标识信息用于标识数据流的身份,相当于数据流的身份信息。那么,当某网络设备同时传输多条数据流时,网络设备可以根据报文的标识信息确定该报文属于哪条数据流,
可选地,标识信息可以包括应用程序的标识、业务实例的标识、流标识和帧标识中的任意一种或多种。下面针对四种标识信息进行详细介绍。
在第一种实现方式中,标识信息包括应用程序的标识。应用程序的标识为生成数据流的报文的应用程序的标识信息,表示数据流中的报文是由哪个应用程序产生的。在生成报文时,第一设备可以根据生成该报文的应用程序在报文中添加应用程序的标识。
举例说明。假设第一设备为图1中终端设备110,且终端设备110上具有应用程序A和应用程序B两个应用程序。在运行的过程中,应用程序A和应用程序B可以分别生成两条的报文不同的数据流,并通过网络设备131向服务器120发送这两条数据流。那么,终端设备110可以根据生成报文的应用程序在报文中添加标识信息。如果报文为应用程序A生成的,终端设备110可以在报文中添加应用程序A的标识;如果报文为应用程序A生成的,终端设备110可以在报文中添加应用程序B的标识。这样,传输数据流的网络设备(例如网络设备131、网络设备132和网络设备133中的任意一个或多个)可以根据报文携带的标识信息确定该报文是由哪个应用程序生成的,从而针对不同应用程序的报文进行处理。
在第二种实现方式中,标识信息包括业务实例的标识。业务实例的标识表示报文对应的业务实例,体现数据流中的报文是由哪种业务实例生成的。其中,业务实例为终端设备中运行的业务类型,例如可以包括音视频业务、非音视频业务等业务类型。在生成报文时,第一设备可以根据该报文所属的业务实例在报文中添加业务实例的标识。
举例说明。假设第一设备为图1中终端设备110,终端设备110上具有应用程序C,且用户可以通过应用程序C向服务器120发送音视频数据和文字数据。那么,终端设备110可以根据报文中携带的数据内容在报文中添加标识信息。如果报文中携带的数据为用户发送的音视频数据,终端设备110可以在报文中添加音视频业务的业务实例的标识;如果报文中携带的数据为用户发送的文字数据,终端设备110可以在报文中添加非音视频业务的业务实例的标识。这样,传输数据流的网络设备(例如网络设备131、网络设备132和网络设备133中的任意一个或多个)可以根据报文携带的标识信息确定该报文中携带的数据是哪种业务生成的数据,从而根据报文对应的业务类型对报文进行处理。
在第三种实现方式中,标识信息包括流标识。流标识为报文所属的数据流的标识,表示报文属于哪条数据流。在生成报文时,第一设备可以根据该报文所属的数据流在报文中添加流标识。
举例说明。假设第一设备为图1中终端设备110,终端设备110可以向服务器120发送数据流M,向另一服务器(图中未示出)发送数据流N。那么,终端设备110可以根据报文所属的数据流在报文中添加标识信息。如果报文属于数据流N,终端设备110可以在该报文中添加数据流N的流标识。这样,传输数据流的网络设备(例如网络设备131、网络设备132和网络设备133中的任意一个或多个)可以根据报文携带的标识信息确定该报文属于哪条数据流。
在第四种实现方式中,数据流为音视频数据流。而音视频数据流往往包括多个音视频帧(在本申请实施例中音视频帧为音频帧和视频帧的统一称呼),每个音视频帧可以包括至少一个报文,该至少一个报文携带有一个视频帧的数据或一个音频帧的数据。对于这种情况,标识信息还可以包括帧标识。帧标识为报文所属的音视频帧的标识,表示报文属于哪个音视频帧。在生成报文时,第一设备可以在报文中添加该报文所属的音视频帧的标识。
举例说明。假设第一设备为图1中终端设备110,终端设备110向服务器120发送数据流P,该数据流P包括音视频帧a、音视频帧b和音视频帧c。那么,终端设备110可以根据报文所属的音视频帧在报文中添加标识信息。如果报文属于音视频帧a,终端设备110可以在该报文中添加音视频帧a的帧标识;如果报文属于音视频帧b,终端设备110可以该报文中添加在音视频帧b的帧标识;如果报文属于音视频帧c,终端设备110可以该报文中添加在音视频帧c的帧标识。这样,传输数据流的网络设备(例如网络设备131、网络设备132和网络设备133中的任意一个或多个)可以根据报文携带的标识信息确定该报文属于数据流中哪个音视频帧。
下面对第一指示信息进行介绍。第一指示信息用于指示传输数据流的设备根据标识信息对数据流的QoS进行检测。可选地,第一指示信息可以是报文中预设的某个字符串。当设备检测到待传输的报文包括这个字符串时,该设备QoS检测功能被触发,设备可以根据标识信息对报文的QoS信息进行检测。
在本申请实施例中,第一指示信息可以携带在报文的传输层扩展头中,该传输层扩展头为报文携带传输层信息的扩展头。其中,传输层信息可以体现报文的具体用途,例如体现报文所携带的数据属于哪种业务实例,或体现报文是由哪个应用程序生成的。可选地,该传输层扩展头可以包括实时传输协议(Real-time Transport Protocol,RTP)扩展头。当然,在一些示例中,第一指示信息还可以携带在报文的其他扩展头中,本申请实施例不做具体限定。
在一些可能的实现方式中,除第一指示信息和标识信息外,数据流的报文中还可以包括颜色信息,该颜色信息体现报文的重要程度,表示报文能够被丢弃的比例。即,当传输报文的网络设备处于拥塞状况时,该网络设备能够丢弃的最大报文量占总报文量的比值。
由于第一设备为生成数据流的信息,第一设备也属于传输数据流的设备,那么,第一设备也可以在第一指示信息的指示下根据标识信息对数据流的QoS进行检测。具体的检测方式可以参见S203的描述,这里不再赘述。
S202:第一设备向第一网络设备发送数据流。
在生成数据流后,第一设备可以向第一网络设备发送数据流。其中,第一网络设备可以是任意一个传输数据流的网络设备。例如,当第一设备为图1中终端设备110时,第一网络设备可以是网络设备131、网络设备132或网络设备133中的任意一个。如果第一设备和第一网络设备之间直接连接,第一设备可以通过网络连接向第一网络设备发送数据流。如果第一设备和第一网络设备之间间接连接,即第一设备通过其他设备与第一网络设备连接,第一设备可以通过其他设备向第一网络设备发送数据流。
可选地,第一设备可以通过边界网关协议(Border Gateway Protocol,BGP)或内部网关协议(Interior Gateway Protocol,IGP)协议等网络协议向第一网络设备发送数据流。本申请实施例对第一设备发送数据流的具体方式不作限定。
在一些可能的实现方式中,数据流在传输过程中经过其他设备的转发,即传输数据流的设备还包括第二设备,该第二设备为第二终端设备或第二服务器。那么,第一设备可以通过第一网络设备向第二设备发送报文,或通过第二设备向第一网络设备发送报文。
S203:基于第一指示信息的指示,第一网络设备对数据流的QoS进行检测。
在接收到来自第一设备的报文后,第一网络设备可以判断报文是否包括第一指示信息。若包括,第一网络设备可以根据报文中的标识信息对数据流的QoS进行检测,从而得到数据流的QoS信息。根据标识信息,第一网络设备可以区分不同的数据流,从而分别对不同的数据流进行QoS检测。
举例说明。假设第一网络设备传输数据流X和数据流Y,数据流X的报文包括数据流X的流标识x,数据流Y的报文包括数据流Y的流标识y,且QoS检测的项目为“检测第一网络设备接收数据流的报文的时间”。那么,在接收到新的报文时,第一网络设备可以记录接收该报文的时间,并从报文中提取标识信息。如果报文包括流标识x,第一网络设备可以将接收报文的时间记录为接收数据流X的报文的时间;如果报文包括流标识y,第一网络设备可以将接收报文的时间记录为接收数据流Y的报文的时间。
在本申请实施例中,QoS信息可以包括以下任意一项或多项:第一网络设备接收报文的时间、第一网络设备发送报文的时间、第一网络设备在预设时间段发送的数据流的报文的字节总数、第一网络设备在预设时间段发送的数据流的报文的数目、第一网络设备在预设时间段丢弃数据流的报文的数目、第一网络设备在预设时间段丢弃的数据流的报文的字节数目等。
下面分别对每种QoS信息进行详细介绍。
第一网络设备接收报文的时间为第一网络设备获取到数据流的报文的时间。可选地,第一网络设备可以将网络接口接收到报文的时刻记录为第一网络设备接收报文的时间。
第一网络设备发送报文的时间为第一网络设备向数据流的下一跳(nexthop)设备发送报文的时间。可选地,在通过网络接口向下一跳设备发送报文时,第一网络设备可以将网络接口发送报文的时刻记录为该报文所属的数据流的第一网络设备发送报文的时间。
第一网络设备在预设时间段发送的数据流的报文的字节总数为第一网络设备在预设时间段内,向下一跳设备发送的属于同一条数据流的全部报文中包括的字节数的总和。可选地,第一网络设备可以在转发报文时记录该报文包括的字节数和标识信息。这样,第一网络设备可以得到转发的每条报文包括的字节数和报文所属的数据流,从而统计预设时间段内发送的数据流的报文的字节总数。其中,预设时间段可以是用户在第一网络设备中配置的,也可以是由控制设备下发到第一网络设备得到。
第一网络设备在预设时间段发送的数据流的报文的数目为第一网络设备在预设时间段内,向下一跳设备发送的数据流的报文数量的总和。可选地,第一网络设备可以为每条数据流分别设置计数器,每发送一个报文时就将该报文所属的数据流对应的计数器的值加一。如此,通过读取计数器中的值在预设时间段内的增长量,第一网络设备可以确定预设时间段内发送的数据流的报文的数目。
为了减轻网络拥塞状况,第一网络设备可以在第一网络设备(或其他网络设备)处于拥塞状况丢弃报文。那么,第一网络设备可以为每条数据流分别设置计数器,每丢弃一个报文就将该报文所属的数据流对应的计数器的值加一。如此,根据计数器的值在预设时间段内的增长量,第一网络设备可以确定预设时间段内丢弃的数据流的报文的数目。
与第一网络设备在预设时间段发送的数据流的报文的字节总数类似,第一网络设备在预设时间段丢弃的数据流的报文的字节数目,为第一网络设备在预设时间段内丢弃的属于同一条数据流的全部报文中包括的字节数的总和。可选地,第一网络设备可以在丢弃报文时记录该报文包括的字节数和标识信息。这样,第一网络设备可以得到丢弃的每条报文包括的字节数和报文所属的数据流,从而统计预设时间段内丢弃的数据流的报文的字节总数。
根据前文论述可知,第一设备发送的数据流还可能经过第二设备。当第二设备为第二服务器时,QoS信息还可以包括数据流的体验质量(Quality of Experience,QoE)信息。其中,QoE信息可以体现用户对设备、网络和系统、应用或业务的质量和性能的主观感受。例如,假设数据流为视频数据流,那么数据流的QoE信息可以包括视频的清晰度、流畅度和延时率等信息中的任意一项或多项,能够体现用户实际看到的视频的质量高低。
可见,通过执行S201-S203所述的方式,传输数据流的任意一个网络设备可以在第一指示信息的指示下根据标识信息对数据流的QoS进行检测。这样,每个传输数据流的设备都可以根据第一设备的指示获取数据流在该设备上传输的QoS信息。如此,相较于传统技术,传输数据流的任意一个网络设备均能够对数据流进行QoS检测。
在得到数据流的QoS信息后,传输该数据流的设备可以通过与监控服务器之间的网络连接向监控服务器上报数据流的QoS信息。除此以外,本申请实施例还提供了对应的上报QoS信息的方法。下面进行详细介绍。
S204:第一设备生成第一报文。
在需要获取数据流的QoS信息时,第一设备可以生成第一报文,该第一报文包括第二指示信息,用于指示传输数据流的设备将数据流的QoS信息添加到第一报文中。可选地,第一设备可以在技术人员的触发下生成第一报文,也可以周期性生成第一报文。
由于第一设备也属于传输数据流的设备,那么第一设备可以根据标识信息和第一指示信息对数据流的QoS进行检测,得到数据流的第一QoS信息。相应地,第一设备在生成第一报文时,可以在第一报文中添加第一QoS信息。这样,可以对生成数据流的设备进行QoS检测。具体的检测方法可以参见步骤S201-S203的描述,这里不再赘述。
可选地,第二指示信息还可以用于指示传输数据流设备将自身的设备标识添加到第一报文中。即,当设备检测到待传输的报文包括第二指示信息时,该设备可以将自身的设备标识添加到报文中。由于第一设备也属于传输数据流的设备,第一设备可以根据第二指示信息在第一报文中添加第一设备的标识。
S205:第一设备向第一网络设备发送第一报文。
在生成第一报文后,第一设备可以向第一网络设备发送第一报文,以便第一网络设备根据第二指示信息将数据流的QoS信息添加到第一报文中
S206:第一网络设备基于第二指示消息将数据流的第二QoS信息添加到第一报文中。
在接收到第一报文后,第一网络设备可以基于第二指示消息的指示将第二QoS信息添加到第一报文中。其中,第二QoS信息包括第一网络设备对数据流中至少一个报文中每个报文进行检测得到的QoS信息,即S203得到的QoS信息。
具体地,在接收到包括第一指示信息的报文后,第一网络设备可以根据报文的标识信息对数据流进行QoS检测,并将检测得到的QoS信息存储在第一网络设备中。当第一网络设备接收到包括第二指示信息的第一报文后,第一网络设备可以将本地存储的数据流的QoS信息作为第二QoS信息添加到第一报文中。
S207:第一网络设备向目的设备发送第一报文。
在将第二QoS信息添加到第一报文后,第一网络设备可以向目的设备发送第一报文。其中,目的设备为数据流的目的设备。那么第一报文中可以包括目的设备的地址信息,第一网络设备可以根据目的设备的地址信息向目的设备发送第一报文。由于第一网络设备可以是传输数据流的任意一个网络设备,所以,任意一个传输数据流的网络设备均可以根据第二指示信息将数据流的QoS信息添加到第一报文,并向目的设备转发第一报文。而且,传输数据流的其他设备,例如生成数据流的设备和目的设备,也可以将其对数据流检测得到的QOS信息添加到第一报文中,如此,数据流的目的设备获取到的第一报文可以包括任意一个传输数据流的设备对数据流进行检测得到的QoS信息,即数据流在任意一个设备上的QoS信息。
目的设备在接收到第一报文后,可以根据第一报文确定数据流在任意一个设备上的QoS信息。目的设备可以向监控服务器(例如图1中服务器140)上报第一报文中携带的QoS信息。接着,监控服务器可以判断数据流在任意一个设备上的QoS信息是否符合该数据流的服务级别协议(Service Level Agreement,SLA)等级。其中,SLA信息表示数据流所需要的服务质量等级。如果数据流在任意一个设备上的QoS信息不符合该数据流的SLA等级,说明实际为该数据流提供的服务质量不满足数据流的需求,监控服务器可以调整传输该数据流的设备的参数,进而使为数据流提供的服务质量符合数据流的需求。可选地,监控服务器调整的参数可以包括第一阈值、第二阈值、第三阈值、第四阈值、第五阈值和目标阈值中的任意一个或多个。关于这些阈值的具体描述可以参见后文介绍。
上面介绍了本申请实施例提供的服务质量检测方法。下面结合图3做进一步说明。
参见图3,图3为本申请实施例提供的网络架构的一种结构示意图。该网络架构包括终端设备301、网络设备302、服务器303、网络设备304和终端设备305。其中,网络设备302分别与终端设备301和服务器303连接,网络设备304分别与服务器303和终端设备305连接。
在本申请实施例中,终端设备301上运行有应用程序A,该应用程序A可以执行单人业务和多人业务两种业务。其中,单人业务包括用户视频上传业务和用户文字上传业务,多人业务包括多人文字聊天业务和多人视频聊天业务。服务器303为应用程序A的后台服务器。即,用户a可以通过应用程序A将视频数据或文字数据上传到服务器303,以便其他用户通过终端设备305观看用户a上传的视频或文字。在其他用户通过终端设备305观看a上传的视频或文字时,终端设备305可以通过网络设备304接收来自服务器303的数据流。
下面进行具体介绍。
在用户a上传数据时,终端设备301可以将用户a想要上传的数据通过一个或多个报文发送给网络设备302。具体地,终端设备301可以根据待上传的数据生成报文,并根据待上传的数据类型确定报文所属的数据流。例如,当待上传的数据为单人视频上传业务的数据时,终端设备301可以生成单人业务的视频数据流,该视频数据流包括至少一个视频帧,每个视频帧包括至少一个报文,对应视频的一帧图像。当待上传的数据为多人文字聊天业务的数据时,终端设备301可以生成多人业务的文字数据流,该文字数据流包括的报文携带有待上传的文字数据。
在生成报文时,终端设备301可以在报文中添加第一指示信息和标识信息。其中,第一指示信息用于指示网络设备根据标识信息对数据流进行QoS检测。本申请实施例中,标识信息可以携带在报文的传输层扩展头中。可选地,报文的传输层扩展头还可以携带报文的SLA等级信息,表示数据流所需要的服务性能。
例如,参见表1,该表为其中一种可能的报文的传输层扩展头的格式。
表1
下面对表1进行详细介绍。
应用程序的标识为生成报文的应用程序的标识,例如为应用程序A的标识。
业务实例的标识为生成报文的业务对应的标识,例如可以是单人业务的标识,或多人业务的标识。
数据流类型表示报文所属的数据流的类型。例如,如果报文由多人文字聊天业务产生,报文的流标识为文字数据流的标识;如果报文由多人视频聊天业务产生,报文的流标识为视频数据流的标识;如果报文由单人文字上传业务产生,报文的流标识为文字数据流的标识;如果报文由单人视频上传业务产生,报文的流标识为视频数据流的标识。
流标识为数据流的标识,例如可以是终端设备301为每条数据流分配的独有的标识信息,用于区分终端设备301产生的多条数据流。例如,假设应用程序A同时进行单人视频上传业务和多人视频聊天业务,终端设备301可以生成两条数据流,分别对应单人视频上传业务和多人视频聊天业务。那么终端设备301可以在单人视频上传业务的报文中添加流标识M,表示该报文属于单人视频上传业务的数据流;在多人视频聊天业务的报文中添加流标识N,表示该报文属于多人视频聊天业务的数据流。
帧标识为报文所属的视频帧的标识,例如可以是是报文所述的视频帧在全部数据帧中的编号。举例说明。假设应用程序A上传了一段视频,这段视频包括60个视频帧,那么终端设备301可以根据报文所属的视频帧在报文中添加帧标识。报文X属于第1个视频帧,终端设备301可以确定报文X对应的帧标识为1;如果报文Y属于第30个视频帧,终端设备301可以确定报文Y对应的帧标识为31。
对于非视频类业务的数据流,终端设备301可以将数据流的全部报文确定为一个数据帧,或将数据流中任意一个或多个报文确定为一个数据帧,本申请实施例对此不作限定。
容错率表示报文所属的数据流能够容忍的容错率,例如可以是数据流中冗余报文的报文量占总报文的报文量的比例。可选地,当报文采用的抗丢包策略为前向纠错码(Forward Error Correction,简称FEC)策略时,容错率可以是FEC等级。举例说明。假设数据流中共有1000个数据包,且其中100个数据包为FEC冗余包,那么该数据流中报文的容错率可以为10%。
包总数为一个数据帧中包括的报文的总数量。例如,假设单人视频上传业务的数据流中每个视频帧包括10个报文,那么这10个报文的包总数可以为10.
SLA等级标识表示数据流所需要的服务性能标准,体现数据流中报文的重要程度。不同的SLA等级标识对应不同的服务性能标准。例如,假设应用程序A中多人视频聊天业务最重要,那么终端设备301可以将多人视频聊天业务的报文的SLA等级标识设置为1,表示该报文的重要性最高,传输数据流的设备需要优先转发该报文,并尽可能少的丢弃该报文。相应地,如果应用程序A中单人文字上传业务最不重要,那么终端设备301可以将单人文字上传业务的报文的SLA等级标识设置为4,表示该报文的重要性较低,传输数据流的设备可以优先丢弃该报文。
SLA优先权(priority)表示数据流转发的优先程度,即传输数据流的设备处理报文的优先程度。
颜色信息可以体现报文的重要程度,表示数据流的最大丢包率,即报文所属的数据流在拥塞情况下能够丢弃的最大报文量占总报文量的比例。举例说明,假设颜色信息包括红色、黄色和绿色中的任意一个。且红色对应的报文的最大丢包率为100%,绿色对应的报文的最大丢包率为60%,黄色对应的报文的最大丢包率为20%。那么,多人视频聊天业务的报文的颜色信息可以为绿色,表示网络设备最多可以丢弃数据流中20%的报文。多人文字聊天业务的报文的颜色信息可以为黄色,表示网络设备最多可以丢弃数据流中60%的报文。
上面介绍了终端设备301生成报文的过程。在生成报文后,终端设备301可以向网络设备302发送报文,网络设备302可以向服务器303发送报文,并通过网络设备304将报文转发到终端设备305。终端设备301、网络设备302、服务器303、网络设备304和终端设备305中任意一个设备均可根据第一指示信息和标识信息对数据流进行QoS检测,得到数据流在该设备的QoS信息。
在需要获取QoS信息时,终端设备301可以生成第一报文,该第一报文包括第二指示信息。第二指示信息用于指示传输数据流的设备将自身检测得到的QoS信息添加到第一报文中。第一报文用于携带数据流的QoS信息。
生成第一报文后,终端设备301可以向网络设备302发送第一报文,并通过服务器303、网络设备304将第一报文发送给终端设备305。在转发报文的过程中,网络设备302、服务器303、网络设备304和终端设备305中任意一个设备均可以在第二指示信息的指示下将自身检测得到的QoS信息添加到第一报文中。如此,终端设备305接收到的第一报文可以包括数据流在任意一个网络设备上的QoS信息。
下面对QoS信息进行详细介绍。
在本申请实施例中,数据流的QoS可以以QoS信息表的形式存储在第一报文中。QoS信息表可以包括路径信息、时间信息和QoS信息三部分。其中,路径信息为数据流传输的路径的相关信息,时间信息为QoS信息对应的时间,QoS信息包括统计信息和QoE信息,统计信息包括为设备对报文进行统计得到的信息。
例如,参见表2,该表为其中一种可能的QoS信息表的格式。
表2
下面对表2进行消息介绍。
设备标识为得到该QoS信息的设备的标识。例如,对于网络设备302对数据流进行检测得到的QoS信息,该QoS信息表中的设备标识可以是网络设备302的标识。
设备类型为得到该QoS信息的设备的类型。例如,假设网络设备302为路由器,那么对于网络设备302对数据流进行检测得到的QoS信息,该QoS信息表中的设备类型可以是路由器的标识。可选地,设备类型还可以包括应用程序客户端、应用程序服务器、终端设备、服务器、无线接入点、控制器、交换机、安全设备和客户终端设备(Customer PremiseEquipment,CPE)等。
入接口标识为设备接收该QoS信息对应的报文的网络接口的标识。例如,假设网络设备302通过网络接口i接收终端设备301发送的报文,那么该报文对应的数据流的QoS信息表中入接口标识可以为网络接口i的标识。对于生成报文的终端设备或服务器,入接口标识可以为空。
与入接口标识类似,出接口标识为设备转发该QoS信息对应的报文的网络接口的标识。例如,假设网络设备302通过网络接口j向服务器303发送报文,那么该报文对应的数据流的QoS信息表中出接口标识可以为网络接口j的标识。对于生成报文的目的设备,出接口标识可以为空。
统计时长表示QoS信息对应的时间间隔,即QoS信息表中的QoS信息是在多长的时间间隔内检测得到的,对应S203中“预设时间段”。
入口时间为统计时长的起始时间,即QoS信息表中的QoS信息是在那个时间点开始检测的,对应S203中“预设时间段”的起点。可选地,入口时间可以是时间戳,例如可以是10分钟以下的纳秒级时间戳。
与入口时间类似,出口时间为统计时长的结束时间,即QoS信息表中的QoS信息是在那个时间点停止检测的,对应S203中“预设时间段”的终点。可选地,出口时间可以是时间戳,例如可以是10分钟以下的纳秒级时间戳。
通过字节总数为设备在统计时长内发送的数据流的报文的字节数之和,对应S203中“第一网络设备在预设时间段发送的数据流的报文的字节总数”。
通过包总数为设备在统计时长内发送的数据流的报文的总数目,对应S203中“第一网络设备在所述预设时间段发送的所述数据流的报文的数目”。
丢弃包总数为设备在统计时长内丢弃的数据流的报文的总数目,对应S203中“第一网络设备在预设时间段丢弃数据流的报文的数目”。
丢弃字节总数为设备在统计时长内丢弃的数据流的报文的字节数之和,对应S203中“第一网络设备在预设时间段丢弃的数据流的报文的字节数目”。
举例说明。假设统计时长为10s,网络设备302在一个统计时长内接收到了终端设备301发送的1000条报文,向服务器303发送了500条报文,丢弃了200条报文,剩余的300条报文处于网络设备302的队列中等待调度,且任意一个报文包括10个字节。那么,对于该统计时长内,网络设备302的通过总字节数为500×10=5000字节,通过总包数为500个,丢弃总包数为200个,丢弃字节总数为200×10=2000字节。
当数据流为音视频数据流,且传输数据流的设备包括服务器时,服务器可以得到数据流的QoE信息。该QoE信息可以体现音视频数据在传输到该服务器时的质量。可选地,QoE信息可以包括清晰度、流畅度和延时率。
举例说明,假设用户a通过终端设备301上的应用程序A向终端设备305上传视频B,终端设备301可以向终端设备305发送一条视频数据流,那么服务器303对数据流进行QoS检测可以得到该数据流的QoE信息。该QoE信息表示该视频B在传输到服务器303时的指令。其中,清晰度表示服务器303接收到的视频B的清晰程度,流畅度表示服务器303接收到的视频B的流畅程度,延时率表示服务器3032接收到视频B的时延。
除此以外,本申请实施例还提供了一种报文处理方法。下面结合说明书附图进行详细介绍。
用于转发报文的网络设备大多包括一个或多个队列。在网络设备接收到报文时,可以确定报文对应的队列,并将报文加入该队列。在网络设备发送报文时,网络设备可以从队列中调度缓存的报文出队。对于网络设备的任意一个队列,报文出队的速度(即网络设备发送该队列中缓存报文的速度)取决于网络设备调度该队列的次数,相当于网络设备为该队列分配的网络带宽。而该队列报文出队入队的速度(即该队列中缓存的报文增加的速度)取决于上一条设备发送报文的速度。那么,如果网络设备某队列报文出队的速度小于报文入队的速度,该队列中缓存会堆积来不及发送的报文。当这些报文的数量过多时,网络设备无法及时发送新的报文。这个现象可以被称为网络拥塞。
参见图4,该图为本申请实施例提供的网络架构的一种结构示意图。该网络架构包括网络设备401、网络设备402、网络设备403和网络设备404。其中,网络设备403分别与网络设备401、网络设备402和网络设备404连接。网络设备401可以通过网络设备403向网络设备404发送报文,网络设备402可以通过网络设备403向网络设备404发送报文。在本申请实施例中,网络设备401和网络设备402发送的报文被网络设备403加入队列A。发送给网络设备404的报文均来自该队列A
假设网络设备401向网络设备403发送报文的速度为X,网络设备402向网络设备403发送报文的速度为Y,网络设备403向网络设备404发送报文的速度为Z。那么,队列A的报文入队的速度为X+Y,报文出队的速度为Z。当Z≥X+Y时,网络设备403可以将网络设备401和网络设备402发送的全部报文转发给网络设备404,队列A中不会堆积报文。但是,如果Z<X+Y,网络设备403来不及将接收到的报文及时发送给网络设备404,导致队列A中等待发送的报文越来越多,出现网络拥塞。
为了解决网络拥塞的问题,网络设备可以在出现网络拥塞时将新加入队列的报文丢弃。这样,相当于使网络设备不再接收新的报文,即队列的报文入队的速度为零。那么随着报文的出队,网络设备中缓存的报文数量越来越少,使得网络拥塞能够得到缓解。
但是,传统的报文丢弃方法每次丢弃报文只会丢弃等待入队的一个报文,导致队列中缓存的报文数量只能随着报文的出队逐渐减少,无法快速降低队列中缓存的报文的数量,导致队列长时间处于高负载状态,即队列中缓存的报文的数量始终较多。由于网络设备大多按照入队的顺序调度队列中缓存的报文,新入队的报文需要等待之前入队的报文出队后才能被调度出队。那么,当队列中缓存的报文较多时,新入队的报文需要等待较长的时间才能被调度,增加了报文传输的时延。
为了解决这一问题,本申请实施例提供了一种报文处理方法。在丢弃报文时,可以根据报文的信息从目标队列已缓存的报文和待入队的报文中确定丢弃报文集合。且丢弃报文集合包括至少两个丢弃报文。如此,可以快速减少目标队列中缓存的报文的数量,使得队列能够快速恢复为低负载状态,降低报文被调度前的等待时间,降低报文传输的时延。
本申请实施例提供的方法可以应用于图4中网络设备401、网络设备402、网络设备403和网络设备404中任意一个网络设备。其中,网络设备可以是具有转发功能的设备,比如:路由器(router)、交换机(switch)等转发设备。可选地,本申请实施例提供的报文处理方法也可以应用于服务器或者终端设备等具有转发功能的设备。
参见图5,该图为本申请实施例提供的一种报文处理方法的方法流程图。本申请实施例提供的报文处理方法包括:
S501:网络设备获取第一报文集合中每个报文的报文信息。
在本申请实施例中,网络设备可以是图4中网络设备401、网络设备402、网络设备403或网络设备404中任意一个网络设备。网络设备可以具有一个或多个队列,每个队列中可以缓存有一个或多个等待出队的报文。对于网络设备的目标队列,当有新的报文等待加入队列时,网络设备可以获取第一报文集合中每个报文的报文信息。
其中,目标队列可以是网络设备的任意一个队列。第一报文集合包括目标队列已缓存的报文和目标队列的待入队报文,即目标队列中等待出队的报文和即将加入队列的报文。报文信息可以包括报文的包序号(即报文在数据流中的序号),报文的类型,报文的颜色信息等信息中的任意一种或多种。其中,报文的颜色信息表示报文的重要程度,关于颜色信息的具体介绍可以参见前文。可选地,报文信息还可以包括前述报文的标识信息。
S502:网络设备根据报文信息从第一报文集合中确定丢弃报文集合。
在获取到第一报文集合中每个报文的报文信息后,网络设备可以根据报文信息从第一报文集合中确定丢弃报文集合。该丢弃报文集合为需要丢弃的至少两个报文组成的集合。例如,网络设备可以根据报文类型逐一判断第一报文集合中每个报文是否需要丢弃,从而确定丢弃报文集合。
关于确定丢弃报文集合的具体方法可以参见后续描述,这里不再赘述。
在一些示例中,为了防止数据流中被丢弃的数据过多,网络设备可以记录丢弃报文集合中每个报文的字节数,并求和得到丢弃报文总字节数。如果丢弃报文总字节数高于丢弃上限,网络设备可以停止执行S502,执行步骤S503。如此,在需要丢弃的报文的字节总数达到上限时,网络设备不再将新的报文加入丢弃报文集合,可以防止网络设备丢弃过多的数据,起到控制丢包率的作用。
在确定丢弃报文集合前,网络设备可以先判断目标队列的是否已经拥塞或存在拥塞发生的风险。可选地,网络设备可以先获取目标队列的第一队列利用率,并比较第一队列利用率与第一阈值的大小。其中,该第一队列利用率为目标队列的已缓存的报文量与目标队列的最大报文量的比值,第一阈值为大小相对较小的阈值,用于对网络拥塞进行预警。报文量可以是报文的长度或报文的数量。如果报文量是报文的数量,则每个报文的长度可以相等。报文量的具体形式可根据需要进行设置。在本申请实施例中,第一阈值(包括后文第二阈值、第三阈值、第四阈值、第五阈值和目标阈值等阈值)可以是技术人员在网络设备中配置的,也可以是由控制设备下发到网络设备得到。
如果目标队列的第一队列利用率小于第一阈值,说明目标队列中已缓存的报文量占目标队列能够缓存的最大报文量的比例较小,网络设备可以确定第一队列暂时不属于拥塞状态。如果目标队列的第一队列利用率大于或等于第一阈值,网络设备可以确定该目标队列中缓存的报文量相对较多,进而根据报文信息从目标队列中确定丢弃报文集合。
可选地,网络设备还可以记录第一队列利用率大于或等于第一阈值的次数,并在累积一定次数后再确定丢弃报文集合。具体地,网络设备可以分别为每种颜色信息设置计数器。当有新的报文等待加入目标队列时,网络设备可以计算第一队列利用率并比较第一队列利用率和第一阈值的大小。如果第一队列利用率大于或等于第一阈值,网络设备可以将待等待入队的报文的颜色信息对应的计数器的值加一。那么,计数器的值可以体现该计数器对应的颜色的报文加入目标队列时,目标队列的队列利用率较高的次数。如果计数器的值等于第二阈值,说明目标队列的队列利用率高于第一阈值的次数较多,那么网络设备可以根据报文信息从第一报文集合中确定丢弃报文集合。在一些可能的实现方式中,网络设备也可以不根据颜色信息设置计数器,而是为全部颜色的报文设置一个统一的计数器。
可选地,如果第一队列利用率小于第一阈值,网络设备可以将计数器的值置为零。可选地,网络设备可以将待入队的报文的颜色信息对应的计数器清零,也可以将全部计数器清零。
S503:网络设备丢弃第一报文集合中的丢弃报文集合。
在确定丢弃报文集合后,网络设备可以丢弃第一报文集合中的丢弃报文集合。可选地,网络设备可以从本地存储空间中删除丢弃报文集合中包括的报文。
如果丢弃报文集合不包括等待入队的报文,即S501中即将加入目标队列的报文,那么在将丢弃报文集合丢弃后,网络设备还可以计算目标队列的第三队列利用率,该第三队列利用率为第三报文集合的报文量与目标队列的最大报文量的比值。第三报文集合为将丢弃报文集合丢弃后,第一报文集合剩余的报文组成的报文集合,即目标队列在丢弃报文后剩余的已缓存报文和待入队报文组成的报文集合,包括待入队的报文入队后目标队列剩余的已缓存的全部报文。
网络设备可以比较第三队列利用率与第五阈值的大小。其中,第五阈值小于第一阈值。如果第三队列利用率大于或等于第五阈值,说明目标队列在网络设备在丢弃报文后仍然缓存有较多报文。那么网络设备可以丢弃待入队的报文,从而避免目标队列中缓存的报文量进一步增加。如果第三队列利用率小于第五阈值,说明目标队列在网络设备丢弃报文后缓存的报文量较少。那么网络设备可以将待入队的报文加入目标队列,从而转发该待入队的报文。
可选地,网络设备还可以比较第三队列利用率与第一阈值的大小。如果第三队列利用率小于第一阈值,则说明目标队列中缓存的报文量不足以产生网络拥塞,那么网络设备可以将计数器的值置为0。可选地,网络设备可以将待入队的报文的颜色信息对应的计数器清零,也可以将全部计数器清零。
下面对网络设备从第一报文集合中确定丢弃报文集合的具体方法进行详细介绍。本申请实施例提供了两种确定丢弃报文集合的方法。第一种确定方法可以从音视频数据流的冗余报文中确定丢弃报文集合。第二种确定方法可以从音视频数据流和/或非音视频数据流的确定丢弃报文集合。
首先介绍第一种确定方法。在介绍具体地确定方法之前,首先对冗余报文进行介绍。
为了确保音视频数据的完整性,生成音视频数据流的设备可以在音视频数据流中添加冗余报文。冗余报文为可丢弃的报文。可选地,冗余报文可以是设备根据抗丢包策略生成的。例如,假设生成音视频数据流的设备采用的抗丢包策略为FEC。那么该设备可以在音视频数据的基础上,采用FEC的编码算法进行编码,生成抗丢包的冗余报文。
下面介绍当第一报文集合包括音视频帧的报文时,网络设备从冗余报文中确定丢弃报文集合的方法。其中,音视频帧可以包括音频数据和/或视频数据。
根据前文论述可知,音视频数据在传输时可以分为一个或多个数据帧,每个数据帧包括多个报文。在本申请实施例中,音视频数据的数据帧可以被称为音视频帧。在从音视频帧的报文中确定丢弃报文集合时,网络设备可以先遍历所有音视频帧的报文,并从音视频帧的报文中筛选出携带有冗余标识的至少一个报文,得到冗余报文集合。其中,冗余标识为冗余报文的标识信息。
在确定冗余报文集合后,网络设备可以从冗余报文集合中选择一个或多个报文作为需要丢弃的报文。可选地,网络设备可以根据冗余报文的包序号或冗余报文的颜色信息确定丢弃报文集合。
在第一种实现方式中,网络设备根据冗余报文的包序号确定丢弃报文集合。其中,包序号表示冗余报文在数据流中的位置,例如可以是设备发送冗余报文的顺序编号。假设生成数据流的设备先发送冗余报文A,再发送冗余报文B,最后发送冗余报文C,那么冗余报文A的包序号可以为1,冗余报文B的包序号可以为2,冗余报文C的包序号可以为3.
在根据包序号确定丢弃报文集合时,网络设备可以根据包序号对冗余报文集合中的冗余报文进行排序,并有间隔地从冗余报文集合中选择一个或多个冗余报文,并将选择的冗余报文加入丢弃报文集合。例如,网络设备可以每隔两个冗余报文选择一个冗余报文加入丢弃报文集合。这样,有间隔地从冗余报文集合中,可以避免将多个连续的冗余报文确定为需要丢弃的报文。如此,在将丢弃报文集合丢弃后,第三报文集合中仍然存在多个分布较均匀的冗余报文,仍然能够起到抗丢包的作用。
在第二种实现方式中,网络设备根据冗余报文的颜色信息确定丢弃报文集合。其中,颜色信息表示报文的重要程度。那么,网络设备可以优先丢弃重要程度较低的冗余报文,后丢弃重要程度较高的冗余报文。
以颜色信息包括红色、黄色、绿色三种颜色为例进行说明。假设颜色为绿色的报文的重要程度最高,颜色为红色的报文的重要程度次之,颜色为红色的报文的重要程度最低。那么,网络设备在确定冗余报文集合时,可以分别确定每种颜色对应的冗余报文子集合。冗余报文子集合可以包括至少一个颜色信息相同的冗余报文。在确定冗余报文子集合时,网络设备可以遍历每种颜色对应的一个或多个音视频帧的报文。
在确定每种颜色对应的冗余报文子集合后,网络设备可以根据报文的重要程度依次从三个颜色对应的冗余报文子集合中选择冗余报文,并将选择的一个或多个冗余报文确定为丢弃报文集合。例如,网络设备可以先从红色对应的冗余报文子集合中选择一个或多个冗余报文加入丢弃报文集合,再从黄色对应的冗余报文子集合中选择一个或多个冗余报文加入丢弃报文集合,最后从绿色对应的冗余报文子集合中选择一个或多个冗余报文加入丢弃报文集合。可选地,网络设备可以根据包序号从冗余报文子集合中选择需要丢弃的冗余报文,也可以从冗余报文子集合中随机选取一个或多个冗余报文作为需要丢弃的冗余报文。本申请实施例对选择冗余报文的具体方法不做限定。
当第一报文集合中的报文分别属于多个不同的音视频帧时,网络设备可以根据音视频帧的标识确定丢弃报文集合。可选地,网络设备可以根据音视频帧的顺序确定丢弃报文集合。举例说明。假设网络设备中缓存有视频A第一帧的报文和视频A第二帧的报文,那么网络设备可以先从视频A第一帧的报文中选择一个或多个冗余报文加入丢弃报文集合,再从视频A第二帧的报文中选择一个或多个冗余报文加入丢弃报文集合。
根据前文介绍可知,冗余报文具有抗丢包的作用。在网络拥塞时可以通过丢弃冗余报文减缓拥塞情况,同时还不会影响音视频数据的准确性。但是,在实际的应用场景中,数据流往往需要经过多个网络设备才能到达目的设备。那么,如果在报文传输的过程中的某个网络设备将数据流的冗余报文全部丢弃,那么数据流在到达后续的网络设备时,这些后续的网络设备无法丢弃冗余报文,只能丢弃数据流的非冗余报文,影响音视频数据的准确性,从而导致目的设备接收到的音视频数据失真。
因此,在确定丢弃报文集合时,网络设备可以丢弃冗余报文集合中部分冗余报文,而不是丢弃全部冗余报文。可选地,网络设备可以确保丢弃的冗余报文占全部冗余报文的比例不超过最大冗余丢弃比例。其中,最大冗余丢弃比例表示在确保数据流具有抗丢包功能的前提下,网络设备能够丢弃的冗余报文占全部冗余报文的比例。那么,在确定丢弃报文集合前,网络设备可以先获取第一报文集合中冗余报文的数量,再将冗余报文的数量与最大冗余丢弃比例相乘,得到冗余丢弃阈值,即网络设备最多能够丢弃的冗余报文的个数。这样,在从冗余报文集合中确定丢弃报文集合时,网络设备可以检测丢弃报文集合中冗余报文的条数超过冗余丢弃阈值时,网络设备结束确定丢弃报文集合的步骤。
可选地,当网络设备根据包序号有间隔地从冗余报文集合中选择一个或多个冗余报文加入丢弃报文集合时,网络设备可以先根据冗余丢弃阈值计算选择冗余报文的间隔。
举例说明,假设冗余报文集合包括10条冗余报文,且最大冗余丢弃比例为50%。那么冗余丢弃阈值为5条,网络设备可以确定选择冗余报文的间隔为((1-50%)/50%)*10=1。即网络设备可以从冗余报文集合中每隔一条冗余报文选择一条冗余报文加入丢弃报文集合。
上面介绍了第一种确定丢弃报文集合的方法。下面介绍第二种从第一报文集合中确定丢弃报文集合的方法。该方法可以用于对非音视频数据流的报文进行处理,也可以用于对音视频数据流的报文进行处理。可选地,当第一报文集合包括音视频数据流的报文时,网络设备可以先采用前述方法丢弃第一报文集合中的冗余报文,再采用下面介绍的方法丢弃第一报文集合中其他报文。详细过程可参见图6所示实施例的描述,这里不再赘述。
在该方法中,网络设备可以先根据第一报文集合中报文的颜色信息对第一报文集合中的报文进行整理,得到每种颜色对应的报文子集合。接着,网络设备可以遍历一种或多种颜色对应的报文子集合。
首先介绍网络设备遍历报文子集合的总过程。
在遍历报文子集合时,网络设备可以按照重要程度由低到高的顺序确定目标颜色,从而遍历目标颜色对应的报文子集合。在第一次遍历时,网络设备可以将重要程度最低的第一颜色确定为目标颜色,并遍历第一颜色对应的报文子集合,从第二颜色对应的报文子集合中确定丢弃报文子集合。接着,网络设备可以将第一颜色确定为已遍历颜色,并判断目标队列是否满足报文停止条件。若不满足,网络设备可以将未遍历的颜色中重要程度最低的第二颜色确定为目标颜色,从而遍历第二颜色对应的报文子集合。同样,在遍历完第二颜色对应的报文子集合后,网络设备可以再次判断目标队列是否满足报文停止条件。若不满足,网络设备可以继续调整目标颜色,直至目标队列满足报文停止条件。
在本申请实施例中,报文停止条件可以包括“目标队列的第二队列利用率小于或等于第三阈值,或目标队列中任意报文的颜色信息均为已遍历颜色”。其中,第二队列利用率为第二报文集合的报文量与目标队列的最大报文量的比值,第二队列集合为网络设备在遍历目标颜色对应的报文子集合后,第一报文集合中除丢弃报文子集合以外的其他报文组成的集合。
如果目标队列不满足队列停止条件,即目标队列的队列利用率在将丢弃报文后仍然不低于第三阈值,且还存在未遍历的颜色,说明目标队列的拥塞程度尚未缓解,且仍然存在可以丢弃的报文。那么网络设备可以将未遍历的颜色中重要程度最高的颜色确定为目标颜色,进而从目标颜色的报文子集合中选择一个或多个报文加入丢弃报文子集合。相反地,如果目标队列满足队列停止条件,说明在将丢弃报文子集合丢弃后,目标队列的队列利用率降低至第三阈值以下,或,目标队列中全部颜色对应的报文子集合均已遍历。如果目标队列的队列利用率在丢弃报文后低于第三阈值,则说明目标队列的拥塞程度已经缓解。那么网络设备可以停止执行S502,执行S503。类似地,如果目标队列中全部颜色均为已遍历颜色,说明网络设备已经遍历了第一报文集合中全部报文。那么网络设备同样可以停止执行S502,执行S503。
举例说明。假设目标队列中报文的颜色信息包括红色、黄色和绿色,且绿色表示报文的重要程度最高,红色表示报文的重要程度最低。那么,网络设备可以先整理第一报文集合,将第一报文集合包括的报文整理为红色报文子集合、黄色报文子集合和绿色报文子集合。其中,红色报文子集合中任意一个报文的颜色信息为红色;黄色报文子集合中任意一个报文的颜色信息为黄色;绿色报文子集合中任意一个报文的颜色信息为绿色。
由于红色报文的重要程度最低,网络设备可以确定红色为第一颜色,从而遍历红色报文子集合,从红色报文子集合中确定丢弃报文子集合。在遍历完红色报文子集合后,网络设备可以将红色标记为已遍历颜色,并计算目标队列的第二队列利用率。如果目标队列的第二队列利用率小于第三阈值,网络设备可以执行S503。如果目标队列的第二队列利用率大于或等于第三阈值,网络设备可以遍历黄色报文子集合。
在将黄色报文子集合中一个或多个报文加入丢弃报文子集合后,网络设备可以将黄色标记为已遍历颜色,并再次计算目标队列的第二队列利用率。如果第二队列利用率小于第三阈值,网络设备可以执行S503。如果目标队列的第二利用率仍然大于或等于第三阈值,网络设备可以遍历绿色报文子集合。
在将绿色报文子集合中一个或多个报文加入丢弃报文子集合后,网络设备可以将绿色标记为已遍历颜色。由于此时全部颜色均为已遍历颜色,无论目标队列的第二队列利用率为多少,网络设备均可停止执行S502,转而执行步骤S503。
根据上文介绍可知,第一报文集合可以包括音视频数据流的报文,这些报文可以属于一个或多个音视频帧。那么,在遍历目标颜色的报文子集合的过程中,如果该报文子集合中包括的报文可能属于一个或多个音视频帧。对于这种情况,为了确保音视频帧的完整性,网络设备可以计算每个音视频帧的报文转发率,并根据报文转发率确定该音视频帧的报文是否能够丢弃。
具体地,网络设备可以先遍历报文子集合中每个音视频帧,并对依次将每个音视频帧作为目标音视频帧进行处理。
在处理目标音视频帧时,网络设备可以计算该目标音视频帧的报文转发率。其中,报文转发率为目标音视频帧中已发送的报文数和该目标音视频帧的报文总数的比值。即目标视频帧中已发送的部分占整个目标音视频帧的比例。如果目标音视频帧的报文转发率大于或等于第四阈值,说明目标音视频帧的部分数据已经被发送至下一跳设备,那么为了确保数据的完整性,网络设备可以在遍历报文子集合时跳过该目标音视频帧的报文。如果目标音视频帧的报文转发率小于第四阈值,说明目标音视频帧中发送到下一跳设备的数据相对较少,那么网络设备可以在遍历该目标音视频帧的报文。这样,如果某个音视频帧中发送到下一跳设备的数据较多,网络设备可以不丢弃该音视频帧的报文,从而确保该音视频帧的完整性。
接下来介绍网络设备从每种颜色对应的报文子集合确定冗余报文子集合的方法。
在从目标颜色对应的报文子集合中确定丢弃报文子集合时,网络设备可以遍历该报文子集合中全部报文,并逐一判断每个报文是否需要加入丢弃报文子集合,并将需要加入丢弃报文子集合的报文加入丢弃报文子集合。
以目标颜色对应的报文子集合包括目标报文为例进行说明。目标颜色对应的报文子集合中任意一个报文均可以作为目标报文。在判断目标报文是否需要加入丢弃报文子集合时,网络设备可以先获取目标报文的序列号。当目标报文为音视频数据帧的报文时,序列号可以表示目标报文的在其所属的音视频数据帧中的顺序。当目标报文为非音视频数据流的报文时,序列号可以表示目标报文在报文子集合中的顺序。
在确定目标报文的序列号后,网络设备可以根据伪随机算法确定与目标报文的序列号对应的伪随机数。其中,伪随机算法可以根据序列号模拟随机过程并产生随机数。在本申请实施例中,伪随机算法可以根据序列号调整生成的伪随机数的分布概率。序列号越大,生成的伪随机数的值较大的概率也就越大。可选地,网络设备可以根据序列号计算影响因子,并将影响因子作为伪随机算法的输入,得到目标报文对应的伪随机数。
网络设备可以比较伪随机数与目标颜色对应的目标阈值的大小。如果伪随机数大于或等于目标阈值,网络设备可以将目标报文加入丢弃报文子集合。这样,由于伪随机数的值较大的概率随着序列号的增大而增大,伪随机数大于或等于目标阈值的概率也会随着序列号的增大而增大。由于目标报文的序列号表示目标报文在音视频数据帧或报文子集合中的顺序,目标报文的序列号越大说明网络设备接收目标报文的时间越晚。那么,根据伪随机数丢弃目标报文实际上相当于根据网络设备接收报文的时间丢弃目标报文。网络设备接收报文的时间越早,该报文被丢弃的概率越低。如此,可以降低早起进入网络设备的报文的丢包率。
在本申请实施例提供的方法中,网络设备可以在丢弃需要丢弃报文时从目标队列已缓存的报文和待入队的报文中确定至少两个报文作为丢弃报文集合。这样,当网络设备处于拥塞状态时,每有一个新的待入队报文,网络设备都可以丢弃至少两个报文,使得目标队列中缓存的报文数量能够快速减少,从而使得目标队列能够快速恢复为低负载状态,降低报文被调度前的等待时间,降低报文传输的时延。
另外,网络设备可以按照报文的颜色信息确定丢弃报文集合,相当于根据报文的重要程度判断报文是否需要丢弃。报文的重要程度越高,网络设备遍历该报文的颜色信息对应的报文子集合的顺序越靠后,该报文被丢弃的概率也就越低。另外,对于音视频数据流,网络设备可以先丢弃音视频帧中可以丢弃的冗余报文。如此,可以在缓解网络拥塞的前提下,尽可能少地对音视频数据流产生影响。
上面介绍了本申请实施例提供的报文处理方法。下面结合具体图6做进一步说明。
假设网络设备具有队列A(相当于上文目标队列),该队列A可以接收来自其它网络设备的报文。这些报文可以包括音视频数据流的报文,也可以包括非音视频数据流的报文。其中,报文的颜色信息包括红色、黄色和绿色。其中红色报文的重要程度最低,黄色报文的重要程度次之,绿色报文的重要程度最高。那么,当网络设备当网络设备接收到第一报文时,网络设备可以按照图6所示的方法对报文进行处理。具体地,网络设备可以执行以下步骤:
S610:接收第一报文。
在网络设备接收到第一报文时,网络设备可以获取第一报文集合中每个报文的报文信息。其中,第一报文可以是网络设备的上一条设备。可选地,第一报文可以是音视频数据流的报文或非音视频数据流的报文。第一报文的报文信息可以包括颜色信息。
关于第一报文集合和报文信息等特征的描述可以参见上文,这里不再赘述。
S620:判断第一队列利用率是否大于或等于第一阈值,若是,则执行S630,若否,则执行S692。
网络设备可以计算队列A的第一队列利用率,并比较第一队列利用率和第一阈值的大小。如果第一队列利用率大于或等于第一阈值,网络设备可以继续执行S630。如果第一队列利用率小于第一阈值,网络设备可以执行S692,从而在不丢弃报文的情况下将第一报文加入队列A。
关于第一队列利用率等特征的描述可以参见上文,这里不再赘述。
S630:判断第一报文的颜色信息对应的计数器是否大于或等于第二阈值,若是,则执行S640,若否,则执行S692。
如果第一队列利用率大于第一阈值,网络设备可以将第一报文的颜色信息对应的计数器的值加1,并判断该计数器的值是否大于第二阈值。如果计数器的值是否大于第二阈值,网络设备可以继续执行S640。如果计数器的值是否大于第二阈值,网络设备可以执行S692,从而在不丢弃报文的情况下将第一报文加入队列A。
关于计数器等特征的描述可以参见上文,这里不再赘述。
S640:从音视频数据帧中确定待丢弃报文。
由于网络设备中缓存有音频数据,缓存设备可以先从音频数据帧的冗余报文中确定待丢弃报文。其中,待丢弃报文是需要丢弃的报文,相当于上文“丢弃报文集合”或“丢弃报文子集合”中的报文。
具体地,网络设备可以执行图7所示的方法,包括:
S641:根据颜色信息整理第一报文集合。
在从音频数据帧的冗余报文中确定待丢弃报文时,网络设备可以先根据颜色信息整理第一报文集合。例如,网络设备可以将第一报文集合中全部属于音视频数据帧的冗余报文根据颜色信息分为红色冗余报文子集合、黄色冗余报文子集合和绿色冗余报文子集合。
S642:将红色确定为目标颜色。
在遍历冗余报文子集合前,网络设备可以先将红色确定为目标颜色,即从红色冗余报文子集合开始遍历。
S643:遍历目标颜色的冗余报文子集合,并确定待丢弃报文。
网络设备可以遍历目标颜色的冗余报文子集合,并从目标颜色的冗余报文子集合中确定待丢弃报文。例如可以根据冗余报文的包序号和最大冗余丢弃比例从冗余报文子集合中确定待丢弃报文。具体地确定方法可以参见上文介绍,这里不再赘述。
在网络设备第一次执行S643时,目标颜色为红色,网络设备从红色冗余报文子集合中确定待丢弃报文;在网络设备第二次执行S643时,目标颜色为黄色,网络设备从黄色冗余报文子集合中确定待丢弃报文;在网络设备第三次执行S643时,目标颜色为绿色,网络设备从绿色冗余报文子集合中确定待丢弃报文。
S644:将目标颜色确定为已遍历颜色。
在遍历完目标颜色的冗余报文子集合后,网络设备可以将目标颜色确定为已遍历颜色。
S645:判断是否存在未遍历的颜色,若存在,则执行S646,若否,则执行S650。
网络设备可以判断是否存在未遍历的颜色,即判断红色、黄色和绿色三种颜色对应的冗余报文子集合是否已经全部遍历。如果网络设备已经遍历完每种颜色对应的冗余报文子集合,网络设备可以执行S650。如果网络设备未遍历完每种颜色对应的冗余报文子集合,网络设备可以执行步骤S647。
S646:将重要性高于目标颜色,且在未遍历的颜色中重要性最低颜色确定为目标颜色,返回执行S643。
网络设备可以将重要性仅高于目标颜色的颜色确定为新的目标颜色。例如,假设目标颜色为红色,那么网络设备可以将黄色确定为新的目标颜色。在确定新的目标颜色后,网络设备可以返回执行S643,从而遍历下一个颜色对应的冗余报文子集合。
S650:判断第二队列利用率是否大于或等于第三阈值,若是,则执行S660,若否,则执行S692。
在从音频数据帧的冗余报文中确定待丢弃报文后,网络设备可以计算队列A的第二队列利用率,并判断第二队列利用率是否大于第三阈值。如果第二队列利用率大于或等于第三阈值,网络设备可以继续执行S660。如果第二队列利用率小于第三阈值,说明队列A的拥塞状况已经得到了缓解,网络设备可以执行S670,无需再从第一报文集合中确定待丢弃报文。
关于第二队列利用率等特征的描述可以参见上文,这里不再赘述。
S660:从第一报文集合中确定待丢弃报文。
如果第二队列利用率不小于第三阈值,说明网络设备在丢弃音视频数据帧的冗余报文后仍然处于网络拥塞状态。那么网络设备可以从第一报文集合中确定待丢弃报文。
具体地,网络设备可以执行图8所示的方法,包括:
S661:根据颜色信息整理第一报文集合。
在从第一报文集合中确定待丢弃报文时,网络设备可以先根据颜色信息整理第一报文集合。例如,网络设备可以将第一报文集合中所有报文根据颜色信息分为红色报文子集合、黄色报文子集合和绿色报文子集合。
S662:将红色确定为目标颜色。
在遍历报文子集合前,网络设备可以先将红色确定为目标颜色,即从红色冗余报文子集合开始遍历。
S663:遍历目标颜色的报文子集合,并确定待丢弃报文。
网络设备可以遍历目标颜色的报文子集合,并从目标颜色的报文子集合中确定待丢弃报文。例如可以根据报文的包序号确定待丢弃报文。具体地确定方法可以参见上文介绍,这里不再赘述。
在网络设备第一次执行S663时,目标颜色为红色,网络设备从红色报文子集合中确定待丢弃报文;在网络设备第二次执行S663时(若存在),目标颜色为黄色,网络设备从黄色报文子集合中确定待丢弃报文;在网络设备第三次执行S663时(若存在),目标颜色为绿色,网络设备从绿色报文子集合中确定待丢弃报文。
S664:将目标颜色确定为已遍历颜色。
关于S664的描述可以参见S644,这里不再赘述。
S665:判断是否存在未遍历的颜色,若存在,则执行S667,若否,则执行S670。
关于S665的描述可以参见S645,这里不再赘述。
S666;判断第二队列利用率是否大于或等于第三阈值,若是,则执行S667,若否,则执行S670。
关于S666的描述可以参见S650,这里不再赘述。
需要说明的是,在图8所示实施例中,终端设备先执行S665后执行步骤S666。可选地,在一些其他的实现方式汇总,终端设备还可以先执行S666后执行S665,本申请实施例对此不作限定。
S667:将重要性仅次于目标颜色的颜色确定为目标颜色,并返回执行S663。
关于S667的描述可以参见S646,这里不再赘述。
可见,在本申请实施例中,网络设备可以优先丢弃重要性较低的目标颜色的报文。如果丢弃报文后网络设备的拥塞状况得到了缓解,网络设备停止继续丢弃报文。如果丢弃报文仍然不能缓解网络设备的拥塞状况,网络设备再继续丢弃其他颜色的报文。
S670:丢弃待丢弃报文。
在确定待丢弃报文后,网络设备可以丢弃待丢弃报文。根据前文论述可知,该待丢弃报文至少包括两个报文。
在步骤S670执行结束后,网络设备的网络拥塞已经缓解。或,网络设备已将第一报文集合中能够丢弃的报文全部丢弃,第一报文集合中剩余的报文无法丢弃。那么,网络设备可以停止丢弃已缓存的报文,执行后续步骤。即使网络设备仍然处于网络拥塞状况,为了不影响数据的正常传输,网络设备不继续丢弃报文。
S680:判断第三队列利用率是否大于或等于第五阈值,若是,则执行S691,若否,则执行S692。
在丢弃待丢弃报文后,网络设备可以计算队列A的第三队列利用率,并判断第二队列利用率是否大于第五阈值。如果第三队列利用率大于或等于第五阈值,说明网络设备的拥塞状况仍为缓解,网络设备可以执行S691,丢弃第一报文。如果第三队列利用率小于第五阈值,说明队列A的拥塞状况已经得到了缓解,网络设备可以执行S692,将第一报文入队。
关于第三队列利用率等特征的描述可以参见步骤S503,这里不再赘述。
可选地,网络设备还可以比较第三队列利用率与第一阈值的大小,从而清零第一报文对应的颜色的计数器。具体过程可以参见步骤S503,这里不再赘述。
S691:丢弃第一报文。
S692:将第一报文加入队列A。
可见,在执行本申请实施例提供的报文处理方法时,每有一条报文等待进入第一队列,网络设备就从目标队列已缓存的报文和待入队的报文中丢弃至少两个报文。如此,可以快速减少队列中缓存的报文的数量,使得队列能够快速恢复为低负载状态,降低报文被调度前的等待时间,降低报文传输的时延。。
另外,网络设备优先丢弃音视频数据帧中的冗余报文,再根据报文的颜色信息进行丢弃。先丢弃重要程度较低的报文,再丢弃重要程度较高的报文。如此,可以在保证对数据正常传输影响最小的前提下,尽可能地缓解网络拥塞。
参见图9,本申请实施例还提供了一种服务质量检测装置900,该服务质量检测装置900可以实现图2所示实施例中第一设备的功能。该服务质量检测装置900包括处理单元901和发送单元902。其中,处理单元901用于实现图2所示实施例中的步骤S201和步骤S204,发送单元902用于实现图2所示实施例中的步骤S202和步骤S205。
具体地,处理单元902,用于生成数据流,所述数据流的报文包括标识信息和第一指示信息,所述第一指示信息用于指示传输所述数据流的设备根据所述标识信息对所述数据流的服务质量QoS进行检测,得到所述数据流的QoS信息;所述第一设备为第一终端设备或第一服务器,所述传输所述数据流的设备包括第一网络设备。
发送单元902,用于向所述第一网络设备发送所述数据流。
具体执行过程请参考上述图2所示实施例中相应步骤的详细描述,这里不再一一赘述。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,处理单元和发送单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
参见图10,本申请实施例还提供了一种服务质量检测装置1000,该服务质量检测装置1000可以实现图2所示实施例中第一网络设备的功能。该服务质量检测装置900包括接收单元1001和处理单元1002。其中,接收单元1001用于接收第一设备发送的数据流和第一报文,处理单元1002用于实现图2所示实施例中的步骤S203和步骤S206。
具体地,接收单元1002,用于接收来自第一设备的数据流,所述数据流的报文包括标识信息和第一指示信息,所述第一设备为终端设备或服务器。
处理单元1002,用于基于所述第一指示信息的指示根据所述标识信息对所述数据流的服务质量QoS进行检测,得到所述数据流的第二QoS信息。
具体执行过程请参考上述图2所示实施例中相应步骤的详细描述,这里不再一一赘述。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,接收单元和处理单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
参见图11,本申请实施例还提供了一种报文处理装置1100,该报文处理装置1100可以实现图5所示实施例中网络设备的功能。该报文处理装置1100包括获取单元1101、确定单元1102和丢弃单元1103。其中,获取单元1101用于实现图5所示实施例中的步骤S501,确定单元1102用于实现图5所示实施例中的步骤S502,丢弃单元1103用于实现图2所示实施例中的步骤S503。
具体地,获取单元1101,用于获取第一报文集合中每个报文的报文信息,所述第一报文集合包括目标队列的已缓存报文和所述目标队列的待入队报文。
确定单元1102,用于根据所述报文信息从所述第一报文集合中确定丢弃报文集合,所述丢弃报文集合包括至少两个报文。
丢弃单元1103,用于丢弃所述第一报文集合中的所述丢弃报文集合。
具体执行过程请参考上述图6所示实施例中相应步骤的详细描述,这里不再一一赘述。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。例如,上述实施例中,获取单元、确定单元和丢弃单元可以是同一个单元,也不同的单元。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
图12是本申请实施例提供的一种设备1200的结构示意图。上文中的服务质量检测装置900、服务质量检测装置1000或报文处理装置1100可以通过位于图12所示的设备来实现。参见图12,该设备1200包括至少一个处理器芯片1201和至少一个存储器1202。可选地,该设备1200还可以包括通信总线1203以及至少一个网络接口1204。
处理器芯片1201可以是一个通用中央处理器(central processing unit,CPU)、特定应用集成电路(application-specific integrated circuit,ASIC)或一个或多个用于控制本申请方案程序执行的集成电路(integrated circuit,IC)。该处理器芯片1201可以用于实现本申请实施例中提供的任务处理方法。
比如,当图2中的第一设备通过图12所示的设备来实现时,该处理器可以用于生成数据流,所述数据流的报文包括标识信息和第一指示信息,所述第一指示信息用于指示传输所述数据流的设备根据所述标识信息对所述数据流的服务质量QoS进行检测,得到所述数据流的QoS信息;所述传输所述数据流的设备包括第一网络设备;向所述第一网络设备发送所述数据流。
存储器1202可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,存储器1202还可以是随机存取存储器(random accessmemory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是只读光盘(compact disc read-only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1202可以是独立存在,通过通信总线1203与处理器1201相连接。存储器1202也可以和处理器1201集成在一起。可选地,存储器1202可以包括缓存。
可选地,存储器1202用于存储执行本申请方案的程序代码或指令,并由处理器1201来控制执行。处理器1201用于执行存储器1202中存储的程序代码或指令。程序代码中可以包括一个或多个软件模块。可选地,处理器1201也可以存储执行本申请方案的程序代码或指令,在这种情况下处理器1201不需要到存储器1202中读取程序代码或指令。
可选地,存储器1202可以用于实现图2所示的设备中存储器200的作用。
通信总线1203用于在处理器芯片1201、网络接口1204和存储器1202之间传送信息。
网络接口1204可以为收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。在本申请实施例中,网络接口1204可以用于接收分段路由网络中的其他节点发送的报文,也可以向分段路由网络中的其他节点发送报文。网络接口1204可以为以太接口(ethernet)接口、快速以太(fast ethernet,FE)接口或千兆以太(gigabit ethernet,GE)接口等。
在具体实现中,作为一种实施例,设备1200可以包括多个处理器芯片,例如图12中所示的处理器芯片1201和处理器芯片1205。这些处理器芯片中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。可选地,图2所示的服务质量检测方法或图5所示的报文处理方法中不同步骤可以由不同的处理器芯片执行。这里的处理器芯片可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
图13是本申请实施例提供的一种设备1300的结构示意图。图2中的第一设备、第一网络设备或图5中的网络设备可以通过图13所示的设备来实现。参见图13所示的设备结构示意图,设备1300包括主控板和一个或多个接口板。主控板与接口板通信连接。主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(route processor card),主控板包括CPU和存储器,主控板负责对设备1300中各个组件的控制和管理,包括路由计算、设备管理和维护功能。接口板也称为线处理单元(line processing unit,LPU)或线卡(linecard),用于接收和发送报文。在一些实施例中,主控板与接口板之间或接口板与接口板之间通过总线通信。在一些实施例中,接口板之间通过交换网板通信,在这种情况下设备1300也包括交换网板,交换网板与主控板、接口板通信连接,交换网板用于转发接口板之间的数据,交换网板也可以称为交换网板单元(switch fabric unit,SFU)。接口板包括CPU、存储器、转发引擎和接口卡(interface card,IC),其中接口卡可以包括一个或多个网络接口。网络接口可以为Ethernet接口、FE接口或GE接口等。CPU与存储器、转发引擎和接口卡分别通信连接。存储器用于存储转发表。转发引擎用于基于存储器中保存的转发表转发接收到的报文,如果接收到的报文的目的地址为设备1300的IP地址,则将该报文发送给主控板或接口板的CPU进行处理;如果接收到的报文的目的地址不是设备1300的IP地址,则根据该目的地查转发表,如果从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。转发引擎可以是网络处理器(network processor,NP)。接口卡也称为子卡,可安装在接口板上,负责将光电信号转换为数据帧,并对数据帧进行合法性检查后转发给转发引擎处理或接口板CPU。在一些实施例中,CPU也可执行转发引擎的功能,比如基于通用CPU实现软转发,从而接口板中不需要转发引擎。在一些实施例中,转发引擎可以通过ASIC或现场可编程门阵列(field programmable gate array,FPGA)实现。在一些实施例中,存储转发表的存储器也可以集成到转发引擎中,作为转发引擎的一部分。
可选地,该芯片系统中的处理器可以为一个或多个。该处理器可以通过硬件实现也可以通过软件实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等。当通过软件实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现。可选地,该芯片系统中的存储器也可以为一个或多个。该存储器可以与处理器集成在一起,也可以和处理器分离设置,本申请并不限定。示例性的,存储器可以是非瞬时性处理器,例如只读存储器ROM,其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型,以及存储器与处理器的设置方式不作具体限定。
示例性的,该芯片系统可以是FPGA,可以是ASIC,还可以是系统芯片(system onchip,SoC),还可以是CPU,还可以是NP,还可以是数字信号处理电路(digital signalprocessor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)或其他集成芯片。
应理解,上述方法实施例中的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行以上方法实施例提供的由第一设备执行的服务质量检测方法、以上方法实施例提供的由第一网络设备执行的服务质量检测方法,以上方法实施例提供的由网络设备执行的报文处理方法中的任意一种或多种。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行以上方法实施例提供的由第一设备执行的服务质量检测方法、以上方法实施例提供的由第一网络设备执行的服务质量检测方法,以上方法实施例提供的由网络设备执行的报文处理方法中的任意一种或多种。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (65)
1.一种服务质量检测方法,其特征在于,所述方法包括:
第一设备生成数据流,所述数据流的报文包括标识信息和第一指示信息,所述第一指示信息用于指示传输所述数据流的设备根据所述标识信息对所述数据流的服务质量QoS进行检测,得到所述数据流的QoS信息;所述第一设备为第一终端设备或第一服务器,所述传输所述数据流的设备包括第一网络设备,所述标识信息用于标识所述数据流;
所述第一设备向所述第一网络设备发送所述数据流;
所述第一设备生成第一报文,所述第一报文包括第二指示信息,所述第二指示信息用于指示所述传输所述数据流的设备将所述数据流的QoS信息添加到所述第一报文中;
所述第一设备向所述第一网络设备发送所述第一报文。
2.根据权利要求1所述的方法,其特征在于,所述传输所述数据流的设备还包括所述第一设备,所述数据流的QoS信息包括第一QoS信息,所述方法还包括:
所述第一设备根据所述标识信息和所述第一指示信息对所述数据流的QoS进行检测,得到所述第一QoS信息;
所述第一设备在所述第一报文中添加所述第一QoS信息。
3.根据权利要求1或2所述的方法,其特征在于,所述第二指示信息还用于指示所述传输所述数据流的设备在所述第一报文中添加所述设备的设备标识。
4.根据权利要求1或2所述的方法,其特征在于,所述第一指示信息携带在传输层扩展头中,所述传输层扩展头为携带传输层信息的扩展头。
5.根据权利要求4所述的方法,其特征在于,所述传输层扩展头包括实时传输协议RTP扩展头。
6.根据权利要求1或2所述的方法,其特征在于,所述标识信息至少包括以下其中一项:
应用程序的标识、业务实例的标识、流标识和帧标识。
7.根据权利要求1或2所述的方法,其特征在于,所述数据流的报文还包括颜色信息,所述颜色信息用于指示在所述第一网络设备处于拥塞状况下所述报文被丢弃的比例。
8.根据权利要求1或2所述的方法,其特征在于,所述QoS信息至少包括以下其中一项:
所述第一网络设备接收所述报文的时间、所述第一网络设备发送所述报文的时间、所述第一网络设备在预设时间段发送的所述数据流的报文的字节总数、所述第一网络设备在所述预设时间段发送的所述数据流的报文的数目、所述第一网络设备在所述预设时间段丢弃所述数据流的报文的数目、所述第一网络设备在所述预设时间段丢弃的所述数据流的报文的字节数目。
9.根据权利要求1或2所述的方法,其特征在于,所述传输所述数据流的设备还包括第二设备,所述第二设备为第二终端设备或第二服务器。
10.根据权利要求9所述的方法,其特征在于,当所述传输所述数据流的设备还包括所述第二服务器时,所述QoS信息包括所述数据流的体验质量QoE信息。
11.一种服务质量检测方法,其特征在于,所述方法包括:
第一网络设备接收来自第一设备的数据流,所述数据流的报文包括标识信息和第一指示信息,所述第一设备为终端设备或服务器,所述标识信息用于标识所述数据流;
所述第一网络设备基于所述第一指示信息的指示根据所述标识信息对所述数据流的服务质量QoS进行检测,得到所述数据流的第二QoS信息;
所述第一网络设备接收来自所述第一设备的第一报文,所述第一报文包括第二指示信息;
所述第一网络设备基于所述第二指示信息的指示将所述数据流的第二QoS信息添加到所述第一报文中;
所述第一网络设备向目的设备发送所述第一报文,所述目的设备为所述数据流的目的设备。
12.根据权利要求11所述的方法,其特征在于,在所述第一网络设备向目的设备发送所述第一报文之前,所述方法还包括:
所述第一网络设备基于所述第二指示信息的指示将所述第一网络设备的标识添加到所述第一报文中。
13.根据权利要求11或12所述的方法,其特征在于,所述指示信息携带在传输层扩展头中,所述传输层扩展头为携带传输层信息的扩展头。
14.根据权利要求13所述的方法,其特征在于,所述传输层扩展头包括实时传输协议RTP扩展头。
15.根据权利要求11或12所述的方法,其特征在于,所述标识信息至少包括以下其中一项:
应用程序的标识、业务实例的标识、流标识和帧标识。
16.根据权利要求11或12所述的方法,其特征在于,所述第一报文还包括第一QoS信息,所述第一QoS信息为所述第一设备对所述数据流进行QoS进行检测得到的QoS信息。
17.根据权利要求11或12所述的方法,其特征在于,所述第一报文还包括所述第一设备的标识。
18.根据权利要求11或12所述的方法,其特征在于,所述第二QoS信息至少包括以下其中一项:
所述第一网络设备接收所述报文的时间、所述第一网络设备发送所述报文的时间、所述第一网络设备在预设时间段发送的所述数据流的报文的字节总数、所述第一网络设备在所述预设时间段发送的所述数据流的报文的数目、所述第一网络设备在所述预设时间段丢弃所述数据流的报文的数目、所述第一网络设备在所述预设时间段丢弃的所述数据流的报文的字节数目。
19.一种报文处理方法,其特征在于,所述方法包括:
网络设备获取第一报文集合中每个报文的报文信息,所述第一报文集合包括目标队列的已缓存报文和所述目标队列的待入队报文,所述报文信息包括报文的颜色信息,所述报文的颜色信息表示报文的重要程度;
若确定所述目标队列发生拥塞或存在拥塞风险,则所述网络设备根据所述报文信息从所述第一报文集合中确定丢弃报文集合,所述丢弃报文集合包括至少两个报文,所述丢弃报文集合包括所述第一报文集合中的冗余报文和/或重要程度较低的报文;
所述网络设备丢弃所述第一报文集合中的所述丢弃报文集合。
20.根据权利要求19所述的方法,其特征在于,所述网络设备根据所述报文信息从所述第一报文集合中确定丢弃报文集合包括:
所述网络设备获取所述目标队列的第一队列利用率,所述第一队列利用率为所述目标队列的已缓存报文的报文量与所述目标队列的最大报文量的比值;
响应于所述目标队列的第一队列利用率大于或等于第一阈值,所述网络设备根据所述报文信息从所述第一报文集合中确定丢弃报文集合。
21.根据权利要求20所述的方法,其特征在于,所述响应于所述目标队列的第一队列利用率大于或等于第一阈值,所述网络设备根据所述报文信息从所述第一报文集合中确定丢弃报文集合包括:
响应于所述目标队列的第一队列利用率大于或等于第一阈值,所述网络设备将与所述待入队报文的颜色信息对应的计数器的值加1;
响应于所述计数器的值等于第二阈值,所述网络设备根据所述报文信息从所述第一报文集合中确定丢弃报文集合。
22.根据权利要求19-21任一项所述的方法,其特征在于,所述第一报文集合包括至少一个音视频帧的报文;
所述网络设备根据所述报文信息从所述第一报文集合中确定丢弃报文集合包括:
所述网络设备根据冗余标识从所述至少一个音视频帧的报文中确定冗余报文集合,所述冗余报文集合为至少一个冗余报文的集合,所述冗余报文为携带有所述冗余标识的报文;
所述网络设备将所述冗余报文集合中的一个或多个冗余报文确定为丢弃报文集合。
23.根据权利要求22所述的方法,其特征在于,所述网络设备将所述冗余报文集合中的一个或多个冗余报文确定为丢弃报文集合包括:
所述网络设备根据所述冗余报文集合中每个冗余报文的包序号,将所述冗余报文集合中的一个或多个冗余报文确定为丢弃报文集合。
24.根据权利要求22所述的方法,其特征在于,所述报文信息包括颜色信息,每个报文对应红、黄、绿三种颜色中的其中一种颜色,每种颜色对应至少一个音视频帧的报文;
所述网络设备根据冗余标识从所述至少一个音视频帧的报文中确定冗余报文集合包括:
所述网络设备遍历每种颜色对应的至少一个音视频帧的报文,根据冗余标识从所述至少一个音视频帧的报文中确定每种颜色对应的冗余报文子集合;
所述网络设备将所述冗余报文集合中的一个或多个冗余报文确定为丢弃报文集合包括:
所述网络设备将一个或多个所述冗余报文子集合中的一个或多个冗余报文确定为丢弃报文集合。
25.根据权利要求19-21任一项所述的方法,其特征在于,所述报文信息包括颜色信息,每个报文对应红、黄、绿三种颜色中的其中一种颜色;
所述网络设备根据所述报文信息从所述第一报文集合中确定丢弃报文集合,所述网络设备丢弃所述第一报文集合中的所述丢弃报文集合包括:
所述网络设备遍历所述第一报文集合中所述三种颜色对应的报文,将所述三种颜色中的第一颜色作为目标颜色,执行如下步骤,直到所述目标队列的第二队列利用率小于或等于第三阈值或所述三种颜色的报文均遍历完成:
所述网络设备从所述第一报文集合的与所述目标颜色对应的报文子集合中确定丢弃报文子集合;
所述网络设备从所述第一报文集合中丢弃所述丢弃报文子集合,得到第二报文集合,所述第二队列利用率为所述第二报文集合的报文量与所述目标队列的最大报文量的比值。
26.根据权利要求25所述的方法,其特征在于,所述网络设备从所述第一报文集合的与目标颜色对应的报文子集合中确定丢弃报文子集合包括:
所述网络设备遍历所述第一报文集合的与所述目标颜色对应的报文子集合的报文,将所述报文子集合中的第一报文作为目标报文执行如下步骤,直到遍历完成所述报文子集合中的所有报文,得到所述丢弃报文子集合:
所述网络设备获取所述目标报文的序列号;
所述网络设备根据伪随机算法确定与所述目标报文的序列号对应的伪随机数,所述目标报文的序列号越大,所述伪随机数大于或等于所述目标颜色对应的目标阈值的概率越大;
响应于所述伪随机数大于或等于与所述目标阈值,所述网络设备将所述目标报文加入所述丢弃报文子集合。
27.根据权利要求26所述的方法,其特征在于,所述目标颜色对应的报文子集合属于至少一个音视频帧;
所述网络设备遍历所述第一报文集合的与所述目标颜色对应的报文子集合的报文包括:
所述网络设备遍历所述第一报文集合的与所述目标颜色的至少一个音视频帧对应的报文子集合的报文。
28.根据权利要求27所述的方法,其特征在于,在所述网络设备遍历所述第一报文集合的与所述目标颜色的至少一个音视频帧对应的报文子集合的报文之前,所述网络设备从所述第一报文集合的与目标颜色对应的报文子集合中确定丢弃报文子集合还包括:
所述网络设备遍历所述至少一个音视频帧,将所述至少一个音视频帧的其中一个音视频帧作为目标音视频帧执行以下步骤,直到遍历完所述目标颜色的所有音视频帧:
所述网络设备确定与所述目标音视频帧对应的报文转发率,所述报文转发率为所述目标音视频帧的已发送报文数目与所述目标音视频帧的报文总数的比值;
响应于所述报文转发率大于或等于第四阈值,所述网络设备将所述至少一个音视频帧中未被遍历的其中一个音视频帧作为所述目标音视频帧;
响应于所述报文转发率小于所述第四阈值,所述网络设备执行遍历所述第一报文集合的与所述目标颜色的至少一个音视频帧对应的报文子集合的报文的步骤。
29.根据权利要求21所述的方法,其特征在于,在所述网络设备丢弃所述第一报文集合中的所述丢弃报文集合之后,所述方法还包括:
所述网络设备获取所述目标队列的第三队列利用率,所述第三队列利用率为第三报文集合的报文量与所述目标队列的最大报文量的比值,所述第三报文集合为所述第一报文集合丢弃所述丢弃报文集合之后的报文集合;
响应于所述第三队列利用率大于或等于第五阈值,且所述丢弃报文集合不包括所述待入队报文,所述网络设备丢弃所述待入队报文,所述第五阈值大于所述第一阈值;
响应于所述第三队列利用率小于所述第五阈值,且所述丢弃报文集合不包括所述待入队报文,所述网络设备将所述待入队报文入队。
30.根据权利要求29所述的方法,其特征在于,所述方法还包括:
响应于所述第三队列利用率小于所述第一阈值,所述网络设备将所述计数器的值置为0。
31.一种服务质量检测装置,其特征在于,所述装置应用于第一设备,包括:
处理单元,用于生成数据流,所述数据流的报文包括标识信息和第一指示信息,所述第一指示信息用于指示传输所述数据流的设备根据所述标识信息对所述数据流的服务质量QoS进行检测,得到所述数据流的QoS信息;所述第一设备为第一终端设备或第一服务器,所述传输所述数据流的设备包括第一网络设备,所述标识信息用于标识所述数据流;
发送单元,用于向所述第一网络设备发送所述数据流;
所述处理单元,用于生成第一报文,所述第一报文包括第二指示信息,所述第二指示信息用于指示所述传输所述数据流的设备将所述数据流的QoS信息添加到所述第一报文中;
所述发送单元,用于向所述第一网络设备发送所述第一报文。
32.根据权利要求31所述的装置,其特征在于,所述传输所述数据流的设备还包括所述第一设备,所述数据流的QoS信息包括第一QoS信息;
所述处理单元,用于根据所述标识信息和所述第一指示信息对所述数据流的QoS进行检测,得到所述第一QoS信息;在所述第一报文中添加所述第一QoS信息。
33.根据权利要求31或32所述的装置,其特征在于,所述第二指示信息还用于指示所述传输所述数据流的设备在所述第一报文中添加所述设备的设备标识。
34.根据权利要求31或32所述的装置,其特征在于,所述第一指示信息携带在传输层扩展头中,所述传输层扩展头为携带传输层信息的扩展头。
35.根据权利要求34所述的装置,其特征在于,所述传输层扩展头包括实时传输协议RTP扩展头。
36.根据权利要求31或32所述的装置,其特征在于,所述标识信息至少包括以下其中一项:
应用程序的标识、业务实例的标识、流标识和帧标识。
37.根据权利要求31或32所述的装置,其特征在于,所述数据流的报文还包括颜色信息,所述颜色信息用于指示在所述第一网络设备处于拥塞状况下所述报文被丢弃的比例。
38.根据权利要求31或32所述的装置,其特征在于,所述QoS信息至少包括以下其中一项:
所述第一网络设备接收所述报文的时间、所述第一网络设备发送所述报文的时间、所述第一网络设备在预设时间段发送的所述数据流的报文的字节总数、所述第一网络设备在所述预设时间段发送的所述数据流的报文的数目、所述第一网络设备在所述预设时间段丢弃所述数据流的报文的数目、所述第一网络设备在所述预设时间段丢弃的所述数据流的报文的字节数目。
39.根据权利要求31或32所述的装置,其特征在于,所述传输所述数据流的设备还包括第二设备,所述第二设备为第二终端设备或第二服务器。
40.根据权利要求39所述的装置,其特征在于,当所述传输所述数据流的设备还包括所述第二服务器时,所述QoS信息包括所述数据流的体验质量QoE信息。
41.一种服务质量检测装置,其特征在于,所述装置应用于第一网络设备,包括:
接收单元,用于接收来自第一设备的数据流,所述数据流的报文包括标识信息和第一指示信息,所述第一设备为终端设备或服务器,所述标识信息用于标识所述数据流;
处理单元,用于基于所述第一指示信息的指示根据所述标识信息对所述数据流的服务质量QoS进行检测,得到所述数据流的第二QoS信息;
所述接收单元,用于接收来自所述第一设备的第一报文,所述第一报文包括第二指示信息;
所述处理单元,用于基于所述第二指示信息的指示将所述数据流的第二QoS信息添加到所述第一报文中;向目的设备发送所述第一报文,所述目的设备为所述数据流的目的设备。
42.根据权利要求41所述的装置,其特征在于,
所述处理单元,还用于在向目的设备发送所述第一报文之前,基于所述第二指示信息的指示将所述第一网络设备的标识添加到所述第一报文中。
43.根据权利要求41或42所述的装置,其特征在于,所述指示信息携带在传输层扩展头中,所述传输层扩展头为携带传输层信息的扩展头。
44.根据权利要求43所述的装置,其特征在于,所述传输层扩展头包括实时传输协议RTP扩展头。
45.根据权利要求41或42所述的装置,其特征在于,所述标识信息至少包括以下其中一项:
应用程序的标识、业务实例的标识、流标识和帧标识。
46.根据权利要求41或42所述的装置,其特征在于,所述第一报文还包括第一QoS信息,所述第一QoS信息为所述第一设备对所述数据流进行QoS进行检测得到的QoS信息。
47.根据权利要求41或42所述的装置,其特征在于,所述第一报文还包括所述第一设备的标识。
48.根据权利要求41或42所述的装置,其特征在于,所述第二QoS信息至少包括以下其中一项:
所述第一网络设备接收所述报文的时间、所述第一网络设备发送所述报文的时间、所述第一网络设备在预设时间段发送的所述数据流的报文的字节总数、所述第一网络设备在所述预设时间段发送的所述数据流的报文的数目、所述第一网络设备在所述预设时间段丢弃所述数据流的报文的数目、所述第一网络设备在所述预设时间段丢弃的所述数据流的报文的字节数目。
49.一种报文处理装置,其特征在于,所述装置应用于网络设备,包括:
获取单元,用于获取第一报文集合中每个报文的报文信息,所述第一报文集合包括目标队列的已缓存报文和所述目标队列的待入队报文,所述报文信息包括报文的颜色信息,所述报文的颜色信息表示报文的重要程度;
确定单元,用于若确定所述目标队列发生拥塞或存在拥塞风险,则根据所述报文信息从所述第一报文集合中确定丢弃报文集合,所述丢弃报文集合包括至少两个报文,所述丢弃报文集合包括所述第一报文集合中的冗余报文和/或重要程度较低的报文;
丢弃单元,用于丢弃所述第一报文集合中的所述丢弃报文集合。
50.根据权利要求49所述的装置,其特征在于,
所述确定单元,用于获取所述目标队列的第一队列利用率,所述第一队列利用率为所述目标队列的已缓存报文的报文量与所述目标队列的最大报文量的比值;响应于所述目标队列的第一队列利用率大于或等于第一阈值,根据所述报文信息从所述第一报文集合中确定丢弃报文集合。
51.根据权利要求50所述的装置,其特征在于,
所述确定单元,用于响应于所述目标队列的第一队列利用率大于或等于第一阈值,将与所述待入队报文的颜色信息对应的计数器的值加1;响应于所述计数器的值等于第二阈值,根据所述报文信息从所述第一报文集合中确定丢弃报文集合。
52.根据权利要求49-51任一项所述的装置,其特征在于,所述第一报文集合包括至少一个音视频帧的报文;
所述确定单元,用于根据冗余标识从所述至少一个音视频帧的报文中确定冗余报文集合,所述冗余报文集合为至少一个冗余报文的集合,所述冗余报文为携带有所述冗余标识的报文;将所述冗余报文集合中的一个或多个冗余报文确定为丢弃报文集合。
53.根据权利要求52所述的装置,其特征在于,
所述确定单元,用于根据所述冗余报文集合中每个冗余报文的包序号,将所述冗余报文集合中的一个或多个冗余报文确定为丢弃报文集合。
54.根据权利要求52所述的装置,其特征在于,所述报文信息包括颜色信息,每个报文对应红、黄、绿三种颜色中的其中一种颜色,每种颜色对应至少一个音视频帧的报文;
所述确定单元,用于遍历每种颜色对应的至少一个音视频帧的报文,根据冗余标识从所述至少一个音视频帧的报文中确定每种颜色对应的冗余报文子集合;将所述冗余报文集合中的一个或多个冗余报文确定为丢弃报文集合包括:将一个或多个所述冗余报文子集合中的一个或多个冗余报文确定为丢弃报文集合。
55.根据权利要求49-51任一项所述的装置,其特征在于,所述报文信息包括颜色信息,每个报文对应红、黄、绿三种颜色中的其中一种颜色;
所述确定单元,用于遍历所述第一报文集合中所述三种颜色对应的报文,将所述三种颜色中的第一颜色作为目标颜色,执行如下步骤,直到所述目标队列的第二队列利用率小于或等于第三阈值或所述三种颜色的报文均遍历完成:
从所述第一报文集合的与所述目标颜色对应的报文子集合中确定丢弃报文子集合;从所述第一报文集合中丢弃所述丢弃报文子集合,得到第二报文集合,所述第二队列利用率为所述第二报文集合的报文量与所述目标队列的最大报文量的比值。
56.根据权利要求55所述的装置,其特征在于,
所述确定单元,用于遍历所述第一报文集合的与所述目标颜色对应的报文子集合的报文,将所述报文子集合中的第一报文作为目标报文执行如下步骤,直到遍历完成所述报文子集合中的所有报文,得到所述丢弃报文子集合:
获取所述目标报文的序列号;根据伪随机算法确定与所述目标报文的序列号对应的伪随机数,所述目标报文的序列号越大,所述伪随机数大于或等于所述目标颜色对应的目标阈值的概率越大;响应于所述伪随机数大于或等于所述目标阈值,将所述目标报文加入所述丢弃报文子集合。
57.根据权利要求56所述的装置,其特征在于,所述目标颜色对应的报文子集合属于至少一个音视频帧;
所述确定单元,用于遍历所述第一报文集合的与所述目标颜色的至少一个音视频帧对应的报文子集合的报文。
58.根据权利要求57所述的装置,其特征在于,
所述确定单元,用于遍历所述至少一个音视频帧,将所述至少一个音视频帧的其中一个音视频帧作为目标音视频帧执行以下步骤,直到遍历完所述目标颜色的所有音视频帧:确定与所述目标音视频帧对应的报文转发率,所述报文转发率为所述目标音视频帧的已发送报文数目与所述目标音视频帧的报文总数的比值;响应于所述报文转发率大于或等于第四阈值,将所述至少一个音视频帧中未被遍历的其中一个音视频帧作为所述目标音视频帧;响应于所述报文转发率小于所述第四阈值,执行遍历所述第一报文集合的与所述目标颜色的至少一个音视频帧对应的报文子集合的报文的步骤。
59.根据权利要求51所述的装置,其特征在于,
所述确定单元,还用于获取所述目标队列的第三队列利用率,所述第三队列利用率为第三报文集合的报文量与所述目标队列的最大报文量的比值,所述第三报文集合为所述第一报文集合丢弃所述丢弃报文集合之后的报文集合;响应于所述第三队列利用率小于第五阈值,且所述丢弃报文集合不包括所述待入队报文,将所述待入队报文入队;
所述丢弃单元,用于响应于所述第三队列利用率大于或等于第五阈值,且所述丢弃报文集合不包括所述待入队报文,丢弃所述待入队报文,所述第五阈值大于所述第一阈值。
60.根据权利要求59所述的装置,其特征在于,
所述确定单元,还用于响应于所述第三队列利用率小于所述第一阈值,将所述计数器的值置为0。
61.一种第一设备,其特征在于,所述网络设备包括:至少一个处理器,所述至少一个处理器与至少一个存储器耦合:
所述至少一个处理器,用于执行所述至少一个存储器中存储的计算机程序或指令,使得所述第一设备执行如权利要求1-10任意一项所述的服务质量检测方法。
62.一种网络设备,其特征在于,所述网络设备包括:至少一个处理器,所述至少一个处理器与至少一个存储器耦合:
所述至少一个处理器,用于执行所述至少一个存储器中存储的计算机程序或指令,使得所述网络设备执行如权利要求11-18任意一项所述的服务质量检测方法。
63.一种网络设备,其特征在于,所述网络设备包括:至少一个处理器,所述至少一个处理器与至少一个存储器耦合:
所述至少一个处理器,用于执行所述至少一个存储器中存储的计算机程序或指令,使得所述网络设备执行如权利要求19-30任意一项所述的报文处理方法。
64.一种计算机可读存储介质,其特征在于,包括计算机程序,当其在计算机上运行时,使得计算机执行以上权利要求1-30任意一项所述的方法。
65.一种芯片,其特征在于,包括处理器和接口电路,
所述接口电路,用于接收指令并传输至所述处理器;
所述处理器,用于执行如权利要求1-30任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011623282.2A CN114765585B (zh) | 2020-12-30 | 2020-12-30 | 一种服务质量检测方法、报文处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011623282.2A CN114765585B (zh) | 2020-12-30 | 2020-12-30 | 一种服务质量检测方法、报文处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114765585A CN114765585A (zh) | 2022-07-19 |
CN114765585B true CN114765585B (zh) | 2024-03-01 |
Family
ID=82363191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011623282.2A Active CN114765585B (zh) | 2020-12-30 | 2020-12-30 | 一种服务质量检测方法、报文处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114765585B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107743099A (zh) * | 2017-08-31 | 2018-02-27 | 华为技术有限公司 | 数据流处理方法、装置以及存储介质 |
WO2018108093A1 (zh) * | 2016-12-13 | 2018-06-21 | 中国移动通信有限公司研究院 | 拥塞控制方法及装置和计算机存储介质 |
CN108206787A (zh) * | 2016-12-17 | 2018-06-26 | 北京华为数字技术有限公司 | 一种拥塞避免方法和装置 |
CN108989233A (zh) * | 2017-06-05 | 2018-12-11 | 华为技术有限公司 | 拥塞管理方法及装置 |
CN109560945A (zh) * | 2017-09-25 | 2019-04-02 | 华为技术有限公司 | 业务服务质量的检测方法、设备及系统 |
CN109561021A (zh) * | 2017-09-25 | 2019-04-02 | 华为技术有限公司 | 一种报文转发的方法及网络设备 |
-
2020
- 2020-12-30 CN CN202011623282.2A patent/CN114765585B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018108093A1 (zh) * | 2016-12-13 | 2018-06-21 | 中国移动通信有限公司研究院 | 拥塞控制方法及装置和计算机存储介质 |
CN108206787A (zh) * | 2016-12-17 | 2018-06-26 | 北京华为数字技术有限公司 | 一种拥塞避免方法和装置 |
CN108989233A (zh) * | 2017-06-05 | 2018-12-11 | 华为技术有限公司 | 拥塞管理方法及装置 |
CN107743099A (zh) * | 2017-08-31 | 2018-02-27 | 华为技术有限公司 | 数据流处理方法、装置以及存储介质 |
CN109560945A (zh) * | 2017-09-25 | 2019-04-02 | 华为技术有限公司 | 业务服务质量的检测方法、设备及系统 |
CN109561021A (zh) * | 2017-09-25 | 2019-04-02 | 华为技术有限公司 | 一种报文转发的方法及网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114765585A (zh) | 2022-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109412964B (zh) | 报文控制方法及网络装置 | |
US11032205B2 (en) | Flow control method and switching device | |
US8665892B2 (en) | Method and system for adaptive queue and buffer control based on monitoring in a packet network switch | |
US9614755B2 (en) | Combined hardware/software forwarding mechanism and method | |
US7359321B1 (en) | Systems and methods for selectively performing explicit congestion notification | |
US7817659B2 (en) | Method and apparatus for aggregating input data streams | |
JP5659125B2 (ja) | 中継装置、中継方法 | |
JP2014517571A (ja) | 階層型スケジューリングおよびシェーピング | |
US20110080834A1 (en) | Communication apparatus and communication control method | |
US9450851B2 (en) | Communication apparatus and method | |
US10050896B2 (en) | Management of an over-subscribed shared buffer | |
US11102273B2 (en) | Uplink performance management | |
JP2023062077A (ja) | パケットスケジューリング方法、スケジューラ、ネットワーク装置及びネットワークシステム | |
CN105122819B (zh) | 用于在广播系统中管理动态队列的方法和设备 | |
US11695702B2 (en) | Packet forwarding apparatus, method and program | |
JP2006506845A (ja) | ルータにおけるパケットに対し論理リンクを選択する方法 | |
US7684336B2 (en) | Real-time video packet monitoring and processing for enhanced quality of service | |
CN116114233A (zh) | 自动流管理 | |
CN111224888A (zh) | 发送报文的方法及报文转发设备 | |
WO2021179648A1 (zh) | 一种光纤通信中的数据转发方法以及相关装置 | |
CN110324255B (zh) | 一种面向数据中心网络编码的交换机/路由器缓存队列管理方法 | |
CN114765585B (zh) | 一种服务质量检测方法、报文处理方法及装置 | |
US8650323B2 (en) | Managing multi-step retry reinitialization protocol flows | |
CN116319590A (zh) | 一种队列控制的方法及装置 | |
Irawan et al. | Performance evaluation of queue algorithms for video-on-demand application |
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 |