Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1405315
  • 博文数量: 277
  • 博客积分: 2551
  • 博客等级: 少校
  • 技术积分: 3918
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-21 22:46
文章分类

全部博文(277)

文章存档

2017年(3)

2016年(9)

2015年(65)

2014年(27)

2013年(85)

2012年(61)

2011年(27)

分类: 服务器与存储

2011-03-10 14:48:26

     嵌入式应用开发中,也是有可能出现很多的数据要存储、加工、搜索。
     但是又没有带数据库(因为资源的限制),其实数据库是个好东西,毕竟它可以做到与特定应用无关,
而文件,基本是与特定应用相关的,明显的某些文件只有特定的应用软件才能识别。
     如果没有数据库的话,就要将文件结构的设计提上日程了。文件结构的选择或设计不可能做到通用,
它不想数据库,一般都是特定的应用采用特定的组织方式。
     在嵌入式的环境下,要考虑设计得尽量简单,可靠,可调试,尽量高效,或许并没有大型应用环境下的可维护,可扩展性(面向对象的设计),毕竟很多电子产品只是昙花一现,没有必要提高它的开发成本,同时应用开发环境下的数据处理在容错方面都已经比较稳定(基础设施好),嵌入式方面还是不能比的。且业务逻辑方面,嵌入式还是比较单一。
 
 
     
     数据如何管理为好?
     (1)简单的方式(索引方式):基本文件和索引文件
      一个数据结构(表示一张表)对应一个文件,并配置一个索引文件,索引文件当然也是对应一个数据结构,可以是基本文件的一个简化版(可以只提供应用需要的几个关键字段和位置信息)。数据的追加,在上层
可以给出一个文件的最新写的位置,数据的搜索考虑一定的缓存,也要提供缓存的替换策略。
     (2)哈希方式:基本文件和哈希文件
        采用"基本桶"和"溢出桶"的方式组织数据,对关键字进行映射。
        优点: 数据可以随机存防,搜索方式很快
        缺点:数据的"桶"和"溢出桶"不好存储,当然可以用其他方式来处理,当数据量很大时,效率和性能会很差
        也就是数据在内存好存,不好在外存上进行数据的恢复
     (3)多重关键字:基本数据表和多个索引表
        可能会有一个基本表的数据要求有按多种关键字进行搜索的可能
         可以在基本表中建立记录的多个不同类型的数据链表(文件的指针就是偏移量)来跟踪
         它们,然后再建立若干的索引表,索引表的字段可包括: 某类型链表的头指针(偏移量)
         字段个数,尾指针(便于数据的添加)
         优点:对数据提供了很好的组合查询方式
               也可以对数据链的长度进行比较,减少查找时间
               数据的更新也是比较方便的
     (4)处理复杂的多关键字组合查询
         是对多重关键字的查询的变化,对类别相同的数据的多记录进行类似数组式的
         并排存储,相当于是一个集合,能比较快地完成集合的交、并处理
        
     (5)动态索引(B+树)
        未完 .............
 
 
     
    
     
    
 
 
    
阅读(1183) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~