- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于MobiLink的移动数据库同步技术研究
近年来,随着移动计算技术的快速发展,智能手机、PDA等移动设备的普遍使用,使得数据同步技术在分布式数据库系统,特别是在移动数据库系统中发挥了愈来愈大的作用[1-2]。数据同步技术可以使远程数据库和统一数据库保持同步,达到共享数据和保持数据一致性的目的。MobiLink是iAnywhere Solutions公司开发的基于会话的关系数据库同步系统,它支持远程数据库和统一数据库之间的双向数据同步,非常适用于移动计算环境。
1 MobiLink同步系统
MobiLink是基于会话的同步系统,它允许在统一数据库与多个远程数据库之间进行双向数据同步[3]。统一数据库是可以支持任何ODBC标准的数据库,保存了所有数据的主副本。远程数据库是Adaptive Server Anywhere数据库或UltraLite数据库,保存了部分数据的副本。通常,当MobiLink远程站点请求与MobiLink同步服务器连接时,便开始了同步过程。同步期间,远程站点的MobiLink客户端将上载自上一次同步以来对远程数据库所作的更改。MobiLink同步服务器在接收到这些数据时开始更新统一数据库,然后将统一数据库中的更改下载到远程数据库。
1.1 MobiLink同步系统的结构
MobiLink同步系统的结构如图1所示[4]:
(1)统一数据库,此数据库包含同步系统中所有数据的集中副本。
(2)统一数据库服务器,管理统一数据库的服务器或DBMS。此服务器可以是Sybase公司的产品,如Adaptive Server Anywhere或Adaptive Server Enterprise,也可以是其他公司支持ODBC标准的DBMS(如Oracle,Microsoft SQL Server等)。
(3)ODBC,MobiLink同步服务器和统一数据库之间的所有通信都通过ODBC进行连接。ODBC使同步服务器可以连接多种统一数据库系统。
(4)MobiLink同步服务器,此服务器管理同步过程并提供所有MobiLink客户端与统一数据库服务器之间的接口。
(5)网络,MobiLink同步服务器与MobiLink客户端或UltraLite之间的连接,可以使用多种协议。
(6)MobiLink同步客户端,通过网络与MobiLink同步服务器进行连接,是远程数据库与MobiLink同步服务器之间进行通信的接口。
(7)远程数据库,此数据库包含同步系统中部分数据的副本。
1.2 MobiLink同步系统的特性[4]
MobiLink同步系统具有很强的适应性和灵活性。其关键特性如下:
(1)数据协调,MobiLink可以为同步过程选择数据的特定部分,并解决不同数据库之间的更改冲突。同步过程由编写为SQL、Java或.NET应用程序的同步逻辑控制。同步逻辑的每个单元称为1个脚本。例如,可以使用脚本指定如何将上载的数据应用到统一数据库中,并指定下载内容,以及处理统一数据库与远程数据库之间不同的模式和名称。
(2)自动化,MobiLink具备多种自动化功能。可以指导MobiLink同步服务器生成适合于快照同步的脚本,或者生成示例同步脚本。它还可以自动添加需要鉴定的用户。服务器启动的同步系统允许将数据更新推送到远程数据库。
(3)监控和报告,MobiLink提供了2种同步监控机制:MobiLink监控器和统计脚本。可以监控脚本、模式内容、行数的值、脚本名称、转换的脚本内容以及行值。
(4)性能调优,调优MobiLink性能的机制有多种。例如,可以调优争用程度、上载高速缓存大小、数据库连接数、工作线程数、日志详细程度或BLOB高速缓存的大小。
(5)双向同步,可以在任意位置对数据库进行更改。
(6)仅上载同步或仅下载同步,可以选择仅执行上载或仅执行下载。
(7)基于文件的下载,可以将下载作为文件分发,从而实现了脱机分发同步更改。只需1次创建文件,然后将其广泛分发。
(8)服务器启动的同步,可从统一数据库启动MobiLink同步。这意味着可以将数据更新推送到远程数据库,并让远程数据库将更新数据上载到统一数据库中。
(9)通信流的选择,同步可以通过TCP/IP、HTTP或HTTPS执行。Palm设备可以通过HotSync同步。Windows CE设备可以使用ActiveSync同步。
(10)远程启动,可以在远程数据库启动该数据库和统一数据库之间的同步。
(11)基于会话,对所有更改的上载和下载都分别在单个事务中完成。每次同步成功完成后,统一数据库和远程数据库将保持一致。
(12)事务完整性,要么同步全部事务、要么不进行任何同步。确保了每个数据库的事务完整性。
(13)数据一致性,MobiLink使用松散一致性策略来进行操作。所有更改经过一段时间后,将在每个站点中保持一致,从而实现同步,但在任一瞬时不同的站点可能拥有不同的数据副本。
(14)范围广泛的硬件和软件平台,多种广泛使用的数据库管理系统都可以用作MobiLink统一数据库:Adaptive Server Anywhere、Adaptive Server Enterprise、Oracle、Microsoft SQL Server 或 IBM DB2等。远程数据库可以是Adaptive Server Anywhere数据库或UltraLite数据库。MobiLink同步服务器可在Windows或UNIX平台上运行。Adaptive Server Anywhere可在Windows、Windows CE或UNIX计算机上运行。UltraLite可在Palm、Windows CE或基于Java的设备上运行。
作者:姚建波 竺小松 吴 智 来源:电子技术应用
闂傚倸鍊搁崐椋庣矆娴h櫣绀婂┑鐘插€寸紓姘辨喐閺冨牄鈧線寮介鐐茶€垮┑锛勫仧缁垶寮悩缁樷拺闂侇偆鍋涢懟顖涙櫠椤斿浜滄い鎾跺仦閸嬨儳鈧娲滈幊鎾诲煡婢跺ň鏋庨柟閭﹀枛缁插潡姊婚崒娆戝妽闁诡喖鐖煎畷鎰板即閻忚缍婇幃婊堟寠婢跺矈鍞甸梺璇插嚱缂嶅棝宕伴弽顐や笉闁哄被鍎查悡娆徝归悡搴f憼婵炴嚪鍥ㄧ厵妞ゆ棁宕电粣鏃€鎱ㄦ繝鍛仩闁告牗鐗犲鎾偄閸濄儱绲垮┑锛勫亼閸婃垿宕硅ぐ鎺撴櫇妞ゅ繐鐗勯埀顑跨閳诲酣骞樺畷鍥舵Ч婵$偑鍊栭悧妤冨枈瀹ュ鍊垫い鎺嗗亾闁宠鍨块幃娆撳矗婢舵ɑ锛侀梻浣规偠閸斿酣宕伴弽褜鍤曞┑鐘崇閺呮悂鏌ㄩ悤鍌涘 | More...
闂傚倸鍊搁崐椋庣矆娴h櫣绀婂┑鐘插€寸紓姘辨喐閺冨牄鈧線寮介鐐茶€垮┑锛勫仧缁垶寮悩缁樷拺闂侇偆鍋涢懟顖涙櫠椤斿浜滄い鎾跺仦閸嬨儳鈧娲滈幊鎾诲煡婢跺ň鏋庨柟閭﹀枛缁插潡姊婚崒娆戝妽闁诡喖鐖煎畷鎰板即閻忚缍婇幃婊堟寠婢跺矈鍞甸梺璇插嚱缂嶅棝宕伴弽顐や笉闁哄被鍎查悡娆徝归悡搴f憼婵炴嚪鍥ㄧ厵妞ゆ棁宕电粣鏃€鎱ㄦ繝鍛仩闁告牗鐗犲鎾偄閸濄儱绲垮┑锛勫亼閸婃垿宕硅ぐ鎺撴櫇妞ゅ繐鐗勯埀顑跨閳诲酣骞樺畷鍥舵Ч婵$偑鍊栭幐楣冨窗鎼淬劍鍋熷ù鐓庣摠閳锋垿鏌涘☉姗堟敾閻庡灚鐟╅弻宥堫檨闁告挾鍠庨锝嗙節濮橆厽娅㈤梺璺ㄥ櫐閹凤拷
闂傚倸鍊搁崐椋庣矆娓氣偓楠炲鏁撻悩鍐蹭罕闂佸搫娲ㄦ慨椋庣矆婵犲倵鏀介柣妯哄级閹兼劙鏌涚仦璇插闁哄本娲熷畷鐓庘攽閹邦厜褔姊虹粙娆惧剭闁告柨鐭傚﹢渚€姊洪幐搴g畵闁瑰啿閰e鎶芥偄閸忚偐鍘介梺鍝勫€圭€笛囧吹閸ヮ剚鐓欐い鏃€顑欏ḿ鎰版煙瀹勭増鍤囬柟顔惧厴楠炲秹顢氶崨顔х偛鈹戦敍鍕杭闁稿﹥鐗犻獮鎰節濮橆剛鐣洪梺绋挎湰濮樸劑寮抽敃鍌涚叄闊洦鍑瑰ḿ鎰版煕韫囨梻鐭掗柡灞剧☉楗即鍩€椤掑倻鐭嗗〒姘e亾鐎殿噮鍋婇獮搴ㄦ嚍閵壯冨箺闂備胶绮敋鐎殿喖鐖奸獮鏍箛椤掑鍞甸悷婊冪灱閸掓帒鈻庨幘铏К闂侀潧绻堥崐鏍疾閹间焦鐓ラ柣鏇炲€圭€氾拷
闂傚倸鍊搁崐椋庣矆娴h櫣绀婂┑鐘插€寸紓姘辨喐閺冨牄鈧線寮介鐐茶€垮┑锛勫仧缁垶寮悩缁樷拺闂侇偆鍋涢懟顖涙櫠椤斿浜滄い鎾跺仦閸嬨儳鈧娲滈幊鎾诲煡婢跺ň鏋庨柟閭﹀枛缁插潡姊婚崒娆戝妽闁诡喖鐖煎畷鎰板即閻忚缍婇幃婊堟寠婢跺矈鍞甸梺璇插嚱缂嶅棝宕伴弽顐や笉闁哄被鍎查悡娆徝归悡搴f憼婵炴嚪鍥ㄧ厵妞ゆ棁宕电粣鏃€鎱ㄦ繝鍛仩闁告牗鐗犲鎾偄閸濄儱绲垮┑锛勫亼閸婃垿宕硅ぐ鎺撴櫇妞ゅ繐鐗勯埀顑跨閳诲酣骞樺畷鍥舵Ч婵$偑鍊栫敮鎺楀磹閸噮鐎舵い鏂跨毞閺€浠嬪箳閹惰棄纾归柡鍥╁Л閸嬫挸顫濋鈧Σ濠氭懚閻愮儤鐓ラ柣鏇炲€圭€氾拷
闂傚倸鍊峰ù鍥敋瑜忛幑銏ゅ箛椤旇棄搴婇梺褰掑亰閸犳帡宕戦幘鎰佹僵妞ゆ劑鍨圭粊顕€姊洪棃娑欘棞闁稿﹤顭烽獮鎴﹀礋椤掑倻鎳濆銈嗙墬绾板秴鈻嶆繝鍥ㄢ拻濞撴埃鍋撴繛浣冲洦鏅煫鍥ㄧ☉閻掑灚銇勯幒鎴濐仼闁藉啰鍠栭弻鏇㈠醇濠垫劖效闂佺ǹ顑冮崝宥夊Φ閸曨垰鍐€闁靛⿵濡囧▓銈嗙節閳封偓閸曨剛顦伴梺鍝勭焿缂嶄線鐛Ο鍏煎枂闁告洦鍘归埀顒€锕娲偡閺夋寧些濡炪倖鍨甸ˇ鐢稿Υ娴e壊娼ㄩ柍褜鍓熼獮鍐ㄢ堪閸繂鑰垮┑顔筋殔濡寮ぐ鎺撯拻濞达綀妫勯崥褰掓煕閻樿尙肖婵炲棎鍨芥俊鑸靛緞婵犲嫷鍞甸梻浣芥硶閸o箓骞忛敓锟�