您的当前位置:首页正文

基于MySQL的嵌入式移动数据库系统研究

来源:个人技术集锦
第20卷第3期 河南机电高等专科学校学报 V01.2O№.3 2012年5月 Journal of Henan Mechanical and Electrical Engineering College May.2012 基于MySQL的嵌入式移动数据库系统研究 孙 波,刘 丹 (河南机电高等专科学校计算机科学系,河南新乡453000) 摘要:嵌入式移动数据库技术目前已经从研究领域逐步走向广泛的应用领域。本文主要对嵌入式MySQL移动 数据库及其构造进行论述,分析了MySQL移动数据库的特点、体系结构并介绍了MySQL移动数据库系统中的一 些关键性技术。 关键词:嵌入式系统;移动数据库;MySQL 中图分类号:TP392 文献标识码:A 文章编号:1008—2093(2012)03—0041—04 1 引言 MySQL服务器提供了许多通过API(Application Programming Interface,应用程序接1:3)来访问数据库 随着通讯科技及相关硬件设备的不断发展,各 系统的函数。通过API,宿主系统可以通过编程充分 类移动设备的图形用户界面越来越人性化,高端的 利用MySQL服务器的强大功能。这些功能包括以下 智能手机对数据的处理速度和存储能力都逐渐接近 这些: 于传统的电脑,而手机灵活方便的通话能力却又是 创建和连接一个服务器实例; 传统电脑所不具备的。人们将会更习惯于用手机办 与服务器断开连接; 公,而不再是坐在电脑前。 安全地关闭服务器; 嵌入式移动数据库系统(embedded mobile data— 调整服务器的启动选项; base system)是支持移动计算或某种特定计算模式的 处理各种错误; 数据库管理系统。这种数据库系统与操作系统、具 生成DBUG踪迹文件; 体应用集成在一起,运行在各种智能型嵌人设备或 发出查询命令和检索查询结果; 移动信息设备上。需要使用嵌入式移动数据库的主 管理数据; 要有掌上计算机、PDA、车载设备、智能手机等一些设 使用MySQL服务器的全部功能。 备。嵌入式系统具有要求独特、平台种类繁多、资源 嵌入式MySQL数据库按照它们在宿主系统里的 有限等特点,导致这些数据库在应用到各个具体的 嵌入深度,通常可以分为三类: 嵌入式系统中时,需要根据系统具体特性进行个性 1)服务器级嵌入。这类数据库系统只是部分地 化配置…。本文将讨论基于MySQL的嵌入式移动 隐藏在另一种操作界面的后面,由独立型MySQL服 数据库管理系统。 务器构建的系统。这种级别的嵌入式MySQL服务器 2嵌入式MySQL数据库 就是一个独立型嵌入式MySQL服务器,只是它的网 络访问功能(TCP/IP)被禁用了。 MySQL是瑞典MySQL AB公司开发的一个轻量 2)平台级嵌入。这种嵌人式系统要比服务器级 级、小型关系型数据库。MySQL使用精简代码编写, 别嵌人有更多的限制,虽然它使用的仍然是一个独 在运行时需要较少的内存。MySQL代码开源,成本 立型的MySQL服务器,但是这个MySQL服务器已经 低并且可移植到不同硬件平台。此外,MySQL采用 与外界彻底隔离了,访问这个MySQL服务器的唯一 优化的SQL查询算法,有效地提高了查询速度 。 办法是通过其宿主系统提供的客户端接口。 .qz稿日期:2012-02-20 作者简介:孙波(1983一),男,河南新乡人,硕士,主要从事人工智能、计算机应用研究。 41 河南机电高等专科学校学报 2012年3期 3)深度嵌入。深度嵌入比平台级嵌入还要严 2)移动支持结点(Mobile Support Station,MSS) 格,这种嵌入式系统把MySQL系统用作一个集成组 也位于固定高速网络中,并具有无线联网能力,它们 件,被嵌入的MySQL系统不仅无法从网络直接访问, 用于支持一个无线网络单元,该单元内的移动信息 连各种常用的MySQL客户端应用程序也不能直接访 设备既可以通过无线方式与移动支持结点通信,从 问。使用一个深度嵌入式MySQL系统最大的好处是 而与整个固定网络连通,也可以接收由移动支持结 它可以提供一个与外界几乎完全隔离的MySQL系 点发送的广播信息。移动支持结点可以是台式计算 统,让被嵌人的MySQL系统只向其宿主系统提供服 机,也可以是笔记本计算机。同一台机器可以既做 务。 数据服务器又做移动支持结点。 运行嵌入式服务器所需要的资源取决于它的嵌 3)移动信息设备(Mobile Information Device, 入深度。若使用的是服务器级嵌入或平台级嵌入, MID)可以是笔记本计算机,也可以是掌上计算机、 所需要的资源将与独立型服务器一样。但如果使用 PDA、车载设备、智能手机之类的嵌入式系统。它的 的是深度嵌入的MySQL系统就不同了,它一般需要 处理能力与存储能力相对于数据服务器来说非常有 2MB左右的内存——它的宿主系统所需要的内存不 限,但可以在各个无线网络单元之间移动,并且经常 包括在内。经过编译的嵌人式服务器会让可执行文 与数据服务器断接。即使在与数据服务器保持连接 件的内存占用量稍微加大一些,但一般不至于成为 时,其网络带宽和可靠性都比较低,网络延迟也比较 负担或无法管理。 大。 由此,可以使得嵌入式MySQL的优点显现出来, 移动计算环境的构造如图1所示如下: MySQL嵌入式API使得开发人员可以在另一个应用 程序的内部使用一个全功能的MySQL服务器。最主 要的优点包括:提高数据访问速度。因为MySQL服 务器是其宿主系统的一部分,或者与其宿主系统运 行在同一台机器里,所以能够较快地进行访问;有内 建的数据库管理工具;有一个非常灵活的存储和检 索机制。 3基于MySQL的嵌入式移动数据库 嵌入式移动数据库管理系统的作用主要是解决 移动计算环境下的数据管理问题,所以嵌入式数据 库也被称为嵌人式移动数据库或移动数据库[3]。 在移动计算环境中有固定结点和移动结点两类 图1 移动计算环境构造图 不同的计算结点。它的用户不再固定地停留在某一 与移动计算环境中的多种结点相对应,一个完 位置上,而是携带着移动信息设备自由地移动,并在 整的嵌入式MySQL数据库系统是由多个子系统组成 移动的同时通过移动通信网络保持与固定结点或其 的。这些子系统有些是运行在移动信息设备上,有 他移动结点的连接。此外在移动计算环境中还需要 些是运行在移动支持结点上,有些则是运行在 有专门用于连接各种结点的结点。因此,在移动计 MySQL数据服务器上。各子系统之间通过通信线路 算环境中应当有数据服务器、移动支持结点、移动信 相互连接。从地域上看,它们可能会分布在很广的 息设备等3类结点。 范围之内 J o 1)数据服务器(Data Server,DS)一般为固定结 一个嵌人式MySQL数据库系统一般由位于移动 点,每个数据服务器上有一个称为主数据库的本地 信息设备上的嵌入式数据库管理系统和嵌入式数据 数据库,数据服务器之间由可靠的高速互联网络连 库以及位于移动支持结点之上的同步服务器所组 接在一起,构成一个传统意义上的分布式数据库系 成。从广义上讲,还应包括位于MySQL数据服务器 统。数据服务器可以处理移动信息设备的联机请 之上的主数据库管理系统和主数据库。 求,并可以保存所有请求的历史记录。 , 嵌入式MySQL数据库管理系统是一个功能独立 42 孙波等:基于MysQL的嵌入式移动数据库系统研究 的单用户数据库管理系统,它可以独立于同步服务 器、主数据库管理系统运行,对嵌入式MySQL数据库 中的数据进行管理;也可以通过同步服务器连接到 主数据服务器上,对主数据库中的数据进行操作。 嵌入式MySQL数据库管理系统可以通过多种方式与 较好的适应性,能够很好地满足实际当中的具体需 同步服务器相连接。 要。 ④网络通信能力不对称; ⑤移动设备的资源有限; ⑥可靠性、安全性较差。 而嵌入式MySQL数据库对以上几个方面都能有 同步服务器是嵌入式MySQL数据库和主数据库 4构建嵌入式MySQL移动数据库 之间的一个连接枢纽,它在主服务器上的主数据库 和移动信息设备上的嵌入式数据库之间建起了一座 连接的桥梁。一个同步服务器能够连接多个移动设 备和多个数据服务器,形成一个星形的拓扑结构。 MySQL数据服务器上的主数据库可以采用Ora— cle、Sybase等大型的数据库。它保存的数据量很大, 是移动信息设备的最终数据源。主数据服务器与同 步服务器之间一般通过带宽较高、通信质量较好的 固定网络相连接。 嵌入式MySQL数据库中的数据是主数据库中的 数据的副本。这个副本的作用是使数据操作的速度 更快和保证在网络断接时应用程序能照常运行。同 步服务器能实现两者间的同步。保证嵌入式MySQL 数据库中的数据和主数据库中的数据相一致。为了 达到这一目的,同步服务器不仅要将移动客户对嵌 入式MySQL数据库的更新及时反映到主数据库中, 而且要使移动客户能及时获得主数据库中的最新数 据。 移 俪屉取青-lU ‘ 羹墨库应用程序 1f ; 移动支持结点l : 敦据服务器Ds 敦Ij据}入库为8 程 序接口 :jr I  同步厦务器 }—÷_l 主姗库 统l 嵌入船S库管理系统 口L敷据 U : …… l【  主敦据库lJ ——、、 : 、、 . ——— / 图2嵌入式移动数据库系统结构图 移动计算环境对嵌入式数据库管理系统的影响 主要来自以下几方面: ①设备随时移动; ②网络频繁断接; ③网络条件多样化; 构建嵌入式MySQL移动数据库主要包括两个部 分,一是创建嵌入式服务器;二是创建嵌人式MySQL 应用程序接口 。 4.1创建嵌入式服务器 嵌人式服务器在初始化函数调用期间被创建为 一个实例,MySQL里的绝大多数函数都需要一个指 向这个服务器实例的指针作为必要的参数。在创建 嵌入式应用程序的时候,需要创建指向MySQL对象 的指针,还需要为结果集和结果集里的记录分别创 建实例。服务器和这几种数据结构的定义都是在 MySQL头文件里完成的。 在创建时,要用到以下两个头文件: #include<my_globa1.h> #include<mysq1.h> 创建指向嵌入式服务器、结果集和记录结构的 指针的工作可以用以下命令来完成: MySQL半mysql; //嵌入式服务器类 MySQL_RES¥results; //将查询结果进行存储 MySQL_ROW record; //一个结果集中的单独一条记录 这些语句可以在具体的程序中分别对嵌入式服 务器(MySQL)、一个结果结构(MySQL—RES)和一条 记录(MySQL ROW)进行访问。 4.2 创建嵌入式MySQL应用程序 目前在国际上没有专门针对嵌入式移动数据库 的编程接口规范。各种嵌人式数据库产品都是参照 大型数据库系统所支持的数据访问方法来设计自己 的应用编程接口。 按照该标准,嵌入式移动数据库的应用程序接 口函数分为3类: ①数据库级。 ②SQL操作级。 ③同步服务器级。 43 河南机电高等专科学校学报 2012年3期  数据库级接口用于对整个数据库进行操作。完 数据库管理系统。嵌人式MySQL数据库以性能高、成建立数据库、打开数据、关闭数据库等功能。属于 体积小,以及开源的特点,受到业界的普遍关注。而 基于嵌入式MySQL的移动数据库还处于研究阶段, 这一类的接口函数有: ①DBCreate() ②DBOpen() ③DBClose() 还无法对各类移动设备都提供支持,这有待于进一 步开发研究。 (责任编辑吕春红) 参考文献: ④DBDrop() [1]王灵芝,陈磊松.基于嵌入式Linux与QT的MP3播放器的设计 SQL操作级接口主要用于对数据库进行查询。 [J].漳州师范学院学报:自然科学版,2009,(1):39—43. 同步服务器级接口函数用来完成移动客户端和 [2]黄文君,徐慧.数据压缩技术在实时数据库中的应用研究[J].仪 器仪表学报,2OO6,27(增刊1):911—913,959. 后台服务器之间的数据同步。 通过构建嵌入式服务器与应用程序接口,可以 [3]孟小峰,周龙骧,王珊.数据库技术发展趋势[J].软件学报, 2004,15,(12). [4]刘飞,罗克露,黄烨明,等.通信领域嵌入式系统调度管理的设计 与实现[J].计算机应用研究.2004,(7). 使MySQL与各类应用系统进行连接,能够让嵌入式 数据库在主数据库系统中得以运行。 5 结语 嵌入式数据库技术目前已进人了实用阶段,有 [5]Zhang X,Meng XF,Wang S.KingBase lite:A smart mobile embed— ded database system.In:PI∞.of Fourth Int1 Conf.on Hi【sh Perform— anee Computing in Asia—Pacific Region(HPC Asia 2000)[J].Vol・ umeII,IEEE Press,2000.806~811. 不少的软件公司和研究机构都推出了自己的嵌入式 The Research of Technology of Embedded Mobile Database System Based on MySQL SUN Bo.et al (Dept.of Computer Science,Henan Mechanic and Electric Engineering College,Xinxiang 453000,China) Abstract:At present,the embedded mobile database technology has gradually run from the research areas to the comprehensive application areas.This paper mainly discusses embedded MySQL mobile database and its structure; analy8es the characteristics and architecture of the MySQL mobile datbase;iat also introduces some key technologies of he MySQL tmobile datbase systaem. Key words:embedded system;mobile database;MySQL 

因篇幅问题不能全部显示,请点此查看更多更全内容