一种介质访问控制电路、数据处理方法及相关设备与流程

文档序号:19427771发布日期:2019-12-17 15:51阅读:124来源:国知局
本发明涉及无线通信
技术领域
:,尤其涉及一种介质访问控制(mac)电路、数据处理方法及相关设备。
背景技术
::wlan中有四种访问类别(accesscategory,ac),分别是语音访问类别、视频访问类别、背景访问类别和尽力而为访问类别,并为这四种ac定义了特定的空口控制参数从而达到不同的信道访问优先级和网络性能。wlan中将上述机制称作增强型分布式信道访问(enhanceddistributedchannelaccess,edca)。为了支撑edca,无线接入点(accesspoint,ap)在介质访问控制(mediumaccesscontrol,mac)层使用了4个硬件队列,每一个硬件队列对应一种访问类别,并由一组参数(例如:仲裁帧间间隔(arbitrationinterframespace,aifs)、最小竞争窗口(cwmin)、最大竞争窗口(cwmax)和发送机会(transmissionopportunity,txop)控制。调整这些参数就可以调整不同访问类别的信道访问能力。但是,随着连接到网络中的站(station,sta)的数量成倍上升,网络应用场景会越来越复杂,整个网络的传输会越来越拥堵。如果整个网络中有某一个站的数据帧的传输性能比较差,整个网络传输性能都会降低。因此,如何提高无线网络的网络传输性能,成为本领域技术人员正在研究的技术问题。技术实现要素:本申请公开了一种介质访问控制(mac)电路、数据处理方法及相关设备,可提高无线网络的网络传输性能。第一方面公开了一种mac电路,该mac电路包括:处理器,n个硬件队列,接口电路;该n个硬件队列分为多个硬件队列组,每一个硬件队列组包括多个硬件队列,该多个硬件队列组中的硬件队列的总数量小于或等于n,该处理器与该n个硬件队列相连,该n个硬件队列与该接口电路相连;其中,该n个硬件队列,用于存储待发送的数据帧;该处理器,用于将数据帧放到第一硬件队列组中的第一硬件队列,其中,基于第一映射关系该第一硬件队列组与该数据帧的网络属性对应,基于第二映射关系该第一硬件队列与该数据帧的业务类型对应,该第一映射关系包括多个网络属性到该多个硬件队列组的映射,该第二映射关系包括多个业务类型到该数据帧的网络属性对应的硬件队列组中的该多个硬件队列的映射;该接口电路,用于经由无线信道发送来自该n个硬件队列的该数据帧。通过本申请提供的一种mac电路,可以将不同网络属性的数据帧放到不同的硬件队列组,这样,让不同网络属性标识的虚拟子网络中的数据帧形成隔离,以使不同网络属性标识的虚拟子网络下的数据帧各自访问信道的能力互不影响,满足了不同网络属性标识的虚拟子网络的不同网络需求。即使存在一个网络属性标识的虚拟子网络下的数据帧的传输性能差,也不会影响到其他网络属性标识的虚拟子网络下的数据帧的传输性能,因此,提高了无线网络整体的传输性能。结合第一方面,在第一方面的第一种可能的实现方式中,该处理器,还用于:如果站的重传值大于第一阈值,在该第一映射关系中将该站的地址的映射调整为该站的地址到第二硬件队列组的映射,该第二硬件队列组在该n个硬件队列中,并在该多个硬件队列组之外,该第二硬件队列组包括一个或多个硬件队列,在该调整之后,该第一映射关系中指向该第二硬件队列组的映射中的任意一个地址所标识的站的重传值大于该第一阈值。也即是说,mac电路可以将重传值大于第一阈值的站的数据帧放到第二硬件队列组中,这样,可以将网络传输环境差的站的数据帧与网络环境好的站的数据帧独立隔开,降低网络传输环境差的站的数据帧因为重传而对网络传输环境好的站的数据帧访问信道造成的影响,从而提高整个网络的传输性能。结合第一方面,或第一方面的任一种可能的实现方式,在第一方面的第二种可能的实现方式中,该处理器,还用于:如果属于该多个硬件队列组中的一个硬件队列组的一个业务类型的流的数量满足第一条件,在该第二映射关系中增加该硬件队列组中对应于该业务类型的硬件队列的数量。其中,该第一条件包括属于该硬件队列组的该业务类型的流的数量与对应于该业务类型的硬件队列的数量的比值大于第二阈值。也即是说,mac电路可以增加业务类型的对应的硬件队列的数量,这样,可以防止因为某一业务类型的流的数量过多而造成的网络拥塞,还可以在保障网络性能增益的同时,使网络承载该业务类型的更多流。结合第一方面,或第一方面的任一种可能的实现方式,在第一方面的第三种可能的实现方式中,该处理器,还用于:如果该数据帧的网络属性对应的硬件队列组中不存在该数据帧的业务类型对应的硬件队列,在该第二映射关系中增加该数据帧的业务类型对应的硬件队列。也即是说,mac电路可以在第二映射关系中增加新业务类型对应的硬件队列,然后将该新业务类型的数据帧放到该新的业务类型对应的硬件队列中。这样,可以实现对该新业务类型的数据帧的经由单独硬件队列接入信道,进而可以实现对该新业务类型的数据帧访问信道能力的单独控制,满足该新业务的网络需求。第二方面,本申请实施例提供了一种数据处理方法,该方法包括:首先,mac电路中的处理器将数据帧放到第一硬件队列组中的第一硬件队列;其中,该mac电路包括n个硬件队列,该n个硬件队列分为多个硬件队列组,每一个硬件队列组包括多个硬件队列,该多个硬件队列组中的硬件队列的总数量小于或等于n。其中,基于第一映射关系该第一硬件队列组与该数据帧的网络属性对应,基于第二映射关系该第一硬件队列与该数据帧的业务类型对应,该第一映射关系包括多个网络属性到该多个硬件队列组的映射,该第二映射关系包括多个业务类型到该数据帧的网络属性对应的硬件队列组中的该多个硬件队列的映射。然后,该mac电路中的接口电路经由无线信道发送来自该n个硬件队列的该数据帧。通过本申请,可以将不同网络属性的数据帧放到不同的硬件队列组,这样,让不同网络属性标识的虚拟子网络中的数据帧形成隔离,以使不同网络属性标识的虚拟子网络下的数据帧各自访问信道的能力互不影响,满足了不同网络属性标识的虚拟子网络的不同网络需求。即使存在一个网络属性标识的虚拟子网络下的数据帧的传输性能差,也不会影响到其他网络属性标识的虚拟子网络下的数据帧的传输性能,因此,提高了无线网络整体的传输性能。结合第二方面,在第二方面的第一种可能的实现方式中,该网络属性包括站点地址。该方法还包括:如果所述接收者地址表示的站的重传值大于第一阈值,该mac电路中的处理器在第一映射关系中将该站的地址的映射调整为该站的地址到第二硬件队列组的映射,该第二硬件队列组在该n个硬件队列中,并在该多个硬件队列组之外,该第二硬件队列组包括一个或多个硬件队列,在该调整之后,该第一映射关系中指向该第二硬件队列组的映射中的任意一个的地址所标识的站的重传值大于该第一阈值。也即是说,本申请可以将重传值大于第一阈值的站的数据帧放到第二硬件队列组中该数据帧业务类型对应的硬件队列中,这样,可以将网络传输环境差的站的数据帧与网络环境好的站的数据帧独立隔开,降低网络传输环境差的站的数据帧因为重传而对网络传输环境好的站的数据帧访问信道造成的影响,从而提高整个网络的传输性能。结合第二方面,或第二方面的任一种可能的实现方式,在第二方面的第二种可能的实现方式中,还包括:如果属于该多个硬件队列组中的一个硬件队列组的一个业务类型的流的数量满足第一条件,该mac电路中的处理器在该第二映射关系中增加该硬件队列组中对应于该业务类型的硬件队列的数量。其中,该第一条件包括属于该硬件队列组的该业务类型的流的数量与对应于该业务类型的硬件队列的数量的比值大于第二阈值。也即是说,本申请可以增加业务类型的对应的硬件队列的数量,这样,可以防止因为某一业务类型的流的数量过多而造成的网络拥塞,还可以在保障网络性能增益的同时,使网络承载该业务类型的更多流。结合第二方面,或第二方面的任一种可能的实现方式,在第二方面的第三种可能的实现方式中,还包括:如果该数据帧的网络属性对应的硬件队列组中不存在该数据帧的业务类型对应的硬件队列,该mac电路中的处理器在该第二映射关系中增加该数据帧的业务类型对应的硬件队列。也即是说,mac电路可以在第二映射关系中增加新业务类型对应的硬件队列,然后将该新业务类型的数据帧放到该新的业务类型对应的硬件队列中。这样,可以实现对该新业务类型的数据帧的经由单独硬件队列接入信道,进而可以实现对该新业务类型的数据帧访问信道能力的单独控制,满足该新业务的网络需求。第三方面,本申请实施例提供了一种通信设备,该通信设备包括:介质访问控制mac电路和天线,其中,该mac电路为第一方面及第一方面任意一种可能的实现方式中的mac电路。第四方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,当该程序指令在处理器上运行时,实现第二方面,或第二方面的任意一种可能的实现方式。第五方面,本申请实施例提供一种计算机程序产品,其特征在于,当该计算机程序产品在处理器上运行时,实现第二方面,或第二方面的任意一种可能的实现方式所描述的方法。附图说明以下对本申请实施例用到的附图进行介绍。图1是本申请提供的一种wlan通信系统的架构示意图。图2是本申请提供的一种mac电路的结构示意图。图3是本申请提供的一种数据处理方法的流程示意图。图4是本申请提供的另一种数据处理方法的流程示意图。图5是本申请提供的又一种数据处理方法的流程示意图。图6是本申请提供的又一种数据处理方法的流程示意图。图7是本申请提供的一种网络优化方案与传统方案的对比收益示意图。图8是本申请提供的另一种网络优化方案与传统方案的对比收益示意图。图9是本申请提供的又一种网络优化方案与传统方案的对比收益示意图。图10是本申请提供的一种通信设备的结构示意图。具体实施方式下面结合本发明实施例中的附图对本申请实施例进行描述。请参见图1,图1是本申请实施例提供的一种wlan通信系统的架构示意图,该wlan通信系统100中可以包括通信设备101、多个站(sta)设备102。如图1所示,通信设备101可以是无线接入点(ap)或者可操作用于至少一个站设备102通信的另一站设备。通信设备101可包括一个或多个处理器以及一个或多个存储器。站设备102可以各自与通信设备101进行无线通信。站设备102可以是支持wlan的膝上型计算机(laptopcomputer)、机顶盒(set-topbox,stb)、个人计算机(personalcomputer,pc)、平板计算机(tabletcomputer)、个人数字助理(personaldigitalassistant,pda)、驻地设备(customerpremiseequipment,cpe)、传感器(sensor)或移动电话(mobilephone)。传统的mac层有四个硬件队列,这四个硬件队列分别对应四种访问类别(accesscategory,ac),这四种访问类别为语音访问类别(ac_vo)、视频访问类别(ac_vi)、背景访问类别(ac_bk)、尽力而为访问类别(ac_be)。为了保证不同业务的不同服务质量(qualityofservice,qos)要求,传统的mac层有增强分布式信道接入(enhanceddistributedchannelaccess,edca)机制,edca能够用于服务不同访问类别的业务数据传输,用以支撑优先级业务的服务质量。上述四种访问类别都有各自对应的一组edca控制参数集,不同的edca控制参数集为不同的访问类别的业务提供了不同的信道访问优先级。edca控制参数集包括仲裁帧间间隔(aifs)、最小竞争窗口(cwmin)、最大竞争窗口(cwmax)和发送机会(txop)。如下表1所示,给出了传统mac层使用的默认edca的控制参数。表1:传统mac层使用的默认edca控制参数传统ap仅支持四种对应于四种访问类别的四种业务类型的独立调度,灵活性差,如果要支持具有新的qos需求的新的业务类型,该新的业务类型的数据流需要与传统ap支持的四种业务类型共用硬件队列,相互影响,无法做到独立控制。再者,在同一个物理ap划分多个虚拟网络的情况下,不同虚拟网络的数据帧仍然共享这四个硬件队列,一旦存在一个虚拟网络的sta性能比较差,另一个虚拟网络中的sta也要受到影响,这样会使得整体网络性能较差。下面基于上述wlan通信系统,介绍本申请中提供的mac电路,上述图1中的通信设备包括该mac电路。请参见图2,图2是本申请实施例提供的一种mac电路的结构示意图,如图2所示,mac电路200可以包括:处理器210、n个硬件队列220和接口电路230。其中,n个硬件队列220,可用于存储待发送的数据帧。该n个硬件队列220可以分为多个硬件队列组221,每一个硬件队列组可以包括多个硬件队列222。该多个硬件队列组221包括的硬件队列数量小于或等于n,该处理器210与该n个硬件队列相连,该n个硬件队列与该接口电路相连。该处理器210,可用于将数据帧放到第一硬件队列组中的第一硬件队列。其中,基于第一映射关系,该第一硬件队列组与该数据帧的网络属性对应,基于第二映射关系,该第一硬件队列与该数据帧的业务类型对应,该第一映射关系包括多个网络属性到上述多个硬件队列组的映射,该第二映射关系包括多个业务类型到该数据帧的网络属性对应的硬件队列组中的该多个硬件队列的映射。网络属性可以包括基础服务集标识(basicservicesetidentifier,bssid),服务集标识(servicesetidentifier,ssid),接收者地址(receiveraddress,ra),站(sta)的协议类型中的一种或多种,还可以包括其他类型的网络属性。处理器210为微控制单元或其他非中央处理单元的处理器时,mac电路可以通过检测数据帧的访问类别,根据数据帧的访问类别划分出数据帧的业务类型,其中,一种访问类别可以对应一种业务类型。具体内容可以参考下面图3所示实施例中的步骤s301、mac电路确定数据帧的网络属性和业务类型。处理器210为中央处理单元(cpu)时,cpu可以通过深度报文检测(deeppacketinspection,dpi)确定出数据帧的业务类型,cpu还可以检测数据帧中的传输层(如tcp或udp)端口,以确定数据帧的业务类型。例如,若数据帧中tcp头中使用了端口号80、8080或443等,则cpu可以将数据帧的业务类型确定为网页类业务,若数据帧中tcp头中使用了端口号1720、1721、5000等,则cpu可以将数据帧的业务类型确定为语音类业务。cpu还可以通过其他方式来确定出数据帧的业务类型,在此不作限定。上述示例仅仅用于解释本申请,不应构成限定。该接口电路230,可用于经由无线信道发送来自上述n个硬件队列的数据帧。第一硬件队列可以配置有edca控制参数集,该edca控制参数集用于控制该第一硬件队列中的数据帧访问无线信道。其中,该edca控制参数集包括仲裁帧间间隔(aifs)、最小竞争窗口(cwmin)、最大竞争窗口(cwmax)和发送机会(txop)。可选的,网络属性可以包括接收者地址,处理器210还可以用于如果接收者地址表示的站的重传值大于第一阈值,在第一映射关系中增加该接收者地址到第二硬件队列的映射,然后,处理器210还可以用于:将该接收者地址表示的站的数据帧放到该第二硬件队列组中该接收者地址标识的站的数据帧的业务类型对应的硬件队列。这样,mac电路可以将网络传输环境差的站的数据帧与网络环境好的sta的数据帧独立隔开,降低网络传输环境差的站的数据帧因为重传而对网络传输环境好的sta的数据帧访问信道造成的影响,从而提高整个网络的传输性能。可选的,处理器210还可以用于:如果多个硬件队列组中的一个硬件队列组的一个业务类型的流的数量满足第一条件,在该第二映射关系中增加该硬件队列组中对应该业务类型的硬件队列的数量。其中,该第一条件包括属于该硬件队列组的该业务类型的流的数量与对应于该业务类型的硬件队列的数量的比值大于第二阈值。这样,可以防止因为某一业务类型的流的数量过多而造成的网络拥塞,还可以在保障网络性能增益的同时,使网络承载该业务类型的更多流。可选的,处理器210还可以用于:如果数据帧的网络属性赌赢的硬件队列组中不存在该数据帧的业务类型对应的硬件队列,在该第二映射关系中增加该数据帧的业务类型对应的硬件队列。这样,可以实现对该新业务类型的数据帧的经由单独硬件队列接入信道,进而可以实现对该新业务类型的数据帧访问信道能力的单独控制,满足该新业务的网络需求。通过本申请实施例,可以将不同网络属性的数据帧放到不同的硬件队列组,这样,让不同网络属性标识的虚拟子网络中的数据帧形成隔离,以使不同网络属性标识的虚拟子网络下的数据帧各自访问信道的能力互不影响,满足了不同网络属性标识的虚拟子网络的不同网络需求。即使存在一个网络属性标识的虚拟子网络下的数据帧的传输性能差,也不会影响到其他网络属性标识的虚拟子网络下的数据帧的传输性能,因此,提高了无线网络整体的传输性能。本申请实施例中,mac电路200中的处理器210可以是中央处理单元(centerprocessorunit,cpu),也可以是集成在mac电路200内部的微控制单元(microcontrolunit,mcu)。当处理器210为中央处理单元时,mac电路200中的每一个硬件队列都可以提供接口与中央处理单元相连,由中央处理单元负责将数据帧放到硬件队列中。当处理器210为集成在mac电路200内部的微控制单元时,该微控制单元调度数据帧放到硬件队列中。处理器210所执行的具体功能还可以参考下面图3、图4、图5和图6所示的方法实施例,具体在此不再赘述。下面为本申请提供的一种数据处理方法的实施例,该方法的执行主体可以是mac电路,也可以是一种通信设备,该通信设备可以具有该mac电路的结构部件及功能。为叙述方便,本申请以mac电路为主体对下述方法实施例进行具体描述。请参见图3,图3示出了本申请实施例提供的一种数据处理方法的流程示意图。如图3所示,该方法包括如下步骤:s301-s304。s301、mac电路确定数据帧的网络属性和业务类型。网络属性可以包括bssid,ssid,ra,sta的协议类型中的一种或多种,还可以包括其他类型的网络属性,在此不做具体限定。mac电路可以通过解析数据帧中帧头的地址域(addressfields),从而获取到该数据帧的bssid的值。因为,数据帧中的帧头(frameheader)包括有地址域(addressfields)中可以包括:源地址(sourceaddress,sa)、发送者地址(transmitteraddress,ta)、接收者地址(ra)。其中,发送者地址的值是数据帧的bssid,因此,mac电路可以通过解析数据帧中帧头中的地址域,从而获取到该数据帧的bssid的值。下面介绍本申请实施例中mac电路如何获确定出数据帧的sta协议类型。sta的协议类型,可以分为两大类,受控sta和非受控sta,受控sta即支持高效wlan增强(enhancementsforhighefficiencywlan)方案的sta。非受控sta,即不支持高效wlan增强方案的sta。高效wlan增强方案中的sta设备支持信道的子载波化。通过将高效wlan增强方案中的sta设备的数据帧与非高效wlan增强方案中的sta设备的数据帧放到不同的硬件队列组,可以防止非高效wlan增强方案的数据帧影响高效wlan增强方案的数据帧的高效传输。这样,可以提高高效wlan增强方案的数据帧的传输效率。针对获取数据帧的sta协议类型,mac电路可以解析该数据帧的帧头(frameheader)包括的ht控制(htcontrol)域,其中,ht控制(htcontrol)域包括有上行多用户去使能(ulmudisable)域。mac电路通过判断该ulmudisable域的值是否为1,若ulmudisable域的值为1,则该sta为非受控sta,若该ulmudisable域的值不为1,则该sta为受控sta。下面介绍本申请实施例中mac电路如何确定出数据帧的业务类型。当mac电路中的处理器为cpu时,cpu可以通过深度报文检测确定出数据帧的业务类型,cpu还可以通过检测数据帧中的tcp/udp端口确定数据帧的业务类型,例如,若某个数据帧中tcp头中使用了端口号80、8080或443等,则cpu可以数据帧的业务类型确定为网页类业务,若某个数据帧中tcp头中使用了端口号1720、1721、5000等,则cpu可以将数据帧的业务类型确定为语音类业务。示例仅仅用于解释本申请,不应构成限定。当mac电路中的处理器为微控制单元或其他非中央处理单元的处理器时,mac电路可以通过检测数据帧的访问类别,根据数据帧的访问类别划分出数据帧的业务类型,其中,一种访问类别可以对应一种业务类型。如,访问类别为ac_vo的数据帧的业务类型可以是语音业务,访问类别为ac_vi的数据帧的业务类型可以是视频业务,访问类别为ac_bk的数据帧的业务类型可以是背景业务,访问类别为ac_be的数据帧的业务类型可以是尽力而为业务。mac电路可以解析数据帧中的帧头(frameheader)包括有qos控制域(qoscontrolfields)来检测出该数据帧的访问类别,从而确定出该数据帧的业务类型。该qos控制域有2个字节,其中,前3个bit是tid域,用于表示数据形态识别码(trafficidentifier)。tid值0-7用于表示具有优先权的qos(prioritizedqos),tid值8-15用于参数化的qos(parameterizedqos)。其中,tid的值0-7与访问类别(ac)的对应关系如下表2所示。表2tid的值与访问类别(ac)的对应关系tidac1ac_bk2ac_bk0ac_be3ac_be4ac_vi5ac_vi6ac_vo7ac_vo由上表2可以看出,tid的值1和2对应访问类别ac_bk,tid的值0和3对应访问类别ac_be,tid的值4和5对应访问类别ac_vi,tid的值6和7对应访问类别ac_vo。其中,语音业务的数据帧的访问类别可以为ac_vo,视频业务的数据帧的访问类别可以为ac_vi,背景业务的数据帧的访问类别可以为ac_bk,尽力而为业务的数据帧的访问类别可以为ac_be。所以,根据tid域的值可以确定出数据帧的业务类型,tid的值1和2可以表示数据帧的业务类型为背景业务,tid的值0和3可以表示数据帧的业务类型为尽力而为业务,tid的值4和5可以表示数据帧的业务类型为视频业务,tid的值6和7可以表示数据帧的业务类型为语音业务。因此,mac电路可以通过解析数据帧的帧头中的qos控制域的tid域的值,从而获取到该数据帧的业务类型。根据sta的设备类型和访问类别对业务类型进行分类,业务类型不仅可以包括语音业务,视频业务,背景业务,尽力而为业务,还可以包括iot(internetofthings)控制类业务,由于iot控制类业务的sta的设备地址固定,因此,mac电路可以根据sta设备的mac地址确定出数据帧是否为iot控制类业务类型。也即是说,mac电路可以解析数据帧中的接收者地址,若该接收者地址为预设的iot设备mac地址,则该数据帧的业务类型为iot控制类业务,因此,mac电路可以确定出该数据帧为iot控制类业务类型。s302、mac电路基于第一映射关系将数据帧放到第一硬件队列组。其中,基于第一映射关系所述第一硬件队列组与该数据帧的网络属性对应,该第一映射关系包括多个网络属性到多个硬件队列组的映射。mac电路可以根据数据帧一种网络属性确定出该数据帧对应的第一硬件队列组。例如,这一种网络属性可以是bssid。mac电路可以根据bssid的值从第一映射关系中确定出该数据帧对应的第一硬件队列组。第一映射关系为基础服务集标识bssid到硬件队列组的映射。其中,不同的bssid指示不同的基础服务集bss。bssid到硬件队列组的映射表如下表3所示。表3:bssid到硬件队列组的映射表网络属性(bssid)硬件队列组bssid_1g_1bssid_2g_2bssid_3g_3由上表3所示的bssid到硬件队列组的映射表可以看出,mac芯片包括但不限于txqg_1、txqg_2和txqg_3三个硬件队列组,bssid的值为1(即bssid_1)的数据帧可以分发到硬件队列组txqg_1,bssid的值为2(即bssid_2)的数据帧可以被分发到硬件队列组txqg_2,bssid的值为3(即bssid_3)的数据帧可以被分发到硬件队列组txqg_3。又例如,这一种网络属性可以是数据帧的sta协议类型。mac电路可以根据该数据帧的sta协议类型的值从第一映射关系中确定出该数据帧对应的第一硬件队列组,其中,sta协议类型的值可以是上述mac电路获取到数据帧中的htcontrol域的ulmudisable域的值,sta协议类型的值还可以是数据帧中的接收者地址的值。第一映射关系为sta协议类型的值到硬件队列组的映射。若sta协议类型的值为ulmudisable域的值,则ulmudisable域到硬件队列组的映射表如下表4所示:表4:ulmudisable域到硬件队列组的映射表ulmudisable域硬件队列组1g_1不为1g_2由上表4所示的ulmudisable域到硬件队列组的映射表可以看出,mac芯片包括但不限于g_1和g_2两个硬件队列组。ulmudisable域的值为1的数据帧可以分发到硬件队列组g_1中,ulmudisable域的值不为1的数据帧可以分发到硬件队列组g_2中。上表4中,mac芯片包括但不限于g_1和g_2两个硬件队列组。mac电路可以根据数据帧的多种网络属性确定出该数据帧对应的第一硬件队列组。该多种网络属性可以是数据帧的bssid和sta协议类型。其中,数据帧的bssid和sta协议类型到硬件队列组的映射可以如下表5所示:表5:数据帧的bssid和sta协议类型到硬件队列组的映射表由上表5所示的数据帧的bssid和sta协议类型到硬件队列组的映射表可以看出,网络属性向量(bssid_1,非受控sta)的数据帧可以被分发到硬件队列组g_1中,网络属性向量(bssid_1,受控sta)的数据帧可以被分发到硬件队列组g_2中,网络属性向量(bssid_2,非受控sta)的数据帧可以被分发到硬件队列组g_3中,网络属性向量(bssid_2,受控sta)的数据帧可以被分发到硬件队列组g_4中。以上示例仅仅用于解释本申请,不应构成限定。s303、mac电路基于第二映射关系将数据帧放到第一硬件队列组中的第一硬件队列。其中,基于第二映射关系该第一硬件队列与该数据帧的业务类型对应,该第二映射关系包括多个业务类型到该数据帧的网络属性对应的硬件队列组中的多个硬件队列的映射。在根据网络属性确定出第一硬件队列组后,mac电路还可以根据业务类型在第一硬件队列组中确定出该数据帧对应的第一硬件队列。举例说明,例如,在业务类型包括语音业务、视频业务、背景业务、尽力而为业务的情况下,第二映射关系可以为业务类型到第一硬件队列组中硬件队列的映射,第一硬件队列组可以包括硬件队列q_1、q_2、q_3和q_4。其中,业务类型到第一硬件队列组中硬件队列的映射可以如下表6所示:表6:业务类型到第一硬件队列组中硬件队列的映射表业务类型硬件队列语音业务q_1视频业务q_2背景业务q_3尽力而为业务q_4由上表6所示的业务类型到第一硬件队列组中硬件队列的映射表可以看出,语音业务的数据帧可以被放到硬件队列q_1,视频业务的数据帧可以被放到硬件队列q_2,背景业务的数据帧可以被放到硬件队列q_3。尽力而为业务的数据帧可以被放到硬件队列q_4。上表6中,第一硬件队列组中包括但不限于q_1、q_2、q_3和q_4四个硬件队列。本申请实施例中,mac电路可以在根据数据帧的网络属性确定出第一硬件队列组后,进一步根据数据帧的业务类型确定出数据帧在第一硬件队列组中对应的第一硬件队列。这样,mac电路可以实现将不同业务类型的数据帧分到不同的硬件队列中,可以针对不同的业务类型提供不同的业务优先级,从而提高网络的无线介质访问的效率。s304、mac电路经由无线信道发送来自n个硬件队列的数据帧。硬件队列组中的硬件队列上配置有edca控制参数集,该edca控制参数集用于控制该第一硬件队列中的数据帧接入信道。其中,该edca控制参数集包括帧间隔aifs、最小竞争窗口cwmin、最大竞争窗口cwmax和发送机会txop。不同硬件队列上的edca控制参数集可以相同,也可以不同,在此不作限定。每一个硬件队列可以基于该edca控制参数集的txop独立竞争,当信道上的空闲状态时长为硬件队列的仲裁帧间间隔aifs时,该硬件队列上的退避计数器bo(backoffcounter)便会启动退避计数,其中,硬件队列执行退避的时长由最小竞争窗口cwmin和最大竞争窗口cwmax决定。当硬件队列上的退避计数器bo倒计时到0时,硬件队列中的数据帧才能接入信道。在一种可能的情况下,有多个硬件队列上的退避计数器bo同时倒计时到0。在这种情况下,mac电路可以按照硬件队列的优先级来决定接入信道的硬件队列,优先级高的硬件队列优先竞争到信道。例如,在第一硬件队列组中,可以包括q_1、q_2、q_3和q_4四个硬件队列,语音业务对应硬件队列q_1,视频业务对应硬件队列q_2,尽力而为业务对应硬件队列q_3,背景业务对应硬件队列q_4。业务类型的优先级由高到低依次可以是语音业务、视频业务、尽力而为业务、背景业务。当硬件队列q_1的退避计数器bo和硬件队列q_2上的退避计数器bo同时退避到0时,mac电路可以根据语音业务的优先级高于视频业务的优先级,从而让硬件队列q_1上的数据帧优先接入信道,让硬件队列q_2上的数据帧等待下一个帧间隔再次执行退避计数竞争信道。可选的,当有多个硬件队列上的退避计数器bo同时倒计时到0时,mac电路还可以根据轮询的方式决定接入信道的硬件队列。例如,在第一硬件队列组中,可以包括q_1、q_2、q_3和q_4四个硬件队列,mac电路可以周期依次轮流探询这四个硬件队列是否竞争到信道。当mac电路探询到硬件队列q_1时,硬件队列q_1和硬件队列q_2的退避计数器bo同时倒计时到0,则mac电路让硬件队列q_1上的数据帧优先接入信道,让硬件队列q_2上的数据帧等待下一个仲裁帧间间隔再次执行退避计数竞争信道。当mac电路探询到硬件队列q_2时,硬件队列q_1和硬件队列q_2的退避计数器bo同时倒计时到0,则mac电路让硬件队列q_2上的数据帧优先接入信道,让硬件队列q_1上的数据帧等待下一个帧间隔再次执行退避计数竞争信道。通过轮询的调度方式,mac电路可以实现有多个硬件队列退避时间同时到达0时,快速的确定出最终接入信道的硬件队列,减少了硬件队列由于竞争冲突造成网络延时,提高了网络性能。通过本申请实施例,mac电路可以将不同网络属性的数据帧放到不同的硬件队列组,这样,让不同网络属性标识的虚拟子网络中的数据帧形成隔离,以使不同网络属性标识的虚拟子网络下的数据帧各自访问信道的能力互不影响,满足了不同网络属性标识的虚拟子网络的不同网络需求。即使存在一个网络属性标识的虚拟子网络下的数据帧的传输性能差,也不会影响到其他网络属性标识的虚拟子网络下的数据帧的传输性能,因此,提高了无线网络整体的传输性能。下面结合多个实施例详细说明本申请中的第一映射关系或第二映射关系在不同的应用场景下的具体实现。在下述图4所示实施例中,mac电路可以将非响应sta(即重传值大于第一阈值的sta)的数据帧分发到单独的硬件队列组,与响应sta(即数据帧重传值小于或等于第一阈值)的数据帧隔离。具体内容如下所述。请参见图4,图4示出了本申请实施例提供的另一种数据处理方法的流程示意图,该方法应用于图2所示的mac电路中。如图4所示,该方法包括如下步骤:s401-s403。s401、mac电路统计各sta的重传值。mac电路可以周期性统计每一个sta数据帧的重传值。该统计周期可以是1ms、2ms、5ms或更长的时间,在此不做限定。该重传值可以是在一个统计周期内该sta数据帧的重传次数,也可以是在一个周期内该sta传送的重传数据帧的数量与该sta的传入mac层的数据帧的总数量的比值。s402、mac电路判断是否站的重传值大于第一阈值;若是,则执行s403、在第一映射关系中将该站的地址的映射调整为该站的地址到第二硬件队列组的映射。若重传值是一个统计周期内sta的数据帧的重传次数,则该第一阈值可以是2、3、5或者更多次数,在此不作限定。若重传值是一个周期内该sta传送的重传数据帧的数量与该sta的传入mac层的数据帧的总数量的比值,则该第一阈值可以是1、0.9、0.5或者小,在此不作限定。s403、mac电路在第一映关系中将该站的地址的映射调整为该站的地址到第二硬件队列组的映射。第二硬件队列组在该n个硬件队列中,并在上述多个硬件队列组之外,该第二硬件队列组包括一个或多个硬件队列,在该调整之后,该第一映射关系中指向该第二硬件队列组的映射中的任意一个地址所标识的站的重传值大于该第一阈值。mac电路可以将该站的地址标识的站的数据帧放到上述第二硬件队列组中。例如,接收者地址ra_3表示的站的重传值大于第一阈值,则mac电路可以更新第一映射关系,在第一映关系中增加接收者地址到第二硬件队列组的映射。更新前的第一映射关系和更新后的第一映射关系对比表可以如下表7所示:表7:更新前的第一映射关系和更新后的第一映射关系对比由上表7所示,在更新前的第一映射关系中,第一映射关系中有第一硬件队列组g_1,g_2。bssid_1的数据帧被放到硬件队列组g_1中,bssid_1的数据帧被放到硬件队列组g_2中。在更新后的第一映射关系中,有第一硬件队列组g_1,g_2和第二硬件队列组g_3,其中,ra_3表示的sta的数据帧被放到硬件队列组g_3中,bssid_1且非ra_3的数据帧被放到硬件队列组g_1,bssid_2且非ra_3的数据帧被放到硬件队列组g_2。其中,硬件队列组g_3包括一个或多个硬件队列。示例仅仅用于解释本申请,不应构成限定。本申请实施例中,mac电路通过将非响应sta(即数据帧重传值大于第一阈值的sta)的数据帧放到单独的硬件队列组,这样可以减少由于非响应sta的数据帧多次重传而造成整个网络的拥塞,提高了网络的性能。可选的,mac电路还可以对该非响应sta的数据帧进行周期性检测,当在后续的检测周期内,若该非响应sta的数据帧重传值恢复到第一阈值以下,则该非响应sta变成了响应sta。那么,针对响应sta的数据帧的分发,可参考前述图3所示的方式实施例中的步骤s302、mac电路将数据帧放到第一硬件队列组,具体内容,在此不作赘述。这样,mac电路通过在非响应sta的数据帧重传率变低后,将该非响应sta的数据帧分发路径恢复到响应sta的数据帧对应的硬件队列组,可以提高非响应sta恢复到响应状态后的数据帧传输质量。图4所示实施例与传统方案的对比收益图可以参考图7,图7为本申请提供的一种网络优化方案与传统方案的对比收益示意图。如图7所示,横轴表示干扰数据速率(单位:mbps),干扰数据速率越高,sta的数据帧重传率越高。纵轴表示网络整体的总吞吐量(单位:mbps)。双硬件队列组表示图4所示实施例中提供的网络优化方案,即将非响应sta的数据帧分发到单独的硬件队列组,与响应sta的硬件队列组隔开。单硬件队列组表示传统优化方案,将响应sta的数据帧和非响应sta的数据帧分发到同一硬件队列组。从图7中可以看出,随着干扰数据数量的增大,利用双硬件队列组的网络总吞吐量比利用单硬件队列组的网络总吞吐量高,即本申请实施例一提供的网路优化方案,能够提高网络的总体吞吐量。在图4所示实施例中,mac电路通过将非响应sta(即重传值大于第一阈值的sta)的数据帧分发到单独的硬件队列组,减少了由于非响应sta的数据帧多次重传而造成整个网络的拥塞,增加网络的整体的吞吐量。在下述图5所示实施例中,mac电路可以调整业务类型对应硬件队列的数量。具体内容如下所述。请参见图5,图5示出了本申请实施例提供的又一种数据处理方法的流程示意图,该方法应用于图2所示的mac电路中。如图5所示,该方法包括如下步骤:s501-s503。s501、mac电路统计多个硬件队列组中的各个业务类型的流的数量。mac电路可以统计多个硬件队列组中各业务类型的流的数量,其中,流可以是有相同接收者地址且相同业务类型的数据帧序列。例如,mac电路可以统计在基础服务集bssid_1下进行语音业务的流的数量,mac电路可以统计在基础服务集bssid_1下进行视频业务的流的数量,mac电路可以统计在基础服务集bssid_1下进行背景业务的流的数量,mac电路可以统计在基础服务集bssid_1下进行尽力而为业务的流的数量。示例仅仅用于解释本申请,不应构成限定。s502、mac电路判断是否属于所述多个硬件队列组中的一个硬件队列组的一个业务类型的流的数量满足第一条件,若是,则执行步骤s503、mac电路在所述第二映射关系中增加所述硬件队列组中对应于所述业务类型的硬件队列的数量。第一条件包括属于所述硬件队列组的所述业务类型的流的数量与对应于所述业务类型的硬件队列的数量的比值大于第二阈值。第一条件还可以是其他条件,比如该数据帧的业务类型下的sta的数量大于第三阈值等,在此不作限定。s503、mac电路在所述第二映射关系中增加所述硬件队列组中对应于上述业务类型的硬件队列的数量。硬件队列组中对应于上述业务类型的硬件队列的数量可以为一个也可以为多个。mac电路可以增加对应于上述业务类型的硬件队列的数量,可以一次增加一个,也可以一次增加多个,在此不作限定。举例说明,例如,在基础服务集bssid_1对应的硬件队列组g_1中,mac电路可以统计到语音业务的流的数量为18,而在硬件队列组g_1中语音业务对应的硬件队列数量可以为2,即硬件队列q_1和q_5,第二阈值可以为8,则语音业务的流的数量与对应于语音业务的硬件队列数量的比值为9,因此,语音业务的流的数量与对应于语音业务的硬件队列数量的比值(9)大于第二阈值(8),满足第一条件,则mac电路可以在第二映射关系中增加硬件队列组g_1中对应于语音业务的硬件队列的数量,语音业务对应的硬件队列数量可以增加为3,即硬件队列q_1,q_5和q_6。mac电路可以将语音业务的流均匀映射到硬件队列q_1,q_5和q_6中,即硬件队列q_1,q_5和q_6中各自有3个语音业务的流的数据帧。示例仅仅用于解释本申请,不应构成限定。图5所示实施例与传统方案的对比收益图可以参考图8,图8为本申请提供的另一种网络优化方案与传统方案的对比收益示意图。如图8所示,横轴表示voip会话的流的数量。纵轴表示有效voip会话数量。高级qos表示本申请图5实施例提供的一种网络优化方案,即在第一硬件队列组中,增加一个或多个硬件队列来均匀分担语音业务下的流的数量。传统qos表示现有技术方案,即在第一硬件队列组中,语音业务下的所有流的数据帧分发到同一硬件队列。从图8中可以看出,随着voip会话的流的数量增加到超过20个时,高级qos对应的有效voip会话数量比传统qos对应的有效voip会话数量高,即图5所示实施例提供的网络优化方案能够承担更多的有效业务数量。图5所示实施例中,mac电路通过统计任一硬件队列组中相同业务类型对应的业务类型的流的数量与硬件队列数量的比值,在流的数量超过硬件队列负载阈值的情况下,增加一个或多个硬件队列来分担业务类型的流的数量,提高了无线网络的可容纳的有效业务数量。在下述图6所示实施例中,mac电路可以在判断在第一硬件队列组中是否存在该数据帧的业务类型对应的硬件队列,若不存在,则在第二映射关系中增加该数据帧的业务类型对应的硬件队列。请参见图6,图6示出了本申请实施例提供的又一种数据处理方法的流程示意图,该方法应用于图2所示的mac电路中。如图6所示,该方法包括如下步骤:s601-s602s601、mac电路判断数据帧的网络属性对应的硬件队列组中是否存在该数据帧的业务类型对应的硬件队列,若否,则执行s602、mac电路在第二映射关系中增加该数据帧的业务类型对应的硬件队列。s602、mac电路在第二映射关系中增加该数据帧的业务类型对应的硬件队列。该数据帧的业务类型可以是iot控制类业务。由于iot控制类业务的sta设备固定,因此,mac电路可以根据sta的mac地址确定出数据帧是否为iot控制类业务类型。也即是说,mac电路可以解析数据帧中的接收者地址(ra),若该接收者地址(ra)为预设的iot设备mac地址,则该数据帧的业务类型为iot控制类业务,因此,mac电路可以确定出该数据帧的业务类型为业务类型iot控制类业务。在mac电路判断出在数据帧的网络属性对硬件队列组中没有该iot控制类业务对应的硬件队列时,mac电路可以在第二映射关系中增加所述iot控制类业务对应的硬件队列,并将iot控制类业务的数据帧放到该增加的所述iot控制类业务对应的硬件队列中。举例说明,例如,在基础服务集bssid_1对应的硬件队列组g_1中可以包括四个硬件队列,即语音业务对应的硬件队列q_1,视频业务对应的硬件队列q_2,背景业务对应的硬件队列q_3,尽力而为业务对应的硬件队列q_4。在mac电路检测到数据帧的业务类型为iot控制类业务的情况下,由于硬件队列组g_1中不存在iot控制类业务对应的硬件队列,则mac电路可以在第二映射关系中增加iot控制类业务对应的硬件队列。即,硬件队列组g_1中增加了iot控制类业务对应的硬件队列q_5。mac电路将该iot控制类业务的数据帧放到该增加的iot控制类业务对应的硬件队列中。示例仅仅用于解释本申请,不应构成限定。图6所示实施例与传统方案的对比收益图可以参考图9,图9为本申请提供的一种网络优化方案与传统方案的对比收益示意图。如图9所示,横轴表示业务发生时间(单位:s)。纵轴表示业务执行的往返时延rtt(单位:us)。业务未扩展表示传统方案,即将新业务iot控制类业务的数据帧和原有业务voip会话业务(语音类业务)的数据帧分发到相同硬件队列。业务扩展表示将新业务iot控制类业务的数据帧和原有业务voip会话业务(语音业务业务)的数据帧分发到不同的硬件队列。从图9中可以看出,图6所示实施例将新业务类型iot控制类业务的数据帧分发到独立的硬件队列会大大缩短往返时延。图6所示实施例中,mac电路通过在第一硬件队列组中扩展新的业务类型对应的硬件队列,并将该新的业务类型的数据帧分发到第一硬件队列组中扩展的硬件队列,可以缩短新业务类型的网络时延,从而满足不同业务的网络需求。在上述图4所示实施例、图5所示实施例和图6所示实施例中,图4至图6所示的实施例可以单独实施,也可以结合实施,在mac电路存在图4至图6所示实施例结合实施的机制,但mac电路包括硬件队列的数量有限的情况下,可以优先执行图4至图6所示实施例中的任意一种或两种。请参见图10,图示10出了本申请提供的一种通信设备1100的结构示意图。如图10所示,通信设备1000可以包括:处理器1001、mac电路1002、收发器1003、天线1004、存储器1005。处理器1001、mac电路1002、存储器1005通过总线1006耦合。与收发器1003其中,mac电路1002为上述图2所示的mac电路200。mac电路1002的具体结构及功能可以参考上述图2所示实施例中的处理器210、n个硬件队列220以及接口电路230各自的功能,mac电路1002和处理器1001可以耦合在一起。在此不再赘述。处理器1001可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np)或者cpu和np的组合。处理器1001还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。收发器1003可以包括基带处理单元,数模转换单元和射频通道模块。其中,基带处理单元可包括为数字信号处理器(digitalsignalprocessing,dsp)、微控制器(microcontrolunit,mcu)、码变换及子复用单元(transcoderandsubmultiplexer,tcsm)(用于完成复用解复用及码变换功能)等单元。基带处理单元可用于合成即将发射的基带信号,或对接收到的基带信号进行解码。数模转换用于对即将发射的基带信号或者对接收到的基带信号进行数模转换。射频通道模块可包括发射器(tx)和接收器(rx)。其中,发射器(tx)可用于对通信设备1000输出的信号进行发射处理,例如通过波束成形实现定向发送。接收器(rx)可用于对天线装置1006接收的信号进行接收处理,例如通过波束成形实现定向接收。在本申请的一些实施例中,发射器/接收器可以包括波束成形控制器,用于对发送信号/接收信号乘以权重向量,控制信号定向发射/接收。天线1004可以与收发器1003耦合共同完成通信设备1000输出的信号的发射处理以及通信设备1000接收的信号进行接收处理。天线1003可以是阵列天线,用于支持多用户多入多出(multi-usermultiple-inputmultiple-output,mu-mimo)技术。存储器1005与处理器1001耦合,用于存储各种软件程序和/或多组指令。存储器1005可包括可以包括易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory)。存储器还可以包括上述种类的存储器的组合。存储器1005可以存储操作系统。存储器1005还可以存储网络通信程序,该网络通信程序可用于与一个或多个附加设备,一个或多个终端设备,一个或多个通信设备进行通信。通过本申请实施例提供的一种通信设备,可以将不同网络属性的数据帧放到不同的硬件队列组,这样,让不同网络属性标识的虚拟子网络中的数据帧形成隔离,以使不同网络属性标识的虚拟子网络下的数据帧各自访问信道的能力互不影响,满足了不同网络属性标识的虚拟子网络的不同网络需求。即使存在一个网络属性标识的虚拟子网络下的数据帧的传输性能差,也不会影响到其他网络属性标识的虚拟子网络下的数据帧的传输性能,因此,提高了无线网络整体的传输性能。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1