CN110768910A - 数据传输方法和装置 - Google Patents
数据传输方法和装置 Download PDFInfo
- Publication number
- CN110768910A CN110768910A CN201810828989.3A CN201810828989A CN110768910A CN 110768910 A CN110768910 A CN 110768910A CN 201810828989 A CN201810828989 A CN 201810828989A CN 110768910 A CN110768910 A CN 110768910A
- Authority
- CN
- China
- Prior art keywords
- priority
- sending thread
- service data
- terminal
- sending
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- 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/0289—Congestion control
Abstract
本发明提供了一种数据传输方法及装置。其中方法包括:第一终端将待发送的数据划分为不同类型的业务数据,并为每种类型的业务数据创建发送线程,以及为每个发送线程分配优先级;所述第一终端检测当前的网络是否处于拥塞状态;若是,则按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程;若否,则在确定存在关闭的发送线程后,按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程;所述第一终端将当前开启的发送线程的业务数据发送至第二终端。本发明能够避免出现高优先级的业务数据传输延时较大、甚至丢失的情况,提升用户体验。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据传输方法和一种数据传输装置。
背景技术
随着网络科技的快速发展,视频会议、视频教学等双向通信在用户的生活、工作、学习等方面广泛普及。在终端通信过程中,发送方终端将采集的外部数据发送给服务器,再由服务器将其发送给接收方终端。
但是,在发送数据的过程中可能会由于某些原因出现网络拥塞的情况。在网络拥塞的情况下,会导致某些重要数据的传输延时较大、甚至丢失,进而导致接收方终端出现播放卡顿、卡顿后快放等现象,降低用户体验。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据传输方法和相应的一种数据传输装置。
为了解决上述问题,本发明实施例公开了一种数据传输方法,所述方法包括:
第一终端将待发送的数据划分为不同类型的业务数据,并为每种类型的业务数据创建发送线程,以及为每个发送线程分配优先级;
所述第一终端检测当前的网络是否处于拥塞状态;
若是,则按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程;
若否,则在确定存在关闭的发送线程后,按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程;
所述第一终端将当前开启的发送线程的业务数据发送至第二终端。
优选地,在所述第一终端将待发送的数据划分为不同类型的业务数据,并为每种类型的业务数据创建发送线程,以及为每个发送线程分配优先级的步骤之后,还包括:所述第一终端计算分包大小,并将所述业务数据按照所述分包大小划分为业务数据包;所述第一终端将当前开启的发送线程的业务数据发送至第二终端的步骤,包括:所述第一终端将当前开启的发送线程的各业务数据包发送至第二终端。
优选地,在所述按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程的步骤之后,还包括:按照优先级从高到低的顺序降低至少一个当前开启的发送线程的业务数据包的大小。
优选地,在所述在确定存在关闭的发送线程后,按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程的步骤之后,还包括:按照优先级从低到高的顺序恢复至少一个当前开启的、且业务数据包大小已被降低的发送线程的业务数据包的大小。
优选地,在所述按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程的步骤之后,还包括:按照被关闭的发送线程的业务数据的类型和/或被关闭的发送线程的优先级,确定是否丢弃所述被关闭的发送线程的业务数据。
优选地,在所述按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程的步骤之前,还包括:所述第一终端检测当前的网络是否处于拥塞状态;若否,则执行所述按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程的步骤。
另一方面,本发明实施例还公开了一种数据传输装置,所述装置包括第一终端,所述第一终端包括:
创建模块,用于将待发送的数据划分为不同类型的业务数据,并为每种类型的业务数据创建发送线程,以及为每个发送线程分配优先级;
检测模块,用于检测当前的网络是否处于拥塞状态;
关闭模块,用于若所述检测模块检测为是,则按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程;
开启模块,用于若所述检测模块检测为否,则在确定存在关闭的发送线程后,按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程;
发送模块,用于将当前开启的发送线程的业务数据发送至第二终端。
优选地,所述第一终端还包括:分包模块,用于计算分包大小,并将所述业务数据按照所述分包大小划分为业务数据包;所述发生模块,具体用于将当前开启的发送线程的各业务数据包发送至第二终端。
优选地,所述第一终端还包括:降低模块,用于在关闭模块按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程之后,按照优先级从高到低的顺序降低至少一个当前开启的发送线程的业务数据包的大小。
优选地,所述第一终端还包括:恢复模块,用于在所述开启模块确定存在关闭的发送线程后,按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程之后,按照优先级从低到高的顺序恢复至少一个当前开启的、且业务数据包大小已被降低的发送线程的业务数据包的大小。
本发明实施例中,第一终端将待发送的数据划分为不同类型的业务数据,并为每种类型的业务数据创建一个发送线程,以及按照预设方式为每个发送线程分配优先级;第一终端检测当前的网络是否处于拥塞状态;若是,则按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程;若否,则在确定存在关闭的发送线程后,按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程;第一终端将当前开启的发送线程的业务数据发送至第二终端。由此可知,本发明实施例可以根据业务数据的类型设置不同的优先级,当网络拥塞时,可以暂停发送低优先级的业务数据,从而保证高优先级的业务数据能够顺利发送,避免出现高优先级的业务数据传输延时较大、甚至丢失的情况,进而避免接收方终端出现播放卡顿、卡顿后快放等现象;并且在网络不拥塞后,继续发送之前暂停的低优先级的业务数据,从而保证低优先级的数据能够及时恢复发送,能够提升用户体验。
附图说明
图1是本发明的一种视联网的组网示意图;
图2是本发明的一种节点服务器的硬件结构示意图;
图3是本发明的一种接入交换机的硬件结构示意图;
图4是本发明的一种以太网协转网关的硬件结构示意图;
图5是本发明实施例一的一种数据传输方法的步骤流程图;
图6是本发明实施例二的一种数据传输方法的步骤流程图;
图7是本发明实施例二的一种视频会议的设备交互的示意图;
图8是本发明实施例二的一种视频会议的数据传输示意图;
图9是本发明实施例三的一种数据传输装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
视联网所应用的部分技术如下所述:
网络技术(Network Technology)
视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(CircuitSwitching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
交换技术(Switching Technology)
视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
服务器技术(Server Technology)
视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
储存器技术(Storage Technology)
统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
网络安全技术(Network Security Technology)
视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
服务创新技术(Service Innovation Technology)
统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
视联网的组网如下所述:
视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
如图1所示,视联网分为接入网和城域网两部分。
接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
视联网设备分类
1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。
各接入网设备的具体硬件结构为:
节点服务器:
如图2所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
接入交换机:
如图3所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块204进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
交换引擎模块303轮询所有包缓存器队列,在本发明实施例中分两种情形:
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块208是由CPU模块204来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
以太网协转网关:
如图4所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目的地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目的地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MACSA、以太网length or frame type,并发送。
以太网协转网关中其他模块的功能与接入交换机类似。
终端:
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
2、视联网数据包定义
2.1接入网数据包定义
接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,接入网的数据包主要包括以下几部分:
DA | SA | Reserved | Payload | CRC |
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据包的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
2.2城域网数据包定义
城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
如下表所示,城域网的数据包主要包括以下几部分:
DA | SA | Reserved | 标签 | Payload | CRC |
即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
实施例一
参照图5,示出了本发明实施例一的一种数据传输方法的步骤流程图。
本发明实施例的数据传输方法可以包括以下步骤:
步骤501,第一终端将待发送的数据划分为不同类型的业务数据,并为每种类型的业务数据创建发送线程,以及为每个发送线程分配优先级。
本发明实施例的数据传输方法可以应用于视频会议等通信过程。在视频会议中,可以包括发送方的终端、服务器及接收方的终端。其中,发送方的终端主要用于采集外部信息(如声音、画面等),并对外部信息进行编码得到相应数据(如音频数据、视频数据等),并将编码后的数据发送至服务器,再由服务器将编码后的数据转发至接收方的终端,接收方的终端接收到之后,对编码后的数据进行解码,解码后进行播放。
第一终端可以作为发送方的终端,也可以作为接收方的终端。同样的,第二终端可以作为发送方的终端,也可以作为接收方的终端。也即第一终端和第二终端均可以执行本发明实施例的数据传输方法。如果第一终端作为发送方的终端,则第二终端作为接收方的终端;如果第一终端作为接收方的终端,则第二终端作为发送方的终端。以下将以第一终端作为发送方的终端,第二终端作为接收方的终端为例进行说明。
在具体实现中,第一终端和第二终端可以为互联网中的终端,如手机等终端;也可以为视联网中的终端,如机顶盒(Set Top Box,STB)等终端,机顶盒通常称作机顶盒或机上盒,是一个连接电视机与外部信号源的设备,它可以将压缩的数字信号转成电视内容,并在电视机上显示出来。
第一终端采集外部信息,并对采集的外部信息进行编码得到对应的数据,这些数据作为待发送的数据。需要说明的是,由于终端之间的通信是连续的,因此第一终端采集的外部信息也是连续的。
第一终端将待发送的数据划分为不同类型的业务数据。比如,可以按照文本、音频、视频等类型划分为文本业务数据、音频业务数据、视频业务数据等。
第一终端还可以为每种类型的业务数据创建发送线程,分别用于发送对应类型的业务数据,每种类型的业务数据对应的发送线程之间相互独立,在初始时每个发送线程均开启。其中,针对每种类型的业务数据可以创建一个发送线程,也可以创建多个发送线程,本发明实施例对此不作限制。
第一终端还可以为每个发送线程分配优先级。比如,可以根据实际情况预先设置各种类型的业务数据的优先级,按照业务数据的优先级为每个发送线程分配优先级,同一类型的业务数据对应的发送线程的优先级相同。比如,针对文本业务数据、音频业务数据和视频业务数据,可以设置文本业务数据的优先级为1,音频业务数据优先级为2,视频业务数据优先级为3,因此为文本业务数据创建的发送线程的优先级为1,为音频业务数据创建的发送线程的优先级为2,为视频业务数据创建的发送线程的优先级为3,其中,优先级从高到低的顺序依次为优先级1、优先级2、优先级3。
步骤502,第一终端检测当前的网络是否处于拥塞状态。若是,则执行步骤503;若否,则执行步骤504。
第一终端可以对当前的网络状况进行检测,根据当前的网络是否拥塞采取不同的处理方式。其中,第一终端可以实时检测当前的网络是否处于拥塞状态,也可以按照预设时间间隔(比如5s、10s、15s等)检测当前的网络是否处于拥塞状态,本发明实施例对此不作限制。
步骤503,第一终端按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程。
如果当前的网络处于拥塞状态,则第一终端可以按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程,也即暂停发送关闭的发送线程对应的优先级较低的业务数据,从而能够分配更多的网络流量给优先级较高的业务数据,保证优先级较高的业务数据能够顺利发送。之后执行步骤505。
步骤504,第一终端在确定存在关闭的发送线程后,按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程。
如果当前的网络未处于拥塞状态,则第一终端可以判断是否存在关闭的发送线程,并在确定存在关闭的发送线程后,按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程,也即恢复发送之前关闭的发送线程对应的优先级较低的业务数据,从而保证低优先级的数据能够及时恢复发送,避免数据丢失。之后执行步骤505。
步骤505,第一终端将当前开启的发送线程的业务数据发送至第二终端。
第一终端在经过上述步骤503或步骤504的处理之后,将当前开启的发送线程的业务数据异步发送到第二终端。
第一终端还可以返回步骤502继续检测当前的网络是否处于拥塞状态,循环执行步骤502~步骤505。
本发明实施例可以根据业务数据的类型设置不同的优先级,当网络拥塞时,可以暂停发送低优先级的业务数据,从而保证高优先级的业务数据能够顺利发送,避免出现高优先级的业务数据传输延时较大、甚至丢失的情况,进而避免接收方终端出现播放卡顿、卡顿后快放等现象;并且在网络不拥塞后,继续发送之前暂停的低优先级的业务数据,从而保证低优先级的数据能够及时恢复发送,能够提升用户体验。
实施例二
参照图6,示出了本发明实施例二的一种数据传输方法的步骤流程图。
本发明实施例的数据传输方法可以包括以下步骤:
步骤601,第一终端将待发送的数据划分为不同类型的业务数据,并为每种类型的业务数据创建发送线程,以及为每个发送线程分配优先级。
本发明实施例中,将以第一终端将待发送的数据划分为文本业务数据、音频业务数据、视频业务数据这三种为例进行介绍。第一终端为文本业务数据创建文本发送线程、为音频业务数据创建音频发送线程、为视频业务数据创建视频发送线程,三个发送线程相互独立,可以实现异步传输业务数据。第一终端分配文本发送线程的优先级为1,音频发送线程的优先级为2,视频发送线程的优先级为3,优先级从高到低的顺序依次为优先级1、优先级2、优先级3。
在具体实现中,可以为每个发送线程创建一个socket(套接字)。网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。
步骤602,第一终端计算分包大小,并将所述业务数据按照所述分包大小划分为业务数据包。
第一终端对业务数据进行分包。首先计算分包大小,然后再按照分包大小将业务数据划分为多个业务数据包,也即每个业务数据包的大小为该分包大小。后续对业务数据包进行发送。
在具体实现中,第一终端可以为移动终端等互联网终端,因此业务数据可以为基于互联网协议的数据,基于互联网协议的数据包可以包括包头和数据。在一种优选实施方式中,分包大小可以为MTU(Maximum Transmission Unit,最大传输单元)减去包头的大小后得到的结果。MTU是指一种通信协议的某一层上面所能通过的最大数据包大小。比如,对于UDP(User Datagram Protocol,用户数据报协议)数据包,可以计算数据链路层的MTU减去IP头大小,再减去UDP头大小,将结果作为分包大小。
在具体实现中,第一终端也可以为机顶盒等视联网终端,因此业务数据可以为基于视联网协议的数据,基于视联网协议的数据包可以包括包头和数据,包头可以包括源地址、目的地址、终端标识等信息。类似的,分包大小可以为MTU减去包头的大小后得到的结果。MTU是指一种通信协议的某一层上面所能通过的最大数据包大小。
计算分包大小的目的是得到一个合适的业务数据包大小,防止业务数据包过大造成大量分片,或业务数据包过小造成封装包头的成本过大以及传输成功率低,并且业务数据包过大和过小均会导致传输效率低下。
步骤603,第一终端检测当前的网络是否处于拥塞状态。若是,则执行步骤604;若否,则执行步骤607。
第一终端可以对当前的网络状况进行检测,比如,可以通过对传输时延及抖动、链路的吞吐量、丢包率等参数的测量,来判断网络是否拥塞。对于具体的检测过程,本领域技术人员根据实际经验进行相关处理即可,本发明实施例在此不再详细论述。
步骤604,第一终端按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程。
如果在步骤603中检测到当前的网络处于拥塞状态,则第一终端可以按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程,也即暂停发送关闭的发送线程对应的优先级较低的业务数据。在具体实现中,可以通过关闭为发送线程创建的socket关闭该发送线程。
比如,如果文本发送线程、音频发送线程和视频发送线程当前均为开启状态,则由于处于开启状态的视频发送线程的优先级为3,在开启的发送线程中优先级最低,因此关闭视频发送线程,也即关闭为视频发送线程创建的socket。
如果文本发送线程和音频发送线程当前均为开启状态,视频发送线程当前为关闭状态,则由于处于开启状态的音频发送线程的优先级为2,在开启的发送线程中优先级最低,因此关闭音频发送线程,也即关闭为音频发送线程创建的socket。
上述方式消除了低优先级业务数据流对高优先级数据的阻塞,也提供了高优先级数据的抗干扰能力,保证优先级高的业务数据传输延时降低。
步骤605,第一终端按照被关闭的发送线程的业务数据的类型和/或被关闭的发送线程的优先级,确定是否丢弃所述被关闭的发送线程的业务数据。
本发明实施例中,在关闭发送线程后还可以选择丢弃或保留被关闭的发送线程的业务数据。
在具体实现中,可以按照被关闭的发送线程的业务数据的类型确定是否丢弃被关闭的发送线程的业务数据。比如,可以预先设置丢弃类型和保留类型,如果被关闭的发送线程的业务数据的类型为丢弃类型,则确定丢弃该被关闭的发送线程的业务数据;如果被关闭的发送线程的业务数据的类型为保留类型,则确定保留该被关闭的发送线程的业务数据。比如,设置视频业务数据为丢弃类型,音频业务数据和文本业务数据为保留类型,如果被关闭的发送线程为视频发送线程,其业务数据的类型为视频业务数据,则确定丢弃该视频发送线程的视频业务数据;如果被关闭的发送线程为音频发送线程,其业务数据的类型为音频业务数据,则确定保留该音频发送线程的音频业务数据;如果被关闭的发送线程为文本发送线程,其业务数据的类型为文本业务数据,则确定保留该文本发送线程的文本业务数据。
在具体实现中,还可以按照被关闭的发送线程的优先级确定是否丢弃被关闭的发送线程的业务数据。比如,可以预先设置优先级阈值,如果被关闭的发送线程的优先级低于优先级阈值,则确定丢弃该被关闭的发送线程的业务数据;如果被关闭的发送线程的优先级高于或等于优先级阈值,则确定保留该被关闭的发送线程的业务数据。比如,设置优先级阈值为2,如果被关闭的发送线程为视频发送线程,其优先级为3,则确定丢弃该视频发送线程的视频业务数据;如果被关闭的发送线程为音频发送线程,其优先级为2,则确定保留该音频发送线程的音频业务数据;如果被关闭的发送线程为文本发送线程,其优先级为1,则确定保留该文本发送线程的文本业务数据。
在具体实现中,还可以按照被关闭的发送线程的业务数据的类型和被关闭的发送线程的优先级确定是否丢弃被关闭的发送线程的业务数据。比如,可以预先设置丢弃类型和保留类型,并设置优先级阈值,如果被关闭的发送线程的业务数据的类型为丢弃类型,且优先级低于优先级阈值,则确定丢弃该被关闭的发送线程的业务数据;如果被关闭的发送线程的业务数据的类型为保留类型,且优先级高于或等于优先级阈值,则确定保留该被关闭的发送线程的业务数据。
步骤606,第一终端按照优先级从高到低的顺序降低至少一个当前开启的发送线程的业务数据包的大小。之后执行步骤611。
在一种优选实施方式中,第一终端还可以针对当前开启的(也即未被关闭的)发送线程,按照优先级从高到低的顺序降低至少一个当前开启的发送线程的业务数据包的大小。
比如,在步骤604中关闭了视频发送线程,则当前开启的(也即未被关闭的)发送线程为音频发送线程和文本发送线程,文本发送线程的优先级高于音频发送线程。第一终端可以仅降低文本发送线程的业务数据包的大小;也可以降低音频发送线程的业务数据包的大小以及降低文本发送线程的业务数据包的大小。对于降低的具体数值,本领域技术人员根据实际情况选择任意适用的值均可,本发明实施例对此不作限制。
通过降低高优先级的业务数据包的大小,可以提高在网络拥塞时的传输成功率。
之后执行步骤611,按照异步方式对当前开启的发送线程的业务数据进行发送。
步骤607,第一终端判断是否存在关闭的发送线程。若是,则执行步骤608;若否,则执行步骤611。
如果在步骤603中检测到当前的网络未处于拥塞状态,则第一终端判断是否存在关闭的发送线程。如果存在则执行步骤608;如果不存在则执行步骤611,按照异步方式对当前开启的发送线程的业务数据进行发送。
步骤608,第一终端在确定存在关闭的发送线程后,检测当前的网络是否处于拥塞状态。若否,则执行步骤609;若是,则执行步骤611。
在一种优选实施方式中,第一终端还可以在确定存在关闭的发送线程后,再次检测当前的网络是否处于拥塞状态,以便更加准确地确定网络是否恢复。与上述步骤603类似,此处第一终端也可以通过对传输时延及抖动、链路的吞吐量、丢包率等参数的测量,来判断网络是否拥塞。
步骤609,第一终端按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程。
如果在步骤608中检测到当前的网络未处于拥塞状态,可以说明当前的网络已恢复,则第一终端可以按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程,也即继续发送此时开启的发送线程对应的优先级较低的业务数据。在具体实现中,可以通过开启为发送线程创建的socket开启该发送线程。
比如,如果文本发送线程和音频发送线程当前为开启状态,视频发送线程当前为关闭状态,则处于关闭状态的视频频发送线程的优先级为3,在关闭的发送线程中优先级最高,因此开启视频发送线程,也即开启为视频发送线程创建的socket。
通过该步骤609可保证优先级低的业务数据也可及时得到传输。
步骤610,第一终端按照优先级从低到高的顺序恢复至少一个当前开启的、且业务数据包大小已被降低的发送线程的业务数据包的大小。之后执行步骤611。
在一种优选实施方式中,第一终端还可以针对当前开启的、且业务数据包大小已被降低的发送线程,按照优先级从低到高的顺序恢复其中至少一个发送线程的业务数据包的大小,将业务数据包的大小恢复至初始大小,也即上述分包大小。
比如,在步骤606中降低了音频发送线程的业务数据包的大小以及文本发送线程的业务数据包的大小。因此,第一终端可以仅恢复文本发送线程的业务数据包的大小;也可以恢复音频发送线程的业务数据包的大小以及恢复文本发送线程的业务数据包的大小。
通过恢复业务数据包的大小,可以提高在网络恢复后的数据传输效率。
之后执行步骤611,按照异步方式对当前开启的发送线程的业务数据进行发送。
步骤611,第一终端将当前开启的发送线程的业务数据发送至第二终端。
在具体实现上,如果第一终端和第二终端为互联网终端,则第一终端可以将当前开启的发送线程的各业务数据包通过WIFI网络直接发送至第二终端。第一终端也可以将当前开启的发送线程的各业务数据包通过WIFI网络发送至对应的服务器,再由服务器通过WIFI网络发送至第二终端。第二终端收到业务数据包后,对其进行相应处理(如解码等)后播放。
在具体实现上,如果第一终端和第二终端为视联网终端,则第一终端将当前开启的发送线程的各业务数据包通过视联网基于视联网协议、经由视联网服务器发送至第二终端。第二终端收到业务数据包后,对其进行相应处理(如解码等)后播放。
在一种优选实施方式中,第一终端将当前开启的发送线程的业务数据通过视联网基于视联网协议发送至视联网服务器,并经由视联网服务器通过视联网基于视联网协议、按照对所述第二终端配置的下行通信链路发送至第二终端。
在实际应用中,视联网为具有集中控制功能的网络,包括主控服务器和下级网络设备,该下级网络设备包括终端,视联网的核心构思之一在于,通过由主控服务器通知交换设备针对当次服务的下行通信链路配表,然后基于该配置的表进行数据包的传送。
即,视联网中的通信方法包括:
主控服务器配置当次服务的下行通信链路。
将源终端发送的当次服务的数据包,按照所述下行通信链路传送至目标终端(如视联网终端)。
在本发明实施例中,配置当次服务的下行通信链路包括:通知当次服务的下行通信链路所涉及的交换设备配表。
进一步而言,按照下行通信链路传送包括:查询所配置的表,交换设备对所接收的数据包通过相应端口进行传送。
在具体实现中,服务包括单播通信服务和组播通信服务。即无论是组播通信还是单播通信,都可以采用上述配表—用表的核心构思实现视联网中的通信。
如前所述,视联网包括接入网部分,在接入网中,该主控服务器为节点服务器,下级网络设备包括接入交换机和终端。
对于接入网中的单播通信服务而言,所述主控服务器配置当次服务的下行通信链路的步骤可以包括以下步骤:
子步骤S11,主控服务器依据源终端发起的服务请求协议包,获取当次服务的下行通信链路信息,下行通信链路信息包括,参与当次服务的主控服务器和接入交换机的下行通信端口信息。
子步骤S12,主控服务器依据控服务器的下行通信端口信息,在其内部的数据包地址表中设置当次服务的数据包所导向的下行端口;并依据接入交换机的下行通信端口信息,向相应的接入交换机发送端口配置命令。
子步骤S13,接入交换机依据端口配置命令在其内部的数据包地址表中,设置当次服务的数据包所导向的下行端口。
对于接入网中的组播通信服务(如视频会议)而言,主控服务器获取当次服务的下行通信链路信息的步骤可以包括以下子步骤:
子步骤S21,主控服务器获得目标终端发起的申请组播通信服务的服务请求协议包,服务请求协议包中包括服务类型信息、服务内容信息和目标终端的接入网地址。
其中,服务内容信息中包括服务号码。
子步骤S22,主控服务器依据所述服务号码在预置的内容-地址映射表中,提取源终端的接入网地址。
子步骤S23,主控服务器获取源终端对应的组播地址,并分配给目标终端;以及,依据服务类型信息、源终端和目标终端的接入网地址,获取当次组播服务的通信链路信息。
第一终端还可以返回步骤603继续检测当前的网络是否处于拥塞状态,循环执行步骤603~步骤611,直至第一终端不再发送业务数据为止。
本发明实施例能够实现在网络应用传输多种业务类型的数据时,保证具有高优先级的业务数据得到优先地、高质量地、实时地传输。
下面,以视频会议为例进行说明。
图7是本发明实施例二的一种视频会议的设备交互的示意图。在视频会议中,参与视频会议的可以包括领导演讲终端及多个听众终端,其中领导演讲终端为第一终端,听众终端为第二终端,领导演讲终端可以采集领导的视频和声音,并编码得到对应的业务数据,将业务数据发送出去,各个听众终端可以接收到上述业务数据,并对其进行解码播放。
图8是本发明实施例二的一种视频会议的数据传输示意图。领导演讲终端可以采集媒体流,并划分为文本、音频、视频三种业务数据,按照本实施例二的处理过程,当网络拥塞时可以先暂停视频业务数据的发送,将文本、音频两种业务数据发送给听众终端,在情况允许时再恢复发送视频业务数据,听众终端接收到媒体流后,对其进行解码后播放。
通过减少高优先级数据延时的方法可以实现公司领导通过实时会议进行演讲,该场合对于声音与字幕有很高的实时性与精准度要求。对此,将业务优先级从高到低设置为文本、音频、视频。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例三
参照图9,示出了本发明实施例三的一种数据传输装置的结构框图。
本发明实施例的数据传输装置可以包括以下位于第一终端中的模块:
创建模块901,用于将待发送的数据划分为不同类型的业务数据,并为每种类型的业务数据创建发送线程,以及为每个发送线程分配优先级;
检测模块902,用于检测当前的网络是否处于拥塞状态;
关闭模块903,用于若所述检测模块检测为是,则按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程;
开启模块904,用于若所述检测模块检测为否,则在确定存在关闭的发送线程后,按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程;
发送模块905,用于将当前开启的发送线程的业务数据发送至第二终端。
优选地,所述装置还包括位于第一终端中的以下模块:分包模块,用于计算分包大小,并将所述业务数据按照所述分包大小划分为业务数据包;所述发生模块,具体用于将当前开启的发送线程的各业务数据包发送至第二终端。
优选地,所述装置还包括位于第一终端中的以下模块:降低模块,用于在所述关闭模块按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程之后,按照优先级从高到低的顺序降低至少一个当前开启的发送线程的业务数据包的大小。
优选地,所述装置还包括位于第一终端中的以下模块:恢复模块,用于在所述开启模块确定存在关闭的发送线程后,按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程之后,按照优先级从低到高的顺序恢复至少一个当前开启的、且业务数据包大小已被降低的发送线程的业务数据包的大小。
优选地,所述装置还包括位于第一终端中的以下模块:确定模块,用于在所述关闭模块按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程之后,按照被关闭的发送线程的业务数据的类型和/或被关闭的发送线程的优先级,确定是否丢弃被关闭的发送线程的业务数据。
优选地,所述检测模块,还用于在所述开启模块按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程之前,检测当前的网络是否处于拥塞状态;若否,则调用开启模块执行相应操作。
本发明实施例可以根据业务数据的类型设置不同的优先级,当网络拥塞时,可以暂停发送低优先级的业务数据,从而保证高优先级的业务数据能够顺利发送,避免出现高优先级的业务数据传输延时较大、甚至丢失的情况,进而避免接收方终端出现播放卡顿、卡顿后快放等现象;并且在网络不拥塞后,继续发送之前暂停的低优先级的业务数据,从而保证低优先级的数据能够及时恢复发送,能够提升用户体验。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据传输方法和一种数据传输装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据传输方法,其特征在于,所述方法包括:
第一终端将待发送的数据划分为不同类型的业务数据,并为每种类型的业务数据创建发送线程,以及为每个发送线程分配优先级;
所述第一终端检测当前的网络是否处于拥塞状态;
若是,则按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程;
若否,则在确定存在关闭的发送线程后,按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程;
所述第一终端将当前开启的发送线程的业务数据发送至第二终端。
2.根据权利要求1所述的方法,其特征在于,
在所述第一终端将待发送的数据划分为不同类型的业务数据,并为每种类型的业务数据创建发送线程,以及为每个发送线程分配优先级的步骤之后,还包括:
所述第一终端计算分包大小,并将所述业务数据按照所述分包大小划分为业务数据包;
所述第一终端将当前开启的发送线程的业务数据发送至第二终端的步骤,包括:
所述第一终端将当前开启的发送线程的各业务数据包发送至第二终端。
3.根据权利要求2所述的方法,其特征在于,在所述按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程的步骤之后,还包括:
按照优先级从高到低的顺序降低至少一个当前开启的发送线程的业务数据包的大小。
4.根据权利要求3所述的方法,其特征在于,在所述在确定存在关闭的发送线程后,按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程的步骤之后,还包括:
按照优先级从低到高的顺序恢复至少一个当前开启的、且业务数据包大小已被降低的发送线程的业务数据包的大小。
5.根据权利要求1所述的方法,其特征在于,在所述按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程的步骤之后,还包括:
按照被关闭的发送线程的业务数据的类型和/或被关闭的发送线程的优先级,确定是否丢弃所述被关闭的发送线程的业务数据。
6.根据权利要求1所述的方法,其特征在于,在所述按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程的步骤之前,还包括:
所述第一终端检测当前的网络是否处于拥塞状态;
若否,则执行所述按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程的步骤。
7.一种数据传输装置,其特征在于,所述装置包括第一终端,所述第一终端包括:
创建模块,用于将待发送的数据划分为不同类型的业务数据,并为每种类型的业务数据创建发送线程,以及为每个发送线程分配优先级;
检测模块,用于检测当前的网络是否处于拥塞状态;
关闭模块,用于若所述检测模块检测为是,则按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程;
开启模块,用于若所述检测模块检测为否,则在确定存在关闭的发送线程后,按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程;
发送模块,用于将当前开启的发送线程的业务数据发送至第二终端。
8.根据权利要求7所述的装置,其特征在于,所述第一终端还包括:
分包模块,用于计算分包大小,并将所述业务数据按照所述分包大小划分为业务数据包;
所述发生模块,具体用于将当前开启的发送线程的各业务数据包发送至第二终端。
9.根据权利要求8所述的装置,其特征在于,所述第一终端还包括:
降低模块,用于在所述关闭模块按照优先级从低到高的顺序关闭当前开启的优先级最低的发送线程之后,按照优先级从高到低的顺序降低至少一个当前开启的发送线程的业务数据包的大小。
10.根据权利要求9所述的方法,其特征在于,所述第一终端还包括:
恢复模块,用于在所述开启模块确定存在关闭的发送线程后,按照优先级从高到低的顺序开启当前关闭的优先级最高的发送线程之后,按照优先级从低到高的顺序恢复至少一个当前开启的、且业务数据包大小已被降低的发送线程的业务数据包的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810828989.3A CN110768910A (zh) | 2018-07-25 | 2018-07-25 | 数据传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810828989.3A CN110768910A (zh) | 2018-07-25 | 2018-07-25 | 数据传输方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110768910A true CN110768910A (zh) | 2020-02-07 |
Family
ID=69328103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810828989.3A Pending CN110768910A (zh) | 2018-07-25 | 2018-07-25 | 数据传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110768910A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112242053A (zh) * | 2020-10-16 | 2021-01-19 | 中国飞机强度研究所 | 一种多类型试验数据优化传输系统及方法 |
CN113608863A (zh) * | 2021-06-29 | 2021-11-05 | 大唐互联科技(武汉)有限公司 | 一种海量数据分布式采集方法及系统 |
CN115633329A (zh) * | 2022-12-20 | 2023-01-20 | 联通智网科技股份有限公司 | 车联网拥塞状态的优化方法及装置、系统及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003063428A1 (en) * | 2002-01-18 | 2003-07-31 | At & T Corp. | System and method for handling prioritized data in a network |
US20070171914A1 (en) * | 2001-07-23 | 2007-07-26 | Broadcom Corporation | Flow based congestion control |
CN102447628A (zh) * | 2011-12-22 | 2012-05-09 | 苏州阔地网络科技有限公司 | 一种数据包传输处理方法及系统 |
CN102577279A (zh) * | 2009-10-22 | 2012-07-11 | 摩托罗拉解决方案公司 | 用于控制通信网络中的拥塞的方法和装置 |
CN104092624A (zh) * | 2014-06-27 | 2014-10-08 | 北京思特奇信息技术股份有限公司 | 一种信息下发流量及优先级控制系统及方法 |
CN106506622A (zh) * | 2016-10-26 | 2017-03-15 | 杭州华三通信技术有限公司 | 一种核心业务处理方法及装置 |
CN106598740A (zh) * | 2016-12-15 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种限制多线程程序占用cpu利用率的系统及限制方法 |
-
2018
- 2018-07-25 CN CN201810828989.3A patent/CN110768910A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070171914A1 (en) * | 2001-07-23 | 2007-07-26 | Broadcom Corporation | Flow based congestion control |
WO2003063428A1 (en) * | 2002-01-18 | 2003-07-31 | At & T Corp. | System and method for handling prioritized data in a network |
CN102577279A (zh) * | 2009-10-22 | 2012-07-11 | 摩托罗拉解决方案公司 | 用于控制通信网络中的拥塞的方法和装置 |
CN102447628A (zh) * | 2011-12-22 | 2012-05-09 | 苏州阔地网络科技有限公司 | 一种数据包传输处理方法及系统 |
CN104092624A (zh) * | 2014-06-27 | 2014-10-08 | 北京思特奇信息技术股份有限公司 | 一种信息下发流量及优先级控制系统及方法 |
CN106506622A (zh) * | 2016-10-26 | 2017-03-15 | 杭州华三通信技术有限公司 | 一种核心业务处理方法及装置 |
CN106598740A (zh) * | 2016-12-15 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种限制多线程程序占用cpu利用率的系统及限制方法 |
Non-Patent Citations (1)
Title |
---|
卓薇: ""高分辨视频无线传输的RTP分包方法"", 《计算机应用与软件》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112242053A (zh) * | 2020-10-16 | 2021-01-19 | 中国飞机强度研究所 | 一种多类型试验数据优化传输系统及方法 |
CN112242053B (zh) * | 2020-10-16 | 2022-06-28 | 中国飞机强度研究所 | 一种多类型试验数据优化传输系统及方法 |
CN113608863A (zh) * | 2021-06-29 | 2021-11-05 | 大唐互联科技(武汉)有限公司 | 一种海量数据分布式采集方法及系统 |
CN115633329A (zh) * | 2022-12-20 | 2023-01-20 | 联通智网科技股份有限公司 | 车联网拥塞状态的优化方法及装置、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109120879B (zh) | 一种视频会议的处理方法和系统 | |
CN109246486B (zh) | 一种组帧方法和装置 | |
CN110049271B (zh) | 一种视联网会议信息展示方法及装置 | |
CN109547163B (zh) | 一种数据传输速率的控制方法和装置 | |
CN108881948B (zh) | 一种视联网轮巡监控视频的方法和系统 | |
CN110049341B (zh) | 视频处理方法和装置 | |
CN109040656B (zh) | 一种视频会议的处理方法和系统 | |
CN110661726A (zh) | 一种基于多链路聚合的数据发送方法和装置 | |
CN108809921B (zh) | 一种音频处理方法、视联网服务器和视联网终端 | |
CN110768910A (zh) | 数据传输方法和装置 | |
CN110138513B (zh) | 一种数据传输方法和视联网系统 | |
CN111224889A (zh) | 一种数据传输的方法和装置 | |
CN109547727B (zh) | 数据缓存方法和装置 | |
CN110913162A (zh) | 一种音视频流数据处理方法和系统 | |
CN112311610B (zh) | 一种非ip体系下实现qos保障的通信方法和装置 | |
CN110769297A (zh) | 一种音视频数据的处理方法和系统 | |
CN110446058B (zh) | 视频获取方法、系统、设备和计算机可读存储介质 | |
CN109889516B (zh) | 一种会话通道的建立方法及装置 | |
CN109586851B (zh) | 基于视联网的数据传输方法和装置 | |
CN109474661B (zh) | 一种网络请求事件的处理方法和系统 | |
CN111245733A (zh) | 一种数据传输的方法和装置 | |
CN110049069B (zh) | 一种数据获取方法及装置 | |
CN110830817A (zh) | 视频转码容量调节方法及视频转码服务器 | |
CN110557411A (zh) | 基于视联网的视频流处理方法及装置 | |
CN110233872B (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 |