1.一种计算机软件故障监测系统,其特征在于,包括硬件信息采集模块、负载信息采集模块、运行记录生成模块、卡顿检测模块、退出检测模块、故障提醒模块、交互界面标记模块;
所述硬件信息采集模块用于在启动软件后,生成计算机的硬件信息,所述硬件信息包括处理器信息、显卡信息;
所述负载信息采集模块用于记录计算机在软件运行时的负载信息,所述负载信息包括处理器负载状态、显卡负载状态、网络负载状态;且处理器负载状态、显卡负载状态、网络负载状态均分为高、中、低三个等级;
所述交互界面标记模块用于对软件的各个交互界面生成唯一的识别码,还用于标记各个交互界面的快捷键和交互按键;
所述运行记录生成模块用于在启动软件后,记录所有交互界面运行时间、交互界面的平均帧渲染时间、交互界面的识别码作为运行信息;还用于在软件停止运行后,将运行信息、硬件信息、负载信息关联后生成运行记录;
所述卡顿检测模块用于计算软件卡顿的标准,并在出现卡顿时进行标记;
所述退出检测模块用于在程序退出时,确定程序是正常退出还是软件导致的退出故障;
所述故障提醒模块用于在卡顿检测模块检测到卡顿时,获取实时的负载信息,若负载信息中的任意项的负载状态为高,则发出硬件导致卡顿故障的提醒;若负载信息中所有项的负载状态均为中或低,则发出软件导致卡顿故障的提醒;还用于在程序退出后,获取运行记录的标记,在退出检测模块标记为正常退出后,发出操作导致退出的提醒,若标记为退出故障,则发出软件导致退出的提醒。
2.根据权利要求1所述的一种计算机软件故障监测系统,其特征在于,所述负载信息采集模块获取处理器负载状态、显卡负载状态、网络负载状态的具体方法如下:S1、当处理器负载不超过50%时,将处理器负载状态记为低,当处理器负载超过50%且不超过90%时,将处理器负载状态记为中,当处理器负载超过90%时,将处理器负载状态记为高;
S2、当显卡负载状态不超过30%时,将显卡负载状态记为低,当显卡负载超过30%且不超过85%时,将显卡负载状态记为中,当显卡负载超过85%时,将显卡负载状态记为高;
S3、当网络负载不超过20%时,将显卡负载状态记为低,当显卡负载超过20%且不超过
70%时,将显卡负载状态记为中,当显卡负载超过70%时,将显卡负载状态记为高。
3.根据权利要求1所述的一种计算机软件故障监测系统,其特征在于,所述卡顿检测模块包括帧渲染检测单元和卡顿故障判定单元;
所述帧渲染检测单元用于实时获取交互界面的帧渲染时间并将帧渲染时间与该交互界面的识别码关联;
所述卡顿故障判定单元用于根据运行记录计算该计算机对该交互界面的标准帧渲染时间Ts;并根据标准帧渲染时间Ts判定软件出现卡顿故障;
且帧渲染检测单元计算标准帧渲染时间Ts以及卡顿故障判定单元判定软件出现卡顿故障的方法如下:H1、帧渲染检测单元在进入交互界面后,获取交互界面的识别码,并记录实时的帧渲染时间,直至退出交互界面,生成该交互界面的运行时间段A,计算该交互界面的平均帧渲染时间Ta;
H2、卡顿故障判定单元从运行记录生成模块获取运行记录,从中提取运行时间段A对应的硬件信息和负载信息;
H3、卡顿故障判定单元从所有运行记录中筛选出具有硬件信息相同的运行记录,从中筛选出包含相同识别码的运行记录,从中筛选出负载信息均为低的运行记录作为样本记录;
H4、卡顿故障判定单元从各个样本记录中获取相同识别码且标记为正常的交互界面平均帧渲染时间集合Az,计算集合Az内元素的平均值,作为标准帧渲染时间Ts;
H5、卡顿故障判定单元比较平均帧渲染时间Ta与标准帧渲染时间Ts的大小,若Ta≥Ts,则将该交互界面的平均帧渲染时间标记为正常,若Ta<Ts,则将该交互界面的平均帧渲染时间标记为卡顿。
4.根据权利要求1所述的一种计算机软件故障监测系统,其特征在于,所述退出检测模块包括输入记录单元、退出故障判定单元;所述输入记录单元用于在程序启动后,按时间顺序记录用户的输入指令生成指令时间轴;
所述退出故障判定单元用于根据指令时间轴以及运行记录判定退出故障;且具体的判定步骤如下:K1、获取生成时间最近的交互界面运行时间,获取交互界面的识别码并以该交互界面运行时间的结束时刻作为退出时间,并获取识别码对应的交互界面的快捷键集合B和交互按键位置区间P;
K2、从快捷键集合B中筛选出退出快捷键集合;从交互按键位置区间P中筛选出退出按键位置集合;
K3、从指令时间轴中提取软件退出时间对应的输入指令;若输入指令属于退出快捷键或退出按键位置集合;则将该运行记录标记为正常退出;若输入指令不属于退出快捷键或退出按键位置集合中的任意一个,则将该运行记录标记为退出故障。
5.根据权利要求4所述的一种计算机软件故障监测系统,其特征在于,所述输入记录单元包括键盘、鼠标、触屏和时间同步组件;且输入记录单元生成指令时间轴的方法如下:C1、时间同步组件获取当前交互界面的交互按键位置区间P以及快捷键集合B;
C2、当程序置顶时,时间同步组件以采样率f记录通过键盘输入的按键b,当b∈B时,将按键b记录为键盘按键指令;同时以采样率f获取通过鼠标或触屏点击的按键位置p;当p∈P时,将位置信息p记录为点击按键指令;
C3、将在1/f秒内的键盘按键指令和点击按键指令生成同一个输入指令,并与对应的时间点关联;以此类推,获得所有时间点的输入指令集合,并与交互界面进行关联;
C4、重复执行C1-C3,获取程序运行时各个交互界面对应的输入指令,按时间顺序进行排序后,得到指令时间轴。