【技术实现步骤摘要】
配置信息的推送方法及系统、配置信息的接收方法及系统
本专利技术涉及数据处理
,具体而言,涉及一种配置信息的推送方法、系统、配置信息的接收方法、系统、计算机装置及计算机可读存储介质。
技术介绍
在互联网应用场景下,一个完整的业务通常由多个微服务组成,每个微服务在开发环境、测试环境、预发布环境和生产环境对应着不同的配置信息,需要针对不同环境维护多份。开发者在开发测试以及联调的时候需要对应不同的环境信息。而频繁的修改和调整配置信息会带来了很大麻烦,并且大量的配置文件的维护给运维人员带来相当大的困扰。为解决上述问题出现了配置中心,在局域网下如图1所示,私有部署一份配置中心服务,客户端可以通过Socket连接或者Zookeeper的Watcher机制,监听服务端的配置变化。但是如果配置中心以公有服务的方式提供使用时,全链路经过了SLB、Nginx可能还有内部的Haproxy的层层转发,即使配置长时间不超时,也可能由于中间层的网络问题,造成链接异常。所以此类服务不适用类似局域网场景下的TCP直连场景,配置文件的获取和监听方式需要改变。如果以无状态的HTTP请求方式,客户端不断的查询配置状态,获取到不同状态时再重新下载文件更新到本地,方案如图2所示,为了安全性,需要对请求进行加签、验签等操作。缺少了TCP的长链接机制,以传统的无状态的HTTP方式轮询访问服务端,会增加服务端的压力。同时,在大多数时间里,在配置文件没有变化,无谓的客户端发起的轮询检查,消耗大量的资源。
技术实现思路
本专利技术旨在至少解决现有技术或相关技术中存在的技术问题之一。为此,本专利技术的一个方面 ...
【技术保护点】
一种配置信息的推送方法,用于服务端,其特征在于,所述服务端包括多个阻塞队列,每个所述阻塞队列对应不同的客户端连接,所述配置信息的推送方法包括:接收来自所述客户端的HTTP请求;检测配置信息的更新信息,同时将所述更新信息存储至阻塞队列;将所述阻塞队列中的所述更新信息推送至所述客户端;当所述阻塞队列中不存在所述更新信息时,令所述客户端推送所述更新信息的线程等待通知;判断是否出现请求超时异常或网络异常;当未出现所述请求超时异常或所述网络异常,以及所述阻塞队列中已存储有所述更新信息时,将所述更新信息推送至所述客户端。
【技术特征摘要】
1.一种配置信息的推送方法,用于服务端,其特征在于,所述服务端包括多个阻塞队列,每个所述阻塞队列对应不同的客户端连接,所述配置信息的推送方法包括:接收来自所述客户端的HTTP请求;检测配置信息的更新信息,同时将所述更新信息存储至阻塞队列;将所述阻塞队列中的所述更新信息推送至所述客户端;当所述阻塞队列中不存在所述更新信息时,令所述客户端推送所述更新信息的线程等待通知;判断是否出现请求超时异常或网络异常;当未出现所述请求超时异常或所述网络异常,以及所述阻塞队列中已存储有所述更新信息时,将所述更新信息推送至所述客户端。2.根据权利要求1所述的配置信息的推送方法,其特征在于,还包括:当出现所述请求超时异常或所述网络异常时,记录所述请求超时异常或所述网络异常,并构造异常信息发送至所述客户端;接收下一HTTP请求;根据所述下一HTTP请求监控已建立或新建的阻塞队列。3.根据权利要求2所述的配置信息的推送方法,其特征在于,所述检测配置信息的更新信息,同时将所述更新信息存储至所述阻塞队列的步骤,具体包括:检测所述配置信息的所述更新信息;判断是否存在所述阻塞队列;当存在所述阻塞队列时,将所述更新信息存储至所述阻塞队列;当不存在所述阻塞队列时,建立所述阻塞队列,并将所述更新信息存储至所述阻塞队列。4.根据权利要求1至3中任一项所述的配置信息的推送方法,其特征在于,还包括:监听将所述阻塞队列中的所述更新信息推送至所述客户端的过程,获取推送信息;将所述推送信息存储至Redis数据库,并通过预设方式展示所述推送信息。5.根据权利要求4所述的配置信息的推送方法,其特征在于,还包括:将客户端的连接状态与会话信息存储至所述Redis数据库;利用Shiro安全框架对所述会话信息进行管理,以清理客户端的重复连接。6.一种配置信息的推送系统,用于服务端,其特征在于,所述服务端包括多个阻塞队列,每个所述阻塞队列对应不同的客户端连接,所述配置信息的推送系统包括:接收单元,用于接收来自所述客户端的HTTP请求;检测单元,用于检测配置信息的更新信息,同时将所述更新信息存储至阻塞队列;推送单元,用于将所述阻塞队列中的所述更新信息推送至所述客户端;挂起单元,用于当所述阻塞队列中不存在所述更新信息时,令所述客户端推送所述更新信息的线程等待新通知;判断单元,用于判断是否出现请求超时异常或网络异常;所述推送单元,还用于当未出现所述请求超时异常或所述网络异常,以及所述阻塞队列中已存储有所述更新信息时,将所述更新信息推送至所述客户端。7.根据权利要求6所述的配置信息的推送系统,其特征在于,还包括:记录单元,用于当出现所述请求超时异常或所述网络异常时,记录所述请求超时异常或所述网络异常,并构造异常信息发送至所述客户端;所述接收单元,还用于接收下一HTTP请求;监听单元,用于根据所述下一HTTP请求监控已建立或新建的阻塞队列。8.根据权利要求7所述的配置信息的推送系统,其特征在于,所述检测单元,用于检测所述配置信息的所述更新信息;所述判断单元,还用于判断是否存在所述阻塞队列;建立单元,用于当存在所述阻塞队列时,将所述更新信息存储至所述阻塞队列;以及当不存在所述阻塞队列时,建立所...
【专利技术属性】
技术研发人员:刘建民,
申请(专利权)人:用友网络科技股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。