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