一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

系统内核监测方法、装置、终端设备及存储介质与流程

2022-10-13 10:17:29 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,具体涉及一种系统内核监测方法、装置、终端设备及存储介质。


背景技术:

2.复杂的金融系统往往包含了众多的任务调度作业和复杂逻辑,为了保证金融系统百分百的系统稳定性,需要确定任务调度和多线程中是否具备隐含的系统性能问题。因此,需要监测系统内核在运行中的情况,以便开发者能更好的根据系统运行情况进行系统优化,从而保证系统的稳定性。


技术实现要素:

3.本技术提供了一种系统内核监测方法,通过对系统中运行的作业进行监控,通过作业的运行情况,得到系统内核的运行情况。
4.第一方面,本技术提供了一种系统内核监测方法,所述方法包括:确定系统内核所运行的每个线程对应的线程作业;确定所述线程作业的运行状态特征,并根据所述线程作业的运行状态特征,确定所述线程作业的作业状态;确定所述线程作业在所述作业状态的实际运行参数以及目标运行参数;根据所述线程作业在所述作业状态的实际运行参数以及目标运行参数,确定所述线程作业对应的线程的性能数据。
5.在本技术一些实施例中,所述确定所述线程作业的运行状态特征,并根据所述线程作业的运行状态特征,确定所述线程作业的作业状态,包括:获取所述线程作业的对应的操作码;通过预设的状态识别模型,对所述操作码进行特征识别,得到所述线程作业的运行状态特征;通过所述状态识别模型,对所述运行状态特征进行分类,得到所述线程作业的作业状态。
6.在本技术一些实施例中,所述确定所述线程作业在所述作业状态的实际运行参数,包括:监测所述线程作业在所述作业状态时的实际运行时间以及实际运行次数;根据所述实际运行时间以及所述实际运行次数,得到所述线程作业在所述作业状态的实际运行参数。
7.在本技术一些实施例中,所述目标运行参数包括所述作业状态的理论运行时间和所述作业状态的理论运行次数,确定所述线程作业在所述作业状态的目标运行参数,包括:获取所述系统内核的属性参数;确定所述作业状态对应的操作码数量;
根据所述属性参数和所述作业状态对应的操作码数量,确定所述作业状态对应的理论运行时间;确定所述作业状态对应的状态类型;根据所述状态类型,确定所述作业状态的理论运行次数。
8.在本技术一些实施例中,所述确定所述线程作业的运行状态特征,并根据所述线程作业的运行状态特征,确定所述线程作业的作业状态之后,所述方法还包括:对所述每个线程对应的线程作业的作业状态进行分类,得到所述每个线程对应的线程作业的作业状态所属的状态类别;根据所述线程作业在所述作业状态的实际运行参数以及目标运行参数,确定所述线程作业对应的线程的性能数据,包括:针对每个状态类别,根据该状态类别下的所有线程作业在该状态类别对应的作业状态的实际运行参数以及目标运行参数,得到该状态类别下所有线程作业对应的线程的性能数据。
9.在本技术一些实施例中,所述根据所述线程作业在所述作业状态的实际运行参数以及目标运行参数,确定所述线程作业对应的线程的性能数据,包括:若所述实际运行参数与所述目标运行参数不匹配,确定所述实际运行参数与预设的理论运行参数的参数差值;根据所述参数差值,确定所述线程作业对应的线程的性能数据。
10.在本技术一些实施例中,其特征在于,所述根据所述线程作业在所述作业状态的实际运行参数以及目标运行参数,确定所述线程作业对应的线程的性能数据之后,所述方法还包括:监测所述系统内核中各所述线程的切换时间以及在预设时长内的切换次数;根据所述线程的切换时间和所述线程的切换次数,得到所述系统内核的性能数据。
11.第二方面,本技术还提供了一种系统内核监测装置,所述装置包括:第一确定模块,用于确定系统内核所运行的每个线程对应的线程作业;第二确定模块,用于确定所述线程作业的运行状态特征,并根据所述线程作业的运行状态特征,确定所述线程作业的作业状态;第三确定模块,用于确定所述线程作业在所述作业状态的实际运行参数以及目标运行参数;第四确定模块,用于根据所述线程作业在所述作业状态的实际运行参数以及目标运行参数,确定所述线程作业对应的线程的性能数据。
12.在本技术一些实施例中,所述第二确定模块具体用于:获取所述线程作业的对应的操作码;通过预设的状态识别模型,对所述操作码进行特征识别,得到所述线程作业的运行状态特征;通过所述状态识别模型,对所述运行状态特征进行分类,得到所述线程作业的作业状态。
13.在本技术一些实施例中,所述第三确定模块具体用于:
监测所述线程作业在所述作业状态时的实际运行时间以及实际运行次数;根据所述实际运行时间以及所述实际运行次数,得到所述线程作业在所述作业状态的实际运行参数。
14.在本技术一些实施例中,所述第三确定模块具体用于:获取所述系统内核的属性参数;确定所述作业状态对应的操作码数量;根据所述属性参数和所述作业状态对应的操作码数量,确定所述作业状态对应的理论运行时间;确定所述作业状态对应的状态类型;根据所述状态类型,确定所述作业状态的理论运行次数。
15.在本技术一些实施例中,所述装置还包括线程监控模块,所述线程监控模块具体用于:对所述每个线程对应的线程作业的作业状态进行分类,得到所述每个线程对应的线程作业的作业状态所属的状态类别;根据所述线程作业在所述作业状态的实际运行参数以及目标运行参数,确定所述线程作业对应的线程的性能数据,包括:针对每个状态类别,根据该状态类别下的所有线程作业在该状态类别对应的作业状态的实际运行参数以及目标运行参数,得到该状态类别下所有线程作业对应的线程的性能数据。
16.在本技术一些实施例中,所述第四确定模块具体用于:若所述实际运行参数与所述目标运行参数不匹配,确定所述实际运行参数与预设的理论运行参数的参数差值;根据所述参数差值,确定所述线程作业对应的线程的性能数据。
17.在本技术一些实施例中,所述装置还包括内核监控模块,所述内核监控模块具体用于:监测所述系统内核中各所述线程的切换时间以及在预设时长内的切换次数;根据所述线程的切换时间和所述线程的切换次数,得到所述系统内核的性能数据。
18.在本技术一些实施例中,所述装置还包括报告模块,所述报告模块具体用于:根据所述性能数据,生成数据报告;将所述数据报告发送至对应的设备,所述设备具备所述数据报告的查看权限。
19.第三方面,本技术还提供了一种终端设备,所述终端设备包括处理器、存储器以及存储于所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序以实现任一项所述的系统内核监测方法中的步骤。
20.第四方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现任一项所述的系统内核监测方法中的步骤。
21.本技术提供的系统内核检测方法,通过监测系统中相关线程作业的对应的作业状态的实际运行数据,将实际运行数据与作业状态的目标运行数据进行比较,从而获取线程
作业对应的线程的性能数据,以帮助相关人员确定系统的运行情况,辅助相关人员优化系统,保证系统的稳定性。
附图说明
22.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1是本技术实施例中提供的系统内核监测系统的场景示意图;图2是本技术实施例中系统内核监测方法的一个实施例流程示意图;图3是本技术实施例中系统内核监测装置的一个功能模块示意图;图4是本技术实施例中终端设备的结构示意图。
具体实施方式
24.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
25.在本技术的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
26.在本技术中,“示例性”一词用来表示“用作例子、例证或说明”。本技术中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。
27.同时,可以理解的是,在本技术的具体实施方式中,涉及到用户信息、用户数据等相关的数据,当本技术以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
28.为了使本领域任何技术人员能够实现和使用本技术,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本技术。
29.在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本技术的描述变得晦涩。因此,本技术并非旨在限于所示的实施例,而是与符合本技术所公开的原理和特征的最广范围相一致。
30.本技术提供了一种系统内核监测方法、装置、设备以及存储介质,一下分别进行详细说明。
31.下面首先对本技术实施例中涉及到的一些基本概念进行介绍:线程:进程是资源分配的基本单位,线程是cpu调度和分派的基本单位。线程是进程的一部分,一个线程只能属于一个进程,一个进程可以有多个线程,但至少有一个线程。每个进程都有独立的代码和数据空间(程序上下文),程序间的切换开销大,线程可看做轻
量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(pc),线程间切换开销小。在操作系统中能同时运行多个进程(程序),在同一个进程(程序)中多个线程同时执行(通过cpu调度,在每个时间片中只有一个线程执行),系统在运行的时候会为每个进程分配不同的内存空间,线程除了cpu外,系统不会为线程分配内存(线程所使用的资源来自其所属进程的资源),线程组之间只能共享资源。
32.请参阅图1,图1为本技术实施例所提供的系统内核监测系统的场景示意图,该系统内核监测系统可以包括终端设备100和存储设备200,该存储设备200可以向该终端设备100传输数据。如图1中的终端设备100,可以获取该存储设备200中已经获取到的线程的实际运行参数,以执行本技术中的系统内核监测方法。
33.本技术实施例中,终端设备100其包括但不限可以是台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,pda)、平板电脑、无线终端设备、嵌入式设备等。
34.本技术的实施例中,终端设备100和存储设备200之间可通过任何通信方式实现通信,包括但不限于,基于第三代合作伙伴计划(3rd generation partnership project,3gpp)、长期演进(long term evolution,lte)、全球互通微波访问(worldwide interoperability for microwave access,wimax)的移动通信,或基于tcp/ip协议族(tcp/ip protocol suite,tcp/ip)、用户数据报协议(user datagram protocol,udp)的计算机网络通信等。
35.需要说明的是,图1所示的系统内核监测系统的场景示意图仅仅是一个示例,本技术实施例描述的系统内核监测系统以及场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统内核监测系统的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
36.如图2所示,图2为本技术实施例中系统内核监测方法的一个实施例流程示意图,系统内核监测方法可以包括如下步骤201~204:201、确定系统内核所运行的每个线程对应的线程作业。
37.首先,作业是用户在一个事务处理过程中要求计算机系统所做的工作的集合,包括用户程序、所需的数据和命令等。计算机系统在完成一个作业的过程中所做的一项相对独立的加工步骤称为作业步骤。一个作业从提交计算机系统到得到运行结果并最终退出系统的整个管理过程称为作业管理。一个作业可以由至少一个进程执行,每个进程包括至少一个线程,每个线程对应的线程作业即表征该线程所执行的作业。获取系统中运行的线程作业可以通过监控系统中的资源管理器,通过资源管理器查看具体存在哪些正在运行的线程作业。
38.202、确定所述线程作业的运行状态特征,并根据所述线程作业的运行状态特征,确定所述线程作业的作业状态。
39.根据上述步骤可得,线程作业包括用户程序、所需的数据和命令等,不同的程序代码包括不同的指令含义。此外,作业可以大致分为四个步骤:打开作业、读取作业、作业数据写入内存,关闭作业等步骤,不同的步骤对应有不同的指令,而每个步骤可以对应一种作业状态。此外,不同步骤对应的指令也不同,换言之指令特征不同。
40.例如:可以通过监控正在运行的线程作业,进而获取到线程作业对应的存储位置,从而获取到进程作业的程序代码,进而打开作业的指令特征可以包括cd。而cd/文件夹名称/作业名称则可以打开某个作业,因此,指令包括cd的代码特征时,则可以确定当前作业状态,为打开作业状体。即,可以基于代码本身特征,确定当前作业处于哪种状态。
41.而随着按照作业中程序代码的执行,执行到某一指令时,该指令为向内存写入文件的指令时,则可以确定该线程作业的作业状态为作业数据写入内存的状态。因此,确定所述线程作业的运行状态特征,可以通过具体指令确定运行状态特征。
42.当然,也可以通过对线程作业中的各个运行代码,通过工作人员添加相应的状态识别标记,每个状态识别标记对应一种作业状态,终端设备监测到相应的状态识别标记,则可以确定该作业当前的作业状态。
43.203、确定所述线程作业在所述作业状态的实际运行参数以及目标运行参数。
44.在本技术实施例中,实际运行参数表征该作业状态的实际运行情况,例如:假设该作业状态为作业数据写入内存的作业状态时,具体的作业数据写入内存的实际时间,则可以为该实际运行参数。其中,确定该实际运行参数,可以通过相关的监控程序对该作业状态进行监控,从而得到实际运行参数。
45.此外,本技术实施例中,目标运行参数可以表征作业状态的理论运行参数,该目标运行参数可以由相关的工作人员,根据作业状态对应的程序大小,确定目标运行参数,并将目标运行参数输入终端设备中,使得终端设备能够确定目标运行参数。
46.例如:若终端设备监测到作业a运行到代码b时,可以确定该作业a的作业状态为作业数据写入内存的状态,而工作人员针对于代码b给定的目标运行参数为0.2秒时,则可以确定当前的作业数据写入内存的状态的目标运行参数为0.2秒。其中,工作人员在对代码b添加目标运行参数时,可以针对该代码b添加相关的识别标记,使得终端设备识别到识别标记时,则可以直接确定相应的目标运行参数。
47.204、根据所述线程作业在所述作业状态的实际运行参数以及目标运行参数,确定所述线程作业对应的线程的性能数据。
48.根据上述步骤,在获取到实际运行参数以及目标运行参数之后,可以根据实际运行参数以及目标运行参数之间的差别,确定该线程作业对应的线程的性能数据。
49.例如:当两者不相同时,可以认为该线程在处理对应的作业时,并未完全处理该作业,或者不能有效的处理该作业,此时可以认定线程作业对应的线程的性能数据较差,此时工作人员针对作业对应的程序本身进行调整,以提高线程处理作业的稳定性。当两者相同时,可以证明该线程作业对应的线程的性能数据较优。
50.为了更好的实现本技术实施例,在一个本技术实施例中,所述确定所述线程作业的运行状态特征,并根据所述线程作业的运行状态特征,确定所述线程作业的作业状态,包括:获取所述线程作业的对应的操作码;通过预设的状态识别模型,对所述操作码进行特征识别,得到所述线程作业的运行状态特征;通过所述状态识别模型,对所述运行状态特征进行分类,得到所述线程作业的作业状态。
51.本技术实施例可以将神经网络模型应用至确定线程作业的作业状态,通过神经网络模型的方式优点在于,随着操作码的变化,神经网络可以快速的进行代码特征的学习,能
够进行快速应用。
52.需要说明的是,操作码(operation code)其实就是指令序列号,用来告诉cpu需要执行哪一条指令。指令系统的每一条指令都有一个操作码,它表示该指令应进行什么性质的操作。不同的指令用操作码这个字段的不同编码来表示,每一种编码代表一种指令。组成操作码字段的位数一般取决于计算机指令系统的规模。
53.其中,该状态识别模型是完成了训练的卷积神经网络模型,例如:可以通过有监督训练,将人为标注的、不同标签的操作码输入未训练的状态识别模型中进行训练,再进行回归分析和统计分类以得到完成训练的状态识别模型。当线程作业运行时,该状态识别模型可以获取线程作业对应的操作码,最终通过状态识别模型中的分类器进行分类,并得到线程作业的作业状态。
54.为了更好的实现本技术实施例,在一个本技术实施例中,所述确定所述线程作业在所述作业状态的实际运行参数,包括:监测所述线程作业在所述作业状态时的实际运行时间以及实际运行次数;根据所述实际运行时间以及所述实际运行次数,得到所述线程作业在所述作业状态的实际运行参数。
55.上述实施例中,提供了一种监控有关于运行时间的实际运行参数,本实施例中还提供了一种基于运行时间之上,还监控当前作业状态运行次数的方案。
56.通常情况下,线程作业在执行时,会经历各个作业状态,不同的作业状态的实施次数会根据具体情况进行实施。
57.例如:针对于线程作业打开的作业状态,由于一个作业在进行执行时,通常只会打开一次,不会打开两次,故打开作业的作业状态仅会经历一次。若多次打开,则可以确定线程作业的相关代码存在问题。因此,结合运行时间确定的实际运行参数,能够更加有效的帮助相关人员,确定线程性能。与上述实施例相同,可以通过相关的监控程序,监控每个作业状态的运行次数。
58.其中,监测实际运行时间时,可以添加相关的计时程序,每当系统中运行的线程作业进行作业状态的切换时,例如通过上述实施例的神经网络监测到作业状态的识别发生变化时,该计时程序就会开始计时,直至神经网络的识别结果进一步发生变化,终止当前的计时,并将计时结果进行记录,并开始新一轮的计时,这样便可以完成对线程作业的各个作业状态进行计时。
59.此外,监测实际运行次数的方案也同理,通过设置相关的计数程序,每当监测到一个系统中线程作业的作业状态时,便进行计数加一的操作。例如:依旧可以通过上述实施例中,神经网络的识别结果进行计数。每当神经网络进行一次识别时,得到一个线程作业的作业状态,该计数程序便可以将该线程作业的被识别的作业状态进行一次计数。当神经网络的出具新的识别结果时,再对新的识别结果进行记录即可。
60.而计数程序以及计时程序的程序简单,不会对系统造成巨大的负担,因此在进行运行的作业监控时,可以不对该计数程序以及计时程序进行监控。
61.为了更好的实现本技术实施例,在一个本技术实施例中,所述目标运行参数包括所述作业状态的理论运行时间和所述作业状态的理论运行次数,确定所述线程作业在所述作业状态的目标运行参数,包括:
获取所述系统内核的属性参数;确定所述作业状态对应的操作码数量;根据所述属性参数和所述作业状态对应的操作码数量,确定所述作业状态对应的理论运行时间;确定所述作业状态对应的状态类型;根据所述状态类型,确定所述作业状态的理论运行次数。
62.本技术实施例中,属性参数可以为系统内核的规格参数,例如cpu的频率、核心数量、线程数量等等。不同规格的cpu理论上能提供的计算能力是可以确定的。此外,若作业状态为作业打开状态时,通常打开的操作码为一条指令即可,指令数量越少所占用的运算时间也就越少。
63.例如:51单片机晶振的频率为通常为12mhz。1mhz=1000000hz,一个机器周期约为12个振荡周期,因此一个机器周期所用的时间为1us,机器指令一般分为单周期指令和双周期指令,单周期指令的运行时间为1us,双周期指令的运行时间为2us,而打开指令一般为单周期指令,因此若cpu为51单片机时,打开指令为1条时,则理论运行时间则为1us。
64.此外,不同的作业状态,执行的次数也不同,例如:打开作业的作业状态仅持续一次,因此可以基于不同作业状态的类型,确定作业状态对应的理论运行次数。
65.因此,对于不同的理论数据,相关人员可以在系统中设置一个查找表,将不同作业状态对应的理论数据输入至该查找表中,该查找表中包括了作业状态的状态类型,每种状态类型对应一个理论数据。同时,还可以设置一个每个程序语句对应的理论时间,从而系统可以根据程序语句的数量,计算出理论时间。
66.为了更好的实现本技术实施例,在一个本技术实施例中,所述确定所述线程作业的运行状态特征,并根据所述线程作业的运行状态特征,确定所述线程作业的作业状态之后,所述方法还包括:对所述每个线程对应的线程作业的作业状态进行分类,得到所述每个线程对应的线程作业的作业状态所属的状态类别;根据所述线程作业在所述作业状态的实际运行参数以及目标运行参数,确定所述线程作业对应的线程的性能数据,包括:针对每个状态类别,根据该状态类别下的所有线程作业在该状态类别对应的作业状态的实际运行参数以及目标运行参数,得到该状态类别下所有线程作业对应的线程的性能数据。
67.本技术实施例中,系统也可以同时执行多个互不相同的作业,因此也可以对多个作业进行同时的运行数据的监控。为了体现线程对不同作业的相同作业状态的处理情况,可以对每个作业的各个作业状态进行分类。例如:此时,同时运行有作业a、作业b和作业c,将作业a、作业b和作业c的打开作业状态分为一类,关闭作业状态分为一类等等。
68.其中,获取该类别中各个作业对应的作业状态的实际运行参数以及目标运行参数与上述实施例中获取的方式相同,具体此处不再进行赘述。之后,便可以获取线程处理作业时,对同一种类型的作业状态的处理数据。
69.例如:线程在处理作业a时,实际运行参数以及目标运行参数相同,在同时处理作业b时,实际运行参数以及目标运行参数的差值也同样相同,处理作业c时,实际运行参数以及目标运行参数不相同时。即,正常运行的作业超过多数时,则可以确定该线程的性能,在处理作业打开时,性能数据良好。
70.对于每种状态类型的监控情况,可以生成一种数据报告,例如:包括具体哪些线程作业对应的相同作业类型存在运行的实际数据与理论数据不符的情况。具体的,可以通过上述神经网络对每个线程作业的每种作业状态完成识别之后,将相同种类的作业状态类型
进行分类统计,将分类统计的结果放入该数据报告中,以供相关的工作人员查看,每种作业状态类型在运行时各自的情况。
71.需要说明的是,对于作业关闭状态,作业数据写入内存状态的判断方式与作业打开状态相同,具体此处不再赘述。
72.为了更好的实现本技术实施例,在一个本技术实施例中,所述根据所述线程作业在所述作业状态的实际运行参数以及目标运行参数,确定所述线程作业对应的线程的性能数据,包括:若所述实际运行参数与所述目标运行参数不匹配,确定所述实际运行参数与预设的理论运行参数的参数差值;根据所述参数差值,确定所述线程作业对应的线程的性能数据。
73.上述实施例中,提供了根据实际运行参数与目标运行参数是否相同,来确定线程的性能数据的方式。然而,通常来讲均会存在一定的误差,例如给系统内核提供的电流存在波动,因此实际运行参数与目标运行参数相同的情况较少。因此,可以设定一个阈值,当两者的差值小于该阈值时,可以认定该线程的性能数据未存在问题;当两者的差值大于等于该阈值时,认定该线程的性能数据存在一定的问题。
74.为了更好的实现本技术实施例,在一个本技术实施例中,所述根据所述线程作业在所述作业状态的实际运行参数以及目标运行参数,确定所述线程作业对应的线程的性能数据之后,所述方法还包括:监测所述系统内核中各所述线程的切换时间以及在预设时长内的切换次数;根据所述线程的切换时间和所述线程的切换次数,得到所述系统内核的性能数据。
75.本技术实施例还可以监控线程切换的相关数据,例如:线程在处理对应的作业时,若系统内核包括多个线程时,难免会涉及到线程之间的切换。既然涉及到线程的切换,就需要监测线程切换的次数以及每次切换需要消耗的时间。当线程在预设的时间内切换次数未在设定的次数区间内时,且切换时间过长时,可以认定系统内核的性能数据较差,或者线程作业的程序存在待优化空间。
76.由于,上述各个实施例中公开了一种通过监控的方式,收集各个运行数据的方案,以及根据运行数据,确定性能数据的方案。在获取到相关的数据之后,还可以将各个相关的运行数据整合为一种数据报告。
77.具体的,该数据报告中存在至少如下信息,例如:包括具体哪些线程作业存在运行的实际数据与理论数据不符的情况;同时,还包括具体哪些线程作业中对应的那个作业状态存在实际运行数据与理论数据不符的情况;以及,还包括线程切换时,若存在异常的线程切换时,记录切换线程对应的线程作业,以及该线程作业具体的作业状态。
78.当该数据报告包括相关数据的记录之后,可以将数据报告发送给相关人员的终端,以供相关人员查看,帮助相关人员排查问题,例如查看是内核原因还是线程作业的程序原因,帮助相关人员对整个系统进行优化,以提高系统运行的稳定性。
79.此外,在本技术任意一个实施例中,还可以监控作业在执行过程中是否出现中断情况,若出现中断情况,将中断情况进行记录,并确定出现中断情况对应的源代码。而确定出现中断情况对应的源代码可以通过对线程作业中的各个代码指令添加各个唯一的识别标识,当存在中断情况时,可以根据唯一的识别标识定位至存在中断情况的源代码。此时,
也可以将存在中断情况的源代码进行记录,放入该数据报告中,以供相关人员进行检查。
80.需要说明的是,本技术实施例中提供的数据报告并不限定该数据报告中内容的形式,该数据报告中的内容可以是文字、表格或者加密信息等,仅需要相关的系统问题排查人员能够明白并理解数据报告中的内容即可,无需对该数据报告本身进行限定。
81.本技术提供的系统内核检测方法,通过监测系统中相关线程作业的对应的作业状态的实际运行数据,将实际运行数据与作业状态的目标运行数据进行比较,从而获取线程作业对应的线程的性能数据,以帮助相关人员确定系统的运行情况,辅助相关人员优化系统,保证系统的稳定性。
82.为了更好实施本技术实施例中的系统内核监测方法,在系统内核监测方法之上,本技术实施例中还提供了一种系统内核监测装置,如图3所示,装置300包括:第一确定模块301,用于确定系统内核所运行的每个线程对应的线程作业;第二确定模块302,用于确定所述线程作业的运行状态特征,并根据所述线程作业的运行状态特征,确定所述线程作业的作业状态;第三确定模块303,用于确定所述线程作业在所述作业状态的实际运行参数以及目标运行参数;第四确定模块304,用于根据所述线程作业在所述作业状态的实际运行参数以及目标运行参数,确定所述线程作业对应的线程的性能数据。
83.本技术提供的系统内核检测装置,通过第一确定模块301监测系统中运行的线程作业,再通过第二确定模块302获取相关线程作业的对应的作业状态的实际运行数据,再通过第三确定模块303将实际运行数据与作业状态的目标运行数据进行比较,从而根据第四确定模块304获取线程作业对应的线程的性能数据,以帮助相关人员确定系统的运行情况,辅助相关人员优化系统,保证系统的稳定性。
84.在本技术一些实施例中,所述第二确定模块302具体用于:获取所述线程作业的对应的操作码;通过预设的状态识别模型,对所述操作码进行特征识别,得到所述线程作业的运行状态特征;通过所述状态识别模型,对所述运行状态特征进行分类,得到所述线程作业的作业状态。
85.在本技术一些实施例中,所述第三确定模块303具体用于:监测所述线程作业在所述作业状态时的实际运行时间以及实际运行次数;根据所述实际运行时间以及所述实际运行次数,得到所述线程作业在所述作业状态的实际运行参数。
86.在本技术一些实施例中,所述第三确定模块303具体还用于:获取所述系统内核的属性参数;确定所述作业状态对应的操作码数量;根据所述属性参数和所述作业状态对应的操作码数量,确定所述作业状态对应的理论运行时间;确定所述作业状态对应的状态类型;根据所述状态类型,确定所述作业状态的理论运行次数。
87.在本技术一些实施例中,所述装置还包括线程监控模块,所述线程监控模块具体用于:对所述每个线程对应的线程作业的作业状态进行分类,得到所述每个线程对应的线程作业的作业状态所属的状态类别;根据所述线程作业在所述作业状态的实际运行参数以及目标运行参数,确定所述线程作业对应的线程的性能数据,包括:针对每个状态类别,根据该状态类别下的所有线程作业在该状态类别对应的作业状态的实际运行参数以及目标运行参数,得到该状态类别下所有线程作业对应的线程的性能数据。
88.在本技术一些实施例中,所述第四确定模块304具体用于:若所述实际运行参数与所述目标运行参数不匹配,确定所述实际运行参数与预设的理论运行参数的参数差值;根据所述参数差值,确定所述线程作业对应的线程的性能数据。
89.在本技术一些实施例中,所述装置还包括内核监控模块,所述内核监控模块具体用于:监测所述系统内核中各所述线程的切换时间以及在预设时长内的切换次数;根据所述线程的切换时间和所述线程的切换次数,得到所述系统内核的性能数据。
90.在本技术一些实施例中,所述装置还包括报告模块,所述报告模块具体用于:根据所述性能数据,生成数据报告;将所述数据报告发送至对应的设备,所述设备具备所述数据报告的查看权限。
91.本技术实施例还提供一种终端设备,该终端设备包括处理器、存储器以及存储于存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序以实现本技术实施例中任一项的系统内核监测方法中的步骤。其中,该终端设备,其集成了本技术实施例所提供的任一种系统内核监测方法,如图4所示,其示出了本技术实施例所涉及的终端设备的结构示意图,具体来讲:该终端设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
92.其中:处理器401是该终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。
93.可选的,处理器401可包括一个或多个处理核心;处理器401可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处
理器也可以是任何常规的处理器等。
94.优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界是面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
95.存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备的使用所创建的数据等。
96.此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
97.终端设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
98.该终端设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
99.尽管未示出,终端设备还可以包括显示单元等,在此不再赘述。
100.具体在本实施例中,终端设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,例如:确定系统内核所运行的每个线程对应的线程作业;确定所述线程作业的运行状态特征,并根据所述线程作业的运行状态特征,确定所述线程作业的作业状态;确定所述线程作业在所述作业状态的实际运行参数以及目标运行参数;根据所述线程作业在所述作业状态的实际运行参数以及目标运行参数,确定所述线程作业对应的线程的性能数据。
101.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
102.为此,本技术实施例提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。其上存储有计算机程序,计算机程序被处理器进行加载,以执行本技术实施例所提供的任一种系统内核监测方法中的步骤。例如,计算机程序被处理器进行加载可以执行如下步骤:确定系统内核所运行的每个线程对应的线程作业;确定线程作业的运行状态特征,并根据线程作业的运行状态特征,确定线程作业
的作业状态;确定线程作业在作业状态的实际运行参数以及目标运行参数;根据线程作业在作业状态的实际运行参数以及目标运行参数,确定线程作业对应的线程的性能数据。
103.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
104.具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献