CN104572415B - 一种适用于分布式系统的事务日志记录方法 - Google Patents
一种适用于分布式系统的事务日志记录方法 Download PDFInfo
- Publication number
- CN104572415B CN104572415B CN201410817728.3A CN201410817728A CN104572415B CN 104572415 B CN104572415 B CN 104572415B CN 201410817728 A CN201410817728 A CN 201410817728A CN 104572415 B CN104572415 B CN 104572415B
- Authority
- CN
- China
- Prior art keywords
- affairs
- record
- response
- mark
- distributed system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及分布式计算技术领域,特别是一种适用于分布式系统的事务日志记录方法。本发明首先对分布式系统中的所有事务逻辑中需要做事物日志记录的事务和异步返回响应的事务逻辑进行标识;在事务开始前,给其分配一个唯一的标识;事务开始时,判断其是否为异步返回响应的事务,如果不是直接执行事务逻辑,根据结果写入事务日志记录;如果是,那么把事务的信息作为一个记录写入到一个临时表中,然后继续往下执行事务;最后对所有接收到的响应进行拦截,如果响应中的标识与临时表中某记录的标识一致,那么取出临时表中的相应记录,把响应中的事务执行结果更新到记录中,然后写入事务日志记录中。本发明解决了传统分布式系统执行事务时日志分散、格式不统一、难于管理的问题;可以用于分布式系统的事务日志记录。
Description
技术领域
本发明涉及分布式计算技术领域,特别是一种适用于分布式系统的事务日志记录方法。
背景技术
在分布式系统中,由于一个事务可能需要多个组件协同完成。另外,事务执行时长存在不确定性,因此会给事务的日志记录带来很大的困难。首先,事务可能由用户发起,然后按顺序往下层的组件分发。也有可能由其中一个组件发起,往其他组件分发,比如定时执行的事务或者基于告警事件发起的处理事务等。其次,执行的事务有可能是长任务,分布式系统采用异步返回方式,不能同步获取事务执行的结果,也不能确定事务完成的时间点。因此,不能马上产生一个事务的完整日志。
目前,没有专门针对分布式事务的日志记录方法,分布式系统的各个组件都分别进行日志记录,若要查看一个事务的完整日志记录,需要从不同的组件日志上获取。这种方法有如下的弊端:
1、需要人工从多个组件的日志上筛选出一个事务的完整日志,若需要对日志进行审计,工作量较大,对运维人员排查故障也不利。
2、不同组件产生的日志可能有其独特的格式,对产生的日志的管理过程将会非常复杂,增加了运营管理的困难。
发明内容
本发明解决的技术问题在于提供一种适用于分布式事务的日志记录方法,解决传统分布式系统执行事务时日志分散、格式不统一、难于管理的问题。
本发明解决上述技术问题的技术方案是:
所述的方法包括如下步骤:
步骤1:对分布式系统中的所有事务逻辑中需要做事物日志记录的事务进行标识,并对异步返回响应的事务逻辑也进行标识;
步骤2:在每个分布式事务开始前,给每个事务分配一个唯一的标识;
步骤3:在所有事务开始时,对其进行拦截,判断其是否为异步返回响应的事务,如果不是,证明此事务为简单事务,不需要多个组件的协作,那么直接执行事务逻辑;然后根据事务逻辑的执行结果写入事务日志记录;如果是,证明此事务是长事务,执行结果需要异步返回,那么执行步骤4;
步骤4:把事务的信息作为一个记录写入到一个临时表中,记录以事务的唯一标识作为标识,然后继续往下执行事务;
步骤5:对分布式系统所有接收到的响应进行拦截,响应中包含请求中的事务唯一标识;如果响应中的标识与临时表中某记录的标识一致,那么取出临时表中的相应记录,把响应中的事务执行结果更新到记录中,然后写入事务日志记录中。
所述事务的唯一标识指的是事务ID、对象ID、事务类型的组合;
所述事务ID指的是为与其他事务进行区分而生成的唯一标识符;
所述对象ID指的是事务所针对的虚拟机、逻辑卷等对象的唯一标识符;
所述事务类型指的是针对对象所执行的操作。
所述简单事务指的是只需要在一个组件内完成,且执行的结果是同步返回的事务。
所述执行结果异步返回指的是事务请求发送后由于执行时间过长或无法预测,在并不知道执行结果的情况下先返回,后续需要另外通过监听的手段获取执行结果。
本发明可以带来如下的有益效果:
1、本发明的方法能产生集中的完整的事务日志记录,可使用此日志记录进行审计,并且可以大大减少运维人员故障排查的工作量。
2、本发明的方法能产生统一格式的事务日志记录,便于管理。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明方法流程图。
具体实施方式
见图1所示,本发明的流程是:
步骤1:对分布式系统中的所有事务逻辑中需要做事物日志记录的事务进行标识,并对异步返回响应的事务逻辑也进行标识;
步骤2:在每个分布式事务开始前,给每个事务分配一个唯一的标识;
步骤3:在所有事务开始时,对其进行拦截,判断其是否为异步返回响应的事务,如果不是,证明此事务为简单事务,不需要多个组件的协作,那么直接执行事务逻辑;然后根据事务逻辑的执行结果写入事务日志记录;如果是,证明此事务是长事务,执行结果需要异步返回,那么执行步骤4;
步骤4;把事务的信息作为一个记录写入到一个临时表中,记录以事务的唯一标识作为标识,然后继续往下执行事务;
步骤5:对分布式系统所有接收到的响应进行拦截,响应中包含请求中的事务唯一标识;如果响应中的标识与临时表中某记录的标识一致,那么取出临时表中的相应记录,把响应中的事务执行结果更新到记录中,然后写入事务日志记录中。
本发明的实现方式有多种,下面以Java的AOP技术作为拦截,Struts作为Web框架为例,说明其中一种实现方式:
1、使用注解对需要做事物日志记录的事务逻辑进行标识,并对异步返回响应的事务逻辑也进行标识
2、给每个事务分配一个唯一的标识
3、对事务进行拦截并判断事务是否异步返回
4、对响应进行拦截并写入事务日志记录
Claims (1)
1.一种适用于分布式系统的事务日志记录方法,其特征在于:所述的方法包括如下步骤:
步骤1:对分布式系统中的所有事务逻辑中需要做事物日志记录的事务进行标识,并对异步返回响应的事务逻辑也进行标识;
步骤2:在每个分布式事务开始前,给每个事务分配一个唯一的标识;
步骤3:在所有事务开始时,对其进行拦截,判断其是否为异步返回响应的事务,如果不是,证明此事务为简单事务,不需要多个组件的协作,那么直接执行事务逻辑;然后根据事务逻辑的执行结果写入事务日志记录;如果是,证明此事务是长事务,执行结果需要异步返回,那么执行步骤4;
步骤4:把事务的信息作为一个记录写入到一个临时表中,记录以事务的唯一标识作为标识,然后继续往下执行事务;
步骤5:对分布式系统所有接收到的响应进行拦截,响应中包含请求中的事务唯一标识;如果响应中的标识与临时表中某记录的标识一致,那么取出临时表中的相应记录,把响应中的事务执行结果更新到记录中,然后写入事务日志记录中;所述事务的唯一标识指的是事务ID、对象ID、事务类型的组合;
所述事务ID指的是为与其他事务进行区分而生成的唯一标识符;
所述对象ID指的是事务所针对的虚拟机、逻辑卷等对象的唯一标识符;
所述事务类型指的是针对对象所执行的操作;
所述简单事务指的是只需要在一个组件内完成,且执行的结果是同步返回的事务;
所述执行结果异步返回指的是事务请求发送后由于执行时间过长或无法预测,在并不知道执行结果的情况下先返回,后续需要另外通过监听的手段获取执行结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410817728.3A CN104572415B (zh) | 2014-12-23 | 2014-12-23 | 一种适用于分布式系统的事务日志记录方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410817728.3A CN104572415B (zh) | 2014-12-23 | 2014-12-23 | 一种适用于分布式系统的事务日志记录方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104572415A CN104572415A (zh) | 2015-04-29 |
CN104572415B true CN104572415B (zh) | 2018-01-30 |
Family
ID=53088549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410817728.3A Active CN104572415B (zh) | 2014-12-23 | 2014-12-23 | 一种适用于分布式系统的事务日志记录方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104572415B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105577454A (zh) * | 2016-03-03 | 2016-05-11 | 上海新炬网络信息技术有限公司 | 一种基于日志快速定位业务故障的方法 |
CN107305521A (zh) * | 2016-04-20 | 2017-10-31 | 百度在线网络技术(北京)有限公司 | 日志记录方法和装置 |
CN106528391A (zh) * | 2016-12-16 | 2017-03-22 | 郑州云海信息技术有限公司 | 一种ssr上的管理平台操作日志的记录方法 |
CN108462598B (zh) * | 2017-02-21 | 2022-03-11 | 阿里巴巴集团控股有限公司 | 一种日志生成方法、日志分析方法及装置 |
CN107092683A (zh) * | 2017-04-21 | 2017-08-25 | 北京奇艺世纪科技有限公司 | 一种日志处理系统和方法 |
CN110597663A (zh) * | 2019-09-16 | 2019-12-20 | 阿里巴巴集团控股有限公司 | 一种事务处理方法及装置 |
CN111290355B (zh) * | 2020-02-27 | 2021-06-22 | 中电九天智能科技有限公司 | 记录及查找log的方法 |
CN114064664A (zh) * | 2022-01-17 | 2022-02-18 | 北京奥星贝斯科技有限公司 | 在数据库中查询事务修改内容的方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043375A (zh) * | 2007-03-15 | 2007-09-26 | 华为技术有限公司 | 分布式系统日志收集方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377116B (zh) * | 2012-04-27 | 2016-02-10 | 国际商业机器公司 | 用于在分布式信息系统中记录和分析日志的方法和装置 |
US9501501B2 (en) * | 2013-03-15 | 2016-11-22 | Amazon Technologies, Inc. | Log record management |
-
2014
- 2014-12-23 CN CN201410817728.3A patent/CN104572415B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101043375A (zh) * | 2007-03-15 | 2007-09-26 | 华为技术有限公司 | 分布式系统日志收集方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104572415A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572415B (zh) | 一种适用于分布式系统的事务日志记录方法 | |
US9037555B2 (en) | Asynchronous collection and correlation of trace and communications event data | |
CN107689953B (zh) | 一种面向多租户云计算的容器安全监控方法及系统 | |
CN111147322B (zh) | 5g核心网微服务架构的测试系统及方法 | |
US9684534B2 (en) | Monitoring and modifying allocated computing resources | |
CN106294075B (zh) | 一种对sql进行监控的方法、装置及系统 | |
CN104516989B (zh) | 增量数据推送系统和方法 | |
CN104636435A (zh) | 云终端录屏方法 | |
US10110419B2 (en) | Alarm to event tracing | |
CN105373899A (zh) | 一种服务器资产管理的方法及装置 | |
US10296445B2 (en) | Automated system documentation generation | |
US20240020215A1 (en) | Analyzing large-scale data processing jobs | |
US9442817B2 (en) | Diagnosis of application server performance problems via thread level pattern analysis | |
WO2017045537A1 (zh) | 一种分布式系统中请求的处理方法以及装置 | |
US20130346367A1 (en) | Offloading Collection of Application Monitoring Data | |
WO2019085466A1 (zh) | 关联测试方法、系统、应用服务器及计算机可读存储介质 | |
CN111581170B (zh) | 分布式智能数据采集方法、装置、设备和存储介质 | |
US20180176095A1 (en) | Data analytics rendering for triage efficiency | |
CN109254922A (zh) | 一种服务器BMC Redfish功能的自动化测试方法及装置 | |
CN104022913B (zh) | 用于数据集群的测试方法和装置 | |
CN110784377A (zh) | 一种多云环境下的云监控数据统一管理的方法 | |
CN103117878A (zh) | 一种基于Nagios的分布式监控系统的设计方法 | |
CN104750605A (zh) | 将内核对象信息包括在用户转储中 | |
CN107483280B (zh) | 用于服务节点设备监控的方法及设备 | |
CN111240936A (zh) | 一种数据完整性校验的方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 523808 19th Floor, Cloud Computing Center, Chinese Academy of Sciences, No. 1 Kehui Road, Songshan Lake Hi-tech Industrial Development Zone, Dongguan City, Guangdong Province Patentee after: G-Cloud Technology Co., Ltd. Address before: 523808 No. 14 Building, Songke Garden, Songshan Lake Science and Technology Industrial Park, Dongguan City, Guangdong Province Patentee before: G-Cloud Technology Co., Ltd. |
|
CP02 | Change in the address of a patent holder |