一种设备管理通用模型的设置方法及系统与流程

文档序号:14967497发布日期:2018-07-20 11:32阅读:300来源:国知局

本发明涉及智能家电领域,尤其涉及一种设备管理通用模型的设置方法及系统。



背景技术:

目前,家电设备的功能越来越复杂,除了家电面板控制以外,还需要支持红外或蓝牙遥控器,近几年随着智能移动终端的兴起,物联网功能也逐步成为设备的核心功能之一。同时,设备功能的日益复杂,导致设备的软件开发成本正在成倍的增加。

然而,大部分家电设备软件(电路板程序)都是按照产品单独开发,要上市一款新产品,就需要重新开发一版设备电路板程序。每个新产品单独重新开发电路板程序,会带来以下问题:

(1)每款设备独立开发,由于家电设备间功能差别较大,代码很难复用,开发成本较高;

(2)不同家电设备都有自己独特的逻辑功能限制(例如空调关机的情况下不允许设置温度),在逻辑功能限制较多的情况下,家电设备软件代码逻辑特别复杂,维护困难;

(3)家电设备拥有物联网功能后,设备的状态变化(例如开关机状态)都要实时同步到服务器与移动终端,这部分功能也会成倍的增加家电设备软件的开发成本及复杂度。

因此,需要开发一种能够“复用”设备模型框架的方法及系统,以降低各种设备软件的开发成本。



技术实现要素:

为了解决现有技术中设备软件开发成本大的问题,本发明提供了一种设备管理通用模型的设置方法及系统。

根据本发明的一个方面,提供了一种设备管理通用模型的设置方法,所述方法包括:

步骤1,在接收到注册属性的请求后,创建属性以及配置属性的设置动作;

步骤2,在接收到设置一属性的属性值的请求后,查询该属性已存在时,依次执行下述操作:执行该属性的设置动作,设置该属性的属性值。

其中,所述方法在步骤1前还执行:

在接收到新增全局前置条件的请求后,将新的前置条件增加到全局前置条件链中;和/或

在接收到新增全局触发任务的请求后,将新的触发任务增加到全局触发任务链中。

其中,所述方法在步骤1后还执行:

在接收到新增一属性的前置条件的请求后,将新的前置条件增加到该属性的前置条件链中;和/或

在接收到新增一属性的触发任务的请求后,将新的触发任务增加到该属性的触发任务链中。

其中,所述方法在所述步骤2中还执行:

在执行该属性的设置动作之前,还执行下述操作:执行所述全局前置条件链中的全部前置条件;和/或执行该属性的前置条件链中的全部前置条件。

其中,所述方法中所述步骤2中还执行:

在设置该属性的属性值之后,还执行下述操作:执行该属性的触发任务链中的全部触发任务;和/或执行所述全局触发任务链中的全部触发任务。

根据本发明的另一方面,还提供了一种设备管理通用模型的设置系统,所述系统包括:

属性配置模块,用于在接收到注册属性的请求后,指示属性管理模块创建属性以及配置属性的设置动作;

属性设置模块,用于在接收到设置一属性的属性值的请求后,向所述属性管理模块查询该属性已存在时,依次指示所述属性管理模块执行下述操作:执行该属性的设置动作,设置该属性的属性值;

所述属性管理模块,用于在从所述属性配置模块接收到创建属性以及配置属性的设置动作的指示时,执行相应操作,以及在从所述属性设置模块接收到执行该属性的设置动作和设置该属性的属性值的指示时,执行相应操作。

其中,所述属性配置模块还用于在接收到新增全局前置条件的请求后,指示所述属性管理模块将新的前置条件增加到该属性管理模块的全局前置条件链中,和/或在接收到新增全局触发任务的请求后,指示所述属性管理模块将新的触发任务增加到该属性管理模块的全局触发任务链中;

所述属性管理模块还用于在从所述属性配置模块接收到将新的前置条件增加到该属性管理模块的全局前置条件链中时执行相应操作,和/或在从所述属性配置模块接收到将新的触发任务增加到全局触发任务链中时执行相应操作。

其中,所述属性配置模块还用于在接收到新增一属性的前置条件的请求后,指示所述属性管理模块将新的前置条件增加到该属性的前置条件链中,和/或在接收到新增一属性的触发任务的请求后,指示所述属性管理模块将新的触发任务增加到该属性的触发任务链中;

所述属性管理模块还用于在从所述属性配置模块接收到将新的前置条件增加到该属性的前置条件链中时执行相应操作,和/或将新的触发任务增加到该属性的触发任务链中时执行相应操作。

其中,所述属性设置模块还用于在指示所述属性管理模块执行该属性的设置动作之前,还指示所述属性管理模块执行下述操作:执行所述全局前置条件链中的全部前置条件,和/或执行该属性的前置条件链中的全部前置条件;

所述属性管理模块还用于在从所述属性设置模块接收到执行所述全局前置条件链中的全部前置条件和/或执行该属性的前置条件链中的全部前置条件的指示时,执行相应操作。

其中,所述属性设置模块还用于在指示所述属性管理模块设置该属性的属性值之后,还指示所述属性管理模块执行下述操作:执行该属性的触发任务链中的全部触发任务,和/或执行所述全局触发任务链中的全部触发任务;

所述属性管理模块还用于在从所述属性设置模块接收到执行该属性的触发任务链中的全部触发任务和/或执行所述全局触发任务链中的全部触发任务的指示时,执行相应操作。

根据本发明的另一方面,还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述程序被处理器执行时实现上述方法的步骤。

根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。

本发明中方法和系统的优势主要是:本发明采用“家电设备模型框架”,框架代码仅开发一遍,后续不论开发何种家电(空调,冰箱,洗衣机等),均可复用该框架,仅开发自己设备业务相关内容即可。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明的设备管理通用模型的设置方法的流程图;

图2是根据本发明的设置系统与设备程序的模块图;

图3是根据本发明的属性管理模块的示意图;

图4是根据本发明的创建属性节点的流程图;

图5是根据本发明的新增全局前置条件的流程图;

图6是根据本发明的新增全局触发任务的流程图;

图7是根据本发明的新增属性的前置条件的流程图;

图8是根据本发明的新增属性的触发任务的流程图;

图9是根据本发明的属性设置模块与属性管理模块交互的流程图;

图10是根据本发明的设备管理通用模型的设置系统的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

本发明提供了一种设备管理通用模型的设置方法。参照图1所示,该方法包括:

步骤101在接收到注册属性的请求后,创建属性以及配置属性的设置动作;

步骤102,在接收到设置一属性的属性值的请求后,查询该属性已存在时,依次执行下述操作:执行该属性的设置动作,设置该属性的属性值。

在本发明中提出一个重要的概念:属性,本发明的方法主要通过三个模块执行:属性管理模块、属性配置模块、属性设置模块。这三个模块与家电设备的设备面板、控制电路和传感器的关系如图2所示。由图2所示,该设备管理通用模型可供家电设备的内部业务程序调用,这些程序包括但不限于:控制面板程序、硬件控制程序、物联网程序。

首先,说明在本发明的方法中涉及到的相关术语:

(1)属性:家电设备大多都可以抽象为一组属性的集合,对设备的控制可以等同于对其中部分属性的设置,设备的传感器值的变化也可以等同于某个设备属性的变化。例如空调拥有属性:开关机状态、设置温度、环境温度等。属性是本框架实现的基础,要求使用本框架的设备必须要将全部功能抽象为属性的集合。

(2)属性名:设备中唯一标识一个属性的名称。

(3)属性值:属性的值。

(4)设置动作:每个属性均包含一个设置动作,用来设置属性值时执行自定义的动作,例如设置空调温度需要操作空调的控制电路。

(5)前置条件:设备属性设置动作能否执行的逻辑判断条件,必须该属性配置的全部前置条件均符合,该属性值才可以被设置。

(6)触发任务:设备属性被成功设置后,可以触发一系列的任务执行。

其次,说明属性管理模块中包含的数据类型。参照图3所示,属性管理模块是用于管理属性及其他支撑该设置方法运行的核心数据:

(1)一条全部属性共享的“全局前置条件链”;

(2)一条全部属性共享的“全局触发任务链”;

(3)一张包含全部属性数据的“属性表”,属性表中的每个属性节点除属性名外,还包含属性的当前属性值、设置动作、属性的前置条件链、属性的触发任务链。

其中,属性的属性值与设置动作必须存在。属性的前置条件链可以为空,此时除“全局前置条件链”外,该属性不需要其他任何前置条件进行逻辑限制。属性的触发任务链可以为空,此时除“全局触发任务链”外,该属性的属性值变更不触发其他任何动作。

属性设置动作、前置条件、触发任务均包含一个由设备内部业务程序实现并注册到系统中的回调函数,系统执行它们实际上是在运行这些回调函数。这三个回调函数参数及返回值说明如下:

(1)设置动作回调函数:

【参数】属性名,属性值。

【返回值】true|false。表示执行是否成功。

(2)前置条件回调函数:

【参数】属性名,属性值。

【返回值】true|false。表示前置条件判断结果。

(3)触发任务与回调函数:

【参数】属性名,属性值。

【返回值】无。触发任务无返回结果。

在步骤101中,注册属性的流程示意图如图4所示,属性配置模块创建一个属性节点,并将其添加到属性管理模块的属性表中,同时配置该属性的属性设置动作。

该方法在步骤101前还执行:在接收到新增全局前置条件的请求后,将新的前置条件增加到全局前置条件链中;和/或在接收到新增全局触发任务的请求后,将新的触发任务增加到全局触发任务链中。

其中新增全局前置条件的流程示意图如图5所示,在该流程中,属性配置模块指示属性管理模块将新的前置条件增加到该属性管理模块的全局前置条件链中。新增全局触发任务的流程示意图如图6所示,在该流程中,属性配置模块指示性管理模块将新的触发任务增加到该属性管理模块的全局触发任务链中。

本发明中的家电设备模型框架提供前置条件的机制,可以用来解决设备控制逻辑功能限制等问题;此外家电设备模型框架提供触发任务的机制,可以用来解决设备状态变化后向外同步功能等问题。

该方法在步骤101后还执行:在接收到新增一属性的前置条件的请求后,将新的前置条件增加到该属性的前置条件链中;和/或在接收到新增一属性的触发任务的请求后,将新的触发任务增加到该属性的触发任务链中。

其中新增该属性的前置条件的流程示意图如图7所示,在该流程中,属性配置模块从属性管理模块的属性表中判断属性存在后,指示属性管理模块新建前置条件并添加到该属性节点的前置条件链中。新增该属性的触发任务的流程示意图如图8所示,在该流程中,属性配置模块从属性管理模块的属性表中判断属性存在后,指示属性管理模块新建触发任务并添加到该属性节点的触发任务链中。

该方法在步骤102中还执行:在执行该属性的设置动作之前,还执行下述操作:执行全局前置条件链中的全部前置条件;和/或执行该属性的前置条件链中的全部前置条件。

该方法在步骤102中还执行:在设置该属性的属性值之后,还执行下述操作:执行该属性的触发任务链中的全部触发任务;和/或执行全局触发任务链中的全部触发任务。

图9示出了属性设置模块在接收到设置一属性的属性值的请求后,与属性管理模块的交互过程。该过程包括下述步骤:

步骤1,属性设置模块在接收到设置一属性的属性值的请求后,向属性管理模块查询该属性是否存在,如果存在则执行步骤2,如果不存在则向设备程序返回设置失败的消息;

步骤2,属性设置模块指示属性管理模块遍历全局前置条件链中的全部节点,并依次执行全局前置条件链中的全部前置条件并返回前置条件的判断结果,如果所有的前置条件的判断结果为成功(true),属性设置模块接收到的前置条件判断结果为成功,则执行步骤3,如果有任意一个前置条件的判断结果为失败(false),属性设置模块接收到的前置条件判断结果为失败,则向设备程序返回设置失败的消息;

步骤3,属性设置模块指示属性管理模块遍历该属性的前置条件链中的全部节点,并依次执行该属性的前置条件链中的全部前置条件并返回前置条件的判断结果,如果所有的前置条件的判断结果为成功(true),属性设置模块接收到的前置条件判断结果为成功,则执行步骤3,如果有任意一个前置条件的判断结果为失败(false),属性设置模块接收到的前置条件判断结果为失败,则向设备程序返回设置失败的消息;

步骤4,属性设置模块指示属性管理模块查询该属性的设置动作,并执行设置动作并返回执行结果,如果执行结果为成功,则执行步骤5,如果执行结果为失败,则向设备程序返回设置失败的消息;

步骤5,指示属性管理模块设置该属性的当前属性值,然后执行步骤6,例如属性是“温度”,当前属性值就是“当前温度值”,当前属性值可以通过相关接口获取;

步骤6,属性设置模块指示属性管理模块遍历该属性的触发任务链的中的全部节点,并依次执行这些触发任务,如果全部执行成功则执行步骤7,如果有任意一个触发任务执行失败则向设备程序返回设置失败的消息;

步骤7,属性设置模块指示属性管理模块遍历全局触发任务链的中的全部节点,并依次执行这些触发任务,如果全部执行成功则执行步骤8,如果有任意一个触发任务执行失败则向设备程序返回设置失败的消息;

步骤8,属性设置模块向设备程序返回设置成功的消息。

下面给出根据本发明方法的两个应用场景的具体实施例。

实施例一-空调控制

在该应用场景中,设备控制面板程序或者物联网程序等其他空调内部业务程序,可以直接调用属性设置接口来控制设备。该应用场景中的属性设置模块的属性设置过程如下:

步骤1,空调开关机,调用属性设置模块接口设置属性“开关机”的属性值,通过前置条件“开关机互斥前置条件”判断后,执行属性的设置动作即可完成开关机操作;

步骤2,空调设置温度,调用属性设置模块接口设置属性“温度”的属性值,通过前置条件“开机前置条件”判定当前是开机状态,通过前置条件“制冷制热模式前置条件”判定当前模式为制冷或制热,随后执行属性的设置动作即可完成设置温度操作。如果前置条件“开机前置条件”与“制冷制热模式前置条件”任意一个判定失败,则不能设置温度并返回设置失败;

步骤3,空调设置湿度,调用属性设置模块接口设置属性“湿度”的属性值,通过前置条件“开机前置条件”判定当前是开机状态,通过前置条件“除湿模式前置条件”判定当前模式为除湿,随后执行属性设置动作即可完成设置湿度操作。如果前置条件“开机前置条件”与“除湿模式前置条件”任意一个判定失败,则不能设置湿度并返回设置失败。

在该应用场景中,对设备的控制提供统一的接口,将设备物理操作进行封装,使设备功能开发可以更关注于设备自身的业务。此外,前置条件是一个个独立的逻辑判断单元,一次开发,即可以被复用到很多属性上;同时,一个属性可以同时拥有多个前置条件,可以很方便的将多个逻辑判断条件加到一个属性上。

实施例二-洗衣机缺水报警

在该应用场景中,洗衣机水压传感器监控入水管的水压,如果水压为零则表示入水管缺水,此时,设备报警,蜂鸣器响。洗衣机的任何状态变化及报警都需要实时通过物联网程序同步到移动终端显示。该应用场景中的属性配置模块的属性配置过程如下:

步骤1,注册属性“蜂鸣器”,属性设置动作的内容为控制洗衣机电路板蜂鸣器;

步骤2,注册属性“入水管水压”、“报警状态”,属性设置动作为空函数,及不实现任何具体功能;

步骤3,实现前置条件“json格式检测前置条件”,为保持接口统一,系统要求全部属性值均为json格式,属性值json格式校验错误则返回失败;

步骤4,实现触发任务“入水管水压报警检测”,如果传入属性为“入水管水压”,并且属性值为零,则调用系统的属性设置模块接口设置属性“报警状态”值为正在报警,如果属性值不为零,则设置“报警状态”值为不在报警;

步骤5,实现触发任务“蜂鸣器报警”,如果传入属性为“报警状态”,并且属性值为正在报警,则调用系统的属性设置模块接口设置属性“蜂鸣器”的值为响,如果属性值为不在报警,则设置属性“蜂鸣器”的值为不响;

步骤6,实现触发任务“物联网同步”,直接将传入的属性名及属性值发送给物联网程序;

步骤7,增加全局前置条件“json格式检测前置条件”,增加全局触发任务“物联网同步”;

步骤8,属性“入水管水压”增加触发任务“入水管水压报警检测”;

步骤9,属性“报警状态”增加触发任务“蜂鸣器报警”。

设备硬件控制程序可以直接调用系统的属性设置模块接口,将设备传感器的值设置到系统中来进行业务处理。

上述步骤中的“实现前置条件”和“实现触发任务”是指用户进行的实际操作,例如当触发任务是蜂鸣器报警时,用户执行操作使真实的物理设备蜂鸣器不再报警。

该应用场景中的属性设置模块的属性设置过程如下:

步骤1,设备入水管水压传感器值变化时,调用属性设置模块接口设置属性“入水管水压”的属性值,通过全局前置条件“json格式检测前置条件”判断后,执行空属性设置动作后将属性值设置到系统中;

步骤2,属性“入水管水压”属性值设置到系统中后,执行触发任务“入水管水压报警检测”,发现水压为零,则调用属性设置模块接口设置属性“报警状态”的值为正在报警;设置属性“报警状态”的值也需要先通过全局前置条件“json格式检测前置条件”判断后,执行空属性设置动作,随后将属性值设置到系统中;

需要说明的是,上述两个步骤中执行空属性设置动作是指一个属性的设置动作可以是不执行操作。

步骤3,属性“报警状态”属性值设置到系统中后,执行触发任务“蜂鸣器报警”,发现设备正在报警,则调用属性设置模块接口设置属性“蜂鸣器”的值为响;设置属性“蜂鸣器”的值也需要先通过全局前置条件“json格式检测前置条件”判断后,执行属性设置动作控制洗衣机电路板蜂鸣器响;

步骤4,设置属性“蜂鸣器”、“报警状态”、“入水管水压”的值后均会执行全局触发任务“物联网同步”,将对应的属性值发送给物联网程序用于同步到移动终端;

步骤5,设备入水管水压传感器检测到有水后,执行流程与上述基本相同。

在该应用场景中,设备传感器作为属性后,值变化可以通过触发任务执行完成各种不同的后续业务功能实现;触发任务中可以设置其他属性的值,这样将一个业务分解为一个串行的任务链,实现业务功能的解耦。

本发明还提供了一种设备管理通用模型的设置系统,如图10所示,系统包括:

属性配置模块1001,用于在接收到注册属性的请求后,指示属性管理模块创建属性以及配置属性的设置动作;

属性设置模块1002,用于在接收到设置一属性的属性值的请求后,向属性管理模块查询该属性已存在时,依次指示属性管理模块执行下述操作:执行该属性的设置动作,设置该属性的属性值;

属性管理模块1003,用于在从属性配置模块接收到创建属性以及配置属性的设置动作的指示时,执行相应操作,以及在从属性设置模块接收到执行该属性的设置动作和设置该属性的属性值的指示时,执行相应操作。

其中,属性配置模块还用于在接收到新增全局前置条件的请求后,指示属性管理模块将新的前置条件增加到该属性管理模块的全局前置条件链中,和/或在接收到新增全局触发任务的请求后,指示属性管理模块将新的触发任务增加到该属性管理模块的全局触发任务链中;

属性管理模块还用于在从属性配置模块接收到将新的前置条件增加到该属性管理模块的全局前置条件链中时执行相应操作,和/或在从属性配置模块接收到将新的触发任务增加到全局触发任务链中时执行相应操作。

其中,属性配置模块还用于在接收到新增一属性的前置条件的请求后,指示属性管理模块将新的前置条件增加到该属性的前置条件链中,和/或在接收到新增一属性的触发任务的请求后,指示属性管理模块将新的触发任务增加到该属性的触发任务链中;

属性管理模块还用于在从属性配置模块接收到将新的前置条件增加到该属性的前置条件链中时执行相应操作,和/或将新的触发任务增加到该属性的触发任务链中时执行相应操作。

其中,属性设置模块还用于在指示属性管理模块执行该属性的设置动作之前,还指示属性管理模块执行下述操作:执行全局前置条件链中的全部前置条件,和/或执行该属性的前置条件链中的全部前置条件;

属性管理模块还用于在从属性设置模块接收到执行全局前置条件链中的全部前置条件和/或执行该属性的前置条件链中的全部前置条件的指示时,执行相应操作。

其中,属性设置模块还用于在指示属性管理模块设置该属性的属性值之后,还指示属性管理模块执行下述操作:执行该属性的触发任务链中的全部触发任务,和/或执行全局触发任务链中的全部触发任务;

属性管理模块还用于在从属性设置模块接收到执行该属性的触发任务链中的全部触发任务和/或执行全局触发任务链中的全部触发任务的指示时,执行相应操作。

本发明还提供一种计算机可读存储介质,存储介质上存储有计算机程序,程序被处理器执行时实现本发明方法的步骤。

本发明还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本发明方法的步骤。

本发明中方法和系统的优势主要是:

(1)本发明采用“家电设备模型框架”,框架代码仅开发一遍,后续不论开发何种家电(空调,冰箱,洗衣机等),均可复用该框架,仅开发自己设备业务相关内容即可;

(2)框架提供前置条件的机制,可以用来解决设备控制逻辑功能限制等问题;

(3)框架提供触发任务的机制,可以用来解决设备状态变化后向外同步功能等问题。

上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。

以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。

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