一种大数据服务程序日志处理方法及系统与流程

    专利2022-07-08  102


    本申请涉及大数据处理技术的领域,尤其是涉及一种大数据服务程序日志处理方法及系统。



    背景技术:

    大数据,it行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    网络设备、系统及服务程序等,在运作时都会产生一个叫log的事件记录,每一行日志都记载着日期、事件、使用者及动作等相关操作的描述。windows网络都设计有各种各样的日志文件,如应用程序日志、安全日志、系统日志、scheduler服务日志、ftp日志、www日志、dns服务器日志等等。们在系统上进行一些操作时,这些日志文件通常会记录下我们操作的一些相关内容,这些内容对系统安全工作人员相当有用。日志组件几乎存在于各类软件系统中,用于记录程序运行状态、方便开发人员后续跟踪、调试、异常分析等作业。

    针对上述中的相关技术,发明人认为日志文件按服务程序分布在多个服务器中,且不同日志文件一般有不同的查看和调取规范,导致日志调取较为繁琐。



    技术实现要素:

    为了改善日志调取较为繁琐的问题,本申请提供一种大数据服务程序日志处理方法及系统。

    第一方面,本申请提供一种大数据服务程序日志处理方法,采用如下的技术方案:

    一种大数据服务程序日志处理方法,所述处理方法包括,

    在大数据后台业务程序中引入内存日志组件,所述内存日志组件用于存储按业务需求写入的相应业务日志;

    在所述大数据后台业务程序中引入日志订阅服务端组件;

    将所述大数据后台业务程序部署到指定服务器,配置日志订阅服务地址和端口供日志订阅服务端组件使用;以及,

    将日志订阅客户端打开,并将日志订阅客户端连接到所述日志订阅服务地址;其中,所述日志订阅服务端组件用于在大数据后台业务程序启动后监听大数据后台业务程序运行所在服务器的指定日志订阅服务端口,以向日志订阅客户端提供进程内指定内存日志组件的远程订阅服务,所述日志订阅客户端用于进行日志监测。

    通过采用上述技术方案,在大数据后台业务程序中引入/调用内存日志组件和日志订阅服务端组件,且日志订阅服务端组件和日志订阅客户端之间通过日志订阅服务地址实现连接,使得日志订阅服务组件能够从服务器的指定日志订阅服务端口接收日志订阅客户端的日志订阅请求,并将读取到的内存日志组件中的相应日志发送给日志订阅客户端,实现业务程序日志输出重定向到日志订阅客户端,以对指定大数据业务程序的日志进行实时监测,从而借助在大数据后台业务程序中引入内存日志组件和日志订阅服务端组件能够统一进行日志调取和日志读取(查看),进而有助于改善日志调取较为繁琐的问题;同时,能够配合日志订阅客户端实现接近实时的远程日志定向输出,以便于开发人员快速了解程序运行状态与定位异常。

    可选的,所述按业务需求写入内存日志组件的相应业务日志存储于内存缓冲区内。

    通过采用上述技术方案,通过大数据业务程序发布日志到内存缓冲区,通过牺牲阶段时间内日志完整性换取相对更好的日志读写性能,使得日志无需落地,不产生任何磁盘io,能够提高在服务器上运行的磁盘的程序的性能,释放日志文件磁盘配额,提高应用程序服务器业务程序部署密度。

    可选的,所述内存日志组件至少需提供日志缓冲区大小初始化值设定、缓冲区写入索引位置记录读取及设定、日志写入/发布方法和日志读取/拉取方法。

    通过采用上述技术方案,能够根据设定日志缓冲区的大小,设定写入索引位置的位置以及读取记录,并根据日志写入/发布方法和日志读取/拉取方法进行日志的写入/发布或读取/拉取,从而方便使用内存日志组件。

    可选的,所述日志订阅服务端组件可以同时被多个日志订阅客户端连接。

    通过采用上述技术方案,与日志订阅服务端组件连接的多个日志订阅客户端,能够共享日志订阅服务端读取的日志,即能够实现日志多端共享。

    可选的,所述日志订阅客户端可以连接多个业务日志订阅服务。

    通过采用上述技术方案,日志订阅客户端通过连接多个业务日志订阅服务,能够实现各种业务统一日志管理,有助于进一步改善日志调取较为繁琐的问题。

    可选的,所述日志订阅客户端可以通过网络与大数据后台业务服务集群连接,所述大数据后台业务服务集群包括多个服务器,一个所述服务器可以运行多个大数据后台业务程序。

    通过采用上述技术方案,日志订阅客户端能够与大数据后台业务服务集中任一服务器的任意大数据后台业务程序订阅日志,进一步实现对各种业务程序进行统一日志管理,从而有助于改善日志调取较为繁琐的问题。

    第二方面,本申请提供一种大数据服务程序日志处理系统,采用如下的技术方案:

    一种大数据服务程序日志处理系统,所述处理系统包括,

    第一调用模块,用于在大数据后台业务程序中引入内存日志组件,所述内存日志组件用于存储按业务需求写入的相应业务日志;

    第二调用模块,用于在所述大数据后台业务程序中引入日志订阅服务端组件;

    配置模块,用于将所述大数据后台业务程序部署到指定服务器,配置日志订阅服务地址和端口供日志订阅服务端组件使用;以及,

    日志订阅客户端配置模块,用于将日志订阅客户端打开,并将日志订阅客户端连接到所述日志订阅服务地址;其中,所述日志订阅服务端组件用于在大数据后台业务程序启动后监听大数据后台业务程序运行所在服务器的指定日志订阅服务端口,以向日志订阅客户端提供进程内指定内存日志组件的远程订阅服务,所述日志订阅客户端用于进行日志监测。

    通过采用上述技术方案,第一调用模块和第二调用模块在大数据后台业务程序中引入/调用内存日志组件和日志订阅服务端组件,配置模块将大数据后台业务程序部署到服务器上,日志订阅客户端配置模块将日志订阅客户端与日志订阅服务地址连接,使得日志订阅客户端和日志订阅服务端组件通过日志订阅服务地址连接,使日志订阅服务端组件能够接收日志订阅客户端的日志订阅请求,并将读取到的内存日志组件中的相应日志发送给日志订阅客户端,实现业务程序日志输出重定向到日志订阅客户端,以对指定大数据业务程序的日志进行实时监测,从而借助在大数据后台业务程序中引入内存日志组件和日志订阅服务端组件能够统一进行日志调取和日志读取(查看),进而极大改善日志调取较为繁琐的问题;同时,能够配合日志订阅客户端实现接近实时的远程日志定向输出,以便于开发人员快速了解程序运行状态与定位异常。

    第三方面,本申请提供一种智能终端,采用如下的技术方案:

    一种智能终端,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如求第一方面中任一种方法的计算机程序。

    第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:

    一种计算机可读存储介质,存储有能够被处理器加载并执行如第一方面中任一种方法的计算机程序。

    附图说明

    图1是本申请实施例一种大数据服务程序日志处理方法的流程图。

    图2是本申请实施例的第一结构示意图。

    图3是本申请实施例的第二结构示意图。

    具体实施方式

    以下结合附图1-3对本申请作进一步详细说明。

    日志组件几乎存在于各类软件系统中,用于记录程序运行状态,方便开发人员后续跟踪、调试、异常分析等作业。在大数据后台业务系统中,大多数日志组件一般存在有以下问题:

    a)日志文件存储配额大,导致服务器承载业务程序密度降低。随着业务规模和数据处理规模等的增大,很大可能出现业务程序运行的服务器上每天写入的日志文件存储规模超过tb级,需要定期对日志文件进行清理,同时,服务器磁盘空间的限制导致服务器承载业务程序的数量需要按磁盘配额缩减。

    b)导致磁盘io瓶颈,磁盘寿命降低。单服务器多业务节点(程序)模式下,大规模随机日志写入导致磁盘性能瓶颈,久而久之导致磁盘故障率升高。

    c)代码质量降低。软件开发人员可能因为上述问题而考虑在编码中使用debug(调试环境)、release(正式环境)等运行环境条件依赖日志代码,导致业务代码可读性和可维护性降低。

    d)日志查看与调取没有统一规范。因为日志文件按服务程序离散分布在多个服务器中,日志调取繁琐,但日志文件大小超过gb级别时日志抽取代价偏高,实时监控日志输出成本也更高。

    e)相对于互联网公开业务因监管要求等原因,对日志完整性有强制要求外,后台业务如数据处理程序并不要求日志完整性,而是对特定阶段时刻日志完备性及实时性要求更高。

    本申请实施例公开一种大数据服务程序日志处理方法。参照图1和图2,处理方法包括如下步骤:

    101、在大数据后台业务程序中引入内存日志组件。

    其中,内存日志组件用于存储按业务需求写入的相应业务日志。在大数据后台业务程序中引入内存日志组件后,会按照业务需求写入相应业务日志。

    102、在大数据后台业务程序中引入日志订阅服务端组件。

    需要说明的是,可以先执行步骤101,再执行步骤102,也可以先执行步骤102,再执行步骤101,也可以同时执行步骤101和步骤102。

    103、将大数据后台业务程序部署到指定服务器,配置日志订阅服务地址和端口供日志订阅服务端组件使用。

    其中,端口指的是大数据后台业务程序运行所在的服务器的日志订阅服务端口。

    104、将日志订阅客户端打开,并将日志订阅客户端连接到日志订阅服务地址。

    其中,日志订阅服务端组件用于在大数据后台业务程序启动后监听大数据后台业务程序运行所在服务器的指定日志订阅服务端口,以向日志订阅客户端提供进程内指定内存日志组件的远程订阅服务,即日志订阅服务端组件接收日志订阅客户端发送的订阅请求指令,代理读取订阅日志并将日志发送给日志订阅客户端。日志订阅客户端用于进行日志监测。

    上述一种大数据服务程序日志处理方法的实施方式中,在大数据后台业务程序中引入/调用内存日志组件和日志订阅服务端组件,且日志订阅服务端组件和日志订阅客户端之间通过日志订阅服务地址实现连接,使得日志订阅服务组件能够从服务器的指定日志订阅服务端口接收日志订阅客户端的日志订阅请求,并将读取到的内存日志组件中的相应日志发送给日志订阅客户端,实现业务程序日志输出重定向到日志订阅客户端,以对指定大数据业务程序的日志进行实时监测,从而借助在大数据后台业务程序中引入内存日志组件和日志订阅服务端组件能够统一进行日志调取和日志读取(查看),进而有助于改善日志调取较为繁琐的问题;同时,能够配合日志订阅客户端实现接近实时的远程日志定向输出,以便于开发人员快速了解程序运行状态与定位异常。

    作为内存日志组件的一种实施方式,按业务需求写入内存日志组件的相应业务日志存储于内存缓冲区内。

    上述内存日志组件的实施方式中,通过大数据业务程序发布日志到内存缓冲区,通过牺牲阶段时间内日志完整性换取相对更好的日志读写性能,使得日志无需落地,不产生任何磁盘io,能够提高在服务器上运行的磁盘的程序的性能,释放日志文件磁盘配额,提高应用程序服务器业务程序部署密度。并在一定程度上消除编程人员对日志输出代码带来的部分副作用的顾虑,间接提高程序日志完善程度。

    作为内存日志组件进一步的实施方式,内存日志组件至少需提供日志缓冲区大小初始化值设定、缓冲区写入索引位置记录读取计设定、日志写入/发布方法和日志读取/拉取方法。

    上述内存日志组件进一步的实施方式中,能够根据日志缓冲区大小初始化值设定来确定日志缓冲区的大小,设定写入索引位置的位置以及读取记录,并根据日志写入/发布方法和日志读取/拉取方法进行日志的写入/发布或读取/拉取,从而方便使用内存日志组件。

    作为日志写入/发布方法的一种实施方式,写入/发布方法具体方法包括:

    设置日志名称;

    设置最后一条日志写入索引;

    设置日志存储容量,用于初始化缓冲区(buffer);

    设置内存缓冲区,用于线性存储日志;以及,

    将一条日志写入缓冲区(buffer),并判断最后一条日志写入索引加一是否大于等于内存缓冲区容量,如果大于等于,那么重置最后一条日志写入索引为零,清空缓冲区,然后在缓冲区的索引位置为零的位置写入日志,如果小于内存缓冲区容量,那么在缓冲区的最后一条日志写入索引加一的位置写入当前日志,然后将最后一条日志写入索引设置为最后一条日志写入索引加一。

    作为日志读取/拉取方法的一种实施方式,日志读取/拉取方法包括,

    从指定位置读取缓冲区中的日志,并暴露给日志订阅服务端组件使用;

    判断日志订阅客户端最后读取位置是否小于所读取日志对象的最后一条日志写入索引,若是,则从日志订阅客户端最后读取位置读取日志集合返回给日志订阅客户端,若等于,则不读取日志,否则,重置客户端最后读取位置为零;以及,

    在读取日志返回给日志订阅客户端时,同时返回给日志订阅客户端当前读取的日志集合的最后一条日志相对于缓冲区的索引位置。

    其中,下次日志订阅客户端调取/读取日志时,当前读取的日志集合的最后一条日志相对于缓冲区的索引位置将作为日志订阅客户端最后读取位置使用。

    参照图2和图3,作为一种大数据服务程序日志处理方法进一步的实施方式,日志订阅服务端组件可以同时被多个日志订阅客户端连接,日志订阅客户端可以连接多个业务日志订阅服务。日志订阅客户端可以通过网络与大数据后台业务服务集群连接,大数据后台业务服务集群包括多个服务器,一个服务器可以运行多个大数据后台业务程序。

    上述进一步的实施方式中,与日志订阅服务端组件连接的多个日志订阅客户端,能够共享日志订阅服务端读取的日志,即能够实现日志多端共享。日志订阅客户端通过连接多个业务日志订阅服务,能够实现各种业务统一日志管理,有助于进一步改善日志调取较为繁琐的问题。日志订阅客户端能够与大数据后台业务服务集中任一服务器的任意大数据后台业务程序订阅日志,进一步实现对各种业务程序进行统一日志管理,从而有助于改善日志调取较为繁琐的问题。

    本申请提供的一种大数据服务程序日志处理方法,多个日志订阅客户端可以同时订阅某个远程日志实现目标日志多端重定向同步输出,方便团队协作。另一方面,日志订阅客户端也可以扩展出日志持久化、日志分析等职能实现多种日志工具。

    本申请实施例还公开一种大数据服务程序日志处理系统,参照图,处理系统包括:

    第一调用模块,用于在大数据后台业务程序中引入内存日志组件。

    其中,内存日志组件用于存储按业务需求写入的相应业务日志,且大数据后台业务程序中会写入多个内存日志。

    第二调用模块,用于在大数据后台业务程序中引入日志订阅服务端组件。

    配置模块,用于将大数据后台业务程序部署到指定服务器,配置日志订阅服务地址和端口供日志订阅服务端组件使用。

    日志订阅客户端配置模块,用于将日志订阅客户端打开,并将日志订阅客户端连接到日志订阅服务地址。

    其中,日志订阅服务端组件用于在大数据后台业务程序启动后监听大数据后台业务程序运行所在服务器的指定日志订阅服务端口,以向日志订阅客户端提供进程内指定内存日志组件的远程订阅服务,日志订阅客户端用于进行日志监测。

    上述处理系统的实施方式中,第一调用模块和第二调用模块在大数据后台业务程序中引入/调用内存日志组件和日志订阅服务端组件,配置模块将大数据后台业务程序部署到服务器上,日志订阅客户端配置模块将日志订阅客户端与日志订阅服务地址连接,使得日志订阅客户端和日志订阅服务端组件通过日志订阅服务地址连接,使日志订阅服务端组件能够接收日志订阅客户端的日志订阅请求,并将读取到的内存日志组件中的相应日志发送给日志订阅客户端,实现业务程序日志输出重定向到日志订阅客户端,以对指定大数据业务程序的日志进行实时监测,从而借助在大数据后台业务程序中引入内存日志组件和日志订阅服务端组件能够统一进行日志调取和日志读取(查看),进而极大改善日志调取较为繁琐的问题;同时,能够配合日志订阅客户端实现接近实时的远程日志定向输出,以便于开发人员快速了解程序运行状态与定位异常。

    本申请实施例还公开一种智能终端,包括存储器和处理器,存储器上存储有能够被处理器加载并执行如一种大数据服务程序日志处理方法中任一种方法的计算机程序。

    本申请实施例还公开一种计算机可读存储介质,存储有能够被处理器加载并执行如一种大数据服务程序日志处理方法中任一种方法的计算机程序。

    计算机可读存储介质例如包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

    以上均为本申请的较佳实施例,并非依此限制本申请的保护范围,故:凡依本申请的结构、形状、原理所做的等效变化,均应涵盖于本申请的保护范围之内。


    技术特征:

    1.一种大数据服务程序日志处理方法,其特征在于:所述处理方法包括,

    在大数据后台业务程序中引入内存日志组件,所述内存日志组件用于存储按业务需求写入的相应业务日志;

    在所述大数据后台业务程序中引入日志订阅服务端组件;

    将所述大数据后台业务程序部署到指定服务器,配置日志订阅服务地址和端口供日志订阅服务端组件使用;以及,

    将日志订阅客户端打开,并将日志订阅客户端连接到所述日志订阅服务地址;其中,所述日志订阅服务端组件用于在大数据后台业务程序启动后监听大数据后台业务程序运行所在服务器的指定日志订阅服务端口,以向日志订阅客户端提供进程内指定内存日志组件的远程订阅服务,所述日志订阅客户端用于进行日志监测。

    2.根据权利要求1所述的一种大数据服务程序日志处理方法,其特征在于:所述按业务需求写入内存日志组件的相应业务日志存储于内存缓冲区内。

    3.根据权利要求1或2所述的一种大数据服务程序日志处理方法,其特征在于:所述内存日志组件至少需提供日志缓冲区大小初始化值设定、缓冲区写入索引位置记录读取及设定、日志写入/发布方法和日志读取/拉取方法。

    4.根据权利要求1所述的一种大数据服务程序日志处理方法,其特征在于:所述日志订阅服务端组件可以同时被多个日志订阅客户端连接。

    5.根据权利要求1所述的一种大数据服务程序日志处理方法,其特征在于:所述日志订阅客户端可以连接多个业务日志订阅服务。

    6.根据权利要求1或5所述的一种大数据服务程序日志处理方法,其特征在于:所述日志订阅客户端可以通过网络与大数据后台业务服务集群连接,所述大数据后台业务服务集群包括多个服务器,一个所述服务器可以运行多个大数据后台业务程序。

    7.一种大数据服务程序日志处理系统,其特征在于:所述处理系统包括,

    第一调用模块,用于在大数据后台业务程序中引入内存日志组件,所述内存日志组件用于存储按业务需求写入的相应业务日志;

    第二调用模块,用于在所述大数据后台业务程序中引入日志订阅服务端组件;

    配置模块,用于将所述大数据后台业务程序部署到指定服务器,配置日志订阅服务地址和端口供日志订阅服务端组件使用;以及,

    日志订阅客户端配置模块,用于将日志订阅客户端打开,并将日志订阅客户端连接到所述日志订阅服务地址;其中,所述日志订阅服务端组件用于在大数据后台业务程序启动后监听大数据后台业务程序运行所在服务器的指定日志订阅服务端口,以向日志订阅客户端提供进程内指定内存日志组件的远程订阅服务,所述日志订阅客户端用于进行日志监测。

    8.一种智能终端,其特征在于:包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行如权利要求1至6中任一种方法的计算机程序。

    9.一种计算机可读存储介质,其特征在于:存储有能够被处理器加载并执行如权利要求1至6中任一种方法的计算机程序。

    技术总结
    本申请涉及种大数据服务程序日志处理方法及系统,属于大数据处理技术的领域,处理方法包括在大数据后台业务程序中引入内存日志组件,内存日志组件用于存储按业务需求写入的相应业务日志;在大数据后台业务程序中引入日志订阅服务端组件;将大数据后台业务程序部署到指定服务器,配置日志订阅服务地址和端口供日志订阅服务端组件使用;将日志订阅客户端打开,并将日志订阅客户端连接到日志订阅服务地址。与相关技术相比,本申请具有改善日志调取较为繁琐的问题的效果。

    技术研发人员:陈恩
    受保护的技术使用者:深圳前瞻资讯股份有限公司
    技术研发日:2020.12.11
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-22695.html

    最新回复(0)