说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210586470.5 (22)申请日 2022.05.26 (71)申请人 南京邮电大 学 地址 210003 江苏省南京市 鼓楼区新模范 马路66号 (72)发明人 付雄 范文昊 邓松 王俊昌  陈云芳  (74)专利代理 机构 南京经纬专利商标代理有限 公司 32200 专利代理师 田凌涛 (51)Int.Cl. H04L 67/1097(2022.01) H04L 9/40(2022.01) H04L 9/32(2006.01) G06F 16/23(2019.01)G06F 16/901(2019.01) G06F 16/906(2019.01) G06F 21/60(2013.01) G06F 21/64(2013.01) (54)发明名称 基于云存储的区块链数据链下存 储方法 (57)摘要 本发明涉及基于云存储的区块链数据链下 存储方法, 通过区块创建时间进行分类打包, 并 标记区块集合中用户节点参与的区块, 减轻了区 块链节点存储压力, 提高存储和检索效率; 具体 对在本地保存时间超 过预设时长的区块打包, 并 根据区块集合中的区块数量和记录用户参与交 易的区块, 生成描述字符串保存在链上; 并对打 包后的区块集合进行非对称加密, 获取数字签名 与打包文件一起上传云端; 运用这种策略可以减 少上传云存储频率, 提高存储性能, 并且区块链 节点保存区块集合信息, 提高访问效率, 以及非 对称加密和多处备份保证区块不可伪造、 不可篡 改。 权利要求书2页 说明书6页 附图1页 CN 115052008 A 2022.09.13 CN 115052008 A 1.基于云存储 的区块链数据链下存储方法, 其特征在于: 基于区块链系统Blockchain 按正常程序出块生成区块, 并经用户节点UN验证后, 按出块顺序依次将各区块加入区块链 表BLK, 以及区块头中包含区块创建时间Time、 区块体中包含交易列表Transactions, 按预 设周期执 行如下步骤A至步骤E, 执 行存储; 步骤A.初始化待存储区块动态数组BA、 相 关时间戳动态数组TL, 以及初始化结算时间 字符串ST为当前时间戳, 并进入步骤B; 步骤B.基于区块链表BLK, 获得其中区块创建时间Time与结算时间字符串ST之间差值 不小于预设时长阈值的连续各区块、 以及用户节点UN参与交易的各区块, 加入待存储区块 动态数组BA中, 同时并将用户节 点UN参与交易的各区块的区块创建时间Time加入相关时间 戳动态数组TL中, 然后进入步骤C; 步骤C.删除区块链表BLK中属于待存储区块动态数组BA中的各个区块, 更新区块链表 BLK, 然后进入步骤D; 步骤D.构建待存储区块动态数组BA所对应的描述信息字符串BA.info, 以及构建待存 储区块动态数组BA与相关时间戳动态数组TL所对应的相关性字符串BA.relativity, 进而 构成区块数组描述字符串BA.des, 然后进入步骤E; 步骤E.将待存储区块动态数组BA保存为json格式的区块数组文件BA.file, 并针对区 块数组描述字符串BA.des、 区块数组文件BA.file, 实现用户节点UN本地保存、 以及区块链 上保存。 2.根据权利要求1所述基于云存储的区块链数据链下存储方法, 其特征在于: 所述步骤 B包括如下步骤B1至步骤B6; 步骤B1.初始化 参数i等于1, 并进入步骤B2; 步骤B2.判断区块链表BLK中第i个区块的区块创建时间Time与结算时间字符串ST之间 差值是否不小于预设时长阈值, 是则将区块链表BLK中第i个区块加入待存储区块动态数 组 BA中, 并针对i的值进行加1更新, 然后进入步骤B3; 否则进入步骤B4; 步骤B3.判断i是否大于区块链表BLK中区块的个数, 是则进入步骤B4, 否则返回步骤 B2; 步骤B4.遍历待存储区块动态数组BA, 将其中交易列表Transactions公共字段包含用 户节点UN账户信息UN.account的各个区块的区块创建时间Time, 加入相关时间戳动态数组 TL中; 然后判断若待存储区块动态数 组BA中最后一个区块的交易列表Transactions公共字 段是否包含用户节点UN账户信息UN.account, 是则定义k=待存储区块动态数组BA中区块 数量+1, 并进入步骤B5; 否则进入至步骤C; 步骤B5.判断区块链表BLK中第k个区块交易列表Transactions公共字段是否包含用户 节点UN账户信息UN.account, 是则将区块链表BLK中第k个区块加入待存储区块动态数组BA 中, 以及将区块链表BLK中第k个区块的区块创建时间Time, 加入相关时间戳动态数 组TL中, 并针对k的值进行加1更新, 然后进入步骤B6; 否则进入步骤C; 步骤B6.判断k是否大于区块链 表BLK中区块的个数, 是则进入步骤C, 否则返回步骤B5 。 3.根据权利要求1所述基于云存储的区块链数据链下存储方法, 其特征在于: 所述步骤 D包括如下: 首先根据待存储区块动态数组BA中第一个区块的区块创建时间Time、 最后一个区块的权 利 要 求 书 1/2 页 2 CN 115052008 A 2区块创建时间Time、 以及待存储区块动态数组BA中区块的数量, 构成描述信息字符串 BA.info; 然后根据相关时间戳动态数组TL长度cntun, 若cntun等于0, 则定义相关性字符串 BA.relativit y为No transaction  records; 若cntun不等于0, 则遍历待存储区块动态数组 BA中各区块的区块创建时间Time, 获取彼此最长公共前缀子串str0, 并将该各个区块创建 时间Time分别分割为str0、 以及剩余部分str, 然后按如下方式, 构成相关性字符串 BA.relativity; BA.relativity=cntun+str0+“:”+str+“,”+str+“,”...+str+“。” 最后将描述信息字符串BA.info和相关性字符串BA.relativity以json格式进行合 并, 构成区块数组描述字符串BA.des。 4.根据权利要求1所述基于云存储的区块链数据链下存储方法, 其特征在于: 所述步骤 E包括如下步骤E1至步骤E7; 步骤E1.将待存储区块动态数组BA保存为json格式的区块数组文件BA.file, 并对区块 数组文件BA.file字符串进行哈希计算, 获得区块数组 哈希BA.hash, 然后应用用户节点UN 的私钥字符串UN.PrivateKey对区块数组哈希BA.hash进行非对称加密, 获得数字签名字符 串BA.signature, 然后进入步骤E2; 步骤E2.调用预设各公共云空间分别所提供的对象存储服务OBS, 或者调用内部云空间 所提供的对象存储服务OBS, 并获得相应 云空间的存储空间和各地址, 由各地址构成地址数 组URL, 然后进入步骤E 3; 步骤E3.应用所调用的对象存储服务OBS, 将区块数组文件BA.file和数字签名字符串 BA.signature打包上传到地址数组URL中相应地址对应的云空间, 并等待相应云空间的返 回数据respo nse, 进入步骤E4; 步骤E4.读取返回数据response中的确认应答字符ack, 若确认应答字符ack为存储成 功, 则进入步骤E 5; 否则返回步骤E2; 步骤E5.由地址数组URL与返回数据response作为字段名, 生成json格式的地址文件 URL.file, 并对URL.file字符串进行哈希计算, 得到对应的地址文件哈希URL.hash, 然后进 入步骤E6; 步骤E6.建立区块地址对照表BUT, 将区块数组描述字符串BA.des和地址文件哈希 URL.hash作为键值对, 写入区块地址对照表BUT中, 并由用户节 点UN本地保存区块地址对照 表BUT, 然后进入步骤E7; 步骤E7.在区块链上生成正式区块, 包含区块头H和区块体B, 其中, 区块头H中保存区块 数组哈希BA.hash和结算时间字符串ST, 区块体B中保存区块数组描述字符串BA.des、 相关 性字符串BA.relativity、 区块 地址对照表BU T。权 利 要 求 书 2/2 页 3 CN 115052008 A 3

PDF文档 专利 基于云存储的区块链数据链下存储方法

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