CN116961918A - 令牌获取方法和装置 - Google Patents
令牌获取方法和装置 Download PDFInfo
- Publication number
- CN116961918A CN116961918A CN202310746913.7A CN202310746913A CN116961918A CN 116961918 A CN116961918 A CN 116961918A CN 202310746913 A CN202310746913 A CN 202310746913A CN 116961918 A CN116961918 A CN 116961918A
- Authority
- CN
- China
- Prior art keywords
- client
- peak clipping
- server
- parameter
- token
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000004044 response Effects 0.000 claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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/321—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 involving a third party or a trusted authority
- H04L9/3213—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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/105—Multiple levels of security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- 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/40—Network security protocols
Abstract
本发明公开了一种令牌获取方法和装置,涉及网络控制技术领域。该方法的一具体实施方式包括:接收服务器发送的削峰参数,并根据所述削峰参数,确定第一控制参数;根据客户端的系统信息,确定第二控制参数;根据所述第一控制参数及所述第二控制参数,确定所述客户端是否符合令牌获取条件;响应于所述客户端符合所述令牌获取条件,向服务器发送令牌获取请求;接收服务器返回的返回信息,所述返回信息包括:目标令牌及访问时段信息,并根据所述目标令牌及所述访问时段信息,向服务器发送访问请求。该实施方式在服务器同时处理大量服务请求时,能够保证服务器正常运行,且使同一控制级别的各客户端公平地获取应答信息。
Description
技术领域
本发明涉及网络控制技术领域,尤其涉及一种令牌获取方法和装置。
背景技术
服务器用于接收来自客户端的服务请求,并将服务请求的应答信息返回给客户端。服务器的性能及网络承载能力是固定的,同一时间,服务器能够响应的服务请求的数量也是有限的。如果发生大量服务请求并发的情况,服务器无法同时处理大量服务请求,会造成服务器无响应,甚至宕机等情况。
发明内容
有鉴于此,本发明实施例提供一种令牌获取方法和装置,在服务器同时处理大量服务请求时,能够保证服务器正常运行,且使各客户端公平地获取应答信息。
第一方面,本发明实施例提供了一种令牌获取方法,应用于客户端,包括:
接收服务器发送的削峰参数,并根据所述削峰参数,确定第一控制参数;
根据所述客户端的系统信息,确定第二控制参数;
根据所述第一控制参数及所述第二控制参数,确定所述客户端是否符合令牌获取条件;
响应于所述客户端符合所述令牌获取条件,向服务器发送令牌获取请求;
接收服务器返回的返回信息,所述返回信息包括:目标令牌及访问时段信息,并根据所述目标令牌及所述访问时段信息,向服务器发送服务请求;其中,所述访问时段信息是服务器根据服务器性能信息、客户端排队数量、所述客户端的控制级别确定的。
可选地,所述削峰参数是服务器根据网络拥堵信息及服务器性能信息确定的,所述削峰参数为大于1的正整数。
可选地,所述根据所述削峰参数,确定第一控制参数,包括:
从1至所述削峰参数的范围内,随机生成所述第一控制参数,所述第一控制参数为正整数;
所述根据所述客户端的系统信息,确定第二控制参数,包括:
获取所述客户端的当前时间;
将所述当前时间的分钟数或秒数,确定为所述第二控制参数。
可选地,所述根据所述削峰参数,确定第一控制参数,包括:
确定所述削峰参数与所述客户端中保存的本地削峰参数是否相等;
响应于所述削峰参数与所述本地削峰参数相等,将所述客户端中保存的本地第一控制参数确定为所述第一控制参数;
响应于所述削峰参数与所述本地削峰参数不相等,生成所述削峰参数对应的第一控制参数,保存所述削峰参数及所述第一控制参数。
可选地,所述根据所述第一控制参数及所述第二控制参数,确定所述客户端是否符合令牌获取条件,包括:
根据所述第一控制参数、所述第二控制参数及所述削峰参数,生成第一匹配值及第二匹配值;
响应于所述第一匹配值及所述第二匹配值符合预设条件,确定所述客户端符合令牌获取条件;
响应于所述第一匹配值及所述第二匹配值不符合所述预设条件,确定所述客户端不符合令牌获取条件。
可选地,所述第一匹配值为所述第一控制参数对所述削峰参数进行取模运算得到的,第二匹配值为所述第二控制参数对所述削峰参数进行取模运算得到的。
可选地,所述根据所述目标令牌及所述访问时段信息,向服务器发送服务请求,包括:
获取所述客户端的当前时间,并确定所述当前时间是否满足所述访问时段信息;
响应于所述当前时间满足所述访问时段信息,向服务器发送携带有所述目标令牌的服务请求;
响应于所述服务器验证所述目标令牌为有效令牌,且所述服务请求对应的访问时间与所述访问时段信息相对应,接收所述服务器针对所述服务请求返回的应答信息。
可选地,在所述目标令牌为无效令牌,或所述服务请求对应的访问时间与所述访问时段信息不对应的情况下,所述服务器丢弃所述服务请求。
第二方面,本发明实施例提供了一种令牌获取装置,应用于客户端,包括:
第一确定模块,用于接收服务器发送的削峰参数,并根据所述削峰参数,确定第一控制参数;
第二确定模块,用于根据所述客户端的系统信息,确定第二控制参数;
条件确定模块,用于根据所述第一控制参数及所述第二控制参数,确定所述客户端是否符合令牌获取条件;
请求发送模块,用于响应于所述客户端符合所述令牌获取条件,向服务器发送令牌获取请求;
令牌接收模块,用于接收服务器返回的返回信息,所述返回信息包括:目标令牌及访问时段信息,并根据所述目标令牌及所述访问时段信息,向服务器发送服务请求;其中,所述访问时段信息是服务器根据服务器性能信息、客户端排队数量、所述客户端的控制级别确定的。
可选地,所述削峰参数是服务器根据网络拥堵信息及服务器性能信息确定的,所述削峰参数为大于1的正整数。
可选地,所述第一确定模块具体用于:
从1至所述削峰参数的范围内,随机生成所述第一控制参数,所述第一控制参数为正整数;
所述第二确定模块具体用于:
获取所述客户端的当前时间;
将所述当前时间的分钟数或秒数,确定为所述第二控制参数。
可选地,所述第一确定模块具体用于:
确定所述削峰参数与所述客户端中保存的本地削峰参数是否相等;
响应于所述削峰参数与所述本地削峰参数相等,将所述客户端中保存的本地第一控制参数确定为所述第一控制参数;
响应于所述削峰参数与所述本地削峰参数不相等,生成所述削峰参数对应的第一控制参数,保存所述削峰参数及所述第一控制参数。
第三方面,本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的方法。
第四方面,本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
第五方面,本发明实施例提供了一种计算机程序产品,包括计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:服务器可根据网络拥堵信息、服务器性能信息及当前请求数等,确定削峰参数。客户端接收服务器发送的削峰参数,并根据削峰参数及系统信息,生成控制参数,以确定客户端是否符合令牌获取条件。服务器只向符合令牌获取条件的客户端返回目标令牌。只有获取目标令牌的客户端才能接收到服务器的应答信息。因此,在服务器同时处理大量服务请求时,服务器只服务部分具有目标令牌的客户端,保证服务器正常运行。
此外,削峰参数用于调节客户端获取有效令牌的概率,同一时间各客户端获取的削峰参数都是相同的,控制级别相同的各客户端都有相同的概率获取到目标令牌,从而使各客户端可以公平地获取服务器的应答信息。
此外,可根据客户端的重要程度、客户端配置、用户信息、客户端访问频率及紧急程度等,为不同的客户端设置不同的控制级别。服务器根据控制级别,确定客户端的访问时段信息,以合理分配服务器资源,保证控制级别高的客户端能够尽快得到服务器的响应,提升客户端用户的使用体验。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明第一实施例提供的一种令牌获取方法的流程示意图;
图2是本发明第二实施例提供的一种令牌获取方法的流程示意图;
图3是本发明第三实施例提供的一种令牌获取方法的流程示意图;
图4是本发明的第三实施例提供的一种令牌获取概率的示意图;
图5是本发明的实施例提供的一种令牌获取装置的结构示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,本发明的技术方案中,所涉及的用户个人信息的采集、分析、使用、传输、存储等方面,均符合相关法律法规的规定,被用于合法且合理的用途,不在这些合法使用等方面之外共享、泄露或出售,并且接受监管部门的监督管理。应当对用户个人信息采取必要措施,以防止对此类个人信息数据的非法访问,确保有权访问个人信息数据的人员遵守相关法律法规的规定,确保用户个人信息安全。一旦不再需要这些用户个人信息数据,应当通过限制甚至禁止数据收集和/或删除数据的方式将风险降至最低。
图1是本发明第一实施例提供的一种令牌获取方法的流程示意图,应用于客户端,如图1所示,该方法包括:
步骤101:接收服务器发送的削峰参数,并根据削峰参数,确定第一控制参数。
在接收服务器发送的削峰参数之前,客户端可向服务器发送服务请求,或向服务器发送削峰参数获取请求。服务器接收到服务请求或削峰参数获取请求,将削峰参数返回给客户端。削峰参数可以为正整数,削峰参数用于调节客户端获取到目标令牌的概率。在服务器同时处理大量服务请求时,通过削峰参数,来保证服务器正常运行。
削峰参数可以由服务器端的工作人员人为指定。服务器也可根据网络拥堵信息、服务器性能信息及当前请求数等,确定削峰参数。具体地,网络拥堵信息用于表征网络的拥堵程度,可在系统中预设网络拥堵信息与削峰参数之间的映射关系,并根据当前的网络拥堵信息及该映射关系,确定削峰参数。类似地,也可在系统中预设网络拥堵信息、服务器性能信息及当前请求数等与削峰参数之间的映射关系,并根据当前的网络拥堵信息、服务器性能信息及当前请求数及该映射关系,确定削峰参数。
根据削峰参数,确定第一控制参数的方式有很多种,如从1至削峰参数的范围内,随机生成第一控制参数。或将削峰参数与某一系数相乘或相除,生成第一控制系数等。
步骤102:根据客户端的系统信息,确定第二控制参数。
客户端的系统信息可包括:当前时间、客户端标识、IP地址、MAC地址(媒体存取控制位址,Media Access Control Address)、端口号等。可以从系统信息中截取出部分的数值串作为第二控制参数。
步骤103:根据第一控制参数及第二控制参数,确定客户端是否符合令牌获取条件。
如果第一控制参数及第二控制参数满足预设条件,确定客户端符合令牌获取条件。预设条件可以根据需求灵活设置。例如,第一控制参数是否大于、小于或等于第二控制参数。又如,对第一控制参数与削峰参数进行取模运算,得到第一匹配值;对第二控制参数与削峰参数进行取模运算,得到第二匹配值;预设条件为第一匹配值是否大于、小于或等于第二匹配值。
步骤104:响应于客户端符合令牌获取条件,向服务器发送令牌获取请求。
步骤105:接收服务器返回的返回信息,返回信息包括:目标令牌及访问时段信息,并根据目标令牌及访问时段信息,向服务器发送服务请求。
控制级别可由客户端根据注册用户信息、客户端配置、客户端访问频率、紧急程度等确定。控制级别可以人工设定,也可以由服务器端确定。较高的控制级别对应的客户端的实时性要求较高。较低的控制级别对应的客户端的实时性要求较低。
客户端可向服务器发送级别获取请求,级别获取请求中包括:终端标识、注册用户信息、客户端配置、客户端访问频率、紧急程度等。服务器根据级别获取请求,确定并保存客户端的控制级别。
访问时段信息是服务器根据服务器性能信息、客户端排队数量、客户端的控制级别确定的。访问时段信息可以为:立即、当天12:00-12:30、当前时间的半个小时以后、当前时间之后的1个小时-2个小时等。
在系统中设置访问时段的计算公式,计算公式以服务器性能信息、客户端排队数量、控制级别作为变量。也可在系统中设置服务器性能信息、客户端排队数量、控制级别与访问时段之间的映射关系。
例如:主机配置为配置1,客户端排队数量为1000-2000,客户端的控制级别为1,则访问时段为当前时间之后的0.5个小时至1个小时之间;主机配置为配置1,客户端排队数量为2000-5000,客户端的控制级别为1,则访问时段为当前时间之后的1个小时至1.5个小时之间等。服务器通过访问时段的计算公式或映射关系,确定客户端的访问时段信息。
令牌是服务器对用户进行授权的小工具,或是认证用户身份的固定字符串。携带有目标令牌的服务请求才会被服务器处理。其它服务请求可以进入服务器的等待队列,或被服务器直接丢弃。
在本发明实施例中,服务器可根据网络拥堵信息、服务器性能信息及当前请求数等确定削峰参数。客户端接收服务器发送的削峰参数,并根据削峰参数及系统信息,生成控制参数,以确定客户端是否符合令牌获取条件。服务器只向符合令牌获取条件的客户端返回目标令牌。只有获取目标令牌的客户端才能接收到服务器的应答信息。因此,在服务器同时处理大量服务请求时,能够使服务器只服务部分具有目标令牌的客户端,来保证服务器正常运行。
此外,削峰参数用于调节获取有效令牌的概率,同一时间各客户端获取的削峰参数都是相同的,控制级别相同的各客户端都有相同的概率获取到目标令牌,从而使各客户端公平地获取服务器的应答信息。
可根据客户端的重要程度、客户端配置、用户信息、客户端访问频率及紧急程度,为不同的客户端设置不同的控制级别。服务器根据控制级别,确定客户端的访问时段信息,以合理分配服务器资源,保证重要的客户端能够尽快得到服务器的响应,提升客户端用户的使用体验。
图2是本发明第二实施例提供的一种令牌获取方法的流程示意图,应用于客户端,如图2所示,该方法包括:
步骤201:接收服务器发送的削峰参数,并根据削峰参数,确定第一控制参数。
步骤202:根据客户端的系统信息,确定第二控制参数。
步骤203:根据第一控制参数及第二控制参数,确定客户端是否符合令牌获取条件。
步骤204:响应于客户端符合令牌获取条件,向服务器发送令牌获取请求。
步骤205:接收服务器返回的返回信息,返回信息包括:目标令牌及访问时段信息。
访问时段信息是服务器根据服务器性能信息、客户端排队数量、客户端的控制级别确定的。服务器保存客户端访问记录,客户端访问记录包括:客户端标识、控制级别、信息返回时间、访问时段信息等。其中,信息返回时间为服务器向客户端返回所述返回信息的时间。
步骤206:获取客户端的当前时间,并确定当前时间是否满足访问时段信息。
步骤207:响应于当前时间满足访问时段信息,向服务器发送携带有目标令牌的服务请求。
步骤208:响应于服务器验证目标令牌为有效令牌,且服务请求对应的访问时间与访问时段信息相对应,接收服务器针对服务请求返回的应答信息。
在目标令牌为无效令牌,或服务请求对应的访问时间与访问时段信息不对应的情况下,服务器可以丢弃该服务请求,也可以将该服务请求添加到等待队列中。
服务器验证目标令牌是否为有效令牌,包括以下至少之一:确定目标令牌是否为服务器下发的令牌、验证目标令牌是否在有效期限内、验证目标令牌与发送服务请求的客户端是否匹配等。
服务器根据客户端标识,获取客户端访问记录。从客户端访问记录中获取客户端对应的信息返回时间、访问时段信息等。服务器根据获取到的客户端访问记录,确定服务请求对应的访问时间是否与访问时段信息相对应。例如:访问时段信息为:当天12:00-12:30,则确定访问时间是否在当天的12:00-12:30,来确定访问时间是否与访问时段信息相对应。
在本发明实施例中,客户端在向服务器发送服务请求之前,先获取服务器的削峰参数,根据削峰参数,确定客户端是否满足令牌获取条件。在客户端符合令牌获取条件的情况下,向服务器发送令牌获取请求,并获取目标令牌,通过目标令牌接收服务器的应答信息。通过设置削峰参数,使控制级别相同的各客户端在高峰时段能够公平地获取到服务器的服务。
图3是本发明第三实施例提供的一种令牌获取方法的流程示意图,应用于客户端,如图3所示,该方法包括:
步骤301:接收服务器发送的削峰参数。
削峰参数是服务器根据网络拥堵信息及服务器性能信息确定的。削峰参数越大,客户端获取到目标令牌的概率越小;削峰参数越小,客户端获取到目标令牌的概率越大。削峰参数的最小值为2,削峰参数的最大值等于第二控制参数可取的最大值。
步骤302:从1至削峰参数的范围内,随机生成第一控制参数,第一控制参数为正整数。
步骤303:获取客户端的当前时间;将当前时间的分钟数或秒数,确定为第二控制参数。
第二控制参数是跟随当前时间变化的。第二控制参数的取值范围为0至60,则削峰参数的取值范围为2至60。例如,第二控制参数是根据当前时间的分钟确定的。当时时间为9时02分时,则第二控制参数为2。当前时间为17时46分时,则第二控制参数为46。
步骤304:根据第一控制参数、第二控制参数及削峰参数,生成第一匹配值及第二匹配值。
第一控制参数对削峰参数进行取模运算得到第一匹配值。第二控制参数对削峰参数进行取模运算得到第二匹配值。
步骤305:响应于第一匹配值及第二匹配值符合预设条件,确定客户端符合令牌获取条件。
预设条件可以根据需求灵活设置,如大于、小于、等于或不等于。在预设条件为等于的情况下,比较第一匹配值与第二匹配值是否相等。如果相等,确定客户端符合令牌获取条件。
如果第二控制参数是根据当前时间的分钟确定的,用户能获得令牌的概率为一除以削峰参数,即每个用户在削峰参数的分钟内会有一分钟的机会获得令牌。在实现流量削峰的同时,保证了每个用户在一段时间内均能获取到目标令牌。
图4是本发明的第三实施例提供的一种令牌获取概率的示意图,如图4所示,当削峰参数为10,获取目标令牌的概率为1/10。例如,第一控制参数为5,则第二控制参数对削峰参取模等于5时,客户端可以获得令牌。也就是说,在当前时间的分钟数为05、15、25、35、45、55时,客户端可以获得目标令牌。
步骤306:响应于客户端符合令牌获取条件,向服务器发送令牌获取请求。
步骤307:接收服务器返回的返回信息,返回信息包括:目标令牌及访问时段信息,并根据目标令牌及访问时段信息,向服务器发送服务请求。
在本发明实施例的方案中,在流量高峰时,每个客户端只要在一定时间内发起多次请求都有机会获得令牌,较大限度地保证了服务器响应的公平性。同时,本发明实施例的方案也能依据削峰参数,对不同的控制级别的客户端灵活地实现不同程度的削峰效果。
在本发明的一个实施例中,根据削峰参数,确定第一控制参数,包括:确定削峰参数与客户端中保存的本地削峰参数是否相等;响应于削峰参数与本地削峰参数相等,将客户端中保存的本地第一控制参数确定为第一控制参数;响应于削峰参数与本地削峰参数不相等,生成削峰参数对应的第一控制参数,保存削峰参数及第一控制参数。
将从服务器获取到的削峰参数与本地削峰参数进行比较。如果相等,则当前服务器的拥堵情况与上次访问时的拥堵情况相同,直接将本地第一控制参数确定为第一控制参数;如果不相等,则重新生成第一控制参数,保存当前的削峰参数及第一控制参数。
下面介绍一个具体实施方案,该方案通过当前时间的分钟数来确定第二控制参数,故削峰参数的取值范围为:2<=削峰参数<=60,将削峰参数的取值范围配置在服务端的配置文件中,这样就可以根据削峰需要,灵活修改削峰参数的值。
当用户每次打开客户端时,客户端需要先从服务端获取削峰参数。当客户端第一次获取到削峰参数或者本次获取到的削峰参数跟本地削峰参数不一样时,在1至削峰参数之间,随机产生一个正整数,作为第一控制参数,并将当前的第一控制参数和削峰参数保存在本地客户端。
在确定好第一控制参数和削峰参数之后,通过获取当前时间的分钟数得出第二控制参数。执行取模运算,第一控制参数对削峰参数取模产生第一匹配值,第二控制参数对削峰参数取模产生第二匹配值。比较第一匹配值和第二匹配值是否相等,如果相等,则客户端能够获取目标令牌。
在实际使用场景中,也可以设计成不相等时获得令牌,以使更多客户端可以获取令牌。比如当削峰参数为10,如果第一匹配值和第二匹配值不相等时获得令牌,则同一时刻9/10的客户端能获取到令牌。客户端获取到令牌后,客户端在访问时段信息对应的期限内发出的所有服务请求都会被服务处理。
根据本发明实施例的方案,每个客户端都有获取令牌的机会,较大程度地保证了响应的公平性。在削峰参数为2至60之间时,不超过60分钟,客户端必有一分钟能获得令牌。只要用户在一段时间内多次进入客户端,就有机会获得令牌,保证了用户体验。此外,服务器端只需要更改削峰参数就可以实现不同程度的削峰效果,灵活应对高峰时期的流量变化。此外,服务器也能依据客户端的控制级别,对多个不同的客户端实现不同的访问控制,以使服务器资源得到更好的分配。
图5是本发明的一个实施例提供的一种令牌获取装置的结构示意图,应用于客户端,如图5所示,该装置包括:
第一确定模块501,用于接收服务器发送的削峰参数,并根据削峰参数,确定第一控制参数;
第二确定模块502,用于根据客户端的系统信息,确定第二控制参数;
条件确定模块503,用于根据第一控制参数及第二控制参数,确定客户端是否符合令牌获取条件;
请求发送模块504,用于响应于客户端符合令牌获取条件,向服务器发送令牌获取请求;
令牌接收模块505,用于接收服务器返回的返回信息,返回信息包括:目标令牌及访问时段信息,并根据目标令牌及访问时段信息,向服务器发送服务请求;其中,访问时段信息是服务器根据服务器性能信息、客户端排队数量、客户端的控制级别确定的。
可选地,削峰参数是服务器根据网络拥堵信息及服务器性能信息确定的,削峰参数为大于1的正整数。
可选地,第一确定模块501具体用于:
从1至削峰参数的范围内,随机生成第一控制参数,第一控制参数为正整数;
第二确定模块502具体用于:
获取客户端的当前时间;
将当前时间的分钟数或秒数,确定为第二控制参数。
可选地,第一确定模块501具体用于:
确定削峰参数与客户端中保存的本地削峰参数是否相等;
响应于削峰参数与本地削峰参数相等,将客户端中保存的本地第一控制参数确定为第一控制参数;
响应于削峰参数与本地削峰参数不相等,生成削峰参数对应的第一控制参数,保存削峰参数及第一控制参数。
可选地,条件确定模块503具体用于:
根据第一控制参数、第二控制参数及削峰参数,生成第一匹配值及第二匹配值;
响应于第一匹配值及第二匹配值符合预设条件,确定客户端符合令牌获取条件;
响应于第一匹配值及第二匹配值不符合预设条件,确定客户端不符合令牌获取条件。
可选地,第一匹配值为第一控制参数对削峰参数进行取模运算得到的,第二匹配值为第二控制参数对削峰参数进行取模运算得到的。
可选地,令牌接收模块505具体用于:
获取客户端的当前时间,并确定当前时间是否满足访问时段信息;
响应于当前时间满足访问时段信息,向服务器发送携带有目标令牌的服务请求;
响应于服务器验证目标令牌为有效令牌,且服务请求对应的访问时间与访问时段信息相对应,接收服务器针对服务请求返回的应答信息。
可选地,在目标令牌为无效令牌,或服务请求对应的访问时间与访问时段信息不对应的情况下,服务器丢弃服务请求。
本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任一实施例的方法。
本发明实施例提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本发明实施例中的企业风险评估方法。
如图6所示,系统架构600可以包括客户端601、602、603,网络604和服务器605。网络604用以在客户端601、602、603和服务器605之间提供客户端601、602、603可存储有通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所浏览的购物类网站提供支持的后台管理服务器。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果反馈给终端设备。
在服务器605运行压力较大或接收到的请求数目较多时,服务器605生成削峰参数。客户端601、602、603在需要访问服务器605时,接收服务器605发送的削峰参数,并根据所述削峰参数,确定第一控制参数;根据所述客户端的系统信息,确定第二控制参数;根据所述第一控制参数及所述第二控制参数,确定所述客户端601、602、603是否符合令牌获取条件;响应于所述客户端符合所述令牌获取条件,向服务器605发送令牌获取请求;接收服务器605返回的返回信息,返回信息包括:目标令牌及访问时段信息,并根据目标令牌及访问时段信息,向服务器发送服务请求。
需要说明的是,本发明实施例所提供的令牌获取方法一般由客户端601、602、603执行,相应地,令牌获取装置一般设置于客户端601、602、603中。
应该理解,图6中的客户端、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了根据本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:第一确定模块、第二确定模块、条件确定模块、请求发送模块及令牌接收模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,第一确定模块还可以被描述为“接收服务器发送的削峰参数,并根据削峰参数,确定第一控制参数的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
接收服务器发送的削峰参数,并根据所述削峰参数,确定第一控制参数;
根据所述客户端的系统信息,确定第二控制参数;
根据所述第一控制参数及所述第二控制参数,确定所述客户端是否符合令牌获取条件;
响应于所述客户端符合所述令牌获取条件,向服务器发送令牌获取请求;
接收服务器返回的返回信息,返回信息包括:目标令牌及访问时段信息,并根据目标令牌及访问时段信息,向服务器发送服务请求;其中,访问时段信息是服务器根据服务器性能信息、客户端排队数量、客户端的控制级别确定的。
根据本发明实施例的技术方案,服务器可根据网络拥堵信息、服务器性能信息及当前请求数等确定削峰参数。客户端接收服务器发送的削峰参数,并根据削峰参数及系统信息,生成控制参数,以确定客户端是否符合令牌获取条件。服务器只向符合令牌获取条件的客户端返回目标令牌。只有获取目标令牌的客户端才能接收到服务器的应答信息。因此,在服务器同时处理大量服务请求时,能够使服务器只服务部分具有目标令牌的客户端,来保证服务器正常运行。
此外,削峰参数用于调节获取有效令牌的概率,同一时间各客户端获取的削峰参数都是相同的,各客户端都有相同的概率获取到目标令牌,从而使同一控制级别的各客户端公平地获取服务器的应答信息。
此外,可根据客户端的重要程度、客户端配置、用户信息、客户端访问频率及紧急程度,为不同的客户端设置不同的控制级别。服务器根据控制级别,确定客户端的访问时段信息,以合理分配服务器资源,保证重要的客户端能够尽快得到服务器的响应,提升客户端用户的使用体验。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (15)
1.一种令牌获取方法,其特征在于,应用于客户端,包括:
接收服务器发送的削峰参数,并根据所述削峰参数,确定第一控制参数;
根据所述客户端的系统信息,确定第二控制参数;
根据所述第一控制参数及所述第二控制参数,确定所述客户端是否符合令牌获取条件;
响应于所述客户端符合所述令牌获取条件,向服务器发送令牌获取请求;
接收服务器返回的返回信息,所述返回信息包括:目标令牌及访问时段信息,并根据所述目标令牌及所述访问时段信息,向服务器发送服务请求;其中,所述访问时段信息是服务器根据服务器性能信息、客户端排队数量、所述客户端的控制级别确定的。
2.根据权利要求1所述的方法,其特征在于,所述削峰参数是服务器根据网络拥堵信息及服务器性能信息确定的,所述削峰参数为大于1的正整数。
3.根据权利要求1所述的方法,其特征在于,所述根据所述削峰参数,确定第一控制参数,包括:
从1至所述削峰参数的范围内,随机生成所述第一控制参数,所述第一控制参数为正整数;
所述根据所述客户端的系统信息,确定第二控制参数,包括:
获取所述客户端的当前时间;
将所述当前时间的分钟数或秒数,确定为所述第二控制参数。
4.根据权利要求1所述的方法,其特征在于,所述根据所述削峰参数,确定第一控制参数,包括:
确定所述削峰参数与所述客户端中保存的本地削峰参数是否相等;
响应于所述削峰参数与所述本地削峰参数相等,将所述客户端中保存的本地第一控制参数确定为所述第一控制参数;
响应于所述削峰参数与所述本地削峰参数不相等,生成所述削峰参数对应的第一控制参数,保存所述削峰参数及所述第一控制参数。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一控制参数及所述第二控制参数,确定所述客户端是否符合令牌获取条件,包括:
根据所述第一控制参数、所述第二控制参数及所述削峰参数,生成第一匹配值及第二匹配值;
响应于所述第一匹配值及所述第二匹配值符合预设条件,确定所述客户端符合令牌获取条件;
响应于所述第一匹配值及所述第二匹配值不符合所述预设条件,确定所述客户端不符合令牌获取条件。
6.根据权利要求5所述的方法,其特征在于,所述第一匹配值为所述第一控制参数对所述削峰参数进行取模运算得到的,第二匹配值为所述第二控制参数对所述削峰参数进行取模运算得到的。
7.根据权利要求1所述的方法,其特征在于,所述根据所述目标令牌及所述访问时段信息,向服务器发送服务请求,包括:
获取所述客户端的当前时间,并确定所述当前时间是否满足所述访问时段信息;
响应于所述当前时间满足所述访问时段信息,向服务器发送携带有所述目标令牌的服务请求;
响应于所述服务器验证所述目标令牌为有效令牌,且所述服务请求对应的访问时间与所述访问时段信息相对应,接收所述服务器针对所述服务请求返回的应答信息。
8.根据权利要求7所述的方法,其特征在于,在所述目标令牌为无效令牌,或所述服务请求对应的访问时间与所述访问时段信息不对应的情况下,所述服务器丢弃所述服务请求。
9.一种令牌获取装置,其特征在于,应用于客户端,包括:
第一确定模块,用于接收服务器发送的削峰参数,并根据所述削峰参数,确定第一控制参数;
第二确定模块,用于根据所述客户端的系统信息,确定第二控制参数;
条件确定模块,用于根据所述第一控制参数及所述第二控制参数,确定所述客户端是否符合令牌获取条件;
请求发送模块,用于响应于所述客户端符合所述令牌获取条件,向服务器发送令牌获取请求;
令牌接收模块,用于接收服务器返回的返回信息,所述返回信息包括:目标令牌及访问时段信息,并根据所述目标令牌及所述访问时段信息,向服务器发送访问请求;其中,所述访问时段信息是服务器根据服务器性能信息、客户端排队数量、所述客户端的控制级别确定的。
10.根据权利要求9所述的装置,其特征在于,所述削峰参数是服务器根据网络拥堵信息及服务器性能信息确定的,所述削峰参数为大于1的正整数。
11.根据权利要求9所述的装置,其特征在于,所述第一确定模块具体用于:
从1至所述削峰参数的范围内,随机生成所述第一控制参数,所述第一控制参数为正整数;
所述第二确定模块具体用于:
获取所述客户端的当前时间;
将所述当前时间的分钟数或秒数,确定为所述第二控制参数。
12.根据权利要求9所述的装置,其特征在于,所述第一确定模块具体用于:
确定所述削峰参数与所述客户端中保存的本地削峰参数是否相等;
响应于所述削峰参数与所述本地削峰参数相等,将所述客户端中保存的本地第一控制参数确定为所述第一控制参数;
响应于所述削峰参数与所述本地削峰参数不相等,生成所述削峰参数对应的第一控制参数,保存所述削峰参数及所述第一控制参数。
13.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的方法。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一所述的方法。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310746913.7A CN116961918A (zh) | 2023-06-25 | 2023-06-25 | 令牌获取方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310746913.7A CN116961918A (zh) | 2023-06-25 | 2023-06-25 | 令牌获取方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116961918A true CN116961918A (zh) | 2023-10-27 |
Family
ID=88445290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310746913.7A Pending CN116961918A (zh) | 2023-06-25 | 2023-06-25 | 令牌获取方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116961918A (zh) |
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 | 浙江省电子信息产品检验研究院(浙江省信息化和工业化融合促进中心) | 安全通信方法与装置 |
-
2023
- 2023-06-25 CN CN202310746913.7A patent/CN116961918A/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 |
---|---|---|
US11575735B2 (en) | Cloud application-agnostic data loss prevention (DLP) | |
CN112261172B (zh) | 服务寻址访问方法、装置、系统、设备及介质 | |
CN107547548B (zh) | 数据处理方法及系统 | |
CN110445615B (zh) | 网络请求安全性验证方法、装置、介质及电子设备 | |
CN111104675A (zh) | 系统安全漏洞的检测方法和装置 | |
CN112653681B (zh) | 多特征融合的用户登录准入方法、装置和系统 | |
CN109428926B (zh) | 一种调度任务节点的方法和装置 | |
CN107294931B (zh) | 调整限制访问频率的方法和装置 | |
CN111339206A (zh) | 一种基于区块链的数据共享方法和装置 | |
CN108764866B (zh) | 用于分配资源、领取资源的方法和设备 | |
CN110245014B (zh) | 数据处理方法和装置 | |
CN112905990A (zh) | 一种访问方法、客户端、服务端及访问系统 | |
CN112256458A (zh) | 消息入队方法、装置、电子设备和计算机可读介质 | |
CN112887284A (zh) | 一种访问认证方法和装置 | |
CN116961918A (zh) | 令牌获取方法和装置 | |
CN113114611B (zh) | 黑名单管理的方法和装置 | |
CN113127561B (zh) | 业务单号的生成方法、装置、电子设备和存储介质 | |
CN108683608B (zh) | 分配流量的方法和装置 | |
CN108833418B (zh) | 用于防御攻击的方法、装置和系统 | |
CN112837156A (zh) | 固定执行顺序的交易方法和装置 | |
CN110324370B (zh) | 服务端向客户端推送数据的方法和装置 | |
CN109818999B (zh) | 数据传输方法和装置 | |
CN112866179B (zh) | 限流方法和限流装置 | |
CN110830510B (zh) | 检测dos攻击方法、装置、设备及存储介质 | |
CN111783044B (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 |