本發明專利技術公開了一種綜合監控系統多區域數據同步方法,其特征在于包括以下步驟:1)同步區域定義:定義控制中心、備用中心、車站、車輛段數據服務器基本信息;2)環形隊列和數據服務線程關聯:創建與數據服務器相對應的線程,同時與環形隊列關聯,對全局狀態信息進行管理;3)數據提取和標識信息生成與封裝:提取需要同步的數據,創建數據描述信息,將描述信息和提取的數據進行封裝;4)服務器狀態偵測及管理:數據同步線程偵測服務器狀態,并更新全局狀態信息中對應數據服務器的狀態信息;5)數據提交及服務器故障處理;6)數據提交結果標識及數據清理。本發明專利技術的綜合監控系統數據同步方法可以實現數據同步的高可用性、同步速度快且安全性高。
【技術實現步驟摘要】
本專利技術涉及一種應用于軌道交通綜合監控系統架構上,可以達成將數據在 本區域內同步和向其它區域同步的方法,屬于地鐵自動化
技術介紹
隨著我國地鐵自動化領域的快速發展及計算機的普遍應用,在地鐵各專業 內部存在著各種形式的系統,這些系統確實提高了工作效率,但是同時也形成 了一個個分散的"信息孤島",彼此孤立的系統無法做到數據共享和數據及時更 新。綜合監控系統可以將各分散孤立的自動化系統聯結為一個有機的整體,從而實現地鐵各專業子系統之間的信息互通、資源共享;有效提高各子系統的協 調配合能力,高效地實現系統間的聯動;極大地提高了地鐵全線的整體自動化 水平。在綜合監控系統中,數據同步是典型分布式網絡應用環境下的數據同步。 對于分布式環境下的數據同步一般依賴于數據庫開發商提供的技術,但這些技 術一般都是同類數據庫的同步,限制諸多而且功能較弱。同時,由于綜合監控 系統有很高的安全性,對數據的可靠性、準確性、實時性和一致性提出了更高 的要求,具有如下特點1) 高可用性強調系統的高可靠性,在網絡出現故障時能保證不影響本地的工作,并且 在故障恢復后有很好的手段重新同步數據。此外,通過本地主副數據同步,使 本地單 一 節點在發生故障時仍具有較高的可用性。2) —致性在分布式環境中,提供最一致和可靠的數據傳輸,以保證數據間的一致性 不被破壞。3) 實時性數據同步實時性要求高,在值班節點異常情況下訪問備用節點時,能夠立5刻取得當前數據。4)海量數據系統全線正常每天實時產生事件在十萬級,異常情況下更多,造成歷史數 據在不斷增長,在數據同步時必須考慮對系統性能的影響。綜上所述,如何在綜合監控系統中進行高效、安全的數據同步,是需要解 決的重要問題。
技術實現思路
本專利技術所要解決的技術問題是提供 一種綜合監控系統中高可用性、速度快 且安全的數據同步方法。為解決上述技術問題,本專利技術提供一種, 包括以下步驟1) 同步區域定義定義控制中心、備用中心、車站、車輛段數據服務器基本 信息,包括設備類型、服務名稱、IP地址、用戶信息、優先級、是否群集。另 外,除域內信息外還包括需要同步的其它區域信息;2) 環形隊列和數據服務線程關聯根據同步區域定義,創建與數據服務器 相對應的線程,同時與環形隊列關聯,對全局狀態信息進行管理;3) 數據提取和標識信息生成與封裝提取需要同步的數據,并相應的創建 數據描述信息,包括需要同步結果計數、服務器IP地址、數據類型、數量,將 描述信息和提取的數據進行封裝;4) 服務器狀態偵測及管理全局狀態信息記錄了l)中所定義的數據服務器 名,標志和狀態等信息。數據同步線程偵測服務器狀態,并更新全局狀態信息 中對應數據服務器的狀態信息。無故障情況下,線程對全局狀態信息中對應數據服務器狀態和時標進行更新;當線程檢測到數據服務器出現異常,根據異常 信息設置狀態和時標;若線程出現僵死,結束僵死線程并創建新的對應服務器 線程,恢復數據現場;5) 數據提交及服務故障處理根據4)中提取的數據服務器狀態信息,當服 務器狀態正常時,按照類型為基本模式或者群集模式提交數據到數據服務器;當服務器狀態異常時,數據緩存本地目錄,等到故障恢復后,立即根據所記錄的內容按順序完成同步。在本專利技術中,披露了一種數據同步的區域定義方法。區域定義的結構說明 如下區域l:本區域的名稱。同步域其它需要同步的域名稱。可以為空,也可以為多個已逗號分開的名稱。區域l服務器l:區域l第一臺服務器名稱。地址區域1服務器1的IP地址。用戶名區域l服務器l的用戶。密碼區域l服務器l的用戶的密碼。服務名區域1服務器1的數據服務名。群集標識標識區域l服務器l是否為群集服務器。,區域1服務器2:區域l第二臺服務器名稱。地址區域1服務器2的IP地址。用戶名區域1服務器2的用戶。密碼區域1服務器2的用戶的密碼。服務名區域1服務器2的數據服務名。群集標識標識區域1服務器2是否為群集服務器。同步域l服務器l:同步域1第一臺服務器名稱。地址同步域1服務器1的IP地址。用戶名同步域l服務器l的用戶。密碼同步域1服務器1的用戶的密碼。服務名同步域1服務器1的數據服務名。群集標識標識同步域l服務器l是否為群集服務器。同步區域可以為空,也可以配置多個。區域內服務器可配置一臺服務器, 也可以多臺。每臺服務器需要地址、用戶名、密碼、服務名和群集標識。除此之外,可以定義同步區域為空,也可以定義多個需要和本區域進行數 據同步其它區域的信息,包括區域名稱、對應的數據服務器基本信息。在本專利技術中,披露了以環形隊列作為分發數據緩沖,主線程和子線程按照不同速率訪問環形隊列,子線程與數據服務器保持數據鏈進行數據同步的方法, 采用環形隊列作為數據緩沖區,所有線程使用共享的環形隊列,按照先進先出 (FIF0)方式訪問,根據同步區域定義,創建與數據服務器相對應的線程,同 時將環形隊列指針作為線程輸入參數,使得線程可以訪問環形隊列進行取數。 在線程提取數據的過程中,可以按照時間截取數據,生成數據描述信息,包括同 步結果計數、服務器IP地址、數據類型以及數量,然后將數據描述信息和內容 共同保存。釆用該方法提高了數據讀寫的速度,并且大大降低了內存的消耗, 避免了多個子線程使用多個數據副本而造成的不一致性,并且用于匹配不同速 率需求與服務。創建與數據服務器相對應線程,具體為創建多個線程,每個線 程對應一個數據服務器,并建立同步數據鏈接。環形隊列(訪問順序為先進先出FIFO)和從l到n編號的線程組成了共享存 儲系統,編號為l的線程進行元素入隊列(入隊,enqueue),編號2 n的線程查 看隊首元素(front),并且隊首訪問統計為n-l時刪除隊首元素(出隊,dequeue )。 Q.r是最后元素之后空位的下標,Q.f是首元素的下標,[Q.f, Q. r)是隊列中所 有元素。當Q. f == Q. r時隊空,當(Q. r + 1) /隊列最大個數MAXN == Q. f隊列、斗〉兩。首先,l號線程提取需要同步的數據,可以是滿足數據格式的多種來源,按 照時間截取100 500亳秒的數據,根據數據類型劃分為時序相關和時序無關兩 類,同時生成數據描述信息,包括同步結果計數、服務器IP地址、數據類型、 數量,然后,將數據描述信息及內容組合后入隊列Q. r = (Q. r + 1)/MAXN。其次,2 n號線程訪問隊首元素,讀取數據描述信息,比較線程鏈接的數 據服務器地址與頭部地址信息是否一致,如果一致,將數據內容通過線程對已 鏈接的服務器進行數據同步,同時記錄同步結果。如果同步成功,數據描述信 息中的同步結果計數增加l;如果同步失敗,將數據內容保存到相應的本地目錄, 等待服務器正常后再進行同步,保存本地成功后,再將數據描述信息中的同步 結果計數增加l。最后,等到第n個線程同步完畢,此時數據描述信息中的同步結果計數為 n-l,這時由最后線程將隊列Q. f = (Q. f + 1)/MAXN。在本專利技術中,披露了一種實現基本模式和集群摸式數據同步的方法,其中 集群模式采用二階段提交方法。基本模式是區域內兩臺數據服務器,不配商用集群軟件;集群模式是區域內兩臺數據服務器帶一個陣列,安裝集群軟件及數 據并行處理軟件,此時數據服務器實際使用同一份本文檔來自技高網...
【技術保護點】
一種綜合監控系統多區域數據同步方法,其特征在于包括以下步驟: 1)同步區域定義:定義控制中心、備用中心、車站、車輛段數據服務器基本信息,除域內信息外還包括需要同步到的其它區域信息; 2)環形隊列和數據服務線程關聯:根據同步區域定 義,創建與數據服務器相對應的線程,同時與環形隊列關聯,對全局狀態信息進行管理; 3)數據提取和標識信息生成與封裝:提取需要同步的數據,創建數據描述信息,包括同步結果計數、服務器IP地址、數據類型以及數量,將描述信息和提取的數據進行封裝 ; 4)服務器狀態偵測及管理:數據同步線程偵測服務器狀態,并更新全局狀態信息中對應數據服務器的狀態信息; 5)數據提交及服務故障處理:根據服務器配置信息將數據提交分為基本模式提交和群集模式提交,對于集群模式,采用二階段提交。同時 ,當服務器狀態正常時,同步數據到數據服務器;當服務器狀態異常時,數據緩存本地,待故障恢復后,根據所記錄的內容按順序完成同步; 6)數據提交結果標識及數據清理:數據提交結束后,或者增加數據描述信息中同步結果計數,或者清理隊列中數據、釋放 空間。...
【技術特征摘要】
【專利技術屬性】
技術研發人員:梁奕,冷俊,劉孟覺,方俊,石琦,陳天皓,
申請(專利權)人:國電南瑞科技股份有限公司,
類型:發明
國別省市:84[中國|南京]
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。