CN111046240A - 网关流量统计方法、装置、计算机设备和存储介质 - Google Patents
网关流量统计方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111046240A CN111046240A CN201911177866.9A CN201911177866A CN111046240A CN 111046240 A CN111046240 A CN 111046240A CN 201911177866 A CN201911177866 A CN 201911177866A CN 111046240 A CN111046240 A CN 111046240A
- Authority
- CN
- China
- Prior art keywords
- user request
- user
- record
- request
- statistical
- 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
Links
- 238000007619 statistical method Methods 0.000 title abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000004590 computer program Methods 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 9
- 238000004458 analytical method Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种网关流量统计方法、装置、计算机设备和存储介质,根据用户请求携带的用户标识和应用标识对用户请求进行分类,根据该用户请求的接收时间和统计的时间间隔得出时间序列,再根据用户请求的类型和时间序列生成对应的用户请求记录,将用户请求记录存储到本地内存中;进一步地,将用户请求对应的流量统计指标值存储到本地内存对应的用户请求记录中,最后将本地内存的用户请求记录写入数据库。本方法避免每接收到一个用户请求就要生成一条用户请求记录,减少用户请求记录在本地内存和数据库中的存储空间,缓解后期存储压力。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种网关流量方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的迅速发展,越来越多的用户使用智能设备并通过网络连接服务器来获取到想要的信息。为了更方便地监测网络使用情况,通过对用户的请求、访问次数等流量情况进行统计,再对流量统计的数据进行分析,根据分析的结果进行针对性的处理。
传统的技术方案通过在网关接入层服务器上,对每一条用户请求记录一条日志,再将每一条日志文件分类归档,导入数据库系统中做统计分析。然而,一个中型流量的网站每天有数亿次请求,生成大量的日志文件数据,导致后期存储压力较大。
发明内容
基于此,有必要针对上述技术问题,提供一种能够缓解后期存储压力的网关流量统计方法、装置、计算机设备和存储介质。
一种网关流量统计方法,所述方法包括:
接收用户请求,获取所述用户请求对应的接收时间点,所述用户请求携带用户标识和应用标识;
根据所述用户标识和应用标识,对所述用户请求进行分类,得到所述用户请求对应的请求类型;
获取统计时间间隔,根据所述统计时间间隔和接收时间点确定时间序列;
根据所述请求类型和所述时间序列生成对应的用户请求记录,将所述用户请求记录存储到本地内存中;
获取所述用户请求对应的流量统计指标值,将所述流量统计指标值存储到本地内存对应的用户请求记录中;
根据所述时间序列将本地内存中的用户请求记录写入数据库中。
在其中一个实施例中,所述根据所述请求类型和所述时间序列生成对应的用户请求记录,将所述用户请求记录存储到本地内存中包括:
将所述请求类型与所述时间序列进行组合得到的组合结果作为所述用户请求的请求键,计算得到所述请求键对应的键值;
建立所述键值与所述用户请求之间的关联关系,将所述关联关系形成用户请求记录存储至本地内存中;
在其中一个实施例中,所述获取所述用户请求对应的流量统计指标值,将所述流量统计指标值存储到对应的用户请求记录中包括:
当接收到用户请求时,查找所述用户请求对应的键值;
当查找到所述键值时,获取所述用户请求和所述用户请求记录中对应的流量统计指标值;
将所述用户请求的各个流量统计指标值和所述用户请求记录中的各个流量统计指标值对应相加,得到当前时间序列的各个流量统计指标值的统计情况,并存储在用户请求记录中。
在其中一个实施例中,所述方法还包括:
当所述接收到的用户请求未查找到对应的键值时,执行所述根据所述用户标识和应用标识,对所述用户请求进行分类,得到所述用户请求对应的请求类型的步骤。
在其中一个实施例中,所述根据所述时间序列将所述用户请求记录写入数据库中包括:
使用异步线程在固定时间间隔内扫描所述本地内存,得到扫描结果;所述固定时间间隔在所述统计时间间隔范围内;
根据所述扫描结果,将上一个时间序列的用户请求记录写入数据库中,并清空本地内存中上一个时间序列的用户请求记录。
在其中一个实施例中,在所述将所述用户请求记录写入数据库中之后,所述方法还包括:
获取统计周期,根据时间间隔的长度,将所述统计周期分为不同的级别;
根据统计周期的级别,在数据库中对所述用户请求记录进行多级统计,得到多级统计的结果;
将所述多级统计的结果存储到数据库中。
在其中一个实施例中,所述根据统计周期的级别,对所述用户请求进行多级统计,得到多级统计的结果包括:
获取第一统计周期,将第一统计周期内请求类型相同的用户请求记录进行汇总,得到第一统计周期内的用户请求记录;
获取第二统计周期,所述第二统计周期包含多个第一统计周期;
根据请求类型,将第二统计周期内的每个第一统计周期内的用户请求记录进行汇总,得到第二统计周期内的用户请求记录。
一种网关流量统计装置,所述装置包括:
用户请求接收模块,用于接收用户请求,获取所述用户请求对应的接收时间点,所述用户请求携带用户标识和应用标识;
用户请求分类模块,用于根据所述用户标识和应用标识,对所述用户请求进行分类,得到所述用户请求对应的请求类型;
时间序列确定模块,用于获取统计时间间隔,根据所述统计时间间隔和接收时间点确定时间序列;
用户请求记录生成模块,用于根据所述请求类型和所述时间序列生成对应的用户请求记录,将所述用户请求记录存储到本地内存中;
流量统计指标值存储模块,用于获取所述用户请求对应的流量统计指标值,将所述流量统计指标值存储到本地内存对应的用户请求记录中;
用户请求记录写入模块,用于根据所述时间序列将所述用户请求记录写入数据库中。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收用户请求,获取所述用户请求对应的接收时间点,所述用户请求携带用户标识和应用标识;
根据所述用户标识和应用标识,对所述用户请求进行分类,得到所述用户请求对应的请求类型;
获取统计时间间隔,根据所述统计时间间隔和接收时间点确定时间序列;
根据所述请求类型和所述时间序列生成对应的用户请求记录,将所述用户请求记录存储到本地内存中;
获取所述用户请求对应的流量统计指标值,将所述流量统计指标值存储到本地内存对应的用户请求记录中;
根据所述时间序列将本地内存中的用户请求记录写入数据库中。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收用户请求,获取所述用户请求对应的接收时间点,所述用户请求携带用户标识和应用标识;
根据所述用户标识和应用标识,对所述用户请求进行分类,得到所述用户请求对应的请求类型;
获取统计时间间隔,根据所述统计时间间隔和接收时间点确定时间序列;
根据所述请求类型和所述时间序列生成对应的用户请求记录,将所述用户请求记录存储到本地内存中;
获取所述用户请求对应的流量统计指标值,将所述流量统计指标值存储到本地内存对应的用户请求记录中;
根据所述时间序列将本地内存中的用户请求记录写入数据库中。
上述网关流量统计方法、装置、计算机设备和存储介质,在接收到用户请求之后,根据用户请求携带的用户标识和应用标识对用户请求进行分类,得到用户请求的类型,根据该用户请求的接收时间和统计的时间间隔得出时间序列,再根据用户请求的类型和时间序列生成对应的用户请求记录,将用户请求记录存储到本地内存中;进一步地,获取用户请求对应的流量统计指标值,将流量统计指标值存储到本地内存对应的用户请求记录中,最后将本地内存的用户请求记录写入数据库。与传统方案将每条用户请求记录为一条日志,再分类导入数据库中分析不同,本方法通过预先在本地内存中对用户请求进行分类,根据用户请求类型和时间序列将用户请求聚合到一起,生成对应的用户请求记录,并把对应的流量统计指标值存储到对应的用户请求记录,再存储到数据库中,避免每接收到一个用户请求就要生成一条用户请求记录,减少用户请求记录在本地内存和数据库中的存储空间,缓解后期存储压力。
附图说明
图1为一个实施例中网关流量统计方法的应用环境图;
图2为一个实施例中网关流量统计方法的流程示意图;
图3为一个实施例中按用户标识分类的流量统计情况示意图;
图4为一个实施例中按应用标识分类的流量统计情况示意图;
图5为一个实施例中对用户请求进行多级统计的流程示意图;
图6为一个实施例中统计时间间隔为一天的流量统计情况示意图;
图7为一个实施例中网关流量统计装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的网关流量统计方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与服务器120通过网络进行通信。终端110发起了携带用户标识和应用标识的用户请求。服务器120在接收终端110发起的用户请求,获取该用户请求对应的接收时间点。服务器120根据该用户请求的用户标识和应用标识对该用户请求进行分类得到用户请求的类型。服务器120获取统计时间间隔,根据该用户请求对应的接收时间点和统计的时间间隔确定时间序列。进一步地,服务器120根据该时间序列和用户请求的类型生成该用户请求对应的用户请求记录并存储到本地内存中;获取用户请求对应的流量统计指标值,将流量统计指标值存储到本地内存对应的用户请求记录中,最后将本地内存的用户请求记录写入数据库。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种网关流量统计方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,接收用户请求,获取用户请求对应的接收时间点,用户请求携带用户标识和应用标识。
其中,用户请求是由终端发起的,终端通过发起用户请求来对网络应用的页面进行操作。该网络应用可以是浏览器或者其他可以显示页面内容的应用程序,如游戏应用和即时通信应用等。该用户请求还携带有用户标识和所要操作的目标网络应用的标识。其中,用户标识用于唯一标识用户,可以是用户的名称或者用户的位置信息等。网络应用的标识用于唯一标识网络应用,可以是网络应用的名称或者网络应用的链接等。当接收到用户请求时,服务器可以获取该用户请求时对应的接收时间点,对用户请求进行时间上的统计和分析。
具体地,终端发起用户请求。服务器通过网络连接接收到终端发起的用户请求,获取该用户请求对应的接收时间点。
步骤204,根据用户标识和应用标识,对用户请求进行分类,得到用户请求对应的请求类型。
具体地,服务器在接收到用户请求后,可以通过用户请求携带的用户标识和应用标识,对接收到的用户请求进行分类。分类后的用户请求可以依据分类的类型进行统计分析。
在一个实施例中,可以根据终端发起用户请求时对应的用户账号对用户请求进行统计。例如,2019年1月1日10:00,一个用户账号为A的用户通过终端发起了用户请求1;2019年1月1日10:05,一个用户账号为B的用户发起了用户请求2;2019年1月1日10:20,用户账号为A的用户发起了用户请求3。根据用户账号对用户请求进行分类,可以将相同用户账号发起的用户请求统计到一起,最终得到一类是用户账号为A的用户请求,一类是用户账号为B的用户请求,可以根据统计的结果得知每个用户账号对应的用户发起用户请求的情况。
在一个实施例中,可以根据用户请求中请求访问的应用名称对用户请求进行统计。例如,2019年1月3日09:30,一个用户账号为A的用户终端发起了访问应用名称为a的应用的用户请求;2019年1月3日10:33,一个用户账号为A的用户终端发起了访问应用名称为b的应用的用户请求;2019年1月3日12:16,一个用户账号为A的用户终端发起了访问应用名称为a的应用的用户请求。根据应用名称对用户请求进行分类,可以将访问相同应用的用户请求统计到一起,最终得到一类是应用名称为a的用户请求,一类是应用名称为b的用户请求,可以根据统计的结果得知每个应用对应的访问的情况。
步骤206,获取统计时间间隔,根据统计时间间隔和接收时间点确定时间序列。
其中,统计时间间隔用于对用户请求进行统计,是将用户请求统计为对应的用户请求记录的时间刻度间隔。时间序列是每个用户请求的时间标识,是将用户请求记录存储至数据库的时间标签。
具体地,时间序列可以由统计时间间隔和用户请求的接收时间点来确定。服务器通过用户请求的接收时间点可以确定用户请求对应的系统时间。其中,系统时间为1970年1月1日00:00:00到该用户请求对应的接收时间点间的对应的毫秒数。将系统时间除以统计时间间隔后取整,得到时间序列。
步骤208,根据请求类型和时间序列生成对应的用户请求记录,将用户请求记录存储到本地内存中。
其中,用户请求记录包括用户历史请求信息,是对用户请求的记录。
具体地,根据用户请求的请求类型和时间序列,将相同类型的用户请求按时间序列的先后顺序聚合到一起,可以得到对应的用户请求记录。
在一个实施例中,可以将相同用户标识的用户请求按时间序列的先后顺序聚合,得到对应的用户请求记录。
在一个实施例中,可以将相同应用标识的用户请求按时间序列的先后顺序聚合,得到对应的用户请求记录。
步骤210,获取用户请求对应的流量统计指标值,将流量统计指标值存储到本地内存对应的用户请求记录中。
具体地,流量统计指标值可以用于统计该用户请求对应的流量消耗情况,包括但不限于点击率、流量和请求时长。服务器获取用户请求对应的点击率、流量和请求时长,将该用户请求对应的点击率、流量和请求时长对应地存储到用户请求记录中。
步骤212,根据时间序列将本地内存中的用户请求记录写入数据库中。
具体地,由于时间序列是由统计时间间隔和用户请求的接收时间点确定得到的,所以时间序列是具有先后顺序的。服务器根据时间序列的先后顺序,将本地内存中的用户请求记录写入数据库中。
上述网关流量统计方法中,在接收到用户请求之后,根据用户请求携带的用户标识和应用标识对用户请求进行分类,根据该用户请求的接收时间和统计的时间间隔得出时间序列,再根据用户请求的类型和时间序列生成对应的用户请求记录,将用户请求记录存储到本地内存中;进一步地,将用户请求对应的流量统计指标值存储到本地内存对应的用户请求记录中,最后将本地内存的用户请求记录写入数据库。本方法避免每接收到一个用户请求就要生成一条用户请求记录,减少用户请求记录在本地内存和数据库中的存储空间,缓解后期存储压力。
在一个实施例中,将根据请求类型和时间序列生成对应的用户请求记录,将用户请求记录存储到本地内存中包括:将请求类型与时间序列进行组合得到的组合结果作为用户请求的请求键,计算得到该请求键对应的键值;建立该键值与用户请求之间的关联关系,将关联关系形成用户请求记录存储至本地内存中。
其中,键与键值是对应存在的关联关系。
具体地,服务器将用户请求的请求类型和时间序列组合作为用户请求的请求键,根据键值算法,计算得到请求键对应的键值。服务器建立键值和用户请求键的关联关系,形成用户请求记录,将用户请求记录存储到本地内存中。
在一个实施例中,可以使用哈希函数来计算请求键对应的键值。
本实施例中,服务器通过键值对来建立用户请求和用户请求记录之间的关系,将用户请求和对应的用户请求记录一一对应,提高了查找用户请求对应的用户请求记录的速度,且记录了用户请求对应的流量情况。
在一个实施例中,获取所述用户请求对应的流量统计指标值,将所述流量统计指标值存储到对应的用户请求记录中包括:当接收到用户请求时,查找该用户请求对应的键值;当查找到该用户请求对应的键值时,获取该用户请求和该用户请求记录中对应的流量统计指标值;将用户请求的流量统计指标值和用户请求记录中的流量统计指标值对应相加,得到当前时间序列中的各个流量统计指标值的统计情况,并存储在用户请求记录中。
具体地,由于服务器通过键值对建立了用户请求和用户请求记录之间的关系,因此,当接收到用户请求时,服务器可以根据用户请求对应的请求键,快速地查找到对应的键值,即对应的用户请求记录。在查找到该用户请求对应的用户请求记录时,服务器获取该用户请求和该用户请求记录中对应的流量统计指标值,将用户请求的流量统计指标值和用户请求记录中的流量统计指标值对应相加。当流量统计指标值为点击率时,将对应的用户请求记录中的点击率统计值加一;当流量统计指标值为流量或请求时长时,将对应的用户请求记录中的流量或请求时长累加;从而得到当前时间序列中各个流量统计指标值的统计情况,如图3和图4所示。
本实施例中,当服务器接收到一个用户请求后,可以快速地查找到该用户请求对应的用户请求记录。将该用户请求和对应的用户请求记录中的流量统计指标值对应相加,得出当前时间序列累计的流量统计指标值的统计情况。
在一个实施例中,方法还包括:当接收到的用户请求未查找到对应的键值时,执行根据用户标识和应用标识,对用户请求进行分类,得到用户请求对应的请求类型的步骤。
具体地,当服务器接收到用户请求时会根据用户请求的请求键查找对应的键值,即对应的用户请求记录。当该用户请求未查找到对应的键值时,说明在该用户请求之前,服务器未接收到与该用户请求相同请求类型的用户请求,该用户请求当前没有对应的用户请求记录。所以,当服务器接收到的用户请求未查找到对应的键值时,返回执行根据用户标识和应用标识,对用户请求进行分类,得到用户请求对应的请求类型的步骤,从而创建一条新的用户请求记录。
本实施例中,当服务器接收到一个用户请求后,未查找到该用户请求对应的键值时,可以根据该用户请求的请求类型,创建一条新的用户请求记录。
在一个实施例中,根据时间序列将用户请求记录写入数据库中包括:使用异步线程在固定时间间隔内扫描本地内存,得到扫描结果,该固定时间间隔在该统计时间间隔范围内;根据扫描结果,将上一个时间序列的用户请求记录写入数据库中,并清空本地内存中上一个时间序列的用户请求记录。
其中,异步线程是指计算机多线程的异步处理。与同步处理相对,异步线程处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。也就是说,使用异步线程的服务器可以同时服务的请求数比使用同步线程的服务器可以同时服务的用户请求数量更多,并且可以避免对用户请求造成性能上的影响。
具体地,使用异步线程在固定时间间隔内扫描本地内存。固定时间间隔可以设为任意小于统计时间间隔的值。根据扫描结果,将本地内存中上一个时间序列的用户请求记录写入数据库,清空本地内存中上一个时间序列的用户请求记录。
在一个实施例中,可以将用户请求记录写入时序数据库。时序数据库是指用于处理带时间标签数据的数据库,可以高效存储和快速处理带时间标签数据。
本实施例中,服务器通过异步线程在固定时间间隔内扫描本地内存,将上一个时间序列的用户请求记录写入数据库,并清空上一个时间序列在本地内存中的用户请求记录,缓解了本地内存的存储压力,提高了存储的效率,避免了对用户请求造成性能上的影响。
在一个实施例中,在根据时间序列将用户请求记录写入数据库中之后,方法还包括:获取统计周期,根据时间间隔的长度将统计周期分为不同的级别;根据统计周期的级别,对用户请求记录进行多级统计,得到多级统计的结果;将多级统计的结果存储到数据库中。
其中,统计周期为数据库中对用户请求记录进行进一步存储统计的时间间隔。
具体地,服务器可以根据时间间隔的长度将统计周期分为不同的级别。根据统计周期的级别,对用户请求记录进行多级统计,得到多级统计的结果。例如,第一级别的统计周期为一分钟,第二级别的统计周期为一小时。那么,在进行多级统计之后,服务器可以得到一分钟内的用户请求的流量统计情况,也可以得到一小时内的用户请求的流量统计情况。
本实施例中,根据时间间隔的长度采取不同级别的统计时间间隔对用户请求进行统计,再将不同统计时间间隔下的用户请求记录存储到数据库中,提升服务器对用户请求的流量统计分析的性能。
在一个实施例中,如图5所示,根据统计周期的级别,对用户请求进行多级统计,得到多级统计的结果包括:
步骤S502,获取第一统计周期,将第一统计周期内请求类型相同的用户请求记录进行汇总,得到第一统计周期内的用户请求记录。
其中,请求类型由用户请求携带的用户标识和应用标识确定。
具体地,将第一统计周期内请求类型相同的用户请求记录聚合到一起,得到第一统计周期内的用户请求记录。例如,2019年6月6日14:23,用户账号为A的用户终端发起了用户请求1;2019年6月6日14:25,用户账号为B的用户终端发起了用户请求2;2019年6月6日14:30用户账号为A的用户终端发起了用户请求3;当第一统计周期为一小时时,2019年6月6日14:00-15:00为一个统计周期,再根据请求类型,将在第一统计周期内的用户账号相同的用户请求1和用户请求3汇总到一起,得到2019年6月6日14:00-15:00用户账号为A对应的用户请求记录,且该用户请求记录中包括流量统计情况。
步骤S504,获取第二统计周期,该第二统计周期包含多个第一统计周期。
其中,第二统计周期用于对第一统计周期内的用户请求记录进行进一步的统计,所以第二统计周期应该包含多个第一统计周期。
具体地,在得到第一统计周期内的用户请求记录之后,获取包含多个第一统计时间间隔的第二统计周期,可以对第一统计周期内的用户请求记录进行进一步的统计。
步骤S506,根据请求类型,将第二统计周期内的每个第一统计周期内的用户请求记录进行汇总,得到第二统计周期内的用户请求记录。
具体地,将第二统计周期内请求类型相同的第一统计周期内的用户请求记录聚合到一起,得到第二统计周期内的用户请求记录。例如,第一统计周期为一小时,第二统计周期为一天。以2019年6月6日为例,用户账号为A的用户终端在14:00-15:00存在用户请求记录,在18:00-19:00时,也存在用户账号为A相关的用户请求记录,那么将这两个时间段的用户请求记录汇总,可以得到用户账号为A的用户终端在2019年6月6日这一天发起的用户请求情况以及对应的流量统计情况,如图6所示为统计时间间隔为一天的流量统计情况。
在本实施例中,第一统计时间间隔和第二统计时间间隔包括但不限于一分钟、一小时和一天;且该统计时间间隔的级别包括但不限于二级。通过对用户请求记录进行多级统计,存储不同精度的用户请求记录,在节约存储空间的同时提升统计分析的性能。
应该理解的是,虽然图2、图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种网关流量统计装置,包括:用户请求接收模块701、用户请求分类模块702、时间序列确定模块703、用户请求记录生成模块704、流量统计指标值存储模块705、用户请求记录写入模块706,其中:
用户请求接收模块701,用于接收用户请求,获取所述用户请求对应的接收时间点,所述用户请求携带用户标识和应用标识;
用户请求分类模块702,用于根据所述用户标识和应用标识,对所述用户请求进行分类,得到所述用户请求对应的请求类型;
时间序列确定模块703,用于获取统计时间间隔,根据所述统计时间间隔和接收时间点确定时间序列;
用户请求记录生成模块704,用于根据所述请求类型和所述时间序列生成对应的用户请求记录,将所述用户请求记录存储到本地内存中;
流量统计指标值存储模块705,用于获取所述用户请求对应的流量统计指标值,将所述流量统计指标值存储到本地内存对应的用户请求记录中;
用户请求记录写入模块706,用于根据所述时间序列将所述用户请求记录写入数据库中。
在一个实施例中,用户请求记录生成模块704还用于将请求类型与时间序列进行组合得到的组合结果作为用户请求的请求键,计算得到请求键对应的键值;建立键值与用户请求之间的关联关系,将关联关系形成用户请求记录存储至本地内存中。
在一个实施例中,流量统计指标值存储模块705还用于当接收到用户请求时,查找用户请求对应的键值;当查找到键值时,获取用户请求和用户请求记录中对应的流量统计指标值;将用户请求的各个流量统计指标值和用户请求记录中的各个流量统计指标值对应相加,得到当前时间序列的各个流量统计指标值的统计情况,并存储在用户请求记录中。
在一个实施例中,流量统计指标值存储模块705还用于当接收到的用户请求未查找到对应的键值时,执行根据用户标识和应用标识,对用户请求进行分类,得到用户请求对应的请求类型的步骤。
在一个实施例中,用户请求记录写入模块706还用于使用异步线程在固定时间间隔内扫描本地内存,得到扫描结果;固定时间间隔在统计时间间隔范围内;根据扫描结果,将上一个时间序列的用户请求记录写入数据库中,并清空本地内存中上一个时间序列的用户请求记录。
在一个实施例中,网关流量统计装置700还包括多级统计模块707,用于获取统计周期,根据时间间隔的长度将统计周期分为不同的级别;根据统计周期的级别,在数据库中对用户请求记录进行多级统计,得到多级统计的结果;将多级统计的结果存储到数据库中。
在一个实施例中,多级统计模块707还用于获取第一统计周期,将第一统计周期内请求类型相同的用户请求记录进行汇总,得到第一统计周期内的用户请求记录;获取第二统计周期,第二统计周期包含多个第一统计周期;根据请求类型,将第二统计周期内的每个第一统计周期内的用户请求记录进行汇总,得到第二统计周期内的用户请求记录。
关于网关流量统计装置的具体限定可以参见上文中对于网关流量统计方法的限定,在此不再赘述。上述网关流量统计装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网关流量统计方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收用户请求,获取用户请求对应的接收时间点,用户请求携带用户标识和应用标识;根据用户标识和应用标识,对用户请求进行分类,得到用户请求对应的请求类型;获取统计时间间隔,根据统计时间间隔和接收时间点确定时间序列;根据请求类型和时间序列生成对应的用户请求记录,将用户请求记录存储到本地内存中;获取用户请求对应的流量统计指标值,将流量统计指标值存储到本地内存对应的用户请求记录中;根据时间序列将本地内存中的用户请求记录写入数据库中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将请求类型与时间序列进行组合得到的组合结果作为用户请求的请求键,计算得到该请求键对应的键值;建立该键值与用户请求之间的关联关系,将关联关系形成用户请求记录存储至本地内存中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当接收到用户请求时,查找该用户请求对应的键值;当查找到该用户请求对应的键值时,获取该用户请求和该用户请求记录中对应的流量统计指标值;将用户请求的流量统计指标值和用户请求记录中的流量统计指标值对应相加,得到当前时间序列中的各个流量统计指标值的统计情况,并存储在用户请求记录中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当接收到的用户请求未查找到对应的键值时,执行根据用户标识和应用标识,对用户请求进行分类,得到用户请求对应的请求类型的步骤。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:使用异步线程在固定时间间隔内扫描本地内存,得到扫描结果,该固定时间间隔在该统计时间间隔范围内;根据扫描结果,将上一个时间序列的用户请求记录写入数据库中,并清空本地内存中上一个时间序列的用户请求记录。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取统计周期,根据时间间隔的长度将统计周期分为不同的级别;根据统计周期的级别,对用户请求记录进行多级统计,得到多级统计的结果;将多级统计的结果存储到数据库中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取第一统计周期,将第一统计周期内请求类型相同的用户请求记录进行汇总,得到第一统计周期内的用户请求记录;获取第二统计周期,该第二统计周期包含多个第一统计周期;根据请求类型,将第二统计周期内的每个第一统计周期内的用户请求记录进行汇总,得到第二统计周期内的用户请求记录。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收用户请求,获取用户请求对应的接收时间点,用户请求携带用户标识和应用标识;根据用户标识和应用标识,对用户请求进行分类,得到用户请求对应的请求类型;获取统计时间间隔,根据统计时间间隔和接收时间点确定时间序列;根据请求类型和时间序列生成对应的用户请求记录,将用户请求记录存储到本地内存中;获取用户请求对应的流量统计指标值,将流量统计指标值存储到本地内存对应的用户请求记录中;根据时间序列将本地内存中的用户请求记录写入数据库中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将请求类型与时间序列进行组合得到的组合结果作为用户请求的请求键,计算得到该请求键对应的键值;建立该键值与用户请求之间的关联关系,将关联关系形成用户请求记录存储至本地内存中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当接收到用户请求时,查找该用户请求对应的键值;当查找到该用户请求对应的键值时,获取该用户请求和该用户请求记录中对应的流量统计指标值;将用户请求的流量统计指标值和用户请求记录中的流量统计指标值对应相加,得到当前时间序列中的各个流量统计指标值的统计情况,并存储在用户请求记录中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当接收到的用户请求未查找到对应的键值时,执行根据用户标识和应用标识,对用户请求进行分类,得到用户请求对应的请求类型的步骤。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:使用异步线程在固定时间间隔内扫描本地内存,得到扫描结果,该固定时间间隔在该统计时间间隔范围内;根据扫描结果,将上一个时间序列的用户请求记录写入数据库中,并清空本地内存中上一个时间序列的用户请求记录。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取统计周期,根据时间间隔的长度将统计周期分为不同的级别;根据统计周期的级别,对用户请求记录进行多级统计,得到多级统计的结果;将多级统计的结果存储到数据库中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取第一统计周期,将第一统计周期内请求类型相同的用户请求记录进行汇总,得到第一统计周期内的用户请求记录;获取第二统计周期,该第二统计周期包含多个第一统计周期;根据请求类型,将第二统计周期内的每个第一统计周期内的用户请求记录进行汇总,得到第二统计周期内的用户请求记录。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种网关流量统计方法,所述方法包括:
接收用户请求,获取所述用户请求对应的接收时间点,所述用户请求携带用户标识和应用标识;
根据所述用户标识和应用标识,对所述用户请求进行分类,得到所述用户请求对应的请求类型;
获取统计时间间隔,根据所述统计时间间隔和接收时间点确定时间序列;
根据所述请求类型和所述时间序列生成对应的用户请求记录,将所述用户请求记录存储到本地内存中;
获取所述用户请求对应的流量统计指标值,将所述流量统计指标值存储到本地内存对应的用户请求记录中;
根据所述时间序列将本地内存中的用户请求记录写入数据库中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述请求类型和所述时间序列生成对应的用户请求记录,将所述用户请求记录存储到本地内存中包括:
将所述请求类型与所述时间序列进行组合得到的组合结果作为所述用户请求的请求键,计算得到所述请求键对应的键值;
建立所述键值与所述用户请求之间的关联关系,将所述关联关系形成用户请求记录存储至本地内存中。
3.根据权利要求2所述的方法,其特征在于,所述获取所述用户请求对应的流量统计指标值,将所述流量统计指标值存储到对应的用户请求记录中包括:
当接收到用户请求时,查找所述用户请求对应的键值;
当查找到所述键值时,获取所述用户请求和所述用户请求记录中对应的流量统计指标值;
将所述用户请求的各个流量统计指标值和所述用户请求记录中的各个流量统计指标值对应相加,得到当前时间序列的各个流量统计指标值的统计情况,并存储在用户请求记录中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述接收到的用户请求未查找到对应的键值时,执行所述根据所述用户标识和应用标识,对所述用户请求进行分类,得到所述用户请求对应的请求类型的步骤。
5.根据权利要求1所述的方法,其特征在于,所述根据所述时间序列将所述用户请求记录写入数据库中包括:
使用异步线程在固定时间间隔内扫描所述本地内存,得到扫描结果;所述固定时间间隔在所述统计时间间隔范围内;
根据所述扫描结果,将上一个时间序列的用户请求记录写入数据库中,并清空本地内存中上一个时间序列的用户请求记录。
6.根据权利要求1所述的方法,其特征在于,在所述根据所述时间序列将所述用户请求记录写入数据库中之后,所述方法还包括:
获取统计周期,根据时间间隔的长度将所述统计周期分为不同的级别;
根据统计周期的级别,在数据库中对所述用户请求记录进行多级统计,得到多级统计的结果;
将所述多级统计的结果存储到数据库中。
7.根据权利要求6所述的方法,其特征在于,所述根据统计周期的级别,对所述用户请求进行多级统计,得到多级统计的结果包括:
获取第一统计周期,将第一统计周期内请求类型相同的用户请求记录进行汇总,得到第一统计周期内的用户请求记录;
获取第二统计周期,所述第二统计周期包含多个第一统计周期;
根据请求类型,将第二统计周期内的每个第一统计周期内的用户请求记录进行汇总,得到第二统计周期内的用户请求记录。
8.一种网关流量统计装置,其特征在于,所述装置包括:
用户请求接收模块,用于接收用户请求,获取所述用户请求对应的接收时间点,所述用户请求携带用户标识和应用标识;
用户请求分类模块,用于根据所述用户标识和应用标识,对所述用户请求进行分类,得到所述用户请求对应的请求类型;
时间序列确定模块,用于获取统计时间间隔,根据所述统计时间间隔和接收时间点确定时间序列;
用户请求记录生成模块,用于根据所述请求类型和所述时间序列生成对应的用户请求记录,将所述用户请求记录存储到本地内存中;
流量统计指标值存储模块,用于获取所述用户请求对应的流量统计指标值,将所述流量统计指标值存储到本地内存对应的用户请求记录中;
用户请求记录写入模块,用于根据所述时间序列将所述用户请求记录写入数据库中。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911177866.9A CN111046240B (zh) | 2019-11-26 | 2019-11-26 | 网关流量统计方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911177866.9A CN111046240B (zh) | 2019-11-26 | 2019-11-26 | 网关流量统计方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111046240A true CN111046240A (zh) | 2020-04-21 |
CN111046240B CN111046240B (zh) | 2024-03-08 |
Family
ID=70233468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911177866.9A Active CN111046240B (zh) | 2019-11-26 | 2019-11-26 | 网关流量统计方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111046240B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131433A (zh) * | 2020-08-20 | 2020-12-25 | 贝壳技术有限公司 | 区间计数查询方法及装置 |
CN113542245A (zh) * | 2021-07-02 | 2021-10-22 | 广州华多网络科技有限公司 | 数据流量监控方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622426A (zh) * | 2012-02-27 | 2012-08-01 | 杭州闪亮科技有限公司 | 数据库写入系统及方法 |
CN104009892A (zh) * | 2014-06-12 | 2014-08-27 | 北京奇虎科技有限公司 | 一种移动终端流量的监控方法、装置及客户端 |
US20150178222A1 (en) * | 2013-12-19 | 2015-06-25 | International Business Machines Corporation | Asynchronous swap mechanism and page eviction from memory |
CN106648446A (zh) * | 2015-10-30 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种用于时序数据的存储方法、装置及电子设备 |
CN108259207A (zh) * | 2016-12-29 | 2018-07-06 | 北京国双科技有限公司 | 流量统计方法、客户端、服务器及系统 |
CN109840782A (zh) * | 2017-11-24 | 2019-06-04 | 腾讯科技(深圳)有限公司 | 点击率预测方法、装置、服务器以及存储介质 |
CN109889401A (zh) * | 2019-01-22 | 2019-06-14 | 金蝶软件(中国)有限公司 | 流量统计方法、装置、计算机设备和存储介质 |
-
2019
- 2019-11-26 CN CN201911177866.9A patent/CN111046240B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622426A (zh) * | 2012-02-27 | 2012-08-01 | 杭州闪亮科技有限公司 | 数据库写入系统及方法 |
US20150178222A1 (en) * | 2013-12-19 | 2015-06-25 | International Business Machines Corporation | Asynchronous swap mechanism and page eviction from memory |
CN104009892A (zh) * | 2014-06-12 | 2014-08-27 | 北京奇虎科技有限公司 | 一种移动终端流量的监控方法、装置及客户端 |
CN106648446A (zh) * | 2015-10-30 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种用于时序数据的存储方法、装置及电子设备 |
CN108259207A (zh) * | 2016-12-29 | 2018-07-06 | 北京国双科技有限公司 | 流量统计方法、客户端、服务器及系统 |
CN109840782A (zh) * | 2017-11-24 | 2019-06-04 | 腾讯科技(深圳)有限公司 | 点击率预测方法、装置、服务器以及存储介质 |
CN109889401A (zh) * | 2019-01-22 | 2019-06-14 | 金蝶软件(中国)有限公司 | 流量统计方法、装置、计算机设备和存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112131433A (zh) * | 2020-08-20 | 2020-12-25 | 贝壳技术有限公司 | 区间计数查询方法及装置 |
CN112131433B (zh) * | 2020-08-20 | 2021-10-29 | 贝壳找房(北京)科技有限公司 | 区间计数查询方法及装置 |
CN113542245A (zh) * | 2021-07-02 | 2021-10-22 | 广州华多网络科技有限公司 | 数据流量监控方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111046240B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021047326A1 (zh) | 信息推荐方法、装置、计算机设备和存储介质 | |
WO2021012790A1 (zh) | 页面数据生成方法、装置、计算机设备及存储介质 | |
CN111782943A (zh) | 基于历史数据记录的信息推荐方法、装置、设备及介质 | |
CN110569222B (zh) | 链路追踪方法、装置、计算机设备和可读存储介质 | |
CN109522400B (zh) | 核保方法、装置、计算机设备和存储介质 | |
WO2019153589A1 (zh) | 消息数据处理方法、装置、计算机设备和存储介质 | |
CN112035611B (zh) | 目标用户推荐方法、装置、计算机设备和存储介质 | |
CN108182633B (zh) | 贷款数据处理方法、装置、计算机设备和存储介质 | |
CN109753421B (zh) | 服务系统的优化方法、装置、计算机设备和存储介质 | |
CN112115167B (zh) | 缓存系统热点数据访问方法、装置、设备和存储介质 | |
CN110321480B (zh) | 推荐信息的推送方法、装置、计算机设备和存储介质 | |
CN109542923B (zh) | 核保方法、装置、计算机设备和存储介质 | |
CN111400126B (zh) | 网络服务异常数据检测方法、装置、设备和介质 | |
CN112434048B (zh) | 一种数据交叉分析方法、装置、计算机设备和存储介质 | |
CN110659435A (zh) | 页面数据采集处理方法、装置、计算机设备和存储介质 | |
CN111046240B (zh) | 网关流量统计方法、装置、计算机设备和存储介质 | |
CN109656474B (zh) | 数据存储方法、装置、计算机设备和存储介质 | |
CN113111078B (zh) | 资源数据处理方法、装置、计算机设备和存储介质 | |
CN110716916A (zh) | 资源在线管理方法、装置、计算机设备和存储介质 | |
CN113190411A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112581341A (zh) | 图书管理方法、装置、计算机设备及存储介质 | |
CN110619275B (zh) | 信息推送方法、装置、计算机设备和存储介质 | |
CN109542947B (zh) | 数据统计方法、装置、计算机设备和存储介质 | |
CN111597480A (zh) | 网页资源预加载方法、装置、计算机设备和存储介质 | |
CN109522495B (zh) | 数据分析方法、装置、计算机设备和存储介质 |
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 | ||
TG01 | Patent term adjustment | ||
TG01 | Patent term adjustment |