×

嵌入式移动数据库的特点及关键性技术分析

消耗积分:1 | 格式:rar | 大小:0.4 MB | 2017-10-26

分享资料个

移动环境中所具有的移动性、频繁的断接收、低带宽、电池电量有限性等特性,决定了移动数据库中的计算环境不同于分布式数据库,给移动数据库的研究提出了许多新的挑战。本文分析移动数据库的特点、体系结构;介绍移动数据库系统中的一些关键性技术,及移动Agent在移动数据库中的应用。
  移动数据库是移动计算环境中的分布式数据库,由于移动数据库的应用大都嵌入到诸如掌上电脑、PDA、车载设备等移动通信设备中,故移动数据库有时也称为嵌入式移动数据库。在数据库系统的研究历史中,传统的分布计算与分布数据库的研究是基于有线网络和固定主机的。这些都采用了一些默认的隐含假设,例如固定网络连接、对等通信代价、主机节点固定不变等。但进入20世纪90年代以来,随着移动通信技术和网络技术迅速发展,加之移动计算机和移动通信设备的大量普及,许多计算节点可以在移动过程中与网络建立连接,使得上述假设条件不成立。移动计算环境具有移动性、低带宽、频繁断接性、网络通信的非对称性、电源电力的有限性等特点,使得传统分布式数据库中的方法和技术不断直接应用于移动数据库。目前,移动数据库的应用与研究正在成为学术界的一个研究热点,有大批学者投入到这一新的研究领域。
  1 嵌入式移动数据库的体系结构
  在传统的分布式计算系统中,各个计算节点之前是通过固定网络连接并保持网络的技术连接性的,而移动计算系统改变了这种假设条件。移动计算系统是固定节点和移动节点构成的分丰计算系统。移动计算的网络环境具有鲜明的特点:移动性、断接性、带宽多样性、可伸缩性、弱可靠性、网络通信的非对称性、电源能力的局限性等。移动环境中的分布式数据库就是移动数据库。它是传统分布式数据库系统的扩展,可以看作客户与固定服务器节点动态连接的分布式系统。移动数据库系统的结构如图1所示。
  嵌入式移动数据库的特点及关键性技术分析
  其中,移动客户机MC(Mobile Client)包括便携式电脑、PDA等;MSS(Mobile Support Station)支持移动计算的固定节点,具有无线通信接口;FH(Fixed Host)没有无线通信接口,安装有数据库和数据库管理系统。
  2 嵌入式移动数据库的关键技术
  为了实现移动数据库,必须解决移动计算环境中断接性、移动性、网络通信的不对称性等因素对移动数据库系统的影响。
  (1)数据复制与缓存技术
  该技术是解决移动数据库数接性的关键技术,在现有DBMS基础上进行修补以适应移动计算也采用该技术。传统的复制/缓存技术都是假设客户机和服务器之间是经常保持连接的,并基于这个前提来维护一致性。这在移动计算中是不适用的。目前,针对移动计算特点开展数据复制/缓存技术的研究最具代表性的是:J.Gray的两级复制机制、CODA系统以及缓存失效报告广播技术等。另外,SYBASE公司的移动数据库产品SQL ANYWHERE和SQL REMOTE也采用该技术来支持移动计算环境。
  (2)数据广播
  通俗地讲,数据广播是指在移动计算环境中,利用客户机与服务器通信的不对称性,以周期性广播的形式向客户机发送数据。其最大的优点是,广播开销不依赖移动用户数量的变化而变化,借助数据广播,可以在一定程度上解决移动数据库系统的断接问题。数据广播的研究可分为服务器和客户机两个方面:服务器主要考虑如何利用本地缓存进一步减少查询广播数据的时间。在国内,长沙国际科技大学的周兴铭院士对数据广播进行了深入研究,提出了数据广播的多盘调度算法。衡量数据广播调度算法好坏的参数是访问时间和调谐时间。
  (3)位置相关查询优化
  在移动数据库中,存在着与位置相关信息的查询及更新。查询通常是与位置相关的,即使是同一个问题,在不同的地方,所得查询结果是不同的,如“最近的医院在哪里?”。移动查询优化技术是指在传统分布式数据库查询优化技术的基础上,利用多种方法,消除带宽多样性、断接等因素造成的影响,使查询引擎能够根据当前可用网络条件采取恰当的优化策略;同时,针对移动计算机有限电源能力,合理地组织本地数据库管理、远程数据库访问等耗电能较多的操作,达到节能目的,延长关键数据的可用时间。
  嵌入式移动数据库的特点及关键性技术分析
  采用基于分割的地址更新策略时,由位置服务器维护的移动用户对象包含以下数据成员和方法:
  分割集合——记录MSS的分割情况,例如{Cell1,Cell2},{Cell3,Cell4,Cell5};
  LOC——记录移动用户最近报告的地址(无线单元的ID),例如Cell1;
  ERR——移动用户当前所在的分割,例如,若LOC=Cell1,则ERR={Cell1,Cell2};
  loc()——一个方法,用于返回该用户的实际地址,即上面介绍的地址查询过程。
  在移动查询的应用中,有各种各样涉及地址的查询,例如“请寻找一名校园附近的医生”,“查找X,Y,Z,这三人都在同一条公路上,且Y在X与Z之间”,等等。一般地,可以把这一类地址相关查询表示为:
  SELECT x1,x2,…,xn
  FROM Users
  WHERE(x1,loc=11∧…∧xn.loc=1n)∧C(11,…,1n)∧W(x1,…,xn)
  其中C(11,…,1n)是关于地址11,…,1n的n元约束条件,而W(x1,…,xn)是关于对象x1,x2,…,xn非地址属性的n元约束条件,Users是所有移动用户的集合。
  (4)移动事务处理
  事务处理是数据库管理系统的一个基本功能,主要用于维护数据的一致性,支持多用户的并发访问,使用户可以可靠地查询和更新数据库。一般来说,用户对数据库系统的访问都是通过事务来完成的。在传统的数据库系统中,一个事务由一系列读写操作组成。事务处理必须满足四个准则,即原子性、一致性、隔离性和永久性(简称ACID)。移动计算环境的特点,使传统数据库系统中的事务处理技术不能满足移动事务处理的要求。
  通常,将移动客户机发出的事务叫移动事务,它属于分布事务。移动事务处理具有以下特点:
  ①移动性。这不仅指移动事务执行期间,发出事务的移动客户机是移动的,而且事务本身也在相应地移动。
  ②长事务。由于无线网络通信的低带宽、高延迟以及移动客户机的频繁断接性,都可能使移动事务成为长事务。
  ③易错性。由于移动客户机不如固定结点可靠,而且无线网络通信也不如固定网络稳定,因此,与一般事务相比,移动事务更容易出错。
  ④异构性。由于客户机的移动性,移动事务可能要访问分布的异构数据库系统。
  总之,移动事务不同于传统事务,传统的ACID模型已不能很好地描述移动事务,需要为移动事务寻找更好的模型。维护数据的一致性和解决过区切换(handoff)问题是移动事务管理的重要任务。
  3 移动Agent技术
  Agent的研究起源于人工智能领域。Agent是指模拟人类行为与关系,具有一定智能并能够自主运行和提供相应服务的程序。移动Agent是一个能够在异构网络中自主地从一台主机迁移动另外一台主机,并可与其它Agent或资源交互的程序。实际上它是Agent技术与分布式技术的混血儿。移动Agent具有自主性、移动性、协作性、安全性、智能性等特性。
  传统的分布式计算基于Client/Server体系结构,其带宽耗费严重,网络负载不均衡,容错能力较差。移动Agent作为全新分布式计算工具,通过将自身代码、状态传送到远程主机,并在远程主机执行的方式克服了Client/Server方案的不足之处,因而成为分布式计算的主要发展方向之一。
  与Client/Server方案相比,移动Agent具有以下几大优势:移动Agent通过移动到服务器端工作并把最终数据传回客户机,可以节省网络带宽;移动Agent减少了费时的网络传输,并且在规模较大的数据库操作中Agent能实现本地操作,可以节省时间;移动Agent移动到服务器端直接传回最终结果,避免了中间数据的传输延迟;一旦移动Agent从客户端传输到另一台主机上,这台机器就可以和网络断开连接直到想回收Agent或再次传送Agent,即整个系统可工作在异步方式;移动Agent可以轻易地从一个平台移动到另一个平台,它们带着自身代码移动到目的机器上无须预先安装就能运行,可以很方便地实现负载平衡;移动Agent可以感知环境的变化并作出反应,多个移动Agent可以动态地调整分布以维护最优配置。
  基于移动Agent嵌入式移动数据库改革了传统的远程查询数据库的SQL查询方法,把查询任务存储到一个可通过网络进行移动的Agent上,Agent将移动到服务器上,执行查询并在座结论,然后返回到用户并打印结果。在这个过程中,我们把查询任务分解为单个的查询方法,而这些指令在网络上的合适地点会被唤醒并执行。通过将移动Agent技术引入嵌入式移动数据库中,有助于实现嵌入式移动数据库查询优化。
  结语
  移动计算的研究覆盖了许多领域,如移动硬件设备、移动通讯、移动联网技术、无线WWW访问、移动数据库技术、无线客户/服务器应用等。随着互联网和无线通讯技术的发展,移动数据库的需求正在不断增加,其技术正在成为国际数据库界的一个研究方向。由于移动数据库自身的移动性、断接性、带宽的有限性、网络通信的非对称性以及电源电量的有限性等特性,决定了移动计算环境不同于传统的分布计算。Agent技术是计算机领域的一个研究热点,是一个能独立运行的智能体。现在,将移动Agent技术应用于分布式系统和网络管理等方面取得了很好的效果。总之,随着人们对信息需求的不断增加,无线网络和通信技术的不断进步,移动数据库领域的研究大有希望,必将为人类带来巨大的商业和社会价值。
 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.lene-v.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'嵌入式移动数据库的特点及关键性技术分析',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.lene-v.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);