System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及区块链领域,特别是涉及区块链事件的订阅方法、装置、系统和存储介质。
技术介绍
1、区块链(blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
2、区块内的交易(transactions)在执行时可能产生事件(event),这些事件会被记录在区块中。在区块链的服务化场景下,区块链节点可以由多个服务共同构成,其中成块服务可以将所述事件提供给其他服务使用。
3、在相关技术中,调用方在维持事件订阅状态时需要保持多个长连接的稳定性并在出现问题时进行重连,如果调用方对于订阅数据完整性具有更高要求的话,还需要在重新建立连接前重新通过接口查询的方式补充因为事件订阅连接中断导致的事件丢失,导致区块链事件订阅的处理开销较高。
4、目前针对相关技术中区块链事件订阅的处理开销高的问题,尚未提出有效的解决方案。
技术实现思路
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、本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
本文档来自技高网...【技术保护点】
1.一种区块链事件的订阅方法,其特征在于,所述方法包括:
2.根据权利要求1所述的订阅方法,其特征在于,所述在应用层创建事件订阅组件,包括:
3.根据权利要求1所述的订阅方法,其特征在于,所述事件订阅组件还配置有数据库链接参数;所述利用所述事件订阅组件,对所述订阅事件对应的区块高度进行持久化包括:
4.根据权利要求3所述的订阅方法,其特征在于,所述对所述订阅事件对应的区块高度进行持久化之后,所述方法还包括:
5.根据权利要求3所述的订阅方法,其特征在于,所述获取所述新的区块的订阅事件之后,所述方法还包括:
6.根据权利要求1所述的订阅方法,其特征在于,所述利用所述事件订阅组件,对所述订阅事件对应的区块高度进行持久化,包括:
7.根据权利要求1至6任一项所述的订阅方法,其特征在于,所述事件订阅组件有至少一个;每个所述事件订阅组件对应一个区块链网络。
8.一种区块链事件的订阅装置,其特征在于,包括:
9.一种区块链事件的订阅系统,其特征在于,包括:应用层、区块链网络以及如权利要求8所述的区
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项所述的区块链事件的订阅方法。
...【技术特征摘要】
1.一种区块链事件的订阅方法,其特征在于,所述方法包括:
2.根据权利要求1所述的订阅方法,其特征在于,所述在应用层创建事件订阅组件,包括:
3.根据权利要求1所述的订阅方法,其特征在于,所述事件订阅组件还配置有数据库链接参数;所述利用所述事件订阅组件,对所述订阅事件对应的区块高度进行持久化包括:
4.根据权利要求3所述的订阅方法,其特征在于,所述对所述订阅事件对应的区块高度进行持久化之后,所述方法还包括:
5.根据权利要求3所述的订阅方法,其特征在于,所述获取所述新的区块的订阅事件之后,所述方法还包括:
6.根据权利要求1...
【专利技术属性】
技术研发人员:韦懿杰,汪小益,夏立伟,蔡虹霞,李瑞阳,
申请(专利权)人:杭州高新区滨江区块链与数据安全研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。