(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211365183.8
(22)申请日 2022.11.03
(71)申请人 青岛理工大 学
地址 266520 山东省青岛市黄岛区嘉陵江
东路777号
(72)发明人 周炜 高礼杰 张东来 李金良
王宏杰 刘凯
(74)专利代理 机构 青岛华慧泽专利代理事务所
(普通合伙) 37247
专利代理师 贺敬虹
(51)Int.Cl.
G06F 16/27(2019.01)
G06F 16/22(2019.01)
G06F 21/64(2013.01)
(54)发明名称
面向多源数据库的区块链海量数据存证系
统及存证方法
(57)摘要
本发明公开了一种面向多源数据库的区块
链海量数据存证系统及存证方法, 涉及区块链领
域, 包括数据预处理子系统、 数据上传子系统、 区
块链交互子系统、 凭证回传子系统, 数据预处理
子系统筛选数据库中可上链的表信息, 数据上传
子系统批量读取并上传表中的数据, 区块链交互
子系统提供链上用户管理、 数据表管理及存证数
据管理的功能, 凭证回传子系统在数据写入区块
链后, 将区块链产生的数据上链凭证回传至数据
库。 本发明用少量智能合约, 将任意一种数据库
中含主键的数据上链存证, 动态扩展存证数据的
形式, 链式查询数据变动记录, 解决了中心化存
证系统权力集中、 数据易被篡改、 可存证数据形
式单一、 扩展存证数据形式繁琐、 智 能合约数量
增长的问题。
权利要求书3页 说明书9页 附图11页
CN 115408474 A
2022.11.29
CN 115408474 A
1.一种面向多源数据库的区块链海量数据存证系统, 其特征在于: 包括数据预处理子
系统、 数据上传子系统、 区块链交互子系统、 凭证回传子系统, 所述数据预处理子系统负责
筛选数据库内的可上链的表信息, 所述数据上传子系统负责读取数据库中的数据, 并将数
据推送至区块链交互子系统, 所述区块链交互子系统提供链上用户管理、 数据表管理及存
证数据管理的功能, 所述凭证回传子系统在数据写入区块链后, 负责将区块链产生的数据
上链凭证回传至数据库;
所述区块链 交互子系统包括区块链用户模块、 链上表管理模块、 链上数据 管理模块, 所
述区块链用户模块提供区块链用户注册、 区块链用户登陆功能, 所述链上表管理模块提供
链上数据表新建、 链上数据表名清单、 链上数据表配置查询、 链上数据表字段修改、 链上数
据表名修改 的功能, 所述链上数据管 理模块提供链上数据新增、 链上数据删除、 链上数据修
改、 链上数据查询的功能。
2.根据权利要求1所述的一种面向多源数据库的区块链海量数据存证系统, 其特征在
于, 所述数据预处理子系统包括数据库连接模块和表筛选模块, 所述数据库连接模块用于
根据用户输入的数据库连接信息, 加载对应的数据库连接驱动, 将可以连接的数据库连接
信息推送至数据上传子系统和凭证回传子系统; 所述表筛选模块用于筛选符合区块链建表
标准的数据表, 推送符合标准的表名至数据上传子系统, 推送符合标准的建表信息至区块
链交互子系统的建表模块。
3.根据权利要求1所述的一种面向多源数据库的区块链海量数据存证系统, 其特征在
于, 所述数据上传子系统包括数据读取模块和数据推送模块, 所述数据读取模块用于在接
收到数据库连接信息和符合建表 标准的表名后, 自动 读取表中每条数据的所有字段名及其
对应的字段值; 所述数据推送模块用于将读取出 的数据, 推送到区块链交互子系统的链上
数据管理模块。
4.根据权利要求1所述的一种面向多源数据库的区块链海量数据存证系统, 其特征在
于, 所述链上数据管理模块在进 行链上数据新增操作时, 会自动记录 当前时间、 新增数据的
用户地址、 当前数据存证的Hash值, 并将三条信息添加分隔符, 拼接为一个字段值写入 数据
操作信息字段; 所述链上数据管理模块在进行链上数据修改操作时, 链上数据管理模块会
自动判断用户地址是否与新增时写入的用户地址一致, 若不一致则不允许修改数据, 若一
致则根据提供 的表名、 主键名 和对应的主键值定位数据, 并根据提供 的字段名和字段值修
改数据, 其它未提供的字段会默认继承原内容, 不做修改, 不会发生变化; 修改时, 链上数据
管理模块会自动记录 当前时间、 修改数据的用户地址、 当前数据存证的Hash值、 该数据上次
记录的Hash值, 并将四条信息添加分 隔符, 拼接为一个字段值写入数据操作信息字段; 对于
已上传至区块链的数据, 用户只能修改它存在区块链上 的普通字段值, 无法修改其主键值
和数据操作信息的值。
5.根据权利要求1所述的一种面向多源数据库的区块链海量数据存证系统, 其特征在
于, 所述链上数据管理模块的链上数据查询功能同时支持主键查询、 Hash查询两种查询方
式。
6.根据权利要求1所述的一种面向多源数据库的区块链海量数据存证系统, 其特征在
于, 所述凭证回传子系统包括字段新增模块和凭证记录模块, 所述字段新增模块用于在数
据库中, 为当前上传数据的表新建一个字段, 该字段用于保存数据写入区块链时生成的权 利 要 求 书 1/3 页
2
CN 115408474 A
2Hash值; 所述凭证记录模块用于将Hash值写入它对应的数据新增的字段中, 将Hash值与数
据保存在一 起。
7.根据权利要求1所述的一种面向多源数据库的区块链海量数据存证系统, 其特征在
于, 所述区块链交互子系统的链上表管理模块和链上数据管理模块, 是 由一种分层的智能
合约实现功能, 包括数据操作层、 功能实现层、 对外交 互层;
其中数据操作层包含的是由区块链自身提供的, 直接对链上数据进行增删改查的基础
合约; 功能实现层包括功 能扩展合约与工具库合约, 功能扩展合约是对数据操作层的合约
进行功能扩展, 以实现对区块链表和对区块链数据的模块化区分管理, 工具库合约负责提
供功能扩展合约中多次复用的功 能代码; 对外交互层则仅有一个智能合约, 用于调用功 能
实现层的合约, 对外提供区块链 链上表管理模块和区块链 链上数据管理模块的所有功能。
8.一种面向多源数据库的区块链海量数据存证方法, 其特征在于, 所述方法基于权利
要求1‑7任一项所述的一种面向多源数据库的区块链海量数据存证系统, 包括自动全量存
证模式、 手动存证模式, 所述自动全量存证模式指用户可以指 定目标数据库, 本存证系统会
自动将目标数据库中含主键的表在区块链上创建出来, 并将表中数据自动上传至区块链进
行存证, 后续可以对上链数据进行删除、 修改、 查询的操作;
所述手动存证模式指用户可以自行在区块链上创建数据表, 后续可以在创建的数据表
上进行新增、 删除、 修改、 查询数据的操作。
9.根据权利要求8所述的一种面向多源数据库的区块链海量数据存证方法, 其特征在
于, 所述自动全量存证模式包括如下步骤:
步骤1, 用户向数据预处理子系统发送数据库类型、 名称及数据库连接地址、 端口、 用户
名、 密码;
步骤2, 数据预处理子系统筛选出具有主键的表, 向区块链交互子系统推送其建表信
息;
步骤3, 链上数据表新建模块检验区块链上是否已经存在同名的表, 若存在则不予创建
该表, 若不存在, 则根据表名、 主键名和普通字段名在区块链上创建出一张表;
步骤4, 建表成功后, 数据上传子系统向区块链交互子系统的链上数据新增模块, 发送
存证数据所属的表名、 存证数据的字段名及字段名对应的数据;
步骤5, 链上数据新增模块检测待存证数据 是否符合规范, 规范包括字段名和字段值的
数量一致、 字段名中包含主键名、 主键值没有重复、 所有字段名都在表中, 当待存证数据符
合规范时, 链上数据新增模块才会将数据提交, 待区块链上 的节点共识成功后将数据写入
区块链中, 持久保存该 数据, 否则不存证该 数据;
步骤6, 每条数据存证成功后, 区块链都会返回一条Hash值作为数据上链的凭证, 凭证
回传子系统在源数据库的表中新增一个字段, 并将Hash值写入 对应数据的该字段中;
步骤7, 数据存证成功后, 可以对区块链上的数据进行查找、 修改、 删除的操作。
10.根据权利要求8所述的一种面向多源数据库的区块链海量数据存证方法, 其特征在
于, 所述手动存证模式包括如下步骤:
步骤1, 用户向区块链交 互子系统推送建表信息;
步骤2, 链上数据表新建模块检验区块链上是否已经存在同名的表, 若存在则不予创建
该表, 若不存在, 则根据表名、 主键名和普通字段名在区块链上创建出一张表;权 利 要 求 书 2/3 页
3
CN 115408474 A
3
专利 面向多源数据库的区块链海量数据存证系统及存证方法
文档预览
中文文档
24 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共24页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-18 22:33:08上传分享