基于加密技术的林分生长与收获模型动态管理方法
技术领域
本发明涉及林业资源管理和林业信息化技术领域,具体涉及一种基于加密技术的林分生长与收获模型动态管理方法。
背景技术
林分生长与收获模型描述林木生长与林分状态和立地条件的关系,使用生长模型去估计林分在各种特定条件下的发展。森林生长模型,作为指导森林经营活动,以降低生产成本、提高产量或经济效益,是最有实用意义的,其广泛的应用于森林资源数据更新,森林资源采伐构建与计划,林分生长可视化模拟等林业生产实践与研究,为森林资源经营与科学管理动态决策提供预测数据。
林业常采用Logistic方程[14]、Mitscherlich1919、Gompertz方程[15]、Richards方程[16]、Korf方程[17]等林木生长理论方程和Schumacher方程[18]、Hossfeld方程[19]等林木生长经验方程拟合线性或非线性的生长模型。将生长模型公式直接写在程序代码中,这种方法是目前森林资源管理信息系统中进行模型存储和使用的主要方法,由于模型嵌入到源程序中,其模型的安全性高,模型的解译和解析实现简单,但由于生长模型的建立基于不同的原理,并具有一定的适用区,当条件发生变化时,其模型也要随之修正或改变才能适应新林业应用的需求,当模型或者模型的参数需要更换或调整时,就需要对系统的源程序进行修改,造成重复开发和系统维护费用增加。另一种方法是利用模型库存储模型,模型库中构建了模型表存储模型和模型参数表存储模型参数。通过公式解释器或林分生长收获模型解析器来实现模型的解译和解析。当模型进行更新的时候,只需更新模型表和模型参数表就可以完成模型更新,不用重新编译程序。由于模型解析器需要采用高级语言进行编写,然后针对各林分生长模型表达式进行词法、语法、语义分析,才能完成模型解析,其实现过程较为复杂,并且模型库中的模型存储是公开的,任何人都可以获取或修改模型库中的模型,目前没有提出任何方法对于模型库的安全性进行保证。
发明内容
(一)解决的技术问题
针对林分生长与收获模型直接嵌入程序灵活性差和模型库管理方式安全性低的缺点,本发明提供了一种基于加密技术的林分生长与收获模型动态管理方法,利用该发明可以实现:1、构建同区域和起源密切相关的林分生长和收获模型表;2、使用对称加密技术DES对存入和读取林分生长和收获模型表中的模型进行加密和解密,将模型以密文存入模型表,以明文显示于用户;3、提供了快捷简单的林分生长和收获模型解译方法;最终实现林分生长和收获模型的安全动态管理。
(二)技术方案
为实现以上目的,本发明通过以下技术方案予以实现:
一种基于加密技术的林分生长与收获模型动态管理方法,其特征在于,包含以下步骤:
S1、构建林分生长与收获模型表,所述林分生长与收获模型表包括:模型号,树种,区域,起源,模型类别,模型方程,因变量,自变量,参数说明;
S2、使用对称加密技术DES对存储入所述林分生长与收获模型表中模型进行加密,将加密生成的密文写入所述林分生长与收获模型表,
加密包含以下步骤:
S21、将用户密码转换为字节数组,将所述字节数组设置为DES加密技术的密钥和初始化向量,并创建加密对象,
S22、遍历所述林分生长与收获模型表中的记录,读取记录中的字段值,并将所述字段值转换为字节数组,
S23、使用所述加密对象,对步骤S22中的所述字节数组进行加密,将加密结果转换为密文字符串,得到输出密文,
S24、将所述输出密文写入所述林分生长与收获模型表中;
S3、使用对称加密技术DES对读取所述林分生长与收获模型表中的密文进行解密,将解密生成的明文显示给用户,
解密包含以下步骤:
S31、检查用户输入密码是否正确,
S32、将用户密码转换为字节数组,将所述字节数组设置为DES加密技术的密钥和初始化向量,并创建解密对象,
S33、遍历所述林分生长与收获模型表中的记录,读取记录中的密文,将所述密文转换为字节数组,
S34、使用所述解密对象,对步骤S33中的所述字节数组进行解密,将解密结果转换为明文字符串,得到输出明文,
S35、将所述明文显示给用户;
S4、使用结构化查询语言SQL对所述明文中的模型进行解析,解析包含以下步骤:
S41、根据用户输入的参数,按照树种、区域、起源及模型方程的自变量信息,选择出适合的林分生长与收获模型,读取林分生长与收获模型方程和自变量字段值,
S42、建立用户参数同所述自变量字段值的对应替换关系,将用户参数替换林分生长与收获模型方程中的自变量符号,组成林分生长与收获模型方程字符串,
S43、使用SELECT语句执行林分生长与收获模型方程字符串,获取计算后的值,完成模型方程的解析。
(三)有益效果
本发明通过提供一种基于加密技术的林分生长与收获模型动态管理方法,构建与区域及起源密切相关的林分生长与收获模型表,具有更好的实用性;对于林分生长与收获模型表中的模型进行加密处理的方法,使模型库的保存更加安全;利用结构化查询语句,执行生长模型表中的生长模型表达式,使模型的解析过程和方法更简单和快捷。
附图说明
图1为基加密技术的林分生长与收获模型动态管理的方法的流程图;
图2为基加密技术的林分生长与收获模型动态管理的方法的加密流程图;
图3为基加密技术的林分生长与收获模型动态管理的方法的解密流程图。
具体实施方式
下面对于本发明所提出的一种基于加密技术的林分生长与收获模型动态管理的方法,结合附图和实施例详细说明。
实施例:
如图1所示,基于加密技术的林分生长与收获模型动态管理的方法包含以下步骤:
S1、构建林分生长与收获模型表,所述林分生长与收获模型表结构包括:(模型号,树种,区域,起源,模型类别,模型方程,因变量,自变量,参数说明);
对于每一种模型按照模型类别对其进行编号,编码规则为六位,前三位为模型类别,后三位为模型序号。模型公式及其参数一并存入模型方程字段,为区别模型公式运算符、数学函数同自变量,规定因变量和自变量按照通用大写字母存储入因变量和自变量字段中,而模型公式中的运算符和数据函数均使用小写字母表示,为方便模型解析时进行自变量的值进行替换,参数说明中标注各因变量和自变量的实际含义。
S2、使用对称加密技术DES对存储入所述林分生长与收获模型表中模型进行加密,将加密生成的密文写入所述林分生长与收获模型表,
数据加密是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。利用数据加密将暴露的模型表进行加密,使其在没有指定用户访问的情况下,是无法阅读的密文以防止模型泄露和篡改。
如图2所示,加密包含以下步骤:
S21、将用户密码转换为字节数组,将所述字节数组设置为DES加密技术的密钥和初始化向量,并创建加密对象,
S22、遍历所述林分生长与收获模型表中的记录,读取记录中的字段值,并将所述字段值转换为字节数组,
S23、使用所述加密对象,对步骤S22中的所述字节数组进行加密,将加密结果转换为密文字符串,得到输出密文,
S24、将所述输出密文写入所述林分生长与收获模型表中;
如表1所示,为对称加密技术DES加密后的林分生长与收获模型表,其中密码为keywords:
表1对称加密技术DES加密后的林分生长与收获模型表
S3、使用对称加密技术DES对读取所述林分生长与收获模型表中的密文进行解密,将解密生成的明文显示给用户,
如图3所示,解密包含以下步骤:
S31、检查用户输入密码是否正确,
S32、将用户密码转换为字节数组,将所述字节数组设置为DES加密技术的密钥和初始化向量,并创建解密对象,
S33、遍历所述林分生长与收获模型表中的记录,读取记录中的密文,将所述密文转换为字节数组,
S34、使用所述解密对象,对步骤S33中的所述字节数组进行解密,将解密结果转换为明文字符串,得到输出明文,
S35、将所述明文显示给用户;
如表2所示,为对称加密技术DES解密后的林分生长与收获模型表:
表2对称加密技术DES解密后的林分生长与收获模型表
S4、使用结构化查询语言SQL对所述明文中的模型进行解析,解析方法如下:
SQL全名是结构化查询语言(StructuredQueryLanguage),是数据库中的标准数据查询语言,SQL的SELECT查询语句常用于检索数据表中的数据,但该语句能够在不引用任何表的情况下对数学表达式进行计算求值,本实施例利用该功能对生长模型进行解析的语法为:
SELECT模型公式,此处的模型公式是以字符串形式存储在林分生长与收获模型表模型方程字段中的模型方程。利用SELECT语句进行模型解析的步骤如下:
S41、根据用户输入的参数,按照树种、区域、起源及模型方程的自变量信息,选择出适合的林分生长与收获模型,读取林分生长与收获模型方程和自变量字段值,
S42、建立用户参数同所述自变量字段值的对应替换关系,将用户参数替换林分生长与收获模型方程中的自变量符号,组成林分生长与收获模型方程字符串,
S43、使用SELECT语句执行林分生长与收获模型方程字符串,获取计算后的值,完成模型方程的解析。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。