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