APP下载

面向生产过程的异构数据服务描述语言IO-DSDL的设计与实现∗

2018-05-29陈彦萍杨为惠

计算机与数字工程 2018年5期
关键词:数据模型数据服务结点

陈彦萍 郭 超 杨为惠

(1.西安邮电大学计算机学院 西安 710121)(2.西安邮电大学大数据处理研究中心 西安 710121)

1 引言

随着工业制造业的快速发展,工业智能化、自动化、信息化进程的推进,生产过程中产生了大量的多源异构数据,如工业传感器、物流、社交、交易等数据,但这些数据不论是存储还是管理都是各自为政,孤立存在,未能形成服务化的数据产品提供方式。针对这一问题,国内外工业界和学术界提出了各种工业数据平台来寻求解决方法。

通用电气在其白皮书《The Rise of Industrial Big Data》中介绍了其工业数据分析处理平台。文献[1]中提出了一种基于物理网络的生产过程数据处理架构,来实现传感器数据、非结构化数据的情景智能处理。文献[2]中针对不同类型数据也提出了一个工业数据集成处理平台,并对其进行详细的技术分析。其中比较有局限性的工业数据处理系统在文献[3]中丁涛等提出了一个柔性生产线的智能控制大数据模型,并在相关零件生产企业得到使用,实现了不同零部件换型时多工艺流程自主运行、生产过程监控和自适应优化条件控制。实现柔性生产线面对单件小批量生产时的智能控制。文献[4]中研发了一个基于生产过程数据的压缩机全寿命周期管理系统,并进行了测试应用。但这些平台中仍存在相关缺陷以及挑战,比如大多数平台还只是停留在技术预研和模型探索阶段,而且在处理数据时并没有对数据进行标准的统一的封装管理,因此在用户后续的应用方面存在很大不足。本文在SOA和OGC的SWE思想的启发下,将生产过程中的数据资源作为服务,提出了面向生产过程的异构数据服务平台,如图1所示。

图1 面向生产过程的异构数据服务平台

可以看出来在面向生产过程的异构数据服务平台中数据资源层具有大量的多源异构数据,要想对这些数据进行处理使其能够和上层平台融合,其中最关键的步骤就是对其进行描述和封装操作。

目前已经有学者从数据服务模型和如何对多样的数据提供一致的数据服务描述开展了研究。传统的数据服务是数据密集型的Web服务,它通过WSDL对服务进行描述。数据服务中仅描述了服务的接口规范,不仅对非结构化数据源缺乏支持,而且其属性描述无法体现生产过程中异构数据服务所特有的数据模型、数据质量、隐私等特征。文献[5]以XML为公共数据模型,直接采用Web服务作为数据服务模型来获取和操控数据,这种方式忽略了对数据特征的建模;针对XML语言对数据信息刻画不足的问题,部分学者采用语义网技术对数据源进行标识,在此基础上建立数据服务[6~8]。文献[6]中数据服务模型被定义为包括服务输入、输出、内容描述和约束四部分,此外还通过RDF(Resource Description Framework)[9]的 OWL-S[10]语言描述对关系数据进行服务描述。这种服务模型具有较强的语义性,但其对服务内容中有关数据特征的描述不够完善,并且仅支持关系数据。针对以上研究中存在的不足和缺陷,本文将重点阐述在面向生产过程的异构数据服务平台中IO-DSDL(Industrial Oriented Data Service Description Language)语言的设计与实现。

2 IO-DSDL数据模型设计

2.1 数据模型的定义

结合生产过程的异构数据特征本文提出一种基于XML Schema的工业多源异构数据模型XSIDM—(XMLSchema-Industrial Data Model)该模型以XML树状结构来描述异构数据源中的数据,用XML元素结点来代表要集成的数据元素。下面给出XSIDM模型的定义:

定义1 XSIDM模型的元素结点分为根结点、子结点和叶结点三种。每个结点都必须由一个唯一的字符串形式的标识符所标识,记为uid,用于唯一标识每个数据元素,它可以与XML元素的ID属性建立映射关系。每个结点包含若干个(属性名,属性类型)。

定义2 根结点:用来描述关系数据表、文档等类型的数据单元。可通过根节点获得所在数据源的查询执行能力方面的信息。

定义3 子结点:每个子结点包含若干个叶结点,与XML文档中带子元素的非根元素对应。

定义4 叶结点:叶结点代表底层的数据元素,如关系表中的字段、XML文档的叶子元素等。叶结点的类型是引用了XML Schema的数据类型,其丰富的数据类型足以描述各种异构数据。

通过上述定义,我们给出了工业多源异构数据模型XSIDM的树状图,如图2所示。

图2 XSIDM模型树状图

2.2 IO-DSDL文档结构

XML Schema规范是指定XML文档的约束条件的新标准,它是一种基于XML的标记语言,它提供比DTD更加丰富的约束机制。XML Schema允许文档作者使用复杂的类型指定约束,也可以使用更多数据类型,而且还可以使用用户定义的其他复杂的类型,因此这种规范的灵活性和扩充性更强。本文设计的IO-DSDL描述模型是基于XML语言的。

IO-DSDL描述模型的XML Schema结构以IDService为根元素,并规定了三个信息集模块Content、Interface和Function,如图3所示。

图3 IO-DSDL文档XML Schema结构图

1)服务内容信息集Content,用来描述该服务的基本属性信息,在Content元素下用uid元素来描述该服务在服务注册库中的唯一标识,用Name元素来描述该服务的名称,用Domain元素来描述该服务所属领域信息,用ServiceType元素来描述该服务所属的服务类型,用不定个数的Keyword元素来描述检索时所使用关键词信息等,可根据具体的数据服务来定义扩展对应的元素。

2)接口定义信息集Interface,服务接口属于抽象定义层,包括type、message和portType元素,组成了服务描述中的可重用部分。types元素中描述消息中数据类型的使用。message元素指定XML数据类型组成消息的各个部分。操作的输入或输出(参数)被定义为message元素。portType元素中定义了服务的操作,操作定义了输入和输出数据流中可以出现的XML消息。

3)功能定义信息集Function,定义了描述一个给定服务提供者如何实现特定服务功能的IO-DSDL文档,有binding、service和operation元素。binding元素描述特定服务接口的协议、数据格式、安全性和其它属性。service元素包含一组port(端口)元素。端口将端点(location)与来自服务接口定义的binding元素关联起来。operation元素定义了对服务操作功能的描述包含服务的操作名称,操作类型以及操作权限等属性。

3 IO-DSDL详细设计

在前面的小节中介绍了IO-DSDL文档结构的模型以及其包含的主要元素,本文对其中主要元素进行详细描述设计,对部分子元素也进行了相应的设计。

3.1 主要元素

1)根元素IDService将整个文档封装其中,其XML Schema描述:

其 中 xmlns:schema xmlns:xs="xs="http://cs.xupt.edu.cn//

2017XMLSchema"

<xs:element name=“IDService”>

<xs:complexTyPe>

<xs:sequence>

<xs:element ref=“Content”minOccurs=“1”maxOccurs=

“1”/>

<xs:choice>

<xs:element ref=“Interface”maxoeeurs=“1”/>

<xs:element ref=“Function”maxoeeurs=“1”/>

</xs:choice>

</xs:sequence>

<xs:attribute name=“id” type=“xs:string” use=“re

quired”/>

</xs:complexTyPe>

</xs:element>

2)Content元素描述了该服务的基本属性信息,其XML Schema描述:

<xs:element name=“Content”>

<xs:complexTyPe>

<xs:sequence>

<xs:element name=“uid”type=“xs:string”/>

<xs:element name=“Name”type=“xs:string”/>

<xs:element name=“Domain”type=“xs:string”/>

<xs:element name=“ServiceType”type=“xs:string”/>

<xs:element name=“Kyeword”type=“xs:string”maxOc

curs=“unbounded”/>

</xs:sequence>

</xs:complexTyPe>

</xs:element>

3)Interface元素描述了服务接口调用以及协议配置的信息,其XML Schema描述:<xs:element name=“Interface”>

<xs:complexTyPe>

<xs:sequence>

<xs:element ref=“type”/>

<xs:element ref=“message”/>

<xs:element ref=“portType”/>

</xs:sequence>

</xs:complexTyPe>

</xs:element>

4)Function元素描述了服务功能属性以及如何实现特定服务接口的信息,其XML Schema描述:

<xs:element name=“Interface”>

<xs:complexTyPe>

<xs:sequence>

<xs:element ref=“binding”/>

<xs:element ref=“service”/>

<xs:element ref=“operation”/>

……

</xs:sequence>

</xs:complexTyPe></xs:element>

3.2 其他子元素

1)Interface元素中子元素message描述了服务请求、响应的相关信息,其XML Schema描述:

<xs:element name=“message ”>

<xs:complexTyPe>

<xs:sequence>

<xs:element message name=“getNameRequest”>

<xs:element part name=“Name”type=“xs:string”/>

<xs:element message name=“getNameResponse”>

<xs:element part name=“Value”type=“xs:string”/>

</xs:sequence>

</xs:complexTyPe>

</xs:element>

2)Function元素中子元素operation描述了数据操作类型、等级的信息,其XML Schema描述:

<xs:element name=“operation”>

<xs:complexTyPe>

<xs:sequence>

<xs:element operation name=“Name”type=“xs:string”/>

<xs:element operation name=“OpType”type=“language”/>

<xs:element operation name=“Grade”type=“xs:string”/>

</xs:sequence>

</xs:complexTyPe>

</xs:element>

4 IO-DSDL数据服务描述案例

通过在本文设计的面向生产过程的异构数据服务描述语言IO-DSDL中描述的数据服务内容、接口、功能等属性,能够实现生产过程中多源异构数据的统一数据服务建模,屏蔽了底层数据的细节差异,以服务的形式提供给用户。同时也为工业数据处理平台的后续服务组合查询处理功能提供了支持。

对于制造型企业而言,生产线上产品结构复杂,工艺流程多关键点影响大,人工管理混乱落后,很容易造成质量波动,制约生产效率。如在手机生产过程中,包含多道复杂的工序,从订单生成到贴片检测再到组装测试,每一步都产生了大量的异构数据,如结构化的BOM清单,ERP系统中的数据,非结构化的传感数据,贴片图像等数据。这些数据在处理和使用中存在很大的问题,本文设计的面向生产过程的多源异构数据服务描述语言能够将这些异构数据统一的描述封装,很好地解决了这一问题。

下面我们给出某手机工厂生产过程中BOM单的IO-DSDL的部分实例文档描述:

<?xml version=“1.0”encoding=“UTF-8”?>

<io-dsdl:IDService xmlns:schema xmlns:xs=“http://www.

w3.org/2001/XMLSchema”

xsi:noNamesnaceSchemaLocation=“IO-DSDL.xsd”>

<io-dsdl:element name=“Content”>

<io-dsdl:complexTyPe>

<io-dsdl:sequence>

<io-dsdl:element name=“bomid”type=“1070918”/>

<io-dsdl: elementname=“bomname” type=“ZXEBS N750”/>

<io-dsdl: element name=“bomcode” type=“DB0000149462ACB”/>

</io-dsdl:sequence>

</io-dsdl:complexTyPe>

</io-dsdl:Content>

<io-dsdl:element name=“Interface”>

<io-dsdl:complexTyPe>

<io-dsdl:sequence>

……

<io-dsdl:element ref=“message”/>

<io-dsdl:element name=“message ”>

<io-dsdl:complexTyPe>

<io-dsdl:sequence>

<io-dsdl:element message name=“getBomRequest”>

<io-dsdl:element part name=“Planid”type=“TASK_201512804725”/>

<io-dsdl:element message name=“getBomResponse”>

<io-dsdl:element part name=“Techid”type=“150”/>

</io-dsdl:sequence>

</io-dsdl:complexTyPe>

</io-dsdl:message>

……

</io-dsdl:sequence>

</io-dsdl:complexTyPe>

</io-dsdl:Interface>

……

</io-dsdl:IDService>

通过以上描述可以看出基于IO-DSDL描述的数据服务能够是面向生产过程中的多源异构数据服务的属性和内容更加完备,对服务的功能属性和非功能属性都进行了扩展。对服务的操作功能属性进行了定义,为后续服务组合运算提供了基础。

5 结语

本文提出了面向生产过程的多源异构数据服务平台的体系结构,重点对面向生产过程的数据服务语言IO-DSDL进行了详细的研究设计,对其数据模型已经结构文档都进行深入研究实现,并通过具体的手机生产数据对其可行性进行验证。对工业数据服务平台实现起到一定的作用。

随着工业大数据、工业互联网的提出,工业信息化智能化的迫切需求,工业生产过程的数据分析成为现在研究的热点问题。在未来的工作中,我们要考虑如何通过数据服务语言对数据描述封装。进一步将服务化的数据分析的结果反馈到工业制造系统中,来实现一个服务化的工业控制系统,进一步对生产制造业进行优化。

[1]Lee C K M,Yeung C L,Cheng M N.Research on IoT based Cyber Physical System for Industrial big data Analytics[C]//2015 IEEE International Conference on Industrial Engineering&Engineering Management.Guangzhou,China,2015:1855-1859.

[2]马建斌,周桂红,孙晨露.计算机科学与技术专业实践教学改革研究[J].河北农业大学学报:农林教育版,2014(1):77-80.MA Jianbin,ZHOU Guihong,SUN Chenlu.Research on practice teaching reform of computer science and Technology[J].Journal of Agricultural University of Hebei:Agriculture&Forestry Education,2014(1):77-80.

[3]丁涛,齐建军,杜林,等.基于工业大数据的柔性生产线智能控制模型[J].信息技术与标准化,2015(7):15-17.GONG Tao,QI Jianjun,DU Lin,et al.Intelligent Control Model of Flexible Production Line Based on Industrial Big Data[J].Information Technology&Standardization,2015(7):15-17.

[4]何振威,于雷,周受钦,等.基于工业大数据的压缩机全寿命周期管理系统开发[J].自动化与信息工程,2014(6):11-15.HE Zhenwei,YU Lei,ZHOU Shouqin,et al.Pu Hanjun.The Compressor Life-Cycle Management System Based on Industrial Big Data[J].Automation&Information Engineering,2014(6):11-15.

[5]Zhu F,Turner M,Kotsiopoulos I,et al.Dynamic data integration using web services[C]//Web Services,2004.Proceedings.IEEE International Conference on.IEEE,2004:262-269.

[6]周林华,陈华钧,毛郁欣.基于查询重写的数据服务组合方法[J].计算机集成制造系统,2009,15(4):823-832.ZHOU Linhua,CHEN Huajun,MAO Yuxin.Data service composition approach based on query rewriting[J].Computer Integrated Manufacturing Systems,2009,15(4):823-832.

[7]Vaculin R,Chen H,Neruda R,et al.Modeling and discovery of data providing services[C]//Web Services,2008.ICWS'08.IEEE International Conference on Web Services,2008:54-61.

[8]Barhamgi M,Benslimane D,Medjahed B.A query rewriting approach for web service composition[J].Services Computing,IEEE Transactions on,2010,3(3):206-222.

[9]Resource Description Framework[EB/OL]http://www.w3.org/RDF/.

[10]OWL-S:Semantic Markup for Web Services[EB/OL]http://www.w3.org/Submission/O WL-S/.

猜你喜欢

数据模型数据服务结点
大数据时代高校图书馆数据服务的困境及优化路径
地理空间大数据服务自然资源调查监测的方向分析
LEACH 算法应用于矿井无线通信的路由算法研究
基于八数码问题的搜索算法的研究
基于数据中台的数据服务建设规范研究
基于区块链的微网绿电交易数据模型研究
基于Pro/E 的发射装置设计数据快速转化方法
数据服务依赖图模型及自动组合方法研究
经济全球化对我国劳动收入份额影响机制研究——基于面板数据模型