分布式監護系統中備份數據的方法和裝置制造方法
【專利摘要】本發明涉及一種在分布式監護系統中備份數據的方法,包括如下步驟:當確認監護儀和原先與其連接的服務器的連接斷開時,取得監護儀存儲的、事先設置了連接順序的服務器列表;按照所述服務器列表中服務器的順序,依次取得所述列表中每個服務器對應的地址,逐個對該服務器發送連接請求;如服務器允許連接,則與所述服務器建立連接并將所述監護儀得到的監護數據上傳到該與所述監護儀建立連接的服務器;否則重復上述步驟。本發明還涉及一種實現上述方法的裝置。實施本發明的分布式監護系統中備份數據的方法和裝置,具有以下有益效果:可以自動地在多臺服務器之間進行切換,備份其數據。
【專利說明】分布式監護系統中備份數據的方法和裝置
【技術領域】
[0001] 本發明涉及醫用監護系統,更具體地說,涉及一種分布式監護系統中備份數據的 方法和裝置。
【背景技術】
[0002] 中央監護系統在醫院內的使用已經很普及,按照組網方式分為BS和CS兩大類。 CS方式的中央監護系統是最早出現的,它在中央站端采用Socket (或串口)與監護儀傳輸 數據。用戶需要安裝特殊的客戶端來連接中央站。這種系統結構具有單一的中央站(或服 務器);BS方式中央站的出現,使得用戶電腦直接通過IE瀏覽器訪問監護數據得以實現; BS方式的中央監護系統同樣是在中央站端用Socket (或串口)完成與監護儀數據的交互。 這種系統可以采用多個中央站的結構,中央站間采用了數據庫同步完成數據共享、數據庫 備份等策略來保證數據安全;用戶可以瀏覽不同的網址訪問不同的中央監護系統。BS方式 中還有一種不同的架構,中央監護系統內所有的以太網監護儀上都內置有web服務器。用 戶可以直接登錄監護儀上的web服務來查看和操作監護數據。此時,若需要訪問監護儀,必 須逐個登入監護儀上的web服務,前提是知道正確的IP地址,當然也可以使用中央站來登 錄監護儀。這種架構對操作的限制會比較多,因為用戶直接修改的是原始監護儀器上的數 據。同時監護數據分散在各個監護儀上,數據的管理比較麻煩,數據安全的保障需要其他輔 助的功能。這種架構對串口監護儀、其他非以太網監護儀不能提供支持。從上面的描述可 以看出,現有的中央監護系統,受組網、部署、性能等因素影響,很多醫院存在著多個相同的 中央監護系統。這些系統之間有的是互相孤立的,有的是可以互相依賴完成歷史數據同步 或備份的。但是當某一個中央站出現故障,這個中央站下面的監護儀實時數據就不能在其 他中央站上被觀察到。通常出現故障的中央站下的監護儀可以在對故障中央站做維護后、 或是切換監護儀連接到其他中央站來重新接入系統。但是這種切換或重新接入的方式會對 醫護人員的工作帶來很多不便,尤其是重癥監護室(ICU)里的監護數據的觀察會很麻煩,更 嚴重可能出現醫療事故。
【發明內容】
[0003] 本發明要解決的技術問題在于,針對現有技術的上述需要對服務器進行維護或人 工進行服務器和監護儀之間的連接切換的缺陷,提供一種可以自動在多臺服務器之間進行 連接切換及數據備份的分布式監護系統中備份數據的方法和裝置。
[0004] 本發明解決其技術問題所采用的技術方案是:構造一種在分布式監護系統中備份 數據的方法,所述監護系統包括多個服務器和多個監護儀,每個監護儀與所述多個服務器 中的一個通過網絡連接并將其得到的監護數據上傳到與其連接的服務器中,其特征在于, 所述數據備份的方法包括如下步驟: A)當確認監護儀和原先與其連接的服務器的連接斷開時,取得監護儀存儲的、事先設 置了連接順序的服務器列表; B) 按照所述服務器列表中服務器的順序,依次取得所述列表中每個服務器對應的地 址,逐個對該服務器發送連接請求;如服務器允許連接,則執行下一步驟;否則,重復本步 驟; C) 與所述服務器建立連接; D) 將所述監護儀得到的監護數據上傳到該與所述監護儀建立連接的服務器。
[0005] 更進一步地,還包括如下步驟: E) 當重復步驟B)設定時間后仍未連接上服務器時,判斷能否收到其他服務器發送的廣 播消息,如能,執行下一步驟,否則,按所述監護儀初始接入網絡時的方式查找服務器并建 立連接,然后執行步驟C); F) 逐一判斷接收到的廣播消息中是否包括所述監護儀的標識,如是,執行下一步驟,否 貝1J,按所述監護儀初始接入網絡時的方式查找服務器并建立連接,然后執行步驟C); G) 取得包括所述監護儀標識的所有廣播消息中的服務器地址,并向其發送連接請求; 如服務器返回允許連接消息,則步驟C);如服務器不允許連接或無回應,則重復本步驟,對 下一個服務器地址發送連接請求,如所有服務器均不允許連接或無回應,按所述監護儀初 始接入網絡時的方式查找服務器并建立連接,然后執行步驟C)。
[0006] 更進一步地,所述服務器在線時分別按照設定的時間間隔不斷發送廣播消息;所 述廣播消息包括依次排列的服務器地址、服務器連接端口號和允許接入的監護儀標識。 [0007] 更進一步地,所述步驟G)中進一步包括如下步驟: G1)按照接收到的廣播消息的先后順序取得一個廣播消息中的服務器地址及端口,并 向該服務器發出連接請求; G2)打開偵聽端口,接收來自所述服務器的回應消息; G3)判斷是否接收到所述服務器發出的允許連接的消息,如是,與該服務器建立連接; 如超過設定時間未收到服務器回應或服務器回應不允許連接,則判斷是否還有接收到的廣 播消息未發出連接請求,如有,返回步驟E1 ),對未連接的廣播消息的服務器發出連接請求; 如無,按所述監護儀初始接入網絡時的方式查找服務器并建立連接。
[0008] 更進一步地,所述步驟G)中進一步包括如下步驟: G4)接收監護儀發出的連接請求; G5)取得其中的監護儀表示,并在設備列表中查找該標識,如找到,執行下一步驟;否 貝1J,斷開與該監護儀的連接; G6)建立與該監護儀的連接并對其進行管理。
[0009] 更進一步地,所述步驟D)中進一步包括如下步驟: D1)接收并處理所述監護儀發送來的當前監護數據; D2)采用數據包編號查詢程序,將當前發送來的數據包編號逐次減一,并要求所述監護 儀發送得到的數據包編號指向的數據包,直到所述監護儀將最后一次掉線后的所有監護數 據包發送出來; D3)按所述數據包編號順序存儲最后一次掉線后到當前的數據。
[0010] 更進一步地,所述步驟D2)進一步包括: D21)取得當前監護儀發送來的數據包編號,將所述數據包編號減一后放入數據包編號 查詢指令中,并將該指令發送到監護儀; D22)所述監護儀通過計算最后掉線時間及其接收到的查詢數據包指令中的數據包編 號判斷是否存在需要發送的掉線后的數據包。如有,執行下一步驟;否則,退出歷史數據發 送; D23)所述監護儀接收所述指令,并查找到其指向的數據包,將其標記為歷史數據后發 送。
[0011] 本實施例還涉及一種實現上述方法的裝置,包括: 服務器列表取得模塊:用于當確認監護儀和原先與其連接的服務器的連接斷開時,取 得監護儀存儲的、事先設置了連接順序的服務器列表; 服務器連接請求模塊:用于按照所述服務器列表中服務器的順序,依次取得所述列表 中每個服務器對應的地址,逐個對該服務器發送連接請求;如服務器允許連接,則調用服務 器連接模塊; 服務器連接模塊:用于與所述服務器建立連接; 數據上傳模塊:用于將所述監護儀得到的監護數據上傳到該與所述監護儀建立連接的 服務器。
[0012] 更進一步地,還包括: 廣播消息判斷模塊:用于當所述服務器連接請求模塊在設定時間后仍未連接上服務器 時,判斷能否收到其他服務器發送的廣播消息,如能,調用監護儀標識判斷模塊;否則,調用 服務器連接模塊; 監護儀標識判斷模塊:用于逐一判斷接收到的廣播消息中是否包括所述監護儀的標 識,如是,調用廣播服務器連接模塊,否則,調用服務器連接模塊; 廣播服務器連接模塊:用于取得包括所述監護儀標識的所有廣播消息中的服務器地 址,并向其發送連接請求;如服務器返回允許連接消息,則調用服務器連接模塊;如服務器 不允許連接或無回應,則對下一個服務器地址發送連接請求;如所有服務器均不允許連接 或無回應,則調用服務器連接請求模塊。
[0013] 更進一步地,所述數據上傳模塊進一步包括: 當前數據接收單元:用于接收并處理所述監護儀發送來的當前監護數據; 歷史數據查詢單元:用于采用數據包編號查詢程序,將當前發送來的數據包編號逐次 減一,并要求所述監護儀發送得到的數據包編號指向的數據包,直到所述監護儀將最后一 次掉線后的所有監護數據包發送出來; 歷史數據存儲單元:用于按所述數據包編號順序存儲最后一次掉線后到當前的數據。
[0014] 實施本發明的分布式監護系統中備份數據的方法和裝置,具有以下有益效果:由 于在網絡上存在多個服務器,這些服務器分別設置有可以連接的監護儀標識,且這些服務 器分別按照設定時間在網絡上發送廣播包,將自己的地址和能夠接受的監護儀標識發送到 網絡上,這樣,當任意一個監護儀所連接的服務器出現故障時,該監護儀可以接收上述廣播 包,得到可以和自己建立連接的服務器地址,并與其建立連接,將數據備份到其上。這樣,監 護儀和服務器之間的連接出現故障時,可以自動地在多臺服務器之間進行切換,并備份其 數據。
【專利附圖】
【附圖說明】
[0015] 圖1是本發明分布式監護系統中備份數據的方法和裝置實施例中數據備份方法 的流程圖; 圖2是所述實施例中通過廣播消息連接服務器的流程圖; 圖3是所述實施例監護儀與服務器連接的具體流程圖; 圖4是所述實施例中歷史數據上傳的流程圖; 圖5是所述實施例中裝置結構示意圖。
【具體實施方式】
[0016] 下面將結合附圖對本發明實施例作進一步說明。
[0017] 如圖1所示,在本發明的分布式監護系統中備份數據的方法和裝置實施例中,監 護儀與服務器的數據備份包括如下步驟: 步驟S11確定監護儀與服務器之間的連接斷開:在本實施例中,分布式監護系統包括 多個服務器和多個監護儀,這些服務器和監護儀連接在同一個網絡上,其中,每個監護儀與 所述多個服務器中的一個通過網絡連接(存在或建立了連接通道)并將其得到的監護數據 上傳到與其連接的服務器中;服務器中存儲有監護儀的連接清單,指定該服務器可以連接 的監護儀標識;該監護儀標識可以是監護儀的名稱、網絡地址、身份識別碼或設定的位置等 等參數。在本實施例中,當監護儀上電連接到網絡時(即監護儀初始連接服務器時),是通過 調取存儲在其中的連接服務器清單,按照該清單中服務器的順序,逐個發出連接請求,如果 連接成功,則不再試圖連接下面的服務器。即取得監護儀存儲的、事先設置了連接順序的服 務器列表;按照所述服務器列表中服務器的順序,依次取得所述列表中每個服務器對應的 地址,逐個對該服務器發送連接請求;如服務器允許連接,則與該服務器建立連接,并上傳 監護數據;否則,一直使用不同的服務器地址重復上述步驟,直到建立連接(可能是和上述 清單中的任意一個服務器建立連接)。在該清單中,包括服務器的名稱、地址及其用于連接 的端口;監護儀取得這些參數后就可以對服務器發出連接請求,當服務器允許連接時,二者 建立連接通道,監護儀取得的監護數據將被形成數據包上傳到該服務器并存儲;當服務器 每接收到一個監護儀發出的數據包時,都會返回該監護儀一個確定信號,表示服務器收到 該數據包。但是,由于種種原因,該服務器和監護儀的連接可能中斷,特別是在服務器出現 故障的情況下。一般來講,這種故障的表現是服務器對監護儀上傳的數據包沒有回應,即月艮 務器不會發出收到數據包的確定信號。當出現上述中斷情況時,執行本步驟,確定監護儀與 其原先連接的服務器的連接通道已經斷開,監護儀沒有收到服務器發回的確定信號。此外, 還可以根據網絡信號檢測到連接與否還可以通過中央站在預定時長內沒有收到相應數據 包來判斷是否中央站和監護儀斷開。
[0018] 步驟S12取得存儲的服務器列表,逐個發送連接請求:在本步驟中,如前一步驟 中描述的監護儀初始連接到網絡時所操作的那樣,取得事先存儲在監護儀中的可連接服務 器的服務器清單,并按照該清單逐一發送連接請求到該清單中的每個服務器;當發送連接 請求到一個服務器時,該服務器可能允許連接或不允許連接或沒有回應,在允許連接的情 況下,監護儀不再試圖連接下一個服務器,執行下一步驟;當服務器回復不允許連接或沒有 回復時(在一設定的時間內),監護儀對下一個清單上的服務器發送連接請求,重復上述內 容;如果全部清單上的服務器都已經試過,但都沒有連接上,則重復本步驟。
[0019] 步驟S13連接首個回復的允許連接的服務器:在本步驟中,由于發送的連接請求 被服務器接收且允許連接,在本步驟中,將連接該服務器(即使有多個服務器可以連接,但 由于該服務器最先回復允許連接,監護儀將不再嘗試連接其他服務器)和該監護儀,在二者 之間建立連接通道。執行完本步驟后,執行下一步驟。
[0020] 步驟S14上傳數據:在本步驟中,通過原先存儲在監護儀中的連接清單中的服務 器地址的方式,該監護儀在掉線之后,再次連接上另外一個連接在網絡上的服務器。因此, 將當前取得的監護數據上傳到該服務器上進行存儲。在一些情況下,還可以將該監護儀最 后一次掉線后到當前的監護數據(或稱為歷史數據)上傳到該服務器,以保證監護數據的完 整性。
[0021] 通常來講,在監護儀中存儲的服務器列表中的服務器可以連接時,上述步驟足以 將掉線的監護儀在次與在線的服務器連接起來并進行數據備份。但是,由于網絡環境的復 雜性,在本實施例中,也可能出現另外一種情況,即該監護儀服務器列表中的服務器由于種 種原因都不能連接。此時,在重復上述步驟S12設定時間后,該監護儀仍然不能連接,表明 該服務器列表上的服務器可能出現問題,為此,在本實施例中,可以執行如下步驟(請參見 圖2): 步驟S21是否接收到廣播消息,如是執行下一步驟;否則,執行上述的監護儀初始連 接步驟,直到和上述監護儀中的服務器清單中的任意一個服務器建立連接,即跳轉到步驟 S25。
[0022] 步驟S22廣播消息中是否攜帶有本監護儀標識:在本步驟中,判斷接收到的廣播 信息中是否攜帶有本監護儀的標識。具體而言,就是將接收到的廣播消息解包,取出其中設 定位置上攜帶的可以和該服務器(即發出該廣播消息的服務器)連接的監護儀的標識,并與 本監護儀的標識進行比較,如果相同,則判斷為該廣播消息中攜帶有本監護儀的標識,該服 務器可以和本監護儀連接,執行下一步驟;如果不相同,則判斷為該服務器不能和本監護儀 連接,跳轉到步驟S25。
[0023] 步驟S23取得該廣播消息中的服務器地址,發送連接請求:在本步驟中,取出廣 播消息中的服務器地址及連接端口作為目的地址,向該服務器發出連接請求。在本實施例 中,上述服務器地址和連接端口也是位于該廣播消息中的指定位置的,只要將廣播消息解 包并讀出指定位置的數據,即可得到上述服務器地址及連接端口。值得一提的是,在本實施 例中,監護儀可能接收到多個來自不同服務器的廣播消息,在這種情況下,按照接收到的先 后順序對多個廣播消息進行上述判斷,只有在所有的廣播消息都沒有本監護儀的標識時, 才會執行步驟S24;當其中有多個廣播消息中攜帶有本監護儀的標識時,將按照接收到的 順序逐個執行下一步驟,即按照接收順序,分別取出廣播消息中的服務器地址,并逐個發送 連接請求,直到連接建立。
[0024] 步驟S24服務器是否允許連接:當監護儀發出連接請求后,就開始收聽網絡上的 信息,等待并接收服務器發出的允許連接的回應信息,如果接收到該服務器發出的允許連 接的信息,則判斷為服務器允許連接,執行下一步驟;如果在設定時間內沒有接收到上述服 務器發出的允許連接的信息,則判斷為服務器不允許連接,執行步驟S25。同樣地,在本實施 例中上述存在多個服務器發出的廣播信息中存在本監護儀標識的情況下,當判斷一個服務 器不允許連接時,需要另外一個服務器發送連接請求,并等待其回應;只有在所有發出攜帶 該監護儀標記的廣播信息的服務器都被判斷為不允許連接的情況下,才會跳轉到步驟S17 執行。
[0025] 步驟S25采用監護儀初始接入網絡時的方式連接服務器:在本步驟中,按照上述 監護儀初始連接的方式,逐一對該監護儀中存儲的連接清單上的服務器發送連接請求,并 等待其回應,直到連接建立。實際上,在本實施例中,本步驟與上述步驟S12是大致相同的。 執行完本步驟后,執行步驟S26。
[0026] 步驟S26連接回復的服務器及該監護儀:在本步驟中,由于發送的連接請求被服 務器接收且允許連接,在本步驟中,將連接該服務器和該監護儀,在二者之間建立連接通 道。實際上,在本實施例中,本步驟與上述步驟S13是大致相同的。執行完本步驟后,將跳 轉到步驟S14去執行。
[0027] 圖3示出了本實施例中監護儀在取得一個由廣播消息攜帶的服務器地址時,與該 服務器建立連接的具體步驟。在圖3中,該監護儀與服務器建立連接的步驟如下: 步驟S31取得廣播消息中的服務器地址:在本步驟中,監護儀將其接收的廣播消息解 包,并在解包后的信息的指定位置得到發出該廣播消息的服務器的地址及其連接端口。
[0028] 步驟S32發送連接請求:在本步驟中,將上述步驟中得到的服務器地址及連接端 口作為目的地址,形成并發送連接請求到上述服務器。
[0029] 步驟S33取出連接請求中的監護儀標識,在清單中查找:在步驟中,服務器接收 上述監護儀發來的連接請求,并取出攜帶在該連接請求中的監護儀標識,該監護儀即發出 連接請求的監護儀;之后,在其自身存儲的監護儀清單中查找該監護儀標識,如果該監護儀 標識在服務器的監護儀清單中,標識該服務器被設定能夠與該監護儀連接,于是該服務器 發出回應信息,表示允許連接,然后執行步驟S35 ;如果該監護儀標識不在上述清單中,則 服務器不發送允許連接的回應。
[0030] 步驟S34打開偵聽端口,接收服務器的回應信息:在本步驟中,當監護儀發送上 述連接請求之后,打開其網絡模塊的偵聽端口,以便接受服務器的回應信息。值得一提的 是,由于步驟S34和S33發生在不同的物理載體上,所以,從時間上來看,在實際上步驟S34 是發生在前的,此處這兩個步驟的排列方式僅僅是為了敘述的方便,并不表示步驟S34 - 定在步驟S33之前發生。
[0031] 步驟S35建立連接:在本步驟中,監護儀和服務器建立連接,以便于監護儀可以 將掉線后的歷史數據即當前取得的監護數據傳輸到上述服務器進行數據備份。
[0032] 步驟S36對監護儀進行管理:在本步驟中,由于在監護儀以及服務器之間已經建 立了連接,所以可以通過服務器對上述監護儀進行一定的管理。例如,要求監護儀上傳歷史 數據等等。
[0033] 圖4示出了本實施例中如何由當前監護數據包得到歷史數據的流程。在圖4中, 該流程包括: 步驟S41由當前數據包中取得其數據包編號:如上所述,當監護儀和一個新的服務器 建立連接后,監護儀開始將當前得到的監護數據上傳到該服務器。在本實施例中,每個監護 儀發出的數據包均設置有數據包編號,其表現了數據包的順序。在本步驟中,有上述監護儀 與新的服務器建立連接后傳輸的第一個數據包得到該數據包的編號。
[0034] 步驟S42將該數據包編號減一,得到要求的數據包編號,并將該要求的數據包編 號發送到監護儀:將上述得到的數據包的編號減一,得到當前數據包之前的一個數據包編 號,即要求的數據包編號,該數據包是歷史數據,即處于監護儀掉線后且連接新的服務器之 前的數據包。該數據包由于掉線的原因,并沒有傳輸到服務器保持。
[0035] 步驟S43由最后一次的掉線時間和上述要求的數據包編號得到歷史數據包的范 圍:在本步驟中,由監護儀掉線的時間點和上述要求的數據包編號,得到該監護儀在掉線之 后、重新建立與服務器的連接之前采集的生理參數數據包。在本實施例中,由于起點時間是 已知的。發送數據包的時間間隔是已知的,同時,當前數據包的編號(或上述要求的數據包 編號)是已知的,所以不難得到其間有多少個數據包所包括的數據沒有傳輸到服務器。
[0036] 步驟S44判斷歷史數據包是否發送完成,如是,執行下步驟S46,否則,執行步驟 S45 :在本步驟中,由于在上述步驟得到需要發送多個數據包,所以在本步驟中判斷上述歷 史數據包是否發送完畢,如是,執行步驟S46 ;否則執行步驟S45。
[0037] 步驟S45查找并發送上述要求的數據包編號對應的數據包:在本步驟中,由于仍 需要發送歷史數據且已知要求的數據包編號,所以在監護儀上查找該編號的數據包,找到 后發送到服務器。值得一提的是,該數據包并不是當前的數據。而是歷史數據,所以在服務 器上對其加以標識,表明其為歷史數據。執行本步驟后,以上述要求的數據包編號作為當前 編號,跳轉到步驟S42; 步驟S46退出歷史數據發送,只發送當前數據包:在本步驟中,由于已經發送所有的 歷史數據(即由監護儀最后一次掉線到當前數據包之間的所有數據包),所以不再發送歷史 數據包,而僅僅發送當前的監護數據到上述服務器。
[0038] 在本實施例中,上述分布式監護系統需要有2個及2個以上的中央站(服務器),每 個中央站既可以實時接入監護儀,也可以等待其他允許接入的監護儀隨時接入,從而實現 有多個備份中央站的目標。例如,在有兩個中央站的情況下,中央站1采用Socket偵聽特 定端口等待監護儀連接。監護儀根據自身配置的中央站地址連接到中央站1。有多少個監 護儀連接到中央站1,就存在相應數量的TCP (Transmission Control Protocol)連接在 中央站1和監護儀間;中央站2采用Socket偵聽特定端口等待監護儀連接。監護儀根據 自身配置的中央站地址連接到中央站2。有多少個監護儀連接到中央站2,就存在相應數量 的TCP連接在中央站2和監護儀間。在本實施例中,上述監護儀和中央站在通常情況下是 通過以太網連接的;但是,在一些情況下,監護儀也可是非以太網接口的,此時,需要在該監 護儀和中央站之間連接一個非以太網接入模塊,使得該不具有以太網接口的監護儀通過虛 擬的方式接入到上述中央站上。非以太網接入模塊啟動后,根據其配置的中央站地址,將接 入到非以太網接入模塊的監護儀虛擬并連接到中央站,可以是中央站1或中央站2。非以 太網接入模塊下存在多少個監護儀,那么非以太網接入模塊和中央站間就存在相應數量的 TCP連接。
[0039] -個實際的例子是,中央站1和中央站2先啟動socket的TCP偵聽接入服務,等 待來自于網絡的監護儀連接;然后啟動UDP (User Datagram Protocol)地址廣播服務,通 常每3秒廣播一次自身的可用連接地址、端口和附加的允許通過廣播地址連接到中央站的 監護儀編號。廣播消息的內容格式為:
【權利要求】
1. 一種在分布式監護系統中備份數據的方法,所述監護系統包括多個服務器和多個監 護儀,每個監護儀與所述多個服務器中的一個通過網絡連接并將其得到的監護數據上傳到 與其連接的服務器中,其特征在于,所述數據備份的方法包括如下步驟: A) 當確認監護儀和原先與其連接的服務器的連接斷開時,取得監護儀存儲的、事先設 置了連接順序的服務器列表; B) 按照所述服務器列表中服務器的順序,依次取得所述列表中每個服務器對應的地 址,逐個對該服務器發送連接請求;如服務器允許連接,則執行下一步驟;否則,重復本步 驟; C) 與所述服務器建立連接; D) 將所述監護儀得到的監護數據上傳到該與所述監護儀建立連接的服務器。
2. 根據權利要求1所述的在分布式監護系統中備份數據的方法,其特征在于,還包括 如下步驟: E) 當重復步驟B)設定時間后仍未連接上服務器時,判斷能否收到其他服務器發送的廣 播消息,如能,執行下一步驟,否則,按所述監護儀初始接入網絡時的方式查找服務器并建 立連接,然后執行步驟C); F) 逐一判斷接收到的廣播消息中是否包括所述監護儀的標識,如是,執行下一步驟,否 貝1J,按所述監護儀初始接入網絡時的方式查找服務器并建立連接,然后執行步驟C); G) 取得包括所述監護儀標識的所有廣播消息中的服務器地址,并向其發送連接請求; 如服務器返回允許連接消息,則步驟C);如服務器不允許連接或無回應,則重復本步驟,對 下一個服務器地址發送連接請求,如所有服務器均不允許連接或無回應,按所述監護儀初 始接入網絡時的方式查找服務器并建立連接,然后執行步驟C)。
3. 根據權利要求2所述的在分布式監護系統中備份數據的方法,其特征在于,所述服 務器在線時分別按照設定的時間間隔不斷發送廣播消息;所述廣播消息包括依次排列的服 務器地址、服務器連接端口號和允許接入的監護儀標識。
4. 根據權利要求2所述的在分布式監護系統中備份數據的方法,其特征在于,所述步 驟G)中進一步包括如下步驟: G1)按照接收到的廣播消息的先后順序取得一個廣播消息中的服務器地址及端口,并 向該服務器發出連接請求; G2)打開偵聽端口,接收來自所述服務器的回應消息; G3)判斷是否接收到所述服務器發出的允許連接的消息,如是,與該服務器建立連接; 如超過設定時間未收到服務器回應或服務器回應不允許連接,則判斷是否還有接收到的廣 播消息未發出連接請求,如有,返回步驟E1 ),對未連接的廣播消息的服務器發出連接請求; 如無,按所述監護儀初始接入網絡時的方式查找服務器并建立連接。
5. 根據權利要求4所述的在分布式監護系統中備份數據的方法,其特征在于,所述步 驟G)中進一步包括如下步驟: G4)接收監護儀發出的連接請求; G5)取得其中的監護儀表示,并在設備列表中查找該標識,如找到,執行下一步驟;否 貝1J,斷開與該監護儀的連接; G6)建立與該監護儀的連接并對其進行管理。
6. 根據權利要求1所述的在分布式監護系統中備份數據的方法,其特征在于,所述步 驟D)中進一步包括如下步驟: D1)接收并處理所述監護儀發送來的當前監護數據; D2)采用數據包編號查詢程序,將當前發送來的數據包編號逐次減一,并要求所述監護 儀發送得到的數據包編號指向的數據包,直到所述監護儀將最后一次掉線后的所有監護數 據包發送出來; D3)按所述數據包編號順序存儲最后一次掉線后到當前的數據。
7. 根據權利要求6所述的在分布式監護系統中備份數據的方法,其特征在于,所述步 驟D2)進一步包括: D21)取得當前監護儀發送來的數據包編號,將所述數據包編號減一后放入數據包編號 查詢指令中,并將該指令發送到監護儀; D22)所述監護儀通過計算最后掉線時間及其接收到的查詢數據包指令中的數據包編 號判斷是否存在需要發送的掉線后的數據包;如有,執行下一步驟;否則,退出歷史數據發 送; D23)所述監護儀接收所述指令,并查找到其指向的數據包,將其標記為歷史數據后發 送。
8. -種實現如權利要求1所述的在分布式監護系統中備份數據方法的裝置,其特征在 于,包括: 服務器列表取得模塊:用于當確認監護儀和原先與其連接的服務器的連接斷開時,取 得監護儀存儲的、事先設置了連接順序的服務器列表; 服務器連接請求模塊:用于按照所述服務器列表中服務器的順序,依次取得所述列表 中每個服務器對應的地址,逐個對該服務器發送連接請求;如服務器允許連接,則調用服務 器連接模塊; 服務器連接模塊:用于與所述服務器建立連接; 數據上傳模塊:用于將所述監護儀得到的監護數據上傳到該與所述監護儀建立連接的 服務器。
9. 根據權利要求8所述的裝置,其特征在于,還包括: 廣播消息判斷模塊:用于當所述服務器連接請求模塊在設定時間后仍未連接上服務器 時,判斷能否收到其他服務器發送的廣播消息,如能,調用監護儀標識判斷模塊;否則,調用 服務器連接模塊; 監護儀標識判斷模塊:用于逐一判斷接收到的廣播消息中是否包括所述監護儀的標 識,如是,調用廣播服務器連接模塊,否則,調用服務器連接模塊; 廣播服務器連接模塊:用于取得包括所述監護儀標識的所有廣播消息中的服務器地 址,并向其發送連接請求;如服務器返回允許連接消息,則調用服務器連接模塊;如服務器 不允許連接或無回應,則對下一個服務器地址發送連接請求;如所有服務器均不允許連接 或無回應,則調用服務器連接請求模塊。
10. 根據權利要求9所述的裝置,其特征在于,所述數據上傳模塊進一步包括: 當前數據接收單元:用于接收并處理所述監護儀發送來的當前監護數據; 歷史數據查詢單元:用于采用數據包編號查詢程序,將當前發送來的數據包編號逐次 減一,并要求所述監護儀發送得到的數據包編號指向的數據包,直到所述監護儀將最后一 次掉線后的所有監護數據包發送出來; 歷史數據存儲單元:用于按所述數據包編號順序存儲最后一次掉線后到當前的數據。
【文檔編號】H04L29/08GK104301407SQ201410530270
【公開日】2015年1月21日 申請日期:2014年10月10日 優先權日:2014年10月10日
【發明者】張智, 尹新 申請人:西安理邦科學儀器有限公司