一种基于统一监控的数据交换平台的设计与实现
2012-10-20黄爱国
黄爱国,周 云
0 引言
随着政府信息化建设的逐步推进,信息系统内部和外部的信息交互也将越来越密切。目前我国电子政务系统已经从早期政府办公自动化系统向外延伸,从内部办公延伸到对外服务,从内部网完全贯通到电子政务系统3个网络:政府机关内部的办公业务网(政务内网),中央和地方政府及部门的办公业务资源网(政务外网)、以因特网为依托的的政府公众信息网(即公网)[1]。由于时间跨度较长,采用的交换技术也不尽相同,并且这类信息交换往往都是分散在各个不同的信息系统中,缺乏一个统一的管理,常常需要耗费大量的人力去管理和维护,处理交换业务的失败与恢复费时费力,更为严重的是对数据的进出缺乏一个全面的、整体的监管,导致数据的非法泄露等现象,为此而造成严重的影响。
1 民政部门的电子政务平台
民政作为一个直接面向社会的政府部门,其业务涉及领域广泛,与外部信息交互频繁。一般来说,由于信息系统建设跨度很长,使用的技术也各不相同,因此对应的数据交换实现也五花八门,这些交换常常分散在不同的项目中,维护和管理人员在进行日常管理维护时既耗时耗力不说,经常还会挂一漏万,而且信息管理部门的人员也缺乏一个能快速全面了解数据交换最新情况的管理工具。大量自成体系的政务系统,在很大程度上降低了信息交换的自动化和网络化的工作效率[2]。
因此,如何管理好这些数据交换任务,使之能够方便地进行管理、维护、监控,在民政部门看来,已经与数据交换工作本身显得同等重要。然而由于现有市面上成熟的数据交换软件虽然有统一的管理工具,以及基于企业标准的数据接口。但是,这些数据交换系统的开发,一般均采用组件化、模块化的软件开发方式,系统各模块间的耦合程度非常高,致使数据交换系统的维护和修改比较困难[3]。面向民政这样已经有成熟系统且历史跨度较大的情况下,是难以全部按照新的标准接口规范,进行重新改造来适应新的交换软件的。
为此,本文通过对民政各类数据交换需求和系统现状进行了梳理和分析,设计了一套适合民政业务特点的统一监控的数据交换平台。通过数据交换平台的建设,制定了民政相关数据标准规范,实现了跨部门数据共享和业务协同,整合了民政原有数据交换系统,实现了统一管理、统一监控和统一调度,同时为其他交换系统准备了接口;并进一步提供了各类业务信息实时查询要求功能及各类业务应用系统拓展。
2 业务需求分析
2.1 数据交换现状
民政的业务领域很广,包括救助、救灾、婚姻、养老、居民经济状况核对(收入核对)业务等十几类领域,除此以外,还有一些信息化综合业务,比如GIS系统、网上办事、办公自动化、分析决策业务等等。其中关键且数据交换量比较大的业务有:救助业务、婚姻业务、收入核对业务、以及统计分析数据库和业务数据库同步等。
2.2 交换场景分析
根据交换场景的不同,民政的数据交换场景主要分为:民政内外网数据的同步及监控、GIS/统计分析数据的同步监控、下级部门数据导出、同外部委办单位数据交换、以及临时突发需求等。
实现方式也是多种多样,有文件、有数据流,有sql,有webservice等等,交换频率也不尽相同。
2.3 数据交换平台的建设要求
通过对以上实际情况的了解,总结了业务对交换平台信息系统的建设要求,主要包括:
(1)具备统一完善的监控管理机制:必须将所有的交换业务统一纳入到交换监控管理平台上来,这是一个最核心的要求。
(2)提供完善的日志查询统计:为了便于管理和事后跟踪,所有业务交换的同时必须提供完善的日志信息,供查询分析。
(3)平台适应灵活的业务需求:平台应提供良好的架构,以适应灵活的业务需求,比如适合二次开发,可以对抽取、交换规则进行定义;对于数据变量可以方便转换、写库等等
(4)平台的可管理性、可配置:为了适应灵活的变化需求,平台可以设置成可管理、可配置的,比如在新增、修改一些普通的交换项目时,可以简单配置即可。
(5)提供可靠的交换质量保证:具备失败重传、恢复机制。
(6)提供并发流量控制排队机制:确保在大数据量交换时可以稳定、快速的完成事务。
3 系统设计概述
3.1 技术路线设计和关键技术实现
为了达到业务对系统的建设要求,选择一个能够提供一个先进、可靠的应用系统技术体系,保证系统的顺利建设和稳定运行是非常重要的,在本项目中采用了:
(1)基于SOA的体系架构设计。面向服务的体系结构(Service-Oriented Architecture, SOA)是一个组件模型,它将应用程序中的不同功能单位称为服务,并通过对这些服务之间定义良好的接口而将其联系起来。接口是采用中立的方式进行定义,也就是说它独立于实现服务的硬件平台、操作系统和编程语言,这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交互[3]。由于采用了这种架构,加上可以支持除传统web services[4-5],HTTP,socket接口模式外,还支持数据库接口的模式,这样就能满足民政业务的各种实际需求。
(2)基于统一消息元标准、多样化接口实现设计。经过对业务的详细分析,设计了一套统一的消息元标准,该消息元包含了常用的消息指令,如运行状态消息、控制命令信息、异常突发消息等等。同时针对多样化的交换业务,封装并实现了多种嵌入方式,确保各类业务需求都能满足。这是本系统的设计灵魂,通过该设计,既满足了对信息交换的统一监控和管理,又满足了民政复杂多样的交换方式需求,也是目前市面其他通用软件所无法提供的。
(3)可扩展的适配层设计。需要交换的数据来源是异构的,由于采用了不同的体系,不同的厂商软件,加上有的投产时间很久,无法用现有的标准接口来一一满足。通过在交换系统之间增加适配器层后,有利于方便的与业务系统接入,同时也有助于系统监控中心的统一监控管理。适配器采用组件化设计,主要由数据源组件、中间处理组件、和数据发送接收组件构成,实现数据的提取、转换、传输、监控记录等功能,并且该适配器可以根据标准自行扩展增加,以适应未来需求。
3.2 系统总体设计与实现
民政数据交换业务系统的总体结构,如图1所示:
图1 系统的总体结构
针对上述系统总体结构图,对各项任务的设计说明如下:
3.3 数据交换中心系统
数据交换中心系统是本系统的建设核心,它主要通过一系列的组件和接口以服务的形式提供给各个系统和维护人员。其中包括用于底层的一些服务,如(1)桥接服务:主要是指由数据交换中心系统通过 webService的方式,来远程调用或控制数据交换相关业务系统的特定业务交换功能。(2)监控服务:实现对一个完整的数据交换过程的各个环节的统一监控。(3)传输服务:在一定的传输协议的基础上(FTP/SMTP/HTTP),将交换数据或监控结果数据在数据源业务系统与数据交换中心之间传输。(4)加载服务:交换数据从源业务系统传输到数据交换中心之后,通过配置的数据整合规则,先对数据进行校验或改造,然后,存入数据交换中心的数据库中。(5)任务服务:通过任务的方式提供一系列完整的功能。
另外包含一些面向应用的功能,包括(1)用户管理;(2)交换接入点管理:(3)服务配置管理;(4)监视控制平台等等。
3.4 关键数据指标描述
以下对交换平台比较重要的几个数据类别的指标进行了描述:
(1)交换接入点信息元
关键指标包括:数据指标名称、接入点 ID、接入点名称、接入点IP地址、创建者、创建时间、更新时间、是否有效、交换用户、接入点类型等。
(2)接口适配器信息元
关键指标包括:数据指标名称、适配器 ID、适配器名称、接入点Id、适配器类型、适配器描述、创建者、创建时间、更新时间、是否有效。
(3)交换服务配置信息元
关键指标包括:数据指标名称、任务 ID、服务名称、服务描述、服务类型、创建者、创建时间、更新时间、服务顺序号、超时间隔、最大重试次数。其中服务类型有数据采集、数据传输、数据监控等。
(3)交换任务信息元
关键指标包括:数据指标名称、任务 ID、任务名称、启动方式、协议编号、创建者、创建时间、更新时间,当前状态等。
3.5 系统主要功能概述
虽然系统的内部实现比较复杂,但最终展现给用户使用的功能很简单,主要包括管理功能和监控功能。其中管理功包括即交换系统的接入配置管理、接口适配器管理,用于增加、修改、删除一个交换任务,或者扩充一个新的接口适配器。监控功能包括日常的交换监控,以及管理日志查询统计等。此外还包含了系统所必须的用户权限管理等等,这里不再详述。以下仅对交换监控功能做一描述。
通过交换监控功能可以查看数据交换各类监控信息,包含:交换流程的名称、交换启动方式、上次交换时间、交换流程状态(正常/异常);如果交换流程状态异常,可以看到异常信息,包含异常描述;异常代码、可能原因、可能解决办法等。
管理监控中心实现对所有数据交换服务的创建、维护和监控,同时还负责所有交换接入端接入身份的认证和安全管理[6]。数据交换平台管理员使用该功能监控所有的交换流程任务,查看数据交换业务的执行情况。
4 典型场景部署示例
以下列举了几类典型的场景和部署方式示例。
(1)内部核心业务系统的实时交换
此场景常用于业务系统甲需要业务系统乙的某些特殊数据,比如收入核对实时查询婚姻状况,其接入方式,如图2所示:
图2 内部核心业务系统的实时交换
遵循规范:为了方便交换业务系统的接入,交换系统为每一个需要加入监控的交换业务提供统一的模板实现类,该模板的功能是接收交换请求,调用实际的交换业务,将交换结果(成功,失败等)递交到交换中心,之后再将交换结果和响应数据返回给交换服务调用者。
需要监控的交换业务只需要实现调用实际交换业务这一个方法接口,按照接口的要求返回交换结果即可,原来的交换服务调用者的接口(Client 端)可以保持不变。
(2)内部业务系统与外部部门数据交换
此场景常用于核心业务系统甲与委办业务系统乙之间的数据交换,其接入方式,如图3所示:
图3 内部业务系统与外部部门数据交换
遵循规范:该方式通过统一交换监控平台实现定期自动数据交换,对端可以是符合交换标准的webservice服务,也可以是约定的ftp服务甚至http web服务等多种方式,内部系统甲则是标准的webservice服务。
5 结束语
本文主要从民政数据交换的实际现状分析出发,设计并实现了一套以集中统一监控管理为核心、灵活多变的接入方式为基础的数据交换平台,通过利用基于J2EE的基础框架体系,构建了一个包含不同情况和支持多层次服务的统一监控数据交换平台,同时使用SOA组件设计理念,结合自定义多样化适配器的支持,使得系统具备更好的集成性和灵活性。本文所提出的可统一监控的交换平台已成功应用于本人所在单位的生产系统中,经过了实际运行实践表明,具有很好的稳定性和灵活性,具有很好的应用和推广价值。
[1]向真,吴秋云,陈荤.电子政务三网模式下的数据交换[J].计算机工程与科学,2004,26(8):11-13
[2]何国辉.基于 XML的电子政务系统设计[J].微计算机信息,2006,22(3):151-154
[3]梅立军,付小龙,刘启新,沈锡臣.基于 SOA的数据交换平台研究与实现[J].计算机工程与设计,2006,27(19)
[4]W3C Working Group [OL]Web services architecture 2004
[5]HEATHER K; IBM Software Group [OL]Web services conceptual architecture 2001
[6]徐璨,苏厚勤.一种信息资源集成平台的研究与实践[J].计算机应用与软件,2012,29(4):196