一种终端日志抓取方法、装置及系统的制作方法
【技术领域】
[0001]本发明涉及互联网技术领域,尤其涉及一种终端日志抓取方法、装置及系统。
【背景技术】
[0002]互联网/移动互联网领域中的各种终端软件,在运行过程中会产生日志(包括错误日志、运行日志)记录在终端。常见的日志策略是在发生错误时终端主动上报错误日志给云端供分析问题。该方法很有效,但也有一些缺点例如:I.上报信息以错误日志为主,因为运行日志信息量太大,如果全部上报的话,有效信息比例低,浪费终端流量和云端的存储空间;2.云端处于被动接收日志的状态,没法精准主动地抓取终端日志。
[0003]在实际应用中,经常发生终端遇到运行问题或者错误,需要在云端分析,但却没有相应的终端日志。在实际系统中,大多数是通过终端主动上报来实现此功能,云端只是被动地接受日志,且限于错误日志,因为如果所有终端都上报运行日志,数据总量太大而不现实,而且容易遇到需要抓取的特定终端没有上报日志到云端的情况。
[0004]为了解决上述提及的由于运行日志信息量太大,以及云端被动接收日志所导致的抓取终端日志的精确性低的技术问题,已经成为了本领域技术人员亟待解决的技术问题。
【发明内容】
[0005]本发明实施例提供的一种终端日志抓取方法、装置及系统,解决了目前由于运行日志信息量太大,以及云端被动接收日志所导致的抓取终端日志的精确性低的技术问题。
[0006]本发明实施例提供的一种终端日志抓取方法,包括:
[0007]定期进行数据库扫描,并确定所述数据库中存在有未处理的策略记录;
[0008]根据未处理的所述策略记录确定对应的客户端,并与所述客户端建立连接关系,并将所述策略记录相对应的要求上报日志信息发送至所述客户端;
[0009]获取到所述客户端根据所述要求上报日志信息上报的与所述要求上报日志信息相对应的指定日志。
[0010]可选地,根据未处理的所述策略记录确定对应的客户端,并与所述客户端建立连接关系,并将所述策略记录相对应的要求上报日志信息发送至所述客户端之前还包括:
[0011]当确定用户账号对应的业务处理异常时,将所述用户账号与当前时间记录在所述数据库中。
[0012]可选地,根据未处理的所述策略记录确定对应的客户端,并与所述客户端建立连接关系,并将所述策略记录相对应的要求上报日志信息发送至所述客户端之前还包括:
[0013]将获取到的通过人工输入的用户账户、当前时间、要求上报日志对应的关键字记录再所述数据库中。
[0014]可选地,根据未处理的所述策略记录确定对应的客户端,并与所述客户端建立连接关系,并将所述策略记录相对应的要求上报日志信息发送至所述客户端具体包括:
[0015]根据所述数据库中未处理的所述策略记录确定相对应的用户账户,并根据所述用户账户与对应的所述客户端建立TCP长连接;
[0016]将所述策略记录相对应的要求上报日志信息发送至所述客户端,所述要求上报日志信息包括要求上报日志指令、日志时间段及要求上报日志对应的关键字。
[0017]可选地,获取到所述客户端根据所述要求上报日志信息上报的与所述要求上报日志信息相对应的指定日志具体包括:
[0018]获取到所述客户端根据所述要求上报日志指令、所述日志时间段及所述要求上报日志对应的所述关键字确定的所述指定日志;
[0019]将接收到的所述指定日志标记为已处理。
[0020]本发明实施例提供的一种终端日志抓取装置,包括:
[0021]日志抓取策略模块,用于定期进行数据库扫描,并确定所述数据库中存在有未处理的策略记录;
[0022]网络层模块,用于根据未处理的所述策略记录确定对应的客户端,并与所述客户端建立连接关系,并将所述策略记录相对应的要求上报日志信息发送至所述客户端;
[0023]云端日志收集模块,用于获取到所述客户端根据所述要求上报日志信息上报的与所述要求上报日志信息相对应的指定日志。
[0024]可选地,所述终端日志抓取装置还包括:
[0025]策略数据库,用于当确定用户账号对应的业务处理异常时,将所述用户账号与当前时间进行记录。
[0026]可选地,所述策略数据库,还用于将获取到的通过人工输入的用户账户、当前时间、要求上报日志对应的关键字进行记录。
[0027]可选地,网络层模块具体包括:
[0028]确定子模块,用于根据所述数据库中未处理的所述策略记录确定相对应的用户账户,并根据所述用户账户与对应的所述客户端建立TCP长连接;
[0029]发送子模块,用于将所述策略记录相对应的要求上报日志信息发送至所述客户端,所述要求上报日志信息包括要求上报日志指令、日志时间段及要求上报日志对应的关键字。
[0030]可选地,云端日志收集模块具体包括:
[0031 ]获取子模块,用于获取到所述网络层模块转发的所述客户端根据所述要求上报日志指令、所述日志时间段及所述要求上报日志对应的所述关键字确定的所述指定日志;
[0032]标记子模块,用于将接收到的所述指定日志标记为已处理。
[0033]本发明实施例提供的一种终端日志抓取系统,包括:
[0034]客户端,以及本实施例中提及的任意一种所述的终端日志抓取装置;
[0035]所述客户端与所述终端日志抓取装置建立有通信连接关系;
[0036]所述客户端,用于将所述终端日志抓取装置发送的所述要求上报日志信息相对应的指定日志。
[0037]可选地,所述客户端具体包括:
[0038]客户端网络层模块,用于获取所述终端日志抓取装置发送的根据未处理的所述策略记录相对应的要求上报日志信息,或者将所述要求上报日志信息对应的指定日志上报至所述终端日志抓取装置;
[0039]日志处理模块,用于根据所述要求上报日志信息,在本地日志文件中,查找到相对应的所述指定日志。
[0040]从以上技术方案可以看出,本发明实施例具有以下优点:
[0041 ]本发明实施例提供的一种终端日志抓取方法、装置及系统,其中,终端日志抓取方法包括:定期进行数据库扫描,并确定数据库中存在有未处理的策略记录;根据未处理的策略记录确定对应的客户端,并与客户端建立连接关系,并将策略记录相对应的要求上报日志信息发送至客户端;获取到客户端根据要求上报日志信息上报的与要求上报日志信息相对应的指定日志。本实施例中,通过定期进行数据库扫描,并确定数据库中存在有未处理的策略记录,然后根据未处理的策略记录确定对应的客户端,并与客户端建立连接关系,并将策略记录相对应的要求上报日志信息发送至客户端,最后获取到客户端根据要求上报日志信息上报的与要求上报日志信息相对应的指定日志,实现了云端主动抓取终端日志的功能,解决了目前由于运行日志信息量太大,以及云端被动接收日志所导致的抓取终端日志的精确性低的技术问题。
【附图说明】
[0042]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0043]图1为本发明实施例中提供的一种终端日志抓取方法的一个实施例的流程示意图;
[0044]图2为本发明实施例中提供的一种终端日志抓取方法的另一个实施例的流程示意图;
[0045]图3为本发明实施例中提供的一种终端日志抓取方法的另一个实施例的流程示意图;
[0046]图4为本发明实施例中提供的一种终端日志抓取装置的一个实施例的结构示意图;
[0047]图5为本发明实施例中提供的一种终端日志抓取装置的另一个实施例的结构示意图;
[0048]图6为本发明实施例中提供的一种终端日志抓取系统的一个实施例的结构示意图;
[0049]图7为图2和图3所示实施例的应用例。
【具体实施方式】
[0050]本发明实施例提供的一种终端日志抓取方法、装置及系统,解决了目前由于运行日志信息量太大,以及云端被动接收日志所导致的抓取终端日志的精确性低的技术问题。
[0051]为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0052]请参阅图1,本发明实施例中提供的一种终端日志抓
取方法的一个实施例包括:
[0053]101、定期进行数据库扫描,并确定数据库中存在有未处理的策略记录;
[0054]本实施例中,当云端需要主动抓取终端的日志时,该终端包括移动终端、PC客户端或者其他终端设备等,首先需要定期进行数据库扫描,并确定数据库中存在有未处理的策略记录。
[0055]102、根据未处理的策略记录确定对应的客户端,并与客户端建立连接关系,并将策略记录相对应的要求上报日志信息发送至客户端;
[0056]当定期进行数据库扫描,并确定数据库中存在有未处理的策略记录之后,需要根据未处理的策略记录确定对应的客户端,并与客户端建立连接关系,并将策略记录相对应的要求上报日志信息发送至客户端。
[0057]103、获取到客户端根据要求上报日志信息上报的与要求上报日志信息相对应的指定日志。
[0058]当根据未处理的策略记录确定对应的客户端,并与客户端建立连接关系,并将策略记录相对应的要求上报日志信息发送至客户端之后,需要获取到客户端根据要求上报日志信息上报的与要求上报日志信息相对应的指定日志。
[0059]本实施例中,通过定期进行数据库扫描,并确定数据库中存在有未处理的策略记录,然后根据未处理的策略记录确定对应的客户端,并与客户端建立连接关系,并将策略记录相对应的要求上报日志信息发送至客户端,最后获取到客户端根据要求上报日志信息上报的与要求上报日志信息相对应的指定日志,实现了云端主动抓取终端日志的功能,解决了目前由于运行日志信息量太大,以及云端被动接收日志所导致的抓取终端日志的精确性低的技术问题。
[0060]上面是对终端日志抓取方法的过程进行详细的描述,下面将对与客户端建立连接关系之前的对数据库的记录进行详细的描述,在实际过程中,对数据库的记录的方式有多种,下面分别进行详细的描述。
[0061]一、处理业务时发现某用户帐号的业务处理异常;
[0062]请参阅图2,本发明实施例中提供的一种终端日志抓取方法的另一个实施例包括:
[0063]201、当确定用户账号对应的业务处理异常时,将用户账号与当前时间记录在数据库中;
[0064]本实施例中,当云端需要主动抓取终端的日志时,该终端包括移动终端、PC客户端或者其他终端设备等,首先需要当确定用户账号对应的业务处理异常时,将用户账号与当前时间记录在数据库中,例如当云端业务服务器处理业务时发现某用户帐号的业务处理异常。比如App闪退,App传入的业务参数错误或者服务器处理异常。在这些情况下,需要主动收集App端日志与云端服务器日志共同确认问题所在。
[0065]202、定期进行数据库扫描,并确定数据库中存在有未处理的策略记录;
[0066]当确定用户账号对应的业务处理异常时,将用户账号与当前时间记录在数据库中,定期进行数据库扫描,并确定数据库中存在有未处理的策略记录。
[0067]203、根据数据库中未处理的策略记录确定相对应的用户账户,并根据用户账户与对应的客户端建立TCP长连接;
[0068]当定期进行数据库扫描,并确定数据库中存在有未处理的策略记录之后,需要根据数据库中未处理的策略记录确定相对应的用户账户,并根据用户账户与对应的客户端建立TCP长连接,例如定期扫描策略数据库,发现有未处理的策略记录。
[0069]204、将策略记录相对应的要求上报日志信息发送至客户端;
[0070]当根据数据库中未处理的策略记录确定相对应的用户账户,并根据用户账户与对应的客户端建立TCP长连接之后,需要将策略记录相对应的要求上报日志信息发送至客户端,要求上报日志信息包括要求上报日志指令、日志时间段及要求上报日志对应的关键字,例如查找策略记录中用户帐号对应的TCP长连接,把策略推送给移动终端App。
[0071 ] 205、获取到客户端根据要求上报日志指令、日志时间段及要求上报日志对应的关键字确定的指定日志;
[0072]当将策略记录相对应的要求上报日志信息发送至客户端之后,需要获取到客户端根据要求上报日志指令、日志时间段及要求上报日志对应的关键字确定的指定日志,例如接收到用户终端上报的日志后,如果是压缩格式需要先解压再存储,否则直接存储。
[0073]206、将接收到的指定日志标记为已处理。
[0074]当获取到客户端根据要求上报日志指令、日志时间段及要求上报日志对应的关键字确定的指定日志之后,需要将接收到的指定日志标记为已处理,例如策略数据库中对应的记录标记为已处理。
[0075]本实施例中,通过定期进行数据库扫描,并确定数据库中存在有未处理的策略记录,然后根据未处理的策略记录确定对应的客户端,并与客户端建立连接关系,并将策略记录相对应的要求上报日志信息发送至客户端,最后获取到客户端根据要求上报日志信息上报的与要求上报日志信息相对应的指定日志,实现了云端主动抓取终端日志的功能,解决了目前由于运行日志信息量太大,以及云端被动接收日志所导致的抓取终端日志的精确性低的技术问题。
[0076]以及当云端业务服务器处理业务时发现某用户帐号的业务处理异常。比如App闪退,App传入的业务参数错误或者服务器处理异常。在这些情况下,需要主动收集App端日志与云端服务器日志共同确认问题所在,实现了全程主动抓取终端日志的功能。
[0077]二、需要人工指定主动抓取终端日志;
[0078]请参阅图3,本发明实施例中提供的一种终端日志抓取方法的另一个实施例包括:
[0079]301、将获取到的通过人工输入的用户账户、当前时间、要求上报日志对应的关键字记录再数据库中;
[0080]本实施例中,当云端需要主动抓取终端的日志时,该终端包括移动终端、PC客户端或者其他终端设备等,首先需要将获取到的通过人工输入的用户账户、当前时间、要求上报日志对应的关键字记录再数据库中,例如用户在App内主动上报错误时,App会同时提交其对应时段的错误日志或者运行日志上来。但在具体分析问题时,主动上报的对应时段的日志未必完善,也可能需要更多时段的日志做对比。这时需要人工配置策略来主动抓取终端日志,需要人工指定主动抓取终端日志时,把用户帐号、当前时间、需要抓取的日志应该包含的关键字填入策略数据库。
[0081 ] 302、定期进行数据库扫描,并确定数据库中存在有未处理的策略记录;
[0082]当将获取到的通过人工输入的用户账户、当前时间、要求上报日志对应的关键字记录再数据库中,定期进行数据库扫描,并确定数据库中存在有未处理的策略记录。
[0083]303、根据数据库中未处理的策略记录确定相对应的用户账户,并根据用户账户与对应的客户端建立TCP长连接;
[0084]当定期进行数据库扫描,并确定数据库中存在有未处理的策略记录之后,需要根据数据库中未处理的策略记录确定相对应的用户账户,并根据用户账户与对应的客户端建立TCP长连接,例如定期扫描策略数据库,发现有未处理的策略记录。
[0085]304、将策略记录相对应的要求上报日志信息发送至客户端;
[0086]当根据数据库中未处理的策略记录确定相对应的用户账户,并根据用户账户与对应的客户端建立TCP长连接之后,需要将策略记录相对应的要求上报日志信息发送至客户端,要求上报日志信息包括要求上报日志指令、日志时间段及要求上报日志对应的关键字,例如查找策略记录中用户帐号对应的TCP长连接,把策略推送给移动终端App。
[0087]305、获取到客户端根据要求上报日志指令、日志时间段及要求上报日志对应的关键字确定的指定日志;
[0088]当将策略记录相对应的要求上报日志信息发送至客户端之后,需要获取到客户端根据要求上报日志指令、日志时间段及要求上报日志对应的关键字确定的指定日志,例如接收到用户终端上报的日志后,如果是压缩格式需要先解压再存储,否则直接存储。
[0089]306、将接收到的指定日志标记为已处理。
[0090]当获取到客户端根据要求上报日志指令、日志时间段及要求上报日志对应的关键字确定的指定日志之后,需要将接收到的指定日志标记为已处理,例如策略数据库中对应的记录标记为已处理。
[0091]本实施例中,通过定期进行数据库扫描,并确定数据库中存在有未处理的策略记录,然后根据未处理的策略记录确定对应的客户端,并与客户端建立连接关系,并将策略记录相对应的要求上报日志信息发送至客户端,最后获取到客户端根据要求上报日志信息上报的与要求上报日志信息相对应的指定日志,实现了云端主动抓取终端日志的功能,解决了目前由于运行日志信息量太大,以及云端被动接收日志所导致的抓取终端日志的精确性低的技术问题。
[0092]以及用户在App内主动上报错误时,App会同时提交其对应时段的错误日志或者运行日志上来。但在具体分析问题时,
主动上报的对应时段的日志未必完善,也可能需要更多时段的日志做对比,这时需要人工配置策略来主动抓取终端日志,进一步提高了智能操作的功能。
[0093]为了便于理解下面以移动终端的App对图2和图3的实施例进行说明,如图7所示,应用例包括:
[0094]1.云端服务器发现有用户帐号运行时错误,把用户帐号、当前时间填入策略数据库。或者需要人工指定主动抓取终端日志时,把用户帐号、当前时间、需要抓取的日志应该包含的关键字填入策略数据库。
[0095]2.定期扫描策略数据库,发现有未处理的策略记录,查找策略记录中用户帐号对应的TCP长连接,把策略推送给移动终端App。
[0096]3.App中的SDK网络层接收到云端下发的上报日志指令以及相关参数后,传递给SDK日志处理模块。参数包括:日志时间段、包含关键字。
[0097]4.SDK日志处理模块在本地日志文件中查找符合参数指定的日志。将内容传递给SDK网络层。在实际系统中,为了减少网络传输量,传递给SDK网络层的日志内容经过了压缩。SDK网络层把日志上传给云端。
[0098]5.接收到用户终端上报的日志后,如果是压缩格式需要先解压再存储,否则直接存储,同时把策略数据库中对应的记录标记为已处理。
[0099]请参阅图4,本发明实施例中提供的一种终端日志抓取装置的一个实施例包括:
[0100]日志抓取策略模块401,用于定期进行数据库扫描,并确定数据库中存在有未处理的策略记录;
[0101]网络层模块402,用于根据未处理的策略记录确定对应的客户端,并与客户端建立连接关系,并将策略记录相对应的要求上报日志信息发送至客户端;
[0102]云端日志收集模块403,用于获取到客户端根据要求上报日志信息上报的与要求上报日志信息相对应的指定日志。
[0103]本实施例中,通过日志抓取策略模块401定期进行数据库扫描,并确定数据库中存在有未处理的策略记录,然后网络层模块402根据未处理的策略记录确定对应的客户端,并与客户端建立连接关系,并将策略记录相对应的要求上报日志信息发送至客户端,最后云端日志收集模块403获取到客户端根据要求上报日志信息上报的与要求上报日志信息相对应的指定日志,实现了云端主动抓取终端日志的功能,解决了目前由于运行日志信息量太大,以及云端被动接收日志所导致的抓取终端日志的精确性低的技术问题。
[0104]上面是对终端日志抓取装置的各模块进行详细的描述,下面将对附加模块进行详细的描述,请参阅图5,本发明实施例中提供的一种终端日志抓取装置的另一个实施例包括:
[0105]策略数据库501,用于当确定用户账号对应的业务处理异常时,将用户账号与当前时间进行记录,策略数据库501,还用于将获取到的通过人工输入的用户账户、当前时间、要求上报日志对应的关键字进行记录,策略数据库,策略数据库记录需要主动抓取的用户帐号、日志的时间段以及需要抓取的日志应该包含的关键字。此记录可由业务服务器主动写入策略数据库,也可人工配置写入策略数据库。
[0106]日志抓取策略模块502,用于定期进行数据库扫描,并确定数据库中存在有未处理的策略记录,日志抓取策略模块502后端是策略数据库,例如日志抓取策略模块502,用于生成指定抓取特定终端日志的指令。特定终端的唯一性由终端唯一设备号或者处于登录态下的App的唯一标识(比如用户帐号)确定。以下两种情况下需要主动抓取终端日志。这里以用户帐号是App的唯一标识来阐述。
[0107]1.当云端业务服务器处理业务时发现某用户帐号的业务处理异常。比如App闪退,App传入的业务参数错误或者服务器处理异常。在这些情况下,需要主动收集App端日志与云端服务器日志共同确认问题所在。
[0108]2.用户在App内主动上报错误时,App会同时提交其对应时段的错误日志或者运行日志上来。但在具体分析问题时,主动上报的对应时段的日志未必完善,也可能需要更多时段的日志做对比。这时需要人工配置策略来主动抓取终端日志。
[0109]日志抓取策略模块502定时扫描策略数据库,当发现有新增记录时,提取此记录,把记录传递给网络层模块503。网络层模块503下发策略信息给移动终端的App,要求上报策略指定的日志。
[0110]网络层模块503,用于根据未处理的策略记录确定对应的客户端,并与客户端建立连接关系,并将策略记录相对应的要求上报日志信息发送至客户端,网络层模块503接收到用户终端上报的日志后,如果是压缩格式需要先解压再转交,否则直接转交给云端日志收集模块504存储,例如网络层模块503用于保持云端服务器和App的TCP长连接,用于:I)云端下发给App的上报日志指令以及相关参数;2)接收App通过此长连接上报相应的日志。
[0111]网络层模块503具体包括:
[0112]确定子模块5031,用于根据数据库中未处理的策略记录确定相对应的用户账户,并根据用户账户与对应的客户端建立TCP长连接;
[0113]发送子模块5032,用于将策略记录相对应的要求上报日志信息发送至客户端,要求上报日志信息包括要求上报日志指令、日志时间段及要求上报日志对应的关键字。
[0114]云端日志收集模块504,用于获取到客户端根据要求上报日志信息上报的与要求上报日志信息相对应的指定日志,云端日志收集模块504是一个带有检索功能的存储系统。云端收集到终端日志后可由人工分析处理,找出终端的问题所在。
[0115]云端日志收集模块504具体包括:
[0116]获取子模块5041,用于获取到网络层模块转发的客户端根据要求上报日志指令、日志时间段及要求上报日志对应的关键字确定的指定日志;
[0117]标记子模块5042,用于将接收到的指定日志标记为已处理。
[0118]本实施例中,通过日志抓取策略模块502定期进行数据库扫描,并确定数据库中存在有未处理的策略记录,然后网络层模块503根据未处理的策略记录确定对应的客户端,并与客户端建立连接关系,并将策略记录相对应的要求上报日志信息发送至客户端,最后云端日志收集模块504获取到客户端根据要求上报日志信息上报的与要求上报日志信息相对应的指定日志,实现了云端主动抓取终端日志的功能,解决了目前由于运行日志信息量太大,以及云端被动接收日志所导致的抓取终端日志的精确性低的技术问题,以及在客户端(包括移动终端、PC客户端或者其他终端设备)上部署本发明的基础组件可实现日志的云端主动抓取,当云端需要抓取客户端日志时,通过组件发送消息给客户端,指定要抓取日志的时间段、关键字等参数,客户端收到消息后上报相应的日志。上报过程中日志经过加密和压缩,确保信息安全。
[0119]请参阅图6,本发明实施例中提供的一种终端日志抓取系统一个实施例包括:
[0120]客户端61,以及图4和图5实施例提及的终端日志抓取装置62;
[0121 ]客户端61与终端日志抓取装置62建立有通信连接关系;
[0122]客户端61,用于将终端日志抓取装置62发送的要求上报日志信息相对应的指定日
V 1、1、O
[0123]客户端61具体包括:
[0124]客户端网络层模块611,用于获取终端日志抓取装置62发送的根据未处理的策略记录相对应的要求上报日志信息,或者将要求上报日志信息对应的指定日志上报至终端日志抓取装置62;
[0125]日志处理模块612,用于根据要求上报日志信息,在本地日志文件中,查找到相对应的指定日志。
[0?26] 例如以移动终端的App为例,抓取系统以SDK的形式封装,分为1s和Andr1d两个版本,在发布的App中嵌入sdk,便可以实现云端抓去移动终端App的日志的功能。
[0127]SDK的构成模块包括:网络层模块611、日志处理模块612。
[0128]SDK网络层模块用于保持用于日志抓取的App和云端服务器的TCP长连接。用于:I)App接收云端下发的上报日志指令及相关参数;2)App通过此长连接上报相应的日志。
[0129]SDK网络层模块接收到云端下发的上报日志指令以及相关参数后,传递给SDK日志处理模块。参数包括:日志时间段、包含关键字。在本地日志文件中查找符合参数指定的日志。将内容传递给SDK网络层。在实际系统中,为了减少网络传输量,传递给SDK网络层的日志内容经过了压缩。
[0130]本实施例中,终端日志抓取系统的处理流程如下:
[0131]1.云端服务器发现有用户帐号运行时错误,把用户帐号、当前时间填入策略数据库。或者需要人工指定主动抓取终端日志时,把用户帐号、当前时间、需要抓取的日志应该包含的关键字填入策略数据库。
[0132]2.云端日志抓取策略模块定期扫描策略数据库,发现有未处理的策
略记录,把策略记录转交给云端网络层模块。网络层查找策略记录中用户帐号对应的TCP长连接,把策略推送给移动终端App。
[0133]3.App中的SDK网络层接收到云端下发的上报日志指令以及相关参数后,传递给SDK日志处理模块。参数包括:日志时间段、包含关键字。
[0134]4.SDK日志处理模块在本地日志文件中查找符合参数指定的日志。将内容传递给SDK网络层。在实际系统中,为了减少网络传输量,传递给SDK网络层的日志内容经过了压缩。SDK网络层把日志上传给云端。
[0135]5.云端网络层模块接收到用户终端上报的日志后,如果是压缩格式需要先解压再转交,否则直接转交给云端日志收集模块存储,同时把策略数据库中对应的记录标记为已处理。
[0136]云端日志收集模块是一个带有检索功能的存储系统。云端收集到终端日志后可由人工分析处理,找出终端的问题所在。
[0137]本实施例中,在客户端61(包括移动终端、PC客户端或者其他终端设备)上部署本发明的基础组件可实现日志的云端主动抓取,当云端需要抓取客户端日志时,通过组件发送消息给客户端61,指定要抓取日志的时间段、关键字等参数,客户端61收到消息后上报相应的日志。上报过程中日志经过加密和压缩,确保信息安全。
[0138]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0139]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0140]作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0141]另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0142]集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(R0M,Read-0nly Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0143]以上,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种终端日志抓取方法,其特征在于,包括: 定期进行数据库扫描,并确定所述数据库中存在有未处理的策略记录; 根据未处理的所述策略记录确定对应的客户端,并与所述客户端建立连接关系,并将所述策略记录相对应的要求上报日志信息发送至所述客户端; 获取到所述客户端根据所述要求上报日志信息上报的与所述要求上报日志信息相对应的指定日志。2.根据权利要求1所述的终端日志抓取方法,其特征在于,根据未处理的所述策略记录确定对应的客户端,并与所述客户端建立连接关系,并将所述策略记录相对应的要求上报日志信息发送至所述客户端之前还包括: 当确定用户账号对应的业务处理异常时,将所述用户账号与当前时间记录在所述数据库中。3.根据权利要求1所述的终端日志抓取方法,其特征在于,根据未处理的所述策略记录确定对应的客户端,并与所述客户端建立连接关系,并将所述策略记录相对应的要求上报日志信息发送至所述客户端之前还包括: 将获取到的通过人工输入的用户账户、当前时间、要求上报日志对应的关键字记录再所述数据库中。4.根据权利要求1至3中任意一项所述的终端日志抓取方法,其特征在于,根据未处理的所述策略记录确定对应的客户端,并与所述客户端建立连接关系,并将所述策略记录相对应的要求上报日志信息发送至所述客户端具体包括: 根据所述数据库中未处理的所述策略记录确定相对应的用户账户,并根据所述用户账户与对应的所述客户端建立TCP长连接; 将所述策略记录相对应的要求上报日志信息发送至所述客户端,所述要求上报日志信息包括要求上报日志指令、日志时间段及要求上报日志对应的关键字。5.根据权利要求4所述的终端日志抓取方法,其特征在于,获取到所述客户端根据所述要求上报日志信息上报的与所述要求上报日志信息相对应的指定日志具体包括: 获取到所述客户端根据所述要求上报日志指令、所述日志时间段及所述要求上报日志对应的所述关键字确定的所述指定日志; 将接收到的所述指定日志标记为已处理。6.一种终端日志抓取装置,其特征在于,包括: 日志抓取策略模块,用于定期进行数据库扫描,并确定所述数据库中存在有未处理的策略记录; 网络层模块,用于根据未处理的所述策略记录确定对应的客户端,并与所述客户端建立连接关系,并将所述策略记录相对应的要求上报日志信息发送至所述客户端; 云端日志收集模块,用于获取到所述客户端根据所述要求上报日志信息上报的与所述要求上报日志信息相对应的指定日志。7.根据权利要求6所述的终端日志抓取装置,其特征在于,所述终端日志抓取装置还包括: 策略数据库,用于当确定用户账号对应的业务处理异常时,将所述用户账号与当前时间进行记录。8.根据权利要求6所述的终端日志抓取装置,其特征在于,所述策略数据库,还用于将获取到的通过人工输入的用户账户、当前时间、要求上报日志对应的关键字进行记录。9.根据权利要求6至8中任意一项所述的终端日志抓取装置,其特征在于,网络层模块具体包括: 确定子模块,用于根据所述数据库中未处理的所述策略记录确定相对应的用户账户,并根据所述用户账户与对应的所述客户端建立TCP长连接; 发送子模块,用于将所述策略记录相对应的要求上报日志信息发送至所述客户端,所述要求上报日志信息包括要求上报日志指令、日志时间段及要求上报日志对应的关键字。10.根据权利要求9所述的终端日志抓取装置,其特征在于,云端日志收集模块具体包括: 获取子模块,用于获取到所述网络层模块转发的所述客户端根据所述要求上报日志指令、所述日志时间段及所述要求上报日志对应的所述关键字确定的所述指定日志; 标记子模块,用于将接收到的所述指定日志标记为已处理。11.一种终端日志抓取系统,其特征在于,包括: 客户端,以及如权利要求6至10中任意一项所述的终端日志抓取装置; 所述客户端与所述终端日志抓取装置建立有通信连接关系; 所述客户端,用于将所述终端日志抓取装置发送的所述要求上报日志信息相对应的指定曰志。12.根据权利要求11所述的终端日志抓取系统,其特征在于,所述客户端具体包括: 客户端网络层模块,用于获取所述终端日志抓取装置发送的根据未处理的所述策略记录相对应的要求上报日志信息,或者将所述要求上报日志信息对应的指定日志上报至所述终端日志抓取装置; 日志处理模块,用于根据所述要求上报日志信息,在本地日志文件中,查找到相对应的所述指定日志。
【专利摘要】本发明实施例公开了一种终端日志抓取方法、装置及系统,解决了目前由于运行日志信息量太大,以及云端被动接收日志所导致的抓取终端日志的精确性低的技术问题。本发明实施例终端日志抓取方法包括:定期进行数据库扫描,并确定数据库中存在有未处理的策略记录;根据未处理的策略记录确定对应的客户端,并与客户端建立连接关系,并将策略记录相对应的要求上报日志信息发送至客户端;获取到客户端根据要求上报日志信息上报的与要求上报日志信息相对应的指定日志。
【IPC分类】H04L12/24
【公开号】CN105490841
【申请号】CN201510843646
【发明人】黄伟, 蔡毅
【申请人】广州华多网络科技有限公司
【公开日】2016年4月13日
【申请日】2015年11月26日
转载请注明原文地址:https://www.famiwei.com/read-8913488.html