CN112256551A - 一种远程日志抓取方法、装置、电子设备和存储介质 - Google Patents
一种远程日志抓取方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN112256551A CN112256551A CN202011505513.XA CN202011505513A CN112256551A CN 112256551 A CN112256551 A CN 112256551A CN 202011505513 A CN202011505513 A CN 202011505513A CN 112256551 A CN112256551 A CN 112256551A
- Authority
- CN
- China
- Prior art keywords
- log
- file
- vehicle
- log file
- captured
- 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.)
- Pending
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/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/10—Detection; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种远程日志抓取方法、装置、电子设备和存储介质,根据获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件;实时上传所述车载操作系统中待抓取的日志文件,实现了对日志的远程抓取,由于通过车载操作系统中的日志文件能够有效地对车载终端中APP出现的问题进行分析给出相关的解决措施,因此远程抓取到日志文件后,不再需要每次车载终端的APP出现问题后均将设备寄回或者由相关人员当场去解决,大大降低了对人力和时间耗费,有助于提高研发效率。
Description
技术领域
本发明涉及车联网技术领域,尤其是涉及一种远程日志抓取方法、装置、电子设备和存储介质。
背景技术
车载终端是车辆监控管理系统的前端设备,也可以叫做车辆调度监控终端。通常车载终端上会安装各种应用程序App来提供不同的服务,然而当车载终端中的APP出现稳定性问题时,例如,出现应用崩溃、长时间卡死等问题,往往需要将设备寄回或者由相关人员当场解决。特别是在研发和测试的过程中,会频繁面临车载终端中的APP出现的稳定性问题,如果每次都需要将设备寄回或者由相关人员当场去解决,将会耗费大量的人力和时间,降低研发效率。
可见,现有的车载终端中的APP出现问题时,需要将设备寄回或者由相关人员当场去解决,耗费大量的人力和时间,降低了研发效率。
发明内容
本发明实施例提供一种远程日志抓取方法、装置、电子设备和存储介质,用以解决现有的车载终端中的APP出现问题时,需要将设备寄回或者由相关人员当场去解决,耗费大量的人力和时间,降低了研发效率的问题。
针对以上技术问题,第一方面,本发明实施例提供一种远程日志抓取方法,包括:
接收操作指令,其中,所述操作指令中至少携带有获取日志流文件的异步操作指令,所述日志流文件包括车载操作系统中的日志文件,所述车载操作系统中的日志文件至少包括一个预先安装的应用程序中的日志文件;
根据所述获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件;
实时上传所述车载操作系统中待抓取的日志文件。
可选地,在接收操作指令之后,还包括:
获取所述车载操作系统中的日志文件的抓取权限;
根据所述抓取权限获取所述预先安装的应用程序中的日志文件。
可选地,所述根据所述抓取权限获取所述预先安装的应用程序中的日志文件,包括:
通过运行Runtime对象,得到返回的Process对象;其中,所述Runtime对象执行的字符串命令为请求获取所述预先安装的应用程序中的日志文件;
通过所述Process对象提供所述抓取权限的验证信息,并在对所述抓取权限验证通过后,获取所述预先安装的应用程序中的日志文件。
可选地,所述对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件,包括:
循环执行分包压缩操作,直到对待抓取的应用程序中的日志文件均执行分包压缩操作;
其中,所述分包压缩操作包括:
获取预设容量的任一数据包,在所述任一数据包中写入当前还未写入到数据包的待抓取的应用程序中的日志文件,直到写入所述任一数据包的日志文件占用的容量达到所述预设容量后,或者直到已将待抓取的应用程序中的日志文件均写入数据包后,压缩所述任一数据包。
可选地,所述在所述任一数据包中写入当前还未写入到数据包的待抓取的应用程序中的日志文件,包括:
通过BufferedReader按行读取由Process对象返回的待抓取的应用程序中的日志文件的信息流,将FileOutputStream文件输出的流向数据包作为所述任一数据包,在所述任一数据包中写入按行读取到的信息流。
可选地,所述实时上传所述车载操作系统中待抓取的日志文件,包括:
将对车载操作系统中待抓取的日志文件进行压缩得到的压缩包实时上传到服务器,并在本地将已经上传到所述服务器的压缩包删除。
可选地,所述根据所述获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件之前,还包括:
判断是否存在未上传成功的日志文件,若是,对未上传成功的日志文件进行批量压缩,将批量压缩后的日志文件上传到所述服务器并将成功上传至所述服务器的日志文件删除。
第二方面,本发明实施例提供一种远程日志抓取装置,应用于车载终端,包括:
接收模块,用于接收操作指令,其中,所述操作指令中至少携带有获取日志流文件的异步操作指令,所述日志流文件包括车载操作系统中的日志文件,所述车载操作系统中的日志文件至少包括一个预先安装的应用程序中的日志文件;
分包压缩模块,用于根据所述获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件;
上传模块,用于实时上传所述车载操作系统中待抓取的日志文件。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以上所述的远程日志抓取方法的步骤。
第四方面,本发明实施例提供一种非暂态可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以上任一项所述的远程日志抓取方法的步骤。
本发明的实施例提供了一种远程日志抓取方法、装置、电子设备和存储介质,根据获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件;实时上传所述车载操作系统中待抓取的日志文件,实现了对日志的远程抓取,由于通过车载操作系统中的日志文件能够有效地对车载终端中APP出现的问题进行分析给出相关的解决措施,因此远程抓取到日志文件后,不再需要每次车载终端的APP出现问题后均将设备寄回或者由相关人员当场去解决,大大降低了对人力和时间耗费,有助于提高研发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种远程日志抓取方法的流程示意图;
图2是本发明另一实施例提供的系统日志上传过程的过程示意图;
图3是本发明另一实施例提供的远程日志抓取装置的结构框图;
图4是本发明另一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的车载终端出现APP稳定性问题后,往往需要将设备寄回或者由相关人员到现场解决,非常不方便,尤其在研发和测试过程中,降低了研发效率。日志文件能够对车载终端出现的问题进行分析,因此为了解决这一技术问题,使得APP出现稳定性问题时可以远程分析解决,提高研发测试阶段的研发效率,图1为本实施例提供的远程日志抓取方法的流程示意图,该远程日志抓取方法应用于车载终端,尤其适用于Android系统的车载终端。参见图1,该远程日志抓取方法包括:
步骤101:接收操作指令,其中,所述操作指令中至少携带有获取日志流文件的异步操作指令,所述日志流文件包括车载操作系统中的日志文件,所述车载操作系统中的日志文件至少包括一个预先安装的应用程序中的日志文件。
步骤102:根据所述获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件;
步骤103:实时上传所述车载操作系统中待抓取的日志文件。
实际上,所述车载操作系统中的日志文件包括所有预先安装的应用程序中的日志文件。
操作指令可以由用户(例如,研发测试人员)在接收到车载终端上报的异常信息后发送。其中,异常信息包括所述车载终端中的APP出现了稳定性问题。
操作指令可以push消息的方式发送到车载终端。
具体地,将所述系统日志上传到所述服务端,以供相关人员(例如,研发人员)通过接收到的系统日志对车载终端中出现的问题(例如,车载终端中APP稳定性问题)进行分析,而无需将设备寄回或者去现场解决。其中,根据系统日志如何对车载终端中出现的问题进行分析可以由研发人员根据实际情况设定,本实施例对此不做具体限制。
进一步地,还包括,在服务端将接收到的系统日志进行分类存储,例如,对接收到的系统日志进行jira归档操作。
本实施例提供了一种远程日志抓取方法,根据获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件;实时上传所述车载操作系统中待抓取的日志文件,实现了对日志的远程抓取,由于通过车载操作系统中的日志文件能够有效地对车载终端中APP出现的问题进行分析给出相关的解决措施,因此远程抓取到日志文件后,不再需要每次车载终端的APP出现问题后均将设备寄回或者由相关人员当场去解决,大大降低了对人力和时间耗费,有助于提高研发效率。
进一步地,在上述实施例的基础上,在接收操作指令之后,还包括:
获取所述车载操作系统中的日志文件的抓取权限;
根据所述抓取权限获取所述预先安装的应用程序中的日志文件。
抓取权限通常通过车机的签名文件实现,例如,若需实现对车机上的全日志的抓取,则需要车机签名文件-所有app的内容。
具体地,根据所述异步操作指令,向待抓取的应用程序提供签名文件,待抓取的应用程序对签名文件验证通过后,即可抓取待抓取的应用程序中的日志文件。
签名文件可以是车机的系统签名,签名文件可以预先由车载系统的开发商授权提供,签名文件可以作为获取车载操作系统中的日志文件的抓取权限,从而通过签名文件实现对操作系统中的日志文件的抓取。
本实施例中,通过抓取权限实现了对应用程序中的日志文件的抓取。
具体地,根据所述操作指令向待抓取的应用程序请求日志文件,并提供抓取权限的验证信息(例如,系统签名),以使得待抓取的应用程序在对所述系统签名验证通过后,返回日志文件,从而实现对日志文件的抓取。
其中,所述异步操作指令至少包括如下任一内容:指示抓取的系统日志的格式、指示抓取的系统日志的生成时间、指示抓取的系统日志的类型。
可理解的是,异步操作指令可以由用户根据需要指示需要抓取的系统日志所需符合的条件。例如,格式、生成时间和类型等等。
本实施例中,通过对抓取权限实现了对待抓取的应用程序中的日志文件的抓取。
进一步地,在上述各实施例的基础上,所述根据所述抓取权限获取所述预先安装的应用程序中的日志文件,包括:
通过运行Runtime对象,得到返回的Process对象;其中,所述Runtime对象执行的字符串命令为请求获取所述预先安装的应用程序中的日志文件;
通过所述Process对象提供所述抓取权限的验证信息,并在对所述抓取权限验证通过后,获取所述预先安装的应用程序中的日志文件。
具体地,通过Runtime对象中的exec执行字符串命令,返回用于获取系统信息(包括日志文件)的Process对象,进而通过系统签名(即系统签名表示了抓取权限)由Process对象获取到日志文件。
本实施例中,通过Runtime对象返回的Process对象实现了对日志文件的抓取,将日志文件远程发送到服务端,实现了通过服务端对车载终端的故障分析。
进一步地,在上述各实施例的基础上,所述对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件,包括:
循环执行分包压缩操作,直到对待抓取的应用程序中的日志文件均执行分包压缩操作;
其中,所述分包压缩操作包括:
获取预设容量的任一数据包,在所述任一数据包中写入当前还未写入到数据包的待抓取的应用程序中的日志文件,直到写入所述任一数据包的日志文件占用的容量达到所述预设容量后,或者直到已将待抓取的应用程序中的日志文件均写入数据包后,压缩所述任一数据包。
具体地,当抓取日志文件超过设定容量后,进行分包压缩操作,即开启新的线程(即重新获取预设容量的任一数据包),将写满容量的数据包压缩上传,并且将分包时创建的新文件路径名称重新指定,继续抓取日志的流程。
预设容量为设定值。
进一步地,通过云服务(例如,腾讯云服务)上传至所述服务端。
本实施例中,对于抓取的系统日志可以进行分包压缩操作,生成多个数据包,压缩上传,有利于在日志上传过程中保证网络的稳定性。同时,将数据包压缩后上传,且每一数据包的容量上限限定为预设容量,避免了因数据包过大上传失败,提高了系统日志上传的成功率。
进一步地,在上述各实施例的基础上,所述在所述任一数据包中写入当前还未写入到数据包的待抓取的应用程序中的日志文件,包括:
通过BufferedReader按行读取由Process对象返回的待抓取的应用程序中的日志文件的信息流,将FileOutputStream文件输出的流向数据包作为所述任一数据包,在所述任一数据包中写入按行读取到的信息流
本实施例中,通过BufferedReader实现了对系统日志的读取,并通过FileOutputStream实现了对数据的分包操作。
关于通过日志抓取程序获取系统日志(日志文件)的过程,可以包括以下过程:
日志抓取程序通过执行程序运行时对象Runtime.getRuntime() 获得Runtime对象,来执行指定的字符串命令:
Runtime.getRuntime().exec(logcat -v time) ,此指令返回一个当前应用程序本机流程对象Process,该实例可用于控制流程并获取有关它的信息。可通过此对象:process.getInputStream() 来返回当前日志信息流。
开始读取时,通过BufferedReader缓冲字符输入流按行读取process.getInputStream()返回的信息流,并检查是否超过设定的分包尺寸,若没超过,则使用FileOutputStream文件输出流写入按行读取到的信息流,若超出分包尺寸,就进行分包操作,创建新的文件夹,将新文件夹路径指定给FileOutputStream对象,再进行按行读取操作。
当日志抓取App打包构建成功后,进行系统签名,此时从process.getInputStream() 返回的数据流则包含了设备上的全部日志。
进一步地,在上述各实施例的基础上,所述实时上传所述车载操作系统中待抓取的日志文件,包括:
将对车载操作系统中待抓取的日志文件进行压缩得到的压缩包实时上传到服务器,并在本地将已经上传到所述服务器的压缩包删除。
具体地,若压缩完任一数据包,会将.txt原日志文件(即原任一数据包)删除,以释放.txt原日志文件所占用的空间。
对所抓取的日志生成的数据包,在上传的过程中,若某一数据包上传成功,则将其从本地的车载终端删除,及时释放数据包对车载终端的设备空间的占用。
进一步地,在上述各实施例的基础上,所述根据所述获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件之前,还包括:
判断是否存在未上传成功的日志文件,若是,对未上传成功的日志文件进行批量压缩,将批量压缩后的日志文件上传到所述服务器并将成功上传至所述服务器的日志文件删除。
具体地,若在日志文件路径下存在还未压缩的 .txt日志文件,会进行批量压缩。在压缩处理服务中再进行批量上传的操作。
进一步地,若所述任一数据包经过次数超过预设次数的上传操作后仍未上传成功,则发出提示信息。
可理解的是,发出提示信息不影响后续执行上述“判断是否存在未上传成功的日志文件”的操作,即如果后续还有抓取日志的操作,还会触发重新检查本地缓存文件的操作。
本实施例中,在上传数据包之前会将之前还未压缩和/或还未成功上传的数据包进行重新上传,保证获取到的所有系统日志均成功上传到服务端,避免所抓取的系统文件丢失,保证上传成功率。
图2为本实施例提供的系统日志上传过程的过程示意图,参见图2,该过程包括:
研发/测试发现问题,根据不同的问题类型,通过服务端提供的远程push服务,下发一条所需调试指令(即日志抓取指令)。
车载设备(车载终端)上接收到指令,使用Android原生系统提供的运行时命令行Api,发起任务,开始执行。此处兼容多线程操作,根据特定命令获得日志流信息,写入到sdcard中,到达一定阈值后即切换下一个文件,将上一个文件进行zip压缩,删除原有文件
将压缩后的文件上传至云服务器,保证上传成功率。上传成功后删除本地zip缓存文件,避免过多缓存文件占用设备内存,并且在每次开始执行命令前,均会检查本地设备上是否还有上次已完成,未压缩或者未上传的文件。重新执行完成的流程。
上传后的文件通过远程日志服务平台可以在线实时查看。
可见,本实施例通过服务端下发push消息,车载设备上安装远程日志抓取程序,使用运行时命令行来获取实时数据流执行日志抓取,日志达到阈值立即切换下一个文件,使用zip压缩已到阈值文件,通过腾讯云服务上传的操作,在平台侧查看最终抓取日志。进行jira归档操作。可以快速解决用户车载设备上的问题,软件bug,ANR,车载设备性能等,提升研发,测试效率。
图3为本实施例提供的远程日志抓取装置的结构框图,参见图3,该远程日志抓取装置包括接收模块301、分包压缩模块302和上传模块303,其中,
接收模块301,用于接收操作指令,其中,所述操作指令中至少携带有获取日志流文件的异步操作指令,所述日志流文件包括车载操作系统中的日志文件,所述车载操作系统中的日志文件至少包括一个预先安装的应用程序中的日志文件;
分包压缩模块302,用于根据所述获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件;
上传模块303,用于实时上传所述车载操作系统中待抓取的日志文件。
本实施例提供的远程日志抓取装置适用于上述各实施例提供的远程日志抓取方法,在此不再赘述。
本实施例提供了一种远程日志抓取装置,根据获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件;实时上传所述车载操作系统中待抓取的日志文件,实现了对日志的远程抓取,由于通过车载操作系统中的日志文件能够有效地对车载终端中APP出现的问题进行分析给出相关的解决措施,因此远程抓取到日志文件后,不再需要每次车载终端的APP出现问题后均将设备寄回或者由相关人员当场去解决,大大降低了对人力和时间耗费,有助于提高研发效率。
可选地,在接收操作指令之后,还包括:
获取所述车载操作系统中的日志文件的抓取权限;
根据所述抓取权限获取所述预先安装的应用程序中的日志文件。
可选地,所述根据所述抓取权限获取所述预先安装的应用程序中的日志文件,包括:
通过运行Runtime对象,得到返回的Process对象;其中,所述Runtime对象执行的字符串命令为请求获取所述预先安装的应用程序中的日志文件;
通过所述Process对象提供所述抓取权限的验证信息,并在对所述抓取权限验证通过后,获取所述预先安装的应用程序中的日志文件。
可选地,所述对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件,包括:
循环执行分包压缩操作,直到对待抓取的应用程序中的日志文件均执行分包压缩操作;
其中,所述分包压缩操作包括:
获取预设容量的任一数据包,在所述任一数据包中写入当前还未写入到数据包的待抓取的应用程序中的日志文件,直到写入所述任一数据包的日志文件占用的容量达到所述预设容量后,或者直到已将待抓取的应用程序中的日志文件均写入数据包后,压缩所述任一数据包。
可选地,所述在所述任一数据包中写入当前还未写入到数据包的待抓取的应用程序中的日志文件,包括:
通过BufferedReader按行读取由Process对象返回的待抓取的应用程序中的日志文件的信息流,将FileOutputStream文件输出的流向数据包作为所述任一数据包,在所述任一数据包中写入按行读取到的信息流。
可选地,所述实时上传所述车载操作系统中待抓取的日志文件,包括:
将对车载操作系统中待抓取的日志文件进行压缩得到的压缩包实时上传到服务器,并在本地将已经上传到所述服务器的压缩包删除。
可选地,所述根据所述获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件之前,还包括:
判断是否存在未上传成功的日志文件,若是,对未上传成功的日志文件进行批量压缩,将批量压缩后的日志文件上传到所述服务器并将成功上传至所述服务器的日志文件删除。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)401、通信接口(Communications Interface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行如下方法:
接收操作指令,其中,所述操作指令中至少携带有获取日志流文件的异步操作指令,所述日志流文件包括车载操作系统中的日志文件,所述车载操作系统中的日志文件至少包括一个预先安装的应用程序中的日志文件;
根据所述获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件;
实时上传所述车载操作系统中待抓取的日志文件。
此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
进一步地,本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
接收操作指令,其中,所述操作指令中至少携带有获取日志流文件的异步操作指令,所述日志流文件包括车载操作系统中的日志文件,所述车载操作系统中的日志文件至少包括一个预先安装的应用程序中的日志文件;
根据所述获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件;
实时上传所述车载操作系统中待抓取的日志文件。
另一方面,本发明实施例还提供一种非暂态可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:
接收操作指令,其中,所述操作指令中至少携带有获取日志流文件的异步操作指令,所述日志流文件包括车载操作系统中的日志文件,所述车载操作系统中的日志文件至少包括一个预先安装的应用程序中的日志文件;
根据所述获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件;
实时上传所述车载操作系统中待抓取的日志文件。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种远程日志抓取方法,其特征在于,包括:
接收操作指令,其中,所述操作指令中至少携带有获取日志流文件的异步操作指令,所述日志流文件包括车载操作系统中的日志文件,所述车载操作系统中的日志文件至少包括一个预先安装的应用程序中的日志文件;
根据所述获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件;
实时上传所述车载操作系统中待抓取的日志文件。
2.根据权利要求1所述的远程日志抓取方法,其特征在于,在接收操作指令之后,还包括:
获取所述车载操作系统中的日志文件的抓取权限;
根据所述抓取权限获取所述预先安装的应用程序中的日志文件。
3.根据权利要求2所述的远程日志抓取方法,其特征在于,所述根据所述抓取权限获取所述预先安装的应用程序中的日志文件,包括:
通过运行Runtime对象,得到返回的Process对象;其中,所述Runtime对象执行的字符串命令为请求获取所述预先安装的应用程序中的日志文件;
通过所述Process对象提供所述抓取权限的验证信息,并在对所述抓取权限验证通过后,获取所述预先安装的应用程序中的日志文件。
4.根据权利要求1所述的远程日志抓取方法,其特征在于,所述对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件,包括:
循环执行分包压缩操作,直到对待抓取的应用程序中的日志文件均执行分包压缩操作;
其中,所述分包压缩操作包括:
获取预设容量的任一数据包,在所述任一数据包中写入当前还未写入到数据包的待抓取的应用程序中的日志文件,直到写入所述任一数据包的日志文件占用的容量达到所述预设容量后,或者直到已将待抓取的应用程序中的日志文件均写入数据包后,压缩所述任一数据包。
5.根据权利要求4所述的远程日志抓取方法,其特征在于,所述在所述任一数据包中写入当前还未写入到数据包的待抓取的应用程序中的日志文件,包括:
通过BufferedReader按行读取由Process对象返回的待抓取的应用程序中的日志文件的信息流,将FileOutputStream文件输出的流向数据包作为所述任一数据包,在所述任一数据包中写入按行读取到的信息流。
6.根据权利要求1所述的远程日志抓取方法,其特征在于,所述实时上传所述车载操作系统中待抓取的日志文件,包括:
将对车载操作系统中待抓取的日志文件进行压缩得到的压缩包实时上传到服务器,并在本地将已经上传到所述服务器的压缩包删除。
7.根据权利要求4所述的远程日志抓取方法,其特征在于,所述根据所述获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件之前,还包括:
判断是否存在未上传成功的日志文件,若是,对未上传成功的日志文件进行批量压缩,将批量压缩后的日志文件上传到所述服务器并将成功上传至所述服务器的日志文件删除。
8.一种远程日志抓取装置,其特征在于,应用于车载终端,包括:
接收模块,用于接收操作指令,其中,所述操作指令中至少携带有获取日志流文件的异步操作指令,所述日志流文件包括车载操作系统中的日志文件,所述车载操作系统中的日志文件至少包括一个预先安装的应用程序中的日志文件;
分包压缩模块,用于根据所述获取日志流文件的异步操作指令,对待抓取的应用程序中的日志文件进行分包、压缩得到车载操作系统中待抓取的日志文件;
上传模块,用于实时上传所述车载操作系统中待抓取的日志文件。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的远程日志抓取方法的步骤。
10.一种非暂态可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述的远程日志抓取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011505513.XA CN112256551A (zh) | 2020-12-18 | 2020-12-18 | 一种远程日志抓取方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011505513.XA CN112256551A (zh) | 2020-12-18 | 2020-12-18 | 一种远程日志抓取方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112256551A true CN112256551A (zh) | 2021-01-22 |
Family
ID=74225265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011505513.XA Pending CN112256551A (zh) | 2020-12-18 | 2020-12-18 | 一种远程日志抓取方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256551A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112512017A (zh) * | 2021-02-05 | 2021-03-16 | 智道网联科技(北京)有限公司 | 对智能车载网联终端状态远程监控的信息处理方法及装置 |
CN113259448A (zh) * | 2021-05-27 | 2021-08-13 | 四川长虹网络科技有限责任公司 | 日志数据传输和监控的方法与系统 |
CN115410290A (zh) * | 2021-09-30 | 2022-11-29 | 北京罗克维尔斯科技有限公司 | 日志传输方法、装置及计算设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103823852A (zh) * | 2014-02-14 | 2014-05-28 | 北京国双科技有限公司 | 数据库服务器日志的处理方法和装置 |
CN105978979A (zh) * | 2016-05-17 | 2016-09-28 | 扬州航盛科技有限公司 | 一种linux车载系统异常诊断系统及其诊断方法 |
CN109270565A (zh) * | 2018-09-04 | 2019-01-25 | 广东翼卡车联网服务有限公司 | 一种车载gps大数据的处理装置 |
CN110995836A (zh) * | 2019-11-29 | 2020-04-10 | 安徽江淮汽车集团股份有限公司 | 基于车联网平台的日志管理方法、设备、存储介质及装置 |
-
2020
- 2020-12-18 CN CN202011505513.XA patent/CN112256551A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103823852A (zh) * | 2014-02-14 | 2014-05-28 | 北京国双科技有限公司 | 数据库服务器日志的处理方法和装置 |
CN105978979A (zh) * | 2016-05-17 | 2016-09-28 | 扬州航盛科技有限公司 | 一种linux车载系统异常诊断系统及其诊断方法 |
CN109270565A (zh) * | 2018-09-04 | 2019-01-25 | 广东翼卡车联网服务有限公司 | 一种车载gps大数据的处理装置 |
CN110995836A (zh) * | 2019-11-29 | 2020-04-10 | 安徽江淮汽车集团股份有限公司 | 基于车联网平台的日志管理方法、设备、存储介质及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112512017A (zh) * | 2021-02-05 | 2021-03-16 | 智道网联科技(北京)有限公司 | 对智能车载网联终端状态远程监控的信息处理方法及装置 |
CN112512017B (zh) * | 2021-02-05 | 2021-11-05 | 智道网联科技(北京)有限公司 | 对智能车载网联终端状态远程监控的信息处理方法及装置 |
CN113259448A (zh) * | 2021-05-27 | 2021-08-13 | 四川长虹网络科技有限责任公司 | 日志数据传输和监控的方法与系统 |
CN115410290A (zh) * | 2021-09-30 | 2022-11-29 | 北京罗克维尔斯科技有限公司 | 日志传输方法、装置及计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112256551A (zh) | 一种远程日志抓取方法、装置、电子设备和存储介质 | |
CN107092552B (zh) | 一种日志管理方法及装置 | |
CN105871587A (zh) | 日志上传方法及装置 | |
CN111061752A (zh) | 数据处理方法、装置及电子设备 | |
CN112637162A (zh) | 一种udp数据包处理方法及装置 | |
CN108595178B (zh) | 一种基于hook的数据采集方法、装置及设备 | |
WO2019140738A1 (zh) | 避免过度回访的方法、电子装置及计算机可读存储介质 | |
CN110333993B (zh) | 内存快照的生成方法、装置、电子设备和存储介质 | |
CN110069217B (zh) | 一种数据存储方法及装置 | |
CN108923967B (zh) | 一种去重流量记录方法、装置、服务器及存储介质 | |
CN110022287A (zh) | 一种异步分布式文件传输方法、终端设备及存储介质 | |
CN117033058A (zh) | 一种软件崩溃数据的分析方法、装置、设备及介质 | |
CN114500348B (zh) | 一种cdn网关测试方法及系统 | |
CN115469940A (zh) | 软件服务的处理方法、电子设备及存储介质 | |
CN115292246A (zh) | 一种文档转码方法、装置及电子设备 | |
CN111414270B (zh) | 一种异常处理方法及装置 | |
CN110362464B (zh) | 软件分析方法及设备 | |
CN110888686B (zh) | 应用程序启动方法、设备和存储介质 | |
CN112101810A (zh) | 风险事件控制方法、装置及系统 | |
CN112596750A (zh) | 应用测试方法、装置、电子设备及计算机可读存储介质 | |
CN112333262A (zh) | 数据更新提示方法、装置、计算机设备及可读存储介质 | |
CN111586115A (zh) | 一种数据传输系统及方法 | |
CN111400156A (zh) | 日志分析方法和装置 | |
CN113760587B (zh) | 一种处理数据的方法和装置 | |
CN108111611B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210122 |