CN112632007B - 一种日志存储及提取方法、装置、设备及存储介质 - Google Patents
一种日志存储及提取方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112632007B CN112632007B CN202011540474.7A CN202011540474A CN112632007B CN 112632007 B CN112632007 B CN 112632007B CN 202011540474 A CN202011540474 A CN 202011540474A CN 112632007 B CN112632007 B CN 112632007B
- Authority
- CN
- China
- Prior art keywords
- file
- log
- uploading
- message
- character string
- 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.)
- Active
Links
Classifications
-
- 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/172—Caching, prefetching or hoarding of 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/602—Providing cryptographic facilities or services
-
- 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/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/2107—File encryption
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明涉及安全传输技术领域,公开了一种日志存储及提取方法,包括:创建一个文件并为文件生成随机字符串,使用公钥加密随机字符串写入文件,有日志生成时,将随机字符串作为密钥对日志加密并写入文件,若当前文件大小超过预设大小,则创建新文件,并执行为该文件生成随机字符串的过程;若否,则执行有日志生成时将随机字符串作为密钥对日志加密并写入文件的过程;当接收到服务端推送的静默消息时,确定符合上传条件的文件,并将确定的文件自动上传到服务端。通过使用非对称加密和对称加密,可以保证日志安全的同时不影响日志写入效率;通过按文件大小截断日志写入保证日志有效传输不丢失。通过使用静默消息触发APP自动上传日志,提高提取效率。
Description
技术领域
本发明涉及安全传输技术领域,应用于智慧安防领域中,揭露了一种日志存储及提取方法、装置、设备及存储介质。
背景技术
众所周知,日志在应用程序APP的整个开发生命周期中发挥着十分重要的作用。在APP开发过程中,错误日志可以帮助开发人员及时地识别出程序中的逻辑错误;而在将产品发布到市场之后,支持工程师可以通过分析错误日志,来解决各种疑难杂症。移动端APP日志有助于开发人员高效排查及解决APP问题,以提升APP用户体验。
目前,移动端APP产生的日志是明文写入文件存储,并且所有日志均写入一个文件存储。由于日志中可能包含一些用户敏感信息、代码参数等信息,鉴于移动端设备复杂的环境,ROOT权限滥用、设备越狱、网络环境复杂等情况,很可能造成移动端APP的日志被盗取利用,并且所有日志均存储在一个文件中,在网络不稳定的情况下不利于日志的提取。另外,在需要提取日志排查问题时,还需要联系移动端用户,手动操作打开隐藏页面进行上传,上传效率很低。
发明内容
本发明的目的是针对上述现有技术的不足提出的一种日志存储及提取方法、装置、设备及存储介质,该目的是通过以下技术方案实现的。
本发明的第一方面提出了一种日志存储及提取方法,所述日志存储及提取方法应用于移动终端,所述方法包括:
步骤101:创建一个用于存储日志的文件,并为该文件生成一随机字符串;
步骤102:使用本端持有的公钥对该随机字符串进行非对称加密并写入文件;
步骤103:在有日志生成时,将该随机字符串作为密钥对日志进行对称加密并写入文件;
步骤104:判断当前文件大小是否超过预设大小,若是,则继续执行所述步骤101的过程,若否,则继续执行所述步骤103的过程;
步骤105:当接收到服务端推送的静默消息时,基于该静默消息获取符合上传条件的文件,并将获取到的文件上传到所述服务端。
可选的,所述创建一个用于存储日志的文件,可包括:创建一个空的文件;根据该文件的当前创建时间命名该文件。
可选的,所述将该随机字符串作为密钥对日志进行对称加密并写入文件,可包括:对所述日志进行压缩,得到压缩后的日志;将该随机字符串作为密钥对压缩后的日志进行对称加密,得到日志密文;将所述日志密文写入所述文件。
可选的,所述基于该静默消息获取符合上传条件的文件,可包括:将所述静默消息存储在本地;提取所述静默消息中包含的需要提取的时间段;遍历本地存储的所有文件的名称,以获取名称符合所述时间段的文件;所述文件的名称以创建时间命名。
可选的,所述将获取到的文件上传到所述服务端,可包括:针对获取到的每个文件,生成该文件的摘要,并将生成的摘要和该文件携带在上传报文中;将所述上传报文发送至所述服务端;在接收到所述服务端返回的用于指示该文件上传成功的通知时,删除本地存储的该文件;直至接收到所述服务端返回的所有获取到文件的上传成功的通知时,删除本地存储的静默消息。
本发明的第二方面提出了一种日志提取方法,所述日志提取方法应用于服务端,所述方法包括:
将待提取日志的时间段添加到静默消息中,并将所述静默消息推送至移动终端;
接收所述移动终端发送的上传报文;
根据该上传报文携带的摘要和文件进行校验,得到校验结果;
若校验结果为成功,则向所述移动终端返回用于指示文件上传成功的通知,并对所述文件中的日志密文进行解密,以获得明文日志;
若校验结果为失败,则向所述移动终端返回用于指示文件上传失败的通知。
可选的,所述根据该上传报文携带的摘要和文件进行校验,得到校验结果,可包括:采用预先协商好的校验算法,基于所述上传报文携带的文件生成摘要;将生成的摘要与所述上传报文携带的摘要进行比较;如果比较一致,则确定校验成功;如果比较不一致,则确定校验失败。
可选的,所述对所述文件中的日志密文进行解密,以获得明文日志,可包括:提取所述文件中包含的随机字符串的密文;利用本地持有的私钥解密该密文,得到随机字符串;提取所述文件中包含的日志密文,并将随机字符串作为密钥对提取出的日志密文进行解密,以获得明文日志。
本发明的第三方面提出了一种日志存储及提取装置,所述日志存储及提取装置应用于移动终端,所述装置包括:
文件创建模块,用于创建一个用于存储日志的文件,并为该文件生成一随机字符串,并使用本端持有的公钥对该随机字符串进行非对称加密并写入文件;
日志写入模块,用于在有日志生成时,将该随机字符串作为密钥对日志进行对称加密并写入文件;
判断模块,用于判断当前文件大小是否超过预设大小,若是,则继续执行所述文件创建模块的过程,若否,则继续执行所述日志写入模块的过程;
日志上传模块,用于当接收到服务端推送的静默消息时,基于该静默消息获取符合上传条件的文件,并将获取到的文件上传到所述服务端。
本发明的第四方面提出了一种日志提取装置,所述日志提取装置应用于服务端,所述装置包括:
消息推送模块,用于将待提取日志的时间段添加到静默消息中,并将所述静默消息推送至移动终端;
接收模块,用于接收所述移动终端发送的上传报文;
校验模块,用于根据该上传报文携带的摘要和文件进行校验,得到校验结果;
上传成功模块,用于在校验结果为成功时,向所述移动终端返回用于指示文件上传成功的通知,并对所述文件中的日志密文进行解密,以获得明文日志;
上传失败模块,用于在校验结果为失败时,向所述移动终端返回用于指示文件上传失败的通知。
本发明的第五方面提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面或第二方面所述方法的步骤。
本发明的第六方面提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面或第二方面所述方法的步骤。
基于上述第一方面所述的日志存储及提取方法,具有如下有益效果:
每生成一个用于存储日志的文件,通过为文件生成一随机字符串作为对称加密日志的密钥,并将随机字符串非对称加密写入文件,可以保证日志的安全存储,同时由于对称加密速度快,因此还可以保证日志的写入效率;通过按照文件大小截断日志的写入,使得移动端APP的日志存储到多个文件,而不是一个文件,在服务端提取日志时,可以一个文件一个文件的传输,从而保证日志有效传输不丢失。另外,通过使用静默消息,可以触发移动端APP自动上传日志,无需用户手动操作页面上传,可以提供日志提取的效率。
本发明方案可应用于智慧安防领域中,从而推动智慧城市的建设。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明根据一示例性实施例示出的一种日志存储及提取方法的实施例流程图;
图2为本发明根据一示例性实施例示出的一种日志提取方法的实施例流程图;
图3为本发明根据一示例性实施例示出的一种计算机设备的硬件结构图;
图4为本发明根据一示例性实施例示出的一种日志存储及提取装置的结构示意图;
图5为本发明根据一示例性实施例示出的一种日志提取装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
移动端APP在使用过程中产生的日志,有助于开发人员高效排查及解决APP问题,提升APP用户体验。
然而,目前APP产生的日志是明文写入文件存储,并且所有日志均写入一个文件存储。由于存储的日志可能包含一些用户敏感信息、代码参数等信息,鉴于移动端设备复杂的环境,ROOT权限滥用、设备越狱、网络环境复杂等情况,很可能造成移动端APP的日志被盗取利用,由于所有日志均存储在一个文件中,在网络不稳定的情况下不利于日志的提取。并且,在需要提取日志排查问题时,还需要联系移动端用户,手动操作打开隐藏页面进行上传,上传效率很低。
实施例一:
为解决上述技术问题,在移动终端侧,本发明提出一种改进的日志存储及提取方法,APP启动创建一个用于存储日志的文件后,为该文件生成一随机字符串,并使用本地持有的公钥非对称加密随机字符串写入文件,在有日志生成时,将该随机字符串作为密钥对日志进行对称加密并写入文件,然后判断当前文件大小是否超过预设大小,若是,则再创建一个用于存储日志的文件,并执行为该文件生成一随机字符串的过程;若否,则继续执行在有日志生成时,将该随机字符串作为密钥对日志进行加密并写入文件的过程;当接收到服务端推送的静默消息时,基于该静默消息确定符合上传条件的文件,并将确定的文件自动上传到服务端。
基于上述描述可知,移动端APP每生成一个用于存储日志的文件,通过为文件生成一随机字符串作为对称加密日志的密钥,并将随机字符串非对称加密写入文件,可以保证日志的安全存储,同时由于对称加密速度快,因此还可以保证日志的写入效率;通过按照文件大小截断日志的写入,使得移动端APP日志存储到多个文件,而不是一个文件,在服务端提取日志时,可以一个文件一个文件的传输,从而保证日志有效传输不丢失。另外,通过使用静默消息,可以触发移动端APP自动上传日志,无需用户手动操作页面上传,可以提供日志提取的效率。
下面以具体实施例对本发明提出的日志存储及提取方法进行详细阐述。
图1为本发明根据一示例性实施例示出的一种日志存储及提取方法的实施例流程图,该日志存储及提取方法应用于移动终端侧,并且移动终端上安装有应用程序APP,用户在使用APP过程中,会生成日志。如图1所示,该日志存储及提取方法包括如下步骤:
步骤101:创建一个用于存储日志的文件,并为该文件生成一随机字符串。
在执行步骤101之前,服务端(即APP的后台服务器)预先为注册到本地的账号生成一对公钥-私钥,并将公钥发送给该账号对应的移动终端持有。例如,移动终端安装APP后,利用手机号在APP上注册一个账号,从而服务端会记录该注册的账号。
其中,服务端生成的公钥用于加密为文件生成的随机字符串,生成的私钥用于解密加密后的随机字符串。
在步骤101中,由于日志的产生发生在APP启动运行期间,因此移动终端是在APP启动的生命周期期间创建的用于存储日志的文件。例如,以移动终端为IOS系统为例,创建的文件可以为沙盒文件。
在一些实施例中,针对创建一个用于存储日志的文件的过程,可以创建一个空的文件后,根据该文件的当前创建时间命名该文件,以便于后续根据时间段进行日志提取。
例如,文件的创建时间为XXXX年XX月XX日XX时XX分XX秒,那么就以XXXX年XX月XX日XX时XX分XX秒命名该文件。
值得注意的是,为文件生成的随机字符串是作为加密日志使用的密钥,该随机字符串可以是固定长度的,以便于加密后存储到文件中,占用文件的一行。例如,可以为文件生成一串64位长度的随机字符串。
步骤102:使用本地持有的公钥对该随机字符串进行非对称加密并写入文件。
基于上述步骤101的描述,由于服务端持有对应的私钥,因此可以使用公钥加密随机字符串,保证作为密钥的随机字符串的安全传输,在服务端使用私钥解密随机字符串的密文,以用于解密加密日志。
在写入加密的随机字符串(即密文)时,由于文件还是空的,因此可以将随机字符串的密文写入文件的第一行。
可以理解的是,使用公钥加密称为非对称加密,使用密钥加密称为对称加密。对于非对称加密,使用与公钥对应的私钥进行解密,对于对称加密,使用相同的密钥进行解密。
步骤103:在有日志生成时,将该随机字符串作为密钥对日志进行对称加密并写入文件。
在一些实施例中,为了能够在文件中写入更多的日志,在有日志生成时,可以通过对日志进行压缩,得到压缩后的日志,然后再将随机字符串作为密钥对压缩后的日志进行对称加密,得到日志密文,并将日志密文写入文件中。
示例性的,本发明对采用的压缩算法不进行具体限定,例如可以是ZIP函数压缩。
步骤104:判断当前文件大小是否超过预设大小,若是,则继续执行步骤101,若否,则继续执行步骤103。
在步骤104中,移动终端可以预先设置每个文件能够写入的数据量大小,从而每向文件写入一份日志后,可以判断下当前文件大小是否超过预设大小,如果超过,则关闭文件流,以截断日志的写入,并再执行步骤101创建一个新的文件,从而确保APP所产生的日志存储到多个文件,在服务端提取日志时,可以一个文件一个文件的传输,保证日志有效传输不丢失。
其中,为了保证提取日志过程的文件上传效率,每个文件能够写入的数据量大小可以设置得稍小些,例如可以设置为500KB。
需要说明的是,为了保证本地存储的日志始终是有效日志,可以每隔预设时间周期,将不属于当前时间段内的文件确定为超期文件,并删除这些超期文件。
步骤105:当接收到服务端推送的静默消息时,基于该静默消息获取符合上传条件的文件,并将获取到的文件上传到所述服务端。
在一些实施例中,在接收到服务端推送的静默消息时,可以先将该静默消息存储在本地,并提取该静默消息中包含的需要提取的时间段,然后遍历本地存储的所有文件的名称,以获取名称符合该时间段的文件。
在一实施例中,针对将获取到的文件上传到服务端的过程,针对获取到的每个文件,生成该文件的摘要,并将生成的摘要和该文件携带在上传报文中后发送到服务端,在接收到服务端返回的用于指示该文件上传成功的通知时,删除本地存储的该文件,直至接收到服务端返回的所有获取到文件的上传成功的通知时,删除本地存储的静默消息。
也就是说,为了防止文件上传失败的情况,只有确定文件上传成功才删除本地存储的文件,并且只有确定符合该静默消息包含的时间段内的所有文件均上传成功才删除本地存储的静默消息。
其中,以移动终端为IOS系统为例,可以使用NSUserDefaults方法存储静默消息。
基于此,在APP每次启功后,可以检测本地是否存储有静默消息,若有,则提取该静默消息中包含的需要提取的时间段,并遍历本地存储的所有文件的名称,以获取名称符合该时间段内的文件,针对每个获取到的文件,生成该文件的摘要,并将生成的摘要和该文件携带在上传报文中后发送到服务端,在接收到服务端返回的用于指示该文件上传成功的通知时,删除本地存储的该文件,直至服务端返回所有符合该时间段内的文件的上传成功通知时,删除该静默消息。
至此,完成上述图1所示的存储及提取流程,移动终端每生成一个用于存储日志的文件,通过为文件生成一随机字符串作为对称加密日志的密钥,并将随机字符串非对称加密写入文件,可以保证日志的安全存储,同时由于对称加密速度快,因此还可以保证日志的写入效率;通过按照文件大小截断日志的写入,使得移动端APP的日志存储到多个文件,而不是一个文件,在服务端提取日志时,可以一个文件一个文件的传输,从而保证日志有效传输不丢失。另外,通过使用静默消息,可以触发移动端APP自动上传日志,无需用户手动操作页面上传,可以提供日志提取的效率。
实施例二:
基于上述实施例一的基础上,在服务端侧,本发明提出一种日志提取方法,图2为本发明根据一示例性实施例示出的一种日志提取方法的实施例流程图,该日志提取方法包括如下步骤:
步骤201:将待提取日志的时间段添加到静默消息中,并将所述静默消息推送至移动终端。
在步骤201中,服务端通过向移动终端推送静默消息,即使移动终端上的APP未启动运行,静默消息也可以在用户无感知的情况下唤醒APP开始上传日志。
以移动终端为IOS系统为例,服务端可以使用APNS(Apple Push Notificationservice,苹果推送通知服务)服务推送静默消息到移动终端。
步骤202:接收移动终端发送的上传报文。
步骤203:根据该上传报文携带的摘要和文件进行校验,若校验成功,则执行步骤204,若校验失败,则执行步骤205。
在一些实施例中,服务端和移动终端可以预先协商校验算法,针对根据该上传报文携带的摘要和文件进行校验的过程,服务端根据上传报文携带的文件,利用预先协商好的校验算法生成摘要,并将生成的摘要与上传报文携带的摘要进行比较,如果比较一致,则校验成功,如果比较不一致,则校验失败。
其中,本发明对校验算法不进行具体限定,例如可以是国密哈希算法SM3。
步骤204:向移动终端返回用于指示文件上传成功的通知,并对所述文件中的日志密文进行解密,以获得明文日志。
在一实施例中,针对对所述文件中的日志密文进行解密的过程,服务端先提取文件包含的随机字符串的密文,并利用本地持有的私钥解密该密文,得到随机字符串,然后提取文件包含的日志密文,并将随机字符串作为密钥对日志密文进行解密,以获得明文日志。
其中,在提取随机字符串的密文时可以是从文件的第一行提取,在提取日志密文时可以是从文件的第二行开始提取,直至文件的最后一行结束。
进一步地,如果解密后的明文日志为压缩文件,还需要利用压缩算法对压缩文件进行解压缩,从而得到原始的日志。
其中,服务端所采用的压缩算法与移动终端所采用的压缩算法一致。例如,如果移动终端采用zip函数压缩日志,那么服务端也采用zip函数解压缩日志。
步骤205:向移动终端返回用于指示文件上传失败的通知。
至此,完成上述图2所示的日志提取流程,通过使用静默消息,可以触发移动端APP自动上传日志,无需用户手动操作页面上传,可以提供日志提取的效率。并且通过上传报文中携带的摘要和文件进行校验,可以有效保证文件的完整性,避免移动端无法获知文件上传失败的情况。
图3为本发明根据一示例性实施例示出的一种计算机设备的硬件结构示意图。如图3所示,计算机设备400可以包括以下一个或多个组件:处理器401和存储器402。
处理器401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器401可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器401可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器401还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器402可以包括一个或多个计算机可读存储介质,所述计算机可读存储介质可以是非易失性的,也可以是易失性的。存储器402可以是半导体存储器,也可以是磁表面存储器。在一些实施例中,存储器402中的计算机可读存储介质用于存储至少一个指令,在计算机设备400作为移动终端时,该至少一个指令用于被处理器401所执行以实现本申请中方法实施例一提供的日志存储及提取方法;在计算机设备400作为服务端时,该至少一个指令用于被处理器401所执行以实现本申请中方法实施例二提供的日志提取方法。
在一些实施例中,计算机设备400还可选包括有:外围设备接口403和至少一个外围设备。处理器401、存储器402和外围设备接口403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口403相连。具体地,外围设备包括:射频电路404、触摸显示屏405、摄像头406、音频电路407、定位组件408和电源409中的至少一种。
本领域技术人员可以理解,图3中示出的结构并不构成对计算机设备400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
与前述日志存储及提取方法的实施例相对应,本发明还提供了日志存储及提取装置的实施例。
图4为本发明根据一示例性实施例示出的一种日志存储及提取装置的实施例流程图,该日志存储及提取装置应用在移动终端侧。如图4所示,该日志存储及提取装置包括:
文件创建模块410,用于创建一个用于存储日志的文件,并为该文件生成一随机字符串,并使用本端持有的公钥对该随机字符串进行非对称加密并写入文件;
日志写入模块420,用于在有日志生成时,将该随机字符串作为密钥对日志进行对称加密并写入文件;
判断模块430,用于判断当前文件大小是否超过预设大小,若是,则继续执行所述文件创建模块的过程,若否,则继续执行所述日志写入模块的过程;
日志上传模块440,用于当接收到服务端推送的静默消息时,基于该静默消息获取符合上传条件的文件,并将获取到的文件上传到所述服务端。
在一可选实现方式中,所述文件创建模块410,具体用于在创建一个用于存储日志的文件过程中,创建一个空的文件;根据该文件的当前创建时间命名该文件。
在一可选实现方式中,所述日志写入模块420,具体用于对所述日志进行压缩,得到压缩后的日志;将该随机字符串作为密钥对压缩后的日志进行对称加密,得到日志密文;将所述日志密文写入所述文件。
在一可选实现方式中,所述日志上传模块440,具体用于在基于该静默消息获取符合上传条件的文件过程中,将所述静默消息存储在本地;提取所述静默消息中包含的需要提取的时间段;遍历本地存储的所有文件的名称,以获取名称符合所述时间段的文件;所述文件的名称以创建时间命名。
在一可选实现方式中,所述日志上传模块440,具体用于在将获取到的文件上传到所述服务端过程中,针对获取到的每个文件,生成该文件的摘要,并将生成的摘要和该文件携带在上传报文中;将所述上传报文发送至所述服务端;在接收到所述服务端返回的用于指示该文件上传成功的通知时,删除本地存储的该文件;直至接收到所述服务端返回的所有获取到文件的上传成功的通知时,删除本地存储的静默消息。
与前述日志提取方法的实施例相对应,本发明还提供了日志提取装置的实施例。
图5为本发明根据一示例性实施例示出的一种日志提取装置的实施例流程图,该日志提取装置应用在服务端侧。如图5所示,该日志提取装置包括:
消息推送模块510,用于将待提取日志的时间段添加到静默消息中,并将所述静默消息推送至移动终端;
接收模块520,用于接收所述移动终端发送的上传报文;
校验模块530,用于根据该上传报文携带的摘要和文件进行校验,得到校验结果;
上传成功模块540,用于在校验结果为成功时,向所述移动终端返回用于指示文件上传成功的通知,并对所述文件中的日志密文进行解密,以获得明文日志;
上传失败模块550,用于在校验结果为失败时,向所述移动终端返回用于指示文件上传失败的通知。
在一可选实现方式中,所述校验模块530,具体用于采用预先协商好的校验算法,基于所述上传报文携带的文件生成摘要;将生成的摘要与所述上传报文携带的摘要进行比较;如果比较一致,则确定校验成功;如果比较不一致,则确定校验失败。
在一可选实现方式中,所述上传成功模块540,具体用于在对所述文件中的日志密文进行解密,以获得明文日志过程中,提取所述文件中包含的随机字符串的密文;利用本地持有的私钥解密该密文,得到随机字符串;提取所述文件中包含的日志密文,并将随机字符串作为密钥对提取出的日志密文进行解密,以获得明文日志。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明还提供了另一种实施方式,即提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序可被至少一个处理器执行,以使至少一个处理器执行上文描述的实施例一或者实施例二所述方法的步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (9)
1.一种日志存储方法,其特征在于,所述日志存储方法应用于移动终端,所述方法包括:
步骤101:创建一个用于存储日志的文件,并为所述文件生成一随机字符串;
步骤102:使用本地持有的公钥对该随机字符串进行非对称加密并写入所述文件;
步骤103:在有日志生成时,将该随机字符串作为密钥对日志进行对称加密并写入所述文件;
步骤104:判断所述文件大小是否超过预设大小,若是,则继续执行所述步骤101的过程,若否,则继续执行所述步骤103的过程;
步骤105:当接收到服务端推送的静默消息时,基于该静默消息获取符合上传条件的目标文件,并将获取到的目标文件上传到所述服务端,以使所述服务端保存所述目标文件;
其中,所述基于该静默消息获取符合上传条件的目标文件,包括:将所述静默消息存储在本地;提取所述静默消息中包含的需要提取的时间段;遍历本地存储的所有文件的名称,以获取名称符合所述时间段的目标文件;所述目标文件的名称以创建时间命名;
所述将获取到的目标文件上传到所述服务端,包括:针对获取到的每个目标文件,生成该目标文件的摘要,并将生成的摘要和该目标文件携带在上传报文中;将所述上传报文发送至所述服务端;在接收到所述服务端返回的用于指示该目标文件上传成功的通知时,删除本地存储的该目标文件;直至接收到所述服务端返回的所有获取到目标文件的上传成功的通知时,删除本地存储的静默消息。
2.根据权利要求1所述的方法,其特征在于,所述创建一个用于存储日志的文件,包括:
创建一个空的文件;
根据该文件的当前创建时间命名该文件。
3.根据权利要求1所述的方法,其特征在于,所述将该随机字符串作为密钥对日志进行对称加密并写入所述文件,包括:
对所述日志进行压缩,得到压缩后的日志;
将该随机字符串作为密钥对压缩后的日志进行对称加密,得到日志密文;
将所述日志密文写入所述文件。
4.一种日志提取方法,其特征在于,所述日志提取方法应用于服务端,所述方法包括:
将待提取日志的时间段添加到静默消息中,并将所述静默消息推送至移动终端;
接收所述移动终端发送的上传报文;
根据该上传报文携带的摘要和文件进行校验,得到校验结果;
若校验结果为成功,则向所述移动终端返回用于指示文件上传成功的通知,并对所述文件中的日志密文进行解密,以获得明文日志;
若校验结果为失败,则向所述移动终端返回用于指示文件上传失败的通知;
其中,所述对所述文件中的日志密文进行解密,以获得明文日志,包括:提取所述文件中包含的随机字符串的密文;利用本地持有的私钥解密该密文,得到随机字符串;提取所述文件中包含的日志密文,并将随机字符串作为密钥对提取出的日志密文进行解密,以获得明文日志。
5.根据权利要求4所述的方法,其特征在于,所述根据该上传报文携带的摘要和文件进行校验,得到校验结果,包括:
采用预先协商好的校验算法,基于所述上传报文携带的文件生成摘要;
将生成的摘要与所述上传报文携带的摘要进行比较;
如果比较一致,则确定校验成功;
如果比较不一致,则确定校验失败。
6.一种日志存储装置,其特征在于,所述日志存储装置应用于移动终端,所述装置包括:
文件创建模块,用于创建一个用于存储日志的文件,并为所述文件生成一随机字符串,并使用本端持有的公钥对该随机字符串进行非对称加密并写入所述文件;
日志写入模块,用于在有日志生成时,将该随机字符串作为密钥对日志进行对称加密并写入所述文件;
判断模块,用于判断所述文件大小是否超过预设大小,若是,则继续执行所述文件创建模块的过程,若否,则继续执行所述日志写入模块的过程;
日志上传模块,用于当接收到服务端推送的静默消息时,基于该静默消息获取符合上传条件的目标文件,并将获取到的目标文件上传到所述服务端,以使所述服务端保存所述目标文件;
其中,所述日志上传模块,具体用于在基于该静默消息获取符合上传条件的目标文件的过程中,将所述静默消息存储在本地;提取所述静默消息中包含的需要提取的时间段;遍历本地存储的所有文件的名称,以获取名称符合所述时间段的目标文件;所述目标文件的名称以创建时间命名;
所述日志上传模块,具体用于在将获取到的目标文件上传到所述服务端过程中,针对获取到的每个目标文件,生成该目标文件的摘要,并将生成的摘要和该目标文件携带在上传报文中;将所述上传报文发送至所述服务端;在接收到所述服务端返回的用于指示该目标文件上传成功的通知时,删除本地存储的该目标文件;直至接收到所述服务端返回的所有获取到目标文件的上传成功的通知时,删除本地存储的静默消息。
7.一种日志提取装置,其特征在于,所述日志提取装置应用于服务端,所述装置包括:
消息推送模块,用于将待提取日志的时间段添加到静默消息中,并将所述静默消息推送至移动终端;
接收模块,用于接收所述移动终端发送的上传报文;
校验模块,用于根据该上传报文携带的摘要和文件进行校验,得到校验结果;
上传成功模块,用于在校验结果为成功时,向所述移动终端返回用于指示文件上传成功的通知,并对所述文件中的日志密文进行解密,以获得明文日志;
上传失败模块,用于在校验结果为失败时,向所述移动终端返回用于指示文件上传失败的通知;
其中,所述上传成功模块,具体用于在对所述文件中的日志密文进行解密,以获得明文日志过程中,提取所述文件中包含的随机字符串的密文;利用本地持有的私钥解密该密文,得到随机字符串;提取所述文件中包含的日志密文,并将随机字符串作为密钥对提取出的日志密文进行解密,以获得明文日志。
8.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-5任一项所述方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011540474.7A CN112632007B (zh) | 2020-12-23 | 2020-12-23 | 一种日志存储及提取方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011540474.7A CN112632007B (zh) | 2020-12-23 | 2020-12-23 | 一种日志存储及提取方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112632007A CN112632007A (zh) | 2021-04-09 |
CN112632007B true CN112632007B (zh) | 2023-07-28 |
Family
ID=75322003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011540474.7A Active CN112632007B (zh) | 2020-12-23 | 2020-12-23 | 一种日志存储及提取方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112632007B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113641717A (zh) * | 2021-07-28 | 2021-11-12 | 通号城市轨道交通技术有限公司 | 列车运行图变化查找方法、装置、电子设备和存储介质 |
CN114448776A (zh) * | 2022-01-28 | 2022-05-06 | 吉林亿联银行股份有限公司 | 一种链路追踪方法及装置 |
CN115185910B (zh) * | 2022-06-27 | 2023-10-13 | 无锡蜜蜂数智科技有限公司 | 一种智能标签管理系统及装置 |
CN115543949B (zh) * | 2022-09-27 | 2023-09-08 | 北京北方华创微电子装备有限公司 | 一种日志处理方法和半导体工艺设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180287792A1 (en) * | 2017-03-28 | 2018-10-04 | Alibaba Group Holding Limited | Method and system for protecting data keys in trusted computing |
CN108650302A (zh) * | 2018-04-17 | 2018-10-12 | 北京远大宏略科技股份有限公司 | 一种基于区块链的云箱安全技术 |
CN111090622A (zh) * | 2019-10-18 | 2020-05-01 | 西安电子科技大学 | 基于动态加密rbac模型的云存储信息处理系统及方法 |
-
2020
- 2020-12-23 CN CN202011540474.7A patent/CN112632007B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180287792A1 (en) * | 2017-03-28 | 2018-10-04 | Alibaba Group Holding Limited | Method and system for protecting data keys in trusted computing |
CN108650302A (zh) * | 2018-04-17 | 2018-10-12 | 北京远大宏略科技股份有限公司 | 一种基于区块链的云箱安全技术 |
CN111090622A (zh) * | 2019-10-18 | 2020-05-01 | 西安电子科技大学 | 基于动态加密rbac模型的云存储信息处理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112632007A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112632007B (zh) | 一种日志存储及提取方法、装置、设备及存储介质 | |
CN108234539B (zh) | 一种文件上传、下载、传输方法及装置 | |
US20120226823A1 (en) | Document distribution system and method | |
US8724815B1 (en) | Key management in a distributed system | |
JP2008187608A (ja) | データ送信システム | |
CN112131595B (zh) | 一种SQLite数据库文件安全存取方法及装置 | |
JP2017534971A (ja) | データ同期の方法及び装置 | |
Zhou et al. | Dump and analysis of android volatile memory on wechat | |
CN109086098A (zh) | 一种日志文件清理方法及相关装置 | |
CN103139149A (zh) | 一种云存储的数据存取方法及系统 | |
CN112784302A (zh) | 文件处理方法、装置、电子设备及可读存储介质 | |
US9054864B2 (en) | Method and apparatus of securely processing data for file backup, de-duplication, and restoration | |
CN109120641B (zh) | 报表自动上传方法、装置、计算机设备及存储介质 | |
CN114615031A (zh) | 文件存储方法、装置、电子设备及存储介质 | |
CN108133026B (zh) | 一种多数据的处理方法、系统及存储介质 | |
CN109088872A (zh) | 带使用期限的云平台的使用方法、装置、电子设备及介质 | |
CN117201120A (zh) | 一种信息加密方法、装置、计算机设备及存储介质 | |
CN108563396B (zh) | 一种安全的云端对象存储方法 | |
CN111400771A (zh) | 目标分区的校验方法及装置、存储介质、计算机设备 | |
CN115834192A (zh) | 一种文件摆渡方法、装置及计算机可读存储介质 | |
CN111181905A (zh) | 文件加密方法及装置 | |
CN115935414A (zh) | 基于区块链的数据校验方法、装置、电子设备和存储介质 | |
CN105635243A (zh) | 图像形成装置、数据发送方法和数据发送系统 | |
CN115033900A (zh) | 一种基于区块链的电子数据取证方法及系统 | |
Sengupta et al. | A platform independent and forensically sound method to extract WhatsApp data from mobile phones |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |