CN116600010A - 一种数据传输方法、装置、设备、存储介质及程序产品 - Google Patents
一种数据传输方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN116600010A CN116600010A CN202310874828.9A CN202310874828A CN116600010A CN 116600010 A CN116600010 A CN 116600010A CN 202310874828 A CN202310874828 A CN 202310874828A CN 116600010 A CN116600010 A CN 116600010A
- Authority
- CN
- China
- Prior art keywords
- data
- service
- equipment
- transmission
- request
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 210
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000003860 storage Methods 0.000 title claims abstract description 21
- 239000000872 buffer Substances 0.000 claims abstract description 36
- 230000004044 response Effects 0.000 claims abstract description 26
- 230000003139 buffering effect Effects 0.000 claims abstract description 13
- 238000001514 detection method Methods 0.000 claims description 51
- 230000015654 memory Effects 0.000 claims description 44
- 238000012795 verification Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 9
- 238000013524 data verification Methods 0.000 claims description 6
- 238000013075 data extraction Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 description 28
- 238000005516 engineering process Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2183—Cache memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23106—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Communication Control (AREA)
Abstract
本申请提供了一种数据传输方法、装置、设备、存储介质及程序产品;本申请实施例可以应用于视频点播、直播等的数据传输场景中;该方法包括:响应于终端设备针对业务数据所发送的数据重发请求,确定数据重发请求所对应的数据索引;其中,业务数据由服务设备响应终端设备的数据拉取请求所下发的;基于数据索引,从数据缓存队列中,提取得到数据重发请求对应的目标重发数据;数据缓存队列用于对服务设备下发给终端设备的业务数据进行缓存;将目标重发数据重新下发至终端设备。通过本申请,能够提升业务数据的传输效率。
Description
技术领域
本申请涉及信息传输技术,尤其涉及一种数据传输方法、装置、设备、存储介质及程序产品。
背景技术
在数据传输过程中,可能会由于各种原因导致丢包现象的出现。为了解决丢包的问题,相关技术中,终端设备在检测到丢包之后,会生成数据重发请求,并通过传输设备将数据重发请求发送给服务设备,服务设备接收该请求之后,会按照该请求的要求,重新发送终端设备所要求的数据。由此可见,在出现丢包现象时,缺失的数据重新发送时的传输链路较长,导致终端设备需要较长的时延才能重新获取到业务数据中缺失的数据,从而影响了业务数据的传输效率。
发明内容
本申请实施例提供一种数据传输方法、装置、设备、计算机可读存储介质及计算机程序产品,能够提升业务数据的传输效率。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种数据传输方法,包括:
响应于终端设备针对业务数据所发送的数据重发请求,确定所述数据重发请求所对应的数据索引;其中,所述业务数据由服务设备响应所述终端设备的数据拉取请求所下发的;
基于所述数据索引,从数据缓存队列中,提取得到所述数据重发请求对应的目标重发数据;所述数据缓存队列用于对所述服务设备下发给所述终端设备的业务数据进行缓存;
将所述目标重发数据重新下发至所述终端设备。
本申请实施例提供一种数据传输方法,包括:
针对业务数据进行完整性校验,得到校验结果;其中,所述业务数据由服务设备响应于数据拉取请求所下发的;
当所述校验结果表征所述业务数据存在缺失时,向传输设备发送数据重发请求;
接收所述传输设备针对所述数据重发请求所返回的目标重发数据。
本申请实施例提供一种数据传输装置,包括:
索引确定模块,用于响应于终端设备针对业务数据所发送的数据重发请求,确定所述数据重发请求所对应的数据索引;其中,所述业务数据由服务设备响应所述终端设备的数据拉取请求所下发的;
数据提取模块,用于基于所述数据索引,从数据缓存队列中,提取得到所述数据重发请求对应的目标重发数据;所述数据缓存队列用于对所述服务设备下发给所述终端设备的业务数据进行缓存;
第一发送模块,用于将所述目标重发数据重新下发至所述终端设备。
在本申请的一些实施例中,所述数据传输装置还包括:第一接收模块和缓存处理模块;
所述第一接收模块,用于接收所述终端设备发送的数据拉取请求;接收所述服务设备针对所述数据拉取请求所下发的数据包;
所述缓存处理模块,用于对所述数据包中的数据进行类型检测,得到检测结果,并在所述检测结果表征所述数据包中的数据为所述业务数据时,将所述业务数据备份至所述数据缓存队列中;
所述第一发送模块,还用于将所述数据拉取请求转发至服务设备;将所述数据包转发给所述终端设备。
在本申请的一些实施例中,所述缓存处理模块,还用于从所述数据包中解析得到数据类型标识;通过读取所述数据类型标识,完成对所述数据包中的数据的类型检测,得到所述检测结果。
在本申请的一些实施例中,所述索引确定模块,还用于响应于所述终端设备针对所述业务数据所发送的所述数据重发请求,对所述数据重发请求进行解析,得到所述终端设备的标识信息和所述服务设备的标识信息;利用所述终端设备的标识信息和所述服务设备的标识信息,确定所述数据重发请求所对应的所述数据索引;其中,所述标识信息中至少包含路由地址和端口号。
在本申请的一些实施例中,所述缓存处理模块,还用于在所述检测结果表征所述数据包中的数据为所述业务数据时,针对所述数据缓存队列进行余量查询;当查询结果表征所述数据缓存队列余量不足时,从所述数据缓存队列中确定待覆盖数据;利用所述业务数据对所述待覆盖数据进行覆盖,完成将所述业务数据备份至所述数据缓存队列中。
本申请实施例提供一种数据传输装置,包括:
数据校验模块,用于针对业务数据进行完整性校验,得到校验结果;其中,所述业务数据由服务设备响应于数据拉取请求所下发的;
第二发送模块,用于当所述校验结果表征所述业务数据存在缺失时,向传输设备发送数据重发请求;
第二接收模块,用于接收所述传输设备针对所述数据重发请求所返回的目标重发数据。
在本申请的一些实施例中,所述第二发送模块,还用于响应于针对所述业务数据的数据拉取操作,生成数据拉取请求;将所述数据拉取请求发送至传输设备,所述传输设备用于将所述数据拉取请求转发至所述服务设备;
所述第二接收模块,还用于接收所述传输设备针对所述数据拉取请求所返回的数据包,并从所述数据包中解析得到所述业务数据。
在本申请的一些实施例中,所述业务数据包括:视频帧序列;所述数据校验模块,还用于通过对所述视频帧序列中的视频帧的帧号进行连续性检测,完成对所述视频帧序列的完整性校验,得到所述校验结果。
本申请实施例提供一种传输设备,包括:
第一存储器,用于存储计算机可执行指令;
第一处理器,用于执行所述第一存储器中存储的计算机可执行指令时,实现本申请实施例提供的传输设备侧的数据传输方法。
本申请实施例提供一种终端设备,包括:
第二存储器,用于存储计算机可执行指令;
第二处理器,用于执行所述第二存储器中存储的计算机可执行指令时,实现本申请实施例提供的终端设备侧的数据传输方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于引起第一处理器执行时,实现本申请实施例提供的传输设备侧的数据传输方法,或者用于引起第二处理器执行时,实现本申请实施例提供的终端设备侧的数据传输方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被第一处理器执行时实现本申请实施例提供的传输设备侧的数据传输方法,被第二处理器执行时实现本申请实施例提供的终端设备侧的数据传输方法。
本申请实施例具有以下有益效果:传输设备在接收到终端设备针对业务数据所发送的数据重发请求之后,会确定数据索引,并通过数据索引在用于缓存服务设备向终端设备所下发的业务数据的数据缓存队列中,获取需要向终端设备重新下发的数据,而无需从远端的服务设备中获取需要重新下发的数据,如此,能够缩短缺失的数据在重新发送时的传输链路,从而更快地获取到业务数据中缺失的数据,也就提升了业务数据的传输效率。
附图说明
图1是出现丢包之后的处理流程;
图2是本申请实施例提供的数据传输系统的架构示意图;
图3是本申请实施例提供的图2中的服务器的结构示意图;
图4是本申请实施例提供的图2中的终端的结构示意图;
图5是本申请实施例提供的数据传输方法的流程示意图一;
图6是本申请实施例提供的数据传输方法的流程示意图二;
图7是本申请实施例提供的数据传输方法的流程示意图三;
图8是本申请实施例提供的短视频拉取的系统框架示意图;
图9是本申请实施例提供的视频点播的业务处理流程示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)丢包,是指在网络传输过程中,数据包因为各种原因没有正确地到达目标设备,而发生丢失的现象。丢包可能是由于网络拥塞、数据包传输距离过长、网络信号干扰等原因造成的。
2)数据索引,用于在数据缓存队列中进行查找数据的索引信息。数据索引与数据缓存队列中所缓存的数据之间存在映射关系,通过该映射关系,就能够从数据缓存队列获得相应的缓存数据。
3)响应于,用于表示所执行的操作所依赖的条件或状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
4)终端设备,是指数据传输链路中用户侧的设备,用于直接向用户提供应用、服务等的硬件设备,也可以理解为用户所使用的硬件设备,例如用户的智能手机、穿戴设备等等。
5)服务设备,是指数据传输链路中提供数据服务的设备,是处于云端的设备,其用于接收不同的用户所上传的数据,并对这些数据进行处理,然后在用户需要时将处理后的数据提供给用户,例如云端的短视频服务器、游戏后台服务器等。
6)传输设备,是指数据传输链路中处于服务设备和终端设备之间的设备,其用于对终端设备和服务设备进行连接,以实现具体的业务功能。例如,当终端设备访问某个网站时,传输设备就会负责建立终端设备与该网站的后台服务设备之间的连接。
在数据传输过程中,可能会由于各种原因导致丢包现象的出现。例如,在视频点播场景中,当用户通过终端设备进行短视频的点播时,可能会由于用户量过多,业务繁忙等原因出现网络拥塞,从而导致出现丢包现象。如此,会造成短视频的视频帧丢失,终端设备无法正常播放短视频。
为了解决丢包的问题,相关技术中,终端设备在检测到丢包之后,会生成数据重发请求,并通过传输设备将数据重发请求发送给服务设备,服务设备接收该请求之后,会按照该请求的要求,重新发送终端设备所要求的数据。
示例性的,图1是出现丢包之后的处理流程。当短视频的视频帧丢包时,用户的5G(第五代移动通信技术,5th Generation Mobile Communication Technology)终端1-1(称为终端设备)会生成数据帧重发请求,并发送给无线基站1-2,以达到5G核心网的用户面设备1-31(5G核心网中还具有控制面设备1-32,用户面设备1-31可以称为传输设备),5G核心网用户面设备将该请求转发到有线网络1-4,最终到达提供视频点播的流媒体服务器1-5(称为服务设备)。流媒体服务器1-5按照数据帧重发请求的要求,重新发送5G终端1-1所要求的视频帧,该视频帧会按照原有的路径返回给5G终端1-1。
由此可见,终端设备在出现丢包现象时,所发送的数据重发请求需要经过无线网络和有线网络传输至服务设备,由服务设备负责对丢包数据进行重发。如此,会使得丢包的数据,即缺失的数据重新发送时的传输链路较长,导致终端设备需要较长的时延才能重新获取到业务数据中缺失的数据,也即影响了业务数据的传输效率。
同时,由于缺失的数据重新发送时的传输链路较长,上行的数据重发请求和下行重新发送的缺失数据更容易因为网络的不确定性造成丢包,即再次出现丢包现象,从而进一步影响业务数据的传输效率。另外,数据重发请求全部由服务设备进行处理,无疑会增大传输网络的负载和服务设备的处理负载。
本申请实施例提供一种数据传输方法、装置、设备、计算机可读存储介质及计算机程序产品,能够提升业务数据的传输效率。下面说明本申请实施例提供的传输设备和终端设备的示例性应用,本申请实施例提供的终端设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备等各种类型的用户终端,也可以实施为服务器,本申请实施例提供的传输设备可以实施为可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备等各种类型的用户终端,也可以实施为服务器。下面,将说明终端设备实施为终端,传输设备实施为服务器时的示例性应用。
参见图2,图2是本申请实施例提供的数据传输系统的架构示意图。为实现支撑一个数据传输应用,在数据传输系统100中,终端400(示例性示出了终端400-1和终端400-2)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。在数据传输系统100中,还设置有数据库500,用以向服务器200提供数据支持。其中,数据库500可以独立于服务器200,也可以设置在服务器200内,图2示出的是数据库500独立于服务器200的情况。
终端400-1和终端400-2分别用于对业务数据进行完整性校验,得到校验结果;当校验结果表征业务数据存在缺失时,通过网络300向服务器200发送数据重发请求;接收服务器200针对数据重发请求所返回的目标重发数据,并在图形界面410-1和图形界面410-2上显示目标重发数据。
服务器200用于响应于终端400-1和终端400-2针对业务数据所发送的数据重发请求,确定数据重发请求所对应的数据索引;基于数据索引,从数据缓存队列中,提取得到数据重发请求对应的目标重发数据;通过网络300将目标重发数据重新下发给终端400-1和终端400-2。
本申请实施例可以借助于云技术(Cloud Technology)实现,云技术是指在广域网内或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、存储、处理和共享的一种托管技术。
云计算是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络的系统后台服务需要大量的计算和存储资源,需要通过云计算实现。
示例性的,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(内容分发网络,Content DeliveryNetwork)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400-1和终端400-2可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能家电、车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图3,图3是本申请实施例提供的图2中的服务器(传输设备的一种实施)的结构示意图,图3所示的服务器200包括:至少一个第一处理器210、第一存储器250、至少一个第一网络接口220和第一用户接口230。服务器200中的各个组件通过第一总线系统240耦合在一起。可理解,第一总线系统240用于实现这些组件之间的连接通信。第一总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为第一总线系统240。
第一处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第一用户接口230包括使得能够呈现媒体内容的一个或多个第一输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。第一用户接口230还包括一个或多个第一输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第一存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。第一存储器250可选地包括在物理位置上远离第一处理器210的一个或多个存储设备。
第一存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的第一存储器250旨在包括任意适合类型的存储器。
在一些实施例中,第一存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第一操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第一网络通信模块252,用于经由一个或多个(有线或无线)第一网络接口220到达其他计算设备,示例性的第一网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
第一呈现模块253,用于经由一个或多个与第一用户接口230相关联的第一输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第一输入处理模块254,用于对一个或多个来自一个或多个第一输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的数据传输装置可以采用软件方式实现,图3示出了存储在第一存储器250中的数据传输装置255,其可以是程序和插件等形式的软件,包括以下软件模块:索引确定模块2551、数据提取模块2552、第一发送模块2553、第一接收模块2554和缓存处理模块2555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
参见图4,图4是本申请实施例提供的图2中的终端(终端设备的一种实施)的结构示意图,图4所示的终端400包括:至少一个第二处理器410、第二存储器450、至少一个第二网络接口420和第二用户接口430。终端400中的各个组件通过第二总线系统440耦合在一起。可理解,第二总线系统440用于实现这些组件之间的连接通信。第二总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为第二总线系统440。
第二处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
第二用户接口430包括使得能够呈现媒体内容的一个或多个第二输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。第二用户接口430还包括一个或多个第二输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
第二存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。第二存储器450可选地包括在物理位置上远离第二处理器410的一个或多个存储设备。
第二存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的第二存储器450旨在包括任意适合类型的存储器。
在一些实施例中,第二存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
第二操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
第二网络通信模块452,用于经由一个或多个(有线或无线)第二网络接口420到达其他计算设备,示例性的第二网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
第二呈现模块453,用于经由一个或多个与第二用户接口430相关联的第二输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
第二输入处理模块454,用于对一个或多个来自一个或多个第二输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的数据传输装置可以采用软件方式实现,图4示出了存储在第二存储器450中的数据传输装置455,其可以是程序和插件等形式的软件,包括以下软件模块:数据校验模块4551、第二发送模块4552和第二接收模块4553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的数据传输装置255和数据传输装置455可以采用硬件方式实现,作为示例,本申请实施例提供的数据传输装置255和数据传输装置455可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的传输设备侧的数据传输方法,以及终端设备侧的数据传输方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在一些实施例中,传输设备或终端设备可以通过运行计算机程序来实现本申请实施例提供的数据传输方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,如短视频APP或者即时通信APP;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
本申请实施例可以应用于视频点播、直播等的数据传输场景中。下面,将结合本申请实施例提供的传输设备和终端设备的示例性应用和实施,说明本申请实施例提供的数据传输方法。
参见图5,图5是本申请实施例提供的数据传输方法的流程示意图一,将结合图5示出的步骤进行说明。
S101、终端设备针对业务数据进行完整性校验,得到校验结果。
本申请实施例是在终端设备从服务设备拉取业务数据的场景下实现的,更详细的,本申请实施例中,服务设备已经响应于终端设备所发送的数据拉取请求,将业务数据下发给了终端设备。终端设备在得到业务数据之后,会对业务数据进行完整性校验,以确定业务数据在传输过程中是否发生丢包现象,即确定所得到的业务数据是否存在缺失。在完成完整性校验之后,终端设备就能够得到业务数据的校验结果,从而,校验结果用于表征业务数据中是否存在缺失。
需要说明的是,业务数据由服务设备响应终端设备的数据拉取请求所下发的。终端设备在向服务设备发送数据拉取请求时,会先将数据拉取请求发送给传输设备,再由传输设备转发至服务设备。相应的,服务设备在向终端设备下发业务数据时,也会是将业务数据发送给传输设备,由传输设备转发至终端设备。也就是说,本申请实施例中,传输设备用于对终端设备和服务设备进行“连接”,传输设备可以是5G核心网的用户面设备,也可以是边缘服务器。
可以理解的是,业务数据与本申请实施例具体应用的业务场景相关联。当业务场景为短视频场景时,业务数据就为短视频的相关数据,例如短视频的视频帧序列;当业务场景为直播场景时,业务数据就为直播的相关数据,例如直播的互动消息(例如弹幕)、直播的画面帧等等。
在本申请的一些实施例中,业务数据包括:视频帧序列,在此情况下,图5中S101,即终端设备针对业务数据进行完整性校验,得到校验结果,可以通过以下处理实现:通过对视频帧序列中的视频帧的帧号进行连续性检测,完成对视频帧序列的完整性校验,得到校验结果。
也就是说,终端设备在接收到视频帧序列之后,会读取视频帧序列中的各个视频帧的帧号,并确定这些帧号是否连续。若是帧号连续,说明视频帧序列是完整的,从而能够得到表征视频帧序列不存在缺失的校验结果,若是帧号不连续,例如存在断裂,则说明视频帧序列不完整,存在缺失的视频帧,终端设备就能够得到表征视频帧序列存在缺失的校验结果。如此,终端设备就能够完成对业务数据的完整性校验。
S102、当校验结果表征业务数据存在缺失时,终端设备向传输设备发送数据重发请求。
终端设备在完成对业务数据的完整性校验之后,会依据校验结果确定是否需要重新拉取业务数据。当校验结果表征业务数据存在缺失,即业务数据在传输过程中出现了丢包现象时,终端设备是无法正常将业务数据展示给用户的,此时,终端会生成数据重发请求,并将数据重发请求发送给传输设备,传输设备接收终端设备发送的数据重发请求。而当校验结果表征业务数据不存在缺失时,即业务数据在传输过程中没有出现丢包现象时,终端设备则不会向传输设备发送数据重发请求,而是会正常将业务数据展示给用户。
需要说明的是,数据重发请求中可以包含终端设备的标识信息,也可以包括服务设备的标识信息,还可以包含有需要进行重发的数据的标识信息。其中,需要进行重发的数据,可以是整个业务数据,也可以是终端设备已经接收到的业务数据中所缺失的部分,例如缺失的视频帧,缺失的特效画面等等,本申请实施例在此不做限定。
S103、传输设备响应于终端设备针对业务数据所发送的数据重发请求,确定数据重发请求所对应的数据索引。
传输设备在接收到终端设备所发送的数据重发请求之后,会针对该数据重发请求进行响应,即确定相应的数据索引,该数据索引用于查找需要重新给终端设备下发的数据。
传输设备可以根据终端设备的标识信息和服务设备的标识信息,来确定数据重发请求所对应的数据索引,传输设备也可以根据需要进行重发的数据的标识信息,来确定数据重发请求所对应的数据索引,本申请实施例在此不做限定。
参见图6,图6是本申请实施例提供的数据传输方法的流程示意图二。在本申请的一些实施例中,图5中S103,即传输设备响应于终端设备针对业务数据所发送的数据重发请求,确定数据重发请求所对应的数据索引,可以通过以下处理实现:
S1031、传输设备响应于终端设备针对业务数据所发送的数据重发请求,对数据重发请求进行解析,得到终端设备的标识信息和服务设备的标识信息。
传输设备对数据重发请求进行解析,以从中分别提取得到终端设备的标识信息和服务设备的标识信息。其中,终端设备的标识信息用于提供终端设备的身份和地址,而服务设备的标识信息用于提供服务设备的身份和地址。
需要说明的是,本申请实施例中,标识信息中至少包含路由地址和端口号。其中,路由地址可以理解为IP地址,端口号则标识了设备上用于进行通信的不同应用程序。
S1032、传输设备利用终端设备的标识信息和服务设备的标识信息,确定数据重发请求所对应的数据索引。
传输设备在得到终端设备的标识信息和服务设备的标识信息之后,就会对所得到的标识信息,为数据重发请求确定对应的数据索引。在一些实施例中,传输设备可以直接将终端设备的标识信息和服务设备的标识信息进行拼接,得到数据重发请求的数据索引。在另一些实施例中,传输设备还可以对终端设备的标识信息和服务设备的标识信息的拼接结果进行哈希编码,并将编码结果作为数据重发请求的数据索引。
在本申请的另一些实施例中,图5中S103,即传输设备响应于终端设备针对业务数据所发送的数据重发请求,确定数据重发请求所对应的数据索引,可以通过以下处理实现:针对数据重发请求确定对应的数据拉取请求,将数据拉取请求的请求标识作为数据重发请求的数据索引。
也即,传输设备首先会确定数据中法请求是针对哪个数据拉取请求所返回的业务数据发出的,即确定数据重发请求与哪个数据拉取请求相对应,然后将所确定出的数据拉取请求的请求标识,例如请求的时间戳,或者是请求的标识,作为数据重发请求的数据索引,以便于后续查找与数据拉取请求相对应的业务数据。
S104、传输设备基于数据索引,从数据缓存队列中,提取得到数据重发请求对应的目标重发数据。
传输设备在得到数据索引之后,就会利用数据索引在数据缓存队列中查找相应的数据,并将查找到的数据从数据缓存队列中提取出来,得到需要返回给终端设备的目标重发数据。也就是说,本申请实施例中,传输设备在接收到数据重发请求并生成相应的数据索引之后,不会再将数据重发请求转发给服务设备,由服务设备实现对终端设备的数据重发,而是会借助于数据索引,在传输设备本身的数据缓存队列中查找相应的数据,以重新下发给终端设备。如此,能够在不依靠远端的服务设备的情况下,实现对业务数据中的缺失数据的重新下发,从而缩短了业务数据中的缺失数据在重传时的传输链路。
需要说明的是,数据缓存队列用于对服务设备下发给终端设备的业务数据进行缓存。也即,传输设备会将服务设备所下发的业务数据转发给终端设备时,还会对业务数据进行缓存,即利用数据缓存队列对业务数据进行“备份”,如此,传输设备在接收到终端设备的数据重发请求之后,无需再将数据重发请求转发给服务设备以触发数据重发流程,而是直接由传输设备实现数据重发。
可以理解的是,目标重发数据可以是完整的业务数据,也可以是业务数据中的缺失数据,即发生丢包现象的数据,本申请实施例在此不做限定。
S105、传输设备将目标重发数据重新下发至终端设备。
传输设备在得到目标重发数据之后,会通过网络将目标重发数据发送给终端设备,终端设备接收传输设备针对数据重发请求所返回的目标重发数据。如此,终端设备就能够得到完整的业务数据,能够将业务数据提供给用户。
可以理解的是,相比于相关技术中,缺失的数据在重新发送时的传输链路较长,导致终端设备需要较长的时延才能重新获取到缺失的数据,最终使得业务数据的传输效率较低的问题,本申请实施例中,传输设备在接收到终端设备针对业务数据所发送的数据重发请求之后,会确定数据索引,并通过数据索引在用于缓存服务设备向终端设备所下发的业务数据的数据缓存队列中,获取需要向终端设备重新下发的数据,而无需从远端的服务设备中获取需要重新下发的数据,如此,能够缩短缺失的数据在重新发送时的传输链路,从而更快地获取到业务数据中缺失的数据,也就提升了业务数据的传输效率。同时,由于缺失的数据重新发送时的传输链路被缩短,能够减少数据重发请求和缺失的数据在重传时丢包的几率,从而避免进一步影响业务数据的传输效率;另外,将数据重发请求转移到传输设备侧实现,能够将服务设备与数据重发过程解耦,不仅能够减小传输网络的负载(即减少了向服务设备发送的请求量),还能够减少服务设备的处理负载。
基于图5,参见图7,图7是本申请实施例提供的数据传输方法的流程示意图三。在本申请的一些实施例中,在图5中的S101之前,即终端设备针对业务数据进行完整性校验,得到校验结果之前,该方法还可以包括以下处理:
S106、终端设备响应于针对业务数据的数据拉取操作,生成数据拉取请求。
终端设备针对用户在图形界面上的数据拉取操作进行检测,当终端设备检测到用户的数据拉取操作(例如刷新业务数据的页面,或者是启动业务数据所对应的应用程序)时,就会确定用户需要查看业务数据,就会利用其本身的标识信息,生成用于进行数据拉取的报文,并利用终端设备服务设备的标识信息对报文进行封装,得到数据拉取请求。
S107、传输设备接收终端设备发送的数据拉取请求,并将数据拉取请求转发至服务设备。
终端设备在生成数据拉取请求之后,会通过网络将数据拉取请求发送至传输设备。传输设备接收到终端设备所发送的数据拉取请求之后,会通过网络继续将数据拉取请求转发给服务设备。也就是说,传输设备用于将数据拉取请求转发至服务设备。
S108、传输设备接收服务设备针对数据拉取请求所下发的数据包。
服务设备(图7中未示出)在接收到数据拉取请求之后,会获取相应的业务数据,并对业务数据进行打包,以得到更加利于传输的数据包,然后将数据包返回给传输设备,以通过传输设备将数据包发送给终端设备。
S109、传输设备针对数据包中的数据进行类型检测,得到检测结果,并在检测结果表征数据包中的数据为业务数据时,将业务数据备份至数据缓存队列中。
传输设备接收到数据包之后,会对数据包中所包含的数据进行类型检测,即确定数据包中是业务数据(例如短视频的视频帧序列、直播的互动数据等),还是其他类型的数据(例如普通的通讯数据)。当数据包中所包含的数据为业务数据时,传输设备会对该业务数据进行备份,即将业务数据写入至数据缓存队列中,以进行存储。如此,能够使得业务数据在传输设备侧进行保留,从而避免数据重发时需要从服务设备侧重新获取业务数据。
在本申请的一些实施例中,图7中S109中的传输设备对数据包中的数据进行类型检测,得到检测结果,可以通过以下处理实现:从数据包中解析得到数据类型标识;通过读取数据类型标识,完成对数据包中的数据的类型检测,得到检测结果。
也就是说,在数据包中,通常会设置用于表示数据包所包含的数据的类型信息的数据类型标识,该类型数据标识由服务设备在生成数据包时写入,传输设备在得到数据包之后,可以对数据包进行解析,以从中提取数据类型标识,然后通过读取数据类型标识,明确数据包中的数据的是何种类型,即数据是业务数据,还是其他普通类型的数据。如此,传输设备就能够完成对数据包中的数据的类型检测,从而得到用于表征数据包中的数据是否为业务数据的检测结果。
在本申请的另一些实施例中,图7中S109,即传输设备对数据包中的数据进行类型检测,得到检测结果,还可以通过以下处理实现:通过对数据包中的数据进行压缩格式解析,完成对数据包中的数据的类型检测,得到检测结果。
需要说明的是,不同类型的数据其压缩格式可能是不同的,例如短视频的压缩格式为mpeg-4,音频的格式为mp3,而网页数据则可能为html格式,因此,传输设备可以根据数据包中的数据的压缩格式,确定数据包中的数据是何种类型,从而得到检测结果。
本申请实施例中,传输设备在得到数据包,并且判断数据包中的数据为业务数据之后,可以直接将业务数据写入至数据缓存队列中。然而,为了避免对传输设备的存储空间的过多占用,数据缓存队列通常会具有一定的容量限制。此时,图7的S109中的在检测结果表征数据包中的数据为业务数据时,将业务数据备份至数据缓存队列中,可以通过以下处理实现:在检测结果表征数据包中的数据为所述业务数据时,传输设备针对数据缓存队列进行余量查询;当查询结果表征数据缓存队列余量不足时,传输设备从数据缓存队列中确定待覆盖数据;传输设备利用业务数据对待覆盖数据进行覆盖,完成将业务数据备份至数据缓存队列中。
也就是说,传输设备在将业务数据备份至数据缓存队列中时,会先查询数据缓存队列中是否还能够继续写入业务数据,即查询数据缓存队列是否已满。当数据缓存队列已满时,传输设备会从数据缓存队列中原本所存储的数据中,确定待覆盖数据,从而待覆盖数据可以看作是需要从数据缓存队列中剔除的数据。接着,传输设备会利用业务数据,直接将数据缓存队列中的待覆盖数据进行覆盖,如此,就能够在数据缓存队列余量不足的情况下,将业务数据备份至数据缓存队列中。
需要说明的是,待覆盖数据可以是数据缓存队列中的任意一个数据,也可以是最早进入数据缓存队列的数据,本申请实施例在此不做限定。
当然,在查询结果表征数据缓存队列余量充足时,传输设备可以直接将业务数据写入至数据缓存队列中,而无需剔除其他的数据。
S110、终端设备接收传输设备针对数据拉取请求所返回的数据包,并从数据包中解析得到业务数据。
传输设备将数据包转发给终端设备,终端设备在接收到传输设备所返回的数据包之后,会对数据包进行解析,以从中得到业务数据。至此,终端设备就获得了业务数据,以便于终端设备将业务数据提供给用户。
可以理解的是,本申请实施例中,传输设备借助于数据缓存队列,使得业务数据能够存储在传输设备本地,如此,在需要进行数据重发时,无需再从服务设备获取业务数据,也就能够缩短数据重发时的传输链路。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例应用于视频点播场景,即用户的5G终端(成为终端设备)通过5G核心网的用户面设备(称为传输设备),从流媒体服务器(成为服务设备)拉取短视频(一般指时长小于预设值,例如5分钟的视频)的视频数据(称为业务数据)的场景下实现的。
图8是本申请实施例提供的短视频拉取的系统框架示意图。参见图8,该系统框架中包含5G终端8-1、5G基站8-2、5G核心网8-3、网络8-4和云端的流媒体服务器8-5。5G核心网8-3包含控制面设备和用户面设备(即UPF),其中,5G用户面设备用于实现视频帧检测、视频帧缓存和重发请求检测及处理的功能。
也就是说,本申请实施例中,在5G核心网的用户面设备中,新增了视频帧检测、视频帧缓存和重发请求检测及处理这三个功能,以确保在视频帧在传输过程中发生丢包时,能够快速地实现视频帧的重发。下面,对这三个功能进行说明。
视频帧检测功能主要负责对流媒体服务器向5G终端发送的下行流量进行检测,即检测下行IP包(称为数据包)的类型是否为视频帧(称为业务数据)。
视频帧缓存功能主要在IP包的类型为视频帧时,对视频帧按照5G终端IP地址+端口号(统称为标识信息)和流媒体服务器的IP地址+端口号为键key(称为数据索引),将视频帧数据追加缓存到对应的值域内存中。当缓存数据的条目超过设定的阈值时,利用新的数据覆盖最早的数据(称为待覆盖数据),以保证缓存数据的有效性。
重发请求检测及处理功能主要负责检测5G终端上行发送的视频帧重发请求(称为数据重发请求)。当检测到该请求之后,以5G终端IP地址+端口号和流媒体服务器的IP地址+端口号为键值,查找对应的缓存数据区(称为数据缓存队列),然后从缓存数据区中寻找和重发请求对应的视频帧数据(称为目标重发数据),直接下发给5G终端。
下面,对视频点播的详细的业务处理流程进行说明。
图9是本申请实施例提供的视频点播的业务处理流程示意图。参见图9,该过程包括以下步骤:
S201、5G终端应用通过5G核心网UPF向流媒体服务器申请获取视频流。
S202、流媒体服务器下发视频流的IP包至5G核心网UPF。
S203、5G核心网UPF将IP包发送给内部的视频帧检测模块。
S204、视频帧检测模块检测IP包是否为视频帧,是视频帧缓存模块则对IP包的数据进行缓存。
S205、5G核心网UPF将IP包转发给5G终端应用。
S206、在视频帧丢包的情况下,5G终端应用向5G核心网UPF发送视频帧重发请求。
S207、5G核心网UPF转发视频帧重发请求给重发请求检测及处理模块。
S208、重发请求检测及处理模块获取重发请求的数据索引,调用视频帧缓存模块。
S209、视频帧缓存模块获取需要重发的视频帧数据,并发送给5G终端应用。
需要说明的是,本申请实施例中,视频帧缓存功能也可以部署在边缘服务器上实现,即通过5G核心网UPF将视频帧引流到边缘服务器以进行缓存。
可以理解的是,在本申请实施例中,涉及到用户信息,例如数据拉取请求、业务数据等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的数据传输装置255的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在第一存储器250的数据传输装置255中的软件模块可以包括:
索引确定模块2551,用于响应于终端设备针对业务数据所发送的数据重发请求,确定所述数据重发请求所对应的数据索引;其中,所述业务数据由服务设备响应所述终端设备的数据拉取请求所下发的;
数据提取模块2552,用于基于所述数据索引,从数据缓存队列中,提取得到所述数据重发请求对应的目标重发数据;所述数据缓存队列用于对所述服务设备下发给所述终端设备的业务数据进行缓存;
第一发送模块2553,用于将所述目标重发数据重新下发至所述终端设备。
在本申请的一些实施例中,所述数据传输装置255还包括:第一接收模块2554和缓存处理模块2555;
所述第一接收模块2554,用于接收所述终端设备发送的数据拉取请求;接收所述服务设备针对所述数据拉取请求所下发的数据包;
所述缓存处理模块2555,用于对所述数据包中的数据进行类型检测,得到检测结果,并在所述检测结果表征所述数据包中的数据为所述业务数据时,将所述业务数据备份至所述数据缓存队列中;
所述第一发送模块2553,还用于将所述数据拉取请求转发至服务设备;将所述数据包转发给所述终端设备。
在本申请的一些实施例中,所述缓存处理模块2555,还用于从所述数据包中解析得到数据类型标识;通过读取所述数据类型标识,完成对所述数据包中的数据的类型检测,得到所述检测结果。
在本申请的一些实施例中,所述索引确定模块2551,还用于响应于所述终端设备针对所述业务数据所发送的所述数据重发请求,对所述数据重发请求进行解析,得到所述终端设备的标识信息和所述服务设备的标识信息;利用所述终端设备的标识信息和所述服务设备的标识信息,确定所述数据重发请求所对应的所述数据索引;其中,所述标识信息中至少包含路由地址和端口号。
在本申请的一些实施例中,所述缓存处理模块2555,还用于在所述检测结果表征所述数据包中的数据为所述业务数据时,针对所述数据缓存队列进行余量查询;当查询结果表征所述数据缓存队列余量不足时,从所述数据缓存队列中确定待覆盖数据;利用所述业务数据对所述待覆盖数据进行覆盖,完成将所述业务数据备份至所述数据缓存队列中。
下面继续说明本申请实施例提供的数据传输装置455的实施为软件模块的示例性结构,在一些实施例中,如图4所示,存储在第二存储器450的数据传输装置455中的软件模块可以包括:
数据校验模块4551,用于针对业务数据进行完整性校验,得到校验结果;其中,所述业务数据由服务设备响应于数据拉取请求所下发的;
第二发送模块4552,用于当所述校验结果表征所述业务数据存在缺失时,向传输设备发送数据重发请求;
第二接收模块4553,用于接收所述传输设备针对所述数据重发请求所返回的目标重发数据。
在本申请的一些实施例中,所述第二发送模块4552,还用于响应于针对所述业务数据的数据拉取操作,生成数据拉取请求;将所述数据拉取请求发送至传输设备,所述传输设备用于将所述数据拉取请求转发至所述服务设备;
所述第二接收模块4553,还用于接收所述传输设备针对所述数据拉取请求所返回的数据包,并从所述数据包中解析得到所述业务数据。
在本申请的一些实施例中,所述业务数据包括:视频帧序列;所述数据校验模块4551,还用于通过对所述视频帧序列中的视频帧的帧号进行连续性检测,完成对所述视频帧序列的完整性校验,得到所述校验结果。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。传输设备的第一处理器从计算机可读存储介质读取该计算机可执行指令,第一处理器执行该计算机可执行指令,使得该传输设备执行本申请实施例上述的传输设备侧的数据传输方法;终端设备的第二处理器从计算机可读存储介质读取该计算机可执行指令,第二处理器执行该计算机可执行指令,使得该终端设备执行本申请实施例上述的终端设备侧的数据传输方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被第一处理器执行时,将引起第一处理器执行本申请实施例提供的传输设备侧的数据传输方法,当计算机可执行指令被第二处理器执行时,将引起第二处理器执行本申请实施例提供的终端设备侧的数据传输方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperText Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个传输设备或终端设备上执行,或者在位于一个地点的多个传输设备或多个终端设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个传输设备或多个终端设备上执行。
综上所述,通过本申请实施例,能够缩短缺失的数据在重新发送时的传输链路,从而更快地获取到业务数据中缺失的数据,也就提升了业务数据的传输效率。同时,由于缺失的数据重新发送时的传输链路被缩短,能够减少数据重发请求和缺失的数据在重传时丢包的几率,从而避免进一步影响业务数据的传输效率;另外,将数据重发请求转移到传输设备侧实现,能够将服务设备与数据重发过程解耦,不仅能够减小传输网络的负载,还能够减少服务设备的处理负载。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (14)
1.一种数据传输方法,其特征在于,所述方法包括:
响应于终端设备针对业务数据所发送的数据重发请求,确定所述数据重发请求所对应的数据索引;其中,所述业务数据由服务设备响应所述终端设备的数据拉取请求所下发的;
基于所述数据索引,从数据缓存队列中,提取得到所述数据重发请求对应的目标重发数据;所述数据缓存队列用于对所述服务设备下发给所述终端设备的业务数据进行缓存;
将所述目标重发数据重新下发至所述终端设备。
2.根据权利要求1所述的方法,其特征在于,所述响应于终端设备针对业务数据所发送的数据重发请求,确定所述数据重发请求所对应的数据索引之前,所述方法还包括:
接收所述终端设备发送的数据拉取请求,并将所述数据拉取请求转发至服务设备;
接收所述服务设备针对所述数据拉取请求所下发的数据包;
对所述数据包中的数据进行类型检测,得到检测结果,并在所述检测结果表征所述数据包中的数据为所述业务数据时,将所述业务数据备份至所述数据缓存队列中;
将所述数据包转发给所述终端设备。
3.根据权利要求2所述的方法,其特征在于,所述对所述数据包中的数据进行类型检测,得到检测结果,包括:
从所述数据包中解析得到数据类型标识;
通过读取所述数据类型标识,完成对所述数据包中的数据的类型检测,得到所述检测结果。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述响应于终端设备针对业务数据所发送的数据重发请求,确定所述数据重发请求所对应的数据索引,包括:
响应于所述终端设备针对所述业务数据所发送的所述数据重发请求,对所述数据重发请求进行解析,得到所述终端设备的标识信息和所述服务设备的标识信息;
利用所述终端设备的标识信息和所述服务设备的标识信息,确定所述数据重发请求所对应的所述数据索引;
其中,所述标识信息中至少包含路由地址和端口号。
5.根据权利要求2或3所述的方法,其特征在于,所述在所述检测结果表征所述数据包中的数据为所述业务数据时,将所述业务数据备份至所述数据缓存队列中,包括:
在所述检测结果表征所述数据包中的数据为所述业务数据时,针对所述数据缓存队列进行余量查询;
当查询结果表征所述数据缓存队列余量不足时,从所述数据缓存队列中确定待覆盖数据;
利用所述业务数据对所述待覆盖数据进行覆盖,完成将所述业务数据备份至所述数据缓存队列中。
6.一种数据传输方法,其特征在于,所述方法包括:
针对业务数据进行完整性校验,得到校验结果;其中,所述业务数据由服务设备响应于数据拉取请求所下发的;
当所述校验结果表征所述业务数据存在缺失时,向传输设备发送数据重发请求;
接收所述传输设备针对所述数据重发请求所返回的目标重发数据。
7.根据权利要求6所述的方法,其特征在于,所述针对业务数据进行完整性校验,得到校验结果之前,所述方法还包括:
响应于针对所述业务数据的数据拉取操作,生成数据拉取请求;
将所述数据拉取请求发送至传输设备,所述传输设备用于将所述数据拉取请求转发至所述服务设备;
接收所述传输设备针对所述数据拉取请求所返回的数据包,并从所述数据包中解析得到所述业务数据。
8.根据权利要求6或7所述的方法,其特征在于,所述业务数据包括:视频帧序列;所述针对业务数据进行完整性校验,得到校验结果,包括:
通过对所述视频帧序列中的视频帧的帧号进行连续性检测,完成对所述视频帧序列的完整性校验,得到所述校验结果。
9.一种数据传输装置,其特征在于,所述装置包括:
索引确定模块,用于响应于终端设备针对业务数据所发送的数据重发请求,确定所述数据重发请求所对应的数据索引;其中,所述业务数据由服务设备响应所述终端设备的数据拉取请求所下发的;
数据提取模块,用于基于所述数据索引,从数据缓存队列中,提取得到所述数据重发请求对应的目标重发数据;所述数据缓存队列用于对所述服务设备下发给所述终端设备的业务数据进行缓存;
第一发送模块,用于将所述目标重发数据重新下发至所述终端设备。
10.一种数据传输装置,其特征在于,所述装置包括:
数据校验模块,用于针对业务数据进行完整性校验,得到校验结果;其中,所述业务数据由服务设备响应于数据拉取请求所下发的;
第二发送模块,用于当所述校验结果表征所述业务数据存在缺失时,向传输设备发送数据重发请求;
第二接收模块,用于接收所述传输设备针对所述数据重发请求所返回的目标重发数据。
11.一种传输设备,其特征在于,所述传输设备包括:
第一存储器,用于存储计算机可执行指令;
第一处理器,用于执行所述第一存储器中存储的计算机可执行指令时,实现权利要求1至5任一项所述的数据传输方法。
12.一种终端设备,其特征在于,所述终端设备包括:
第二存储器,用于存储计算机可执行指令;
第二处理器,用于执行所述第二存储器中存储的计算机可执行指令时,实现权利要求6至8任一项所述的数据传输方法。
13.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被第一处理器执行时实现权利要求1至5任一项所述的数据传输方法,被第二处理器执行时实现权利要求6至8任一项所述的数据传输方法。
14.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被第一处理器执行时实现权利要求1至5任一项所述的数据传输方法,被第二处理器执行时实现权利要求6至8任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310874828.9A CN116600010B (zh) | 2023-07-17 | 2023-07-17 | 一种数据传输方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310874828.9A CN116600010B (zh) | 2023-07-17 | 2023-07-17 | 一种数据传输方法、装置、设备、存储介质及程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116600010A true CN116600010A (zh) | 2023-08-15 |
CN116600010B CN116600010B (zh) | 2023-10-10 |
Family
ID=87608325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310874828.9A Active CN116600010B (zh) | 2023-07-17 | 2023-07-17 | 一种数据传输方法、装置、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116600010B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103944691A (zh) * | 2013-01-17 | 2014-07-23 | 中兴通讯股份有限公司 | 一种协同业务传输中的数据重传方法及接入网网关 |
WO2019019370A1 (zh) * | 2017-07-24 | 2019-01-31 | 平安科技(深圳)有限公司 | 一种音视频的直播处理方法、存储介质和一种移动终端 |
CN112291363A (zh) * | 2020-11-06 | 2021-01-29 | 腾讯科技(深圳)有限公司 | 无线通信的方法、装置、电子设备和计算机可读存储介质 |
CN113872916A (zh) * | 2020-06-30 | 2021-12-31 | 中兴通讯股份有限公司 | 数据重传方法、网络设备和计算机可读存储介质 |
-
2023
- 2023-07-17 CN CN202310874828.9A patent/CN116600010B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103944691A (zh) * | 2013-01-17 | 2014-07-23 | 中兴通讯股份有限公司 | 一种协同业务传输中的数据重传方法及接入网网关 |
WO2019019370A1 (zh) * | 2017-07-24 | 2019-01-31 | 平安科技(深圳)有限公司 | 一种音视频的直播处理方法、存储介质和一种移动终端 |
CN113872916A (zh) * | 2020-06-30 | 2021-12-31 | 中兴通讯股份有限公司 | 数据重传方法、网络设备和计算机可读存储介质 |
CN112291363A (zh) * | 2020-11-06 | 2021-01-29 | 腾讯科技(深圳)有限公司 | 无线通信的方法、装置、电子设备和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116600010B (zh) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109474688B (zh) | 即时通信网络请求消息的发送方法、装置、设备和介质 | |
US9774642B2 (en) | Method and device for pushing multimedia resource and display terminal | |
CN112738791B (zh) | 基于5g核心网的用户信息关联回填方法、装置、设备和介质 | |
CN104539977A (zh) | 直播预览方法及装置 | |
US20170005966A1 (en) | Information sending method and information sending apparatus | |
CN111093094A (zh) | 视频转码方法、装置、系统及电子设备及可读存储介质 | |
US20220391354A1 (en) | Information sharing method, apparatus, electronic device, and storage medium | |
US20190007479A1 (en) | Multimedia Data Transmission Method and Device | |
CN105165035B (zh) | 兼具文本消息传输的多媒体消息传输 | |
KR101290977B1 (ko) | 푸쉬 서버를 이용한 메시지 전송 방법 및 그 시스템 | |
CN116600010B (zh) | 一种数据传输方法、装置、设备、存储介质及程序产品 | |
CN111475230B (zh) | 应用的功能配置方法、装置和电子设备 | |
CN111596864A (zh) | 一种数据延时删除的方法、装置、服务器及存储介质 | |
CN111083145A (zh) | 消息发送方法、装置及电子设备 | |
CN111935316B (zh) | 一种前端设备目录获取方法及装置 | |
CN117014422A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN103634667A (zh) | 一种基于机顶盒的获取网络推送信息的方法和装置 | |
CN104346228A (zh) | 共享应用程序的方法及终端 | |
CN114125732A (zh) | 消息处理方法及装置、存储介质、电子设备 | |
CN111552907A (zh) | 消息处理方法、装置、设备和存储介质 | |
CN116455917B (zh) | 数据同步方法及装置、电子设备和计算机可读存储介质 | |
CN112291210B (zh) | 一种前端设备目录获取方法及装置 | |
CN108810043B (zh) | 一种存储评论信息的方法和装置 | |
US11250267B2 (en) | Method and apparatus for processing information associated with video, electronic device, and storage medium | |
CN112291209B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40092595 Country of ref document: HK |