基于政务数据的多数据库多表快速索引方法技术

技术编号:22944456 阅读:14 留言:0更新日期:2019-12-27 17:09
基于政务数据的多数据库多表快速索引方法:步骤A:将政务数据表中每个KEY的参数进行Rowkey索引编码;步骤B:得到每个KEY的每个参数的Rowkey索引编码值,并生成每个KEY的Rowkey索引编码表;步骤C:对当前需要索引的key进行hash处理,得到所述key的hash值,即得到当前key的若干个Rowkey索引编码值,则索引到当前key的Rowkey索引编码表;步骤D:得到若干个当前key的具体位置。与传统方法相比,本发明专利技术的有益效果是:由于本发明专利技术定义了一种新的索引编码格式,可以将数据表中的每个key的每个参数进行hash计算后得到一个或多个Rowkey索引编码表,所述Rowkey索引编码表表征所述key的具体位置,当所述key在多表中出现的时候,只需要进行一条索引命令就可以将每个所述key的具体位置索引到。

【技术实现步骤摘要】
基于政务数据的多数据库多表快速索引方法
本专利技术涉及一种数据索引方法,尤其涉及基础政务数据的多数据库多表快速索引方法。
技术介绍
政务数据包含了信用、交通、医疗、卫生、就业、社保、地理、文化、教育、科技、资源、农业、环境、安监、金融、质量、统计、气象、海洋、企业登记监管等重点领域的数据;政府手中的数据资源更像是一座沉睡的“钻石矿”,应用前景不可估量。政府利用大数据实现治理现代化,要将满足人民利益的根本需求作为立足点、出发点。在传统方法中,一个信息可能会出现在多个数据库表格中,若想获取该信息背后的数据,需要对每一个该信息进行提取,则需要对每个数据库表格进行索引,操作繁杂,效率低下。
技术实现思路
本专利技术所要解决的技术问题是提供了一种基于政务数据的多数据库多表快速索引方法,本专利技术是基于政务数据的中由于大量数据所带来的基于内容查找不方便而制定的一种多表快速索引方法。基于政务数据的多数据库多表快速索引方法,包括若干个阶段:以下为KEY的Rowkey索引编码阶段:步骤A:将政务数据表中每个KEY的参数进行Rowkey索引编码;步骤B:得到每个KEY的每个参数的Rowkey索引编码值,并生成每个KEY的Rowkey索引编码表;以下为key的索引阶段:步骤C:对当前需要索引的key进行hash处理,得到所述key的hash值,即得到当前key的若干个Rowkey索引编码值,则索引到当前key的Rowkey索引编码表;步骤D:得到若干个当前key的具体位置。上述方案中,更进一步的是,在步骤A中,所述参数包括时间戳、部门ID、数据库ID、表名ID、行ID、列名、列值。将多种参数进行编码使得得到的Rowkey索引编码值数量更多,且更能够表示出每个KEY的位置信息。上述方案中,更进一步的是,在步骤A中,所述Rowkey索引编码是指,通过hash变换对所述每个KEY进行编码,得到每个KEY的每个参数的Rowkey索引编码值。上述方案中,更进一步的是,所述Rowkey索引编码的编码格式包括TSR、DEP、DB、TBL、R、CN、CV。本专利技术通过自行定义的格式来表示每个KEY的具体解释和参数,且更能够表示出每个KEY的位置信息。上述方案中,更进一步的是,在步骤B或C中,其特征在于,所述Rowkey索引编码表包括所述每个KEY或key的每个参数的Rowkey索引编码值。每个所述KEY或key通过对应的Rowkey索引编码表即可表示出所述KEY或key的具体位置,使得索引更精准、简便。上述方案中,更进一步的是,在步骤D中所述具体位置包括在同一个数据表中或在不同数据表中。需要查找的key刻出现在大范围内出现,即可得到多个所述key的具体位置,提高了索引效率。与传统方法相比,本专利技术的有益效果是:由于本专利技术定义了一种新的索引编码格式,可以将数据表中的每个key的每个参数进行hash计算后得到一个或多个Rowkey索引编码表,所述Rowkey索引编码表表征所述key的具体位置,当所述key在多表中出现的时候,只需要进行一条索引命令就可以将每个所述key的具体位置索引到。附图说明图1为本专利技术所述方法中Rowkey索引编码的格式示意图。图2为本专利技术所述方法的流程图。图3为本专利技术所述方法的Rowkey索引编码表的示意图。具体实施方式以下结合附图实施例对本专利技术作进一步详细描述。如图1--3所述,基于政务数据的多数据库多表快速索引方法,其特征在于,包括若干个阶段:以下为KEY的Rowkey索引编码阶段:步骤A:将政务数据表中每个KEY的参数进行Rowkey索引编码;步骤B:得到每个KEY的每个参数的Rowkey索引编码值,并生成每个KEY的Rowkey索引编码表;以下为key的索引阶段:步骤C:对当前需要索引的key进行hash处理,得到所述key的hash值,即得到当前key的若干个Rowkey索引编码值,则索引到当前key的Rowkey索引编码表;步骤D:得到若干个当前key的具体位置。在步骤A中,所述参数包括时间戳、部门ID、数据库ID、表名ID、行ID、列名、列值。在步骤A中,所述Rowkey索引编码是指,通过hash变换对所述每个KEY进行编码,得到每个KEY的每个参数的Rowkey索引编码值。Hash,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数;hash值针对对象的计算公式是:s[0]*31^(n-1)+s[1]*31^(n-2)+...+s[n-1];其中,s[i]是字符串的第i个字符,n是字符串的长度,^表示取幂,空字符串的哈希值是0;在这里不同的字符串通过hash处理后都会得到唯一的一串数字以确定其值的唯一性。所述Rowkey索引编码的编码格式包括TSR、DEP、DB、TBL、R、CN、CV。所述TSR的含义为数据库表中时间戳截取毫秒前的位数;为节约内存且防止溢出,所述TSR占用内存的大小3字节;所述DEP的含义为数据库表中部门ID的hash值;为节约内存且防止溢出,所述DEP占用内存的大小2字节;所述DB的含义为数据库表的ID的hash值;为节约内存且防止溢出,所述DB占用内存的大小2字节;所述TBL的含义为数据库表中表名ID的hash值;为节约内存且防止溢出,所述TBL占用内存的大小2字节;所述R的含义为数据库表中行ID的hash值;为节约内存且防止溢出,所述R占用内存的大小4字节;所述CN的含义为数据库表中列名的hash值;为节约内存且防止溢出,所述CN占用内存的大小4字节;所述CV的含义为数据库表中列值的hash值;为节约内存且防止溢出,所述TSR占用内存的大小4字节。在步骤B或C中,其特征在于,所述Rowkey索引编码表包括所述每个KEY或key的每个参数的Rowkey索引编码值。在步骤D中所述具体位置包括在同一个数据表中或在不同数据表中。针对所述Rowkey索引编码给出以下实施例:如图3所示,已知居民身份证数据表0001来自公安部门001下的01数据库,根据Hash方法:若表的时间为"2019-04-0114:05:10"(即TSR)的hash值为:-558866342;可获得公安部门ID(即DEP)的001的hash值为:47665;可获得MySql关系型数据库ID(即DB)为01的数据库的hash值为:1537;可获得居民身份证数据库表格ID(即TBL)为0001的数据库表的hash值为:1477633;可获得第一行行ID(即本文档来自技高网...

【技术保护点】
1.基于政务数据的多数据库多表快速索引方法,其特征在于,包括若干个阶段:/n以下为KEY的Rowkey索引编码阶段:/n步骤A:将政务数据表中每个KEY的参数进行Rowkey索引编码;/n步骤B:得到每个KEY的每个参数的Rowkey索引编码值,并生成每个KEY的Rowkey索引编码表;/n以下为key的索引阶段:/n步骤C:对当前需要索引的key进行hash处理,得到所述key的hash值,即得到当前key的若干个Rowkey索引编码值,则索引到当前key的Rowkey索引编码表;/n步骤D:得到若干个当前key的具体位置。/n

【技术特征摘要】
1.基于政务数据的多数据库多表快速索引方法,其特征在于,包括若干个阶段:
以下为KEY的Rowkey索引编码阶段:
步骤A:将政务数据表中每个KEY的参数进行Rowkey索引编码;
步骤B:得到每个KEY的每个参数的Rowkey索引编码值,并生成每个KEY的Rowkey索引编码表;
以下为key的索引阶段:
步骤C:对当前需要索引的key进行hash处理,得到所述key的hash值,即得到当前key的若干个Rowkey索引编码值,则索引到当前key的Rowkey索引编码表;
步骤D:得到若干个当前key的具体位置。


2.根据权利要求1中所述的基于政务数据的多数据库多表快速索引方法,其特征在于,在步骤A中,所述参数包括时间戳、部门ID、数据库ID、表名ID、行ID、列名、列值。


3.根...

【专利技术属性】
技术研发人员:华岗王华飞徐振
申请(专利权)人:宁波市智慧城市规划标准发展研究院宁波中数云创信息技术有限公司
类型:发明
国别省市:浙江;33

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

1