朱清海,譚代芳
(重慶市勘測院,重慶 400020)
基于文件系統監控的工作效率評價系統設計與實現
朱清海*,譚代芳
(重慶市勘測院,重慶 400020)
為提高常規測繪項目工作效率管理水平,增強工作效率評價的公正性、公平性和公開性。通過分析測繪生產項目流程及特點、研究FileSystemWatcher技術原理。采用FileSystemWatcher技術對各環節流轉文件進行監控,設計研發了基于文件系統監控的工作效率評價系統,實現常規測繪項目各流程環節時間節點準確記錄,為工作效率評價提供了翔實可靠的數據,減小了管理工作的勞動強度。
FileSystemWatcher;文件系統;工作效率;監控
在測繪生產管理中,測繪項目從接收任務、任務安排、資料準備、外業測繪、內業整理,到過程檢查、最終檢查、成果提交、歸檔入庫先后經歷的環節和相關人員較多,要做到每個項目、每個環節進度、效率心中有數,無疑給管理者提出了很高的要求。同時關鍵環節完成的質量如何也無法及時掌握,若想做好相關管理工作需要花費大量的時間和精力,而且還達不到好的效果?;谝陨蠁栴},本文通過對.NET Framework中的FileSystemWatcher類和SQL Server進行研究,以某單位常規測繪生產項目為管理目標,設計并實現一套基于文件系統監控的工作效率評價系統(以下簡稱系統),并探討了系統的優點及實現方式。
2.1 FileSystemWatcher
FileSystemWatcher是.NET Framework中System.IO命名空間中的一個類,該類提供了監控指定目錄中文件的變化的功能。即,通過FileSystemWatcher可以實時地了解指定的目錄中何時有何文件被建立以及何時何文件被刪除,實時監控某一目錄中文件的變化[1]。
2.2 測繪生產項目流程及特點
測繪單位的測繪項目生產流程主要包含接收任務、任務安排、資料準備、外業測繪、內業整理、過程檢查、最終檢查、提交成果、歸檔入庫。隨著數字化測繪、信息化測繪進程的推進,在各環節中已不再像以前一樣以紙質媒介、電子光盤為主要流轉對象,現各環節主要以格式相對固定的電子文件為流轉對象。部分測繪單位建立了辦公信息化平臺,數據從平臺進行流轉,對每個環節均可實現節點控制,監控作業效率。經過一段時間的運行,發現數據在平臺流轉影響平臺運行效率,并且涉及流程和人員較多,系統架構復雜、穩定性欠佳。由此,產生了折中的信息化平臺,在平臺上只進行項目信息管理,對關鍵環節進行控制,數據通過內部局域網共享數據實現交換。該方法減小了辦公信息化平臺的負荷,提高了運行效率,但存在細部流程環節不受控,工作效率評價無數據支撐的缺點。為此本文提出了基于文件系統監控的工作效率分析。
2.3 共享數據交換設計
通過對測繪項目流程分析,結合某單位測繪生產實際可以發現,通常接收任務、任務安排、資料準備由一人完成,其中接收任務主要來源于辦公信息化平臺,不需進行另外監控,唯一存在交換的是準備后的數據。在外業測繪、內業整理由測繪組長實施,過程檢查、提交成果、數據歸檔由項目負責人實施,最終檢查由質檢驗收員完成。在測繪組長、項目負責人、質檢驗收員之間存在數據交換。為此我們分別建立了準備數據、提檢數據、驗后數據、歸檔數據等幾個共享數據交換目錄,來實現數據的共享與交換。
2.4 數據規范
為提高各環節工作效率,在日常的工作中要求在任何一個環節提交數據均需按照項目提交標準文件夾命名方式進行命名,即由工程項目編號+委托單位+項目名稱構成,在此目錄下進一步細分外業數據、成果數據、原始數據、甲方數據等。在提交時要求相關責任人必須將數據提交至共享目錄下對應的責任人名子目錄中,以確保正確提取項目信息和責任人信息。
3.1 設計目標
基于文件系統監控和SQL Server數據庫實現對常規測繪生產項目相關環節進行監控,達到準確掌握各環節生產進度、記錄關鍵指標、評價生產效率的目標。
一是建立工作效率管理數據庫,分別對各環節的開始、結束時間、項目名稱、編號、責任人進行記錄和管理。
二是基于共享數據服務器根據各環節資料提交特性建立文件系統監控服務,實現自動根據共享數據目錄文件變化情況將獲得的信息進行入庫處理,達到及時準確記錄節點環節時間信息的目的。
三是基于文件系統監控服務實現對項目關鍵環節數據質量的檢查和記錄,如針對外業測量數據提取外業實際采集時長、采集點數量、采集速度、平均間隔時間等。
四是基于工作效率管理數據庫進行效率評價報表,提供公正、公開、透明的管理依據。
3.2 設計框架
為了實現以上系統的設計目標,在充分系統邏輯的技術基礎上,構建基于文件系統監控的工作效率評價系統原型,系統設計如圖1所示。

圖1 基于文件系統監控的工作效率評價系統原型
從圖1可知,各環節責任人從數據共享交換目錄獲得數據、編輯整理后提交至共享目錄實現數據交換。目錄監控服務試試監控數據交換目錄,將監控結果實時寫入工作效率管理數據庫。數據庫最后提供數據評價分析報表依據,供管理者決策,從而達到系統設計目的。
依據以上設計目標及設計框架,系統以重慶市某測繪單位生產項目管理為依托,建立了基于文件系統監控的生產效率評價系統,并實現了相關功能。
4.1 建立工作效率管理數據庫。
結合該單位生產管理實際,工作效率管理數據庫主要包含數據準備信息表、數據生產信息表、數據檢查信息表、數據提交信息表和外業數據關鍵指標信息表,各表之間用項目編號進行關聯。如外業數據關鍵指標信息表結構如表1所示。

外業數據關鍵指標信息表結構 表1
4.2 基于FileSystemWatcher建立監控服務
(1)創建服務
使用vs2010系統平臺創建Windows服務,在Service1.cs編寫操作邏輯代碼,代碼中OnStart用于執行服務事件,一般采用線程方式執行方法,便于隔一段時間執行一次。
(2)配置服務
打開Service1.cs視圖界面,在視圖內右鍵添加安裝程序,項目中將自動添加ProjectInstaller.cs文件,該文件中視圖自動會添加serviceProcessInstaller1和 serviceInstaller1組件,選中serviceProcessInstaller1組件設置account屬性為LocalSystem,選中serviceInstaller1組件設置ServiceName屬性的值(該值表示在系統服務中的名稱),設置StartType屬性(如果為Manual則手動啟動,默認停止,如果為Automatic則自動啟動),設置Description添加服務描述,編譯生成項目WinServiceTest.exe。
(3)安裝服務
使用命令提示符方式進入“WindowsMicrosoft.NETFrameworkv4.0.30319”,如果是.net framework2.0則需要輸入進入“WindowsMicrosoft.NETFrameworkv2.0.50727”。然后輸入“InstallUtil.exe …WinServiceTest.exe”。自此打開服務,就可以看到已經安裝的服務了,點擊啟動即可進行監控了。
(4)具體實現
FileSystemWatcher常用的基本屬性如表2所示。

FileSystemWatcher常用基本屬性表 表2
注:同時監控多個屬性變動可以按“或”組合,默認值為 NotifyFilter.LastWrite | NotifyFilter.FileName | NotifyFilter.DirectoryName 組合)。其子項包含Attributes(屬性)、CreationTime(創建時間)、DirectoryName(目錄名)、FileName(文件名)、LastAccess(上一次打開的日期)、LastWrite(上一次寫入內容的日期)、Security(安全設置)、Size(大小)等。
FileSystemWatcher常用的事件如表3所示。

FileSystemWatcher常用事件表 表3
注:ChangeType子項包含All文件或文件夾的創建、刪除、更改或重命名。 Changed文件或文件夾的更改。更改的類型包括大小、屬性、安全設置、最近寫入時間和最近訪問時間方面的更改。Created文件或文件夾的創建。Deleted文件或文件夾的刪除。Renamed文件或文件夾的重命名。
以監控C盤下*.txt、*.doc、*.jpg為例的程序編碼。
FileSystemWatcher fsw= new FileSystemWatcher();
fsw.Path=“C:\”; //設置監控的文件目錄
fsw.IncludeSubdirectories=true; //設置監控C盤目錄下的所有子目錄
fsw.Filter="*.txt|*.doc|*.jpg"; //設置監控文件的類型
fsw.NotifyFilter=NotifyFilters.FileName | NotifyFilters.DirectoryName | NotifyFilters.Size; //設置文件的文件名、目錄名及文件的大小改動會觸發Changed事件
fsw.Created += new FileSystemEventHandler(this.fileSystemWatcher_EventHandle); //綁定事件觸發后處理數據的方法。
fsw.Deleted += new FileSystemEventHandler(this.fileSystemWatcher_EventHandle);
fsw.Changed += new FileSystemEventHandler(this.fileSystemWatcher_EventHandle);
fsw.Renamed += new RenamedEventHandler(this.fileSystemWatcher_Renamed); //重命名事件與增刪改傳遞的參數不一樣。
fsw.EnableRaisingEvents=true; //啟動監控
通過設置監控指定目錄即可減少不必要的干擾,在獲得監控文件后可對文件名、文件內容進行分析,從而獲取所需信息。比如在每次獲得項目文件時應提取項目編號信息、參與人員信息與辦公信息化平臺記錄進行對比,及時檢查數據的可靠性。無誤后將數據寫入工作效率管理數據庫。
4.3 數據報表
基于工作效率管理數據庫中的數據即可實現按需報表。項目實現了項目時間節點控制統計、作業組外業時間統計、項目分類進度比較分析、不同項目負責人所負責項目的進度比較分析、不同作業組外業時間比較分析等報表。較好反映了不同人員、不同類型項目的工作效率情況,對提升對外服務能力提供了可靠的數據支撐。
5.1 系統實用性強
利用數據共享的形式進行數據交換是很多單位普遍采用的數據交換方式。該方式只需指定固定的共享數據目錄,明確數據文件、文件夾命名規則,不需增加相關人員的其他操作,不需對作業人員操作習慣進行較大改變即可實現工作效率監控。減少了人員的培訓,避免了為達到管理目的而增加額外工作量的為管理而管理的情形發生。
5.2 效率監控無遺漏
系統基于服務模式運行,文件系統監控服務置于數據共享交換服務器中,伴隨服務器的啟動自動啟動服務,從而確保了監控的及時性和延續性,不會因忘了啟動監控程序而導致遺漏的問題。做到了數據提交即記錄,數據記錄即分析,全天候、實時、動態掌握各環節工作效率,確保了效率監控無遺漏。
5.3 數據準確翔實
系統的實現使常規測繪工作各環節時間節點記錄準確及時,為評價各環節、各責任人工作效率提供可靠的數據支撐,為提高工作效率、開展績效考核奠定了堅實的數據基礎。
5.4 促進管理進步
通過系統的研究建立了有效的工作效率監控評價機制,減小了管理工作的勞動強度,增強了工作效率評價的公正性和公開性,促進了管理工作的進步。
[1] 陳健. 基于.NET的文件系統監控[J]. 吉林師范大學學報·自然科學版,2007(2):68~69.
[2] 唐祖權,屈敏申,徐志京. 基于FileSystemWatcher的文件備份系統設計[J]. 電子設計工程,2010,18(3).
[3] 張文基. 提高管理工作效率的有效途徑——完善監督檢查[J]. 機械管理開發,2008,23(4).
[4] 楊文彩,易樹平,張曉冬等. 知識工作者工作效率影響因素及其作用機理分析[J]. 重慶大學學報·自然科學版,2006,29(7):10~14.
[5] 胡平平,王晶杰. 快速文件備份軟件的設計和實現[J]. 計算機工程與設計,2015,36(11).
Design and Implementation of Work Efficiency Evaluation System Based on File System Monitoring
Zhu Qinghai,Tan Daifang
(Chongqing Survey Institute,Chongqing 401121,China)
In order to improve the efficiency of routine surveying and mapping project management efficiency,enhance the work efficiency evaluation of fairness,fairness and openness. By analyzing the process and characteristics of surveying and mapping production project,the paper studies the principle of FileSystemWatcher. The FileSystemWatcher technology is used to monitor the circulation files,and the work efficiency evaluation system based on the file system monitoring is designed and developed to realize the accurate record of the time nodes of the routine surveying process and provide the detailed and reliable data for the efficiency evaluation. Management of labor intensity.
FileSystemWatcher;file system;work efficiency;monitor
1672-8262(2017)04-45-04
P208.2
A
2016—10—26
朱清海(1982—),男,高級工程師,主要從事工程測量相關工作。