提高远程用户拨号认证协议数据处理能力的方法

文档序号:7693426阅读:254来源:国知局
专利名称:提高远程用户拨号认证协议数据处理能力的方法
技术领域
本发明涉及通信系统中使用远程用户拨号认证协议(RADIUS协议)进行数据处理方法。
为达到上述目的,本发明提供的提高远程用户拨号认证协议数据处理能力的方法,包括a.根据客户端向远程用户拨号认证协议(RADIUS)服务器发送的请求包的种类为客户端建立相应的发送请求包事件队列;b.将客户端发送的请求包写入响应的事件队列;
c.逐个从相应的事件队列中依次读出队列中事件,发送读出的事件对应的请求包,直到各个队列中的事件读取完毕或客户端请求包标识(ID)资源用完。
步骤a还包括根据不同请求包的紧急程度设置各个事件队列的最大长度。
步骤a还包括设置事件队列的处理优先级,以便步骤c按照优先级处理不同事件队列中的请求包。
由于本发明为客户端建立相应的发送请求包事件队列,在客户端发送的请求包时首先将其写入相应的事件队列,同时逐个从相应的事件队列中依次读出队列中事件,发送读出的事件对应的请求包,直到各个队列中的事件处理完毕或客户端请求包ID资源用完;上述方案保证了RADIUS客户端突发大量用户同时要求验证或计费时的请求包不丢失,并对用户的请求包进行正常处理,从而弥补了使用RADIUS协议进行大用户量集中管理时无法登录网络等服务缺陷,使得网络设备使用RADIUS协议能够对大量用户集中进行管理。
下面结合附图对本发明作进一步详细的描述。


图1是本发明方法的实施例流程图。按照图1,首先在步骤1要根据客户端向远程用户拨号认证协议(RADIUS)服务器发送的请求包的种类为RADIUS客户端建立相应的发送请求包事件队列,所述事件队列采用双向链表实现,参考图2,即每一节点的数据结构中分别有两个成员指向他的前一节点和后一节点,这样只要记录队列头、队列尾即可方便的进行操作。该队列采用先进先出的方式,在队列中读取包括请求包的事件时从队列头开始,将包括请求包的事件写入队列时从队列尾部进行,图中的事件内容部分即可用于存储用户通过客户端发送的请求包。上述事件队列也可以采用单向链表或其它数据结构。
按照RADIUS协议,用户通过客户端需要发送到RADIUS服务器的RADIUS请求包有以下4种验证、授权请求包,计费开始请求包,实时计费请求包和计费结束请求包,因此步骤a为客户端建立的发送请求包事件队列包括计费结束请求包事件队列、计费开始请求包事件队列、验证授权请求包事件队列和实时计费请求包事件队列。
在步骤1还要根据不同请求包的紧急程度设置各个事件队列的最大长度。各个事件队列的最大长度就是支持的最大RADIUS请求数,可以根据不同事件的紧急程度,对每个队列设置不同的最大长度,在写入事件队列时超过此最大长度将丢弃。比如用户验证、授权请求因为通常情况突发用户量不会非常大,而且即使丢弃造成的损失也比较小,最重要的是不可能让用户无限期的等下去,因此应该设置比较小的阈值,比如2000;用户计费结束比较重要,而且可能由于一段网络的故障造成大量用户同时下线,因此其丢弃阈值应该设置较大,甚至不限长度。当然此长度可以根据不同的应用灵活设置。
由于RADIUS请求包的ID资源是有限的,因此需要为各种RADIUS请求包发送设置发送优先级,以决定发送的顺序,先发送优先级高的请求包。本例中的优先级设置参考下述标准。由于实时计费只是保证计费更可靠,即使不发对基本计费功能影响也不大,所以优先级最低;设置用户下线比登录优先级高,首先因为计费结束本身就是最重要的,一些设备要求必须成功,否则会丢失话单。其次因为在线用户数是有限的,因此用户下线个数也是有限的,总有发完的时候,而用户上线可能由于一些突发情况、黑客攻击、网络异常等原因长时间有大量用户要求登录,如果其优先级高,有可能由于不断进行用户上线处理,而使比他优先级低的事件一直得不到处理。计费开始比验证优先级高。计费开始是对验证通过的用户,如果轮不到处理验证事件,由于这种用户个数是有限的,可以处理完。反之可能一直进行验证,而轮不到处理计费开始。
根据以上分析,本例中设置的事件队列优先级顺序为计费结束请求包事件队列、计费开始请求包事件队列、验证授权请求包事件队列和实时计费请求包事件队列。
基于步骤1,在步骤2将客户端发送的请求包写入相应的事件队列,在步骤3逐个从相应的事件队列中依次读出队列中事件,发送读出的事件对应的请求包,直到各个队列中的事件处理完毕或客户端请求包标识(ID)资源用完。
上述步骤2、3的执行过程参考图3。所有RADIUS请求包发送事件写入事件队列尾。在另一个处理过程中由各个事件队列的队列头开始依次读出事件,发送RADIUS请求包,当一个队列全部处理完,再继续处理下一个队列,直到4个队列均处理完,或RADIUS请求包的ID资源用光为止;当队列中又有事件并且有空闲的包ID时再次依次对4个队列进行处理。
权利要求
1.一种提高远程用户拨号认证协议数据处理能力的方法,包括a.根据客户端向远程用户拨号认证协议(RADIUS)服务器发送的请求包的种类为客户端建立相应的发送请求包事件队列;b.将客户端发送的请求包写入相应的事件队列;c.逐个从相应的事件队列中依次读出队列中事件,发送读出的事件对应的请求包,直到各个队列中的事件处理完毕或客户端请求包标识(ID)资源用完。
2.根据权利要求1所述的提高远程用户拨号认证协议数据处理能力的方法,其特征在于步骤a所述客户端发出的请求包为验证、授权请求包、计费开始请求包、实时计费请求包和计费结束请求包。
3.根据权利要求2所述的提高远程用户拨号认证协议数据处理能力的方法,其特征在于步骤a为客户端建立的发送请求包事件队列有以下类型计费结束请求包事件队列、计费开始请求包事件队列、验证授权请求包事件队列和实时计费请求包事件队列。
4.根据权利要求3所述的提高远程用户拨号认证协议数据处理能力的方法,其特征在于步骤a还包括根据不同请求包的紧急程度设置各个事件队列的最大长度。
5.根据权利要求4所述的提高远程用户拨号认证协议数据处理能力的方法,其特征在于步骤a还包括设置事件队列的处理优先级,以便步骤c按照优先级处理不同事件队列中的请求包。
6.根据权利要求5所述的提高远程用户拨号认证协议数据处理能力的方法,其特征在于所述设置的事件队列优先级顺序为计费结束请求包事件队列、计费开始请求包事件队列、验证授权请求包事件队列、实时计费请求包事件队列。
7.根据权利要求1、2、3、4、5或6所述的提高远程用户拨号认证协议数据处理能力的方法,其特征在于步骤a为客户端建立的发送请求包事件队列为建立双向链表的队列。
全文摘要
本发明公开了一种提高远程用户拨号认证协议数据处理能力的方法,该方法根据客户端向远程用户拨号认证协议(RADIUS)服务器发送的请求包的种类为客户端建立相应的发送请求包事件队列,将客户端发送的请求包写入相应的事件队列,同时逐个从相应的事件队列中依次读出队列中事件,发送读出的事件对应的请求包,直到各个队列中的事件处理完毕或客户端请求包标识(ID)资源用完;采用上述方案能够保证RADIUS客户端突发大量用户同时要求验证或计费时的请求包不丢失,并对用户的请求包进行正常处理,便于使用RADIUS协议的网络设备能够对大量用户集中进行管理,提高服务质量和网络数据的处理效率。
文档编号H04L12/28GK1464714SQ0212350
公开日2003年12月31日 申请日期2002年6月28日 优先权日2002年6月28日
发明者樊迟 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1