基于Web的昆虫分类与检索系统实现

2014-11-25 03:53李鸿强卢海博
环境昆虫学报 2014年2期
关键词:二叉树结点昆虫

李鸿强,卢海博

(1.河北建筑工程学院,河北张家口 075024;2.河北北方学院农林科技学院,河北张家口 075000)

昆虫是动物界中最大的一个类群,个体数量、生物数量、种类与基因数,在生物多样性中都占有十分重要的地位。昆虫与人类的关系复杂而密切,既可以作为自然资源供人类利用,也可能给国民经济带来极大的损失。开展对昆虫的分类研究有十分重要的现实意义。

由于昆虫数目庞大,文献分散及各种类群的术语又不统一,除了专门从事该类群的昆虫分类专家,一般人很难正确地将其鉴定到种。对于任何一种昆虫而言,要准确地将其识别出来或者要确定其是否为一个新种,都需要经过查阅大量的昆虫分类文献,由所属类群权威的昆虫分类专家最终确定才能达到目的。

充分利用昆虫分类专家的经验与知识,如何设计一种能够快速、准确地进行昆虫鉴定的软件,成为昆虫分类学家所面临的一个难题。对于不懂或对昆虫学分类知识所知很少的用户而言,能够有一个专门的昆虫分类鉴定软件供其使用,对其工作将有极大的帮助。

加快农林业昆虫信息化建设、昆虫分类检索计算机化和网络化已是必然。过去的十多年中,我国昆虫学家已开发了许多昆虫辅助鉴定专家系统,如:“农林害虫辅助鉴定多媒体专家系统”,“中国蝗总科分类、查询及鉴定专家系统”,“基于二叉分类推理的昆虫分类辅助鉴定多媒体专家系统通用平台”等都是单机版,不能同时为更多的用户进行服务,而且只覆盖到昆虫种类的一部分,虽然也有一些基于Web的分类查询系统,一些省市林业局开发的基于本地区昆虫资源的查询网站,它们也只覆盖某个科或某个区域,查询机制方面没有做的很好,对于新手来说很难检索到有用的信息(高灵旺等,2003;卢慧甍等,2003;徐晓国等,2004;张小斌等,2006)。

1 技术特点

软件采用面向对象的程序设计思想,基于Java Web+Tomcat+MSSQL Server 平台实现。Java Web 是用Java 技术来解决相关Web 互联网领域的技术总和。

Web 包括:Web 服务器和Web 客户端两部分。Java 在服务器端的应用非常的丰富,比如Servlet,JSP 和第三方框架等。Java 技术对Web 领域的发展注入了强大的动力,综合各种利弊,系统采用MVC的设计模式,即为Model、View、Controller。Model 是指Java Bean 对象,在里面封装了对于每一层次昆虫以及检索表的Bean。View 应用JSP 做显示,将每个Servlet 带回的每一个会话进行显示。Controller 指用Servlet 进行控制,用于进行各个界面的跳转交互,数据传递,以及对于数据库的增加、删除、修改、查询等操作。(李鸿强等,2011)

Tomcat 是Apache Software Foundation的Jakarta项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。同时,Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用。

SQL (Structured Query Language)结构化查询语言,是数据库查询和程序设计语言,用于存取数据及查询、更新和管理关系数据库系统。SQLServer 除了同时具有扩展性以及可靠性之外,还具有可迅速开发更新的因特网的系统的功能。特别是它能够直接存储XML 数据,并且可以将搜索出来的结果以XML的格式传输等特点。这有利于构建异构系统的相互的操作性,并奠定了面向网络的企业级应用和服务的基础 (李鸿强等,2007)。

2 系统设计

2.1 数据库设计

2.1.1 概念设计

概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。根据数据库需求给出该系统的E-R 图:

图1 目-科E-R 关系模型Fig.2 The E-R relation model of order andfamily

图2 科-属E-R 关系模型Fig.2 The E-R relation model of order and genus

图3 属-种E-R 关系模型Fig.3 The E-R relation model of genus and specie

2.1.2 逻辑结构设计

根据上述概念设计,设计如下数据库表结构:

表1 目表结构Table 1 Table structure of order

表2 科表结构Table 2 Table structure of family

表3 属表结构Table 3 Table structure of genus

表4 种表结构Table 4 Table structure of speciesz

2.2 检索设计

2.2.1 理论依据

(1)昆虫二项式检索表

昆虫检索有分目检索、分科检索、分属检索、分种检索,检索过程都依赖于事先确定好的检索表。昆虫检索表有单项式、包含式、双向式三种基本形式。其中双项式含义为:同一内容的两项相对特征,在一条内并列为二行描述,其中一行必与待查昆虫特征相符,末尾的数字表示下一步应查的一条。以广翅目古北界和东洋界属检索表为例:

1.前翅1A3支……………………………………2

前翅1A2支……………………………………3

2.翅前缘域透明或具褐色条纹;雄蛉第9 腹板端缘平截或凹缺…………………………星齿蛉属

翅前缘域黑色,基部和中部几个前缘室乳白色;雄蛉第9 腹板端缘向后强烈隆突……黑齿蛉属

3.头顶具1 对发达的齿状突;上颚明显雌雄异型;前翅前缘横脉网状……………………巨齿蛉属

头顶无齿状突;雌雄上颚形状相同;前翅前缘

横脉相互平行而非网状………………………4

4.雄蛉第9 腹板长于第9 背板……………齿蛉属

雄蛉第9 腹板短于第9 背板…………脉齿蛉属

(2)二叉树数据结构

二叉树是一种非线性数据结构,它具有以下两个特点:

1)非空二叉树只有一个根结点;

2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树,二叉树的子树有左右之分,其次序不能任意颠倒。

联系昆虫检索表和二叉树这一数据结构可知,昆虫检索表可用二叉树这一数据结构表示,并有如下特点:

除检索起点(根结点)外,每一个结点都有一个父结点(少数一个以上,称异常结点);

每个结点最多只有两个子结点。如果结点是昆虫的科、属、种,则以其名称命名该结点;

每个结点可以只有一个子结点;

如果结点为昆虫种,则该结点没有子结点。

3 系统实现

昆虫分类检索系统分为前台应用和后台应用两部分,前台部分主要包括昆虫的引导式检索,精确查询,昆虫信息树结构展示。后台主要是纲,目,科,属,种的信息管理,检索表信息管理和系统综合管理。系统结构见图4。

图4 系统结构图Fig.4 System structure

3.1 昆虫信息树形展示功能实现

图5 是普通用户进入此网站首先会看见的界面,昆虫层次结构树是在数据库中动态取到的数据,后台数据库做的修改在这都能显示,可以帮助大家了解到昆虫的分类。左上角有查看按钮,当点中树中的任何一个节点,再点击查看按钮,右侧窗口就会出现此节点的详细信息。

3.2 昆虫检索和精确查询功能实现

此功能模块是昆虫检索系统的主体所在,完全可以满足没有任何昆虫知识的人群准确检索到对应的昆虫,打开此界面刚开始会出现两个相对立的昆虫特征,网民可以根据手中的昆虫特征做出选择,之后重复同样的操作,直到检索到相应的种,点击此种便可以在右侧窗口显示此昆虫的详细信息。

如果此昆虫所属的目,或者科,或者属已知的话,可以直接定位到此检索层次,这在一定程度上也大大减少了昆虫检索的复杂度。如图6所示。

如果已知昆虫的名称,想查看昆虫的详细信息,可在左上角的精确查询框里输入昆虫的名字,将昆虫的详细信息显示在右侧。如图7 所示。

图5 昆虫信息展示界面Fig.5 The display interview of insect information

图6 昆虫检索界面Fig.6 The interview of insect search

图7 昆虫精确检索界面Fig.7 The interview of insect precise search

3.3 后台数据管理功能实现

数据管理模块主要实现昆虫各类信息的增加、删除、修改、查询工作,主要是分为目、科、属、种、检索等各个表的管理。其中父节Id 是非显示字段,是通过计算自动添加的。每一类的昆虫的添加所属是不能随意填写的,必须通过下拉列表框进行选择,Id 是自增的,无需管理员自行添加。操作过程见图8-10。

图8 数据管理界面Fig.8 The interview of insect data management

图9 数据添加界面Fig.9 The interview of insect data adding

图10 数据编辑界面Fig.10 The interview of insect data edition

4 结束语

昆虫分类检索技术,对于昆虫学研究有重大作用。目前,检索多只局限在形态学的手工检索上,对于一般农业昆虫学工作者来说,如果想要进行多分类单元的鉴定,需要花费大量时间掌握检索资料进行检索分类。我们对应用计算机进行昆虫分类检索进行研究,利用动态交互式网页技术和数据库技术建立昆虫分类检索网,充分发挥Internet的远程访问和交换的特点,使用户可以非常方便地进行检索、查询,并在权限许可下对数据进行添加、修改和删除等操作。《中国动物志·昆虫纲》信息量大,本系统将陆续涵盖所有信息,并在IE 6.0 和Firefox 9.0 浏览器上测试,运行稳定。

References)

Gao LW,Shen ZR,Liu ZQ.Design and development of Taxokeys,a dichotomous-reasoning-based multimedia expert system assisting insect identification and taxonomic study [J].Acta Entomologica Sinica,2003,46 (5):644-648.[高灵旺,沈佐锐,刘志琦.基于二叉分类推理的昆虫分类辅助鉴定多媒体专家系统通用平台TaxoKeys的设计与开发[J].昆虫学报,2003,46(5):644-648]

Lu HM,Huang Y.The design and complementation of expert system for classification retrieval and diagnosis for China acridoidea (ESCA)[J].Acta Zootaxonomica Sinica,2003,28 (3):428-433.[卢慧甍,黄原.中国蝗总科分类,查询及鉴定专家系统(ESCA)设计与实现[J].动物分类学报,2003,28 (3):428-433]

Li HQ,Li YM,Zeng LH,et al.Dairy cattle field information management system base on JDBC [J].Journal of Agriculture Mechanization Research,2007,(5):127-128.[李鸿强,李亚敏,曾立华,等.基于JDBC 技术的奶牛场信息管理系统[J].农机化研究,2007,(5):127-128]

Li HQ,Li YM,Lu HB,et al.Web-based management information system for dairy farm [J].Journal of Agriculture Mechanization Research,2011,33 (5):171-174.[李鸿强,李亚敏,卢海博,等.基于Web的奶牛场管理信息系统[J].农机化研究,2011,33 (4):171-174]

Xu XG,Mo JC,Cheng JA.Design and development of Web system for isoptera taxonomy [J].Entomotaxonomia,2004,26 (2):86-90.[徐晓国,莫建初,程家安.基于web的等翅目昆虫分类系统的设计和开发[J].昆虫分类学报,2004,26 (2):86-90]

Zhang XB,Chen XX,Cheng JA.Design and development of insect ID,a web system for insect taxonomy at family level in China [J].Entomotaxonomia,2006,28 (1):63-68.[张小斌,陈学新,程家安.基于Web的中国昆虫科级鉴别分类系统Insect ID的设计与开发[J].昆虫分类学报,2006,28 (1):63-68]

猜你喜欢
二叉树结点昆虫
RFID昆虫阅读放大镜
基于八数码问题的搜索算法的研究
二叉树创建方法
借昆虫上课
我最喜欢的昆虫——知了
Ladyzhenskaya流体力学方程组的确定模与确定结点个数估计
昆虫的冬天
一种由层次遍历和其它遍历构造二叉树的新算法
一种由遍历序列构造二叉树的改进算法
基于Raspberry PI为结点的天气云测量网络实现