一种基于软件开发工具包监控日志的方法、装置及系统的制作方法

文档序号:10515230阅读:168来源:国知局
一种基于软件开发工具包监控日志的方法、装置及系统的制作方法
【专利摘要】本发明提供一种基于软件开发工具包监控日志的方法、装置及系统,其中应用于软件开发工具包侧的方法包括:软件开发工具包接收移动终端客户端发送的按照错误等级进行分类后的日志数据;软件开发工具包对接收到的分类后的日志数据按预定格式转换后进行存储,将符合预先设定的错误等级的日志数据汇总;软件开发工具包将符合预先设定的错误等级且经过汇总的日志数据上传至服务器。通过移动终端客户端进行日志的收集,软件开发工具包和服务器共同实现日志的上传和接收,解决日志杂乱无章难以有效管理利用的问题,并优化软件开发工具包的上传机制,同时可以解决弱网环境下多线程阻塞的问题。
【专利说明】
一种基于软件开发工具包监控日志的方法、装置及系统
技术领域
[0001]本发明涉及计算机技术领域,尤其涉及一种基于软件开发工具包监控日志的方法、装置及系统。
【背景技术】
[0002]随着移动互联网时代的来临,移动终端客户端软件成为信息技术领域的一个重要分支,该类软件的特点是用户群庞大,需要在不同的网络环境,不同软件、硬件环境下运行,在运行过程中有时候会出现接口返回错误、网络错误、系统崩溃异常等情况,造成日志杂乱无章难以有效管理利用。目前尚无手段对该类问题进行实时监控,为了便于对该类问题进行详细了解,需建立一个移动终端客户端错误日志监控功能,将发生问题时的错误信息上传给服务器,服务器对错误信息存储和展示。
[0003]目前的日志记录系统,是Android系统本身提供的日志系统,这类日志可以通过控制开关控制需打印内容。Android系统日志的等级分为ERR0R(发生错误事件,但不影响系统的继续运行)、WARN(表明会出现潜在错误的情形)、INFO(表明消息在粗粒度级别上突出强调应用程序的运行过程)、DEBUG(指出细粒度信息事件对调试应用程序的益处)、TRACE (制定细粒度信息事件)5个等级。

【发明内容】

[0004]本发明的目的在于提供一种基于软件开发工具包监控日志的方法、装置及系统,通过移动终端客户端进行日志的收集,软件开发工具包和服务器共同实现日志的上传和接收,解决日志杂乱无章难以有效管理利用的问题,并优化软件开发工具包的上传机制,便于服务器对错误日志数据存储和展示。
[0005]为了达到上述目的,本发明提供一种基于软件开发工具包监控日志的方法,应用于软件开发工具包侧,包括:
[0006]软件开发工具包接收移动终端客户端发送的按照错误等级进行分类后的日志数据;
[0007]软件开发工具包对接收到的分类后的日志数据按预定格式转换后进行存储,将符合预先设定的错误等级的日志数据汇总;
[0008]软件开发工具包将符合预先设定的错误等级且经过汇总的日志数据上传至服务器。
[0009]其中,软件开发工具包将符合预先设定的错误等级且经过汇总的日志数据上传至服务器,具体为:
[0010]当日志数据的大小超过预设的传输容量标准时,软件开发工具包根据预设的传输容量标准将日志数据进行分片,并将分片后的日志数据按照预先设置的一定时间内日志数据的上传次数上传至服务器,由服务器对分片后的日志数据进行自动合并处理。
[0011]其中,该方法还包括:
[0012]软件开发工具包设置日志数据的传输容量标准和一定时间内日志数据的上传次数。
[0013]其中,软件开发工具包将符合预先设定的错误等级且经过汇总的日志数据上传至服务器,具体包括:
[0014]软件开发工具包周期性的查询网络状态,当网络空闲时,软件开发工具包将符合预先设定的错误等级且经过汇总的日志数据上传至所述服务器;或者
[0015]当移动终端客户端发生异常退出并重启后,软件开发工具包检测未上传的日志数据,当网络空闲时,软件开发工具包将符合预先设定的错误等级且经过汇总的日志数据上传至服务器。
[0016]本发明实施例还提供一种基于软件开发工具包监控日志的方法,应用于移动终端客户端侧,包括:
[0017]移动终端客户端采集日志数据;
[0018]移动终端客户端将采集到的日志数据按照错误等级进行分类,将分类后的日志数据发送至软件开发工具包,由软件开发工具包对接收到的分类后的日志数据按预定格式转换后进行存储,将符合预先设定的错误等级的日志数据汇总并上传至服务器。
[0019]本发明实施例还提供一种基于软件开发工具包监控日志的装置,该装置包括:
[0020]接收模块,用于接收移动终端客户端发送的按照错误等级进行分类后的日志数据;
[0021]处理模块,用于对接收到的分类后的日志数据按预定格式转换后进行存储,将符合预先设定的错误等级的日志数据汇总;
[0022]上传模块,用于将符合预先设定的错误等级且经过汇总的日志数据上传至服务器。
[0023]其中,上传模块进一步用于:
[0024]当日志数据的大小超过预设的传输容量标准时,根据预设的传输容量标准将日志数据进行分片,并将分片后的日志数据按照预先设置的一定时间内日志数据的上传次数上传至服务器,由服务器对分片后的日志数据进行自动合并处理。
[0025]其中,该装置还包括:
[0026]设置模块,用于设置日志数据的传输容量标准和一定时间内日志数据的上传次数。
[0027]其中,上传模块包括:
[0028]第一上传模块,用于周期性的查询网络状态,当网络空闲时,将符合预先设定的错误等级且经过汇总的日志数据上传至服务器;
[0029]第二上传模块,用于当移动终端客户端发生异常退出并重启后,检测未上传的日志数据,当网络空闲时,将符合预先设定的错误等级且经过汇总的日志数据上传至服务器。
[0030]本发明实施例还提供一种基于软件开发工具包监控日志的系统,包括:移动终端客户端、基于软件开发工具包监控日志的装置和服务器,其中移动终端客户端收集日志数据,并将日志数据按照错误等级进行分类后发送至基于软件开发工具包监控日志的装置,基于软件开发工具包监控日志的装置将分类后的日志数据按预定格式转换后进行存储,将符合预先设定的错误等级的日志数据汇总并上传至服务器。
[0031]本发明的有益效果:通过移动终端客户端进行日志的收集,软件开发工具包和服务器共同实现日志的上传和接收,解决日志杂乱无章难以有效管理利用的问题,便于服务器对错误日志数据存储和展示。
[0032]进一步的,通过优化软件开发工具包的上传机制,可以避免影响业务访问,解决弱网环境下多线程阻塞问题。
【附图说明】
[0033]图1表示本发明实施例应用于软件开发工具包侧的基于软件开发工具包监控日志的方法步骤流程图;
[0034]图2表示本发明实施例基于软件开发工具包监控日志的方法中各部分详细功能示意图;
[0035]图3表示本发明实施例应用于移动终端客户端侧的基于软件开发工具包监控日志的方法步骤流程图;
[0036]图4表示本发明实施例基于软件开发工具包监控日志的装置框图;
[0037]图5表示本发明实施例基于软件开发工具包监控日志的装置中上传模块框图;
[0038]图6表示本发明实施例基于软件开发工具包监控日志的系统框图。
【具体实施方式】
[0039]为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0040]现有技术中移动终端客户端软件用户群庞大,需要在不同的网络环境,不同软件、硬件环境下运行,在运行过程中会出现接口返回错误、网络错误、系统崩溃异常等情况,造成日志杂乱无章难以有效管理利用。目前尚无手段对该类问题进行实时监控。为了便于对该类问题进行详细了解,需建立一个移动终端客户端错误日志监控功能,将发生问题时的错误信息上传给服务器,服务器对错误信息存储和展示。
[0041]本发明提供一种基于软件开发工具包监控日志的方法、装置及系统,通过移动终端客户端进行日志的收集,软件开发工具包和服务器共同实现日志的上传和接收,解决日志杂乱无章难以有效管理利用的问题,便于服务器对错误日志数据存储和展示。
[0042]如图1所示,本发明提供一种基于软件开发工具包监控日志的方法,应用于软件开发工具包侧,包括:
[0043]步骤S100、软件开发工具包接收移动终端客户端发送的按照错误等级进行分类后的日志数据;
[0044]步骤S200、软件开发工具包对接收到的分类后的日志数据按预定格式转换后进行存储,将符合预先设定的错误等级的日志数据汇总;
[0045]步骤S300、软件开发工具包将符合预先设定的错误等级且经过汇总的日志数据上传至服务器。
[0046]需要说明的是,对于业务日志错误应获取出错页面、出错接口、错误代码、出错用户信息、頂SI(国际移动用户识别码)、机型信息等。对于异常Android系统错误信息,应上传异常的堆栈信息、出错用户信息、出错移动终端信息(机型、CPU、内存、电量等)。获取日志信息后,具体记录信息参加日志格式定义:
[0047]Log日志格式
[0048]Log Content (日志内容)的格式为:
[0049]对于每个字段采用JSON (JavaScript Object Notat1n—种轻量级的数据交换格式)描述,为名/值对。对于类似Interface Info(接口信息)之类的多个值得字段,采用嵌套的方式表示。
[0050]定义Terminal Info (终端信息)
[0051]定义Interface Info(接口信息)
[0052]定义Except1n Info (异常信息)
[0053]具体的,如图2所示,通过移动终端客户端进行日志收集,软件开发工具包和服务器共同实现日志上传和接收,由服务器对日志进行解析、生成数据并存储。解决了日志杂乱无章难以有效管理利用的问题,便于服务器对错误日志数据存储和展示。
[0054]服务器接收日志数据后对日志数据的处理包括:统计、查询等。下面以统计和查询为例进行简单的介绍:
[0055](I)统计功能包括
[0056]服务器应能根据时间、用户、错误类型等信息显示所有日志记录,服务器应能够统计指定时间段的错误种类、个数、频率等,生成对应报表。
[0057](2)查询功能包括
[0058]服务器应能够根据用户、手机号、时间、错误类型等关键字查询日志,服务器对数据存储后,需要通过报表的形式展示日志,并提供统计、查询、分析的功能。
[0059]在本发明上述实施例中,步骤S300进一步用于:
[0060]当日志数据的大小超过预设的传输容量标准时,软件开发工具包根据预设的传输容量标准将日志数据进行分片,并将分片后的日志数据按照预先设置的一定时间内日志数据的上传次数上传至服务器,由服务器对分片后的日志数据进行自动合并处理。
[0061]每一条日志对应一个ID,当一条日志的大小为560k时,超过预先设定的传输容量标准10k时,需要根据预设的传输容量标准10k对日志数据进行分片,将大小为560k的日志数据分成6片进行上传,其中有5片日志数据每片的大小为100k,一片日志数据的大小为60k。依据一定时间内日志数据的上传次数(如:一分钟上传三次)对日志数据进行上传,由于一分钟内可上传的次数为三次,此日志数据需要在两分钟内上传完毕。服务器能够根据日志的ID对同一条日志进行自动合并,既可以保证日志的上传,又可以解决弱网环境下多线程阻塞的问题。
[0062]在本发明上述实施例中,该方法还包括:
[0063]软件开发工具包设置日志数据的传输容量标准和一定时间内日志数据的上传次数。
[0064]对日志比较多的移动终端客户端,需控制上传次数及每次上传内容大小。通过对每次上传的容量及一定时间内日志数据的上传次数进行限制,可以避免影响业务访问,以解决弱网环境下多线程阻塞问题。
[0065]在本发明上述实施例中,步骤S300包括:
[0066]软件开发工具包周期性的查询网络状态,当网络空闲时,软件开发工具包将符合预先设定的错误等级且经过汇总的日志数据上传至服务器;或者
[0067]当移动终端客户端发生异常退出并重启后,软件开发工具包检测未上传的日志数据,当网络空闲时,软件开发工具包将符合预先设定的错误等级且经过汇总的日志数据上传至服务器。
[0068]对于业务类型和系统类型日志而言,上传的时机有2个:网络空闲时和移动终端客户端退出时。网络空闲时上传的机制为:错误发生后,软件开发工具包周期性的查询网络状态(例如每半个小时),如果发现网络空闲则由软件开发工具包将符合预先设定的错误等级且经过汇总的日志数据上传至服务器,否则进入下次轮询机会。如果移动终端客户端发生异常退出时,客户端重启后,软件开发工具包检测未上传的日志数据,当网络空闲时,软件开发工具包将符合预先设定的错误等级且经过汇总的日志数据上传至服务器。
[0069]本发明实施例还提供一种基于软件开发工具包监控日志的方法,应用于移动终端客户端侧,如图3所示,包括:
[0070]步骤S400、移动终端客户端采集日志数据;
[0071]步骤S500、移动终端客户端将采集到的日志数据按照错误等级进行分类,将分类后的日志数据发送至软件开发工具包,由软件开发工具包对接收到的分类后的日志数据按预定格式转换后进行存储,将符合预先设定的错误等级的日志数据汇总并上传至服务器。
[0072]需要说明的是,对日志数据进行分类和分级时根据错误的严重、紧急程度进行划分,一旦分类和分级确定后,就可以根据实际需要控制日志的上传。对于Android系统日志而言,Android系统本身提供的日志系统,这类日志可以通过控制开关控制需打印内容,Android系统日志的等级分为ERROR、WARN、INFO、DEBUG、TRACE 5个等级。对于系统日志而言,一期只需获取异常(crash)这一种ERROR信息,ERROR等级其他错误及其他等级错误暂不获取。
[0073]需要说明的是,移动终端客户端对日志数据进行分类和分级后,需要在程序级别设计日志控制开关,控制日志功能是否打开,哪些类型、级别的日志需要被获取并记录。该日志开关最好是服务器可配置,根据需要通过服务器控制某个用户的日志是否打开。但是对于第一期默认打开ERROR类型日志,无需服务器配置。
[0074]移动终端客户端将分类后的日志数据发送至软件开发工具包,由软件开发工具包对接收到的分类后的日志数据选择性上传至服务器,由服务器对日志数据进行处理。
[0075]本发明实施例还提供一种基于软件开发工具包监控日志的装置,如图4所示,该装置包括:
[0076]接收模块10,用于接收移动终端客户端发送的按照错误等级进行分类后的日志数据;
[0077]处理模块20,用于对接收到的分类后的日志数据按预定格式转换后进行存储,将符合预先设定的错误等级的日志数据汇总;
[0078]上传模块30,用于将符合预先设定的错误等级且经过汇总的日志数据上传至服务器。
[0079]在本发明上述实施例中,上传模块30进一步用于:
[0080]当日志数据的大小超过预设的传输容量标准时,根据预设的传输容量标准将日志数据进行分片,并将分片后的日志数据按照预先设置的一定时间内日志数据的上传次数上传至服务器,由服务器对分片后的日志数据进行自动合并处理。
[0081]在本发明上述实施例中,该装置还包括:
[0082]设置模块40,用于设置日志数据的传输容量标准和一定时间内日志数据的上传次数。
[0083]在本发明上述实施例中,如图5所示,上传模块30包括:
[0084]第一上传模块31,用于周期性的查询网络状态,当网络空闲时,将符合预先设定的错误等级且经过汇总的日志数据上传至服务器;
[0085]第二上传模块32,用于当移动终端客户端发生异常退出并重启后,检测未上传的日志数据,当网络空闲时,将符合预先设定的错误等级且经过汇总的日志数据上传至服务器。
[0086]本发明实施例还提供一种基于软件开发工具包监控日志的系统,如图6所示,包括:移动终端客户端、基于软件开发工具包监控日志的装置和服务器,其中移动终端客户端收集日志数据,并将日志数据按照错误等级进行分类后发送至基于软件开发工具包监控日志的装置,基于软件开发工具包监控日志的装置将分类后的日志数据按预定格式转换后进行存储,将符合预先设定的错误等级的日志数据汇总并上传至服务器。
[0087]本发明实施例的基于软件开发工具包监控日志的方法中,通过移动终端客户端进行日志的收集,软件开发工具包和服务器共同实现日志的上传和接收,解决日志杂乱无章难以有效管理利用的问题,便于服务器对错误日志数据存储和展示。通过优化软件开发工具包的上传机制,可以避免影响业务访问,解决弱网环境下多线程阻塞问题。
[0088]需要说明的是,本发明提供的基于软件开发工具包监控日志的装置和系统是应用上述方法的装置和系统,则上述方法的所有实施例均适用于该装置和系统,且均能达到相同或相似的有益效果。
[0089]以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1.一种基于软件开发工具包监控日志的方法,应用于软件开发工具包侧,其特征在于,所述方法包括: 所述软件开发工具包接收移动终端客户端发送的按照错误等级进行分类后的日志数据; 所述软件开发工具包对接收到的分类后的所述日志数据按预定格式转换后进行存储,将符合预先设定的错误等级的所述日志数据汇总; 所述软件开发工具包将符合预先设定的错误等级且经过汇总的所述日志数据上传至服务器。2.如权利要求1所述的基于软件开发工具包监控日志的方法,其特征在于,所述软件开发工具包将符合预先设定的错误等级且经过汇总的所述日志数据上传至服务器,具体为: 当所述日志数据的大小超过预设的传输容量标准时,所述软件开发工具包根据预设的传输容量标准将所述日志数据进行分片,并将分片后的所述日志数据按照预先设置的一定时间内所述日志数据的上传次数上传至所述服务器,由所述服务器对分片后的所述日志数据进行自动合并处理。3.如权利要求2所述的基于软件开发工具包监控日志的方法,其特征在于,所述方法还包括: 所述软件开发工具包设置所述日志数据的传输容量标准和一定时间内所述日志数据的上传次数。4.如权利要求1所述的基于软件开发工具包监控日志的方法,其特征在于,所述软件开发工具包将符合预先设定的错误等级且经过汇总的所述日志数据上传至服务器,具体包括: 所述软件开发工具包周期性的查询网络状态,当网络空闲时,所述软件开发工具包将符合预先设定的错误等级且经过汇总的所述日志数据上传至所述服务器;或者 当所述移动终端客户端发生异常退出并重启后,所述软件开发工具包检测未上传的所述日志数据,当网络空闲时,所述软件开发工具包将符合预先设定的错误等级且经过汇总的所述日志数据上传至所述服务器。5.一种基于软件开发工具包监控日志的方法,应用于移动终端客户端侧,其特征在于,所述方法包括: 所述移动终端客户端采集日志数据; 所述移动终端客户端将采集到的所述日志数据按照错误等级进行分类,将分类后的所述日志数据发送至软件开发工具包,由所述软件开发工具包对接收到的分类后的所述日志数据按预定格式转换后进行存储,将符合预先设定的错误等级的所述日志数据汇总并上传至服务器。6.一种基于软件开发工具包监控日志的装置,其特征在于,所述装置包括: 接收模块,用于接收移动终端客户端发送的按照错误等级进行分类后的日志数据; 处理模块,用于对接收到的分类后的所述日志数据按预定格式转换后进行存储,将符合预先设定的错误等级的所述日志数据汇总; 上传模块,用于将符合预先设定的错误等级且经过汇总的所述日志数据上传至服务器。7.如权利要求6所述的基于软件开发工具包监控日志的装置,其特征在于,所述上传模块进一步用于: 当所述日志数据的大小超过预设的传输容量标准时,根据预设的传输容量标准将所述日志数据进行分片,并将分片后的所述日志数据按照预先设置的一定时间内所述日志数据的上传次数上传至所述服务器,由所述服务器对分片后的所述日志数据进行自动合并处理。8.如权利要求7所述的基于软件开发工具包监控日志的装置,其特征在于,所述装置还包括: 设置模块,用于设置所述日志数据的传输容量标准和一定时间内所述日志数据的上传次数。9.如权利要求6所述的基于软件开发工具包监控日志的装置,其特征在于,所述上传丰吴块包括: 第一上传模块,用于周期性的查询网络状态,当网络空闲时,将符合预先设定的错误等级且经过汇总的所述日志数据上传至所述服务器; 第二上传模块,用于当所述移动终端客户端发生异常退出并重启后,检测未上传的所述日志数据,当网络空闲时,将符合预先设定的错误等级且经过汇总的所述日志数据上传至所述服务器。10.一种基于软件开发工具包监控日志的系统,其特征在于,所述系统包括:移动终端客户端、如权利要求6?9任一项所述的基于软件开发工具包监控日志的装置和服务器,其中所述移动终端客户端收集日志数据,并将所述日志数据按照错误等级进行分类后发送至所述基于软件开发工具包监控日志的装置,所述基于软件开发工具包监控日志的装置将分类后的所述日志数据按预定格式转换后进行存储,将符合预先设定的错误等级的所述日志数据汇总并上传至所述服务器。
【文档编号】H04L12/24GK105871574SQ201510030017
【公开日】2016年8月17日
【申请日】2015年1月21日
【发明人】王志君, 戴和忠, 陈学, 蒋力, 孙刚
【申请人】中国移动通信集团浙江有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1