CN117956534A - 网络传输方法、装置、通信设备、存储介质和程序产品 - Google Patents
网络传输方法、装置、通信设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN117956534A CN117956534A CN202410031299.0A CN202410031299A CN117956534A CN 117956534 A CN117956534 A CN 117956534A CN 202410031299 A CN202410031299 A CN 202410031299A CN 117956534 A CN117956534 A CN 117956534A
- Authority
- CN
- China
- Prior art keywords
- link
- data
- service
- terminal
- round trip
- 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 281
- 238000000034 method Methods 0.000 title claims abstract description 131
- 238000004891 communication Methods 0.000 title claims abstract description 57
- 238000003860 storage Methods 0.000 title abstract description 15
- 238000009826 distribution Methods 0.000 claims abstract description 216
- 230000002776 aggregation Effects 0.000 claims abstract description 170
- 238000004220 aggregation Methods 0.000 claims abstract description 170
- 230000001413 cellular effect Effects 0.000 claims abstract description 39
- 230000004044 response Effects 0.000 claims abstract description 24
- 238000004590 computer program Methods 0.000 claims abstract description 23
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 claims abstract description 9
- 238000012795 verification Methods 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 41
- 230000004931 aggregating effect Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 11
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims description 2
- 230000001960 triggered effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 11
- 230000008859 change Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000005265 energy consumption Methods 0.000 description 4
- 230000001965 increasing effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 101100435070 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) APN2 gene Proteins 0.000 description 1
- 101100401199 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SAM2 gene Proteins 0.000 description 1
- 101100268779 Solanum lycopersicum ACO1 gene Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009616 inductively coupled plasma Methods 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 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
- 230000008520 organization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 235000010384 tocopherol Nutrition 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 235000019731 tricalcium phosphate Nutrition 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1016—IP multimedia subsystem [IMS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/24—Negotiating SLA [Service Level Agreement]; Negotiating QoS [Quality of Service]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/15—Setup of multiple wireless link connections
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请涉及一种网络传输方法、装置、通信设备、存储介质和计算机程序产品。所述方法应用于融合核心网中的网关服务器,网关服务器位于用户面协议功能UPF与业务应用服务器之间,所述方法包括:响应于终端发送的第一链路请求流程,与终端建立包含非第三代合作伙伴计划网络non‑3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;实时监控每条链路的信道状态信息,确定每条链路的链路传输质量,并基于链路传输质量以及业务应用服务质量QoS要求,确定相匹配的数据分流与聚合策略;将数据分流与聚合策略下发至终端,并基于数据分流与聚合策略,进行业务数据的路由管理和分流管控。采用本方法,提高了数据传输质量和数据传输效率。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种网络传输方法、装置、通信设备、存储介质和计算机程序产品。
背景技术
传统的TCP(一种基于传输控制协议)连接,通常都是只能绑定一个IP地址,但是随着移动终端设备发展为具有多个无线接口,从一个移动终端设备到一个主机服务器往往都会有多条链路可以到达。所以终端设备的多链路可达网络与TCP的单链路设计实现之间的这种不匹配带来了明显的问题。
5G终端天然具备多链路可达网络能力,但要网络支持接收多链路接入、传输因目前3GPP相关规范标准未统一,面临实现方案各异,需分别与不同终端及各类应用服务器逐一匹配,应用复杂度较高。考虑到网络支持多链路传输将大大提升终端IMS语音业务的用户体验以及提高数据业务吞吐、还能降低终端在不同制式网络间的切换时延,提升数据业务吞吐效率,实现用户差异化服务。
作为VoNR(Voice over New Radio,新无线语音通话)、VoLTE(Voice over LTE,LTE长期演进语音)业务的有效补充,VoWiFi(Voice over WiFi,无线语音通话)是基于Non-3GPP WiFi无线接入到融合5GC/EPC(Evolved Packet Core)核心网和IMS(IP MultimediaSubsystem,IP多媒体子系统)网络,承载于分组网络的语音业务。
针对现网中VoNR、VoLTE、VoWiFi三种IMS语音业务,其中,由于VoWiFi语音空闲态重选及业务态切换的主动权在终端,终端根据芯片预设重选/切换门限值,实现与其余两种IMS语音间的切换,终端将面临3GPP和Non-3GPP两种不同接入方式的空闲态重选及业务态切换问题。
具体的,终端将同时分别监控当前WiFi 网络的RSSI(Received Signal StrengthIndication,接收信号强度指示)以及蜂窝网络的RSRP(Reference Signal ReceivedPower,参考信号接收功率)等无线信号性能指标,基于Non-3GPP和3GPP不同网络制式间包含RSSI与RSRP在内的实时信号性能值以及芯片预设重选/切换门限值,自主决策是否进行语音间切换。
然而,Non-3GPP接入点AP和Modem(调制解调器)所处供电环境等情况复杂,极易发生信号闪断等故障,影响WiFi网络可靠性的情况,以及,不同终端检测相同环境下的WiFi无线接入点AP(Access Point)的能力存在差异,而且不同终端对应的切换策略也不相同,例如,有的终端一旦检测到满足切换门限值,就进行语音间的切换,有的终端则需要连续检测多次满足切换门限值,才进行语音间的切换,综合上述因素,不同终端在VoNR、VoLTE、VoWiFi三种IMS语音业务间的切换性能、用户通话感知存在差异,有很大优化空间。
针对数据业务,当终端与网络建立了包含3GPP和Non-3GPP在内的多链路进行数据传输过程中,上下行吞吐总量将明显受制于传输质量较弱链路,终端的传输能耗效率和网络的整体传输效能(传输效能指在传输数据时的效率和稳定性)反而不及只建立单链路进行传输时的。因此终端多链路建立的判定条件是否准确恰当及多链路传输策略是否灵活合理无疑是能否有效提升终端数据上下行吞吐的关键技术。
发明内容
基于此,有必要针对上述技术问题,提供一种网络传输方法、装置、通信设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种网络传输方法,所述方法应用于融合核心网中的网关服务器,所述网关服务器位于用户面协议功能UPF与业务应用服务器之间,包括:
响应于终端发送的第一链路请求流程,与所述终端建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
实时监控每条链路的信道状态信息,确定每条链路的链路传输质量,并基于所述链路传输质量以及业务应用服务质量QoS要求,确定相匹配的数据分流与聚合策略;
将所述数据分流与聚合策略下发至所述终端,并基于所述数据分流与聚合策略,进行业务数据的路由管理和分流管控。
在其中一个实施例中,所述基于所述链路传输质量以及业务应用服务质量QoS要求,确定相匹配的数据分流与聚合策略,包括:
基于所述终端当前进行的业务的业务类型以及当前建立的所述链路组合,在白名单列表中确定所述当前进行的业务对应的服务等级协议SLA;
基于所述链路组合、所述链路组合中每条链路的链路传输质量以及所述服务等级协议SLA中的业务应用服务质量QoS要求,确定与预设链路传输质量条件和业务应用服务质量QoS条件相匹配的数据分流与聚合策略。
在其中一个实施例中,所述基于所述数据分流与聚合策略,进行业务数据的路由管理和分流管控,包括:
接收所述终端中数据分流SDK传输的多路径传输的协议MPTCP通讯时的业务数据;
将所述业务数据分段处理,得到所述业务数据的多个TCP子数据流;
基于各所述链路的校验准确率以及预设的门限阈值,各所述链路的往返时延以及预设时延阈值,确定所述数据分流与聚合策略中各所述链路的数据分流比例;
基于各所述链路的数据分流比例,将所述多个TCP子数据流分配至各所述链路。
在其中一个实施例中,所述终端当前进行的业务的业务类型为语音业务类型,所述基于各所述链路的校验准确率以及预设的门限阈值,各所述链路的往返时延以及预设时延阈值,确定所述数据分流与聚合策略中各所述链路的数据分流比例,包括:
在各所述链路的校验准确率大于所述预设的门限阈值时,确定各所述链路的往返时延;
基于各所述链路的往返时延以及预设时延阈值间的大小关系,确定所述数据分流与聚合策略中各所述链路的数据分流比例。
在其中一个实施例中,所述基于各所述链路的往返时延以及预设时延阈值间的大小关系,确定所述数据分流与聚合策略中各所述链路的数据分流比例,包括:
若各所述链路的往返时延小于所述链路的往返时延对应的预设时延阈值时,响应于终端发送的链路更新请求,确定与更新后的链路组合相匹配的数据分流与聚合策略;
确定更新后的数据分流与聚合策略中各所述链路的数据分流比例;
若各所述链路的往返时延大于预设时延阈值时,更新当前的数据分流与聚合策略中各所述链路的数据分流比例。
在其中一个实施例中,所述确定更新后的数据分流与聚合策略中各所述链路的数据分流比例之后,所述方法还包括:
基于更新后的数据分流与聚合策略,在所述更新后的链路组合的各所述链路的数据传输过程中,将所述多个TCP子数据流中的每一流媒体传输协议RTP数据包进行备份处理;
基于所述更新后的数据分流与聚合策略中的链路优先级,选取所述更新后的链路组合中最小往返时延的链路,承担预设数据分流比例的备份处理后的RTP数据包中的IMS语音数据包的传输;其中,所述备份处理后的RTP数据包中同一IMS语音包对应的备份IMS语音包与原件IMS语音包,同时分别在所述链路组合中的不同的链路进行传输,以使所述终端按照同步的数据分流与聚合策略进行接收。
在其中一个实施例中,所述若各所述链路的往返时延大于预设时延阈值时,更新当前的数据分流与聚合策略中各所述链路的数据分流比例,包括:
基于所述更新后的各所述链路的数据分流比例,将所述多个TCP子数据流中的IMS语音数据包分配至各所述链路;
基于链路优先级选取最小往返时延的链路,对所述多个TCP子数据流中的IMS语音数据包进行传输。
在其中一个实施例中,所述终端当前进行的业务的业务类型为语音业务类型,所述基于各所述链路的校验准确率以及预设的门限阈值,各所述链路的往返时延以及预设时延阈值,确定所述数据分流与聚合策略中各所述链路的数据分流比例,包括:
在各所述链路的校验准确率小于所述预设的门限阈值时,更新所述数据分流与聚合策略中各所述链路的数据分流比例;
所述基于各所述链路的数据分流比例,将所述多个TCP子数据流分配至各所述链路,包括:
基于链路优先级以及各所述链路的数据分流比例,选取最小往返时延的链路,对所述多个TCP子数据流中的IMS语音数据包进行传输。
在其中一个实施例中,所述终端当前进行的业务的业务类型为数据业务类型,所述基于各所述链路的校验准确率以及预设的门限阈值,各所述链路的往返时延以及预设时延阈值,确定所述数据分流与聚合策略中各所述链路的数据分流比例,包括:
在所述链路组合中各所述链路的校验准确率大于预设的门限阈值的情况下,确定各所述链路的往返时延以及各所述链路间的往返时延差值;
基于各所述链路的往返时延以及预设时延阈值间的大小关系,各所述链路间的往返时延差值以及预设时延差值阈值间的大小关系,确定所述数据分流与聚合策略中各所述链路的数据分流比例。
在其中一个实施例中,所述基于各所述链路的往返时延以及预设时延阈值间的大小关系,各所述链路间的往返时延差值以及预设时延差值阈值间的大小关系,确定所述数据分流与聚合策略中各所述链路的数据分流比例,包括:
若各所述链路的往返时延小于所述预设时延阈值,且各所述链路间的往返时延差值小于预设时延差值阈值时,确定数据分流与聚合策略中各所述链路的第一数据分流比例;
若各所述链路的往返时延大于所述预设时延阈值,且各所述链路间的往返时延差值小于预设时延差值阈值时,确定为数据分流与聚合策略中各所述链路第三数据分流比例。
在其中一个实施例中,所述确定数据分流与聚合策略中各所述链路的第一数据分流比例之后,所述方法还包括:
基于链路优先级以及所述第一数据分流比例,选取所述链路组合中最小往返时延的链路,承担所述第一数据分流比例对应的业务数据的数据包的传输。
在其中一个实施例中,所述终端当前进行的业务的业务类型为数据业务类型,所述基于各所述链路的校验准确率以及预设的门限阈值,各所述链路的往返时延以及预设时延阈值,确定所述数据分流与聚合策略中各所述链路的数据分流比例,包括:
在所述链路组合中各所述链路的校验准确率小于预设的门限阈值的情况下,确定各所述链路的往返时延以及各所述链路间的往返时延差值;
基于各所述链路的往返时延以及预设时延阈值间的大小关系,各所述链路间的往返时延差值以及预设时延差值阈值间的大小关系,确定所述数据分流与聚合策略中各所述链路的数据分流比例。
在其中一个实施例中,所述基于各所述链路的往返时延以及预设时延阈值间的大小关系,各所述链路间的往返时延差值以及预设时延差值阈值间的大小关系,确定所述数据分流与聚合策略中各所述链路的数据分流比例,包括:
若各所述链路的往返时延大于所述预设时延阈值,且各所述链路间的往返时延差值小于预设时延差值阈值时,确定所述数据分流与聚合策略中各所述链路的第二数据分流比例;
若各所述链路的往返时延大于所述预设时延阈值,且各所述链路间的往返时延差值大于预设时延差值阈值时,降低数据传输速率,确定所述数据分流与聚合策略中各所述链路的第四数据分流比例。
在其中一个实施例中,所述确定所述数据分流与聚合策略中各所述链路的第二数据分流比例之后,所述方法还包括:
基于链路优先级以及所述第二数据分流比例,选取所述链路组合中最小往返时延的链路,承担所述第二数据分流比例对应的业务数据的数据包的传输。
在其中一个实施例中,所述第四数据分流比例中包含第一数据分流子比例,所述确定所述数据分流与聚合策略中各所述链路的第四数据分流比例之后,所述方法还包括:
响应于所述终端发送的链路更新请求,删除所述链路组合中校验准确率最低、往返时延最大的链路,更新链路组合;
基于链路优先级以及所述第一数据分流子比例,选取更新链路组合中最小往返时延的链路,承担所述第一数据分流子比例对应的业务数据的数据包的传输。
在其中一个实施例中,所述第四数据分流比例中包含第二数据分流子比例,所述方法还包括:
响应于所述终端发送的链路更新请求,删除所述链路组合中校验准确率最低、往返时延最大的链路,建立一条新的non-3GPP链路或者蜂窝链路,更新链路组合;
基于链路优先级以及所述第二数据分流子比例,选取更新链路组合中最小往返时延的链路,承担所述第二数据分流子比例对应的业务数据的数据包的传输。
第二方面,本申请提供了一种网络传输方法,所述方法应用于终端,所述方法包括:
判断当前进行的业务是否为网关服务器中业务白名单中的业务;
在确定为所述网关服务器中业务白名单中的业务时,基于多接口多链路接入能力、当前所处网络环境以及终端运行状态,向网关服务器发送第一链路请求流程,触发MPTCP传输模式;所述第一链路请求流程用于在多接口多链路接入能力、当前所处网络环境以及终端运行状态满足MPTCP模式条件的情况下,在所述终端与所述网关服务器间建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
接收网关服务器下发的与当前链路组合匹配的数据分流与聚合策略,通过所述终端与所述网关服务器间的链路组合,对当前业务进行 MPTCP 传输。
在其中一个实施例中,所述方法还包括:
若当前所处网络环境发生变化时,向所述网关服务器发起第二链路请求流程,所述第二链路请求流程用于在当前网络环境中,在终端的多接口多链路接入能力、终端设备属性以及本地运行状态不满足MPTCP模式条件的情况下,退出MPTCP传输模式,删除所述终端与所述网关服务器间的包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
在进入新的网络环境后,向所述新的网络环境中的网关服务器发起第三链路请求流程,所述第三链路请求流程用于在终端的多接口多链路接入能力、终端设备属性以及本地运行状态满足MPTCP模式条件的情况下,在所述终端与所述新的网络环境中的网关服务器间建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合。
在其中一个实施例中,所述终端当前进行的业务的业务类型为数据业务类型,所述方法还包括:
当所述终端的网络环境发生变化,或者所述终端运行状态不满足预设运行条件时,向所述网关服务器发起第四链路请求流程,更新当前的所述链路组合;所述更新当前的所述链路组合包括增加、更新或者删除所述链路组合中的链路。
在其中一个实施例中,所述当所述终端运行状态不满足预设运行条件时,向所述网关服务器发起第四链路请求流程,更新当前的所述链路组合,包括:
针对当前进行的业务为数据业务类型,若各所述链路间的往返时延中存在目标差值大于预设时延阈值,向所述网关服务器发送第四链路请求流程,更新当前的所述链路组合;所述第四链路请求流程用于删除各所述链路中校验准确率最低、往返时延最大的链路;
在剩余的各所述链路中选择校验准确率最高、往返时延最小的单一链路进行数据传输。
第三方面,本申请还提供了一种网络传输装置,包括:
建立模块,用于响应于终端发送的第一链路请求流程,与所述终端建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
检测与确定模块,用于实时监控每条链路的信道状态信息,确定每条链路的链路传输质量,并基于所述链路传输质量以及业务应用服务质量QoS要求,确定相匹配的数据分流与聚合策略;
处理模块,用于将所述数据分流与聚合策略下发至所述终端,并基于所述数据分流与聚合策略,进行业务数据的路由管理和分流管控。
第四方面,本申请还提供了一种网络传输装置,包括:
检测模块,用于判断当前进行的业务是否为网关服务器中业务白名单中的业务;
发送模块,用于在确定为所述网关服务器中业务白名单中的业务时,基于多接口多链路接入能力、当前所处网络环境以及终端运行状态,向网关服务器发送第一链路请求流程,触发MPTCP传输模式;所述第一链路请求流程用于在多接口多链路接入能力、当前所处网络环境以及终端运行状态满足MPTCP模式条件的情况下,在所述终端与所述网关服务器间建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
传输模块,用于接收网关服务器下发的与当前链路组合匹配的数据分流与聚合策略,通过所述终端与所述网关服务器间的链路组合,对当前业务进行 MPTCP 传输。
第五方面,本申请还提供了一种通信设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
响应于终端发送的第一链路请求流程,与所述终端建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
实时监控每条链路的信道状态信息,确定每条链路的链路传输质量,并基于所述链路传输质量以及业务应用服务质量QoS要求,确定相匹配的数据分流与聚合策略;
将所述数据分流与聚合策略下发至所述终端,并基于所述数据分流与聚合策略,进行业务数据的路由管理和分流管控。
第六方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
响应于终端发送的第一链路请求流程,与所述终端建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
实时监控每条链路的信道状态信息,确定每条链路的链路传输质量,并基于所述链路传输质量以及业务应用服务质量QoS要求,确定相匹配的数据分流与聚合策略;
将所述数据分流与聚合策略下发至所述终端,并基于所述数据分流与聚合策略,进行业务数据的路由管理和分流管控。
第七方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
响应于终端发送的第一链路请求流程,与所述终端建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
实时监控每条链路的信道状态信息,确定每条链路的链路传输质量,并基于所述链路传输质量以及业务应用服务质量QoS要求,确定相匹配的数据分流与聚合策略;
将所述数据分流与聚合策略下发至所述终端,并基于所述数据分流与聚合策略,进行业务数据的路由管理和分流管控。
上述网络传输方法、装置、通信设备、存储介质和计算机程序产品,响应于终端发送的第一链路请求流程,与所述终端建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;实时监控每条链路的信道状态信息,确定每条链路的链路传输质量,并基于所述链路传输质量以及业务应用服务质量QoS要求,确定相匹配的数据分流与聚合策略;将所述数据分流与聚合策略下发至所述终端,并基于所述数据分流与聚合策略,进行业务数据的路由管理和分流管控。采用本方法,终端与网关服务器之间建立链路组合,通过实施监控当前所处网络环境,对链路组合以及数据分流与聚合策略进行调整,保证了当前数据传输质量与数据传输效率。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中网络传输方法的应用环境图;
图2为一个实施例中MPTCP 连接建立过程的流程示意图;
图3为一个实施例中MPTCP协议系统模型的示意图;
图4为一个实施例中一种网关服务器侧的网络传输方法的流程示意图;
图5为一个实施例中基于SLA和Qos匹配数据分流与聚合策略步骤的流程示意图;
图6为一个实施例中业务数据处理后分流传输步骤的流程示意图;
图7为一个实施例中基于校验准确率和往返延时确定数据分流比例步骤的流程示意图;
图8为一个实施例中基于语音业务中校验准确率和往返延时确定数据分流比例步骤的流程示意图;
图9为一个实施例中针对语音业务RTP数据包的一种数据传输模式进行数据传输步骤的流程示意图;
图10为一个实施例中基于更新后的各链路的数据分流比例对语音PTR数据包进行分流传输步骤的流程示意图;
图11为一个实施例中针对语音业务类型的更新数据分流比例步骤的流程示意图;
图12为一个实施例中基于数据业务中校验准确率和往返延时确定数据分流比例步骤的流程示意图;
图13为一个实施例中针对数据业务传输过程中各链路的传输情况确定数据分流比例步骤的流程示意图;
图14为另一个实施例中针对数据业务传输过程中各链路的传输情况确定数据分流比例步骤的流程示意图;
图15为另一个实施例中针对数据业务传输过程中各链路的传输情况确定数据分流比例步骤的流程示意图;
图16为一个实施例中基于更新后的链路组合进行数据传输步骤的流程示意图;
图17为一个实施例中基于更新后的链路组合,采用预设数据传输模式进行数据传输步骤的流程示意图;
图18为一个实施例中一种终端侧的触发MPTCP多链路传输方法的流程示意图;
图19为一个实施例中发起链路请求流程更新链路组合步骤的流程示意图;
图20为一个实施例中基于更新后的链路组合进行数据传输步骤的流程示意图;
图21为一个实施例中MPTCP协议的SDK的具体实现过程的示意图;
图22为一个实施例中一种SDK整体实现流程的流程示意图;
图23为一个实施例中网关服务器侧的网络传输装置的结构框图;
图24为另一个实施例中终端侧的网络传输装置的结构框图;
图25为一个实施例中通信设备的内部结构图;
图26为一个实施例中通信设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
常规的TCP(一种基于传输控制协议)连接,通常都是只能绑定一个IP地址,但是随着手机等移动终端设备发展为具有多个无线接口,从一个移动终端设备到一个主机服务器往往都会有多条链路可以到达。所以终端设备的多路径可达网络与TCP的单路径设计实现之间的这种不匹配带来了明显的问题。
例如:1、VoWiFi业务:是基于WiFi无线接入、5GC /EPC(Evolved Packet Core,演进型分组核心网)核心网和IMS网络,承载于分组网络的语音业务。VoWiFi可作为VoNR/VoLTE业务的有效补充来解决用户的语音呼叫需求。而VoWiFi和蜂窝IMS语音间的切换不同于蜂窝系统内的切换,终端在芯片上预先设定好切换门限值,通过监控当前所处WiFi网络的RSSI和蜂窝网络的RSRP,自主决策是否进行切换。当5G终端移动到不稳定的WiFi网络区域,WiFi信号有可能丢失,则与之关联的TCP连接就会停止;无法将它们迁移到其他工作接口,例如4G、5G,每次切换都需要重新建立TCP连接。
另外,由于WiFi无线接入点AP和Modem在不同用户家中,所处环境差异很大,例如,不同场景下可能存在供电不稳定,极易发生信号闪断影响WiFi网络可靠性,可能导致正进行VoWiFi语音业务的5G终端不能及时切换至蜂窝网络而直接掉话,用户体验差。
2、5G终端具备多接口多链路接入网络能力,但随着链路数目的增加或终端所处网络环境频繁突变时,终端能耗将急剧上升。但终端电池容量有限,在没有新材料替代方案的情况下,电池续航时间已接近达到极限值,终端电池续航时间将无可避免地限制5G用户通过多链路实现日益增长的网络信息服务需求。因此,在网络侧部署满足多链路传输的网关服务器,在终端侧研究提高业务通过多链路传输时的终端能耗效率(比特/焦耳,用于衡量单位能耗下系统吞吐量)很有必要。
3、当前手机终端绝大多数的APP(Application,应用程序)都是采用TCP的方式与网络服务端进行通信,并不支持多路径TCP方式。手机终端APP改为MPTCP的方式改动量过大,核心网也需要较大的升级改造。
如今,随着信息技术和网络设备的发展,大多数设备可以使用多种通信技术,例如智能手机可以连接 WiFi / 4G/5G 网络及卫星网络,而且各种网络中的不同终端数据业务需求越来越复杂且多样,多路径传输协议的出现,极大地改善了数据的传输效率。由于终端设备可以接入多种网络进行传输数据,所以路径与路径之间在带宽、时延等方面会存在差异,形成一种异构非对称的网络架构。而且这种异构非对称的网络结构在我们实际生活中的应用越来越广泛。
因此,针对上面提到的问题结合当前异构非对称的网络架构,本申请实施例提供了一种网络传输方法,可以应用于如图1所示(图1的应用环境中包含卫星链路)的应用环境中。其中,,其中,终端102通过网络与融合核心网中的网关服务器104进行通信。网关服务器104位于用户面协议功能UPF( User Plane Function)与业务应用服务器之间。网关服务器104利用终端102发起的多链路请求信息构建MPTCP分流与聚合策略模型,进而,基于该MPTCP分流与聚合策略模型实现对业务数据的路由管理和分流管控。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑等。网关服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在介绍本发明的具体实施例之前,先对本发明中所涉及的专业术语进行解释:
1、终端发起多链路流程:
在终端操作系统和网关服务器操作系统底层进行了TCP通信协议增强,客户端和服务端双方均支持MPTCP协议,可将多条业务流复合在单个 TCP 连接中,实现多路复用。
MPTCP 连接建立过程,如图2所示,发起端发送的 SYN 报文中包含了 MP_CAPABLE选项,该选项用于确定双方是否都支持 MPTCP 协议,如果双方都支持,则在完成三次握手后建立 MPTCP 连接;在 MPTCP 连接成功建立后,会同时建立一个 TCP 子流,其余的 TCP子流在其基础上建立。通讯双方均可以发起子流的建立,TCP 子流的建立过程与标准 TCP一致,新的 TCP 子流会在未被使用的地址对之间建立。当需要建立子流的时候,发起者发送包含 MP_JOIN 选项的 SYN 数据包告知对端,对端在成功验证 MPTCP 连接之后会进行应答。同时 MPTCP 还有路径管理机制,即当终端设备的可用地址发生变动后及时通知对端,该机制主要通过想对端发送携带ADD_ADDR 选项和 REMOVE_ADDR 选项的数据包完成地址的更新,对端可根据当前状况觉得是否在 MPTCP 连接中新建 TCP 子流。
MPTCP 协议具备拥塞避免和数据调度机制,即是本申请提及的数据分流与聚合策略和路由管理方案,它主要负责将应用层数据分段后分发给子流传输。应用层需要发送数据时,其可以调用标准 TCP套接字将数据放入 MPTCP 总缓冲区中,之后数据调度机制依据调度算法将 MPTCP 总缓冲区中的数据分发到可用子流的 TCP 缓冲区中,以供 TCP 子流传输。
数据分流与聚合策略和路由管理方案主要作用就是选择合适的子流分配数据,以达到数据业务:提高上/下行/双向的吞吐量+低延迟、IMS语音业务:高可靠、低延时等目的。
MultipathTCP (MPTCP) 是基于TCP协议的扩展版本,是能在传输层上实现多路径并行数据传输的协议。MPTCP可同时使用多个TCP作为子流进行传输,协议系统模型如图3所示,MPTCP使用两个序号来保证数据的正确传输,一个在MPTCP连接级,另一个是在TCP子流及中使用。TCP子流中的序号与传统的TCP序号一样,用在单个子流中进行传输控制,保证单个子流中的数据正确传输。而MPTCP连接级的序号才是应用层数据正确按序传输的保障。当出现分段丢失时,MPTCP会根据需要使用的另一个子流或在原子流进行分段重传,大大提高了快速恢复的能力。
2、VPN代理技术
VPN所有的通信都基于一个单一的IP端口(默认为1194),默认使用UDP协议通讯,同时TCP也被支持。VPN连接能通过大多数的代理服务器,并且能够在NAT的环境中很好地工作。VPN服务器具有向客户端"推送"某些网络配置信息的功能,这些信息包括:IP地址、路由设置等。VPN提供了两种虚拟网络接口:通过Tun/Tap驱动,可以建立三层IP隧道,或者虚拟二层以太网,后者可以传送任何类型的二层以太网数据。传送的数据可通过LZO算法压缩。VPN2.0以后版本每个进程可以同时管理数个并发的隧道。
VPN的技术核心是虚拟网卡,其次是SSL协议实现;虚拟网卡及其在VPN中的工作机理进行介绍:虚拟网卡是使用网络底层编程技术实现的一个驱动软件,安装后在终端上多出一个网卡,可以像其它网卡一样进行配置。服务程序可以在应用层打开虚拟网卡,如果应用软件(如浏览器)向虚拟网卡发送数据,则服务网关可以读取到该数据,如果服务程序写合适的数据到虚拟网卡,应用软件也可以接受得到。虚拟网卡在很多的操作系统下都有相应的实现,在VPN中,如果用户访问一个远程的虚拟地址(属于虚拟网卡配用的地址系列,区别于真实地址),则操作系统会通过路由器机制将数据包(TUN模式)或数据帧(TAP模式)发送到虚拟网卡上,服务程序接收该数据并进行相应的处理后,通过SOCKET从外网上发送出去,远程服务程序通过SOCKET从外网上接收数据,并进行相应的处理后,发送给虚拟网卡,则应用软件可以接收到,完成了一个单向传输的过程,反之亦然。
在一个示例性的实施例中,如图4所示,提供了一种网络传输方法,以该方法应用于图1中的网关服务器为例进行说明,包括以下步骤402至步骤406。其中:
步骤402,响应于终端发送的第一链路请求流程,与终端建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合。
其中,第一链路请求流程是指在终端与网关服务器之间建立包含非第三代合作伙伴计划网络 non-3GPP 链路和蜂窝链路中至少一种类型的链路的链路组合的请求,具体的,网关服务器响应于终端发送的该第一链路请求流程,建立该第一链路请求流程要求的链路组合。
步骤404,实时监控每条链路的信道状态信息,确定每条链路的链路传输质量,并基于链路传输质量以及业务应用服务质量QoS要求,确定相匹配的数据分流与聚合策略。
在实施中,针对当前终端与网关服务器之间的不同业务类型(例如,语音业务类型、数据业务类型)以及终端与网关服务器所处的网络环境,网关服务器实时监控每条链路的信道状态信息,确定每条链路的链路传输质量,并根据评估链路传输质量算法确定与当前链路组合相匹配的数据分流比例。具体过程为:每条链路的校验准确率定义为:T时段内,该链路在RTT时限内正确校验数据包并反馈ACK的数量与该链路共传输的数据包总数之比。Correctness计算公式如下:
其中,为统计时段T内传输的最新一个数据包序号,为首个数据包序号,n为链路校验错误及未在RTT时限内反馈ACK的总数量。
然后,网关服务器根据统计时段T内的校验准确率Correctness赋予该链路基础分:PB = A * Correctness,其中,A为一个预设已知量。
网关服务器建立连续校验正确奖励分PSC,以及校验错误历史惩罚分PEH和连续校验错误惩罚分PEC。连续校验正确奖励分PSC计算公式如下:
Tkn为链路第n个(即最新的)检验错误的数据包序号。该公式PSC计算的是统计时段T内,该链路自上次校验错误以及连续校验正确的数据包数量与该链路校验的数据包总数之比的自然对数。
网关服务器建立校验错误历史惩罚分PEH,其计算公式如下:
其中,TkE其={Tk1,Tk2,Tk3,…,Tkn}。即E=1,2,3,…,n。该公式计算的是该链路校验错误的惩罚分,根据每个校验错误至最近一次校验错误的数据包序号远近赋惩罚分,序号越近则惩罚分越高。
连续校验错误惩罚分PEC计算公式为:
其中,a=0.05*(),C=1.57*A*a,x=。该公式采用了标准高斯分布,计算的是当该链路连续校验错误时(即x=1),赋予该链路一个较重的惩罚分。当该链路两次校验错误的数据包序号较远时(即x>>1(x远大于1)),该惩罚分较小。
最终,网关服务器通过基础分、奖励分、惩罚分加减计算,评估链路的传输质量权重分为:
= PB + PSC + PEH – PEC。据此确定当前链路组合中每条链路数据包的分流比例:链路传输数据包分流比例与链路质量权重分PLink成正比关系。
确定链路数据包分流比例后,结合业务应用服务质量QoS(Quality of Service,业务应用服务质量)要求,确定相匹配的数据分流与聚合策略。步骤406,将数据分流与聚合策略下发至终端,并基于数据分流与聚合策略,进行业务数据的路由管理和分流管控。
在实施中,网关服务器将数据分流与聚合策略下发至终端,并基于该数据分流与聚合策略,在终端与网关服务器建立的当前的链路组合中对业务数据进行路由管理和分流管控。
上述网络传输方法中,在终端与网关服务器之间建立链路组合,通过实施监控当前所处网络环境,终端与网关服务器之间的链路组合以及数据分流与聚合策略进行调整,进而,基于该链路组合和适配的数据分流与聚合策略进行调整,保证了当前数据传输质量与数据传输效率。
在一个示例性的实施例中,如图5所示,步骤404包括步骤502至步骤504。其中:
步骤502,基于终端当前进行的业务的业务类型以及当前建立的链路组合,在白名单列表中确定当前进行的业务对应的服务等级协议SLA。
在实施中,在网关服务器上预先建立有MPTCP传输的业务白名单,通过建立业务白名单列表,网关服务器可以限制使用MPTCP的应用范围,从而精确控制网络资源的分配和管理。只有在业务白名单中的应用(例如,APP)被允许使用MPTCP,其他未列入白名单的应用将被阻止或限制使用MPTCP协议。并且在白名单列表中针对不同的应用、不同的业务还可以基于用户需求预先设置服务等级协议SLA(Service Level Agreement)。进而,在实际应用过程中,针对当前待传输的业务数据,网关服务器基于当前待传输的业务数据的业务类型以及当前建立的链路组合,在预设的白名单列表中确定该业务对应的(目标)服务等级协议。
步骤504,基于链路组合、链路组合中每条链路的链路传输质量以及服务等级协议SLA中的业务应用服务质量QoS要求,确定与预设链路传输质量条件和业务应用服务质量QoS条件相匹配的数据分流与聚合策略。
在实施中,网关服务器基于链路组合、链路组合中每条链路的链路传输质量以及服务等级协议SLA中的业务应用服务质量QoS要求进行策略匹配,确定出满足当前链路传输质量条件和业务应用服务质量QoS要求的数据分流与聚合策略。
本实施例中,根据业务类型、链路传输质量和SLA的QoS要求来确定数据分流与聚合策略,可以提高服务质量、优化资源利用并提升用户体验和满意度。
在一个示例性的实施例中,本申请中的数据分流技术主要采用MPTCP,MPTCP 在网络传输层使用多个子数据流,MPTCP能满足了两类功能性目标:提高上/下行/双向吞吐量、提升链路分段数据误码/丢失恢复的效率,减少重传次数,提升用户体验。如图6所示,步骤406中基于数据分流与聚合策略,进行业务数据的路由管理和分流管控的具体处理过程包括步骤602至步骤608。其中,
步骤602,接收终端中数据分流SDK传输的多路径传输的协议MPTCP通讯时的业务数据。
在实施中,网关服务器接收终端中数据分流SDK(Software Development Kit,软件开发工具包)传输的多路径传输的协议MPTCP通讯时的业务数据。
步骤604,将业务数据分段处理,得到业务数据的多个TCP子数据流。
在实施中,网关服务器将业务数据分段处理,得到业务数据的多个TCP子数据流。具体的,应用层需要发送数据时,其可以调用标准 TCP 套接字将数据放入 MPTCP 总缓冲区中,然后,网关服务器中的数据调度机制依据调度算法,将MPTCP 总缓冲区中的数据分段后分发给各TCP子数据流传输。
步骤606,基于各链路的校验准确率以及预设的门限阈值,各链路的往返时延以及预设时延阈值,确定数据分流与聚合策略中各链路的数据分流比例。
在实施中,网关服务器基于各链路的校验准确率以及预设的门限阈值,各链路的往返时延以及预设时延阈值,确定数据分流与聚合策略中各链路的数据分流比例。具体的,网关服务器中根据当前链路组合中每一条链路的信道状态动态配置有校验准确率的门限阈值(部分情况下还设置有往返时延的时延阈值)。网关服务器根据校验准确率和门限阈值,可以评估每条链路的可靠性和准确性。较高的校验准确率和较低的门限阈值意味着该链路的数据传输更可靠和准确。其次,根据往返时延和预设时延阈值,可以评估每条链路的延迟性能。较低的往返时延和较低的预设时延阈值意味着该链路的数据传输延迟更低。综合考虑校验准确率与门限阈值的大小关系、往返时延和预设时延阈值的大小关系,可以确定每条链路的数据分流比例。
步骤608,基于各链路的数据分流比例,将多个TCP子数据流分配至各链路。
在实施中,网关服务器基于确定出的当前链路组合中各链路的数据分流比例,将多个TCP子数据流分配至各链路,以进行业务数据的传输。
本实施例中,应用MPTCP协议进行数据分流和传输,基于各链路的校验准确率以及预设的门限阈值,各链路的往返时延以及预设时延阈值评估每条链路的可靠性和准确性,进而基于每条链路的评估结果确定各链路对应的数据分流比例,可以提高数据传输效率、可靠性和灵活性。
在一个示例性的实施例中,在该数据传输过程中,网关服务器会统计各链路校验准确率,往返时延等,以更新数据分流与聚合策略。同时,在终端侧,终端也会统计各链路校验准确率、传输时延,并结合当前网络环境及自身设备运行状态等信息向网关服务器发起更新链路请。因此,在实际业务数据的传输过程中,以终端当前进行的业务的业务类型为语音业务类型为例,详细介绍语音业务类型中的数据分流过程,如图7所示,则步骤606的具体处理过程包括步骤702至步骤704。其中,
步骤702,在各链路的校验准确率大于预设的门限阈值时,确定各链路的往返时延。
在实施中,网关服务器实时更新与终端之间的MPTCP传输策略,在链路组合的各链路上按照最小时延、冗余备份和基于优先级的数据传输模式进行数据传输,并将该数据传输模式(也即数据分流与聚合策略)同步给终端。因此,针对网关服务器这一侧,网关服务器先判断当前链路组合中各链路的校验准确率,在明确每条链路的校验准确率与预设的门限阈值的大小关系的情况下(即明确每条链路的可靠性后),再确定是否结合各链路的往返时延(也称为链路传输时延)来确定各链路的数据分流比例。
例如,当前各链路的校验准确率大于预设的门限阈值的情况,网关服务器结合各链路的往返时延进行数据分流比例的确定。若各链路的校验准确率小于预设的门限阈值,则此时各链路的往返时延不再作为数据分流比例的判断依据。
步骤704,基于各链路的往返时延以及预设时延阈值间的大小关系,确定数据分流与聚合策略中各链路的数据分流比例。
在实施中,针对确定出的各链路的校验准确率大于预设的门限阈值的情况,网关服务器基于各链路的往返时延以及预设时延阈值间的大小关系,进一步判断确定数据分流与聚合策略中各链路的数据分流比例。具体处理过程在下述实施例中会进行详细描述,在此不再赘述。
本实施例中,针对语音业务,通过根据各链路的校验准确率和/或往返时延与预设时延阈值的比较,确定数据分流与聚合策略中各链路的数据分流比例,可以实现最优路径选择、资源优化和负载均衡,从而提高数据传输性能。
在一个示例性的实施例中,如图8所示,步骤704的具体处理过程包括步骤802至步骤806。其中,
步骤802,若各链路的往返时延小于链路的往返时延对应的预设时延阈值时,响应于终端发送的链路更新请求,确定与更新后的链路组合相匹配的数据分流与聚合策略。
在实施中,每一链路动态设置有预设时延阈值,在链路组合中各链路的校验准确率大于预设的门限阈值的情况下,网关服务器比对各链路的往返时延与各链路对应的预设时延阈值间的大小关系。若各链路的往返时延小于该链路的往返时延对应的预设时延阈值时,此时,网关响应于终端发送的链路更新请求,确定与更新后的链路组合,以及该链路组合相匹配的数据分流与聚合策略。其中,该链路更新请求为终端基于当前网络环境及自身设备运行状态等信息向网关服务器发送的。
步骤804,确定更新后的数据分流与聚合策略中各链路的数据分流比例。
在实施中,针对更新后的数据分流与聚合策略,网关服务器确定更新后的数据分流与聚合策略中各链路的数据分流比例。
可选的,在网关服务器确定出当前网络环境下链路组合中各链路数据分流比例之后,可以采用负载均衡分流模式,选取最小时延的链路为高优先级链路,承担大于1/M(M为当前链路数目)比例的语音包子流,同时在多链路传输同一语音包,接收端(可以是终端,也可以是业务服务器等,本申请实施例不做限定)以“先到先收,后到丢弃”的策略接收每个语音业务的多个语音包子流,提高语音业务的可靠性和稳定性。
步骤806,若各链路的往返时延大于预设时延阈值时,更新当前的数据分流与聚合策略中各链路的数据分流比例。
在实施中,若各链路的往返时延大于预设时延阈值时,网关服务器直接更新当前的数据分流与聚合策略中各链路的数据分流比例。该数据分流比例的确定过程也可以借助上述步骤404中的计算公式,区别可能在于当前的链路组合中包含的各链路的不同,但各链路的数据分流比例(权重)的确定过程是相同的。
本实施例中,通过网关服务器确定更新后的链路组合相匹配的数据分流与聚合策略,进而,根据链路的往返时延动态调整数据分流比例,可以适应链路变化,实现动态负载均衡和优化传输效率,提高数据传输的可靠性和数据传输性能。
在一个示例性的实施例中,如图9所示,在步骤804之后,该方法还包括:
步骤902,基于更新后的数据分流与聚合策略,在更新后的链路组合的各链路的数据传输过程中,将多个TCP子数据流中的每一流媒体传输协议RTP数据包进行备份处理。
在实施中,网关服务器基于更新后的数据分流与聚合策略,在更新后的链路组合的各链路的数据传输过程中,将多个TCP子数据流中的每一流媒体协议RTP数据包进行备份处理。具体的,网关服务器复制RTP数据包:当一个RTP数据包发送到网络上时,将该数据包复制到另一个链路上,以实现RTP数据包的备份。选择备份链路:根据数据分流与聚合策略的设定,选择一个备份链路,将复制的RTP数据包发送到该链路上进行备份。
步骤904,基于更新后的数据分流与聚合策略中的链路优先级,选取更新后的链路组合中最小往返时延的链路,承担预设数据分流比例的备份处理后的RTP数据包中的IMS语音数据包的传输。
其中,备份处理后的RTP数据包中同一IMS语音包对应的备份IMS语音包与原件IMS语音包,同时分别在链路组合中的不同的链路进行传输,以使终端按照同步的数据分流与聚合策略进行接收。
在实施中,当主链路中某个RTP数据包发送失败或丢失时,备份链路中的相应备份副本可以在一定时间内进行重传,以确保数据的稳定传输。因此,网关服务器基于更新后的数据分流与聚合策略中的链路优先级,选取更新后的链路组合中最小往返时延的链路,承担预设数据分流比例的备份处理后的RTP数据包中的IMS语音数据包的传输。同时,为了确保备份链路上的RTP数据包与主链路上的RTP数据包在时间上保持一致,需要对备份链路上的时钟进行同步处理。
本实施例中,基于更新后的数据分流与聚合策略,对每个TCP数据流中的RTP数据包进行备份处理,并根据链路优先级选择当前链路组合中最小往返时延的链路承担IMS语音数据包传输,可以提高传输可靠性和数据完整性,保证IMS语音数据的及时传输。
在一个示例性的实施例中,如图10所示,步骤806的具体处理过程包括步骤1002至步骤1004。其中,
步骤1002,基于更新后的各链路的数据分流比例,将多个TCP子数据流中的IMS语音数据包分配至各链路。
在实施中,网关服务器基于更新后的各链路的数据分流比例,将多个TCP子数据流中的IMS语音数据包分配至各链路。
步骤1004,基于链路优先级选取最小往返时延的链路,对多个TCP子数据流中的IMS语音数据包进行传输。
在实施中,网关服务器基于链路优先级选取最小往返时延的链路,对多个TCP子数据流中的IMS语音数据包进行传输。具体的,网关服务器采用active-standby分流模式,选取最小时延的链路为高优先级链路,承担100%比例的语音包子流的传输,从而,提升语音业务的可靠性。
本实施例中,针对校验准确率大于预设门限阈值,各链路往返时延大于预设时延阈值的情况下,采用active-standby分流模式,选取最小时延的链路为高优先级链路,承担100%比例的语音包子流的传输,可以提高传输效率、数据传输可靠性。
在一个示例性的实施例中,如图11所示,终端当前进行的业务的业务类型为语音业务类型,步骤606的具体处理过程包括步骤1102至步骤1104。其中,
步骤1102,在各链路的校验准确率小于预设的门限阈值时,更新数据分流与聚合策略中各链路的数据分流比例。
在实施中,在各链路的校验准确率小于预设的门限阈值时,网关服务器不以各链路的往返时延作为判断依据,直接基于各链路的校验准确率更新数据分流与聚合策略中各链路的数据分流比例。具体的确定各链路的数据分流比例的计算过程,可以结合当前数据链路组合按照上述实施例中步骤604中分流比例权重的计算公式进行计算,本申请实施例在此不再赘述。
则在一个实施例中,步骤608的具体处理过程包括:
步骤1104,基于链路优先级以及各链路的数据分流比例,选取最小往返时延的链路,对多个TCP子数据流中的IMS语音数据包进行传输。
在实施中,网关服务器基于链路优先级以及各链路的数据分流比例,选取最小往返时延的链路,对多个TCP子数据流中的IMS语音数据包进行传输。具体的,网关服务器更新数据分流与聚合策略,采用active-standby分流模式,选取最小时延的链路作为最高优先级链路,承担100%比例的语音包子流。
本实施例中,通过更新数据分流与聚合策略中的链路数据分流比例,并基于链路优先级和数据分流比例选取最小往返时延的链路进行IMS语音数据包的传输,可以提高数据传输的准确性、链路利用率,提升语音通话质量,
在一个示例性的实施例中,针对另一业务类型,以终端当前业务的业务类型为数据业务类型为例,详细介绍数据业务类型中的数据分流过程,如图12所示,步骤606的具体处理过程包括步骤1202至步骤1204。其中,
步骤1202,在链路组合中各链路的校验准确率大于预设的门限阈值的情况下,确定各链路的往返时延以及各链路间的往返时延差值。
在实施中,网关服务器实时更新与终端之间的MPTCP传输策略,在链路组合的各链路上按照最小时延和负载均衡的数据传输模式进行数据传输,并将该数据传输模式(也即数据分流与聚合策略)同步给终端。因此,在实际的数据传输过程中,网关服务器先统计各链路的校验准确率,在确定了各链路的校验准确率与预设的门限阈值的大小关系的情况下,网关服务器再确定各链路的往返时延以及各链路的往返时延差值。以基于各链路校验准确率、传输时延及各链路传输时延差,更新数据分流与聚合策略。
可选的,在网关服务器对应的终端侧,终端也统计各链路校验准确率、传输时延以及各链路传输时延差,并结合当前网络环境及自身设备运行状态等信息,向网关服务器发起链路更新请求,进行链路组合的更新。
步骤1204,基于各链路的往返时延以及预设时延阈值间的大小关系,各链路间的往返时延差值以及预设时延差值阈值间的大小关系,确定数据分流与聚合策略中各链路的数据分流比例。
在实施中,在各链路组合的校验准确率大于预设的门限阈值的情况下,网关服务器基于各链路的往返时延以及预设时延阈值的大小关系,各链路间的往返时延差值以及预设时延差值阈值间的大小关系,进一步确定数据分流与聚合策略中各链路的数据分流比例。其中,针对当前链路组合中各链路往返时延与预设时延阈值的大小关系,往返时延差值与预设时延差值阈值间大小关系的各种情况,在下述实施例中会详细阐述,在此不再赘述。在每种情况下确定更新后的数据分流与聚合策略中各链路的数据分流比例所采用的计算公式与上述步骤404中相同,在此不再赘述。
本实施例中,根据各链路的往返时延以及预设的时延阈值和时延差值阈值,确定数据分流与聚合策略中各链路的数据分流比例,有效地分配数据流和优化资源利用,从而提高数据传输效率。
在一个示例性的实施例中,如图13所示,步骤1204的具体处理过程包括步骤1302至步骤1304。其中,
步骤1302,若各链路的往返时延小于预设时延阈值,且各链路间的往返时延差值小于预设时延差值阈值时,确定数据分流与聚合策略中各链路的第一数据分流比例。
在实施中,网关服务器中动态设置有每一条链路的往返时延对应的预设时延阈值,以及每条链路的往返时延差值对应的预设时延差值阈值。在业务数据传输过程中,基于各链路的往返时延,网关服务器计算各链路间的往返时延差值,进而,网关服务器进行判断,若各链路的往返时延小于预设时延阈值,且各链路间的往返时延差值小于预设时延差值阈值时,网关服务器确定数据分流与聚合策略中各链路的第一数据分流比例。
步骤1304,若各链路的往返时延大于预设时延阈值,且各链路间的往返时延差值小于预设时延差值阈值时,确定为数据分流与聚合策略中各链路的第三数据分流比例。
在实施中,若各链路的往返时延大于预设时延阈值,且各链路间的往返时延差值小于预设时延差值阈值时,网关服务器更新与链路组合匹配的数据分流策略,确定更新后的数据分流与聚合策略中各链路的第三数据分流比例。具体的,网关服务器采用负载均衡分流模式,选取最小时延的链路为高优先级链路,承担大于1/M(M为当前链路数目)比例的数据包。
本实施例中,针对数据业务,基于各链路的往返时延以及往返时延差值与预设时延阈值、预设时延差值阈值进行比对,判断各链路的延迟性能,进而,结合校验准确率增和考虑当前链路组合中每条链路的数据分流比例,提高了当前数据传输的可靠性和传输效率。
在一个示例性的实施例中,在步骤1302之后,该方法还包括:
步骤1303,基于链路优先级以及第一数据分流比例,选取链路组合中最小往返时延的链路,承担第一数据分流比例对应的业务数据的数据包的传输。
在实施中,网关服务器基于链路优先级以及第一数据分流比例,选取链路组合中最小往返时延的链路,承担第一数据分流比例对应的业务数据的数据包的传输。例如,设置第一数据分流比例为1/M,网关服务器采用负载均衡分流模式,选取最小时延的链路为高优先级链路,承担大于1/M(M为当前链路数目)比例的数据包,以提升数据传输速率。
本实施例中,基于链路优先级和第一数据分流比例,选取具有最小往返时延的链路来承担对应的业务数据的数据包传输,能够有效地最小化传输延迟、提高数据传输可靠性、优化链路利用率。
在一个示例性的实施例中,针对校验准确率与预设的门限阈值的另外一种情况,如图14所示,步骤1204的具体处理过程包括步骤1402至步骤1404。其中,
步骤1402,在链路组合中各链路的校验准确率小于预设的门限阈值的情况下,确定各链路的往返时延以及各链路间的往返时延差值。
在实施中,在实际的数据传输过程中,网关服务器先统计各链路的校验准确率,若链路组合中各链路的校验准确率小于预设的门限阈值,网关服务器进一步确定各链路的的往返时延,以及各链路间的往返时延差值,以基于各链路校验准确率、传输时延及各链路传输时延差,更新数据分流与聚合策略。
步骤1404,基于各链路的往返时延以及预设时延阈值间的大小关系,各链路间的往返时延差值以及预设时延差值阈值间的大小关系,确定数据分流与聚合策略中各链路的数据分流比例。
在实施中,针对确定出的各链路组合的校验准确率小于预设的门限阈值的情况,网关服务器基于各链路的往返时延以及预设时延阈值间的大小关系,各链路间的往返时延差值以及预设时延差值阈值间的大小关系,进一步确定数据分流与聚合策略中各链路的数据分流比例。具体处理过程在下述实施例中会详细阐述,在此不再赘述。
本实施例中,通过确定各链路的往返时延和时延差值,并根据预设阈值进行比较和分析,可以确定出适配当前链路组合的数据分流与聚合策略中各链路的数据分流比例。从而,提高了数据传输的可靠性,优化链路利用率。
在一个示例性的实施例中,如图15所示,步骤1404的具体处理过程包括步骤1502至步骤1504。其中,
步骤1502,若各链路的往返时延大于预设时延阈值,且各链路间的往返时延差值小于预设时延差值阈值时,确定数据分流与聚合策略中各链路的第二数据分流比例。
在实施中,若各链路的往返时延大于预设时延阈值,且各链路间的往返时延差值小于预设时延差值阈值时,网关服务器更新与当前链路组合相匹配的数据分流与聚合策略,确定更新后的数据分流与聚合策略中各链路的第二数据分流比例。
步骤1504,若各链路的往返时延大于预设时延阈值,且各链路间的往返时延差值大于预设时延差值阈值时,降低数据传输速率,确定数据分流与聚合策略中各链路的第四数据分流比例。
在实施中,若各链路的往返时延大于预设时延阈值,且各链路间的往返时延差值大于预设时延差值阈值时,网关服务器降低当前链路组合中业务数据的数据传输速率,更新与当前链路组合相匹配的数据分流与聚合策略,并确定更新后的数据分流与聚合策略中各链路的第四数据分流比例。其中,第四数据分流比例又分为等于1/M和大于1/M两种比例分布情况,具体处理过程会在下述实施例中进行详细描述,在此不再赘述。
本实施例中,针对数据业务,通过根据各链路的校验准确率、往返时延以及往返时延差值,确定数据分流与聚合策略中各链路的数据分流比例,可以实现最优路径选择、资源优化和负载均衡,从而提高数据传输性能。
在一个示例性的实施例中,在步骤1502之后,该方法还包括:
步骤1503,基于链路优先级以及第二数据分流比例,选取链路组合中最小往返时延的链路,承担第二数据分流比例对应的业务数据的数据包的传输。
在实施中,网关服务器基于链路优先级以及第二数据分流比例,采用负载均衡分流模式,选取最小时延的链路为高优先级链路,承担等于1/M(M为当前链路数目)比例的数据包。其中,第二数据分流比例为等于1/M。
本实施例中,基于链路优先级和第二数据分流比例,选取具有最小往返时延的链路来承担对应的业务数据的数据包传输,能够有效地最小化传输延迟、提高数据传输可靠性、优化链路利用率。
在一个示例性的实施例中,针对上述实施例中提到的第四数据分流比例包含的两种不同情况,如图16所示,以第四数据分流比例中包含的第一数据分流子比例(其中,第一数据分流子比例为等于1/M的情况)为例,对其中一种情况进行说明,则在步骤1504之后,该方法还包括:
步骤1602,响应于终端发送的链路更新请求,删除链路组合中校验准确率最低、往返时延最大的链路,更新链路组合。
在实施中,终端结合当前网络环境及自身设备运行状态等信息,向网关服务器发起链路更新请求,删除链路组合中校验准确率最低、时延最大的那条链路。网关服务器响应于该链路更新请求,更新链路组合。
步骤1604,基于链路优先级以及第一数据分流子比例,选取更新链路组合中最小往返时延的链路,承担第一数据分流子比例对应的业务数据的数据包的传输。
在实施中,网关服务器基于链路优先级以及第一数据分流子比例,采用负载均衡分流模式,选取更新后的链路组合中最小往返时延的链路为高优先级链路,承担等于1/M(M为当前链路数目)比例的数据包,即承担第一数据分流子比例对应的业务数据的数据包的传输。
可选的,在删除链路组合中校验准确率最低、时延最大的那条链路,以第一数据分流子比例进行数据传输的应用场景下,基于单链路进行数据传输是该种场景下的一种特例。
本实施例中,通过响应于终端发起的链路更新请求,删除低性能的链路、优化链路组合,并在优化后的链路组合中选取最优链路承担主要数据的传输,提高了数据传输性能、负载均衡和链路稳定性。
在一个示例性的实施例中,针对上述实施例中提到的第四数据分流比例包含的两种不同情况,如图17所示,以第四数据分流比例中包含的第二数据分流子比例(其中,第二数据分流子比例为大于1/M的情况)为例,对另一种情况进行说明,则在步骤1504之后,该方法还包括:
步骤1702,响应于终端发送的链路更新请求,删除链路组合中校验准确率最低、往返时延最大的链路,建立一条新的non-3GPP链路或者蜂窝链路,更新链路组合。
在实施中,终端结合当前网络环境及自身设备运行状态等信息,向网关服务器发起链路更新请求,要求删除链路组合中校验准确率最低、往返时延最大的链路,同时建立一条新的可用链路,该可用链路可以是non-3GPP链路或者蜂窝链路,网关服务器响应于该链路更新请求,更新链路组合。
步骤1704,基于链路优先级以及第二数据分流子比例,选取更新链路组合中最小往返时延的链路,承担第二数据分流子比例对应的业务数据的数据包的传输。
在实施中,网关服务器基于链路优先级以及第二数据分流子比例,采用负载均衡分流模式,选取最小时延的链路为最高优先级链路,承担大于1/M(M为当前链路数目)比例的数据包,即承担第二数据分流子比例对应的业务数据的数据包的传输。
可选的,在删除链路组合中校验准确率最低、往返时延最大的链路,同时建立一条新的可用链路,并以第二数据分流子比例进行数据传输的应用场景下,存在单链路传输、多链路传输间的变换的情况,其实际可以基于具体业务场景进行动态的链路调整,本申请实施例对此不做限定。
本实施例中,通过响应于终端发起的链路更新请求,删除低性能的链路、建立了新的可用链路,实现链路组合的优化,并在优化后的链路组合中选取最优链路承担主要数据的传输,提高了数据传输性能、负载均衡和链路稳定性。
在一个示例性的实施例中,如图18所示,提供了一种网络传输方法,针对业务数据传输的双方,以该方法应用于图1中的终端为例进行说明,包括以下步骤1802至步骤1806。其中:
步骤1802,判断当前进行的业务是否为网关服务器中业务白名单中的业务。
在实施中,终端正在进行的业务须为与网关服务器签约、属于白名单列表中的业务,因此,针对当前正在进行的业务,终端先判断当前正在进行的业务是否为网关服务器中业务白名单中的业务。
步骤1804,在确定为网关服务器中业务白名单中的业务时,基于多接口多链路接入能力、当前所处网络环境以及终端运行状态,向网关服务器发送第一链路请求流程,触发MPTCP传输模式。
其中,第一链路请求流程用于在多接口多链路接入能力、当前所处网络环境以及终端运行状态满足MPTCP模式条件的情况下,在终端与网关服务器间建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合
在实施中,在确定为网关服务器中业务白名单中的业务时,终端基于多接口多链路接入能力、当前所说出网络环境以及当前终端设备的运行状态,向网关服务器发起MPTCP多链路请求(即第一链路请求流程),以使网关服务器响应于终端发送的第一链路请求流程,在终端和网关服务器之间建立第一链路请求流程中要求的多链路,触发MPTCP传输模式。
步骤1806,接收网关服务器下发的与当前链路组合匹配的数据分流与聚合策略,通过终端与网关服务器间的链路组合,对当前业务进行 MPTCP 传输。
在实施中,基于上述实施例中步骤404所描述的,在网关服务器侧,网关服务器根据多链路组合,确定不同业务对应的SLA,实时监控每条链路的信道状态,统计每条链路的传输往返时延以及校验准确率,在满足当前业务对应的业务应用服务质量QoS要求的前提下,确定数据分流与聚合策略,并将确定后的数据分流与聚合策略同步给终端,终端接收网关服务器下发的数据分流与聚合策略,将需要发送至业务应用服务器的数据包分段成多个TCP子流,按照数据分流与聚合策略中确定的数据分流比例分配至链路组合中的各链路,通过各链路,对当前业务进行 MPTCP 传输。并且,终端实时监控每条链路的信道状态,统计每条链路的传输往返时延及校验准确率。
可选的,网关服务器按照数据分流与聚合策略,聚合来自终端通过多链路传输的多个TCP子流,然后,将多个TCP子流(业务数据)转发至业务服务器。同样的,业务服务器也可以与网关服务器通信,将业务服务器侧的数据通过预设数据传输凡事传输至网关服务器,网关服务器根据当前的数据分流与聚合策略,将接收到的来自业务服务器的数据包分段为多个TCP子数据流,然后,按照分流比例分配至当前链路组合中的各链路,通过各链路将多个TCP子数据流发送至终端,与终端进行MPTCP通信,因此,在终端与网关服务器之间存在双向的数据传输。
本实施例中,通过判断业务白名单、触发第一链路请求流程以及建立合适的链路组合,进而基于建立的链路组合与网关服务器之间进行MPTCP传输,提高链路传输性能、增强链路可靠性。
在一个示例性的实施例中,由于终端具有移动性,当终端的移动引起当前所处环境(包括当前网络环境、终端运行状态以及其他影响数据传输的因素)的变化时,终端与网关服务器之间建立的链路组合是随着当前环境的变化而进行动态调整的,如图19所示,该方法还包括:
步骤1902,若当前所处网络环境发生变化时,向网关服务器发起第二链路请求流程。
其中,第二链路请求流程用于在当前网络环境中,在终端的多接口多链路接入能力、终端设备属性以及本地运行状态不满足MPTCP模式条件的情况下,退出MPTCP传输模式,删除终端与网关服务器间的包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合。
在实施中,若当前所处网络环境发生变化时,终端向网关服务器发起第二链路请求,该第二链路请求应用更新当前链路组合。具体的,终端基于多接口多链路接入能力、终端设备属性以及本地运行状态进行判断,在确定当前环境不满足MPTCP模式条件的情况下,终端控制退出MPTCP传输模式,删除终端与网关服务器间的链路组合,采用传输的单链路数据传输模式进行数据传输。
步骤1904,在进入新的网络环境后,向新的网络环境中的网关服务器发起第三链路请求流程。
其中,第三链路请求流程用于在终端的多接口多链路接入能力、终端设备属性以及本地运行状态满足MPTCP模式条件的情况下,在终端与新的网络环境中的网关服务器间建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合。
在实施中,在终端进入新的网络环境后,终端向新的网络环境中的网关服务器发第三链路请求流程,该第三链路请求流程用于与新的网络环境中的网关服务器建立新的MPTCP传输。具体的,终端基于多接口多链路接入能力,终端设备属性以及本地运行状态进行判断,当确定当前新的环境满足MPTCP模式条件时,在终端与新的网络环境中的网关服务器间建立多链路的链路组合,该链路组合中包含non-3GPP链路和蜂窝链路中的至少一种类型的链路的。
本实施例中,在终端所处的环境发生变化时,终端可以根据当前网络环境的变化,发起链路请求流程,通过链路请求流程更新终端与网关服务器之间的链路组合,从而,选择合适的链路组合和传输模式进行数据传输,提高了数据传输的效率和稳定性。
在一个示例性的实施例中,由于终端侧包含的业务分为不同的业务类型,例如,数据业务类型、语音业务类型,终端可以基于不同的业务类型,适配与该业务类型相匹配的链路组合,以提高数据传输的效率和稳定性。本实施例以终端正在进行的业务的业务类型为数据业务类型为例,对链路组合的更新进行说明,该方法还包括:
步骤1806a,当终端的网络环境发生变化,或者终端运行状态不满足预设运行条件时,向网关服务器发起第四链路请求流程,更新当前的链路组合。
其中,更新当前的链路组合包括增加、更新或者删除链路组合中的链路。
在实施中,在数据业务的业务数据传输过程中,当终端的网络环境发生变化,或者终端运行状态不满足预设运行条件时,终端向网关服务器发起第四链路请求流程,该第四链路请求流程用于更新终端与网关服务器之间的当前链路组合。基于该第四链路请求流程进行链路更新的具体处理过程在下述实施例会进行详细描述,在此不再赘述。
本实施例中,针对数据业务类型的数据传输,终端通过向网关服务器发起第四链路请求流程,更新当前的链路组合可以优化链路选择、适应运行条件变化,提高数据传输稳定性。
在一个示例性的实施例中,如图20所示,步骤1806a的具体处理过程包括以下步骤2002至步骤2004。其中:
步骤2002,针对当前进行的业务为数据业务类型,若各链路间的往返时延中存在目标差值大于预设时延阈值,向网关服务器发送第四链路请求流程,更新当前的链路组合。
其中,第四链路请求流程用于删除各链路中校验准确率最低、往返时延最大的链路。
在实施中,当前正在进行的业务的业务类型为数据业务类型,针对数据业务类型,终端确定各链路间的往返时延中存在目标差值大于预设时延阈值,则终端向网关服务器发送第四链路请求流程,删除当前链路组合中校验准确率最低、往返时延最大的链路,得到更新后的链路组合。
步骤2004,在剩余的各链路中选择校验准确率最高、往返时延最小的单一链路进行数据传输。
在实施中,针对当前网络环境不满足多链路传输,或者,终端运行状态不满足预设运行条件的情况,终端在更新后的链路组合的剩余链路中选择校验准确率最高、往返时延最小的单一链路进行数据传输。
本实施例中,针对终端侧发生的网络环境变化、运行状态的变化等,终端删除链路组合中的链路,选择校验准确率高、往返时延小的单一链路进行数据传输,可以提高数据传输的稳定性、网络传输效率和降低网络传输延迟。
在一个可选的实施例中,本实施例中给出一种基于IMS语音包/数据分流SDK的整体数据传输流程,如图21所示,TUN代表网络隧道(Tunnel)设备、ETH1和ETH2可能代表以太网(Ethernet)的两个网络接口。具体流程如下:
一、发送数据过程:
1.第三方应用(浏览器)发送网络数据。
2.IMS语音包/数据分流SDK根据修改后的路由表把网络数据路由到虚拟网卡
3.虚拟网卡把网络数据放到数据队列中。
4.字符设备从数据队列中取数据,然后送给应用层。
5.应用层把数据转发给物理网卡。
6.物理网卡通过MPTCP协议发送网络数据。
7.vpn数据分流服务端接收到网络数据。
8.将网络数据转发到第三方应用服务端。
9.第三方应用服务端返回数据。
10.vpn数据分流服务端将第三方应用服务端返回数据通过MPTCP协议传回IMS语音包/数据分流SDK。
二、接收数据过程
1. 物理网卡接受到数据,并传到第三方应用。
2. 应用守护程序通过字符设备,把数据传给驱动网卡。
3. 数据通过虚拟网卡重新进入网络堆栈。
4. 网络堆栈把数据传给上层真实的第三方应用。
在一个可选的实施例中,如图22所示,以WLAN物理网卡接口为例,示意IMS语音包收发步骤过程,在终端侧(例如,移动终端)开发动态策略配置及路由中间件SDK,实现终端MPTCP能力的底层支持及封装;同时在核心网中引入MA-GW(Multi-access gateway,多接入网关,即上文中的网关服务器),IMS语音包/数据分流网关节点,与应用提供商服务端统一对接,实现端到端的数据分流业务打通,并集中管控分流及路由。终端侧的IMS语音包/数据分流SDK,支持动态分流策略的接收、配置及生效。MA-GW服务器(即网关服务器)端的IMS语音包/数据分流网关SDK,支持动态分流策略的下发及路由。通过MPCTP SDK(包括终端侧和MA-GW侧的SDK)接管第三方应用流量,并引入灵活的分流策略下发及配置功能模块(用于下发数据分流与聚合策略),实现灵活、统一、对核心网及第三方应用无改动的端到端的数据分流。
对MPTCP SDK实现方法进行功能说明:
1、APPClient:第三方APP即需要进行数据分流的APP,自身不用进行底层MPTCP改造,数据传输还是执行TCP协议。
2、IMS语音包/数据分流SDK:驻留手机监控第三方APP网络通讯,负责进行数据分流主要工作:通过MPTCP建立通信隧道,捕获APPClient的通信报文,发送给IMS语音包/数据分流网关,分流网关返回的通信报文传送回IMS语音包/数据分流SDK,并处理转换为TCP的方式返回APPClient。
3、IMS语音包/数据分流网关:负责与IMS语音包/数据分流SDK通过MPTCP建立隧道,并接收IMS语音包/数据分流SDK的报文,再并将其转发给第三方APP Server。
4、APP Server:第三方APP的服务端,自身不用进行底层MPTCP改造,接收分流网关转发的第三方APP的数据请求,并响应相关请求。
5、网关服务器:负责分流参数及第三方APPClient白名单的配置。
具体的业务流程为:
1、 IMS语音包/数据分流SDK在启动时与网关服务器进行通信,将同步适用MPTCP传输业务包括第三方APP白名单数据到SDK,SDK同时初始化相关数据。
2、 IMS语音包/数据分流SDK从网关服务器同步分流策略数据到SDK,SDK同时初始化相关数据。
3、 IMS语音包/数据分流SDK在启动时与IMS语音包/IMS语音包/数据分流网关进行通信,并通过MPTCP协议进行L2TP隧道的创建。
4、 L2TP隧道的创建,数据包可以经过vpn进行传输。
5、 IMS语音包/数据分流SDK同时在手机终端创建虚拟网卡。
6、 IMS语音包/数据分流SDK监听适用MPTCP传输业务包括第三方APP的数据流量。
7、 适用MPTCP传输业务包括第三方APP通过终端物理网卡发起请求数据ip包。
8、 物理网卡将适用MPTCP传输业务包括第三方APP的请求数据ip包转发至虚拟网卡。
9、 IMS语音包/数据分流SDK获取到ip包并进行封装经过虚拟网卡发送出去。
10、 适用MPTCP传输业务包括第三方APP的请求数据ip包通过隧道发送到IMS语音包/IMS语音包/数据分流网关。
11、 IMS语音包/IMS语音包/数据分流网关将适用MPTCP传输业务包括第三方APP的请求数据ip包转发到网关服务器的虚拟网卡。
12、 适用MPTCP传输业务包括第三方APP的请求数据ip包从IMS语音包/IMS语音包/数据分流网关的虚拟网卡转发到网关服务器的物理网卡。并对包进行拆装为tcp方式。
13、 将适用MPTCP传输业务包括第三方APP的请求数据经过网关服务器的物理网卡发送给IMS/APPServer。
14、 IMS/APPServer对请求包进行响应,并返回至IMS语音包/IMS语音包/数据分流网关的物理网卡。
15、 网关服务器的物理网卡接收后响应包后转至虚拟网卡。
16、 IMS语音包/IMS语音包/数据分流网关读取响应包并封装成MPTCP的ip包。
17、 Ip包通过隧道传送回IMS语音包/数据分流SDK。
18、 SDK将响应包返回到虚拟网卡,并对包进行拆装为tcp方式。
19、 原生/APP Client接收到相关的响应数据。
MPTCP SDK具体实现原理:IMS语音包/数据分流SDK与IMS语音包/数据分流网关创建VPN隧道,隧道利用MPTCP的方式进行传输。首先IMS语音包/数据分流SDK创建虚拟网卡TUN0,并对虚拟网卡TUN0配置相关IP。直接读写虚拟网卡(也就是物理网卡实际收发报文的过程)。捕获适用MPTCP传输业务包括第三方APP的请求数据以及接收数据。将从虚拟网卡的接收的数据通过 socket 发送给IMS语音包/数据分流网关,收发报文采用MPTCP协议改写。IMS语音包/数据分流网关配置转发策略及路由。IMS语音包/数据分流网关将报文转发到IMS/第三方APP服务端。完整实现网关服务器节点的数据聚合及分流。
VPN在MPTCP SDK中的实现方式
VPN 全称为虚拟私人网络(Virtual Private Network),利用隧道协议(Tunneling Protocol)来达到发送端认证、消息保密与准确性等功能。
常用场景是在外网的用户可以使用 VPN client 连接组织搭建的 VPN server以建立通信隧道,随后便建立了虚拟的私人网络,处于外网的 worker 和内网中的 server可以相互通信。其原理由 VPN client 捕获用户发出的报文,封装报文后通过物理网络通信链路将报文发给 VPN server,VPN server 接收到报文后进行解包,再将其转发给实际的目标,反之同理;VPN 在逻辑层面构建了虚拟网络。当前由IMS语音包/数据分流SDK作为VPN client,而IMS语音包/数据分流网关作为VPN server。虚拟网卡TUN是操作系统内核中的虚拟网络设备,网络层设备(三层设备),操作和封装网络层数据帧。创建虚拟网卡TUN由IMS语音包/数据分流SDK进行实现,向安卓操作系统和第三方APP提供与硬件网络设备完全相同的功能。当第三方APP发出报文后,报文将通过安卓操作系统协议栈处理,到达网络设备,硬件网络设备将收到的报文转化发出。按照虚拟网卡 TUN的工作特性,可以编写程序直接读写虚拟网卡(也就是类似物理网卡实际收发报文的过程),来实现捕获第三方APP数据以及传递第三方APP数据。随后,IMS语音包/数据分流SDK通过 socket 进行通信,将从虚拟网卡的接收的数据通过 socket 发送给IMS语音包/数据分流网关。通过采用VPN的方式实现了拦截转发第三方APP的数据的效果。
MPTCP实现方式
MPTCP位于应用层之下,IP层之上,取代了原先的TCP层,并划分为两个子层:MPTCP层和TCP层。在MPTCP中,主要分四个重要部分:
1、路径:IMS语音包/数据分流SDK与IMS语音包/数据分流网关之间的一个连接序列。
2、子流:一个独自的TCP连接,连接构成一个MPTCP连接,子流的开始与终止与一个常规的TCP连接相同。
3、MPTCP:一个或者多个子流集合,通过它IMS语音包/数据分流SDK与IMS语音包/数据分流网关可以通讯。
4、令牌:IMS语音包/数据分流网关中的一个路径中的一个独一无二的局部标示符。可以理解为就是一个连接ID。
MPTCP SDK详细功能:
配置同步:IMS语音包/数据分流SDK在启动的时候会与网关服务器进行通信,与第三方应用白名单接口和分流策略配置接口对接,通过接口来获取第三方APP白名单和分流参数的信息。同步后会将配置信息写入本地,并对参数进行初始化处理。
流量监听:根据白名单的中定义的第三方APP进行监听,监听相关第三方APP的启动和网络流量情况,当发现有流量数据的时候将流量数据转发到至虚拟网卡进行处理。
隧道建立:IMS语音包/数据分流SDK与IMS语音包/数据分流网关通过隧道协议和MPTCP协议进行VPN隧道的建立,并在手机终端创建相关的虚拟网卡。
数据收发:当发现有流量数据的时候将流量数据转发到至虚拟网卡进行处理。将数据包从tcp协议转换为mptcp协议并通过VPN发送到分流网关处理,分流网关再将数据包转换为tcp协议送给APPserver进行处理。同样响应数据根据原路处理返回。
开关控制:IMS语音包/数据分流SDK具备相关界面,显示系统中的所有支持MPTCP的第三方应用。界面会显示所有第三方APP列表,具备启动和关闭开关进行开启和关闭数据分流,在关闭数据分流的功能下,IMS语音包/数据分流SDK不会建立vpn实现数据分流,按原来的tcp方式进行数据收发。每个第三方APP在启动数据分流的时会显示流量统计图表,显示当前网络状态及相关流量。
分流策略:根据从接口同步到本地的分流策略,对第三方APP在开启数据分流过程中的子流数据比例策略进行控制。根据设定的参数可以控制蜂窝流量与WiFi流量的分流比例。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的网络传输方法的网络传输装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个网络传输装置实施例中的具体限定可以参见上文中对于网络传输方法的限定,在此不再赘述。
在一个示例性的实施例中,如图23所示,提供了一种网络传输装置,该装置2300应用于网络服务器,包括:建立模块2301、检测与确定模块2302和处理模块2303,其中:
建立模块2301,用于响应于终端发送的第一链路请求流程,与终端建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
检测与确定模块2302,用于实时监控每条链路的信道状态信息,确定每条链路的链路传输质量,并基于链路传输质量以及业务应用服务质量QoS要求,确定相匹配的数据分流与聚合策略;
处理模块2303,用于将数据分流与聚合策略下发至终端,并基于数据分流与聚合策略,进行业务数据的路由管理和分流管控。
在其中一个实施例中,检测与确定模块2302,具体用于基于终端当前进行的业务的业务类型以及当前建立的链路组合,在白名单列表中确定当前进行的业务对应的服务等级协议SLA;
基于链路组合、链路组合中每条链路的链路传输质量以及服务等级协议SLA中的业务应用服务质量QoS要求,确定与预设链路传输质量条件和业务应用服务质量QoS条件相匹配的数据分流与聚合策略。
在其中一个实施例中,检测与确定模块2302,具体用于接收终端中数据分流SDK传输的多路径传输的协议MPTCP通讯时的业务数据;
将业务数据分段处理,得到业务数据的多个TCP子数据流;
基于各链路的校验准确率以及预设的门限阈值,各链路的往返时延以及预设时延阈值,确定数据分流与聚合策略中各链路的数据分流比例;
基于各链路的数据分流比例,将多个TCP子数据流分配至各链路。
在其中一个实施例中,终端当前进行的业务的业务类型为语音业务类型,检测与确定模块2302,具体用于在各链路的校验准确率大于预设的门限阈值时,确定各链路的往返时延;
基于各链路的往返时延以及预设时延阈值间的大小关系,确定数据分流与聚合策略中各链路的数据分流比例。
在其中一个实施例中,检测与确定模块2302,具体用于若各链路的往返时延小于链路的往返时延对应的预设时延阈值时,响应于终端发送的链路更新请求,确定与更新后的链路组合相匹配的数据分流与聚合策略;
确定更新后的数据分流与聚合策略中各链路的数据分流比例;
若各链路的往返时延大于预设时延阈值时,更新当前的数据分流与聚合策略中各链路的数据分流比例。
在其中一个实施例中,该装置2300还包括:
备份处理模块,用于基于更新后的数据分流与聚合策略,在更新后的链路组合的各链路的数据传输过程中,将多个TCP子数据流中的每一流媒体传输协议RTP数据包进行备份处理;
第一选路传输模块,用于基于更新后的数据分流与聚合策略中的链路优先级,选取更新后的链路组合中最小往返时延的链路,承担预设数据分流比例的备份处理后的RTP数据包中的IMS语音数据包的传输;其中,备份处理后的RTP数据包中同一IMS语音包对应的备份IMS语音包与原件IMS语音包,同时分别在链路组合中的不同的链路进行传输,以使终端按照同步的数据分流与聚合策略进行接收。
在其中一个实施例中,检测与确定模块2302,具体用于基于更新后的各链路的数据分流比例,将多个TCP子数据流中的IMS语音数据包分配至各链路;
基于链路优先级选取最小往返时延的链路,对多个TCP子数据流中的IMS语音数据包进行传输。
在其中一个实施例中,终端当前进行的业务的业务类型为语音业务类型,检测与确定模块2302,具体用于在各链路的校验准确率小于预设的门限阈值时,更新数据分流与聚合策略中各链路的数据分流比例;
基于各链路的数据分流比例,将多个TCP子数据流分配至各链路,包括:
基于链路优先级以及各链路的数据分流比例,选取最小往返时延的链路,对多个TCP子数据流中的IMS语音数据包进行传输。
在其中一个实施例中,终端当前进行的业务的业务类型为数据业务类型,检测与确定模块2302,具体用于在链路组合中各链路的校验准确率大于预设的门限阈值的情况下,确定各链路的往返时延以及各链路间的往返时延差值;
基于各链路的往返时延以及预设时延阈值间的大小关系,各链路间的往返时延差值以及预设时延差值阈值间的大小关系,确定数据分流与聚合策略中各链路的数据分流比例。
在其中一个实施例中,检测与确定模块2302,具体用于若各链路的往返时延小于预设时延阈值,且各链路间的往返时延差值小于预设时延差值阈值时,确定数据分流与聚合策略中各链路的第一数据分流比例;
若各链路的往返时延大于预设时延阈值,且各链路间的往返时延差值小于预设时延差值阈值时,确定为数据分流与聚合策略中各链路第三数据分流比例。
在其中一个实施例中,该装置2300还包括:
第二选路传输模块,用于基于链路优先级以及第一数据分流比例,选取链路组合中最小往返时延的链路,承担第一数据分流比例对应的业务数据的数据包的传输。
在其中一个实施例中,终端当前进行的业务的业务类型为数据业务类型,检测与确定模块2302,具体用于在链路组合中各链路的校验准确率小于预设的门限阈值的情况下,确定各链路的往返时延以及各链路间的往返时延差值;
基于各链路的往返时延以及预设时延阈值间的大小关系,各链路间的往返时延差值以及预设时延差值阈值间的大小关系,确定数据分流与聚合策略中各链路的数据分流比例。
在其中一个实施例中,检测与确定模块2302,具体用于若各链路的往返时延大于预设时延阈值,且各链路间的往返时延差值小于预设时延差值阈值时,确定数据分流与聚合策略中各链路的第二数据分流比例;
若各链路的往返时延大于预设时延阈值,且各链路间的往返时延差值大于预设时延差值阈值时,降低数据传输速率,确定数据分流与聚合策略中各链路的第四数据分流比例。
在其中一个实施例中,该装置2300还包括:
第三选路传输模块,用于基于链路优先级以及第二数据分流比例,选取链路组合中最小往返时延的链路,承担第二数据分流比例对应的业务数据的数据包的传输。
在其中一个实施例中,第四数据分流比例中包含第一数据分流子比例,该装置2300还包括:
第一链路更新模块,用于响应于终端发送的链路更新请求,删除链路组合中校验准确率最低、往返时延最大的链路,更新链路组合;
第四选路传输模块,用于基于链路优先级以及第一数据分流子比例,选取更新链路组合中最小往返时延的链路,承担第一数据分流子比例对应的业务数据的数据包的传输。
在其中一个实施例中,第四数据分流比例中包含第二数据分流子比例,该装置2300还包括:
第二链路更新模块,用于响应于终端发送的链路更新请求,删除链路组合中校验准确率最低、往返时延最大的链路,建立一条新的non-3GPP链路或者蜂窝链路,更新链路组合;
第五选路传输模块,用于基于链路优先级以及第二数据分流子比例,选取更新链路组合中最小往返时延的链路,承担第二数据分流子比例对应的业务数据的数据包的传输。
在一个示例性的实施例中,如图24所示,提供了一种网络传输装置,该装置2400应用于终端,包括:检测模块2401、发送模块2402和传输模块2403,其中:
检测模块2402,用于判断当前进行的业务是否为网关服务器中业务白名单中的业务;
发送模块2402,用于在确定为网关服务器中业务白名单中的业务时,基于多接口多链路接入能力、当前所处网络环境以及终端运行状态,向网关服务器发送第一链路请求流程,触发MPTCP传输模式;第一链路请求流程用于在多接口多链路接入能力、当前所处网络环境以及终端运行状态满足MPTCP模式条件的情况下,在终端与网关服务器间建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
传输模块2403,用于接收网关服务器下发的与当前链路组合匹配的数据分流与聚合策略,通过终端与网关服务器间的链路组合,对当前业务进行 MPTCP 传输。
在其中一个实施例中,该装置2400包括:
第一链路更新模块,用于若当前所处网络环境发生变化时,向网关服务器发起第二链路请求流程,第二链路请求流程用于在当前网络环境中,在终端的多接口多链路接入能力、终端设备属性以及本地运行状态不满足MPTCP模式条件的情况下,退出MPTCP传输模式,删除终端与网关服务器间的包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
第二链路更新模块,用于在进入新的网络环境后,向新的网络环境中的网关服务器发起第三链路请求流程,第三链路请求流程用于在终端的多接口多链路接入能力、终端设备属性以及本地运行状态满足MPTCP模式条件的情况下,在终端与新的网络环境中的网关服务器间建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合。
在其中一个实施例中,终端当前进行的业务的业务类型为数据业务类型,该装置2400还包括:
第三链路更新模块,用于当终端的网络环境发生变化,或者终端运行状态不满足预设运行条件时,向网关服务器发起第四链路请求流程,更新当前的链路组合;更新当前的链路组合包括增加、更新或者删除链路组合中的链路。
在其中一个实施例中,第三链路更新模块,具体用于针对当前进行的业务为数据业务类型,若各链路间的往返时延中存在目标差值大于预设时延阈值,向网关服务器发送第四链路请求流程,更新当前的链路组合;第四链路请求流程用于删除各链路中校验准确率最低、往返时延最大的链路;
在剩余的各链路中选择校验准确率最高、往返时延最小的单一链路进行数据传输。
上述网络传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于通信设备中的处理器中,也可以以软件形式存储于通信设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种通信设备,该通信设备可以是服务器,其内部结构图可以如图25所示。该通信设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该通信设备的处理器用于提供计算和控制能力。该通信设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该通信设备的数据库用于存储业务数据。该通信设备的输入/输出接口用于处理器与外部设备之间交换信息。该通信设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网络传输方法。
在一个示例性的实施例中,提供了一种通信设备,该通信设备可以是终端,其内部结构图可以如图26所示。该通信设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该通信设备的处理器用于提供计算和控制能力。该通信设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该通信设备的输入/输出接口用于处理器与外部设备之间交换信息。该通信设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种网络传输方法。该通信设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该通信设备的输入装置可以是显示屏上覆盖的触摸层,也可以是通信设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图26中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的通信设备的限定,具体的通信设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种通信设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (23)
1.一种网络传输方法,其特征在于,所述方法应用于融合核心网中的网关服务器,所述网关服务器位于用户面协议功能UPF与业务应用服务器之间,所述方法包括:
响应于终端发送的第一链路请求流程,与所述终端建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
实时监控每条链路的信道状态信息,确定每条链路的链路传输质量,并基于所述链路传输质量以及业务应用服务质量QoS要求,确定相匹配的数据分流与聚合策略;
将所述数据分流与聚合策略下发至所述终端,并基于所述数据分流与聚合策略,进行业务数据的路由管理和分流管控。
2.根据权利要求1所述的方法,其特征在于,所述基于所述链路传输质量以及业务应用服务质量QoS要求,确定相匹配的数据分流与聚合策略,包括:
基于所述终端当前进行的业务的业务类型以及当前建立的所述链路组合,在白名单列表中确定所述当前进行的业务对应的服务等级协议SLA;
基于所述链路组合、所述链路组合中每条链路的链路传输质量以及所述服务等级协议SLA中的业务应用服务质量QoS要求,确定与预设链路传输质量条件和业务应用服务质量QoS条件相匹配的数据分流与聚合策略。
3.根据权利要求2所述的方法,其特征在于,所述基于所述数据分流与聚合策略,进行业务数据的路由管理和分流管控,包括:
接收所述终端中数据分流SDK传输的多路径传输的协议MPTCP通讯时的业务数据;
将所述业务数据分段处理,得到所述业务数据的多个TCP子数据流;
基于各所述链路的校验准确率以及预设的门限阈值,各所述链路的往返时延以及预设时延阈值,确定所述数据分流与聚合策略中各所述链路的数据分流比例;
基于各所述链路的数据分流比例,将所述多个TCP子数据流分配至各所述链路。
4.根据权利要求3所述的方法,其特征在于,所述终端当前进行的业务的业务类型为语音业务类型,所述基于各所述链路的校验准确率以及预设的门限阈值,各所述链路的往返时延以及预设时延阈值,确定所述数据分流与聚合策略中各所述链路的数据分流比例,包括:
在各所述链路的校验准确率大于所述预设的门限阈值时,确定各所述链路的往返时延;
基于各所述链路的往返时延以及预设时延阈值间的大小关系,确定所述数据分流与聚合策略中各所述链路的数据分流比例。
5.根据权利要求4所述的方法,其特征在于,所述基于各所述链路的往返时延以及预设时延阈值间的大小关系,确定所述数据分流与聚合策略中各所述链路的数据分流比例,包括:
若各所述链路的往返时延小于所述链路的往返时延对应的预设时延阈值时,响应于终端发送的链路更新请求,确定与更新后的链路组合相匹配的数据分流与聚合策略;
确定更新后的数据分流与聚合策略中各所述链路的数据分流比例;
若各所述链路的往返时延大于预设时延阈值时,更新当前的数据分流与聚合策略中各所述链路的数据分流比例。
6.根据权利要求5所述的方法,其特征在于,所述确定更新后的数据分流与聚合策略中各所述链路的数据分流比例之后,所述方法还包括:
基于更新后的数据分流与聚合策略,在所述更新后的链路组合的各所述链路的数据传输过程中,将所述多个TCP子数据流中的每一流媒体传输协议RTP数据包进行备份处理;
基于所述更新后的数据分流与聚合策略中的链路优先级,选取所述更新后的链路组合中最小往返时延的链路,承担预设数据分流比例的备份处理后的RTP数据包中的IMS语音数据包的传输;其中,所述备份处理后的RTP数据包中同一IMS语音包对应的备份IMS语音包与原件IMS语音包,同时分别在所述链路组合中的不同的链路进行传输,以使所述终端按照同步的数据分流与聚合策略进行接收。
7.根据权利要求5所述的方法,其特征在于,所述若各所述链路的往返时延大于预设时延阈值时,更新当前的数据分流与聚合策略中各所述链路的数据分流比例,包括:
基于所述更新后的各所述链路的数据分流比例,将所述多个TCP子数据流中的IMS语音数据包分配至各所述链路;
基于链路优先级选取最小往返时延的链路,对所述多个TCP子数据流中的IMS语音数据包进行传输。
8.根据权利要求3所述的方法,其特征在于,所述终端当前进行的业务的业务类型为语音业务类型,所述基于各所述链路的校验准确率以及预设的门限阈值,各所述链路的往返时延以及预设时延阈值,确定所述数据分流与聚合策略中各所述链路的数据分流比例,包括:
在各所述链路的校验准确率小于所述预设的门限阈值时,更新所述数据分流与聚合策略中各所述链路的数据分流比例;
所述基于各所述链路的数据分流比例,将所述多个TCP子数据流分配至各所述链路,包括:
基于链路优先级以及各所述链路的数据分流比例,选取最小往返时延的链路,对所述多个TCP子数据流中的IMS语音数据包进行传输。
9.根据权利要求3所述的方法,其特征在于,所述终端当前进行的业务的业务类型为数据业务类型,所述基于各所述链路的校验准确率以及预设的门限阈值,各所述链路的往返时延以及预设时延阈值,确定所述数据分流与聚合策略中各所述链路的数据分流比例,包括:
在所述链路组合中各所述链路的校验准确率大于预设的门限阈值的情况下,确定各所述链路的往返时延以及各所述链路间的往返时延差值;
基于各所述链路的往返时延以及预设时延阈值间的大小关系,各所述链路间的往返时延差值以及预设时延差值阈值间的大小关系,确定所述数据分流与聚合策略中各所述链路的数据分流比例。
10.根据权利要求9所述的方法,其特征在于,所述基于各所述链路的往返时延以及预设时延阈值间的大小关系,各所述链路间的往返时延差值以及预设时延差值阈值间的大小关系,确定所述数据分流与聚合策略中各所述链路的数据分流比例,包括:
若各所述链路的往返时延小于所述预设时延阈值,且各所述链路间的往返时延差值小于预设时延差值阈值时,确定数据分流与聚合策略中各所述链路的第一数据分流比例;
若各所述链路的往返时延大于所述预设时延阈值,且各所述链路间的往返时延差值小于预设时延差值阈值时,确定为数据分流与聚合策略中各所述链路第三数据分流比例。
11.根据权利要求10所述的方法,其特征在于,所述确定数据分流与聚合策略中各所述链路的第一数据分流比例之后,所述方法还包括:
基于链路优先级以及所述第一数据分流比例,选取所述链路组合中最小往返时延的链路,承担所述第一数据分流比例对应的业务数据的数据包的传输。
12.根据权利要求3所述的方法,其特征在于,所述终端当前进行的业务的业务类型为数据业务类型,所述基于各所述链路的校验准确率以及预设的门限阈值,各所述链路的往返时延以及预设时延阈值,确定所述数据分流与聚合策略中各所述链路的数据分流比例,包括:
在所述链路组合中各所述链路的校验准确率小于预设的门限阈值的情况下,确定各所述链路的往返时延以及各所述链路间的往返时延差值;
基于各所述链路的往返时延以及预设时延阈值间的大小关系,各所述链路间的往返时延差值以及预设时延差值阈值间的大小关系,确定所述数据分流与聚合策略中各所述链路的数据分流比例。
13.根据权利要求12所述的方法,其特征在于,所述基于各所述链路的往返时延以及预设时延阈值间的大小关系,各所述链路间的往返时延差值以及预设时延差值阈值间的大小关系,确定所述数据分流与聚合策略中各所述链路的数据分流比例,包括:
若各所述链路的往返时延大于所述预设时延阈值,且各所述链路间的往返时延差值小于预设时延差值阈值时,确定所述数据分流与聚合策略中各所述链路的第二数据分流比例;
若各所述链路的往返时延大于所述预设时延阈值,且各所述链路间的往返时延差值大于预设时延差值阈值时,降低数据传输速率,确定所述数据分流与聚合策略中各所述链路的第四数据分流比例。
14.根据权利要求13所述的方法,其特征在于,所述确定所述数据分流与聚合策略中各所述链路的第二数据分流比例之后,所述方法还包括:
基于链路优先级以及所述第二数据分流比例,选取所述链路组合中最小往返时延的链路,承担所述第二数据分流比例对应的业务数据的数据包的传输。
15.根据权利要求13所述的方法,其特征在于,所述第四数据分流比例中包含第一数据分流子比例,所述确定所述数据分流与聚合策略中各所述链路的第四数据分流比例之后,所述方法还包括:
响应于所述终端发送的链路更新请求,删除所述链路组合中校验准确率最低、往返时延最大的链路,更新链路组合;
基于链路优先级以及所述第一数据分流子比例,选取更新链路组合中最小往返时延的链路,承担所述第一数据分流子比例对应的业务数据的数据包的传输。
16.根据权利要求15所述的方法,其特征在于,所述第四数据分流比例中包含第二数据分流子比例,所述方法还包括:
响应于所述终端发送的链路更新请求,删除所述链路组合中校验准确率最低、往返时延最大的链路,建立一条新的non-3GPP链路或者蜂窝链路,更新链路组合;
基于链路优先级以及所述第二数据分流子比例,选取更新链路组合中最小往返时延的链路,承担所述第二数据分流子比例对应的业务数据的数据包的传输。
17.一种网络传输方法,其特征在于,所述方法应用于终端,所述方法包括:
判断当前进行的业务是否为网关服务器中业务白名单中的业务;
在确定为所述网关服务器中业务白名单中的业务时,基于多接口多链路接入能力、当前所处网络环境以及终端运行状态,向网关服务器发送第一链路请求流程,触发MPTCP传输模式;所述第一链路请求流程用于在多接口多链路接入能力、当前所处网络环境以及终端运行状态满足MPTCP模式条件的情况下,在所述终端与所述网关服务器间建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
接收网关服务器下发的与当前链路组合匹配的数据分流与聚合策略,通过所述终端与所述网关服务器间的链路组合,对当前业务进行 MPTCP 传输。
18.根据权利要求17所述的方法,其特征在于,所述方法还包括:
若当前所处网络环境发生变化时,向所述网关服务器发起第二链路请求流程,所述第二链路请求流程用于在当前网络环境中,在终端的多接口多链路接入能力、终端设备属性以及本地运行状态不满足MPTCP模式条件的情况下,退出MPTCP传输模式,删除所述终端与所述网关服务器间的包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
在进入新的网络环境后,向所述新的网络环境中的网关服务器发起第三链路请求流程,所述第三链路请求流程用于在终端的多接口多链路接入能力、终端设备属性以及本地运行状态满足MPTCP模式条件的情况下,在所述终端与所述新的网络环境中的网关服务器间建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合。
19.根据权利要求17所述的方法,其特征在于,所述终端当前进行的业务的业务类型为数据业务类型,所述方法还包括:
当所述终端的网络环境发生变化,或者所述终端运行状态不满足预设运行条件时,向所述网关服务器发起第四链路请求流程,更新当前的所述链路组合;所述更新当前的所述链路组合包括增加、更新或者删除所述链路组合中的链路。
20.根据权利要求19所述的方法,其特征在于,所述当所述终端运行状态不满足预设运行条件时,向所述网关服务器发起第四链路请求流程,更新当前的所述链路组合,包括:
针对当前进行的业务为数据业务类型,若各所述链路间的往返时延中存在目标差值大于预设时延阈值,向所述网关服务器发送第四链路请求流程,更新当前的所述链路组合;所述第四链路请求流程用于删除各所述链路中校验准确率最低、往返时延最大的链路;
在剩余的各所述链路中选择校验准确率最高、往返时延最小的单一链路进行数据传输。
21.一种网络传输装置,其特征在于,所述装置应用于融合核心网中的网关服务器,所述网关服务器位于用户面协议功能UPF与业务应用服务器之间,所述装置包括:
建立模块,用于响应于终端发送的第一链路请求流程,与所述终端建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
检测与确定模块,用于实时监控每条链路的信道状态信息,确定每条链路的链路传输质量,并基于所述链路传输质量以及业务应用服务质量QoS要求,确定相匹配的数据分流与聚合策略;
处理模块,用于将所述数据分流与聚合策略下发至所述终端,并基于所述数据分流与聚合策略,进行业务数据的路由管理和分流管控。
22.一种网络传输装置,其特征在于,所述装置应用于终端,所述装置包括:
检测模块,用于判断当前进行的业务是否为网关服务器中业务白名单中的业务;
发送模块,用于在确定为所述网关服务器中业务白名单中的业务时,基于多接口多链路接入能力、当前所处网络环境以及终端运行状态,向网关服务器发送第一链路请求流程,触发MPTCP传输模式;所述第一链路请求流程用于在多接口多链路接入能力、当前所处网络环境以及终端运行状态满足MPTCP模式条件的情况下,在所述终端与所述网关服务器间建立包含非第三代合作伙伴计划网络non-3GPP链路和蜂窝链路中至少一种类型的链路的链路组合;
传输模块,用于接收网关服务器下发的与当前链路组合匹配的数据分流与聚合策略,通过所述终端与所述网关服务器间的链路组合,对当前业务进行 MPTCP 传输。
23.一种通信设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至16或者17至20中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410031299.0A CN117956534A (zh) | 2024-01-09 | 2024-01-09 | 网络传输方法、装置、通信设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410031299.0A CN117956534A (zh) | 2024-01-09 | 2024-01-09 | 网络传输方法、装置、通信设备、存储介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117956534A true CN117956534A (zh) | 2024-04-30 |
Family
ID=90802457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410031299.0A Pending CN117956534A (zh) | 2024-01-09 | 2024-01-09 | 网络传输方法、装置、通信设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117956534A (zh) |
-
2024
- 2024-01-09 CN CN202410031299.0A patent/CN117956534A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10945103B2 (en) | Dynamic network slice-switching and handover system and method | |
US20220329535A1 (en) | Data flow control method and apparatus | |
CN112020873B (zh) | 用于发送和接收数据包流的方法和相关设备 | |
CN110798868B (zh) | 网络切换方法、电子设备以及芯片子系统 | |
US9253015B2 (en) | Transparent proxy architecture for multi-path data connections | |
Bui et al. | Greenbag: Energy-efficient bandwidth aggregation for real-time streaming in heterogeneous mobile wireless networks | |
CN112153758A (zh) | 通信方法和通信装置 | |
Sinky et al. | Proactive multipath TCP for seamless handoff in heterogeneous wireless access networks | |
US20160212759A1 (en) | Mptcp scheduling | |
JP2021518684A (ja) | アクセストラフィックステアリング、スイッチング、及び/又は、分割動作のための装置及び方法 | |
Wu et al. | A survey on multipath transport protocols towards 5G access traffic steering, switching and splitting | |
US20170027016A1 (en) | Communication device, wireless communication device, and communication method | |
US11533251B2 (en) | Method and system for dynamic traffic distribution and bi-casting in a hybrid network environment | |
EP4140117B1 (en) | Method and apparatus for coded multipath networking using path management and protocol translation | |
Sathiaseelan et al. | Internet on the move: challenges and solutions | |
CN108632933B (zh) | 数据传输方法、装置及用户设备 | |
CN116708598A (zh) | 用于实时网络传输的系统及方法 | |
Liu et al. | Cross-layer design for UAV-based streaming media transmission | |
KR102449665B1 (ko) | 무선 백홀 네트워크를 통해 데이터를 전송하기 위한 방법 및 장치 | |
CN112994946A (zh) | 一种链路聚合方法 | |
Sinky et al. | Handoff-aware cross-layer assisted multi-path TCP for proactive congestion control in mobile heterogeneous wireless networks | |
Singh et al. | Nexgen s-mptcp: Next generation smart multipath tcp controller | |
Kucera et al. | Latency as a service: Enabling reliable data delivery over multiple unreliable wireless links | |
CN117956534A (zh) | 网络传输方法、装置、通信设备、存储介质和程序产品 | |
Cai et al. | A path characteristics based adaptive subflow switching algorithm for dynamic heterogeneous MPTCP network |
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 |