异常检测方法、装置、电子设备及存储介质与流程

文档序号:32857800发布日期:2023-01-07 00:14阅读:48来源:国知局
异常检测方法、装置、电子设备及存储介质与流程

1.本公开涉及计算机技术领域,尤其涉及一种异常检测方法、装置、电子设备及存储介质。


背景技术:

2.heap(堆内存)异常通常指heapbufferleak、heapbufferoverflow、useafterfree、doublefree等内存异常问题。
3.相关技术中,可以通过adan、heaptrack、valgrind等内存检测工具检测异常问题,但是这些工具往往只能在出现问题之后进行使用,而且占用的资源和计算复杂度非常大,十分影响系统的稳定性。
4.因而,如何及时、高效地检测内存异常问题,是急需解决的问题。


技术实现要素:

5.本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
6.本公开第一方面实施例提出了一种异常检测方法,包括:确定与设备当前所处的使用阶段对应的检测频率及待检测内存空间,所述待检测内存空间为所述设备的部分内存空间;基于所述检测频率,对所述待检测内存空间进行检测,以获取检测结果;响应于所述检测结果中包括异常问题,将与所述异常问题对应的关联信息发送给云服务器。
7.本公开第二方面实施例提出了一种异常检测方法,包括:接收设备发送的异常问题对应的关联信息;根据预设的映射表,确定所述设备对应的检测频率及待检测内存空间;根据所述检测频率、待检测内存空间及所述异常问题对应的关联信息,确定所述设备的第一内存异常结果。
8.本公开第三方面实施例提出了一种异常检测装置,包括:第一确定模块,用于确定与设备当前所处的使用阶段对应的检测频率及待检测内存空间,所述待检测内存空间为所述设备的部分内存空间;获取模块,用于基于所述检测频率,对所述待检测内存空间进行检测,以获取检测结果;发送模块,用于响应于所述检测结果中包括异常问题,将与所述异常问题对应的关联信息发送给云服务器。
9.本公开第四方面实施例提出了一种异常检测装置,包括:接收模块,用于接收设备发送的异常问题对应的关联信息;第二确定模块,用于根据预设的映射表,确定所述设备对应的检测频率及待检测内存空间;
第三确定模块,用于根据所述检测频率、待检测内存空间及所述异常问题对应的关联信息,确定所述设备的第一内存异常结果。
10.本公开第五方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如本公开第一方面实施例或者第二方面实施例提出的异常检测方法。
11.本公开第六方面实施例提出了一种非临时性计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如本公开第一方面实施例或者第二方面实施例提出的异常检测方法。
12.本公开第七方面实施例提出了一种计算机程序产品,当所述计算机程序产品中的指令处理器执行时,执行本公开第一方面实施例或者第二方面实施例提出的异常检测方法。
13.本公开第一方面实施例提供的异常检测方法,存在如下有益效果:本公开实施例中,设备首先确定与设备当前所处的使用阶段对应的检测频率及待检测内存空间,所述待检测内存空间为所述设备的部分内存空间,然后基于所述检测频率,对所述待检测内存空间进行检测,以获取检测结果,之后响应于所述检测结果中包括异常问题,将与所述异常问题对应的关联信息发送给云服务器。由此,可以根据不同的使用阶段调整设置不同的检测频率,及时地发现设备的异常问题,从而进行预警,由于设备在对设备的内存空间进行监测时,仅需对设备中的部分内存空间进行监测,从而使得监测更加快捷、高效,避免对设备的硬件性能增添不利的影响,降低了计算复杂度,提高了对设备进行异常检测时系统运行的稳定性,进而改善用户体验,提高设备质量口碑。
14.本公开第二方面实施例提供的异常检测方法,存在如下有益效果:本公开实施例中,云服务器首先接收设备发送的异常问题对应的关联信息,然后根据预设的映射表,确定所述设备对应的检测频率及待检测内存空间,之后根据所述检测频率、待检测内存空间及所述异常问题对应的关联信息,确定所述设备的第一内存异常结果。由此,云服务器可以根据关联信息,以及设备对应的检测频率和待检测内存空间,及时地分析与当前的关联信息对应的异常问题,从而可以确定与设备对应的内存异常结果,发现异常问题。
15.本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
16.本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本公开第一实施例所提供的异常检测方法的流程示意图;图2为本公开第二实施例所提供的异常检测方法的流程示意图;图3为本公开第三实施例所提供的异常检测方法的流程示意图;图4为本公开第四实施例所提供的异常检测方法的流程示意图;图5为本公开第五实施例所提供的异常检测装置的结构框图;图6为本公开第六实施例所提供的异常检测装置的结构框图;
图7示出了适于用来实现本公开实施方式的示例性计算机设备的框图。
具体实施方式
17.下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
18.下面参考附图描述本公开实施例的异常检测方法、装置、计算机设备和存储介质。
19.本公开实施例以该异常检测方法被配置于异常检测装置中来举例说明,该异常检测装置可以应用于任一电子设备中,以使该电子设备可以执行异常检测功能。以下将电子设备简称为“设备”,并以“设备”作为本公开第一实施例和本公开第二实施例所提供的异常检测方法的执行主体,来进行说明。
20.图1为本公开第一实施例所提供的异常检测方法的流程示意图。
21.如图1所示,该异常检测方法可以包括以下步骤:步骤101,确定与设备当前所处的使用阶段对应的检测频率及待检测内存空间,所述待检测内存空间为所述设备的部分内存空间。
22.其中,设备可以为任一电子设备,本公开实施例中电子设备可以为用户设备(user equipment,ue)、移动台(mobile station,ms)、移动终端设备(mobile terminal,mt)等。终端设备可以是具备通信功能的汽车、智能汽车、手机(mobile phone)、平板电脑(pad)、带无线收发功能的电脑、智慧城市中的无线终端设备、智慧家庭中的无线终端设备(比如,智能电视、智能台灯等)。本公开对此不做限定。
23.本公开中,设备的使用阶段可以包括而限于开发阶段、发行阶段、维修阶段,其中开发阶段还可以包括调试阶段和试运行阶段,发行阶段还可以包括销售阶段、售后阶段等等,在此不做限定。
24.其中,检测频率可以为设备进行异常检测的频率,设备中出现的异常的类型可以有很多,其可以为内存异常检测、网络异常检测、电源异常检测、电路异常检测、显示屏异常检测,等等,在此不做限定。对于不同的类型的异常,也可以设置有不同的检测频率,以及检测对象。在本公开实施例中,以内存异常检测为一种示例来对设备的异常检测进行说明。
25.比如,heap(堆内存)异常通常指heapbufferleak(堆内存字节缓冲区内存泄露)、heapbufferoverflow、useafterfree、doublefree等内存异常问题,或者,也可以为其他类型的内存异常问题,在此不做限定。
26.其中,内存为计算机系统中的一个主要部件,其可以用于保存进程运行时的程序和数据,也称可执行存储器。
27.设备的内存空间一般是指主存储器空间(物理地址空间)或系统为一个用户程序分配内存空间。系统为一个用户程序分配内存空间方法有单一连续分配、固定分区分配、动态分区分配以及动态重定位分区分配等等方式。
28.需要说明的是,设备中不同的操作系统对应的内存空间也可能是不同的。举例来说,32位的操作系统通常支持4gb的内存空间。
29.其中,待检测内存空间可以为当前设备的内存空间中需要被检测的部分内存空间,其对应有特定的内存地址和内存大小。
30.需要说明的是,为了提高异常检测的效率,使得异常检测更加的轻量化,可以将任一特定类型的设备的内存空间,进行划分,进而再将划分的每个内存空间部署在该类型设备对应的多个设备上。
31.举例来说,若当前开发的设备的类型为p,其对应的内存大小为256g,当前处于发行阶段的设备有8千万台设备,类型均为p,且内存大小均为256g。则此时可以将256g的内存分配到这8千万台设备中。这样,可以使得每一台设备有对应的有一部分待检测内存空间,且需要检测的内存比较小,因而检测起来对设备的影响也非常小。需要说明的是,在将256g分配到这8千万台设备中时,可以是将内存进行平均分配,或者,也可以是不平均的分配(比如:按概率分配)。比如,a和b设备的待检测内存空间的内存地址和内存大小可以是相同的,也可以是完全不同的,也可以是有交叉的,也即部分相同的,在此不做限定。
32.需要说明的是,上述示例仅为本公开的一种示意性说明,而不作为对本公开的限定。
33.具体的,在分配当前处于相同使用阶段的相同类型的各个设备的待检测内存空间时,可以是由云服务器进行云控部署,从而为每个设备设置对应的待检测内存空间。或者,也可以是预先在设备开发时规划部署的,在此不做限定。
34.具体的,可以在设备中存储有设备的使用阶段和检测频率之间的映射关系表,从而设备可以根据当前的所属的时间段,确定与使用阶段对应的检测频率。
35.需要说明的是,设备的不同使用阶段可以预先部署设置好不同的检测频率,举例来说,由于在开发阶段,还需要对设备进行大量的调试、开发和改进,因而设备的很多功能通常是不够健全的,出现的问题,比较多,此时设备的检测频率可以是实时检测的,也即是在各个时间段对设备进行检测。或者,也可以是按照预设的检测频率对其进行检测,比如每天的早上六点到晚上的十二点之间,对设备进行检测,在此不进行限定。而在设备的发行阶段,设备通常已经进入了发售,因而通常是需要由非开发人员之外的人员进行使用的,因而,此时,可以将检测频率设置的低一点。也即使得发行阶段的检测频率可以低于开发阶段的检测频率,从而降低对设备的检测频率,从而降低设备在进行检测时给设备硬件能力带来的干扰,提高系统运行的稳定性。
36.步骤102,基于检测频率,对待检测内存空间进行检测,以获取检测结果。
37.其中,检测结果可以为对异常问题的检测结果,若检测结果中包含了异常问题,则说明当前出现了异常,若检测结果中没有包含异常问题,则说明当前没有出现异常。
38.可选的,设备可以基于检测频率对所述待检测内存空间进行检测。或者,设备也可以基于检测频率对所述待检测内存空间关联的使用记录信息进行检测。
39.其中,使用记录信息可以为设备中的各个日志信息,以及设备中各项进程的历史运行信息,以及对各项硬件能力的调用接口信息,软件使用记录信息等等,在此不做限定。
40.需要说明的是,设备可以基于预先设置的轻量化工具,对使用记录信息进行跟踪和定位,从而从中确定与待检测内存空间相关的访问记录信息。
41.或者,设备也可以基于检测频率对所述待检测内存空间关联的使用记录信息以及待检测内存空间进行检测。
42.需要说明的是,在对待检测内存空间进行检测时,可以根据待检测内存空间所对应的内存地址,进行hook(挂钩)操作。在对特定的系统事件进行hook后,一旦发生已hook事
件,对该事件进行hook的程序就会收到系统的通知,这时程序就能在第一时间对该事件做出响应。因而,本公开中,可以预先记录好与待检测内存空间的对应内存相关的系统事件,然后在检测时通过hook操作对事件进行跟踪和锁定,从而之后对跟踪到的与待检测内存空间相关的各个系统事件进行异常检测,从而判断是否出现异常问题。
43.可选的,该装置可以通过对待检测内存空间关联的使用记录信息进行解析,从而可以判断是否出现过内存泄露、内存溢出、内存踩踏等情况。
44.步骤103,响应于所述检测结果中包括异常问题,将与所述异常问题对应的关联信息发送给云服务器。
45.其中,关联信息可以为与异常问题的出现有关联的信息。
46.可选的,在异常问题的类型为内存异常的情况下,异常问题对应的关联信息包含以下各项中的至少一项:调用栈、处理器属性信息、日志信息、待检测内存的内存地址和内存大小、与待检测内存对应的关联内存信息、异常问题出现时设备中运行的进程信息。
47.或者,设备还可以将与异常问题对应的相关的程序代码信息,作为关联信息,以及异常问题出现的时间、以及对设备的各项能力造成的影响信息,在此不做限定。
48.其中,在设备检测到异常问题之后,可以将与异常问题对应的关联信息发送给云服务器,从而使得云服务器可以根据关联信息还原异常问题,从而对异常问题进行解析。
49.其中,云服务器可以通过与设备进行通讯,从而可以获取到设备传输的数据,也即关联信息数据。需要说明的是,在设备将关联信息发送给云服务器时,可以是首先在设备的前端中显示包含信息传输协议的页面,若用户在该页面中确认了该信息传输协议,则设备可以将异常问题对应的关联信息发送给云服务器。
50.其中,信息传输协议中所包含的文本可以用于使得用户了解当前设备当前需要做的事情,也即进行信息传输,从而对用户进行意见征求,在得到了用户认可之后,也即用户通过触控指定控件进行确认之后,则说明当前传输的过程满足合法性的条件,则设备则可以将与异常问题对应的关联信息发送给云服务器。
51.作为一种可能实现的方式,若使用阶段为开发阶段,则设备则可以直接将与所述异常问题对应的关联信息发送给云服务器。若使用阶段为发行阶段,则设备则可以在用户确定了设备所提供显示的信息传输协议的情况下,将与所述异常问题对应的关联信息发送给云服务器。
52.其中,信息传输协议可以是在该设备被销售之后,设备在首次开机时,提供展示给用户的,或者,也可以是在设备检测到异常问题时,提供并展示给用户的,在此不做限定。
53.本公开实施例中,设备首先确定与设备当前所处的使用阶段对应的检测频率及待检测内存空间,所述待检测内存空间为所述设备的部分内存空间,然后基于所述检测频率,对所述待检测内存空间进行检测,以获取检测结果,之后响应于所述检测结果中包括异常问题,将与所述异常问题对应的关联信息发送给云服务器。由此,可以根据不同的使用阶段调整设置不同的检测频率,及时地发现设备的异常问题,从而进行预警,由于设备在对设备的内存空间进行监测时,仅需对设备中的部分内存空间进行监测,从而使得监测更加快捷、高效,避免对设备的硬件性能增添不利的影响,降低了计算复杂度,提高了对设备进行异常检测时系统运行的稳定性,进而改善用户体验,提高设备质量口碑。
54.图2是根据本公开第二实施例的异常检测方法的流程示意图。
55.如图2所示,该异常检测方法可以包括以下步骤:步骤201,确定与设备当前所处的使用阶段对应的检测频率及待检测内存空间,所述待检测内存空间为所述设备的部分内存空间。
56.步骤202,基于所述检测频率,对所述待检测内存空间进行检测,以获取检测结果。
57.步骤203,响应于所述检测结果中包括异常问题,将与所述异常问题对应的关联信息发送给云服务器。
58.需要说明的是,步骤201、202、203的具体实现方式可以参照上述实施例,在此不进行赘述。
59.步骤204,响应于检测到所述设备的使用阶段发生变更,对所述检测频率和/或待检测内存空间进行更新。
60.需要说明的是,在设备有开发阶段进入发行阶段时,可以是由开发人员,或者销售人员等在设备上自行调整设置的,从而设备可以在检测到当前的使用阶段进行了调整。
61.需要说明的是,不同的使用阶段,对应的检测频率和待检测内存空间可以是相同的,也可以是不同的。
62.若设备的不同使用阶段对应的检测频率和待检测内存空间是不相同的,则设备可以在确定使用阶段发生变更之后,及时地对检测频率或者待检测内存空间进行相应的调整和更新,或者,可以对检测频率和待检测内存空间进行相应的调整和更新,在此不做限定。
63.可以理解的是,在开发阶段时,可以设置一个比较大的待检测内存空间,从而能够更加方便和高效的对内存异常进行检测,而在发行阶段等使用阶段时,检测频率较高,或者待检测内存空间较大,会使得在对设备进行异常检测时,给用户带来较为不好的体验,因而此时可以适当的缩小待检测内存空间,或者,降低检测频率,从而能够给用户带来良好的体验,降低异常检测给用户带来的感知。
64.步骤205,响应于接收到所述云服务器发送的更新文件,基于所述更新文件对所述设备当前的所述异常问题进行修复。
65.其中,更新文件用于解决待检测内存空间当前对应的异常问题,其可以是由一组程序代码组成的文本。设备在接收到云服务器发送的更新文件之后,可以基于所述更新文件对所述设备当前的所述异常问题进行修复,从而使得设备恢复正常运行,及时的改善设备的当前状况,提升用户体验。
66.本公开实施例中,设备首先确定与设备当前所处的使用阶段对应的检测频率及待检测内存空间,所述待检测内存空间为所述设备的部分内存空间,然后基于所述检测频率,对所述待检测内存空间进行检测,以获取检测结果,之后响应于所述检测结果中包括异常问题,将与所述异常问题对应的关联信息发送给云服务器,然后响应于检测到所述设备的使用阶段发生变更,对所述检测频率和/或待检测内存空间进行更新,之后响应于接收到所述云服务器发送的更新文件,基于所述更新文件对所述设备当前的所述异常问题进行修复。由此,可以在检测到设备的使用阶段发生改变时,及时的对所述检测频率和/或待检测内存空间进行更新,从而可以提高用户的使用体验,降低异常检测给用户带来的感知,由于在接收到所述云服务器发送的更新文件之后,设备即可基于所述更新文件对所述设备当前的所述异常问题进行修复,从而能够及时的解决问题,改善设备当前的性能,提升用户体
验。
67.图3是根据本公开第三实施例的异常检测方法的流程示意图。
68.需要说明的是,本公开第三实施例和本公开第四实施例所提供的异常检测方法的执行主体为云服务器。
69.如图3所示,该异常检测方法可以包括以下步骤:步骤301,接收设备发送的异常问题对应的关联信息。
70.其中,设备可以和云服务器之间建立通讯,从而云服务器可以接收到接收设备发送的异常问题对应的关联信息。
71.其中,关联信息可以为与异常问题的出现有关联的信息。
72.可选的,在异常问题的类型为内存异常的情况下,异常问题对应的关联信息包含以下各项中的至少一项:调用栈、处理器属性信息、日志信息、待检测内存的内存地址和内存大小、与待检测内存对应的关联内存信息、异常问题出现时设备中运行的进程信息。
73.或者,还可以将与异常问题对应的相关的程序代码信息,作为关联信息,以及异常问题出现的时间、以及对设备的各项能力造成的影响信息,在此不做限定。其中,在设备检测到异常问题之后,可以将与异常问题对应的关联信息发送给云服务器,从而使得云服务器接收到关联信息。
74.步骤302,根据预设的映射表,确定所述设备对应的检测频率及待检测内存空间。
75.其中,云服务器中可以预先存储有映射表,从而记录每个设备对应的使用阶段、检测频率以及待检测内存空间。
76.云服务器在接收到设备发送的异常问题对应的关联信息,之后可以根据设备的标识信息,确定与设备对应的检测频率及待检测内存空间。
77.需要说明的是,检测频率及待检测内存空间的具体描述可以参照上述实施例,在此不做赘述。
78.步骤303,根据所述检测频率、待检测内存空间及所述异常问题对应的关联信息,确定所述设备的第一内存异常结果。
79.其中,第一内存异常结果可以为与当前设备对应的内存异常结果。
80.其中,关联信息中可以包含与当前的内存异常对应的设备的表现,比如报错、死机、进入死循环等等。在确定设备的第一内存异常结果时,还需要考虑到检测频率,比如云服务器需要根据检测频率确定检测时段,并确定与检测时段对应的关联信息。
81.具体的,云服务器可以通过当前的待检测内存空间,以及与异常问题对应的关联信息进行解析,确定与当前的待检测内存空间对应的第一内存异常结果。
82.本公开实施例中,云服务器首先接收设备发送的异常问题对应的关联信息,然后根据预设的映射表,确定所述设备对应的检测频率及待检测内存空间,之后根据所述检测频率、待检测内存空间及所述异常问题对应的关联信息,确定所述设备的第一内存异常结果。由此,云服务器可以根据关联信息,以及设备对应的检测频率和待检测内存空间,及时地分析与当前的关联信息对应的异常问题,从而可以确定与设备对应的内存异常结果,发现异常问题。
83.图4是根据本公开第四实施例的异常检测方法的流程示意图。
84.如图4所示,该异常检测方法可以包括以下步骤:步骤401,响应于接收到所述设备发送的检测协议,基于预设的规则,确定所述设备在不同使用阶段对应的检测频率及待检测内存空间,其中,所述检测协议用于指示所述设备所属的用户同意对所述设备进行内存检测。
85.其中,检测协议用于指示设备所属的用户同意对设备进行内存检测。
86.需要说明的是,云服务器在接收到设备上传的检测协议之后,可以得知用户同意设备可以进行内存检测,也即满足了合法性,则云服务器则可以为当前设备分配对应的检测频率及待检测内存空间。
87.可选的,云服务器可以基于预设的规则,确定设备在不同使用阶段对应的检测频率,比如可以在开发阶段设置一个比较大的检测频率(比如,每隔一天进行检测)以及待检测内存空间,在发行阶段设置一个较小的检测频率(比如,每隔一周进行检测)以及待检测内存空间,或者也可以使得各个使用阶段的检测频率以及待检测内存空间为相同的,在此不做限定。
88.在分配设备的待检测内存空间时,可以根据当前已分配的各个设备的待检测内存空间,确定未被分配到的内存空间,并从中选取指定大小的内存空间,从而将其作为当前设备的待检测内存空间,在此不做限定。
89.可选的,还可以根据当前发送过检测协议的任一类型设备的数量,以及该任一类型设备的内存大小,进行均分,从而确定当前设备所对应的待检测内存空间,以及对应的内存地址。其中,当前设备属于该任一类型设备。
90.步骤402,将所述设备在不同使用阶段对应的检测频率及待检测内存空间发送给所述设备。
91.需要说明的是,云服务器通过将设备在不同使用阶段对应的检测频率及待检测内存空间发送给设备,可以使得设备在各个使用阶段根据对应的检测频率及待检测内存空间进行部署和配置,从而之后设备可以根据每个使用阶段对应的检测频率以及待检测内存空间进行异常检测。
92.步骤403,接收设备发送的异常问题对应的关联信息。
93.步骤404,根据预设的映射表,确定所述设备对应的检测频率及待检测内存空间。
94.步骤405,根据所述检测频率、待检测内存空间及所述异常问题对应的关联信息,确定所述设备的第一内存异常结果。
95.需要说明的是,步骤403、404、405的具体实现方式可以参照上述实施例,在此不进行赘述。
96.步骤406,对所述第一内存异常结果,以及各个参考设备对应的第二内存异常结果进行解析,以确定所述设备当前对应的更新文件,其中,所述更新文件用于解决所述待检测内存空间当前的异常问题,所述参考设备与所述设备的类型相同。
97.其中,更新文件可以用于解决待检测内存空间当前的异常问题。
98.其中,参考设备可以为与当前设备的类型相同、使用阶段相同、内存大小相同和待检测内存空间相同的设备。
99.其中,第二内存异常结果可以为各个参考设备对应的待检测内存空间的内存异常结果,由于参考设备与当前设备的待检测内存空间相同,因而其对应的第二内存异常结果
可以作为对第一内存异常结果的参考。
100.举例来说,若当前设备y1的使用阶段为发行阶段,类型为e,内存大小为256g;设备y2的使用阶段为发行阶段,类型为e,内存大小为256g;设备y3的使用阶段为发行阶段,类型为p,内存大小为128g;设备y4的使用阶段为发行阶段,类型为e,内存大小为128g;设备y5的使用阶段为发行阶段,类型为e,内存大小为256g,设备y6的使用阶段为发行阶段,类型为e,内存大小为256g,由此,可以进一步判断y2、y5、y6和y1的待检测内存空间是否相同,若相同,则可以将y2、y5、y6作为y1的参考设备。
101.需要说明的是,上述示例仅为一种示意性说明,在此不做限定。
102.具体的,云服务器可以通过对所述第一内存异常结果,以及各个参考设备对应的第二内存异常结果进行解析,进而确定与当前设备对应的内存异常结果的解决方案,并生成对应的编码文件,也即更新文件。
103.作为另一种可能实现的方案,云服务器可以对所有设备当前传输的内存异常结果进行汇总和收集,其中包含有第一内存异常结果,并由开发人员进行综合的分析和调试,从而确定设备新版本的版本文件,从而设备可以在之后更新版本时,一次的对内存空间中当前存在的各个异常问题进行解决。
104.步骤407,将更新文件发送给所述设备。
105.需要说明的是,云服务器通过将更新文件发送给设备,可以使得设备能够根据更新文件对当前遇到的异常问题进行及时修复。
106.本公开实施例中,云服务器首先响应于接收到所述设备发送的检测协议,基于预设的规则,确定所述设备在不同使用阶段对应的检测频率及待检测内存空间,其中,所述检测协议用于指示所述设备所属的用户同意对所述设备进行内存检测,然后将所述设备在不同使用阶段对应的检测频率及待检测内存空间发送给所述设备,之后接收设备发送的异常问题对应的关联信息,然后根据预设的映射表,确定所述设备对应的检测频率及待检测内存空间,之后根据所述检测频率、待检测内存空间及所述异常问题对应的关联信息,确定所述设备的第一内存异常结果,之后对所述第一内存异常结果,以及各个参考设备对应的第二内存异常结果进行解析,以确定所述设备当前对应的更新文件,其中,所述更新文件用于解决所述待检测内存空间当前的异常问题,所述参考设备与所述设备的类型相同,然后将所述更新文件发送给所述设备。由此,可以使得云服务器能够在用户同意的情况下,合法地对设备在不同使用阶段对应的检测频率及待检测内存空间进行部署和规划,并发送给设备,且还可以对当前的异常问题进行分析和解决,通过更新文件的方式发送给设备,从而使得设备能够解决当前的异常问题。
107.图5为本公开第五实施例所提供的异常检测装置的结构示意图。
108.如图5所示,该异常检测装置500可以包括:第一确定模块510、获取模块520、发送模块530。
109.第一确定模块510,用于确定与设备当前所处的使用阶段对应的检测频率及待检测内存空间,所述待检测内存空间为所述设备的部分内存空间;获取模块520,用于基于所述检测频率,对所述待检测内存空间进行检测,以获取检测结果;发送模块530,用于响应于所述检测结果中包括异常问题,将与所述异常问题对应
的关联信息发送给云服务器。
110.可选的,所述使用阶段至少包含开发阶段和发行阶段,其中,所述发行阶段的检测频率低于所述开发阶段的检测频率。
111.可选的,在所述异常问题的类型为内存异常的情况下,所述异常问题对应的关联信息包含以下各项中的至少一项:调用栈;处理器属性信息;日志信息;所述待检测内存的内存地址和内存大小;与所述待检测内存对应的关联内存信息;所述异常问题出现时设备中运行的进程信息。
112.可选的,所述获取模块,具体用于:基于所述检测频率对所述待检测内存空间进行检测;和/或,基于所述检测频率对所述待检测内存空间关联的使用记录信息进行检测。
113.可选的,该装置,还包括:更新模块,用于响应于检测到所述设备的使用阶段发生变更,对所述检测频率和/或待检测内存空间进行更新。
114.可选的,所述发送模块,还用于:响应于接收到所述云服务器发送的更新文件,基于所述更新文件对所述设备当前的所述异常问题进行修复。
115.本公开实施例中,设备首先确定与设备当前所处的使用阶段对应的检测频率及待检测内存空间,所述待检测内存空间为所述设备的部分内存空间,然后基于所述检测频率,对所述待检测内存空间进行检测,以获取检测结果,之后响应于所述检测结果中包括异常问题,将与所述异常问题对应的关联信息发送给云服务器。由此,可以根据不同的使用阶段调整设置不同的检测频率,及时地发现设备的异常问题,从而进行预警,由于设备在对设备的内存空间进行监测时,仅需对设备中的部分内存空间进行监测,从而使得监测更加快捷、高效,避免对设备的硬件性能增添不利的影响,降低了计算复杂度,提高了对设备进行异常检测时系统运行的稳定性,进而改善用户体验,提高设备质量口碑。
116.图6为本公开第六实施例所提供的异常检测装置的结构示意图。
117.如图6所示,该异常检测装置600可以包括:接收模块610、第二确定模块620、第三确定模块630。
118.接收模块,用于接收设备发送的异常问题对应的关联信息;第二确定模块,用于根据预设的映射表,确定所述设备对应的检测频率及待检测内存空间;第三确定模块,用于根据所述检测频率、待检测内存空间及所述异常问题对应的关联信息,确定所述设备的第一内存异常结果。
119.可选的,所述接收模块,还用于:响应于接收到所述设备发送的检测协议,基于预设的规则,确定所述设备在不同使用阶段对应的检测频率及待检测内存空
间,其中,所述检测协议用于指示所述设备所属的用户同意对所述设备进行内存检测;将所述设备在不同使用阶段对应的检测频率及待检测内存空间发送给所述设备。
120.可选的,所述第三确定模块,还用于:对所述第一内存异常结果,以及各个参考设备对应的第二内存异常结果进行解析,以确定所述设备当前对应的更新文件,其中,所述更新文件用于解决所述待检测内存空间当前的异常问题,所述参考设备与所述设备的类型相同;将所述更新文件发送给所述设备。
121.本公开实施例中,云服务器首先接收设备发送的异常问题对应的关联信息,然后根据预设的映射表,确定所述设备对应的检测频率及待检测内存空间,之后根据所述检测频率、待检测内存空间及所述异常问题对应的关联信息,确定所述设备的第一内存异常结果。由此,云服务器可以根据关联信息,以及设备对应的检测频率和待检测内存空间,及时地分析与当前的关联信息对应的异常问题,从而可以确定与设备对应的内存异常结果,发现异常问题。
122.为了实现上述实施例,本公开还提出一种计算机设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如本公开前述实施例提出的异常检测方法。
123.为了实现上述实施例,本公开还提出一种非临时性计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现如本公开前述实施例提出的异常检测方法。
124.为了实现上述实施例,本公开还提出一种计算机程序产品,当计算机程序产品中的指令处理器执行时,执行如本公开前述实施例提出的异常检测方法。
125.图7示出了适于用来实现本公开实施方式的示例性计算机设备的框图。图7显示的计算机设备12仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
126.如图7所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
127.总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industry standard architecture;以下简称:isa)总线,微通道体系结构(micro channel architecture;以下简称:mac)总线,增强型isa总线、视频电子标准协会(video electronics standards association;以下简称:vesa)局域总线以及外围组件互连(peripheral component interconnection;以下简称:pci)总线。
128.计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
129.存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(random access memory;以下简称:ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱
动器,以及对可移动非易失性光盘(例如:光盘只读存储器(compact disc read only memory;以下简称:cd-rom)、数字多功能只读光盘(digital video disc read only memory;以下简称:dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
130.具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本公开所描述的实施例中的功能和/或方法。
131.计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(local area network;以下简称:lan),广域网(wide area network;以下简称:wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
132.处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的方法。
133.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
134.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
135.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
136.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供
指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
137.应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
138.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
139.此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
140.上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1