CN113873577A - 数据发送方法和装置 - Google Patents
数据发送方法和装置 Download PDFInfo
- Publication number
- CN113873577A CN113873577A CN202111255544.9A CN202111255544A CN113873577A CN 113873577 A CN113873577 A CN 113873577A CN 202111255544 A CN202111255544 A CN 202111255544A CN 113873577 A CN113873577 A CN 113873577A
- Authority
- CN
- China
- Prior art keywords
- terminal
- current time
- data packet
- bytes
- time period
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
- H04W28/20—Negotiating bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/24—Negotiating SLA [Service Level Agreement]; Negotiating QoS [Quality of Service]
Abstract
本公开关于一种数据发送方法和装置,数据发送方法包括:从第一终端接收用于发送给至少一个第二终端的数据包;在数据包为视频数据包,且第一终端不是至少一个第二终端的预设高优先级被订阅用户的情况下,根据至少一个第二终端在当前时段的下行可用字节和已获取的视频数据包的总字节确定至少一个第二终端在当前时段的剩余下行可用字节;在数据包的字节小于或等于剩余下行可用字节的情况下,将数据包转发至至少一个第二终端;在数据包的字节大于剩余下行可用字节的情况下,不将数据包转发至至少一个第二终端。本公开能够最大限度保证复杂网络情况下的通信体验,降低了网络波动方对通信整体质量的影响。
Description
技术领域
本公开涉及通信技术领域,更具体地说,涉及一种数据发送方法和装置。
背景技术
在进行网络通信时,网络带宽资源有限,尤其是在最后一公里网络环境复杂,无线网络接入比例较高,信号更易受到干扰,使得网络波动加剧。在多人实时通信场景中,进行通信的任一方的网络波动都会影响整体的通信体验。基于此,相关技术中,通过可伸缩视频编码技术(SVC,Scalable Video Coding)的方法或者大小流的方法来对不同的下行带宽进行调整处理,但是SVC解码方案的平台适配有限,带宽自适应范围也有待提升。
发明内容
本公开提供一种数据发送方法和装置,以至少解决上述相关技术中的问题,也可不解决任何上述问题。
根据本公开实施例的第一方面,提供一种数据发送方法,包括:从第一终端接收用于发送给至少一个第二终端的数据包;在所述数据包为视频数据包,且所述第一终端不是所述至少一个第二终端的预设高优先级被订阅用户的情况下,根据所述至少一个第二终端在当前时段的下行可用字节和已获取的视频数据包的总字节确定所述至少一个第二终端在当前时段的剩余下行可用字节;在所述数据包的字节小于或等于所述剩余下行可用字节的情况下,将所述数据包转发至所述至少一个第二终端;在所述数据包的字节大于所述剩余下行可用字节的情况下,不将所述数据包转发至所述至少一个第二终端。
可选地,还包括:在所述数据包为音频数据包的情况下,将所述数据包转发至所述至少一个第二终端。
可选地,还包括:在所述数据包为视频数据包,且所述第一终端是所述至少一个第二终端的预设高优先级被订阅用户的情况下,将所述数据包转发至所述至少一个第二终端。
可选地,所述根据所述至少一个第二终端在当前时段的下行可用字节和已获取的视频数据包的总字节确定所述至少一个第二终端在当前时段的剩余下行可用字节,包括:对所述至少一个第二终端在当前时段的下行可用字节,和所述至少一个第二终端在当前时段已获取的视频数据包的总字节求差,获取所述至少一个第二终端在当前时段的剩余下行可用字节。
可选地,所述至少一个第二终端在当前时段的下行可用字节,通过下述步骤获取:根据所述至少一个第二终端在当前时段的初始时刻的下行可用码率和下行真实码率,确定所述至少一个第二终端在当前时段的下行可用码率;根据所述至少一个第二终端在当前时段的下行可用码率和所述当前时段的时间长度,计算所述至少一个第二终端在当前时段的下行可用字节。
可选地,所述至少一个第二终端在当前时段的下行可用字节,通过下述步骤获取:对所述至少一个第二终端在当前时段的初始时刻的下行可用码率,和所述至少一个第二终端在当前时段的初始时刻的下行真实码率求差,得到所述至少一个第二终端在当前时段的下行可用码率;对所述至少一个第二终端在当前时段的下行可用码率和所述当前时段的时间长度求积,得到所述至少一个第二终端在当前时段的下行可用字节。
根据本公开实施例的第二方面,提供一种数据发送装置,包括:数据包接收单元,被配置为:从第一终端接收用于发送给至少一个第二终端的数据包;剩余字节确定单元,被配置为:在所述数据包为视频数据包,且所述第一终端不是所述至少一个第二终端的预设高优先级被订阅用户的情况下,根据所述至少一个第二终端在当前时段的下行可用字节和已获取的视频数据包的总字节确定所述至少一个第二终端在当前时段的剩余下行可用字节;决策单元,被配置为:在所述数据包的字节小于或等于所述剩余下行可用字节的情况下,将所述数据包转发至所述至少一个第二终端;在所述数据包的字节大于所述剩余下行可用字节的情况下,不将所述数据包转发至所述至少一个第二终端。
可选地,决策单元被配置为:在所述数据包为音频数据包的情况下,将所述数据包转发至所述至少一个第二终端。
可选地,决策单元被配置为:在所述数据包为视频数据包,且所述第一终端是所述至少一个第二终端的预设高优先级被订阅用户的情况下,将所述数据包转发至所述至少一个第二终端。
可选地,剩余字节确定单元被配置为:对所述至少一个第二终端在当前时段的下行可用字节,和所述至少一个第二终端在当前时段已获取的视频数据包的总字节求差,获取所述至少一个第二终端在当前时段的剩余下行可用字节。
可选地,剩余字节确定单元被配置为:根据所述至少一个第二终端在当前时段的初始时刻的下行可用码率和下行真实码率,确定所述至少一个第二终端在当前时段的下行可用码率;根据所述至少一个第二终端在当前时段的下行可用码率和所述当前时段的时间长度,计算所述至少一个第二终端在当前时段的下行可用字节。
可选地,剩余字节确定单元被配置为:对所述至少一个第二终端在当前时段的初始时刻的下行可用码率,和所述至少一个第二终端在当前时段的初始时刻的下行真实码率求差,得到所述至少一个第二终端在当前时段的下行可用码率;对所述至少一个第二终端在当前时段的下行可用码率和所述当前时段的时间长度求积,得到所述至少一个第二终端在当前时段的下行可用字节。
根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的数据发送方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的数据发送方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机指令,所述计算机指令被至少一个处理器执行时实现根据本公开的数据发送方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的数据发送方法和装置,可考虑数据包的类型、被订阅用户的优先级和下行可用字节等多个因素,来决策是否将数据包进行转发,采取了合理的服务降级策略,使得带宽适配范围广,能够最大限度保证复杂网络情况下的通信体验,在低带宽和带宽波动场景下可保证音视频流即数据包传输的流畅度,降低了网络波动方对通信整体质量的影响。
另外,根据本公开的数据发送方法和装置,可以用于支持非SVC编码方案,适用的范围更广。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是示出根据本公开的示例性实施例的数据发送方法的服务器和终端的架构图。
图2是示出根据本公开的示例性实施例的数据发送方法的整体框架图。
图3是示出根据本公开的示例性实施例的数据发送方法的流程图。
图4是示出根据本公开的示例性实施例的数据发送方法的具体实施方式的流程图。
图5是示出根据本公开的示例性实施例的数据发送装置的框图。
图6是示出根据本公开的示例性实施例的电子设备600的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
在进行网络通信时,网络带宽资源有限,尤其是在最后一公里网络环境复杂,无线网络接入比例较高,信号更易受到干扰,使得网络波动加剧。在多人实时通信场景中,进行通信的任一方的网络波动都会影响整体的通信体验。如何优化多人实时通信场景下的通信体验是一个复杂的问题。
基于此,相关技术中的P2P方案可以节省服务器的资源,但是带宽资源的要求比较高,且网络连接质量不可控。相关技术中的服务器合流方案对带宽资源消耗比较低,但是服务器的计算资源消耗较高,且会引入转码延时。相关技术中,通过SVC的方法或者大小流的方法来对不同的下行带宽进行调整处理,如WebRTC可通过SVC的方法或大小流的方法来对不同下行带宽进行调整,但是SVC解码方案的平台适配有限,对于应用场景也有所限制,且下行带宽自适应范围有限,缺乏完善的服务降级机制。
为了解决上述相关技术中存在的问题,本公开提出一种数据发送方法和装置,可考虑数据包的类型、被订阅用户的优先级和下行可用字节等多个因素,来决策是否将数据包进行转发,采取了合理的服务降级策略,使得带宽适配范围广,能够最大限度保证复杂网络情况下的通信体验,在低带宽和带宽波动场景下可保证音视频流即数据包传输的流畅度,降低了网络波动方对通信整体质量的影响。
下面,将参照图1至图6来详细描述根据本公开的数据发送方法和装置。
图1是示出根据本公开的示例性实施例的数据发送方法的服务器和终端的架构图,参考图1,MCU是Multipoint Conferencing Unit方案,该方案由一个服务器和多个终端组成一个星形结构。SFU是Selective Forwarding Unit方案,该方案也是由一个服务器和多个终端组成,实际上就是一个音视频路由转发器。A、B、C和D均可以为终端。本公开的示例性实施例中的终端可包括,但不限于,手机、平板电脑、笔记本电脑和台式机。
本公开的示例性实施例可以是基于一个服务器(服务端)和至少一个终端(客户端)实现的。其中,终端与服务器建立网络连接,终端可通过服务器中转实现互联互通,产生和订阅其它终端的音视频媒体流(数据包),服务器可接收音视频媒体流(数据包)并转发给订阅该媒体流的终端。
图2是示出根据本公开的示例性实施例的数据发送方法的整体框架图。参考图2,A、B和C均可为终端,本公开的示例性实施例仅以包括A、B和C终端为例,本公开还保护基于其他不同个数的终端的方法。S可为服务器。A中可包括,但不限于,编码器和发送器,B和C中可包括,但不限于,接收机,S中可包括,但不限于,接收机、带宽分配模块和发送器。
下面,基于图2中所示的服务器和终端的各个模块,对于本公开的示例性实施例中的服务器和终端的具体分工进行描述:在终端中可包括,但不限于,编码模块(编码器)、发送模块(发送器)和接收模块(接收机),编码模块可用于,但不限于,生成媒体流,即生成数据包。发送模块可用于,但不限于,和服务器维持连接并发送数据包。接收模块可用于,但不限于,和服务器维持连接并接收服务器转发的数据包。在服务器中可包括,但不限于,接收模块(接收机)、带宽分配模块和发送模块(发送器)。接收模块可用于,但不限于,接收终端发送的数据包并根据带宽分配的模块决策控制数据包是否转发至其他终端。带宽分配模块可用于,但不限于,决策数据包是否转发至其他终端。发送模块可用于,但不限于,发送数据包。
根据本公开的示例性实施例,服务器的带宽分配模块可考虑数据包的类型、被订阅用户的优先级和下行可用字节等多个因素,来决策是否将数据包进行转发。例如,在数据包是视频数据包,A终端不是B和C终端的预设高优先级被订阅用户,且数据包的字节小于或等于下行可用字节预算的情况下,带宽分配模块可决策将数据包转发至B和C终端;在数据包是音频数据包的情况下,带宽分配模块可决策将数据包转发至B和C终端;在数据包是视频数据包,且A终端是B和C终端的预设高优先级被订阅用户的情况下,带宽分配模块可决策将数据包转发至B和C终端。
对于本公开的示例性实施例中的每个终端,可以将一个其他终端预先设置为高优先级被订阅用户。作为示例,在A终端是B终端的预设高优先级被订阅用户的情况下,B终端始终可以接收到来自A终端的所有视频数据包,即服务器可以设置直接将来自A终端的视频数据包转发至B终端。
图3是示出根据本公开的示例性实施例的数据发送方法的流程图。图3所示的数据发送方法适用于服务器,参考图3,在步骤301,可从第一终端接收用于发送给至少一个第二终端的数据包。
这里,数据包,可包括,但不限于,音频数据包和视频数据包。第二终端可以是订阅了第一终端的音频数据包和/或视频数据包的终端。
在步骤302,可在数据包为视频数据包,且第一终端不是至少一个第二终端的预设高优先级被订阅用户的情况下,根据至少一个第二终端在当前时段的下行可用字节和已获取的视频数据包的总字节确定至少一个第二终端在当前时段的剩余下行可用字节。
另外,本公开的示例性实施例的数据发送方法还可以包括:在数据包为视频数据包,且第一终端是至少一个第二终端的预设高优先级被订阅用户的情况下,将数据包转发至至少一个第二终端。
另外,对于从第一终端接收到的用于发送给至少一个第二终端的音频数据包,服务器可在数据包为音频数据包的情况下,将数据包转发至至少一个第二终端。
根据本公开的示例性实施例,至少一个第二终端在当前时段的剩余下行可用字节获取的步骤,可以是:对至少一个第二终端在当前时段的下行可用字节,和至少一个第二终端在当前时段已获取的视频数据包的总字节求差,获取至少一个第二终端在当前时段的剩余下行可用字节。
这里,至少一个第二终端在当前时段的下行可用字节,可以是在当前时段的初始计算的下行可用字节预算,当至少一个第二终端接收到一个视频数据包的情况下,服务器可以从当前时段的下行可用字节减去该视频数据包的字节,进而,至少一个第二终端在当前时段的任一时刻接收到的视频数据包,该任一时刻对应的剩余下行可用字节,可以是当前时段的下行可用字节,以及当前时段在该任一时刻之前已获取的所有视频数据包的总字节的差值。需要说明的是,本公开的示例性实施例中的视频数据包的字节,可通过服务器端的监测获取。
根据本公开的示例性实施例,至少一个第二终端在当前时段的下行可用字节,可通过下述步骤获取:根据至少一个第二终端在当前时段的初始时刻的下行可用码率和下行真实码率,确定至少一个第二终端在当前时段的下行可用码率;根据至少一个第二终端在当前时段的下行可用码率和当前时段的时间长度,计算至少一个第二终端在当前时段的下行可用字节。需要说明的是,本公开的示例性实施例中的下行可用码率和下行真实码率,可通过服务器计算获取。
根据本公开的示例性实施例,至少一个第二终端在当前时段的下行可用字节,可通过下述步骤获取:对至少一个第二终端在当前时段的初始时刻的下行可用码率,和至少一个第二终端在当前时段的初始时刻的下行真实码率求差,得到至少一个第二终端在当前时段的下行可用码率;对至少一个第二终端在当前时段的下行可用码率和当前时段的时间长度求积,得到至少一个第二终端在当前时段的下行可用字节。
例如,至少一个第二终端在当前时段的下行可用字节,可通过下述公式(1)和(2)获取:
budget_bwB=downlink_bwB-dst_bitrateB (1)
budget_bytesB=budget_bwB*budget_interval (2)
其中,budget_bwB为至少一个第二终端在当前时段的下行可用码率,downlink_bwB为至少一个第二终端在当前时段的初始时刻的下行可用码率,dst_bitrateB为至少一个第二终端在当前时段的初始时刻的下行真实码率,budget_bytesB为至少一个第二终端在当前时段的下行可用字节,budget_interval为当前时段的时间长度。
在步骤303,可在数据包的字节小于或等于剩余下行可用字节的情况下,将数据包转发至至少一个第二终端。
在步骤304,可在数据包的字节大于剩余下行可用字节的情况下,不将数据包转发至至少一个第二终端。
根据本公开的示例性实施例,没有转发至至少一个第二终端的数据包,服务器可将该数据包丢弃。
图4是示出根据本公开的示例性实施例的数据发送方法的具体实施方式的流程图,图4所示的流程图适用于服务器,即执行主体是服务器,参照图4,首先,服务器可从第一终端接收用于发送给至少一个第二终端的数据包,这里,第一终端可以是发送数据包的终端,第二终端可以是接收数据包的终端,第一终端和第二终端可为建立实时音视频通信的终端。然后,服务器可判断该数据包是否是视频数据包,在该数据包不是视频数据包的情况下,可将该数据包转发至至少一个第二终端,在该数据包是视频数据包的情况下,服务器可接着判断第一终端是否是至少一个第二终端的预设高优先级被订阅用户,在第一终端是至少一个第二终端的预设高优先级被订阅用户的情况下,可将该数据包转发至至少一个第二终端,在第一终端不是至少一个第二终端的预设高优先级被订阅用户的情况下,服务器可通过决策判断是否将该数据包转发至至少一个第二终端。最后,服务器在通过决策判断应将该数据包转发至至少一个第二终端,则可将该数据包转发至至少一个第二终端,在通过决策判断不应将该数据包转发至至少一个第二终端,则可将该数据包丢弃,该数据包则成为丢弃包。
图5是示出根据本公开的示例性实施例的数据发送装置的框图。图5所示的数据发送装置可配置于服务器,参照图5,数据发送装置500包括数据包接收单元501、剩余字节确定单元502和决策单元503。
数据包接收单元501可从第一终端接收用于发送给至少一个第二终端的数据包。
这里,数据包,可包括,但不限于,音频数据包和视频数据包。第二终端可以是订阅了第一终端的音频数据包和/或视频数据包的终端。
剩余字节确定单元502可在数据包为视频数据包,且第一终端不是至少一个第二终端的预设高优先级被订阅用户的情况下,根据至少一个第二终端在当前时段的下行可用字节和已获取的视频数据包的总字节确定至少一个第二终端在当前时段的剩余下行可用字节。
根据本公开的示例性实施例,至少一个第二终端在当前时段的剩余下行可用字节的获取,可以是:对至少一个第二终端在当前时段的下行可用字节,和至少一个第二终端在当前时段已获取的视频数据包的总字节求差,获取至少一个第二终端在当前时段的剩余下行可用字节。
这里,至少一个第二终端在当前时段的下行可用字节,可以是在当前时段的初始计算的下行可用字节预算,当至少一个第二终端接收到一个视频数据包的情况下,服务器可以从当前时段的下行可用字节减去该视频数据包的字节,进而,至少一个第二终端在当前时段的任一时刻接收到的视频数据包,该任一时刻对应的剩余下行可用字节,可以是当前时段的下行可用字节,以及当前时段在该任一时刻之前已获取的所有视频数据包的总字节的差值。需要说明的是,本公开的示例性实施例中的视频数据包的字节,可通过服务器端的监测获取。
根据本公开的示例性实施例,剩余字节确定单元可以被配置为:根据至少一个第二终端在当前时段的初始时刻的下行可用码率和下行真实码率,确定至少一个第二终端在当前时段的下行可用码率;根据至少一个第二终端在当前时段的下行可用码率和当前时段的时间长度,计算至少一个第二终端在当前时段的下行可用字节。需要说明的是,本公开的示例性实施例中的下行可用码率和下行真实码率,可通过服务器计算获取。
根据本公开的示例性实施例,剩余字节确定单元可以被配置为:对至少一个第二终端在当前时段的初始时刻的下行可用码率,和至少一个第二终端在当前时段的初始时刻的下行真实码率求差,得到至少一个第二终端在当前时段的下行可用码率;对至少一个第二终端在当前时段的下行可用码率和当前时段的时间长度求积,得到至少一个第二终端在当前时段的下行可用字节。
例如,至少一个第二终端在当前时段的下行可用字节可通过上式(1)和(2)获取。
决策单元503可在数据包的字节小于或等于剩余下行可用字节的情况下,将数据包转发至至少一个第二终端;在数据包的字节大于剩余下行可用字节的情况下,不将数据包转发至至少一个第二终端。
根据本公开的示例性实施例,没有转发至至少一个第二终端的数据包,服务器可将该数据包丢弃。
另外,决策单元503可以在数据包为视频数据包,且第一终端是至少一个第二终端的预设高优先级被订阅用户的情况下,将数据包转发至至少一个第二终端。
另外,决策单元503可在数据包为音频数据包的情况下,将数据包转发至至少一个第二终端。
图6是示出根据本公开的示例性实施例的电子设备600的框图。
参照图6,电子设备600包括至少一个存储器601和至少一个处理器602,所述至少一个存储器601中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器602执行时,执行根据本公开的示例性实施例的数据发送方法。
作为示例,电子设备600可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备600并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备600还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备600中,处理器602可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器602可运行存储在存储器601中的指令或代码,其中,存储器601还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器601可与处理器602集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器601可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器601和处理器602可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器602能够读取存储在存储器中的文件。
此外,电子设备600还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备600的所有组件可经由总线和/或网络而彼此连接。
根据本公开的示例性实施例,还可提供一种存储指令的计算机可读存储介质,其中,当指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的示例性实施例的数据发送方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品中的指令可由计算机设备的处理器执行以完成根据本公开的示例性实施例的数据发送方法。
根据本公开的数据发送方法和装置,可考虑数据包的类型、被订阅用户的优先级和下行可用字节等多个因素,来决策是否将数据包进行转发,采取了合理的服务降级策略,使得带宽适配范围广,能够最大限度保证复杂网络情况下的通信体验,在低带宽和带宽波动场景下可保证音视频流即数据包传输的流畅度,降低了网络波动方对通信整体质量的影响。
另外,根据本公开的数据发送方法和装置,可以用于支持非SVC编码方案,适用的范围更广。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据发送方法,其特征在于,包括:
从第一终端接收用于发送给至少一个第二终端的数据包;
在所述数据包为视频数据包,且所述第一终端不是所述至少一个第二终端的预设高优先级被订阅用户的情况下,根据所述至少一个第二终端在当前时段的下行可用字节和已获取的视频数据包的总字节确定所述至少一个第二终端在当前时段的剩余下行可用字节;
在所述数据包的字节小于或等于所述剩余下行可用字节的情况下,将所述数据包转发至所述至少一个第二终端;
在所述数据包的字节大于所述剩余下行可用字节的情况下,不将所述数据包转发至所述至少一个第二终端。
2.如权利要求1所述的数据发送方法,其特征在于,还包括:
在所述数据包为音频数据包的情况下,将所述数据包转发至所述至少一个第二终端。
3.如权利要求1所述的数据发送方法,其特征在于,还包括:
在所述数据包为视频数据包,且所述第一终端是所述至少一个第二终端的预设高优先级被订阅用户的情况下,将所述数据包转发至所述至少一个第二终端。
4.如权利要求1所述的数据发送方法,其特征在于,所述根据所述至少一个第二终端在当前时段的下行可用字节和已获取的视频数据包的总字节确定所述至少一个第二终端在当前时段的剩余下行可用字节,包括:
对所述至少一个第二终端在当前时段的下行可用字节,和所述至少一个第二终端在当前时段已获取的视频数据包的总字节求差,获取所述至少一个第二终端在当前时段的剩余下行可用字节。
5.如权利要求1所述的数据发送方法,其特征在于,所述至少一个第二终端在当前时段的下行可用字节,通过下述步骤获取:
根据所述至少一个第二终端在当前时段的初始时刻的下行可用码率和下行真实码率,确定所述至少一个第二终端在当前时段的下行可用码率;
根据所述至少一个第二终端在当前时段的下行可用码率和所述当前时段的时间长度,计算所述至少一个第二终端在当前时段的下行可用字节。
6.如权利要求5所述的数据发送方法,其特征在于,所述至少一个第二终端在当前时段的下行可用字节,通过下述步骤获取:
对所述至少一个第二终端在当前时段的初始时刻的下行可用码率,和所述至少一个第二终端在当前时段的初始时刻的下行真实码率求差,得到所述至少一个第二终端在当前时段的下行可用码率;
对所述至少一个第二终端在当前时段的下行可用码率和所述当前时段的时间长度求积,得到所述至少一个第二终端在当前时段的下行可用字节。
7.一种数据发送装置,其特征在于,包括:
数据包接收单元,被配置为:从第一终端接收用于发送给至少一个第二终端的数据包;
剩余字节确定单元,被配置为:在所述数据包为视频数据包,且所述第一终端不是所述至少一个第二终端的预设高优先级被订阅用户的情况下,根据所述至少一个第二终端在当前时段的下行可用字节和已获取的视频数据包的总字节确定所述至少一个第二终端在当前时段的剩余下行可用字节;
决策单元,被配置为:在所述数据包的字节小于或等于所述剩余下行可用字节的情况下,将所述数据包转发至所述至少一个第二终端;在所述数据包的字节大于所述剩余下行可用字节的情况下,不将所述数据包转发至所述至少一个第二终端。
8.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储计算机可执行指令的存储器,
其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到6中的任一权利要求所述的数据发送方法。
9.一种存储指令的计算机可读存储介质,其特征在于,当所述指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到6中的任一权利要求所述的数据发送方法。
10.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被至少一个处理器执行时实现如权利要求1到6中的任一权利要求所述的数据发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111255544.9A CN113873577A (zh) | 2021-10-27 | 2021-10-27 | 数据发送方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111255544.9A CN113873577A (zh) | 2021-10-27 | 2021-10-27 | 数据发送方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113873577A true CN113873577A (zh) | 2021-12-31 |
Family
ID=78997929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111255544.9A Pending CN113873577A (zh) | 2021-10-27 | 2021-10-27 | 数据发送方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113873577A (zh) |
-
2021
- 2021-10-27 CN CN202111255544.9A patent/CN113873577A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11509744B2 (en) | Resource request management using bandwidth allocation and time slots | |
US20220272397A1 (en) | Methods and systems for providing video at multiple bit rates | |
CN112153415B (zh) | 一种视频转码方法、装置、设备及存储介质 | |
US9088629B2 (en) | Managing an electronic conference session | |
CN114221870B (zh) | 用于服务器的带宽分配方法和装置 | |
CN112449208B (zh) | 语音处理方法及其装置 | |
WO2016180284A1 (zh) | 服务节点分配方法、装置、cdn管理服务器及系统 | |
WO2018180394A1 (ja) | 通信装置、メディア配信システム、メディア配信方法および非一時的なコンピュータ可読媒体 | |
CN113873577A (zh) | 数据发送方法和装置 | |
US11757967B2 (en) | Video communications network with value optimization | |
CN113079103A (zh) | 音频发送方法、装置、电子设备及存储介质 | |
CN115767149A (zh) | 一种视频数据的传输方法和装置 | |
JP5519079B2 (ja) | クラウドベースのメディア適合化および変換サービスのための方法およびシステム | |
CN115209189A (zh) | 一种视频流传输方法、系统、服务器及存储介质 | |
CN114025190A (zh) | 多码率调度方法和多码率调度装置 | |
CN113259730A (zh) | 用于直播的码率调整方法及装置 | |
CN106230748A (zh) | 一种数据包发送、接收方法及设备 | |
CN115174408B (zh) | 数据传输方法、装置及系统、电子设备及存储介质 | |
CN113364672B (zh) | 媒体网关信息确定方法、装置、设备和计算机可读介质 | |
CN113541872B (zh) | 实时通信方法和实时通信装置 | |
CN114158089A (zh) | 音频传输方法、终端、电子设备及存储介质 | |
CN108574882A (zh) | 一种视频传输方法和装置 | |
Goth | Huge growth for video telephony? skeptics wary of predicted data crunch | |
CN117008855A (zh) | 一种多屏互动方法、装置、设备及存储介质 | |
CN115065862A (zh) | 视频数据获取方法、装置、设备及介质 |
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 |