掌桥专利:专业的专利平台
掌桥专利
首页

系统冷热日志的动态切换方法、装置及计算机设备

文献发布时间:2023-06-19 13:49:36


系统冷热日志的动态切换方法、装置及计算机设备

技术领域

本发明涉及数据处理领域,尤其涉及一种系统冷热日志的动态切换方法、装置及计算机设备。

背景技术

大型业务系统中,服务器节点较多,在运行过程中会产生大量的日志,日志一般以text-file的形式存储在linux服务器中,或者存储在关系型数据库中。

在前端BI系统中需要重新读取java后台落盘后的日志文件或者数据库文件,然后经过后台加工成后端数据接口,中间有大量的时间消耗,从而日志处理效率较低。

发明内容

本发明实施例通过提供一种系统冷热日志的动态切换方法、装置及计算机设备,解决了现有技术中日志处理效率低的技术问题。

第一方面,本发明实施例提供了一种系统冷热日志的动态切换方法,包括:进入第一阶段,将业务系统在所述第一阶段产生的第一日志数据存入业务系统的服务器硬盘,并收集用户群对所述业务系统的历史操作行为数据;进入第二阶段,基于用户群在所述第二阶段对所述业务系统的操作行为进行周期性更新所述历史操作行为数据;在所述第二阶段内,利用第i时段更新后的操作行为数据对所述业务系统在所述第i时段产生的第二日志数据进行分析,以区分出所述第二日志数据中的目标热日志数据和目标冷日志数据;将所述目标热日志数据存入所述业务系统的服务器内存,以及将所述目标冷日志数据存入所述服务器硬盘,以对所述服务器内存中热日志数据以及所述服务器硬盘中的冷日志数据进行动态更新,其中,i从1开始取依次增大的整数。

可选地,所述基于用户群在所述第二阶段对所述业务系统的操作行为进行周期性更新所述历史操作行为数据,包括:将所述第一日志数据从所述服务器硬盘读入至所述服务器内存;基于所述第一阶段产生的历史操作行为数据对读入至所述服务器内存的第一日志数据进行大数据分析,生成后端数据接口;通过所述后端数据接口调用前端BI系统的前端页面埋点,以更新所述历史操作行为数据。

可选地,在所述将所述目标热日志数据存入所述业务系统的服务器内存,以及将所述目标冷日志数据存入所述服务器硬盘之后,还包括:利用所述第i时段产生的第二日志数据中的目标热日志数据和目标冷日志数据,对所述后端数据接口进行第i次优化处理;基于第i次优化后的后端数据接口,调用所述调用前端BI系统的前端页面埋点,以继续在第i+1时段收集用户群对业务系统的操作行为数据。

可选地,还包括:在所述历史操作行为数据的数据量满足预设数量阈值,或者所述第一阶段的持续时长达到预设时间阈值时,触发结束所述第一阶段并进入所述第二阶段。

可选地,所述利用第i时段更新后的操作行为数据对所述业务系统在所述第i时段产生的第二日志数据进行分析,以区分出所述第二日志数据中的目标热日志数据和目标冷日志数据,包括:利用所述第i时段更新后的历史操作行为数据,对所述第i时段产生的第二日志数据进行计数加权计算分析,以区分出所述第二日志数据中的目标热日志数据和目标冷日志数据。

可选地,所述利用所述第i时段更新后的操作行为数据,对所述第二日志数据进行计数加权计算分析,以区分出所述第二日志数据中的目标热日志数据和目标冷日志数据,包括:利用所述第i时段更新后的操作行为数据,调整所述第二日志数据中对应日志的权重值;根据所述第二日志数据中每条日志的权重值,对所述第二日志数据进行日志排序;根据日志排序结果,区分出所述第二日志数据中的热日志数据和冷日志数据。

可选地,所述根据日志排序结果,区分出所述第二日志数据中的热日志数据和冷日志数据,包括:在所述第二阶段,在所述服务器内存中的热日志数据对所述服务器内存的占用率达到预设报警阈值时,减小所述目标热日志数据在所述第二日志数据中的比例,以维持所述服务器内存中的热日志数据对所述服务器内存的占用率低于预设报警阈值。

可选地,还包括:在所述第二阶段,在所述服务器内存中的热日志数据对所述服务器内存的占用率达到预设报警阈值时,则停止向所述服务器内存存入所述目标热日志数据;并将所述目标热日志数据中剩余日志和所述目标冷日志数据均存入所述服务器硬盘。

第二方面,本发明实施例提供了一种系统冷热日志的动态切换装置,包括:

第一日志处理单元,用于进入第一阶段,将业务系统在所述第一阶段产生的第一日志数据存入业务系统的服务器硬盘,并收集用户群对所述业务系统的历史操作行为数据;

第二日志处理单元,用于进入第二阶段,基于用户群在所述第二阶段对所述业务系统的操作行为进行周期性更新所述历史操作行为数据;在所述第二阶段内,利用第i时段更新后的操作行为数据对所述业务系统在所述第i时段产生的第二日志数据进行分析,以区分出所述第二日志数据中的目标热日志数据和目标冷日志数据;将所述目标热日志数据存入所述业务系统的服务器内存,以及将所述目标冷日志数据存入所述服务器硬盘,以对所述服务器内存中热日志数据以及所述服务器硬盘中的冷日志数据进行动态更新,其中,i从1开始取依次增大的整数。

第三方面,本发明实施例提供了一种计算机设备,包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现第一方面任一实施方式所述的方法。

本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

本发明实施例利用用户群对业务系统的操作行为数据对产生的日志数据进行区分出热日志数据与冷日志数据,仅仅将热日志数据存储业务系统的服务器内存,而冷日志数据存储业务系统的服务器硬盘,以动态维持服务器内存的热日志数据和服务器硬盘的冷日志数据动态更新,维持了服务器资源的高效利用,而对于热点日志数据可以直接在获取之后就在服务器内存进行分析,节省了从服务器硬盘读取热日志数据到内存的时间消耗,以此加速了日志处理效率,提高了用户访问速度。且由于只将常用的热点日志数据放入服务器内存,因此对服务器的内存压力不大。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中系统冷热日志的动态切换方法的流程图;

图2为图1中系统冷热日志的动态切换方法的细化步骤图;

图3为本发明实施例中系统冷热日志的动态切换装置的功能模块图;

图4为本发明实施例中计算机设备的结构示意图。

具体实施方式

为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。

首先说明,本文中出现的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

第一方面,参考图1所示,本发明实施例提供的一种系统冷热日志的动态切换方法,应用于业务系统。具体的,该业务系统包括多个服务器节点,本发明实施例提供的系统冷热日志的动态切换方法包括如下步骤S101~S103:

步骤S101:进入第一阶段,将业务系统在第一阶段产生的第一日志数据存入业务系统的服务器硬盘,并收集用户群对业务系统的历史操作行为数据。

具体的,在业务系统的每个服务器节点,均会产生用户对业务系统的操作行为数据。具体的,第一阶段为业务系统的初始运行阶段,由于业务系统在初始运行阶段还没有产生足够的操作行为数据,因此无法利用操作行为数据对第一日志数据进行分析,因此,在第一阶段无法区分出第一日志数据中的热日志数据和冷日志数据,因此,将第一阶段所产生的第一日志数据全部存储至服务器硬盘,可以避免错误或不准确的热日志数据对服务器内存的占用,以合理利用服务器的内存资源。

在第一阶段,还需要收集用户群对业务系统的历史操作行为数据,以便在第二阶段的每个时段,对第二阶段当前时段产生的第二日志数据进行区分冷、热日志数据。

具体的,可以通过前端页面埋点对用户群对业务系统的操作行为进行事件追踪,以收集用户群在第一阶段对业务系统的历史操作行为数据。其中,历史操作行为数据可以包括:用户在前端页面上点击的按钮选项、查看的数据内容等等数据。

在第一阶段的过程中,通过不断收集用户群对业务系统的操作行为数据并存储至业务系统的数据库中,从而操作行为数据不断累积,直至第一阶段结束时,从数据库中读取经第一阶段不断累积所得到的历史操作行为数据,可以作为大数据在后台对第一阶段产生的第一日志数据进行分析,得到第一日志数据的冷热日志分析结构,针对第一日志数据的冷热日志数据分析结果,通过java生成后端数据接口。

具体来讲,前端BI系统将第一日志数据从业务系统的服务器硬盘读入至服务器内存;在基于第一阶段产生的历史操作行为数据对读入至服务器内存的第一日志数据进行分析,从而生成后端数据接口;并通过生成的后端数据接口调用前端BI(behavior identity,行为识别系统)系统,通过前端BI系统的前端页面埋点,以继续收集用户群对业务系统的操作行为数据,以对历史操作行为数据进行更新。

从而,通过后端数据接口调用前端BI系统,并通过前端BI系统的前端页面埋点在第二阶段进行收集用户群对业务系统的操作行为数据,以动态更新用户群对业务系统的历史操作行为数据。

在第一阶段结束之后,执行步骤S102:进入第二阶段,基于用户群在第二阶段对业务系统的操作行为进行周期性更新历史操作行为数据。

在具体实施过程中,何时进入第二阶段,可以是在收集的历史操作行为数据的数据量满足预设数量阈值,或者第一阶段的持续时长达到预设时间阈值时触发结束第一阶段并进入第二阶段。

步骤S103:在第二阶段内,利用第i时段更新后的操作行为数据,对业务系统在第i时段产生的第二日志数据进行分析,以区分出第i时段内的目标热日志数据和目标冷日志数据;将第i时段内的目标热日志数据存入业务系统的服务器内存,以及将第i时段内的目标冷日志数据存入服务器硬盘,以对服务器内存中热日志数据以及服务器硬盘中的冷日志数据进行动态更新,其中,i从1开始取依次增大的整数。

在步骤S102中,将在第i时段所产生第二日志数据中的目标热日志数据存入业务系统的服务器内存,以及将目标冷日志数据存入服务器硬盘之后,利用第i时段产生的第二日志数据中的目标热日志数据和目标冷日志数据,对后端数据接口进行第i次优化处理;基于第i次优化后的后端数据接口调用前端BI系统,前端BI系统基于前端页面埋点在第i+1时段继续收集用户群对业务系统的操作行为数据。

进入第二阶段的第1时段之后,对第1时段所产生第二日志数据中进行区分出目标热日志数据和目标冷日志数据,并对应存储服务器内存和服务器硬盘;利用第1时段所产生第二日志数据中的目标热日志数据和目标冷日志数据,对第一阶段所生成的后端数据接口进行第1次优化,得到第1次优化后的后端数据接口;进入第二阶段的第2时段之后,对第2时段所产生第二日志数据中进行区分出目标热日志数据和目标冷日志数据,并对应存储服务器内存和服务器硬盘;利用第2时段所产生第二日志数据中的目标热日志数据和目标冷日志数据,对第1次优化后的后端数据接口进行第2次优化,得到第2次优化后的后端数据接口,以此规律进行下去,以动态实时将日志进行冷热区分,并直接将热日志数据放入服务器内容,并不端对后端数据接口进行优化。

在一些实施方式下,可以通过如下方式来区分第二日志数据中的目标热日志数据和目标冷日志数据:利用第i时段更新后的历史操作行为数据,对第二日志数据进行计数加权计算分析,以区分出第二日志数据中的目标热日志数据和目标冷日志数据。具体可以是通过如下实施过程实现:利用第i时段更新后的操作行为数据,调整第二日志数据中对应日志的权重值;根据第二日志数据中每条日志的权重值,对第二日志数据进行日志排序;根据日志排序结果,区分出第二日志数据中的热日志数据和冷日志数据。

举例来讲,每次用户在业务系统的前端页面上点击按钮选项、查看数据内容等等操作行为,会触发调整对应日志的权重值+1;如果在点击后在2秒内返回,则对第二日志数据中对应日志的权重值-1。比如,用户加入购物车的操作行为,会触发调整对应日志的权重值+1。

从而用户群在业务系统的前端页面上的操作行为,会改变第i时段内产生的目标日志数据中各条日志数据的权重。可以根据1分钟为间隔划分时段,即:基于当前1分钟更新后的操作行为数据,对当前1分钟产生的第二日志数据进行分析,以区分出当前1分钟内产生的目标日志数据和目标冷日志数据。

具体的,可以根据日志排序结果和预设热日志比例“x%”,将第一日志数据中的排名靠前的x%条日志数据,确定为目标热日志数据并存入至服务器内存;而将第一日志数据中其他条日志确定为目标冷日志数据并存入至服务器硬盘。

进一步的,为了避免日志存入内存对服务器的内存资源的过渡消耗,会影响内存的其他处理过程;在第二阶段,如果服务器内存中的热日志数据对服务器内存的占用率达到预设报警阈值时,则停止向服务器内存存入目标热日志数据;并将目标热日志数据中剩余日志和目标冷日志数据均存入服务器硬盘。

具体的,业务系统中服务器的服务器内存中,热日志数据对服务器内存的占用率达到75%,则停止向业务系统的服务器内存存入目标热日志数据。

与上述实施方式不同的是,为了避免日志存入内存对服务器的内存资源的过渡消耗,会影响内存的其他处理过程;在第二阶段,服务器内存中的热日志数据对服务器内存的占用率达到预设报警阈值时,减小目标热日志在第二日志数据中的比例,以减少存入服务器内存的热日志数据的数据量,以维持服务器内存中的热日志数据对服务器内存的占用率低于预设报警阈值。

在具体实施过程中,基于预先自定义的动态切换条件,对服务器内存中的热日志数据以及所述服务器硬盘中的冷日志数据进行动态更新。

具体的,业务系统的应用场景不同,自定义的动态切换条件可以不同。具体的,对于商品交易系统,动态切换条件可以是基于特定用户群体对商品交易系统的操作行为数据变化,对服务器内存中的热日志数据以及所述服务器硬盘中的冷日志数据进行动态更新。

有一些业务系统,比如天气应用,可以以季节变化或者天气变化作为动态切换条件,对服务器内存中的热日志数据以及服务器硬盘中的冷日志数据进行动态更新,即利用天气变化数据或者季节变化数据对第二日志数据进行区分冷热日志数据,以对服务器内存中的热日志数据以及服务器硬盘中的冷日志数据进行动态更新。

本发明实施例利用用户群对业务系统的操作行为数据对产生的日志数据进行区分出热日志数据与冷日志数据,仅仅将热日志数据存储业务系统的内容区域,而冷日志数据存储业务系统的服务器硬盘,以动态维持服务器内存的热日志数据和服务器硬盘的冷日志数据动态更新,维持了服务器资源的高效利用,而对于热点日志数据可以直接在获取之后就在服务器内存进行分析,节省了从服务器硬盘读取热日志数据的时间消耗,加速了日志处理效率,提高了用户访问速度。且由于只将常用的热点日志数据放入服务器内存,因此对服务器的内存压力不大。

下面,参考图2,以业务系统包括两个服务器节点(服务器节点01:server01,服务器节点02:server02)为例对本发明实施例所提供的技术方案进行举例说明,以理解本发明:

针对各个服务器节点(server01,server02)将所产生的第一日志数据执行步骤01:存入服务器硬盘,接着,进入步骤04;

执行步骤04:从服务器硬盘读取第一日志数据至服务器内存后,在服务器内存进行日志分析,并通过java生成后端数据接口,接着进入步骤05;

步骤05:后端数据接口调用前端BI系统,前端BI系统通过前端页面埋点获取用户操作行为数据,接着,进入步骤06;

步骤06:通过前端埋点数据获取的用户操作行为数据,基于计数加权算法对产生的第二日志数据日志进行分析,区分出热日子数据和冷日志数据,并针对冷日志数据执行步骤02,针对热日志数据执行步骤01;

步骤02:存入服务器内存;

步骤04:基于热日志数据对后端数据接口进行优化,还可以从服务器硬盘读取冷日志数据至服务器内存对后端数据接口进行优化,并给予优化后的后端数据接口并返回步骤05。

第二方面,基于同一发明构思,本发明实施例提供了一种系统冷热日志的动态切换装置,参考图3所示,包括:

第一日志处理单元301,用于进入第一阶段,将业务系统在所述第一阶段产生的第一日志数据存入业务系统的服务器硬盘,并收集用户群对所述业务系统的历史操作行为数据;

第二日志处理单元302,用于进入第二阶段,基于用户群在所述第二阶段对所述业务系统的操作行为进行周期性更新所述历史操作行为数据;在所述第二阶段内,利用第i时段更新后的操作行为数据对所述业务系统在所述第i时段产生的第二日志数据进行分析,以区分出所述第二日志数据中的目标热日志数据和目标冷日志数据;将所述目标热日志数据存入所述业务系统的服务器内存,以及将所述目标冷日志数据存入所述服务器硬盘,以对所述服务器内存中热日志数据以及所述服务器硬盘中的冷日志数据进行动态更新,其中,i从1开始取依次增大的整数。

在一些实施方式下,第一日志处理单元301,包括:

读入子单元,用于将所述第一日志数据从所述服务器硬盘读入至所述服务器内存;

数据分析子单元,用于基于所述第一阶段产生的历史操作行为数据对读入至所述服务器内存的第一日志数据进行大数据分析,生成后端数据接口;

数据更新子单元,用于通过所述后端数据接口调用前端BI系统的前端页面埋点,以更新所述历史操作行为数据。

在一些实施方式下,本发明实施例提供的系统冷热日志的动态切换装置,还包括:

接口优化单元,用于利用所述第i时段产生的第二日志数据中的目标热日志数据和目标冷日志数据,对所述后端数据接口进行第i次优化处理;

前后联调单元,用于基于第i次优化后的后端数据接口,调用所述调用前端BI系统的前端页面埋点,以继续在第i+1时段收集用户群对业务系统的操作行为数据。

在一些实施方式下,本发明实施例提供的系统冷热日志的动态切换装置,还包括:

触发单元,用于在所述历史操作行为数据的数据量满足预设数量阈值,或者所述第一阶段的持续时长达到预设时间阈值时,触发结束所述第一阶段并进入所述第二阶段。

在一些实施方式下,第二日志处理单元302包括:

加权分析子单元,用于利用所述第i时段更新后的历史操作行为数据,对所述第i时段产生的第二日志数据进行计数加权计算分析,以区分出所述第二日志数据中的目标热日志数据和目标冷日志数据。

在一些实施方式下,加权分析子单元包括:

权重计算模块,用于利用所述第i时段更新后的操作行为数据,调整所述第二日志数据中对应日志的权重值;

日志排序模块,用于根据所述第二日志数据中每条日志的权重值,对所述第二日志数据进行日志排序;

日志区分模块,用于根据日志排序结果,区分出所述第二日志数据中的热日志数据和冷日志数据。

在一些实施方式下,日志区分模块,还用于:

在所述第二阶段,在所述服务器内存中的热日志数据对所述服务器内存的占用率达到预设报警阈值时,减小所述目标热日志数据在所述第二日志数据中的比例,以维持所述服务器内存中的热日志数据对所述服务器内存的占用率低于预设报警阈值。

在一些实施方式下,第二日志处理单元302用于:

停止入内存单元,用于在所述第二阶段,在所述服务器内存中的热日志数据对所述服务器内存的占用率达到预设报警阈值时,则停止向所述服务器内存存入所述目标热日志数据;并将所述目标热日志数据中剩余日志和所述目标冷日志数据均存入所述服务器硬盘。

在一些实施方式下,第二日志处理单元302具体用于:基于预先自定义的动态切换条件,对所述服务器内存中的热日志数据以及所述服务器硬盘中的冷日志数据进行动态更新。

本发明实施例所描述的系统冷热日志的动态切换装置为用于实施前述系统冷热日志的动态切换方法的装置,该系统冷热日志的动态切换装置的更多实施细节可以参考前述系统冷热日志的动态切换方法实施例,为了说明书的简洁,在此不再赘述。

第三方面,基于同一发明构思,本发明实施例提供了一种计算机设备,参考图4所示,包括一个或多个处理器402和一个或多个存储器401,所述一个或多个存储器401中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器402加载并执行以实现第一方面任一实施方式所述的系统冷热日志的动态切换方法。

其中,在图4中,总线架构(用总线400来代表),总线400可以包括任意数量的互联的总线和桥,总线400将包括由处理器402代表的一个或多个处理器和存储器401代表的存储器的各种电路链接在一起。总线400还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口405在总线400和接收器403和发送器404之间提供接口。接收器403和发送器404可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器402负责管理总线400和通常的处理,而存储器401可以被用于存储处理器402在执行操作时所使用的数据。

第四方面,基于同一发明构思,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一实施方式所述的系统冷热日志的动态切换方法。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

相关技术
  • 系统冷热日志的动态切换方法、装置及计算机设备
  • 基于设备日志的设备操作用时估算系统及方法、基于设备日志的动态预约系统及其实现方法
技术分类

06120113822703