前言:尋找寫作靈感?中文期刊網用心挑選的SVN下地鐵綜合監控系統文件管理方法,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
地鐵綜合監控系統是多專業子系統的集成與互聯。在系統實施過程中面臨復雜的、多專業多文件數據需要協同共享、統一管理的難點,包括各文件數據的傳遞、自動更新和共享、文件變化版本的記錄和存檔,以及不同用戶對文件的權限訪問。基于svn(subversion)文件版本管理技術,介紹了綜合監控系統文件管理的整體架構、文件管理功能設計及其應用實現。隨著我國城市軌道交通工程建設的快速發展,為了提升調度管理水平和運營效率,確保行車安全,各城市大都要求建設出智能化、信息化、網絡化的現代城市軌道交通運維管控系統,其中就有綜合監控系統(ISCS)。綜合監控系統是多系統子專業的集成與互聯,協同部署和調試中央級綜合監控系統和車站級綜合監控系統,會面臨復雜的、多專業多文件數據的協同共享、統一管理的難點問題。比如對系統程序文件、配置文件、畫面圖形文件、接口點表、報表、電子圖紙等綜合監控系統主文件數據的傳遞、自動更新和共享、文件變化版本的記錄和存檔,以及不同用戶對文件的權限訪問,對文件的新增、修改、提交、刪除、更新等反復操作納管。鑒于此,需要構建一套文件管理系統實現如下功能:將本地文件提交到一個集中統一的版本倉庫中進行管理,實現文件的傳遞更新和協同共享。能對文件的變化歷史溯源,完成記錄和存檔,以便查詢、追蹤溯源。具備畫面圖形文件修改后自動提交和更新。對文件具有權限管理。SVN(Subversion)版本管理軟件,作為一款主流、開源的文件版本管理控制工具,應用于多個分支共同開發同一個項目,達到文件數據資源共享。其核心工作是使歷史行業曲線linkindustryAppraisementDOI:10.3969/j.issn.1001-8972.2022.09.024可替代度影響力可實現度行業關聯度真實度文件數據版本的管理協同,在中心一臺服務器上,創建中心服務版本庫端,其中可存儲多個項目的文件數據資源,并且SVN可利用URL定位于版本庫中各需要的文件數據資源。這樣,同項目類各成員即可通過SVN協議或http協議訪問位于中心服務版本庫端中的各文件數據資源。同時分支成員需要在工作站客戶端創建版本庫副本的工作目錄,并把服務端版本庫里的文件數據資源檢出到本地,形成本地的工作副本目錄。然后接著就可以在分支成員的工作站本地工作副本拷貝中進行操作,如修改、刪除等,再提交到中心SVN版本庫服務器端。SVN會把每次提交的文件數據版本與原版本信息進行比較,若有修改,則更新一次文件的版本號并記錄下修改的信息,否則就會提交不成功,同時SVN也提供了不同版本之間比較的功能。由此基于SVN軟件的版本控制技術,以其獨特的易操作性和便利性,為地鐵綜合監控系統復雜繁多的文件管理,提供了一種嶄新的方法與應用。本文研究SVNC/S(client/sever)架構模式,新增、提交和獲取的文件協同共享框架原理,利用SVN軟件對文件版本原子事務操作,如創建、修改提交、更新等措施,來保證綜合監控系統文件版本管理的準確性和穩定性,通過在版本配置文件xml中添加文件目錄結構以及特定的API,實現對多種不同文件結構管理。同時修改和配置SVN的用戶權限管理,實現不同目錄下文件的只讀或可讀可寫權限,構建基于SVN的綜合監控文件管理系統。
1.ISCS文件管理整體架構
面向ISCS全生命周期,從廠內生產測試到現場部署聯調,再到投入運營和維護,從技術層面,必須要實現協同共享全過程中對綜合監控系統主文件的版本控制管理。本文提出基于SVN版本控制管理框架上,構建文件管理方法與應用。
1.1文件版本協同共享
SVN版本控制,創建于一個統一集中SVN服務器倉庫(Repository),存儲和管理著所有的目錄文件。同時版本庫還可以對文件的更改做記錄,能溯源其歷史版本,保證了不丟失原有的記錄文件。允許權限客戶端工作副本連接版本倉庫服務器,能從中檢出或拷貝目錄到本地,形成客戶端工作副本??蛻舳斯ぷ鞲北灸夸浿写嬖谝粋€.SVN的隱藏文件夾,它用來識別文件是否有了修改、是否因他人的修改導致過期而需要更新。SVN版本庫控制原理示意圖如圖1所示。版本庫在客戶端本地工作副本創建后,在中心統一SVN服務器倉庫管理下,達到各處的工作副本文件協同共享的目的。
1.2系統整體架構
SVN具有比較完善的版本控制功能,滿足綜合監控系統文件管理的功能要求,基于SVN設計的綜合監控文件管理的整體架構如圖2所示。以SVN軟件安裝部署,創建版本庫服務端和客戶端,實現版本控制功能,并在此基礎上進行二次開發,實現文件自動更新功能。權限管理模塊中,用戶和權限信息彼此分開獨立,其中,權限管理功能通過修改SVN服務端權限配置文件,達到對用戶權限的控制。
2.文件管理功能模塊設計
2.1版本庫控制功能
在服務器端創建版本庫,所有文件數據都以一定的數據格式存儲。文件的版本控制功能主要體現在版本庫客戶端,服務端根據需求響應。在客戶端具有相應權限的用戶登錄后,系統的SVNkit接口提供人機交互響應,達到對文件數據的檢出、新增/修改提交、更新、刪除、還原、鎖定和解鎖等版本控制功能操作的目的。例如以下主要功能的介紹:提交(Commit):調用SVNkitdoCommit()函數接口,人為把修改從工作副本提交到統一版本倉庫Repository。更新(Update):調用SVNkidoUpdate()函數接口,實現從統一版本倉庫Repository中把最新文件傳遞到本地工作副本中。若是首次創建的本地工作副本,則是調用doCheckOut()函數接口,從中檢出到本地。還原/放棄(Revert):調用SVNkitdoRevert()函數接口,對本地工作副本某文件的修改進行還原或放棄修改,以便達到對本次的錯誤修改還原或放棄,也可對本地修改出現沖突進行處理,避免發生文件版本的沖突。鎖定(Lock)/解鎖(Unlock):即可實現對本地工作副本中的目錄或者某指定文件進行加鎖或解鎖,以此達到加鎖后某目錄或文件不能直接修改而需要相應的權限解鎖后才能修改。此功能可以有效的避免工作副本有可能出現同時被修改產生文件沖突。
2.2自動更新功能設計
SVN自動更新是建立在中心版本庫服務器及客戶端工作副本基礎上,配置自動更新程序接口,兼容中心與車站兩級的服務端和客戶端的自動更新程序,其架構圖如圖3所示??蛻舳藗仁且砸粋€動態庫程序插件形式嵌入人機界面(HMI)中,負責提交特定生成或修改的文件數據。而服務側則是一個后臺程序,服務在每一個客戶端的版本庫工作進程上,用于從版本庫服務器上檢出、更新出最新的更改,整個綜合監控系統主文件數據的最新版本都存放于中心的版本庫服務器中,文件數據的版本號也是隨著系統文件變化而變化。2.3權限管理功能設計綜合監控系統文件管理是建立于一個穩定可靠而靈活運用的SVN系統環境下,通過修改SVN服務器模塊配置文件SVNuser和SVNaccess的方式,其中SVNuser用于用戶認證,SVNaccess用于用戶組別以及訪問用戶權的設置,滿足SVN自身的用戶權限??梢詾榫C合監控系統文件管理用戶模塊設置訪問賬戶,賬號分配如下:系統管理員:負責創建和維護用戶配置,負責創建版本庫服務端和客戶端工作目錄副本。安全員(測試/調試員):負責分配哪個用戶能夠訪問版本庫及其分支的讀寫。依據此修改配置文件的方式,達到滿足文件權限實現的功能,既有效利用了SVN權限模塊,同時又保證了文件系統權限管理功能的正確性和有效性。
3.應用實現
在系統實施過程中面臨復雜的、多專業多文件數據需要協同共享、統一管理的難點,包括各文件數據的傳遞、自動更新和共享、文件變化版本的記錄和存檔,以及不同用戶對文件的權限訪問。而目前大多數綜合監控系統的文件管理更多應用于對系統開發程序的版本控制管理,而忽略了綜合監控系統工程化應用過程中其他文件的管理,比如系統配置、接口、點表、圖紙、測試、調試等文件的管理,以及相關文件權限的訪問控制。單從綜合監控系統本身技術層面來看,其主文件構成基本為系統程序文件、配置文件、畫面圖形文件、接口文件、點表文件、圖紙文件、調試文件、報表統計和測試等文檔文件,如圖4所示。在SVN服務器端,建立版本庫的函數實現綜合監控系統主文件庫的創建,將綜合監控系統主文件數據添加到版本庫中。添加的主文件模型數據需要根據綜合監控系統功能需求分配預先建立,實現版本庫模型數據的統一分支納管。與此同時,按照文件管理應用分配用戶權限訪問,設定應用某用戶只能訪問某特定的文件類。在SVN客戶端,建立版本庫工作副本,并從SVN服務器端遷出或更新文件數據到本地副本目錄中。工作副本客戶端也可利用SVN功能模塊函數開發,還原或放棄修改以及使用等功能,對本地文件對應的分支目錄文件數據進行修改提交操作。尤其是每個客戶端根據不同用戶權限進行文件數據內容修改時,通過使用鎖定功能完成版本庫中響應存儲單元文件數據的鎖定,防止文件版本下載后,其他客戶端再重復下載文件造成數據的同時修改而發生沖突現象??蛻舳烁履0逦募亲詣痈路粘绦虬葱韪碌闹饕罁瑸閄ML格式的方式存儲。更新模板文件中包含的信息包括需要更新的目錄名稱、目錄對應的版本庫服務器地址、版本庫用戶名、密碼及目錄更新周期等。關于自動更新的功能更多應用于畫面圖形文件的反復調試修改,使得HMI能夠在無人為干預下實現實時更新展示。
4.結語
基于SVN靈活的版本控制管理,通過賦予新的功能設計,如自動更新、權限分配等功能,使得綜合監控系統文件的統一管理具有新的活力,提出的文件管理功能方法及其應用實現,能有效解決綜合監控系統復雜、多文件協同共享、統一管理的難題,具有一定的參考和借鑒意義。
作者:宋樹勝 單位:南瑞集團(國網電力科學研究院)有限公司 國電南瑞科技股份有限公司