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

AndroidNative应用崩溃监控方法、装置、设备、车辆及存储介质与流程

2022-12-03 03:17:54 来源:中国专利 TAG:

android native应用崩溃监控方法、装置、设备、车辆及存储介质
技术领域
1.本发明属于车机系统应用监控管理技术领域,具体涉及android native应用崩溃监控方法、装置、设备、车辆及存储介质。


背景技术:

2.车载系统是汽车的重要组成部分,在车载系统运行的过程中,会发生native应用崩溃事件。在现有技术下,面对native应用崩溃事件,驾乘人员只能在事后联系工程师进行修复,驾乘体验不好。同时,native应用进程崩溃,也可能会造成部分异常信息以及日志的丢失,给native应用的修复也带来了一定的问题。


技术实现要素:

3.本发明的目的是:旨在提供android native应用崩溃监控方法、装置、设备、车辆及存储介质,自动捕获native应用崩溃事件,提前发现异常信号,并抓取异常现场信息,减少日志丢失风险,及时上报云端并通知工程师快速分析解决异常,快速修复,提高用户使用体验。为实现上述技术目的,本发明采用的技术方案如下:
4.第一方面,本技术实施例提供了一种android native应用崩溃监控方法,应用于android native应用崩溃监控设备,所述设备包括处理器和异常监控模块,所述异常监控模块用于向云端发送异常信息,所述方法包括:
5.处理器监听native程序进程的异常信号,当所述native程序进程发生异常时,处理器根据发生的异常类型发送不同的信号给native程序进程;
6.根据所述native程序进程收到的信号,运行预设的信号处理脚本,搜集异常信息,得到异常数据,将所述异常数据通知异常监控模块;
7.所述异常监控模块将所述异常数据打包上传至云端,所述云端发送邮件告知工程师;
8.返回处理结果,终止所述native程序进程。
9.结合第一方面,在一些可选的实施方式中,处理器监听native程序进程的异常信号,当所述native程序进程发生异常时,处理器根据发生的异常类型发送不同的信号给native程序进程,包括:
10.监听的异常信号有sigabrt、sigbus、sigfpe、sigkill、sigpipe、sigstkflt和sigtrap,当处理器中的arm捕获所述异常信号,linux kernel根据所捕获的信号类型发送不同信号给native程序进程。
11.结合第一方面,在一些可选的实施方式中,根据所述native程序进程收到的信号,运行预设的信号处理脚本,搜集异常信息,将所述异常信息通知异常监控模块,包括:
12.所述native程序进程通知debuggerd进程,所述debuggerd进程执行预设的ptrace指令,收集原始异常信息;
13.所述native程序进程通知android系统system_server进程,system_server进程ams服务收集系统信息,所述系统信息和所述原始异常信息组成异常数据,将所述异常数据通知所述异常监控模块。
14.结合第一方面,在一些可选的实施方式中,返回处理结果,终止所述native程序进程,包括:
15.所述system_server进程将处理结果返回所述debuggerd进程,所述debuggerd进程发生异常信号,所述native程序进程终止。
16.第二方面,本技术实施例还提供一种android native应用崩溃监控装置,应用于android native应用崩溃监控设备,所述设备包括处理器和异常监控模块,所述异常监控模块用于向云端发送异常信息,所述装置包括:
17.监听单元:用于监听native程序进程内的异常信号;
18.反馈单元:用于当native程序进程内出现异常信号时及时做出反馈,收集异常数据,并向云端做出反馈。
19.第三方面,本技术实施例还提供android native应用崩溃监控设备,包括处理器、异常监控模块和存储器,所述异常监控模块用于向云端发送异常信息,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述android native应用崩溃监控设备执行上述的方法。
20.第四方面,本技术实施例还提供一种车辆,所述车辆包括车辆本体及上述的android native应用崩溃监控设备,所述android native应用崩溃监控设备设置于所述车辆上。
21.第五方面,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的方法。
22.采用上述技术方案的发明,具有如下优点:
23.车载系统的android native应用进程运行过程中,处理器实时监听android native应用进程可能会发生的异常的异常信号,处理器监听到异常信号之后,收集此时的android native应用进程的异常数据和系统信息,发送给异常监控模块。异常监控模块将异常数据打包发送给云端,云端提前将异常数据告知工程师。之后android native应用进程产生异常,android native应用进程终止。可以提前发现异常信号,并抓取异常现场信息,减少日志丢失风险,使工程师根据异常现场的所有信息快速、准确地修复问题,提高用户体验。
附图说明
24.本发明可以通过附图给出的非限定性实施例进一步说明;
25.图1为本技术实施例提供的android native应用崩溃监控设备的框图。
26.图2为本技术实施例提供的android native应用崩溃监控方法的流程示意图。
27.图3为本技术实施例提供的android native应用崩溃监控装置的框图。
28.图标:10、android native应用崩溃监控设备;11、处理器;12、异常监控模块;13、第一制动控制器;14、第二制动控制器;200、android native应用崩溃监控装置;210、监听
单元;220、反馈单元。
具体实施方式
29.以下将结合附图和具体实施例对本发明进行详细说明,需要说明的是,在附图或说明书描述中,相似或相同的部分都使用相同的图号,附图中未绘示或描述的实现方式,为所属技术领域中普通技术人员所知的形式。另外,实施例中提到的方向用语,例如“上”、“下”、“顶”、“底”、“左”、“右”、“前”、“后”等,仅是参考附图的方向,并非用来限制本发明的保护范围。
30.如图1所示,本技术实施例提供一种android native应用崩溃监控设备10。android native应用崩溃监控设备10可以包括处理器11、异常监控模块12和存储器,所述异常监控模块12用于将所述android native应用进程崩溃之前的异常数据发送给云端。
31.本实施例中,处理器11实时监听android native应用进程可能会发生的异常的异常信号,处理器11监听到异常信号之后,收集此时的android native应用进程的异常数据和系统信息,发送给异常监控模块12。异常监控模块12将异常数据打包发送给云端,云端提前将异常数据告知工程师。之后种android native应用进程才会崩溃。在种android native应用进程崩溃之前抓取异常现场信息,减少日志丢失风险,方便工程师查找问题、进行修复。
32.在本实施例中,android native应用崩溃监控设备10可以部署在车辆上,使得车辆的车载系统的稳定性更高。
33.储模块内存储计算机程序,当计算机程序被处理器11执行时,使得android native应用崩溃监控设备10能够执行下述android native应用崩溃监控方法中的相应步骤。
34.如图2所示,本技术还提供一种android native应用崩溃监控方法。其中,android native应用崩溃监控方法可以包括如下步骤:
35.步骤110:处理器11监听native程序进程的异常信号,当所述native程序进程发生异常时,处理器11根据发生的异常类型发送不同的信号给native程序进程;
36.步骤120:根据所述native程序进程收到的信号,运行预设的信号处理脚本,搜集异常信息,得到异常数据,将所述异常数据通知异常监控模块12;
37.步骤130:所述异常监控模块12将所述异常数据打包上传至云端,所述云端发送邮件告知工程师;
38.步骤140:返回处理结果,终止所述native程序进程。
39.本实施例中,在native程序进程产生异常信号时,处理器11监听到异常信号,采集此时的异常数据并发送至异常监控模块12,异常监控模块12将异常数据进行打包上传云端,云端及时通知工程师;之后native程序进程才会发生异常崩溃。
40.作为一种可选的实施方式,处理器11监听native程序进程的异常信号,当所述native程序进程发生异常时,处理器11根据发生的异常类型发送不同的信号给native程序进程,包括:
41.监听的异常信号有sigabrt、sigbus、sigfpe、sigkill、sigpipe、sigstkflt和sigtrap,当处理器11中的arm捕获所述异常信号,linux kernel根据所捕获的信号类型发
送不同信号给native程序进程。
42.其中,sigabrt信号是在调用abort函数时产生,该信号产生后native程序进程会终止进程并产生core文件;sigbus信号非法访问内存地址或者内存对齐出错时产生,该信号产生后native程序进程会终止进程并产生core文件;sigfpe信号在发生致命的运算错误时产生,包括浮点运算错误、溢出及除数为0等所有的算法错误,该信号产生后native程序进程会终止进程并产生core文件;sigkill信号会无条件终止进程,本信号不能被忽略、处理和阻塞,该信号产生后native程序进程会终止进程;sigpipe信号在向一个没有读端的管道写数据时产生,该信号产生后native程序进程会终止进程;sigstkflt信号是linux早期版本出现的信号,现仍保留向后兼容,该信号产生后native程序进程会终止进程;sigtrap信号由断点指令或其他trap指令产生,该信号产生后native程序进程会终止进程并产生core文件。
43.本实施例中,处理器11监听到上述异常信号后,立即将监听到的信号发送给native程序进程。
44.作为一种可选的实施方式,根据所述native程序进程收到的信号,运行预设的信号处理脚本,搜集异常信息,将所述异常信息通知异常监控模块12,包括:
45.所述native程序进程通知debuggerd进程,所述debuggerd进程执行预设的ptrace指令,收集原始异常信息;
46.所述native程序进程通知android系统system_server进程,system_server进程ams服务收集系统信息,所述系统信息和所述原始异常信息组成异常数据,将所述异常数据通知所述异常监控模块12。
47.本实施例中,debuggerd进程收集原始异常信息,有助于工程师了解异常情况,system_server进程如堆栈信息、系统日志等系统信息,这些详细信息有助于工程师分析原因,便于快速解决修复android native应用。
48.作为一种可选的实施方式,返回处理结果,终止所述native程序进程,包括:
49.所述system_server进程将处理结果返回所述debuggerd进程,所述debuggerd进程发生异常信号,所述native程序进程终止。
50.本实施例中,在异常信号产生时,android native应用发生异常崩溃之间,就已经收集到所有的异常数据,并通知工程师。之后debuggerd进程发生异常信号,native程序进程终止。工程师可以快速反应,及时进行修复,提高用户体验。
51.如图3所示,本技术还提供一种android native应用崩溃监控装置200,android native应用崩溃监控装置200包括至少一个可以软件或固件(firmware)的形式存储于存储模块中或固化在android native应用崩溃监控设备10的操作系统(operating system,os)中的软件功能模块。处理器11用于执行存储模块中存储的可执行模块,例如android native应用崩溃监控装置200所包括的软件功能模块及计算机程序等。
52.android native应用崩溃监控装置200包括监听单元210及反馈单元220,各单元具有的功能可以如下:
53.监听单元210:用于监听native程序进程内的异常信号;
54.反馈单元220:用于当native程序进程内出现异常信号时及时做出反馈,收集异常数据,并向云端做出反馈。
55.在本实施例中,存储模块可以是,但不限于,随机存取存储器,只读存储器,可编程只读存储器,可擦除可编程只读存储器,电可擦除可编程只读存储器等。在本实施例中,存储模块可以用于存储预设的信号处理脚本和异常信号信息等。当然,存储模块还可以用于存储程序,处理模块在接收到执行指令后,执行该程序。
56.可以理解的是,图1中所示的android native应用崩溃监控设备10结构仅为一种结构示意图,android native应用崩溃监控设备10还可以包括比图1所示更多的组件。图1中所示的各组件可以采用硬件、软件或其组合实现。
57.需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的android native应用崩溃监控设备10、android native应用崩溃监控装置200的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
58.本技术实施例还提供一种车辆。车辆包括车辆本体及上述实施例所述的android native应用崩溃监控设备10。android native应用崩溃监控设备10部署在车辆本体上。android native应用崩溃监控设备10可以用于实现上述的android native应用崩溃监控方法,可以提高车辆车载系统的应用程序的稳定性。
59.本技术实施例还提供一种计算机可读存储介质。计算机可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例中所述的android native应用崩溃监控方法。
60.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本技术可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本技术的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,或者网络设备等)执行本技术各个实施场景所述的方法。
61.综上所述,本技术实施例提供一种android native应用崩溃监控方法、装置、android native应用崩溃监控设备10、车辆及存储介质。在本方案中,在native程序进程内监听到异常信号时,立即收集异常数据,上传至云端,通知工程师,之后native应用才会发生异常崩溃,工程师可以快速反应,及时进行修复,提高用户体验。。
62.在本技术所提供的实施例中,应该理解到,所揭露的装置、系统和方法,也可以通过其它的方式实现。以上所描述的装置、系统和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。另外,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
63.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

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

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

相关文献