Android客户端的日志采集系统研究.pdf
《Android客户端的日志采集系统研究.pdf》由会员分享,可在线阅读,更多相关《Android客户端的日志采集系统研究.pdf(4页珍藏版)》请在咨信网上搜索。
1、设计研究/Designresearch40-AutoelectricpartsNo.08,2023Android客户端的日志采集系统研究谭倚靖,谭智文,张亮,韦通明,苏万德(上汽通用五菱汽车股份有限公司,广西新能源汽车实验室,广西汽车新四化重点实验室,广西柳州5450 0 7)【摘要】本文研究一种Android客户端日志采集系统的整体解决方案,实现终端日志的“全量滚动缓存+动态配置上报”,保证日志信息的完整存储,并减少无用日志上报。【关键词】日志系统;客户端;Android系统;日志采集中图分类号:U463.6TAN Yi-jing,TAN Zhi-wen,ZHANG Liang,WEI To
2、ng-ming,SUWan-de(SAIC GM Wuling Automobile Co.,Ltd.,Guangxi Laboratory of New Energy Automobile,Guangxi Key Laboratory of Automobile Four New Features,Liuzhou 545007,China)Abstract This paper studies an overall solution of Android client log collection system to achieve the“fullrolling cache+dynamic
3、 configuration reporting of terminal logs,ensure the complete storage of log information,andreduce the reporting of useless logs.Key words log system;client;Android system;log collection作者简介谭倚靖(19 9 4一),女,工程师,主要从事大数据应用相关工作。日志是操作系统或应用程序在运行时的事件记录,为开发人员提供程序运行过程中的状态变化信息,用于处理和观察分析系统或程序的运行是否符合预期的结果。1客户端系统
4、的多样性问题服务端的日志系统较为成熟,目前主流的日志系统使用ELK作为日志的分布式存储,使用skywalking作为微服务架构中的分布式链路解决方案,使得开发者能够便捷地收集和查询日志,协助处理系统问题。而客户端与服务端不同,相较于服务端稳定的网络架构,客户端需要面对更多的多样性问题。1)客户端平台的多样性。云平台上的服务器、每个人手里的手机以及物联网设备等终端都可以作为客户端,不同的客户端通常使用不同的操作系统,这就要求客户端的日志系统需要在多平台实现,或者具备跨平台的能力。2)客户端场景的多样性。客户端为用户所有,用户在客户端进行业务交互时,其是否同意采集并上传日志、产品应用是否希望用户感
5、知到日志的采集与回传操作、流量的消耗是否合理这些问题都需要基于具体的应用场景来设计,场景需求的多样性则要求客户端日志系统需要具备较高的可配置能力,同时,日志采集需要尽量低消耗与无感知。3)客户端网络环境的多样性。互联网有多种接入方收稿日期:2 0 2 2-12-30文献标志码:A文章编号:10 0 3-8 6 39(2 0 2 3)0 8-0 0 40-0 3Research on Log Collection System of Android Client以及服务端资源的消耗。式,常见的有:WIFI接人、移动蜂窝网络接人、有线宽带接入、USB桥接网络接人.多种网络可能随时切换,也随时可能出
6、现网络不稳定、短时离网等异常情况。为保证日志数据不因为网络问题而丢失,要求客户端的日志系统需要具备数据缓存、数据压缩、断点续传、超时重连等机制,以保证日志系统在复杂网络条件下能够正常运作。2Android客户端的日志采集系统现状客户端系统种类甚多,对于实现复杂业务场景的客户端系统,在出现系统异常时,常常难以为每个问题提供场景复现与复测条件,因此需要日志收集系统的支持。当前,在复杂业务客户端系统中,开源的Android应用最为广泛,故本文主要探讨Android客户端的日志采集系统如何实现,并解决客户端日志系统面临的主要难点问题。在Android系统的应用中,日志级别分为错误日志(Er r o r
7、)、警告日志(Warn)、信息日志(Info)、调试日志(Debug)、详细日志(Verbose)。日志级别用于筛选日志内容时,使用者可根据实际需要来选择查看不同级别的日志。目前,常见的Android日志收集方式主要有以下3种。1)日志仅本地存储,用户主动回传。在客户端出现严重问题时,引导用户主动操作上报日志压缩文件。通常作为操作系统方的实现方式,例如:手机系统、车机系统,采集的日志类型包含系统日志、应用日志、内核日志、外部设备日志等,日志内容全,覆盖范围广。由于操作系统的重要性,在发布正式版本前大多经过了一层层的严格测试,线上问题较少。采用这种日志收集形式,便于更针对性地解决特定用户的特定问
8、题,并最大程度减少对于网络资源41Designresearch/设计研究汽车电器2 0 2 3年第8 期2)监听系统应用程序异常,上传错误日志。通常面向应用层的软件,主要由第三方提供服务,在捕获到App发生异常时,自动采集错误日志到第三方后台,主要用于解决应用程序崩溃问题以及应用无响应问题。这种方式接入简单高效,能够快速、便捷地为App开发者提供错误统计以及日志数据。缺点则是日志内容有限,且只能在严重错误发生时获取日志信息,而业务功能错误无法收集。3)实时回传核心业务功能的相关日志。在指定的业务代码位置直接定义日志上传规则及内容,每当产生新日志时即刻上报,信息余量较大,一般仅用于特定核心业务功
9、能的状态上报。3研究目标基于Android客户端的日志采集系统现状分析可知,前端日志采集的难点主要在于如何解决日志数据量大、价值密度低的问题。若全量日志数据尽数存储并回传,会显著地占用客户端设备的I/O性能、CPU计算性能、存储容量以及网络流量,且其中能够直接发挥作用的有效日志却可能不足总量的万分之一,服务端接收到的数据量更与用户数量直接相关,这大量的穴余数据对用户和服务端的资源都造成了浪费。所以,主流的解决方案都会考虑解决或回避这些问题,例如:仅在发生程序崩溃时上传错误日志,尽量提高上传日志数据的价值密度,仅上传特定用户的日志数据,降低服务端资源消耗,更针对性地处理用户问题。本文研究一种“全
10、量滚动缓存+动态配置上报”的Android客户端日志采集系统解决方案。全量滚动缓存是指对系统中所有的日志进行本地持久化存储,并加入数据队列的处理模式,当日志内容超出存储池大小的时候,依次存储新的日志和删除最旧的日志内容,以保证存储完整的日志信息,但不会超出预设的存储池大小;动态配置上报是指通过后台动态配置的方式,控制日志数据是否上报、上报的内容、上报的频率等信息,依据需求来确定需要上报的内容和方式,减少无用日志上报。根据Android客户端日志采集系统解决方案的主要思想,可以将设计目标拆分为以下4个方面。1)配置功能:日志采集需要具备动态配置功能,可以通过服务端配置文件控制日志存储池大小、日志
11、内容上报的过滤条件、上报频率等配置参数。2)性能要求:日志采集模块需要接人方便,稳定高效,对项目的入侵度低,对目标设备性能影响小。3)日志存储:日志采集内容可以进行本地持久化,不挤兑应用的存储空间,日志内容滚动更新,应用意外停止时具备防止日志内容丢失的机制。4)数据安全性:日志采集内容需要保证安全性,对内容进行加密,防止信息泄露。本文设计的日志采集系统在适用范围方面,只要是具备数据存储能力和网络传输能力的设备,都符合本文设计的系统要求,而市面上运行Android系统的主要设备有智能手机、平板电脑、汽车的车载车机模块、智能电视或机顶盒等,都具备存储与网络传输的基础能力。4数据模型定义数据模型中的
12、数据结构采用JSON格式,主要原因是Android依赖库自带JSON库,无需增加其他第三方依赖,且性能稳定,并提供了很好的可读性。主要的数据模型有“日志数据模型”和“配置文件数据模型”。日志数据模型示例见表1,配置文件数据模型示例见表2。表1日志数据模型示例字段名称字段类型字段描述uidstringutlist1inttstringCstringt.idstringf.idstringdistructsistructaistruct表2 配置文件数据模型示例字段名称字段类型imbooleanupiintupsint1sint1tintupointuprintrestring5系统架构详细设计系
13、统的架构设计分为日志管理控制模块、本地存储模块、加密模块、网络请求模块、自动化日志插桩模块、Crash与ANR日志收集模块,整体架构设计如图1所示。sdk日志管理控制模块用户登录id用户标签日志级别日志标签TAG日志内容请求追踪标识method调用链路标识设备信息(设备id、CPU 架构、运存大小等)系统信息(系统版本、内核版本、是否root等)应用信息(包名、应用版本号)字段描述是否实时上传日志上传日志间隔时间/s一次上传的包大小/byte本地日志存储容量大小/byte本地日志存储历史时长/s日志上传超时时间/s日志上传失败重试次数日志过滤条件(正则表达式)App自动化日志插桩模块加密模块立
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 客户端 日志 采集 系统 研究
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。