综合资讯 在线阅读 原文阅读 在线商城 下载专区 DATASHEET 技术论坛 商务频道

嵌入式系统  单片机  D S P  EDA/PLD  接口电路  存储技术  显示光电  电源技术
传感/控制  模拟技术  通信网络  无线通信  电测仪表  消费电子  汽车电子

所在的位置:首页技术文章通信网络正文
 
基于智能应用平台的适配器的设计
发布日期:2008-07-24 作者:孟凡博 刘进江 来源:微计算机信息

摘要:智能应用平台(IAP)有效解决了城市应急联动系统的系统集成问题,其中适配器为各城市应急子系统接入到IAP提供了适配转换桥梁。本文以Windows平台下IAP适配器的设计为例,从模块结构、内部消息机制到具体模块详细设计等方面阐述了IAP适配器设计及实现。该智能应用平台已成功应用到各地的城市应急联动系统建设中。

关键字:IAP、适配器、城市应急联动系统

引言

城市应急联动系统是一个庞大、复杂的综合系统,其中涉及到的子系统主要包括[1]:有线网络/呼叫中心系统、无线集群系统、视讯系统、大屏幕显示系统、交通流量监控系统、计算机通信网络系统、网管监控系统、数据库系统、接处警系统、地理信息系统、GPS定位系统、计算机辅助调度系统、移动指挥系统、首长指挥系统、安防系统、办公自动化系统等等。

应急联动要求整个系统快速、灵活、高效地运作,因此,必然要求这些子系统能够协同工作,目前虽然各个子系统的技术都已经比较成熟,但都自成体系,往往由于接口、架构的不统一使得这些本应紧密集成的子系统成为了一个个的“信息孤岛”,相互间的协调配合往往在两个系统之间单一进行,每个系统要维护多个接口,系统整合程度很低且存在瓶颈。各子系统间的信息整合基本上是基于点对点方式开发完成,没有统一的标准接口;对系统联动缺乏统一的控制机制,并且开放性差,难以随着应急联动业务要求的变化而灵活应对。

智能应用平台[2](Intelligent Application Platform,IAP)是以智能网技术为基础,结合计算机辅助决策,多种信息综合处理的平台。IAP平台就是为了解决前述的系统集成问题,作为粘合剂来连接系统内外各种业务相关的异构系统、应用以及数据源,从而满足各个子系统之间无缝共享和交换数据的需要。其中适配器为各城市应急子系统接入到IAP提供了适配转换桥梁。

1. 智能应用平台(IAP)

智能应用平台(IAP)完成后应用于城市应急联动系统中的理想结构应如图1所示,系统中各个功能子系统通过对应的适配器接入到智能应用平台(IAP)中,各子系统之间通过平台实现了客户请求与服务提供的关系,即一个子系统向平台注册并提供其自身实现的功能(服务提供),同时它也可以向平台查询其需要的功能,并借助平台使用该功能(客户请求);这样的客户/服务关系由IAP来统一管理,IAP对建立在其之上的各个系统来说是透明的。通过这样统一的系统交换集成平台,以取代原有系统间多对多的网状联接。

图1  城市应急系统IAP示意图

2. 基于IAP的适配器设计[3]

IAP适配器位于结构模型的接入层,它是各城市应急子系统与平台进行交互的桥梁,实现各个子系统与IAP平台之间共享和交换数据。目前连接到IAP的各子系统大部分以微软的视窗操作系统为工作平台,因此IAP适配器也是基于Windows平台下的。

2.1  IAP适配器设计方案概述

Windows下的适配器实现为ActiveX控件的方式,适配器在系统中所处的位置如图2所示:

图2  IAP适配器示意图

适配器嵌入到各子系统应用中,提供调用方法,代理各子系统应用向IAP平台发送消息,同时在收到消息的时候,通过触发事件,将消息传递给各子系统应用。在IAP平台侧以接入服务的形式供适配器连接,适配器与IAP平台之间的消息采用XML规范实现,便于灵活扩展。因此适配器必须实现XML文档的解析和XML文档的生成。适配器与IAP平台的接入服务间采用Socket连接,以后可以考虑采用SOAP(Simple Object Access Protocal,简单对象接受协议),这是因为由于消息已经定义为XML方式,可以比较方便地向SOAP过渡。

2.2  IAP适配器模块结构

适配器内部可分为三个模块,分别为通讯模块、消息转换模块、子系统接口模块,其结构如图3所示:

图3  IAP适配器内部结构图

各模块功能叙述如下:

通讯模块:处理与IAP平台接入服务之间的底层通讯,数据包的收发。通讯层包含收发一对线程,确保通讯层不成为性能瓶颈。通讯层与接入服务间建立并维护一条Socket连接,适配器作为客户端。

消息转换模块:包含一个工作线程,通讯模块完成消息包的接收后,即把包发往消息转换模块的工作线程,XML消息的解析是在工作线程中完成的。同时也处理将数据转换为XML格式数据包发给通讯模块。

子系统接口模块:接收消息转换模块发来解析后的消息,并触发ActiveX事件。同时,接收各子系统应用对其接口方法的调用,并将有关数据发送给消息转换模块处理。

2.3  适配器消息处理机制

适配器的消息处理分为从IAP接收及向IAP发送两个方向。从IAP接收请求的消息处理流程如图4所示:

图4  接收IAP消息处理流程图

A)       通讯层收到业务请求消息,完成消息的接收后,将其发送到业务层的工作线程;

B)       工作线程将消息中的XML字串解析后,得到命令码,根据不同的命令码调用不同的处理函数,对XML字串进行进一步解析;

C)       完成XML的解析后,将消息中的各参数提取出来,如果带有应用数据的附件,则将提取附件。将消息打包成内部数据结构,用窗口消息的方式发送给接口层的控件窗口;

D)       控件窗口接收到业务层发来的消息,从消息中解出触发ActiveX事件所需要的参数,如果需要生成VARIANT则进行参数的打包,然后触发事件,将业务调用请求传递给各子系统应用;

向IAP发送请求的消息处理流程则与从IAP接收消息流程相反,叙述如下:

a)       各子系统应用通过调用ActiveX控件的方法,将业务请求的参数传递给适配器;

b)       适配器接口层将调用参数打包成XML消息,如果带有终端应用数据,则将其作为附件打包;

c)       调用通讯层的网络发送接口,通过通讯层的发送线程将消息发送给IAP的接入服务。

向IAP发送请求消息流程如图5所示:

图5  向IAP发送消息处理流程图

2.4  适配器各模块设计

(1)通讯模块设计

针对用于Windows平台的ActiveX控件,考虑采用Windows下的异步Socket机制来实现,Socket事件挂接一个窗口句柄,该窗口句柄在接收线程中创建,因此共享该线程的消息循环。对于Socket的写消息,在接收线程收到后转发发送线程处理,业务层对Socket的写操作也发送到发送线程处理。

以上机制封装在基类CSocketBase中,同时它还封装了作为服务端进行监听的机制,在它的派生类中根据是作为客户端或服务端,初始化为不同的方式。

(2)消息转换模块设计

消息转换模块以一个工作线程类CworkThread来实现,类中考虑线程池机制,即可以启动多个工作线程。工作线程处理IAP平台发来的消息中XML部分的解析,同时对终端应用的调用,生成相应的XML文档,并发送到通讯层。工作线程从收到的XML子串中解析出命令字,对不同的命令,调用不同的处理函数来进行处理;完成XML字串的解析后,将其转换为内部格式,发送到接口层。生成XML文档处理的流程与上述方式相反。XML转换的具体实现采用开放源码的xerces库,并对其做二次封装以方便调用。

(3)子系统接口模块设计

子系统接口模块放在整个适配器的主线程中,包含控件窗口的消息循环。各子系统应用将业务请求以窗口消息的形式发送给控件窗口,由窗口类中映射的消息进行处理,将请求传递给转换模块。反之,接口模块在收到消息后,根据不同的消息触发不同的ActiveX事件,从而将响应传递给各子系统应用处理。接口层必须触发的事件包括:

Ø         与IAP平台接入服务Socket连接建立事件;

Ø         向IAP注册并收到注册应答消息事件;

Ø         与平台间的链路断开后事件;

Ø         收到平台发送的业务请求事件(应支持应用数据以字符串的方式和二进制的方式传递);

Ø         收到平台发送的业务请求应答事件(应支持应用数据以字符串的方式和二进制的方式传递);

同时,各子系统应用通过调用适配器实现的ActiveX方法与平台交互,方法包括:

ü         初始化适配器方法;

ü         建立与IAP平台间的Socket连接方法;

ü         断开与平台的网络连接方法;

ü         向平台注册方法;

ü         从平台中注销方法;

ü         发起业务请求方法;

ü         收到业务请求并处理后,发送处理结果方法;

考虑到ActiveX控件需要跨语言环境使用,例如需要在Web页面中使用,方法与事件传递中需要传递数组的情况均采用VARIANT参数来传递,为了从VARIANT中解出数据,对此操作进行了封装。

3. 总结

本文设计的基于智能应用平台的适配器依托企业研发环境,很快地进入实用阶段,并很快体现出较好的实用价值。四川省开县应急联动系统在智能应用平台使用前每日能实现的话务量小于1000个,应用该平台后日话务量可到5000多个,大大提高了整体工作性能。

本文作者创新点:

本文在Windows平台下设计了IAP适配器,基于此适配器的智能应用平台(IAP)可以有效解决城市应急联动系统的系统集成问题,并且此适配器已成功应用到各地的城市应急联动系统建设中。

参考文献:

[1] 王合兴,唐任伍等.大城市应急系统技术设施构建[J]. 中国安全生产科学技术,2005.12

[2] 中兴通讯股份有限公司. 中兴 ZXCERS应急联动系统解决方案[J].中兴通讯技术,2006.3

[3] 朱腾,郑建立. 基于USB的CAN总线适配器的设计[J].微计算机信息,2005(21)


 (全文结束)

信息发布:   转引自: 【 】 【打印】 【关闭
 相 关 文 章
谢谢,现在还没有相关信息...
关于我们 ┋ 友情链接


深圳市福田区海滨广场恒福花园恒华阁11F
电话:0755-88305872 传真:0755-88305880
Copyright©2005-2007 无忧电子开发网版权所有

粤ICP备05064233号