CN114978427B - 数据处理方法、装置、程序产品、计算机设备和介质 - Google Patents
数据处理方法、装置、程序产品、计算机设备和介质 Download PDFInfo
- Publication number
- CN114978427B CN114978427B CN202210546164.9A CN202210546164A CN114978427B CN 114978427 B CN114978427 B CN 114978427B CN 202210546164 A CN202210546164 A CN 202210546164A CN 114978427 B CN114978427 B CN 114978427B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- network
- transmission
- transmission stage
- 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
- 238000003672 processing method Methods 0.000 title abstract description 13
- 230000005540 biological transmission Effects 0.000 claims abstract description 517
- 238000012545 processing Methods 0.000 claims abstract description 93
- 238000000034 method Methods 0.000 claims abstract description 78
- 238000012856 packing Methods 0.000 claims abstract description 76
- 238000011156 evaluation Methods 0.000 claims description 103
- 238000003860 storage Methods 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 22
- 230000003993 interaction Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 18
- 238000004806 packaging method and process Methods 0.000 claims description 18
- 230000000694 effects Effects 0.000 abstract description 5
- 238000004422 calculation algorithm Methods 0.000 description 30
- 238000005516 engineering process Methods 0.000 description 16
- 238000012937 correction Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 239000012634 fragment Substances 0.000 description 7
- 230000009467 reduction Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0009—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0014—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种数据处理方法、装置、程序产品、计算机设备和介质,该方法包括:获取源端待传输至目标端的目标数据;目标数据从源端被传输至目标端需经历N个传输阶段,N为大于1的整数;基于N个传输阶段的网络质量,确定与N个传输阶段的网络质量相适配的动态编码策略,该动态编码策略包括针对数据的打包策略;按照确定的动态编码策略对目标数据进行编码处理,并将编码处理的数据传输至目标端。采用本申请,可提高对目标数据的传输灵活性,进而提升对目标数据的传输效果。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、程序产品、计算机设备和介质。
背景技术
数据传输应用在计算机网络的方方面面,数据传输时需要对数据先进行编码后,再进行传输,而一个数据从一端传输到另一端的过程中,通常还会经过若干的中间节点进行辅助传输。
现有应用中,A端和B端之间可以具有至少一个中间节点,当将数据S从A端再经过该至少一个中间节点传输至B端时,通常数据S全程采用统一的编码方式进行编码后再传输,而采用此种固定的编码方式来传输数据会使得数据传输效果差。
发明内容
本申请提供了一种数据处理方法、装置、程序产品、计算机设备和介质,可提高对目标数据的传输灵活性,进而提升对目标数据的传输效果。
本申请一方面提供了一种数据处理方法,该方法包括:
获取源端待传输至目标端的目标数据;目标数据从源端被传输至目标端需经历N个传输阶段;N为大于1的整数;
基于N个传输阶段的网络质量,确定与N个传输阶段的网络质量相适配的动态编码策略,该动态编码策略包括针对数据的打包策略;
按照确定的动态编码策略对目标数据进行编码处理,并将编码处理的数据传输至目标端。
可选的,上述获取源端待传输至目标端的目标数据,包括:
获取源端采集的交互数据;
对交互数据进行降噪处理,并根据降噪处理的交互数据得到目标数据。
本申请一方面提供了一种数据处理装置,该装置包括:
获取模块,用于获取源端待传输至目标端的目标数据;目标数据从源端被传输至目标端需经历N个传输阶段;N为大于1的整数;
确定模块,用于基于N个传输阶段的网络质量,确定与N个传输阶段的网络质量相适配的动态编码策略,该动态编码策略包括针对数据的打包策略;
编码模块,用于按照确定的动态编码策略对目标数据进行编码处理,并将编码处理的数据传输至目标端。
可选的,N个传输阶段中的每个传输阶段均具有对应的发送端和接收端;
每个传输阶段的网络质量分别是指每个传输阶段对应发送端和接收端间传输网络的网络质量。
可选的,确定模块基于N个传输阶段的网络质量,确定与N个传输阶段的网络质量相适配的动态编码策略的方式,包括:
获取目标传输阶段的多个网络质量范围;目标传输阶段为N个传输阶段中的任一个;
将多个网络质量范围中目标传输阶段的网络质量所在网络质量范围,确定为目标网络质量范围;
将与目标网络质量范围相匹配的打包策略确定为目标传输阶段的动态编码策略。
可选的,上述装置还用于:
设置目标传输阶段的多个网络质量范围;
分别为多个网络质量范围中的每个网络质量范围设置相匹配的打包策略。
可选的,若目标传输阶段中的发送端是源端,则目标传输阶段的目标数据是由源端对原始数据进行压缩得到,原始数据是由源端采集的需要传输给目标端的数据;
编码模块按照确定的动态编码策略对目标数据进行编码处理,并将编码处理的数据传输至目标端的方式,包括:
按照所确定的目标传输阶段的动态编码策略对压缩后的原始数据进行打包,得到编码处理的数据;
将编码处理的数据传输至目标端。
可选的,编码模块按照所确定的目标传输阶段的动态编码策略对压缩后的原始数据进行打包,得到编码处理的数据的方式,包括:
基于目标传输阶段的动态编码策略对压缩后的原始数据进行分段,得到压缩后的原始数据的多个分段数据;
获取目标传输阶段的动态编码策略所指示的至少一个冗余数据;
基于目标传输阶段的动态编码策略对至少一个冗余数据和多个分段数据进行打包,得到编码处理的数据。
可选的,编码模块基于目标传输阶段的动态编码策略对至少一个冗余数据和多个分段数据进行打包,得到编码处理的数据的方式,包括:
基于目标传输阶段的动态编码策略构建至少一个冗余数据和多个分段数据之间的打包关系,得到至少一个编码包组;任一个编码包组包含的冗余数据和分段数据之间具有打包关系;
将至少一个编码包组确定为编码处理的数据。
可选的,若目标传输阶段的发送端不是源端,则目标传输阶段的目标数据是基于接收到的历史编码处理的数据恢复得到,历史编码处理的数据是在目标传输阶段的前一个传输阶段对目标数据进行编码处理得到。
可选的,N个传输阶段中的任一个表示为目标传输阶段,上述装置还用于:
获取目标传输阶段的至少一种网络评估参数;其中,至少一种网络评估参数包括如下任一种或多种的组合:目标传输阶段的传输网络的网络丢包率;传输网络的网络抖动时间;传输网络的网络往返时延;或者,传输网络的网络类型;
获取至少一种网络评估参数中每种网络评估参数的评估权重;以及,
基于每种网络评估参数的评估权重,确定目标传输阶段的网络质量。
可选的,上述装置获取目标传输阶段的至少一种网络评估参数的方式,包括:
获取目标传输阶段的传输网络在传输编码处理的数据的前M个数据时产生的网络评估参数,M为大于等于1的整数;
基于获取到的网络评估参数确定目标传输阶段的至少一种网络评估参数。
可选的,上述装置应用于云游戏场景,源端是指云游戏场景中的第一游戏客户端,目标端是指云游戏场景中的第二游戏客户端;获取模块获取源端待传输至目标端的目标数据的方式,包括:
获取基于第一游戏客户端所采集的游戏交互数据,并基于游戏交互数据确定待传输的目标数据;
编码模块将编码处理的数据传输至目标端的方式,包括:
将编码处理的数据传输给第二游戏客户端,使第二游戏客户端对编码处理的数据进行解码处理,并输出解码处理的数据。
本申请一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行本申请中一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时使该处理器执行上述一方面中的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面等各种可选方式中提供的方法。
本申请可以获取源端待传输至目标端的目标数据;目标数据从源端被传输至目标端需经历N个传输阶段;N为大于1的正整数;并可以基于N个传输阶段的网络质量,确定与N个传输阶段的网络质量相适配的动态编码策略,该动态编码策略包括针对数据的打包策略;还可以按照确定的动态编码策略对目标数据进行编码处理,并将编码处理的数据传输至目标端。由此可见,本申请提出的方法可以根据将目标数据从源端传输至目标端的过程中所历经的N个传输阶段的网络质量,来自适应地确定与N个传输阶段的网络质量相适配的编码策略,该编码策略可以是动态编码策略,该动态可以是指在不同传输阶段对于目标数据的编码方式可以不同,由此可见,本申请可以根据目标数据传输的各个传输阶段的网络质量来动态调整对于目标数据的编码方式,使得可以在保证对目标数据进行可靠传输(即以适配网络质量的编码方式进行传输)的同时,选择对目标数据进行编码的最佳方式,如最佳的冗余打包方式,因此,可以在保证对目标数据进行可靠传输的同时,减少对于目标数据的编码数据量,提高传输目标数据的效率,并减少传输目标数据时的网络开销。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种数据传输的网络架构的结构示意图;
图2是本申请提供的数据传输的场景示意图;
图3是本申请提供的一种数据处理方法的流程示意图;
图4是本申请提供的一种传输阶段的场景示意图;
图5是本申请提供的一种对目标数据进行说明的场景示意图;
图6是本申请提供的一种确定打包策略的场景示意图;
图7是本申请提供的一种数据交互的场景示意图;
图8是本申请提供的一种源端进行数据处理的流程示意图;
图9是本申请提供的一种质量服务器进行数据处理的流程示意图;
图10是本申请提供的一种目标端进行数据处理的流程示意图;
图11是本申请提供的一种数据处理装置的结构示意图;
图12是本申请提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请还涉及到区块链的相关技术。其中,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。区块链中包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链***中节点提交的记录数据。本申请中,可以将实时确定的各个传输阶段的动态编码策略上传到区块链上,以保证该动态编码策略的不可篡改性。
本申请涉及到云技术。其中,云技术(Cloud Technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
本申请中所涉及到的云技术主要指源端和目标端之间可以通过“云”(如云服务器)进行通信。
首先,需要进行说明的是,本申请在收集用户的相关数据(如用户待传输给另一个用户的目标数据等)之前以及在收集用户的相关数据的过程中,都可以显示提示界面或者弹窗,该提示界面或者弹窗用于提示用户当前正在搜集其相关数据,使得本申请仅仅在获取到用户对该提示界面或者弹窗发出的确认操作后,才开始执行获取用户相关数据的相关步骤,否则(即未获取到用户对该提示界面或者弹窗发出的确认操作时),结束获取用户相关数据的相关步骤,即不获取用户的相关数据。换句话说,本申请所采集的所有用户数据都是在用户同意并授权的情况下进行采集的,且相关用户数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
请参见图1,图1是本申请提供的一种数据传输的网络架构的结构示意图。如图1所示,网络架构可以包括云服务器和两个终端设备集群,每个终端设备集群均可以包括一个或者多个终端设备,这里将不对终端设备的数量进行限制。如图1所示,一个终端设备集群可以包括终端设备1a~终端设备na,一个终端设备集群可以包括终端设备1b~mb,n和m的数值具体可以根据实际应用场景确定;如图1所示,各个终端设备均可以与云服务器进行网络连接,以便于两个终端设备集群中的终端设备之间可以通过云服务器进行数据交互。
如图1所示的云服务器可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是:智能手机、平板电脑、笔记本电脑、桌上型电脑、智能电视、车载终端等智能终端。下面以终端设备1a与服务器1b之间的数据交互为例,进行本申请实施例的具体描述。
请一并参见图2,图2是本申请提供的数据传输的场景示意图。如图2所示,目标数据是终端设备1a需要传输给终端设备1b的数据,上述云服务器可以包括服务器y1和服务器y2,服务器y1可以是和终端设备1a在同一个城市中的设备,服务器y2可以是与终端设备1b在同一个城市中的设备。
此处,将目标数据由终端设备1a(可以称为源端)传输到终端设备1b(可以称为目标端)需要经历3个传输阶段,该3个传输阶段依次包括从终端设备1a传输到服务器y1的传输阶段1、从服务器y1传输到服务器y2的传输阶段2、以及从服务器y2传输到终端设备1b的传输阶段3。
在将目标数据由终端设备1a(可以称为源端)传输到终端设备1b(可以称为目标端)的过程中,首先,在传输阶段1,终端设备1a可以根据传输阶段1的网络质量对目标数据进行编码传输(如按照传输阶段1的动态编码策略对目标数据进行编码后传输);在传输阶段2,服务器y1可以根据传输阶段2的网络质量对目标数据进行编码传输(如按照传输阶段2的动态编码策略对目标数据进行编码后传输);在传输阶段3,服务器y2可以根据传输阶段3的网络质量对目标数据进行编码传输(如按照传输阶段3的动态编码策略对目标数据进行编码后传输)。其中,确定各个传输阶段的动态编码策略的过程可以参见下述图3对应实施例中的相关描述。
采用本申请所提供的方法,可以根据各个传输阶段不同的网络质量对目标数据按照不同的编码策略(如打包策略)进行编码,使得在保证正确传输目标数据的同时,也可以节省带宽资源(如网络质量不佳时采用更多冗余的打包策略,网络质量较佳时采用更少冗余的打包策略),提高对带宽资源的利用率。
请参见图3,图3是本申请提供的一种数据处理方法的流程示意图。如图3所示,该方法可以包括:
步骤S101,获取源端待传输至目标端的目标数据;目标数据从源端被传输至目标端需经历N个传输阶段;N为大于1的整数。
可选的,本申请中源端可以是指需要将目标数据传输给目标端的端,源端可以是最初获取目标数据的端,而目标端则可以是最终接收目标数据的端。
其中,获取目标数据的过程可以是,源端可以采集到需要给到目标端的原始数据,目标数据则可以是对源端需要给到目标端的原始数据进行压缩得到,即目标数据就是压缩后的原始数据,如源端可以采用预设的某种压缩算法对需要给到目标端的原始数据进行压缩,即可得到目标数据。继而,获取到目标数据的端就可以依照该压缩算法对目标数据进行解码,即可还原得到原始数据。换句话说,本申请中是对原始数据进行压缩后再传输的,可以理解为,传输目标数据所达到的效果就是传输原始数据。
例如,若一个用户需要通过终端1将原始数据传输给另一个用户的终端2,则源端可以是终端1,而目标端可以是终端2,该原始数据可以是指源端需要传输给目标端的语音数据、视频数据、状态数据(如云游戏场景中游戏角色的状态数据)等任意数据。
再例如,若本申请应用在客户端数据传输场景中,源端就可以是指该客户端数据传输场景中的一个客户端(可以称之为是第一客户端),目标端就可以是指该客户端数据传输场景中的另一个客户端(可以称之为是第二客户端),原始数据则可以是第一客户端需要传输给第二客户端的相关客户端交互数据,如该客户端交互数据可以是第一客户端的用户的语音消息,或者是该第一客户端的用户向第二客户端的用户分享的相关视频数据,或者还可以是第一客户端的用户的用户状态。该第一客户端和第二客户端可以是任意类型的客户端,具体根据实际应用场景确定,对此不做限制。
可选的,若上述客户端数据传输场景为云游戏场景,则上述第一客户端可以是该云游戏场景中的第一游戏客户端,上述第二客户端可以是该云游戏场景中的第二游戏客户端,上述用户状态可以是第一游戏客户端的用户在游戏场景中的位置状态、游戏人物的血条状态、发出的相关游戏指令等等。
可选的,若本申请的方法应用于源端,即将源端作为本申请实施例中的执行主体,则获取原始数据的方式可以是:源端可以获取到所采集的交互数据,该交互数据也就是需要向目标端进行交互的数据,即该交互数据是需要传输给目标端的数据,因此,源端可以对该交互数据进行预处理(可以是质量优化处理,如降噪处理等),即可得到源端待传输至目标端的原始数据,进而对该原始数据进行压缩即可得到目标数据。
例如,若本申请的方法应用于源端,该源端是上述第一客户端,目标端是上述第二客户端,则源端可以获取到基于该第一客户端采集到的交互数据,进而对该交互数据进行预处理(如降噪处理),即可得到需要被传输的原始数据,进而对该原始数据进行压缩即可得到目标数据。
可选的,若上述第一客户端是上述第一游戏客户端,上述第二客户端是上述第二游戏客户端,则此处第一客户端采集到的交互数据可以是第一游戏客户端的游戏用户的游戏交互数据,第一客户端可以对该游戏交互数据进行预处理,即可得到原始数据,进而对该原始数据进行压缩即可得到目标数据。
其中,可以理解的是,目标数据从源端被传输至目标端可以经历N个传输阶段,N为正整数。一个传输阶段具有对应的传输网络。例如,源端可以是一个终端,目标端也可以是一个终端,源端和目标端是不同的终端,源端和目标端之间可以具有若干个转发设备(如转发服务器,可以是至少一个),源端可以通过该若干个转发设备将目标数据传输给目标端。目标数据的一个传输阶段就可以是指目标数据从一个位置(如源端的位置或者某个转发设备的位置)传输到另一个位置(如某个转发设备的位置或者目标端的位置)的阶段。
更多的,上述N个传输阶段中每个传输阶段都具有对应的发送端和接收端,每个传输阶段的网络质量分别是指每个传输阶段对应的发送端和接收端之间传输网络的网络质量。一个传输阶段的发送端就是发送目标数据的一端,一个传输阶段的接收端就可以接收目标数据的一端。
例如,若源端和目标端之间具有一个转发设备,该个转发设备是转发设备0,则源端可以先将目标数据传输给转发设备0,进而,转发设备0可以再将目标数据传输给目标端。此时,上述N就等于2,即目标数据具有2个传输阶段,该2个传输阶段包括由源端至转发设备0的传输阶段、以及由转发设备0至目标端的传输阶段。
其中,对于由源端至转发设备0的传输阶段,发送端就是源端,接收端就是转发设备0;而对于由转发设备0至目标端的传输阶段,发送端就是转发设备0,接收端就是目标端。
再例如,若源端和目标端之间具有两个转发设备,该两个转发设备包括转发设备1和转发设备2,则源端可以先将目标数据传输给转发设备1,接着,转发设备1可以再将目标数据传输给转发设备2,进而,转发设备2就可以将目标数据传输至目标端。此时,上述N就等于3,即目标数据具有3个传输阶段,该3个传输阶段包括由源端至转发设备1的阶段、由转发设备1至转发设备2的阶段、以及由转发设备2至目标端的阶段。
其中,对于由源端至转发设备1的传输阶段,发送端就是源端,接收端就是转发设备1;对于由转发设备1至转发设备2的传输阶段,发送端就是转发设备1,接收端就是转发设备2;对于由转发设备2至目标端的传输阶段,发送端就是转发设备2,接收端就是目标端。
以此类推,转发设备之间可以依次转发,转发的次序规则可以是预先设定的。转发设备的具体数量可以根据实际应用场景确定,对此不做限制。
请参见图4,图4是本申请提供的一种传输阶段的场景示意图。如图4所示,源端和目标端之间可以依次包括转发服务器1~转发服务器p,p为正整数,因此,源端和转发服务器1之间可以是一个传输阶段(如传输阶段1)、转发服务器1和转发服务器2之间可以是一个传输阶段(如传输阶段2)、转发服务器2和转发服务器3之间可以是一个传输阶段(如传输阶段3)、以此类推、转发服务器p和目标端之间可以是一个传输阶段(如传输阶段p+1)。
因此,可以理解的是,对于本申请中目标数据的每个传输阶段,各个传输阶段的发送端都可以按照对应传输网络的网络质量来确定针对目标数据的编码策略(如下述动态编码策略),且每个传输阶段确定针对目标数据的动态编码策略的原理也都相同。
因此,本申请所提供的方法可以应用于各个传输阶段中的发送端,换句话说,本申请实施例中的执行主体可以是任一个传输阶段中的发送端,但是对于将目标数据由源端传输至目标端的整个场景而言,各个传输阶段中的发送端都可以各自(如依次)作为执行主体执行本申请实施例所描述的方法。
下述中,可以将本申请实施例中的执行主体统称为数据处理设备。
由上述可以理解的是,若数据处理设备是源端(即若本申请的方法应用于源端),则源端获取到的待传输至目标端的原始数据可以就是源端所采集到的交互数据(或者是预处理后的交互数据)。
若数据处理设备是某个转发设备(即本申请的方法应用于某个转发设备,如转发设备1),则当转发设备1接收到的目标数据是由源端传输的,则转发设备1获取到的源端待传输至目标端的目标数据就可以是对源端所传输过来的编码处理的数据进行恢复得到的;当转发设备1接收到的目标数据是由另一个转发设备(如转发设备2)传输的,则转发设备1获取到的源端待传输至目标端的目标数据就可以是对转发设备2所传输过来的编码处理的数据进行恢复得到的。
请参见图5,图5是本申请提供的一种对目标数据进行说明的场景示意图。本申请中上述N个传输阶段可以包括传输阶段1~传输阶段4,传输阶段1的发送端可以是源端,传输阶段4的接收端可以是目标端。
其中,在传输阶段1,目标数据可以是指由源端对采集得到的原始数据进行压缩得到,在传输阶段2,目标数据可以是根据传输阶段1的发送端所发送的编码处理的数据得到,在传输阶段3,目标数据可以是根据传输阶段2的发送端所发送的编码处理的数据得到,在传输阶段4,目标数据可以是根据传输阶段3的发送端所发送的编码处理的数据得到。
步骤S102,基于N个传输阶段的网络质量,确定与N个传输阶段的网络质量相适配的动态编码策略,该动态编码策略包括针对数据的打包策略。
可选的,数据处理设备可以根据N个传输阶段中自己对应的传输阶段的网络质量,来确定与N个传输阶段中自己对应的传输节点的网络质量相适配的动态编码策略。数据处理设备对应的传输阶段可以是指将数据处理设备作为发送端的传输阶段。
例如,N个传输阶段包括由源端至转发设备0的传输阶段1、以及由转发设备0至目标端的传输阶段2,若数据处理设备是源端,则该数据处理设备对应的传输阶段就可以是传输阶段1,若数据处理设备是转发设备0,则该数据处理设备对应的传输阶段就可以是传输阶段2。
本申请中可以将上述N个传输阶段中的任一个传输阶段称之为是目标传输阶段,由于根据各个传输阶段的网络质量分别确定与各个传输阶段的网络质量相适配的动态编码策略的原理相同,因此,下述以根据目标传输阶段的网络质量确定与目标传输阶段的网络质量相适配的动态编码策略为例进行说明,请参见下述内容描述。
首先,描述获取目标传输阶段的网络质量的过程:
数据处理设备可以获取到目标传输阶段的至少一种网络评估参数,该至少一种网络评估参数也就是目标传输阶段的传输网络的网络评估参数。进而,数据处理设备就可以根据该至少一种网络评估参数来得到目标传输阶段的网络质量。
其中,该至少一种网络评估参数可以包括如下的任意一种或者多种的组合:目标传输阶段的传输网络的网络丢包率、目标传输阶段的传输网络的网络抖动时间、目标传输阶段的网络往返时延、目标传输阶段的传输网络的网络类型。
其中,顾名思义,网络丢包率就是用于评估目标传输阶段的传输网络丢包的程度。网络丢包率越大,目标传输阶段的传输网络丢包的程度就越大,目标传输阶段的传输网络的网络质量也就越差,反之,网络丢包率越小,目标传输阶段的传输网络丢包的程度就越小,目标传输阶段的传输网络的网络质量也就越好。
而网络抖动时间(可以简称网络抖动)就是用于评估目标传输阶段的传输网络传输数据的抖动程度。网络抖动时间越大,目标传输阶段的传输网络传输数据的抖动程度越大,目标传输阶段的传输网络的网络质量也就越差,反之,网络抖动越小,目标传输阶段的传输网络传输数据的抖动程度就越小,目标传输阶段的传输网络的网络质量也就越好。其中,目标传输阶段的传输网络的网络抖动时间可以是指:在目标传输阶段的传输网络的往返两个包真实的接收时间差减去理论上的接收时间差的差值。
更多的,目标传输阶段的传输网络的网络往返时延可以是指:目标传输阶段的发送端向接收端发送一个数据包,到发送端接收到接收端针对该个数据包返回的确认包总共经历的时延。通常认为,目标传输阶段的传输网络的网络往返时延越大,目标传输阶段的传输网络的网络质量越差,反之,目标传输阶段的传输网络的网络往返时延越小,目标传输阶段的传输网络的网络质量越好。
而目标传输阶段的传输网络的网络类型的不同也会影响到目标传输阶段的传输网络的网络质量。其中,目标传输阶段的传输网络的网络类型可以是有线网络的类型、无线网络的类型、4G(***移动通信技术)网络的类型或者5G(第五代移动通信技术)网络的类型等。通常而言,有线网络的网络质量优于无线网络的网络质量,5G网络的网络质量优于4G网络的网络质量。
因此,综上,若目标传输阶段的传输网络的网络丢包率越小、网络抖动时间越小、网络往返时延越小、以及具有网络质量更优的网络类型,则目标传输阶段的传输网络的网络质量也就越好。反之,若目标传输阶段的传输网络的网络丢包率越大、网络抖动时间越大、网络往返时延越大、以及具有网络质量更差的网络类型,则目标传输阶段的传输网络的网络质量也就越差。
其中,上述至少一种网络评估参数具体包含哪些网络评估参数来评估目标传输阶段的传输网络的网络质量可以根据实际应用场景进行选用,对此不做限制。
可选的,数据处理设备还可以获取到上述至少一种网络评估参数(包括目标传输阶段的传输网络的网络丢包率、网络抖动时间、网络往返时延或者网络类型中的任一种或多种的组合)中每种网络评估参数的评估权重,进而通过每种网络评估参数的评估参数来确定目标传输阶段的传输网络的网络质量。其中,每种网络评估参数的评估权重可以是预先根据实际应用场景设置的。
其中,对于网络丢包率这一网络评估参数,网络丢包率越大,则网络丢包率的评估权重可以越小,反之,网络丢包率越小,则网络丢包率的评估权重可以越大。例如,可以按照网络丢包率不同的数值范围来设置对应的评估权重:如若网络丢包率为0,则评估权重可以为1,若网络丢包率为(0,3%],则评估权重可以为0.8,若网络丢包率为(3%,10%],则评估权重可以为0.5,若网络丢包率为(10%,1],则评估权重可以为0.1。
同理,对于网络抖动时间和网络往返时延这两个网络评估参数,也可以分别按照不同的数值范围来设置对应的评估权重,不同的数值范围可以具有不同的评估权重。使得对于不同数值范围的网络抖动时间,网络抖动时间所在数值范围越大,对应的评估权重可以越小,反之,网络抖动时间所在数值范围越小,对应的评估权重可以越大;同理,使得对于不同数值范围的网络往返时延,网络往返时延所在数值范围越大,对应的评估权重可以越小,反之,网络往返时延所在数值范围越小,对应的评估权重可以越大。
而对于网络类型这一网络评估参数,则可以按照不同的网络类型设置不同的评估权重,使得具有越优网络质量的网络类型,其对应的评估权重可以越大,反之,具有越差网络质量的网络类型,其对应的评估权重可以越小。
进而,可以根据实际应用场景,对用于评估目标传输阶段的传输网络的每种网络评估参数的评估权重进行加和或者相乘(具体采用哪种加权算法可以根据实际应用场景确定),得到最终用于评估目标传输阶段的传输网络的网络质量指数,网络质量指数越大,则目标传输阶段的传输网络的网络质量也就越好,反之,网络质量指数越小,则目标传输阶段的传输网络的网络质量也就越差。
其中,若数据处理设备是目标传输阶段的发送端,则上述所获取的用于评估目标传输阶段的传输网络的网络质量的至少一种网络评估参数,可以是目标传输阶段的传输网络在传输目标数据编码处理的数据的前M个数据时所产生的网络评估参数中的部分或者全部网络评估参数,M可以是大于或者等于1的整数。
其中,M的具体数值可以根据实际应用场景确定,对此不作限制,如M可以是1,则上述目标传输阶段的至少一种网络评估参数就是目标传输网络在传输对目标数据编码处理的数据的前1个数据时所产生的网络评估参数;再如,M可以大于1,则上述目标传输阶段的至少一种网络评估参数就是根据目标传输网络在传输对目标数据编码处理的数据的前多个(即M个)数据时所产生的网络评估参数得到。
更多的,若上述M大于1,则上述目标传输阶段的至少中网络评估参数可以是目标传输网络在传输目标数据编码处理的数据的前M个数据所生成的网络评估参数的平均值,如目标传输阶段的传输网络在传输该前M个数据时所产生的网络抖动时间的平均值、网络丢包率的平均值、网络往返时延的平均值等等。
或者,M大于1时,还可以依照传输该M个数据时的时间先后顺序为该M个数据中各个数据设置对应的参数权重,传输时间越近的数据可以具有更大的参数权重,传输时间越远的数据可以具有更小的参数权重,进而可以根据该前M个数据中各个数据的参数权重分别对在传输该各个数据所产生的网络评估参数进行加权求和,即可得到目标传输阶段的上述至少一个网络评估参数;如当前目标传输阶段的网络抖动时间这一网络评估参数,可以是依照前M个数据中各个数据的参数权重对传输各个数据时所产生的网络抖动时间进行加权求和得到;再如,当前目标传输阶段的网络丢包率这一网络评估参数,可以是依照前M个数据中各个数据的参数权重对传输各个数据时所产生的网络丢包率进行加权求和得到;还如,当前目标传输阶段的网络往返时延这一网络评估参数,可以是依照前M个数据中各个数据的参数权重对传输各个数据时所产生的网络往返时延进行加权求和得到。M个数据中各个数据对于不同的网络评估参数可以具有不同的参数权重,具体也根据实际应用场景设置,对此不做限制。
因此,对于数据传输场景而言,该数据传输场景在目标传输阶段可以具有多个数据包需要传输,则用于评估目标传输阶段的传输网络的网络质量的网络评估参数也可以不断进行实时更新,目标传输阶段的传输网络在传输每个数据包后都可以产生最新的网络评估参数。使得通过实时更新的网络评估参数也可以实时更新目标传输阶段的传输网络的网络质量。
举个例子,若同时采用目标传输阶段的传输网络的网络丢包率、网络抖动时间、网络往返时延以及网络类型作为上述至少一种网络评估参数,来评估目标传输阶段的传输网络的网络质量,且目标传输阶段的传输网络的网络丢包率为3%,网络抖动时间为20ms(毫秒),网络往返时延为100ms,网络类型为无线网络的4G网络,进而目标传输阶段的传输网络的网络丢包率3%对应的评估权重为0.8,网络抖动时间20ms对应的评估权重为0.5,网络往返时延100ms对应的评估权重为0.6,无线网络的4G网络的网络类型对应的评估权重为0.3,则可以将该各个网络评估参数对应的评估权重进行相乘,得到对应的乘积作为目标传输阶段的传输网络的网络质量指数,即目标传输阶段的传输网络的网络质量指数可以为0.8*0.5*0.6*0.3等于0.072。
其中,还可以对网络质量指数划分指数范围(即设置多个指数范围),并可以为每个指数范围分别设置相匹配的编码策略(如打包策略),任一个指数范围关联设置有相匹配的一个编码策略,可以将目标传输阶段的传输网络的网络质量指数所在的指数范围称之为是目标指数范围,进而将目标指数范围关联的编码策略作为与目标传输阶段的网络质量相适配的动态编码策略。
其中,可以理解的是,若用于评估目标传输阶段的网络质量的网络评估参数不同,则对应划分的网络质量指数的若干个指数范围也可以不同。
再举个例子,若上述用于评估目标传输阶段的网络质量的至少一种网络评估参数只包括网络丢包率,则可以直接将目标传输阶段的传输网络的网络丢包率作为目标传输阶段的传输网络的网络质量指数,并可以将对网络丢包率所划分的各个数值范围作为对网络质量指数所划分的各个指数范围,因此,可以将目标传输阶段的传输网络的网络质量指数所在的指数范围作为目标指数范围,并可以将与该目标指数范围相关联的编码策略作为目标传输阶段的动态编码策略。
例如,若只采用网络丢包率来评估目标传输阶段的传输网络的网络质量,对网络丢包率划分的各个数值范围可以包括数值范围0(即该数值范围只包括网络丢包率为0的情况),数值范围(0,3%],数值范围(3%,10%],数值范围(10%,1],则,若目标传输阶段的网络丢包率为0,则可以将与数据范围0关联的编码策略作为目标传输阶段的传输网络的动态编码策略;若目标传输阶段的网络丢包率属于(0,3%]的数值范围,则可以将与数值范围(0,3%]关联的编码策略作为目标传输阶段的动态编码策略;若目标传输阶段的网络丢包率属于(3%,10%]的数值范围,则可以将与数值范围(3%,10%]关联的编码策略作为目标传输阶段的动态编码策略;若目标传输阶段的网络丢包率属于(10%,1]的数值范围,则可以将与数值范围(10%,1]关联的编码策略作为目标传输阶段的动态编码策略。
更多的,本申请中各个传输阶段的动态编码策略包括对目标数据的打包策略,该打包策略可以是基于前向纠错算法(Forward Error Correction,FEC)的策略。其中,前向纠错算法具体是指利用数据进行传输冗余信息的方法,当传输中出现错误,将允许接收器再建数据。
通过上述过程,可以理解的是,数据处理设备确定与目标传输阶段的网络质量相适配的动态编码策略的方式可以是:
数据处理设备可以获取目标传输阶段的多个网络质量范围,该多个网络质量范围可以理解为是上述多个指数范围,进而,可以将该多个网络质量范围中目标传输阶段的网络质量所在的网络质量范围,作为目标网络质量范围。其中,目标传输阶段的网络质量所在的网络质量范围可以是指目标传输阶段的网络质量指数所在的指数范围,目标网络质量范围可以是上述目标指数范围。因此,就可以将目标网络质量范围相匹配的打包策略作为目标传输阶段的动态编码策略。其中,目标网络质量范围相匹配的打包策略就可以是预先所设置的与目标网络质量范围相关联的打包策略。
可选的,基于前向纠错算法的打包策略可以是指K+M异或冗余打包算法,其中,K是指需要传输的K个真实的数据包,M是指M个冗余包,因此,K+M就是指可以建立K个真实的数据包和M个冗余包之间的打包关系,得到编码包组,一个编码包组就包括具有打包关系的K个真实的数据包和M个冗余包。当采用K+M异或冗余打包算法得到编码包组时,该编码包组共包括K+M个包,发送端向接收端发送该编码包组后,接收端最多可以丢失该编码包组中的M个包,即接收端丢失的包的数量在M个以内,接收端都可以通过K+M异或冗余打包算法的反算法恢复出发送端发送的编码包组。换句话说,构建编码包组时,冗余包有M个,则接收端就最多可以丢失M个包也可以恢复出编码包组。
可以理解的是,若目标传输阶段的传输网络的网络质量越差,则K可以越小,M可以越大,即打包时真实包可以越少,冗余包可以越多,使得即使在网络质量较差时丢失编码包组中较多的包也能恢复出原本的编码包组;反之,若目标传输阶段的传输网络的网络质量越好,则K可以越大,M可以越小,即打包时真实包可以越多,冗余包可以越少,使得在网络质量较好时可以减少打包的冗余包,以节省网络带宽。或者,也可以固定K或者M中的其中一个,根据目标传输阶段的传输网络的网络质量来自适应地调整另一个。
其中,对K+M异或冗余算法进行说明:此处以K等于3、M等于1的3+1异或冗余打包算法为例进行说明。此种情况下,一个编码包组可以包括3个真实的数据包和1个冗余包,该3个真实的数据包可以表示为P1、P2和P3,该冗余包可以表示为R1,因此,该异或冗余打包算法中,R1=P1 xor P2 xor P3,其中,xor表示异或,因此,若P2丢失了,则可以通过P2等于R1xor P21xor P3来恢复出P2。
举个例子,本申请中若只采用网络丢包率来评估目标传输阶段的传输网络的网络质量,对网络丢包率划分的各个数值范围可以包括数值范围0(即该数值范围只包括网络丢包率为0的情况),数值范围(0,3%],数值范围(3%,10%],数值范围(10%,1]。其中,所设置的与数值范围0关联的打包策略可以是无冗余打包策略,与数值范围(0,3%]关联的打包策略可以是基于3+1异或前向纠错算法(即3+1的异或冗余打包算法)的打包策略,与数值范围(3%,10%]关联的打包策略可以是基于2+1异或前向纠错算法(即2+1的异或冗余打包算法)的打包策略,与数值范围(10%,1]关联的打包策略可以是基于1+1异或前向纠错算法(即1+1的异或冗余打包算法)的打包策略。
因此,若目标传输阶段的网络丢包率为0,则可以将与数据范围0关联的无冗余打包策略作为目标传输阶段的传输网络的动态编码策略;若目标传输阶段的网络丢包率属于(0,3%]的数值范围,则可以将与数值范围(0,3%]关联的基于3+1异或前向纠错算法的打包策略作为目标传输阶段的动态编码策略;若目标传输阶段的网络丢包率属于(3%,10%]的数值范围,则可以将与数值范围(3%,10%]关联的基于2+1异或前向纠错算法的打包策略作为目标传输阶段的动态编码策略;若目标传输阶段的网络丢包率属于(10%,1]的数值范围,则可以将与数值范围(10%,1]关联的基于1+1异或前向纠错算法的打包策略作为目标传输阶段的动态编码策略。
由上可知,通过确定上述目标传输阶段的动态编码策略相同的原理,可以确定出各个传输阶段的动态编码策略,即可以根据各个传输阶段的网络质量来分别确定出各个传输阶段的动态编码策略。各个传输阶段的动态编码策略,顾名思义,就是各个传输阶段的编码策略可以不同,各个传输阶段的编码策略是动态且自适应地根据数据传输过程中各个传输阶段的网络质量进行更新和变化的。
请参见图6,图6是本申请提供的一种确定打包策略的场景示意图。上述N个传输阶段可以包括传输阶段1~传输阶段5,传输阶段1的发送端为源端,传输阶段5的接收端为目标端。
因此,在传输阶段1,可以根据基于传输阶段1的网络质量所确定的打包策略1对目标数据进行打包传输,在传输阶段2,可以根据基于传输阶段2的网络质量所确定的打包策略2对目标数据进行打包传输,在传输阶段3,可以根据基于传输阶段3的网络质量所确定的打包策略3对目标数据进行打包传输,在传输阶段4,可以根据基于传输阶段4的网络质量所确定的打包策略4对目标数据进行打包传输,在传输阶段5,可以根据基于传输阶段5的网络质量所确定的打包策略5对目标数据进行打包传输。
由上可知,在传输阶段1目标数据具有打包策略1,在传输阶段2目标数据具有打包策略2,在传输阶段3目标数据具有打包策略3,在传输阶段4目标数据具有打包策略4,在传输阶段5目标数据具有打包策略5。目标数据在传输阶段1~传输阶段5具有动态的打包策略,该动态的打包策略就体现为目标数据在各个传输阶段的动态编码策略。
步骤S103,按照确定的动态编码策略对目标数据进行编码处理,并将编码处理的数据传输至目标端。
可选的,也以按照目标传输阶段的动态编码策略对目标数据进行编码的过程为例进行说明:数据处理设备就可以按照上述确定的目标传输阶段的动态编码策略(即打包策略)对目标数据进行打包,即可得到对目标数据编码处理的数据,进而,数据处理设备就可以将编码处理的数据传输至目标端,使得目标端可以对获取到的编码处理的数据进行解码,进而对解码得到的数据进行消费(如输出解码得到的数据)。
举个例子,若源端是上述第一客户端,目标端是上述第二客户端,则可以将对目标数据编码处理的数据传输给该第二客户端,使得该第二客户端就可以对该编码处理的数据进行解码,得到原始数据,并可以对解码得到的原始数据进行消费(如输出)。
可选的,若本申请应用在云游戏场景,源端是上述第一游戏客户端,目标端是上述第二游戏客户端,则可以将对目标数据编码处理的数据传输给该第二游戏客户端,使得第二游戏客户端可以对编码处理的数据进行解码处理,得到原始数据,并可以在第二游戏客户端输出解码得到的原始数据。
更多的,可以理解的是,本申请中,数据处理设备将编码处理的数据传输给目标端可以有多种情况,包括:若将数据处理设备作为发送端的传输阶段中的接收端就是目标端,则数据处理设备可以是直接将自己编码处理的数据传输给目标端的;但是,若将数据处理设备作为发送端的传输阶段中的接收端不是目标端(如是某个转发设备),则数据处理设备可以是将编码处理的数据先传输给所在传输阶段的接收端,再基于该接收端将编码处理的数据转发给目标端(若是该接收端的下一端还不是目标端,则还会基于该接收端的下一端,以此类推,直到最终转发给目标端)。并且,前一端(如数据处理设备)向后一端(如将数据处理设备作为发送端的传输阶段中的接收端)发送编码处理的数据后,后一端可以根据接收到的编码处理的数据还原得到目标数据,并可以依照将自己作为发送端的传输阶段的网络质量来对还原得到的目标数据进行重新打包,再发送给自己的下一端。
例如,若源端和目标端之间依次还包括转发设备1和转发设备2,则源端可以是转发设备1的前一端(即上一端),转发设备1可以是源端的后一端(即下一端);同理,转发设备1可以是转发设备2的前一端,转发设备2可以是转发设备1的后一端,转发设备2还可以是目标端的前一端,目标端可以是转发设备2的后一端。
其中,按照上述确定的目标传输阶段的动态编码策略对目标数据进行打包,以得到对目标数据编码处理的数据的过程具体可以是:数据处理设备可以依照目标传输阶段的动态编码策略对目标数据进行分段,可以将对目标数据分段得到的多个数据称之为是目标数据的多个分段数据,该多个分段数据一起构成了目标数据。该多个分段数据就是目标数据的需要进行打包的真实的数据包。
其中,在目标传输阶段对目标数据进行分段需要说明的是:数据处理设备可以依照目标传输阶段的动态编码策略来对目标数据进行分段,例如,若目标传输阶段的动态编码策略是3+1的异或冗余打包策略(即基于3+1异或冗余打包算法的打包策略),此处3指需要打包的分段数据的数量,此处1指需要打包的冗余数据的数量,则对目标数据分段得到的多个分段数据的数量可以是3的整数倍,如目标数据的分段数据的数量可以是30个或者60个等,分段得到的该多个分段数据的具体数量也可以根据实际应用场景进行设定。
另外,可选的,当目标传输阶段的网络质量较好时(如上述网络质量指数大于或等于某个指数阈值时),则可以对目标数据进行更少的分段,以得到目标数据更少数量的分段数据,一个分片数据就可以具有较大的数据量,使得在网络质量较好时,不用担心目标数据的分段数据会被丢失,所以可以让目标数据的各个分段数据的数据量更多,这可以减少对目标数据打包的成本(如可以减少对目标数据的打包次数,即减少创建目标数据的分段数据与对应冗余数据之间打包关系的次数),以更快且更少量的数据传输次数即可在目标传输阶段完成对目标数据的传输。
而当网络质量较差时(如上述网络质量指数小于某个指数阈值时),可以对目标数据进行更多的分段,以得到目标数据更多数量的分段数据,一个分片数据就可以具有较少的数据量,使得在网络质量较差时,即使发生数据丢失,丢失的也是包含数据量较少的分段数据,后续数据处理设备的下一端对于所丢失的较少的分段数据也可以进行更快且更简单的恢复或者重新拉取,进而可以让数据处理设备的下一端快速获取到目标数据全部的分段数据,并可以根据获取到的目标数据的全部分段数据恢复得到目标数据。
数据处理设备还可以获取到目标传输阶段的动态编码策略所指示的至少一个冗余数据,该冗余数据即为在采用目标传输阶段的动态编码策略时,需要与真实的数据包一起打包的冗余包。
因此,数据处理设备可以对该冗余数据与上述多个分段数据进行打包,即可得到对目标数据编码处理的数据。
举个例子,若目标数据具有9个连续的分段数据,目标传输阶段的动态编码策略是基于3+1的异或冗余打包算法的打包策略,则可以分别对该9个分段数据分为3份,1份分段数据就包括该9个分段数据中的3个连续的分段数据,因此,可以建立该3份中的每份分段数据分别与对应的冗余数据之间的打包关系,建立了打包关系的3个分段数据与1个冗余数据就可以理解为是一个编码包组,通过上述过程可以建立3个编码包组,任一个编码包组中的冗余数据和分段数据之间具有打包关系,该3个编码包组就可以是上述对目标数据编码处理的数据。即对目标数据编码处理的数据可以包括之间创建有打包关系的分段数据1~分段数据9、以及冗余数据1~冗余数据3,进而,数据处理设备就可以分别独立地将各个编码包组中的各个数据(包括分段数据和冗余数据)传输给下一端。
更具体的,若上述9个连续的分段数据依次包括分段数据1、分段数据2、分段数据3、分段数据4、分段数据5、分段数据6、分段数据7、分段数据8和分段数据9,那么,分段数据1~3可以与冗余数据1具有打包关系,冗余数据1等于分段数据1~分段数据3之间的异或结果,分段数据1~分段数据3和冗余数据1可以构成编码包组1;分段数据4~6可以与冗余数据2具有打包关系,冗余数据2等于分段数据4~分段数据6之间的异或结果,分段数据4~分段数据6和冗余数据2可以构成编码包组2;分段数据7~分段数据9可以与冗余数据3具有打包关系,冗余数据3等于分段数据7~分段数据9之间的异或结果,分段数据7~分段数据9和冗余数据3可以构成编码包组3。
可选的,数据处理设备可以将上述分段数据1、分段数据2、分段数据3、冗余数据1、分段数据4、分段数据5、分段数据6、冗余数据2、分段数据7、分段数据8、分段数据9、冗余数据3分别独立地传输给其下一端;或者,数据处理设备还可以将上一个编码包组中的冗余数据与下一个编码包组中第1个分段数据合并传输(即发送)给其下一端,如数据处理设备还可以将冗余数据1与分段数据4合并再传输给其下一端,再如,数据处理设备还可以将冗余数据2与分段数据7合并再传输给其下一端。
对于数据处理设备的下一端而言,该下一端在接收编码包组1~编码包组3时,针对编码包组1,若该下一端丢失(如未接收到)该编码包组中的任意一个数据(如分段数据1、分段数据2、分段数据3或者冗余数据1),则该下一端可以通过接收到的该编码包组中的另外3个数据来恢复出丢失的那个数据;针对编码包组2,若该下一端丢失该编码包组中的任意一个数据(如分段数据4、分段数据5、分段数据6、或者冗余数据2),则该下一端可以通过接收到的该编码包组中的另外3个数据来恢复出丢失的那个数据;针对编码包组3,若该下一端丢失该编码包组中的任意一个数据(如分段数据7、分段数据8、分段数据9或者冗余数据3),则该下一端可以通过接收到的该编码包组中的另外3个数据来恢复出丢失的那个数据。
更多的,目标数据的各个分段数据之间还可以具有序号,后续数据处理设备的下一端还可以根据该序号以及各个分段数据来恢复出目标数据,如该下一端还可以按照获取到的数据处理设备发送的各个分段数据的序号,对该各个分段数据进行依次拼接,即可得到恢复出的完整的目标数据。
因此,此处再次进行说明的是,若数据处理设备不是源端,则数据处理设备获取到的目标数据可以是通过其前一端发送的编码处理的数据恢复出的目标数据。
综上可知,若数据处理设备是源端,则目标数据可以是由数据处理设备对采集到的原始数据进行压缩得到,进而可以按照将数据处理设备作为发送端的传输阶段的动态编码策略对目标数据进行打包(如建立目标数据的各个分段数据与对应冗余数据之间的打包关系,以得到编码包组),即可得到此传输阶段中目标数据编码处理后的数据。
而若数据处理设备不是源端,则目标传输阶段的目标数据可以是数据处理设备通过其前一端(即目标传输阶段的前一个传输阶段的发送端)发送的对目标数据编码处理的数据恢复得到的,其中,可以将该前一端发送的对目标数据编码处理的数据称之为是历史编码处理的数据,换句话说,目标传输节点的目标数据可以是在目标传输阶段的前一个传输阶段,对目标数据进行编码处理得到。数据处理设备可以按照将数据处理设备作为发送端的传输阶段的动态编码策略对恢复得到的目标数据进行打包(如建立目标数据的各个分段数据与对应冗余数据之间的打包关系,以得到编码包组),即可得到此传输阶段中目标数据编码处理后的数据(即编码包组)。
通过上述,可以知道的是,本申请中对目标数据(即对目标数据的分段数据和对应冗余数据)进行打包,可以是指建立分段数据与对应冗余数据之间的打包关系,而各个分段数据和冗余数据可以分开进行传输。
因此,本申请能有效降低数据传输过程中物理网络对传输质量的影响,通过传输网络的网络质量来确定对需要传输的目标数据的打包策略,能有效的将网络传输过程中丢失的数据,迟到的数据进行恢复,并且以尽可能低的带宽负载,从而以更低的成本达到更高的网络纠错能力。
请参见图7,图7是本申请提供的一种数据交互的场景示意图。可选的,本申请中,可以包括获取各个传输阶段的网络质量的质量服务器以及用于对目标数据进行转发的转发服务器,此处可以由各个传输阶段的发送端或者接收端向质量服务器提交所在传输阶段的网络评估参数(可以包含在质量报告中),继而由质量服务器根据接收到的网络评估参数来评估各个传输阶段的网络质量(如得到各个传输阶段的网络质量指数),进而根据各个传输阶段的网络质量来确定各个传输阶段的动态编码策略,使得质量服务器可以将所确定的各个传输阶段的动态编码策略发送给各个传输阶段的发送端,使得各个传输阶段的发送端按照质量服务器所发送的动态编码策略对目标数据进行编码后传输。
下面描述各个设备(包括源端、质量服务器以及目标端)的数据处理过程:
请参见图8,图8是本申请提供的一种源端进行数据处理的流程示意图。如图8所示,①源端首先可以进行网络初始化,并申请***(如上述第一客户端的应用***)所需的资源,该资源可以是用于对***进行运行的资源。②源端可以采集需要传输给目标端的原始数据。③源端可以对采集到的原始数据进行前处理,该前处理可以是对采集到的原始数据进行降噪优化等处理。④源端可以对采集到的原始数据进行编码,此处的编码可以是指对采集到的原始数据进行压缩处理,以得到目标数据。⑤源端可以对目标数据进行前向纠错打包,即按照所确定的将源端作为发送端的传输阶段的动态编码策略(该动态编码策略可以是由质量服务器提供的)对目标数据进行打包。⑥源端可以将按照对应动态编码策略进行打包后的目标数据(即编码处理的数据)发送给其下一端(如转发服务器)。
请参见图9,图9是本申请提供的一种质量服务器进行数据处理的流程示意图。如图9所示,①质量服务器可以进行网络初始化,并申请***(如用于评估传输阶段的网络质量以及确定传输阶段的动态编码策略的***)所需资源。
此外,本申请中可以只包括一个转发服务器,②质量服务器可以接收源端质量报告(可以是源端发送的,也可以是转发服务器发送的),该源端质量报告可以包含用于对源端到转发服务器这一传输阶段的网络质量进行评估的网络评估参数,因此,质量服务器可以根据该源端质量报告确定源端的前向纠错算法,即源端对目标数据进行打包的策略,进而质量服务器可以将该策略给到源端。③质量服务器可以接收转发服务器质量报告,该转发服务器质量报告可以包含用于对转发服务器到目标端这一传输阶段的网络质量进行评估的网络评估参数,因此,质量服务器可以根据该转发服务器质量报告确定转发服务器的前向纠错算法,即转发服务器对目标数据进行打包的策略,进而质量服务器可以将该策略给到转发服务器。
请参见图10,图10是本申请提供的一种目标端进行数据处理的流程示意图。如图10所示,①目标端也可以进行网络初始化,并申请***(如上述第二客户端的应用***)所需的资源,该资源可以是用于对***进行运行的资源。②目标端可以接收转发服务器发送的对目标数据编码处理的数据。③目标端可以对获取到编码处理的数据进行解包:如可以根据传输协议对编码处理的数据进行解析,解析出有效的数据信息(如解析出目标数据真实的数据包,如目标数据的分段数据)。④目标端还可以对解析得到的数据进行数据缓冲:目标端可以对解析得到的数据(如解析得到的真实包)进行排序和存储,并消息部分网络抖动对数据传输的影响,以得到目标数据。
⑤转发服务器传输编码处理的数据到目标端的过程中,可能会存在数据(如真实的数据包)丢失或者一定生命周期内迟到(如时延),因此,目标端可以使用前向纠错算法的逆运算对丢失或者迟到的数据进行恢复,以恢复得到完整的目标数据。⑥目标端可以对恢复得到的目标数据按照压缩时的算法进行解码,即可得到源端需要传输的原始数据(如源端采集需要传输给目标端的数据)。⑦目标端可以对解码得到的原始数据进行消费,如音频播放、视频播放、应用推理等类型消费。
本申请可以获取源端待传输至目标端的目标数据;目标数据从源端被传输至目标端需经历N个传输阶段;N为大于1的整数;并可以基于N个传输阶段的网络质量,确定与N个传输阶段的网络质量相适配的动态编码策略;还可以按照确定的动态编码策略对目标数据进行编码处理,并将编码处理的数据传输至目标端。由此可见,本申请提出的方法可以根据将目标数据从源端传输至目标端的过程中所历经的N个传输阶段的网络质量,来自适应地确定与N个传输阶段的网络质量相适配的编码策略,该编码策略可以是动态编码策略,该动态可以是指在不同传输阶段对于目标数据的编码方式可以不同,由此可见,本申请可以根据目标数据传输的各个传输阶段的网络质量来动态调整对于目标数据的编码方式,使得可以在保证对目标数据进行可靠传输(即以适配网络质量的编码方式进行传输)的同时,选择对目标数据进行编码的最佳方式,如最佳的冗余编码方式,因此,可以在保证对目标数据进行可靠传输的同时,减少对于目标数据的编码数据量,提高传输目标数据的效率,并减少传输目标数据时的网络开销。
请参见图11,图11是本申请提供的一种数据处理装置的结构示意图。该数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该数据处理装置为一个应用软件,该数据处理装置可以用于执行本申请实施例提供的方法中的相应步骤。如图11所示,该数据处理装置1可以包括:获取模块11、确定模块12、编码模块13。
获取模块11,用于获取源端待传输至目标端的目标数据;目标数据从源端被传输至目标端需经历N个传输阶段;N为大于1的整数;
确定模块12,用于基于N个传输阶段的网络质量,确定与N个传输阶段的网络质量相适配的动态编码策略;该动态编码策略包括针对数据的打包策略;
编码模块13,用于按照确定的动态编码策略对目标数据进行编码处理,并将编码处理的数据传输至目标端。
可选的,N个传输阶段中的每个传输阶段均具有对应的发送端和接收端;
每个传输阶段的网络质量分别是指每个传输阶段对应发送端和接收端间传输网络的网络质量。
可选的,确定模块12基于N个传输阶段的网络质量,确定与N个传输阶段的网络质量相适配的动态编码策略的方式,包括:
获取目标传输阶段的多个网络质量范围;目标传输阶段为N个传输阶段中的任一个;
将多个网络质量范围中目标传输阶段的网络质量所在网络质量范围,确定为目标网络质量范围;
将与目标网络质量范围相匹配的打包策略确定为目标传输阶段的动态编码策略。
可选的,上述装置1还用于:
设置目标传输阶段的多个网络质量范围;
分别为多个网络质量范围中的每个网络质量范围设置相匹配的打包策略。
可选的,若目标传输阶段中的发送端是源端,则目标传输阶段的目标数据是由源端对原始数据进行压缩得到,原始数据是由源端采集的需要传输给目标端的数据;
编码模块13按照确定的动态编码策略对目标数据进行编码处理,并将编码处理的数据传输至目标端的方式,包括:
按照所确定的目标传输阶段的动态编码策略对压缩后的原始数据进行打包,得到编码处理的数据;
将编码处理的数据传输至目标端。
可选的,编码模块13按照所确定的目标传输阶段的动态编码策略对压缩后的原始数据进行打包,得到编码处理的数据的方式,包括:
基于目标传输阶段的动态编码策略对压缩后的原始数据进行分段,得到压缩后的原始数据的多个分段数据;
获取目标传输阶段的动态编码策略所指示的至少一个冗余数据;
基于目标传输阶段的动态编码策略对至少一个冗余数据和多个分段数据进行打包,得到编码处理的数据。
可选的,编码模块13基于目标传输阶段的动态编码策略对至少一个冗余数据和多个分段数据进行打包,得到编码处理的数据的方式,包括:
基于目标传输阶段的动态编码策略构建至少一个冗余数据和多个分段数据之间的打包关系,得到至少一个编码包组;任一个编码包组包含的冗余数据和分段数据之间具有打包关系;
将至少一个编码包组确定为编码处理的数据。
可选的,若目标传输阶段的发送端不是源端,则目标传输阶段的目标数据是基于接收到的历史编码处理的数据恢复得到,历史编码处理的数据是在目标传输阶段的前一个传输阶段对目标数据进行编码处理得到。
可选的,N个传输阶段中的任一个表示为目标传输阶段,上述装置1还用于:
获取目标传输阶段的至少一种网络评估参数;其中,至少一种网络评估参数包括如下任一种或多种的组合:目标传输阶段的传输网络的网络丢包率;传输网络的网络抖动时间;传输网络的网络往返时延;或者,传输网络的网络类型;
获取至少一种网络评估参数中每种网络评估参数的评估权重;以及,
基于每种网络评估参数的评估权重,确定目标传输阶段的网络质量。
可选的,上述装置1获取目标传输阶段的至少一种网络评估参数的方式,包括:
获取目标传输阶段的传输网络在传输编码处理的数据的前M个数据时产生的网络评估参数,M为大于等于1的整数;
基于获取到的网络评估参数确定目标传输阶段的至少一种网络评估参数。
可选的,上述装置1应用于云游戏场景,源端是指云游戏场景中的第一游戏客户端,目标端是指云游戏场景中的第二游戏客户端;获取模块11获取源端待传输至目标端的目标数据的方式,包括:
获取基于第一游戏客户端所采集的游戏交互数据,并基于游戏交互数据确定待传输的目标数据;
编码模块13将编码处理的数据传输至目标端的方式,包括:
将编码处理的数据传输给第二游戏客户端,使第二游戏客户端对编码处理的数据进行解码处理,并输出解码处理的数据。
根据本申请的一个实施例,图3所示的数据处理方法所涉及的步骤可由图11所示的数据处理装置1中的各个模块来执行。例如,图3中所示的步骤S101可由图11中的获取模块11来执行,图3中所示的步骤S102可由图11中的确定模块12来执行;图3中所示的步骤S103可由图11中的编码模块13来执行。
本申请可以获取源端待传输至目标端的目标数据;目标数据从源端被传输至目标端需经历N个传输阶段;N为大于1的整数;并可以基于N个传输阶段的网络质量,确定与N个传输阶段的网络质量相适配的动态编码策略,该动态编码策略包括针对数据的打包策略;还可以按照确定的动态编码策略对目标数据进行编码处理,并将编码处理的数据传输至目标端。由此可见,本申请提出的装置可以根据将目标数据从源端传输至目标端的过程中所历经的N个传输阶段的网络质量,来自适应地确定与N个传输阶段的网络质量相适配的编码策略,该编码策略可以是动态编码策略,该动态可以是指在不同传输阶段对于目标数据的编码方式可以不同,由此可见,本申请可以根据目标数据传输的各个传输阶段的网络质量来动态调整对于目标数据的编码方式,使得可以在保证对目标数据进行可靠传输(即以适配网络质量的编码方式进行传输)的同时,选择对目标数据进行编码的最佳方式,如最佳的冗余打包方式,因此,可以在保证对目标数据进行可靠传输的同时,减少对于目标数据的编码数据量,提高传输目标数据的效率,并减少传输目标数据时的网络开销。
根据本申请的一个实施例,图11所示的数据处理装置1中的各个模块可以分别或全部合并为一个或若干个单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个子单元,可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述模块是基于逻辑功能划分的,在实际应用中,一个模块的功能也可以由多个单元来实现,或者多个模块的功能由一个单元实现。在本申请的其它实施例中,数据处理装置1也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算机设备上运行能够执行如图3中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图11中所示的数据处理装置1,以及来实现本申请实施例的数据处理方法。上述计算机程序可以记载于例如计算机可读记录介质上,并通过计算机可读记录介质装载于上述计算设备中,并在其中运行。
请参见图12,图12是本申请提供的一种计算机设备的结构示意图。如图12所示,计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图12所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及设备控制应用程序。
在图12所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
获取源端待传输至目标端的目标数据;目标数据从源端被传输至目标端需经历N个传输阶段;N为大于1的整数;
基于N个传输阶段的网络质量,确定与N个传输阶段的网络质量相适配的动态编码策略,该动态编码策略包括针对数据的打包策略;
按照确定的动态编码策略对目标数据进行编码处理,并将编码处理的数据传输至目标端。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3对应实施例中对上述数据处理方法的描述,也可执行前文图11所对应实施例中对上述数据处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据处理装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3所对应实施例中对数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
作为示例,上述程序指令可被部署在一个计算机设备上执行,或者被部署位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备可以组成区块链网络。
上述计算机可读存储介质可以是前述任一实施例提供的数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前文图3对应实施例中对上述数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (13)
1.一种数据处理方法,其特征在于,所述方法包括:
获取源端待传输至目标端的目标数据;所述目标数据从所述源端被传输至所述目标端需经历N个传输阶段;N为大于1的整数;
基于所述N个传输阶段的网络质量,确定与所述N个传输阶段的网络质量相适配的动态编码策略,该动态编码策略包括针对数据的打包策略,包括:获取目标传输阶段的多个网络质量范围;所述目标传输阶段为所述N个传输阶段中的任一个;获取所述目标传输阶段的至少一种网络评估参数;获取所述至少一种网络评估参数中每种网络评估参数的评估权重;基于所述每种网络评估参数的评估权重,确定所述目标传输阶段的网络质量;将所述多个网络质量范围中所述目标传输阶段的网络质量所在网络质量范围,确定为目标网络质量范围;将与所述目标网络质量范围相匹配的打包策略确定为所述目标传输阶段的动态编码策略;
按照确定的动态编码策略对所述目标数据进行编码处理,并将编码处理的数据传输至所述目标端。
2.如权利要求1所述的方法,其特征在于,所述N个传输阶段中的每个传输阶段均具有对应的发送端和接收端;
所述每个传输阶段的网络质量分别是指所述每个传输阶段对应发送端和接收端间传输网络的网络质量。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
设置所述目标传输阶段的所述多个网络质量范围;
分别为所述多个网络质量范围中的每个网络质量范围设置相匹配的打包策略。
4.如权利要求1所述的方法,其特征在于,若所述目标传输阶段中的发送端是所述源端,则所述目标传输阶段的所述目标数据是由所述源端对原始数据进行压缩得到,所述原始数据是由所述源端采集的需要传输给所述目标端的数据;
所述按照确定的动态编码策略对所述目标数据进行编码处理,并将编码处理的数据传输至所述目标端,包括:
按照所确定的所述目标传输阶段的动态编码策略对所述压缩后的原始数据进行打包,得到所述编码处理的数据;
将所述编码处理的数据传输至所述目标端。
5.如权利要求4所述的方法,其特征在于,所述按照所确定的所述目标传输阶段的动态编码策略对所述压缩后的原始数据进行打包,得到所述编码处理的数据,包括:
基于所述目标传输阶段的动态编码策略对所述压缩后的原始数据进行分段,得到所述压缩后的原始数据的多个分段数据;
获取所述目标传输阶段的动态编码策略所指示的至少一个冗余数据;
基于所述目标传输阶段的动态编码策略对所述至少一个冗余数据和所述多个分段数据进行打包,得到所述编码处理的数据。
6.如权利要求5所述的方法,其特征在于,所述基于所述目标传输阶段的动态编码策略对所述至少一个冗余数据和所述多个分段数据进行打包,得到所述编码处理的数据,包括:
基于所述目标传输阶段的动态编码策略构建所述至少一个冗余数据和所述多个分段数据之间的打包关系,得到至少一个编码包组;任一个编码包组包含的冗余数据和分段数据之间具有所述打包关系;
将所述至少一个编码包组确定为所述编码处理的数据。
7.如权利要求1所述的方法,其特征在于,若所述目标传输阶段的发送端不是所述源端,则所述目标传输阶段的所述目标数据是基于接收到的历史编码处理的数据恢复得到,所述历史编码处理的数据是在所述目标传输阶段的前一个传输阶段对所述目标数据进行编码处理得到。
8.如权利要求1所述的方法,其特征在于,其中,所述至少一种网络评估参数包括如下任一种或多种的组合:所述目标传输阶段的传输网络的网络丢包率;所述传输网络的网络抖动时间;所述传输网络的网络往返时延;或者,所述传输网络的网络类型。
9.如权利要求8所述的方法,其特征在于,获取所述目标传输阶段的至少一种网络评估参数,包括:
获取所述目标传输阶段的传输网络在传输所述编码处理的数据的前M个数据时产生的网络评估参数,M为大于等于1的整数;
基于获取到的网络评估参数确定所述目标传输阶段的所述至少一种网络评估参数。
10.如权利要求1-9任一项所述的方法,其特征在于,所述方法应用于云游戏场景,所述源端是指所述云游戏场景中的第一游戏客户端,所述目标端是指所述云游戏场景中的第二游戏客户端;所述获取源端待传输至目标端的目标数据,包括:
获取基于所述第一游戏客户端所采集的游戏交互数据,并基于所述游戏交互数据确定待传输的所述目标数据;
所述将编码处理的数据传输至所述目标端,包括:
将所述编码处理的数据传输给所述第二游戏客户端,使所述第二游戏客户端对所述编码处理的数据进行解码处理,并输出解码处理的数据。
11.一种数据处理装置,其特征在于,所述装置包括:
获取模块,用于获取源端待传输至目标端的目标数据;所述目标数据从所述源端被传输至所述目标端需经历N个传输阶段;N为大于1的整数;
确定模块,用于基于所述N个传输阶段的网络质量,确定与所述N个传输阶段的网络质量相适配的动态编码策略,包括:获取目标传输阶段的多个网络质量范围;所述目标传输阶段为所述N个传输阶段中的任一个;获取所述目标传输阶段的至少一种网络评估参数;获取所述至少一种网络评估参数中每种网络评估参数的评估权重;基于所述每种网络评估参数的评估权重,确定所述目标传输阶段的网络质量;将所述多个网络质量范围中所述目标传输阶段的网络质量所在网络质量范围,确定为目标网络质量范围;将与所述目标网络质量范围相匹配的打包策略确定为所述目标传输阶段的动态编码策略;
编码模块,用于按照确定的动态编码策略对所述目标数据进行编码处理,并将编码处理的数据传输至所述目标端。
12.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-10中任一项所述方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适用于由处理器加载并执行权利要求1-10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210546164.9A CN114978427B (zh) | 2022-05-19 | 2022-05-19 | 数据处理方法、装置、程序产品、计算机设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210546164.9A CN114978427B (zh) | 2022-05-19 | 2022-05-19 | 数据处理方法、装置、程序产品、计算机设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114978427A CN114978427A (zh) | 2022-08-30 |
CN114978427B true CN114978427B (zh) | 2024-04-19 |
Family
ID=82984752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210546164.9A Active CN114978427B (zh) | 2022-05-19 | 2022-05-19 | 数据处理方法、装置、程序产品、计算机设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114978427B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104010328A (zh) * | 2013-02-22 | 2014-08-27 | 中国科学院深圳先进技术研究院 | 一种自适应负载均衡的代码分发方法 |
CN111128203A (zh) * | 2020-02-27 | 2020-05-08 | 北京达佳互联信息技术有限公司 | 音频数据编码、解码方法、装置、电子设备及存储介质 |
CN111181700A (zh) * | 2020-01-07 | 2020-05-19 | 广州华多网络科技有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN111629210A (zh) * | 2020-05-22 | 2020-09-04 | 北京大米科技有限公司 | 一种数据处理的方法、装置及电子设备 |
CN112820306A (zh) * | 2020-02-20 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 语音传输方法、***、装置、计算机可读存储介质和设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707551B (zh) * | 2009-10-30 | 2011-11-16 | 杭州华三通信技术有限公司 | 一种数据的传输方法及装置 |
US10498368B2 (en) * | 2015-11-02 | 2019-12-03 | Mk Systems Usa Inc. | Dynamic client-side selection of FEC information |
CN110933706A (zh) * | 2019-12-12 | 2020-03-27 | 惠州Tcl移动通信有限公司 | 一种网络通信设置方法、装置、存储介质及终端 |
-
2022
- 2022-05-19 CN CN202210546164.9A patent/CN114978427B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104010328A (zh) * | 2013-02-22 | 2014-08-27 | 中国科学院深圳先进技术研究院 | 一种自适应负载均衡的代码分发方法 |
CN111181700A (zh) * | 2020-01-07 | 2020-05-19 | 广州华多网络科技有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN112820306A (zh) * | 2020-02-20 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 语音传输方法、***、装置、计算机可读存储介质和设备 |
CN111128203A (zh) * | 2020-02-27 | 2020-05-08 | 北京达佳互联信息技术有限公司 | 音频数据编码、解码方法、装置、电子设备及存储介质 |
CN111629210A (zh) * | 2020-05-22 | 2020-09-04 | 北京大米科技有限公司 | 一种数据处理的方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114978427A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107276722B (zh) | 一种基于udp的数据传输方法和*** | |
EP2810180B1 (en) | Multi-path data transfer using network coding | |
US8718098B2 (en) | Method for compressing and decompressing time stamp and equipment thereof | |
CN110943800A (zh) | 数据包的发送方法、装置及***、存储介质、电子装置 | |
US11023412B2 (en) | RDMA data sending and receiving methods, electronic device, and readable storage medium | |
CN106453474A (zh) | 在不稳定网络环境中的大文件的网络传输 | |
CN109547467A (zh) | 媒体数据纠错传输及纠错方法、装置、设备及存储介质 | |
CN109714325A (zh) | 一种单向光闸数据传输方法、***、电子设备和介质 | |
CN112953850B (zh) | 数据传输方法、装置、计算机可读介质及电子设备 | |
JP7282895B2 (ja) | データの再送復号方法、装置、システム及び通信装置 | |
CA2998900A1 (en) | Fec mechanism based on media contents | |
Itahara et al. | Communication-oriented model fine-tuning for packet-loss resilient distributed inference under highly lossy IoT networks | |
CN116847453B (zh) | 卫星数据传输及卫星物联网接入时间的管理方法 | |
CN114978427B (zh) | 数据处理方法、装置、程序产品、计算机设备和介质 | |
CN107615810B (zh) | 用于在线网络代码的包头压缩***和方法 | |
CN114513418B (zh) | 一种数据处理方法及相关设备 | |
US8442070B1 (en) | Fractional threshold encoding and aggregation | |
CN113595694B (zh) | 数据的传输方法、计算设备及存储介质 | |
CN115550459A (zh) | 语音数据的发送和接收方法以及相关设备 | |
WO2021036189A1 (zh) | Rdma数据发送及接收方法、电子设备及可读存储介质 | |
Ho et al. | QoS-supporting video streaming system with minimum data service cost over heterogeneous wireless networks | |
CN104796735B (zh) | 一种视频数据传输方法及装置 | |
CN113507467A (zh) | 一种基于区块链的隐蔽信息传输***及方法 | |
US8938019B2 (en) | Data transmitting device and data transmitting/receiving method | |
CN110233697B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40073883 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |