CN112698999B - 系统监测方法、装置、终端设备及存储介质 - Google Patents
系统监测方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN112698999B CN112698999B CN201911012086.9A CN201911012086A CN112698999B CN 112698999 B CN112698999 B CN 112698999B CN 201911012086 A CN201911012086 A CN 201911012086A CN 112698999 B CN112698999 B CN 112698999B
- Authority
- CN
- China
- Prior art keywords
- layer
- point information
- embedded point
- processing chip
- application processing
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种系统监测方法、装置、终端设备及存储介质,该方法包括:在系统程序运行过程中,在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息;将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器。本发明通过大数据埋点和收集的方式,使得调试信息、错误信息等反映系统稳定性的信息可以及时、对用户无感地上传到服务器供开发人员分析,既提升了错误信息的精准性和指向性,也提升了信息收集的时效性和错误修复的及时性,方便开发人员监测系统稳定性,快速定位问题、修复问题。
Description
技术领域
本发明涉及系统监测技术领域,尤其涉及一种系统监测方法、装置、终端设备及存储介质。
背景技术
目前,终端系统、软件等发生各类错误导致运行异常、崩溃等情况时,往往通过抓取现场错误log、日志等并发送给服务器供技术人员进行分析。这种方式的缺点在于:错误log、日志等信息往往是对错误现场的抓拍,信息量和无关的干扰信息较多,技术人员通常需要花费较多的时间才能从中梳理出有效的信息,给错误分析、定位和后续修复增加难度。另外,错误日志往往需要用户主动上传,这就造成了错误发生时,开发人员无法第一时间获取到错误信息,继而拖慢了错误修复的进度。
发明内容
本发明的主要目的在于提供一种系统监测方法、装置、终端设备及存储介质,旨在实现对系统稳定性的及时监测,提升错误信息的精准性和指向性,提升信息收集的时效性和错误修复的及时性。
为实现上述目的,本发明提供一种系统监测方法,包括:
在系统程序运行过程中,在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息;
将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器。
可选地,所述应用处理芯片通讯连接有外挂通讯器件,所述在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息的步骤之前还包括:
在系统程序运行过程中,获取所述外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息;
将所述外挂通讯器件侧埋点信息上传至所述应用处理芯片;
所述将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器的步骤包括:
将所述应用处理芯片侧各层功能模块的埋点信息连同所述外挂通讯器件侧埋点信息上报至服务器。
可选地,所述应用处理芯片由下至上包括:驱动driver层、硬件抽象hal层、服务service层,所述将所述外挂通讯器件侧埋点信息上传至应用处理芯片的步骤包括:
将所述外挂通讯器件侧埋点信息通过串行外设接口SPI的方式上传至应用处理芯片的driver层。
可选地,所述在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息的步骤包括:
在所述应用处理芯片侧,通过所述driver层接收所述控制处理芯片侧各功能模块发送的外挂通讯器件侧埋点信息;
在所述driver层,将所述控制处理芯片侧各功能模块发送的外挂通讯器件侧埋点信息,以及所述driver层的埋点信息,按照预设的数据格式进行封装,并上报给所述hal层;
在所述hal层,将所述driver层发来的数据进行解包还原出埋点信息,将还原出的埋点信息以及所述hal层的埋点信息按照预设的数据格式进行封装,并传输给所述service层;
在所述service层,将所述hal层发来的数据进行解包还原出埋点信息;
所述将所述应用处理芯片侧各层功能模块的埋点信息连同所述外挂通讯器件侧埋点信息上报至服务器的步骤包括:
在所述service层,将所述service层还原出的埋点信息以及所述service层的埋点信息按照预设的数据格式进行封装,并上传给服务器。
可选地,所述在所述service层,将所述service层还原出的埋点信息以及所述service层的埋点信息按照预设的数据格式进行封装,并上传给服务器的步骤包括:
在所述service层,将所述service层还原出的埋点信息以及所述service层的埋点信息进行统一汇总至大数据收集模块;
通过所述大数据收集模块对统一汇总的埋点信息标记各功能模块的tag、时间信息,并按照统一的大数据格式进行封装,将封装后的埋点信息,通过调用大数据收集模块的接口的方式,上传给服务器。
可选地,所述大数据收集模块上传埋点信息给服务器的步骤包括:
所述大数据收集模块实时上报埋点信息至服务器,或者缓存埋点信息后定期上报至服务器。
可选地,所述获取所述外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息的步骤之前还包括:
在系统程序的代码中预设埋点位置进行埋点。
可选地,所述系统监测方法还包括:
向所述服务器发送查询指令;
接收所述服务器根据所述查询指令反馈的埋点信息,根据所述服务器反馈的埋点信息监测系统稳定性。
此外,本发明实施例还提出一种系统监测装置,所述系统监测装置包括:
信息收集模块,用于在系统程序运行过程中,在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息;
信息上报模块,用于将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器。
此外,本发明实施例一种终端设备,所述终端设备包括:应用处理芯片,所述应用处理芯片,用于在终端设备的系统程序运行过程中,在应用处理芯片侧,逐层收集所述应用处理芯片侧各层功能模块的埋点信息,并将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器。
可选地,所述终端设备还包括:外挂通讯器件,所述外挂通讯器件与所述应用处理芯片通过SPI方式通讯连接,
所述外挂通讯器件,用于在终端设备系统程序运行过程中,获取所述外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息,将所述外挂通讯器件侧埋点信息上传至所述应用处理芯片。
此外,本发明实施例还提出一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的系统监测程序,所述系统监测程序被所述处理器执行时实现如上所述的系统监测方法的步骤。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有系统监测程序,所述系统监测程序被处理器执行时实现如上所述的系统监测方法的步骤。
本发明实施例提出的系统监测方法、装置、终端设备及存储介质,在系统程序运行过程中,在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息;将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器。由此,通过大数据埋点和收集的方式,使得调试信息、错误信息等反映系统稳定性的信息可以及时、对用户无感地上传到服务器供开发人员分析,既提升了错误信息的精准性和指向性,也提升了信息收集的时效性和错误修复的及时性,方便开发人员监测系统稳定性,快速定位问题、修复问题。
附图说明
图1为本发明系统监测装置所属终端的功能模块示意图;
图2为本发明系统监测方法一示例性实施例的流程示意图;
图3为本发明实施例中一种大数据收集与上传的细化流程示意图;
图4为本发明系统监测方法另一示例性实施例的流程示意图;
图5为本发明实施例中另一种大数据收集与上传的细化流程示意图;
图6为本发明系统监测方法又一示例性实施例的流程示意图;
图7为本发明系统监测方法再一示例性实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:在系统程序运行过程中,在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息;将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器。由此,通过大数据埋点和收集的方式,使得调试信息、错误信息等反映系统稳定性的信息可以及时、对用户无感地上传到服务器供开发人员分析,既提升了错误信息的精准性和指向性,也提升了信息收集的时效性和错误修复的及时性,方便开发人员监测系统稳定性,快速定位问题、修复问题。
本发明实施例涉及的专业术语包括:
1、埋点:通过在软件代码中添加特定的代码的方式,收集程序运行过程中特定信息,例如程序错误信息、功能使用频度等等。通俗讲就是在开发人员所指定的程序位置事先埋下一个点,当程序运行到这个点的时候,就会触发数据的收集操作。
举个例子,用户每次开启或者关闭息屏显示的功能,都会走到程序中对应的开启、关闭的代码位置。那么在这个位置进行埋点,就可以收集到有多少用户开启、关闭了息屏显示这个功能。
2、模块功能解释(从上到下):
大数据服务器:用于查看各类大数据的服务器,包含可视化界面,可以对大数据进行分类查询。
大数据收集模块:是Service的子模块,包含大数据实时上传至服务器和大数据缓存、每日上传服务器两种功能。
Service层:以APK的形式存在于系统中,主要包含一些逻辑控制,以及获取终端设备屏幕状态等功能。
HAL层:即Hardware Abstract Layer,安卓系统中的硬件抽象层,以进程的方式存在于系统中,主要是承接Service与Driver之间的通讯桥梁。
Driver层:即终端设备驱动,主要用于加载firmware,通过netlink向HAL层发送数据。
上述Driver层、HAL层、Service层集成在终端设备的AP(Application Processor,应用芯片)侧,本发明实施例定义AP为应用处理芯片,手机的操作系统、用户界面和应用程序都在AP上执行,AP一般采用ARM芯片的CPU。
M1芯片:一种与AP通信的通讯器件,在手机上挂接于AP之外,可以实现一些特定的扩展功能,比如屏幕显示控制功能等,通过这种挂接方式,可以减少手机开发成本,同时也能够提升手机功能设计的灵活性,本发明实施例定义M1芯片为应用处理芯片挂接的外挂通讯器件。
本申请实施例考虑到,现有的终端系统、软件等发生各类错误导致运行异常、崩溃等情况时,往往通过抓取现场错误log、日志等并发送给服务器供技术人员进行分析。这种方式的缺点在于:错误log、日志等信息往往是对错误现场的抓拍,信息量和无关的干扰信息较多,技术人员通常需要花费较多的时间才能从中梳理出有效的信息,给错误分析、定位和后续修复增加难度。另外,错误日志往往需要用户主动上传,这就造成了错误发生时,开发人员无法第一时间获取到错误信息,继而拖慢了错误修复的进度。
由此,本发明实施例提出一种改进方案,创新地将大数据技术应用到检测系统稳定性上,通过大数据埋点、统一上报上传的方式,可以及时、精准收集到终端设备上service侧、hal侧、driver侧和M1芯片侧的各类错误信息,方便开发人员监测系统稳定性,快速定位问题、修复问题。
具体地,参照图1,图1为本发明系统监测装置所属终端的功能模块示意图。该系统监测装置所在终端可以是手机、平板电脑等能够进行数据处理、运行各种应用程序的移动终端,该系统监测装置可以通过硬件或软件的形式承载于上述终端设备上。
在本实施例中,该系统监测装置所在终端至少包括输出模块110、第一处理器120、第一存储器130以及第一通信模块140。
第一存储器130中存储有第一操作系统以及系统监测程序,其中,系统程序运行过程中,获取的各功能模块在系统程序的预设埋点位置的埋点信息也可以存储于该第一存储器130中。
输出模块110可为显示屏、扬声器等,显示屏可以为触摸屏,用于显示终端的相关信息等。第一通信模块140可以包括WIFI模块、移动通信模块以及蓝牙模块等,通过第一通信模块140与外部终端设备或服务器进行通信。
作为一种实施方式,其中,第一存储器130中的系统监测程序被处理器执行时实现以下步骤:
在系统程序运行过程中,在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息;
将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器。
进一步地,第一存储器130中的系统监测程序被处理器执行时还实现以下步骤:
在系统程序运行过程中,获取所述外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息;
将所述外挂通讯器件侧埋点信息上传至所述应用处理芯片;
将所述应用处理芯片侧各层功能模块的埋点信息连同所述外挂通讯器件侧埋点信息上报至服务器。
进一步地,第一存储器130中的系统监测程序被处理器执行时还实现以下步骤:
将所述外挂通讯器件侧埋点信息通过SPI的方式上传至应用处理芯片的driver层。
进一步地,第一存储器130中的系统监测程序被处理器执行时还实现以下步骤:
在所述应用处理芯片侧,通过所述driver层接收所述控制处理芯片侧各功能模块发送的外挂通讯器件侧埋点信息;
在所述driver层,将所述控制处理芯片侧各功能模块发送的外挂通讯器件侧埋点信息,以及所述driver层的埋点信息,按照预设的数据格式进行封装,并上报给所述hal层;
在所述hal层,将所述driver层发来的数据进行解包还原出埋点信息,将还原出的埋点信息以及所述hal层的埋点信息按照预设的数据格式进行封装,并传输给所述service层;
在所述service层,将所述hal层发来的数据进行解包还原出埋点信息;
将在所述service层,将所述service层还原出的埋点信息以及所述service层的埋点信息按照预设的数据格式进行封装,并上传给服务器。
进一步地,第一存储器130中的系统监测程序被处理器执行时还实现以下步骤:
在所述service层,将所述service层还原出的埋点信息以及所述service层的埋点信息进行统一汇总至大数据收集模块;
通过所述大数据收集模块对统一汇总的埋点信息标记各功能模块的tag、时间信息,并按照统一的大数据格式进行封装,将封装后的埋点信息,通过调用大数据收集模块的接口的方式,上传给服务器。
进一步地,第一存储器130中的系统监测程序被处理器执行时还实现以下步骤:
所述大数据收集模块实时上报埋点信息至服务器,或者缓存埋点信息后定期上报至服务器。
进一步地,第一存储器130中的系统监测程序被处理器执行时还实现以下步骤:
在系统程序的代码中预设埋点位置进行埋点。
进一步地,第一存储器130中的系统监测程序被处理器执行时还实现以下步骤:
向所述服务器发送查询指令;
接收所述服务器根据所述查询指令反馈的埋点信息,根据所述服务器反馈发埋点信息监测系统稳定性。
本实施例通过上述方案,在系统程序运行过程中,在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息;将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器。由此,通过大数据埋点和收集的方式,使得调试信息、错误信息等反映系统稳定性的信息可以及时、对用户无感地上传到服务器供开发人员分析,既提升了错误信息的精准性和指向性,也提升了信息收集的时效性和错误修复的及时性,方便开发人员监测系统稳定性,快速定位问题、修复问题。
基于上述终端架构但不限于上述终端架构,提出本发明方法实施例。
参照图2,图2为本发明系统监测方法一示例性实施例的流程示意图。在该实施例中,所述系统监测方法包括:
步骤S103,在系统程序运行过程中,在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息;
步骤S104,将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器。
本实施例方法执行主体可以为实现系统监测功能的终端设备,也可以为一种系统监测装置,该系统监测装置可以通过硬件或软件的形式承载于终端设备上。该终端设备可以是手机、平板电脑等能够进行数据处理、运行各种应用程序的移动终端。
本实施例以终端设备为移动终端进行举例。该终端设备包括:应用处理芯片AP。对于应用处理芯片侧,应用处理芯片从下至上包括driver层、hal层、service层。
为了实现对系统稳定性的及时监测,提升错误信息的精准性和指向性,提升信息收集的时效性和错误修复的及时性,在本实施例中,预先针对应用处理芯片侧的各层(包括driver层、hal层、service层)进行大数据埋点,以便在系统程序运行时,获取上述各预设埋点位置的埋点信息,进行系统稳定性监控。
具体实现场景举例如下:
开发人员在进行程序设计编码时,将可能出现异常状态的位置,事先通过代码的方式进行埋点,使得当程序运行到相应的错误位置时,可以收集当前情况下对分析、解决问题有帮助的各类数据、信息。
例如,开发工程师在进行内核开发、应用开发、音频系统开发等开发工作时,按照各自的模块和功能设计,在代码中进行大数据埋点,又比如,AP侧driver开发工程师、hal开发工程师、service开发工程师在对应的代码中添加大数据埋点。
在系统程序运行过程中,首先获取应用处理芯片侧各层功能模块在所述系统程序的预设埋点位置的埋点信息,
具体地,所述应用处理芯片由下至上包括:driver层、hal层、service层。
首先,获取driver层的埋点信息,在所述driver层,将所述driver层的埋点信息,按照预设的数据格式进行封装,并上报给所述hal层;
在所述hal层,将所述driver层发来的数据进行解包还原出埋点信息,将还原出的埋点信息以及所述hal层的埋点信息按照预设的数据格式进行封装,并传输给所述service层;
在所述service层,将所述hal层发来的数据进行解包还原出埋点信息,将还原出的埋点信息以及所述service层的埋点信息按照预设的数据格式进行封装,并上传给服务器。
具体地,作为一种实施方式,在所述service层,将所述hal层发来的数据进行解包还原出埋点信息;将还原出的埋点信息以及所述service层的埋点信息进行统一汇总至大数据收集模块;通过所述大数据收集模块对统一汇总的埋点信息标记各功能模块的tag、时间信息,并按照统一的大数据格式进行封装,将封装后的埋点信息,通过调用大数据收集模块的接口的方式,上传给服务器。
上述实施方式中,所述大数据收集模块上传埋点信息给服务器时可以参与如下方案:大数据收集模块实时上报埋点信息至服务器,或者缓存埋点信息后定期上报至服务器。
如图3所示,driver层将自己(driver层)的埋点信息,按照统一的数据格式进行封装,然后通过netlink uevent的方式上报给hal层;hal层将driver层发来的数据进行解包还原出埋点信息,然后将还原出的埋点信息以及自己(hal层)的埋点信息按照hidl规定的数据格式进行封装,然后通过hardware binder传输给service层;service层将hal层发来的数据进行解包还原出埋点信息,然后将还原出的埋点信息以及自己(service层)的埋点信息统一汇总,然后打上模块的tag、时间信息等,按照统一的大数据格式通过调用大数据收集模块的接口的方式,将大数据上传给大数据服务器。由此,实现应用处理芯片各层功能模块的埋点信息的统一上报。
本实施例通过上述方案,在系统程序运行过程中,在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息;将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器。由此,通过大数据埋点和收集的方式,使得调试信息、错误信息等反映系统稳定性的信息可以及时、对用户无感地上传到服务器供开发人员分析,既提升了错误信息的精准性和指向性,也提升了信息收集的时效性和错误修复的及时性,方便开发人员监测系统稳定性,快速定位问题、修复问题。
参照图4,图4为本发明系统监测方法另一示例性实施例的流程示意图。在该实施例中,基于上述图2所示的实施例,在上述步骤S103,在系统程序运行过程中,在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息之前还包括:
步骤S101,在系统程序运行过程中,获取外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息;
步骤S102,将所述外挂通讯器件侧埋点信息上传至所述应用处理芯片;
所述步骤S104,将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器包括:
步骤S1041,将所述应用处理芯片侧各层功能模块的埋点信息连同所述外挂通讯器件侧埋点信息上报至服务器。
具体地,本实施例系统监测方法包括:
步骤S101,在系统程序运行过程中,获取外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息;
本实施例方法执行主体可以为实现系统监测功能的终端设备,也可以为一种系统监测装置,该系统监测装置可以通过硬件或软件的形式承载于终端设备上。该终端设备可以是手机、平板电脑等能够进行数据处理、运行各种应用程序的移动终端。
本实施例以终端设备为移动终端进行举例。该终端设备包括:M1芯片侧和AP侧,其中,AP定义为应用处理芯片,M1芯片为与AP通信的通讯器件,在终端设备上挂接于AP之外,可以实现一些特定的扩展功能,比如屏幕显示控制功能等,通过这种挂接方式,可以减少终端设备的开发成本,同时也能够提升终端设备功能设计的灵活性,本发明实施例定义M1芯片为应用处理芯片挂接的外挂通讯器件。该外挂通讯器件与应用处理芯片之间通过中断和SPI(Serial Peripheral Interface,串行外设接口)方式进行通信。
其中,针对外挂通讯器件的内核开发、应用开发、音频系统开发等开发工作,配置有相应的功能模块;对于应用处理芯片侧,应用处理芯片从下至上包括driver层、hal层、service层。
为了实现对系统稳定性的及时监测,提升错误信息的精准性和指向性,提升信息收集的时效性和错误修复的及时性,本实施例中,预先针对外挂通讯器件的各功能模块,在程序代码中进行大数据埋点;同时,针对应用处理芯片侧的各层(包括service层、hal层、driver层)进行大数据埋点,以便在系统程序运行时,获取上述各预设埋点位置的埋点信息,进行系统稳定性监控。
具体实现场景举例如下:
开发人员在进行程序设计编码时,将可能出现异常状态的位置,事先通过代码的方式进行埋点,使得当程序运行到相应的错误位置时,可以收集当前情况下对分析、解决问题有帮助的各类数据、信息。
例如,M1侧开发工程师在进行M1的内核开发、应用开发、音频系统开发等开发工作时,按照各自的模块和功能设计,在代码中进行大数据埋点;AP侧driver开发工程师、hal开发工程师、service开发工程师也在对应的代码中添加大数据埋点。
在系统程序运行过程中,首先获取外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的埋点信息,本实施例定义为外挂通讯器件侧埋点信息。
步骤S102,将所述外挂通讯器件侧埋点信息上传至应用处理芯片;
外挂通讯器件将各功能模块的外挂通讯器件侧埋点信息上传至应用处理芯片。
其中,所述应用处理芯片由下至上包括:driver层、hal层、service层,外挂通讯器件在将所述外挂通讯器件侧埋点信息上传至应用处理芯片时,将所述外挂通讯器件侧埋点信息通过SPI的方式上传至应用处理芯片的driver层。
步骤S103,在所述应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息;
步骤S1041,将所述应用处理芯片侧各层功能模块的埋点信息连同所述外挂通讯器件侧埋点信息上报至服务器。
在所述应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息,并将各层功能模块的埋点信息连同接收到的外挂通讯器件侧埋点信息上报至服务器。
具体实现如下:
所述应用处理芯片由下至上包括:driver层、hal层、service层,在所述应用处理芯片侧,通过所述driver层接收所述控制处理芯片侧各功能模块发送的外挂通讯器件侧埋点信息;
在所述driver层,将所述外挂通讯器件侧各功能模块发送的外挂通讯器件侧埋点信息,以及所述driver层的埋点信息,按照预设的数据格式进行封装,并上报给所述hal层;
在所述hal层,将所述driver层发来的数据进行解包还原出埋点信息,将还原出的埋点信息以及所述hal层的埋点信息按照预设的数据格式进行封装,并传输给所述service层;
在所述service层,将所述hal层发来的数据进行解包还原出埋点信息,将还原出的埋点信息以及所述service层的埋点信息按照预设的数据格式进行封装,并上传给服务器。
具体地,在所述service层,将所述hal层发来的数据进行解包还原出埋点信息;将还原出的埋点信息以及所述service层的埋点信息进行统一汇总至大数据收集模块;通过所述大数据收集模块对统一汇总的埋点信息标记各功能模块的tag、时间信息,并按照统一的大数据格式进行封装,将封装后的埋点信息,通过调用大数据收集模块的接口的方式,上传给服务器。
上述实施方式中,所述大数据收集模块上传埋点信息给服务器时可以参与如下方案:大数据收集模块实时上报埋点信息至服务器,或者缓存埋点信息后定期上报至服务器。
以下以M1芯片与AP交互为例,对本实施例中大数据收集与上传的具体方案进行详细阐述:
如图5所示,M1侧各个功能模块将各自的埋点信息通过SPI的方式发送到AP侧的driver层;driver层将M1侧发来的埋点信息以及自己(driver层)的埋点信息,按照统一的数据格式进行封装,然后通过netlink uevent的方式上报给hal层;hal层将driver层发来的数据进行解包还原出埋点信息,然后将还原出的埋点信息以及自己(hal层)的埋点信息按照hidl规定的数据格式进行封装,然后通过hardware binder传输给service层;service层将hal层发来的数据进行解包还原出埋点信息,然后将还原出的埋点信息以及自己(service层)的埋点信息统一汇总,然后打上模块的tag、时间信息等,按照统一的大数据格式通过调用大数据收集模块的接口的方式,将大数据上传给大数据服务器。
本实施例通过上述方案,在系统程序运行过程中,获取外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息;将所述外挂通讯器件侧埋点信息上传至应用处理芯片;在所述应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息,并将各层功能模块的埋点信息连同所述外挂通讯器件侧埋点信息上报至服务器。由此,通过大数据埋点和收集的方式,使得调试信息、错误信息等反映系统稳定性的信息可以及时、对用户无感地上传到服务器供开发人员分析,既提升了错误信息的精准性和指向性,也提升了信息收集的时效性和错误修复的及时性,方便开发人员监测系统稳定性,快速定位问题、修复问题。
参照图6,图6为本发明系统监测方法又一示例性实施例的流程示意图。在该实施例中,基于上述图4所示的实施例,在上述步骤S101,在系统程序运行过程中,获取外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息之前还包括:
步骤S100,在系统程序的代码中预设埋点位置进行埋点。
相比上述图4所示的实施例,本实施例还包括在系统程序的代码中预设埋点位置进行埋点的方案。
具体地,终端设备包括:M1芯片侧和AP侧,其中,M1芯片定义为外挂通讯器件,AP定义为应用处理芯片。所述外挂通讯器件与应用处理芯片之间通过中断和SPI方式进行通信。
其中,针对外挂通讯器件的内核开发、应用开发、音频系统开发等开发工作,配置有相应的功能模块;对于应用处理芯片侧,应用处理芯片从下至上包括driver层、hal层、service层。
为了实现对系统稳定性的及时监测,提升错误信息的精准性和指向性,提升信息收集的时效性和错误修复的及时性,本实施例中,针对外挂通讯器件的各功能模块,在程序代码中进行大数据埋点;同时,针对处理芯片侧的各层(包括service层、hal层、driver层)进行大数据埋点,以便在系统程序运行时,获取上述各预设埋点位置的埋点信息,进行系统稳定性监控。
具体实现场景举例如下:
开发人员在进行程序设计编码时,将可能出现异常状态的位置,事先通过代码的方式进行埋点,使得当程序运行到相应的错误位置时,可以收集当前情况下对分析、解决问题有帮助的各类数据、信息。
例如,M1侧开发工程师在进行M1的内核开发、应用开发、音频系统开发等开发工作时,按照各自的模块和功能设计,在代码中进行大数据埋点;AP侧driver开发工程师、hal开发工程师、service开发工程师也在对应的代码中添加大数据埋点。
本实施例通过上述方案,在系统程序的代码中预设埋点位置进行埋点,在系统程序运行过程中,获取外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息;将所述外挂通讯器件侧埋点信息上传至应用处理芯片;在所述应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息,并将各层功能模块的埋点信息连同所述外挂通讯器件侧埋点信息上报至服务器。由此,通过大数据埋点和收集的方式,使得调试信息、错误信息等反映系统稳定性的信息可以及时、对用户无感地上传到服务器供开发人员分析,既提升了错误信息的精准性和指向性,也提升了信息收集的时效性和错误修复的及时性,方便开发人员监测系统稳定性,快速定位问题、修复问题。
参照图7,图7为本发明系统监测方法再一示例性实施例的流程示意图。在该实施例中,基于上述图6所示的实施例,所述系统监测方法还包括:
步骤S105,向所述服务器发送查询指令;
步骤S106,接收所述服务器根据所述查询指令反馈的埋点信息,根据所述服务器反馈的埋点信息监测系统稳定性。
相比上述图6所示的实施例,本实施例还包括查询埋点信息的方案。
具体地,开发人员可以直接登录大数据服务器或者通过终端设备软件登录大数据服务器,根据设定的tag来筛选对应模块的大数据信息,从中查找、分析上报的各类错误信息,以及时监测系统稳定性,此外,还可以利用大数据制作各类图标,方便直观地查看功能利用率,系统出错概率等。
本实施例通过上述方案,在系统程序的代码中预设埋点位置进行埋点,在系统程序运行过程中,获取外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息;将所述外挂通讯器件侧埋点信息上传至应用处理芯片;在所述应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息,并将各层功能模块的埋点信息连同所述外挂通讯器件侧埋点信息上报至服务器。由此,通过大数据埋点和收集的方式,使得调试信息、错误信息等反映系统稳定性的信息可以及时、对用户无感地上传到服务器供开发人员分析,既提升了错误信息的精准性和指向性,也提升了信息收集的时效性和错误修复的及时性,方便开发人员监测系统稳定性,快速定位问题、修复问题。此外,通过登录大数据服务器查询、分析上报的各类错误信息,以及时监测系统稳定性,并可以利用大数据制作各类图标,方便直观地查看功能利用率,系统出错概率等。
此外,本发明实施例还提出一种系统监测装置,所述系统监测装置包括:
信息收集模块,用于在系统程序运行过程中,在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息;
信息上报模块,用于将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器。
进一步地,上述信息收集模块,还用于在系统程序运行过程中,获取所述外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息;将所述外挂通讯器件侧埋点信息上传至所述应用处理芯片;
上述信息上报模块,还用于将所述应用处理芯片侧各层功能模块的埋点信息连同所述外挂通讯器件侧埋点信息上报至服务器。
本实施例实现系统稳定性监测的具体过程及原理,请参照上述各实施例的技术方案,在此不再赘述。
此外,本发明实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的系统监测程序,所述系统监测程序被所述处理器执行时实现如上述实施例所述的系统监测方法的步骤。
由于本系统监测程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本发明实施例还提出一种终端设备,所述终端设备包括:应用处理芯片,所述应用处理芯片,用于在终端设备的系统程序运行过程中,在应用处理芯片侧,逐层收集所述应用处理芯片侧各层功能模块的埋点信息,并将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器。
进一步地,所述终端设备还包括:外挂通讯器件,所述外挂通讯器件与所述应用处理芯片通过SPI方式通讯连接,
所述外挂通讯器件,用于在终端设备系统程序运行过程中,获取所述外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息,将所述外挂通讯器件侧埋点信息上传至所述应用处理芯片。本实施例中外挂通讯器件,与应用处理芯片交互实现大数据的收集与上传以进行系统稳定性监控的具体方案,请参照上述各实施例,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有系统监测程序,所述系统监测程序被处理器执行时实现如上实施例所述的系统监测方法的步骤。
由于本系统监测程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
相比现有技术,本发明实施例提出的系统监测方法、装置、终端设备及存储介质,在系统程序运行过程中,在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息;将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器。由此,通过大数据埋点和收集的方式,使得调试信息、错误信息等反映系统稳定性的信息可以及时、对用户无感地上传到服务器供开发人员分析,既提升了错误信息的精准性和指向性,也提升了信息收集的时效性和错误修复的及时性,方便开发人员监测系统稳定性,快速定位问题、修复问题。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本发明每个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种系统监测方法,其特征在于,包括:
在系统程序运行过程中,在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息;
将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器;
所述应用处理芯片通讯连接有外挂通讯器件,所述在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息的步骤之前还包括:
在系统程序运行过程中,获取所述外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息;
将所述外挂通讯器件侧埋点信息上传至所述应用处理芯片;
所述将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器的步骤包括:
将所述应用处理芯片侧各层功能模块的埋点信息连同所述外挂通讯器件侧埋点信息上报至服务器;
所述应用处理芯片由下至上包括:驱动driver层、硬件抽象hal层、服务service层,所述将所述外挂通讯器件侧埋点信息上传至应用处理芯片的步骤包括:
将所述外挂通讯器件侧埋点信息通过串行外设接口SPI的方式上传至应用处理芯片的driver层。
2.根据权利要求1所述的系统监测方法,其特征在于,所述在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息的步骤包括:
在所述应用处理芯片侧,通过所述driver层接收所述应用处理芯片侧各功能模块发送的外挂通讯器件侧埋点信息;
在所述driver层,将所述应用处理芯片侧各功能模块发送的外挂通讯器件侧埋点信息,以及所述driver层的埋点信息,按照预设的数据格式进行封装,并上报给所述hal层;
在所述hal层,将所述driver层发来的数据进行解包还原出埋点信息,将还原出的埋点信息以及所述hal层的埋点信息按照预设的数据格式进行封装,并传输给所述service层;
在所述service层,将所述hal层发来的数据进行解包还原出埋点信息;
所述将所述应用处理芯片侧各层功能模块的埋点信息连同所述外挂通讯器件侧埋点信息上报至服务器的步骤包括:
在所述service层,将所述service层还原出的埋点信息以及所述service层的埋点信息按照预设的数据格式进行封装,并上传给服务器。
3.根据权利要求2所述的系统监测方法,其特征在于,所述在所述service层,将所述service层还原出的埋点信息以及所述service层的埋点信息按照预设的数据格式进行封装,并上传给服务器的步骤包括:
在所述service层,将所述service层还原出的埋点信息以及所述service层的埋点信息进行统一汇总至大数据收集模块;
通过所述大数据收集模块对统一汇总的埋点信息标记各功能模块的tag、时间信息,并按照统一的大数据格式进行封装,将封装后的埋点信息,通过调用大数据收集模块的接口的方式,上传给服务器。
4.根据权利要求3所述的系统监测方法,其特征在于,所述大数据收集模块上传埋点信息给服务器的步骤包括:
所述大数据收集模块实时上报埋点信息至服务器,或者缓存埋点信息后定期上报至服务器。
5.根据权利要求2-4中任一项所述的系统监测方法,其特征在于,所述获取所述外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息的步骤之前还包括:
在系统程序的代码中预设埋点位置进行埋点。
6.根据权利要求1-4中任一项所述的系统监测方法,其特征在于,所述系统监测方法还包括:
向所述服务器发送查询指令;
接收所述服务器根据所述查询指令反馈的埋点信息,根据所述服务器反馈的埋点信息监测系统稳定性。
7.一种系统监测装置,其特征在于,所述系统监测装置包括:
信息收集模块,用于在系统程序运行过程中,在应用处理芯片侧,逐层收集应用处理芯片侧各层功能模块的埋点信息;
信息上报模块,用于将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器;
所述应用处理芯片通讯连接有外挂通讯器件,所述系统监测装置,还包括:
信息获取模块,用于在系统程序运行过程中,获取所述外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息;
信息上传模块,用于将所述外挂通讯器件侧埋点信息上传至所述应用处理芯片;
所述信息上报模块,包括:
信息上报单元,用于将所述应用处理芯片侧各层功能模块的埋点信息连同所述外挂通讯器件侧埋点信息上报至服务器;
所述应用处理芯片由下至上包括:驱动driver层、硬件抽象hal层、服务service层,所述信息上传模块,包括:
信息上传单元,用于将所述外挂通讯器件侧埋点信息通过串行外设接口SPI的方式上传至应用处理芯片的driver层。
8.一种终端设备,其特征在于,所述终端设备包括:应用处理芯片和外挂通讯器件,所述外挂通讯器件与所述应用处理芯片通过SPI方式通讯连接;
所述应用处理芯片,用于在终端设备的系统程序运行过程中,在应用处理芯片侧,逐层收集所述应用处理芯片侧各层功能模块的埋点信息,并将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器;
所述外挂通讯器件,用于在终端设备系统程序运行过程中,获取所述外挂通讯器件侧各功能模块在所述系统程序的预设埋点位置的外挂通讯器件侧埋点信息,将所述外挂通讯器件侧埋点信息上传至所述应用处理芯片;
所述将所述应用处理芯片侧各层功能模块的埋点信息上报至服务器的步骤包括:
将所述应用处理芯片侧各层功能模块的埋点信息连同所述外挂通讯器件侧埋点信息上报至服务器;
所述应用处理芯片由下至上包括:驱动driver层、硬件抽象hal层、服务service层,所述将所述外挂通讯器件侧埋点信息上传至应用处理芯片的步骤包括:
将所述外挂通讯器件侧埋点信息通过串行外设接口SPI的方式上传至应用处理芯片的driver层。
9.一种终端设备,其特征在于,所述终端设备还包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的系统监测程序,所述系统监测程序被所述处理器执行时实现如权利要求1-6中任一项所述的系统监测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有系统监测程序,所述系统监测程序被处理器执行时实现如权利要求1-6中任一项所述的系统监测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911012086.9A CN112698999B (zh) | 2019-10-23 | 2019-10-23 | 系统监测方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911012086.9A CN112698999B (zh) | 2019-10-23 | 2019-10-23 | 系统监测方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112698999A CN112698999A (zh) | 2021-04-23 |
CN112698999B true CN112698999B (zh) | 2022-03-29 |
Family
ID=75505038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911012086.9A Active CN112698999B (zh) | 2019-10-23 | 2019-10-23 | 系统监测方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112698999B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103458086A (zh) * | 2012-06-04 | 2013-12-18 | 联想(北京)有限公司 | 一种智能手机及其故障检测方法 |
CN104915296A (zh) * | 2015-06-29 | 2015-09-16 | 北京金山安全软件有限公司 | 埋点测试方法、数据的查询方法及装置 |
CN106991017A (zh) * | 2017-04-05 | 2017-07-28 | 深圳天珑无线科技有限公司 | 事件处理方法及装置 |
CN108471366A (zh) * | 2018-02-02 | 2018-08-31 | 深圳市康拓普信息技术有限公司 | 一种面向云原生应用的立体监控系统 |
CN109302340A (zh) * | 2018-10-25 | 2019-02-01 | 金瓜子科技发展(北京)有限公司 | 一种埋点数据上报方法、装置及计算机可读存储介质 |
-
2019
- 2019-10-23 CN CN201911012086.9A patent/CN112698999B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103458086A (zh) * | 2012-06-04 | 2013-12-18 | 联想(北京)有限公司 | 一种智能手机及其故障检测方法 |
CN104915296A (zh) * | 2015-06-29 | 2015-09-16 | 北京金山安全软件有限公司 | 埋点测试方法、数据的查询方法及装置 |
CN106991017A (zh) * | 2017-04-05 | 2017-07-28 | 深圳天珑无线科技有限公司 | 事件处理方法及装置 |
CN108471366A (zh) * | 2018-02-02 | 2018-08-31 | 深圳市康拓普信息技术有限公司 | 一种面向云原生应用的立体监控系统 |
CN109302340A (zh) * | 2018-10-25 | 2019-02-01 | 金瓜子科技发展(北京)有限公司 | 一种埋点数据上报方法、装置及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112698999A (zh) | 2021-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108833459B (zh) | 数据上报方法及终端设备 | |
US7469362B2 (en) | Using a call stack hash to record the state of a process | |
KR20150033711A (ko) | 런타임 오류 복원 방법, 디바이스 및 시스템 | |
KR101281825B1 (ko) | 클라우드 시스템에서 가상 인터페이스를 이용하는 보안 강화 장치 및 방법 | |
US20130152069A1 (en) | Method, apparatus and system for initiating terminal operation | |
US10445214B2 (en) | System and method for tracking callback functions for error identification | |
CN112019609B (zh) | 基于物联网的设备监控方法、装置、设备及计算机介质 | |
CN110943851B (zh) | 基于微服务的告警处理方法、装置及电子设备 | |
US11740997B2 (en) | Method and apparatus for debugging a device | |
CN110602043A (zh) | 一种面向移动应用的api网关实现系统及方法 | |
CN111198790A (zh) | 机器人测试方法、机器人测试装置及机器人 | |
CN112328217A (zh) | 一种代码部署方法、装置、系统、计算机设备和介质 | |
CN109783284A (zh) | 信息获取方法、系统及服务器、计算机可读存储介质 | |
CN106294119B (zh) | 测试调度系统、方法及终端设备 | |
CN106020917B (zh) | 一种软件安装方法及装置、用户终端 | |
CN112698999B (zh) | 系统监测方法、装置、终端设备及存储介质 | |
CN115952491B (zh) | hook目标函数的方法、装置、电子设备及介质 | |
CN112667272A (zh) | 电表升级方法、系统、智能电表及存储介质 | |
CN108989428B (zh) | 蓝牙终端升级方法、服务器、计算机可读存储介质及系统 | |
CN106598770B (zh) | Android系统中Native层异常上报处理方法及装置 | |
CN110990221A (zh) | 基于内核LKM的Android平台恶意软件自动化检测方法与系统 | |
CN113204453B (zh) | 基于异构系统的异常反馈方法、设备、介质及程序产品 | |
CN115543812A (zh) | 基于动态注入的代码覆盖率测试方法、装置、系统及介质 | |
CN115033413A (zh) | 定位异常解决方法及相关装置 | |
CN112416698B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |