一個簡單實際的Windows服務:實現本機資料上傳到伺服器

來源:互聯網
上載者:User

標籤:

功能:實現本機資料上傳到遠程伺服器


操作實現:

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檔案中去並儲存到日檔案中去。當網路重新串連上後,將發送本地檔案中的資料到遠程伺服器。

一個簡單實際的Windows服務:實現本機資料上傳到伺服器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.