一种用于资源绑定的方法和装置与流程

文档序号:12967617阅读:111来源:国知局
一种用于资源绑定的方法和装置与流程

本发明涉及物联网领域,尤其涉及一种用于物联网资源绑定的方法和装置。



背景技术:

物联网(iot:internetofthings)是利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。iot通常包括三层:iot资源层、iot中间件层和iot服务层。iot资源层综合管理iot系统中的资源,包括但不局限于传感器、控制器和/或机器等。iot服务层向用户提供各种iot应用或服务。

目前,已经出现许多用于创建iot应用的应用生成器,例如,simulink等。这些应用生成器通常预先提供许多可重用的算法封装模块,其中,每一个算法封装模块实现某种特定功能,而且,这些算法封装模块的全部或部分具有一个或多个iot数据输入点,每一个iot数据输入点需要被绑定合适的iot资源以向算法封装模块提供输入数据。当需要创建用于实现特定任务的iot应用时,用户首先使用应用生成器来选择一个或多个合适的算法封装模块并按照该特定任务的数据处理工作流程来连接所选择的算法封装模块,然后,如果所选择的算法封装模块具有iot数据输入点,则用户根据该特定任务的性质,从应用生成器所提供的iot资源库中手工查找到与iot数据输入点匹配的iot资源并把查找到的iot资源绑定到iot数据输入点。至此,完成iot应用的创建。

iot通常包括大量的iot资源,因而,在创建iot应用时手工匹配和绑定iot资源到iot数据输入点,将会花费用户的大量时间和人力。因此,目前的iot应用创建方式给用户造成很大负担。



技术实现要素:

考虑到现有技术的上述问题,本发明的实施例提供一种用于资源绑定的方法和装置,其能够在iot应用创建时减轻用户的负担。

按照本发明实施例的一种用于资源绑定的方法,包括:获取构成物联网 应用的算法封装模块的物联网数据输入点的数据约束,所述数据约束定义将要绑定到所述物联网数据输入点的物联网资源需要满足的要求;根据所获取的数据约束和物联网中的各个物联网资源的描述,查找所述各个物联网资源中与所述物联网数据输入点匹配的物联网资源;以及,如果查找到与所述物联网数据输入点匹配的物联网资源,则将所查找的物联网资源绑定到所述物联网数据输入点。

其中,获取构成物联网应用的算法封装模块的物联网数据输入点的数据约束包括:接收所述物联网数据输入点的用户自定义数据约束描述;以及,基于所述用户自定义数据约束描述和所述物联网数据输入点的预定义数据约束描述,确定所述物联网数据输入点的所述数据约束。

其中,所述物联网数据输入点包括多个物联网数据输入点,以及,所述用户自定义数据约束描述包含被绑定到所述多个物联网数据输入点的物联网资源中的至少部分物联网资源之间的关系。

按照本发明实施例的一种用于资源绑定的装置,包括:获取模块,用于获取构成物联网应用的算法封装模块的物联网数据输入点的数据约束,所述数据约束定义可绑定到所述物联网数据输入点的物联网资源需要满足的要求;匹配模块,用于根据所获取的数据约束和物联网中的各个物联网资源的描述,查找所述各个物联网资源中与所述物联网数据输入点匹配的物联网资源;以及,绑定模块,用于如果查找到与所述物联网数据输入点匹配的物联网资源,则将所查找的物联网资源绑定到所述物联网数据输入点。

所述获取模块包括:接收模块,用于接收所述物联网数据输入点的用户自定义数据约束描述;以及,确定模块,用于基于所述用户自定义数据约束描述和所述物联网数据输入点的预定义数据约束描述,确定所述物联网数据输入点的所述数据约束。

其中,所述物联网数据输入点包括多个物联网数据输入点,以及,所述用户自定义数据约束描述包含被绑定到所述多个物联网数据输入点的物联网资源中的至少部分物联网资源之间的关系。

按照本发明实施例的一种设备,包括:处理器;以及,存储器,用于存储可执行指令,所述可执行指令当被执行时使得所述处理器执行前述方法所包括的操作。

按照本发明实施例的一种计算机程序产品,包括:机器可读介质,其上 存储有可执行指令,该可执行指令当被执行时,使得机器执行前述方法所包括的操作。

从以上的描述可以看出,本发明实施例的方案基于构成物联网应用的算法封装模块的物联网数据输入点的数据约束描述和物联网中的各个物联网资源的描述来自动查找和绑定匹配的物联网资源到相应的物联网数据输入点,从而,与现有技术相比,本发明实施例的方案能够在物联网应用创建时减轻用户的负担。

附图说明

本发明的其它特征、特点、优点和益处通过以下结合附图的详细描述将变得更加显而易见。其中:

图1示出了按照本发明的一个实施例的应用生成器的架构示意图。

图2a示出了按照本发明的一个实施例的利用资源描述框架表示的数据约束描述的示例。

图2b示出了按照本发明的一个实施例的常规数据约束描述和用户自定义数据约束描述的组合示例。

图3示出了按照本发明的一个实施例的用于资源绑定的方法的流程示意图。

图4a示出了按照本发明的一个实施例的汽车装配生产线的示意图。

图4b示出了按照本发明的一个实施例的iot应用及其数据约束描述的示意图。

图5示出了按照本发明的另一个实施例的用于资源绑定的方法的流程图。

图6示出了按照本发明的一个实施例的用于资源绑定的装置的示意图。

图7示出了按照本发明的一个实施例的用于资源绑定的设备的示意图。

具体实施方式

在以下的详细描述中,许多具体的细节被阐述以便提供对本发明的透彻理解,但是,本领域技术人员应当理解本发明也可以在不需要这些具体细节的情况下被实施。此外,在以下的详细描述中,公知的方法、过程和部件没有被详细描述以便不模糊本发明。

下面,将参照附图详细描述本发明的各个实施例。

现在参见图1,其示出了按照本发明的一个实施例的应用生成器的架构 示意图。如图1所示,应用生成器10可以包括模块库20、iot资源描述层25、编辑器30、语义约束解析器40、资源查询生成器50、资源匹配器60和控制器70。控制器70可以控制语义约束解析器40、资源查询生成器50和资源匹配器60的操作。

模块库20用于存储预先提供的可重用的算法封装模块。每一个算法封装模块实现某种特定功能。在一个方面,算法封装模块可以具有模块处理数据输出点,其用于输出算法封装模块所生成的数据。在另一方面,算法封装模块可以具有模块处理数据输入点,其用于接收其它算法封装模块的模块处理数据输出点所输出的数据作为输入数据。在又一方面,算法封装模块可以具有一个或多个iot数据输入点,其可被绑定到iot中的合适的iot资源以利用所绑定的iot资源所提供的数据作为输入数据。具有iot数据输入点的算法封装模块可以包括关于iot数据输入点的常规数据约束描述(也可称为预定义数据约束描述),其定义可被绑定到iot数据输入点的iot资源所需满足的一般要求。

iot资源描述层25可以保存iot中的各个iot资源的描述。在一个方面,iot资源的描述可以保存但不局限于iot资源的标识符和类型,iot资源所提供的数据的类型,iot资源当前是否可用等。在一个方面,iot资源描述层25所保存的iot资源的描述可以随iot中的各个iot资源的变化而实时更新。

编辑器30可由用户操作。当欲创建用于实现特定任务的iot应用时,用户可以利用编辑器30从模块库20中选取合适的一个或多个算法封装模块,以及,可以基于该特定任务的数据处理工作流程以适当的顺序连接所选取的算法封装模块以创建用于实现该特定任务的iot应用。在一个示例中,如图1所示,用户从模块库20中选取了三个算法封装模块modulea、moduleb和modulec来创建iot应用,其中,模块modulea的模块处理数据输出点o11连接到模块moduleb的模块处理数据输入点i21,模块moduleb的模块处理数据输出点o21连接到模块modulec的模块处理数据输入点i31,模块modulea具有三个iot数据输入点(d1、d2、d3)、模块moduleb具有两个iot数据输入点(d4、d5),以及,模块modulec具有三个iot数据输入点(d6、d7、d8)。

在用户利用编辑器30创建iot应用之后,如果创建的iot应用所包括 的算法封装模块具有iot数据输入点,则控制器70可以控制语义约束解析器40以指示用户输入算法封装模块的iot数据输入点的用户自定义数据约束描述。在这种情况下,如果所创建的iot应用所实现的特定任务对绑定到所创建的iot应用所包括的算法封装模块的iot数据输入点的iot资源有特殊要求,则用户可以通过语义约束解析器40输入该特殊要求作为用户自定义数据约束描述。在一个示例中,如图1所示,用户通过语义约束解析器40输入了算法封装模块modulea、moduleb和modulec各自的用户自定义数据约束描述。在一个方面,算法封装模块的iot数据输入点的用户自定义数据约束描述可以包含被绑定到该算法封装模块的iot数据输入点的iot资源中的至少部分iot资源之间的相互关系。

在一个方面,常规数据约束描述和用户自定义数据约束描述可以具有相同形式并且可以利用资源描述框架(rdf:resourcedescriptionframework)来表示。利用rdf表示的数据约束描述是一个三元组集合,每一个三元组包括主语、谓语和宾语。图2a示出了利用rdf表示的数据约束描述的示例。如图2a所示,包含iot数据输入点d11的算法封装模块modulem1具有利用rdf表示的数据约束描述k2a(常规数据约束描述或用户自定义数据约束描述),其包括两个三元组(subject_d11-p1-v1)和(subject_d11-p2-v2),其中,subject_d11表示要被绑定到模块modulem1的iot数据输入点d11的iot资源并且是这两个三元组的主语,p1和p2是这两个三元组各自的谓语,以及,v1和v2是这两个三元组各自的宾语。

控制器70可以控制语义约束解析器40来获取所创建的iot应用所包括的算法封装模块的iot数据输入点的数据约束。

在一个方面,如果所创建的iot应用所包括的算法封装模块的iot数据输入点仅具有常规数据约束描述,则语义约束解析器40可以解析算法封装模块的iot数据输入点所具有的常规数据约束描述来获取算法封装模块的iot数据输入点的数据约束。在另一方面,如果所创建的iot应用所包括的算法封装模块的iot数据输入点同时具有常规数据约束描述和用户自定义数据约束描述,则语义约束解析器40可以组合算法封装模块的iot数据输入点同时具有常规数据约束描述和用户自定义数据约束描述来获取的算法封装模块的iot数据输入点的数据约束。在一个方面,当组合常规数据约束描述和用户自定义数据约束描述来获取数据约束时,可以按照常规数据 约束描述优先或用户自定义数据约束描述优先的原则来组合常规数据约束描述和用户自定义数据约束描述。如果按照常规数据约束描述优先的原则来组合常规数据约束描述和用户自定义数据约束描述,则当常规数据约束描述中的某一约束与用户自定义数据约束描述中的某一约束冲突时,在所获取的数据约束中保留常规数据约束描述中的该某一约束而丢弃用户自定义数据约束描述中的该某一约束。相反,如果按照用户自定义数据约束优先的原则来组合常规数据约束描述和用户自定义数据约束描述,则当常规数据约束描述中的某一约束与用户自定义数据约束描述中的某一约束冲突时,在所获取的数据约束中丢弃常规数据约束描述中的该某一约束而保留用户自定义数据约束描述中的该某一约束。在利用rdf表示数据约束描述的情况下,如果两个三元组具有相同的主语和谓语,则这两个三元组冲突。

图2b示出了常规数据约束描述和用户自定义数据约束描述的组合示例。如图2b所示,包含iot数据输入点d22的算法封装模块m2包括利用rdf表示的常规数据约束描述k2b_1和利用rdf表示的用户自定义数据约束描述k2b_2,其中,常规数据约束描述k2b_1包括两个三元组subject_d22-p1-v1和subject_d22-p2-v2,用户自定义数据约束描述k2b_2包括四个三元组subject_d22-p3-v3、subject_d22-p1-v4、subject_d22-p4-v5和subject_d22-p5-v6。subject_d22表示要被绑定到模块modulem2的iot数据输入点d22的iot资源。显然,常规数据约束描述k2b_1中的三元组subject_d22-p1-v1和用户自定义数据约束描述k2b_2中的三元组subject_d22-p1-v4具有相同的主语和谓语,因此,这两个三元组冲突。在以用户自定义数据约束描述优先的原则进行组合时,组合后获取的算法封装模块m2的iot数据输入点的数据约束k2b_3包括三元组subject_d22-p2-v2、subject_d22-p3-v3、subject_d22-p1-v4、subject_d22-p4-v5和subject_d22-p5-v6。

控制器70可以控制资源查询生成器50利用所获取的所创建的iot应用所包括的算法封装模块的iot数据输入点的数据约束来生成资源查询指令。在一个方面,该资源查询指令可以是基于sparql的rdf查询语句。

控制器70可以控制资源匹配器60利用资源查询生成器50所生成的资源查询指令和iot资源描述层25所保存的iot中的各个iot资源的描述来查找与所创建的iot应用所包括的算法封装模块的iot数据输入点匹配的iot资源。

如果资源匹配器60未能查找到匹配的iot资源,则控制器70呈现通知信息以告知用户未能查找到匹配的iot资源。如果资源匹配器60查找到匹配的iot资源,则控制器70将所查找到的匹配的iot资源绑定到所创建的iot应用所包括的算法封装模块的iot数据输入点。

现在参见图3,其示出了按照本发明的一个实施例的用于资源绑定的方法的流程示意图。

在方框302,当欲创建用于实现特定任务的iot应用x时,用户可以利用应用生成器10的编辑器30从模块库20中选取合适一个或多个算法封装模块。

在方框304,用户可以利用应用生成器10的编辑器30以合适的顺序连接所选取的算法封装模块以创建iot应用x。

在方框306,如果iot应用x所包括的至少一个算法封装模块具有iot数据输入点,则应用生成器10的控制器70可以控制语义约束解析器40以使得用户输入该至少一个算法封装模块的iot数据输入点的用户自定义数据约束描述。

在方框308,应用生成器10的控制器70可以控制语义约束解析器40解析iot应用x所包括的各个算法封装模块的iot数据输入点的数据约束描述以获取iot应用x所包括的各个算法封装模块的iot数据输入点的数据约束。如果iot应用x所包括的任一算法封装模块的iot数据输入点的数据约束描述仅包括常规数据约束描述,则语义约束解析器40解析该任一算法封装模块的iot数据输入点的常规数据约束描述以获取该任一算法封装模块的iot数据输入点的常规数据约束。如果iot应用x所包括的任一算法封装模块的iot数据输入点的数据约束描述包括常规数据约束描述和用户自定义数据约束描述,则语义约束解析器40解析该任一算法封装模块的iot数据输入点的常规数据约束描述和和用户自定义数据约束描述以获取该任一算法封装模块的iot数据输入点的常规数据约束。

在方框310,应用生成器10的控制器70可以控制资源查询生成器50利用所获取的iot应用x所包括的各个算法封装模块的iot数据输入点的数据约束,生成资源查询指令。

在方框312,应用生成器10的控制器70控制资源匹配器60利用所生成的资源查询指令和iot资源描述层25所保存的iot的各个iot资源的描述, 查找与iot应用x所包括的各个算法封装模块的iot数据输入点匹配的iot资源。

在方框314,如果资源匹配器60查找到匹配的iot资源,则控制器70将所查找到的匹配的iot资源绑定到所创建的iot应用所包括的各个算法封装模块的iot数据输入点。当然,如果资源匹配器60未能查找到匹配的iot资源,则控制器70呈现通知信息以告知用户未能查找到匹配的iot资源。

从以上的描述可以看出,本发明实施例的方案基于iot应用的算法封装模块的iot数据输入点的数据约束和iot中的各个iot资源的描述来自动查找与iot应用的算法封装模块的物联网数据输入点匹配的iot资源并把所找到的匹配的iot资源绑定到iot应用的算法封装模块的iot数据输入点,因此,本发明实施例的方案使得用户在创建iot不需要手动查找和绑定iot资源,从而在创建iot应用时能够减轻用户的负担。

下面,将结合真实案例来进一步说明本发明实施例的方案。图4a示出了汽车装配生产线的俯视示意图。在图4a所示的汽车装配生产线400中,存在用于沿着方向401前后移动装载汽车的传送台402的许多平行的滚轴403,这些滚轴由电动马达驱动。驱动这些滚轴的电动马达需要被监控,使得当电动马达发生异常时该异常被立即发现并及时通知维护工程师修理或替换发生异常的电动马达以避免汽车装配生产线发生故障。

为此,在汽车装配生产线的这些电动马达上安装了许多振动传感器以收集和分析电动马达的振动信号。由于平行的滚轴具有不同的负载和具有相同的负载时,电动马达的振动信号是不一样的,因此,可以使用用于比较时间序列信号之间的相似程度的算法封装模块来计算平行的滚轴的振动信号之间的相似程度。基于平行的滚轴的振动信号之间的相似程度,可以推导出汽车装配生产线的滚轴是否正常工作。如果发现平行的滚轴的振动信号相差很大,可以通过比较电动马达的当前振动信号和历史振动信号来试图发现异常的电动马达。对于异常的电动马达,可以利用快速傅里叶变换(fft)来将其振动信号从时间域转换到频率域,然后,利用频率域的振动信号可以推测电动马达降级的可能类型和预测其剩余有用寿命。

为此,可以如图4b所示,创建包括三个算法封装模块404、406和408的iot应用以实现以上分析工作流程的任务。算法封装模块404用于测量两 个时间序列信号的相似程度,其具有两个iot数据输入点ts1和ts2和模块处理输出点output1。算法封装模块406用于利用历史信息来识别异常,其具有一个iot数据输入点hts、一个模块处理输入点input2_1和模块处理输出点output2。算法封装模块408用于将异常的电动马达的振动信号从时间域转换到频率域、基于转换的频率域的振动信号进行降级分类和预测异常的电动马达的剩余有用寿命,其具有一个模块处理输入点input3_1。其中,算法封装模块404的模块处理输出点output1连接到算法封装模块406的模块处理输入点input2_1,以及,算法封装模块406的模块处理输出点output2连接到算法封装模块408的模块处理输入点input3_1。

算法封装模块404的iot数据输入点的常规数据约束描述y11包括两个三元组subject_ts1-p51-timeseries和subject_ts2-p51-timeseries,其中,三元组subject_ts1-p51-timeseries表示被绑定到iot数据输入点ts1的iot资源subject_ts1是时间序列信号的实例,以及,三元组subject_ts2-p51-timeseries表示被绑定到iot数据输入点ts2的iot资源subject_ts2是时间序列信号的实例。由于在这次任务中,想使用算法封装模块404来计算平行的滚轴的振动信号之间的相似程度,因此,用户输入了算法封装模块404的iot数据输入点的用户自定义数据约束描述y12,其包括五个三元组subject_ts1-p52-m1、subject_ts2-p52-m2、m1-p53-m2、m1-p51-motor和m2-p51-motor,其中,三元组subject_ts1-p52-m1表示被绑定到iot数据输入点ts1的iot资源subject_ts1是m1的振动信号,三元组subject_ts2-p52-m2表示被绑定到iot数据输入点ts2的iot资源subject_ts2是m2的振动信号,三元组m1-p53-m2表示m1和m2平行,三元组m1-p51-motor表示m1是电动马达的实例,以及,三元组m2-p51-motor表示m2是电动马达的实例。

算法封装模块406的iot数据输入点的常规数据约束描述y21包括一个三元组subject_hts-p51-timeseries,其表示被绑定到iot数据输入点hts的iot资源subject_hts是时间序列信号的实例。由于在这次任务中,想使用算法封装模块406基于电动马达的当前振动信号和历史振动信号来确定电动马达是否异常,因此,用户输入了算法封装模块406的iot数据输入点的用户自定义数据约束描述y22,其包括四个三元组subject_hts-p54-subject_input2_1-p52、subject_input2_1-p52-m3、 subject_hts-p52-m3和m3-p51-motor,其中,三元组subject_input2_1-p52-m3表示模块处理输入点input2_1的输入信号subject_input2_1是m3的振动信号,三元组subject_hts-p54-subject_input2_1-p52表示被绑定到iot数据输入点hts的iot资源subject_hts在模块处理输入点input2_1的输入信号subject_input2_1之前,三元组subject_hts-p52-m3表示被绑定到iot数据输入点hts的iot资源subject_hts是m3的振动信号,以及,三元组m3-p51-motor表示m3是电动马达的实例。

本领域技术人员应当理解,虽然在上面的实施例中,常规数据约束描述和用户自定义数据约束描述利用rdf表示,然而,本发明并不局限于此。在本发明的其它一些实施例中,常规数据约束描述和用户自定义数据约束描述也可以利用其它合适的形式来表示。

本领域技术人员应当理解,在本发明的其它一些实施例中,应用生成器10也可以对所创建的iot应用所包括的任意两个相邻的算法封装模块中连接的模块处理输入点和模块处理输出点之间的匹配性进行检查。

本领域技术人员应当理解,在本发明的其它一些实施例中,在iot应用所包括的算法封装模块的iot数据输入点被绑定iot资源之后,在每次该iot应用被运行之前,可以检查iot应用所包括的算法封装模块的iot数据输入点被绑定的iot资源是否可用,并当检查发现iot应用所包括的算法封装模块的某个iot数据输入点被绑定的iot资源不可用时,本发明的上面实施例所公开的方案,重新查找与该某个iot数据输入点匹配的其它iot资源并绑定重新查找的iot资源到该某个iot数据输入点。

现在参见图5,其示出了按照本发明的一个实施例的用于资源绑定的方法的流程图。图5所示的方法500可以但不局限于由应用生成器10来实现。

如图5所示,方法500可以包括,在方框502,获取构成iot应用的算法封装模块的iot数据输入点的数据约束,所述数据约束定义将要绑定到所述iot数据输入点的iot资源需要满足的要求。

方法500还可以包括,在方框504,根据所获取的数据约束和iot中的各个iot资源的描述,查找所述各个iot资源中与所述iot数据输入点匹配的iot资源。

方法500还可以包括,在方框506,如果查找到与所述iot数据输入点匹配的iot资源,则将所查找的iot资源绑定到所述iot数据输入点。

在一个方面,方框502可以包括:接收所述iot数据输入点的用户自定义数据约束描述;以及,基于所述用户自定义数据约束描述和所述iot数据输入点的预定义数据约束描述,确定所述iot数据输入点的所述数据约束。

在另一个方面,所述iot数据输入点包括多个iot数据输入点,以及,所述用户自定义数据约束描述包含所述多个iot数据输入点中的至少部分iot数据输入点之间的关系。

现在参见图6,其示出了按照本发明的一个实施例的用于资源绑定的装置的示意图。图6所示的装置600可以利用软件、硬件(例如集成电路或dsp等)或软硬件结合的方式来实现。

如图6所示,装置600可以包括获取模块602、匹配模块604和绑定模块606。获取模块602可以用于获取构成iot应用的算法封装模块的iot数据输入点的数据约束,所述数据约束定义可绑定到所述iot数据输入点的iot资源需要满足的要求。匹配模块604可以用于根据所获取的数据约束和iot中的各个iot资源的描述,查找所述各个iot资源中与所述iot数据输入点匹配的iot资源。绑定模块608可以用于如果查找到与所述iot数据输入点匹配的iot资源,则将所查找的iot资源绑定到所述iot数据输入点。

在一个方面,获取模块602可以包括:接收模块,用于接收所述iot数据输入点的用户自定义数据约束描述;以及,确定模块,用于基于所述用户自定义数据约束描述和所述iot数据输入点的预定义数据约束描述,确定所述iot数据输入点的所述数据约束。

在另一方面,所述iot数据输入点包括多个iot数据输入点,以及,所述用户自定义数据约束描述包含被绑定到所述多个iot数据输入点的iot资源中的至少部分iot资源之间的关系。

现在参见图7,其示出了按照本发明一个实施例的用于资源绑定的设备的示意图。如图7所示,设备700可以包括用于处理器702和用于存储可执行指令的存储器704,其中,所述可执行指令当被执行时使得处理器702执行前述各个方法所包括的操作。

本发明的实施例还提供一种种计算机程序产品,包括机器可读介质,其上存储有可执行指令,当该可执行指令被执行时,使得机器前述各个方法所包括的操作。

本领域技术人员应当理解,上面公开的各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。

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