移动数据库这个概念,在五年前也许很多人闻所未闻。但是现在,其具体的应用已经十分广泛。刚接触这个概念的读者可能会疑惑,什么是移动数据库呢?简单地说,数据并不是纯粹地存储在服务器或PC机上的,也可以存放在内存和处理性能受限的移动设备上。这些安装在移动设备上,用来管理和操作数据的系统就是所谓的移动数据库。
很多情况下都需要在移动设备上储存一些数据。在移动数据库还没有诞生前,所有的数据都是存放在文件中,当数据量比较大时,对数据进行检索、删除等操作的效率是非常低下的。现在很多公司考虑到移动设备的多样性,普遍使用XML来保存数据,虽然XML是一种和平台无关的文档标准,但是因为当前移动设备的处理能力限制,因此解析一个包含较多数据的XML文件时,其性能的开销是无法满足实际的需求的。而移动数据库之所以能够称为数据库,就是指移动数据库可以包含的数据量可以达到相当程度的规模,而并非少量的数据(几十或几百条记录)可以比拟的。
在本专题中,将围绕两个重点进行展开:一个就是微软的移动数据库—SQL Server 2005 Compact Edition。另一个就是“使用.Net Compact Framework开发移动版的数据管理系统”。希望通过该专题,可以使读者在移动版的数据管理系统的开发方面更加得心应手。
移动数据库的应用
在移动设备上安置一个移动数据库,这样做是否有意义?相信很多人会有这样的疑问,而且有很多开发经验的程序员当初听到笔者在应用移动数据库开发系统时,也是非常的不可思议。不过,你可以进一步考虑下,如果资料信息能够进步到方便携带且更容易随身获得,将具备如下的好处:
1.减少中心服务器的负载
目前的绝大多数系统都需要前端程序从中心服务器数据库中获取数据信息,如果存在大量的访问请求的话,中心服务器将会处于非常繁忙的状态,这时就会产生性能的瓶颈问题。为此,微软提出了智能客户端这个概念,使得程序即可以在离线状态下工作,也可以在联网状态下运行。如果我们可以将中心服务器数据库中的部分数据保存到移动数据库中,这样很多的功能实现就可以直接在移动设备端完成,大幅度减少了中心服务器的负荷和压力。
2.资料可以随时取得
当你出门在外,而且是网络断开的情况下,我们就可以预先将一些数据存放到移动数据库中。当需要的时候,就可以直接查询移动数据库中存储数据,以获得相应的信息。当网络连通时,我们还可以从服务器加载最新的信息到移动数据库中,或是将移动数据库中的数据改变传回到服务器上。下面是“信息资料可以随时获取的”几种情形:
2.1行业解决方案
目前,根据各个行业的特点,很多公司都采用了满足其户外工作人员需求的行业解决方案。比如刚刚进入中国市场的某快递公司就是采用了一套移动解决方案。投递员在开始一天的工作时,就可以直接通过PDA查看今天将要发送的所有包裹的信息,例如包裹的收件人、收件地址和联系方式,并且还可以给出一个最佳的投递路线。除此之外,当包裹送达后,客户还可以直接在PDA上进行签名以确认货物的送达,而后投递员就可以将客户签名和货物送达信息直接通过无线网络传递给中心服务器,避免了一系列的“纸上操作”过程,大大加快了工作的效率。
现在很多政府部门也在逐渐采用无线解决方案来提高工作效率。比如北京政府的很多部门都使用了移动办公系统,无论何时何地,通过移动办公系统可以处理公文审批、人事管理、绩效审核等管理工作,有效解决因出差、会议等延误时间的问题,极大提高办公效率。此外,部门内部可通过短信定位发送、群组发送的形式进行会议/活动通知、日程安排提醒、邮件/公文流转提醒。
2.2交通路线查询系统
在北京、上海和广州等大城市,交通出行是一个非常大的问题。如果我们可以将某个城市的交通路线信息都保存到移动数据库中,日后出行时就可以通过携带的移动设备方便的查看乘车路线。如果开发这类的程序,可以根据不同的需求采用不同的实现方法。最简单的一种就是将城市的所有路线信息都保存到移动数据库中,这样做的缺点就是缺乏灵活性,当城市的某些路线发生变化时,无法实时地获得最新的路线信息。当然,我们也可以通过网络从中心数据库检索信息,而后存放到移动数据库,这样不但可以具备较好的实时性,而且减少了多次联网带来的费用问题。