一种服务质量的处理方法和装置的制造方法

xiaoxiao2021-2-23  116

一种服务质量的处理方法和装置的制造方法
【技术领域】
[0001] 本发明设及通信技术领域,尤其设及一种服务质量的处理方法和装置。
【背景技术】
[0002] 无线局域网(Wireless Local Area化tworks,WLAN)设备向空口发送数据报文, 如图1所示,通常包括如下步骤:业务层面产生需要发送的数据报文,下发给驱动软件;驱动 软件进行电气和电子工程师协会(Institute of Electrical and Electronics E;ngineers,IE邸)802. lla/b/g/n协议介质访问控制(Media Access Control,MAC)层由软 件实现的相关处理,再下发给WLAN模块硬件;WLAN模块硬件完成MAC层由硬件实现的相关处 理,再进行物理层处理,最终将数据报文发往空口。
[0003] 为满足用户对不同业务(例如紧急业务,重要业务和普通业务)不同服务质量 (Quality of Service,Q0S)的要求,针对某种业务的数据报文,WLAN设备的业务层面为它 赋予某个级别的传输优先级,来标识它的相对重要性,并使用各种优先级转发策略、拥塞避 免等机制为运些数据报文提供QoS。但运并非WLAN QoS,因为在WLAN的空口带宽波动或拥 塞,不足W让所有数据报文从空口发出时,需要优先确保紧急数据报文的发送,只凭借业务 层面实现的QoS是不够的。
[0004] IE邸802. lie为基于IE邸802.11协议的WLAN体系添加了QoS特性,运个协议的标 准化时间很长,在运个过程中,Wi-Fi组织为了保证不同WLAN厂商提供QoS的设备之间可W 互通,定义了无线多媒体(Wi-Fi Multimedia,WMM)标准,WMM为发往空口的不同优先级的数 据报文提供了 Voice、Video、Best-ef fort、Back-ground四个优先级从高到低的接入类别 (access categories,AC)队列,与增强分布式信道化nhanced Distributed 畑annel Access,抓CA)无线信道竞争机制配合,通过较短的仲裁帖间距(arbitration inter-打ame space,AIFS)和较短的随机回退竞争窗口(contention window,CW),保证高优先级的数据 报文优先抢占无线信道发送并持续更长时间,即获得传输机会(Transmission 0卵ortunity ,ΤΧΟΡ)。
[0005] 当前常见的WLAN模块硬件,通常提供一组含有多个优先级的硬件缓存队列,并有 相应的队列控制单元和无线信道竞争控制单元,支持按照IEEE802. lie协议或WMM标准实现 的QoS。硬件需要驱动软件配合来共同完成QoS功能。驱动软件的缓存队列必不可少,且根据 软件功能和实现的不同而不同,主要为适配业务层面与硬件的交互。
[0006] 只有业务层面实现的QoS与驱动软件+WLAN硬件配合实现的QoS密切配合,WLAN QoS才能取得较理想的效果。
[0007] 基于此,现有的WLAN设备向空口发送数据报文,如图2所示,为各队列之间的交互 图,通常包括如下步骤:
[000引步骤1、驱动软件根据自身队列(即驱动软件队列)的最大深度限制,W最大速率, 按优先级从高到低的顺序从业务层面的各优先级队列(即业务层面队列)中取出数据报文, 放入驱动软件队列中缓存,取包频率固定,例如为100次/s。驱动软件队列的深度和取包速 率的选择依据是当信道状况最好时能够达到最大的吞吐量。
[0009] 步骤2、WLAN模块硬件将硬件队列中的数据报文发往空口后,会产生中断,通知驱 动软件将缓存的数据报文继续送入硬件队列,驱动软件按WLA师更件模块的最大限制和软硬 件接口的最大速率发送数据报文给硬件队列。
[0010] 步骤3、WLA师更件模块在竞争空口成功后,按分配的空口带宽和速率算法计算的速 率将硬件队列中的数据报文发往空口。
[0011] 虽然业务层面送出的数据报文按严格的优先级排序,但驱动软件W最大速率取 包,只求满足驱动软件队列最大深度的限制,而变化的空口速率会导致取入驱动队列的数 据报文不能都立即送入硬件队列并从空口发出,造成数据报文在驱动软件队列中优先级乱 序排列,最终低优先级的数据报文可能先于高优先级的数据报文从空口发出。另外,数据报 文在排队后时延也将增大,时延抖动也会恶化。甚至高优先级的数据报文因为低优先级的 数据报文已经占满驱动软件队列,无法入队列而被丢弃,无法保证业务的Q0S。

【发明内容】

[0012] 本发明实施例提供一种服务质量的处理方法和装置,可W使得高优先级的数据报 文不仅可W被及时的发送,而且也不会出现由于驱动软件队列被塞满而出现高优先级数据 报文被丢弃的现象,很好的保证了业务的QoS。
[0013] 本发明实施例采用W下技术方案:
[0014] 第一方面提供了一种服务质量的处理方法,包括:
[0015] 根据空口发送速率,确定从业务层面的各优先级队列中取数据报文的取包速率; 其中,所述取包速率不大于所述空口发送速率;
[0016] 根据所述取包速率,从所述业务层面的各优先级队列中,按照数据报文的优先级 从高到低的顺序,取出数据报文,放入驱动软件队列中;
[0017] 将所述驱动软件队列中的数据报文放入硬件队列中;并
[0018] 按照所述空口发送速率将所述数据报文从所述硬件队列中发送至空口。
[0019] 其中,根据所述空口发送速率,确定从业务层面的各优先级队列中取数据报文的 取包速率,具体包括:
[0020] 根据所述空口发送速率和所述驱动软件队列的当前占用率,确定从业务层面的各 优先级队列中取数据报文的取包速率。
[0021] 其中,根据所述空口发送速率和所述驱动软件队列的当前占用率,确定从业务层 面的各优先级队列中取数据报文的取包速率,具体包括:
[0022] 确定所述驱动软件队列的当前占用率;
[0023] 在所述当前占用率低于预设口限值时,将所述空口发送速率作为从所述业务层面 的各优先级队列中取数据报文的取包速率;
[0024] 在所述当前占用率不低于所述预设口限值时,从根据开源mins化el速率自适应算 法计算出的各发送速率中,选择与所述当前占用率对应的发送速率,作为从所述业务层面 的各优先级队列中取数据报文的取包速率;其中,根据开源minstrel速率自适应算法计算 出的各发送速率中的最大发送速率为所述空口发送速率。
[0025] 其中,根据开源minstrel速率自适应算法计算出的各发送速率,具体包括:
[0026] 最大吞吐量速率、第二大吞吐量速率、最大成功率速率和最低速率中的至少一个。
[0027] 其中,按照所述空口发送速率将所述数据报文从所述硬件队列中发送至空口之 后,所述方法还包括:
[0028] 接收所述硬件队列发送的中断消息;贝。
[0029] 将所述驱动软件队列中的数据报文放入硬件队列中,具体包括:
[0030] 首次执行时,直接将所述驱动软件队列中的数据报文放入硬件队列中;
[0031 ]非首次执行时,在接收到所述硬件队列发送的中断消息时,将所述驱动软件队列 中的数据报文放入硬件队列中。
[0032] 第二方面提供了一种服务质量的处理装置,包括:
[0033] 取包速率确定单元,用于根据空口发送速率,确定从业务层面的各优先级队列中 取数据报文的取包速率;其中,所述取包速率不大于所述空口发送速率;
[0034] 报文取出单元,用于根据所述取包速率确定单元确定的取包速率,从所述业务层 面的各优先级队列中,按照数据报文的优先级从高到低的顺序,取出数据报文,放入驱动软 件队列中;
[0035] 报文放入单元,用于将所述报文取出单元放入驱动软件队列中的数据报文放入硬 件队列中;
[0036] 报文发送单元,用于按照所述空口发送速率将所述报文放入单元放入硬件队列中 的数据报文从所述硬件队列中发送至空口。
[0037] 其中,所述取包速率确定单元,具体用于:
[0038] 根据所述空口发送速率和所述驱动软件队列的当前占用率,确定从业务层面的各 优先级队列中取数据报文的取包速率。
[0039] 其中,所述取包速率确定单元,具体包括:
[0040] 占用率确定模块,用于确定所述驱动软件队列的当前占用率;
[0041] 取包速率确定模块,用于在所述当前占用率低于预设口限值时,将所述空口发送 速率作为从所述业务层面的各优先级队列中取数据报文的取包速率;在所述当前占用率不 低于所述预设口限值时,从根据开源minstrel速率自适应算法计算出的各发送速率中,选 择与所述当前占用率对应的发送速率,作为从所述业务层面的各优先级队列中取数据报文 的取包速率;其中,根据开源mins化el速率自适应算法计算出的各发送速率中的最大发送 速率为所述空口发送速率。
[0042] 其中,根据开源minstrel速率自适应算法计算出的各发送速率,具体包括:
[0043] 最大吞吐量速率、第二大吞吐量速率、最大成功率速率和最低速率中的至少一个。
[0044] 其中,所述装置还包括:
[0045] 中断消息接收单元,用于在所述报文发送单元按照所述空口发送 速率将所述数据 报文从所述硬件队列中发送至空口之后,接收所述硬件队列发送的中断消息;
[0046] 所述报文放入单元,具体用于:
[0047] 首次执行时,直接将所述驱动软件队列中的数据报文放入硬件队列中;
[0048] 非首次执行时,在接收到所述硬件队列发送的中断消息时,将所述驱动软件队列 中的数据报文放入硬件队列中。
[0049] 本发明实施例的有益效果如下:
[0050] 本发明实施例中,根据空口发送速率确定从业务层面的各优先级队列中取数据报 文的取包速率,其中取包速率不大于空口发送速率,并根据该取包速率,从业务层面的各优 先级队列中,按照数据报文的优先级从高到低的顺序,取出数据报文,放入驱动软件队列 中,再将驱动软件队列中的数据报文放入硬件队列中,并按照空口发送速率将数据报文从 硬件队列中发送至空口,由于取包速率可W根据空口发送速率实时进行调整,使得高优先 级的数据报文不仅可W被及时的发送,而且也不会出现由于驱动软件队列被塞满而出现高 优先级数据报文被丢弃的现象,很好的保证了业务的QoS。
[0051] 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明 书、权利要求书、W及附图中所特别指出的结构来实现和获得。
【附图说明】
[0052] 此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0053] 图1为现有的WLA的受备向空口发送数据报文的示意图;
[0054] 图2为现有的WLA的受备向空口发送数据报文时各队列之间的交互图;
[0055] 图3为现有技术中将业务层面的数据报文放入驱动软件队列的示意图;
[0056] 图4为本发明实施例提供的一种服务质量的处理方法的实现流程图;
[0057] 图5为本发明实施例提供的业务层面队列,驱动软件队列和硬件队列之间的交互 关系示意图;
[0058] 图6为本发明实施例提供的一种服务质量的处理方法的具体实现流程图;
[0059] 图7为本发明实施例提供的一种服务质量的处理方法的实施效果示意图;
[0060] 图8为本发明实施例提供的一种服务质量的处理装置的结构示意图。
【具体实施方式】
[0061] 图3为现有技术中将业务层面的数据报文放入驱动软件队列的示意图。如图3所 示:
[0062] 在T1时刻,空口带宽为3个数据报文的字节数,驱动软件将业务层面各优先级队列 中的数据报文1~7(数据报文1为高优先级,数据报文2和3为中优先级,数据报文4~7为低 优先级)取到驱动软件队列中缓存,并全部发送到硬件列队中,除非硬件队列已满;其中,虽 然驱动软件队列中缓存的数据报文按硬件队列限制发送到硬件队列了,但驱动软件队列仍 然保留运部分数据报文,直到硬件队列产生中断并上送tx S化tus,通知驱动软件队列运部 分数据报文已经成功发送到空口,才将运部分数据报文从驱动软件队列中移除。
[0063] 在T2时刻,空口带宽发生变化,为2个数据报文的字节数,驱动软件将业务层面的 各优先级队列中的数据报文8~14(数据报文8为高优先级,数据报文9和10为中优先级,数 据报文11~14为低优先级)取到驱动软件队列中缓存,并全部发送到硬件列队中,除非硬件 队列已满,其中,数据报文8~14(即使优先级更高)将排在之前已取到硬件队列但还未发送 的数据报文(即使优先级低)之后,如高优先级的数据报文8必须排在低优先级的数据报文4 ~7之后;
[0064] 在Τ3时刻,空口带宽发生变化,为3个数据报文的字节数,此时硬件队列中高优先 级的数据报文无法被优先发出,而靠后的数据报文存在严重的时延和时延抖动,优先级反 转,甚至当缓冲队列被塞满时,高优先级的数据报文因无法进入驱动软件队列而被丢弃,根 本无法到达空口进行发送,无法保证业务的Q0S。
[0065] 因此,为了使高优先级的数据报文不仅可W被及时的发送,而且也不会出现由于 驱动软件队列被塞满而出现高优先级数据报文被丢弃的现象,很好的保证业务的QoS,本发 明实施例提供了一种服务质量的处理方案。该技术方案中,确定空口发送速率,并根据空口 发送速率确定从业务层面的各优先级队列中取数据报文的取包速率,其中取包速率不大于 空口发送速率,并根据该取包速率,从业务层面的各优先级队列中,按照数据报文的优先级 从高到低的顺序,取出数据报文,放入驱动软件队列中,再将驱动软件队列中的数据报文放 入硬件队列中,并按照空口发送速率将数据报文从硬件队列中发送至空口,由于取包速率 可W根据空口发送速率实时进行调整,使得高优先级的数据报文不仅可W被及时的发送, 而且也不会出现由于驱动软件队列被塞满而出现高优先级数据报文被丢弃的现象,很好的 保证了业务的QoS。
[0066] W下结合说明书附图对本发明的实施例进行说明,应当理解,此处所描述的实施 例仅用于说明和解释本发明,并不用于限制本发明。并且在不冲突的情况下,本发明中的实 施例及实施例的特征可W互相结合。
[0067] 本发明实施例提供了一种服务质量的处理方法,如图4所示,为该方法的实现流程 图,具体包括下述步骤:
[006引步骤41,确定空口发送速率。
[0069] 本发明实施例中可W根据开源minstrel速率自适应算法计算出空口发送速率。具 体的,开源minstrel速率自适应算法在下文中进行详细介绍。
[0070] 步骤42,根据确定出的空口发送速率,确定从业务层面的各优先级队列中取数据 报文的取包速率;其中,取包速率不大于空口发送速率。
[0071] 步骤43,根据确定的取包速率,从业务层面的各优先级队列中,按照数据报文的优 先级从高到低的顺序,取出数据报文,放入驱动软件队列中。
[0072] 其中,minstrel速率自适应算法支持802.1 la/b/g/n协议:
[0073] 每100ms为一轮,在运100ms内,随机选择90%的数据报文按上轮计算得到的正常 速率发送(优先W最大吞吐量速率发送,如果发送不成功且达到重传次数限制,就降低速 率,W第二大吞吐量速率发送,仍不成功且达到重传次数限制,则W最大成功率速率发送, 再失败且达到重传次数限制就W最低速率发送),随机选择10%的报文W探测速率(除最低 速率外的所有其它速率,随机选择,但不重复)发送,90%和10%为默认比例,可W调整。如 表1所示,为minstrel速率自适应算法的发送速率及重传序列(包含正常发送和探测发送)。
[0074] 表1:
[0075]
[0076] 根据上述表1的重传序列来选择速率发送当前数据报文,每个速率具有固定的重 传次数。当发送成功,剩余重传序列被忽略。每个速率的重传次数选择是依据整个重传序列 不超过26ms,即必须在26ms内将数据报文发出,或者放弃发送该数据报文。默认每个速率发 送6000us,W此确定该速率下最大的重传次数,但对于成功率很低的速率,最多重传1次。
[0077] 发送时,记录所有数据报文(含重传报文)在不同速率下的发送成功率。
[007引在某速率下:
[0079] 本轮的发送成功率=本轮发送成功的报文数/本轮发送的报文数;
[0080] 新EWMA发送成功率=本轮的发送成功率X25%+历史EWMA发送成功率X75% ;
[0081 ]其中,EWMA化xponentially Wei曲ted Moving-Average)为指数加权移动平均,每 100ms更新一次,具有数据平滑的效果,25%和75%为默认比例,可W调整。新EWMA发送成功 率用于mins化el速率自适应算法的下一轮计算。如果某速率没有用于本轮发送,则该速率 的EWMA发送成功率保持不变。
[0082] 在运一轮的100ms内,某速率的吞吐量为:
[0083]
[0084] 然后根据各个速率的吞吐量和EWMA发送成功率,选择下一轮的正常发送速率、探 测发送速率、重传序列。例如表2所示,为minstrel速率自适应算法的速率更新及选择。
[0085] 表2:
[0086]
[0087]在本轮,数据报文将按照mins化el速率自适应算法上一轮计算的速率进行发送, 速率控制信息将被封装在发包描述符中由驱动软件提交给硬件,信道状况即使在本轮时间 间隔内相较于上一轮发生了快速变化,硬件也将按发包描述符中的速率控制信息进行发 送,如果信道变差,就在重传数次失败之后降低一档速率再次尝试。
[0088]本发明实施例中会采用上述mins化el速率自适应算法在上一轮时间间隔的计算 结果,控制驱动软件本轮从业务层面取数据报文,驱动软件从业务层面的优先级队列中按 优先级从高到低的顺序取出数据报文,取数据报文的速率为上一轮计算的最大吞吐量速 率。
[0089] 然而,由于mins化el速率自适应算法要求在本轮发送时,10 %的数据报文用于探 测速率,可能会W随机速率从空口发出;更重要的是,并不能确保每个数据报文W最大吞吐 量速率发送,信道状况的变化,错误引起的重传等不确定因素会导致W最大吞吐量速率从 业务层面取入驱动队列的报文不能立即经过硬件队列从空口发出。因此,本发明实施例中 可W按照需要动 态调整驱动软件从业务层面取数据报文的速率。
[0090] 基于上述描述,步骤42可W具体包括:
[0091] 根据确定出的空口发送速率和驱动软件队列的当前占用率,确定从业务层面的各 优先级队列中取数据报文的取包速率。
[0092] 具体的,可W首先确定驱动软件队列的当前占用率;
[0093] 然后在当前占用率低于预设口限值时,将确定出的空口发送速率作为从业务层面 的各优先级队列中取数据报文的取包速率;
[0094] 在当前占用率不低于预设口限值时,从根据minstrel速率自适应算法计算出的各 发送速率中,选择与当前占用率对应的发送速率,作为从业务层面的各优先级队列中取数 据报文的取包速率;其中,根据minstrel速率自适应算法计算出的各发送速率中的最大发 送速率为空口发送速率。
[0095] 其中,当前占用率与发送速率之间的对应关系可W是预先设置好的,比如W预设 口限值为15%为例,在当前占用率低于15%时,将minstrel速率自适应算法计算出的最大 发送速率作为从业务层面的各优先级队列中取数据报文的取包速率;在当前占用率不低于 15%时,根据预先设置的当前占用率与minstrel速率自适应算法计算出的除最大发送速率 之外的其它发送速率之间的对应关系,选择与当前占用率对应的发送速率,作为从业务层 面的各优先级队列中取数据报文的取包速率。
[0096] 其中,minstrel速率自适应算法计算出的各发送速率可W具体包括:
[0097] 最大吞吐量速率、第二大吞吐量速率、最大成功率速率和最低速率中的至少一个。
[0098] 具体的,步骤42的具体实现过程如下:
[0099] 首先实时维护当前驱动软件队列的占用率,每次从业务层面取数据报文前,统计 驱动软件队列中已经有多少数据报文,运些在驱动软件队列中驻留的数据报文包含两类: 一类数据报文是由于硬件队列已满,还没被取入硬件队列;另一类数据报文是已经被取到 硬件队列,正等待空口竞争成功W便从空口发出,但在收到成功发送的状态通告(硬件中 断)之前,运类数据报文仍然驻留在驱动软件队列,需要同样纳入占用率统计。驱动软件从 业务层面的取包时间间隔为10ms,一轮minstrel速率自适应算法的时间间隔为100ms,即在 minstrel速率自适应算法对速率更新之前,驱动软件会按照此轮mins化el速率自适应算法 的计算结果,从业务层面取10次数据报文。理想情况下,在下一次从业务层面取数据报文 时,本次按空口发送的速率取出的数据报文应该能全部从空口发出,驱动软件队列清空,占 用率归零;但由于前面提到的信道状况变化,错误引起的重传,W及10%的数据报文探测等 多种原因,驱动软件队列可能仍然有部分来不及发出的数据报文驻留。如果继续W上一轮 minstrel速率自适应算法得到的最大吞吐量速率取数据报文,驱动软件队列中驻留的数据 报文可能逐渐增多,甚至被填满,运会导致QoS效果变差,高低优先级的数据报文乱序。因 此,在每隔10ms取数据报文时,检测驱动软件队列的当前占用率,占用率较高超过水线时, 降低取数据报文的速率,当取数据报文速率低于空口发送速率时,队列占用率会逐渐降低, 当占用率降低到水线W下时,再恢复到之前较快的取数据报文速率,保证吞吐量。运里设计 了3条水线,15% ,25%和45%,可W根据实际使用情况再调整。具体操作如下:
[0100] A、当前驱动软件队列的占用率不超过15%,用最大吞吐量速率取报文;
[0101] B、当前驱动软件队列的占用率不超过25%,用第二大吞吐量速率取报文;
[0102] C、当前驱动软件队列的占用率不超过45%,用最大成功率速率取报文;
[0103] D、当前驱动软件队列的占用率超过45%,用最低速率取报文。
[0104] 步骤44,将驱动软件队列中的数据报文放入硬件队列中。
[0105] 步骤45,按照空口发送速率将数据报文从硬件队列中发送至空口。
[0106] 其中,按照空口发送速率将数据报文从硬件队列中发送至空口之后,驱动软件队 列接收硬件队列发送的中断消息。
[0107] 当步骤44首次执行时,可W直接将驱动软件队列中的数据报文放入硬件队列中; 当步骤44非首次执行时,则在接收到硬件队列发送的中断消息时,将驱动软件队列中的数 据报文放入硬件队列中。
[0108] 为了更好的理解本发明实施例,W下结合具体的实施对本发明实施例的具体实施 过程进行说明。
[0109] 将mins化el速率自适应算法计算的空口发送速率和驱动软件队列的当前占用情 况,用于辅助业务层面的QoS机制进行数据报文发送的控制,帮助业务层面确定各数据报文 W什么顺序和流量发送给驱动软件,W此来保障当空口发送速率波动时WLAN QoS的效果。 具体步骤如下:
[0110] 步骤1、驱动软件按优先级从高到低的顺序从业务层面的各优先级队列中取出数 据报文,放入驱动软件队列中缓存。驱动软件队列深度的选择依据仍然是当信道状况最好 时能够达到最大的吞吐量。取包频率为100次/s,即间隔10ms取报文一次,每次取数据报文 时,检查当前驱动软件队列的占用率。取出数据报文的速率参照mins化el速率自适应算法 在上一轮(每轮100ms)计算得到的各个速率(运些速率在本轮将真正用于硬件发送),速率 的选择标准如下:
[0111] A、当前驱动缓存队列的占用率不超过15%,用最大吞吐量速率;
[0112] B、当前驱动缓存队列的占用率不超过25%,用第二大吞吐量速率;
[0113] C、当前驱动缓存队列的占用率不超过45%,用最大成功率速率;
[0114] D、当前驱动缓存队列的占用率超过45%,用最低速率。
[0115] 步骤2、WLAN模块硬件将硬件队列中的数据报文发往空口后,产生中断,通知驱动 软件数据报文是否成功发送,通知驱动软件是否将缓存的报文继续送入硬件队列,驱动软 件将步骤1取得的数据报文按软硬件接口的最大速率发送给硬件队列。更新驱动软件队列 的占用率,在10ms的取包间隔内,每次收到硬件中断,确定数据报文已成功发送后都会更新 占用率。收到硬件中断后,根据发送成功与否的状态,统计mins化el速率自适应算法中各个 速率的发送成功率和吞吐量,WlOOms为一轮,根据运一轮的统计数据及更早之前的历史统 计数据,重新得到下一轮将用于硬件队列发送的各个速率,运些速率同时也用于下一轮驱 动软件从业务层面取包。
[0116] 步骤3、WLAN模块硬件在竞争空口成功后,Wmins化el速率自适应算法上一轮计算 得到的速率将缓存的数据报文发往空口。
[0117] 图5为上述过程中业务层面队列,驱动软件队列和硬件队列之间的交互关系示意 图。
[0118] 图6描述了本发明实施例详细的实施流程,特别是WLAN设备刚启动时流程中需要 做的微调:
[0119] 1、启动时,minstrel速率自适应算法还不能靠计算得到各个速率,所W首次发送 使用随机速率。而且之后还需要一段探测和统计的时间来帮助minstrel速率自适应算法获 得足够的统计数据w便计算结果。
[0120] 2、启动时,硬件队列中没有数据报文,也就不会产生首次硬件中断,需要驱动软件 主动将驱动软件队列中的数据报文放入硬件队列,W便WLA饰莫块硬件有数据报文用于空口 发送,之后产生硬件中断,靠中断通知驱动软件发包。
[0121] 图7描述了本发明实施例的实施效果,对比图3不难发现它弥补了现有技术方案的 不足。
[0122] 本发明实施例中,确定空口发送速率,并根据空口发送速率确定从业务层面的各 优先级队列中取数据报文的取包速率,其中取包速率不大于空口发送速率,并根据该取包 速率,从业务层面的各优先级队列中,按照数据报文的优先级从高到低的顺序,取出数据报 文,放入驱动软件队列中,再将驱动软件队列中的数据报文放入硬件队列中,并按照空口发 送速率将数据报文从硬件队列中发送至空口,由于取包速率可W根据空口发送速率实时进 行调整,使得高优先级的数据报文不仅可W被及时的发送,而且也不会出现由于驱动软件 队列被塞满而出现高优先级数据报文被丢弃的现象,很好的保证了业务的QoS。
[0123] 基于同一发明构思,本发明实施例中还提供了一种服务质量的处理装置,由于上 述装置解决问题的原理与服务质量的处理方法相似,因此上述装置的实施可W参见方法的 实施,重复之处不再寶述。
[0124] 如图8所示,为本发明实施例提供的一种服务质量的处理装置的结构示意图,包 括:
[0125] 取包速率确定单元81,用于根据空口发送速率,确定从业务层面的各优先级队列 中取数据报文的取包速率;其中,所述取包速率不大于所述空口发送速率;
[0126] 报文取出单元82,用于根据所述取包速率确定单元81确定的取包速率,从所述业 务层面的各优先级队列中,按照数据报文的优先级从高到低的顺序,取出数据报文,放入驱 动软件队列中;
[0127] 报文放入单元83,用于将所述报文取出单元82放入驱动软件队列中的数据报文放 入硬件队列中;
[0128] 报文发送单元84,用于按照所述空口发送速率将所述报文放入单元83放入硬件队 列中的数据报文从所述硬件队列中发送至空口。
[0129] 其中,所述取包速率确定单元81,具体用于:
[0130] 根据所述空口发送速率和 所述驱动软件队列的当前占用率,确定从业务层面的各 优先级队列中取数据报文的取包速率。
[0131] 其中,所述取包速率确定单元81,具体包括:
[0132] 占用率确定模块811,用于确定所述驱动软件队列的当前占用率;
[0133] 取包速率确定模块812,用于在所述当前占用率低于预设口限值时,将所述空口发 送速率作为从所述业务层面的各优先级队列中取数据报文的取包速率;在所述当前占用率 不低于所述预设口限值时,从根据开源mins化el速率自适应算法计算出的各发送速率中, 选择与所述当前占用率对应的发送速率,作为从所述业务层面的各优先级队列中取数据报 文的取包速率;其中,根据开源minstrel速率自适应算法计算出的各发送速率中的最大发 送速率为所述空口发送速率。
[0134] 其中,根据开源minstre 1速率自适应算法计算出的各发送速率,具体包括:
[0135] 最大吞吐量速率、第二大吞吐量速率、最大成功率速率和最低速率中的至少一个。
[0136] 其中,所述装置还包括:
[0137] 中断消息接收单元85,用于在所述报文发送单元84按照所述空口发送速率将所述 数据报文从所述硬件队列中发送至空口之后,接收所述硬件队列发送的中断消息;
[0138] 所述报文放入单元83,具体用于:
[0139] 首次执行时,直接将所述驱动软件队列中的数据报文放入硬件队列中;
[0140] 非首次执行时,在接收到所述硬件队列发送的中断消息时,将所述驱动软件队列 中的数据报文放入硬件队列中。
[0141] 为了描述的方便,W上各部分按照功能划分为各模块(或单元)分别描述。当然,在 实施本发明时可W把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
[0142] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序 产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实 施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产 品的形式。
[0143] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程 图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流 程和/或方框、W及流程图和/或方框图中的流程和/或方框的结合。可提供运些计算机程序 指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器W产 生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实 现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0144] 运些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备W特 定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或 多个方框中指定的功能。
[0145] 运些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计 算机或其他可编程设备上执行一系列操作步骤W产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一 个方框或多个方框中指定的功能的步骤。
[0146] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造 性概念,则可对运些实施例作出另外的变更和修改。所W,所附权利要求意欲解释为包括优 选实施例W及落入本发明范围的所有变更和修改。
[0147] 显然,本领域的技术人员可W对本发明进行各种改动和变型而不脱离本发明的精 神和范围。运样,倘若本发明的运些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含运些改动和变型在内。
【主权项】
1. 一种服务质量的处理方法,其特征在于,包括: 根据空口发送速率,确定从业务层面的各优先级队列中取数据报文的取包速率;其中, 所述取包速率不大于所述空口发送速率; 根据所述取包速率,从所述业务层面的各优先级队列中,按照数据报文的优先级从高 到低的顺序,取出数据报文,放入驱动软件队列中; 将所述驱动软件队列中的数据报文放入硬件队列中;并 按照所述空口发送速率将所述数据报文从所述硬件队列中发送至空口。2. 如权利要求1所述的方法,其特征在于,根据所述空口发送速率,确定从业务层面的 各优先级队列中取数据报文的取包速率,具体包括: 根据所述空口发送速率和所述驱动软件队列的当前占用率,确定从业务层面的各优先 级队列中取数据报文的取包速率。3. 如权利要求2所述的方法,其特征在于,根据所述空口发送速率和所述驱动软件队列 的当前占用率,确定从业务层面的各优先级队列中取数据报文的取包速率,具体包括: 确定所述驱动软件队列的当前占用率; 在所述当前占用率低于预设门限值时,将所述空口发送速率作为从所述业务层面的各 优先级队列中取数据报文的取包速率; 在所述当前占用率不低于所述预设门限值时,从根据开源minstrel速率自适应算法计 算出的各发送速率中,选择与所述当前占用率对应的发送速率,作为从所述业务层面的各 优先级队列中取数据报文的取包速率;其中,根据开源minstrel速率自适应算法计算出的 各发送速率中的最大发送速率为所述空口发送速率。4. 如权利要求3所述的方法,其特征在于,根据开源minstrel速率自适应算法计算出的 各发送速率,具体包括: 最大吞吐量速率、第二大吞吐量速率、最大成功率速率和最低速率中的至少一个。5. 如权利要求1所述的方法,其特征在于,按照所述空口发送速率将所述数据报文从所 述硬件队列中发送至空口之后,所述方法还包括: 接收所述硬件队列发送的中断消息;则 将所述驱动软件队列中的数据报文放入硬件队列中,具体包括: 首次执行时,直接将所述驱动软件队列中的数据报文放入硬件队列中; 非首次执行时,在接收到所述硬件队列发送的中断消息时,将所述驱动软件队列中的 数据报文放入硬件队列中。6. -种服务质量的处理装置,其特征在于,包括: 取包速率确定单元,用于根据空口发送速率,确定从业务层面的各优先级队列中取数 据报文的取包速率;其中,所述取包速率不大于所述空口发送速率; 报文取出单元,用于根据所述取包速率确定单元确定的取包速率,从所述业务层面的 各优先级队列中,按照数据报文的优先级从高到低的顺序,取出数据报文,放入驱动软件队 列中; 报文放入单元,用于将所述报文取出单元放入驱动软件队列中的数据报文放入硬件队 列中; 报文发送单元,用于按照所述空口发送速率将所述报文放入单元放入硬件队列中的数 据报文从所述硬件队列中发送至空口。7. 如权利要求6所述的处理装置,其特征在于,所述取包速率确定单元,具体用于: 根据所述空口发送速率和所述驱动软件队列的当前占用率,确定从业务层面的各优先 级队列中取数据报文的取包速率。8. 如权利要求7所述的处理装置,其特征在于,所述取包速率确定单元,具体包括: 占用率确定模块,用于确定所述驱动软件队列的当前占用率; 取包速率确定模块,用于在所述当前占用率低于预设门限值时,将所述空口发送速率 作为从所述业务层面的各优先级队列中取数据报文的取包速率;在所述当前占用率不低于 所述预设门限值时,从根据开源minstrel速率自适应算法计算出的各发送速率中,选择与 所述当前占用率对应的发送速率,作为从所述业务层面的各优先级队列中取数据报文的取 包速率;其中,根据开源minstrel速率自适应算法计算出的各发送速率中的最大发送速率 为所述空口发送速率。9. 如权利要求8所述的处理装置,其特征在于,根据开源minstrel速率自适应算法计算 出的各发送速率,具体包括: 最大吞吐量速率、第二大吞吐量速率、最大成功率速率和最低速率中的至少一个。10. 如权利要求6所述的处理装置,其特征在于,所述装置还包括: 中断消息接收单元,用于在所述报文发送单元按照所述空口发送速率将所述数据报文 从所述硬件队列中发送至空口之后,接收所述硬件队列发送的中断消息; 所述报文放入单元,具体用于: 首次执行时,直接将所述驱动软件队列中的数据报文放入硬件队列中; 非首次执行时,在接收到所述硬件队列发送的中断消息时,将所述驱动软件队列中的 数据报文放入硬件队列中。
【专利摘要】本发明公开了一种服务质量的处理方法和装置。该方法包括:根据空口发送速率,确定从业务层面的各优先级队列中取数据报文的取包速率;其中,所述取包速率不大于所述空口发送速率;根据所述取包速率,从所述业务层面的各优先级队列中,按照数据报文的优先级从高到低的顺序,取出数据报文,放入驱动软件队列中;将所述驱动软件队列中的数据报文放入硬件队列中;并按照空口发送速率将所述数据报文从所述硬件队列中发送至空口。该方案可以使得高优先级的数据报文不仅可以被及时的发送,而且也不会出现由于驱动软件队列被塞满而出现高优先级数据报文被丢弃的现象,很好的保证了业务的QoS。
【IPC分类】H04L12/815, H04L12/865
【公开号】CN105490964
【申请号】CN201510930811
【发明人】廖兴
【申请人】福建星网锐捷网络有限公司
【公开日】2016年4月13日
【申请日】2015年12月14日

最新回复(0)