[发明专利]一种块链式账本中的数据读取方法、装置及设备有效
| 申请号: | 201910993127.0 | 申请日: | 2019-10-18 |
| 公开(公告)号: | CN110874486B | 公开(公告)日: | 2023-10-17 |
| 发明(设计)人: | 杨新颖 | 申请(专利权)人: | 蚂蚁区块链科技(上海)有限公司 |
| 主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F16/22 |
| 代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 陈冲 |
| 地址: | 200025 上海市黄浦区黄陂南路8*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 链式 账本 中的 数据 读取 方法 装置 设备 | ||
1.一种块链式账本中的数据读取方法,包括:
接收客户端所发送的数据读取指令,其中,所述读取指令中包含有业务属性;
从预设的索引表中获取所述业务属性所对应的位置信息集合,其中,所述位置信息包含数据记录所处的数据块的块高,以及,在所处的数据块中的偏移量;
生成用于采集数据记录的M个线程,以及,将所述位置信息集合分成N个互斥的位置信息子集,其中所述N与M的比值大于预设比值;
采用M个线程遍历所述分组,从块链式账本中获取各位置信息子集中的位置信息所对应的数据记录;
聚合所述数据记录,生成数据记录集合,并返回所述数据记录集合至客户端端。
2.如权利要求1所述的方法,将所述位置信息集合分成N个互斥的位置信息子集,包括:
确定位置信息集合中位置信息的数量,根据M和集合中位置信息的数量确定子集的数量N。
3.如权利要求1所述的方法,生成用于采集数据记录的M个线程,包括:
确定历史记录中,各线程获取各位置信息子集中的位置信息所对应的数据记录时的历史平均耗时,根据所述历史平均耗时确定当前的线程数M,生成用于采集数据记录的M个线程。
4.如权利要求1所述的方法,所述预设的索引表基于如下方式预先生成:
在块链式账本中,针对任一数据记录,获取所述数据记录中所包含的业务属性;
确定所述数据记录在账本中的位置信息,所述位置信息包括数据记录所处的数据块的块高,以及,在所处的数据块中的偏移量;
建立所述业务属性和位置信息的对应关系,写入以所述业务属性为主键的索引。
5.如权利要求4所述的方法,写入以所述业务属性为主键的索引,包括:
确定数据记录的时间戳;
在同一索引记录中按照时间戳的先后顺序,将数据记录的位置信息依序写入索引记录的值。
6.如权利要求4所述的方法,所述块链式账本中的数据块通过如下方式预先生成:
接收待存储的数据记录,确定各数据记录的哈希值,其中,数据记录中包含业务属性;
当达到预设的成块条件时,确定待写入数据块中的各数据记录,生成包含数据块的哈希值和数据记录的第N个数据块,具体包括:
当N=1时,初始数据块的哈希值和块高基于预设方式给定;
当N>1时,根据待写入数据块中的各数据记录和第N-1个数据块的哈希值确定第N个数据块的哈希值,生成包含第N个数据块的哈希值和各数据记录的第N个数据块,其中,数据块的块高基于成块时间的先后顺序单调递增。
7.如权利要求6所述的方法,所述预设的成块条件包括:
待存储的数据记录数量达到数量阈值;或者,距离上一次成块时刻的时间间隔达到时间阈值。
8.一种块链式账本中的数据读取装置,包括:
接收模块,接收用户所发送的数据读取指令,其中,所述读取指令中包含有业务属性;
位置信息获取模块,从预设的索引表中获取所述业务属性所对应的位置信息集合,其中,所述位置信息包含数据记录所处的数据块的块高,以及,在所处的数据块中的偏移量;
生成模块,生成用于采集数据记录的M个线程,以及,将所述位置信息集合分成N个互斥的位置信息子集,其中所述N与M的比值大于预设比值;
数据记录获取模块,采用M个线程遍历所述分组,从块链式账本中获取各位置信息子集中的位置信息所对应的数据记录;
返回模块,聚合所述数据记录,生成数据记录集合,并返回所述数据记录集合至客户端端。
9.如权利要求8所述的装置,所述生成模块,确定位置信息集合中位置信息的数量,根据M和集合中位置信息的数量确定子集的数量N。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于蚂蚁区块链科技(上海)有限公司,未经蚂蚁区块链科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910993127.0/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





