CN104301425A - 基于对象类型和哈希环的对象注册中心服务集群实现方法 - Google Patents
基于对象类型和哈希环的对象注册中心服务集群实现方法 Download PDFInfo
- Publication number
- CN104301425A CN104301425A CN201410579464.2A CN201410579464A CN104301425A CN 104301425 A CN104301425 A CN 104301425A CN 201410579464 A CN201410579464 A CN 201410579464A CN 104301425 A CN104301425 A CN 104301425A
- Authority
- CN
- China
- Prior art keywords
- registration center
- center service
- object registration
- node
- hash
- 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
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims abstract description 8
- 238000013507 mapping Methods 0.000 claims abstract description 4
- 238000009826 distribution Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003860 storage 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- 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
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于对象类型和哈希环的对象注册中心服务集群的实现方法。包含了以下信息:选用一致性哈希算法构建哈希环,通过计算每个对象注册中心服务节点的哈希值,将对象注册中心服务节点映射到哈希环上,形成对象注册中心服务集群。客户端的对象访问请求通过同样的一致性哈希算法进行计算,根据计算结果映射到哈希环上的位置,选择相应的对象注册中心服务节点处理该请求。
Description
技术领域
本发明涉及智能电网运行系统中一种基于对象类型和哈希环的对象注册中心服务集群的实现方法。
背景技术
一致性哈希算法有麻省理工学院于1997年提出,用以解决因特网中的热点问题。一致性哈希提出在动态变化的缓存环境中,哈希算法应该满足四个条件:平衡性、单调性、分散性、负载。哈希环是由一致性哈希算法的值空间构成的一个虚拟的圆环。
对象注册中心是智能电网运行系统中全局对象的统一管理设施,管理着生产、监控、办公自动化等方面专业应用系统的对象全局命名、全局编码和对象类型,保障各专业应用系统进行有效的数据交互。由于各专业应用系统的总数据量大、交互频繁,对象注册中心通常采用分布式数据存储,并通过对象数据缓存和索引缓存来提高数据响应速率。
传统的对象注册中心服务集群采用主从方式。主从方式下,客户端的访问请求集中在主服务节点上,从服务节点仅在主服务节点故障时才处理请求。这种方式的缺点在于:主服务节点的负载过高,从服务节点资源得不到合理利用,为集群增加服务节点并不能提高整体服务的性能。
发明内容
本发明所要解决的技术问题是:提供一种基于对象类型和哈希环技术实现对象注册中心服务集群负载均衡的方法。
本发明采取的技术方案是:基于对象类型和哈希环的对象注册中心服务集群的实现方法,选用一致性哈希算法构建哈希环,通过计算每个对象注册中心服务节点的哈希值,将对象注册中心服务节点映射到哈希环上,形成对象注册中心服务集群。客户端的对象访问请求通过同样的一致性哈希算法进行计算,根据计算结果映射到哈希环上的位置,选择相应的对象注册中心服务节点处理该请求。
上述方案中,对象注册中心服务节点通过一组对象类型作为关键字构建一组虚拟节点并映射到哈希环上。
本发明的有益效果是:
1.提供一种基于对象类型和哈希环的对象注册中心集群负载均衡的实现方法,解决传统注册中心服务集群主从方式主服务节点负载过高,从服务节点资源得不到合理利用,增加服务节点并不能提高整体服务性能的缺点。
2.通过一致性哈希算法将相同的访问请求定位到同一个对象注册中心服务节点,提高了对象注册中心服务节点缓存的命中率。
3.采用一致性哈希算法定位对象注册中心服务节点,支持动态增减服务节点,具有较好的容错性和可扩展性。
附图说明
图1为基于哈希环构建的对象注册中心服务集群节点分布示意图。
图2为客户端访问请求的处理流程图。
图3为对象注册中心服务集群基于对象类型的细化。
具体实施方式
本发明提供了一种基于对象类型和哈希环的对象注册中心集群的实现方法,所述的方法包括:
如图1所示,选用一致性哈希算法构建一个首位相接的哈希环。使用节点名、IP或支持的对象类型作为参数计算出对象注册中心集群各个节点的哈希值,并根据哈希值的位置将对象注册中心节点分布到哈希环上,图中所示为3个对象注册中心集群节点的分布情况。
当客户端发起一个访问请求时,先通过一致性哈希算法对请求的关键字进行哈希计算,将哈希计算的结果映射到图1所示圆环上的某一个点。如果该点正好命中某个对象注册中心集群节点,则选择该节点处理访问请求;否则,按顺时针方向查找,直到找到一个对象注册中心节点来处理访问请求。这一流程如图2所示。
如图1所示的对象注册中心服务集群,当访问请求的一致性哈希计算结果落在对象注册中心节点1和节点2之间时,最终选择节点2来处理该访问请求。
访问请求的关键字可以是对象的全局名、全局编码或对象类型。同一对象的访问请求被定位到同一个对象注册中心节点处理,提高了对象注册中心服务缓存的命中率,减少对象注册中心的响应时间;当该对象注册或注销时,其所影响的缓存也只是命中节点的缓存,非命中节点不会缓存该对象的数据。
基于哈希环构建的对象注册中心服务集群可以动态增减。
当对象注册中心服务集群有节点故障时,例如节点2故障,对象注册中心服务节点1到节点2之间的数据请求被定位到节点3上处理,而其它的数据不受影响。
当对象注册中心服务集群中新增一个节点时,例如在节点2和节点3之间增加一个节点4,此时节点1和节点2不受影响,只有节点2到节点4之间的数据请求被定位到节点4处理,而新增节点前这些数据请求是定位到节点3处理的。
上述对象注册中心集群服务可按图3方式进一步细化。对象注册中心节点按照对象类型进行划分,以对象类型为关键字构建对象注册中心虚拟节点。例如节点1处理“类型A1”、“类型B1”、“类型C1”;节点2处理“类型A2”、“类型B2”;节点3处理“类型C3”,构建如“对象注册中心虚拟节点A1”、“对象注册中心虚拟节点B2”等虚拟节点。客户端的访问请求也使用对象类型为关键字进行哈希计算,将同一类型的请求定位到同一个对象注册中心服务节点上处理。如图中A3类型的对象访问请求将被定位到虚拟节点“对象注册中心虚拟节点A3”上,最终交由对象注册中心节点1处理。
对象注册中心在建立之初,其支持的对象类型的范围就会有基本界定,每种类型的对象数目也会有一定的预估。将数目大、访问多的对象类型划分到不同的对象注册中心节点,提高了对象注册中心服务集群的平衡性。鉴于对象类型众多,虚拟节点的总量也不宜过大,适当选择一定数量的对象类型进行节点虚拟后,其它类型的对象访问请求仍然按照图2所示流程进行处理。
Claims (2)
1.一种基于对象类型和哈希环的对象注册中心服务集群的实现方法,其特征在于,选用一致性哈希算法构建哈希环,通过计算每个对象注册中心服务节点的哈希值,将对象注册中心服务节点映射到哈希环上,形成对象注册中心服务集群;客户端的对象访问请求通过同所述一致性哈希算法进行计算,根据计算结果将所述客户端的对象访问请求映射到哈希环上的位置,并选择相应的对象注册中心服务节点处理该请求。
2.如权利要求1所述的基于对象类型和哈希环的对象注册中心服务集群的实现方法,其特征在于,对象注册中心服务节点通过一组对象类型作为关键字构建一组虚拟节点并映射到哈希环上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410579464.2A CN104301425A (zh) | 2014-10-24 | 2014-10-24 | 基于对象类型和哈希环的对象注册中心服务集群实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410579464.2A CN104301425A (zh) | 2014-10-24 | 2014-10-24 | 基于对象类型和哈希环的对象注册中心服务集群实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104301425A true CN104301425A (zh) | 2015-01-21 |
Family
ID=52320988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410579464.2A Pending CN104301425A (zh) | 2014-10-24 | 2014-10-24 | 基于对象类型和哈希环的对象注册中心服务集群实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104301425A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320771A (zh) * | 2015-10-31 | 2016-02-10 | 南京南瑞继保电气有限公司 | 基于哈希环的时间序列数据库服务集群的实现方法与系统 |
CN106210624A (zh) * | 2016-07-01 | 2016-12-07 | 中国南方电网有限责任公司 | 一种基于电力行业多级级联流媒体智能调度的方法 |
CN106250226A (zh) * | 2016-08-02 | 2016-12-21 | 福建华渔未来教育科技有限公司 | 基于一致性哈希算法的任务调度机制及系统 |
CN106856505A (zh) * | 2016-12-26 | 2017-06-16 | 成都康赛信息技术有限公司 | 基于hash算法的服务器均衡方法 |
CN106909557A (zh) * | 2015-12-23 | 2017-06-30 | 中国电信股份有限公司 | 内存集群的存储方法及装置、内存集群的读取方法及装置 |
CN108519954A (zh) * | 2018-03-23 | 2018-09-11 | 北京焦点新干线信息技术有限公司 | 一种集中管理缓存的方法及装置 |
CN110098920A (zh) * | 2019-05-07 | 2019-08-06 | 山大地纬软件股份有限公司 | 一种减少节点碰撞的区块链节点负载均衡方法及装置 |
CN110233886A (zh) * | 2019-05-30 | 2019-09-13 | 华南理工大学 | 一种面向海量微服务的高可用服务治理系统及实现方法 |
CN111147546A (zh) * | 2019-11-29 | 2020-05-12 | 中科院计算技术研究所大数据研究院 | 一种边缘集群资源的处理方法及系统 |
CN111314189A (zh) * | 2020-01-17 | 2020-06-19 | 支付宝(杭州)信息技术有限公司 | 一种业务消息的发送方法及装置 |
CN112698949A (zh) * | 2020-12-31 | 2021-04-23 | 珠海派诺科技股份有限公司 | 一种多源异构柔性均衡采集方法、电子设备、存储介质 |
CN112953981A (zh) * | 2019-11-26 | 2021-06-11 | 北京沃东天骏信息技术有限公司 | 节点选择方法、区块链共识方法及装置、系统、设备 |
CN112965937A (zh) * | 2021-03-11 | 2021-06-15 | 北京华恒盛世科技有限公司 | 一种基于一致性哈希的高可用运维系统 |
CN113037791A (zh) * | 2019-12-24 | 2021-06-25 | 中国电信股份有限公司 | 运维方法和系统、计算机可读存储介质 |
CN117834642A (zh) * | 2024-03-04 | 2024-04-05 | 中国人民解放军国防科技大学 | 一种海量二维码分布式生成方法、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120233117A1 (en) * | 2011-03-08 | 2012-09-13 | Rackspace Us, Inc. | Higher Efficiency Storage Replication Using Compression |
CN102916811A (zh) * | 2012-10-18 | 2013-02-06 | 中国科学院信息工程研究所 | 一种多元实体身份凭证信息存储方法 |
CN104050270A (zh) * | 2014-06-23 | 2014-09-17 | 成都康赛信息技术有限公司 | 一种基于一致性哈希算法的分布式存储方法 |
-
2014
- 2014-10-24 CN CN201410579464.2A patent/CN104301425A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120233117A1 (en) * | 2011-03-08 | 2012-09-13 | Rackspace Us, Inc. | Higher Efficiency Storage Replication Using Compression |
CN102916811A (zh) * | 2012-10-18 | 2013-02-06 | 中国科学院信息工程研究所 | 一种多元实体身份凭证信息存储方法 |
CN104050270A (zh) * | 2014-06-23 | 2014-09-17 | 成都康赛信息技术有限公司 | 一种基于一致性哈希算法的分布式存储方法 |
Non-Patent Citations (3)
Title |
---|
CYWOSP: "每天进步一点点-五分钟理解一致性哈希算法", 《HTTP://BLOG.CSDN.NET/CYWOSP/ARTICLE/DETAILS/23397179》 * |
姚墨涵: "一致性哈希算法在分布式系统中的应用", 《电脑开发与应用》 * |
杨彧剑等: "分布式存储系统一致性哈希算法的研究", 《电脑知识与技术》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320771A (zh) * | 2015-10-31 | 2016-02-10 | 南京南瑞继保电气有限公司 | 基于哈希环的时间序列数据库服务集群的实现方法与系统 |
CN106909557A (zh) * | 2015-12-23 | 2017-06-30 | 中国电信股份有限公司 | 内存集群的存储方法及装置、内存集群的读取方法及装置 |
CN106210624A (zh) * | 2016-07-01 | 2016-12-07 | 中国南方电网有限责任公司 | 一种基于电力行业多级级联流媒体智能调度的方法 |
CN106250226A (zh) * | 2016-08-02 | 2016-12-21 | 福建华渔未来教育科技有限公司 | 基于一致性哈希算法的任务调度机制及系统 |
CN106250226B (zh) * | 2016-08-02 | 2019-06-18 | 福建省华渔教育科技有限公司 | 基于一致性哈希算法的任务调度方法及系统 |
CN106856505A (zh) * | 2016-12-26 | 2017-06-16 | 成都康赛信息技术有限公司 | 基于hash算法的服务器均衡方法 |
CN108519954A (zh) * | 2018-03-23 | 2018-09-11 | 北京焦点新干线信息技术有限公司 | 一种集中管理缓存的方法及装置 |
CN110098920A (zh) * | 2019-05-07 | 2019-08-06 | 山大地纬软件股份有限公司 | 一种减少节点碰撞的区块链节点负载均衡方法及装置 |
CN110233886A (zh) * | 2019-05-30 | 2019-09-13 | 华南理工大学 | 一种面向海量微服务的高可用服务治理系统及实现方法 |
CN112953981A (zh) * | 2019-11-26 | 2021-06-11 | 北京沃东天骏信息技术有限公司 | 节点选择方法、区块链共识方法及装置、系统、设备 |
CN111147546A (zh) * | 2019-11-29 | 2020-05-12 | 中科院计算技术研究所大数据研究院 | 一种边缘集群资源的处理方法及系统 |
CN111147546B (zh) * | 2019-11-29 | 2021-05-14 | 中科院计算技术研究所大数据研究院 | 一种边缘集群资源的处理方法及系统 |
CN113037791A (zh) * | 2019-12-24 | 2021-06-25 | 中国电信股份有限公司 | 运维方法和系统、计算机可读存储介质 |
CN113037791B (zh) * | 2019-12-24 | 2023-03-28 | 中国电信股份有限公司 | 运维方法和系统、计算机可读存储介质 |
CN111314189A (zh) * | 2020-01-17 | 2020-06-19 | 支付宝(杭州)信息技术有限公司 | 一种业务消息的发送方法及装置 |
CN112698949A (zh) * | 2020-12-31 | 2021-04-23 | 珠海派诺科技股份有限公司 | 一种多源异构柔性均衡采集方法、电子设备、存储介质 |
CN112965937A (zh) * | 2021-03-11 | 2021-06-15 | 北京华恒盛世科技有限公司 | 一种基于一致性哈希的高可用运维系统 |
CN117834642A (zh) * | 2024-03-04 | 2024-04-05 | 中国人民解放军国防科技大学 | 一种海量二维码分布式生成方法、系统及存储介质 |
CN117834642B (zh) * | 2024-03-04 | 2024-05-17 | 中国人民解放军国防科技大学 | 一种海量二维码分布式生成方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104301425A (zh) | 基于对象类型和哈希环的对象注册中心服务集群实现方法 | |
CN103188345B (zh) | 分布式动态负载管理系统和方法 | |
EP2921964B1 (en) | Partition expansion method and device | |
WO2017067117A1 (zh) | 数据查询方法和装置 | |
JP5729466B2 (ja) | 仮想マシン管理装置、仮想マシン管理方法、及び、プログラム | |
CN104754000A (zh) | 一种负载均衡方法及系统 | |
US20150227553A1 (en) | Method for generating a dataset structure for location-based services and method and system for providing location-based services to a mobile device | |
US9733835B2 (en) | Data storage method and storage server | |
US20150215394A1 (en) | Load distribution method taking into account each node in multi-level hierarchy | |
CN103020078A (zh) | 分布式实时数据库数据层次索引方法 | |
CN106254240A (zh) | 一种数据处理方法和路由层设备以及系统 | |
CN103268542A (zh) | 一种面向云制造的机械加工设备资源信息化方法 | |
CN105187547A (zh) | 一种负载均衡方法与系统 | |
TWI605340B (zh) | 用於s列表分配之系統與方法 | |
CN104023088A (zh) | 一种应用于分布式文件系统的存储服务器选择方法 | |
JP6288596B2 (ja) | データ処理方法および装置 | |
CN105468296A (zh) | 基于虚拟化平台的无共享存储管理方法 | |
CN104283966A (zh) | 云存储系统的数据分布算法及其装置 | |
CN105007328A (zh) | 一种基于一致性hash的网络cache设计方法 | |
CN116414559A (zh) | 算力统一标识建模、分配的方法、存储介质及电子设备 | |
US20130067113A1 (en) | Method of optimizing routing in a cluster comprising static communication links and computer program implementing that method | |
US11386103B2 (en) | Query enhancement system and method for constructing elastic field based on time delay | |
CN106161056B (zh) | 周期型数据的分布式缓存运维方法及装置 | |
CN103746894A (zh) | 一种基于地理位置约束的批量虚拟网络映射方法 | |
CN116627348A (zh) | 一种数据分布方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150121 |
|
RJ01 | Rejection of invention patent application after publication |