主权项 |
1.一种嵌入式移动数据库的节能存储方法,其特征在于:1)在终端上的嵌入式移动数据库中添加访问决策层;终端上的嵌入式移动数据库系统可分为以下几个层次:SQL语言翻译层/接口层、数据存取层、数据存储层;在数据存取层和数据存储层之间添加访问决策层,其主要功能为:保存了每个设备的注册信息和与每个设备对应的写队列,接受上层的对数据片段的访问,并进行访问设备的决策;该层是整个嵌入式移动数据库达到节能的最关键的一层;2)注册多个存储设备,并将注册信息保存在访问决策层;嵌入式移动数据库支持多种存储设备,通过注册来增加支持的存储设备;一个设备的注册需要提供设备的功耗w、在各种状态下读写数据的延迟l、同时指定此设备所能提供用于数据库存储的空间大小S;每个设备的注册信息保存于访问决策层,作为数据访问时的决策依据;每个设备注册后数据库系统即在内存中为此设备维护一个写队列;3)修改全局数据字典的分布模式;分布式数据库系统在内存中维护了一个全局数据字典,存放了全局概念模式、分片模式、分布模式的定义,以及各模式之间映象的定义,存放有关用户存取权限的定义和数据完整性约束条件的定义;根据分片模式得到的片段,在物理上分布在各种存储设备和中心数据库上,修改后的分布模式根据选定的数据策略,定义各片段物理上的存放位置,即把一个片段与多个设备建立起一种一对多的映象;4)数据存储层的读写;a)读数据:第一步,上层的应用程序读请求;用户分布式查询请求通过SQL语言翻译层/接口层,数据存取层,使用户的查询请求落实到合适的数据片段上,并将这些数据片段交给了访问决策层;第二步,选择存储设备;通过数据字典中的分布模式,将拥有请求数据片段的设备加入候选设备;访问决策层根据注册设备提供的信息和用户指定的访问策略参数在候选设备中选择最佳设备进行访问;决定一个存储设备的访问优先度需要考虑两个因素:设备的功耗,设备的访问延迟;用于计算设备访问的优先值的公式为:T=(w/W)*k+(l/L)*(1-k)其中:T为设备访问的优先度,值越小优先度越高,w是注册设备的功率,l设备的访问延迟,W所有注册设备的平均功耗,L所有注册设备的平均延迟,k为用户指定参数,用于权衡数据访问功耗和响应速度两者的优先考虑程度,其值介于0到1之间;第三步,从数据存储层读取数据;在对选择设备进行读操作时,先查看写队列中是否有针对此块的写操作,如果存在,将写队列全部写入此设备,再进行读操作;若请求的数据片段只存在于中心数据库中,则通过网络通信层,从中心数据库中读取相应的数据片段,并将相应数据片段加入每个设备的写队列;对于某些延迟过大的设备,为提高响应速度,在读取数据时采取了另一策略:访问决策层先将系统切换成通过网络访问中心数据库的方式,在其延迟时间中,进行数据片段的读取,当到达设备注册所指定的延迟时间后,再将访问对象指向本地设备;对于同时分布在不同设备的数据片段,在用户允许的条件下,进行并行操作,进一步提高数据读取速度;b)写数据:第一步,上层的应用程序写请求;用户的数据更新请求通过SQL语言翻译层/接口层,数据存取层,转化为对分布式数据库片段的更新操作,并将这些更新操作交给了访问决策层;第二步,将操作加入写队列;访问决策层收到写操作,即修改、删除、增加,将这些操作加入每个设备的写队列,并修改数据字典中分布模式;第三步,访问数据存储层,将队列中的操作写入对应设备或中心数据库;当出现以下几种情况时将启动写进程将写队列里的操作写入存储介质或通过通信管理层,写入中心数据库,操作完成后,将清空或删除队列:(1)队列达到设定的长度,写入后清空队列;(2)达到设定的写回时间,写入后清空队列;(3)当前读操作对应的块存在于写队列中,写入后清空队列;(4)将某一设备从数据库中注销时,写入后删除队列;写队列写入存储介质的操作采用FIFO顺序进行,以保持数据的一致性。 |