APP下载

基于XML实现的监狱安防系统的数据集成

2014-10-29胡月明王怀杰

电子技术与软件工程 2014年16期
关键词:数据集成中间件

胡月明 王怀杰

摘 要

随着现代监狱对数字化安防管理系统要求的不断提高,对于安防子系统间的数据集成越来越迫切。为此提出了基于XML数据交换来解决安防子系统间异构数据源的问题。本文以达到系统集成化为目的,设计一个基于XML的监狱安防集成管理系统,通过对基于XML的网络异构数据库中间件的设计与应用,从而达到数据集成,进而解决安防子系统间的数据共享,以此充分体现出系统集成化的优势, 提高监狱管理的质量和水平。

【关键词】监狱安防系统 中间件 XML 数据集成

1 引言

监狱作为关押服刑人员的重地,不仅对社会治安负有重大责任,同时还肩负着教化、引导服刑人员等职责。相对于其他安防行业,监狱安防系统更为复杂。在以视频监控系统为主的同时,还涵盖了对讲、广播、门禁、报警、高压电网、RFID等多个子系统。由于各子系统通常情况下都是由不同的厂家生产开发,在设计系统和数据库时,未考虑到系统数据的共享、分发等问题,因此,不同系统间的数据交换和共享相当困难,从而影响了数据的一致性和正确性,使得数据的使用和管理效率低下,且失去了统一。

针对上述问题,要想解决监狱安防系统的集成,必须解决各个子系统间的数据集成。XML(extensible markup language,可扩展标记语言)作为一种具有结构性的标记语言,由于使用广泛、语义性强、交互性好、自描述、平台无关、便于扩展等特点,非常适合不同应用系统间的数据集成。因此,笔者在系统设计时数据交换的格式采用XML,来增强各个子系统间的交互能力。

XML是W3C(World Wide Web Consortium,万维网联盟)制定的用于描述数据文档中数据的组织和安排结构的语言。它可以用来标记和定义数据类型,允许用户对自己的标记语言进行定义,实现动态内容生成,且便于传输数据。XML文档可以通过定义XSD(XML Schema Definition,可扩展标记语言架构)来约定文档的组成规则,可用来对文档进行验证。

2 系统数据集成总体架构

监狱安防集成系统数据集成架构分3层,分别为应用层、中间件层、数据层,如图1所示。

各层基本功能如下:

(1)应用层。监狱安防综合管理平台,集成管理子系统间的通信和联动,按系统需求访问子系统的数据信息。该层需要有一组XML接口,用于XML文档的生成与解析。

(2)中间件层。XML数据集成中间件,具有公共数据模型存储库,实现XML和数据的相互转换功能。它主要包含包装器、请求处理、结果处理和公共数据模型。当应用层通过XML封装发出数据请求,中间件XML请求处理模块对比公共数据模型,准确的分配XML子查询到相应的包装器,包装器将XML指令转换成SQL数据库查询指令,并通过JDBC(Java Database Connectivity,Java数据库连接)提供的一系列接口和方法访问不同的数据库系统,接下来通过标准的SQL语言对数据库中的数据进行存取操作。包装器将数据库返回的结果封装成XML文档传给XML结果处理模块。XML结果处理模块将各个包装器传来的结果进行整合发送给综合管理平台,最后通过XML解析将数据提取出来供管理平台使用。

(3)数据层。包含各个安防子系统间的数据库,供综合管理平台进行访问。

3 数据集成中间件的设计与实现

3.1 公共数据模型

在系统初始化时,数据库需向中间件公共数据模块进行注册,提供全局视图、局部视图到各数据源的映射,保存异构数据源的内容和查询能力的描述信息。能否构建一个标准的公共模型关系到整个中间件的运行效率。其主要工作是关系数据库中数据模式的提取和关系模式的转换。系统可以利用JAVA API 相关函数读取数据库的元数据来获取数据库模式。本方案采取XML Schema模式作为XML文档到数据库关系模式的转换,相对比DTD(Document Type Definition,文档类型定义)其表达性更强,适应性更广。

根据本方案的需求,关系数据库的输出全局模式中主要包含两个部分:一部分是各个异构数据库的访问权限信息,包括数据源类型、ID、IP地址、端口号、用户名和密码等,其异构数据库资源存储XML Schema 文档定义模式如图2所示。另一部分主要包含数据库中共享的库信息、表信息、共享权限、字段数据类型及字段名等。

关系数据库由一系列表组成,表与表之间通过主键或外键的约束相互关联,由此每个异构数据库可以单独生成一个XML Schema。以RFID监控子系统的3个表为例,即犯人信息资料表(Criminal)、干警资料表(Police)、监控相关资料表(Monitor)。基本结构如下:

Criminal(服刑编号,姓名,性别,所犯罪行,入狱时间,刑期,身份证号码,籍贯)

Police(警牌编号,姓名,性别,密码)

Monitor(服刑编号,姓名,需求位,标志位)

其中3个表中第一个属性为主键,Monitor中外键服刑编号参照于Criminal表中服刑编号。

表结构转换为XML Schema文件流程如下:

(1)定义根元素,存放数据库所有结构信息。

(2)创建复合型元素complexType,对应数据库中的每张表,作为CriminalMonitor的子元素。

(3)数据表的列(字段)转换为表的子元素即字段元素。字段元素包含两个说明字段类型和字段约束。字段类型可以是简单类型或者是用户自定义类型。在字段约束中,存在着空值、缺省值和检查约束等。下面实现对Criminal表中的sentence_ no列的转换描述。要求是非空、字符类型、缺省值为”0000000001”、长度为10且每个字符为0-1的数字。

(4)主键约束转换,表的主键约束转换为Schema中的key约束。key名字与主键名相同,同时具有两个属性selector选择表元素、field选择相应的主键字段。下面例子描述Criminal的主键约束转换(c_m表示命名空间)。

(5)外键约束转换,。关系数据库表之间的联系是通过外键来约束的,在模式转换中定义为keyref约束。keyref约束必须参照key或unique约束。对上述结构,表Monitor的外键FK_sentence_no表示Monitor.sentence_no参照于Criminal.sentence。

3.2 XML请求的分解与XML结果的合并

中间件的核心工作就是将XML请求分解到各个数据库对应的包装器,并将请求结果合并返回给用户。XML请求按如下流程分解:

(1)在XML请求到达,运用JDOM分析文档通过对比全局模式,找到对应的数据源。

(2)根据全局模式到局部模式的映射,将查询分解为多个子查询。

(3)查找的数据表有多个,则查询任务分解的结果与之一一对应。

(4)在子查询文档中依次遍历各个元素,对表列元素进行相应转换。

(5)如果涉及到多个数据库的的关联查询,则需重复执行上述过程。

XML结果的合并,流程如下:

(1)从查询处理模块的数据缓存中取出子查询返回的结果。

(2)使用JDOM中的getRootElement()得到多个结果根元素。

(3)由上一步获得的根元素,调用GetChildren()逐一获取每一个子元素及其属性等内容。

(4)按照XML Schema生成规则合并成XML文件。并返回给用户。

4 结束语

XML以其鲜明的优势被得到广泛的使用,它在监狱安防系统中的运用也在逐步的探索与研究中。从数据集成的方向去解决安防子系统之间的数据共享与联动,有效的提高了监狱安防管理的效率,节省了大量人力物力,而且使得监狱工作更科学、更安全。保障了监狱有效地履行其刑法执行职能,促进监狱安防系统的实施与发展,具有良好的推广前景。

参考文献

[1]曹阳,姚建国,张慎明,黄海峰.XML技术在电网自动化系统中的应用探讨[J].电力系统自动化,2002,26(21).

[2]王伟平,陈松桥,陈建二.基于XML的Web异构数据库操作模型的研究[J].计算机工程与应用,2002(07).

[3]杨剑,唐慧佳,孙林夫,王胜银.基于XML的异构数据交换系统的研究与实现[J].计算机工程,2005,31(19).

[4]张冠军.基于XML异构系统间的数据交换技术[J]。现代电子,2013,36(02).

[5]魏建香,罗军舟.一个基于XML数据交换系统的研究与设计[J].计算机工程与应用,2004(36):122-124.

作者简介

胡月明(1990-),女,湖南省常德市人,现在南华大学计算机科学与技术学院硕士生在读。主研方向为智能与智能化系统。

王怀杰,男,现为南华大学计算机科学与技术学院教授,硕士生导师。

作者单位

南华大学计算机科学与技术学院 湖南省衡阳市 421001endprint

(3)数据表的列(字段)转换为表的子元素即字段元素。字段元素包含两个说明字段类型和字段约束。字段类型可以是简单类型或者是用户自定义类型。在字段约束中,存在着空值、缺省值和检查约束等。下面实现对Criminal表中的sentence_ no列的转换描述。要求是非空、字符类型、缺省值为”0000000001”、长度为10且每个字符为0-1的数字。

(4)主键约束转换,表的主键约束转换为Schema中的key约束。key名字与主键名相同,同时具有两个属性selector选择表元素、field选择相应的主键字段。下面例子描述Criminal的主键约束转换(c_m表示命名空间)。

(5)外键约束转换,。关系数据库表之间的联系是通过外键来约束的,在模式转换中定义为keyref约束。keyref约束必须参照key或unique约束。对上述结构,表Monitor的外键FK_sentence_no表示Monitor.sentence_no参照于Criminal.sentence。

3.2 XML请求的分解与XML结果的合并

中间件的核心工作就是将XML请求分解到各个数据库对应的包装器,并将请求结果合并返回给用户。XML请求按如下流程分解:

(1)在XML请求到达,运用JDOM分析文档通过对比全局模式,找到对应的数据源。

(2)根据全局模式到局部模式的映射,将查询分解为多个子查询。

(3)查找的数据表有多个,则查询任务分解的结果与之一一对应。

(4)在子查询文档中依次遍历各个元素,对表列元素进行相应转换。

(5)如果涉及到多个数据库的的关联查询,则需重复执行上述过程。

XML结果的合并,流程如下:

(1)从查询处理模块的数据缓存中取出子查询返回的结果。

(2)使用JDOM中的getRootElement()得到多个结果根元素。

(3)由上一步获得的根元素,调用GetChildren()逐一获取每一个子元素及其属性等内容。

(4)按照XML Schema生成规则合并成XML文件。并返回给用户。

4 结束语

XML以其鲜明的优势被得到广泛的使用,它在监狱安防系统中的运用也在逐步的探索与研究中。从数据集成的方向去解决安防子系统之间的数据共享与联动,有效的提高了监狱安防管理的效率,节省了大量人力物力,而且使得监狱工作更科学、更安全。保障了监狱有效地履行其刑法执行职能,促进监狱安防系统的实施与发展,具有良好的推广前景。

参考文献

[1]曹阳,姚建国,张慎明,黄海峰.XML技术在电网自动化系统中的应用探讨[J].电力系统自动化,2002,26(21).

[2]王伟平,陈松桥,陈建二.基于XML的Web异构数据库操作模型的研究[J].计算机工程与应用,2002(07).

[3]杨剑,唐慧佳,孙林夫,王胜银.基于XML的异构数据交换系统的研究与实现[J].计算机工程,2005,31(19).

[4]张冠军.基于XML异构系统间的数据交换技术[J]。现代电子,2013,36(02).

[5]魏建香,罗军舟.一个基于XML数据交换系统的研究与设计[J].计算机工程与应用,2004(36):122-124.

作者简介

胡月明(1990-),女,湖南省常德市人,现在南华大学计算机科学与技术学院硕士生在读。主研方向为智能与智能化系统。

王怀杰,男,现为南华大学计算机科学与技术学院教授,硕士生导师。

作者单位

南华大学计算机科学与技术学院 湖南省衡阳市 421001endprint

(3)数据表的列(字段)转换为表的子元素即字段元素。字段元素包含两个说明字段类型和字段约束。字段类型可以是简单类型或者是用户自定义类型。在字段约束中,存在着空值、缺省值和检查约束等。下面实现对Criminal表中的sentence_ no列的转换描述。要求是非空、字符类型、缺省值为”0000000001”、长度为10且每个字符为0-1的数字。

(4)主键约束转换,表的主键约束转换为Schema中的key约束。key名字与主键名相同,同时具有两个属性selector选择表元素、field选择相应的主键字段。下面例子描述Criminal的主键约束转换(c_m表示命名空间)。

(5)外键约束转换,。关系数据库表之间的联系是通过外键来约束的,在模式转换中定义为keyref约束。keyref约束必须参照key或unique约束。对上述结构,表Monitor的外键FK_sentence_no表示Monitor.sentence_no参照于Criminal.sentence。

3.2 XML请求的分解与XML结果的合并

中间件的核心工作就是将XML请求分解到各个数据库对应的包装器,并将请求结果合并返回给用户。XML请求按如下流程分解:

(1)在XML请求到达,运用JDOM分析文档通过对比全局模式,找到对应的数据源。

(2)根据全局模式到局部模式的映射,将查询分解为多个子查询。

(3)查找的数据表有多个,则查询任务分解的结果与之一一对应。

(4)在子查询文档中依次遍历各个元素,对表列元素进行相应转换。

(5)如果涉及到多个数据库的的关联查询,则需重复执行上述过程。

XML结果的合并,流程如下:

(1)从查询处理模块的数据缓存中取出子查询返回的结果。

(2)使用JDOM中的getRootElement()得到多个结果根元素。

(3)由上一步获得的根元素,调用GetChildren()逐一获取每一个子元素及其属性等内容。

(4)按照XML Schema生成规则合并成XML文件。并返回给用户。

4 结束语

XML以其鲜明的优势被得到广泛的使用,它在监狱安防系统中的运用也在逐步的探索与研究中。从数据集成的方向去解决安防子系统之间的数据共享与联动,有效的提高了监狱安防管理的效率,节省了大量人力物力,而且使得监狱工作更科学、更安全。保障了监狱有效地履行其刑法执行职能,促进监狱安防系统的实施与发展,具有良好的推广前景。

参考文献

[1]曹阳,姚建国,张慎明,黄海峰.XML技术在电网自动化系统中的应用探讨[J].电力系统自动化,2002,26(21).

[2]王伟平,陈松桥,陈建二.基于XML的Web异构数据库操作模型的研究[J].计算机工程与应用,2002(07).

[3]杨剑,唐慧佳,孙林夫,王胜银.基于XML的异构数据交换系统的研究与实现[J].计算机工程,2005,31(19).

[4]张冠军.基于XML异构系统间的数据交换技术[J]。现代电子,2013,36(02).

[5]魏建香,罗军舟.一个基于XML数据交换系统的研究与设计[J].计算机工程与应用,2004(36):122-124.

作者简介

胡月明(1990-),女,湖南省常德市人,现在南华大学计算机科学与技术学院硕士生在读。主研方向为智能与智能化系统。

王怀杰,男,现为南华大学计算机科学与技术学院教授,硕士生导师。

作者单位

南华大学计算机科学与技术学院 湖南省衡阳市 421001endprint

猜你喜欢

数据集成中间件
RFID中间件技术及其应用研究
基于VanConnect中间件的设计与开发
基于数据集成的水上项目国家队数据库网络管理平台的设计与开发
中间件在高速公路领域的应用
一种支持智能环境构建的中间件