一种水产养殖流程的自动化管理方法和自动化管理系统与流程

文档序号:16392312发布日期:2018-12-25 19:26阅读:277来源:国知局
一种水产养殖流程的自动化管理方法和自动化管理系统与流程

本发明涉及水产养殖信息化过程管理领域,特别是涉及一种水产养殖流程的自动化管理方法和自动化管理系统。

背景技术

目前信息化水产养殖过程管理的相关研究大多偏向于对水温、溶解氧、酸碱度等水质环境因素的检测,结合相关硬件设备,建立养殖环境实时监控系统,如基于物联网的水产养殖智能化监控系统、池塘养殖自动控制系统、基于无线传感器网络的水产养殖多环境因素监测系统等;或者在此基础上再加入精准化科学投喂系统,如基于.net的池塘养殖数字化管理系统。现有的工厂化精准水产养殖系统(如以色列采用的高度集约化养殖模式、日照地区南美白对虾工厂化养殖模式)多是依靠先进养殖设备实现单个或多个养殖环节上的自动化,并非扩展到整个养殖流程。到目前为止,并没有一种明确有效的方法可以同时控制整个水产养殖过程,实现养殖过程的自动化、流程化管理。传统的水产养殖过程管理习惯依据养殖人员的经验去判断当前的养殖状态和进行相应的养殖操作,由于缺乏精准有效的养殖业务决策能力,由养殖人员操作失误而导致池塘水产品死亡事件屡屡发生。

因此,如何对水产养殖进行自动化、流程化、精细化的管理,成为本领域技术人员亟需解决的技术问题。



技术实现要素:

本发明的目的是提供一种水产养殖流程的自动化管理方法和自动化管理系统,通过工作流引擎实现养殖全流程的业务管理,实现养殖流程化、自动化管理的目标;通过规则引擎技术控制养殖关键流程的动态走向,做出养殖的业务决策,实现养殖精细化管理的目标。

为实现上述目的,本发明提供了如下方案:

一种水产养殖流程的自动化管理方法,所述自动化管理方法包括:

根据水产养殖对象的养殖流程,采用工作流流程设计器建立所述水产养殖对象的初始养殖流程模型,所述初始养殖流程模型包括多个流程分支,每个所述流程分支包括至少一个用户任务和各个所述用户任务的执行序列,所述用户任务为所述水产养殖对象的养殖状态;

获取所述水产养殖对象的养殖规则;

采用规则引擎将所述养殖规则载入所述初始养殖流程模型,获得自动化管理养殖流程模型。

可选的,所述采用规则引擎将所述养殖规则载入所述初始养殖流程模型,获得自动化管理养殖流程模型之后,还包括:

采用junit4.0测试框架辅助平台对所述自动化管理养殖流程模型进行测试验证。

可选的,所述养殖规则包括:水位规则、水质规则、养殖对象状态规则、投喂规则、投药规则、病症诊断规则。

可选的,所述工作流引擎为activiti工作流引擎,采用所述activiti工作流引擎的并行网关实现多个所述养殖状态的并发执行或结束。

可选的,通过所述activiti工作流引擎的定时器边界事件实现养殖任务的定时定点执行。

可选的,通过所述activiti工作流引擎的服务任务实现病症自动诊断。

可选的,所述规则引擎为drools规则引擎。

一种水产养殖流程的自动化管理系统,所述自动化管理系统包括:

初始模型确定模块,用于根据水产养殖对象的养殖流程,采用工作流流程设计器建立所述水产养殖对象的初始养殖流程模型,所述初始养殖流程模型包括多个流程分支,每个所述流程分支包括至少一个用户任务和各个所述用户任务的执行序列,所述用户任务为所述水产养殖对象的养殖状态;

养殖规则获取模块,用于获取所述水产养殖对象的养殖规则;

自动化管理模型确定模块,用于采用规则引擎将所述养殖规则载入所述初始养殖流程模型,获得自动化管理养殖流程模型。

可选的,所述自动化管理系统还包括:

测试模块,用于采用junit4.0测试框架辅助平台对所述自动化管理养殖流程模型进行测试验证。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明提供的一种水产养殖流程的自动化管理方法及自动化管理系统,首先根据水产养殖对象的养殖流程,采用工作流流程设计器建立水产养殖对象的初始养殖流程模型,然后采用规则引擎将养殖规则载入初始养殖流程模型,获得自动化管理养殖流程模型。本发明通过工作流将流程与业务逻辑相分离,又采用规则引擎将业务规则与流程逻辑相分离,通过工作流引擎实现养殖全流程的业务管理,实现养殖流程化、自动化管理的目标,通过规则引擎技术控制养殖关键流程的动态走向,做出养殖过程中业务决策,实现养殖精细化管理的目标。本发明将工作流和规则引擎技术拓展到水产养殖过程管理领域,实现了水产养殖过程的自动化、流程化、精细化管理。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例提供的水产养殖流程的自动化管理方法的流程图;

图2为本发明实施例提供的水产养殖流程的自动化管理系统的流程图;

图3为本发明实施例提供的南美白对虾养殖流程模型图;

图4为本发明实施例提供的drools在水产养殖流程管理中的工作流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种水产养殖流程的自动化管理方法和自动化管理系统,通过工作流引擎实现养殖全流程的业务管理,实现养殖流程化、自动化管理的目标;通过规则引擎技术控制养殖关键流程的动态走向,做出养殖的业务决策,实现养殖精细化管理的目标。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1为本发明实施例提供的水产养殖流程的自动化管理方法的流程图。如图1所示,一种水产养殖流程的自动化管理方法,所述自动化管理方法包括:

步骤101:根据水产养殖对象的养殖流程,采用工作流流程设计器建立所述水产养殖对象的初始养殖流程模型,所述初始养殖流程模型包括多个流程分支,每个所述流程分支包括至少一个用户任务和各个所述用户任务的执行序列,所述用户任务为所述水产养殖对象的养殖状态。

步骤102:获取所述水产养殖对象的养殖规则。所述养殖规则包括:水位规则、水质规则、养殖对象状态规则、投喂规则、投药规则、病症诊断规则。

步骤103:采用规则引擎将所述养殖规则载入所述初始养殖流程模型,获得自动化管理养殖流程模型。本实施例中,所述规则引擎为drools规则引擎。

步骤104:采用junit4.0测试框架辅助平台对所述自动化管理养殖流程模型进行测试验证。

本实施例中,所述工作流引擎为activiti工作流引擎,采用并行网关实现多个所述养殖状态的并发执行或结束,排他网关和兼容网关用于养殖分支上的简单决策,通过定时器边界事件实现养殖任务的定时定点执行,通过服务任务实现病症自动诊断。

图2为本发明实施例提供的水产养殖流程的自动化管理系统的结构框图。如图2所示,一种水产养殖流程的自动化管理系统,所述自动化管理系统包括:

初始模型确定模块201,用于根据水产养殖对象的养殖流程,采用工作流流程设计器建立所述水产养殖对象的初始养殖流程模型,所述初始养殖流程模型包括多个流程分支,每个所述流程分支包括至少一个用户任务和各个所述用户任务的执行序列,所述用户任务为所述水产养殖对象的养殖状态。

养殖规则获取模块202,用于获取所述水产养殖对象的养殖规则。

自动化管理模型确定模块203,用于采用规则引擎将所述养殖规则载入所述初始养殖流程模型,获得自动化管理养殖流程模型。

测试模块204,用于采用junit4.0测试框架辅助平台对所述自动化管理养殖流程模型进行测试验证。

本实施例在windows10操作系统下,使用eclipse3.7集成开发环境作为搭建水产养殖流程自动化管理平台的仿真工具,同时集成了activiti5.22工作流引擎插件和drools5.6规则引擎插件,使用mysql数据库,编写java代码实现流程定义和控制,使用junit4.0测试框架辅助平台对自动化管理养殖流程模型进行单元测试验证其正确性。

在收集养殖企业关于水产品如罗非鱼、南美白对虾等的养殖流程描述和养殖方法手册后,对水产养殖流程进行统一模式化的处理,总结出的水产养殖流程特点如下:(1)养殖步骤繁琐,部分步骤执行顺序不明确;(2)时间性;(3)多循环;(4)定时定点;(5)多并发性;(6)存在大量的养殖业务决策。基于activiti组件适应水产养殖流程的特点并对其进行水产养殖流程模型设计,如顺序流的流向决定水产养殖流程的走向是向下走还是回流循环;用户任务表示每一步养殖状态;并行网关可以实现多个养殖状态并发执行或结束;排他网关和兼容网关用于养殖分支上的简单决策;定时器边界事件能够实现养殖任务定时定点执行;服务任务用于综合指标病症自动诊断;业务规则任务提供规则接口,用于制定大量养殖业务规则辅助复杂养殖业务的决策。通过eclipse中的activiti流程设计器对南美白对虾养殖流程进行流程模型的定义和设计,整个养殖模型描述南美白对虾从选塘开始一直到捕获出塘的整个养殖流程的路由情况,期间存在并发、回流循环、决策判断、定时器边界事件、养殖业务规则判断等流程流转情况。

利用drools规则引擎,在养殖日常管理环节上制定跟水位、水质、虾/鱼苗情况、投喂、投药、病症诊断等相关的一系列养殖业务规则,根据规则的执行结果进行相应的养殖操作处理,给予养殖人员专家性的建议,保证水产养殖业务决策的准确性,提高养殖效率。

下面将以南美白对虾养殖流程为例,介绍本实施例提供的水产养殖流程的自动化管理系统的工作流程:

1、根据水产养殖对象的养殖流程,采用工作流流程设计器建立所述水产养殖对象的初始养殖流程模型。

1.1构建南美白对虾养殖流程模型。

南美白对虾养殖流程分为三个阶段:放养前准备期、放养期和起捕期,每个阶段包含各自的养殖状态。通过eclipse中的activiti流程设计器对南美白对虾养殖流程进行流程模型定义和设计,如图3所示。该模型描绘南美白对虾从“选塘”开始到最后“捕获”的整个养殖过程的流程流转情况。

由“选塘”开始到“投放苗种”结束即为放养前准备期阶段,此部分流程有顺序和并发路由。

由“放养”开始到“排他网关”简单决策结束即为放养期阶段,此部分流程包括:

(1)“实时水位监控”、“实时水质监控”、“日常虾情分析”、“科学投喂”和“巡塘管理”日常养殖操作为并发路由,并由“定时器边界事件”设定时间控制每日结束流程并发执行的时间。

(2)加入业务规则任务节点,“水位监管规则”、“水质监管规则”、“虾情分析规则”、“投喂规则”、与“巡塘规则”,与(1)中日常养殖操作构成循环路由,用于每次养殖操作时的业务规则决策。

(3)在水质与虾情两条流程后引入“病源监测”和“科学投药”流程,水质、虾情与病源构成“综合指标病症诊断”的综合指标,并对应相应的“病源监测规则”和“投药规则”。

由“起捕”开始到“捕获”结束即为起捕期,起捕期使用灵活的“兼容网关”进行条件判断,情况有三种:

(1)“起捕”的虾全部达标,仅“捕获”。

(2)“起捕”的虾全部未达标,仅重新“放养”。

(3)“起捕”的虾一分部达标,一部分未达标,达标的“捕获”,未达标的重新“放养”。

1.2定时器边界事件与并发控制

在利用定时器边界事件设定触发时间,控制并发流程在同一个时刻汇合时,为了防止在合并(join)节点处产生事务冲突,导致某个并发流程不能顺利结束而产生异常,需要将触发时间转换成cron表达式类型,例如“003018**?”。本仿真平台实验测试时设置五个边界定时器(分别对应“实时水位监控”、“实时水质监控”、“日常虾情分析”、“科学投喂”和“巡塘管理”五个流程任务节点)触发时间的cron表达式分别为“00mmhh**?”、“05mmhh**?”、“10mmhh**?”、“15mmhh**?”和“20mmhh**?”。当养殖人员在放养天数节点处设置边界定时器的触发时间为每晚的00:05时,五个并发流程会按照cron表达式规定的时间格式,依次在00:05:00、00:05:05、00:05:10、00:05:15与00:05:20,这20秒的时间段内依次触发,汇入合并节点,结束并发流程的执行。

2、获取所述水产养殖对象的养殖规则,并采用规则引擎将所述养殖规则载入所述初始养殖流程模型,获得自动化管理养殖流程模型。通过drools规则引擎进行养殖业务规则的制定具体包括:(1)规则的分析,(2)规则的定义,(3)规则的设计,(4)规则的编写,(5)规则的触发。

(1)规则的分析:通过参考和分析现有的南美白对虾养殖影响因素的资料,进行规则分析,总结出南美白对虾养殖过程中存在的主要养殖业务规则。

(2)规则的定义:由于养殖业务规则复杂繁多,以表格形式对养殖业务规则进行明确描述和量化,做出具体的规则定义和描述。

(3)规则的设计:根据养殖业务规则定义,对规则进行合理设计。在编写规则之前,事先定义好规则中需要使用到的养殖事实对象,包括事实对象类和类属性。

(4)规则的编写:完成规则定义和设计后,遵循drools规则语言语法规范进行具体养殖规则的编写,在平台操作界面中建立养殖日常操作中的八个以.drl命名的规则文件,每个规则文件中含有多组养殖业务规则。

(5)规则的触发:drools规则引擎在南美白对虾养殖流程流转过程中对八种养殖业务规则进行不同表现形式的触发。

图4阐述了drools规则引擎在水产养殖流程管理中的作用,在养殖日常管理环节上制定跟水位、水质、虾/鱼苗情况、投喂、投药、病症诊断等相关的一系列养殖规则,放入以.drl命名的规则文件中。drools规则引擎通过匹配养殖人员操作、录入或系统采集等事实对象的数据与事先定义的规则,根据匹配后的结果进行相应的养殖操作处理,给予养殖人员专家性的建议,保证水产养殖业务决策的准确性,提高养殖效率。

2.1规则分析

通过参考和分析现有的南美白对虾养殖影响因素的资料,进行规则分析,总结出南美白对虾养殖过程中存在的养殖业务规则主要有:

(1)水位监管规则:用于判断水位的高低与正常,并根据判断后的结果进行相应的水位操作处理。

(2)水质监管规则:用于判断水质中水温、ph值、溶解氧含量、氨氮含量、亚硝酸含量、硫化氢含量这些因素含量的高低,以及水的浑浊程度,并根据判断后的结果进行相应的水质操作处理。

(3)虾情分析规则:用于判断虾此时处于哪个放养时段;判断每个放养时段内的平均体重和体长符合、超出或低于此放养时段内的标准体重和体长;判断平均死亡率正常或过高;判断虾身体特征,如体色、行为、体表变化,以及摄食情况正常、减少或停止,并根据判断后的结果进行相应的虾情操作处理。

(4)科学投喂规则:用于判断虾此时处于哪个放养时段;判断天气的晴朗适温或阴雨寒冷、水质整体情况好坏、整体生长情况的好或差,并根据判断后的结果进行相应的投喂操作处理。

(5)巡塘规则:用于判断池塘周围异常情况,如漫堤、暴雨、地址异常、病害田地预防和其他非可预见的的意外情况,并根据判断后的结果进行相应的巡塘操作处理。

(6)病源监测规则:判断水质中是否含有病毒以及病毒的种类。

(7)综合指标病症诊断规则:由水质因素、虾情因素、病源因素三方面因素形成病症诊断综合指标,用于病症诊断。

(8)科学投药规则:根据诊断后病症种类,判断投放药物措施。

2.2规则定义

通过上面的规则分析,可以对规则进行定义,由于养殖业务规则复杂繁多,以表格形式对养殖业务规则进行明确描述和量化,做出具体的规则定义和描述如下表1所示。

表1南美白对虾养殖业务规则定义

以水质监控对象中的ph值属性为例,对表1中ph值规则定义进行说明:

(1)水质中ph值大于等于8.0且小于等于8.8,核定:此时ph值正常;

(2)水质中ph值超过8.8,核定:警告,此时水中ph值偏高,可适当投入适量滑石灰进行调节。

(3)水质中ph值低于8.0,核定:警告,此时水中ph值偏低,可适当投入适量生石灰进行调节。

2.3规则设计

根据养殖业务规则定义,对规则进行合理设计。在编写规则之前,需要先定义好规则中需要使用到的养殖事实对象,包括事实对象类和类属性。南美白对虾养殖事实对象及包含属性如表2所示。

表2南美白对虾养殖业务规则设计事实对象属性表

2.4规则编写

完成规则定义和设计后,具体养殖规则的编写遵循drools规则语言语法规范,在平台操作界面中建立以.drl命名的规则文件,分别有a_waterlevelrule.drl(水位监管规则文件)、b_waterqualityrule.drl(水质监管规则文件)、c_shrimpsituationrule.drl(虾情分析规则文件)、d_feedingrule.drl(科学投喂规则文件)、e_pondinspectionrule.drl(巡塘规则文件)、f_diseasesourcesrule.drl(病源监测规则文件)、g_diagnosisrule.drl(综合指标病症诊断规则文件)与h_medicinerule.drl(科学投药规则文件)八个养殖业务规则文件,每个规则文件中含有多组规则。

以水位监管规则为例,编辑如下所示业务规则:

2.5规则触发

南美白对虾养殖流程整体的流程和路由的选择由activiti工作流引擎控制,大量养殖业务规则的决策由drools规则引擎进行控制。规则引擎在触发规则时表现在以下几个方面:

(1)水位监管规则触发:当流程实例执行到“实时水位监控”任务节点时,即南美白对虾养殖工作流系统获得一个实时水位数据时,流程自动执行“水位监管规则”业务规则任务节点,触发已定义好的水位监控规则,调用规则与水位数据进行匹配。且决策完毕后流程又自动回到“实时水位监控”任务节点,等待下一个实时水位数据的传入。

(2)水质监管规则触发:当流程实例执行到“实时水质监控”任务节点时,即南美白对虾养殖工作流系统同时获得水温、ph值、溶解氧含量等实时水质数据时,流程自动执行“水质监管规则”业务规则任务节点,触发已定义好的水质监控规则,调用规则与每个水质数据进行匹配。且决策完毕后流程又自动回到“实时水质监控”任务节点,等待下一串水质数据的传入。

(3)虾情分析规则触发:当流程实例执行到“日常虾情分析”任务节点时,即南美白对虾养殖工作流系统同时获得虾平均体重、平均体长、身体特征等虾情数据时,流程自动执行“虾情分析规则”业务规则任务节点,触发已定义好的虾情分析规则,调用规则与每个虾情数据进行匹配。且决策完毕后流程又自动回到“日常虾情分析”任务节点,等待下一串虾情数据的传入。

(4)科学投喂规则触发:当流程实例执行到“科学投喂”任务节点时,即南美白对虾养殖工作流系统获得天气情况、水质情况、生长情况等投喂数据时,流程自动执行“科学投喂规则”业务规则任务节点,触发已定义好的投喂监控规则,调用规则与投喂数据进行匹配。且决策完毕后流程又自动回到“科学投喂”任务节点,等待下一串投喂数据的传入。

(5)巡塘规则触发:当流程实例执行到“巡塘管理”任务节点时,即南美白对虾养殖工作流系统获得一个池塘情况的数据时,流程自动执行“巡塘规则”业务规则任务节点,触发已定义好的巡塘规则,调用规则与池塘情况数据进行匹配。且决策完毕后流程又自动回到“巡塘规则”任务节点,等待下一个池塘情况数据数据的传入。

(6)病源监测规则触发:当流程实例在执行过“实时水质监控”与“日常虾情分析”两条流程的基础上,且当系统获得一个请求诊断的信号时,两条流程同时流向“诊断”条件顺序流,汇入“病源监测”任务节点,即系统获得一个病毒数据时,流程自动执行“病源监测规则”业务规则任务节点,触发已定义好的病源监测规则,调用规则与病毒数据进行匹配。

(7)综合指标病症诊断规则触发:在执行完“病源监测规则”业务规则任务节点后,流程自动执行“综合指标病症诊断”服务任务节点,直接调用drools规则引擎提供的各种api对病症诊断规则进行编译和执行,实现综合指标病症诊断的目的。

(8)科学投药触发:在自动病症诊断后,流程执行“科学投药”任务节点,即系统获得病症种类的数据时,流程自动执行“投药规则”业务规则任务节点,触发已定义好的投药规则,调用规则与病症种类数据进行匹配,执行相应的投药措施。

3、采用junit4.0测试框架辅助平台对所述自动化管理养殖流程模型进行测试验证。

使用junit4.0测试框架对整个养殖流程案例和养殖业务规则进行单元测试,测试结果是:南美白对虾养殖流程设计图中存在的所有流程案例均能成功通过测试,无异常错误报出,完全符合工作流和规则的定义,取得了正确的实验结果。表3是对水质监控部分流程案例进行单元测试时设定的参数测试值;表4是其对应的在eclipse控制台输出的测试结果。

表3水质监控流程案例参数测试值

表4测试案例输出结果

本发明提供的基于activiti和drools规则引擎的水产养殖流程管理方法,通过activiti工作流技术实现养殖全流程的业务管理,达到养殖流程化、自动化管理的目标。规则引擎能够将业务规则从应用程序中抽取出来,并使用预定义的语义模块编写业务决策。它接受数据输入,解释业务规则,并根据规则做出相应的执行动作,协助工作流管理系统进行流程路由决策和流程动态规划。通过drools规则引擎技术控制养殖关键流程的动态走向、做出养殖的业务决策,达到养殖精细化管理的目标。本发明将工作流和规则引擎技术拓展到水产养殖过程管理领域,为水产养殖过程管理领域提供了一种自动化、流程化、精细化管理的新方法。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1