发明内容
为了解决现有技术的问题,本发明实施例提供了一种发现机器对机器业务的方法、设备及***。所述技术方案如下:
一方面,本发明实施例提供了一种发现机器对机器业务的方法,所述方法包括:
第一设备接收第二设备发送的第二设备注册请求,所述第二设备注册请求携带有所述第二设备的描述信息;
所述第一设备创建第一资源,存储所述第二设备的描述信息;
所述第一设备向所述第二设备返回第二设备注册成功的响应,以便所述第二设备接收到所述第二设备注册成功的响应后,向所述第二设备发送机器对机器M2M业务注册请求;
所述第一设备接收所述M2M业务注册请求,所述M2M业务注册请求携带有所述第二设备所支持的M2M业务的描述信息;
所述第一设备创建与所述第一资源相对应的第二资源,存储所述第二设备所支持的M2M业务的描述信息,以便M2M业务请求者根据所述第二设备的描述信息及所述第二设备所支持的M2M业务的描述信息,发现M2M业务。
所述第二设备的描述信息包括所述第二设备的标识信息,所述标识信息至少包括接入URI信息、设备标识及IP地址中的一种。
所述第二设备的描述信息还至少包括所述第二设备的名称及所属M2M网络域的信息中的一种。
所述M2M业务的描述信息包括所述M2M业务的标识信息。
所述M2M业务的描述信息还至少包括所述M2M业务的名称、所述M2M业务的提供者信息、所述M2M业务的类型、所述M2M业务服务的区域信息、所述M2M业务服务用户的数量和所述M2M业务的计费标准中的一种。
所述第二设备注册请求或者所述M2M业务注册请求还至少携带有M2M注册机一般通信RGC能力层的地址信息及标识信息中的一种。
另一方面,本发明实施例还提供了一种发现机器对机器业务的设备,所述设备包括:第一接收模块、第一资源创建模块、发送模块、第二接收模块及第二资源创建模块;
所述第一接收模块,用于接收第二设备发送的第二设备注册请求,所述第二设备注册请求携带有所述第二设备的描述信息;
所述第一资源创建模块,用于创建第一资源,存储所述第二设备的描述信息;
所述发送模块,用于所述第一设备向所述第二设备返回第二设备注册成功的响应,以便所述第二设备接收到所述第二设备注册成功的响应后,向所述第二设备发送机器对机器M2M业务注册请求;
所述第二接收模块,用于接收所述M2M业务注册请求,所述M2M业务注册请求携带有所述第二设备所支持的M2M业务的描述信息;
所述第二资源创建模块,用于创建与所述第一资源相对应的第二资源,存储所述第二设备所支持的M2M业务的描述信息,以便M2M业务请求者根据所述第二设备的描述信息及所述第二设备所支持的M2M业务的描述信息,发现M2M业务。
本方面实施例提供了一种发现机器对机器业务的***,,所述***包括第一设备和第二设备;
所述第二设备用于向所述第一设备发送第二设备注册请求,所述第二设备注册请求携带有所述第二设备的描述信息;
所述第一设备用于在接收到所述第二设备注册请求时,创建第一资源,存储所述第二设备的描述信息,并向所述第二设备返回第二设备注册成功的响应;
所述第二设备还用于接收到所述第二设备注册成功的响应后,向所述第一设备发送M2M业务注册请求,所述M2M业务注册请求携带有所述第二设备所支持的M2M业务的描述信息;
所述第一设备用于在接收到所述M2M业务注册请求时,创建与所述第一资源相对应的第二资源,存储所述第二设备所支持的M2M业务的描述信息,以便M2M业务请求者根据所述第二设备的描述信息及所述第二设备所支持的M2M业务的描述信息,发现M2M业务。
再者,本发明实施例该提供了一种发现机器对机器业务的方法,所述方法包括:
第一设备接收机器对机器M2M业务请求者发送的业务查询消息,所述业务查询消息携带有查询条件;
所述第一设备根据所述查询条件查询本地存储的M2M业务的描述信息,得到与所述查询条件相匹配的M2M业务的描述信息;
所述第一设备向所述M2M业务请求者至少返回查询到的M2M业务的描述信息,及支持所查询到的M2M业务的第二设备的描述信息中的一种,以便所述M2M业务请求者从所述第二设备中获取所述查询到的M2M业务的业务数据,或者使用所述查询到的M2M业务。
所述第一设备向所述M2M业务请求者至少返回查询到的M2M业务的描述信息,及支持所查询到的M2M业务的第二设备的描述信息中的一种包括:
所述第一设备根据查询到的M2M业务的描述信息,查询本地存储的支持M2M业务的第二设备的描述信息,得到支持所述查询到的M2M业务的第二设备,之后,向所述M2M业务请求者返回查询到的M2M业务的描述信息,及支持所查询到的M2M业务的第二设备的描述信息;
或者,当支持M2M业务的第二设备与所述第一设备位于同一设备内时,所述第一设备直接向所述M2M业务请求者返回查询到的M2M业务的描述信息;
或者,向所述M2M业务请求者返回查询到的M2M业务的描述信息,以便所述第二设备在接收到所述查询到的M2M业务的描述信息后,向所述第一设备发送第二设备获取请求;接收所述第二设备获取请求,所述第二设备获取请求用于请求获取支持所述查询到的M2M业务的第二设备,所述第二设备获取请求携带有所述查询到的M2M业务的标识信息;根据所述标识信息,查询本地存储的支持M2M业务的第二设备的描述信息,得到支持所述查询到的M2M业务的第二设备;向所述M2M业务请求者返回支持所查询到的M2M业务的第二设备的描述信息。
所述查询条件至少包括请求查询的M2M业务的名称、请求查询的M2M业务的标识、请求查询的M2M业务的提供者信息、请求查询的M2M业务的类型、请求查询的M2M业务服务的区域信息、请求查询的M2M业务服务用户的数量和请求查询的M2M业务的计费标准中的一种。
所述M2M业务的描述信息包括所述M2M业务的标识信息。
所述M2M业务的描述信息还至少包括所述M2M业务的名称、所述M2M业务的提供者信息、所述M2M业务的类型、所述M2M业务服务的区域信息、所述M2M业务服务用户的数量和所述M2M业务的计费标准中的一种。
所述第二设备的描述信息包括所述第二设备的标识信息,所述标识信息至少包括接入URI信息、SCL标识及IP地址中的一种。
所述第二设备的描述信息还至少包括所述第二设备的名称及所属M2M网络域的信息中的一种。
所述业务查询消息还至少携带有M2M注册机应用使能RAE能力层的地址信息及标识信息中的一种。
所述M2M业务请求者从所述第二设备中获取所述查询到的M2M业务的业务数据,或者使用所述查询到的M2M业务包括:
所述第二设备接收所述M2M业务请求者发送的M2M业务数据获取请求;
所述第二设备在本地存储的与所述查询到的M2M业务相对应的资源容器中,查询最新的内容实例,并向所述M2M业务请求者发送所述最新的内容实例。
所述M2M业务请求者从所述第二设备中获取所述查询到的M2M业务的业务数据,或者使用所述查询到的M2M业务包括:
所述第二设备接收所述M2M业务请求者发送的M2M业务数据订阅请求,所述M2M业务数据订阅请求携带有订阅信息;
所述第二设备创建订阅资源,用于存储所述订阅信息;
所述第二设备在本地存储的与所述查询到的M2M业务相对应的资源容器中有内容实例更新时,将更新的内容实例通过所述订阅信息中的订阅反馈地址,反馈给所述M2M业务请求者。
所述M2M业务请求者从所述第二设备中获取所述查询到的M2M业务的业务数据,或者使用所述查询到的M2M业务之前,所述方法还包括:
所述第二设备接收所述M2M业务请求者发送的注册请求;
所述第二设备本地创建与所述M2M业务请求者相对应的资源。
一种发现机器对机器业务的设备,,所述设备包括:第一接收模块、第一查询模块、信息反馈模块;
所述第一接收模块,用于接收M2M业务请求者发送的业务查询消息,所述业务查询消息携带有查询条件;
所述第一查询模块,用于根据所述查询条件查询本地存储的M2M业务的描述信息,得到与所述查询条件相匹配的M2M业务的描述信息;
所述信息反馈模块,用于向所述M2M业务请求者至少返回查询到的M2M业务的描述信息,及支持所查询到的M2M业务的第二设备的描述信息中的一种,以便所述M2M业务请求者从所述第二设备中获取所述查询到的M2M业务的业务数据,或者使用所述查询到的M2M业务。
所述信息反馈模块包括:
第一信息反馈单元,用于根据查询到的M2M业务的描述信息,查询本地存储的支持M2M业务的第二设备的描述信息,得到支持所述查询到的M2M业务的第二设备,之后,向所述M2M业务请求者返回查询到的M2M业务的描述信息,及支持所查询到的M2M业务的第二设备的描述信息;
或者,第二信息反馈单元,用于当支持M2M业务的第二设备与所述第一设备位于同一设备内时,所述第一设备直接向所述M2M业务请求者返回查询到的M2M业务的描述信息;
或者,第三信息反馈单元,用于向所述M2M业务请求者返回查询到的M2M业务的描述信息,以便所述第二设备在接收到所述查询到的M2M业务的描述信息后,向所述第一设备发送第二设备获取请求;接收所述第二设备获取请求,所述第二设备获取请求用于请求获取支持所述查询到的M2M业务的第二设备,所述第二设备获取请求携带有所述查询到的M2M业务的标识信息;根据所述标识信息,查询本地存储的支持M2M业务的第二设备的描述信息,得到支持所述查询到的M2M业务的第二设备;向所述M2M业务请求者返回支持所查询到的M2M业务的第二设备的描述信息。
一种发现机器对机器业务的***,所述***包括机器对机器M2M业务请求者及第一设备;
所述M2M业务请求者用于向所述第一设备发送业务查询消息,所述业务查询消息携带有查询条件;
所述第一设备,用于根据所述查询条件查询本地存储的M2M业务的描述信息,得到与所述查询条件相匹配的M2M业务的描述信息,并向所述M2M业务请求者至少返回查询到的M2M业务的描述信息,及支持所查询到的M2M业务的第二设备的描述信息中的一种,以便所述M2M业务请求者从所述第二设备中获取所述查询到的M2M业务的业务数据,或者使用所述查询到的M2M业务。
所述***还包括所述第二设备,所述第二设备包括:
第一接收模块,用于接收所述M2M业务请求者发送的M2M业务数据获取请求;
第一数据反馈模块,用于在本地存储的与所述查询到的M2M业务相对应的资源容器中,查询最新的内容实例,并向所述M2M业务请求者发送所述最新的内容实例。
所述***还包括所述第二设备,所述第二设备包括:
第二接收模块,用于接收所述M2M业务请求者发送的M2M业务数据订阅请求,所述M2M业务数据订阅请求携带有订阅信息;
第一资源创建模块,用于创建订阅资源,用于存储所述订阅信息;
第二数据反馈模块,用于在本地存储的与所述查询到的M2M业务相对应的资源容器中有内容实例更新时,将更新的内容实例通过所述订阅信息中的订阅反馈地址,反馈给所述M2M业务请求者。
所述***还包括所述第二设备,所述第二设备包括:
第三接收模块,用于接收所述M2M业务请求者发送的注册请求;
第二资源创建模块,用于本地创建与所述M2M业务请求者相对应的资源。
本发明实施了所提供的有益效果为:接收第二设备发送的第二设备注册请求及M2M业务注册请求,存储第二设备的描述信息及第二设备所支持的M2M业务的描述信息,可以使得M2M业务请求者(M2M用户、M2M应用或者第一设备)根据第一设备存储的第二设备的描述信息及第二设备所支持的M2M业务的描述信息来发现M2M业务。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
参见图1a,一种发现机器对机器业务的方法,包括:
步骤101a:第一设备接收第二设备发送的第二设备注册请求,所述第二设备注册请求携带有第二设备的描述信息;
步骤102a:第一设备创建第一资源,存储第二设备的描述信息;
步骤103a::第一设备向第二设备返回第二设备注册成功的响应,以便第二设备接收到第二设备注册成功的响应后,向第二设备发送机器对机器M2M业务注册请求
步骤104a:第一设备接收第二设备所发送的M2M业务注册请求,所述M2M业务注册请求携带有第二设备所支持的M2M业务的描述信息;
步骤105a:第一设备创建与第一资源相对应的第二资源,存储第二设备所支持的M2M业务的描述信息,以便M2M业务请求者根据第一设备所存储的第二设备的描述信息及第二设备所支持的M2M业务的描述信息来发现M2M业务。
本发明实施了所提供的有益效果为:接收第二设备发送的第二设备注册请求及M2M业务注册请求,存储第二设备的描述信息及第二设备所支持的M2M业务的描述信息,可以使得M2M业务请求者(M2M用户、M2M应用或者第一设备)根据第一设备存储的第二设备的描述信息及第二设备所支持的M2M业务的描述信息来发现M2M业务。
参见图1b,一种发现机器对机器业务的方法,包括:
步骤101b:第一设备接收M2M业务请求者发送的业务查询消息,所述业务查询消息携带有查询条件;
步骤102b:第一设备根据所述查询条件查询本地存储的M2M业务的描述信息,得到与所述查询条件相匹配的M2M业务的描述信息;
步骤103b:第一设备向M2M业务请求者返回查询到的M2M业务的描述信息及支持所查询到的M2M业务的第二设备的描述信息,以便M2M业务请求者从所述第二设备中获取所述查询到的M2M业务的业务数据,或者使用所述查询到的M2M业务;
本发明实施例所带来的有益效果为:根据M2M业务请求者发送的业务查询消息内的查询条件来查询本地存储的M2M业务的描述信息,得到与所述查询条件相匹配的M2M业务的描述信息,之后向所述M2M业务请求者返回查询到的M2M业务的描述信息及支持所查询到的M2M业务的第二设备的描述信息,使得M2M业务请求者可以从查询到的M2MNSCL中获取所述查询到的M2M业务的业务数据。
本发明实施例中,以上所述的第一设备具体可以为M2M注册机(M2M Registry),优选地,在具体实现发现M2M业务的过程中,第一设备具体可以是M2M注册机内的业务能力层(Registry Service Capabilities Layer,简称RSCL);以上所述的第二设备具体可以为M2M网络实体,如M2M设备(M2M Device)、M2M网关(M2M Gateway)或者M2M服务器(M2MServer),优选地,在具体实现发现M2M业务的过程中,第二设备具体可以是M2M网络实体内的M2M业务能力层(M2M Service Capabilities Layer,简称M2M SCL),其中,M2M SCL具体可以是位于M2M设备的M2M设备业务能力层(M2M Device Service Capabilities Layer,简称:M2M DSCL),位于M2M网关的M2M网关业务能力层(M2M Gateway ServiceCapabilities Layer,简称:M2M GSCL),或者位于M2M服务器的M2M网络业务能力层(M2MServer Service Capabilities Layer,简称:M2M NSCL)。
本发明实施例就以第一设备为M2M RSCL、第二设备为M2M SCL中的M2M NSCL为例来详细说明如图1及图2所示的技术方案,而当第一设备及第二设备具体为上述的其他实体时,发现M2M业务的方法与此相同,本实例就不再赘述,具体描述如下:
本发明实施例所对应的M2M网络架构的示例可以参见图2,图中包括M2M网络域201和M2M网络域202两个不同的M2M网络域,及M2M注册机(M2M Registry)203。其中,M2M网络域201包括M2MNSCL2011和M2MNSCL2012两个不同的M2MNSCL,M2M网络域202包括M2M NSCL2021一个M2M NSCL。
这里,M2M NSCL位于M2M服务器内,包括网络消息传送(Network GenericCommunication,简称:NGC)能力层及网络应用接入(Network Application Enablement,简称:RAE)能力层,其中,RGC可以提供M2M业务的信息注册服务,RAE可以提供M2M业务的查询服务。
需要说明的是,本发明技术方案在实现之前,M2M业务可以直接通过mIa接口在M2MNSCL内注册,还可以通过dIa接口注册到M2M网络内的M2M GSCL,之后,经过mIa接口将M2M GSCL中注册的M2M业务注册到M2M NSCL。M2M NSCL存储M2M业务的注册信息,并可以接收、存储或者处理M2M设备所上报的M2M业务数据,以为用户提供M2M业务服务。其中,dIa接口是ETSI TS 102921中定义的M2M业务与M2M GSCL间的接口,mIa接口是ETSI TS 102921中定义的M2M业务和M2MNSCL之间的接口。
本发明实施例中,M2M注册机203支持ETSI TC M2M定义的M2M SCL,这里,M2M注册机所支持的业务能力定义为M2M注册机业务能力层(M2M Registry Service CapabilitiesLayer简称:M2M RSCL)。M2M RSCL包括注册器一般通信(Registry Generic Communication,简称:RGC)能力层及注册机应用使能(Registry Application Enablement,简称:RAE)能力层,其中,RGC提供M2M业务的信息注册服务,RAE则提供M2M业务的查询服务。
基于上述网络架构,本发明所提供的发现M2M业务的方法的整体构思可以为:同一个M2M网络域内的不同M2M NSCL或不同M2M网络域内的M2M NSCL分别可以将M2MNSCL的信息及M2M NSCL所支持的M2M业务信息注册到M2M RSCL上,这样,M2M应用或者M2M用户就可以查询M2M RSCL上所注册的M2M NSCL及M2M业务信息来发现M2M业务及获取相应的M2M业务数据。
参见图3,本发明实施所提供了一种发现M2M业务的方法可以包括如下操作:
步骤301:M2M NSCL向M2M RSCL发送身份验证请求,该身份验证请求包含M2MNSCL的标识信息;
步骤302:M2M RSCL接收到所述身份验证请求后,验证所述M2M NSCL的身份;
本发明实施例在具体实现时,M2M RSCL预先静态配置有允许注册的M2M NSCL的信息,这里,所配置的允许注册的M2M NSCL的信息至少包括M2M NSCL的标识信息。M2MRSCL在接收到所述身份验证请求后,确定本地保存的M2M NSCL的标识信息中是否包含有所述M2M NSCL的标识信息,当M2M RSCL本地存储有所述M2M NSCL的标识信息时,则判定所述M2M NSCL的身份是合法的,允许所述M2M NSCL进行注册,并向M2M NSCL返回验证成功的消息,M2M NSCL在接收到所述验证成功的消息后,向M2M RSCL发送注册请求。
步骤303:M2M NSCL向M2M RSCL发送M2M NSCL注册请求,请求在M2M RSCL中创建第一资源,本发明实施例中第一资源为NSCL资源,即请求在M2M RSCL中创建M2MNSCL的上下文信息,这里,POST(注册)路径可以为“/<sclBase>/scls/<nscl>”;
本发明实施例中,所述M2M NSCL注册请求的消息体中携带有所述M2M NSCL的描述信息,这里,所述M2M NSCL的描述信息至少包括有所述M2M NSCL的标识信息(nscl-ID),其中,所述M2M NSCL的标识信息具体至少可以包括access(接入)URI(Uniform ResourceIdentifier,通用资源标识符)、NSCL标识及IP地址中的一种,而在具体实现时,所述M2MNSCL的描述信息除了包括有所述描述信息外,还至少可以包括M2M NSCL的名称和所述M2M NSCL所属网络域的信息(M2M NSCL Domain信息)中的一种。
另外,所述M2M NSCL的注册请求的消息头还至少携带有M2M Registry RGC的地址信息及标识信息中的一种,这里,M2M RSCL中地址信息或标识信息对应的M2M RegisterRGC来具体为所述M2M NSCL提供注册服务。
其中,nscl-ID用于标识所述M2M NSCL,接入URI信息给出所述M2M NSCL的接入信息,如所述M2M NSCL的接入路径等。
步骤304:M2M RSCL接收到所述M2M SCL注册请求后,验证所述M2M NSCL是否已在M2M RSCL内注册;
如果所述M2M NSCL已在M2M RSCL内注册,则拒绝所述M2M SCL注册请求,并向所述M2M NSCL返回错误信息,操作结束;
如果所述M2M NSCL未在M2M RSCL内注册,执行步骤305;
具体地,验证所述M2M NSCL是否已在M2M RSCL内注册可以包括:
检查<sclBase>/scls路径中是否存在以所述nscl-ID为标识的NSCL资源,若存在,则判定所述M2M NSCL已在M2M RSCL内注册,否则,则判定所述M2M NSCL未在M2M RSCL内注册。
步骤305:NSCL RSCL接受所述M2M SCL注册请求,创建NSCL资源,存储所述M2MNSCL的描述信息,具体地,在<sclBase>/scls路径中创建NSCL资源本,发明实施例中,所创建的NSCL资源以所述nscl-ID为标识;
步骤306、M2M RSCL在成功创建以nscl-ID为标识的NSCL资源后,向所述M2M NSCL返回NSCL资源成功创建的响应消息;
步骤307、M2M NSCL在接收到nscl资源成功创建的响应消息后,向M2M RSCL发送M2M业务注册请求,请求在M2M RSCL中注册所述M2M NSCL所支持的M2M业务的信息,这里,POST路径具体可以为“/<sclBase>/scls/<nscl>/applications”;
本发明实施例中,所述M2M业务注册请求的消息体中至少携带有所述M2M NSCL所支持的M2M业务的描述信息,这里,所述M2M业务的描述信息至少包括M2M业务的标识信息(APP-ID),在具体实现时,所述M2M业务的描述信息还可以至少包括M2M业务的名称(APP-name)、M2M业务的提供者信息(Service Provider)、M2M业务的类型(App-Type或者vertical service type)、M2M业务所服务区域信息(Location)和M2M业务服务用户的数量级M2M业务的计费标准等业务描述(Service description)中的一种。
所述M2M业务注册请求的消息头中至少携带有M2M Registry RGC的地址信息及标识信息中的一种,这里,M2M RSCL中所述地址信息或标识信息对应的M2M Register RGC来具体为所述M2M NSCL提供注册服务。
步骤308:M2M RSCL接收到所述M2M业务注册请求后,验证请求注册的所述M2MNSCL所支持的M2M业务是否已在M2M RSCL中注册;
如果已在M2M RSCL中注册,则拒绝所述M2M业务注册请求,向M2M NSCL返回错误消息;
如果未在M2M RSCL中注册,执行步骤309;
具体地,验证请求注册的所述M2M NSCL所支持的M2M业务是否已在M2M RSCL中注册可以包括:
检查<sclBase>/scls/<nscl>/applications路径中是否存在所请求注册的所述M2M NSCL所支持的M2M业务的APP-ID,若存在,则判定请求注册的所述M2M NSCL所支持的M2M业务已在M2M RSCL内注册,否则,则判定请求注册的所述M2M NSCL所支持的M2M业务未在M2M RSCL内注册。
步骤309:M2M RSCL接受所述M2M业务注册请求,创建与所述NSCL资源相对应的第二资源,本发明实施例中第二资源为M2M业务资源,存储所述M2M NSCL所支持的M2M业务的描述信息,所述M2M业务资源具体可以以M2M业务标识(APP-ID)来标识;
具体地,M2M RSCL在<sclBase>/scls/<nscl>/applications路径中创建以所述APP-ID标识的M2M业务资源;
步骤310:M2M RSCL成功创建以APP-ID为标识的M2M业务资源后,向M2M NSCL返回M2M业务资源成功创建的响应消息,以通知所述M2M NSCL其支持的M2M业务已在M2M RSCL上注册成功。
经过上述步骤后,M2M RSCL中所注册的M2M NSCL及M2MNSCL所支持的M2M业务可以由图4所示的树形结构(M2M RSCL Tree)来直观体现。
这样,当M2M NSCL及M2M NSCL所支持的M2M业务在M2M RSCL上注册后,M2M业务请求者,如M2M NA(M2M Network Application,M2M网络应用)、M2M SCL或者M2M用户就可以根据该M2M RSCL上所注册的M2M NSCL及该M2M NSCL所支持的M2M业务来发现M2M业务。
下面以M2M业务请求者中的M2M应用发现M2M业务为例来详细说明发现M2M业务的过程,M2M用户或M2M SCL发现M2M业务的过程与此相同,参见图5,一种发现M2M业务的方法,可以包括如下操作:
步骤401:M2M NA向M2M RSCL发送M2M业务查询消息,请求查询所需的M2M业务,GET(查询)路径具体可以为“/<sclBase>/scls/nscl/applications”;
本发明实施例中,所述M2M业务查询消息的消息体内携带有查询条件,所述查询条件用于检索所需的M2M业务,这里,所述查询条件至少可以包括请求查询的M2M业务的名称、请求查询的M2M业务的标识、请求查询的M2M业务的提供者信息、请求查询的M2M业务的类型、请求查询的M2M业务服务的区域信息、请求查询的M2M业务服务用户的数量和请求查询的M2M业务的计费标准中的一种。
另外,所述M2M业务查询消息的消息头中还至少携带有M2M Registry RAE的地址信息及标识信息中的一种,这里,M2M RSCL中所述地址信息或标识信息对应的M2M RegisterRAE来具体为所述M2M NA提供查询服务。
步骤402:M2M RSCL接收到所述M2M业务查询消息时,根据所述查询条件查询本地创建的M2M业务的描述信息,得到与所述查询条件相匹配的M2M业务的描述信息;
步骤403:M2M RSCL向M2MNA返回查询到的M2M业务的描述信息;
本发明实施了中,所述M2M业务的描述信息至少包括M2M业务的标识信息,而该标识信息用于标识所述M2M业务的描述信息,在具体实现时,所述M2M业务的描述信息还至少可以包括M2M业务的名称、M2M业务的提供者信息、M2M业务的类型、M2M业务服务的区域信息、M2M业务服务用户的数量和M2M业务的计费标准中的一种。
步骤404:M2M NA接收到所述查询到的M2M业务的描述信息后,向M2M RSCL发送M2M NSCL获取请求,所述M2M NSCL获取请求用于请求获取支持所述查询到的M2M业务的M2M NSCL,所述M2M NSCL获取请求携带有所述查询到的M2M业务的标识信息(app-ID),GET(查询)路径具体可以为“/<sclBase>/scls”;
本发明实施例中,所述M2M NSCL获取请求的消息头中至少携带M2M Registry RAE的地址信息及标识信息中的一种,这里,M2M RSCL内所述地址信息或标识信息对应的M2MRegistry RAE来为M2M NA提供查询服务。
步骤405:M2M RSCL接收到所述M2M NSCL获取请求后,根据所述app-ID查询本地存储的支持M2M业务的M2M NSCL的描述信息,得到支持所述查询到的M2M业务的M2MNSCL;
步骤406:M2M RSCL向M2M NA返回查询到的M2M NSCL的描述信息,以便M2M NA从查询到的M2M NSCL中获取所述查询到的M2M业务的业务数据,或者使用所查询到的M2M业务;
所述M2M NSCL的描述信息至少包括查询到的M2M NSCL的标识信息、该查询到的M2M NSCL的标识信息至少可以包括接入URI信息、SCL标识及IP地址中的一种,在具体实现时,所述M2M NSCL的描述信还至少可以包括M2M NSCL名称及所属M2M网络域的信息的一种。
本发明实施例在具体实现时,以上所述M2M RSCL和及支持M2M业务的M2M NSCL可以位于同一设备,也即M2M RSCL和支持M2M NSCL的M2M NSCL共址,这种情况下,M2M NA在向M2M RSCL发送业务查询请求时就已知道了支持所查询到的M2M业务的M2M NSCL的地址,故以上所述的步骤404至步骤406可以省略执行;
另外,在本发明实施例具体实现时,以上所述的M2M RSCL在根据所接收到的查询条件查询得到相应的M2M业务后,M2M RSCL可以不用等待M2M NSCL的下一步指令,直接在本地存储的支持M2M业务的M2M NSCL的描述信息中,查找支持查找到的M2M业务的M2M NSCL,在这种情况下,以上所述的步骤404至步骤406可以由以下操作替代:M2M RSCL根据查询到的M2M业务的描述信息,查询本地存储的支持M2M业务的M2M NSCL的描述信息,得到支持所述查询到的M2M业务的M2M NSCL,向所述M2M业务请求者返回查询到的M2M业务的描述信息,及支持所查询到的M2M业务的M2M NSCL的描述信息。
经过上述操作后,M2M业务请求者便可以在M2M RSCL所注册的M2M NSCL及M2MNSCL支持的M2M业务中查询到所需的M2M业务,及支持所查询到的M2M业务的M2MNSCL,之后,便可以在支持所查询到的M2M业务的M2M NSCL上,获取所查询到的M2M业务的数据信息及使用查询到的M2M业务。
下面以M2M应用为例来说明获取所查询到的M2M业务的数据信息及使用查询到的M2M业务的方法,M2M用户或M2M SCL获取所查询到的M2M业务的数据信息及使用查询到的M2M业务的方法与此相同,具体方法可以参见图6,包括如下操作:
步骤500:查询到的M2M NSCL接收M2M设备发送的更新数据,并将接收到的数据存储到M2M业务对应的资源容器内,以备M2M NA查询使用;
步骤501:M2M NA在获取查询到的M2M业务的数据信息之前,向查询到的M2M NSCL发送M2M NA注册请求,以注册使用所述查询到的M2M业务,POST(注册)路径为“nscl/applications/m2mNa”,所述M2M NA注册请求的消息头中携带M2M NSCL1NAE的IP地址。
步骤502:查询到的M2M NSCL接收到所述M2M NA注册请求后,在本地创建所述M2MNA对应的资源,且用app-ID标识所创建的资源;
步骤503:查询到的M2M NSCL成功创建M2MNA对应的资源后,向M2M NA返回成功创建的响应消息;
步骤504:M2M NA向查询到的M2M NSCL发送数据获取(contentInstance)请求,GET(获取)路径为“nscl/applications/m2mApp1/containers/Container/contentInstances”,请求消息头中携带M2M NSCLNAE IP地址;
步骤505:查询到的M2M NSCL接收到来自M2M NA的contentInstance请求后,在本地存储的与所述查询到的M2M业务对应的资源容器(container)中查询最新的内容实例(contentInstance);
步骤506:查询到的M2M NSCL向M2M NA发送最新的contentInstance。
上述是M2M业务请求者主动获取查询到的M2M业务的数据信息的实现过程,而在具体实现时,M2M业务请求者还可以通过订阅的方式来获取查询到的M2M业务的数据信息。下面以M2M应用为例来说明获取所查询到的M2M业务的数据信息的方法,M2M用户获取所查询到的M2M业务的数据信息的方法与此相同,具体方法可以参见图7,包括如下操作步骤:
步骤600至步骤603的实现请分别对应参见步骤500至步骤503的描述,此处就不再赘述。
步骤604:M2M NA向查询到的M2M NSCL发送M2M业务数据订阅请求,POST路径为:nscl/applications/m2mApp1/containers/Container/contentInstances/subscription;
所述M2M业务数据订阅信息至少包括但不限于订阅类型(subscriptionType)和订阅反馈地址(callback URI);
步骤605:查询到的M2M NSCL在本地创建订阅(Subscription)资源,存储所述订阅信息;
步骤606:查询到的M2M NSCL成功创建Subscription资源后,向M2M NA返回Subscription资源成功创建的响应消息;
步骤607:查询到的M2M NSCL在本地存储的与所述查询到的M2M业务相对应的资源容器中有内容实例更新时,将更新的内容实例通过所述订阅信息中的订阅反馈地址反馈给所述M2M应用或者M2M用户;
步骤608:M2M NA保存接收到的内容实例,并向查询到的M2M NSCL确认M2M业务数据更新。
本发明技术方案带来的有益效果:当同一个M2M网络域内或不同M2M网络域间存在多个不同的M2M NSCL时,可在M2M RSCL上注册M2M NSCL及M2M NSCL支持的M2M业务的描述信息,以便M2M用户或者M2M应用可以根据M2M RSCL所注册的M2M NSCL及M2M NSCL支持的M2M业务的描述信息来发现特定的M2M业务及支持该特定的M2M业务的M2MNSCL,并可以从支持该特定的M2M业务的M2MNSCL中获取所述特定M2M业务的数据。
实施例二
参见图8,本发明实施例提供了一种发现机器对机器业务的设备,该设备包括接收器、发送器、存储器及处理器;
本发明实施例在具体实现时,接收器用于接收第二设备发送的第二设备注册请求,所述第二设备注册请求携带有所述第二设备的描述信息;
处理器用于创建第一资源,存储所述第二设备的描述信息至存储器;
发送器用于向所述第二设备返回第二设备注册成功的响应,以便所述第二设备接收到所述第二设备注册成功的响应后,向所述第二设备发送机器对机器M2M业务注册请求;
相应地,接收器还用于接收所述M2M业务注册请求,所述M2M业务注册请求携带有所述第二设备所支持的M2M业务的描述信息;
处理器还用于创建与所述第一资源相对应的第二资源,存储所述第二设备所支持的M2M业务的描述信息至存储器,以便M2M业务请求者根据所述第二设备的描述信息及所述第二设备所支持的M2M业务的描述信息,发现M2M业务。
本发明实施例所提供的技术方案可以适用于包括计算机、小型机、机架式服务器在内的任何处于M2M业务运行的分布式计算机***以及非计算机调度***中(如车队管理***、自动读表***、健康监护***或者环境监控***等)。
本发明实施了所提供的有益效果为:接收第二设备发送的第二设备注册请求及M2M业务注册请求,存储第二设备的描述信息及第二设备所支持的M2M业务的描述信息,可以使得M2M业务请求者(M2M用户、M2M应用或者第一设备)根据第一设备存储的第二设备的描述信息及第二设备所支持的M2M业务的描述信息来发现M2M业务。
实施例三
参见图9,本发明实施例提供了一种发现机器对机器业务的设备,该设备具体与方法实施一中所述的第一设备相同,可以包括:第一接收模块701、第一资源创建模块702、发送模块703、第二接收模块704及第二资源创建模块705;
第一接收模块701,用于接收第二设备发送的第二设备注册请求,所述第二设备注册请求携带有所述第二设备的描述信息;
本发明实施例中,,所述第二设备的描述信息可以包括所述第二设备的标识信息,所述标识信息至少包括接入URI信息、设备标识及IP地址中的一种。
而在具体实现时,所述第二设备的描述信息还至少可以包括所述第二设备的名称及所属M2M网络域的信息中的一种。
第一资源创建模块702,用于创建第一资源,存储所述第二设备的描述信息;
发送模块703,用于向所述第二设备返回第二设备注册成功的响应,以便所述第二设备接收到所述第二设备注册成功的响应后,向所述第二设备发送机器对机器M2M业务注册请求;
第二接收模块704,用于接收所述M2M业务注册请求,所述M2M业务注册请求携带有所述第二设备所支持的M2M业务的描述信息;
本发明实施例中,所述M2M业务的描述信息至少包括所述M2M业务的标识信息。
而在具体实现时,所述M2M业务的描述信息还至少包括所述M2M业务的名称、所述M2M业务的提供者信息、所述M2M业务的类型、所述M2M业务服务的区域信息、所述M2M业务服务用户的数量和所述M2M业务的计费标准中的一种。
第二资源创建模块705,用于创建与所述第一资源相对应的第二资源,存储所述第二设备所支持的M2M业务的描述信息,以便M2M业务请求者根据所述第二设备的描述信息及所述第二设备所支持的M2M业务的描述信息,发现M2M业务。
本发明实施了所提供的有益效果为:接收第二设备发送的第二设备注册请求及M2M业务注册请求,存储第二设备的描述信息及第二设备所支持的M2M业务的描述信息,可以使得M2M业务请求者(M2M用户、M2M应用或者第一设备)根据第一设备存储的第二设备的描述信息及第二设备所支持的M2M业务的描述信息来发现M2M业务。
实施例四
参见图10,本发明实施例提供了一种发现机器对机器业务的***,所述***包括第一设备801和第二设备802;
第二设备802用于向第一设备801发送第二设备注册请求,所述第二设备注册请求携带有第二设备802的描述信息;
第一设备801用于在接收到第二设备注册请求时,创建第一资源,存储第二设备802的描述信息,并向第二设备802返回第二设备注册成功的响应;
第二设备802还用于接收到所述第二设备注册成功的响应后,向第一设备801发送M2M业务注册请求,所述M2M业务注册请求携带有第二设备802所支持的M2M业务的描述信息;
第一设备801用于在接收到所述M2M业务注册请求时,创建与第一资源相对应的第二资源,存储第二设备802所支持的M2M业务的描述信息,以便M2M业务请求者根据第二设备802的描述信息及第二设备802所支持的M2M业务的描述信息,发现M2M业务。
其中,有关第一设备801的详细结构请参见实施例三中所述设备的结构,此处就不再赘述。
本发明实施了所提供的有益效果为:接收第二设备发送的第二设备注册请求及M2M业务注册请求,存储第二设备的描述信息及第二设备所支持的M2M业务的描述信息,可以使得M2M业务请求者(M2M用户、M2M应用或者第一设备)根据第一设备存储的第二设备的描述信息及第二设备所支持的M2M业务的描述信息来发现M2M业务。
实施例五
参见图11,本发明实施例还提供了一种发现机器对机器业务的设备,该设备具体可以包括:接收器、处理器及发送器;
接收器,用于接收M2M业务请求者发送的业务查询消息,所述业务查询消息携带有查询条件;
处理器,用于根据所述查询条件查询本地存储的M2M业务的描述信息,得到与所述查询条件相匹配的M2M业务的描述信息;
发送器,用于向所述M2M业务请求者至少返回查询到的M2M业务的描述信息,及支持所查询到的M2M业务的第二设备的描述信息中的一种,以便所述M2M业务请求者从所述第二设备中获取所述查询到的M2M业务的业务数据,或者使用所述查询到的M2M业务。
本发明实施例所带来的有益效果为:根据M2M业务请求者发送的业务查询消息内的查询条件来查询本地存储的M2M业务的描述信息,得到与所述查询条件相匹配的M2M业务的描述信息,之后向所述M2M业务请求者返回查询到的M2M业务的描述信息及支持所查询到的M2M业务的第二设备的描述信息,使得M2M业务请求者可以从查询到的M2MNSCL中获取所述查询到的M2M业务的业务数据。
实施例六
参见图12,本发明实施例提供了一种发现机器对机器业务的设备,所述设备具体与方法实施例一中所述的第一设备相同,可以包括:第一接收模块901、第一查询模块902及信息反馈模块904;
第一接收模块901,用于接收M2M业务请求者发送的业务查询消息,所述业务查询消息携带有查询条件;
本发明实施例中,所述查询条件至少包括请求查询的M2M业务的名称、请求查询的M2M业务的标识、请求查询的M2M业务的提供者信息、请求查询的M2M业务的类型、请求查询的M2M业务服务的区域信息、请求查询的M2M业务服务用户的数量和请求查询的M2M业务的计费标准中的一种。
第一查询模块902,用于根据所述查询条件查询本地存储的M2M业务的描述信息,得到与所述查询条件相匹配的M2M业务的描述信息;
本发明实施例中,所述M2M业务的描述信息至少包括所述M2M业务的标识信息。而在具体实现时,所述M2M业务的描述信息还至少包括所述M2M业务的名称、所述M2M业务的提供者信息、所述M2M业务的类型、所述M2M业务服务的区域信息、所述M2M业务服务用户的数量和所述M2M业务的计费标准中的一种。
信息反馈模块903,用于向所述M2M业务请求者至少返回查询到的M2M业务的描述信息,及支持所查询到的M2M业务的第二设备的描述信息中的一种,以便所述M2M业务请求者从所述第二设备中获取所述查询到的M2M业务的业务数据,或者使用所述查询到的M2M业务。
本发明实施例中,第二设备的描述信息包括所述第二设备的标识信息,所述标识信息至少包括接入URI信息、SCL标识及IP地址中的一种。在具体实现时,第二设备的描述信息还至少可以包括所述第二设备的名称及所属M2M网络域的信息中的一种。
进一步地,参见图13,本发明实施例中如图12所示的信息反馈模块903可以包括:
第一信息反馈单元9031,用于根据查询到的M2M业务的描述信息,查询本地存储的支持M2M业务的第二设备的描述信息,得到支持所述查询到的M2M业务的第二设备,之后,向所述M2M业务请求者返回查询到的M2M业务的描述信息,及支持所查询到的M2M业务的第二设备的描述信息;
或者,第二信息反馈单元9032,用于当支持M2M业务的第二设备与所述第一设备位于同一设备内时,所述第一设备直接向所述M2M业务请求者返回查询到的M2M业务的描述信息;
或者,第三信息反馈单元9033,用于向所述M2M业务请求者返回查询到的M2M业务的描述信息,以便所述第二设备在接收到所述查询到的M2M业务的描述信息后,向所述第一设备发送第二设备获取请求;接收所述第二设备获取请求,所述第二设备获取请求用于请求获取支持所述查询到的M2M业务的第二设备,所述第二设备获取请求携带有所述查询到的M2M业务的标识信息;根据所述标识信息,查询本地存储的支持M2M业务的第二设备的描述信息,得到支持所述查询到的M2M业务的第二设备,向所述M2M业务请求者返回查询到的M2M业务的描述信息,及支持所查询到的M2M业务的第二设备的描述信息。
本发明实施例所带来的有益效果为:根据M2M业务请求者发送的业务查询消息内的查询条件来查询本地存储的M2M业务的描述信息,得到与所述查询条件相匹配的M2M业务的描述信息,之后向所述M2M业务请求者返回查询到的M2M业务的描述信息及支持所查询到的M2M业务的第二设备的描述信息,使得M2M业务请求者可以从查询到的M2M NSCL中获取所述查询到的M2M业务的业务数据。
实施例七
参见图14,一种发现机器对机器M2M业务的***,所述***包括机器对机器M2M业务请求者A1及第一设备A2,其中,M2M业务请求者A1具体可以包括M2M应用,M2M SCL或者M2M用户;
M2M业务请求者A1用于向所述第一设备A2发送业务查询消息,所述业务查询消息携带有查询条件;
第一设备A2,用于根据所述查询条件查询本地存储的M2M业务的描述信息,得到与所述查询条件相匹配的M2M业务的描述信息,并向所述M2M业务请求者A1至少返回查询到的M2M业务的描述信息,及支持所查询到的M2M业务的第二设备的描述信息中的一种,以便所述M2M业务请求者从第二设备中获取所述查询到的M2M业务的业务数据,或者使用所述查询到的M2M业务。
其中,有关第一设备A2的结构请参见实施例六中所述的第一设备,此处就不再赘述。
参见图15,本发明实施例如图14所示的***还包括第二设备A3,第二设备A3包括:
第一接收模块A31,用于接收M2M业务请求者A1发送的M2M业务数据获取请求;
第一数据反馈模块A32,用于在本地存储的与所述查询到的M2M业务相对应的资源容器中,查询最新的内容实例,并向M2M业务请求者A1发送所述最新的内容实例。
进一步地,参见16,本发明实施例如图14所示的***还包括第二设备A3,第二设备A3包括:
第二接收模块A33,用于接收M2M业务请求者A1发送的M2M业务数据订阅请求,所述M2M业务数据订阅请求携带有订阅信息;
第一资源创建模块A34,用于创建订阅资源,用于存储所述订阅信息;
第二数据反馈模块A35,用于在本地存储的与所述查询到的M2M业务相对应的资源容器中有内容实例更新时,将更新的内容实例通过所述订阅信息中的订阅反馈地址反馈给M2M业务请求者A1。
更进一步地,参见17,本发明实施例如图14所示的***还包括第二设备A3,第二设备A3包括:
第三接收模块A36,用于接收所述M2M业务请求者发送的注册请求;
第二资源创建模块A37,用于本地创建与所述M2M业务请求者相对应的资源。
本发明技术方案带来的有益效果:根据M2M业务请求者发送的业务查询消息内的查询条件来查询本地存储的M2M业务的描述信息,得到与所述查询条件相匹配的M2M业务的描述信息,之后向所述M2M业务请求者返回查询到的M2M业务的描述信息及支持所查询到的M2M业务的第二设备的描述信息,使得M2M业务请求者可以从查询到的M2M NSCL中获取所述查询到的M2M业务的业务数据。
需要说明的是:上述实施例提供的设备在发现M2M业务时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的设备与发现M2M业务的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。