CN117640753A - 数据传输方法和装置 - Google Patents
数据传输方法和装置 Download PDFInfo
- Publication number
- CN117640753A CN117640753A CN202210962834.5A CN202210962834A CN117640753A CN 117640753 A CN117640753 A CN 117640753A CN 202210962834 A CN202210962834 A CN 202210962834A CN 117640753 A CN117640753 A CN 117640753A
- Authority
- CN
- China
- Prior art keywords
- data
- source station
- list
- terminals
- data source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 181
- 238000000034 method Methods 0.000 title claims abstract description 139
- 230000015654 memory Effects 0.000 claims description 70
- 238000003860 storage Methods 0.000 claims description 39
- 238000012546 transfer Methods 0.000 claims description 21
- 238000004891 communication Methods 0.000 abstract description 29
- 230000000903 blocking effect Effects 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 55
- 238000012545 processing Methods 0.000 description 22
- 238000004590 computer program Methods 0.000 description 17
- 230000003287 optical effect Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 230000000977 initiatory effect Effects 0.000 description 9
- 239000003795 chemical substances by application Substances 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 235000019800 disodium phosphate Nutrition 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000000869 ion-assisted deposition Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000004549 pulsed laser deposition Methods 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 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/566—Grouping or aggregating service requests, e.g. for unified processing
Abstract
本申请公开了数据传输方法和装置,属于通信技术领域。所述方法包括:代理设备接收数据源站发送的已编码的第一数据,第一数据携带第一标识;代理设备对第一数据进行复制,得到N个第一数据,其中,代理设备连接多个终端,且多个终端中的N个终端基于第一标识请求第一数据,N为大于等于2的整数;代理设备向N个终端中的各个终端分别发送第一数据。本申请通过代理设备对第一数据进行复制与转发,即使存在多个终端请求获取第一数据,也无需数据源站多次发送第一数据,减少了数据源站传输第一数据的次数,缓解了数据源站的传输带宽的消耗,进而降低了第一数据对应的业务产生的延迟和卡顿。
Description
技术领域
本申请涉及通信技术领域,特别涉及数据传输方法和装置。
背景技术
随着通信技术的发展,实时通信的涉及范围越来越广。实时通信不仅能够实现一个终端与另一个终端之间进行实时数据的传输,在直播业务、在线教育业务和线上会议业务等场景,还能够实现一个终端与多个终端之间进行实时数据的传输。以直播业务的场景为例,将直播终端采集的实时数据发送至数据源站,再由数据源站将接收到的实时数据传输给多个观众终端。其中,数据源站是指为企业、媒体和网站等提供大规模、高质量以及安全可靠的互联网服务的数据中心,例如互联网数据中心(internet data center,IDC)。
相关技术中,当数据源站需要发送实时数据到多个观众终端时,数据源站基于传输控制协议(transmission control protocol,TCP)逐一向各个观众终端发送实时数据,通过多次传输相同的实时数据,完成实时数据由直播终端到多个观众终端之间的传输。
然而,由于数据源站在数据传输过程中,需要多次传输相同的实时数据,带宽资源消耗大,导致实时数据对应的业务产生延迟和卡顿。
发明内容
本申请提供了一种数据传输方法和装置,以解决相关技术提供的问题,技术方案如下:
第一方面,提供了一种数据传输方法,所述方法包括:代理设备接收数据源站发送的已编码的第一数据,所述第一数据携带第一标识;所述代理设备对所述第一数据进行复制,得到N个第一数据,其中,所述代理设备连接多个终端,且所述多个终端中的N个终端基于所述第一标识请求所述第一数据,所述N为大于等于2的整数;所述代理设备向所述N个终端中的各个终端分别发送所述第一数据。
本申请提供的数据传输方法,通过代理设备对第一数据进行复制,即使存在多个终端请求获取第一数据,也无需数据源站多次发送第一数据,通过代理设备向请求第一数据的终端发送复制得到的第一数据,减少了数据源站传输第一数据的次数,缓解了数据源站的传输带宽的消耗,进而降低了第一数据对应的业务产生的延迟和卡顿。
在一种可能的实现方式中,所述代理设备对所述第一数据进行复制之前,还包括:接收所述多个终端中的至少两个终端发送的数据获取请求,所述数据获取请求携带所述第一标识;根据所述数据获取请求的数量,得到所述N。通过数据获取请求,确定需要获取第一数据的终端的数量,得到N的数值大小,避免复制超过需求的第一数据,浪费不必要的资源。
在一种可能的实现方式中,所述代理设备对所述第一数据进行复制之前,还包括:获取数据列表,所述数据列表中包括多组数据的第二标识,一组数据为同一个采集终端上传的数据,所述多组数据中的其中一组数据包括所述第一数据;接收所述多个终端中的至少两个终端发送的列表获取请求,向所述多个终端中的至少两个终端发送所述数据列表,所述数据列表中的第二标识用于所述N个终端确定所述第一标识。通过向至少两个终端提供数据列表,用户可以通过终端显示的数据列表上的多组数据的第二标识,快速且准确地选择需要的数据,提高了数据获取效率,保证了用户的交互体验感。
在一种可能的实现方式中,所述获取数据列表,包括:接收所述数据源站发送的所述数据列表,所述数据列表由所述数据源站基于所述第一数据得到,所述数据源站发送所述数据列表的第一时间早于所述数据源站发送所述第一数据的第二时间。
在一种可能的实现方式中,所述获取数据列表之后,还包括:基于所述数据列表启动针对所述数据列表的数据传输服务,得到所述数据列表对应的数据传输服务的第一启动结果,其中,所述第一启动结果指示启动成功;向所述数据源站发送数据请求,所述数据请求用于请求所述数据源站向所述代理设备发送所述第一数据。当第一启动结果指示启动成功,说明代理设备支持数据列表的数据传输服务。基于第一启动结果筛选掉数据传输服务启动失败的代理设备,以保证数据列表的数据传输服务的可靠性。
在一种可能的实现方式中,所述获取数据列表,包括:根据接收到的未编码的第二数据生成所述数据列表,所述第二数据用于编码得到所述第一数据。数据列表可以是接收数据源站发送的,也可以是代理设备根据未编码的第二数据生成的,不限定数据列表的获取方式,灵活度高。其中,代理设备接收到未编码的第二数据后,将未编码的第二数据传输至数据源站,由数据源站对第二数据进行编码,得到第一数据。
在一种可能的实现方式中,所述代理设备对所述第一数据进行复制之后,还包括:所述代理设备未成功复制所述第一数据,向所述数据源站发送复制失败指令,所述复制失败指令用于提示所述数据源站向所述请求所述第一数据的终端依次发送所述第一数据。在未成功复制第一数据的情况下,及时向数据源站反馈复制失败指令,以提示数据源站向请求第一数据的终端发送第一数据,无论代理设备是否成功复制第一数据,均可保证请求第一数据的终端获取第一数据,提高了数据传输的可靠性,交互体验感高。
在一种可能的实现方式中,所述接收数据源站发送的已编码的第一数据之前,还包括:接收所述数据源站发送的数据传输请求,所述数据传输请求用于向所述代理设备调用数据传输服务;基于所述数据传输请求确定所述数据源站对应的数据传输服务的调用结果,所述调用结果指示所述数据源站调用成功;向所述数据源站发送所述调用结果,所述调用结果用于指示所述数据源站执行发送所述第一数据的操作。通过数据传输请求调用代理设备的数据传输服务,以使代理设备确定对于接收到的第一数据所需要执行的操作为复制和转发,进而保证数据传输的可靠传输。
在一种可能的实现方式中,所述代理设备包括应用程序设计接口API,所述API用于所述数据源站通过所述数据传输请求调用所述数据传输服务。数据源站可通过API调用数据传输服务,调用过程更便捷。
在一种可能的实现方式中,所述代理设备为边缘设备。代理设备为配置在靠近终端侧的边缘设备,对于终端的响应更快。边缘设备包括但不限于路由器、路由交换机、集成接入设备(integrated access device,IAD)或多路复用器等。例如,代理设备为ONT、OLT等。
在一种可能的实现方式中,所述第一数据为直播业务的数据、在线教育业务的数据或线上会议业务的数据。本申请提供的方法不限定第一数据的业务类型,通用性强。
在一种可能的实现方式中,所述第一标识为已编码的标识,或者所述第一标识为未编码的标识。
第二方面,提供了一种数据传输装置,所述装置应用于代理设备,所述装置包括:接收模块,用于接收数据源站发送的已编码的第一数据,所述第一数据携带第一标识;复制模块,用于对所述第一数据进行复制,得到N个第一数据,其中,所述代理设备连接多个终端,且所述多个终端中的N个终端基于所述第一标识请求所述第一数据,所述N为大于等于2的整数;发送模块,用于向所述N个终端中的各个终端分别发送所述第一数据。
在一种可能的实现方式中,所述接收模块,还用于接收所述多个终端中的至少两个终端发送的数据获取请求,所述数据获取请求携带所述第一标识;根据所述数据获取请求的数量,得到所述N。
在一种可能的实现方式中,所述装置还包括:获取模块,用于获取数据列表,所述数据列表中包括多组数据的第二标识,一组数据为同一个采集终端上传的数据,所述多组数据中的其中一组数据包括所述第一数据;所述接收模块,还用于接收所述多个终端中的至少两个终端发送的列表获取请求;所述发送模块,还用于向所述多个终端中的至少两个终端发送所述数据列表,所述数据列表中的第二标识用于所述N个终端确定所述第一标识。
在一种可能的实现方式中,所述获取模块,用于接收所述数据源站发送的所述数据列表,所述数据列表由所述数据源站基于所述第一数据得到,所述数据源站发送所述数据列表的第一时间早于所述数据源站发送所述第一数据的第二时间。
在一种可能的实现方式中,所述装置还包括:启动模块,用于基于所述数据列表启动针对所述数据列表的数据传输服务,得到所述数据列表对应的数据传输服务的第一启动结果,其中,所述第一启动结果指示启动成功;所述发送模块,还用于向所述数据源站发送数据请求,所述数据请求用于请求所述数据源站向所述代理设备发送所述第一数据。
在一种可能的实现方式中,所述获取模块,用于根据接收到的未编码的第二数据生成所述数据列表,所述第二数据用于编码得到所述第一数据。
在一种可能的实现方式中,所述发送模块,还用于所述代理设备未成功复制所述第一数据,向所述数据源站发送复制失败指令,所述复制失败指令用于提示所述数据源站向所述请求所述第一数据的终端依次发送所述第一数据。
在一种可能的实现方式中,所述接收模块,还用于接收所述数据源站发送的数据传输请求,所述数据传输请求用于向所述代理设备调用数据传输服务;基于所述数据传输请求确定所述数据源站对应的数据传输服务的调用结果,所述调用结果指示所述数据源站调用成功;所述发送模块,还用于向所述数据源站发送所述调用结果,所述调用结果用于指示所述数据源站执行发送所述第一数据的操作。
在一种可能的实现方式中,所述代理设备包括应用程序设计接口API,所述API用于所述数据源站通过所述数据传输请求调用所述数据传输服务。
在一种可能的实现方式中,所述代理设备为边缘设备。
在一种可能的实现方式中,所述第一数据为直播业务的数据、在线教育业务的数据或线上会议业务的数据。
在一种可能的实现方式中,所述第一标识为已编码的标识,或者所述第一标识为未编码的标识。
第三方面,提供了一种数据传输设备,所述设备包括存储器及处理器;所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以使所述数据传输设备实现上述第一方面所述的数据传输方法。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现第一方面所述的数据传输方法。
第五方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行,以使计算机实现第一方面所述的数据传输方法。
第六方面,提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法。
可选地,所述处理器为一个或多个,所述存储器为一个或多个。
可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请对存储器的类型以及存储器与处理器的设置方式不做限定。
第七方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
第八方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
应当理解的是,本申请实施例的第二方面至第八方面的技术方案及对应的可能的实现方式所取得的有益效果可以参见上述对第一方面及其对应的可能的实现方式的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种实施环境的示意图;
图2为本申请实施例提供的另一种实施环境的示意图;
图3为本申请实施例提供的一种数据传输方法的流程图;
图4为本申请实施例提供的一种数据传输的流程示意图;
图5为本申请实施例提供的另一种数据传输方法的流程图;
图6为本申请实施例提供的一种数据传输装置的结构示意图;
图7为本申请实施例提供的一种网络设备的结构示意图;
图8为本申请实施例提供的另一种网络设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
随着通信技术的发展,实时通信的涉及范围越来越广,例如,在直播业务、在线教育业务和线上会议业务等场景下,可以实现一个终端与多个终端之间进行实时数据的传输。本申请实施例提供了一种数据传输方法,应用于实时通信中的数据源站与终端之间的数据传输过程中,该方法的实施环境可参见图1,包括数据源站101、代理设备102和至少一个终端103。
可选地,代理设备102从数据源站101获取已编码的第一数据,对已编码的第一数据进行复制,并将复制得到的第一数据向请求第一数据的终端103发送。可选地,数据源站101为一种网络服务平台。数据源站101可接收来自采集终端上传的第二数据或者访问存储空间获取第二数据,并在获取到第二数据后,对未编码的第二数据进行编码处理,以得到第一数据。代理设备102为边缘设备,边缘设备包括但不限于:路由器、路由交换机、集成接入设备(integrated access device,IAD)或多路复用器等。终端103可以是任意一种可进行人机交互的电子产品,包括但不限于手机、个人计算机(personal computer,PC)和平板等。代理设备102可以分别与数据源站101和终端103之间通过有线或无线网络的方式建立通信连接。
需要说明的是,代理设备102可以与终端103直接相连,也可以通过其他边缘设备与终端103间接相连。图2为本申请实施例提供的另一种实施环境的示意图,其示出了数据源站101、代理设备102和终端103之间的多种连接方式。示例性地,代理设备102可以是与终端103直接相连的其他边缘设备或光网络终端(optical network terminal,ONT)。代理设备102还可以是通过ONT与终端103间接相连的光线路终端(optical line terminal,OLT)。
本申请实施例提供一种数据传输方法,该数据传输方法可基于上述图1所示的实施环境,该方法可由代理设备执行,该方法的流程图如图3所示,包括S301-S303。
S301,代理设备接收数据源站发送的已编码的第一数据,第一数据携带第一标识。
在一种可能的实现方式中,数据源站用于对未编码的第二数据进行编码处理,得到适合存储和传输的数字编码,也即第一数据。例如,数据源站通过对第二数据进行编码压缩,使得第一数据的数据量小于第二数据的数据量,进而提高后续第一数据的传输效率。
此外,上述数据源站对第二数据进行编码是数据源站对第二数据的一个处理操作的举例。除了对第二数据进行编码,数据源站还可以对第二数据执行其他操作,例如录制、转码等。无论是对第二数据进行何种处理,处理之后得到的数据的传输过程与第一数据的传输过程类似,不再一一赘述,下文以对第一数据的传输过程进行举例说明。
可选地,数据源站编码得到的第一数据为实时业务的数据,第一数据包括但不限于直播业务的数据、在线教育业务的数据和线上会议业务的数据等。由于不同的实时业务的数据的传输过程类似,下文以直播业务的数据为例,对第一数据的传输过程进行举例说明。
示例性地,数据源站在向代理设备发送第一数据前,还需要获取未编码的第二数据。关于数据源站获取第二数据的方式,可以是接收来自采集终端发送的第二数据。可选地,采集终端配置有数据采集装置,该数据采集装置例如是用于采集视频数据或图像数据的视频采集装置,如摄像头、照相机等。又或是用于采集音频数据的音频采集装置,如麦克风。发起实时通信的第一对象可以通过采集终端上配置的数据采集装置采集第二数据,并将采集的第二数据实时发送至数据源站。例如,直播业务中,发起实时通信的第一对象也即创建直播间的主播,通过采集终端上的摄像头录制视频并将视频流向数据源站发送,数据源站接收到采集终端上传的视频流,得到第二数据。
当然,采集终端可以选择将采集得到的数据发送至数据源站,作为第二数据,采集终端还可以选择上传其他渠道获取的数据至数据源站,作为第二数据。以实时业务为直播业务为例,主播提前录制了演出视频并存储在采集终端的存储空间内,在直播过程中,主播触发采集终端上安装和运行的直播应用程序中提供的视频播放控件,并选择播放演出视频。采集终端访问存储空间,将演出视频作为第二数据上传至数据源站,数据源站接收演出视频。
此外,数据源站获取第二数据的方式除了基于采集终端上传,数据源站还可以访问存储空间,将存储空间内存储的数据作为未编码的第二数据。示例性地,数据源站接收到数据调度指令,访问存储空间,获取数据调度指令对应的数据,得到未编码的第二数据。本申请实施例不限定数据调度指令的发送方,可以是采集终端,也可以是请求第一数据的各个终端,为使描述更清晰,下文将与代理设备连接且请求获取第一数据的终端称为接收终端。
继续以直播业务为例,对基于数据调度指令获取第二数据的过程进行说明。在直播过程中,主播需要开启背景音乐,操作采集终端上提供的音乐播放控件后,采集终端基于接收到的音乐播放指令显示音乐播放列表。主播在音乐播放列表中选中待播放的目标音乐,采集终端基于主播的操作将目标音乐对应的数据调度指令发送至数据源站,数据源站根据接收到的数据调度指令,访问存储空间获取待播放的目标音乐,得到第二数据。
上述举例说明了由采集终端发送数据调度指令的过程,关于接收终端发送数据调度指令的过程如下。例如,在直播场景下,采集终端对应的接收终端是指用于观看采集终端创建的直播间的终端,操作接收终端观看直播间的观众,希望与主播进行互动,便触发接收终端上提供的蛋糕赠送的特效控件。接收终端基于蛋糕赠送的特效控件的触发向数据源站发送蛋糕赠送特效的数据调度指令,数据源站根据接收到的蛋糕赠送特效的数据调度指令,访问存储空间内存储的特效显示数据,获取蛋糕赠送特效对应的特效显示数据,将特效显示数据作为第二数据。
需要说明的是,对于上述数据源站访问的存储空间,可以是数据源站的存储空间,也可以是其他与数据源站通信连接的网络设备的存储空间。例如,存在文件源站用于存储直播业务里涉及到的特效数据,则数据源站访问的存储空间属于文件源站的存储空间。基于上述举例可以理解,第一数据/第二数据可以是任意数据类型的数据,包括但不限于视频数据、图像数据、语音数据和游戏数据等。可选地,无论数据源站基于何种方式获取未编码的第二数据,本申请实施例均不限定数据源站对第二数据的编码方式,包括但不限于变换编码、熵编码或运动估计和运动补偿等编码方式,数据源站可选择任一种编码方式对第二数据进行编码,以得到已编码的第一数据。
此外,数据源站编码第二数据得到的第一数据中携带第一标识,该第一标识可以区分第一数据与其他数据。在一种可能的实现方式中,第一标识用于指示第一数据的来源,可基于第二数据的来源信息确定。数据源站接收到的第二数据中携带有第二数据的来源信息,该来源信息例如为第二数据对应的采集终端的互联网协议(internet protocoladdress,IP)地址、媒体访问控制(media access control,MAC)地址。以直播业务为例,该来源信息还可以是采集终端所在的直播间的信息。本申请实施例不对第二数据携带第二数据的来源信息的方式进行限定,例如,第二数据可以在第二数据的扩展字段中携带第二数据的来源信息,也可以通过第二数据的其他字段中携带。无论第二数据以何种方式携带第二数据的来源信息,由于第一数据是基于第二数据编码得到,因此,第一数据与第二数据的来源一致,可基于第二数据的来源信息确定第一数据的第一标识。
示例性地,数据源站在对第二数据进行编码时,可在第二数据的基础上额外添加来源信息,作为第一标识,也即第一标识为未编码的标识,代理设备可以直接提取第一数据中的第一标识。例如,代理设备在读取第一数据的过程中,即可获得第一数据的第一标识所指示的第一数据的来源。又或者,数据源站在对第二数据进行编码时,未在第二数据的基础上额外添加来源信息,而是第二数据本身包括第二数据的来源信息,该种情况下,第一标识通过对第二数据的来源信息进行编码得到,也即第一标识为已编码的标识。则代理设备收到已编码的第一数据后,需要对第一数据进行解码操作,通过解码得到携带有来源信息的第二数据,以根据第二数据获取第一数据的来源。
无论第一数据携带的第一标识为何种情况,数据源站均可向代理设备发送第一数据。此外,由于数据源站在通过代理设备向接收终端发送第一数据的过程中,是通过单播将第一数据转发至代理设备。而在单播的转发场景下,代理设备对于接收到的第一数据仅执行转发到对应的接收终端的操作。但本申请实施例还需要代理设备对第一数据进行复制,进而在有多个接收终端获取同一个第一数据的情况下,无需数据源站重复发送,通过代理设备将复制得到的多个第一数据依次发送给接收终端即可。因此,数据源站在向代理设备发送第一数据之前,还需要调度代理设备提供的数据传输服务,以使代理设备采用本申请实施例提供的数据传输方法,对第一数据执行复制并转发的操作。
可选地,调度过程包括:接收数据源站发送的数据传输请求,数据传输请求用于向代理设备调用数据传输服务;基于数据传输请求确定数据源站对应的数据传输服务的调用结果,调用结果指示数据源站调用成功;向数据源站发送调用结果,调用结果用于指示数据源站执行发送第一数据的操作。
在一种可能的实现方式中,数据源站发送的数据传输请求封装有至少一个待匹配信息,代理设备根据数据传输请求中封装的待匹配信息,确定各个待匹配信息的匹配结果。基于至少一个待匹配信息中的各个待匹配信息的匹配结果均匹配成功,确定调用结果指示调用成功。以待匹配信息为数据传输协议为例,代理设备根据数据源站请求的数据传输协议,判断是否支持基于该数据传输协议进行数据传输。若代理设备支持基于该数据传输协议进行数据传输,则确定数据传输协议的匹配结果为匹配成功。通过上述操作统一数据源站与代理设备在传输第一数据过程中使用的数据传输协议,实现数据源站与代理设备之间的传输通道的建立,并基于建立的传输通道执行后续发送第一数据的操作。本申请实施例不限定传输设备在传输第一数据过程中涉及到的数据传输协议,包括但不限于超文本传输协议在安全加密字层/超文本传输协议(hypertext transfer protocol over securesocket layer/hypertext transfer protocol,HTTPs/HTTP)、传输控制协议(transmission control protocol,TCP)等。
可选地,代理设备包括应用程序设计接口(application programminginterface,API),API用于数据源站通过数据传输请求调用数据传输服务。也即,代理设备提供一个订阅服务框架,数据源站可以通过调用API,订阅代理设备提供的数据传输服务,以使得数据源站的调用过程更便捷,效率更高。
需要说明的是,上述举例旨在说明数据源站在向代理设备发送第一数据之前,还需要向代理设备发送数据传输请求。而非限定数据传输请求的发送时机,数据源站可以选择在接收到未编码的第二数据后,开始执行向代理设备发送数据传输请求的操作,数据源站还可以选择在接收到第二数据之前,向代理设备发送数据传输请求。以直播业务为例,由于直播高峰期为晚上7:00-12:00。因此,数据源站在晚上6:50时向代理设备发送数据传输请求,提前实现数据传输服务的调用。在接收到第二数据,对第二数据进行编码得到第一数据后,即可将第一数据向代理设备发送,进而节省了从接收第二数据到发送第一数据之间的所用时间,减缓了直播过程中的视频延迟问题。
可选地,无论数据源站基于何种时机向代理设备发送数据传输请求,基于数据源站调用代理设备的数据传输服务成功后,数据源站即可向代理设备发送第一数据。数据源站将第一数据发送至云中心,由云中心向边缘域发送,再由边缘域向位于边缘节点的边缘设备,也即代理设备发送,以使代理设备接收第一数据。其中,云中心、边缘域和边缘节点是边缘计算的三种层级结构,云中心是边缘计算的管控端,边缘域用于数据汇聚、存储和处理等,边缘节点用于数据采集和前端智能处理等。
需要注意的是,由于代理设备位于的边缘节点存在区别,代理设备接收第一数据的传输路径也存在不同。以图4示出的数据传输的过程示意图为例,对传输路径的不同进行说明。针对代理设备与边缘域,也即图4中的区域直接连接的情况,代理设备接收来自边缘域发送的第一数据。例如图4示出的OLT代理设备和其他代理设备的传输路径。针对代理设备与边缘域通过边缘节点间接连接的情况,代理设备接收来自边缘节点发送的第一数据。例如图4示出的ONT代理设备的传输路径,ONT代理设备与OLT边缘节点连接,边缘域在将第一数据发送至OLT边缘节点后,再由OLT边缘节点将第一数据转发至ONT代理设备,以使ONT代理设备获取数据源站发送的第一数据,并基于第一数据执行S302-S303中代理设备涉及的操作。可选地,数据源站在向代理设备发送第一数据的过程中,采用的是单播传输方式。
S302,代理设备对第一数据进行复制,得到N个第一数据,其中,代理设备连接多个终端,且多个终端中的N个终端基于第一标识请求第一数据,N为大于等于2的整数。
可选地,由于代理设备连接多个终端,并且多个终端中有至少两个终端请求相同的第一数据,也即是数据源站需要通过同一个代理设备向至少两个终端发送相同的第一数据。若代理设备未对第一数据进行复制,则数据源站需要向代理设备发送多个第一数据,数据源站与代理设备之间出现了端到端的带宽冗余。通过触发代理设备对第一数据的复制操作,即使有多个终端请求获取第一数据,数据源站也仅需要发送一次第一数据至代理设备,减少了数据源站传输第一数据的次数。而当与代理设备连接的终端不满足上述条件,例如仅有一个终端请求第一数据时,即使代理设备不对第一数据进行复制,数据源站也可以通过传输一次第一数据,保证通过代理设备请求获取第一数据的终端接收到第一数据。基于代理设备连接的终端的情况,灵活触发代理设备对第一数据的复制操作,在减轻数据源站的带宽消耗的基础上,也避免了资源浪费。
示例性地,由于代理设备需要根据请求第一数据的终端的数量进行复制。因此,代理设备在复制第一数据前,还需要确定请求第一数据的终端的数量,确定过程包括:接收多个终端中的至少两个终端发送的数据获取请求,数据获取请求携带第一标识;根据数据获取请求的数量,得到N。
本申请实施例不限定接收数据获取请求的过程,可以是基于数据列表实现,此种情况下,代理设备在对第一数据进行复制之前,需要执行的操作还包括:获取数据列表,数据列表中包括多组数据的第二标识,一组数据为同一个采集终端上传的数据,多组数据中的其中一组数据包括第一数据;接收多个终端中的至少两个终端发送的列表获取请求,向多个终端中的至少两个终端发送数据列表,数据列表中的第二标识用于N个终端确定第一标识。
示例性地,数据列表用于区分多组数据中的各组数据,多组数据中的任一组数据是指由同一个采集终端上传的数据的集合。通过数据列表向请求获取数据列表的终端展示可以获取的多组数据,以辅助用户从多组数据中选择需要获取的数据。在直播业务场景中,数据列表也即是直播视频节目单,直播视频节目单上包括多个直播间的第二标识,用户可以通过直播视频节目单从多个直播间中选择需要观看的直播间。可选地,代理设备可通过包括但不限于如下两种方式获取数据列表。
获取方式一、根据接收到的未编码的第二数据生成数据列表。
可选地,由于代理设备还用于转发采集终端上传至数据源站的多组数据,该多组数据中的一组数据包括未编码的第二数据。代理设备可在转发一组数据的过程中,提取该组数据中的标识信息。其中,提取的不同标识信息可以区分不同组的数据,例如,一组数据的标识信息可以为该组数据的采集终端的IP地址、MAC地址等。因此,可将一组数据的标识信息作为该组数据的第二标识,该第二标识可用于标识该组数据所包括的各个数据。代理设备通过对转发的多组数据均执行上述提取标识信息的操作,得到了多组数据中的各组数据的第二标识,从而生成数据列表。示例性地,生成的数据列表中可以包括各组数据的第二标识。又由于第一数据为第二数据编码得到的数据,因此,对于上述提及的多组数据中包括第二数据的一组数据,该组数据的第二标识也可以是指包括第一数据的一组数据的第二标识。也就是说,一组数据的第二标识既可以用于标识同一个采集终端上传的一组未编码的数据,也可以标识同一个采集终端上传的一组未编码的数据所对应的已编码的数据。
以直播业务为例,对生成数据列表的过程进行举例说明,代理设备在向数据源站转发接收到的未编码的视频数据,也即第二数据时,会提取第二数据携带的采集终端的IP地址,得到包括第二数据的一组数据的第二标识。代理设备对不同的采集终端上传的视频数据依次执行上述操作,得到包括不同直播间对应的采集终端的IP地址的直播视频节目单,也即数据列表。此外,数据列表除了包括各组数据的第二标识,还可以包括各组数据的其他信息,仍以各组数据为直播间的数据为例,其他信息例如可以是各个直播间的封面图像,通过显示各个直播间的封面图像,辅助用户选择需要观看的直播间。
当然,代理设备除了在转发第二数据的过程中,基于转发的第二数据生成对应的数据列表,还可以是传输路径涉及到的其他传输节点生成数据列表,并将生成的数据列表发送给代理设备。以图4所示的ONT代理设备为例,其他传输节点可以是OLT边缘节点,由于采集终端需要将视频数据上传至准直播平台,并基于准直播平台推流发往数据源站,上传的视频数据会由ONT代理设备向OLT边缘节点发送,OLT边缘节点可以基于接收到的视频数据生成对应的数据列表,并在后续代理设备有获取数据列表的需求时,向代理设备发送生成的数据列表。
获取方式二、接收数据源站发送的数据列表,数据列表由数据源站基于第一数据得到,数据源站发送数据列表的第一时间早于数据源站发送第一数据的第二时间。
在一种可能的实现方式中,数据源站接收来自多个采集终端上传的多组数据,再对接收到的多组数据进行编码过程中,生成多组数据对应的数据列表。多组数据中的一组数据包括第一数据,关于数据源站生成数据列表的过程与获取方式一中代理设备生成数据列表的过程类似,数据源站在对多组数据中的各组数据进行编码过程中,提取各组数据的标识信息,作为各组数据的第二标识,基于各组数据的第二标识生成数据列表。
可选地,代理设备可以选择上述任一种方式获取数据列表,并在获取数据列表后,向请求获取数据列表的终端发送数据列表。在一种可能的实现方式中,与代理设备连接的终端在向代理设备请求获取数据列表之前,还需要进行用户鉴权认证,也即对该终端使用的数据业务的有效性进行检查,终端在认证通过后,才可以向代理设备请求获取数据列表。以数据列表为在线教育业务场景中的数据列表为例,只有报名参与该在线教育业务的会员才能有权限获取该数据列表。请求获取数据列表的终端可以向数据源站发送认证信息,该认证信息中可以携带会员信息,以进行用户鉴权认证。例如,数据源站获取了参与该在线教育业务的会员的信息,接收到终端发送的认证信息后,将认证信息中携带的会员信息与参与该在线教育业务的会员的信息进行比对,如果参与该在线教育业务的会员的信息中包括该认证信息中携带的会员信息,则确定该终端认证通过。可选地,除了在数据源站侧进行用户鉴权认证外,也可以在代理设备或者其他位于数据源站与终端之间的网络设备上进行用户鉴权认证。因此,终端还可以向代理设备发送认证信息,或是向其他位于数据源站与终端之间的网络设备发送认证信息,认证过程与数据源站的认证过程类似,本申请实施例对此不再进行赘述。
在完成上述用户鉴权认证后,代理设备可向请求数据列表的终端发送数据列表。在一种可能的实现方式中,代理设备在发送数据列表过程中,启动了针对数据列表的数据传输服务。其中,数据列表的数据传输服务是指由于请求获取数据列表的终端存在多个,因此,数据源站需要实现向多个请求获取数据列表的终端发送数据列表,与第一数据的传输原理类似,代理设备会对接收到的数据列表进行复制,并分别向请求获取数据列表的终端发送数据列表,从而减少数据源站向请求获取数据列表的终端发送数据列表的次数。上述过程也即是针对数据列表的数据传输服务,而启动针对数据列表的数据传输服务是指代理设备准备执行复制数据列表的操作,准备过程例如是调用复制数据列表的函数,也可以是其他准备过程。
代理设备在接收到数据列表后,开始启动针对数据列表的数据传输服务,并获得第一启动结果,针对第一启动结果存在指示启动成功和启动失败这两种情况,数据源站与代理设备执行的操作也存在区别。
情况一、第一启动结果指示启动失败。第一启动结果指示启动失败是指代理设备未成功复制数据列表。此种情况下,代理设备将第一启动结果向数据源站发送,数据源站基于数据列表的数据传输服务启动失败,复制多个数据列表并将多个数据列表发送给代理设备,以使代理设备分别转发给对应的请求数据列表的终端。
可选地,针对第一启动结果指示启动失败的情况一,数据源站在向代理设备发送第一数据时,选择复制N个第一数据,并向代理设备发送N个第一数据,以使代理设备无需执行复制的操作,将接收到的N个第一数据分别转发给N个终端。由于数据列表对应的数据传输服务启动失败,可能是代理设备提供的数据传输服务存在问题的所导致,数据源站基于此,选择在传输第一数据的时候不调用代理设备的数据传输服务,避免第一数据的数据传输服务也启动失败,进而影响第一数据的传输效率。
情况二、第一启动结果指示启动成功,代理设备调用数据列表对应的数据传输服务复制多份数据列表,分别发送给请求数据列表的终端。
在一种可能的实现方式中,针对代理设备先获取数据列表,后接收第一数据的情况,数据源站发送第一数据的过程也与第一启动结果相关。
可选地,针对第一启动结果指示启动成功的情况二,代理设备向数据源站发送数据请求,数据请求用于请求数据源站向代理设备发送第一数据。在一种可能的实现方式中,代理设备可以是在向数据源站返回第一启动结果的基础上,发送数据请求。又或者,代理设备将用于指示启动成功的第一启动结果发送给数据源站,作为数据请求,数据源站根据数据列表对应的数据传输服务启动成功,向代理设备发送第一数据。
需要说明的是,上述举例旨在说明数据列表与第一数据在先后传输的过程中,可以基于前一个传输的数据的启动结果,调整后续操作。而非限定第一数据与数据列表的获取顺序,数据源站可以选择将多组数据均发送给代理设备,代理设备从而获取包括第一数据在内的多组数据。代理设备在获取第一数据后,获取数据列表,并将数据列表发送给请求数据列表的终端,从而在终端通过数据列表请求获取第一数据后,可以快速将第一数据发送给请求第一数据的终端。也即代理设备先获取第一数据,再获取数据列表的执行顺序也是可以实现。
此外,无论是无需进行鉴权认证即可获取数据列表的终端,还是需要鉴权认证并通过认证之后获取数据列表的终端,代理设备或数据源站均可以获取该终端与数据列表所对应的数据的对应关系。以直播业务场景下,数据源站进行用户鉴权认证为例,数据也即是各个直播间产生的数据,终端与数据的对应关系可以是终端与产生该数据的直播间之间的对应关系。例如,数据源站获取终端的认证信息,将终端的认证信息与各个直播间的信息之间的对应关系作为终端与直播间的对应关系。在终端后续请求获取任一直播间的数据时,可基于终端的认证信息与直播间的信息之间的对应关系来确定该终端是否具有获取该任一直播间的数据的权限,向具有获取权限的终端发送所请求的数据。
其中,终端的认证信息可以是终端的标识,如IP地址、MAC地址等。直播间的信息用于标识直播间,本申请实施例不对直播间的信息进行限定,能够区分不同的直播间即可,包括但不限于直播间的标识、编号等。
在本申请实施例提供的方法中,终端通过数据列表确定需要获取的数据,当终端获取到数据列表,并确定需要获取的数据为第一数据时,该终端可向代理设备发送数据获取请求。其中,数据获取请求中携带第一标识,该第一标识为第一数据的标识,该第一标识可以与第一数据所在的一组数据的第二标识相同,也即是第一标识的获取方式可以是将数据列表中包括第一数据的一组数据的第二标识直接作为第一标识携带在数据获取请求中。除此之外,第一标识也可以与第一数据所在的一组数据的第二标识不同,而是基于该第二标识确定出来的一个标识。以包括第一数据的一组数据为目标直播间的数据为例,该组数据的第二标识为目标直播间的编号,通过目标直播间的编号查找直播间的编号与采集终端的IP地址之间的对应关系,确定目标直播间对应的采集终端的IP地址,将目标直播间对应的采集终端的IP地址作为第一标识。
无论数据获取请求中携带的第一标识是上述哪种情况,通过数据获取请求,代理设备可基于接收到的获取第一数据的数据获取请求的数量,确定请求第一数据的终端的数量。以直播业务为例,数据列表也即直播视频节目单,第二标识包括直播间的编号,当用户操作终端从直播视频节目单中根据直播间的编号选择需要观看的直播间为第一数据对应的目标直播间时,终端将直播视频节目单中目标直播间的编号作为第一数据的第一标识,并向代理设备发送携带目标直播间的编号的数据获取请求,该终端也即是请求获取第一数据的终端。
基于上述举例可以理解,请求获取第一数据的终端可以为获取了数据列表的终端中的全部终端,例如所有获取直播视频节目单的用户都选择进入目标直播间观看直播,请求获取第一数据的终端为获取了直播视频节目单的全部终端。请求获取第一数据的终端也可以为获取了数据列表的终端中的部分终端,例如,获取直播视频节目单的用户中的部分用户选择进入目标直播间观看直播,请求获取第一数据的终端为获取了直播视频节目单的部分终端。
当有终端向代理设备请求获取第一数据时,代理设备还需要确认该终端是否具有获取该第一数据的权限,以确定是否需要向该终端发送第一数据。可选地,基于终端与数据列表所对应的数据的对应关系,确定该终端是否有获取第一数据的权限。继续以上述实施例中的用户鉴权认证过程中的直播业务场景为例,对于请求获取第一数据的终端,基于该终端的认证信息与直播间的信息之间的对应关系来确定该终端是否具有获取目标直播间的数据的权限,针对该终端具有获取目标直播间的数据的权限,确定需要向该终端发送目标直播间产生的第一数据。
由于代理设备接收到的数据可能存在多个不同的数据的情况,因此,代理设备还需要从接收到的多个数据中确定终端所请求的第一数据。示例性地,由于终端请求第一数据时的数据获取请求中携带所请求的第一数据的第一标识,则代理设备通过识别接收到的各个数据的第一标识,基于接收到的各个数据的第一标识从多个数据中确定出与数据获取请求中携带的第一标识匹配的数据,从而实现第一数据的确定。其中,代理设备接收到的各个数据的第一标识的获取过程与第一数据的第一标识的获取过程类似,可参见S301中关于获取第一数据的第一标识的描述,在此暂不进行赘述。
上述举例说明了当数据获取请求携带的第一标识与第一数据的第一标识类型一致的情况,例如数据获取请求携带的第一标识与第一数据的第一标识均为直播间编号或者采集终端的IP地址或MAC地址等。在本申请实施例中,还存在一种终端发送的数据获取请求携带的第一标识与第一数据的第一标识的类型不同的情况,例如,数据获取请求携带的第一标识为直播间编号,而第一数据的第一标识为采集终端的IP地址,则需要基于终端与数据的对应关系,将代理设备收到的数据的第一标识与数据获取请求中携带的第一标识中的一个进行类型转换,将类型转换一致之后,再基于接收到的各个数据的第一标识从多个数据中确定出与终端发送的数据获取请求中携带的第一标识匹配的第一数据,从而实现第一数据的确定。
以直播业务场景为例,代理设备收到的数据的第一标识仅包括采集终端的IP地址或MAC地址,而终端请求第一数据时发送的数据获取请求中携带的第一标识是直播间的信息。因此,代理设备在确定第一数据的过程中,还需要先根据采集终端的IP地址或MAC地址与直播间的信息之间的对应关系,确定各个数据对应的直播间的信息,再联合终端发送的数据获取请求中携带的直播间的信息,从多个数据中确定终端所请求的第一数据。其中,采集终端的IP地址或MAC地址与直播间的信息之间的对应关系可以是数据源站基于接收到的第二数据中获取的,也可以通过其他方式获取。
可选地,代理设备确定N的数值大小与第一数据后,可根据N的数值大小对第一数据进行复制。在对第一数据进行复制时,代理设备可以选择先完成N个第一数据的复制,再将复制得到的第一数据分别发送给请求第一数据的接收终端。还可以选择先完成M个第一数据的复制,从N个接收终端中选择M个接收终端发送第一数据,再在发送后继续复制还需要的第一数据。其中,M为小于N的正整数,通过复制部分第一数据,缩短复制时间,提高了部分接收终端接收第一数据的效率。示例性地,M可基于经验设置,在从N个接收终端中选择M个接收终端过程中,代理设备可以随机选择,也可以基于接收终端的优先级,选择优先级高的接收终端先发送第一数据。关于接收终端的优先级可根据接收终端的流量订阅套餐,或是接收终端在直播应用程序的会员等级等确定。
在一种可能的实现方式中,代理设备启动数据传输服务对第一数据进行复制后,还会向数据源站发送第二启动结果,第二启动结果用于指示代理设备对第一数据的复制为成功或失败。可选地,代理设备未成功复制第一数据,向数据源站发送复制失败指令,复制失败指令用于提示数据源站向请求第一数据的终端依次发送第一数据。未成功复制第一数据也即是第二启动结果指示启动失败,关于代理设备向数据源站发送复制失败指令的过程与上述实施例示出的代理设备向数据源站发送数据请求的过程类似,在此暂不进行赘述。
S303,代理设备向N个终端中的各个终端分别发送第一数据。
可选地,代理设备可以直接向请求第一数据的接收终端发送第一数据,例如图4所示的其他代理设备直接向接收终端发送第一数据,和图4所示的ONT代理设备直接向接收终端发送第一数据。可选地,代理设备还可以通过其他边缘设备转发第一数据,由其他边缘设备将第一数据转发给接收终端,实现由代理设备向接收终端发送第一数据,例如图4所示的OLT代理设备通过ONT向接收终端转发第一数据。在一种可能的实现方式中,代理设备在向接收设备发送第一数据时采用拉流的方式实现。可选地,代理设备在向各个接收设备发送复制得到的第一数据的基础上,还会对接收的第一数据进行缓存,通过缓存第一数据,以实现在其他接收终端有获取第一数据的需求时,可以快速向其他接收终端发送第一数据,进而提高响应时间。
需要说明的是,上述举例的OLT与ONT旨在用于说明代理设备所配置的网络节点位置,而非对代理设备进行设定,代理设备可以是任意边缘设备,例如宽带远程接入服务器(broadband remote access server,BRAS)或接入点(access point,AP)等。当然,代理设备也可以是除数据源站与终端之外的其他网络设备,数据源站、代理设备与终端之间的网络结构也可以是任意网络结构,本申请实施例对此均不进行限定。此外,本申请实施例用于举例说明的直播业务、线上会议业务和网络课堂业务等实时业务,旨在介绍本申请提供的数据传输方法适用于一个终端与多个终端之间的通信场景,对于上述实时业务的名称,以及上述实时业务中传播的第一数据是否为实时采集的均不进行限定。
综上所述,本申请实施例提供的数据传输方法,通过代理设备对第一数据进行复制,即使存在多个终端需要获取第一数据,也无需数据源站发送多次,通过代理设备向请求第一数据的终端发送复制得到的第一数据,减少了数据源站传输第一数据的次数,缓解了数据源站的传输带宽的消耗。并且,代理设备提供的数据传输服务除了可以用来传输第一数据,对于数据列表也可以进行复制并转发,同样减少了数据源站的传输次数,缓解了数据源站的带宽压力,填充“双千兆”宽带网络内容,生成好网络后,不掉线、不卡断,增加了实时业务场景下的用户的交互体验感。除此之外,代理设备提供了一种新的数据传输服务,针对直播带货、线上会议和在线教育等宽带业务应用,数据传输服务对应的套餐价值高,可增加运营商收益。
在一种可能的实现方式中,图5为本申请实施例提供的另一种数据传输方法的流程图,该数据传输方法由数据源站、代理设备和终端交互执行,该方法包括如下步骤501-511。
步骤501,数据源站向代理设备发送数据传输请求。
可选地,数据源站向代理设备发送数据传输请求的过程与图3示出的实施例的S301中数据源站向代理设备发送数据传输请求的过程类似,在此暂不进行赘述。
步骤502,代理设备根据数据传输请求确定调用结果,向数据源站返回调用结果。
可选地,数据源站通过数据传输请求调用代理设备的数据传输服务的过程与图3示出的实施例的S301中的数据源站通过数据传输请求调用代理设备的数据传输服务的过程类似,在此暂不进行赘述。
步骤503,基于调用结果指示调用成功,数据源站向代理设备发送数据列表。
可选地,数据源站向代理设备发送数据列表的过程与图3示出的实施例的S302中的数据源站向代理设备发送数据列表的过程类似,在此暂不进行赘述。
步骤504,代理设备基于接收到的数据列表,启动针对数据列表的数据传输服务。
可选地,代理设备启动针对数据列表的数据传输服务的过程与上述图3示出的实施例的S302中代理设备启动针对数据列表的数据传输服务的过程类似,在此暂不进行赘述。示例性地,通过启动针对数据列表的数据传输服务,得到第一启动结果,针对第一启动结果指示启动成功,代理设备执行步骤505的操作,针对第一启动结果指示启动失败,代理设备执行步骤510的操作。
步骤505,代理设备返回第一启动结果。
可选地,代理设备返回第一启动结果的过程与上述图3示出的实施例的S302中代理设备返回第一启动结果的过程类似,在此暂不进行赘述。
步骤506,基于第一启动结果指示启动成功,数据源站向代理设备发送第一数据。
可选地,数据源站向代理设备发送第一数据的过程与图3示出的实施例的S302中的数据源站向代理设备发送第一数据的过程类似,在此暂不进行赘述。
步骤507,代理设备启动第一数据的数据传输服务。
示例性地,代理设备基于接收到的第一数据启动第一数据的数据传输服务,得到第二启动结果。可选地,代理设备启动第一数据的数据传输服务的过程与图3示出的实施例的S302中的代理设备启动第一数据的数据传输服务的过程类似,在此暂不进行赘述。此外,针对第二启动结果指示启动成功,代理设备在接收到数据获取请求后执行步骤509的操作,针对第二启动结果指示启动失败,代理设备在接收到数据获取请求后执行步骤510的操作。
步骤508,基于第二启动结果指示启动成功,多个终端中的至少两个终端向代理设备发送第一数据的数据获取请求。
可选地,终端向代理设备发送第一数据的数据获取请求的过程与图3示出的实施例中的S302中终端向代理设备发送第一数据的数据获取请求的过程类似,在此暂不进行赘述。
步骤509,根据数据获取请求,代理设备向终端发送第一数据。
可选地,代理设备向终端发送第一数据的过程与图3示出的实施例的S303中的代理设备向终端发送第一数据的过程类似,在此暂不进行赘述。
步骤510,基于第一启动结果或第二启动结果指示启动失败,终端向数据源站发送第一数据的数据获取请求。
可选地,代理设备基于第一启动结果或第二启动结果指示失败,将终端发送的第一数据的数据获取请求上传至数据源站,从而实现终端将数据获取请求向数据源站的发送。第一数据的数据获取请求作为复制失败请求,提示数据源站复制N个第一数据,依次发送给请求第一数据的终端。
步骤511,根据数据获取请求,数据源站向终端发送第一数据。
可选地,数据源站向终端发送第一数据的过程与图3示出的实施例的S302中的数据源站向终端发送第一数据的过程类似,在此暂不进行赘述。
以上介绍了本申请实施例的数据传输方法,与上述方法对应,本申请实施例还提供了数据传输装置。图6是本申请实施例提供的一种数据传输装置的结构示意图。基于图6所示的如下多个模块,该图6所示的数据传输装置能够执行上述图3所示的全部或部分操作。应理解到,该装置可以包括比所示模块更多的附加模块或者省略其中所示的一部分模块,本申请实施例对此并不进行限制。如图6所示,该装置应用于代理设备,装置包括:
接收模块601,用于接收数据源站发送的已编码的第一数据,第一数据携带第一标识;
复制模块602,用于对第一数据进行复制,得到N个第一数据,其中,代理设备连接多个终端,且多个终端中的N个终端基于第一标识请求第一数据,N为大于等于2的整数;
发送模块603,用于向N个终端中的各个终端分别发送第一数据。
在一种可能的实现方式中,接收模块601,还用于接收多个终端中的至少两个终端发送的数据获取请求,数据获取请求携带第一标识;根据数据获取请求的数量,得到N。
在一种可能的实现方式中,装置还包括:获取模块,用于获取数据列表,数据列表中包括多组数据的第二标识,一组数据为同一个采集终端上传的数据,多组数据中的其中一组数据包括第一数据;接收模块601,还用于接收多个终端中的至少两个终端发送的列表获取请求;发送模块603,还用于向多个终端中的至少两个终端发送数据列表,数据列表中的第二标识用于N个终端确定第一标识。
在一种可能的实现方式中,获取模块,用于接收数据源站发送的数据列表,数据列表由数据源站基于第一数据得到,数据源站发送数据列表的第一时间早于数据源站发送第一数据的第二时间。
在一种可能的实现方式中,装置还包括:启动模块,用于基于数据列表启动针对数据列表的数据传输服务,得到数据列表对应的数据传输服务的第一启动结果,其中,第一启动结果指示启动成功;发送模块603,还用于向数据源站发送数据请求,数据请求用于请求数据源站向代理设备发送第一数据。
在一种可能的实现方式中,获取模块,用于根据接收到的未编码的第二数据生成数据列表,第二数据用于编码得到第一数据。
在一种可能的实现方式中,发送模块603,还用于代理设备未成功复制第一数据,向数据源站发送复制失败指令,复制失败指令用于提示数据源站向请求第一数据的终端依次发送第一数据。
在一种可能的实现方式中,接收模块601,还用于接收数据源站发送的数据传输请求,数据传输请求用于向代理设备调用数据传输服务;基于数据传输请求确定数据源站对应的数据传输服务的调用结果,调用结果指示数据源站调用成功;发送模块603,还用于向数据源站发送调用结果,调用结果用于指示数据源站执行发送第一数据的操作。
在一种可能的实现方式中,代理设备包括应用程序设计接口API,API用于数据源站通过数据传输请求调用数据传输服务。
在一种可能的实现方式中,代理设备为边缘设备。
在一种可能的实现方式中,第一数据为直播业务的数据、在线教育业务的数据或线上会议业务的数据。
在一种可能的实现方式中,第一标识为已编码的标识,或者第一标识为未编码的标识。
上述装置通过代理设备对第一数据进行复制,即使存在多个终端请求获取第一数据,也无需数据源站多次发送第一数据,通过代理设备向请求第一数据的终端发送复制得到的第一数据,减少了数据源站传输第一数据的次数,缓解了数据源站的传输带宽的消耗,进而降低了第一数据对应的业务产生的延迟和卡顿。
应理解的是,上述图6提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参见图7,图7示出了本申请一个示例性实施例提供的网络设备700的结构示意图。图7所示的网络设备700用于执行上述图3所示的数据传输方法所涉及的操作。该网络设备700例如是交换机、路由器等,该网络设备700可以由一般性的总线体系结构来实现。
如图7所示,网络设备700包括至少一个处理器701、存储器703以及至少一个通信接口704。
处理器701例如是通用中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、网络处理器(network processer,NP)、图形处理器(Graphics Processing Unit,GPU)、神经网络处理器(neural-network processingunits,NPU)、数据处理单元(Data Processing Unit,DPU)、微处理器或者一个或多个用于实现本申请方案的集成电路。例如,处理器701包括专用集成电路(application-specificintegrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。PLD例如是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。其可以实现或执行结合本申请实施例公开内容所描述的各种逻辑方框、模块和电路。处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,DSP和微处理器的组合等等。
可选的,网络设备700还包括总线。总线用于在网络设备700的各组件之间传送信息。总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器703例如是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,又如是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,又如是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器703例如是独立存在,并通过总线与处理器701相连接。存储器703也可以和处理器701集成在一起。
通信接口704使用任何收发器一类的装置,用于与其它设备或通信网络通信,通信网络可以为以太网、无线接入网(RAN)或无线局域网(wireless local area networks,WLAN)等。通信接口704可以包括有线通信接口,还可以包括无线通信接口。具体的,通信接口704可以为以太(Ethernet)接口、快速以太(Fast Ethernet,FE)接口、千兆以太(GigabitEthernet,GE)接口,异步传输模式(Asynchronous Transfer Mode,ATM)接口,无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合。以太网接口可以是光接口,电接口或其组合。在本申请实施例中,通信接口704可以用于网络设备700与其他设备进行通信。
在具体实现中,作为一种实施例,处理器701可以包括一个或多个CPU,如图7中所示的CPU0和CPU1。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备700可以包括多个处理器,如图7中所示的处理器701和处理器705。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网络设备700还可以包括输出设备和输入设备。输出设备和处理器701通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器701通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器703用于存储执行本申请方案的程序代码710,处理器701可以执行存储器703中存储的程序代码710。也即是,网络设备700可以通过处理器701以及存储器703中的程序代码710,来实现方法实施例提供的数据传输方法。程序代码710中可以包括一个或多个软件模块。可选地,处理器701自身也可以存储执行本申请方案的程序代码或指令。
在具体实施例中,本申请实施例的网络设备700可对应于上述各个方法实施例中的数据传输设备。
其中,图3所示的数据传输方法的各步骤通过网络设备700的处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
图8是本申请实施例提供的另一种网络设备的结构示意图,该网络设备例如是服务器,服务器可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器801和一个或多个存储器802,其中,该一个或多个存储器802中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器801加载并执行,以使该服务器实现上述各个方法实施例提供的数据传输方法。该处理器801例如是中央处理器(central processingunits,CPU)。当然,该网络设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该网络设备还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行数据传输方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用。例如,静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic random access memory,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data dateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
本申请实施例还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行,以使计算机实现如上任一所述的数据传输方法。
本申请实施例还提供了一种计算机程序(产品),当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
本申请实施例还提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行如上任一所述的数据传输方法。
本申请实施例还提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行如上任一所述的数据传输方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和模块,能够以软件、硬件、固件或者其任意组合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。作为示例,本申请实施例的方法可以在机器可执行指令的上下文中被描述,机器可执行指令诸如包括在目标的真实或者虚拟处理器上的器件中执行的程序模块中。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,其执行特定的任务或者实现特定的抽象数据结构。在各实施例中,程序模块的功能可以在所描述的程序模块之间合并或者分割。用于程序模块的机器可执行指令可以在本地或者分布式设备内执行。在分布式设备中,程序模块可以位于本地和远程存储介质二者中。
用于实现本申请实施例的方法的计算机程序代码可以用一种或多种编程语言编写。这些计算机程序代码可以提供给通用计算机、专用计算机或其他可编程的数据传输装置的处理器,使得程序代码在被计算机或其他可编程的数据传输装置执行的时候,引起在流程图和/或框图中规定的功能/操作被实施。程序代码可以完全在计算机上、部分在计算机上、作为独立的软件包、部分在计算机上且部分在远程计算机上或完全在远程计算机或服务器上执行。
在本申请实施例的上下文中,计算机程序代码或者相关数据可以由任意适当载体承载,以使得设备、装置或者处理器能够执行上文描述的各种处理和操作。载体的示例包括信号、计算机可读介质等等。
信号的示例可以包括电、光、无线电、声音或其它形式的传播信号,诸如载波、红外信号等。
机器可读介质可以是包含或存储用于或有关于指令执行系统、装置或设备的程序的任何有形介质。机器可读介质可以是机器可读信号介质或机器可读存储介质。机器可读介质可以包括但不限于电子的、磁的、光学的、电磁的、红外的或半导体系统、装置或设备,或其任意合适的组合。机器可读存储介质的更详细示例包括带有一根或多根导线的电气连接、便携式计算机磁盘、硬盘、随机存储存取器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光存储设备、磁存储设备,或其任意合适的组合。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、设备和模块的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、设备或模块的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
该作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以是两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
该集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种所述示例的范围的情况下,第一图像可以被称为第二图像,并且类似地,第二图像可以被称为第一图像。第一图像和第二图像都可以是图像,并且在某些情况下,可以是单独且不同的图像。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个第二报文是指两个或两个以上的第二报文。本文中术语“系统”和“网络”经常可互换使用。
应理解,在本文中对各种所述示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种所述示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”,“an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,术语“包括”(也称“includes”、“including”、“comprises”和/或“comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
还应理解,术语“若”和“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“若确定...”或“若检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
还应理解,说明书通篇中提到的“一个实施例”、“一实施例”、“一种可能的实现方式”意味着与实施例或实现方式有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”、“一种可能的实现方式”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
Claims (20)
1.一种数据传输方法,其特征在于,所述方法包括:
代理设备接收数据源站发送的已编码的第一数据,所述第一数据携带第一标识;
所述代理设备对所述第一数据进行复制,得到N个第一数据,其中,所述代理设备连接多个终端,且所述多个终端中的N个终端基于所述第一标识请求所述第一数据,所述N为大于等于2的整数;
所述代理设备向所述N个终端中的各个终端分别发送所述第一数据。
2.根据权利要求1所述的方法,其特征在于,所述代理设备对所述第一数据进行复制之前,还包括:
接收所述多个终端中的至少两个终端发送的数据获取请求,所述数据获取请求携带所述第一标识;
根据所述数据获取请求的数量,得到所述N。
3.根据权利要求1或2所述的方法,其特征在于,所述代理设备对所述第一数据进行复制之前,还包括:
获取数据列表,所述数据列表中包括多组数据的第二标识,一组数据为同一个采集终端上传的数据,所述多组数据中的其中一组数据包括所述第一数据;
接收所述多个终端中的至少两个终端发送的列表获取请求,向所述多个终端中的至少两个终端发送所述数据列表,所述数据列表中的第二标识用于所述N个终端确定所述第一标识。
4.根据权利要求3所述的方法,其特征在于,所述获取数据列表,包括:
接收所述数据源站发送的所述数据列表,所述数据列表由所述数据源站基于所述第一数据得到,所述数据源站发送所述数据列表的第一时间早于所述数据源站发送所述第一数据的第二时间。
5.根据权利要求3或4所述的方法,其特征在于,所述获取数据列表之后,还包括:
基于所述数据列表启动针对所述数据列表的数据传输服务,得到所述数据列表对应的数据传输服务的第一启动结果,其中,所述第一启动结果指示启动成功;
向所述数据源站发送数据请求,所述数据请求用于请求所述数据源站向所述代理设备发送所述第一数据。
6.根据权利要求3所述的方法,其特征在于,所述获取数据列表,包括:
根据接收到的未编码的第二数据生成所述数据列表,所述第二数据用于编码得到所述第一数据。
7.根据权利要求1-6任一所述的方法,其特征在于,所述代理设备对所述第一数据进行复制之后,还包括:
所述代理设备未成功复制所述第一数据,向所述数据源站发送复制失败指令,所述复制失败指令用于提示所述数据源站向所述请求所述第一数据的终端依次发送所述第一数据。
8.根据权利要求1-7任一所述的方法,其特征在于,所述接收数据源站发送的已编码的第一数据之前,还包括:
接收所述数据源站发送的数据传输请求,所述数据传输请求用于向所述代理设备调用数据传输服务;
基于所述数据传输请求确定所述数据源站对应的数据传输服务的调用结果,所述调用结果指示所述数据源站调用成功;
向所述数据源站发送所述调用结果,所述调用结果用于指示所述数据源站执行发送所述第一数据的操作。
9.根据权利要求8所述的方法,其特征在于,所述代理设备包括应用程序设计接口API,所述API用于所述数据源站通过所述数据传输请求调用所述数据传输服务。
10.根据权利要求1-9任一所述的方法,其特征在于,所述第一数据为直播业务的数据、在线教育业务的数据或线上会议业务的数据。
11.根据权利要求1-10任一所述的方法,其特征在于,所述第一标识为已编码的标识,或者所述第一标识为未编码的标识。
12.一种数据传输装置,其特征在于,所述装置应用于代理设备,所述装置包括:
接收模块,用于接收数据源站发送的已编码的第一数据,所述第一数据携带第一标识;
复制模块,用于对所述第一数据进行复制,得到N个第一数据,其中,所述代理设备连接多个终端,且所述多个终端中的N个终端基于所述第一标识请求所述第一数据,所述N为大于等于2的整数;
发送模块,用于向所述N个终端中的各个终端分别发送所述第一数据。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:获取模块,用于获取数据列表,所述数据列表中包括多组数据的第二标识,一组数据为同一个采集终端上传的数据,所述多组数据中的其中一组数据包括所述第一数据;所述接收模块,还用于接收所述多个终端中的至少两个终端发送的列表获取请求;所述发送模块,还用于向所述多个终端中的至少两个终端发送所述数据列表,所述数据列表中的第二标识用于所述N个终端确定所述第一标识。
14.根据权利要求13所述的装置,其特征在于,所述获取模块,用于接收所述数据源站发送的所述数据列表,所述数据列表由所述数据源站基于所述第一数据得到,所述数据源站发送所述数据列表的第一时间早于所述数据源站发送所述第一数据的第二时间。
15.根据权利要求13或14所述的装置,其特征在于,所述装置还包括:启动模块,用于基于所述数据列表启动针对所述数据列表的数据传输服务,得到所述数据列表对应的数据传输服务的第一启动结果,其中,所述第一启动结果指示启动成功;所述发送模块,还用于向所述数据源站发送数据请求,所述数据请求用于请求所述数据源站向所述代理设备发送所述第一数据。
16.根据权利要求13所述的装置,其特征在于,所述获取模块,用于根据接收到的未编码的第二数据生成所述数据列表,所述第二数据用于编码得到所述第一数据。
17.根据权利要求12-16任一所述的装置,其特征在于,所述发送模块,还用于所述代理设备未成功复制所述第一数据,向所述数据源站发送复制失败指令,所述复制失败指令用于提示所述数据源站向所述请求所述第一数据的终端依次发送所述第一数据。
18.根据权利要求12-17任一所述的装置,其特征在于,所述接收模块,还用于接收所述数据源站发送的数据传输请求,所述数据传输请求用于向所述代理设备调用数据传输服务;基于所述数据传输请求确定所述数据源站对应的数据传输服务的调用结果,所述调用结果指示所述数据源站调用成功;所述发送模块,还用于向所述数据源站发送所述调用结果,所述调用结果用于指示所述数据源站执行发送所述第一数据的操作。
19.一种数据传输设备,其特征在于,所述设备包括存储器及处理器;所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以使所述数据传输设备实现权利要求1-11中任一所述的数据传输方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-11中任一所述的数据传输方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210962834.5A CN117640753A (zh) | 2022-08-11 | 2022-08-11 | 数据传输方法和装置 |
PCT/CN2023/103113 WO2024032189A1 (zh) | 2022-08-11 | 2023-06-28 | 数据传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210962834.5A CN117640753A (zh) | 2022-08-11 | 2022-08-11 | 数据传输方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117640753A true CN117640753A (zh) | 2024-03-01 |
Family
ID=89850625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210962834.5A Pending CN117640753A (zh) | 2022-08-11 | 2022-08-11 | 数据传输方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117640753A (zh) |
WO (1) | WO2024032189A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100421515C (zh) * | 2005-05-20 | 2008-09-24 | 华为技术有限公司 | 基于移动网络的组播业务数据的实现方法 |
CN100421520C (zh) * | 2005-09-05 | 2008-09-24 | 华为技术有限公司 | 一种基于移动网络的ip组播系统和方法 |
US10855577B2 (en) * | 2018-08-21 | 2020-12-01 | Cisco Technology, Inc. | Service traffic replication and dynamic policy enforcement in a multi-cloud service mesh |
CN110502649B (zh) * | 2019-07-02 | 2022-04-08 | 中国联合网络通信集团有限公司 | 一种多媒体业务的分类方法及装置 |
CN114598644A (zh) * | 2020-12-02 | 2022-06-07 | 华为技术有限公司 | Bier报文转发的方法、设备以及系统 |
-
2022
- 2022-08-11 CN CN202210962834.5A patent/CN117640753A/zh active Pending
-
2023
- 2023-06-28 WO PCT/CN2023/103113 patent/WO2024032189A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024032189A1 (zh) | 2024-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108289187B (zh) | 网络直播接入视频会议方法及系统 | |
EP3562163B1 (en) | Audio-video synthesis method and system | |
WO2015032277A1 (zh) | 视频会议中媒体流的传输方法与装置 | |
CN110267064B (zh) | 音频播放状态处理方法、装置、设备及存储介质 | |
US20170187986A1 (en) | Live streaming media method, publish side live, server and terminal | |
CN111092898B (zh) | 报文传输方法及相关设备 | |
US20150222697A1 (en) | Consolidated access to broadcast content available from different networks | |
CN113114688B (zh) | 多媒体会议管理方法及装置、存储介质、电子设备 | |
CN110602519B (zh) | 连麦视频处理方法及装置、存储介质、电子设备 | |
CN107332894B (zh) | 直播方法、装置及系统、服务器、存储介质 | |
CN112291502A (zh) | 信息交互方法、装置、系统和电子设备 | |
CN114553839A (zh) | Rtc数据的处理方法以及装置 | |
CN113992883A (zh) | 视频会议处理方法、处理设备、会议系统以及存储介质 | |
CN110996039B (zh) | 电子白板共享方法、系统和计算机可读存储介质 | |
KR102124269B1 (ko) | 멀티미디어 정보 플레이 방법 및 시스템, 수집 기기, 표준화 서버 | |
CN117640753A (zh) | 数据传输方法和装置 | |
CN113490155B (zh) | 多播广播业务的通信方法、装置、介质及电子设备 | |
CN113115065B (zh) | 一种基于直播的数据处理方法及装置 | |
CN112565799B (zh) | 视频数据处理方法和装置 | |
CN112019791A (zh) | 基于教育考试的多方音视频通话方法及系统 | |
CN112511884A (zh) | 一种音视频流的混流控制方法、系统和存储介质 | |
KR101691124B1 (ko) | 다자간 멀티미디어 공유 서비스 제공 시스템 및 방법 | |
EP3012998B1 (en) | Multi-content media communication method, device and system | |
CN112738056B (zh) | 编解码方法及系统 | |
CN116980555B (zh) | 输入信号源的采集方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |