在链上合约中形成数据微型索引的方法、装置和电子设备制造方法及图纸

技术编号:29133091 阅读:37 留言:0更新日期:2021-07-02 22:28
本发明专利技术公开了一种在链上合约中形成数据微型索引的方法、装置和电子设备。方法包括:在链下按照预设的索引压缩方法为数据建立微型索引;在链下计算所述微型索引的哈希值;将所述微型索引及其哈希值保存在链上合约中。通过将预言机提供的数据在链下形成微型索引后,再保存在链上合约中,极大地减小了链上的占用空间,保证了通过在极小的链上空间内存储必要少量的数据,查询到大量的完整的数据,进而保证链上交易的顺利完成。

【技术实现步骤摘要】
在链上合约中形成数据微型索引的方法、装置和电子设备
本专利技术涉及区块链
,尤其涉及一种在链上合约中形成数据微型索引的方法、装置和电子设备。
技术介绍
区块链是一个封闭的环境,链上智能合约无法主动获取链下真实世界的数据。而且,智能合约只有在满足相应条件下才达到触发状态的程序。如果智能合约的触发条件取决于区块链下信息,就需要通过预言机来提供这些区块链下的信息,写入区块链上记录。目前,随着区块链技术的不断发展,预言机需要写入到链上合约中的数据量越来越大。而链上空间有限,无法存储预言机提供的所有数据,导致链上存储的数据不够完整。因此,区块链上的某些智能合约无法查询到必要的数据达到触发状态,进而无法完成相应的交易。
技术实现思路
为了解决现有技术中存在的问题,本专利技术提供了如下技术方案。本专利技术一方面提供了一种在链上合约中形成数据微型索引的方法,所述方法应用于预言机中,包括:在链下按照预设的索引压缩方法为数据建立微型索引;在链下计算所述微型索引的哈希值;将所述微型索引及其哈希值保存在链上合约中。优选地,所述在链下采用预设的索引压缩方法为数据建立微型索引包括:在链下为数据建立索引;采用预设的索引压缩方法对所述索引进行压缩,得到微型索引。优选地,所述在链下采用预设的索引压缩方法为数据建立微型索引包括:在链下解析数据得到其所有的特征值;确定每个特征值对应的预设索引段;更新各特征值对应索引段内的索引信息。r>优选地,还包括:在链下按照预设值更新所述微型索引及对应的哈希值。优选地,所述预设值包括预设时间和/或新增数据的数量。优选地,所述更新所述微型索引的哈希值包括:计算更新后的微型索引的哈希值;或将原哈希值与新增部分组合,计算该组合的哈希值。优选地,所述将所述微型索引及其哈希值保存在链上合约中包括:所述链下节点请求将所述微型索引及其哈希值写入链上合约中;链上的治理合约用户对所述微型索引及其哈希值进行验证,验证成功后签名;将验证成功的所述微型索引及其哈希值和所述治理合约用户的签名写入链上合约中。本专利技术第二方面提供了一种在链上合约中形成数据微型索引的装置,所述装置设置于预言机中,包括:微型索引建立模块,用于在链下按照预设的索引压缩方法为数据建立微型索引;哈希值计算模块,用于在链下计算所述微型索引的哈希值;链上合约写入模块,用于将所述微型索引及其哈希值保存在链上合约中。本专利技术第三方面提供了一种存储器,存储有多条指令,所述指令用于实现上述的方法。本专利技术第四方面提供了一种电子设备,包括处理器和与所述处理器连接的存储器,所述存储器存储有多条指令,所述指令可被所述处理器加载并执行,以使所述处理器能够执行上述的方法。本专利技术的有益效果是:本专利技术提供的在链上合约中形成数据微型索引的方法、装置和电子设备,该方法中,首先在链下按照预设的索引压缩方法为数据建立微型索引;然后在链下计算所述微型索引的哈希值;最后将所述微型索引及其哈希值保存在链上合约中。通过将预言机提供的数据在链下形成微型索引后,再保存在链上合约中,极大地减小了链上的占用空间,保证了通过在极小的链上空间内存储必要少量的数据,能够查询到大量的完整的数据,进而保证链上交易的顺利完成。附图说明图1为本专利技术所述在链上合约中形成数据微型索引的方法流程示意图;图2为本专利技术所述在链上合约中形成数据微型索引的装置示意图。具体实施方式为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。本专利技术提供的方法可以在如下的终端环境中实施,该终端可以包括一个或多个如下部件:处理器、存储器和显示屏。其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行以实现下述实施例所述的方法。处理器可以包括一个或者多个处理核心。处理器利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行终端的各种功能和处理数据。存储器可以包括随机存储器(RandomAccessMemory,RAM),也可以包括只读存储器(Read-OnlyMemory,ROM)。存储器可用于存储指令、程序、代码、代码集或指令。显示屏用于显示各个应用程序的用户界面。除此之外,本领域技术人员可以理解,上述终端的结构并不构成对终端的限定,终端可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、电源等部件,在此不再赘述。实施例一如图1所示,本专利技术实施例提供了一种在链上合约中形成数据微型索引的方法,所述方法应用于预言机中,包括:S101,在链下按照预设的索引压缩方法为数据建立微型索引;S102,在链下计算所述微型索引的哈希值;S103,将所述微型索引及其哈希值保存在链上合约中。随着区块链技术的不断发展,链上智能合约涉及的领域越来越广泛,需要使用的链下数据的范围越来越广泛,数量越来越多,使用预言机为区块链提供链下数据时,由于链上的存储空间有限,无法存储大量的数据。本专利技术为了解决该问题,提供了上述方法:将预言机链下节点提供的数据保存在链下节点中,并在链下节点中为数据建立微型索引,将微型索引保存在链上合约中。由于微型索引占用的空间很小,可以存储大量的完整的数据,所以采用这种方法可以解决链上存储空间小,无法存储大量数据的问题,避免了链上的智能合约因数据不完整导致无法达到触发状态的问题。而且,通过建立微型索引,可以使得链上的智能合约能够采用索引检索的方式在众多的数据中快速的查找到特定的数据,可以极大的提高数据查找性能。本专利技术实施例中,采用了预言机技术。由于预言机是连接区块链和链下数据的桥梁,所以,通过预言机,可以实现链下和链上数据的连通。本专利技术中,将数据保存在链下节点中,并在链下为数据建立微型索引,然后将在链下建立好的微型索引写入链上合约中,从而既能够通过链下节点具有的大的存储空间解决链上存储空间有限,无法存储大量数据的问题,又能够实现在链上合约中直接查找特定数据的目的,利用链上数据不会被篡改的性质,保证查找数据的安全性。执行步骤S101,可以采用如下方法:在链下为数据建立索引;采用预设的索引压缩方法对所述索引进行压缩,得到微型索引。其中,可以采用如下方法在链下为数据建立索引:所述链下节点为每一笔数据生成对应的索引条目;将所有的所述索引条目按预设规则生成索引。其中,预设规则可以是时间顺序,也可以是数据所在的地址排列,还可以是自定义的编号顺序等。生成的索引条目按照上述一种或多种顺序组合进行排列,生成索引。比如按照时间顺序将数据对应的索引条目进行排列,生成索引。在需要查询某本文档来自技高网...

【技术保护点】
1.一种在链上合约中形成数据微型索引的方法,其特征在于,所述方法应用于预言机中,包括:/n在链下按照预设的索引压缩方法为数据建立微型索引;/n在链下计算所述微型索引的哈希值;/n将所述微型索引及其哈希值保存在链上合约中。/n

【技术特征摘要】
1.一种在链上合约中形成数据微型索引的方法,其特征在于,所述方法应用于预言机中,包括:
在链下按照预设的索引压缩方法为数据建立微型索引;
在链下计算所述微型索引的哈希值;
将所述微型索引及其哈希值保存在链上合约中。


2.如权利要求1所述的在链上合约中形成数据微型索引的方法,其特征在于,所述在链下采用预设的索引压缩方法为数据建立微型索引包括:
在链下为数据建立索引;
采用预设的索引压缩方法对所述索引进行压缩,得到微型索引。


3.如权利要求1所述的在链上合约中形成数据微型索引的方法,其特征在于,所述在链下采用预设的索引压缩方法为数据建立微型索引包括:
在链下解析数据得到其所有的特征值;
确定每个特征值对应的预设索引段;
更新各特征值对应索引段内的索引信息。


4.如权利要求1所述的在链上合约中形成数据微型索引的方法,其特征在于,还包括:
在链下按照预设值更新所述微型索引及对应的哈希值。


5.如权利要求4所述的在链上合约中形成数据微型索引的方法,其特征在于,所述预设值包括预设时间和/或新增数据的数量。


6.如权利要求4所述的在链上合约中形成数据微型索引的方法,其特征在于,所述...

【专利技术属性】
技术研发人员:张诚朱国君张勇
申请(专利权)人:北京瑞卓喜投科技发展有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1