基于Spring Boot+Vue框架的羊场综合管理系统软件的设计与应用
2024-03-12姜韶华常星海高云帆李书琴陈玉林张恩平
姜韶华,常星海,高云帆,南 风,马 东,李书琴,陈玉林,张恩平*
(1. 西北农林科技大学 动物科技学院,陕西 杨凌 712100;2.西北农林科技大学 信息工程学院,陕西 杨凌 712100; 3.陕西省榆林市羊产业发展中心,陕西 榆林 719000)
目前,集约化、规模化羊场已然成为我国羊养殖业的主流模式[1]。然而,随着这种模式的广泛应用,羊场管理中的问题和弊端也逐渐显现出来。首先,生产管理过程中的记录方式仍然沿用传统的手工或Excel方式,这种方式不仅效率低下,且专业性也有待提高。此外,由于缺乏及时、精确的数据支持,管理人员很难全面准确地掌握羊场生产的实际情况,从而影响羊场的管理与决策。在科学育种方面,传统的方式主要依据个体表型值进行选种,但由于缺乏相关数据支撑,选种的可靠性有待提高。为了让羊场更加科学、高效地运转,需要采用现代化的技术和手段来对羊场进行精细化管理,实现生产过程全程监控和精准育种。
随着全球信息化的推进,计算机技术与现代网络技术在畜牧业的推广与应用中起到举足轻重的作用。2005年,张德成[2]应用Jsp等语言设计了集约化肉羊生产场计算机信息管理系统;两年后,张超峰[3]分别选择VB6.0作为前端开发工具与SQL Server作为后端开发工具,开发了基于C/S的羊场信息管理系统;2016年,李欣[4]采用Ext JS前端框架技术以及Struts2、Spring和Hibernate后端框架技术设计了肉羊养殖管理与溯源平台的体系结构;Hamadan等[5]构建了基于人工智能和物联网兼容的绵羊在线决策系统。虽然近年来我国羊场综合管理系统取得了进步,但与畜牧业发达的国家相比,在规模化羊场的运用仍较为滞后。因此,需要继续加强技术研究和应用,提升羊场综合管理水平。
鉴于此,本研究通过计算机技术与养殖生产实际相结合,采用Spring Boot+Vue框架.浏览器/服务器(Browser/Server,B/S)和客户机/服务器(Client/Server,C/S)混合结构的羊场综合管理系统软件(以下简称“系统”),重点研发了羊只的科学育种管理模块,针对生产中出现的羊只生产资料管理混乱,饲料、药品管理粗放,公母羊无科学化配种方案等问题提供了切实可行的解决方案,同时为后续研究提供了可用的原始数据支持和新的思路,使羊场管理更加规范化、科学化、智能化。
1 系统的开发与设计
1.1 系统的开发环境
羊场管理系统软件基于Windows10+jdk1.8和阿里云ECS开发并运行,Microsoft Edge作为前端标准浏览器,采用Java、R等编程语言和MySQL数据库系统进行综合开发。系统开发所用电脑的CPU为Intel(R)Core(TM)i7-4790,RAM容量为16 GB,Storage容量为512 GB,固态硬盘为KIOXIA。系统的搭建主要包括后端和前端两个部分,两个部分完成的主要功能不同,采用的方法和机制也不同。
1.2 系统前后端的搭建
本研究采用Spring Boot+Vue前后端分离快速开发框架,现阶段,管理系统在各行各业取得较大发展,具有提高系统效率和优化性能、提高可维护性和可拓展性、增强用户体验、提高系统的易用性和适用性等优点,同时降低了开发时间和复杂度[6-7]。
1.2.1 系统前端的搭建 采用Vue、Echarts、ElementUI、Nginx进行前端开发,Vue是一套用于构建用户界面的渐进式框架,相比于其他框架更加轻量、灵活,采用Echarts绘制图表,用ElementUI设置按钮样式[8]。采用Nginx作为web服务器,Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,其特点是占用内存少,并发能力强。在linux服务器中通过Docker部署Nginx等容器,Docker能够将应用程序与基础架构分开,从而可以快速交付软件[9]。
1.2.2 系统后端的搭建 采用Spring Boot为开发框架,优势在于可以依赖管理、自动化配置和简化开发与部署。采用约定大于配置的方法,直接引入依赖,即可实现代码的开发[6]。采用MySQL作为数据库软件,持久层框架支持定制化SQL、存储过程以及高级映射的MyBatis,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护和单元测试[10]。
1.3 系统设计
羊场综合信息管理系统根据用户需求采用B/S与C/S两种结构模式。其中以B/S结构模式为主,在实际操作时,某些养殖场存在网络不稳定、数据保密等情况,需部署C/S结构模式。在羊场需求方面,本系统设计肉用、奶用、绒毛用三套权限,满足各用途羊场的使用。在科学育种方面,通过调用R语言的Sommer包和Ime4包以及通过表型赋值的平均表现型模型,实现羊场数据信息化管理以及羊只遗传评估的功能。
1.3.1 系统需求分析 通过羊场实际调研与信息收集,深入了解到羊场的管理现状。根据实际情况,将系统用户分为以下四类:一是羊场管理者,其负责制定决策、下达生产指令和检查落实情况,需数据汇总和分析结果,是生产信息的管理者;二是羊场工作人员,该部分人员负责羊场的生产技术问题,执行上级生产计划,并上报落实情况,是生产信息的采集者和录入者;三是系统管理员,负责系统的正常维护;四是政府相关部门,负责了解特定区域中羊场以及羊只数量。本研究根据行政划分,县级只能查看该县的相关羊场信息报表数据,而省级则可以查看全省的全部信息,包括市和县级的数据。
1.3.2 总体框架设计 为了确保羊场信息管理系统的安全性,该系统采取了用户权限和账号密码管理措施。在系统的登录页面上,用户需要输入规定的账号、密码以及验证码。只有通过身份验证,用户才能进入系统。该系统根据用户的类型,展示不同的首页和功能,并赋予不同的操作权限。详细权限分配如图1所示。这些权限管理措施有效地限制了用户对系统的访问和操作范围,确保了羊场信息的安全性和保密性。
图1 系统总体功能模块图Fig.1 Diagram of overall system functional module
1.3.3 系统功能模块设计 系统功能模块提供了全面、高效、可视化的羊场信息管理技术,它将现实中繁琐的数据资料进行汇总、储存,通过计算机编程语言来使用并分析数据,为用户提供有效的决策。因此,针对羊场管理的实际需求,本研究设计并开发一款集羊只管理信息、生产信息、疫病信息、繁殖信息、药品管理、饲料管理、科学育种、统计报表及预警于一体的羊场综合管理系统,为羊场科学化管理提供可靠技术支持。系统共分8个模块,36项功能,结构如图2所示。系统各功能模块设置了数据的增删查改、导入、导出等功能。
图2 系统应用功能模块设计Fig.2 Design of functional module of system application
在数据查询方面,用户可以通过羊只耳标号进行查询,也可根据自身需求查询,例如羊舍、时期、用途等。在数据添加方面,用户可通过批量导入功能进行上传,点击导入并选择下载Excel模板,根据模板填入信息,若数据缺失可空出或用NA代替。在羊只转圈情况下,不适用于批量导入,但系统中设置网页批量操作,可以全圈选择也可以选择圈中的某些个体。在数据导出方面,本系统设置两种方式,一是点击导出键即可全部导出;二是数据经过特定目标查询后,按照数据量进行分页设置,使需导出的数据集中在一页,点击列表前的复选框,点击“导出”键,数据以Excel文件或图片的形式自动保存在浏览器下载文件夹中。
1.3.4 系统数据库设计 本系统选用MySQL关系数据库作为数据存储和处理工具。MySQL数据库凭借其高速访问和灵活操作的特性,能够高效支撑数据分析工作[10]。在数据库设计过程中,实体-关系图(Entity Relationship Diagram,E-R 模型)是一种被广泛接受的模型,用于描述现实世界中的实体类型、属性和相互关系[17]。为了充分满足羊场数据实际应用需求,本系统针对收集到的需求信息进行深入分析,明确各实体间的关系,并据此构建了相应的E-R模型(图3)。
图3 系统数据库E-R模型 注:图中实体用矩形表示, 关系用菱形表示, 属性用椭圆表示,“N”代表多个。Fig.3 E-R model of system database Note: In the figure, entities are represented by rectangles, relationships are represented by diamonds, attributes are represented by ellipses, and “N” stands for multiple.
2 科学育种模块的建立
动物育种的关键步骤是进行选育,也就是根据预设的育种目标,系统地挑选具有优良遗传特性的个体进行繁殖,以期提高后代群体的基因水平,并实现群体遗传质量的定向提升。在此过程中,能否精准地识别出具有优良遗传特性的个体是决定育种工作成功与否的关键环节。
2.1 遗传力
在羊生产中,种公畜数远少于母畜,因此同父异母的半同胞资料较普遍。若半同胞的数量多,处于相同的胎次和相同的年龄,环境差异小,得出的遗传力精确程度较高。所以,本研究采用半同胞相关法计算遗传力。公式如下:
h2=4r(HS)
2.2 近交系数
近交系数是指两只公母羊之间存在的亲缘关系,在其子代中形成相同等位基因的机会,可用以估算纯合基因来自共同祖先的百分比。在本系统中,用户可以输入两只羊的编号,系统会调用共同祖先(六代)的系谱图,如图4所示,计算并显示出近交系数。计算近交系数的公式如下:
FX:个体X(两只目标交配个体后代)的近交系数;
∑:表示求和,即把个体到其共同祖先的所有通径链累加起来;
1/2:常数,表示两世代配子间的通径系数;
图4 近交系谱示意图 注:图中方形指公羊,圆形指母羊, 颜色深色指所选公母羊的共同祖先。Fig. 4 Schematic diagram of inbreeding genealogy Note: The squares in the figure stand for rams, the circles for ewes, and the dark shade for the common ancestry of the selected rams and ewes.
N:通过共同祖先把个体X的父亲和母亲连接起来的通径链上的所有个体数;
FA:共同祖先的近交系数,计算方法与计算Fx相同,如果共同祖先不是近交个体,则等于0。
2.3 育种值评估模型
在本研究中,构建三种模型来计算育种值,分别为R语言Sommer包的单性状BLUP(best linear unbiased prediction)模型、R语言Ime4包的GLMM(generalized linear mixed models)模型和平均表现型模型。BLUP模型自上世纪80年代引入中国,在动植物育种中发展迅猛,吴飞等[11]通过BLUP模型计算肉羊的育种值。GLMM模型自2005年引入动物离散性状的遗传分析及个体的遗传评定,殷宗俊等[12]验证其在家畜的可行性,国外研究人员在R语言上优化GLMM模型的应用[13]。平均表现型模型根据遗传力计算且自动给各项特征赋值,适合遗传信息不完善的羊场使用。本模块可自动计算近交系数,在使用过程中得到用户的认可。
3 系统应用的测试与实现
系统为验证系统可行性,在陕西省榆林市某集约化肉羊场进行实际生产运用超过半年。测试数据分为由公司提供的数据和由课题研究人员测定的数据,前者是三年内羊只基础信息、系谱信息、饲料原料、药品信息等数据,后者追踪核心群体从新生羔羊到6月龄羊只,共计2 189只,包括产羔记录表、断奶淘汰表、6月龄体重体尺表等。
3.1 系统测试
测试是系统正式上线投入运营前的重要环节,旨在验证系统是否满足功能性需求以及性能方面的要求。通过软件测试,能够发现系统中潜在的问题,及时修正,以保证系统的正常运行。本次测试采用黑盒测试的方法进行业务功能以及应用功能测试。业务功能测试用例如表1所示。应用功能测试用例如表2所示。此外,本研究性能测试主要测试接口的响应时间,平均接口响应时间在4 s以内,能够满足羊场对于信息管理系统的需求。
表1 业务功能测试用例Table 1 Cases for business functional test
表2 应用功能测试用例Table 2 Cases for application functional test
3.2 羊只信息管理
羊只基本信息是羊场管理的基础,通过输入对应信息,本系统为确保信息的唯一性,自动生成15位身份ID号(命名规则:行政编号6位+场号2位+出生年月4位+性别1位+流水号4位)。通过该身份ID号能查到羊只所有信息,方便档案管理。
3.3 羊只育种管理
在本研究中,肉用羊采用羊只体重、体高、体长等表型值选育[14],奶用羊选育还需产奶量、乳脂率、蛋白率等表型值[15];绒用羊采用绒细度、剪毛量、拉伸长度等表型值为遗传参数评估判断依据[16],用户先选择育种值算法模型,再根据具体需求选择不同表型值的比例。同时,划分多个时间段,用户可以根据不同时间段的数据进行育种值计算,首先,系统将公羊进行自动排序。排序规则如下:在等级鉴定功能中,羊只评级为特级、一级、二级、三级及等外;育种值先根据等级排序,同一等级根据育种值排序,排序高的优先配种,育种值排序结果。其次,选择配种母羊群,确定与单只公羊配种的母羊数,可自动生成配种方案,配种方案中显示近交系数、母羊发情次数、配种次数等。母羊同样进行育种值排序,排序规则同公羊。
本研究协助羊场需求帮其选择公羊进行留种。通过近期测定数据估测6月龄公羊群育种值,用平均表现型模型获得育种值前50名的公羊,然后针对排名靠前的公羊逐一挑选,即长势优良,符合留种要求的公羊,结果显示平均表现型模型符合实际需求。另外通过羊场提供系谱数据用BLUP模型与GLMM模型估测亲本育种值,测定了羊场种公羊及母羊的性能优劣,为羊场下一步育种提供可靠方案。
3.4 羊只饲养管理
饲养管理模块会根据羊只的类型、生长阶段、体重和日增重等信息,提供相应的饲养标准以及常用饲料的营养成分含量,有助于更加科学地进行饲养。在选定饲料原料之后,该模块可以构建羊饲料配方并记录羊只的饲喂量,从而更好地监控饲料的用量。此外,根据饲喂量确定饲料费用并对配方做出调整,有助于更好地控制饲养成本。
3.5 羊场报账统计
本模块的主要功能是对羊场生产信息的收集、整理和分析,包括三个方面:繁殖情况、生产情况及羊群情况。通过收集数据,可自动计算出选定时间段内的发情率和产羔率等,并以可视化形式展示;还可以对饲料和药品的使用情况进行整理,得出一段时间内饲料和药品的消耗情况。这些信息对于评估羊场的生产效益和制定经营策略具有重要意义。
3.6 羊只预警
本研究中,模块设计了产羔预警、转圈预警及性能测定预警等功能。这些模块依托配种日期、出生日期等相关时间信息,计算出相应的时间间隔,并在间隔期届满前7 d开始发出预警提示。一旦预警触发,将通知羊场及时进行处理,并着手准备相关作业。
4 讨 论
近些年,羊产业的信息管理系统得到了迅速的发展。但现有的羊场管理系统大多只针对单一用途,采用传统的育种算法。孟瑞强[18]开发了绒山羊育种信息管理系统;吴铁成[19]开发了绒山羊育种生产管理系统;鲁绍雄等[20]开发了肉羊信息管理与育种分析系统;胡师金[21]设计完成了基于物联网的肉羊育种管理信息系统。为解决单一用途问题,本研究在实现三种传统育种模型算法的基础上,进一步深度挖掘现代遗传评估技术,根据科研需求加入GBLUP法运算功能,构建适合羊产业高效发展的繁育体系。通过使用本系统,用户可以更加方便地管理羊场信息,并更加准确地评估育种模型算法的效果,从而有效指导羊场的生产和繁育工作。
在遗传育种模型选择方面,市面上ASReml、GBS、WOMBAT等育种软件专业性强,但由于缺少专业的饲养人员或培训人员,羊场实施难度较大,因此,本研究决定通过Java调用R语言的方式来实现。用户只需在页面上点击相应的按钮,系统即可计算出所需结果。在模型使用性质方面,由于R语言的Sommer包和Ime4包均为免费软件,本研究采用这两种软件包,并设计了一套平均表现型模型作补充,作为本系统的遗传评估模型。在羊场繁殖信息统计方面,本研究采用了数据可视化技术,通过表格和多种类型的图片按时间段展示,包括羊场的产羔率、繁殖率、发情率等关键指标。在饲料和药品管理中,本研究利用表格按时间段展示饲料与药品的使用情况,方便羊场管理人员进行查看并做出科学决策。
随着技术的不断演进,本研究将持续关注人工智能、大数据分析、物联网等领域的发展,并积极探索如何将这些新技术应用到软件系统中,提升软件系统的智能化水平。同时,本研究将注重合理的API设计、模块化的系统结构及开放式的数据交互标准,确保软件系统具备良好的可扩展性和集成能力。本系统接口使用标准的HTTP方法和数据格式,通过RESTful API系统扩展和修改接口,使得软件系统能够与新技术、新业务需求有效对接。此外,不断探索更灵活的更新机制,如增量式更新、容器化部署等,实现更快速、更可靠的软件更新流程,积极探索应用持续集成/持续交付(CI/CD)[22]等最新技术,实现软件升级过程的自动化和智能化管理。
5 结 论
本研究整合现有系统的优点,结合实际生产操作,构建基于Spring Boot+Vue羊场综合管理系统软件,实现全方位的羊只基本信息、性能信息、配方信息、育种信息、疫病信息、繁育信息等规范化管理。本系统提供定制化功能,有效解决羊场实际问题,提高工作效率;在维护方面运用私有云技术,在云端完成系统维护工作,确保系统安全稳定运行,降低维护成本。同时研究人员历经半年的实际运用,了解到系统设计的瑕疵及潜在问题,及时分析原因并进行优化,使该系统更符合中国羊产业的实际应用环境。在国家大力推动智慧畜牧业的背景下,该系统的应用对中国羊产业向现代化转型具有重大意义。