动态下发配置的方法和计算机设备技术

技术编号:38502777 阅读:10 留言:0更新日期:2023-08-15 17:10
本申请提供了一种动态下发配置的方法和计算机设备,包括:接收客户端发送的读取最新配置的请求;根据预设的灰度条件,判断客户端是否命中灰度条件;如果没有命中灰度条件,则不下发最新配置;如果命中灰度条件,则查询是否有本地缓存;如果没有本地缓存,则从数据库读取配置缓存到本地,再从本地读取最新配置,将最新配置下发到客户端;如果有本地缓存,则从本地缓存中读取最新配置,再将最新配置下发到客户端;以使客户端读取到最新配置,计算并对比判断客户端本地存储配置的散列值和服务器下发的最新配置的散列值是否相同;如果相同,则不需要更新配置;如果不相同,则在客户端进行最新配置更新。该方法能使配置更新时减少流量消耗。流量消耗。流量消耗。

【技术实现步骤摘要】
动态下发配置的方法和计算机设备


[0001]本申请属于计算机领域,尤其涉及一种动态下发配置的方法和计算机设备。

技术介绍

[0002]移动端需要文案,或广告需要更换,或移动端某功能上线后发现有一个严重的问题,这些场景希望通过接口下发配置来覆盖本地配置,从而解决问题。
[0003]现有的解决方式为:一定向轮询请求到后端,拉取最新的配置数据,但是大多数拉取到的都是没有更新的;二长轮询后端接口,服务端没有数据则hold该请求,将socket等请求保存起来,不立即返回,此时的超时时间一般会比正常的http请求的超时时间长,造成流量浪费,机器资源浪费;三长链接推送模式,当发布更新配置后,可以通过长链接通道向在线用户下发配置变更通知,用户收到通知后便会主动拉取配置,但是如果长链接失效会导致更新不及时。

技术实现思路

[0004]本申请的目的在于提供一种动态下发配置的方法和计算机设备,旨在解决更新配置是流量耗费高的问题。
[0005]第一方面,本申请提供了一种动态下发配置的方法,包括:
[0006]接收客户端发送的读取最新配置的请求;
[0007]根据预设的灰度条件,判断客户端是否命中灰度条件;如果没有命中灰度条件,则不下发最新配置;如果命中灰度条件,则查询是否有本地缓存;
[0008]如果没有本地缓存,则从数据库读取配置缓存到本地,再从本地读取最新配置,将最新配置下发到客户端;如果有本地缓存,则从本地缓存中读取最新配置,再将最新配置下发到客户端;以使客户端读取到最新配置,计算并对比判断客户端本地存储配置的散列值和服务器下发的最新配置的散列值是否相同;如果相同,则不需要更新配置;如果不相同,则在客户端进行最新配置更新。
[0009]进一步地,所述在客户端进行最新配置更新,具体为:通过文本差异比较算法得到散列值,并根据散列值判断是否为增量更新,如果是增量更新,则与客户端本地存储配置进行比较生成补丁,根据补丁更新配置;如果不是增量更新,则利用最新配置替换本地存储配置并更新内存。
[0010]进一步地,所述散列值包括MD5值和哈希值。
[0011]进一步地,所述方法还包括:采用消息队列遥测传输mqtt长链接技术实时下发最新配置,使客户端接收最新配置。
[0012]进一步地,所述接收客户端发送的读取最新配置的请求之前,还包括:调用CDN预热接口,将对应的最新配置缓存到CDN节点,使得客户端命中灰度条件后直接从CDN节点缓存中获取最新配置。
[0013]第二方面,本申请提供了一种计算机设备,包括:一个或多个处理器、存储器以及
一个或多个计算机程序,所述处理器和所述存储器通过总线连接,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述处理器执行所述计算机程序时实现如第一方面所述的动态下发配置的方法的步骤。
[0014]第三方面,本申请提供了一种动态下发配置的方法,包括:
[0015]连接服务端接口,请求读取服务端的最新配置;
[0016]设置灰度条件,等待服务端判断是否命中预设的灰度条件;如果没有命中灰度条件,则不对配置进行更新;如果命中灰度条件,则读取服务端下发的最新配置;
[0017]对读取的最新配置进行计算并对比判断本地存储配置的散列值和服务器的最新配置的散列值是否相同;
[0018]如果相同,则不需要更新本地存储配置;如果不相同,则通过差异比较算法得到散列值,并根据散列值判断是否为增量更新,如果是增量更新,与客户端本地存储配置进行比较生成补丁,根据补丁更新配置;如果不是增量更新,则利用最新配置替换本地存储配置并更新内存。
[0019]进一步地,所述连接服务端接口,获取服务端的最新配置之前,还包括:客户端根据服务端下发轮询间隔时间进行短轮询配置后端接口更新。
[0020]进一步地,所述如果命中灰度条件,则读取服务端下发的最新配置,具体为:如果命中灰度条件,读取服务端返回的存有最新配置的CDN链接,包括是否全量、是否加密、是否压缩和轮询间隔时间。
[0021]第四方面,本申请提供了一种计算机设备,包括:一个或多个处理器、存储器以及一个或多个计算机程序,所述处理器和所述存储器通过总线连接,其中所述一个或多个计算机程序被存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述处理器执行所述计算机程序时实现所述的动态下发配置的方法的步骤。
[0022]在本申请中,采用增量更新,使用文本差异比较算法,增量下发配置,减少流量消耗;客户端根据服务端下发轮询间隔时间进行段轮询配置后端接口更新,保证了配置更新的时效性;调用CDN预热接口,将对应的最新配置缓存到CDN节点,使得客户端命中灰度条件后直接从CDN节点缓存中获取最新配置,在请求配置更新的高峰期,减少CDN的承受压力,并提高客户端的下载速度。
附图说明
[0023]图1是本申请一实施例提供的动态下发配置的方法的流程图。
[0024]图2是本申请另一实施例提供的动态下发配置的方法的流程图。
[0025]图3是本申请一实施例提供的计算机设备的具体结构框图。
具体实施方式
[0026]为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0027]为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
[0028]请参阅图1,本申请一实施例提供的动态下发配置的方法包括以下步骤:需注意的
是,若有实质上相同的结果,本申请的动态下发配置并不以图1所示的流程顺序为限。
[0029]S101、接收客户端发送的读取最新配置的请求;
[0030]S102、根据预设的灰度条件,判断客户端是否命中灰度条件;如果没有命中灰度条件,则不下发最新配置;如果命中灰度条件,则查询是否有本地缓存;
[0031]S103、如果没有本地缓存,则从数据库读取配置缓存到本地,再从本地读取最新配置,将最新配置下发到客户端;如果有本地缓存,则从本地缓存中读取最新配置,再将最新配置下发到客户端;以使客户端读取到最新配置,计算并对比判断客户端本地存储配置的散列值和服务器下发的最新配置的散列值是否相同;如果相同,则不需要更新配置;如果不相同,则在客户端进行最新配置更新。
[0032]在本申请一实施例中,将最新配置进行加密压缩后再下发到客户端,将最新配置通过Gzip和Zstd算法压缩存储,对单Value数据加密,即对每个明文Key对应的Value数据加密,再下发到客户端。
[0033]在本申请一实施例中,所述在客户端进行最新配置更新,具体为:通过文本差异比较算法得到散列值,并根据散列值判断是否为增量更新,如果是增量更新,则与客户端本地存储配置进行比较生成补丁,根据补丁更新配置;如果不是增量更新,则利用最新配置替换本地存储本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种动态下发配置的方法,其特征在于,包括:接收客户端发送的读取最新配置的请求;根据预设的灰度条件,判断客户端是否命中灰度条件;如果没有命中灰度条件,则不下发最新配置;如果命中灰度条件,则查询是否有本地缓存;如果没有本地缓存,则从数据库读取配置缓存到本地,再从本地读取最新配置,将最新配置下发到客户端;如果有本地缓存,则从本地缓存中读取最新配置,再将最新配置下发到客户端;以使客户端读取到最新配置,计算并对比判断客户端本地存储配置的散列值和服务器下发的最新配置的散列值是否相同;如果相同,则不需要更新配置;如果不相同,则在客户端进行最新配置更新。2.如权利要求1所述的方法,其特征在于,所述在客户端进行最新配置更新,具体为:通过文本差异比较算法得到散列值,并根据散列值判断是否为增量更新,如果是增量更新,则与客户端本地存储配置进行比较生成补丁,根据补丁更新配置;如果不是增量更新,则利用最新配置替换本地存储配置并更新内存。3.如权利要求1所述的方法,其特征在于,所述散列值包括MD5值和哈希值。4.如权利要求1所述的方法,其特征在于,所述方法还包括:采用消息队列遥测传输mqtt长链接技术实时下发最新配置,使客户端接收最新配置。5.如权利要求1所述的方法,其特征在于,所述接收客户端发送的读取最新配置的请求之前,还包括:调用CDN预热接口,将对应的最新配置缓存到CDN节点,使得客户端命中灰度条件后直接从CDN节点缓存中获取最新配置。6.一种计算机设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,所述处理器和所述存储器通过总线连接,其中所述一个或多个计算机程序被存储在所述存储器...

【专利技术属性】
技术研发人员:秦复祥
申请(专利权)人:深圳依时货拉拉科技有限公司
类型:发明
国别省市:

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

1