standard library
(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

PDF文档 专利 面向多源数据库的区块链海量数据存证系统及存证方法

文档预览
中文文档 24 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共24页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 面向多源数据库的区块链海量数据存证系统及存证方法 第 1 页 专利 面向多源数据库的区块链海量数据存证系统及存证方法 第 2 页 专利 面向多源数据库的区块链海量数据存证系统及存证方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-18 22:33:08上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。