Nothing Special   »   [go: up one dir, main page]

CN110134615B - 应用程序获取日志数据的方法及装置 - Google Patents

应用程序获取日志数据的方法及装置 Download PDF

Info

Publication number
CN110134615B
CN110134615B CN201910285000.3A CN201910285000A CN110134615B CN 110134615 B CN110134615 B CN 110134615B CN 201910285000 A CN201910285000 A CN 201910285000A CN 110134615 B CN110134615 B CN 110134615B
Authority
CN
China
Prior art keywords
log
content
intercepted
embedded
log data
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
Application number
CN201910285000.3A
Other languages
English (en)
Other versions
CN110134615A (zh
Inventor
包宇津
梁泽华
赵洪飞
李升起
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Baidu Online Network Technology Beijing Co Ltd
Original Assignee
Baidu Online Network Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Baidu Online Network Technology Beijing Co Ltd filed Critical Baidu Online Network Technology Beijing Co Ltd
Priority to CN201910285000.3A priority Critical patent/CN110134615B/zh
Publication of CN110134615A publication Critical patent/CN110134615A/zh
Application granted granted Critical
Publication of CN110134615B publication Critical patent/CN110134615B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施方式提供一种应用程序获取日志的方法,本发明涉及计算机存储方法领域,具体地涉及应用程序获取日志的方法及其装置;所述方法包括:从服务器端获取最新日志存储策略;根据所述日志存储策略定义需要拦截的内容;在需要拦截的内容中添加拦截协议;根据所述拦截协议拦截所述需要拦截的内容,将拦截后的内容与嵌入日志收集代码的内容进行交换,获得嵌入日志收集代码的拦截后内容;获取所述拦截的内容中的日志数据,根据日志存储策略决定是否对所述日志进行记录。本发明在不侵入原有业务逻辑代码的基础上进行日志信息的采集,保证了原有逻辑代码的完整性。将日志收集工作统一,避免收集代码穿插在业务逻辑代码中所造成的不良使用体验。

Description

应用程序获取日志数据的方法及装置
技术领域
本发明涉及计算机存储方法领域,具体地涉及一种应用程序获取日志数据的方法及一种应用程序获取日志数据的装置。
背景技术
应用程序日志数据收集是记录内容创作者在使用应用程序过程中发生的各种有效数据,并对数据进行收集分析的技术。自媒体作者在使用应用程序过程中需要进行图集、图文、视频等自媒体内容的创作与发布,鉴于应用程序功能的多样性以及逻辑的复杂性,日志数据产生频次较多,读写操作频繁容易造成CPU占用量升高,同时高I/O操作容易造成垃圾回收问题。其次,日志收集模式一旦设定好,后续要修改只能通过发版来实现,而且一些用户的异常操作日志数据可能由于日志数据收集模式没有覆盖到而丢失。
传统方法中的日志数据收集方法,一是:会嵌入到业务逻辑代码中,对系统原有逻辑造成干扰,给自媒体创作者带来不好的使用体验,而且在开发中遇到代码复用的时候还要把这部分收集代码清除掉,造成时间和效率上的损失。二是:自媒体作者操作应用程序的频次一般都比较多,收集到的日志数据信息容量比较大,存储数据过程会浪费大量资源,而且在应用程序异常退出时,日志数据没法保存。三是:一旦日志收集模式修订好,后续想要修改日志收集模式只能通过发版来实现,易用性和实效性差,而且对用户的一些异常操作覆盖性不够全面。
发明内容
本发明实施方式的目的在于降低了代码开发工作量,而且也为日志数据收集提供便利。
为了实现上述目的,本发明一方面提供一种应用程序获取日志数据的方法,所述方法包括:
S1)从服务器端获取最新日志存储策略;
S2)根据所述日志存储策略确定需要拦截的内容;
S3)在所述需要拦截的内容中添加拦截协议;
S4)根据所述拦截协议拦截所述需要拦截的内容,将拦截后的内容与嵌入日志收集代码的内容进行交换,获得嵌入日志收集代码的拦截后内容;
S5)通过运行嵌入日志收集代码的拦截后内容获取日志数据。
进一步的,所述方法还包括:
S6)判断用户当前操作行为是否异常;在用户当前操作行为异常的情况下,对操作行为异常时的日志数据进行存储;否则,根据所述日志存储策略确定是否对所述日志数据进行存储。
可选的,步骤S6)中,利用内置于所述应用程序中的机器学习模型判断所述用户当前操作行为是否异常。
可选的,所述步骤S4)中:
所述需要拦截的内容为需要进行方法拦截的函数;
所述嵌入日志收集代码的内容为嵌入日志收集代码的函数;
所述步骤S5)中,运行嵌入日志收集代码的拦截后内容为运行嵌入日志收集代码的拦截后的函数。
可选的,步骤S5)中,所述日志数据包括:设备基本信息、启动时间、页面加载时间和跳转路径、网络加载耗时中至少一个。
可选的,步骤S6),对所述操作异常时的日志数据进行存储,包括:采用内存映射的方式对所述日志数据进行存储。
本发明的另一方面,还提供一种应用程序获取日志数据的装置,该装置包括:
提取模块,所述提取模块用于从服务器端提取最新日志存储策略;
定义模块,所述定义模块用于根据所述日志存储策略确定需要拦截的内容;
添加拦截协议模块,所述添加拦截协议模块用于在所述需要拦截的内容中添加拦截协议;
拦截器模块,所述拦截器模块用于根据所述拦截协议拦截所述需要拦截的内容;
交换模块,所述交换模块用于将拦截后的内容与嵌入日志收集代码的内容进行交换,获得嵌入日志收集代码的拦截后内容;
运行模块,所述运行模块用于通过运行嵌入日志收集代码的拦截后内容获取日志数据。
进一步的,所述装置还包括:
判断及存储模块,所述判断及存储模块用于判断用户当前操作行为是否异常;在用户当前操作行为异常的情况下,对操作行为异常时的日志数据进行存储;否则,根据所述日志存储策略确定是否对所述日志数据进行存储。
可选的,所述判断及存储模块利用内置于所述应用程序中的机器学习模型判断所述用户当前操作行为是否异常。
可选的,所述需要拦截的内容为需要进行方法拦截的函数;所述嵌入日志收集代码的内容为嵌入日志收集代码的函数;所述运行嵌入日志收集代码的拦截后内容为运行嵌入日志收集代码的拦截后的函数。
可选的,所述日志数据包括:设备基本信息、启动时间、页面加载时间和跳转路径、网络加载耗时中至少一个。
可选的,所述判断及存储模块采用内存映射的方式对所述日志数据进行存储。
本发明的再一方面,还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被控制器执行时能够使得所述控制器执行前述的应用程序获取日志数据的方法。
本发明的技术方案具有如下优点:
可以在不侵入原有业务逻辑代码的基础上进行日志数据信息的采集,保证了原有逻辑代码的完整性。同时,在增加新的业务逻辑后,不需要增加新的日志数据收集代码,将日志数据收集工作统一到一个范围内进行,避免收集代码穿插在业务逻辑代码中所造成的不良使用体验。并且增加了数据策略限制,不依赖应用程序发版,可以改变现有日志收集策略,减少存储的日志的数量,减少存储成本。
附图说明
附图是用来提供对本发明实施方式的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施方式,但并不构成对本发明实施方式的限制。在附图中:
图1是本发明一种实施方式提供的应用程序获取日志数据的方法的步骤流程图;
图2是本发明提供的方法中当日志存储策略改变以及应用程序操作异常时应用程序获取日志数据的流程图;
图3是传统的数据存储逻辑图;
图4是MMAP内存映射逻辑图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
技术词语解释:
MMAP:Memory Mapping,内存映射。
收集应用程序端上的日志数据传统方案如下:
(1)在系统需要记录日志数据的位置,手动写入统计代码,主动将日志数据进行保存。
(2)日志获取逻辑代码与业务逻辑代码维持串行关系,为避免高I/O操作,将日志数据写入缓存,达到一定量级再一次性写入磁盘中。
(3)日志收集模式一旦设定好,后续要修改只能通过发版来实现。
现有技术中采用在需要统计日志数据的地方主动写收集逻辑代码,然后采用缓存进行数据存储的方案存在以下缺点:
侵入业务逻辑代码,代码开发中可能会导致错误发生,导致作者辛苦创作的内容丢失,影响用户创作,而且以后代码移植的时候还要移除掉这部分日志收集代码,造成工作上的时间消耗。
在系统增加新的业务逻辑的时候,需要再同时增加新的统计代码才能获取到相应的日志数据,鉴于自媒体作者操作应用程序的次数较多,传统的埋点方式无法捕获到所有想要的日志数据。
频繁I/O操作导致CPU占用量升高,容易导致卡顿。假设在缓存未写入磁盘过程中发生程序异常退出,则这部分数据会丢失。
日志收集模式固定,不能灵活修改,对于一些用户异常操作模式下的日志数据可能没有收集到。
日志数据收集代码侵入业务逻辑代码,当日志数据收集代码出现问题时,因是串行运行方式,则会影响业务逻辑代码的正常运行。
本发明提供的方案至少能够解决上述问题。
图1是本发明提供的应用程序获取日志数据的方法的步骤流程图。如图1所示,本发明提供的应用程序获取日志数据的方法包括:
S1)从服务器端获取最新日志存储策略;该步骤可以实时更新客户端的日志存储策略。
日志存储策略,即指本地应用程序存储日志数据采取的策略。例如:当没有日志存储策略时,本地应用程序存储所有的日志数据;当采用了从服务端获取的日志存储策略后,本地应用程序会根据日志存储策略有选择性的存储本地的日志数据。并且,如图2中的步骤S22)所示,当服务器端的日志存储策略发生变化时,本地应用程序拉取该最新日志存储策略至本地。该最新日志存储策略对本地策略进行更新。该服务器端的日志存储策略可能随时更新,所以,应用程序也应该随时查询服务器端的日志存储策略,以便于及时拉取该更新后的日志存储策略。
S2)根据所述日志存储策略确定需要拦截的内容。
该步骤由于是采用的实时更新的日志存储策略,所以需要拦截的内容也是实时更新的,这样,可以减少存储的日志的数量,减少存储成本。在此处,拦截即指匹配。例如:日志存储策略定义了需要拦截的内容,当所述需要拦截的内容出现在本地应用程序的操作中,则二者匹配成功,所述出现在本地应用程序的日志数据即成为需要拦截的内容。
S3)在所述需要拦截的内容中添加拦截协议。
该步骤通过拦截协议定义拦截阀值等内容。
S4)根据所述拦截协议拦截所述需要拦截的内容,将拦截后的内容与嵌入日志收集代码的内容进行交换,获得嵌入日志收集代码的拦截后内容。
该步骤可以实现自动添加日志收集代码,而不需要人工的在每个需要收集日志代码的地方添加代码。节省了人工成本,提高了效率,实现了日志数据收集自动化。
S5)通过运行嵌入日志收集代码的拦截后内容获取日志数据。
该步骤是与所述需要拦截的内容并行运行的。由于是并行运行的,所以,所述需要拦截的内容正常运行,不会影响该业务逻辑的正常执行。该步骤实现了无侵入的日志收集。
进一步的,所述方法还包括:
S6)判断用户当前操作行为是否异常;在用户当前操作行为异常的情况下,对操作行为异常时的日志数据进行存储;否则,根据所述日志存储策略确定是否对所述日志数据进行存储。
此步骤中,当用户操作行为有异常,例如,在缓存未写入磁盘过程中发生程序异常退出,导致了操作异常,则应用程序直接将该缓存中的日志数据进行存储;如果没有出现操作异常,则是根据所述日志存储策略判断是否对所述日志数据进行存储。
优选的,步骤S6)中,利用内置于所述应用程序中的机器学习模型判断所述用户当前操作行为是否异常。
通过导入机器学习模块,对用户行为模块进行判断,防止异常行为日志数据的丢失。间接提升自媒体作者创作热情,实现更多优质内容的产出。在应用程序内部导入提前训练好的机器学习模块,该模块可以对用户行为模式以及对应日志数据进行分析,输出结果为需要存储或者中立,对于结果为需要存储的数据,不管采集策略是怎样的,都需要对该条日志数据进行存储。导入模型是因为,有一些操作日志数据是没有被策略数据包含在内的,对于一些特殊场景,日志信息看似正常,不过用户可能并没有感受到好的体验,所以需要模型对用户操作的行为信息比如点击位置、按压强度、点击频率,操作间隔等信息进行汇总分析,判断出用户当前的操作是正常还是异常。
优选的,步骤S4)中,所述需要拦截的内容为需要进行方法拦截的函数;所述嵌入日志收集代码的内容为嵌入日志收集代码的函数;步骤S5)中,运行嵌入日志收集代码的拦截后内容为运行嵌入日志收集代码的拦截后的函数。
运行所述增加日志收集代码的函数,在所述应用程序所在系统在运行时做的各种需要被记录的操作就会被自动的记录收集下来,从而实现了日志记录。
优选的,步骤S5)中,所述日志数据包括:设备基本信息、启动时间、页面加载时间和跳转路径、网络加载耗时中至少一个。
优选地,步骤S6)中,对所述操作异常时的日志数据进行存储,包括:采用内存映射的方式对所述日志数据进行存储。
图2是本发明提供的方法中当日志存储策略改变以及应用程序操作异常时应用程序获取日志数据的流程图,包括步骤S21)-S25)。
所述记录的方式为基于内存映射(MMAP)方式进行存储。数据存储采用MMAP方式,实现内存映射文件方法进行数据存储。通过这种方式,不仅降低了代码开发工作量,也为日志数据收集提供了便利。
具体来说,如图3所示,传统的数据存储逻辑,写操作时待写入的buffer在内核空间不能直接访问,必须要先拷贝到内核空间对应的主存,再写回到磁盘中,需要两次拷贝操作,浪费系统资源,而且在应用程序异常退出时,缓存的数据由于没有写入磁盘而造成丢失。
如图4所示,MMAP内存映射则不同。MMAP会返回一个指针指向进程逻辑地址空间中,只需要操作指针就可以操作文件。具体实现操作是给每一种类型的日志数据信息分别进行映射(网络、页面渲染、启动时间等),由于应用程序用户操作频繁,所以分别映射好处是不同类型的内存隐射区块可以同时进行读写操作。对于同一区块内容,如果要多个同类信息需要写入时,会再创建一个新的内存映射区块,写完后,待系统空闲时再将两个同类映射区块合并。内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而且在对该文件进行操作之前必须首先对文件进行映射。使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。将要映射的文件先映射到逻辑内存,然后将逻辑内存的逻辑地址转换成物理地址,则程序在访问文件就像访问内存一样。
另一方面,本发明还提供一种应用程序获取日志数据的装置,包括:
提取模块,所述提取模块用于从服务器端提取最新日志存储策略;
定义模块,所述定义模块用于根据所述日志存储策略确定需要拦截的内容;
添加拦截协议模块,所述添加拦截协议模块用于在所述需要拦截的内容中添加拦截协议;
拦截器模块,所述拦截器模块用于根据所述拦截协议拦截所述需要拦截的内容;
交换模块,所述交换模块用于将拦截后的内容与嵌入日志收集代码的内容进行交换,获得嵌入日志收集代码的拦截后内容;
运行模块,所述运行模块用于通过运行嵌入日志收集代码的拦截后内容获取日志数据。
所述根据用户当前操作行为确定是否对所述日志数据进行存储,包括:
在用户当前操作行为异常的情况下,对操作行为异常时的日志数据进行存储;否则,根据所述日志存储策略确定是否对所述日志数据进行存储。
所述装置还包括:机器学习模块,所述机器学习模块用于判断所述用户当前操作行为是否异常。
所述需要拦截的内容为需要进行方法拦截的函数;所述嵌入日志收集代码的内容为嵌入日志收集代码的函数;所述运行嵌入日志收集代码的拦截后内容为运行嵌入日志收集代码的拦截后的函数。
所述获取所述拦截后内容中的日志数据,包括:将所述应用程序运行时做的需要被记录的操作作为所述日志数据进行自动记录。
所述需要被记录的操作包括:设备基本信息、启动时间、页面加载时间和跳转路径、网络加载耗时中至少一个。
所述记录的方式为基于MMAP方式进行存储。
再一方面,本发明还提供了一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被控制器执行时能够使得所述控制器执行前述的应用程序获取日志数据的方法。
本发明的方案在所述应用程序所在系统中利用运行时机制,通过将需要进行方法拦截的函数与增加日志数据收集代码的函数进行交换,实现拦截所述需要进行方法拦截的函数及其调用的作用;当所述需要进行方法拦截的函数被执行的时候,其对应的具体实现已经变成了之前指定的进行交换后的增加日志数据收集代码的函数的实现逻辑,这样就实现了运行时的交换。该方式即为无侵入的方式;并且,所述需要进行方法拦截的函数的运行不受影响,与所述增加日志收集代码的函数同时运行,实现了并行运行。
通过本发明的技术方案,能够实现无侵入的日志数据记录方式,不需要手动注入,日志数据收集系统会自动对感兴趣的数据进行收集存储,同时又能避免由于日志数据收集逻辑出错导致的主业务逻辑无法执行的弊端,同时优化数据存储,提升数据存储效率,而且可以实时更新日志数据收集策略,实现个性化的日志数据收集模式。
本发明的创新点至少在于可以在不侵入原有业务逻辑代码的基础上进行日志信息的采集,保证了原有逻辑代码的完整性。同时,在增加新的业务逻辑后,不需要增加新的日志收集代码,将日志收集工作统一到一个范围内进行,避免收集代码穿插在业务逻辑代码中所造成的不良使用体验。增加了数据策略限制,并且不依赖应用程序发版,可以改变现有日志收集策略。同时增加了机器学习模块对异常日志信息的监控,避免重要日志数据信息的丢失。
本发明的上述存储方案在日志数据存储上进行了优化,没有采用传统缓存方式进行文件读写操作,而是利用内存映射方法直接操作文件,大幅度降低对文件的读写操作,降低CPU使用率减少卡顿发生,而且在程序意外退出时,不会丢失日志数据,采用分块内存映射方式,写入数据效率大幅度提高,可以对不同区块同时进行写入操作,进一步提高读写效率。
以上结合附图详细描述了本发明的可选实施方式,但是,本发明实施方式并不限于上述实施方式中的具体细节,在本发明实施方式的技术构思范围内,可以对本发明实施方式的技术方案进行多种简单变型,这些简单变型均属于本发明实施方式的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施方式对各种可能的组合方式不再另行说明。
本领域技术人员可以理解实现上述实施方式的方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施方式的思想,其同样应当视为本发明实施方式所公开的内容。

Claims (9)

1.一种应用程序获取日志数据的方法,其特征在于,该方法包括:
S1)从服务器端获取最新日志存储策略;
S2)根据所述日志存储策略确定需要拦截的内容;
S3)在所述需要拦截的内容中添加拦截协议;
S4)根据所述拦截协议拦截所述需要拦截的内容,将拦截后的内容与嵌入日志收集代码的内容进行交换,获得嵌入日志收集代码的拦截后内容;
S5)通过运行嵌入日志收集代码的拦截后内容获取日志数据;
所述方法还包括:
S6)判断用户当前操作行为是否异常;在用户当前操作行为异常的情况下,对操作行为异常时的日志数据进行存储;否则,根据所述日志存储策略确定是否对所述日志数据进行存储;
步骤S6)中,对所述日志数据进行存储,包括:采用内存映射的方式对所述日志数据进行存储。
2.根据权利要求1所述的方法,其特征在于,步骤S6)中,利用内置于所述应用程序中的机器学习模型判断所述用户当前操作行为是否异常。
3.根据权利要求1所述的方法,其特征在于,所述步骤S4)中:
所述需要拦截的内容为需要进行方法拦截的函数;
所述嵌入日志收集代码的内容为嵌入日志收集代码的函数;
所述步骤S5)中,运行嵌入日志收集代码的拦截后内容为运行嵌入日志收集代码的拦截后的函数。
4.根据权利要求1所述的方法,其特征在于,步骤S5)中,所述日志数据包括:设备基本信息、启动时间、页面加载时间和跳转路径、网络加载耗时中至少一个。
5.一种应用程序获取日志数据的装置,其特征在于,该装置包括:
提取模块,所述提取模块用于从服务器端提取最新日志存储策略;
定义模块,所述定义模块用于根据所述日志存储策略确定需要拦截的内容;
添加拦截协议模块,所述添加拦截协议模块用于在所述需要拦截的内容中添加拦截协议;
拦截器模块,所述拦截器模块用于根据所述拦截协议拦截所述需要拦截的内容;
交换模块,所述交换模块用于将拦截后的内容与嵌入日志收集代码的内容进行交换,获得嵌入日志收集代码的拦截后内容;
运行模块,所述运行模块用于通过运行嵌入日志收集代码的拦截后内容获取日志数据;
所述装置还包括:
判断及存储模块,所述判断及存储模块用于判断用户当前操作行为是否异常;在用户当前操作行为异常的情况下,对操作行为异常时的日志数据进行存储;否则,根据所述日志存储策略确定是否对所述日志数据进行存储;
所述判断及存储模块采用内存映射的方式对所述日志数据进行存储。
6.根据权利要求5所述的装置,其特征在于,所述判断及存储模块利用内置于所述应用程序中的机器学习模型判断所述用户当前操作行为是否异常。
7.根据权利要求5所述的装置,其特征在于,所述需要拦截的内容为需要进行方法拦截的函数;所述嵌入日志收集代码的内容为嵌入日志收集代码的函数;所述运行嵌入日志收集代码的拦截后内容为运行嵌入日志收集代码的拦截后的函数。
8.根据权利要求5所述的装置,其特征在于,所述日志数据包括:设备基本信息、启动时间、页面加载时间和跳转路径、网络加载耗时中的至少一个。
9.一种机器可读存储介质,其特征在于,该机器可读存储介质上存储有指令,该指令在被控制器执行时能够使得所述控制器执行权利要求1至4中任意一项所述的方法。
CN201910285000.3A 2019-04-10 2019-04-10 应用程序获取日志数据的方法及装置 Active CN110134615B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910285000.3A CN110134615B (zh) 2019-04-10 2019-04-10 应用程序获取日志数据的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910285000.3A CN110134615B (zh) 2019-04-10 2019-04-10 应用程序获取日志数据的方法及装置

Publications (2)

Publication Number Publication Date
CN110134615A CN110134615A (zh) 2019-08-16
CN110134615B true CN110134615B (zh) 2022-03-01

Family

ID=67569786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910285000.3A Active CN110134615B (zh) 2019-04-10 2019-04-10 应用程序获取日志数据的方法及装置

Country Status (1)

Country Link
CN (1) CN110134615B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825465B (zh) * 2019-11-06 2024-05-07 北京达佳互联信息技术有限公司 日志数据处理方法、装置、电子设备及存储介质
CN111258864A (zh) * 2019-12-03 2020-06-09 佛山欧神诺云商科技有限公司 一种程序访问的日志记录方法、装置及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102168212B1 (ko) * 2014-04-15 2020-10-21 엘에스일렉트릭(주) 어플리케이션 로그 데이터의 처리 장치 및 그 방법
CN105978871A (zh) * 2016-05-09 2016-09-28 北京航天数控系统有限公司 一种针对数控系统的通信防护设备
CN106055608B (zh) * 2016-05-25 2019-06-07 北京百度网讯科技有限公司 自动采集和分析交换机日志的方法和装置
CN106055452B (zh) * 2016-05-25 2019-06-14 北京百度网讯科技有限公司 创建交换机日志模板的方法和装置
CN106055609B (zh) * 2016-05-25 2019-08-06 北京小米移动软件有限公司 nginx日志监控方法、装置、消息分布系统及信息处理的装置
CN107608706B (zh) * 2017-09-26 2020-05-01 南京哈卢信息科技有限公司 一种基于功能模块的应用程序自动热更新方法
CN108092978A (zh) * 2017-12-19 2018-05-29 贵州数据宝网络科技有限公司 一种数据安全交换系统及方法
CN108427705B (zh) * 2018-01-17 2022-04-12 平安科技(深圳)有限公司 电子装置、分布式系统日志查询方法及存储介质
CN108563629B (zh) * 2018-03-13 2022-04-19 北京仁和诚信科技有限公司 一种日志解析规则自动生成方法和装置
CN108804497A (zh) * 2018-04-02 2018-11-13 北京国电通网络技术有限公司 一种基于日志的大数据分析方法
CN109359098B (zh) * 2018-10-31 2023-04-11 云南电网有限责任公司 一种调度数据网行为监测系统及方法

Also Published As

Publication number Publication date
CN110134615A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110046133B (zh) 一种存储文件系统的元数据管理方法、装置及系统
US10558569B2 (en) Cache controller for non-volatile memory
CN104123238A (zh) 数据存储方法及装置
CN109710185A (zh) 数据处理方法及装置
CN108647151A (zh) 一种全闪系统元数据落盘方法、装置、设备及存储介质
US10713162B1 (en) System and method for computer data garbage collection acceleration using peer to peer data transfers
CN110134615B (zh) 应用程序获取日志数据的方法及装置
US8838615B2 (en) Computer implemented method for automatically managing stored checkpoint data
CN106817388A (zh) 虚拟机、宿主机获取数据的方法、装置及访问数据的系统
CN106021566A (zh) 一种提高单台数据库并发处理能力的方法、装置及系统
CN110008197A (zh) 一种数据处理方法、系统及电子设备和存储介质
CN111459764B (zh) 一种日志管理方法及终端
CN111831691B (zh) 一种数据读写方法及装置、电子设备、存储介质
CN111803917A (zh) 资源的处理方法和装置
CN109460345A (zh) 实时数据的计算方法及系统
CN110222046B (zh) 列表数据的处理方法、装置、服务器和存储介质
CN108733584B (zh) 用于优化数据缓存的方法和设备
CN107430546A (zh) 一种文件更新方法及存储设备
CN112463880A (zh) 一种区块链数据存储方法及相关装置
CN111694806A (zh) 一种事务日志的缓存方法、装置、设备和存储介质
CN115712397A (zh) 缓存验证装置、方法及系统
CN111435327A (zh) 一种日志记录的处理方法、装置及系统
CN116185706A (zh) 数据备份方法、装置、计算及存储介质及电子设备
EP4187363A1 (en) Storage controller, storage control method, solid state disk and storage system
CN113190332B (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
GR01 Patent grant
GR01 Patent grant