本发明涉及无线通信技术领域,尤其涉及一种采用多链路通道实现无线数据传输的方法。
背景技术:
多链路的概念最早是在固网中提出的概念,最开始是为了解决网络接入稳定性的问题。通常指同时使用不同isp提供的多条internet接入链路。由于多链路解决方案能够提供更好的可用性和性能,它正在被越来越多的企业所采用。可用性的提高来自于多条链路的使用,而性能提高则是因为同时使用多条链路增加了带宽。
传统的单数据卡上网有几个明显的缺点:1)单卡的理论上传下载速率受限,现在国内主流的4g理论网速上行50mbps,下行100mbps;2)单卡单运营商的信号强度受到运营商网络覆盖情况的限制,不可能做到在任意时间任意地点网络信号强度都很好。
技术实现要素:
本发明的目的在于克服现有技术的不足,本发明提供了一种采用多链路通道实现无线数据传输的方法,来达到增加网络传输带宽、提供稳定的网络服务的效果。
为了解决上述问题,本发明提出了一种采用多链路通道实现无线数据传输的方法,包括如下步骤:
在对支持多个无线数据卡硬件单元进行上电之后,对所述支持多个无线数据卡中的所有无线数据卡进行拨号处理,并针对拨号成功的无线数据卡创建所对应的传输隧道,所述传输隧道用于进行无线数据传输,所述拨号成功的无线数据卡所对应的传输隧道都连接到internet上的同一个服务器;
对个拨号成功的无线数据卡进行实时状态监控过程,实时获取拨号成功的无线数据卡中每一无线数据卡的当前运行状态,所述当前运行状态包括:当前无线信号质量、当前移动通信制式、当前ping包时延、当前数据卡的即时流量;
根据所述每一无线数据卡的当前运行状态计算出所述每一无线数据卡所对应的数据卡传输通道的优先级;
在针对拨号成功的无线数据卡创建完所对应的传输隧道后,启动路由调度算法,基于数据卡传输通道的优先级将本地接收的数据报文调度到不同的传输隧道上进行无线数据传输;
在所有的传输隧道上的数据报文汇聚到internet上的同一个服务器上时,将基于所有的传输隧道所传输的数据报文还原成一个完整数据报文,并将所述完整数据报文由同一个服务器转发到internet上。
所述支持多个无线数据卡硬件单元中的多个无线数据卡至少有2个。
所述对所述支持多个无线数据卡中的所有无线数据卡进行拨号处理包括:
检测支持多个无线数据卡是否插入了sim卡,如果没有检测到sim卡则跳转到初始状态继续等待;如果检测到有sim卡则继续查询sim卡注册的网络状态,并依据注册的网络状态设置无线数据卡的拨号模式,基于拨号模式启动拨号流程。
所述针对拨号成功的无线数据卡创建所对应的传输隧道包括:
针对拨号成功的无线数据卡获得ip地址;
基于ip地址创建传输隧道。
所述根据所述每一无线数据卡的当前运行状态计算出所述每一无线数据卡所对应的数据卡传输通道的优先级包括:
获取每一无线数据卡所对应的当前无线信号质量,根据无线信号质量因子计算规则计算所述每一无线数据卡所对应的无线信号质量因子系数;
获取每一无线数据卡所对应的当前移动通信制式,根据移动通信制式计算规则计算所述每一无线数据卡所对应的无线制式因子系数;
获取每一无线数据卡所对应的上行即时流量数据和下行即时流量数据,根据即时流量计算规则计算所述每一无线数据卡所对应的即时流量因子系数;
获取即时流量小于0.2mb时的ping时延值,以及当前ping时延值,根据数据卡时延计算规则计算所述每一无线数据卡所对应的时延因子系数;
根据无线信号质量因子系数、无线制式因子系数、即时流量因子系数、时延因子系数按照通信优先级传输权重计算规则计算出所述每一无线数据卡所对应的通信优先传输权重值。
所述基于数据卡传输通道的优先级将本地接收的数据报文调度到不同的传输隧道上进行无线数据传输包括:
针对拨号成功的无线数据卡的数量计算当前用于调度的传输隧道数目和各传输隧道的分配包数目;
根据本轮分配的发包数目依次发送本地接收的数据报文。
所述将基于所有的传输隧道所传输的数据报文还原成一个完整数据报文包括:
所述同一个服务器接收到各个无线数据卡的流量后,剥除隧道,还原出原始的数据报文,再转发到internet上去,完成数据通信。
所述传输隧道为udp隧道、或者tcp隧道、或者gre隧道。
在本发明实施例中,借鉴固网中的多链路概念,在无线网络中采用多链路的方式实现无线通信数据的传输,本设备中同时集成多家运营商的数据卡,采用多家运营商的数据卡做数据传输的出口,运用智能路由调度算法将本地接入的数据流调度到不同的数据卡。以期达到网络流量叠加,同时有效避免网络波动,实现稳定传输的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例中的采用多链路通道实现无线数据传输的方法流程图;
图2是本发明实施例中的计算通信优先传输权重值的方法流程图;
图3是本发明实施例中的计算无线信号质量因子的方法流程图;
图4是本发明实施例中的计算无线制式因子的方法流程图;
图5是本发明实施例中的计算无线数据卡即时流量因子的方法流程图;
图6是本发明实施例中的计算无线数据卡时延因子的方法流程图;
图7是本发明实施例中的计算无线数据卡的通信优先传输权重值的方法流程图;
图8是本发明实施例中的数据包路由调度处理的方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中所涉及的采用多链路通道实现无线数据传输的方法,在对支持多个无线数据卡硬件单元进行上电之后,对所述支持多个无线数据卡中的所有无线数据卡进行拨号处理,并针对拨号成功的无线数据卡创建所对应的传输隧道,所述传输隧道用于进行无线数据传输,所述拨号成功的无线数据卡所对应的传输隧道都连接到internet上的同一个服务器;对个拨号成功的无线数据卡进行实时状态监控过程,实时获取拨号成功的无线数据卡中每一无线数据卡的当前运行状态,所述当前运行状态包括:当前无线信号质量、当前移动通信制式、当前ping包时延、当前数据卡的即时流量;根据所述每一无线数据卡的当前运行状态计算出所述每一无线数据卡所对应的数据卡传输通道的优先级;在针对拨号成功的无线数据卡创建完所对应的传输通道后,启动路由调度算法,基于数据卡传输通道的优先级将本地接收的数据报文调度到不同的传输隧道上进行无线数据传输;在所有的传输隧道上的数据报文汇聚到internet上的同一个服务器上时,将基于所有的传输隧道所传输的数据报文还原成一个完整数据报文,并将所述完整数据报文由同一个服务器转发到internet上。
需要说明的是,以上所阐述的传输隧道可以是udp隧道、tcp隧道、gre隧道等。
相应的,图1示出了本发明实施例中的采用多链路通道实现无线数据传输的方法流程图,该流程图包括如下步骤:
s101、在对支持多个无线数据卡硬件单元进行上电之后,对所述支持多个无线数据卡中的所有无线数据卡进行拨号处理,并针对拨号成功的无线数据卡创建所对应的传输隧道;
具体实施过程中,选择能够支持多个(数量大于等于2)数据卡同时运行嵌入式系统硬件设备,即本发明实施例中支持多个无线数据卡硬件单元中的多个无线数据卡至少有2个。
需要说明的是,这里的传输隧道用于进行无线数据传输,所述拨号成功的无线数据卡所对应的传输隧道都连接到internet上的同一个服务器;
需要说明的是,设备上电后,需要检测支持多个无线数据卡是否插入了sim卡,如果没有检测到sim卡则跳转到初始状态继续等待;如果检测到有sim卡则继续查询sim卡注册的网络状态,并依据注册的网络状态设置无线数据卡的拨号模式,基于拨号模式启动拨号流程。即设备上电后,首先检测各个数据卡当前的无线信号质量,然后判断数据卡是否插入sim卡,如果没有检测到sim卡则跳转到初始状态继续等待。如果检测到有sim卡,则继续查询sim卡注册的网络状态,依据注册的网络情况来设置数据卡的拨号模式,最后启动拨号流程。如果数据卡拨号不成功,则跳转到上电初始状态重新启动拨号处理流程。这里的sim卡是(subscriberidentificationmodule),也称为用户身份识别卡、智能卡。ping为链接到互联网的网络延迟,一般以毫秒作为单位数字越大,网络越卡。
需要说明的是,这里针对拨号成功的无线数据卡创建所对应的传输隧道包括:针对拨号成功的无线数据卡获得ip地址;基于ip地址创建传输隧道。即无线数据卡拨号成功,则根据当前数据卡获得的ip创建一个传输隧道,完成该数据卡的拨号处理。
需要说明的是,这里的传输隧道可以是用户数据报协议(userdatagramprotocol,udp)udp隧道、传输控制协议(transmissioncontrolprotocol,tcp)隧道、通用路由封装(genericroutingencapsulation,gre)隧道等等。
s102、对个拨号成功的无线数据卡进行实时状态监控过程,实时获取拨号成功的无线数据卡中每一无线数据卡的当前运行状态;
具体实施过程中,该当前运行状态包括:当前无线信号质量、当前移动通信制式、当前ping包时延、当前数据卡的即时流量。
s103、根据所述每一无线数据卡的当前运行状态计算出所述每一无线数据卡所对应的数据卡传输通道的优先级;
在启动数据卡实时状态监控进程,根据无线数据卡当前无线信号质量、当前移动通信制式、当前ping包时延、当前数据卡的即时流量,计算出各个数据卡的通信优先传输权重值w。
具体的,图2示出了本发明实施例中的计算通信优先传输权重值的方法流程图,包括如下步骤:
s201、获取每一无线数据卡所对应的当前无线信号质量,根据无线信号质量因子计算规则计算每一无线数据卡所对应的无线信号质量因子系数r;
s202、获取每一无线数据卡所对应的当前移动通信制式,根据移动通信制式计算规则计算每一无线数据卡所对应的无线制式因子系数m;
s203、获取每一无线数据卡所对应的上行即时流量数据和下行即时流量数据,根据即时流量计算规则计算每一无线数据卡所对应的即时流量因子系数f;
s204、获取即时流量小于0.2mb时的ping时延值,以及当前ping时延值,根据数据卡时延计算规则计算每一无线数据卡所对应的时延因子系数p;
s205、根据无线信号质量因子系数、无线制式因子系数、即时流量因子系数、时延因子系数按照通信优先级传输权重计算规则计算出所述每一无线数据卡所对应的通信优先传输权重值w。
图2所述的方法中,获取每一无线数据卡所对应的当前无线信号质量,根据无线信号质量因子计算规则计算所述每一无线数据卡所对应的无线信号质量因子系数;获取每一无线数据卡所对应的当前移动通信制式,根据移动通信制式计算规则计算所述每一无线数据卡所对应的无线制式因子系数;获取每一无线数据卡所对应的上行即时流量数据和下行即时流量数据,根据即时流量计算规则计算所述每一无线数据卡所对应的即时流量因子系数;获取即时流量小于0.2mb时的ping时延值,以及当前ping时延值,根据数据卡时延计算规则计算所述每一无线数据卡所对应的时延因子系数;根据无线信号质量因子系数、无线制式因子系数、即时流量因子系数、时延因子系数按照通信优先级传输权重计算规则计算出所述每一无线数据卡所对应的通信优先传输权重值。
具体的,图3示出了本发明实施例中的计算无线信号质量因子的方法流程图,包括如下步骤:
s301、获取无线信号质量rssi;
s302、判断rssi值是否大于等于第一信号阈值,若大于等于则进入s303,若小于则进入s304;
s303、r=r1;
s304、判断rssi是否大于等于第二信号阈值,即判断rssi是否位于第一信号阈值和第二信号阈值之间,若大于等于第二信号阈值,则进入s305,若小于与则进入s306;
需要说明的是,这里的第一信号阈值大于第二信号阈值。
s305、r=r2;
s306、判断rssi是否大于等于第三信号阈值,即判断rssi是否位于第二信号阈值和第三信号阈值之间,若大于等于第三信号阈值,则进入s307,若小于则进入s308;
需要说明的是,这里的第二信号阈值大于第三信号阈值。
s307、r=r3;
s308、判断rssi是否大于等于第四信号阈值,即判断rssi是否位于第三信号阈值和第四信号阈值之间,若大于等于第四信号阈值,则进入s309,若小于则进入s310;
需要说明的是,这里的第三信号阈值大于第四信号阈值。
s309、r=r4;
s310、r=r5。
需要说明的是,由于rssi具有信号等级,针对rssi值与不同信号阈值进行判断,然后获取到相应的无线信号质量因子系数r。这里的第一信号阈值、第二信号阈值、第三信号阈值、第四信号阈值根据不同的场景可以设置为不同,比如第一信号阈值设置为24、第二信号阈值设置为19、第三信号阈值设置为14、第四信号阈值设置为10等等,针对不同的信号阈值条件,其所针对的无线信号质量因子系数值也不同。
具体的,图4示出了本发明实施例中的计算无线制式因子的方法流程图,包括如下步骤:
s401、获取无线数据卡的无线制式;
s402、判断无线数据卡的无线制式是否为4g,若判断为4g,则进入s403,若不是4g,则进入s404;
s403、m=m1;
s404、判断无线数据卡的无线制式是否为联通3g,若判断为联通3g,则进入s405,若不是联通3g,则进入s406;
联通3g采用全球通用wcdma技术,能够提供包括可视电话、无线上网、手机上网、手机电视、手机音乐等多种信息服务。
s405、m=m2;
s406、判断无线数据卡的无线制式是否为电信或者移动3g,若判断为电信或者移动3g,则进入s407,若不是电信或者移动3g,则进入s408;
中国电信3g使用的是cdma2000标准,中国移动3g则使用的是td-scdma标准。
s407、m=m3;
s408、判断无线数据卡的无线制式是否为2g,若判断为2g,则进入s409,若判断为非2g,则进入s410;
s409、m=m4;
s410、m=m4。
需要说明的是,这里首先获取拨号成功的无线数据卡所对应的移动通信制式,在针对相应的移动通信制式采用相应的无线制式因子系数的计算,即无线数据卡中每一无线数据卡都可以依据图4所示的方法流程获取一个相应的无线制式因子系数m,以用于后续通信优先传输权重值w的计算。
具体的,图5示出了本发明实施例中的计算无线数据卡即时流量因子的方法流程图,包括如下步骤:
s501、获取无线数据卡上行即时流量;
s502、获取无线数据卡下行即时流量;
s503、计算当前即时总流量;
当前即时总流量=上行即时流量*2+下行即时流量。
s504、判断当前即时总流量是否小于1mb,若小于1mb则进入s505,否则进入s506;
s505、f=1mb;
s506、b=即时总流量。
需要说明的是,这里首先针对获取拨号成功的无线数据卡进行上行即时流量和下行即时流量的获取,针对每一无线数据卡的当前上行即时流量和当前下行即时流量获取之后,在针对每一无线数据卡的当前即时总流量进行计算,然后进行当前即时总流量的判断过程,若大于等于1mb时,则使即时流量因子系数f=即时总流量,若小于1mb时,则使即时流量因子系数f=1mb。
具体的,图6示出了本发明实施例中的计算无线数据卡时延因子的方法流程图,具体包括如下步骤:
s601、获取即时流量小于0.2mb时的ping时延值tb;
s602、获取当前ping时延值tc;
s603、判断tc是否小于2倍的tb,若小于则进入s604,若大于则进入s605;
s604、p=1;
s605、判断tc是否大于2倍的的tb,且小于3倍的tb,若小于3倍的tb则进入s606,若大于3倍的tb则进入s607;
s606、p=1.5;
s607、判断tc是否大于3倍的tb,且小于6倍的tb,若小于6倍的tb则进入s608,若大于6倍的tb则进入s609;
s608、p=2;
s609、p=3。
需要说明的是,这里首先获取每一无线数据卡所对应的即时流量小于0.2mb时的ping时延值tb,然后在获取当前所对应的ping时延值tc,然后根据计算规则计算tc与tb之间的关系,基于无线数据卡时延因子的计算规则,对每一无线数据卡进行计算得到所对应的p值,以上p值在相应条件下为1、1.5、2、3。
具体的,图7示出了本发明实施例中的计算无线数据卡的通信优先传输权重值的方法流程图,具体包括如下步骤:
s701、获取计算因子r、m、f、p;
从图3至图6所示的方法流程中,针对每一无线数据卡都可以计算出所对应的r、m、f、p等值,该值最终可以实现通信优先传输权重值w的计算过程。
s702、判断无线数据卡所对应的m=m1,且r=r1是否成立,若成立则进入s703、若不成立则进入s704;
s703、w=1*f*p;
s704、判断无线数据卡所对应的m=m1,且r=r2是否成立,若成立则进入s705、若不成立则进入s706;
s705、w=2*f*p;
s706、判断无线数据卡所对应的m=m1,且r=r3是否成立,若成立则进入s707、若不成立则进入s708;
s707、w=8*f*p;
s708、判断无线数据卡所对应的m=m2,且r=r1是否成立,若成立则进入s709、若不成立则进入s710;
s709、w=3*f*p;
s710、判断无线数据卡所对应的m=m2,且r=r2是否成立,若成立则进入s711、若不成立则进入s712;
s711、w=5*f*p;
s712、判断无线数据卡所对应的m=m2,且r=r3是否成立,若成立则进入s713、若不成立则进入s714;
s713、w=20*f*p;
s714、判断无线数据卡所对应的m=m3,且r=r1是否成立,若成立则进入s715、若不成立则进入s716;
s715、w=6*f*p;
s716、判断无线数据卡所对应的m=m3,且r=r2是否成立,若成立则进入s717、若不成立则进入s718;
s717、w=12*f*p;
s718、判断无线数据卡所对应的m=m3,且r=r3是否成立,若成立则进入s719、若不成立则进入s720;
s719、w=40*f*p;
s720、w=1000*f*p。
基于图7所示的方法可以针对每个计算无线数据卡的通信优先传输权重值w完成计算,但不限于图7所示的计算方法,在完成对每一个无线数据卡中的计算因子r、m、f、p等计算之后,对每一个无线数据卡中的w计算规则满足如下:
无线数据卡所对应的m=m1,且r=r1时,w=1*f*p;
无线数据卡所对应的m=m1,且r=r2时,w=2*f*p;
无线数据卡所对应的m=m1,且r=r3时,w=8*f*p;
无线数据卡所对应的m=m2,且r=r1时,w=3*f*p;
无线数据卡所对应的m=m2,且r=r2时,w=5*f*p;
无线数据卡所对应的m=m2,且r=r3时,w=20*f*p;
无线数据卡所对应的m=m3,且r=r1时,w=6*f*p;
无线数据卡所对应的m=m3,且r=r2时,w=12*f*p;
无线数据卡所对应的m=m3,且r=r3时,w=40*f*p;
不满足以上条件情况下时,无线数据卡所对应的w=1000*f*p。
需要说明的是,通信优先传输权重值w越小通道发送包优先级越高。
s104、在针对拨号成功的无线数据卡创建完所对应的传输通道后,启动路由调度算法,基于数据卡传输通道的优先级将本地接收的数据报文调度到不同的传输隧道上进行无线数据传输;
具体实施过程中,针对拨号成功的无线数据卡的数量计算当前用于调度的传输隧道数目和各传输隧道的分配包数目;根据本轮分配的发包数目依次发送本地接收的数据报文。
可以根据可用数据卡的数目,计算当前可用于调度的传输通道数目和各个传输通道的分配包数目,然后根据本轮分配的发包数目依次发送本地接收的数据包。如果本次分配的发送包数目发送完成,或者本次调度时间使用完成,则进入新一轮的路由调度周期,图8示出了本发明实施例中的数据包路由调度处理的方法流程图,具体包括如下步骤:
s801、根据w计算所对应的无线数据卡优先传输权重;
由于本发明基于多个无线数据卡硬件单元来实现无线数据传输,每个无线数据卡在经过以上计算后,都会有相应的w值,基于w值可以设置所对应无线数据卡的优先传输权重。
s802、获取当前可用的无线数据卡的网卡数目;
s803、判断网卡数据是否大于0,若大于0则进入s804,若不大于0则进入s804;
s804、延迟1s,重新计算w,并根据w计算所对应的无线数据卡优先传输权重;
s805、计算隧道发包数目和当前发包周期的起始时间;
s806、判断发包周期是否超时,若发包周期超时,则重新计算w,并根据w计算所对应的无线数据卡优先传输权重,若发包周期未超时,则进入s807;
s807、判断当前发包周期的包是否发送完毕,若发送完毕,则重新计算w,并根据w计算所对应的无线数据卡优先传输权重,若未发送完毕,则进入s808;
s808、轮询发包。
需要说明的是,进入轮询发包后,再进行s806至s807过程,直至当前发包周期的包发送完毕,才不需要进入轮询发包过程。
s105、在所有的传输隧道上的数据报文汇聚到internet上的同一个服务器上时,将基于所有的传输隧道所传输的数据报文还原成一个完整数据报文,并将所述完整数据报文由同一个服务器转发到internet上。
该同一个服务器接收到各个无线数据卡的流量后,剥除隧道,还原出原始的数据报文,再转发到internet上去,完成数据通信。
完成以上步骤以后,多链路上联设备环境搭建成功。通过智能路由调度算法,充分利用了各个数据卡的网络带宽和无线运行质量,达到网络流量叠加,又有效避免网络波动,实现稳定传输的需求
综上,本发明实施例所涉及的硬件支持n个(n大于等于2)无线数据卡硬件单元,对单一数据卡应用系统进行硬件扩展,增强了无线网络中多链路上联应用环境下的带宽利用能力。无线数据卡的传输通道为隧道模式,使得单一业务流的情况下,数据传输可以绑定在多个隧道上同时传输。解决特定流数据可以同时在各个数据卡隧道上传输的问题,充分利用多数据卡带宽,解决单卡带宽受限的问题。利用数据卡实时的无线质量情况和带宽资源等运行状态值,作为路由调度算法的依据。实时评估每张数据卡当前的可用带宽,充分优化设备网络传输带宽,同时有效避免网络波动,实现稳定传输的需求。在云端建立一个服务器,用于终结隧道,然后将用户的原始上网报文恢复出来,然后再转发到internet上去,反向亦然。这样的处理方式能够让用户上层应用对整个底层的多链路传输过程完全无感知,不需要做任何修改即可使用。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。
另外,以上对本发明实施例所提供的采用多链路通道实现无线数据传输的方法流进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。