CN114513490A - 一种视图库集群 - Google Patents
一种视图库集群 Download PDFInfo
- Publication number
- CN114513490A CN114513490A CN202011149177.XA CN202011149177A CN114513490A CN 114513490 A CN114513490 A CN 114513490A CN 202011149177 A CN202011149177 A CN 202011149177A CN 114513490 A CN114513490 A CN 114513490A
- Authority
- CN
- China
- Prior art keywords
- cluster
- virtual
- view library
- actual
- clusters
- 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.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 17
- 238000000034 method Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 7
- 101000953492 Homo sapiens Inositol hexakisphosphate and diphosphoinositol-pentakisphosphate kinase 1 Proteins 0.000 description 4
- 102100037739 Inositol hexakisphosphate and diphosphoinositol-pentakisphosphate kinase 1 Human genes 0.000 description 4
- 238000013479 data entry Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 101000953488 Homo sapiens Inositol hexakisphosphate and diphosphoinositol-pentakisphosphate kinase 2 Proteins 0.000 description 3
- 102100037736 Inositol hexakisphosphate and diphosphoinositol-pentakisphosphate kinase 2 Human genes 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 101150077913 VIP3 gene Proteins 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种视图库集群,所述视图库集群包括多个虚拟集群,每个虚拟集群包括至少预设数量的物理节点;所述视图库集群具有唯一的视图库ID;每个虚拟集群提供一个虚拟IP地址,每个所述虚拟IP地址对应所述视图库集群的至少一个下一级视图库集群,所述下一级视图库集群通过对应的虚拟IP地址向虚拟IP地址对应的虚拟集群发送数据。本发明实现了一个视图库集群可以通过多个虚拟IP地址来接收下一级视图库集群的数据,解决了使用一个IP地址来接收数据的问题,降低了视图库集群的性能压力,而且无需增加硬件。
Description
技术领域
本发明涉及视图库技术领域,特别是涉及一种视图库集群。
背景技术
视图库全称是视频图像信息数据库,是基于GA/T1400协议实现的一套用于维护安全的数据信息库,部署模式是从区县级逐步到国家级,数据是逐级向上汇聚的。
如果在区县一级有个千路左右的采集设备,视图库需要有三至五台服务器组成的小集群,如果在市级、省级或者是更高级,视图库就可能需要几十台、几百台甚至更多台服务器组成的大规模集群,由于视图库每一级别都有各自唯一的编号,所以只能保证集群的唯一性是不可以拆分的,那么此时整个集群再向外提供一个数据入库的IP地址显然是无法满足性能需求的了,如果使用域名的方式需要使用私有域名,那么无疑需要增加一个DNS服务器,会额外的增加应用成本。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种视图库集群。
依据本发明实施例的第一方面,提供了一种视图库集群,所述视图库集群包括多个虚拟集群,每个虚拟集群包括至少预设数量的物理节点;所述视图库集群具有唯一的视图库ID;
每个虚拟集群提供一个虚拟IP地址,每个所述虚拟IP地址对应所述视图库集群的至少一个下一级视图库集群,所述下一级视图库集群通过对应的虚拟IP地址向虚拟IP地址对应的虚拟集群发送数据。
本发明实施例提供的视图库集群,通过视图库集群包括多个虚拟集群,每个虚拟集群包括至少预设数量的物理节点,每个虚拟集群提供一个虚拟IP地址,每个虚拟IP地址对应视图库集群的至少一个下一级视图库集群,使得下一级视图库集群通过对应的虚拟IP地址向虚拟IP地址对应的虚拟集群发送数据,即下一级视图库集群通过虚拟IP地址向视图库集群发送数据,实现了一个具有唯一视图库ID的视图库集群可以通过多个虚拟IP地址来接收下一级视图库集群的数据,解决了使用一个IP地址来接收数据的问题,降低了视图库集群的性能压力,而且无需增加硬件。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
图1是现有技术中的视图库部署拓扑结构图;
图2是本发明实施例提供的一种视图库集群的结构示意图;
图3是本发明实施例中的视图库部署拓扑结构示意图;
图4是本发明实施例中的一个视图库集群提供多个数据入口的示意图;
图5是本发明实施例中的一个视图库集群的示例图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1是现有技术中的视图库部署拓扑结构图,如图1所示,从省级到区县一级每一级中的每个视图库集群都有一个独立且唯一的视图库标识,现有技术中每个视图库集群只提供一个数据入库的IP地址,下一级视图库集群通过当前视图库集群提供的IP地址向当前视图库集群发送数据,即当前视图库集群通过一个IP地址来接收下一级所有视图库集群的数据,当前视图库集群对应的下一级视图库集群的数量较大时将会接近当前视图库集群的性能极限,即出现性能瓶颈。本发明实施例提供了如下方案来降低视图库集群的性能压力。
图2是本发明实施例提供的一种视图库集群的结构示意图,如图1所示,所述视图库集群200包括多个虚拟集群210,每个虚拟集群210包括至少预设数量的物理节点211;所述视图库集群具有唯一的视图库ID;
每个虚拟集群210提供一个虚拟IP地址,每个所述虚拟IP地址对应所述视图库集群210的至少一个下一级视图库集群,所述下一级视图库集群通过对应的虚拟IP地址向虚拟IP地址对应的虚拟集群210发送数据。
一个视图库集群200中可以部署多个虚拟集群210,而视图库集群200具有唯一的视图库ID,每个虚拟集群210可以至少包括预设数量的物理节点,并提供一个虚拟IP地址,当前视图库集群的下一级视图库集群通过对应的虚拟IP地址向当前视图库集群的虚拟集群发送数据,即每个虚拟集群都可以接收下一级中不同视图库集群的数据,从而具有唯一视图库ID的一个视图库集群可以提供多个数据入口。其中,所述预设数量大于或等于3,以保证在有物理节点故障的时候能有其他物理节点继续提供服务,以实现视图库集群的高可用。
图3是本发明实施例中的视图库部署拓扑结构示意图,如图3所示,在该视图库拓扑中包括第一级视图库集群(例如可以是省级视图库集群)、第二级视图库集群(例如可以是市级视图库集群)和第三级视图库集群(例如可以是区县级视图库集群),第一级视图库集群提供了3个虚拟IP(VIP)地址,VIP1、VIP2和VIP3,每个第二级视图库集群分别使用第一级视图库集群的一个虚拟IP地址向第一级视图库集群发送数据,每个第二级视图库集群提供了2个虚拟IP地址,每个第二级视图库集群对应了两个第三级视图库集群,每个第三级视图库集群使用对应的第二级视图库集群提供的虚拟IP地址向对应的第二级视图库集群发送数据。如图3所示,第二级视图库集群1使用虚拟IP地址VIP1向第一级视图库集群发送数据,第二级视图库集群2使用虚拟IP地址VIP2向第一级视图库集群发送数据,第二级视图库集群3使用虚拟IP地址VIP3向第一级视图库集群发送数据;第二级视图库集群1的下一级中第三级视图库集群1使用虚拟IP地址VIP1(1)向第二级视图库集群1发送数据,第二级视图库集群1的下一级中第三级视图库集群2使用虚拟IP地址VIP1(2)向第二级视图库集群1发送数据,第二级视图库集群2的下一级中第三级视图库集群1使用虚拟IP地址VIP2(1)向第二级视图库集群2发送数据,第二级视图库集群2的下一级中第三级视图库集群2使用虚拟IP地址VIP2(2)向第二级视图库集群2发送数据,第二级视图库集群3的下一级中第三级视图库集群1使用虚拟IP地址VIP3(1)向第二级视图库集群3发送数据,第二级视图库集群2的下一级中第三级视图库集群2使用虚拟IP地址VIP3(2)向第二级视图库集群3发送数据。每一级视图库集群向上一级视图库集群推送数据的时候都能获取到一个单独的虚拟IP地址来使用,这样就可以将所有数据汇集一点的顽疾通过分流的方式分散开了,可以降低单点的性能压力。每一级的一个视图库集群都会有一个独立且唯一的视图库ID,保证视图库集群的唯一性,整个视图库集群的视图库ID是唯一的,不根据虚拟集群的拆分进行拆分,从而通过多个虚拟IP地址,为视图库集群增加了多个虚拟的数据入口,实现了一个视图库集群可以有多个数据入口,而上下级视图库集群并不感知。
需要说明的是,图3仅是示例,实际应用中,可以部署更多级的视图库集群,每个视图库集群对应的下一级视图库集群的数量不限,每个视图库集群提供的虚拟IP地址的数量也不限。
在本发明的一个实施例中,所述视图库集群中的所有物理节点的每个物理节点上分别部署keepalived服务和nginx服务。
图4是本发明实施例中的一个视图库集群提供多个数据入口的示意图,如图4所示,视图库集群中所有的物理节点上分别部署keepalived服务和nginx服务,通过keepalived+nginx组建虚拟集群,从而将比较大的视图库集群进行了业务拆分,拆分为多个虚拟集群,通过keepalived提供的虚拟IP地址的技术保障了虚拟集群的高可用性,通过nginx代理视图库集群中所有的物理节点以保证负载均衡。每个虚拟集群都有一个独立的虚拟IP地址,下一级视图库集群向上推送数据的时候使用当前视图库集群的虚拟IP地址来推送,而当前视图库集群的视图库ID还是原来的视图库ID,保证了视图库集群和对应的视图库ID的唯一性。
由于视图库集群中的每个物理节点上都分别部署了nginx服务以及keepalived服务,每个nginx节点可以代理整个视图库集群中所有的API网关(api_gateway)端口,这样可以保证数据负载均衡,即如果某一路或者多路虚拟IP地址(VIP)没有数据接入的情况下,也能保证有数据负载到整个视图库集群中所有的物理节点上。
在本发明的一个实施例中,所述每个虚拟集群中的一个物理节点为该虚拟集群中的主节点,其他物理节点为该虚拟集群中的备节点;所述主节点向所述备节点发送心跳信息,若所述备节点未接收到所述主节点发送的心跳信息,则所述备节点切换为该虚拟集群中的主节点。虚拟集群中的主节点和备节点启动着相同的服务,主节点向备节点发送心跳信息来维持自己的可用状态,在备节点未接收到主节点发送的心跳信息时,则将自身切换为主节点,从而实现了视图库集群的高可用性。
在本发明的一个实施例中,所述视图库集群中的任一物理节点上部署的nginx服务均代理所述视图库集群中的所有物理节点的API网关端口;所述虚拟集群中的一个物理节点接收到下一级视图库集群发送的数据时,使接收到的数据在所述视图库集群中的所有物理节点之间进行负载均衡。通过在物理节点上部署nginx服务,在虚拟集群中的一个物理节点接收到下一级视图库集群发送的数据时,将接收到的数据在视图库集群中的所有物理节点之间进行负载均衡,例如可以通过轮询或哈希的方式来进行负载均衡,确定当前存储数据的物理节点,并将数据存储至确定的物理节点。图5是本发明实施例中的一个视图库集群的示例图,以图5所示视图库集群为例,当前的视图库集群包括两个虚拟集群,当前视图库集群的视图库标识(ID)为11111111111000000001,第一个虚拟集群的虚拟IP地址(VIP)为1.1.1.1,对应着下一级的视图库集群1,第二个虚拟集群的虚拟IP地址为1.1.1.2,对应组下一级的视图库集群2,第一个虚拟集群包括物理节点1、物理节点2和物理节点3,第二个虚拟集群包括物理节点4、物理节点5和物理节点6,如果某一时刻视图库集群1没有数据要发送到当前视图库集群,视图库集群2有很多数据要发送到当前视图库集群,这时通过接收到视图库集群2的数据的物理节点(即第二个虚拟集群中的物理节点)对物理节点1、物理节点2、物理节点3、物理节点4、物理节点5和物理节点6进行负载均衡,并将数据存储至确定的物理节点,从而实现了负载均衡,避免了物理节点1-3负载较少而物理节点4-6负载较多的问题。
本发明实施例提供的视图库集群,通过视图库集群包括多个虚拟集群,每个虚拟集群包括至少预设数量的物理节点,每个虚拟集群提供一个虚拟IP地址,每个虚拟IP地址对应视图库集群的至少一个下一级视图库集群,使得下一级视图库集群通过对应的虚拟IP地址向虚拟IP地址对应的虚拟集群发送数据,即下一级视图库集群通过虚拟IP地址向视图库集群发送数据,实现了一个具有唯一视图库ID的视图库集群可以通过多个虚拟IP地址来接收下一级视图库集群的数据,解决了使用一个IP地址来接收数据的问题,降低了视图库集群的性能压力,而且无需增加硬件。
在本发明的一个实施例中,所述视图库集群中的物理节点通过如下方式划分为多个虚拟集群:通过电子设备根据期望虚拟集群数量和视图库集群中的物理节点数量,确定所述视图库集群中待部署的实际虚拟集群数量和每个实际虚拟集群对应的实际物理节点数量。
其中,所述电子设备可以是视图库集群的编排系统等设备,编排系统是在部署视图库集群之前对要部署的视图库集群进行编排并输出编排文件的设备。
在将视图库集群划分为多个虚拟集群之前,需要确定视图库集群中要划分的实际的虚拟集群数量和每个实际虚拟集群对应的实际物理节点数量,进而可以根据确定的实际虚拟集群数量和每个实际虚拟集群对应的实际物理节点数量,在视图库集群中来划分实际的虚拟集群。通过电子设备来确定实际虚拟集群数量和每个实际虚拟集群对应的实际物理节点数量,实现了根据需求来来确定实际的虚拟集群数量和对应的物理节点数量。
在本发明一个实施例中,所述通过电子设备确定所述视图库集群中待部署的实际虚拟集群数量和每个实际虚拟集群对应的实际物理节点数量,包括:
通过所述电子设备获取所述视图库集群中的物理节点数量和期望分配的虚拟集群数量,将期望分配的虚拟集群数量作为期望虚拟集群数量;
通过所述电子设备根据所述视图库集群中的物理节点数量、期望虚拟集群数量和所述预设数量,确定实际可分配的虚拟集群数量,作为实际虚拟集群数量;
通过所述电子设备根据所述视图库集群中的物理节点数量和实际虚拟集群数量,确定每个实际虚拟集群的物理节点数量。
其中,所述预设数量为预先设置的一个虚拟集群中至少包括的物理节点数量。期望虚拟集群数量可以根据下一级视图库集群的数量给出,例如下一级中有5个视图库集群,则期望虚拟集群数量可以是5,当然也可以是其他数值。
在将视图库集群划分为多个虚拟集群之前,可以将该视图库集群中的物理节点数量和期望分配的虚拟集群数量输入电子设备,由电子设备来计算实际虚拟集群数量和每个实际虚拟集群的物理节点数量。电子设备在获取到视图库集群中的物理节点数量和期望虚拟集群数量后,首先确定实际可分配的虚拟集群数量,可以先验证在期望虚拟集群数量下,每个期望的虚拟集群中的物理节点的数量是否大于或等于所述预设数量,在每个期望的虚拟集群中的物理节点的数量大于或等于所述预设数量时,将期望虚拟集群数量作为实际虚拟集群数量,在每个期望的虚拟集群中的物理节点的数量小于所述预设数量时,可以将预设数量作为每个实际虚拟集群中最少的物理节点数量,从而可以将视图库集群中的物理节点数量与预设数量的商(商为向下取整得到的整数)作为实际虚拟集群数量。所述电子设备在确定实际虚拟集群数量后,可以根据视图库集群中的物理节点数量和实际虚拟集群数量确定每个实际虚拟集群的物理节点数量,可以将视图库集群中的物理节点数量与实际虚拟集群数量的商(商为向下取整得到的整数)作为实际虚拟集群中的最少物理节点数量,并将视图库集群中的物理节点数量对实际虚拟集群数量进行求余计算得到余数,将所有的实际虚拟集群中选取所述余数个实际虚拟集群,确定该余数个虚拟集群的物理节点数量为所述最少物理节点数量与1之和,并确定其他虚拟集群的物理节点数量为所述最少物理节点数量。
在本发明的一个实施例中,通过所述电子设备根据所述视图库集群中的物理节点数量、期望虚拟集群数量和所述预设数量,确定实际可分配的虚拟集群数量,作为实际虚拟集群数量,包括:
通过所述电子设备根据所述视图库集群中的物理节点数量和所述期望虚拟集群数量,确定在所述期望虚拟集群数量下,每个期望虚拟集群的平均物理节点数量,作为期望平均节点数量;
若每个期望虚拟集群的期望平均节点数量大于或等于所述预设数量,则将所述期望虚拟集群数量作为所述实际虚拟集群数量;
若每个期望虚拟集群的期望平均节点数量小于所述预设数量,则将所述物理节点数量与所述预设数量的商,作为所述实际虚拟集群数量。
首先计算视图库集群中的物理节点数量与期望虚拟集群数量的商,并向下取整数,将得到的结果作为在所述期望虚拟集群数量下每个期望虚拟集群的平均物理节点数量,将该平均物理节点数量作为期望平均节点数量,如果每个期望虚拟集群的期望平均节点数量大于或等于预设数量,则说明视图库集群中的物理节点实际可以组成期望虚拟集群数量的虚拟集群,从而将期望虚拟集群数量作为实际虚拟集群数量,并将期望虚拟集群作为实际虚拟集群;如果每个期望虚拟集群的期望平均节点数量小于预设数量,则说明视图库集群中的物理节点在保证每个虚拟集群中的物理节点数量至少为预设数量时是无法得到期望虚拟集群数量的虚拟集群的,这时,需要在确保每个实际的虚拟集群中物理节点的数量在至少为预设数量的情况下,重新计算实际虚拟集群数量,即计算视图库集群中物理节点数量与预设数量的商,并向下取整数,将得到的结果作为实际虚拟集群数量。在确定实际虚拟集群数量时,通过保证每个虚拟集群的物理节点数量为至少预设数量,从而可以保证部署后的视图库集群的高可用性。
在本发明的一个实施例中,所述通过所述电子设备根据所述视图库集群中的物理节点数量和实际虚拟集群数量,确定每个实际虚拟集群的物理节点数量,还包括:
通过所述电子设备根据所述视图库集群中的物理节点数量和实际虚拟集群数量,确定每个实际虚拟集群中的平均物理节点数量,将所述平均物理节点数量向下取整的结果作为实际平均节点数量;
通过所述电子设备将所述视图库集群中的物理节点数量对所述实际虚拟集群数量进行求余计算,得到余数,并确定所述实际虚拟集群数量中所述余数个实际虚拟集群的物理节点数量为所述实际平均节点数量与1之和,其他实际虚拟集群的物理节点数量为所述实际平均节点数量。
在确定每个实际虚拟集群的物理节点数量时,电子设备可以计算视图库集群中的物理节点数量与实际虚拟集群数量的商,并向下取整数,将结果作为实际平均节点数量,然后,将视图库集群中的物理节点数量对实际虚拟集群数量进行求余计算,得到余数,从而从实际虚拟集群数量中选取所述余数的实际虚拟集群,确定这些实际虚拟集群的物理节点数量为实际平均节点数量与1之和,其他实际虚拟集群的物理节点数量为实际平均节点数量,而在余数为1时,每个实际虚拟集群的物理节点数量均为实际平均节点数量。通过这样的分配,可以使得每个虚拟集群中可以分配到相对均衡的物理节点数量。
在确定每个实际虚拟集群的物理节点数量时,还可以有其他的确定方式。一种方式可以是:若每个期望虚拟集群的期望平均节点数量大于或等于所述预设数量,所述电子设备将所述物理节点数量对所述实际虚拟集群数量进行求余计算,得到第一余数,并确定所述实际虚拟集群数量中所述第一余数个实际虚拟集群的物理节点数量为所述期望平均节点数量与1之和,其他实际虚拟集群的物理节点数量为所述期望平均节点数量;若每个期望虚拟集群的期望平均节点数量小于所述预设数量,当所述实际虚拟集群数量大于1且小于所述预设数量时,根据视图库集群中的物理节点数量和实际虚拟集群数量,确定每个实际虚拟集群中的平均物理节点数量,作为实际平均节点数量,将所述物理节点数量对所述实际虚拟集群数量进行求余计算,得到第二余数,确定所述实际虚拟集群数量中所述第二余数个实际虚拟集群的物理节点数量为实际平均节点数量与1之和,其他实际虚拟集群的物理节点数量为实际平均节点数量。对于预设数量为3的情况,还有一种确定方式可以是:若每个期望虚拟集群的期望平均节点数量大于或等于所述预设数量,所述电子设备将所述物理节点数量对所述实际虚拟集群数量进行求余计算,得到第一余数,并确定所述实际虚拟集群数量中所述第一余数个实际虚拟集群的物理节点数量为所述期望平均节点数量与1之和,其他实际虚拟集群的物理节点数量为所述期望平均节点数量;若每个期望虚拟集群的期望平均节点数量小于所述预设数量,当所述实际虚拟集群数量大于1且小于所述预设数量时,所述电子设备将所述物理节点数量对所述预设数量进行求余计算,得到第二余数,并确定所述实际虚拟集群数量中所述第二余数个虚拟集群的物理节点数量为所述预设数量与1之和,其他虚拟集群的物理节点数量为所述预设数量;若每个期望虚拟集群的期望平均节点数量小于所述预设数量,当所述实际虚拟集群数量为1,则实际虚拟集群的物理节点数量为视图库集群中的物理节点数量。
其中,对于预设数量为3的情况,在每个期望虚拟集群的期望平均节点数量大于或等于所述预设数量时,可以按照如下公式确定每个实际虚拟集群的物理节点数量:
对于预设数量为3的情况,在每个期望虚拟集群的期望平均节点数量小于所述预设数量时,当实际虚拟集群数量X=1时,比如3个物理节点、4个物理节点或者是5个物理节点,那么此时的分配是只有一个实际虚拟集群,所有的物理节点都在这个集群内,计算公式则为:
A1=(N%3)+3
或者是:A1=N,其中,N为视图库集群中的物理节点数量,A1为实际虚拟集群的物理节点数量。
对于预设数量为3的情况,在每个期望虚拟集群的期望平均节点数量小于所述预设数量时,当实际虚拟集群数量X>1时,可以按照如下公式确定每个实际虚拟集群的物理节点数量:
其中,N为视图库集群中的物理节点数量,X为实际虚拟集群数量,A1,A2......AX分别是各个实际虚拟集群的物理节点数量。
例如,在视图库集群中有37台设备,即有37个物理节点,期望部署12个虚拟集群,即期望虚拟集群数量为12,预设数量为3,则可以按照上述方式首先计算期望平均节点数量满足每个虚拟集群中物理节点数量至少为3,从而确定实际虚拟集群数量为12,之后再计算每个实际虚拟集群的物理节点数量,37对12求余为1,则A1=4,A2A3........A11A12=3。
又如,在视图库集群中有28台设备,即有28个物理节点,期望部署10个虚拟集群,即期望虚拟集群数量为10,预设数量为3,则可以按照上述方式首先计算期望平均节点数量不满足每个虚拟集群中物理节点数量至少为3,需要调整虚拟集群数量,即确定实际虚拟集群数量为X=28/3=9,之后再计算每个实际虚拟集群的物理节点数量,28对3求余为1,则A1=4,A2A3........A11A12=3。这时如果期望虚拟集群数量与下一级视图库集群的数量相同,即下一级视图库集群的数量为10,而虚拟集群的数量为9,这时其中两个下一级视图库集群可以共用一个虚拟IP地址。
再如,在视图库集群中有5台设备,即有5个物理节点,期望部署7个虚拟集群,即期望虚拟集群数量为7,预设数量为3,则可以按照上述方式首先计算期望平均节点数量不满足每个虚拟集群中物理节点数量至少为3,需要调整虚拟集群数量,即确定实际虚拟集群数量为X=5/3=1,之后再计算每个实际虚拟集群的物理节点数量,由于X=1,则A1=N=5。
通过上述方式确定实际虚拟集群数量和实际虚拟集群中的物理节点数量,可以在在保证每个虚拟集群中至少包括预设数量的物理节点的前提下进行物理节点的相对均衡分配。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种视图库集群,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种视图库集群,其特征在于,所述视图库集群包括多个虚拟集群,每个虚拟集群包括至少预设数量的物理节点;所述视图库集群具有唯一的视图库ID;
每个虚拟集群提供一个虚拟IP地址,每个所述虚拟IP地址对应所述视图库集群的至少一个下一级视图库集群,所述下一级视图库集群通过对应的虚拟IP地址向虚拟IP地址对应的虚拟集群发送数据。
2.根据权利要求1所述的视图库集群,其特征在于,所述视图库集群中的所有物理节点的每个物理节点上分别部署keepalived服务和nginx服务。
3.根据权利要求1或2所述的视图库集群,其特征在于,所述每个虚拟集群中的一个物理节点为该虚拟集群中的主节点,其他物理节点为该虚拟集群中的备节点;
所述主节点向所述备节点发送心跳信息,若所述备节点未接收到所述主节点发送的心跳信息,则所述备节点切换为该虚拟集群中的主节点。
4.根据权利要求1-3任一项所述的视图库集群,其特征在于:
所述视图库集群中的任一物理节点上部署的nginx服务均代理所述视图库集群中的所有物理节点的API网关端口;
所述虚拟集群中的一个物理节点接收到下一级视图库集群发送的数据时,使接收到的数据在所述视图库集群中的所有物理节点之间进行负载均衡。
5.根据权利要求1-4所述的视图库集群,其特征在于,所述视图库集群中的物理节点通过如下方式划分为多个虚拟集群:
通过电子设备根据期望虚拟集群数量和视图库集群中的物理节点数量,确定所述视图库集群中待部署的实际虚拟集群数量和每个实际虚拟集群对应的实际物理节点数量。
6.根据权利要求5所述的视图库集群,其特征在于,所述通过电子设备确定所述视图库集群中待部署的实际虚拟集群数量和每个实际虚拟集群对应的实际物理节点数量,包括:
通过所述电子设备获取所述视图库集群中的物理节点数量和期望分配的虚拟集群数量,将期望分配的虚拟集群数量作为期望虚拟集群数量;
通过所述电子设备根据所述视图库集群中的物理节点数量、期望虚拟集群数量和所述预设数量,确定实际可分配的虚拟集群数量,作为实际虚拟集群数量;
通过所述电子设备根据所述视图库集群中的物理节点数量和实际虚拟集群数量,确定每个实际虚拟集群的物理节点数量。
7.根据权利要求6所述的视图库集群,其特征在于,通过所述电子设备根据所述视图库集群中的物理节点数量、期望虚拟集群数量和所述预设数量,确定实际可分配的虚拟集群数量,作为实际虚拟集群数量,包括:
通过所述电子设备根据所述视图库集群中的物理节点数量和所述期望虚拟集群数量,确定在所述期望虚拟集群数量下,每个期望虚拟集群的平均物理节点数量,作为期望平均节点数量;
若每个期望虚拟集群的期望平均节点数量大于或等于所述预设数量,则将所述期望虚拟集群数量作为所述实际虚拟集群数量;
若每个期望虚拟集群的期望平均节点数量小于所述预设数量,则将所述物理节点数量与所述预设数量的商,作为所述实际虚拟集群数量。
8.根据权利要求7所述的视图库集群,其特征在于,所述通过所述电子设备根据所述视图库集群中的物理节点数量和实际虚拟集群数量,确定每个实际虚拟集群的物理节点数量,还包括:
通过所述电子设备根据所述视图库集群中的物理节点数量和实际虚拟集群数量,确定每个实际虚拟集群中的平均物理节点数量,将所述平均物理节点数量向下取整的结果作为实际平均节点数量;
通过所述电子设备将所述视图库集群中的物理节点数量对所述实际虚拟集群数量进行求余计算,得到余数,并确定所述实际虚拟集群数量中所述余数个实际虚拟集群的物理节点数量为所述实际平均节点数量与1之和,其他实际虚拟集群的物理节点数量为所述实际平均节点数量。
9.根据权利要求1-8任一项所述的视图库集群,其特征在于,所述预设数量大于或等于3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011149177.XA CN114513490B (zh) | 2020-10-23 | 2020-10-23 | 一种视图库集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011149177.XA CN114513490B (zh) | 2020-10-23 | 2020-10-23 | 一种视图库集群 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114513490A true CN114513490A (zh) | 2022-05-17 |
CN114513490B CN114513490B (zh) | 2024-08-27 |
Family
ID=81546962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011149177.XA Active CN114513490B (zh) | 2020-10-23 | 2020-10-23 | 一种视图库集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114513490B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030018927A1 (en) * | 2001-07-23 | 2003-01-23 | Gadir Omar M.A. | High-availability cluster virtual server system |
US20080263209A1 (en) * | 2007-04-20 | 2008-10-23 | Array Networks, Inc. | Active-active operation for a cluster of SSL virtual private network (VPN) devices with load distribution |
CN101729412A (zh) * | 2009-11-05 | 2010-06-09 | 北京超图软件股份有限公司 | 地理信息服务的分布式层次集群方法和系统 |
US7890626B1 (en) * | 2008-09-11 | 2011-02-15 | Gadir Omar M A | High availability cluster server for enterprise data management |
CN103475732A (zh) * | 2013-09-25 | 2013-12-25 | 浪潮电子信息产业股份有限公司 | 一种基于虚拟地址池的分布式文件系统数据卷部署方法 |
CN103905473A (zh) * | 2012-12-25 | 2014-07-02 | 华为技术有限公司 | 云计算系统、负载均衡系统、负载均衡方法及装置 |
US20190020656A1 (en) * | 2016-01-22 | 2019-01-17 | Aruba Networks, Inc. | Virtual address for controller in a controller cluster |
CN110474797A (zh) * | 2019-07-25 | 2019-11-19 | 北京旷视科技有限公司 | Api业务系统、主备切换的方法及装置 |
CN110971872A (zh) * | 2019-11-14 | 2020-04-07 | 北京中盾安全技术开发公司 | 一种基于分布式集群的视频图像信息采集方法 |
-
2020
- 2020-10-23 CN CN202011149177.XA patent/CN114513490B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030018927A1 (en) * | 2001-07-23 | 2003-01-23 | Gadir Omar M.A. | High-availability cluster virtual server system |
US20080263209A1 (en) * | 2007-04-20 | 2008-10-23 | Array Networks, Inc. | Active-active operation for a cluster of SSL virtual private network (VPN) devices with load distribution |
US7890626B1 (en) * | 2008-09-11 | 2011-02-15 | Gadir Omar M A | High availability cluster server for enterprise data management |
CN101729412A (zh) * | 2009-11-05 | 2010-06-09 | 北京超图软件股份有限公司 | 地理信息服务的分布式层次集群方法和系统 |
CN103905473A (zh) * | 2012-12-25 | 2014-07-02 | 华为技术有限公司 | 云计算系统、负载均衡系统、负载均衡方法及装置 |
CN103475732A (zh) * | 2013-09-25 | 2013-12-25 | 浪潮电子信息产业股份有限公司 | 一种基于虚拟地址池的分布式文件系统数据卷部署方法 |
US20190020656A1 (en) * | 2016-01-22 | 2019-01-17 | Aruba Networks, Inc. | Virtual address for controller in a controller cluster |
CN110474797A (zh) * | 2019-07-25 | 2019-11-19 | 北京旷视科技有限公司 | Api业务系统、主备切换的方法及装置 |
CN110971872A (zh) * | 2019-11-14 | 2020-04-07 | 北京中盾安全技术开发公司 | 一种基于分布式集群的视频图像信息采集方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114513490B (zh) | 2024-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108924268B (zh) | 一种容器云服务系统及pod创建方法、装置 | |
CN108881512B (zh) | Ctdb的虚拟ip均衡分配方法、装置、设备及介质 | |
WO2013012878A1 (en) | Distributing network identifiers using a hash function | |
EP3481025B1 (en) | Node routing method and system | |
CN109918021B (zh) | 数据处理方法和装置 | |
CN112351110B (zh) | 基于zookeeper的ID分配方法、装置 | |
CN112187958A (zh) | 微服务注册、发现转发的方法及装置 | |
CN109150936A (zh) | 一种分布式集群中会话对象Session的共享方法及装置 | |
CN105847352A (zh) | 基于分布式缓存系统的扩容方法、装置及分布式缓存系统 | |
CN106302861B (zh) | 一种地址分配方法及装置 | |
CN113254165B (zh) | 虚拟机和容器的负载流量分配方法、装置及计算机设备 | |
US20120166657A1 (en) | Gateway system, gateway device, and load distribution method | |
CN107277126B (zh) | 一种云计算资源管理方法及装置 | |
US20210037090A1 (en) | Systems and Methods for Server Failover and Load Balancing | |
CN106790610B (zh) | 一种云系统消息分发方法,装置和系统 | |
CN114513490A (zh) | 一种视图库集群 | |
US20210073043A1 (en) | Method and system for uniform, consistent, stateless and deterministic consistent hashing for fixed size partitions | |
CN109981694B (zh) | 一种同步方法、服务器及终端 | |
CN115633093A (zh) | 资源获取方法、装置、计算机设备及计算机可读存储介质 | |
CN106357549B (zh) | 集群部署中高并发分流的方法、装置、系统及负载均衡器 | |
CN109327520B (zh) | 建立终端与服务器节点连接的方法及装置 | |
US9378140B2 (en) | Least disruptive cache assignment | |
CN114697400A (zh) | 服务调度方法、系统及vtep | |
CN108712522B (zh) | Ip地址分配方法和装置 | |
CN106470230A (zh) | 分布式dns节点数据一致性同步方法和装置 |
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 |