CN112099979A - 一种访问控制方法、装置、计算机设备和存储介质 - Google Patents
一种访问控制方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112099979A CN112099979A CN202011290402.1A CN202011290402A CN112099979A CN 112099979 A CN112099979 A CN 112099979A CN 202011290402 A CN202011290402 A CN 202011290402A CN 112099979 A CN112099979 A CN 112099979A
- Authority
- CN
- China
- Prior art keywords
- access
- memory
- memory space
- hash value
- identifier
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种访问控制方法、装置、计算机设备和存储介质,包括:接收访问发起对象针对访问目标对象的访问请求,获取与所述访问发起对象以及所述访问目标对象唯一对应的第一访问标识;根据所述第一访问标识,从本地共享内存的多个内存空间中确定出目标内存空间;获取所述目标内存空间对应的数据结构中包含的访问限制信息,并根据所述访问限制信息,确定是否允许所述访问发起对象针对所述访问目标对象进行访问,实现了在接收到访问请求时,根据访问标识直接从本地共享内存中获取对应的访问限制信息,避免通过网络从其他设备中获取访问令牌,有效提高了响应速度。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种访问控制方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的不断发展,用户可以获取多种多样的网络服务资源,以满足不同的需求。为了避免网络服务资源被恶意消耗,或者降低提供网络服务资源的设备的能耗,往往会对外界设备的调用次数或访问量进行限制。
在现有技术中,可以在额外设置的其他设备中部署缓存组件,通过缓存组件限制对网络资源的调用,例如,当需要调用网络资源时,外界设备先从缓存组件中获取访问令牌,再通过令牌获取网络资源。通过设置访问令牌的总数量,限制对网络资源的总访问量。
然而,在其他设备中部署缓存组件进行限制的方式,需要耗用网络资源,判别速度较慢,难以对用户的访问或调用请求作出及时响应。
发明内容
基于此,有必要针对上述技术问题,提供一种访问控制方法、装置、计算机设备和存储介质。
一种访问控制方法,所述方法包括:
接收访问发起对象针对访问目标对象的访问请求,获取与所述访问发起对象以及所述访问目标对象唯一对应的第一访问标识;
根据所述第一访问标识,从本地共享内存的多个内存空间中确定出目标内存空间;所述多个内存空间中分别存储有对应的数据结构;所述目标内存空间对应的数据结构中包含与所述第一访问标识匹配的第二访问标识;
获取所述目标内存空间对应的数据结构中包含的访问限制信息,并根据所述访问限制信息,确定是否允许所述访问发起对象针对所述访问目标对象进行访问。
可选地,所述第一访问标识为第一哈希值,第二访问标识为第二哈希值,所述获取与所述访问发起对象以及所述访问目标对象唯一对应的第一访问标识,包括:
获取所述访问发起对象对应的发起对象标识,以及获取所述访问目标对象对应的目标对象标识;
根据所述发起对象标识和所述目标对象标识,生成初始访问标识;
对所述初始访问标识进行哈希处理,得到第一哈希值。
可选地,所述根据所述第一访问标识,从本地共享内存的多个内存空间中确定出目标内存空间,包括:
根据所述第一哈希值确定地址索引,在本地共享内存中确定所述地址索引对应的候选内存空间;
获取所述候选内存空间中数据结构所包含的第二哈希值;
当所述第二哈希值与所述第一哈希值相等,或者所述第二哈希值为零时,确定所述第二哈希值与所述第一哈希值匹配,并将所述候选内存空间确定为目标内存空间。
可选地,所述方法还包括:
当所述第二哈希值与所述第一哈希值不相等,并且所述第二哈希值不为零时,在所述候选内存空间所属的内存区间中,以所述候选内存空间为起点,向后进行地址偏移,确定新的候选内存空间;
将所述新的候选内存空间中数据结构所包含的哈希值确定为新的第二哈希值,并根据所述新的第二哈希值与所述第一哈希值的比较结果确定目标内存空间。
可选地,所述候选内存空间所属的内存区间为环形内存区间,所述方法还包括:
当地址偏移超出预设地址偏移范围时,将所述环形内存区间中最早存储哈希值的内存空间,确定为目标内存空间,并根据所述第一哈希值,更新所述目标内存空间中数据结构所包含的原始哈希值。
可选地,所述访问限制信息包括所述访问发起对象针对所述访问目标对象的请求期限和历史请求次数;
所述根据所述访问限制信息,确定是否允许所述访问发起对象针对所述访问目标对象进行访问,包括:
获取所述访问请求对应的请求时间;
当所述请求时间超过所述请求期限,重置所述访问限制信息中的所述历史请求次数,并允许所述访问发起对象针对所述访问目标对象进行访问;
当所述请求时间不超过所述请求期限,对所述历史请求次数进行调增处理,在调增后的请求次数大于请求次数阈值时,限制所述访问发起对象针对所述访问目标对象进行访问。
可选地,所述方法还包括:
获取访问目标对象分别对应的预设访问频率阈值,以及本地共享内存中各个内存区间对应的访问频率阈值;其中,每个内存区间包括多个内存空间;
根据所述访问目标对象对应的预设访问频率阈值,将所述访问目标对象与访问频率阈值匹配的内存区间关联,并建立所述访问目标对象与同一内存区间中的各个内存空间之间的映射关系。
一种访问控制装置,所述装置包括:
访问请求获取模块,用于接收访问发起对象针对访问目标对象的访问请求,获取与所述访问发起对象以及所述访问目标对象唯一对应的第一访问标识;
目标内存空间确定模块,用于根据所述第一访问标识,从本地共享内存的多个内存空间中确定出目标内存空间;所述多个内存空间中分别存储有对应的数据结构;所述目标内存空间对应的数据结构中包含与所述第一访问标识匹配的第二访问标识;
访问控制模块,用于获取所述目标内存空间对应的数据结构中包含的访问限制信息,并根据所述访问限制信息,确定是否允许所述访问发起对象针对所述访问目标对象进行访问。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述方法的步骤。
上述一种访问控制方法、装置、计算机设备和存储介质,通过接收访问发起对象针对访问目标对象的访问请求,获取与访问发起对象以及访问目标对象唯一对应的第一访问标识,根据第一访问标识,从本地共享内存的多个内存空间中确定出目标内存空间,获取目标内存空间对应的数据结构中包含的访问限制信息,并根据访问限制信息,确定是否允许访问发起对象针对访问目标对象进行访问,实现了在接收到访问请求时,根据访问标识直接从本地共享内存中获取对应的访问限制信息,避免通过网络从其他设备中获取访问令牌,有效提高了响应速度,并且,当服务器部署了多个访问目标对象时,可以根据访问标识确定对应的目标内存空间,各个访问目标对象互不干扰,实现对多个访问目标对象跨进程、单节点的全局频率控制。
附图说明
图1为一个实施例中一种访问控制方法的应用环境图;
图2为一个实施例中一种访问控制方法的流程示意图;
图3为一个实施例中确定目标内存空间的步骤的流程示意图;
图4为一个实施例中确定访问控制方式的步骤的流程示意图;
图5为一个实施例中对访问发起对象进行访问控制的流程示意图;
图6为一个实施例中一种访问控制装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了便于对本申请实施例的理解,先对现有技术中限制网络服务访问量的方式进行介绍。
在实际应用中,每当网络服务被调用时,网络服务并不会存储调用方的信息。在访问数量高并发的业务场景中,网络服务在保持业务正常运转的同时,需要降低对系统资源的消耗,并发现恶意使用网络服务的调用方,例如通过预设程序反复调用接口。为了保证优先级更高的网络服务对系统资源的使用,往往会对优先级更低的网络服务进行限制。
在现有技术中,主要通过缓存组件限制用户对网络服务的调用、访问,具体而言,可以使用如redis、memcache等缓存组件,并将缓存组件与网络服务部署在两个不同的设备中,当调用方需要访问网络服务时,调用方首先从缓存组件中获取访问令牌,在获取访问令牌后,凭该令牌访问网络服务。然而,在这种限制方式中,由于缓存组件与网络服务并不部署在同一个设备中,调用方通过网络访问缓存组件所在的设备,以及取得访问令牌后再访问另一设备中的网络服务,都需要耗用网络资源,同时缓存组件对调用方身份识别一般需要上百微秒或几毫秒,导致对调用方的响应速度缓慢。
基于此,本申请提供了一种访问控制方法,可以应用于如图1所示的应用环境中。其中,终端102可以通过网络与服务器104进行通信,发送访问请求,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种访问控制方法,本实施例以该方法应用于运行在服务器104中的访问目标对象进行举例说明,可以理解的是,该方法也可以应用于终端,也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。
在本实施例中,该方法可以包括以下步骤:
步骤201,接收访问发起对象针对访问目标对象的访问请求,获取与所述访问发起对象以及所述访问目标对象唯一对应的第一访问标识。
作为一示例,访问发起对象可以是主动发起访问请求的一方,如通过终端102对指定资源进行访问的用户、应用程序;访问目标对象可以是访问请求针对的对象,访问发起对象通过向访问目标对象发起访问请求,可以从访问目标对象或者与访问目标对象相关联的服务中获取资源,其中,访问目标对象可以但不限于是以下的任一项或多项:网络服务、接口、数据库;其中,网络服务可以是微服务。
具体的,访问目标对象通过部署在该服务器中,对外提供服务,当访问发起对象向访问目标对象发送访问请求时,可以通过终端102向服务器104发送访问请求,则访问目标对象可以获取到该请求,并获取与访问发起对象和访问目标对象唯一对应的第一访问标识。
步骤202,根据所述第一访问标识,从本地共享内存的多个内存空间中确定出目标内存空间;所述多个内存空间中分别存储有对应的数据结构;所述目标内存空间对应的据结构中包含与所述第一访问标识匹配的第二访问标识。
作为一示例,本地共享内存可以是与访问目标对象部署于同一设备中的内存,本地共享内存可以被设备中的一个或多个访问目标对象共享。例如,当访问目标对象部署于服务器时,本地共享内存是服务器的本地共享内存,当访问目标对象部署于终端时,本地共享内存为终端的本地共享内存。
在具体实现中,本地共享内存可以包括多个内存空间,每个内存空间可以存储有数据结构,在获取到第一访问标识时,可以从多个内存空间存储的数据结构中,确定出包含与第一访问标识匹配的第二访问标识的数据结构,并将该数据结构所在的内存空间确定为目标内存空间。
步骤203,获取所述目标内存空间对应的数据结构中包含的访问限制信息,并根据所述访问限制信息,确定是否允许所述访问发起对象针对所述访问目标对象进行访问。
具体的,内存空间中存储的数据结构,除了包含访问标识外,还可以包括访问目标对象针对访问发起对象的访问限制信息。在确定目标内存空间后,可以从目标内存空间存储的数据结构中获取访问限制信息,并根据访问限制信息,判断是否允许访问发起对象对访问目标对象进行访问,若允许,可以向访问发起对象返回响应消息,以提示访问正常,并从访问请求中获取访问发起对象针对访问目标对象的请求事务,进行处理;若不允许,则可以对该访问请求进行限制。
在本实施例中,通过接收访问发起对象针对访问目标对象的访问请求,获取与访问发起对象以及访问目标对象唯一对应的第一访问标识,根据第一访问标识,从本地共享内存的多个内存空间中确定出目标内存空间,获取目标内存空间对应的数据结构中包含的访问限制信息,并根据访问限制信息,确定是否允许访问发起对象针对访问目标对象进行访问,实现了在接收到访问请求时,根据访问标识直接从本地共享内存中获取对应的访问限制信息,避免通过网络从其他设备中获取访问令牌,有效提高了响应速度。
并且,由于访问标识与访问发起对象和访问目标对象唯一对应,当不同的访问发起对象对同一访问目标对象发起访问,或者同一访问发起对象对不同访问目标对象发起访问,其得到的访问标识也各不相同,则当服务器部署了多个访问目标对象时,可以根据访问标识确定对应的目标内存空间,各个访问目标对象互不干扰,实现对多个访问目标对象跨进程、单节点的全局频率控制。
应当理解的是,访问目标对象被部署在服务器中,本申请提供的一种访问控制方法也可以由服务器执行,即当访问发起对象向访问目标对象发送访问请求时,可以由服务器获取该访问请求,并判断是否允许访问发起对象对访问目标对象进行访问,若不允许进行访问时,服务器可以拦截该访问请求;若允许访问,服务器可以将访问请求发送给访问目标对象。
此外,现有技术中,当缓存组件发生故障时,由于无法起到限制访问的作用,在访问量高并发的情况下,往往会对多个业务产生影响,包括依赖缓存组件和不依赖缓存的多个服务。而在本申请中,当上述方法应用于访问目标对象时,由于无需依赖额外的缓存组件,而是通过本地内存空间存储的访问限制信息进行访问控制,只要访问目标对象正常运作,则可以提供正常的服务,避免因缓存组件的故障引发多个服务的崩溃。在实际应用中,可以将上述方法以控制组件的形式打包在访问目标对象中,例如,当访问目标对象为微服务时,可以将控制组件打包在该微服务中。
在一个实施例中,所述第一访问标识为第一哈希值,第二访问标识为第二哈希值,所述获取与所述访问发起对象以及所述访问目标对象唯一对应的第一访问标识,包括:
获取所述访问发起对象对应的发起对象标识,以及获取所述访问目标对象对应的目标对象标识;根据所述发起对象标识和所述目标对象标识,生成初始访问标识;对所述初始访问标识进行哈希处理,得到第一哈希值。
作为一示例,访问发起对象具有发起对象标识,访问目标对象具有目标对象标识,发起对象标识和目标对象标识具有唯一性。
在获取访问请求后,可以获取发起对象标识和目标对象标识,并根据发起对象标识和目标对象标识,生成初始访问标识,初始访问标识也可以称为realkey。具体而言,可以获取预置的标识生成模板,标识生成模板也可以称为key模板,不同的访问目标对象具有不同的标识生成模板,模板中包括标识生成规则,进而可以结合发起对象标识、目标对象标识和标识生成规则,得到初始访问标识。例如,当访问目标对象为消费券微服务时,其对应的标识生成模板包括“coupon_身份证号”,其中,“coupon”为目标对象标识,“身份证号”为发起对象标识。
在得到初始访问标识后,可以对初始访问标识进行哈希处理,得到第一哈希值(hashkey)。在实际应用中,不同初始访问标识可以存在不同的标识格式,例如不同的访问标识其标识长度并不相同,或者访问标识的数据类型不符合预设数据类型要求,通过对初始访问标识进行哈希处理,可以将访问标识映射为预设数据类型和预设数据长度的第一哈希值,例如,针对数据类型为字符串类型的任意长度的访问标识,经哈希处理后得到64bit整型的第一哈希值。
在本实施例中,根据发起对象标识和目标对象标识,生成初始访问标识;对初始访问标识进行哈希处理,得到第一哈希值,并作为与访问发起对象一级访问目标对象唯一对应的访问标识,能够为后续确定目标内存空间提供查找基础。
在一个实施例中,如图3所示,所述根据所述第一访问标识,从本地共享内存的多个内存空间中确定出目标内存空间,包括:
步骤301,根据所述第一哈希值确定地址索引,在本地共享内存中确定所述地址索引对应的候选内存空间。
在获取第一哈希值后,可以根据第一哈希值确定地址索引(也可以称为indexkey),并根据地址索引,在本地共享内存中的与目标对象关联的内存区间中,确定地址索引对应的候选内存区间。
具体而言,在得到第一哈希值后,可以取第一哈希值预设位数对应的值进行散列,得到与第一哈希值对应的地址索引,其中,通过哈希处理对第一哈希进行散列得到的地址索引为哈希值,根据该哈希值可以快速、直接地在本地共享内存中确定出哈希值所指示的候选内存空间。
在实际应用中,在取第一哈希值的预设位数时,可以根据本地共享内存区间的长度确定。具体的,预设位数可以包括预设低位位数和预设高位位数,通过获取第一哈希值中的预设低位位数至预设高位位数之间的数值进行散列,得到地址索引。其中,预设低位位数可以是大于区间长度的最小2^N,预设高位位数可以通过多次匹配确定,例如,可以取2^(N+2)作为预设高位位数,并在第一哈希值中进行查找。若2^(N+2)不具有可识别性,即存在多个第一哈希值在2^(N+2)位数上数值相同,则可以对预设高位位数进行调整,通过先选取预设低位位数至预设高位位数之间的数值进行散列,可以有效缩短候选内存空间的查找时间,加快查找速度。
在确定预设低位位数和预设高位位数时,可以根据区间大小确定。当区间长度小于2^8时,该区间长度仅能存储256个数据,存储容量较小,而当区间长度大于2的48次方时,虽然区间长度足够,但终端的内存往往难以容纳,因此,本次共享内存的区间长度可以是2的8次方至2的48次方,则对应的预设低位位数和预设高位位数可以在8至48中选择。
可选地,在另一个示例中,还可以采用其他算法确定地址索引,例如CRC32算法、md5算法、sha1算法、sha256算法和sha512算法。
步骤302,获取所述候选内存空间中数据结构所包含的第二哈希值。
步骤303,当所述第二哈希值与所述第一哈希值相等,或者所述第二哈希值为零时,确定所述第二哈希值与所述第一哈希值匹配,并将所述候选内存空间确定为目标内存空间。
在实际应用,各个内存空间数据结构所包含的哈希值,可以初始化为零,当访问发起对象首次针对访问目标对象进行访问时,可以将哈希值存储至对应内存空间的数据结构中,使得数据结构中初始化的零更新为该哈希值。
基于此,在确定候选内存空间后,可以读取候选内存空间中的数据结构,得到候选内存空间对应的第二哈希值,并将第二哈希值与第一哈希值进行比较,当第二哈希值与第一哈希值相等,或者第二哈希值等于零时,可以将候选内存空间确定为目标对象的目标内存空间。具体的,当第二哈希值为零时,可以确定候选内存空间此前并未存储其他访问发起对象对应的第一哈希值;当第二哈希值与第一哈希值相等时,则可以确定访问发起对象对应的第一哈希值此前已经存储过在候选内存空间中,也即已经向访问目标对象发送过访问请求,因此,可以继续使用该内存空间作为目标内存空间。
在本实施例中,根据第一哈希值确定地址索引,在本地共享内存中确定所述地址索引对应的候选内存空间,并在候选内存空间存储的第二哈希值与第一哈希值相等,或者第二哈希值为零时,得到目标内存空间,实现了根据哈希值快速、高效地查找目标内存空间,有利于提高对访问请求的响应速度。
在一个实施例中,所述方法还可以包括如下步骤:
当所述第二哈希值与所述第一哈希值不相等,并且所述第二哈希值不为零时,在所述候选内存空间所属的内存区间中,以所述候选内存空间为起点,向后进行地址偏移,确定新的候选内存空间;将所述新的候选内存空间中数据结构所包含的哈希值确定为新的第二哈希值,并根据所述新的第二哈希值与所述第一哈希值的比较结果确定目标内存空间。
具体的,本地共享内存可以被划分为多个内存区间,本地共享内存被划分为多个内存区间,在每个内存区间中可以包括具有不同内存地址的多个内存空间,每个内存区间配置有不同的访问频率阈值,相应地,在同一内存区间中的多个内存空间,可以具有相同的访问频率阈值,其中,一个或多个内存区间是环形区间。
在确定目标内存空间时,当第二哈希值与第一哈希值不相等,并且第二哈希值不等于零时,发生哈希冲突,即不同的哈希值对应了同一个内存空间,而当前的候选内存空间是其他访问发起对象发起访问请求时,在本地共享内存所映射的内存空间,即当前第二哈希值所对应的内存空间属于其他访问发起对象。
基于此,可以在候选内存空间所属的内存区间中,以当前的候选内存空间为起点,向后进行地址偏移,确定新的候选内存空间。在确定新的候选内存空间时可以通过开放地址法确定,例如通过线性探测、二次探测或再哈希法确定新的地址索引,并根据新的地址索引查找到对应的新的候选内存空间。
在实际应用中,在发生哈希冲突时虽然可以通过开放地址法寻址,但发生哈希冲突的候选内存空间,与其所属的内存区间上界的距离可能小于最大寻址长度,若内存区间为直线区间,则开放地址寻址范围存在超出内存区间范围或无法达到最大寻址长度的情况,因此,可以将内存区间设置为环形区间。
在确定新的候选内存空间后,可以从新的候选内存空间存储的数据结构中,获取新的第二哈希值,并将新的第二哈希值与第一哈希值进行比较,当新的第二哈希值与第一哈希值相等,或者,第二哈希值为零时,则确定新的候选内存空间为目标内存空间,并将第一哈希值存储到目标内存空间的数据结构中;当新的第二哈希值与第一哈希值不相等,并且第二哈希值不等于零时,则继续在该环形内存区间中,向后进行地址偏移,查找新的候选内存空间。
在本实施例中,通过将内存区间设置为环形内存区间,在向后进行地址偏移时,避免了无法达到最大寻址长度或超出区间寻址范围的情况出现,在发生哈希冲突时,能够有效利用环形内存区间中的各个内存空间,解决哈希冲突。
在一个实施例中,所述候选内存空间所属的内存区间为环形内存区间,所述方法还包括:
当地址偏移超出预设地址偏移范围时,将所述环形内存区间中最早存储哈希值的内存空间,确定为目标内存空间,并根据所述第一哈希值,更新所述目标内存空间中数据结构所包含的原始哈希值。
作为一示例,预设地址偏移范围为向后进行地址偏移时,预设的总地址偏移范围。
在向后进行地址偏移时,可以判断当前总的地址偏移是否超出预设地址偏移范围,当地址偏移超出预设地址偏移范围时,可以将环形内存区间中最早存储哈希值的内存空间,确定为目标内存空间,并将第一哈希值存储到目标内存空间中;若当前总的地址偏移不超过预设地址偏移范围,则可以继续向后进行地址偏移,确定新的候选内存空间。
在实际应用中,由于开放地址范围过大时,容易导致内存空间被反复查找,内存空间中存储的哈希值也可能被反复覆盖,查找效率随着时间的推移逐渐降低,例如,在开放地址法中,若通过顺序查找的方式确定新的候选内存空间,查找时间随区间长度的增加而增加。
因此,可以设置一预设地址偏移范围,预设地址偏移范围可以根据内存区间的区间长度确定,令哈希冲突次数与查找时间相对均衡,即哈希冲突次数少且查找时间短。具体的,可以直接将区间长度的四分之一确定为预设地址偏移范围,又如,可以判断环形内存区间的区间长度是否大于预设区间长度阈值,若是,将第一偏移范围确定为预设地址偏移范围,若否,可以将第二偏移范围确定为预设地址偏移范围。例如判断环形内存区间的区间长度是否大于2^15,若是,将区间长度的四分之一确定为预设地址偏移范围;若否,则最多访问2^13的区间长度。
当然,本领域技术人员可以根据实际需要调整预设地址偏移范围,例如,若需要减少查找次数,则可以缩小预设地址偏移范围,若需要减少哈希冲突次数,可以扩大预设地址偏移范围。
在本实施例中,通过设置预设地址偏移范围,并在总的偏移范围大于预设地址偏移范围时,将环形内存区间中最早存储哈希值的内存空间确定为目标内存空间,避免因查找过多的内存空间而导致系统资源的过渡消耗。
在一个实施例中,访问限制信息可以包括访问发起对象针对访问目标对象的请求期限和历史请求次数;请求期限是重置历史请求次数的时间期限,历史请求次数是请求期限内访问发起对象针对访问目标对象发起访问的次数。例如,每24小时重置一次,则请求期限为24小时,在24小时内,访问发起对象针对访问发起对象一共发送了4次请求,则历史请求次数为4次。
如图4所示,所述根据所述访问限制信息,确定是否允许所述访问发起对象针对所述访问目标对象进行访问,可以包括如下步骤:
步骤401,获取所述访问请求对应的请求时间。
具体的,可以获取访问请求对应的请求时间,该请求时间可以是接收到访问请求的时间,也可以是访问发起对象在生成访问请求时,在访问请求中添加时间戳,当访问目标对象获取到访问请求时,可以从访问请求中读取该时间戳,并将其确定为请求时间。
步骤402,当所述请求时间超过所述请求期限,重置所述访问限制信息中的所述历史请求次数,并允许所述访问发起对象针对所述访问目标对象进行访问。
在实际应用中,可以对访问发起对象在一段时间内访问次数进行限制,避免频繁进行。具体而言,可以判断请求时间是否超过请求期限,当请求时间超过请求期限时,可以重置历史请求次数,并允许访问发起对象对访问目标对象进行访问。
可选地,对历史请求次数进行重置后,可以采用重置后的历史请求次数,更新目标内存空间数据结构中原有的历史请求次数,进而在访问发起对象继续像访问目标对象发送访问请求时,可以根据重置后的历史请求次数进行统计。
步骤403,当所述请求时间不超过所述请求期限,对所述历史请求次数进行调增处理,在调增后的请求次数大于请求次数阈值时,限制所述访问发起对象针对所述访问目标对象进行访问。
当请求时间不超过请求期限时,可以调增历史请求次数,并判断调增后的历史请求次数是否大于请求次数阈值,若是,限制访问发起对象针对访问目标对象进行访问,如不处理访问请求对应的事务,并向访问发起对象返回访问失败的消息;若否,则可以允许访问发起对象的访问请求,并对请求进行处理。可选地,可以采用调增后的历史请求次数,更新目标内存空间数据结构中原有的历史请求次数。
例如,请求期限是1小时,每逢整点时刻则重置请求次数,12:00-12:48时已记录的历史请求次数为98次,若访问发起对象在13:02向访问目标对象发送访问请求,由于已超过了12:00-12:59这个请求期限,则可以重置原来的历史请求次数98,在考虑本次访问请求的基础上,可以将98重置为1;若访问发起对象在12:53向访问目标对象发送访问请求,由于未超过了12:00-12:59这个请求期限,则调增历史请求次数,得到历史请求次数为99。
在本实施例中,可以在调增后的请求次数大于请求次数阈值时,限制访问发起对象针对访问目标对象进行访问,避免访问发起对象频繁进行访问。
在一个实施例中,在所述接收访问发起对象针对访问目标对象的访问请求的步骤之前,所述方法还可以包括如下步骤:
获取访问目标对象分别对应的预设访问频率阈值,以及本地共享内存中各个内存区间对应的访问频率阈值;其中,每个内存区间包括多个内存空间;根据所述访问目标对象对应的预设访问频率阈值,将所述访问目标对象与访问频率阈值匹配的内存区间关联,并建立所述访问目标对象与同一内存区间中的各个内存空间之间的映射关系。
作为一示例,访问目标对象对应的预设访问频率阈值为预先针对访问目标对象设置的访问频率阈值,用于限制访问发起对象在请求期限内对访问目标对象的最大访问量。
具体而言,可以使用服务器的本地共享内存作为访问频率阈值的公共存储区域,并预先将本地共享内存划分为具有不同访问频率阈值的多个内存区间,在每个内存区间中包括多个内存空间。针对需要限制访问频率的访问目标对象,可以获取访问目标对象对应的预设访问频率阈值,并获取本地共享内存中各个内存区间对应的访问频率阈值。
由于不同的访问目标对象可以采用不同的访问频率阈值限制访问量,针对每个访问目标对象,可以根据目标对象的预设访问频率阈值,申请与预设访问频率阈值匹配的内存区间,并将目标对象与内存区间关联。其中,与预设访问频率阈值匹配的内存区间,可以是指访问频率阈值与预设访问频率阈值相同的内存区间,也可以是访问频率阈值与预设访问频率阈值之间的差值在预设范围内的内存区间,例如访问频率阈值略小于预设访问频率阈值的内存区间。
在实际应用中,当访问目标对象被部署至设备上后,可以从设备的系统中获取频率配置文件,频率配置文件中可以记录有各个内存区间的大小、内存区间对应的访问频率阈值(包括请求期限和请求次数阈值),访问目标对象可以读取频率配置文件,申请与匹配的内存区间并建立关联。其中,不同的访问目标对象可以使用不同的频率配置文件,也可以使用同一个频率配置文件。
在将访问目标对象与对应的内存区间关联后,可以建立访问目标对象与同一内存区间中各个内存空之间的映射关系,以在后续接收到访问请求时,根据该映射关系,将第一访问标识映射至具有对应访问频率阈值的目标内存空间。
在本实施中,根据访问目标对象对应的预设访问频率阈值,将访问目标对象与访问频率阈值匹配的内存区间关联,并建立访问目标对象与同一内存区间中的各个内存空间之间的映射关系,能够通过匹配的内存区间的访问频率阈值,对访问请求进行限制。
为了使本领域技术人员能够更好地理解上述步骤,以下通过一个例子对本申请实施例加以示例性说明,但应当理解的是,本申请实施例并不限于此。
在实际应用中,可以为消费券抽奖活动开发消费券微服务,并在消费券微服务中部署频率控制组件。当消费券微服务在终端启动时,频率控制组件可以读取频率配置文件,向系统申请本地共享内存,也即申请本地共享内存中对应访问频率阈值的内存区间。
具体而言,在申请本地共享内存时,可以通过调用消费券微服务安装包中的stat函数读取用于识别终端系统的表示,并使用该标识作为申请本地共享内存的编号,例如,在linux系统中申请本地共享内存时,可以根据微服务代码,从linux中读取该代码指定的文件,从中读取相应标识作为申请或获得共享内存的编号;当需要从其他文件读取编号时,可以对微服务代码进行修改。又如,在Windows系统中申请本地共享内存时,可以获取代码指定文件的文件名,并将该文件名转换为16位无符号整型的数组(uint16数组)作为编号,同时,还可以申请另一本地共享内存用于在存储内存区间与访问频率阈值对应关系。消费券微服务申请的本地共享内存大小可以定义在频率配置文件中。若消费券微服务未能成功申请本地共享内存,则停止该微服务。
在成功申请本地共享内存后,消费券微服务可以运行并接收用户的访问请求。在消费券预约活动中,为了防止用户反复预约消费券,预先设置了同一用户7天内不可重复参加,则请求期限为604800秒,根据前期调研,预计参与预约活动的用户为1000000,则消费券微服务已申请的本地共享内存的区间长度为2097152(2^21),并且在本地共享内存中,该内存区间对应的访问频率阈值为7天1次。
如图5所示,当用户向消费券微服务发送访问请求时,可以获取用户的身份证号(即图中的查询新key),并将该身份证号作为发起对象标识,消费券微服务中存储有初始访问标识的生成规则“coupon_身份证”,当用户的身份证号为440************129时,可按照该模板和用户身份证号生成访问标识“coupon_440************129”(即图中的realkey),通过哈希处理(xxhash)后得到第一哈希值(即图中的hashkey)为“12890591503199247447”。
根据第一哈希值进行散列后得到地址索引(indexkey)为1465490,在该地址索引指示的候选内存空间,其包含的数据结构已经存储了第二哈希值“12890586459255595089”,第二哈希值不等于第一哈希值,发生哈希冲突,则向后寻址,并判断寻址后的候选内存空间中存储的哈希值是否不为零且不相等,或者哈希值是否等于零。
在寻找时,确定候选内存空间后的1个空间中存储的第二哈希值为0,则可以将“12890591503199247447”存储到该内存空间的数据结构中。若寻址过程中,多个候选内存空间中存储的哈希值都与第一哈希值不相等且不等于零,并且寻址的偏移范围已经超过偏移限制(即预设地址偏移范围),则可以采用lru(最近最少使用,Least Recently Used)方式,对最早存储哈希值的内存空间进行重置,并将第一哈希值“12890591503199247447”存储到该内存空间的数据结构中。
应该理解的是,虽然图1-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种访问控制装置,包括:
访问请求获取模块601,用于接收访问发起对象针对访问目标对象的访问请求,获取与所述访问发起对象以及所述访问目标对象唯一对应的第一访问标识;
目标内存空间确定模块602,用于根据所述第一访问标识,从本地共享内存的多个内存空间中确定出目标内存空间;所述多个内存空间中分别存储有对应的数据结构;所述目标内存空间对应的数据结构中包含与所述第一访问标识匹配的第二访问标识;
访问控制模块603,用于获取所述目标内存空间对应的数据结构中包含的访问限制信息,并根据所述访问限制信息,确定是否允许所述访问发起对象针对所述访问目标对象进行访问。
在一个实施例中,所述第一访问标识为第一哈希值,第二访问标识为第二哈希值,所述访问请求获取模块601,包括:
标识获取子模块,用于获取所述访问发起对象对应的发起对象标识,以及获取所述访问目标对象对应的目标对象标识;
初始访问标识生成子模块,用于根据所述发起对象标识和所述目标对象标识,生成初始访问标识;
哈希处理子模块,用于对所述初始访问标识进行哈希处理,得到第一哈希值。
在一个实施例中,所述目标内存空间确定模块602,包括:
地址索引确定子模块,用于根据所述第一哈希值确定地址索引,在本地共享内存中确定所述地址索引对应的候选内存空间;
第二哈希值获取子模块,用于获取所述候选内存空间中数据结构所包含的第二哈希值;
匹配子模块,用于当所述第二哈希值与所述第一哈希值相等,或者所述第二哈希值为零时,确定所述第二哈希值与所述第一哈希值匹配,并将所述候选内存空间确定为目标内存空间。
在一个实施例中,所述装置还包括:
候选内存空间偏移模块,用于当所述第二哈希值与所述第一哈希值不相等,并且所述第二哈希值不为零时,在所述候选内存空间所属的内存区间中,以所述候选内存空间为起点,向后进行地址偏移,确定新的候选内存空间;
第二哈希值更新模块,用于将所述新的候选内存空间中数据结构所包含的哈希值确定为新的第二哈希值,并根据所述新的第二哈希值与所述第一哈希值的比较结果确定目标内存空间。
在一个实施例中,所述候选内存空间所属的内存区间为环形内存区间,所述装置还包括:
原始哈希值更新模块,用于当地址偏移超出预设地址偏移范围时,将所述环形内存区间中最早存储哈希值的内存空间,确定为目标内存空间,并根据所述第一哈希值,更新所述目标内存空间中数据结构所包含的原始哈希值。
在一个实施例中,所述访问限制信息包括所述访问发起对象针对所述访问目标对象的请求期限和历史请求次数;所述访问控制模块603,包括:
请求时间获取子模块,用于获取所述访问请求对应的请求时间;
访问通过子模块,用于当所述请求时间超过所述请求期限,重置所述访问限制信息中的所述历史请求次数,并允许所述访问发起对象针对所述访问目标对象进行访问;
访问限制子模块,用于当所述请求时间不超过所述请求期限,对所述历史请求次数进行调增处理,在调增后的请求次数大于请求次数阈值时,限制所述访问发起对象针对所述访问目标对象进行访问。
在一个实施例中,所述装置还包括:
访问频率阈值获取模块,用于获取访问目标对象分别对应的预设访问频率阈值,以及本地共享内存中各个内存区间对应的访问频率阈值;其中,每个内存区间包括多个内存空间;
内存区间关联模块,用于根据所述访问目标对象对应的预设访问频率阈值,将所述访问目标对象与访问频率阈值匹配的内存区间关联,并建立所述访问目标对象与同一内存区间中的各个内存空间之间的映射关系。
关于一种访问控制装置的具体限定可以参见上文中对于一种访问控制方法的限定,在此不再赘述。上述一种访问控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种访问控制方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收访问发起对象针对访问目标对象的访问请求,获取与所述访问发起对象以及所述访问目标对象唯一对应的第一访问标识;
根据所述第一访问标识,从本地共享内存的多个内存空间中确定出目标内存空间;所述多个内存空间中分别存储有对应的数据结构;所述目标内存空间对应的数据结构中包含与所述第一访问标识匹配的第二访问标识;
获取所述目标内存空间对应的数据结构中包含的访问限制信息,并根据所述访问限制信息,确定是否允许所述访问发起对象针对所述访问目标对象进行访问。
在一个实施例中,处理器执行计算机程序时还实现上述其他实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收访问发起对象针对访问目标对象的访问请求,获取与所述访问发起对象以及所述访问目标对象唯一对应的第一访问标识;
根据所述第一访问标识,从本地共享内存的多个内存空间中确定出目标内存空间;所述多个内存空间中分别存储有对应的数据结构;所述目标内存空间对应的数据结构中包含与所述第一访问标识匹配的第二访问标识;
获取所述目标内存空间对应的数据结构中包含的访问限制信息,并根据所述访问限制信息,确定是否允许所述访问发起对象针对所述访问目标对象进行访问。
在一个实施例中,计算机程序被处理器执行时还实现上述其他实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种访问控制方法,其特征在于,所述方法包括:
接收访问发起对象针对访问目标对象的访问请求,获取与所述访问发起对象以及所述访问目标对象唯一对应的第一访问标识;
根据所述第一访问标识,从本地共享内存的多个内存空间中确定出目标内存空间;所述多个内存空间中分别存储有对应的数据结构;所述目标内存空间对应的数据结构中包含与所述第一访问标识匹配的第二访问标识;
获取所述目标内存空间对应的数据结构中包含的访问限制信息,并根据所述访问限制信息,确定是否允许所述访问发起对象针对所述访问目标对象进行访问。
2.根据权利要求1所述的方法,其特征在于,所述第一访问标识为第一哈希值,第二访问标识为第二哈希值,所述获取与所述访问发起对象以及所述访问目标对象唯一对应的第一访问标识,包括:
获取所述访问发起对象对应的发起对象标识,以及获取所述访问目标对象对应的目标对象标识;
根据所述发起对象标识和所述目标对象标识,生成初始访问标识;
对所述初始访问标识进行哈希处理,得到第一哈希值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一访问标识,从本地共享内存的多个内存空间中确定出目标内存空间,包括:
根据所述第一哈希值确定地址索引,在本地共享内存中确定所述地址索引对应的候选内存空间;
获取所述候选内存空间中数据结构所包含的第二哈希值;
当所述第二哈希值与所述第一哈希值相等,或者所述第二哈希值为零时,确定所述第二哈希值与所述第一哈希值匹配,并将所述候选内存空间确定为目标内存空间。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述第二哈希值与所述第一哈希值不相等,并且所述第二哈希值不为零时,在所述候选内存空间所属的内存区间中,以所述候选内存空间为起点,向后进行地址偏移,确定新的候选内存空间;
将所述新的候选内存空间中数据结构所包含的哈希值确定为新的第二哈希值,并根据所述新的第二哈希值与所述第一哈希值的比较结果确定目标内存空间。
5.根据权利要求3所述的方法,其特征在于,所述候选内存空间所属的内存区间为环形内存区间,所述方法还包括:
当地址偏移超出预设地址偏移范围时,将所述环形内存区间中最早存储哈希值的内存空间,确定为目标内存空间,并根据所述第一哈希值,更新所述目标内存空间中数据结构所包含的原始哈希值。
6.根据权利要求1所述的方法,其特征在于,所述访问限制信息包括所述访问发起对象针对所述访问目标对象的请求期限和历史请求次数;
所述根据所述访问限制信息,确定是否允许所述访问发起对象针对所述访问目标对象进行访问,包括:
获取所述访问请求对应的请求时间;
当所述请求时间超过所述请求期限,重置所述访问限制信息中的所述历史请求次数,并允许所述访问发起对象针对所述访问目标对象进行访问;
当所述请求时间不超过所述请求期限,对所述历史请求次数进行调增处理,在调增后的请求次数大于请求次数阈值时,限制所述访问发起对象针对所述访问目标对象进行访问。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取访问目标对象分别对应的预设访问频率阈值,以及本地共享内存中各个内存区间对应的访问频率阈值;其中,每个内存区间包括多个内存空间;
根据所述访问目标对象对应的预设访问频率阈值,将所述访问目标对象与访问频率阈值匹配的内存区间关联,并建立所述访问目标对象与同一内存区间中的各个内存空间之间的映射关系。
8.一种访问控制装置,其特征在于,所述装置包括:
访问请求获取模块,用于接收访问发起对象针对访问目标对象的访问请求,获取与所述访问发起对象以及所述访问目标对象唯一对应的第一访问标识;
目标内存空间确定模块,用于根据所述第一访问标识,从本地共享内存的多个内存空间中确定出目标内存空间;所述多个内存空间中分别存储有对应的数据结构;所述目标内存空间对应的数据结构中包含与所述第一访问标识匹配的第二访问标识;
访问控制模块,用于获取所述目标内存空间对应的数据结构中包含的访问限制信息,并根据所述访问限制信息,确定是否允许所述访问发起对象针对所述访问目标对象进行访问。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011290402.1A CN112099979B (zh) | 2020-11-18 | 2020-11-18 | 一种访问控制方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011290402.1A CN112099979B (zh) | 2020-11-18 | 2020-11-18 | 一种访问控制方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112099979A true CN112099979A (zh) | 2020-12-18 |
CN112099979B CN112099979B (zh) | 2021-03-05 |
Family
ID=73785226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011290402.1A Active CN112099979B (zh) | 2020-11-18 | 2020-11-18 | 一种访问控制方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112099979B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112966314A (zh) * | 2021-02-03 | 2021-06-15 | 张德运 | 一种计算机平台与存储设备相互绑定认证方法和系统 |
CN113285933A (zh) * | 2021-05-13 | 2021-08-20 | 京东数字科技控股股份有限公司 | 用户访问控制方法、装置、电子设备与存储介质 |
CN113779545A (zh) * | 2021-08-27 | 2021-12-10 | 深圳市优必选科技股份有限公司 | 数据跨进程共享的方法、终端设备及计算机可读存储介质 |
CN114201418A (zh) * | 2021-12-13 | 2022-03-18 | 珠海格力电器股份有限公司 | 数据访问方法、装置、电子设备及存储介质 |
WO2023036188A1 (zh) * | 2021-09-09 | 2023-03-16 | 海尔数字科技(青岛)有限公司 | 访问限流方法、装置、设备、存储介质及计算机程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473314A (zh) * | 2013-09-11 | 2013-12-25 | 北京思特奇信息技术股份有限公司 | 一种基于共享内存的键值对存储方法及装置 |
US20170024246A1 (en) * | 2013-01-09 | 2017-01-26 | The Research Foundation For The State University Of New York | Gang migration of virtual machines using cluster-wide deduplication |
CN106550408A (zh) * | 2015-09-23 | 2017-03-29 | 周祥宇 | 一种基于自组网的数据对象整合方法 |
CN109766165A (zh) * | 2018-11-22 | 2019-05-17 | 海光信息技术有限公司 | 一种内存访问控制方法、装置、内存控制器及计算机系统 |
CN110928646A (zh) * | 2019-11-22 | 2020-03-27 | 海光信息技术有限公司 | 一种访问共享内存的方法、装置、处理器和计算机系统 |
US10691619B1 (en) * | 2017-10-18 | 2020-06-23 | Google Llc | Combined integrity protection, encryption and authentication |
CN111522673A (zh) * | 2020-04-26 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 内存数据访问方法、装置、计算机设备和存储介质 |
-
2020
- 2020-11-18 CN CN202011290402.1A patent/CN112099979B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170024246A1 (en) * | 2013-01-09 | 2017-01-26 | The Research Foundation For The State University Of New York | Gang migration of virtual machines using cluster-wide deduplication |
CN103473314A (zh) * | 2013-09-11 | 2013-12-25 | 北京思特奇信息技术股份有限公司 | 一种基于共享内存的键值对存储方法及装置 |
CN106550408A (zh) * | 2015-09-23 | 2017-03-29 | 周祥宇 | 一种基于自组网的数据对象整合方法 |
US10691619B1 (en) * | 2017-10-18 | 2020-06-23 | Google Llc | Combined integrity protection, encryption and authentication |
CN109766165A (zh) * | 2018-11-22 | 2019-05-17 | 海光信息技术有限公司 | 一种内存访问控制方法、装置、内存控制器及计算机系统 |
CN110928646A (zh) * | 2019-11-22 | 2020-03-27 | 海光信息技术有限公司 | 一种访问共享内存的方法、装置、处理器和计算机系统 |
CN111522673A (zh) * | 2020-04-26 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 内存数据访问方法、装置、计算机设备和存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112966314A (zh) * | 2021-02-03 | 2021-06-15 | 张德运 | 一种计算机平台与存储设备相互绑定认证方法和系统 |
CN113285933A (zh) * | 2021-05-13 | 2021-08-20 | 京东数字科技控股股份有限公司 | 用户访问控制方法、装置、电子设备与存储介质 |
CN113779545A (zh) * | 2021-08-27 | 2021-12-10 | 深圳市优必选科技股份有限公司 | 数据跨进程共享的方法、终端设备及计算机可读存储介质 |
WO2023036188A1 (zh) * | 2021-09-09 | 2023-03-16 | 海尔数字科技(青岛)有限公司 | 访问限流方法、装置、设备、存储介质及计算机程序产品 |
CN114201418A (zh) * | 2021-12-13 | 2022-03-18 | 珠海格力电器股份有限公司 | 数据访问方法、装置、电子设备及存储介质 |
CN114201418B (zh) * | 2021-12-13 | 2024-05-03 | 珠海格力电器股份有限公司 | 数据访问方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112099979B (zh) | 2021-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112099979B (zh) | 一种访问控制方法、装置、计算机设备和存储介质 | |
US10182018B2 (en) | Resource management based on device-specific or user-specific resource usage profiles | |
US11362840B2 (en) | Methods, apparatuses, devices and systems for backtracking service behavior | |
US10073916B2 (en) | Method and system for facilitating terminal identifiers | |
US9678797B2 (en) | Dynamic resource management for multi-process applications | |
CN110704177B (zh) | 计算任务处理方法、装置、计算机设备和存储介质 | |
EP3961458B1 (en) | Blockchain-based service processing methods, apparatuses, devices, and storage media | |
CN110197075B (zh) | 资源访问方法、装置、计算设备以及存储介质 | |
US10986101B2 (en) | Method and device for preventing server from being attacked | |
CN112748879B (zh) | 数据获取方法、系统、装置、计算机设备和存储介质 | |
CN111885184A (zh) | 高并发场景下热点访问关键字处理方法和装置 | |
CN111652685A (zh) | 信息处理方法、装置、计算机设备及计算机可读存储介质 | |
CN113810433A (zh) | 文件上传方法、装置和计算机设备 | |
Kumar et al. | Real geo‐time‐based secured access computation model for e‐Health systems | |
CN113365272B (zh) | 一种防蹭网方法及系统 | |
CN113840313B (zh) | 移动终端的网络模式控制方法、装置和计算机设备 | |
CN111294336B (zh) | 登录行为检测方法、装置、计算机设备和存储介质 | |
CN112783866A (zh) | 数据读取方法、装置、计算机设备和存储介质 | |
CN112800123A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110442447B (zh) | 基于消息队列的负载均衡方法、装置和计算机设备 | |
CN115580848B (zh) | 一种基于大数据的移动设备隐私信息安全处理方法 | |
CN114489486B (zh) | 行业数据长存储方法、设备及存储介质 | |
US20230359725A1 (en) | Methods and systems for monitoring the behavior of a process | |
US20220366035A1 (en) | Execution control system, execution control method, and program | |
CN113535780A (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 |