[发明专利]一种基于区块链的数据存储与查询方法有效

专利信息
申请号: 201811622837.4 申请日: 2018-12-28
公开(公告)号: CN109766342B 公开(公告)日: 2023-05-30
发明(设计)人: 韩超;季统凯;张恒;李勇波;郑锐韬 申请(专利权)人: 国云科技股份有限公司
主分类号: G06F16/22 分类号: G06F16/22;G06F16/2455;G06F16/25;G06F21/60
代理公司: 厦门市新华专利商标代理有限公司 35203 代理人: 徐勋夫
地址: 523808 广东省东莞市松山湖高*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 区块 数据 存储 查询 方法
【权利要求书】:

1.一种基于区块链的数据存储与查询方法,其特征在于:所述的方法包括存储和数据查询;

所述的数据存储包括:

对当前存在非动态写入的数据进行转化;

从系统支持的加密算法中随机抽取算法;

对数据库表中的字段名称排序成列表,并加上表名称和库名称,然后按顺序给列表的属性名称加上别名,形成属性别名映射表;同时,根据传入的数据、字段名称在属性别名映射表中查询别名,然后形成别名数据映射表;

如果生成了新的属性别名映射表,那么把此映射表写入数据库,并返回主键;如果不是新生成的,则无需理会;

用抽取的加密算法对生成的别名数据映射表的数据内容进行加密,和主键一起写入区块链,形成区块链数据;

所述的数据查询包括:读取数据库的数据,即属性别名映射表;读取区块链的数据,即别名数据映射表;把别名数据映射表和属性别名映射表进行组合并且使用对应的算法进行解密,得到属性数据映射表;根据数据的查询条件来决定数据是否保留,如果不满足查询条件的数据,则丢弃;如果满足查询条件,则保留数据在数据结果池。

2.根据权利要求1所述的方法,其特征在于:

所述的对当前存在非动态写入的数据进行转化是读取关系型数据库表信息,包括:连接关系型数据库,判断是否成功,读取数据库表字段属性,读取数据库表数据。

3.根据权利要求1所述的方法,其特征在于:

所述的抽取算法是:随机生成一个数字R,获取当前时间戳的后四位数据T;两者相加,得到的加和对算法的数量N求模加1,即[(R+T)%N]+1,得到的便是系统里的第几号算法。

4.根据权利要求1所述的方法,其特征在于:

所述的属性别名映射表使用较长一段时间后更换,具体的时间根据业务的需求决定;通过系统的配置可实现更换的时间。

5.根据权利要求1所述的方法,其特征在于:

所述的数据查询具体包括以下步骤:

在关系型数据库中查询含有指定库、表名称的属性别名映射表,并存储于缓存中;通过映射表获取到库和表的别名;

根据要查询的数据所标记的库名和表名按顺序遍历区块链的数据,把含有库表别名的数据取出来,形成数据查询池;

从数据查询池中获取一条数据,根据主键值,缓存中读取属性别名映射表,获取解密的算法;

根据解密的算法,对加密的数据进行解密,还原成明文的别名数据映射表;

把别名数据映射表、属性别名映射表进行映射的组合,得到属性数据映射表,再根据数据的查询条件来决定数据是否保留,如果不满足查询条件的数据,可以丢弃,如果满足查询条件,则保留数据在数据结果池。

6.根据权利要求5所述的方法,其特征在于:

所述的方法,在系统启动的时候一次性把属性别名映射表加载到缓存中,或者根据数据量的大小来进行选择性的加载;设定两个阈值A和B,B大于A;如果数据量小于A,则全部加载;如果在A和B之间,则加载一半;如果大于B,则根据数据的访问频率来决定加载的数据。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国云科技股份有限公司,未经国云科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201811622837.4/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top