1、我這個程式沒有服務端,只有客戶端和資料庫。就是很多個分機,1個主機(資料庫)。
2、假設A單位,有一套這個系統,B單位也有一個這個系統。每個單位的系統會有自己的一個唯一代號“A”"B"等等
3、假如我有一個阿里云服務器。我想用來記哪個單位每天在使用這個系統。
我要實作的效果:假設A單位每天第一次打開了系統,那么云服務器就記錄了:2020-01-01 A ,就可以了。我只需要記錄一次就可以,他一天頻繁打開,不需要記錄。
要實作我這種效果,應該怎么設計好。是直接在登錄的時候連接云服務器寫一條記錄呢,還是有別好辦法呢?謝謝各位老師指導
uj5u.com熱心網友回復:
1、在云資料庫設定一個記錄;2、每個客戶端登錄時檢查當天是否已記錄,如否,則記錄當次登錄;
其實就是你說的“直接在登錄的時候連接云服務器寫一條記錄”。
uj5u.com熱心網友回復:
可以把日期+單位名設定為唯一索引,這樣同一單位同一天只能寫入一條記錄uj5u.com熱心網友回復:
那假如他斷網了呢。他登錄的時候沒有網,我的服務器記錄不到啊uj5u.com熱心網友回復:
他不是需要使用你的資料嘛,斷網,資料也不能使用了,那他系統也就不應該登錄了。
uj5u.com熱心網友回復:
不不不,他使用他的資料庫,不是我的云資料庫,我的???,只想記錄了誰再使用。uj5u.com熱心網友回復:
你這樣就有一個問題了,例如,他使用的電腦一直不連接網路,你就不能知道他是否在使用(即便你在本地作了記錄)。
所以,基于你這樣的情況,可使用一種方式:
1、使用情況先在本地記錄;
2、定期必須連接一次網路,例如:每N天或每使用X次后,需要連接到云服務器,并把本地記錄上傳到服務器上,如果超過對應時間或次數沒有上傳,就友好提示需要連接網路,或是霸道的暫時禁止軟體使用。
3、在云上取到各客戶端上傳的資料后,分別記錄下來就行了。
以上的重點:a.如果不要求連接云,可能會出現有使用你卻不能知道的情況;b.本地記錄可能需要加密處理,不然可能存在人為修改本地記錄的情況(包括未連網使用時間或使用次數的記錄)。這兩點,根據你軟體的重要性去確定是否需要處理。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/169745.html
標籤:數據庫相關
上一篇:C++如何實作代碼執行到哪一行?
下一篇:spring security 集成cas ,設定首頁和login/cas允許匿名通過過濾鏈,首頁可進,login/cas 報401錯誤
