【正文】
進(jìn)行數(shù)據(jù)同步。 基于以上理由,我們選擇 Merge Replication作為公共數(shù)據(jù)的同步方式。數(shù)據(jù)同步的實(shí)現(xiàn)架構(gòu)如下: 1) 數(shù)據(jù)庫(kù):可選擇 SQL Sever 2020或 SQL Sever 2020(推薦使用 SQL Server 2020) 2) Web 服務(wù)器:運(yùn)行于 Inter 中的網(wǎng)絡(luò)服務(wù)器,安裝 IIS 或以上版本;需要安裝 SQL Mobile 2020 Sever Tools。 Web 服務(wù)器能夠訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器,兩者可以運(yùn)行于一臺(tái)服務(wù)器中。 Web 服務(wù)器需要申請(qǐng)域名,也可以通過(guò) IP 地址訪問(wèn),但后期維護(hù)成本加大 3) Windows Mobile 設(shè)備: Pocket PC 2020 或 Windows Mobile 設(shè)備,需要可以通過(guò) GPRS 訪問(wèn) Web 服務(wù)器,因?yàn)槭褂?HTTP 協(xié)議,所以可以穿越防火墻;需要安裝 SQL Mobile數(shù)據(jù)庫(kù),包括數(shù)據(jù)庫(kù)引擎、 SQL Mobile Client Agent。 系統(tǒng)架構(gòu)如下圖: 我們面臨的主要技術(shù)困難: 1) 初始化數(shù)據(jù)量大 盡管需要同步的數(shù)據(jù)量較小,但是初始化時(shí)數(shù)據(jù)量很大,會(huì)超過(guò) 10M數(shù)據(jù)。通過(guò) GPRS 進(jìn)行初始化,下載大量數(shù)據(jù)顯然是不合適的; 2) 并發(fā)訪問(wèn)量大 一期項(xiàng)目設(shè)備超過(guò)一萬(wàn)臺(tái),與一般 Web 網(wǎng)站的并發(fā)訪問(wèn)不同,我們必須假設(shè)存在大量設(shè)備同時(shí)進(jìn)行同步的可能,所以我們至少應(yīng)該保證 1000臺(tái)設(shè)備能夠同時(shí)數(shù)據(jù)同步成功(并非并發(fā)訪問(wèn)數(shù)達(dá)到 1000) 3) 數(shù)據(jù)安全性 因?yàn)樗婕暗氖枪矓?shù)據(jù),安全要求相對(duì)較 低,為了數(shù)據(jù)同步的效率,可以采用非加密的 HTTP 連接,比 HTTPS 連接的效率高 40%左右 4) 數(shù)據(jù)完整性 我們必須保證數(shù)據(jù)完整性,所以我們要在程序中進(jìn)行一定控制。 我們對(duì)這些問(wèn)題的一些應(yīng)對(duì)構(gòu)想: 1) 對(duì)于初始化數(shù)據(jù):我們可以考慮在 PC平臺(tái)上首先