一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据传输方法、设备及计算机存储介质与流程

2022-05-08 04:42:44 来源:中国专利 TAG:


1.本技术涉及网络技术领域,尤其涉及一种数据传输方法、设备及计算机存储介质。


背景技术:

2.随着网络技术的飞速发展,实时流媒体传输进入全链路即时通信(real-time communication,简称rtc)时代,低延迟场景越来越多,其中,前向纠错码(forward error correction,简称fec)作为全链路的服务质量(quality of service,简称qos)优化方案之一,可以实现fec的编解码通用功能,以减少链路丢包、卡顿、延迟问题。
3.目前,在发送端通过网络服务器向接收端传输实时流媒体数据时,网络服务器往往是直接将实时流媒体数据发送至接收端,这样对数据进行传输的质量和效果没有保证,并且还会增加网络服务器所对应的数据传输成本和带宽成本。


技术实现要素:

4.本技术实施例提供一种数据传输方法、设备及计算机存储介质,由于服务器具有不同的运行模式,从而实现了可以在兼容抗丢包效果的同时,能够降低服务器所对应的数据传输成本和带宽成本。
5.第一方面,本技术实施例提供了一种数据传输方法,包括:
6.获取待传输的原始数据;
7.确定用于对所述原始数据进行传输的分级编码svc扩展头和与所述原始数据相对应的实际序列号;
8.基于所述svc扩展头和实际序列号对所述原始数据进行前向纠错码fec处理,生成与所述原始数据相对应的目标传输数据。
9.第二方面,本技术实施例提供了一种数据传输装置,包括:
10.第一获取模块,用于获取待传输的原始数据;
11.第一确定模块,用于确定用于对所述原始数据进行传输的分级编码svc扩展头和与所述原始数据相对应的实际序列号;
12.第一处理模块,用于基于所述svc扩展头和实际序列号对所述原始数据进行前向纠错码fec处理,生成与所述原始数据相对应的目标传输数据。
13.第三方面,本技术实施例提供了一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面所示的数据传输方法。
14.第四方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第一方面所示的数据传输方法。
15.第五方面,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行上述第一方面所示的数据传输方法。
16.第六方面,本发明实施例提供了一种数据传输方法,包括:
17.接收发送端发送的目标传输数据;
18.确定用于对所述目标传输数据进行传输的运行模式,所述运行模式包括以下任意之一:透传模式、解码透传模式、解码模式、编码解码模式;
19.基于所述运行模式将所述目标传输数据发送至接收端。
20.第七方面,本发明实施例提供了一种数据传输装置,包括:
21.第二接收模块,用于接收发送端发送的目标传输数据;
22.第二确定模块,用于确定用于对所述目标传输数据进行传输的运行模式,所述运行模式包括以下任意之一:透传模式、解码透传模式、解码模式、编码解码模式;
23.第二处理模块,用于基于所述运行模式将所述目标传输数据发送至接收端。
24.第八方面,本技术实施例提供了一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第六方面所示的数据传输方法。
25.第九方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第六方面所示的数据传输方法。
26.第十方面,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行上述第六方面所示的数据传输方法。
27.第十一方面,本技术实施例提供了一种数据传输方法,包括:
28.接收服务器发送的目标传输数据,所述目标传输数据包括以下至少之一:fec数据、原始数据;
29.在网络出现丢包时,基于所述目标传输数据中所包括的svc扩展头获取与所述目标传输数据相对应的虚拟序列号,所述虚拟序列号用于使得接收到的所有数据的序列号为连续的,其中,所述svc扩展头中包括所述原始数据的帧边界;
30.基于所述虚拟序列号对所述目标传输数据进行组帧,获得与所述目标传输数据相对应的图像帧。
31.第十二方面,本技术实施例提供了一种数据传输装置,包括:
32.第三接收模块,用于接收服务器发送的目标传输数据,所述目标传输数据包括以下至少之一:fec数据、原始数据;
33.第三获取模块,用于在网络出现丢包时,基于所述目标传输数据中所包括的svc扩展头获取与所述目标传输数据相对应的虚拟序列号,所述虚拟序列号用于使得接收到的所有数据的序列号为连续的,其中,所述svc扩展头中包括所述原始数据的帧边界;
34.第三处理模块,用于基于所述虚拟序列号对所述目标传输数据进行组帧,获得与所述目标传输数据相对应的图像帧。
35.第十三方面,本技术实施例提供了一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第十一方面所示的数据传输方法。
36.第十四方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第十一方面所示的数据传输方法。
37.第十五方面,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行上述第十一方面所示的数据传输方法。
38.本技术实施例提供的技术方案,在发送端获取原始数据之后,基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理操作,从而保证了对目标传输数据进行生成的质量和效果,在将目标传输数据发送至服务器时,在接收端接收到服务器发送的目标传输数据时,若网络出现丢包情况,为了保证能够使得接收端所接收到的所有数据的序列号为连续的序列号时,则可以基于所述目标传输数据中所包括的svc扩展头确定与目标传输数据相对应的虚拟序列号,而后可以基于虚拟序列号对目标传输数据进行组帧操作,这样有效地提高了对图像帧进行获取的质量和效果,进一步提高了该方法的实用性,有利于市场的推广与应用。
附图说明
39.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1为本技术实施例提供的一种数据传输方法的场景示意图;
41.图2为本技术实施例提供的一种数据传输方法的流程示意图;
42.图3为本技术实施例提供的svc扩展头的示意图;
43.图4为本技术实施例提供的基于所述svc扩展头和实际序列号对所述原始数据进行前向纠错码fec处理,生成与所述原始数据相对应的目标传输数据的流程示意图一;
44.图5a为本技术实施例提供的原始数据rtp数据包的示意图;
45.图5b为本技术实施例提供的一种fec数据的示意图;
46.图6为本技术实施例提供的对所述原始数据rtp数据包的头信息和负载信息进行fec编码操作,获得fec编码数据的示意图;
47.图7为本技术实施例提供的基于所述svc扩展头和实际序列号对所述原始数据进行前向纠错码fec处理,生成与所述原始数据相对应的目标传输数据的流程示意图二;
48.图8为本技术实施例提供的另一种数据传输方法的流程示意图;
49.图9为本技术实施例提供的又一种数据传输方法的流程示意图;
50.图10为本技术实施例提供的基于所述运行模式将所述目标传输数据发送至接收端的流程示意图;
51.图11为本技术实施例提供的另一种数据传输方法的流程示意图;
52.图12为本技术实施例提供的一种数据传输装置的结构示意图;
53.图13为图12所示的数据传输装置所对应的电子设备的结构示意图;
54.图14为本技术实施例提供的另一种数据传输装置的结构示意图;
55.图15为图14所示的数据传输装置所对应的电子设备的结构示意图;
56.图16为本技术实施例提供的一种数据传输装置的结构示意图;
57.图17为图16所示的数据传输装置所对应的电子设备的结构示意图。
具体实施方式
58.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.在本技术实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
60.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
61.取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
62.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
63.另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
64.术语解释:
65.前向纠错码(forward error correction,简称fec),是一种差错控制方式,它是指信号在被送入传输信道之前预先按一定的算法进行编码处理,加入带有信号本身特征的冗余码,在接收端按照相应算法对接收到的信号进行解码,从而找出在传输过程中产生的错误码并将其纠正的技术。
66.分级编码(scalable video coding,简称svc),是一种用来兼容不同的终端设备和链路带宽的技术。它的特点是对码流分层,低层码流可以单独解码,高层码流能增强视频的质量。
67.为了解决现有技术中存在的“在发送端通过网络服务器向接收端传输实时流媒体数据时,网络服务器往往是直接将实时流媒体数据发送至接收端,这样对数据进行传输的质量和效果没有保证,并且还会增加网络服务器所对应的数据传输成本和带宽成本”等问题,本实施例提供了一种数据传输方法、设备及计算机存储介质,其中,数据传输方法的执行主体为数据传输系统,参考附图1所示,该数据传输系统可以包括:发送端、服务器和接收端,发送端可以通过服务器与接收端通信连接,具体的,
68.发送端和接收端均可以是任何具有一定数据传输能力的计算设备,具体实现时,发送端和接收端可以是手机、平板电脑、设定应用程序等等。此外,发送端和接收端的基本结构可以包括:至少一个处理器。处理器的数量取决于发送端和接收端的配置和类型。发送
端也可以包括存储器,该存储器可以为易失性的,例如ram,也可以为非易失性的,例如只读存储器(read-only memory,简称rom)、闪存等,或者也可以同时包括两种类型。存储器内通常存储有操作系统(operating system,简称os)、一个或多个应用程序,也可以存储有程序数据等。除了处理单元和存储器之外,发送端和接收端还包括一些基本配置,例如网卡芯片、io总线、显示组件以及一些外围设备等。可选地,一些外围设备可以包括,例如键盘、鼠标、输入笔、打印机等。其它外围设备在本领域中是众所周知的,在此不做赘述。
69.服务器是指可以在网络虚拟环境中提供数据传输服务的设备,通常是指利用网络进行信息规划、数据传输操作的装置。在物理实现上,服务器可以是任何能够提供计算服务,响应服务请求,并进行处理的设备,例如:可以是集群服务器、常规服务器、云服务器、云主机、虚拟中心等。服务器的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
70.在上述本实施例中,发送端和接收端可以与服务器进行网络连接,该网络连接可以是无线或有线网络连接。若发送端和接收端与服务器是通信连接,该移动网络的网络制式可以为2g(gsm)、2.5g(gprs)、3g(wcdma、td-scdma、cdma2000、utms)、4g(lte)、4g (lte )、wimax、5g等中的任意一种。
71.发送端,用于获取待传输的原始数据,为了能够保证对原始数据进行传输的质量和效果,可以确定用于对原始数据进行传输的分级编码svc扩展头和与原始数据相对应的实际序列号,而后可以基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理操作,从而可以生成与原始数据相对应的目标传输数据,需要注意的是,目标传输数据中可以包括svc拓展头和实际序列号。在生成目标传输数据之后,可以将目标传输数据发送至服务器。
72.服务器,用于接收发送端所发送的目标传输数据,由于服务器可以对应有多种不同的运行模式,而不同的运行模式可以对应有不同的数据传输方式,因此,为了能够保证对目标传输数据进行传输的灵活可靠性,可以确定用于对目标传输数据进行传输的运行模式,该运行模式可以包括以下任意之一:透传模式、解码透传模式、解码模式、编码解码模式;而后可以基于运行模式将目标传输数据发送至接收端。
73.接收端,用于接收服务器发送的目标传输数据,由于服务器的不同运行模式所传输的目标传输数据不太相同,因此,接收端所接收到的目标传输数据可以包括以下至少之一:fec数据、原始数据;在网络出现丢包情况时,为了能够使得接收端所接收到的所有数据的序列号为连续的,则可以基于目标传输数据中所包括的svc扩展头获取与目标传输数据相对应的虚拟序列号,而后可以基于虚拟序列号对目标传输数据进行组帧操作,从而可以基于连续序列号的目标传输数据组帧获得图像帧,进而保证了对图像帧进行获取的准确可靠性。
74.本实施例提供的技术方案,在发送端获取原始数据之后,基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理操作,从而保证了对目标传输数据进行生成的质量和效果,在将目标传输数据发送至服务器时,由于服务器可以对应有不同的运行模式,因此可以确定用于对目标传输数据进行传输时的服务器运行模式,而后基于运行模式将目标传输数据传输至接收端,有效地实现了可以基于多种模式对数据进行传输操作,这样不仅降低了服务器所对应的数据传输成本和带宽成本,并且能够兼顾抗数据丢包的效果,同时
使得该技术方案可以适用于各个应用场景;在接收端接收到服务器发送的目标传输数据时,若网络出现丢包情况,为了保证能够使得接收端所接收到的所有数据的序列号为连续的序列号时,则可以确定与目标传输数据相对应的虚拟序列号,而后可以基于虚拟序列号对目标传输数据进行组帧操作,这样有效地提高了对图像帧进行获取的质量和效果,进一步提高了该方法的实用性,有利于市场的推广与应用。
75.下面结合附图,对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
76.图2为本技术实施例提供的一种数据传输方法的流程示意图;参考附图2所示,本实施例提供了一种数据传输方法,该方法的执行主体可以为数据传输装置,该数据传输装置可以实现为软件、或者软件和硬件的组合,在一些实例中,数据传输装置可以实现为发送端,具体的,该数据传输方法可以包括以下步骤:
77.步骤s201:获取待传输的原始数据。
78.步骤s202:确定用于对原始数据进行传输的分级编码svc扩展头和与原始数据相对应的实际序列号。
79.步骤s203:基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理,生成与原始数据相对应的目标传输数据。
80.下面对上述各个步骤进行详细说明:
81.步骤s201:获取待传输的原始数据。
82.其中,当用户存在实时数据的传输需求或者非实时数据的传输需求时,数据传输装置可以获取待传输的原始数据,原始数据可以为实时传输数据或者非实时传输数据,具体的,在原始数据为实时传输数据时,其可以包括以下至少之一:实时声音流数据、实时视频流数据、实时图像流数据、实时动画流数据等等,本领域技术人员可以根据具体的应用场景来配置不同的实时传输数据。
83.另外,本实施例对于待传输的原始数据的具体获取方式不做限定,在一些实例中,获取待传输的原始数据可以包括:获取发送端上用于实现与用户进行交互操作的显示界面,获取用户在显示界面中所输入的数据生成操作,基于数据生成操作生成并获取待传输的原始数据;或者,待传输的原始数据存储在预设区域或者预设设备中,通过访问预设区域或者预设设备即可获取到待传输的原始数据。当然的,原始数据的获取方式并不限于上述实现方式,本领域技术人员也可以采用其他的方式来获取待传输的原始数据,只要能够保证对待传输的原始数据进行获取的准确可靠性即可,在此不再赘述。
84.步骤s202:确定用于对原始数据进行传输的分级编码svc扩展头和与原始数据相对应的实际序列号。
85.在获取到原始数据之后,为了能够保证对原始数据进行传输的质量和效果,可以确定用于对原始数据进行传输的分级编码svc扩展头和与原始数据相对应的实际序列号,需要注意的是,在获取到不同的原始数据时,可以确定与不同原始数据相对应的不同的svc扩展头和不同的实际序列号。其中,svc扩展头用于标识原始数据帧的边界信息、帧类别信息和分层信息,具体的,参考附图3所示,svc拓展头可以包括:
86.t字段,为1bit,用于标识tid字段是否有效,默认为0;
87.tid字段,为标识层信息,2位标识信息,一般可以包括3层(0,1,2);
88.i字段,为1bit,用于标识数据帧是否为i帧;
89.s字段,为1bit,用于标识startseq|endseq字段是否有效;
90.e字段,用于标识是否后面有扩展,可以新增扩展(具体待定,主要用于扩充picture_id和ref id)1:有扩展:picture_id;
91.startseq字段,为16bit,这一帧的开始序列号;
92.endseq字段,为16bit,这一帧的结束序列号;
93.res字段,为1bit后面有real seq,1bit reserved字段,供将来扩展用,默认为0;
94.picture_id字段,为16bit,用于标识帧序列号。
95.与原始数据相对应的实际序列号可以用于传输真实序列号,其长度为2byte,无符号,具体的,实际序列号可以通过统一资源标志符(uniform resource identifier,简称uri)来获取,例如:可以通过以下统一资源标识符“uri:taobao:rtc-hdrext:video:compositiontime”来获取实际序列号。
96.另外,本实施例对于确定用于对原始数据进行传输的分级编码svc扩展头和与原始数据相对应的实际序列号的具体实现方式不做限定,在一些实例中,svc扩展头和实时序列号可以是预先配置的,此时,预先配置的svc扩展头和实际序列号可以存储在预设区域中,在获取待传输的原始数据时,则可以通过访问预设区域获取与原始数据相对应的svc扩展头和实际序列号。在另一些实例中,svc扩展头和实际序列号可以是基于用户输入的执行操作所生成的,具体的,确定用于对原始数据进行传输的分级编码svc扩展头和与原始数据相对应的实际序列号可以包括:获取用于与用户进行交互操作的交互界面,获取用户在交互界面中所输入的执行操作,基于执行操作生成并确定svc扩展头和实际序列号,从而有效地保证了对svc扩展头和实际序列号进行确定的准确可靠性。
97.步骤s203:基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理,生成与原始数据相对应的目标传输数据。
98.在获取到svc扩展头和实际序列号之后,可以基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理操作,以生成与原始数据相对应的目标传输数据,所生成的目标传输数据中可以包括svc扩展头和实际序列号,由于目标传输数据中包括svc扩展头和实际序列号,在对目标传输数据进行传输的过程中,可以基于svc扩展头和实际序列号保证对目标传输数据进行传输的质量和效率,从而使得该技术方案可以适用于不同的拥塞控制场景。
99.本实施例提供的数据传输方法,通过获取待传输的原始数据,而后确定用于对原始数据进行传输的分级编码svc扩展头和与原始数据相对应的实际序列号,并基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理,从而可以生成包括svc扩展头和实际序列号、且与原始数据相对应的目标传输数据,这样在对目标传输数据进行传输的过程中,可以基于目标传输数据中所配置的svc扩展头和实际序列号保证对目标传输数据进行传输的质量和效率,从而使得该方法可以适用于不同的拥塞控制场景,进一步提高了该方法的实用性,有利于市场的推广与应用。
100.图4为本技术实施例提供的基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理,生成与原始数据相对应的目标传输数据的流程示意图一;参考附图4所示,本
实施例提供了一种生成与原始数据相对应的目标传输数据的实现方式,具体的,本实施例中的基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理,生成与原始数据相对应的目标传输数据可以包括:
101.步骤s401:基于原始数据、svc扩展头和实际序列号,生成原始数据rtp数据包。
102.在获取到原始数据、svc扩展头和实际序列号之后,可以对原始数据、svc扩展头和实际序列号进行分析处理,具体的,可以对原始数据、svc扩展头和实际序列号进行处理,从而可以生成原始数据rtp数据包。其中,对于原始数据rtp数据包而言,其不仅可以包括svc扩展头和实际序列号,还可以包括rtp头部,具体的,参考附图5a所示,rtp头部可以出现在每个rtp包中,具体的,rtp头部中可以包括:
103.版本(v):2bit,此字段定义了rtp的版本。此协议定义的版本可以是2。(值1倍rtp草案版本使用,值0用在最终“vat”语音工具使用的协议中)
104.填充(p):1bit,若填料比特被设置,则此包包含一到多个附加在末端的填充比特,填充比特不算作负载的一部分。填充的最后一个字节指明可以忽略多少个填充比特。填充可能用于某些具有固定长度的加密算法,或者用于在底层数据单元中传输多个rtp包。
105.扩展(x):1bit,若设置扩展比特,固定头(仅)后面跟随一个头扩展。
106.csrc计数(cc):4bit,csrc计数包含了跟在固定头后面csrc识别符的数目。
107.标志(m):1bit,标志的解释由具体协议规定。它用来允许在比特流中标记重要的事件,如帧边界。
108.负载类型(pt):7bit,此域定义了负载的格式,由具体应用决定其解释,协议可以规定负载类型码和负载格式之间一个默认的匹配。其他的负载类型码可以通过非rtp方法动态定义。rtp发送端在任意给定时间发出一个单独的rtp负载类型;此域不用来复用不同的媒体流。
109.序列号(sequence number):16bit,每发送一个rtp数据包,序列号加1,接收端可以据此检测丢包和重建包序列。序列号的初始值是随机的(不可预测),以使即便在源本身不加密时(有时包要通过翻译器,它会这样做),对加密算法泛知的普通文本攻击也会更加困难。
110.时间戳(timestamp):32bit,时间戳反映了rtp数据包中第一个字节的采样时间。时钟频率依赖于负载数据格式,并在描述文件中进行描述。也可以通过rtp方法对负载格式动态描述。
111.同步信源(ssrc)标识符:占32位,用于标识同步信源。该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的ssrc。ssrc=len(实际rtp包长度)。
112.特约信源(csrc)标识符:每个csrc标识符占32位,可以有0~15个。每个csrc标识了包含在该rtp报文有效载荷中的所有特约信源。
113.另外,在对原始数据进行前向纠错码fec处理操作之前,fec数据中可以保护rtp头信息header和负载信息payload,具体的,fec包可以通过增加对应的svc扩展头和实际序列号real seqnumber来实现对rtp头信息header和负载信息payload的保护操作。
114.参考附图5b所示,负载信息payload对应于原始数据,rtp头信息中可以包括sn_base字段、k字段、n字段、i字段、max_grp_pkt_size字段、c字段和reserved字段,上述的sn_base字段用于标识该fec分组中第一个原始包的序列号seq_num(16bit),k用于标识原始包
格式(8bit),n用于标识原始包和冗余包总数(8bit),i用于标识每个包在分组中的相对序号(8bit),max_grp_pkt_size字段用于标识该fec分组中最大的包长度(16bit),c为1bit,用于标识是否跨帧,0用于标识帧内编码,1用于标识帧间编码,reserved字段用于标识保留字段(7bit),其中,帧间编码可以对非关键帧的集合进行编码操作,这样可以节省编码次元,从而可以实现数据处理成本和数据延迟之间的权衡,帧内编码用于对关键帧或者大帧进行编码操作;一般情况下,在不关注延迟的情况下,可以优先采用帧间编码对数据帧进行编码操作,在实时传输的场景中,可以优先采用帧内编码对数据帧进行编码操作。
115.此外,在对原始数据进行前向纠错码fec处理之后,fec数据可以单独配置有同步信源标识符ssrc和用于标识负载类型的pt标识,通过单独配置的ssrc方便对fec数据进行管理和维护操作。上述的ssrc还可以用于标识实际rtp包长度,在对数据进行传输的过程中,由于ssrc不会改变,因此,在对原始数据进行fec编码处理的过程中,可以无需对ssrc进行任何处理操作。相类似的,由于用于标识负载类型的pt标识在数据传输过程中可能会发生改变,因此,在对原始数据进行传输之前,可以先将pt置零,即将pt=0,而后可以将置零之后的pt进行编码传输操作,在接收端获取到pt之后,可以对pt进行数据恢复操作即可确定负载类型。在对原始数据进行传输的过程中,序列号seq可能会发生改变,因此,需要增加实际序列号的扩展头。timestamp时间戳信息在传输过程中不会发生改变,在对原始数据进行传输的过程中,可以无需进行任何处理操作。其他帧级别扩展头(例如cts拓展头)可以放在fec数据包中的拓展模块(即ext info模块)中,另外,该fec数据包中还可以包括用于标识是否进行跨帧操作的标识位(c位),通过标识位可以实现帧内编码或者帧间编码。
116.步骤s402:对原始数据rtp数据包的头信息和负载信息进行fec编码操作,获得fec编码数据。
117.在获取到原始数据rtp数据包之后,可以对原始数据rtp数据包的头信息和负载信息进行fec编码操作,从而可以获得fec编码数据。具体的,参考附图6所示,原始数据rtp数据包的头信息可以包括:ip头信息、传输头部、rtp头部,原始数据rtp数据包的负载信息可以为原始数据,为了能够实现对原始数据进行稳定地传输操作,可以对原始数据rtp数据包的头信息和负载信息进行fec编码操作,从而可以获得fec编码数据,此时的fec编码数据中可以包括与原始数据相对应的fec冗余数据,fec冗余数据所对应的数据量与fec冗余度相关,一般情况下,在fec冗余度越高时,则fec冗余数据所对应的数据量越大,需要注意的是,不同的应用场景中的原始数据可以配置有不同的fec冗余度。
118.步骤s403:基于fec编码数据和svc扩展头,生成与原始数据相对应的目标传输数据。
119.在获取到fec编码数据和svc扩展头之后,可以对fec编码数据和svc扩展头进行分析处理,具体的,可以直接将fec编码数据和svc扩展头进行整合处理,从而可以获得目标传输数据。
120.本实施例中,基于原始数据、svc扩展头和实际序列号,生成原始数据rtp数据包,而后对原始数据rtp数据包的头信息和负载信息进行fec编码操作,获得fec编码数据,并对fec编码数据和svc扩展头进行分析处理,以生成与原始数据相对应的目标传输数据,从而有效地提高了对目标传输数据进行确定的准确可靠性,进而保证了基于目标传输数据进行数据传输的质量和效果。
121.图7为本技术实施例提供的基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理,生成与原始数据相对应的目标传输数据的流程示意图二;参考附图7所示,本实施例提供了另一种生成与原始数据相对应的目标传输数据的实现方式,具体的,本实施例中的基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理,生成与原始数据相对应的目标传输数据可以包括:
122.步骤s701:在原始数据中包括b帧时,获取用于对原始数据中b帧进行编解码的视频显示时间与解码时间的差值时间cts扩展头。
123.其中,在原始数据中包括b帧时,为了能够保证对b帧数据进行传输的稳定可靠性,可以获取用于对原始数据中b帧进行编解码的cts扩展头,该cts扩展头即为视频显示时间与解码时间的差值时间,在一些实例中,cts扩展头与传递视频相对应,其单位ms(毫秒)。具体的,本实施例对于cts扩展头的具体获取方式不做限定,在一些实例中,cts扩展头可以是预先配置的,此时预先配置的cts扩展头可以存储在预设区域中,在获取待传输的原始数据、且原始数据中包括b帧时,则可以通过访问预设区域获取用于对原始数据中b帧进行编解码的视频显示时间与解码时间的差值时间cts扩展头。在另一些实例中,cts扩展头可以是基于用户输入的执行操作所生成的,具体的,获取用于对原始数据中b帧进行编解码的视频显示时间与解码时间的差值时间cts扩展头可以包括:获取用于与用户进行交互操作的交互界面,获取用户在交互界面中所输入的执行操作,基于执行操作生成并确定cts扩展头,从而有效地保证了对cts扩展头进行确定的准确可靠性。
124.步骤s702:基于svc扩展头、实际序列号和cts扩展头对原始数据进行前向纠错码fec处理,生成与原始数据相对应的目标传输数据。
125.在获取到svc扩展头、实际序列号和cts扩展头之后,可以基于svc扩展头、实际序列号和cts扩展头对原始数据进行前向纠错码fec处理,以生成与原始数据相对应的目标传输数据,所生成的目标传输数据可以包括svc扩展头、实际序列号和cts扩展头。
126.另外,本实施例对于生成与原始数据相对应的目标传输数据的具体实现方式不做限定,在一些实例中,预先配置有用于生成目标传输数据的机器学习模型,在获取到原始数据、svc扩展头、实际序列号和cts扩展头之后,可以将原始数据、svc扩展头、实际序列号和cts扩展头输入至机器学习模型中,从而可以获得机器学习模型所输出的目标传输数据。
127.在另一些实例中,基于svc扩展头、实际序列号和cts扩展头对原始数据进行前向纠错码fec处理,生成与原始数据相对应的目标传输数据可以包括:基于原始数据、svc扩展头、cts扩展头和实际序列号,生成原始数据rtp数据包;对原始数据rtp数据包的头信息和负载信息进行fec编码操作,获得fec编码数据;基于fec编码数据、svc扩展头和cts扩展头,生成与原始数据相对应的目标传输数据。
128.在获取到原始数据、svc扩展头、cts扩展头和实际序列号之后,可以对原始数据、svc扩展头、cts扩展头和实际序列号进行分析处理,具体的,可以对原始数据、svc扩展头、cts扩展头和实际序列号进行处理,从而可以生成原始数据rtp数据包。在获取到原始数据rtp数据包之后,可以对原始数据rtp数据包的头信息和负载信息进行fec编码操作,在获取到fec编码数据和cts扩展头之后,可以基于fec编码数据、svc扩展头和cts扩展头生成与原始数据相对应的目标传输数据。具体的,本实施例中上述步骤的实现方式和实现效果与上述实施例中步骤s402-步骤s403的实现方式和实现效果相类似,具体可参考上述陈述内容,
在此不再赘述。
129.本实施例中,在原始数据中包括b帧时,通过获取用于对原始数据中b帧进行编解码的视频显示时间与解码时间的差值时间cts扩展头,基于原始数据、svc扩展头、cts扩展头和实际序列号生成原始数据rtp数据包,而后对原始数据rtp数据包的头信息和负载信息进行fec编码操作,获得fec编码数据,并对fec编码数据和svc扩展头、cts扩展头进行分析处理,以生成与原始数据相对应的目标传输数据,从而有效地提高了对目标传输数据进行确定的灵活可靠性,进而保证了基于目标传输数据进行数据传输的质量和效果。
130.图8为本技术实施例提供的另一种数据传输方法的流程示意图;在上述任意一个实施例的基础上,参考附图8所示,本实施例提供了一种通过发送端来确定服务器相对应的运行模式的实现方式,具体的,在生成与原始数据相对应的目标传输数据之后,本实施例中的方法还可以包括:
131.步骤s801:确定与目标传输数据相对应的网络运行状态和场景信息。
132.在获取到目标传输数据之后,为了能够保证对目标传输数据进行传输的稳定可靠性,可以确定与目标传输数据相对应的网络运行状态和场景信息,其中,与目标传输数据相对应的网络运行状态可以包括:网络状态良好、网络状态一般、网络状态较差,具体的,确定与目标传输数据相对应的网络运行状态可以包括:获取与目标传输数据相对应的数据传输速率;基于数据传输速率确定与目标传输数据相对应的网络运行状态。在一些实例中,在数据传输速率大于或者等于预设阈值时,则确定与目标传输数据相对应的网络运行状态为良好状态;在数据传输速率小于预设阈值时,则确定与目标传输数据相对应的网络运行状态为较差状态。
133.另外,场景信息可以包括以下至少之:直播场景、实时会议场景、实时通讯场景(例如:语音通话场景、视频通话场景)等等,其中,直播场景包括但不限于:教育场景中的远程教育、直播课程、远程医疗等等。对于场景信息而言,本实施例对于场景信息的具体实现方式不做限定,在一些实例中,场景信息可以是用户直接配置的,此时,确定与目标传输数据相对应的场景信息可以包括:获取用于与用户进行交互操作的交互界面,获取用户在交互界面中所输入的执行操作,基于执行操作确定与目标传输数据相对应的场景信息。或者,在另一些实例中,目标传输数据中可以包括用于标识场景信息的场景标识信息,在获取到目标传输数据之后,可以提取目标传输数据中所包括的场景标识信息,而后基于场景标识信息确定与目标传输数据相对应的场景信息,从而有效地保证了对场景信息进行确定的准确可靠性。
134.步骤s802:基于网络运行状态和场景信息,确定与服务器相对应的运行模式,运行模式包括以下任意之一:透传模式、解码透传模式、解码模式、编码解码模式。
135.在获取到网络运行状态和场景信息之后,可以对网络运行状态和场景信息进行分析处理,以确定与服务器相对应的运行模式,其中,运行模式可以包括以下至少之一:透传模式、解码透传模式、解码模式、编码解码模式。
136.具体的,在服务器处于透传模式时,在服务器获取到目标传输数据之后,不会对目标传输数据进行任何数据处理操作,将目标传输数据直接发送至接收端,该透传模式可以适用于直播应用场景或者一对一、且网络链路相对较短的直播场景。此外,在服务器处于透传模式时,还可以根据网络的运行状态动态调整目标传输数据所对应的fec冗余度,例如:
在网络运行状态良好时,与目标传输数据所对应的fec冗余度可以为第一冗余度;在网络运行状态一般时,与目标传输数据所对应的fec冗余度可以为第二冗余度,其中,第二冗余度大于第一冗余度,从而有利于节省网络带宽成本,并提高数据资源的利用率。
137.在服务器处于解码透传模式时,服务器可以获取目标传输数据,在服务器获取到目标传输数据之后,可以对目标传输数据中的第一跳数据进行解码,获得与第一跳数据相对应的第一跳原始数据;而后基于第一跳原始数据将目标传输数据发送至接收端,该解码透传解码模式可以适用于特定直播场景,例如:需要保证第一跳数据不丢包的需要特定保护的直播场景。
138.在服务器处于解码模式时,服务器可以获取目标传输数据,在服务器获取到目标传输数据之后,可以获取目标传输数据中的第一跳数据和位于第一跳数据之后的其他跳数据;而后将其他跳数据中包括的fec数据删除,获得调整后数据;将第一跳数据和调整后数据发送至接收端。在服务器处于编码解码模式时,在服务器获取到目标传输数据之后,可以对目标传输数据进行解码处理,获得与目标传输数据相对应的原始数据;而后对原始数据进行编码,获得编码后数据;并将编码后数据发送至接收端。
139.另外,本实施例对于确定与服务器相对应的运行模式的具体实现方式不做限定,在一些实例中,预先训练有用于确定运行模式的机器学习模型,在获取到网络运行状态和场景信息之后,可以将网络运行状态、场景信息和目标传输数据输入至机器学习模型中,从而可以获得机器学习模型中所输出的与服务器相对应的运行模式。或者,在另一些实例中,基于网络运行状态,确定与服务器相对应的运行模式可以包括:基于网络运行状态和场景信息,确定与服务器相对应的用于对目标传输数据进行传输的运行模式标识;基于运行模式标识,确定与服务器相对应的运行模式。
140.具体的,在获取到网络运行状态和场景信息之后,可以对网络运行状态和场景信息进行分析处理,以确定与服务器相对应的用于对目标传输数据进行传输的运行模式标识。在一些实例中,数据传输装置通信连接有管理中心,在数据传输装置获取到网络运行状态和场景信息之后,可以将网络运行状态和场景信息发送至管理中心,在管理中心获取到网络运行状态和场景信息之后,可以基于网络运行状态和场景信息来确定与服务器相对应的运行模式,而后可以将与服务器相对应的运行模式发送至数据传输装置,从而使得数据传输装置可以稳定地获取或者确定与服务器相对应的运行模式。
141.本实施例中,通过确定与目标传输数据相对应的网络运行状态和场景信息,而后基于网络运行状态和场景信息确定与服务器相对应的运行模式,有效地保证了对与服务器相对应的运行模式进行确定的准确可靠性,进而可以基于服务器所处的运行模式对目标传输数据进行传输操作,进一步保证了对目标传输数据进行传输的稳定可靠性。
142.图9为本技术实施例提供的又一种数据传输方法的流程示意图;参考附图9所示,本实施例提供了又一种数据传输方法,该方法的执行主体可以为数据传输装置,该数据传输装置可以实现为软件、或者软件和硬件的组合,在一些实例中,数据传输装置可以实现为服务器,具体的,该数据传输方法可以包括以下步骤:
143.步骤s901:接收发送端发送的目标传输数据。
144.其中,在发送端获取到目标传输数据,并将目标传输数据发送至服务器时,服务器可以接收到发送端所发送的目标传输数据,该目标传输数据可以为实时传输数据,具体的,
实时传输数据可以包括以下至少之一:实时声音流数据、实时视频流数据、实时图像流数据、实时动画流数据等等,本领域技术人员可以根据具体的应用场景来配置不同的实时传输数据。
145.步骤s902:确定用于对目标传输数据进行传输的运行模式,运行模式包括以下任意之一:透传模式、解码透传模式、解码模式、编码解码模式。
146.由于服务器具有不同的运行模式,不同的运行模式可以对应有不同的数据传输操作,因此,为了能够保证对目标传输数据进行传输的稳定可靠性,可以确定用于对目标传输数据进行传输的运行模式,该运行模式可以包括以下至少之一:透传模式、解码透传模式、解码模式、编码解码模式。
147.另外,本实施例对于确定用于对目标传输数据进行传输的运行模式的具体实现方式不做限定,在一些实例中,服务器的运行模式可以是发送端所配置的,具体的,在对目标传输数据进行处理之前,发送端可以确定用于对目标传输数据相对应的服务器的运行模式,而后可以向服务器发送模式运行指令,在服务器获取到模式运行指令之后,可以基于模式运行指令确定所处的运行模式。或者,在另一些实例中,服务器的运行模式可以是服务器基于网络运行状态和场景信息进行确定的,具体的,在对目标传输数据进行处理之前,本实施例中的方法还可以包括:获取网络运行状态和场景信息,在获取到网络运行状态和场景信息之后,可以对网络运行状态和场景信息进行分析处理,以确定与服务器相对应的运行模式,其中,运行模式可以包括以下至少之一:透传模式、解码透传模式、解码模式、编码解码模式。
148.其中,预先训练有用于确定运行模式的机器学习模型,在获取到网络运行状态和场景信息之后,可以将网络运行状态、场景信息和目标传输数据输入至机器学习模型中,从而可以获得机器学习模型中所输出的与服务器相对应的运行模式。或者,在另一些实例中,基于网络运行状态和场景信息,确定与服务器相对应的运行模式可以包括:获取用于确定运行模式的映射表,基于网络运行状态和场景信息进行查表操作,确定与服务器相对应的用于对目标传输数据进行传输的运行模式标识;基于运行模式标识,确定与服务器相对应的运行模式。
149.步骤s903:基于运行模式将目标传输数据发送至接收端。
150.在获取到服务器的运行模式之后,可以基于服务器的运行模式将目标传输数据发送至接收端,从而使得接收端可以稳定地接收到目标传输数据。
151.需要注意的是,由于服务器所处的运行模式可以包括透传模式、解码透传模式、解码模式、编码解码模式等等,而不同的运行模式可以对应有不同的数据传输策略,为了使得用户了解上述运行模式之间的差异和区别,下面对服务器出现各个运行模式下所对应的数据传输策略进行详细说明:
152.实例1:在服务器的运行模式为透传模式时,基于运行模式将目标传输数据发送至接收端可以包括:将目标传输数据直接发送至接收端。
153.具体的,在服务器的运行模式为透传模式时,有效的实现了对目标传输数据的全链路透传操作,此时,服务器并不会对目标传输数据进行任何的编解码处理,该透传模式适用于大规模数据传输的场景或者对服务器的成本有限制的场景,例如:直播场景,网络链路很短的一对一的通信连接场景等等。
154.实例2:在服务器的运行模式为解码透传模式时,基于运行模式将目标传输数据发送至接收端可以包括:获取目标传输数据中的第一跳数据;对第一跳数据进行解码,获得与第一跳数据相对应的第一跳原始数据;基于第一跳原始数据将目标传输数据发送至接收端。
155.其中,由于第一跳数据传输的稳定性直接影响整个数据的传输效果,例如:若目标传输数据的第一跳数据传输异常,则对目标传输数据之后的所有数据的传输操作都会出现问题。因此,第一跳数据的传输稳定性对于目标传输数据的整个传输过程而言具有较大影响,为了能够保证目标传输数据传输的稳定可靠性,在服务器的运行模式为解码透传模式时,服务器可以对所接收到的目标传输数据中的第一跳数据进行解码操作,以恢复出与第一跳数据相对应的第一跳原始数据,而后可以基于第一跳原始数据将目标传输数据发送接收端,这样可以有效地解决第一跳数据出现丢包的情况。该解码透传模式适用于大规模数据传输的场景或者对服务器的成本有限制的场景,例如:具有特定保护对象的直播场景、具有特定保护策略的数据传输场景。
156.需要注意的是,基于第一跳原始数据将目标传输数据发送接收端可以包括:检测目标传输数据中的第一跳原始数据是否存在丢包情况,若目标传输数据中的第一跳原始数据未出现丢包情况,则可以直接将目标传输数据透传至接收端;若目标传输数据中的第一跳原始数据出现丢包情况,则利用解码所获得的第一跳原始数据替换目标传输数据中所包括的第一跳数据,获得替换后传输数据,而后可以将替换后传输数据发送至接收端,从而有效地保证了接收端可以稳定地接收到目标传输数据的第一跳处理,进而有效地避免了出现第一跳数据丢包的情况。
157.实例3:在服务器的运行模式为解码模式时,基于运行模式将目标传输数据发送至接收端可以包括:获取目标传输数据中的第一跳数据和位于第一跳数据之后的其他跳数据;将其他跳数据中包括的fec数据删除,获得调整后数据;将第一跳数据和调整后数据发送至接收端。
158.其中,服务器的解码模式能够解决第一跳弱网问题,具体的,在用于对目标传输数据进行传输的网络带宽或者网络状态较差时,为了能够保证第一跳数据进行传输的稳定可靠性,在服务器获取到目标传输数据之后,可以确定目标传输数据中所包括的第一跳数据和位于第一跳数据之后的其他跳数据,受到网络带宽或者网络状态的影响,为了能够提高对负载数据或者有效数据以及第一跳数据进行传输的质量和效果,可以将其他跳数据中所包括的fec数据(即fec编码冗余数据)删除,从而可以获得调整后数据,在获取到调整后数据和第一跳数据之后,可以将第一跳数据和调整后数据发送至接收端,从而有效地保证了接收端可以获取到第一跳数据和调整后数据,其中,第一跳数据对应有fec编码策略,而调整后数据未对应有fec编码策略,有效地实现了可以在弱网的情况下对目标传输数据进行传输操作。
159.实例4:在服务器的运行模式为编码解码模式时,基于运行模式将目标传输数据发送至接收端可以包括:对目标传输数据进行解码处理,获得与目标传输数据相对应的原始数据;对原始数据进行编码,获得编码后数据;将编码后数据发送至接收端。
160.其中,在服务器的运行模式为编码解码模式时,则说明在服务器获取到目标传输数据之后,会对目标传输数据中的每一跳数据均进行编码解码操作,具体的,先对目标传输
数据进行解码处理,从而可以获得与目标传输数据相对应的原始数据,而后对原始数据进行编码处理,获得编码后数据,而后可以将编码后数据发送至接收端,即服务器实现了点对点的编解码操作,这样会降低整个通信链路的传输延时,同时保证了对目标传输数据进行传输的质量和效果,但是会增加服务器核心处理器cpu的成本。
161.由上可知,服务器所处的不同运行模式可以实现不同的数据传输操作,且具有不同的数据传输效果,本领域技术人员可以根据具体的应用场景和应用需求来配置服务器的运行模式,在此不再赘述。
162.本实施例提供的数据传输方法,通过接收发送端发送的目标传输数据,确定用于对目标传输数据进行传输的运行模式,并基于运行模式将目标传输数据发送至接收端,其中,由于服务器所处的运行模式可以包括透传模式、解码透传模式、解码模式、编码解码模式,而不同的运行模式可以对应有不同的数据传输策略,有效地实现了解决了在大规模使用fec场景中,服务器中cpu成本和带宽成本较高的问题,具体的,在服务器所处的不同运行模式下,可以采用不同的策略对目标传输数据进行灵活、有效地数据传输操作,例如:支持拥塞控制场景和fec策略的结合操作、支持全链路透传操作、支持多种应用场景、支持动态交互操作,这样样不仅会降低带宽成本,并且能兼顾抗丢包的效果,进一步提高了该方法使用的灵活可靠性,有利于市场的推广与应用。
163.图10为本技术实施例提供的基于运行模式将目标传输数据发送至接收端的流程示意图;参考附图10所示,本实施例中提供了一种在拥塞控制场景中对目标传输数据进行传输的实现方式,具体的,本实施例中的基于运行模式将目标传输数据发送至接收端可以包括:
164.步骤s1001:获取拥塞控制参数,拥塞控制参数表征用于对目标传输数据进行传输的网络拥塞的程度。
165.其中,在服务器获取到目标传输数据之后,为了能够保证对目标传输数据进行传输的稳定可靠性,可以获取拥塞控制参数,该拥塞控制参数表征用于对目标传输数据进行传输的网络拥塞的程度,在一些实例中,拥塞控制参数可以与网络拥塞程度呈正相关,即在网络拥塞程度越大时,则拥塞控制参数越大,在网络拥塞程度越小时,则拥塞控制参数越小。
166.另外,本实施例对于拥塞控制参数的具体获取方式不做限定,在一些实例中,拥塞控制参数可以是预先配置的,预先配置的拥塞控制参数可以存储在预设区域或者预设设备中,通过访问预设区域或者预设设备即可获取拥塞控制参数。或者,在另一些实例中,拥塞控制参数可以是基于网络拥塞程度自动确定的,此时,获取拥塞控制参数可以包括:获取用于对目标传输数据进行传输的网络拥塞的程度,一般情况下,网络拥塞的程度与网络传输速率、网络带宽、目标传输数据的数据量相关,因此可以通过网络传输速率、网络带宽、目标传输数据的数据量确定网络拥塞的程度。在获取到网络拥塞的程度之后,可以确定与网络拥塞的程度相对应的拥塞控制参数,从而有效地保证了对拥塞控制参数进行获取的准确可靠性。
167.步骤s1002:基于拥塞控制参数对目标传输数据进行调整,获得调整后传输数据。
168.由于不同的拥塞控制参数标识用于对目标传输数据进行传输的网络的不同拥塞程度,在利用不同拥塞程度的网络对目标传输数据进行传输时,为了能够保证对目标传输
数据进行传输的稳定可靠性,在获取到拥塞控制参数之后,可以基于拥塞控制参数对目标传输数据进行调整,以获得调整后传输数据,调整后传输数据所对应的数据量小于目标传输数据所对应的数据量。
169.另外,本实施例对于基于拥塞控制参数对目标传输数据进行调整的具体实现方式不做限定,在一些实例中,基于拥塞控制参数对目标传输数据进行调整,获得调整后传输数据可以包括:基于拥塞控制参数确定与目标传输数据相对应的需删除数据量;基于需删除数据量对目标传输数据进行删除操作,从而可以获得调整后传输数据。或者,在另一些实例中,基于拥塞控制参数对目标传输数据进行调整,获得调整后传输数据可以包括:获取目标传输数据中各个数据所对应的优先级;基于优先级和拥塞控制参数对目标传输数据中的部分数据进行删除,获得调整后传输数据。
170.其中,目标传输数据中包括原始数据、fec编码冗余数据等各个数据,而fec编码冗余数据用于在数据丢包时实现数据恢复操作,即保证对原始数据进行传输的稳定可靠性,当网络拥塞时,首先要保证对原始数据进行稳定地传输操作,此时,对于目标传输数据中的原始数据和fec编码冗余数据等各个数据而言,可以配置有不同的传输优先级,一般情况下,原始数据的传输优先级高于fec编码冗余数据所对应的传输优先级。
171.由上可知,为了能够实现利用不同拥塞程度的网络对目标传输数据进行稳定有效地传输操作,可以获取目标传输数据中各个数据所对应的优先级,其中,目标传输数据中各个数据所对应的优先级可以是预先配置的,例如:原始数据所对应的优先级为第一优先级,fec编码冗余数据所对应的优先级为第二优先级,其他数据所对应的优先级为第三优先级等等,其中,第一优先级的传输优先级高于第二优先级,第二优先级的传输优先级高于第三优先级。在获取到目标传输数据中各个数据所对应的优先级之后,可以基于优先级和拥塞控制参数对目标传输数据中的部分数据进行删除,获得调整后传输数据。
172.需要注意的是,基于优先级和拥塞控制参数对目标传输数据的部分数据进行删除可以包括:基于目标传输数据中所包括的svc扩展头信息,基于svc扩展头信息确定与目标传输数据相对应的分层信息,而后基于优先级、拥塞控制参数和分层信息对目标传输数据的部分数据进行分层删除操作,从而可以获得调整后传输数据。
173.举例来说,通过目标传输数据中的svc扩展头信息可以确定目标传输数据中包括原始数据和fec数据,其中,原始数据的优先级高于fec数据的优先级,fec数据可以包括三层数据,即第0层fec数据、第1层fec数据和第2层fec数据,其中,上述第0层fec数据、第1层fec数据和第2层fec数据所对应的优先级可以相同或者不同,在一些实例中,在对数据进行分层处理时,在数据所对应的层数越小时,则数据所对应的优先级越高,即上述第0层fec数据的优先级高于第1层fec数据的优先级,第1层fec数据的优先级高于第2层fec数据的优先级。在获取到拥塞控制参数之后,在一些情况中,基于拥塞控制参数和优先级只需要将fec数据中的一层数据删除即可,例如,可以将第2层fec数据删除,保留第0层fec数据和第1层fec数据,从而可以获得包括原始数据、第0层fec数据和第1层fec数据的调整后传输数据。在一些情况中,基于拥塞控制参数和优先级需要将fec数据中的两层数据删除,例如:可以将第2层fec数据和第1层fec数据删除,保留第0层数据,从而可以获得包括原始数据和第0层fec数据的调整后传输数据。在又一些情况中,基于拥塞控制参数和优先级需要将fec数据中的三层数据均删除,例如:可以将第0层fec数据、第1层fec数据和第2层数据删除,从而
可以获得只包括原始数据的调整后传输数据。
174.步骤s1003:基于运行模式将调整后传输数据发送至接收端。
175.在获取到调整后传输数据之后,可以基于运行模式将调整后传输数据发送至接收端,从而使得接收端可以稳定地接收到调整后传输数据。其中,本实施例中的基于运行模式将调整后传输数据发送至接收端的实现方式和实现效果与上述实施例中步骤s903的实现方式和实现效果相类似,具体可参考上述内容,在此不再赘述。
176.本实施例中,通过获取拥塞控制参数,而后基于拥塞控制参数对目标传输数据进行调整,获得调整后传输数据,并基于运行模式将调整后传输数据发送至接收端,从而有效地实现了可以在不同的网络拥塞程度的情况下,基于服务器所运行的不同的运行模式对目标传输数据进行灵活、有效地传输操作,进一步提高了该方法的实用性和适用范围。
177.图11为本技术实施例提供的另一种数据传输方法的流程示意图;参考附图11所示,本实施例提供了另一种数据传输方法,该方法的执行主体可以为数据传输装置,该数据传输装置可以实现为软件、或者软件和硬件的组合,在一些实例中,数据传输装置可以实现为接收端,具体的,该数据传输方法可以包括以下步骤:
178.步骤s1101:接收服务器发送的目标传输数据,目标传输数据包括以下至少之一:fec数据、原始数据。
179.其中,在服务器向接收端发送目标传输数据,接收端可以接收到目标传输数据,需要注意的是,由于服务器具有不同的运行模式,且能够基于网络的拥塞程度对目标传输数据进行调整处理,因此,接收端所接收到的目标传输数据可以包括以下至少之一:fec数据、原始数据,即在一些实例中,接收端所接收到的目标传输数据可以仅包括fec数据,此时,目标传输数据中的原始数据在传输过程中出现丢包情况。在一些实例中,接收端所接收到的目标传输数据可以仅包括原始数据,此时,目标传输数据中的fec数据在传输过程中出现丢包情况或者被删除。在一些实例中,接收端所接收到的目标传输数据可以包括原始数据和fec数据,此时,目标传输数据在传输过程中未出现丢包情况。
180.步骤s1102:在网络出现丢包时,基于目标传输数据中所包括的svc扩展头获取与目标传输数据相对应的虚拟序列号,虚拟序列号用于使得接收到的所有数据的序列号为连续的,其中,svc扩展头中包括所述原始数据的帧边界。
181.在对目标传输数据进行传输的过程中,可能会因网络的运行状态而出现丢包情况,例如:在网络运行不稳定或者网络设备出现短暂故障时,网络会出现丢包情况;或者,在网络出现拥塞时,服务器会主动丢帧降低码率,此时,网络也会出现丢包情况。无论是何种原因导致网络出现丢包的情况,在网络出现丢包时,为了能够使得接收端接收到的所有数据中的序列号为连续的,则可以获取与目标传输数据相对应的虚拟序列号。具体的,本实施例对于获取与目标传输数据相对应的虚拟序列号的具体实现方式不做限定,在一些实例中,虚拟序列号可以是用户进行配置的,此时,获取与目标传输数据相对应的虚拟序列号可以包括:获取用于与用户进行交互操作的显示界面,获取用户在显示界面所输入的执行操作,基于执行操作确定与目标传输数据相对应的虚拟序列号。或者,在另一些实例中,基于所述目标传输数据中所包括的svc扩展头获取与目标传输数据相对应的虚拟序列号可以包括:获取与目标传输数据相对应的实际序列号;确定虚拟序列号与实际序列号之间的映射关系;基于映射关系和所述svc扩展头中包括所述原始数据的帧边界,确定与实际序列号相
对应的虚拟序列号。
182.其中,目标传输数据中可以包括与实际传输数据相对应的实际序列号,实际序列号可以存储在原始数据所对应的rtp数据包中,因此,在获取到目标传输数据之后,可以对目标传输数据进行特征提取操作,从而可以获得与目标传输数据相对应的实际序列号。对于目标传输数据而言,预先配置有虚拟序列号与实际序列号之间的映射关系,映射关系的一种实现方式可参见下述表格:
183.虚拟序列号v1v2v3v4v5v6v7......v12v13实际序列号r5r6r10r11r15r20r21
ꢀꢀꢀ
184.在获取到实际序列号之后,可以基于映射关系和所述svc扩展头中包括所述原始数据的帧边界来确定与实际序列号相对应的虚拟序列号,从而有效地实现了对虚拟序列号进行确定的准确可靠性。
185.需要注意的是,在对目标传输数据进行传输的过程中,经常会出现丢包或者乱序的情况,例如:可能会出现部分丢包的场景或者相应帧全部丢失的场景,在不同的场景中,可以对应有不同的虚拟序列号的确定方式。具体的,在部分丢包的场景中,可以根据svc扩展头中所包括的原始数据的帧边界和映射关系来确定与实际序列号相对应的虚拟序列号,以实现数据恢复操作。举例来说,在获取到svc扩展头之后,可以基于svc拓展头中所包括的帧边界确定需要保护的数据帧,在帧边界为start=r20、end=r24时,进而可以确定svc扩展头所保护的数据帧为r20到r24,即r20到r40可以构成一个数据帧,当获取到的目标传输数据中仅包括部分数据帧,而部分数据帧所对应的实际序列号为r20和r21时,上述实际序列号r20所对应的虚拟序列号可以为v6,实际序列号r21所对应的虚拟序列号可以为v7,而其他的数据帧丢失。为了能够实现数据恢复操作,则可以基于上述的svc拓展头和映射关系推算出:实际序列号r22所对应的虚拟序列号可以为v8,实际序列号r23所对应的虚拟序列号可以为v9,实际序列号r24所对应的虚拟序列号可以为v10,从而有效地实现了对虚拟序列号进行确定的准确可靠性,在确定虚拟序列号之后,可以基于虚拟序列号进行数据恢复操作。
186.在相应帧全部丢失的场景中,可以利用svc扩展头中所包括的原始数据的帧边界和映射关系来尽力确定与实际序列号相对应的虚拟序列号,以尽力实现数据恢复操作。举例来说,目标传输数据中所对应的实际序列号和虚拟序列号可以分别为:虚拟序列号(v1,v2,v3,v4,v5......v12,v13)、实际序列号(r20,r21,r22,r23,r24......),在对目标传输数据进行传输的过程中,若出现相应帧全部丢失的情况时,例如:只获取到实际序列号r30到r32所对应的数据包,位于前面的数据包全部丢失。此时,为了能够准确地恢复数据包,可以先将上述所获得的实际序列号r30到r32所对应的数据包缓存在预设区域中,而后可以基于之后所接收到的数据包来尽量恢复数据,例如:之后接收到虚拟序列号v12到v13所对应的数据包之后,上述v12所对应的实际序列号为r32或者r33,上述v13所对应的实际序列号为r34,由于上述v12所对应的实际序列号为r32或者r33与缓存在预设区域中的实际序列号r32重叠或者相邻,因此,可以基于svc中所包括的帧边界和映射关系来推算或者预估出r30与r32所对应的虚拟序列号,即r30所对应的虚拟序列号可以为v10或者v9,r31所对应的虚拟序列号可以为v11或者v10,r32所对应的虚拟序列号可以为v12或者v11,进而有效地实现了利用svc扩展头中所包括的原始数据的帧边界和映射关系来尽力确定与实际序列号相对
应的虚拟序列号,以尽力实现数据恢复操作。
187.步骤s1103:基于虚拟序列号对目标传输数据进行组帧,获得与目标传输数据相对应的图像帧。
188.在获取到虚拟序列号之后,可以基于虚拟序列号对目标传输数据进行组帧处理,从而可以获得与目标传输数据相对应的图像帧。在一些实例中,基于虚拟序列号对目标传输数据进行组帧,获得与目标传输数据相对应的图像帧可以包括:将虚拟序列号直接添加至目标传输数据中,形成新的目标传输数据,而后可以对新的目标传输数据进行组帧处理,即将连续的几帧目标传输数据组帧为图像帧,从而有效地保证了对图像帧进行获取的准确可靠性。
189.在又一些实例中,基于虚拟序列号对目标传输数据进行组帧,获得与目标传输数据相对应的图像帧可以包括:获取目标传输数据中fec数据中所包括的原始序列号;将原始序列号替换为虚拟序列号,获得与目标传输数据相对应的调整后数据;基于调整后数据进行组帧处理,获得与目标传输数据相对应的图像帧。
190.具体的,由于目标传输数据中包括预先配置的原始序列号,该原始序列号与目标传输数据所对应的负载数据相对应,若目标传输数据在传输过程中出现丢包情况,原始序列号可能会与目标传输数据中所包括的负载数据不对应,因此,在获取到虚拟序列号之后,可以将原始序列号替换为虚拟序列号,从而可以获得与目标传输数据相对应的调整后数据,调整后数据中所包括的虚拟序列号与接收端所接收到的负载数据相对应,因此,保证了接收端所接收到的所有数据的序列号均是连续的,进而可以基于调整后数据进行组帧处理,获得目标传输数据相对应的图像帧。
191.本实施例提供的数据传输方法,通过接收服务器发送的目标传输数据,在网络出现丢包时,获取与目标传输数据相对应的虚拟序列号,而后基于虚拟序列号对目标传输数据进行组帧,从而可以获得与目标传输数据相对应的图像帧,这样有效地实现了在网络出现丢包时,接收端所接收到的所有数据的序列号均是连续的,这样并不影响对目标传输数据进行组帧处理,进而保证了对与目标传输数据相对应的图像帧进行获取的准确可靠性,进一步提高了该方法使用的稳定可靠性,有利于市场的推广与应用。
192.图12为本技术实施例提供的一种数据传输装置的结构示意图;参考附图12所示,本实施例提供了一种数据传输装置,该数据传输装置用于执行上述图2所示的数据传输方法,具体的,该数据传输装置可以包括:
193.第一获取模块11,用于获取待传输的原始数据;
194.第一确定模块12,用于确定用于对原始数据进行传输的分级编码svc扩展头和与原始数据相对应的实际序列号;
195.第一处理模块13,用于基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理,生成与原始数据相对应的目标传输数据。
196.在一些实例中,在第一处理模块13基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理,生成与原始数据相对应的目标传输数据时,该第一处理模块13用于执行:基于原始数据、svc扩展头和实际序列号,生成原始数据rtp数据包;对原始数据rtp数据包的头信息和负载信息进行fec编码操作,获得fec编码数据;基于fec编码数据和svc扩展头,生成与原始数据相对应的目标传输数据。
197.在一些实例中,在第一处理模块13基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理,生成与原始数据相对应的目标传输数据时,该第一处理模块13用于执行:在原始数据中包括b帧时,获取用于对原始数据中b帧进行编解码的视频显示时间与解码时间的差值时间cts扩展头;基于svc扩展头、实际序列号和cts扩展头对原始数据进行前向纠错码fec处理,生成与原始数据相对应的目标传输数据。
198.在一些实例中,在第一处理模块13基于svc扩展头、实际序列号和cts扩展头对原始数据进行前向纠错码fec处理,生成与原始数据相对应的目标传输数据时,该第一处理模块13用于执行:基于原始数据、svc扩展头、cts扩展头和实际序列号,生成原始数据rtp数据包;对原始数据rtp数据包的头信息和负载信息进行fec编码操作,获得fec编码数据;基于fec编码数据、svc扩展头和cts扩展头,生成与原始数据相对应的目标传输数据。
199.在一些实例中,在生成与原始数据相对应的目标传输数据之后,本实施例中的第一确定模块12和第一处理模块13用于执行以下步骤:
200.第一确定模块12,用于确定与目标传输数据相对应的网络运行状态和场景信息;
201.第一处理模块13,用于基于网络运行状态和场景信息,确定与服务器相对应的运行模式,运行模式包括以下任意之一:透传模式、解码透传模式、解码模式、编码解码模式。
202.在一些实例中,在第一处理模块13基于网络运行状态和场景信息,确定与服务器相对应的运行模式时,该第一处理模块13用于执行:基于网络运行状态和场景信息,确定与服务器相对应的用于对目标传输数据进行传输的运行模式标识;基于运行模式标识,确定服务器相对应的运行模式。
203.图12所示装置可以执行图1-图8所示实施例的方法,本实施例未详细描述的部分,可参考对图1-图8所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1-图8所示实施例中的描述,在此不再赘述。
204.在一个可能的设计中,图12所示数据传输装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、个人电脑pc等各种设备。如图13所示,该电子设备可以包括:第一处理器21和第一存储器22。其中,第一存储器22用于存储相对应电子设备执行上述图1-图8所示实施例中提供的数据传输方法的程序,第一处理器21被配置为用于执行第一存储器22中存储的程序。
205.程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第一处理器21执行时能够实现如下步骤:获取待传输的原始数据;确定用于对原始数据进行传输的分级编码svc扩展头和与原始数据相对应的实际序列号;基于svc扩展头和实际序列号对原始数据进行前向纠错码fec处理,生成与原始数据相对应的目标传输数据。
206.进一步的,第一处理器21还用于执行前述图1-图8所示实施例中的全部或部分步骤。
207.其中,电子设备的结构中还可以包括第一通信接口23,用于电子设备与其他设备或通信网络通信。
208.另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图1-图8所示方法实施例中数据传输方法所涉及的程序。
209.此外,本实施例通过了一种计算机程序产品,该计算机程序产品包括:计算机程序,当计算机程序被电子设备的处理器执行时,使处理器执行上述图1-图8所示方法实施例
中数据传输方法。
210.图14为本技术实施例提供的另一种数据传输装置的结构示意图;参考附图14所示,本实施例提供了另一种数据传输装置,该数据传输装置可以执行上述图9所示的数据传输方法,具体的,该数据传输装置可以包括:
211.第二接收模块31,用于接收发送端发送的目标传输数据;
212.第二确定模块32,用于确定用于对目标传输数据进行传输的运行模式,运行模式包括以下任意之一:透传模式、解码透传模式、解码模式、编码解码模式;
213.第二处理模块33,用于基于运行模式将目标传输数据发送至接收端。
214.在一些实例中,在第二处理模块33基于运行模式将目标传输数据发送至接收端时,该第二处理模块33用于执行:在运行模式为透传模式时,则将目标传输数据直接发送至接收端。
215.在一些实例中,在第二处理模块33基于运行模式将目标传输数据发送至接收端时,该第二处理模块33用于执行:在运行模式为解码透传模式时,则获取目标传输数据中的第一跳数据;对第一跳数据进行解码,获得与第一跳数据相对应的第一跳原始数据;基于第一跳原始数据将目标传输数据发送至接收端。
216.在一些实例中,在第二处理模块33基于运行模式将目标传输数据发送至接收端时,该第二处理模块33用于执行:在运行模式为解码模式时,获取目标传输数据中的第一跳数据和位于第一跳数据之后的其他跳数据;将其他跳数据中包括的fec数据删除,获得调整后数据;将第一跳数据和调整后数据发送至接收端。
217.在一些实例中,在第二处理模块33基于运行模式将目标传输数据发送至接收端时,该第二处理模块33用于执行:在运行模式为解码模式时,对目标传输数据进行解码处理,获得与目标传输数据相对应的原始数据;对原始数据进行编码,获得编码后数据;将编码后数据发送至接收端。
218.在一些实例中,在第二处理模块33基于运行模式将目标传输数据发送至接收端时,该第二处理模块33用于执行:获取拥塞控制参数,拥塞控制参数表征用于对目标传输数据进行传输的网络拥塞的程度;基于拥塞控制参数对目标传输数据进行调整,获得调整后传输数据;基于运行模式将调整后传输数据发送至接收端。
219.在一些实例中,在第二处理模块33基于拥塞控制参数对目标传输数据进行调整,获得调整后传输数据时,该第二处理模块33用于执行:获取目标传输数据中各个数据所对应的优先级;基于优先级和拥塞控制参数对目标传输数据中的部分数据进行删除,获得调整后传输数据。
220.图14所示装置可以执行图9-图10所示实施例的方法,本实施例未详细描述的部分,可参考对图9-图10所示实施例的相关说明。该技术方案的执行过程和技术效果参见图9-图10所示实施例中的描述,在此不再赘述。
221.在一个可能的设计中,图14所示数据传输装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、个人电脑pc等各种设备。如图15所示,该电子设备可以包括:第二处理器41和第二存储器42。其中,第二存储器42用于存储相对应电子设备执行上述图9示实施例中提供的数据传输方法的程序,第二处理器41被配置为用于执行第二存储器42中存储的程序。
222.程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第二处理器41执行时能够实现如下步骤:接收发送端发送的目标传输数据;确定用于对目标传输数据进行传输的运行模式,运行模式包括以下任意之一:透传模式、解码透传模式、解码模式、编码解码模式;基于运行模式将目标传输数据发送至接收端。
223.进一步的,第二处理器41还用于执行前述图9-图10所示实施例中的全部或部分步骤。
224.其中,电子设备的结构中还可以包括第二通信接口43,用于电子设备与其他设备或通信网络通信。
225.另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图9-图10所示方法实施例中数据传输方法所涉及的程序。
226.此外,本实施例通过了一种计算机程序产品,该计算机程序产品包括:计算机程序,当计算机程序被电子设备的处理器执行时,使处理器执行上述图9-图10所示方法实施例中数据传输方法。
227.图16为本技术实施例提供的一种数据传输装置的结构示意图;参考附图16所示,本实施例提供了一种数据传输装置,该数据传输装置可以执行上述图11所示的数据传输方法,具体的,该数据传输装置可以包括:
228.第三接收模块51,用于接收服务器发送的目标传输数据,目标传输数据包括以下至少之一:fec数据、原始数据;
229.第三获取模块52,用于在网络出现丢包时,基于所述目标传输数据中所包括的svc扩展头获取与目标传输数据相对应的虚拟序列号,虚拟序列号用于使得接收到的所有数据的序列号为连续的,其中,所述svc扩展头中包括所述原始数据的帧边界;
230.第三处理模块53,用于基于虚拟序列号对目标传输数据进行组帧,获得与目标传输数据相对应的图像帧。
231.在一些实例中,在第三获取模块52基于所述目标传输数据中所包括的svc扩展头获取与目标传输数据相对应的虚拟序列号时,该第三获取模块52用于执行:获取与目标传输数据相对应的实际序列号;确定虚拟序列号与实际序列号之间的映射关系;基于映射关系和所述svc扩展头中包括所述原始数据的帧边界,确定与实际序列号相对应的虚拟序列号。
232.在一些实例中,在第三处理模块53基于虚拟序列号对目标传输数据进行组帧,获得与目标传输数据相对应的图像帧时,该第三处理模块53用于执行:获取目标传输数据中fec数据中所包括的原始序列号;将原始序列号替换为虚拟序列号,获得与目标传输数据相对应的调整后数据;基于调整后数据进行组帧处理,获得与目标传输数据相对应的图像帧。
233.图16所示装置可以执行图11所示实施例的方法,本实施例未详细描述的部分,可参考对图11所示实施例的相关说明。该技术方案的执行过程和技术效果参见图11所示实施例中的描述,在此不再赘述。
234.在一个可能的设计中,图16所示数据传输装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、个人电脑pc等各种设备。如图17所示,该电子设备可以包括:第三处理器61和第三存储器62。其中,第三存储器62用于存储相对应电子设备执行上述图
11示实施例中提供的数据传输方法的程序,第三处理器61被配置为用于执行第三存储器62中存储的程序。
235.程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第三处理器61执行时能够实现如下步骤:接收服务器发送的目标传输数据,目标传输数据包括以下至少之一:fec数据、原始数据;在网络出现丢包时,基于所述目标传输数据中所包括的svc扩展头获取与目标传输数据相对应的虚拟序列号,虚拟序列号用于使得接收到的所有数据的序列号为连续的,其中,所述svc扩展头中包括所述原始数据的帧边界;基于虚拟序列号对目标传输数据进行组帧,获得与目标传输数据相对应的图像帧。
236.进一步的,第三处理器61还用于执行前述图11所示实施例中的全部或部分步骤。
237.其中,电子设备的结构中还可以包括第三通信接口63,用于电子设备与其他设备或通信网络通信。
238.另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图11所示方法实施例中数据传输方法所涉及的程序。
239.此外,本实施例通过了一种计算机程序产品,该计算机程序产品包括:计算机程序,当计算机程序被电子设备的处理器执行时,使处理器执行上述图11所示方法实施例中数据传输方法。
240.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
241.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
242.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
243.这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
244.这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编
程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
245.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
246.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
247.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
248.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献