如何通过业务事件中心实现事件触发式的区块链存证上链?
问题描述:
现在区块链存证服务已经支持了“定时任务”式的数据存证上链任务,即用户设定一个周期性的时间,通过轮询的方式定时触发上链任务并完成数据存证。那么如果用户希望采用“事件触发”式的方式,即通过金蝶云·苍穹流程服务云的“业务事件中心”应用,完成事件定义、事件订阅后,通过事件触发的方式实时运行上链任务,应该如何实现呢?
解决方案:
在最新版的区块链存证服务中,已经支持了“事件触发”式上链任务:
1、进入“区块链存证服务”的上链任务列表,点击“新增”,在“上链任务类型”一项中选择“事件触发”,并依次正确填写“上链任务名称”等。
其中,对于“事件触发”式的上链任务,只能支持选择一种业务关联关系(即关联一种业务对象的事件进行触发);而“历史数据上链起点”字段与“定时任务”类型一致,仍然标识了上链任务第一次启动时,对已经满足“上链条件”的历史业务单据进行一次性存证。如果不需要对历史数据进行上链处理的话,则使用默认的当前系统时间即可。
2、此时“事件触发”上链任务状态字段表明了是否可以被业务事件触发,即“已启用”状态表明可以被触发,否则不会被触发。用户可以通过“开启”或“停止”快速控制“事件触发”上链任务的状态。配置业务事件之前请记录此处的“上链任务编号”,因为在后续的“业务事件中心”的设置中需要用到。
3、找到流程服务云的“业务事件中心”应用中,并完成相应的事件设置。
4、查看“事件定义”列表中是否已经包括满足业务需要的事件。如果没有需要的事件则进行新增,例如以下截图定义了一个“采购合同.审核”的事件,表示当“采购合同”的业务对象有“审核”操作时将产生此业务事件。
这里为了在上链时区分需要上链的业务单据(即触发事件的业务单据),在事件定义时必须传递业务单据编号即“billno”字段。
5、完成事件定义后,新增“事件订阅”。其中“选取事件”为已经定义的事件,“执行服务”选择“微服务”。
6、点击设置“服务参数”,并依次选择“区块链服务云”、“区块链存证服务”,填写服务名称为“StcTaskService”、方法名为“toChain”。同时必须新增并填写两个参数,“taskId”的参数值填写为相应事件触发的上链任务编号(见上文第2步的说明),“billNo”的参数值通过业务单据的“属性选择”设置为获取业务单据编号“billno”字段的值。
7、保持“事件定义”和“事件订阅”在“启用”状态下,此时如果有相应的业务单据事件发生,例如此处的“采购合同”有 “审核”操作,则将触发相应的业务事件并执行对应的上链任务。
相应的事件日志可以在业务事件中心的“监控中心”中查看,相应的上链记录可以在区块链存证服务的“存证日志”中查看。
如何通过业务事件中心实现事件触发式的区块链存证上链?
本文2024-09-23 01:11:47发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-144387.html