CN111026614B - 程序运行状态监控方法、装置、电子设备及可读存储介质 - Google Patents

程序运行状态监控方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN111026614B
CN111026614B CN201911310206.3A CN201911310206A CN111026614B CN 111026614 B CN111026614 B CN 111026614B CN 201911310206 A CN201911310206 A CN 201911310206A CN 111026614 B CN111026614 B CN 111026614B
Authority
CN
China
Prior art keywords
program
monitored
test message
identifier
running state
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
CN201911310206.3A
Other languages
English (en)
Other versions
CN111026614A (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.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology 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 Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201911310206.3A priority Critical patent/CN111026614B/zh
Publication of CN111026614A publication Critical patent/CN111026614A/zh
Application granted granted Critical
Publication of CN111026614B publication Critical patent/CN111026614B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

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

Abstract

本申请实施例提供了一种程序运行状态监控方法、装置、电子设备及存储介质,该方法包括:向待监控程序发送测试消息;其中,测试消息中携带有预设路径,预设路径为该测试消息在正常运行的待监控程序中经过的路径;监控该测试消息在待监控程序中经过的实际路径;根据实际路径与预设路径的比对结果,得到待监控程序的运行状态的监控结果。应用本申请实施例提供的程序运行状态监控方法,可以得到待监控程序处理测试消息的实际路径,通过实际路径与预设路径的比对,可以判断待监控程序是否正常的运行,从而提高了监控该程序运行状态的准确性。

Description

程序运行状态监控方法、装置、电子设备及可读存储介质
技术领域
本申请涉及监控技术领域,特别是涉及程序运行状态监控方法、装置、电子设备及可读存储介质。
背景技术
为了监控程序的运行状态,现有技术通常会检查该程序的待处理数据是否存在积压。其中,当存在积压时,则表示该程序的运行状态为异常运行。
发明人在实现本申请的过程中发现,该种检查程序的待处理数据是否存在积压的方式,只是检测程序的数据输入端是否存在数据积压,而无法监控到程序获取待处理数据后不进行处理便丢弃的情况。也就是说,现有技术中无法准确地对程序的运行状态进行监控。
发明内容
本申请实施例的目的在于提供程序运行状态监控方法,以实现准确地对程序的运行状态进行监控,提高监控该程序运行状态的准确性。具体技术方案如下:
第一方面,提供了一种程序运行状态监控方法,该方法包括:
向待监控程序发送测试消息;其中,测试消息中携带有预设路径,预设路径为测试消息在正常运行的待监控程序中经过的路径。
监测该测试消息在待监控程序中经过的实际路径。
根据实际路径与预设路径的比对结果,得到待监控程序的运行状态的监控结果。
可选的,预设路径包括:测试消息在正常运行的待监控程序中经过的第一程序模块的第一标识。
实际路径包括:向待监控程序发送测试消息之后,测试消息在待监控程序中经过的第二程序模块的第二标识。
相应的,根据实际路径与预设路径的比对结果,得到待监控程序的运行状态的监控结果,包括:
根据第一标识和第二标识的比对结果,得到待监控程序的运行状态的监控结果。
可选的,预设路径还包括:第一染色值,第一染色值用于标记第一程序模块对测试消息进行了处理操作或者不处理操作。
实际路径还包括:第二染色值,第二染色值用于标记第二程序模块对测试消息进行了处理操作或者不处理操作。
根据第一标识和第二标识的比对结果,得到待监控程序的运行状态的监控结果,包括:
根据第一标识和第二标识的比对结果,以及,第一标识对应的第一染色值与第二标识对应的第二染色值的比对结果,得到待监控程序的运行状态的监控结果。
可选的,根据第一标识和第二标识的比对结果,以及,第一标识对应的第一染色值与第二标识对应的第二染色值的比对结果,得到待监控程序的运行状态的监控结果,包括:
当第一标识与第二标识相同,并且,第一标识对应的第一染色值与第二标识对应的第二染色值相同时,确定待监控程序的运行状态的监控结果为:正常运行。
当第一标识与第二标识不相同,确定待监控程序的运行状态的监控结果为:异常运行。
当第一标识与第二标识相同,并且,第一标识对应的第一染色值与第二标识对应的第二染色值不相同时,确定待监控程序的运行状态的监控结果为:异常运行。
可选的,监测测试消息在待监控程序中经过的实际路径,还包括:
当监测到待监控程序完成对测试消息的处理时,从测试消息中读取测试消息在待监控程序中经过的第二程序模块的第二标识,以及,用于标记第二程序模块对测试消息进行了处理操作或者不处理操作的第二染色值;其中,第二标识和第二染色值为待监控程序在处理测试消息的过程中记录至测试消息中的。
利用第二程序模块的第二标识和第二程序模块对应的第二染色值,生成测试消息在待监控程序中经过的实际路径。
可选的,在向待监控程序发送测试消息之后,还包括:
给测试消息添加发送时间戳;发送时间戳记录有向待监控程序发送测试消息的发送时刻。
根据实际路径与预设路径的比对结果,得到待监控程序的运行状态的监控结果,包括:
当检测到待监控程序对测试消息进行处理后得到输出结果时,给测试消息添加输出时间戳;输出时间戳记录有待监控程序输出该输出结果的输出时刻。
根据实际路径与预设路径的比对结果,以及,输出时刻与发送时刻的时间间隔与预设时间间隔的比对结果,得到待监控程序的运行状态的监控结果。
第二方面,提供了一种程序运行状态监控装置,该装置包括:
发送模块,用于向待监控程序发送测试消息;其中,测试消息中携带有预设路径,预设路径为测试消息在正常运行的待监控程序中经过的路径。
监测模块,用于监测该测试消息在待监控程序中经过的实际路径。
比对模块,用于根据实际路径与预设路径的比对结果,得到待监控程序的运行状态的监控结果。
可选的,预设路径包括:测试消息在正常运行的待监控程序中经过的第一程序模块的第一标识。
实际路径包括:向待监控程序发送测试消息之后,测试消息在待监控程序中经过的第二程序模块的第二标识。
比对模块,包括:
第一比对单元,用于根据第一标识和第二标识的比对结果,得到待监控程序的运行状态的监控结果。
可选的,预设路径还包括:第一染色值,第一染色值用于标记第一程序模块对测试消息进行了处理操作或者不处理操作。
实际路径还包括:第二染色值,第二染色值用于标记第二程序模块对测试消息进行了处理操作或者不处理操作。
第一比对单元,包括:
比对子单元,用于根据第一标识和第二标识的比对结果,以及,第一标识对应的第一染色值与第二标识对应的第二染色值的比对结果,得到待监控程序的运行状态的监控结果。
可选的,比对子单元,具体用于:
当第一标识与第二标识相同,并且,第一标识对应的第一染色值与第二标识对应的第二染色值相同时,确定待监控程序的运行状态的监控结果为:正常运行。
当第一标识与第二标识不相同,确定待监控程序的运行状态的监控结果为:异常运行。
当第一标识与第二标识相同,并且,第一标识对应的第一染色值与第二标识对应的第二染色值不相同时,确定待监控程序的运行状态的监控结果为:异常运行。
可选的,监测模块具体用于:
当监测到待监控程序完成对测试消息的处理时,从测试消息中读取测试消息在待监控程序中经过的第二程序模块的第二标识,以及,用于标记第二程序模块对测试消息进行了处理操作或者不处理操作的第二染色值;其中,第二标识和第二染色值为待监控程序在处理测试消息的过程中记录至测试消息中的。
利用第二程序模块的第二标识和第二程序模块对应的第二染色值,生成测试消息在待监控程序中经过的实际路径。
可选的,程序运行状态监控装置还包括:
添加模块,用于在向待监控程序发送测试消息之后,给测试消息添加发送时间戳;发送时间戳记录有向待监控程序发送测试消息的发送时刻。
比对模块,包括:
添加单元,用于当检测到待监控程序对测试消息进行处理后得到输出结果时,给测试消息添加输出时间戳;输出时间戳记录有待监控程序输出该输出结果的输出时刻。
第二比对单元,用于根据实际路径与预设路径的比对结果,以及,输出时刻与发送时刻的时间间隔与预设时间间隔的比对结果,得到待监控程序的运行状态的监控结果。
第四方面,提供了一种数据处理的电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述的方法步骤。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法步骤。
第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述的方法。
本申请实施例中,可以向待监控程序发送测试消息;其中,测试消息中携带有预设路径,预设路径为该测试消息在正常运行的待监控程序中经过的路径。然后,监测该测试消息在待监控程序中经过的实际路径。从而可以根据实际路径与预设路径的比对结果,得到待监控程序的运行状态的监控结果。这种程序运行状态的监控方法中,实际路径表示测试消息在待监控程序中实际经过的路径,预设路径表示测试消息在正常运行的待监控程序中经过的路径。对比实际路径与预设路径是否相同,可以确定待监控程序对测试消息的处理与正常运行的待监控程序对测试消息处理是否相同,进而可以判断待监控程序是否正常的运行,提高了监控该程序运行状态的准确性。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种程序运行状态监控方法的流程图;
图2为本申请实施例提供的一种添加第二染色值方法的流程图;
图3为本申请实施例提供的另一种程序运行状态监控方法的流程图;
图4为本申请实施例提供的一种程序运行状态监控装置的结构示意图;
图5为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面将结合具体实施方式,对本申请实施例提供了程序运行状态监控方法进行说明。可以理解的是,该方法可以应用于电子设备,该电子设备包括但并不局限于PC(personal computer,个人计算机)、手机和服务器。
如图1所示,程序运行状态监控方法可以包括如下步骤:
步骤101:向待监控程序发送测试消息;其中,测试消息中携带有预设路径,预设路径为该测试消息在正常运行的待监控程序中经过的路径。
步骤102:监测该测试消息在待监控程序中经过的实际路径。
步骤103:根据实际路径与预设路径的比对结果,得到待监控程序的运行状态的监控结果。
在本申请实施例中,电子设备可以向待监控程序发送测试消息;其中,测试消息中携带有预设路径,预设路径为该测试消息在正常运行的待监控程序中经过的路径。然后,监测该测试消息在待监控程序中经过的实际路径。从而可以根据实际路径与预设路径的比对结果,得到待监控程序的运行状态的监控结果。这种程序运行状态的监控方法中,实际路径表示测试消息在待监控程序中实际经过的路径,预设路径表示测试消息在正常运行的待监控程序中经过的路径。对比实际路径与预设路径是否相同,可以确定待监控程序对测试消息的处理与正常运行的待监控程序对测试消息处理是否相同,进而可以判断待监控程序是否正常的运行,提高了监控该程序运行状态的准确性。
可选地,电子设备可以在任意时刻向待监控程序发送测试消息。当然,也可以在预设时间段向该待监控程序发送测试消息。其中,预设时间段可以为待监控程序的闲时时段。例如,电子设备可以在预设时间段24:00-1:00向待监控程序发送测试消息。其中,由于在预设时间段24:00-1:00,该待监控程序通常不会接受到用户的业务请求,因而该种向待监控程序发送测试消息的方式,可以避免干扰待监控程序处理用户发出的业务请求。
可选的,预设路径可以包括:测试消息在正常运行的待监控程序中经过的第一程序模块的第一标识。实际路径包括:向待监控程序发送测试消息之后,该测试消息在待监控程序中经过的第二程序模块的第二标识。
相应地,根据实际路径与预设路径的比对结果,得到待监控程序的运行状态的监控结果的步骤,可以包括:
根据第一标识和第二标识的比对结果,得到待监控程序的运行状态的监控结果。
可以理解的是,针对该待监控程序,技术人员可以预先设置一种或多种测试消息。每种测试消息用于测试该待监控程序所要实现的一种或多种功能是否能够正常运行,从而测试该待监控程序是否正常运行。
针对每种测试消息,技术人员可以根据该待监控程序的运行逻辑,确定该测试消息在正常运行的待监控程序中所经过的程序模块作为第一程序模块。并且,可以确定该第一程序模块的标识作为第一标识。然后,技术人员还可以利用该第一程序模块的第一标识来生成预设路径。
其中,待监控程序可以包括一个或多个程序模块,且程序模块存在相对应的程序标识。例如,待监控程序可以包括程序模块A、B、C和D,且程序模块A对应的程序标识为标识A,程序模块B对应的程序标识为标识B,程序模块C对应的程序标识为标识C,程序模块D对应的程序标识为标识D。
假设技术人员根据该待监控程序的运行逻辑,确定该测试消息在正常运行的待监控程序中所经过的第一程序模块A和第一程序模块C。那么,技术人员则可以确定该测试消息所对应的预设路径为A-C,然后将该预设路径为A-C添加到该测试消息中。
电子设备向待监控程序发送了测试消息后,将测试消息在待监控程序中实际经过的程序模块作为第二程序模块,并且,可以确定该第二程序模块的标识为第二标识。然后电子设备可以向测试消息添加该第二标识。
例如,电子设备向待监控程序发送了测试消息后,可以监测到测试消息经过程序模块A,并可以向该测试消息添加程序模块A对应的标识A;然后当电子设备检监测到测试消息经过程序模块C,则可以向该测试消息添加程序模块C对应的标识C。其中,程序模块A和程序模块C为第一程序模块,标识A和标识C为第一标识。因此,实际路径为A-C,实际路径A-C表示在向待监控程序发送了测试消息后,测试消息先经过了程序模块A,再经过了程序模块C。
其中,第一程序模块与第二程序模块,是用于区分测试消息在两种不同情况下所经过的待监控程序的程序模块的名称。其中,一种情况为:技术人员预设的、该测试消息在待监控程序中经过的程序模块,该待监控程序为正常运行的程序。另一种情况为:向待监控程序发送该测试消息后,该测试消息在待监控程序中经过的程序模块。第一程序模块与第二程序模块可以表示相同的程序模块,也可以表示不同的程序模块。
在一种实现方式中,电子设备可以通过比对预设路径中的第一标识和实际路径中的第二标识是否相同,来确定预设路径与实际路径是否相同,进而确定对待监控程序的运行状态的监控结果。
其中,当预设路径的第一标识与实际路径的第二标识相同时,可以确定预设路径与实际路径是否相同,进而可以确定针对待监控程序的运行状态的监控结果是正常运行;当预设路径的第一标识与实际路径的第二标识不同时,可以确定预设路径与实际路径不同,因此可以确定针对待监控程序的运行状态的监控结果是异常运行。
例如,待监控程序包括程序模块A、B和C,预设路径为A-C-B,实际路径为A-B-C。由于预设路径的第一标识与实际路径的第二标识均相同,均包括标识A、标识B和标识C,因此可以确定预设路径与实际路径相同,进而可以确定针对该待监控程序的运行状态的监控结果为正常运行。
在另一种实现方式中,电子设备可以通过比对第一标识与第二标识是否相同,并比对第一标识的排列顺序与第二标识的排列顺序是否相同,来确定预设路径与实际路径是否相同,进而可以确定待监控程序的运行状态的监控结果。该种比较方式,可以更准确地对预设路径与实际路径进行对比,从而可以得到更准确的监控结果。
当预设路径的第一标识与实际路径的第二标识相同,并且第一标识的排列顺序与第二标识的排列顺序相同时,可以确定预设路径实际路径相同,进而可以确定针对待监控程序的运行状态的监控结果是正常运行。
当预设路径的第一标识与实际路径的第二标识相同,但第一标识的排列顺序与第二标识的排列顺序不同时,可以确定第二程序模块与第一程序模块相同,但是经过的顺序不同。因此预设路径与实际路径不同,进而可以确定针对待监控程序的运行状态的监控结果是异常运行。
当预设路径的第一标识与实际路径的第二标识不同时,可以确定第二程序模块与第一程序模块不同。因此预设路径与实际路径不同,进而可以确定针对待监控程序的运行状态的监控结果是异常运行。
例如,待监控程序包括程序模块A、B和C,预设路径为A-C-B,实际路径为A-C-B。预设路径的第一标识与实际路径的第二标识相同,均包括标识A、标识B和标识C;并且第一标识的排列顺序与第二标识的排列顺序相同。因此预设路径与实际路径相同,进而可以确定该待监控程序的运行状态为正常运行。
例如,待监控程序包括程序模块A、B和C,预设路径为A-C-B,实际路径为A-B-C。预设路径的第一标识与实际路径的第二标识均相同,均包括标识A、标识B和标识C;但标识A、标识B和标识C的排列顺序不同。可以确定预设路径与实际路径不同,进而可以确定该待监控程序的运行状态为异常运行。
例如,待监控程序包括程序模块A、B和C,预设路径为A-C,实际路径为A-B。预设路径的第一标识与实际路径的第二标识不同。可以确定第二程序模块与第一程序模块不同,因此预设路径与实际路径不同,进而确定该待监控程序的运行状态为异常运行。
可选的,预设路径还可以包括:第一染色值,该第一染色值用于标记第一程序模块对测试消息进行了处理操作或者不处理操作。
实际路径还包括:第二染色值,该第二染色值用于标记第二程序模块对测试消息进行了处理操作或者不处理操作。
根据第一标识和第二标识的比对结果,得到待监控程序的运行状态的监控结果的步骤,包括:
根据第一标识和第二标识的比对结果,以及,第一标识对应的第一染色值与第二标识对应的第二染色值的比对结果,得到待监控程序的运行状态的监控结果。
本申请实施例中,待监控程序可以包括一个或多个程序模块,其中,程序模块存在相对应的标识。针对该待监控程序,技术人员可以预先设置一种或多种测试消息。每种测试消息用于测试该待监控程序所要实现的一种或多种功能是否能够正常运行,从而测试该待监控程序是否正常运行。针对每种测试消息,技术人员可以根据该待监控程序的运行逻辑,确定该测试消息在正常运行的待监控程序中所经过的程序模块作为第一程序模块,以及在正常运行的待监控程序中的第一程序模块对测试消息的处理方式,处理方式包括处理和不处理。然后,可以确定该第一程序模块的标识作为第一标识;并且可以给该第一标识添加具有映射关系的、用于标记第一程序模块对测试消息进行处理操作或不处理操作的第一染色值。然后,技术人员还可以利用第一标识,以及该第一标识对应的第一染色值来生成预设路径。
电子设备向待监控程序发送了测试消息后,将测试消息在待监控程序中实际经过的程序模块作为第二程序模块,并且,可以确定该第二程序模块的标识为第二标识。然后可以添加第二染色值,该第二染色值表示对应的第二程序模块对测试消息进行了处理操作或者不处理操作。
可选的,监测该测试消息在待监控程序中经过的实际路径,包括:
当监测到待监控程序完成对测试消息的处理时,从测试消息中读取测试消息在待监控程序中经过的第二程序模块的第二标识,以及,用于标记第二程序模块对测试消息进行了处理操作或者不处理操作的第二染色值;其中,第二标识和第二染色值为待监控程序在处理测试消息的过程中记录至测试消息中的。
利用第二程序模块的第二标识和第二程序模块对应的第二染色值,生成测试消息在待监控程序中经过的实际路径。
其中,技术人员可以在该待监测程序的关键路径处埋点,即可以在待监控程序中的关键路径处植入代码逻辑。其中,所植入的代码逻辑用于:当测试消息经过该关键路径时,给该测试消息中添加第二标识和该第二标识对应的第二染色值。这样,在程序运行状态监控过程中,电子设备可以运行该待监控程序中的该代码逻辑,执行在测试消息中添加第二标识和该第二标识对应的第二染色值的操作。
具体的,当检测到测试消息经过待监控程序中的第二程序模块时,电子设备可以通过在该第一程序模块所植入代码逻辑确定该测试消息经过了该第二程序模块,进而可以将实际所经过的第二程序模块的第二标识添加到该测试消息中。另外,若第二程序模块对测试消息进行了处理,则给该第二标识添加具有映射关系的、用于标记第二程序模块对测试消息进行了处理操作的第一预设值,作为第二染色值。
当检测到测试消息经过待监控程序中的第二程序模块时,判断第二程序模块是否对测试消息进行了处理。
若第二程序模块对测试消息进行了处理,则给第二标识添加具有映射关系的、用于标记第二程序模块对测试消息进行了处理操作的第一预设值,作为第二染色值。
若第二程序模块未对测试消息进行处理,则给第二标识添加具有映射关系的、用于标记第二程序模块对测试消息进行了不处理操作的第二预设值,作为第二染色值。
这种添加第二染色值的方式,可以实现实时监测该待监控程序是否处理测试消息,从而可以实时给测试消息添加第二标识以及对应的第二染色值。
例如,待监控程序中包括程序模块A、B和C,第一预设值为1,第二预设值为2。测试消息mq1的实际路径为A:1-C:2。其中,A-B为第二标识,1-2为该第二标识对应的第二染色值。不同的标识之间用“-”分隔。
如图2所示,为本申请实施例提供的一种添加第二染色值方法的流程图,该添加第二染色值方法可以包括以下步骤:
S201:检测到测试消息mq经过程序模块a;
S202:添加对应的标识A作为第二标识;
S203:判断程序模块a是否对该测试消息mq进行了处理操作;若是,执行步骤S204;若否,执行步骤S205;
S204:给标识A添加具有映射关系的、用于标记程序模块a对该测试消息mq进行了处理操作的第一预设值1,作为第二染色值;
S205:给标识A添加具有映射关系的、用于标记程序模块a对该测试消息mq进行了不处理操作的第二预设值2,作为第二染色值;
S206:输出实际路径;其中实际路径包括第二标识和第二染色值。
例如,待监控程序中包括程序模块A、B和C,当第一预设值为1,第二预设值为2,在向待监控程序发送测试消息后,测试消息经过程序模块A,并添加了对应的标识A。然后,若判断确定程序模块A对测试消息进行了处理操作,则给标识A添加具有映射关系的第一预设值1;若判断确定模块A对测试消息进行了不处理操作,则给标识A添加具有映射关系的第二预设值2。其中,程序模块A为第二程序模块,标识A为第二标识。
具体的,根据第一标识和第二标识的比对结果,以及,第一标识对应的第一染色值与第二标识对应的第二染色值的比对结果,得到待监控程序的运行状态的监控结果,包括:
当第一标识与第二标识相同,并且,第一标识对应的第一染色值与第二标识对应的第二染色值相同时,可以确定预设路径与实际路径相同,因此可以确定针对待监控程序的运行状态的监控结果为:正常运行。
当第一标识与第二标识不相同,可以确定第二程序模块与第一程序模块不同。因此预设路径与实际路径不同,进而可以确定针对待监控程序的运行状态的监控结果为:异常运行。
第一标识与第二标识相同,并且,第一标识对应的第一染色值与第二标识对应的第二染色值不相同。可以确定第二程序模块与第一程序模块不同,但是,第二程序模块对测试消息的处理方式,与第一程序模块对测试消息的处理方式不同。因此预设路径与实际路径不同,进而可以确定针对待监控程序的运行状态的监控结果为:异常运行。
其中,第一标识与第二标识相同可以包含两种情况:一种情况下表示测试消息在待监控程序中经过的第二程序模块对应的第二标识,与测试消息在正常运行的待监控程序中经过的第一程序模块对应的第一标识相同;另一种情况下,表示测试消息在待监控程序中经过的第二程序模块对应的第二标识,与测试消息在正常运行的待监控程序中经过的预设的第一程序模块对应的第一标识相同。该预设的第一程序模型为待监控程序中处理该测试消息的关键程序模块。
本申请实施例中,对比第一标识与第二标识,可以第二程序模块与第一程序模块是否相同。通过第一标识对应的第一染色值与第二标识对应的第二染色值的对比,可以得到第二程序模块对测试消息的处理方式,与第二程序模块对测试消息的处理方式是否相同。因此可以更具体的比较预设路径与实际路径是否相同,从而可以更准确的得出待监控程序的运行状态。
例如,待监控程序中可以包括程序模块A、B、C和D,程序模块A对应的标识A,程序模块B对应的标识B,程序模块C对应的标识C,程序模块D对应的标识D。实际路径为A-C-D,第二标识A对应的第二染色值为1,第二标识C对应的第二染色值为2,第二标识D对应的第二染色值为1;预设路径为A-C-D,第一标识A对应的第一染色值为1,第一标识C对应的第一染色值为2,第二标识D对应的第二染色值为1。因此可以确定测试消息在正常运行的待监控程序中经过的预设路径,与测试消息在待监控程序中经过的实际路径相同,从而可以确定待监控程序的运行状态的监控结果为:正常运行。
实际路径为A-B,第二标识A对应的第二染色值为1,第二标识B对应的第二染色值为1;预设标识为A-B,第二标识A对应的第二染色值为1,第二标识B对应的第二染色值为2。那么测试消息实际经过的第二程序模块与测试消息在正常运行的待监控程序中预设经过的第一程序模块相同,但是第二程序模块和对应的第一程序模块对测试消息的处理操作不同,因此确定待监控程序的运行状态为:异常运行。
实际标识为A-B,第二标识A对应的第二染色值为1,第二标识B对应的第二染色值为2;预设标识为A-C,第二标识A对应的第二染色值为1,第二标识C对应的第二染色值为1。那么测试消息实际经过的第二程序模块与测试消息在正常运行的待监控程序中预设经过的第一程序模块不同,因此可以确定待监控程序的运行状态的监控结果为:异常运行。
其中,预设路径还包括该测试消息的ID(Identity Document,即序列号)。该序列号是电子设备随机生成的,并且与测试消息一一对应的。当电子设备在数据库中读取实际路径时,可以根据该序列号,查找并获取该序列号对应的测试消息的实际路径。例如,预设路径可以包括该测试消息的唯一序列号M,那么,在电子设备读取实际路径时,可以根据序列号M,在数据库中查找消息序列号为M的实际路径,并读取。通过根据该序列号读取实际路径,既可以通过实际路径与测试消息一一对应,从而实现准确地读取测试消息所对应的实际路径,也利于电子设备在数据库的众多数据中,快速地查找到对应的实际路径。因此,通过根据唯一的序列号读取实际路径,既可以保证电子设备读取实际路径的准确度,也可以提高读取实际路径的速度。
可选的,在向待监控程序发送测试消息之后,还可以包括:
给测试消息添加发送时间戳;该发送时间戳记录有向待监控程序发送测试消息的发送时刻。
相应地,根据实际路径与预设路径的比对结果,得到待监控程序的运行状态的监控结果,包括:
当检测到待监控程序对测试消息进行处理后得到输出结果时,给测试消息添加输出时间戳;该输出时间戳记录有待监控程序输出该输出结果的输出时刻。
根据实际路径与预设路径的比对结果,以及,输出时刻与发送时刻的时间间隔与预设时间间隔的比对结果,得到待监控程序的运行状态的监控结果。
本申请实施例中,发送时刻和输出时刻的时间间隔,可以表示在向待监控程序发送测试消息后,待监控程序处理该测试消息所用的实际处理时间。预设时间间隔为技术人员设定的,用来表示正常运行的待监控程序处理测试消息的预设处理时间。
当实际路径与预设路径相同,并且输出时刻与发送时刻的时间间隔与预设时间间隔相同时,可以得到待监控程序的运行状态的监控结果为正常运行;当实际路径与预设路径不同,或者输出时刻与发送时刻的时间间隔与预设时间间隔不同时,可以得到待监控程序的运行状态为异常运行。
下面结合图3对本发明实施例提供的程序运行状态监控方法进行再次说明。
如图3所示,为本申请实施例提供的另一种程序运行状态监控方法的流程图。在该流程图中,待监控程序可以接收电子设备发送的测试消息。其中该测试消息包括唯一的ID、预设路径以及发送该测试消息的发送时间戳,预设路径包括第一标识,以及第一标识对应的第一染色值。待监控程序对该测试消息进行处理得到输出结果,并将该输出结果输出至数据库缓存。其中该输出结果包括唯一的ID、实际路径以及输出该输出结果的输出时间戳,实际路径包括第二预设标识以及第二标识对应的第二染色值。电子设备可以根据测试消息唯一的ID,在数据库中,读取该测试消息对应的输出结果。然后根据预设路径的比对结果,以及输出时刻与发送时刻的时间间隔与预设时间间隔的比对结果,得到待监控程序的运行状态的监控结果。其中电子设备可以运行程序运行状态监控程序。
基于相同的技术构思,本申请实施例还提供了程序运行状态监控装置,如图4所示,该装置包括:
发送模块401,用于向待监控程序发送测试消息;其中,测试消息中携带有预设路径,预设路径为测试消息在正常运行的待监控程序中经过的路径。
监测模块402,用于监测测试消息在待监控程序中经过的实际路径。
比对模块403,用于根据实际路径与预设路径的比对结果,得到待监控程序的运行状态的监控结果。
在本申请实施例中,电子设备可以向待监控程序发送测试消息;其中,测试消息中携带有预设路径,预设路径为该测试消息在正常运行的待监控程序中经过的路径。然后,监测该测试消息在待监控程序中经过的实际路径。从而可以根据实际路径与预设路径的比对结果,得到待监控程序的运行状态的监控结果。这种程序运行状态的监控方法,通过实际路径,可以得到待监控程序处理测试消息的具体过程,通过实际路径与预设路径的对比,可以判断该具体处理过程是否正确,进而可以判断待监控程序是否正常的运行,提高了监控该程序运行状态的准确性。
可选的,预设路径包括:测试消息在正常运行的待监控程序中经过的第一程序模块的第一标识;
实际路径包括:向待监控程序发送测试消息之后,该测试消息在待监控程序中经过的第二程序模块的第二标识。
比对模块403,包括:
第一比对单元,用于根据第一标识和第二标识的比对结果,得到待监控程序的运行状态的监控结果。
可选的,预设路径还包括:第一染色值,第一染色值用于标记第一程序模块对测试消息进行了处理操作或者不处理操作;
实际路径还包括:第二染色值,该第二染色值用于标记第二程序模块对测试消息进行了处理操作或者不处理操作。
第一比对单元,包括:
比对子单元,用于根据第一标识和第二标识的比对结果,以及,第一标识对应的第一染色值与第二标识对应的第二染色值的比对结果,得到待监控程序的运行状态的监控结果。
具体的,比对子单元,具体用于:
当第一标识与第二标识相同,并且,第一标识对应的第一染色值与第二标识对应的第二染色值相同时,确定待监控程序的运行状态的监控结果为:正常运行。
当第一标识与第二标识不相同,确定待监控程序的运行状态的监控结果为:异常运行。
当第一标识与第二标识相同,并且,第一标识对应的第一染色值与第二标识对应的第二染色值不相同时,确定待监控程序的运行状态的监控结果为:异常运行。
可选的,监测模块具体用于:
当监测到待监控程序完成对测试消息的处理时,从测试消息中读取测试消息在待监控程序中经过的第二程序模块的第二标识,以及,用于标记第二程序模块对测试消息进行了处理操作或者不处理操作的第二染色值;其中,第二标识和第二染色值为待监控程序在处理测试消息的过程中记录至测试消息中的。
利用第二程序模块的第二标识和第二程序模块对应的第二染色值,生成测试消息在待监控程序中经过的实际路径。
可选的,程序运行状态监控装置还包括:
添加模块,用于在向待监控程序发送测试消息之后,给测试消息添加发送时间戳;发送时间戳记录有向待监控程序发送测试消息的发送时刻。
比对模块403,包括:
添加单元,用于当检测到待监控程序对测试消息进行处理后得到输出结果时,给测试消息添加输出时间戳;输出时间戳记录有待监控程序输出该输出结果的输出时刻。
第二比对单元,用于根据实际路径与预设路径的比对结果,以及,输出时刻与发送时刻的时间间隔与预设时间间隔的比对结果,得到待监控程序的运行状态的监控结果。
本申请实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现上述程序运行状态监控方法实施例中任一步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述程序运行状态监控方法实施例中任一方法步骤。其中,该可读存储介质为计算机可读存储介质。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述程序运行状态监控方法实施例中任一方法步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (8)

1.一种程序运行状态监控方法,其特征在于,所述方法包括:
向待监控程序发送测试消息;其中,所述测试消息中携带有预设路径,所述预设路径为所述测试消息在正常运行的所述待监控程序中经过的路径;所述预设路径包括:所述测试消息在正常运行的所述待监控程序中经过的第一程序模块的第一标识;
监测所述测试消息在所述待监控程序中经过的实际路径;所述实际路径包括:向所述待监控程序发送所述测试消息之后,所述测试消息在所述待监控程序中经过的第二程序模块的第二标识;
向所述测试消息添加所述第二标识;
根据所述实际路径与所述预设路径的比对结果,得到所述待监控程序的运行状态的监控结果;
所述根据所述实际路径与所述预设路径的比对结果,得到所述待监控程序的运行状态的监控结果,包括:
根据所述第一标识和所述第二标识的比对结果,得到所述待监控程序的运行状态的监控结果。
2.根据权利要求1所述的方法,其特征在于,所述预设路径还包括:第一染色值,所述第一染色值用于标记所述第一程序模块对所述测试消息进行了处理操作或者不处理操作;
所述实际路径还包括:第二染色值,所述第二染色值用于标记所述第二程序模块对所述测试消息进行了处理操作或者不处理操作;
所述根据所述第一标识和所述第二标识的比对结果,得到所述待监控程序的运行状态的监控结果,包括:
根据所述第一标识和所述第二标识的比对结果,以及,所述第一标识对应的所述第一染色值与所述第二标识对应的所述第二染色值的比对结果,得到所述待监控程序的运行状态的监控结果。
3.根据权利要求2所述的方法,所述根据所述第一标识和所述第二标识的比对结果,以及,所述第一标识对应的所述第一染色值与所述第二标识对应的所述第二染色值的比对结果,得到所述待监控程序的运行状态的监控结果,包括:
当所述第一标识与所述第二标识相同,并且,所述第一标识对应的所述第一染色值与所述第二标识对应的所述第二染色值相同时,确定所述待监控程序的运行状态的监控结果为:正常运行;
当所述第一标识与所述第二标识不相同,确定所述待监控程序的运行状态的监控结果为:异常运行;
当所述第一标识与所述第二标识相同,并且,所述第一标识对应的所述第一染色值与所述第二标识对应的所述第二染色值不相同时,确定所述待监控程序的运行状态的监控结果为:异常运行。
4.根据权利要求2所述的方法,其特征在于,所述监测所述测试消息在所述待监控程序中经过的实际路径,包括:
当监测到所述待监控程序完成对所述测试消息的处理时,从所述测试消息中读取所述测试消息在所述待监控程序中经过的第二程序模块的第二标识,以及,用于标记所述第二程序模块对所述测试消息进行了处理操作或者不处理操作的第二染色值;其中,所述第二标识和所述第二染色值为所述待监控程序在处理所述测试消息的过程中记录至所述测试消息中的;
利用所述第二程序模块的第二标识和所述第二程序模块对应的第二染色值,生成所述测试消息在所述待监控程序中经过的实际路径。
5.根据权利要求1所述的方法,其特征在于,在所述向待监控程序发送测试消息之后,还包括:
给所述测试消息添加发送时间戳;所述发送时间戳记录有向所述待监控程序发送所述测试消息的发送时刻;
所述根据所述实际路径与所述预设路径的比对结果,得到所述待监控程序的运行状态的监控结果,包括:
当检测到所述待监控程序对所述测试消息进行处理后得到输出结果时,给所述测试消息添加输出时间戳;所述输出时间戳记录有所述待监控程序输出所述输出结果的输出时刻;
根据所述实际路径与所述预设路径的比对结果,以及,所述输出时刻与所述发送时刻的时间间隔与预设时间间隔的比对结果,得到所述待监控程序的运行状态的监控结果。
6.一种程序运行状态监控装置,其特征在于,所述装置包括:
发送模块,用于向待监控程序发送测试消息;其中,所述测试消息中携带有预设路径,所述预设路径为所述测试消息在正常运行的所述待监控程序中经过的路径;所述预设路径包括:所述测试消息在正常运行的所述待监控程序中经过的第一程序模块的第一标识;
监测模块,用于监测所述测试消息在所述待监控程序中经过的实际路径;所述实际路径包括:向所述待监控程序发送所述测试消息之后,所述测试消息在所述待监控程序中经过的第二程序模块的第二标识;向所述测试消息添加所述第二标识;
比对模块,用于根据所述实际路径与所述预设路径的比对结果,得到所述待监控程序的运行状态的监控结果;
所述比对模块,包括:
第一比对单元,用于根据所述第一标识和所述第二标识的比对结果,得到所述待监控程序的运行状态的监控结果。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
8.一种可读存储介质,其特征在于,所述可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-5任一所述的方法步骤。
CN201911310206.3A 2019-12-18 2019-12-18 程序运行状态监控方法、装置、电子设备及可读存储介质 Active CN111026614B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911310206.3A CN111026614B (zh) 2019-12-18 2019-12-18 程序运行状态监控方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911310206.3A CN111026614B (zh) 2019-12-18 2019-12-18 程序运行状态监控方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN111026614A CN111026614A (zh) 2020-04-17
CN111026614B true CN111026614B (zh) 2023-09-05

Family

ID=70209815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911310206.3A Active CN111026614B (zh) 2019-12-18 2019-12-18 程序运行状态监控方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111026614B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109063483A (zh) * 2018-06-21 2018-12-21 北京大学 一种基于路径追踪的漏洞检测方法及系统
CN110515754A (zh) * 2018-05-22 2019-11-29 深圳云天励飞技术有限公司 神经网络处理器的调试系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7926043B2 (en) * 2006-06-20 2011-04-12 Microsoft Corporation Data structure path profiling

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515754A (zh) * 2018-05-22 2019-11-29 深圳云天励飞技术有限公司 神经网络处理器的调试系统及方法
CN109063483A (zh) * 2018-06-21 2018-12-21 北京大学 一种基于路径追踪的漏洞检测方法及系统

Also Published As

Publication number Publication date
CN111026614A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
CN108989150B (zh) 一种登录异常检测方法及装置
CN109635564A (zh) 一种检测暴力破解行为的方法、装置、介质及设备
CN110474900B (zh) 一种游戏协议测试方法及装置
CN113114659B (zh) 诊断设备检测方法、装置、终端设备及存储介质
CN110046086B (zh) 用于测试的期望数据生成方法及装置和电子设备
CN109558315B (zh) 测试范围的确定方法、装置及设备
CN114785567A (zh) 一种流量识别方法、装置、设备及介质
CN110162973A (zh) 一种Webshell文件检测方法及装置
CN112104662B (zh) 远端数据读写方法、装置、设备及计算机可读存储介质
CN111752819A (zh) 一种异常监控方法、装置、系统、设备和存储介质
CN111026614B (zh) 程序运行状态监控方法、装置、电子设备及可读存储介质
CN111124828B (zh) 一种数据处理方法、装置、设备及存储介质
CN116955040A (zh) 一种芯片读写性能测试方法、系统、设备及存储介质
CN109145609B (zh) 一种数据处理方法和装置
CN107896232B (zh) 一种ip地址评估方法及装置
CN106682516A (zh) 应用程序的检测方法、检测装置和服务器
CN113282496B (zh) 接口自动测试方法、装置、设备及存储介质
CN115576831A (zh) 一种测试案例推荐方法、装置、设备及存储介质
CN112214414B (zh) 基于自动化测试的覆盖率处理方法、装置、设备及介质
CN114077545A (zh) 验证数据的获取方法、装置、设备及可读存储介质
CN115357894A (zh) 带有自定义验证函数的应用程序漏洞检测方法及系统
CN114064489A (zh) 一种自动化测试方法、装置、设备及可读存储介质
CN109214212B (zh) 信息防泄露方法及装置
CN108847962B (zh) 一种信息审计方法及装置
CN116828404B (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