东方市网站建设_网站建设公司_Java_seo优化
2026/1/11 2:39:59 网站建设 项目流程

目 录
摘 要 1
1 绪论 2
1.1 研究背景 2
1.2 国内外研究现状 2
1.2.1 花卉识别的研究现状 2
1.2.2 数据库在各领域的应用现状 3
1.2.3 花卉识别中数据库的重要性 3
1.3 本系统研究的主要内容及意义 4
1.3.1 本系统的工作介绍 4
1.3.2 本系统的功能以及研究意义 4
1.3.3 本论文的组织结构 4
2 ORACLE数据库 5
2.1 ORACLE 数据库概述 5
2.2 ORACLE 数据库的优点 5
2.3 ORACLE与其他数据库对比 6
3 花卉识别系统数据库设计方案 6
3.1 成功的数据库所需要具备的条件 6
3.2 数据库设计方案的制定 7
3.2.1 任务描述阶段 7
3.2.2 设计目标阶段 7
3.2.3 工作计划阶段 8
3.3 数据完整性方案的制定 8
3.3.1 Oracle RAC 实时应用集群 9
3.3.2 OracleRAC 的部署配置 11
4 花卉识别系统数据库的分析与实现 15
4.1 制定策略阶段 15
4.2 系统分析 16
4.3 概念结构设计 18
4.4 逻辑结构设计 20

4.5 数据库物理设计 23
4.5.1 创建对应表空间 23
4.5.2 建立索引 24
4.5.3 建立视图 26
4.5.4 远程连接数据库 27
4.5.5 为用户授权 28
4.6 花卉识别系统的数据库实施 28
5 花卉识别系统数据库的总结与展望 29
5.1 花卉识别数据库设计的优缺点 29
5.1.1 花卉识别数据库设计的优点 29
5.1.2 花卉识别数据库设计的缺点 30
5.2 花卉识别数据库设计的改进 30
5.3 总结与展望 30
参考文献 32
Abstract 35
附 录 37
致 谢 41

花卉识别系统中数据库的设计与实现

摘 要

花卉识别的目的是通过机器学习和模式识别对自然花卉进行图像识别,从90年代 花卉识别兴起到现在,已经具有很长的发展历史了,但是大规模自然花卉的识别还处在 起步阶段, 一个好的花卉识别系统需要一个完善的数据库作为支持。就目前而言,花卉 识别数据库的大小将直接影响花卉识别的准确率,在保证数据库足够大的前提下,还应 该实现数据存储的完整性,保证数据不会因为意外而丢失,同时也应该考虑到由于数据 量太大,不合理的表空间设计而导致的查询速度慢等问题。因此,在设计数据库的过程 当中解决上述问题是提高花卉识别系统性能的关键。
论文首先介绍了花卉识别以及数据库的国内外研究现状和选择此课题的必要性,提 出了花卉识别系统中数据库设计的实现目标和总体方案,使用到了 ORACLE 数据库所 特有的Real Application Clusters集群体系结构(RAC) 。阐述了整个花卉系统数据库设计 的具体流程,按照策略、分析、设计、构建、文档、移植和产品七个阶段来进行设计数 据库。结合花卉识别系统的具体需求,对上述的这七个数据库设计阶段进行详细的分析, 特别是数据库的概念设计、逻辑设计以及物理设计这三个方面进行数据库设计。特别是 在物理设计方面,讨论了不同索引具有的不同特征,针对花卉识别系统,合理设计表空 间并选取适合的数据库索引。
通过将花卉识别数据库搭建在 RAC 集群环境中,使得多个数据库并行,降低生产 成本的同时提高了数据库的高可用性以及高并发性。在数据库中建立B 树索引,以及定 义索引组织表,提高查询速度的同时减少对存储空间的使用。本论文最终实现了提高花 卉识别系统的查询效率,完成数据库的高并发,建立起一个完整的花卉识别数据库系统, 推动大规模的自然花卉识别不断向前发展。

关键词:花卉识别;ORACLE 数据库;Real Application Clusters

1绪论

1.1研究背景
随着社会的快速发展和技术的不断提高,农业发展和社会进步密切相关,将农业的 发展与国内外的新技术相结合,推动农业的快速发展,可以帮助降低农业发展的生产成 本、增加经济效益,促进农业的又好又快发展。但是,反观中国国情,农业发展依然较 为落后,并没有与新技术较好的结合在一起。这样大大限制了我国的经济发展水平,所 以我们应该更好的将农业与信息技术相结合,将深度学习与花卉识别相结合,帮助农业 广泛推广。
对于一个应用系统来讲,数据库设计的好坏将直接关乎该系统的性能,特别是本文 中提到的花卉识别系统。虽然花卉识别的发展已经有了很长的历史,但是对花卉的拍摄 受到拍摄角度、拍摄时间以及拍摄环境的影响,所以大规模的自然花卉识别还依然处在 起步阶段。
通过从网上下载各种花卉软件,可以了解到大部分的花卉识别软件只能满足用户的 一部分需求,或者只针对拍照识别,或者只针对信息分享,并没有一个全面的花卉识别 系统。所以我们要做的花卉识别系统用于实时提供花卉方面的相关信息,通过使用该系 统,可以分享自己的研究心得体会,找到志同道合的朋友。同时通过花卉识别,可以得 到与照片中花卉相似度排行前五的花卉的反馈信息,包括所拍花卉的名称、植物学史、 形态特征、植物变异、生长习性、地理分布、种群介绍等相应的资料。通过查询花卉病 虫害文章,找到对应的花卉问题。而且,我们还将不定期的对花卉数据库和病虫害相关 信息进行补充和完善。
1.2国内外研究现状
1.2.1花卉识别的研究现状
识别算法是现在最热门的研究方向,较为常见的类似人脸识别、车牌识别、图像分 类以及对图像进行标注[1-3],通过机器进行学习,在一个给定的场景下,通过拍摄静态 或者动态图片,对所拍摄图片进行特征提取,将每张图片对应的特征标记出来,之后进 行图像理解和模式识别等多种交叉运算[4-6]。在识别过程中,系统从所需要的数据库中 找出与所输入图片最为相似的一种数据,进而在系统中进行检测和分析,对输出结果进 行判断,评估识别算法7]。
国内外的研究到目前为止,大多都停留在对于一些有一定几何图像的实物上,在一 定环境条件的限制下,对人脸识别较为容易。但是对于花卉识别8这种非刚性的物体研

究较少,由于拍摄角度的不同,同时受不同环境以及光线的影响19,不同种类的花卉会 呈现不同的形态,没有一个固定的模式去研究[10-12],所以花卉研究较为困难。
1.2.2数据库在各领域的应用现状
在20世纪60年代,数据库开始出现,在当时的社会中,数据的管理工作已经交给 数据库来完成,为了便于各种用户的访问,数据的共享性变得越来越重要, 一些传统的 网状或者是层次的,类似于文件系统的模式已经越来越落后,不再被当时的人们所认可。 在这种情况下,能够有一个中心,对数据进行统一的管理和维护的数据库管理系统产生, 20世纪80年代后,关系型数据库出现,取代了传统的文件系统,向更高的层次发展开 来。
在当代社会, 一个以信息化为主的社会,人们的各种喜好都可以通过大量的数据进 行分析和判断,这就对数据库的发展与完善提出了很高的要求。同时,数据库技术也变 成了计算机发展领域的最重要的技术,数据库又从一个独立的分支细化为多个不同的方 向,比如分布式数据库、知识库、数据库机以及多媒体数据库等。但是,关系型数据库 依然是各行各业应用最为广泛的数据库,例如ACCESS 、SQL Server 、Oracle 、MySQL、 FoxPro 和 Sybase 等数据库。这其中Oracle 数据库由于本身的复杂性,具有复杂的体系 结构,对数据完整性也具有不同于其他数据库的技术方案,因此有必要进行基于Oracle 数据库的花卉识别系统的研究[131。
1.2.3花卉识别中数据库的重要性
数据库在开始设计之前,需要进行大量的需求分析工作,这些前期准备工作可以帮 助数据库设计人员更好的了解数据库,使得设计出来的数据库符合花卉识别系统的需 要,可以实现需求分析中定义的花卉识别所需要实现的目标(14-151。
在整个数据库的设计过程中,需要注意很多细节问题,首先要先确定系统的设计目 标,这个设计目标一旦确定,数据库设计人员应该对应所有的细节[161,通过严格的数据 库设计流程,经过无数次修改后,建立一个完整的数据库模型。
在数据库大小固定的前提下,数据库运行性能的好坏直接影响到花卉识别系统的成 败,而数据库设计的目标就是使系统获得良好的性能,如果刚开始的需求分析没有做好, 就不可能让整个系统高效运行。 一共有45万余种的花卉和20万余种的花卉病虫害信息, 如何有效、正确的将所有的数据存入数据库并能通过表于表之间的连接快速查询,查询 出所需要的数据,对于数据库的设计工作也是一种挑战17]。因此,数据库的设计好坏对 整个花卉识别系统都具有至关重要的影响[18]。

1.3本系统研究的主要内容及意义
1.3.1本系统的工作介绍
整个花卉识别系统分为前台安卓开发设计、识别算法设计、算法对应数据库、后台 花卉数据库等部分,其中我参加了后台花卉数据库的设计工作,并在此基础上搭建集群 架构保障数据完整性,本文主要工作包括以下几个方面:
(1)研究了各种数据库和花卉识别目前的状况,通过对这些现状的总结,得出未来 花卉识别以及数据库的发展方向。
(2)通过对几种主流的数据库体系结构和基本原理的分析,比对各种数据库的优缺 点,找到最适合本文花卉识别系统的数据库ORACLE 数据库19]。
(3)搭建 ORACLE 数据库所特有的RAC 集群框架,保证了数据完整性的同时,实 现查询数据的高并发问题[201。
(4)采用 barker 的数据库设计流程,按照策略、分析、设计、构建、文档、移植和 产品七个阶段来进行设计数据库[21],特别是策略阶段和分析阶段,是整个数据库是否符 合用户需求的关键[22]。
1.3.2本系统的功能以及研究意义
花卉识别系统中数据库的功能:
(1)存储45万余种花卉相关的信息,20万余种花卉病虫害信息。帮助一些对花卉 识别感兴趣用户,更快速的了解并熟悉一种自己不认识的花卉以及各种花卉的病虫害问 题。
(2)存储各种花卉方面的新闻,方便管理员进行发布和管理。存储用户发布的各种 信息,帮助日后查阅。
花卉识别系统中数据库的研究意义:
从20世纪60年代数据库产生到现在,虽然只有短短的几十年的时间,但是数据库 却变成了整个 IT 行业发展最快,分布最广的领域之一。不论是任何一个系统,都有其 对应的后台数据库作为支持, 一个良好的数据库是整个应用系统得以正常运行的基础。
在本论文中,花卉识别数据库的设计与实现,就是为实现整个花卉识别系统稳定、 高速的运行提供数据库支持,同时也可以更好地实现数据的可伸缩性。运用Oracle技术, 保障数据的完整性的同时加快查询速度[231。
1.3.3本论文的组织结构
本文全部内容共分为五个部分:
第一部分介绍了论文的选题背景、国内外研究背景以及研究意义。

第二部分介绍了花卉识别系统所需要实现的需求,选择了最适于实现这一需求的 ORACLE 数据库,介绍了ORACLE 数据库的优缺点。
第三部分通过数据库的整个设计阶段,对数据库进行细节分析,考虑到花卉数据量 以及花卉病虫害数据量的巨大,为了保证数据的完整性以及为了实现数据库的高并发, 搭建 RAC 集群,帮助数据库高效运行。
第四部分是数据库实现阶段,通过第三部分的设计分析,开发出一个完整的数据库 结构。
第五部分是作者对整篇论文的总结与展望。
2 ORACLE 数据库

2.1 ORACLE 数据库概述
Oracle database 简称Oracle, 是有甲骨文公司创建的大型关系型数据库管理系统。 Oracle数据库由于具有良好的可移植性、使用方便、功能强大等特点,在数据库领域一 直处于领先地位[24]。适用环境范围广泛,并且Oracle 数据库在支持高并发、高吞吐量以 及高性能方面一直很突出。
Oracle 数据库保障数据不会丢失,同时具有完备的集群技术和容灾技术,可以保障 数据的完整性;作为一个关系型数据库,保障数据事务处理的一致性,这是一个功能完 备的产品;作为一个分布式数据库,数据读写存储集群化,不受单个节点的影响,体系 结构灵活,实现了分布式处理功能[251。同时,适用于Oracle 的各种语句,也能够方便的 在各种类型的机器上使用,具有很好的通用性。
2.2 ORACLE 数据库的优点
(1)从很早之前的版本开始,Oracle 为了减少资源占用,增强自身能力,引入了多 线程服务器体系结构和共享SQL 。在小型企业上运用更少的资源,在中、大型企业上支 持成百上千的用户。
(2)Oracle 作为一种具有新型的数据分布能力的分布性数据库,在正确的情况下可 以通过网络连接客户机,方便地读写远程数据库中的数据,并且可以远程进行克隆和复 制技术。
(3)Oracle 作为一种关系型数据库,提供了PRO* 接口,可以连接第三方高级语言, 能在执行 SQL 语句时,通过嵌入 C 、C++ 、JAVA 等语言,进行 PLSQL 运算[261,操作 数据库中的数据。同时,Oracle 具有例如POWER BUILD 、SQL*FORMS 、VISIA BASIC 等相当优秀的前台开发工具,在这些内置工具的作用下,可以在PC 机上生成应用程序

并快速使用,具有很好的移植性和可扩展性。
(4)Oracle 对于不同的角色授予不同的角色管理权限,增加了数据库的安全性和保 密性。在数据的管理以及数据的安全性和完整性检查、事务一致性处理方面都有很好表 现。
(5)Oracle 能够轻松的实现数据挖掘和数据仓库的操作,通过闪回、备份恢复、异 地容灾等技术,保障了数据的完整性。
(6)Oracle 可以保存类似于图片、声音、动画以及一些非文字信息,更好的支持大 量多媒体数据,增强了数据库的可用性。
2.3 ORACLE与其他数据库对比
(1)稳定性、安全性以及友好性方面: Oracle 数据库要比 Sql server 数据库好很多, Oracle 支持 Linux 和 Windows 两种平台,使用户在任何一种平台上都能方便使用Oracle 数据库,而 Sql server数据库只能运行在Windows 平台上。也就是说, Sql server 的稳定 性,以及性能的改善,完全依赖于Windows 的性能优化。
(2)导入数据的工具方面: Oracle 使用的 Sqlload 比 Sql server 使用的Bcp 功能强大 很多,特别是在文本文件方面 Oracle 可以进行直接导入。
(3)大型数据处理方面: Oracle 对于大量的查询语句采用的是并行查询的方式,便 捷、高效,再将查询结果进行汇总。 Sql server采用虚拟服务器模式进行查询,并不能将 一个查询在进行分类,同时查询,无法降低查询时间[27]。
(4)数据库投入使用后:随着数据库的投入使用,数据库的缓存以及业务量会随着 数据库的运行越积越多。所以,可以从两个方面入手提高数据库的性能方面, 一方面是 提高单台服务器的性能,还有一种方式就是增加服务器数目。基于本花卉识别项目的特 点,我们更倾向于在选择 Oracle 数据库的同时,通过增加服务器节点数,使数据可以 并行处理,提高数据库的反应速度[28]。
3 花卉识别系统数据库设计方案

3.1成功的数据库所需要具备的条件
一个数据库是否成功的关键包含以下几个方面29:

  1. 数据库是否满足了用户的需要

  2. 用户查询是否可以高效完成

  3. 整个数据库是否实现了所有预期的工作

  4. 冗余数据是否降到了最低

  5. 数据库中的数据是否完整

  6. 是否可以实现数据的高并发
    3.2 数据库设计方案的制定
    在一个数据库进行设计之前,首先要做的就是建立一个科学、有效的数据库设计方 案,明确设计目标,保证整个数据库可以高效运行,同时减少了很多不必要的操作。根 据花卉识别系统的具体情况,我们首先进行任务描述,通过对应

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询