交警罚没系统数据一致性问题

交警罚没系统,基本流程为银行收款、财政记账、交警解锁。

其网络结构为:

(网络结构示意图)

   银行方面要求一分钟内必须有返回结果。和交警是通过安全边界进行信息交换。财政居中,财政系统要确保财政记账和解锁的数据一致性。

   因为到交警解锁通过安全边界和交警六合一平台通讯有一定延迟,为提高对银行端的响应速度,我们采取异步解锁的方式,即财政收到银行端请求的情况下,先记账,同时在财政端写入一条需要发起请求的记录日志,记账与写日志在一个事物当中。记账成功即给银行返回成功消息。

    另外一个工作线程,读取财政端日志,根据财政端日志,写入安全边界的请求表,在安全边界上,建立一个交警端日志,记录发起请求的信息,写请求表和写交警端日志在一个事物中完成。每次根据财政端日志写请求表前,先检查交警端日志,如果没有写过请求表,再写入这2个表。这个动作完成后,再删除或者更新财政端的日志记录。

至于返回结果保持数据一致性的问题,后面再更新吧

ps:如果采取电子渠道,缴罚款交易的时候,我们检查的内容包括如下内容:

检查处罚决定书编号是否为空

检查处罚决定书编号长度是否符合规则(默认15位长度)

 

猜你喜欢

转载自blog.csdn.net/wh_xia_jun/article/details/72789821