一种基于安卓系统的多链路网络聚合方法、装置、存储介质制造方法及图纸

技术编号:37678522 阅读:30 留言:0更新日期:2023-05-26 04:44
本发明专利技术公开了一种基于安卓系统的多链路网络聚合方法,包括:获取所有网口的IP状态,并循环获取所有网口的IP信息;生成虚拟网口tun0,修改路由表;聚合客户端子程序获取数据包,根据所述所有网口的IP状态,对数据包进行处理;聚合客户端子程序根据循环获取到的所有网口的IP信息,判断链路通信质量;根据链路通信质量,聚合客户端子程序将处理好的数据包分配到不同的通信链路。当手机在高带宽应用场景时,如直播或者下载大型文件时,本发明专利技术能明显提高手机的上行下行速率,有链路带宽叠加的效果,并且根据网络的实时性情况,按权重将负载合理分配到不同的链路,进而提高手机网络的稳定性。定性。定性。

【技术实现步骤摘要】
一种基于安卓系统的多链路网络聚合方法、装置、存储介质


[0001]本专利技术属于网络多链路聚合领域,尤其是一种基于安卓系统下多链路网络聚合的软件实现方法。

技术介绍

[0002]目前,安卓系统主要有三种上网的方式,一种是通过移动蜂窝网络(通过2G/3G/4G/5G模块),一种是WiFi网络(通过2.4G/5G频段的WiFi芯片),还有一种是通过有线网络(设备本身自带有线网口或通过外接typc

c/micro

usb转有线网口)。安卓系统本身对以上网络有官方定义的一套评分机制,系统会根据当前网络情况,选择当前评分最高的网络作为系统网络。一般而言,有线网络的评分最高,其次到WiFi,最后到移动蜂窝网络。同一时间,安卓只能选择一种网络连接到互联网。原生安卓系统,在同一时间,只能使用一种网络上网,无法做到多链路并发。如手机在浏览网页,连上WiFi后,系统就自动将网络从“移动数据”切换到WiFi。
[0003]为解决这个问题,人们找到了多链路聚合的方法:能同时使用2G/3G/4G/5G网络,WiFi和有线网络这几种中的两种或以上网络,实现多链路网络聚合,具体表现为网络的上下行带宽有叠加的效果。但是目前,国产手机上的多网加速功能,也无法做到带宽的叠加。同一时刻,只能使用移动网络/WiFi/有线网络的其中一个网络,只有在当前使用的网络不佳时,手机上的另一网络才作为替换,并非真正意义上带宽叠加的“加速”,通过手机测速可见未有链路叠加。现有的聚合技术,也未发现在原生安卓系统上通过安装APP(应用)实现链路聚合。

技术实现思路

[0004]本专利技术的目的在于通过在安卓系统上安装APP实现多链路网络聚合。本专利技术所采取的技术方案是:
[0005]本专利技术提供了一种基于安卓系统的多链路网络聚合方法,包括:
[0006]获取所有网口的IP状态,并循环获取所有网口的IP信息;
[0007]生成虚拟网口tun0,修改路由表;
[0008]聚合客户端子程序获取数据包,根据所述所有网口的IP状态,对数据包进行处理;
[0009]聚合客户端子程序根据循环获取到的所有网口的IP信息,判断链路通信质量;
[0010]根据链路通信质量,聚合客户端子程序将处理好的数据包分配到不同的通信链路。
[0011]进一步地,所述循环获取所有网口的IP信息这一步骤,包括:若移动网络的IP被安卓系统清除,则自动将被清除的移动网络IP恢复。
[0012]进一步地,所述生成虚拟网口tun0,修改路由表这一步骤,包括:
[0013]新建VPN类,所述VPN类继承自安卓系统的VpnService;
[0014]设置特殊路由,修改位于Kernel层的路由表。
[0015]进一步地,所述聚合客户端子程序根据循环获取到的所有网口的IP信息,判断链路通信质量这一步骤,包括:
[0016]发送带宽监测包给聚合服务器,并记录各通信链路的发送带宽;
[0017]接收各通信链路的接收带宽,并根据所述发送带宽和所述接收带宽确定各通信链路的带宽变化率;
[0018]根据所述各通信链路的带宽变化率的大小确定发送数据包的链路。
[0019]进一步地,所述根据链路通信质量,聚合客户端子程序将处理好的数据包分配到不同的通信链路这一步骤,包括向外网发送数据和从外网接受数据;所述向外网发送数据这一步骤包括:
[0020]应用层发出未处理的数据包;
[0021]所述数据包经过Framework层和HAL层后,会被导流到虚拟网口tun0;
[0022]虚拟网口tun0将所述数据包发送至聚合程序,聚合程序对所述处理后的数据包进行切片处理;
[0023]聚合客户端子程序将经过切片处理后的数据包通过真实链路发给聚合服务器;
[0024]聚合服务器对经过切片处理后的数据包进行组包处理。
[0025]进一步地,所述从外网接收数据这一步骤包括:
[0026]聚合客户端子程序将外网数据通过真实链路发送给聚合程序;
[0027]聚合客户端子程序对数据进行组包处理;
[0028]聚合客户端子程序将被组包处理后的数据包发送给虚拟网口tun0;
[0029]虚拟网口tun0将被组包处理后的数据包发送至应用层;所述数据包在被导流到虚拟网口tun0前经过Framework层和HAL层。
[0030]进一步地,所述所有网口的IP状态包括通信链路IP状态、聚合服务器IP状态、虚拟网口tun0的IP状态。
[0031]进一步地,所述通信链路包括:2G网络、3G网络、4G网络、5G网络、2.4GWiFi、5GWiFi、有线网络。
[0032]另一方面,本专利技术还提供了一种计算机装置,其特征在于,包括存储器和处理器,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行任一项所述的基于安卓系统的多链路网络聚合方法。
[0033]另一方面,本专利技术还提供了一种计算机可读存储介质,其中存储用处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于执行任一项所述的基于安卓系统的多链路网络聚合方法。
[0034]本专利技术的有益效果是:当手机在高带宽应用场景时,如直播或者下载大型文件时,能明显提高手机的上行下行速率,有链路带宽叠加的效果,并且根据网络的实时性情况,按权重将负载合理分配到不同的链路,进而提高手机网络的稳定性。
附图说明
[0035]图1为本专利技术实施例的APP数据发送的网络流走向;
[0036]图2为本专利技术实施例的APP数据接收的网络流走向。
具体实施方式
[0037]下面结合说明书附图和具体的实施例对本申请进行进一步的说明。所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0038]在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
[0039]除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
[0040]目前安卓系统上主要有三种上网的方式,一种是通过移动蜂窝网络(通过2G/3G/4G/5G模块),一种是WiFi网络(通过2.4G/5G频段的WiFi芯片),还有一种是通过有线网络(设备本身自带有线网口或通过外接typc

c/micro

usb转有线网口)。安卓系统本身对以上网络有官方定义的一套评分机制,系统会根据当前网络情况,选择当前评分最高的网络作为系统网络。一般而言,有线网络的评分最高,其次到WiFi,最后到移动蜂窝网络。同一时间,安卓本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于安卓系统的多链路网络聚合方法,其特征在于,包括:获取所有网口的IP状态,并循环获取所有网口的IP信息;生成虚拟网口tun0,修改路由表;聚合客户端子程序获取数据包,根据所述所有网口的IP状态,对数据包进行处理;聚合客户端子程序根据循环获取到的所有网口的IP信息,判断链路通信质量;根据链路通信质量,聚合客户端子程序将处理好的数据包分配到不同的通信链路。2.根据权利要求1所述的一种基于安卓系统的多链路聚合方法,其特征在于,所述循环获取所有网口的IP信息这一步骤,包括:若移动网络的IP被安卓系统清除,则自动将被清除的移动网络IP恢复。3.根据权利要求1所述的一种基于安卓系统的多链路聚合方法,其特征在于,所述生成虚拟网口tun0,修改路由表这一步骤,包括:新建VPN类,所述VPN类继承自安卓系统的VpnService;设置特殊路由,修改位于Kernel层的路由表。4.根据权利要求1所述的一种基于安卓系统的多链路网络聚合方法,其特征在于,所述聚合客户端子程序根据循环获取到的所有网口的IP信息,判断链路通信质量这一步骤,包括:发送带宽监测包给聚合服务器,并记录各通信链路的发送带宽;接收各通信链路的接收带宽,并根据所述发送带宽和所述接收带宽确定各通信链路的带宽变化率;根据所述各通信链路的带宽变化率的大小确定发送数据包的链路。5.根据权利要求1所述的一种基于安卓系统的多链路聚合方法,其特征在于,所述根据链路通信质量,聚合客户端子程序将处理好的数据包分配到不同的通信链路这一步骤,包括向外网发送数据和从外网接受数据;所述向外网发送数据这一步骤包括:应用层发出未处理的数据包;所述数据包经过Framew...

【专利技术属性】
技术研发人员:叶兴杰周志雄
申请(专利权)人:广东中兴新支点技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1