一种ATCA架构下多板卡统一配置系统
技术领域
本发明涉及WLAN移动通信技术领域,尤其是涉及一种涉及WLAN网络(无线局域网络)中大容量AC(无线控制器)设备中对多个板卡进行统一配置的系统。
背景技术
近几年中国的电信运营商正大规模化建设和运营WLAN热点,AP(无线路由器)总数达数百万台,未来几年内,预计AP部署规模还将继续膨胀数倍,随着AP数量的剧烈增长,能管理数百个或1024个AP的AC设备已难以适应机房,电源,空调等资源的日趋紧张状况,既不符合国家节能减排政策,也会增加运营和维护支出,因此,使用ATCA平台(先进的电信计算平台),采用一块主控板,一块交换板和多块业务板搭建而成的大容量AC设备是解决上述挑战的一种有效手段。
所述主控板主要用来处理WLAN局域网中的控制面数据,所述交换板主要用来向外部提供接入接口和分发不同类型数据到主控板和业务板,所述业务板主要用来处理WLAN局域网中STA(站点)或AP的业务数据。
在大容量AC设备中,业务板和交换板都需要按工程规范要求进行适当的配置才能正常工作,而且各配置之间还有先后顺序,简单的做法是根据工程规范先分别对业务板和交换板进行单独配置,然后整个AC设备才开始正常工作,这种做法既繁琐,又效率低下,而且容易导致配置出错,使大容量AC设备不能启动允许。
发明内容
本发明目的在于解决现有技术的问题,主要是由于ATCA架构下大容量AC设备启动时,业务板和交换需要配置的项目很多,且有先后顺序,人工手动配置业务板和交换板容易导致出错。
本发明的技术方案为一种ATCA架构下多板卡统一配置系统,在主控板上设置同步配置Server模块、状态管理Server模块和连接管理Server模块,在各业务板上分别设置同步配置Agent模块、状态管理Client模块和连接管理Client模块,在交换板上设置同步配置Agent模块、状态管理Client模块和连接管理Client模块;
主控板上的同步配置Server模块与业务板和交换板上的同步配置Agent模块分别交换配置信息;主控板上的状态管理Server模块与业务板和交换板上的状态管理Client模块分别交换板卡状态信息;主控板上的连接管理Server模块与业务板和交换板上的连接管理Client模块分别建立和释放tcp连接;
所述主控板上的同步配置Server模块,用于向业务板和交换板下发配置消息,下发完成后通知主控板上的状态管理Server模块,并为上层应用模块提供统一的函数调用接口,实现将上层应用模块的配置消息下发到业务板和交换板;
所述主控板上的状态管理Server模块,用于处理业务板和交换板上的状态管理Client模块发送的状态请求消息,并向业务板和交换板的状态管理Client模块发送状态响应消息;
所述主控板上的连接管理Server模块,用于处理业务板和交换板上的连接管理Client模块发送的建立TCP连接请求消息和释放TCP连接请求消息;
所述业务板上的同步配置Agent模块,用于解析来自主控板上的同步配置Server模块发送的配置消息,并实际执行对业务板的配置动作;
所述业务板上的状态管理Client模块,用于根据业务板的不同状态向主控板上的状态管理Server发送不同的状态请求消息,接受主控板上的状态管理Server回应的状态响应消息,完成业务板的状态迁移管理;
所述业务板上的连接管理Client模块,用于向主控板的连接管理Server模块发送建立TCP连接请求消息,建立与主控板的连接管理Server模块的TCP连接,以及向主控板的连接管理Server模块发送释放TCP连接请求消息,释放与主控板的连接管理Server模块的TCP连接;
所述交换板上的同步配置Agent模块,用于解析来自主控板上的同步配置Server模块发送的配置消息,并实际执行对交换板的配置动作;
所述交换板上的状态管理Client模块,用于根据交换板的不同状态向主控板上的状态管理Server发送不同的状态请求消息,接受主控板上的状态管理Server回应的状态响应消息,完成交换板的状态迁移管理;
所述交换板上的连接管理Client模块,用于向主控板的连接管理Server模块发送建立TCP连接请求消息,建立与主控板的连接管理Server模块的TCP连接,以及向主控板的连接管理Server模块发送释放TCP连接请求消息,释放与主控板的连接管理Server模块的TCP连接。
而且,主控板上的同步配置Server模块提供同步函数接口和异步函数接口,同步函数接口以同步方式下发配置消息,只有当接收到来自业务板或交换板上的同步配置Agent模块的确认消息后,同步接口函数才返回成功,否则返回失败;异步函数接口以异步方式下发配置消息,不需要接收到业务板或交换板上的同步配置Agent的确认消息,只要发送完成,异步接口函数都返回成功;
业务板或交换板上的同步配置Agent解析来自主控板上的同步配置Server模块发送的配置消息时,对于同步方式的配置请求,在配置成功后,向主控板上的同步配置Server模块发送确认成功消息,在配置失败后,向主控板上的同步配置Server模块发送确认失败消息;对于异步方式的配置请求,无论是否配置成功,都不向主控板上的同步配置Server模块发送确认消息。
而且,主控板上的同步配置Server模块在向业务板和交换板下发配置消息的同时,将上层应用模块下发给业务板和交换板的配置消息保存在文件中,当业务板或交换板重启后,主控板上的同步配置Server模块重新下发这些保存在文件中的配置信息到业务板或交换板,使业务板或交换板恢复到重启之前的状态。
而且,业务板和交换板上的状态管理Client模块向主控板发送状态请求消息,请求消息类型有发现请求Discover Request,加入请求Join Request,配置请求Configure Request,回响请求Echo Request;
主控板上的状态管理Server模块等待接收来自业务板和交换板的状态请求消息,并回应状态响应消息,响应消息类型有发现响应Discover Response,加入响应Join Response,配置响应Configure Response,回响响应Echo Response。
而且,业务板和交换板上的板卡状态有DISCOVER状态,JOIN状态,CONFIGURE状态,RUN状态,QUIT状态,
DISCOVER状态表示该状态下的业务板或交换板还没有和主控板建立连接,发送了Discover Request消息,但还没有得到响应;
JOIN状态表示该状态下的业务板或交换板已经和主控板建立了初始连接,但还在等待主控板的响应;
CONFIGURE状态表示该状态下的业务板或交换板已经成为了主控板的管理对象,支持开始接受主控板的配置,但是还没有收到配置,或者配置还没有完成;
RUN状态表示该状态下的业务板或交换板已经接收到了主控板下发的所有配置信息,开始运行状处理业务逻辑;
QUIT状态表示该状态下的业务板或交换板已经连续多次没有收到来自特定主控板的心跳响应消息;
只有进入CONFUGURE状态的业务板或交换板才能获取主控板下发的配置,只有配置成功完成的业务板或交换板才能进入RUN状态,只有进入RUN状态的业务板或交换板才能正常工作。
本发明所述的系统,具有以下优点:
1. 当大容量AC设备增加业务板或交换板时,新增的业务板或交换板能够自动获取配置,进入运行状态,大容量AC设备具有可扩展性。
2. 对业务板和交换板的整个配置过程中,无需手动配置,减少了人为的配置出错几率,从而提升大容量AC设备的鲁棒性。
3. 业务板和交换板重启后,自动恢复到重启之前的配置状态,增加了大容量AC设备的稳定性。
4. 本系统引入了状态机管理机制,各板卡的状态转换稳定可靠。
由于ATCA架构下大容量AC设备启动时,业务板和交换需要配置的项目很多,且有先后顺序,人工手动配置业务板和交换板容易导致出错。ATCA架构下统一配置管理多个板卡的实现系统解决了这个问题,提高了大容量AC设备整体的稳定性和灵活性。
附图说明
图1为本发明实施例的多板统一配置管理层次结构图。
图2为本发明实施例的主控板同步配置Server模块下发配置流程图。
图3为本发明实施例的业务板或交换板上的状态管理Client模块中状态机迁移图。
图4为本发明实施例的业务板或交换板上的状态管理Client模块消息处理流程图。
图5为本发明实施例的主控板状态管理Server模块的消息处理流程图。
图6为本发明实施例的业务板或交换板上的连接通信模块建立TCP连接处理流程图。
具体实施方式
以下结合附图和实施例详细说明本发明技术方案。
实施例采用一个支持ATCA标准的机框,交换板在ATCA机框的交换槽位上,业务板和主控板在其它槽位。主控板、业务板和交换板在同一个ATCA机框中,业务板和主控板通过ATCA机框的BASE平面相互连接。BASE平面,也叫Base Interface(基本接口),是ATCA架构的管理控制平面总线,一般在系统中用来传输控制面信息。ATCA机框中带有IPM功能,即能够执行机框管理功能。主控板主要用来处理WLAN局域网中的控制面数据,所述交换板主要用来向外部提供接入接口和分发不同类型数据到主控板和业务板,所述业务板主要用来处理WLAN局域网中STA或AP的业务数据。
本发明将主控板,业务板,交换板上的模块按功能划分为三个层次,主控板与业务板,主控板与交换板的信息交互只在同层模块之间进行,且均采用客户机/服务器模型,业务板和交换板上的三个功能模块是客户端(Agent),主控板上的三个功能模块是服务器端(Server)。如图1所述,在主控板上设置同步配置Server模块、状态管理Server模块和连接管理Server模块,在各业务板上分别设置同步配置Agent模块、状态管理Client模块和连接管理Client模块,在交换板上设置同步配置Agent模块、状态管理Client模块和连接管理Client模块。具体实施时,各模块都可采用软件技术实现。实施例的多板统一配置管理划分为三个层次,主控板上的同步配置Server模块,业务板和交换板上的同步配置Agent模块处于同一个层次,经由主控板上同步配置Server模块下发给业务板或交换板的配置消息,最终被送给业务板或交换板上的同步配置Agent模块,由同步配置Agent模块负责解析配置消息并根据配置类型发送确认消息。主控板上的状态管理Server模块,业务板和交换板上的状态管理Client模块处于同一个层次,这三个模块之间负责交互状态请求和状态响应消息,业务板和交换板上的状态变化会通知主控板上的同步配置Server模块,主控板上的同步配置Server模块也会向状态管理Server模块报告配置下发是否完成。具体状态变化的通知,是由业务板和交换板上的状态管理Client将状态变化情况通知主控板上的状态管理Server模块,主控板上的状态管理Server模块再将状态变化情况通知主控板上的同步配置Server模块。主控板上的连接管理Server模块,业务板和交换板上的连接管理Client模块处于同一个层次,根据业务板和交换板上的状态变化,负责业务板与主控板,交换板与主控板之间建立和释放tcp(传输控制协议)连接。
通过引入以上状态机管理机制,将主控板作为统一配置管理的服务端,将业务板和交换板作为统一配置管理的客户端。AC设备上电启动后,不需要人工参与配置业务板和交换板,提高配置效率,减少配置出错几率。
主控板上电启动后,启动同步配置Server, 状态管理Server和连接管理Server模块。
业务板上电启动后,启动同步配置Agent,状态管理Client和连接管理Client模块。
交换板上电启动后,启动同步配置Agent,状态管理Client和连接管理Client模块。
主控板,业务板和交换板,每一个板卡都有且只有一个可执行文件,板卡之间不需要同时执行。板卡上电后会自动执行可执行文件,每个板卡在上电后自动执行一次。主控板上的同步配置Server,状态管理Server和连接管理Server模块都是主控板的可执行文件中的一个子模块,会随着主控板的可执行文件的执行而执行。业务板和交换板也是和主控板一样。
主控板上的同步配置Server模块与业务板和交换板上的同步配置Agent模块分别交换配置信息;主控板上的状态管理Server模块与业务板和交换板上的状态管理Client模块分别交换板卡状态信息;主控板上的连接管理Server模块与业务板和交换板上的连接管理Client模块分别建立和释放tcp连接;
所述主控板上的同步配置Server模块,用于向业务板和交换板下发配置消息,下发完成后通知主控板上的状态管理Server模块,并为上层应用模块提供统一的函数调用接口,实现将上层应用模块的配置消息下发到业务板和交换板;
所述主控板上的状态管理Server模块,用于处理业务板和交换板上的状态管理Client模块发送的状态请求消息,并向业务板和交换板的状态管理Client模块发送状态响应消息;
所述主控板上的连接管理Server模块,用于处理业务板和交换板上的连接管理Client模块发送的建立TCP连接请求消息和释放TCP连接请求消息;
所述业务板上的同步配置Agent模块,用于解析来自主控板上的同步配置Server模块发送的配置消息,并实际执行对业务板的配置动作;
所述业务板上的状态管理Client模块,用于根据业务板的不同状态向主控板上的状态管理Server发送不同的状态请求消息,接受主控板上的状态管理Server回应的状态响应消息,完成业务板的状态迁移管理;
所述业务板上的连接管理Client模块,用于向主控板的连接管理Server模块发送建立TCP连接请求消息,建立与主控板的连接管理Server模块的TCP连接,以及向主控板的连接管理Server模块发送释放TCP连接请求消息,释放与主控板的连接管理Server模块的TCP连接;
所述交换板上的同步配置Agent模块,用于解析来自主控板上的同步配置Server模块发送的配置消息,并实际执行对交换板的配置动作;
所述交换板上的状态管理Client模块,用于根据交换板的不同状态向主控板上的状态管理Server发送不同的状态请求消息,接受主控板上的状态管理Server回应的状态响应消息,完成交换板的状态迁移管理;
所述交换板上的连接管理Client模块,用于向主控板的连接管理Server模块发送建立TCP连接请求消息,建立与主控板的连接管理Server模块的TCP连接,以及向主控板的连接管理Server模块发送释放TCP连接请求消息,释放与主控板的连接管理Server模块的TCP连接。
主控板上的同步配置Server模块与业务板和交换板上的同步配置Agent模块交换配置信息。主控板上的同步配置Server模块在向业务板和交换板下发配置消息的同时,将上层应用模块下发给业务板和交换板的配置消息保存在文件中,当业务板或交换板重启后,主控板上的同步配置Server模块重新下发这些保存在文件中的配置信息到业务板或交换板,使业务板或交换板恢复到重启之前的状态。
另外,主控板上的同步配置Server模块提供同步函数接口和异步函数接口,同步函数接口以同步方式下发配置消息,只有当接收到来自业务板或交换板上的同步配置Agent模块的确认消息后,同步接口函数才返回成功,否则返回失败;异步函数接口以异步方式下发配置消息,不需要接收到业务板或交换板上的同步配置Agent的确认消息,只要发送完成,异步接口函数都返回成功;业务板或交换板上的同步配置Agent解析来自主控板上的同步配置Server模块发送的配置消息时,对于同步方式的配置请求,在配置成功后,向主控板上的同步配置Server模块发送确认成功消息,在配置失败后,向主控板上的同步配置Server模块发送确认失败消息;对于异步方式的配置请求,无论是否配置成功,都不向主控板上的同步配置Server模块发送确认消息。
主控板上的状态管理Server模块与业务板和交换板上的状态管理Client模块交换板卡状态信息是指,业务板和交换板上的状态管理Client模块会向主控板发送状态请求消息,主控板上的状态管理Server模块会等待接收来自业务板和交换板的状态请求消息,并回应状态响应消息,请求消息类型有Discover Request,Join Request,Configure Request,Echo Request。并处理主控板上的状态管理Server发送的状态响应消息,响应消息类型有Discover Response,Join Response,Configure Response,Echo Response。业务板和交换板上的板卡状态有DISCOVER状态,JOIN状态,CONFIGURE状态,RUN状态,QUIT状态,只有进入CONFUGURE状态的业务板或交换板才能获取主控板下发的配置,只有配置成功完成的业务板或交换板才能进入RUN状态,只有进入RUN状态的业务板或交换板才能正常工作。
实施例的具体请求消息类型说明如下:
Discover Request:发现请求,用于业务板或交换板上的状态管理Client模块寻址主控板。
Join Request:加入请求,用于业务板或交换板上的状态管理Client模块请求加入到某一特定的主控板,被该主控板管理。
Configure Request:配置请求,用于业务板或交换板上的状态管理Client模块向特定的主控板请求得到配置;
Echo Request:回响请求,用于业务板或交换板上的状态管理Client模块定期向特定的主控板报告,表示该业务板或交换板在正常运行。
实施例的具体响应消息类型说明如下:
Discover Response:发现响应,由主控板向业务板或交换板发送,响应业务板或交换板的发现请求。
Join Response:加入响应,由主控板向业务板或交换板发送,允许或拒绝业务板或交换板加入到该主控板上。
Configure Response:配置响应,由主控板向业务板或交换板发送,允许或拒绝向业务板或交换板发送配置消息。
Echo Response:回响响应,由主控板向业务板或交换板发送,响应业务板或交换板的回响请求。
实施例的具体板卡状态类型说明如下:
DISCOVER状态:业务板或交换板上的一种运行状态,处于该状态下的业务板或交换板还没有和主控板建立连接,发送了Discover Request消息,但还没有得到响应。
JOIN状态:业务板或交换板上的一种运行状态,处于该状态下的业务板或交换板已经合特定的主控板建立了初始连接,但还在等待特定主控板的响应。
CONFIGURE状态:业务板或交换板上的一种运行状态,处于该状态下的业务板或交换板已经成为了某个特定主控板的管理对象,可以开始接受该主控板的配置,但是还没有收到配置,或者配置还没有完成。
RUN状态:业务板或交换板上的一种运行状态,处于该状态下的业务板或交换板已经接收到了某个特定主控板下发的所有配置信息,开始处于运行状态,处理业务逻辑。
QUIT状态:业务板或交换板上的一种运行状态,表示该业务板或交换板已经连续多次(可以预先设置一个阈值)没有收到来自特定主控板的心跳响应消息。
主控板上的连接管理Server模块与业务板和交换板上的连接管理Client模块建立和释放tcp连接是指,当业务板或交换板进入JOIN状态后,并且能够加入到主控板时,业务板或交换板上的状态管理Client模块通知连接管理Client模块,连接管理Client模块向主控板发起建立TCP连接过程。当业务板或交换板进入QUIT状态,需要重新启动之前,状态管理Client模块通知连接管理Client模块,连接管理Client模块向主控板发起释放TCP连接过程。
为便于实施参考起见,以下分别详述各模块的实现情况。
实施例的主控板部分:
主控板上的同步配置Server负责向业务板和交换板下发配置消息,下发完成后通知主控板上的状态管理Server模块,并为上层应用模块提供统一的函数调用接口,实现将上层应用模块的配置消息下发到业务板和交换板。
主控板上的状态管理Server负责处理业务板和交换板上的状态管理Client模块发送的状态请求消息,请求消息类型有Discover Request,Join Request,Configure Request,Echo Request,并向业务板和交换板的状态管理Client模块发送状态应消息,响应消息类型有Discover Response,Join Response,Configure Response,Echo Response。
主控板上的连接管理Server负责处理业务板和交换板上的连接管理Client模块发送的建立TCP连接请求消息和释放TCP连接请求消息。
实施例的业务板部分:
业务板上的同步配置Agent负责解析来自主控板上的同步配置Server模块发送的配置消息,并实际执行对业务板的配置动作。对于同步方式的配置请求,在配置成功后,向主控板上的同步配置Server模块发送确认成功消息,在配置失败后,向主控板上的同步配置Server模块发送确认失败消息。对于异步方式的配置请求,无论是否配置成功,都不向主控板上的同步配置Server模块发送确认消息。
业务板上的状态管理Client模块用于根据业务板的不同状态向主控板上的状态管理Server发送不同的状态请求消息,接受主控板上的状态管理Server回应的状态响应消息,完成业务板的状态迁移管理。请求消息类型有Discover Request,Join Request,Configure Request,Echo Request。并处理主控板上的状态管理Server发送的状态响应消息,响应消息类型有Discover Response,Join Response,Configure Response,Echo Response。
业务板上的连接管理Client模块用于向主控板的连接管理Server模块发送建立TCP连接请求消息,建立与主控板的连接管理Server模块的TCP连接,以及向主控板的连接管理Server模块发送释放TCP连接请求消息,释放与主控板的连接管理Server模块的TCP连接。
实施例的交换板部分:
交换板上的同步配置Agent负责解析来自主控板上的同步配置Server模块发送的配置消息,并实际执行对交换板的配置动作。对于同步方式的配置请求,在配置成功后,向主控板上的同步配置Server模块发送确认成功消息,在配置失败后,向主控板上的同步配置Server模块发送确认失败消息。对于异步方式的配置请求,无论是否配置成功,都不向主控板上的同步配置Server模块发送确认消息。
交换板上的状态管理Client模块用于根据交换板的不同状态向主控板上的状态管理Server发送不同的状态请求消息,接受主控板上的状态管理Server回应的状态响应消息,完成交换板的状态迁移管理。请求消息类型有Discover Request,Join Request,Configure Request,Echo Request。并处理主控板上的状态管理Server发送的状态响应消息,响应消息类型有Discover Response,Join Response,Configure Response,Echo Response。
交换板上的连接管理Client模块用于向主控板的连接管理Server模块发送建立TCP连接请求消息,建立与主控板的连接管理Server模块的TCP连接,以及向主控板的连接管理Server模块发送释放TCP连接请求消息,释放与主控板的连接管理Server模块的TCP连接。
为便于实施参考起见,以下提供实施例的具体工作流程:
图2描述了同步配置Sever模块下发配置流程图:
步骤1,模块开始初始化。
步骤2,获取需要下发的配置消息,总共有三种配置类型,第一种为初始配置,第二种为上层应用模块实时下发的配置,第三种为主控板同步配置Server模块自己保存的配置。如图中标号20所示。
步骤3,根据配置消息的目的板卡号,来查询目的板卡号的状态,如果是RUN状态的板卡可以下发上层应用模块实时下发的配置,如果是CONFIGURE状态的板卡可以下发初始配置,如果两种状态都不是,则返回不发送。如图中标号21所示。
步骤4,如果是上层应用模块实时下发的配置,则保存到同步配置Server模块自己的文件中。如图中标号22所示。如果不是,则直接使用本地预先保存的配置。
步骤5,根据配置消息的下发方式,如果是异步方式下发则调用异步下发函数接口,如果是同步方式下发则调用同步下发函数接口。如图中标号23所示。
步骤6,如果是异步方式下发的配置,则只要发送成功,就算下发配置完成,如果是同步方式下发的配置,则只有收到确认消息才算下发配置成功。如图中标号24所示。
步骤7,下发配置完成之后通知状态管理Sever模块下发配置完成。如图中标号25所示。
图3描述了业务板或交换板上的状态管理Client模块中状态机迁移图:
步骤1,模块开始初始化。
步骤2,业务板和交换板上的状态管理Client模块开启之后,首先广播一个Discovery Request消息,用来发现主控板,进入DISCOVER状态。如图中标号30所示。
步骤3,当收到来自主控板的Discovery Response响应消息后,发送一个Join Request消息,请求加入主控板,进入JOIN状态。如图中标号31所示。
步骤4,主控板根据判断,回应一个Join Response消息,消息中携带了是否允许加入主控板,业务板或交换板收到Join Response消息后,根据消息中的结果,如果允许加入,则发送Configure Request消息,请求主控板的配置,并进入CONFIGURE状态。如图中标号32所示。
步骤5,主控板收到Configure Request消息后,开始向业务板或交换板下发初始配置,配置完成之后,向业务板或交换板发送一个Configure Response消息,表示初始配置完成。之后,业务板或交换板进入RUN状态,可以正常工作。如图中标号33所示。
步骤6,在RUN状态下得业务板或交换板,还要定期向主控板发送Echo Request心跳请求消息,主控板收到心跳请求消息后,也会发送Echo Response心跳回应消息,如果主控板在一定时间内没有收到业务板或交换板的心跳请求,则会调用IPMI指定重新启动业务板或交换板,如果业务板或交换板在一定时间内没有收到主控板的心跳回应,则会进入QUIT状态,在QUIT状态下等待一段时间后,业务板或交换板会调用IPMI指定重新启动。如图中标号34所示。
在业务板和交换板的状态转移过程中,只有当一个状态中的所有动作完成后才能进入另一个状态,没有完成之前,业务板或交换板上的状态管理Client模块一直等待挂起。每一次状态的迁移都是由消息驱动的。
图4为业务板或交换板上的状态管理Client模块消息处理流程图:
步骤1,模块开始初始化。
步骤2,业务板或交换板广播发送一个Discovery Request消息,消息中携带了本板板卡类型和板卡槽位号,板卡类型说明了本板是业务板还是交换板,板卡槽位号说明了本板在ATCA机框中所在的逻辑槽位号,如图中标号400所示。
步骤3,发送完Discovery Request请求消息后,业务板或交换板进入DISCOVER状态,业务板或交换板状态管理Client模块挂起等待主控板的回应消息。如图中标号401所示。
步骤4,收到主控板的Discovery Response消息后,记录消息中携带的主控板IP地址信息。如图中标号402所示。
步骤5,使用主控板IP地址,向主控板单播发送一个Join Request请求消息,请求加入主控板,消息中携带了业务板或交换板的MAC地址。如图中标号403所示。
步骤6,发送完Join Request消息后,业务板或交换板进入JOIN状态,业务板或交换板状态管理Client模块挂起等待主控板的回应消息。如图中标号404所示。
步骤7,收到主控板的Join Response消息后,记录是否允许加入主控板。如图中标号405所示。
步骤8,判断是否允许加入主控板。如图中标号406所示。
步骤9,如果允许加入主控板,则通知业务板或交换板上的连接管理Client模块与主控板建立TCP连接。如果不允许加入主控板,则直接返回,重新进入DISCOVER状态。如图中标号407所示。
步骤10,连接管理Client模块与主控板的TCP连接建立成功后,告之状态管理Client模块,之后,发送Configure Request消息,请求主控板下发初始配置。如图中标号408所示。
步骤11,发送完Configure Request请求消息后,进入CONFIGURE状态。如图中标号409所示。
步骤12,当收到主控板发送的Configure Response响应消息后,表示业务板或交换板初始配置完成。如图中标号410所示。
步骤13,初始配置完成之后,业务板或交换板进入RUN状态。如图中标号411所示。
步骤14,处于RUN状态的业务板或交换板,状态管理Client模块会定期发送Echo Request请求消息。如图中标号412所示。
步骤15,使用定时器,判断一定时间内是否收到了主控板的Echo Response响应消息。如图中标号413所示。
步骤16,如果一定时间内还没有收到主控板回应的Echo Response响应消息,则进入QUIT状态。如图中标号414所示。
步骤17,QUIT状态下,一定时间后,状态管理Client模块调用IPMI指定,重新启动业务板或交换板。如图中标号415所示。
图5描述了主控板状态管理Server模块的消息处理流程图:
步骤1,模块开始初始化。
步骤2,主控板启动后,主控板上的状态管理Server模块等待业务板或交换板发送的状态管理消息。如图中标号500所示。
步骤3,当收到来自业务板或交换板的Discovery Request消息后,记录消息中携带的板卡类型和板卡槽位号。如图中标号501所示。
步骤4,主控板上的状态管理Server模块发送Discovery Response响应消息,消息携带了主控板的IP地址。如图中标号502所示。
步骤5,之后,主控板上的状态管理Server模块挂起等待,直到接收到Join Request消息。如图中标号503所示。
步骤6,根据主控板上的策略,根据Join Request消息中的板卡MAC地址判断是否允许板卡加入到主控板中来。如图中标号504所示。
步骤7,根据判断结果,向相应板卡发送一个Join Response消息,告之业务板或交换板是否允许加入本主控板。如图中标号505所示。
步骤8,当状态管理Server模块收到Configure Request消息后,开始向请求配置的业务板或交换板下发初始配置。如图中标号506所示。
步骤9,配置完成之后,状态管理Server模块会收到一个同步配置Server模块发送的通知。如图中标号507所示。
步骤10,初始配置下发完成之后,向接收配置的业务板或交换板下发Configure Response消息。如图中标号508所示。
步骤11,主控板上的状态管理Server模块还会定期接收来自业务板或交换板的心跳请求消息。如图中标号509所示。
步骤12,当状态管理Server模块收到心跳请求消息后,还会向对应的业务板或交换板发送心跳回应消息。如图中标号510所示。
步骤13,判断是否在一定时间内没有收到处于RUN状态的业务板或交换板的心跳请求消息。如图中标号511所示。
步骤14,如果一定时间内没有收到处于RUN状态下得业务板或交换板的心跳请求消息,则调用IPMI指令重启该业务板或交换板。如图中标号512所示。
图6描述了为业务板或交换板上的连接通信模块建立TCP连接处理流程图:
步骤1,模块开始初始化。
步骤2,业务板或交换板上连接管理Client模块收到状态管理Client模块的通知,需要建立到主控板上的TCP连接。如图中标号60所示。
步骤3,判断板卡状态是否为JOIN状态。如图中标号61所示。
步骤4,如果业务板或交换板的板卡状态为JOIN状态,则连接管理Client模块采用tcp socket方式与主控板建立TCP连接。如图中标号62所示。
步骤5,判断TCP连接是否建立成功。如图中标号63所示。
步骤6,如果TCP连接建立成功,则通知业务板或交换板上的状态管理Client模块TCP连接建立成功。如图中标号64所示。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。