独立于加密数据库的密文索引方法及系统技术方案

技术编号:26890695 阅读:33 留言:0更新日期:2020-12-29 16:07
本发明专利技术公开了一种独立于加密数据库的密文索引方法及系统,包括存储并运行于第一处理设备中的数据库,以及存储并运行于第二处理设备中的外部索引引擎,通过以下方法创建索引:使用数据库的socket通讯方式,直接传送数据库的基本表中的索引密文列数据至外部索引引擎;在将索引密文列数据插入至索引内存结构前,采用预设解密算法对索引密文列数据进行解密,获得明文数据;并把明文数据插入到索引内存结构中;在明文数据插入至索引内存结构后,对明文数据进行加密,并存储至磁盘进行持久保存。外部索引引擎独立于被加密的数据库,可以有效减低数据库本身的运行负载,提高数据更新效率和数据查询效率,提高数据库应用系统的性能。

【技术实现步骤摘要】
独立于加密数据库的密文索引方法及系统
本专利技术涉及数据库领域,尤其涉及一种独立于加密数据库的密文索引方法及系统。
技术介绍
数据库是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合,其能够与多个用户共享,具有尽可能小的冗余度,并且与应用程序彼此独立。对于某些需要进行加密的数据库而言,在对数据库表完成列数据加密后,列数据以密文形式存放,对于数据库表的列数据索引搜索功能中的绝大部分功能会因为加密的原因而失效,只能对索引列进行等值搜索查询,不能进行各种范围查询。如果用户的查询请求中包含了对加密的列数据的进行搜索的条件,数据库在执行搜索任务时,只能对数据库表进行全表扫描查询。全表扫描查询方式对于数据量很大的数据库表而言,在搜索时由于需要查询的数据量较大,会造成数据库的性能相比于一般查询而言,出现几十倍甚至上百倍的下降。查询速度出现大幅下降,带给用户的体验不佳。相关技术中,为了解决上述加密数据库查询搜索量大,搜索过程耗时长的问题,使用数据库内部的SQL开发模块实现密文索引技术。使用该开发模块执行密文索引功能本文档来自技高网...

【技术保护点】
1.一种独立于加密数据库的密文索引方法,其特征在于,所述加密数据库包括存储并运行于第一处理设备中的数据库,以及存储并运行于第二处理设备中的外部索引引擎,通过以下方法创建索引:/n使用数据库的socket通讯方式,直接传送所述数据库的基本表中的索引密文列数据至外部索引引擎的内存结构;/n在将所述索引密文列数据插入至所述外部索引引擎的内存结构前,采用预设解密算法对所述索引密文列数据进行解密,获得明文数据;/n把所述明文数据插入到所述外部索引引擎的内存结构中;/n在所述明文数据插入至所述外部索引引擎的内存结构后,对所述明文数据进行加密,并存储至磁盘进行持久化保存。/n

【技术特征摘要】
1.一种独立于加密数据库的密文索引方法,其特征在于,所述加密数据库包括存储并运行于第一处理设备中的数据库,以及存储并运行于第二处理设备中的外部索引引擎,通过以下方法创建索引:
使用数据库的socket通讯方式,直接传送所述数据库的基本表中的索引密文列数据至外部索引引擎的内存结构;
在将所述索引密文列数据插入至所述外部索引引擎的内存结构前,采用预设解密算法对所述索引密文列数据进行解密,获得明文数据;
把所述明文数据插入到所述外部索引引擎的内存结构中;
在所述明文数据插入至所述外部索引引擎的内存结构后,对所述明文数据进行加密,并存储至磁盘进行持久化保存。


2.如权利要求1所述的方法,其特征在于,通过以下方法更新索引包括:
基于用户的数据更新请求,使用所述数据库的触发器机制将更新密文数据实时同步至索引同步中间表中;
使用异步定时同步方式,通过数据库的socket通讯机制,将所述更新密文数据由所述索引同步中间表传输至所述外部索引引擎的内存结构中;
在所述更新密文数据插入所述外部索引引擎的内存结构前,采用所述预设解密算法对所述更新密文数据进行解密,获得更新明文数据;
插入所述更新明文数据至所述外部索引引擎的内存结构中;插入过程中,需要先在平衡二叉树数据结构中进行插入位置查找,如果查找路径中的节点数据在内存结构中,直接进行比较;如果查找路径中的节点数据不在内存中而在磁盘文件里,则先从磁盘文件读入再完成比较;在进行数据删除时,先在平衡二叉树数据结构中找到删除节点,直接进行节点删除;
在所述更新明文数据插入至所述外部索引引擎的内存结构后,对所述更新明文数据进行加密,并存储至磁盘进行持久化保存。


3.如权利要求2所述的方法,其特征在于,通过以下方法查询索引:
接收用户按照密文索引列进行查询的数据查询条件;
通过数据库的socket通讯方式传输所述数据查询条件至所述外部索引引擎进行数据搜索查询;搜索时从平衡二叉树的根节点开始搜索,搜索过程中把查询条件跟搜索路径中的平衡二叉树节点数据进行比较,如果节点数据在所述外部索引引擎的内存结构中,直接完成比较;如果节点数据在磁盘上,从磁盘文件读入相应数据再进行比较;
查询到满足所述数据查询请求条件的行号后,返回所述行号至所述数据库。


4.如权利要求3所述的方法,其特征在于,所述查询索引还包括:
将所述行号与所述索引同步中间表中存储的未更新至所述外部索引引擎中的数据合并;
确定合并完成后的目标行号;
通过数据库的扩展索引接口返回所述目标行号至所述数据库;
所述数据库根据所述目标行号和所述按照密文索引列进行查询得到的行号合并后,将满足查询条件的行列数据返回给用户。


5.一种独立于加密数据库的密文索引系统,其特征在于,所述系统包括第一处理设备和第二处理设备,所述第一...

【专利技术属性】
技术研发人员:胡家惠杨志国
申请(专利权)人:世融能量科技有限公司
类型:发明
国别省市:北京;11

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

1