基于区块链系统的事件处理方法及装置、设备、介质制造方法及图纸

技术编号:37531257 阅读:19 留言:0更新日期:2023-05-12 15:57
本申请的实施例揭示了一种基于区块链系统的事件处理方法及装置、设备、介质、产品。该方法包括:共识节点接收针对业务合约的调用请求,根据调用请求触发对业务合约的执行以生成链上事件,并将链上事件与链上事件的事件主题关联存储在链上事件分发合约中,然后从链上事件分发合约中获取与订阅事件主题相关联的链上事件并发送至事件通知节点,事件通知节点根据订阅事件主题所匹配的业务订阅方地址,向对应的业务订阅方发送与业务订阅方订阅的事件主题相关联的链上事件。本申请实施例的技术方案极大地优化了事件处理方案,节省了系统资源消耗,便于维护、更新以及扩展,且隐私性与安全性更高。性更高。性更高。

【技术实现步骤摘要】
基于区块链系统的事件处理方法及装置、设备、介质


[0001]本申请涉及计算机
,具体而言,涉及一种基于区块链系统的事件处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品。

技术介绍

[0002]目前,使用区块链的业务方会进行事件上链,其中事件上链后通常是采用轮询链上交易数据,或者采用监听区块内交易结果的链上事件日志等方式通知到相应的业务方。但是,通过轮询的方式对系统资源消耗较大,通过监听链上事件日志的方式,不方便维护、更新以及扩展,并且还可能会导致相关隐私数据的泄露。可见,如何针对链上事件的通知进行优化,相关技术中并没有明确方案。

技术实现思路

[0003]为解决上述技术问题,本申请的实施例提供了一种基于区块链系统的事件处理方法及装置、电子设备、计算机可读存储介质、计算机程序产品,进而至少在一定程度上优化了链上事件的通知,节省了系统资源消耗,便于维护、更新以及扩展,且隐私性与安全性更高。
[0004]根据本申请实施例的一个方面,提供了一种基于区块链系统的事件处理方法,所述区块链系统包括共识节点和事件通知节点;所述事件处理方法由所述共识节点执行,所述方法包括:接收针对业务合约的调用请求,根据所述调用请求触发对所述业务合约的执行,以生成链上事件;将所述链上事件与所述链上事件的事件主题关联存储在链上事件分发合约中;从所述链上事件分发合约中获取与订阅事件主题相关联的链上事件;发送与所述订阅事件主题相关联的链上事件至所述事件通知节点,以使所述事件通知节点将与业务订阅方订阅的事件主题相关联的链上事件推送给所述业务订阅方。
[0005]根据本申请实施例的一个方面,提供了一种基于区块链系统的事件处理方法,所述区块链系统包括共识节点和事件通知节点;所述事件处理方法由所述事件通知节点执行,所述方法包括:接收业务订阅方发送的所订阅的事件主题与业务订阅方地址,将所述订阅的事件主题与所述业务订阅方地址进行关联存储;接收所述共识节点发送的与订阅事件主题相关联的链上事件;根据所述订阅事件主题所匹配的业务订阅方地址,向对应的业务订阅方发送与业务订阅方订阅的事件主题相关联的链上事件。
[0006]根据本申请实施例的一个方面,提供了一种基于区块链系统的事件处理装置,所述区块链系统包括共识节点和事件通知节点;所述装置配置于所述共识节点中,所述装置包括:第一接收模块,配置为接收针对业务合约的调用请求,根据所述调用请求触发对所述业务合约的执行,以生成链上事件;存储模块,配置为将所述链上事件与所述链上事件的事件主题关联存储在链上事件分发合约中;获取模块,配置为从所述链上事件分发合约中获取与订阅事件主题相关联的链上事件;第一发送模块,配置为发送与所述订阅事件主题相关联的链上事件至所述事件通知节点,以使所述事件通知节点将与业务订阅方订阅的事件
主题相关联的链上事件推送给所述业务订阅方。
[0007]在本申请的一些实施例中,基于前述方案,所述调用请求中携带有事件通知节点的标识,所述事件分发合约包括事件通知节点对象集合;所述存储模块包括:查找单元,配置为在所述事件通知节点对象集合中查找与所述事件通知节点的标识匹配的目标事件通知节点;第一存储单元,配置为将所述链上事件与所述链上事件的事件主题关联存储在所述目标事件通知节点对应的待通知事件队列中。
[0008]在本申请的一些实施例中,基于前述方案,所述调用请求中携带有事件通知节点的标识,所述事件分发合约包括待通知事件集合和事件通知节点对象集合;所述存储模块包括:存储与查找单元,配置为将所述链上事件与所述链上事件的事件主题关联存储在所述待通知事件集合中,以及在所述事件通知节点对象集合中查找与所述事件通知节点的标识匹配的目标事件通知节点;第二存储单元,配置为将所述链上事件在所述待通知事件集合中的索引信息存储在所述目标事件通知节点对应的待通知事件队列中。
[0009]在本申请的一些实施例中,基于前述方案,所述存储模块包括:新建单元,配置为若在所述事件通知节点对象集合中未查找到与所述事件通知节点的标识匹配的目标事件通知节点,则在所述事件通知节点对象集合中新建与所述事件通知节点的标识匹配的目标事件通知节点。
[0010]在本申请的一些实施例中,基于前述方案,所述获取模块包括:遍历单元,配置为遍历与所述订阅事件主题匹配的事件通知节点对应的待通知事件队列中所包含的链上事件的索引信息;第一获取单元,配置为根据遍历到的链上事件的索引信息,从所述链上事件集合中获取与所述链上事件的索引信息对应的链上事件。
[0011]在本申请的一些实施例中,基于前述方案,所述获取模块包括:第二获取单元,配置为接收所述事件通知节点发送的链上事件获取请求,并根据所述链上事件获取请求,从所述链上事件分发合约中获取与订阅事件主题相关联的链上事件。
[0012]在本申请的一些实施例中,基于前述方案,所述获取模块包括:第三获取单元,配置为根据预设时长触发机制从所述链上事件分发合约中获取与订阅事件主题相关联的链上事件。
[0013]根据本申请实施例的一个方面,提供了一种基于区块链系统的事件处理装置,所述区块链系统包括共识节点和事件通知节点;所述装置配置于所述事件通知节点中,所述装置包括:第二接收模块,配置为接收业务订阅方发送的订阅事件主题与业务订阅方地址,将所述订阅事件主题与所述业务订阅方地址进行关联存储;第三接收模块,配置为接收所述共识节点发送的与订阅事件主题相关联的链上事件;第二发送模块,配置为根据所述订阅事件主题所匹配的业务订阅方地址,向对应的业务订阅方发送与业务订阅方订阅的事件主题相关联的链上事件。
[0014]在本申请的一些实施例中,基于前述方案,所述装置还包括:创建及注册模块,配置为所述事件通知节点是由外部服务方创建并在所述区块链系统上进行注册的,所述事件通知节点的标识是在所述区块链系统上进行注册之后分配的;其中,所述外部服务方包括业务订阅方、业务推送方以及第三服务方中的一个。
[0015]在本申请的一些实施例中,基于前述方案,所述第二发送模块具体配置为若根据所述订阅事件主题所匹配的业务订阅方地址,向对应的业务订阅方发送与业务订阅方订阅
的事件主题相关联的链上事件失败,则重复发送所述与业务订阅方订阅的事件主题相关联的链上事件,直至发送成功或者直至重复发送次数达到预设发送次数阈值。
[0016]在本申请的一些实施例中,基于前述方案,所述装置还包括:第三发送模块,配置为若重复发送次数达到预设发送次数阈值且发送所述与业务订阅方订阅的事件主题相关联的链上事件失败,则发送标记指令至所述共识节点,以使所述共识节点根据所述标记指令中携带的发送失败的链上事件的标识,对所述链上事件分发合约中包含的链上事件进行标记。
[0017]在本申请的一些实施例中,基于前述方案,所述装置还包括:第四发送模块,配置为若根据所述订阅事件主题所匹配的业务订阅方地址,向对应的业务订阅方发送与业务订阅方订阅的事件主题相关联的链上事件成功,则发送删除指令至所述共识节点,以使所述共本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链系统的事件处理方法,其特征在于,所述区块链系统包括共识节点和事件通知节点;所述事件处理方法由所述共识节点执行,所述方法包括:接收针对业务合约的调用请求,根据所述调用请求触发对所述业务合约的执行,以生成链上事件;将所述链上事件与所述链上事件的事件主题关联存储在链上事件分发合约中;从所述链上事件分发合约中获取与订阅事件主题相关联的链上事件;发送与所述订阅事件主题相关联的链上事件至所述事件通知节点,以使所述事件通知节点将与业务订阅方订阅的事件主题相关联的链上事件推送给所述业务订阅方。2.如权利要求1所述的方法,其特征在于,所述调用请求中携带有事件通知节点的标识,所述事件分发合约包括事件通知节点对象集合;所述将所述链上事件与所述链上事件的事件主题关联存储在链上事件分发合约中,包括:在所述事件通知节点对象集合中查找与所述事件通知节点的标识匹配的目标事件通知节点;将所述链上事件与所述链上事件的事件主题关联存储在所述目标事件通知节点对应的待通知事件队列中。3.如权利要求1所述的方法,其特征在于,所述调用请求中携带有事件通知节点的标识,所述事件分发合约包括待通知事件集合和事件通知节点对象集合;所述将所述链上事件与所述链上事件的事件主题关联存储在链上事件分发合约中,包括:将所述链上事件与所述链上事件的事件主题关联存储在所述待通知事件集合中,以及在所述事件通知节点对象集合中查找与所述事件通知节点的标识匹配的目标事件通知节点;将所述链上事件在所述待通知事件集合中的索引信息存储在所述目标事件通知节点对应的待通知事件队列中。4.如权利要求2或3所述的方法,其特征在于,所述方法还包括:若在所述事件通知节点对象集合中未查找到与所述事件通知节点的标识匹配的目标事件通知节点,则在所述事件通知节点对象集合中新建与所述事件通知节点的标识匹配的目标事件通知节点。5.如权利要求3所述的方法,其特征在于,所述从所述链上事件分发合约中获取与订阅事件主题相关联的链上事件,包括:遍历与所述订阅事件主题匹配的事件通知节点对应的待通知事件队列中所包含的链上事件的索引信息;根据遍历到的链上事件的索引信息,从所述链上事件集合中获取与所述链上事件的索引信息对应的链上事件。6.如权利要求1所述的方法,其特征在于,所述从所述链上事件分发合约中获取与订阅事件主题相关联的链上事件,包括:接收所述事件通知节点发送的链上事件获取请求,并根据所述链上事件获取请求,从所述链上事件分发合约中获取与订阅事件主题相关联的链上事件;或者,根据预设时长触发机制从所述链上事件分发合约中获取与订阅事件主题相关联的链
上事件。7.一种基于区块链系统的事件处理方法,其特征在于,所述区块链系统包括共识节点和事件通知节点;所述事件处理方法由所述事件通知节点执行,所述方法包括:接收业务订阅方发送的所订阅的事件主题与业务订阅方地址,将所述订阅的事件主题与所述业务订阅方地址进行关联存储;接收所述共识节点发送的与订阅事件主题相关联的链上事件;根据所述订阅事件主题所匹配的业务订阅方地址,向对应的业务订阅方发送与业务订阅方订阅的事件主题相关联的链上事件。8.如权利要求7所述的方法,其特征在于,所述方法还包括:所述事件通知节点是由外部服务方创建并在所述区块链系统上进行注册的,所述事件通知节点的标识是在所述区块链系统上进行注册之后分配的;其中,所述外部服务方包括业务订阅方、业务推送方以及第三服务方中的一个。9.如权利要求7或8所述的方法,其特征在于,所述根据所述订阅事件主题所匹配的业务订阅方地址,向对应的业务订阅...

【专利技术属性】
技术研发人员:梁作栋莫洋王兆创
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1