(2)获取管理单元组信息。查询数据库,将所有管理组内的网元端口信息加载到程序中;
(3)从数据库中得到端口的等待时间、超时时限;
(4)查询数据库找出中心对应管理组的服务端口号,并建立服务端套接字;
(5)向消息服务中心注册,建立消息通信通道。
图4为程序逻辑流程,有逻辑模块三个:端口信息处理、连接申请处理、消息处理。
3.2 端口信息处理模块
数据中心监听并接受来自客户端的socket连接,建立起与之通信的套接字并开始与之通信。将原始数据从网元端口内接入,传送给控制端口与监听端口。将控制端的控制命令数据流写向它控制的网元端口。并对端口管理和维护。
3.3 连接申请处理模块
申请连接是客户端与指定网元端口连接,通过与数据中心的套接字写一个申请连接消息到数据中心。本模块分析消息,判断客户端要与哪个网元端口连接、连接类型(控制或监听)等。再由数据中心与网元端口相连,此客户就成为该网元的控制或监听端(虚连接)。即由数据中心作中介,要与网元相连的客户并没有与网元端口直接相连,只是间接通信。
3.4 消息处理模块
将其消息队列中的消息发给消息中心,分析消息中心转发来的消息,按消息要求进行相应操作。可能接受的消息有:端口操作、系统控制、系统询问、进程配置更新、获取进程状态等。
这三个处理模块置于一个永久性大循环中,循环执行。除非数据中心被终止,或出现异常或错误时必须退出,或被操作员强制关闭,否则该循环永久执行下去。
4 结论
数据中心经过单元测试和综合测试等专业测试后,已经用于实践。现场实际运行表明,响应时间短、可靠性高,全部功能和性能均达到了设计目标,用户满意。实践表明:采用了双端通信模型基本结构的数据中心组织合理,模块结构清晰、各个模块的扩展性好、内部独立性高,可维护性好。另外,为了进一步提高效率,节省系统资源,可以考虑采用多线程或多进程技术。