【技术实现步骤摘要】
一种适用于分布式系统的事务日志记录方法
本专利技术涉及分布式计算
,特别是一种适用于分布式系统的事务日志记录方法。
技术介绍
在分布式系统中,由于一个事务可能需要多个组件协同完成。另外,事务执行时长存在不确定性,因此会给事务的日志记录带来很大的困难。首先,事务可能由用户发起,然后按顺序往下层的组件分发。也有可能由其中一个组件发起,往其他组件分发,比如定时执行的事务或者基于告警事件发起的处理事务等。其次,执行的事务有可能是长任务,分布式系统采用异步返回方式,不能同步获取事务执行的结果,也不能确定事务完成的时间点。因此,不能马上产生一个事务的完整日志。目前,没有专门针对分布式事务的日志记录方法,分布式系统的各个组件都分别进行日志记录,若要查看一个事务的完整日志记录,需要从不同的组件日志上获取。这种方法有如下的弊端:1、需要人工从多个组件的日志上筛选出一个事务的完整日志,若需要对日志进行审计,工作量较大,对运维人员排查故障也不利。2、不同组件产生的日志可能有其独特的格式,对产生的日志的管理过程将会非常复杂,增加了运营管理的困难。
技术实现思路
本专利技术解决的技术问题在于提供一种适用于分布式事务的日志记录方法,解决传统分布式系统执行事务时日志分散、格式不统一、难于管理的问题。本专利技术解决上述技术问题的技术方案是:所述的方法包括如下步骤:步骤1:对分布式系统中的所有事务逻辑中需要做事物日志记录的事务进行标识,并对异步返回响应的事务逻辑也进行标识;步骤2:在每个分布式事务开始前,给每个事务分配一个唯一的标识;步骤3:在所有事务开始时,对其进行拦截,判断其是否为异 ...
【技术保护点】
一种适用于分布式系统的事务日志记录方法,其特征在于:所述的方法包括如下步骤:步骤1:对分布式系统中的所有事务逻辑中需要做事物日志记录的事务进行标识,并对异步返回响应的事务逻辑也进行标识;步骤2:在每个分布式事务开始前,给每个事务分配一个唯一的标识;步骤3:在所有事务开始时,对其进行拦截,判断其是否为异步返回响应的事务,如果不是,证明此事务为简单事务,不需要多个组件的协作,那么直接执行事务逻辑;然后根据事务逻辑的执行结果写入事务日志记录;如果是,证明此事务是长事务,执行结果需要异步返回,那么执行步骤4;步骤4:把事务的信息作为一个记录写入到一个临时表中,记录以事务的唯一标识作为标识,然后继续往下执行事务;步骤5:对分布式系统所有接收到的响应进行拦截,响应中包含请求中的事务唯一标识;如果响应中的标识与临时表中某记录的标识一致,那么取出临时表中的相应记录,把响应中的事务执行结果更新到记录中,然后写入事务日志记录中。
【技术特征摘要】
1.一种适用于分布式系统的事务日志记录方法,其特征在于:所述的方法包括如下步骤:步骤1:对分布式系统中的所有事务逻辑中需要做事物日志记录的事务进行标识,并对异步返回响应的事务逻辑也进行标识;步骤2:在每个分布式事务开始前,给每个事务分配一个唯一的标识;步骤3:在所有事务开始时,对其进行拦截,判断其是否为异步返回响应的事务,如果不是,证明此事务为简单事务,不需要多个组件的协作,那么直接执行事务逻辑;然后根据事务逻辑的执行结果写入事务日志记录;如果是,证明此事务是长事务,执行结果需要异步返回,那么执行步骤4;步骤4:把事务的信息作为一个记录写入到一个临时表中,记录以事务的唯一标识作为标识,然后继续往下执行事务;步骤5:对分布式...
【专利技术属性】
技术研发人员:莫展鹏,杨松,季统凯,
申请(专利权)人:国云科技股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。