一種服務(wù)鎖定方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種服務(wù)鎖定方法及系統(tǒng),涉及云平臺服務(wù)【技術(shù)領(lǐng)域】,所述方法包括以下步驟:S1:云平臺的每臺服務(wù)器均去連接zookeeper服務(wù),并嘗試在所述zookeeper服務(wù)中創(chuàng)建一個臨時對象znode,所述znode的值為對應(yīng)服務(wù)器的ip地址;S2:在成功創(chuàng)建znode的服務(wù)器上啟動對外提供服務(wù)service,并將所述成功創(chuàng)建znode的值與所述服務(wù)service對應(yīng)的域名建立映射;S3:當(dāng)所述服務(wù)service停掉后,與所述服務(wù)service對應(yīng)的znode消亡,返回步驟S1。本發(fā)明通過各步驟之間的配合,使得可對云平臺中的所有服務(wù)器進行加鎖,有效提高云平臺的健壯性。
【專利說明】一種服務(wù)鎖定方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云平臺服務(wù)【技術(shù)領(lǐng)域】,特別涉及一種服務(wù)鎖定方法及系統(tǒng)。
【背景技術(shù)】
[0002]云計算被認為是繼PC及互聯(lián)網(wǎng)以來,第三次的IT浪潮,將會改變?nèi)藗儷@取、處理和保存信息的方式。云計算利用高速互聯(lián)網(wǎng)的傳輸能力,將數(shù)據(jù)的處理過程從個人計算機或服務(wù)器轉(zhuǎn)移到大型的云計算中心,并將計算能力、存儲能力以服務(wù)的方式為用戶提供,用戶能夠像使用電力、自來水等公用設(shè)施一樣使用計算能力,并按使用量進行計費。
[0003]由于現(xiàn)有技術(shù)中的云平臺中只能對本臺服務(wù)器上的服務(wù)進行加鎖,這樣不能限制其他服務(wù)器上服務(wù)的啟動,當(dāng)某臺正在提供服務(wù)的服務(wù)器出現(xiàn)故障時,其他服務(wù)器無法接替該服務(wù)器繼續(xù)提供服務(wù),導(dǎo)致訪問服務(wù)不方便,并且云平臺的健壯性不夠。
【發(fā)明內(nèi)容】
[0004](一)要解決的技術(shù)問題
[0005]本發(fā)明要解決的技術(shù)問題是:如何大幅提高云平臺的健壯性。
[0006](二)技術(shù)方案
[0007]為解決上述技術(shù)問題,本發(fā)明提供了一種服務(wù)鎖定方法,所述方法包括以下步驟:
[0008]S1:云平臺的每臺服務(wù)器均去連接zookeeper服務(wù),并嘗試在所述zookeeper服務(wù)中創(chuàng)建一個臨時對象znode,所述znode的值為對應(yīng)服務(wù)器的ip地址;
[0009]S2:在成功創(chuàng)建znode的服務(wù)器上啟動對外提供服務(wù)service,并將所述成功創(chuàng)建znode的值與所述服務(wù)service對應(yīng)的域名建立映射;
[0010]S3:當(dāng)所述服務(wù)service停掉后,與所述服務(wù)service對應(yīng)的znode消亡,返回步驟SI。
[0011]其中,步驟SI之前還包括:
[0012]SO:在所述云平臺的M臺服務(wù)器中選擇N臺啟動zookeeper服務(wù),M不小于N,所述M和N均為不小于I的整數(shù)。
[0013]其中,所述N為最接近M的奇數(shù)。
[0014]本發(fā)明還公開了一種服務(wù)鎖定系統(tǒng),所述系統(tǒng)包括:
[0015]臨時對象創(chuàng)建模塊,用于云平臺的每臺服務(wù)器均去連接zookeeper服務(wù),并嘗試在所述zookeeper服務(wù)中創(chuàng)建一個臨時對象znode,所述znode的值為對應(yīng)服務(wù)器的ip地址;
[0016]映射建立模塊,用于在成功創(chuàng)建znode的服務(wù)器上啟動對外提供服務(wù)service,并將所述成功創(chuàng)建znode的值與所述服務(wù)service對應(yīng)的域名建立映射;
[0017]對象消亡模塊,用于當(dāng)所述服務(wù)service停掉后,與所述服務(wù)service對應(yīng)的znode消亡。[0018]其中,所述系統(tǒng)還包括:
[0019]服務(wù)啟動模塊,用于在所述云平臺的M臺服務(wù)器中選擇N臺啟動zooke印er服務(wù),M不小于N,所述M和N均為不小于I的整數(shù)。
[0020]其中,所述N為最接近M的奇數(shù)。
[0021](三)有益效果
[0022]本發(fā)明通過各步驟之間的配合,使得可對云平臺中的所有服務(wù)器進行加鎖,有效提高云平臺的健壯性。
[0023]本發(fā)明還利用zookeeper良好的容錯能力, 使云平臺也有了容錯能力
[0024]本發(fā)明還利用zook^per臨時對象的特性,保證了解鎖的可靠性和及時性。
【專利附圖】
【附圖說明】
[0025]圖1是本發(fā)明一種實施方式的服務(wù)鎖定方法的流程框圖;
[0026]圖2是本發(fā)明一種實施方式的服務(wù)鎖定系統(tǒng)的結(jié)構(gòu)框圖。
【具體實施方式】
[0027]下面結(jié)合附圖和實施例,對本發(fā)明的【具體實施方式】作進一步詳細描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
[0028]圖1是本發(fā)明一種實施方式的服務(wù)鎖定方法的流程框圖;參照圖1,所述方法包括以下步驟:
[0029]S1:云平臺的每臺服務(wù)器均去連接zookeeper服務(wù),并嘗試在所述zookeeper服務(wù)中創(chuàng)建一個臨時對象znode (如/dns/service_A/IN/A/managed),所述znode的值為對應(yīng)服務(wù)器的ip地址;
[0030]本步驟中,不同的服務(wù)有不同的znode,服務(wù)的名字就是訪問的域名,而相同的服務(wù),這個znode是相同的,只有一個能夠創(chuàng)建成功,相當(dāng)于鎖,由于均需要啟動service,故而只有一臺服務(wù)器能夠成功創(chuàng)建這個服務(wù)的znode,此過程相當(dāng)于服務(wù)器在分布式系統(tǒng)中搶鎖的過程。
[0031]S2:在成功創(chuàng)建znode的服務(wù)器上啟動對外提供服務(wù)service,并將所述成功創(chuàng)建znode的值與所述服務(wù)service對應(yīng)的域名建立映射(云平臺之外的計算機訪問該域名時,則直接解析為znode的值,而由于znode的值為對應(yīng)服務(wù)器的ip地址,故而能夠直接訪問成功創(chuàng)建znode的服務(wù)器,因為這個域名是服務(wù)啟動時自己注冊,服務(wù)消亡時一同消失,所以保證了解析域名的正確性,不存在同步dns服務(wù)器的問題);
[0032]S3:當(dāng)所述服務(wù)service停掉(服務(wù)器出現(xiàn)故障等問題會導(dǎo)致服務(wù)service停掉)后,與所述服務(wù)service對應(yīng)的znode消亡(zookeeper臨時對象所實現(xiàn)的功能,相當(dāng)于鎖沒有了,無需擔(dān)心解鎖問題),返回步驟SI,繼續(xù)實現(xiàn)搶鎖流程,繼續(xù)在其他服務(wù)器上啟動服務(wù) service。
[0033]為保證服務(wù)器能夠順利連接zook^per服務(wù),優(yōu)選地,步驟SI之前還包括:
[0034]SO:在所述云平臺的M臺服務(wù)器中選擇N臺啟動zookeeper服務(wù),M不小于N,所述M和N均為不小于I的整數(shù)。
[0035]為保證容錯能力,優(yōu)選地,所述N為最接近M的奇數(shù),之所以這樣選擇是和zookeeper的容錯機制相對應(yīng)的,即云平臺中服務(wù)器上有半數(shù)以上的zookeeper服務(wù)正常,zookeeper就可以正常提供服務(wù),例如集群中有3臺服務(wù)器啟動zookeeper服務(wù),一臺服務(wù)出現(xiàn)問題,zookeeper服務(wù)可以正常使用;當(dāng)有5臺服務(wù)器時,2臺出現(xiàn)問題,zookeeper服務(wù)正常。所以這樣的選擇,可以使在有[(N+l)/2-l]服務(wù)出現(xiàn)問題時,zooke印er依然正常的提供服務(wù),也就說有[(N+l)/2-1]的容錯能力。
[0036]本發(fā)明還公開了一種服務(wù)鎖定系統(tǒng),參照圖2,所述系統(tǒng)包括:
[0037]臨時對象創(chuàng)建模塊,用于云平臺的每臺服務(wù)器均去連接zookeeper服務(wù),并嘗試在所述zookeeper服務(wù)中創(chuàng)建一個臨時對象znode,所述znode的值為對應(yīng)服務(wù)器的ip地址;
[0038]映射建立模塊,用于在成功創(chuàng)建znode的服務(wù)器上啟動對外提供服務(wù)service,并將所述成功創(chuàng)建znode的值與所述服務(wù)service對應(yīng)的域名建立映射;
[0039]對象消亡模塊,用于當(dāng)所述服務(wù)service停掉后,與所述服務(wù)service對應(yīng)的znode消亡。
[0040]優(yōu)選地,所述系統(tǒng)還包括:
[0041]服務(wù)啟動模塊,用于在所述云平臺的M臺服務(wù)器中選擇N臺啟動zooke印er服務(wù),M不小于N,所述M和N均為不小于I的整數(shù)。
[0042]優(yōu)選地,所述N為最接近M的奇數(shù)。
[0043]以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關(guān)【技術(shù)領(lǐng)域】的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應(yīng)由權(quán)利要求限定。
【權(quán)利要求】
1.一種服務(wù)鎖定方法,其特征在于,所述方法包括以下步驟: 51:云平臺的每臺服務(wù)器均去連接zookeeper服務(wù),并嘗試在所述zookeeper服務(wù)中創(chuàng)建一個臨時對象znode,所述znode的值為對應(yīng)服務(wù)器的ip地址; 52:在成功創(chuàng)建znode的服務(wù)器上啟動對外提供服務(wù)service,并將所述成功創(chuàng)建znode的值與所述服務(wù)service對應(yīng)的域名建立映射;53:當(dāng)所述服務(wù)service停掉后,與所述服務(wù)service對應(yīng)的znode消亡,返回步驟SI。
2.如權(quán)利要求1所述的方法,其特征在于,步驟SI之前還包括: SO:在所述云平臺的M臺服務(wù)器中選擇N臺啟動zookeeper服務(wù),M不小于N,所述M和N均為不小于I的整數(shù)。
3.如權(quán)利要求2所述的方法,其特征在于,所述N為最接近M的奇數(shù)。
4.一種服務(wù)鎖定系統(tǒng),其特征在于,所述系統(tǒng)包括: 臨時對象創(chuàng)建模塊,用于云平臺的每臺服務(wù)器均去連接zookeeper服務(wù),并嘗試在所述zookeeper服務(wù)中創(chuàng)建一個臨時對象znode,所述znode的值為對應(yīng)服務(wù)器的ip地址;映射建立模塊,用于在成功創(chuàng)建znode的服務(wù)器上啟動對外提供服務(wù)service,并將所述成功創(chuàng)建znode的值與所述服務(wù)service對應(yīng)的域名建立映射; 對象消亡模塊,用于當(dāng)所述服務(wù)service停掉后,與所述服務(wù)service對應(yīng)的znode消亡。
5.如權(quán)利要求4所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 服務(wù)啟動模塊,用于在所述云平臺的M臺服務(wù)器中選擇N臺啟動zooke^er服務(wù),M不小于N,所述M和N均為不小于I的整數(shù)。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述N為最接近M的奇數(shù)。
【文檔編號】H04L29/08GK103747044SQ201310722587
【公開日】2014年4月23日 申請日期:2013年12月24日 優(yōu)先權(quán)日:2013年12月24日
【發(fā)明者】井淑明 申請人:漢柏科技有限公司