一個簡單實際的Windows服務:實現本地數據上傳到服務器

功能:實現本地數據上傳到遠程服務器


操作實現:

1、發送本地ID到遠程服務器進行身份驗證,驗證成功則可Get到本地需要發送的數據的ID,例如:

本地發送身份ID:key123,驗證成功,則遠程服務器匹配到該ID所包含的數據條目,例如傳回7個ExdID。

2、收到7個ExdID後,本地需要傳輸數據庫中許多數據中的這7個ExdID所對應的數據到遠程服務器,遠程服務器將收到的數據保存、更新到遠程數據庫中。


注意問題:

1、爲保證帶寬負載輕鬆,不能頻繁往遠程服務器傳輸數據。

2、考慮到斷網情況,斷網之間的數據不能丟失,需要完整且一個不漏的傳輸到遠程服務器。

3、不要傳輸本地未更新的數據到遠程服務器,本地數據中有一個更新時間字段。

4、只能查詢數據庫中的記錄,不能進行其他任何操作。


解決方法:

1、設置定時器,例如每5s進行一次連接。

2、將第一次發送的數據寫入一個txt文件,包含內容有ExdID, 更新時間。

3、每次從數據庫中獲取到數據後,將其與txt文件中的數據進行比對,若相同ExdID的數據的更新時間也相同,則此數據刪除,剩下的數據更新到txt文件中去並傳輸到遠程服務器。

4、斷網後,將數據庫中所有的記錄都保存到本地文件,第一次取出的數據額外新建一個txt文件。每次取出的數據在保存時應該建立一棵樹,格式爲先以年建文件夾,年文件夾裏建立月文件夾,月文件夾裏建立該月每日的文件爲一個文件,用於存儲從數據庫中取出但是未發送到遠程服務器中的數據,且爲了減少文件保存的數據大小,每次保存前與txt文件中的數據進行比對,若相同ExdID的數據的更新時間也相同,則此數據刪除,剩下的數據更新到txt文件中去並保存到日文件中去。當網絡重新連接上後,將發送本地文件中的數據到遠程服務器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章