最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

多平台移动数据库系统的自由软件实现

IT圈 admin 30浏览 0评论

2024年5月12日发(作者:姓濯)

多平台移动数据库系统的自由软件实现

郭杏荣’周龙骇2张倪3        

  ,(中科院计算技术研究所,AL京100080)

2(中科院数学与系统科学研究院,北京100080)

3    (中科院软件工程中心,北京100080)

E-mai            l: coltommy@ 163.com

摘要论文讨论了移动计算环境下设计和实现移动数据库系统面临的问题,由此提出了一个基于自由软件、支持多平

台和异构、优化的“移动数据库一同步组件一中央数据库’,三级结构的设计和实现方案。着重论述了其中的关健技术,知移

动数据库的层次封装、同步流程、并发条件下的冲突检浏算法、系统组建及优化。依该方案已开发出一个面向应用的测试

系统,提供数据部署和同步、冲突处理及系统管理等功能,兼容并扩展了移动数据库应用编程规范。

关锐词移动数据库移动计算数据复制

文章编号1002-8331(2006)30-0167-04

同步技术冲突处理

中图分类号TP311文献标识码A

A Mobile Database System Implemented by Free

Software             on Multi-Platform

      GUO Xing-rong'                 ZHOU Long-xiang2  ZHANG Nil

'       (Institute of Computing Technology, CAS, Beijing 100080)

2 (Academy of Mathematics and Systems Science,CAS,Beijing 100080)

are

3 (Softw

Engineering Center, CAS, Beijing 100080)

Abstract: This paper discusses issues

n mobile computing

he design and implementation of mobile database

system

and

fferent

RDBMS 

environment,

on multi一

a considerable method which is based on free software, supports

di

platform and

uses an optimized 3-layer structure.Key technologies are given such as the wrapper of mobile database,

synchronization mechanism, conflict detection and reconciliation.Also,a testing system is intorduced, which is compatible

with and the API specification of mobile database is extended.

OR  

Keywords: mobile database,mobile computing,data replication,synchronization,conflict reconciliation

1引言

    随着移动计算技术的发展,它在许多领域出现或展露具有

广阔前景的应用,如公共信息发布、位置相关查询、移动商务、

未来战场指挥系统等,都依赖于移动数据库系统的支持。移动

数据库的发展将对人们使用信息的概念和模式带来全新的变

革。移动数据库技术在移动计算、普遍化计算领域属于有创新

的技术,相关研究成果可以转化为拥有自主知识产权的高科

技产品,因此对我国信息产业的发展有重要的现实和长远意

义‘5]。

本文从技术和产品的角度讨论了移动数据库系统开发和    

2系统开发和应用面临的问题

2.1技术上面临的问题

    在移动计算环境下,人们可以通过移动设备随时随地访问

所需信息。较之基于固定网络的传统分布计算环境,研究和开

发移动计算环境下的数据库技术面临许多新的特点和困难n.2[

诸如计算平台的移动性、连接的频繁断接性、网络通讯的非对

称性、系统的高伸缩性和低可靠性以及资源有限性等。

移动数据库应支持移动用户即使在断接情况下也尽可能    

访问所需数据,完成数据查询和事务处理。代表性的研究成果

是复制/缓存技术和数据广播技术。在采用基于复制的数据同

步[3]时,由于移动设备存储空间的限制或应用需要,移动数据库

(副本)通常对应中央数据库(主版本)的一个子集(同步集)。同

步过程包括上载和下载,上载将副本的更新提交到中央数据

库,下载则将同步集的更新应用到副本.同步使得系统趋于一

应用中面临的问题,同时给出了一个基于自由软件的设计和实

现方案。作为例子,介绍了一个由Hopen',Sglite',MobSync,和

PostgreSQL'组成的移动数据库系统,及其测试情况。最后总结

了该方案的技术特点。并提出了进一步的工作。

作者简介:郭杏荣,硕士研究生,研究方向为数据库技术,嵌人式应用开发。周龙骤,教授,博士生导师,研究领域为数据库系统实现技术、电子商务

等。张倪,        硕士,研究员,研究领域为嵌人式系统及软件开发。

,由北京凯思昊鹏公司开发的嵌人式实时操作系统,主要面向PDA、智能手机和机顶盒。

,一个嵌入式数据库,自由软件,官方网站是:http : //sglite.org o

3由本文作者所在项目小组开发的同步组件。

a一个大型数据库管理系统,自由软件,官方网站是:hap . //postgresgl.org.

计算机工程与应用2006.                     30   167

致。考虑到无线通讯带宽和成本的限制,采用增量数据同步方

式,即只传输上次同步后修改的数据[5,气

在多用户情况下,    多个副本对应一个同步集。当不同副本

修改同一数据并提交时,上载事务的不可串行化就引起冲突。

冲突是不可避免的,解决冲突的途径有冲突消解和副本回滚。

前者根据应用的预设策略消解冲突,使冲突事务满足可接受性

规则从而可以提交;后者指令移动数据库回滚,撤销副本的修

改。提供多种回滚方案和可定制策略的冲突消解接口能使用户

根据具体应用灵活选择。

为了获得较好的并发性能,中央数据库采用多版本数据库    

据库引擎;由于接口11的封装,移动设备可以使用符合上述封

装接口的不同移动数据库。此外,移动数据库对多平台的支持

很大程度取决于数据库引擎。因此,可选用支持多平台的数据

库引擎,并按可移植性标准编写程序代码。

同步组件Mo    bSync采用多线程技术,以模块化设计。通信

模块负责通信连接及数据传输。主线程为启动人口,以连接服

务模块建立服务并响应移动设备的连接请求,同时交由线程控

制模块分配服务线程。服务线程的核心模块是同步控制模块,

负责控制同步流程。认证模块负责检查移动设备和用户的合法

性,同时检查数据读写权限。冲突处理模块负责检测和消解上

载冲突。事务处理模块生成上载和下载事务。存取模块按系

统特定要求存取数据,提供与具体中央数据库无关的访问接

口。管理模块提供系统日志、性能监视、配置管理等系统级管

理功能。

管理系统[41。文献[[7]讨论了由此产生的问题及对应的并发控制

方案。对基于时间戳的同步策略而言,系统应保证并发条件下

时间戳产生机制的逻辑合理性,并设计对应的冲突检测算法。

此外,    针对移动计算环境的特点,通讯安全、故障处理、查

询优化等间题也需要特殊考虑。

3.2关健技术

3.2.1同步流程

2.2产品开发和应用中的问题

    移动数据库系统最终要走向应用。从产品的角度而言,开

发成本与周期、系统功能与性能、应用范围与前景无疑是着重

MobSync实现了一个简单的同步控制协议,    以“指令+参数”

的语法形式,规定了同步指令、状态和动作以及数据格式,控制

移动设备和同步服务器间的同步级操作。

下面给出一个典型的同步流程[    6,71,记移动数据库为MH,

同步服务器为MSS

(1)    MH根据日志,生成上载数据文件。

(    2)MH发送同步请求,MSS对用户名/密码和设备标识认

证,若无误则允许MH发送上载数据文件。

(    3)MSS解析上载数据文件,生成上载事务(取时间戳为

关心的问题。若从头研发一个功能完善的移动数据库系统,上

述问题对希望进人的开发者无疑是制约因素,在推广中还面临

着客户对于产品可靠性、可定制和可维护性等方面的苛求。同

时,能得到广泛应用的系统还应该考虑对多平台和异构数据库

的支持,并遵循一定的应用编程接口规范5。

3系统设计与实现

3.1总体结构

采用“移动数据库一同步组件一中央数据库”三级结构。移动    

T,),如检测到冲突则进行消解,若失败发回冲突信息;否则提

交事务并发回上载成功信息,将T,写人用户上次上载时间并

更新同步状态。

(    4)MH如收到冲突信息则进行副本回滚,并重新同步,如

上载成功则准备接收下载数据。

(    5)MSS生成下载事务(取时间戳为兀),取得MH上次同

步后同步集的更新数据,并向MH发送下载数据文件。

数据库具有占用内存小、可伸缩等适合移动设备的特点,支持

事务处理,并拥有数据同步功能;同步组件运行于同步服务器

上,作为枢纽以多种通信方式接受移动设备的同步请求,提供

数据同步和系统管理功能;中央数据库为成熟可靠、并发性好

的关系数据库管理系统。

移动数据库采用层次封装设计,    如图to

(    6)MH解析下载数据文件,生成事务更新副本,清空日

志,并反馈成功信息。

(    7)MSS收到MH应用成功信息,将Tz写人用户上次下载

时间并更新同步状态。双方结束同步。

MH的初始化是自动进行的,只需通过管理工具新建用    

户,设置必要信息即可。初次同步时,MSS先向其发送初始化脚

本,MH产生配置文件,并生成一个事务创建数据库,然后直接

进入下载过程。

设计中也充分考虑到故障处理,    为此规定:同步对MH是

独占性的,确保其它程序不能在同步过程中修改数据;只有在

圈1移动数据库的封装

其核心是嵌人式数据库引擎,    封装层包括存取子层和同步

子层。存取子层屏蔽了不同数据库引擎接口的差异,而向外提

供统一的访问接口I,其符合《规范》的数据库级接口要求。存取

子层还包含依附于数据库引擎的日志和回滚功能子模块。同

步子层实现数据同步功能,包括同步控制、通信连接、数据解

析等功能子模块,其封装接口II符合《规范》的同步连接级接

口要求。

由于接口I的封装,    移动数据库可以使用不同的嵌人式数

确认上载完成后,副本的日志才被清空,确保上载数据可再生;

MSS检查服务线程的有效性,确保服务线程与MH一一对应;

中央数据库记录经确认的用户同步状态,指示MH最近完成的

同步动作。这样,当意外因素导致同步故障后,再次同步即可。

3.2.2主要算法

3.2.2.1上载数据生成算法

    上载参考了基于语义的事务合并算法阎,将移动数据库的

所有事务的执行结果合并为一个上载事务,在中央数据库一次

5根据国家标准委员会2003年国标修订计划安排,交由人大数据与知识工程所、金仓公司起草的国家标准送审稿,其项目代号为:20030145-T-

339,文中简称(规范》。

168  2006.30计算机工程与应用

2024年5月12日发(作者:姓濯)

多平台移动数据库系统的自由软件实现

郭杏荣’周龙骇2张倪3        

  ,(中科院计算技术研究所,AL京100080)

2(中科院数学与系统科学研究院,北京100080)

3    (中科院软件工程中心,北京100080)

E-mai            l: coltommy@ 163.com

摘要论文讨论了移动计算环境下设计和实现移动数据库系统面临的问题,由此提出了一个基于自由软件、支持多平

台和异构、优化的“移动数据库一同步组件一中央数据库’,三级结构的设计和实现方案。着重论述了其中的关健技术,知移

动数据库的层次封装、同步流程、并发条件下的冲突检浏算法、系统组建及优化。依该方案已开发出一个面向应用的测试

系统,提供数据部署和同步、冲突处理及系统管理等功能,兼容并扩展了移动数据库应用编程规范。

关锐词移动数据库移动计算数据复制

文章编号1002-8331(2006)30-0167-04

同步技术冲突处理

中图分类号TP311文献标识码A

A Mobile Database System Implemented by Free

Software             on Multi-Platform

      GUO Xing-rong'                 ZHOU Long-xiang2  ZHANG Nil

'       (Institute of Computing Technology, CAS, Beijing 100080)

2 (Academy of Mathematics and Systems Science,CAS,Beijing 100080)

are

3 (Softw

Engineering Center, CAS, Beijing 100080)

Abstract: This paper discusses issues

n mobile computing

he design and implementation of mobile database

system

and

fferent

RDBMS 

environment,

on multi一

a considerable method which is based on free software, supports

di

platform and

uses an optimized 3-layer structure.Key technologies are given such as the wrapper of mobile database,

synchronization mechanism, conflict detection and reconciliation.Also,a testing system is intorduced, which is compatible

with and the API specification of mobile database is extended.

OR  

Keywords: mobile database,mobile computing,data replication,synchronization,conflict reconciliation

1引言

    随着移动计算技术的发展,它在许多领域出现或展露具有

广阔前景的应用,如公共信息发布、位置相关查询、移动商务、

未来战场指挥系统等,都依赖于移动数据库系统的支持。移动

数据库的发展将对人们使用信息的概念和模式带来全新的变

革。移动数据库技术在移动计算、普遍化计算领域属于有创新

的技术,相关研究成果可以转化为拥有自主知识产权的高科

技产品,因此对我国信息产业的发展有重要的现实和长远意

义‘5]。

本文从技术和产品的角度讨论了移动数据库系统开发和    

2系统开发和应用面临的问题

2.1技术上面临的问题

    在移动计算环境下,人们可以通过移动设备随时随地访问

所需信息。较之基于固定网络的传统分布计算环境,研究和开

发移动计算环境下的数据库技术面临许多新的特点和困难n.2[

诸如计算平台的移动性、连接的频繁断接性、网络通讯的非对

称性、系统的高伸缩性和低可靠性以及资源有限性等。

移动数据库应支持移动用户即使在断接情况下也尽可能    

访问所需数据,完成数据查询和事务处理。代表性的研究成果

是复制/缓存技术和数据广播技术。在采用基于复制的数据同

步[3]时,由于移动设备存储空间的限制或应用需要,移动数据库

(副本)通常对应中央数据库(主版本)的一个子集(同步集)。同

步过程包括上载和下载,上载将副本的更新提交到中央数据

库,下载则将同步集的更新应用到副本.同步使得系统趋于一

应用中面临的问题,同时给出了一个基于自由软件的设计和实

现方案。作为例子,介绍了一个由Hopen',Sglite',MobSync,和

PostgreSQL'组成的移动数据库系统,及其测试情况。最后总结

了该方案的技术特点。并提出了进一步的工作。

作者简介:郭杏荣,硕士研究生,研究方向为数据库技术,嵌人式应用开发。周龙骤,教授,博士生导师,研究领域为数据库系统实现技术、电子商务

等。张倪,        硕士,研究员,研究领域为嵌人式系统及软件开发。

,由北京凯思昊鹏公司开发的嵌人式实时操作系统,主要面向PDA、智能手机和机顶盒。

,一个嵌入式数据库,自由软件,官方网站是:http : //sglite.org o

3由本文作者所在项目小组开发的同步组件。

a一个大型数据库管理系统,自由软件,官方网站是:hap . //postgresgl.org.

计算机工程与应用2006.                     30   167

致。考虑到无线通讯带宽和成本的限制,采用增量数据同步方

式,即只传输上次同步后修改的数据[5,气

在多用户情况下,    多个副本对应一个同步集。当不同副本

修改同一数据并提交时,上载事务的不可串行化就引起冲突。

冲突是不可避免的,解决冲突的途径有冲突消解和副本回滚。

前者根据应用的预设策略消解冲突,使冲突事务满足可接受性

规则从而可以提交;后者指令移动数据库回滚,撤销副本的修

改。提供多种回滚方案和可定制策略的冲突消解接口能使用户

根据具体应用灵活选择。

为了获得较好的并发性能,中央数据库采用多版本数据库    

据库引擎;由于接口11的封装,移动设备可以使用符合上述封

装接口的不同移动数据库。此外,移动数据库对多平台的支持

很大程度取决于数据库引擎。因此,可选用支持多平台的数据

库引擎,并按可移植性标准编写程序代码。

同步组件Mo    bSync采用多线程技术,以模块化设计。通信

模块负责通信连接及数据传输。主线程为启动人口,以连接服

务模块建立服务并响应移动设备的连接请求,同时交由线程控

制模块分配服务线程。服务线程的核心模块是同步控制模块,

负责控制同步流程。认证模块负责检查移动设备和用户的合法

性,同时检查数据读写权限。冲突处理模块负责检测和消解上

载冲突。事务处理模块生成上载和下载事务。存取模块按系

统特定要求存取数据,提供与具体中央数据库无关的访问接

口。管理模块提供系统日志、性能监视、配置管理等系统级管

理功能。

管理系统[41。文献[[7]讨论了由此产生的问题及对应的并发控制

方案。对基于时间戳的同步策略而言,系统应保证并发条件下

时间戳产生机制的逻辑合理性,并设计对应的冲突检测算法。

此外,    针对移动计算环境的特点,通讯安全、故障处理、查

询优化等间题也需要特殊考虑。

3.2关健技术

3.2.1同步流程

2.2产品开发和应用中的问题

    移动数据库系统最终要走向应用。从产品的角度而言,开

发成本与周期、系统功能与性能、应用范围与前景无疑是着重

MobSync实现了一个简单的同步控制协议,    以“指令+参数”

的语法形式,规定了同步指令、状态和动作以及数据格式,控制

移动设备和同步服务器间的同步级操作。

下面给出一个典型的同步流程[    6,71,记移动数据库为MH,

同步服务器为MSS

(1)    MH根据日志,生成上载数据文件。

(    2)MH发送同步请求,MSS对用户名/密码和设备标识认

证,若无误则允许MH发送上载数据文件。

(    3)MSS解析上载数据文件,生成上载事务(取时间戳为

关心的问题。若从头研发一个功能完善的移动数据库系统,上

述问题对希望进人的开发者无疑是制约因素,在推广中还面临

着客户对于产品可靠性、可定制和可维护性等方面的苛求。同

时,能得到广泛应用的系统还应该考虑对多平台和异构数据库

的支持,并遵循一定的应用编程接口规范5。

3系统设计与实现

3.1总体结构

采用“移动数据库一同步组件一中央数据库”三级结构。移动    

T,),如检测到冲突则进行消解,若失败发回冲突信息;否则提

交事务并发回上载成功信息,将T,写人用户上次上载时间并

更新同步状态。

(    4)MH如收到冲突信息则进行副本回滚,并重新同步,如

上载成功则准备接收下载数据。

(    5)MSS生成下载事务(取时间戳为兀),取得MH上次同

步后同步集的更新数据,并向MH发送下载数据文件。

数据库具有占用内存小、可伸缩等适合移动设备的特点,支持

事务处理,并拥有数据同步功能;同步组件运行于同步服务器

上,作为枢纽以多种通信方式接受移动设备的同步请求,提供

数据同步和系统管理功能;中央数据库为成熟可靠、并发性好

的关系数据库管理系统。

移动数据库采用层次封装设计,    如图to

(    6)MH解析下载数据文件,生成事务更新副本,清空日

志,并反馈成功信息。

(    7)MSS收到MH应用成功信息,将Tz写人用户上次下载

时间并更新同步状态。双方结束同步。

MH的初始化是自动进行的,只需通过管理工具新建用    

户,设置必要信息即可。初次同步时,MSS先向其发送初始化脚

本,MH产生配置文件,并生成一个事务创建数据库,然后直接

进入下载过程。

设计中也充分考虑到故障处理,    为此规定:同步对MH是

独占性的,确保其它程序不能在同步过程中修改数据;只有在

圈1移动数据库的封装

其核心是嵌人式数据库引擎,    封装层包括存取子层和同步

子层。存取子层屏蔽了不同数据库引擎接口的差异,而向外提

供统一的访问接口I,其符合《规范》的数据库级接口要求。存取

子层还包含依附于数据库引擎的日志和回滚功能子模块。同

步子层实现数据同步功能,包括同步控制、通信连接、数据解

析等功能子模块,其封装接口II符合《规范》的同步连接级接

口要求。

由于接口I的封装,    移动数据库可以使用不同的嵌人式数

确认上载完成后,副本的日志才被清空,确保上载数据可再生;

MSS检查服务线程的有效性,确保服务线程与MH一一对应;

中央数据库记录经确认的用户同步状态,指示MH最近完成的

同步动作。这样,当意外因素导致同步故障后,再次同步即可。

3.2.2主要算法

3.2.2.1上载数据生成算法

    上载参考了基于语义的事务合并算法阎,将移动数据库的

所有事务的执行结果合并为一个上载事务,在中央数据库一次

5根据国家标准委员会2003年国标修订计划安排,交由人大数据与知识工程所、金仓公司起草的国家标准送审稿,其项目代号为:20030145-T-

339,文中简称(规范》。

168  2006.30计算机工程与应用

发布评论

评论列表 (0)

  1. 暂无评论