一种数据传输方法和多SSID路由器与流程

文档序号:12730536阅读:418来源:国知局
一种数据传输方法和多SSID路由器与流程

本发明涉及流量均衡技术,尤其涉及一种数据传输方法和多服务集标识(Service Set Identifier,SSID)路由器。



背景技术:

随着无线保真(WIreless-Fidelity,Wi-Fi)的不断进步,以及无线路由产品的不断发展,多SSID的无线路由产品在人们的生活中越来越普及,在一些公共场合中,如机场、餐厅、办公区,以及普通家庭中,都可能使用多SSID无线路由器。多SSID功能可以轻松实现一台无线路由器布置多个无线接入点,用户可以连入不同的无线局域网,避免相互之间的干扰。

在实际使用中,由于各种原因,用户在接入到同一个无线路由设备的时候,不同的用户最终能够获得的流量是不同的。有时候,由于某个用户占用了太多的网络资源,可能会影响各个SSID的用户对网络的正常访问,或者在同样的条件下,各个SSID的用户得到的流量不均衡,从而影响到无线路由产品的用户体验,降低用户对产品的满意度。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供一种数据传输方法和多SSID路由器,能够大大减少一个或多个用户端占用大量网络资源的情况发生,从而提高用户满意度。

本发明的技术方案是这样实现的:

第一方面,提供一种数据传输方法,所述方法包括:

接收各个服务集标识SSID的数据包,所述SSID的数据包是归属于对应SSID的数据包;

按照预设的流量设置比例,确定发送所述各个SSID的数据包的发送个数。

可选的,所述按照预设的流量设置比例,确定发送所述各个SSID的数据包的发送个数之后,所述方法还包括:

按照所述各个SSID的数据包的发送个数和预设的各个SSID的发送优先级,发送所述各个SSID的数据包。

可选的,所述按照所述各个SSID的数据包的发送个数和预设的各个SSID的发送优先级,发送各个SSID的数据包之前,所述方法还包括:

获取所述各个SSID的总接收个数和总发送个数;

根据所述各个SSID的总接收个数和总发送个数,确定所述各个SSID的顺序值;

根据所述各个SSID的顺序值,确定所述各个SSID的发送优先级。

可选的,所述按照所述各个SSID的数据包的发送个数和预设的各个SSID的发送优先级,发送各个SSID的数据包之前,所述方法还包括:

获取所述各个SSID的总发送时间,所述总发送时间为发送所述SSID的数据包的时间之和;

按照所述各个SSID的总发送时间,确定所述各个SSID的发送优先级。

可选的,所述接收各个SSID的数据包包括:

接收第一数据包;

所述第一数据包归属于第一SSID时,确定所述第一数据包是所述第一SSID的数据包;

所述第一数据包归属于第一SSID时,确定所述第一数据包是所述第一SSID的数据包之后,所述方法还包括:

获取所述第一数据包的种类;

根据预设的数据包的种类和服务质量QoS优先级的对应关系,确定所述第一数据包挂载的QoS优先级的队列。

可选的,所述按照所述各个SSID的数据包的发送个数和预设的各个SSID的发送优先级,发送各个SSID的数据包包括:

在各个QoS优先级的队列中,获取n个QoS优先级最高的第一SSID的数据包,所述n是发送所述第一SSID的数据包的发送个数;

发送所述n个QoS优先级最高的第一SSID的数据包。

可选的,所述方法还包括:

当接收一个SSID的数据包时,将对应的SSID的总接收个数加1;

当发送一个SSID的数据包时,将对应的SSID的总发送个数加1。

可选的,所述发送所述n个QoS优先级最高的第一SSID的数据包之后,所述方法还包括:

获取发送所述第一SSID的数据包的发送时间;

将所述第一SSID的数据包的发送时间除以所述第一SSID的顺序值,得到修正后的第一SSID的数据包的发送时间;

将所述修正后的第一SSID的数据包的发送时间加入所述第一SSID的总发送时间。

可选的,所述发送所述n个QoS优先级最高的第一SSID的数据包包括:

当所述n大于i时,发送所述i个第一SSID的数据包和n-i个空包,所述i是实际能够发送所述第一SSID的数据包的发送个数。

第二方面,提供一种多服务集标识SSID路由器,所述多SSID路由器包括:

接收单元,用于接收各个服务集标识SSID的数据包,所述SSID的数据包是归属于对应SSID的数据包;

确定单元,用于按照预设的流量设置比例,确定发送所述各个SSID的数据包的发送个数。

可选的,所述多SSID路由器还包括:

发送单元,用于按照所述各个SSID的数据包的发送个数和预设的各个SSID的发送优先级,发送所述各个SSID的数据包。

可选的,所述多SSID路由器还包括:

获取单元,用于获取所述各个SSID的总接收个数和总发送个数;

所述确定单元,还用于根据所述各个SSID的总接收个数和总发送个数, 确定所述各个SSID的顺序值;还用于根据所述各个SSID的顺序值,确定所述各个SSID的发送优先级。

可选的,所述获取单元,还用于获取所述各个SSID的总发送时间,所述总发送时间为发送所述SSID的数据包的时间之和;

所述确定单元,还用于按照所述各个SSID的总发送时间,确定所述各个SSID的发送优先级。

可选的,所述接收单元具体用于:

接收第一数据包;

所述第一数据包归属于第一SSID时,确定所述第一数据包是所述第一SSID的数据包;

所述获取单元还用于获取所述第一数据包的种类;

所述确定单元还用于根据预设的数据包的种类和服务质量QoS优先级的对应关系,确定所述第一数据包挂载的QoS优先级的队列。

可选的,所述发送单元具体用于:

在各个QoS优先级的队列中,获取n个QoS优先级最高的第一SSID的数据包,所述n是发送所述第一SSID的数据包的发送个数;

发送所述n个QoS优先级最高的第一SSID的数据包。

可选的,所述多SSID路由器还包括:

处理单元,用于当接收一个SSID的数据包时,将对应的SSID的总接收个数加1;当发送一个SSID的数据包时,将对应的SSID的总发送个数加1。

可选的,所述获取单元还用于获取发送所述第一SSID的数据包的发送时间;

所述处理单元还用于将所述第一SSID的数据包的发送时间除以所述第一SSID的顺序值,得到修正后的第一SSID的数据包的发送时间;将所述修正后的第一SSID的数据包的发送时间加入所述第一SSID的总发送时间。

可选的,所述发送单元还用于:

当所述n大于i时,发送所述i个第一SSID的数据包和n-i个空包,所述i 是实际能够发送所述第一SSID的数据包的发送个数。

本发明实施例提供了一种数据传输方法和多SSID路由器,先接收各个SSID的数据包,所述SSID的数据包是归属于对应SSID的数据包;之后,按照预设的流量设置比例,确定发送所述各个SSID的数据包的发送个数。这样,各个用户端的带宽就被限制,大大的减少了一个或多个用户端占用大量网络资源的情况发生,达到了均衡流量的目的,从而提高用户满意度。

附图说明

图1为现有的多SSID路由器与用户端的连接示意图;

图2为本发明实施例提供的一种数据传输方法的流程图;

图3为本发明实施例提供的另一种数据传输方法的流程图;

图4为本发明实施例提供的另一种数据传输方法的流程图;

图5为本发明实施例提供的一种多SSID路由器的结构示意图;

图6为本发明实施例提供的另一种多SSID路由器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

实施例一

本发明实施例提供一种数据传输方法,如图2所示,应用于多SSID路由器,该方法包括:

步骤101、接收各个SSID的数据包。

这里,SSID的数据包是归属于对应SSID的数据包。多SSID路由器可以有多个SSID,每个SSID下可接入一个或多个站点(Station,STA)。一般情况下,该站点是用户端,例如移动终端或者其它终端设备。

由于多SSID路由器接收的数据包不一定都是归属于各个SSID的数据包,因此,要对接收到的数据包进行甄别。具体的,接收第一数据包,该第一数据 包是上层发送的数据包,当第一数据包包归属于第一SSID时,确定第一数据包是第一SSID的数据包;在此之后,该方法还包括:获取第一数据包的种类;根据预设的数据包的种类和服务质量(Quality of Service,QoS)优先级的对应关系,确定第一数据包挂载的QoS优先级的队列。这里,第一数据包可以是管理包、广播包这列不属于任一SSID的数据包,也可以是归属于SSID的数据包。

这里,当满足预设条件时,就不再接收数据包了,预设条件可以是接收数据包的个数超过预定个数,或者完成预定周期。这里,接收数据包的个数可以是指QOS优先级的队列上的数据包个数超过预定数量,也可以是指路由器接收的数据包个数。而预定周期可以通过定时器来触发,也就是说完成一个预定周期。

其中,QoS优先级的队列按优先级从高到低可分为语音队列、视频队列、尽力而为队列和背景队列。例如,当接收的SSID的数据包是网络电话的语音包,就将语音包挂载在语音队列中。

进一步的,当接收一个SSID的数据包时,将对应的SSID的总接收个数加1;当发送一个SSID的数据包时,将对应的SSID的总发送个数加1。

步骤102、按照预设的流量设置比例,确定发送各个SSID的数据包的发送个数。

这里,预设的流量设置比例可以是用于提前输入到多SSID路由器的各个SSID的带宽比。且由于流量设置比例的比例项可能存在小数,因此,确定出的发送个数必须是整数,且各个SSID的发送个数的公约数是1。

示例的,假设SSID1、SSID2和SSID3的流量设置比例为2:1:0.5,相应的,SSID1、SSID2和SSID3的发送个数为4、2、1。这样,每个发送个数都是整数,且他们的最小公约数是1。

在步骤102之后,如图3所示,所述方法还包括:

步骤103、按照各个SSID的数据包的发送个数和预设的各个SSID的发送优先级,发送各个SSID的数据包。

对于一次循环,当n大于i时,发送i个第一SSID的数据包和n-i个空包, 所述i是实际能够发送第一SSID的数据包的发送个数。

这里,多SSID路由器可以依次发送各个SSID的数据包,各个SSID之间并无优先级,可以按照任一顺序发送。优选的,SSID根据发送接收的速度来确认出一个发送优先级。

具体的,包括两种方法来确定其发送优先级。

第一种,在步骤103之前,所述方法还包括:获取各个SSID的总接收个数和总发送个数;根据各个SSID的总接收个数和总发送个数,确定各个SSID的顺序值;根据各个SSID的顺序值,确定在每次循环中各个SSID的发送优先级。

具体的,所述根据各个SSID的总接收个数和总发送个数,确定各个SSID的顺序值包括:从各个SSID中,确定出总发送个数最多的SSID,计算第一SSID与总发送个数最多的SSID的发送个数之比;从各个SSID中,确定出总接收个数最多的SSID,计算第一SSID与总接收个数最多的SSID的总接收个数之比;第一SSID节点的顺序值按此计算:sc=sc1*0.55+sc2(*0.5,其中,sc是第一SSID的顺序值,sc1是第一SSID的发送个数之比,sc2是第一SSID的接收个数之比。其它SSID同样这么计算其顺序至。这里,顺序值的越大,SSID的优先级越高。这里,当计算完顺序值之后,也就是预设条件满足时,总发送个数和总接收个数清零。

值得说明的是,对于计算出的sc小于0.05的节点,设置其比例为0.05,大于1的节点,则设置其比例为1。

第二种,在步骤103之前,所述方法还包括:获取各个SSID的总发送时间,总发送时间为发送SSID的数据包的时间之和;按照各个SSID的总发送时间,确定在每次循环中各个SSID的发送优先级;与此同时,将各个SSID的总发送时间清零,以用于进行下次记录。

具体的,步骤103可以包括:在一次循环中,在各个QoS优先级的队列中,获取n个QoS优先级最高的第一SSID的数据包,所述n是发送所述第一SSID的数据包的发送个数;发送n个QoS优先级最高的第一SSID的数据包。

与此同时,所述方法还包括:获取发送第一SSID的数据包的发送时间;将第一SSID的数据包的发送时间除以第一SSID的顺序值,得到修正后的第一SSID的数据包的发送时间;将修正后的第一SSID的数据包的发送时间加入第一SSID的总发送时间。这里,直接用第一SSID的发送时间相加得到第一SSID的总发送时间也是可以的。

值得说明的是,本实施例中的发送个数是指一次循环中发送SSID的数据包的发送个数;各个SSID的数据包是按照预设的顺序循环发送的,直到接收的所有的SSID的数据包发送完成才停止循环发送。

这样一来,每一次循环发送中,都是发送对应SSID的数据包的发送个数的SSID的数据包,该发送个数是与流量设置比例对应,这样,各个用户端的带宽就被限制,大大的减少了一个或多个用户端占用大量网络资源的情况发生,达到了均衡流量的目的,从而提高用户满意度。

实施例二

本发明实施例提供一种数据传输方法,该方法应用于多SSID路由器,假设该SSID中设置有两个SSID,分别为SSID1和SSID2,该SSID1和SSID2分别对应着至少一个STA。如图4所示,该方法包括:

步骤201、获取到SSID1和SSID2的流量设置比例。

假设SSID节点SSID1和SSID2的比例是2:1。

步骤202、在第i预设周期内,接收上层发送第一数据包。

这里,上层可以是服务器等设备。

步骤203、判断第一数据包是否归属于SSID1或SSID2。若是,则执行步骤204;若否,则执行步骤216。

步骤204、确定第一数据包归属于SSID1。

步骤205、获取第一数据包的种类。

此时,假设确定第一数据包是SSID1的数据包。

步骤206、根据数据包的种类和QoS优先级的对应关系,将第一数据包挂载到对应优先级的队列上。

步骤207、将SSID1的总接收个数加1。

步骤208、判断本预设周期是否结束。若是,则执行步骤209;若否,则执行步骤202。

步骤209、获取SSID1和SSID2的总发送个数和总接收个数。

步骤210、根据SSID1和SSID2的总接收个数和总发送个数,确定SSID1和SSID2的发送优先级。

具体的,从SSID1和SSID2中,确定出总接收个数最多的SSID,计算SSID1、与总接收个数最多的SSID的总接收个数之比sc1;从SSID1和SSID2中,确定总总发送个数最多的SSID,计算SSID1与总发送个数最多的SSID的总发送个数之比sc2,SSID1的顺序值按此计算:sc=sc1*0.55+sc2*0.5;同时,如上述方法计算SSID2的顺序值;将SSID1和SSID2的sc大小顺序作为SSID1和SSID2发送优先级的高低顺序。当SSID1的顺序值大于SSID2的顺序值时,SSID1优先级就高于SSID2的优先级。

值得说明的是,对于计算出的顺序值小于0.05的节点,设置其顺序值为0.05,大于1的节点,则设置顺序值为1。

本实施例中,假设SSID1的发送优先级高于SSID的发送优先级。

步骤211、根据流量设置比例,确定发送SSID1的数据包和发送SSID2的数据包的发送个数。

步骤212、按照发送SSID1的数据包的发送个数,通过SSID1发送QoS优先级最高的队列中SSID1的数据包。

这里,当QoS优先级最高的队列的数据包发送完之后,QoS优先级次高队列变为QoS优先级最高的队列,继续发送数据包。也就是说数据包是按照QoS优先级从高到低发送的。

具体的,当流量设置比例是2:1时,向SSID1发送且QoS优先级最高的队列中两个SSID的数据包。这里,当队列中不存在归属于SSID1的数据包时,SSID1空转次数与发送个数相同。这里,空转即发送空包。

步骤213、按照SSID2的发送个数,通过SSID2发送QoS优先级最高的队 列中的SSID2的数据包。

具体的,当流量设置比例是2:1时,向SSID2发送QoS优先级最高的队列中的SSID2的数据包。这里,当队列中不存在归属于SSID2的数据包时,SSID2空转次数与发送个数相同。

与此同时,获取SSID1发送数据包的发送时间,将发送时间除以sc,得到修正后的发送时间,将修正后的发送时间增加至SSID1的发送总时间。

步骤214、将总发送个数加相应个数。结束本次流程。

值得说明的是空转或发送空包时,无需改变总发送个数。

步骤215、按照现有流程发送该数据包。结束本次流程。

值得说明的是,本实施例可以是每个SSID的数据包分别挂载在不同组的QoS优先级的队列,也可以是所有SSID的数据包都挂载在一组QoS优先级的队列;当流量设置比例中各个比例项不相同时,可以按照比例的大小顺序作为SSID发送数据包的顺序;当流量设置比例中存在相同比例项时,可以计算相同比例项的sc,确定出相同比例项的SSID的发送顺序。

实施例三

本发明实施例提供一种多SSID路由器30,如图5所示,所述多SSID路由器30包括:

接收单元301,用于接收各个多服务集标识SSID的数据包,所述SSID的数据包是归属于对应SSID的数据包。

确定单元302,用于按照预设的流量设置比例,确定发送所述各个SSID的数据包的发送个数。

进一步的,如图6所示,所述多SSID路由器30还包括:

发送单元303,用于按照所述各个SSID的数据包的发送个数和预设的各个SSID的发送优先级,发送各个SSID的数据包。

进一步的,如图6所示,所述多SSID路由器还包括:

获取单元304,用于获取所述各个SSID的总接收个数和总发送个数。

所述确定单元303,还用于根据所述各个SSID的总接收个数和总发送个数, 确定各个SSID的顺序值;还用于根据所述各个SSID的顺序值,确定所述各个SSID的发送优先级。

进一步的,所述获取单元304,还用于获取所述各个SSID的总发送时间,所述总发送时间为发送所述SSID的数据包的时间之和;

所述确定单元302,还用于按照所述各个SSID的总发送时间,确定所述各个SSID的发送优先级。

进一步的,所述接收单元301具体用于:

接收第一数据包;

所述第一数据包归属于第一SSID时,确定所述第一数据包是所述第一SSID的数据包;

所述获取单元还用于获取所述第一数据包的种类;

所述确定单元还用于根据预设的数据包的种类和服务质量QoS优先级的对应关系,确定所述第一数据包挂载的QoS优先级的队列。

进一步的,所述发送单元304具体用于:

在各个QoS优先级的队列中,获取n个QoS优先级最高的第一SSID的数据包,所述n是发送所述第一SSID的数据包的发送个数;

发送所述n个QoS优先级最高的第一SSID的数据包。

进一步的,如图6所示,所述多SSID路由器还包括:

处理单元305,用于当接收一个SSID的数据包时,将对应的SSID的总接收个数加1;当发送一个SSID的数据包时,将对应的SSID的总发送个数加1。

进一步的,所述获取单元304还用于获取发送所述第一SSID的数据包的发送时间;

所述处理单元305还用于将所述第一SSID的数据包的发送时间除以所述第一SSID的顺序值,得到修正后的第一SSID的数据包的发送时间;将所述修正后的第一SSID的数据包的发送时间加入所述第一SSID的总发送时间。

进一步的,所述发送单元304还用于:

当所述n大于i时,发送所述i个第一SSID的数据包和n-i个空包,所述i 是实际能够发送所述第一SSID的数据包的发送个数。

在实际应用中,所述接收单元301、确定单元302、发送单元303、获取单元304、处理单元305均可由位于多SSID路由器30中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1