著录项信息
专利名称 | 机器通信操作触发方法和装置 |
申请号 | CN201380000052.2 | 申请日期 | 2013-02-20 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2015-05-27 | 公开/公告号 | CN104662858A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6;;;H;0;4;W;8;8;/;1;8查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 广东省深圳市龙岗区坂田华为总部办公楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华为技术有限公司 | 当前权利人 | 华为技术有限公司 |
发明人 | 殷佳欣 |
代理机构 | 北京同立钧成知识产权代理有限公司 | 代理人 | 刘芳 |
摘要
本发明提供一种机器通信操作触发方法和装置,其中方法包括:在主动资源的内容发生变化时,业务能力中间件获取存储于所述业务能力中间件的主动资源的内容的变化结果;所述业务能力中间件根据所述与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述,所述操作资源的表述包含向目标资源发送操作请求的条件和所述目标资源的通用资源标识符;所述业务能力中间件确定所述变化结果满足所述操作资源的表述中向目标资源发送操作请求的条件,构建针对所述目标资源的操作请求;所述业务能力中间件根据所述目标资源的通用资源标识符向所述目标资源发送所述操作请求。本发明的技术方案能够提高M2M系统中触发操作的稳定性。
机器通信操作触发方法和装置\n技术领域\n[0001] 本发明涉及计算机领域,尤其涉及一种机器通信操作触发方法和装置。\n背景技术\n[0002] 机器通信(Machine-to-Machine Communications,以下简称:M2M)是一种以机器智能交互为核心的、网络化的应用与服务。它通过在机器内部嵌入无线或有线通信模块以及应用处理逻辑,实现无需人工干预的数据通信,以满足用户对监控、指挥调度、数据采集和测量等方面的信息化需求。现有典型的M2M应用网络架构中。各种M2M终端(如传感器、微控制器等)直接或经过M2M网关远程接入到M2M业务平台,而各种M2M应用(如电力抄表、智能交通等)则通过M2M业务平台所提供的业务能力获取M2M终端采集的数据或对M2M终端进行远程的控制和管理\n[0003] 欧洲电信标准组织(European Telecommunication Standardization Institute,以下简称:ETSI)M2M采用RESTful的架构风格。REST,即Representational State Transfer的缩写,意即″表述性状态转移″。如果一个架构是REST的,那么就称它为RESTful的架构风格。它的特点是一切皆由资源(Resource)组成,资源是存在在网络上一个文字片段,或其他多种媒体形式。每个资源都有一个唯一的通用资源标识符(:Uniform Resource Identifier,以下简称:URI)。应用程序或业务能力中间件可以通过URI访问这个资源。对每个资源的访问方式也是固定的,包括创建(Create)、更新(Update)、删除(Delete)和读取(Retrieve)等几种方式。而且在RESTful的架构中,客户端和服务器都是无状态的。\n[0004] 在M2M系统中,广泛存在着这样的场景,即当一个设备的状态变化时,另一个或多个设备可以根据该变化是否满足条件,从而进行单一的或者一系列的操作。现有技术中,上述操作触发的动作都是由安装在特定的设备上的应用程序(如直接执行操作的设备)实现。\n但是对于一些受限环境中设备需要定期休眠时,应用程序将会随着设备的休眠而中断,使得资源之间的操作触发无法进行。对于一些设备需要经常离线外出的场景,应用程序也会随着设备的离线而使服务中断。因此,现有技术的M2M系统中使用应用程序触发操作存在的稳定性差的缺陷。\n发明内容\n[0005] 本发明实施例提供了一种机器通信操作触发方法和装置,用于提高M2M系统中触发操作的稳定性。\n[0006] 本发明的第一个方面是提供一种机器通信操作触发方法,业务能力中间件存储主动资源的表述,所述主动资源的表述包括主动资源的内容以及与所述主动资源关联的操作资源的信息,该方法包括:\n[0007] 在主动资源的内容发生变化时,业务能力中间件获取存储于所述业务能力中间件的主动资源的内容的变化结果;\n[0008] 所述业务能力中间件根据所述与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述,所述操作资源的表述包含向目标资源发送操作请求的条件和所述目标资源的通用资源标识符;\n[0009] 所述业务能力中间件确定所述变化结果满足所述操作资源的表述中向目标资源发送操作请求的条件,构建针对所述目标资源的操作请求;\n[0010] 所述业务能力中间件根据所述目标资源的通用资源标识符向所述目标资源发送所述操作请求。\n[0011] 结合本发明第一方面的第一可能,所述主动资源关联的操作资源的信息为与主动资源关联的操作资源的表述,所述业务能力中间件根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述包括:所述业务能力中间件根据所述主动资源的表述中包含的与所述主动资源关联的操作资源的表述获取与所述主动资源关联的操作资源的表述;\n[0012] 或,所述主动资源关联的操作资源的信息为与主动资源关联的操作资源的通用资源标识符,所述业务能力中间件根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述包括:所述业务能力中间件根据所述主动资源的表述中包含的所述操作资源的通用资源标识符获取与所述主动资源关联的操作资源的表述;\n[0013] 或,所述主动资源关联的操作资源的信息为与主动资源关联的操作资源归属的操作资源集的通用资源标识符,所述业务能力中间件根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述包括:所述业务能力中间件根据所述主动资源的表述中包含的所述操作资源归属的操作资源集的通用资源标识符获取与所述主动资源关联的操作资源的表述,其中与所述主动资源关联操作资源的表述为所述操作资源集包含的操作资源的表述。\n[0014] 结合本发明第一方面或第一可能的第二可能,在上述业务能力中间件在获取存储于所述业务能力中间件的主动资源的表述的变化结果之前还包括:\n[0015] 所述业务能力中间件接收主动资源更新请求,所述主动资源更新请求包括新的主动资源的表述以及待更新的主动资源的通用资源标识符,所述新的主动资源的表述中包含所述主动资源关联的操作资源的信息,所述业务能力中间件根据所述待更新的主动资源的通用资源标识符更新存储的主动资源的表述为所述新的主动资源的表述;\n[0016] 或,所述业务能力中间件接收操作资源创建请求,所述操作资源创建请求包括与所述主动资源关联的操作资源的表述和与所述主动资源关联的操作资源归属的操作资源集的通用资源标识符,所述业务能力中间件根据所述操作资源归属的操作资源集的通用资源标识符在所述操作资源集中添加所述操作资源的表述。\n[0017] 结合第一方面,或第一或第二可能的第三可能,所述操作资源的表述中还包括操作请求的种类和操作请求的输入参数,所述操作请求的种类为创建或更新;\n[0018] 在所述输入参数为参数资源的通用资源标识符时,所述构建针对所述目标资源的操作请求包括:\n[0019] 所述业务能力中间件从所述参数资源的通用资源标识符所指向的参数资源中获取新的目标资源的表述,构建包括所述目标资源的通用资源标识符和所述新的目标资源的表述的针对操作资源的表述中的目标资源的操作请求;\n[0020] 或,在所述输入参数为所述新的目标资源的表述时,构建包括所述目标资源的通用资源标识符和所述新的目标资源的表述的针对操作资源的表述中的目标资源的操作请求。\n[0021] 结合第一方面,或第一至第三可能的任一可能的第四可能,,其中业务能力中间件在获取存储于所述业务能力中间件的主动资源的内容的变化结果之前还包括:\n[0022] 所述业务能力中间件接收操作资源更新请求,所述操作资源更新请求包括新的操作资源的表述,所述新的操作资源的表述包含依赖资源的表述或所述依赖资源的通用资源标识符,所述业务能力中间件更新存储的操作资源的表述为所述新的操作资源的表述;\n[0023] 或,所述业务能力中间件接收依赖资源创建请求,所述依赖资源创建请求包括所述依赖资源的表述和所述依赖资源归属的依赖资源集的通用资源标识符,所述业务能力中间件根据所述依赖资源归属的依赖资源集的通用资源标识符在所述依赖资源集中保存所述依赖资源的表述,且将所述依赖资源集的通用资源标识符添加在所述操作资源的表述中。\n[0024] 结合第四可能的第五可能,所述业务能力中间件构建针对所述目标资源的操作请求之前包括:\n[0025] 所述业务能力中间件根据操作资源的表述获取与所述操作资源相关联的依赖资源的表述;\n[0026] 所述业务能力中间件获取所述依赖资源的表述中的通用资源标识符所指向的条件资源的表述;\n[0027] 所述业务能力中间件根据所述条件资源的表述确认满足所述依赖资源的表述中的条件。\n[0028] 结合第五可能的第六可能,上述依赖资源类型分为充分条件类型和必要条件类型,所述依赖资源的数目为至少一个,所述业务能力中间件构建针对操作资源的表述中的目标资源的操作请求之前,该方法进一步包括:\n[0029] 确定至少一个充分条件类型的依赖资源规定的条件满足;或,\n[0030] 确定所有必要条件类型的依赖资源规定的条件满足。\n[0031] 结合第五可能的第七可能,上述业务能力中间件根据操作资源的表述获取与所述操作资源相关联的依赖资源的表述包括:\n[0032] 所述业务能力中间件根据所述操作资源的表述中包含的所述依赖资源的表述获取与所述操作资源关联的依赖资源的表述;或,\n[0033] 所述业务能力中间件根据所述操作资源的表述中包含的所述依赖资源的通用资源标识符获取与所述操作资源关联的依赖资源的表述;或,\n[0034] 所述业务能力中间件根据所述操作资源的表述中包含的所述依赖资源归属的依赖资源集的通用资源标识符获取与所述操作资源关联的依赖资源的表述;其中,与所述操作资源关联的依赖资源的表述为所述依赖资源集包含的依赖资源的表述。\n[0035] 结合第一方面,或上述任一可能的第八可能,确定与所述主动资源关联的操作资源为至少两个,所述操作资源的表述中还包括优先级,所述业务能力中间件构建针对操作资源的表述中的目标资源的操作请求包括:\n[0036] 所述业务能力中间件根据所述操作资源的表述中的优先级,依次构建针对每一个所述操作资源表述的目标资源的操作请求。\n[0037] 结合第一方面,或上述任一可能的第九可能,上述操作资源的表述中还包括操作的执行结果,所述方法还包括:\n[0038] 所述业务能力中间件接收所述目标资源返回的操作响应,将所述操作响应保存到所述操作资源的表述中操作的执行结果中;或,\n[0039] 所述操作资源的表述中还包括体现操作执行结果的地址和操作的执行结果,所述方法还包括:\n[0040] 所述业务能力中间件接收所述目标资源返回的操作响应,根据所述体现操作执行结果的地址获取所述操作请求对应的操作结果,并将所述操作请求对应的操作结果保存到操作的执行结果中。\n[0041] 本发明的第二个方面是提供了一种机器通信操作触发装置,包括获取模块、构建模块和发送模块:\n[0042] 所述获取模块,用于在主动资源的内容发生变化时,获取存储于所述业务能力中间件的主动资源的内容的变化结果,以及根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述,所述操作资源的表述包含向目标资源发送操作请求的条件和所述目标资源的通用资源标识符,其中,所述业务能力中间件中存储主动资源的表述,所述主动资源的表述包括主动资源的内容以及与所述主动资源关联的操作资源的信息;所述获取模块还用于将所述变化结果以及所述操作资源的表述发送给所述构建模块;\n[0043] 构建模块,用于接收所述变化结果和所述与所述主动资源关联的操作资源的表述,确定所述变化结果满足所述操作资源的表述中的向目标资源发送操作请求的条件时,构建针对所述目标资源的操作请求,并将所述操作请求发送给所述发送模块;\n[0044] 发送模块,用于接收所述操作请求,根据所述目标资源的通用资源标识符向所述目标资源发送所述操作请求。\n[0045] 结合本发明第二方面的第一可能,\n[0046] 所述主动资源关联的操作资源的信息为所述与主动资源关联的操作资源的表述,所述获取模块根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述具体为:根据所述主动资源的表述中包含的与所述主动资源关联的操作资源的表述获取与所述主动资源关联的操作资源的表述;或,\n[0047] 所述主动资源关联的操作资源的信息为与主动资源关联的操作资源的通用资源标识符,所述获取模块根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述具体为:根据所述主动资源的表述中包含的所述操作资源的通用资源标识符获取与所述主动资源关联的操作资源的表述;或,\n[0048] 所述主动资源关联的操作资源的信息为与主动资源关联的操作资源归属的操作资源集的通用资源标识符,所述获取模块根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述具体为:根据所述主动资源的表述中包含的所述操作资源归属的操作资源集的通用资源标识符获取与所述主动资源关联的操作资源的表述,其中与所述主动资源关联操作资源的表述为所述操作资源集包含的操作资源的表述。\n[0049] 结合本发明第二方面或第一可能的第二可能,上述装置还包括接收模块;所述接收模块,用于,在所述获取模块获取存储于所述装置的主动资源的内容的变化结果之前,接收主动资源更新请求,所述主动资源更新请求包括新的主动资源的表述以及待更新的主动资源的通用资源标识符,所述新的主动资源的表述中包含所述主动资源关联的操作资源的信息,所述接收模块根据所述待更新的主动资源的通用资源标识符更新存储的主动资源的表述为所述新的主动资源的表述;或,\n[0050] 所述接收模块,用于,在所述获取模块获取存储于所述装置的主动资源的内容的变化结果之前,接收操作资源创建请求,所述操作资源创建请求包括与所述主动资源关联的操作资源的表述和所述操作资源归属的操作资源集的通用资源标识符,所述接收模块根据所述操作资源归属的操作资源集的通用资源标识符在所述操作资源集中添加所述操作资源的表述。\n[0051] 结合第二方面,或第一或第二可能的第三可能,上述操作资源的表述中还包括操作请求的种类和操作请求的输入参数,所述操作请求的种类为创建或更新;\n[0052] 在所述输入参数为参数资源的通用资源标识符时,所述构建模块构建针对所述目标资源的操作请求具体为:从所述参数资源的通用资源标识符所指向的参数资源中获取新的目标资源的表述,构建包括所述目标资源的通用资源标识符和所述新的目标资源的表述的针对操作资源的表述中的目标资源的操作请求;或,\n[0053] 在所述输入参数为所述新的目标资源的表述时,所述构建模块构建针对所述目标资源的操作请求具体为:构建包括所述目标资源的通用资源标识符和所述新的目标资源的表述的针对操作资源的表述中的目标资源的操作请求。\n[0054] 结合第二方面,或第一至第三可能的任一可能的第四可能,上述的接收模块,还用于,在所述获取模块获取存储于所述业务能力中间件的主动资源的内容的变化结果之前,接收操作资源更新请求,所述操作资源更新请求包括新的操作资源的表述,所述新的操作资源的表述包含依赖资源的表述或所述依赖资源的通用资源标识符,以及用于更新存储的操作资源的表述为所述新的操作资源的表述;或,\n[0055] 所述接收模块还用于,在所述获取模块获取存储于所述业务能力中间件的主动资源的内容的变化结果之前,接收依赖资源创建请求,所述依赖资源创建请求包括所述依赖资源的表述和所述依赖资源归属的依赖资源集的通用资源标识符,以及用于根据所述依赖资源归属的依赖资源集的通用资源标识符在所述依赖资源集中保存所述依赖资源的表述,且将所述依赖资源集的通用资源标识符添加在操作资源的表述中。\n[0056] 结合第四可能的第五可能,上述装置还可以包括确认模块,所述获取模块还用于根据操作资源的表述获取与所述操作资源相关联的依赖资源的表述,以及获取所述依赖资源的表述中的通用资源标识符所指向的条件资源的表述,并将所述条件资源的表述以及依赖资源的表述中的条件发送给所述确认模块;\n[0057] 所述确认模块,用于接收所述条件资源的表述,根据所述条件资源的表述确认满足所述依赖资源的表述中的条件。\n[0058] 结合第五可能的第六可能,上述依赖资源类型分为充分条件类型和必要条件类型,所述依赖资源的数目为至少一个,所述构建模块构建针对操作资源的表述中的目标资源的操作请求之前,进一步用于:确定至少一个充分条件类型的依赖资源规定的条件满足;\n或,\n[0059] 所述构建模块构建针对操作资源的表述中的目标资源的操作请求之前:确定在所有必要条件类型的依赖资源规定的条件满足,所述业务能力中间件构建针对操作资源的表述中的目标资源的操作请求。\n[0060] 结合第五可能的第七可能,其中的获取模块还可以根据操作资源的表述获取与所述操作资源相关联的依赖资源的表述具体为:\n[0061] 根据所述操作资源的表述中包含的所述依赖资源的表述获取与所述操作资源关联的依赖资源的表述;或,\n[0062] 根据所述操作资源的表述中包含的所述依赖资源的通用资源标识符获取与所述操作资源关联的依赖资源的表述;或,\n[0063] 根据所述操作资源的表述中包含的所述依赖资源归属的依赖资源集的通用资源标识符获取与所述操作资源关联的依赖资源的表述;其中,与所述操作资源关联的依赖资源的表述为所述依赖资源集包含的依赖资源的表述。\n[0064] 结合第二方面,或上述任一可能的第八可能,确定与所述主动资源关联的操作资源为至少两个,上述的机器通信操作触发装置中,与所述主动资源关联的操作资源为至少两个,所述操作资源的表述中还包括优先级,所述构建模块构建针对操作资源的表述中的目标资源的操作请求具体为:根据所述操作资源的表述中的优先级,依次构建针对每一个操作资源表述的目标资源的操作请求。\n[0065] 结合第二方面,或上述任一可能的第九可能,所述操作资源的表述中还包括操作的执行结果,所述\n[0066] 接收模块还用于接收所述目标资源返回的操作响应,将所述操作响应保存到所述操作资源的表述中操作的执行结果中;或,\n[0067] 所述操作资源的表述中还包括体现操作执行结果的地址和操作的执行结果,所述接收模块还用于接收所述目标资源返回的操作响应;\n[0068] 所述获取模块还用于根据所述体现操作执行结果的地址获取所述操作请求对应的操作结果,并将所述操作请求对应的操作结果保存到操作的执行结果中。\n[0069] 本发明的第三个方面提供了另一种机器通信操作触发装置,包括网络接口、处理器和存储器;\n[0070] 所述网络接口用于与外部设备进行通信,所述存储器用于存储应用程序,所述处理器用于调用存储器存储的应用程序,在主动资源的内容发生变化时,获取存储于业务能力中间件的主动资源的内容的变化结果,根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述,所述操作资源的表述包含向目标资源发送操作请求的条件和所述目标资源的通用资源标识符,确定所述变化结果满足所述操作资源的表述中向目标资源发送操作请求的条件时,构建针对所述目标资源的操作请求,其中,所述业务能力中间件中存储主动资源的表述,所述主动资源的表述包括主动资源的内容以及与所述主动资源关联的操作资源的信息;\n[0071] 所述网络接口进一步用于根据所述目标资源的通用资源标识符向所述目标资源发送所述操作请求。\n[0072] 结合本发明第三方面的第一可能,所述主动资源关联的操作资源的信息为与主动资源关联的操作资源的表述,上述处理器根据所述主动资源的表述获取与所述主动资源关联的操作资源的表述具体为:根据所述主动资源的表述中包含的所述操作资源的表述获取与所述主动资源关联的操作资源的表述;或,\n[0073] 所述主动资源关联的操作资源的信息为与主动资源关联的操作资源的通用资源标识符,所述处理器根据所述主动资源的表述获取与所述主动资源关联的操作资源的表述具体为:根据所述主动资源的表述中包含的所述操作资源的通用资源标识符获取与所述主动资源关联的操作资源的表述;或,\n[0074] 所述主动资源关联的操作资源的信息为与主动资源关联的操作资源归属的操作资源集的通用资源标识符,所述处理器根据所述主动资源的表述获取与所述主动资源关联的操作资源的表述具体为:根据所述主动资源的表述中包含的所述操作资源归属的操作资源集的通用资源标识符获取与所述主动资源关联的操作资源的表述,其中与所述主动资源关联操作资源的表述为所述操作资源集包含的操作资源的表述。\n[0075] 结合本发明第三方面或第一可能的第二可能,其中的网络接口还用于接收主动资源更新请求,所述主动资源更新请求包括新的主动资源的表述以及待更新的主动资源的通用资源标识符,所述新的主动资源的表述中包含所述主动资源关联的操作资源的信息,所述处理器调用存储器存储的应用程序根据所述待更新的主动资源的通用资源标识符更新存储的主动资源的表述为所述新的主动资源的表述;或,\n[0076] 所述网络接口还用于接收操作资源创建请求,所述操作资源创建请求包括与所述主动资源关联的操作资源的表述和与所述主动资源关联的操作资源归属的操作资源集的通用资源标识符,所述处理器调用存储器存储的应用程序,并根据所述操作资源归属的操作资源集的通用资源标识符在所述操作资源集中添加所述操作资源的表述。\n[0077] 结合第三方面,或第一或第二可能的第三可能,上述操作资源的表述中还包括操作请求的种类和操作请求的输入参数,所述操作请求的种类为创建或更新;\n[0078] 在所述输入参数为参数资源的通用资源标识符时,所述处理器从所述参数资源的通用资源标识符所指向的参数资源中获取新的目标资源的表述,构建包括所述目标资源的通用资源标识符和所述新的目标资源的表述的针对操作资源的表述中的目标资源的操作请求;或,\n[0079] 在所述输入参数为所述新的目标资源的表述时,所述处理器构建包括所述目标资源的通用资源标识符和所述新的目标资源的表述的针对操作资源的表述中的目标资源的操作请求。\n[0080] 结合第三方面,或第一至第三可能的任一可能的第四可能,上述网络接口还用于接收操作资源更新请求,所述操作资源更新请求包括新的操作资源的表述,所述新的操作资源的表述包含依赖资源的表述或所述依赖资源的通用资源标识符;所述处理器调用存储器存储的应用程序,更新存储的操作资源的表述为所述新的操作资源的表述;或,[0081] 所述网络接口还用于接收依赖资源创建请求,所述依赖资源创建请求包括所述依赖资源的表述和所述依赖资源归属的依赖资源集的通用资源标识符,所述处理器调用存储器存储的应用程序,并根据所述依赖资源归属的依赖资源集的通用资源标识符在所述依赖资源集中保存所述依赖资源的表述,且将所述依赖资源集的通用资源标识符添加在操作资源的表述中。\n[0082] 结合第四可能的第五可能,上述处理器还根据操作资源的表述获取与所述操作资源相关联的依赖资源的表述,获取所述依赖资源的表述中的通用资源标识符所指向的条件资源的表述,以及根据所述条件资源的表述确认满足所述依赖资源的表述中的条件。\n[0083] 结合第五可能的第六可能,上述依赖资源类型分为充分条件类型和必要条件类型,所述依赖资源的数目为至少一个,所述处理器构建针对操作资源的表述中的目标资源的操作请求之前,进一步确定至少一个充分条件类型的依赖资源规定的条件满足;或,[0084] 确定在所有必要条件类型的依赖资源规定的条件满足。\n[0085] 结合第五可能的第七可能,上述处理器根据所述操作资源的表述中包含的所述依赖资源的表述获取与所述操作资源关联的依赖资源的表述;或根据所述操作资源的表述中包含的所述依赖资源的通用资源标识符获取与所述操作资源关联的依赖资源的表述;或,[0086] 根据所述操作资源的表述中包含的所述依赖资源归属的依赖资源集的通用资源标识符获取与所述操作资源关联的依赖资源的表述,其中,与所述操作资源关联的依赖资源的表述为所述依赖资源集包含的依赖资源的表述。\n[0087] 结合第一方面,或上述任一可能的第八可能,与所述主动资源关联的操作资源为至少两个,所述操作资源的表述中还包括优先级,所述处理器根据所述操作资源的表述中的优先级,依次构建针对每一个操作资源表述的目标资源的操作请求。\n[0088] 结合第一方面,或上述任一可能的第九可能,上述操作资源的表述中还包括操作的执行结果,所述网络接口还用于接收所述目标资源返回的操作响应,所述处理器将所述操作响应保存到所述操作资源的表述中操作的执行结果中;或,\n[0089] 上述操作资源的表述中还包括体现操作执行结果的地址和操作的执行结果,所述网络接口还用于接收所述目标资源返回的操作响应;所述处理器根据所述体现操作执行结果的地址获取所述操作请求对应的操作结果,并将所述操作请求对应的操作结果保存到操作的执行结果中。\n[0090] 本发明上述实施例中的业务能力中间件可以为M2M平台或网关上的中间件,而M2M平台和网关在网络中都属于有能力的节点,不存在能力受限的问题,利于解决受限环境中业务无法进行的情形。同时,本发明上述实施例中,能够根据所述主动资源的表述获取与所述主动资源关联的操作资源的表述,使得可以将资源之间的操作触发关系分布在各个节点(M2M平台或网关)上,避免了单一应用程序的复杂性。本发明上述实施例提供的技术方案能够加强M2M平台和网关中间件的能力,使得部署更加丰富的应用成为可能。上述操作资源的引入,使其更加适用于RESTful架构。\n附图说明\n[0091] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。\n[0092] 图1为本发明实施例中M2M触发操作方法的流程示意图;\n[0093] 图2为本发明实施例中资源结构的示意图;\n[0094] 图3为本发明具体实施例中操作触发方法流程示意图;\n[0095] 图4为本发明实施例中配置操作触发的流程示意图;\n[0096] 图5为本发明实施例中操作资源TurnOnAC的架构图一;\n[0097] 图6为本发明实施例中依赖资源MemberAtHome的架构图;\n[0098] 图7为本发明实施例中的系统架构图;\n[0099] 图8为本发明实施例中操作资源CloseWindow的架构图一;\n[0100] 图9为本发明实施例中主动资源与操作资源的关联示意图;\n[0101] 图10为本发明实施例中操作触发的流程示意图;\n[0102] 图11为本发明实施例中获取输入参数的流程示意图;\n[0103] 图12为本发明实施例中操作资源TurnOnAC的架构图二;\n[0104] 图13为本发明实施例中操作资源CloseWindow的架构图二;\n[0105] 图14为本发明实施例中根据依赖资源进行条件检测流程示意图;\n[0106] 图15为本发明实施例中获取操作结果的流程示意图;\n[0107] 图16为本发明实施例中机器通信操作触发装置的结构示意图一;\n[0108] 图17为本发明实施例中机器通信操作触发装置的结构示意图二。\n具体实施方式\n[0109] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。\n[0110] 针对现有技术中,M2M的操作触发方法存在维护成本高和稳定性差的缺陷,本发明实施例提供了一种技术方案,其中在业务能力中间件存储主动资源的表述,所述主动资源的表述包括主动资源的内容以及与所述主动资源关联的操作资源的信息,如图1所示的,本发明实施例提供的M2M触发操作方法包括如下的步骤:\n[0111] 步骤101、在发生主动资源的表述变化时,业务能力中间件获取存储于所述业务能力中间件的主动资源的内容的变化结果;\n[0112] 步骤102、所述业务能力中间件根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述;\n[0113] 所述操作资源的表述包含向目标资源发送操作请求满足的条件和所述目标资源的通用资源标示符;\n[0114] 步骤103、所述业务能力中间件确定所述变化结果满足所述操作资源的表述中的向目标资源发送操作请求的条件时,构建针对所述目标资源的操作请求;\n[0115] 步骤104、所述业务能力中间件根据所述目标资源的通用资源标识符向所述目标资源发送所述操作请求。\n[0116] 本发明上述实施例提供的技术方案,其中在发生主动资源的内容变化时,由存储主动资源的内容的变化结果的业务能力中间件根据与所述主动资源关联的操作资源的信息获取与主动资源关联的操作资源的表述,并构建针对操作资源表述的目标资源的操作请求,最后向操作资源表述的目标资源发送该操作请求。\n[0117] 本发明上述实施例中的业务能力中间件可以为M2M平台或网关上的中间件,而M2M平台和网关在网络中都属于有能力的节点,不存在能力受限的问题,利于解决受限环境中业务无法进行的情形。同时,本发明上述实施例中,能够与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述,即建立主动资源和操作资源之间的关联,使得可以将资源之间的操作触发关系分布在各个节点(M2M平台或网关)上,如存储主动资源的各个节点上,避免了单一应用程序的复杂性。例如关闭空调的操作可以作为一个操作资源,而检测主人是否在家和室内温度分别都可以作为主动资源而存在,根据本发明的实施例中,其中的关闭空调这一操作资源可以保存在空调归属的网关的业务能力中间件上,而检测主人是否在家和室内温度这两个主动资源分别保存在不同网关的业务能力中间件上,通过建立分布在不同平台上的主动资源和操作资源的关联,也可以实现操作触发功能。本发明实施例提供的技术方案能够加强M2M平台和网关中间件的能力,使得部署更加丰富的应用成为可能。上述操作资源的引入,使其更加适用于RESTful架构。\n[0118] 本发明上述实施例中,所述主动资源关联的操作资源的信息为与主动资源关联的操作资源的表述,上述步骤102中的业务能力中间件根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述可以包括:\n[0119] 所述业务能力中间件根据所述主动资源的表述中包含与所述主动资源关联的所述操作资源的表述获取与所述主动资源关联的操作资源的表述;\n[0120] 或,所述主动资源关联的操作资源的信息为与主动资源关联的操作资源的通用资源标识符,所述业务能力中间件根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述包括:\n[0121] 所述业务能力中间件根据所述主动资源的表述中包含的所述操作资源的通用资源标识符获取与所述主动资源关联的操作资源的表述;\n[0122] 或,所述主动资源关联的操作资源的信息为与主动资源关联的操作资源归属的操作资源集的通用资源标识符,所述业务能力中间件根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述包括:所述业务能力中间件根据所述主动资源的表述中包含的所述操作资源归属的操作资源集的通用资源标识符获取与所述主动资源关联的操作资源的表述,其中与所述主动资源关联操作资源的表述为所述操作资源集包含的操作资源的表述。\n[0123] 即可以通过主动资源的表述中包含所述操作资源的表述、主动资源的表述中包含所述操作资源的通用资源标识或主动资源的表述中包含所述操作资源归属的操作资源集的通用资源标识符上述三种方式建立主动资源和操作资源的关联。\n[0124] 本发明上述实施例中,其中在步骤101业务能力中间件在获取存储于所述业务能力中间件的主动资源的内容的变化结果之前还包括:\n[0125] 所述业务能力中间件接收主动资源更新请求,所述主动资源更新请求包括新的主动资源的表述以及待更新的主动资源的通用资源标识符,所述新的主动资源的表述中包含所述主动资源关联的操作资源的信息,所述业务能力中间件根据所述待更新的主动资源的通用资源标识符更新存储的主动资源的表述为所述新的主动资源的表述;值得说明的是,该主动资源更新请求中除了操作资源的表述或操作资源的通用资源标识符,还包括更新前的主动资源的表述。\n[0126] 或,所述业务能力中间件接收操作资源创建请求,所述操作资源创建请求包括与所述主动资源关联的操作资源的表述和与所述主动资源关联的操作资源归属的操作资源集的通用资源标识符,所述业务能力中间件根据所述操作资源归属的操作资源集的通用资源标识符在所述操作资源集中添加所述操作资源的表述。\n[0127] 另外,本发明上述实施例中,其中的操作资源的表述还可以包括操作请求的种类,而构建的操作请求的种类可以为创建、更新、获取或删除中的任一种。其中对于操作请求的种类为创建或更新时,即该操作请求是用于创建或更新目标资源的表述时,在创建的操作请求中还需要携带操作资源新的目标资源的表述。具体的,可以在操作资源的表述中进一步包括操作的输入参数,该操作的输入参数可以为参数资源的URI,或者是上述操作的输入参数中直接保存新的目标资源的表述。\n[0128] 具体的,在所述输入参数为参数资源的通用资源标识符时,所述构建针对所述目标资源的操作请求包括:\n[0129] 所述业务能力中间件从所述参数资源的通用资源标识符所指向的参数资源中获取新的目标资源的表述,构建包括所述目标资源的通用资源标识符和所述新的目标资源的表述的针对操作资源的表述中的目标资源的操作请求;\n[0130] 或,在所述输入参数为所述新的目标资源的表述时,构建包括所述目标资源的通用资源标识符和所述新的目标资源的表述的针对操作资源的表述中的目标资源的操作请求。\n[0131] 在本发明上述实施例中,其中的业务能力中间件在获取存储于业务能力中间件的主动资源的内容的变化结果之前还包括:\n[0132] 所述业务能力中间件接收操作资源更新请求,所述操作资源更新请求包括新的操作资源的表述,所述新的操作资源的表述包含依赖资源的表述或所述依赖资源的通用资源标识符,所述业务能力中间件更新存储的操作资源的表述为所述新的操作资源的表述;值得说明的是,操作资源更新请求中除了包含依赖资源的表述或所述依赖资源的通用资源标识符,还包包含更新前的操作资源的表述。\n[0133] 所述业务能力中间件接收依赖资源创建请求,所述依赖资源创建请求包括所述依赖资源的表述和所述依赖资源归属的依赖资源集的通用资源标识符,所述业务能力中间件根据所述依赖资源归属的依赖资源集的通用资源标识符在所述依赖资源集中保存所述依赖资源的表述,且将所述依赖资源集的通用资源标识符添加在所述操作资源的表述中。\n[0134] 本发明上述实施例中,在存在依赖资源时,本发明上述实施例中的业务能力中间件构建针对所述目标资源的操作请求之前包括:\n[0135] 所述业务能力中间件根据操作资源的表述获取与所述操作资源相关联的依赖资源的表述;\n[0136] 所述业务能力中间件获取所述依赖资源的表述中的通用资源标识符所指向的条件资源的表述;\n[0137] 所述业务能力中间件根据所述条件资源的表述确认满足所述依赖资源的表述中的条件。\n[0138] 具体的,上述依赖资源可以分为充分条件类型和必要条件类型的依赖资源,而依赖资源的数目为至少一个,所述业务能力中间件构建针对操作资源的表述中的目标资源的操作请求之前,该方法进一步包括:\n[0139] 确定至少一个充分条件类型的依赖资源规定的条件满足;或\n[0140] 确定所有必要条件类型的依赖资源规定的条件满足。\n[0141] 也就是说,业务能力中间件在进一步确定至少一个充分条件类型的依赖资源规定的条件满足时,构建针对操作资源的表述中的目标资源的操作请求;或业务能力中间件在进一步确定所有必要条件类型的依赖资源规定的条件满足时,构建针对操作资源的表述中的目标资源的操作请求。\n[0142] 具体的,上述实施例中,所述业务能力中间件根据操作资源的表述获取与所述操作资源相关联的依赖资源的表述包括:\n[0143] 所述业务能力中间件根据所述操作资源的表述中包含的所述依赖资源的表述获取与所述操作资源关联的依赖资源的表述;\n[0144] 或,所述业务能力中间件根据所述操作资源的表述中包含的所述依赖资源的通用资源标识符获取与所述操作资源关联的依赖资源的表述;\n[0145] 或,所述业务能力中间件根据所述操作资源的表述中包含的所述依赖资源归属的依赖资源集的通用资源标识符获取与所述操作资源关联的依赖资源的表述,其中与所述操作资源关联的依赖资源的表述为所述依赖资源集包含的依赖资源的表述。\n[0146] 即可以通过操作资源的表述中包含所述依赖资源的表述、操作资源的表述中包含所述依赖资源的通用资源标识符和操作资源的表述中包含所述依赖资源归属的依赖资源集的通用资源标识符三种方式建立操作资源和依赖资源之间的关联。\n[0147] 本发明上述实施例中,确定与所述主动资源关联的操作资源为至少两个时,其中操作资源的表述中还可以包括优先级,其中业务能力中间件构建针对操作资源的表述中的目标资源的操作请求可以包括:\n[0148] 所述业务能力中间件根据所述操作资源的表述中的优先级,依次构建针对每一个所述操作资源表述中目标资源的操作请求。\n[0149] 本发明上述实施例中,其中的操作资源的表述中还可以包括操作的执行结果,所述方法还包括:\n[0150] 所述业务能力中间件接收所述目标资源返回的操作响应,将所述操作响应保存到所述操作资源的表述中操作的执行结果中。\n[0151] 或者是,上述的操作资源的表述中还可以包括体现操作执行结果的地址和操作的执行结果,上述方法进一步包括:\n[0152] 所述业务能力中间件接收所述目标资源返回的操作响应,根据所述体现操作执行结果的地址获取所述操作请求对应的操作结果,并将所述操作请求对应的操作结果保存到操作的执行结果中。具体,上述所述体现操作执行结果的地址可以为一个资源的URI,可以从根据该URI访问相应资源并获取操作请求对应的操作结果。\n[0153] 以下具体实施例将对本发明的操作触发方法进行进一步的详细说明,图2为本发明实施例中资源结构的示意图,本实施例中,是对RESTful的资源元结构进行扩展,将多个操作资源组合在一起构成一个操作资源集。\n[0154] 其中,上述主动资源、操作资源以及操作资源集的关系可以如图2所示,其中方框代表资源,而圆框代表属性,黑实线表示两个资源或资源与属性之间存在关联关系,且本实施例中的资源和属性仅为一种示例性的划分方式,根据不同的应用场景,其划分方式也可以有所不同。\n[0155] 主动资源(Subject Resource),其可能是RESTful架构中的任意一种资源,在本实施例中,主动资源可以为引起一次操作触发事件的资源。\n[0156] 操作资源集(Operations),它包含一个或多个操作资源(Operation),每一个操作资源对应一个由主动资源触发的操作。操作资源集与主动资源相关联,该关联的表示方式可以是主动资源的表述中包含操作资源集的URI。\n[0157] 操作资源(Operation),表示一个操作。该操作资源可以包含一系列属性和资源。\n其中如上描述,圆框代表属性,即操作资源的属性为:优先级(Priority)、条件(Rule)、目标资源(Object Resource)、请求种类(Method)、输入参数(Input)体现操作执行结果的地址(Output URI)和执行结果(Result)中的几项或全部;同样如上描述,方框代理资源,即操作资源中的资源为:依赖资源集(Dependencies)中包含的依赖资源。具体的,依赖资源还可以包含几个属性,如逻辑,URI和/条件。一个或多个操作资源包含在操作资源集中,并通过操作资源集主动资源产生关联。也就是说,如果主动资源表述中包含的是操作资源集的通用资源标识符URI,则该操作资源集下的所有操作资源都是主动资源关联的操作资源。因此,在主动资源发生变化时,该操作资源集下的所有操作资源,并确定是否需要执行操作资源中的操作。\n[0158] 优先级(Priority)表示该操作资源的优先级。当与主动资源关联的操作资源有多个,如两个或两个以上时,并且有多个操作资源中的操作都需要执行时,业务能力中间件根据所述操作资源的表述中的优先级,按照优先级从高到低的顺序依次操作资源中的操作。\n[0159] 条件(Rule)表示执行该操作资源中的操作所需的条件。当与操作资源相关联的主动资源的内容的变化结果满足Rule定义的条件时,执行该操作资源中的操作。\n[0160] 目标资源(Object Resource),具体的可以用目标资源的URI表示。当与操作资源相关联的主动资源的内容的变化结果满足操作资源的表述中Rule定义的条件时则将常见针对该目标资源的操作请求并发送至目标资源的URI。\n[0161] Method表示针对该操作资源的操作请求的种类。RESTful结构中一般定义有限操作请求的种类,例如对ETSI M2M来讲,操作请求的种类有四种,即创建(Create)、获取(Retrieve)、更新(Update)和删除(Delete)。\n[0162] Input表示针对该操作资源的操作请求的输入参数。在RESTful方法中的更新和创建这两个种类的操作请求需要携带输入参数。在创建请求中,该创建请求中携带的输入参数即是新的目标资源的表述,使用操作请求中携带的新的目标资源的表述创建整个目标资源。在更新请求中,使用更新请求中携带的新的目标资源的表述替换原来的目标资源的表述。具体的,操作资源的描述中输入参数的值还可以是一个URI,该URI指向一个参数资源,该参数资源的表述即是操作请求需要携带的新的目标资源的表述;输入参数也可以是一段文本,用来直接保存上述新的目标资源的表述。Imput不是每个操作资源所必须的,在操作资源的表述中,操作请求的种类为删除或获取时,由于操作请求中不需要携带输入参数,因此该类操作资源的表述中可以不包括Imput。\n[0163] Output URI表示体现操作执行结果的地址。在一些场景中,操作执行结果需要通过其他资源的状态来反馈,例如确定灯是否开启需要获取灯下的光照传感器的数值,光照传感器的数据的地址即为上述体现操作执行结果的地址。Imput也不是每个操作资源所必须的,在一些类的操作资源的表述中可以不包括Imput。\n[0164] Result表示操作的执行结果,是一段文本。在存在Output URI的情况下,即操作执行的结果由Output URI所指向的资源来体现时,Result中保存的是从Output URI中获取的资源的表述。当没有提供Output URI时,Result中保存的是操作请求发送后反馈的操作响应。\n[0165] Dependencies表示依赖资源(Dependency)的集合,即依赖资源集。依赖资源表示该操作资源的执行还需要依赖于依赖资源定义的依赖条件。\n[0166] Dependency表示一个依赖资源。依赖资源中可以保存三个属性,一个URI,一个是条件(Rule),最后一个是逻辑(Logic)。具体的,该依赖资源是指要判断依赖资源中的URI指向的条件资源的表述是否满足依赖资源的表述中Rule定义的条件。且如果Logic中的参数是AND,则说明该依赖资源的表述中Rule定义的条件满足是执行发送操作请求的必要条件,如果Logic中的参数是OR,则说明该依赖资源的表述中Rule定义的条件满足是执行操作的充分条件。\n[0167] 结合图2所示的资源架构图,本发明实施例提供了完整的操作触发方法流程,图3为本发明具体实施例中操作触发方法流程示意图,如图3所示,包括如下的步骤:\n[0168] 步骤201、对主动资源进行配置以便当主动资源的内容发生变化时对目标资源触发的操作。\n[0169] 根据M2M应用的业务需求,可以由应用程序对主动资源进行配置,以便于主动资源的表述发生变化时,对一个或多个目标资源进行一个或多个操作。配置的方法是将主动资源和至少一个操作资源关联起来。具体的,可以通过操作资源集关联,也可以直接将多个操作资源与主动资源关联。本发明实施例在此不作限定。\n[0170] 具体的,对主动资源进行配置,可以是应用程序通过发送操作资源创建请求到与主动资源相关联的操作资源集,以便在操作资源集中新建操作资源。其中,操作资源创建请求中定义了当主动资源发生何种变化(Rule)时,对哪个目标资源(Object Resource),进行何种操作(Method),针对该操作的操作请求需要带有的输入参数(Input),在执行该操作之前是否需要依赖资源中的Rule定义的条件是否满足。此外,还可以应用程序通过发送操作资源创建请求,由收到操作资源创建请求的实体(如平台中间件)创建操作资源。还可以是应用程序直接向存储主动资源的中间件发送操作资源创建请求,由中间件在主动资源的表述中创建操作资源。具体配置过程可以参见图4所示的实施例。\n[0171] 步骤202、获取主动资源的内容的变化结果\n[0172] 主动资源可以是任意一个存储在M2M系统的业务能力中间件中的资源,具体的,其可以为引起一次操作触发事件中资源。例如在室内温度变化时引起空调开关这一操作触发事件中,完成室内温度状态检测的资源是主动资源。具体的,主动资源的内容可以是存储在业务能力中间件的一个拥有特定结构的一个文字片段、数据库的记录、一个文件,该文字片段等可以通过反序列化的过程将存储的文字片段等变成一个数据结构。该主动资源的表述也可以是直接保存在业务能力中间件内存中的一个数据结构。\n[0173] 主动资源的内容发生变化可以是任意情况引起,例如可以是由其他应用发送请求改变了该主动资源的内容,或者是因为业务能力中间件内部的流程改变了主动资源的内容。保存该主动资源的业务能力中间件通过监听该主动资源的程序检测到了该主动资源的内容的变化结果。\n[0174] 步骤203、获取与所述主动资源关联的操作资源的表述,且确定主动资源的内容的变化结果满足操作资源的表述中Rule定义的条件。\n[0175] 如图2所述,主动资源与操作资源通过操作资源集进行关联。\n[0176] 然而,本实施中还可以是主动资源的表述中包含图2中的各个操作资源表述,或图\n2中的各个操作资源的URI,或图2中的操作资源归属的操作资源集的URI。操作资源集是一种集合类型的资源,包含至少一个操作资源。每个操作资源中都包含一个Rule属性,其中定义了与操作资源相关联的主动资源的内容的变化结果需要满足的条件。业务能力中间件根据主动资源的内容的变化结果,逐一的对与其相关联的操作资源的Rule条件进行判断,最终选择那些满足Rule条件的操作资源。本步骤203的具体实施流程可以参见图10所示的实施例。\n[0177] 步骤204、对上述步骤中确定的与主动资源相关联的操作资源,根据操作资源的优先级选择操作资源。\n[0178] 操作资源中定义了优先级这一属性,用来表明该操作资源的优先级。具体的讲,该优先级的表示形式可以是一个数字,数值越大的优先级越高或者其他形式。通过优先级将操作资源的重要性和先后顺序进行排位。\n[0179] 具体的,在步骤203中,确定的与主动资源相关,且主动资源的内容的变化结果满足操作资源中Rule条件的操作资源为至少两个,则在此步骤中,业务能力中间件根据所述操作资源的表述中的优先级,依次构建针对每一个操作资源表述的目标资源的操作请求,以便能够按照先后次序执行各操作资源中描述的操作。\n[0180] 步骤205、确定存在与步骤204中根据优先级选择的操作资源相关联的依赖资源,且确定相关联的依赖资源中的Rule定义的条件都能够满足。\n[0181] 具体的,对步骤204中选择出来的操作资源,确定存在有与其相关联的依赖资源。\n具体的,与操作资源相关联的依赖资源可以是包含在操作资源表述中的依赖资源的表述(如图2中的依赖资源所示),还可以是在操作资源表述中的包含的一个或多个依赖资源的标识,或在操作资源表述中的包含的依赖资源集的标识。本发明实施例在此不做限定。\n[0182] 依赖资源中包含URI、Logic、Rule三个属性。确定存在与操作资源相关的依赖资源后,上述依赖资源中Rule定义的条件都能够满足具体为:根据依赖资源的URI获取URI所指示的条件资源的表述,判断该条件资源的表述是否能够满足依赖资源中Rule定义的条件,如果该条件资源的表述能够满足依赖资源中Rule定义的条件,并进一步检查Logic中定义的该依赖资源的类型为充分条件类型还是必要条件类型。如果是必要条件类型则继续检查其他未检查的依赖资源中Rule定义的条件是否能够满足,如果是充分条件类型则直接执行步骤206。本步骤的具体实现过程可以参见图14所示的实施例。\n[0183] 步骤206、根据步骤204中选择的操作资源的表述中的操作请求的种类,获取操作请求的输入参数,并构建操作请求。\n[0184] 具体的,本步骤中首先确定操作资源的表述中Method定义的操作请求的种类为创建(Create)或者更新(Update)。根据操作资源中的Input的值来获取操作的输入参数,该操作的输入参数为要创建的目标资源的表述,或要更新的目标资源的表述,当Input包含的是是URI时,需要通过获取(Retrieve)请求获取该URI所指示的资源的表述作为新的目标资源的表述;Input的值也可以直接保存新的目标资源的表述,此时直接使用该新的目标资源的表述创建操作请求。\n[0185] 根据操作资源中定义的操作请求的种类、目标资源、输入参数构建待发送的操作请求,该步骤206的具体实现过程可以参见图11所示的实施例。\n[0186] 步骤207、发送步骤206中创建的操作请求到目标资源的URI,并接收目标资源所在的设备返回的操作响应。具体的,存储主动资源的平台中间件与存储目标资源的设备之间的交互可以通过用RESTful标准的接口进行。\n[0187] 步骤208、根据当前执行的操作资源的表述中的Output URI获取所述操作请求对应的执行结果,保存在Result中。\n[0188] 具体的,当操作资源的表述中包括Output URI时,则操作请求对应的执行结果需要从该Output URI指示的资源获取。在步骤207发送完请求后,存储主动资源的业务能力中间件进一步发送获取(Retrieve)请求到Output URI以获取该Output URI指示的资源的表述,并将获取的Output URI指示的资源的表述保存在该操作资源的表述中的执行结果(Result)属性中。\n[0189] 如果操作资源的表述没有提供Output URI,说明该操作的执行结果不需要其他资源的表述来体现,此时在步骤207执行以后,接收步骤207中操作请求对应的操作响应。保存该操作响应的内容到操作资源的表述中的执行结果(Result)中。本步骤208的具体实现过程可以参见图15所示的实施例。\n[0190] 步骤209、确定是否是选择的最后一个操作资源?如果是最后一个操作资源,即确定步骤203选择的多个操作资源的操作已经执行完,则进入步骤210,否则回到步骤204,本步骤中判断操作资源的操作是否执行完的方式可以是判断是否接收到对应的操作响应。\n[0191] 步骤210、结束。\n[0192] 图4为本发明实施例中配置操作触发的流程示意图,本实施例中,是为温度传感器的温度值配置操作资源,以便于触发空调在温度高于30℃且有家庭成员在家时打开。其系统架构图可以如图7所示。\n[0193] 其中,M2M网络应用(Network application,以下简称:NA)服务器,通过mIa接口将各种M2M应用(如电力抄表、智能交通等),注册到M2M业务平台的网络业务能力层(Network Service Capability Layer,以下简称:NSCL),M2M业务平台通过mId接口接入M2M设备采集的数据,还通过该接口对M2M设备进行远程设备管理;M2M设备d(M2M device)通过M2M网关(M2M Gateway)连接到M2M业务平台的NSCL;M2M设备D(M2M device domain),通过mId接口连接M2M业务平台的NSCL。\n[0194] 其中,M2M设备D’为不符合ETSI M2M规范的传统设备;M2M设备D为符合ETSI M2M规范的设备。其中M2M设备D具有ETSI M2M标准定义的业务能力层(Service Capability Layer,以下简称:SCL),M2M设备D’不具有ETSI M2M标准定义的SCL。\n[0195] M2M网关使用网关互联代理功能(Gateway Interworking Proxy,以下简称:GIP)通过无线或有线通信方式(例如,Zigbee、Bluetooth、DLMS/COSEM、Zwave、BACnet、ANSI C12、mBus等)与M2M传统设备d和M2M设备D’互联。而M2M网关或M2M设备D与M2M平台之间的mId接口一般采用有线或无线的广域局域网通信(如:Xdsl,HFC,satellite,GERAN,UTRAN,eUTRAN,W-LAN and WiMAX等)。\n[0196] 其中D’A1为温度传感器应用,其不断的把温度的数值保存在网关业务能力层GSCL1资源树中的温度(Temperature)资源中。主动资源Temperature资源的URI是:http://gscll/temperature。NA1为智能家居应用程序,该NA1用于创建与温度资源相关联的操作资源的表述。D’A5为空调应用程序,其通过监视GSCL2中空调状况(AirCondition)资源的表述值对空调进行控制,例如当空调状况资源的表述值是ON时打开空调,是OFF时关闭空调。空调状况资源的URI是:http://gscl2/airCondition。\n[0197] NA2为主人位置应用程序,该应用程序将主人的位置信息保存在NSCL中的主人位置(HostLocation)资源中。主人位置资源的URI是:http://nscl/hostLocation。\n[0198] 当温度资源的表述值大于30摄氏度时,需要GSCL1发送请求到GSCL2改变空调状况资源的表述为ON,从而完成打开空调的目的。NA1通过创建与温度资源关联的操作资源的表述,完成这一过程。\n[0199] 如图4所示,包括如下的步骤:\n[0200] 步骤301、创建操作资源的表述。\n[0201] 网络应用服务器中NA1构建操作资源打开空调(TurnOnAC),用来表达触发打开空调的操作的条件。根据业务逻辑的需求,可以重复这一步骤多次以创建多个操作资源的表述。操作资源TurnOnAC的架构如图5所示:\n[0202] 步骤302、发送操作资源创建请求。\n[0203] 网络应用服务器中NA1在步骤301之后将构建好的操作资源TurnOnAC的表述按照RESTful架构的标准封装成在接口上发送至网关业务能力层GSCL1,以由GSCL1将操作资源TurnOnAC创建在与温度资源关联的操作资源集下,该操作资源集的URI为http://gscl1/temperature/Operations。也就是说操作资源创建请求中携带操作资源集的URI以及构建好的操作资源的表述。如果还不存在与该主动资源,如温度资源相关的操作资源集,则操作资源创建请求中则可以携带温度资源的URI或GSCL1的URI,由GSCL1创建操作资源,如在温度资源的表述下创建操作资源,或另行创建操作资源,并将操作资源的URI包含在温度资源的表述中。本发明实施例以操作资源创建请求中携带操作资源集的URI为例进行说明。\n[0204] 步骤303、创建操作资源。\n[0205] 网关业务能力层GSCL1在收到NA1发来的操作资源创建请求后,把操作资源请求中的操作资源TurnOnAC创建在与温度资源关联的操作资源集(Operations)下,即将操作资源TurnOnAC的表述添加到上述操作资源集中,以将操作资源TurnOnAC和温度资源关联起来,网关业务能力层创建完操作资源TurnOnAC后,向NA1返回创建响应。\n[0206] 步骤304、创建依赖资源的表述。\n[0207] NA1根据业务需求开始创建不同操作资源执行的依赖资源。在本实施例中,是否打开空调依赖于主人的位置,即主人位置资源HostLocation的状态,该主人位置资源HostLocatio即为操作资源资TurnOnAC的依赖资源,因此创建依赖资源MemberAtHome,该依赖资源MemberAtHome的表述可用于表明是否有成员在家。如图6所示,在依赖资源MemberAtHome中,逻辑Logic的值是OR,表明该依赖资源的类型时充分条件类型,URI是主人位置资源的URI,条件Rule为主人位置状态为在家。\n[0208] 步骤305、发送依赖资源创建请求。\n[0209] NA1在步骤304之后将构建好的依赖资源MemberAtHome的表述按照RESTful架构的标准封装成在接口上发送至网关业务能力层GSCL1,以由GSCL1将该依赖资源MemberAtHome创建在与操作资源TurnOnAC关联的依赖资源集下,该依赖资源集的URI为http://gscll/temperature/Operations/TurnOnAC/Dependencies。也就是说依赖资源创建请求中包含依赖资源集的URI。此外,参考步骤302,该依赖资源创建请求中还可以包含操作资源的URI,表明该操作资源下还没有依赖资源或依赖资源集,以便于GSCL1直接在操作资源TurnOnAC中保存依赖资源的表述。本实施例以依赖资源创建请求中包含依赖资源集的URI为例进行说明。此外,可以按照标准定义的依赖资源创建(Create)请求发送。\n[0210] 步骤306、创建依赖资源。\n[0211] GSCL1在收到NA1发来的依赖资源创建请求以后,把依赖资源创建请求中的依赖资源MemberAtHome的表述添加到与操作资源TurnOnAC关联的依赖资源集下,即把该依赖资源MemberAtHome和依赖资源集关联起来,从而也把依赖资源MemberAtHome和操作资源TurnOnAC关联起来。创建依赖资源完成后返回创建响应。\n[0212] 在图4所示实施例的基础上,当温度高于30摄氏度的时候除了打开空调之外还需要关上窗户,即触发两个操作。NA1可以定义关上窗户的优先级高于打开空调的优先级,需要先关上窗户再打开空调。如错误!未找到引用源。图7所述的系统架构中,还包括关窗控制器应用程序D’A4,其通过监视网关业务能力层GSCL2中WindoW资源的值对窗户进行控制,例如当WindoW资源的表述是ON时打开窗户,是OFF时关闭窗户。WindoW资源的URI是:http://gscl2/windoW。\n[0213] 关闭窗户的操作资源CloseWindoW的架构图可以如图8所示,操作资源CloseWindoW的输入参数Input的值是一个URI,不同于TurnOnAC的Input中直接保存了输入参数。操作资源CloseWindoW的Output URI是http://gscl2/allWindowStatus,即allWindowStatus资源的URI。该allWindowStatus资源的表述用于表示家中窗户的关闭状态,ON表示有窗户开启,OFF表示窗户已经全部关闭。\n[0214] 操作资源CloseWindoW和操作资源TurnOnAC都分别和主动资源Temperature关联,具体的关联示意图可以如图9所示。\n[0215] 当温度资源的表述为大于30度时,会触发操作资源TurnOnAC和操作资源CloseWindoW的两个操作。本实施例中,温度资源Temperature保存在网关业务能力层GSCL1上,操作资源TurnOnAC和操作资源CloseWindoW均保存在网关业务能力层GSCL2上,其具体过程包括如图10所示的步骤:\n[0216] 步骤401、GSCL1获取温度资源的内容的变化结果。\n[0217] 具体的,温度资源Temperature作为主动资源,其表述发生变化。GSCL1获取的内容的变化结果为31度。\n[0218] 步骤402、GSCL1确定有与温度资源Temperature相关联的操作资源,[0219] 具体的,本实施例中的关联方式可以是温度资源的表述中包含操作资源TurnOnAC和操作资源CloseWindoW归属的操作资源集的URI。在实施例中,温度资源的架构图可以如图9所示,本步骤中确定的与温度资源相关联的操作资源为TurnOnAC和CloseWindoW。\n[0220] 步骤403、判断温度资源的内容的变化结果满足步骤402中确定的操作资源TurnOnAC和CloseWindoW的表述中的Rule定义的条件。Rule中定义了对资源的表述进行匹配的方法,在ETSI M2M中Rule即是其定义的filterCriteria属性。在本实施例中TurnOnAC和CloseWindoW的表述中Rule定义的条件是>30℃,而温度资源的表述已变化为31℃。因此TurnOnAC和CloseWindoW的Rule定义的条件都已满足,本步骤中选中上述两个操作资源。在后续的步骤中将逐一对选中的操作资源执行相应的操作。\n[0221] 步骤404、上述两个操作资源的表述中都包括了操作资源的优先级(Priority)。在本实施例中操作资源CloseWindoW的优先级是2,操作资源TurnOnAC的优先级是1,因此操作资源CloseWindoW的优先级高于操作资源TurnOnAC的优先级,因此本步骤首先选择执行优先级高的操作资源CloseWindoW对应的操作。\n[0222] 步骤405、确定操作资源CloseWindoW的依赖资源中Rule定义的条件满足,具体步骤可以参见如图14所示的实施例。\n[0223] 步骤406、获取创建针对操作资源CloseWindoW的操作请求时所需要的输入参数,具体步骤可以参见图11所示的实施例。\n[0224] 步骤407、根据操作资源CloseWindoW的表述中包含的请求种类(Method)、目标资源(Object Resource)以及步骤406中获取的输入参数构建待发送的操作请求。在本实施例中,操作请求的种类是创建(Create),目标资源的URI是http://gscl3/windoW,获取的输入参数(Input)是OFF。在ETSI M2M标准中,根据上述属性可以构建在标准RESTful接口上传输的操作请求。\n[0225] 步骤408、发送步骤407中构建的操作请求到GSCL3,具体可以通过M2M系统定义的标准RESTful接口发送,并接收GSCL3通过窗户设备执行完操作请求中的操作,如关闭窗户,后返回的操作响应。\n[0226] 步骤409、获取所述操作请求对应的执行结果,详细步骤可以参见图15所示的实施例。\n[0227] 步骤410、针对在步骤403中已选中的操作资源的优先级,选择剩余的优先级最高的操作资源,继续执行下述步骤。本实施例中,本步骤中选中操作资源TurnOnAC。\n[0228] 步骤411、确定操作资源TurnOnAC的表述中依赖资源的表述中Rule定义的条件满足,详细步骤可以参见图14所示的实施例。\n[0229] 步骤412、获取创建针对TurnOnAC的操作请求时所需要的输入参数,详细步骤可以参见图11所示的实施例。\n[0230] 步骤413、根据操作资源TurnOnAC中包含的种类(Method)、目标资源(Object Resource)以及步骤406获取的输入参数构建待发送的操作请求。在本实施例中操作请求的种类是创建(Create),目标资源的URI是http://gscl2/airCondition,获取的输入参数(Input)是ON。参照ETSI M2M标准,根据上述属性可以构建在标准RESTful接口上传输的操作请求。\n[0231] 步骤414、将步骤413中创建的操作请求发送到GSCL2,具体的可以通过M2M系统定义的标准RESTful接口发送,并接收操作响应。\n[0232] 步骤415、获取操作的执行结果,具体的步骤可以参见图15所示的实施例。\n[0233] 在图10的实施例中,GSCL2,GSCL1,GSCL3可以是同一个GSCL,也可以是不同的GSCL,本发明实施例在此不做限定。\n[0234] 操作资源的表述中包含的Input表示构建操作请求时需要的输入参数,在RESTful规定的操作请求的种类中,删除(Delete)和获取(Retrieve)不需要输入参数,创建(Create)和更新(Update)需要携带目标资源的表述分别用来创建目标资源和更新目标资源。在上述图10所示实例中的步骤406和步骤412中,分别在构建针对操作资源CloseWindoW和TurnOnAC的操作请求时获取了输入参数。其具体的流程如12图所示,其中用于保存输入参数的资源的URI http://gscl3/OFF资源,其所在的业务能力中间件是GSCL3。如图11所示,确定是否需要获取输入参数的流程可以包括如下的步骤:\n[0235] 步骤501、流程开始,确定需要执行的操作资源所对应的操作,例如是操作资源CloseWindow所对应的操作或操作资源TurnOnAC所对应的操作;\n[0236] 步骤502、判断正在执行的操作资源的表述中的操作请求种类(Method),本实施例中操作资源CloseWindow和TurnOnAC的表述中请求种类(Method)都是创建(Create),执行步骤503,另外对于请求种类是删除(Delete)或者获取(Retrieve),在构建操作请求时不需要考虑输入参数,可以直接执行步骤506;\n[0237] 步骤503、判断正在执行的操作资源的表述的输入参数Input中保存的是否是一个参数资源的URI。\n[0238] URI有其固定的格式,由schema,host,port,path等部分组成,具体可以参见IETF RFC3305。输入参数Input中保存的URI表明构建操作请求所需的输入参数为该URI所指向的资源参数的表述。例如本实施例中的操作资源CloseWindow,其表述中的输入参数Input中保存有URI:http://gscl2/OFF。如果输入参数中保存的是URI,则进入步骤505。如果输入参数中保存的不是URI,而是直接保存资源的表述,作为新的目标资源的表述,进入步骤504。\n[0239] 步骤504、正在执行的操作资源的表述中的输入参数中直接保存了新的目标资源的表述时,该目标资源的表述的保存形式可以是一个文本片段。如操作资源TurnOnAC的表述中的输入参数中保存的是,该文本片段即为创建针对操作资源TurnOnAC的操作请求时所需的输入参数。\n[0240] 步骤505、正在执行的操作资源的表述中的输入参数是URI时,需要发送获取请求到该URI以获取该URI指向的资源的表述作为新的目标资源的表述。例如操作资源CloseWindow的表述中输入参数Input保存的URI是http://gscl3/OFF,表明GSCL1(Temperature所在业务能力中间件)需要发送获取请求(Retrieve)到GSCL3(http://gscl3/OFF所在业务能力中间件)获取http://gscl3/OFF指示的资源的表述作为新的目标资源的表述。\n[0241] 步骤506、在构建删除或获取类型的操作请求时,不需要输入参数,直接进入步骤\n507。\n[0242] 步骤507、执行图10所示实施例中步骤406和步骤412的下一步。\n[0243] 在图10所示实施例中的步骤405和步骤411,在执行操作之前还需要判断操作资源中的依赖资源的表述中Rule定义的条件满足。在本实施例中,即是判断操作资源TurnOnAC和CloseWindow中的各个依赖资源的表述中Rule定义的条件是否能够满足。在如图7所示的系统架构图中,其中D’A2为卧室窗磁感应器应用程序,用来检测卧室的窗户是否关闭,该应用程序通过GSCL1中的BedroomWindowStatus资源的表述来说明当前卧室窗户的状态,BedroomWindowStatus资源的URI为:http://gscl1/bedroomWindowStatus。D’A3为客厅窗磁感应器应用程序,用来检测客厅的窗户是否关闭,该应用程序通过GSCL1中的LivingroomWindowStatus资源的表述来说明当前客厅窗户的状态。\nLivingroomWindowStatus资源的URI为:http://gscl1/livingroomWindowStatus。在当前的实施例,当温度资源的表述大于30℃时,需要首先关闭窗户,再打开空调。在关闭窗户的操作执行之前,需要首先判断当前客厅和卧室的窗户是否已经关闭,意即操作资源CloseWindow的操作的执行还依赖于BedroomWindowStatus和LivingroomWindowStatus这两个依赖资源的表述,如果有一个窗户没有关闭时都需要执行关闭窗户的操作。\n[0244] 同时,在确保所有窗户都关闭以后,并且确认主人在家后,才执行打开空调的操作。综上,更新后的打开空调的操作资源TurnOnAC和关闭窗口的操作资源CloseWindow的依赖资源集的架构图可以如图12和图13所示。\n[0245] 对每个操作资源而言,判断与其关联的依赖资源的表述中Rule定义的条件是否满足可以包括如14图所示的步骤:\n[0246] 步骤601、开始。\n[0247] 步骤602、GSCL1确定所有与操作资源关联的依赖资源,其中与操作资源TurnOnAC关联的依赖资源包括MemberAtHome、LivingroomWindowClosed和BedroomWindowClosed;与操作资源CloseWindow关联的依赖资源包括LivingroomWindowOpen和BedroomWindowOpen。\n[0248] 步骤603、对于每一个操作资源,依次选择与其关联的一个依赖资源,针对每个依赖资源,分别执行下述的步骤604-步骤610;\n[0249] 步骤604、根据依赖资源的表述中的URI获取URI所指向的条件资源的表述;如根据http://nscl/hospLocation获取该URI指向的条件资源的表述,即获取主人的位置。\n[0250] 步骤605、判断上述条件资源的表述是否满足依赖资源中Rule定义的条件,若是满足执行步骤606,否则执行步骤607;\n[0251] 本实施例中,假设主人的位置为at home.则条件资源的表述满足依赖资源中Rule定义的条件。\n[0252] 步骤606、判断依赖资源的类型充分条件类型,还是必要条件类型,如果是充分条件类型,执行步骤609,若果是必要条件类型执行步骤608;\n[0253] 本实施例中,依赖资源Member At Home的类型为and,为必要条件类型,还需要判断其它的依赖资源的条件是否满足。\n[0254] 步骤607、判断判断依赖资源的类型为充分条件类型,还是必要条件类型,如果是必要条件类型,执行步骤610,如果是充分条件类型,执行步骤608;\n[0255] 步骤608、确认是否是最后一条依赖资源,如果不是执行步骤603,如果是,则分两种情况,若在上述步骤605中判断条件资源的表述满足依赖资源中Rule定义的条件时执行步骤609,在上述步骤605中判断条件资源的表述不满足时依赖资源中Rule定义的条件执行步骤610;\n[0256] 步骤609、继续执行下一步骤,即图10所示实施例中步骤406和步骤412;\n[0257] 步骤610、终止针对操作资源的操作。\n[0258] 具体的,针对操作资源CloseWindow,其在步骤603中首先选中的依赖资源是LivingroomWindowOpen;并进一步在步骤604中根据依赖资源LivingroomWindowOpen的URI:http://gscl1/livingroomWindowStatus,获取表示客厅窗户是否开启的资源的表述,即关闭状态(Closed),并在步骤605中判断步骤604中获取的表示客厅窗户是否开启的资源的表述是否满足依赖资源LivingroomWindowOpen的表述中Rule定义的条件,而该依赖资源LivingroomWindowOpen的表述中Rule定义的条件为开启状态(Open),因此判断结果为不满足,则执行步骤607,在步骤607中确定依赖资源LivingroomWindowOpen的表述中逻辑(Logic)定义的该依赖资源类型是充分条件类型(OR),则进一步执行步骤608;在步骤608中确定对于操作资源CloseWindow,还存在其他的依赖资源未进行判断,因此返回步骤603、在步骤603中选择下一个依赖资源BedroomWindowOpen,并在步骤604中根据依赖资源BedroomWindowOpen的URI:http://gscl1/bedroomWindowStatus,获取表示卧室窗户是否开启的资源的表述,即为开启状态(Open)。在步骤605中判断步骤604中获取的表示卧室窗户是否开启的资源的表述是否满足依赖资源BedroomWindowOpen的表述中Rule的定义的条件,而依赖资源BedroomWindowOpen的表述中Rule的定义的条件为开启状态(Open),因此判断结果为满足,则执行步骤606,在步骤606中判断依赖资源BedroomWindowOpen的表述中逻辑(Logic)定义的该依赖资源的类型是充分条件类型,则执行步骤609。\n[0259] 针对操作资源TurnOnAC,上述步骤603中首先选中依赖资源\nLivingroomWindowClosed,并在步骤604中根据依赖资源LivingroomWindowClosed的URI:\nhttp://gscl1/livingroomWindoWStatus,获取表示客厅窗户是否开启的资源的表述,即关闭状态(Closed)。在步骤605中判断步骤604中获取的表示客厅窗户是否开启的资源的表述是否满足LivingroomWindowOpen的表述中Rule的定义条件,而该依赖资源LivingroomWindowOpen的表述中Rule定义的条件为关闭状态(Closed),因此判断结果为满足,执行步骤606。在步骤606中确定依赖资源LivingroomWindowOpen的表述的逻辑(Logic)定义的该依赖资源类型是必要条件类型(AND),进一步执行步骤608;在步骤608中确定是否还有与操作资源TurnOnAC关联的依赖资源未进行判断,由于还存在依赖资源BedroomWindowClosed,因此执行步骤603,并选中依赖资源BedroomWindowClosed,在步骤\n604中根据依赖资源BedroomWindowClosed的URI:http://gscl1/bedroomWindowStatus,获取表示卧室窗户是否开启的资源的表述,即为关闭状态(Closed)。在步骤605中判断步骤\n604中获取的表示卧室窗户是否开启的资源的表述是否满足依赖资源BedroomWindowOpen的表述中Rule定义的条件,而依赖资源BedroomWindowOpen的表述中Rule的定义的条件为关闭状态(Closed),因此判断结果为不满足,则执行步骤607。在步骤607中进一步判断依赖资源MemberAtHome的表述中定义的该依赖资源的类型逻辑(Logic)是必要条件类型,直接执行步骤610。\n[0260] 以下为主动资源变化触发操作后如何获取操作请求的执行结果的实施例,具体的可以参见图10所示实施例中的步骤409和步骤415,分别在针对操作资源CloseWindoW和操作资源TurnOnAC的操作请求发送以后需要获取操作的执行结果。如图5所示的操作资源TurnOnAC的资源结构图和图8所示的CloseWindoW的资源结构图所示,操作资源TurnOnAC的Output URI是空,而操作资源CloseWindoW的Output URI是http://gscl2/allWindowStatus。获取操作的执行结果的具体过程可以包括如图15所示的步骤:\n[0261] 步骤701、参见图10中所示实施例中的步骤409和步骤415,在发送针对操作资源CloseWindoW和操作资源TurnOnAC的操作请求,并接收操作响应后开始。\n[0262] 步骤702、GSCL1确定操作资源的表述中体现操作的执行结果的地址(Output URI)是否为空,本实施例中,操作资源TurnOnAC的表述中的Output URI项为空,执行步骤703,而操作资源CloseWindoW的表述中的Output URI不为空,执行步骤704。\n[0263] 步骤703、如图10所示实施例中步骤415所示,获取操作的执行结果的过程发生在发送操作请求并接收到操作响应之后,对于操作资源的表述中的Output URI项为空的情形,直接保存该操作响应到执行结果Result中。对操作资源TurnOnAC而言,对应的创建(Create)种类的操作请求的操作响应是OK,因此在操作资源TurnOnAC的表述的Result中保存OK。\n[0264] 步骤704、对于操作资源的Output URI不为空的情况,Output URI中保存的是体现操作的执行结果的地址,即一个存储操作执行结果的资源的URI,因此发送获取请求到操作执行结果的资源的URI,以获取该资源的表述。对操作资源CloseWindoW而言,发送获取请求到存储操作执行结果的资源的URI:http://gscl2/allWindowStatus,接收获取响应,该获取响应中包括allWindowStatus资源的表述,即所有窗户都已关闭(Closed)。\n[0265] 步骤705、将在步骤704中获取的allWindowStatus资源的表述保存到操作资源CloseWindoW的表述中的执行结果Result中。\n[0266] 步骤706、结束。\n[0267] 本发明实施例还提供了与上述的方法对应的装置,图16为本发明实施例中机器通信操作触发装置的结构示意图一,该装置存储主动资源的表述,所述主动资源的表述包括主动资源的内容以及与所述主动资源关联的操作资源的信息,如图16所示:\n[0268] 该装置包括获取模块11、构建模块12和发送模块13,其中获取模块11用于在所述主动资源的内容发生变化时,获取存储的主动资源的内容的变化结果,以及根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述,所述操作资源的表述包含向目标资源发送操作请求的条件和所述目标资源的通用资源标识符;所述获取模块还用于将所述变化结果以及所述操作资源的表述发送给所述构建模块;构建模块12用于接收所述变化结果和所述与所述主动资源关联的操作资源的表述,确定所述变化结果满足所述操作资源的表述中的向目标资源发送操作请求的条件时,构建针对所述目标资源的操作请求,并将所述操作请求发送给所述发送模块;发送模块13用于接收所述操作请求,根据所述目标资源的通用资源标识符向所述目标资源发送所述操作请求。\n[0269] 本发明上述实施例提供的技术方案,其中在发生主动资源的内容的变化时,由存储主动资源的内容的变化结果的装置根据与所述主动资源关联的操作资源的信息获取与主动资源关联的操作资源的表述,并构建针对操作资源表述的目标资源的操作请求,最后向操作资源表述的目标资源发送该操作请求,本发明上述实施例中的机器通信操作触发装置可以为M2M平台或网关上的中间件,而M2M平台和网关在网络中都属于有能力的节点,不存在能力受限的问题,利于解决受限环境中业务无法进行的情形。\n[0270] 进一步的,上述主动资源关联的操作资源的信息所述为与主动资源关联的操作资源的表述,上述获取模块根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述具体为:根据所述主动资源的表述中包含的与所述主动资源关联的操作资源的表述获取与所述主动资源关联的操作资源的表述;或所述主动资源关联的操作资源的信息为与主动资源关联的操作资源的通用资源标识符,所述获取模块根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述具体为:根据所述主动资源的表述中包含的所述操作资源的通用资源标识符获取与所述主动资源关联的操作资源的表述;或所述主动资源关联的操作资源的信息为与主动资源关联的操作资源归属的操作资源集的通用资源标识符,所述获取模块根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述具体为:根据所述主动资源的表述中包含的所述操作资源归属的操作资源集的通用资源标识符获取与所述主动资源关联的操作资源的表述,其中与所述主动资源关联操作资源的表述为所述操作资源集包含的操作资源的表述。\n[0271] 本发明上述实施例提供的机器通信操作处理装置,其还可以进一步的包括接收模块,其中接收模块用于,在所述获取模块获取存储于所述装置的主动资源的内容的变化结果之前,接收主动资源更新请求,所述主动资源更新请求包括新的主动资源的表述以及待更新的主动资源的通用资源标识符,所述新的主动资源的表述中包含所述主动资源关联的操作资源的信息,所述接收模块根据所述待更新的主动资源的通用资源标识符更新存储的主动资源的表述为所述新的主动资源的表述;或,\n[0272] 所述接收模块,用于,在所述获取模块获取存储于所述装置的主动资源的内容的变化结果之前,接收操作资源创建请求,所述操作资源创建请求包括与所述主动资源关联的操作资源的表述和所述操作资源归属的操作资源集的通用资源标识符,所述接收模块根据所述操作资源归属的操作资源集的通用资源标识符在所述操作资源集中添加所述操作资源的表述。\n[0273] 另外,在本发明的上述实施例中,其中的操作资源的表述中还包括操作请求的种类和操作请求的输入参数,所述操作请求的种类为创建或更新;\n[0274] 在所述输入参数为参数资源的通用资源标识符时,所述构建模块构建针对所述目标资源的操作请求具体为:从所述参数资源的通用资源标识符所指向的参数资源中获取新的目标资源的表述,构建包括所述目标资源的通用资源标识符和所述新的目标资源的表述的针对操作资源的表述中的目标资源的操作请求;或,\n[0275] 在所述输入参数为所述新的目标资源的表述时,所述构建模块构建针对所述目标资源的操作请求具体为:构建包括所述目标资源的通用资源标识符和所述新的目标资源的表述的针对操作资源的表述中的目标资源的操作请求。\n[0276] 另外,上述的机器通信操作触发装置的接收模块还用于,在所述获取模块获取存储于所述业务能力中间件的主动资源的内容的变化结果之前,接收操作资源更新请求,所述操作资源更新请求包括新的操作资源的表述,所述新的操作资源的表述包含依赖资源的表述或所述依赖资源的通用资源标识符,以及用于更新存储的操作资源的表述为所述新的操作资源的表述;或,\n[0277] 所述接收模块还用于,在所述获取模块获取存储于所述业务能力中间件的主动资源的内容的变化结果之前,接收依赖资源创建请求,所述依赖资源创建请求包括所述依赖资源的表述和所述依赖资源归属的依赖资源集的通用资源标识符,以及用于根据所述依赖资源归属的依赖资源集的通用资源标识符在所述依赖资源集中保存所述依赖资源的表述,且将所述依赖资源集的通用资源标识符添加在操作资源的表述中。\n[0278] 进一步的,在存在依赖资源的技术方案中,上述装置还可以进一步包括确认模块,所述获取模块还用于根据操作资源的表述获取与所述操作资源相关联的依赖资源的表述,以及获取所述依赖资源的表述中的通用资源标识符所指向的条件资源的表述,并将所述条件资源的表述以及依赖资源的表述中的条件发送给所述确认模块;确认模块用于接收所述条件资源的表述,根据所述条件资源的表述确认满足所述依赖资源的表述中的条件。\n[0279] 具体的,上述依赖资源类型分为充分条件类型和必要条件类型,所述依赖资源的数目为至少一个,上述构建模块构建针对操作资源的表述中的目标资源的操作请求之前,进一步用于:确定至少一个充分条件类型的依赖资源规定的条件满足;或,上述构建模块构建针对操作资源的表述中的目标资源的操作请求之前,进一步用于确定所有必要条件类型的依赖资源规定的条件满足。\n[0280] 针对上述操作资源和依赖资源之间的关联关系,可以通过三种方式实现,具体的,上述获取模块根据操作资源的表述获取与所述操作资源相关联的依赖资源的表述具体为:\n根据所述操作资源的表述中包含的所述依赖资源的表述获取与所述操作资源关联的依赖资源的表述;或根据所述操作资源的表述中包含的所述依赖资源的通用资源标识符获取与所述操作资源关联的依赖资源的表述;或根据所述操作资源的表述中包含的所述依赖资源归属的依赖资源集的通用资源标识符获取与所述操作资源关联的依赖资源的表述;其中,与所述操作资源关联的依赖资源的表述为所述依赖资源集包含的依赖资源的表述。\n[0281] 本发明上述实施例中,其中与所述主动资源关联的操作资源为至少两个,操作资源的表述中还可以包括优先级,所述构建模块构建针对操作资源的表述中的目标资源的操作请求具体为:根据所述操作资源的表述中的优先级,依次构建针对每一个操作资源表述的目标资源的操作请求。\n[0282] 本发明上述实施例中,其中操作资源的表述中还包括操作的执行结果,所述接收模块还用于接收所述目标资源返回的操作响应,将所述操作响应保存到所述操作资源的表述中操作的执行结果中;\n[0283] 或,所述操作资源的表述中还包括体现操作执行结果的地址和操作的执行结果,所述\n[0284] 接收模块还用于接收所述目标资源返回的操作响应;\n[0285] 所述获取模块还用于根据所述体现操作执行结果的地址获取所述操作请求对应的操作结果,并将所述操作请求对应的操作结果保存到操作的执行结果中。\n[0286] 另外,本发明实施例还提供了另一种机器通信操作触发装置,图17为本发明实施例中机器通信操作触发装置的结构示意图二,如图17所示,该机器通信操作触发装置包括网络接口21、处理器22和存储器23,其中\n[0287] 所述网络接口21用于与外部设备进行通信,所述存储器23用于存储应用程序以及存储主动资源的表述,所述主动资源的表述包括主动资源的内容以及与所述主动资源关联的操作资源的信息,所述处理器22用于调用存储器存储的应用程序,在主动资源的内容发生变化时,获取存储于存储器的主动资源的内容的变化结果,根据与所述主动资源关联的操作资源的信息获取与所述主动资源关联的操作资源的表述,所述操作资源的表述包含向目标资源发送操作请求的条件和所述目标资源的通用资源标识符,确定所述变化结果满足所述操作资源的表述中向目标资源发送操作请求的条件时,构建针对所述目标资源的操作请求;\n[0288] 所述网络接口21进一步用于根据所述目标资源的通用资源标识符向所述目标资源发送所述操作请求。\n[0289] 本发明上述实施例提供的技术方案,其中的网络接口21、处理器22和存储器23可以通过系统总线24连接,在发生主动资源的内容的变化时,由存储主动资源的内容的变化结果的业务能力中间件根据与所述主动资源关联的操作资源的信息获取与主动资源关联的操作资源的表述,并构建针对操作资源表述的目标资源的操作请求,最后向操作资源表述的目标资源发送该操作请求,本发明上述实施例中的计算机设备可以为M2M平台或网关,而M2M平台和网关在网络中都属于有能力的节点,不存在能力受限的问题,利于解决受限环境中业务无法进行的情形。\n[0290] 本发明上述实施例中,其中的主动资源关联的操作资源的信息为与主动资源关联的操作资源的表述,处理器根据所述主动资源的表述获取与所述主动资源关联的操作资源的表述具体为:根据所述主动资源的表述中包含的所述操作资源的表述获取与所述主动资源关联的操作资源的表述;或所述主动资源关联的操作资源的信息为与主动资源关联的操作资源的通用资源标识符,所述处理器根据所述主动资源的表述获取与所述主动资源关联的操作资源的表述具体为:根据所述主动资源的表述中包含的所述操作资源的通用资源标识符获取与所述主动资源关联的操作资源的表述;或所述主动资源关联的操作资源的信息为与主动资源关联的操作资源归属的操作资源集的通用资源标识符,所述处理器根据所述主动资源的表述获取与所述主动资源关联的操作资源的表述具体为:根据所述主动资源的表述中包含的所述操作资源归属的操作资源集的通用资源标识符获取与所述主动资源关联的操作资源的表述,其中与所述主动资源关联操作资源的表述为所述操作资源集包含的操作资源的表述。\n[0291] 另外,上述的网络接口还用于接收主动资源更新请求,所述主动资源更新请求包括新的主动资源的表述以及待更新的主动资源的通用资源标识符,所述新的主动资源的表述中包含所述主动资源关联的操作资源的信息,所述处理器调用存储器存储的应用程序根据所述待更新的主动资源的通用资源标识符更新存储的主动资源的表述为所述新的主动资源的表述;或所述网络接口还用于接收操作资源创建请求,所述操作资源创建请求包括与所述主动资源关联的操作资源的表述和与所述主动资源关联的操作资源归属的操作资源集的通用资源标识符,所述处理器调用存储器存储的应用程序,并根据所述操作资源归属的操作资源集的通用资源标识符在所述操作资源集中添加所述操作资源的表述。\n[0292] 本发明上述实施例中,其中操作资源的表述中还包括操作请求的种类和操作请求的输入参数,所述操作请求的种类为创建或更新;\n[0293] 在所述输入参数为参数资源的通用资源标识符时,所述处理器从所述参数资源的通用资源标识符所指向的参数资源中获取新的目标资源的表述,构建包括所述目标资源的通用资源标识符和所述新的目标资源的表述的针对操作资源的表述中的目标资源的操作请求;或,\n[0294] 在所述输入参数为所述新的目标资源的表述时,所述处理器构建包括所述目标资源的通用资源标识符和所述新的目标资源的表述的针对操作资源的表述中的目标资源的操作请求。\n[0295] 本发明上述实施例中,其中所述网络接口还用于接收操作资源更新请求,所述操作资源更新请求包括新的操作资源的表述,所述新的操作资源的表述包含依赖资源的表述或所述依赖资源的通用资源标识符,所述处理器调用存储器存储的应用程序,更新存储的操作资源的表述为所述新的操作资源的表述;或所述网络接口还用于接收依赖资源创建请求,所述依赖资源创建请求包括所述依赖资源的表述和所述依赖资源归属的依赖资源集的通用资源标识符,所述处理器调用存储器存储的应用程序,并根据所述依赖资源归属的依赖资源集的通用资源标识符在所述依赖资源集中保存所述依赖资源的表述,且将所述依赖资源集的通用资源标识符添加在所述操作资源的表述中。\n[0296] 进一步的,上述实施例中的处理器还根据操作资源的表述获取与所述操作资源相关联的依赖资源的表述,获取所述依赖资源的表述中的通用资源标识符所指向的条件资源的表述,以及根据所述条件资源的表述确认满足所述依赖资源的表述中的条件。\n[0297] 而上述依赖资源类型分为充分条件类型和必要条件类型,所述依赖资源的数目为至少一个,所述处理器构建针对操作资源的表述中的目标资源的操作请求之前,进一步确定至少一个充分条件类型的依赖资源规定的条件满足(也就是处理器在进一步确定在至少一个充分条件类型的依赖资源规定的条件满足时,构建针对操作资源的表述中的目标资源的操作请求);或,所述处理器建针对操作资源的表述中的目标资源的操作请求之前,进一步确定所有必要条件类型的依赖资源规定的条件满足(也就是处理器确定所有必要条件类型的依赖资源规定的条件满足时,构建针对操作资源的表述中的目标资源的操作请求)。\n[0298] 上述处理器根据所述操作资源的表述中包含的所述依赖资源的表述获取与所述操作资源关联的依赖资源的表述;或根据所述操作资源的表述中包含的所述依赖资源的通用资源标识符获取与所述操作资源关联的依赖资源的表述;或根据所述操作资源的表述中包含的所述依赖资源归属的依赖资源集的通用资源标识符获取与所述操作资源关联的依赖资源的表述,其中,与所述操作资源关联的依赖资源的表述为所述依赖资源集包含的依赖资源的表述。\n[0299] 另外,与所述主动资源关联的操作资源为至少两个,上述操作资源的表述中还包括优先级,所述处理器根据所述操作资源的表述中的优先级,依次构建针对每一个操作资源表述的目标资源的操作请求。\n[0300] 上述操作资源的表述中还包括操作的执行结果,所述网络接口还用于接收所述目标资源返回的操作响应,所述处理器将所述操作响应保存到所述操作资源的表述中操作的执行结果中;\n[0301] 或,所述操作资源的表述中还包括体现操作执行结果的地址和操作的执行结果,所述网络接口还用于接收所述目标资源返回的操作响应;所述处理器根据所述体现操作执行结果的地址获取所述操作请求对应的操作结果,并将所述操作请求对应的操作结果保存到操作的执行结果中。\n[0302] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。\n[0303] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |