基于android平台的GTD事务管理系统(15)
时间:2026-01-16
时间:2026-01-16
第3章 Google android 移动平台下日程事务管理关键技术
的研究
3.1 数据持久化存储机制技术的研究 3.1.1数据持久化的意义
持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。
持久化是一种对象服务,就是把内存中的对象保存到外存中,让以后能够取回。
需要实现至少3个接口:
void Save(object o) 把一个对象保存到外存中
Object Load(object oid) 通过对象标识从外存中取回对象 bool Exists(object oid) 检查外存中是否存在某个对象 为什么需要持久化服务呢?那是由于内存本身的缺陷引起的:
内存掉电后数据会丢失,但有一些对象是无论如何都不能丢失的,比如银行账号,遗憾的是,人们还无法保证内存永不掉电。内存过于昂贵,与硬盘、磁带、光盘等 外存相比,内存的价格要高2~3个数量级,而且维持成本也高,至少需要一直供电吧。所以即使对象不需要永久保存,也会因为内存的容量限制不能一直呆在内存 中,需要持久化来缓存到外存。
既然持久化服务在看得到的未来还有市场,如何构建一个好的持久化框架,框架是否真的好在于如何在扩展性、缩放性、重用性上取得良好的平衡:
扩展性,如果一个持久性框架不能支持用户定义的类型,显然不是一个好的框架。
缩放性,保存和取回对象都需要耗费cpu、带宽、时间资源,哪一个消耗太多都不能接受。
重用性是建立框架的初衷,就是通过框架能够减少一些编码和测试的工作量。 持久化方案可以分为关系数据库方案、文件方案、对象数据库方案、xml数据库方案,目前 主流的持久化方案是关系数据库方案,关系数据库方案不仅解决了并发的问题,更重要的是,关系 数据库还提供了持久化服务之外的价值:统计分析功能。刚才我说到,凡是可以序列化的对象都可以持久化,极端的说,我们可以只建立一个表 Object(OID,Bytes),但基本上没有人这么做,因为一旦这样,我们就失去了
上一篇:01第一节_韭菜
下一篇:核安全基础(哈工程)