著录项信息
专利名称 | 基于OpenSearch轻量级卫星数据分布式协同服务系统 |
申请号 | CN201510393782.4 | 申请日期 | 2015-07-07 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-10-28 | 公开/公告号 | CN105005608A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 中国科学院遥感与数字地球研究所 | 申请人地址 | 北京市海淀区邓庄南路9号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国科学院遥感与数字地球研究所 | 当前权利人 | 中国科学院遥感与数字地球研究所 |
发明人 | 庞禄申;李国庆;解吉波;于文洋;黄克颖;张红月;张连翀;刘莉苹 |
代理机构 | 北京纽乐康知识产权代理事务所(普通合伙) | 代理人 | 张朝元 |
摘要
本发明公开了一种基于OpenSearch轻量级卫星数据分布式协同服务系统,包括元数据自动化提取模块用于自动化提取遥感数据元数据,构建元数据库;数据网格节点模块用于实现数据查询、数据获取和数据编目同步服务的业务过程的调用和数据的封装与管理;数据转换操作模块用于对OpenSearch服务的数据源和非OpenSearch服务的数据源参数以及互操作协议进行转换;网络安全控制模块用于根据安全策略,对用户的权限和用户发起的数据请求进行设置和管理;数据服务自动化发布模块用于对外提供OpenSearch服务接口和非OpenSearch服务接口;分布式数据查询引擎用于实现分布式异构数据源的分布式查询。
1.一种基于OpenSearch轻量级卫星数据分布式协同服务系统,其特征在于,包括:
元数据自动化提取模块,用于自动化提取各卫星数据中心的遥感数据元数据,并根据预定目录结构,构建元数据库;
数据网格节点模块,用于与所述元数据库进行交互,实现对元数据库中的数据进行数据查询、数据获取和数据编目同步服务的业务过程的调用,并实现对所述元数据库中的数据进行封装和管理;
数据转换操作模块,用于对OpenSearch服务的数据源和非OpenSearch服务的数据源的输入和输出参数以及互操作协议进行转换,实现OpenSearch服务和非OpenSearch服务之间的数据调用;
网络安全控制模块,用于根据预先设定的安全策略,对用户的权限进行设置和管理,并根据用户的权限,对用户发起的数据请求进行安全控制管理;
数据服务自动化发布模块,用于对外提供OpenSearch服务接口和非OpenSearch服务接口,以实现数据的发布;
分布式数据查询引擎,用于实现分布式异构数据源的分布式查询。
2.根据权利要求1所述的基于OpenSearch轻量级卫星数据分布式协同服务系统,其特征在于,所述数据网格节点模块包括数据节点服务模块、数据节点封装模块和数据节点管理模块,其中,
数据节点服务模块,用于与所述元数据库进行交互,实现对元数据库中的数据进行数据查询、数据获取和数据编目同步服务的业务过程的调用;
数据节点封装模块,用于与所述元数据库进行交互,实现对所述元数据库中的数据进行封装;
数据节点管理模块,用于与所述数据节点服务模块进行交互,实现对所述数据节点服务模块的管理。
3.根据权利要求2所述的基于OpenSearch轻量级卫星数据分布式协同服务系统,其特征在于,所述数据节点服务模块包括数据查询模块、数据获取模块和数据编目模块,其中,数据查询模块,用于接收并解析用户发起的数据查询请求,并根据解析结果与元数据库进行交互,实现对应的数据查询;
数据获取模块,用于接收并解析用户发起的数据获取请求,并根据解析结果与元数据库进行交互,实现对应的数据获取;
数据编目模块,用于接收并解析用户发起的编目服务请求,并根据解析结果与所述元数据库进行交互,生成并反馈编目服务需求的统计信息。
4.根据权利要求1所述的基于OpenSearch轻量级卫星数据分布式协同服务系统,其特征在于,所述数据转换操作模块包括数据交换参数转换模块和数据互操作协议转换模块,其中,
数据交换参数转换模块,用于对已经发布为OpenSearch服务的数据源,将用户请求的参数转换为该数据源服务可识别参数,并将该数据源服务的返回结果进行转换处理,以网格系统统一的方式反馈给用户;
数据互操作协议转换模块,用于对公开服务接口但不支持OpenSearch协议的数据源的数据进行数据互操作协议转换,实现OpenSearch服务和非OpenSearch服务之间的数据调用。
5.根据权利要求1所述的基于OpenSearch轻量级卫星数据分布式协同服务系统,其特征在于,所述网络安全控制模块包括策略执行模块、策略决定模块、属性管理模块和策略支持模块,其中,
策略执行模块,用于负责拦截用户发起的请求,将用户请求传递给策略决定模块,同时用于接收并执行所述策略决定模块所返回的决策结果;
策略决定模块,用于接收所述策略执行模块所发送的用户请求,并根据该用户请求,向属性管理模块发出属性调用请求,根据属性管理模块所反馈的属性信息,调用策略支持模块中的预定安全策略,根据属性信息实时生成带访问权限控制的查询条件,将给查询条件反馈给策略执行模块;
属性管理模块,用于管理用户的属性信息,向策略决定模块提供属性支持;
策略支持模块,用于制定安全策略规则,向策略决定模块提供策略支持。
6.根据权利要求5所述的基于OpenSearch轻量级卫星数据分布式协同服务系统,其特征在于,对用户的属性信息进行管理包括:对用户属性的设置、增删和更新。
7.根据权利要求5所述的基于OpenSearch轻量级卫星数据分布式协同服务系统,其特征在于,所述安全策略包括平台维度策略、时间维度策略、空间维度策略、产品维度策略和冲突消解策略。
基于OpenSearch轻量级卫星数据分布式协同服务系统\n技术领域\n[0001] 本发明涉及一种卫星数据分布式系统服务技术,具体来说,涉及一种基于OpenSearch的轻量级卫星数据分布式协同服务系统。\n背景技术\n[0002] 一、基于Web Service的空间数据网格系统:\n[0003] Web Service技术,能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据Web Service规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。Web Service是自描述、自包含的可用网络模块,可以执行具体的业务功能。Web Service也很容易部署,因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。\n[0004] Web Service平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据表示方法和类型系统。要实现互操作性,Web Service平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。这些协议有:\n[0005] 1)XML和XSD:\n[0006] 可扩展的标记语言(标准通用标记语言下的一个子集)是Web Service平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它既与平台无关,又与厂商无关。XML是由万维网协会(W3C)创建,W3C制定的XML SchemaXSD定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。\n[0007] 2)SOAP:\n[0008] SOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML(标准通用标记语言下的一个子集)编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。例如,可以使用SMTP,即因特网电子邮件协议来传递SOAP消息。\n[0009] 3)WSDL:\n[0010] Web Service描述语言WSDL就是用机器能阅读的方式提供的一个正式描述文档而基于XML(标准通用标记语言下的一个子集)的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。\n[0011] 4)UDDI:\n[0012] UDDI (Universal Description, Discovery and Integration)的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。\n[0013] 5)调用RPC(Remote Procedure Call Protocol,远程过程调用协议)与消息传递:\n[0014] Web Service本身其实是在实现应用程序间的通信。有两种应用程序通信的方法:\nRPC远程过程调用和消息传递。使用RPC的时候,客户端的概念是调用服务器上的远程过程,通常方式为实例化一个远程对象并调用其方法和属性。RPC系统试图达到一种位置上的透明性:服务器暴露出远程对象的接口,而客户端就好像在本地使用的这些对象的接口一样,这样就隐藏了底层的信息,客户端也就根本不需要知道对象是在哪台机器上。\n[0015] 基于Web Service实现的空间信息网格有EOS(Earth Observing System, 地球观测系统),它是 NASA(美国国家航空航天局) 建立的长期人造卫星和科学仪器的对地观测系统。它的观测任务包含陆地、大气、海洋、生物圈。其卫星发射始于1997年,卫星传感器种类多样化,涵盖目前常用的MODIS,TM,MSS等。 ECHO (EOS ClearingHouse)是 ESDIS(Earth Science Data and Information System)建立在 EOS 之上的空间数据元数据目录和数据查询代理平台,它为科学数据的使用者提供 NASA EOS 数据便捷的数据访问服务。ECHO实际上是一个中间件,它通过提供给用户应用程序使用接口,实现空间数据的查询和获取功能。ECHO通过统一的应用程序接口提供给用户EOSDIS数据产品和其它地球科学数据。\n[0016] 二、基于OGC 服务规范的数据网格:\n[0017] OGC(Open Geospatial Consortium,开放地理空间联盟),是一个非盈利的志愿的国际标准化组织,引领着空间地理信息标准及定位基本服务的发展。目前在空间数据互操作领域,基于公共接口访问模式的互操作方法是一种基本的操作方法。通过国际标准化组织(ISO/TC211)或技术联盟(如OGC)制定空间数据互操作的接口规范,GIS软件商开发遵循这一接口规范的空间数据的读写函数,可以实现异构空间数据库的互操作。OGC和ISO/TC211共同推出了基于Web Service(网络服务)的空间数据互操作实现规范Web Map Service,Web Feature Service,Web Coverage Service,Catalog Service-Web(CSW),Web Process Service以及用于空间数据传输与转换的地理信息标记语言(GML)。OGC提出了一个能无缝集成各种在线空间处理和位置服务的框架即OWS(OGC Web Service),使得分布式空间处理系统能够通过XML和HTTP技术进行交互,并为各种在线空间数据资源、来自传感器的信息、空间处理服务和位置服务,基于Web的发现、访问、集成、分析、利用和可视化提供互操作框架。\n[0018] 1)网络地图服务:\n[0019] 网络地图服务(WMS)利用具有地理空间位置信息的数据制作地图。其中将地图定义为地理数据可视的表现。这个规范定义了三个操作:GetCapabitities返回服务级元数据,它是对服务信息内容和要求参数的一种描述; GetMap返回一个地图影像,其地理空间参考和大小参数是明确定义了的;GetFeatureInfo(可选)返回显示在地图上的某些特殊要素的信息。\n[0020] 2)网络要素服务:\n[0021] 网络地图服务返回的是图层级的地图影像,网络要素服务(WFS)返回的是要素级的GML编码,并提供对要素的增加、修改、删除等事务操作,是对Web地图服务的进一步深入。\nOGC 网络要素服务允许客户端从多个Web要素服务中取得使用地理标记语言(GML)编码的地理空间数据,这个规范定义了五个操作:GetCapabilites返回Web要素服务性能描述文档(用XML描述);DescribeFeatureType返回描述可以提供服务的任何要素结构的XML文档;\nGetFeature为一个获取要素实例的请求提供服务;Transaction为事务请求提供服务;\nLockFeature处理在一个事务期间对一个或多个要素类型实例上锁的请求。\n[0022] 3)网络覆盖服务:\n[0023] 网络覆盖服务(WCS)面向空间影像数据,它将包含地理位置值的地理空间数据作为“覆盖(Coverage)”在网上相互交换。网络覆盖服务由三种操作组成:GetCapabilities,GetCoverage和DescribeCoverageType。GetCapabilities操作返回描述服务和数据集的XML文档。网络覆盖服务中的GetCoverage操作是在GetCapabilities确定什么样的查询可以执行、什么样的数据能够获取之后执行的,它使用通用的覆盖格式返回地理位置的值或属性。DescribeCoverageType操作允许客户端请求由具体的WCS服务器提供的任一覆盖层的完全描述。\n[0024] 4)网络目录服务:\n[0025] 网络目录服务(CSW)—是一种OGC标准,它能够支持地理空间数据集的发布和搜索,用于空间资源发现的目录服务,它提供以下七个接口: GetCapabilities,DescribeRecord,GetDomain,GetRecords,GetRecordById,Harvest,Transaction。\n[0026] 5)网络处理服务:\n[0027] Web Process Service(WPS)是支持 Web 数据处理的服务,提供原始的算法调用的接口。这个规范定义了三个操作接口:GetCapabilities, DescribeProcess,Execute。\n[0028] 目前,多数卫星数据共享或分发系统都是基于以上服务规范开发和运行,例如:\n(1)GEOSS(The Global Earth Observation System of Systems)是GEO在其10年执行计划中建立的对地观测系统的系统。GEOSS致力于实现环境观测数据和决策支持工具同这些产品终端用户之间的连接,加强对地观测与全球问题之间联系。它的最终目标是建立一个能够服务于广大用户的全方面的、实时和近实时的环境观测数据和信息获取分析的全球公共基础设施。(2)GENESI DR(Ground European Network for Earth Science Interoperations Digital Repositories)是GEOSS 的一部分,是欧洲各组织在实现全球对地观测系统上所做出的贡献。这套系统在框架结构上有四个部分组成:目录;发现代理;\n目录访问服务;数据访问服务组成。\n[0029] 目前这些系统存在以下缺点或不足:\n[0030] 标准不统一:数据共享平台都有一套自己的数据网格系统的数据描述标准和数据发布共享协议等,这些标准和协议与自身系统严重耦合,难以直接移植到别的数据服务系统上。这为实现系统的系统(system of systems)造成了难度,使得各个数据共享平台成了数据孤岛。\n[0031] 通信协议耦合性过高:目前即便是采用了OGC(Open GIS Consortium)的数据网格系统,所使用的数据交换协议和数据互操作协议由于其对系统的耦合性严重,当别的已有服务系统的数据单位想要加入网格系统时,整合周期往往较长,效率较低且难以保证数据单位的独立自治性。\n[0032] 通信协议过于复杂:当出现紧急情况需要快速构建空间数据网格,实现异构空间数据共享用以提供决策支持时,现有的数据共享技术构建空间数据共享平台的效率太低,网格系统自动化快速构建技术欠缺,难以实现异构数据源紧急情况下的快速信息共享。\n[0033] 缺乏可靠的安全机制:当某一个数据共享系统接入网格时,其自身的安全机制很容易被破坏。\n[0034] 因此,有必要引入一种更为简单高效的通信协议规范(OpenSearch),基于该规范研发一种轻量级的卫星数据分布式协同服务技术,使数据网格系统更为简单、高效、易扩展、易维护以及安全。\n发明内容\n[0035] 本发明的目的是提供一种基于OpenSearch轻量级卫星数据分布式协同服务系统,以克服现有相关技术中的上述技术问题。\n[0036] 本发明的技术方案是这样实现的:\n[0037] 一种基于OpenSearch轻量级卫星数据分布式协同服务系统,包括:\n[0038] 元数据自动化提取模块,用于自动化提取各卫星数据中心的遥感数据元数据,并根据预定目录结构,构建元数据库;\n[0039] 数据网格节点模块,用于与所述元数据库进行交互,实现对元数据库中的数据进行数据查询、数据获取和数据编目同步服务的业务过程的调用,并实现对所述元数据库中的数据进行封装和管理;\n[0040] 数据转换操作模块,用于对OpenSearch服务的数据源和非OpenSearch服务的数据源的输入和输出参数以及互操作协议进行转换,实现OpenSearch服务和非OpenSearch服务之间的数据调用;\n[0041] 网络安全控制模块,用于根据预先设定的安全策略,对用户的权限进行设置和管理,并根据用户的权限,对用户发起的数据请求进行安全控制管理;\n[0042] 数据服务自动化发布模块,用于对外提供OpenSearch服务接口和非OpenSearch服务接口,以实现数据的发布;\n[0043] 分布式数据查询引擎,用于实现分布式异构数据源的分布式查询。\n[0044] 在上述方案中,所述数据网格节点模块包括数据节点服务模块、数据节点封装模块和数据节点管理模块。\n[0045] 其中,数据节点服务模块,用于与所述元数据库进行交互,实现对元数据库中的数据进行数据查询、数据获取和数据编目同步服务的业务过程的调用。数据节点封装模块,用于与所述元数据库进行交互,实现对所述元数据库中的数据进行封装。数据节点管理模块,用于与所述数据节点服务模块进行交互,实现对所述数据节点服务模块的管理(包括注册,启动,停止和注销)。\n[0046] 在上述方案中,所述数据节点服务模块包括数据查询模块、数据获取模块和数据编目模块。\n[0047] 其中,数据查询模块,用于接收并解析用户发起的数据查询请求,并根据解析结果与元数据库进行交互,实现对应的数据查询;数据获取模块,用于接收并解析用户发起的数据获取请求,并根据解析结果与元数据库进行交互,实现对应的数据获取;数据编目模块,用于接收并解析用户发起的编目服务请求,并根据解析结果与所述元数据库进行交互,生成并反馈编目服务需求的统计信息。\n[0048] 在上述方案中,所述数据转换操作模块包括数据交换参数转换模块和数据互操作协议转换模块。\n[0049] 其中,数据交换参数转换模块,用于对已经发布为OpenSearch服务的数据源,将用户请求的参数转换为该数据源服务可识别参数,并将该数据源服务的返回结果进行转换处理,以网格系统统一的方式反馈给用户;数据互操作协议转换模块,用于对公开服务接口但不支持OpenSearch协议的数据源的数据进行数据互操作协议转换,实现OpenSearch服务和非OpenSearch服务之间的数据调用。\n[0050] 在上述方案中,所述网络安全控制模块包括策略执行模块、策略决定模块、属性管理模块和策略支持模块。\n[0051] 其中,策略执行模块,用于负责拦截用户发起的请求,将用户请求传递给策略决定模块,同时用于接收并执行所述策略决定模块所返回的决策结果;策略决定模块,用于接收所述策略执行模块所发送的用户请求,并根据该用户请求,向属性管理模块发出属性调用请求,根据属性管理模块所反馈的属性信息,调用策略支持模块中的预定安全策略,根据属性信息实时生成带访问权限控制的查询条件,将给查询条件反馈给策略执行模块;属性管理模块,用于管理用户的属性信息,向策略决定模块提供属性支持;策略支持模块,用于制定安全策略规则,向策略决定模块提供策略支持。\n[0052] 在上述方案中,对用户的属性信息进行管理包括:对用户属性的设置、增删和更新。并且,所述安全策略包括平台维度策略、时间维度策略、空间维度策略、产品维度策略和冲突消解策略。\n[0053] 本发明的有益效果:\n[0054] 从数据服务协议来看:系统采用了轻量级的OpenSearch服务协议。该协议对参数内容和格式都可以自定义,灵活性强,是一个可以通用和移植的框架。并且它应用在本系统中,所扩展的查询元数据模型简单通用,能够涵盖矢量和栅格数据的数据查询特点。此外,直接通过HTTP请求实现数据服务,没有类似现有的其它协议的多层封装,更加直观简洁。试验证明,基于OpenSearch的卫星数据分布式协同服务技术比基于WPS规范的网格系统快\n25%。\n[0055] 从系统的结构来看:在基于OpenSeach服务规范的数据服务系统中,数据服务构建相比于现有的OGC的各种数据服务和网络服务,没有严格的接口形式规定。OpenSeach服务规范基于参数格式定义和简单的内容聚合实现空间数据的共享,使得系统更加松耦合,可移植性更强,网格节点的接入效率较高。\n[0056] 从系统开发建设来看:首先,基于OpenSearch的系统结构简单,实现起来没有复杂的接口规定和封装;其次,本发明采用了空间数据网格系统的自动化构建技术,开发了相应了自动化服务中间件。真正实现了零编程搭建,各模块只需进行简单的配置就能够适应不同的数据源,不需要进行编程开发,因此,尤其是在突发状况时,能够迅速接入新的数据源,从而提供一键式的协同数据共享服务,使用户快速获得卫星数据。这两点使得系统的构建效率较高,与其他现有系统的整合周期缩短。\n[0057] 从系统安全上来看:该技术采用了基于ABAC(Attribute-Based Access Control,基于属性的访问控制)的安全访问控制机制,能够有效地防止用户恶意下载数据。ABAC机制具有控制精准,易配置,策略简易等特点,能够快速,准确地实现对用户的权限分配。尤其在网格系统达到一定规模的时候,这种机制的优越性表现十分突出。\n附图说明\n[0058] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0059] 图1是根据本发明实施例的基于OpenSearch轻量级卫星数据分布式协同服务系统的结构框图;\n[0060] 图2是根据本发明实施例的数据网格节点模块的结构框图;\n[0061] 图3是根据本发明实施例的数据节点服务模块的结构框图;\n[0062] 图4是根据本发明实施例的数据转换操作模块的结构框图;\n[0063] 图5是根据本发明实施例的网络安全控制模块的结构框图;\n[0064] 图6是根据本发明实施例的基于OpenSearch轻量级卫星数据分布式协同服务系统的模块结构示意图;\n[0065] 图7是根据本发明实施例的数据交换参数的转换原理示意图;\n[0066] 图8是根据本发明实施例的数据互操作协议的转换原理示意图;\n[0067] 图9是根据本发明实施例的ABAC的数据访问控制流程示意图;\n[0068] 图10是根据本发明实施例的基于OpenSearch轻量级卫星数据分布式协同服务系统技术框架图;\n[0069] 图11是根据本发明实施例的基于OpenSearch轻量级卫星数据分布式协同服务系统的逻辑层次结构图;\n[0070] 图12是根据本发明实施例的空间数据源的分类模型图;\n[0071] 图13是根据本发明实施例的元数据模型结构示意图;\n[0072] 图14是根据本发明实施例的查询参数模型结构示意图;\n[0073] 图15是根据本发明实施例的getOpenSearch接口查询流程示意图;\n[0074] 图16是根据本发明实施例的数据获取服务流程示意图;\n[0075] 图17是根据本发明实施例的空间数据编目服务示意图;\n[0076] 图18是根据本发明实施例的元数据提取过程流程示意图;\n[0077] 图19是根据本发明实施例的网格节点构建总体流程示意图;\n[0078] 图20是根据本发明实施例的基于OpenSearch的空间数据网格系统分布式数据查询的框架图。\n具体实施方式\n[0079] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。\n[0080] 根据本发明的实施例,提供了一种基于OpenSearch的轻量级卫星数据分布式协同服务系统。\n[0081] 如图1所示,根据本发明实施例所述的一种基于OpenSearch轻量级卫星数据分布式协同服务系统,包括:\n[0082] 元数据自动化提取模块101,用于自动化提取各卫星数据中心的遥感数据元数据,并根据预定目录结构,构建元数据库;\n[0083] 数据网格节点模块102,用于与所述元数据库进行交互,实现对元数据库中的数据进行数据查询、数据获取和数据编目同步服务的业务过程的调用,并实现对所述元数据库中的数据进行封装和管理;\n[0084] 数据转换操作模块103,用于对OpenSearch服务的数据源和非OpenSearch服务的数据源的输入和输出参数以及互操作协议进行转换,实现OpenSearch服务和非OpenSearch服务之间的数据调用;\n[0085] 网络安全控制模块104,用于根据预先设定的安全策略,对用户的权限进行设置和管理,并根据用户的权限,对用户发起的数据请求进行安全控制管理;\n[0086] 数据服务自动化发布模块105,用于对外提供OpenSearch服务接口和非\nOpenSearch服务接口,以实现数据的发布;\n[0087] 分布式数据查询引擎106,用于实现分布式异构数据源的分布式查询。\n[0088] 如图2所示,在上述方案中,所述数据网格节点模块102包括数据节点服务模块\n201、数据节点封装模块202和数据节点管理模块203。\n[0089] 其中,数据节点服务模块201,用于与所述元数据库进行交互,实现对元数据库中的数据进行数据查询、数据获取和数据编目同步服务的业务过程的调用。数据节点封装模块202,用于与所述元数据库进行交互,实现对所述元数据库中的数据进行封装。数据节点管理模块203,用于与所述数据节点服务模块进行交互,实现对所述数据节点服务模块的管理(包括注册,启动,停止和注销)。\n[0090] 如图3所示,在上述方案中,所述数据节点服务模块201包括数据查询模块301、数据获取模块302和数据编目模块303。\n[0091] 其中,数据查询模块301,用于接收并解析用户发起的数据查询请求,并根据解析结果与元数据库进行交互,实现对应的数据查询;数据获取模块302,用于接收并解析用户发起的数据获取请求,并根据解析结果与元数据库进行交互,实现对应的数据获取;数据编目模块303,用于接收并解析用户发起的编目服务请求,并根据解析结果与所述元数据库进行交互,生成并反馈编目服务需求的统计信息。\n[0092] 如图4所示,在上述方案中,所述数据转换操作模块103包括数据交换参数转换模块401和数据互操作协议转换模块402。\n[0093] 其中,数据交换参数转换模块401,用于对已经发布为OpenSearch服务的数据源,将用户请求的参数转换为该数据源服务可识别参数,并将该数据源服务的返回结果进行转换处理,以网格系统统一的方式反馈给用户;数据互操作协议转换模块402,用于对公开服务接口但不支持OpenSearch协议的数据源的数据进行数据互操作协议转换,实现OpenSearch服务和非OpenSearch服务之间的数据调用。\n[0094] 如图5所示,在上述方案中,所述网络安全控制模块104包括策略执行模块501、策略决定模块502、属性管理模块503和策略支持模块504。\n[0095] 其中,策略执行模块501,用于负责拦截用户发起的请求,将用户请求传递给策略决定模块,同时用于接收并执行所述策略决定模块所返回的决策结果;策略决定模块502,用于接收所述策略执行模块所发送的用户请求,并根据该用户请求,向属性管理模块发出属性调用请求,根据属性管理模块所反馈的属性信息,调用策略支持模块中的预定安全策略,根据属性信息实时生成带访问权限控制的查询条件,将查询条件反馈给策略执行模块;\n属性管理模块503,用于管理用户的属性信息,向策略决定模块提供属性支持;策略支持模块504,用于制定安全策略规则,向策略决定模块提供策略支持。\n[0096] 在上述方案中,对用户的属性信息进行管理包括:对用户属性的设置、增删和更新。并且,所述安全策略包括平台维度策略、时间维度策略、空间维度策略、产品维度策略和冲突消解策略。\n[0097] 为了方便理解本发明的上述技术方案,以下从技术原理的角度,对本发明的上述技术方案进行详细说明。\n[0098] 本发明的上述技术方案的技术要点主要包括以下几点:1)通信协议采用OpenSearch服务规范;2)模块化技术设计;3)网格中间件技术设计;4)基于ABAC的数据访问控制。\n[0099] 1)通信协议采用OpenSearch服务规范\n[0100] 目前,现有的数据网格采用自定义的Web Service协议,各系统缺乏统一的标准,因此,很容易形成数据孤岛,集成和共享较为困难。本发明采用OpenSearch服务规范,能够有效地提升数据服务能力,降低开发难度。\n[0101] OpenSearch作为一个最初在互联网中应用的开放式搜索结果共享的协议。其出现之初的目的就是为数据检索结果的共享。本身的协议标准就很简单,并且给予用户很多自定义的权力,可以自定义检索内容、检索结果等。由于其强大的数据共享能力,NASA(National Aeronautics and Space Administration,美国国家航空航天局)和ESA(European Space Agency,欧洲空间局)等都将其应用于空间数据的共享中,对其进行空间信息属性方面的扩展。这主要体现在元数据描述,数据互操作规范方面。并且,这些扩展的属性和规范大多参照现有的OGC的规范。例如:对地名、经纬度、地理查询参数等的扩展。在空间信息领域的应用是基于GeoRSS standard的扩展。这些扩展包括:地名、经纬度、半径(Radius)、外接矩形框(Box)、几何参数(geometry parameter)和位置关系(Ralation)。其中几何参数包含点(POINT)、线(LINESTRING)、面(POLYGON)、多点(MULTIPOINT)、多线(MULTILINESTRING)、多面(MULTIPOLYGON),位置关系参数包括交叉(intersects)、包含(contains)、相离(disjoint)。OpenSearch的协议标准配合相应的网格框架,可以形成为一套体系。第一,在对空间数据的复杂特性的支持上来看。通过对地理空间信息进行扩展后的OpenSearch协议支持空间数据的复杂时空特性的描述,并且查询元数据模型相对其它两项协议更加简单易用。OGC常用的各项数据发布协议也都支持空间数据的各种特性。Web Services(网络服务)广泛应用于互联网领域异构资源的共享,但并不支持空间数据的特有性质。\n[0102] 第二,在协议的国际化和专业化来看。OGC 是空间信息领域标准规范制定的权威组织,其对OpenSearch协议标准进行的扩展和制定具有国际水准。并且NASA,ESA等国际主流空间数据组织都有对OpenSearch的采用,这说明OpenSearch与OGC目前的各项标准同样具有国际化和专业权威性。并且,利用OpenSearch接口,还可以直接实现对国外数据源的便捷共享。Web Services(网络服务)同样是国际上广泛使用的异构资源共享标准,但是其在地学领域不具有专业性。\n[0103] 第三,在对大规模空间数据汇集能力上看。三项协议都能实现空间数据的汇集。但是Web Services(网络服务)由于对地学数据性质的不支持,导致实现起来难度大;OGC常用的协议标准能够很好的实现空间数据的汇集,但是由于其协议接口,操作规范等都有严格的定义,使得其与系统耦合程度较高。使得其在系统间难以移植,网格节点构建效率低,整合已有服务系统难度大,数据汇聚系统的可扩展性和灵活性低。而OpenSearch作为元搜索引擎的一项技术,对接口形式没有严格的规定,而是对查询请求的输入输出数据格式进行统一制定,并以HTTP请求的方式直接实现数据检索,实现数据源的高效聚合。OpenSearch协议能够更好的实现数据网格节点的快速构建和对已有数据服务系统的高效整合。\n[0104] 总的来说,作为国际化标准,OpenSearch协议由于其专门针对数据格式定义的元搜索引擎的搜索内容聚和机制,以及其简单的查询参数描述模型,和直接http的访问接口,使得其应用在空间数据网格上,能够更加快速的构建空间数据节点,和高效低成本的整合已有的数据服务系统纳入OpenSearch网格。研究基于OpenSearch的轻量级空间数据网格系统,探讨网格系统快速高效低成本的构建技术,对大规模空间数据的共享具有重要意义。\n[0105] 2)模块化技术设计\n[0106] 为了降低系统耦合性,增强组件的可重用性,系统采用了分模块实现的方案,各模块独立实现,通过OpenSearch服务规范连接。该分布式协同服务系统的模块结构如图6所示。\n[0107] 系统的功能模块主要分为几个大的方面:数据网格节点模块、分布式查询引擎、网格安全控制模块。其中,数据网格节点模块按照其功能分为节点服务、节点封装和节点管理等模块。\n[0108] 3)网格中间件技术设计\n[0109] 为了充分利用现有的网格系统,本发明并没有采用重新开发的方式,而是通过网格中间件集成。\n[0110] 公开服务接口数据源的情况分为两类,一类是服务接口即为OpenSearch接口;另一类是服务接口为其它协议接口,如Web Services(网络服务),OGC(WMS,WFS,WCS)。对于这两类情况,要兼容已有的数据服务系统,保证其最大化的独立自治,并将数据源构建为OpenSearch数据网格节点,都需要进行数据参数的转换或者数据协议的转换,需要研究并开发相应的Adaptor(数据转换操作模块)。\n[0111] Adaptor的功能主要有两大方面:\n[0112] 对数据交换参数的转换:对于已经发布为OpenSearch服务的数据源,由于其元数据描述标准和查询参数标准与本发明所要构建的一致化数据服务不同,需要针对具体的接口数据输入和输出参数进行转换。将用户请求的参数转换为该数据源服务可识别参数,并将该数据源服务的返回结果进行转换处理,以网格系统统一的方式返回给用户。其运作原理如图7所示。\n[0113] 对数据互操作协议的转换:对于公开服务接口但并不支持OpenSearch协议的数据源,不仅数据交换参数不同,其数据互操作协议也不同,需要建立两种协议的转换才能调用该数据源服务。其运作原理如图8所示。\n[0114] 4)基于属性的数据访问控制(ABAC)\n[0115] 在数据网格系统中,并不是所有的用户都有相同的权限,如果需要对某些用户进行访问权限的控制,则需要建立一种访问控制机制,本发明提出了基于属性的控制模式(ABAC,attribute-based access control)。\n[0116] 实现过程如下:\n[0117] 访问安全控制框架共包括四个模块:策略执行模块(PEM,policy execute module),策略决定模块(PDM,policy decision module),属性管理模块(AMM,attribute management module),策略支持模块(PSM, policy support module),结合相应的属性描述模型和策略决策机制。\n[0118] 访问控制流程如图9所示,控制流程如下:\n[0119] 用户注册网格系统,根据用户初始信息和相应数据访问权限设置其属性;用户成为网格系统用户后,登录网格系统,发出查询或获取请求,生成相应订单标识号;\n[0120] PEM首先拦截用户请求并将用户查询获取条件传递给PDM,向PDM发出访问控制决策请求;\n[0121] PDM接收到决策请求后,向AMM发出调用相应属性信息的请求,AMM将需要的信息,包括用户属性、元数据、环境信息等封装为属性实体返回给PDM;\n[0122] PDM调用PSM的策略仓库,根据AMM返回的属性信息和访问条件对用访问条件进行重构,生成已包含权限控制的访问条件;PDM将该条件作为决策结果返回给PEM;\n[0123] PEM将带有权限控制的决策结果传递给网格服务系统,发出查询或获取等请求。\n[0124] 整个流程由权限控制中心统一调度,实现自动化访问安全控制。最后直接生成带访问权限控制的查询请求条件,转入网格服务系统。如果不能生成正常生成符合要求的查询请求,则直接提示访问安全异常。\n[0125] 本发明采用XACML定义策略规则。XACML将安全规则表示为用户、数据资源、环境三个主要属性的属性值集合,使用标签来标志属性的各个元素。XACML能适应多种应用环境,支持广泛的数据类型和规则联合算法,策略表达能力很强,可用来描述各种复杂的和细粒度的访问控制安全需求,有较强的通用性和实用性。\n[0126] 在空间数据网格的访问控制中,有两个重要的XML:用户查询请求Request、属性描述和策略Policy。根据用户提交的查询请求,生成Request实体,它主要包含、两部分。元素包含了本次查询的信息,包括作为主体的用户ID和查询订单标识。元素是对用户要查询的空间数据资源的描述,其中元素是它的核心部分。规定了用户对要查询的空间数据资源的限制条件。本发明中针对空间数据特有的时空复杂性,对传统的ABAC策略的简单操作符进行了扩充,加入了范式、范围的判断符等,便于适用于空间数据关键字等的查询,空间区域的判断等,能最终重构出符合要求的查询条件。\n[0127] 本发明的上述技术方案,在具体操作时,具体实施方案如下:\n[0128] 1、技术框架:\n[0129] 用户对网格系统的访问需要由访问控制模块来控制,中心节点接收到用户的访问请求(OpenSearch)时,会将请求分发到各个数据节点,并整合返回结果以用户请求的方式返回给用户。各个数据网格节点的构建情况各异,有直接从存档数据源建立节点服务;有从国外数据源的镜像数据库建立节点服务;有兼容已有服务系统构建的网格节点。具体如图\n10所示。\n[0130] 而从逻辑层次上分析,基于 OpenSearch 的轻量级网格系统的层次结构则可如图\n11所示。最下层为分布式数据源层,包含多源异构且在物理位置上或者存储方式上各异的空间数据源,在对数据源存档编目入库的基础上,构建空间数据网格节点服务层,实现节点的数据查询、数据获取和数据编目三类服务,其次通过 Adaptor 中间件层将服务转化为 OpenSearch 一致化服务接口,最后在网格层面上实现分布式查询,为用户提供统一的数据服务平台。\n[0131] 2、基于OpenSearch的卫星数据分布式协同服务技术的实现步骤:\n[0132] 1)差异化指导的数据源构建:\n[0133] 空间数据源的一项基本特点就是异构性。空间数据网格系统要解决的首要问题就是屏蔽分布式数据资源的异构性,实现其虚拟化的整合,为用户提供统一的服务平台。因此,对空间数据源异构性特点的研究和了解及其重要。而空间数据资源由于其本身的多源、时空复杂性和在存储、管理、分发等方面的多样性,它的异构性表现较为复杂并呈现多层次性。根据已有的研究成果,本发明建立了如图12所示的分类模型。\n[0134] 如图12所示,对于本地存档数据源:这一类数据源是指在各个数据单位集中存储并能够获取的数据文件,能够在其之上构建数据节点服务。通过分析此类数据源的数据格式、存储结构、数据特征,建立相应的元数据描述模型,开发元数据自动化提取工具。基于元数据库,可以构建OpenSearch的一致化服务。\n[0135] 对于未公开服务接口的一般网络数据源:由于该部分数据源一般比较零散并且数据信息并不全面,数据有效性也没有较好的验证。要对该部分数据源建立有效可用OpenSearch网格数据服务,需要先保证以下两点:能够通过镜像文件等建立该部分网络散数据的元数据库和建立一套可行的数据完整有效性的验证机制。\n[0136] 对于公开服务接口的数据源:该部分数据源已经有相应的web服务,不需要再做建立元数据库、镜像数据文件等工作。对于此部分的数据源,需要分析其数据分发机制和web服务模式。从服务模式上分析,该部分数据源可以分为两类:\n[0137] 支持OpenSearch接口的服务:对于已经支持OpenSearch服务的数据源,要将其纳入高层的网格系统,只需通过相应的数据交换适配即可提供一致化的数据服务,成为OpenSearch网格节点。当用户发出数据访问请求,高层中心网格节点会将访问请求参数通过数据交换适配器解析为该OpenSearch节点可读的请求条件,并接受返回的结果,再次通过数据交换适配器将访问结果进行整合,最终返回给用户。\n[0138] 不支持OpenSearch接口的服务:对于该类型的数据源,其数据分发的协议可能是其它的服务协议,如:OGC的数据分发协议,Web Service服务发布方式等。对于此类情况,通过构建其服务接口与OpenSearch接口服务之间的适配器(Adaptor),快速形成一致化的数据服务,即可将该数据源纳入网格系统,成为网格数据节点。当用户发出数据访问请求,高层中心网格节点会将访问请求条件分发给适配器,适配器按照相应的业务系统交互机制访问该数据网格节点,并接受返回的结果,再次通过适配器将返回结果进行转换,最终整合访问结果返回。\n[0139] 2)开发和搭建低耦合高聚合的服务\n[0140] 开发和搭建服务分为两个步骤:确立元数据模型和查询参数模型,其中,如图13所示,元数据模型包括元数据描述模型主要包含五大部分:标志信息、时间信息、空间信息、平台信息、产品信息。如图9所示,查询参数模型根据OpenSearch服务规范构建,如图14所示。\n[0141] 空间数据查询服务:\n[0142] 空间数据查询服务是在元数据模型和查询参数模型的基础上构建的。在空间数据查询中,基于OpenSearch的数据网格系统查询服务主要提供以下三个重要的接口:\n[0143] searchDatasets:该接口可以查询网络系统中有哪些用户关心的数据集或者数据节点,并获得该部分数据集或数据节点的基本信息。\n[0144] getOSDD:通过该接口可以获得对特定数据细致化查询接口的描述文档,即(OpenSearch Description Document,OSDD),通过文档中的接口调用模板和参数介绍,能够细致化的查询用户所需要的数据。\n[0145] getOpenSearch:该接口是网格系统的核心接口,通过调用该接口,用户可以直接查询到所需要的数据,系统会根据查询请求条件返回给用户准确的查询结果集。该接口实现了对分布式异构数据源的分布式查询。查询流程如图15所示。\n[0146] 数据获取服务:\n[0147] 数据获取服务采用订单方式进行,在用户查询到数据后,可对感兴趣的数据进行数据订购,生成统一订单。订单以邮件方式返回给用户,包含用户所订购数据的基本信息、时间、有效期、用于下载的统一资源定位链接(URL)。获取请求会返回用户含有数据相关信息的URL。流程如图16所示。\n[0148] 空间数据编目服务:\n[0149] 如图17所示,空间数据编目服务是对分布式空间数据网格系统中各数据节点的元数据信息进行信息统计的服务。最典型的就是对空间数据的种类、条目、数据量大小等进行统计。用户可以获取特定传感器、时间区间等条件下的数据条目、数据量大小、数据覆盖范围信息。\n[0150] 3)网格节点自动化构建\n[0151] 在以上步骤的基础上,对于步骤1)中的数据源,分别基于OpenSearch快速构建网格节点,方法分别如下:\n[0152] 对于网络存档数据源和本地数据源:该类数据源由于没有服务化,对其构建OpenSearch数据网格节点需要从底层数据源元数据库建立开始,到服务建立,最后服务发布。其中元数据提取过程如图18所示。\n[0153] 对服务接口不公开的数据源:如果可以建立其镜像元数据库,则通过爬虫等技术建立,可以在此基础上构建OpenSearch数据网格节点。\n[0154] 对于公开的OpenSearch服务数据源:只需要建立参数转换机制即可将其转化为网格系统的节点。\n[0155] 对于公开的非OpenSearch服务数据源:对此数据服务开发适配器(Adapter)进行数据格式和互操作协议的转换,即可既保证该数据数据系统的独立自治性,又能将其纳入网格系统,成为网格系统节点。\n[0156] 综合以上方法,网格节点构建总体流程如图19所示。\n[0157] 3、分布式的协同服务机制\n[0158] 在构建了提供一致化服务的OpenSearch空间数据节点基础上,进一步研究分布式异构节点数据查询技术。本发明利用数据查询代理机制实现对各个数据源节点的分布式查询,对用户屏蔽各个节点由于数据描述、分发方式等导致的异构性,并整合各个数据节点的查询结果,统一返回给用户。基于OpenSearch的空间数据网格系统分布式数据查询的框架如图20所示。\n[0159] 4、开放式的基于属性的安全控制\n[0160] 目前空间数据网格中的访问权限控制基本是采用的设置用户角色和空间数据分级映射的机制,不能满足开放网格环境中的访问主体属性多样化和访问数据细粒度控制的要求。针对该问题,本发明提出了一种基于属性的空间数据安全访问机制。提出了基于ABAC的目标用户、空间数据、网格环境的属性描述模型;然后在XACML(extensible access control markup language)的基础上,设计完整的基于属性的空间数据访问策略、框架和流程。\n[0161] ABAC安全策略体系结构如图15所示,该框架主要由策略执行模块(PEM,policy execute module),策略决定模块(PDM, policy decision module),属性管理模块(AMM, attribute management module),策略支持模块(PSM, policy support module)四大部分构成。其功能分别为:\n[0162] 策略执行模块(PEM):负责拦截用户请求并将用户请求传递给策略决定模块;接收策略决定模块返回的决策结果,即带有权限控制的空间数据访问请求条件,并执行决策结果,向网格系统服务部分发出请求。\n[0163] 策略决定模块(PDM):负责接收策略执行模块传来的用户请求,向属性管理模块发出属性调用请求,并接收其返回的属性实体;调用策略支持模块的相关策略,根据属性实体信息实时生成带访问权限控制的查询条件,并返回给策略执行模块;该模块包含一个语义适配器,负责对属性实体、策略规则等空间数据相关的语义解析和搜索匹配等,使得各属性信息直接调用到与其相关的策略规则。\n[0164] 属性管理模块(AMM):负责管理网格用户的属性信息,包括对用户属性的设置、增删、更新等,向访问决策提供属性支持。\n[0165] 策略支持模块(PSM):负责制定策略规则,提供策略支持,该模块是实现访问控制框架的核心。该部分空间数据的属性特征,分为6个部分。分别为平台维度策略、时间维度策略、空间维度策略、产品维度策略和其它属性策略和冲突消解策略。在进行访问控制是,根据需要调用相关策略。\n[0166] 综上所述,借助于本发明的上述技术方案,从数据服务协议来看:系统采用了轻量级的OpenSearch服务协议。该协议对参数内容和格式都可以自定义,灵活性强,是一个可以通用和移植的框架。并且它应用在本系统中,所扩展的查询元数据模型简单通用,能够涵盖矢量和栅格数据的数据查询特点。此外,直接通过HTTP请求实现数据服务,没有类似现有的其它协议的多层封装,更加直观简洁。试验证明,基于OpenSearch的卫星数据分布式协同服务技术比基于WPS规范的网格系统快25%。\n[0167] 从系统的结构来看:在基于OpenSeach服务规范的数据服务系统中,数据服务构建相比于现有的OGC的各种数据服务和Web Services,没有严格的接口形式规定。OpenSeach服务规范基于参数格式定义和简单的内容聚合实现空间数据的共享,使得系统更加松耦合,可移植性更强,网格节点的接入效率较高。\n[0168] 从系统开发建设来看:首先,基于OpenSearch的系统结构简单,实现起来没有复杂的接口规定和封装;其次,本发明采用了空间数据网格系统的自动化构建技术,开发了相应了自动化服务中间件。真正实现了零编程搭建,各模块只需进行简单的配置就能够适应不同的数据源,不需要进行编程开发,因此,尤其是在突发状况时,能够迅速接入新的数据源,从而提供一键式的协同数据共享服务,使用户快速获得卫星数据。这两点使得系统的构建效率较高,与其他现有系统的整合周期缩短。\n[0169] 从系统安全上来看:该技术采用了基于ABAC的安全访问控制机制,能够有效地防止用户恶意下载数据。ABAC机制具有控制精准,易配置,策略简易等特点,能够快速,准确地实现对用户的权限分配。尤其在网格系统达到一定规模的时候,这种机制的优越性表现十分突出。\n[0170] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2018-07-06
- 2016-03-02
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201510393782.4
申请日: 2015.07.07
- 2015-10-28
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-06-16
|
2009-12-16
| | |
2
| |
2013-07-10
|
2013-04-15
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |