首页 / 专利库 / 资料储存系统 / 分布式账本 / 区块链 / 基于区块链的种植作物的培育监控方法及装置

基于链的种植作物的培育监控方法及装置

阅读:1发布:2022-10-03

专利汇可以提供基于链的种植作物的培育监控方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 提供一种基于 区 块 链 的种植作物的培育监控方法,所述方法包括:通过读取 指定 种植作物的标识信息获取相应的历史培育数据;依据所述历史培育数据生成当前区块的预测数据并接受当前实际培育数据以生成新的培育数据;依据所述标识信息获取与该标识信息对应的种植作物的最近一次的培育数据并计算该数据的哈希值;以所述标识信息、所述新的培育数据以及所述哈希值为源数据创建当前区块并存入区块链中。本发明通过使用区块链技术实现个体种植作物生长环境监控,解决 农作物 生长过程中被重复打药、 施肥 等情况,通过区块链技术保证记录的准确性且不可篡改,以提高数据的安全性以及工作效率,从而保证农作物健康成长。,下面是基于链的种植作物的培育监控方法及装置专利的具体信息内容。

1.一种基于链的种植作物的培育监控方法,其特征在于,包括以下步骤:
通过读取指定种植作物的标识信息获取相应的历史培育数据;
依据所述历史培育数据生成当前区块的预测数据并接受当前实际培育数据以生成新的培育数据;
依据所述标识信息获取与该标识信息对应的种植作物的最近一次的培育数据并计算该数据的哈希值;
以所述标识信息、所述新的培育数据以及所述哈希值为源数据创建当前区块并存入区块链中。
2.根据权利要求1所述的方法,其特征在于,所述通过读取指定种植作物的标识信息获取相应的历史培育数据具体包括:
依据指定种植作物的标识信息查询区块链上的历史记录以获取相应的历史培育数据。
3.根据权利要求1所述的方法,其特征在于,所述依据所述历史培育数据生成当前区块的预测数据并接受当前实际培育数据以生成新的培育数据,具体包括:
依据区块链中预设的所述种植作物的参考培育数据以及所述历史培育数据生成所述预测培育数据,所述参考培育数据包括该种植作物的参考培育周期以及参考培育方法;
通过所述种植作物的电子标签获取所述种植作物的当前实际培育数据;
依据所述当前区块的预测培育数据以及当前的实际培育数据生成下一个区块的预测培育数据。
4.根据权利要求3所述的方法,其特征在于,所述电子标签包括以下至少一种:
无线射频识别电子标签、国物标识以及二维码。
5.根据权利要求1所述的方法,其特征在于,所述依据所述标识信息获取与该标识信息对应的种植作物的上一次的培育数据并计算该数据的哈希值的步骤中,还包括:
获取所述种植作物上一次的培育数据所存储的区块的区块头并执行哈希运算以获得其哈希值。
6.根据权利要求5所述的方法,其特征在于,将所述种植作物上一次的培育数据所存储的区块的区块头的哈希值写入当前区块的区块体中以进行新区块的创建。
7.根据权利要求1所述的方法,其特征在于,还包括:
通过Merkle树算法对当前区块中所有种植作物的培育数据进行计算以生成Merkle根并将该Merkle根写入当前区块的区块头中。
8.根据权利要求1所述的方法,其特征在于,还包括:
响应于用户端输入的查询请求,将与该查询请求对应的种植作物的历史培育数据和/或最新培育数据显示于所述用户端界面。
9.根据权利要求1所述的方法,其特征在于,还包括:
向用户端推送指定种植作物的预测培育数据。
10.根据权利要求1所述的方法,其特征在于,所述当前区块的区块头中还包括上一区块的区块头的哈希值。
11.根据权利要求1所述的方法,其特征在于,所述种植作物的标识信息包括:所述种植作物的名称信息、属性以及图像信息。
12.根据权利要求1所述的方法,其特征在于,所述培育数据包括:
所述种植作物的浇灌记录、施肥记录、施药记录、修整记录以及对应记录的时间戳。
13.一种基于区块链的种植作物的培育监控装置,其特征在于,包括:
获取模块:通过读取指定种植作物的标识信息获取相应的历史培育数据;
生成模块:依据所述历史培育数据生成当前区块的预测数据并接受当前实际培育数据以生成新的培育数据;
处理模块:依据所述标识信息获取与该标识信息对应的种植作物的最近一次的培育数据并计算该数据的哈希值;
创建模块:以所述标识信息、所述新的培育数据以及所述哈希值为源数据创建当前区块并存入区块链中。

说明书全文

基于链的种植作物的培育监控方法及装置

技术领域

[0001] 本发明涉及环境监控领域,尤其涉及一种基于区块链的种植作物的培育监控方法及装置。

背景技术

[0002] 随着人们收入平的提高,消费观念发生改变,农作物质量安全问题越来越受到消费者关注,而农作物的生长环境以及农作物的培育状况可直接影响其质量,从而影响人们的身体健康与生命安全。因此,如何进行农作物生长环境的监控成为人们目前需要解决的技术问题。
[0003] 现有农作物生长环境监控系统基于ARM、ZigBee、Arduino等技术,通过无线传感器收集农作物生长环境中温度、湿度等数据实现对一批农作物的生长环境监控。然而,这些系统将生长环境中的农作物作为整体进行监控,并未考虑到农作物个体间的差异性。例如,工作人员可能对部分农作物打了农药,而另一部分农作物没打农药。在工作人员第二次打农药时可能重复对一批农作物打了两次农药,这对农作物生长产生了危害。即便工作人员通过标签记录打农药的批次,也存在记录被篡改,农作物反复被打农药的情况。
[0004] 因此,现有的技术方案中,农作物的生长过程不便于控制与管理,影响工作效率。另外,农作物的一些培育的记录不能保证不被篡改,且记录的准确性不高,不能保证农作物在安全的条件下进行培育。

发明内容

[0005] 本发明提供一种基于区块链的种植作物的培育监控方法及相应的装置,有效辅助工作人员对于农作物工作情况进行监控,提高工作效率的同时保证记录的不可篡改性。
[0006] 第一方面,本方面提供一种基于区块链的种植作物的培育监控方法,包括以下步骤:
[0007] 通过读取指定种植作物的标识信息获取相应的历史培育数据;
[0008] 依据所述历史培育数据生成当前区块的预测数据并接受当前实际培育数据以生成新的培育数据;
[0009] 依据所述标识信息获取与该标识信息对应的种植作物的最近一次的培育数据并计算该数据的哈希值;
[0010] 以所述标识信息、所述新的培育数据以及所述哈希值为源数据创建当前区块并存入区块链中。
[0011] 具体的,所述通过读取指定种植作物的标识信息获取相应的历史培育数据具体包括:
[0012] 依据指定种植作物的标识信息查询区块链上的历史记录以获取相应的历史培育数据。
[0013] 具体的,所述依据所述历史培育数据生成当前区块的预测数据并接受当前实际培育数据以生成新的培育数据,具体包括:
[0014] 依据区块链中预设的所述种植作物的参考培育数据以及所述历史培育数据生成所述预测培育数据,所述参考培育数据包括该种植作物的参考培育周期以及参考培育方法;
[0015] 通过所述种植作物的电子标签获取所述种植作物的当前实际培育数据;
[0016] 依据所述当前区块的预测培育数据以及当前的实际培育数据生成下一个区块的预测培育数据。
[0017] 具体的,所述电子标签包括以下至少一种:
[0018] 无线射频识别电子标签、国物标识以及二维码。
[0019] 优选的,所述依据所述标识信息获取与该标识信息对应的种植作物的上一次的培育数据并计算该数据的哈希值的步骤中,还包括:
[0020] 获取所述种植作物上一次的培育数据所存储的区块的区块头并执行哈希运算以获得其哈希值。
[0021] 优选的,将所述种植作物上一次的培育数据所存储的区块的区块头的哈希值写入当前区块的区块体中以进行新区块的创建。
[0022] 具体的,还包括:
[0023] 通过Merkle树算法对当前区块中所有种植作物的培育数据进行计算以生成Merkle根并将该Merkle根写入当前区块的区块头中。
[0024] 优选的,还包括:
[0025] 响应于用户端输入的查询请求,将与该查询请求对应的种植作物的历史培育数据和/或最新培育数据显示于所述用户端界面。
[0026] 优选的,还包括:
[0027] 向用户端推送指定种植作物的预测培育数据。
[0028] 具体的,所述当前区块的区块头中还包括上一区块的区块头的哈希值。
[0029] 具体的,所述种植作物的标识信息包括:所述种植作物的名称信息、属性以及图像信息。
[0030] 具体的,所述培育数据包括:
[0031] 所述种植作物的浇灌记录、施肥记录、施药记录、修整记录以及对应记录的时间戳。
[0032] 第二方面,本方面提供一种基于区块链的种植作物的培育监控装置,包括:
[0033] 获取模块:通过读取指定种植作物的标识信息获取相应的历史培育数据;
[0034] 生成模块:依据所述历史培育数据生成当前区块的预测数据并接受当前实际培育数据以生成新的培育数据;
[0035] 处理模块:依据所述标识信息获取与该标识信息对应的种植作物的最近一次的培育数据并计算该数据的哈希值;
[0036] 创建模块:以所述标识信息、所述新的培育数据以及所述哈希值为源数据创建当前区块并存入区块链中。
[0037] 相比现有技术,本发明提供的方案有以下优点:
[0038] 本发明提供一种基于区块链的种植作物的培育监控方法,通过读取指定种植作物的标识信息获取相应的历史培育数据;依据所述历史培育数据生成当前区块的预测数据并接受当前实际培育数据以生成新的培育数据;以该新的培育数据以及对应种植作物的最近一次的培育数据的哈希值为源数据创建当前区块并存入区块链中,实现通过区块链来记录种植作物的培育数据以保证种植作物的培育记录不被篡改,且数据安全可靠。
[0039] 本发明通过获取区块链中指定种植作物的历史培育数据,并结合区块链中预设的所述种植作物的参考培育数据生成该指定种植作物的下一次培育的预测培育数据,以作为下一次开展作业的参考。本发明通过理论预测结合实际种植作物的长势管理所述种植作物的生长,提高了本方案的灵活性。
[0040] 本发明解决了种植作物生长过程中被重复打药、施肥等情况,通过区块链的技术保证记录的准确性以及不被篡改,以保证农作物健康成长。
[0041] 本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明
[0042] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
[0043] 图1为本发明的一种基于区块链的种植作物的培育监控方法实施例流程框图
[0044] 图2为本发明的一种基于区块链的种植作物的培育监控方法中单个区块的结构示意图;
[0045] 图3为本发明的一种基于区块链的种植作物的培育监控方法中区块链的结构示意图;
[0046] 图4为为本发明的一种基于区块链的种植作物的培育监控装置流程框图。

具体实施方式

[0047] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0048] 请参阅图1,本发明所提供的一种基于区块链的种植作物的培育监控方法,具体的一种实施方式中,具体包括如下步骤:
[0049] S11、通过读取指定种植作物的标识信息获取相应的历史培育数据;
[0050] 本发明实施例中,所述种植作物的标识信息包括:所述种植作物的名称信息、属性以及图像信息。所述培育数据包括:所述种植作物的浇灌记录、施肥记录、施药记录、修整记录以及对应记录的时间戳,具体的,所述培育数据包培育的时间、工作方式、培育所用到的肥料、除虫剂、农药的型号以及剂量等数据。
[0051] 本发明实施例中,给所有的所述种植作物分配唯一性的标识信息以标识其身份。所述标识信息跟所述各种植作物的历史培育数据关联性的存储于区块链中,所述历史培育数据在存入所述区块链之前需要经过区块链的验证节点的验证之后才能实现有效的存入,以便后续工作人员依据指定种植作物的标识信息查询区块链上的历史记录以获取相应的历史培育数据,提高数据可靠性。
[0052] 本发明利用区块链的不可篡改,可追溯的特性,单个甚至多个节点对数据库修改无法影响其他节点的数据库。区块链中的每一笔交易都通过密码学方法与相邻两个区块串联,因此可以追溯到任何一笔交易的历史交易数据。
[0053] S12、依据所述历史培育数据生成当前区块的预测数据并接受当前实际培育数据以生成新的培育数据;
[0054] 本发明实施例中,区块链中存储了所述种植作物的参考培育数据表,所述参考培育数据表中包含了多项参考培育数据。具体的,所述参考培育数据表包含指定农作物的参考培育方法以及培育时间。例如,一种可能的实施例中,所述参考培育数据表如下表1所示:
[0055] 表1一种可能的参考培育数据表
[0056]
[0057] 如上述表1所示,表1中显示了指定种植作物的预计时间需要进行的培育活动。例如,种植作物A按照参考的培育方法,在3月20日需进行一次施肥活动,其中包括肥料的型号及剂量;在4月1日需要进行一次除草活动,具体包括除草剂的型号以及剂量;在4月12日需要进行一次浇灌活动具体包括浇灌的量。本说明实施例中,可以依据表1中的理论参考数据结合指定种植作物的实际长势生成一套预测培育数据,所述预测培育数据包含指定种植作物在下一次培育该执行的培育活动以及培育的时间,以便工作人员可以依据该预测培育数据进行安排下一次的工作时间及工作内容,提高本方案的灵活性。
[0058] 本发明实施例中,依据预测培育数据以及实际培育数据生成新的培育数据以将所述新的培育数据存入区块链中。
[0059] 一种可能的设计中,本发明优选以下具体方法生成所述新的培育数据:
[0060] 其一、依据区块链中预设的所述种植作物的参考培育数据以及所述历史培育数据生成所述预测培育数据,所述参考培育数据包括该种植作物的参考培育周期以及参考培育方法;
[0061] 本发明实施例中,所述参考培育数据表中还包含了指定种植作物的参考的生长情况,依据参考的生长情况以及实际的生长情况并结合参考的培育方法生成下一次培育活动的预测培育数据。
[0062] 其二、通过所述种植作物的电子标签获取所述种植作物的当前实际培育数据;
[0063] 本发明实施例中,给所有所述种植作物贴上独立的标签如RFID标签、国物标识、QRCode等物联网标签。工作人员可通过扫描该些电子标签以录入每次的实际培育数据。相应的,本发明可以通过该些电子标签获取工作人员录入的所述实际培育数据并通过区块链中的验证节点验证后存入区块链中。
[0064] 其三、依据所述当前区块的预测培育数据以及当前的实际培育数据生成下一个区块的预测培育数据。
[0065] S13、依据所述标识信息获取与该标识信息对应的种植作物的最近一次的培育数据并计算该数据的哈希值;
[0066] Hash算法是将任意长度的二进制值映射为较短的固定长度的二进制值,该二进制值称为哈希值。哈希值是一段数据的唯一且极其紧凑的数值表示形式。如果散列一段明文中只更改该段落的一个字母,其对应的哈希值将不同。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。
[0067] 简单理解hash算法就是一种单向的加密算法,一段明文加密后为一段密文,不可逆推,只有加密过程,没有解密过程。目前常用的hash算法有MD5以及SHA系列算法。目前SHA系列算法有sha-224、sha-256、sha-384、sha-512等。
[0068] 由于sha-256安全性较高,故一种可能的设计中,本发明优选sha-256加密算法计算所述哈希值,其工作原理如下:
[0069] 将任何一串数据输入到SHA256将得到一个256位的Hash值(散列值)。其特点为:相同的数据输入将得到相同的结果。输入数据只要稍有变化(比如一个1变成了0)则将得到一个千差万别的结果,且结果无法事先预知。正向计算即由数据计算其对应的Hash值时十分容易,而逆向计算即由Hash值计算出其对应的数据极其困难,故本发明利用该算法计算所述哈希值提高了数据的安全性与可靠性。
[0070] 本发明实施例中,创建区块时,需将指定种植作物的最近一次的培育数据的哈希值作为源数据存入新的区块中,故在创建新的区块之前,需计算各种植作物的最近一次的培育数据的哈希值作为下一个步骤的数据来源。
[0071] 进一步的,区块链中存储有各种植作物的历史培育数据,通过查询各种植作物的标识信息可获取对应种植作物的历史培育数据,其中包括对应种植作物的最近一次的培育数据。
[0072] S14、以所述标识信息、所述新的培育数据以及所述哈希值为源数据创建当前区块并存入区块链中。
[0073] 请参考表2,表2示出了一般情况下,区块链中数据区块的结构。通常情况下,数据区块中记录的内容有:区块大小、数据区块头部信息、交易计数、交易详情。在这当中,数据区块头部信息的哈希值是下一个新区块的哈希值的参考目标数,最后一项交易详情记录了该区块中所有的交易记录
[0074] 表2一种可能的区块链中数据区块的结构
[0075]
[0076] 一般情况下,数据区块头部结构中记录的内容有:版本号、前一个区块的区块头的哈希值、本区块的区块头的哈希值、Merkle树的根值、时间戳。其中,区块中的版本号记录的是数据区块的版本号;时间戳记录了当前区块生成的时间,按照UNIX时间格式;Merkle树的根值记录了当前区块中所有种植作物工作记录Merkle树的根节点的哈希值。
[0077] 具体而言,Merkle Tree是Dynamo中用来在多个节点之间同步数据集合一致性的算法,MerkleTree是基于数据Hash构建的一个树。它具有以下几个特点:
[0078] (1)数据结构是一个树,可以是二叉树,也可以是多叉树。
[0079] (2)Merkle Tree的叶子节点的值是自己制定的,可以是数据集合的单元数据或者单元数据的hash。
[0080] (3)Merkle Tree非叶子节点的值是其所有子节点值的hash值。
[0081] 本发明用一个哈希树来对每一次的工作记录进行校验,以确保每一次的工作记录都不可伪造和没有重复的工作记录。
[0082] 请参考图2,图2示出了本发明所述新的区块的数据结构。如图2所示,所述新的区块的区块结构2中包括区块头21以及区块体23。所述区块头21中包含了该新的区块的版本号29、前一区块头的哈希值28、时间戳30、本区块头的哈希值22以及Merkle根值26。其中,Merkle根值26是通过Merkle树算法对当前区块中所有种植作物的培育数据进行计算而生成并将其写入当前区块的区块头中。本发明实施例中,创建区块时将所述种植作物上一次的培育数据所存储那个的区块的区块头的哈希值写入当前区块的区块体中以进行新区块的创建。
[0083] 本发明实施例中,通过运用Merkle数算法对各区块中各种植作物的工作记录进行计算以得到Merkle根值。一种可能的设计中,其具体的实现原理如下:
[0084] 1)对每一棵种植作物的工作记录进行hash256运算,得到对应的hash值,然后作为叶子节点。
[0085] 2)非叶子节点value的计算方法:将该节点的所有子节点hash值进行组合(例如拼接),然后对组合结果进行hash计算所得出的hash value就是该非也子节点的hash值[0086] 3)一直两两计算,直到最后得到root的hash值。
[0087] 本发明通过运用Merkle tree算法可以对分布式系统的多节点数据一致性的校验,且一旦数据被修改,可以很快的定位被修改的数据的位置,大大提高校验速度。本发明可以通过构建出整个merkle tree,来确认数据是否被修改,以实现防止区块链中的工作记录被篡改。
[0088] 进一步的,所述区块体23中包含了该新建的区块中各种植作物的本次培育工作的工作记录以及对应的哈希值,所述各种植作物的工作记录根据Merkle数算法进行计算形成Merkle树24,所述区块体中还包含了各种植作物的工作记录的记录总数27。所述区块体中记录了当前区块保存的所有种植作物工作记录的细节。具体的,每一条工作记录都包含有指定种植作物的本次的培育工作中所生成的新的培育数据、该种植作物上一次培育工作中所生成的培育数据的哈希值以及该种植作物上次的培育数据所存储的区块的哈希值。如图2所示,该区块中记录了种植作物A的工作记录31、种植作物B的工作记录32、种植作物C的工作记录33、以及D的工作记录25以及各工作记录所生成的哈希值以及各工作记录的总数。
[0089] 请参考图3,图3示出了本发明所述一种基于区块链的种植作物的培育监控方法中的区块链的结构示意图。如图3所示,区块链中包含3个区块,1区块56、2区块53以及3区块41。各个区块中存储的对于指定的种植作物A的工作记录的内容包括:种植作物A本次的培育数据、种植作物A最近一次的培育数据的哈希值以及种植作物A最近一次的培育数据所存储的区块的区块头的哈希值。例如图3中所示,1区块56包含上一区块的区块头哈希值58、1区块的区块头哈希值57以及Merkle根值59,其还包括种植作物A的第N次培育数据50、种植作物A的第N-1次培育数据的哈希值51以及种植作物A的第N-1次培育数据所存储的区块的哈希值52。
[0090] 2区块53包含1区块56的区块头哈希值55、2区块的区块头哈希值54以及Merkle根值60,其还包括种植作物B的第N次培育数据47、种植作物B的第N-1次培育数据的哈希值48以及种植作物B的第N-1次培育数据所存储的区块的哈希值49。
[0091] 3区块41包含2区块53的区块头哈希值61、3区块41的区块头哈希值42以及Merkle根值43,其还包括种植作物A的第N+1次培育数据44、种植作物A的第N次培育数据的哈希值45以及1区块56的哈希值46。
[0092] 本发明实施例中,所述依据所述标识信息获取与该标识信息对应的种植作物的上一次的培育数据并计算该数据的哈希值的步骤中,还包括:获取所述种植作物上一次的培育数据所存储的区块的区块头并执行哈希运算以获得其哈希值。所述当前区块的区块头中还包括上一区块的区块头的哈希值。
[0093] 一种可能的设计中,本发明所述方法还包括响应于用户端输入的查询请求,将与该查询请求对应的种植作物的历史培育数据和/或最新培育数据显示于所述用户端界面。优选的,本发明所述方法还包括向用户端推送指定种植作物的预测培育数据。
[0094] 本发明实施例中,提供用户查询所述种植作物的培育数据的访问接口,用户可以通过扫描二维码查询指定种植作物的历史培育数据,以依据该数据进行下一次的培育活动的安排,或者可以通过接受本系统推送的预测培育数据进行安排下一次的培育活动。
[0095] 一种可能的应用场景中,例如,工作人员需要对100棵种植作物A施肥,假设这是对这100棵植作物A的第3次施肥,那么在工作人员施完肥后会扫描这100棵植作物A的条码进行记录。此时,系统生成一个新区块如图3中的区块1,在区块1中记录这100棵植作物A的第3次施肥记录,针对每一棵种植作物会记录一条工作记录。其中,这100条工作记录中的每一条工作记录都会包含该颗种植作物A的第3次施肥记录、该颗种植作物A的第2次施肥记录的哈希值及其第2次施肥的工作记录所在区块的哈希值。
[0096] 一段时间后,工作人员需要对这100棵种植作物A进行第4次施肥,那么在工作人员施完肥后会扫描这100棵植作物A的条码进行记录。此时,系统生成一个新区块如图3中的区块3(假定区块2已经被创建用于存储其他种植作物的工作记录),在区块3中记录这100棵植作物A的第4次施肥记录,针对每一棵种植作物会记录一条工作记录。其中,这100条工作记录中的每一条工作记录都会包含该颗种植作物B的第4次施肥记录、该颗种植作物B的第3次施肥记录的哈希值及区块1的哈希值。
[0097] 参考图4所示,本发明还提供一种基于区块链的种植作物的培育监控装置,一种实施例中,包括获取模块11、生成模块12、处理模块13以创建模块14。其中,[0098] 获取模块11:通过读取指定种植作物的标识信息获取相应的历史培育数据;
[0099] 本发明实施例中,所述种植作物的标识信息包括:所述种植作物的名称信息、属性以及图像信息。所述培育数据包括:所述种植作物的浇灌记录、施肥记录、施药记录、修整记录以及对应记录的时间戳,具体的,所述培育数据包培育的时间、工作方式、培育所用到的肥料、除虫剂、农药的型号以及剂量等数据。
[0100] 本发明实施例中,给所有的所述种植作物分配唯一性的标识信息以标识其身份。所述标识信息跟所述各种植作物的历史培育数据关联性的存储于区块链中,所述历史培育数据在存入所述区块链之前需要经过区块链的验证节点的验证之后才能实现有效的存入,以便后续工作人员依据指定种植作物的标识信息查询区块链上的历史记录以获取相应的历史培育数据,提高数据可靠性。
[0101] 本发明利用区块链的不可篡改,可追溯的特性,单个甚至多个节点对数据库的修改无法影响其他节点的数据库。区块链中的每一笔交易都通过密码学方法与相邻两个区块串联,因此可以追溯到任何一笔交易的历史交易数据。
[0102] 生成模块12:依据所述历史培育数据生成当前区块的预测数据并接受当前实际培育数据以生成新的培育数据;
[0103] 本发明实施例中,区块链中存储了所述种植作物的参考培育数据表,所述参考培育数据表中包含了多项参考培育数据。具体的,所述参考培育数据表包含指定农作物的参考培育方法以及培育时间。例如,一种可能的实施例中,所述参考培育数据表如上表1所示:
[0104] 如上述表1所示,表1中显示了指定种植作物的预计时间需要进行的培育活动。例如,种植作物A按照参考的培育方法,在3月20日需进行一次施肥活动,其中包括肥料的型号及剂量;在4月1日需要进行一次除草活动,具体包括除草剂的型号以及剂量;在4月12日需要进行一次浇灌活动具体包括浇灌的量。本说明实施例中,可以依据表1中的理论参考数据结合指定种植作物的实际长势生成一套预测培育数据,所述预测培育数据包含指定种植作物在下一次培育该执行的培育活动以及培育的时间,以便工作人员可以依据该预测培育数据进行安排下一次的工作时间及工作内容,提高本方案的灵活性。
[0105] 本发明实施例中,依据预测培育数据以及实际培育数据生成新的培育数据以将所述新的培育数据存入区块链中。
[0106] 一种可能的设计中,本发明优选以下具体方法生成所述新的培育数据:
[0107] 其一、依据区块链中预设的所述种植作物的参考培育数据以及所述历史培育数据生成所述预测培育数据,所述参考培育数据包括该种植作物的参考培育周期以及参考培育方法;
[0108] 本发明实施例中,所述参考培育数据表中还包含了指定种植作物的参考的生长情况,依据参考的生长情况以及实际的生长情况并结合参考的培育方法生成下一次培育活动的预测培育数据。
[0109] 其二、通过所述种植作物的电子标签获取所述种植作物的当前实际培育数据;
[0110] 本发明实施例中,给所有所述种植作物贴上独立的标签如RFID标签、国物标识、QRCode等物联网标签。工作人员可通过扫描该些电子标签以录入每次的实际培育数据。相应的,本发明可以通过该些电子标签获取工作人员录入的所述实际培育数据并通过区块链中的验证节点验证后存入区块链中。
[0111] 其三、依据所述当前区块的预测培育数据以及当前的实际培育数据生成下一个区块的预测培育数据。
[0112] 处理模块13:依据所述标识信息获取与该标识信息对应的种植作物的最近一次的培育数据并计算该数据的哈希值;
[0113] Hash算法是将任意长度的二进制值映射为较短的固定长度的二进制值,该二进制值称为哈希值。哈希值是一段数据的唯一且极其紧凑的数值表示形式。如果散列一段明文中只更改该段落的一个字母,其对应的哈希值将不同。要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。
[0114] 简单理解hash算法就是一种单向的加密算法,一段明文加密后为一段密文,不可逆推,只有加密过程,没有解密过程。目前常用的hash算法有MD5以及SHA系列算法。目前SHA系列算法有sha-224、sha-256、sha-384、sha-512等。
[0115] 由于sha-256安全性较高,故一种可能的设计中,本发明优选sha-256加密算法计算所述哈希值,其工作原理如下:
[0116] 将任何一串数据输入到SHA256将得到一个256位的Hash值(散列值)。其特点为:相同的数据输入将得到相同的结果。输入数据只要稍有变化(比如一个1变成了0)则将得到一个千差万别的结果,且结果无法事先预知。正向计算即由数据计算其对应的Hash值时十分容易,而逆向计算即由Hash值计算出其对应的数据极其困难,故本发明利用该算法计算所述哈希值提高了数据的安全性与可靠性。
[0117] 本发明实施例中,创建区块时,需将指定种植作物的最近一次的培育数据的哈希值作为源数据存入新的区块中,故在创建新的区块之前,需计算各种植作物的最近一次的培育数据的哈希值作为下一个步骤的数据来源。
[0118] 进一步的,区块链中存储有各种植作物的历史培育数据,通过查询各种植作物的标识信息可获取对应种植作物的历史培育数据,其中包括对应种植作物的最近一次的培育数据。
[0119] 创建模块14:以所述标识信息、所述新的培育数据以及所述哈希值为源数据创建当前区块并存入区块链中。
[0120] 请参考上表2,表2示出了一般情况下,区块链中数据区块的结构。通常情况下,数据区块中记录的内容有:区块大小、数据区块头部信息、交易计数、交易详情。在这当中,数据区块头部信息的哈希值是下一个新区块的哈希值的参考目标数,最后一项交易详情记录了该区块中所有的交易记录。
[0121] 一般情况下,数据区块头部结构中记录的内容有:版本号、前一个区块的区块头的哈希值、本区块的区块头的哈希值、Merkle树的根值、时间戳。其中,区块中的版本号记录的是数据区块的版本号;时间戳记录了当前区块生成的时间,按照UNIX时间格式;Merkle树的根值记录了当前区块中所有种植作物工作记录Merkle树的根节点的哈希值。
[0122] 具体而言,Merkle Tree是Dynamo中用来在多个节点之间同步数据集合一致性的算法,MerkleTree是基于数据Hash构建的一个树。它具有以下几个特点:
[0123] (1)数据结构是一个树,可以是二叉树,也可以是多叉树。
[0124] (2)Merkle Tree的叶子节点的值是自己制定的,可以是数据集合的单元数据或者单元数据的hash。
[0125] (3)Merkle Tree非叶子节点的值是其所有子节点值的hash值。
[0126] 本发明用一个哈希树来对每一次的工作记录进行校验,以确保每一次的工作记录都不可伪造和没有重复的工作记录。
[0127] 请参考图2,图2示出了本发明所述新的区块的数据结构。如图2所示,所述新的区块的区块结构2中包括区块头21以及区块体23。所述区块头21中包含了该新的区块的版本号29、前一区块头的哈希值28、时间戳30、本区块头的哈希值22以及Merkle根值26。其中,Merkle根值26是通过Merkle树算法对当前区块中所有种植作物的培育数据进行计算而生成并将其写入当前区块的区块头中。本发明实施例中,创建区块时将所述种植作物上一次的培育数据所存储那个的区块的区块头的哈希值写入当前区块的区块体中以进行新区块的创建。
[0128] 本发明实施例中,通过运用Merkle数算法对各区块中各种植作物的工作记录进行计算以得到Merkle根值。一种可能的设计中,其具体的实现原理如下:
[0129] 1)对每一棵种植作物的工作记录进行hash256运算,得到对应的hash值,然后作为叶子节点。
[0130] 2)非叶子节点value的计算方法:将该节点的所有子节点hash值进行组合(例如拼接),然后对组合结果进行hash计算所得出的hash value就是该非也子节点的hash值[0131] 3)一直两两计算,直到最后得到root的hash值。
[0132] 本发明通过运用Merkle tree算法可以对分布式系统的多节点数据一致性的校验,且一旦数据被修改,可以很快的定位被修改的数据的位置,大大提高校验速度。本发明可以通过构建出整个merkle tree,来确认数据是否被修改,以实现防止区块链中的工作记录被篡改。
[0133] 进一步的,所述区块体23中包含了该新建的区块中各种植作物的本次培育工作的工作记录以及对应的哈希值,所述各种植作物的工作记录根据Merkle数算法进行计算形成Merkle树24,所述区块体中还包含了各种植作物的工作记录的记录总数27。所述区块体中记录了当前区块保存的所有种植作物工作记录的细节。具体的,每一条工作记录都包含有指定种植作物的本次的培育工作中所生成的新的培育数据、该种植作物上一次培育工作中所生成的培育数据的哈希值以及该种植作物上次的培育数据所存储的区块的哈希值。如图2所示,该区块中记录了种植作物A的工作记录31、种植作物B的工作记录32、种植作物C的工作记录33、以及D的工作记录25以及各工作记录所生成的哈希值以及各工作记录的总数。
[0134] 请参考图3,图3示出了本发明所述一种基于区块链的种植作物的培育监控方法中的区块链的结构示意图。如图3所示,区块链中包含3个区块,1区块56、2区块53以及3区块41。各个区块中存储的对于指定的种植作物A的工作记录的内容包括:种植作物A本次的培育数据、种植作物A最近一次的培育数据的哈希值以及种植作物A最近一次的培育数据所存储的区块的区块头的哈希值。例如图3中所示,1区块56包含上一区块的区块头哈希值58、1区块的区块头哈希值57以及Merkle根值59,其还包括种植作物A的第N次培育数据50、种植作物A的第N-1次培育数据的哈希值51以及种植作物A的第N-1次培育数据所存储的区块的哈希值52。
[0135] 2区块53包含1区块56的区块头哈希值55、2区块的区块头哈希值54以及Merkle根值60,其还包括种植作物B的第N次培育数据47、种植作物B的第N-1次培育数据的哈希值48以及种植作物B的第N-1次培育数据所存储的区块的哈希值49。
[0136] 3区块41包含2区块53的区块头哈希值61、3区块41的区块头哈希值42以及Merkle根值43,其还包括种植作物A的第N+1次培育数据44、种植作物A的第N次培育数据的哈希值45以及1区块56的哈希值46。
[0137] 本发明实施例中,所述依据所述标识信息获取与该标识信息对应的种植作物的上一次的培育数据并计算该数据的哈希值的步骤中,还包括:获取所述种植作物上一次的培育数据所存储的区块的区块头并执行哈希运算以获得其哈希值。所述当前区块的区块头中还包括上一区块的区块头的哈希值。
[0138] 一种可能的设计中,本发明所述方法还包括响应于用户端输入的查询请求,将与该查询请求对应的种植作物的历史培育数据和/或最新培育数据显示于所述用户端界面。优选的,本发明所述方法还包括向用户端推送指定种植作物的预测培育数据。
[0139] 本发明实施例中,提供用户查询所述种植作物的培育数据的访问接口,用户可以通过扫描二维码查询指定种植作物的历史培育数据,以依据该数据进行下一次的培育活动的安排,或者可以通过接受本系统推送的预测培育数据进行安排下一次的培育活动。
[0140] 综合上述实施例可知,本发明最大的有益效果在于,本发明通过获取指定种植作物的历史培育数据以及当前的实际培育数据生成用于创建新的区块的源数据,另外,还获取指定种植作物的最近一次工作记录的培育数据的哈希值存入新的区块中,以实现区块之间数据的链接,最终,以上述获取的各数据为数据来源创建新的区块,以将所述种植作物的每次的工作记录存入区块链中。本发明通过区块链来记录种植作物的培育数据以保证种植作物的培育记录不被篡改,且数据安全可靠。
[0141] 本发明通过获取区块链中指定种植作物的历史培育数据,并结合区块链中预设的所述种植作物的参考培育数据生成该指定种植作物的下一次培育的预测培育数据,以作为下一次培育活动的参考。本发明通过理论预测结合实际种植作物的长势管理硕士种植作物的生长,提高了本方案的灵活性。
[0142] 本发明解决了种植作物生长过程中被重复打药、施肥等情况,通过区块链的技术保证记录的准确性以及不被篡改,以达到监控种植作物的生长的目的。
[0143] 本领域普通技术人员可以理解上述实施例的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
[0144] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0145] 以上对本发明所提供的一种防止家庭基站的参数被篡改的方法进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈