一种基于移动IOS平台错误日志处理系统技术方案

技术编号:18458614 阅读:249 留言:0更新日期:2018-07-18 12:38
一种基于移动IOS平台错误日志处理系统,随着IOS系统上应用复杂度的不断增大,开发者及用户对于应用和系统的可靠性要求也随之不断提升;本发明专利技术设计实现了一种能够开机自启动并始终在后台运行的IOS日志系统;该日志系统能够收集系统和第三方应用中发生的错误,并将这些错误提交到远程服务器上以供进一步的分析和研究。

An error log processing system based on mobile IOS platform

An error log processing system based on mobile IOS platform, with the increasing application complexity on the IOS system, the requirements of the developers and users on the reliability of the application and system are also increasing. This design implements a IOS log system that can start from start to start and always run in the background; the log system It can collect errors in system and third party applications, and submit these errors to remote servers for further analysis and research.

【技术实现步骤摘要】
一种基于移动IOS平台错误日志处理系统
本专利技术是属于IOS平台
,特别涉及IOS平台的日志系统技术。
技术介绍
目前关于程序复杂度提升对智能手机可靠性影响的研究较少,在一些实时性可靠性高的项目上能够依赖移动设备的程度尚且不够明晰;因而,业界需要通过对智能手机的系统及应用错误进行收集和分析,提升开发者对智能手机可靠性的理解,为未来的更广泛应用提供理论基础。
技术实现思路
数据传输模块设计:数据传输模块将所有存储在本地数据库中的信息发送到远程服务器上,以便于检索分析来自不同设备的错误信息;本模块每隔30s检查一次数据库,看是否有更新数据插入;如果有则取出这些数将它们发送到远程服务器上交由ruby脚本处理;脚本程序与MySQL建立连接,将各个设备上收集到的信息存入数据库。系统数据及状态监测模块设计:在IOS中有许多高级API能够用以获取系统信息或监视系统运行状态,本部分实现的模块通过这些系统调用同系统内核进行交互,以获取内存、CPU信息以及运行中的进程列表;为了将数据在不同的模块间传递,需要将所有收集到信息从底层的C语言结构桥接到高级Objective-C的类中;此外,该模块会将所有的信息加上时间戳后存储到本地数据库中。Tracker模块设计:该模块通过分析I0S系统日志来探测崩溃和挂起事件;系统日志由AppleSystemLogger(ASL)框架提供;当运行中的进程发起了某个事件或者向标准输出流中写人信息时,I0S将会生成相应的信息,这些信息都可以通过Tracker模块来获取;因此,需要另一个线程来周期性的获取最新的系统日志并发出广播信息;一旦Tracker模块接受到广播信息,就可以通过辨识日志中事件的schema对事件进行分析,判定事件是崩溃事件、挂起事件还是其他事件;本系统将集中关注程序崩溃和应用挂起这两类开发者最常遇到的事件;如需对其他类型的事件追踪,也可以很方便的通过修改程序来进行扩展;当监测到崩溃或挂起事件后,该模块会将信息保存在本地的数据库中;这些信息会同系统数据及状态监测模块收集到的信息一起结合起来分析,以便找出崩溃或挂起事件同系统状态之间的联系。心跳模块设计:心跳模块用于探知系统的假死或者自动重启等事件;该组件每10s向一个XML文件写人一次alive信息;当用户关闭系统或者杀死日志系统的应用程序进程时该组件会写人一条shutdown信息;在每次应用启动到开始写人第一条alive信息前,该组件会读取上一次写人的信息,并检查是否有假死或者自动重启的事件发生过。生命周期模块设计:因为IOS对程序有很多严格的限制,例如应用程序只能在用户启动程序后方可运行,并且会在进人后台状态后的10min内被杀死;而日志子系统需要随系统启动且无限期的在后台运行;因此在系统中加人了生命周期模块以模拟VoiceoverIP(VoIP)类型应用的方式解决这两个问题;通过查阅苹果的官方文档可以得知,VoIP应用会在系统启动时在后台激活,但会在不到10s的时间内被挂起;接下来又会每隔10min在后台重新启动一次,同样活动时间不超过10s;尽管如此,I0S系统却允许任何应用的进程在被停止前可以发起一个长达10min的后台任务schedule;综合考虑以上因素后,在本模块的支撑下,日志系统的生命周期可以表述如下:当系统启动时,日志系统作为VoIP应用自动启动,在10s的活动时间内本模块将启动一个10min的后台任务schedule;10min过后,由于I0S系统会再次启动VoIP应用,因此程序又可以继续运行;出于对耗电量和系统资源占用的考虑,本模块每次工作后会sleepl0s,然后进行下一次的信息获取;经测试,应用运行400s,有200s左右的时间处于体眠状态,因此当日志系统运行时并不会对系统性能造成显著的影响。本文档来自技高网...

【技术保护点】
1.一种基于移动IOS平台错误日志处理系统,IOS平台的错误日志系统设计是通过系统数据及状态监测模块、心跳模块、Tracker模块、生命周期模块和数据和数据传输模块五大功能模块设计完成的。

【技术特征摘要】
1.一种基于移动IOS平台错误日志处理系统,IOS平台的错误日志系统设计是通过系统数据及状态监测模块、心跳模块、Tracker模块、生命周期模块和数据和数据传输模块五大功能模块设计完...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:湖南移商动力网络技术有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1