CN112597354A - 一种提供配置参数的方法、装置、***及存储介质 - Google Patents
一种提供配置参数的方法、装置、***及存储介质 Download PDFInfo
- Publication number
- CN112597354A CN112597354A CN202011527890.3A CN202011527890A CN112597354A CN 112597354 A CN112597354 A CN 112597354A CN 202011527890 A CN202011527890 A CN 202011527890A CN 112597354 A CN112597354 A CN 112597354A
- Authority
- CN
- China
- Prior art keywords
- parameter
- configuration
- request message
- query
- parameters
- 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.)
- Withdrawn
Links
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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种提供配置参数的方法、装置、***及存储介质,包括:接收业务方发送的参数请求消息,根据参数请求消息在本地缓存事先保存的热点参数中进行第一级查询,将查询到的热点参数作为查询结果返回给所述业务方;在第一级查询失败时,将参数请求消息转发给配置中心进行查询,并将返回的配置参数作为查询结果返回给所述业务方。应用本申请实施例方案,由于参数请求消息不是直接发送给配置中心,而是在本地缓存中查询,如果查询成功,可以很快返回给业务方,提高响应速度。且,由于没有直接访问配置中心,可以大大降低配置中心的负担,提高其***的整体性能。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种提供配置参数的方法,一种提供配置参数的***,一种提供配置参数的装置,一种电子设备及一种计算机可读存储介质。
背景技术
随着互联网上业务服务的复杂性和个性化需求的发展,为了避免不同业务方分别进行参数配置带来的重复开发工作,现有技术设计了统一的参数配置中心。不同业务方需要获取配置参数时,可以分别向参数配置中心发送请求,由参数配置中心提供相应的配置参数。在现有技术中,如果业务方针对配置参数的请求量非常大,参数配置中心可能无法快速响应,导致配置中心的***性能下降,也使得业务方使用参数配置中心的体验下降。
发明内容
针对上述现有技术,本申请实施例公开一种提供配置参数的方法,可以克服配置中心负担过大的缺陷,达到快速响应业务方的目的。
针对上述现有技术的缺陷,本申请实施例提出一种提供配置参数的方法,具体包括:
接收业务方发送的参数请求消息,所述参数请求消息至少包括业务方所需配置参数的参数标识;
根据所述参数请求消息在本地缓存事先保存的热点参数中进行第一级查询,在所述第一级查询成功时,将查询到的热点参数作为查询结果返回给所述业务方,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数;在所述第一级查询失败时,将所述参数请求消息转发给配置中心进行查询;
在接收到所述配置中心返回的配置参数时,将所述返回的配置参数作为查询结果返回给所述业务方,所述配置中心返回的配置参数为所述参数请求消息中所述参数标识对应的配置参数。
进一步地,
所述将参数请求消息转发给配置中心的步骤和所述接收到配置中心返回的配置参数的步骤之间,该方法进一步包括:
所述配置中心根据所述参数请求消息在第一分布式缓存事先保存的热点参数中进行第二级查询,所述第一分布式缓存是为所述配置中心设置的分布式缓存;
在所述第二级查询成功时返回查询到的热点参数,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数;
在所述第二级查询失败时,所述配置中心根据所述参数请求消息查询配置参数数据库,并返回查询到的配置参数,所述查询到的配置参数为所述参数请求消息中参数标识对应的配置参数。
进一步地,
在所述第二级查询失败的步骤和所述配置中心根据所述参数请求消息查询配置参数数据库的步骤之间,该方法进一步包括:
所述配置中心根据所述参数请求消息在第二分布式缓存事先保存的配置参数中进行第三级查询,所述第二分布式缓存是为所述配置参数数据库设置的分布式缓存;
在所述第三级查询成功时返回查询到的配置参数,所述查询到的配置参数为所述参数请求消息中参数标识对应的配置参数;
在所述第三级查询失败时,执行所述配置中心根据所述参数请求消息查询配置参数数据库的步骤。
进一步地,
所述接收业务方发送的参数请求消息的步骤之后,该方法进一步包括:
根据所述参数请求消息对所述业务方所需配置参数进行统计,生成统计记录,所述统计记录包括请求时间和请求次数,所述请求时间表示接收到所述参数请求消息的时间,所述请求次数表示所述配置参数被请求的次数总量;
根据预设的统计上报时间间隔,将所述统计记录周期性地上报给所述配置中心。
该方法进一步包括:
在查询成功时,根据所述查询结果对所述业务方所需配置参数进行统计,所述统计记录进一步包括响应时间和响应数据量,所述响应时间表示所述业务方所需配置参数查询成功的时间,所述响应数据量表示查询成功的配置参数的大小。
该方法进一步包括:
监听热点推送事件,将所述热点推送事件中包含的热点参数保存到所述本地缓存,所述热点推送事件是根据预设的推送时间间隔周期性产生的事件。
该方法进一步包括:
监听参数变更事件,并根据所述参数变更事件删除所述本地缓存中对应的配置参数,所述参数变更事件是所述配置参数数据库发生变更时产生的事件。
本申请实施例还公开一种提供配置参数的***,可以克服配置中心负担过大的缺陷,达到快速响应业务方的目的。针对上述现有技术的缺陷,本申请实施例提出的一种提供配置参数的***,具体包括:业务方、热点参数处理功能模块和配置中心,其中:
所述业务方,用于发送参数请求消息,并接收所述热点参数处理功能模块返回的参数查询结果;
所述热点参数处理功能模块,用于接收业务方发送的参数请求消息,所述参数请求消息至少包括业务方所需配置参数的参数标识;根据所述参数请求消息在本地缓存事先保存的热点参数中进行第一级查询,在所述第一级查询成功时,将查询到的热点参数作为查询结果返回给所述业务方,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数;在所述第一级查询失败时,将所述参数请求消息转发给配置中心进行查询;在接收到所述配置中心返回的配置参数时,将所述返回的配置参数作为查询结果返回给所述业务方;
所述配置中心,用于接收所述热点参数处理功能模块发送的所述参数请求消息,根据所述参数请求消息进行查询,并向所述热点参数处理功能模块返回查询到的配置参数,所述配置中心返回的配置参数为所述参数请求消息中所述参数标识对应的配置参数。
该***进一步包括:第一分布式缓存和配置参数数据库;
所述配置中心进一步用于,根据所述参数请求消息在第一分布式缓存事先保存的热点参数中进行第二级查询;在所述第二级查询成功时返回查询到的热点参数,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数;在所述第二级查询失败时,所述配置中心根据所述参数请求消息查询配置参数数据库,并返回查询到的配置参数,所述查询到的配置参数为所述参数请求消息中参数标识对应的配置参数;
所述第一分布式缓存是为所述配置中心设置的分布式缓存,用于保存所述热点参数;
所述配置参数数据库,用于保存包含热点参数的所有配置参数。
该***进一步包括:第二分布式缓存;
所述配置中心进一步用于,根据所述参数请求消息在第二分布式缓存事先保存的配置参数中进行第三级查询;在所述第三级查询成功时返回查询到的配置参数,所述查询到的配置参数为所述参数请求消息中参数标识对应的配置参数;在所述第三级查询失败时,执行所述根据参数请求消息查询配置参数数据库的步骤;
所述第二分布式缓存是为所述配置参数数据库设置的分布式缓存,用于保存所述配置参数。
所述热点参数处理功能模块进一步用于,根据所述参数请求消息对所述业务方所需配置参数进行统计,生成统计记录,所述统计记录包括请求时间和请求次数,所述请求时间表示接收到所述参数请求消息的时间,所述请求次数表示所述配置参数被请求的次数总量;根据预设的统计上报时间间隔,将所述统计记录周期性地上报给所述配置中心。
所述热点参数处理功能模块进一步用于,在查询成功时,根据所述查询结果对所述业务方所需配置参数进行统计,所述统计记录进一步包括响应时间和响应数据量,所述响应时间表示所述业务方所需配置参数查询成功的时间,所述响应数据量表示查询成功的配置参数的大小。
所述热点参数处理功能模块进一步用于,监听热点推送事件,将所述热点推送事件中包含的热点参数保存到所述本地缓存,所述热点推送事件是根据预设的推送时间间隔周期性产生的事件。
所述热点参数处理功能模块进一步用于,监听参数变更事件,并根据所述参数变更事件删除所述本地缓存中对应的配置参数,所述参数变更事件是所述配置参数数据库发生变更时产生的事件。
本申请实施例还公开一种提供配置参数的装置,可以克服配置中心负担过大的缺陷,达到快速响应业务方的目的。针对上述现有技术的缺陷,本申请实施例提出一种提供配置参数的装置,具体包括:接口模块、第一参数查询模块和消息模块,其中:
所述接口模块,用于接收业务方发送的参数请求消息,所述参数请求消息至少包括业务方所需配置参数的参数标识;在接收到配置中心返回的配置参数时,将所述返回的配置参数作为查询结果返回给所述业务方;
所述第一参数查询模块,用于根据所述参数请求消息在本地缓存事先保存的热点参数中进行第一级查询,在所述第一级查询成功时,将查询到的热点参数作为查询结果返回给所述业务方,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数;在所述第一级查询失败时,将所述参数请求消息通过所述消息模块转发给配置中心进行查询;通过所述消息模块接收所述配置中心返回的配置参数,所述配置中心返回的配置参数为所述参数请求消息中所述参数标识对应的配置参数;
所述消息模块,用于将所述参数请求消息转发给配置中心进行查询,接收所述配置中心返回的配置参数并转发给所述第一参数查询模块。
该装置进一步包括统计模块;
所述统计模块,用于根据所述参数请求消息对所述业务方所需配置参数进行统计,生成统计记录,所述统计记录包括请求时间和请求次数,所述请求时间表示接收到所述参数请求消息的时间,所述请求次数表示所述配置参数被请求的次数总量;根据预设的统计上报时间间隔,将所述统计记录周期性地上报给所述配置中心。
所述统计模块进一步用于,在查询成功时,根据所述查询结果对所述业务方所需配置参数进行统计,所述统计记录进一步包括响应时间和响应数据量,所述响应时间表示所述业务方所需配置参数查询成功的时间,所述响应数据量表示查询成功的配置参数的大小。
该装置进一步包括监听模块;
所述监听模块,用于监听热点推送事件,将所述热点推送事件中包含的热点参数保存到所述本地缓存,所述热点推送事件是根据预设的推送时间间隔周期性产生的事件。
所述监听模块进一步用于,监听参数变更事件,并根据所述参数变更事件删除所述本地缓存中对应的配置参数,所述参数变更事件是所述配置参数数据库发生变更时产生的事件。
本申请还公开一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时可实现上述提供配置参数的方法的步骤。
本申请还公开一种电子设备,该电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述任一项提供配置参数的方法。
综上所述,本申请实施例在接收到业务方的参数请求时,先查询本地缓存中的热点参数,如果命中则直接返回给业务方,无需查询配置中心,不但提高了对业务方参数请求的响应,而且降低了配置中心的负担,提高了***的整体性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供配置参数的方法实施例一的流程图。
图2是本申请方法实施例二的应用场景示意图。
图3是本申请提供配置参数的方法实施例二的流程图。
图4是本申请方法实施例三的应用场景示意图。
图5是本申请提供配置参数的方法实施例三的流程图。
图6是本申请提供配置参数的***实施例一的结构示意图。
图7是本申请提供配置参数的***实施例二的结构示意图。
图8是本申请提供配置参数的装置实施例一的内部结构示意图。
图9是本申请提供配置参数的装置实施例二的内部结构示意图。
图10是本申请实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
本申请实施例将配置中心的功能进行了延伸,设置了热点参数处理功能模块,用于实现热点参数处理功能。当业务方请求配置参数时,先由热点参数处理功能模块对该请求进行处理,并直接提供给业务方,无需配置中心处理。只有在热点参数处理功能模块无法提供配置参数时再请求配置中心处理,从而降低配置中心的负担,加快对业务方的响应速度。
在本申请实施例中,业务方是请求配置参数的一方,配置中心以及配置中心延伸的热点参数处理功能模块是提供配置参数的一方。其中,业务方是互联网上完成某种业务服务的角色,可能会在其业务服务的各环节涉及到参数请求。比如:业务方为房源业务,某个经纪人在业务客户端填写页面时,需要***判断填写的页面内容是否有效,此时业务客户端可以自动发起参数请求。实际应用中,发起参数请求的时机与具体的业务有关,此处不再一一列举。配置中心是保存和提供配置参数的角色,且将经常被请求的配置参数作为热点参数保存在热点参数处理功能模块所在的本地缓存中。实际应用中,可以按照查询频率、查询次数或者查询排名等多种方式来确定哪些是热点参数,哪些是普通参数。另外,不论是热点参数或普通参数,所有业务方需要的配置参数在配置参数数据库中都有保存,但热点参数处理功能模块所在的本地缓存中仅保存热点参数。
图1是本申请提供配置参数的方法实施例一的流程图。如图1所示,本申请实施例的热点参数处理功能模块提供配置参数的方法包括:
步骤101:接收业务方发送的参数请求消息,所述参数请求消息至少包括业务方所需配置参数的参数标识。
本申请实施例中,业务方需要请求配置参数时,不直接发送给配置中心,而是发送给热点参数处理功能模块。热点参数处理功能模块可以设置在业务方本地,也可以单独设置或者嵌入其他业务实体,具体的实现方式由应用本申请实施例方案的用户自行确定。因此,本步骤实际上是由热点参数处理功能模块来接收业务方发送的参数请求消息。另外,实际应用中,参数请求消息还可能包括其他信息,比如业务方标识、参数类型等,其具体消息格式与业务相关,此处也不再赘述。
步骤102:根据参数请求消息在本地缓存事先保存的热点参数中进行第一级查询。
本申请实施例中,热点参数处理模块所在的实体可以为热点参数处理模块开辟缓存,用于保存热点参数。如果将热点参数处理模块引入业务方,则在业务方所在实体中设置专门的缓存保存热点参数,这里称为“本地缓存”。因此,本申请实施例以及后续各实施例中,如无特殊说明,“本地缓存”是指运行热点参数处理功能所在实体中的缓存,而不是配置中心或者配置参数数据库等其他存储空间。另外,为了区分后续实施例涉及的其他查询,将本步骤对本地缓存的查询称为“第一级查询”。
步骤103:在第一级查询成功时,将查询到的热点参数作为查询结果返回给业务方,所述查询到的热点参数为参数请求消息中参数标识对应的配置参数。
步骤104:在第一级查询失败时,将参数请求消息转发给配置中心进行查询。
本步骤中,配置中心可以根据现有技术查询配置参数,也可以根据本申请后续实施例提供的方案进行查询。
步骤105:在接收到配置中心返回的配置参数时,将返回的配置参数作为查询结果返回给业务方,所述配置中心返回的配置参数为所述参数请求消息中所述参数标识对应的配置参数。
应用本申请实施例方案,由于参数请求消息不是直接发送给配置中心,而是在本地缓存保存的热点参数中查询,如果查询成功,可以很快返回给业务方,提高响应速度。且,由于没有直接访问配置中心,可以大大降低配置中心的负担,提高其***的整体性能。特别地,实际应用中如果业务方的数量非常多,或者参数请求的频率非常高,本申请实施例的方案可以带来更为明显的效果。
为了更好地说明本申请方案,下面再用其他实施例进行详细描述。
在方法实施例二中,假设实现热点参数处理功能的模块为软件开发工具包(SDK,Software Development Kit)。也就是说,配置中心提供具有热点参数处理功能的SDK,业务方将该SDK引入到本地***安装,并为其提供保存热点参数的本地缓存。这相当于将配置中心的功能进行了延伸,原本只能由配置中心才能为业务方提供的参数查询功能,也能由SDK提供了。
图2是本申请方法实施例二的应用场景示意图。如图2所示,该场景包括业务方201、SDK202、配置中心203、第一分布式缓存204、配置参数数据库205。这里,业务方201可能有多个,每个业务方201都分别引入配置中心203提供的SDK202,并为其提供本地缓存(图中未示出)。实际应用中,配置中心203可以提供后台页面,供开发人员进行配置参数的创建工作,创建后的配置参数保存于配置参数数据库205中。配置中心203还可以提供前台页面,供运营或者产品工作人员对配置参数设置参数值,并将设置的参数值保存于配置参数数据库205中。比如,开发人员通过配置中心的后台页面创建了参数A,其内容包括:参数标识、业务方标识、参数名称、参数值等。运营或者产品工作人员通过配置中心的前台页面对该参数A进行了赋值,使得:参数标识=“Key01”,业务方标识=“Cus01”,参数名称=“最大客户数”,参数值=“10”。通过上述方式可以设置大量的配置参数,并将配置参数保存在配置参数数据库205中。
实际应用中,本地缓存的存储空间有限,可能未保存业务方全部的热点参数,从而发生查询失败的情况;或者,由于本地缓存中热点参数设置了有效时间,可能由于参数失效而发生查询失败的情况等。在第一级查询失败的情况下,配置中心203可以直接查询配置参数数据库205以获取业务方201所需的配置参数。本领域技术人员知道,保存配置参数的数据库通常采用类似MYSQL这类稳定性能好的关系型数据库,但读取关系型数据库的时间相对比较慢。因此,为了加快响应速度,本申请实施例还可以进一步为配置中心203设置分布式缓存,用于保存热点参数,尽量避免查询配置参数数据库205。为区别于后续其他实施例涉及到的分布式缓存,本申请实施例中为配置中心设置的分布式缓存称为“第一分布式缓存”,即图2中的第一分布式缓存204。在实际应用中,第一分布式缓存204可以利用redis分布缓存服务器实现。可以知道,上述业务方201提供的本地缓存和为配置中心203设置的第一分布式缓存204不同,本地缓存主要保存与所属业务方相关的热点参数,而第一分布式缓存204则可以保存所有业务方的热点参数。另外,本申请实施例还可以根据预设的热点策略确定热点参数,热点策略也可以按照查询频率、查询次数或者查询排名等多种方式来确定哪些是热点参数,哪些是普通参数,此处不再赘述。
图3是本申请提供配置参数的方法实施例二的流程图。如图3所示,该方法包括:
步骤301:SDK202接收业务方201发送的参数请求消息,所述参数请求消息至少包括业务方201所需配置参数的参数标识。
步骤302:SDK202根据参数请求消息在本地缓存事先保存的热点参数中进行第一级查询。
步骤303:在第一级查询成功时,SDK202将查询到的热点参数作为查询结果返回给所述业务方201,并结束本流程,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数。
上述步骤301~303是SDK202在业务方201本地缓存进行第一级查询的过程。由于本地缓存位于SDK202所在的业务方201中,如果SDK202查询成功,业务方201发送的参数请求消息可以很快得到响应。
步骤304:在第一级查询失败时,SDK202将所述参数请求消息转发给配置中心203进行查询。
步骤305:配置中心203根据参数请求消息在第一分布式缓存204事先保存的热点参数中进行第二级查询,所述第一分布式缓存204是为所述配置中心203设置的分布式缓存。
由于第一分布式缓存204是redis分布缓存服务器,其数据读取速率非常高,在SDK202的第一级查询失败的情况下,仍然可以从第一分布式缓存204中快速获取热点参数,从而可以加快对业务方201请求的响应。
步骤306:在第二级查询成功时,配置中心203向SDK202返回查询到的热点参数,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数。
步骤307:在第二级查询失败时,配置中心203根据所述参数请求消息查询配置参数数据库205,并向SDK202返回查询到的配置参数,所述查询到的配置参数为所述参数请求消息中参数标识对应的配置参数。
如果业务方请求的参数不属于热点参数,那么不会保存在本地缓存和第一分布式缓存204中,即:第一级查询和第二级查询都会失败。这种情况下,配置中心203需要查询配置参数数据库205获取配置参数。
步骤308:SDK202在接收到配置中心203返回的配置参数时,将返回的配置参数作为查询结果返回给业务方201。
实际应用中,当SDK202将配置参数返回给业务方201时,还可能将配置参数按照业务方201要求的格式进行数据适配,再返回给业务方201。当然,如果不需要格式转化,也可以不执行数据适配的步骤。
应用本申请方法实施例二的方案,将业务方经常请求的热点参数分别保存在本地缓存和第一分布式缓存中。其中,本地缓存可以减少配置中心的负担,提高对业务方请求的响应速度。在本地缓存查询失败的情况下,第一分布式缓存可以增加查询热点参数的命中率,减少对配置参数数据库的直接访问,提高对业务方请求的响应速度。
图4是本申请方法实施例三的应用场景示意图。与上述方法实施例二相同,该场景包括:业务方201、SDK202、配置中心203、第一分布式缓存204、配置参数数据库205,还进一步包括为配置参数数据库205设置的第二分布式缓存206。
图5是本申请提供配置参数的方法实施例三的流程图。如图5所示,该方法包括:
步骤501:SDK202接收业务方201发送的参数请求消息,所述参数请求消息至少包括业务方201所需配置参数的参数标识。
本步骤与上述方法实施例二的步骤301相同。实际应用中,根据业务的需求,还可以SDK202在接收到业务方201发送的参数请求消息时,还可能进行签名和校验等过程,具体操作方式可以采用现有的签名和校验方法,此处不再赘述。
在另一实施例中,为了便于配置中心203掌握业务方请求配置参数的情况,SDK202在接收到业务方201发送的参数请求消息后,还可以进一步包括:SDK202根据参数请求消息对业务方201所需配置参数进行统计,生成统计记录,所述统计记录包括请求时间和请求次数,所述请求时间表示接收到所述参数请求消息的时间,所述请求次数表示所述配置参数被请求的次数总量。此后,SDK202根据预设的统计上报时间间隔,将统计记录周期性地上报给配置中心203。
步骤502:SDK202根据参数请求消息在本地缓存事先保存的热点参数中进行第一级查询。
本步骤与方法实施例二的步骤302相同。
步骤503:在第一级查询成功时,SDK202将查询到的热点参数作为查询结果返回给所述业务方201,并结束本流程,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数。
本步骤与方法实施例二的步骤303相同。
在另一实施例中,如果SDK202在第一级查询成功时,还可以进一步包括:SDK202根据查询结果对业务方201所需配置参数进行统计,所述统计记录进一步包括响应时间和响应数据量,所述响应时间表示业务方201所需配置参数查询成功的时间,所述响应数据量表示查询成功的配置参数的大小。
由于在上述步骤501中,SDK202接收参数请求消息后对业务方201所需配置参数的请求时间和请求次数进行了统计并周期性上报,那么在本步骤503中,SDK202在第一级查询成功时,还可以进一步对相应的响应时间和响应数据量进行统计。比如:业务方201发送针对参数A的参数请求消息,SDK202接收到该参数请求消息后,假设记录下请求时间为X1,请求次数为Y1次,本地缓存查询成功时记录下响应时间为X2,响应数据量为Z1。该统计记录表示业务方201针对参数A请求了Y1次,最新一次请求时间是X1,并在时间Y1得到响应,返回参数A的数据量为Z1。一旦接收到参数请求消息和响应,SDK都按照上述方法进行统计,并周期性地将统计记录上报给配置中心203。实际应用中,SDK202如何设置统计上报时间间隔,是将统计记录分批上报还是一并上报等,可以由应用本申请方案的用户自行确定,不作为限制本申请方案的保护范围。
步骤504:在第一级查询失败时,SDK202将所述参数请求消息转发给配置中心203进行查询。
本步骤与方法实施例二中的步骤304相同。
步骤505:配置中心203根据参数请求消息在第一分布式缓存204事先保存的热点参数中进行第二级查询,所述第一分布式缓存是为所述配置中心203设置的分布式缓存。
本步骤与方法实施例二中的步骤305相同。
步骤506:在第二级查询成功时,配置中心203向SDK202返回查询到的热点参数,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数。
本步骤与方法实施例二中的步骤306相同。
在另一实施例中,如果配置中心203在第二级查询成功并向SDK202返回查询到的热点参数时,还可以进一步包括:SDK202根据查询结果对业务方201所需配置参数进行统计,所述统计记录进一步包括响应时间和响应数据量,所述响应时间表示业务方201所需配置参数查询成功的时间,所述响应数据量表示查询成功的配置参数的大小。
步骤507:在第二级查询失败时,配置中心203根据参数请求消息在第二分布式缓存206事先保存的配置参数中进行第三级查询,所述第二分布式缓存206是为所述配置参数数据库205设置的分布式缓存。
如果业务方201请求的配置参数并非热点参数,仅仅是普通参数,那么针对本地缓存的第一级查询以及针对第一分布式缓存204的第二级查询将会失败。这种情况下,配置中心203可以对配置参数数据库205进行查询。本申请实施例中,为了尽量避免对配置参数数据库205的访问,还为配置参数数据库205设置了第二分布式缓存206,保存业务方201查询过的所有配置参数。第二分布式缓存206属于分布式缓存,也可以采用redis分布缓存数据库实现,其数据的读取速率很快。如果配置中心203在第二分布式缓存206查询到配置参数,也无需访问配置参数数据库205,从而加快对业务方201的响应速度。
步骤508:在第三级查询成功时,配置中心203向SDK202返回查询到的配置参数,所述查询到的配置参数为所述参数请求消息中参数标识对应的配置参数。
在另一实施例中,如果配置中心203在第三级查询成功并向SDK202返回查询到的热点参数时,还可以进一步包括:SDK202根据查询结果对业务方201所需配置参数进行统计,所述统计记录进一步包括响应时间和响应数据量,所述响应时间表示业务方201所需配置参数查询成功的时间,所述响应数据量表示查询成功的配置参数的大小。
步骤509:在第三级查询失败时,配置中心203根据所述参数请求消息查询配置参数数据库205,并向SDK202返回查询到的配置参数,所述查询到的配置参数为所述参数请求消息中参数标识对应的配置参数。
如果在本地缓存、第一分布式缓存204以及第二分布式缓存206都没有查询到业务方201请求的配置参数,那么该配置参数可能是业务方201首次请求的配置参数,配置中心203需访问配置参数数据库205才能获取该配置参数。
步骤510:SDK202在接收到配置中心203返回的配置参数时,将返回的配置参数作为查询结果返回给业务方201。
本步骤与方法实施例二中的步骤308相同。
在另一实施例中,如果配置中心203在配置参数数据库205中查询成功并向SDK202返回查询到的热点参数时,还可以进一步包括:SDK202根据查询结果对业务方201所需配置参数进行统计,所述统计记录进一步包括响应时间和响应数据量,所述响应时间表示业务方201所需配置参数查询成功的时间,所述响应数据量表示查询成功的配置参数的大小。
可见,上述步骤503的第一级查询成功、步骤506的第二级查询成功、步骤508的第三级查询成功,或者步骤509在配置参数数据库查询成功之后,SDK202都可以获得查询结果,并根据查询结果对配置参数进行统计。
在另一实施例中,由于配置中心203获得了大量的配置参数的统计记录,还可以根据这些统计记录进行分析,获得各配置参数当前被请求的实际情况,并利用预设的策略确定热点参数。比如,热点策略是根据配置参数的请求次数进行排名,将排名靠前的N个配置参数作为热点参数。作为一种示例性方案,可以设置推送时间间隔,根据预设的推送时间周期性地产生热点推送事件,并由第一分布式缓存204将确定的热点参数推送给SDK202。此时,SDK202采用如下方式实现:SDK202监听热点推送事件,将热点推送事件中包含的热点参数保存到本地缓存中。假设某个时间段内,配置中心203统计分析出参数A是请求次数排名的前N个参数之一,作为热点参数保存在本地缓存中。随着业务方201执行业务的发展,后续某个时间段内,配置中心203再次统计出参数B是请求次数排名的前N个参数之一,而原有的参数A不再是请求排名的前N个参数之一。按照上述热点推送方式,第一分布式缓存204会将配置中心203新统计出来的热点参数B及时推送给业务方201的本地缓存,而原有的热点参数A不再被推送,且可能在到达设置的有效时间时被无效,从而达到动态调整热点参数的效果。
在另一实施例中,如果配置参数数据库205中的配置参数发生了变更,还可以进一步根据变更情况进行相应处理。作为一种示例性方案,当配置参数数据库205中的配置参数发生了变更时,配置中心203会接收到数据库变更消息,根据该数据库变更消息删除第二分布式缓存206中相应的配置参数,同时删除第一分布式缓存204中相应的配置参数,并由第一分布式缓存204向SDK202发布参数变更事件。此时,SDK202采用如下方式实现:SDK202监听参数变更事件,根据所述参数变更事件删除本地缓存中对应的配置参数。假设配置参数数据库205中的参数A发生了变更,将参数值=“10”变更为参数值=“20”。此时,配置中心203会接收到关于参数A的变更消息,将删除第二分布式缓存206中的参数A,同时删除第一分布式缓存204中的参数A,并由第一分布式缓存204向SDK202发布参数变更事件。SDK202监听到针对参数A的参数变更事件,将删除本地缓存中的参数A。此后,如果业务方201重新发起针对参数A的参数请求消息,配置中心203将访问配置参数数据库205获取变更后的参数A返回给业务方201。相应的,SDK202也按照上述实施例的方法对参数A进行统计并将统计记录上报给配置中心203。经过统计分析,如果满足热点策略,配置中心203会将变更后的参数A推送给SDK202所在的本地缓存。
根据上述方法实施例,本申请还公开一种提供配置参数的***。图6是本申请的提供配置参数的***实施例一的结构示意图。如图6所示,该***包括:业务方601、热点参数处理功能模块602和配置中心603。其中,业务方601是请求配置参数的一方,热点参数处理功能模块602和配置中心603是提供配置参数的一方。具体地:
业务方601,用于发送参数请求消息,并接收热点参数处理功能模块602返回的参数查询结果。
热点参数处理功能模块602,用于接收业务方601发送的参数请求消息,所述参数请求消息至少包括业务方601所需配置参数的参数标识;根据参数请求消息在本地缓存事先保存的热点参数中进行第一级查询,在第一级查询成功时,将查询到的热点参数作为查询结果返回给业务方601,查询到的热点参数为参数请求消息中参数标识对应的配置参数;在第一级查询失败时,将参数请求消息转发给配置中心603进行查询;在接收到配置中心603返回的配置参数时,将返回的配置参数作为查询结果返回给业务方601。
配置中心603,用于接收热点参数处理功能模块602发送的参数请求消息,根据参数请求消息进行查询,并向热点参数处理功能模块602返回查询到的配置参数,配置中心603返回的配置参数为参数请求消息中参数标识对应的配置参数。
也就是说,业务方601发送参数请求消息;热点参数处理功能模块602根据参数请求消息在本地缓存事先保存的热点参数中进行第一级查询;在第一级查询成功时,将查询到的热点参数作为查询结果返回给业务方601;在第一级查询失败时,将参数请求消息转发给配置中心603进行查询;配置中心603根据参数请求消息进行查询,并向热点参数处理功能模块602返回查询到的配置参数;热点参数处理功能模块602将返回的配置参数作为查询结果返回给业务方601。
由于参数请求消息不是直接发送给配置中心603,而是在本地缓存保存的热点参数中查询,如果查询成功,可以很快返回给业务方601,可以提高对业务方601的响应速度。且,由于没有直接访问配置中心603,可以大大降低配置中心603的负担,提高其***的整体性能。特别地,实际应用中如果业务方的数量非常多,或者参数请求的频率非常高,本申请实施例的方案可以带来更为明显的效果。
图7是本申请的一种提供配置参数的***实施例二的结构示意图。如图7所示,该***包括:业务方601、热点参数处理功能模块602和配置中心603,还包括第一分布式缓存604和配置参数数据库605。其中,业务方601、热点参数处理功能模块602和配置中心603与上述***实施例一相同。具体的:
业务方601,用于发送参数请求消息,并接收热点参数处理功能模块602返回的参数查询结果。
热点参数处理功能模块602,用于接收业务方601发送的参数请求消息,所述参数请求消息至少包括业务方601所需配置参数的参数标识;根据参数请求消息在本地缓存事先保存的热点参数中进行第一级查询,在第一级查询成功时,将查询到的热点参数作为查询结果返回给业务方601,查询到的热点参数为参数请求消息中参数标识对应的配置参数;在第一级查询失败时,将参数请求消息转发给配置中心603进行查询;在接收到配置中心603返回的配置参数时,将返回的配置参数作为查询结果返回给业务方601。
配置中心603,用于根据参数请求消息在第一分布式缓存604事先保存的热点参数中进行第二级查询;在所述第二级查询成功时返回查询到的热点参数,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数;在所述第二级查询失败时,配置中心603根据参数请求消息查询配置参数数据库605,并返回查询到的配置参数,所述查询到的配置参数为所述参数请求消息中参数标识对应的配置参数。
第一分布式缓存604是为所述配置中心设置的分布式缓存,用于保存所述热点参数。
配置参数数据库605,用于保存包含热点参数的所有配置参数。
也就是说,业务方601发送参数请求消息;热点参数处理功能模块602根据参数请求消息在本地缓存事先保存的热点参数中进行第一级查询;在第一级查询成功时,将查询到的热点参数作为查询结果返回给业务方601;在第一级查询失败时,将参数请求消息转发给配置中心603进行查询;配置中心603根据参数请求消息在第一分布式缓存604事先保存的热点参数中进行第二级查询;在所述第二级查询成功时向热点参数处理功能模块602返回查询到的热点参数,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数;在所述第二级查询失败时,配置中心603根据参数请求消息查询配置参数数据库605,并向热点参数处理功能模块602返回查询到的配置参数;热点参数处理功能模块602将返回的配置参数作为查询结果返回给业务方601。
如果业务方601请求的配置参数并非热点参数,仅仅是普通参数,那么针对本地缓存的第一级查询以及针对第一分布式缓存604的第二级查询将会失败。这种情况下,配置中心603可以对配置参数数据库605进行查询。本申请实施例中,为了尽量避免对配置参数数据库605的访问,还可以进一步为配置参数数据库605设置第二分布式缓存606,用于保存包含热点参数的配置参数。在此情况下,配置中心603进一步用于:根据参数请求消息在第二分布式缓存606事先保存的配置参数中进行第三级查询;在第三级查询成功时返回查询到的配置参数,所述查询到的配置参数为所述参数请求消息中参数标识对应的配置参数;在第三级查询失败时,执行根据参数请求消息查询配置参数数据库的步骤。
在另一实施例中,为了便于配置中心603掌握业务方请求配置参数的情况,热点参数处理功能模块602在接收到业务方201发送的参数请求消息后,热点参数处理功能模块602进一步用于,根据参数请求消息对业务方601所需配置参数进行统计,生成统计记录,所述统计记录包括请求时间和请求次数,所述请求时间表示接收到所述参数请求消息的时间,所述请求次数表示所述配置参数被请求的次数总量;根据预设的统计上报时间间隔,将统计记录周期性地上报给配置中心603。
相应地,热点参数处理功能模块602在第一级查询成功时,还可以进一步对相应的响应时间和响应数据量进行统计。即:在另一***实施例中,热点参数处理功能模块602进一步用于:在查询成功时,根据查询结果对业务方601所需配置参数进行统计,所述统计记录进一步包括响应时间和响应数据量,所述响应时间表示所述业务方所需配置参数查询成功的时间,所述响应数据量表示查询成功的配置参数的大小。
可见,上述本地缓存的第一级查询成功、第一分布式缓存604的第二级查询成功、第二分布式缓存606的第三级查询成功,或者在配置参数数据库605中查询成功之后,热点参数处理功能模块602都可以获得查询结果,并根据查询结果对配置参数进行统计。由于配置中心603获得了大量的配置参数的统计记录,还可以根据这些统计记录进行分析,获得各配置参数当前被请求的实际情况,并利用预设的策略确定热点参数。
比如,热点策略是根据配置参数的请求次数进行排名,将排名靠前的N个配置参数作为热点参数。作为一种示例性方案,可以设置推送时间间隔,根据预设的推送时间周期性地产生热点推送事件,并由第一分布式缓存604将确定的热点参数推送给热点参数处理功能模块602。在另一个***实施例中,热点参数处理功能模块602进一步用于:监听热点推送事件,将所述热点推送事件中包含的热点参数保存到所述本地缓存,所述热点推送事件是根据预设的推送时间间隔周期性产生的事件。
如果配置参数数据库605中的配置参数发生了变更,还可以进一步根据变更情况进行相应处理。作为一种示例性方案,当配置参数数据库605中的配置参数发生了变更时,配置中心603会接收到数据库变更消息,根据该数据库变更消息删除第二分布式缓存606中相应的配置参数,同时删除第一分布式缓存604中相应的配置参数,并由第一分布式缓存604向热点参数处理功能模块602发布参数变更事件。在另一***实施例中,热点参数处理功能模块602进一步用于:监听参数变更事件,并根据参数变更事件删除所述本地缓存中对应的配置参数,所述参数变更事件是所述配置参数数据库发生变更时产生的事件。
针对上述实施例,本申请还公开一种提供配置参数的装置,即热点参数处理功能模块。实际应用中,该装置可以采用SDK的方式被引入业务方本地。图8是本申请的提供配置参数的装置实施例一的内部结构示意图。如图8所示,该装置包括:接口模块801、第一参数查询模块802和消息模块803。其中:
接口模块801,用于接收业务方发送的参数请求消息,所述参数请求消息至少包括业务方所需配置参数的参数标识;在接收到配置中心返回的配置参数时,将返回的配置参数作为查询结果返回给业务方。
第一参数查询模块802,用于根据参数请求消息在本地缓存事先保存的热点参数中进行第一级查询,在第一级查询成功时,将查询到的热点参数作为查询结果返回给所述业务方,查询到的热点参数为所述参数请求消息中参数标识对应的配置参数;在第一级查询失败时,将参数请求消息通过消息模块803转发给配置中心进行查询;通过消息模块803接收配置中心返回的配置参数,配置中心返回的配置参数为参数请求消息中参数标识对应的配置参数。
消息模块803,用于将参数请求消息转发给配置中心进行查询,接收配置中心返回的配置参数并转发给第一参数查询模块802。
也就是说,接口模块801接收业务方发送的参数请求消息;第一参数查询模块802根据参数请求消息在本地缓存事先保存的热点参数中进行第一级查询,在第一级查询成功时,将查询到的热点参数作为查询结果返回给所述业务方;在第一级查询失败时,将参数请求消息通过消息模块803转发给配置中心进行查询;通过消息模块803接收配置中心返回的配置参数;接口模块801将返回的配置参数作为查询结果返回给业务方。
应用本申请实施例方案,由于参数请求消息不是直接发送给配置中心,而是在本地缓存保存的热点参数中查询,如果查询成功,可以很快返回给业务方,提高响应速度。且,由于没有直接访问配置中心,可以大大降低配置中心的负担,提高其***的整体性能。
图9是本申请的提供配置参数的装置实施例二的内部结构示意图。如图9所示,该装置不但包括接口模块801、第一参数查询模块802和消息模块803,还进一步包括:统计模块804和监听模块805。其中:
接口模块801,用于接收业务方发送的参数请求消息,所述参数请求消息至少包括业务方所需配置参数的参数标识;在接收到配置中心返回的配置参数时,将返回的配置参数作为查询结果返回给业务方。
第一参数查询模块802,用于根据参数请求消息在本地缓存事先保存的热点参数中进行第一级查询,在第一级查询成功时,将查询到的热点参数作为查询结果返回给所述业务方,查询到的热点参数为所述参数请求消息中参数标识对应的配置参数;在第一级查询失败时,将参数请求消息通过消息模块803转发给配置中心进行查询;通过消息模块803接收配置中心返回的配置参数,配置中心返回的配置参数为参数请求消息中参数标识对应的配置参数。
消息模块803,用于将参数请求消息转发给配置中心进行查询,接收配置中心返回的配置参数并转发给第一参数查询模块802。
统计模块804,用于根据参数请求消息对业务方所需配置参数进行统计,生成统计记录,统计记录包括请求时间和请求次数,所述请求时间表示接收到所述参数请求消息的时间,所述请求次数表示所述配置参数被请求的次数总量;根据预设的统计上报时间间隔,将统计记录周期性地上报给配置中心。在另一实施例中,在查询成功时,统计模块804进一步用于:根据查询结果对业务方所需配置参数进行统计,统计记录进一步包括响应时间和响应数据量,所述响应时间表示所述业务方所需配置参数查询成功的时间,所述响应数据量表示查询成功的配置参数的大小。
监听模块805,用于监听热点推送事件,所述热点推送事件是根据预设的推送时间间隔周期性产生的事件。相应地,第一参数查询模块802将热点推送事件中包含的热点参数保存到所述本地缓存。
在另一实施例中,监听模块805进一步用于,监听参数变更事件,所述参数变更事件是所述配置参数数据库发生变更时产生的事件。相应地,第一参数查询模块802根据所述参数变更事件删除本地缓存中对应的配置参数。
也就是说,接口模块801接收业务方发送的参数请求消息;第一参数查询模块802根据参数请求消息在本地缓存事先保存的热点参数中进行第一级查询,在第一级查询成功时,将查询到的热点参数作为查询结果返回给所述业务方;在第一级查询失败时,将参数请求消息通过消息模块803转发给配置中心进行查询;同时,统计模块804根据参数请求消息对业务方所需配置参数进行统计,生成统计记录,统计记录包括请求时间和请求次数,根据预设的统计上报时间间隔,将统计记录周期性地上报给配置中心。消息模块803接收配置中心返回的配置参数并转发给第一参数查询模块802;再由统计模块804根据查询结果对业务方所需配置参数进行统计,统计记录进一步包括响应时间和响应数据量,所述响应时间表示所述业务方所需配置参数查询成功的时间,所述响应数据量表示查询成功的配置参数的大小;然后接口模块801将返回的配置参数作为查询结果返回给业务方。
当第一分布式缓存将确定的热点参数推送给本申请实施例装置(即热点参数处理功能模块)时,由监听模块805监听热点推送事件,并由第一参数查询模块802将所述热点推送事件中包含的热点参数保存到所述本地缓存。
如果配置参数数据库中的配置参数发生了变更,由监听模块805监听参数变更事件,并由第一参数查询模块802根据参数变更事件删除本地缓存中对应的配置参数。
本申请实施例还提供一种计算机可读介质,所述计算机可读存储介质存储指令,所述指令在由处理器执行时可执行如上所述的提供配置参数的方法中的步骤。实际应用中,所述的计算机可读介质可以是上述实施例中描述的设备/装置/***中所包含的,也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或多个程序被执行时,可以实现上述各实施例描述的提供配置参数的方法。根据本申请公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件,或者上述的任意合适的组合,但不用于限制本申请保护的范围。在本申请公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
如图10所示,本申请实施例还提供一种电子设备,其中可以集成本申请实施例实现方法的装置,即热点参数处理功能模块。如图10所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或一个以上处理核心的处理器1001、一个或一个以上计算机可读存储介质的存储器1002以及存储在存储器上并可在处理器上运行的计算机程序。在执行所述存储器1002的程序时,可以实现上述提供配置参数的方法。
具体的,实际应用中,该电子设备还可以包括电源1003、输入单元1004、以及输出单元1005等部件。本领域技术人员可以理解,图10中示出的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器1001是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器1002内的软件程序和/或模块,以及调用存储在存储器1002内的数据,执行服务器的各种功能和处理数据,从而对该电子设备进行整体监控。
存储器1002可用于存储软件程序以及模块,即上述计算机可读存储介质。处理器1001通过运行存储在存储器1002的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1002还可以包括存储器控制器,以提供处理器1001对存储器1002的访问。
该电子设备还包括给各个部件供电的电源1003,可以通过电源管理***与处理器1001逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源1003还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元1004,该输入单元1004可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
该电子设备还可以包括输出单元1005,该输出单元1005可以用于显示由用户输入的信息或提供给用户的信息以及各种图像用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
本申请附图中的流程图和框图,示出了按照本申请公开的各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本申请公开的范围。
本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思路,并不用于限制本申请。对于本领域的技术人员来说,可以依据本发明的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种提供配置参数的方法,其特征在于,该方法包括:
接收业务方发送的参数请求消息,所述参数请求消息至少包括业务方所需配置参数的参数标识;
根据所述参数请求消息在本地缓存事先保存的热点参数中进行第一级查询,在所述第一级查询成功时,将查询到的热点参数作为查询结果返回给所述业务方,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数;在所述第一级查询失败时,将所述参数请求消息转发给配置中心进行查询;
在接收到所述配置中心返回的配置参数时,将所述返回的配置参数作为查询结果返回给所述业务方,所述配置中心返回的配置参数为所述参数请求消息中所述参数标识对应的配置参数。
2.根据权利要求1所述的方法,其特征在于,所述将参数请求消息转发给配置中心的步骤和所述接收到配置中心返回的配置参数的步骤之间,该方法进一步包括:
所述配置中心根据所述参数请求消息在第一分布式缓存事先保存的热点参数中进行第二级查询,所述第一分布式缓存是为所述配置中心设置的分布式缓存;
在所述第二级查询成功时返回查询到的热点参数,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数;
在所述第二级查询失败时,所述配置中心根据所述参数请求消息查询配置参数数据库,并返回查询到的配置参数,所述查询到的配置参数为所述参数请求消息中参数标识对应的配置参数。
3.根据权利要求2所述的方法,其特征在于,在所述第二级查询失败的步骤和所述配置中心根据所述参数请求消息查询配置参数数据库的步骤之间,该方法进一步包括:
所述配置中心根据所述参数请求消息在第二分布式缓存事先保存的配置参数中进行第三级查询,所述第二分布式缓存是为所述配置参数数据库设置的分布式缓存;
在所述第三级查询成功时返回查询到的配置参数,所述查询到的配置参数为所述参数请求消息中参数标识对应的配置参数;
在所述第三级查询失败时,执行所述配置中心根据所述参数请求消息查询配置参数数据库的步骤。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述接收业务方发送的参数请求消息的步骤之后,该方法进一步包括:
根据所述参数请求消息对所述业务方所需配置参数进行统计,生成统计记录,所述统计记录包括请求时间和请求次数,所述请求时间表示接收到所述参数请求消息的时间,所述请求次数表示所述配置参数被请求的次数总量;
根据预设的统计上报时间间隔,将所述统计记录周期性地上报给所述配置中心。
5.根据权利要求4所述的方法,其特征在于,该方法进一步包括:
在查询成功时,根据所述查询结果对所述业务方所需配置参数进行统计,所述统计记录进一步包括响应时间和响应数据量,所述响应时间表示所述业务方所需配置参数查询成功的时间,所述响应数据量表示查询成功的配置参数的大小。
6.根据权利要求1~3任一项所述的方法,其特征在于,该方法进一步包括:
监听热点推送事件,将所述热点推送事件中包含的热点参数保存到所述本地缓存,所述热点推送事件是根据预设的推送时间间隔周期性产生的事件。
7.根据权利要求1~3任一项所述的方法,其特征在于,该方法进一步包括:
监听参数变更事件,并根据所述参数变更事件删除所述本地缓存中对应的配置参数,所述参数变更事件是所述配置参数数据库发生变更时产生的事件。
8.一种提供配置参数的***,其特征在于,该***包括:业务方、热点参数处理功能模块和配置中心,其中:
所述业务方,用于发送参数请求消息,并接收所述热点参数处理功能模块返回的参数查询结果;
所述热点参数处理功能模块,用于接收业务方发送的参数请求消息,所述参数请求消息至少包括业务方所需配置参数的参数标识;根据所述参数请求消息在本地缓存事先保存的热点参数中进行第一级查询,在所述第一级查询成功时,将查询到的热点参数作为查询结果返回给所述业务方,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数;在所述第一级查询失败时,将所述参数请求消息转发给配置中心进行查询;在接收到所述配置中心返回的配置参数时,将所述返回的配置参数作为查询结果返回给所述业务方;
所述配置中心,用于接收所述热点参数处理功能模块发送的所述参数请求消息,根据所述参数请求消息进行查询,并向所述热点参数处理功能模块返回查询到的配置参数,所述配置中心返回的配置参数为所述参数请求消息中所述参数标识对应的配置参数。
9.一种提供配置参数的装置,其特征在于,该装置包括接口模块、第一参数查询模块和消息模块,其中:
所述接口模块,用于接收业务方发送的参数请求消息,所述参数请求消息至少包括业务方所需配置参数的参数标识;在接收到配置中心返回的配置参数时,将所述返回的配置参数作为查询结果返回给所述业务方;
所述第一参数查询模块,用于根据所述参数请求消息在本地缓存事先保存的热点参数中进行第一级查询,在所述第一级查询成功时,将查询到的热点参数作为查询结果返回给所述业务方,所述查询到的热点参数为所述参数请求消息中参数标识对应的配置参数;在所述第一级查询失败时,将所述参数请求消息通过所述消息模块转发给配置中心进行查询;通过所述消息模块接收所述配置中心返回的配置参数,所述配置中心返回的配置参数为所述参数请求消息中所述参数标识对应的配置参数;
所述消息模块,用于将所述参数请求消息转发给配置中心进行查询,接收所述配置中心返回的配置参数并转发给所述第一参数查询模块。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被处理器执行时可实现权利要求1~7任一项所述的提供配置参数的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011527890.3A CN112597354A (zh) | 2020-12-22 | 2020-12-22 | 一种提供配置参数的方法、装置、***及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011527890.3A CN112597354A (zh) | 2020-12-22 | 2020-12-22 | 一种提供配置参数的方法、装置、***及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112597354A true CN112597354A (zh) | 2021-04-02 |
Family
ID=75199876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011527890.3A Withdrawn CN112597354A (zh) | 2020-12-22 | 2020-12-22 | 一种提供配置参数的方法、装置、***及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112597354A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116405927A (zh) * | 2023-05-30 | 2023-07-07 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种功能寻址分级处理和功能号快速维护的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104217019A (zh) * | 2014-09-25 | 2014-12-17 | 中国人民解放军信息工程大学 | 基于多级缓存模块的内容查询方法和装置 |
CN104317926A (zh) * | 2014-10-31 | 2015-01-28 | 北京思特奇信息技术股份有限公司 | 一种持久化的数据存储和查询方法及对应的装置和*** |
WO2017050014A1 (zh) * | 2015-09-21 | 2017-03-30 | 北京奇虎科技有限公司 | 一种数据存储处理方法和装置 |
CN108132958A (zh) * | 2016-12-01 | 2018-06-08 | 阿里巴巴集团控股有限公司 | 一种多级缓存数据存储、查询、调度以及处理方法及装置 |
-
2020
- 2020-12-22 CN CN202011527890.3A patent/CN112597354A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104217019A (zh) * | 2014-09-25 | 2014-12-17 | 中国人民解放军信息工程大学 | 基于多级缓存模块的内容查询方法和装置 |
CN104317926A (zh) * | 2014-10-31 | 2015-01-28 | 北京思特奇信息技术股份有限公司 | 一种持久化的数据存储和查询方法及对应的装置和*** |
WO2017050014A1 (zh) * | 2015-09-21 | 2017-03-30 | 北京奇虎科技有限公司 | 一种数据存储处理方法和装置 |
CN108132958A (zh) * | 2016-12-01 | 2018-06-08 | 阿里巴巴集团控股有限公司 | 一种多级缓存数据存储、查询、调度以及处理方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116405927A (zh) * | 2023-05-30 | 2023-07-07 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种功能寻址分级处理和功能号快速维护的方法 |
CN116405927B (zh) * | 2023-05-30 | 2023-09-22 | 中国铁道科学研究院集团有限公司通信信号研究所 | 一种功能寻址分级处理和功能号快速维护的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110032567B (zh) | 报表查询方法、装置、服务器和存储介质 | |
CN109740089A (zh) | 数据采集方法、装置、***、可读存储介质及电子设备 | |
CN111522703B (zh) | 监控访问请求的方法、设备和计算机程序产品 | |
WO2019041738A1 (zh) | 客户资源获取方法、装置、终端设备及存储介质 | |
US10503613B1 (en) | Efficient serving of resources during server unavailability | |
CN111881096B (zh) | 一种文件读取方法、装置、设备及存储介质 | |
CN103607312A (zh) | 用于服务器***的数据请求处理方法及*** | |
CN110737680A (zh) | 缓存数据管理方法、装置、存储介质及电子设备 | |
CN110147470B (zh) | 一种跨机房数据比对***及方法 | |
CN106095483A (zh) | 服务的自动化部署方法及装置 | |
CN113760652B (zh) | 基于应用的全链路监控的方法、***、设备和存储介质 | |
WO2019019648A1 (zh) | 用户行为统计方法、***、计算机设备和存储介质 | |
CN104866296A (zh) | 数据处理方法和装置 | |
CN112685499A (zh) | 一种工作业务流的流程数据同步方法、装置及设备 | |
CN110502581B (zh) | 分布式数据库***监测方法及装置 | |
CN112597354A (zh) | 一种提供配置参数的方法、装置、***及存储介质 | |
US11243979B1 (en) | Asynchronous propagation of database events | |
WO2012071810A1 (zh) | 网管性能非粒度数据快速存储的方法及装置 | |
CN109286532B (zh) | 云计算***中告警信息的管理方法和装置 | |
CN113672652A (zh) | 一种数据访问方法、装置、设备及存储介质 | |
CN113297516A (zh) | 客户交互界面生成方法、装置和电子设备 | |
CN112148508A (zh) | 一种信息处理的方法及相关装置 | |
CN107957942B (zh) | 一种sql脚本的故障修复方法及其终端 | |
CN112101884B (zh) | 提醒消息生成与推送方法、装置及存储介质 | |
CN113542103B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210402 |
|
WW01 | Invention patent application withdrawn after publication |