CN112118189B - 一种流量采样方法、计算机设备及计算机可读存储介质 - Google Patents
一种流量采样方法、计算机设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112118189B CN112118189B CN202010877498.5A CN202010877498A CN112118189B CN 112118189 B CN112118189 B CN 112118189B CN 202010877498 A CN202010877498 A CN 202010877498A CN 112118189 B CN112118189 B CN 112118189B
- Authority
- CN
- China
- Prior art keywords
- value
- hash
- access request
- sampling
- identification information
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种流量采样方法、计算机设备及计算机可读存储介质,其中该流量采样方法,包括:接收访问请求;获取该访问请求对应的标识信息;使用具备均匀散列特性的哈希方法确定该标识信息的哈希值;确定该哈希值在哈希整数值域范围的比例,得到哈希值对应的比例值;比较该比例值与采样率的大小关系;如果该比例值小于或等于采样率,接受上述访问请求;如果该比例值大于采样率,拒绝上述访问请求。通过本申请,实现快速流量采样,而无需大量的存储空间和计算资源。
Description
技术领域
本申请涉及应用性能管理(ApplicationPerformance Management,简称为APM)技术领域,尤其涉及一种流量采样方法、计算机设备及计算机可读存储介质。
背景技术
当应用服务器收到大量来自客户端的请求时,经常对客户端的请求按照指定的采样率进行流量控制或者设备数限制。假设指定采样率S(0<=S<=1),一段时间内总请求量为N,按要求经过采样算法过滤后,系统接受的请求量(采样量)Ns=N*S。
为了达到流量控制的目的,通过配置采样率来过滤流量的比例。采样率用S(0<=S<=1)表示。采样过滤的结果分为“接受”和“拒绝”,“接受”表示系统正常接收本次用户请求,“拒绝”表示系统将拒绝并抛弃本次用户请求。
相关技术中,一种处理方式是使用随机算法采样,其假设采样率为S(0<=S<=1),在接收到用户请求时,调用随机函数RANDOM产生随机值r(0<r<=1),将随机值r与指定的采样率S比较,如果随机值r小于等于S,则接受该用户请求,否则拒绝该用户请求。
该处理方式简单而且高效,但很多时候出于一些特殊的分析目的,需要基于会话或用户进行采样,例如,在应用性能分析领域或者用户行为分析领域,出于分析的目的,并不需要全量的用户访问数据,只需要采样分析即可,但必须以会话或用户为单元进行分析才有意义,这就需要基于会话标识或用户标识进行采样。
即在满足指定采样率的前提下,同时也应满足:1)事务性:该会话或用户的所有请求,在使用采样规则过滤后,要么全部被接受,要么全部被拒绝,不应出现部分请求被接受,而另一部分请求被拒绝的情况;2)幂等性:若该会话或用户在某一时刻访问系统,在使用采样规则过滤后的状态是“接受”,则在以后的任意时刻再次访问系统,在采样率不发生变化的情况下,在使用采样规则过滤后的状态仍然应该是“接受”;反之,若该会话或用户在某一时刻访问系统,应用采样规则后的状态是“拒绝”,则在以后的任意时刻再次访问系统,在采样率不发生变化的情况下,应用采样规则后的状态仍然应该是“拒绝”。
为了满足事务性和幂等性,相关技术中,在上述处理方式的基础上将采样阶段标记结果(“接受”或“拒绝”)及用户标识对应关系缓存起来,以便下次相同的用户再次访问时,可直接选择“接受”或“拒绝”。
该改进的方案的流程如下:在用户发起访问后,从缓存中查找是否包含该用户的用户标识,如果缓存中有该用户的用户标识,则获取该用户标识上次的缓存值,根据上次的缓存值来拒绝或接受该用户的访问;如果缓存中没有该用户的用户标识,则与上述处理方式一致,产生随机值,并基于该随机值与设定的采样率的大小关系来拒绝或接受该用户的访问,同时将采样结果(拒绝或接受)加入缓存。
上述改进的方案能实现上述需求中的事务性和幂等性,但由于需要在缓存中需要维护完整的用户列表,需要较大的存储空间,尤其是对于海量用户基数的移动App应用,单个App的用户量动辄上千万,甚至上亿,且并发访问也很大,高并发下需要实现快速检索和采样过滤,需要消耗大量的存储空间和计算资源。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种流量采样方法、计算机设备及计算机可读存储介质。
第一方面,本申请提供了一种流量采样方法,包括:接收访问请求;获取该访问请求对应的标识信息;使用具备均匀散列特性的哈希方法确定该标识信息的哈希值;确定该哈希值在哈希整数值域范围的比例,得到哈希值对应的比例值;比较该比例值与采样率的大小关系;如果该比例值小于或等于采样率,接受上述访问请求;如果该比例值大于采样率,拒绝上述访问请求。
在某些实施例中,上述标识信息包括:用户标识或会话标识。
第二方面,提供了另一种流量采样方法,包括:接收访问请求;获取访问请求对应的标识信息;使用哈希方法确定该标识信息的哈希值;确定该哈希值在哈希整数值域范围内的区间的起始值,其中,哈希整数值域被按固定大小划分为多个区间;确定该哈希值与该哈希值所在的区间的起始值之间的差值;确定该差值在区间范围内的比例,得到该差值对应的比例值;比较该比例值与采样率的大小关系;如果比例值小于或等于采样率,接受访问请求;如果比例值大于采样率,拒绝访问请求。
在某些实施例中,每个上述区间的大小为2K,哈希整数值域被划分为2M/2K个区间,其中,K为正整数,M为哈希方法的哈希值位数。
在某些实施例中,确定上述哈希值在哈希整数值域范围内的区间的起始值,包括:通过位运算按照以下方式确定上述哈希值在哈希整数值域范围内的区间的起始值:FLOOR(H/2K)*2K,其中,FLOOR为取整运算,H为上述哈希值,2K为每个区间的大小,K为正整数。
在某些实施例中,上述标识信息包括:用户标识或会话标识。
第三方面,本申请提供了一种流量采样装置,包括:接收模块,用于接收访问请求;获取模块,用于获取访问请求对应的标识信息;第一确定模块,用于使用具备均匀散列特性的哈希方法确定该标识信息的哈希值;第二确定模块,用于确定该哈希值在哈希整数值域范围的比例,得到哈希值对应的比例值;比较模块,用于比较该比例值与采样率的大小关系;如果比例值小于或等于采样率,接受访问请求;如果比例值大于采样率,拒绝访问请求。
第四方面,本申请提供了一种流量采样装置,包括:接收模块,用于接收访问请求;获取模块,用于获取访问请求对应的标识信息;第一确定模块,用于使用哈希方法确定标识信息的哈希值;第二确定模块,用于确定哈希值在哈希整数值域范围内的区间的起始值,其中,哈希整数值域被按固定大小划分为多个区间;第三确定模块,用于确定哈希值与哈希值所在的区间的起始值之间的差值;第四确定模块,用于确定差值在区间范围内的比例,得到差值对应的比例值;比较模块,用于比较比例值与采样率的大小关系;如果比例值小于或等于采样率,接受访问请求;如果比例值大于采样率,拒绝访问请求。
第五方面,本申请提供了一种计算机设备,该计算机设备包括:存储器、处理器及存储在该存储器上并可在该处理器上运行的计算机程序;计算机程序被该处理器执行时实现流量采样方法的步骤。
第六方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有流量采样程序,该流量采样程序被处理器执行时实现流量采样方法的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,实现快速流量采样,而无需大量的存储空间和计算资源。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的流量采样方法一种实施方式的流程图;
图2为本申请实施例提供流量采样方法另一种实施方式的流程图;
图3为本申请实施例提供的流量采样装置一种实施方式的结构框图;
图4为本申请实施例提供的流量采样装置另一种实施方式的结构框图;以及
图5为本申请实施例提供的计算机设备一种实施方式的硬件示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
本申请实施例提供了一种基于哈希算法的流量采样方法,实现快速检索和流量采样,而无需大量的存储空间和计算资源。下面结合附图对本申请实施例提供的流量采样方法进行说明。
图1为本申请实施例提供的流量采样方法一种实施方式的流程图,如图1所示,该方法包括步骤S102至步骤S114。
步骤S102,接收访问请求。
步骤S104,获取该访问请求对应的标识信息。
步骤S106,使用具备均匀散列特性的哈希方法确定该标识信息的哈希值。
步骤S108,确定该哈希值在哈希整数值域范围的比例,得到哈希值对应的比例值。
步骤S110,比较该比例值与采样率的大小关系;如果该比例值小于或等于采样率,执行步骤S112;如果该比例值大于采样率,执行步骤S114。
步骤S112,接受上述访问请求。
步骤S114,拒绝上述访问请求。
通过上述流量采样方法,使用具备均匀散列特性的哈希方法确定标识信息的哈希值,标识信息的哈希值在哈希整数值域范围(例如64位整数范围,但不限于此,128位整数范围等都是可行的)内是均匀分布的,并且标识信息与哈希值一一对应。因而,标识信息的哈希值在哈希整数值域范围内的比例,与被接受的访问请求的比例具有对应关系,由此,能够在不存储标识信息与采样结果的条件下,进行流量采样,实现了快速、高效的流量采样。
上述步骤S108中,哈希值在哈希整数值域范围的比例值,可被表示为:H/2M,其中,H为标识信息对应的哈希值,M哈希方法的哈希值位数(例如64位,但不限于此,128位等都是可行的)。
在哈希方法的哈希位数为64时,哈希整数值域范围可被表示为[0,264-1]的正整数。用户标识的哈希值限定在[0,S*264]的值域范围内均匀分布,则状态为“接受”的用户标识的数量占全量用户标识样本基数的比例也约等于S,其中S为采样率。
在某些实施例中,通过上述方法对用户进行采样,上述标识信息为用户标识(UserID)。在另一些实施例中,通过上述方法对会话进行采用,上述标识信息为会话标识。应当理解,本申请实施例并不限于此,其他能够将访问请求分类的标识信息也是可以被构想的。本申请实施的流量采样方法,无需复杂的计算过程,也无需存储用户标识或会话标识,即可达到满足事务性和幂等性原则的目的。
上述步骤S104中,具备均匀散列特性的哈希方法包括但不限于Murmurhash等,本申请实施例对此不做限定,凡是具备均匀散列特性的哈希方法都是可行的。
图2为本申请实施例提供流量采样方法另一种实施方式的流程图,如图2所示,该方法包括步骤S202至步骤S218。
步骤S202,接收访问请求。
步骤S204,获取访问请求对应的标识信息。
步骤S206,使用哈希方法确定该标识信息的哈希值。
步骤S208,确定该哈希值在哈希整数值域范围内的区间的起始值,其中,哈希整数值域被按固定大小划分为多个区间。
步骤S210,确定该哈希值与该哈希值所在的区间的起始值之间的差值。
步骤S212,确定该差值在区间范围内的比例,得到该差值对应的比例值。
步骤S214,比较该比例值与采样率的大小关系,如果比例值小于或等于采样率,执行步骤S216;如果比例值大于采样率,执行步骤S218。
步骤S216,接受访问请求。
步骤S218,拒绝访问请求。
通过上述流量采样方法,哈希值在一定区间范围内的均匀特性,因而,标识信息的哈希值在区间范围内的比例,与被接受的访问请求的比例具有对应关系,由此,能够在不存储标识信息与采样结果的条件下,进行流量采样,实现了快速、高效的流量采样。并且,该流量采样方法,能够防止采样过程被破解或作弊。
在某些实施例中,每个上述区间的大小为2K,哈希整数值域被划分为2M/2K个区间,其中,K为正整数,M为哈希方法的哈希值位数。将区间的大小划分为2的整数次幂,可以将运算过程转换为计算机运算效率更高的位运算,进一步提高效率,降低资源消耗。可选地,当M为64时,K的取值介于8至16之间。
上述步骤S212中,上述差值对应的比例值,可被表示为,(H-Rs)/2K,其中,H为上述哈希值,Rs为上述哈希值所在的区间的起始值,H-Rs为上述差值,2K为每个区间的大小,K为正整数。
在某些实施例中,上述步骤S208中,通过位运算按照以下方式确定上述哈希值在哈希整数值域范围内的区间的起始值:FLOOR(H/2K)*2K,其中,FLOOR为取整运算,H为上述哈希值,2K为每个区间的大小,K为正整数。由此,进一步提高效率,降低资源消耗。
在某些实施例中,通过上述方法对用户进行采样,上述标识信息为用户标识(UserID)。在另一些实施例中,通过上述方法对会话进行采用,上述标识信息为会话标识。应当理解,本申请实施例并不限于此,其他能够将访问请求分类的标识信息也是可以被构想的。本申请实施的流量采样方法,无需复杂的计算过程,也无需存储用户标识或会话标识,即可达到满足事务性和幂等性原则的目的。
作为一个示例,多个用户使用用户设备请求访问应用服务器,流量采样方法确定多个用户的访问请求的采样结果,确定对部分用户的流量采样。采样数据可存储在数据库中,以进行以用户为单元的分析。
在本申请实施例中,上述步骤S206中哈希方法包括但不限于MD5、SHA-1、Murmurhash等,本申请实施例对此不做限定。
图3为本申请实施例提供的流量采样装置一种实施方式的结构框图,如图3所示,流量采样装置300包括:接收模块310,用于接收访问请求;获取模块320,与接收模块310相连,用于获取访问请求对应的标识信息;第一确定模块330,与获取模块320相连,用于使用具备均匀散列特性的哈希方法确定该标识信息的哈希值;第二确定模块340,与第一确定模块330相连,用于确定该哈希值在哈希整数值域范围的比例,得到哈希值对应的比例值;比较模块350,与第二确定模块340相连,用于比较该比例值与采样率的大小关系;如果比例值小于或等于采样率,接受访问请求;如果比例值大于采样率,拒绝访问请求。
通过流量采样装置300,使用具备均匀散列特性的哈希方法确定标识信息的哈希值,标识信息的哈希值在哈希整数值域范围(例如64位整数范围,但不限于此,128位整数范围等都是可行的)内是均匀分布的,并且标识信息与哈希值一一对应。因而,标识信息的哈希值在哈希整数值域范围内的比例,与被接受的访问请求的比例具有对应关系,由此,能够在不存储标识信息与采样结果的条件下,进行流量采样,实现了快速、高效的流量采样。
第二确定模块340,确定哈希值在哈希整数值域范围的比例值,可被表示为:H/2M,其中,H为标识信息对应的哈希值,M哈希方法的哈希值位数(例如64位,但不限于此,128位等都是可行的)。
在某些实施例中,通过上述流量采样装置300对用户进行采样,上述标识信息为用户标识(UserID)。在另一些实施例中,通过流量采样装置300对会话进行采用,上述标识信息为会话标识。应当理解,本申请实施例并不限于此,其他能够将访问请求分类的标识信息也是可以被构想的。本申请实施的流量采样装置300,无需复杂的计算过程,也无需存储用户标识或会话标识,即可达到满足事务性和幂等性原则的目的。
上述第一确定模块330,使用的具备均匀散列特性的哈希方法包括但不限于Murmurhash等,本申请实施例对此不做限定,凡是具备均匀散列特性的哈希方法都是可行的。
图4为本申请实施例提供的流量采样装置另一种实施方式的结构框图,如图4所示,该流量采样装置400,包括:接收模块410,用于接收访问请求;获取模块420,与接收模块410相连,用于获取访问请求对应的标识信息;第一确定模块430,与获取模块420相连,用于使用哈希方法确定标识信息的哈希值;第二确定模块440,与第一确定模块430相连,用于确定哈希值在哈希整数值域范围内的区间的起始值,其中,哈希整数值域被按固定大小划分为多个区间;第三确定模块450,与第二确定模块440相连,用于确定哈希值与哈希值所在的区间的起始值之间的差值;第四确定模块460,与第三确定模块450相连,用于确定差值在区间范围内的比例,得到差值对应的比例值;比较模块470,与第四确定模块460相连,用于比较比例值与采样率的大小关系;如果比例值小于或等于采样率,接受访问请求;如果比例值大于采样率,拒绝访问请求。
通过上述流量采样装置400,哈希值在一定区间范围内的均匀特性,因而,标识信息的哈希值在区间范围内的比例,与被接受的访问请求的比例具有对应关系,由此,能够在不存储标识信息与采样结果的条件下,进行流量采样,实现了快速、高效的流量采样。并且,该流量采样方法,能够防止采样过程被破解或作弊。
在某些实施例中,每个上述区间的大小为2K,哈希整数值域被划分为2M/2K个区间,其中,K为正整数,M为哈希方法的哈希值位数。将区间的大小划分为2的整数次幂,可以将运算过程转换为计算机运算效率更高的位运算,进一步提高效率,降低资源消耗。可选地,当M为64时,K的取值介于8至16之间。
第四确定模块460中上述差值对应的比例值表示为,(H-Rs)/2K,其中,H为上述哈希值,Rs为上述哈希值所在的区间的起始值,H-Rs为上述差值,2K为每个区间的大小,K为正整数。
在某些实施例中,第二确定模块440,用于通过位运算按照以下方式确定上述哈希值在哈希整数值域范围内的区间的起始值:FLOOR(H/2K)*2K,其中,FLOOR为取整运算,H为上述哈希值,2K为每个区间的大小,K为正整数。由此,进一步提高效率,降低资源消耗。
在某些实施例中,通过流量采样装置400对用户进行采样,上述标识信息为用户标识(UserID)。在另一些实施例中,通过流量采样装置400对会话进行采用,上述标识信息为会话标识。应当理解,本申请实施例并不限于此,其他能够将访问请求分类的标识信息也是可以被构想的。本申请实施的流量采样方法,无需复杂的计算过程,也无需存储用户标识或会话标识,即可达到满足事务性和幂等性原则的目的。
在本申请实施例中,第一确定模块430使用的哈希方法包括但不限于MD5、SHA-1、Murmurhash等,本申请实施例对此不做限定。
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。本实施例的计算机设备20至少包括但不限于:可通过系统总线相互通信连接的存储器21、处理器22,如图5所示。需要指出的是,图5仅示出了具有组件21-22的计算机设备20,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器21(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备20的内部存储单元,例如该计算机设备20的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备20的外部存储设备,例如该计算机设备20上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备20的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备20的操作系统和各类应用软件,例如流量采样方法的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备20的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如流量采样方法的程序代码,以实现流量采样方法。
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储流量采样程序,被处理器执行时实现实流量采样方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (10)
1.一种流量采样方法,其特征在于,包括:
接收访问请求;
获取所述访问请求对应的标识信息;
使用具备均匀散列特性的哈希方法确定所述标识信息的哈希值;
确定所述哈希值在哈希整数值域范围的比例,得到所述哈希值对应的比例值;
比较所述比例值与采样率的大小关系;
如果所述比例值小于或等于所述采样率,接受所述访问请求;
如果所述比例值大于所述采样率,拒绝所述访问请求。
2.根据权利要求1所述的流量采样方法,其特征在于,所述标识信息包括:用户标识或会话标识。
3.一种流量采样方法,其特征在于,包括:
接收访问请求;
获取所述访问请求对应的标识信息;
使用哈希方法确定所述标识信息的哈希值;
确定所述哈希值在哈希整数值域范围内的区间的起始值,其中,所述哈希整数值域被按固定大小划分为多个区间;
确定所述哈希值与所述哈希值所在的区间的起始值之间的差值;
确定所述差值在区间范围内的比例,得到所述差值对应的比例值;
比较所述比例值与采样率的大小关系;
如果所述比例值小于或等于所述采样率,接受所述访问请求;
如果所述比例值大于所述采样率,拒绝所述访问请求。
4.根据权利要求3所述的流量采样方法,其特征在于,每个区间的大小为2K,所述哈希整数值域被划分为2M/2K个区间,其中,K为正整数,M为哈希方法的哈希值位数。
5.根据权利要求3或4所述的流量采样方法,其特征在于,确定所述哈希值在哈希整数值域范围内的区间的起始值,包括:
通过位运算按照以下方式确定所述哈希值在哈希整数值域范围内的区间的起始值:FLOOR(H/2K)*2K,其中,FLOOR为取整运算,H为所述哈希值,2K为每个区间的大小,K为正整数。
6.根据权利要求3所述的流量采样方法,其特征在于,所述标识信息包括:用户标识或会话标识。
7.一种流量采样装置,其特征在于,包括:
接收模块,用于接收访问请求;
获取模块,用于获取所述访问请求对应的标识信息;
第一确定模块,用于使用具备均匀散列特性的哈希方法确定所述标识信息的哈希值;
第二确定模块,用于确定所述哈希值在哈希整数值域范围的比例,得到所述哈希值对应的比例值;
比较模块,用于比较所述比例值与采样率的大小关系;如果所述比例值小于或等于所述采样率,接受所述访问请求;如果所述比例值大于所述采样率,拒绝所述访问请求。
8.一种流量采样装置,其特征在于,包括:
接收模块,用于接收访问请求;
获取模块,用于获取所述访问请求对应的标识信息;
第一确定模块,用于使用哈希方法确定所述标识信息的哈希值;
第二确定模块,用于确定所述哈希值在哈希整数值域范围内的区间的起始值,其中,所述哈希整数值域被按固定大小划分为多个区间;
第三确定模块,用于确定所述哈希值与所述哈希值所在的区间的起始值之间的差值;
第四确定模块,用于确定所述差值在区间范围内的比例,得到所述差值对应的比例值;
比较模块,用于比较所述比例值与采样率的大小关系;如果所述比例值小于或等于所述采样率,接受所述访问请求;如果所述比例值大于所述采样率,拒绝所述访问请求。
9.一种计算机设备,其特征在于,所述计算机设备包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;
所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述流量采样方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有流量采样程序,所述流量采样程序被处理器执行时实现如权利要求1至6中任一项所述的流量采样方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010877498.5A CN112118189B (zh) | 2020-08-27 | 2020-08-27 | 一种流量采样方法、计算机设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010877498.5A CN112118189B (zh) | 2020-08-27 | 2020-08-27 | 一种流量采样方法、计算机设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112118189A CN112118189A (zh) | 2020-12-22 |
CN112118189B true CN112118189B (zh) | 2021-05-25 |
Family
ID=73805430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010877498.5A Active CN112118189B (zh) | 2020-08-27 | 2020-08-27 | 一种流量采样方法、计算机设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112118189B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799925A (zh) * | 2021-01-25 | 2021-05-14 | 北京嘀嘀无限科技发展有限公司 | 数据采集方法、装置、电子设备和可读存储介质 |
CN113904952B (zh) * | 2021-10-08 | 2023-04-25 | 深圳依时货拉拉科技有限公司 | 网络流量采样方法及装置、计算机设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109039800A (zh) * | 2018-06-28 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 在流量实验中进行流量分配的方法、装置和计算机设备 |
CN109218179A (zh) * | 2017-07-07 | 2019-01-15 | 中兴通讯股份有限公司 | 负载分担方法及装置、交换机及计算机可读存储介质 |
CN109388655A (zh) * | 2017-08-07 | 2019-02-26 | 北京京东尚科信息技术有限公司 | 一种动态控制数据访问的方法和装置 |
CN110737691A (zh) * | 2018-07-03 | 2020-01-31 | 百度在线网络技术(北京)有限公司 | 用于处理访问行为数据的方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7957315B2 (en) * | 2008-12-23 | 2011-06-07 | At&T Intellectual Property Ii, L.P. | System and method for sampling network traffic |
-
2020
- 2020-08-27 CN CN202010877498.5A patent/CN112118189B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109218179A (zh) * | 2017-07-07 | 2019-01-15 | 中兴通讯股份有限公司 | 负载分担方法及装置、交换机及计算机可读存储介质 |
CN109388655A (zh) * | 2017-08-07 | 2019-02-26 | 北京京东尚科信息技术有限公司 | 一种动态控制数据访问的方法和装置 |
CN109039800A (zh) * | 2018-06-28 | 2018-12-18 | 腾讯科技(深圳)有限公司 | 在流量实验中进行流量分配的方法、装置和计算机设备 |
CN110737691A (zh) * | 2018-07-03 | 2020-01-31 | 百度在线网络技术(北京)有限公司 | 用于处理访问行为数据的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112118189A (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106657213B (zh) | 文件传输方法和装置 | |
CN111447102B (zh) | Sdn网络设备访问方法、装置、计算机设备及存储介质 | |
CN110661829B (zh) | 文件下载方法及装置、客户端和计算机可读存储介质 | |
CN110417903B (zh) | 一种基于云计算的信息处理方法和系统 | |
CN110213290B (zh) | 数据获取方法、api网关以及存储介质 | |
WO2015081808A1 (en) | Method and apparatus for data transmission | |
CN109829287A (zh) | Api接口权限访问方法、设备、存储介质及装置 | |
CN109462601B (zh) | 基于eSIM的多平台访问方法及装置 | |
CN110225039B (zh) | 权限模型获取、鉴权方法、网关、服务器以及存储介质 | |
CN112118189B (zh) | 一种流量采样方法、计算机设备及计算机可读存储介质 | |
CN107659473A (zh) | 接入控制方法、系统、路由服务器及计算机可读存储介质 | |
CN103095824A (zh) | 文件上传控制方法及系统 | |
CN111163072A (zh) | 机器学习模型中特征值的确定方法、装置及电子设备 | |
CN109033295B (zh) | 超大数据集的合并方法及装置 | |
CN105005567B (zh) | 兴趣点查询方法和系统 | |
CN112615945A (zh) | 域名解析记录管理方法、装置、计算机设备及存储介质 | |
CN111309946B (zh) | 一种已建立档案优化方法及装置 | |
CN113656098A (zh) | 配置获取方法及系统 | |
CN111814020A (zh) | 一种数据的获取方法和装置 | |
CN111147235A (zh) | 对象访问方法、装置、电子设备及机器可读存储介质 | |
CN114338060B (zh) | 一种权限校验方法、装置、系统、设备及存储介质 | |
US20070180115A1 (en) | System and method for self-configuring multi-type and multi-location result aggregation for large cross-platform information sets | |
CN115203672A (zh) | 信息访问的管控方法、装置、计算机设备及介质 | |
CN111865576B (zh) | 一种同步url分类数据的方法和装置 | |
CN110677353B (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 |