1、基于ARM的网络数据库设计方案基于ARM的网络数据库设计方案1.1 课题背景及意义随着科技的进步,数据库应用的领域越来越多,它开始在社会的各个方面帮人们存贮和管理数据,发挥着不可替代的作用。在这个信息交流和数据共享需求如此强大的社会,数据库自然也是离不开网络二字,网络数据库是指把数据库技术引入到计算机网络系统中,借助于网络技术将存储于数据库中的大量信息及时发布出去;而计算机网络借助于成熟的数据库技术对网络中的各种数据进行有效管理,并实现用户与网络中的数据库进行实时动态数据交互。网络数据库目前在Intemet中有大量的应用,从最初的留言簿、自由论坛等到今天的远程教育和复杂的电子商务等,这些系统几
2、乎都是采用网络数据库这种方式来实现的。网络数据库系统的组成元素为:客户端、服务器端、连接客户端及服务器端的网络。这些元素是网络数据库系统的基础。使用网络数据库的最大优势是用户无需在自己的客户端安装任何与所需存取或操作数据库系统对应的客户端软件,只需要通过Web浏览器便可完成对数据库数据的常用操作。这种方式的优点是用户不必再去学习复杂的数据库知识和数据库软件的使用,只需要掌握基本的网络操作,如填写、提交表单等就可以从任何一台连接Internet的计算机上来访问数据库。随着WiFi(Wireless Fidelity)网络环境的迅速发展,许多公共场所都布置了WiFi无线局域网,使人们可以随时随地连
3、接到网络。这种通过点对点的方式直接连接并进行使用的方式,给人们带来了便利操作体验。WiFi在给人们带来方便的同时,已经逐步成为主流网络渠道。人们在享受无线通道带来的便利上网方式的同时,对拥有WiFi功能的IT产品的需求越来越多。无线连接作为一种更简洁的网络连接方式,其应用必将越来越广泛。在本设计中我们希望选择这种更新,更有诱惑力的网络连接方式来连接网络。考虑到手机等小型电子产品的普及及日益强大,网络数据库的应用也必将在此领域一展宏图,因此想到设计一个基于ARM的网络数据库,在手持设备日益疯狂的时代,我想这应该是非常有意义的。本课题的目的是设计并实现一种基于ARM的网络数据库1,通过软键盘来输入
4、数据,通过WiFi可以接入无线局域网,与服务器进行连接,并完成数据的查询。1.2 研究现状及发展趋势由于企业信息化的目的就是要以现代信息技术为手段,对伴随着企业生产和经营过程而产生的数据进行收集、加工、管理和利用,以改善企业生产经营的整体效率,增强企业的竞争力。所以,数据库是企业信息化不可缺少的工具,是绝大部分企业信息系统的核心。数据、计算机硬件和数据库应用,这三者推动着数据库技术与系统的发展。数据库要管理的数据的复杂度和数据量都在迅速增长;计算机硬件平台的发展仍然实践着摩尔定律;数据库应用迅速向深度、广度扩展。尤其是互联网的出现,极改变了数据库的应用环境,向数据库领域提出了前所未有的技术挑战
5、。这些因素的变化推动着数据库技术的进步,出现了一批新的数据库技术,如Web数据库技术、并行数据库技术、数据仓库与联机分析技术、数据挖掘与商务智能技术、容管理技术、海量数据管理技术等。 在手持设备发展迅猛的时代,在wifi技术慢慢进入日常生活的时代,在数据库开始成为人们办公作业必不可少的工具的时代,我们有理由相信着三者的结合必将给我们带来不同的享受和体验。1.3论文研究容及章节安排本设计的主要研究容有:(1) 搜集相应背景,基于ARM的网络数据库系统的实现方案的设计及选型。(2) 嵌入式无线连接终端硬件的构成及软件开发环境的搭建。(3) 外围设备的驱动加载及其使用。(4) 用户图形界面的实现,包
6、括PC机上运行的服务器端的界面和ARM开发板上运行的客户端界面。(5) 数据库的搭建。本文的章节安排容如下:第1章 绪论。主要介绍了网络数据库的研究背景和意义,研究现状及发展趋势。第2章 网络数据库系统及其选型。根据本系统的总体架构的设计,从无线网络,用户界面及嵌入式数据库三个方面,完成了设计总体方案的选型。第3章 嵌入式终端开发环境的搭建,硬件方面介绍了ARM处理器的特性及Tiny6410开发板的接口和主要功能。系统方面介绍了Linux系统的特性及其安装,并建立了软件开发环境。软件开发环境包括:共享文件夹的安装与设置,交叉编译工具的安装,Qt4.7 的安装2。第4章 终端上系统平台的设计。从
7、u-boot、核、文件系统及Qt4.7 的安装及配置这四个方面完成终端的嵌入式平台的搭建,为应用程序的运行提供基础2。第5章 基于ARM的网络数据库系统功能的实现。整体上介绍了本系统的服务器和客户端的具体实现方案,并给出系统调试结果。按照应用程序的功能,分四个部分介绍具体的实现方法。四个部分为:服务器端数据库的建立、连接及使用,服务器与客户端间数据的双向传输,客户端的打印功能及客户端各子界面的实现。客户端的子界面包括:欢迎界面,登录界面,修改密码界面。1.4 本章小结本章主要介绍了本课题研究的背景和意义以及他的研究现状和发展趋势,然后对本文的研究容和章节安排做了简要的阐述。第2章 网络数据库系
8、统的方案设计2.1 方案的总体设计基于ARM的网络数据库是指通过网络连接的方式与网络中的计算机进行数据交换,实现信息的查询机更新。 网络图2.1 基于ARM的网络数据库的总体结构设计图总体设计方案的架构如上图2.1所示,网络数据库系统图采用的是服务器/客户端的结构,在无线网络中实现服务器端与客户端的数据交互。服务器采用PC机,存放数据,方便数据的查询与更新。客户端采用S3C6410处理器并使用操作系统,通过无线网卡接入网络并与网络中的其它计算机(服务器)进行数据的交换。为了方便使用,在客户端和服务器端,开发了用户界面,也便于查看客户端和服务器端之间的数据交互。通过触摸屏上的软键盘输入用户登录信
9、息,客户端把信息发送到服务器端,服务器根据接收到的信息在数据库中进行操作。服务器端把操作结果的信息发送给客户端。客户端根据接受到的信息,显示相应的容,并从打印机输出所需的容。为了方便数据的管理,本系统的数据存储在服务器端。PC机采用数据库对数据进行存储,这样就可以实现数据的共享及对其的集中控制、确保数据的一致性、增强数据的可维护性3。2.2 网络环境的选择由于在本设计中需要用到网络连接,网络连接可以选择有线网络和无线网络,那么有线网络和无线网络都有哪些优点和缺点呢。下面我们先比较一下这两种网络的优点和缺点,以便能够更好地选择,做到事半功倍。 (1)稳定性:有线网络有一个最大的优点是目前的无线网
10、络所无法比拟的,这就是快且稳定。就我国的网络环境来说,由于房屋基本都是钢筋混凝土结构,并且格局复杂多样,环境对无线信号的衰减严重,因而无线网络的不稳定性是不可避免的。对于一个网络来说,无论是企业网络还是家庭网络,稳定性是最重要的,因为时断时续的网络,是没有人可以忍受的。当然,也并不是说,无线网络的稳定性一点保障都没有,只是有线网络胜它一筹而已。(2)速度:根据相关资料显示,有线网络的传输速率较快,而且也比较稳定,一般为100M、1000M,而无线的速率相对来说就稍微慢一些,衰减现象还比较严重,一般为11M、54M、108M。由此可见,有线技术在速度上提供了目前无线技术所不能支持的专用的网络带宽
11、,尤其是对于那些数据密集型的应用或者是大量数据的同时传输来说,无线网络的表现与有线网络相比起来确实是有点逊色。虽然说一般的家庭用户对网络速度的要求不会太苛刻,然而,更快更爽的网上冲浪是每一位网络用户的想要的,从这个角度上来看,孰优孰次就有自有分晓了。(3)安全性:家庭网络组网的一个重要问题就是网络安全的保障,特别是当你使用宽带连接时这点尤为重要。虽然无线技术有很多的优点,但是无线网络的安全性永远也没有办法和有线网络的安全性相提并论,除非你部署了端到端的加密技术,否则都无法保障无线网络所谓的真正的安全通信。有线网络可以处理非常高速的带宽,并且可以提供较好的安全性,因为有线网络不需要在网络中广播信
12、息的,只要硬件在控制中就可以保障网络的安全。而无线网络是通过特定的无线电波传送的,所以在这个发射频率的有效围,任何具有合适的接收设备的人都可以捕获该频率的信号,这必然会影响到一个局域网络中的安全,因而,无线网络用户对于重要数据需要特别加密以增加安全性。 (4)灵活性:传统的有线网络布局要受到布线格局的限制,如果建筑物中没有预留的线路,布线以及调试的工程量比较大。如果使用无线网络的话可以解决了上述的麻烦,因为无线网卡体积小、重量轻、携带方便,带上它就可以随时随地组建网络而不用再拉着一根长长的网线,不必受空间的限制和网络安装时间的困扰。组建了无线网络,家里的每一个人在家里的每一个角落,都可以使用P
13、C、笔记本电脑甚至PDA(手持电脑)接入互联网,实现随时随地同时上网。还有的就是,在搬家或更换上网地点时也不会损失布线费用,只需要把无线接入器拆走,就带走了所有网络部件,相当简单方便。(5)扩展性:有线网络的扩展性比较弱,如果要增加新用户,而原有布线所预留的端口又不够用的话,那就要进行重新布置线缆等工作,虽然电缆本身并不贵,比较麻烦;而且,一旦网络建成,其功能上也比较固定。而无线网络的扩展性就比较强,一台AP可以支持2048个用户(为保证高性能,建议接入30台计算机,但这足以满足家庭用户的需要了);如果需要新增加用户,网络不需作任何更改,只要在计算机上安装一无线网卡就可以了。(6)简便性:有线
14、网络安装过程和维护过程懂简洁明了,但是安装工序比较繁琐,而且需要一定的技术。无线网络的安装过程简单,一般只需5分钟就可以安装完成了。只要给无线路由器接上电源,然后进行简单设置。有的需要进行手工配置,对于特殊的配置,需要在计算机和网卡上分别进行设置,才可以实现互联网的连接了。总评:无线网络技术在不断的发展与改善,其发展前景是良好的,但是在很多场合下,有线接入技术并真的比无线网络有更多的优势。无线网络是对有线网络的一种补充,而不是一种替代。两种网络各有各的好处,具体选择哪种网络还是要看具体的需求,就本次设计来说,我们以灵活性与简便性为主,因此选择使用无线网络。对于无线网络连接,常见的解决方案有GP
15、RS、GPS、蓝牙、WiFi及ZigBee 等。虽然GPRS和GPS具有较广的传输围,但传输速率低,性价比不高。短距离无线通信技术的实现价位比较低,本文主要考虑的蓝牙、WiFi及ZigBee等几种短距离。下面是几种常见的短距离无线通信技术。WiFi技术WiFi使用的频段在2.4GHz附近。WiFi的传输速度较高,最高速度由使用的标准决定,IEEE802.11b最高为11Mbps,IEEE802.11a和IEEE802.11g最高都为54Mbps6。WiFi技术的第二层上与以太网是一致的,可以很方便的嵌入到已有的有线以太网中,降低了组网成本。蓝牙蓝牙采用低功率时分复用方式发射1 MHz的带宽时,
16、蓝牙的有效传输速率是721 Kbit/s,通信距离为10cm至10m。蓝牙是一种低成本的短距离通信技术,频带为2.45GHz ISM,采用跳频扩谱技术。ZigBee技术ZigBee是一种新兴的近距离无线网络技术,其特点为复杂度低、功耗低、成本低、速率低4。该技术能够很好地应用于工业仪器监测、消费类电子及家庭监控等无线传感器网络的控制领域中5。UWB 技术UWB(Ultra Wideband),是另一个新兴的无线通信技术6,翻译过来即超宽带技术。UWB的调制方式采用脉冲调制及二进制相移键控,工作波段为3.1GHz 至10. 6GHz。UWB能够穿透墙壁和身体并且具有较高的分辨率,可应用于救援、消
17、防、医疗、雷达系统和图像处理。 从以上几种方案的比较中可以看出,WiFi在传输速率和网络覆盖率方面都具有更突出的优势。虽然WiFi技术的无线通信质量有待改进,但现有的水平已经可以满足本设计的需求。综上所述本设计选择WiFi 作为终端连接到网络的方式。本设计的无线网络环境由路由器和无线网卡组成的无线局域网,这种AP和无线网卡的组网方式也是WiFi常用的组网方式之(AccessPoint),常译为“无线访问节点”或“桥接器”,用途是无线工作站及有线局域网络的桥梁。本设计采用型号为TL-WR740N的无线宽带路由器作为AP,无线网卡选用以Ralink RT3070L为核心控制器的WiFi8000 模
18、块。2.3 用户图形界面在图形界面的选择上主要考虑客户端,因为客户端采用的嵌入式操作系统的硬件资源是有限的,这就要求所使用的用户图形界面必须具有轻型、高性能、高可靠、可配置、可移植的特点。选用嵌入式图形界面作为图形用户接口GUI(Graphics User Interface)的开发,下面对比几种常见的嵌入式GUI:(1)Qt/EmbeddedQt是一个跨平台的C+图形界面库,完全面向对象,非常易于扩展,并且允许组件编程。Qt开发库是最重要的Qt构成部分,拥有的C+类约400多个,主要的构成部分有DATABASE、图形用户接口以及国际化语言等;Qt Linguist使不同国家的开发者免受语言不
19、同带来的影响,促使了更多的开发者选用Qt;Qt Designer是一个可运行于多种平台的集成开发环境,主要用途是对窗口部件的布局和对话框的构建;Qt Assistant是Qt中的帮助软件,开发者可以把它作为帮助文档的浏览器;Qt嵌入式版指的是面向嵌入式操作系统而推出的Qt版本,常用的有Qt /Embedded 和Qt/X11。(2)MicroWindowsMicroWindows7是一个出现较早的源码开放的项目,由C语言编写的,具有较强的移植性,支持许多硬件平台。它就有相对完善图形功能,但窗口处理功能远不够完善,在图形引擎中有很多未经任何优化的低效算法,这些缺陷使MicroWindows距离一
20、个优秀的窗口系统还有一定的差距。(3)OpenGUIOpenGUI是一个采用LGPL条款的源码开放的项目。OpenGUI的核是由汇编语言进行编写的,这使得它具有非常快的运行速度,但也正是这个原因使得它的不具有较好的可移植性,它对多线程也不支持。 (4)MiniGUI MiniGUI是一个基于Linux的轻量级GUI,遵循LGPL条款。MiniGUI是一款国产的自由软件,技术创新,优势诸多。具有的特点包括:轻量小巧、可配置、较好的可移植性。但它的图形引擎有局限性并且其功能较弱,体系结构也远不够完善,在图像开发环境中不具备IDE。此外MiniGUI缺乏支持度。 同样作为基于Qt开发出软件平台,Qt
21、/Embedded比Qt/X11有许多优势,比如Qt/Embedded更节省存。而且,使用Qt/Embedded设计的软件,无需再进行一次编译,就能够直接运行在Qt/X11上,反之却不可以。鉴于Qt/Embedded比较有优势,下面结合Qt所带有的优势,来分析一下Qt/Embedded作为一款嵌入式GUI具有的特点。丰富的API函数,而且类库支持跨平台,封装了适合不同操作系统的访问细节,这也正是Qt的魅力所在。丰富的工具,以开发包形式提供,包括了图形设计器、Makefile制作工具、字体国际化工具、Qt的C+类库等。优秀的快平台特性,支持Windows系列、Unix/ Linux/Solari
22、s、Mac OSX。良好的封装机制,非常高的模块化程度,这使得它具有很好的可裁剪性和可移植性8。丰富的资源,使用者众多。运行需要资源少、速度快。分析了四种常见的嵌入式GUI 的优缺点之后,结合客户端的需要,选择Qt/Embedded来开发客户端的用户界面,本设计使用的Qt4.7就是Qt/Embedded 的一个版本。2.4 嵌入式数据库在数据库领域,嵌入式数据库的“嵌入”一次的语义是指能够比较方便简单的应用于其他应用程序中。本设计选择使用嵌入式数据库的依据也源于这种语境下的概念。本设计中的数据量不是特别大,在数据库的具体选择上,主要考虑中小型的数据库,常见的主要有MySQL、SQLite、Be
23、rkeley DB、Firebird、PostgreSQL等9。MySQL是一种多进程、多用户的SQL数据库服务器。MySQL包括mysgld(服务器守护进程)、client programs(客户端程序)及不同的libraries(类库)的C/S(客户端/服务器)实现工具。它无法较好的支持复杂的操作,但可以很好应用于小而简单的数据库中。MySQL不是完全的免费软件,只有作为普通的最终用户使用MySQL时,才不需要付钱。此外,无论是直接还是间接的出售了MySQL相关产品或服务程序,又或者在客户端对MySQL服务器进行了维护,这些都需要收取相关的费用。若是在发行版中出现含有MySQL的容,也是需
24、要获得许可的。SQLite的设计目标是“简单管理,简单操作,简单使用,简单维护,简单定制” 10。SQLite是一种轻型、零配置的数据库,对数据库的存放采用了单文件。在处理速度方面,SQLite优于其它大多数数据库管理系统(如MySQL和PostgreSQL)。在方面,SQLite没有任何的应用限制,即使商业性产品也不例外。在使用方面,SQLite的操作语句同关系型数据库产品相类似,使用起来非常方便。 Berkeley DB的源代码是开放的,可以高效的管理应用程序中的数据。只需要进行一些简单的API的调用,就能够对数据进行访问及管理。Berkeley DB不同于其它常用的数据库管理系统(如My
25、SQL)的是它不包含有数据库服务器的概念。直接使用应用程序中嵌的Berkeley DB函数库,就可以实现数据的保存、查询修改或删除11。而不需要事先在应用程序中连接数据库服务器,才能完成对数据的操作。Firebird就是从Interbase的源代码中派生出来的一种小型数据库,兼容SQL并支持存储过程,能够与其它应用程序或应用程序服务器进行捆绑。它功能包括绝大多数的成熟数据库的功能,其设计思想为:小型、快速和最小化的管理。设计者使用Firebird对数据进行存储与管理时,不需要花太多精力来调整数据性能,非常方便。PostgreSQL是一款完全免费的数据库,使用时不再需要支付费或购买费。此外Pos
26、tgreSQL的兼容性也很强。作为世界上优秀的开源的数据库,它被许多版本的Linux定为发行首选,在Red Hat Linux、TurboLinux中都预装了PostgreSQL 。表2.1数据库对比表数据库名称Berkeley DBFirebirdSQLite速度快快最快稳定性高高高数据库容量256TB64TB2TBSQL支持不支持全部SQL92与大部分SQL99大部分SQL92数据操作仅应用程序接口SQLSQL开发接口C,C+,PHP,Java,Delphi,Python,net结合本设计的需求,依次考虑以上介绍的几种常用数据库,找到最适合本设计的数据库。本设计的数据库存储数据量不算大,对
27、数据库的要求主要是操作简单,使用方便,速度快。从数据库的体积方面考虑,PostgreSQL体积较大,虽然它是很完善的开源的数据库,但不适合本设计。从数据库的收费方面考虑,MySQL在商业用途中收费,使用时也有一些需要获得许可的情况,为设计的长远考虑,不选用MySQL。下面剩下SQLite、Firebird、Berkeley DB,对比一下这三种数据库的性能。从表2.1中可以看出,SQLite的速度最快。SQLite小巧的体积、完善的功能、源码免费开发等优点,在很多嵌入式系统中得到了应用,如应用于智能手机的媒体查询功能,应用于交通系统信息采集。至于数据库容量,本设计的数据量不是很大,2TB 足够
28、满足需求综合考虑,SQLite是最适合本设计的数据库系统。2.5 本章小结本章对网络数据库系统的方案设计做了详细的阐述,包括系统的总体设计,网络环境的选择,用户图形界面设计以及嵌入式数据库,其中对各种网络的优劣,几种用户图形界面和网络数据库的选择方面进行了详细的比对。第3章 网络数据库终端的开发环境的搭建3.1 终端的硬件环境3.1.1 ARM处理器ARM(Advanced RISC Machines)处理器体系,与MIPS、PowerPC、X86同属于精简指令集计算机(RISC)处理器体系。ARM公司成立于英国剑桥,是一家全球领先的嵌入式RISC微处理器解决方案供应商。ARM公司并不生产AR
29、M处理器,主要的产品是ARM技术知识产权核。ARM技术具有非常高的功效和性能,非常容易得到厂家的接受。ARM拥有非常广泛的全球合作伙伴,包括许多顶级的半导体公司。这种转让设计许可的商业模式,使得不同合作公司可以根据各自不同的应用领域生产各具特色的芯片。因此,ARM技术获得了更多的来自第三方的工具、制造及软件的支持。降低整个系统的成本,加快产品进入市场的时间,从而拥有了更大的竞争优势。目前,基于ARM技术的微处理器占据了32位RISC芯片80%的市场份额。ARM处理器具有低功耗、高性价比等特点,它的应用几乎无处不在,下面介绍几种重要的应用领域:(1)网络应用针对语音及视频的处理,ARM进行了优化
30、,使其获得广泛的支持。随着宽带技术接入市场的成长,采用ARM技术的ADSL 芯片向采用DSP芯片发起了挑战。ARM正逐步获得网络应用领域的竞争优势。(2)无线通信领域在无线通信设备中,超过85%的设备采用了ARM技术。在无线通信领域,ARM有着近乎无可替代的巩固地位。(3)消费电子产品在这个增长迅速的市场中,ARM的应用仍然十分广泛,主要包括MP4等音频播放器,收音机、数字机顶盒、游戏机以及智能手机等目前流行的电子产品。(4)工业控制领域作为32位的精简指令集计算机架构,ARM微处理器在占据大部分高端微处理器市场份额的同时,也逐步扩大在低端微处理器应用领域中占有率。ARM微处理器所具有的性能高
31、、价位低、功耗低等优势,成功的向传统8/16位的微处理器发起了挑战。3.1.2 Tiny6410 开发板本设计的终端采用友善之臂的Tiny6410开发平台,Tiny6410开发板由核心板和底板共同构成12。Tiny6410核心板采用5V供电,带有专用复位芯片。处理器为SamsungS3C6410A, FLASH存储为2GB MLC NAND Flash。Tiny6410开发板以三星ARM11 S3C6410芯片作为主处理器,该CPU基于ARM1176JZF-S核设计,部集成了强大的多媒体处理单元,并带有3D图形硬件加速器,支持2D图形图像的平滑缩放,翻转等操作。Tiny6410底板是采用Tin
32、y6410核心板的一款参考设计底板。该底板具有的资源包括:调试口、串口、网络接口、音频输入输出、4个USB Host、LCD接口等。3.2 嵌入式操作系统及其安装3.2.1 嵌入式操作系统的选型嵌入式系统在具有一个操作系统的基本特征之外,还具有执行效率高、实时性强、针对特定的应用,对于功耗、体积及成本也都有一定的要求。下面介绍几种常用的嵌入式操作系统。(1)Windows CEWindows CE是微软公司开发的能够比较好的兼容Windows系列操作系统的嵌入式操作系统。它支持的CPU架构种类较多,硬件驱动资源也比较丰富,拥有强大的多媒体功能同时。此外,开发调试的过程与PC机上的windows 有众多类似之处。Windows CE有很多的缺陷,如系统占用比较大、不开源且费比较昂贵等。(2)VxWorksVxWorks是美国
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1