python中支持双向索引的有哪些_一种支持双向索引的值域数据索引库建立方法与流程...

本发明涉及数据索引技术领域,更具体地说,本发明涉及一种支持双向索引的值域数据索引库建立方法。

背景技术:

常见数据存储场景以正向存储为主要手段,缺乏以数据值为基础的快速索引和查询方法,缺乏对数据值所出现位置的统计与精确定位;并且存储场景的单值查询需耗费较多时间。

技术实现要素:

为了克服现有技术的上述缺陷,本发明的实施例提供一种支持双向索引的值域数据索引库建立方法,加快数据检索效率,相比常见数据库可节省30%-60%检索时间。

为实现上述目的,本发明提供如下技术方案:一种支持双向索引的值域数据索引库建立方法,具体审计步骤如下:

S1、首轮计算存储:以全量数据为基础进行编码,采用MD5算法加密并保证全局唯一性,取得数据的加密编码,连同值所在的数据域,作为全量字段列表存入“值索引库”;

S2、次轮去重分析计算,根据“值索引库”所记录的全量数据的对应值,采用hash值去重算法,进行数据值去重,去重后的值存入去重值列表;

同时启动统计程序,统计合并存储后单个数据值所在的所有数据域,统计单个数据值的出现次数,并重新存入“值--域索引库”;

S3、第三轮分析计算,采用倒排索引算法,根据“值--域索引库”中的去重后的数据值,建立全量倒排索引,并采用缓存策略,将最近使用的数据索引到加载到内存中待用,

至此三轮分析计算完成后,获得该批海量数据的“值--域索引库”。

在一个优选地实施方式中,所述S1步骤中全量数据的编码格式为MD5或hash。

本发明的技术效果和优点:

本发明提供一种支持双向索引的值域数据索引库建立方法,在数据特征层面进行机器学习与分析,对数值及所在的数据存储位置进行加密转码存储,存储为key-value结构,key值为数值,value为该值所在的域,进行分析转储,并同步存储反向索引,建立索引库,供快速查询检索使用,可根据某数值直接查询到该值所出现的数据存储位置;用于海量数据分析场景,可快速建立对海量数据及其存储位置的查询与匹配索引,提供新的以及其他相关的业务分析。

附图说明

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

图2为本发明实施例的全量字段列表;

图3为本发明实施例的数据表关联列表。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:

一种支持双向索引的值域数据索引库建立方法,如图1所示,具体审计步骤如下:

S1、首轮计算存储:以全量数据为基础输入系统进行MD5或hash格式编码,采用MD5算法加密并保证全局唯一性,全量扫描系统,取得数据的加密编码,连同值所在的数据域,作为全量字段列表(见图2)存入“值索引库”;

S2、次轮去重分析计算,根据“值索引库”所记录的全量数据的对应值,采用hash值去重算法,进行数据值去重,去重后的值存入去重值列表;

同时启动统计程序,统计合并存储后单个数据值所在的所有数据域,统计单个数据值的出现次数,并重新存入“值--域索引库”;

S3、第三轮分析计算,采用倒排索引算法,根据“值--域索引库”中的去重后的数据值,建立全量倒排索引,并采用缓存策略,将最近使用的数据索引到加载到内存中待用,

至此三轮分析计算完成后,获得该批海量数据的“值--域索引库”,可以通过某个数据值,查询到该值所出现的数据存储位置,出现次数等关键数据,见图3。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值