CN112416958A - 实时qps控制方法、系统、计算机及计算机可读存储介质 - Google Patents
实时qps控制方法、系统、计算机及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112416958A CN112416958A CN202011416858.8A CN202011416858A CN112416958A CN 112416958 A CN112416958 A CN 112416958A CN 202011416858 A CN202011416858 A CN 202011416858A CN 112416958 A CN112416958 A CN 112416958A
- Authority
- CN
- China
- Prior art keywords
- qps
- time
- real
- configuration information
- tenant
- 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 29
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013500 data storage Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Abstract
本申请涉及一种实时QPS控制方法、系统、计算机设备及可读存储介质,其中,该方法包括:QPS配置步骤,用于通过一QPS控制前端系统设置多个租户的QPS配置信息,所述QPS配置信息至少包括:QPS值、QPS值更新的控制时间;QPS配置信息同步步骤,用于QPS控制前端系统将所述QPS配置信息同步至一实时查询系统;QPS配置信息实时调整步骤,所述实时查询系统实时获取每一所述租户的QPS更新信息,并对比QPS配置信息及所述租户原QPS配置信息,根据一调整规则实时调整所述租户的QPS配置信息;QPS配置信息实时更新步骤,用于所述实时查询系统接收一所述租户的查询请求后,根据该查询请求实时更新所述租户的QPS更新信息。通过本申请,实现线上分租户的QPS实时控制,提高系统服务质量。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及实时QPS控制方法、系统、计算 机设备及计算机可读存储介质。
背景技术
在云计算时代,有一个大幅度节省计算成本的机会,那就是将无数分开的 服务器、分开的计算资源集中到一起(云上),让租户都到云上来共享使用这 些计算资源、存储资源,资源得到共享,就能降低成本。在数据库领域,租户 表示一个数据库的“用户”,租户希望既享受低成本,又希望享受资源的隔离 为了达到这个目的,各种解决多租户共享资源的技术就应运而生。多租户应用 在租户数量增多的情况下,会比单租户应用面临更多的性能压力。
现在的实时线上查询系统都是按照一定的QPS要求搭建的服务,不能无限 制的让线上各租户不加控制的任意查询,需要通过不同租户保证不同QPS查询。 而现有QPS控制是针对整个服务的整体QPS控制。这样的整体QPS控制不能 针对线上各租户分别控制QPS,这就造成低QPS租户的请求会受高QPS租户的 影响;不能实时掌控各租户的QPS情况,实时加以控制。
发明内容
本申请实施例提供了一种实时QPS控制方法、系统、计算机设备及计算机 可读存储介质,实现线上分租户的QPS实时控制,提高系统服务质量。
第一方面,本申请实施例提供了一种实时QPS控制方法,包括:
QPS配置步骤,用于通过一QPS控制前端系统设置多个租户的QPS配置信 息,所述QPS配置信息至少包括:QPS值M、QPS值更新的控制时间Tc;
QPS配置信息同步步骤,用于所述QPS控制前端系统通过一定时轮询接口 将所述QPS配置信息同步至一实时查询系统;
QPS配置信息实时调整步骤,所述实时查询系统实时获取每一所述租户的 QPS更新信息,并对比所述QPS配置信息及所述租户原QPS配置信息,根据一 调整规则实时调整所述租户当前控制时间的QPS配置信息,其中,所述实时查 询系统基于一分布式KV数据库进行数据存储,KV数据库即为Key-value数据 库,可选的,所述分布式KV数据库采用Redis存储系统,所述QPS配置信息 基于MAP结构进行数据存储;
QPS配置信息实时更新步骤,用于所述实时查询系统接收一所述租户的查 询请求后,根据该查询请求实时更新所述租户的QPS更新信息。若该租户开启 QPS控制,则根据所述QPS实时更新步骤对所述租户的配置信息进行实时查询。
通过上述步骤,解决了租户级别的QPS控制,可以通过QPS配置信息的实 时控制按照租户级别提供不同的服务,有效解决了高QPS租户影响整体服务的 情况,通过合理分配各租户的QPS值,提高对整体服务QPS控制,提高服务质 量。
在其中一些实施例中,所述QPS更新信息包括key值、value值,采用二维 HashMap数据结构,
所述key值进一步包括:租户code及业务接口;
所述value值进一步包括:QPS更新时间t及当前QPS值l。
在其中一些实施例中,所述QPS配置信息实时更新步骤进一步包括:
利用所述实时查询系统获取所述查询请求的当前时间T,
若T-t<Tc且l>0,则通过所述查询请求,l=l-1,表示在当前控制时间内还有 剩余QPS值可用;
若T-t<Tc且l<0,则不通过所述查询请求,表示在当前控制时间的QPS值已 用完,同时不能进入下一控制时间;
若T-t>Tc,则更新所述租户的QPS配置信息并通过所述查询请求,l=l-1, 表示已超过当前控制时间,进入下一控制时间,根据QPS配置信息重新计算。
通过上述步骤,以便于有效实现对所述租户的当前控制时间的QPS管理。
在其中一些实施例中,所述调整规则进一步包括:
获取当前控制时间内所述租户的当前QPS值l并计算所述QPS值M与所述 实时查询系统中所述租户的原QPS值M0的差值diff;
若diff>0且l>0,则更新当前QPS值为l=l+diff;
若diff>0且l≤0,则更新当前QPS值为l=diff;
若diff<0且l≤0,则等待进入下一控制周期时更新所述QPS配置信息,此 时若所述租户发起查询请求,则不予通过该请求;
若diff<0且l>0,则更新M0=M0-l后进一步判断:
若diff<0,则更新l=-1,此时若所述租户发起查询请求,则不予通过该 请求;
若diff≥0,则更新l=diff,此时的diff为所述QPS值M与更新后的原QPS值M0的差值。
通过所述调整规则,本申请实施例实现了所述租户的配置信息变动时,实 时反馈至其当前控制时间的查询请求中,进一步提高本申请实施例对租户QPS 配置信息更新的即时性。
第二方面,本申请实施例提供了一种实时QPS控制系统,包括:
QPS配置模块,用于通过一QPS控制前端系统设置多个租户的QPS配置信 息,所述QPS配置信息至少包括:QPS值M、QPS值更新的控制时间Tc;
QPS配置信息同步模块,用于所述QPS控制前端系统通过一定时轮询接口 将所述QPS配置信息同步至一实时查询系统;
QPS配置信息实时调整模块,所述实时查询系统实时获取每一所述租户的 QPS更新信息,并对比所述QPS配置信息及所述租户原QPS配置信息,根据一 调整规则实时调整所述租户当前控制时间的QPS配置信息,其中,所述实时查 询系统基于一分布式KV数据库进行数据存储,KV数据库即为Key-value数据 库,可选的,所述分布式KV数据库采用Redis存储系统,所述QPS配置信息 基于MAP结构进行数据存储;
QPS配置信息实时更新模块,用于所述实时查询系统接收一所述租户的查 询请求后,根据该查询请求实时更新所述租户的QPS更新信息。若该租户开启 QPS控制,则根据所述QPS实时更新模块对所述租户的配置信息进行实时查询。
通过上述模块,解决了租户级别的QPS控制,可以通过QPS配置信息的实 时控制按照租户级别提供不同的服务,有效解决了高QPS租户影响整体服务的 情况,通过合理分配各租户的QPS值,提高对整体服务QPS控制,提高服务质 量。
在其中一些实施例中,所述QPS更新信息包括key值、value值,采用二维 HashMap数据结构,
所述key值进一步包括:租户code及业务接口;
所述value值进一步包括:QPS更新时间t及当前QPS值l。
在其中一些实施例中,所述QPS配置信息实时更新模块进一步包括:
利用所述实时查询系统获取所述查询请求的当前时间T,
若T-t<Tc且l>0,则通过所述查询请求,l=l-1,表示在当前控制时间内还有 剩余QPS值可用;
若T-t<Tc且l<0,则不通过所述查询请求,表示在当前控制时间的QPS值已 用完,同时不能进入下一控制时间;
若T-t>Tc,则更新所述租户的QPS配置信息并通过所述查询请求,l=l-1, 表示已超过当前控制时间,进入下一控制时间,根据QPS配置信息重新计算。
通过上述模块,以便于有效实现对所述租户的当前控制时间的QPS管理。
在其中一些实施例中,所述调整规则进一步包括:
获取当前控制时间内所述租户的当前QPS值l并计算所述QPS值M与所述 实时查询系统中所述租户的原QPS值M0的差值diff;
若diff>0且l>0,则更新当前QPS值为l=l+diff;
若diff>0且l≤0,则更新当前QPS值为l=diff;
若diff<0且l≤0,则等待进入下一控制周期时更新所述QPS配置信息,此 时若所述租户发起查询请求,则不予通过该请求;
若diff<0且l>0,则更新M0=M0-l后进一步判断:
若diff<0,则更新l=-1,此时若所述租户发起查询请求,则不予通过该 请求;
若diff≥0,则更新l=diff,此时的diff为所述QPS值M与更新后的原 QPS值M0的差值。
通过所述调整规则,本申请实施例实现了所述租户的配置信息变动时,实 时反馈至其当前控制时间的查询请求中,进一步提高本申请实施例对租户QPS 配置信息更新的即时性。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以 及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执 行所述计算机程序时实现如上述第一方面所述的实时QPS控制方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计 算机程序,该程序被处理器执行时实现如上述第一方面所述的实时QPS控制方 法。
相比于相关技术,本申请实施例提供的实时QPS控制方法、系统、计算机 设备及计算机可读存储介质,解决了租户级别QPS的控制,可以按照租户级别 提供不同的服务;解决了高QPS用户影响整体服务的情况,合理分配各租户的 QPS,更好的控制整体服务的QPS;实时更新QPS设置,实时控制QPS。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请 的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分, 本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限 定。在附图中:
图1是根据本申请实施例的实时QPS控制方法的流程图;
图2是根据本申请实施例的实时QPS控制系统的结构框图。
附图说明:
101、QPS配置模块;
102、QPS配置信息同步模块;
103、QPS配置信息实时调整模块;
104、QPS配置信息实时更新模块。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用 以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通 技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本 申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于 本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些 附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过 程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关 的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些 设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的 内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或 特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短 语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的 实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施 例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属 技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、 “一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复 数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形, 意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、 方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没 有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的 其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词 语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接 的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述 关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示: 单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前 后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、 “第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本实施例提供了一种实时QPS控制方法。图1是根据本申请实施例的实时 QPS控制方法的流程图,如图1所示,该流程包括如下步骤:
QPS配置步骤S101,用于通过一QPS控制前端系统设置多个租户的QPS 配置信息,QPS配置信息至少包括:QPS值M、QPS值更新的控制时间Tc,可 选的,控制时间为一小时;
QPS配置信息同步步骤S102,用于QPS控制前端系统通过一定时轮询接口 将QPS配置信息同步至一实时查询系统;
QPS配置信息实时调整步骤S103,实时查询系统实时获取每一租户的QPS 更新信息,并对比QPS配置信息及租户原QPS配置信息,根据一调整规则实时 调整租户当前控制时间的QPS配置信息,其中,实时查询系统基于一分布式KV 数据库进行数据存储,KV数据库即为Key-value数据库,可选的,分布式KV 数据库采用Redis存储系统,QPS配置信息基于MAP结构进行数据存储;
QPS配置信息实时更新步骤S104,用于实时查询系统接收一租户的查询请 求后,根据该查询请求实时更新租户的QPS更新信息。若该租户开启QPS控制, 则根据QPS实时更新步骤对租户的配置信息进行实时查询。
通过上述步骤,解决了租户级别的QPS控制,可以通过QPS配置信息的实 时控制按照租户级别提供不同的服务,有效解决了高QPS租户影响整体服务的 情况,通过合理分配各租户的QPS值,提高对整体服务QPS控制,提高服务质 量。
在其中一些实施例中,QPS更新信息包括key值、value值,采用二维 HashMap数据结构,
key值进一步包括:租户code及业务接口;
value值进一步包括:QPS更新时间t及当前QPS值l。
在其中一些实施例中,QPS配置信息实时更新步骤S104进一步包括:
利用实时查询系统获取查询请求的当前时间T,
若T-t<Tc且l>0,则通过查询请求,l=l-1;表示在当前控制时间内还有剩余 QPS值可用;
若T-t<Tc且l<0,则不通过查询请求;表示在当前控制时间的QPS值已用完, 同时不能进入下一控制时间;
若T-t>Tc,则更新租户的QPS配置信息并通过查询请求,l=l-1。表示已超 过当前控制时间,进入下一控制时间,根据QPS配置信息重新计算,此时,若 配置该接口的QPS为100万,则更新后的当前QPS值l为100万,经过该查询 请求后的当前QPS值l为100万-1。
通过上述步骤,以便于有效实现对租户的当前控制时间的QPS管理。
在其中一些实施例中,调整规则进一步包括:
获取当前控制时间内租户的当前QPS值l并计算QPS值M与实时查询系统 中租户的原QPS值M0的差值diff;
若diff>0且l>0,则更新当前QPS值为l=l+diff;
若diff>0且l≤0,则更新当前QPS值为l=diff;
若diff<0且l≤0,则等待进入下一控制周期时更新QPS配置信息,此时若 租户发起查询请求,则不予通过该请求;
若diff<0且l>0,则更新M0=M0-l后进一步判断:
若diff<0,则更新l=-1,此时若租户发起查询请求,则不予通过该请求;
若diff≥0,则更新l=diff,此时的diff为QPS值M与更新后的原QPS 值M0的差值。
通过调整规则,本申请实施例实现了租户的配置信息变动时,实时反馈至 其当前控制时间的查询请求中,进一步提高本申请实施例对租户QPS配置信息 更新的即时性。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如 一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻 辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步 骤。
本实施例还提供了一种实时QPS控制系统,该系统用于实现上述实施例及 优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、 “单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下 实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合 的实现也是可能并被构想的。
图2是根据本申请实施例的实时QPS控制系统的结构框图,如图2所示, 该系统包括:
QPS配置模块101,用于通过一QPS控制前端系统设置多个租户的QPS配 置信息,QPS配置信息至少包括:QPS值M、QPS值更新的控制时间Tc,可选 的,控制时间为一小时;
QPS配置信息同步模块102,用于QPS控制前端系统通过一定时轮询接口 将QPS配置信息同步至一实时查询系统;
QPS配置信息实时调整模块103,实时查询系统实时获取每一租户的QPS 更新信息,并对比QPS配置信息及租户原QPS配置信息,根据一调整规则实时 调整租户当前控制时间的QPS配置信息,其中,实时查询系统基于一分布式KV 数据库进行数据存储,KV数据库即为Key-value数据库,可选的,分布式KV 数据库采用Redis存储系统,QPS配置信息基于MAP结构进行数据存储;具体 的,QPS更新信息包括key值、value值,采用二维HashMap数据结构,key值 进一步包括:租户code及业务接口;value值进一步包括:QPS更新时间t及当 前QPS值l。
具体的,调整规则进一步包括:
获取当前控制时间内租户的当前QPS值l并计算QPS值M与实时查询系统 中租户的原QPS值M0的差值diff;
若diff>0且l>0,则更新当前QPS值为l=l+diff;
若diff>0且l≤0,则更新当前QPS值为l=diff;
若diff<0且l≤0,则等待进入下一控制周期时更新QPS配置信息,此时若 租户发起查询请求,则不予通过该请求;
若diff<0且l>0,则更新M0=M0-l后进一步判断:
若diff<0,则更新l=-1,此时若租户发起查询请求,则不予通过该请求;
若diff≥0,则更新l=diff,此时的diff为QPS值M与更新后的原QPS 值M0的差值。
QPS配置信息实时更新模块104,用于实时查询系统接收一租户的查询请求 后,根据该查询请求实时更新租户的QPS更新信息。若该租户开启QPS控制, 则根据QPS实时更新模块对租户的配置信息进行实时查询。其中,QPS配置信 息实时更新模块104进一步包括:
利用实时查询系统获取查询请求的当前时间T,
若T-t<Tc且l>0,则通过查询请求,l=l-1;表示在当前控制时间内还有剩余 QPS值可用;
若T-t<Tc且l<0,则不通过查询请求;表示在当前控制时间的QPS值已用完, 同时不能进入下一控制时间;
若T-t>Tc,则更新租户的QPS配置信息并通过查询请求,l=l-1。表示已超 过当前控制时间,进入下一控制时间,根据QPS配置信息重新计算,此时,若 配置该接口的QPS为100万,则更新后的当前QPS值l为100万,经过该查询 请求后的当前QPS值l为100万-1。
通过上述模块,有效实现对租户的当前控制时间的QPS管理;解决了租户 级别的QPS控制,可以通过QPS配置信息的实时控制按照租户级别提供不同的 服务,有效解决了高QPS租户影响整体服务的情况,通过合理分配各租户的QPS 值,提高对整体服务QPS控制,提高服务质量。另外,通过上述调整规则,本 申请实施例实现了租户的配置信息变动时,实时反馈至其当前控制时间的查询 请求中,进一步提高本申请实施例对租户QPS配置信息更新的即时性。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以 通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言, 上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合 的形式分别位于不同的处理器中。
另外,结合图1描述的本申请实施例实时QPS控制方法可以由计算机设备 来实现,该计算机设备可以包括处理器以及存储有计算机程序指令的存储器。
具体地,上述处理器可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实 施本申请实施例的一个或多个集成电路。
其中,存储器可以包括用于数据或指令的大容量存储器。举例来说而非限 制,存储器可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、 固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或 通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以 上这些的组合。在合适的情况下,存储器可包括可移除或不可移除(或固定) 的介质。在合适的情况下,存储器可在数据处理装置的内部或外部。在特定实 施例中,存储器是非易失性(Non-Volatile)存储器。在特定实施例中,存储器 包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(Random AccessMemory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的 ROM、可编程ROM(ProgrammableRead-Only Memory,简称为PROM)、可擦 除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可 擦除PROM(Electrically ErasableProgrammable Read-Only Memory,简称为 EEPROM)、电可改写ROM(ElectricallyAlterable Read-Only Memory,简称为 EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况 下,该RAM可以是静态随机存取存储器(Static Random-AccessMemory,简称 为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode DynamicRandom Access Memory,简称为FPMDRAM)、扩展数据输出动态随 机存取存储器(ExtendedDate Out Dynamic Random Access Memory,简称为 EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以 及处理器所执行的可能的计算机程序指令。
处理器通过读取并执行存储器中存储的计算机程序指令,以实现上述实施 例中的任意一种实时QPS控制方法。
另外,结合上述实施例中的实时QPS控制方法,本申请实施例可提供一种 计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令; 该计算机程序指令被处理器执行时实现上述实施例中的任意一种实时QPS控制 方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对 上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技 术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细, 但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的 普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改 进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权 利要求为准。
Claims (10)
1.一种实时QPS控制方法,其特征在于,包括:
QPS配置步骤,用于通过一QPS控制前端系统设置多个租户的QPS配置信息,所述QPS配置信息至少包括:QPS值M、QPS值更新的控制时间Tc;
QPS配置信息同步步骤,用于所述QPS控制前端系统通过一定时轮询接口将所述QPS配置信息同步至一实时查询系统;
QPS配置信息实时调整步骤,所述实时查询系统实时获取每一所述租户的QPS更新信息,并对比所述QPS配置信息及所述租户原QPS配置信息,根据一调整规则实时调整所述租户当前控制时间的QPS配置信息,其中,所述实时查询系统基于一分布式KV数据库进行数据存储;
QPS配置信息实时更新步骤,用于所述实时查询系统接收一所述租户的查询请求后,根据该查询请求实时更新所述租户的QPS更新信息。
2.根据权利要求1所述的实时QPS控制方法,其特征在于,所述QPS更新信息包括key值、value值,
所述key值进一步包括:租户code及业务接口;
所述value值进一步包括:QPS更新时间t及当前QPS值l。
3.根据权利要求2所述的实时QPS控制方法,其特征在于,所述QPS配置信息实时更新步骤进一步包括:
利用所述实时查询系统获取所述查询请求的当前时间T,
若T-t<Tc且l>0,则通过所述查询请求,l=l-1;
若T-t<Tc且l<0,则不通过所述查询请求;
若T-t>Tc,则更新所述租户的QPS配置信息并通过所述查询请求,l=l-1。
4.根据权利要求1或3所述的实时QPS控制方法,其特征在于,所述调整规则进一步包括:
获取当前控制时间内所述租户的当前QPS值l并计算所述QPS值M与所述实时查询系统中所述租户的原QPS值M0的差值diff;
若diff>0且l>0,则更新当前QPS值为l=l+diff;
若diff>0且l≤0,则更新当前QPS值为l=diff;
若diff<0且l≤0,则等待进入下一控制周期时更新所述QPS配置信息;
若diff<0且l>0,则更新M0=M0-l后进一步判断:
若diff<0,则更新l=-1;
若diff≥0,则更新l=diff。
5.一种实时QPS控制系统,其特征在于,包括:
QPS配置模块,用于通过一QPS控制前端系统设置多个租户的QPS配置信息,所述QPS配置信息至少包括:QPS值M、QPS值更新的控制时间Tc;
QPS配置信息同步模块,用于所述QPS控制前端系统通过一定时轮询接口将所述QPS配置信息同步至一实时查询系统;
QPS配置信息实时调整模块,所述实时查询系统实时获取每一所述租户的QPS更新信息,并对比所述QPS配置信息及所述租户原QPS配置信息,根据一调整规则实时调整所述租户当前控制时间的QPS配置信息,其中,所述实时查询系统基于一分布式KV数据库进行数据存储;
QPS配置信息实时更新模块,用于所述实时查询系统接收一所述租户的查询请求后,根据该查询请求实时更新所述租户的QPS更新信息。
6.根据权利要求5所述的实时QPS控制系统,其特征在于,所述QPS更新信息包括key值、value值,
所述key值进一步包括:租户code及业务接口;
所述value值进一步包括:QPS更新时间t及当前QPS值l。
7.根据权利要求6所述的实时QPS控制系统,其特征在于,所述QPS配置信息实时更新模块进一步包括:
利用所述实时查询系统获取所述查询请求的当前时间T,
若T-t<Tc且l>0,则通过所述查询请求,l=l-1;
若T-t<Tc且l<0,则不通过所述查询请求;
若T-t>Tc,则更新所述租户的QPS配置信息并通过所述查询请求,l=l-1。
8.根据权利要求1或3所述的实时QPS控制系统,其特征在于,所述调整规则进一步包括:
获取当前控制时间内所述租户的当前QPS值l并计算所述QPS值M与所述实时查询系统中所述租户的原QPS值M0的差值diff;
若diff>0且l>0,则更新当前QPS值为l=l+diff;
若diff>0且l≤0,则更新当前QPS值为l=diff;
若diff<0且l≤0,则等待进入下一控制周期时更新所述QPS配置信息;
若diff<0且l>0,则更新M0=M0-l后进一步判断:
若diff<0,则更新l=-1;
若diff≥0,则更新l=diff。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的实时QPS控制方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4中任一项所述的实时QPS控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011416858.8A CN112416958A (zh) | 2020-12-07 | 2020-12-07 | 实时qps控制方法、系统、计算机及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011416858.8A CN112416958A (zh) | 2020-12-07 | 2020-12-07 | 实时qps控制方法、系统、计算机及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112416958A true CN112416958A (zh) | 2021-02-26 |
Family
ID=74775812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011416858.8A Pending CN112416958A (zh) | 2020-12-07 | 2020-12-07 | 实时qps控制方法、系统、计算机及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112416958A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503163A (zh) * | 2016-10-31 | 2017-03-15 | 用友网络科技股份有限公司 | 基于SaaS应用的全局配置多租户动态数据源系统 |
US9904722B1 (en) * | 2015-03-13 | 2018-02-27 | Amazon Technologies, Inc. | Log-based distributed transaction management |
CN108279973A (zh) * | 2017-01-05 | 2018-07-13 | 阿里巴巴集团控股有限公司 | 一种信息统计方法、装置及电子设备 |
WO2019175837A1 (en) * | 2018-03-16 | 2019-09-19 | Koch Industries, Inc. | Access controlled distributed ledger system for asset management |
CN111344688A (zh) * | 2017-11-09 | 2020-06-26 | 华为技术有限公司 | 云计算中资源提供的方法及系统 |
CN111478961A (zh) * | 2020-04-03 | 2020-07-31 | 中国建设银行股份有限公司 | 多租户的服务调用方法及装置 |
-
2020
- 2020-12-07 CN CN202011416858.8A patent/CN112416958A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9904722B1 (en) * | 2015-03-13 | 2018-02-27 | Amazon Technologies, Inc. | Log-based distributed transaction management |
CN106503163A (zh) * | 2016-10-31 | 2017-03-15 | 用友网络科技股份有限公司 | 基于SaaS应用的全局配置多租户动态数据源系统 |
CN108279973A (zh) * | 2017-01-05 | 2018-07-13 | 阿里巴巴集团控股有限公司 | 一种信息统计方法、装置及电子设备 |
CN111344688A (zh) * | 2017-11-09 | 2020-06-26 | 华为技术有限公司 | 云计算中资源提供的方法及系统 |
WO2019175837A1 (en) * | 2018-03-16 | 2019-09-19 | Koch Industries, Inc. | Access controlled distributed ledger system for asset management |
CN111478961A (zh) * | 2020-04-03 | 2020-07-31 | 中国建设银行股份有限公司 | 多租户的服务调用方法及装置 |
Non-Patent Citations (1)
Title |
---|
陈林 等: ""SHMA:一种云平台的监控框架"", 《计算机科学》, vol. 44, no. 1, 15 January 2017 (2017-01-15), pages 7 - 12 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105426439B (zh) | 一种元数据的处理方法和装置 | |
CN110806920B (zh) | 镜像部署方法、装置 | |
WO2018176998A1 (zh) | 数据存储方法及装置 | |
CN108776897B (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
EP3125501B1 (en) | File synchronization method, server, and terminal | |
CN106682215B (zh) | 一种数据处理方法和管理节点 | |
WO2021057253A1 (zh) | 数据分离存储方法、装置、计算机设备和存储介质 | |
CN110543448A (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
KR20130020050A (ko) | 로컬리티 센서티브 해시의 버킷 구간 관리 장치 및 그 방법 | |
CN110955732B (zh) | 一种用于在Spark环境中实现分区负载均衡的方法和系统 | |
CN110555012A (zh) | 数据迁移方法及装置 | |
CN109032796B (zh) | 一种数据处理方法和装置 | |
CN110858194A (zh) | 一种数据库扩容的方法和装置 | |
WO2022134797A1 (zh) | 一种数据分片存储方法、装置、计算机设备和存储介质 | |
EP4033440A1 (en) | Consensus method, apparatus and device of block chain | |
WO2014047902A1 (zh) | 负载均衡方法、装置、系统及计算机可读介质 | |
WO2020181812A1 (zh) | 一种app广播消息推送方法、装置及可读存储介质 | |
CN113157450B (zh) | 在区块链系统中执行区块的方法及装置 | |
CN111654379B (zh) | 多服务器的统一令牌生成方法及认证方法 | |
CN112416958A (zh) | 实时qps控制方法、系统、计算机及计算机可读存储介质 | |
CN112748996A (zh) | 一种非集中式拓扑系统的负载均衡策略方法及系统 | |
CN116303343A (zh) | 数据分片方法、装置、电子设备及存储介质 | |
US11350254B1 (en) | Methods for enforcing compliance policies and devices thereof | |
CN114253730A (zh) | 管理数据库内存的方法、装置、设备及存储介质 | |
US11593233B2 (en) | Method, apparatus and computer storage medium for data synchronization |
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 |