首页 / 专利库 / 视听技术与设备 / / 用于作物保护优化的系统和方法

用于作物保护优化的系统和方法

阅读:134发布:2020-05-11

专利汇可以提供用于作物保护优化的系统和方法专利检索,专利查询,专利分析的服务。并且用于优化作物保护的系统(100)、方法和 计算机程序 产品。生成器模 块 (120) 访问 一个或多个配置数据结构(220),其中该一个或多个配置数据结构包括用于存储作物数据(221)、与相应作物数据有关的建议数据(222)以及与相应建议有关的作物保护产品数据(223)的数据字段。此外,它访问多个代码 片段 (230),其中每个代码片段(231、232、233)具有与一个或多个数据结构(220)的至少一个属性字段有关或与另一个代码片段的结果有关的条件,并且进一步包括与该条件相关联的通用程序逻辑,以及其中每个属性字段都在至少一个代码片段的条件中使用。该多个代码片段被应用于一个或多个配置数据结构以生成建议逻辑程序。该系统接收反映真实世界田地状况的输入(210)。系统的处理器模块(150)将所生成的建议逻辑程序(130)应用于所接收的输入(210),以生成适用于真实世界田地状况的作物保护产品混合指令(140)。,下面是用于作物保护优化的系统和方法专利的具体信息内容。

1.一种用于优化作物保护的计算机实现的方法(1000),所述方法包括:
访问(1100)一个或多个配置数据结构(220),其中所述一个或多个配置数据结构包括用于存储以下内容的数据字段:
作物数据(221),其中作物数据记录(221-1)至少存储用于特定作物的作物标识符信息以及有关用于所述特定作物的各种保护产品细分的适用性的属性,
与相应的作物数据有关的建议数据(222),其中每个建议数据记录(222-1、222-2、222-
3)存储建议标识符信息和有关针对相应保护产品细分的有关作物的建议的属性,以及与相应的建议数据有关的作物保护产品数据(223),其中每个作物保护产品数据记录(223-1、223-2、223-3、223-4)存储关于用于至少一个特定目标的特定保护产品的标识符信息,以及与有关建议数据记录相关的产品施用属性,每个目标都描述了特定侵袭或特定作物疾病
访问(1200)多个代码片段(230),其中每个代码片段(231、232、233)具有与所述一个或多个数据结构(220)的至少一个属性字段有关或与另一代码片段的结果有关的条件,并且进一步包括与所述条件相关联的通用程序逻辑,以及其中每个属性字段在至少一个代码片段的所述条件中使用;
将所述多个代码片段应用(1300)于所述一个或多个配置数据结构,以通过将每个代码片段的通用程序逻辑转换为与相应条件和数据字段值符合的可执行程序逻辑,来生成建议逻辑程序(130);
接收(1400)输入,所述输入至少包括特定作物标识符、特定目标标识符和表示真实世界田地状况的特定作物生长阶段代码;以及
将所生成的建议逻辑程序应用(1500)于所接收的输入,以生成用于处理所述真实世界田地状况的作物保护产品混合指令。
2.根据权利要求1所述的方法,进一步包括:
提供(1600)所生成的作物保护产品混合指令(140)作为喷雾器器具(250)根据所生成的建议逻辑程序来生成具有一种或多种作物保护产品的罐混物的控制指令(240)。
3.根据前述权利要求中任一项所述的方法,其中所述相应的保护产品细分选自由如下组成的组:杀虫剂(i)、杀真菌剂(f)、除草剂(h)、氮稳定剂(n)、生长调节剂(g)、线虫剂、杀软体动物剂、杀鼠剂、杀螨剂杀菌剂、除藻剂、抗生物剂、肥料土壤改良剂、土壤添加剂以及两个或多个所述细分的组合。
4.根据前述权利要求中任一项所述的方法,进一步包括:
针对每个建议数据记录:
选择(2110)当前建议数据记录的所述属性字段;
针对每个所选的属性字段:
生成(2121)与所述当前属性字段的所述属性值相对应或与由所述当前属性值定义的范围内的值相对应的一个或多个阳性测试用例
基于所述当前属性字段值的修改来生成(2122)一个或多个阴性测试用例,并且在所定义的范围的情况下,所述修改在所定义的范围之外;以及
将所生成的测试用例存储(2130)在测试用例数据库(260)中。
5.根据权利要求4所述的方法,进一步包括:
用来自所生成的测试用例的输入数据执行(2200)所述可执行程序逻辑;
通过检查所生成的混合指令是否符合所述阳性测试用例来验证(2300)所述可执行程序逻辑;
在不符合的情况下,防止(2400)所述可执行程序逻辑被部署用于生产;以及在符合的情况下,部署(2500)所述可执行程序逻辑以供生产使用。
6.根据权利要求4所述的方法,进一步包括:
用反映真实世界田地状况的输入数据执行所述可执行程序逻辑;
检查所生成的混合指令是否符合所述阳性测试用例;
在不符合的情况下,丢弃所生成的混合指令(140);以及
在符合的情况下,将所生成的混合指令140转换成系统输出(211)。
7.一种用于优化作物保护的计算机程序产品,包括指令,所述指令在被加载到计算机系统存储器中并由所述计算机系统的至少一个处理器执行时使所述计算机系统执行根据先前权利要求中任一项所述的方法步骤。
8.一种用于优化作物保护的计算机系统(100),所述系统包括:
生成器模(120),其被配置为
访问一个或多个配置数据结构(220),其中所述一个或多个配置数据结构包括用于存储以下内容的数据字段:
作物数据(221),其中作物数据记录(221-1)至少存储用于特定作物的作物标识符信息以及关于用于所述特定作物的各种保护产品细分的适用性的属性,
与相应的作物数据有关的建议数据(222),其中每个建议数据记录(222-1、222-2、222-
3)存储建议标识符信息和有关针对相应保护产品细分的有关作物的建议的属性,以及与相应的建议数据有关的作物保护产品数据(223),其中每个作物保护产品数据记录(223-1、223-2、223-3、223-4)存储关于用于至少一个特定目标的特定保护产品的标识符信息,以及与有关建议数据记录相关的产品施用属性,每个目标都描述了特定侵袭或特定作物疾病;
并进一步被配置为访问多个代码片段(230),其中每个代码片段(231、232、233)具有与所述一个或多个数据结构(220)的至少一个属性字段有关或与另一代码片段的结果有关的条件,并且进一步包括与所述条件相关联的通用程序逻辑,以及其中每个属性字段在至少一个代码片段的条件中使用;
并且进一步被配置为将所述多个代码片段应用于所述一个或多个配置数据结构,以通过将每个代码片段的所述通用程序逻辑转换为符合所述相应条件和相应数据字段值的可执行程序逻辑,来生成建议逻辑程序;
接口(110),其被配置为接收输入(210),所述输入(210)至少包括特定作物标识符、特定目标标识符和表示真实世界田地状况的特定作物生长阶段代码;以及
处理器模块(150),其被配置为将所生成的建议逻辑程序(130)应用于所接收的输入(210),以生成用于处理所述真实世界田地状况的作物保护产品混合指令(140)。
9.根据权利要求8所述的系统,其中所述计算机系统进一步包括转换模块,所述转换模块被配置为:
将所生成的作物保护产品混合指令(140)转换为喷雾器器具(250)根据所生成的建议逻辑程序生成具有一种或多种作物保护产品的罐混物的控制指令(240),其中所述控制指令(240)通过接口(110)提供给所述喷雾器器具(250)。
10.根据权利要求8或9所述的系统,其中所述相应的保护产物细分选自由如下组成的组:杀虫剂(i)、杀真菌剂(f)、除草剂(h)、氮稳定剂(n)、生长调节剂(g)、杀线虫剂、杀软体动物剂、杀鼠剂、杀螨剂、杀菌剂、除藻剂、抗微生物剂、肥料、土壤改良剂、土壤添加剂以及两个或多个所述细分的组合。
11.根据权利要求8至10中任一项所述的系统,其中所述生成器(120)包括有序语句(S1至Sn)的列表,其中每个语句都引用相应的代码片段。
12.根据权利要求8至11中任一项所述的系统,进一步包括:
测试用例生成器模块(261),其被配置为通过以下方式针对每个建议数据记录生成(2100)一个或多个测试用例:
选择(2110)所述当前建议数据记录的所述属性字段;
针对每个所选的属性字段:
生成(2121)与当前属性字段的属性值相对应或与由所述当前属性值定义的范围内的值相对应的一个或多个阳性测试用例;
基于所述当前属性字段值的修改来生成(2122)一个或多个阴性测试用例,并且在所定义的范围的情况下,所述修改在所定义的范围之外;以及
将所生成的测试用例存储(2130)在测试用例数据库(260)中。
13.根据权利要求12所述的系统,进一步包括:
测试引擎(262),其被配置为用来自所生成的测试用例(260)的输入数据(210)来触发所述可执行程序逻辑(130)的执行;
测试证明模块(263),其被配置为通过检查所生成的混合指令(140)是否符合所述阳性测试用例来验证所述可执行程序逻辑,并在不符合的情况下防止将所述可执行程序逻辑部署到生产中,并在符合的情况下部署所述可执行程序逻辑以供生产使用。

说明书全文

用于作物保护优化的系统和方法

技术领域

[0001] 本发明总体上涉及作物保护的优化,并且更具体地涉及用于自动构建用于能够将作物保护产品的混合物部署到田地作物的器具的保护产品混合指令的代码生成。

背景技术

[0002] 在作物生长时使用作物保护产品(至少包括化学作物保护产品和生物作物保护产品)以增加产量。优选地,作物保护产品是化学作物保护产品。在此所用的术语“作物保护”包括但不限于化学作物保护、施肥和生物作物保护。优选地,作物保护是化学作物保护。化学作物保护产品的示例是:吡咯菌酯、嘧菌酯、苦味酚酯、氟唑菌酰胺、环丙康唑、甲康唑、环环唑、甲芬三氟康唑、鳞菌素、醚菌酯、二氧基锑(dioxystrobin)、三苯甲基唑、甲基硫菌灵、氟虫腈、溴氟苯胺、阿巴菌素、双丙环虫酯、α-氯氰菊酯、溴虫腈、氯虫苯甲酰胺、氰虫酰胺、氰氟虫腙、哒螨灵、氟苯脲、噻虫嗪、吡虫啉、氟啶虫胺腈、氯吡啶酸、麦草畏、双氟苯并吡喃、草甘膦、灭草烟、吡草胺、2,4-二氯苯氧乙酸(2,4-D)、环庚草醚、二甲戊灵、苯嘧磺草胺、环磺、苯吡唑草酮或基于这些活性成分的产品。生物作物保护产品的示例是:解淀粉芽孢杆菌(Bacillus amyloliquefaciens)(基于解淀粉芽孢杆菌(菌株MBI600)的产品的示例是 )、球孢白僵菌(Beauveria bassiana)(基于球孢白僵菌的产品的示例是)、坚强芽孢杆菌、枯草芽孢杆菌、缓生根瘤菌、短小芽孢杆菌、地衣芽孢杆
菌、多粘芽孢杆菌、附生芽孢杆菌、西氏巴斯德氏菌、青霉菌或基于这些微生物的产品,以及生化活性成分,诸如洋地黄毒苷和顺式茉莉酮,或基于这些活性成分的产品。
[0003] 如在此所使用的作物是可以在田地上生长和收获植物或植物产品。然而,对于提高产量而言,对于特定作物在正确的时间将正确的作物保护产品施用于正确的目标至关重要。作物保护产品可以包括单一活性成分、活性成分的组合或佐剂的组合。换句话说,如在此所使用的作物保护产品包括但不限于活性成分、组合物、混合物和包含一种或多种活性成分、制剂、共制剂、佐剂、惰性物质、溶剂的制剂。如在此所使用的,“目标”描述了可以由作物保护措施来处理的特定侵袭或特定作物疾病。作物保护措施可包括将一种或多种作物保护产品施用于受影响的作物。作物的示例是谷物、油菜、玉米、土豆、甜菜、稻、大豆、甘蔗花、水果、蔬菜和豆类。侵袭包括但不限于微生物侵袭、害虫侵袭、杂草侵袭或与植物健康、植物养分或植物生长有关的任何挑战。总体上,本领域已知至少数百个目标,包括杂草和禾本科杂草、真菌、细菌或病毒病原体以及动物害虫,尤其是昆虫。许多不同的作物保护产品可用于应对此类侵袭或疾病。此类产品可细分为多个细分,诸如例如:杀虫剂(i)、杀真菌剂(f)、除草剂(h)、氮稳定剂(n)、生长调节剂(g)、线虫剂、杀软体动物剂、灭鼠剂杀螨剂杀菌剂、除藻剂、抗微生物剂、肥料土壤改良剂和土壤添加剂。可商购的化合物可在英国农药保护委员会(2015)第17版“The Pesticide Manual”等其它出版物及其在线数据库https://www.bcpc.org/product/bcpc-online-pesticide-manual-latest-version中找到。
[0004] 在一些情况下,当作物受到一个或多个目标影响时,将多种产品组合成施用于相应农作物的产品混合(例如,相应作物保护产品的喷雾混合物)可能是有利的。然而,正确产品的选择取决于许多因素,诸如例如作物的生长阶段、天气条件、当前季节、最近施用的产品等。对于保护产品的混合物,附加选择参数可以是产品的兼容性、使用率调整、注册限制、抵制问题或优选的作用方式组合。例如,在WO2013/087103 A1中描述了用于施加液体混合物的系统和方法。
[0005] 一旦在田地上检测到针对特定作物的目标,立即确定适当的喷雾混合物可能是有利的。例如,天气条件可能会发生变化,使得立即强制在田地中施用喷雾混合物。结果,喷雾混合物的近实时确定成为有效产量的要求。此外,新产品可能变得可用,这可能导致与其它产品的新的相互依赖性。这可能需要在作物的各个生长阶段期间全面重新评估各种产品的所有施用条件。相互依赖性和条件是如此复杂,以至于人们无法针对相应的喷雾器器具确定适当的产品混合指令。

发明内容

[0006] 因此,需要提供一种技术解决方案,该技术解决方案能够针对在特定作物生长阶段的特定作物以及针对至少一个特定目标接近实时地确定作物保护产品的适当混合物,描述田地上的状况和条件。术语“作物保护产品的混合物”还旨在包括以100%使用单一作物保护产品的情况。
[0007] 如独立权利要求中所公开的本发明的实施例提供了系统、方法和计算机程序产品,以通过针对给定的作物状况(即,作物、生长阶段、目标)接近实时地确定适当的喷雾混合物指令来优化化学作物保护,该指令能够立即施用喷雾混合物以提高产量。
[0008] 在用于优化化学作物保护的计算机实现的方法的第一步骤中,执行该方法的计算机系统访问以下称为“数据结构”的一个或多个配置数据结构。此类一个或多个数据结构可以由计算机系统本身的存储组件存储,或者可以由远程数据存储设备存储(例如,在远程服务器计算机上或在远程数据库系统上)。在远程访问远程存储的(多个)数据结构的情况下,计算机系统可以使用标准通信接口和标准通信协议来访问(多个)数据结构。该一个或多个数据结构包括用于存储各种类型的数据记录的数据字段。应当注意,在下面的描述中,术语“(数据)字段”当在一个或多个数据结构中存储的数据记录的上下文中使用时,涉及数据结构的属性字段,在该属性字段中存储用于各种数据记录的相应值。有时,术语“田地”也用于作物生长的农场的农业田地。对于本领域技术人员而言,根据说明书的上下文,相应的含义是清楚的。为了避免混淆,有时将(多个)数据结构的数据字段也称为属性或属性字段。
[0009] 第一数据记录类型是指作物数据,其中作物数据记录至少存储用于特定作物的作物标识符信息和关于用于特定作物的各种保护产品细分的适用性的信息。保护产品细分的示例包括但不限于:杀虫剂(i)、杀真菌剂(f)、除草剂(h)、氮稳定剂(n)、生长调节剂(g)、杀线虫剂、杀软体动物剂、杀鼠剂、杀螨剂、杀菌剂、除藻剂、抗微生物剂、肥料、土壤改良剂、土壤添加剂以及两个或多个所述细分的组合。例如,作物数据记录可以具有作物标识符字段和一个或多个作物属性字段。作物标识符可以是数字或名称。作物属性可以例如包括作物名称、有关作物生长的地理信息、各种作物保护产品细分等。
[0010] 第二数据记录类型是指与相应作物数据有关的建议数据。建议数据存储有关针对相应保护产品细分的特定作物的建议的信息。例如,建议数据记录可以具有与相应作物的多个建议属性相关联的作物保护建议标识符。建议属性包括用于相应作物的至少一个生长阶段代码和一个或多个建议属性。例如,建议标识符可以是数字或名称。例如,可以在存储相应作物数据记录的作物标识符的字段中指示与建议相关的作物。本领域技术人员可以替代地使用其它指针机制。生长阶段代码可以是BBCH代码、Zadoks代码、Feekes代码、Haun代码或适合于以足够的粒度指示作物生长阶段的任何其它代码。
[0011] 第三数据记录类型是指与相应建议数据有关的作物保护产品数据。作物保护产品数据记录存储有关针对特定目标的保护产品的标识符信息及其与相关建议以及田地特定条件相关的施用属性。例如,作物保护产品数据记录可以具有作物保护产品标识符(数字或名称)以及用于相应目标的一个或多个保护产品属性。每个目标对应于特定的侵袭或特定的作物疾病。田地特定条件因田地而异,并且可以是诸如土壤类型、水条件、田地上的先前施用的实体。
[0012] 在第二步骤中,计算机系统访问多个代码片段。每个代码片段具有与一个或多个数据结构的至少一个数据字段属性有关或者与另一代码片段的结果有关的条件。此外,代码片段包括与条件相关联的通用程序逻辑。在配置数据结构中定义的每个属性字段在至少一个代码片段的条件中使用。换句话说,片段的条件是检查用于特定数据记录的至少一个相应配置属性的数据字段属性值。代码片段的通用程序逻辑部分可以看作是通用代码模板,该通用代码模板基于(多个)配置数据结构中的相应配置值,取决于条件检查的结果定义如何生成可执行代码。由于所有配置属性(即(多个)数据结构的所有属性字段)均由相应的代码片段条件进行检查,因此系统可以针对每个配置属性生成可执行代码。在其它代码片段的条件下使用代码片段结果的选项允许反映跨多个层次结构级别的各种配置属性之间的相互依赖性。因此,可以在建议逻辑中对具有多个层次结构级别的复杂决策树进行建模,以确定适当的产品混合指令。
[0013] 然后,在第三步骤中,通过将多个代码片段应用于一个或多个数据结构以通过将每个代码片段的通用程序逻辑转换为符合相应条件和相应字段值的可执行程序逻辑以生成建议逻辑程序,来执行可执行代码生成。在该步骤中,系统针对(多个)配置数据结构的所有数据记录生成可执行程序逻辑,其中每个配置属性都通过一个或多个相关联代码片段经由对应条件进行检查,并且当根据配置属性值配置通用代码模板时导致可执行建议逻辑程序的对应部分。为此,系统的生成器包括如下程序,该程序被配置为以正确的顺序排列所有代码片段,并采用来自(多个)配置数据结构的配置数据替换代码片段中的占位符。将代码片段应用于配置数据结构会生成可执行程序,该可执行程序实现由数据结构定义的决策树。此类决策树向系统提供了指导,指导系统如何针对特定的给定作物状况(真实世界田地上的状况)施用保护产品的混合物生成特定建议。因此,根据决策树在生成器函数中定义了代码片段的正确顺序。
[0014] 接收到关注的特定作物状况作为输入,该输入至少包括特定作物标识符、特定目标标识符和表示该作物的真实世界田地状况(作物状况)的特定生长阶段代码。可以从人类用户(例如,农民)接收作物状况作为输入,或者可以从另一系统接收作物状况。例如,现代相机系统可以安装在田地中的拖拉机上,并且可以配置为通过应用诊断图像处理方法自动识别作物的作物类型、潜在疾病和生长阶段,并向计算机系统提供诊断结果以用于建议生成。可以通过反映所生成建议的控制指令来控制可商购的直接注射类型系统。
[0015] 然后,系统将所生成的建议逻辑程序应用于所接收的输入,并生成用于处理真实世界田地状况的作物保护产品混合指令。换句话说,产品混合指令确定保护产品的特定混合物,其将被施用于由作物识别符与特定目标识别符和特定生长阶段代码定义的相应作物状况。因为所有配置属性都由所生成的建议逻辑程序覆盖,所以有关决策树以及在各种代码片段中定义的各种配置属性之间的所有相互依赖性的全部知识都包括在生成的可执行建议程序逻辑中。响应于接收到有关作物状况的输入,可以立即(接近实时地)执行该程序。该步骤的结果是提供有关在当前状况下将应用于作物的一种或多种保护产品的信息的建议。换句话说,所提供的作物保护产品混合指令包括关于(多个)相应产品标识符和目的是优化田地产量而要添加到保护产品混合中的相应量的信息。
[0016] 在一个实施例中,所生成的作物保护产品混合指令被提供为喷雾器器具根据所生成的建议逻辑程序来生成具有一种或多种作物保护产品的罐混物的控制指令。喷雾器器具通常包括用于存储相应保护产品的一个或多个罐,用于根据产品混合指令混合保护产品的混合部件,以及用于将所得到的产品混合分配到具有至少一个目标的作物生长的田地上的一个或多个喷雾。一些喷雾器器具是可商购的。在该实施例中,控制指令以机器可读格式生成,该格式适于控制喷雾器器具的喷雾阀,使得可以根据产品混合指令来生产产品混合物。现代农业设备是可用的,该设备允许将此类喷雾器器具与对应的产品罐集成到田地中使用的机械中。结果,该实施例允许农民在巡查田地时立即针对当前作物状况自动施用适当的产品混合物。喷雾器器具有利地用于混合液体保护产品。一些保护产品是固体性质的。对于此类保护产品,本领域技术人员将使用适当的机械混合设备来实现本发明构思。
[0017] 在一个实施例中,计算机系统进一步被配置为在执行导致与所生成的测试用例不一致的混合指令的结果的情况下,生成用于验证所生成的程序逻辑的测试用例,以防止将该程序逻辑部署用于生产使用。换句话说,仅在程序逻辑的验证仅提供符合阳性测试用例的混合指令的情况下,才允许将可执行程序逻辑部署用于生产使用。该实施例有助于提高所生成的程序逻辑的稳健性。因此,它降低了在田地上分发保护产品的险,这些产品可对生长的作物造成伤害或可能与相应国家的当地惯例不符。
[0018] 本发明的另外方面将借助于所附权利要求中具体描绘的要素和组合来实现和获得。应当理解,前面的一般描述和下面的详细描述二者都仅仅是示例性和说明性的,并且不限制所描述的本发明。附图说明
[0019] 图1是根据实施例的用于优化化学作物保护的计算机系统的简化框图
[0020] 图2是根据实施例的由计算机系统执行的用于优化化学作物保护的方法的简化流程图
[0021] 图3A示出了代码片段的结构及其相互依赖性;
[0022] 图3B示出根据实施例的生成器的结构示例;
[0023] 图4是根据实施例的用于建议逻辑生成的配置数据结构的示例;
[0024] 图5示出具有扩展模的计算机系统的实施例,该扩展模块实现用于生成的建议程序逻辑的验证功能;
[0025] 图6是示出用于程序逻辑验证的可选步骤的简化流程图;
[0026] 图7示出存储在测试用例数据库中的示例测试用例;以及
[0027] 图8是示出可以在本发明的实施例中使用的通用计算机设备和通用移动计算机设备的示例的图。

具体实施方式

[0028] 图1是根据本发明的实施例的用于优化化学作物保护的系统100的简化框图。将在图2的上下文中讨论图1,图2是根据本发明的实施例的由图1的系统100执行的用于优化化学作物保护的方法1000的简化流程图。因此,附图标记可以参考图1或图2。
[0029] 该计算机系统具有生成器模块120,该生成器模块120可以基于对应的配置数据生成可执行建议程序逻辑130。建议程序逻辑130实现关于在哪种状况下应将哪种(哪些)作物保护产品施用于哪种(哪些)作物的知识。因此,特定状况(田地状况)的特征在于,播种在田地上的特定作物示出了针对特定目标的指标。建议逻辑程序130当应用于特定状况时,标识适于接近实时地处理特定目标的一种或多种合适的保护产品,并生成混合指令140作为适于在特定状况中与目标作战的相应产品混合的建议。
[0030] 接收到特定田地状况作为输入210。输入210至少包括特定作物标识符、特定目标标识符和特定生长阶段代码。换句话说,输入提供有关在相应田地中生长的作物的信息、有关影响作物以及可能阻碍田地中获得有效产量的目标的信息、以及有关作物的当前生长阶段的信息(田地状况)。除了该信息之外,输入还可以包括更多可选信息,以更详细地指定田地状况。可选输入信息的示例在说明中进一步示出。
[0031] 生成器120与一个或多个配置数据结构220通信耦接。(多个)配置数据结构可以存储在远程存储设备上,该远程存储设备可由生成器120经由标准通信接口访问。可替代地,可以将(多个)配置数据结构存储在计算机系统100的存储器组件中。生成器120访问1100(多个)配置数据结构220以取得配置数据,该配置数据然后用于生成建议程序逻辑130。配置数据存储在一个或多个配置数据结构的数据字段中。可以区分三种类型的配置数据:作物数据221、建议数据222和作物保护产品数据223。例如,本领域技术人员可以使用关系数据库表、XML文件或适合于存储结构化数据的任何其它数据结构构造来实现(多个)配置数据结构。各种配置数据类型的以下概述由图4的详细示例说明进行补充。
[0032] 作物数据221:作物数据记录221-1至少存储用于特定作物的作物标识符信息以及有关用于特定作物的各种保护产品细分的适用性的属性。作物标识符是相应作物的唯一表示。这可以是唯一的符号,类似例如唯一的数字或唯一的名称。作物数据记录的属性字段可以包括有关作物生长区域的信息或有关可能保护产品细分的信息。众所周知的保护产品细分的示例是:杀虫剂、杀真菌剂、除草剂、生长调节剂、氮稳定剂或延伸超过两个或更多个此类保护产品细分的组合的细分。
[0033] 建议数据222:特定的建议数据记录与相应的作物数据记录相关。每个建议数据记录存储建议标识符信息和有关针对相应保护产品细分的相关作物的建议的属性。例如,可以用建议数据记录中的数据字段来实现特定建议数据记录和相关的作物数据记录之间的关系,该建议数据字段存储指向相应作物数据记录的指针。建议数据记录的属性字段至少包括指示该建议数据记录适用的作物生长阶段的生长阶段代码。
[0034] 作物保护产品数据223:作物保护产品数据记录与相应的建议数据记录相关。每个建议数据记录存储有关可能适用于一个或多个目标的特定保护产品的标识符信息。换句话说,保护产品的唯一标识符与指向至少一个目标的信息一起存储,该信息描述了一种特定的侵袭或作物疾病,可以通过涉及所述保护产品施用的作物保护措施来处理该侵袭或作物疾病。指向至少一个目标的信息可以是指示一个或多个目标名称的数据字段值,或者可以是指向列出了相应目标的数据结构的指针(引用)。例如,可以用作物保护产品数据记录中的数据字段来实现作物保护产品数据记录与相关建议数据记录之间的关系,该作物保护产品数据字段存储指向相应建议数据记录的指针。
[0035] (多个)配置数据结构可以看作是知识库的实现方式,该知识库反映了关于在某些田地状况下将某些保护产品施用于相应作物的决策树。现在,此类配置数据由生成器120转换为程序逻辑130,其中程序语句以计算机可读和可执行的格式反映决策树的实现方式。
[0036] 为此,生成器120进一步访问1200多个代码片段230。该代码片段可以被存储在与计算机系统100通信耦接的远程存储设备上,或者它们可以被存储在计算机系统100的内部存储器组件中。如在此所使用的,代码片段231、232、233是一段通用软件代码,该软件代码可用于基于相应的配置数据来生成可执行代码部分。通用代码片段包括不可执行的代码模板,该代码模板通过配置变得可执行。
[0037] 简要地转向图3A,每个代码片段231具有条件231-c,该条件231-c与一个或多个配置数据结构221、222、223的至少一个属性字段相关,或者与另一代码片段232的结果232-r相关。此外,每个代码片段231、232包括与条件231-c、232-c相关联的通用程序逻辑231-r、232-r。通用程序逻辑为代码片段的一部分提供模板,一旦代码片段基于配置数据被转换为可执行逻辑并由计算机系统100的处理器模块150执行,该模板就提供结果。从而,在至少一个代码片段的条件中使用(多个)数据结构220的每个属性字段。换句话说,任何一个或多个配置数据结构中的每个属性值都被至少一个代码片段覆盖,该代码片段对所述属性值执行一些检查并取决于相应的配置数据生成相应的程序逻辑。
[0038] 转回到图1和图2,生成器120进一步将多个代码片段230应用1300于一个或多个配置数据结构220,以通过将每个代码片段的通用程序逻辑转换为符合相应条件和相应数据字段值的可执行程序逻辑130,来生成建议逻辑程序。也就是说,生成器通过以正确的顺序排列代码片段并通过用(的多个)配置数据结构的相应配置数据替换代码片段的通用代码模板中的占位符来从代码片段生成可执行程序逻辑。正确的顺序定义为导致程序可以无错误运行的顺序。换句话说,正确的顺序考虑了代码片段之间的可能依赖性,使得代码片段所需的每个输入均已作为先前代码片段的输出提供。在图4的上下文中描述了具有示例代码片段的详细示例以及可执行建议程序逻辑的结果示例。简要转到图3B,生成器120包括有序语句S1至Sn的列表,每个语句引用相应的代码片段。在该示例中,语句S1引用代码片段232,语句S2引用代码片段239,并且语句Sn引用代码片段231。这允许基于相应的代码片段以正确的顺序(定义执行顺序)来生成可执行代码部分,其中代码片段引用配置数据220。
[0039] 转回到图1和图2,计算机系统100进一步具有接口110,以接收1400输入210,该输入至少包括特定的作物标识符、特定的目标标识符以及特定的生长阶段代码。如前所述,该输入可以看作是描述作物生长的(农业)田地状况的最小数据集。输入可以通过可选信息(如,例如指定作物生长的农场上的特定田地的田地指示符、有关早期保护产品施用的指示符、土壤湿度等)来增强。通常可以从农场管理系统、从当前或过去的天气观察中取得该类型的可选信息,可以将其作为来自用户(例如,农民)等的输入手动提供。
[0040] 计算机系统100的处理器模块150将生成的建议逻辑程序130应用1500到接收的输入210,以生成适用于具有特定目标标识符和特定生长阶段代码(即输入210提供的田地状况)的相应作物标识符的作物保护产品混合指令140。处理器模块150可以被实现为具有能够执行所生成的程序逻辑130的运行时环境的编译器或解释器。输入210将所生成的程序运行所需要的参数提供给程序逻辑130。程序逻辑执行的结果是混合指令140,该混合指令140包括有关应将哪些可用保护产品施用于田地中的作物以提供关于所识别目标的处理的信息。要注意的是,该指令也可以包括单个保护产品(100%),或者可以包括具有相应百分比或绝对数量的多个保护产品。
[0041] 混合指令140可以以人类可读的格式被提供,使得用户然后可以根据生成建议逻辑程序的执行所提供的结果,控制喷雾器器具250生成具有一种或多种作物保护产品的罐混物。结果,在田地中的农民可以向计算机系统100提供当前田地状况。田地参数的最小输入集210可以通过存储在田地管理系统中的另外的田地特定信息来自动地增强。输入然后由处理器模块150接近实时地处理,并且混合指令140也可以接近实时地提供给农民。这使农民能够以理想的保护产品或产品混合对当前田地状况立即做出反应,以针对目标启动处理。此类喷雾混合物施用可能是时间紧迫的。例如,如果预测出镰刀菌侵袭,则系统可以基于侵袭状况和时间立即对适当的产品推荐做出反应。因此,满足一到四天的非常狭窄的产品施用时间窗口是有利的,这在实际农场操作中通常很难满足。另一个示例是天气状况的即将发生的变化(例如,预报的降雨、雷暴、温度下降等),这可能会将成功处理的时间窗口限制于从当前时间点开始的有限时间间隔。例如,如果预报第二天会有降雨,则该农民可能只有这一天才能对整个田地进行正确的处理。因此,适当的产品混合指令140的几乎实时的确定对于优化处理和化学作物保护是有利的。
[0042] 将结果用于此类喷雾器器具的全自动控制可能是有利的。在该实施例中,计算机系统100进一步包括转换模块,该转换模块将所生成的作物保护产品混合指令140转换成控制指令240,该控制指令240用于喷雾器器具250根据生成的建议逻辑程序生成具有一种或多种作物保护产品的罐混物。然后,可以通过接口110将控制指令240提供1600给喷雾器器具250。可以将转换模块实现为接口110的一部分。
[0043] 图4是根据实施例的用于建议程序逻辑生成的配置数据结构221、222、223的示例。在图4的示例中,配置数据存储在关系数据库的数据库表中。本领域技术人员可以使用其它数据结构(诸如例如图形数据库或XML数据库)来存储配置数据。
[0044] 在该示例中,表221、222、223分别说明了具有用于作物数据、建议数据和作物保护产品数据的示例数据记录的可能的数据结构。在该简化示例中,冬大麦(作物)田地被蚜虫(目标)侵袭。特定的杀虫剂(i)可用于混合并分发到冬大麦田地。该描述以示例的方式解释了计算机如何生成程序逻辑,也就是说,为了简单起见,专用于处理杀虫剂;如何在使用前验证程序逻辑;以及程序逻辑如何协助农民选择特定的杀虫剂,特别是施用数量。
[0045] 作物数据记录221-1具有作物标识符221-ID和一个或多个作物属性221-P1至221-Pn。表中示出的条目是实际存储的值的缩写。在示例中,222-P1以英语“冬大麦(winterbarley)”存储作物名称(“WBar”代表冬大麦)。221-P2存储作物eppo(或EPPO)代码HORVW(这里缩写为“HORV”)。221-P3将作物名称以德语“Wintergerste”(WGer)存储。221-4。
当然,一个作物名称就足够了,并且翻译成其它语言是可选的。同样,存储在221-P4/P5中的有关作物生长区域的信息也是可选的。“德国/莱茵兰-普法尔茨州”(DE/RP)是可选的。在该示例中,221-P6至221-Pn包括是否可以将特定产品细分的产品(例如,杀虫剂221-P6或杀真菌剂221-P7)施用于作物冬大麦的信息。值“真(true)”指示相应的产品细分适用。
[0046] 建议数据表222存储与相应作物数据有关的建议数据记录。每个建议数据记录222-1、222-2、222-3具有与多个建议属性222-P*相关联的作物保护建议标识符222-ID。此外,222-PaID存储与建议相关的作物数据记录的ID。在该示例中,所有三个建议数据记录均与作物数据记录221-1相关。每个建议数据记录存储至少一个生长阶段代码,该生长阶段代码指示该建议所涉及的相应作物的生长阶段。在该示例中,通过属性字段222-P1(从)和
222-P2(到)定义了成长阶段代码的范围。在示例中,BBCH代码存储在这些字段中。数据记录
222-1指定从11到13的范围,数据记录222-2指定从24到39的范围,并且数据记录222-3指定从13到39的范围。字段222-P3和222-P4提供关于将要针对相应建议施加的水量的信息。例如,对于数据记录222-1,应将其读取为400l/ha。字段222-P5指定了建议所涉及的产品细分。例如,建议222-1与杀虫剂“i”相关,而建议222-2和222-3与除草剂“h”相关。字段值“null”指示相应的字段不适用于相应的建议数据记录。
[0047] 作物保护产品数据表223存储作物保护产品数据记录223-1、223-2、223-3、223-4。每个作物保护产品数据记录均具有作物保护产品标识符223-ID,并与相应的建议数据记录相关。在该示例中,该关系存储在指向相关建议数据记录的ID的字段223PaID中。例如,保护产品数据记录223-1、223-2分别与建议数据记录222-1、222-2相关。作物保护产品数据记录
223-3和223-4二者均与建议数据记录222-3相关。此外,如果相应数据记录与目标相关,则属性字段223-P1存储目标名称。可以存在多个属性字段来指定目标信息,或者可以存在相同属性字段中指定的多个目标(例如,由相应的分隔符分隔)。在该示例中,保护产品数据记录223-1、223-2与称为APHISP的目标(这里缩写为“ABHIS”)相关。其它两个数据记录与由该属性字段指定的目标无关。字段223-P2存储保护产品名称Fastac SC(Fastac)、冬季两项4D(Biath)和Dash E.C.(Dash)。在该示例中,223-P3存储相应产品的注册号。223-P4和223-P5存储相应产品的施用率。223-P6存储可以施用该产品的季节(例如,秋季(AUT)或春季(SPR))。
[0048] 在用于存储配置数据的三个示例数据结构的任何一个示例数据结构中,可以存在更多的属性字段以提供可与某些建议相关的进一步信息。以下代码示例说明了生成器如何基于示例配置数据生成可执行建议程序逻辑的一部分。首先,讨论了一组示例代码片段,它们构成了逻辑生成的基础。然后,描述了可以生成可执行建议逻辑的JAVA代码示例,该可执行建议逻辑被示为R代码示例。R是用于统计计算和图形的语言和环境。
[0049] 代码片段示例:
[0050] 在以下代码示例中,符号“#”指示相应代码部分的注释或解释。注释部分在该行的结尾处终止。代码示例中使用的变量(例如,cropName(221-P1)、BBCHFrom(222-P1)、BBCHto(222-P2)、eppoCodes(223-P1)、pName(223-P2等)对应于(多个)配置数据结构的相应属性字段。表1中给出了可以用作配置数据的可能属性字段的示例列表。
[0051] 以下代码片段用于通过在接收到的输入中添加作为变量的相应的cropName来生成R-杀虫剂-逻辑的头部。
[0052]
[0053]
[0054] 以下代码片段用于启动用于新产品检查的新代码片段块。
[0055]
[0056] 以下代码片段用于执行所请求的BBCH代码(输入中包括的作物生长阶段代码)是否在BBCH-From 222-P1和BBCH-To 222-P2值的边界内的检查。该代码片段也是条件与另一个代码片段的结果相关的示例。在片段的“if”条件中使用变量“dontUseIt”的值。然而,该值设置为先前使用的另一个代码片段的结果值。
[0057]
[0058]
[0059] 以下代码片段用于验证所请求的目标是否是由eppoCode表示的目标,产品被允许用于该eppoCode,或者换句话说,如果它存在于产品数据记录223-P1中。
[0060]
[0061] 以下代码片段用于验证每个产品的给定施用数量是否小于如存储在产品数据记录223-*的属性字段中的允许的施用数量(未示出)。
[0062]
[0063]
[0064] 该片段验证季节是否是要施用的产品的正确季节(春季)(数据字段属性223-P6)。
[0065]
[0066] 该代码片段验证季节是否是要施用的产品的正确季节(秋季)(在产品数据记录223-P6中)
[0067]
[0068] 下面的Java代码示例示出了代码生成器的示例实施例的一部分,该代码生成器按照(多个)配置数据结构以正确的顺序带来上述代码片段,以生成可执行建议程序逻辑。逻辑生成逻辑可以用其它编程语言编写。以下示例不被视为限制性的,而仅仅是一种可能的实现方式。对于代码片段示例,符号“#”再次指示以下注释。注释为技术人员提供了与特定的Java实现示例无关的相应编码部分的一般函数的指导。注释“if the propert is set”是指相应数据记录的相应属性字段的值。
[0069] 用于R代码生成的Java代码示例:
[0070]
[0071]
[0072]
[0073]
[0074]
[0075] 以下R代码示例是将示例代码片段应用于示例配置数据结构时生成器的结果。同样,符号“#”再次指示以下注释。
[0076]
[0077]
[0078] 然后,可以将所生成的建议逻辑程序示例应用于指定字段条件的接收到的输入。例如,接收到的输入可包括以下信息:
[0079] 作物标识符:cropName=Winterbarley
[0080] 目标标识符:eppoCode=APHISP(即特定昆虫-一种植物虱-会降低作物的产量)[0081] 成长阶段代码:BBCH=12
[0082] 当前季节(例如,春季、秋季)的代码不必一定是明确的输入参数,因为它可以由系统通过比较与输入请求相关联的当前日期和相应日历而自动得出。
[0083] 结果,所生成的建议逻辑的这一部分为作物保护产品混合指令生成条目,该条目包括以下建议信息:
[0084] “Fastac SC Super Contact”、“024018-00”、“100”、“ml/ha”、“400”、“l/ha”。然后可以将混合指令转换或变换成符合喷雾器器具的指令语法的机器可读格式,以用作所述喷雾器的控制指令。此类转换程序在本领域中通常是已知的,因为它们基本上对应于映射结构,该映射结构可以将所生成的混合指令的元素映射到可以由喷雾器的控制单元解释的控制语言的语法元素。
[0085] 表1:在(多个)配置数据结构中使用的可能属性字段的列表。
[0086]
[0087]
[0088]
[0089] 表1中所示和描述的属性字段仅是可用作配置数据结构一部分的属性字段的示例。本领域技术人员可以将更多或其它属性标识为与相应建议逻辑程序生成相关。
[0090] 表1的一些属性字段可以是为指定特定字段条件而接收到的输入的一部分。也就是说,对于此类输入属性的每个可能值,可使用相应的代码片段来生成相应的代码部分,该代码部分针对一种或多种保护产品的可能施用对属性进行评估。在逻辑生成后,将覆盖所有属性字段和相应依赖性的完整决策树实现为生成的可执行建议逻辑程序。表2示出了可以添加到基本输入属性中的输入属性的示例,该基本输入属性包括具有特定目标标识符和特定生长阶段代码的作物标识符。该表分为四节。第一节包括一组基本输入参数。以下各节包括与该节的相应标题(作物季节对象、施用耕种操作和喷雾作业中的施用产品)相关的输入参数集,该节可以看作基本输入属性的小节。本领域技术人员可以定义另外的输入参数。
[0091] 表2:可能输入属性字段的列表
[0092]
[0093]
[0094] 作物季节对象
[0095]
[0096] 施用的耕种操作
[0097]
[0098] 喷雾工作中的施用产品
[0099] 名称 类型 描述productName 文本 施用产品的名称
registrationNumber 文本 产品的注册号
executionDate 日期 喷雾的日期
[0100] 名称列包括可能的输入参数名称,该输入参数名称由生成的建议程序逻辑已知。类型列指定输入参数的类型。一些输入参数具有数组类型,该数组类型允许并行传输多个值。“描述”列说明了相应输入参数的含义。逻辑生成器包括被配置为基于相应的代码片段在建议程序逻辑中生成代码部分的语句。代码部分在执行先前生成的建议逻辑期间正在使用来自表2的输入数据。
[0101] 图5示出了计算机系统100的实施例,该计算机系统100具有实现用于生成的建议程序逻辑130的验证功能的可选扩展模块260至263。图6是示出用于程序逻辑验证的可选步骤的简化流程图2000,其中,此类步骤由所述扩展模块执行。在下文中,参考两个附图的附图标记,在图6的上下文中解释图5的描述。要注意的是,在图5中,扩展模块没有被绘制为计算机系统100的集成模块,因为它们可以被实现为与计算机系统100通信耦接的单独的测试系统。然而,一些或全部扩展模块也可以被实现为计算机系统100的集成组件。
[0102] 在图5的实施例中,可以针对预定义的测试用例来验证所生成的建议逻辑130的稳健性。例如,仅在基于所述测试用例的测试成功通过的情况下,才可能发生所生成的建议逻辑程序的部署。在一个实施例中,当确定产品混合指令以验证所确定的混合指令时,测试用例也可以在系统的操作期间使用。
[0103] 测试用例可以是阳性或阴性测试用例。通常,测试用例是指特定的测试参数(属性字段),该测试参数与固定的一组另外参数结合在一起进行更改。例如,回到冬大麦的示例,对于给定的田地状况,适用于特定产品的生长阶段代码的范围[BBCHfrom,BBCHto]达到11至13。对于参数BBCHfrom和BBCHto存在阳性测试用例,并且对于参数(BBCHfrom–1)和(BBCHto+1)存在阴性测试用例。当收到的输入在定义的时间间隔内具有成长阶段代码时,生成的建议逻辑程序的执行可导致特定的产品混合指令。确定的产品混合指令的正确性可以通过应用测试用例的集合立即得到验证。如果结果被阴性测试用例覆盖,则一定不能应用产品混合。
[0104] 扩展模块测试用例数据库260、测试用例生成器261、测试引擎262和测试证明263可用于实现此类验证功能。在初始化步骤2100(参见图5,虚线上方的步骤)中,测试用例生成器261基于配置数据集220针对每个建议数据记录创建阳性和阴性测试用例。对于每个建议数据记录,测试用例生成器选择2110当前建议数据记录的属性字段。换句话说,对所有建议数据记录执行循环,并通过每次循环迭代处理下一个建议数据记录。选择建议数据记录后,将对所选记录的所有属性字段执行循环。对于每个所选的属性字段,测试用例生成器生成2121一个或多个阳性测试用例,该阳性测试用例对应于当前属性字段的属性值或对应于由当前属性值定义的范围内的值。换句话说,阳性测试用例与应该在接收到相应输入时生成混合指令的属性值相关。此外,基于当前属性字段值的修改,生成2122一个或多个阴性测试用例。在由(多个)属性字段指定定义范围的情况下,修改将包括定义范围之外的值。然后,通过将生成的测试用例存储2130在测试用例数据库260中的步骤来完成测试用例的初始化。
[0105] 然后,测试引擎262可以从测试用例数据库260取得(测试)输入信息210,并将(测试)输入提供给处理器150,以采用来自所生成的测试用例260的输入数据210执行2200可执行程序逻辑130。基于测试输入,程序逻辑130的执行提供一个或多个混合指令140,该指令作为输出211转发给测试引擎262。
[0106] 测试引擎262现在可以根据取得的测试用例信息,将接收到的输出211和预期输出的信息馈送给测试证明模块263。基于该信息,测试证明模块263通过检查所生成的混合指令是否符合阳性测试用例来验证2300可执行程序逻辑。在不符合的情况下(即,混合指令包括阴性测试用例结果),测试证明模块263可以向处理器150发送指令以防止2400可执行程序逻辑被部署用于生产。在符合的情况下,它可以发送指令以部署2500可执行程序逻辑以供生产使用。该程序保证了可不生成错误的混合指令140,该错误的混合指令140可能导致对实际伤害作物的相应目标的处理。
[0107] 特别是在其中配置数据最近可能已改变(例如,添加了新的保护产品或正在更改施用参数)的情况下,生成器120可以接近实时地生成更新的可执行程序逻辑。并行地,测试用例生成器261可以生成相应的测试用例,并且可以立即测试生成的程序逻辑130,即使在农民已经在田地上工作并且刚刚识别出目标的情况下,也可以立即对其进行重新部署。所公开的系统和方法允许基于最新的配置数据高度可靠、接近实时地施用最优喷雾混合物。
[0108] 总而言之,在第一阶段中,基于预定义的代码片段和配置数据来生成可执行建议程序逻辑。在第二(可选)阶段中,可以通过阴性和阳性的测试用例来验证程序逻辑。在第三阶段中,将可执行(已验证)程序逻辑应用于描述真实世界田地状况的输入属性,以生成产品混合指令。并且在第四(可选)阶段中,产品混合指令用作控制喷雾器器具的基础,以在真实世界田地中分发相应的保护产品混合物。要注意的是,在已经发生代码片段或配置数据的更改的情况下,可以接近实时地执行第三阶段,以重新部署程序逻辑。
[0109] 图7示出了具有关于图4的配置数据示例的示例测试用例的表260。该表示出了与属性字段组合的建议数据记录222-1(参见图4)相关的10个测试用例(测试用例ID 1至10),其中属性字段值中的一些属性字段值已修改。修改的值由带有虚线背景图案的单元格说明。该示例中的所有测试用例均与细分“杀虫剂”相关。“预期结果”列示出,仅对于阳性测试用例1和2,预期生成混合指令(预期结果=1)。对于所有其它(阴性)测试用例,存在至少一个修改,其中包括偏离的属性值或者其中修改的属性值落在预定义范围之外。例如,建议数据记录222-1的BBCH代码的预定义范围是间隔[11,13]。对于测试用例3和4,“近期作物BBCH阶段”列中的值分别为10和14,二者均落在允许的预定义范围之外。因此,将不会针对这些属性值生成任何混合指令(预期结果=“假(false)”)。此外,在测试用例5中,“春季或秋季施用”列的值为“春季”。然而,相关产品数据记录223-1(参见图4)定义了仅适用于秋季(参见图4中的223-P6)。因此,修改的属性值“春季”领先于预期结果“假”(无混合指令)。测试用例6和7与修改的目标值相关。根据223-P1(参见图4),唯一允许的目标eppo代码是APHIS,该APHIS在测试用例中偏离了修改的属性值,并导致预期结果“假”。在测试用例8和9中,修改了国家和地区的值。根据作物数据记录221-1(建议数据记录222-1所相关的),建议仅对国家“DE”(参见221-P4)和区域“RP”(参见221-P5)有效。因此,两种修改都会导致阴性测试结果(“假”)。最后,测试用例10在“近期作物”和“近期作物Eppo代码”列中具有修改的值,这与图4的配置数据结构不一致,并且因此也表示阴性测试用例。
[0110] 图8是示出可以与这里描述的技术一起使用的通用计算机设备900和通用移动计算机设备950的示例的图。在一些实施例中,计算设备900可以涉及系统100(参见图1)。计算设备950旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其它类似的计算设备。在本公开的上下文中,计算设备950可以由在田地中操作的农民用作前端,以捕获用于输入的当前田地状况,然后将该当前田地状况提供给设备900以执行所生成的程序逻辑。在其它实施例中,整个系统100可以在移动设备950上实现。这里示出的组件、它们的连接和关系以及它们的功能仅是示例性的,并不意味着限制本文件中描述和/或要求保护的发明的实施方式。
[0111] 计算设备900包括处理器902、存储器904、存储设备906、连接到存储器904和高速扩展端口910的高速接口908,以及连接到低速总线914和存储设备906的低速接口912。组件902、904、906、908、910和912中的每一个组件都使用各种总线互连,并且可以安装在通用主板上或视情况以其它方式安装。处理器902可以处理用于在计算设备900内执行的指令,包括存储在存储器904或存储设备906上的指令,以在外部输入/输出设备(诸如耦接到高速接口908的显示器916)上显示GUI的图形信息。在其它实现方式中,可以适当地使用多个处理器和/或多个总线,以及多个存储器和存储器类型。此外,可以连接多个计算设备900,其中每个设备提供必要操作的部分(例如,作为服务器组、一组刀片服务器或多处理器系统)。
[0112] 存储器904将信息存储在计算设备900内。在一种实现方式中,存储器904是一个或多个易失性存储单元。在另一实现方式中,存储器904是一个或多个非易失性存储单元。存储器904也可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
[0113] 存储设备906能够针对计算设备900提供大容量存储。在一种实现方式中,存储设备906可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其它类似的固态存储器设备或设备阵列,包括存储区域网络或其它配置中的设备。计算机程序产品可以有形地体现在信息载体中。该计算机程序产品还可以包含在被执行时执行一种或多种方法(诸如上述方法)的指令。信息载体是计算机或机器可读介质,诸如存储器904、存储设备906或处理器902上的存储器。
[0114] 高速控制器908管理用于计算设备900的带宽密集型操作,而低速控制器912管理较低带宽密集型操作。此类功能分配仅是示例性的。在一种实现方式中,高速控制器908耦接至存储器904,(例如,通过图形处理器或加速器)耦接至显示器916,以及耦接至可以接受各种扩展卡(未示出)的高速扩展端口910。在该实现方式中,低速控制器912耦接到存储设备906和低速扩展端口914。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以耦接至一个或多个输入/输出设备,诸如键盘、指向设备、扫描仪或例如通过网络适配器的联网设备,诸如交换机或路由器。
[0115] 如图中所示,可以以多种不同形式来实现计算设备900。例如,它可以被实现为标准服务器920,或者被多次实现为一组此类服务器。它也可以实现为机架服务器系统924的一部分。此外,它还可以实现在诸如膝上型计算机922的个人计算机中。可替代地,来自计算设备900的组件可以与移动设备(未示出)(诸如设备950)中的其它组件组合。每个此类设备可以包含一个或多个计算设备900、950,并且整个系统可以由彼此通信的多个计算设备900、950组成。
[0116] 除其它组件之外,计算设备950包括处理器952、存储器964、诸如显示器954的输入/输出设备、通信接口966和收发机968。设备950还可以设置有存储设备,诸如微驱动器或其它设备,以提供附加存储。组件950、952、964、954、966和968中的每一个都使用各种总线互连,并且组件中的若干组件可以安装在公共主板上或视情况以其它方式安装。
[0117] 处理器952可以在计算设备950内执行指令,包括存储在存储器964中的指令。处理器可以被实现为包括分离的以及多个模拟和数字处理器的芯片的芯片组。处理器可以提供例如用于设备950的其它组件的协调,诸如对用户界面的控制,由设备950运行的应用以及由设备950进行的无线通信。
[0118] 处理器952可以通过控制接口958和耦接到显示器954的显示器接口956与用户通信。显示器954可以是例如TFT LCD(薄膜晶体管液晶显示器)或OLED(有机发光二极管)显示器或其它合适的显示技术。显示接口956可以包括用于驱动显示器954向用户呈现图形和其它信息的适当电路。控制接口958可以从用户接收命令并且将它们转换以提交给处理器952。此外,可以提供与处理器952通信的外部接口962,以便设备950可以与其它设备进行近区域通信。可以例如在一些实施方式中针对有线通信提供,或者在其它实施方式中针对无线通信提供外部接口962,并且也可以使用多个接口。
[0119] 存储器964将信息存储在计算设备950内。存储器964可以被实现为计算机可读介质、易失性存储单元,或非易失性存储单元中的一个或多个。还可以提供扩展存储器984并通过扩展接口982将其连接到设备950,该扩展接口982可以包括例如SIMM(单列存储模块)卡接口。此类扩展存储器984可以为设备950提供额外的存储空间,或者也可以为设备950存储应用或其它信息。具体地,扩展存储器984可以包括用于执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器984可以充当设备950的安全模块,并且可以用允许安全使用设备950的指令进行编程。此外,可以经由SIMM卡以及附加信息(诸如以不可破解的方式将标识信息放置在SIMM卡上)提供安全应用。
[0120] 如下所述,存储器可包括例如闪存和/或NVRAM存储器。在一种实现方式中,计算机程序产品有形地体现在信息载体中。该计算机程序产品包含在被执行时执行一种或多种方法(诸如上述方法)的指令。信息载体是计算机或机器可读介质,诸如存储器964、扩展存储器984或处理器952上的存储器,其可以例如通过收发机968或外部接口962接收。
[0121] 设备950可以通过通信接口966进行无线通信,该通信接口在必要时可以包括数字信号处理电路。通信接口966可以提供各种模式或协议(诸如GSM语音呼叫、SMS、EMS或MMS消息传递、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等等)下的通信。此类通信可以例如通过射频收发机968发生。另外,可以诸如使用蓝牙、WiFi或其它此类收发机(未示出)进行短距离通信。此外,GPS(全球定位系统)接收机模块980可以向设备950提供附加的与导航相关和位置相关的无线数据,设备950上运行的应用可以适当使用该数据。
[0122] 设备950还可以使用音频编解码器960进行听觉通信,该音频编解码器960可以从用户接收语音信息,并将其转换为可用的数字信息。音频编解码器960可以类似地诸如通过扬声器(例如在设备950的听筒中)为用户生成可听声音。此类声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等),并且还可以包括在设备950上操作的应用生成的声音。
[0123] 如图所示,可以以多种不同形式来实现计算设备950。例如,它可以被实现为蜂窝电话980。它也可以被实现为智能电话982、个人数字助理或其它类似的移动设备的一部分。
[0124] 这里描述的系统和技术的各种实现方式可以以数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件固件、软件和/或其组合来实现。这些各种实现方式可以包括以一个或多个计算机程序的实现方式,该计算机程序可以在可编程系统上执行和/或解释,该可编程系统包括:至少一个可编程处理器,其可以是专用的或通用的,其耦接以从存储系统中接收数据和指令,并向存储系统发送数据和指令;至少一个输入设备;以及至少一个输出设备。
[0125] 这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言实现。如在此所使用的,术语“机器可读介质”、“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如磁盘、光盘、存储器、可编程逻辑设备(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
[0126] 为了提供与用户的交互,可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)以及键盘和指向设备(例如,鼠标轨迹球)的计算机上实现这里描述的系统和技术,其中用户可通过该键盘和指向设备向计算机提供输入。其它种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
[0127] 这里描述的系统和技术可以在如下的计算设备中实现,该计算设备包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过该图形用户界面或Web浏览器与这里描述的系统和技术的实现方式进行交互),或此类后端、中间件或前端组件的任意组合。系统的组件可以通过数字数据通信的任何形式或介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和互联网。
[0128] 计算设备可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是通过在相应计算机上运行并彼此具有客户端-服务器关系的计算机程序产生的。
高效检索全球专利

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

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

申请试用

分析报告

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

申请试用

QQ群二维码
意见反馈