CN113238855B - 一种路径检测方法及装置 - Google Patents
一种路径检测方法及装置 Download PDFInfo
- Publication number
- CN113238855B CN113238855B CN202110789319.7A CN202110789319A CN113238855B CN 113238855 B CN113238855 B CN 113238855B CN 202110789319 A CN202110789319 A CN 202110789319A CN 113238855 B CN113238855 B CN 113238855B
- Authority
- CN
- China
- Prior art keywords
- node
- path
- child
- nodes
- determining
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种路径检测方法及装置,该方法为:确定待检测的目标任务,并确定所述目标任务中各个节点对应的子节点;确定所述各个节点的子节点是否还包括下一级子节点,当确定任一节点的子节点还包括下一级子节点时,将所述任一节点对应的子节点缓存至预设缓存介质中;对所述目标任务对应的各个路径进行遍历,确定所述预设缓存介质中是否包括所述各个路径中任一路径的当前遍历的子节点;当确定所述预设缓存介质中包括所述任一路径当前遍历的子节点,则将所述任一路径确定为死循环路径。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种路径检测方法及装置。
背景技术
随着大数据技术的发展和数据中台的普及,一个复杂的业务流可能需要成百上千个节点组成。具体的,用户可以创建业务对应的子节点,并根据实际的业务逻辑将节点连接,形成节点之间的路径关系,组成一个业务流程图,并基于该业务流程图实现复杂的业务流的运行。
然而,面对如此多的节点,用户手动或者通过血缘解析智能连接子节点时,难免会将子节点与子节点之间组成环。而有环的路径在任务运行的时候,可能陷入死循环当中,导致任务无法正常进行。现有技术大多数都是任务在运行的时候进行死循环的检测或者只是简单的判断是否有环,但当子节点的数量较多,且环的个数非常多时,无法高效的帮助用户找出环的具体路径,以及无法确定死循环的路径。
发明内容
本发明实施例提供一种路径检测方法及装置,通过该方法可以实现死循环路径的判断,并确定出死循环路径所包括的节点。
第一方面,提供一种路径检测方法,该方法包括:
确定待检测的目标任务,并确定所述目标任务中各个节点对应的子节点;
确定所述各个节点的子节点是否还包括下一级子节点,当确定任一节点的子节点还包括下一级子节点时,将所述任一节点对应的子节点缓存至预设缓存介质中;
对所述目标任务对应的各个路径进行遍历,确定所述预设缓存介质中是否包括所述各个路径中任一路径当前遍历的子节点;
当确定所述预设缓存介质中包括所述任一路径当前遍历的子节点,则将所述任一路径确定为死循环路径。
在一种可能的实施方式中,将所述任一路径确定为死循环路径之后,所述方法还包括:
当确定所述任一路径中的第一节点为所述预设缓存介质中的节点,则确定所述第一节点的上一跳的节点;
当确定所述上一跳的节点包括除所述第一节点外的第一子节点,确定所述第一子节点是否存在于所述任一路径对应的所述预设缓存介质中;
当确定所述第一子节点不存在于所述任一路径对应的所述预设缓存介质中,则继续确定所述第一子节点的下一级的子节点是否存在于所述任一路径对应的所述预设缓存介质中,直至所述各个路径遍历完成,以确定所述各个路径中的死循环路径。
在一种可能的实施方式中,确定待检测的目标任务,并确定所述目标任务中各个节点对应的子节点,包括:
确定所述待检测的目标任务中各个节点对应的业务逻辑;其中,所述业务逻辑用于表征各个节点与除其自身外其它节点的关系;
基于所述业务逻辑,确定所述各个节点对应的子节点。
在一种可能的实施方式中,所述预设缓存介质为栈。
在一种可能的实施方式中,所述方法还包括:
发出提示信息,并反馈所述死循环路径包括的各个节点;
其中,所述提示信息用于提示所述目标任务对应的各个节点的路径中存在死循环路径。
第二方面,提供一种路径检测装置,所述装置包括:
确定单元,用于确定待检测的目标任务,并确定所述目标任务中各个节点对应的子节点;
缓存单元,用于确定所述各个节点的子节点是否还包括下一级子节点,当确定任一节点的子节点还包括下一级子节点时,将所述任一节点对应的子节点缓存至预设缓存介质中;
处理单元,用于对所述目标任务对应的各个路径进行遍历,确定所述预设缓存介质中是否包括所述各个路径中任一路径当前遍历的子节点;
所述处理单元,还用于当确定所述预设缓存介质中包括所述任一路径当前遍历的子节点,则将所述任一路径确定为死循环路径。
在一种可能的实施方式中,所述装置还包括第一处理单元,用于:
当确定所述任一路径中的第一节点为所述预设缓存介质中的节点,则确定所述第一节点的上一跳的节点;
当确定所述上一跳的节点包括除所述第一节点外的第一子节点,确定所述第一子节点是否存在于所述任一路径对应的所述预设缓存介质中;
当确定所述第一子节点不存在于所述任一路径对应的所述预设缓存介质中,则继续确定所述第一子节点的下一级的子节点是否存在于所述任一路径对应的所述预设缓存介质中,直至所述各个路径遍历完成,以确定所述各个路径中的死循环路径。
在一种可能的实施方式中,所述确定单元,用于:
确定所述待检测的目标任务中各个节点对应的业务逻辑;其中,所述业务逻辑用于表征各个节点与除其自身外其它节点的关系;
基于所述业务逻辑,确定所述各个节点对应的子节点。
在一种可能的实施方式中,所述预设缓存介质为栈。
在一种可能的实施方式中,所述装置还包括输出单元,用于:
发出提示信息,并反馈所述死循环路径包括的各个节点;
其中,所述提示信息用于提示所述目标任务对应的各个节点的路径中存在死循环路径。
第三方面,提供一种计算机设备,所述计算机设备包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行第一方面中的任一方法包括的步骤。
第四方面,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行实现如第一方面中的任一方法包括的步骤。
本发明的实施例提供的技术方案至少带来以下有益效果:
在本发明实施例中,当确定待检测的目标任务后,可以确定目标任务中各个节点对应的子节点,然后可以确定各个节点的子节点是否还包括下一级子节点,当确定任一节点的子节点还包括下一级子节点时,将任一节点对应的子节点缓存至预设缓存介质中。也就是说,可以先将目标任务对应包括多个子节点的下一级子节点进行缓存。进一步地,可以对目标任务对应的各个路径进行遍历,当确定预设缓存介质中包括任一路径当前遍历的子节点,则将任一路径确定为死循环路径。
可见,本发明实施例中是将目标任务对应的节点先预先缓存至预设缓存介质中,然后在遍历目标任务对应的任一路径时,确定该路径当前遍历的子节点是否存在于预设缓存介质中,当该路径当前遍历的子节点存在于预设缓存介质中,即可以确定该路径的节点在之前对该路径的执行过程中出现过,从而确定该路径为死循环路径,这样的方式,可以更准确且快速的确定出目标任务对应的死循环路径,即可以在对目标任务正式执行之前确定出死循环路径,从而避免目标任务在执行时出现死循环路径的情况出现。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理,并不构成对本发明的不当限定。
图1是根据一示例性实施例示出的一种应用场景的示意图;
图2为本发明实施例中路径检测方法的流程图;
图3为本发明实施例中目标任务对应的各个路径的示意图;
图4为本发明实施例中路径检测装置的结构框图;
图5为本发明实施例中计算机设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
如前所述,现有技术大多数都是任务在运行的时候进行死循环的检测或者只是简单的判断是否有环,但当子节点的数量较多,且环的个数非常多时,无法高效的帮助用户找出环的具体路径,以及无法确定死循环的路径。
鉴于此,本发明提供了一种路径检测方法,通过该方法,可以在目标任务执行之前,检测出目标任务对应的各个路径是否包括死循环路径,从而可以更好的实现目标任务的执行。
介绍完本发明实施例的设计思想之后,下面对本发明实施例中的技术方案适用的应用场景做一些简单介绍,需要说明的是,本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
请参见图1所示,为发明实施例能够适用的一种场景示意图,该场景中包括电子设备101、计算机设备102,本发明实施例的路径检测方法可以通过图1中电子设备101和计算机设备102协同来实现。
在具体的实施过程中,前述的电子设备101可以构建目标任务。当电子设备101确定目标任务对应的数据和业务逻辑之后,可以将数据和业务逻辑通过网络103发送给计算机设备102。
其中,计算机设备102可以包括一个或多个处理器1021、存储器1022、与电子设备101交互的I/O接口1023。在具体的实施过程中,可以是多个计算机设备102与多个电子设备101交互,也可以是一个计算机设备102与多个电子设备101交互,还可以是一个计算机设备102与一个电子设备101交互,本发明实施例中不做限制。具体的,计算机设备102还可以与其它电子设备连接,向其它电子设备发送提示信息,提示存在死循环路径,其它电子设备例如是执行业务处理监督人员相关的电子设备,图1中以一个计算机设备102与一个电子设备101进行交互为例进行示出。
在本发明实施例中,计算机设备102可以通过I/O接口1023接收电子设备101发送的数据和业务逻辑,然后采用处理器1021对数据进行处理,且可以将处理后的信息存储在存储器1022中。
电子设备101与计算机设备102之间可以通过一个或者多个网络103进行通信连接。该网络103可以是有线网络,也可以是无线网络,例如无线网络可以是移动蜂窝网络,或者可以是无线保真(WIreless-Fidelity,WIFI)网络,当然还可以是其他可能的网络,本发明实施例对此不做限制。
为进一步说明本发明实施例提供的路径检测方法的方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本发明实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本发明实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的应用环境)。
以下结合图2所示的方法流程图对本发明实施例中路径检测方法进行说明,图2所示的各步骤可以由如图1所示的计算机设备执行。在具体实施过程中,该计算机设备可以是服务器,例如是个人计算机、大中型计算机、计算机集群,等等。
步骤201:确定待检测的目标任务,并确定目标任务中各个节点对应的子节点。
在本发明实施例中,可以先确定待检测的目标任务,然后可以确定待检测的目标任务中各个节点对应的业务逻辑;其中,业务逻辑用于表征各个节点与除其自身外其它节点的关系。进一步地,可以基于业务逻辑,确定各个节点对应的子节点。
请参见附图3,图3为本发明实施例示出的一种目标任务对应的多个路径的示意图。其中,图3中箭头出发方向对应的节点为业务节点,箭头指向的节点为该业务节点的子节点。例如,图3中所示出的节点h1的子节点为节点h2、节点h4以及节点h3,节点h3的子节点为节点h6和节点h7。可见,节点h1执行完之后可执行节点h2、节点h3以及节点h4,即节点h1与节点h2、节点h3以及节点h4之间的业务逻辑是执行节点h1的业务流之后可执行节点h2、节点h3以及节点h4对应的业务流。
步骤202:确定各个节点的子节点是否还包括下一级子节点,当确定任一节点的子节点还包括下一级子节点时,将任一节点对应的子节点缓存至预设缓存介质中。
在本发明实施例中,可以确定各个节点的子节点是否还包括下一级子节点,当确定任一节点的子节点还包括下一级子节点时,可以将任一节点对应的子节点缓存至预设缓存介质中。
例如,请继续参见图3,节点h2、节点h3以及节点h4分别为节点h1的子节点,且节点h2包括下一级子节点即节点h6和节点h5、节点h3包括下一级子节点即节点h6和节点h7,以及节点h4包括下一级子节点即节点h7和节点h8,那么,可以将节点h1对应的下一级子节点即节点h2、节点h3以及节点h4对应缓存,将节点h2对应的下一级子节点即节点h6和节点h5对应缓存,将节点h3对应的下一级子节点即节点h6和节点h7对应缓存,将节点h4对应的下一级子节点即节点h7和节点h8对应缓存。
此外,在实际实施过程中,还可以基于缓存的节点和其对应的子节点,对应确定节点集,例如,请继续参见图3,可以将节点h1、节点h2、节点h6以及节点h5作为一组节点集缓存至预设缓存介质中,且可以将节点h1、节点h3、节点h6以及节点h7作为一组节点集缓存至预设缓存介质中,当然,还可以将节点h1、节点h4、节点h7以及节点h8作为一组节点集缓存至预设缓存介质中,直至将各自对应的子节点的下一级子节点作为一组节点集缓存至预设缓存介质中。需要说明的是,在本发明实施例中,预设缓存介质中可以包括多组节点集,且可以基于多组节点集对应确定各个路径。
也就是说,可以按照节点的子节点以及子节点对应的下一级子节点的接续性,将各个节点、子节点以及子节点的下一级子节点对应缓存到预设缓存介质中,即预设缓存介质中包括多个级且连接的节点。
示例性的,预设缓存介质可以为栈,即可以基于栈的先入后出等特性,更快且准确的从预设缓存介质中查找待比对的节点。
步骤203:对目标任务对应的各个路径进行遍历,确定预设缓存介质中是否包括各个路径中任一路径的当前遍历的子节点。
步骤204:当确定预设缓存介质中包括任一路径的当前遍历的子节点,则将任一路径确定为死循环路径。
在本发明实施例中,目标任务可以对应多个路径,可以确定多个路径中任一路径是否包括死循环路径。为了更好的对本发明实施例提供的方案进行说明,后文中以多个路径中任一路径确定死循环路径为例进行说明。
具体的,可以对目标任务对应的任一路径进行遍历,并确定任一路径已遍历的路径对应的预设缓存介质中是否包括当前遍历的子节点,当确定预设缓存介质中包括当前遍历的子节点,则将任一路径确定为死循环路径。也就是说,是基于当前遍历的子节点存在于已遍历过的节点中来确定该路径为死循环路径。
例如,请继续参见图3,路径1包括节点h1、节点h4、节点h8、节点h12、节点h17、节点h8,对路径1进行遍历时,当遍历到节点h8时,可以确定当前遍历的子节点为节点h8,且已遍历的路径对应的预设缓存介质中缓存的节点为节点1、节点h4、节点h8、节点h12以及节点h17,则可以确定预设缓存介质中缓存的节点包括当前遍历的子节点h8,则可以确定路径1为死循环路径。
在本发明实施例中,在步骤204之后,当确定任一路径中的第一节点为预设缓存介质中的节点,则确定第一节点的上一跳的节点;当确定上一跳的节点包括除第一节点外的第一子节点,确定第一子节点是否存在于任一路径对应的预设缓存介质中;当确定第一子节点不存在于任一路径对应的预设缓存介质中,则继续确定第一子节点的下一级的子节点是否存在于任一路径对应的预设缓存介质中,直至各个路径遍历完成,以确定各个路径中的死循环路径。
例如,请继续参见图3,以前述例子路径1继续为例,则可以确定节点h8为第一节点,且存在于预设缓存介质中,从而可以确定节点h8的上一跳节点为节点h4,且可以确定节点h4仅包括节点h8和节点h7两个下一级子节点,从而可以确定节点h4除节点h8外的下一级子节点为节点h7,即第一子节点为节点h7,然后确定节点h7的子节点即节点h11和节点h12是否存在于预设缓存介质中,若存在,则确定从节点h4、节点h7、节点h12、节点h17以及节点h8为一个循环路径,直至整个目标任务对应的各个路径遍历完成,确定出目标任务对应的各个路径中所包括的死循环路径。
可见,在本发明实施例中,当确定出当前遍历的任一路径中存在死循环路径之后,还继续确定该死循环路径后的路径是否还包括死循环路径,即任一路径中是否存在多个死循环路径。需要说明的是,可以采用前述的方案对目标任务对应的各个路径进行处理,从而确定各个路径是否存在一个或多个死循环路径。
在本发明实施例中,当确定任一路径存在死循环路径时,可以发出提示信息,并反馈死循环路径包括的各个节点;其中,提示信息用于提示所述目标任务对应的各个节点的路径中存在死循环路径。这样的方式,可以在目标任务执行之前实现对死循环路径的检验,将死循环路径查找出来,使用户更加方便快捷的找到问题所在,进行更改,以更好的执行目标任务。
基于同一发明构思,本发明实施例提供了一种用于路径检测装置,该路径检测装置能够实现前述的路径检测方法对应的功能。该路径检测装置可以是硬件结构、软件模块、或硬件结构加软件模块。该路径检测装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图4所示,该路径检测装置包括:确定单元401、缓存单元402以及处理单元403,其中:
确定单元401,用于确定待检测的目标任务,并确定所述目标任务中各个节点对应的子节点;
缓存单元402,用于确定所述各个节点的子节点是否还包括下一级子节点,当确定任一节点的子节点还包括下一级子节点时,将所述任一节点对应的子节点缓存至预设缓存介质中;
处理单元403,用于对所述目标任务对应的各个路径进行遍历,确定所述预设缓存介质中是否包括所述各个路径中任一路径当前遍历的子节点;
所述处理单元403,还用于当确定所述预设缓存介质中包括所述任一路径当前遍历的子节点,则将所述任一路径确定为死循环路径。
在一种可能的实施方式中,所述装置还包括第一处理单元,用于:
当确定所述任一路径中的第一节点为所述预设缓存介质中的节点,则确定所述第一节点的上一跳的节点;
当确定所述上一跳的节点包括除所述第一节点外的第一子节点,确定所述第一子节点是否存在于所述任一路径对应的所述预设缓存介质中;
当确定所述第一子节点不存在于所述任一路径对应的所述预设缓存介质中,则继续确定所述第一子节点的下一级的子节点是否存在于所述任一路径对应的所述预设缓存介质中,直至所述各个路径遍历完成,以确定所述各个路径中的死循环路径。
在一种可能的实施方式中,所述确定单元401,用于:
确定所述待检测的目标任务中各个节点对应的业务逻辑;其中,所述业务逻辑用于表征各个节点与除其自身外其它节点的关系;
基于所述业务逻辑,确定所述各个节点对应的子节点。
在一种可能的实施方式中,所述预设缓存介质为栈。
在一种可能的实施方式中,所述装置还包括输出单元,用于:
发出提示信息,并反馈所述死循环路径包括的各个节点;
其中,所述提示信息用于提示所述目标任务对应的各个节点的路径中存在死循环路径。
前述的路径检测方法的实施例涉及的各步骤的所有相关内容均可以援引到本发明实施例中的路径检测装置所对应的功能模块的功能描述,在此不再赘述。
本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本发明各个实施例中的各功能模块可以集成在一个控制器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
基于同一发明构思,本发明实施例提供一种计算机设备,请参见图5所示,该计算机设备包括至少一个处理器501,以及与至少一个处理器连接的存储器502,本发明实施例中不限定处理器501与存储器502之间的具体连接介质,图5中是以处理器501和存储器502之间通过总线500连接为例,总线500在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线500可以分为地址总线、数据总线、控制总线等,为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。此外,路径检测装置还包括通信接口504,用于接收或发送数据。
在本发明实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行前述的路径检测方法中所包括的步骤。
其中,处理器501是计算机设备的控制中心,可以利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。
可选的,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器501进行设计编程,可以将前述实施例中介绍的路径检测方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的路径检测方法的步骤,如何对处理器501进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,该存储介质存储有计算机程序,当该计算机程序被处理器执行实现如前述的路径检测方法的步骤。
在一些可能的实施方式中,本发明提供的路径检测方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在控制计算机设备上运行时,所述程序代码用于使该控制计算机设备执行本说明书上述描述的根据本发明各种示例性实施方式的路径检测方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种路径检测方法,其特征在于,所述方法通过电子设备和计算机设备协同实现,所述方法包括:
所述电子设备用于构建目标任务,当所述电子设备确定所述目标任务对应的数据和业务逻辑后,将所述数据和业务逻辑发送给所述计算机设备;
所述计算机设备基于所述数据和业务逻辑,执行以下步骤:
确定所述目标任务中各个节点对应的子节点;
确定所述各个节点的子节点是否还包括下一级子节点,当确定任一节点的子节点还包括下一级子节点时,将所述任一节点对应的子节点缓存至预设缓存介质中;所述预设缓存介质对应缓存有:所述任一节点对应的所有子节点的节点组;
对所述目标任务对应的各个路径进行遍历,确定任一路径已遍历的子节点对应的所述预设缓存介质中的多个节点组,是否包括所述各个路径中任一路径的当前遍历的子节点对应的节点组;
当确定所述任一路径已遍历的子节点对应的所述预设缓存介质中的多个节点组包括所述任一路径的当前遍历的子节点对应的节点组,则将所述任一路径确定为死循环路径;
当确定所述任一路径中的第一节点对应的节点组为所述预设缓存介质中的节点组,则确定所述第一节点的上一跳的节点;
当确定所述上一跳的节点包括除所述第一节点外的第一子节点,确定所述第一子节点对应的节点组是否存在于所述任一路径对应的所述预设缓存介质中的多个节点组;
当确定所述第一子节点对应的节点组不存在于所述任一路径对应的所述预设缓存介质中的多个节点组,则继续确定所述第一子节点的下一级的子节点对应的节点组是否存在于所述任一路径对应的所述预设缓存介质中的多个节点组,直至所述各个路径遍历完成,以确定所述各个路径中的死循环路径。
2.如权利要求1所述的方法,其特征在于,确定所述目标任务中各个节点对应的子节点,包括:
确定所述目标任务中各个节点对应的业务逻辑;其中,所述业务逻辑用于表征各个节点与除其自身外其它节点的关系;
基于所述业务逻辑,确定所述各个节点对应的子节点。
3.如权利要求1所述的方法,其特征在于,所述预设缓存介质为栈。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
发出提示信息,并反馈所述死循环路径包括的各个节点;
其中,所述提示信息用于提示所述目标任务对应的各个节点的路径中存在死循环路径。
5.一种路径检测装置,其特征在于,所述装置包括:
确定单元,用于基于目标任务对应的数据和业务逻辑,确定所述目标任务中各个节点对应的子节点;其中,所述目标任务对应的数据和业务逻辑是用于构建目标任务的电子设备所发送的;
缓存单元,用于确定所述各个节点的子节点是否还包括下一级子节点,当确定任一节点的子节点还包括下一级子节点时,将所述任一节点对应的子节点缓存至预设缓存介质中;所述预设缓存介质对应缓存有:所述任一节点对应的所有子节点的节点组;
处理单元,用于对所述目标任务对应的各个路径进行遍历,确定任一路径已遍历的子节点对应的所述预设缓存介质中的多个节点组是否包括所述各个路径中任一路径当前遍历的子节点对应的节点组;
所述处理单元,还用于当确定所述任一路径已遍历的子节点对应的所述预设缓存介质中的多个节点组包括所述任一路径当前遍历的子节点对应的节点组,则将所述任一路径确定为死循环路径;
第一处理单元,用于:当确定所述任一路径中的第一节点对应的节点组为所述预设缓存介质中的节点组,则确定所述第一节点的上一跳的节点;当确定所述上一跳的节点包括除所述第一节点外的第一子节点,确定所述第一子节点是否存在于所述任一路径对应的所述预设缓存介质中;当确定所述第一子节点对应的节点组不存在于所述任一路径对应的所述预设缓存介质中的多个节点组,则继续确定所述第一子节点的下一级的子节点对应的节点组是否存在于所述任一路径对应的所述预设缓存介质中的多个节点组,直至所述各个路径遍历完成,以确定所述各个路径中的死循环路径。
6.如权利要求5所述的装置,其特征在于,所述确定单元,用于:
确定所述目标任务中各个节点对应的业务逻辑;其中,所述业务逻辑用于表征各个节点与除其自身外其它节点的关系;
基于所述业务逻辑,确定所述各个节点对应的子节点。
7.一种计算机设备,其特征在于,所述计算机设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的路径检测方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的路径检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110789319.7A CN113238855B (zh) | 2021-07-13 | 2021-07-13 | 一种路径检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110789319.7A CN113238855B (zh) | 2021-07-13 | 2021-07-13 | 一种路径检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113238855A CN113238855A (zh) | 2021-08-10 |
CN113238855B true CN113238855B (zh) | 2022-07-08 |
Family
ID=77135456
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110789319.7A Active CN113238855B (zh) | 2021-07-13 | 2021-07-13 | 一种路径检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113238855B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113848866B (zh) * | 2021-11-17 | 2023-10-24 | 青岛海信智慧生活科技股份有限公司 | 一种智能家居系统联动回路的检测方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491642A (zh) * | 2020-11-05 | 2021-03-12 | 深圳市信锐网科技术有限公司 | 一种环路检测方法、装置、交换机及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8881293B1 (en) * | 2013-07-01 | 2014-11-04 | Sap Se | Static application security testing |
CN106155898B (zh) * | 2015-04-16 | 2020-09-01 | 北京搜狗科技发展有限公司 | 一种流程图的路径获取方法及装置 |
CN108563425B (zh) * | 2018-02-27 | 2019-10-01 | 北京邮电大学 | 一种事件驱动的多流程协同处理系统 |
CN109684217B (zh) * | 2018-12-25 | 2022-06-14 | 网易(杭州)网络有限公司 | 一种游戏检测的方法及装置、电子设备、存储介质 |
-
2021
- 2021-07-13 CN CN202110789319.7A patent/CN113238855B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112491642A (zh) * | 2020-11-05 | 2021-03-12 | 深圳市信锐网科技术有限公司 | 一种环路检测方法、装置、交换机及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113238855A (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11016673B2 (en) | Optimizing serverless computing using a distributed computing framework | |
US20220317997A1 (en) | Online Upgrade Method for Household Appliance Multi-MCU System, Electronic Device and Medium | |
CN106713396A (zh) | 服务器调度方法和系统 | |
CN113238855B (zh) | 一种路径检测方法及装置 | |
CN110503180B (zh) | 模型处理方法、装置以及电子设备 | |
CN114466227B (zh) | 一种视频分析方法、装置、电子设备及存储介质 | |
CN110457132B (zh) | 一种功能对象的创建方法、装置和终端设备 | |
CN113127314B (zh) | 一种检测程序性能瓶颈的方法、装置及计算机设备 | |
CN111315026B (zh) | 信道的选择方法、装置、网关及计算机可读存储介质 | |
CN111767087A (zh) | 自适应的主题配置方法及设备 | |
CN109669735B (zh) | 基于延时注册的应用启动方法、装置和存储介质 | |
CN109815003B (zh) | 智能设备间协同计算方法、系统、智能设备和介质 | |
CN111200608B (zh) | 链路信息处理方法和装置 | |
CN112612474A (zh) | 产品移植方法、装置、存储介质和电子设备 | |
CN113779021A (zh) | 数据处理方法、装置、计算机系统及可读存储介质 | |
CN111010599A (zh) | 一种处理多场景视频流的方法、装置及计算机设备 | |
CN111476663B (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
CN111800481B (zh) | 基于互联网的网络互动方法、装置及服务器 | |
CN113469255A (zh) | 一种数据项对标的方法及装置 | |
CN116048720A (zh) | 一种k8s集群资源导入验证方法、系统及存储介质 | |
CN117632416A (zh) | 一种流程引擎触发器任务编排的方法、装置、介质和设备 | |
CN117130898A (zh) | 一种物联网模组的测试软件开发方法、装置及电子设备 | |
CN112506652A (zh) | 一种动态资源分区方法 | |
CN117910716A (zh) | 物流处理方法、系统、电子设备和存储介质 | |
CN111625358A (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 |