TW202013999A - 容錯移轉裝置及方法 - Google Patents

容錯移轉裝置及方法 Download PDF

Info

Publication number
TW202013999A
TW202013999A TW107133183A TW107133183A TW202013999A TW 202013999 A TW202013999 A TW 202013999A TW 107133183 A TW107133183 A TW 107133183A TW 107133183 A TW107133183 A TW 107133183A TW 202013999 A TW202013999 A TW 202013999A
Authority
TW
Taiwan
Prior art keywords
data
hash
fault
leaf
interpretation
Prior art date
Application number
TW107133183A
Other languages
English (en)
Inventor
詹凱元
Original Assignee
財團法人資訊工業策進會
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 財團法人資訊工業策進會 filed Critical 財團法人資訊工業策進會
Priority to TW107133183A priority Critical patent/TW202013999A/zh
Priority to CN201811172748.4A priority patent/CN110932880A/zh
Priority to US16/172,538 priority patent/US20200099575A1/en
Publication of TW202013999A publication Critical patent/TW202013999A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0266Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Abstract

一種容錯移轉裝置及方法。容錯移轉裝置接收物聯網系統之網路拓樸資料及複數筆設備詮釋資料並轉換為拓樸管理資料及詮釋管理資料。當容錯移轉裝置接收物聯網系統關於第一設備之故障訊息,容錯移轉裝置模擬複數個設備連接關係,根據該設備連接關係計算複數筆移轉成本,根據複數筆移轉成本選定作為容錯移轉對象的第二設備,根據複數筆雜湊資料及雜湊函式找出至少一驗證正確的詮釋管理資料,將驗證正確的詮釋管理資料轉換回符合設備詮釋資料的格式且傳送至第二設備,再更新容錯移轉裝置內的拓樸管理資料以完成容錯移轉的流程。

Description

容錯移轉裝置及方法
本發明係關於一種容錯移轉裝置及方法。更具體而言,本發明係關於一種與物聯網系統相關之容錯移轉裝置及方法。
隨著科技的發展,計算機裝置日趨複雜,許多因素會使計算機裝置無法正常運作,如:電子元件損壞、死機或外力介入等等。
雖然目前已有許多計算機裝置及系統具備容錯移轉機制來維持其被賦予的功能或服務,但隨著物聯網的應用越來越廣泛,現有的容錯移轉機制技術並無法有效率地與物聯網系統相配合。舉例而言,某些現有技術是為重要的主設備額外配置一台規格相當的設備作為備援設備,該備援設備的預設狀態為待機,僅定期接收該主設備傳送來的備份資料並監控該主設備是否正常運作。當該備援設備監測到該主設備發生錯誤或損壞而無法正常運作時,該備援設備會根據該主設備傳送來的最後一筆備份資料執行復原程序,並從待機狀態切換為啟動狀態來取代該主設備扮演的角色,藉以維持該主設備原先被賦予的功能或服務。然而,物聯網的架構較傳統網路更為複雜,為使採用物聯網的系統發揮良好的延伸性與靈活度,許多物聯網設備都扮演著重要的角色。若採用現有的技術來提高物聯網系統的容錯性,配置成本會隨著物聯網系統的擴增而不斷提高,因而無法輕易地變更物聯網系統的配置,導致物聯網系統的良好延伸性無法有效的發揮。再者,一旦 備援設備發生異常,重要的設備便喪失容錯移轉的機制,導致物聯網系統的良好靈活度無法有效的發揮。
有鑑於此,如何提高物聯網系統的容錯性且充分發揮物聯網系統的靈活度與延伸性為當前需要解決的課題。
本發明之一目的在於提供一種容錯移轉裝置。該容錯移轉裝置包含一網路介面、一處理器及一儲存器,其中該處理器電性連接該網路介面及該儲存器。該網路介面與一物聯網系統連接,且接收該物聯網系統之一網路拓樸資料及複數筆設備詮釋資料,其中各該設備詮釋資料包含複數筆備份資料及複數筆雜湊資料。該處理器轉換該網路拓樸資料為一拓樸管理資料,且轉換各該設備詮釋資料為一詮釋管理資料。該儲存器儲存該拓樸管理資料及該等詮釋管理資料。該網路介面接收該物聯網系統關於一第一設備之一故障訊息。該處理器因應該故障訊息模擬複數個設備連接關係,根據該等設備連接關係計算複數個移轉成本,且根據該等移轉成本從該物聯網系統選定一第二設備。該處理器根據該第一設備所對應之該至少一詮釋管理資料找出該第一設備所對應之該等雜湊資料,且以一雜湊函式及所找出之該等雜湊資料找出驗證正確之該至少一備份資料。該網路介面傳送驗證正確之該至少一備份資料至該第二設備。該處理器根據該第二設備所對應之該至少一設備連接關係更新該拓樸管理資料。
本發明之另一目的在於提供一種容錯移轉方法,其係適用於一物聯網系統之一電子計算裝置。該容錯移轉方法包含下列步驟:(a)接收該物聯網系統之一網路拓樸資料及複數筆設備詮釋資料,其中各該設備詮 釋資料包含複數筆備份資料及複數筆雜湊資料,(b)轉換該網路拓樸資料為一拓樸管理資料,(c)轉換各該設備詮釋資料為一詮釋管理資料,(d)儲存該拓樸管理資料及該等詮釋管理資料,(e)接收該物聯網系統關於一第一設備之一故障訊息,(f)因應該故障訊息模擬複數個設備連接關係,(g)根據該等設備連接關係計算複數個移轉成本,(h)根據該等移轉成本從該物聯網系統選定一第二設備,(i)根據該第一設備所對應之該至少一詮釋管理資料找出該地一設備所對應之該等雜湊資料,(j)以一雜湊函式及所找出之該等雜湊資料找出驗證正確之該至少一備份資料,(k)傳送該驗證正確之該至少一備份資料至該第二設備,以及(l)根據該第二設備所對應之該至少一設備連接關係更新該拓樸管理資料。
本發明所提供之容錯移轉裝置及方法利用即時的設備連接關係來選擇合適的交接設備以完成適用於物聯網系統的容錯移轉。具體而言,本發明之容錯移轉裝置及方法在物聯網系統的一第一設備無法正常運作時,根據物聯網系統的一即時的設備連接關係計算複數個移轉成本,以從正常運作的物聯網設備中選擇移轉成本較佳的第二設備作為接替該第一設備的交接設備,並根據雜湊函式及雜湊資料驗證備份資料的完整性,且傳送驗證正確的備份資料給該第二設備,以藉由該第二設備接替無法正常運作的該第一設備,並持續提供該第一設備原先被賦予的功能或服務。
本發明所提供之容錯移轉裝置及方法可即時地從物聯網系統當前正常運作的設備中選擇移轉成本較佳的物聯網設備作為容錯移轉的對象,以在執行中動態地(on-the-fly)制定容錯移轉機制,並可透過動態地制定容錯移轉機制,省去配置專屬備援設備的成本,發揮出物聯網系統的良 好可延伸性。此外,由於本發明所提供之容錯移轉裝置及方法適用於物聯網系統,在選擇容錯移轉的對象時可考量多種可能的傳輸路徑,以充分發揮出物聯網系統的良好靈活度。再者,由於本發明所提供之容錯移轉裝置及方法可因應不同考量來調整移轉成本的計算方式(例如:依照物聯網設備的功率消耗、延遲時間及/或連線穩定度等因素來調整),更增加了使用上的彈性。
以下結合圖式闡述本發明之詳細技術及實施方式,俾使本發明所屬技術領域中具有通常知識者能理解所請求保護之發明之技術特徵。
100‧‧‧物聯網系統
102‧‧‧第一類設備
104‧‧‧第二類設備
106‧‧‧第三類設備
120‧‧‧網路
122‧‧‧設備詮釋資料
124‧‧‧網路拓樸資料
140‧‧‧容錯移轉裝置
142‧‧‧網路介面
144‧‧‧處理器
146‧‧‧儲存器
152‧‧‧詮釋管理資料
154‧‧‧拓樸管理資料
156‧‧‧圖形資料庫
200‧‧‧序列雜湊處理
202、204、206‧‧‧步驟
302、304、306、308、310‧‧‧葉節點
312、314、316、318‧‧‧葉節點
320、322、324‧‧‧父節點
326‧‧‧第一部分
328‧‧‧第二部分
330‧‧‧第三部分
332‧‧‧根節點
400‧‧‧容錯移轉方法
402、404、406、408、410、412‧‧‧步驟
414、416、418、420、422、424‧‧‧步驟
T1‧‧‧第一時段
T2‧‧‧第二時段
T3‧‧‧第三時段
第1圖係為本發明之第一實施方式之容錯移轉裝置與一物聯網系統連接之架構圖;第2圖係為本發明之序列雜湊處理之流程圖;第3圖係為第1圖所示之詮釋管理資料之具體範例;以及第4圖係為本發明之第二實施方式之一容錯移轉方法之流程圖。
以下將透過實施方式來解釋本發明所提供之容錯移轉裝置及方法。然而,該等實施方式並非用以限制本發明只能在所述的環境、應用、結構、流程或步驟方能實施。因此,關於實施方式之說明僅為闡釋本發明之目的,而非用以限制本發明之範圍。應理解,在以下實施方式及圖式中,與本發明非直接相關之元件已省略而未繪示,且各元件之尺寸以及元件間之尺寸比例僅為例示而已,而非用以限制本發明之範圍。
第1圖係為本發明之第一實施方式之容錯移轉裝置140與其 所適用之物聯網系統100之架構圖。以下將先說明物聯網系統100之架構及其運作,再說明容錯移轉裝置140之架構及運作。
物聯網系統100可透過有線存取或無線存取的連接方式與一網路120相連接,並透過網路120與容錯移轉裝置140相連接。網路120可以是一私有網路(例如:區域網路)或是一公開網路(例如:網際網路)。物聯網系統100包含複數個第一類設備102、複數個第二類設備104與複數個第三類設備106,其中該複數個第一類設備102、該複數個第二類設備104及該複數個第三類設備106可透過有線存取或無線存取的連接方式構成一網狀網路(mesh network)架構的私有網路。於第1圖中,每一個六角形代表一個第一類設備、一個第二類設備或一個第三類設備,且六角形之個數並非用以限制本發明之範圍。
於本實施方式中,物聯網系統100已布署且設定完成,因此該複數個第一類設備102、該複數個第二類設備104及該複數個第三類設備106所形成的網路拓樸已經確定。需說明者,於本實施方式中,由於設備間實際的距離不同,第一類設備102、第二類設備104及第三類設備106之間的連接設定可能有異,某些第二類設備104的預設設定是直接地與對應的第一類設備102進行通訊並交換資料,而某些第二類設備104的預設設定是先通過對應的一個至數個第三類設備106的轉發而間接地與對應的第一類設備102進行通訊並交換資料。需說明者,於本實施方式中,一個第二類設備104所對應的第一類設備102可被稱之為該第二類設備104的指定的第一類設備102。同理,一個第二類設備104所對應的第三類設備106可被稱之為該第二類設備104的指定的第三類設備106,且一個第三類設備106所對應的第一類 設備102可被稱之為該第三類設備106的指定的第一類設備102,以此類推,於此不再一一列舉。另需說明者,前述「直接地進行通訊並交換資料」係指設備間之通訊及資料交換未透過其他設備進行轉傳,而前述「間接地進行通訊並交換資料」係指設備間之通訊及資料交換係透過其他設備進行轉傳。
於本實施方式中,該複數個第二類設備104各可為一感測器,例如:溫度計、濕度計、壓力感測器、振動感測器、光感測器、影像感測器或由前述多種感測器所組成的智慧感測器,但不以此為限。每一該第二類設備104定期地量測不同的環境訊息,並將量測到的一量測訊息加入一時間標籤,再定期地將該(等)量測訊息傳送給指定的第一類設備102,或定期地將該(等)量測訊息經由至少一該第三類設備106傳送給該指定的第一類設備102。於某些實施方式中,每一該第二類設備104定期地將該(等)量測訊息及該第二類設備104自身的一設備訊息傳送給指定的第一類設備102,或定期地將該(等)量測訊息及該第二類設備104自身的一設備訊息經由至少一該第三類設備106傳送給該指定的第一類設備102。
每一該第一類設備102可為一閘道器,用以接收、蒐集對應的第二類設備104(亦即,在預設的工作設定上與其直接或間接通訊的第二類設備104)所傳送的該(等)量測訊息,以及接收對應的第二類設備104及對應的第三類設備106(亦即,在預設的工作設定上與其直接或間接通訊的第三類設備106)各自的設備訊息。需說明的是,每一該第一類設備102亦可提取其內部的設備資訊。於某些實施方式中,某些第一類設備102可將該(等)量測訊息及該(等)設備訊息進行一篩選處理(圖未示)或一計算處理(圖未示)以生成一處理資料(圖未示)。該篩選處理可根據一閾值或一 資料表刪除錯誤或異常的量測資訊,該計算處理可根據一數值運算或一格式轉換將該對應的第二類設備104傳送來的該量測資訊轉換為另一數值或另一格式。
每一該第三類設備106可為一路由器(router)、一集線器(hub)、一交換器(switch)或一接入點(access point),用以將對應的第二類設備104(亦即,在預設的工作設定上與其直接或間接通訊的第二類設備104)所發送的該(等)量測訊息及該(等)設備訊息傳送至該指定的第一類設備102,或將對應的第二類設備104所發送的該(等)量測訊息及該(等)設備訊息再透過至少一第三類設備106傳送至該指定的第一類設備102。藉由在物聯網系統100中佈署該複數個第三類設備106,當某一第二類設備104無法直接地與第一類設備102交換資料時,可透過至少一個第三類設備106間接地與第一類設備102交換資料。此外,每一該第三類設備106亦可將自身的設備訊息直接地傳送給指定的第一類設備102,或透過其他第三類設備106將自身的設備訊息間接地傳送給指定的第一類設備102。
每一該第一類設備102可將複數筆重要資料指定為複數筆備份資料,並將複數筆備份資料進行序列雜湊處理200(如第2圖所示),以生成複數筆雜湊資料。於本實施方式中,一個第一類設備102的重要資料可為對應的量測訊息(亦即,直接或間接地接收到的量測訊息)、對應的處理資料(亦即,其所生成的處理資料)或/及對應的設備訊息(亦即,直接或間接地接收到的設備訊息或/及自己的設備訊息)。接著,每一該第一類設備102將複數筆備份資料及複數筆雜湊資料整合為一筆設備詮釋資料122(例如:將複數筆備份資料及複數筆雜湊資料儲存於同一個檔案),並將該設備詮釋 資料122透過該網路120傳送給容錯移轉裝置140,藉此達成對物聯網系統100中的各第一類設備102的重要資料的備份。每一該第一類設備102會定期地對更新後的重要資料進行前述運作(亦即,定期地將更新後的重要資料指定為備份資料,進行序列雜湊處理200,整合為設備詮釋資料122,再將之傳送給容錯移轉裝置140)。於本實施方式中,每一筆備份資料可包一筆或多筆重要資料。
於本實施方式中,設備訊息可包括一識別訊息、一系統設定、一CPU使用率、一記憶體使用率、一網際網路協定位址(IP Address)、一通訊埠(Port)、一設備功率消耗及/或一在線時間(connection lifetime),但不以此為限。該識別訊息可包括但不限於全域唯一識別碼(Globally Unique Identifier,GUID)或/及設備自訂名稱等可用以辨識設備身分的資訊。該系統設定可包含備份處理、篩選處理、計算處理、序列雜湊處理及前述各項處理的處理週期。網際網路協定位址包含其自身在物聯網系統100中的網際網路協定位址、相對應的第二類設備104及第三類設備106的網際網路協定位址及容錯移轉裝置140的網際網路協定位址等。該在線時間為該複數個第一類設備102、該複數個第二類設備104及該複數個第三類設備106中任兩設備之間的總網路連接時間或平均網路連接時間。舉例而言,在線時間可為各該第二類設備104與其指定的第一類設備102之間的總網路連接時間或平均網路連接時間,相似地,在線時間亦可為各該第二類設備104與其指定的第三類設備106之間的總網路連接時間或平均網路連接時間、各該第三類設備106與其指定的第三類設備106之間的總網路連接時間或平均網路連接時間及各該第三類設備106與其指定的第一類設備102之間的總網路連接時間或 平均網路連接時間等。
接著,請參閱第2圖,其係為本發明之序列雜湊處理200之流程圖。本發明定義多個時間區間(例如:每一天為一時間區間、每一週為一時間區間或是每一個月為一時間區間),而每一該第一類設備102會在各時間區間內定期地執行序列雜湊處理200以對不同時段的重要資料備份。序列雜湊處理200包含步驟202至步驟206,詳述如下。
步驟202:將每一筆備份資料分別代入一雜湊函式進行雜湊計算以獲得對應的葉哈希(leaf hash)。每一筆備份資料會生成一筆對應的葉哈希。該雜湊函式為一SHA-1哈希算法及一MD5訊息摘要演算法其中之一,但不以此為限。
步驟204:合併多個葉哈希為一筆資料(例如:串接該多個葉哈希、將該多個葉哈希相加),再將合併後的該筆資料代入該雜湊函式進行雜湊計算以獲得一父哈希(parent hash)。
步驟206:合併同一時間區間內已生成的所有父哈希為一筆資料(例如:串接一時間區間內已生成的所有父哈希、將一時間區間內已生成的所有父哈希相加),再將合併後的該筆資料代入該雜湊函式進行雜湊計算以獲得一根哈希(root hash)。
於本實施方式中,每一該第一類設備102在針對一時間區間內之一時段執行完步驟202、步驟204及步驟206後,便會傳送該時段之一設備詮釋資料122至容錯移轉裝置140,其中該設備詮釋資料122包含該時段的備份資料、葉哈希、父哈希及根哈希。於某些實施方式中,每一該第一類設備102在針對一時間區間完成序列雜湊處理200後,才會傳送該時間區間之 一設備詮釋資料122至容錯移轉裝置140,其中該設備詮釋資料122包含該時間區間內不同時段的備份資料、葉哈希、父哈希及根哈希。
為便於理解,茲以一具體範例說明,但其非用以限制本發明之範圍。於該具體範例中,步驟206所述之時間區間係依照日期來區別,亦即,同一日期屬於同一時間區間,不同日期即為不同時間區間。於該具體範例中,第一類設備102每日在一個或複數個固定時間點對多筆備份資料執行序列雜湊處理200,例如:每一該第一類設備102會定期地對每一日在00:00至07:59間的多筆備份資料執行序列雜湊處理200,對每一日在08:00至15:59間的多筆備份資料執行序列雜湊處理200,且對每一日在16:00至23:59間的多筆備份資料執行序列雜湊處理200。於該具體範例中,每一該第一類設備102將每一時段的備份資料、葉哈希、父哈希及根哈希儲存為一筆設備詮釋資料122,再將之傳送至容錯移轉裝置140。於某些實施方式中,每一該第一類設備102則會將同一時間區間內不同時間點的備份資料、葉哈希、父哈希及根哈希儲存為一筆設備詮釋資料122,再將之傳送至容錯移轉裝置140。
由於每一該第一類設備102皆會針對不同時間區間(例如:每一日)傳送一至多筆設備詮釋資料122至容錯移轉裝置140,因此,容錯移轉裝置140會接收到複數筆設備詮釋資料122。
此外,於本實施方式中,該物聯網系統100更包含一網路管理模組(圖未示),該網路管理模組可為一般的網管程式,且可安裝於任一與物聯網系統100所形成之區域網路相連接的獨立的電子計算裝置。該網路管理模組可即時地蒐集及監控該物聯網系統100中所有的第二類設備104、第一類設備102及第三類設備106的複數個網路連接關係。因此,在物聯網系 統100布署且設定完成後,該網路管理模組便知道該複數個第一類設備102、該複數個第二類設備104及該複數個第三類設備106所形成的網路拓樸。該網路管理模組會根據該網路拓樸生成一網路拓樸資料124,再將該網路拓樸資料124透過該網路120傳送給該容錯移轉裝置140。
請參照第1圖,本實施方式之該容錯移轉裝置140包含一網路介面142、一處理器144及一儲存器146,其中處理器144電性連接至網路介面142及儲存器146。於本實施方式中,容錯移轉裝置140可以是各種類型的電子計算裝置,例如但不限於伺服器、筆記型電腦、平板電腦、桌上型電腦等。網路介面142可以是一般電子計算裝置/電腦內所具備的一實體網路介面卡,作為容錯移轉裝置140與網路120之間的一個互接點(interconnection point)。根據不同的需求,網路介面142可讓容錯移轉裝置140以有線存取或無線存取的方式,透過網路120與該第一類設備102進行通訊並交換資料。處理器144可為各種處理器、中央處理單元(Central Processing Unit,CPU)、微處理器或本發明所屬技術領域中具有通常知識者所知之其他計算裝置中之任一者。儲存器146可為一記憶體、一通用串列匯流排(Universal Serial Bus,USB)碟、一硬碟、一光碟(Compact Disk,CD)、一隨身碟、一資料庫或本發明所屬技術領域中具有通常知識者所知且具有相同功能之任何其他儲存媒體或電路。
如第1圖所示,網路介面142與物聯網系統100連接,且接收物聯網系統100所傳送之複數筆設備詮釋資料122及網路拓樸資料124,其中各筆設備詮釋資料122包含複數筆備份資料及複數筆雜湊資料。於本實施方式中,處理器144轉換同一時間區間內的該等設備詮釋資料122為一詮釋管 理資料152,且轉換網路拓樸資料124為拓樸管理資料154。舉例而言,各詮釋管理資料152及拓樸管理資料154可採用圖(graph)的形式管理其所包含的資料。儲存器146儲存該等詮釋管理資料152及拓樸管理資料154。
當物聯網系統100的網路管理模組偵測到該複數個第一類設備102中的一第一設備無法正常運作或故障時,網路管理模組傳送與該第一設備故障相關之一故障訊息(圖未示)至容錯移轉裝置140。於本實施方式中,網路管理模組可藉由接收心跳訊號(heartbeat signals)來判斷該複數個第一類設備102是否正常運作。藉此,當該複數個第一類設備102中的該第一設備發生故障時,網路管理模組便能即時地發出故障訊息。需說明者,網路管理模組可採用其他技術來判斷每一該第一類設備102是否正常運作,本發明對此不作限制。
在容錯移轉裝置140的網路介面142接收到物聯網系統100所傳送的關於該第一設備之故障訊息後,處理器144因應該故障訊息模擬複數個設備連接關係。具體而言,處理器144可根據故障訊息先移除拓樸管理資料154中與該第一設備有直接關連的連接通道/連接關係,再根據拓樸管理資料154模擬在該第一設備故障後能使與該第一設備有工作關係的關聯設備(亦即,原先與該第一設備直接地或間接地進行通訊並交換資料的第二類設備)皆能連接至某一(或某些)第一類設備的複數個設備連接關係。前述的每一個該設備連接關係為設備與設備間的直接的連接關係(亦即,可直接進行通訊及資料交換)。
接著,處理器144根據該等設備連接關係計算複數個移轉成本。於本實施方式中,處理器144根據拓樸管理資料154及該等設備連接關係 從該複數個第二類設備102中找出可接替第一設備的至少一候選設備,且根據拓樸管理資料154找出所有與第一設備有工作關係的關聯設備。
然後,處理器144根據一選取策略為每一該關聯設備找出連接至每一該候選設備之一訊號傳遞路徑,且會根據該選取策略所對應之一成本公式計算各該訊號傳遞路徑之一移轉成本。該選取策略可為最低能源消耗、最小通訊延遲或/及最長在線時間,因此該成本公式可為累計一關聯設備至一候選設備的訊號傳遞路徑上所有的能源消耗、累計一關聯設備至一候選設備的一訊號傳遞路徑上所有的通訊延遲或/及累計一關聯設備至一候選設備的一訊號傳遞路徑上所有的在線時間。於本實施方式中,利用不同的選取策略(亦即,利用不同的成本公式)作評估會得到與其相對應的移轉成本,因此各移轉成本可與能源消耗、通訊延遲及在線時間其中之一或其組合相關。
接著,處理器144根據該等移轉成本從該至少一候選設備中選定一第二設備來取代該第一設備。具體而言,處理器144可根據該等移轉成本計算出該等關聯設備改為連接(直接地或間接地)至各該至少一候選設備之複數個總成本,再選取最低總成本所對應的候選設備作為接替該第一設備的該第二設備。該第二設備所對應的訊號傳遞路徑即會作為與該第一設備有工作關係的關聯設備(亦即,原先與該第一設備直接地或間接地進行通訊並交換資料的第二類設備)的接替的訊號傳遞路徑。
在選定該第二設備後,容錯移轉裝置140需將該第一設備的備份資料提供予該第二設備,使其能據以運作。具體而言,處理器144根據該第一設備所對應之該至少一詮釋管理資料152找出該第一設備所對應之 該等雜湊資料,且以一雜湊函式及所找出之該等雜湊資料找出驗證正確之至少一備份資料。於本實施方式中,該雜湊函式為一SHA-1哈希算法及一MD5訊息摘要演算法其中之一,但不以此為限。惟需注意者,處理器144所採用之雜湊函式需與該第一設備所採用之雜湊函式相同。由於透過網路120所傳輸/接收的資料可能會因各種因素導致封包遺失,造成其內容發生錯誤,因此在將備份資料傳給該第二設備之前,有必要先行驗證以確認備份資料的完整性。
由前述可知,第一類設備102於一時間區間(例如:一天、一週或是一個月)內透過網路120傳送給容錯移轉裝置140的複數筆設備詮釋資料可經處理器144轉換為一筆詮釋管理資料152,其中每一筆詮釋管理資料152包含在一時間區間內不同時段的複數筆備份資料及複數筆雜湊資料,其中各時段中的每一筆備份資料有對應的一葉哈希,而多個葉哈希對應至一父哈希,而一至多個父哈希又對應至一個根哈希。因此,當處理器144選定該第一設備的某一詮釋管理資料152,便可根據雜湊函式、對應的葉哈希、相關聯的父哈希及相關聯的根哈希來驗證其備份資料的完整性。需說明者,處理器144可選取最接近的時段的詮釋管理資料152或根據該第一設備發生故障的時間區間選取詮釋管理資料152(例如:同一天),再根據該第一設備發生故障的具體時間選取要進行前述驗證的根哈希、父哈希、葉哈希及備份資料。若選取的備份資料未通過驗證,處理器144可對同一時間區間的詮釋管理資料152中其他時段的根哈希、父哈希、葉哈希及備份資料進行驗證,尋找驗證正確的備份資料,或從不同時間區間(例如:不同日期)的詮釋管理資料中尋找驗證正確的備份資料。
為便於說明,茲以一具體範例說明,但其非用以限制本發明之範圍。於該具體範例中,一第一類設備102每天備分三次,即分別於7:59、15:59及23:59等三個時間點備份各該時段(例如:00:00~07:59、08:00~15:59及16:00~23:59)的重要資料,藉此得到這些時段的設備詮釋資料122。若故障發生於2018年7月18日19時20分,則處理器144先選取故障當天的詮釋管理資料152,驗證當天(2018年7月18日)第二個時段(08:00~15:59)的根哈希是否為同一天第一個時段(00:00~07:59)的父哈希與第二個時段的父哈希的合併資料經該雜湊函式運算所得的雜湊值。若第二個時段的根哈希等於第一個時段的父哈希與第二個時段的父哈希的合併資料經雜湊函式運算所生成的雜湊值,代表第一個時段的父哈希與第二個時段的父哈希在傳送到容錯移轉裝置140後仍正確無誤。由於根哈希驗證正確,處理器144接著驗證該第二個時段的父哈希是否為第二個時段的該等葉哈希的合併資料經該雜湊函式運算所得的雜湊值。若第二個時段的父哈希等於第二個時段的該等葉哈希的合併資料經該雜湊函式運算所生成的雜湊值,代表第二個時段的該等葉哈希的在傳送到容錯移轉裝置140後仍正確無誤。由於父哈希驗證正確,處理器144接著驗證各葉哈希是否為其所對應的備分資料經該雜湊函式運算所得的雜湊值。若各葉哈希驗證結果為其所對應的備分資料經該雜湊函式運算所生成的雜湊值,代表該時段的各筆備份資料在傳送到容錯移轉裝置140後仍正確無誤。反之,若某一葉哈希驗證結果與其所對應的備分資料所生成的雜湊值不相符,代表該對應的備份資料不正確,有必要從其他時間區段中重新尋找。
此外,若第二個時段的根哈希經驗證不等同於第一個時段的 父哈希與第二個時段的父哈希的合併資料經該雜湊函式運算所生成的雜奏值,代表容錯移轉裝置140所儲存的第一個時段的父哈希、第二個時段的父哈希及第二個時段的根哈希其中至少一者因某些因素(例如:在傳送到容錯移轉裝置140的過程遺失封包)發生錯誤。由於根哈希未通過驗證,處理器144接著選取不同天的詮釋管理資料152(例如:前一天,2018年7月17日),驗證該天(2018年7月17日)的第三個時段(16:00~23:59)的根哈希是否為該天(2018年7月17日)第一個時段(00:00~07:59)的父哈希、第二個時段的父哈希與第三個時段的父哈希的合併資料經該雜湊函式運算所得的值。處理器144可持續重複前述的驗證流程直到從找到所有需要的備份資料,於此不再贅述。利用上述的哈希結構及驗證方式,提升備份資料的驗證效率及彈性。
於備份資料驗證正確後,網路介面142傳送該驗證正確之至少一備份資料至該第二設備。該第二設備執行一復元程序,以從驗證正確之至少一備份資料取得第一設備的系統設定,並將該第一設備的系統設定加入該第二設備中,使該第二設備接手並繼續提供該第一設備原先提供的服務及功能。另外,處理器144根據該第二設備所對應之該至少一設備連接關係更新拓樸管理資料154。於本實施方式中,該第二設備所對應之該至少一設備連接關為包含於接替的該(等)訊號傳遞路徑中的那一(那些)設備連接關係。
透過前述運作,容錯移轉裝置140便完成了該第一設備故障時的容錯移轉運作。
於某些實施方式中,儲存器146儲存一圖形資料庫(graph database)156,處理器144可執行一圖形化程序(圖未示)以將該等詮釋管理資料152及拓樸管理資料154轉換為符合圖形資料庫156的一格式(例如:透過圖形化的結構性語言(Graph-SQL))。舉例而言,若圖形資料庫156是名為neo4j的圖形資料庫,則可藉由執行Cypher查詢語言來將該等設備詮釋資料轉換為符合neo4j圖形資料庫格式的該等詮釋管理資料152,且將該網路拓樸資料轉換為符合neo4j圖形資料庫格式拓樸管理資料154。
於這些實施方式中,經圖形化程序所獲得的該等詮釋管理資料152及拓樸管理資料154中的每一個包含複數個節點資料、複數個邊線資料、複數個節點屬性資料及複數個邊線屬性資料。
具體而言,拓樸管理資料154中的該複數個節點資料對應至該複數個第一類設備節點102、該複數個第二類設備節點104及該複數個第三類設備節點。拓樸管理資料154中的該複數個邊線資料包含限制從第二類設備104單向地傳送訊息到第三類設備106的至少一第一邊線、允許第三類設備106與第三類設備106之間雙向傳送訊息的至少一第二邊線、限制從第三類設備106單向地傳送訊息到第一類設備102的至少一第三邊線以及限制從第二類設備104單向地傳送訊息到第一類設備102的至少一第四邊線,但不以此為限。拓樸管理資料154中的該複數個節點屬性資料包含但不限於對應的節點的辨識資訊、功率消耗及是否允許作為容錯移轉的對象等。每一該拓樸管理資料154中的該複數個邊線屬性資料包含但不限於對應的邊線的辨識資訊及在線時間。
另外,每一該詮釋管理資料152經圖形化後可為一哈希樹,且每一該哈希樹包含一根節點、複數個父節點及複數個葉節點。每一該詮釋 管理資料152中的該複數個節點資料對應至該葉節點、該複數個父節點及該複數個根節點。每一該詮釋管理資料152中的該複數個邊線資料包含葉節點與父節點連接的複數個第五邊線,以及父節點與根節點連接的複數個第六邊線,但不以此為限。每一該詮釋管理資料152中的該複數個邊線屬性資料包含但不限於對應的邊線的辨識資訊及雜湊函式。
請參閱第3圖,其係為經圖形化後之詮釋管理資料152之一具體範例。第3圖所示之具體範例僅作為說明,並非用以限制本發明之範圍。於該具體範例中,一第一類設備102每天備分三次,即分別於7:59、15:59及23:59等三個時間點備份各該時段(例如:00:00~07:59、08:00~15:59及16:00~23:59)的重要資料,藉此得到這些時段的設備詮釋資料122。設備詮釋資料122之根哈希、父哈希及葉哈希的驗證方式與前述的具體範例相似,於此不再贅述。
如第3圖所示,該第一類設備102於第一時段T1(00:00~07:59)中的設備詮釋資料122在傳送至容錯移轉裝置140後經處理器144轉換為根節點332中的第一部分326、父節點320、葉節點302、葉節點304及葉節點306,其中葉節點302、304、306各包含一備分資料及經雜湊函式計算所生成的對應的葉哈希,父節點包含第一時段T1的各葉哈希的合併資料經雜湊函式計算所生成的父哈希,根節點332中的第一部分326包含第一時段T1的父哈希經雜湊函式計算所生成的根哈希。相似地,該第一類設備102於第二時段T2(08:00~15:59)中的設備詮釋資料122經處理器144轉換為根節點332中的第二部分328、父節點322、葉節點308、葉節點310及葉節點312,其中葉節點308、310、312各包含一備份資料及經雜湊函式計算所生 成的對應的葉哈希,父節點322包含第二時段T2的各葉哈希的合併資料經雜湊函式計算所生成的父哈希,根節點332中的第二部分328包含第一時段T1的父哈希與第二時段T2的父哈希的合併資料經雜湊函式計算所生成的根哈希。該第一類設備102於第三時段T3(16:00~23:59)中的設備詮釋資料122經處理器144轉換為根節點332中的第三部分330、父節點324、葉節點314、葉節點316及葉節點318,其中葉節點314、316、318各包含一備份資料及經雜湊函式計算所生成的對應的葉哈希,父節點324包含第三時段T3的各葉哈希的合併資料經雜湊函式計算所生成的父哈希,根節點332中的第三部分330包含第一時段T1的父哈希、第二時段T2的父哈希與第三時段T3的父哈希的合併資料經雜湊函式計算所生成的根哈希。
於某些實施方式中,處理器144係透過查詢圖形資料庫156中的相關資料後來模擬出前述的設備連接關係。具體而言,處理器144尋找拓樸管理資料154中與故障訊息相對應的節點資料、至少一邊線資料及該等邊線屬性資料,移除故障訊息相對應的至少一邊線資料及該等邊線屬性資料(例如:根據故障得知該第一設備故障,處理器144會移除與該第一設備相關的所有邊線及其邊線屬性),再模擬出該等設備連接關係。
於某些實施方式中,處理器144係透過查詢圖形資料庫156中的相關資料來計算該等移轉成本。具體而言,處理器144根據拓樸管理資料154取得與該第一設備有工作關聯的至少一第一類節點,根據拓樸管理資料154取得可做為容錯移轉對象的至少一第二類節點。前述各該第一類節點對應至該複數個第二類設備節點104其中之一,而各該至少一第二類節點對應至該複數個第一類設備節點102其中之一。該至少一第二類節點對應至前述 的該至少一候選設備。
接著,處理器144根據拓樸管理資料154中的該等邊線資料及該等邊線屬性計算各該至少一第一類節點傳遞資料至各該至少一第二類節點的一評估成本以作為該等移轉成本。利用圖形資料庫156提供的節點資料、邊線資料、該等節點資料包含的功率消耗、該等邊線資料包含的訊號傳遞方向限制及該等邊線屬性包含的在線時間等資訊,處理器144在計算每一該第一類節點至每一該第二類節點之評估成本時可以加快運算速度,減少運算所需的時間。舉例而言,處理器144可透過圖形資料庫156所提供的查詢語言(即Graph SQL)快速地找出各該至少一第一類節點至各該至少一第二類節點之訊號傳遞路徑(例如:根據所採用的選取策略,以查詢語言找出最低能源消耗、最小通訊延遲或/及最長在線時間之訊號傳遞路徑),再計算訊號傳遞路徑之評估成本,而評估成本即為移轉成本。
於某些實施方式中,容錯移轉裝置140的處理器144係將該複數個第一類設備102所傳送的每一筆設備詮釋資料122轉換為一哈希樹,再將各哈希樹以符合圖形資料庫156的格式來儲存。各哈希樹包含複數個葉節點、複數個父節點及一根節點,其中該複數個葉節點、該複數個父節點及該根節點對應至同一時間區間(例如:同一日)。對於任一哈希樹,各該葉節點包含一葉資料及其對應之一葉哈希,且各該葉資料為該時間區間的某一時段(例如:00:00~07:59、08:00~15:59及16:00~23:59)所生成之該等備份資料其中之一,各該葉哈希係由對應之該葉資料經雜湊函式運算而得。對於任一哈希樹,各該父節點包含一父哈希,各該父哈希係由同一時間區間且同一時段之葉哈希經該雜湊函式運算而得。對於任一哈希樹,該根節點包含同 一時間區間但不同時段所生成之至少一根哈希,且各該至少一根哈希係由對應之該至少一父哈希經該雜湊函式運算而得。
於某些實施方式中,容錯移轉裝置140的處理器144係根據雜湊函式及該第一設備所對應之該至少一哈希樹所包含之該等雜湊資料找出驗證正確之至少一葉資料,且處理器144轉換驗證正確之各該至少一葉資料為一回復資料,其中各該回復資料符合該物聯網系統100之一詮釋資料格式。各該回復資料為該第一設備先前傳送至容錯移轉裝置140的一筆備份資料經格式轉換為符合詮釋管理資料152的格式後再次轉換為符合物聯網系統100的格式的資料。接著,網路介面142傳送回復資料至該第二設備,使該第二設備從回復資料中取得該第一設備的系統設定以接替該第一設備,繼續提供該第一設備原先提供的服務與功能。
本發明之第二實施方式為一容錯移轉方法,其流程圖係描繪於第4圖。容錯移轉方法400適用於一物聯網系統(例如:前述物聯網系統100)之電子計算裝置(例如:容錯移轉裝置140)。容錯移轉方法400包含步驟402至步驟424,詳述如下。
於步驟402,由該電子計算裝置接收該物聯網系統100之一網路拓樸資料124及複數筆設備詮釋資料122,其中各設備詮釋資料122包含複數筆備份資料及複數筆雜湊資料。需說明者,本發明未限定該等設備詮釋資料122要一起被接收。換言之,每當一個第一類設備102傳送一筆設備詮釋資料122,容錯移轉方法便會接收該筆設備詮釋資料。於步驟404,由該電子計算裝置轉換網路拓樸資料124為拓樸管理資料154。於步驟406,由該電子計算裝置轉換各設備詮釋資料122為詮釋管理資料152。於步驟408,由該電子 計算裝置儲存拓樸管理資料154及該等詮釋管理資料152。藉執行步驟402至步驟408,電子計算裝置持續地備份物聯網系統100的第一類設備102所包含的重要資訊。
於本實施方式中,拓樸管理資料154及該等詮釋管理資料152各符合一圖形資料庫156的一格式,其中拓樸管理資料154及該等詮釋管理資料152中的每一個包含複數個節點資料、複數個邊線資料、複數個節點屬性資料及複數個邊線屬性資料。需說明者,於某些實施方式中,拓樸管理資料154及該等詮釋管理資料152不一定要符合圖形資料庫156的格式。
於步驟410,由該電子計算裝置接收物聯網系統100關於一第一設備之故障訊息,其中該故障訊息包含該第一設備的識別資訊。於步驟412,由該電子計算裝置因應該故障訊息模擬複數個設備連接關係,該等模擬的設備連接關係可視為潛在可建立的連接關係,暫時地供容錯移轉方法作為分析的依據。於步驟414,由該電子計算裝置根據該等設備連接關係計算複數個移轉成本,其中各移轉成本與能源消耗、通訊延遲及在線時間其中之一或其組合相關。於步驟416,由該電子計算裝置根據該等移轉成本從該物聯網系統100選定接替故障的該第一設備的一第二設備。藉由執行步驟410至步驟416,容錯移轉方法分析物聯網系統100的實際連接狀況及潛在可建立的連接關係,動態地找出符合期望的替代設備及替代的訊號傳遞路徑。
於本實施方式中,於步驟412之前,該容錯移轉方法可執行另一步驟以由該電子計算裝置尋找拓樸管理資料154中與故障訊息相對應的節點資料、至少一邊線資料及該等邊線屬性資料,再執行另一步驟以由該電子計算裝置移除故障訊息相對應的至少一邊線資料及該等邊線屬性資 料,接著才執行步驟412。
於某些實施方式中,步驟414包含一第一步驟,由該電子計算裝置根據拓樸管理資料154取得與第一設備有一工作關聯的第一類節點。步驟414還包含一第二步驟,由該電子計算裝置根據拓樸管理資料154取得可做為容錯移轉對象的至少一第二類節點。步驟414還包含一第三步驟,由該電子計算裝置根據拓樸管理資料154中的該等邊線資料及該等邊線屬性資料計算各至少一第一類節點傳遞資料至至少一第二類節點的評估成本做為該等移轉成本。前述第一類節點可為感測器,第二類節點、第一設備及第二設備皆可為閘道器。
於步驟416之後執行步驟418,由該電子計算裝置根據第一設備所對應之至少一詮釋管理資料152找出第一設備所對應之該等雜湊資料。於步驟420,由該電子計算裝置以一雜湊函式及所找出之該等雜湊資料找出驗證正確之至少一備份資料。該雜湊函式為一SHA-1哈希算法及一MD5訊息摘要演算法其中之一。於步驟422,由該電子計算裝置傳送驗證正確之至少一備份資料至第二設備。於步驟424,由該電子計算裝置根據第二設備所對應之至少一設備連接關係更新拓樸管理資料。藉由步驟418至步驟424,該容錯移轉方對從物聯網系統100接收的備份資料進行有效性的驗證,並只將驗證正確之備份資料傳送給交替的設備,以實現由接替的設備繼續提供故障的設備先前提供的服務及功能。
於某些實施方式中,各該詮釋管理資料為一哈希樹(hash tree),各該哈希樹包含複數個葉節點、複數個父節點及一根節點。進一步言,各該葉節點包含一葉資料及一葉哈希,各該葉資料為該等備份資料其中之 一,各該葉哈希係由對應之該葉資料經該雜湊函式運算而得,各該父節點包含一父哈希,各該父哈希係由對應之該等葉哈希經該雜湊函式運算而得,各該根節點包含至少一根哈希,且各該根哈希係由對應之該至少一父哈希經該雜湊函式運算而得。於這些實施方式中,步驟420係執行一步驟以由該電子計算裝置根據該雜湊函式及該第一設備所對應之該至少一哈希樹所包含之該等雜湊資料找出驗證正確之該至少一葉資料,再執行另一步驟由該電子計算裝置轉換驗證正確之各該至少一葉資料為一回復資料,各該回復資料符合該物聯網系統之一詮釋資料格式。
除上述步驟以外,第二實施方式亦能執行第一實施方式所描述之所有運作及步驟,具有同樣之功能,且達到同樣之效果。本發明所屬技術領域中具有通常知識者可直接瞭解第二實施方式如何基於上述第一實施方式以執行此等運作及步驟,具有同樣之功能,並達到同樣之技術效果,故不贅述。
綜上所述,本發明所提供之容錯移轉裝置及方法在物聯網系統中的某一設備發生故障時,能根據物聯網系統的即時的設備連接關係計算複數個移轉成本,並藉由移轉成本動態地(on-the-fly)選擇作為容錯移轉的對象及其接替的訊號傳遞路徑,以利用單一的設備提升物聯網系統的容錯性,節省另外配置專屬備援設備的成本,發揮出物聯網系統的良好可延伸性及良好靈活度。此外,本發明所提供之容錯移轉裝置及方法透過多層的哈希值來驗證備份資料的完整性,避免將不完整或錯誤的資料傳送至作為容錯移轉的對象而導致部分的物聯網系統停擺,故可增加系統的穩定度。再者,由於本發明所提供之容錯移轉裝置及方法可因應不同考量來調整移轉 成本的計算方式,進一步增加使用上的彈性。
本發明之容錯移轉裝置及方法可充分地利用物聯網系統的網路連接優勢,解決了習知技術無法兼顧擴張物聯網系統的設備數量與提升物聯網系統的容錯性的窘境。
上述揭露內容僅用來例舉本發明之部分實施態樣,以及闡述本發明之詳細技術內容及技術特徵,而非用來限制本發明之保護範疇及範圍。任何本發明所屬技術領域中具有通常知識者基於上述揭露內容及建議能思及之潤飾、替換、改變及均等性之安排均屬於本發明所主張之範圍,而本發明之權利保護範圍以申請專利範圍為準。
402~424‧‧‧步驟

Claims (20)

  1. 一種容錯移轉裝置,包含:一網路介面,與一物聯網系統連接,且接收該物聯網系統之一網路拓樸資料及複數筆設備詮釋資料,各該設備詮釋資料包含複數筆備份資料及複數筆雜湊資料;一處理器,電性連接該網路介面,轉換該網路拓樸資料為一拓樸管理資料,且轉換各該設備詮釋資料為一詮釋管理資料;以及一儲存器,電性連接該處理器,且儲存該拓樸管理資料及該等詮釋管理資料;其中,該網路介面接收該物聯網系統關於一第一設備之一故障訊息,該處理器因應該故障訊息模擬複數個設備連接關係,根據該等設備連接關係計算複數個移轉成本,且根據該等移轉成本從該物聯網系統選定一第二設備,該處理器根據該第一設備所對應之該至少一詮釋管理資料找出該第一設備所對應之該等雜湊資料,且以一雜湊函式及所找出之該等雜湊資料找出驗證正確之該至少一備份資料,該網路介面傳送驗證正確之該至少一備份資料至該第二設備,該處理器根據該第二設備所對應之該至少一設備連接關係更新該拓樸管理資料。
  2. 如請求項1所述之容錯移轉裝置,其中各該移轉成本與一能源消耗、一通訊延遲及一在線時間其中之一或其組合相關。
  3. 如請求項1所述之容錯移轉裝置,其中該拓樸管理資料及該等詮釋管理資料係符合一圖形資料庫的一格式,該拓樸管理資料及該等詮釋管理資料中的每一個包含複數個節點資料、複數個邊線資料、複數個節點屬性資 料及複數個邊線屬性資料。
  4. 如請求項3所述之容錯移轉裝置,其中該處理器更尋找該拓樸管理資料中與該故障訊息相對應的該節點資料、該至少一邊線資料及該等邊線屬性資料,以及移除該故障訊息相對應的該至少一邊線資料及該等邊線屬性資料,再模擬該等設備連接關係。
  5. 如請求項3所述之容錯移轉裝置,其中該處理器更根據該拓樸管理資料取得與該第一設備有一工作關聯的至少一第一類節點,根據該拓樸管理資料取得可作為容錯移轉對象的至少一第二類節點,且根據該拓樸管理資料中的該等邊線資料及該等邊線屬性資料計算各該至少一第一類節點傳遞資料至各該至少一第二類節點的一評估成本作為該等移轉成本。
  6. 如請求項5所述之容錯移轉裝置,其中該至少一第一類節點各為一感測器,且該至少一第二類節點、該第一設備及該第二設備各為一閘道器。
  7. 如請求項1所述之容錯移轉裝置,其中各該詮釋管理資料為一哈希樹(hash tree),各該哈希樹包含複數個葉節點、複數個父節點及一根節點。
  8. 如請求項7所述之容錯移轉裝置,其中各該葉節點包含一葉資料及一葉哈希,各該葉資料為該等備份資料其中之一,各該葉哈希係由對應之該葉資料經該雜湊函式運算而得,各該父節點包含一父哈希,各該父哈希係由對應之該等葉哈希經該雜湊函式運算而得,各該根節點包含至少一根哈希,且各該根哈希係由對應之該至少一父哈希經該雜湊函式運算而得。
  9. 如請求項7所述之容錯移轉裝置,其中該處理器係根據該雜湊函式及該第一設備所對應之該至少一哈希樹所包含之該等雜湊資料找出驗證正確之該至少一葉資料,且該處理器轉換驗證正確之各該至少一葉資料為一回 復資料,各該回復資料符合該物聯網系統之一詮釋資料格式。
  10. 如請求項1所述之容錯移轉裝置,其中該雜湊函式為一SHA-1哈希算法及一MD5訊息摘要演算法其中之一。
  11. 一種容錯移轉方法,適用於一物聯網系統之一電子計算裝置,該容錯移轉方法包含:(a)接收該物聯網系統之一網路拓樸資料及複數筆設備詮釋資料,其中各該設備詮釋資料包含複數筆備份資料及複數筆雜湊資料;(b)轉換該網路拓樸資料為一拓樸管理資料;(c)轉換各該設備詮釋資料為一詮釋管理資料;(d)儲存該拓樸管理資料及該等詮釋管理資料;(e)接收該物聯網系統關於一第一設備之一故障訊息;(f)因應該故障訊息模擬複數個設備連接關係;(g)根據該等設備連接關係計算複數個移轉成本;(h)根據該等移轉成本從該物聯網系統選定一第二設備;(i)根據該第一設備所對應之該至少一詮釋管理資料找出該第一設備所對應之該等雜湊資料;(j)以一雜湊函式及所找出之該等雜湊資料找出驗證正確之該至少一備份資料;(k)傳送該驗證正確之該至少一備份資料至該第二設備;以及(l)根據該第二設備所對應之該至少一設備連接關係更新該拓樸管理資料。
  12. 如請求項11所述之容錯移轉方法,其中各該移轉成本與一能源消耗、一 通訊延遲及一在線時間其中之一或其組合相關。
  13. 如請求項11所述之容錯移轉方法,其中該拓樸管理資料及該等詮釋管理資料係符合一圖形資料庫的一格式,該拓樸管理資料及該等詮釋管理資料中的每一個包含複數個節點資料、複數個邊線資料、複數個節點屬性資料及複數個邊線屬性資料。
  14. 如請求項13所述之容錯移轉方法,更包含下列步驟:尋找該拓樸管理資料中與該故障訊息相對應的該節點資料、該至少一邊線資料及該等邊線屬性資料;以及移除該故障訊息相對應的該至少一邊線資料及該等邊線屬性資料,其中,該步驟(f)係於該移除步驟之後執行。
  15. 如請求項13所述之容錯移轉方法,其中計算該等移轉成本之步驟包含下列步驟:根據該拓樸管理資料取得與該第一設備有一工作關聯的一第一類節點;根據該拓樸管理資料取得可作為容錯移轉對象的至少一第二類節點;以及根據該拓樸管理資料中的該等邊線資料及該等邊線屬性資料計算各該至少一第一類節點傳遞資料至各該至少一第二類節點的一評估成本作為該等移轉成本。
  16. 如請求項15所述之容錯移轉方法,其中該至少一第一類節點各為一感測器,且該至少一第二類節點、該第一設備及該第二設備各為一閘道器。
  17. 如請求項13所述之容錯移轉方法,其中各該詮釋管理資料為一哈希樹 (hash tree),各該哈希樹包含複數個葉節點、複數個父節點及一根節點。
  18. 如請求項17所述之容錯移轉方法,其中各該葉節點包含一葉資料及一葉哈希,各該葉資料為該等備份資料其中之一,各該葉哈希係由對應之該葉資料經該雜湊函式運算而得,各該父節點包含一父哈希,各該父哈希係由對應之該等葉哈希經該雜湊函式運算而得,各該根節點包含至少一根哈希,且各該根哈希係由對應之該至少一父哈希經該雜湊函式運算而得。
  19. 如請求項17所述之容錯移轉方法,其中該步驟(j)包含下列步驟:根據該雜湊函式及該第一設備所對應之該至少一哈希樹所包含之該等雜湊資料找出驗證正確之該至少一葉資料;以及轉換驗證正確之各該至少一葉資料為一回復資料,各該回復資料符合該物聯網系統之一詮釋資料格式。
  20. 如請求項11所述之容錯移轉方法,其中該雜湊函式為一SHA-1哈希算法及一MD5訊息摘要演算法其中之一。
TW107133183A 2018-09-20 2018-09-20 容錯移轉裝置及方法 TW202013999A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW107133183A TW202013999A (zh) 2018-09-20 2018-09-20 容錯移轉裝置及方法
CN201811172748.4A CN110932880A (zh) 2018-09-20 2018-10-09 容错移转装置及方法
US16/172,538 US20200099575A1 (en) 2018-09-20 2018-10-26 Device and method for failover

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107133183A TW202013999A (zh) 2018-09-20 2018-09-20 容錯移轉裝置及方法

Publications (1)

Publication Number Publication Date
TW202013999A true TW202013999A (zh) 2020-04-01

Family

ID=69856350

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107133183A TW202013999A (zh) 2018-09-20 2018-09-20 容錯移轉裝置及方法

Country Status (3)

Country Link
US (1) US20200099575A1 (zh)
CN (1) CN110932880A (zh)
TW (1) TW202013999A (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11159620B2 (en) * 2019-04-17 2021-10-26 International Business Machines Corporation Blockchain based data transformation
US11050676B2 (en) * 2019-06-28 2021-06-29 Wipro Limited Method and system for triggering of internet of things (IOT) devices
CN113076065B (zh) * 2021-04-14 2022-12-09 中国人民解放军国防科技大学 一种高性能计算系统中数据输出故障容错方法
US20230030168A1 (en) * 2021-07-27 2023-02-02 Dell Products L.P. Protection of i/o paths against network partitioning and component failures in nvme-of environments
US11886277B2 (en) * 2022-03-31 2024-01-30 Atlassian Pty Ltd. Systems, apparatuses, and methods for assessing recovery viability of backup databases

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123044B (zh) * 2011-01-14 2013-08-28 北京邮电大学 基于拓扑发现技术的网络拓扑一致性检测设备和检测方法
US9106555B2 (en) * 2012-01-25 2015-08-11 Cisco Technology, Inc. Troubleshooting routing topology based on a reference topology
US9176832B2 (en) * 2013-03-15 2015-11-03 Cisco Technology, Inc. Providing a backup network topology without service disruption
US10057123B1 (en) * 2013-12-27 2018-08-21 Alarm.Com Incorporated Network topology backup
WO2016043757A1 (en) * 2014-09-18 2016-03-24 Hewlett Packard Enterprise Development Lp Data to be backed up in a backup system
US10015073B2 (en) * 2015-02-20 2018-07-03 Cisco Technology, Inc. Automatic optimal route reflector root address assignment to route reflector clients and fast failover in a network environment
US20170093910A1 (en) * 2015-09-25 2017-03-30 Acalvio Technologies, Inc. Dynamic security mechanisms
US10007577B2 (en) * 2015-12-21 2018-06-26 Intel Corporation Methods and apparatus to facilitate distributed data backup
CN108306748B (zh) * 2017-01-12 2021-03-30 阿里巴巴集团控股有限公司 网络故障定位方法、装置及交互装置

Also Published As

Publication number Publication date
US20200099575A1 (en) 2020-03-26
CN110932880A (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
TW202013999A (zh) 容錯移轉裝置及方法
CN111630826B (zh) 共识系统和方法
US11422908B2 (en) Non-disruptive controller replacement in a cross-cluster redundancy configuration
US20190163382A1 (en) Enabling data integrity checking and faster application recovery in synchronous replicated datasets
US7961594B2 (en) Methods and systems for history analysis for access paths in networks
JP6382454B2 (ja) 分散ストレージ及びレプリケーションシステム、並びに方法
US7353259B1 (en) Method and apparatus for exchanging configuration information between nodes operating in a master-slave configuration
WO2014101424A1 (zh) 分布式数据库同步方法和系统
CN105589776B (zh) 一种故障定位方法及服务器
WO2018137254A1 (zh) 一种基于调用链的并发控制的方法、装置及控制节点
US20080189498A1 (en) Method for auditing data integrity in a high availability database
JP2001249856A (ja) ストレージ・エリア・ネットワーク(san)内でのエラー処理方法及びデータ処理システム
CN102394914A (zh) 集群脑裂处理方法和装置
US10666554B2 (en) Inter-chassis link failure management system
Hong et al. Netgraph: An intelligent operated digital twin platform for data center networks
WO2019057081A1 (zh) 数据存储方法、数据查询方法、计算机设备及存储介质
US20200249845A1 (en) Operation Data Accessing Device And Accessing Method Thereof
US10938623B2 (en) Computing element failure identification mechanism
CN106254161A (zh) 基于hdfs的节点失效的快速检测与恢复方法及系统
CN109165122B (zh) 一种提升基于区块链技术实现的应用系统同城多园区部署灾备能力的方法
WO2023174163A1 (zh) 类脑计算机操作系统的神经模型存储系统及方法
CN106095618A (zh) 数据操作的方法和系统
WO2015196692A1 (zh) 一种云计算系统以及云计算系统的处理方法和装置
CN112073499A (zh) 一种多机型云物理服务器的动态服务方法
US11762741B2 (en) Storage system, storage node virtual machine restore method, and recording medium