王超 河北农业大学信息科学与技术学院
油田设备软件通信中间件设计与优化*
王超 河北农业大学信息科学与技术学院
油田设备通信的目的是提供给设备管理员一个安全、友好的油田中间件显示界面,以及一个简单、实用的管理平台。通过客户端信息管理,可以对文件内核进行处理,多个油田设备通信中间件显示器客户端通过统一的服务器端进行通信,形成星状的拓扑结构。客户端向服务器端请求资源,为服务器端提供管理接口;服务器端为客户端提供资源,向客户端发送配置请求。所以,油田设备通信中间件显示器客户端与服务器端之间是互为Client/Server式的结构。
油田设备;通信;中间件;客户端;模快;优化
油田设备通信目的是提供给设备管理员一个安全、友好的油田中间件显示界面,以及一个简单、实用的管理平台。通过客户端信息管理,可以对文件内核时进行处理,多个油田设备通信中间件显示器客户端通过统一的服务器端进行通信,形成星状的拓扑结构。油田设备通信中间件管理员远程登陆显示器服务器端,就可以远程管理显示终端,对服务器端进行配置,客户端根据设备通信中间件管理员的具体配置进行相应的显示[1]。远程登陆服务器端,需要管理员在远程下载管理服务器端的管理程序。
系统启动流程是系统在上电以后,产生Reset中断,CPU将程序指针首先指向Reset中断服务向量地址,执行Reset开机流程,然后执行bootloader程序。bootloader在完成CPU、内存等设备硬件基本初始化后,设置好bootloader与内核之间参数,通过跳转,程序的指针指向内核程序所在的地址处,接着Linux内核来引导系统完成剩下的工作。初始化系统后,内核加载根文件系统,并运行应用程序[2]。一般的嵌入式Linux系统平台可以参照系统启动的顺序,包括bootloader、Linux内核、根文件系统、驱动模块等部分来构建。
1.1 交叉编译环境搭建优化
所谓交叉编译就是在一个平台上生成可在其他平台上运行的程序。由于嵌入式开发程序不同于通用计算机开发程序,嵌入式开发板上不能提供足够的资源供开发人员编译和调试。通常,开发人员首先在通用计算机上编写目标代码;然后将目标代码编译成目标机上能够运行的指令格式二进制代码;再将目标程序下载到嵌入式开发板上运行,通过通用计算机和开发板外设查看相关的输出结果。
1.2 客户端的功能模块设计优化
根据油田设备通信中间件显示器联网系统客户端的需求分析,客户端软件需要实时显示中间件的运行状态,动态显示咨询信息,提供影音文件的播放。客户端软件在运行周期内需要维护全局的数据结构,数据结构中包括中间件显示器客户端的显示界面的整个对象,可以将此对象理解成为客户端的数据模型层,无论是通过远程更改界面还是通过获取的串口数据显示中间件运行信息,都是对当前中间件显示器对象进行维护。
1.3 通信功能模块设计优化
油田设备通信中间件显示器客户端应用程序模块结构由以下几部分组成:
(1)主模块。初始化全局数据结构,启动服务子线程、数据采集子线程和系统时钟子线程。
(2)服务模块。与远程服务器进行交互,监听远程服务器和现场设备的请求,获取配置信息;发送当前状态信息给远程服务器。
(3)文件解析和下载模块。对服务模块接收到的配置文件进行解析,并将解析结果传递给全局数据对象,下载配置文件中包含的文件。
根据需求分析的结果,管理员通过浏览器远程访问服务器端,对中间件显示器客户端进行管理和维护,这要求服务器端要有一定稳定性和安全性[3];同时,由于管理员的数量有限,服务器端不需要支持多用户并发事件的处理,所以服务器端的成本应该相对较低。依据以上分析,采用LAMP网站架构构建服务器端平台。
2.1 服务器端架构
LAMP是目前世界上最为流行的Web架构之一,包括Linux操作系统、Apache网络服务器、MySQL数据库和Python脚本语言。LAMPStack使用的产品均为开源的软件产品,而且非常多的商业应用都在使用这个Web架构,已经非常成熟。相对于J2EE架构来说,LAMP架构具有开发效率高、轻量级、网络资源丰富等优点;相对于.NET架构来说,LAMP架构具有价格低廉、性能更强、良好的通用性和跨平台性等优势。所以,使用LAMP架构无论在性能、质量还是价格上都是服务器端平台的首选架构。
2.2 平台构建过程优化
LAMP架构的搭建过程是首先安装CentOS操作系统,而后安装Apache服务器、MySQL数据库,再安装PHP运行环境。配置Apache服务器的详细设置,然后通过浏览器进行测试。一个基于模型的油田设备通信中间件由以下部分组成:
(1)状态集合S是集合Σ上的一个映射,Σ上必须包含一个有限子集合V,且V中包含所有的状态变量或动态转移函数。
(2)S上的一个非空子集Sinit称作初始状态集。
(3)S上的一个子集Sacc称作可接受状态集。
(4)操作集合Acts是Σ-V.中的项,Acts是可控集合Ctrl和可观测集合Obs的不相交并集。
(5)存在转移关系,δ⊆S×Acts×S。
若存在状态t,使得任意状态t和操作a之间存在关系(s,a,t)∈δ,则称M是确定的,记为δ(s,a)=t。在本文中所指的基于模型的油田设备通信中间件均为确定的。
服务器端是管理员管理中间件显示器客户端的接口,通过多台客户端连接同一台服务器,形成星形的拓扑结构。管理员通过浏览器访问服务器端,服务器端再和与之相连的客户端交互。
设计的专用网关的最终实现形式是一个可执行的应用程序,运行之后能够为接入它的用户提供数据业务[4-5]。现从应用程序的入口开始,以成功提供数据业务为结束,详细描述一个完整的业务实现流程。
(1)配置系统参数。专用网关放置在局域网中,使用内部IP地址,通过局域网网关连接到外网。因此,需要为专用网关配置相关的网络参数,如网卡名称、IP地址、子网掩码和SCTP端口号等;同时还需要配置数据库参数,如连接数据库的IP地址、端口号、数据库名称、用户名和密码等。
(2)初始化各个模块。由于移动性管理、GPRS移动性管理和会话管理三个模块的信息都在专用网关维护的用户信息中,所以只初始化与用户信息相关的参数即可。如配置可以允许的最大用户数、动态申请维护用户信息所需的内存空间和一些需要使用的全局变量等。初始化SCTP和ROUTE模块,完成专用网关与网络层数据的收发和路由工作,其实现技术为网络编程,过程基本固定。
(3)启动控制面过程。根据对专用网关协议栈的介绍可知,专用网关需要成功执行控制面过程后,才可以为用户建立用户面连接。因此,运行SCTP,开始侦听网络、建立连接和接收数据。
油田设备通信中间件服务器端程序包括前端和后端两部分组成,前端主要是为管理员提供服务,获取管理员的请求信息并将结果存储到数据库或直接传递给后端部分;后端主要是与客户端进行交互,维护每台与服务器端连接的设备的状态,并将前端的某些请求发送给客户端。客户端向服务器端请求资源,为服务器端提供管理接口;服务器端为客户端提供资源,向客户端发送配置请求。所以,油田设备通信中间件显示器客户端与服务器端之间是互为Client/Server式的结构。中间件显示器联网系统可作为替代现有油田设备通信中间件显示技术的联网解决方案。
[1]曹军威,万宇鑫,涂国煜,等.智能电网信息系统体系结构研究[J].计算机学报,2013(1):12-13.
[2]尤毅,刘东,于文鹏,等.主动配电网技术及其进展[J].电力系统自动化,2012(18):35-36.
[3]袁新喜,谈志远,陶维青.IEC61850标准在微电网中的应用探讨[J].电测与仪表,2012(7):39-40.
[4]张佳斌,杨欢,赵荣祥,等.微电网通信系统研究综述[J].华东电力,2011(10):67-68.
[5]周邺飞,徐石明.智能变电站数据中心初探[J].电力系统自动化,2011(18):89-90.
(栏目主持 关梅君)
10.3969/j.issn.1006-6896.2014.4.038
基金论文:河北省高等学校科学技术研究项目“基于本体的语义Web服务集成方法研究”(Z2012032);河北农业大学非生命学科和新兴学科科研发展项目“基于语义Web服务的系统集成方法研究”。