CN112463808A - 目标集群的数据处理方法、装置和服务器 - Google Patents
目标集群的数据处理方法、装置和服务器 Download PDFInfo
- Publication number
- CN112463808A CN112463808A CN202011362513.9A CN202011362513A CN112463808A CN 112463808 A CN112463808 A CN 112463808A CN 202011362513 A CN202011362513 A CN 202011362513A CN 112463808 A CN112463808 A CN 112463808A
- Authority
- CN
- China
- Prior art keywords
- configuration
- upstream service
- target cluster
- upstream
- preset
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 323
- 238000000034 method Methods 0.000 claims abstract description 70
- 238000012545 processing Methods 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 15
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered 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
- G06F16/235—Update request formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- 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/2455—Query execution
- G06F16/24552—Database cache management
-
- 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/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书提供了目标集群的数据处理方法、装置和服务器。基于该方法,在获取针对目标集群的上游服务的配置更新请求之后,先根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件;再根据上游服务的配置更新信息,生成上游服务的配置更新文件;从预设的存储模块中获取目标集群的服务器列表;并根据目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,分别更新所述目标集群中的多个服务器的上游服务的配置文件,从而可以在不需要对服务器进行重启或者重加载等操作的情况下,利用预设的扩展模块的数据接口高效地对目标集群中各个服务器的上游服务的配置文件进行热更新,避免对目标集群的数据处理造成影响。
Description
技术领域
本说明书属于互联网技术领域,尤其涉及目标集群的数据处理方法、装置和服务器。
背景技术
在对集群服务器的上游服务(例如,upstream)等进行管理时,现有方法通常是通过人工维护,或者使用脚本文件来修改、更新集群服务器的上游服务的配置文件。
但是,基于上述方法来修改上游服务的配置文件后,往往还需要对服务器进行重启,或者重新加载配置等操作。这样势必会影响集群服务器的反向代理服务的吞吐量,进而对集群的正常数据处理造成影响。同时,上述方法的具体实施过程也相对比较繁琐,导致对整体的处理效率造成影响。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书提供了一种目标集群的数据处理方法、装置和服务器,以能在不需要对服务器进行重启或者重加载等操作,利用预设的扩展模块的数据接口高效地对目标集群中各个服务器的上游服务的配置文件进行热更新,避免对目标集群的数据处理造成影响。
本说明书提供的一种目标集群的数据处理方法,包括:
获取针对目标集群的上游服务的配置更新请求;其中,所述上游服务的配置更新请求携带有上游服务的配置更新信息;
响应所述上游服务的配置更新请求,根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件;
根据所述上游服务的配置更新信息,生成上游服务的配置更新文件;
从所述预设的存储模块中获取目标集群的服务器列表;
根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件。
在一个实施例中,所述获取针对目标集群的上游服务的配置更新请求,包括:
通过终端设备向用户展示关于目标集群的上游服务的设置界面;
通过所述设置界面,接收用户输入的针对目标集群的上游服务的配置更新信息;
根据所述配置更新信息,生成对应的配置更新请求。
在一个实施例中,所述目标集群包括Nginx集群。
在一个实施例中,所述预设的存储模块包括基于Redis的存储模块。
在一个实施例中,所述根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件,包括:
调用预设的扩展模块的数据接口存储所述上游服务的当前配置文件的全量数据,作为上游服务的配置文件的备份,并获取对应的存储路径和时间戳;
在预设的存储模块中,使用list数据结构,存储与所述上游服务的配置文件的备份对应的携带有时间戳的存储路径。
在一个实施例中,从所述预设的存储模块中获取目标集群的服务器列表,包括:
查询所述预设的存储模块中的set数据结构的数据,以获取所述目标集群的服务器列表。
在一个实施例中,所述预设的扩展模块的接口包括:ngx_http_dyups_module的API。
在一个实施例中,根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件,包括:
按照以下方式更新目标集群中的当前服务器的上游服务的配置文件:
根据预设的更新规则,在当前服务器运行的状态下,调用预设的扩展模块的数据接口,利用配置更新文件覆盖所述当前服务器的内存中的上游服务的配置文件。
在一个实施例中,所述方法还包括:根据预设的存储规则,利用预设的存储模块备份上游服务的配置更新文件。
在一个实施例中,所述方法还包括:
接收配置回退请求;
根据所述配置回退请求,利用预设的存储模块获取所请求的上游服务的配置文件的备份;
反馈所述上游服务的配置文件的备份。
在一个实施例中,所述配置回退请求携带有与所请求的上游服务的配置文件的备份对应的时间戳。
在一个实施例中,根据所述配置回退请求,利用预设的存储模块获取所请求的上游服务的配置文件的备份,包括:
根据所述配置回退请求所携带的时间戳,查询所述预设的存储模块中的list数据结构的数据,以确定出携带有相同时间戳的路径作为目标路径;
根据所述目标路径,获取所请求的上游服务的配置文件的备份。
本说明书还提供了一种目标集群的数据处理装置,包括:
第一获取模块,用于获取针对目标集群的上游服务的配置更新请求;其中,所述上游服务的配置更新请求携带有上游服务的配置更新信息;
备份模块,用于响应所述上游服务的配置更新请求,根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件;
生成模块,用于根据所述上游服务的配置更新信息,生成上游服务的配置更新文件;
第二获取模块,用于从所述预设的存储模块中获取目标集群的服务器列表;
更新模块,用于根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件。
本说明书还提供了一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现获取针对目标集群的上游服务的配置更新请求;其中,所述上游服务的配置更新请求携带有上游服务的配置更新信息;响应所述上游服务的配置更新请求,根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件;根据所述上游服务的配置更新信息,生成上游服务的配置更新文件;从所述预设的存储模块中获取目标集群的服务器列表;根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件。
本说明书还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现获取针对目标集群的上游服务的配置更新请求;其中,所述上游服务的配置更新请求携带有上游服务的配置更新信息;响应所述上游服务的配置更新请求,根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件;根据所述上游服务的配置更新信息,生成上游服务的配置更新文件;从所述预设的存储模块中获取目标集群的服务器列表;根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件。
本说明书提供的一种目标集群的数据处理方法、装置和服务器,基于该方法,在获取得到针对目标集群的上游服务的配置更新请求之后,可以先根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件的全量信息;再根据上游服务的配置更新信息,生成上游服务的配置更新文件;进而,可以从预设的存储模块中获取目标集群的服务器列表;并根据目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件,从而可以在不需要对服务器进行重启或者重加载等操作的情况下,利用预设的扩展模块的数据接口来高效地对目标集群中各个服务器的上游服务的配置文件进行热更新,避免了对目标集群的正常数据处理造成影响;同时上述方法也简化了针对集群的上游服务的配置文件的更新流程,提高了整体的处理效率,能够更好、更有效地对集群的上游服务的进行动态管理。解决了现有方法中存在的在更新集群服务器的上游服务的配置文件时效率低,且需要进行重启或者重加载等操作,影响目标集群的数据处理的技术问题。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是应用本说明书实施例提供的目标集群的数据处理方法的系统的结构组成的一个实施例的示意图;
图2是本说明书的一个实施例提供的目标集群的数据处理方法的流程示意图;
图3是本说明书的一个实施例提供的服务器的结构组成示意图;
图4是本说明书的一个实施例提供的目标集群的数据处理装置的结构组成示意图;
图5是在一个场景示例中,应用本说明书实施例提供的目标集群的数据处理方法的一种实施例的示意图;
图6是在一个场景示例中,应用本说明书实施例提供的目标集群的数据处理方法的一种实施例的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
考虑到基于现有的集群的数据处理方法在对集群服务器的上游服务进行管理时,通常是通过人工维护,或使用脚本文件来修改、更新集群服务器的上游服务的配置文件。但是,采用上述方式来修改上游服务的配置文件后,往往还需要再对服务器进行重新,或者重新加载配置等操作。而这些操作又会影响集群服务器的反向代理服务的吞吐量,进行影响集群整体的数据处理。同时,上述方法在具体实施时也相对较繁琐,影响整体的处理效率。导致现有方法至少存在以下技术问题:在更新集群服务器的上游服务的配置文件时效率低,且需要进行重启或者重加载等操作,影响目标集群的数据处理。
针对产生上述问题的根本原因,本说明书考虑采用不同的更新方式来对集群服务器的上游服务的配置文件进行更新。具体的,在获取针对目标集群的上游服务的配置更新请求之后,集群服务器可以先根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件;再根据上游服务的配置更新信息,生成上游服务的配置更新文件;从预设的存储模块中获取目标集群的服务器列表;再根据目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,分别更新所述目标集群中的多个服务器的上游服务的配置文件,从而可以在不需要对服务器进行重启或者重加载等操作的情况下,利用预设的扩展模块的数据接口高效地对目标集群中各个服务器的上游服务的配置文件进行热更新,避免了对目标集群的数据处理的影响。同时,基于上述方法也简化了针对集群的上游服务的配置文件的更新流程,提高了整体的处理效率,能够更好地对集群的上游服务的进行动态管理。
本说明书实施例提供一种目标集群的数据处理方法。所述目标集群的数据处理方法具体可以应用于包含有目标集群和终端设备的系统中。具体的,可以参阅图1所示。上述目标集群具体可以包括多个服务器。其中,目标集群中的一个服务器与终端设备对接,目标集群中的不同服务器之间通过有线或无线的方式相连,以进行数据交互。
具体实施时,终端设备可以向用户展示关于目标集群的上游服务的设置界面;并通过所述设置界面,接收用户输入的针对目标集群的上游服务的配置更新信息。进而,终端设备可以生成携带有上游服务的配置更新信息的针对目标集群的上游服务的配置更新请求,并将该上游服务的配置更新请求发送至目标集群中的某一个服务器(或者目标集群中专门负责与终端设备对应的前端服务器)。
相应的,服务器可以获取针对目标集群的上游服务的配置更新请求;并响应所述上游服务的配置更新请求,根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件,以便后续可以利用上述备份来支持用户发起的配置回退请求。
进一步,服务器可以根据所述上游服务的配置更新信息,生成上游服务的配置更新文件;并从所述预设的存储模块中获取目标集群的服务器列表。
接着,服务器可以根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件。
在本实施例中,所述服务器具体可以包括一种应用于业务平台一侧,能够实现数据传输、数据处理等功能的后台负服务器。具体的,所述服务器例如可以为一个具有数据运算、存储功能以及网络交互功能的电子设备。或者,所述服务器也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施例中,并不具体限定所述服务器所包含的服务器的数量。所述服务器具体可以为一个服务器,也可以为几个服务器,或者,由若干服务器形成的服务器集群。
在本实施例中,所述终端设备具体可以包括一种应用于用户一侧,能够实现数据采集、数据传输等功能的电子设备。具体的,所述终端设备例如可以为台式电脑、平板电脑、笔记本电脑、智能手机等。或者,所述终端设备也可以为能够运行于上述电子设备中的软件应用。例如,可以是在智能手机上运行的某APP等。
通过上述系统,可以在不需要对服务器进行重启或者重加载等操作的情况下,利用预设的扩展模块的数据接口来高效地对目标集群中各个服务器的上游服务的配置文件进行热更新,避免了对目标集群的数据处理的影响;同时也简化了针对集群的上游服务的配置文件的更新流程,提高了整体的处理效率,能够更好地对集群的上游服务的进行动态管理。
参阅图2所示,本说明书实施例提供了一种目标集群的数据处理方法。其中,该方法具体应用于服务器一侧。具体实施时,该方法可以包括以下内容。
S201:获取针对目标集群的上游服务的配置更新请求;其中,所述上游服务的配置更新请求携带有上游服务的配置更新信息。
在本实施例中,上述目标集群具体可以包括多个不同的服务器。该方法所应用于的服务器可以是目标集群中的任意一个服务器,也可以是目标集群中与用户对接的前端服务器。
在一个实施例中,上述目标集群具体可以包括Nginx集群。相应的,目标集群中所包括的服务器具体可以为Nginx服务器。
其中,上述Nginx具体可以理解为一种以高性能、高并发著称的开源Web服务器,支持HTTP(HyperText Transfer Protocol,超文本传输协议)反向代理、TCP(TransmissionControl Protocol,传输控制协议)代理、负载均衡、HTTP缓存及Web开发等。
在本实施例中,上述上游服务(upstream),即,ngx_http_upstream_module模块,具体是一个Nginx官方模块,用于为反向代理提供了负载均衡及故障转移等服务功能。
在本实施例中,上述针对目标集群的上游服务的配置更新请求具体可以携带有上游服务的配置更新信息。具体的,上述配置更新请求用于请求利用所携带的上游服务的配置更新信息对目标集群中的服务器的上游服务的配置文件进行相应的修改和更新。
在一个实施例中,所述获取针对目标集群的上游服务的配置更新请求,具体实施时,可以包括以下内容:通过终端设备向用户展示关于目标集群的上游服务的设置界面;通过所述设置界面,接收用户输入的针对目标集群的上游服务的配置更新信息;根据所述配置更新信息,生成对应的配置更新请求。
在本实施例中,用户可以在终端设备所展示的上述设置界面中,根据界面上显示的提示信息,根据具体的应用场景和处理需求,在设置界面中输入针对目标集群的上游服务的配置更新信息。相应的,终端设备可以通过上述设置界面采集得到配置更新信息。
在本实施例中,终端设备在采集到配置更新信息之后,可以直接将该配置更新信息发送至服务器,由服务器基于上述配置更新信息生成对应的配置更新请求。也可以是终端设备根据所采集到的配置更新信息,生成携带有配置更新信息的配置更新请求,再将该配置更新请求发送给服务器;相应的,服务器接收终端设备发送的配置更新请求。
S202:响应所述上游服务的配置更新请求,根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件。
在一个实施例中,所述预设的存储模块具体可以包括基于Redis的存储模块。
在本实施例中,上述Redis具体可以理解为一个基于C语言开发的开源键值对存储数据库,能够提供多种存储数据结构,并且还可以基于内存运行,支持可分布式扩展,以数据持久化等功能。
在本实施例中,利用轻量化的基于Redis的存储模块作为预设的存储模块来高效地存储、查询处理过程中所涉及到的不同数据结构的相关数据,有助于提高整体的处理效率。
在本实施例中,在接收到配置更新请求,对上游服务的配置文件进行更新之前,可以先利用上述预设的存储模块对目前正在使用的上游服务的当前配置文件的全量数据进行备份,以便后续在需要时,能够支持用户进行配置回退操作。
在一个实施例中,所述根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件,具体实施时,可以包括以下内容。
S1:调用预设的扩展模块的数据接口存储所述上游服务的当前配置文件的全量数据,作为上游服务的配置文件的备份,并获取对应的存储路径和时间戳。
S2:在预设的存储模块中,使用list数据结构,存储与所述上游服务的配置文件的备份对应的携带有时间戳的存储路径。
在一个实施例中,所述预设的扩展模块的接口具体可以包括:ngx_http_dyups_module的API。当然,需要说明的是,上述所列举的接口只是一种示意性说明。具体实施时,根据具体的应用场景以及所针对的目标集群的具体特征,还可以采用其他合适的接口作为上述预设的扩展模块的接口。
其中,ngx_http_dyups_module(也可以称为dyups),具体可以理解为一种软件模块,该模块可以提供相应的API(接口)以支持动态修改upstream的配置。进一步的,该模块还能支持对Nginx的ip_hash、keepalive等与upstream有关的配置动态修改。上述动态修改可以理解为热修改或热更新,即在不停机不重启的前提下,完成相应的修改或更新。
在一个实施例中,具体实施时,在调用预设的扩展模块的数据接口存储所述上游服务的当前配置文件的全量数据,作为上游服务的配置文件的备份的同时,还会记录保存在下该备份的路径地址,例如,“/usr/local/nginx/backup/upstreams.”,作为与该备份对应的存储路径。同时,还可以根据备份的时间信息(例如,2020年09月11日),结合时间戳标记进行拼接来生成对应的时间戳,例如,“20200911.1600006829”。
进一步,在预设的存储模块中,可以使用与存储路径的数据结构相匹配的list数据结构来存储该备份的存储路径。具体存储时,根据预设的存储规则,可以将携带有时间戳的存储路径,例如,“/usr/local/nginx/backup/upstreams.20200911.1600006829”进行存储,方便后续的检索、回退等操作。
在具体使用list数据结构,存储上述携带有时间戳的存储路径时,考虑到Redis列表是一种按照插入顺序排序的字符串列表,为了进一步方便后续的检索、回退等操作,可以每次将更新的备份的存储路径插入到list数据结构的列表头部,以进行存储。
通过上述方式可以在每次更新上游服务的配置文件之前,将正在使用的上游服务的当前配置文件进行备份,并将与备份对应的携带有时间戳的存储路径以list数据结构存在预设的存储模块中,以便后续可以满足用户的多样化需求,较为高效地进行配置回退、历史配置查询等处理,提高用户的使用体验。
在一个实施例中,上述预设的存储模块除了存储有与备份对应的携带有时间戳的存储路径外,还可以存储有其他在对目标集群的服务器的上游服务的配置进行管理时所使用到的数据。例如,目标集群的服务器列表、目标集群的上游服务列表、目标集群的指定上游服务内的后端服务器配置信息等。并且,上述数据具体可以以相匹配的数据结构存储在预设的存储模块中。例如,上述目标集群的服务器列表、目标集群的上游服务列表、目标集群的指定上游服务内的后端服务器配置信息可以以set数据结构存储在预设的存储模块中,方便后续使用。
S203:根据所述上游服务的配置更新信息,生成上游服务的配置更新文件。
在本实施例中,服务器可以从配置更新请求中提取出所携带的配置更新信息,并根据上述配置更新信息,生成上游服务的配置更新文件。
S204:从所述预设的存储模块中获取目标集群的服务器列表。
在本实施例中,上述目标集群的服务器列表具体可以包含有目标集群中的各个服务器的身份标识(例如,服务器编号、服务器的名称等),以及各个服务器的IP地址、端口信息等数据。
在本实施例中,具体实施前,服务器可以获取并根据目标集群中的各个服务器的相关信息,生成目标集群的服务器列表;在预设的存储模块中,使用set数据结构,存储上述目标集群的服务器列表,以方便后续能够高效地查询、获取、更改该服务器列表。
在一个实施例中,从所述预设的存储模块中获取目标集群的服务器列表,具体实施时,可以包括:查询所述预设的存储模块中的set数据结构的数据,以获取所述目标集群的服务器列表。
在本实施例中,具体的,服务器可以访问预设的存储模块,并根据目标集群的集群标识在预设的存储模块所存储中的set数据结构的数据中进行检索和查询,以找到与集群标识对应匹配的目标集群的服务器列表。
S205:根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件。
在本实施例中,具体实施时,服务器可以根据目标集群的服务器列表确定目标集群中所包含的多个服务器,并确定出所述多个服务器中的各个服务器的IP地址、端口信息等;进而可以根据服务的IP地址、端口信息等,调用预设的扩展模块的数据接口,按照预设的更新规则,逐个地对目标集群中的各个服务器的上游服务的配置文件进行更新。从而可以高效地完成对目标集群的上游服务的配置文件的更新。
在一个实施例中,上述根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件,具体实施时,可以按照以下方式更新目标集群中的当前服务器的上游服务的配置文件:根据预设的更新规则,在当前服务器运行的状态下,调用预设的扩展模块的数据接口,利用配置更新文件覆盖所述当前服务器的内存中的上游服务的配置文件。从而可以在不需要重启或重加载,就能够高效地完成针对当前服务器的上游服务的配置文件的更新,不会对当前服务器的数据处理造成影响。
在本实施例中,利用配置更新文件覆盖所述当前服务器的内存中的上游服务的配置文件的同时,还可以对当前服务器本地的与上游服务的配置文件相关的静态配置数据进行同步修改和更新。此外,还可以对当前服务器所对应的存储模块中上游服务的配置文件进行更新。这样,即使当前服务器突然宕机或者重启,也不会遗失掉上述新更新的上游服务的配置文件,从而可以使得更新过程更加的稳定、可靠。
在本实施例中,服务器在每次完成当前服务器的上游服务的配置文件的更新后,可以在目标集群的服务器列表中与当前服务器对应的身份标识处设置已更新的标记;再检索目标集群的服务器列表中没有设置已更新的标记的服务器,作为下一个当前服务器进行更新。
按照上述方式进行循环,直到目标集群的服务器列表中检索不到没有设置已更新的标记的服务器为止,从而可以高效、有序地完成目标集群的上游服务的配置文件的更新。
在一个实施例中,在完成针对当前服务器的上游服务的配置文件的更新之后,所述方法还具体实施时,还可以包括:根据预设的存储规则,利用预设的存储模块备份上游服务的配置更新文件。具体的,可以参考备份上游服务的当前配置文件,利用预设的存储模块对上游服务的配置更新文件进行备份,以避免由于特殊的异常情况导致上游服务的配置更新文件出现遗失,从而可以保护集群数据处理的稳定、可靠。
在本实施例中,通过在获取针对目标集群的上游服务的配置更新请求之后,可以先根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件的全量信息;再根据上游服务的配置更新信息,生成上游服务的配置更新文件;进而,可以从预设的存储模块中获取目标集群的服务器列表;并根据目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,分别更新所述目标集群中的多个服务器的上游服务的配置文件,从而可以在不需要对服务器进行重启或者重加载等操作的情况下,利用预设的扩展模块的数据接口来高效地对目标集群中各个服务器的上游服务的配置文件进行热更新,避免了对目标集群的数据处理的影响;同时也简化了针对集群的上游服务的配置文件的更新流程,提高了整体的处理效率,能够更好地对集群的上游服务的进行动态管理。解决了现有方法中存在的在更新集群服务器的上游服务的配置文件时效率低,且需要进行重启或者重加载等操作,影响目标集群的数据处理的技术问题。
在一个实施例中,所述方法具体实施时,还可以包括以下内容:接收配置回退请求;根据所述配置回退请求,利用预设的存储模块获取所请求的上游服务的配置文件的备份;反馈所述上游服务的配置文件的备份。
其中,上述配置回退请求具体可以理解为一种用于请求退回更新之前的上游服务的配置文件的请求数据。
在本实施例中,根据具体的应用场景和处理需求,例如,当前用户要求目标集群恢复到更新之前的配置状态来进行后续的数据处理,这是用户可以通过终端设备生成并向服务器发送相应的配置回退请求。
相应的,服务器可以接收并根据上述配置回退请求,从预设的存储模块中搜索并获取该配置回退请求所请求的上游服务的配置文件的备份,并将该上游服务的配置文件的备份反馈给终端设备,以等待用户的进一步指示。
当用户通过终端设备发起针对基于该上游服务的配置文件的备份的配置恢复指示后,服务器可以响应上述配置恢复指示,将上述上游服务的配置文件的备份作为一种配置更新文件,按照类似方式,根据目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,分别更新所述目标集群中的多个服务器的上游服务的配置文件。从而可以高效地将目标集群中各个服务器的上游服务的配置文件恢复成之前的配置。
在一个实施例中,所述配置回退请求具体可以携带有与所请求的上游服务的配置文件的备份对应的时间戳。
在一个实施例中,上述根据所述配置回退请求,利用预设的存储模块获取所请求的上游服务的配置文件的备份,具体实施时,可以包括以下内容:根据所述配置回退请求所携带的时间戳,查询所述预设的存储模块中的list数据结构的数据,以确定出携带有相同时间戳的路径作为目标路径;根据所述目标路径,获取所请求的上游服务的配置文件的备份。
在本实施例中,通过上述方式,服务器可以利用配置回退请求中所携带的时间戳,在预设的存储模块中准确、高效地找出用户请求回退的配置文件的备份。
在一个实施例中,考虑到目标集群中不同服务器之间还可能存在较为复杂的依赖关系。为了能够更加准确、高效地对目标集群的服务器的上游服务的配置文件进行更新,还可以结合目标集群中服务器之间的依赖关系,按照一定更新顺序来对目标集群中的各个服务器的上游服务的配置文件进行更新。
在一个实施例中,上述根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件,具体实施时,可以包括以下内容:根据目标集群的服务器列表,确定目标集群中各个服务器之间的依赖关系;根据所述依赖关系,确定出各个服务器所属的服务器层级,以及不同的服务器层级之间的优先级;调用预设的扩展模块的数据接口,根据所述优先级,按顺序分别对各个服务器层级中的服务器的上游服务的配置文件进行更新。
通过上述实施例,可以获取并根据目标集群中服务器之间的依赖关系,准确、有序地对目标集群中各个服务器的上游服务的配置文件分别进行更新。
在一个实施例中,在需要对目标集群中的部分服务器(记为目标服务器)进行版本更新时,用户可以通过终端设备设置相应的上游服务的配置更新信息,以将原本分流至目标服务器的数据处理请求分流到目标集群中的其他服务器。终端设备生成携带有上述配置更新信息的配置更新请求,并将该配置更新请求发送至服务器。服务器在接收到配置更新请求后,可以先响应所述上游服务的配置更新请求,根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件(记为配置文件1)。再根据所述上游服务的配置更新信息,生成上游服务的配置更新文件(记为配置文件2)。进一步,可以从所述预设的存储模块中获取目标集群的服务器列表;并根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件。
这样目标集群的服务器可以根据上述配置文件2对数据处理请求进行分流,而不会将数据处理请求分流到正在进行版本更新的目标服务器。从而可以保证版本更新的过程不会影响到数据处理请求的处理。
在完成版本更新,目标服务器可以正常处理数据处理请求时,用户可以通过终端设备生成并向服务器发送关于配置文件1的配置回退请求。服务器可以响应该配置回退请求利用预设的存储模块,获取之前使用的配置文件1。
进一步,服务器可以根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用配置文件1,分别更新所述目标集群中的多个服务器的上游服务的配置文件,从而可以将目标集群的服务器所使用的上游服务的配置文件恢复到更新之前的配置。
完成上述处理之后,目标集群的服务器在处理数据处理请求时,可以像更新之前那样正常地将数据处理请求分流到目标服务器进行处理。
通过上述实施例,可以应用本说明书提供的目标集群的数据处理方法,实现应用服务的灰度发布。这样,在后端服务应用进行发布更新的过程中,可以通过配置,动态地关闭分流,让新的数据处理请求不再流向正在换版更新的服务器;在更新完成后再通过配置回退,开启分流,让新的数据处理请求重新流向完成换版更新的服务器。
由上可见,本说明书实施例提供的目标集群的数据处理方法,基于该方法,在获取针对目标集群的上游服务的配置更新请求之后,可以先根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件的全量信息;再根据上游服务的配置更新信息,生成上游服务的配置更新文件;进而,可以从预设的存储模块中获取目标集群的服务器列表;并根据目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,分别更新所述目标集群中的多个服务器的上游服务的配置文件,从而可以在不需要对服务器进行重启或者重加载等操作的情况下,利用预设的扩展模块的数据接口来高效地对目标集群中各个服务器的上游服务的配置文件进行热更新,避免了对目标集群的数据处理的影响;同时也简化了针对集群的上游服务的配置文件的更新流程,提高了整体的处理效率,能够更好地对集群的上游服务的进行动态管理。解决了现有方法中存在的在更新集群服务器的上游服务的配置文件时效率低,且需要进行重启或者重加载等操作,影响目标集群的数据处理的技术问题。并且,在更新之前,还通过利用预设的存储模块对已有的当前配置文件进行了全量备份,从而还可以支持后续的配置回退操作,满足用户多样化的需求,提高了用户的使用体验。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:获取针对目标集群的上游服务的配置更新请求;其中,所述上游服务的配置更新请求携带有上游服务的配置更新信息;响应所述上游服务的配置更新请求,根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件;根据所述上游服务的配置更新信息,生成上游服务的配置更新文件;从所述预设的存储模块中获取目标集群的服务器列表;根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件。
为了能够更加准确地完成上述指令,参阅图3所示,本说明书实施例还提供了另一种具体的服务器,其中,所述服务器包括网络通信端口301、处理器302以及存储器303,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口301,具体可以用于获取针对目标集群的上游服务的配置更新请求;其中,所述上游服务的配置更新请求携带有上游服务的配置更新信息。
所述处理器302,具体可以用于响应所述上游服务的配置更新请求,根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件;根据所述上游服务的配置更新信息,生成上游服务的配置更新文件;从所述预设的存储模块中获取目标集群的服务器列表;根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件。
所述存储器303,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口301可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器302可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器303可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上述目标集群的数据处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:获取针对目标集群的上游服务的配置更新请求;其中,所述上游服务的配置更新请求携带有上游服务的配置更新信息;响应所述上游服务的配置更新请求,根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件;根据所述上游服务的配置更新信息,生成上游服务的配置更新文件;从所述预设的存储模块中获取目标集群的服务器列表;根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图4所示,在软件层面上,本说明书实施例还提供了一种目标集群的数据处理装置,该装置具体可以包括以下的结构模块。
第一获取模块401,具体可以用于获取针对目标集群的上游服务的配置更新请求;其中,所述上游服务的配置更新请求携带有上游服务的配置更新信息;
备份模块402,具体可以用于响应所述上游服务的配置更新请求,根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件;
生成模块403,具体可以用于根据所述上游服务的配置更新信息,生成上游服务的配置更新文件;
第二获取模块404,具体可以用于从所述预设的存储模块中获取目标集群的服务器列表;
更新模块405,具体可以用于根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,本说明书实施例提供的目标集群的数据处理装置,可以在不需要对服务器进行重启或者重加载等操作的情况下,利用预设的扩展模块的数据接口高效地对目标集群中各个服务器的上游服务的配置文件进行热更新,避免了对目标集群的数据处理的影响。
在一个具体的场景示例中,可以基于本说明书提供的目标集群的数据处理方法构建一种Nginx集群上游服务动态管理的系统,并利用该系统对Nginx集群(即,目标集群)的上游服务进行动态管理。具体实施过程,可以参阅以下内容。
在本场景示例中,提出了一种Nginx集群上游服务动态管理的系统,该系统可以共包括三个模块,分别是:dyups模块(例如,预设的扩展模块)、配置存储模块(例如,预设的存储模块),及集中管理模块。具体可以参阅图5所示。
其中,上述dyups模块可以直接采用三方开源软件ngx_http_dyups_module,通过其提供的API(例如,web接口),达到动态修改上游服务配置的功能。具体的,上述ngx_http_dyups_module是一种使用C语言开发的Nginx模块,支持Nginx的ip_hash、keepalive等与上游服务有关的配置,需要在Nginx中编译安装。
具体变异安装可以参照以下代码。
#git clone git://github.com/yzprofile/ngx_http_dyups_module.git
#编译为Nginx静态模块
#./configure--add-module=./ngx_http_dyups_module
启用后,该模块可以支持的接口可以参阅表1所示。
表1
上述配置存储模块具体可以使用开源中间件Redis实现,应用Redis提供的不同数据结构,以方便满足nginx上游配置参数的存储要求,存储如下所示的各类信息。
1.Nginx集群内服务器列表(例如,目标集群的服务器列表),可以使用Set这种数据结构存储服务器的IP及端口信息(其中,Redis的Set是String类型的无序集合,集合成员是唯一的,可以保证集合中不出现重复的数据)。例如,参阅以下代码,Nginx集群内服务器共包括3台,且Nginx服务均监听8080端口。
#redis 127.0.0.1:6379>SADD clusters“127.0.0.10:8080”
#redis 127.0.0.1:6379>SADD clusters“127.0.0.11:8080”
#redis 127.0.0.1:6379>SADD clusters“127.0.0.12:8080”
2.Nginx集群上游服务列表,可以使用Set这种数据结构存储。例如,参阅以下代码,Nginx集群的上游服务共包括3个,分别命名为:usersNginx,shopsNginx,ordersNginx,分别对应用户、店铺、订单三个后端应用的上游服务。
#redis 127.0.0.1:6379>SADD clusterSet usersNginx
#redis 127.0.0.1:6379>SADD clusterSet shopsNginx
#redis 127.0.0.1:6379>SADD clusterSet ordersNginx
3.Nginx集群指定上游服务内的后端服务器配置信息,可以使用Set这种数据结构存储。例如,参阅以下代码,命名为usersNginx的上游服务中包含两条后端服务器配置信息。
#redis 127.0.0.1:6379>SADD usersNginx“server 127.0.0.1:8089weight=1
max_conns=0max_fails=1fail_timeout=10backup=0down=0”
#redis 127.0.0.1:6379>SADD usersNginx“server 127.0.0.1:8088weight=1
max_conns=0max_fails=1fail_timeout=10backup=0down=0”
4.上游配置文件备份信息,可以使用list这种数据结构存储(Redis列表是简单的字符串列表,按照插入顺序排序)。例如,参阅以下代码,存储集群上游服务配置备份文件的路径信息,每次将新的备份文件插入到列表头部,文件命名中使用“年.月.日.时间戳”后缀的方式,方便跟踪。
#redis 127.0.0.1:6379>LPUSH clusterBack
“/usr/local/nginx/backup/upstreams.20200911.1600006829”
上述集中管理模块可以向用户提供友好的前端界面(例如,关于目标集群的上游服务的设置界面),以便用户对Nginx集群上游服务配置进行集中管理和设置。值得注意的是,当发生上游服务配置更新时(增/删/改),将触发更新Nginx的上游服务配置文件,以保证Nginx服务重启后依然能够取得正确的配置。
其中,查询上游服务配置的操作较为简单,可以直接调用dyups模块对应的查询接口获取,在此不再赘述。参阅图6所示,更新上游服务配置的流程详述如下。
1.收到上游配置更新请求时,首先文件备份现有上游服务配置全量信息;
2.解析更新请求,更新存储配置模块中上游服务配置信息;
3.根据新的配置信息,生成新的上游服务配置文件;
4.获取Nginx集群服务器列表,逐一进行更新,包括调用dyups模块覆盖指定上游服务内容,更新服务器中上游配置文件。
在本场景示例中,上述步骤4具体可以理解为是一个程序循环处理逻辑,运行在集中管理模块的服务器中。在收到更新请求时,将进入如下具体处理:
S1:备份上游服务配置全量信息(对目标服务器的其中一台,发起对dyups接口的GET/list请求);
S2:更新上游服务配置信息(按照更新请求,更新Redis中存储的上游配置信息);
S3:生成新的上游服务配置文件(对第一步中获取的信息,按照配置文件格式生成文件,存储地点有集中管理模块服务器指定);
S5:获取Nginx集群服务器列表(查询存储配置模块);
S6:进入循环体;
S7:发起对dyups接口的POST/DELETE请求,对Nginx的配置参数进行热更新;
S8:更新上游配置文件(将第三步生成的上游配置文件,传输到Nginx服务器中);
S9:跳到S5步进行判断,如果没有未更新的Nginx服务器,则结束处理。
注意,在本场景示例中,由于每次更新都会触发备份上游服务配置的全量信息,而且更新Nginx集群服务器的上游服务配置文件。因此,可以方便解析历史备份文件,更新上游服务配置;而且避免集群服务器重启时使用过时的配置信息(从本地配置文件就是最新的上游服务配置信息)。
在本场景示例中,在应用上述Nginx集群上游服务动态管理的系统对述Nginx集群上游服务进行动态管理时所使用到的软件具体可以参阅表2所示。
表2
操作系统 | CentOS 7.4 |
Nginx | Nginx 1.12.2 |
Nginx三方模块 | ngx_http_dyups_module V0.2.9 |
键值对数据库 | Redis 6.0.8 |
通过上述场景示例,基于本说明书提供的目标集群的数据处理方法所构建的Nginx集群上游服务动态管理的系统,首先,通过使用基于dyups的开源工具及Redis,可以提供一种企业级Nginx集群上游服务动态管理解决方案,具体的,在上述Nginx集群上游服务动态管理的系统的模块构成与分模块职责:本方案提出的Nginx集群上游服务动态管理的系统,可以划分为3个职责清晰、高内聚、低耦合的系统模块,从而能够为企业级Nginx集群提供了一种上游服务动态管理解决方案,满足企业级服务的使用。
其次,基于该Nginx集群上游服务动态管理的系统可以提供Nginx配置数据完整性的解决方案。与常见的上游服务动态管理方案相比,能够提供保证配置数据完整性的解决方案,为反向代理集群提供了配置回退的能力,保障生产系统安全。
此外,基于该Nginx集群上游服务动态管理的系统还可以有效地减少人工维护成本,提高处理效率,实现对Nginx上游服务的动态管理。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (15)
1.一种目标集群的数据处理方法,其特征在于,包括:
获取针对目标集群的上游服务的配置更新请求;其中,所述上游服务的配置更新请求携带有上游服务的配置更新信息;
响应所述上游服务的配置更新请求,根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件;
根据所述上游服务的配置更新信息,生成上游服务的配置更新文件;
从所述预设的存储模块中获取目标集群的服务器列表;
根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件。
2.根据权利要求1所述的方法,其特征在于,所述获取针对目标集群的上游服务的配置更新请求,包括:
通过终端设备向用户展示关于目标集群的上游服务的设置界面;
通过所述设置界面,接收用户输入的针对目标集群的上游服务的配置更新信息;
根据所述配置更新信息,生成对应的配置更新请求。
3.根据权利要求1所述的方法,其特征在于,所述目标集群包括Nginx集群。
4.根据权利要求3所述的方法,其特征在于,所述预设的存储模块包括基于Redis的存储模块。
5.根据权利要求4所述的方法,其特征在于,所述根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件,包括:
调用预设的扩展模块的数据接口存储所述上游服务的当前配置文件的全量数据,作为上游服务的配置文件的备份,并获取对应的存储路径和时间戳;
在预设的存储模块中,使用list数据结构,存储与所述上游服务的配置文件的备份对应的携带有时间戳的存储路径。
6.根据权利要求4所述的方法,其特征在于,从所述预设的存储模块中获取目标集群的服务器列表,包括:
查询所述预设的存储模块中的set数据结构的数据,以获取所述目标集群的服务器列表。
7.根据权利要求4所述的方法,其特征在于,所述预设的扩展模块的接口包括:ngx_http_dyups_module的API。
8.根据权利要求7所述的方法,其特征在于,根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件,包括:
按照以下方式更新目标集群中的当前服务器的上游服务的配置文件:
根据预设的更新规则,在当前服务器运行的状态下,调用预设的扩展模块的数据接口,利用所述配置更新文件覆盖所述当前服务器的内存中的上游服务的配置文件。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:根据预设的存储规则,利用预设的存储模块备份上游服务的配置更新文件。
10.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收配置回退请求;
根据所述配置回退请求,利用预设的存储模块获取所请求的上游服务的配置文件的备份;
反馈所述上游服务的配置文件的备份。
11.根据权利要求10所述的方法,其特征在于,所述配置回退请求携带有与所请求的上游服务的配置文件的备份对应的时间戳。
12.根据权利要求11所述的方法,其特征在于,根据所述配置回退请求,利用预设的存储模块获取所请求的上游服务的配置文件的备份,包括:
根据所述配置回退请求所携带的时间戳,查询所述预设的存储模块中的list数据结构的数据,以确定出携带有相同时间戳的路径作为目标路径;
根据所述目标路径,获取所请求的上游服务的配置文件的备份。
13.一种目标集群的数据处理装置,其特征在于,包括:
第一获取模块,用于获取针对目标集群的上游服务的配置更新请求;其中,所述上游服务的配置更新请求携带有上游服务的配置更新信息;
备份模块,用于响应所述上游服务的配置更新请求,根据预设的存储规则,利用预设的存储模块备份上游服务的当前配置文件;
生成模块,用于根据所述上游服务的配置更新信息,生成上游服务的配置更新文件;
第二获取模块,用于从所述预设的存储模块中获取目标集群的服务器列表;
更新模块,用于根据所述目标集群的服务器列表,调用预设的扩展模块的数据接口,按照预设的更新规则,利用上游服务的配置更新文件,分别更新所述目标集群中的多个服务器的上游服务的配置文件。
14.一种服务器,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至12中任一项所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被执行时实现权利要求1至12中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011362513.9A CN112463808A (zh) | 2020-11-27 | 2020-11-27 | 目标集群的数据处理方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011362513.9A CN112463808A (zh) | 2020-11-27 | 2020-11-27 | 目标集群的数据处理方法、装置和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112463808A true CN112463808A (zh) | 2021-03-09 |
Family
ID=74808071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011362513.9A Pending CN112463808A (zh) | 2020-11-27 | 2020-11-27 | 目标集群的数据处理方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112463808A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113971054A (zh) * | 2021-10-29 | 2022-01-25 | 北京金山云网络技术有限公司 | 应用副本的处理方法、装置和服务器 |
CN114629788A (zh) * | 2022-03-23 | 2022-06-14 | 中国工商银行股份有限公司 | 配置信息的更新方法、系统、存储介质和电子装置 |
CN115309457A (zh) * | 2022-08-10 | 2022-11-08 | 中电金信软件有限公司 | 应用实例的重启方法、装置、电子设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953758A (zh) * | 2017-03-20 | 2017-07-14 | 北京搜狐新媒体信息技术有限公司 | 一种基于Nginx服务器的动态配置管理方法及系统 |
CN108829459A (zh) * | 2018-05-31 | 2018-11-16 | 康键信息技术(深圳)有限公司 | 基于Nginx服务器的配置方法、装置、计算机设备和存储介质 |
US20200136908A1 (en) * | 2018-10-30 | 2020-04-30 | Elasticsearch B.V | Autodiscovery with Dynamic Configuration Launching |
CN111984289A (zh) * | 2020-07-31 | 2020-11-24 | 广州市百果园信息技术有限公司 | 一种服务更新方法、装置、设备及存储介质 |
-
2020
- 2020-11-27 CN CN202011362513.9A patent/CN112463808A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106953758A (zh) * | 2017-03-20 | 2017-07-14 | 北京搜狐新媒体信息技术有限公司 | 一种基于Nginx服务器的动态配置管理方法及系统 |
CN108829459A (zh) * | 2018-05-31 | 2018-11-16 | 康键信息技术(深圳)有限公司 | 基于Nginx服务器的配置方法、装置、计算机设备和存储介质 |
US20200136908A1 (en) * | 2018-10-30 | 2020-04-30 | Elasticsearch B.V | Autodiscovery with Dynamic Configuration Launching |
CN111984289A (zh) * | 2020-07-31 | 2020-11-24 | 广州市百果园信息技术有限公司 | 一种服务更新方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
干雨: ""Ngx第三方模块Ngx-dyups安装过程"", pages 1, Retrieved from the Internet <URL:《https://www.cnblogs.com/PowerDesigner/p/10213045.html》> * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113971054A (zh) * | 2021-10-29 | 2022-01-25 | 北京金山云网络技术有限公司 | 应用副本的处理方法、装置和服务器 |
CN114629788A (zh) * | 2022-03-23 | 2022-06-14 | 中国工商银行股份有限公司 | 配置信息的更新方法、系统、存储介质和电子装置 |
CN114629788B (zh) * | 2022-03-23 | 2023-10-27 | 中国工商银行股份有限公司 | 配置信息的更新方法、系统、存储介质和电子装置 |
CN115309457A (zh) * | 2022-08-10 | 2022-11-08 | 中电金信软件有限公司 | 应用实例的重启方法、装置、电子设备及可读存储介质 |
CN115309457B (zh) * | 2022-08-10 | 2023-10-27 | 中电金信软件有限公司 | 应用实例的重启方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112118565B (zh) | 多租户服务灰度发布方法、装置、计算机设备和存储介质 | |
AU2015401229B2 (en) | Website access method, apparatus, and website system | |
US10257110B2 (en) | Using a template to update a stack of resources | |
US10282191B2 (en) | Updating web resources | |
CN112463808A (zh) | 目标集群的数据处理方法、装置和服务器 | |
US9075663B2 (en) | Cloud-based web workers and storages | |
US9519654B2 (en) | Method, device, processing center and system for desktop synchronization | |
CN102722439B (zh) | 一种提高flash组件运行稳定性的方法、装置及系统 | |
JP2013511766A (ja) | クラスタベースのjavaアプリケーションシステムのコードをロードおよび更新する装置および方法 | |
CN108256014B (zh) | 页面展示方法及装置 | |
WO2020224098A1 (zh) | 基于全局负载均衡的云存取方法、装置及存储介质 | |
US11018860B2 (en) | Highly available and reliable secret distribution infrastructure | |
US9665732B2 (en) | Secure Download from internet marketplace | |
US11210198B2 (en) | Distributed web page performance monitoring methods and systems | |
CN104038520A (zh) | 一种多版本分布式资源管理方法和系统 | |
US8352442B2 (en) | Determination of an updated data source from disparate data sources | |
US9411618B2 (en) | Metadata-based class loading using a content repository | |
KR101638689B1 (ko) | 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템 | |
US11354138B1 (en) | Optimizing plugin loading | |
CN112685451B (zh) | 数据查询处理方法、装置、计算机设备及存储介质 | |
US11017032B1 (en) | Document recovery utilizing serialized data | |
US20130290830A1 (en) | System and method for managing a viewstate of a web application | |
CN112241332A (zh) | 一种接口补偿的方法和装置 | |
US12118090B2 (en) | Zero-day patching within an entity's secure network | |
CN117193874B (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 |