【技术实现步骤摘要】
一种基于区块链的事件订阅方法、装置及系统
[0001]本专利技术涉及区块链
,尤其涉及一种基于区块链的事件订阅方法、装置及系统。
技术介绍
[0002]随着区块链技术的发展,事件机制在交易流程中扮演着越来越重要的作用。区块链智能合约里经常会包含有事件,应用层通过监听区块链上指定智能合约的指定事件,从而得到相应的数据并触发相应的处理。
[0003]目前,对于区块链上事件,应用层会有重复读取、指定区块读取、应用层上多个应用共享读等需求。但目前的区块链系统,需要应用层监听每个区块的所有交易后,再自己处理消息的过滤和接收,从而得到应用层所需的数据,这导致事件消息消费的及时性较差;并且,应用层也无法读取历史事件,这对事件消息消费的完备性也存在一定的挑战。
技术实现思路
[0004]有鉴于此,本专利技术实施例提供一种基于区块链的事件订阅方法、装置及系统,通过根据订阅事件中的起始区块高度、截止区块高度以及已解析区块的第一高度区间,确定出待解析的区块信息,可以根据应用层的需要,读取历史事件。同时通过将解析得到的 ...
【技术保护点】
【技术特征摘要】
1.一种基于区块链的事件订阅方法,其特征在于,应用于分布式集群,所述方法包括:接收应用层的订阅事件;根据所述订阅事件中的起始区块高度、截止区块高度以及已解析区块的第一高度区间,确定待解析的区块信息;所述已解析区块的第一高度区间是根据历史订阅事件对应区块上的第一目标事件进行解析得到的;对所述待解析的区块信息对应的第二目标事件进行解析,将解析得到的事件消息发送至消息中间件,以供所述应用层消费所述事件消息。2.根据权利要求1所述的方法,其特征在于,还包括:判断所述起始区块高度是否小于所述第一高度区间的底层高度;若是,则通过回溯线程,根据所述起始区块高度距离所述底层高度的一个或多个区块确定待解析的第一区块信息,并利用解析线程对所述第一区块信息对应的第二目标事件进行解析。3.根据权利要求2所述的方法,其特征在于,在所述起始区块高度不小于所述第一高度区间的底层高度的情况下,还包括:确定所述起始区块高度是否处于所述第一高度区间;若是,则通过工作线程根据所述截止区块高度和第一高度区间确定待解析的第二区块信息,并利用解析线程对所述第二区块信息对应的第二目标事件进行解析;若否,则通过工作线程根据起始区块高度和截止区块高度确定待解析的第三区块信息,并利用解析线程对所述第三区块信息对应的第二目标事件进行解析。4.根据权利要求3所述的方法,其特征在于,所述根据所述截止区块高度和第一高度区间确定待解析的第二区块信息,包括:判断所述截止区块高度是否属于所述第一高度区间;如果否,根据所述第一高度区间中的顶层高度和所述截止区块高度确定第二高度区间;根据所述第二高度区间所对应的区块确定所述第二区块信息。5.根据权利要求1所述的方法,其特征在于,在所述订阅事件对应于多个事件主题的情况下,所述对所述待解析的区块信息对应的第二目标事件进行解析,包括:根据各个所述订阅事件中的事件主题,利用不同解析线程分别解析不同事件主题的第二目标事件,并分别将解析得到的事件消息以及对应的事件主题发送至所述消息中间件。6.根据权利要求1所述的方法,其特征在于,还包括:定期对所述第一高度区间进行更新。7.根据权利要求1所述的方法,其特征在于,还包括:在所述分布式集群中确定一个活动节点;利用...
【专利技术属性】
技术研发人员:陈晓明,黄雨聪,
申请(专利权)人:中国人民银行数字货币研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。