一种面向分布式内存的安全索引系统及方法与流程

文档序号:22177448发布日期:2020-09-11 21:33阅读:82来源:国知局
一种面向分布式内存的安全索引系统及方法与流程

本发明涉及安全索引系统技术领域,具体涉及一种面向分布式内存的安全索引系统及方法。



背景技术:

随分布式内存系统在存储、处理、传输等过程中面临诸多安全风险。目前最好的方法就是对数据加密,断绝他人窥探隐私的可能性。搜索引擎实现都不安全,一个常见的示例是倒排索引文件以明文的形式存储,攻击者通过非法手段窃取倒排索引文件,再结合语言模型等技术就能高质量的还原出文件内容。虽然文件内容被加密存储在服务器,但还是会造成隐私泄露。

为了满足分布式内存系统的安全与隐私保护需求,大数据平台搜索引擎的索引文件也需要加密。但要做到却并不容易:首先,索引是个很大的文件,而加解密的过程又非常耗时;其次,大数据平台不断更新的特性注定索引文件也会被频繁修改,这些工作必然要涉及加密和解密;最后,索引文件被加密后是不能直接响应业务请求的,额外的解密工作会再次拉长用户的等待时间。



技术实现要素:

本发明的目的就是为了解决上述技术问题,而提供一种面向分布式内存的安全索引系统及方法。

本发明一种面向分布式内存的安全索引系统,它包括服务器、对服务器提供的文档进行处理以生成包含特征索引的相应倒索引文件集的索引生成逻辑模块、密钥服务器、安全索引模块、元数据引擎模块、搜索请求分析模块、搜索引擎池和搜索结果生成模块;所述索引生成逻辑模块与服务器通信连接,所述安全索引模块与索引生成逻辑模块通信连接,所述密钥服务器和元数据引擎模块分别与安全索引模块通信连接,所述搜索请求分析模块与元数据引擎模块通信连接,所述搜索结果生成模块通过搜索引擎池与搜索请求分析模块通信连接,并与客户端通信相连。

所述安全索引模块包括高速缓存模块、优化器和hdfs,所述高速缓存模块与索引生成逻辑模块通信相连,所述优化器与高速缓存模块通信相连,所述hdfs和密钥服务器分别与优化器通信相连。

所述元数据引擎模块由元数据索引模块和元数据索引扩展模块构成。

所述优化器包括检查所述高速缓存中需要持久化的索引缓存数据并生成持久化任务和分析所述元数据引擎中记录的安全索引段的状态信息生成段优化任务的分析器、根据所述分析器分析出的任务生成任务队列的任务队列模块、处理所述任务队列模块中记录的任务的执行器。

一种面向分布式内存的安全索引系统的使用方法包括以下步骤:

s1:用户通过客户端提交需要查询的关键字,通过所述大数据平安全索引系统接收客户端提交的关键字信息并在搜索域内根据关键字进行搜索以标识匹配关键字的文档;

s2:服务器提供与关键字匹配的文档所述面向分布式内存的安全索引系统;

s3:由所述面向分布式内存的安全索引系统中的索引生成逻辑模块对所述服务器提供的与关键字匹配的文档进行处理以生成包括特征索引的相应倒排索引文件集,所述倒排文件及包含特征term和文档提取凭证docid;

s4:由所述面向分布式内存的安全索引系统中的安全索引模块对s3中生成的倒排文件集按照单一特征进行智能分段,所述每一段尺寸和规范统一,并对每一段进行加密以密文形式存储在分布式文件系统hdfs中;首先,通过所述安全索引模块中的高速缓存模块将所述倒排文件集写入索引缓存并同时支持在遇到新文档时进行索引缓存更新;其次,通过所述安全索引模块中的高速缓存模块将所述倒排文件集写入索引缓存并同时支持在遇到新文档时进行索引缓存更新;其次,通过所述安全索引模块中的优化器对所述高速缓存模块中的索引缓存数据进行分析,并按需生成索引持久化任务以及段优化任务;

s5:通过所述面向分布式内存的安全索引系统中的元数据引擎模块对s4中生成的索引段文件进行管理,并根据需要搜索定位的文件特征快读定位特征所在的段。

本发明具有以下优点:采用本发明的安全索引系统及方法,实现了多级索引的智能加解密,不影响业务响应,省时省力,同时,能够实现索引的不断优化和更新,提高业务响应速度。

附图说明

图1是本发明的面向分布式内存的安全索引系统体系结构示意图。

图2是本发明的面向分布式内存的安全索引系统中的安全索引模块结构示意图。

图3是本发明的面向分布式内存的安全索引方法的文档生成逻辑示意图。

图4是本发明面向分布式内存的安全索引方法的索引分段及加密存储示意图。

图5是本发明的面向分布式内存的安全索引方法的多层索引示意图。

图6是本发明的面向分布式内存的安全索引方法的更新索引缓存的流程示意图。

图7是本发明的面向分布式内存的安全索引方法的持久化索引的方法流程示意图。

图8是本发明的面向分布式内存的安全索引方法的持久化方法的新特征持久化流程示意图。

图9是本发明的面向分布式内存的安全索引方法持久化索引方法的老特征持久化流程示意图。

图10是本发明的面向分布式内存的安全索引方法的段优化方法流程示意图。

具体实施方式

下面结合附图对本发明做进一步说明。

如图1、2、3、4、5、6、7、8、9、10所示,本发明一种面向分布式内存的安全索引系统,它包括服务器、对服务器提供的文档进行处理以生成包含特征索引的相应倒索引文件集的索引生成逻辑模块、密钥服务器、安全索引模块、元数据引擎模块、搜索请求分析模块、搜索引擎池和搜索结果生成模块;所述索引生成逻辑模块与服务器通信连接,所述安全索引模块与索引生成逻辑模块通信连接,所述密钥服务器和元数据引擎模块分别与安全索引模块通信连接,所述搜索请求分析模块与元数据引擎模块通信连接,所述搜索结果生成模块通过搜索引擎池与搜索请求分析模块通信连接,并与客户端通信相连。

所述安全索引模块包括高速缓存模块、优化器和hdfs,所述高速缓存模块与索引生成逻辑模块通信相连,所述优化器与高速缓存模块通信相连,所述hdfs和密钥服务器分别与优化器通信相连。

所述元数据引擎模块由元数据索引模块和元数据索引扩展模块构成。

所述优化器包括检查所述高速缓存中需要持久化的索引缓存数据并生成持久化任务和分析所述元数据引擎中记录的安全索引段的状态信息生成段优化任务的分析器、根据所述分析器分析出的任务生成任务队列的任务队列模块、处理所述任务队列模块中记录的任务的执行器。

一种面向分布式内存的安全索引系统的使用方法包括以下步骤:

s1:用户通过客户端提交需要查询的关键字,通过所述大数据平安全索引系统接收客户端提交的关键字信息并在搜索域内根据关键字进行搜索以标识匹配关键字的文档;

s2:服务器提供与关键字匹配的文档所述面向分布式内存的安全索引系统;

s3:由所述面向分布式内存的安全索引系统中的索引生成逻辑模块对所述服务器提供的与关键字匹配的文档进行处理以生成包括特征索引的相应倒排索引文件集,所述倒排文件及包含特征term和文档提取凭证docid;

s4:由所述面向分布式内存的安全索引系统中的安全索引模块对s3中生成的倒排文件集按照单一特征进行智能分段,所述每一段尺寸和规范统一,并对每一段进行加密以密文形式存储在分布式文件系统hdfs中;首先,通过所述安全索引模块中的高速缓存模块将所述倒排文件集写入索引缓存并同时支持在遇到新文档时进行索引缓存更新;其次,通过所述安全索引模块中的高速缓存模块将所述倒排文件集写入索引缓存并同时支持在遇到新文档时进行索引缓存更新;其次,通过所述安全索引模块中的优化器对所述高速缓存模块中的索引缓存数据进行分析,并按需生成索引持久化任务以及段优化任务;

s5:通过所述面向分布式内存的安全索引系统中的元数据引擎模块对s4中生成的索引段文件进行管理,并根据需要搜索定位的文件特征快读定位特征所在的段。

其中,如图6所示,通过所述高速缓存模块对索引进行更新,包括以下步骤:

g1:开始;

g2:对文档进行特征分析,提取文档特征;

g3:根据文档特征,生成倒排文件;

g4:生成倒排文件列表;

g5:判断文档特征是否已经存在;如果特征已经存在,转到g6;如果特征不存在,则转到g9;

g6:根据特征定位到索引段;

g7:在索引段按照索引段的尺寸和规范追加新数据;

g8:倒排文件是否有文件剩余;如果有文件剩余,转到g4;若没有文件剩余,转到g11;

g9:根据文档特征,新建索引段并写入文件数据,转到g8;

g10:结束;

如图7所示,通过告诉缓存模块,按照索引持久化需求生成索引持久化任务,包括如下步骤:

c1:开始;

c2:分析告诉缓存中的索引缓存数据;

c3:按照特征生成持久化任务;

c4:根据需要进行持久化任务的特征,生成待处理特征列表;

c5:判断特征是否已经存在,若是,转到c8;若否,转到c6;

c6:进行新特征持久化;

c7:判断特征列表是否为空;若是,转到c9;若否,转到c4;

c9:结束。

如图8所示,所述新特征持久化包括以下步骤:

x1:开始;

x2:新建空段模板;

x3:在新建的段中写入data数据;

x4:更新head数据;

x5:对段进行加密;

x6:通知元数据引擎。

如图9所示,所述特征持久化包括以下步骤:

n1:开始;

n2:定位到特征所在的最新段;

n3:提取索引段对应的文件;

n4:解密文件;

n5:更新文件;

n6:加密文件;

n7:将加密后的文件存入hdfs;

n8:进入旧段删除倒计时;

n9:通知元数据引擎。

如图10所示,所述优化器对索引缓存数据进行分析,生成段优化任务包括如下步骤:

d1:开始;

d2:分析安全索引;

d3:根据d2中的分析结果生成优化任务;

d4:判断是否需要删除段,若是,转到d5;若否,转到d6;

d5:删除过期段;

d6:判断是否需要合并段;

d7:将段分裂成多个新段;

d8:进入旧段删除倒计时;

d9:判断是否需要合并段;若是,转到d10;若否,转到d12;

d10:合并段;

d11:进入旧段删除倒计时;

d12:通知元数据引擎。

简单的说,本发明提供一种面向分布式内存的安全索引系统针对在搜索域内搜索文档(或文件)集以找到与用户相关的文档,搜索通常涉及用户获取一组关键字以指示搜索并且然后标识搜索域内匹配这些关键字的所有文档。所得到的候选文档集包括来自搜索域的可能相关的所有文档。接着可以将排序算法应用到候选文档以预测文档与用户的相关性。接着通常以预测的相关性的降序向用户呈现候选文档。这种类型的搜索的实施例通常利用将关键字与文档关联的倒排序索引结构。

索引生成逻辑模块负责处理服务器提交的文档,在本发明中索引生成逻辑输出描述为由term和docid组成的倒排文件集。特征(term)不限于关键字,它可以是短语、数字、代码或要在文档内搜索的任何类似的值。令牌(docid)是指提取文档的凭证,通常是一个指示文件路径的字符串,服务器提交文档时被要求附上相应的令牌。安全索引模块能“聪明”地把大索引文件切分成小段(segment)并且以密文形式存储在分布式文件系统中。索引生成逻辑模块提交的倒排文件集合,被高速缓存模块接管首先写入到索引缓存,然后通知元数据引擎模块,这能有效降低索引被更新的次数,对于提供稳定可靠的搜索服务非常重要,同时也是实时搜索实现的关键。高速缓存是昂贵且非常有限的,所以折后会被持久化到hdfs,这也是优化器非常重要的工作之一。

大索引文件被切分成一系列的倒排文件,这些倒排文件按照一定的规则填充在各个段中,然后在被加密后存储到分布式系统。大索引文件并不真实的存在,完全由精心设计的段文件集替代,首先段文件被设计成只存储单一的特征,这对有针对性地加载索引片段将非常有用,另外统一尺寸和规范的段文件也使得加密与解密工作比变得可控。

元数据引擎模块管理规模巨大的段文件,比如快速定位出某特征在特定时间段内关于某主题的相关段文件,还有优化分析器与执行段优化时所需的元信息。它由元数据索引和元数据索引扩展组成。实际应用中,元数据引擎模块中包含一个维护有段文件的状态信息和定位在具体约束中某特征关联的段文件1的元信息。段文件的状态信息包括段存储饱和度、大小、索引世纪教案的范围、最新的段等信息。

元数据索引模块实在搜索域中的段文件中找到的特征的完整索引。它被结构化成支持各种类型的搜索并且可以独立于元数据索引扩展使用,元数据引擎内的标志指示在元数据引擎索引扩展中是否有信息可供使用,也就是与需求相关的索引。对于每一个特征都存在该标志,以便提供对如何和何时使用元数据索引扩展中索引的控制。这样设计对于兼顾响应时效和适应大数据平台告诉且几近无上限的内容增长非常必要。比如,优化器需求远没有搜索请求分析的急迫,还有陈旧书搜索的时效需求会更低。它们将分属于不同索引,有时可能还会拆分成多条索引,保证每类需求的响应时间都能满足要求。

元数据索引扩展的本质是索引的容器,它们真正的记录了元数据引擎要管理的数据,其中索引分裂依据索引大小、主题标签和时间跨度。可以这样说,整个体系结构的核心就是一个索引树。元数据索引索引了元数据索引扩展,元数据索引扩展又索引了安全索引,最大的区别在于安全索引被设计为分段加密存储。因为b+树具有磁盘读写代价低和查询效率稳定的优势,通常元数据索引和元数据索引扩展采用b+树索引实现方式。

优化器它由分析器、任务队列模块以及执行器组成。分析器通过检查高速缓存中需要持久化的索引缓存数据生成持久化任务和分析元数据引擎模块中记录的安全索引段的状态信息生成段优化任务。执行器处理任务队列中的任务,包括持久化索引和安全索引段优化两类任务。

可以用许多方式使用高速缓存模块以支持更新索引缓存更新以及支持持久化高速缓存模块中的索引缓存。

采用本发明的面向分布式内存的安全索引系统与方法,实现了多级索引的智能加减密,不影响业务响应,省时省力,同时,能够实现索引的不断优化和更新,提高业务响应速度。索引倒排文件分段加密存储,使得磁盘读写代价低,查询效率稳定,加减密过程快速,不影响系统稳定性;索引缓存更新、新老特征持久化以及段优化,保证了索引文件的完整性和稳定性,避免特征重复冗余,提高业务响应速度。

以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

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