一种报文处理方法和装置的制造方法

文档序号:9582404阅读:238来源:国知局
一种报文处理方法和装置的制造方法
【技术领域】
[0001]本申请涉及通信技术领域,特别涉及一种报文处理方法和装置。
【背景技术】
[0002]无线控制器(AccessController, AC)和无线接入点(Access Point, AP)通过互联网通信时,无线接入点控制与供应(Controlling and Provis1ning of WirelessAccess Point, CAPWAP)消息往往无法直接穿越互联网中的各种防火墙,而超文本传输协议(Hypertext Transfer Protocol,HTTP)报文通常不会被防火墙过滤,因此CAPWAP over HTTP是一个自然而然的选择。AC侧往往有公网地址,因此作为HTTP服务器;AP侧由于通常位于内网,因此作为HTTP客户端。
[0003]由于HTTP天然的机制,作为服务器的AC无法直接向作为客户端的AP推送消息,必须通过某种机制,使AC可以向AP推送消息。
[0004]现有实现中,AC与各AP分别建立两条HTTP连接,分别为上行连接和下行连接。其中下行连接采用长轮询机制,AC总是在接收到一个AP的HTTP查询(Query)报文后,直到有下行消息给AP时,才发送HTTP响应(Response)报文给AP,并携带下行消息。AP则在每收到一个来自上行连接的Response报文,就推送一个空Query报文,以维持长轮询状态;而上行连接则按正常的方式收发HTTP消息。

【发明内容】

[0005]有鉴于此,本申请提供一种报文处理方法和装置,以降低AC维护HTTP连接的压力,以及对互联网带宽的占用。
[0006]为解决上述技术问题,本申请的技术方案是这样实现的:
[0007]—种报文处理方法,所述方法包括:
[0008]无线控制器AC为无线接入点AP组中每个AP分配一个缓存队列,用于缓存下行消息;
[0009]当该AP组中的各AP的缓存队列不全为空时,该AC向该AP组中的中间AP发送提醒消息,使该中间AP将该提醒消息发送给该AP组中的其他AP ;其中,所述提醒消息用于通知该AP组中各AP对应的缓存队列是否为空;所述中间AP为该AP组中第一个上线的AP ;
[0010]该AC接收到任一 AP发送的查询报文时,将该AP的缓存队列中的下行消息发送给该AP。
[0011 ] 一种报文处理方法,所述方法包括:
[0012]无线接入点AP作为AP组中的中间AP,在接收到无线控制器AC发送的提醒消息时,将该提醒消息发送给该AP组中的其他AP ;并当根据该提醒消息确定自身对应的缓存队列不为空时,向所述AC发送查询报文,并接收AC发送的下行消息;
[0013]该AP作为该AP组中的中间AP之外的AP,在接收到中间AP发送的提醒消息,且根据该提醒消息确定自身对应的缓存队列不为空时,向所述AC发送查询报文,并接收AC发送的下行消息;
[0014]其中,所述缓存队列为所述AC为AP分配的;所述中间AP为该AP组中第一个上线的AP ;所述提醒消息用于通知该AP组中各AP对应的缓存队列是否为空。
[0015]一种报文处理装置,应用于无线控制器AC上,所述装置包括:缓存单元、发送单元和接收单元;
[0016]所述缓存单元,用于为无线接入点AP组中每个AP分配一个缓存队列;在々?的缓存队列中缓存该AP的下行;
[0017]所述发送单元,用于当所述缓存单元配置的该AP组中的各AP的缓存队列不全为空时,向该AP组中的中间AP,使该中间AP将该提醒消息发送给该AP组中的其他AP ;其中,所述提醒消息用于通知该AP组中各AP对应的缓存队列是否为空;所述中间AP为该AP组中第一个上线的AP ;当所述接收单元接收到任一 AP发送的查询报文时,将所述缓存单元中该AP的缓存队列中的下行消息发送给该AP ;
[0018]所述接收单元,用于接收AP发送的查询报文。
[0019]一种报文处理装置,应用于无线接入点AP上,所述装置包括:接收单元、发送单元和确定单元;
[0020]所述接收单元,用于接收下行消息;当本AP作为AP组中的中间AP时,接收无线控制器AC发送的提醒消息;AP作为该AP组中的中间AP之外的AP时,接收中间AP发送的提醒消息;其中,所述中间AP为该AP组中第一个上线的AP ;所述提醒消息用于通知该AP组中各AP对应的缓存队列是否为空;
[0021 ] 所述发送单元,用于接收到AC发送的提醒消息时,将该提醒消息发送给该AP组中的其他AP ;当所述确定单元确定自身对应的缓存队列不为空时,向所述AC发送查询报文;
[0022]所述确定单元,用于根据接收到的提醒消息确定自身对应的缓存队列是否为空;其中,所述缓存队列为所述AC为AP分配的。
[0023]综上所述,本申请AC通过AP组中中间AP,分发提醒消息,以解决CAPWAP Over HTTP网络中AC主动推送消息给AP的问题,能够减少HTTP连接数和通过互联网传输的消息数,从而减少对互联网带宽的占用。
【附图说明】
[0024]图1为本申请具体实施例中AC进行报文处理方法流程示意图;
[0025]图2为本申请具体实施例中AP进行报文处理方法流程示意图;
[0026]图3为本申请CAPWAP over HTTP网络组网示意图;
[0027]图4为本申请具体实施例中包含报文处理装置的AC的硬件结构示意图;
[0028]图5为本申请具体实施例中包含报文处理装置的AP的硬件结构示意图。
【具体实施方式】
[0029]为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请所述方案作进一步地详细说明。
[0030]本申请实施例中提出一种报文处理方法,AC通过AP组中中间AP,分发提醒消息,以解决CAPWAP Over HTTP网络中AC主动推送消息给AP的问题,能够减少HTTP连接数和消息数,从而减少对互联网带宽的占用。
[0031]AC在本地配置AP组,并记录该AP组中的各AP的信息,如标识、地址等。当该AC需要与多个AP组中的AP通信时,为各AP组分配全局唯一标识,以区分各AP组。
[0032]在具体实现时,根据实际需要划分哪些AP属于同一个AP组,如同一局域网中的AP划分到一个AP组。
[0033]AC为AP组中每个AP分配一个缓存队列,用于缓存下行消息,即AP与缓存队列
--对应。
[0034]AC与AP组中的每个AP (包括中间AP)建立长连接不轮询的HTTP连接,用于接收AP发送的查询报文,以及AC给AP推送的下行消息。
[0035]AC与该AP组中的中间AP建立长连接长轮询的HTTP连接,用于向中间AP发送提醒消息。
[0036]其中,长连接是指建立连接后,直到程序退出或出现故障才重新建立连接或退出连接。
[0037]长轮询指中间AP向AC发送查询请求,AC接到请求后hold住连接,直到缓存队列中有新的下行消息需要推送时才发送提醒消息,AP处理完响应信息(提醒消息)后再向服务器发送新的查询请求。这样实现的优点在于在无消息的情况下不会频繁的请求。
[0038]一个AP组中的中间AP由AC确定,将该AP组中第一个上线的AP确定为该AP的中间AP。
[0039]参见图1,图1为本申请具体实施例中AC进行报文处理方法流程示意图。具体步骤为:
[0040]步骤101,当AP组中的各AP的缓存队列不全为空时,AC向该AP组中的中间AP发送提醒消息,使该中间AP将该提醒消息发送给该AP组中的其他AP。
[0041 ] AC在接收到中间AP发送的查询报文后,如果该AP组中各AP对应的缓存队列全为空时,不向中间AP发送提醒消息,直到至少一个AP的缓存队列不为空时,即该AP组中的各AP的缓存队列不全为空时,,AC则需要通过建立的长连接长轮询的HTTP连接向中间AP发送提醒消息,该提醒消息用于通知该AP组中各AP对应的缓存队列是否为空。
[0042]当该AP组中各AP处理完该提醒消息时,中间AP再次通过长连接长轮询的HTTP连接向AC发送查询报文。
[0043]在具体实现时,可以在该提醒消息中携带上缓存队列不为空的AP标识来实现,也可以使用在提醒消息中携带状态位图来通知各AP谁的缓存队列中存在下行消息,谁的缓存队列为空。
[0044]如果使用状态位图来通知各AP,则需要AC先将各AP的状态在状态位图中的位置通过中间AP通知各AP。也可以根据AP的标识与各AP约定一个在位图中对应的位置。
[0045]该AC向该AP组中的中间AP发送提醒消息时,在该提醒消息中携带状态位图,在该状态位图中各AP的状态的位置上标识该AP的缓存队列是否为空,如缓存队列为空用1标识,缓存队列不为空用0标识;使各AP通过自身在状态位图中的位置获知自身的缓存队列是否为空,当自身的缓存队列不为空时,向AC发送查询报文。
[0046]该AP组中的中间AP接收到提醒消息时,如果该AP组中的各AP同属于同一局域网时,通过组播方式将该提醒消息发送给局域网中的各AP,即AP组中的其他AP。
[0047]AP组中的所有AP,包括中间AP在接收到该提醒消息时,根据报文内容确定
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1