CN111367867A - 日志信息处理方法、装置、电子设备及存储介质 - Google Patents

日志信息处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111367867A
CN111367867A CN202010148717.6A CN202010148717A CN111367867A CN 111367867 A CN111367867 A CN 111367867A CN 202010148717 A CN202010148717 A CN 202010148717A CN 111367867 A CN111367867 A CN 111367867A
Authority
CN
China
Prior art keywords
log information
request
matched
output
request mark
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.)
Granted
Application number
CN202010148717.6A
Other languages
English (en)
Other versions
CN111367867B (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.)
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Cloud Computing 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 Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Cloud Computing Beijing Co Ltd
Priority to CN202010148717.6A priority Critical patent/CN111367867B/zh
Publication of CN111367867A publication Critical patent/CN111367867A/zh
Application granted granted Critical
Publication of CN111367867B publication Critical patent/CN111367867B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种日志信息处理方法,包括:根据日志信息的使用环境,确定相应的日志信息的存储容器的结构;基于日志信息的存储容器的结构,存储所述使用环境中所产生的日志信息;获取对应的第一请求标志集合,根据所述第一请求标志,在所述使用环境中所产生的日志信息中获取与所述第一请求标志相匹配的日志信息确定与所述日志信息的输出进程相匹配的日志信息输出方式;根据与所述日志信息的输出进程相匹配的日志信息输出方式输出日志信息。本发明还提供了日志信息处理装置、电子设备及存储介质。本发明能够实现日志信息的输出更加灵活,使得所输出的日志信息之间的关联性更强,对于并发处理请求数量多的使用环境中日志信息处理的效率更高。

Description

日志信息处理方法、装置、电子设备及存储介质
技术领域
本发明涉及日志信息处理技术,尤其涉及日志信息处理方法、装置、电子设备及存储介质。
背景技术
在程序运行的过程中,为了便于出现问题时,能够排查问题,复盘现场,经常在程序运行的过程中进行日志信息输出,而大量的日志信息输出往往会带来负面的问题,例如影响程序运行效率,带来***和硬件资源的消耗等,所以一般场景下对于日志信息的输出,会按不同重要性,进行不同级别的日志信息输出。
相关技术中,日志信息输出的方式较为单一,仅可以按照时间顺序输出,具体表现为:设置输出日志信息级别,例如:debug,info,warnning,error,fatal等不同的日志信息级别参数,设置日志信息输出级别后,输出的日志信息内容是不会动态变化的;然后根据配置按时间顺序输出日志信息发生的时间,所属类名,方法名,代码行号,日志信息级别,日志信息详细信息等,但是在面对请求处理比较多,即并发处理请求数量多的情况下,日志信息按时间输出会出现对同一个请求的处理日志信息不是连续的情况,而是很多的请求处理日志信息按时间顺序输出了日志信息,使得所输出的日志信息之间缺乏关联性,因此,这种缺乏灵活性的日志信息处理方式,不利于并发处理请求数量多的使用环境中对日志信息的高效处理。
发明内容
有鉴于此,本发明实施例提供一种日志信息处理方法、装置、电子设备及存储介质,能够实现日志信息的输出更加灵活,日志信息可以按请求分组输出日志信息,当异常发生或需要检索日志信息时,可以及时高效地输出所需要的日志信息,同时因为日志信息输出不是按固定的日志信息级别输出,还可以快速定位问题的位置,提高了故障修复效率或问题定位效率,有效提升用户的使用体验。
本发明实施例的技术方案是这样实现的:
本发明实施例具有以下有益效果:
本发明实施例提供了一种日志信息处理方法,所述方法包括:
根据日志信息的使用环境,确定相应的日志信息的存储容器的结构;
基于所述日志信息的存储容器的结构,存储所述使用环境中所产生的日志信息;
接收日志信息调用指令,并对所述日志信息调用指令进行解析,以获取对应的第一请求标志集合,其中,所述第一请求标志集合包括至少一个第一请求标志;
根据所述第一请求标志,在所述使用环境中所产生的日志信息中获取与所述第一请求标志相匹配的日志信息;
确定与所述日志信息的输出进程相匹配的日志信息输出方式;
根据与所述日志信息的输出进程相匹配的日志信息输出方式,按照请求分组方式输出与不同的第一请求标志分别匹配的日志信息。
本发明实施例还提供了一种日志信息处理装置,所述装置包括:
信息传输模块,用于根据日志信息的使用环境,确定相应的日志信息的存储容器的结构;
信息处理模块,用于基于所述日志信息的存储容器的结构,存储所述使用环境中所产生的日志信息;
所述信息处理模块,用于接收日志信息调用指令,并对所述日志信息调用指令进行解析,以获取对应的第一请求标志集合,其中,所述第一请求标志集合包括至少一个第一请求标志;
所述信息处理模块,用于根据所述第一请求标志,在所述使用环境中所产生的日志信息中获取与所述第一请求标志相匹配的日志信息;
所述信息处理模块,用于确定与所述日志信息的输出进程相匹配的日志信息输出方式;
所述信息处理模块,用于根据与所述日志信息的输出进程相匹配的日志信息输出方式,按照请求分组方式输出与不同的第一请求标志分别匹配的日志信息。
上述方案中,
所述信息传输模块,用于根据日志信息的使用环境,确定所述日志信息的存储容器的结构依次包括所述日志信息的日志信息级别参数、日志信息内容和时间参数。
上述方案中,
所述信息处理模块,用于根据所述使用环境中所产生的日志信息,确定所述日志信息所对应的日志信息级别参数、日志信息内容和时间参数;
所述信息处理模块,用于确定与所述日志信息相对应的第二请求标志,其中,所述第二请求标志用于表征与所述日志信息相对应的对数数组;
所述信息处理模块,用于基于每一个所述日志信息的存储容器所对应的第二请求标志,对不同日志信息的存储容器中进行分组;
所述信息处理模块,用于根据所述时间参数,对相同的第二请求标志所包括的不同日志信息进行排序。
上述方案中,
所述信息处理模块,用于对所述使用环境中所产生的日志信息进行遍历,
所述信息处理模块,用于当所述第一请求标志与所述第二请求标志相匹配时,从所述日志信息的存储容器中抽取与所述第一请求标志相匹配的日志信息;
所述信息处理模块,用于将所抽取的与所述第一请求标志相匹配的日志信息保存在相应的缓存中。
上述方案中,
所述信息处理模块,用于当所述与所述日志信息的输出进程相匹配的日志信息输出方式为按照时间顺序输出时,
从所述缓存中获取相应的日志信息,并根据所述时间顺序对从所述缓存中获取相应的日志信息进行调整,形成并输出与所述时间顺序对应的日志信息;
所述信息处理模块,用于从所述缓存中获取相应的日志信息,根据所述日志信息对应的日志信息级别参数和所述时间顺序对从所述缓存中获取相应的日志信息进行调整,形成并输出与所述时间顺序对应日志信息。
上述方案中,
所述信息处理模块,用于当所述与所述日志信息的输出进程相匹配的日志信息输出方式为按照请求分组输出时,
基于不同的第一请求标志,分别从所述缓存中获取相应的日志信息,并根据所述日志信息对应的日志信息级别参数对从所述缓存中获取相应的日志信息进行调整,形成并输出与不同的第一请求标志分别匹配的日志信息。
上述方案中,
所述信息处理模块,用于将所述日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息发送至区块链网络,以使
所述区块链网络的节点将日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息填充至新区块,且当对所述新区块共识一致时,将所述新区块追加至区块链的尾部。
本发明实施例还提供了一种电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于运行所述存储器存储的可执行指令时,实现前序的日志信息处理方法。
本发明实施例还提供了一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时实现前序的日志信息处理方法。
通过根据日志信息的使用环境,确定相应的日志信息的存储容器的结构;基于所述日志信息的存储容器的结构,存储所述使用环境中所产生的日志信息;接收日志信息调用指令,并对所述日志信息调用指令进行解析,以获取对应的第一请求标志集合,其中,所述第一请求标志集合包括至少一个第一请求标志;根据所述第一请求标志,在所述使用环境中所产生的日志信息中获取与所述第一请求标志相匹配的日志信息;确定与所述日志信息的输出进程相匹配的日志信息输出方式;根据与所述日志信息的输出进程相匹配的日志信息输出方式,按照请求分组方式输出与不同的第一请求标志分别匹配的日志信息,由此,日志信息的输出更加灵活,使得所输出的日志信息之间的关联性更强,对于并发处理请求数量多的使用环境中日志信息处理的效率更高。
附图说明
图1是本发明实施例提供的日志信息处理方法的使用环境示意图;
图2为本发明实施例提供的日志信息处理装置的组成结构示意图;
图3为本发明实施例提供的日志信息处理方法一个可选的流程示意图;
图4为本发明实施例提供的日志信息处理方法一个可选的流程示意图;
图5是本发明实施例提供的日志信息处理装置100的架构示意图;
图6是本发明实施例提供的区块链网络200中区块链的结构示意图;
图7是本发明实施例提供的区块链网络200的功能架构示意图;
图8为本发明实施例的日志信息处理方法的使用环境示意图;
图9为本发明实施例提供的日志信息处理方法一个可选的流程示意图;
图10为本发明实施例提供的日志信息处理方法一个可选的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)交易(Transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本发明实施例遵循了这一习惯。
例如,部署(Deploy)交易用于向区块链网络中的节点安装指定的智能合约并准备好被调用;调用(Invoke)交易用于通过调用智能合约在区块链中追加交易的记录,并对区块链的状态数据库进行操作,包括更新操作(包括增加、删除和修改状态数据库中的键值对)和查询操作(即查询状态数据库中的键值对)。
2)区块链(Blockchain),是由区块(Block)形成的加密的、链式的交易的存储结构。
例如,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,从而基于哈希值实现区块中交易的防篡改和防伪造;新产生的交易被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长。
3)区块链网络(Blockchain Network),通过共识的方式将新区块纳入区块链的一系列的节点的集合。
4)账本(Ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。
其中,区块链是以文件***中的文件的形式来记录交易;状态数据库是以不同类型的键(Key)值(Value)对的形式来记录区块链中的交易,用于支持对区块链中交易的快速查询。
5)智能合约(Smart Contracts),也称为链码(Chaincode)或应用代码,部署在区块链网络的节点中的程序,节点执行接收的交易中所调用的智能合约,来对账本数据库的键值对数据进行更新或查询的操作。
6)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(PoW,Proof of Work)、权益证明(PoS,Proof of Stake)、股份授权证明(DPoS,Delegated Proof-of-Stake)、消逝时间量证明(PoET,Proof of Elapsed Time)等。
7)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
8)终端,包括但不限于:普通终端、专用终端,其中所述普通终端与发送通道保持长连接和/或短连接,所述专用终端与所述发送通道保持长连接。
9)客户端,终端中实现特定功能的载体,例如移动客户端(APP)是移动终端中特定功能的载体,例如各种用户所需要的功能。
10)log4j:java语言里使用广泛的一种日志信息输出解决方案。
11)HashSet:一种存贮数据结构,HashSet里的对象不会重复。
12)List:一种集合(数组)的抽象类。
图1为本发明实施例提供的日志信息处理方法的使用场景示意图,参见图1,终端(包括终端10-1和终端10-2)上设置有能够执行不同功能的软件的客户端,例如视频播放的客户端或插件,用户通过相应的客户端可以获得目标视频并进行展示,并在视频的播放过程中触发相应的日志信息处理进程对使用环境中***所产生的日志信息进行记录;终端通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
作为一个示例,服务器200用于布设所述日志信息处理装置以实现本发明所提供的日志信息处理方法,以通过根据日志信息的使用环境,确定相应的日志信息的存储容器的结构;基于所述日志信息的存储容器的结构,存储所述使用环境中所产生的日志信息;接收日志信息调用指令,并对所述日志信息调用指令进行解析,以获取对应的第一请求标志集合,其中,所述第一请求标志集合包括至少一个第一请求标志;根据所述第一请求标志,在所述使用环境中所产生的日志信息中获取与所述第一请求标志相匹配的日志信息;确定与所述日志信息的输出进程相匹配的日志信息输出方式;根据与所述日志信息的输出进程相匹配的日志信息输出方式,按照请求分组方式输出与不同的第一请求标志分别匹配的日志信息。
以前序的视频播放功能的客户端为例,在客户端运行的过程中,可以通过查看日志信息的方式,定位客户端运行过程中存在的缺陷等等。例如,对于具有视频播放是否成功,某次用户的视频选择是否播放成功,等等。为了达到上述目的,开发者可以从已有的多种日志信息实现类库中选择其中任意一个或多种,然后将自己开发的应用依赖于该日志信息实现类库,这样,便可以实现对应用主业务逻辑处理过程中的日志信息输出。或者,由于开发者对自己开发的应用内部的具体业务处理逻辑都比较清楚,因此,为了实现更灵活的日志信息输出,开发者也可以利用一些日志信息接口类库,及其对应的使用文档等,自行通过写代码的方式实现具体的日志信息打印逻辑,等等不同类型的操作。总之,开发者在开发一款应用时,会为该应用实现具体的日志信息输出功能,期间可能会用到已有的标准化的日志信息实现类库,或者,也可能会是使用日志信息接口类库,通过编码的方式实现更加适合具体应用的日志信息输出逻辑。
当然在通过日志信息处理装置确定日志信息处理结果,以实现与日志信息调用指令相匹配的输出方式输出相应的日志信息具体包括:
根据日志信息的使用环境,确定相应的日志信息的存储容器的结构;基于所述日志信息的存储容器的结构,存储所述使用环境中所产生的日志信息;接收日志信息调用指令,并对所述日志信息调用指令进行解析,以获取对应的第一请求标志集合,其中,所述第一请求标志集合包括至少一个第一请求标志;根据所述第一请求标志,在所述使用环境中所产生的日志信息中获取与所述第一请求标志相匹配的日志信息;确定与所述日志信息的输出进程相匹配的日志信息输出方式;根据与所述日志信息的输出进程相匹配的日志信息输出方式,按照请求分组方式输出与不同的第一请求标志分别匹配的日志信息。
下面对本发明实施例的日志信息处理装置的结构做详细说明,日志信息处理装置可以各种形式来实施,如带有日志信息处理装置处理功能的专用终端,也可以为设置有日志信息处理装置处理功能的服务器,例如前序图1中的服务器200。图2为本发明实施例提供的日志信息处理装置的组成结构示意图,可以理解,图2仅仅示出了日志信息处理装置的示例性结构而非全部结构,根据需要可以实施图2示出的部分结构或全部结构。
本发明实施例提供的日志信息处理装置包括:至少一个处理器201、存储器202、用户接口203和至少一个网络接口204。日志信息处理装置中的各个组件通过总线***205耦合在一起。可以理解,总线***205用于实现这些组件之间的连接通信。总线***205除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线***205。
其中,用户接口203可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
可以理解,存储器202可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。本发明实施例中的存储器202能够存储数据以支持终端(如10-1)的操作。这些数据的示例包括:用于在终端(如10-1)上操作的任何计算机程序,如操作***和应用程序。其中,操作***包含各种***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。
在一些实施例中,本发明实施例提供的日志信息处理装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的日志信息处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的日志信息处理方法。例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Progra mmable Gate Array)或其他电子元件。
作为本发明实施例提供的日志信息处理装置采用软硬件结合实施的示例,本发明实施例所提供的日志信息处理装置可以直接体现为由处理器201执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器202,处理器201读取存储器202中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器201以及连接到总线205的其他组件)完成本发明实施例提供的日志信息处理方法。
作为示例,处理器201可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
作为本发明实施例提供的日志信息处理装置采用硬件实施的示例,本发明实施例所提供的装置可以直接采用硬件译码处理器形式的处理器201来执行完成,例如,被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件执行实现本发明实施例提供的日志信息处理方法。
本发明实施例中的存储器202用于存储各种类型的数据以支持日志信息处理装置的操作。这些数据的示例包括:用于在日志信息处理装置上操作的任何可执行指令,如可执行指令,实现本发明实施例的从日志信息处理方法的程序可以包含在可执行指令中。
在另一些实施例中,本发明实施例提供的日志信息处理装置可以采用软件方式实现,图2示出了存储在存储器202中的日志信息处理装置,其可以是程序和插件等形式的软件,并包括一系列的模块,作为存储器202中存储的程序的示例,可以包括日志信息处理装置,日志信息处理装置中包括以下的软件模块信息传输模块2081和信息处理模块2082。当日志信息处理装置中的软件模块被处理器201读取到RAM中并执行时,将实现本发明实施例提供的日志信息处理方法,其中,日志信息处理装置中各个软件模块的功能,包括:
信息传输模块2081,用于根据日志信息的使用环境,确定相应的日志信息的存储容器的结构;
信息处理模块2082,用于基于所述日志信息的存储容器的结构,存储所述使用环境中所产生的日志信息;
所述信息处理模块2082,用于接收日志信息调用指令,并对所述日志信息调用指令进行解析,以获取对应的第一请求标志集合,其中,所述第一请求标志集合包括至少一个第一请求标志;
所述信息处理模块2082,用于根据所述第一请求标志,在所述使用环境中所产生的日志信息中获取与所述第一请求标志相匹配的日志信息;
所述信息处理模块2082,用于确定与所述日志信息的输出进程相匹配的日志信息输出方式;
所述信息处理模块2082,用于根据与所述日志信息的输出进程相匹配的日志信息输出方式,按照请求分组方式输出与不同的第一请求标志分别匹配的日志信息。
结合图2示出的日志信息处理装置说明本发明实施例提供的日志信息处理方法,参见图3,图3为本发明实施例提供的日志信息处理方法一个可选的流程示意图,可以理解地,图3所示的步骤可以由运行日志信息处理装置的各种电子设备执行,例如可以是如带有日志信息处理装置的服务器或者服务器集群,其中,带有日志信息处理装置的专用终端可以封装于图1所示的服务器中,以执行前序图2所示的日志信息处理装置中的相应软件模块。下面针对图3示出的步骤进行说明。
步骤301:日志信息处理装置根据日志信息的使用环境,确定相应的日志信息的存储容器的结构。
其中,日志信息是用于记录***操作事件的记录文件或文件集合,对于处理历史数据、诊断问题的追踪以及理解***的活动等重要作用。
在本发明的一些实施例中,根据日志信息的使用环境,确定相应的日志信息的存储容器的结构,可以通过以下方式实现:
根据相应的日志信息的使用环境,确定日志信息的存储容器的结构依次用于存储所述日志信息的日志信息级别参数、日志信息内容和时间参数。其中,日志信息内容可以实现对***中的所有日志信息进行收集与存储,其中,每条日志信息的数据结构可以表示为:Log(日志信息级别:int,时间:timestamp,内容:string),日志信息缓存的存贮的结构设计为,HashSet<健,值>,其中,HashSet<String,List<Log>>,HashSet的健为requestId请求标志,值请求标志对应的日志信息数据Log数组。
步骤302:日志信息处理装置基于所述日志信息的存储容器的结构,存储所述使用环境中所产生的日志信息。
继续结合图2示出的日志信息处理装置说明本发明实施例提供的日志信息处理方法,参见图4,图4为本发明实施例提供的日志信息处理方法一个可选的流程示意图,可以理解地,图4所示的步骤可以由运行日志信息处理装置的各种电子设备执行,例如可以是如带有日志信息处理装置的服务器或者服务器集群,其中,带有日志信息处理装置的专用终端可以封装于图1所示的服务器中,以执行前序图2所示的日志信息处理装置中的相应软件模块。下面针对图4示出的步骤进行说明。
步骤401:日志信息处理装置根据所述使用环境中所产生的日志信息,确定所述日志信息所对应的日志信息级别参数、日志信息内容和时间参数。
步骤402:确定与所述日志信息相对应的第二请求标志,其中,所述第二请求标志用于表征与所述日志信息相对应的对数数组。
步骤403:基于每一个所述日志信息的存储容器所对应的第二请求标志,对不同日志信息的存储容器中进行分组。
步骤404:根据所述时间参数,对相同的第二请求标志所包括的不同日志信息进行排序。
通过本实施例所示的技术方案,把日志信息按请求标志进行分组,然后按时间顺序进行排序,可以提高遍历输出日志信息时的效率,减少遍历时间,高效地输出相应的日志信息,提升用户的使用体验。
步骤303:日志信息处理装置获取日志信息调用指令中所包括的第一请求标志结合。
其中,客户端(不同进程)可以通过通用唯一识别码(Universally UniqueIdentifier)的方式,生成一个唯一的请求标志作为日志信息调用指令所携带的第一请求标志。
步骤304:日志信息处理装置根据所述第一请求标志,在所述使用环境中所产生的日志信息中获取与所述第一请求标志相匹配的日志信息。
进一步地,第一请求标志集合包括至少一个第一请求标志,结合前序图2所示的实施例,当客户端运行有视频播放进程和社交软件进程时,视频播放进程和社交软件进程可以分别通过通用唯一识别码(Universally Unique Identifier)的方式,生成一个与各自进程相对应的唯一的请求标志,通过所生成的不同的第一请求标志,在使用环境中所产生的日志信息中获取与不同的第一请求标志相匹配的日志信息。
在本发明的一些实施例中,根据所述请求标志,在所述使用环境中所产生的日志信息中获取与所述第一请求标志相匹配的日志信息,可以通过以下方式实现:
对所述使用环境中所产生的日志信息进行遍历,当所述第一请求标志与所述第二请求标志相匹配时,从所述日志信息的存储容器中抽取与所述第一请求标志相匹配的日志信息;将所抽取的与所述第一请求标志相匹配的日志信息保存在相应的缓存中。
步骤305:日志信息处理装置确定与所述日志信息的输出进程相匹配的日志信息输出方式。
其中,对于不同的应用进程或者不同的用户需求,日志信息的输出方式可以灵活地进行调整,例如:在记录不同进程在使用环境中所产生的日志信息时,可以按照时间顺序输出使用环境中所产生的日志信息,当某一进程出现错误时,可以按照请求分组方式输出与相应的第一请求标志匹配的日志信息,以便于通过相应的日志信息对出现错误的进程进行检测。
步骤306:日志信息处理装置根据与所述日志信息的输出进程相匹配的日志信息输出方式,按照请求分组方式输出与不同的第一请求标志分别匹配的日志信息。
在本发明的一些实施例中根据与所述日志信息的输出进程相匹配的日志信息输出方式输出相应的日志信息,还可以通过以下方式实现:
当所述与所述日志信息的输出进程相匹配的日志信息输出方式为按照时间顺序输出时,
从所述缓存中获取相应的日志信息,并根据所述时间顺序对从所述缓存中获取相应的日志信息进行调整,形成并输出与所述时间顺序对应的日志信息。其中,以Log4j(java的日志信息)为例,其中,ERROR指出虽然发生错误事件,但仍然不影响***的继续运行,WARN表明会出现潜在错误的情形,INFO表明消息在粗粒度级别上突出强调应用程序的运行过程,DEBUG指出细粒度信息事件对调试应用程序是非常有帮助的。具体来说,若当前创建的日志信息的级别为INFO,缓存中保存的日志信息级别DEBUG,则需要打印该INFO级别的日志信息,根据时间顺序对从缓存中获取相应的日志信息进行调整,能够实现所输出的日志信息符合***的时间顺序。
在本发明的一些实施例中,根据与所述日志信息的输出进程相匹配的日志信息输出方式按照时间顺序输出对应的日志信息,可以通过以下方式实现:
从所述缓存中获取相应的日志信息,根据所述日志信息对应的日志信息级别参数和所述时间顺序对从所述缓存中获取相应的日志信息进行调整,形成并输出与所述时间顺序对应的日志信息。
在本发明的一些实施例中,根据与所述日志信息对应的输出进程相匹配的输出方式,按照请求分组方式输出与不同的第一请求标志分别匹配的日志信息,可以通过以下方式实现:
当所述与所述日志信息的输出进程相匹配的日志信息输出方式为按照请求分组输出时,基于不同的第一请求标志,分别从所述缓存中获取相应的日志信息,并根据所述日志信息对应的日志信息级别参数对从所述缓存中获取相应的日志信息进行调整,形成并输出与不同的第一请求标志分别匹配的日志信息。
其中,用户可以根据不同的使用环境设置相对应的日志信息输出级别,当日志信息输出的内容当在遇到error级别,fatal级别时,自动收集debug级别,info级别,warnning级别的日志信息,由此,实现对相应日志信息的快速定位,提高故障修复效率也提升了进程问题的定位效率。
在本发明的一些实施例中,日志信息处理方法还包括:
将所述日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息发送至区块链网络,以使所述区块链网络的节点将日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息填充至新区块,且当对所述新区块共识一致时,将所述新区块追加至区块链的尾部。
在本发明的一些实施例中,日志信息处理方法还包括:
接收所述区块链网络中的其他节点的数据同步请求;
响应于所述数据同步请求,对所述其他节点的权限进行验证;
当所述其他节点的权限通过验证时,控制当前节点与所述其他节点之间进行数据同步,以实现所述其他节点获取目标用户的所述日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息。
参见图5,图5是本发明实施例提供的日志信息处理装置100的架构示意图,包括区块链网络200(示例性示出了共识节点210-1至共识节点210-3)、认证中心300、业务主体400和业务主体500,下面分别进行说明。
区块链网络200的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如用户终端和服务器,都可以在不需要授权的情况下接入区块链网络200;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如终端/服务器)可以接入区块链网络200,此时,成为区块链网络200中的客户端节点。
在一些实施例中,客户端节点可以只作为区块链网络200的观察者,即提供支持业务主体发起交易(例如,用于上链存储数据或查询链上数据)功能,对于区块链网络200的共识节点210的功能,例如排序功能、共识服务和账本功能等,客户端节点可以缺省或者有选择性(例如,取决于业务主体的具体业务需求)地实施。从而,可以将业务主体的数据和业务处理逻辑最大程度迁移到区块链网络200中,通过区块链网络200实现数据和业务处理过程的可信和可追溯。
区块链网络200中的共识节点接收来自不同业务主体(例如图1中示出的业务主体400和业务主体500)的客户端节点(例如,图1中示出的归属于业务主体400的客户端节点410、以及归属于电子设备的***500的客户端节点510)提交的交易,执行交易以更新账本或者查询账本,执行交易的各种中间结果或最终结果可以返回业务主体的客户端节点中显示。
例如,客户端节点410/510可以订阅区块链网络200中感兴趣的事件,例如区块链网络200中特定的组织/通道中发生的交易,由共识节点210推送相应的交易通知到客户端节点410/510,从而触发客户端节点410/510中相应的业务逻辑。
下面以多个业务主体接入区块链网络以实现日志信息处理结果和相应文本信息的管理为例,说明区块链网络的示例性应用。
参见图5,管理环节涉及的多个业务主体,如业务主体400可以是基于人工智能的日志信息处理装置,业务主体500可以是带有日志信息处理功能的显示***,从认证中心300进行登记注册获得各自的数字证书,数字证书中包括业务主体的公钥、以及认证中心300对业务主体的公钥和身份信息签署的数字签名,用来与业务主体针对交易的数字签名一起附加到交易中,并被发送到区块链网络,以供区块链网络从交易中取出数字证书和签名,验证消息的可靠性(即是否未经篡改)和发送消息的业务主体的身份信息,区块链网络会根据身份进行验证,例如是否具有发起交易的权限。业务主体下辖的电子设备(例如终端或者服务器)运行的客户端都可以向区块链网络200请求接入而成为客户端节点。
业务主体400的客户端节点410用于根据日志信息的使用环境,确定相应的日志信息的存储容器的结构;基于所述日志信息的存储容器的结构,存储所述使用环境中所产生的日志信息;接收日志信息调用指令,并对所述日志信息调用指令进行解析,以获取对应的第一请求标志集合,其中,所述第一请求标志集合包括至少一个第一请求标志;根据所述第一请求标志,在所述使用环境中所产生的日志信息中获取与所述第一请求标志相匹配的日志信息;根据与所述日志信息对应的输出进程相匹配的输出方式输出相应的日志信息,并将所述目标用户的所述日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息发送至区块链网络200。
其中,将将所述目标用户的所述日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息发送至区块链网络200,可以预先在客户端节点410设置业务逻辑,当形成相应的文本信息时,客户端节点410将将所述目标用户的所述日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息自动发送至区块链网络200,也可以由业务主体400的业务人员在客户端节点410中登录,手动打包将所述目标用户的所述日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息,并将其发送至区块链网络200。在发送时,客户端节点410根据将所述目标用户的所述日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息生成对应更新操作的交易,在交易中指定了实现更新操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端节点410的数字证书、签署的数字签名(例如,使用客户端节点410的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络200中的共识节点210。
区块链网络200中的共识节点210中接收到交易时,对交易携带的数字证书和数字签名进行验证,验证成功后,根据交易中携带的业务主体400的身份,确认业务主体400是否是具有交易权限,数字签名和权限验证中的任何一个验证判断都将导致交易失败。验证成功后签署节点210自己的数字签名(例如,使用节点210-1的私钥对交易的摘要进行加密得到),并继续在区块链网络200中广播。
区块链网络200中的共识节点210接收到验证成功的交易后,将交易填充到新的区块中,并进行广播。区块链网络200中的共识节点210广播的新区块时,会对新区块进行共识过程,如果共识成功,则将新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易:对于提交更新将所述目标用户的所述日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息的交易,在状态数据库中添加包括将所述目标用户的所述日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息的键值对。
业务主体500的业务人员在客户端节点510中登录,输入日志信息处理结果或者文本信息查询请求,客户端节点510根据日志信息处理结果或者文本信息查询请求生成对应更新操作/查询操作的交易,在交易中指定了实现更新操作/查询操作需要调用的智能合约、以及向智能合约传递的参数,交易还携带了客户端节点510的数字证书、签署的数字签名(例如,使用客户端节点510的数字证书中的私钥,对交易的摘要进行加密得到),并将交易广播到区块链网络200中的共识节点210。
区块链网络200中的共识节点210中接收到交易,对交易进行验证、区块填充及共识一致后,将填充的新区块追加到自身所存储的区块链的尾部,并根据交易的结果更新状态数据库,执行新区块中的交易:对于提交的更新某一将所述目标用户的所述日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息的交易,根据人工识别结果更新状态数据库中该日志信息处理结果对应的键值对;对于提交的查询某个日志信息处理结果的交易,从状态数据库中查询日志信息处理结果对应的键值对,并返回交易结果。
值得说明的是,在图5中示例性地示出了将将所述目标用户的所述日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息直接上链的过程,但在另一些实施例中,对于日志信息处理结果的数据量较大的情况,客户端节点410可将日志信息处理结果的哈希以及相应的文本信息的哈希成对上链,将原始的日志信息处理结果以及相应的文本信息存储于分布式文件***或数据库。客户端节点510从分布式文件***或数据库获取到日志信息处理结果以及相应的文本信息后,可结合区块链网络200中对应的哈希进行校验,从而减少上链操作的工作量。
作为区块链的示例,参见图6,图6是本发明实施例提供的区块链网络200中区块链的结构示意图,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,新产生的交易的记录被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长,区块之间基于哈希值的链式结构保证了区块中交易的防篡改和防伪造。
下面说明本发明实施例提供的区块链网络的示例性的功能架构,参见图7,图7是本发明实施例提供的区块链网络200的功能架构示意图,包括应用层201、共识层202、网络层203、数据层204和资源层205,下面分别进行说明。
资源层205封装了实现区块链网路200中的各个节点210的计算资源、存储资源和通信资源。
数据层204封装了实现账本的各种数据结构,包括以文件***中的文件实现的区块链,键值型的状态数据库和存在性证明(例如区块中交易的哈希树)。
网络层203封装了点对点(P2P,Point to Point)网络协议、数据传播机制和数据验证机制、接入认证机制和业务主体身份管理的功能。
其中,P2P网络协议实现区块链网络200中节点210之间的通信,数据传播机制保证了交易在区块链网络200中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公/私钥对)实现节点210之间传输数据的可靠性;接入认证机制用于根据实际的业务场景对加入区块链网络200的业务主体的身份进行认证,并在认证通过时赋予业务主体接入区块链网络200的权限;业务主体身份管理用于存储允许接入区块链网络200的业务主体的身份、以及权限(例如能够发起的交易的类型)。
共识层202封装了区块链网络200中的节点210对区块达成一致性的机制(即共识机制)、交易管理和账本管理的功能。共识机制包括POS、POW和DPOS等共识算法,支持共识算法的可插拔。
交易管理用于验证节点210接收到的交易中携带的数字签名,验证业务主体的身份信息,并根据身份信息判断确认其是否具有权限进行交易(从业务主体身份管理读取相关信息);对于获得接入区块链网络200的授权的业务主体而言,均拥有认证中心颁发的数字证书,业务主体利用自己的数字证书中的私钥对提交的交易进行签名,从而声明自己的合法身份。
账本管理用于维护区块链和状态数据库。对于取得共识的区块,追加到区块链的尾部;执行取得共识的区块中的交易,当交易包括更新操作时更新状态数据库中的键值对,当交易包括查询操作时查询状态数据库中的键值对并向业务主体的客户端节点返回查询结果。支持对状态数据库的多种维度的查询操作,包括:根据区块向量号(例如交易的哈希值)查询区块;根据区块哈希值查询区块;根据交易向量号查询区块;根据交易向量号查询交易;根据业务主体的账号(向量号)查询业务主体的账号数据;根据通道名称查询通道中的区块链。
应用层201封装了区块链网络能够实现的各种业务,包括交易的溯源、存证和验证等。
下面以微信小程序中的视频播放进程的日志信息处理为例对本发明所提供的日志信息处理方法进行说明,其中,图8为本发明实施例的日志信息处理方法的使用环境示意图;其中,参见图8,终端(包括终端80-1和终端80-2)上设置有能够执行不同功能相应客户端,其中,微信小程序的视频播放进程运行于终端80-2,日志信息保存在服务器200中,终端80-1通过网络300从相应的服务器200中获取不同的日志信息进行浏览,终端通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。其中,在程序运行的过程中,为了便于出现问题时,能够排查问题,复盘现场,经常在程序运行的过程中进行日志信息输出,而大量的日志信息输出往往会带来负面的问题,例如影响程序运行效率,带来***和硬件资源的消耗等,所以一般场景下对于日志信息的输出,会按不同重要性,进行不同级别的日志信息输出。
传统技术中,可以设置输出日志信息级别,例如:debug,info,warnning,error,fatal,设置日志信息输出级别后,输出的日志信息内容是不会动态变化的;然后根据配置按时间顺序输出日志信息发生的时间,所属类名,方法名,代码行号,日志信息级别,日志信息详细信息等,但是在请求处理比较多,即并发处理比较大的情况下,日志信息按时间输出会出现对同一个请求的处理日志信息不是连续的情况,而是很多的请求处理日志信息按时间顺序输出了日志信息,整个日志信息文件每一行日志信息前后的几乎都是不相关的日志信息,对于不借助辅助的日志信息收集工具,当要进行异常排查时无法对进行分析日志信息,影响了开发效率和故障修复效率。
为解决上述缺陷,参考图9和图10,图9为本发明实施例提供的日志信息处理方法一个可选的流程示意图,图10为本发明实施例提供的日志信息处理方法一个可选的流程示意图,其中目标用户为当前终端的操作用户,具体包括以下步骤:
步骤901:根据日志信息的使用环境,设执相应的日志信息级别参数。
其中,对于不同的进程或者不同的使用环境,所需要的日志信息的级别参数是不同的。以log4j日志信息组件为例,log4j日志信息组件支持设定debug,info,warnning,error,fatal输出日志信息级别,和对应的日志信息级别的输出方法void debug(Stringmsg,Object...arguments),void info(String msg,Object...arguments)void warnning(String msg,Object...arguments),void error(String msg,Object...arguments),void fatal(String msg,Object...arguments)等。
日志信息级别有如下关系(依次递减)debug>info>warnning>error>fatal,如果设定日志信息输出级别为error,则只能输出error,fatal级别的日志信息,如果设置日志信息输出级别为info,则可以输出info,warnning,error,fatal级别的日志信息,高级别的日志信息就被过滤。
通过步骤901,可以对***中的所有日志信息进行收集与存储,其中,每条日志信息的数据结构可以表示为:Log(日志信息级别:int,时间:timestamp,内容:string),日志信息缓存的存贮的结构设计为,HashSet<健,值>,其中,HashSet<String,List<Log>>,HashSet的健为requestId请求标志,值请求标志对应的日志信息数据Log数组。
步骤902:接收日志信息调用指令,根据相应的请求标志获取对应的日志信息。
其中,整个的存贮日志信息结构参考表1,每个请求标志里的日志信息是按时间顺序排序的,通过相应的请求标志,可以快速定位这个请求标志对应的日志信息组。
Figure BDA0002401684920000221
表1
在本发明的一些实施例中,客户端(不同进程)可以调用需要生成一个唯一的请求标志,比如requestId,使用uuid或其他方式生成,具体方式本发明不进行限制,用来标志某个请求,这个请求标志,在调用日志信息输出函数,需要携带相应的requestId参数,即绑定某个日志信息和requestId的关系(记录某个日志信息属于哪个requestId),同时还有本条日志信息的级别,时间等。同时把requestId保存到对应的日志信息实例的Set对象里。进一步地,还可以把日志信息按请求标志进行分组,然后按时间顺序排好序,以提高遍历输出日志信息时的效率。
步骤903:根据相应的设置信息,按时间输出日志信息,或者按请求分组输出日志信息。
其中,输出日志信息是开启独立线程的进行处理的,不影响应用主线程。
在本发明的一些实施例中,如果开发配置的是按时间顺序输出日志信息,则直接把缓冲区的日志信息按时间顺序再按配置的日志信息级别输出日志信息即可。具体的,可以遍历日志信息缓存中的每一个requestId(健),取出健对应的日志信息数组数据,遍历日志信息数组是否有出现error或fatal级别的日志信息,如果有不做任何处理;如果没有,根据当前的用户设置的日志信息级别,删除日志信息级别大于当前设置用户级别的日志信息。合并所有健对应的日志信息,并按时间顺序排序,形成所要输出的日志信息。
在本发明的一些实施例中,如果是按请求分组输出日志信息,输出日志信息时遍历Set对象保存的请求requestId,然后从缓冲区里找到对应requestId的日志信息,再根据输出日志信息级别输出最后的日志信息,但是如果某个请求出现了error或fatal级别日志信息,则这个日志信息之前(按时间往回查)的高级别debug,info,warnning日志信息一样会输出到文件,具体的,可以遍历日志信息缓存中的每一个requestId(健),取出健对应的日志信息数组数据,遍历日志信息数组是否有出现error或fatal级别的日志信息,如果有不做任何处理。如果没有出现error或fatal日志信息,则删除日志信息级别比当前用户设置的日志信息级别高的日志信息,然后写入到日志信息文件,形成所要输出的日志信息。
结合图10,图10为本发明实施例提供的日志信息处理方法一个可选的流程示意图,假设设置的日志信息输出级别是INFO,具体包括以下步骤:
步骤1001:客户端向服务器发送携带requestId的调用指令;
步骤1002:输出debug日志信息。
步骤1003:输出INFO日志信息。
步骤1004:输出error日志信息。
步骤1005:输出fatal日志信息。
步骤1006:日志实例进程输出相应的日志信息。
其中,按时间顺序输出相应的日志信息包括:
[2019-10-18 15:20:02][o.a.j.l.DirectJDKLog->log#173][INFO][requestId1]:日志信息详细内容;
[2019-10-18 15:20:03][o.a.j.l.DirectJDKLog->log#173][INFO][requestId2]:日志信息详细内容;
[2019-10-18 15:20:04][o.a.j.l.DirectJDKLog->log#173][INFO][requestId1]:日志信息详细内容;
[2019-10-18 15:20:05][o.a.j.l.DirectJDKLog->log#173][INFO][requestId1]:日志信息详细内容;
[2019-10-18 15:20:06][o.a.j.l.DirectJDKLog->log#173][INFO][requestId2]:日志信息详细内容;
假设设置的日志信息输出级别是INFO,按请求分组输出效果(注意因为出现了ERROR,比ERROR日志信息级别高的日志信息DEBUG日志信息一样输出了)
[2019-10-18 15:20:02][o.a.j.l.DirectJDKLog->log#173][INFO][requestId1]:日志信息详细内容;
[2019-10-18 15:20:04][o.a.j.l.DirectJDKLog->log#173][DEBUG][requestId1]:日志信息详细内容;
[2019-10-18 15:20:05][o.a.j.l.DirectJDKLog->log#173][ERROR][requestId1]:日志信息详细内容;
[2019-10-18 15:20:03][o.a.j.l.DirectJDKLog->log#173][INFO][requestId2]:日志信息详细内容;
[2019-10-18 15:20:06][o.a.j.l.DirectJDKLog->log#173][INFO][requestId2]:日志信息详细内容。
步骤904:清空相应存贮数据结构中的数据。
有益技术效果:
通过本发明所提供的日志信息处理方法,日志信息的输出更加灵活,日志信息可以按请求分组输出日志信息,当异常发生或需要检索日志信息时,某一段连续的日志信息就是需要查看的日志信息,同时因为日志信息输出不是按固定的日志信息级别输出,当发生error,fatal时,还可以自动收集debug,info,warnning的日志信息,可以快速定位问题,提高了故障修复效率或问题定位效率,有效提升用户的使用体验。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种日志信息处理方法,其特征在于,所述方法包括:
根据日志信息的使用环境,确定相应的日志信息的存储容器的结构;
基于所述日志信息的存储容器的结构,存储所述使用环境中所产生的日志信息;
接收日志信息调用指令,并对所述日志信息调用指令进行解析,以获取对应的第一请求标志集合,其中,所述第一请求标志集合包括至少一个第一请求标志;
根据所述第一请求标志,在所述使用环境中所产生的日志信息中获取与所述第一请求标志相匹配的日志信息;
确定与所述日志信息的输出进程相匹配的日志信息输出方式;
根据与所述日志信息的输出进程相匹配的日志信息输出方式,按照请求分组方式输出与不同的第一请求标志分别匹配的日志信息。
2.根据权利要求1所述的方法,其特征在于,所述根据日志信息的使用环境,确定相应的日志信息的存储容器的结构,包括:
根据日志信息的使用环境,确定所述日志信息的存储容器的结构依次包括所述日志信息的日志信息级别参数、日志信息内容和时间参数。
3.根据权利要求2所述的方法,其特征在于,所述基于所述日志信息的存储容器的结构,存储所述使用环境中所产生的所有日志信息,包括:
根据所述使用环境中所产生的日志信息,确定所述日志信息所对应的日志信息级别参数、日志信息内容和时间参数;
确定与所述日志信息相对应的第二请求标志,其中,所述第二请求标志用于表征与所述日志信息相对应的对数数组;
基于每一个所述日志信息的存储容器所对应的第二请求标志,对不同日志信息的存储容器中进行分组;
根据所述时间参数,对相同的第二请求标志所包括的不同日志信息进行排序。
4.根据权利要求1所述的方法,其特征在于,所述根据所述请求标志,在所述使用环境中所产生的日志信息中获取与所述第一请求标志相匹配的日志信息,包括:
对所述使用环境中所产生的日志信息进行遍历,
当所述第一请求标志与第二请求标志相匹配时,从所述日志信息的存储容器中抽取与所述第一请求标志相匹配的日志信息;
将所抽取的与所述第一请求标志相匹配的日志信息保存在相应的缓存中。
5.根据权利要求4所述的方法,其特征在于,所述根据与所述日志信息的输出进程相匹配的日志信息输出方式,按照请求分组方式输出与不同的第一请求标志分别匹配的日志信息,包括:
当所述与所述日志信息的输出进程相匹配的日志信息输出方式为按照请求分组输出时,
基于不同的第一请求标志,分别从所述缓存中获取相应的日志信息,并根据所述日志信息对应的日志信息级别参数对从所述缓存中获取相应的日志信息进行调整,形成并输出与不同的第一请求标志分别匹配的日志信息。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当与所述日志信息的输出进程相匹配的日志信息输出方式为按照时间顺序输出时,
从所述缓存中获取相应的日志信息,并根据所述时间顺序对从所述缓存中获取相应的日志信息进行调整,形成并输出与所述时间顺序对应的日志信息,或者,
从所述缓存中获取相应的日志信息,根据所述日志信息对应的日志信息级别参数和所述时间顺序对从所述缓存中获取相应的日志信息进行调整,形成并输出与所述时间顺序对应日志信息。
7.根据权利要求1-6任一所述的方法,其特征在于,所述方法还包括:
将所述日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息发送至区块链网络,以使
所述区块链网络的节点将日志信息的存储容器的结构、第一请求标志以及与所述第一请求标志相匹配的日志信息填充至新区块,且当对所述新区块共识一致时,将所述新区块追加至区块链的尾部。
8.一种日志信息处理装置,其特征在于,所述装置包括:
信息传输模块,用于根据日志信息的使用环境,确定相应的日志信息的存储容器的结构;
信息处理模块,用于基于所述日志信息的存储容器的结构,存储所述使用环境中所产生的日志信息;
所述信息处理模块,用于接收日志信息调用指令,并对所述日志信息调用指令进行解析,以获取对应的第一请求标志集合,其中,所述第一请求标志集合包括至少一个第一请求标志;
所述信息处理模块,用于根据所述第一请求标志,在所述使用环境中所产生的日志信息中获取与所述第一请求标志相匹配的日志信息;
所述信息处理模块,用于确定与所述日志信息的输出进程相匹配的日志信息输出方式;
所述信息处理模块,用于根据与所述日志信息的输出进程相匹配的日志信息输出方式,按照请求分组方式输出与不同的第一请求标志分别匹配的日志信息。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于运行所述存储器存储的可执行指令时,实现权利要求1至7任一项所述的日志信息处理方法。
10.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至7任一项所述的日志信息处理方法。
CN202010148717.6A 2020-03-05 2020-03-05 日志信息处理方法、装置、电子设备及存储介质 Active CN111367867B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010148717.6A CN111367867B (zh) 2020-03-05 2020-03-05 日志信息处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010148717.6A CN111367867B (zh) 2020-03-05 2020-03-05 日志信息处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111367867A true CN111367867A (zh) 2020-07-03
CN111367867B CN111367867B (zh) 2023-03-21

Family

ID=71210285

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010148717.6A Active CN111367867B (zh) 2020-03-05 2020-03-05 日志信息处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111367867B (zh)

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101465765A (zh) * 2008-12-31 2009-06-24 东信和平智能卡股份有限公司 日志***及其使用方法
CN103179162A (zh) * 2011-12-23 2013-06-26 阿里巴巴集团控股有限公司 一种输出日志的方法及***
CN103577443A (zh) * 2012-07-30 2014-02-12 ***股份有限公司 一种日志处理***
CN104252405A (zh) * 2013-06-26 2014-12-31 腾讯科技(深圳)有限公司 日志信息的输出方法及装置
CN106294176A (zh) * 2016-08-19 2017-01-04 暴风集团股份有限公司 Mac OS***中应用程序故障定位的方法及***
CN106708711A (zh) * 2015-11-17 2017-05-24 阿里巴巴集团控股有限公司 一种日志信息输出控制方法及装置
CN108459939A (zh) * 2018-01-08 2018-08-28 平安科技(深圳)有限公司 一种日志收集方法、装置、终端设备及存储介质
CN109271359A (zh) * 2018-11-20 2019-01-25 北京千丁互联科技有限公司 日志信息处理方法、装置、电子设备及可读存储介质
CN109376131A (zh) * 2018-11-02 2019-02-22 郑州云海信息技术有限公司 一种日志分布式部署保存方法、装置及***
CN109542741A (zh) * 2018-10-11 2019-03-29 平安科技(深圳)有限公司 日志自动分组存储方法、装置、计算机设备和存储介质
CN109656778A (zh) * 2018-11-28 2019-04-19 金蝶软件(中国)有限公司 数据获取方法、装置、计算机设备和存储介质
CN109902074A (zh) * 2019-04-17 2019-06-18 江苏全链通信息科技有限公司 基于数据中心的日志存储方法和***
CN109977089A (zh) * 2019-03-13 2019-07-05 深圳壹账通智能科技有限公司 日志管理方法、装置、计算机设备及计算机可读存储介质
CN110245489A (zh) * 2019-05-20 2019-09-17 阿里巴巴集团控股有限公司 基于明文日志的收据存储方法、节点和***
CN110262967A (zh) * 2019-06-05 2019-09-20 微梦创科网络科技(中国)有限公司 一种应用于自动化测试的日志输出方法与装置
CN110362536A (zh) * 2019-07-15 2019-10-22 北京工业大学 基于告警关联的日志密文检索方法
CN110674105A (zh) * 2019-08-30 2020-01-10 中国人民财产保险股份有限公司 一种数据备份方法、***及服务器

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101465765A (zh) * 2008-12-31 2009-06-24 东信和平智能卡股份有限公司 日志***及其使用方法
CN103179162A (zh) * 2011-12-23 2013-06-26 阿里巴巴集团控股有限公司 一种输出日志的方法及***
CN103577443A (zh) * 2012-07-30 2014-02-12 ***股份有限公司 一种日志处理***
CN104252405A (zh) * 2013-06-26 2014-12-31 腾讯科技(深圳)有限公司 日志信息的输出方法及装置
CN106708711A (zh) * 2015-11-17 2017-05-24 阿里巴巴集团控股有限公司 一种日志信息输出控制方法及装置
CN106294176A (zh) * 2016-08-19 2017-01-04 暴风集团股份有限公司 Mac OS***中应用程序故障定位的方法及***
CN108459939A (zh) * 2018-01-08 2018-08-28 平安科技(深圳)有限公司 一种日志收集方法、装置、终端设备及存储介质
CN109542741A (zh) * 2018-10-11 2019-03-29 平安科技(深圳)有限公司 日志自动分组存储方法、装置、计算机设备和存储介质
CN109376131A (zh) * 2018-11-02 2019-02-22 郑州云海信息技术有限公司 一种日志分布式部署保存方法、装置及***
CN109271359A (zh) * 2018-11-20 2019-01-25 北京千丁互联科技有限公司 日志信息处理方法、装置、电子设备及可读存储介质
CN109656778A (zh) * 2018-11-28 2019-04-19 金蝶软件(中国)有限公司 数据获取方法、装置、计算机设备和存储介质
CN109977089A (zh) * 2019-03-13 2019-07-05 深圳壹账通智能科技有限公司 日志管理方法、装置、计算机设备及计算机可读存储介质
CN109902074A (zh) * 2019-04-17 2019-06-18 江苏全链通信息科技有限公司 基于数据中心的日志存储方法和***
CN110245489A (zh) * 2019-05-20 2019-09-17 阿里巴巴集团控股有限公司 基于明文日志的收据存储方法、节点和***
CN110262967A (zh) * 2019-06-05 2019-09-20 微梦创科网络科技(中国)有限公司 一种应用于自动化测试的日志输出方法与装置
CN110362536A (zh) * 2019-07-15 2019-10-22 北京工业大学 基于告警关联的日志密文检索方法
CN110674105A (zh) * 2019-08-30 2020-01-10 中国人民财产保险股份有限公司 一种数据备份方法、***及服务器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
劳友昌 等: "基于WLANAC日志安全应用管理" *
邵奇峰 等: "企业级区块链技术综述" *

Also Published As

Publication number Publication date
CN111367867B (zh) 2023-03-21

Similar Documents

Publication Publication Date Title
CN110727712B (zh) 基于区块链网络的数据处理方法、装置、电子设备及存储介质
CN106874461B (zh) 一种工作流引擎支持多数据源配置安全访问***及方法
CN112506747B (zh) 一种业务进程监控方法、装置、电子设备及存储介质
EP4216077A1 (en) Blockchain network-based method and apparatus for data processing, and computer device
CN113779444B (zh) 接口开发方法、零代码引擎和零代码数据接口开发***
CN111414381B (zh) 数据处理方法、装置、电子设备及存储介质
US11556874B2 (en) Block creation based on transaction cost and size
CN111092745A (zh) 基于区块链的日志处理方法、装置、计算机设备及存储介质
CN111597543A (zh) 基于区块链智能合约的广域进程访问权限认证方法及***
CN111177246A (zh) 一种业务数据的处理方法及装置
CN112017007A (zh) 用户行为数据的处理方法及装置、计算机设备、存储介质
CN111694743A (zh) 业务***的检测方法及装置
US11829411B2 (en) Data recovery method and apparatus, electronic device, and storage medium
CN111698198B (zh) 秘密生成和份额分发
CN113722114A (zh) 一种数据服务的处理方法、装置、计算设备及存储介质
CN115694699A (zh) 时延参数采集方法、装置、电子设备及存储介质
CN111327680B (zh) 认证数据同步方法、装置、***、计算机设备和存储介质
CN112132554A (zh) 一种政务信息处理方法、装置、电子设备及存储介质
CN113497762A (zh) 数据报文的传输方法及装置
CN110858211B (zh) 数据存储方法、装置及***、存储介质
CN111367867B (zh) 日志信息处理方法、装置、电子设备及存储介质
CN112925589A (zh) 扩展接口的调用方法及装置
US11782823B2 (en) Automatically capturing weather data during engineering tests
CN111078569B (zh) 光学字符识别应用的测试方法、装置及存储介质
Sanderson Programming Google App Engine with Java: Build & Run Scalable Java Applications on Google's Infrastructure

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