面向物联网的异构数据转换模型❋

2019-04-16 06:38郭忠文胡乃军仇志金
关键词:模式匹配监控器异构

郭 帅, 郭忠文❋❋, 胡乃军, 仇志金

(1 中国海洋大学信息科学与工程学院,山东 青岛266100; 2.青岛市工商行政管理局信息中心,山东 青岛 266071)

随着物联网技术的快速发展以及互联网+理念的普及,海量数据的互联转换已经形成了不可阻挡的发展趋势,异构数据转换作为实现数据互联的有效途径之一,其重要性也日益增加。然而,目前大多数据并未实现互联共享,导致形成了大量的、独立封闭的信息孤岛,严重阻碍了人们对信息的获取[1],如何将这些信息孤岛互联起来已经成为当下的关键问题。传统的异构数据转换模型大多将重点放在异构数据输出格式的统一定义和网络传输方式上,随着异构数据越来越多样化以及互联转换需求量的迅速增加,对异构数据转换又提出了新的挑战,如何在现实应用中实现标准、高效、规模化的异构数据转换越来越受到人们的重视。

数据互联与转换技术种类繁多,主要可以划分为:联邦数据库技术、数据服务技术、数据网格技术等。联邦数据库技术将海量数据库,通过构建全局数据视图,实现了对异构数据库的统一访问。数据服务技术将服务技术的特点和优势与数据库互联相结合,增强传统数据库的交互及协同能力。数据网格技术主要针对多系统、多分布、大规模的异构数据,通过数据网格实现异构数据库的自主互联、协同及综合利用。美国军方正在实施的全球信息网格GIG(Global Information Grid),预计在2020年完成,利用计算网格和数据网格技术及时的收集、处理和共享军事情报信息。

基于以上的数据互联与转换技术,在现有的数据转换模型中,美国Standford大学设计的Lore系统[2]主要用于管理半结构化信息的数据库管理系统,可以对半结构化数据OEM和XML数据进行存储和管理;Ozone模型对面向对象数据库的ODMG转换模型进行了扩展,可对结构化和半结构化数据进行转换;东南大学Versatile[3]是一个基于CORBA可扩展的异构数据源转换系统模型。这些传统的数据转换模型都在一定程度上解决了异构数据转换问题,但在现实情况中仍然存在许多缺点和不足:首先,单一的定义统一数据输出格式只能解决部分问题,大多数的异构数据无法提供统一标准的数据接口,只能使用人工配置的方式对异构数据与标准化数据库进行模式匹配,而现有的模式匹配方式多种多样,大多随着开发人员的定义和习惯而改变,难以形成一个统一的异构数据模式匹配模型,导致模式匹配过程复杂、耗时,降低了数据转换的效率。其次,传统的模式匹配映射仅仅以人工编写代码的方式写入程序中,供解析模块解析,并没有单独存储信息,导致一旦模式发生改变,只能通过修改代码的方式解决,解析模块无法自适应映射的改变并且无法动态扩充,这大大降低了软件的灵活性,提高了开发成本,延长了开发周期。最后,对大量不同的数据转换模块缺少统一的管理及其运行状态的实时远程监控,导致出现问题无法及时捕捉,难以通过远程方式解决,增加了维护成本。

针对以上出现的新问题,传统的异构数据转换模型已经难以处理,无法在现实应用中实现数据转换的标准化、高效化、规模化。为此本文给出了一种面向物联网的异构数据转换模型IDCM,该模型主要针对由物联网各领域中应用系统的分散开发和引进而形成了海量的异构数据库,通过引入模式匹配器、数据转换器和状态监控器,较好的解决了以上问题,本文的主要贡献如下:

(1)构建了物联网异构数据转换模型架构,对物联网异构数据的转换与互联提供了一个标准,提高了针对物联网异构数据的数据转换与互联的效率。

(2)构建了模式匹配器,基于统一的模式匹配模型,对未能提供标准数据接口的异构数据与标准化数据库进行模式匹配,产生的匹配结果单独存储,简化了模式匹配过程,提高了模式匹配效率,降低了人工参与度。

(3)构建了数据转换器,调用模式匹配结果,建立映射,实现动态自适应,降低了解析模块开发成本,大幅缩短其开发周期,提高了系统开发过程中的资源利用率。

(4)构建了运行状态监控器的使用,实现了数据转换器统一的集成管理,并且实时远程追踪其运行状态,增强了为数据转换器的维护性,降低维护成本。

(5)对外提供标准化的WebService数据接口,通过访问该接口来获取转换后的数据。

1 模型设计

IDCM是一种面向物联网的异构数据转换模型,该模型针对物联网海量的异构数据互联转换问题,提供了有效的数据转换方法,实现了数据转换过程中对模式匹配的动态自适应;提高了模式匹配效率及系统开发过程中资源的重复利用率;对数据转换模块进行统一管理和远程监控;最终实现异构数据转换的标准化、高效化、规模化。本章节将对IDCM的模型架构及模型处理机制进行详细描述。

1.1 模型架构

本文所提出的异构数据转换模型(IDCM)的模型架构如图1所示,该模型由五大模块组成:模式匹配器、数据转换器、状态监控器、标准化数据库和标准数据接口,各部分协同工作,共同实现异构数据的转换。

(1)模式匹配器:基于统一的模式匹配模型,为用户提供人性化、快捷化的操作界面以及操作方式,对异构数据和标准化数据库进行模式匹配,建立映射,并最终将匹配结果单独存储。

(2)数据转换器:解析模式匹配结果,获取异构数据进行数据转换,并将转换后的数据写入到标准化数据库中,实现异构数据的标准化。

(3)状态监控器:对所有的数据转换器的运行状态、网络连接等进行实时远程监控,并对其进行统一的管理与维护。

(4)标准化数据库:存储标准化数据、模式匹配结果和状态监控日志等数据信息。

(5)标准数据接口:对外提供标准化的WebService数据服务接口,用户通过访问数据接口获取相关数据。

图1 IDCM模型架构

1.2 模型处理机制

步骤一: 模式匹配器与异构数据建立连接,获取异构数据的模式信息,通过人工快速配置的方式进行模式匹配,将最终产生的模式匹配结果存入标准化数据库的匹配池中(见图2中过程①②)。

步骤二: 数据转换程序从数据库匹配池中获取模式匹配结果,建立映射,启动数据转换功能进行数据的获取与解析,并将最终生成的数据写入标准化数据库(见图2中过程③④⑤⑥)。

步骤三: 这期间,运行状态监控器对所有启动的数据转换器进行远程监控(见图2中过程⑦)。

图2 IDCM模型处理机制

2 模型实现

2.1 模式匹配器

模式匹配器主要实现异构数据和标准化数据库之间的模式匹配,建立映射关系[4],并且将最终的匹配结果单独存储。模式匹配器的映射模型如图3所示。

图3 模式匹配器映射模型

假设存在异构数据S和标准化数据库D,定义:

(1)在S和D中,只包含一个主题信息的数据集合为C,例如关系数据库的一个表或一个数据文件等。

(2)D中每一个数据集合C都有唯一的模式匹配集合R与之对应,即R=f(C)。

(3)S中数据集合C的个数为m和D中数据集合C的个数为n,则S集合和D集合可以表示为:

S={Cs1,Cs2,Cs3,…,Csm};

D={(CD1,R1),(CD2,R2),…,(CDn,Rn)}。

(4)对于单一的数据集合C都可以表示为一个p×q的二维矩阵A(p∈N,q∈N),A=(a1,a2,a3,…,ai),(i=p或i=q)。例如对于关系数据库中的表,A可以表示为列向量的集合;对于XML数据文件则可以表示为行向量的集合。

Csi←Asi=(a1,a2,a3,…,ar),r∈N;

CDj←BTj=(b1,b2,b3,…,bs),s∈N。

通过研究分析发现Csi和CDj中的a、b,i∈(1,m),j∈(1,n)主要存在一对一,一对多,多对一这三种映射关系,如图4所示。基于映射关系,建立一个操作函数f(x)执行模式匹配运算,匹配运算包含基本的算数运算、合并拆分及数据格式转换等操作,则对于任意一个匹配集合R,都有:

R=f((CS1,a1),(CS2,a2),…,(CSn,an)),n∈N。

图4 数据集合映射Fig.4 Dataset mapping

模式匹配结果集R={R1,R2,R3,…,Rn}存储于数据库中,任意匹配集Ri∈R的存储方式如表1所示,其中匹配标识唯一确定了一条匹配信息,便于检索调用;D信息中记录CDj(j∈(1,n))中每一个b的唯一标识信息;S信息存储对应于b的匹配结果,“@”为操作符,它实际上是一个由多种数据转换操作组成的集合。

表1 匹配集合存储结构

最后,以关系数据库为例对模式匹配器进行说明。已知关系数据库S和标准化数据库D,按照D的模式构建一个模式匹配器,模式匹配器与关系数据库S建立连接,从而获取S的模式信息集{Cs1,Cs2,Cs3,…,Csm},其中模式信息如数据库表名、字段名、字段类型,数据文件的文件名,行、列定义等,基于该集合构建一个m×k的模式矩阵P:

式中:m为S中所有表的个数;n为S中所有表中的最大字段数;ti为Csi所对应的表的表名称;fi1~fin为Csi所对应的表的所有字段名称及字段类型;Csi={f1j,C2j,C3j,…,Cnj},并且定义若(ti,fij)不存在,则(ti,fij)=0。随后构建操作矩阵Q:

式中cij为P矩阵中(tj,fji)相对应的操作符,即对于Ri∈R={R1,R2,R3,…,Rn},都存在一个Qi,使得Ri等于P×Qi所得矩阵的对角线元素之和,将对角线元素进行解析处理,最总得到模式匹配结果集。

2.2 数据转换器

数据转换器主要负责解析数据库中的模式匹配结果R并构建匹配引擎,通过匹配引擎获取异构数据S的原始数据,并且对原始数据进行质量控制、格式转换等操作,最终将标准化的数据写入标准化数据库D中[5-6],数据转换器如图5所示。下面对数据转换器的转换算法进行描述。

图5 数据转换器

2.3 状态监控器

状态监控器主要负责对所有数据转换器运行状态的实时远程监控及统一管理,并且为解决多地区软件维护成本过高等问题提供了一个良好的解决方案[7]。状态监控器具有对数据转换器进行实时的网络连接监控、运行状态监控、集成管理及升级维护等功能,如图6所示。

3 模型验证

3.1 系统开发效率

在物联网各领域的异构数据转换问题中,通常需要对不同结构的数据库进行相应的数据转换系统的重复性开发,而IDCM模型具有灵活、动态适应特点,能够实现异构数据库数据的快速转换。首先,模式匹配器将匹配过程单独抽离,实现了匹配模型的统一,匹配结果作为一个“可配置的信息”,存储于数据库中。其次,数据转换器与模式匹配器无缝对接,能够动态自适应匹配结果,无需因匹配结果的改变而重新开发或修改数据转换器;状态监控器的远程实时监控,能够实时捕捉异常并远程进行操作处理,大大减少了软件维护成本。IDCM模式相比较平台开发、组件式开发、重新编码等软件开发方法[8-9],其开发明显提高了开发效率,由于需要构建模式匹配器,因此第一次开发时,IDCM会占用更多的资源,但是随着互联的异构数据数量的增加,其效率会有明显的提升,并且大幅降低了系统测试和维护的成本与时间。以工业领域家用空调测试数据转换系统开发为例,共计对12套异构的产品测试系统进行数据转换,包含ORACLE、SQLSERVER、ACCESS、TXT文件等多种数据存储形式,每套数据库平均有15个表,350个字段,包含的数据内容包括产品测试的铭牌信息、传感器信息、工况信息、报告信息、测试数据等,对其进行对比发现,IDCM模型明显提高了整个系统的开发效率,减少了系统测试时间,并且降低了维护成本,对比结果如图7和8所示。

数据转换算法1:定义MatchList数据集合,存储解析后的匹配结果信息。定义DataList数据集合,存储从异构数据源S获取的数据。2: 获取数据转换器启动所需的配置信息,与异构数据S和标准化数据库D分别建立连接异构数据S的连接信息标准化数据库D的连接信息数据转换器的转换周期3: 获取匹配结果集R={R1,R2…Rn},经解析后构建匹配模式引擎4: 通过匹配模式引擎获取异构数据S的原始数据5: 解析数据,进行数据标准化,在其整个过程中进行日志追踪及异常数据判断处理,产生标准化数据Begin数据转换检查转换器对外连接检测异常数据,并智能处理解析正常数据对正常数据进行标准化日志追踪End

图7 系统开发效率对比

图8 系统测试维护对比

3.2 模式匹配效率

模式匹配作为数据转换的重要过程,其效率的高低能够直接影响整个数据转换效率。本文通过构建了模式匹配器,简化了模式匹配过程,提高了模式匹配效率,降低了人工参与度。为了验证模式匹配器工作效率,对来自工业领域冰箱性能测试的10个异构数据库,分别进行使用匹配器前后的匹配效率对比,结果表明使用了模式匹配器后,匹配效率与之前相比有着明显的提升(见图9)。

图9 模式匹配效率对比

3.3 WebService响应时间

IDCM模型最终对外提供WebService标准化接口,用户通过访问WebService接口来获取相应的标准化数据,因此WebService接口的性能直接影响到互联系统的数据显示、操作及响应时间[10]。为了检验接口性能,本文对IDCM模型的WebService接口做了性能测试,测试环境如表2所示。本次假定在相同网络、主机环境条件下进行本机测试和远程测试,服务端接口内部没有复杂业务逻辑,客户端调用时,返回一条数据。每次运行,采用java循环方式调用10次服务端接口,并记录下从发起到返回结果的时间。测试结果表明IDCM模型的WebService标准化接口性能良好(见图10)。

表2 测试环境

3.4 应用实例

IDCM作为一种面向物联网的异构数据转换模型,已经被应用到家电产品测试系统和海洋应用系统互联的项目中,得到了有效的验证。首先,基于IDCM模型的海尔家电产品测试互联系统(见图11),是海尔集团为响应“中国制造2025”发展战略,提高制造水平、制造效率、生产出适合人们个性化需要的各种家电产品而产生的软件系统。IDCM模型作为其数据转换模块的核心,实现了海尔热水器、电冰箱、空调、模块商等众多厂家共计67套测试系统的异构数据转换,累计转换的数据量约为1005G。IDCM模型的使用解决了长期以来家电产品测试行业大量“信息孤岛”的问题,明显提高了测试系统的互联效率。

图10 测试结果

图11 海尔家电产品测试互联系统

海洋应用互联系统(见图12)是我国海洋观测、监测和调查仪器设备研发、海洋科学研究、实现科技兴海,促进高新科技成果转化及海洋可再生能源开发的重要平台。该系统通过互联操作来实现系统的无缝集成和系统重构[11]。IDCM模型兼容多类型参数数据,面向多种数据应用与服务系统,实现了海洋应用领域中海量异构数据的数据转换,为实现中国海洋数据“一张图”打下了良好的基础。

图12 海洋应用互联系统

4 结语

本文提出的IDCM模型为解决物联网的海量、多源异构数据库的转换问题提供了一个良好的解决方案,通过引入模式匹配器、数据转换器和状态监控器,统一了模式匹配的方法,提高了数据转换的效率,降低了人工维护成本,最终实现了高效、快速、规模化的异构数据转换,并且IDCM模型在家电产品测试系统和海洋观测系统互联等实际应用中得到了有效的验证。

但是IDCM模型仍然存在缺点与不足,比如说模式匹配器的人工参与度过多,兼容性较差;数据转换器的复用率不理想;状态监控器的异常判断处理的实时性较差。我们的后续工作包括:(1)结合机器学习的知识,寻找一种适应IDCM模型的高效算法,实现物联网的异构数据模式的自动匹配,并增强其兼容性。(2)优化数据转换器的结构设计,动态自适应模式匹配结果,提高其复用率。(3)进一步将模型扩展至其他领域。

猜你喜欢
模式匹配监控器异构
ETC拓展应用场景下的多源异构交易系统
试论同课异构之“同”与“异”
数据库模式的主动在线匹配方法
基于大数据的远程农业监控器设计
基于模式匹配的计算机网络入侵防御系统
多源异构数据整合系统在医疗大数据中的研究
吴健:多元异构的数字敦煌
具有间隙约束的模式匹配的研究进展
一种自动监控系统的输液监控器的设计
基于散列函数的模式匹配算法