APP下载

水鸟信息管理与应用系统设计与实现

2020-03-28廖宝雄曾南京刘观华李秀明钱法文

湿地科学与管理 2020年1期
关键词:背书网页鸟类

廖宝雄 曾南京 刘观华 李秀明 钱法文*

(1 中国林业科学研究院森林生态环境与保护研究所,国家林业和草原局森林保护学重点实验室,北京 100091;2 江西鄱阳湖国家级自然保护区,江西 南昌 330038)

当前世界已进入信息时代,如何高效地组织和分析数据成为了诸多领域进一步发展的瓶颈。我国水鸟研究起步较晚(郑光美, 1981),缺乏长期的、大范围的系统调查数据(王梦迪, 2015)。近些年有关水鸟的研究调查逐渐増多,与此同时,大众的观鸟活动也越来越普及,并且观鸟爱好者的自发观鸟活动收集了大量第一手观鸟数据,其相对于系统调查覆盖范围更广、观察时间序列更长(Geissler et al, 1981; Bart, 2005),为水鸟生态和保护研究提供了不可多得的数据来源,有必要加强对水鸟观鸟数据的利用和管理。此外,目前我国鸟类生态和保护研究领域的信息化程度还相对落后,现有的水鸟数据库还主要停留在单机数据库,甚至人工管理表格的阶段(郑光美, 1981; 李雪艳等, 2012)。为解决鸟类生态及保护研究野外调查数据入库难、存储难、查询不便、数据利用效率低等问题,有必要开发可通过网络随时随地访问的水鸟信息管理与应用系统,可有效地收集、管理和利用鸟类数据,为开展鸟类生态及保护研究提供技术支撑。

1 整体设计

1.1 系统需求分析

目标系统要实现调查数据的便捷入库、海量存储、方便查询、高效分析;同时系统要尽可能开放,便于更多人使用;页面简洁,易于使用。

1.2 系统架构设计

通过分析目标系统的需求,基于现有技术,选用适合的软件设计原则(Rumbaugh, 2004; 曹森等,2012),确定系统的整体方案。为了存储、查询及管理海量数据,系统应当有一个基础的数据库,同时为了实现更为便捷的访问,系统设计以网站的形式呈现。整个系统由后台数据库和前台网站构成,前台网站除了提供数据库的存储查询和管理功能外,还要有一定的便捷分析功能。目标系统的后台数据库由基于MySQL 5.6.21.1软件来创建,前台网站基于ASP.NET技术利用Microsoft Visual Studio 2010来开发,网站的具体网页包括首页、用户登入及注册、数据存储、查询、管理及统计分析等内容。

2 数据库设计

2.1 需求分析与概念设计

本数据库需要存储水鸟信息、注册人员信息和用户记录背书信息,涉及的业务活动主要为注册用户提交、管理水鸟信息和用户记录背书信息。

(1)水鸟信息:可分为3个部分,监测时间地点信息、鸟情记录信息、物种基础信息。考虑到越冬水鸟的研究中越来越关注温差、鸟类成鸟、幼鸟数量及鸟类行为等方面的情况,数据库将支持记录平均气温、最高温度、最低温度,以及总数量、幼鸟数量、亚成鸟数量、成鸟数量、休息、飞翔、游走、觅食、其他行为、雄鸟数量等详细数据。

(2)注册人员信息:存储注册人员账户及个人信息。

(3)用户记录背书信息:存储注册人员对每条记录的背书情况。

通过自底向上的方法,将用户需求抽象为概念模型,得到实体及属性的E-R图,详见图1至图5。

2.2 逻辑设计与表结构定义

由于本数据库采用的MySQL是关系模型的关系数据库管理系统,因此逻辑设计中主要是将概念设计中得到的实体关系模型(E-R图)转化成关系模式。然后对其进行转化(必要时可适当优化)得到各表结构。水鸟信息设计为观测点表、鸟类记录表、鸟类物种基础信息表3个物理表,注册人员信息设计为注册人员信息表一个物理表,用户记录背书信息设计为用户记录背书表一个物理表。各表的结构具体如下:

(1)观测点表(point table):主要字段有点记录代码、观测开始日期时间、观测结束日期和时间、调查方法、天气、能见度、气温、最高温、最低温、风速、风向、野外调查人员、数据录入员、数据录入时间、浏览数、地点省、市、县、乡、地名或湖名、经度、纬度、隐私、备注、关联文件代码,其中点记录代码为主键。

图1 物种实体及属性局部E-R图Fig.1 Local E-R Diagram of Species Entitiy and Attributes

图2 监测点实体及属性局部E-R图Fig.2 Local E-R Diagram of Monitor-point Entitiy and Attributes

图3 鸟情记录实体及属性局部E-R图Fig.3 Local E-R Diagram of Bird-record Entitiy and Attributes

图4 注册用户实体及属性局部E-R图Fig.4 Local E-R Diagram of Registered-user Entitiy and Attributes

图5 记录提交局部E-R图Fig.5 Local E-R Diagram of Submit-record Entitiy and Attributes

(2)鸟类记录表(bird_record table):主要字段有鸟信息记录代码、物种名、生境类型、总数量、幼鸟数量、亚成鸟数量、成鸟数量、休息、飞翔、游走、觅食、其他、停留时间、人为活动类型、食物类型、雄鸟数量、识别方式、观测点代码、备注、数据录入时间,其中鸟信息记录代码为主键。

(3)鸟类物种基础信息表(bird_information table):主要字段有物种代码、物种中文名、物种英文名、物种拉丁名、备注、分布、习性、特征,其中物种代码为主键。

(4)注册人员信息表(staff_informatio table):主要字段有用户代码、注册账号、账户名、密码、邮箱、手机、固话、单位、通讯地址、真实名、昵称、性别、其他信息、读权限、更新权限、删除权限,其中用户代码为主键。

(5)用户记录背书表(user_record_endorsed table):主要字段有背书代码、用户名、记录代码、背书字符串,其中背书代码为主键。

2.3 表的关联

为了保持不同物理表在存储数据时的数据完整性,需要对物理表之间的关联关系作适当设定。鸟类记录表当中的“观测点代码”字段作为外键对应观测点表中的主键“点记录代码”,鸟类记录表当中的“物种名”字段作为外键对应鸟类物种基础信息表中的主键“物种代码”,用户记录背书表当中的“记录代码”字段作为外键对应鸟类记录表中的主键“鸟信息记录代码”。

并将所有外键属性设定为,删除时限制(“RESTRICT”),更新时更新(“CASCADE”)。例如上述鸟类记录表、观测点表的外键约束中,当要删除观测点表中的某一条记录时,数据库系统会自动检查该条记录是否被鸟类记录表中的某条记录关联,如果有则不能删除(想要删除,则必须先删除鸟类记录表中的对应记录)。当更新观测点表中的某一条记录时,数据库系统会自动将更新反应到鸟类记录表中有关联的记录中。

3 网站设计

后台数据库是目标系统的基础,前台网站是目标系统的窗口。网站设计的合理与否直接关系到用户的体验和后续使用兴趣。

3.1 需求分析

根据需求调查和“整体设计”章节知道,网站的具体网页包括首页、用户登入及注册、数据存储、查询、管理及统计分析等内容。所有网页应当有统一的风格,网页与网页之间的关系应当有一定的连贯性,单个网页的不同内容之间应当在视觉上有所分割。

网站可分为首页、记录查询、鸟情统计、鸟情分析和数据管理5个功能模块,其中数据管理包含账号登入、账号注册、账号管理、记录录入、记录管理(修改、删除)、记录背书等子模块,成功登入账号后才可进行相关数据管理操作。每个模块(或子模块)设计为一个页面。

(1)账户注册页面,只输入少数关键信息即可提交注册。用户名可辅助查重,实现唯一的用户名功能。

(2)记录查询页面,用户可通过观测时间、调查者姓名、地点等进行筛选查询,呈现符合要求的记录。

(3)记录管理页面,用户可对本人提交的记录进行更新、删除等管理。

(4)记录背书页面,用户可对其他用户的记录进行背书,表示支持。

(5)鸟情统计页面,用户可统计指定时间范围内监测到的物种清单、各物种被监测到的次数和各物种被监测到的数量等,亦可统计指定物种是否被监测到。

(6)鸟情分析页面,用户可设置物种、观测时间、观测地点等进行查询,显示查询结果中数量-空间分布情况,并展示查询结果中数量-时间分布情况。

3.2 网页内容与布局定义

基于ASP.NET技术的特点,我们设计模板页供所有网页引用,以统一所有网页的风格,定义各网页的整体布局,并尽量简化内容页的开发和维护。管理中只需更改模板页即可实现所有网页风格的统一更改。同时为更好地隔离、管理需要登入权限才可访问的网页,设计“登入成功欢迎页面”,以管理相关网页的导航。

(1)模板页1:用于未登入账号即可访问的网页,模板页从上往下由页面顶部图片、导航、内容页占位符、版权信息等4部分组成。导航应有首页、记录查询页面、统计页面、分析页面、登入页面、注册页面等的链接。

(2)模板页2:用于需登入才能访问的页面,模板页从上往下由页面顶部图片、导航、退出按钮、内容页占位符、版权信息5部分组成。导航包含首页、登入页面、注册页面等的链接。

(3)首页:最新照片、最新记录显示表格。以表格的形式展示监测点序号、时间、地点、野外调查人员、鸟种数、总数量、录入时间等。

(4)登入成功欢迎页面:登入成功后跳转到此页面,页面有欢迎词、用户账号管理页面跳转链接、记录提交页面跳转链接、记录管理页面跳转链接、记录背书页面跳转链接等组成。用户账号管理、记录提交、记录管理、记录背书等功能只有在登入的状态下才可实现。

(5)记录查询页面:有输入设定地点、观测开始和结束时间、野外调查人等条件的输入编辑框,查询按钮,查询全部快捷按钮,显示结果的表格。以表格的形式返回监测点序号、时间、地点、野外调查人员、鸟种数、总数量等。

(6)鸟情统计页面:有物种、观测开始和结束时间、地点、野外调查人员等输入编辑框,查询按钮,查询全部快捷按钮,显示结果的表格。以表格的形式返回统计到的鸟种数、每一个被统计到的鸟种名称、被记录的次数、数量求和、单次数量最大值。当限定物种的时候,只返回该物种被统计到的信息。

(7)鸟情分析页面:有物种、观测开始和结束时间、地点、数据分类方式等信息的输入编辑框,查询按钮,显示热力图按钮,关闭热力图按钮,导出数据按钮、地图、折线图、显示结果的表格。以表格的形式返回物种名称、时间、地点、经纬度、数量等信息。以地图的形式展示数量在空间中的分布情况。以折线图的形式展现数量随时间变化的情况。

(8)登入页面:内容包括用户名、密码输入编辑框,提交按钮。

(9)新用户注册页面:内容包括用户名、密码、确认密码、邮箱等输入编辑框,注册按钮,返回按钮。用户名支持唯一性验证,自动检验密码、确认密码是否一致,自动检查用户名、密码、确认密码、邮箱、手机号、真实姓名是否为空,有空项将不予注册,并以红色字体显示提示信息。

(10)用户账号管理页面:依次显示当前账号的账户名、邮箱、手机号码、电话号码、工作单位或地址、通讯地址、真实姓名、昵称、性别、其他信息,新邮箱、新手机号码、新电话号码、新工作单位或地址、新通讯地址、新真实姓名、新昵称、性别、其他信息、新密码、确认新密码等更新编辑框,以及原密码输入编辑框,更新按钮。

(11)记录录入页面:包括观测点信息输入编辑框,提交观测点信息按钮,批量提交观测点记录选项框及按钮,鸟情输入编辑框,提交鸟情信息按钮,批量提交鸟情记录选项框及按钮。

(12)记录管理页面:包括观测点记录管理表格(内含编辑、删除按钮),鸟情记录管理表格(内含编辑、删除按钮)。

(13)记录背书页面:包括记录背书管理表格(内含背书按钮)和适当说明文字。

3.3 视图定义

为了简化网页代码,便于网页调用数据库数据,对网页中不同的表格在数据库中分别定义专门的视图。

(1)主页视图:综合了观测点表和鸟类记录表的信息,增加了对物种的计数和对数量的求和,主要用于支持主页记录信息的展示及作为记录查询页面查询的数据源。

图6 2015年冬季水鸟数量空间分布(部分截图)Fig.6 Spatial Distribution of Waterbirds in Winter 2015 (Partial Screenshots)

图7 2015年冬季水鸟数量时间分布(部分截图)Fig.7 Time Distribution of Waterbirds in Winter 2015 (Partial Screenshots)注:“求和”即单位时间内所有记录鸟类数量之和;“最大值”即单位时间内鸟类数量最多的那一条记录的值;“平均值”即单位时间内所有记录鸟类数量之和除以记录条数。

(2)统计视图:综合了观测点表和鸟类记录表的信息,增加了对监测点的计数,主要用于支持鸟情统计页面,作为该页数据查询的数据源。

(3)分析视图:综合了鸟类物种基础信息表、观测点表和鸟类记录表的信息,主要用于支持鸟情分析页面,作为分析页面数据查询的数据源。

3.4 数据库连接

网页开发中,网页与数据库的连接使用MySQL推出的MySQL Connector/Net组件,该组件是MySQL为ADO.NET访问MySQL数据库设计的.NET专用访问组件(Oracle Corporation and/or its affiliates, 2018)。安装完成该组件后,需要在项目中引用这个组件,在程序中引用命名空间MySql.Data.MySqlClient(Oracle Corporation and/or its affiliates, 2018;李波,2005),然后可开始连接MySQL数据库的操作。

4 实现与测试分析

在MySQL 5.6.21.1环境中构建数据库,利用Microsoft Visual Studio 2010开发网页,将网站部署到Internet信息服务(IIS 7.0),服务器操作系统可以为Windows Server 2003,部署好的系统便可以通过浏览器进行访问。

以鄱阳湖国家级自然保护区大湖池、常湖池和朱市湖区域2015年10月至2016年3月、2016年10月至2017年3月两个越冬期的水鸟调查数据为样本,通过系统的“记录录入”页面录入到系统数据库中。通过“记录查询”页面可以设置不同的调查时间、地点或调查人进行查询。通过“鸟情统计”页面可以设置不同的物种、调查时间、地点或调查人进行统计。通过“鸟情分析”页面可以设置不同的物种、调查时间、地点进行分析,系统会将符合条件的记录以表格形式列出,将鸟类数量随空间的分布情况以热力图的形式显示在地图中(图6),将鸟类数量随时间变化的情况以折线图的形式显示出来(图7)。

5 结语

本文对水鸟信息管理与应用系统的整体结构、数据库及网站内容、布局和与数据库的连接等进行了详细设计,经编程实现,其中网站页面的调试主要在搜狗高速浏览器(版本号:7.5.5.26904)上完成,并能够有效运行。在“鸟情分析”页面中,是基于百度地图开发的水鸟数量随空间分布情况的显示功能,由于坐标系统转换和热力图运算模块性能不够优良,还存在热点位置显示偏差、样本量较大时热力图刷新慢等问题,有待进一步研究和优化。

猜你喜欢

背书网页鸟类
善于学习的鸟类
背书是写作的基本功
背书
基于HTML5与CSS3的网页设计技术研究
我的湿地鸟类朋友
鸟类
基于CSS的网页导航栏的设计
基于HTML5静态网页设计
基于URL和网页类型的网页信息采集研究
背书连续性若干问题探析