CN110011853B - 一种面向多平台和集群的交叉故障排查方法及装置 - Google Patents

一种面向多平台和集群的交叉故障排查方法及装置 Download PDF

Info

Publication number
CN110011853B
CN110011853B CN201910290415.XA CN201910290415A CN110011853B CN 110011853 B CN110011853 B CN 110011853B CN 201910290415 A CN201910290415 A CN 201910290415A CN 110011853 B CN110011853 B CN 110011853B
Authority
CN
China
Prior art keywords
fault
feedback result
user
command
database
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
Application number
CN201910290415.XA
Other languages
English (en)
Other versions
CN110011853A (zh
Inventor
刘颖慧
许丹丹
张第
王笑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201910290415.XA priority Critical patent/CN110011853B/zh
Publication of CN110011853A publication Critical patent/CN110011853A/zh
Application granted granted Critical
Publication of CN110011853B publication Critical patent/CN110011853B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0631Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
    • H04L41/064Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis involving time analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种面向多平台和集群的交叉故障排查方法及装置,利用数据库异步存储用户的操作行为,从数据库中获取故障发生前一段时间内全部用户在全部集群和平台上的操作命令信息,对未完成操作的操作指令,强制结束操作并回滚之后,将集群的数据同步至复刻数据库中,在复刻数据库中进行操作复现,根据复现结果确定引发故障的命令;本发明在不影响集群系统和平台正常运行情况下,异步记录用户操作、复刻情境,并在出现故障时,自动复现场景,确定发生故障的真实时间和原因,降低了人力成本,提高了可自动排查用户操作故障范围。

Description

一种面向多平台和集群的交叉故障排查方法及装置
技术领域
本发明涉及通信技术领域,具体涉及一种面向多平台和集群的交叉故障排查方法及装置。
背景技术
目前,当系统或平台出现故障时,一般都是提取当前的操作进行排查,如果无法排查故障,则需要人工进行逐个排查,浪费人力成本。而且现在的故障排查,多针对于单用户操作,有一些故障是单用户的复杂操作导致的,或者是多用户共同操作导致的,现有的故障排查方案无法排查此类情况,只能完全依赖人工,费时费力。
发明内容
本发明针对现有技术中存在的上述不足,提供一种面向多平台和集群的交叉故障排查方法及装置,用以解决现有故障排查方案无法排查面向多平台和集群,以及多用户共同操作导致的交叉故障的问题。
本发明为解决上述技术问题,采用如下技术方案:
本发明提供一种面向多平台和集群的交叉故障排查方法,所述方法应用于包括预设数据库的系统,所述数据库中存储有用户操作命令信息,所述方法包括:
当集群和/或平台发生故障时,确定故障发生时间;
根据所述故障发生时间,从预设数据库中获取故障发生前预设时长内全部用户在集群和全部平台上的操作命令信息;
判断所述操作命令信息对应的操作命令是否已完成,若存在未完成的操作命令,则指示相应的集群服务器强制结束相应的操作,并回滚相应的操作;
将集群的数据同步至复刻数据库中,在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令。
优选的,所述在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令,具体包括:
按照预设的第一优先级,对故障用户的单操作进行复现,并检测第一反馈结果,用以根据所述第一反馈结果确定引发故障的命令;所述第一反馈结果为所述故障用户的单操作的反馈结果;
若未检测出故障,则按照预设的第二优先级,对除所述故障用户之外的其他用户的单操作进行复现,并检测第二反馈结果,用以根据所述第二反馈结果确定引发故障的命令;所述第二反馈结果为所述其他用户的单操作的反馈结果;
其中,所述故障用户是指,当发生故障时对集群或平台进行操作的用户。
优选的,所述第一优先级由高到低排序为:故障用户对故障平台的操作、故障用户对集群的操作、故障用户对其他平台的操作;
所述第二优先级由高到低排序为:其他用户对故障平台的操作、其他用户对集群的操作、其他用户对其他平台的操作。
进一步的,所述在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令,还包括:
若根据所述第二反馈结果未确定出引发故障的命令,则根据所述数据库中记录的所述故障用户的多操作命令的顺序,执行所述故障用户的多操作,并检测第三反馈结果,用以根据所述第三反馈结果确定引发故障的命令;所述第三反馈结果为所述故障用户的多操作的反馈结果。
进一步的,所述在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令,还包括:
若根据所述第三反馈结果未确定出引发故障的命令,则根据所述数据库中记录的其他用户的多操作命令的顺序,执行所述其他用户的多操作,并检测第四反馈结果,用以根据所述第四反馈结果确定引发故障的命令;所述第四反馈结果为所述其他用户的多操作的反馈结果。
进一步的,所述在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令,还包括:
若根据所述第四反馈结果未确定出引发故障的命令,则按照所述数据库中记录的操作命令的执行时间,执行全部的操作,并检测第五反馈结果,用以根据所述第五反馈结果确定引发故障的命令;所述第五反馈结果为所述全部的操作的反馈结果;
若根据所述第五反馈结果未确定出引发故障的命令,则提示人工排查。
优选的,所述用户操作命令信息包括:用户标识、操作开始时间、用户操作的平台和集群、用户操作命令和用户操作所在页面或路径。
本发明还提供一种故障排查装置,所述装置包括:时间确定模块、获取模块、判断模块和复现模块;
所述时间确定模块用于,当集群和/或平台发生故障时,确定故障发生时间;
所述获取模块用于,根据所述故障发生时间,从预设数据库中获取故障发生前预设时长内全部用户在集群和全部平台上的操作命令信息;
所述判断模块用于,判断所述操作命令信息对应的操作命令是否已完成,当所述判断模块判断出存在未完成的操作命令时,则指示相应的集群服务器强制结束相应的操作,并回滚相应的操作;
所述复现模块用于,将集群的数据同步至复刻数据库中,在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令。
优选的,所述复现模块具体用于,按照预设的第一优先级,对故障用户的单操作进行复现,并检测第一反馈结果,用以根据所述第一反馈结果确定引发故障的命令;所述第一反馈结果为所述故障用户的单操作的反馈结果;当未检测出故障时,按照预设的第二优先级,对除所述故障用户之外的其他用户的单操作进行复现,并检测第二反馈结果,用以根据所述第二反馈结果确定引发故障的命令;所述第二反馈结果为所述其他用户的单操作的反馈结果;其中,所述故障用户是指,当发生故障时对集群或平台进行操作的用户。
优选的,所述第一优先级由高到低排序为:故障用户对故障平台的操作、故障用户对集群的操作、故障用户对其他平台的操作;
所述第二优先级由高到低排序为:其他用户对故障平台的操作、其他用户对集群的操作、其他用户对其他平台的操作。
进一步的,所述复现模块还用于,当根据所述第二反馈结果未确定出引发故障的命令时,根据所述数据库中记录的所述故障用户的多操作命令的顺序,执行所述故障用户的多操作,并检测第三反馈结果,用以根据所述第三反馈结果确定引发故障的命令;所述第三反馈结果为所述故障用户的多操作的反馈结果。
进一步的,所述复现模块还用于,当根据所述第三反馈结果未确定出引发故障的命令,则根据所述数据库中记录的其他用户的多操作命令的顺序,执行所述其他用户的多操作,并检测第四反馈结果,用以根据所述第四反馈结果确定引发故障的命令;所述第四反馈结果为所述其他用户的多操作的反馈结果。
进一步的,所述复现模块还用于,当根据所述第四反馈结果未确定出引发故障的命令时,按照所述数据库中记录的操作命令的执行时间,执行全部的操作,并检测第五反馈结果,用以根据所述第五反馈结果确定引发故障的命令;所述第五反馈结果为所述全部的操作的反馈结果;当根据所述第五反馈结果未确定出引发故障的命令时,提示人工排查。
优选的,所述用户操作命令信息包括:用户标识、操作开始时间、用户操作的平台和集群、用户操作命令和用户操作所在页面或路径。
本发明利用数据库异步存储用户的操作行为,从数据库中获取故障发生前一段时间内全部用户在全部集群和平台上的操作命令信息,对未完成操作的操作指令,强制结束操作并回滚之后,将集群的数据同步至复刻数据库中,在复刻数据库中进行操作复现,根据复现结果确定引发故障的命令;本发明在不影响集群系统和平台正常运行情况下,异步记录用户操作、复刻情境,并在出现故障时,自动复现场景,确定发生故障的真实时间和原因,降低了人力成本,提高了可自动排查用户操作故障范围。
附图说明
图1为本发明实施例的系统架构图;
图2为本发明实施例的面向多平台和集群的交叉故障排查方法流程图;
图3为本发明实施例的在复刻数据库中进行操作复现的流程图;
图4为本发明实施例的故障排查装置的结构示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种面向多平台和集群的交叉故障排查方法,所述方法应用于图1所示的系统中,所述系统包括:消息中间件、集群系统、故障排查装置和预设数据库,集群系统的服务器上可以并行运行多个平台(即操作系统),数据库可以存储用户操作命令信息。当集群或平台发生故障或BUG时,故障排查装置可以通过操作复现的方式实现故障自动排查定位。本发明不但可实现单系统单故障的自动确定,也可实现由于集群操作或平台互相影响造成故障的定位排查。
在本发明实施例中,数据库选用HBase数据库,HBase是一种高可靠性、高性能、可伸缩的分布式存储数据库,大量数据查询时,反馈效率高,能提高系统故障复查的效率。HBase是一个面向列的数据库,在表中它由行排序,表模式定义只能列族,也就是键值对。一个表有多个列族以及每一个列族(Family)可以有任意数量的Qualifier(限定符)。后续列的值连续存储在磁盘上。Rowkey(行键)是用来表示唯一一行记录的主键,HBase数据库中存储的数据按照RowKey的字典顺序进行全局排序。表中的每个单元格值都具有时间戳,确定一个值的方式就是Rowkey加上Family:Qualifier。
用户在平台或集群的每项操作,会形成一条记录(即用户操作命令信息),用户操作命令信息存储在HBase数据库中,用户操作命令信息可以包括:用户标识、操作开始时间、用户操作的平台和集群、用户操作命令和用户操作所在页面或路径。例如,用户操作是在某系统页面中点击了某个按钮,则生成的用户操作命令信息为:userID|20190103123423|PageCollect:pageRedict.do?para1=2?para2=abc|Inedx.html,其中,第二个字段为操作时间,可以精准到秒;第三个字段PageCollect是此操作的系统或平台的名称,冒号后面为用户操作引起的页面间传递指令,还包括参数para1和para2的值;第四个字段为用户操作所在的页面路径。
如果用户是在集群上操作,则生成的用户操作命令信息为: root|20170123002419|/usr/lib/systemd/system--switched|10.23.42.62 4:/home/sys。
进一步的,为了在操作复现时,运维人员可理解用户的实际操作,HBase数据库中还存储有操作映射字典,操作映射字典用于描述用户操作命令。
如前所述的操作指令pageRedict.do?para1=2?para2=abc,它对应的是ID=commitButton的按钮,实现了双击,调用了pageRedict.do这个方法,其输入参数para1和para2对应的是文本框textbox1的输入内容1和textbox2输入内容abc。因此,建立与操作指令pageRedict.do?para1=2?para2=abc对应的操作映射字典的记录为:
Key为pageRedict.do?para1=2?para2=abc
Value为commitButton_DoubleClick?textbox1=1?textbox2=abc
需要说明的是,当用户是在集群上完成操作时,不需要建立操作映射记录,因为Linux/Unix的系统操作本身就都是由命令实现的。
HBase数据库可以实时存储用户的操作,通过RocketMQ搭建信息的生产者(Producer),建立两个话题(Topic),即UserOperationPlatform和UserOperationCluster,其中,UserOperationPlatform存储的是用户操作平台的信息,UserOperationCluster存储的是用户操作Linux/Unix集群的信息。通过建立信息判别功能,可根据信息的格式,确定此操作是属于平台还是集群,并将操作信息存储到相应的Topic中。
在实时监控并收集用户操作信息的时候,同时还有两个存储进程,作为RocketMQ的消费者,这两个进程消费(Consume)两个Topic(即读取Topic里的信息),并读取信息。读取信息后,将信息存入HBase数据库,rowkey为用户USERID,PlatForm_为操作时间,Family和Qualifier设置为Operation:Platform,Operation:cmd,Operation:url和Operation:type,记录的Value就是操作的命令和操作类型。
拿上面的信息举例,
userID|20190103123423|PageCollect:pageRedict.do?para1=2?para2=abc|Inedx.html
对应存储的信息格式为:
rowkey Operation:Platform Operation:cmd Operation:type Operation:url
userID_20190103123423PageCollect pageRedict.do?para1=2?para2=abc 1Inedx.html
如果是集群操作,其存储到Hbase里的数据格式应为:
root|20170123002419|/usr/lib/systemd/system-switched|10.23.42.624:/home/sys rowkey Operation:Platform Operation:cmd Operation:type Operation:url
root_20170123002419 10.23.42.624/usr/lib/systemd/system–switched 0 /home/sys
由于多用户操作是并发且实时的,如果直接将操作记录实时存入数据库,会产生大量的插入操作,而各个平台和集群本身还在持续运行,记录用户操作而产生的大量I/O操作会影响平台性能。通过使用消息队列,可以实现异步请求操作,避免为了记录操作而影响正常的平台运行。因此,为了解决上述问题,本发明实施例中,采用消息队列+HBase数据库的架构。
以下结合图2,对本发明一实施例面向多平台和集群的交叉故障排查流程进行详细说明,如图2所示,该流程包括以下步骤:
步骤101,当集群和/或平台发生故障时,确定故障发生时间。
当系统或平台发生故障时,触发故障排查装置确定故障发生时间。
步骤102,根据故障发生时间,从预设数据库中获取故障发生前预设时长内全部用户在集群和全部平台上的操作命令信息。
在本发明实施例中,优选的,预设时长可以设置为20s。
具体的,故障排查装置从HBase数据库中获取故障发生前20s 内所有用户在集群和所有平台上的操作命令信息。这里所说的集群和平台包括集群内所有服务器以及集群内各服务器上运行的各个平台。
步骤103,判断操作命令信息对应的操作命令是否已全部完成,若存在未完成的操作命令,则执行步骤104,否则执行步骤 105。
具体的,故障排查装置判断故障发生前20s内发生的操作命令是否已经全部执行完成,若存在未完成的操作命令,则需要先终止所述操作,并将数据恢复至所述操作执行之前的状态,然后才能进行操作复现(即依序执行步骤104和105);若不存在未完成的操作命令,则可以进行操作复现(即执行步骤105)。
步骤104,指示相应的集群服务器强制结束相应的操作,并回滚相应的操作。
具体的,故障排查装置在判断出存在未完成的操作命令时,确定所述操作命令的执行对象(即确定集群服务器和平台),指示该集群服务器强制结束相应的操作,并回滚所述操作所造成的系统修改(如移动文件,删改文件等)。
步骤105,将集群的数据同步至复刻数据库中,在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令。
具体的,在测试环境搭建同样的平台系统,并将集群数据库同步至测试环境下的复刻数据库中。与原版数据库数据不同的是,同步的数据会增加time stamp(时间戳),测试环境下的复刻数据库只保留近两小时的time stamp数据。
在复刻数据库中进行操作复现的具体流程,后续结合附图3 再详细说明。
通过上述步骤101-105可以看出,本发明利用数据库异步存储用户的操作行为,从数据库中获取故障发生前一段时间内全部用户在全部集群和平台上的操作命令信息,对未完成操作的操作指令,强制结束操作并回滚之后,将集群的数据同步至复刻数据库中,在复刻数据库中进行操作复现,根据复现结果确定引发故障的命令;本发明在不影响集群系统和平台正常运行情况下,异步记录用户操作、复刻情境,并在出现故障时,自动复现场景,确定发生故障的真实时间和原因,降低了人力成本,提高了可自动排查用户操作故障范围。
以下结合图3详细说明在复刻数据库中进行操作复现的流程。如图3所示,所述在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令,具体包括以下步骤:
步骤201,按照预设的第一优先级,对故障用户的单操作进行复现,并检测第一反馈结果。
故障用户是指,当发生故障时对集群或平台进行操作的用户。第一优先级由高到低排序为:故障用户对故障平台的操作、故障用户对集群的操作、故障用户对其他平台的操作。第一反馈结果为故障用户的单操作的反馈结果。
步骤202,若根据第一反馈结果确定出引发故障的命令,则结束流程,否则,执行步骤203。
若根据第一反馈结果能够确定出引发故障的命令,则复现流程结束;若根据第一反馈结果无法确定出引发故障的命令,说明故障不是由故障用户执行的单操作引起的,因此需要进一步排查故障是否是由其他用户执行的单操作引起的。
步骤203,按照预设的第二优先级,对除故障用户之外的其他用户的单操作进行复现,并检测第二反馈结果。
第二反馈结果为其他用户的单操作的反馈结果。第二优先级由高到低排序为:其他用户对故障平台的操作、其他用户对集群的操作、其他用户对其他平台的操作。
步骤204,若根据第二反馈结果确定出引发故障的命令,则结束流程,否则,执行步骤205。
若根据第二反馈结果能够确定出引发故障的命令,则复现流程结束;若根据第二反馈结果仍无法确定出引发故障的命令,说明故障既不是由故障用户执行的单操作引起的,也不是由其他用户执行的单操作引起的,因此需要进一步排查故障是否是由用户执行的多操作引起的。
步骤205,根据数据库中记录的故障用户的多操作命令的顺序,执行故障用户的多操作,并检测第三反馈结果。
第三反馈结果为故障用户的多操作的反馈结果。
步骤206,若根据第三反馈结果确定出引发故障的命令,则结束流程,否则,执行步骤207。
若根据第三反馈结果能够确定出引发故障的命令,则复现流程结束;若根据第三反馈结果仍无法确定出引发故障的命令,说明故障既不是由故障用户执行的单操作引起的,也不是由其他用户执行的单操作引起的,也不是由故障用户执行的多操作引起的,因此需要进一步排查故障是否是由其他用户执行的多操作引起的。
步骤207,根据数据库中记录的其他用户的多操作命令的顺序,执行其他用户的多操作,并检测第四反馈结果。
第四反馈结果为其他用户的多操作的反馈结果。
步骤208,若根据第四反馈结果确定出引发故障的命令,则结束流程,否则,执行步骤209。
若根据第四反馈结果能够确定出引发故障的命令,则复现流程结束;若根据第四反馈结果仍无法确定出引发故障的命令,说明故障既不是由故障用户执行的单操作引起的,也不是由其他用户执行的单操作引起的,也不是由故障用户执行的多操作引起的,也不是由其他用户执行的多操作引起的,因此需要不区分用户并按照操作命令的时间顺序再做进一步排查。
步骤209,按照数据库中记录的操作命令的执行时间,执行全部的操作,并检测第五反馈结果。
第五反馈结果为全部的操作的反馈结果。
步骤210,若根据第五反馈结果确定出引发故障的命令,则结束流程,否则,执行步骤211。
若根据第五反馈结果能够确定出引发故障的命令,则复现流程结束;若根据第五反馈结果仍无法确定出引发故障的命令,说明故障排查装置无法自动排查出引发故障的命令,则需要人工排查。
步骤211,提示人工排查。
具体的,运维人员可以调用HBase数据库中的映射字典,从而便于其通过自然语言理解用户的操作,及时进行相应的故障处理。
通过步骤201-211可以看出,本发明按照故障用户的单操作、其他用户的单操作、故障用户的多操作、其他用户的多操作、所有用户按照时间排序的操作这个顺序进行操作复现,可以快速、准确排查出引发故障的命令,进一步提高交叉故障排查的效率。
基于相同的技术构思,本发明实施例还提供一种故障排查装置,如图4所示,该故障排查装置可以包括:时间确定模块41、获取模块42、判断模块43和复现模块44。
时间确定模块41用于,当集群和/或平台发生故障时,确定故障发生时间。
获取模块42用于,根据所述故障发生时间,从预设数据库中获取故障发生前预设时长内全部用户在集群和全部平台上的操作命令信息。
判断模块43用于,判断所述操作命令信息对应的操作命令是否已完成,当所述判断模块判断出存在未完成的操作命令时,则指示相应的集群服务器强制结束相应的操作,并回滚相应的操作。
复现模块44用于,将集群的数据同步至复刻数据库中,在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令。
优选的,复现模块44具体用于,按照预设的第一优先级,对故障用户的单操作进行复现,并检测第一反馈结果,用以根据所述第一反馈结果确定引发故障的命令;所述第一反馈结果为所述故障用户的单操作的反馈结果;当未检测出故障时,按照预设的第二优先级,对除所述故障用户之外的其他用户的单操作进行复现,并检测第二反馈结果,用以根据所述第二反馈结果确定引发故障的命令;所述第二反馈结果为所述其他用户的单操作的反馈结果;其中,所述故障用户是指,当发生故障时对集群或平台进行操作的用户。
优选的,所述第一优先级由高到低排序为:故障用户对故障平台的操作、故障用户对集群的操作、故障用户对其他平台的操作;所述第二优先级由高到低排序为:其他用户对故障平台的操作、其他用户对集群的操作、其他用户对其他平台的操作。
进一步的,复现模块44还用于,当根据所述第二反馈结果未确定出引发故障的命令时,根据所述数据库中记录的所述故障用户的多操作命令的顺序,执行所述故障用户的多操作,并检测第三反馈结果,用以根据所述第三反馈结果确定引发故障的命令;所述第三反馈结果为所述故障用户的多操作的反馈结果。
进一步的,复现模块44还用于,当根据所述第三反馈结果未确定出引发故障的命令,则根据所述数据库中记录的其他用户的多操作命令的顺序,执行所述其他用户的多操作,并检测第四反馈结果,用以根据所述第四反馈结果确定引发故障的命令;所述第四反馈结果为所述其他用户的多操作的反馈结果。
进一步的,复现模块44还用于,当根据所述第四反馈结果未确定出引发故障的命令时,按照所述数据库中记录的操作命令的执行时间,执行全部的操作,并检测第五反馈结果,用以根据所述第五反馈结果确定引发故障的命令;所述第五反馈结果为所述全部的操作的反馈结果;当根据所述第五反馈结果未确定出引发故障的命令时,提示人工排查。
优选的,所述用户操作命令信息包括:用户标识、操作开始时间、用户操作的平台和集群、用户操作命令和用户操作所在页面或路径。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (6)

1.一种面向多平台和集群的交叉故障排查方法,其特征在于,应用于包括预设数据库的系统,所述数据库中存储有用户操作命令信息,所述方法包括:
当集群和/或平台发生故障时,确定故障发生时间;
根据所述故障发生时间,从预设数据库中获取故障发生前预设时长内全部用户在集群和全部平台上的操作命令信息;
判断所述操作命令信息对应的操作命令是否已完成,若存在未完成的操作命令,则指示相应的集群服务器强制结束相应的操作,并回滚相应的操作;
将集群的数据同步至复刻数据库中,在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令;
所述在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令,具体包括:
按照预设的第一优先级,对故障用户的单操作进行复现,并检测第一反馈结果,用以根据所述第一反馈结果确定引发故障的命令;所述第一反馈结果为所述故障用户的单操作的反馈结果;
若未检测出故障,则按照预设的第二优先级,对除所述故障用户之外的其他用户的单操作进行复现,并检测第二反馈结果,用以根据所述第二反馈结果确定引发故障的命令;所述第二反馈结果为所述其他用户的单操作的反馈结果;
其中,所述故障用户是指,当发生故障时对集群或平台进行操作的用户;
所述在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令,还包括:
若根据所述第二反馈结果未确定出引发故障的命令,则根据所述数据库中记录的所述故障用户的多操作命令的顺序,执行所述故障用户的多操作,并检测第三反馈结果,用以根据所述第三反馈结果确定引发故障的命令;所述第三反馈结果为所述故障用户的多操作的反馈结果;
所述在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令,还包括:
若根据所述第三反馈结果未确定出引发故障的命令,则根据所述数据库中记录的其他用户的多操作命令的顺序,执行所述其他用户的多操作,并检测第四反馈结果,用以根据所述第四反馈结果确定引发故障的命令;所述第四反馈结果为所述其他用户的多操作的反馈结果;
所述在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令,还包括:
若根据所述第四反馈结果未确定出引发故障的命令,则按照所述数据库中记录的操作命令的执行时间,执行全部的操作,并检测第五反馈结果,用以根据所述第五反馈结果确定引发故障的命令;所述第五反馈结果为所述全部的操作的反馈结果;
若根据所述第五反馈结果未确定出引发故障的命令,则提示人工排查。
2.如权利要求1所述的方法,其特征在于,所述第一优先级由高到低排序为:故障用户对故障平台的操作、故障用户对集群的操作、故障用户对其他平台的操作;
所述第二优先级由高到低排序为:其他用户对故障平台的操作、其他用户对集群的操作、其他用户对其他平台的操作。
3.如权利要求1-2任一项所述的方法,其特征在于,所述用户操作命令信息包括:用户标识、操作开始时间、用户操作的平台和集群、用户操作命令和用户操作所在页面或路径。
4.一种故障排查装置,其特征在于,包括:时间确定模块、获取模块、判断模块和复现模块;
所述时间确定模块用于,当集群和/或平台发生故障时,确定故障发生时间;
所述获取模块用于,根据所述故障发生时间,从预设数据库中获取故障发生前预设时长内全部用户在集群和全部平台上的操作命令信息;
所述判断模块用于,判断所述操作命令信息对应的操作命令是否已完成,当所述判断模块判断出存在未完成的操作命令时,则指示相应的集群服务器强制结束相应的操作,并回滚相应的操作;
所述复现模块用于,将集群的数据同步至复刻数据库中,在复刻数据库中进行操作复现,用以根据复现结果确定引发故障的命令;
所述复现模块具体用于,按照预设的第一优先级,对故障用户的单操作进行复现,并检测第一反馈结果,用以根据所述第一反馈结果确定引发故障的命令;所述第一反馈结果为所述故障用户的单操作的反馈结果;当未检测出故障时,按照预设的第二优先级,对除所述故障用户之外的其他用户的单操作进行复现,并检测第二反馈结果,用以根据所述第二反馈结果确定引发故障的命令;所述第二反馈结果为所述其他用户的单操作的反馈结果;其中,所述故障用户是指,当发生故障时对集群或平台进行操作的用户;
所述复现模块还用于,当根据所述第二反馈结果未确定出引发故障的命令时,根据所述数据库中记录的所述故障用户的多操作命令的顺序,执行所述故障用户的多操作,并检测第三反馈结果,用以根据所述第三反馈结果确定引发故障的命令;所述第三反馈结果为所述故障用户的多操作的反馈结果;
所述复现模块还用于,当根据所述第三反馈结果未确定出引发故障的命令,则根据所述数据库中记录的其他用户的多操作命令的顺序,执行所述其他用户的多操作,并检测第四反馈结果,用以根据所述第四反馈结果确定引发故障的命令;所述第四反馈结果为所述其他用户的多操作的反馈结果;
所述复现模块还用于,当根据所述第四反馈结果未确定出引发故障的命令时,按照所述数据库中记录的操作命令的执行时间,执行全部的操作,并检测第五反馈结果,用以根据所述第五反馈结果确定引发故障的命令;所述第五反馈结果为所述全部的操作的反馈结果;当根据所述第五反馈结果未确定出引发故障的命令时,提示人工排查。
5.如权利要求4所述的故障排查装置,其特征在于,所述第一优先级由高到低排序为:故障用户对故障平台的操作、故障用户对集群的操作、故障用户对其他平台的操作;
所述第二优先级由高到低排序为:其他用户对故障平台的操作、其他用户对集群的操作、其他用户对其他平台的操作。
6.如权利要求4-5任一项所述的故障排查装置,其特征在于,用户操作命令信息包括:用户标识、操作开始时间、用户操作的平台和集群、用户操作命令和用户操作所在页面或路径。
CN201910290415.XA 2019-04-11 2019-04-11 一种面向多平台和集群的交叉故障排查方法及装置 Active CN110011853B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910290415.XA CN110011853B (zh) 2019-04-11 2019-04-11 一种面向多平台和集群的交叉故障排查方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910290415.XA CN110011853B (zh) 2019-04-11 2019-04-11 一种面向多平台和集群的交叉故障排查方法及装置

Publications (2)

Publication Number Publication Date
CN110011853A CN110011853A (zh) 2019-07-12
CN110011853B true CN110011853B (zh) 2022-02-25

Family

ID=67171148

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910290415.XA Active CN110011853B (zh) 2019-04-11 2019-04-11 一种面向多平台和集群的交叉故障排查方法及装置

Country Status (1)

Country Link
CN (1) CN110011853B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110941554B (zh) * 2019-11-25 2023-10-27 腾讯科技(深圳)有限公司 一种复现故障的方法及装置
CN114489014B (zh) * 2022-01-27 2023-07-28 东风商用车有限公司 一种总线控制器故障排查方法与系统
WO2024002327A1 (zh) * 2022-06-30 2024-01-04 华为云计算技术有限公司 一种云监控和分析方法、系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107026760A (zh) * 2017-05-03 2017-08-08 联想(北京)有限公司 一种故障修复方法及监控节点
CN109002478A (zh) * 2018-06-19 2018-12-14 郑州云海信息技术有限公司 分布式文件系统的故障处理方法及相关设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105868083A (zh) * 2015-01-21 2016-08-17 中兴通讯股份有限公司 一种回放用户操作的方法和装置
US10235252B1 (en) * 2016-06-28 2019-03-19 EMC IP Holding Company LLC Retroactive log retrieval service
CN107094097B (zh) * 2017-05-12 2021-03-12 深圳前海茂佳软件科技有限公司 一种故障信息远程重现方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107026760A (zh) * 2017-05-03 2017-08-08 联想(北京)有限公司 一种故障修复方法及监控节点
CN109002478A (zh) * 2018-06-19 2018-12-14 郑州云海信息技术有限公司 分布式文件系统的故障处理方法及相关设备

Also Published As

Publication number Publication date
CN110011853A (zh) 2019-07-12

Similar Documents

Publication Publication Date Title
CN110011853B (zh) 一种面向多平台和集群的交叉故障排查方法及装置
CN107291787B (zh) 主备数据库切换方法和装置
CN106202075B (zh) 一种数据库主备切换的方法及装置
CA1318030C (en) Expert system for identifying failure points in a digital data processing system
CN109933632B (zh) 一种数据库的数据迁移方法、装置及设备
US9037905B2 (en) Data processing failure recovery method, system and program
CN106484565A (zh) 多数据中心间的数据同步方法及相关设备
CN109063005B (zh) 一种数据迁移方法及系统、存储介质、电子设备
WO2021008029A1 (zh) 案例执行方法、装置、设备及计算机可读存储介质
CN112147967A (zh) 一种汽车控制器的场景测试用例自动生成方法及装置
CN111198662A (zh) 一种数据存储方法、装置和计算机可读存储介质
CN111339118A (zh) 基于Kubernetes的资源变更历史记录方法及装置
CN106649000A (zh) 实时处理引擎的故障恢复方法及相应的服务器
CN113535665A (zh) 一种主数据库与备数据库之间同步日志文件的方法及装置
CN100576182C (zh) 计算机文件的实时监控系统和方法
AU674231B2 (en) Fault-tolerant computer systems
CN104158843A (zh) 分布式文件存储系统的存储单元失效检测方法及装置
CN102339305A (zh) 基于偏序关系日志的数据库集群故障恢复方法
CN112286729B (zh) 一种指定时间恢复的方法
CN112527497B (zh) 一种序列化多线程数据处理系统
CN116955369A (zh) 基于数据库的数据融合方法、装置、电子设备及存储介质
JPH10260861A (ja) 障害調査情報装置
JPH0194453A (ja) トレース収集出力方式
CN111953544B (zh) 一种服务器的故障检测方法、装置、设备及存储介质
CN110442770B (zh) 一种数据抓取及保存方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant