[发明专利]独立于加密数据库的密文索引方法及系统在审
申请号: | 202011022190.9 | 申请日: | 2020-09-25 |
公开(公告)号: | CN112148739A | 公开(公告)日: | 2020-12-29 |
发明(设计)人: | 胡家惠;杨志国 | 申请(专利权)人: | 世融能量科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27;G06F16/2458;G06F16/248;G06F21/62 |
代理公司: | 北京名华博信知识产权代理有限公司 11453 | 代理人: | 朱影 |
地址: | 100010 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 立于 加密 数据库 索引 方法 系统 | ||
1.一种独立于加密数据库的密文索引方法,其特征在于,所述加密数据库包括存储并运行于第一处理设备中的数据库,以及存储并运行于第二处理设备中的外部索引引擎,通过以下方法创建索引:
使用数据库的socket通讯方式,直接传送所述数据库的基本表中的索引密文列数据至外部索引引擎的内存结构;
在将所述索引密文列数据插入至所述外部索引引擎的内存结构前,采用预设解密算法对所述索引密文列数据进行解密,获得明文数据;
把所述明文数据插入到所述外部索引引擎的内存结构中;
在所述明文数据插入至所述外部索引引擎的内存结构后,对所述明文数据进行加密,并存储至磁盘进行持久化保存。
2.如权利要求1所述的方法,其特征在于,通过以下方法更新索引包括:
基于用户的数据更新请求,使用所述数据库的触发器机制将更新密文数据实时同步至索引同步中间表中;
使用异步定时同步方式,通过数据库的socket通讯机制,将所述更新密文数据由所述索引同步中间表传输至所述外部索引引擎的内存结构中;
在所述更新密文数据插入所述外部索引引擎的内存结构前,采用所述预设解密算法对所述更新密文数据进行解密,获得更新明文数据;
插入所述更新明文数据至所述外部索引引擎的内存结构中;插入过程中,需要先在平衡二叉树数据结构中进行插入位置查找,如果查找路径中的节点数据在内存结构中,直接进行比较;如果查找路径中的节点数据不在内存中而在磁盘文件里,则先从磁盘文件读入再完成比较;在进行数据删除时,先在平衡二叉树数据结构中找到删除节点,直接进行节点删除;
在所述更新明文数据插入至所述外部索引引擎的内存结构后,对所述更新明文数据进行加密,并存储至磁盘进行持久化保存。
3.如权利要求2所述的方法,其特征在于,通过以下方法查询索引:
接收用户按照密文索引列进行查询的数据查询条件;
通过数据库的socket通讯方式传输所述数据查询条件至所述外部索引引擎进行数据搜索查询;搜索时从平衡二叉树的根节点开始搜索,搜索过程中把查询条件跟搜索路径中的平衡二叉树节点数据进行比较,如果节点数据在所述外部索引引擎的内存结构中,直接完成比较;如果节点数据在磁盘上,从磁盘文件读入相应数据再进行比较;
查询到满足所述数据查询请求条件的行号后,返回所述行号至所述数据库。
4.如权利要求3所述的方法,其特征在于,所述查询索引还包括:
将所述行号与所述索引同步中间表中存储的未更新至所述外部索引引擎中的数据合并;
确定合并完成后的目标行号;
通过数据库的扩展索引接口返回所述目标行号至所述数据库;
所述数据库根据所述目标行号和所述按照密文索引列进行查询得到的行号合并后,将满足查询条件的行列数据返回给用户。
5.一种独立于加密数据库的密文索引系统,其特征在于,所述系统包括第一处理设备和第二处理设备,所述第一处理设备中存储并运行数据库,所述第二处理设备运行外部索引引擎,所述第一处理设备包括:
第一通讯单元,用于使用数据库的socket通讯方式,直接传送所述数据库的基本表中的索引密文列数据至外部索引引擎的内存结构;
第一处理单元,用于在将所述索引密文列数据插入至所述外部索引引擎的内存结构前,采用预设解密算法对所述索引密文列数据进行解密,获得明文数据;
所述第二处理设备包括第二存储单元,所述第二存储单元用于:
把所述明文数据插入到所述外部索引引擎的内存结构中;
在所述明文数据插入至所述外部索引引擎的内存结构后,对所述明文数据进行加密,并存储至磁盘进行持久化保存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于世融能量科技有限公司,未经世融能量科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011022190.9/1.html,转载请声明来源钻瓜专利网。