亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何保證數據庫數據始終準確反映在網頁中?

如何保證數據庫數據始終準確反映在網頁中?

largeQ 2023-06-14 14:24:55
我遇到過一個非常具體的實例,在用戶驗收測試期間,網頁中的數據被不同計算機上的兩個管理員修改。管理員#2 無意中覆蓋了數據。您如何保證數據始終準確地反映在所有使用此數據的網絡瀏覽器中?例如:管理員 #1 在上午 8:00 登錄到一個網頁,該網頁有一個帶有 CRUD(創建、讀取、更新、刪除)功能的表格。管理員 #2 在上午 8:01 登錄到同一個網頁并提取相同的數據。此時兩個網頁都顯示了正確的數據,因為在最后一分鐘沒有修改任何數據。假設在上午 8 點 03 分,管理員 #1 使用 CRUD 操作修改了一條記錄。此時,Admin #2 在網頁中的數據已過時。上午 8 點 05 分,管理員 #2 修改了相同的記錄,但這會用舊數據覆蓋管理員 #1 的更改。由于網頁中有舊數據,因此發送了包含該行所有數據的發布請求,并且整行都使用“舊數據”進行了更新。此時,數據庫將僅顯示 Admin #2 的特定更改。如您所見,如果我有數百名管理員都在修改數據庫中的數據,則這種情況可能會經常發生。是否存在我可以“提醒”管理員 #2 并告訴他數據已過時的技術?如果有 30 位管理員登錄并看到此數據怎么辦?我可以提醒他們所有人這些數據不再準確反映了嗎?在我編寫申請時,我可以預見這將成為未來的一個問題。有許多管理員將使用此網頁,我希望能夠向他們保證數據始終準確無誤。這些數據對企業來說非常重要。它必須始終準確,但對于不懂 SQL 的最終用戶來說可以輕松修改。我在后端/前端使用 Spring Boot 和 VueJS。我們的應用程序將使用 OpenShift 和 Microsoft Azure DevOps 進行部署。我們的數據庫使用的是 Oracle。你們以前有沒有遇到過這個問題?你是如何解決這個問題的?
查看完整描述

2 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

不確定你的數據有多可行,但我想你可以在你想做你的 POST 時添加一個檢查(比方說更新一個字段)檢查已經加載的值和現在數據庫中的值,如果不同,要么刷新頁面以反映新數據,要么提醒管理員告訴他您的數據已過時。我想到的另一個想法是在另一個管理員更新字段時鎖定該字段,但如果有很多數據可以由很多管理員更新,這可能行不通。



查看完整回答
反對 回復 2023-06-14
?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

為每個條目添加一個修訂計數(或者你想給它的任何名稱)。當管理員檢索數據時,將當前修訂計數傳遞給管理員。當數據應該被更新時發送回recision 計數。將修訂計數與數據庫中的計數進行比較,如果不匹配,通知管理員,否則更新并增加計數。確保檢查和更新是原子的。



查看完整回答
反對 回復 2023-06-14
  • 2 回答
  • 0 關注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號