本技术涉及计算机,特别是涉及一种硬件钱包的数据读取的方法及装置。
背景技术:
1、数字货币硬件钱包是指将数字资产的私钥,单独储存在一个芯片中,与互联网隔离,即插即用。硬件钱包通过近场通信等方式,与收款机交互时即可通过钱包id、签名等关键信息完成支付交易操作。在使用硬件钱包进行交易时,会将交易的相关数据进行存储,频繁的业务交易会让硬件钱包的存储空间内存入大量的重复数据。
2、一般情况下,交易数据的存储是将数据进行打包,全部存入硬件钱包的存储空间。在进行数据读取时,数据查询的效率与存储的数据量是呈正相关的,存入的数据越大,则数据读取的速度越慢。会导致降低硬件钱包的数据读取的效率,读取有效数据困难。
技术实现思路
1、基于上述问题,本技术提供了一种硬件钱包的数据读取的方法及装置,可以提高硬件钱包的数据读取的效率,方便读取有效数据。
2、本技术实施例公开了如下技术方案:
3、第一方面,本技术提供一种硬件钱包的数据读取的方法,包括:
4、对预先建立在硬件钱包存储空间的索引表进行遍历,确定所述索引表中是否写入目标读取数据,所述索引表包括索引编号字段、关键词字段和引用记录字段;
5、若未写入,则将所述目标读取数据写入所述索引表,并写入所述目标读取数据对应的所述引用记录字段的数据和对应的所述索引编号字段的数据,以便所述目标读取数据的读取,所述目标读取数据是所述关键词字段的数据;
6、若已写入,则根据所述引用记录字段的数据和所述索引编号字段的数据,读取所述目标读取数据。
7、可选地,所述将所述目标读取数据写入所述索引表之后,所述方法还包括:
8、预先建立业务数据表,所述业务数据表包括业务标识码字段和第一业务数据字段;
9、在预先建立的所述业务数据表中,确定与所述引用记录字段的数据一致的所述业务标识码字段的数据,将所述目标读取数据对应的所述索引编号字段的数据,写入所述第一业务数据字段;所述引用记录字段的数据包括至少一个所述业务标识码字段的数据,所述第一业务数据字段的数据包括至少一个所述索引编号字段的数据。
10、可选地,所述根据所述引用记录字段的数据和所述索引编号字段的数据,读取所述目标读取数据,具体包括:
11、根据所述业务数据表的所述业务标识码字段的数据,获取所述第一业务数据字段的数据,或,根据所述业务数据表的所述业务标识码字段的数据和所述第一业务数据字段的数据,获取所述第一业务数据字段的数据;
12、在所述索引表中查找所述业务标识码字段的数据对应的所述引用记录字段的数据,和所述第一业务数据字段的数据对应的所述索引编号字段的数据;
13、根据所述引用记录字段的数据和 所述索引编号字段的数据,读取所述目标读取数据。
14、可选地,所述方法还包括:
15、预先建立业务属性映射表,所述业务属性映射表包括业务属性字段和第二业务数据字段;
16、在预先建立的所述业务属性映射表中,将所述第一业务数据字段中的数据写入所述第二业务数据字段,并将所述第二业务数据字段的数据对应的业务属性,写入所述业务属性字段,所述第二业务数据字段的数据包括至少一个所述索引编号字段的数据。
17、可选地,所述根据所述引用记录字段的数据和所述索引编号字段的数据,读取所述目标读取数据,具体包括:
18、获取所述业务属性映射表中所述第二业务数据字段的数据和所述业务属性字段的数据;
19、根据已知的所述业务属性字段的数据对应的业务标识码字段的数据,在所述索引表中查找所述业务标识码字段的数据对应的所述引用记录字段的数据,和所述第二业务数据字段的数据对应的所述索引编号字段的数据;
20、根据所述引用记录字段的数据和所述索引编号字段的数据,读取所述目标读取数据。
21、可选地,所述方法还包括:
22、当一条索引记录中所述引用记录字段的数据全部被删除时,则删除所述索引记录中的所述关键词字段的数据和所述索引编号字段的数据,所述一条索引记录包括一个所述索引编号字段的数据、一个所述关键词字段的数据和一个所述引用记录字段的数据。
23、可选地,所述方法还包括:
24、当一条业务数据记录中所述第一业务数据字段的部分所述索引编号字段的数据被删除时,根据所述业务标识码的数据查找到所述索引表中对应的所述引用记录字段的数据后,删除所述引用记录字段中对应的所述业务标识码字段的数据。
25、第二方面,本技术提供一种硬件钱包的数据读取的装置,包括:
26、判断模块,用于对预先建立在硬件钱包存储空间的索引表进行遍历,确定所述索引表中是否写入目标读取数据,所述索引表包括索引编号字段、关键词字段和引用记录字段;
27、写入模块,用于将所述目标读取数据写入所述索引表,并写入所述目标读取数据对应的所述引用记录字段的数据和对应的所述索引编号字段的数据,以便所述目标读取数据的读取,所述目标读取数据是所述关键词字段的数据;
28、读取模块,用于根据所述引用记录字段的数据和所述索引编号字段的数据,读取所述目标读取数据。
29、可选地,所述写入模块还包括:
30、预先建立业务数据表,所述业务数据表包括业务标识码字段和第一业务数据字段;
31、在预先建立的所述业务数据表中,确定与所述引用记录字段的数据一致的所述业务标识码字段的数据,将所述目标读取数据对应的所述索引编号字段的数据,写入所述第一业务数据字段;所述引用记录字段的数据包括至少一个所述业务标识码字段的数据,所述第一业务数据字段的数据包括至少一个所述索引编号字段的数据。
32、可选地,所述读取模块具体用于:
33、根据所述业务数据表的所述业务标识码字段的数据,获取所述第一业务数据字段的数据,或,根据所述业务数据表的所述业务标识码字段的数据和所述第一业务数据字段的数据,获取所述第一业务数据字段的数据;
34、在所述索引表中查找所述业务标识码字段的数据对应的所述引用记录字段的数据,和所述第一业务数据字段的数据对应的所述索引编号字段的数据;
35、根据所述引用记录字段的数据和 所述索引编号字段的数据,读取所述目标读取数据。
36、可选地,所述写入模块还包括:
37、预先建立业务属性映射表,所述业务属性映射表包括业务属性字段和第二业务数据字段;
38、在预先建立的所述业务属性映射表中,将所述第一业务数据字段中的数据写入所述第二业务数据字段,并将所述第二业务数据字段的数据对应的业务属性,写入所述业务属性字段,所述第二业务数据字段的数据包括至少一个所述索引编号字段的数据。
39、可选地,所述读取模块具体用于:
40、获取所述业务属性映射表中所述第二业务数据字段的数据和所述业务属性字段的数据;
41、根据已知的所述业务属性字段的数据对应的业务标识码字段的数据,在所述索引表中查找所述业务标识码字段的数据对应的所述引用记录字段的数据,和所述第二业务数据字段的数据对应的所述索引编号字段的数据;
42、根据所述引用记录字段的数据和所述索引编号字段的数据,读取所述目标读取数据。
43、可选地,所述装置还包括:删除模块;
44、当一条索引记录中所述引用记录字段的数据全部被删除时,则删除所述索引记录中的数据对应的所述关键词字段的数据和所述索引编号字段的数据,所述一条索引记录包括一个所述索引编号字段的数据、一个所述关键词字段的数据和一个所述引用记录字段的数据。
45、可选地,所述删除模块还用于:
46、当一条业务数据记录中所述第一业务数据字段的部分所述索引编号字段的数据被删除时,根据所述业务标识码的数据查找到所述索引表中对应的所述引用记录字段的数据后,删除所述引用记录字段中对应的所述业务标识码字段的数据。
47、相较于现有技术,本技术具有以下有益效果:
48、本技术中,在硬件钱包的存储空间中预先建立了索引表。索引表中存储了检索需要的关键词和关键词对应的引用记录,每个关键词都有一个索引编号。确定索引表中是否已经写入检索的目标读取数据,目标读取数据就是关键词。若未写入,则可以将关键词写入索引表中,并写入对应的引用记录和对应的索引编号,以便后续可以直接在索引表中读取该关键词。若已经写入,则可以直接通过引用记录和索引编号确定目标读取数据,也就是关键词。通过建立索引表,可以将业务数据以索引地址的方式存储,可以避免存入的数据过大导致的读取速度缓慢。因此,可以提高硬件钱包的数据读取的效率,方便读取有效数据。