基于多核、多线程实现AP和STA的接入方法技术

技术编号:11296157 阅读:49 留言:0更新日期:2015-04-15 12:27
本发明专利技术公开了基于多核、多线程实现AP和STA的接入方法,设置处理AP消息线程的个数和STA消息线程的个数;根据步骤A确定的处理AP消息线程的个数和处理STA消息的线程个数,依次创建处理AP消息的线程和处理STA消息的线程;当主入口接收信息线程接收到外部消息后,如果判断为AP消息,则将其发送到AP消息线程的消息队列中;如果判断为STA消息,则将其发送到STA消息线程的消息队列中;当STA上线时,需要把STA信息记录到AP表中,当STA下线时,需要把STA信息从AP表中删除,把处理STA上下线消息的线程转化为处理AP消息的线程;当AP下线时,需要把此AP下记录的STA信息从AP表中删除,当处理AP下线导致STA下线消息时,把AP的线程转化为处理STA消息的线程。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了基于多核、多线程实现AP和STA的接入方法,设置处理AP消息线程的个数和STA消息线程的个数;根据步骤A确定的处理AP消息线程的个数和处理STA消息的线程个数,依次创建处理AP消息的线程和处理STA消息的线程;当主入口接收信息线程接收到外部消息后,如果判断为AP消息,则将其发送到AP消息线程的消息队列中;如果判断为STA消息,则将其发送到STA消息线程的消息队列中;当STA上线时,需要把STA信息记录到AP表中,当STA下线时,需要把STA信息从AP表中删除,把处理STA上下线消息的线程转化为处理AP消息的线程;当AP下线时,需要把此AP下记录的STA信息从AP表中删除,当处理AP下线导致STA下线消息时,把AP的线程转化为处理STA消息的线程。【专利说明】基于多核、多线程实现AP和STA的接入方法
本专利技术涉及网络通信
,尤其涉及在多核网络处理器环境下,使用多线程编程技术实现AP和STA的接入管理处理方法。
技术介绍
当今社会,人们的生活方式正在发生着巨大的改变。人与人之间的交互越来越依赖于通讯网络,而无线局域网由于其可移动性、使用方便、部署便捷、性价比高、智能终端普遍支持等优点,已经广泛应用到了园区、公共场所、高校、企业、医院、酒店、餐馆等环境中。随着园区、公共场所、高校、企业、医院、酒店、餐馆等环境中无线局域网的广泛部署,AP和STA数量的不断增多,要求处理器的处理能力也越来越高。但对于传统的单核处理器来说,性能的提升主要依赖于主频的提高,但这无论在性价比还是性能功耗比方面都遭遇到令市场无法接受的发展瓶颈。故通过增加处理器核的个数来获取处理性能的提高比通过提高主频实现要容易的多。另外传统的编程方法采用的是单线程,处理串行化,效率较低,浪费资源。而如何利用多核处理器,采用多线程编程技术提高AP和STA的接入处理效率,对AP和STA进行有效的管理就是本文探讨的问题。 单核单线程处理方法,即在单核的处理器上,程序是串行执行的,在程序运行期间,由单个线程独占处理器的控制权,负责执行所用任务。在这种情况下,程序在执行一些耗时的任务时,无法对用户的操作及时响应,从而影响执行效率,并且也达不到系统的实际性能要求。 单核多线程处理方法,即在单核的处理器上,同时运行两个或多个线程,这样允许在程序中并发执行多个指令流,每个指令流互相独立,是并发的,也就是在逻辑上“同时”,但实际上由于是单核的,故在某一时间点也只有一个线程在执行。多线程与传统的单线程相比,由于各个线程的控制流是彼此独立的,使得各个线程之间的代码是乱序执行的,由此会带来线程调度,同步等问题,而解决数据同步问题,一般需要引入加减锁机制,但加减锁本身也占用了一定的开销,如加减锁过多,反而导致程序处理速度变的更慢,性能更低。 多核单线程处理方法,即在多核的处理器上,只能在一个核上运行一个线程,不能充分利用处理器多核的性能优势,会导致处理器的资源闲置,造成了极大的浪费。 多核多线程处理方法,即在多核的处理器上,同时运行多个线程,这样每个核都可以同时多个线程,最大限度地利用了处理器的性能优势,但也存在线程调度、同步等问题。 关键名词 WLAN:无线局域网,利用射频(RF)技术,取代旧式的双绞线构成局域网络,提供传统有线局域网的所有功能。 AC:无线接入控制器,负责把来自不同AP的数据进行汇聚并接入Internet,同时完成AP设备的配置管理,无线用户的认证、管理及宽带访问、安全等控制功能。 AP:无线访问节点,用于无线网络的无线交换机,移动计算机用户进入有线网络的接入点,主要用于宽带家庭、大楼内部以及园区内部,典型举例覆盖几十米之外上百米。 STA:WLAN中的客户端,可以是装有无线网卡的计算机,也可以是有WiFi模块的智能手机。可以是移动的,也可以是固定的,是无线局域网的最基本组成单位。 线程:程序独立调度和分派的基本单位,程序执行流的最小单位,可并发执行。
技术实现思路
本专利技术为了解决现有技术中存在的问题,提供了一种基于多核、多线程实现AP和STA的接入方法。 为了实现上述的目的,本专利技术的技术方案是:基于多核、多线程实现AP和STA的接入方法,包括以下步骤: 步骤A:设置处理AP消息线程的个数和STA消息线程的个数; 步骤B:在程序初始化的线程里,根据步骤A确定的处理AP消息线程的个数和处理STA消息的线程个数,依次创建处理AP消息的线程和处理STA消息的线程,并初始化每个处理AP消息线程的消息队列和处理STA消息线程的消息队列; 步骤C:当主入口接收信息线程接收到外部消息后,如果判断为AP消息,则将其发送到AP消息线程的消息队列中;如果判断为STA消息,则将其发送到STA消息线程的消息队列中; 步骤D:处理AP消息的线程从此线程对应的消息队列中取出待处理的消息,然后按照AP上线逻辑的处理,完成AP的上线;处理STA消息的线程从该线程对应的消息队列中取出待处理的消息,然后按照STA上线逻辑的处理,完成STA的上线; 步骤E:当STA上线时,需要把STA信息记录到AP表中,当STA下线时,需要把STA信息从AP表中删除,把处理STA上下线消息的线程转化为处理AP消息的线程; 步骤F:当AP下线时,需要把此AP下记录的STA信息从AP表中删除,当处理AP下线导致STA下线消息时,把AP的线程转化为处理STA消息的线程。 优选的是,所述步骤C中,如果判断为AP消息,则根据消息内容获得AP信息唯一标识的MAC地址或IP地址,然后把AP信息的MAC地址或IP地址的末字节对处理AP消息的线程个数取余,获得的值作为处理此AP消息线程的数组下标,然后把此AP消息插入到这个数组下标对应的处理AP消息的线程的消息队列中去。 优选的是,所述步骤C中,如果判断为STA消息,根据消息内容获得STA唯一标识的MAC地址,然后把STA信息的MAC地址的末字节对处理STA消息的线程个数取余,获得的值作为处理此STA消息线程的数组下标,然后把此STA消息插入到这个数组下标对应的处理STA消息的线程的消息队列中去。 优选的是,所述步骤D中,处理AP消息的线程首先判断AP消息是否需要转化到STA线程中处理,如果是,将其转化为STA消息,分发到STA的消息队列中;处理STA消息的线程首先判断STA消息是否需要转化到AP线程中处理,如果是,将其转化为AP消息,分发到AP的消息队列中。 优选的是,在AP上线完成后,当从网管下发对AP的配置维护命令时,对其执行步骤C ;在STA上线完成后,当从网管下发对STA的维护命令时,对其执行步骤C。 本专利技术提供的接入方法,充分地利用了处理器多核的资源优势,最大化地发挥了处理器的性能;根据处理器的核数合理分配处理线程个数,减少了线程调度消耗的资源,使得控制应用程序高效地运转;消息分发机制的多线程编程,有效地降低了由于多线程的竞争关系而引起的资源同步问题,从而避免了大量的加减锁的开销,提高了程序的执行效率;在AP消息与STA消息互相触发的时候,进行有效地线程相互转换,使得两者的实体在各自的线程中操作,互不干扰,提高了效率。 【专利附图】【附图说明本文档来自技高网
...

【技术保护点】
基于多核、多线程实现AP和STA的接入方法,其特征在于,包括以下步骤:步骤A:设置处理AP消息线程的个数和STA消息线程的个数;步骤B:在程序初始化的线程里,根据步骤A确定的处理AP消息线程的个数和处理STA消息的线程个数,依次创建处理AP消息的线程和处理STA消息的线程,并初始化每个处理AP消息线程的消息队列和处理STA消息线程的消息队列;步骤C:当主入口接收信息线程接收到外部消息后,如果判断为AP消息,则将其发送到AP消息线程的消息队列中;如果判断为STA消息,则将其发送到STA消息线程的消息队列中;步骤D:处理AP消息的线程从此线程对应的消息队列中取出待处理的消息,然后按照AP上线逻辑的处理,完成AP的上线;处理STA消息的线程从该线程对应的消息队列中取出待处理的消息,然后按照STA上线逻辑的处理,完成STA的上线;步骤E:当STA上线时,需要把STA信息记录到AP表中,当STA下线时,需要把STA信息从AP表中删除,把处理STA上下线消息的线程转化为处理AP消息的线程;步骤F:当AP下线时,需要把此AP下记录的STA信息从AP表中删除,当处理AP下线导致STA下线消息时,把AP的线程转化为处理STA消息的线程。...

【技术特征摘要】

【专利技术属性】
技术研发人员:蔡磊磊
申请(专利权)人:深圳市华讯方舟科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1