索引构建方法、装置、设备和存储介质制造方法及图纸

技术编号:29080426 阅读:13 留言:0更新日期:2021-06-30 09:40
公开了一种索引构建方法、装置、设备和存储介质,属于区块链技术领域。该方法包括:接收账户标识绑定请求,账户标识绑定请求携带账户标识和账户地址,所述账户标识的字符数小于所述账户地址的字符数;将所述账户标识绑定请求对应的第一交易数据存储至区块链,第一交易数据包括所述账户标识与所述账户地址之间的关联关系;根据所述区块链存储的与所述账户标识相关的交易数据,构建所述账户标识的索引文件,所述账户标识的索引文件用于指示所述账户标识关联的账户地址。在本申请中,由于区块链的不可篡改性,所以根据区块链存储的交易数据构建出的索引文件是真实可信的,从而提高了后续通过该索引文件实现对区块链账户的操作时的安全性。的安全性。的安全性。

【技术实现步骤摘要】
索引构建方法、装置、设备和存储介质


[0001]本申请涉及区块链
,特别涉及一种索引构建方法、装置、设备和存储介质。

技术介绍

[0002]区块链系统中设置有区块链账户。区块链账户的账户数据包括账户地址、余额等。用户对区块链系统中的区块链账户的操作需要通过区块链账户的账户地址实现,而账户地址往往包含很多字符。比如,若需要将一个区块链账户的余额中的代币转移到另一个区块链账户的余额中,则需要用户双方都输入很长的账户地址才能实现,易用性较差。
[0003]为此,目前在区块链系统之外设置一个数据库专门用来存储较短的标识与账户地址之间的关联关系,以便用户可以用较短的标识实现对区块链账户的操作。具体地,用户向区块链系统发送携带有较短的标识的账户操作请求,区块链系统接收到该账户操作请求后,先从外置数据库中获取这个较短的标识关联的账户地址,再对该账户地址对应的区块链账户进行操作。然而,由于外置数据库不具备区块链系统的不可篡改性,所以账户操作的安全性难以得到保证。

技术实现思路

[0004]本申请提供了一种索引构建方法、装置、设备和存储介质,可以提高对区块链账户进行操作时的安全性。所述技术方案如下:
[0005]第一方面,提供了一种索引构建方法,应用于区块链系统,所述方法包括:
[0006]接收账户标识绑定请求,所述账户标识绑定请求携带账户标识和账户地址,所述账户标识的字符数小于所述账户地址的字符数;
[0007]将所述账户标识绑定请求对应的第一交易数据存储至区块链,所述第一交易数据包括所述账户标识与所述账户地址之间的关联关系;
[0008]根据所述区块链存储的与所述账户标识相关的交易数据,构建所述账户标识的索引文件,所述账户标识的索引文件用于指示所述账户标识关联的账户地址。
[0009]在本申请中,由于区块链的不可篡改性,所以根据区块链存储的与该账户标识相关的交易数据构建出的索引文件是真实可信的,如此可以提高后续通过该索引文件实现对区块链账户的操作时的安全性。
[0010]可选地,所述第一交易数据和所述账户标识的索引文件均包括版本号,所述将所述账户标识绑定请求对应的第一交易数据存储至区块链之前,还包括:
[0011]若不存在所述账户标识的索引文件,则将所述第一交易数据中的版本号设置为初始版本号;
[0012]若存在所述账户标识的索引文件,则将所述第一交易数据中的版本号设置为所述账户标识的索引文件中的版本号加1后得到的版本号。
[0013]可选地,所述根据所述区块链存储的与所述账户标识相关的交易数据,构建所述
账户标识的索引文件,包括:
[0014]从所述区块链存储的与所述账户标识相关的交易数据中获取版本号最高的交易数据作为目标交易数据;
[0015]根据所述目标交易数据构建所述账户标识的索引文件。
[0016]可选地,所述账户标识的索引文件的数据结构为字典树或B+树。
[0017]可选地,所述方法还包括:
[0018]接收账户标识解绑请求,所述账户标识解绑请求携带所述账户标识和所述账户地址;
[0019]将所述账户标识解绑请求对应的第二交易数据存储至所述区块链,所述第二交易数据包括所述账户标识;
[0020]根据所述区块链存储的与所述账户标识相关的交易数据,重新构建所述账户标识的索引文件。
[0021]可选地,所述根据所述区块链存储的与所述账户标识相关的交易数据,构建所述账户标识的索引文件之后,还包括:
[0022]获取所述账户标识的索引文件的哈希值作为第一哈希值;
[0023]将所述账户标识的索引文件存储至其他设备,以及将所述第一哈希值存储至所述区块链或智能合约;
[0024]若所述区块链系统重启,则从所述其他设备获取所述账户标识的索引文件作为目标索引文件;
[0025]获取所述目标索引文件的哈希值作为第二哈希值;
[0026]若所述第二哈希值与存储的所述第一哈希值相同,则将所述目标索引文件确定为所述账户标识的索引文件;
[0027]若所述第二哈希值与存储的所述第一哈希值不同,则根据所述区块链存储的与所述账户标识相关的交易数据,重新构建所述账户标识的索引文件。
[0028]可选地,所述根据所述区块链存储的与所述账户标识相关的交易数据,构建所述账户标识的索引文件之后,还包括:
[0029]接收账户操作请求,所述账户操作请求携带所述账户标识;
[0030]根据所述账户标识的索引文件,确定所述账户标识关联的账户地址;
[0031]对所述账户标识关联的账户地址对应的区块链账户进行操作。
[0032]第二方面,提供了一种索引构建装置,应用于区块链系统,所述装置包括:
[0033]接收模块,用于接收账户标识绑定请求,所述账户标识绑定请求携带账户标识和账户地址,所述账户标识的字符数小于所述账户地址的字符数;
[0034]第一存储模块,用于将所述账户标识绑定请求对应的第一交易数据存储至区块链,所述第一交易数据包括所述账户标识与所述账户地址之间的关联关系;
[0035]构建模块,用于根据所述区块链存储的与所述账户标识相关的交易数据,构建所述账户标识的索引文件,所述账户标识的索引文件用于指示所述账户标识关联的账户地址。
[0036]可选地,所述第一交易数据和所述账户标识的索引文件均包括版本号,所述装置还包括:
[0037]第一设置模块,用于在不存在所述账户标识的索引文件的情况下,将所述第一交易数据中的版本号设置为初始版本号;
[0038]第二设置模块,用于在存在所述账户标识的索引文件的情况下,将所述第一交易数据中的版本号设置为所述账户标识的索引文件中的版本号加1后得到的版本号。
[0039]可选地,所述构建模块用于:
[0040]从所述区块链存储的与所述账户标识相关的交易数据中获取版本号最高的交易数据作为目标交易数据;
[0041]根据所述目标交易数据构建所述账户标识的索引文件。
[0042]可选地,所述账户标识的索引文件的数据结构为字典树或B+树。
[0043]可选地,所述接收模块,还用于接收账户标识解绑请求,所述账户标识解绑请求携带所述账户标识和所述账户地址;
[0044]所述第一存储模块,还用于将所述账户标识解绑请求对应的第二交易数据存储至所述区块链,所述第二交易数据包括所述账户标识;
[0045]所述构建模块,还用于根据所述区块链存储的与所述账户标识相关的交易数据,重新构建所述账户标识的索引文件。
[0046]可选地,所述装置还包括:
[0047]第一获取模块,用于获取所述账户标识的索引文件的哈希值作为第一哈希值;
[0048]第二存储模块,用于将所述账户标识的索引文件存储至其他设备,以及将所述第一哈希值存储至所述区块链或智能合约;
[0049]第二获取模块,用于在所述区块链系统重启本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种索引构建方法,其特征在于,应用于区块链系统,所述方法包括:接收账户标识绑定请求,所述账户标识绑定请求携带账户标识和账户地址,所述账户标识的字符数小于所述账户地址的字符数;将所述账户标识绑定请求对应的第一交易数据存储至区块链,所述第一交易数据包括所述账户标识与所述账户地址之间的关联关系;根据所述区块链存储的与所述账户标识相关的交易数据,构建所述账户标识的索引文件,所述账户标识的索引文件用于指示所述账户标识关联的账户地址。2.如权利要求1所述的方法,其特征在于,所述第一交易数据和所述账户标识的索引文件均包括版本号,所述将所述账户标识绑定请求对应的第一交易数据存储至区块链之前,还包括:若不存在所述账户标识的索引文件,则将所述第一交易数据中的版本号设置为初始版本号;若存在所述账户标识的索引文件,则将所述第一交易数据中的版本号设置为所述账户标识的索引文件中的版本号加1后得到的版本号。3.如权利要求2所述的方法,其特征在于,所述根据所述区块链存储的与所述账户标识相关的交易数据,构建所述账户标识的索引文件,包括:从所述区块链存储的与所述账户标识相关的交易数据中获取版本号最高的交易数据作为目标交易数据;根据所述目标交易数据构建所述账户标识的索引文件。4.如权利要求1所述的方法,其特征在于,所述账户标识的索引文件的数据结构为字典树或B+树。5.如权利要求1所述的方法,其特征在于,所述方法还包括:接收账户标识解绑请求,所述账户标识解绑请求携带所述账户标识和所述账户地址;将所述账户标识解绑请求对应的第二交易数据存储至所述区块链,所述第二交易数据包括所述账户标识;根据所述区块链存储的与所述账户标识相关的交易数据,重新构建所述账户标识的索引文件。6.如权利要求1所述的方法,其特征在于,所述根据所述区块链存储的与所述账户标识相关的交易数据,构建所述账户标识的索引文件之后,还包括:获取所述账户标识的索引文件的哈希值作为第...

【专利技术属性】
技术研发人员:匡立中邱炜伟李伟张帅曾磊
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:

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

1