国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      單點(diǎn)服務(wù)處理裝置和單點(diǎn)服務(wù)處理方法

      文檔序號(hào):7708053閱讀:144來源:國知局
      專利名稱:單點(diǎn)服務(wù)處理裝置和單點(diǎn)服務(wù)處理方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體而言,涉及一種單點(diǎn)服務(wù)處理裝置和一種單點(diǎn)服務(wù)處理方法。
      背景技術(shù)
      隨著企業(yè)應(yīng)用軟件的發(fā)展,軟件的規(guī)模正在不斷擴(kuò)大,軟件的用戶也在不斷增加。在許多大型的服務(wù)器軟件應(yīng)用中,為了提高軟件運(yùn)行的性能,和保障服務(wù)器軟件的穩(wěn)定運(yùn)行,很多服務(wù)器軟件部署采用集群方式進(jìn)行部署和運(yùn)行。這種集群的方式可以通過將軟件部署在多個(gè)節(jié)點(diǎn),多臺(tái)物理服務(wù)器上,來增加用戶訪問的承載量,提高用戶請求的處理能力,并且還可以保證單個(gè)物理服務(wù)器出現(xiàn)異常的時(shí)候,如斷電,物理損壞等,服務(wù)程序依然能夠正常運(yùn)行。在這種集群應(yīng)用環(huán)境下,服務(wù)器的各個(gè)部署節(jié)點(diǎn)都相當(dāng)于一臺(tái)獨(dú)立服務(wù)器,它的運(yùn)行相對(duì)其它節(jié)點(diǎn)獨(dú)立和隔離的,然而在一些情況下為了保證數(shù)據(jù)的一致性,和數(shù)據(jù)處理唯一性,很多程序處理,需要同一時(shí)間在集群中單個(gè)部署節(jié)點(diǎn)上來運(yùn)行,而不能在集群的每一個(gè)部署節(jié)點(diǎn)上同時(shí)運(yùn)行,如定時(shí)調(diào)度程序、郵件自動(dòng)處理程序,短信自動(dòng)處理程序,文件處理程序等,以下將這些單一節(jié)點(diǎn)上運(yùn)行的程序處理稱為單點(diǎn)服務(wù)或單點(diǎn)服務(wù)程序。如果這些服務(wù)同時(shí)運(yùn)行多次,將會(huì)出現(xiàn)數(shù)據(jù)處理重復(fù)和服務(wù)器各節(jié)點(diǎn)數(shù)據(jù)不一致等問題。在單點(diǎn)服務(wù)程序中,很多服務(wù)都是服務(wù)內(nèi)部運(yùn)行的程序,自行處理數(shù)據(jù)的一些服務(wù)程序,這些服務(wù)一般對(duì)運(yùn)行可靠性要求較高,因?yàn)檫@些內(nèi)部處理程序在程序出錯(cuò)或停止運(yùn)行是很難發(fā)現(xiàn)的,一旦這些服務(wù)發(fā)生意外而不能運(yùn)行,可能會(huì)導(dǎo)致了整個(gè)集群環(huán)境不能運(yùn)行。目前大多數(shù)集群服務(wù)器,都支持單點(diǎn)服務(wù)程序的部署,就是將這些單點(diǎn)服務(wù)程序只部署并運(yùn)行在一臺(tái)特定服務(wù)器的一個(gè)節(jié)點(diǎn)上,如主服務(wù)節(jié)點(diǎn)(Master)上,其他節(jié)點(diǎn)上 (Slave)不能運(yùn)行這些單點(diǎn)服務(wù)程序,這種部署策略是目前集群應(yīng)用最常見的。雖然在集群服務(wù)器下,通過單點(diǎn)服務(wù)部署保證了數(shù)據(jù)處理的一致性和唯一性,但是也喪失了集群服務(wù)優(yōu)勢,首先,部署單點(diǎn)服務(wù)的服務(wù)器發(fā)生異常的情況下(單點(diǎn)失效 Single Point Failure),單節(jié)點(diǎn)服務(wù)程序?qū)⒉荒茉僬_\(yùn)行;其次,調(diào)用單點(diǎn)服務(wù)時(shí)需要集中訪問特定的集群節(jié)點(diǎn)服務(wù)器,如果這樣的單點(diǎn)服務(wù)較多或者調(diào)用次數(shù)較多,會(huì)導(dǎo)致集群的負(fù)載不均衡,從而性能下降。因此,需求一種新的單點(diǎn)服務(wù)部署方式,既能夠保證服務(wù)器集群處理數(shù)據(jù)的一致性和唯一性,又能保證將數(shù)據(jù)處理的負(fù)擔(dān)均衡分?jǐn)偟郊褐械拿總€(gè)服務(wù)器上,同時(shí)能夠避免單個(gè)服務(wù)器異常帶來的服務(wù)中止的影響。

      發(fā)明內(nèi)容
      本發(fā)明所要解決的技術(shù)問題在于,提供一種新的單點(diǎn)服務(wù)部署方式,既能夠保證服務(wù)器集群處理數(shù)據(jù)的一致性和唯一性,又能保證將數(shù)據(jù)處理的負(fù)擔(dān)均衡分?jǐn)偟郊褐械拿總€(gè)服務(wù)器上,同時(shí)能夠避免單個(gè)服務(wù)器異常帶來的服務(wù)中止的影響。有鑒于此,本發(fā)明提供一種單點(diǎn)服務(wù)處理裝置,包括規(guī)則設(shè)置模塊,設(shè)置啟動(dòng)規(guī)則;服務(wù)器選擇模塊,在服務(wù)器集群中,根據(jù)啟動(dòng)規(guī)則選擇服務(wù)器,并在指定的服務(wù)器上啟動(dòng)單點(diǎn)服務(wù)。通過該技術(shù)方案,保證了在集群服務(wù)器中,單點(diǎn)服務(wù)啟動(dòng)的唯一性。在上述技術(shù)方案中,優(yōu)選地,還包括第一同步處理模塊,在服務(wù)器上成功啟動(dòng)單點(diǎn)服務(wù)時(shí),阻止服務(wù)器集群中的其他服務(wù)器運(yùn)行單點(diǎn)服務(wù)。通過該技術(shù)方案,在指定服務(wù)器啟動(dòng)單點(diǎn)服務(wù)后,同步通知其他服務(wù)器禁止運(yùn)行該單點(diǎn)服務(wù),保證各服務(wù)器處理數(shù)據(jù)的一致性和唯一性。在上述技術(shù)方案中,優(yōu)選地,還包括第二同步處理模塊,將服務(wù)器中通過運(yùn)行單點(diǎn)服務(wù)得到的數(shù)據(jù),同步到其他服務(wù)器中。通過該技術(shù)方案,保證了啟動(dòng)其他服務(wù)器運(yùn)行單點(diǎn)服務(wù)器,具備的數(shù)據(jù)與當(dāng)前服務(wù)器一致。在上述技術(shù)方案中,優(yōu)選地,還包括異常處理模塊,運(yùn)行有單點(diǎn)服務(wù)的服務(wù)器中向其他服務(wù)器發(fā)送預(yù)定類型的信息,在其他服務(wù)器未接收到信息時(shí),確定服務(wù)器發(fā)生異常, 并通知服務(wù)器選擇模塊在服務(wù)器集群中選擇新的服務(wù)器來運(yùn)行單點(diǎn)服務(wù)。通過該技術(shù)方案,在運(yùn)行單點(diǎn)服務(wù)的服務(wù)器異常時(shí),啟動(dòng)其他服務(wù)器運(yùn)行單點(diǎn)服務(wù),保證了單點(diǎn)服務(wù)的工作穩(wěn)定性。在上述技術(shù)方案中,優(yōu)選地,啟動(dòng)規(guī)則包括服務(wù)器集群中的每個(gè)服務(wù)器的CPU和 /或內(nèi)存的占用率;為每個(gè)服務(wù)器預(yù)先設(shè)置的啟動(dòng)單點(diǎn)服務(wù)的順序。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明技術(shù)方案適用的啟動(dòng)規(guī)則可以是多種,不限于列舉的這兩種。本發(fā)明還提供一種單點(diǎn)服務(wù)處理方法,包括步驟202,設(shè)置啟動(dòng)規(guī)則;步驟204, 在服務(wù)器集群中,根據(jù)啟動(dòng)規(guī)則選擇服務(wù)器,并在服務(wù)器上啟動(dòng)單點(diǎn)服務(wù)。通過該技術(shù)方案,保證了在集群服務(wù)器中,單點(diǎn)服務(wù)啟動(dòng)的唯一性。在上述技術(shù)方案中,優(yōu)選地,還包括在服務(wù)器上成功啟動(dòng)單點(diǎn)服務(wù)時(shí),同時(shí)阻止服務(wù)器集群中的其他服務(wù)器運(yùn)行單點(diǎn)服務(wù)。通過該技術(shù)方案,在指定服務(wù)器啟動(dòng)單點(diǎn)服務(wù)后,同步通知其他服務(wù)器禁止運(yùn)行該單點(diǎn)服務(wù),保證各服務(wù)器處理數(shù)據(jù)的一致性和唯一性。在上述技術(shù)方案中,優(yōu)選地,還包括將服務(wù)器中通過運(yùn)行單點(diǎn)服務(wù)得到的數(shù)據(jù), 同步到其他服務(wù)器中。通過該技術(shù)方案,保證了啟動(dòng)其他服務(wù)器運(yùn)行單點(diǎn)服務(wù)器,具備的數(shù)據(jù)與當(dāng)前服務(wù)器一致。在上述技術(shù)方案中,優(yōu)選地,還包括運(yùn)行有單點(diǎn)服務(wù)的服務(wù)器中向其他服務(wù)器發(fā)送預(yù)定類型的信息,在其他服務(wù)器未接收到信息時(shí),確定服務(wù)器發(fā)生異常,并在服務(wù)器集群中選擇新的服務(wù)器來運(yùn)行單點(diǎn)服務(wù)。通過該技術(shù)方案,在運(yùn)行單點(diǎn)服務(wù)的服務(wù)器異常時(shí),啟動(dòng)其他服務(wù)器運(yùn)行單點(diǎn)服務(wù),保證了單點(diǎn)服務(wù)的工作穩(wěn)定性。在上述技術(shù)方案中,優(yōu)選地,啟動(dòng)規(guī)則包括服務(wù)器集群中的每個(gè)服務(wù)器的CPU和 /或內(nèi)存的占用率;為每個(gè)服務(wù)器預(yù)先設(shè)置的啟動(dòng)單點(diǎn)服務(wù)的順序。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明技術(shù)方案適用的啟動(dòng)規(guī)則可以是多種,不限于列舉的這兩種。根據(jù)以上技術(shù)方案,可以實(shí)現(xiàn)一種單點(diǎn)服務(wù)處理裝置和一種單點(diǎn)服務(wù)處理方法, 既能夠保證服務(wù)器集群處理數(shù)據(jù)的一致性和唯一性,又能保證將數(shù)據(jù)處理的負(fù)擔(dān)均衡分?jǐn)偟郊褐械拿總€(gè)服務(wù)器上,同時(shí)能夠避免單個(gè)服務(wù)器異常帶來的服務(wù)中止的影響。


      圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的單點(diǎn)服務(wù)處理裝置的框圖;圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的單點(diǎn)服務(wù)處理方法的流程圖;圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的單點(diǎn)服務(wù)處理方法的流程示意圖;圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的單點(diǎn)服務(wù)處理方法的單點(diǎn)服務(wù)部署的示意圖;圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的單點(diǎn)服務(wù)處理方法中單點(diǎn)服務(wù)的啟動(dòng)和運(yùn)行的流程示意圖;圖6是根據(jù)本發(fā)明的一個(gè)實(shí)施例的單點(diǎn)服務(wù)處理方法中單點(diǎn)服務(wù)異常時(shí)進(jìn)行恢復(fù)的流程示意圖。
      具體實(shí)施例方式為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式
      對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實(shí)施,因此,本發(fā)明并不限于下面公開的具體實(shí)施例的限制。圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的單點(diǎn)服務(wù)處理裝置的框圖。如圖1所示,本發(fā)明提供一種單點(diǎn)服務(wù)處理裝置100,包括規(guī)則設(shè)置模塊102,設(shè)置啟動(dòng)規(guī)則;服務(wù)器選擇模塊104,在服務(wù)器集群中,根據(jù)啟動(dòng)規(guī)則選擇服務(wù)器,并在服務(wù)器上啟動(dòng)單點(diǎn)服務(wù)。通過該技術(shù)方案,保證了在集群服務(wù)器中,單點(diǎn)服務(wù)啟動(dòng)的唯一性。在上述技術(shù)方案中,還包括第一同步處理模塊106,在服務(wù)器上成功啟動(dòng)單點(diǎn)服務(wù)時(shí),阻止服務(wù)器集群中的其他服務(wù)器運(yùn)行單點(diǎn)服務(wù)。通過該技術(shù)方案,在指定服務(wù)器啟動(dòng)單點(diǎn)服務(wù)后,同步通知其他服務(wù)器禁止運(yùn)行該單點(diǎn)服務(wù),保證各服務(wù)器處理數(shù)據(jù)的一致性和唯一性。在上述技術(shù)方案中,還包括第二同步處理模塊108,將服務(wù)器中通過運(yùn)行單點(diǎn)服務(wù)得到的數(shù)據(jù),同步到其他服務(wù)器中。通過該技術(shù)方案,保證了啟動(dòng)其他服務(wù)器運(yùn)行單點(diǎn)服務(wù)器,具備的數(shù)據(jù)與當(dāng)前服務(wù)器一致。在上述技術(shù)方案中,還包括異常處理模塊110,運(yùn)行有單點(diǎn)服務(wù)的服務(wù)器中向其他服務(wù)器發(fā)送預(yù)定類型的信息,在其他服務(wù)器未接收到信息時(shí),確定服務(wù)器發(fā)生異常,并通知服務(wù)器選擇模塊104在服務(wù)器集群中選擇新的服務(wù)器來運(yùn)行單點(diǎn)服務(wù)。通過該技術(shù)方案,在運(yùn)行單點(diǎn)服務(wù)的服務(wù)器異常時(shí),啟動(dòng)其他服務(wù)器運(yùn)行單點(diǎn)服務(wù),保證了單點(diǎn)服務(wù)的工作穩(wěn)定性。在上述技術(shù)方案中,啟動(dòng)規(guī)則包括服務(wù)器集群中的每個(gè)服務(wù)器的CPU和/或內(nèi)存的占用率;為每個(gè)服務(wù)器預(yù)先設(shè)置的啟動(dòng)單點(diǎn)服務(wù)的順序。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明技術(shù)方案適用的啟動(dòng)規(guī)則可以是多種,不限于列舉的這兩種。圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的單點(diǎn)服務(wù)處理方法的流程圖。如圖2所示,本發(fā)明還提供一種單點(diǎn)服務(wù)處理方法,包括步驟202,設(shè)置啟動(dòng)規(guī)則;步驟204,在服務(wù)器集群中,根據(jù)啟動(dòng)規(guī)則選擇服務(wù)器,并在服務(wù)器上啟動(dòng)單點(diǎn)服務(wù)。通過該技術(shù)方案,保證了在集群服務(wù)器中,單點(diǎn)服務(wù)啟動(dòng)的唯一性。
      5
      在上述技術(shù)方案中,還包括在服務(wù)器上成功啟動(dòng)單點(diǎn)服務(wù)時(shí),同時(shí)阻止服務(wù)器集群中的其他服務(wù)器運(yùn)行單點(diǎn)服務(wù)。通過該技術(shù)方案,在指定服務(wù)器啟動(dòng)單點(diǎn)服務(wù)后,同步通知其他服務(wù)器禁止運(yùn)行該單點(diǎn)服務(wù),保證各服務(wù)器處理數(shù)據(jù)的一致性和唯一性。在上述技術(shù)方案中,還包括將服務(wù)器中通過運(yùn)行單點(diǎn)服務(wù)得到的數(shù)據(jù),同步到其他服務(wù)器中。通過該技術(shù)方案,保證了啟動(dòng)其他服務(wù)器運(yùn)行單點(diǎn)服務(wù)器,具備的數(shù)據(jù)與當(dāng)前服務(wù)器一致。在上述技術(shù)方案中,還包括運(yùn)行有單點(diǎn)服務(wù)的服務(wù)器中向其他服務(wù)器發(fā)送預(yù)定類型的信息,在其他服務(wù)器未接收到信息時(shí),確定服務(wù)器發(fā)生異常,并在服務(wù)器集群中選擇新的服務(wù)器來運(yùn)行單點(diǎn)服務(wù)。通過該技術(shù)方案,在運(yùn)行單點(diǎn)服務(wù)的服務(wù)器異常時(shí),啟動(dòng)其他服務(wù)器運(yùn)行單點(diǎn)服務(wù),保證了單點(diǎn)服務(wù)的工作穩(wěn)定性。在上述技術(shù)方案中,啟動(dòng)規(guī)則包括服務(wù)器集群中的每個(gè)服務(wù)器的CPU和/或內(nèi)存的占用率;為每個(gè)服務(wù)器預(yù)先設(shè)置的啟動(dòng)單點(diǎn)服務(wù)的順序。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明技術(shù)方案適用的啟動(dòng)規(guī)則可以是多種,不限于列舉的這兩種。圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的單點(diǎn)服務(wù)處理方法的流程示意圖。如圖3所示,本文提出的集群應(yīng)用中,實(shí)現(xiàn)單點(diǎn)服務(wù)的運(yùn)行保障機(jī)制,主要工作流程如下步驟302,在集群中的一個(gè)服務(wù)器上啟動(dòng)單點(diǎn)服務(wù);步驟304,在該服務(wù)器上運(yùn)行單點(diǎn)服務(wù);步驟306,在該服務(wù)器上,進(jìn)行單點(diǎn)服務(wù)異常檢查;步驟308,判斷是否發(fā)生異常,如果未發(fā)生異常,則在預(yù)定時(shí)間或預(yù)定間隔之后,返回步驟306,再次進(jìn)行異常檢查,如果發(fā)生異常,則返回步驟302,重現(xiàn)挑選服務(wù)器來運(yùn)行單點(diǎn)服務(wù)。根據(jù)以上步驟,可知在本發(fā)明技術(shù)方案中,單點(diǎn)服務(wù)的部署,與目前的單點(diǎn)服務(wù)部署方式不同,他不是將單點(diǎn)服務(wù)部署到一臺(tái)指定的集群服務(wù)器節(jié)點(diǎn)上,而是將單點(diǎn)服務(wù)部署在所有的集群服務(wù)器節(jié)點(diǎn)上,其部署形態(tài)如圖4所示。其中,消息同步服務(wù)用于在集群環(huán)境中各部署節(jié)點(diǎn)之間進(jìn)行消息傳遞和數(shù)據(jù)同步,有多種數(shù)據(jù)方式實(shí)現(xiàn),如基于消息中間件或數(shù)據(jù)庫方式,實(shí)現(xiàn)單點(diǎn)服務(wù)只在集群服務(wù)器中指定的一個(gè)服務(wù)器上運(yùn)行,以及同步所有服務(wù)器的數(shù)據(jù)的功能。本發(fā)明的技術(shù)方案中,主要包括兩個(gè)重點(diǎn)內(nèi)容單點(diǎn)服務(wù)運(yùn)行的唯一性和單點(diǎn)服務(wù)的異?;謴?fù),以下通過實(shí)施例對(duì)該兩個(gè)內(nèi)容進(jìn)行詳細(xì)說明。根據(jù)本發(fā)明的一個(gè)實(shí)施例的單點(diǎn)服務(wù)處理方法中,單點(diǎn)服務(wù)的啟動(dòng)和運(yùn)行的具體處理過程如圖5所示。如圖5所示,在本實(shí)施例中,單點(diǎn)服務(wù)程序的啟動(dòng)和運(yùn)行過程與普通的服務(wù)程序主要區(qū)別在于,普通服務(wù)程序的啟動(dòng)和運(yùn)行是相對(duì)獨(dú)立的,每一個(gè)集群節(jié)點(diǎn)自行處理服務(wù)程序的啟動(dòng)和運(yùn)行。而單點(diǎn)服務(wù)的啟動(dòng)和運(yùn)行需要保證啟動(dòng)和運(yùn)行的唯一性,即同一時(shí)間區(qū)間內(nèi)只有一個(gè)集群節(jié)點(diǎn)運(yùn)行單點(diǎn)服務(wù)。在本實(shí)施例中,中通過一種可擴(kuò)展可配置的啟動(dòng)規(guī)則來保證單點(diǎn)服務(wù)啟動(dòng)的唯一性;而通過集群節(jié)點(diǎn)間的消息同步機(jī)制保證了單點(diǎn)服務(wù)運(yùn)行的唯一性、可靠性,具體步驟如下 步驟502,啟動(dòng)集群服務(wù)器。
      步驟504,根據(jù)單點(diǎn)服務(wù)啟動(dòng)規(guī)則選擇指定的集群節(jié)點(diǎn)。在本實(shí)施例中的技術(shù)方案中,提供了可擴(kuò)展可配置的啟動(dòng)規(guī)則。在單點(diǎn)服務(wù)啟動(dòng)過程中,通過啟動(dòng)規(guī)則來決定個(gè)集群節(jié)點(diǎn)中單點(diǎn)服務(wù)的啟動(dòng)順序,這種規(guī)則可以有多種實(shí)現(xiàn)方式,也可以根據(jù)需要進(jìn)行擴(kuò)展定義,并且不同的單點(diǎn)服務(wù)程序可以通過配置指定不同的啟動(dòng)規(guī)則。目前常用的啟動(dòng)規(guī)則如下1、為了提高集群的性能,在單點(diǎn)服務(wù)啟動(dòng)時(shí)可以根據(jù)當(dāng)前各個(gè)服務(wù)器的運(yùn)行情況 (如服務(wù)器CPU和內(nèi)存占用率)來決定哪個(gè)集群節(jié)點(diǎn)的單點(diǎn)服務(wù)優(yōu)先啟動(dòng)。2、直接通過配置指定集群節(jié)點(diǎn)中單點(diǎn)服務(wù)的啟動(dòng)順序。步驟506,通過消息機(jī)制發(fā)送消息阻止其他節(jié)點(diǎn)單點(diǎn)服務(wù)運(yùn)行。其中,本實(shí)施例的技術(shù)方案,提供了集群節(jié)點(diǎn)間消息同步機(jī)制。在單點(diǎn)服務(wù)運(yùn)行過程中,通過指定的消息同步機(jī)制,在集群各節(jié)點(diǎn)進(jìn)行消息和數(shù)據(jù)傳遞,這種消息機(jī)制可以通過多種方式來實(shí)現(xiàn),常用的實(shí)現(xiàn)方式有通過集群消息中間件來實(shí)現(xiàn)或者通過集群內(nèi)共享的數(shù)據(jù)庫來實(shí)現(xiàn)。單點(diǎn)服務(wù)運(yùn)行的同時(shí),通過并發(fā)的線程定時(shí)調(diào)用集群節(jié)點(diǎn)的消息同步機(jī)制,向所有其他集群節(jié)點(diǎn)發(fā)送消息,阻止這些節(jié)點(diǎn)內(nèi)單點(diǎn)服務(wù)的運(yùn)行。通過這種方式保證了單點(diǎn)服務(wù)運(yùn)行的唯一性。步驟508,執(zhí)行單點(diǎn)服務(wù)程序。步驟510,通過消息機(jī)制同步所有服務(wù)器節(jié)點(diǎn)單點(diǎn)服務(wù)數(shù)據(jù)。一些數(shù)據(jù)在單點(diǎn)服務(wù)程序處理后的可能與其它未運(yùn)行的單點(diǎn)服務(wù)的集群節(jié)點(diǎn)上的數(shù)據(jù)產(chǎn)生不一致,在單點(diǎn)服務(wù)程序進(jìn)行數(shù)據(jù)處理后,通過調(diào)用消息同步機(jī)制,將處理后的數(shù)據(jù)同步到所有節(jié)點(diǎn)上。根據(jù)本發(fā)明的一個(gè)實(shí)施例的單點(diǎn)服務(wù)處理方法中,單點(diǎn)服務(wù)異常時(shí)的恢復(fù)的具體處理過程如圖6所示。步驟602,運(yùn)行中的單點(diǎn)服務(wù),會(huì)定時(shí)向集群服務(wù)器中的所有其他節(jié)點(diǎn)發(fā)送消息, 表示當(dāng)前單點(diǎn)服務(wù)正在運(yùn)行,被阻塞的單點(diǎn)服務(wù)會(huì)定時(shí)檢測這些消息;步驟604,其他節(jié)點(diǎn)上,被阻塞的單點(diǎn)服務(wù)判斷是否已經(jīng)接收到消息,被阻塞的單點(diǎn)服務(wù)在接到消息時(shí)將計(jì)時(shí)器清零,重新開始計(jì)時(shí),返回步驟602 ;步驟606,當(dāng)阻塞中的單點(diǎn)服務(wù)在指定的時(shí)間間隔內(nèi)未收到消息,表示當(dāng)前單點(diǎn)服務(wù)發(fā)生異常需要恢復(fù)運(yùn)行;步驟608,阻塞中的單點(diǎn)服務(wù)進(jìn)入待啟動(dòng)狀態(tài),當(dāng)所有的阻塞的單點(diǎn)服務(wù)全部進(jìn)入待啟用狀態(tài)時(shí),集群服務(wù)器將重新通過選擇服務(wù)器,來啟動(dòng)運(yùn)行單點(diǎn)服務(wù)。根據(jù)以上步驟,實(shí)現(xiàn)定時(shí)調(diào)度程序的運(yùn)行的實(shí)施例如下。其中,定時(shí)調(diào)度程序是最為典型的單點(diǎn)服務(wù)程序。1、將定時(shí)調(diào)度服務(wù)程序部署到集群服務(wù)器的每一節(jié)點(diǎn),并配置單點(diǎn)服務(wù)的啟動(dòng)規(guī)則,這里采用服務(wù)器CPU占用率低的優(yōu)先啟動(dòng)的規(guī)則。2、啟動(dòng)集群服務(wù),當(dāng)所有集群節(jié)點(diǎn)啟動(dòng)后,根據(jù)規(guī)則CPU占用率低的集群節(jié)點(diǎn)的定時(shí)調(diào)度服務(wù)將啟動(dòng),其他節(jié)點(diǎn)的調(diào)度服務(wù)處于阻塞狀態(tài)。3、定時(shí)調(diào)度服務(wù)將啟動(dòng)兩個(gè)并發(fā)線程,一個(gè)用于執(zhí)行調(diào)度服務(wù),一個(gè)用于定時(shí) (如每30秒一次)向其他集群節(jié)點(diǎn)發(fā)送消息(這里發(fā)送消息采用消息中間件來實(shí)現(xiàn)),通知其他節(jié)點(diǎn)調(diào)度服務(wù)正在運(yùn)行。4、調(diào)度服務(wù)處理完數(shù)據(jù)后如果存在需要同步的數(shù)據(jù)(如在服務(wù)器創(chuàng)建了文件),將通過消息機(jī)制將數(shù)據(jù)同步到所有集群節(jié)點(diǎn)。5、定時(shí)調(diào)度服務(wù)被阻塞集群服務(wù)器節(jié)點(diǎn),定時(shí)監(jiān)聽并接收已啟動(dòng)的調(diào)度服務(wù)發(fā)過來的消息,如果在指定的時(shí)間內(nèi)(如60秒內(nèi),必須大于發(fā)送的時(shí)間間隔)收到消息則重新計(jì)時(shí),如果未收到消息則表明當(dāng)前定時(shí)調(diào)度服務(wù)出現(xiàn)異常,沒有運(yùn)行,此時(shí)處于阻塞狀態(tài)的調(diào)度服務(wù)將被激活,變?yōu)榇龁?dòng)狀態(tài)。6、所有集群服務(wù)器節(jié)點(diǎn)的調(diào)度服務(wù)全部進(jìn)入待啟動(dòng)狀態(tài)時(shí),重新進(jìn)入定時(shí)調(diào)度服務(wù)的啟動(dòng)過程。綜上所述,根據(jù)本發(fā)明的技術(shù)方案,可以實(shí)現(xiàn)一種單點(diǎn)服務(wù)處理裝置和一種單點(diǎn)服務(wù)處理方法,在集群應(yīng)用環(huán)境中實(shí)現(xiàn)了單點(diǎn)服務(wù)的一種運(yùn)行保障機(jī)制,非常適用于集群環(huán)境下的一些要求單點(diǎn)運(yùn)行的內(nèi)部處理服務(wù),并且保證只要該集群環(huán)境中有一個(gè)節(jié)點(diǎn)可以正常運(yùn)行,指定的服務(wù)就可以正常運(yùn)行的應(yīng)用場景。通過本發(fā)明的技術(shù)方案,不但保證了一些內(nèi)部處理程序在集群環(huán)境下的運(yùn)行的唯一性,而且兼顧了集群環(huán)境的可靠性,充分發(fā)揮了集群的作用,同時(shí)也簡化了服務(wù)的部署,實(shí)現(xiàn)了原來需要部署為單節(jié)點(diǎn)的服務(wù),可以像其他普通一樣部署。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1.一種單點(diǎn)服務(wù)處理裝置,其特征在于,包括規(guī)則設(shè)置模塊,設(shè)置啟動(dòng)規(guī)則;服務(wù)器選擇模塊,在服務(wù)器集群中,根據(jù)所述啟動(dòng)規(guī)則選擇服務(wù)器,并在所述服務(wù)器上啟動(dòng)單點(diǎn)服務(wù)。
      2.根據(jù)權(quán)利要求1所述的單點(diǎn)服務(wù)處理裝置,其特征在于,還包括第一同步處理模塊,在所述服務(wù)器上成功啟動(dòng)單點(diǎn)服務(wù)時(shí),阻止所述服務(wù)器集群中的其他服務(wù)器運(yùn)行所述單點(diǎn)服務(wù)。
      3.根據(jù)權(quán)利要求1所述的單點(diǎn)服務(wù)處理裝置,其特征在于,還包括第二同步處理模塊,將所述服務(wù)器中通過運(yùn)行所述單點(diǎn)服務(wù)得到的數(shù)據(jù),同步到所述其他服務(wù)器中。
      4.根據(jù)權(quán)利要求1所述的單點(diǎn)服務(wù)處理裝置,其特征在于,還包括異常處理模塊,運(yùn)行有所述單點(diǎn)服務(wù)的所述服務(wù)器向所述其他服務(wù)器發(fā)送預(yù)定類型的信息,在所述其他服務(wù)器未接收到所述信息時(shí),確定所述服務(wù)器發(fā)生異常,并通知所述服務(wù)器選擇模塊在所述服務(wù)器集群中選擇新的服務(wù)器來運(yùn)行所述單點(diǎn)服務(wù)。
      5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的單點(diǎn)服務(wù)處理裝置,其特征在于,所述啟動(dòng)規(guī)則包括所述服務(wù)器集群中的每個(gè)服務(wù)器的CPU和/或內(nèi)存的占用率;為所述每個(gè)服務(wù)器預(yù)先設(shè)置的啟動(dòng)所述單點(diǎn)服務(wù)的順序。
      6.一種單點(diǎn)服務(wù)處理方法,其特征在于,包括步驟202,設(shè)置啟動(dòng)規(guī)則;步驟204,在服務(wù)器集群中,根據(jù)所述啟動(dòng)規(guī)則選擇服務(wù)器,并在所述服務(wù)器上啟動(dòng)單點(diǎn)服務(wù)。
      7.根據(jù)權(quán)利要求6所述的單點(diǎn)服務(wù)處理方法,其特征在于,還包括在所述服務(wù)器上成功啟動(dòng)單點(diǎn)服務(wù)時(shí),同時(shí)阻止所述服務(wù)器集群中的其他服務(wù)器運(yùn)行所述單點(diǎn)服務(wù)。
      8.根據(jù)權(quán)利要求6所述的單點(diǎn)服務(wù)處理方法,其特征在于,還包括將所述服務(wù)器中通過運(yùn)行所述單點(diǎn)服務(wù)得到的數(shù)據(jù),同步到所述其他服務(wù)器中。
      9.根據(jù)權(quán)利要求6所述的單點(diǎn)服務(wù)處理方法,其特征在于,還包括運(yùn)行有所述單點(diǎn)服務(wù)的所述服務(wù)器中向所述其他服務(wù)器發(fā)送預(yù)定類型的信息,在所述其他服務(wù)器未接收到所述信息時(shí),確定所述服務(wù)器發(fā)生異常,并在所述服務(wù)器集群中選擇新的服務(wù)器來運(yùn)行所述單點(diǎn)服務(wù)。
      10.根據(jù)權(quán)利要求6至9中任一項(xiàng)所述的單點(diǎn)服務(wù)處理方法,其特征在于,所述啟動(dòng)規(guī)則包括所述服務(wù)器集群中的每個(gè)服務(wù)器的CPU和/或內(nèi)存的占用率;為所述每個(gè)服務(wù)器預(yù)先設(shè)置的啟動(dòng)所述單點(diǎn)服務(wù)的順序。
      全文摘要
      本發(fā)明提供一種單點(diǎn)服務(wù)處理裝置和一種單點(diǎn)服務(wù)處理方法。其中,單點(diǎn)服務(wù)處理裝置包括規(guī)則設(shè)置模塊102,設(shè)置啟動(dòng)規(guī)則;服務(wù)器選擇模塊104,在服務(wù)器集群中,根據(jù)啟動(dòng)規(guī)則選擇服務(wù)器,并在服務(wù)器上啟動(dòng)單點(diǎn)服務(wù)。通過本發(fā)明,保證了在集群服務(wù)器中,單點(diǎn)服務(wù)啟動(dòng)的唯一性。
      文檔編號(hào)H04L29/08GK102255960SQ20111017764
      公開日2011年11月23日 申請日期2011年6月28日 優(yōu)先權(quán)日2011年6月28日
      發(fā)明者楊波 申請人:用友軟件股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1