用于基于区块链的通知的系统和方法技术方案

技术编号:24335030 阅读:65 留言:0更新日期:2020-05-29 21:54
提供了一种用于基于区块链的通知的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。所述方法之一包括:获得区块链的区块中的信息以确定工作流的当前状态,其中,部署在所述区块链中的区块链合约能够被执行,以更新所述工作流的一个或多个状态中的所述当前状态;基于所述确定的当前状态更新本地维护的状态机;以及响应于确定所述更新的状态机与所述一个或多个状态中的一个状态相对应,向订阅所述状态的一个或多个订阅者发送通知消息。

System and method for blockchain based notification

【技术实现步骤摘要】
【国外来华专利技术】用于基于区块链的通知的系统和方法
本文通常涉及用于基于区块链的通知的系统和方法。
技术介绍
工作流管理通常很乏味且效率低下。例如,当工作流中涉及多个不同的参与方管理工作流的不同阶段时,可能需要通知一方前一阶段已完成,以便开始其自己的阶段。然而,通常在各方之间委派通知的任务是不可靠且低效的。随着参与方数量或工作流的复杂性增加,出错的机会将成倍增加。此外,需要大量资源来确保这种工作流的通知准确并及时。因此,期望开发有效且可靠的系统和方法以改善工作流管理。区块链通过将数据保存在彼此之间具有先后关系的一系列数据区块中来以去中心化的方式提供数据存储。区块的链由区块链节点的网络维护和更新,所述区块链节点也负责在共识方案下验证数据。存储的数据可以包括许多数据类型,例如采购订单状态、各方之间的金融交易、历史访问信息等。可以通过添加关于区块链交易的区块来维护和更新区块链。要将数据存储到区块链,可以将数据包括在区块链交易中以添加到区块链的新区块中。此外,许多区块链(例如,以太坊区块链)已经启用了区块链合约(也称为智能合约),这些合约可通过区块链交易执行。例如,区块链交易可以包括由外部拥有的账户(例如,区块链账户)发出、由区块链网络发送、并记录在区块链中的签名消息。可以执行区块链合约以实现所编程的功能。
技术实现思路
本文的各种实施例包括但不限于用于基于区块链的通知的系统、方法、非暂态计算机可读介质。根据一些实施例,一种计算机实现的用于基于区块链的通知的方法可以包括:获得区块链的区块中的信息以确定工作流的当前状态,其中,部署在所述区块链中的区块链合约能够被执行,以更新所述工作流的一个或多个状态中的所述当前状态;基于所述确定的当前状态更新本地维护的状态机;以及响应于确定所述更新的状态机与所述一个或多个状态中的一个状态相对应,向订阅所述状态的一个或多个订阅者发送通知消息。在一些实施例中,获得所述区块链的区块中的所述信息以确定所述工作流的所述当前状态包括:获得所述区块链的一个或多个区块中的区块链交易,其中,所述区块链交易触发所述区块链合约的执行以更新所述工作流的所述当前状态;以及根据所述获得的区块链交易确定所述工作流的所述当前状态。在一些实施例中,在获得所述区块链的所述区块中的所述信息以确定所述工作流的所述当前状态之前,所述方法还包括:获得指示完成所述一个或多个状态中的先前状态的回复消息。在一些实施例中,在获得所述区块链的所述区块中的所述信息以确定所述工作流的所述当前状态之前,所述方法还包括:获得所述状态的先前状态的更新;生成用于更新所述先前状态的区块链交易;以及将所述区块链交易发送至一个或多个区块链节点以添加到所述区块链中,并使所述工作流的所述当前状态更新至所述状态。在一些实施例中,所述通知消息包括:指示当前为所述状态的消息以及根据完成所述一个或多个状态中的先前状态而返回的结果。在一些实施例中,所述本地维护的状态机包括一个或多个本地状态,所述一个或多个本地状态分别映射到所述工作流的所述一个或多个状态。在一些实施例中,所述一个或多个本地状态被配置在循环触发流中;所述循环触发流从所述一个或多个本地状态的开始本地状态开始,沿一个方向一次性通过所述一个或多个本地状态中的每个本地状态直到结束本地状态,并返回到所述开始本地状态。在一些实施例中,所述一个或多个状态被配置在另一个循环触发流中;所述另一循环触发流以所述一个或多个状态中的开始状态开始,沿一个方向一次性通过所述一个或多个状态中的每个状态直到结束状态,并返回到所述开始状态;所述一个或多个状态中的每个状态通过所述另一循环触发流中先前状态的完成来触发;所述开始本地状态映射到所述开始状态;以及在获得所述区块链的区块中的所述信息以确定所述工作流的所述当前状态之前,所述方法还包括执行所述区块链合约以将所述当前状态初始化为所述开始状态。在一些实施例中,所述方法还包括:获得用于停用所述状态的请求;响应于用于停用所述状态的所述请求:生成用于从所述另一循环触发流中规避所述状态的区块链交易,并将所生成的区块链交易发送到一个或多个区块链节点以添加到所述区块链;以及从所述循环触发流规避映射到所述状态的本地状态。在一些实施例中,所述方法还包括:获得用于重新启用所述状态的请求;响应于用于重新启用所述状态的所述请求:生成用于恢复所述另一循环触发流中的所述状态的区块链交易,并将所生成的区块链交易发送到一个或多个区块链节点以添加到所述区块链中;以及恢复所述循环触发流中映射到所述状态的所述本地状态。在一些实施例中,所述当前状态能够由一个或多个子状态的订阅者配置为包括所述一个或多个子状态;并且所述方法还包括:建立所述订阅者和所述一个或多个子状态之间的关联,以将与所述一个或多个子状态相关联的通知发送给所述订阅者。在一些实施例中,所述一个或多个子状态形成循环触发流;所述当前状态对于一个或多个状态的订阅者是公开的;并且所述一个或多个子状态对于所述一个或多个子状态的订阅者是私有的。在一些实施例中,将所述通知消息发送给订阅所述状态的所述一个或多个订阅者包括:将通知消息放置在消息队列中,以使与所述一个或多个订阅者相关联的一个或多个计算设备获得所述通知消息。根据一些实施例,一种用于基于区块链的通知的系统包括一个或多个处理器;以及耦接到所述一个或多个处理器且其上存储有指令的一个或多个计算机可读存储器,所述指令能够由所述一个或多个处理器执行以执行如前述实施例中任一项所述的方法。根据一些实施例,一种用于基于区块链的通知的装置,包括用于执行如前述实施例中任一项所述的方法的多个模块。根据一些实施例,一种存储有指令的非暂态计算机可读介质,所述指令在由设备的处理器执行时,促使所述设备执行前述实施例中任一项所述的方法。根据其他实施例,一种用于基于区块链的通知的系统,包括:一个或多个处理器;以及耦接到所述一个或多个处理器且其上存储有指令的一个或多个计算机可读存储器,所述指令能由所述一个或多个处理器执行以执行操作包括:获得区块链的区块中的信息以确定工作流的当前状态,其中,部署在所述区块链中的区块链合约能够被执行,以更新所述工作流的一个或多个状态中的所述当前状态;基于所述确定的当前状态更新本地维护的状态机;以及响应于确定所述更新的状态机与所述一个或多个状态中的一个状态相对应,向订阅所述状态的一个或多个订阅者发送通知消息。根据其他实施例,一种用于基于区块链的通知的非暂态计算机可读存储介质,其配置有一个或多个处理器可执行的指令,以使一个或多个处理器执行以下操作:获得区块链的区块中的信息以确定工作流的当前状态,其中,部署在所述区块链中的区块链合约能够被执行,以更新所述工作流的一个或多个状态中的所述当前状态;基于所述确定的当前状态更新本地维护的状态机;以及响应于确定所述更新的状态机与所述一个或多个状态中的一个状态相对应,向订阅所述状态的一个或多个订阅者发送通知消息。根据其他实施例,一种用于基于区块链的通知的设备可以包括:获得模本文档来自技高网...

【技术保护点】
1.一种计算机实现的用于基于区块链的通知的方法,包括:/n获得区块链的区块中的信息以确定工作流的当前状态,其中,部署在所述区块链中的区块链合约能够被执行,以在所述工作流的一个或多个状态中更新所述当前状态;/n基于所确定的当前状态更新本地维护的状态机;以及/n响应于确定所述更新的状态机与所述一个或多个状态中的一个状态相对应,向订阅所述状态的一个或多个订阅者发送通知消息。/n

【技术特征摘要】
【国外来华专利技术】1.一种计算机实现的用于基于区块链的通知的方法,包括:
获得区块链的区块中的信息以确定工作流的当前状态,其中,部署在所述区块链中的区块链合约能够被执行,以在所述工作流的一个或多个状态中更新所述当前状态;
基于所确定的当前状态更新本地维护的状态机;以及
响应于确定所述更新的状态机与所述一个或多个状态中的一个状态相对应,向订阅所述状态的一个或多个订阅者发送通知消息。


2.如权利要求1所述的方法,其中,获得所述区块链的区块中的信息以确定所述工作流的当前状态包括:
获得所述区块链的一个或多个区块中的区块链交易,其中,所述区块链交易触发所述区块链合约的执行以更新所述工作流的当前状态;以及
根据所述获得的区块链交易确定所述工作流的当前状态。


3.如权利要求1或2所述的方法,在获得所述区块链的区块中的信息以确定所述工作流的当前状态之前,还包括:
获得指示完成所述一个或多个状态中的先前状态的回复消息。


4.如权利要求1-3中任一项所述的方法,在获得所述区块链的区块中的信息以确定所述工作流的当前状态之前,还包括:
获得所述状态的先前状态的更新;
生成用于更新所述先前状态的区块链交易;以及
将所述区块链交易发送至一个或多个区块链节点,以添加到所述区块链中并促使所述工作流的当前状态更新至所述状态。


5.如权利要求1-4中任一项所述的方法,其中,所述通知消息包括:
指示当前为所述状态的消息,以及
根据完成所述一个或多个状态中的先前状态而返回的结果。


6.如权利要求1-5中任一项所述的方法,其中:
所述本地维护的状态机包括一个或多个本地状态,所述一个或多个本地状态分别映射到所述工作流的所述一个或多个状态。


7.如权利要求6所述的方法,其中:
所述一个或多个本地状态被配置在循环触发流中;并且
所述循环触发流从所述一个或多个本地状态中的开始本地状态开始,沿一个方向一次性通过所述一个或多个本地状态中的每个本地状态直到结束本地状态,并返回到所述开始本地状态。


8.如权利要求7所述的方法,其中:
所述一个或多个状态被配置在另一循环触发流中;
所述另一循环触发流以所述一个或多个状态中的开始状态开始,沿一个方向一次性通过所述一个或多个状态中的每个状态直到结束状态,并返回到所述开始状态;
所述一个或多个状态中的每个状态通过所述另一循环触发流中先前状态...

【专利技术属性】
技术研发人员:管亚阳石如冰
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

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

1