CN106980572B - 分布式***的在线调试方法和*** - Google Patents

分布式***的在线调试方法和*** Download PDF

Info

Publication number
CN106980572B
CN106980572B CN201610035223.0A CN201610035223A CN106980572B CN 106980572 B CN106980572 B CN 106980572B CN 201610035223 A CN201610035223 A CN 201610035223A CN 106980572 B CN106980572 B CN 106980572B
Authority
CN
China
Prior art keywords
debugging
debugging information
distributed
information
online
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
CN201610035223.0A
Other languages
English (en)
Other versions
CN106980572A (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.)
Zhejiang Tmall Technology Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610035223.0A priority Critical patent/CN106980572B/zh
Publication of CN106980572A publication Critical patent/CN106980572A/zh
Application granted granted Critical
Publication of CN106980572B publication Critical patent/CN106980572B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提出一种分布式***的在线调试方法和***,其中,该方法包括以下步骤:第i分布式节点接收调试信息收集指令,其中,调试信息收集指令包括收集标识,其中,i为正整数;第i分布式节点根据调试信息收集指令进入在线调试模式,并收集调试信息;第i分布式节点将调试信息发送至服务器,其中,调试信息具有与调试信息收集指令对应的编号;第i分布式节点将调试信息收集指令发送至第i+1分布式节点。本申请的分布式***的在线调试方法,降低了调试日志收集难度,提高了日志收集效率,从而便于调试人员对调试信息进行整体分析,能够提高了调试效率。

Description

分布式***的在线调试方法和***
技术领域
本申请涉及在线调试技术领域,特别涉及一种分布式***的在线调试方法和***。
背景技术
传统的分布式***中,主要是通过各个分布式节点的本地文件***来写入日志式,这种方式对分析和解决分布式***存在的问题而言,存在以下问题:
1、由于传统的日志***,将日志存储在各个分布式节点本机上,而在分布式***严格的权限要求下,不是所有人都有权限能够访问到各个分布式节点中存储的日志,因此,存在日志访问困难的问题。
2、由于分布式***,在一次应用的响应过程中,可能经历很多部署在不同分布式节点的模块,而每个模块是独立生成并存储自己模块的日志,因此在一次响应过程中各个经历的模块的日志是独立存放的,因此,在调试时,需要调试人员从不同的模块上分别查找日志,非常不便。此外,由于分布式***的并行特点,不同的模块上的日志的上下文相关性不明显,这也为调试带来了极大的困难。
3、分布式***中的每个模块是以独立的集群的形式对外服务,集群内部由成百上千台机器组成。由于负载均衡的缘故,每次响应某一请求的机器都可能不一样,这就导致调试人员收集某次请求相关的日志十分困难、低效。
4、分布式***每秒钟需要处理成百上千的请求,每次请求都会把***内部运行状态输出到日志里,造成日志内容很快膨胀,因此,很难分辨某次请求的日志。而且传统的日志中多个进程会同时写这一份日志文件,这个也会导致日志中充斥着其他进程写入的跟该次响应无关的日志,更加不便于该次请求的日志的查找,导致了分析效率较低。
发明内容
本申请旨在至少在一定程度上解决上述技术问题。
为此,本申请的第一个目的在于提出一种分布式***的在线调试方法,降低了调试日志收集难度,提高了日志收集效率。
本申请的第二个目的在于提出一种分布式***的在线调试***。
为达上述目的,根据本申请第一方面实施例提出了一种分布式***的在线调试方法,包括以下步骤:第i分布式节点接收调试信息收集指令,其中,所述调试信息收集指令包括收集标识,其中,i为正整数;所述第i分布式节点根据所述调试信息收集指令进入在线调试模式,并收集调试信息;所述第i分布式节点将所述调试信息发送至服务器,其中,所述调试信息具有与所述调试信息收集指令对应的编号;所述第i分布式节点将所述调试信息收集指令发送至第i+1分布式节点。
本申请实施例的分布式***的在线调试方法,可分布式***中的分布式节点在接收包括收集标识的调试信息收集指令,进入在线调试模式,并收集调试信息,发送至服务器,通过收集标识的标识作用可有针对性地对调试信息进行收集,从而避免调试信息与其他运行日志信息相混淆,且能够大大降低日志膨胀的程度。此外,调试信息具有与调试信息收集指令对应的编号,从而可根据编号对不同调试信息收集指令对应调试信息进行区别,便于调试信息的收集、查找和关联。因此,本申请实施例降低了调试日志收集难度,提高了日志收集效率,且便于调试人员对调试信息进行整体分析,能够提高调试效率。
本申请第二方面实施例提供了一种分布式***的在线调试***,包括:多个分布式节点和服务器,其中,分布式节点用于接收调试信息收集指令,其中,所述调试信息收集指令包括收集标识,并根据所述调试信息收集指令进入在线调试模式,并收集调试信息,以及将所述调试信息发送至所述服务器,其中,所述调试信息具有与所述调试信息收集指令对应的编号,并将所述调试信息收集指令发送至下一分布式节点;所述服务器用于接收所述分布式节点发送的调试信息。
本申请实施例的分布式***的在线调试***,可分布式***中的分布式节点在接收包括收集标识的调试信息收集指令,进入在线调试模式,并收集调试信息,发送至服务器,通过收集标识的标识作用可有针对性地对调试信息进行收集,从而避免调试信息与其他运行日志信息相混淆,且能够大大降低日志膨胀的程度。此外,调试信息具有与调试信息收集指令对应的编号,从而可根据编号对不同调试信息收集指令对应调试信息进行区别,便于调试信息的收集、查找和关联。因此,本申请实施例降低了调试日志收集难度,提高了日志收集效率,且便于调试人员对调试信息进行整体分析,能够提高调试效率。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请一个实施例的分布式***的在线调试方法的流程图;
图2为根据本申请另一个实施例的分布式***的在线调试方法的流程图;
图3为根据本申请另一个实施例的分布式***的在线调试示意图;
图4为根据本申请一个实施例的分布式***的在线调试***的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述根据本申请实施例的分布式***的在线调试方法和***。
图1为根据本申请一个实施例的分布式***的在线调试方法的流程图。
如图1所示,根据本申请实施例的分布式***的在线调试方法,包括:
S101,第i分布式节点接收调试信息收集指令,其中,调试信息收集指令包括收集标识,其中,i为正整数。
分布式***由多个分布式节点组成。每个分布式节点可用于处理服务器发送的请求。客户端用户可根据处理需求向服务器发送应用程序的业务请求或在线调试请求等。例如,对于业务请求来说,可根据各个分布式节点的空闲度分配相应的节点来处理该业务请求。而对于在线调试请求来说,可根据客户端请求向需要收集调试信息的节点发送调试信息收集指令。
服务器可根据客户端发送的请求向分布式***中相应的分布式节点发送相应的指令,以通过各个分布式节点对对客户端的请求进行处理。其中,在线调试请求与业务请求不同,服务器对于客户端的业务请求向分布式***发送相应的业务处理指令;对于客户端的在线调试请求向分布式***发送相应的调试信息收集指令。
本申请的实施例中,为了区分应用程序的业务请求与在线调试请求,服务器在发送调试信息收集指令时,可为调试信息收集指令设置收集标识。从而各个分布式节点可根据接收到的请求是否包括该收集标识判断出接收到的是否为调试信息收集指令,后续可仅针对调试信息收集指令对应的日志进行收集,更加方便,提高信息收集的效率。
在本申请的一个实施例中,服务器可根据客户端的请求向分布式***中相应的分布式节点发送调试信息收集指令,以进行调试,各个分布式节点在调试过程中或者调试完成时,可将调试信息收集指令发送至下一分布式节点,以对下一分布式节点进行调试。因此,第i分布式节点接收的调试信息收集指令可由服务器发送或由第i-1分布式节点发送。
S102,第i分布式节点根据调试信息收集指令进入在线调试模式,并收集调试信息。
当第i分布式节点接收到调试信息收集指令后,可进入在线调试模式,即根据当前指令进行的操作为在线调试,则可对当前的处理过程进行记录,得到调试信息。
具体地,在本申请的实施例中,每个分布式节点中设置有Trace API(TraceApplication Programming Interface跟踪应用程序接口),分布式节点可通过Trace API收集调试信息。
S103,第i分布式节点将调试信息发送至服务器,其中,调试信息具有与调试信息收集指令对应的编号。
第i分布式节点在收集调试信息后,可将收集到的调试信息发送至服务器,以由服务器根据其他分布式节点收到的同一调试信息收集指令对应的调试信息。
其中,该编号可以是预设长度的字符串。举例来说,该编号可以是64位的数字串。每个编号对应一次在线调试,用于唯一标识异常调试信息。也就是说,无论在哪个分布式节点中的调试信息,只要是同一次在线调试的调试信息,都具有相同的编号。从而可根据调试信息的编号将不同分布式节点上的同一调试信息收集指令对应调试信息进行关联,便于调试人员对调试信息进行整体分析。
S104,第i分布式节点将调试信息收集指令发送至第i+1分布式节点。
第i分布式节点在完成调试后,可向其下一分布式节点(即第i+1分布式节点)发送调试信息收集指令,以控制第i+1分布式节点收集调试信息。
本申请实施例的分布式***的在线调试方法,可分布式***中的分布式节点在接收包括收集标识的调试信息收集指令,进入在线调试模式,并收集调试信息,发送至服务器,通过收集标识的标识作用可有针对性地对调试信息进行收集,从而避免调试信息与其他运行日志信息相混淆,且能够大大降低日志膨胀的程度。此外,调试信息具有与调试信息收集指令对应的编号,从而可根据编号对不同调试信息收集指令对应调试信息进行区别,便于调试信息的收集、查找和关联。因此,本申请实施例降低了调试日志收集难度,提高了日志收集效率,且便于调试人员对调试信息进行整体分析,能够提高调试效率。
进一步地,图2为根据本申请另一个实施例的分布式***的在线调试方法的流程图。
如图2所示,根据本申请的分布式***的在线调试方法,包括步骤S201-S204,步骤S201-S204与图1中步骤S101-S104相同,进一步地,还可包括以步骤S205-S209。
S205,第i+1分布式节点接收调试信息收集指令,其中,调试信息收集指令包括收集标识。
S206,第i+1分布式节点根据调试信息收集指令进入在线调试模式,并收集调试信息。
S207,第i+1分布式节点将调试信息发送至服务器,其中,调试信息具有与调试信息收集指令对应的编号。
S208,第i分布式节点将调试信息收集指令发送至第i+2分布式节点。
S209,服务器接收分布式节点发送的调试信息,并根据调试信息中的编号进行汇总以生成调试日志。
每个需要收集调试信息的分布式节点在收集调试信息后,可将收集到的调试信息发送至服务器。服务器可接收各个分布式节点发送的调试信息,并根据调试信息中的编号对调试信息进行汇总。具体地,可将相同编号的调试信息进行合并,生成该编号对应的调试日志。
本申请的实施例中,服务器可具有访问接口,客户端可通过该访问接口调取服务器中的调试日志。具体地,客户端可接收用户输入的调试信息收集指令对应的编号,并根据该编号调取服务器中相应的调试日志。
本申请的一个实施例中,调试日志为可标记扩展语言XML格式。从而,便于客户端从服务器读取调试日志后进行结构化展示,便于分析,进一步提升了调试效率。
下面通过以下应用场景对本实施例的分布式***的在线调试方法进行说明。如图3所示,服务端的分布式***由FE(Front End,前端)、Merger(业务逻辑节点)、QR(QueryRewrite,查询词改写节点)、DN(Data Node,数据节点)、SN(Search Node,检索节点)和ORS(Online Ranking System,在线打分***)这六个节点组成。需要收集调试信息的各个节点(ORS、SN、Merger三个节点),可通过Trace API来收集调试信息,并在完成调试后,通过网络将收集到的调试信息发送到服务器Trace Server(跟踪服务器)。
具体地,Merger节点在接收到一个指令时,可判断该指令中是否包括收集标识,如果包括,则进入在线调试模式,并收集调试信息(Merger Trace信息),发送至TraceServer。其中,Merger节点在判断包括收集标识之后,或者在收集调试信息完成之后,可向SN节点发送指令。SN节点可判断该指令中是否包括收集标识,如果包括,则进入在线调试模式,并收集调试信息(SN Trace信息),发送至Trace Server。SN节点在判断包括收集标识之后,或者在收集调试信息完成之后,可向ORS节点发送指令。ORS节点可判断该指令中是否包括收集标识,如果包括,则进入在线调试模式,并收集调试信息(ORS Trace信息),发送至Trace Server。
Trace Server可将ORS、SN、Merger三个节点的调试信息进行合并,生成一次调试请求对应的完整调试日志进行存储。客户端可通过UI(User Interface,用户界面)根据用户输入的编号读取服务器中存储的相应的调试日志,并进行解析,并在解析后结构化展示。
本申请的实施例中,收集调试信息的节点可在各自的调试信息收集完成后,各自分别向服务器发送调试信息,从而避免了发生阻塞的可能,且与其他处理请求的处理结果并不一起返回,因此,不影响处理请求的处理结果的响应时间,也不会侵入其他处理请求的处理结果,服务器中的敏感信息不易泄漏,提高了数据的安全性。
本申请实施例的分布式***的在线调试方法,可根据编号对不同调试信息收集指令对应调试信息进行区别,且各个分布式节点可将收集的调试信息发送至服务器,以便服务器根据调试信息的编号对调试信息进行汇总以生成调试日志,降低了调试日志收集难度,提高了日志收集效率,且便于调试人员对调试信息进行整体分析,能够提高了调试效率。
与上述实施例提供的分布式***的在线调试方法相对应,本申请还提出一种分布式***的在线调试***。
图4为根据本申请一个实施例的分布式***的在线调试***的结构示意图。
如图4所示,根据本申请实施例的分布式***的在线调试***,包括:多个分布式节点10和服务器20。
具体地,分布式节点10用于接收调试信息收集指令,其中,调试信息收集指令包括收集标识,并根据调试信息收集指令进入在线调试模式,并收集调试信息,以及将调试信息发送至服务器20,其中,调试信息具有与调试信息收集指令对应的编号,并将调试信息收集指令发送至下一分布式节点。
服务器20用于接收分布式节点发送的调试信息。
其中,多个分布式节点10属于同一分布式***。每个分布式节点10可用于处理服务器发送的请求。客户端用户可根据处理需求向服务器20发送应用程序的业务请求或在线调试请求等。例如,对于业务请求来说,可根据各个分布式节点的空闲度分配相应的节点来处理该业务请求。而对于在线调试请求来说,可根据客户端请求向需要收集调试信息的节点发送调试信息收集指令。
其中,该编号可以是预设长度的字符串。举例来说,该编号可以是64位的数字串。每个编号对应一次在线调试,用于唯一标识异常调试信息。也就是说,无论在哪个分布式节点中的调试信息,只要是同一次在线调试的调试信息,都具有相同的编号。从而可根据调试信息的编号将不同分布式节点上的同一调试信息收集指令对应调试信息进行关联,便于调试人员对调试信息进行整体分析。
服务器20可根据客户端发送的请求向分布式***中相应的分布式节点10发送相应的指令,以通过各个分布式节点10对对客户端的请求进行处理。其中,在线调试请求与业务请求不同,服务器20对于客户端的业务请求向分布式***发送相应的业务处理指令;对于客户端的在线调试请求向分布式***发送相应的调试信息收集指令。
本申请的实施例中,为了区分应用程序的业务请求与在线调试请求,服务器20在发送调试信息收集指令时,可为调试信息收集指令设置收集标识。从而各个分布式节点10可根据接收到的请求是否包括该收集标识判断出接收到的是否为调试信息收集指令,后续可仅针对调试信息收集指令对应的日志进行收集,更加方便,提高信息收集的效率。
在本申请的一个实施例中,服务器20可根据客户端的请求向分布式***中相应的分布式节点10发送调试信息收集指令,以进行调试,各个分布式节点10在调试过程中或者调试完成时,可将调试信息收集指令发送至下一分布式节点,以对下一分布式节点进行调试。
因此,第i分布式节点接收的调试信息收集指令可由服务器发送或由第i-1分布式节点发送。当第i分布式节点接收到调试信息收集指令后,可进入在线调试模式,即根据当前指令进行的操作为在线调试,则可对当前的处理过程进行记录,得到调试信息。第i分布式节点在收集调试信息后,可将收集到的调试信息发送至服务器20,以由服务器20根据其他分布式节点收到的同一调试信息收集指令对应的调试信息。
第i分布式节点在完成调试后,可向其下一分布式节点(即第i+1分布式节点)发送调试信息收集指令,以控制第i+1分布式节点收集调试信息。由此,可依次控制每个需要收集调试信息的分布式节点收集调试信息。且每个需要收集调试信息的分布式节点都将收集的调试信息发送至服务器20。服务器20可接收各个分布式节点发送的调试信息,并根据调试信息中的编号对调试信息进行汇总。具体地,服务器20可将相同编号的调试信息进行合并,生成该编号对应的调试日志。
本申请的实施例中,服务器20可具有访问接口,客户端可通过该访问接口调取服务器中的调试日志。具体地,客户端可接收用户输入的调试信息收集指令对应的编号,并根据该编号调取服务器中相应的调试日志。
本申请的一个实施例中,调试日志为可标记扩展语言XML格式。从而,便于客户端从服务器读20取调试日志后进行结构化展示,便于分析,进一步提升了调试效率。
下面通过以下应用场景对本实施例的分布式***的在线调试方法进行说明。如图3所示,服务端的分布式***由FE(Front End,前端)、Merger(业务逻辑节点)、QR(QueryRewrite,查询词改写节点)、DN(Data Node,数据节点)、SN(Search Node,检索节点)和ORS(Online Ranking System,在线打分***)这六个节点组成。需要收集调试信息的各个节点(ORS、SN、Merger三个节点),可通过Trace API来收集调试信息,并在完成调试后,通过网络将收集到的调试信息发送到服务器Trace Server(跟踪服务器)。
具体地,Merger节点在接收到一个指令时,可判断该指令中是否包括收集标识,如果包括,则进入在线调试模式,并收集调试信息,发送至Trace Server。其中,Merger节点在判断包括收集标识之后,或者在收集调试信息完成之后,可向SN节点发送指令。SN节点可判断该指令中是否包括收集标识,如果包括,则进入在线调试模式,并收集调试信息,发送至Trace Server。SN节点在判断包括收集标识之后,或者在收集调试信息完成之后,可向ORS节点发送指令。ORS节点可判断该指令中是否包括收集标识,如果包括,则进入在线调试模式,并收集调试信息,发送至Trace Server。
Trace Server可将ORS、SN、Merger三个节点的调试信息进行合并,生成一次调试请求对应的完整调试日志进行存储。客户端可通过UI(User Interface,用户界面)根据用户输入的编号读取服务器中存储的相应的调试日志,并进行解析,并在解析后结构化展示。
本申请的实施例中,收集调试信息的节点可在各自的调试信息收集完成后,各自分别向服务器发送调试信息,从而避免了发生阻塞的可能,且与其他处理请求的处理结果并不一起返回,因此,不影响处理请求的处理结果的响应时间,也不会侵入其他处理请求的处理结果,服务器中的敏感信息不易泄漏,提高了数据的安全性。
本申请实施例的分布式***的在线调试***,可分布式***中的分布式节点在接收包括收集标识的调试信息收集指令,进入在线调试模式,并收集调试信息,发送至服务器,通过收集标识的标识作用可有针对性地对调试信息进行收集,从而避免调试信息与其他运行日志信息相混淆,且能够大大降低日志膨胀的程度。此外,调试信息具有与调试信息收集指令对应的编号,从而可根据编号对不同调试信息收集指令对应调试信息进行区别,便于调试信息的收集、查找和关联。因此,本申请实施例降低了调试日志收集难度,提高了日志收集效率,且便于调试人员对调试信息进行整体分析,能够提高调试效率。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施例,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同限定。

Claims (9)

1.一种分布式***的在线调试方法,其特征在于,包括以下步骤:
第i分布式节点接收调试信息收集指令,其中,所述调试信息收集指令包括收集标识,其中,i为正整数;
所述第i分布式节点根据所述调试信息收集指令进入在线调试模式,并收集调试信息;
所述第i分布式节点将所述调试信息发送至服务器,其中,所述调试信息具有与所述调试信息收集指令对应的编号,每个所述编号对应一次在线调试,用于唯一标识异常调试信息;
所述第i分布式节点将所述调试信息收集指令发送至第i+1分布式节点;
所述服务器接收分布式节点发送的调试信息,并根据所述调试信息中的编号进行汇总以生成调试日志。
2.如权利要求1所述的分布式***的在线调试方法,其特征在于,还包括:
所述第i+1分布式节点接收调试信息收集指令,其中,所述调试信息收集指令包括收集标识;
所述第i+1分布式节点根据所述调试信息收集指令进入在线调试模式,并收集调试信息;
所述第i+1分布式节点将所述调试信息发送至服务器,其中,所述调试信息具有与所述调试信息收集指令对应的编号;
所述第i分布式节点将所述调试信息收集指令发送至第i+2分布式节点。
3.如权利要求1所述的分布式***的在线调试方法,其特征在于,所述第i分布式节点接收的所述调试信息收集指令由所述服务器发送或由第i-1分布式节点发送。
4.如权利要求1所述的分布式***的在线调试方法,其特征在于,其中,所述服务器具有访问接口,用于通过所述访问接口调取所述调试日志。
5.如权利要求1所述的分布式***的在线调试方法,其特征在于,所述调试日志为可标记扩展语言XML格式。
6.一种分布式***的在线调试***,其特征在于,包括:多个分布式节点和服务器,其中,
分布式节点用于接收调试信息收集指令,其中,所述调试信息收集指令包括收集标识,并根据所述调试信息收集指令进入在线调试模式,并收集调试信息,以及将所述调试信息发送至所述服务器,其中,所述调试信息具有与所述调试信息收集指令对应的编号,并将所述调试信息收集指令发送至下一分布式节点;其中,每个所述编号对应一次在线调试,用于唯一标识异常调试信息;
所述服务器用于接收所述分布式节点发送的调试信息,并根据所述调试信息中的编号进行汇总以生成调试日志。
7.如权利要求6所述的分布式***的在线调试***,其特征在于,所述分布式节点接收的所述调试信息收集指令由所述服务器发送或由所述分布式节点的上一分布式节点发送。
8.如权利要求6所述的分布式***的在线调试***,其特征在于,其中,所述服务器具有访问接口,用于通过所述访问接口调取所述调试日志。
9.如权利要求6所述的分布式***的在线调试***,其特征在于,所述调试日志为可标记扩展语言XML格式。
CN201610035223.0A 2016-01-19 2016-01-19 分布式***的在线调试方法和*** Active CN106980572B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610035223.0A CN106980572B (zh) 2016-01-19 2016-01-19 分布式***的在线调试方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610035223.0A CN106980572B (zh) 2016-01-19 2016-01-19 分布式***的在线调试方法和***

Publications (2)

Publication Number Publication Date
CN106980572A CN106980572A (zh) 2017-07-25
CN106980572B true CN106980572B (zh) 2021-03-02

Family

ID=59339857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610035223.0A Active CN106980572B (zh) 2016-01-19 2016-01-19 分布式***的在线调试方法和***

Country Status (1)

Country Link
CN (1) CN106980572B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108365982A (zh) * 2018-02-06 2018-08-03 北京小米移动软件有限公司 设备异常调试方法、装置、设备和存储介质
CN109408310B (zh) * 2018-10-19 2022-02-18 网易(杭州)网络有限公司 服务器的调试方法、服务器及可读存储介质
CN110018956B (zh) * 2019-01-28 2022-05-13 创新先进技术有限公司 应用调试方法及相关装置
CN112559437A (zh) * 2019-09-25 2021-03-26 阿里巴巴集团控股有限公司 一种调试单元及处理器
CN114741313A (zh) * 2022-04-28 2022-07-12 重庆长安汽车股份有限公司 一种基于服务网关的soa服务***在线调试方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040073658A1 (en) * 2002-10-10 2004-04-15 Cisco Technology, Inc. System and method for distributed diagnostics in a communication system
CN100461710C (zh) * 2007-03-15 2009-02-11 华为技术有限公司 分布式***日志收集方法及***
US7747742B2 (en) * 2008-06-27 2010-06-29 Microsoft Corporation Online predicate checking for distributed systems
CN103036961A (zh) * 2012-12-07 2013-04-10 蓝盾信息安全技术股份有限公司 一种日志分布式收集及存储方法
CN105119752A (zh) * 2015-09-08 2015-12-02 北京京东尚科信息技术有限公司 一种分布式日志采集方法、装置及***

Also Published As

Publication number Publication date
CN106980572A (zh) 2017-07-25

Similar Documents

Publication Publication Date Title
CN106980572B (zh) 分布式***的在线调试方法和***
CN105553769B (zh) 一种数据采集分析***和方法
US8543988B2 (en) Trace processing program, method and system
US8141053B2 (en) Call stack sampling using a virtual machine
CN106294134B (zh) 代码的崩溃定位方法及装置
US9354996B2 (en) System test apparatus
WO2018120721A1 (zh) 用户界面的测试方法、***、电子装置及计算机可读存储介质
CN109710439B (zh) 故障处理方法和装置
CN111563014A (zh) 接口服务性能测试方法、装置、设备和存储介质
CN110674025A (zh) 交互行为监测方法、装置以及计算机设备
CN112035314B (zh) 内存泄漏的监控方法、装置及电子设备
CN108255620A (zh) 一种业务逻辑处理方法、装置、业务服务器及***
CN110287696A (zh) 一种反弹shell进程的检测方法、装置和设备
CN110674034A (zh) 一种健康检查方法、装置及电子设备和存储介质
CN105515909B (zh) 一种数据采集测试方法和装置
US9842044B2 (en) Commit sensitive tests
CN115801372A (zh) 一种链路追踪方法及装置
CN108667740A (zh) 流量控制的方法、装置及***
CN110825609B (zh) 服务的测试方法、装置和***
CN106528411A (zh) 覆盖率检测方法、装置和设备
CN114064510A (zh) 功能测试方法、装置、电子设备和存储介质
CN116016270A (zh) 一种交换机测试管理方法、装置、电子设备和存储介质
CN106227502A (zh) 一种获取硬盘固件版本的方法及装置
CN105391602B (zh) 一种数据采集测试方法和装置
CN106777010B (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211116

Address after: Room 507, floor 5, building 3, No. 969, Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: Zhejiang tmall Technology Co., Ltd

Address before: P.O. Box 847, 4th floor, Grand Cayman capital building, British Cayman Islands

Patentee before: Alibaba Group Holdings Limited