一种信息获取方法、装置、终端设备及存储介质与流程

文档序号:18939912发布日期:2019-10-23 01:04阅读:124来源:国知局
一种信息获取方法、装置、终端设备及存储介质与流程

本发明涉及业务处理技术领域,特别是涉及一种信息获取方法、装置、终端设备及存储介质。



背景技术:

随着互联网技术的发展,应用软件中的业务类型逐渐增多,从而使得用户通过一种应用软件可以实现多种功能,例如用户可以通过在线支付实现发红包、转账、交话费等功能。

在应用软件运行过程中,常常会发生各种各样的异常现象,而目前在业务处理过程中出现异常时,通常关注的是业务处理过程中某个时刻的瞬时状态,即对出现异常的某个时刻的业务状态进行异常分析。而在有些时候,业务人员需要了解的是此时刻状态的上下文信息、用户的行为链或代码的调用触发链,以用于帮助业务人员检测和排查问题,而仅获取业务处理过程中某个时刻的瞬时状态可能会导致不能分析出发生异常的原因,导致业务人员无法及时对应用软件及时进行修复。



技术实现要素:

本发明实施例所要解决的技术问题是提供一种信息获取方法、装置、终端设备及存储介质,以解决现有技术中只关注业务处理过程中某个时刻的瞬时状态,可能会导致不能分析出发生异常的原因,导致业务人员无法及时对应用软件及时进行修复的技术问题。

为了解决上述问题,本发明实施例提供了一种信息获取方法,包括:在监测到目标业务流程出现异常时,识别出预先为所述目标业务流程对应的业务处理链路配置的至少一个业务流程节点;运行各所述业务流程节点处预先添加的插桩代码,确定异常业务流程节点;所述异常业务流程节点为所述至少一个业务流程节点中的一个业务流程节点;依据线程与执行路径之间的映射关系,确定目标线程对应的异常执行路径;所述目标线程用于执行所述异常业务流程节点对应的异常子业务流程,所述异常子业务流程为所述目标业务流程中的一个子业务流程;获取位于所述异常执行路径上的待处理业务流程节点;所述待处理业务流程节点包括所述异常业务流程节点;启动预先添加于所述待处理业务流程节点处的目标监控程序,获取所述待处理业务流程节点对应的业务流程信息。

优选地,在所述识别出预先为所述目标业务流程对应的业务处理链路配置的至少一个业务流程节点之前,还包括:在所述目标业务流程的执行过程中,获取所述目标业务流程包含的至少一个子业务流程,及执行各所述子业务流程的线程;所述异常子业务流程为所述至少一个子业务流程中的一个子业务流程;确定与各所述子业务流程对应的业务流程节点;获取各线程所处的执行路径;建立并保存各所述线程与各所述执行路径之间的映射关系;在各所述业务流程节点添加对应的监控程序;所述监控程序中包含所述目标监控程序。

优选地,所述在所述确定与各所述子业务流程对应的业务流程节点之后,还包括:绘制与所述目标业务流程对应的空业务流程图;依据各所述线程的调用顺序,在所述空业务流程图中添加各所述线程,及与各所述线程对应的业务流程节点,以生成业务流程拓扑图;所述获取各线程所处的执行路径的步骤,包括:依据所述业务流程拓扑图,查找各所述线程所处的执行路径。

优选地,所述获取位于所述异常执行路径上的待处理业务流程节点,包括:当所述异常执行路径上的所有业务流程节点的个数小于阈值节点个数时,将所述所有业务流程节点均作为所述待处理业务流程节点;当所述所有业务流程节点的个数大于或等于所述阈值节点个数时,根据所述所有业务流程节点在所述异常执行路径上的位置信息,选择出所述待处理业务流程节点。

优选地,所述根据所述所有业务流程节点在所述异常执行路径上的位置信息,选择出所述待处理业务流程节点,包括:依据所述位置信息,获取所述异常执行路径上满足如下条件的待处理业务流程节点:位于所述异常业务流程节点之前的第一个数的第一业务流程节点,位于所述异常业务流程节点之后的第二个数的第二业务流程节点,位于所述异常执行路径上的第三个数的第三业务流程节点,及位于所述异常执行路径的结尾的第四个数的第四业务流程节点;将所述第一业务流程节点、所述第二业务流程节点、所述第三业务流程节点和所述第四业务流程节点,作为所述待处理业务流程节点。

为了解决上述问题,本发明实施例提供了一种信息获取装置,包括:业务节点识别模块,用于在监测到目标业务流程出现异常时,识别出预先为所述目标业务流程对应的业务处理链路配置的至少一个业务流程节点;异常节点确定模块,用于运行各所述业务流程节点处预先添加的插桩代码,确定异常业务流程节点;所述异常业务流程节点为所述至少一个业务流程节点中的一个业务流程节点;异常路径确定模块,用于依据线程与执行路径之间的映射关系,确定目标线程对应的异常执行路径;所述目标线程用于执行所述异常业务流程节点对应的异常子业务流程,所述异常子业务流程为所述目标业务流程中的一个子业务流程;待处理节点获取模块,用于获取位于所述异常执行路径上的待处理业务流程节点;所述待处理业务流程节点包括所述异常业务流程节点;业务信息获取模块,用于启动预先添加于所述待处理业务流程节点处的目标监控程序,获取所述待处理业务流程节点对应的业务流程信息。

优选地,还包括:流程线程获取模块,用于在所述目标业务流程的执行过程中,获取所述目标业务流程包含的至少一个子业务流程,及执行各所述子业务流程的线程;所述异常子业务流程为所述至少一个子业务流程中的一个子业务流程;业务节点确定模块,用于确定与各所述子业务流程对应的业务流程节点;执行路径获取模块,用于获取各线程所处的执行路径;映射关系建立模块,用于建立并保存各所述线程与各所述执行路径之间的映射关系;监控程序添加模块,用于在各所述业务流程节点添加对应的监控程序;所述监控程序中包含所述目标监控程序。

优选地,还包括:空流程图绘制模块,用于绘制与所述目标业务流程对应的空业务流程图;流程拓扑图生成模块,用于依据各所述线程的调用顺序,在所述空业务流程图中添加各所述线程,及与各所述线程对应的业务流程节点,以生成业务流程拓扑图;所述执行路径获取模块包括:执行路径查找子模块,用于依据所述业务流程拓扑图,查找各所述线程所处的执行路径。

优选地,所述待处理节点获取模块包括:第一节点获取子模块,用于当所述异常执行路径上的所有业务流程节点的个数小于阈值节点个数时,将所述所有业务流程节点均作为所述待处理业务流程节点;第二节点获取子模块,用于当所述所有业务流程节点的个数大于或等于所述阈值节点个数时,根据所述所有业务流程节点在所述异常执行路径上的位置信息,选择出所述待处理业务流程节点。

优选地,所述第二节点获取子模块包括:异常节点获取子模块,用于依据所述位置信息,获取所述异常执行路径上满足如下条件的待处理业务流程节点:位于所述异常业务流程节点之前的第一个数的第一业务流程节点,位于所述异常业务流程节点之后的第二个数的第二业务流程节点,位于所述异常执行路径上的第三个数的第三业务流程节点,及位于所述异常执行路径的结尾的第四个数的第四业务流程节点;待处理节点获取子模块,用于将所述第一业务流程节点、所述第二业务流程节点、所述第三业务流程节点和所述第四业务流程节点,作为所述待处理业务流程节点。

为了解决上述问题,本发明实施例提供了一种终端设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一项所述的信息获取方法。

为了解决上述问题,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的信息获取方法。

与现有技术相比,本发明实施例包括以下优点:

本发明实施例中,通过在监测到目标业务流程出现异常时,识别出预先为目标业务流程对应的业务链路配置的至少一个业务流程节点,运行各业务流程节点处预先添加的插桩代码,确定异常业务流程节点,异常业务流程节点为至少一个业务流程节点中的一个业务流程节点,依据线程与执行路径之间的映射关系,确定目标线程对应的异常执行路径,目标线程用于执行异常业务流程节点对应的异常子业务流程,异常子业务流程为目标业务流程中的一个子业务流程,获取位于异常执行路径上的待处理业务流程节点,待处理业务流程节点包括异常业务流程节点,并启动预先添加于待处理业务流程节点处的目标监控程序,获取待处理业务流程节点对应的业务流程信息。本发明实施例通过获取异常执行路径上的待处理业务流程节点,并获取待处理业务流程节点对应的业务流程信息,从而可以获取异常节点周围的上下文信息,以便于对出现异常的业务节点进行详细分析,可以及时准确的查找出发生异常的原因,提高了异常排查的准确率,可以使业务人员及时对应用软件进行修复。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

图1是本发明实施例提供的一种信息获取方法的步骤流程图;

图2是本发明实施例提供的一种信息获取方法的步骤流程图;

图3是本发明实施例提供的一种业务流程拓扑图的示意图;

图4是本发明实施例提供的一种信息获取装置的结构示意图;

图5是本发明实施例提供的一种信息获取装置的结构示意图。

具体实施方式

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

参照图1,示出了本发明实施例提供的一种信息获取方法的步骤流程图,具体可以包括如下步骤:

步骤101:在监测到目标业务流程出现异常时,识别出预先为所述目标业务流程对应的业务处理链路配置的至少一个业务流程节点。

在本发明实施例中,目标业务流程是指终端当前正在运行的业务流程,如支付业务流程、购物业务流程等等。

业务流程节点是指在目标业务流程的处理过程中,在出现业务流程的延伸出其它分支业务流程(即下述步骤中提及的子业务流程)时,在延伸位置处添加一个业务流程节点,例如,对于购物业务流程而言,可以延伸出子商品选购业务流程、支付业务流程等等,在刚开始延伸出子商品选购业务流程的位置处添加一个业务流程节点,在刚开始延伸出支付业务流程的位置处添加一个业务流程节点。

可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。

业务处理链路是指在目标业务流程的处理过程中所形成的业务处理链路,即随着目标业务流程的运行,可以在监测到一个新的分支业务流程时,即添加一个业务流程节点,从而形成了目标业务流程对应的业务处理链路。

目标业务流程的异常是指在目标业务流程的运行过程中所发生的异常。目标业务流程的异常可以包括页面异常、网络连接异常等异常情况。

在终端系统中可以预先设置业务流程异常监控程序,可以实时对当前运行的目标业务流程进行实时监测,以判定目标业务流程在运行过程中是否出现异常。

当然,在具体实现中,还可以采用其它方式监测目标业务流程在运行过程中是否出现异常,具体地,可以根据实际情况而定,本发明实施例对此不加以限制。

在监测到目标业务流程出现异常时,可以识别出预先为目标业务流程对应的业务处理链路配置的至少一个业务流程节点,具体地,识别方式可以为:在为目标业务流程对应的业务处理链路配置业务流程节点的过程中,可以预先记录各业务流程节点在业务处理链路中所处的位置,建立不同位置与业务流程节点的对应关系,进而,在识别业务流程节点时,可以根据上述对应关系,识别出业务处理链路中的业务流程节点。

当然,也可以根据业务处理链路绘制相应的业务流程拓扑图,可以从拓扑图中识别出预先配置的业务流程节点。

在具体实现中,本领域技术人员还可以采用识别方式识别出在业务处理链路中配置的业务流程节点,本发明实施例在此不再加以一一赘述。

而对于添加业务流程节点的方式可以是在监测到目标业务流程在执行过程中,出现分支业务流程时,可以在该位置处添加一段标记代码,通过该标记代码可以识别出目标业务流程中出现的分支业务流程,并将该段标记代码作为业务流程节点。

可以理解地,添加的标记代码仅用于识别出目标业务流程中出现的子业务流程,并无实际含义,运行该段代码并不会对目标业务流程的执行过程造成任何影响。

当然,在具体实现中,还可以采用其它方式添加业务流程节点,具体地,可以根据业务需求而定,本发明实施例对此不加以限制。

在识别出预先为目标业务流程对应的业务处理链路配置的至少一个业务流程节点之后,执行步骤102。

步骤102:运行各所述业务流程节点处预先添加的插桩代码,确定异常业务流程节点。

插桩代码是指在业务流程节点处添加的代码,在业务流程节点对应的业务流程的运行过程中,插桩代码可以自动记录运行产生的日志信息,并对各插桩代码记录的日志信息进行保存。

异常业务流程节点是指目标业务流程在运行过程中发生异常的业务流程节点,异常业务流程节点为至少一个业务流程节点中的一个业务流程节点,例如,目标业务流程包括a、b、c三个业务流程节点,在a节点发生异常时,则a节点即为异常业务流程节点。

在识别出预先为目标业务流程对应的业务处理链路配置的至少一个业务流程节点之后,可以运行预先添加于各业务流程节点处的插桩代码,以对记录的日志信息进行分析,从而确定出至少一个业务流程节点中的异常业务流程节点。

在运行各业务流程节点处预先添加的插桩代码,确定异常业务流程节点之后,执行步骤103。

步骤103:依据线程与执行路径之间的映射关系,确定目标线程对应的异常执行路径。

在本发明中,通过上述添加的业务流程节点,可以将目标业务路程划分为多个子业务流程,目标业务流程中的每个子业务流程均对应于一个业务流程节点,即子业务流程与业务流程节点是一一对应的关系,不同的子业务流程具有唯一对应的业务流程节点,例如,子业务流程包括a、b、c,业务流程节点包括1、2、3,其对应关系为:a-2,b-1,c-3,即子业务流程a与业务流程节点2具有对应关系,子业务流程b与业务流程节点1具有对应关系,子业务流程c与业务流程节点3具有对应关系。

异常子业务流程即为多个子业务流程中的一个子业务流程,例如,子业务流程包括a、b、c,在a异常时,则a即为异常子业务流程。

可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。

线程(thread)是指操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是行程中的实际运作单位。在本发明中,每个线程可以执行一条路径上的子业务流程,在某个业务流程节点处,出现了两个并列的子业务流程时,可以采用已调用的线程执行其中的一个子业务流程,并调用其它线程执行两个并列的子业务流程中的另一个子业务流程。

目标线程即为用于执行异常业务流程节点对应的异常子业务流程的线程。

执行路径是指从目标业务流程开始执行到结束的过程中,执行过程中所包含的路径,当然,对于一个目标业务流程而言,可能仅包含一条执行路径,也可以包含多条执行路径,具体地,可以根据实际情况而定。

异常执行路径即是指异常业务流程节点对应的异常业务流程所处的执行路径。

在目标业务流程处理完成之后,可以建立线程与执行路径之间的映射关系,通过该映射关系查找出目标线程对应的执行路径,即异常执行路径。

在依据线程与执行路径之间的映射关系,确定目标线程对应的异常执行路径之后,执行步骤104。

步骤104:获取位于所述异常执行路径上的待处理业务流程节点;所述待处理业务流程节点包括所述异常业务流程节点。

待处理业务流程节点是指位于异常执行路径上的业务流程节点,可以理解地,在异常执行路径上仅有一个业务流程节点时,即异常业务流程节点,可以将该异常业务流程节点作为待处理业务流程节点。而在异常执行路径上有多个业务流程节点时,可以将异常执行路径上的多个业务流程节点中的某几个业务流程节点作为待处理业务流程节点,具体地,可以从多个业务流程节点中选择异常业务流程节点周围的一个或多个业务流程节点作为待处理业务流程节点。

当然,在待处理业务流程节点中必然是包含异常业务流程节点的,获取位于异常执行路径上的待处理业务流程节点,可以用于对异常进行全方位的分析。

在获取位于异常执行路径上的待处理业务流程节点之后,执行步骤105。

步骤105:启动预先添加于所述待处理业务流程节点处的目标监控程序,获取所述待处理业务流程节点对应的业务流程信息。

在为目标业务流程按照业务流程节点进行子业务流程的划分之后,预先在各业务流程节点处添加有监控程序,通过监控程序可以获取相应的子业务流程的流程信息,进而可以根据获取的流程信息进行后续的分析过程,以判定发生异常的原因。

目标监控程序是指添加于待处理业务流程节点的监控程序。

在获取位于异常执行路径上的待处理业务流程节点之后,可以启动预先添加于待处理业务流程节点处的目标监控程序,通过目标监控程序,从而可以获取到待处理业务流程节点对应的业务流程信息,即待处理业务流程节点对应的子业务流程的业务流程信息,进而,可以输出业务流程信息(即将业务流程信息展示于终端界面),由业务人员根据输出的业务流程信息进行分析,以确定发生异常的原因所在。

本发明实施例通过获取出现异常节点的执行路径上的一个或多个待处理业务流程节点对应的业务流程信息,即异常节点周围的业务流程信息(也即出现异常的节点的上下文信息),可以由业务人员通过对上下文信息进行分析,可以准确的查找出异常的发生原因。本发明实施例提供的信息获取方法,通过在监测到目标业务流程出现异常时,识别出预先为目标业务流程对应的业务链路配置的至少一个业务流程节点,运行各业务流程节点处预先添加的插桩代码,确定异常业务流程节点,异常业务流程节点为至少一个业务流程节点中的一个业务流程节点,依据线程与执行路径之间的映射关系,确定目标线程对应的异常执行路径,目标线程用于执行异常业务流程节点对应的异常子业务流程,异常子业务流程为目标业务流程中的一个子业务流程,获取位于异常执行路径上的待处理业务流程节点,待处理业务流程节点包括异常业务流程节点,并启动预先添加于待处理业务流程节点处的目标监控程序,获取待处理业务流程节点对应的业务流程信息。本发明实施例通过获取异常执行路径上的待处理业务流程节点,并获取待处理业务流程节点对应的业务流程信息,从而可以获取异常节点周围的上下文信息,以便于对出现异常的业务节点进行详细分析,可以及时准确的查找出发生异常的原因,提高了异常排查的准确率,可以使业务人员及时对应用软件进行修复。

参照图2,示出了本发明实施例提供的一种信息获取方法的步骤流程图,具体可以包括如下步骤:

步骤201:在所述目标业务流程的执行过程中,获取所述目标业务流程包含的至少一个子业务流程,及执行各所述子业务流程的线程。

在本发明实施例中,目标业务流程是指终端当前正在运行的业务流程,如支付业务流程、购物业务流程等等。

目标业务流程中至少一个子业务流程的划分是在目标业务流程开始执行之后,在目标业务流程的执行过程中所进行的划分,例如,对于目标业务流程a,在开始执行时,则划分为一个子业务流程,如第1子业务流程,即为目标业务流程的主干,而在第1子业务流程执行到某个位置延伸出另外两条业务流程时,则将延伸出的两条子业务流程分别划分为第2子业务流程和第3子业务流程,而在第2或3子业务流程执行到某个位置时延伸出其它子业务流程时,在进行子业务流程的划分,即第n子业务流程,n为大于等于4的正整数,在延伸处可以添加业务流程节点,并在业务流程节点处添加对应的监控程序,以实时监控获取对应的子业务流程上的流程信息,将在下述步骤中进行描述,依次类推,随着目标业务流程实时地进行子业务流程的划分,而对于子业务流程划分的数目,可以根据实际情况而定,本发明实施例对此不加以限制。

可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。

目标业务流程中可以包括至少一个子业务流程,当然,在下述步骤中提及的异常子业务流程是至少一个子业务流程中的一个子业务流程。

线程(thread)是指操作系统能够进行运算调度的最小单位,它被包涵在进程之中,是行程中的实际运作单位。

在本发明中,在目标业务流程的执行过程中,由于在同一业务流程节点处出现两个并列子业务流程时,是调用不同的线程执行的,例如,子业务流程a对应的业务流程节点处出现了三个并列子业务流程,包括流程1、流程2和流程3,流程1是由线程a执行的,流程2是由线程b执行的,流程3是由线程c执行的,其中,线程a是执行子业务流程a的线程。

可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。

而在目标业务流程的执行过程中,可以获取执行各条执行路径的线程。具体地获取过程可以为:在执行某一子业务流程时,可以监测被调用的线程,从而记录被调用的线程,以确定执行某一子业务流程的线程。

当然,在具体实现中,还可以采用其它方式获取执行各子业务流程的标线程,本发明实施例对此不加以限制。

在获取目标业务流程包含的至少一个子业务流程之后,可以根据各个子业务流程,获取执行各子业务流程的线程。

在目标业务流程的执行过程中,获取目标业务流程包含的至少一个子业务流程,及执行各子业务流程的线程之后,执行步骤202。

步骤202:确定与各所述子业务流程对应的业务流程节点。

在目标业务流程的执行过程中,可以延伸出子业务流程,而在延伸出子业务流程时,可以将延伸位置作为业务流程节点,进而,在目标业务流程延伸出多个子业务流程之后,可以确定对应的延伸位置,即各个业务流程节点,在目标业务流程的执行过程中,获取目标业务流程包含的至少一个子业务流程之后,可以根据延伸位置确定至少一个子业务流程分别对应的业务流程节点。

而对于添加业务流程节点的方式可以是在监测到目标业务流程在执行过程中,出现分支业务流程时,可以在该位置处添加一段标记代码,通过该标记代码可以识别出目标业务流程中出现的分支业务流程,并将该段标记代码作为业务流程节点。

可以理解地,添加的标记代码仅用于识别出目标业务流程中出现的子业务流程,并无实际含义,运行该段代码并不会对目标业务流程的执行过程造成任何影响。

当然,在具体实现中,还可以采用其它方式添加业务流程节点,具体地,可以根据业务需求而定,本发明实施例对此不加以限制。

在获取目标业务流程包含的至少一个子业务流程,及执行各子业务流程的线程之后,还可以获取到为各子业务流程添加的业务流程节点。

步骤203:绘制与所述目标业务流程对应的空业务流程图。

空业务流程图是指用于对目标业务流程的执行过程进行绘制的空白图,即在对目标业务流程的执行过程绘制相应的链路图之前,预先创建的空白图,并在后续过程中,根据目标业务流程的执行过程,在空白图中绘制业务执行链路。

在目标业务流程执行之前,或执行过程中,或执行完成后,可以绘制与目标业务流程对应的空业务流程图,对于具体的空业务流程图的绘制时间可以根据业务需求而定,本发明实施例对此不加以限制。

绘制空业务流程的过程,可以采用终端中已经安装的制图工具进行绘制,即创建一个空白的绘图界面,并将该绘图界面与目标业务流程进行关联。

当然,也可以在目标业务流程的执行过程中,通过调用后台的程序代码自动绘制一张空业务流程图,以根据目标业务流程的执行过程添加相应内容。

对于空业务流程图的绘制方式可以根据实际情况而定,本发明实施例对此不加以限制。

步骤204:依据各所述线程的调用顺序,在所述空业务流程图中添加各所述线程,及与各所述线程对应的业务流程节点,以生成业务流程拓扑图。

业务流程拓扑图是指根据目标业务流程的执行过程,将目标业务流程中添加的业务流程节点及执行各业务流程对应的子业务流程的线程添加于空业务流程图之后,生成的业务流程的执行链路图,即业务流程拓扑图是根据目标业务流程的执行过程,将各线程、业务流程节点添加于空业务流程图之后生成的。

在绘制与目标业务流程对应的空业务流程图之后,可以依据各线程的调用顺序,在空业务流程中可以添加多个方形框,并为每个方形框赋予相应的数字标识,通过数字表示处理方形框内的子业务流程的线程,及各线程对应的业务流程节点,从而,可以生成业务流程拓扑图。例如,参照图3,示出了本发明实施例提供的一种业务流程拓扑图的示意图,如图3所示,圆形表示一个业务流程节点,每个业务流程节点对应于一个子业务流程,用step表示,如图所示,随着目标业务流程的执行过程,可以在出现新的子业务流程时,即添加相应的业务流程节点,图中所示箭头即代表业务流程的执行顺序,如在step3对应的子业务流程执行完成之后,衍生出两个子业务流程,即step4和step5分别对应的子业务流程,则添加step4和step5两个业务流程节点。长方形框表示一个业务,用biz表示,为每个方形框赋予的数字标识可以表示相应的线程,如图所示,方形框对应的标记包括1、2、3、4,分别表示线程1、线程2、线程3和线程4,例如,线程1执行rootbiz开始的两个子业务流程:step1和step2分别对应的子业务流程,和结尾的一个子业务流程:step9对应的子业务流程,以及执行sub_biz1中的两个子业务流程:step3和step4分别对应的子业务流程;而线程2执行step1和step2分别对应的子业务流程;线程3执行step8对应的子业务流程;线程4执行step7对应的子业务流程。一个业务可以包含若干个业务流程节点,rootbiz表示目标业务流程,在rootbiz中包含了两个业务流程节点,即长方形框rootbiz中的step1和step2。sub_biz1为在step2执行完成后新出现的业务流程,在sub_biz1中包含了两个业务流程节点,即长方形sub_biz1中的step1和step2,sub_biz1中的step1对应的子业务流程执行完成之后,拆分出了两个子业务流程,即sub_biz1中的step2和另一个长方形中的step2;随着sub_biz1还可以继续拆分出新的子业务流程sub_sub_biz和sub_sub_biz_otherthread。而最终执行完成后,rootbiz中的step3对应的子业务流程执行完成之后,表示目标业务流程已全部执行完成。

由图3可以得知,在同一执行路径上的子业务流程可以由同一线程执行,而在某一业务流程节点处出现两个并列子业务流程时,则其中一个子业务流程调用其它线程执行。

可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。

进而,在本发明中,可以依据各线程的调用顺序,在空业务流程图中添加各线程,及与各线程对应的业务流程节点,以生成业务流程拓扑图。

在生成业务流程拓扑图之后,执行步骤204。

步骤205:获取各线程所处的执行路径。

在生成业务流程拓扑图之后,可以根据业务流程拓扑图获取各线程所处的执行路径,具体地,以下述优选实施例进行描述。

在本发明的一种优选实施例中,上述步骤205可以包括:

子步骤a:依据所述业务流程拓扑图,查找各所述线程所处的执行路径。

在本发明实施例中,可以根据业务路程拓扑图查找各线程所处的执行路径,如图3所示,在某一个子业务流程发生错误后,可以记录下发生错误的子业务流程所对应的业务流程节点,在最终上报前通过错误的业务流程节点(即本发明实施例中的异常业务流程节点)向上回溯依次设置查找的路径,合并不同线程的业务流程节点,从而获取到异常业务流程节点所处的路径。

通过上述方式,可以获取各线程所处的执行路径,可以理解地,一个线程可能处于一条执行路径上,也可能处于多条执行路径上,具体地,可以根据实际情况而定。

在获取各线程所处的执行路径之后,执行步骤206。

步骤206:建立并保存各所述线程与各所述执行路径之间的映射关系。

在获取各线程所处的执行路径之后,可以建立各线程与各执行路径之间的映射关系,并将该映射关系进行保存。

具体地,在一条执行路径对应于两个或两个以上的线程时,可以建立该执行路径与多个线程之间的映射关系,并记录下执行路径上具体在哪个业务流程节点出现了其它的线程,从而便于后续过程中通过线程合并的方式查找异常业务流程节点所处的执行路径。

步骤207:在各所述业务流程节点添加对应的监控程序;所述监控程序中包含所述目标监控程序。

在为目标业务流程按照业务流程节点进行子业务流程的划分之后,预先在各业务流程节点处添加有监控程序,通过监控程序可以获取相应的子业务流程的流程信息,进而可以根据获取的流程信息进行后续的分析过程,以判定发生异常的原因。

在多个监控程序中包含有下述步骤中提及的目标监控程序,目标监控程序是指添加于待处理业务流程节点的监控程序。

在各业务流程节点处添加对应的监控程序之后,执行步骤208。

步骤208:在监测到目标业务流程出现异常时,识别出预先为所述目标业务流程对应的业务处理链路配置的至少一个业务流程节点。

在监测到目标业务流程出现异常时,可以识别出预先为目标业务流程对应的业务处理链路配置的至少一个业务流程节点,具体地,识别方式可以为:在业务流程的节点处预先添加有插桩代码,可以根据插桩代码识别出在业务处理链路中配置的业务流程节点;当然,也可以根据业务处理链路绘制相应的业务流程拓扑图,可以从拓扑图中识别出预先配置的业务流程节点。

在具体实现中,本领域技术人员还可以采用识别方式识别出在业务处理链路中配置的业务流程节点,本发明实施例在此不再加以一一赘述。

在识别出预先为目标业务流程对应的业务处理链路配置的至少一个业务流程节点之后,执行步骤209。

步骤209:运行各所述业务流程节点处预先添加的插桩代码,确定异常业务流程节点。

插桩代码是指在业务流程节点处添加的代码,在业务流程节点对应的业务流程的运行过程中,插桩代码可以自动记录运行产生的日志信息,并对各插桩代码记录的日志信息进行保存。

异常业务流程节点是指目标业务流程在运行过程中发生异常的业务流程节点,异常业务流程节点为至少一个业务流程节点中的一个业务流程节点,例如,目标业务流程包括a、b、c三个业务流程节点,在a节点发生异常时,则a节点即为异常业务流程节点。

在识别出预先为目标业务流程对应的业务处理链路配置的至少一个业务流程节点之后,可以运行预先添加于各业务流程节点处的插桩代码,以对记录的日志信息进行分析,从而确定出至少一个业务流程节点中的异常业务流程节点。

在运行各业务流程节点处预先添加的插桩代码,确定异常业务流程节点之后,执行步骤210。

步骤210:依据线程与执行路径之间的映射关系,确定目标线程对应的异常执行路径。

目标线程是指用于执行异常业务流程节点对应的异常子业务流程。

异常执行路径即是指异常业务流程节点对应的异常业务流程所处的执行路径。

在目标业务流程处理完成之后,可以建立线程与执行路径之间的映射关系,通过该映射关系查找出目标线程对应的执行路径,即异常执行路径。

当然,对于一条执行路径上可能包含多个线程的情况下,可以采用合并线程的方式,确定出异常业务流程节点所处的异常执行路径,具体地,首先,可以获取执行异常子业务流程的线程,并获取执行目标业务流程中的第一个子业务流程的线程,通过线程的调用方式,逐步合并从执行第一个子业务流程的线程,到执行异常子业务流程的线程、及在异常子业务流程后是否出现执行其它分支业务流程的线程,从而可以形成一条完整的执行路径,即异常执行路径。

在依据线程与执行路径之间的映射关系,确定目标线程对应的异常执行路径之后,执行步骤211,或执行步骤212。

步骤211:当所述异常执行路径上的所有业务流程节点的个数小于阈值节点个数时,将所述所有业务流程节点均作为所述待处理业务流程节点。

阈值节点个数是指由业务人员预先设置与异常执行路径上的所有业务节点的个数对应的阈值,阈值节点个数可以为8、10、15等等,具体地,可以根据业务需求而定,本发明实施例对此不加以限制。

待处理业务流程节点是指位于异常执行路径上的业务流程节点,可以理解地,在异常执行路径上仅有一个业务流程节点时,即异常业务流程节点,可以将该异常业务流程节点作为待处理业务流程节点。而在异常执行路径上有多个业务流程节点时,可以将异常执行路径上的多个业务流程节点中的某几个业务流程节点作为待处理业务流程节点,具体地,可以从多个业务流程节点中选择异常业务流程节点周围的一个或多个业务流程节点作为待处理业务流程节点。

具体地,在异常执行路径上的所有业务流程节点的个数小于阈值节点个数时,则将异常执行路径上的所有业务流程节点均作为待处理业务流程节点。

步骤212:当所述所有业务流程节点的个数大于或等于所述阈值节点个数时,根据所述所有业务流程节点在所述异常执行路径上的位置信息,选择出所述待处理业务流程节点。

在异常执行路径上的所有业务流程节点的个数大于或等于阈值节点个数时,可以根据所有业务流程节点在异常执行路径上的位置信息,选择出待处理业务流程节点,具体地,以下述优选实施例进行详细描述。

在本发明的一种优选实施例中,上述步骤212可以包括:

子步骤b1:依据所述位置信息,获取所述异常执行路径上满足如下条件的待处理业务流程节点:位于所述异常业务流程节点之前的第一个数的第一业务流程节点,位于所述异常业务流程节点之后的第二个数的第二业务流程节点,位于所述异常执行路径的开头的第三个数的第三业务流程节点,及位于所述异常执行路径的结尾的第四个数的第四业务流程节点;

子步骤b2:将所述第一业务流程节点、所述第二业务流程节点、所述第三业务流程节点和所述第四业务流程节点,作为所述待处理业务流程节点。

在本发明实施例中,第一业务流程节点是指在异常执行路径上位于异常业务流程节点之前的第一个数的业务流程节点。

第二业务流程节点是指在异常执行路径上位于异常业务流程节点之后的第二个数的业务流程节点。

第三业务流程节点是指在异常执行路径上,按照业务流程节点对应的子业务流程的执行先后顺序,执行顺序最先的第三个数的业务流程节点。

第四业务流程节点是指在在异常执行路径上,按照业务流程节点对应的子业务流程的执行先后顺序,执行顺序最后的第四个数的业务流程节点。

上述第一个数、第二个数、第三个数、第四个数分别对应的数值可以全部相同,也可以部分相同,也可以全部不同,具体地,可以根据实际情况而定,本发明实施例对此不加以限制。

在异常执行路径上的所有业务流程节点的个数大于或等于阈值节点个数时,可以依据所有业务流程节点在异常执行路径上的位置信息,获取位于异常业务流程节点之前的第一个数的第一业务流程节点、位于异常业务流程节点之后的第二个数的第二业务流程节点、位于异常执行路径的开头的第三个数的第三业务流程节点和位于异常执行路径的结尾的第四个数的第四业务流程节点,例如,当阈值节点个数为11,当异常执行路径上的所有业务流程节点的个数大于11时,可以选择开头3个业务流程节点+异常节点前的2个业务流程节点+异常业务流程节点+异常节点后的2个业务流程节点+结尾3个业务流程节点,作为待处理业务流程节点。

可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明实施例的唯一限制。

在获取待处理业务流程节点之后,执行步骤213。

步骤213:启动预先添加于所述待处理业务流程节点处的目标监控程序,获取所述待处理业务流程节点对应的业务流程信息。

在为目标业务流程按照业务流程节点进行子业务流程的划分之后,预先在各业务流程节点处添加有监控程序,通过监控程序可以获取相应的子业务流程的流程信息,进而可以根据获取的流程信息进行后续的分析过程,以判定发生异常的原因。

目标监控程序是指添加于待处理业务流程节点的监控程序。

在获取位于异常执行路径上的待处理业务流程节点之后,可以启动预先添加于待处理业务流程节点处的目标监控程序,通过目标监控程序,从而可以获取到待处理业务流程节点对应的业务流程信息,即待处理业务流程节点对应的子业务流程的业务流程信息,进而,可以根据获取的业务流程信息进行分析,以确定发生异常的原因所在。

本发明实施例通过获取出现异常的节点的上下文信息,以便于对出现异常的业务节点进行详细分析,可以及时准确的查找出发生异常的原因,提高了异常排查的准确率。

本发明实施例提供的信息获取方法,通过在监测到目标业务流程出现异常时,识别出预先为目标业务流程对应的业务链路配置的至少一个业务流程节点,运行各业务流程节点处预先添加的插桩代码,确定异常业务流程节点,异常业务流程节点为至少一个业务流程节点中的一个业务流程节点,依据线程与执行路径之间的映射关系,确定目标线程对应的异常执行路径,目标线程用于执行异常业务流程节点对应的异常子业务流程,异常子业务流程为目标业务流程中的一个子业务流程,获取位于异常执行路径上的待处理业务流程节点,待处理业务流程节点包括异常业务流程节点,并启动预先添加于待处理业务流程节点处的目标监控程序,获取待处理业务流程节点对应的业务流程信息。本发明实施例通过获取异常执行路径上的待处理业务流程节点,并获取待处理业务流程节点对应的业务流程信息,从而可以获取异常节点周围的上下文信息,以便于对出现异常的业务节点进行详细分析,可以及时准确的查找出发生异常的原因,提高了异常排查的准确率,可以使业务人员及时对应用软件进行修复。

参照图4,示出了本发明实施例提供的一种信息获取装置的结构示意图,具体可以包括如下模块:

业务节点识别模块301,用于在监测到目标业务流程出现异常时,识别出预先为所述目标业务流程对应的业务处理链路配置的至少一个业务流程节点;

异常节点确定模块302,用于运行各所述业务流程节点处预先添加的插桩代码,确定异常业务流程节点;所述异常业务流程节点为所述至少一个业务流程节点中的一个业务流程节点;

异常路径确定模块303,用于依据线程与执行路径之间的映射关系,确定目标线程对应的异常执行路径;所述目标线程用于执行所述异常业务流程节点对应的异常子业务流程,所述异常子业务流程为所述目标业务流程中的一个子业务流程;

待处理节点获取模块304,用于获取位于所述异常执行路径上的待处理业务流程节点;所述待处理业务流程节点包括所述异常业务流程节点;

业务信息获取模块305,用于启动预先添加于所述待处理业务流程节点处的目标监控程序,获取所述待处理业务流程节点对应的业务流程信息。

本发明实施例提供的信息获取装置,通过在监测到目标业务流程出现异常时,识别出预先为目标业务流程对应的业务链路配置的至少一个业务流程节点,运行各业务流程节点处预先添加的插桩代码,确定异常业务流程节点,异常业务流程节点为至少一个业务流程节点中的一个业务流程节点,依据线程与执行路径之间的映射关系,确定目标线程对应的异常执行路径,目标线程用于执行异常业务流程节点对应的异常子业务流程,异常子业务流程为目标业务流程中的一个子业务流程,获取位于异常执行路径上的待处理业务流程节点,待处理业务流程节点包括异常业务流程节点,并启动预先添加于待处理业务流程节点处的目标监控程序,获取待处理业务流程节点对应的业务流程信息。本发明实施例通过获取异常执行路径上的待处理业务流程节点,并获取待处理业务流程节点对应的业务流程信息,从而可以获取异常节点周围的上下文信息,以便于对出现异常的业务节点进行详细分析,可以及时准确的查找出发生异常的原因,提高了异常排查的准确率,可以使业务人员及时对应用软件进行修复。

参照图5,示出了本发明实施例提供的一种信息获取装置的结构示意图,具体可以包括如下模块:

流程线程获取模块401,用于在所述目标业务流程的执行过程中,获取所述目标业务流程包含的至少一个子业务流程,及执行各所述子业务流程的线程;所述异常子业务流程为所述至少一个子业务流程中的一个子业务流程;

业务节点确定模块402,用于确定与各所述子业务流程对应的业务流程节点;

空流程图绘制模块403,用于绘制与所述目标业务流程对应的空业务流程图;

流程拓扑图生成模块404,用于依据各所述线程的调用顺序,在所述空业务流程图中添加各所述线程,及与各所述线程对应的业务流程节点,以生成业务流程拓扑图;

执行路径获取模块405,用于获取各线程所处的执行路径;

映射关系建立模块406,用于建立并保存各所述线程与各所述执行路径之间的映射关系;

监控程序添加模块407,用于在各所述业务流程节点添加对应的监控程序;所述监控程序中包含所述目标监控程序;

业务节点识别模块408,用于在监测到目标业务流程出现异常时,识别出预先为所述目标业务流程对应的业务处理链路配置的至少一个业务流程节点;

异常节点确定模块409,用于运行各所述业务流程节点处预先添加的插桩代码,确定异常业务流程节点;所述异常业务流程节点为所述至少一个业务流程节点中的一个业务流程节点;

异常路径确定模块410,用于依据线程与执行路径之间的映射关系,确定目标线程对应的异常执行路径;所述目标线程用于执行所述异常业务流程节点对应的异常子业务流程,所述异常子业务流程为所述目标业务流程中的一个子业务流程;

待处理节点获取模块411,用于获取位于所述异常执行路径上的待处理业务流程节点;所述待处理业务流程节点包括所述异常业务流程节点;

业务信息获取模块412,用于启动预先添加于所述待处理业务流程节点处的目标监控程序,获取所述待处理业务流程节点对应的业务流程信息。

优选地,所述执行路径获取模块405包括:

执行路径查找子模块,用于依据所述业务流程拓扑图,查找各所述线程所处的执行路径。

优选地,所述待处理节点获取模块411包括:

第一节点获取子模块4111,用于当所述异常执行路径上的所有业务流程节点的个数小于阈值节点个数时,将所述所有业务流程节点均作为所述待处理业务流程节点;

第二节点获取子模块4112,用于当所述所有业务流程节点的个数大于或等于所述阈值节点个数时,根据所述所有业务流程节点在所述异常执行路径上的位置信息,选择出所述待处理业务流程节点。

优选地,所述第二节点获取子模块4112包括:

异常节点获取子模块,用于依据所述位置信息,获取所述异常执行路径上满足如下条件的待处理业务流程节点:位于所述异常业务流程节点之前的第一个数的第一业务流程节点,位于所述异常业务流程节点之后的第二个数的第二业务流程节点,位于所述异常执行路径上的第三个数的第三业务流程节点,及位于所述异常执行路径的结尾的第四个数的第四业务流程节点;

待处理节点获取子模块,用于将所述第一业务流程节点、所述第二业务流程节点、所述第三业务流程节点和所述第四业务流程节点,作为所述待处理业务流程节点。

本发明实施例提供的信息获取装置,通过在监测到目标业务流程出现异常时,识别出预先为目标业务流程对应的业务链路配置的至少一个业务流程节点,运行各业务流程节点处预先添加的插桩代码,确定异常业务流程节点,异常业务流程节点为至少一个业务流程节点中的一个业务流程节点,依据线程与执行路径之间的映射关系,确定目标线程对应的异常执行路径,目标线程用于执行异常业务流程节点对应的异常子业务流程,异常子业务流程为目标业务流程中的一个子业务流程,获取位于异常执行路径上的待处理业务流程节点,待处理业务流程节点包括异常业务流程节点,并启动预先添加于待处理业务流程节点处的目标监控程序,获取待处理业务流程节点对应的业务流程信息。本发明实施例通过获取异常执行路径上的待处理业务流程节点,并获取待处理业务流程节点对应的业务流程信息,从而可以获取异常节点周围的上下文信息,以便于对出现异常的业务节点进行详细分析,可以及时准确的查找出发生异常的原因,提高了异常排查的准确率,可以使业务人员及时对应用软件进行修复。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

可选的,本发明还提供一种终端设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述信息获取方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

可选的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的信息获取方法中的步骤。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本发明实施例中,通过在监测到目标业务流程出现异常时,识别出预先为目标业务流程对应的业务链路配置的至少一个业务流程节点,运行各业务流程节点处预先添加的插桩代码,确定异常业务流程节点,异常业务流程节点为至少一个业务流程节点中的一个业务流程节点,依据线程与执行路径之间的映射关系,确定目标线程对应的异常执行路径,目标线程用于执行异常业务流程节点对应的异常子业务流程,异常子业务流程为目标业务流程中的一个子业务流程,获取位于异常执行路径上的待处理业务流程节点,待处理业务流程节点包括异常业务流程节点,并启动预先添加于待处理业务流程节点处的目标监控程序,获取待处理业务流程节点对应的业务流程信息。本发明实施例通过获取异常执行路径上的待处理业务流程节点,并获取待处理业务流程节点对应的业务流程信息,从而可以获取异常节点周围的上下文信息,以便于对出现异常的业务节点进行详细分析,可以及时准确的查找出发生异常的原因,提高了异常排查的准确率,可以使业务人员及时对应用软件进行修复。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本发明所提供的一种信息获取方法、一种信息获取装置、一种终端设备和一种计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1