朱清海,譚代芳
(重慶市勘測院,重慶 400020)
基于文件系統(tǒng)監(jiān)控的工作效率評(píng)價(jià)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
朱清海*,譚代芳
(重慶市勘測院,重慶 400020)
為提高常規(guī)測繪項(xiàng)目工作效率管理水平,增強(qiáng)工作效率評(píng)價(jià)的公正性、公平性和公開性。通過分析測繪生產(chǎn)項(xiàng)目流程及特點(diǎn)、研究FileSystemWatcher技術(shù)原理。采用FileSystemWatcher技術(shù)對(duì)各環(huán)節(jié)流轉(zhuǎn)文件進(jìn)行監(jiān)控,設(shè)計(jì)研發(fā)了基于文件系統(tǒng)監(jiān)控的工作效率評(píng)價(jià)系統(tǒng),實(shí)現(xiàn)常規(guī)測繪項(xiàng)目各流程環(huán)節(jié)時(shí)間節(jié)點(diǎn)準(zhǔn)確記錄,為工作效率評(píng)價(jià)提供了翔實(shí)可靠的數(shù)據(jù),減小了管理工作的勞動(dòng)強(qiáng)度。
FileSystemWatcher;文件系統(tǒng);工作效率;監(jiān)控
在測繪生產(chǎn)管理中,測繪項(xiàng)目從接收任務(wù)、任務(wù)安排、資料準(zhǔn)備、外業(yè)測繪、內(nèi)業(yè)整理,到過程檢查、最終檢查、成果提交、歸檔入庫先后經(jīng)歷的環(huán)節(jié)和相關(guān)人員較多,要做到每個(gè)項(xiàng)目、每個(gè)環(huán)節(jié)進(jìn)度、效率心中有數(shù),無疑給管理者提出了很高的要求。同時(shí)關(guān)鍵環(huán)節(jié)完成的質(zhì)量如何也無法及時(shí)掌握,若想做好相關(guān)管理工作需要花費(fèi)大量的時(shí)間和精力,而且還達(dá)不到好的效果?;谝陨蠁栴},本文通過對(duì).NET Framework中的FileSystemWatcher類和SQL Server進(jìn)行研究,以某單位常規(guī)測繪生產(chǎn)項(xiàng)目為管理目標(biāo),設(shè)計(jì)并實(shí)現(xiàn)一套基于文件系統(tǒng)監(jiān)控的工作效率評(píng)價(jià)系統(tǒng)(以下簡稱系統(tǒng)),并探討了系統(tǒng)的優(yōu)點(diǎn)及實(shí)現(xiàn)方式。
2.1 FileSystemWatcher
FileSystemWatcher是.NET Framework中System.IO命名空間中的一個(gè)類,該類提供了監(jiān)控指定目錄中文件的變化的功能。即,通過FileSystemWatcher可以實(shí)時(shí)地了解指定的目錄中何時(shí)有何文件被建立以及何時(shí)何文件被刪除,實(shí)時(shí)監(jiān)控某一目錄中文件的變化[1]。
2.2 測繪生產(chǎn)項(xiàng)目流程及特點(diǎn)
測繪單位的測繪項(xiàng)目生產(chǎn)流程主要包含接收任務(wù)、任務(wù)安排、資料準(zhǔn)備、外業(yè)測繪、內(nèi)業(yè)整理、過程檢查、最終檢查、提交成果、歸檔入庫。隨著數(shù)字化測繪、信息化測繪進(jìn)程的推進(jìn),在各環(huán)節(jié)中已不再像以前一樣以紙質(zhì)媒介、電子光盤為主要流轉(zhuǎn)對(duì)象,現(xiàn)各環(huán)節(jié)主要以格式相對(duì)固定的電子文件為流轉(zhuǎn)對(duì)象。部分測繪單位建立了辦公信息化平臺(tái),數(shù)據(jù)從平臺(tái)進(jìn)行流轉(zhuǎn),對(duì)每個(gè)環(huán)節(jié)均可實(shí)現(xiàn)節(jié)點(diǎn)控制,監(jiān)控作業(yè)效率。經(jīng)過一段時(shí)間的運(yùn)行,發(fā)現(xiàn)數(shù)據(jù)在平臺(tái)流轉(zhuǎn)影響平臺(tái)運(yùn)行效率,并且涉及流程和人員較多,系統(tǒng)架構(gòu)復(fù)雜、穩(wěn)定性欠佳。由此,產(chǎn)生了折中的信息化平臺(tái),在平臺(tái)上只進(jìn)行項(xiàng)目信息管理,對(duì)關(guān)鍵環(huán)節(jié)進(jìn)行控制,數(shù)據(jù)通過內(nèi)部局域網(wǎng)共享數(shù)據(jù)實(shí)現(xiàn)交換。該方法減小了辦公信息化平臺(tái)的負(fù)荷,提高了運(yùn)行效率,但存在細(xì)部流程環(huán)節(jié)不受控,工作效率評(píng)價(jià)無數(shù)據(jù)支撐的缺點(diǎn)。為此本文提出了基于文件系統(tǒng)監(jiān)控的工作效率分析。
2.3 共享數(shù)據(jù)交換設(shè)計(jì)
通過對(duì)測繪項(xiàng)目流程分析,結(jié)合某單位測繪生產(chǎn)實(shí)際可以發(fā)現(xiàn),通常接收任務(wù)、任務(wù)安排、資料準(zhǔn)備由一人完成,其中接收任務(wù)主要來源于辦公信息化平臺(tái),不需進(jìn)行另外監(jiān)控,唯一存在交換的是準(zhǔn)備后的數(shù)據(jù)。在外業(yè)測繪、內(nèi)業(yè)整理由測繪組長實(shí)施,過程檢查、提交成果、數(shù)據(jù)歸檔由項(xiàng)目負(fù)責(zé)人實(shí)施,最終檢查由質(zhì)檢驗(yàn)收員完成。在測繪組長、項(xiàng)目負(fù)責(zé)人、質(zhì)檢驗(yàn)收員之間存在數(shù)據(jù)交換。為此我們分別建立了準(zhǔn)備數(shù)據(jù)、提檢數(shù)據(jù)、驗(yàn)后數(shù)據(jù)、歸檔數(shù)據(jù)等幾個(gè)共享數(shù)據(jù)交換目錄,來實(shí)現(xiàn)數(shù)據(jù)的共享與交換。
2.4 數(shù)據(jù)規(guī)范
為提高各環(huán)節(jié)工作效率,在日常的工作中要求在任何一個(gè)環(huán)節(jié)提交數(shù)據(jù)均需按照項(xiàng)目提交標(biāo)準(zhǔn)文件夾命名方式進(jìn)行命名,即由工程項(xiàng)目編號(hào)+委托單位+項(xiàng)目名稱構(gòu)成,在此目錄下進(jìn)一步細(xì)分外業(yè)數(shù)據(jù)、成果數(shù)據(jù)、原始數(shù)據(jù)、甲方數(shù)據(jù)等。在提交時(shí)要求相關(guān)責(zé)任人必須將數(shù)據(jù)提交至共享目錄下對(duì)應(yīng)的責(zé)任人名子目錄中,以確保正確提取項(xiàng)目信息和責(zé)任人信息。
3.1 設(shè)計(jì)目標(biāo)
基于文件系統(tǒng)監(jiān)控和SQL Server數(shù)據(jù)庫實(shí)現(xiàn)對(duì)常規(guī)測繪生產(chǎn)項(xiàng)目相關(guān)環(huán)節(jié)進(jìn)行監(jiān)控,達(dá)到準(zhǔn)確掌握各環(huán)節(jié)生產(chǎn)進(jìn)度、記錄關(guān)鍵指標(biāo)、評(píng)價(jià)生產(chǎn)效率的目標(biāo)。
一是建立工作效率管理數(shù)據(jù)庫,分別對(duì)各環(huán)節(jié)的開始、結(jié)束時(shí)間、項(xiàng)目名稱、編號(hào)、責(zé)任人進(jìn)行記錄和管理。
二是基于共享數(shù)據(jù)服務(wù)器根據(jù)各環(huán)節(jié)資料提交特性建立文件系統(tǒng)監(jiān)控服務(wù),實(shí)現(xiàn)自動(dòng)根據(jù)共享數(shù)據(jù)目錄文件變化情況將獲得的信息進(jìn)行入庫處理,達(dá)到及時(shí)準(zhǔn)確記錄節(jié)點(diǎn)環(huán)節(jié)時(shí)間信息的目的。
三是基于文件系統(tǒng)監(jiān)控服務(wù)實(shí)現(xiàn)對(duì)項(xiàng)目關(guān)鍵環(huán)節(jié)數(shù)據(jù)質(zhì)量的檢查和記錄,如針對(duì)外業(yè)測量數(shù)據(jù)提取外業(yè)實(shí)際采集時(shí)長、采集點(diǎn)數(shù)量、采集速度、平均間隔時(shí)間等。
四是基于工作效率管理數(shù)據(jù)庫進(jìn)行效率評(píng)價(jià)報(bào)表,提供公正、公開、透明的管理依據(jù)。
3.2 設(shè)計(jì)框架
為了實(shí)現(xiàn)以上系統(tǒng)的設(shè)計(jì)目標(biāo),在充分系統(tǒng)邏輯的技術(shù)基礎(chǔ)上,構(gòu)建基于文件系統(tǒng)監(jiān)控的工作效率評(píng)價(jià)系統(tǒng)原型,系統(tǒng)設(shè)計(jì)如圖1所示。
圖1 基于文件系統(tǒng)監(jiān)控的工作效率評(píng)價(jià)系統(tǒng)原型
從圖1可知,各環(huán)節(jié)責(zé)任人從數(shù)據(jù)共享交換目錄獲得數(shù)據(jù)、編輯整理后提交至共享目錄實(shí)現(xiàn)數(shù)據(jù)交換。目錄監(jiān)控服務(wù)試試監(jiān)控?cái)?shù)據(jù)交換目錄,將監(jiān)控結(jié)果實(shí)時(shí)寫入工作效率管理數(shù)據(jù)庫。數(shù)據(jù)庫最后提供數(shù)據(jù)評(píng)價(jià)分析報(bào)表依據(jù),供管理者決策,從而達(dá)到系統(tǒng)設(shè)計(jì)目的。
依據(jù)以上設(shè)計(jì)目標(biāo)及設(shè)計(jì)框架,系統(tǒng)以重慶市某測繪單位生產(chǎn)項(xiàng)目管理為依托,建立了基于文件系統(tǒng)監(jiān)控的生產(chǎn)效率評(píng)價(jià)系統(tǒng),并實(shí)現(xiàn)了相關(guān)功能。
4.1 建立工作效率管理數(shù)據(jù)庫。
結(jié)合該單位生產(chǎn)管理實(shí)際,工作效率管理數(shù)據(jù)庫主要包含數(shù)據(jù)準(zhǔn)備信息表、數(shù)據(jù)生產(chǎn)信息表、數(shù)據(jù)檢查信息表、數(shù)據(jù)提交信息表和外業(yè)數(shù)據(jù)關(guān)鍵指標(biāo)信息表,各表之間用項(xiàng)目編號(hào)進(jìn)行關(guān)聯(lián)。如外業(yè)數(shù)據(jù)關(guān)鍵指標(biāo)信息表結(jié)構(gòu)如表1所示。
外業(yè)數(shù)據(jù)關(guān)鍵指標(biāo)信息表結(jié)構(gòu) 表1
4.2 基于FileSystemWatcher建立監(jiān)控服務(wù)
(1)創(chuàng)建服務(wù)
使用vs2010系統(tǒng)平臺(tái)創(chuàng)建Windows服務(wù),在Service1.cs編寫操作邏輯代碼,代碼中OnStart用于執(zhí)行服務(wù)事件,一般采用線程方式執(zhí)行方法,便于隔一段時(shí)間執(zhí)行一次。
(2)配置服務(wù)
打開Service1.cs視圖界面,在視圖內(nèi)右鍵添加安裝程序,項(xiàng)目中將自動(dòng)添加ProjectInstaller.cs文件,該文件中視圖自動(dòng)會(huì)添加serviceProcessInstaller1和 serviceInstaller1組件,選中serviceProcessInstaller1組件設(shè)置account屬性為LocalSystem,選中serviceInstaller1組件設(shè)置ServiceName屬性的值(該值表示在系統(tǒng)服務(wù)中的名稱),設(shè)置StartType屬性(如果為Manual則手動(dòng)啟動(dòng),默認(rèn)停止,如果為Automatic則自動(dòng)啟動(dòng)),設(shè)置Description添加服務(wù)描述,編譯生成項(xiàng)目WinServiceTest.exe。
(3)安裝服務(wù)
使用命令提示符方式進(jìn)入“WindowsMicrosoft.NETFrameworkv4.0.30319”,如果是.net framework2.0則需要輸入進(jìn)入“WindowsMicrosoft.NETFrameworkv2.0.50727”。然后輸入“InstallUtil.exe …WinServiceTest.exe”。自此打開服務(wù),就可以看到已經(jīng)安裝的服務(wù)了,點(diǎn)擊啟動(dòng)即可進(jìn)行監(jiān)控了。
(4)具體實(shí)現(xiàn)
FileSystemWatcher常用的基本屬性如表2所示。
FileSystemWatcher常用基本屬性表 表2
注:同時(shí)監(jiān)控多個(gè)屬性變動(dòng)可以按“或”組合,默認(rèn)值為 NotifyFilter.LastWrite | NotifyFilter.FileName | NotifyFilter.DirectoryName 組合)。其子項(xiàng)包含Attributes(屬性)、CreationTime(創(chuàng)建時(shí)間)、DirectoryName(目錄名)、FileName(文件名)、LastAccess(上一次打開的日期)、LastWrite(上一次寫入內(nèi)容的日期)、Security(安全設(shè)置)、Size(大小)等。
FileSystemWatcher常用的事件如表3所示。
FileSystemWatcher常用事件表 表3
注:ChangeType子項(xiàng)包含All文件或文件夾的創(chuàng)建、刪除、更改或重命名。 Changed文件或文件夾的更改。更改的類型包括大小、屬性、安全設(shè)置、最近寫入時(shí)間和最近訪問時(shí)間方面的更改。Created文件或文件夾的創(chuàng)建。Deleted文件或文件夾的刪除。Renamed文件或文件夾的重命名。
以監(jiān)控C盤下*.txt、*.doc、*.jpg為例的程序編碼。
FileSystemWatcher fsw= new FileSystemWatcher();
fsw.Path=“C:\”; //設(shè)置監(jiān)控的文件目錄
fsw.IncludeSubdirectories=true; //設(shè)置監(jiān)控C盤目錄下的所有子目錄
fsw.Filter="*.txt|*.doc|*.jpg"; //設(shè)置監(jiān)控文件的類型
fsw.NotifyFilter=NotifyFilters.FileName | NotifyFilters.DirectoryName | NotifyFilters.Size; //設(shè)置文件的文件名、目錄名及文件的大小改動(dòng)會(huì)觸發(fā)Changed事件
fsw.Created += new FileSystemEventHandler(this.fileSystemWatcher_EventHandle); //綁定事件觸發(fā)后處理數(shù)據(jù)的方法。
fsw.Deleted += new FileSystemEventHandler(this.fileSystemWatcher_EventHandle);
fsw.Changed += new FileSystemEventHandler(this.fileSystemWatcher_EventHandle);
fsw.Renamed += new RenamedEventHandler(this.fileSystemWatcher_Renamed); //重命名事件與增刪改傳遞的參數(shù)不一樣。
fsw.EnableRaisingEvents=true; //啟動(dòng)監(jiān)控
通過設(shè)置監(jiān)控指定目錄即可減少不必要的干擾,在獲得監(jiān)控文件后可對(duì)文件名、文件內(nèi)容進(jìn)行分析,從而獲取所需信息。比如在每次獲得項(xiàng)目文件時(shí)應(yīng)提取項(xiàng)目編號(hào)信息、參與人員信息與辦公信息化平臺(tái)記錄進(jìn)行對(duì)比,及時(shí)檢查數(shù)據(jù)的可靠性。無誤后將數(shù)據(jù)寫入工作效率管理數(shù)據(jù)庫。
4.3 數(shù)據(jù)報(bào)表
基于工作效率管理數(shù)據(jù)庫中的數(shù)據(jù)即可實(shí)現(xiàn)按需報(bào)表。項(xiàng)目實(shí)現(xiàn)了項(xiàng)目時(shí)間節(jié)點(diǎn)控制統(tǒng)計(jì)、作業(yè)組外業(yè)時(shí)間統(tǒng)計(jì)、項(xiàng)目分類進(jìn)度比較分析、不同項(xiàng)目負(fù)責(zé)人所負(fù)責(zé)項(xiàng)目的進(jìn)度比較分析、不同作業(yè)組外業(yè)時(shí)間比較分析等報(bào)表。較好反映了不同人員、不同類型項(xiàng)目的工作效率情況,對(duì)提升對(duì)外服務(wù)能力提供了可靠的數(shù)據(jù)支撐。
5.1 系統(tǒng)實(shí)用性強(qiáng)
利用數(shù)據(jù)共享的形式進(jìn)行數(shù)據(jù)交換是很多單位普遍采用的數(shù)據(jù)交換方式。該方式只需指定固定的共享數(shù)據(jù)目錄,明確數(shù)據(jù)文件、文件夾命名規(guī)則,不需增加相關(guān)人員的其他操作,不需對(duì)作業(yè)人員操作習(xí)慣進(jìn)行較大改變即可實(shí)現(xiàn)工作效率監(jiān)控。減少了人員的培訓(xùn),避免了為達(dá)到管理目的而增加額外工作量的為管理而管理的情形發(fā)生。
5.2 效率監(jiān)控?zé)o遺漏
系統(tǒng)基于服務(wù)模式運(yùn)行,文件系統(tǒng)監(jiān)控服務(wù)置于數(shù)據(jù)共享交換服務(wù)器中,伴隨服務(wù)器的啟動(dòng)自動(dòng)啟動(dòng)服務(wù),從而確保了監(jiān)控的及時(shí)性和延續(xù)性,不會(huì)因忘了啟動(dòng)監(jiān)控程序而導(dǎo)致遺漏的問題。做到了數(shù)據(jù)提交即記錄,數(shù)據(jù)記錄即分析,全天候、實(shí)時(shí)、動(dòng)態(tài)掌握各環(huán)節(jié)工作效率,確保了效率監(jiān)控?zé)o遺漏。
5.3 數(shù)據(jù)準(zhǔn)確翔實(shí)
系統(tǒng)的實(shí)現(xiàn)使常規(guī)測繪工作各環(huán)節(jié)時(shí)間節(jié)點(diǎn)記錄準(zhǔn)確及時(shí),為評(píng)價(jià)各環(huán)節(jié)、各責(zé)任人工作效率提供可靠的數(shù)據(jù)支撐,為提高工作效率、開展績效考核奠定了堅(jiān)實(shí)的數(shù)據(jù)基礎(chǔ)。
5.4 促進(jìn)管理進(jìn)步
通過系統(tǒng)的研究建立了有效的工作效率監(jiān)控評(píng)價(jià)機(jī)制,減小了管理工作的勞動(dòng)強(qiáng)度,增強(qiáng)了工作效率評(píng)價(jià)的公正性和公開性,促進(jìn)了管理工作的進(jìn)步。
[1] 陳健. 基于.NET的文件系統(tǒng)監(jiān)控[J]. 吉林師范大學(xué)學(xué)報(bào)·自然科學(xué)版,2007(2):68~69.
[2] 唐祖權(quán),屈敏申,徐志京. 基于FileSystemWatcher的文件備份系統(tǒng)設(shè)計(jì)[J]. 電子設(shè)計(jì)工程,2010,18(3).
[3] 張文基. 提高管理工作效率的有效途徑——完善監(jiān)督檢查[J]. 機(jī)械管理開發(fā),2008,23(4).
[4] 楊文彩,易樹平,張曉冬等. 知識(shí)工作者工作效率影響因素及其作用機(jī)理分析[J]. 重慶大學(xué)學(xué)報(bào)·自然科學(xué)版,2006,29(7):10~14.
[5] 胡平平,王晶杰. 快速文件備份軟件的設(shè)計(jì)和實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與設(shè)計(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—),男,高級(jí)工程師,主要從事工程測量相關(guān)工作。