[发明专利]节点通信异常后防止交易丢失的方法、系统及存储介质有效
申请号: | 202010699610.0 | 申请日: | 2020-07-20 |
公开(公告)号: | CN111865721B | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 翟红鹰 | 申请(专利权)人: | 普华云创科技(北京)有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/24 |
代理公司: | 安化县梅山专利事务所 43005 | 代理人: | 潘访华 |
地址: | 100123 北京市朝阳区高井文化园路*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 节点 通信 异常 防止 交易 丢失 方法 系统 存储 介质 | ||
本发明公开了一种节点通信异常时防止交易丢失的方法、系统及存储介质。所述节点通信异常时防止交易丢失的方法,包括如下步骤:监听通信测试信号,并实时判断所述通信测试信号是否存在异常情况;当所述通信测试信号存在异常情况时,触发守护信号的生成;响应所述守护信号,执行通信通道调度机制,以实现将已处理的交易请求返回客户端。响应所述守护信号,执行缓冲数据处理机制,以实现将所述缓冲数据的持久化。本发明的技术方案解决相关技术中,节点通信异常导致交易请求中断以及缓冲数据容易丢失的技术问题。
技术领域
本发明涉及区块链技术领域,尤其涉及一种节点通信异常后防止交易丢失的方法、系统以及计算机可读存储介质。
背景技术
区块链节点jsonrpc接口,无论其是基于上层HTTP协议;还是基于底层TCP协议建立的通信通道。当交易请求后,节点都会处于Pending状态,直到节点服务处理完成,并返回结果之后,结束本次会话。
如果,当客户端处于等待,节点服务执行完毕即将返回的状态时,节点服务因异常或者升级导致服务中断,这样就破坏了服务端与客户端的正常通信通道,未得到响应的请求会一直等待直到超时,致使完成的交易请求不能准确返回客户端。
最常见的表现方式就是,在交易上链请求的操作时,钱包交易签名后对节点发起请求,并等待节点服务响应,这边节点服务进行验签执行合约结束后,当准备给钱包(客户端)响应数据时,节点服务中断,服务这边状态是已处理的,而客户端那边将会是timeoutawaiting response headers。
这样就会破坏服务之间的通信完整性,致使数据结果不能达成一致,而且它们会存在一个不可避免的问题就是:不能保证交易请求响应的实时性,既影响链上服务效率,又降低了用户的体验效果;
区块链节点数据缓存也面临着相同的问题,节点服务发生中断后缓存在内存中的数据就会面临丢失的风险。
因此,有必要提供一种新的节点通信异常后防止交易丢失的方法、系统以及计算机可读存储介质,以解决上述技术问题。
发明内容
本发明的主要目的在于提供一种节点通信异常后防止交易丢失的方法,旨在解决相关技术中,节点通信异常导致交易请求中断的技术问题。
为实现上述目的,本发明提供一种节点通信异常时防止交易丢失的方法,包括如下步骤:
监听通信测试信号,并实时判断所述通信测试信号是否存在异常情况;
当所述通信测试信号存在异常情况时,触发守护信号的生成;
响应所述守护信号,执行通信通道调度机制,以实现将已处理的交易请求返回客户端。
优选地,还包括如下步骤:
响应所述守护信号,执行缓冲数据处理机制,以实现将所述缓冲数据的持久化。
优选地,所述监听通信测试信号,并实时判断所述通信测试信号是否存在异常情况的步骤之前,还包括如下步骤:
执行信号过滤操作,以实现在所述监听通信测试信号,并实时判断所述通信测试信号是否存在异常情况步骤之前,排除可能存在的所述守护信号。
优选地,所述监听通信测试信号,并实时判断所述通信测试信号是否存在异常情况的步骤之前,还包括如下步骤:
注册生成通信测试信号,并持续传输所述通信测试信号。
优选地,所述响应所述守护信号,执行通信通道调度机制的步骤,具体包括如下步骤:
响应所述守护信号,停止接收新的交易请求;
将所述已处理的交易请求返回至所述客户端;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于普华云创科技(北京)有限公司,未经普华云创科技(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010699610.0/2.html,转载请声明来源钻瓜专利网。