CN106020803B - 被监控对象模板的动态定义方法及装置 - Google Patents
被监控对象模板的动态定义方法及装置 Download PDFInfo
- Publication number
- CN106020803B CN106020803B CN201610311581.XA CN201610311581A CN106020803B CN 106020803 B CN106020803 B CN 106020803B CN 201610311581 A CN201610311581 A CN 201610311581A CN 106020803 B CN106020803 B CN 106020803B
- Authority
- CN
- China
- Prior art keywords
- monitored object
- monitored
- object template
- template
- script program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
Abstract
本发明公开了一种被监控对象模板的动态定义方法,包括步骤:显示预设的图形化配置界面;获取用户基于所述图形化配置界面选择的被监控量,根据选择的所述被监控量建立被监控对象模板;将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序,并发布至物联网系统中。本发明还公开了一种被监控对象模板的动态定义装置。本发明降低了被监控对象模板定义的难度,减少了开发成本。
Description
技术领域
本发明涉及物联网技术领域,尤其涉及一种被监控对象模板的动态定义方法及装置。
背景技术
物联网(Internet Of Things,IOT)又称传感网,是一种将所有物件串连在一起的智能网络,具体来说指的是将各种设备,如射频识别(RFID)装置、红外感应器、全球定位系统、激光扫描器等种种装置与互联网结合起来而形成的一个巨大网络,其目的是让所有的物品都与网络连接在一起,使任何智能化物体透过网络进行信息交流,它把物理对象无缝集成到信息网络,方便识别和管理。
随着物联网技术的不断发展,物联网中间件中需要接入和管理的被监控对象也不断的增加。在物联网中间件中接入和管理被监控对象过程中,用户需要将每个被监控对象的接入和管理的流程编写成代码,得到被监控对象模板,根据被监控对象模板实现对被监控对象的接入和管理,同时,当被监控对象模板的需求改变时,例如,被监控对象的监控量增加或减少,或者接入系统之前不支持的被监控对象时,就又不得不修改原来已经编写好的代码,以更新被监控对象模板,这将大大增加了维护难度、开发时间和开发成本,从而降低了在物联网中间件中接入和管理被监控对象的项目的推进速度,因此当前通过代码开发的方式在物联网中定义被监控对象模板,难度大且成本高。
发明内容
本发明的主要目的在于提供一种被监控对象模板的动态定义方法及装置,旨在解决当前通过代码开发的方式在物联网中间件中定义被监控对象模板,难度大且成本高的问题。
为实现上述目的,本发明提供的一种被监控对象模板的动态定义方法,所述被监控对象模板的动态定义方法包括:
显示预设的图形化配置界面;
获取用户基于所述图形化配置界面选择的被监控量,根据选择的所述被监控量建立被监控对象模板;
将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序,并发布至物联网系统中。
优选地,所述将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序,并发布至物联网系统中的步骤之后,所述被监控对象模板的动态定义方法还包括:
在接收到被监控对象实例的生成指令时,确定被监控对象的标识信息;
根据预设的标识信息与被监控对象模板的关联关系,获取确定的标识信息对应的被监控对象模板的脚本程序;
将所述被监控对象模板的脚本程序反序列化成被监控对象模板;
获取所述被监控对象模板中的各个被监控量对应的值;
根据各个被监控量对应的值与所述被监控对象模板,生成被监控对象实例。
优选地,所述根据各个被监控量对应的值与所述被监控对象模板,生成被监控对象实例的步骤包括:
根据各个被监控量对应的值生成值列表;
将生成的所述值列表与所述被监控对象模板关联存储,以得到被监控对象实例。
优选地,所述将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序的步骤之后,所述被监控对象模板的动态定义方法还包括:
在所述被监控对象模板的脚本程序中提取出数据特征,以生成数字摘要;
对所述被监控对象模板的脚本程序进行压缩加密;
将压缩加密后的脚本程序和所述数字摘要进行关联存储;
其中,所述将所述被监控对象模板的脚本程序反序列化成被监控对象模板的步骤之前,包括步骤:对压缩加密后的脚本程序进行解压解密,并基于所述脚本程序关联的数字摘要检测解压解密后的脚本程序是否完整,若完整,则执行将所述被监控对象模板的脚本程序反序列化成被监控对象模板的步骤。
优选地,所述被监控量包括:测量量、控制量、配置量或告警量。
此外,为实现上述目的,本发明还提供一种被监控对象模板的动态定义装置,所述被监控对象模板的动态定义装置包括:
显示模块,用于显示预设的图形化配置界面;
建立模块,用于获取用户基于所述图形化配置界面选择的被监控量,根据选择的所述被监控量建立被监控对象模板;
处理模块,用于将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序,并发布至物联网系统中。
优选地,所述被监控对象模板的动态定义装置还包括:
确定模块,用于在接收到被监控对象实例的生成指令时,确定被监控对象的标识信息;
获取模块,用于根据预设的标识信息与被监控对象模板的关联关系,获取确定的标识信息对应的被监控对象模板的脚本程序;
所述处理模块,还用于将所述被监控对象模板的脚本程序反序列化成被监控对象模板;
所述获取模块,还用于获取所述被监控对象模板中的各个被监控量对应的值;
生成模块,用于根据各个被监控量对应的值与所述被监控对象模板,生成被监控对象实例。
优选地,所述生成模块包括:
生成单元,用于根据各个被监控量对应的值生成值列表;
存储单元,用于将生成的所述值列表与所述被监控对象模板关联存储,以得到被监控对象实例。
优选地,所述被监控对象模板的动态定义装置还包括:
提取模块,用于在所述被监控对象模板的脚本程序中提取出数据特征,以生成数字摘要;
压缩加密模块,用于对所述被监控对象模板的脚本程序进行压缩加密;
存储模块,用于将压缩加密后的脚本程序和所述数字摘要进行关联存储;
所述处理模块,还用于对压缩加密后的脚本程序进行解压解密,并基于所述脚本程序关联的数字摘要检测解压解密后的脚本程序是否完整,若完整,则将所述被监控对象模板的脚本程序反序列化成被监控对象模板。
优选地,所述被监控量包括:测量量、控制量、配置量或告警量。
本发明提出的被监控对象模板的动态定义方法及装置,先显示预设的图形化配置界面,然后获取用户基于所述图形化配置界面选择的被监控量,再根据选择的所述被监控量建立被监控对象模板,最终将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序,并发布至物联网系统中,实现了在预设的图形化配置界面中动态定义被监控对象模板,而无需开发代码,从而降低了被监控对象模板定义的难度,减少了开发成本。
附图说明
图1为本发明被监控对象模板的动态定义方法第一实施例的流程示意图;
图2为本发明被监控对象模板的动态定义方法第二实施例的流程示意图;
图3为图2中步骤S80较佳实施例的流程示意图;
图4为本发明被监控对象模板的动态定义装置第一实施例的功能模块示意图;
图5为本发明被监控对象模板的动态定义装置第二实施例的功能模块示意图;
图6为图5中生成模块的细化功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
基于上述问题,本发明提供一种被监控对象模板的动态定义方法。
参照图1,图1为本发明被监控对象模板的动态定义方法第一实施例的流程示意图。
在本实施例中,所述被监控对象模板的动态定义方法包括:
步骤S10,显示预设的图形化配置界面;
步骤S20,获取用户基于所述图形化配置界面选择的被监控量,根据选择的所述被监控量建立被监控对象模板;
步骤S30,将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序,并发布至物联网系统中。
在本实施例中,在显示预设的图形化配置界面之前,包括建立图形化配置界面的步骤,所述建立图形化配置界面的方式包括:建立一个空模板,指定空模板的名称和ID,ID可以自动生成,也可以指定,模板有一些附加的字段如类别,等级等等,然后在所述模板中模板增加量(一般是多个量),其中包括量的类型、关联量以及数据类型等等,最终,生成的整个模板包括:模板ID,模板名称,模板信息,量的集合,量与量之间的关系,也就是说,所述预设的图形化界面中包括上述的模板ID,模板名称,模板信息,量的集合,量与量之间的关系等信息。
在本实施例中,先显示预设的图形化配置界面,值得注意的是,所述图形化配置界面表示被监控对象模板的框架,是用户事先定义的。在显示预设的图形化配置界面时,获取用户基于所述图形化配置界面选择的被监控量,其中,所述被监控量包括如下字段:被监控量ID、量名称、量类型、数据类型、取值范围、传输方式等等;而所述被监控量的量类型包括:测量量(可以通过测量得到的量,比如空调器的温度或湿度等,在本系统中测量量可以使用一个数值或一段数值描述,如视频流就是一段数值)、控制量(可以进行控制的量,比如控制开机关灯等)、配置量(被监控对象的一些固定的属性,这些属性一般不需要进行测量,而是由用户输入的,如建筑物的占地面积,邮政编码等)或告警量(告警量是由测量量产生的,本系统把告警量作为一个专门的量,这是因为有些设备或传感器是直接给出告警的,而不进行原始量的上报,比如烟感传感器,之后上报烟雾告警,而不会上报烟雾浓度)等等,其中,配置量是指一旦配置后,就不会发生变化的量。被监控量的数据类型包括:浮点、整形、枚举或字符串等等;被监控量的传输方式包括:数据块或数据流方式。在获取用户基于所述图形化配置界面选择的所述被控制量之后,可以根据被监控对象模板中事先定义好的关系,确定用户基于所述图形化配置界面选择的各个被监控量之间的关系,当然,也可获取用户基于所述图形化配置界面选择的各个被监控量,以及用户选择的各个被监控量之间的关系,最终,根据各个被监控量以及各个被监控量之间的关系,即可建立被监控对象模板。也就是说,在被监控对象模板中获取各个被监控量,然后将各个被监控量放在被监控模板框架中,即可建立被监控对象模板。
应当理解的是,被监控量之间的关系包括:有关系的量的个数,以及关系类型,其中,关系类型包括多种告警源关系(比如温度过高的告警源是温度,他们之间的关系是告警源关系,一般告警是由于测量量的值达到一定范围后产生的,本关系就是描述这种关系)和控制测量关系(比如开空调和空调运行状态之间的关系就是控制测量关系,控制量一般会和一些状态量对应,比如开机和运行状态之间的关系)。当有关系的量的个数为两个时,直接确定两个量的关系即可,而对于1对多关系,使用多个1对1关系描述,例如温度和温度过高,温度过低这3个量的关系为:关系1,温度过高,温度,告警源关系;关系2,温度过低,温度,告警源关系。
在本实施例中,在建立被监控对象模板之后,可先将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序,以便于保存,并将脚本程序用于发布,即将建立的被监控对象模板发布至物联网系统中。其中,被监控对象模板包括如下字段:被监控对象模板的标识信息如Id、被监控量列表、被监控量之间的关系,以及被监控对象模板的其他信息。如模板的类别、适用的应用场景等等。本实施例中,值得注意的是,被监控对象模板建立成功后,需要将被监控对象和被监控对象模板对应起来,也就是说,需要建立被监控对象和被监控对象模板的关联关系,具体地是将被监控对象的标识信息与所述被监控对象模板的标识信息关联起来,后续即可根据被监控对象的标识获取对应的被监控对象模板。本实施例中,所述被监控对象和被监控对象模板的对应关系可以为1对1,也可以为多对1,优选为多对1,这样多个被监控对象就可以根据一个被监控对象模板创建被监控对象实例。
本实施例提出的被监控对象模板的动态定义方法,先显示预设的图形化配置界面,然后获取用户基于所述图形化配置界面选择的被监控量,再根据选择的所述被监控量建立被监控对象模板,最终将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序,并发布至物联网系统中,实现了在预设的图形化配置界面中动态定义被监控对象模板,而无需开发代码,从而降低了被监控对象模板定义的难度,减少了开发成本。进一步地,用户可以方便的进行协议配置,不需要程序员参与,降低人力成本,配置通过图形化完成,配置的操作明显快于代码研发,无需文档编写,无需代码编写等,极大的缩短了协议定制时间。
进一步地,基于第一实施例提出本发明被监控对象模板的动态定义方法的第二实施例,在本实施例,参照图2,所述步骤S30之后,所述被监控对象模板的动态定义方法还包括:
步骤S40,在接收到被监控对象实例的生成指令时,确定被监控对象的标识信息;
步骤S50,根据预设的标识信息与被监控对象模板的关联关系,获取确定的标识信息对应的被监控对象模板的脚本程序;
步骤S60,将所述被监控对象模板的脚本程序反序列化成被监控对象模板;
步骤S70,获取所述被监控对象模板中的各个被监控量对应的值;
步骤S80,根据各个被监控量对应的值与所述被监控对象模板,生成被监控对象实例。
在本实施例中,在接收到被监控对象实例的生成指令时,先确定被监控对象的标识信息,优选所述被监控对象的标识信息为被监控对象的ID,当然,也可以为其它唯一表示所述被监控对象的信息。本实施例中,由于应用场景是物联网,因此,所述被监控对象表示空调或冰箱等家居设备。
然后,根据预设的标识信息与被监控对象模板的关联关系,获取确定的标识信息对应的被监控对象模板的脚本程序,再将所述被监控对象模板的脚本程序反序列化成被监控对象模板。由于事先保存的是脚本程序,后续在使用时,先将所述被监控对象模板的脚本程序反序列化成被监控对象模板,然后再获取所述被监控对象模板。
而在得到被监控对象模板之后,再获取所述被监控对象模板中的各个被监控量对应的值,具体的是根据所述被监控对象的标识信息,从协议中,获取所述被监控对象模板中的各个被监控量对应的值,也可以从传感器中获取所述被监控对象模板中的各个被监控量对应的值,当然,在获取到各个被监控量对应的值之后,可以将各个被监控量对应的值存储到数据库中,下次可以直接在数据库中获取各个被监控量对应的值,而不用到传感器或中协议中获取,提高了各个被监控量对应的值的获取效率。
在本实施中,根据各个被监控量对应的值与所述被监控对象模板,生成被监控对象实例,也就是将各个被监控量对应的值添加到被监控对象模板中,一个值对应一个被监控量,即可生成被监控对象实例。
进一步地,参照图3,所述步骤S80包括:
步骤S81,根据各个被监控量对应的值生成值列表;
步骤S82,将生成的所述值列表与所述被监控对象模板关联存储,以得到被监控对象实例。
在本实施例中,在得到各个被监控量对应的值之后,可根据各个被监控量对应的值生成值列表,然后将生成的所述值列表与所述被监控对象模板关联存储,以得到被监控对象实例,应当理解的是,所述值列表是一个单独的列表,由于被监控对象模板可能适用于多个被监控对象,而每一个被监控对象中,被监控量的某些参数不同,例如,在被监控量为温度时,不同的空调的温度不同,而每个被监控对象模板的格式已经固定了,因此,后续直接将各个被即监控对象的值列表与被监控对象模板关联存储,即可得到各个被监控对象实例,而不是每次都要将各个被监控量对应的值添加到被监控对象模板中,生成被监控对象实例,这样的话需要复制被监控对象模板,导致存储空间的浪费,本发明中之间将值列表与被监控对象模板关联存储,降低了存储空间的占用率。
在本实施例中,所述被监控实例主要是配置被监控对象的名称,ID(系统自动生成),配置配置量的数值以及配置新监控对象与已有监控对象的关系,如连接关系、从属关系等,并且被监控对象实例有生命周期的,根据系统运行时根据需要,可构建并维护被监控对象实例的生命周期。
在本实施例中,在接收到被监控对象实例的生成指令时,先确定被监控对象的标识信息,然后根据预设的标识信息与被监控对象模板的关联关系,获取确定的标识信息对应的被监控对象模板,再获取所述被监控对象模板中的各个被监控量对应的值,最终根据各个被监控量对应的值与所述被监控对象模板,生成被监控对象实例,由于被监控对象的实例是通过被监控对象模板和各个被监控量对应的值生成的,因此当系统中需生成被监控对象实例时,只需获取被监控对象模板,以及各个被监控量对应的值,即可生成该被监控对象实例,而无需开发代码,从而降低了生成被监控对象的实例的难度,减少了发开成本。
可以理解,本实施例实质上是描述了一种物联网中间件的动态定义,与生成被监控对象实例的方法,具体包括两个方面:一是动态定义被监控模板;二是系统通过被监控对象模板将被监控对象进行实例化,其中,使用动态定义被监控对象模板的具体包括:
(1)以图形化的方式建立被监控对象模板框架;
(2)以图形化的方式为被监控对象模板框架配置被监控量以及监控量之间的关系,并将配置好的被监控对象模板发布到物联网系统中;
(3)将物联网系统中的被监控对象和被监控对象模板对应起来,并将被监控对象以及被监控对象模板的对应关系发布到物联网系统中;
而通过被监控对象模板将被监控对象进行实例化的具体包括:
(1)在被监控对象实例中建立指向被监控对象模板的引用;
(2)根据被监控对象模板中量的字段,生成量的值列表数据结构;
(3)根据被监控对象模板中量之间的关系字段,建立有关系的量之间的相互引用。
在本实施例中,使用图形化配置的方法,动态定义物联网系统中的被监控对象模板,降低了对开发人员的技术要求,提升了开发效率,从降低了物联网系统的开发成本,缩短了开发周期,然后直接根据各个被监控量对应的值与所述被监控对象模板,生成被监控对象实例,使得被监控对象实例生成更便捷简单。
进一步地,基于第二实施例提出本发明被监控对象模板的动态定义方法的第三实施例,在本实施例,所述步骤S30之后,所述被监控对象模板的动态定义方法还包括:
在所述被监控对象模板的脚本程序中提取出数据特征,以生成数字摘要;
对所述被监控对象模板的脚本程序进行压缩加密;
将压缩加密后的脚本程序和所述数字摘要进行关联存储;
其中,所述将所述被监控对象模板的脚本程序反序列化成被监控对象模板的步骤之前,包括步骤:对压缩加密后的脚本程序进行解压解密,并基于所述脚本程序关联的数字摘要检测解压解密后的脚本程序是否完整,若完整,则执行将所述被监控对象模板的脚本程序反序列化成被监控对象模板的步骤。
在本实施例中,在得到所述被监控对象模板的脚本程序之后,在所述被监控对象模板的脚本程序中提取出数据特征,以生成数字摘要,其中,数字摘要是根据安全HASH编码法(SHA:Secure Hash Algorithm,安全哈希算法)处理得到的,用于对所要传输的数据进行运算生成信息摘要,它并不是一种加密机制,但却能产生信息的数字“指纹”,能够确保数据没有被修改或变化,保证信息的完整性不被破坏,在生成数字摘要后,对所述被监控对象模板的脚本程序进行压缩加密,最终将压缩加密后的脚本程序,以及所述数字摘要关联存储,应当理解,压缩是为了减小脚本程序占用的存储空间,加密是为了提高脚本程序存储的安全性。
而在将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序之前,则需要对压缩加密后的脚本程序进行解压解密,并基于所述数字摘要检测解压解密后的脚本程序是否完整,若完整,才将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序。
在本实施例中,将压缩加密后的脚本程序以及所述数字摘要关联存储,以便于应用所述被监控对象模板的脚本程序时,可以检测所述被监控对象模板的脚本程序是否完整,有没有在运行过程中出现代码的缺失等情况,防止了脚本程序出现代码缺失时,导致所述被监控对象模板实例的生成出现问题,从而提高了被监控对象模板实例生成的准确性。
本发明进一步提供一种被监控对象模板的动态定义装置。
参照图4,图4为本发明被监控对象模板的动态定义装置第一实施例的功能模块示意图。
需要强调的是,对本领域的技术人员来说,图4所示功能模块图仅仅是一个较佳实施例的示例图,本领域的技术人员围绕图4所示的被监控对象模板的动态定义装置的功能模块,可轻易进行新的功能模块的补充;各功能模块的名称是自定义名称,仅用于辅助理解该被监控对象模板的动态定义装置的各个程序功能块,不用于限定本发明的技术方案,本发明技术方案的核心是,各自定义名称的功能模块所要达成的功能。
本实施例提出一种被监控对象模板的动态定义装置,所述被监控对象模板的动态定义装置包括:
显示模块10,用于显示预设的图形化配置界面;
建立模块20,用于获取用户基于所述图形化配置界面选择的被监控量,根据选择的所述被监控量建立被监控对象模板;
处理模块30,用于将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序,并发布至物联网系统中。
在本实施例,所述图形化配置界面由所述建立模块20建立,具体的建立方式包括:所述建立模块20建立一个空模板,指定空模板的名称和ID,ID可以自动生成,也可以指定,模板有一些附加的字段如类别,等级等等,然后在所述模板中模板增加量(一般是多个量),其中包括量的类型、关联量以及数据类型等等,最终,生成的整个模板包括:模板ID,模板名称,模板信息,量的集合,量与量之间的关系,也就是说,所述预设的图形化界面中包括上述的模板ID,模板名称,模板信息,量的集合,量与量之间的关系等信息。
在本实施例中,所述显示模块10先显示预设的图形化配置界面,值得注意的是,所述图形化配置界面表示被监控对象模板的框架,是用户事先定义的。在所述显示模块10显示预设的图形化配置界面时,获取用户基于所述图形化配置界面选择的被监控量,其中,所述被监控量包括如下字段:被监控量ID、量名称、量类型、数据类型、取值范围、传输方式等等;而所述被监控量的量类型包括:测量量(可以通过测量得到的量,比如空调器的温度或湿度等,在本系统中测量量可以使用一个数值或一段数值描述,如视频流就是一段数值)、控制量(可以进行控制的量,比如控制开机关灯等)、配置量(被监控对象的一些固定的属性,这些属性一般不需要进行测量,而是由用户输入的,如建筑物的占地面积,邮政编码等)或告警量(告警量是由测量量产生的,本系统把告警量作为一个专门的量,这是因为有些设备或传感器是直接给出告警的,而不进行原始量的上报,比如烟感传感器,之后上报烟雾告警,而不会上报烟雾浓度)等等,其中,配置量是指一旦配置后,就不会发生变化的量。被监控量的数据类型包括:浮点、整形、枚举或字符串等等;被监控量的传输方式包括:数据块或数据流方式。在获取用户基于所述图形化配置界面选择的所述被控制量之后,可以根据被监控对象模板中事先定义好的关系,确定用户基于所述图形化配置界面选择的各个被监控量之间的关系,当然,也可获取用户基于所述图形化配置界面选择的各个被监控量,以及用户选择的各个被监控量之间的关系,最终,所述建立模块20根据各个被监控量以及各个被监控量之间的关系,即可建立被监控对象模板。也就是说,在被监控对象模板中获取各个被监控量,然后将各个被监控量放在被监控模板框架中,所述建立模块20即可建立被监控对象模板。
应当理解的是,被监控量之间的关系包括:有关系的量的个数,以及关系类型,其中,关系类型包括多种告警源关系(比如温度过高的告警源是温度,他们之间的关系是告警源关系,一般告警是由于测量量的值达到一定范围后产生的,本关系就是描述这种关系)和控制测量关系(比如开空调和空调运行状态之间的关系就是控制测量关系,控制量一般会和一些状态量对应,比如开机和运行状态之间的关系)。当有关系的量的个数为两个时,直接确定两个量的关系即可,而对于1对多关系,使用多个1对1关系描述,例如温度和温度过高,温度过低这3个量的关系为:关系1,温度过高,温度,告警源关系;关系2,温度过低,温度,告警源关系。
在本实施例中,在所述建立模块20建立被监控对象模板之后,所述处理模块30可先将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序,以便于保存,并将脚本程序用于发布,即所述处理模块30将建立的被监控对象模板发布至物联网系统中。其中,被监控对象模板包括如下字段:被监控对象模板的标识信息如Id、被监控量列表、被监控量之间的关系,以及被监控对象模板的其他信息。如模板的类别、适用的应用场景等等。本实施例中,值得注意的是,被监控对象模板建立成功后,需要将被监控对象和被监控对象模板对应起来,也就是说,需要建立被监控对象和被监控对象模板的关联关系,具体地是将被监控对象的标识信息与所述被监控对象模板的标识信息关联起来,后续即可根据被监控对象的标识获取对应的被监控对象模板。本实施例中,所述被监控对象和被监控对象模板的对应关系可以为1对1,也可以为多对1,优选为多对1,这样多个被监控对象就可以根据一个被监控对象模板创建被监控对象实例。
本实施例提出的被监控对象模板的动态定义装置,先显示预设的图形化配置界面,然后获取用户基于所述图形化配置界面选择的被监控量,再根据选择的所述被监控量建立被监控对象模板,最终将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序,并发布至物联网系统中,实现了在预设的图形化配置界面中动态定义被监控对象模板,而无需开发代码,从而降低了被监控对象模板定义的难度,减少了开发成本。进一步地,用户可以方便的进行协议配置,不需要程序员参与,降低人力成本,配置通过图形化完成,配置的操作明显快于代码研发,无需文档编写,无需代码编写等,极大的缩短了协议定制时间。
进一步地,基于第一实施例提出本发明被监控对象模板的动态定义装置的第二实施例,在本实施例,参照图5,所述被监控对象模板的动态定义装置还包括:
确定模块40,用于在接收到被监控对象实例的生成指令时,确定被监控对象的标识信息;
获取模块50,用于根据预设的标识信息与被监控对象模板的关联关系,获取确定的标识信息对应的被监控对象模板的脚本程序;
所述处理模块30,还用于将所述被监控对象模板的脚本程序反序列化成被监控对象模板;
所述获取模块50,还用于获取所述被监控对象模板中的各个被监控量对应的值;
生成模块60,用于根据各个被监控量对应的值与所述被监控对象模板,生成被监控对象实例。
在本实施例中,在接收到被监控对象实例的生成指令时,所述确定模块40先确定被监控对象的标识信息,优选所述被监控对象的标识信息为被监控对象的ID,当然,也可以为其它唯一表示所述被监控对象的信息。本实施例中,由于应用场景是物联网,因此,所述被监控对象表示空调或冰箱等家居设备。
然后,所述获取模块50根据预设的标识信息与被监控对象模板的关联关系,获取确定的标识信息对应的被监控对象模板的脚本程序,所述处理模块30再将所述被监控对象模板的脚本程序反序列化成被监控对象模板。由于事先保存的是脚本程序,后续在使用时,所述处理模块30先将所述被监控对象模板的脚本程序反序列化成被监控对象模板,然后所述获取模块50再获取所述被监控对象模板。
而在得到被监控对象模板之后,所述获取模块50再获取所述被监控对象模板中的各个被监控量对应的值,具体的是根据所述被监控对象的标识信息,从协议中,获取所述被监控对象模板中的各个被监控量对应的值,也可以从传感器中获取所述被监控对象模板中的各个被监控量对应的值,当然,在获取到各个被监控量对应的值之后,可以将各个被监控量对应的值存储到数据库中,下次可以直接在数据库中获取各个被监控量对应的值,而不用到传感器或中协议中获取,提高了各个被监控量对应的值的获取效率。
在本实施中,所述生成模块60根据各个被监控量对应的值与所述被监控对象模板,生成被监控对象实例,也就是将各个被监控量对应的值添加到被监控对象模板中,一个值对应一个被监控量,即可生成被监控对象实例。
进一步地,参照图6,所述生成模块60包括:
生成单元61,用于根据各个被监控量对应的值生成值列表;
存储单元62,用于将生成的所述值列表与所述被监控对象模板关联存储,以得到被监控对象实例。
在本实施例中,在得到各个被监控量对应的值之后,所述生成单元61根据各个被监控量对应的值生成值列表,然后所述存储单元62将生成的所述值列表与所述被监控对象模板关联存储,以得到被监控对象实例,应当理解的是,所述值列表是一个单独的列表,由于被监控对象模板可能适用于多个被监控对象,而每一个被监控对象中,被监控量的某些参数不同,例如,在被监控量为温度时,不同的空调的温度不同,而每个被监控对象模板的格式已经固定了,因此,后续直接将各个被即监控对象的值列表与被监控对象模板关联存储,即可得到各个被监控对象实例,而不是每次都要将各个被监控量对应的值添加到被监控对象模板中,生成被监控对象实例,这样的话需要复制被监控对象模板,导致存储空间的浪费,本发明中之间将值列表与被监控对象模板关联存储,降低了存储空间的占用率。
在本实施例中,所述被监控实例主要是配置被监控对象的名称,ID(系统自动生成),配置配置量的数值以及配置新监控对象与已有监控对象的关系,如连接关系、从属关系等,并且被监控对象实例有生命周期的,根据系统运行时根据需要,可构建并维护被监控对象实例的生命周期。
在本实施例中,在接收到被监控对象实例的生成指令时,先确定被监控对象的标识信息,然后根据预设的标识信息与被监控对象模板的关联关系,获取确定的标识信息对应的被监控对象模板,再获取所述被监控对象模板中的各个被监控量对应的值,最终根据各个被监控量对应的值与所述被监控对象模板,生成被监控对象实例,由于被监控对象的实例是通过被监控对象模板和各个被监控量对应的值生成的,因此当系统中需生成被监控对象实例时,只需获取被监控对象模板,以及各个被监控量对应的值,即可生成该被监控对象实例,而无需开发代码,从而降低了生成被监控对象的实例的难度,减少了发开成本。
可以理解,本实施例实质上是描述了一种物联网中间件的动态定义,与生成被监控对象实例的装置,具体包括两个方面:一是动态定义被监控模板;二是系统通过被监控对象模板将被监控对象进行实例化,其中,使用动态定义被监控对象模板的具体包括:
(1)以图形化的方式建立被监控对象模板框架;
(2)以图形化的方式为被监控对象模板框架配置被监控量以及监控量之间的关系,并将配置好的被监控对象模板发布到物联网系统中;
(3)将物联网系统中的被监控对象和被监控对象模板对应起来,并将被监控对象以及被监控对象模板的对应关系发布到物联网系统中;
而通过被监控对象模板将被监控对象进行实例化的具体包括:
(1)在被监控对象实例中建立指向被监控对象模板的引用;
(2)根据被监控对象模板中量的字段,生成量的值列表数据结构;
(3)根据被监控对象模板中量之间的关系字段,建立有关系的量之间的相互引用。
在本实施例中,使用图形化配置,动态定义物联网系统中的被监控对象模板,降低了对开发人员的技术要求,提升了开发效率,从降低了物联网系统的开发成本,缩短了开发周期,然后直接根据各个被监控量对应的值与所述被监控对象模板,生成被监控对象实例,使得被监控对象实例生成更便捷简单。
进一步地,基于第二实施例提出本发明被监控对象模板的动态定义装置的第三实施例,在本实施例,所述被监控对象模板的动态定义装置还包括:
提取模块,用于在所述被监控对象模板的脚本程序中提取出数据特征,以生成数字摘要;
压缩加密模块,用于对所述被监控对象模板的脚本程序进行压缩加密;
存储模块,用于将压缩加密后的脚本程序和所述数字摘要进行关联存储;
所述处理模块,还用于对压缩加密后的脚本程序进行解压解密,并基于所述脚本程序关联的数字摘要检测解压解密后的脚本程序是否完整,若完整,则将所述被监控对象模板的脚本程序反序列化成被监控对象模板。
在本实施例中,在得到所述被监控对象模板的脚本程序之后,所述提取模块在所述被监控对象模板的脚本程序中提取出数据特征,以生成数字摘要,其中,数字摘要是根据安全HASH编码法(SHA:Secure Hash Algorithm,安全哈希算法)处理得到的,用于对所要传输的数据进行运算生成信息摘要,它并不是一种加密机制,但却能产生信息的数字“指纹”,能够确保数据没有被修改或变化,保证信息的完整性不被破坏,在生成数字摘要后,所述压缩加密模块对所述被监控对象模板的脚本程序进行压缩加密,最终所述存储模块将压缩加密后的脚本程序,以及所述数字摘要关联存储,应当理解,压缩是为了减小脚本程序占用的存储空间,加密是为了提高脚本程序存储的安全性。
而在将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序之前,则需要对压缩加密后的脚本程序进行解压解密,并基于所述数字摘要检测解压解密后的脚本程序是否完整,若完整,才将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序。
在本实施例中,将压缩加密后的脚本程序以及所述数字摘要关联存储,以便于应用所述被监控对象模板的脚本程序时,可以检测所述被监控对象模板的脚本程序是否完整,有没有在运行过程中出现代码的缺失等情况,防止了脚本程序出现代码缺失时,导致所述被监控对象模板实例的生成出现问题,从而提高了被监控对象模板实例生成的准确性。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种被监控对象模板的动态定义方法,所述被监控对象模板的动态定义方法基于动态的方式用于物联网中对被监控对象模板的定义的场合,其特征在于,所述被监控对象模板的动态定义方法包括以下步骤:
显示预设的图形化配置界面;
获取用户基于所述图形化配置界面选择的被监控量,根据选择的所述被监控量以及各被监控量之间的关系建立被监控对象模板;
将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序,并发布至物联网系统中;
在接收到被监控对象实例的生成指令时,确定被监控对象的标识信息;
根据预设的标识信息与被监控对象模板的关联关系,获取确定的标识信息对应的被监控对象模板的脚本程序;
将所述被监控对象模板的脚本程序反序列化成被监控对象模板;
获取所述被监控对象模板中的各个被监控量对应的值;
根据各个被监控量对应的值与所述被监控对象模板,生成被监控对象实例;
其中,多个被监控对象根据一个被监控对象模板创建被监控对象的实例;
所述获取所述被监控对象模板中的各个被监控量对应的值的步骤中:根据被监控对象的标识信息,从协议中,获取所述被监控对象模板中的各个被监控量对应的值;
所述被监控量包括:测量量、控制量、配置量或告警量;
各被监控量之间的关系包括:告警源关系和控制测量关系。
2.如权利要求1所述的被监控对象模板的动态定义方法,其特征在于,所述根据各个被监控量对应的值与所述被监控对象模板,生成被监控对象实例的步骤包括:
根据各个被监控量对应的值生成值列表;
将生成的所述值列表与所述被监控对象模板关联存储,以得到被监控对象实例。
3.如权利要求1所述的被监控对象模板的动态定义方法,其特征在于,所述将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序的步骤之后,所述被监控对象模板的动态定义方法还包括:
在所述被监控对象模板的脚本程序中提取出数据特征,以生成数字摘要;
对所述被监控对象模板的脚本程序进行压缩加密;
将压缩加密后的脚本程序和所述数字摘要进行关联存储;
其中,所述将所述被监控对象模板的脚本程序反序列化成被监控对象模板的步骤之前,包括步骤:对压缩加密后的脚本程序进行解压解密,并基于所述脚本程序关联的数字摘要检测解压解密后的脚本程序是否完整,若完整,则执行将所述被监控对象模板的脚本程序反序列化成被监控对象模板的步骤。
4.一种被监控对象模板的动态定义装置,所述被监控对象模板的动态定义装置基于动态的方式用于物联网中对被监控对象模板的定义的场合,其特征在于,所述被监控对象模板的动态定义装置包括:
显示模块,用于显示预设的图形化配置界面;
建立模块,用于获取用户基于所述图形化配置界面选择的被监控量,根据选择的所述被监控量以及各被监控量之间的关系建立被监控对象模板;
处理模块,用于将建立的所述被监控对象模板序列化翻译成被监控对象模板的脚本程序,并发布至物联网系统中;
确定模块,用于在接收到被监控对象实例的生成指令时,确定被监控对象的标识信息;
获取模块,用于根据预设的标识信息与被监控对象模板的关联关系,获取确定的标识信息对应的被监控对象模板的脚本程序;
所述处理模块,还用于将所述被监控对象模板的脚本程序反序列化成被监控对象模板;
所述获取模块,还用于根据被监控对象的标识信息,从协议中,获取所述被监控对象模板中的各个被监控量对应的值;
生成模块,用于根据各个被监控量对应的值与所述被监控对象模板,生成被监控对象实例;
其中,多个被监控对象根据一个被监控对象模板创建被监控对象的实例;
所述被监控量包括:测量量、控制量、配置量或告警量;
各被监控量之间的关系包括:告警源关系和控制测量关系。
5.如权利要求4所述的被监控对象模板的动态定义装置,其特征在于,所述生成模块包括:
生成单元,用于根据各个被监控量对应的值生成值列表;
存储单元,用于将生成的所述值列表与所述被监控对象模板关联存储,以得到被监控对象实例。
6.如权利要求4所述的被监控对象模板的动态定义装置,其特征在于,所述被监控对象模板的动态定义装置还包括:
提取模块,用于在所述被监控对象模板的脚本程序中提取出数据特征,以生成数字摘要;
压缩加密模块,用于对所述被监控对象模板的脚本程序进行压缩加密;
存储模块,用于将压缩加密后的脚本程序和所述数字摘要进行关联存储;
所述处理模块,还用于对压缩加密后的脚本程序进行解压解密,并基于所述脚本程序关联的数字摘要检测解压解密后的脚本程序是否完整,若完整,则将所述被监控对象模板的脚本程序反序列化成被监控对象模板。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610311581.XA CN106020803B (zh) | 2016-05-11 | 2016-05-11 | 被监控对象模板的动态定义方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610311581.XA CN106020803B (zh) | 2016-05-11 | 2016-05-11 | 被监控对象模板的动态定义方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106020803A CN106020803A (zh) | 2016-10-12 |
CN106020803B true CN106020803B (zh) | 2020-12-29 |
Family
ID=57100583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610311581.XA Active CN106020803B (zh) | 2016-05-11 | 2016-05-11 | 被监控对象模板的动态定义方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106020803B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107169317A (zh) * | 2017-03-31 | 2017-09-15 | 武汉斗鱼网络科技有限公司 | 一种对lua脚本进行加密的方法及装置 |
CN108021559B (zh) * | 2018-02-05 | 2022-05-03 | 威盛电子股份有限公司 | 自然语言理解系统以及语意分析方法 |
CN108989146A (zh) * | 2018-07-11 | 2018-12-11 | 郑州云海信息技术有限公司 | 一种计算机硬件设备的监控方法和监控系统 |
CN110061861B (zh) * | 2019-03-21 | 2022-08-12 | 广东瑞恩科技有限公司 | 互联网协议配置方法、装置、设备及计算机可读存储介质 |
CN110061860A (zh) * | 2019-03-21 | 2019-07-26 | 广东瑞恩科技有限公司 | 被监控对象的实例生成方法、装置、设备及存储介质 |
CN111521980B (zh) * | 2020-04-21 | 2022-03-29 | 北京无线电测量研究所 | 一种雷达实时监测显示方法、系统、介质及设备 |
CN112684748B (zh) * | 2020-11-16 | 2023-04-07 | 航天信息股份有限公司 | 一种兼容多种被监控设备的监控方法及系统 |
CN112596425B (zh) * | 2020-11-30 | 2022-10-21 | 国网山东省电力公司滨州供电公司 | 一种配电室远程监控方法及系统 |
CN112561090A (zh) * | 2020-12-14 | 2021-03-26 | 新奥数能科技有限公司 | 设备生命周期管理方法、装置、可读存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267333A (zh) * | 2007-06-15 | 2008-09-17 | 南京联创科技股份有限公司 | 自动变更采集代理的业务系统监控方法 |
CN102184184A (zh) * | 2011-04-07 | 2011-09-14 | 安徽博约信息科技有限责任公司 | 一种网页动态信息获取方法 |
CN103118248A (zh) * | 2013-02-28 | 2013-05-22 | 华为技术有限公司 | 监控方法、监控代理、监控服务器和系统 |
CN103902542A (zh) * | 2012-12-25 | 2014-07-02 | 百度在线网络技术(北京)有限公司 | 一种测试环境中数据库的运维方法及系统 |
WO2015084363A1 (en) * | 2013-12-05 | 2015-06-11 | Hewlett-Packard Development Company, L.P. | Identifying a monitoring template for a managed service based on a service-level agreement |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7376698B2 (en) * | 2002-12-20 | 2008-05-20 | Sap Ag | System for preserving scripting objects and cloning the objects to a new document in response to a reload of the new document |
US9477570B2 (en) * | 2008-08-26 | 2016-10-25 | Red Hat, Inc. | Monitoring software provisioning |
US9524224B2 (en) * | 2010-10-05 | 2016-12-20 | Red Hat Israel, Ltd. | Customized monitoring of system activities |
CN103186367A (zh) * | 2011-12-27 | 2013-07-03 | 沈阳中科博微自动化技术有限公司 | 一种应用于监控系统中支持脚本的动态模板实现方法 |
CN104168155B (zh) * | 2014-07-31 | 2019-02-15 | 南京赛拜诺信息技术有限公司 | 应用流量生成方法及装置 |
-
2016
- 2016-05-11 CN CN201610311581.XA patent/CN106020803B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267333A (zh) * | 2007-06-15 | 2008-09-17 | 南京联创科技股份有限公司 | 自动变更采集代理的业务系统监控方法 |
CN102184184A (zh) * | 2011-04-07 | 2011-09-14 | 安徽博约信息科技有限责任公司 | 一种网页动态信息获取方法 |
CN103902542A (zh) * | 2012-12-25 | 2014-07-02 | 百度在线网络技术(北京)有限公司 | 一种测试环境中数据库的运维方法及系统 |
CN103118248A (zh) * | 2013-02-28 | 2013-05-22 | 华为技术有限公司 | 监控方法、监控代理、监控服务器和系统 |
WO2015084363A1 (en) * | 2013-12-05 | 2015-06-11 | Hewlett-Packard Development Company, L.P. | Identifying a monitoring template for a managed service based on a service-level agreement |
Also Published As
Publication number | Publication date |
---|---|
CN106020803A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106020803B (zh) | 被监控对象模板的动态定义方法及装置 | |
CN107545181B (zh) | 程序运行方法、终端及计算机可读存储介质 | |
CN111200545B (zh) | 一种智能设备接入方法及装置 | |
CN112507027A (zh) | 基于Kafka的增量数据同步方法、装置、设备及介质 | |
CN105389177A (zh) | 一种软件版本确认方法、装置及系统 | |
CN111683066A (zh) | 异构系统集成方法、装置、计算机设备和存储介质 | |
CN111295646A (zh) | 从数据字符串自动映射和生成标签 | |
CN112988770B (zh) | 序列号更新的方法、装置、电子设备和存储介质 | |
CN104268229A (zh) | 一种基于多进程浏览器的资源获得方法及装置 | |
CN110569250A (zh) | 一种物联网网元的解析库的管理方法及装置 | |
CN111897846A (zh) | 缓存数据校验方法、装置、设备及存储介质 | |
CN110865834B (zh) | 应用程序界面更新方法、装置、可读存储介质及终端设备 | |
CN111984259A (zh) | 界面创建方法、装置、设备及存储介质 | |
CN111881209A (zh) | 异构数据库的数据同步方法、装置、电子设备及介质 | |
CN109788251B (zh) | 视频处理方法、装置及存储介质 | |
CN109088914B (zh) | 区块的生成方法、区块链生态系统及计算机可读存储介质 | |
KR102545045B1 (ko) | 정보 생성 방법 및 장치 | |
US10868880B2 (en) | Control system with persistent and transient data stores for registration, production and status data for networked devices | |
CN114489690A (zh) | 一种分布式系统部署方法、装置、电子设备及存储介质 | |
CN112685115A (zh) | 国际提示语生成方法、系统、计算机设备及存储介质 | |
CN115202712B (zh) | 应用管理方法、应用订阅方法及相关设备 | |
CN115729590A (zh) | 服务部署方法、装置、设备和计算机可读存储介质 | |
CN111126961B (zh) | 一种复杂产品全生命周期数字主线服务系统 | |
CN114143308A (zh) | 文件上传信息处理方法、装置、计算机设备及存储介质 | |
CN104780148A (zh) | 服务器、终端、文档在线操作的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |