CN114978437B - 一种数据补偿系统、方法、电子设备及存储介质 - Google Patents
一种数据补偿系统、方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114978437B CN114978437B CN202210874472.4A CN202210874472A CN114978437B CN 114978437 B CN114978437 B CN 114978437B CN 202210874472 A CN202210874472 A CN 202210874472A CN 114978437 B CN114978437 B CN 114978437B
- Authority
- CN
- China
- Prior art keywords
- data
- compensation
- server
- target request
- receiving
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004891 communication Methods 0.000 claims abstract description 32
- 230000003993 interaction Effects 0.000 claims description 26
- 230000005540 biological transmission Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 14
- 239000000284 extract Substances 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 6
- 230000006798 recombination Effects 0.000 claims description 6
- 238000005215 recombination Methods 0.000 claims description 6
- 230000011664 signaling Effects 0.000 claims description 6
- 239000000126 substance Substances 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
- H04L1/1819—Hybrid protocols; Hybrid automatic repeat request [HARQ] with retransmission of additional or different redundancy
-
- 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/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/1607—Details of the supervisory signal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种数据补偿系统、方法、电子设备及存储介质,包括:数据接收端、服务端以及数据补偿端,数据接收端分别与服务端以及数据补偿端通信连接;服务端与数据补偿端之间通过专网通信连接;数据接收端用于向服务端发送数据获取请求;服务端用于接收数据接收端发送的数据获取请求;根据数据获取请求确定对应的目标请求数据,并将目标请求数据拷贝至数据补偿端;向数据接收端发送目标请求数据;数据补偿端用于接收服务端拷贝的目标请求数据;通过与服务端不同的网络环境,向数据接收端发送目标请求数据;数据接收端还用于确定从服务端与数据补偿端接收到的实际接收数据,在实际接收数据中,提取出目标请求数据。可以提升数据补偿效果。
Description
技术领域
本公开涉及数据传输技术领域,具体而言,涉及一种数据补偿系统、方法、电子设备及存储介质。
背景技术
随着移动互联网的普及,实时语音通讯应用已经成为了人们流行的沟通方式,但因网络状况及相关因素的影响,实时语音通讯的丢包问题在所难免,与视频不同,语音丢包处理不佳,会让通话双方体验非常糟糕。
目前,丢包补偿技术可以分为两类:基于发送端的补偿和基于接收端的补偿。基于发送端补偿包括前向差错纠正、交织和重传技术;基于接受端补偿包括了多种错误隐蔽算法。但是,其仍存在数据补偿效果较差的问题。
发明内容
本公开实施例至少提供一种数据补偿系统、方法、电子设备及存储介质,可以提升数据补偿效果。
本公开实施例提供了一种数据补偿系统,所述数据补偿系统包括:数据接收端、服务端以及数据补偿端,其中:
所述数据接收端分别与所述服务端以及所述数据补偿端通信连接;所述服务端与所述数据补偿端之间通过专网通信连接;
所述数据接收端,用于向所述服务端发送数据获取请求;
所述服务端,用于接收所述数据接收端发送的数据获取请求;根据所述数据获取请求确定对应的目标请求数据,并将所述目标请求数据拷贝至所述数据补偿端;向所述数据接收端发送所述目标请求数据;
所述数据补偿端,用于接收所述服务端拷贝的所述目标请求数据;通过与所述服务端不同的网络环境,向所述数据接收端发送所述目标请求数据;
所述数据接收端,还用于确定从所述服务端与所述数据补偿端接收到的实际接收数据,在所述实际接收数据中,提取出所述目标请求数据。
一种可选的实施方式中,所述实际接收数据包括,分别由所述服务端与所述数据补偿端发送的所述目标请求数据,经不同的网络环境损耗后,实际到达所述数据接收端的数据。
一种可选的实施方式中,所述目标请求数据中包括按照预设排列顺序依次排列的多个数据包;所述服务端与所述数据补偿端均采用流式传输方式向所述数据接收端发送所述目标请求数据,所述数据接收端包括数据交互模块、数据缓存模块以及数据重组模块;其中:
所述数据交互模块、所述数据缓存模块以及所述数据重组模块依次通信连接;所述数据交互模块分别与所述服务端以及所述数据补偿端通信连接;
所述数据交互模块,用于向所述服务端发送所述数据获取请求;时序接收实际到达所述数据接收端的所述数据包;针对每个所述数据包,解析该数据包对应的序列编号,并确定所述数据缓存模块中是否缓存有该序列编号;若存在,则删除该数据包;若不存在,则将该数据包及对应的所述序列编号发送至所述数据缓存模块进行缓存;
所述数据重组模块,用于在所述数据缓存模块中提取全部所述数据包及对应的所述序列编号;根据所述序列编号及所述预设排列顺序,重组全部所述数据包,以还原出所述目标请求数据。
一种可选的实施方式中,所述数据补偿系统中包括多个所述数据补偿端,所述服务端具体用于:
针对每个所述数据补偿端,确定从该数据补偿端发送所述目标请求数据的网络路径延迟;
分别将每个所述网络路径延迟与预设的延迟阈值比较,选取所述网络路径延迟小于所述延迟阈值的所述数据补偿端作为目标补偿端;
仅将所述目标请求数据拷贝至每个所述目标补偿端。
一种可选的实施方式中,所述数据接收端还用于:
在预设的数据接收时限内,从所述服务端与所述数据补偿端持续接收所述实际接收数据;
在所述数据接收时限之外,停止从所述服务端与所述数据补偿端接收所述实际接收数据。
一种可选的实施方式中,所述数据获取请求为预设的数据交互信令。
一种可选的实施方式中,所述服务端还用于:
根据所述数据获取请求,确定所述数据接收端对应的数据接收地址;
在将所述目标请求数据拷贝至所述数据补偿端的过程中,向所述数据补偿端发送所述数据接收地址。
本公开实施例还提供一种数据补偿方法,应用于如上述公开实施中任一所述的数据补偿系统中的所述数据接收端,所述数据补偿系统还包括所述服务端以及所述数据补偿端,所述方法包括:
向所述服务端发送所述数据获取请求;
确定从所述服务端与所述数据补偿端接收到的实际接收数据,其中,从所述数据补偿端接收到的所述实际接收数据,为所述服务端将所述目标请求数据通过专网拷贝至所述数据补偿端,由所述数据补偿端发送并由所述数据接收端实际接收到的数据;
在所述实际接收数据中,提取出所述目标请求数据。
本公开实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述数据补偿方法,或上述数据补偿方法中任一种可能的实施方式中的步骤。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述数据补偿方法,或数据补偿方法中任一种可能的实施方式中的步骤。
本公开实施例还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序、指令被处理器执行时实现上述数据补偿方法,或上述数据补偿方法中任一种可能的实施方式中的步骤。
本公开实施例提供的一种数据补偿系统、方法、电子设备及存储介质,包括:数据接收端、服务端以及数据补偿端,其中,所述数据接收端分别与所述服务端以及所述数据补偿端通信连接;所述服务端与所述数据补偿端之间通过专网通信连接;所述数据接收端,用于向所述服务端发送所述数据获取请求;所述服务端,用于接收所述数据接收端发送的数据获取请求;根据所述数据获取请求确定对应的目标请求数据,并将所述目标请求数据拷贝至所述数据补偿端;向所述数据接收端发送所述目标请求数据;所述数据补偿端,用于接收所述服务端拷贝的所述目标请求数据;通过与所述服务端不同的网络环境,向所述数据接收端发送所述目标请求数据;所述数据接收端,还用于确定从所述服务端与所述数据补偿端接收到的实际接收数据,在所述实际接收数据中,提取出所述目标请求数据。可以提升数据补偿效果。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种数据补偿系统的结构示意图;
图2示出了本公开实施例所提供的另一种数据补偿系统的结构示意图;
图3示出了本公开实施例所提供的一种数据补偿方法的流程图;
图4示出了本公开实施例所提供的一种电子设备的示意图。
图示说明:
100-数据补偿系统;110-数据接收端;120-服务端;130-数据补偿端;111-数据交互模块;112-数据缓存模块;113-数据重组模块;400-电子设备;41-处理器;42-存储器;43-总线;421-内存;422-外部存储器。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,目前,丢包补偿技术可以分为两类:基于发送端的补偿和基于接收端的补偿。基于发送端补偿包括前向差错纠正、交织和重传技术;基于接受端补偿包括了多种错误隐蔽算法。但是,其仍存在数据补偿效果较差的问题。
基于上述研究,本公开提供了一种数据补偿系统、方法、电子设备及存储介质,包括:数据接收端、服务端以及数据补偿端,其中,所述数据接收端分别与所述服务端以及所述数据补偿端通信连接;所述服务端与所述数据补偿端之间通过专网通信连接;所述数据接收端,用于向所述服务端发送所述数据获取请求;所述服务端,用于接收所述数据接收端发送的数据获取请求;根据所述数据获取请求确定对应的目标请求数据,并将所述目标请求数据拷贝至所述数据补偿端;向所述数据接收端发送所述目标请求数据;所述数据补偿端,用于接收所述服务端拷贝的所述目标请求数据;通过与所述服务端不同的网络环境,向所述数据接收端发送所述目标请求数据;所述数据接收端,还用于确定从所述服务端与所述数据补偿端接收到的实际接收数据,在所述实际接收数据中,提取出所述目标请求数据。可以提升数据补偿效果。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种数据补偿系统进行详细介绍,参见图1所示,为本公开实施例提供的一种数据补偿系统100的结构示意图。
如图1中所示,数据补偿系统100包括:数据接收端110、服务端120以及数据补偿端130。其中,数据接收端110分别与服务端120以及数据补偿端130通信连接;服务端120与数据补偿端130之间通过专网通信连接。
在具体实施中,数据接收端110用于向服务端120发送数据获取请求;服务端120用于接收数据接收端110发送的数据获取请求;根据数据获取请求确定对应的目标请求数据,并将目标请求数据拷贝至数据补偿端130;向数据接收端110发送目标请求数据;数据补偿端130用于接收服务端120拷贝的目标请求数据;通过与服务端120不同的网络环境,向数据接收端110发送目标请求数据;在向服务端120发送数据获取请求之后,数据接收端110还用于确定从服务端120与数据补偿端130接收到的实际接收数据,在实际接收数据中,提取出目标请求数据。
需要说明的是,实际接收数据包括,分别由服务端120与数据补偿端130发送的目标请求数据,经不同的网络环境损耗后,实际到达数据接收端110的数据。
这里,数据接收端110向服务端120发送的数据获取请求可以为预设的数据交互信令,即,在数据接收端110向服务端120请求数据时,数据接收端110与服务端120之间的通讯方式可以采用信令交互的方式,来协商数据的发送地址、身份验证、需要发送的目标请求数据以及数据发送方式等内容。
可选的,数据交互信令可以选用会话初始协议(Session initializationProtocol,SIP)或者网页即时通信(Web Real-Time Communication,WebRTC)协议等,可以根据实际需要进行选择,在此不做具体限制。
进一步的,当数据接收端110与服务端120之间请求交互协商完成后,由服务端120根据数据获取请求,解析出数据接收端110所需求的目标请求数据,之后需要进行两个方面的处理,一方面,将目标请求数据按照根据数据获取请求协商好的数据发送地址以及数据发送方式等内容,向数据接收端110发送目标请求数据;另一方面,将目标请求数据进行拷贝,将拷贝后的目标请求数据,通过专网发送给数据补偿端130。
其中,服务端120发送给数据接收端110的目标请求数据,与拷贝给数据补偿端130的数据相同。
需要强调的是,服务端120与数据补偿端130之间通信连接的方式采用专网通信,专网是可以提供安全可靠的无线服务的专业网络,其基础网络一般与公众蜂窝移动通信网络独立,因此,在服务端120与数据补偿端130之间采用专网进行通信连接,可以忽略服务端120与数据补偿端130之间的因网络损耗等原因导致的数据丢包情况,即,服务端120拷贝的目标请求数据可以完整地传输至数据补偿端130。
进一步的,数据补偿端130在接收到服务端120拷贝的目标请求数据之后,与服务端120相同,也向数据接收端110发送目标请求数据,但是,需要强调的是,数据补偿端130向数据接收端110发送数据的网络环境与服务端120向数据接收端110发送数据的网络环境不同,由于数据传输过程丢包的根本原因主要是网络环境损耗,因此,本申请采用多发送源,即,服务端120与数据补偿端130,通过不同的网络环境,同时向数据接收端110发送相同的目标请求数据,这样,在不同网络环境下的传输数据的丢包情况不尽相同,进而数据接收端110实际接收到的由服务端120与数据补偿端130发送的目标请求数据的完整情况也不进行同,由此数据接收端110可以在实际接收到的数据中,提取重组出向服务端120请求的目标请求数据。
可选的,数据补偿端130与服务端120向数据接收端110发送数据的数据传输协议可以不同,具体的数据传输协议可以根据实际需要进行选择,在此不做具体限制。
作为一种可能的实施方式,数据补偿系统100中包括多个数据补偿端130,服务端120具体用于,针对每个数据补偿端130,确定从该数据补偿端130发送目标请求数据的网络路径延迟;分别将每个网络路径延迟与预设的延迟阈值比较,选取网络路径延迟小于延迟阈值的数据补偿端130作为目标补偿端;仅将目标请求数据拷贝至每个目标补偿端。
在实际应用中,数据补偿系统100中可以设置有多个数据补偿端130同时向数据接收端110发送目标请求数据,但是,实际工作的数据补偿端130的数量过多的话,既占用服务端120的资源,又会使数据接收端110接收到的数据量过多,因此,需要针对数据补偿端130实际工作的数量进行限制。
需要说明的是,预设的延迟阈值可以根据实际需要进行选择,在此不做具体限制。
具体的,可以分别获取每个数据补偿端130向数据接收端110 发送数据的网络路径延迟,并将其与预设的延迟阈值进行比较,仅保留网络路径延迟小于延迟阈值的数据补偿端130工作向数据接收端110发送目标请求数据。示例性的,数据补偿系统100中可以设置有3个数据补偿端130,其中,第一个数据补偿端130向数据接收端110发送目标请求数据的网络路径延迟为50ms、第二个数据补偿端130向数据接收端110发送目标请求数据的网络路径延迟为40ms、第三个数据补偿端130向数据接收端110发送目标请求数据的网络路径延迟为60ms,由于服务端120与数据补偿端130之间采用专网连接,因此,服务端120与每个数据补偿端130之间的网络路径延迟可以忽略不计,或者具有较小的网络路径延迟,如10ms,且每个数据补偿端130与服务端120之间的网络延迟相同。由此可知,以第一个数据补偿端130作为数据补偿传输路径的路径总延迟为50+10=60ms;以第二个数据补偿端130作为数据补偿传输路径的路径总延迟为40+10=50ms;以第三个数据补偿端130作为数据补偿传输路径的路径总延迟为60+10=70ms。若预设的延迟阈值为65ms,则在三个数据补偿端130中仅保留第一个数据补偿端130以及第二个数据补偿端130工作,即服务端120仅向第一个数据补偿端130以及第二个数据补偿端130拷贝目标请求数据,停止向第三个数据补偿端130拷贝目标请求数据。
进一步的,服务端120还用于根据数据获取请求,确定数据接收端110对应的数据接收地址;在将目标请求数据拷贝至数据补偿端130的过程中,向数据补偿端130发送数据接收地址,以便于数据补偿端130根据该数据发送地址向数据接收端110发送目标请求数据。
进一步的,数据接收端110在向服务端120发送数据获取请求之后,即可开始准备接收从服务端120以及数据补偿端130发送的目标请求数据,但是由于数据接收端110与服务端120以及数据补偿端130之间均存在网络环境损耗,因此实际到达数据接收端110的实际接收数据是不完整的,即存在丢包现象,例如,数据接收端110请求接收的实时视频数据由1-6号数据包构成,但是由于网络环境损耗,数据接收端110实际从服务端120接收到的数据仅有1、2、5、6号数据包,而实际从数据补偿端130接收到的数据包括了1、3、4、5号数据包,因此,数据接收端实际接收到的实际接收数据包括:从服务端120接收到的1、2、5、6号数据包以及从数据补偿端130接收到的1、3、4、5号数据包,进而数据接收端可以在实际接收数据中提取出1-6号数据包还原出目标请求数据。
需要说明的是,由于网络传输延迟的存在,服务端120与数据补偿端130向数据接收端110发送数据时,数据接收端110实际接收到每个数据包之间存在时间延迟,数据接收端110在提取出目标请求数据的过程中采用先到先用的原则,即,若数据接收端110既从服务端120接收到1号数据包,又从数据补偿端接收到了1号数据包,此时保留先到达数据接收端110的从服务端120接收到1号数据包。
这里,数据接收端110在提取出构成目标请求数据的数据包之后,需要按照目标请求数据对应的数据包排列方式进行重组,最终得到目标请求数据。
在具体实施中,若目标请求数据为实时传输数据,如实时视频、实时图片等数据时,数据接收端110接收数据的等待时间不能过长,若数据接收端110接收数据的等待时间过长则会破坏数据传输的实时性,因此,作为一种可能的实施方式,数据接收端110还用于,在预设的数据接收时限内,从服务端120与数据补偿端130持续接收实际接收数据;在数据接收时限之外,停止从服务端120与数据补偿端130接收实际接收数据。
需要说明的是,预设的数据接收时限可以根据实际需要进行选择,在此不做具体限制。
作为一种可能的实施方式,在数据接收时限之外,若数据接收端110仍然无法还原出目标请求数据,则将当前已还原的数据相对于目标请求数据之间的数据完整度,与预设的完整度阈值进行比较,若数据完整度大于完整度阈值,则仍然停止从服务端120与数据补偿端130接收实际接收数据;若数据完整度小于完整度阈值,则延长预设的数据延长接收时限,在经过数据延长接收时限之后,停止从服务端120与数据补偿端130接收实际接收数据。
其中,预设的完整度阈值以及预设的数据延长接收时限可以根据实际需要进行选择,在此不做具体限制。
这里,对应于实时视频、实时图片等数据,若在传输过程中存在一些丢包情况是允许的,只要数据完成度大于某一完整度阈值,该数据丢包情况对用户的观感影响较小,因此,本申请在数据接收端110设置有预设的数据接收时限以保证数据传输的实时性。
本公开实施例提供的一种数据补偿系统,包括:数据接收端、服务端以及数据补偿端,其中,所述数据接收端分别与所述服务端以及所述数据补偿端通信连接;所述服务端与所述数据补偿端之间通过专网通信连接;所述数据接收端,用于向所述服务端发送所述数据获取请求;所述服务端,用于接收所述数据接收端发送的数据获取请求;根据所述数据获取请求确定对应的目标请求数据,并将所述目标请求数据拷贝至所述数据补偿端;向所述数据接收端发送所述目标请求数据;所述数据补偿端,用于接收所述服务端拷贝的所述目标请求数据;通过与所述服务端不同的网络环境,向所述数据接收端发送所述目标请求数据;所述数据接收端,还用于确定从所述服务端与所述数据补偿端接收到的实际接收数据,在所述实际接收数据中,提取出所述目标请求数据。可以提升数据补偿效果。
参见图2所示,为本公开实施例提供的另一种数据补偿系统100的结构示意图。
如图2中所示,数据补偿系统100包括:数据接收端110、服务端120以及数据补偿端130。数据接收端110包括数据交互模块111、数据缓存模块112以及数据重组模块113。
这里,数据交互模块111、数据缓存模块112以及数据重组模块113依次通信连接;数据交互模块111分别与服务端120以及数据补偿端130通信连接。
在具体实施中,目标请求数据中包括按照预设排列顺序依次排列的多个数据包;服务端120与数据补偿端130均采用流式传输方式向数据接收端110发送目标请求数据。数据交互模块111用于向服务端120发送数据获取请求;时序接收实际到达数据接收端110的数据包;针对每个数据包,解析该数据包对应的序列编号,并确定数据缓存模块112中是否缓存有该序列编号;若存在,则删除该数据包;若不存在,则将该数据包及对应的序列编号发送至数据缓存模块112进行缓存;数据重组模块113用于在数据缓存模块112中提取全部数据包及对应的序列编号;根据序列编号及预设排列顺序,重组全部数据包,以还原出目标请求数据。
这里,数据交互模块111在向服务端120发送数据获取请求之后,按照到达数据接收端110的到达时序,依次接收分别由服务端120以及数据补偿端130发送的目标请求数据,将实际到达数据接收端110的数据作为实际接收数据。由于服务端120与数据补偿端130均采用流式传输方式依次传输构成目标请求数据的数据包,相对应的,在数据接收端110的数据交互模块111也需要按照数据包的到达时序依次接收实际到达的数据包。
需要说明的是,数据交互模块111接收数据包不区分其数据发送来源,仅按照数据包到达数据接收端110的时间进行时序接收。
进一步的,针对每一个接收到的数据包进行解析,以确定该数据包对应的序列编号,这里可选的,数据包对应的序列编号可以通过解析该数据包对应的发送协议报文进行获取,在发送协议报文中标示有传输该数据包对应的序列编号。之后确定在数据缓存模块112中是否已经存储有该序列编号,如果数据缓存模块112中已经存储有该序列编号,那么依照先到先用的原则,应使用已经缓存在数据缓存模块112中,先接收到的该序列编号对应的数据包,而针对后接收到的则进行删除处理,以节约数据缓存模块112的存储空间;如果数据缓存模块112中尚未存储有该序列编号,则说明该序列编号对应的数据包尚未被数据接收端110接收到,则将该数据包发送至数据缓存模块112进行缓存。
进一步的,在数据交互模块111接收数据完毕后,由数据重组模块113提取出缓存在数据缓存模块112中的全部数据包以及对应的序列编号,按照目标请求数据中,数据包的预设排列顺序将缓存在数据缓存模块112中的全部数据包进行排列重组,以还原出目标请求数据。
其中,目标请求数据中,数据包的预设排列顺序可以根据数据获取请求进行确定,由实际的目标请求数据决定,在此不做具体限制。
示例性的,数据交互模块111按照时序接收到的数据包中,由服务端120发送的可以表示为P1-n;由数据补偿端130发送的可以表示为Rm-n,其中,n代表数据包对应的序列编号;m代表区分数据补偿端的标号,例如:P1-1、P1-2、R1-1、R1-2、P1-3、R2-1、R2-2、P1-6、R1-4、R1-3、R2-5、P2-5、R2-4;目标请求数据中数据包相应的预设排列顺序为1-6。数据交互模块111依次接收到序列编号如上述排列的数据包,针对P1-1、P1-2尚未在数据缓存模块112中存储,因此将P1-1、P1-2存储至数据缓存模块112,之后接收到R1-1、R1-2时,数据缓存模块112中已经存储了1号与2号数据包,因此需要将R1-1、R1-2删除,后续均依照此方式进行处理,直至R2-4数据包,此时数据缓存模块112中缓存的数据包包括P1-1、P1-2、P1-3、P1-6、R1-4、R2-5,这些数据包由数据重组模块113提取后,按照1-6号的排列顺序进行重组排列,还原出由P1-1、P1-2、P1-3、R1-4、R2-5、P1-6数据包构成的目标请求数据。
需要说明的是,这里区分服务端120与数据补偿端130的不同数据发送源,仅用于便于理解的标示,在实际应用中,数据交互模块111不区分到达数据接收端110的数据包对应的发送源,仅识别其序列编号即可。
本公开实施例提供的一种数据补偿系统,包括:数据接收端、服务端以及数据补偿端,其中,所述数据接收端分别与所述服务端以及所述数据补偿端通信连接;所述服务端与所述数据补偿端之间通过专网通信连接;所述数据接收端,用于向所述服务端发送所述数据获取请求;所述服务端,用于接收所述数据接收端发送的数据获取请求;根据所述数据获取请求确定对应的目标请求数据,并将所述目标请求数据拷贝至所述数据补偿端;向所述数据接收端发送所述目标请求数据;所述数据补偿端,用于接收所述服务端拷贝的所述目标请求数据;通过与所述服务端不同的网络环境,向所述数据接收端发送所述目标请求数据;所述数据接收端,还用于确定从所述服务端与所述数据补偿端接收到的实际接收数据,在所述实际接收数据中,提取出所述目标请求数据。可以提升数据补偿效果。
对应于图1与图2中的数据补偿系统,基于同一发明构思,本公开实施例还提供了一种数据补偿方法,本公开实施例所提供的数据补偿方法的执行主体为如图1与图2中所示的数据补偿系统100中的数据接收端110。由于本公开实施例中的数据补偿方法解决问题的原理与本公开实施例上述数据补偿系统相似,因此方法的实施可以参见系统的实施,重复之处不再赘述。
参见图3所示,为本公开实施例提供的数据补偿方法的流程图,所述方法步骤S301-步骤S303,应用于数据补偿系统中的数据接收端,数据补偿系统还包括服务端以及数据补偿端,所述方法包括:
S301、向所述服务端发送所述数据获取请求。
S302、确定从所述服务端与所述数据补偿端接收到的实际接收数据,其中,从所述数据补偿端接收到的所述实际接收数据,为所述服务端将所述目标请求数据通过专网拷贝至所述数据补偿端,由所述数据补偿端发送并由所述数据接收端实际接收到的数据。
S303、在所述实际接收数据中,提取出所述目标请求数据。
作为一种可能的实施方式,所述实际接收数据包括,分别由所述服务端与所述数据补偿端发送的所述目标请求数据,经不同的网络环境损耗后,实际到达所述数据接收端的数据。
作为一种可能的实施方式,所述目标请求数据中包括按照预设排列顺序依次排列的多个数据包;所述服务端与所述数据补偿端均采用流式传输方式向所述数据接收端发送所述目标请求数据,所述在所述实际接收数据中,提取出所述目标请求数据,具体包括:
时序接收实际到达所述数据接收端的所述数据包;
针对每个所述数据包,解析该数据包对应的序列编号,并确定是否缓存有该序列编号;若是,则删除该数据包;若否,则将该数据包及对应的所述序列编号进行缓存;
提取全部所述数据包及对应的所述序列编号;根据所述序列编号及所述预设排列顺序,重组全部所述数据包,以还原出所述目标请求数据。
作为一种可能的实施方式,所述数据补偿系统中包括多个所述数据补偿端,从所述数据补偿端接收到的实际数据为:由所述服务端针对每个所述数据补偿端,确定从该数据补偿端发送所述目标请求数据的网络路径延迟;分别将每个所述网络路径延迟与预设的延迟阈值比较,选取所述网络路径延迟小于所述延迟阈值的所述数据补偿端作为目标补偿端;仅将所述目标请求数据拷贝至每个所述目标补偿端后,由所述目标补偿端发送的。
作为一种可能的实施方式,所述方法还包括:
在预设的数据接收时限内,从所述服务端与所述数据补偿端持续接收所述实际接收数据;
在所述数据接收时限之外,停止从所述服务端与所述数据补偿端接收所述实际接收数据。
作为一种可能的实施方式,所述数据获取请求为预设的数据交互信令。
本公开实施例提供的一种数据补偿方法,通过向所述服务端发送所述数据获取请求;确定从所述服务端与所述数据补偿端接收到的实际接收数据,其中,从所述数据补偿端接收到的所述实际接收数据,为所述服务端将所述目标请求数据通过专网拷贝至所述数据补偿端,由所述数据补偿端发送并由所述数据接收端实际接收到的数据;在所述实际接收数据中,提取出所述目标请求数据。可以提升数据补偿效果。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
对应于图3中的数据补偿方法,本公开实施例还提供了一种电子设备400,如图4所示,为本公开实施例提供的电子设备400结构示意图,包括:
处理器41、存储器42、和总线43;存储器42用于存储执行指令,包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换,当所述电子设备400运行时,所述处理器41与所述存储器42之间通过总线43通信,使得所述处理器41执行图3中的数据补偿方法的步骤。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据补偿方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品包括有计算机指令,所述计算机指令被处理器执行时可以执行上述方法实施例中所述的数据补偿方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (9)
1.一种数据补偿系统,其特征在于,包括:数据接收端、服务端以及数据补偿端,其中,
所述数据接收端分别与所述服务端以及所述数据补偿端通信连接;所述服务端与所述数据补偿端之间通过专网通信连接;
所述数据接收端,用于向所述服务端发送数据获取请求;
所述服务端,用于接收所述数据接收端发送的数据获取请求;根据所述数据获取请求确定对应的目标请求数据,并将所述目标请求数据拷贝至所述数据补偿端;向所述数据接收端发送所述目标请求数据;
所述数据补偿端,用于接收所述服务端拷贝的所述目标请求数据;通过与所述服务端不同的网络环境,向所述数据接收端发送所述目标请求数据;
所述数据接收端,还用于确定从所述服务端与所述数据补偿端接收到的实际接收数据,在所述实际接收数据中,提取出所述目标请求数据;
所述目标请求数据中包括按照预设排列顺序依次排列的多个数据包;所述服务端与所述数据补偿端均采用流式传输方式向所述数据接收端发送所述目标请求数据,所述数据接收端包括数据交互模块、数据缓存模块以及数据重组模块;其中,
所述数据交互模块、所述数据缓存模块以及所述数据重组模块依次通信连接;所述数据交互模块分别与所述服务端以及所述数据补偿端通信连接;
所述数据交互模块,用于向所述服务端发送所述数据获取请求;时序接收实际到达所述数据接收端的所述数据包;针对每个所述数据包,解析该数据包对应的序列编号,并确定所述数据缓存模块中是否缓存有该序列编号;若存在,则删除该数据包;若不存在,则将该数据包及对应的所述序列编号发送至所述数据缓存模块进行缓存;
所述数据重组模块,用于在所述数据缓存模块中提取全部所述数据包及对应的所述序列编号;根据所述序列编号及所述预设排列顺序,重组全部所述数据包,以还原出所述目标请求数据。
2.根据权利要求1所述的系统,其特征在于,
所述实际接收数据包括,分别由所述服务端与所述数据补偿端发送的所述目标请求数据,经不同的网络环境损耗后,实际到达所述数据接收端的数据。
3.根据权利要求1所述的系统,其特征在于,所述数据补偿系统中包括多个所述数据补偿端,所述服务端具体用于,
针对每个所述数据补偿端,确定从该数据补偿端发送所述目标请求数据的网络路径延迟;
分别将每个所述网络路径延迟与预设的延迟阈值比较,选取所述网络路径延迟小于所述延迟阈值的所述数据补偿端作为目标补偿端;
仅将所述目标请求数据拷贝至每个所述目标补偿端。
4.根据权利要求1所述的系统,其特征在于,所述数据接收端还用于,
在预设的数据接收时限内,从所述服务端与所述数据补偿端持续接收所述实际接收数据;
在所述数据接收时限之外,停止从所述服务端与所述数据补偿端接收所述实际接收数据。
5.根据权利要求1所述的系统,其特征在于,
所述数据获取请求为预设的数据交互信令。
6.根据权利要求1所述的系统,其特征在于,所述服务端还用于,
根据所述数据获取请求,确定所述数据接收端对应的数据接收地址;
在将所述目标请求数据拷贝至所述数据补偿端的过程中,向所述数据补偿端发送所述数据接收地址。
7.一种数据补偿方法,其特征在于,应用于如权利要求1-6中任一所述的数据补偿系统中的所述数据接收端,所述数据补偿系统还包括所述服务端以及所述数据补偿端,所述方法包括:
向所述服务端发送所述数据获取请求;
确定从所述服务端与所述数据补偿端接收到的实际接收数据,其中,从所述数据补偿端接收到的所述实际接收数据,为所述服务端将所述目标请求数据通过专网拷贝至所述数据补偿端,由所述数据补偿端发送并由所述数据接收端实际接收到的数据;
在所述实际接收数据中,提取出所述目标请求数据;
所述目标请求数据中包括按照预设排列顺序依次排列的多个数据包;所述服务端与所述数据补偿端均采用流式传输方式向所述数据接收端发送所述目标请求数据,所述在所述实际接收数据中,提取出所述目标请求数据,具体包括:
时序接收实际到达所述数据接收端的所述数据包;
针对每个所述数据包,解析该数据包对应的序列编号,并确定是否缓存有该序列编号;若是,则删除该数据包;若否,则将该数据包及对应的所述序列编号进行缓存;
提取全部所述数据包及对应的所述序列编号;根据所述序列编号及所述预设排列顺序,重组全部所述数据包,以还原出所述目标请求数据。
8.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求7中所述的数据补偿方法的步骤。
9.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求7中所述的数据补偿方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210874472.4A CN114978437B (zh) | 2022-07-25 | 2022-07-25 | 一种数据补偿系统、方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210874472.4A CN114978437B (zh) | 2022-07-25 | 2022-07-25 | 一种数据补偿系统、方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114978437A CN114978437A (zh) | 2022-08-30 |
CN114978437B true CN114978437B (zh) | 2022-10-28 |
Family
ID=82969863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210874472.4A Active CN114978437B (zh) | 2022-07-25 | 2022-07-25 | 一种数据补偿系统、方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114978437B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834879A (zh) * | 2010-02-09 | 2010-09-15 | 北京中科大洋科技发展股份有限公司 | 一种适应不同网络环境的智能高效视音频数据传输方法 |
CN112312475A (zh) * | 2019-07-30 | 2021-02-02 | 中国移动通信集团山东有限公司 | 语音长时间连续丢包补偿方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594672B (zh) * | 2012-02-09 | 2015-05-06 | 北京网梯科技发展有限公司 | 适用于低可靠网络环境下高质量互联网通讯的方法及系统 |
CN107343224A (zh) * | 2016-04-28 | 2017-11-10 | 中兴通讯股份有限公司 | 一种组播分发方法、单播补偿方法、内容补偿方法及系统 |
CN110049071A (zh) * | 2018-01-15 | 2019-07-23 | 中兴通讯股份有限公司 | 网络数据交互控制方法、装置及终端 |
CN113676605A (zh) * | 2020-05-15 | 2021-11-19 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、设备及计算机可读存储介质 |
CN114070494A (zh) * | 2020-07-28 | 2022-02-18 | 中移智行网络科技有限公司 | 数据传输的方法、装置、设备及存储介质 |
-
2022
- 2022-07-25 CN CN202210874472.4A patent/CN114978437B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834879A (zh) * | 2010-02-09 | 2010-09-15 | 北京中科大洋科技发展股份有限公司 | 一种适应不同网络环境的智能高效视音频数据传输方法 |
CN112312475A (zh) * | 2019-07-30 | 2021-02-02 | 中国移动通信集团山东有限公司 | 语音长时间连续丢包补偿方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114978437A (zh) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7029471B2 (ja) | アップリンクデータ解凍、圧縮方法および装置 | |
CN101536417B (zh) | 消除冗余连接的方法 | |
US8688844B1 (en) | Establishing network connections between transparent network devices | |
EP3352431B1 (en) | Network load balance processing system, method, and apparatus | |
US10021182B2 (en) | Method and apparatus for data synchronization | |
US20140122732A1 (en) | Data Packet Transmission Method and Related Device and System | |
CN105580334A (zh) | 一种数据传输方法、终端和服务器 | |
CN102546612A (zh) | 用户态下基于rdma协议的远程过程调用实现方法 | |
CN107135167A (zh) | 数据传输方法、数据传输装置和服务器 | |
CN114172900A (zh) | 基于单向网闸的文件传输方法及系统 | |
CN102571575A (zh) | 一种session 信息创建方法、装置和系统 | |
JP2017538335A (ja) | プロトコルスタックがないモードにおけるtcpの中間者処理方法 | |
CN111385068B (zh) | 数据传输方法、装置、电子设备及通信系统 | |
CN114978437B (zh) | 一种数据补偿系统、方法、电子设备及存储介质 | |
CN102315918A (zh) | 一种tcp连接与sctp连接互通的方法及装置 | |
CN112398754B (zh) | 数据传输方法、装置、介质、电子设备及网络接入设备 | |
CN111654505B (zh) | Udp数据包可靠传输方法、系统、计算机设备及存储介质 | |
CN101741605B (zh) | 一种处理报文的方法、设备和系统 | |
CN107733979B (zh) | 数据推送方法、服务器及系统 | |
CN109413118B (zh) | 一种实现会话同步的方法、装置及存储介质、程序产品 | |
CN109981463B (zh) | 信息处理方法、装置、网关及存储介质 | |
CN104219168A (zh) | 基于udp传输的控制报文处理方法及装置 | |
CN111314447A (zh) | 代理服务器及其处理访问请求的方法 | |
CN114189565B (zh) | 一种头域还原系统、方法及相关设备 | |
CN110798542A (zh) | 一种获取ip地址的方法及系统 |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A data compensation system, method, electronic device, and storage medium Granted publication date: 20221028 Pledgee: Chengdong Branch of Nanjing Bank Co.,Ltd. Pledgor: Nanjing baijiayun Technology Co.,Ltd. Registration number: Y2024980021990 |