一种关系数据的服务封装系统和方法技术方案

技术编号:8131079 阅读:224 留言:0更新日期:2012-12-27 03:15
本发明专利技术提供一种关系数据的服务封装系统,包括:数据对象生成装置,用于根据关系表生成数据对象;可视化数据对象配置装置,用于将所述数据对象以对象树的形式呈现给用户,并接受用户的配置操作以形成带有配置操作信息的对象树;以及数据服务生成装置,用于根据所述带有配置操作信息的对象树为每一个数据对象生成一个服务实现接口。本发明专利技术还提供了相应的关系数据的服务封装方法。本发明专利技术能够直观地呈现关系数据模式和关联关系,并且能使用户以直观的方式表达数据获取逻辑,并能够将用户所表达的数据获取逻辑映射至对关系数据的查询上。

【技术实现步骤摘要】

本专利技术涉及数据库
、分布式计算和互联网计算
,具体地说,本专利技术涉及ー种关系数据的服务封装系统和方法
技术介绍
面向服务的架构(SOA)的典型特征包括松耦合、高重用性、服务封装、位置透明,以及由此带来的较高的互操作能力等,它以服务为最基本的可重用単元,服务已成为企业应用集成、信息集成的主流方式之一。将企业内的各种数据资源封装为服务是利用服务进行信息集成的关键步骤,一般地,将这类从数据源获取数据的服务称为数据服务,也称为数据提供服务,数据服务所提供的数据是符合特定逻辑的,它们有可能是对数据源的查询結果,也可能是对数据源进行过滤、变换等处理后的数据等。将数据封装为服务一方面是数据服务提供者提供特定逻辑的 数据获取服务时必须进行的工作,另ー方面在公共数据平台上,平台运行维护者提供大量数据,数据使用者也可将所需数据进行封装以获得满足自身需求的数据服务。当前主要的服务实现技术包括SOAP Web服务和Restful Web服务等,前者利用WSDL标准来描述服务、利用SOAP作为消息传输协议,同时包括UDDI、WS-Addressing等协议栈,是企业级面向服务架构的基本实现方案,后者是轻量级服务的代表,它将网络上的所有事物抽象为资源,通过URL地址来描述资源,通过标准的HTTP方法来操作资源。服务封装的目标是将各种资源或业务逻辑发布为基于这些具体技术的Web服务。现有的关系数据服务封装的方法大多将复杂的SQL查询语句封装为服务,将SQL语句的參数和投影结果抽取出来作为服务的输入输出參数。其缺陷是用户需要浏览多个表以了解表之间的关联关系,且需要编写复杂的SQL语句,运行调试以保证语法正确,再在此基础上进行服务封装,用户的体验较差。另ー种方法是将各个表的数据单独封装为服务,用户在这些数据服务的基础上进行组合操作以实现复杂逻辑。其缺陷是未考虑关系表之间的关系,无法反映特定的数据获取逻辑(此处的数据获取逻辑指类似于SQL的数据查询逻辑),用户需要在获得所有表的数据后才能通过组合操作表达复杂逻辑,因此这种方法与直接在服务中封装数据获取逻辑相比,其效率明显降低。并且,利用上述两种方法封装的服务所获得的数据均为扁平结构,即缺乏数据之间的内在逻辑层次。因此,当前迫切需要,该服务封装系统和方法能够直观地呈现关系数据模式和关联关系,能使用户以直观的方式表达数据获取逻辑,并能够将用户所表达的数据获取逻辑映射至对关系数据的查询上。
技术实现思路
本专利技术的目的是提供一种能够直观地呈现关系数据模式和关联关系,能使用户以直观的方式表达数据获取逻辑,井能够将用户所表达的数据获取逻辑自动映射至对关系数据的查询,同时将查询过程自动封装为程序接ロ并发布为可访问服务的关系数据的服务封装系统和方法。为实现上述专利技术目的,本专利技术提供了一种关系数据的服务封装系统,包括数据对象生成装置,用于根据关系表生成数据对象;可视化数据对象配置装置,用于将所述数据对象以对象树的形式呈现给用户,并接受用户的配置操作以形成带有配置操作信息的对象树;以及数据服务生成和发布装置,用于为每ー个数据对象生成一个服务实现接ロ ;从所述的带有配置操作信息的对象树中抽取出參数,并将其设为服务实现接ロ的输入參数;根据所述的带有配置操作信息的对象树生成返回数据类型,并将服务实现接ロ的返回类型设为该数据类型;根据所述的带有配置操作信息的对象树生成该服务实现接ロ的内部逻辑;将生成的服务实现接ロ发布到某一地址上。 其中,所述带有配置操作信息的对象树包括约束树和结果树;所述数据服务生成和发布装置,还用于从所述约束树的节点中抽取出參数,并将其设为服务实现接ロ的输入參数;根据所述结果树生成返回数据类型,并将服务实现接ロ的返回类型设为该数据类型;根据所述约束树生成该服务实现接ロ的内部逻辑。其中,所述数据对象生成装置,还用于对于ー个需要生成相应数据对象的关系表,其中的非外键字段构成所述数据对象的简单属性,其中的外键字段所关联的关系表的结构构成所述数据对象的复合属性,对于通过外键关联到所述需要生成相应数据对象的关系表的关系表,当关联关系声明为唯一时,所述通过外键关联到所述需要生成相应数据对象的关系表的关系表的结构构成所述数据对象的复合属性,当关联关系没有声明为唯一时,所述通过外键关联到所述需要生成相应数据对象的关系表的关系表的列表构成所述数据对象的列表属性。其中,所述可视化数据对象配置装置用于接受用户的下列配置操作中的一种或多种选择操作、增加约束操作、聚集操作、排序操作。其中,所述可视化数据对象配置装置还用于接受用户的隐藏数据节点操作和/或重命名操作。其中,所述可视化数据对象配置装置还用于接受用户的展开操作和/或切换数据对象视图。其中,所述可视化数据对象配置装置还用于对用户的配置操作进行有效性验证。本专利技术还提供了相应的关系数据的服务封装方法,包括下列步骤I)将关系表转化为数据对象;2)将数据对象呈现为数据对象树;3)用户根据实际需要在数据对象树视图上进行配置操作;4)根据所述配置操作更新对象树得到带有配置操作信息的对象树;5)从所述的带有配置操作信息的对象树抽取出服务实现接ロ的參数、根据所述的带有配置操作信息的对象树生成服务实现接ロ的返回数据类型、生成该服务实现接ロ的内部逻辑,从而生成服务实现接ロ ;6)将所生成的服务实现接ロ发布至某一地址。其中,所述带有配置操作信息的对象树包括约束树和结果树;所述步骤5)中,从约束树的节点中抽取出參数,并将其设为服务实现接ロ的输入參数;根据结果树生成返回数据类型,并将服务实现接ロ的返回类型设为该数据类型;根据约束树生成该服务实现接ロ的内部逻辑。其中,所述步骤3)中,还包括对用户的配置操作进行有效性验证,只有通过有效性验证,才能继续执行步骤4)。其中,所述步骤3)中,用户的配置操作包括展开操作、选择操作、增加约束操作、删除约束操作、聚集操作、隐藏数据节点操作、重命名操作、排序操作中的ー种或多种。相对于现有技术,本专利技术具有下列技术效果I、能够直观地呈现关系数据模式和关联关系,并且能使用户以直观的方式表达数据获取逻辑,井能够将用户所表达的数据获取逻辑映射至对关系数据的查询上。 2、通过对象树呈现关系数据模式,覆盖了关系数据中最常见的基于外键引用的数据库表连接,同时表达了引用和被引用关系,且这种关系是可在视图上逐层扩展和深入的,并且可基于此关联关系即时转换视图焦点,即当前主要描述的数据对象。3、用户对数据对象的操作覆盖了基本的数据库查询操作,同数据对象本身包涵的引用和被引用关系一起能够覆盖绝大多数的数据库查询需求。4、能够自动化地将用户以可视化操作的方式表达的数据获取逻辑转化为用程序设计语言和数据库操作语言实现的程序过程,并且发布为可通过网络访问的Web服务。服务的接ロ保留了符合用户需求的数据层次结构。附图说明图I示出了本专利技术ー个实施例的关系数据可视化服务封装系统的结构示意图;图2示出了本专利技术ー个实施例的关系数据可视化服务封装方法的流程图;图3示出了本专利技术ー个实施例的将关系数据对象化的方法流程图;图4示出了本专利技术一个实施例的中利用数据服务生成和发布装置生成服务接ロ并发布的流程图;图5示出了本专利技术ー个实施例中将约束树划分为子树片段的示例;图6示出了本专利技术ー个实施本文档来自技高网
...

【技术保护点】
一种关系数据的服务封装系统,包括:数据对象生成装置,用于根据关系表生成数据对象;可视化数据对象配置装置,用于将所述数据对象以对象树的形式呈现给用户,并接受用户的配置操作以形成带有配置操作信息的对象树;以及数据服务生成装置,用于为每一个数据对象生成一个服务实现接口;从所述的带有配置操作信息的对象树中抽取出参数,并将其设为服务实现接口的输入参数;根据所述的带有配置操作信息的对象树生成返回数据类型,并将服务实现接口的返回类型设为该数据类型;根据所述的带有配置操作信息的对象树生成该服务实现接口的内部逻辑。

【技术特征摘要】
1.一种关系数据的服务封装系统,包括 数据对象生成装置,用于根据关系表生成数据对象; 可视化数据对象配置装置,用于将所述数据对象以对象树的形式呈现给用户,并接受用户的配置操作以形成带有配置操作信息的对象树;以及 数据服务生成装置,用于为每ー个数据对象生成一个服务实现接ロ ;从所述的带有配置操作信息的对象树中抽取出參数,并将其设为服务实现接ロ的输入參数;根据所述的带有配置操作信息的对象树生成返回数据类型,并将服务实现接ロ的返回类型设为该数据类型;根据所述的带有配置操作信息的对象树生成该服务实现接ロ的内部逻辑。2.根据权利要求I所述的关系数据的服务封装系统,其特征在于,所述带有配置操作信息的对象树包括约束树和结果树;所述数据服务生成装置还用于从所述约束树的节点中抽取出參数,并将其设为服务实现接ロ的输入參数;根据所述结果树生成返回数据类型,并将服务实现接ロ的返回类型设为该数据类型;根据所述约束树生成该服务实现接ロ的内部逻辑。3.根据权利要求I所述的关系数据的服务封装系统,其特征在于,所述数据对象生成装置还用于对于ー个需要生成相应数据对象的关系表,其中的非外键字段构成所述数据对象的简单属性,其中的外键字段所关联的关系表的结构构成所述数据对象的复合属性,对于通过外键关联到所述需要生成相应数据对象的关系表的关系表,当关联关系声明为唯一时,所述通过外键关联到所述需要生成相应数据对象的关系表的关系表的结构构成所述数据对象的复合属性,当关联关系没有声明为唯一时,所述通过外键关联到所述需要生成相应数据对象的关系表的关系表的列表构成所述数据对象的列表属性。4.根据权利要求I所述的关系数据的服务封装系统,其特征在于,所述可视化数据对象配置装置用于接受用户的下列配置操作中的ー种或多种选择操作、增加...

【专利技术属性】
技术研发人员:温彦房俊韩燕波
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1