基于XML格式的数据转换技术的设计与应用

来源 :电子世界 | 被引量 : 0次 | 上传用户:jo0909
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】针对煤炭集团公司建设“一站式”综合信息管理平台过程中,各个不同业务系统中相关联的数据实体,由于表示方法、业务实体、业务系统采用的技术以及存储数据库的类型等的不同,导致大量异构数据需要转换。本文通过提出一种基于XML格式的数据转换方法,根据目标业务实体的复杂结构和目标数据实体的数据生成规则,把复杂的数据转换过程分解为一个或多个简单的数据转换单元,大大提高了数据转换的效率和准确性,具有较和高的实际应用价值。
  【关键词】XML;数据转换;业务实体;映射单元;信息平台;异构数据
  Abstract:According to the process of building“Coal Group Company one-stop”integrated information management platform,the data entities related to various business systems,because therepresentation,the business entity,business system adopts the technology of the database and the storage type is different,resulting in a large number of heterogeneous data conversion.This paper presents a method of converting XML format based on the data,according to the complex structure and the target dataentity business entity data generation rules,to convert thecomplicated process of data into one or more simple dataconversion unit,which greatly improves the efficiency and accuracy of the data transfer,and has higher practical applicationvalue.
  Key words:XML;Data Conversion;Business entity;Mapping unit;Information platform;Isomerous data
  1.引言
  随着煤炭行业信息化的发展,通过集成的业务系统推进财务业务一体化,建立包含人、财、物、生产、采购、物资、设备管理高度集成的“一站式”综合信息管理平台,在不影响各业务系统正常运行的前提下,打破各业务系统信息数据的壁垒,完成系统的集成整合,通过对各系统的关键数据进行提取、数据的挖掘和分析,为领导决策提供信息支撑,实现各类用户一次登录系统按需享用资源的综合信息平台,成为各大煤炭集团公司综合信息化管理平台建设的一种趋势。煤炭企业在信息化建设的过程中,在不同的时期,基于不同的需求,逐步搭建和积累了多个信息系统。这些信息系统建设满足单个部门业务的需求,承建厂家采用的技术也不尽相同,因而在搭建“一站式”综合信息管理平台过程中,涉及到大量的异构数据的转换。基于上述情况,本文提出一种基于XML格式的数据转换方法,通过这种技术方法,根据目标业务实体的复杂结构和目标数据实体的数据生成规则,把复杂的数据转换过程分解为一个或多个简单的数据转换单元,解决异构系统中数据中的转换问题。
  2.XML技术
  XML(Extensible Markup Language,可扩展标准语言)是SGML(Standard Generalized Markup Lanuage,标准通用标记语言)的子集,其目标是允许普通的SGML在web上以目前HTML(Hypertext Markup Language)的方式被服务、接收和处理。XML被设计成易于实现,且可在SGML和HTML之间互相操作[1]。
  XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。这些标识必须根据某些通用的原理来创建,XML标记描述的是稳定内容的结构和含义。它具有:可扩展性、结构性、平台独立性的优点[2]。基于这些优点,本文将各个业务平台中的数据库数据转换成统一的XML格式,再将XML格式转换成最终的数据库。
  3.数据转换
  本文介绍的基于XML格式的数据转换,基本原则是根据目标业务实体的复杂结构和目标数据实体的数据生成规则[3],把复杂的数据转换过程分解为一个或多个简单的数据转换单元。这种细微的数据转换单元在本文中称为映射单元。这种数据转换方法,其内容主要包括映射单元以及映射单元的分解方法。
  3.1 业务实体
  业务实体的数据结构定义,采用数据模型来描述业务数据结构[4]。业务数据定义映射到关系型数据库中是一组具有主从关系或关联关系的表或视图的集合,因此,业务数据是一组数据集,每个数据集是一个二维表结构,包括列集和行集。在数据转换过程中,数据转换的源在本文中称为源业务实体,数据转换的目标在本文中称为目标业务实体;其中源业务实体包含的表称为源表,目标业务实体包含的表称为目标表[6]。
  3.2 映射单元
  映射单元的结构属性包括:编号、名称、描述、目标数据表、取数来源、源数据的取数范围、源数据的分组依据、映射单元的执行条件、执行顺序、上级映射单元、映射规则[7]。表1是对映射单元的结构属性的详细描述。
  映射单元之间的关系是由目标表间的关系确定的,主从关系的数据表对应的映射单元其关系也是主从关系,平行数据表对应的映射单元其关系也是平行关系[5],具体关系参照图1所示。   图1 映射单元关系图
  3.3 分解方法
  映射单元的分解依据有两个:
  (1)目标业务实体的数据结构;
  (2)目标表的数据生成规则。
  映射单元的分解步骤如下:
  (1)识别目标业务实体的数据表组成以及数据表之间的关系:主从和平行。
  (2)根据目标业务实体的结构,从主表到子表依次为每个目标表创建映射并设置单元。
  创建映射并设置单元可进一步描述为以下几个子步骤:
  1)设置映射单元对应的目标数据表;
  2)设置映射单元对应的数据来源;
  3)设置源数据的取数范围;
  4)设置源数据的分组依据;
  5)设置映射单元的触发条件;
  6)设置映射单元的映射规则。
  识别每个目标表的数据生成规则,对于同一个目标表,如果存在不同数据生成规则(比如数据源不同、分组依据不同、执行条件不同、映射规则不对),要为该数据表针对每一个数据生成规则创建多个同级的映射单元;如果该目标表存在子表,按照同样的方式依次为每个子表创建对应的映射单元,依次类推。
  (3)如果存在同层级的映射单元,对同层级的映射单元进行编排顺序。
  4.应用
  本文为说明此转换方法,以一个抽象的事例及一个具体的事例说明转换数据的转换过程。
  示例:应用系统A中的BizA业务数据转换为应用系统B中的BizB业务数据。BizA的数据结构如表2所示。
  表2 BizA的主表:AM_Table
  字段 数据类型 说明
  AM_Col1 String 主键
  AM_Col2 String
  AM_Col3 String
  表3 AM_Table的子表:AS_Table
  字段 数据类型
  AM_Col1 String 外键,主表AM_Table的主键
  AS_Col1 String 主键
  AS_Col2 String
  AS_Col3 String
  AS_Col4 Int 枚举值:0,1;默认值为0
  表AM_Table和表AS_Table是主从关系。BizB的数据结构如下:
  表4 BizB的主表:BM_Table字段 数据类型 说明
  BM_Col1 String 主键
  BM_Col2 String
  BM_Col3 String
  表5 BM_Table的子表:BS_Table
  字段 数据类型
  BM_Col1 String 外键,主表BM_Table的主键
  BS_Col1 String 主键
  BS_Col2 String
  BS_Col3 String
  表BM_Table和表BS_Table是主从关系。
  该实例是一个典型的数据交换的例子,其中BizA是源业务实体,BizB为目标业务实体。BizA和BizB的数据转换过程的分解步骤如下:
  步骤一:识别目标业务实体BizB的数据结构。
  确认目标业务实体BizB有数据表BM_Table和BS_Table,而且两者为主从关系。
  步骤二:创建并设置映射单元。
  (1)创建并设置主表BM_Tabl对应的映射单元;
  1)识别数据表BM_Tabl的数据的生成规则,只有一种生成规则:
  BM_Col1=AM_Col1
  BM_Col2=AM_Col2
  BM_Col3=AM_Col3
  2)创建主表BM_Tabl对应的映射单元BM_TablUnit,并按照图6步骤设置属性如下:
  属性 属性值
  编号 BM_TablUnit
  名称 BM_TablUnit
  描述 BM_Tabl对应的映射单元
  目标数据表 BM_Tabl
  取数来源 AM_Tabl
  取数范围
  分组依据 AM_Col1
  执行条件
  执行顺序 1
  上级映射单元
  映射规则设置 BM_Col1=AM_Col1
  BM_Col2=AM_Col2
  BM_Col3=AM_Col3
  (2)判断BM_Tabl是否有子表,如果有设置其子表对应的映射单元;
  (3)按照主映射单元BM_TablUnit的创建和设置过程,创建并设置子表BS_Table的映射单元;
  (4)识别数据表BS_Table的数据的生成规则,两种:当AS_Col4=0时BS_Col2=AS_Col2,而BS_Col3不参与映射;当AS_Col4=1时BS_Col3=AS_Col3,而BS_Col2不参与映射;
  (5)针对第一个生成规则创建BS_Tabl的第一个映射单元BS_TablUnit1,并设置属性如下:
  属性项 属性值
  编号 BS_TablUnit1
  名称 BS_TablUnit1
  描述 BS_Tabl对应的映射单元
  目标数据表 BS_Tabl
  取数来源 AS_Tabl
  取数范围 AS_Col4=0
  分组依据 AS_Col1
  执行条件 AS_Col4=0   执行顺序 1
  上级映射单元 BM_TablUnit
  映射规则设置 BS_Col1=AS_Col1
  BS_Col2=AS_Col2
  (6)针对第二个生成规则创建BS_Tabl的第一个映射单元BS_TablUnit2,并设置属性如下:
  属性项 属性值
  编号 BS_TablUnit2
  名称 BS_TablUnit2
  描述 BS_Tabl对应的映射单元
  目标数据表 BS_Tabl
  取数来源 AS_Tabl
  取数范围 AS_Col4=1
  分组依据 AS_Col1
  执行条件 AS_Col4=1
  执行顺序 2
  上级映射单元 BM_TablUnit
  映射规则设置 BS_Col1=AS_Col1
  BS_Col3=AS_Col3
  步骤三:设置映射单元的顺序。
  同一层级映射只有一个映射单元时无需设置顺序,在本实例中BM_TablUnit不需要设置执行顺序;如果同一层级有多个映射单元时,需要设置其相对顺序,在本实例中设置BS_TablUnit1的执行顺序为1,BS_TablUnit2的执行顺序为2。数据交换系统将根据映射单元的层级顺序和执行顺序进行逐个执行映射单元。
  5.结语
  使用本文的方法可以把复杂的数据转换过程分解为简单的映射单元;同时根据映射单元之间的关系以及同层级映射单元的执行顺序可以有规律的执行数据转换过程;而且映射单元具有较好的可配置型和扩展性。本文方法对煤矿企业尤其是大型煤业集团建设“一站式”综合管理信息平台过程中,在涉及到各个不同业务系统中具有交叉性实体的数据转换方面具有较大的推广价值。
  参考文献
  [1]赵晓,陈桦,侯勃峰等.一种实现数据库数据到XML文档的转换方法[J].西安工业大学学报,2007(04).
  [2]傅清平.异构数据库中数据转换技术[J].江西煤炭科技,2007(3):55-57.
  [3]陈绣瑶.基于XML Schema的XML文档和关系数据库的映射研究[J].现代计算机,2009(1):149-150.
  [4]柏森.数据挖掘中的半结构化数据[J].计算机与信息技术,2007(5):27-29.
  [5]吴共庆,陈恩红.一种基于XML的半结构化数据存储方法[J].计算机工程,2004,30(10):57-59.
  [6]黄海燕.保持约束的XML数据和关系数据相互转换技术研究[D].长沙:中南大学,2008.
  [7]薛卫萍.实现异构数据库间数据的转换[J].计算机与数字工程,2004,32(6):86-88.
  基金项目:基于GIS的图形展示组件(项目编号:14SY003)。
  作者简介:王仁(1985—),男,江苏常州人,大学本科,助理工程师,主要从事辅助运输监控系统开发工作。
其他文献
【摘要】以大学生创业训练项目的形式,增强大学生在创新基础上的创业能力,培养适应国家建设需要的应用型人才和创业型人才。通过该项目的实施可以促进高等学校转变教育思想观念,改革人才培养模式,强化创新创业能力训练,提升大学生的综合素质,增强大学生的创新创业能力,培养适应创新型国家建设需要的高素质人才。通过大学生创业训练项目的实施,不但体现专业技能的培训,而且融入了方法能力与社会能力培养,从而最终形成学生的
期刊
【摘要】随着计算机技术和信息技术的日益发展,考核医护人员专业技能以及掌握程度的方法也日趋多元和全面。目前各医学院校所使用的在线考试系统,多数存在通用性、兼容性和开放性差,系统应用平台及网络架构陈旧等问题。而且,医学院校在线考试系统应具备哪些功能和特征,开发应遵循的原则等尚无明确的标准。因此给用户使用、推广和系统升级等都带来诸多困扰和不便。我们正在研发的在线考试系统,从最初的设计到具体实施,都尽量做
期刊
【摘要】针对现有插座、智能插座存在的一些问题,设计了一种基于MSP430-F149的智能插座。首先介绍了以MSP430-F149为控制器的智能插座的工作原理、外围电路的设计、软件设计。其次介绍了无线蓝牙串口透传模块、精密电流互感器以及单总线数字温度传感器DS18B20模块等多种传感器的基本连接和使用方法。接下来分析由于产用了以上的芯片与模块会使家中用电器与用户达到一种高水平的安全状态。最后通过实验
期刊
【摘要】针对文献修复中均匀碎片,以特征位置为基准,采用K-means算法进行聚类分析,对于每一类碎片运用贪心算法不断地取匹配度最高的碎片进行拼接,逐步自动复原整个文献。经计算机仿真证明:此方法能实现文献的快速拼接,有效地提高物证修复,碎片复原的工作效率。  【关键词】聚类分析;匹配度;贪心算法;均匀碎片;特征  0.引言  破碎文件的拼接在司法物证复原?、历史文献修复以及军事情报获取等领域都有着重
期刊
【摘要】运用图像处理技术和单片机技术,介绍了一种基于单片机的车辆超高自动检测系统,系统的运行实现了在一般情况下不停车的车辆超高检测。  【关键词】自动检测;单片机;车辆超高  1.前言  车辆超限是交通管理中存在的重要问题,随着交管部门对车辆超限管理力度的增大,车辆超限现象得到较好的遏制,而传统的检测手段多见于车辆迫停处理,车辆占道影响了交通通畅。随着科学技术的快速发展,使车辆超高自动检测与记录技
期刊
【摘要】本文研究了FlexRay总线的主要特性,并将其应用在全电子计算机联锁系统中。在满足故障-安全的设计原则上,提出了以内嵌FlexRay总线协议的MC9S12XF512为处理器核心的全电子执行单元通信接口硬件组成及软件设计,实现全电子执行单元与联锁机、维修监测机之间数据的安全、可靠通信。  【关键词】FlexRay总线;全电子执行单元;通信接口;硬件结构;软件设计  Abstract:This
期刊
【摘要】文章以中专电子技术应用专业典型性工作任务的形成过程为案例进行分析,阐述典型工作任务的概念及典型工作任务的提炼、描述方法。  【关键词】实践专家访谈会;典型工作任务;典型工作任务描述  一体化课程课程体系,通过典型工作任务分析进行构建,以工作任务为学习载体,按照工作过程和学习者自主学习的要求设计和安排教学活动的课程。典型工作任务是一体化课程框架确立的基石,那么典型工作任务如何得到?我们以中专
期刊
【摘要】本文针对现阶段移动网络建设的现实性,从信号覆盖深度以及多制式融合组网的角度提出:在传统分布式覆盖系统基础上,用数字射频技术来构建一种全新的深度覆盖模式,应用于特定类场景的深度覆盖,经实践证明具有良好效应。  【关键词】低层密集;多业务;分布系统;施工隐蔽  密集住宅区场景,由于自身建筑物的阻挡,其内部的深度网络覆盖难以解决;传统的室外覆盖方案模式一般采用信源+射频同轴电缆分布方式,需要新布
期刊
【摘要】THz辐射是电磁波谱上新开发的最后一个频率窗口,具有独特的性质,在物理、化学、生物医学、通信、雷达、安全检查等各方面都有广阔的应用前景。由于许多毒品及其相关材料在THz波段具有特征吸收,许多非金属、非极性材料对THz波时透明的,且THz波具有低能性,THz技术在安检中具有巨大的应用潜力。本文重点介绍了THz时域光谱技术和成像技术在毒品检测和识别方面的研究应用,初步探讨了该技术在毒品识别领域
期刊
【摘要】该水温控制系统采用单片机进行温度实时采集与控制。温度信号由数字化温度传感器DS18B20提供,温度传感器将温度信号采集经过A/D转换器转换成数字信号,经过单片机处理,输出信号对加热和报警进行实时控制和显示。水温控制采用继电器控制电热丝进行升温控制,通过自然冷却实现降温。系统具备较高的测量精度和控制精度,能完成升温控制和超温报警。  【关键词】单片机;DS18B20;水温控制  1.引言  
期刊