CN116127494A - 用户并发访问的控制方法及相关装置 - Google Patents
用户并发访问的控制方法及相关装置 Download PDFInfo
- Publication number
- CN116127494A CN116127494A CN202310322379.7A CN202310322379A CN116127494A CN 116127494 A CN116127494 A CN 116127494A CN 202310322379 A CN202310322379 A CN 202310322379A CN 116127494 A CN116127494 A CN 116127494A
- Authority
- CN
- China
- Prior art keywords
- token
- access
- tokens
- target
- token bucket
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及数据处理领域,公开了一种用户并发访问的控制方法及相关装置,用于提高用户并发访问的效率。方法包括:获取多个目标用户的访问权限以及优先级,并根据访问权限以及优先级对多个目标用户进行令牌分配,得到令牌数量;根据每个目标用户对应的令牌数量获取至少一个第一令牌,并将至少一个第一令牌缓存至预设的令牌桶,并设置令牌桶的最大容量;当目标用户访问共享资源时,从令牌桶中获取目标数量的至少一个第二令牌;当目标用户完成对共享资源的访问后,对至少一个第二令牌进行释放,并将至少一个第二令牌放回令牌桶中;对令牌桶中的令牌数量进行定期检查,并根据访问状态动态调整令牌桶的令牌数目和获取速率。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种用户并发访问的控制方法及相关装置。
背景技术
在现代计算机***中,多个用户通常需要同时访问共享的资源,如数据库、网络服务等。为了保障***的稳定性和安全性,必须对这些并发访问进行有效控制。常见的方法包括使用锁、信号量等并发控制机制,但这些方法存在效率低、易受死锁等问题。
发明内容
本发明提供了一种用户并发访问的控制方法及相关装置,用于提高用户并发访问的效率。
本发明第一方面提供了一种用户并发访问的控制方法,所述用户并发访问的控制方法包括:
获取多个目标用户的访问权限以及优先级,并根据所述访问权限以及所述优先级对所述多个目标用户进行令牌分配,得到每个目标用户对应的令牌数量;
根据每个目标用户对应的令牌数量获取对应的至少一个第一令牌,并将所述至少一个第一令牌缓存至预设的令牌桶,并设置所述令牌桶的最大容量;
当所述目标用户访问共享资源时,从所述令牌桶中获取目标数量的至少一个第二令牌;
当所述目标用户完成对共享资源的访问后,对所述至少一个第二令牌进行释放,并将所述至少一个第二令牌放回所述令牌桶中;
对所述令牌桶中的令牌数量进行定期检查,并根据所述目标用户的访问状态动态调整所述令牌桶的令牌数目和获取速率。
结合第一方面,在本发明第一方面的第一实施方式中,所述获取多个目标用户的访问权限以及优先级,并根据所述访问权限以及所述优先级对所述多个目标用户进行令牌分配,得到每个目标用户对应的令牌数量,包括:
获取多个目标用户的访问权限以及优先级,其中,所述访问权限包括:权限低以及权限高,所述优先级包括:优先级高和优先级低;
根据所述访问权限以及所述优先级对所述多个目标用户进行令牌分配;
当所述目标用户的权限低以及优先级高时,分配第一预设值的令牌数量;
当所述目标用户的权限高以及优先级低时,分配第二预设值的令牌数量。
结合第一方面,在本发明第一方面的第二实施方式中,所述根据每个目标用户对应的令牌数量获取对应的至少一个第一令牌,并将所述至少一个第一令牌缓存至预设的令牌桶,并设置所述令牌桶的最大容量,包括:
根据每个目标用户对应的令牌数量获取对应的至少一个第一令牌;
将所述至少一个第一令牌缓存至预设的令牌桶,并获取所述令牌桶的最大并发访问量;
根据所述最大并发访问量,设置所述令牌桶的最大容量。
结合第一方面,在本发明第一方面的第三实施方式中,所述当所述目标用户访问共享资源时,从所述令牌桶中获取目标数量的至少一个第二令牌,包括:
当所述目标用户访问共享资源时,基于预设的令牌分配策略对所述目标用户进行令牌数量分配,得到目标数量;
获取所述令牌桶的令牌获取频率,并根据所述令牌获取频率从所述令牌桶中获取所述目标数量的至少一个第二令牌。
结合第一方面,在本发明第一方面的第四实施方式中,所述当所述目标用户完成对共享资源的访问后,对所述至少一个第二令牌进行释放,并将所述至少一个第二令牌放回所述令牌桶中,包括:
当所述目标用户完成对共享资源的访问后,对所述至少一个第二令牌进行回收策略匹配,得到目标回收策略;
基于所述目标回收策略,对所述至少一个第二令牌进行释放;
对所述至少一个第二令牌进行令牌生命周期管理,并将所述至少一个第二令牌放回所述令牌桶中。
结合第一方面,在本发明第一方面的第五实施方式中,所述对所述令牌桶中的令牌数量进行定期检查,并根据所述目标用户的访问状态动态调整所述令牌桶的令牌数目和获取速率,包括:
对所述令牌桶中的令牌数量进行定期检查,生成定期检查结果;
采集所述令牌桶的监控指标,并根据所述监控指标生成所述目标用户的访问状态;
根据所述访问状态,动态调整所述令牌桶的令牌数目和获取速率。
本发明第二方面提供了一种用户并发访问的控制装置,所述用户并发访问的控制装置包括:
获取模块,用于获取多个目标用户的访问权限以及优先级,并根据所述访问权限以及所述优先级对所述多个目标用户进行令牌分配,得到每个目标用户对应的令牌数量;
缓存模块,用于根据每个目标用户对应的令牌数量获取对应的至少一个第一令牌,并将所述至少一个第一令牌缓存至预设的令牌桶,并设置所述令牌桶的最大容量;
处理模块,用于当所述目标用户访问共享资源时,从所述令牌桶中获取目标数量的至少一个第二令牌;
释放模块,用于当所述目标用户完成对共享资源的访问后,对所述至少一个第二令牌进行释放,并将所述至少一个第二令牌放回所述令牌桶中;
调整模块,用于对所述令牌桶中的令牌数量进行定期检查,并根据所述目标用户的访问状态动态调整所述令牌桶的令牌数目和获取速率。
本发明第三方面提供了一种用户并发访问的控制设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述用户并发访问的控制设备执行上述的用户并发访问的控制方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的用户并发访问的控制方法。
本发明提供的技术方案中,获取多个目标用户的访问权限以及优先级,并根据访问权限以及优先级对多个目标用户进行令牌分配,得到令牌数量;根据每个目标用户对应的令牌数量获取至少一个第一令牌,并将至少一个第一令牌缓存至预设的令牌桶,并设置令牌桶的最大容量;当目标用户访问共享资源时,从令牌桶中获取目标数量的至少一个第二令牌;当目标用户完成对共享资源的访问后,对至少一个第二令牌进行释放,并将至少一个第二令牌放回令牌桶中;对令牌桶中的令牌数量进行定期检查,并根据访问状态动态调整令牌桶的令牌数目和获取速率,本发明首先根据不同用户的访问权限和优先级分配不同数量的令牌,然后将这些令牌放入一个令牌桶中,并限制每个用户在一定时间内最多能够取得的令牌数目。当用户需要访问共享资源时,必须从令牌桶中获取足够数量的令牌才能进行访问。因为每个用户的令牌数目和获取速率都是有限制的,所以可以有效避免资源被过度占用或者某个用户长时间独占资源的情况。可以有效避免资源被过度占用或者某个用户长时间独占资源的情况。实现简单,效率高,不易出现死锁等问题。支持动态调整令牌数目和获取速率,适应各种不同的用户访问需求。
附图说明
图1为本发明实施例中用户并发访问的控制方法的一个实施例示意图;
图2为本发明实施例中设置令牌桶的最大容量的流程图;
图3为本发明实施例中获取目标数量的至少一个第二令牌的流程图;
图4为本发明实施例中对至少一个第二令牌进行释放的流程图;
图5为本发明实施例中用户并发访问的控制装置的一个实施例示意图;
图6为本发明实施例中用户并发访问的控制设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种用户并发访问的控制方法及相关装置,用于提高用户并发访问的效率。本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中用户并发访问的控制方法的一个实施例包括:
S101、获取多个目标用户的访问权限以及优先级,并根据访问权限以及优先级对多个目标用户进行令牌分配,得到每个目标用户对应的令牌数量;
可以理解的是,本发明的执行主体可以为用户并发访问的控制装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
具体的,服务器为每个用户分配不同数量的令牌,根据访问权限和优先级确定令牌数目。服务器针对***中的每一个用户,根据其访问权限和优先级确定其所拥有的令牌数目。通常情况下,访问权限高、优先级低的用户将被分配更少的令牌,而访问权限低、优先级高的用户将被分配更多的令牌。具体的,服务器在并发访问控制方法中,该步骤涉及到如何为每个用户分配不同数量的令牌,以确保在后续的访问过程中能够有效地控制并发访问,避免资源被过度占用或者某个用户长时间独占资源的情况。
S102、根据每个目标用户对应的令牌数量获取对应的至少一个第一令牌,并将至少一个第一令牌缓存至预设的令牌桶,并设置令牌桶的最大容量;
具体的,服务器将这些令牌放入一个令牌桶中,并设置桶的最大容量。在该步骤中,将所有用户被分配的令牌放入一个令牌桶中,同时设置令牌桶的最大容量。令牌桶可以看做是一个令牌的缓存池,用于存储所有可用的令牌。具体的,服务器将所有用户被分配的令牌放入一个令牌桶中,并设置令牌桶的最大容量。该步骤的目的是将所有可用的令牌集中管理,以便后续的访问过程能够从中获取和释放令牌。
S103、当目标用户访问共享资源时,从令牌桶中获取目标数量的至少一个第二令牌;
具体的,当用户需要访问共享资源时,从令牌桶中取出一定数量的令牌,如果令牌数量不足,则需要等待其他用户释放令牌。在该步骤中,当某一用户需要访问共享资源时,它必须从令牌桶中获取一定数量的令牌才能进行访问。如果令牌数量不足,则需要等待其他用户释放令牌。通常情况下,每个用户在一段时间内只能取得一定数量的令牌,以防止某一用户独占过多的令牌导致其他用户无法访问共享资源。需要说明的是,当用户需要访问共享资源时,从令牌桶中取出一定数量的令牌,如果令牌数量不足,则需要等待其他用户释放令牌。该步骤的目的是确保每个用户在访问共享资源时都能够获取到足够的访问权限,同时避免资源被过度占用或者某个用户长时间独占资源的情况。
S104、当目标用户完成对共享资源的访问后,对至少一个第二令牌进行释放,并将至少一个第二令牌放回令牌桶中;
具体的,用户完成对共享资源的访问后,释放相应数量的令牌,并放回到令牌桶中。在该步骤中,当某一用户完成对共享资源的访问后,它需要释放相应数量的令牌,并将这些令牌放回到令牌桶中,以便其他用户可以继续访问共享资源。具体的,当用户访问共享资源结束后,将使用的令牌放回令牌桶中。该步骤的目的是确保每个用户在使用完共享资源后能够及时释放其获得的访问权限,以便其他用户能够继续进行访问。
S105、对令牌桶中的令牌数量进行定期检查,并根据目标用户的访问状态动态调整令牌桶的令牌数目和获取速率。
具体的,服务器定期检查令牌桶中的令牌数量,根据用户的访问情况动态调整令牌数目和获取速率。在该步骤中,***需要定期检查令牌桶中的令牌数量,并根据用户的访问情况动态调整令牌数目和获取速率。例如,如果某一用户的访问频率较高且持续时间较长,***可以增加该用户的令牌数目和获取速率,以提高其访问效率。反之,如果某一用户的访问频率较低或者持续时间较短,***可以减少该用户的令牌数目和获取速率,以节省资源。具体的,服务器监控令牌桶的状态,以便在出现异常情况时及时进行处理。该步骤的目的是确保令牌桶能够始终处于正常工作状态,避免因资源过度占用或其他问题而导致***崩溃或服务不可用。
本发明实施例中,获取多个目标用户的访问权限以及优先级,并根据访问权限以及优先级对多个目标用户进行令牌分配,得到令牌数量;根据每个目标用户对应的令牌数量获取至少一个第一令牌,并将至少一个第一令牌缓存至预设的令牌桶,并设置令牌桶的最大容量;当目标用户访问共享资源时,从令牌桶中获取目标数量的至少一个第二令牌;当目标用户完成对共享资源的访问后,对至少一个第二令牌进行释放,并将至少一个第二令牌放回令牌桶中;对令牌桶中的令牌数量进行定期检查,并根据访问状态动态调整令牌桶的令牌数目和获取速率,本发明首先根据不同用户的访问权限和优先级分配不同数量的令牌,然后将这些令牌放入一个令牌桶中,并限制每个用户在一定时间内最多能够取得的令牌数目。当用户需要访问共享资源时,必须从令牌桶中获取足够数量的令牌才能进行访问。因为每个用户的令牌数目和获取速率都是有限制的,所以可以有效避免资源被过度占用或者某个用户长时间独占资源的情况。可以有效避免资源被过度占用或者某个用户长时间独占资源的情况。实现简单,效率高,不易出现死锁等问题。支持动态调整令牌数目和获取速率,适应各种不同的用户访问需求。
在一具体实施例中,执行步骤S101的过程可以具体包括如下步骤:
(1)获取多个目标用户的访问权限以及优先级,其中,访问权限包括:权限低以及权限高,优先级包括:优先级高和优先级低;
(2)根据访问权限以及优先级对多个目标用户进行令牌分配;
(3)当目标用户的权限低以及优先级高时,分配第一预设值的令牌数量;
(4)当目标用户的权限高以及优先级低时,分配第二预设值的令牌数量。
具体的,服务器在进行令牌分配之前,需要对每个用户的访问权限和优先级进行评估。访问权限通常是指该用户能够访问哪些资源的范围,例如读取、修改等操作。而优先级则是指该用户在多个用户同时访问共享资源时所拥有的相对优先权。通常情况下,访问权限高、优先级低的用户将被分配更少的令牌,而访问权限低、优先级高的用户将被分配更多的令牌。一个简单的分配方法是根据每个用户的访问权限和优先级来确定其初始令牌数目,然后使用动态调整算法在后续的访问过程中不断调整每个用户的令牌数目。在这种方法中,访问权限高、优先级低的用户会被分配较少的初始令牌数目,但随着其访问频率的增加,***可以逐渐增加其令牌数目,提高其访问效率。反之,访问权限低、优先级高的用户则会被分配较多的初始令牌数目,但如果其访问频率开始下降,则***可以逐渐减少其令牌数目,节省资源。除了基于访问权限和优先级的分配方法,还可以考虑其他因素来确定每个用户的初始令牌数目。例如,可以根据用户在过去一段时间内的访问次数、访问持续时间、带宽占用等因素来确定其令牌数目。在这种方法中,频繁访问***的用户将被分配更多的令牌,以提高其访问效率,而较少访问***的用户则会被分配较少的令牌,以节省资源。这种方法需要对用户的访问行为进行统计和分析,比较适用于需要长时间运行的***。需要注意的是,在为每个用户分配令牌时,必须确保每个用户都能够获得足够的令牌以满足其访问需求。否则,会出现某个用户无法访问共享资源的情况,影响***的正常运行。因此,在进行令牌分配时,需要对用户的访问需求充分了解,并根据实际情况合理分配令牌。
在一具体实施例中,如图2所示,执行步骤S102的过程可以具体包括如下步骤:
S201、根据每个目标用户对应的令牌数量获取对应的至少一个第一令牌;
S202、将至少一个第一令牌缓存至预设的令牌桶,并获取令牌桶的最大并发访问量;
S203、根据最大并发访问量,设置令牌桶的最大容量。
具体的,服务器在实现令牌桶算法时,通常会将令牌桶看作是一个队列,其中每个令牌都代表着一定数量的访问权利。当某个用户需要访问共享资源时,它必须从令牌桶中获取一定数量的令牌才能进行访问。如果令牌数量不足,则需要等待其他用户释放令牌,直到获取足够数量的令牌为止。在设计令牌桶算法时,需要考虑以下几个方面:令牌桶的容量,令牌桶的容量决定了其中可存储的令牌数量的上限。通常情况下,令牌桶的容量应该可以满足***中最大并发访问量的需求,并且应该与***的硬件配置、网络带宽等因素相匹配。如果令牌桶的容量过小,则会导致***无法满足高峰期的访问需求;如果令牌桶的容量过大,则会浪费***资源。令牌的生成速率,令牌的生成速率是指令牌桶每秒钟可以生成多少个新的令牌。通常情况下,令牌的生成速率应该与***的处理能力相匹配,以确保***能够及时地响应用户的请求。如果令牌的生成速率过慢,则会导致用户等待时间过长;如果令牌的生成速率过快,则会浪费***资源。令牌的消耗速率,令牌的消耗速率是指每个用户每秒钟可以消耗多少个令牌。通常情况下,令牌的消耗速率应该与***的处理能力相匹配,以确保每个用户都能够获得足够的访问权限。如果令牌的消耗速率过慢,则会导致用户访问效率低下;如果令牌的消耗速率过快,则会导致资源被过度占用,影响***的正常运行。令牌桶的初始状态,令牌桶的初始状态包括其中所含有的令牌数量以及生成速率等参数。在启动***之前,需要对令牌桶的初始状态进行合理设置,以满足***的访问需求。通常情况下,令牌桶的初始状态应该具有适当的缓冲能力,可以应对***启动时的访问峰值。总体来说,令牌桶算法是一种非常有效的并发访问控制方法,在许多网络服务、金融交易***等领域得到广泛应用。通过合理设置令牌桶的参数,可以实现对***中多个用户的并发访问进行有效控制,保障资源的稳定性和安全性。
在一具体实施例中,如图3所示,执行步骤S103的过程可以具体包括如下步骤:
S301、当目标用户访问共享资源时,基于预设的令牌分配策略对目标用户进行令牌数量分配,得到目标数量;
S302、获取令牌桶的令牌获取频率,并根据令牌获取频率从令牌桶中获取目标数量的至少一个第二令牌。
具体的,服务器在实现上述步骤时,需要考虑以下几个方面:令牌的分配策略,令牌的分配策略是指如何从令牌桶中分配令牌给每个用户。通常情况下,可以根据每个用户的访问需求、优先级和历史访问记录等因素来确定其应该获得多少令牌。例如,对于频繁访问***的用户,***可以分配更多的令牌以提高其访问效率;对于访问权限较低的用户,***可以分配较少的令牌以节省资源。令牌的获取频率,令牌的获取频率是指每个用户每秒钟可以获取多少个令牌。通常情况下,每个用户在一段时间内只能取得一定数量的令牌,以防止某一用户独占过多的令牌导致其他用户无法访问共享资源。***可以根据每个用户的访问需求和历史访问记录等因素来动态调整其获取频率,以提高***的资源利用率。等待队列的管理,当令牌数量不足时,用户需要进入等待队列进行等待。在等待队列中,需要对每个用户的等待时间和优先级进行管理,以便在令牌可用时能够及时为具有较高优先级的用户分配令牌。例如,在等待队列中可以采用先进先出(FIFO)或基于优先级的等待队列管理算法,以确保所有用户都能够得到公平的待遇。超时和重试机制,在等待过程中,如果用户等待时间过长或者发生了其他异常情况,需要对其进行超时和重试的处理。例如,如果某个用户等待时间超过了预设的最大等待时间,***可以自动将其移出等待队列,并向用户发送超时提示信息。如果用户在获取令牌时发生网络故障或其他异常情况,***可以尝试重新获取令牌,以提高访问成功率。综上,服务器通过合理设置令牌分配策略、获取频率,以及等待队列的管理和超时重试机制,可以有效地控制并发访问,保障***的稳定性和安全性。
在一具体实施例中,如图4所示,执行步骤S104的过程可以具体包括如下步骤:
S401、当目标用户完成对共享资源的访问后,对至少一个第二令牌进行回收策略匹配,得到目标回收策略;
S402、基于目标回收策略,对至少一个第二令牌进行释放;
S403、对至少一个第二令牌进行令牌生命周期管理,并将至少一个第二令牌放回令牌桶中。
具体的,服务器在实现上述步骤时,需要考虑以下几个方面:令牌的回收策略,令牌的回收策略是指如何将使用完毕的令牌放回到令牌桶中。通常情况下,可以根据每个用户所使用的令牌数量、访问持续时间和历史访问记录等因素来决定其应该回收多少令牌。例如,对于使用较少令牌、访问时间较短的用户,***可以立即回收其所有令牌;对于使用较多令牌、访问时间较长的用户,则可以分阶段回收其令牌,以避免因过快回收导致资源被过度占用。令牌的释放频率,令牌的释放频率是指每个用户每秒钟可以释放多少个令牌。通常情况下,每个用户在一段时间内只能释放一定数量的令牌,以防止某一用户过多地占用令牌桶资源而导致其他用户无法访问共享资源。***可以根据每个用户的访问需求和历史访问记录等因素来动态调整其释放频率,以提高***的资源利用率。令牌的生命周期管理,令牌的生命周期管理是指如何管理令牌的生成、分配、使用和回收过程,以确保每个令牌都能够按照预期的方式运行。在生命周期管理过程中,需要注意令牌的状态转换、异常处理、日志记录等问题,以便在出现问题时能够及时排查并修复。异常处理机制,在令牌回收的过程中,可能会发生网络故障、程序崩溃等异常情况。为了避免这些异常情况影响***的正常运行,需要设计相应的异常处理机制。例如,在出现网络故障时,***可以缓存未回收的令牌,并在网络恢复后再次尝试回收;在出现程序崩溃时,***可以自动重启程序,并根据记录的运行日志来恢复令牌的状态。综上,服务器通过合理设置令牌的回收策略、释放频率,以及生命周期管理和异常处理机制,可以有效地管理令牌桶中的令牌,保证每个用户使用完毕后能够及时释放其访问权限,从而保障***的稳定性和安全性。
在一具体实施例中,执行步骤S105的过程可以具体包括如下步骤:
(1)对令牌桶中的令牌数量进行定期检查,生成定期检查结果;
(2)采集令牌桶的监控指标,并根据监控指标生成目标用户的访问状态;
(3)根据访问状态,动态调整令牌桶的令牌数目和获取速率。
具体的,服务器在实现上述步骤时,需要考虑以下几个方面:令牌桶状态的监控指标,令牌桶状态的监控指标是指对令牌桶中各项状态进行监控的具体指标。例如,可以监控令牌桶中当前可用令牌的数量、令牌生成速率、令牌消耗速率、等待队列长度、响应时间等指标。通过对这些指标的监控,可以及时发现令牌桶中存在的问题,并采取相应的措施进行处理。监控数据的收集和分析,在实时监控令牌桶的状态时,需要将各项指标的数据进行收集和分析。通常情况下,可以借助数据科学技术和人工智能算法来进行数据分析,以挖掘潜在的问题和异常情况。例如,可以使用机器学习算法来预测未来的访问量和资源需求,从而根据预测结果来调整令牌桶的参数和配置。异常情况的处理机制,在监控令牌桶状态的过程中,可能会发生一些异常情况,如资源不足、网络故障、程序崩溃等。为了避免这些异常情况对***造成影响,需要设计相应的异常处理机制。例如,在出现网络故障时,***可以自动切换到备用服务器上运行;在出现资源不足时,可以向用户发送提示信息,降低请求频率以节省资源。日志记录和报警机制,在监控令牌桶状态的过程中,需要及时记录各项指标的变化情况,并根据记录的数据来进行问题排查和故障诊断。同时,还需要设置相应的报警机制,以便在出现严重问题时能够及时通知开发人员和***管理员。例如,可以设置邮件、短信、电话等多种方式的报警方式,以便在任何时间、任何地点都能够及时接收到报警信息。综上,服务器通过合理设置监控指标、数据分析、异常处理机制和日志记录与报警机制等,可以有效地监控令牌桶的状态,保证***能够及时发现并解决存在的问题,从而提高***的稳定性和安全性。
上面对本发明实施例中用户并发访问的控制方法进行了描述,下面对本发明实施例中用户并发访问的控制装置进行描述,请参阅图5,本发明实施例中用户并发访问的控制装置一个实施例包括:
获取模块501,用于获取多个目标用户的访问权限以及优先级,并根据所述访问权限以及所述优先级对所述多个目标用户进行令牌分配,得到每个目标用户对应的令牌数量;
缓存模块502,用于根据每个目标用户对应的令牌数量获取对应的至少一个第一令牌,并将所述至少一个第一令牌缓存至预设的令牌桶,并设置所述令牌桶的最大容量;
处理模块503,用于当所述目标用户访问共享资源时,从所述令牌桶中获取目标数量的至少一个第二令牌;
释放模块504,用于当所述目标用户完成对共享资源的访问后,对所述至少一个第二令牌进行释放,并将所述至少一个第二令牌放回所述令牌桶中;
调整模块505,用于对所述令牌桶中的令牌数量进行定期检查,并根据所述目标用户的访问状态动态调整所述令牌桶的令牌数目和获取速率。
通过上述各个组成部分的协同合作,获取多个目标用户的访问权限以及优先级,并根据访问权限以及优先级对多个目标用户进行令牌分配,得到令牌数量;根据每个目标用户对应的令牌数量获取至少一个第一令牌,并将至少一个第一令牌缓存至预设的令牌桶,并设置令牌桶的最大容量;当目标用户访问共享资源时,从令牌桶中获取目标数量的至少一个第二令牌;当目标用户完成对共享资源的访问后,对至少一个第二令牌进行释放,并将至少一个第二令牌放回令牌桶中;对令牌桶中的令牌数量进行定期检查,并根据访问状态动态调整令牌桶的令牌数目和获取速率,本发明首先根据不同用户的访问权限和优先级分配不同数量的令牌,然后将这些令牌放入一个令牌桶中,并限制每个用户在一定时间内最多能够取得的令牌数目。当用户需要访问共享资源时,必须从令牌桶中获取足够数量的令牌才能进行访问。因为每个用户的令牌数目和获取速率都是有限制的,所以可以有效避免资源被过度占用或者某个用户长时间独占资源的情况。可以有效避免资源被过度占用或者某个用户长时间独占资源的情况。实现简单,效率高,不易出现死锁等问题。支持动态调整令牌数目和获取速率,适应各种不同的用户访问需求。
上面图5从模块化功能实体的角度对本发明实施例中的用户并发访问的控制装置进行详细描述,下面从硬件处理的角度对本发明实施例中用户并发访问的控制设备进行详细描述。
图6是本发明实施例提供的一种用户并发访问的控制设备的结构示意图,该用户并发访问的控制设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对用户并发访问的控制设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在用户并发访问的控制设备600上执行存储介质630中的一系列指令操作。
用户并发访问的控制设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作***631,例如Windows Serve,MacOS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图6示出的用户并发访问的控制设备结构并不构成对用户并发访问的控制设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种用户并发访问的控制设备,所述用户并发访问的控制设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述用户并发访问的控制方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述用户并发访问的控制方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(randomacceS memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种用户并发访问的控制方法,其特征在于,所述用户并发访问的控制方法包括:
获取多个目标用户的访问权限以及优先级,并根据所述访问权限以及所述优先级对所述多个目标用户进行令牌分配,得到每个目标用户对应的令牌数量;
根据每个目标用户对应的令牌数量获取对应的至少一个第一令牌,并将所述至少一个第一令牌缓存至预设的令牌桶,并设置所述令牌桶的最大容量;
当所述目标用户访问共享资源时,从所述令牌桶中获取目标数量的至少一个第二令牌;
当所述目标用户完成对共享资源的访问后,对所述至少一个第二令牌进行释放,并将所述至少一个第二令牌放回所述令牌桶中;
对所述令牌桶中的令牌数量进行定期检查,并根据所述目标用户的访问状态动态调整所述令牌桶的令牌数目和获取速率。
2.根据权利要求1所述的用户并发访问的控制方法,其特征在于,所述获取多个目标用户的访问权限以及优先级,并根据所述访问权限以及所述优先级对所述多个目标用户进行令牌分配,得到每个目标用户对应的令牌数量,包括:
获取多个目标用户的访问权限以及优先级,其中,所述访问权限包括:权限低以及权限高,所述优先级包括:优先级高和优先级低;
根据所述访问权限以及所述优先级对所述多个目标用户进行令牌分配;
当所述目标用户的权限低以及优先级高时,分配第一预设值的令牌数量;
当所述目标用户的权限高以及优先级低时,分配第二预设值的令牌数量。
3.根据权利要求1所述的用户并发访问的控制方法,其特征在于,所述根据每个目标用户对应的令牌数量获取对应的至少一个第一令牌,并将所述至少一个第一令牌缓存至预设的令牌桶,并设置所述令牌桶的最大容量,包括:
根据每个目标用户对应的令牌数量获取对应的至少一个第一令牌;
将所述至少一个第一令牌缓存至预设的令牌桶,并获取所述令牌桶的最大并发访问量;
根据所述最大并发访问量,设置所述令牌桶的最大容量。
4.根据权利要求1所述的用户并发访问的控制方法,其特征在于,所述当所述目标用户访问共享资源时,从所述令牌桶中获取目标数量的至少一个第二令牌,包括:
当所述目标用户访问共享资源时,基于预设的令牌分配策略对所述目标用户进行令牌数量分配,得到目标数量;
获取所述令牌桶的令牌获取频率,并根据所述令牌获取频率从所述令牌桶中获取所述目标数量的至少一个第二令牌。
5.根据权利要求1所述的用户并发访问的控制方法,其特征在于,所述当所述目标用户完成对共享资源的访问后,对所述至少一个第二令牌进行释放,并将所述至少一个第二令牌放回所述令牌桶中,包括:
当所述目标用户完成对共享资源的访问后,对所述至少一个第二令牌进行回收策略匹配,得到目标回收策略;
基于所述目标回收策略,对所述至少一个第二令牌进行释放;
对所述至少一个第二令牌进行令牌生命周期管理,并将所述至少一个第二令牌放回所述令牌桶中。
6.根据权利要求1所述的用户并发访问的控制方法,其特征在于,所述对所述令牌桶中的令牌数量进行定期检查,并根据所述目标用户的访问状态动态调整所述令牌桶的令牌数目和获取速率,包括:
对所述令牌桶中的令牌数量进行定期检查,生成定期检查结果;
采集所述令牌桶的监控指标,并根据所述监控指标生成所述目标用户的访问状态;
根据所述访问状态,动态调整所述令牌桶的令牌数目和获取速率。
7.一种用户并发访问的控制装置,其特征在于,所述用户并发访问的控制装置包括:
获取模块,用于获取多个目标用户的访问权限以及优先级,并根据所述访问权限以及所述优先级对所述多个目标用户进行令牌分配,得到每个目标用户对应的令牌数量;
缓存模块,用于根据每个目标用户对应的令牌数量获取对应的至少一个第一令牌,并将所述至少一个第一令牌缓存至预设的令牌桶,并设置所述令牌桶的最大容量;
处理模块,用于当所述目标用户访问共享资源时,从所述令牌桶中获取目标数量的至少一个第二令牌;
释放模块,用于当所述目标用户完成对共享资源的访问后,对所述至少一个第二令牌进行释放,并将所述至少一个第二令牌放回所述令牌桶中;
调整模块,用于对所述令牌桶中的令牌数量进行定期检查,并根据所述目标用户的访问状态动态调整所述令牌桶的令牌数目和获取速率。
8.根据权利要求7所述的用户并发访问的控制装置,其特征在于,所述获取模块具体用于:
获取多个目标用户的访问权限以及优先级,其中,所述访问权限包括:权限低以及权限高,所述优先级包括:优先级高和优先级低;
根据所述访问权限以及所述优先级对所述多个目标用户进行令牌分配;
当所述目标用户的权限低以及优先级高时,分配第一预设值的令牌数量;
当所述目标用户的权限高以及优先级低时,分配第二预设值的令牌数量。
9.一种用户并发访问的控制设备,其特征在于,所述用户并发访问的控制设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述用户并发访问的控制设备执行如权利要求1-6中任一项所述的用户并发访问的控制方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-6中任一项所述的用户并发访问的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310322379.7A CN116127494A (zh) | 2023-03-29 | 2023-03-29 | 用户并发访问的控制方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310322379.7A CN116127494A (zh) | 2023-03-29 | 2023-03-29 | 用户并发访问的控制方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116127494A true CN116127494A (zh) | 2023-05-16 |
Family
ID=86303022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310322379.7A Pending CN116127494A (zh) | 2023-03-29 | 2023-03-29 | 用户并发访问的控制方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116127494A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117650950A (zh) * | 2024-01-30 | 2024-03-05 | 浙江省电子信息产品检验研究院(浙江省信息化和工业化融合促进中心) | 安全通信方法与装置 |
-
2023
- 2023-03-29 CN CN202310322379.7A patent/CN116127494A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117650950A (zh) * | 2024-01-30 | 2024-03-05 | 浙江省电子信息产品检验研究院(浙江省信息化和工业化融合促进中心) | 安全通信方法与装置 |
CN117650950B (zh) * | 2024-01-30 | 2024-04-19 | 浙江省电子信息产品检验研究院(浙江省信息化和工业化融合促进中心) | 安全通信方法与装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7516292B2 (en) | Method for predicting and avoiding danger in execution environment | |
US7721292B2 (en) | System for adjusting resource allocation to a logical partition based on rate of page swaps and utilization by changing a boot configuration file | |
EP2633403B1 (en) | System and method of active risk management to reduce job de-scheduling probability in computer clusters | |
US8583756B2 (en) | Dynamic configuration and self-tuning of inter-nodal communication resources in a database management system | |
US9495201B2 (en) | Management of bottlenecks in database systems | |
CN106452818B (zh) | 一种资源调度的方法和*** | |
CN102063338B (zh) | 一种请求独占资源的方法及装置 | |
JP2012094030A (ja) | 計算機システム及び処理制御方法 | |
JPWO2005041038A1 (ja) | 情報システム、負荷制御方法、負荷制御プログラム及び記録媒体 | |
US8914582B1 (en) | Systems and methods for pinning content in cache | |
CN111459963B (zh) | 核心账务交易并发处理方法及装置 | |
CN110727508A (zh) | 一种任务调度***和调度方法 | |
CN116127494A (zh) | 用户并发访问的控制方法及相关装置 | |
CN112100034A (zh) | 一种业务监控方法和装置 | |
CN114389955B (zh) | 嵌入式平台异构资源池化管理方法 | |
CN117149414A (zh) | 一种任务处理方法、装置、电子设备及可读存储介质 | |
CN111464331A (zh) | 一种线程创建的控制方法、***及终端设备 | |
Zhang et al. | Workload consolidation in alibaba clusters: the good, the bad, and the ugly | |
CN103778002A (zh) | 多核***中回收临界资源的方法、装置和设备 | |
KR102187382B1 (ko) | 클라우드 인프라 기반의 컨테이너 가상os 통합 모니터링 운영 방법 | |
US9164765B2 (en) | Method for managing a processor, lock contention management apparatus, and computer system | |
US20090187614A1 (en) | Managing Dynamically Allocated Memory in a Computer System | |
JP2006323872A (ja) | 論理区画の予備リソース提供方法及び計算機システム | |
CN110932935A (zh) | 资源控制方法、装置、设备及计算机存储介质 | |
Yu et al. | CERES: Container-based elastic resource management system for mixed workloads |
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 |