• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    心跳實現方法及裝置制造方法及圖紙

    技術編號:15690696 閱讀:49 留言:0更新日期:2017-06-24 03:17
    本申請提供一種心跳實現方法及裝置,其中,該方法包括:按照第一值周期性的執行第一寫心跳操作,第一寫心跳操作為向共享的存儲空間中寫入順序計數值;在檢測到本節點的負載過載時,將本節點的狀態從正常切換為非正常,停止執行第一寫心跳操作,獲取第一寫心跳操作的最新順序計數值M,將本節點的心跳周期更新為第二值,其中,第二值大于第一值;按照第二值周期性的執行第二寫心跳操作,并將寫入的順序計數值發送給除本節點以外的其它節點,第二寫心跳操作為向本節點中寫入順序計數值,其中,寫入的順序計數值的起始值為M或M+1。

    Heartbeat realization method and device

    The invention provides a method and a device for realizing a heartbeat, among them, the method includes: a first value according to the execution of the first periodic heartbeat write operation, first write operation heartbeat count value is written in order to share storage space; to detect overload of the node, the node state switching from normal to non normal, stop the execution of the first write operation to obtain the new order of the heart, the first write operation heartbeat count M, the node of the heart cycle update for a value of second, among them, second greater than the first value; in accordance with the second values to write periodic execution of heart operation in second, and will write the order sent to count in addition to the other node node outside the second write operation heartbeat count, as the node which is written in order to start writing, the order of the counting value for M or M+1.

    【技術實現步驟摘要】
    心跳實現方法及裝置
    本申請涉及存儲
    ,特別涉及一種心跳實現方法及裝置。
    技術介紹
    在共享文件系統中,多個節點(例如,主機)組成一個集群,該集群中的所有節點可以訪問同一存儲空間,任一節點讀寫該存儲空間中的文件時,其它節點仍可以訪問該文件,節點間通過分布式鎖協商讀寫權限。在共享文件系統中,采用讀寫心跳機制來判定節點是否在線。具體的,在如圖1所示的共享文件系統中包括節點1(節點ID為1)、節點2(節點ID為2)和節點3(節點ID為3),這3個節點可以訪問存儲空間中的同一邏輯盤(或稱為卷),從該邏輯盤的固定基地址位置開始執行讀寫心跳操作,例如,該基地址位置為該邏輯盤4M字節位置,每一個節點寫心跳的偏移地址為4字節(即寫心跳內容占用4字節),則各個節點寫心跳的方法如下:節點1在4M~(4M+4)字節位置寫入本節點的sequence(順序)計數值1,節點2在(4M+4)~(4M+8)字節位置寫入本節點的sequence計數值1,節點3在(4M+8)~(4M+12)字節位置寫入本節點的sequence計數值1;然后,節點1在4M~(4M+4)字節位置將本節點的sequence計數值更新為2,節點2在(4M+4)~(4M+8)字節位置將本節點的sequence計數值更新為2,節點3在(4M+8)~(4M+12)字節位置將本節點的sequence計數值更新為2;以此類推。每一個節點周期性的執行上述寫心跳操作,并且,周期性的執行從該邏輯盤中讀取所有節點的sequence計數值的讀心跳操作,通過讀取到的sequence計數值來判斷其它節點是否在線。具體的判斷方法是:針對任一其它節點,如果在預定時間內該其它節點的sequence計數值發生了變化,則確定該其它節點在線,否則,確定該其它節點不在線。一般情況下,讀寫心跳周期為2秒,上述預定時間可以為2秒的整數倍,例如,為4秒。在上述的讀寫心跳機制中,當節點負載較大時,可能會導致讀寫心跳操作發生延時,特別是寫心跳操作會發生延時,例如,將順序計數值寫入邏輯盤的過程較慢、寫不進去等。
    技術實現思路
    有鑒于此,本申請提供一種心跳實現方法及裝置。具體地,本申請是通過如下技術方案實現的:一方面,提供了一種心跳實現方法,該方法應用于共享文件系統中的節點,該方法包括:按照第一值周期性的執行第一寫心跳操作,第一寫心跳操作為向共享的存儲空間中寫入順序計數值;在檢測到本節點的負載過載時,將本節點的狀態從正常切換為非正常,停止執行第一寫心跳操作,獲取第一寫心跳操作的最新順序計數值M,將本節點的心跳周期更新為第二值,其中,第二值大于第一值;按照第二值周期性的執行第二寫心跳操作,并將寫入的順序計數值發送給除本節點以外的其它節點,第二寫心跳操作為向本節點中寫入順序計數值,其中,寫入的順序計數值的起始值為M或M+1。另一方面,還提供了一種心跳實現裝置,該裝置應用于共享文件系統中的節點中,該裝置包括:檢測單元,用于檢測本節點的負載情況;狀態切換單元,用于在檢測單元檢測到本節點的負載過載時,將本節點的狀態從正常切換為非正常;寫心跳執行單元,用于按照第一值周期性的執行第一寫心跳操作,第一寫心跳操作為向共享的存儲空間中寫入順序計數值;還用于在檢測單元檢測到本節點的負載過載時,停止執行第一寫心跳操作,獲取第一寫心跳操作的最新順序計數值M,將本節點的心跳周期更新為第二值,按照第二值周期性的執行第二寫心跳操作,并將寫入的順序計數值發送給除本節點以外的其它節點,第二寫心跳操作為向本節點中寫入順序計數值,其中,寫入的順序計數值的起始值為M或M+1,第二值大于第一值。通過本申請的以上技術方案,在現有的寫心跳操作(稱為第一寫心跳操作)的基礎上,新增了一種向本節點中寫入順序計數值的寫心跳操作(稱為第二寫心跳操作),初始時,節點會以第一值為周期執行第一寫心跳操作,在本節點的負載變大時,節點不再按照第一值周期性的執行第一寫心跳操作,而是按照第二值周期性的執行第二寫心跳操作,并將寫入的順序計數值發送給其它節點,其中,第二值大于第一值。由于在節點的負載較大時,增大了心跳周期,而且,不再向存儲空間中寫入順序計數值,而是向本節點中寫入順序計數值,因此,降低了讀寫心跳的頻率,減少了讀寫心跳占用的CPU資源和IO(輸入輸出)資源,而且,向本節點中寫入順序計數值的操作能夠更加及時快速的完成,避免了向存儲空間寫入順序計數值存在的執行過程較慢、寫不進去等造成的寫心跳操作延時問題。附圖說明圖1是一種共享文件系統的架構示意圖;圖2是本申請一示例性實施例示出的心跳實現方法的流程圖;圖3是圖1中的節點1在檢測到本節點的負載過載時執行的流程圖;圖4是圖1中的節點1在檢測到本節點的負載恢復正常時執行的流程圖;圖5是圖1中的節點3在檢測到節點2的狀態從Abnormal切換為Normal時執行的流程圖;圖6是本申請一示例性實施例示出的心跳實現裝置所在節點的硬件結構示意圖;圖7是本申請一示例性實施例示出的心跳實現裝置的一種結構示意圖;圖8是本申請一示例性實施例示出的心跳實現裝置的另一種結構示意圖。具體實施方式這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權利要求書中所使用的單數形式的“一種”、“所述”和“該”也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯的列出項目的任何或所有可能組合。應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。為了解決現有技術中存在的當節點負載較大時,會導致讀寫心跳操作發生延時的問題,本申請以下實施例中提供了一種心跳實現方法,以及一種可以應用該方法的裝置。在本申請實施例的心跳實現方法中,每一個節點的初始狀態均為正常(Normal),心跳周期的初始值為第一值,此時,任一節點在掛載共享文件系統后,會按照第一值周期性的執行現有技術的寫心跳操作(為了描述方便,稱為第一寫心跳操作),即,向共享的存儲空間中寫入本節點的順序計數值,后續,在檢測到本節點的負載過載時,會切換為執行第二寫心跳操作,即,向本節點中寫入本節點的順序計數值。具體的,在執行第二寫心跳操作時,可以將順序計數值寫入本節點的內存或本地磁盤等存儲介質中。具體的過程如圖2所示,包括以下步驟:步驟S101,在檢測到本節點的負載過載時,將本節點的狀態從Normal切換為非正常(Abnormal),停止執行第一寫心跳操作,獲取第一寫心跳操作的最新順序計數值M,將本節點的心跳周期更新為第二值,其中,第二值大于第一值;在實際實本文檔來自技高網
    ...
    心跳實現方法及裝置

    【技術保護點】
    一種心跳實現方法,其特征在于,所述方法應用于共享文件系統中的節點,所述方法包括:按照第一值周期性的執行第一寫心跳操作,所述第一寫心跳操作為向共享的存儲空間中寫入順序計數值;在檢測到本節點的負載過載時,將本節點的狀態從正常切換為非正常,停止執行所述第一寫心跳操作,獲取所述第一寫心跳操作的最新順序計數值M,將本節點的心跳周期更新為第二值,其中,所述第二值大于所述第一值;按照所述第二值周期性的執行第二寫心跳操作,并將寫入的順序計數值發送給除本節點以外的其它節點,所述第二寫心跳操作為向本節點中寫入順序計數值,其中,寫入的順序計數值的起始值為M或M+1。

    【技術特征摘要】
    1.一種心跳實現方法,其特征在于,所述方法應用于共享文件系統中的節點,所述方法包括:按照第一值周期性的執行第一寫心跳操作,所述第一寫心跳操作為向共享的存儲空間中寫入順序計數值;在檢測到本節點的負載過載時,將本節點的狀態從正常切換為非正常,停止執行所述第一寫心跳操作,獲取所述第一寫心跳操作的最新順序計數值M,將本節點的心跳周期更新為第二值,其中,所述第二值大于所述第一值;按照所述第二值周期性的執行第二寫心跳操作,并將寫入的順序計數值發送給除本節點以外的其它節點,所述第二寫心跳操作為向本節點中寫入順序計數值,其中,寫入的順序計數值的起始值為M或M+1。2.根據權利要求1所述的方法,其特征在于,所述方法還包括:在檢測到任一其它節點的狀態從正常切換為非正常時,若本節點的心跳周期為所述第一值,則將本節點的心跳周期更新為所述第二值。3.根據權利要求1所述的方法,其特征在于,所述方法還包括:在接收到其它節點發來的順序計數值之后,保存該其它節點發來的順序計數值;在執行讀心跳操作時,判斷本節點中保存的該其它節點的順序計數值在預定時間內是否發生了改變,若是,則確定該其它節點在線,否則,確定該其它節點不在線。4.根據權利要求1所述的方法,其特征在于,所述方法還包括:在檢測到本節點的負載恢復正常時,將本節點的狀態從非正常切換為正常;當本節點的狀態為正常時,判斷所有其它節點的狀態是否均為正常;若是,則在本節點當前執行的是所述第二寫心跳操作時,停止執行所述第二寫心跳操作,獲取所述第二寫心跳操作的最新順序計數值N,將本節點的心跳周期更新為所述第一值,按照所述第一值周期性的執行所述第一寫心跳操作,其中,執行所述第一寫心跳操作時寫入的順序計數值的起始值為N或N+1;在本節點當前執行的是所述第一寫心跳操作時,若本節點的心跳周期為所述第二值,則將本節點的心跳周期更新為所述第一值。5.根據權利要求4所述的方法,其特征在于,所述方法還包括:獲取本節點的負載信息;當獲取一種負載信息時,通過以下方式檢測本節點的負載是否過載:若獲取到的負載信息的數值大于預設閾值,則確定本節點的負載過載,否則,確定本節點的負載沒有過載;通過以下方式檢測本節點是否恢復正常:若獲取到的負載信息的數值不大于所述預設閾值,則確定本節點的負載恢復正常,否則,確定本節點的負載沒有恢復正常;當獲取兩種以上負載信息時,通過以下方式檢測本節點的負載是否過載:若獲取到的每一個負載信息的數值均大于對應的預設閾值,則確定本節點的負載過載,否則,確定本節點的負載沒有過載;通過以下方式檢測本節點是否恢復正常:若獲取到的每一個負載信息的數值均不大于對應的預設閾值,則確定本節點的負載恢復正常,否則,確定本節點的負載沒有恢復正常。6.一種心跳實現裝置,其特征在于,所述裝置應用于共享文件系統中的節點中,所述裝置包括:檢測單元,用于檢測本節點的負載情況;狀態切換單元,用于在所述檢測單元檢測到本節點的負載過載時,將本節點的狀態從正常切換為非正常;寫心跳執行單元,用于按照第一值周期性的執行第一寫心跳操作,所述...

    【專利技術屬性】
    技術研發人員:鐘晉明
    申請(專利權)人:新華三技術有限公司
    類型:發明
    國別省市:浙江,33

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 久久久久久无码国产精品中文字幕 | 日韩一区二区三区无码影院| 2014AV天堂无码一区| 久久久精品人妻无码专区不卡| 无码精品久久久天天影视| 亚洲AV无码专区在线厂| 亚洲AV无码久久| 国产仑乱无码内谢| 无码人妻少妇久久中文字幕蜜桃 | 久久精品中文无码资源站| 国产成人无码精品久久久免费 | 午夜无码人妻av大片色欲| 无码日韩精品一区二区三区免费| mm1313亚洲国产精品无码试看 | 国产强被迫伦姧在线观看无码 | 精品久久久无码人妻字幂| 亚洲av永久无码精品三区在线4| 亚洲中文字幕无码日韩| 人妻系列无码专区久久五月天| 久久久久亚洲AV无码专区首JN | 精品亚洲成在人线AV无码| 亚洲自偷自偷偷色无码中文| 免费无码又爽又刺激毛片| 中文字幕无码日韩欧毛| 国产成人无码综合亚洲日韩| 人妻丰满熟妇AV无码区HD| 国产精品va在线观看无码| 无码人妻精品一区二区三区不卡 | 亚洲熟妇无码一区二区三区导航 | 曰批全过程免费视频在线观看无码| 丰满少妇人妻无码专区| 免费无码A片一区二三区| 久久精品日韩av无码| 无码少妇丰满熟妇一区二区 | 亚洲国产无套无码av电影| 亚洲av中文无码乱人伦在线播放 | 亚洲av无码成人精品区| 国产成人无码精品久久久露脸| 无码人妻一区二区三区免费| 亚洲熟妇av午夜无码不卡| 亚洲国产精品无码久久久秋霞1|