本系統(tǒng)分為客戶端和服務(wù)器兩個(gè)部分,其中客戶端承擔(dān)了系統(tǒng)絕大數(shù)事務(wù),服務(wù)器只是簡(jiǎn)單的執(zhí)行客戶端傳送的命令,屬于典型的C/S胖客戶端瘦服務(wù)器模式。這樣設(shè)計(jì)的目的是為了減輕服務(wù)器的壓力,讓系統(tǒng)更加流暢。
客戶端負(fù)責(zé)采集分布數(shù)據(jù)庫中的數(shù)據(jù),然后匯總到服務(wù)器?蛻舳诵枰渲玫臄(shù)據(jù)庫連接字符串是指分布數(shù)據(jù)庫的連接字符串,連接成功后才可以向主數(shù)據(jù)庫同步數(shù)據(jù)。例如,有A、B、C三個(gè)分布數(shù)據(jù)庫,需要把數(shù)據(jù)匯總到D數(shù)據(jù)庫,那么需要三個(gè)客戶端,分別連接A、B、C數(shù)據(jù)庫,客戶端運(yùn)行在哪無所謂,只要能連接數(shù)據(jù)庫即可。
主頁說明
主頁顯示一些公共信息。
程序啟動(dòng)日期有助于您分析日志同步狀況;
掃描引擎、同步引擎是本系統(tǒng)兩大核心引擎,掃描引擎負(fù)責(zé)獲取分布數(shù)據(jù)庫的數(shù)據(jù)變動(dòng),同步引擎負(fù)責(zé)向服務(wù)器發(fā)送需要同步的數(shù)據(jù)。如果數(shù)據(jù)庫連接字符串未設(shè)置,引擎不會(huì)開啟,否則,引擎自動(dòng)開啟,無需人工干預(yù)。
數(shù)據(jù)庫占用空間是指程序本地的SQLite數(shù)據(jù)庫占用空間,由于長期使用會(huì)有大量日志信息,占用過大空間會(huì)使程序效率降低,可以及時(shí)清理。清理界面如下:
選擇好要清除的日志類型,然后選擇日期,提交后會(huì)清除該日期之前的所有記錄。
活動(dòng)日志說明
該頁面可以查詢程序的活動(dòng)狀況,以日期查詢可以顯示某個(gè)日期的記錄。
程序活動(dòng)日志是掃描記錄,詳細(xì)記錄了掃描信息。
程序同步活動(dòng)日志是同步記錄,詳細(xì)記錄了同步信息。
同步說明
同步界面用來配置需要同步的表和同步時(shí)間,如果已經(jīng)配置數(shù)據(jù)庫連接字符串,將會(huì)顯示數(shù)據(jù)庫中的所有表,用戶可根據(jù)需要選擇要同步的表。
在要同步的表列表中,如果表間有外鍵約束,一定要把主表靠前排列。
同步時(shí)間即何時(shí)同步數(shù)據(jù),用戶可根據(jù)實(shí)際需要選擇閑時(shí)同步,建議多個(gè)客戶端選擇不同的時(shí)間段同步,避免沖突。支持多個(gè)時(shí)間,以逗號(hào)分隔,24小時(shí)制表示,時(shí)間格式舉例:20:33,22:12。
成功提交設(shè)置后,會(huì)自動(dòng)開啟掃描引擎和同步引擎。
參數(shù)設(shè)定說明
參數(shù)設(shè)定界面用來配置程序的基本參數(shù)。
數(shù)據(jù)庫連接字符串是指分布數(shù)據(jù)庫的連接字符串,不是主數(shù)據(jù)庫的連接字符串,一旦成功設(shè)置,不能更改,如需更改,要重新安裝程序!
掃描間隔時(shí)間是指掃描引擎獲取變動(dòng)數(shù)據(jù)的時(shí)間間隔,建議設(shè)置為30分鐘,用戶可根據(jù)需求自行更改。
主服務(wù)器IP地址是指服務(wù)器所在電腦的IP地址,客戶端將發(fā)送同步數(shù)據(jù)到服務(wù)器。
補(bǔ)充說明
程序一旦進(jìn)步同步狀態(tài),將出現(xiàn)同步進(jìn)度界面,此界面自動(dòng)出現(xiàn),自動(dòng)關(guān)閉,無需干預(yù),請(qǐng)耐心等待,千萬不要在同步時(shí)關(guān)閉程序!
服務(wù)器使用說明
概述
服務(wù)器功能比較簡(jiǎn)單,負(fù)責(zé)收集客戶端發(fā)送過來的同步數(shù)據(jù),然后添加到主數(shù)據(jù)庫中,只需設(shè)置主數(shù)據(jù)庫的連接字符串即可,成功連接后服務(wù)器啟動(dòng)。
服務(wù)器會(huì)自動(dòng)保存成功連接的主數(shù)據(jù)庫連接字符串。
服務(wù)器對(duì)同步不做任何記錄。
使用說明
設(shè)置好數(shù)據(jù)庫連接字符串后,點(diǎn)擊啟動(dòng)服務(wù),如果連接成功,服務(wù)自動(dòng)啟動(dòng)。
同時(shí),界面上顯示正在同步的客戶端數(shù)量,正在同步客戶端數(shù)量不為0時(shí),無法關(guān)閉服務(wù)器,如果強(qiáng)行關(guān)閉,造成的一切后果自行負(fù)責(zé)。
補(bǔ)充說明
理論上應(yīng)該先啟動(dòng)服務(wù)器,再啟動(dòng)客戶端。
程序使用注意事項(xiàng)
1.必須確保您的數(shù)據(jù)庫沒有修改主鍵的操作。由于修改主鍵會(huì)引起很多問題,如果一定要修改主鍵,建議把修改拆分成刪除→添加。
2.必須確保您的數(shù)據(jù)庫沒有使用自增長的字段,因?yàn)樽栽鲩L字段本程序無法干涉。
3.支持所有SQL數(shù)據(jù)類型(除SQL2008新增的geography、geometry、hierarchyid)。
4.數(shù)據(jù)庫連接字符串一旦成功設(shè)置,不能更改!如需更改,需要重新安裝程序。
產(chǎn)品特點(diǎn)
l 設(shè)計(jì)新穎。
l 安全性高。
l 穩(wěn)定性強(qiáng)。
l 效率高。
l 占用資源低。
已經(jīng)修正BUG
l 同步時(shí)間正則判斷錯(cuò)誤,少寫了一個(gè)+。
l 表刪除按鈕無效。
l 主鍵檢索錯(cuò)誤,檢索反了。
l 點(diǎn)活動(dòng)日志應(yīng)該清空界面表格顯示,點(diǎn)查詢應(yīng)該清空界面表格顯示。
l SQL語句按照?qǐng)?zhí)行順序構(gòu)造,應(yīng)該在配置里放最小LSN。
l 同步時(shí)間判斷不合理,一個(gè)時(shí)間點(diǎn)可能會(huì)同步兩次,應(yīng)該縮小同步條件。
l SQL日志讀取異常,應(yīng)該跳過無日志的記錄。
l 掃描引擎和同步引擎沖突,有交叉現(xiàn)象,通過對(duì)線程運(yùn)行標(biāo)記添加線程鎖解決。
版權(quán)信息
作者:楊元。
聲明
本程序?qū)儆诿赓M(fèi)程序,嚴(yán)禁用于商業(yè)用途。
如果您喜歡此程序,可以向作者捐款。
程序升級(jí)——2013年3月27日——增加表前綴(V2.0)
由于產(chǎn)品開發(fā)初期設(shè)計(jì)不足,后期使用出現(xiàn)了一個(gè)問題:沒辦法區(qū)分?jǐn)?shù)據(jù)來自哪個(gè)客戶端,也就是沒有區(qū)分分布數(shù)據(jù)庫,最終數(shù)據(jù)將混在一起。
經(jīng)過考慮,提出表前綴概念。原理如下圖:
如果沒有表前綴,那么所有分布數(shù)據(jù)庫中的表名字都一樣,在本例中都是t_Syn1或t_Syn2,如果不加區(qū)分,A、B、C三個(gè)分布數(shù)據(jù)庫中的信息都會(huì)同步到主數(shù)據(jù)庫的t_Syn1、t_Syn2表中,造成數(shù)據(jù)混亂。
為了區(qū)分不同的分布數(shù)據(jù)庫,采用表前綴的解決方案。
根據(jù)圖中的原理,假如分布數(shù)據(jù)庫中有一個(gè)表是“t_Syn1”,如果想同步這個(gè)表的數(shù)據(jù),那么主數(shù)據(jù)庫中需要有一個(gè)名字叫“前綴_t_Syn1”的表,結(jié)構(gòu)和分布數(shù)據(jù)庫中的“t_Syn1”一樣。
這樣一來,分布數(shù)據(jù)庫“t_Syn1”表中的數(shù)據(jù)會(huì)同步到主數(shù)據(jù)庫“前綴_t_Syn1”表中。
前綴可以在客戶端“參數(shù)設(shè)定”選項(xiàng)卡中設(shè)置,每個(gè)分布數(shù)據(jù)庫具體用什么前綴由用戶自己商定。
注意:程序不會(huì)創(chuàng)建表,也就是說,用戶必須手動(dòng)創(chuàng)建主數(shù)據(jù)庫中的表,主數(shù)據(jù)庫表名=前綴+分布數(shù)據(jù)庫表名,主數(shù)據(jù)庫表結(jié)構(gòu)必須和分布數(shù)據(jù)庫表結(jié)構(gòu)相同,只是名字不同而已。
親,此軟件需要安裝微軟.net 環(huán)境
微軟.NET Framework 4.0下載地址:http://m.tipsywinegypsy.com/soft/21724.html
微軟.NET Framework 3.5下載地址:http://m.tipsywinegypsy.com/soft/18302.html
微軟.NET Framework 2.0下載地址:http://m.tipsywinegypsy.com/soft/15906.html
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版