数据信息的同步方法、装置以及存储介质与流程

文档序号:26589340发布日期:2021-09-10 20:22阅读:99来源:国知局
数据信息的同步方法、装置以及存储介质与流程

1.本技术涉及数据传输技术领域,特别是涉及一种数据信息的同步方法、装置以及存储介质。


背景技术:

2.近几年,网络直播视频、vr/ar、竞技游戏、视频会议、大数据以及4k高清视频的快速增长,正在将毫秒级实时音视频通讯技术推向历史发展的潮头。用户的预期越来越高,他们期待“最好”的在线体验,现在用户的体验和忠诚度已经不能用“分钟”和“秒”来衡量,而是用“毫秒级”来衡量。因此,对实际传输效果要求越来越高。在ip网络上,软件能控制的最底层协议的选择,只有tcp和udp。由于实时性的要求,在上述场景下,只有udp协议才是最优选择。但是,如何使用udp协议构建一个应用层协议和算法,来保证传输的低时延、高稳定和高质量,是一个众多厂商在不断研究的问题。并且该协议下存在如何实现数据信息的同步的问题。
3.针对上述的现有技术中存在的如何使用udp构建应用层协议来保证数据传输的低时延、高稳定以及高质量,以及如何确定该协议下的数据信息的同步的技术问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本公开的实施例提供了一种数据信息的同步方法、装置以及存储介质,以至少解决现有现有技术中存在的如何使用udp构建应用层协议来保证数据传输的低时延、高稳定以及高质量,以及如何确定该协议下的数据信息的同步的技术问题。
5.根据本公开实施例的一个方面,提供了一种数据信息的同步方法,用于实现多个边缘计算节点之间的数据信息的同步,其中多个边缘计算节点通过设置于不同传输路径的多个边缘传输节点传输数据,包括:根据多个边缘计算节点在预定时间段内从多个边缘传输节点接收的数据包的相关信息,确定多个边缘计算节点相对于对应的边缘传输节点的下行质量数据;根据多个边缘传输节点在预定时间段内确定的多个边缘计算节点的上行质量数据以及下行质量数据,确定多个边缘计算节点的多个质量评估数据信息;以及将第一预设数量的多个质量评估数据信息填充在待发送至多个边缘计算节点的待传输数据中,发送至多个边缘计算节点。
6.根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
7.根据本公开实施例的另一个方面,还提供了一种数据信息的同步装置,用于实现多个边缘计算节点之间的数据信息的同步,其中多个边缘计算节点通过设置于不同传输路径的多个边缘传输节点传输数据,包括:第一确定模块,用于根据多个边缘计算节点在预定时间段内从多个边缘传输节点接收的数据包的相关信息,确定多个边缘计算节点相对于对应的边缘传输节点的下行质量数据;第二确定模块,用于根据多个边缘传输节点在预定时
间段内确定的多个边缘计算节点的上行质量数据以及下行质量数据,确定多个边缘计算节点的多个质量评估数据信息;以及发送模块,用于将第一预设数量的多个质量评估数据信息填充在待发送至多个边缘计算节点的待传输数据中,发送至多个边缘计算节点。
8.根据本公开实施例的另一个方面,还提供了一种数据信息的同步装置,用于实现多个边缘计算节点之间的数据信息的同步,其中多个边缘计算节点通过设置于不同传输路径的多个边缘传输节点传输数据,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:根据多个边缘计算节点在预定时间段内从多个边缘传输节点接收的数据包的相关信息,确定多个边缘计算节点相对于对应的边缘传输节点的下行质量数据;根据多个边缘传输节点在预定时间段内确定的多个边缘计算节点的上行质量数据以及下行质量数据,确定多个边缘计算节点的多个质量评估数据信息;以及将第一预设数量的多个质量评估数据信息填充在待发送至多个边缘计算节点的待传输数据中,发送至多个边缘计算节点。
9.从而本技术通过多路径实现多端数据传输,保证了数据传输的低时延、高稳定以及高质量。并且通过分别确定多个边缘计算节点的上行质量数据以及下行质量数据,进而确定多个边缘计算节点的质量评估数据信息。并且将边缘计算节点的质量评估数据信息填充在待传输数据进行发送,保证了数据信息的安全性以及正确传输。进而解决了现有技术中存在的如何使用udp构建应用层协议来保证数据传输的低时延、高稳定以及高质量,以及如何确定该协议下的数据信息的同步的技术问题。
附图说明
10.此处所说明的附图用来提供对本公开的进一步理解,构成本技术的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
11.图1是用于实现根据本公开实施例1所述的方法的计算设备的硬件结构框图;
12.图2是根据本公开实施例1所述的多路径数据传输的系统的示意图;
13.图3是根据本公开实施例1的第一个方面所述的数据信息的同步方法的流程示意图;
14.图4是根据本公开实施例2所述的数据信息的同步装置的示意图;以及
15.图5是根据本公开实施例3所述的数据信息的同步装置的示意图。
具体实施方式
16.为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
17.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆
盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
18.ecu(边缘计算节点):靠近用户的网络边缘侧构建的业务平台,提供存储、计算、网络等资源,将部分关键业务应用下沉到接入网络边缘,以减少网络传输和多级转发带来的宽度和时延损耗。
19.eru(边缘传输节点):面向传输的中继服务,relay是其中一个子服务,用来处理,中转传输数据,用来建立端对端数据传输的连接节点和通道。
20.nasmt,即neuvision asymmetrical simultaneously multipath transmission。本文提及的传输技术。
21.ecu的上行:指的是ecu发出的流量或者发出流量的路径方向。
22.ecu的下行:指的是ecu接收的流量或者接收流量的路径方向。
23.信道编码:区别于信源编码(如音频编码mp3/opus,视频编码h264,h265)主要目的是对源数据进行压缩,信道编码目的是要对抗传输信道的不稳定性。
24.实施例1
25.根据本实施例,提供了一种数据信息的同步方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
26.本实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的计算设备中执行。图1示出了一种用于实现数据信息的同步方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
27.应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
28.存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的数据信息的同步方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的数据信息的同步方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实
例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
29.传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
30.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
31.此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
32.图2是根据本实施例所述的多路径数据传输的系统的示意图。参照图2所示,该系统包括:多个边缘计算节点ecu a和ecu b(其中边缘计算节点不限于两个,这里仅为示例)以及多个边缘传输节点eru r1到rn,其中边缘计算节点与终端节点相对应。需要说明的是,系统中的边缘计算节点以及边缘传输节点均可适用上面所述的硬件结构。
33.此外,参考图2所示,n个边缘计算节点需要互相传输数据(比如视频),它们需要先协商出一组eru(边缘传输节点),然后同时使用这些eru进行通信。该协议下,流量是自动在多个eru下进行分配,而不是同时只走一条路径,也不是把要传输的数据复制n份,每条路径传输相同的数据。图2中示意是n=2的情况,但本技术阐述的传输技术/算法并不限制终端个数,即,支持多人会议这种需要多人互相传输声音、视频的场景,唯一的要求是参与的这n方需要协商一致使用的eru列表。
34.在上述运行环境下,根据本实施例的第一个方面,提供了一种数据信息的同步方法,该方法由图2中所示的边缘计算节点以及边缘传输节点实现。图3示出了该方法的流程示意图,参考图3所示,该方法包括:
35.s302:根据多个边缘计算节点在预定时间段内从多个边缘传输节点接收的数据包的相关信息,确定多个边缘计算节点相对于对应的边缘传输节点的下行质量数据;
36.s304:根据多个边缘传输节点在预定时间段内确定的多个边缘计算节点的上行质量数据以及下行质量数据,确定多个边缘计算节点的多个质量评估数据信息;以及
37.s306:将第一预设数量的多个质量评估数据信息填充在待发送至多个边缘计算节点的待传输数据中,发送至多个边缘计算节点。
38.正如背景技术中所述的,在ip网络上,软件能控制的最底层协议的选择,只有tcp和udp。由于实时性的要求,在上述场景下,只有udp协议才是最优选择。但是,如何使用udp协议构建一个应用层协议和算法,来保证传输的低时延、高稳定和高质量,是一个众多厂商在不断研究的问题。并且该协议下存在如何实现数据信息的同步的问题。
39.有鉴于此,本技术提供了一种数据信息的同步方法,参考图2所示,在多个边缘计算节点(例如ecu a以及ecu b等)通过多个边缘传输节点进行数据传输的过程中,实现多个边缘计算节点之间数据信息的同步。其中数据信息在预定时间段内进行同步,即每个预定时间段内进行数据信息的同步。
40.在多个边缘计算节点需要进行数据信息的同步的情况下,首先,根据多个边缘计算节点在预定时间段内从多个边缘传输节点接收的数据包的相关信息,确定多个边缘计算节点相对于对应的边缘传输节点的下行质量数据(s302)。
41.具体地,参考图2所示,例如边缘计算节点a从多个边缘传输节点(eru r1至rn)接收其他边缘计算节点传输的数据包,然后边缘计算节点a可以根据接收的数据包的相关信息,确定与相对应的边缘传输节点之间的下行质量数据。此外,其他的边缘计算节点也可以通过从边缘传输节点接收的数据包的相关信息,得到对应的边缘传输节点的下行质量数据。从而通过上述方式,在多个边缘计算节点通过多个边缘传输节点进行数据传输的过程中,多个边缘计算节点可以根据从边缘传输节点接收的数据包的相关信息,确定其下行质量数据。
42.进一步地,根据多个边缘传输节点在预定时间段内确定的多个边缘计算节点的上行质量数据以及下行质量数据,确定多个边缘计算节点的多个质量评估数据信息(s304)。
43.具体地,参考图2所示,例如边缘计算节点a(可以是其他边缘计算节点)可以通过多个边缘传输节点(eru r1至rn)将待传输数据传输到其他边缘计算节点(例如ecu b)。当多个边缘传输节点接收到从边缘计算节点a传输的数据包的情况下,多个边缘传输节点可以根据接收的数据包的相关信息,确定边缘计算节点a的上行质量数据。同理,多个边缘传输节点可以根据从其他边缘计算节点接收的数据包的相关信息,确定其他边缘计算节点的上行质量数据。从而通过上述方式,可以确定多个边缘计算节点相对于每个边缘传输节点的上行质量数据。然后将边缘计算节点的上行质量数据和下行质量数据整合成质量评估数据信息(即,数据信息)。从而通过上述方式实现了多个边缘计算节点的质量评估数据信息的确定。
44.进一步地,将第一预设数量的多个质量评估数据信息填充在待发送至多个边缘计算节点的待传输数据中,发送至多个边缘计算节点(s306)。
45.具体地,参考图2所示,当边缘计算节点确定其质量评估数据信息的情况下,可以将该质量评估数据信息同步给其他的边缘计算节点。例如边缘计算节点a需要待传输数据至其他边缘计算节点的情况下,可以将质量评估数据填充到待传输数据上,然后随着带传输数据传输至其他边缘计算节点。从而实现多个边缘计算节点之间数据信息的同步。通过将质量评估数据信息填充在待传输数据中进行传输,保证了数据信息的安全性,即流控数据跟随待传输数据进行传输,保证数据信息不会错误传输,大大降低了丢失的概率。此外,第一预设数量根据待传输数据的长度决定。
46.从而本技术通过多路径实现多端数据传输,保证了数据传输的低时延、高稳定以及高质量。并且通过分别确定多个边缘计算节点的上行质量数据以及下行质量数据,进而确定多个边缘计算节点的质量评估数据信息。并且将边缘计算节点的质量评估数据信息填充在待传输数据进行发送,保证了数据信息的安全性以及正确传输。进而解决了现有技术中存在的如何使用udp构建应用层协议来保证数据传输的低时延、高稳定以及高质量,以及如何确定该协议下的数据信息的同步的技术问题。
47.此外,本技术提供的多路径数据传输系统,通过实时监测传输时延以及对传输流量的控制,可以保证数据传输的低延时的效果。通过实时监测传输带宽以及传输流量的通知,可以保证数据传输的高质量的效果。通过对传输数据进行信道编码,保证传输数据的高
稳定的效果。
48.可选地,多个边缘计算节点按照成对数据包的方式进行数据传输,并且根据多个边缘计算节点在预定时间段内从多个边缘传输节点接收的数据包的相关信息,确定多个边缘计算节点相对于对应的边缘传输节点的下行质量数据的操作,包括:根据多个边缘计算节点在预定时间段内从多个边缘传输节点接收的数据包的相关信息,确定第一数据包信息;以及根据第一数据包信息,确定下行质量数据,其中下行质量数据包括:多个边缘计算节点与对应的边缘传输节点的下行丢包率以及下行传输带宽。
49.具体地,参考图2所示,例如边缘计算节点a向多个边缘传输节点传输的数据包(可以是需要传输至任意一个边缘计算节点的数据包)需要两个一对一起发送,即,发向eru rx的包需要等到下一个需要发向eru rx的包,然后组成一对包一起发送。并且需要对发送的成对传输数据包进行编号,例如成对传输数据包中的两个数据包共享一个编号,如t_seq。然后下一对需要发送的成对传输数据包的编号为t_seq+1。从而便于计算边缘计算节点向多个边缘传输节点传输数据的下行丢包率。其中分别对发送到不同的边缘传输节点的成对传输数据包进行编号。
50.边缘计算节点确定其下行质量数据的过程中,首先,边缘计算节点确定在预定时间段内接收的数据包的第一数据包信息,例如接收到数据包的时间戳,每个数据包的网络传输大小(包括数据报协议udp头长度和ip头长度,不包括网络层以下的其他层头长度)。其中预定时间段可以是300ms或者是积累了足够多的数据的情况下计算一次下行质量数据。
51.其中下行丢包率:1

配对对数/(最大t_seq

最小t_seq+1),例如边缘计算节点a接收到100个成对传输数据包,其中最大t_seq为120,最小t_seq为5,那么边缘计算节点的下行丢包率为1

100/(120

5+1)。此外,下行丢包率不需要用发送端发送的成对传输数据包的数据包对数进行计算,是因为统计周期不需要两边对齐,两边对齐需要额外沟通,额外的沟通会造成因为计算带来的时延。因此本实施例提供的丢包率的计算方式避免了在计算实时带宽中的时延问题。
52.从而通过上述方式,实现边缘计算节点的下行质量数据的确定。
53.此外,质量评估数据信息还可以包括其他评估数据传输质量的数据信息,例如传输时延等信息。
54.此外,第二数据包信息包括:边缘计算节点从边缘传输节点接收的数据包对的对数、边缘计算节点从多个边缘传输节点接收的成对传输数据包的编号信息、边缘计算节点从多个边缘传输节点接收的数据包对的总数据长度以及边缘计算节点接收对数的数据包对的接收时间长度。
55.然后,边缘计算节点确定下行传输带宽的过程中,首先,边缘计算节点确定在预定时间段内接收到的数据包的第二数据包信息,例如接收到数据包的时间戳,每个数据包的网络传输大小(包括数据报协议udp头长度和ip头长度,不包括网络层以下的其他层头长度)。其中预定时间段可以是300ms或者是积累了足够多的数据的情况下计算一次传输带宽。
56.其中总数据长度为边缘计算节点接收的数据包的总的传输大小,例如,size(pi)代表每对数据包的传输大小,那么数据量即为接收时间长度可以是每对数据包接收的时间间隔长度的总和,例如,time(pi)代表每对数据包的时间间隔长度,
代表接收时间长度。
57.从而通过上述方式,实现了边缘计算节点通过接收的数据包的第二数据包信息,确定其下行传输带宽。
58.可选地,多个边缘传输节点在预定时间段内确定的多个边缘计算节点的上行质量数据的操作,包括:根据多个边缘传输节点在预定时间段内从多个边缘计算节点接收的数据包的相关信息,确定第二数据包信息;根据第二数据包信息,确定上行质量数据,其中上行质量数据包括:多个边缘计算节点向多个边缘传输节点传输数据的上行丢包率以及上行传输带宽。
59.具体地,参考图2所示,例如多个边缘传输节点确定对应的边缘计算节点的上行质量数据的过程中,首先,多个边缘传输节点确定在预定时间段内接收到的数据包的第二数据包信息,例如接收到数据包的时间戳,每个数据包的网络传输大小(包括数据报协议udp头长度和ip头长度,不包括网络层以下的其他层头长度)。其中预定时间段可以是300ms或者是积累了足够多的数据的情况下计算一次传输带宽。
60.然后,多个边缘传输节点可以根据接收的第二数据包信息,确定对应的边缘计算节点的上行质量数据。其中上行丢包率以及上行传输带宽参考上文所述的确定过程,此处不再赘述。
61.从而通过上述方式确定边缘计算节点相对于边缘传输节点的上行质量数据。
62.可选地,将多个质量评估数据信息填充在待发送至多个边缘计算节点的待传输数据中的操作,包括:将多个边缘计算节点对应的多个质量评估数据信息放入预先设置的队列中;以及从队列中取第二预设数量的质量评估数据信息填充至待传输数据,确定传输数据。
63.具体地,边缘计算节点可以在预定时间段内确定多个质量评估数据信息,从而边缘计算节点可以将质量评估数据信息存放在预先设置的队列中,然后取时间戳最新的质量评估数据信息进行发送。其中队列类型可以是堆,后进先出的顺序取出质量评估数据信息。并且,由于时间久的质量评估数据信息的指导意义不大,因此在质量评估数据信息时间过久的情况下,进行丢弃。从而通过上述方式,保证边缘计算节点同步的质量评估数据信息具有指示意义。
64.可选地,将多个质量评估数据信息填充在待发送至多个边缘计算节点的待传输数据中,发送至多个边缘计算节点的操作,包括:对传输数据进行信道编码,生成多个传输数据包;以及将多个传输数据包发送至多个边缘计算节点。
65.具体地,边缘计算节点在对传输数据进行信道编码的过程中,需要对待传输数据进行分组,但是分组编码后的各个部分数据长度不一致。因此为了保证各个部分数据的长度一致,将质量评估数据信息填充在各个部分数据中,进而保证各个部分数据的长度一致。然后填充质量评估数据信息的传输数据作为整体进入到喷泉码进行信道编码。从而通过信道编码对传输数据进行编码,保证数据不错乱、不丢失,极大的提升信道带宽利用率。
66.可选地,该方法还包括:根据多个质量评估数据信息,确定多个边缘计算节点对应的多个指标信息;以及根据多个指标信息,确定多个边缘传输节点的数据流量分配。
67.具体地,参考图2所示,假设有n个ecu(边缘计算节点)要交换数据,n个ecu协商了m
个eru进行数据传输。极限情况下,n个参与方都需要向其他n

1方发送数据,同时从其他n

1放接收数据。从参与方来看就有n*(n

1)*2个逻辑传输通道(边缘传输节点)。同时,这些传输通道里的每一个通道,实际上是使用了所有m个eru传输的,所以实际上会有n*(n

1)*2*m个通道的传输质量需要进行监测。然后每个通道我们可能有p项指标来衡量其质量。
68.进一步地,当边缘计算节点收到其他边缘计算节点的质量评估数据的情况下,可以根据其他方边缘计算节点的质量评估数据确定其他边缘计算节点的数据流量的分配,从而为后期数据的传输提供参考信息。并且边缘计算节点可以根据这些结果可以得到n*(n

1)*2*m*p项指标的任意一项的结果。从而通过上述方式,该数据传输协议下的任意一个边缘计算节点都可以得到其他方边缘计算节点的指标信息。
69.可选地,该方法还包括:在多个边缘计算节点在预定时间段内没有需要传输的待传输数据的情况下,将第三预设数量的多个质量评估数据信息通过多个边缘传输节点传输至多个边缘计算节点。
70.具体地,例如在某个ecu(边缘计算节点)静音后,ecu将以指数级回退((exponential backoff))的间隔向外发静音的音频包,但是最长不能超过2s需要发一次。这样可以保证这个ecu的评估数据最长2秒后仍然能同步给其他ecu。从而通过上述方式,当其中一方边缘计算节点没有需要传输的数据的情况下,仍然可以将自己的质量评估数据信息同步给其他的边缘计算节点,进而其他方边缘计算节点仍然可以得到该边缘计算节点的指标信息。
71.此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质。所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
72.从而本技术通过多路径实现多端数据传输,保证了数据传输的低时延、高稳定以及高质量。并且通过分别确定多个边缘计算节点的上行质量数据以及下行质量数据,进而确定多个边缘计算节点的质量评估数据信息。并且将边缘计算节点的质量评估数据信息填充在待传输数据进行发送,保证了数据信息的安全性以及正确传输。进而解决了现有技术中存在的如何使用udp构建应用层协议来保证数据传输的低时延、高稳定以及高质量,以及如何确定该协议下的数据信息的同步的技术问题。
73.此外,在本技术提出的多路径传输数据协议下,因为总的子通道(边缘传输节点)数量过多,所以本技术对情况进行规约,分为m*n个物理通道(即直接连接的ecu和eru之间)来进行统计和分析。其余的通道质量可以通过这些通道的数据间接计算估计。
74.参考图2所示:比如ecu a

>eru r1

>ecu b通道,可以通过a

>r1的质量数据,以及r1

>b的质量数据计算得出。(其中,网络传输时延可以认为是两段之和。网络传输带宽可以认为是两段中最小的部分。定义不丢包率=1

丢包率。则两段的总体不丢包率为两段的不丢包率的乘积。)
75.1.eru在转发包给ecu时,每隔固定时间会额外附上eru对此eru和此ecu的路径的质量评估数据。
76.2.ecu本身在接收数据时,会不断的计算各个eru到ecu的下行的质量数据。1;和2;的数据指标计算方法本身会在本专利组其他专利中描述。
77.3.ecu把自己的评估结果和从eru收到的对自己的评估结果汇总到一个不断更新的待发送队列中。队列按指标计算对应的时间戳,从新到旧排列。过老的评估结果(比如10
秒前的)会被抛弃。队列超过一定长度,则会抛弃最旧的部分。
78.4.ecu在发送自己的音频数据)(不限于发送音频数据)时,是分组发送的,一次发送的各组音频数据长度需要对齐。实际编码后的音频长度是不一致的,剩下的部分ecu就从评估队列中从新到旧取出一部分进行填充。在发送的编码后音频数据较少时,或者评估结果队列较长时,还可以额外填充更多的评估数据。评估数据和音频数据将一起被当做整体进入喷泉码算法进行信道编码。
79.5.评估数据和音频数据整体将按照标准的nasmt传输方式,由ecu经过eru发送给所有其他ecu。
80.6.因此ecu最终会通过音频数据包解开所有其他ecu的评估数据。
81.7.所有ecu可以得到所有ecu的评估结果,经过一致的nasmt算法,根据结果可以计算出其他ecu的流量分配。同时根据这些结果可以得到n*(n

1)*2*m*p项指标的任意一项的结果。
82.8.静音优化:在某个ecu静音后,ecu将指数级回退的间隔向外发静音的音频包,但是最长不能超过2s需要发一次。这样可以保证这个ecu的评估数据最长2秒后仍然能同步给其他ecu。
83.总上,本技术的技术效果如下:1.实时计算。每隔一个较短的时间间隔(比如300ms),eru就会计算一次新上行评估数据给ecu,ecu也会计算一次自己的下行评估数据。2.不断发送:无论做什么事情,总是集中的效率更高。但是在要发送的音频,视频,流控数据(即数据信息)总大小一定的情况下,由于音视频传输会要发送很多小的音频数据,所以流控数据反而要分散到音频数据上发送,让每个音频包的数据量大一点,反而导致整体效率上升。例如流控数据就是我们凑单购买的商品。流控数据本身是有时效性的,流控数据本身集中在一起发送反而导致了它自身的不及时。3.流控数据和音频数据打包发送。这有两个优势:首先,整体进入喷泉码做信道编码,使得流控数据不会被错误传输,丢失的概率也会极大的降低。如果有必要,也可以做到完全不丢失。这样能保证流控数据也有很高的传输效率和很高的时效性。另外,整体进入信道编码,意味着流控数据可以做到跟音频数据一样的安全等级。这样会以后安全地进行精细化控制和优化留下了可能。(比如,只关心哪一方的声音,只关注或放大了某个区域的画面)。
84.此外,本技术中提及的数据指标包括传输带宽以及传输时延等:
85.传输带宽的确定流程:1.对于一个待发送的应用层数据(音频、视频,或者自定义数据),按照nasmt(传输技术)的步骤进行信道编码,生成多个数据包。然后按照nasmt规定的步骤确定每个eru的分配比例。然后确定每个数据包使用的eru。
86.2.给eru发的数据包,需要两个一对一起发送。即,第一个发向eru rx的数据包,需要等到下一个发向eru rx的数据包,然后一起发送。一起发送的数据包共享相同的一个t_seq序列号,以及发送时间戳。然后下一对t_seq+1。同理,eru发向ecu b的数据包,也要求一对一对的发送,每一对使用相同的时间戳,同时标上eru的id以区分是哪个eru发送的。
87.3.ecu b和eru收集自己收到每一个数据包时的时间戳、每个数据包的网络传输大小(包括udp头长度和ip头长度,不包括网络层以下的其他层头长度)。每300ms或者积累了足够多数据时计算一次传输带宽。
88.4.ecu b计算自己的下行带宽(从eru接收数据的带宽)
89.4.1.根据t_seq和eru id进行配对。如果配对成功率太少,认为数据不可靠,使用上次带宽估计的值;
90.4.2.对每个eru id,得到此次计算周期的最大t_seq和最小t_seq;
91.4.3.按每对数据计算每对数据的传输大小(两个相加)size(pi)和接收时间间隔(接收时间戳之差)time(pi);
92.4.4.根据接收时间间隔的平均值,剔除时间间隔异常长的数据。对每个eru id,如果最大t_seq或最小t_seq属于异常数据,相应最大t_seq减1,最小t_seq加1;
93.4.5.初步带宽估计为
94.4.6.eru总下行丢包率为注意这里不是loss(i)的平均值;
95.4.7.有效下行传输带宽为band_eff=band_raw*(1

p(loss));
96.4.8.做一次快速高通滤波,例如最简单的为:
97.当band_eff>上次band_down时:band_down(b)=(4*上次band_down+band_eff)/5;
98.否则band_down(b)=(2*上次band_down+band_eff)/3。
99.5;eru分别计算ecu a的上行的记为sum_size和记为sum_time,以及对应的丢包率。
100.6;ecu a收到一段时间内的所有eru的反馈,计算自己的上行带宽:
101.计算
102.计算有效上行带宽为band_eff=band_raw*(1

p(loss));
103.做一次高通滤波得到最终的band_up(a)。
104.7;band(a

>b)=min(band_up(a),band_down(b))。
105.传输时延的确定流程如下:
106.1.nasmt(传输技术)要求ecu发送所有数据都要带上发送时ecu的本地时间戳,记为t1。
107.2.每隔固定时间,erua在转发数据给ecu b时,会带上最后从ecu a收到的时间戳,以及收到此时间戳到转发此数据经过的时间差(记为d1)。注意,此步骤中转发的数据跟步骤1里收到时间戳的数据完全无关。
108.3.ecu a收到eru r1转发回的t1和d1时,记下收到的时间戳t2。则ecu a与eru r1之间的rtt可以计算为rtt(a

r1)=t2

t1

d1。
109.4.同理ecu a可以计算出它与所有eru之间的rtt。将此值同步给其他ecu。同理ecu a也会收到其他ecu计算的rtt。
110.5.如4描述,ecu b也会计算ecu b和所有eru之间的rtt。那么经过eru rx的ecu a到ecu b的rtt可以定义为rttx=rtt(a

>x)+rtt(x

>b)。
111.6.假设a目前发送数据给b时,分配给eru r1,r2,

rn的数据流量占比分别为w1,
w2,

wn,且。且最大的三个wi记为wx,wy,wz。则信令的rtt定义为:rtt1(a

>b)=(wx*rttx+wy*rtty+wz*rttz)/(wx+wy+wz)。数据传输的rtt定义为:因为使用rtt一般在信令处理上,所以通常意义的rtt即rtt1。
112.此外,多个边缘传输节点的流量分配算法如下:
113.根据上述流控信息更新里得到的自己对eru,以及其他人对eru的打分,综合评定relay的优先级打分,从0到100。100为最好,0为最差。对于普通数据流量,在按两个一组的转发中,以当时的评分为权重随机挑选出一个eru作为转发目的。即对于erui,设其评分为pi,则挑选eru的概率为:
114.对于音频流量和视频关键帧,在按两个一组的转发中,在评分最高的3个eru中,再按评分为权重随机挑选出一个eru作为转发目的。对于上述数据包,挑选出目的eru并发送后,会再评估其包大小是否满足当前的小包条件。此条件根据当前可用带宽会有所不同。若满足小包条件,则会再试图寻找在1秒内没有被当前ecu转发任何流量的一个eru。若有,则把上述包也转发给这个eru。这样可以保证每个eru都能正确的被评估相关数据。对于nack包,转发到全部的eru。eru会根据自己的内存使用量缓存每个用户的最近约200k的可能需要nack的包。若eru发现自己有nack指定的需要的包,则直接发给nack请求者。若没有才进行进一步转发。
115.此外,本技术中数据传输使用信道编码算法如下:
116.首先计算出合适的参数,主要包括编码后的一个载荷大小,以及修复数量。编码后一个载荷的大小:根据一帧数据大小决定,最大不超过1024个字节,最小至少把原帧分成两份。修复数量:根据链路平均丢包率进行一定上浮决定,并向上取整(例如丢包率为20%,编码后有100个原始载荷,那么修复载荷为20个。一定上浮就多补2~3个)。使用喷泉码对上层发送帧进行编码。并缓存至一个队列。在有nack来时从队列里取出对应的帧和编码结果,根据nack信息选择发送编码结果的某些部分,或者生成新的修复包并发送。
117.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
118.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
119.实施例2
120.图4示出了根据本实施例所述的数据信息的同步装置400,该装置400与根据实施例1的第一个方面所述的方法相对应。参考图4所示,该装置400包括:第一确定模块410,用于根据多个边缘计算节点在预定时间段内从多个边缘传输节点接收的数据包的相关信息,
确定多个边缘计算节点相对于对应的边缘传输节点的下行质量数据;第二确定模块420,用于根据多个边缘传输节点在预定时间段内确定的多个边缘计算节点的上行质量数据以及下行质量数据,确定多个边缘计算节点的多个质量评估数据信息;以及发送模块430,用于将第一预设数量的多个质量评估数据信息填充在待发送至多个边缘计算节点的待传输数据中,发送至多个边缘计算节点。
121.可选地,多个边缘计算节点按照成对数据包的方式进行数据传输,并且第一确定模块410,包括:第一确定子模块,用于根据多个边缘计算节点在预定时间段内从多个边缘传输节点接收的数据包的相关信息,确定第一数据包信息;以及第二确定子模块,用于根据第一数据包信息,确定下行质量数据,其中下行质量数据包括:多个边缘计算节点与对应的边缘传输节点的下行丢包率以及下行传输带宽。
122.可选地,多个边缘传输节点在预定时间段内确定的多个边缘计算节点的上行质量数据的操作,包括:第三确定子模块,用于根据多个边缘传输节点在预定时间段内从多个边缘计算节点接收的数据包的相关信息,确定第二数据包信息;以及第四确定子模块,用于根据第二数据包信息,确定上行质量数据,其中上行质量数据包括:多个边缘计算节点向多个边缘传输节点传输数据的上行丢包率以及上行传输带宽。
123.可选地,将多个质量评估数据信息填充在待发送至多个边缘计算节点的待传输数据中的操作,包括:放入子模块,用于将多个边缘计算节点对应的多个质量评估数据信息放入预先设置的队列中;以及第五确定子模块,用于从队列中取第二预设数量的质量评估数据信息填充至待传输数据,确定传输数据。
124.可选地,发送模块430的操作,包括:生成子模块,用于对传输数据进行信道编码,生成多个传输数据包;以及发送子模块,用于将多个传输数据包发送至多个边缘计算节点。
125.可选地,装置400还包括:第三确定模块,用于根据多个质量评估数据信息,确定多个边缘计算节点对应的多个指标信息;以及第四确定模块,用于根据多个指标信息,确定多个边缘传输节点的数据流量分配。
126.可选地,装置400还包括:传输模块,用于在多个边缘计算节点在预定时间段内没有需要传输的待传输数据的情况下,将第三预设数量的多个质量评估数据信息通过多个边缘传输节点传输至多个边缘计算节点。
127.从而本技术通过多路径实现多端数据传输,保证了数据传输的低时延、高稳定以及高质量。并且通过分别确定多个边缘计算节点的上行质量数据以及下行质量数据,进而确定多个边缘计算节点的质量评估数据信息。并且将边缘计算节点的质量评估数据信息填充在待传输数据进行发送,保证了数据信息的安全性以及正确传输。进而解决了现有技术中存在的如何使用udp构建应用层协议来保证数据传输的低时延、高稳定以及高质量,以及如何确定该协议下的数据信息的同步的技术问题。
128.实施例3
129.图5示出了根据本实施例所述的数据信息的同步装置500,该装置500与根据实施例1的第一个方面所述的方法相对应。参考图5所示,该装置500包括:处理器510;以及存储器520,与处理器510连接,用于为处理器510提供处理以下处理步骤的指令:根据多个边缘计算节点在预定时间段内从多个边缘传输节点接收的数据包的相关信息,确定多个边缘计算节点相对于对应的边缘传输节点的下行质量数据;根据多个边缘传输节点在预定时间段
内确定的多个边缘计算节点的上行质量数据以及下行质量数据,确定多个边缘计算节点的多个质量评估数据信息;以及将第一预设数量的多个质量评估数据信息填充在待发送至多个边缘计算节点的待传输数据中,发送至多个边缘计算节点。
130.可选地,多个边缘计算节点按照成对数据包的方式进行数据传输,并且根据多个边缘计算节点在预定时间段内从多个边缘传输节点接收的数据包的相关信息,确定多个边缘计算节点相对于对应的边缘传输节点的下行质量数据的操作,包括:根据多个边缘计算节点在预定时间段内从多个边缘传输节点接收的数据包的相关信息,确定第一数据包信息;以及根据第一数据包信息,确定下行质量数据,其中下行质量数据包括:多个边缘计算节点与对应的边缘传输节点的下行丢包率以及下行传输带宽。
131.可选地,多个边缘传输节点在预定时间段内确定的多个边缘计算节点的上行质量数据的操作,包括:根据多个边缘传输节点在预定时间段内从多个边缘计算节点接收的数据包的相关信息,确定第二数据包信息;根据第二数据包信息,确定上行质量数据,其中上行质量数据包括:多个边缘计算节点向多个边缘传输节点传输数据的上行丢包率以及上行传输带宽。
132.可选地,将多个质量评估数据信息填充在待发送至多个边缘计算节点的待传输数据中的操作,包括:将多个边缘计算节点对应的多个质量评估数据信息放入预先设置的队列中;以及从队列中取第二预设数量的质量评估数据信息填充至待传输数据,确定传输数据。
133.可选地,将多个质量评估数据信息填充在待发送至多个边缘计算节点的待传输数据中,发送至多个边缘计算节点的操作,包括:对传输数据进行信道编码,生成多个传输数据包;以及将多个传输数据包发送至多个边缘计算节点。
134.可选地,存储器520还用于为处理器510提供处理以下处理步骤的指令:根据多个质量评估数据信息,确定多个边缘计算节点对应的多个指标信息;以及根据多个指标信息,确定多个边缘传输节点的数据流量分配。
135.可选地,存储器520还用于为处理器510提供处理以下处理步骤的指令:在多个边缘计算节点在预定时间段内没有需要传输的待传输数据的情况下,将第三预设数量的多个质量评估数据信息通过多个边缘传输节点传输至多个边缘计算节点。
136.从而本技术通过多路径实现多端数据传输,保证了数据传输的低时延、高稳定以及高质量。并且通过分别确定多个边缘计算节点的上行质量数据以及下行质量数据,进而确定多个边缘计算节点的质量评估数据信息。并且将边缘计算节点的质量评估数据信息填充在待传输数据进行发送,保证了数据信息的安全性以及正确传输。进而解决了现有技术中存在的如何使用udp构建应用层协议来保证数据传输的低时延、高稳定以及高质量,以及如何确定该协议下的数据信息的同步的技术问题。
137.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
138.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
139.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或
者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
140.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
141.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
142.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
143.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1