(4)产生广播调度程序。
● 将每个盘分割成若干块。首先,求得所有盘的广播频率的最小公倍数LCM;然后,将每个盘Bi分割为num_chunks(i)=LCM/fi个相同大小的块,记为Cij ,j=1,……,num_chunks(i)。若Bi不能整分,则在不满的块中填充空闲数据。
● 按如下程序交错广播各盘的块,生成广播调度。
For(i=0; i
For(j=1; j=k; j++)
广播块 Cj(i mod num_chunks(j));
3.3 位置相关查询优化
在移动数据库中,存在着与位置相关信息的查询及更新。查询通常是与位置相关的,即使是同一个问题,在不同的地方,所得查询结果是不同的,如“最近的医院在哪里?”。移动查询优化技术是指在传统分布式数据库查询优化技术的基础上,利用多种方法,消除带宽多样性、断接等因素造成的影响,使查询引擎能够根据当前可用网络条件采取恰当的优化策略;同时,针对移动计算机有限电源能力,合理地组织本地数据库管理、远程数据库访问等耗电能较多的操作,达到节能目的,延长关键数据的可用时间。
采用基于分割的地址更新策略时,由位置服务器维护的移动用户对象包含以下数据成员和方法:
分割集合——记录MSS的分割情况,例如{Cell1,Cell2},{Cell3,Cell4,Cell5};
LOC——记录移动用户最近报告的地址(无线单元的ID),例如Cell1;
ERR——移动用户当前所在的分割,例如,若LOC=Cell1,则ERR={Cell1,Cell2};
loc()——一个方法,用于返回该用户的实际地址,即上面介绍的地址查询过程。
在移动查询的应用中,有各种各样涉及地址的查询,例如“请寻找一名校园附近的医生”,“查找X,Y,Z,这三人都在同一条公路上,且Y在X与Z之间”,等等。一般地,可以把这一类地址相关查询表示为:
SELECT x1,x2,…,xn
FROM Users
WHERE(x1.loc=11∧…∧xn.loc=1n)∧C(11,…,1n)∧W(x1,…,xn)
其中C(11,…,1n)是关于地址11,…,1n的n元约束条件,而W(x1,…,xn)是关于对象x1,x2,…,xn非地址属性的n元约束条件,Users是所有移动用户的集合。
这种位置相关查询需要检查各个对象的实际地址是否满足约束条件而这些实际地址必须进行地址查询才能得到,因为位置服务器只提供分到一级不精确的地址。因此,要求得位置相关查询的最终答案,必须先查询足够的精确地址信息。若对这一类查询进行适当的优化,可以大大减少查询地址信息所需的通信开销。
4 结束语
嵌入式移动数据库将随着各种移动设备、智能计算设备、嵌入式设备的发展而迅速发展。它将在未来的军事、航空、国土资源管理、移动医疗等领域中扮演越来越重要的角色。嵌入式移动数据库是一个崭新的研究课题,至今还有许多问题有待解决,在移动数据库技术逐步走向成熟的时候,必将产生巨大的商业和社会价值。
本文作者创新点:
鉴于移动计算环境中客户机与服务器通信的不对称性和数据传输的断接性问题,笔者提出了三层复制体系结构和多盘调度算法,并对部分问题探讨了其初步的解决方式。
参考文献:
[1]D Barara. Mobile computing and database — A survey. IEEE Trans on Knowledge and Data Engineering. 1999,11(1):108~117.
[2]王珊 ,丁治明. 移动计算中的移动数据库[N]. 微电脑世界, 2001,8.25
[3]胡虚怀,郑若忠.移动数据库及其关键技术[J]. 计算机系统应用,2000,5(1):29~32.
[4]王磊,邵时.移动数据库中广播技术的研究:[硕士学位论文][D]. 上海:华东师范大学计算机科学技术系,2004. 13~15.
[5]李东,曹忠升. 移动数据库技术研究综述[J]. 计算机应用研究, 2000,(10):4~7
[6]牛立新,关永,刘旭敏. 嵌入式移动数据库研究[J], 微计算机信息, 2006,第22卷第1-2期,85-87页转251页.