[发明专利]一种保持数据一致性的方法和装置有效
申请号: | 202010047460.5 | 申请日: | 2020-01-16 |
公开(公告)号: | CN111277639B | 公开(公告)日: | 2022-08-09 |
发明(设计)人: | 曹经彪 | 申请(专利权)人: | 中国建设银行股份有限公司;建信金融科技有限责任公司 |
主分类号: | H04L67/02 | 分类号: | H04L67/02;H04L67/1097;H04L67/60 |
代理公司: | 中原信达知识产权代理有限责任公司 11219 | 代理人: | 王安娜;陈继越 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保持 数据一致性 方法 装置 | ||
1.一种保持数据一致性的方法,其特征在于,包括:
在业务执行的过程中,利用业务拦截器拦截业务请求,并在服务流水表中查询所述业务请求调用的服务组合中的原子服务是否调用成功;其中,所述服务组合包括按调用顺序排列的用于处理所述业务请求的所述原子服务;
在调用所述原子服务时,将所述业务请求对应的原子服务按调用顺序记录于服务流水表;
当任一所述原子服务调用异常或调用失败时,基于所述服务流水表生成并按反向调用顺序发送冲正报文,以对所述原子服务进行冲正;
在调用所述原子服务时,将所述业务请求对应的原子服务和冲正信息按调用顺序记录于服务流水表,包括:在调用所述原子服务时,利用服务拦截器拦截所述原子服务;对拦截到的所述原子服务进行服务流水处理,得到所述原子服务的服务请求数据;若所述原子服务为预设服务,则将所述原子服务的服务请求数据和服务码存储到所述服务流水表;其中,所述服务请求数据包括所述原子服务对应的业务请求以及对应的用户、服务时间、交易金额、业务流水号和服务状态,所述服务状态包括调用成功、调用失败、调用异常或冲正成功;
基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正,包括:从组合服务处理内存对象中获取原子服务的业务流水号;根据所述业务流水号从所述服务流水表获取所述原子服务的服务码和服务请求数据;根据所述服务码从服务映射配置文件中得到所述原子服务对应的冲正服务;基于所述原子服务对应的冲正服务和服务请求数据生成所述原子服务的冲正报文;按反向调用顺序向服务系统发送所述冲正报文,以对所述原子服务进行冲正。
2.根据权利要求1所述的方法,其特征在于,当任一所述原子服务调用异常或调用失败时,基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正,包括:
在所述服务流水表中查询所述业务请求调用的所有原子服务,以及基于所述服务状态确定各个原子服务的服务状态;
当任一所述原子服务的服务状态为调用异常或调用失败时,判断所述业务请求是否要求业务一致性;
当要求业务一致性时,基于所述服务流水表生成并按反向调用顺序发送冲正报文,以对所述原子服务进行冲正。
3.根据权利要求2所述的方法,其特征在于,基于所述服务流水表生成并按所述反向调用顺序发送冲正报文,以对所述原子服务进行冲正,包括:
若冲正成功,则在所述服务流水表中记录所述原子服务的冲正状态为冲正成功;
若冲正失败,则在所述服务流水表中记录所述原子服务的冲正状态为冲正失败。
4.根据权利要求3所述的方法,其特征在于,对所述原子服务进行冲正,以及更新冲正流水表中的冲正信息,之后还包括:
将冲正失败的原子服务记录于冲正流水表;其中,所述冲正流水表记录有业务流水号、服务请求数据、冲正状态和冲正次数;
定时查询所述冲正流水表,对冲正状态为冲正失败的原子服务发起重复冲正;
在重复冲正成功时将冲正状态修改为冲正成功,或在重复冲正失败时将冲正次数加1;以及
查询所述服务流水表中所有原子服务的冲正状态;
若不存在冲正失败的原子服务,则更新所述服务流水表中业务请求的服务状态为冲正成功;
若存在冲正失败的原子服务,且冲正次数达到预设次数,则停止发起重复冲正,对冲正失败的原子服务执行日终对账处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国建设银行股份有限公司;建信金融科技有限责任公司,未经中国建设银行股份有限公司;建信金融科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010047460.5/1.html,转载请声明来源钻瓜专利网。