日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

镜像服务器文件实时监控同步程序

發布時間:2023/12/10 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 镜像服务器文件实时监控同步程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是為我們網站解決南北電信網通互聯互通問題而寫的一個程序。

優游中國(www.yooyocn.com)是一個大型旅游門戶網站,提供了資訊,視頻,圖片,博客,論壇等大數據量的業務內容。

為了使全國各地的網友都能夠快速訪問我們的網站,我們部署了三臺服務器,一臺雙線主服務器,一臺網通專線服務器,一臺電信專線服務器。通過智能DNS解析,使網通的用戶訪問網通服務器,電信用戶訪問電信服務器。

而雙線位于我們所在的城市,僅供我們網站編輯人員使用。因為我們的現狀,雙線就是雙慢。所以,只只我們的編輯人員操作它上面的內容管理系統(CMS),把資訊,視頻,圖片上傳到這臺服務器上。然后,需要一個方法把雙線主服務上新增加或修改的內容分發(也就是復制)到網通和電信的服務器,使網通電信用戶都能看到同樣的內容。

這就出來兩個問題,一是同步,是增量同步,二是實時。

我花了很多時間尋找滿足需求的工具。我記得在兩年以前,鏡像服務器應該是一個熱門話題吧。這樣的工具應該不少。但出乎意料,都是一些定時全部復制的軟件。沒有說是網站增加修改文件了,馬上就可以同步到其它服務器上。例如,當初很流行的Update Now! ,2000年的東西,至今還有很多人在用。CuteFTP 8的文件同步功能,最少是每天運行一次,并且是遍歷所有文件后把不同的文件FTP過去。

晚上和朋友郁悶地談起這個事,他主要是做WinForm的,立馬說.NET里有文件監控的類。可以實時獲取增加或變更的文件。我大笑,好啊,正發愁呢!.NET的FTP類也很強,那就不如自己搞!第二天花一個上午,研究FileSystemWatcher。下午出個了DEMO,果然很強,就決定做。實現流程代碼量并不多,一天半時間就搞定了,剩下三天都在解決其中的各種問題。在服務器上運行時,問題一個一個出現,被自以為完美地解決,高興一會后,發現有更棘手問題出現…

程序主要實現了如下功能:

通過FileSystemWatcher實時監控指定的文件夾,取得文件夾下增加或修改的文件名,通過“NotifyFilters.Size”屬性實現。它有很多屬性,LastAccess,LastWrite,測試時把我搞得很糊涂,往這個文件夾下粘貼一個文件,會引發好幾次這個事件。查了好久才明白,COPY操作確實是這樣。但具體為啥,MSDN上也沒說清。好在服務器上運行時沒出現這個現象,也放過了。

捕獲文件名后沒有立即FTP,把文件信息放在了XML中,FTP從XML文件中讀取文件名并上傳,上傳成功的信息移到另外的XML中。以上過程中的出現的異常也放在日志XML中。這個處理流程,也是我花了一晚上才想起來的。

所以,這個程序代碼主要有三大塊,一是監控,二是讀寫XML,三是FTP。

實現這些功能的代碼并不多,不復雜,但我的收獲不是程序本身,而是又一次體會到了編碼時的快樂和樂趣。

在寫這個程序時,參考了很多資料,很多網友寫的代碼。所以,當我也做出一些東西時,我把它開源出來,希望能讓更多的人受益。

最后,這個程序到現在為止,雖然能運行,但它并未真正部署。因為,我們選擇了更好的服務器架構解決方案,具體請看我的另一篇文章。

另外,這個程序還有很多遺憾沒有解決,希望能夠以此拋磚引玉,更多的人,做出更優秀的程序。

??? 源碼下載:/Files/xtigmh/FileSystemWatcher200801141016.rar?

轉載于:https://www.cnblogs.com/xtigmh/archive/2008/01/14/1037818.html

總結

以上是生活随笔為你收集整理的镜像服务器文件实时监控同步程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。