数据上链的方法及上链代理装置与流程
- 国知局
- 2024-11-21 11:58:29
本说明书一个或多个实施例涉及区块链技术,尤其涉及数据上链的方法及上链代理装置。
背景技术:
1、区块链是一种由分布式数据存储、智能合约、共识机制、加密算法等多种技术形成的组合创新型技术,核心机制是在不可信的竞争环境中,利用数学原理而非第三方来低成本创造可信任的新型计算范式和协作模式。作为一种由多方共同维护的分布式记账技术,具有开放性、防篡改性、匿名性、去中心化以及可追溯性等特征,可以大幅拓展人们协作的广度和深度。
2、在区块链技术中,需要将用户的数据上传到区块链中,以便进行数据的上链存证。但是,目前已有的数据上链的方法只会将数据上传到区块链中,而不会考虑上传的各数据之间的关联关系,因此无法满足业务需求。
技术实现思路
1、本说明书一个或多个实施例描述了数据上链的方法及上链代理装置,能够根据数据之间的关联关系进行上链处理。
2、根据第一方面,提供了一种数据上链的方法,应用于上链代理装置,该上链代理装置设置于用户与区块链系统之间,包括:
3、接收用户发来的需要上传到区块链系统中的第一数据;
4、对接收到的第一数据进行校验;
5、在校验通过后,确定第一数据的当前版本信息;
6、根据第一数据的当前版本信息,得到第一数据与已上链的数据之间的关联关系;
7、根据所述关联关系,对第一数据进行上链处理。
8、其中,所述确定第一数据的当前版本信息,包括:
9、获取第一数据的标识信息;
10、在预先建立的索引表中查找该标识信息;所述索引表存储:每一笔交易数据的标识信息及该标识信息对应的版本信息;
11、如果不能查找到该标识信息,则确定第一数据的当前版本信息为第一个版本;
12、如果能够查找到该标识信息,则从所述索引表中获取对应于该标识信息的原最后一个版本,并确定第一数据的当前版本信息为所述原最后一个版本的下一个版本。
13、其中,所述获取第一数据的标识信息,包括:
14、从第一数据的第一个字段中获取第一数据的主键。
15、其中,所述根据第一数据的当前版本信息得到第一数据与已上链的数据之间的关联关系,包括:如果当前版本信息为第一个版本,则确定第一数据不是用于对区块链系统中的数据进行更新;
16、所述根据所述关联关系对第一数据进行上链处理,包括:在预先建立的索引表中存储第一记录,该第一记录中包括:第一数据的标识信息、第一个版本信息、第一数据的hash值以及该三者之间的对应关系;将第一数据上传到区块链系统中。
17、其中,所述根据第一数据的当前版本信息得到第一数据与已上链的数据之间的关联关系,包括:如果当前版本信息不是第一个版本,则确定第一数据用于对区块链系统中的数据进行更新;
18、所述根据所述关联关系对第一数据进行上链处理,包括:
19、利用第一数据的标识信息,从预先建立的索引表中检索该标识信息对应的最后一个版本及该最后一个版本对应的hash值;其中,所述索引表存储:每一笔交易数据的标识信息、该标识信息对应的版本信息、该版本信息对应的hash值;
20、利用检索到的hash值在区块链系统中查找该hash值对应的数据;
21、如果能查找到,则利用该查找到的数据及接收到的第一数据,生成对应当前版本的交易数据;
22、在所述索引表中存储第二记录,该第二记录包括:第一数据的标识信息、所述当前版本信息、对应当前版本的交易数据的hash值以及该三者之间的对应关系;及
23、将对应当前版本的交易数据上传到区块链系统中。
24、在所述利用检索到的hash值在区块链系统中查找该hash值对应的数据之后,进一步包括:
25、如果不能查找到,终止对所述第一数据的上链处理,并向用户返回上链失败消息,结束当前流程。
26、在所述索引表中存储第二记录之后,并在将对应当前版本的交易数据上传到区块链系统中之前,进一步包括:
27、判断在所述索引表中是否存在第三记录,该第三记录与第二记录中包括的数据的标识信息、版本信息及hash值均分别相同,如果是,则从所述第三记录与第二记录中选择一条记录,并仅将所选记录对应的当前版本的交易数据上传到区块链系统中。
28、其中,在所述接收用户发来的需要上传到区块链系统中的第一数据之后,并在所述对接收到的第一数据进行校验之前,进一步包括:
29、对第一数据进行解析,解析出对应于至少两种交易的至少两个子数据;每一个子数据的大小不超过区块链系统中一个区块的存储空间的大小;
30、针对每一个子数据,均执行从所述校验的步骤直至所述上链处理的步骤。
31、进一步包括:如果针对任意一个子数据,未能在所述索引表中存储该子数据的所述记录时,则终止对所述第一数据中包括的所有子数据的上链处理,并向用户返回上链失败消息,结束当前流程。
32、根据第二方面,提供了上链代理装置,位于用户与区块链系统之间,包括:
33、上链数据接收模块,被配置为接收用户发来的需要上传到区块链系统中的第一数据;以及对接收到的第一数据进行校验;
34、关联关系处理模块,被配置为在对第一数据校验通过后,确定第一数据的当前版本信息;根据第一数据的当前版本信息,得到第一数据与已上链的数据之间的关联关系;
35、上链执行模块,被配置为根据所述关联关系,对第一数据进行上链处理。
36、其中,所述关联关系处理模块,被配置为执行:如果当前版本信息为第一个版本,则确定第一数据不是用于对区块链系统中的数据进行更新;在预先建立的索引表中存储第一记录,该第一记录中包括:第一数据的标识信息、第一个版本信息、第一数据的hash值以及该三者之间的对应关系;
37、所述上链执行模块,被配置为执行:将第一数据上传到区块链系统中。
38、其中,所述关联关系处理模块,被配置为执行:
39、如果当前版本信息不是第一个版本,则确定第一数据用于对区块链系统中的数据进行更新;
40、利用第一数据的标识信息,从预先建立的索引表中检索该标识信息对应的最后一个版本及该最后一个版本对应的hash值;其中,所述索引表存储:每一笔交易数据的标识信息、该标识信息对应的版本信息、该版本信息对应的hash值;
41、利用检索到的hash值在区块链系统中查找该hash值对应的数据;
42、如果能查找到,则利用该查找到的数据及接收到的第一数据,生成对应当前版本的交易数据;
43、在所述索引表中存储第二记录,该第二记录包括:第一数据的标识信息、所述当前版本信息、对应当前版本的交易数据的hash值以及该三者之间的对应关系;
44、所述上链执行模块,被配置为执行:将对应当前版本的交易数据上传到区块链系统中。
45、根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任一实施例所述的方法。
46、根据第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书任一实施例所述的方法。
47、本说明书实施例提供的数据上链的方法及上链代理装置,通过记录每一个上链数据的当前版本信息,就能够得到上链的不同数据的不同版本信息,一个数据的不同版本信息可以体现一个数据被更新的次数及各次更新的先后顺序,因此,通过版本信息就可以体现在区块链系统上存证的各数据之间的关联关系,基于此种关联关系进行数据上链处理,可以满足业务的需求。
本文地址:https://www.jishuxx.com/zhuanli/20241120/333650.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表