CN114968719A - 线程运行状态分类方法、装置、计算机设备及存储介质 - Google Patents

线程运行状态分类方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN114968719A
CN114968719A CN202210592085.1A CN202210592085A CN114968719A CN 114968719 A CN114968719 A CN 114968719A CN 202210592085 A CN202210592085 A CN 202210592085A CN 114968719 A CN114968719 A CN 114968719A
Authority
CN
China
Prior art keywords
random field
conditional random
model
data
thread
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.)
Pending
Application number
CN202210592085.1A
Other languages
English (en)
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.)
Ping An Property and Casualty Insurance Company of China Ltd
Original Assignee
Ping An Property and Casualty Insurance Company of China 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 Ping An Property and Casualty Insurance Company of China Ltd filed Critical Ping An Property and Casualty Insurance Company of China Ltd
Priority to CN202210592085.1A priority Critical patent/CN114968719A/zh
Publication of CN114968719A publication Critical patent/CN114968719A/zh
Pending legal-status Critical Current

Links

Images

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/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • 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
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例属于数据处理技术领域,涉及一种线程运行状态分类方法、装置、计算机设备及存储介质。此外,本申请还涉及区块链技术,用户的分类结果可存储于区块链中。本申请通过预设好的钩子技术对样本线程中的堆栈进行数据截取并标注类型信息,无需对所有数据进行逐一标注,在保证标注准确性的前提下,极大减少数据标注的时间,有效提高数据标注的效率,在完成类型标注后,对标注有类型信息的标注堆栈数据进行向量转化,得到用于训练模型的训练数据,并根据该训练数据训练条件随机场模型,当完成模型训练之后,即可调用该训练好的条件随机场模型对获取到的待分类线程进行自动化分类,极大提高对线程运行状态进行分类的效率。

Description

线程运行状态分类方法、装置、计算机设备及存储介质
技术领域
本申请涉及数据处理技术领域,尤其涉及一种线程运行状态分类方法、装置、计算机设备及存储介质。
背景技术
线程是操作系统能够进行运算调度的最小单位,代表一项任务的执行序列,主要用于争夺操作系统中的CPU资源。在操作系统的软件中,对于CPU资源利用的一个情况的不同,可以简单分为CPU密集型和非CPU密集型。CPU密集型主要是表明线程正在利用CPU进行大量的运算,或者正在进行代码的控制和执行。而非CPU密集型则表明当前线程运行以及代码控制和执行的占比较小,线程可能暂时放弃了CPU资源的竞争,实际上没有执行而处于挂起状态,例如正在进行文件读写、网络收发等。
如果能对软件中运行的每个线程按一定时间间隔采样,并依据当前的执行的类型进行区分,可以得到线程执行任务的一个类型序列,很方便地看出该软件运行任务的一个概况,然后对软件中的性能做出调整。首先因为开启一个线程去执行任务需要占据一定的CPU和内存的资源,因此需要尽量地减少开启线程数,复用线程去执行不同的任务。以把类型比较相近的任务都使用某个任务去执行,来减少线程的创建。然后因为现在的CPU都是多核心的,对于CPU密集型比较多的任务,可以根据CPU的核心数,决定能同时运行的线程数,提高运行效率。更进一步,通过分析每个线程执行任务的类型序列,还可以进行异常分析,比如监测实时任务的异常耗时,不合理的锁等待等等。
目前由于线程运行任务的复杂性,没有好的方法可以对线程当前执行的状态进行分类和标注。程序员做上述的调优和监控一般依靠人工手段去分析代码和检查线程运行情况,效率十分低下,由此可见,传统的线程运行状态分类手段存在效率极低的问题。
发明内容
本申请实施例的目的在于提出一种线程运行状态分类方法、装置、计算机设备及存储介质,以解决传统的线程运行状态分类手段存在效率极低的问题。
为了解决上述技术问题,本申请实施例提供一种线程运行状态分类方法,采用了如下所述的技术方案:
获取样本线程数据,其中,所述样本线程数据包括样本堆栈数据;
根据预设好的钩子技术对所述样本堆栈数据进行类型标注操作,得到携带有类型信息的标注堆栈数据;
对所述标注堆栈数据进行向量转化操作,得到标注堆栈向量;
将所述标注堆栈向量以及与所述标注堆栈向量相对应的类型信息作为模型训练数据;
根据所述模型训练数据对初始条件随机场模型进行模型训练操作,得到目标条件随机场模型;
当获取到待分类线程时,将所述待分类线程输入至所述目标条件随机场模型进行类型识别操作,得到与所述待分类线程相对应的分类结果;
输出所述分类结果。
为了解决上述技术问题,本申请实施例还提供一种线程运行状态分类装置,采用了如下所述的技术方案:
样本获取模块,用于获取样本线程数据,其中,所述样本线程数据包括样本堆栈数据;
类型标注模块,用于根据预设好的钩子技术对所述样本堆栈数据进行类型标注操作,得到携带有类型信息的标注堆栈数据;
向量转化模块,用于对所述标注堆栈数据进行向量转化操作,得到标注堆栈向量;
训练数据获取模块,用于将所述标注堆栈向量以及与所述标注堆栈向量相对应的类型信息作为模型训练数据;
模型训练模块,用于根据所述模型训练数据对初始条件随机场模型进行模型训练操作,得到目标条件随机场模型;
模型应用模块,用于当获取到待分类线程时,将所述待分类线程输入至所述目标条件随机场模型进行类型识别操作,得到与所述待分类线程相对应的分类结果;
结果输出模块,用于输出所述分类结果。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如上所述的线程运行状态分类方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如上所述的线程运行状态分类方法的步骤。
本申请提供了一种线程运行状态分类方法,包括:获取样本线程数据,其中,所述样本线程数据包括样本堆栈数据;根据预设好的钩子技术对所述样本堆栈数据进行类型标注操作,得到携带有类型信息的标注堆栈数据;对所述标注堆栈数据进行向量转化操作,得到标注堆栈向量;将所述标注堆栈向量以及与所述标注堆栈向量相对应的类型信息作为模型训练数据;根据所述模型训练数据对初始条件随机场模型进行模型训练操作,得到目标条件随机场模型;当获取到待分类线程时,将所述待分类线程输入至所述目标条件随机场模型进行类型识别操作,得到与所述待分类线程相对应的分类结果;输出所述分类结果。与现有技术相比,本申请通过预设好的钩子技术对样本线程中的堆栈进行数据截取并标注类型信息,无需对所有数据进行逐一标注,在保证标注准确性的前提下,极大减少数据标注的时间,有效提高数据标注的效率,在完成类型标注后,对标注有类型信息的标注堆栈数据进行向量转化,得到用于训练模型的训练数据,并根据该训练数据训练条件随机场模型,当完成模型训练之后,即可调用该训练好的条件随机场模型对获取到的待分类线程进行自动化分类,极大提高对线程运行状态进行分类的效率。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是本申请实施例一提供的线程运行状态分类方法的实现流程图;
图3是本申请实施例一提供的目标条件随机场模型获取方法的一种具体实施方式的流程图;
图4是本申请实施例一提供的CRF模型使用线性链式结构的一种具体实施方式;
图5是图3中步骤S303的一种具体实施方式的流程图;
图6是图3中步骤S304的一种具体实施方式的流程图;
图7是本申请实施例二提供的线程运行状态分类装置的结构示意图;
图8是本申请实施例二提供的目标条件随机场模型获取装置的一种具体实施方式的结构示意图;
图9是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的线程运行状态分类方法一般由服务器/终端设备执行,相应地,线程运行状态分类装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
实施例一
继续参考图2,示出了本申请实施例一提供的线程运行状态分类方法的实现流程图,为了便于说明,仅示出与本申请相关的部分。
上述的线程运行状态分类方法,包括以下步骤:步骤S201、步骤S202、步骤S203、步骤S204、步骤S205、步骤S206以及步骤S207。
在步骤S201中,获取样本线程数据,其中,样本线程数据包括样本堆栈数据。
在本申请实施例中,获取样本线程数据的实现方式可以是通过开启一个监控线程对软件中运行的线程去定时地采样该线程的堆栈,其中,可以在该软件上线运行的时候,去采集该线程的堆栈,并保存在本地,当一个软件结束运行后,将上述采集到的线程堆栈数据上报给后台服务器进行后续处理。
在步骤S202中,根据预设好的钩子技术对样本堆栈数据进行类型标注操作,得到携带有类型信息的标注堆栈数据。
在本申请实施例中,对于Windows系统,它是建立在事件驱动机制上的,说白了就是整个系统都是通过消息传递实现的。该钩子技术(hook)是一种特殊的消息处理机制,它可以监视系统或者进程中的各种事件消息,截获发往目标窗口的消息并进行处理。所以说,我们可以在系统中自定义钩子,用来监视系统中特定事件的发生,完成特定功能,如屏幕取词,监视日志,截获键盘、鼠标输入等等。钩子的种类很多,每种钩子可以截获相应的消息,如键盘钩子可以截获键盘消息,外壳钩子可以截取、启动和关闭应用程序的消息等。钩子可以分为线程钩子和系统钩子,线程钩子可以监视指定线程的事件消息,系统钩子监视系统中的所有线程的事件消息。因为系统钩子会影响系统中所有的应用程序,所以钩子函数必须放在独立的动态链接库(DLL)中。所以说,hook(钩子)就是一个Windows消息的拦截机制,可以拦截单个进程的消息(线程钩子),也可以拦截所有进程的消息(系统钩子),也可以对拦截的消息进行自定义的处理。Windows消息带了一些程序有用的信息,比如Mouse类信息,就带有鼠标所在窗体句柄、鼠标位置等信息,拦截了这些消息,就可以做出例如金山词霸一类的屏幕取词功能。
在本申请实施例中,在进行类型标注操作之前,需要预先定义线程的类型(即上述类型信息),作为示例,线程可以划分为:计算类型、控制类型、锁等待类型、文件读写类型、网络收发类型等等,应当理解,此处对类型的举例仅为方便理解,不用于限定本申请。
在本申请实施例中,考虑到上报的线程堆栈数据非常庞大,对该线程堆栈数据进行逐一标注的工作量非常大,非常耗费时间,因此采用hook的手段,将比如锁等待类型、文件读写类型、网络收发类型的底层函数进行hook,替换为我们自己的一个实现函数。当碰到这些函数的时候就可以直接认为是对应的标注类型。以此来减少标注的数据。
在步骤S203中,对标注堆栈数据进行向量转化操作,得到标注堆栈向量。
在步骤S204中,将标注堆栈向量以及与标注堆栈向量相对应的类型信息作为模型训练数据。
在步骤S205中,根据模型训练数据对初始条件随机场模型进行模型训练操作,得到目标条件随机场模型。
在本申请实施例中,条件随机场模型(conditional random field,简称CRF)是一种无向图结构模型,在无向图中,任何一个全连通(任意两个顶点间都有边相连)的子图称为一个团(clique),不能被其他团所包含的成为最大团。在给定观测序列的条件下,CRF模型可以建立一个观测序列和标记序列的联合概率模型。在建立CRF模型时,最简单的也是使用最多的时线性链式结构。
在步骤S206中,当获取到待分类线程时,将待分类线程输入至目标条件随机场模型进行类型识别操作,得到与待分类线程相对应的分类结果。
在本申请实施例中,在模型训练完成得到目标条件随机场模型后,就可以利用训练好的模型,对运行的线程每隔一段时间进行类型标注。得到类型标注的一个序列。
在步骤S207中,输出分类结果。
在本申请实施例中,提供了一种线程运行状态分类方法,包括:获取样本线程数据,其中,所述样本线程数据包括样本堆栈数据;根据预设好的钩子技术对所述样本堆栈数据进行类型标注操作,得到携带有类型信息的标注堆栈数据;对所述标注堆栈数据进行向量转化操作,得到标注堆栈向量;将所述标注堆栈向量以及与所述标注堆栈向量相对应的所述类型信息作为模型训练数据;根据所述模型训练数据对初始条件随机场模型进行模型训练操作,得到目标条件随机场模型;当获取到待分类线程时,将所述待分类线程输入至所述目标条件随机场模型进行类型识别操作,得到与所述待分类线程相对应的分类结果;输出所述分类结果。与现有技术相比,本申请通过预设好的钩子技术对样本线程中的堆栈进行数据截取并标注类型信息,无需对所有数据进行逐一标注,在保证标注准确性的前提下,极大减少数据标注的时间,有效提高数据标注的效率,在完成类型标注后,对标注有类型信息的标注堆栈数据进行向量转化,得到用于训练模型的训练数据,并根据该训练数据训练条件随机场模型,当完成模型训练之后,即可调用该训练好的条件随机场模型对获取到的待分类线程进行自动化分类,极大提高对线程运行状态进行分类的效率。
继续参阅图3,示出了本申请实施例一提供的目标条件随机场模型获取方法的一种具体实施方式的流程图,为了便于说明,仅示出与本申请相关的部分。
在本实施例的一些可选的实现方式中,在步骤S205之前,还包括:步骤S301以及步骤S302,步骤S205,具体包括:步骤S303以及步骤S304。
在步骤S301中,调用原始条件随机场模型,并初始化原始条件随机场模型的特征权重参数λ,得到初始条件随机场模型。
在本申请实施例中,在训练模型之前,首先需要对CRF模型进行参数初始化设置,其中,最主要的是对特征权重参数λ的确定,其中,初始化该特征权重参数λ可以根据具体情况进行设定,具体的,本申请为了保证测试结果的稳定性,本申请对该特征权重参数λ的初始值设定为零,其维数由训练样本个数和状态数决定,对参数进行初始化设置之后即可继续宁模型训练。
在步骤S302中,获取用于模型训练操作的收敛精度ε。
在步骤S303中,将模型训练数据输入至初始条件随机场模型进行迭代运算操作,并根据拟牛顿算法计算参数,直至梯度小于或者等于收敛精度ε时,停止迭代运算操作。
在本申请实施例中,对给定的输入节点xi,CRF模型可以计算出指定输出节点yi的条件概率,i表示节点在序列X={x1,x2,x3,…,xt}和Y={y1,y2,y3,…,yt}中的位置。
在本申请实施例中,该CRF模型使用线性链式结构,如图4所示,输入节点集合X={x1,x2,x3,…,xt}表示可被观测的输入序列,输出节点集合Y={y1,y2,y3,…,yt}对应于口碑模型预测的输出状态,它们并不是由模型产生的,因此相互之间不存在依赖关系,也无需做独立性假设。
在步骤S304中,根据最大似然估计求解法确定迭代运算操作后的初始条件随机场模型的特征权重参数λ,得到目标条件随机场模型。
继续参阅图5,示出了图3中步骤S303的一种具体实施方式的流程图,为了便于说明,仅示出与本申请相关的部分。
在本实施例的一些可选的实现方式中,步骤S303具体包括:步骤S501以及步骤S502。
在步骤S501中,根据所述初始条件随机场模型建立一个观测序列和标记序列相对应的联合概率模型,其中,所述观测序列为所述标注堆栈向量,所述标记序列为所述类型信息。
在步骤S502中,根据所述标注堆栈向量对所述初始条件随机场模型进行参数训练,得到条件随机场模型各个参数的值,从而建立对应不同类型信息的目标条件随机长模型。
在本实施例的一些可选的实现方式中,联合概率模型表示为:
Figure BDA0003665765220000101
其中,Y*表示在以X为条件的所述初始条件随机场模型(X,Y)中,Y倾向于满足最大全局条件的概率;λ表示所述特征权重参数;F表示条件随机场中所述输入数据序列X和所述标记序列Y的全局特征;x和y分别表示所述输入数据序列X和所述标记序列Y中的值。
在本申请实施例中,对于输入数据序列X和标记序列Y,条件随机场的全局特征表示为:
Figure BDA0003665765220000102
其中,x和y分别为输入数据序列X和标记序列Y中的值,i遍历输入序列中的所有位置,f(y,x,i)表示在i位置时各个特征组成的特征向量。
在本申请实施例中,依据随机场基本定理,如果图4中的标记序列Y={y1,y2,…,yt}是一个树形结构(线性链是树形结构的特例),那么给定观察序列X={x1,x2,…,xt},标记序列Y的条件概率如下:
Fλ(Y|X)∝exp[λ·F(Y,X)]
其中,Fλ(Y|X)表示在引入特征权重参数λ后的全局条件概率;λ表示为需要估算的特征权重参数,可从训练样本数据中估计得到;大的、非负的λ参数值意味着优先选择相应的特征事件,负值对应的特征事件不太可能发生。
在本申请实施例中,在给定观察序列X的条件下,引入归一化因子Zλ(x),则标记序列Y的条件概率可以得到:
Figure BDA0003665765220000103
在本申请实施例中,归一化因子Zλ(x)可以表示为:
Figure BDA0003665765220000111
在本申请实施例中,链式CRF的模型推理是指在给定一个观察序列X={x1,x2,…,xt}的条件下,找到一个对应于X的最可能的标记序列Y={y1,y2,…,yt}。
在本申请实施例中,用CRF建立Fλ(Y|X)的概率模型时,要寻求Fλ(Y|X)的最大化,满足此条件的标记y*即为最佳标记,其中Zλ(x)与y是非相关的,因此y*可以表示为:
Figure BDA0003665765220000112
在本申请实施例中,利用维特比(Viterbi)等动态规划算法,可以求出最佳标记y*
在本申请实施例中,特征权重参数λ=(λ1,λ2...λt)的估计是CRF模型的一个重要工作,目前主要的参数估计的方法有两种:最大似然估计和贝叶斯估计。一般用最大似然估计较为普遍,本发明采用最大似然估计求解。
在本申请实施例中,在给定完备的标记磨损训练集{xi,yi}i=1,2…t的条件下,特征权重参数λ可以通过最优化训练集的条件对数似然(log-likelihood)求解出。
继续参阅图6,示出了图3中步骤S304的一种具体实施方式的流程图,为了便于说明,仅示出与本申请相关的部分。
在本实施例的一些可选的实现方式中,步骤S304具体包括:步骤S601。
在步骤S601中,根据导数公式对上述特征权重参数λ进行求导操作,得到所述迭代运算操作后的初始条件随机场模型的特征权重参数λ,其中,所述导数公式表示为:
Figure BDA0003665765220000113
其中,x和y分别表示输入数据序列X和标记序列Y中的值;i遍历输入序列中的所有位置;F(Y,xi)表示对于输入数据序列X和标记序列Y,所述条件随机场的全局特征;P(Y|X)表示全局条件概率。
在本申请实施例中,给定训练数据样本集为
Figure BDA0003665765220000121
且样本相互独立。对数似然估计的任务是从相互独立的训练数据中估计λi(i表示在λ序列中的位置),从而得到特征权重参数λ的值。
在本申请实施例中,条件概率Fλ(Y|X)的似然函数为:
Figure BDA0003665765220000122
其中,xi表示在输入数据序列X中i位置的值;yi表示在标记序列Y中i位置的值。
在本申请实施例中,L(λ)可以看成是关于λ的函数,最大似然估计的任务即从中求出
Figure BDA0003665765220000123
满足:
Figure BDA0003665765220000124
其中,
Figure BDA0003665765220000125
表示最终特征权重参数值。
在本申请实施例中,根据上述推导可知,
Figure BDA0003665765220000126
Figure BDA0003665765220000127
对参数λ进行求导,导数为零的点即为最值点,该导数公式为:
Figure BDA0003665765220000128
其中,x和y分别表示输入数据序列X和标记序列Y中的值;i遍历输入序列中的所有位置;F(Y,xi)表示对于输入数据序列X和标记序列Y,所述条件随机场的全局特征;P(Y|X)表示全局条件概率。
在本申请实施例中,数学期望
Figure BDA0003665765220000129
可以通过前向-后向算法(forward-backward algorithm)的变种快速地计算出来。
需要强调的是,为进一步保证上述分类结果的私密和安全性,上述分类结果还可以存储于一区块链的节点中。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例二
进一步参考图7,作为对上述图2所示方法的实现,本申请提供了一种线程运行状态分类装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图7所示,本实施例所述的线程运行状态分类装置200包括:样本获取模块210、类型标注模块220、向量转化模块230、训练数据获取模块240、模型训练模块250、模型应用模块260以及结果输出模块270。其中:
样本获取模块210,用于获取样本线程数据,其中,样本线程数据包括样本堆栈数据;
类型标注模块220,用于根据预设好的钩子技术对样本堆栈数据进行类型标注操作,得到携带有类型信息的标注堆栈数据;
向量转化模块230,用于对标注堆栈数据进行向量转化操作,得到标注堆栈向量;
训练数据获取模块240,用于将标注堆栈向量以及与标注堆栈向量相对应的类型信息作为模型训练数据;
模型训练模块250,用于根据模型训练数据对初始条件随机场模型进行模型训练操作,得到目标条件随机场模型;
模型应用模块260,用于当获取到待分类线程时,将待分类线程输入至目标条件随机场模型进行类型识别操作,得到与待分类线程相对应的分类结果;
结果输出模块270,用于输出分类结果。
在本申请实施例中,获取样本线程数据的实现方式可以是通过开启一个监控线程对软件中运行的线程去定时地采样该线程的堆栈,其中,可以在该软件上线运行的时候,去采集该线程的堆栈,并保存在本地,当一个软件结束运行后,将上述采集到的线程堆栈数据上报给后台服务器进行后续处理。
在本申请实施例中,对于Windows系统,它是建立在事件驱动机制上的,说白了就是整个系统都是通过消息传递实现的。该钩子技术(hook)是一种特殊的消息处理机制,它可以监视系统或者进程中的各种事件消息,截获发往目标窗口的消息并进行处理。所以说,我们可以在系统中自定义钩子,用来监视系统中特定事件的发生,完成特定功能,如屏幕取词,监视日志,截获键盘、鼠标输入等等。钩子的种类很多,每种钩子可以截获相应的消息,如键盘钩子可以截获键盘消息,外壳钩子可以截取、启动和关闭应用程序的消息等。钩子可以分为线程钩子和系统钩子,线程钩子可以监视指定线程的事件消息,系统钩子监视系统中的所有线程的事件消息。因为系统钩子会影响系统中所有的应用程序,所以钩子函数必须放在独立的动态链接库(DLL)中。所以说,hook(钩子)就是一个Windows消息的拦截机制,可以拦截单个进程的消息(线程钩子),也可以拦截所有进程的消息(系统钩子),也可以对拦截的消息进行自定义的处理。Windows消息带了一些程序有用的信息,比如Mouse类信息,就带有鼠标所在窗体句柄、鼠标位置等信息,拦截了这些消息,就可以做出例如金山词霸一类的屏幕取词功能。
在本申请实施例中,在进行类型标注操作之前,需要预先定义线程的类型(即上述类型信息),作为示例,线程可以划分为:计算类型、控制类型、锁等待类型、文件读写类型、网络收发类型等等,应当理解,此处对类型的举例仅为方便理解,不用于限定本申请。
在本申请实施例中,考虑到上报的线程堆栈数据非常庞大,对该线程堆栈数据进行逐一标注的工作量非常大,非常耗费时间,因此采用hook的手段,将比如锁等待类型、文件读写类型、网络收发类型的底层函数进行hook,替换为我们自己的一个实现函数。当碰到这些函数的时候就可以直接认为是对应的标注类型。以此来减少标注的数据。
在本申请实施例中,在模型训练完成得到目标条件随机场模型后,就可以利用训练好的模型,对运行的线程每隔一段时间进行类型标注。得到类型标注的一个序列。
在本申请实施例中,提供了一种线程运行状态分类装置200,包括:样本获取模块210,用于获取样本线程数据,其中,样本线程数据包括样本堆栈数据;类型标注模块220,用于根据预设好的钩子技术对样本堆栈数据进行类型标注操作,得到携带有类型信息的标注堆栈数据;向量转化模块230,用于对标注堆栈数据进行向量转化操作,得到标注堆栈向量;训练数据获取模块240,用于将标注堆栈向量以及与标注堆栈向量相对应的类型信息作为模型训练数据;模型训练模块250,用于根据模型训练数据对初始条件随机场模型进行模型训练操作,得到目标条件随机场模型;模型应用模块260,用于当获取到待分类线程时,将待分类线程输入至目标条件随机场模型进行类型识别操作,得到与待分类线程相对应的分类结果;结果输出模块270,用于输出分类结果。与现有技术相比,本申请通过预设好的钩子技术对样本线程中的堆栈进行数据截取并标注类型信息,无需对所有数据进行逐一标注,在保证标注准确性的前提下,极大减少数据标注的时间,有效提高数据标注的效率,在完成类型标注后,对标注有类型信息的标注堆栈数据进行向量转化,得到用于训练模型的训练数据,并根据该训练数据训练条件随机场模型,当完成模型训练之后,即可调用该训练好的条件随机场模型对获取到的待分类线程进行自动化分类,极大提高对线程运行状态进行分类的效率。
继续参阅图8,示出了本申请实施例二提供的目标条件随机场模型获取装置的一种具体实施方式的结构示意图,为了便于说明,仅示出与本申请相关的部分。
在本实施例的一些可选的实现方式中,上述线程运行状态分类装置200还包括:所述初始化模块280以及所述精度获取模块290,上述模型训练模块250包括:迭代运算子模块251以及参数确定子模块252,其中:
所述初始化模块280,用于调用原始条件随机场模型,并初始化所述原始条件随机场模型的特征权重参数λ,得到所述初始条件随机场模型;
所述精度获取模块290,用于获取用于所述模型训练操作的收敛精度ε;
所述迭代运算子模块251,用于将所述模型训练数据输入至所述初始条件随机场模型进行迭代运算操作,并根据拟牛顿算法计算参数,直至梯度小于或者等于所述收敛精度ε时,停止所述迭代运算操作;
所述参数确定子模块252,用于根据最大似然估计求解法确定迭代运算操作后的初始条件随机场模型的特征权重参数λ,得到所述目标条件随机场模型。
在本申请实施例中,在训练模型之前,首先需要对CRF模型进行参数初始化设置,其中,最主要的是对特征权重参数λ的确定,其中,初始化该特征权重参数λ可以根据具体情况进行设定,具体的,本申请为了保证测试结果的稳定性,本申请对该特征权重参数λ的初始值设定为零,其维数由训练样本个数和状态数决定,对参数进行初始化设置之后即可继续宁模型训练。
在本申请实施例中,对给定的输入节点xi,CRF模型可以计算出指定输出节点yi的条件概率,i表示节点在序列X={x1,x2,x3,…,xt}和Y={y1,y2,y3,…,yt}中的位置。
在本申请实施例中,该CRF模型使用线性链式结构,如图4所示,输入节点集合X={x1,x2,x3,…,xt}表示可被观测的输入序列,输出节点集合Y={y1,y2,y3,…,yt}对应于口碑模型预测的输出状态,它们并不是由模型产生的,因此相互之间不存在依赖关系,也无需做独立性假设。
在本实施例的一些可选的实现方式中,上述迭代运算子模块251包括:第一迭代运算单元以及第二迭代运算单元,其中:
第一迭代运算单元,用于根据所述初始条件随机场模型建立一个观测序列和标记序列相对应的联合概率模型,其中,所述观测序列为所述标注堆栈向量,所述标记序列为所述类型信息。
第二迭代运算单元,用于根据所述标注堆栈向量对所述初始条件随机场模型进行参数训练,得到条件随机场模型各个参数的值,从而建立对应不同类型信息的目标条件随机长模型。
在本实施例的一些可选的实现方式中,联合概率模型表示为:
Figure BDA0003665765220000171
其中,Y*表示在以X为条件的所述初始条件随机场模型(X,Y)中,Y倾向于满足最大全局条件的概率;λ表示所述特征权重参数;F表示条件随机场中所述输入数据序列X和所述标记序列Y的全局特征;x和y分别表示所述输入数据序列X和所述标记序列Y中的值。
在本申请实施例中,对于输入数据序列X和标记序列Y,条件随机场的全局特征表示为:
Figure BDA0003665765220000181
其中,x和y分别为输入数据序列X和标记序列Y中的值,i遍历输入序列中的所有位置,f(y,x,i)表示在i位置时各个特征组成的特征向量。
在本申请实施例中,依据随机场基本定理,如果图4中的标记序列Y={y1,y2,…,yt}是一个树形结构(线性链是树形结构的特例),那么给定观察序列X={x1,x2,…,xt},标记序列Y的条件概率如下:
Fλ(Y|X)∝exp[λ·F(Y,X)]
其中,Fλ(Y|X)表示在引入特征权重参数λ后的全局条件概率;λ表示为需要估算的特征权重参数,可从训练样本数据中估计得到;大的、非负的λ参数值意味着优先选择相应的特征事件,负值对应的特征事件不太可能发生。
在本申请实施例中,在给定观察序列X的条件下,引入归一化因子Zλ(x),则标记序列Y的条件概率可以得到:
Figure BDA0003665765220000182
在本申请实施例中,归一化因子Zλ(x)可以表示为:
Figure BDA0003665765220000183
在本申请实施例中,链式CRF的模型推理是指在给定一个观察序列X={x1,x2,…,xt}的条件下,找到一个对应于X的最可能的标记序列Y={y1,y2,…,yt}。
在本申请实施例中,用CRF建立Fλ(Y|X)的概率模型时,要寻求Fλ(Y|X)的最大化,满足此条件的标记y*即为最佳标记,其中Zλ(x)与y是非相关的,因此y*可以表示为:
Figure BDA0003665765220000191
在本申请实施例中,利用维特比(Viterbi)等动态规划算法,可以求出最佳标记y*
在本申请实施例中,特征权重参数λ=(λ1,λ2...λt)的估计是CRF模型的一个重要工作,目前主要的参数估计的方法有两种:最大似然估计和贝叶斯估计。一般用最大似然估计较为普遍,本发明采用最大似然估计求解。
在本申请实施例中,在给定完备的标记磨损训练集{xi,yi}i=1,2…t的条件下,特征权重参数λ可以通过最优化训练集的条件对数似然(log-likelihood)求解出。
在本实施例的一些可选的实现方式中,所述参数确定子模块252包括:求导单元,其中:
求导单元,用于根据导数公式对上述特征权重参数λ进行求导操作,得到所述迭代运算操作后的初始条件随机场模型的特征权重参数λ,其中,所述导数公式表示为:
Figure BDA0003665765220000192
其中,x和y分别表示输入数据序列X和标记序列Y中的值;i遍历输入序列中的所有位置;F(Y,xi)表示对于输入数据序列X和标记序列Y,所述条件随机场的全局特征;P(Y|X)表示全局条件概率。
在本申请实施例中,给定训练数据样本集为
Figure BDA0003665765220000193
且样本相互独立。对数似然估计的任务是从相互独立的训练数据中估计λi(i表示在λ序列中的位置),从而得到特征权重参数λ的值。
在本申请实施例中,条件概率Fλ(Y|X)的似然函数为:
Figure BDA0003665765220000194
其中,xi表示在输入数据序列X中i位置的值;yi表示在标记序列Y中i位置的值。
在本申请实施例中,L(λ)可以看成是关于λ的函数,最大似然估计的任务即从中求出
Figure BDA0003665765220000201
满足:
Figure BDA0003665765220000202
其中,
Figure BDA0003665765220000203
表示最终特征权重参数值。
在本申请实施例中,根据上述推导可知,
Figure BDA0003665765220000204
Figure BDA0003665765220000205
对参数λ进行求导,导数为零的点即为最值点,该导数公式为:
Figure BDA0003665765220000206
其中,x和y分别表示输入数据序列X和标记序列Y中的值;i遍历输入序列中的所有位置;F(Y,xi)表示对于输入数据序列X和标记序列Y,所述条件随机场的全局特征;P(Y|X)表示全局条件概率。
在本申请实施例中,数学期望
Figure BDA0003665765220000207
可以通过前向-后向算法(forward-backward algorithm)的变种快速地计算出来。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图9,图9为本实施例计算机设备基本结构框图。
所述计算机设备300包括通过系统总线相互通信连接存储器310、处理器320、网络接口330。需要指出的是,图中仅示出了具有组件310-330的计算机设备300,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器310至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器310可以是所述计算机设备300的内部存储单元,例如该计算机设备300的硬盘或内存。在另一些实施例中,所述存储器310也可以是所述计算机设备300的外部存储设备,例如该计算机设备300上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器310还可以既包括所述计算机设备300的内部存储单元也包括其外部存储设备。本实施例中,所述存储器310通常用于存储安装于所述计算机设备300的操作系统和各类应用软件,例如线程运行状态分类方法的计算机可读指令等。此外,所述存储器310还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器320在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器320通常用于控制所述计算机设备300的总体操作。本实施例中,所述处理器320用于运行所述存储器310中存储的计算机可读指令或者处理数据,例如运行所述线程运行状态分类方法的计算机可读指令。
所述网络接口330可包括无线网络接口或有线网络接口,该网络接口330通常用于在所述计算机设备300与其他电子设备之间建立通信连接。
本申请提供的计算机设备,通过预设好的钩子技术对样本线程中的堆栈进行数据截取并标注类型信息,无需对所有数据进行逐一标注,在保证标注准确性的前提下,极大减少数据标注的时间,有效提高数据标注的效率,在完成类型标注后,对标注有类型信息的标注堆栈数据进行向量转化,得到用于训练模型的训练数据,并根据该训练数据训练条件随机场模型,当完成模型训练之后,即可调用该训练好的条件随机场模型对获取到的待分类线程进行自动化分类,极大提高对线程运行状态进行分类的效率。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的线程运行状态分类方法的步骤。
本申请提供的计算机可读存储介质,通过预设好的钩子技术对样本线程中的堆栈进行数据截取并标注类型信息,无需对所有数据进行逐一标注,在保证标注准确性的前提下,极大减少数据标注的时间,有效提高数据标注的效率,在完成类型标注后,对标注有类型信息的标注堆栈数据进行向量转化,得到用于训练模型的训练数据,并根据该训练数据训练条件随机场模型,当完成模型训练之后,即可调用该训练好的条件随机场模型对获取到的待分类线程进行自动化分类,极大提高对线程运行状态进行分类的效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (10)

1.一种线程运行状态分类方法,其特征在于,包括下述步骤:
获取样本线程数据,其中,所述样本线程数据包括样本堆栈数据;
根据预设好的钩子技术对所述样本堆栈数据进行类型标注操作,得到携带有类型信息的标注堆栈数据;
对所述标注堆栈数据进行向量转化操作,得到标注堆栈向量;
将所述标注堆栈向量以及与所述标注堆栈向量相对应的类型信息作为模型训练数据;
根据所述模型训练数据对初始条件随机场模型进行模型训练操作,得到目标条件随机场模型;
当获取到待分类线程时,将所述待分类线程输入至所述目标条件随机场模型进行类型识别操作,得到与所述待分类线程相对应的分类结果;
输出所述分类结果。
2.根据权利要求1所述的线程运行状态分类方法,其特征在于,在所述根据所述模型训练数据对初始条件随机场模型进行模型训练操作,得到目标条件随机场模型的步骤之前,还包括下述步骤:
调用原始条件随机场模型,并初始化所述原始条件随机场模型的特征权重参数λ,得到所述初始条件随机场模型;
获取用于所述模型训练操作的收敛精度ε;
所述根据所述模型训练数据对初始条件随机场模型进行模型训练操作,得到目标条件随机场模型的步骤,具体包括下述步骤:
将所述模型训练数据输入至所述初始条件随机场模型进行迭代运算操作,并根据拟牛顿算法计算参数,直至梯度小于或者等于所述收敛精度ε时,停止所述迭代运算操作;
根据最大似然估计求解法确定迭代运算操作后的初始条件随机场模型的特征权重参数λ,得到所述目标条件随机场模型。
3.根据权利要求2所述的线程运行状态分类方法,其特征在于,所述将所述模型训练数据输入至所述初始条件随机场模型进行迭代运算操作,并根据拟牛顿算法计算参数,直至梯度小于或者等于所述收敛精度ε时,停止所述迭代运算操作的步骤,具体包括下述步骤:
根据所述初始条件随机场模型建立一个观测序列和标记序列相对应的联合概率模型,其中,所述观测序列为所述标注堆栈向量,所述标记序列为所述类型信息;
根据所述标注堆栈向量对所述初始条件随机场模型进行参数训练,得到条件随机场模型各个参数的值,从而建立对应不同类型信息的目标条件随机长模型。
4.根据权利要求3所述的线程运行状态分类方法,其特征在于,所述联合概率模型表示为:
Figure FDA0003665765210000021
其中,y*表示在以X为条件的所述初始条件随机场模型(X,Y)中,y倾向于满足最大全局条件的概率;λ表示所述特征权重参数;F表示条件随机场中所述输入数据序列X和所述标记序列Y的全局特征;x和y分别表示所述输入数据序列X和所述标记序列Y中的值。
5.根据权利要求2所述的线程运行状态分类方法,其特征在于,所述根据最大似然估计求解法确定迭代运算操作后的初始条件随机场模型的特征权重参数λ,得到所述目标条件随机场模型的步骤,具体包括下述步骤:
根据导数公式对上述特征权重参数λ进行求导操作,得到所述迭代运算操作后的初始条件随机场模型的特征权重参数λ,其中,所述导数公式表示为:
Figure FDA0003665765210000022
其中,x和y分别表示输入数据序列X和标记序列Y中的值;i遍历输入序列中的所有位置;F(Y,xi)表示对于输入数据序列X和标记序列Y,所述条件随机场的全局特征;P(Y|X)表示全局条件概率。
6.根据权利要求1所述的线程运行状态分类方法,其特征在于,在所述当获取到待分类线程时,将所述待分类线程输入至所述目标条件随机场模型进行类型识别操作,得到与所述待分类线程相对应的分类结果的步骤之后,还包括下述步骤:
将所述分类结果存储至区块链中。
7.一种线程运行状态分类装置,其特征在于,包括:
样本获取模块,用于获取样本线程数据,其中,所述样本线程数据包括样本堆栈数据;
类型标注模块,用于根据预设好的钩子技术对所述样本堆栈数据进行类型标注操作,得到携带有类型信息的标注堆栈数据;
向量转化模块,用于对所述标注堆栈数据进行向量转化操作,得到标注堆栈向量;
训练数据获取模块,用于将所述标注堆栈向量以及与所述标注堆栈向量相对应的类型信息作为模型训练数据;
模型训练模块,用于根据所述模型训练数据对初始条件随机场模型进行模型训练操作,得到目标条件随机场模型;
模型应用模块,用于当获取到待分类线程时,将所述待分类线程输入至所述目标条件随机场模型进行类型识别操作,得到与所述待分类线程相对应的分类结果;
结果输出模块,用于输出所述分类结果。
8.根据权利要求7所述的线程运行状态分类装置,其特征在于,所述装置还包括:初始化模块以及精度获取模块,所述模型训练模块包括:迭代运算子模块以及参数确定子模块,其中:
所述初始化模块,用于调用原始条件随机场模型,并初始化所述原始条件随机场模型的特征权重参数λ,得到所述初始条件随机场模型;
所述精度获取模块,用于获取用于所述模型训练操作的收敛精度ε;
所述迭代运算子模块,用于将所述模型训练数据输入至所述初始条件随机场模型进行迭代运算操作,并根据拟牛顿算法计算参数,直至梯度小于或者等于所述收敛精度ε时,停止所述迭代运算操作;
所述参数确定子模块,用于根据最大似然估计求解法确定迭代运算操作后的初始条件随机场模型的特征权重参数λ,得到所述目标条件随机场模型。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至6中任一项所述的线程运行状态分类方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至6中任一项所述的线程运行状态分类方法的步骤。
CN202210592085.1A 2022-05-27 2022-05-27 线程运行状态分类方法、装置、计算机设备及存储介质 Pending CN114968719A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210592085.1A CN114968719A (zh) 2022-05-27 2022-05-27 线程运行状态分类方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210592085.1A CN114968719A (zh) 2022-05-27 2022-05-27 线程运行状态分类方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN114968719A true CN114968719A (zh) 2022-08-30

Family

ID=82958383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210592085.1A Pending CN114968719A (zh) 2022-05-27 2022-05-27 线程运行状态分类方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN114968719A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115168059A (zh) * 2022-09-07 2022-10-11 平安银行股份有限公司 系统内核监测方法、装置、终端设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115168059A (zh) * 2022-09-07 2022-10-11 平安银行股份有限公司 系统内核监测方法、装置、终端设备及存储介质
CN115168059B (zh) * 2022-09-07 2022-12-16 平安银行股份有限公司 系统内核监测方法、装置、终端设备及存储介质

Similar Documents

Publication Publication Date Title
CN112162965B (zh) 一种日志数据处理的方法、装置、计算机设备及存储介质
CN112863683A (zh) 基于人工智能的病历质控方法、装置、计算机设备及存储介质
CN112613917A (zh) 基于用户画像的信息推送方法、装置、设备及存储介质
CN112365202B (zh) 一种多目标对象的评价因子筛选方法及其相关设备
CN112528029A (zh) 文本分类模型处理方法、装置、计算机设备及存储介质
CN114398477A (zh) 基于知识图谱的政策推荐方法及其相关设备
CN114564294A (zh) 智能服务编排方法、装置、计算机设备及存储介质
CN112181835A (zh) 自动化测试方法、装置、计算机设备及存储介质
CN112288163A (zh) 目标对象的目标因子预测方法及相关设备
CN112631751A (zh) 任务调度方法、装置、计算机设备及存储介质
CN113254445A (zh) 实时数据存储方法、装置、计算机设备及存储介质
CN114124460A (zh) 工控系统入侵检测方法、装置、计算机设备及存储介质
CN115757075A (zh) 任务异常检测方法、装置、计算机设备及存储介质
CN114968719A (zh) 线程运行状态分类方法、装置、计算机设备及存储介质
CN113420161A (zh) 一种节点文本融合方法、装置、计算机设备及存储介质
CN114281552A (zh) 一种基于有向无环图的任务调度方法、装置、设备及介质
CN114398466A (zh) 基于语义识别的投诉分析方法、装置、计算机设备及介质
CN112182157A (zh) 在线序列标注模型的训练方法、在线标注方法及相关设备
CN111143568A (zh) 一种论文分类时的缓冲方法、装置、设备及存储介质
CN115545753A (zh) 一种基于贝叶斯算法的合作伙伴预测方法及相关设备
CN115730603A (zh) 基于人工智能的信息提取方法、装置、设备及存储介质
CN114549053A (zh) 数据分析方法、装置、计算机设备及存储介质
CN112732925A (zh) 基于图谱的确定投资数据的方法、存储介质及相关设备
CN112084408A (zh) 名单数据筛选方法、装置、计算机设备及存储介质
CN113726785B (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