服務器設(shè)置后方服務器的副本,以使得本地服務器具有與后方服務器一致數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)庫;在進行數(shù)據(jù)同步時,本地服務器可運行所述副本,展示所述副本提供的數(shù)據(jù)填報界面;在用戶通過所述數(shù)據(jù)填報界面填入數(shù)據(jù)并確定同步后,本地服務器可確定本次數(shù)據(jù)同步所對應的待同步數(shù)據(jù);而后,判斷當前的網(wǎng)絡(luò)狀況是否滿足預定的數(shù)據(jù)同步所要求的網(wǎng)絡(luò)狀況;若是,將所述待同步數(shù)據(jù)進行打包并添加同步標記,將打包且添加同步標記的待同步數(shù)據(jù)傳輸至后方服務器;若否,將所述待同步數(shù)據(jù)進行打包并添加同步標記,定時檢測網(wǎng)絡(luò)狀況,在檢測到的網(wǎng)絡(luò)狀況滿足預定的數(shù)據(jù)同步所要求的網(wǎng)絡(luò)狀況時,將打包且添加同步標記的待同步數(shù)據(jù)傳輸至后方服務器。
[0075]可以看出,本發(fā)明實施例提供的數(shù)據(jù)同步方法,在本地服務器設(shè)置了后方服務器的副本,這使得在本地服務器進行數(shù)據(jù)填報并同步,相當于是通過本地服務器遠程訪問后方服務器實現(xiàn)了數(shù)據(jù)的填報同步,使得數(shù)據(jù)的同步更為直觀、便于用戶操作;在本發(fā)明實施例中,本地服務器同步數(shù)據(jù)是依據(jù)當前的網(wǎng)絡(luò)狀況進行的,在當前的網(wǎng)絡(luò)狀況滿足預定的數(shù)據(jù)同步所要求的網(wǎng)絡(luò)狀況時,可將打包且添加同步標記的待同步數(shù)據(jù)傳輸至后方服務器,在當前的網(wǎng)絡(luò)狀況不滿足預定的數(shù)據(jù)同步所要求的網(wǎng)絡(luò)狀況時,需要定時檢測網(wǎng)絡(luò)狀況,在檢測到的網(wǎng)絡(luò)狀況滿足預定的數(shù)據(jù)同步所要求的網(wǎng)絡(luò)狀況時,才將打包且添加同步標記的待同步數(shù)據(jù)傳輸至后方服務器;在整個數(shù)據(jù)同步過程中,用戶填報數(shù)據(jù)確定同步后,本地服務器可按照預定的邏輯流程進行,不需用戶頻繁操作,操作極為便捷、簡單;本發(fā)明實施例提供的數(shù)據(jù)同步方法,實現(xiàn)了用戶操作簡單、且直觀的數(shù)據(jù)同步。
[0076]可選的,本地服務器可將施工項目的基礎(chǔ)數(shù)據(jù)(在后方服務器的數(shù)據(jù)庫中存儲)從后方服務器中下載至本地,以使得本地服務器的數(shù)據(jù)庫與后方服務器的數(shù)據(jù)庫可實現(xiàn)定時的同步設(shè)置,為本地服務器所設(shè)置的后方服務器的副本版本與后方服務器保持對應提供了可能;
[0077]具體的,本地服務器可將后方服務器的數(shù)據(jù)庫中的基礎(chǔ)數(shù)據(jù)打包下載至本地服務器。
[0078]可選的,本地服務器在進行數(shù)據(jù)同步時,所同步的數(shù)據(jù)可以是結(jié)構(gòu)化數(shù)據(jù),也可以是非結(jié)構(gòu)化數(shù)據(jù);結(jié)構(gòu)化數(shù)據(jù)是指的非附件數(shù)據(jù),非結(jié)構(gòu)化數(shù)據(jù)指的是上傳附件的文件流;值得注意的是,結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)在填報、同步數(shù)據(jù)時的處理方式不同,非結(jié)構(gòu)化數(shù)據(jù)相比于結(jié)構(gòu)化數(shù)據(jù)多了附件的同步上傳。
[0079]優(yōu)選的,圖4示出了本發(fā)明實施例提供的數(shù)據(jù)同步方法的另一流程圖,該方法可應用于本地服務器,需預先在本地服務器設(shè)置后方服務器的副本,以使得本地服務器具有與后方服務器一致數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)庫;
[0080]參照圖4,該方法可以包括:
[0081]步驟S200、運行副本,展示所述副本提供的數(shù)據(jù)填報界面;
[0082]步驟S210、在用戶通過所述數(shù)據(jù)填報界面填入數(shù)據(jù)并確定同步后,確定用戶所填入的數(shù)據(jù)與所述副本所提供的數(shù)據(jù)庫中原記錄的數(shù)據(jù)的區(qū)別數(shù)據(jù),將區(qū)別數(shù)據(jù)確定為本次數(shù)據(jù)同步所對應的待同步數(shù)據(jù);
[0083]可選的,本地服務器設(shè)置的副本所提供的數(shù)據(jù)庫中原記錄的數(shù)據(jù),是指進行本次數(shù)據(jù)同步前,副本所提供的數(shù)據(jù)庫中記錄的數(shù)據(jù);
[0084]可選的,區(qū)別數(shù)據(jù)可以包括:用戶所填入的數(shù)據(jù)與所述副本所提供的數(shù)據(jù)庫中原記錄的數(shù)據(jù)相比,所刪除的數(shù)據(jù),和/或新增的數(shù)據(jù),和/或修改的數(shù)據(jù)。
[0085]步驟S220、判斷當前的網(wǎng)絡(luò)狀況是否滿足預定的數(shù)據(jù)同步所要求的網(wǎng)絡(luò)狀況,若是,執(zhí)行步驟S230,若否,執(zhí)行步驟S250 ;
[0086]步驟S230、將所述待同步數(shù)據(jù)進行打包并添加同步標記,將打包且添加同步標記的待同步數(shù)據(jù)傳輸至后方服務器;
[0087]步驟S240、在后方服務器對所述本地服務器所設(shè)置的副本的版本校驗通過,且對所述待同步數(shù)據(jù)進行MD5校驗通過后,接收后方服務器所反饋的數(shù)據(jù)已同步的狀態(tài)信息;
[0088]步驟S250、若當前的網(wǎng)絡(luò)狀況不滿足預定的數(shù)據(jù)同步所要求的網(wǎng)絡(luò)狀況,但當前的網(wǎng)絡(luò)可連接使用,則與后方服務器進行本地服務器所設(shè)置的副本的版本的校驗處理;
[0089]步驟S260、在后方服務器對所述本地服務器所設(shè)置的副本的版本校驗通過后,將所述待同步數(shù)據(jù)進行打包并添加同步標記;
[0090]步驟S270、啟用定時器,當定時器的定時時間達到預定時間時,檢測一次網(wǎng)絡(luò)狀況,直至檢測到的網(wǎng)絡(luò)狀況滿足預定的數(shù)據(jù)同步所要求的網(wǎng)絡(luò)狀況時,將打包且添加同步標記的待同步數(shù)據(jù)傳輸至后方服務器。
[0091]可選的,本地服務器在當前的網(wǎng)絡(luò)狀況不滿足預定的數(shù)據(jù)同步所要求的網(wǎng)絡(luò)狀況情況下,在后續(xù)將打包且添加同步標記的待同步數(shù)據(jù)傳輸至后方服務器后,本地服務器可在后方服務器接收該打包且添加同步標記的待同步數(shù)據(jù)后,接收后方服務器反饋的數(shù)據(jù)已同步的狀態(tài)信息;
[0092]本地服務器接收該數(shù)據(jù)已同步的狀態(tài)信息后,可對待同步數(shù)據(jù)進行處理(如保存該待同步數(shù)據(jù)所調(diào)整的數(shù)據(jù)庫,以與后方服務器已調(diào)整的數(shù)據(jù)庫相一致),并注銷數(shù)據(jù)同步任務(即不在維持定時檢測網(wǎng)絡(luò)狀況,以在檢測到滿足預定的數(shù)據(jù)同步所要求的網(wǎng)絡(luò)狀況時,上傳打包且添加同步標記的待同步數(shù)據(jù)的任務)。
[0093]可選的,本發(fā)明實施例在同步數(shù)據(jù)的過程中,可采用斷點傳輸技術(shù),以支持數(shù)據(jù)由本地服務器至后方服務器,或數(shù)據(jù)由后方服務器至本地服務器的斷點傳輸。
[0094]本發(fā)明實施例提供的數(shù)據(jù)同步方法,實現(xiàn)了用戶操作簡單、且直觀的數(shù)據(jù)同步。
[0095]下面對本發(fā)明實施例提供的本地服務器進行介紹,下文描述的本地服務器可與上文以本地服務器角度描述的數(shù)據(jù)同步方法相互對應參照。
[0096]圖5為本發(fā)明實施例提供的本地服務器的結(jié)構(gòu)框圖,參照圖5,該本地服務器可以包括:
[0097]副本預置模塊100,用于預先在本地服務器設(shè)置后方服務器的副本,以使得本地服務器具有與后方服務器一致數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)庫;
[0098]副本運行模塊200,用于運行所述副本,展示所述副本提供的數(shù)據(jù)填報界面;
[0099]待同步數(shù)據(jù)確定模塊300,用于在用戶通過所述數(shù)據(jù)填報界面填入數(shù)據(jù)并確定同步后,確定本次數(shù)據(jù)同步所對應的待同步數(shù)據(jù);
[0100]網(wǎng)絡(luò)狀況判斷模塊400,用于判斷當前的網(wǎng)絡(luò)狀況是否滿足預定的數(shù)據(jù)同步所要求的網(wǎng)絡(luò)狀況;
[0101]第一同步模塊500,用于若是,將所述待同步數(shù)據(jù)進行打包并添加同步標記,將打包且添加同步標記的待同步數(shù)據(jù)傳輸至后方服務器;
[0102]第二同步模塊600,用于若否,將所述待同步數(shù)據(jù)進行打包并添加同步標記,定時檢測網(wǎng)絡(luò)狀況,在檢測到的網(wǎng)絡(luò)狀況滿足預定的數(shù)據(jù)同步所要求的網(wǎng)絡(luò)狀況時,將打包且添加同步標記的待同步數(shù)據(jù)傳輸至后方服務器。
[0103]可選的,圖6示出了本發(fā)明實施例提供的待同步數(shù)據(jù)確定模塊300的一種可選結(jié)構(gòu),參照圖6,待同步數(shù)據(jù)確定模塊300可以包括:
[0104]區(qū)別數(shù)據(jù)確定單元310,用于在用戶通過所述數(shù)據(jù)填報界面填入數(shù)據(jù)并確定同步后,確定用戶所填入的數(shù)據(jù)與所述副本所提供的數(shù)據(jù)庫中原記錄的數(shù)據(jù)的區(qū)別數(shù)據(jù);
[0105]結(jié)果確定單元320,用于將區(qū)別數(shù)據(jù)確定為本次數(shù)據(jù)同步所對應的待同步數(shù)據(jù)。
[0106]可選的,區(qū)別數(shù)據(jù)確定單元310所確定的區(qū)別數(shù)據(jù)可以包括:用戶所填入的數(shù)據(jù)與所述副本所提供的數(shù)據(jù)庫中原記錄的數(shù)據(jù)相比,所刪除的數(shù)據(jù),和/或新增的數(shù)據(jù),和/或修改的數(shù)據(jù)。
[0107]可選的,圖7示出了本發(fā)明實施例提供的本地服務器的另一結(jié)構(gòu)框圖,結(jié)合圖5和圖7所示,該本地服務器還可以包括:
[0108]反饋接收模塊700,用于在后方服務器接收第一同步模塊所同步的待同步數(shù)據(jù),且對所述本地服務器所設(shè)置的副本的版本校驗通過,對所述待同步數(shù)據(jù)進行MD5校驗通過后,接收后方服務器所反饋的數(shù)據(jù)已同步的狀態(tài)信息。
[01