分布式系统日志实时展示方法、装置、设备及存储介质
文献发布时间:2023-06-19 11:49:09
技术领域
本发明涉及数据展示技术领域,尤其涉及一种分布式系统日志实时展示方法、装置、电子设备及计算机可读存储介质。
背景技术
随着现有计算机系统中功能的增强和数据的爆炸式增长,导致某些功能需要及其庞大的计算机组共同完成,因此导致集中式的大计算机组运维成本的暴增,从而出现了分布式集群的概念。
分布式集群可极大程度的降低庞大计算机组的运维成本,但由于分布式集群中不同计算机支持的后台服务分布距离较远,每个后台服务在运维过程中产生的日志也多为独立存储,导致通过日志对分布式系统运维时的效率低下,因此如何实现分布式系统中各后台服务的日志的实时展示,成为了亟待解决的问题。
发明内容
本发明提供一种分布式系统日志实时展示方法、装置及计算机可读存储介质,其主要目的在于解决分布式系统中多个后台服务的日志无法实时展示的问题。
为实现上述目的,本发明提供的一种分布式系统日志实时展示方法,包括:
建立第一缓存队列和第二缓存队列;
获取分布式系统中多个后台系统的系统日志,并分别对每个后台系统的系统日志进行唯一索引编码,得到编码日志;
依次将所述编码日志写入所述第一缓存队列和所述第二缓存队列;
当所述第二缓存队列中编码日志占用的队列长度大于预设的队列阈值时,将所述第一缓存队列中的编码日志实时写入预设的展示页面进行日志展示。
可选地,所述建立第一缓存队列和第二缓存队列包括:
在预设的数据库中创建预设长度的空白数据队列;
确定缓存数据类型;
根据所述缓存数据类型对所述空白数据表进行队列变量赋值,得到第一缓存队列与第二缓存队列。
可选地,所述获取分布式系统中多个后台系统的系统日志,包括:
获取分布式系统中多个后台系统对应的日志生成请求;
对所述日志抓取请求进行ip地址解析,得到多个后台系统对应的后台ip地址;
利用所述后台ip地址对多个后台系统的系统日志进行同步抓取。
可选地,所述对所述日志抓取请求进行ip地址解析,得到多个后台系统对应的后台ip地址,包括:
遍历所述日志生成请求并确定所述日志生成请求中字段分隔符的位置;
根据所述字段分隔符的位置对所述日志生成请求进行字段拆分,得到多个拆分字段;
按照拆分顺序将所述多个拆分字段进行序号标注;
选取预设序号的拆分字段为所述目标数据字段;
对所述目标数据字段进行字段解析,得到多个后台系统对应的后台ip地址。
可选地,所述分别对每个后台系统的系统日志进行唯一索引编码,得到编码日志,包括:
分别获取每个后台系统的系统参数;
根据所述系统参数生成每个后台系统对应的唯一标识;
生成有序编码并将所述唯一标识写入所述有序编码,得到唯一编码;
利用所述唯一编码分别对每个后台系统的系统日志进行标记,得到编码日志。
可选地,所述依次将所述编码日志写入所述第一缓存队列和所述第二缓存队列,包括:
将所述编码日志写入第一缓存队列;
若所述第一缓存队列中编码日志占用的队列长度小于所述预设长度,则继续将所述编码日志写入第一缓存队列;
若所述第一缓存队列中编码日志占用的队列长度大于或等于所述预设长度,则将所述编码日志写入第二缓存队列。
可选地,所述利用数据链接将所述第一缓存队列中的编码日志实时写入展示页面进行日志展示,包括:
将所述第一缓存队列中的编码日志按照所述唯一编码进行分类,得到各子系统对应的展示日志;
将所述展示日志根据所述唯一编码进行升序排列,得到日志展示序列;
将所述日志展示序列写入预设的展示页面进行日志展示。
为了解决上述问题,本发明还提供一种分布式系统日志实时展示装置,所述装置包括:
队列创建模块,用于建立第一缓存队列和第二缓存队列;
日志编码模块,用于获取分布式系统中多个后台系统的系统日志,并分别对每个后台系统的系统日志进行唯一索引编码,得到编码日志;
日志缓存模块,用于依次将所述编码日志写入所述第一缓存队列和所述第二缓存队列;
日志展示模块,用于当所述第二缓存队列中编码日志占用的队列长度大于预设的队列阈值时,将所述第一缓存队列中的编码日志实时写入预设的展示页面进行日志展示。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的分布式系统日志实时展示方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的分布式系统日志实时展示方法。
本发明利用唯一编码分别对每个后台系统的系统日志进行标记,得到编码日志,可避免多个后台系统日志的混乱写入,有利于提高后续日志展示时的效率及规律性;建立第一缓存队列和第二缓存队列,依次利用不同缓存队列对分布式系统中多个后台服务的日志进行采集,并将缓存队列中的日志实时写入展示页面进行展示,可有效防止某一缓存队列中的编码日志被全部写入展示页面后,再次对展示页面进行展示页面写入时,写入的为空值的情况,导致日志展示出现中断,提高了编码日志写入的连续性,实现了对分布式系统中多个后台服务的日志的实时展示。因此本发明提出的分布式系统日志实时展示方法、装置、电子设备及计算机可读存储介质,可以解决分布式系统中多个后台服务的日志无法实时展示的问题。
附图说明
图1为本发明一实施例提供的分布式系统日志实时展示方法的流程示意图;
图2为本发明一实施例提供的分布式系统日志实时展示方法中其中一个步骤的细化流程图;
图3为本发明一实施例提供的分布式系统日志实时展示装置的功能模块图;
图4为本发明一实施例提供的实现所述分布式系统日志实时展示方法的电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种分布式系统日志实时展示方法。所述分布式系统日志实时展示方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述分布式系统日志实时展示方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
参照图1所示,为本发明一实施例提供的分布式系统日志实时展示方法的流程示意图。在本实施例中,所述分布式系统日志实时展示方法包括:
S1、建立第一缓存队列和第二缓存队列。
本发明一个实际应用场景中,所述第一缓存队列与所述第二缓存队列可以为预设长度的数据缓存队列,可实现对预设长度的数据进行缓存,且所述第一缓存队列与所述第二缓存队列的预设长度可以相同,也可以不同。
本发明实施例中,可在Redis、memcached等具有数据缓存功能的数据库中通过数据库指令创建第一缓存队列和第二缓存队列。例如,通过数据库指令在预设数据库中创建预设长度的空白数据队列,并根据需要缓存的数据类型,对创建的空白数据队列进行参数赋值,以实现第一缓存队列与第二缓存队列的创建。
本发明实施例中,所述缓存数据类型包括但不限于String、hash、map、set和sortset等类型的数据,所述缓存数据类型由分布式系统的日志中所包含的数据类型所确定,例如,分布式系统的日志中包含String类型数据,则缓存数据类型则为String类型数据。其中,可同时确定多个缓存数据类型,即所述缓存数据类型可以同时为多种不同类型的数据。
进一步地,本发明实施例获取预先存储的队列变量值表,利用所述队列变量值表对所述空白数据表进行队列变量赋值,得到第一缓存队列与第二缓存队列。其中,所述队列变量值表可由用户预先设定,所述变量值表中包含与多种不同的缓存数据类型对应的队列变量。其中,所述队列变量包括但不限于主键、主键值类型等。
本发明其中一实施例中,参图2所示,所述建立第一缓存队列和第二缓存队列包括:
S21、在预设的数据库中创建预设长度的空白数据队列;
S22、确定缓存数据类型;
S23、根据所述缓存数据类型对所述空白数据表进行队列变量赋值,得到第一缓存队列与第二缓存队列。
本发明实施例通过建立第一缓存队列和第二缓存队列,可实现数据的轮流写入,例如,将数据先写入第一缓存队列,当第一缓存队列中的数据量达到所述预设长度时,再将数据写入第二缓存队列,避免了日志写入时的中断,提高了获取日志的效率与实时性。
S2、获取分布式系统中多个后台系统的系统日志,并分别对每个后台系统的系统日志进行唯一索引编码,得到编码日志。
本发明其中一实施例中,所述获取分布式系统中多个后台系统的系统日志,包括:
获取分布式系统中多个后台系统对应的日志生成请求;
对所述日志抓取请求进行ip地址解析,得到多个后台系统对应的后台ip地址;
利用所述后台ip地址对多个后台系统的系统日志进行同步抓取。
详细地,所述日志生成请求是分布式系统的后台系统在生成系统日志时自动生成的数据请求。本发明实施例使用ASM增强字节码过滤器获取分布式系统中多个后台系统对应的日志生成请求,所述ASM增强字节码过滤器是一款基于java字节码层面的代码分析工具,利用ASM增强字节码过滤器对日志生成请求进行监测并获取,可提高日志生成请求获取的成功率。
具体地,所述对所述日志抓取请求进行ip地址解析,得到多个后台系统对应的后台ip地址,包括:
遍历所述日志生成请求并确定所述日志生成请求中字段分隔符的位置;
根据所述字段分隔符的位置对所述日志生成请求进行字段拆分,得到多个拆分字段;
按照拆分顺序将所述多个拆分字段进行序号标注;
选取预设序号的拆分字段为所述目标数据字段;
对所述目标数据字段进行字段解析,得到多个后台系统对应的后台ip地址。
例如,数据打包请求为“qwe
- 分布式系统日志实时展示方法、装置、设备及存储介质
- 一种分布式系统日志的监控方法、装置、设备及存储介质