一种基于数据服务的跨域电梯数据组合视图自动生成方法与流程

文档序号:11216347阅读:279来源:国知局
一种基于数据服务的跨域电梯数据组合视图自动生成方法与流程
本发明专利涉及电梯企业数据集成、数据服务、视图生成等领域,特别是给出了一种基于数据服务的跨域电梯数据组合视图自动生成方法。
背景技术
:电梯数据涵盖生产、制造、监测、维保、使用的各个阶段,其类别包括电梯的基本数据、生产数据、维保数据、运行数据等,具有跨企业、异构、自治等主要特点。如何将分布在不同企业的跨域电梯数据集成起来,并在此基础上通过数据组合方法生成满足用户需求的数据变得越来越重要,这将能够为电梯安全监测和电梯数据分析提供数据基础。在企业数据集成方法研究方面,张春霞等(计算机与数字工程,2005)在ogsa(opengridservicesarchitecture)的体系结构下,建立企业数据集成拓扑结构和系统模型,研究了节点互访过程,数据转换模型,探讨了其中的关键问题,实现了在自治高效的管理环境中可伸缩性的数据集成,用户透明地使用企业数据资源;钟杨俊等(微计算机信息,2009)提出了基于xml技术的企业数据集成模型的框架结构,并对该框架的各个组成部分给出了说明以及所涉及的关键技术进行了研究;张海峰等(计算机应用与软件,2011)介绍了基于面向服务体系结构(soa)的企业应用集成技术及其应用,讨论了基于soa的单点登录、工作流引擎及异构数据交换等技术,论述了其工作原理与关键技术,并给出了基于soa的企业应用集成的具体实现方法。在基于数据服务的跨域数据资源集成技术研究方面,xliu等(internationalconferenceoninformationscience&applications,2014)为现代企业信息系统设计了一套数据服务架构,用来解决数据的语义集成和数据服务器的适应性,使各种企业信息系统能获取和共享数据;谢兴生等(中国科学技术大学学报,2009)提出了一种基于数据服务匹配的数据集成方法,该方法主要基于数据服务发布、注册和检索的方式,利用数据形式语义进行数据集成,并增强与语义web和描述逻辑推理等智能技术的融合,具有良好的性能和可伸缩性;张鹏等(计算机学报,2011)提出了一种基于数据服务的数据组合视图的优化更新方法,借鉴数据缓存的思想把数据缓存到数据视图中间产生的复合数据服务来减少数据更新时间;温彦等(计算机科学与探索,2012)提出了跨组织业务数据视图的动态生成方法iviewer,通过可视化和易用的数据服务组合操作来动态构建数据视图;张鹏等(计算机学报,2013)提出了一种基于数据服务的嵌套视图动态更新方法,利用指针为嵌套视图中的元组建立嵌套任意层次的数据服务的引用,同时给出了一种记录数据服务更新的日志以及在该日志上的嵌套视图增量更新算法,该方法减少了嵌套视图的更新时间,提高了嵌套视图的数据新鲜度;王桂玲等(计算机学报,2015)提出了基于云计算的流数据集成与服务,归纳了大规模流数据的集成与服务研究面临的挑战,探讨了云计算环境下求解相关问题的思路;谢军等(武汉大学学报,2014)提出一种基于虚拟视图的多源数据集成方法,该方法利用分类包装器对底层物理数据进行包装和转换,统一异构数据源访问接口,把底层的数据转换为统一的数据模型,有效地实现了多源异构数据的集成。技术实现要素:本发明要克服现有技术的上述缺点,提出一种基于数据服务的跨域电梯数据组合视图自动生成方法,将各种类别的跨域电梯数据集封装为数据服务,注册到统一的数据平台上,然后根据数据服务间的依赖关系构建成数据服务依赖图,在数据服务依赖图的基础上根据用户数据需求自动对数据服务组合,生成复合数据服务,再通过执行复合数据服务生成数据组合视图,提高了数据组合视图生成的自动化程度,具有较强的实用价值。一种基于数据服务的跨域电梯数据组合视图自动生成方法,包括以下步骤:(1)将跨域电梯数据集封装为原子数据服务;(1.1)构建跨域电梯数据依赖图;根据电梯数据属性间的函数依赖和连接依赖,建立跨域电梯数据集的数据依赖图ddg;定义1数据依赖图,数据依赖图表示为一个扩展的有向图ddg=(u,e),其中u={a1,a2,…,an}是单个属性的集合;e={e1,e2,…,em}是属性间依赖关系的集合,如ei=x→aj表示属性aj完全依赖于属性集x,建立属性间数据依赖图的步骤为:输入:基本表及其属性,函数依赖集合,连接依赖集合输出:数据依赖图步骤a1:确定每个基本表的所有候选键;步骤a2:根据函数依赖,确定每个基本表内属性之间的依赖关系;步骤a3:根据连接依赖,确定所有基本表间的依赖关系;步骤a4:建立属性间的数据依赖图,其节点为属性,有向边为依赖关系;(1.2)基于数据依赖图将跨域电梯数据集划分原子数据服务;基于所构建的数据依赖图,将各类跨域电梯数据集划分为原子数据服务ads,其定义如下:定义2原子数据服务,将可独立访问且语义不可再分的数据服务称为原子数据服务,表示为一个八元组ads=<id,name,fields,description,input,output,operations,publisher>,其中id是ads的唯一标识;name是ads的名称;fields是ads的属性列表;description是ads的语义描述;input是ads的输入,有一个或多个;output是ads的输出,是一个关系;operations是对ads可执行的操作,包括查询、修改和删除;publisher是ads的发布者;基于步骤(1.1)中生成的数据依赖图将跨域电梯数据集划分为原子数据服务的算法如下:输入:数据依赖图ddg输出:原子数据服务集合步骤b1:从ddg的任意结点开始访问,设初始访问结点为v;步骤b2:访问结点v,做已访问标记,按照广度优先策略访问;步骤b3:查找结点v的任一邻接结点w,判断结点w是否存在,若不存在,转步骤b8;若邻接结点w存在且未访问,访问结点w,做已访问标记;步骤b4:判断结点v的前驱结点是否存在且未访问,若否,则确定v结点为前驱结点,w结点为后继结点,以v结点为输入,以w结点为输出,封装为ads,执行步骤b5;若存在且未访问过,转步骤b7;步骤b5:查找结点v的下一个邻接结点wn,若存在且未访问,访问该结点,并将该结点标记为已访问,然后以v结点为输入,该邻接结点为输出,封装为ads,转步骤b5;若不存在,执行步骤b6;步骤b6:确定v结点先访问到的邻接结点w1,后访问到的邻接结点wn,分别以w1结点,wn结点为新的初始访问结点v,并使w1结点的邻接结点先于wn的邻接结点被访问,转步骤b3;步骤:b7:判断v结点的前驱结点是否唯一,若唯一,则访问前驱结点,做已访问标记,并以前驱结点为输入,以v结点为输出,封装为ads,转步骤b5;若不唯一,则访问所有的前驱结点,做已访问标记,首先把v结点所有的前驱结点分别封装为一个ads,再把v结点和它所有的前驱结点封装为一个ads,转步骤b5;步骤b8:输出原子数据服务集合;(2)基于rest技术对原子数据服务进行封装;跨域电梯数据类型丰富,包括结构化与非结构化数据,将这些数据集都封装成rest风格的数据服务。rest服务需要包含3个层面:①每一种资源通过唯一的uri来访问;②客户端通过http协议的get,post,put,delete四个操作方式对服务器资源进行创建、读取、更新和删除操作;③服务器与客户端之间传递着资源的某种表述形式;将各类电梯数据集封装成基于rest的原子数据服务,注册并统一管理,用唯一的uri进行统一访问;(3)构建跨域电梯数据服务依赖图;由于原子数据服务是通过封装数据集的属性得到的,因此原有属性间的数据依赖关系直接转换为数据服务之间的依赖关系;根据属性间的依赖得到数据服务之间的以下三种依赖关系:定义3(顺序依赖)对于两个原子数据服务adsi与adsj,若adsi的属性值确定,adsj上的属性值也相应确定,即adsi→adsj,则称adsi与adsj之间为顺序依赖,adsi称为前驱服务,adsj为后继服务;定义4(合并依赖)对于原子数据服务ads1、ads2、…、adsm以及adsj,若{ads1∪ads2∪ads3∪…∪adsm}→adsj,则称为合并依赖;定义5(并发依赖)对于原子数据服务adsi以及ads1、ads2、…、adsm,若adsi→{ads1∧ads2∧ads3∧…∧adsm},则称为并发依赖;根据数据服务的依赖关系,构建出跨域电梯数据服务依赖图,简称服务依赖图dsdg,定义如下:定义6服务依赖图,将原子数据服务间的依赖关系描述为一个扩展的有向图,表示为一个二元组dsdg=(d,e),其中d={ads1,ads2,…,adsn}是原子数据服务集合;e={e1,e2,…em}是原子数据服务间依赖关系集合,如ei=a→adsj表示原子数据服务adsj依赖于原子数据服务集合a,(4)根据用户数据需求将原子数据服务组合为复合数据服务;(4.1)用户数据需求描述;数据服务组合过程是在用户数据需求驱动下进行的,用数据需求dr表示用户所需要操作的数据对象,其定义如下:定义7数据需求,用户所需要的属性列表、约束条件以及执行的操作称为数据需求,表示为一个三元组dr=<requires,conditions,operations>,其中requires表示数据需求的属性列表;conditions={<field,value>|field表示属性名,value表示属性值>}表示数据需求的约束条件,如果值为null,则表示没有约束条件;operations={get,delete,update}表示需要执行的操作;(4.2)基于数据服务依赖图生成复合数据服务;将用户数据需求作为输入,在数据服务依赖图上自动搜索相关的原子数据服务,并将原子数据服务组合的结果称为复合数据服务cds,其定义如下:定义8复合数据服务,由若干原子数据服务组成且可被独立访问的数据服务称为复合数据服务,它表示为一个八元组cds=<id,name,sub-dsdg,description,input,output,operations,operations>,其中id是cds的唯一标识;name是cds的名称;sub-dsg是dsdg的子图;description是ads的语义描述;input是cds的输入,有一个或多个;output是cds的输出,是一个关系;operations是对ads可执行的操作;publisher是ads的发布者;基于数据服务依赖图组合生成复合数据服务的算法如下:输入:数据服务依赖图dsdg,数据需求dr输出:复合数据服务cds步骤c1:从原子数据服务库中检索出包含dr中requires属性列表和conditions属性列表的所有的ads;步骤c2:任选其中一个ads作为初始访问结点v,做已访问标记,按照深度优先策略访问;步骤c3:查找dsdg中v结点的第一个邻接结点w,判断结点w是否存在,若不存在,转步骤c5;若邻接结点w存在且未访问,访问结点w,做已访问标记;步骤c4:判断v结点,w结点之间是否包含dr属性列表中所有的ads,若包含,则把v结点和w结点之间单链条所有访问结点封装为一个cds,结束算法;若不包含,确定w结点为新的初始访问结点v,转步骤c3;步骤c5:确定v结点排在w结点后的下一个邻接结点为初始访问结点v,转步骤c3;该算法可能会产生多个组合方案,将包括ads数量最少以及包括的属性个数最少的通路作为最终输出,得到最优的数据服务组合结果,该结果即是需要的cds;此外,该算法假设dsdg的所有节点是联通的,如果不是联通的,则分别对dsdg的所有子图循环使用该算法,并输出每个子图的cds;(5)执行复合数据服务自动生成数据组合视图;复合数据服务cds包含了与数据需求相关的原子数据服务及其依赖关系,其执行的结果称为数据组合视图,其定义如下:定义9数据组合视图,执行复合数据服务后生成的结果称为数据组合视图,其形式上是一张二维表格;以查询操作为例,执行cds生成数据组合视图的步骤如下:步骤d1:分别执行cds的所有ads,并根据conditions条件对ads的执行结果进行筛选;步骤d2:对具有服务依赖关系的ads的结果执行连接操作;步骤d3:根据dr中的requires属性列表对连接的结果执行投影操作;步骤d4:若存在多个cds,则反复执行步骤d1和步骤d4,得到多个满足dr的数据子集;步骤d5:对得到的多个数据子集执行并操作;执行复合数据服务所涉及的操作包括选择、连接、并和投影。本发明的优点是:本发明将各类跨域电梯数据集封装为原子数据服务,并基于rest技术将原子数据服务封装注册并统一管理,根据原子数据服务的依赖关系构建数据服务依赖图,在此基础上,根据用户数据需求自动组合原子数据服务生成复合数据服务,再执行复合数据服务生成数据组合视图。本发明为基于数据服务的跨域电梯数据集成提供了一种有效的数据组合视图自动生成方法,提高了其自动化程度。附图说明图1是本发明的跨域电梯数据集的数据依赖图图2是本发明的原子数据服务的依赖关系图图3是本发明的根据用户数据需求组合得到的复合数据服务具体实施方式下面结合附图,进一步说明本发明的技术方案。为便于说明,以电梯的设计数据、检测数据和维修数据三类数据为例说明发明专利的实施方式,假设这三类数据存储在不同的电梯单位,电梯设计数据包括的基本表如表1、表2、表3所示;电梯检测数据包括的基本表如表4、表5、表6;电梯维修数据包括的基本表如表7、表8、表9所示;其中的属性eleno、属性tele_no和属性fele_no在三个部门中语义等价,相互依赖,为数据集成和共享提供了桥梁作用;结合以上三类跨域电梯数据对基于数据服务的跨域电梯数据组合视图自动生成方法的具体实施方式进行说明,步骤如下:(1)将跨域电梯数据集封装为原子数据服务;(1.1)构建跨域电梯数据依赖图;根据跨域电梯数据集属性间的函数依赖和连接依赖,以及等价的属性集eleno、tele_no和fele_no,建立跨域电梯数据依赖图ddg,如图1所示;(1.2)基于数据依赖图将跨域电梯数据集划分原子数据服务;根据图1所示的数据依赖图,对其中属性按照
发明内容中的划分算法得到划分后的原子数据服务集合,如表10所示;表10原子数据服务集合(2)基于rest技术对原子数据服务进行封装;根据表10的划分结果,基于rest技术对原子数据服务进行封装,以原子数据服务getelename为例,给出封装的实现代码:(3)构建跨域电梯数据服务依赖图;由于原子数据服务是通过封装数据集的属性得到的,因此原有属性间的数据依赖关系可以直接转换为数据服务之间的依赖关系,由此可以建立原子数据服务的依赖关系图,如图2所示;(4)根据用户数据需求将原子数据服务组合为复合数据服务;(4.1)用户数据需求描述;数据服务组合过程是在用户数据需求驱动下进行的,用数据需求dr表示用户所需要操作的数据对象;假设存在一个数据查询需求:查询客户名称为“杭州大厦”,电梯名称为“观光电梯”的规格型号和安装位置以及运行速度,则该数据需求dr可以表示为:dr=<{{eleno,eletype},{fele_no,fele_insloc},{tele_no,tele_id,tele_speed}},{<cname,“杭州大厦”>},{<elename,“观光电梯”>},get>其中:{eleno,eletype}表示查询电梯规格型号所需的属性列表,{fele_no,fele_insloc}表示查询电梯安装位置所需的属性列表,{tele_no,tele_id,tele_speed}表示查询电梯运行速度所需的属性列表,get表示查询操作;(4.2)基于数据服务依赖图生成复合数据服务;将用户数据需求作为输入,在数据服务依赖图上自动搜索相关的原子数据服务,并将原子数据服务组合为复合数据服务cds;以上述查询需求dr为例,自动生成满足该需求的复合数据服务如图3所示;(5)执行复合数据服务自动生成数据组合视图;执行图3所示的cds中所有ads,并根据conditions约束条件对ads的执行结果进行筛选,对具有服务依赖关系的ads的结果执行连接操作,根据dr中的requires属性列表对连接的结果执行投影操作,得到表11的结果。表11跨域电梯数据组合视图电梯编号规格型号维修编号安装位置检测编号检测标识运行速度00023kwg2000/0.5vvvff003下城区武林广场21号t005000051.5m/s本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1