CN112965937A - 一种基于一致性哈希的高可用运维系统 - Google Patents

一种基于一致性哈希的高可用运维系统 Download PDF

Info

Publication number
CN112965937A
CN112965937A CN202110263422.8A CN202110263422A CN112965937A CN 112965937 A CN112965937 A CN 112965937A CN 202110263422 A CN202110263422 A CN 202110263422A CN 112965937 A CN112965937 A CN 112965937A
Authority
CN
China
Prior art keywords
server
probe
database
consistent hash
system based
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
Application number
CN202110263422.8A
Other languages
English (en)
Inventor
潘晓东
苏斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Huaheng Shengshi Technology Co ltd
Original Assignee
Beijing Huaheng Shengshi Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Huaheng Shengshi Technology Co ltd filed Critical Beijing Huaheng Shengshi Technology Co ltd
Priority to CN202110263422.8A priority Critical patent/CN112965937A/zh
Publication of CN112965937A publication Critical patent/CN112965937A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots

Landscapes

  • Engineering & Computer Science (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)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了基于一致性哈希的高可用运维系统,属于运维系统技术领域,该系统的主要特点是在各个组件相互通信的中间,加入了一致性哈希算法,形成了一致性哈希环,组件之间的寻址,通过一致性哈希函数完成,这样服务端可以组成一个高可用集群,随着业务压力的增长,增加服务器数量就可以完成扩容。同理,为了解决数据库压力问题,也采用了一致性哈希进行寻址,当数据库压力增大的时候,增加服务器数量也可以完成扩容。

Description

一种基于一致性哈希的高可用运维系统
技术领域
本发明涉及运维系统技术领域,尤其涉及一种基于一致性哈希的高可用运维系统。
背景技术
目前业界的数据中心运维系统,主要采用的是集中服务器架构,分为四步部分组成:服务器、探针、数据库和展示端。
现有的数据中心运维系统,服务器是整个系统中中心压力热点,因此压力非常大。探针每秒或者数10秒发送一次数据到服务器,如果服务端故障或者压力过大,整个系统将无法工作。目前解决的方法将服务端配置一个备份,(如下图),通过如果主故障,将采用从服务器进行接管。此方法的问题是:主从服务器只有一个能够正常提供服务,另外一个是冷备份。
数据库是压力热点,所有的数据,均要存储到数据库中,大型的系统,每天都会产生上百GB的数据,普通数据库无法承载巨大的数据压力,必须采用分布式数据库,但是分布式数据库往往非常昂贵,而且性能也不一定能够满足要求。
发明内容
本发明实施例提供基于一致性哈希的高可用运维系统,以解决现有技术中的服务端和数据库是均为压力热点的技术问题。
本发明实施例采用下述技术方案:一种基于一致性哈希的高可用运维系统,包括探针、服务器、数据库以及展示端,所述服务器分别与探针和数据库连接,所述探针、服务器、数据库均设有若干个,所述展示端连接至数据库,所述服务器与探针和数据库的通信间加入一致性哈希算法,形成了一致性哈希环,从而使服务器、探针和数据库之间的寻址,通过一致性哈希函数完成,这样服务端可以组成一个高可用集群,随着业务压力的增长,增加服务器数量就可以完成扩容。同理,为了解决数据库压力问题,也采用了一致性哈希进行寻址,当数据库压力增大的时候,增加服务器数量也可以完成扩容。
进一步的,所述探针用于采集服务器指标,安装在被采集的服务器上,并且把指标上传到服务器,指标包括CPU、内存、磁盘信息,探针分为普通探针和专用探针,部分探针还能够执行从服务端发过来的指令,完成相关运维操作。
进一步的,所述服务器用于接受探针采集的数据,并且把数据存储到数据库中,同时向探针发送部分指令,使其执行某些任务。
进一步的,所述数据库用于存储服务端发送的采集指标,包括CPU、内存、磁盘信息等,还有其他相关联的信息。由于运维系统采集的数据每秒或者数10秒采集一次,因此数据量非常大。
进一步的,所述展示端用于将数据库中的内容通过Web的方式展示出来,提供给管理人员查看,包括Web前端和Web服务端。
进一步的,所述探针为通用探针和java组成,运行过程中若干个通用探针和java探针分别与服务器进行连接,根据一致性哈希算法将通用探针和java探针分别对指定服务器的指标进行采集。
本发明实施例采用的上述至少一个技术方案能够达到以下有益效果:
其一,该系统的主要特点是在各个组件相互通信的中间,加入了一致性哈希算法,形成了一致性哈希环,组件之间的寻址,通过一致性哈希函数完成,这样服务端可以组成一个高可用集群,随着业务压力的增长,增加服务器数量就可以完成扩容。同理,为了解决数据库压力问题,也采用了一致性哈希进行寻址,当数据库压力增大的时候,增加服务器数量也可以完成扩容。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为现有技术中的运维系统架构图;
图2为代入一致性哈希函数后的运维系统架构图;
图3为一致性哈希环的布设架构图;
图4为服务器故障后探针与服务器的搭建图;
图5为增加服务器或者上线时探针与服务器的搭建图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图,详细说明本发明各实施例提供的技术方案。
一种基于一致性哈希的高可用运维系统,包括探针、服务器、数据库以及展示端,所述服务器分别与探针和数据库连接,所述探针、服务器、数据库均设有若干个,所述展示端连接至数据库,所述服务器与探针和数据库的通信间加入一致性哈希算法,形成了一致性哈希环,从而使服务器、探针和数据库之间的寻址,通过一致性哈希函数完成,这样服务端可以组成一个高可用集群,随着业务压力的增长,增加服务器数量就可以完成扩容。同理,为了解决数据库压力问题,也采用了一致性哈希进行寻址,当数据库压力增大的时候,增加服务器数量也可以完成扩容。
如假设哈希函数H的值空间为0-2^32-1(哈希值是32位无符号整形),服务器(ID)也被映射到0-2^32-1,每个要访问的对象(ID)也被映射到0-2^32-1,需要访问的服务器,只需要顺时针找到第一个节点就可以了。
如图3所示:
假设服务器ID分别是:5 000 000(服务器3),10 000 000(服务器2),20000 000(服务器1)
假设探针ID分别是:11 000 000(探针1),23 000 000(探针2),8 000 000(探针3)
探针1带着自己的ID9(11 000 000),在环上寻找到自己的位置为橙色的小点,然后顺时针寻找到下一个服务器为服务器1;
探针2带着自己的ID9(23 000 000),在环上寻找到自己的位置为蓝色的小点,然后顺时针寻找到下一个服务器为服务器3;
探针3带着自己的ID9(8 000 000),在环上寻找到自己的位置为橙色的小点,然后顺时针寻找到下一个服务器为服务器2;
探针上传数据逻辑
定义函数:
GenID(服务特征):生成服务器ID,0≤ID≤2^32-1,服务特征可是IP,或者程序名等等,能够区分就行,这里定义为IP+程序名,
第一步:服务器生成自己的ID,并且注册到环上,GenID(IP,Server)∈(ServerIDs)
第二步:探针生成自己的ID,并且注册到环上,GenID(IP,Client)∈(ClientIDs)
第三步:探针X根据自己的IDx,找到自己对应的服务器,具体伪代码如下:
Figure BDA0002971037640000041
Figure BDA0002971037640000051
第四步:探针根据第三步返回的数据id,建立和服务器的连接,进行数据发送。
服务器或者数据库,在故障或者下线时:
如图4所示,
假设服务3故障,原来探针2和其相连,这探针2需要在换上顺时针寻找下一个节点,顺着找到了服务器2。
服务器或者数据库,在扩容或者上线:
如图5所示,
假设增加服务4,并且ID=1 000 000,如上图,这落在了服务器1和服务器3中间,服务器3的部分数据被分走,探针2之前和服务器3建立的连接,则需要断开,重新和服务器4进行连接。
优选的,所述探针为通用探针和java组成,运行过程中若干个通用探针和java探针分别与服务器进行连接,根据一致性哈希算法将通用探针和java探针分别对指定服务器的指标进行采集。
优选的,所述服务器用于接受探针采集的数据,并且把数据存储到数据库中,同时向探针发送部分指令,使其执行某些任务。
优选的,所述探针用于采集服务器指标,安装在被采集的服务器上,并且把指标上传到服务器,指标包括CPU、内存、磁盘信息,探针分为普通探针和专用探针(如Java探针等),部分探针还能够执行从服务端发过来的指令,完成相关运维操作。
优选的,所述数据库用于存储服务端发送的采集指标,包括CPU、内存、磁盘信息等,还有其他相关联的信息。由于运维系统采集的数据每秒或者数10秒采集一次,因此数据量非常大。
优选的,所述展示端用于将数据库中的内容通过Web的方式展示出来,提供给管理人员查看,包括Web前端和Web服务端。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (6)

1.一种基于一致性哈希的高可用运维系统,包括探针、服务器、数据库以及展示端,所述服务器分别与探针和数据库连接,所述探针、服务器、数据库均设有若干个,所述展示端连接至数据库,所述服务器与探针和数据库的通信间加入一致性哈希算法,形成了一致性哈希环,从而使服务器、探针和数据库之间的寻址,通过一致性哈希函数完成,这样服务端可以组成一个高可用集群,随着业务压力的增长,增加服务器数量就可以完成扩容。
2.根据权利要求1所述的一种基于一致性哈希的高可用运维系统,其特征在于:所述探针用于采集服务器指标,安装在被采集的服务器上,并且把指标上传到服务器,指标包括CPU、内存、磁盘信息,探针分为普通探针和专用探针。
3.根据权利要求1所述的一种基于一致性哈希的高可用运维系统,其特征在于:所述服务器用于接受探针采集的数据,并且把数据存储到数据库中,同时向探针发送部分指令。
4.根据权利要求1所述的一种基于一致性哈希的高可用运维系统,其特征在于:所述数据库用于存储服务端发送的采集指标,包括CPU、内存、磁盘信息。
5.根据权利要求1所述的一种基于一致性哈希的高可用运维系统,其特征在于:所述展示端用于将数据库中的内容通过Web的方式展示出来,提供给管理人员查看,包括Web前端和Web服务端。
6.根据权利要求1所述的一种基于一致性哈希的高可用运维系统,其特征在于:所述探针为通用探针和java组成,运行过程中若干个通用探针和java探针分别与服务器进行连接,根据一致性哈希算法将通用探针和java探针分别对指定服务器的指标进行采集。
CN202110263422.8A 2021-03-11 2021-03-11 一种基于一致性哈希的高可用运维系统 Pending CN112965937A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110263422.8A CN112965937A (zh) 2021-03-11 2021-03-11 一种基于一致性哈希的高可用运维系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110263422.8A CN112965937A (zh) 2021-03-11 2021-03-11 一种基于一致性哈希的高可用运维系统

Publications (1)

Publication Number Publication Date
CN112965937A true CN112965937A (zh) 2021-06-15

Family

ID=76277152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110263422.8A Pending CN112965937A (zh) 2021-03-11 2021-03-11 一种基于一致性哈希的高可用运维系统

Country Status (1)

Country Link
CN (1) CN112965937A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483545A (zh) * 2008-12-31 2009-07-15 中国建设银行股份有限公司 一种金融业务监控方法及系统
US20100094992A1 (en) * 2007-03-09 2010-04-15 Ludmila Cherkasova Capacity Planning Of Multi-tiered Applicatons From Application Logs
CN102567495A (zh) * 2011-12-22 2012-07-11 国网信息通信有限公司 一种海量信息存储系统及实现方法
CN104113579A (zh) * 2014-02-13 2014-10-22 西安未来国际信息股份有限公司 一种基于udp的业务系统数据采集与实现
CN104219085A (zh) * 2014-08-07 2014-12-17 深圳市同洲电子股份有限公司 一种数据库的数据处理方法、代理服务器及系统
CN104301425A (zh) * 2014-10-24 2015-01-21 南方电网科学研究院有限责任公司 基于对象类型和哈希环的对象注册中心服务集群实现方法
CN105320771A (zh) * 2015-10-31 2016-02-10 南京南瑞继保电气有限公司 基于哈希环的时间序列数据库服务集群的实现方法与系统
CN106656971A (zh) * 2016-10-14 2017-05-10 福建星瑞格软件有限公司 一种业务行为数据采集系统
CN106936618A (zh) * 2015-12-31 2017-07-07 北京神州泰岳软件股份有限公司 一种数据采集方法和系统
CN109714192A (zh) * 2018-11-29 2019-05-03 深圳供电局有限公司 一种监控云平台的监控方法及系统
CN110334091A (zh) * 2019-05-09 2019-10-15 重庆天蓬网络有限公司 一种数据分片分布式处理方法、系统、介质和电子设备

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100094992A1 (en) * 2007-03-09 2010-04-15 Ludmila Cherkasova Capacity Planning Of Multi-tiered Applicatons From Application Logs
CN101483545A (zh) * 2008-12-31 2009-07-15 中国建设银行股份有限公司 一种金融业务监控方法及系统
CN102567495A (zh) * 2011-12-22 2012-07-11 国网信息通信有限公司 一种海量信息存储系统及实现方法
CN104113579A (zh) * 2014-02-13 2014-10-22 西安未来国际信息股份有限公司 一种基于udp的业务系统数据采集与实现
CN104219085A (zh) * 2014-08-07 2014-12-17 深圳市同洲电子股份有限公司 一种数据库的数据处理方法、代理服务器及系统
CN104301425A (zh) * 2014-10-24 2015-01-21 南方电网科学研究院有限责任公司 基于对象类型和哈希环的对象注册中心服务集群实现方法
CN105320771A (zh) * 2015-10-31 2016-02-10 南京南瑞继保电气有限公司 基于哈希环的时间序列数据库服务集群的实现方法与系统
CN106936618A (zh) * 2015-12-31 2017-07-07 北京神州泰岳软件股份有限公司 一种数据采集方法和系统
CN106656971A (zh) * 2016-10-14 2017-05-10 福建星瑞格软件有限公司 一种业务行为数据采集系统
CN109714192A (zh) * 2018-11-29 2019-05-03 深圳供电局有限公司 一种监控云平台的监控方法及系统
CN110334091A (zh) * 2019-05-09 2019-10-15 重庆天蓬网络有限公司 一种数据分片分布式处理方法、系统、介质和电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
WENBO GONG: "Research load balancing technology of distributed database based on consistent hash", 《HTTPS://DOI.ORG/10.1145/3318265.3318283》 *
任子晖 等: "基于WIFI探针的公共安全管理系统设计与研究", 《数据挖掘》 *
邓珍荣 等: "一种Web服务器集群负载均衡调度算法", 《计算机应用与软件》 *

Similar Documents

Publication Publication Date Title
CN108268208B (zh) 一种基于rdma的分布式内存文件系统
CN107018042B (zh) 用于在线服务系统的追踪方法及追踪系统
JP4342441B2 (ja) Opcサーバリダイレクションマネージャ
US20180337847A1 (en) Indexing a multi-layer blockchain system
CN101252603B (zh) 基于存储区域网络san的集群分布式锁管理方法
EP2919130A1 (en) Method and system for synchronizing distributed database
EP3224746B1 (en) System and method for massively parallel processing database
CN109189751A (zh) 基于区块链的数据同步方法及终端设备
CN102984501A (zh) 一种网络视频录像集群系统
CN103581307A (zh) 一种基于集群的发布/订阅系统及其可靠性保障方法
CN112953982B (zh) 一种服务处理的方法、服务配置的方法以及相关装置
CN112118174A (zh) 软件定义数据网关
CN101128827A (zh) 用于交换网络中分布式数据管理的方法和装置
CN104468274A (zh) 一种集群监控管理方法及系统
CN110175089A (zh) 一种具有读写分离功能的双活灾备系统
CN111858033A (zh) 基于集群和多进程的负载均衡方法
CN101344882B (zh) 数据查询方法、插入方法及删除方法
CN107908713B (zh) 一种基于Redis集群的分布式动态杜鹃过滤系统及其过滤方法
CN107465706B (zh) 一种基于无线通信网络的分布式数据对象存储装置
CN112965937A (zh) 一种基于一致性哈希的高可用运维系统
CN115658742B (zh) 一种现场级主动标识载体的标识解析方法及系统
CN115604271A (zh) 一种基于微服务的软硬件互补的负载均衡方法
CN105025042A (zh) 一种确定数据信息的方法及系统、代理服务器
CN110765190B (zh) 一种数据库集群自动扩容的方法、装置和电子设备
CN113965608A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210615

WD01 Invention patent application deemed withdrawn after publication