[发明专利]一种基于区块链的BCTkPQ查询方法有效
申请号: | 202110216456.1 | 申请日: | 2021-02-26 |
公开(公告)号: | CN112966001B | 公开(公告)日: | 2023-08-04 |
发明(设计)人: | 寇凯淇;信俊昌;王之琼 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/22;G06F16/27 |
代理公司: | 沈阳东大知识产权代理有限公司 21109 | 代理人: | 李在川 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 bctkpq 查询 方法 | ||
1.一种基于区块链的BCTkPQ查询方法,其特征在于,包括如下步骤:
步骤1:构建协作查询框架CQM包含三个关键部分,即应用程序编程接口API、由一组协作对等点CP维护的协作网络CN和存储原始交易数据的区块链BC;其中API包含分发器和响应器;
步骤2:构造来源-目的地S-D索引,构造每个事务中的业务逻辑关系;
具体过程如下:
步骤2.1:初始化三个集合S,D,E,用于存储每个事务的逻辑;
步骤2.2:定义Tx为区块链上的事务,按照一般的账户间的财务转移操作,定义Tx结构为,Tx={ID,TxHash,from,to,O},其中ID表示Tx的序列号,TxHash表示Tx的哈希值,from,to字段是表示Tx传输操作的业务逻辑,称为事务路径p,O为事务其余属性,当区块链事务Tx具有m个属性时,O为{attr1,attr2,……,attrm},attr为某一个属性;
步骤2.3:遍历区块链上所有事务,将Tx的from字段和to字段分别添加到S集合和D集合中;
步骤2.4:将当前事务的路径保存到E集合中,即p→from,to;
步骤3:在S-D索引的基础上,根据用户发送的查询请求p,k,W,O,构造路径-得分P-SC索引,建立路径和事务分数间的映射关系,P-SC索引与S-D索引构成一个二级索引;其中,p为事务路径,O为事务其余属性集合,W为权重集合,k为查询得分最高的前k个事务;
具体过程如下:
步骤3.1:获取S-D索引的E集合中新增的路径pi;
步骤3.2:当获取的pi在P-SC索引中不存在时,创建一个新的包bucket*来存储该路径pi,即pi→Txi添加到bucket*中;
步骤3.3:当获取的pi在P-SC索引中存在时,获取对应的bucket,存储pi对应的Txi到bucket中;
步骤4:获取查询结果,用户发送查询请求p,k,W,O,获取路径为p→from*,to*的事务中属性O上权重W的得分最高的前k个事务。
2.根据权利要求1所述的基于区块链的BCTkPQ查询方法,其特征在于,所述步骤4的过程如下:
步骤4.1:用户通过CQM的分发器将请求p,k,W,O广播到所有CP;
步骤4.2:每个CP在本地P-SC索引中获取所有包含p→from*,to*的包bucket,根据查询条件中的权重集合W,计算其事务分数scorei;
步骤4.3:根据事务score按照从大到小排序,将bucket中得分最高的前k个区块链事务添加到结果集合resultSet中;
步骤4.4:为resultSet计算摘要digest,并将digest广播给其他CP;
步骤4.5:当收到的digest全部相同且数量超过了给定阈值,返回resultSet,终止当前计算并等待下一次调用。
3.根据权利要求2所述的基于区块链的BCTkPQ查询方法,其特征在于,所述事务分数scorei的计算方法如下:
Fs(Tx)=∑attri×wi
其中,Fs(Tx)为事务分数scorei,attri为事务Tx的第i个属性,wi≥0是查询条件中权重集合W的第i个值,是对应属性attri的权重。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110216456.1/1.html,转载请声明来源钻瓜专利网。