一种实现云环境下节点对等均衡的方法

文档序号:7855701阅读:181来源:国知局
专利名称:一种实现云环境下节点对等均衡的方法
技术领域
本发明属于云计算领域,特别涉及云计算中各节点对等均衡。
背景技术
随着云存储、云计算技术的成熟,监测系统应用逐渐迁移到云环境下运行。通常,云环境采用廉价PC-SERVER和SATA盘,以降低了系统总体成本,提高系统的扩展性,性能也有一定的提升。不过,PC-SERVER+SATA盘的稳定性与传统小型机+盘阵的稳定性相差很大,因为单节点故障率较高。对此,业界通常采用集群机制,来保证云环境的稳定性和高可用性。 要保证集群环境下的高可用性和稳定性,首先要具备自动切换功能,避免单点故障。要实现自动切换,通常就要求节点是对等、均衡的;要实现系统的稳定和线性伸缩,也需要节点的对等均衡。但是,在云环境下,保持节点的对等均衡,通常是比较困难的,尤其对于多应用和高负载的情况。现有技术的常见做法是,节点A运行应用a,节点B运行应用b,节点C运行应用C,等等。当节点A故障后,应用a切换到节点B (或C,·)。切换后,系统就很难保证均衡了,而且各节点也不对等。这时,如果再有节点故障,或者再向系统中增加节点,系统结构凌乱,而且越发地不均衡、不对等。这种通过应用功能划分来实现节点均衡对等的方法,实现起来比较困难,存在理论问题。当云中节点数量发生增减变化时,往往需要重新调整应用进程的部署;关键是,按应用功能划分节点,理论上就很难实现均衡,节点也不可能对等。在现有技术中,要实现节点绝对的对等、均衡,首先需要保证各节点运行的应用功能(处理进程)相同;同时要求各应用处理的数据(输入、请求)相同。前者要求,应用程序设计上是可并发执行的;后者要求,应用的输入端能控制输入数据,通常输入基本包括两部分,一是持续输入的流式数据,比如,监测系统的信令数据;二是用户操作、请求,比如,查询、配置等交互性操作。对于交互类请求,通常按请求到达的顺序和服务节点的运行状态,依次分发给各个节点;对于流式数据的分流,按数据的时间戳(纳秒)随机分流,或按数据到达顺序依次分流。此外,在现有技术中,要实现查询、请求类操作的均衡性,通常采用负载均衡器。负载均衡器通常根据各服务节点的状态(是否运行,CPU/RAM/I0负荷)来分发收到的客户端请求(如查询),然后把服务端的响应结果反馈给客户端。但是,负载均衡器无法解决流式数据的分发,无法保证数据处理服务器的均衡。此外,在现有技术中,交换机、路由器等网络设备,可以对网络流式数据进行分流,通常都是按IP、端口、协议、业务进行分流,但不能对同种业务数据进行分流,所以无法保证各服务节点的均衡;也无法区分应用系统的各种业务数据类型(呼叫、短信、上网等),所以,这些设备(或软件)无法在监测系统中使用。由此可见,现有的技术方案要么不支持对流式数据的分流,要么不能识别应用业务数据、不能对相同数据进行分流,因此,都无法保证集群节点获得相同的输入,无法保证节点的均衡、对等,也就无法避免单点故障、无法保证线性伸缩。

发明内容
为了解决现有技术问题,本发明提出了一种实现云环境下节点对等均衡的方法,该方法包括如下步骤步骤一,将业务拆解成多个进程,并将所述多个进程分配到云环境中的多个节点上;步骤二,在所述多个节点上运行相同的进程;步骤三,由数据接入端控制向所述多个节点上的每个节点分配等量的数据,以保证所述多个节点对等和均衡。根据本发明的一个方面,数据接入端控制向每个节点分配等量的数据进一步包括根据节点的运行状态以及节点的资源负荷,决定是否向节点分配数据以及分配多少比例的数据。根据本发明的一个方面,数据接入端控制向每个节点分配等量的数据进一步包括各节点在负荷相同的情况下,将被分配等量的数据,分配规则是按数据到达顺序依次向各节点分发。 根据本发明的一个方面,当所述云环境中某个节点出现故障时,数据接入端将自动探测到该故障节点,并不再向该故障节点分发数据,而按新的比例向其它节点分发数据;根据本发明的一个方面,其中所述云环境中某个节点出现故障为该节点异常宕机或停机检修。根据本发明的一个方面,当所述故障节点恢复或新节点加入时,数据接入端将按新的比例向所有节点分发数据。根据本发明的一个方面,数据接入端通过接收各节点的反馈信息来获得各节点的资源(CPU,RAM, I/O)负载情况。根据本发明的一个方面,如果数据接入端获得某节点的某项资源指标较其它节点偏离(高于或低于)10%以上,则调整数据分配比例,以使各节点保持负载均衡和节点间的对等关系。根据本发明的一个方面,当数据接入端获知云环境中某节点的资源负载高于某第一阈值时,则减少数据分配比例;如果某节点资源负载低于第二阈值时,则增加数据分配比例。相比现有技术,本发明的技术优点主要有通过数据分流的方式来解决系统的高可用性,这比传统的通过应用进程切换的方式更方便,也利于节点的对等、均衡,利于集群的线性伸缩。并且根据节点负荷(资源消耗)情况进行精细分流,可以保证节点不空载、不过载,保证整个云环境运行在最佳状态。此外,本发明还实现了云环境下节点的对等均衡,有利于提高云架构的高可用性和扩展性,有利于云技术的推广应用。


下面结合附图及具体实施例对本发明再作进一步详细的说明图I为本发明提出的一种实现云环境下节点对等均衡的方法的流程图;图2为本发明实施例的云环境下各节点处理进程示意图3为本发明实施例的云环境下各节点负荷回馈示意图;图4为本发明实施例的云环境下各节点出现故障节点的数据分配示意图;图5为本发明实施例的云环境下各节点增加节点的数据分配示意图。
具体实施例方式下面结合附图,对本发明作详细的阐述。以监测系统的数据处理部分为例,详细说明本发明的原理和实现方案。参见图1,为本发明提出的一种实现云环境下节点对等均衡的方法的流程图,可以看到,本发明包括以下三个步骤S101,将业务拆解成多进程,并将所述多进程分配到云环境中的多个节点上;S102,在所述多个节点上运行相同的进程;S103,由数据接入端控制向所述多个节点上的每个节点分配等量的数据,以保证所述多个节点对等和均衡。下面将针对上述方法做进一步详细说明。参见图2,其为本发明实施例的云环境下各节点处理进程示意图。数据处理主要是对数据内容就行扩充,也就是增加属性(字段)信息;同时对数据进行统计汇总。数据按协议和业务分多种,为了保证节点功能的对等,在每个节点上都运行各种业务的处理进程;为了保证节点的负载均衡,在数据输入端增加分流程序,根据节点的负载情况,按比例向各节点分发数据。如图2所示,系统有三个节点,每个节点上业务进程的种类和数量相同,因此,只要每种业务的输入数据量相同,各节点就可以实现均衡。由于各节点的功能对等,所以任意节点故障后,只需改变其它节点的输入数据量,系统即可继续运行;同理,向云中增加节点,只需要在新节点上启动相同进程,然后分流进程重新分配数据,不涉及太多部署上的调整,就实现了系统扩容。可见,按这种方案进行增减节点,不会破坏节点的对等均衡。参见图3,为本发明实施例的云环境下各节点负荷回馈示意图。各节点的数据来源由输入端的分流程序控制,分流程序启动后,将通过心跳探测各节点的运行状态,即节点系统是否正常、业务进程是否就绪;同时也接收各节点的系统负荷回馈,即资源利用情况的反馈。分流程序获得了各节点状态之后,将每种业务数据按比例分发给各节点相应的业务处理进程,使各节点均衡地处理数据。分流程序不断地接收来自节点的资源负载信息,一旦发现某节点资源负载偏离较大或较小(例如,大于或小于10%),立即调整所有节点的比例关系,使各节点数据量尽量保持均衡。采用动态分流机制,可以保证系统的负载均衡,使系统始终以最佳效能运行;例如,节点增减变化,分流随之变化,可以保证系统持续高效运行。系统节点减少后,原来由被减节点处理的数据将丢失,这就需要把这部分数据分配给其它节点,分配的规则仍是均分,所以需要重新分配,分配的比例按数据的顺序或时间(纳秒值)均匀分配。系统节点增加后,新增节点也要承当数据处理,这就需要把数据分配给新节点一部分,以减少原来节点的负担。分配的规则仍是均分,所以需要重新分配,分配的比例按数据的顺序或时间(纳秒值)均匀分配。在数据量很大的情况下,分流进程也可以部署多个,每个都采用相同的机制向节点分发数据,最终仍可保证各节点的均衡。参见图4和图5,下面将进一步详细说明节点变化对数据分流的影响。参见图4,在三个节点的基础上,如果由于节点故障,或者某节点停机检修,或者因数据总量减少而去除I个节点,分流进程将重新分发数据,继续保证节点均衡。分流程序探知某处理节点故障(系统、网络、应用异常),既将该节点视为不可用,不能再给该节点分配数据。这是要根据剩余节点个数,把输入数据均匀地分配给剩余节点。参见图5,如果由于故障节点恢复,或者因数据总量增大而增加I个节点,分流进程将重新分发数据,继续保证节点均衡。·当故障节点恢复后,分流程序可以自动探知;如果有新节点加入集群,需要修改分流进程的配置,添加一个节点。不论哪种情况,新增节点后,分流程序将按新的节点个数,将数据均与地分配给每个节点。使用这种数据处理机制,可以保证节点的功能对等、负载均衡,使系统既有动态伸缩性,又具有高可用性,而且整个系统始终发挥最佳效能,没有瓶颈和短板。有利于提高云架构的高可用性和扩展性,有利于云技术的推广应用。综上所述,虽然本发明已以优选实施例披露如上,然而其并非用以限定本发明。本发明所属技术领域的普通技术人员,在不脱离本发明的精神和范围内,可作各种变动与修饰。因此,本发明的保护范围当视所附的权利要求所界定的范围为准。
权利要求
1.一种实现云环境下节点对等均衡的方法,该方法包括如下步骤 步骤一,将业务拆解成多个进程,并将所述多个进程分配到云环境中的多个节点上; 步骤二,在所述多个节点上运行相同的进程; 步骤三,由数据接入端控制向所述多个节点上的每个节点分配等量的数据,以保证所述多个节点对等和均衡。
2.如权利要求I所述的方法,其中所述数据接入端向每个节点分配等量的数据进一步包括所述数据接入端根据每个节点的运行状态以及节点的资源负荷,决定是否向该节点分配数据以及分配多少比例的数据。
3.如权利要求I所述的方法,其中数据接入端向每个节点分配等量的数据进一步包括各节点在负荷相同的情况下,将被分配等量的数据,分配规则是按数据到达顺序依次向各节点分发。
4.如权利要求I所述的方法,其中数据接入端将进行故障节点的探测,如果探测到故障节点,则不再向该故障节点分发数据,并按新的比例向其它节点分发数据。
5.如权利要求4所述的方法,其中所述故障节点具体表现为该节点异常宕机或停机检修。
6.如权利要求4或5所述的方法,当所述故障节点恢复或新节点加入时,数据接入端将按新的比例向所有节点分发数据。
7.如权利要求I所述的方法,其中所述数据接入端通过接收各节点的反馈信息来获得各节点的资源负载情况。
8.如权利要求7所述的方法,如果所述数据接入端获得某节点的某项资源指标较其它节点高于或低于预定阈值时,则调整数据分配比例,以使各节点保持负载均衡和节点间的对等关系。
9.如权利要求8所述的方法,所述预定阈值为10%。
10.如权利要求I所述的方法,当所述数据接入端根据节点增减变化来调整数据分配比例,并按新的比例向所有节点分发数据。
全文摘要
本发明提出了一种实现云环境下节点对等均衡的方法,该方法包括如下步骤步骤一,将业务拆解成多进程,并将所述多进程分配到云环境中的多个节点上;步骤二,在所述多个节点上运行相同的进程;步骤三,由数据接入端控制向所述多个节点上的每个节点分配等量的数据,以保证所述多个节点对等和均衡。通过数据分流的方式来解决系统的高可用性,这比传统的通过应用进程切换的方式更方便,也利于节点的对等、均衡,利于集群的线性伸缩。
文档编号H04L29/08GK102891881SQ20121023782
公开日2013年1月23日 申请日期2012年7月9日 优先权日2012年7月9日
发明者贾林, 马立斌 申请人:北京中创信测科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1