引 言
嵌入式系统中一直很少使用数据库,因此对大部分人来说,很难想象 嵌入式数据库 在哪些场合才能发挥出优势。事实上,嵌入式数据库大致可在以下两大领域使用:
①会计、证券交易等业务的应用软件。在这类软件中应用,不是把数据库作为服务器端组成C/S结构,而是将数据库嵌入到应用程序(使之成为程序的一部分)进行使用。通常也称为“软件嵌入”。
②车载导航、路由器、信息家电、DVD记录装置、iPOD、机器人等嵌入式系统。在这类嵌入式系统当中,除了硬件部分外,还需用软件对其进行控制。这时将嵌入式数据库嵌入到这些硬件当中,可使系统的性能和效率大大提高。通常也称作“硬件嵌入”。
1 嵌入式数据库和企业级数据库的比较
现在常用嵌入式数据库的领域是汽车电子和信息家电等领域。嵌入式数据库软件同企业级数据库软件(如IBM公司的DB2、MICroSOFt公司的SQL Server、Oracle公司的Oracle Database)等相比,有以下不同点:
①内核足够小,可嵌入于应用程序和处理能力受限的硬件环境;
②性能高,比企业级数据库速度要快,实时性要求高;
③成本低,可嵌入手机、车载导航等批量生产的系统里;
④可裁减,能够根据实际需要增加或者减少必要功能模块;
⑤嵌入性,能够嵌入到软件系统或者硬件系统。对终端用户来说是透明的,他们在使用时意识不到嵌入式数据库的存在,能够免维护。
2 嵌入式数据库应用实例
2.1 FA领域的实例
下面举例介绍嵌入式数据库产品在控制仪器、数据收集装置中的使用。
FA(Faetory Automation)是采用计算机控制技术使工厂自动化,既可提高生产效益又可实现必要的功能。嵌入式数据库在FA领域已经广泛使用。
2.1.1 汽车碰撞 测试 装置
嵌入式数据库经常在汽车碰撞测试装置中使用,如图1所示。所谓汽车碰撞测试,是检验汽车安全性能的一种有效手段。在测试中,让汽车高速碰撞某个物体,然后收集嵌入在车体中各个部位的各种感应器所发出的数据,再对这些数据进行分析,这需要在碰撞的瞬间大量地收集和保存数据。这时,如何能尽快地保存数据是一个问题。为了解决这个问题,在汽车碰撞测试装置中使用嵌入式数据库,取得非常好的实际效果。
点击看原图
2. 1.2发电机监视装置
在美国夫型发电厂的发电机监视装置里,使用了嵌入式数据库。发电厂的发电机是非常重要的生产 设备 ,所以要严格管理以防发电机停机。发电机的监控装置通过收集发电机的各种数据进行监视,如图2所示。
点击看原图
这种需要实时监控的场合,在数据库里预先录入了监视数据用的程序模块,当莱数据进入“异常值”、“异常范围”,“警戒范围”的时候.这些程序模块会检测出这些数据,然后自动报警.同时通知监视中心有异常情况。这种数据收集也可用于发电机系统的模拟试验。
2.1.3监视引擎
在美国的大型飞机制造厂,为了收集引擎的测试数据和飞机内部机械的数据,在飞机上也装载了嵌入式数据库。在芙国的大型汽车制造厂的引擎废气排放测试装置里,也嵌入了数据库,废气排放测试的结果全部保存于数据库,以后的其他测试、分析以及模拟试验等环节就能有效利用这些数据。2008年奥运会所使用的环保巴士内也使用了嵌入式数据库。
2.1.4在FA领域中使用数据库的注意事项
在这个领域利用嵌入式数据库时,会有一些常见的典型问题,如往数据库写入数据的速度和性能等问题。一方面要求内存消耗量足够少,一方面又需要对大量数据的进行运算,所以必须同时满足两个相反的要求。再者,像发电机装置监视的例子那样,数据监视模块必须要嵌入到数据库中(在实际的嵌入式数据库中,这些监视模块主要是通过用户自定义的函数来实现数据的收集、监视和报警等)。
另外,在出现故障时能否通过事务处理和恢复注册等功能进行数据的恢复也很重要。
2.2车载导航的实例
2.2.1 车载导航的GPS与自动导航装置组合
车载导航系统在日本等发达国家已经普及,在中国实际使用者应该也有很多。不过对日常使用的车载导航,了解它的内部构造的人并不多。这里就有关车载导航的系统构造进行简单说明。
车载导航GPS(Global Position System,全球定位系统)是利用装有车速脉冲、罗盘传感器等的“自动导航法”装置,为正在驾车的驾驶员进行现在的位置及驶向目的地行驶路线导航的一种电子仪器。
2.2.2车载导航与地图信息的融合
车载导航正在朝以下各方向进化,即它不局限于检测出车辆自身的位置,还可以根据需要调出道路信息和地图信息等,并把这些信息和车辆的行驶状况相对照进行计算后提示给用户,如图3所示。为了得到这些信息,应在上装载DVD—ROM之类的存储 设备 。由于地图信息不是需要频繁更新的相对静止信息,DVD—ROM之类的ROM存储车载导航设备完全可以满足这些信息的处理要求。
点击看原图
2.2.3用车载导航处理交通信息
随着技术的发展,现在的车载导航系统把交通信息、堵车信息等也都反映在车载导航中了。因为这些信息要不断地被更新,所以ROM存储设备已很难满足需求了。
为此,许多最新的设计方案中用硬盘存储介质(HDD,Hard Disk Drive)代替ROM存储介质。这样,能够对多种信息进行更新的新一代车载导航产品问世了。另外,由于装载了HDD使得车载导航的运行速度变得更快。
2.2.4车载导航上追加媒体终端功能
现在可以播放音乐、能与因特网联网的具备个人电脑功能的车载导航系统已经出现了。另外,还可将电视功能作为标准配置装在车载导航系统上。电视机除了具有原先的模拟播放形式外,还具有点播方式的数字电视功能。
2.2.5现在的车载导航存在的问题
现在的车载导航还有许多功能不能满足客户的要求。例如:不能进行复合检索和模糊检索。所谓“复合检索”就是类似这样的检索要求:“要在距离人民广场10 km范围内并距离火车站3 km的范围内的地方寻找三星级以上宾馆”。所谓“模糊检索”是,只知道要检索的公司名或地点名的一部分,通过“中间一致”和“后方一致”的方式检索出所有匹配的类似目标。
大部分车载导航是通过使用ROM存储方式提供地图信息、店铺信息以及设施的数据来进行计算的,不能够随时对有变化的一部分数据进行更新,只能重新再制作一张DVD—ROM,对所有的信息进行一次性的完全更新。
除此以外,不同的使用者应该可以设定自己的个性化数据,即在使用车载导航时,根据个人的身份数据的不同,应能产生不同的检索结果(这被称为“个性化功能”)。在目前的车载导航上还不能够实现这种功能。
要实现这些功能,必须使用 嵌入式数据库 。
2.2.6 数据库用在车载导航场合能实现的功能
下面再详细说明一下嵌入式数据库在装入车载导航装置后能实现的新功能。
在检索功能方面,不但能实现上面的复合检索和模糊检索等,还能实现空间检索。所谓的“空间检索”,就是能在二维地图上进行检索。具体地说,就是手机带有的道路向导和车载导航的路由检索功能中预先把坐标数据和属性数据保存于数据库中,在检索条件里设定一个空间范围(比如:离某地几km内,同时在另外一个范围内。类似二个圆的交集)。
个人住所地址或店铺名称等发生更改时,使用嵌入式数据库的优势就体现出来了。例如“A百货店”改为“B百货店”时,要是不更换新的DVD—ROM就一直是“A百货店”,如果换上新的DVD—ROM就会变成“B百货店”,“A百货店”就不能被检索了,二者都是不能被接受的。这时如果使用嵌入式数据库,则在一定的时期内对输入的“A百货店”或“B百货店”都能进行检索;过了一定时期后,还可以删掉“A百货店”,只让“B百货店”成为检索对象。