CN113572852B - 一种redis信息确定方法、装置、设备及存储介质 - Google Patents
一种redis信息确定方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113572852B CN113572852B CN202110864414.9A CN202110864414A CN113572852B CN 113572852 B CN113572852 B CN 113572852B CN 202110864414 A CN202110864414 A CN 202110864414A CN 113572852 B CN113572852 B CN 113572852B
- Authority
- CN
- China
- Prior art keywords
- information
- node
- instance
- redis
- central control
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012545 processing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 230000008676 import Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 239000002071 nanotube Substances 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000010076 replication Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009960 carding Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 210000001520 comb Anatomy 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- 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/2358—Change logging, detection, and notification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种redis信息确定方法、装置、设备及存储介质。该方法包括:通过中控服务器抓取客户端上的所有实例节点的节点信息,其中,所述节点信息包括:IP、port、实例节点对应的目标客户端的位置信息和密码;根据所述节点信息生成连接命令;通过中控服务器将所述连接命令发送至所述目标客户端,以使所述目标客户端根据所述连接命令建立与所述中控服务器之间的连接;将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息;通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息,通过本发明的技术方案,以实现自动化的导入管理,减少了人工操作,降低了错误率。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种redis信息确定方法、装置、设备及存储介质。
背景技术
redis应用部署主流的三种模式:主从复制、哨兵模式和集群模式。面向redis应用的集中管理,业内有cachecloud、redis Manager等相对成熟且广泛应用的产品。两种主流的redis管理平台实现了应用的监控、安装、管理、告警以及基本的数据操作功能。但是,对于已存在的redis信息管理上,两种管理平台没有批量化、自动化解决方案,严重依赖于管理员预先梳理好redis信息,再通过页面手动导入。其中:
1.cachecloud提供应用导入页面:管理员通过输入页面上对应的元素,将一个redis信息导入到平台进行管理。
2.redis Manager提供应用导入页面,通过在页面上手动输入整个应用的信息,将已存在的redis导入到平台进行管理。
现有技术的缺点:
1.引入上述产品管理已存在的redis应用信息,需要管理员预先梳理已存在的redis应用信息完毕后,在“应用导入页面”,逐个应用导入到平台后才能进行有效的管理。在面向大型企业已存在的大量redis应用的情况,这种完全依赖于人工的操作,需要付出较大的时间成本和人力成本;
2.通过管理页面,管理员手动导入redis应用的操作,也会有填报有误等情况出现,造成出错率高,应用信息展示有误的情况;
3.对于应用的横向扩展的情况,如增加redis的数据节点或哨兵节点,都需要人工查询到对应的应用,手动修改应用节点的记录,将扩展的节点增加到对应的应用中,增加了管理员的人工操作。
发明内容
本发明实施例提供一种redis信息确定方法、装置、设备及存储介质,以实现自动化的导入管理,减少了人工操作,降低了错误率。面向应用的横向扩展情况,自动的将新增扩展的实例节点添加到对应的应用记录中,减少了管理员的手工操作,保证了集群信息更新的准确性和实时性。
第一方面,本发明实施例提供了一种redis信息确定方法,包括:
通过中控服务器抓取客户端上的所有实例节点的节点信息,其中,所述节点信息包括:IP、port、实例节点对应的目标客户端的位置信息和密码;
根据所述节点信息生成连接命令;
通过中控服务器将所述连接命令发送至所述目标客户端,以使所述目标客户端根据所述连接命令建立与所述中控服务器之间的连接;
将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息;
通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息。
进一步的,将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息,包括:
将info命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述info命令,得到info信息。
进一步的,通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息,包括:
通过中控服务器接收所述目标客户端发送的info信息;
若所述info信息中的mode信息为数据节点标识信息,则确定实例节点为数据节点;
若所述info信息中的role信息为主节点标识信息,则确定实例节点为主节点;
若所述info信息中的role信息为从节点标识信息,则确定实例节点为从节点;
根据所述info信息中的关联信息将所述主节点和所述从节点相互关联。
进一步的,在通过中控服务器接收所述目标客户端发送的info信息之后,还包括:
若所述info信息中的mode信息为哨兵节点标识信息,则确定实例节点为哨兵节点;
根据所述info信息中的哨兵节点信息确定哨兵节点和主节点之间的关联信息,基于所述哨兵节点和主节点之间的关联信息将哨兵节点和主节点相互关联。
进一步的,在通过中控服务器接收所述目标客户端发送的info信息之后,还包括:
若所述info信息中的mode信息为cluster标识信息,则生成cluster nodes指令;
将所述cluster nodes指令发送至所述目标客户端,以使所述目标客户端执行所述cluster nodes指令,得到cluster nodes信息;
通过中控服务器接收所述cluster nodes信息,根据所述cluster nodes信息确定实例节点对应的redis信息。
进一步的,根据所述cluster nodes信息确定实例节点对应的redis信息,包括:
获取所述cluster nodes信息中的IP、port和role信息;
根据所述cluster nodes信息中的IP、port和role信息确定当前实例节点所属集群下的所有实例节点的节点信息和每个实例节点对应的角色信息。
进一步的,根据所述节点信息生成连接命令包括:
若实例节点不归属于任一redis,则根据所述节点信息生成连接命令。
第二方面,本发明实施例还提供了一种redis信息确定装置,该装置包括:
抓取模块,用于通过中控服务器抓取客户端上的所有实例节点的节点信息,其中,所述节点信息包括:IP、port、实例节点对应的目标客户端的位置信息和密码;
生成模块,用于根据所述节点信息生成连接命令;
第一发送模块,用于通过中控服务器将所述连接命令发送至所述目标客户端,以使所述目标客户端根据所述连接命令建立与所述中控服务器之间的连接;
第二发送模块,用于将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息;
确定模块,用于通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明实施例中任一所述的redis信息确定方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例中任一所述的redis信息确定方法。
本发明实施例通过中控服务器抓取客户端上的所有实例节点的节点信息,其中,所述节点信息包括:IP、port、实例节点对应的目标客户端的位置信息和密码;根据所述节点信息生成连接命令;通过中控服务器将所述连接命令发送至所述目标客户端,以使所述目标客户端根据所述连接命令建立与所述中控服务器之间的连接;将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息;通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息,以实现自动化的导入管理,减少了人工操作,降低了错误率。面向应用的横向扩展情况,自动的将新增扩展的实例节点添加到对应的应用记录中,减少了管理员的手工操作,保证了集群信息更新的准确性和实时性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明实施例中的一种redis信息确定方法的流程图;
图1a是本发明实施例中的一种处理逻辑流程图;
图2是本发明实施例中的一种redis信息确定装置的结构示意图;
图3是本发明实施例中的一种电子设备的结构示意图;
图4是本发明实施例中的一种包含计算机程序的计算机可读存储介质的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本发明使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1为本发明实施例提供的一种redis信息确定方法的流程图,本实施例可适用于redis信息确定的情况,该方法可以由本发明实施例中的redis信息确定装置来执行,该redis信息确定装置可采用软件和/或硬件的方式实现,如图1所示,该方法具体包括如下步骤:
S110,通过中控服务器抓取客户端上的所有实例节点的节点信息,其中,所述节点信息包括:IP、port、实例节点对应的目标客户端的位置信息和密码。
其中,所述客户端可以为一个,也可以为多个,本发明实施例对客户端的数量不进行限制。
其中,所述IP和port为实例节点的节点信息,基于IP和port能够进行实例节点的区分,若IP和port相同,则说明是同一实例节点,若IP和port不同,则说明不是同一实例节点。需要说明的是,节点信息还可以包括:网络区域标识,所述网络区域标识用于进行实例节点的区分,例如可以是:网络区域1中的IP和port和网络区域2中的IP和port相同,也是不同的实例节点,因为实例节点所属网络区域不同。
S120,根据所述节点信息生成连接命令。
具体的,根据IP、port、实例节点对应的目标客户端的位置信息和密码生成连接命令,例如可以是,根据IP、port、实例节点对应的目标客户端的位置信息和密码通过redis-cli客户端直连redis实例。
S130,通过中控服务器将所述连接命令发送至所述目标客户端,以使所述目标客户端根据所述连接命令建立与所述中控服务器之间的连接。
其中,所述目标客户端为根据所述实例节点对应的目标客户端的位置信息确定的客户端。
具体的,目标客户端基于连接命令,建立与所述中控服务器之间的连接,在建立连接之后就可以通过中控服务器进行数据交互。
S140,将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息。
其中,所述原生命令可以包括:info命令,还可以包括:cluster info命令,还可以包括:cluster nodes命令,本发明实施例对此不进行限制。
其中,所述目标信息可以为info信息,也可以为info信息中的mode信息,或者可以为info信息中的mode信息和role信息,也可以为info信息中的mode信息、role信息和replication信息,本发明实施例对此不进行限制。
具体的,将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息,例如可以是,将info命令通过中控服务器发送至目标客户端,目标客户端执行info命令,得到info信息。
S150,通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息。
其中,所述实例节点对应的redis信息可以为:实例节点所属集群下实例节点数量,和实例节点的IP、port以及端口等信息,本发明实施例对此不进行限制。
具体的,通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息的方式可以为:通过中控服务器接收所述目标客户端发送的info信息;若所述info信息中的mode信息为数据节点标识信息,则确定实例节点为数据节点;若所述info信息中的role信息为主节点标识信息,则确定实例节点为主节点;若所述info信息中的role信息为从节点标识信息,则确定实例节点为从节点;根据所述info信息中的关联信息将所述主节点和所述从节点相互关联。还可以为:若所述info信息中的mode信息为哨兵节点标识信息,则确定实例节点为哨兵节点;根据所述info信息中的哨兵节点信息确定哨兵节点和主节点之间的关联信息,基于所述哨兵节点和主节点之间的关联信息将哨兵节点和主节点相互关联。或者可以为:若所述info信息中的mode信息为cluster标识信息,则生成cluster nodes指令;将所述cluster nodes指令发送至所述目标客户端,以使所述目标客户端执行所述cluster nodes指令,得到cluster nodes信息;通过中控服务器接收所述cluster nodes信息,根据所述cluster nodes信息确定实例节点对应的redis信息。
可选的,将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息,包括:
将info命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述info命令,得到info信息。
其中,所述info信息包括:mode信息、role信息和replication信息。
可选的,通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息,包括:
通过中控服务器接收所述目标客户端发送的info信息;
若所述info信息中的mode信息为数据节点标识信息,则确定实例节点为数据节点;
若所述info信息中的role信息为主节点标识信息,则确定实例节点为主节点;
若所述info信息中的role信息为从节点标识信息,则确定实例节点为从节点;
根据所述info信息中的关联信息将所述主节点和所述从节点相互关联。
其中,所述数据节点标识信息可以为Standalone,也可以为其他用于标识数据节点的信息,本发明实施例对此不进行限制。
其中,所述主节点标识信息可以为slave,也可以为其他用于标识从节点的信息,本发明实施例对此不进行限制。
其中,所述从节点标识信息可以为master,也可以为其他用于标识主节点的信息,本发明实施例对此不进行限制。
其中,所述关联信息可以为replication信息。
具体的,根据所述info信息中的关联信息将所述主节点和所述从节点相互关联,例如可以是,关联信息中包括:主节点对应的从节点的IP和port,根据主节点对应的从节点的IP和port将主节点和从节点相互关联。
可选的,在通过中控服务器接收所述目标客户端发送的info信息之后,还包括:
若所述info信息中的mode信息为哨兵节点标识信息,则确定实例节点为哨兵节点;
根据所述info信息中的哨兵节点信息确定哨兵节点和主节点之间的关联信息,基于所述哨兵节点和主节点之间的关联信息将哨兵节点和主节点相互关联。
其中,所述哨兵节点标识信息可以为Sentinel,也可以为其他用于标识哨兵节点的信息,本发明实施例对此不进行限制。
具体的,根据所述info信息中的哨兵节点信息确定哨兵节点和主节点之间的关联信息,基于所述哨兵节点和主节点之间的关联信息将哨兵节点和主节点相互关联,例如可以是,根据所述info信息中Sentinel信息,确定哨兵节点和对应的主节点的IP和port,根据哨兵节点和哨兵节点和对应的主节点的IP和port将哨兵节点和主节点相互关联。
可选的,在通过中控服务器接收所述目标客户端发送的info信息之后,还包括:
若所述info信息中的mode信息为cluster标识信息,则生成cluster nodes指令;
将所述cluster nodes指令发送至所述目标客户端,以使所述目标客户端执行所述cluster nodes指令,得到cluster nodes信息;
通过中控服务器接收所述cluster nodes信息,根据所述cluster nodes信息确定实例节点对应的redis信息。
具体的,根据所述cluster nodes信息确定实例节点对应的redis信息的方式可以为:获取所述cluster nodes信息中的IP、port和role信息;根据所述cluster nodes信息中的IP、port和role信息确定当前实例节点所属集群下的所有实例节点的节点信息和每个实例节点对应的角色信息。根据所述cluster nodes信息确定实例节点对应的redis信息的方式还可以为:获取集群节点信息字符串,根据集群节点信息字符串确定实例节点对应的redis信息。
可选的,根据所述cluster nodes信息确定实例节点对应的redis信息,包括:
获取所述cluster nodes信息中的IP、port和role信息;
根据所述cluster nodes信息中的IP、port和role信息确定当前实例节点所属集群下的所有实例节点的节点信息和每个实例节点对应的角色信息。
可选的,根据所述节点信息生成连接命令包括:
若实例节点不归属于任一redis,则根据所述节点信息生成连接命令。
在一个具体的例子中,如图1a所示,收集已存在的redis实例节点(IP+PORT),导入到至管理平台,通过redis-cli直连服务端,执行redis的原生命令,包含info、clusterinfo、cluster nodes等命令,按一定的规则解析返回的信息,得到所在该节点所在应用下节点的数量及对应的role、IP及端口等信息。通过解析处理这些信息得到redis节点之间的关联关系及所属应用集群的信息。
具体代码逻辑如下:
(1)将收集的已存在的所有Redis实例,导入Redis管理平台,获取redis-cli客户端位置、用户名、密码、ip、port信息;
(2)执行info命令,获取info信息中的redis_mode信息,根据redis_mode的不同,区分Standalone节点、Sentinel节点和Cluster节点。
(3)根据Standalone节点info中的role信息区分主从,并通过info中的Replication信息关联主从节点
(4)根据Sentinel节点info中的Sentinel信息关联哨兵与主节点,同时通过主节点将哨兵节点互相关联起来。
(5)根据Cluster节点cluster nodes信息关联Cluster集群节点。
(6)通过Java程序解析上述方法获取的集群节点信息字符串,按一定的规则进行切分,逆推得出整个redis应用的信息。
(7)基于整个平台纳管的redis实例,可先判断redis实例节点是否已归入某个redis应用中,若无则进行上述处理;若已归属于某个应用,则略过。
(8)考虑redis应用的横向扩容及运行中节点角色的改变,redis应用中节点数量和节点角色会发生变化,解析装置利用定时任务或手动触发的方式对整个平台纳管的redis实例节点进行跑批处理,更新库表中redis的应用信息,在页面上展示所有redis应用的节点信息。
本发明实施例通过IP和port来区分一个redis实例(redi实例的主键为IP+PORT,根据实际情况考虑网络区域)。已存在redis实例节点的信息需要提前收集,包含redis实例节点的IP、端口号、所有应用系统等信息,节点自身的角色、与其他节点之间的关联关系以及所属应用等集群类相关信息可不用收集。通过redis-cli客户端直连redis实例,执行info、cluster info、cluster nodes等命令,根据这些命令返回的信息解析获取当前实例节点的角色、部署模式、主从节点信息、应用下所有节点信息等。通过这些信息组合分析得到一个个集群,将纳管到平台的所有redis实例节点归纳成为一个个不同模式(主从复制、哨兵模式和集群模式)的redis应用。
本发明实施例只依赖于redis原生的命令,不依赖于其他外部插件或技术,装置相对独立性、移植性好,可轻松的移植到目前的市面上的主流的redis管理平台上使用。本发明实施例提供的技术方案能够在减少因管理员误填报造成的应用信息不准确的概率的同时提高应用信息更新的实时性。也能够减少人工操作、削减人工成本。
本实施例的技术方案,通过中控服务器抓取客户端上的所有实例节点的节点信息,其中,所述节点信息包括:IP、port、实例节点对应的目标客户端的位置信息和密码;根据所述节点信息生成连接命令;通过中控服务器将所述连接命令发送至所述目标客户端,以使所述目标客户端根据所述连接命令建立与所述中控服务器之间的连接;将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息;通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息,以实现自动化的导入管理,减少了人工操作,降低了错误率。面向应用的横向扩展情况,自动的将新增扩展的实例节点添加到对应的应用记录中,减少了管理员的手工操作,保证了集群信息更新的准确性和实时性。
图2为本发明实施例提供的一种redis信息确定装置的结构示意图。本实施例可适用于redis信息确定的情况,该装置可采用软件和/或硬件的方式实现,该装置可集成在任何提供redis信息确定功能的设备中,如图2所示,所述redis信息确定装置具体包括:抓取模块210、生成模块220、第一发送模块230、第二发送模块240和确定模块250。
其中,抓取模块,用于通过中控服务器抓取客户端上的所有实例节点的节点信息,其中,所述节点信息包括:IP、port、实例节点对应的目标客户端的位置信息和密码;
生成模块,用于根据所述节点信息生成连接命令;
第一发送模块,用于通过中控服务器将所述连接命令发送至所述目标客户端,以使所述目标客户端根据所述连接命令建立与所述中控服务器之间的连接;
第二发送模块,用于将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息;
确定模块,用于通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
本实施例的技术方案,通过中控服务器抓取客户端上的所有实例节点的节点信息,其中,所述节点信息包括:IP、port、实例节点对应的目标客户端的位置信息和密码;根据所述节点信息生成连接命令;通过中控服务器将所述连接命令发送至所述目标客户端,以使所述目标客户端根据所述连接命令建立与所述中控服务器之间的连接;将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息;通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息,以实现自动化的导入管理,减少了人工操作,降低了错误率。面向应用的横向扩展情况,自动的将新增扩展的实例节点添加到对应的应用记录中,减少了管理员的手工操作,保证了集群信息更新的准确性和实时性。
图3为本发明实施例中的一种电子设备的结构示意图。图3示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图3显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图3未显示,通常称为“硬盘驱动器”)。尽管图3中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。另外,本实施例中的电子设备12,显示器24不是作为独立个体存在,而是嵌入镜面中,在显示器24的显示面不予显示时,显示器24的显示面与镜面从视觉上融为一体。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的redis信息确定方法:
通过中控服务器抓取客户端上的所有实例节点的节点信息,其中,所述节点信息包括:IP、port、实例节点对应的目标客户端的位置信息和密码;
根据所述节点信息生成连接命令;
通过中控服务器将所述连接命令发送至所述目标客户端,以使所述目标客户端根据所述连接命令建立与所述中控服务器之间的连接;
将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息;
通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息。
图4为本发明实施例中的一种包含计算机程序的计算机可读存储介质的结构示意图。本发明实施例提供了一种计算机可读存储介质61,其上存储有计算机程序610,该程序被一个或多个处理器执行时实现如本申请所有发明实施例提供的redis信息确定方法:
通过中控服务器抓取客户端上的所有实例节点的节点信息,其中,所述节点信息包括:IP、port、实例节点对应的目标客户端的位置信息和密码;
根据所述节点信息生成连接命令;
通过中控服务器将所述连接命令发送至所述目标客户端,以使所述目标客户端根据所述连接命令建立与所述中控服务器之间的连接;
将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息;
通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(Hyper Text TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种redis信息确定方法,其特征在于,包括:
通过中控服务器抓取客户端上的所有实例节点的节点信息,其中,所述节点信息包括:IP、port、实例节点对应的目标客户端的位置信息和密码;
根据所述节点信息生成连接命令;
通过中控服务器将所述连接命令发送至所述目标客户端,以使所述目标客户端根据所述连接命令建立与所述中控服务器之间的连接;
将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息;
通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息;所述实例节点对应的redis信息包括:实例节点所属集群下实例节点数量,和实例节点的IP、port;
所述方法还包括:确定所述redis信息后,若其对应的实例节点未归入redis应用,则通过解析处理所述redis信息,确定所述对应的实例节点所属的应用集群。
2.根据权利要求1所述的方法,其特征在于,将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息,包括:
将info命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述info命令,得到info信息。
3.根据权利要求2所述的方法,其特征在于,通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息,包括:
通过中控服务器接收所述目标客户端发送的info信息;
若所述info信息中的mode信息为数据节点标识信息,则确定实例节点为数据节点;
若所述info信息中的role信息为主节点标识信息,则确定实例节点为主节点;
若所述info信息中的role信息为从节点标识信息,则确定实例节点为从节点;
根据所述info信息中的关联信息将所述主节点和所述从节点相互关联。
4.根据权利要求3所述的方法,其特征在于,在通过中控服务器接收所述目标客户端发送的info信息之后,还包括:
若所述info信息中的mode信息为哨兵节点标识信息,则确定实例节点为哨兵节点;
根据所述info信息中的哨兵节点信息确定哨兵节点和主节点之间的关联信息,基于所述哨兵节点和主节点之间的关联信息将哨兵节点和主节点相互关联。
5.根据权利要求4所述的方法,其特征在于,在通过中控服务器接收所述目标客户端发送的info信息之后,还包括:
若所述info信息中的mode信息为cluster标识信息,则生成cluster nodes指令;
将所述cluster nodes指令发送至所述目标客户端,以使所述目标客户端执行所述cluster nodes指令,得到cluster nodes信息;
通过中控服务器接收所述cluster nodes信息,根据所述cluster nodes信息确定实例节点对应的redis信息。
6.根据权利要求5所述的方法,其特征在于,根据所述cluster nodes信息确定实例节点对应的redis信息,包括:
获取所述cluster nodes信息中的IP、port和role信息;
根据所述cluster nodes信息中的IP、port和role信息确定当前实例节点所属集群下的所有实例节点的节点信息和每个实例节点对应的角色信息。
7.根据权利要求1所述的方法,其特征在于,根据所述节点信息生成连接命令包括:
若实例节点不归属于任一redis,则根据所述节点信息生成连接命令。
8.一种redis信息确定装置,其特征在于,包括:
抓取模块,用于通过中控服务器抓取客户端上的所有实例节点的节点信息,其中,所述节点信息包括:IP、port、实例节点对应的目标客户端的位置信息和密码;
生成模块,用于根据所述节点信息生成连接命令;
第一发送模块,用于通过中控服务器将所述连接命令发送至所述目标客户端,以使所述目标客户端根据所述连接命令建立与所述中控服务器之间的连接;
第二发送模块,用于将原生命令通过中控服务器发送至所述目标客户端,以使所述目标客户端执行所述原生命令,得到目标信息;
确定模块,用于通过中控服务器接收所述目标信息,并根据所述目标信息确定实例节点对应的redis信息;所述实例节点对应的redis信息包括:实例节点所属集群下实例节点数量,和实例节点的IP、port;
所述装置还用于:
确定所述redis信息后,若其对应的实例节点未归入redis应用,则通过解析处理所述redis信息,确定所述对应的实例节点所属的应用集群。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述处理器实现如权利要求1-7中任一所述的方法。
10.一种包含计算机程序的计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被一个或多个处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110864414.9A CN113572852B (zh) | 2021-07-29 | 2021-07-29 | 一种redis信息确定方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110864414.9A CN113572852B (zh) | 2021-07-29 | 2021-07-29 | 一种redis信息确定方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113572852A CN113572852A (zh) | 2021-10-29 |
CN113572852B true CN113572852B (zh) | 2024-08-13 |
Family
ID=78168980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110864414.9A Active CN113572852B (zh) | 2021-07-29 | 2021-07-29 | 一种redis信息确定方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113572852B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234170A (zh) * | 2016-12-15 | 2018-06-29 | 北京神州泰岳软件股份有限公司 | 一种服务器集群的监控方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102143517B1 (ko) * | 2013-02-26 | 2020-08-12 | 삼성전자 주식회사 | 에러 정정회로를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 동작방법 |
CN104199957B (zh) * | 2014-09-17 | 2018-03-02 | 合一网络技术(北京)有限公司 | 一种Redis通用代理的实现方法 |
CN105871584A (zh) * | 2015-12-02 | 2016-08-17 | 乐视体育文化产业发展(北京)有限公司 | 一种键值对数据库中的客户端配置更新方法、设备及系统 |
CN110659262A (zh) * | 2019-09-20 | 2020-01-07 | 聚好看科技股份有限公司 | 一种redis节点主从切换方法及装置 |
CN112866035A (zh) * | 2021-02-24 | 2021-05-28 | 紫光云技术有限公司 | 一种云平台上redis服务可指定从节点切换为主节点的方法 |
-
2021
- 2021-07-29 CN CN202110864414.9A patent/CN113572852B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234170A (zh) * | 2016-12-15 | 2018-06-29 | 北京神州泰岳软件股份有限公司 | 一种服务器集群的监控方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113572852A (zh) | 2021-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109558400B (zh) | 数据处理方法、装置、设备和存储介质 | |
TWI509423B (zh) | 在叢集檔案系統間之同步更新 | |
CN111709527A (zh) | 运维知识图谱库的建立方法、装置、设备及存储介质 | |
US10007571B2 (en) | Policy based dynamic data collection for problem analysis | |
US8635224B2 (en) | Clustering streaming graphs | |
CN107704589B (zh) | 基于运单的兴趣点失效挖掘方法、装置、服务器及介质 | |
US9229943B2 (en) | Addressing cross-allocated blocks in a file system | |
CN106663041B (zh) | 从系统故障恢复基于云的服务的易用性的方法及装置 | |
CN110990346A (zh) | 基于区块链的文件数据处理方法、装置、设备及存储介质 | |
CN111831750A (zh) | 一种区块链数据分析方法、装置、计算机设备及存储介质 | |
US20220382637A1 (en) | Snapshotting hardware security modules and disk metadata stores | |
CN110647318A (zh) | 一种有状态应用的实例创建方法、装置、设备及介质 | |
CN112579307A (zh) | 一种物理锁资源的分配检测方法、装置及电子设备 | |
CN113010208B (zh) | 一种版本信息的生成方法、装置、设备及存储介质 | |
CN112131248B (zh) | 一种数据分析方法、装置、设备及存储介质 | |
CN112783482B (zh) | 一种可视化表单生成方法、装置、设备及存储介质 | |
CN111897827B (zh) | 用于数据仓库的数据更新方法、系统及电子设备 | |
CN112163127B (zh) | 关系图谱构建方法、装置、电子设备及存储介质 | |
CN108399128A (zh) | 一种用户数据的生成方法、装置、服务器及存储介质 | |
CN116185393A (zh) | 接口文档的生成方法、装置、设备、介质及产品 | |
CN113572852B (zh) | 一种redis信息确定方法、装置、设备及存储介质 | |
CN112258091B (zh) | 一种数据传输方法、装置、设备及存储介质 | |
US10291700B2 (en) | Network optimized scan with dynamic fallback recovery | |
CN110955709B (zh) | 一种数据的处理方法、装置及电子设备 | |
US9860287B2 (en) | Apparatus and method for supporting sharing of source code |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |