一种服务锁定方法及系统技术方案

技术编号:9977234 阅读:93 留言:0更新日期:2014-04-28 19:22
本发明专利技术公开了一种服务锁定方法及系统,涉及云平台服务技术领域,所述方法包括以下步骤:S1:云平台的每台服务器均去连接zookeeper服务,并尝试在所述zookeeper服务中创建一个临时对象znode,所述znode的值为对应服务器的ip地址;S2:在成功创建znode的服务器上启动对外提供服务service,并将所述成功创建znode的值与所述服务service对应的域名建立映射;S3:当所述服务service停掉后,与所述服务service对应的znode消亡,返回步骤S1。本发明专利技术通过各步骤之间的配合,使得可对云平台中的所有服务器进行加锁,有效提高云平台的健壮性。

【技术实现步骤摘要】
一种服务锁定方法及系统
本专利技术涉及云平台服务
,特别涉及一种服务锁定方法及系统。
技术介绍
云计算被认为是继PC及互联网以来,第三次的IT浪潮,将会改变人们获取、处理和保存信息的方式。云计算利用高速互联网的传输能力,将数据的处理过程从个人计算机或服务器转移到大型的云计算中心,并将计算能力、存储能力以服务的方式为用户提供,用户能够像使用电力、自来水等公用设施一样使用计算能力,并按使用量进行计费。由于现有技术中的云平台中只能对本台服务器上的服务进行加锁,这样不能限制其他服务器上服务的启动,当某台正在提供服务的服务器出现故障时,其他服务器无法接替该服务器继续提供服务,导致访问服务不方便,并且云平台的健壮性不够。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是:如何大幅提高云平台的健壮性。(二)技术方案为解决上述技术问题,本专利技术提供了一种服务锁定方法,所述方法包括以下步骤:S1:云平台的每台服务器均去连接zookeeper服务,并尝试在所述zookeeper服务中创建一个临时对象znode,所述znode的值为对应服务器的ip地址;S2:在成功创建znode的服务器上启动对外提供服务service,并将所述成功创建znode的值与所述服务service对应的域名建立映射;S3:当所述服务service停掉后,与所述服务service对应的znode消亡,返回步骤S1。其中,步骤S1之前还包括:S0:在所述云平台的M台服务器中选择N台启动zookeeper服务,M不小于N,所述M和N均为不小于1的整数。其中,所述N为最接近M的奇数。本专利技术还公开了一种服务锁定系统,所述系统包括:临时对象创建模块,用于云平台的每台服务器均去连接zookeeper服务,并尝试在所述zookeeper服务中创建一个临时对象znode,所述znode的值为对应服务器的ip地址;映射建立模块,用于在成功创建znode的服务器上启动对外提供服务service,并将所述成功创建znode的值与所述服务service对应的域名建立映射;对象消亡模块,用于当所述服务service停掉后,与所述服务service对应的znode消亡。其中,所述系统还包括:服务启动模块,用于在所述云平台的M台服务器中选择N台启动zookeeper服务,M不小于N,所述M和N均为不小于1的整数。其中,所述N为最接近M的奇数。(三)有益效果本专利技术通过各步骤之间的配合,使得可对云平台中的所有服务器进行加锁,有效提高云平台的健壮性。本专利技术还利用zookeeper良好的容错能力,使云平台也有了容错能力本专利技术还利用zookeeper临时对象的特性,保证了解锁的可靠性和及时性。附图说明图1是本专利技术一种实施方式的服务锁定方法的流程框图;图2是本专利技术一种实施方式的服务锁定系统的结构框图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。图1是本专利技术一种实施方式的服务锁定方法的流程框图;参照图1,所述方法包括以下步骤:S1:云平台的每台服务器均去连接zookeeper服务,并尝试在所述zookeeper服务中创建一个临时对象znode(如/dns/service_A/IN/A/managed),所述znode的值为对应服务器的ip地址;本步骤中,不同的服务有不同的znode,服务的名字就是访问的域名,而相同的服务,这个znode是相同的,只有一个能够创建成功,相当于锁,由于均需要启动service,故而只有一台服务器能够成功创建这个服务的znode,此过程相当于服务器在分布式系统中抢锁的过程。S2:在成功创建znode的服务器上启动对外提供服务service,并将所述成功创建znode的值与所述服务service对应的域名建立映射(云平台之外的计算机访问该域名时,则直接解析为znode的值,而由于znode的值为对应服务器的ip地址,故而能够直接访问成功创建znode的服务器,因为这个域名是服务启动时自己注册,服务消亡时一同消失,所以保证了解析域名的正确性,不存在同步dns服务器的问题);S3:当所述服务service停掉(服务器出现故障等问题会导致服务service停掉)后,与所述服务service对应的znode消亡(zookeeper临时对象所实现的功能,相当于锁没有了,无需担心解锁问题),返回步骤S1,继续实现抢锁流程,继续在其他服务器上启动服务service。为保证服务器能够顺利连接zookeeper服务,优选地,步骤S1之前还包括:S0:在所述云平台的M台服务器中选择N台启动zookeeper服务,M不小于N,所述M和N均为不小于1的整数。为保证容错能力,优选地,所述N为最接近M的奇数,之所以这样选择是和zookeeper的容错机制相对应的,即云平台中服务器上有半数以上的zookeeper服务正常,zookeeper就可以正常提供服务,例如集群中有3台服务器启动zookeeper服务,一台服务出现问题,zookeeper服务可以正常使用;当有5台服务器时,2台出现问题,zookeeper服务正常。所以这样的选择,可以使在有[(N+1)/2-1]服务出现问题时,zookeeper依然正常的提供服务,也就说有[(N+1)/2-1]的容错能力。本专利技术还公开了一种服务锁定系统,参照图2,所述系统包括:临时对象创建模块,用于云平台的每台服务器均去连接zookeeper服务,并尝试在所述zookeeper服务中创建一个临时对象znode,所述znode的值为对应服务器的ip地址;映射建立模块,用于在成功创建znode的服务器上启动对外提供服务service,并将所述成功创建znode的值与所述服务service对应的域名建立映射;对象消亡模块,用于当所述服务service停掉后,与所述服务service对应的znode消亡。优选地,所述系统还包括:服务启动模块,用于在所述云平台的M台服务器中选择N台启动zookeeper服务,M不小于N,所述M和N均为不小于1的整数。优选地,所述N为最接近M的奇数。以上实施方式仅用于说明本专利技术,而并非对本专利技术的限制,有关
的普通技术人员,在不脱离本专利技术的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本专利技术的范畴,本专利技术的专利保护范围应由权利要求限定。本文档来自技高网
...
一种服务锁定方法及系统

【技术保护点】

【技术特征摘要】
1.一种服务锁定方法,其特征在于,所述方法包括以下步骤:S1:云平台的每台服务器均去连接zookeeper服务,并尝试在所述zookeeper服务中创建一个临时对象znode,所述znode的值为对应服务器的ip地址;S2:在成功创建znode的服务器上启动对外提供服务service,并将所述成功创建znode的值与所述服务service对应的域名建立映射;S3:当所述服务service停掉后,与所述服务service对应的znode消亡,返回步骤S1。2.如权利要求1所述的方法,其特征在于,步骤S1之前还包括:S0:在所述云平台的M台服务器中选择N台启动zookeeper服务,M不小于N,所述M和N均为不小于1的整数。3.如权利要求2所述的方法,其特征在于,所述N为最接近M的奇数。4.一种服务...

【专利技术属性】
技术研发人员:井淑明
申请(专利权)人:汉柏科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1