基于智能化信息输入输出处理的逻辑联动方法与流程

文档序号:33524472发布日期:2023-03-22 07:03阅读:27来源:国知局
基于智能化信息输入输出处理的逻辑联动方法与流程

1.本发明属于智能建筑集成管理软件领域,具体来说涉及一种基于智能化信息输入输出处理的逻辑联动方法。


背景技术:

2.国内的智能建筑集成管理软件(ibms),从系统架构和通用性来划分,大致可以分为两类,一类是以应用为主,没有通用的设备管理平台,多数是根据具体应用需求,通过接口与设备进行数据交换,这类软件一般是针对特定项目临时开发,难以推广;另一类以设备管理平台为核心,通常分为接口、平台、应用三层,通过不同接口模块适应不同类型设备,针对不同项目和用户需求,开发不同的应用软件。在第二类软件中,也有部分软件采用了对象模型的概念,甚至提出打造物联网操作系统的概念。
3.但在针对不同项目不同用户需求方面还是采用了

通用模块加功能定制开发

的模式。这种模式对软件公司而言,需要维持一个庞大的开发团队,难于降低成本,缺乏竞争力;对客户而言,除了成本增加,定制功能又是固定的,后期需求变化或功能升级仍需再次开放。


技术实现要素:

4.本发明的目的在于提供一种基于智能化信息输入输出处理的逻辑联动方法,通过逻辑配置解决用户需求和功能变化,可以有效避免因使用方式和条件变化等原因导致的定制开发,让软件更加通用和易于部署。
5.为实现上述目的,本发明提供技术方案如下:
6.一种基于智能化信息输入输出处理的逻辑联动方法,应用于建筑智能化系统,对建筑智能化系统涉及的人员、设备、信息设计对象模型,所述对象模型包括对象属性和对象方法,所述属性作为比较和运算的变量输入,所述方法作为任务算法输出,通过可视化界面配置逻辑,由建筑智能化系统根据变量的变化进行逻辑运算,根据逻辑运算结果执行指定的各项操作。
7.优选地,逻辑联动方法包括以下步骤:
8.步骤1,对人员、设备、信息这三类中的任一小类通过构建对象模型进行标准化设置,同时在不同类别中体现相互间的关联;
9.步骤2,构建运算函数;
10.步骤3,在可视化界面进行逻辑定义,所述逻辑定义包括基于对象属性的触发条件、基于对象方法的任务算法;
11.步骤4,使用运算函数获取逻辑运算结果,并基于逻辑运算结果执行对应的任务算法。
12.优选地,所述运算函数包括比较运算函数、包含函数、存在函数。
13.优选地,所述步骤3包括以下步骤;
14.步骤3.1,通过新建指令新建一个空的任务单,所述任务单包括名称、说明、任务类型、触发条件子表单及任务算法子表单;所述任务类型包括持续执行、特定时间执行和特定条件执行;
15.步骤3.2,填写完成任务单后,通过关系数据库存储并自动分配唯一的任务号,记录创建人员id和创建时间。
16.优选地,所述触发条件子表单包括至少一逻辑行,所述逻辑行至少包括一个单元格,单元格由第一输入、第二输入以及第一输入和第二输入间的运算函数构成,通过增加列指令在同行增加新的单元格,通过增加行指令增加逻辑行;同行的各单元格的逻辑运算结果之间再进行



运算,其结果为该行的逻辑值,所有行的逻辑值进行



运算得到整个逻辑的最终运算结果;第一输入为系统变量或对象属性,所述第二输入为系统变量、对象属性或固定值。
17.优选地,所述触发条件子表单还包括中间变量添加指令,将逻辑运算产生的运算结果赋值给中间变量,由任务算法引用该中间变量。
18.优选地,所述任务算法子表单包括逻辑判断结果及对应的任务算法,逻辑判断结果有四种,每一逻辑判断结果添加至少一输出行,每一输出行包括一个对象方法及相应参数,同一逻辑判断结果的不同输出行设置在同一行。
19.优选地,所述步骤4包括以下步骤:
20.步骤4.1,加载有效任务,并对运行环境进行初步配置;向数据采集服务订阅第一输入、第二输入,对特定时间执行的任务设置定时辅助程序,并对定时辅助程序进行初始配置;
21.步骤4.2,由数据采集服务推送订阅的数据触发执行,更新缓存中的第一输入、第二输入并进行逻辑运算,更新逻辑运算结果,并根据逻辑运算结果执行对应的任务算法。
22.优选地,所述任务单还包括任务权限,当在调用任务时,调用权限大于任务权限,则可执行该任务,否则调用结束。
23.优选地,所述定时辅助程序定时对

特定时间执行

的任务进行启用和禁用,并统计任务触发频率。
24.与现有技术相比,本发明的有益效果为:
25.本发明通过构建对象模型和通用函数,将信息标准化,降低了软件部署成本,同时通过可视化界面配置逻辑,为智慧建筑最终用户提供了更灵活、简便的功能拓展工具,不需额外成本来快速实现用户的个性化功能要求。
附图说明
26.图1为初始化程序流程图。
27.图2为逻辑运算及任务执行程序流程图。
28.图3为操作调用流程图。
29.图4为辅助程序流程图。
30.图5为触发条件子表单示意图。
具体实施方式
31.下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
32.一种基于智能化信息输入输出处理的逻辑联动方法,应用于建筑智能化系统,将建筑智能化系统涉及的人员、设备、信息设计对象模型,所述对象模型包括对象属性和对象方法,所述属性作为比较和运算的变量输入,所述方法作为任务算法输出,通过可视化界面配置逻辑,由建筑智能化系统根据变量的变化进行逻辑运算,根据逻辑运算结果执行指定的各项操作。
33.本发明的原理是将建筑智能化系统涉及的人员、设备、信息相关内容,都作为可以比较和运算的输入信息,所有可以执行的操作,都作为输出信息,这样,无论用户需要在什么情况下执行什么操作,都可以用逻辑计算结果控制输出的方法来实现,无需再编写程序。
34.本发明的基于智能化信息输入输出处理的逻辑联动方法,包括以下4个步骤。
35.步骤1,对人员、设备、信息这三类中的任一小类通过构建对象模型进行标准化设置,同时在不同类别中体现相互间的关联。
36.建筑智能化系统设备众多,涉及范围广,但基本可以归为

人员、设备、信息

三大类。每一类中又会细分很多小类,借鉴面向对象编程的方法,把建筑智能化运维、管理所有相关内容进行抽象,建立相应的对象模型,并扩展适合操作的属性,同时在不同类中体现相互间的关联,比如人员对象的信息中有车辆、房间、空调等信息,而设备对象中的空调又会有使用人员和管理人员信息。以人脸识别摄像机为例,建立对象模型,也即在厂家提供sdk的基础上,对人脸识别摄像机的属性和方法进行标准化封装:
37.对象属性
[0038][0039]
对象方法
[0040][0041]
步骤2,构建运算函数。
[0042]
常规比较运算函数有大于,小于,等于,不等于等,针对字符串的还有

包含

,可以用于判断给定的字符串中是否有特定的字符或字符串。同样,对于视频、音频,也有判断包含特定图像和文字的需求。在厂家sdk或第三方软件的基础上,构造通用的运算方法

包含



存在


[0043]

包含

函数——包含(参数1,参数2)
[0044]
参数1为源文件,参数2为目标,根据参数1的属性(文本、文件、视频、音频)跳转到相应的分支程序,实现不同类型数据的不同函数调用。
[0045]

存在

函数——存在(参数1,参数2)
[0046]
参数1为源文件,参数2为目标,根据参数1的属性(文本、文件、视频、音频)跳转到相应的分支程序,实现不同类型数据的不同函数调用。如果在参数1中能找到参数2,返回构造数据,否则返回空值。构造数据第一个为数值,表示参数2在参数1中出现的次数;后面为数组,每个数组数值表示出现的位置,对于字符串,是数值(第几个字符开始),对于文件,是页码和数值,对于音视频,是开始的时间(位数从小时到百分之一秒)。
[0047]
步骤3,在可视化界面进行逻辑定义,所述逻辑定义包括基于对象属性的触发条件、基于对象方法的任务算法。所述步骤3包括以下步骤:
[0048]
步骤3.1,通过新建指令新建一个空的任务单,所述任务单包括名称、说明、任务类型、任务权限、触发条件子表单及任务算法子表单;所述任务类型包括持续执行、特定时间执行和特定条件执行;
[0049]
步骤3.2,填写完成任务单后,通过关系数据库存储并自动分配唯一的任务号,记录创建人员id和创建时间。
[0050]
本发明中,

持续执行

类型一旦激活,多任务服务程序不断监测触发条件,多用于报警联动;

特定时间执行

为最常见的定时任务,可按日、周、月、年循环执行,可选特定时
段执行,这类任务通过定时辅助程序进行调用;

特定条件执行

类型由多任务服务程序持续监测触发条件,一旦满足条件,则调用对应任务。
[0051]

任务权限

是针对智能建筑多用户、多联动容易导致设备控制混乱而设立的特定属性,级别范围一般是0~255,默认为最低的0,系统管理员为255,系统原始程序默认为254,火灾联动程序可参考设置为251~253。权限的最高级别不超过创建人员的级别,当服务执行该任务时,所有设备输出的控制级别都提升为该权限赋予的级别,直到该任务完成才还原原有级别。这样可以避免执行过程中受到低权限操作指令的影响,同时对于年、月、周、日的定时任务,任务权限可以从高到低设置,这样执行年度任务时,无需考虑其它定时执行带来的冲突。
[0052]
所述触发条件子表单包括至少一逻辑行,所述逻辑行至少包括一个单元格,单元格由第一输入、第二输入以及第一输入和第二输入间的运算函数构成,通过增加列指令可在同行增加新的单元格,也可通过增加行指令增加逻辑行;同行的各单元格的逻辑运算结果之间再进行



运算,其结果为该行的逻辑值,所有行的逻辑值进行



运算得到整个逻辑的最终运算结果。第一输入为系统变量或对象属性,所述第二输入为系统变量、对象属性或固定值。第一输入为系统变量或对象属性,所述第二输入为系统变量、对象属性或固定值。
[0053]
本发明中,触发条件子表单的初始界面参照图5所示,每一逻辑行默认为一个单元格,每一单元格由三部分组成:第一输入(变量1)、运算符(运算函数)、第二输入(变量2或值);点击

增加列

可在光标所在行的后面增加一个新单元格;点击

增加行

,可产生一个新行,开始只有一个单元格,选中哪一行,

增加列

按钮就回出现在哪行的最后面。点击变量1可以选择变量,变量可以为系统变量(如时间、日期、系统参数)、设备属性等;可以输入设备的关键字进行搜索,也可以选择位置层层查找,如点击站点,选择2楼分站,选择空调2-1,选择其中的温度属性,表格内就显示

2楼空调2-1温度值

。点击运算符则只能出现于变量相匹配的运算符,如变量1为文本,则只能选择

等于、包含

之类。自定义逻辑通过关系数据库存储,存储任务信息和各行列的标签属性、常量、计算符号。
[0054]
本发明中,输入界面设有文字说明:同行的单元格间,即列与列之间为



关系,同时满足本行结果才为



;行与行间为



关系,只要一行最终逻辑结果为真则最终结果就为真。
[0055]
所述触发条件子表单还包括中间变量添加指令,将逻辑运算产生的运算结果赋值给中间变量,由任务算法引用该中间变量。
[0056]
本发明中,部分情况下需要把前面执行逻辑判断时产生的数据带到输出环节,如检测到员工,需要为其考勤,则需记录员工的编号,这时可以自行添加一个中间变量,并为其赋值,后面的输出可以直接引用这个变量。
[0057]
所述任务算法子表单包括逻辑判断结果及对应的任务算法,逻辑判断结果有四种:0,1,0
‑‑
》1,1
‑‑
》0,每一逻辑判断结果添加至少一输出行,每一输出行包括一个对象方法及相应参数,同一逻辑判断结果的不同输出行设置在同一行。
[0058]
步骤4,使用运算函数获取逻辑运算结果,并基于逻辑运算结果执行对应的任务算法。该步骤4中算法由三部分组成,初始化程序、逻辑运算程序、定时辅助程序,具体来说包括以下步骤:
[0059]
步骤4.1,初始化程序
[0060]
从关系数据库中加载有效任务,并对运行环境进行初步配置;向数据采集服务订阅第一输入、第二输入,对特定时间执行的任务设置定时辅助程序,并对定时辅助程序进行初始配置;
[0061]
步骤4.2,逻辑运算程序
[0062]
由数据采集服务推送订阅的第一输入、第二输入触发执行,更新缓存中的第一输入、第二输入并进行逻辑运算,更新逻辑运算结果,并根据逻辑运算结果执行对应的输出操作。
[0063]
步骤4.3,定时辅助程序
[0064]
定时向平台/核心软件发送心跳信号;根据系统时间,对

特定时间执行

的任务进行启用和禁用,对启用任务涉及的第一输入、第二输入进行订阅,对禁用任务后不再需要订阅的第一输入、第二输入取消订阅;对需要间隔输出的操作进行计时;根据最近要执行的任务剩余时间设置定时触发;对于任务数量众多,无法全部加载的情形,定时统计任务的触发频率,触发频率低的移出缓存,高的则移进。
[0065]
本发明步骤4.1中,系统会读取关系数据库中的有效任务,该有效任务是指当前需要执行的任务,而无效任务则是存在在数据库内,但不执行的任务;并在内存中建立关于该当前有效任务的任务映射表,该任务映射表包括任务号、变量名、比较参数等,然后连接数据采集服务,向采集服务订阅相关变量。
[0066]
本发明步骤4.2中,逻辑运算程序接收订阅的数据并更新对应数组,这里的数组也即不同任务的多个变量,然后读取任务映射表中的任务编号组,活跃值加1,判断任务数量是否小于或等于0,若是,则结束,否则进行逻辑运算,该逻辑运算为:判断变量无关行结果是否存在,若存在则直接获得逻辑值整体,否则读表计算、更新相关结果,在逻辑值为执行对应的任务;这里需要注意的是,该系统中,若变量对结果无影响,则该变量无论为何值,该变量无关行的结果都是1,此时可直接获得整体逻辑值为1或0;若该变量对结果有影响则读表计算、更新相关结果,并基于更新的结果进行逻辑计算得到逻辑值。
[0067]
下面以两个多输入多输出的应用举例对本发明如何使用作进一步介绍:
[0068]
(1)某单位为方便员工,提出在早上6点到9点间,员工车辆经车辆管理系统进入单位时,能够自动考勤;另外如果气温高于30
°
,在进门时同时开启员工办公区域的空调。
[0069]
用两个任务组合的方式实现以上需求:第一个任务的触发条件子表单包括在同一行的四个触发行(单元格):

当前时间(天)=工作日



当前时间≥6



当前时间≤9



识别车牌in(单位车辆)

,或者建立一个工作日6点到9点的特定时间段任务,只需一个触发行;在触发条件子表单建一个中间变量x;在任务算法子表单中设置逻辑判断结果为1时的2个输出行,第一个输出行为查找

识别车牌

的员工号给x;第二个输出行为

x

员工考勤,两个输出行在同一行。第二个任务设置为特定条件执行,条件为

考勤成功

,触发条件子表单包括一触发行:

室外温度》30

,任务算法子表单中输出行设置为一行:

打开

员工号

的空调

,员工号为第一个任务中的中间变量。
[0070]
(2)某单位门口安装了人脸识别摄像机,对出电梯的人员设置了人脸自动抓拍,如果出来的人中有本单位员工,则自动开门,音箱播放

门已打开,欢迎进入

;如果没有本单位员工,则音箱播放

欢迎光临本公司,已通知前台人员为您开门

,同时向前台人员的微信
发个提醒。
[0071]
添加一个持续运行的任务:输入条件为一触发行:

人脸识别in(全体员工图片)

,输出行为两组,结果为真的一组,输出条件为两并行的输出行,
″′
前门

打开


″′
前台音箱

播放

门已打开,欢迎进入
′″
;结果为假的一组,输出条件也是两并行的输出行,
″′
前台音箱

播放

欢迎光临本公司,已通知前台人员为您开门
′″


发送微信

前门来人



前台人员,..。
[0072]
与1)类似,本例中,由人脸识别摄像机抓拍功能驱动程序运行。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1