会话时长计算方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:37974224 阅读:9 留言:0更新日期:2023-06-30 09:49
本申请提供一种会话时长计算方法、装置、计算机设备及存储介质,所述方法通过创建访问日志表,并生成所述访问日志表中各个会话的链接标识;根据所述各个会话的链接标识、开始时间、结束时间以及访问时长,创建会话日志表,并将所述会话日志表中的链接标识以及开始时间作为会话标识;基于ClickHouse替换引擎,对所述会话日志表中相同会话标识的记录进行替换。本发明专利技术将会话时长算法集成到ClickHouse数据库,充分利用ClickHouse聚合引擎、替换引擎,实现访问时长的实时统计,不仅减少中间环节,节省了诸如Kafka占用的设备、存储、运维等成本,而且无需开发外部应用程序,避免数据读出来、再写进去产生的带宽、内存成本。内存成本。内存成本。

【技术实现步骤摘要】
会话时长计算方法、装置、计算机设备及存储介质


[0001]本申请涉及会话处理
,尤其涉及一种会话时长计算方法、装置、计算机设备及存储介质。

技术介绍

[0002]在云计算、边缘计算等领域,为了满足信安监管需求,以及自身业务需求,需要对网络访问进行日志记录、统计分析。不同于数据中心,可通过部署专用设备进行分析统计,在边缘计算场景,设备自身资源有限,不便于做一些统计分析等耗资源操作,往往是将访问日志推送到中心服务器进行处理。目前主流方案大多是将日志推送到Kafka集群,然后编写程序从Kafka集群订阅消息,进行离线统计分析,再将结果保存到时序数据库。网络流量往往会产生大量的日志,在此方案里,需要使用Kafka作为中间数据存储,会产生双倍的存储成本及带宽成本;并且对于访问时长统计,分析完再存储,存在比较大的延迟,而如果实时存储,时序数据库一般不支持更新操作,或者更新操作需要消耗较多的系统资源,从而导致性能下降,无法满足海量数据存储需求。

技术实现思路

[0003]本申请提供了一种会话时长计算方法、装置、计算机设备及存储介质,以实现会话时长的实时统计。
[0004]第一方面,本申请提供了一种会话时长计算方法,所述会话时长计算方法包括:
[0005]创建访问日志表,并生成所述访问日志表中各个会话的链接标识;
[0006]基于Clickhouse物化视图,对所述访问日志表中相同链接标识的记录进行聚合与切割,并计算出各个会话的开始时间、结束时间以及访问时长;
[0007]根据所述各个会话的链接标识、开始时间、结束时间以及访问时长,创建会话日志表,并将所述会话日志表中的链接标识以及开始时间作为会话标识;
[0008]基于ClickHouse替换引擎,对所述会话日志表中相同会话标识的记录进行替换,以实现会话时长的实时统计。
[0009]进一步地,所述会话时长计算方法还包括:
[0010]根据所述会话日志表中最后访问时间小于预设访问间隔阈值的会话记录,创建最后会话字典表;
[0011]在所述预设访问间隔阈值内,对所述最后会话字典表中的最后会话记录进行刷新。
[0012]所述基于ClickHouse替换引擎,对所述会话日志表中相同会话标识的记录进行替换,以实现会话时长的实时统计之前,还包括:
[0013]通过物化视图,对所述访问日志表进行统计分析,并根据统计分析结果,存储至所述会话日志表。
[0014]所述通过物化视图,对所述访问日志表进行统计分析,并根据统计分析结果,存储
至所述会话日志表,包括:
[0015]将所述访问日志表中的各个会话,按照所述链接标识进行分组,生成各个会话组;
[0016]将同一组链接标识的会话组,按照时间进行排序;
[0017]按照所述访问时间阈值,将各个排序后的会话组进行切割,生成N个有序时间的会话组;
[0018]将所述N个有序时间的会话组拆分为多条会话记录;
[0019]取各条会话记录的最小时间,作为所述开始时间,取各条会话记录的最大时间,作为所述结束时间;
[0020]根据所述开始时间与所述结束时间的差值,生成所述访问时长;
[0021]将各个链接标识以及对应的开始时间、结束时间以及访问时长,存储至所述会话日志表。
[0022]所述在所述预设访问间隔阈值内,对所述最后会话字典表中的最后会话记录进行刷新,包括:
[0023]从所述最后会话字典表中获取各个链接标识对应的最后会话信息,作为所述最后会话记录;
[0024]根据所述N个有序时间的会话组中第一个会话组的最小时间以及所述最后会话记录的结束时间,计算得到时间差值;
[0025]在所述时间差值小于所述访问间隔阈值时,获取所述最后会话记录的开始时间,作为所述第一个会话组的开始时间,完成最后访问时长的更新。
[0026]所述会话时长计算方法还包括:
[0027]每隔所述访问间隔阈值,从所述会话日志表中读取最后访问时长小于所述访问间隔阈值的会话记录,存储至所述最后会话字典表。
[0028]所述链接标识包括各个会话的访问时间、源IP、目标IP、源端口、目的端口和协议。
[0029]第二方面,本申请还提供了一种会话时长计算装置,所述会话时长计算装置包括:
[0030]访问日志创建模块,用于创建访问日志表,并生成所述访问日志表中各个会话的链接标识;
[0031]会话参数计算模块,用于基于Clickhouse物化视图,对所述访问日志表中相同链接标识的记录进行聚合与切割,并计算出各个会话的开始时间、结束时间以及访问时长;
[0032]会话日志创建模块,用于根据所述各个会话的链接标识、开始时间、结束时间以及访问时长,创建会话日志表,并将所述会话日志表中的链接标识以及开始时间作为会话标识;
[0033]会话时长统计模块,用于基于ClickHouse替换引擎,对所述会话日志表中相同会话标识的记录进行替换,以实现会话时长的实时统计。
[0034]第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的会话时长计算方法。
[0035]第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的会话时长计算方法。
[0036]本申请公开了一种会话时长计算方法、装置、计算机设备及存储介质,所述方法通过创建访问日志表,并生成所述访问日志表中各个会话的链接标识;基于Clickhouse物化视图,对所述访问日志表中相同链接标识的记录进行聚合与切割,并计算出各个会话的开始时间、结束时间以及访问时长;根据所述各个会话的链接标识、开始时间、结束时间以及访问时长,创建会话日志表,并将所述会话日志表中的链接标识以及开始时间作为会话标识;基于ClickHouse替换引擎,对所述会话日志表中相同会话标识的记录进行替换,以实现会话时长的实时统计。通过上述方式,本专利技术将会话时长算法集成到ClickHouse数据库,充分利用ClickHouse聚合引擎、替换引擎,实现访问时长的实时统计,不仅减少中间环节,节省了诸如Kafka占用的设备、存储、运维等成本,而且无需开发外部应用程序,避免数据读出来、再写进去产生的带宽、内存成本。
附图说明
[0037]为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0038]图1是本申请的实施例提供的一种会话时长计算方法的示意流程图;
[0039]图2是本申请的实施例提供的一种计算机设备的结构示意性框图。
具体本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种会话时长计算方法,其特征在于,所述会话时长计算方法包括:创建访问日志表,并生成所述访问日志表中各个会话的链接标识;基于Clickhouse物化视图,对所述访问日志表中相同链接标识的记录进行聚合与切割,并计算出各个会话的开始时间、结束时间以及访问时长;根据所述各个会话的链接标识、开始时间、结束时间以及访问时长,创建会话日志表,并将所述会话日志表中的链接标识以及开始时间作为会话标识;基于ClickHouse替换引擎,对所述会话日志表中相同会话标识的记录进行替换,以实现会话时长的实时统计。2.根据权利要求1所述的会话时长计算方法,其特征在于,所述会话时长计算方法还包括:根据所述会话日志表中最后访问时间小于预设访问间隔阈值的会话记录,创建最后会话字典表;在所述预设访问间隔阈值内,对所述最后会话字典表中的最后会话记录进行刷新。3.根据权利要求2所述的会话时长计算方法,其特征在于,所述基于ClickHouse替换引擎,对所述会话日志表中相同会话标识的记录进行替换,以实现会话时长的实时统计之前,还包括:通过物化视图,对所述访问日志表进行统计分析,并根据统计分析结果,存储至所述会话日志表。4.根据权利要求3所述的会话时长计算方法,其特征在于,所述通过物化视图,对所述访问日志表进行统计分析,并根据统计分析结果,存储至所述会话日志表,包括:将所述访问日志表中的各个会话,按照所述链接标识进行分组,生成各个会话组;将同一组链接标识的会话组,按照时间进行排序;按照所述访问时间阈值,将各个排序后的会话组进行切割,生成N个有序时间的会话组;将所述N个有序时间的会话组拆分为多条会话记录;取各条会话记录的最小时间,作为所述开始时间,取各条会话记录的最大时间,作为所述结束时间;根据所述开始时间与所述结束时间的差值,生成所述访问时长;将各个链接标识以及对应的开始时间、结束时间以及访问时长,存储至所述会话日志表。5.根据权利要求4所述的会话时长计算方法,其特征在于,所述在所述预设访问间隔阈值内,对所述最后会话...

【专利技术属性】
技术研发人员:沈永胜林金良王颖伟
申请(专利权)人:厦门吉快科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1