一种跨内外网的分布式索引资源整合与共享方法与流程

文档序号:11707742阅读:240来源:国知局
一种跨内外网的分布式索引资源整合与共享方法与流程

本发明涉及信息处理技术,具体涉及一种跨内外网的分布式索引资源整合与共享方法。



背景技术:

内外网间数据资源的有效整合和适时共享技术与方法,在很多注重数据信息安全的行业应用中,都是备受关注的技术瓶颈。为确保数据安全,很多行业信息化应用利用物理隔离卡或者安全网闸等硬件设备,将网络划分为内外不同的系统,实现网络间的适度信息隔离。然而,简单的单向数据隔离往往又会给具体的业务流程实践造成障碍。

在各行业的现实生产过程中,为了工程管理方便的需要,通常在内外网之间建立两个不同的系统,内网为工程监控系统负责采集和存储数据,外网为调度系统负责利用数据进行管理业务,内外网之间功能的不同,使的内外网之间关注和存储的数据不同。

但对于内外网之间是有安全网闸所隔开的,如何在内外网之间进行合理的信息交换一直是相关行业所关注的重点。最初的解决办法就是人工的“传递”,用u盘或光盘在内外网之间交换数据。随着业务的增多,数据量的扩大,人工的方式显然无法满足业务的需求。其次,内外网之间存放的数据不同,监控系统采集的数据也并不单一,而且数据之间往往存在相关的关系。如果将不同类别的数据按照合适的频率更新,并且在更新时能够考虑到数据间相关关系可显著提高监控系统的采集和存储数据的效率。



技术实现要素:

发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种跨内外网的分布式索引资源整合与共享方法,本发明中内网存放详细信息,外网存放概要信息,外网可根据需要通过网闸调取内网中的相关信息,内外网中所有的数据都基于划分好的数据类别分布在不同的物理节点上。

技术方案:本发明一种跨内外网的分布式索引资源整合与共享方法,依次包括以下步骤:

(1)根据行业数据的类别在内外网间部署初始的分布式节点,划分节点所属的数据类别,构建分布式检索系统;该分布式检索系统包括三个模块:分布式存储模块,共享模块和分布式检索模块;分布式存储模块将注册进来的数据以索引的形式按类别存储在于不同物理节点,共享模块传递内网和外网之间的请求和结果;分布式检索模块完成外网用户的查询功能并利用共享模块实现详细信息的回调;

(2)内网通过分布式存储模块将注册进来的行业数据以索引的形式按类别存储在分布式节点上;

(3)根据内外网之间所需要交换的数据特征,共享模块制定将数据转化为可读文件的格式规则,外网平台选择需要从内网共享的数据,通过网闸共享模块,内网将概要数据交换至外网;

(4)用户通过分布式检索模块将检索请求提交给分布式集群,分布式集群返回搜索结果给用户,该分布式集群即是指分布式存储模块中几个物理节点组成的一个集群;

(5)搜索结果包含数据的在内网中的原始地址和节点信息,用户可以通过地址回调得到数据的详情信息。

进一步的,所述步骤(2)中,将索引按类别存储机制为:

(2.1)解析注册数据的所属类别,并与分布式集群中的节点进行对应和比较;

(2.2)对于数据类型为新的类别,即系统中没有与其对应节点的情况,用户可以选择为新的数据类型开辟新的节点,并将其存储在新的节点上。

进一步的,所述步骤(3)中,外网与内网之间的数据交互利用的是安全网闸的文件摆渡的功能,需要交互的数据在递交给网闸之前需要按照一定的规则将数据转化为文件,具体流程为:

(3.1)外网生成关于概要信息同步或详细信息查询的请求;

(3.2)按照数据转换规则将请求转换为规定的xml或其他形式的可读文件,并通过网闸递交至内网;

(3.3)内网接收外网的请求文件,调用内网中的服务来响应请求;

(3.4)按照数据转换规则将响应的结果转换为规定的xml或其他形式的可读文件,并通过网闸递交至外网;

(3.5)外网接收文件并将结果返回给等待响应的外网服务。

进一步的,所述内网的分布式存储模块中存放行业数据的详细信息,数据量大且数据价值密度低,外网的分布式存储模块存放从内网中提取的行业数据的概要信息,数据量相对较少但数据价值密度高,内网和外网之间通过网闸隔离起来;上述概要信息由内网同步至外网并将存储在外网,详细信息存储在内网只在需要时传递至外网展示;对于详细信息的查询请求需要依据概要信息所包含的原始数据的地址等相关信息。

进一步的,所述将索引按类别存储机制中,内外网中所存储的索引数据存储在不同的物理节点上,一个物理节点可对应一种或几种类别的数据,每个物理节点上的数据也可在其他物理节点上进行备份,多个物理节点的分类存储构成了分布式存储模块。

利用搜索引擎工具搭建的包含多个节点的集群构成了分布式存储模块和分布式检索模块的主体部分,即是用来存储和响应检索请求的检索平台,以目前流行的搜索引擎solrcloud和elasticsearch为例,作为能够良好支持分布式系统的搜索引擎工具,solrcloud和elasticsearch都支持对索引集合进行分片处理,即把全部的索引分割成几个不同的片(shard),不同的shard放在不同的节点上,此外每个shard还可以有多个备份放在其他节点上用来提高系统的容错性。分布式存储模块将按照具体行业数据的类别特点来划分shard,每个shard对应一种类别的数据,当行业数据注册进内网系统,并以索引的形式进行存储时,分布式存储模块将会首先解析新注册进来数据的所属类别,当数据的类别和shard有对应关系时,分布式存储模块则会把数据存储在此shard所属的节点上,当数据类别为新的类别即没有shard和数据进行对应时,分布式存储模块将会提醒用户是否创建新的shard用来存放新的类别的数据,并让用户选择存放此shard的物理节点。

进一步的,所述步骤(4)中,外网中所需要的概要信息已通过共享模块由内网交换至外网并以索引结构的形式存放起来,用户通过分布式检索模块可将检索请求发送至指定的物理节点上,也可将检索请求发送到所有的物理节点上,指定物理节点和所有物理节点均可返回给用户正确的结果。

进一步的,所述步骤(5)中分布式检索模块的回调机制具体过程为:外网初步检索得到的概要信息包含这条索引数据在内网中的原始位置和节点等信息,当外网不满足于检索得到的概要信息而需要存放在在内网中的详细信息时,通过概要信息中的位置信息生成进一步的查询请求,并通过共享模块将内网中的详细信息全部交换至外网并可将结果显示出来。

进一步的,所述共享模块包括数据转化模块和文件监控模块,数据转化模块将外网请求和内网检索结果转化为规定格式的xml文件;文件监控模块将包含外网查询请求的文件传递至内网和将包含内网检索结果的文件交换至外网。

由于外网的请求实质是一条标准的查询语句,内网可解析查询语句并将其提交给搜索引擎,搜索引擎便会响应得出所需要的结果。查询语句在语法上有严格要求,例如包含查询字符串q,需要返回的字段fl等。同时需要追加查询的发送方和请求方以及请求时间等一系列信息,然后按照合适的规则写成xml文件,相应的,内网中的检索结果也将导出为xml文件。经过数据转换模块转换后的文件将会进入文件监控模块进行内外网间的摆渡,当网闸的另一端收到摆渡而来的文件之后将会将其提交给系统,完成用户的请求。

文件监控模块中包含两个文件夹,收到文件夹和发送文件夹,收到文件夹用来暂存网闸另一端摆渡而来的文件,发送文件夹用来暂存需要摆渡到网闸另一端的文件。一个完整的摆渡过程包括,经过数据转换的请求文件放入外网中的发送文件夹,文件监控模块检测到发送文件夹中有新的文件后将会将其摆渡到内网中的收到文件夹并将外网发送文件夹中的文件删除。文件监控模块检测到内网的收到文件夹内有新增文件将会将其递交给数据转换模块并随后将其删除,内网系统产生得结果文件经过数据转换后的放入到内网的发送文件夹,文件监控模块检测到内网的发送文件夹有新增文件将会将其摆渡到外网的收到文件夹,并将发送文件夹内的原文件删除。文件监控模块检测到外网收到文件夹内有新增文件时将会将其递交给数据转换模块并随后将其删除,经过内网数据转换模块的文件将会递交给内网中的系统,响应用户的最初请求。

有益效果:本发明基于目前流行的搜素引擎工具,内外网中的数据以索引的形式存放,并且根据行业数据的特点建立划分数据类别,将数据分类存储在内外网系统中的分布式节点中,并且利用网闸间的文件摆渡功能,定义相关规则,将内外网之间的信息转化为文件之后交换,一定程度上实现了网闸之间的信息交流。

附图说明

图1为本发明的整体流程图;

图2为本发明中分布式节点示意图;

图3为本发明中分布式存储模块流程图;

图4为本发明中共享模块机制图;

图5为本发明中分布式检索模块流程图。

具体实施方式

下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。

首先,为便于理解本发明,作以下说明:

1、分布式存储模块:

分布式存储模块用于将用户注册进外网中的数据或者从外网交换至内网中的数据以倒排索引的形式存放起来,内外网中的平台都是分布式平台可以指检索平台,每个平台都会根据数据的类别划分出几个不同的节点。以solrcloud或elasticsearch作为搜索引擎工具,并将水利数据划分为不同的类别。根据数据所属单位可以划分为水利部,长江委,黄委等类别,数据的性质和特点可以划分为水利业务,水利政务,水利综合等数据类别。其中每个节点(node)对应一台物理服务器,一个节点上可以存放一个数据类别的shard也可以存放其他shard的备份,分开存储的几个shard构成了分布式存储模块的主体。如图2所示,其中第一个节点上存放shard1和shard2的备份replica2,第二个节点上存放shard2和shard1的备份replica1,第三个节点存放shard3和shard1的备份replica1,其中shard1,sahrd2,shard3分别用来存放三种不同的数据类别。当用户提交需要存储的水利数据时,如图3所示,系统首先会解析数据所属的类别,然后将数据以索引的形式存储到与其相对应的shard上,当数据类别为新的数据类别即系统中没有shard与其对应时,用户可以选择增加shard和节点用来存放新的数据类别。利用搜索引擎工具搭建的分布式检索系统通过将数据按类别分块处理和适当的设置每一块的备份数,使用户能够更方便的管理数据,也提高了系统的容灾性。分布式存储模块,将行业数据分类的存储在分布式节点中,即让用户方便了对数据的整理和管理,也提高了检索系统的稳定性和检索效率。

2、共享模块:

共享模块用于实现内外网闸间的数据交换,内网存储数据的详细信息,外网存储数据的概要信息。外网提交交换信息的请求,请求会以文件形式提交给网闸,网闸会摆渡至内网,内网会根据请求在内网中的节点上查询详细信息,并将详细信息中的概要信息以文件的形式发送给网闸,网闸再摆渡至外网,外网最后解析结果文件,将概要信息存储在外网相应的节点中。

3、分布式检索模块:

用于处理外网用户的查询请求,返回正确的结果给用户。外网的各个节点上存储的是从内网中共享而来的概要信息。得利于分布式平台的一致性,用户无论在哪一个节点上执行请求,都可以检索到平台内任一节点包含的概要信息。当然用户也可以选择只查询指定的节点来提高检索的效率,当外网存储的概要信息无法满足用户需要的时候,用户可以根据概要信息上标记的索引原地址信息进一步生成查询请求,通过共享模块得到内网中的详细信息并展示给用户。

如图1所示,本发明的一种跨内外网的分布式索引资源整合与共享方法,利用搜素引擎工具,在内网搭建内网系统主要负责对行业所产生的数据的进行收集与存储,具有监控功能。行业数据往往会根据具体需求划分不同的类别,不同类别的数据将会存储在不同的分布式节点上,外网搭建外网系统负责检索和调度,外网将查询请求以文件的形式通过网闸传递给内网,内网解析请求后再以文件的形式通过网闸摆渡给内网,内网将结果解析后展示给用户,具体依次包括以下步骤:

步骤(1)利用搜索引擎工具solrcloud或elasticsearch在内外网间搭建分布式检索系统,每个系统均包括若干不同物理节点,每个物理节点均包括若干不同shard,以水利数据为对象具体实施步骤如下:

(1.1)根据水利业务需求和水利数据的特点,将水利数据划分为几个不同的类别,例如可划分为业务数据,政务数据,综合数据等。

(1.2)根据所划分的类别,将全体数据分为几个不同的shard,每个shard用来存储一种类别的数据。

步骤(2)当数据注册进内网时,系统根据数据的类别将数据以索引的形式存储到指定的shard上。当注册进系统的行业数据被系统识别为新的数据类别时,用户可根据需要为此类新数据划分新的shard和节点,例如系统中若只有水利业务,水利综合,水利政务这三个shard,当遇到其他类型的数据时,用户可以选择新建一个存储新类型的shard,系统的shard数目将由3变为4,实现了系统的横向扩展。

步骤(3)外网用户提交共享请求,从内网中提取概要信息并存储到外网中。

外网的节点中存储的是概要信息,数据量要远小于内网中数据,不再关注冗余的工况信息,而是只关注与具体业务相关的信息。从内网中调取概要信息同步至外网如图4所示。具体步骤如下:

(3.1)定义xml文件编写规则(以solrcloud为例)。

外网发送至内网的请求和内网返回的结果都需转化成xml文件,因此在内外网交换数据之前我们需要定义xml文件的格式以方便对方的解析。请求的xml文件格式如下:

规定请求xml文件主要分为三个部分,第一部分<shard>用来指定查询哪一块的索引,第二部分<solr>用来编写合法的solr查询语句,第三部分用来编写具体地址方便查询具体信息。

结果的xml文件格式如下:

结果xml文件主要包含两个部分,第一部分为符合查询条件的索引,每条索引又包含多个字段,第二部分是索引存放的具体地址信息可以在用户回调详情信息的时候给用户提供依据。

(3.2)外网用户发起同步请求,并将查询语句递交给数据转化模块,数据转换模块将其转化为请求xml文件并放入监控模块中的发送文件夹。

(3.3)监控模块检测到发送文件夹有新增的xml文件将会通过网闸将其摆渡到内网中的收到文件夹,并随后将外网中的发送文件夹中的请求xml文件删除。

(3.4)监控模块检测到内网中的收到文件夹内有新增的请求xml文件将会将其递交给内网的平台并随后将其删除。

(3.5)内网平台解析请求xml文件得到正确的查询请求并将结果递交给数据转化模块。

(3.6)数据转化模块按照步骤(3.1)中结果xml文件构造规则将其转化成结果xml文件并将其递交给内网中的发送文件夹。

(3.7)监控模块检测到内网中的发送文件夹中有新增的结果xml文件,将会通过网闸将其摆渡到外网中的收到文件夹,并随后将内网中的结果xml文件删除。

(3.8)监控模块检测到外网中的收到文件夹有新增的结果xml文件将会将其递交给外网平台,并随后将其删除。

(3.9)外网中平台解析结果xml文件,将结果存储至外网中的相应节点或展示给用户。

通过步骤(3.1)至步骤(3.9)便可将外网用户的请求递交给内网,并将内网的数据共享至外网。

步骤(4)内网中提取的概要数据通过步骤(3)已经交换至外网中的相应节点之中,当外网用户发起查询请求时,外网中的分布式系统可直接响应用户的请求,用户可以选择查询全部节点或指定节点将存储在外网中的概要信息检索出来展示给用户。

步骤(5)当步骤(4)中的概要信息无法满足用户的业务需求,用户需要详细信息,则可以回调获取详情信息。如图5所示,具体步骤如下:

(5.1)概要信息除了具有内网中相关数据的简要概括之外,还存放了信息的具体来源,用户通过信息的来源地址可以生成进一步的查询请求。

(5.2)用户的详细查询请求通过步骤(3)可以发送至内网,内网平台解析请求命令,生成详细的检索结果并通过步骤(3)返回给内网。

(5.3)外网平台解析内网返回的结果,将详情信息展示给用户。

本发明能够将通过安全网闸分割开的内网系统与外网系统有效整合起来,将大量的冗余数据存储在内网,外网只存储概要信息,内外网间通过共享模块可以实现数据的交换。本发明中系统所针对的数据对象具有多个类别,实现了按类别的分块存储。针对内外网间的信息隔离,信息量过大,检索速度慢的问题,通过在网闸之外构建共享模块,存储时分块存储,利用多节点、多shard的分布式平台,减少了外网系统的数据负载,实现了内外网间必要的数据共享,满足了用户的检索需求,是信息检索领域的一大突破。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1