同。
[0071]可選的,可在執(zhí)行將第一依賴數(shù)據(jù)的數(shù)值修改為第一改變數(shù)據(jù)的數(shù)值操作后,從零開始累計修改第一依賴數(shù)據(jù)的數(shù)值的次數(shù),得到第一次數(shù),若對第一依賴數(shù)據(jù)的修改次數(shù),即第一次數(shù)的數(shù)值大于預(yù)設(shè)閾值,則可認(rèn)為該第一依賴數(shù)據(jù)修改失敗,生成第一錯誤信息,將該第一次數(shù)歸零。
[0072]步驟S130:判斷是否監(jiān)測到所述數(shù)據(jù)模型數(shù)據(jù)發(fā)生改變;若監(jiān)測到,則進入步驟S140,若未監(jiān)測到,則進入步驟S150 ;
[0073]步驟S140:確定發(fā)生改變的數(shù)據(jù)模型數(shù)據(jù)中發(fā)生改變的第二改變數(shù)據(jù)和所述第二改變數(shù)據(jù)的數(shù)值,并根據(jù)所述數(shù)據(jù)依賴關(guān)系在所述用戶視圖數(shù)據(jù)中查找與所述第二改變數(shù)據(jù)相依賴的第二依賴數(shù)據(jù),將所述第二依賴數(shù)據(jù)的數(shù)值修改為所述第二改變數(shù)據(jù)的數(shù)值;
[0074]若監(jiān)測到數(shù)據(jù)模型數(shù)據(jù)發(fā)生改變,則可通過確定該數(shù)據(jù)模型數(shù)據(jù)中發(fā)生改變的第一改變數(shù)據(jù)和該第一改變數(shù)據(jù)的數(shù)值,根據(jù)數(shù)據(jù)模型數(shù)據(jù)與數(shù)據(jù)模型數(shù)據(jù)間具有的數(shù)據(jù)依賴關(guān)系在數(shù)據(jù)模型數(shù)據(jù)中查找與該第一改變數(shù)據(jù)相依賴的第一依賴數(shù)據(jù),將該第一依賴數(shù)據(jù)的數(shù)值修改為該第一改變數(shù)據(jù)的數(shù)值,來將數(shù)據(jù)模型數(shù)據(jù)進行相應(yīng)的修改,使數(shù)據(jù)模型數(shù)據(jù)和數(shù)據(jù)模型數(shù)據(jù)保持一致。
[0075]其中,當(dāng)數(shù)據(jù)模型數(shù)據(jù)發(fā)生的改變?yōu)閿?shù)據(jù)增加時,當(dāng)數(shù)據(jù)模型數(shù)據(jù)發(fā)生的改變?yōu)閿?shù)據(jù)減少時,和當(dāng)數(shù)據(jù)模型數(shù)據(jù)發(fā)生的改變?yōu)閿?shù)據(jù)改變時,用戶視圖數(shù)據(jù)和數(shù)據(jù)模型數(shù)據(jù)保持一致所使用的方法和原理,分別與當(dāng)用戶視圖數(shù)據(jù)發(fā)生的改變?yōu)閿?shù)據(jù)增加時,當(dāng)用戶視圖數(shù)據(jù)發(fā)生的改變?yōu)閿?shù)據(jù)減少時,和當(dāng)用戶視圖數(shù)據(jù)發(fā)生的改變?yōu)閿?shù)據(jù)改變時相同,此處不再贅述。
[0076]可選的,由于也不一定能成功將第二依賴數(shù)據(jù)的數(shù)值修改為第二改變數(shù)據(jù)的數(shù)值,因此,在執(zhí)行將第二依賴數(shù)據(jù)的數(shù)值修改為第二改變數(shù)據(jù)的數(shù)值操作后,也還可以通過判斷該發(fā)生改變的數(shù)據(jù)模型數(shù)據(jù)和對第二依賴數(shù)據(jù)的數(shù)值進行修改后的用戶視圖數(shù)據(jù)是否相同,來判斷是否成功將第二依賴數(shù)據(jù)的數(shù)值修改為第二改變數(shù)據(jù)的數(shù)值。
[0077]若判定該發(fā)生改變的數(shù)據(jù)模型數(shù)據(jù)和對第二依賴數(shù)據(jù)的數(shù)值進行修改后的用戶視圖數(shù)據(jù)不同,則說明未能成功將第二依賴數(shù)據(jù)的數(shù)值修改為第二改變數(shù)據(jù)的數(shù)值,反之,若判定該發(fā)生改變的數(shù)據(jù)模型數(shù)據(jù)和對第二依賴數(shù)據(jù)的數(shù)值進行修改后的用戶視圖數(shù)據(jù)相同,則說明已成功地將第二依賴數(shù)據(jù)的數(shù)值修改為第二改變數(shù)據(jù)的數(shù)值。
[0078]可選的,若判定該發(fā)生改變的數(shù)據(jù)模型數(shù)據(jù)和對第二依賴數(shù)據(jù)的數(shù)值進行修改后的用戶視圖數(shù)據(jù)不同,未能成功將第二依賴數(shù)據(jù)的數(shù)值修改為第二改變數(shù)據(jù)的數(shù)值,則可再次將執(zhí)行將第二依賴數(shù)據(jù)的數(shù)值修改為第二改變數(shù)據(jù)的數(shù)值的操作,直至判定發(fā)生改變的數(shù)據(jù)模型數(shù)據(jù)和對第二依賴數(shù)據(jù)的數(shù)值進行修改后的用戶視圖數(shù)據(jù)相同。
[0079]可選的,可在執(zhí)行將第二依賴數(shù)據(jù)的數(shù)值修改為第二改變數(shù)據(jù)的數(shù)值操作后,從零開始累計修改第二依賴數(shù)據(jù)的數(shù)值的次數(shù),得到第二次數(shù),若對第二依賴數(shù)據(jù)的修改次數(shù),即第二次數(shù)的數(shù)值大于預(yù)設(shè)閾值,則可認(rèn)為該第二依賴數(shù)據(jù)修改失敗,生成第二錯誤信息,將該第二次數(shù)歸零。
[0080]步驟S150:更新所述數(shù)據(jù)依賴關(guān)系。
[0081]無論是否監(jiān)測到用戶視圖數(shù)據(jù)和/或數(shù)據(jù)模型數(shù)據(jù)發(fā)生改變,在每次對用戶視圖數(shù)據(jù)和數(shù)據(jù)模型數(shù)據(jù)進行監(jiān)測后,均更新用戶視圖數(shù)據(jù)與數(shù)據(jù)模型數(shù)據(jù)間的數(shù)據(jù)依賴關(guān)系。因為每隔預(yù)設(shè)時間間隔同時對用戶視圖數(shù)據(jù)和數(shù)據(jù)模型數(shù)據(jù)進行監(jiān)測,因此,也可以認(rèn)為,為每個預(yù)設(shè)間接間隔對用戶視圖數(shù)據(jù)與數(shù)據(jù)模型數(shù)據(jù)間的數(shù)據(jù)依賴關(guān)系進行更新。
[0082]基于上述技術(shù)方案,本發(fā)明實施例提供的保持用戶視圖和數(shù)據(jù)模型內(nèi)數(shù)據(jù)一致的方法,每隔預(yù)設(shè)時間間隔同時對用戶視圖數(shù)據(jù)和數(shù)據(jù)模型數(shù)據(jù)進行監(jiān)測,其中,所述用戶視圖數(shù)據(jù)與所述數(shù)據(jù)模型數(shù)據(jù)間具有數(shù)據(jù)依賴關(guān)系,若監(jiān)測到用戶視圖數(shù)據(jù)發(fā)生改變,則確定發(fā)生改變的用戶視圖數(shù)據(jù)中發(fā)生改變的第一改變數(shù)據(jù)和該第一改變數(shù)據(jù)的數(shù)值,并根據(jù)數(shù)據(jù)依賴關(guān)系在數(shù)據(jù)模型數(shù)據(jù)中查找與該第一改變數(shù)據(jù)相依賴的第一依賴數(shù)據(jù),將該第一依賴數(shù)據(jù)的數(shù)值修改為與該第一改變數(shù)據(jù)的相同的數(shù)值,若監(jiān)測到數(shù)據(jù)模型數(shù)據(jù)發(fā)生改變,則確定發(fā)生改變的數(shù)據(jù)模型數(shù)據(jù)中發(fā)生改變的第二改變數(shù)據(jù)和該第二改變數(shù)據(jù)的數(shù)值,并根據(jù)數(shù)據(jù)依賴關(guān)系在用戶視圖數(shù)據(jù)中查找與該第二改變數(shù)據(jù)相依賴的第二依賴數(shù)據(jù),將該第二依賴數(shù)據(jù)的數(shù)值修改為與該第二改變數(shù)據(jù)的數(shù)值相同的數(shù)值,更新用戶視圖數(shù)據(jù)與數(shù)據(jù)模型數(shù)據(jù)間的數(shù)據(jù)依賴關(guān)系。每隔預(yù)設(shè)時間間隔同時對用戶視圖數(shù)據(jù)和數(shù)據(jù)模型數(shù)據(jù)進行監(jiān)測,一旦檢測到其中一個發(fā)生改變,根據(jù)兩者間的數(shù)據(jù)依賴關(guān)系立即對另一個進行相對的改變,無需開發(fā)者實時對用戶視圖數(shù)據(jù)和數(shù)據(jù)模型數(shù)據(jù)是否發(fā)生改變進行監(jiān)測,也無需開發(fā)者在發(fā)現(xiàn)用戶視圖數(shù)據(jù)和/或數(shù)據(jù)模型數(shù)據(jù)發(fā)生改變時編寫大量的編碼,控制數(shù)據(jù)模型和/或用戶視圖做出響應(yīng),工作量較小,節(jié)省了開發(fā)者的時間和精力,當(dāng)發(fā)現(xiàn)用戶視圖數(shù)據(jù)和數(shù)據(jù)模型數(shù)據(jù)中的一者發(fā)生改變時,可立即使另一者做出相應(yīng)的改變,同時,由于無需在發(fā)現(xiàn)用戶視圖數(shù)據(jù)和/或數(shù)據(jù)模型數(shù)據(jù)發(fā)生改變時編寫大量的編碼,也消除了由于開發(fā)者編寫的觸發(fā)編碼錯誤而導(dǎo)致應(yīng)用操作失敗,甚至導(dǎo)致整個系統(tǒng)崩潰的可會K。
[0083]可選的,圖2示出了本發(fā)明實施例提供的保持用戶視圖和數(shù)據(jù)模型內(nèi)數(shù)據(jù)一致的方法中每隔預(yù)設(shè)時間間隔對用戶視圖數(shù)據(jù)進行監(jiān)測的方法流程圖,參照圖2,該每隔預(yù)設(shè)時間間隔對用戶視圖數(shù)據(jù)進行監(jiān)測的方法可以包括:
[0084]步驟S200:判斷是否達到預(yù)設(shè)時間間隔;
[0085]步驟S210:若達到,則獲取用戶視圖數(shù)據(jù);
[0086]因為每隔預(yù)設(shè)時間間隔對用戶視圖數(shù)據(jù)進行監(jiān)測,因此,每隔預(yù)設(shè)時間間隔獲取一次用戶視圖數(shù)據(jù),在獲取上一用戶視圖數(shù)據(jù)后,若達到預(yù)設(shè)時間間隔,則獲取當(dāng)前用戶視圖數(shù)據(jù)。
[0087]步驟S220:判斷本次獲取的用戶視圖數(shù)據(jù)與上次獲取的用戶視圖數(shù)據(jù)是否相同;
[0088]判斷本次獲取的用戶視圖數(shù)據(jù)與上次獲取的用戶視圖數(shù)據(jù)是否相同,即判斷獲取的當(dāng)前用戶視圖數(shù)據(jù)與上一用戶視圖數(shù)據(jù)是否相同。
[0089]步驟S230:若不相同,則確定監(jiān)測的用戶視圖數(shù)據(jù)發(fā)生改變;
[0090]若獲取的當(dāng)前用戶視圖數(shù)據(jù)與上一用戶視圖數(shù)據(jù)不相同,則可確定監(jiān)測的用戶視圖數(shù)據(jù)發(fā)生改變。
[0091]步驟S240:若相同,則確定監(jiān)測的用戶視圖數(shù)據(jù)沒有發(fā)生改變,返回步驟S200。
[0092]若判定獲取的當(dāng)前用戶視圖數(shù)據(jù)與上一用戶視圖數(shù)據(jù)相同,則可確定監(jiān)測的用戶視圖數(shù)據(jù)沒有發(fā)生改變,在預(yù)設(shè)時間間隔后獲取下一用戶視圖數(shù)據(jù)。
[0093]可選的,圖3示出了本發(fā)明實施例提供的保持用戶視圖和數(shù)據(jù)模型內(nèi)數(shù)據(jù)一致的方法中每隔預(yù)設(shè)時間間隔對數(shù)據(jù)模型數(shù)據(jù)進行監(jiān)測的方法流程圖,參照圖3,該每隔預(yù)設(shè)時間間隔對數(shù)據(jù)模型數(shù)據(jù)進行監(jiān)測的方法可以包括:
[0094]步驟S300:判斷是否達到預(yù)設(shè)時間間隔;
[0095]步驟S310:若達到,則獲取數(shù)據(jù)模型數(shù)據(jù);
[0096]因為每隔預(yù)設(shè)時間間隔對數(shù)據(jù)模型數(shù)據(jù)進行監(jiān)測,因此,每隔預(yù)設(shè)時間間隔獲取一次數(shù)據(jù)模型數(shù)據(jù),在獲取上一數(shù)據(jù)模型數(shù)據(jù)后,若達到預(yù)設(shè)時間間隔,則獲取當(dāng)前數(shù)據(jù)模型數(shù)據(jù)。
[0097]步驟S320:判斷本次獲取的數(shù)據(jù)模型數(shù)據(jù)與上次獲取的數(shù)據(jù)模型數(shù)據(jù)是否相同;
[0098]判斷本次獲取的數(shù)據(jù)模型數(shù)據(jù)與上次獲取的數(shù)據(jù)模型數(shù)據(jù)是否相同,即判斷獲取的當(dāng)前數(shù)據(jù)模型數(shù)據(jù)與上一數(shù)據(jù)模型數(shù)據(jù)是否相同。
[0099]步驟S330:若不相同,則確定監(jiān)測的數(shù)據(jù)模型數(shù)據(jù)發(fā)生改變;
[0100]若判定獲取的當(dāng)前數(shù)據(jù)模型數(shù)據(jù)與上一數(shù)據(jù)模型數(shù)據(jù)不相同,則可確定監(jiān)測的數(shù)據(jù)模型數(shù)據(jù)發(fā)生改變。
[0101]步驟S340:若相同,則確定監(jiān)測的數(shù)據(jù)模型數(shù)據(jù)沒有發(fā)生改變,返回步驟S300。
[0102]若判定獲取的當(dāng)前數(shù)據(jù)模型數(shù)據(jù)與上一數(shù)據(jù)模型數(shù)據(jù)相同,則可確定監(jiān)測的數(shù)據(jù)模型數(shù)據(jù)沒有發(fā)生改變,在預(yù)設(shè)時間間隔后獲取下一數(shù)據(jù)模型數(shù)據(jù)。
[0103]可選的,圖4示出了本發(fā)明實施例提供的保持用戶視圖和數(shù)據(jù)模型內(nèi)數(shù)據(jù)一致的方法中判斷數(shù)據(jù)模型數(shù)據(jù)是否更新成功的方法流程圖,參照圖4,該判斷數(shù)據(jù)模型數(shù)據(jù)是否更新成功的方法可以包括:
[0104]步驟S400:判斷所述發(fā)生改變的用戶視圖數(shù)據(jù)和對第一依賴數(shù)據(jù)的數(shù)值進行修改后的數(shù)據(jù)模型數(shù)據(jù)是否相同;
[0105]可選的,由于不一定能成功將第一依賴數(shù)據(jù)的數(shù)值修改為第一改變數(shù)據(jù)的數(shù)值,因此,在執(zhí)行將第一依賴數(shù)據(jù)的數(shù)值修改為第一改變數(shù)據(jù)的數(shù)值操作后,還可以通過判斷該發(fā)生改變的用戶視圖數(shù)據(jù)和對第一依賴數(shù)據(jù)的數(shù)值進行修改后的數(shù)據(jù)模型數(shù)據(jù)是否相同,來判斷是否成功將第一依賴數(shù)據(jù)的數(shù)值修改為第一改變數(shù)據(jù)的數(shù)值。
[0106]步驟S410:若不同,則再次將所述第一依賴數(shù)據(jù)的數(shù)值修改為所述第一改變數(shù)據(jù)的數(shù)值,返回步驟S400 ;
[0107]若判定該發(fā)生改變的用戶視圖數(shù)據(jù)和對第一依賴數(shù)據(jù)的數(shù)值進行修改后的數(shù)據(jù)模型數(shù)據(jù)不同,則說明未能成功將第一依賴數(shù)據(jù)的數(shù)值修改為第一改變數(shù)據(jù)的數(shù)值,返回步驟400,再次判斷發(fā)生改變的用戶視圖數(shù)據(jù)和對第一依賴數(shù)據(jù)的數(shù)值進行修改后的數(shù)據(jù)模型數(shù)據(jù)是否相同,直至判定發(fā)生改變的用戶視圖數(shù)據(jù)和對第一依賴數(shù)據(jù)的數(shù)值進行修改后的數(shù)據(jù)模型數(shù)據(jù)相同。
[0108]步驟S420:若相同,則結(jié)束操作。
[0109]若判定該發(fā)生改變的用戶視圖數(shù)據(jù)和對第一依賴數(shù)據(jù)的數(shù)值進行修改