配置数据读取方法、系统、电子设备和存储介质技术方案

技术编号:24853316 阅读:44 留言:0更新日期:2020-07-10 19:07
本发明专利技术涉及数据处理技术领域,提供一种配置数据读取方法、系统、电子设备和存储介质。配置数据读取方法包括:接口服务器响应于配置数据读取请求,自本地缓存中读取配置数据;若自本地缓存中读取到与配置数据读取请求匹配的配置数据,则返回自本地缓存中读取到的配置数据;若本地缓存中没有与配置数据读取请求匹配的配置数据,则从分布式缓存中读取配置数据,包括:通过配置于分布式缓存中的快照服务查找可读缓存服务器;自可读缓存服务器中读取与配置数据读取请求匹配的配置数据;以及返回自可读缓存服务器中读取到的配置数据。本发明专利技术可以实现对可变的关系型配置数据的高效读取,满足实时性、一致性、高并发、高性能和高可用的读取需求。

【技术实现步骤摘要】
配置数据读取方法、系统、电子设备和存储介质
本专利技术涉及数据处理
,具体地说,涉及一种配置数据读取方法、系统、电子设备和存储介质。
技术介绍
互联网行业有很多对配置数据的高效读取的业务需求。例如,A/B实验的读取方需要读取A/B实验的配置数据,以便进行各个版本的分流;应用程序(APP)需要读取不同用户偏好的配置数据,以便进行个性化的主界面展示。这些业务需求通常采用SOA接口和Redis数据库实现,读取方调用SOA接口,SOA接口直接读取Redis数据库中的配置数据返回给读取方。这种设计可以基本保证配置数据的实时读取,但普遍存在两点不足。一是不能支持关系型配置数据的高效读取,需要把Redis数据库中独立的配置数据读取出来,然后在SOA接口中进行关联。这样会影响SOA接口的效率,并且当业务上有变化时,SOA接口需要重新编码这些关联关系,发布到生产才能生效;二是Redis数据库在数据增长的情况下可以扩容数据存储节点,但标示数据存储节点位置的Hash要重新进行计算。这样导致在扩容的情况下访问不到一些配置数据,而且在配置数据增量大的情况下,写入Redis数据库需要比较长的时间,会导致部署SOA接口的各个节点在同一时间读取到不同的配置数据,产生数据不一致。需要说明的是,上述
技术介绍
部分公开的信息仅用于加强对本专利技术的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
有鉴于此,本专利技术提供一种配置数据读取方法、系统、电子设备和存储介质,可以实现对可变的关系型配置数据的高效读取。本专利技术的一个方面提供一种配置数据读取方法,包括如下步骤:接口服务器响应于配置数据读取请求,自本地缓存中读取配置数据;若自所述本地缓存中读取到与所述配置数据读取请求匹配的配置数据,则返回自所述本地缓存中读取到的配置数据;若所述本地缓存中没有与所述配置数据读取请求匹配的配置数据,则所述接口服务器从分布式缓存中读取配置数据,包括:通过配置于所述分布式缓存中的快照服务查找可读缓存服务器;自所述可读缓存服务器中读取与所述配置数据读取请求匹配的配置数据;以及,返回自所述可读缓存服务器中读取到的配置数据。在一些实施例中,所述配置数据读取方法还包括定期读取全量配置数据的步骤,所述定期读取全量配置数据的步骤包括:所述快照服务周期性地关联数据库集群中的所有配置数据,并将关联后的配置数据写入所述数据库集群的配置宽表中;以及,所述快照服务自所述配置宽表中读取全量配置数据,写入所述分布式缓存。在一些实施例中,所述写入所述分布式缓存的步骤包括:查找所述分布式缓存中的可写缓存服务器;清空所述可写缓存服务器,并将读取的全量配置数据写入所述可写缓存服务器;以及,写入完成后将所述可写缓存服务器标记为更新后的可读缓存服务器,并将所述可读缓存服务器标记为更新后的可写缓存服务器。在一些实施例中,所述定期读取全量配置数据的步骤还包括:所述接口服务器周期性地自所述可读缓存服务器中读取对应所述接口服务器的配置数据,更新至所述本地缓存中。在一些实施例中,所述配置数据读取方法还包括实时读取增量配置数据的步骤,所述实时读取增量配置数据的步骤包括:数据库集群接收到新增配置数据时,发起携带所述新增配置数据的配置变更通知;所述分布式缓存根据所述配置变更通知,通过所述快照服务将所述新增配置数据关联写入所述数据库集群的配置宽表中;以及,所述快照服务自所述配置宽表中读取增量配置数据,写入所述分布式缓存。在一些实施例中,所述实时读取增量配置数据的步骤还包括:所述分布式缓存接收到所述增量配置数据时,发起携带所述增量配置数据的配置变更通知;以及,所述接口服务器根据所述配置变更通知,自所述分布式缓存中读取所述增量配置数据,写入所述本地缓存。在一些实施例中,所述实时读取增量配置数据的步骤中,采用长轮询的方式获取增量配置数据。在一些实施例中,所述分布式缓存中包括多个分布式的缓存服务器,所述快照服务配置于一缓存服务器上,当配置所述快照服务的缓存服务器故障时,所述快照服务自动在所述分布式缓存的另一缓存服务器上实时启动。在一些实施例中,所述接口服务器配置于接口服务集群中,所述接口服务集群中包括多个分布式的接口服务器,每个接口服务器响应与其对应的配置数据读取请求。本专利技术的另一个方面提供一种配置数据读取系统,包括接口服务器和分布式缓存,所述接口服务器包括:读取请求响应模块,用于响应配置数据读取请求,自本地缓存中读取配置数据;本地缓存读取模块,用于当自所述本地缓存中读取到与所述配置数据读取请求匹配的配置数据,则返回自所述本地缓存中读取到的配置数据;以及分布式缓存读取模块,用于当所述本地缓存中没有与所述配置数据读取请求匹配的配置数据,从分布式缓存中读取配置数据,包括:通过配置于所述分布式缓存中的快照服务查找可读缓存服务器;自所述可读缓存服务器中读取与所述配置数据读取请求匹配的配置数据;以及,返回自所述可读缓存服务器中读取到的配置数据。本专利技术的再一个方面提供一种电子设备,包括:一处理器;一存储器,所述存储器中存储有所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行上述任意实施例所述的配置数据读取方法的步骤。本专利技术的又一个方面提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现上述任意实施例所述的配置数据读取方法的步骤。本专利技术与现有技术相比的有益效果至少包括:接口服务器在接收到配置数据读取请求时,先从本地缓存中查找配置数据,以提高响应速度,实现对配置数据的高效读取;快照服务确保接口服务器访问分布式缓存时自可读缓存服务器中读取配置数据,保证配置数据的完整读取,并保证配置数据的一致性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本专利技术。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。显而易见地,下面描述的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出本专利技术实施例中配置数据读取方法的实施架构示意图;图2示出本专利技术实施例中配置数据读取方法的步骤示意图;图3示出本专利技术实施例中定期读取全量配置数据的步骤示意图;图4示出本专利技术实施例中定期读取全量配置数据的实施场景示意图;图5示出本专利技术实施例中实时读取增量配置数据的步骤示意图;图6示出本专利技术实施例中实时读取增量配置数据的实施场景示意图;图7示出本专利技术实施例中配置数据读取系统的模块示意图;图8示出本专利技术实施例中电子设备的结构示意图;以及图9示出本专利技术实施例中计算机可读存储介质的结构示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方本文档来自技高网...

【技术保护点】
1.一种配置数据读取方法,其特征在于,包括如下步骤:/n接口服务器响应于配置数据读取请求,自本地缓存中读取配置数据;/n若自所述本地缓存中读取到与所述配置数据读取请求匹配的配置数据,则返回自所述本地缓存中读取到的配置数据;/n若所述本地缓存中没有与所述配置数据读取请求匹配的配置数据,则所述接口服务器从分布式缓存中读取配置数据,包括:/n通过配置于所述分布式缓存中的快照服务查找可读缓存服务器;/n自所述可读缓存服务器中读取与所述配置数据读取请求匹配的配置数据;以及/n返回自所述可读缓存服务器中读取到的配置数据。/n

【技术特征摘要】
1.一种配置数据读取方法,其特征在于,包括如下步骤:
接口服务器响应于配置数据读取请求,自本地缓存中读取配置数据;
若自所述本地缓存中读取到与所述配置数据读取请求匹配的配置数据,则返回自所述本地缓存中读取到的配置数据;
若所述本地缓存中没有与所述配置数据读取请求匹配的配置数据,则所述接口服务器从分布式缓存中读取配置数据,包括:
通过配置于所述分布式缓存中的快照服务查找可读缓存服务器;
自所述可读缓存服务器中读取与所述配置数据读取请求匹配的配置数据;以及
返回自所述可读缓存服务器中读取到的配置数据。


2.如权利要求1所述的配置数据读取方法,其特征在于,还包括定期读取全量配置数据的步骤,所述定期读取全量配置数据的步骤包括:
所述快照服务周期性地关联数据库集群中的所有配置数据,并将关联后的配置数据写入所述数据库集群的配置宽表中;以及
所述快照服务自所述配置宽表中读取全量配置数据,写入所述分布式缓存。


3.如权利要求2所述的配置数据读取方法,其特征在于,所述写入所述分布式缓存的步骤包括:
查找所述分布式缓存中的可写缓存服务器;
清空所述可写缓存服务器,并将读取的全量配置数据写入所述可写缓存服务器;以及
写入完成后将所述可写缓存服务器标记为更新后的可读缓存服务器,并将所述可读缓存服务器标记为更新后的可写缓存服务器。


4.如权利要求2所述的配置数据读取方法,其特征在于,所述定期读取全量配置数据的步骤还包括:
所述接口服务器周期性地自所述可读缓存服务器中读取对应所述接口服务器的配置数据,更新至所述本地缓存中。


5.如权利要求1所述的配置数据读取方法,其特征在于,还包括实时读取增量配置数据的步骤,所述实时读取增量配置数据的步骤包括:
数据库集群接收到新增配置数据时,发起携带所述新增配置数据的配置变更通知;
所述分布式缓存根据所述配置变更通知,通过所述快照服务将所述新增配置数据关联写入所述数据库集群的配置宽表中;以及
所述快照服务自所述配置宽表中读取增量配置数据,写入所述分布式缓存。


6.如...

【专利技术属性】
技术研发人员:王可群
申请(专利权)人:上海携程商务有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1