具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中,为描述方便,将具有访问权限设置能力的控制点称为第一控制点,其他控制点统称为第二控制点。在确定第一控制点的过程中,具体可通过用户与该第一控制点之间的认证过程实现。至于如何确定第一控制点在本发明实施例中不做详细描述。那么,在为各控制点设置访问权限的过程中,也是通过该第一控制点进行设置的。
为将控制点标识信息写入设备,简化控制点的访问权限设置过程,提高对控制点标识的获取效率,本发明实施例一提供了一种控制点标识的获取方法,如图1所示,包括如下步骤:
步骤11、设备在指定端口接收简单服务发现协议消息,在所述简单服务发现协议消息中携带有控制点标识信息。
在此实施例中,所述简单服务发现协议消息可以是由某个控制点发送给所述设备的,还可以是该设备由多播端口获取的其他设备发送到所述多播端口的简单服务发现协议消息。并且,所述简单服务发现协议消息可为简单服务发现协议查找消息(SSDP Search),并在所述简单服务发现协议查找消息的控制点标识扩展域中携带有所述控制点标识信息。或者所述简单服务发现协议宣告消息为简单服务发现协议宣告消息(SSDP alive),在所述简单服务发现协议宣告消息的控制点列表扩展域中携带有所述控制点标识信息。
所述指定端口包括多播地址端口,其地址为239.255.255.250:1900。
在具体应用中,可根据不同的应用场景,采用不同的简单服务发现协议的具体消息。
步骤12、所述设备根据所述控制点标识信息更新控制点标识信息列表。
在所述控制点标识信息列表中,保存有UPnP网络各个控制点的标识信息。在具体应用过程中,所述设备可直接将所述控制点标识信息添加到其控制点标识信息列表中。或者,为了节省存储空间,所述设备还可首先判断所述控制点标识信息是否在其控制点标识信息列表中。如果在的话,设备就不再添加所述控制点标识信息;如果不在的话,设备就将所述控制点标识信息添加到所述控制点标识信息列表中,得到更新后的控制点标识信息列表。
由上可以看出,本发明实施例一控制点标识的获取方法,通过在简单服务发现协议消息中携带的控制点标识信息,使得设备能够获得各控制点的控制点标识信息。因此,利用本发明实施例的技术方案能够使得某个控制点由设备获取其他控制点标识信息而设置其他控制点对该设备的访问权限,而不再需要安全控制台的参与。因此,利用本发明实施例的技术方案简化了对控制点访问权限的设置过程。
下面结合不同的应用场景,描述一下本发明实施例控制点标识的获取方法的实现过程。
在实施例二中,以新的第二控制点CP2加入到家庭网络中为例。
如图2所示,本发明实施例二的控制点标识的获取方法包括如下步骤:
步骤21、第二控制点CP2向设备Device发送简单服务发现协议查找消息SSDP Search,在所述SSDP Search消息中携带有所述CP2的控制点标识。
其中,在此步骤中,是通过对所述SSDP Search消息进行扩展来实现对CP2控制点标识的携带的。以下描述所述SSDP Search消息的具体扩展方式。
在具体应用中,所述SSDP Search消息可有两种不同的实现形式:多播形式和单播形式。
(1)多播形式的SSDP Search,其格式如下:
M-SEARCH*HTTP/1.1//命令行标识,表明该消息是SSDP Search消息;
HOST:239.255.255.250:1900//表示该多播消息的多播地址和端口;
MAN:″ssdp:discover″//HTTP扩展命令内容,表示是SSDP的discover消息;
MX:seconds to delay response//表示需要接收方在多长时间内返回响应;
ST:search target//表示搜索的目标设备,可以是所有设备,或某一类设备等;
USER-AGENT:OS/version UPnP/1.1 product/version//表示UPnP的厂商扩展选项;
SECURITY.UPNP.ORG:CP Identdifier//控制点标识扩展域,用于携带控制点标识。
(2)单播形式的SSDP Search,其格式如下:
M-SEARCH*HTTP/1.1//命令行标识,表明是该消息是SSDP Search消息;
HOST:hostname:portNumber//表示该SSDP Search消息的单播地址和端口;
MAN:″ssdp:discover″//HTTP扩展命令内容,表示是SSDP的discover消息;
ST:search target//表示搜索的目标设备,可以是所有设备,或某一类设备等;
USER-AGENT:OS/version UPnP/1.1 product/version//表示UPnP的厂商扩展选项;
SECURITY.UPNP.ORG:CP Identdifier//控制点标识扩展域,用于携带控制点标识。
由以上SSDP Search消息的表示形式可以看出,在此实施例中是通过控制点标识扩展域SECURITY.UPNP.ORG来携带CP2的第二控制点标识的。
步骤22、所述设备判断CP2的控制点标识是否在其控制点标识信息列表中。若在,则执行步骤24;若不在,则执行步骤23。
步骤23、所述设备将CP2的第二控制点标识添加在其控制点标识信息列表中,得到更新后的控制点标识信息列表。
具体为,所述设备提取控制点标识扩展域SECURITY.UPNP.ORG获得所述CP2的第二控制点标识,并将其添加在控制点标识信息列表中,得到更新后的控制点标识信息列表。
步骤24、所述设备向CP2发送简单服务发现协议响应消息。
在本发明实施例中,所述简单服务发现协议响应消息可通过UPnP SSDP响应消息来实现。其格式如下:
HTTP/1.1 200OK//表示响应命令行;
CACHE-CONTROL:max-age=seconds until advertisement expires//表示该响应的有效时间;
DATE:when response was generated//表示该响应的生成时间;
EXT://表示该响应消息与以前的版本兼容;
LOCATION:URL for UPnP description for root device//表示指定根设备描述的URL;
SERVER:OS/version UPnP/1.1 product/version//表示UPnP设备厂商指定的描述信息;
ST:search target//表示UPnP Search消息的搜索目标;
USN:composite identifier for the advertisement//表示服务的唯一名 称;
BOOTID.UPNP.ORG:number increased each time device sends an initialannounce or an update message//表示宣告或更新消息的序列号;
CONFIGID.UPNP.ORG:number used for caching descriptioninformation//表示缓存描述的信息;
SEARCHPORT.UPNP.ORG:number identifies port on which device respondsto unicast M-SEARCH//表示响应M-Search单播的端口信息。
上述UPnP SSDP响应消息的格式与现有技术中UPnP SSDP响应消息的格式相同。当然,在此实施例中还可对上述响应消息进行扩展。例如,为使得CP2能够对更新后的控制点列表进行确认,在所述简单服务发现协议响应消息中还可携带所述更新后的控制点列表。其中,所述更新后的控制点标识信息列表通过所述标识添加响应消息的控制点列表扩展域携带。例如,在所述简单服务发现协议响应消息中,可包括控制点列表扩展域SECURITY.UPNP.ORG:CPIdentdifier list。在SECURITY.UPNP.ORG中携带更新后的控制点列表。
步骤25、第一控制点CP1向所述设备发送读取控制点列表消息。
其中,所述读取控制点列表消息可通过ReadACL(读取访问列表)消息实现。
步骤26、所述设备将所述控制点列表发送给所述CP1。
步骤27、CP1根据用户为各控制点设置的访问权限,为所述控制点列表中的各个控制点设置访问权限。
在所述第一控制点为各控制点设置访问权限的过程中,主要是根据用户在其控制点访问权限设置命令中携带的需为各控制点设置的权限的信息,为所述更新后的控制点标识信息列表中的控制点设置访问权限。其中访问权限可包括,该控制点只能访问某一类型的设备,该控制点可读取某一类型的设备等等。所 述CP1对各控制点设置的不同访问权限可通过ReadACL(写访问列表),或DeleteACL(删除访问列表),或AddACLEntry(添加访问列表条目),或ReplaceACLEntry(替换访问列表条目)等消息实现。
步骤28、设备向CP1发送访问权限设置响应消息。
通过上述过程后,在所述设备中保存的控制点列表中的内容为控制点与其对应的访问权限之间的对应关系。
由上可以看出,利用本发明实施例二的技术方案,通过在简单服务发现协议消息SSDP Search中携带的控制点标识信息,使得设备能够获得各控制点的控制点标识信息。因此,利用本发明实施例的技术方案能够使得某个控制点由设备获取其他控制点标识信息而设置控制点对设备的访问权限,而不再需要安全控制台的参与。因此,利用本发明实施例的技术方案简化了对控制点访问权限的设置过程。
在实施例三中,以新的设备Device加入到家庭网络中为例。
如图3所示,本发明实施例三的控制点标识的获取方法包括如下步骤:
步骤31、所述设备向第二控制点CP2发送简单服务发现协议宣告消息SSDPalive。在所述简单服务发现协议宣告消息中,包括有所述设备的控制点标识信息列表。
在具体应用过程中,当该设备加入到家庭网络中时,它会向多播端口239.255.255.250:1900广播它所携带的控制点标识信息列表信息。
并且,在此步骤中,所述设备的控制点标识信息列表可通过SSDP alive消息的控制点列表扩展域中携带。扩展后的SSDP alive消息的格式如下:
NOTIFY*HTTP/1.1//命令行标识,表明是Notify消息;
HOST:239.255.255.250:1900//表示该多播消息的多播地址和端口;
CACHE-CONTROL:max-age=seconds until advertisement expires//表示该宣告的有效时间;
LOCATION:URL for UPnP description for root device//表示指定根设备描述的URL;
NT:notification type//表示UPnP Notify消息的类型;
NTS:ssdp:alive//表示UPnP Notify消息的子类型;
SERVER:OS/version UPnP/1.1 product/version//表示UPnP设备厂商指定的描述信息;
USN:composite identifier for the advertisement//表示服务的唯一名称;
BOOTID.UPNP.ORG:number increased each time device sends an initialannounce or an update message//表示宣告或更新消息的序列号;
CONFIGID.UPNP.ORG:number used for caching descriptioninformation//表示缓存描述的信息;
SEARCHPORT.UPNP.ORG:number identifies port on which device respondsto unicast M-SEARCH//表示响应M-Search单播的端口信息;
SECURITY.UPNP.ORG:CP Identdifier list//控制点列表扩展域,用于携带设备的控制点列表。
步骤32、所述CP2判断其自身控制点标识是否位于设备的控制点标识信息列表中。若在,CP2无需向设备发送任何消息。若不在,则执行步骤33。
步骤33、CP2向设备Device发送简单服务发现协议查找消息SSDP Search,在所述SSDP Search消息中携带有所述CP2的控制点标识。
其中所述SSDP Search消息中的格式与步骤21中描述的相同,在此不再赘 述。
步骤34-310、与步骤22-28相同。
由上可以看出,利用本发明实施例三的技术方案,通过在简单服务发现协议消息SSDP Search中携带的控制点标识信息,使得设备能够获得各控制点的控制点标识信息。因此,利用本发明实施例的技术方案能够使得某个控制点由设备获取其他控制点标识信息而设置其它控制点对该设备的访问权限,而不再需要安全控制台的参与。因此,利用本发明实施例的技术方案简化了对控制点访问权限的设置过程。
如图4所示,本发明实施例四还提供了一种控制点标识的获取方法。在实施例四中是通过两个设备之间的交互来更新其中一个设备中的控制点列表的。本发明实施例四包括如下步骤:
步骤41、第二设备获取第一设备向多播端口发送的简单服务发现协议宣告消息SSDP alive消息,在所述SSDP alive消息中携带有第一设备的第一控制点列表。也即,所述第二设备由多播端口获取所述SSDP alive消息。
在此实施例中,对于SSDP alive消息的扩展,与步骤31中描述的方式相同,在此不再赘述,并且在所述消息的控制点列表扩展域中携带有所述第一控制点列表。但是,与前述几个实施例所描述的不同的是,在此实施例中,第一设备和第二设备均能够接收到发送多播端口239.255.255.250:1900的SSDPalive消息。从而,第二设备能够根据第一设备的SSDP alive消息,获取第一设备中的第一控制点标识信息列表。
步骤42、所述第二设备将所述第一控制点列表中的控制点信息,添加到其第二控制点列表中,得到更新后的第二控制点列表。
步骤43、第一控制点CP1向所述第二设备发送读取控制点列表消息。
其中,所述读取控制点列表消息可通过ReadACL(读取访问列表)消息实现。
步骤44、所述第二设备将所述控制点列表发送给所述CP1。
步骤45、CP1根据用户为各控制点设置的访问权限,为所述控制点列表中的各个控制点设置访问权限。
其中所述CP1对各控制点设置的不同访问权限可通过ReadACL(写访问列表),或DeleteACL(删除访问列表),或AddACLEntry(添加访问列表条目),或ReplaceACLEntry(替换访问列表条目)等消息实现。
步骤46、第二设备向CP1发送访问权限设置响应消息。
由上可以看出,利用本发明实施例四的技术方案,通过在简单服务发现协议消息SSDP alive中携带的控制点标识信息,使得设备能够获得各控制点的控制点标识信息。因此,利用本发明实施例的技术方案能够使得某个控制点由设备获取其他控制点标识信息而设置其它控制点对该设备的访问权限,而不再需要安全控制台的参与。因此,利用本发明实施例的技术方案简化了对控制点访问权限的设置过程。
如图5所示,本发明实施例五还提供了一种控制点标识的发送方法。包括如下步骤:
步骤51、第二控制点向设备发送简单服务发现协议消息,在所述简单服务发现协议消息中携带有控制点标识信息。
其中,在此实施例中,所述简单服务发现协议消息,可采用前述实施例中所描述的简单服务发现协议消息,且格式相同。故在此不再赘述。
步骤52、第二控制点接收由所述设备发送的关于所述简单服务发现协议消息的简单服务发现协议响应消息。
同样,在此实施例中,所述简单服务发现协议响应消息可采用前述实施例 中所描述的简单服务发现协议响应消息,且格式相同。故在此不再赘述。
如图6所示,在图5所示的基础上,在步骤51向设备发送简单服务发现协议消息前,所述方法还包括:
步骤50、第二控制点接收由所述设备发送的简单服务发现协议宣告消息,在所述简单服务发现协议宣告消息中携带有控制点标识信息列表。
同样,在此实施例中,所述简单服务发现协议宣告消息可采用前述实施例中所描述的简单服务发现协议宣告消息,且格式相同。故在此不再赘述。
在所述步骤50后,还可包括:
步骤511、第二控制点判断所述第二控制点标识是否在所述控制点标识信息列表中。若不在,则执行步骤51。
由上可以看出,利用本发明实施例五的技术方案,能使设备获得各控制点的控制点标识信息。因此,利用本发明实施例的技术方案能够使得某个控制点由设备获取其他控制点标识信息而对其他控制点的访问权限进行设置,而不再需要安全控制台的参与。因此,利用本发明实施例的技术方案简化了对控制点访问权限的设置过程。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
如图7所示,本发明实施例六还提供了一种控制点标识的获取装置,包括:消息接收单元71,列表更新单元72。
其中,所述消息接收单元71,用于在指定端口接收简单服务发现协议消息, 在所述简单服务发现协议消息中携带有控制点标识信息;所述列表更新单元72,用于根据所述控制点标识信息更新控制点标识信息列表。
其中,如图8所示,所述列表更新单元72包括:
标识提取模块721,用于提取所述简单服务发现协议消息的控制点标识信息;
标识添加模块722,用于将所述控制点标识信息添加到所述控制点标识信息列表中,得到更新后的控制点标识信息列表。
其中,如图8所示,所述装置还可包括:第一消息发送单元74,用于向所述第二控制点发送简单服务发现协议宣告消息,以触发所述第二控制点在确定其第二控制点标识不在所述简单服务发现协议宣告消息携带的控制点标识信息列表中时,发送简单服务发现协议消息,在所述简单服务发现协议消息中携带有所述第二控制点标识。其中,在此所述简单服务发现协议消息为简单服务发现协议查找消息,在所述简单服务发现协议查找消息的控制点标识扩展域中携带有所述第二控制点标识。
其中,如图8所示,所述装置还可包括:判断单元75,用于判断所述控制点标识信息是否在所述控制点标识信息列表中。此时,所述标识添加模块722,具体用于当所述控制点标识信息不在所述控制点标识信息列表中时,所述将所述控制点标识信息添加到所述控制点标识信息列表中,得到更新后的控制点标识信息列表。所述装置还可包括:列表发送单元73,用于向第一控制点发送更新后的控制点标识信息列表,以使所述第一控制点根据用户的控制点访问权限设置命令,为所述更新后的控制点标识信息列表中的控制点设置访问权限。
此外,所述装置还可包括:第二消息发送单元75,用于向所述第二控制点发送所述简单服务发现协议响应消息。
在本发明实施例六中,所述简单服务发现协议消息、简单服务发现协议响应消息、简单服务发现协议宣告消息、简单服务发现协议查找消息等可采用前述实施例中相同格式的简单服务发现协议消息、简单服务发现协议响应消息、简单服务发现协议宣告消息、简单服务发现协议查找消息。
其中,本发明实施例六所述的控制点标识的获取装置可以为家庭网络中的设备。在家庭网络中,所述设备可获取家庭网络中的各控制点标识信息,并在家庭网络中具有访问权限设置能力的控制点需要对其他控制点的访问权限进行设置时,能够将各控制点标识信息提供给所述具有访问权限设置能力的控制点,从而完成对家庭网络中各控制点访问权限的设置。
由上可以看出,利用本发明实施例六的技术方案,通过在简单服务发现协议消息中携带的控制点标识信息,使得设备能够获得各控制点的控制点标识信息。因此,利用本发明实施例的技术方案能够使得某个控制点由设备获取其他控制点标识信息而对其他控制点的访问权限进行设置,而不再需要安全控制台的参与。因此,利用本发明实施例的技术方案简化了对控制点访问权限的设置过程。
如图9所示,本发明实施例七还提供了一种控制点标识的发送装置,包括:消息发送单元111以及第二消息接收单元112。其中,
所述消息发送单元111,用于发送简单服务发现协议消息,在所述简单服务发现协议消息中携带有控制点标识信息;所述第二消息接收单元112,用于接收关于所述简单服务发现协议消息的简单服务发现协议响应消息。
此外,所述装置还可包括:第三消息接收单元114,用于接收由设备发送的简单服务发现协议宣告消息,在所述简单服务发现协议宣告消息携带有所述设备的控制点标识信息列表。
其中,如图10所示,所述装置还可包括:判断单元113,用于判断所述控制点标识信息是否在所述设备的控制点标识信息列表中;所述消息发送单元111,具体用于当所述第二控制点标识不在所述控制点标识信息列表中时,向设备发送简单服务发现协议消息,在所述简单服务发现协议消息中携带有第二控制点标识。
在此实施例中,所述简单服务发现协议消息可采用前述实施例中的简单服务发现协议消息,且扩展方式相同。并且,在具体应用中,所述的控制点标识的发送装置可以为家庭网络中不具有访问权限设置能力的控制点。通过该控制点,可以将其控制点标识写入设备中,从而在家庭网络中具有访问权限设置能力的控制点需要为各控制点设置访问权限时,能够由设备中获取各控制点标识,进行访问权限的设置。
由上可以看出,利用本发明实施例七的技术方案,简化了控制点的访问权限设置过程,提高了对控制点标识的获取效率。
如图11所示,本发明实施例八还提供了一种控制点标识的获取系统,包括:第一控制点121,第二控制点122和设备123;其中,
所述第二控制点121,用于向所述设备发送简单服务发现协议消息,在所述简单服务发现协议消息中携带有控制点标识信息;
所述设备122,用于在指定端口接收所述简单服务发现协议消息,根据所述控制点标识信息更新所述设备的控制点表示信息列表,并向所述第一控制点发送所述更新后的控制点标识信息列表;
所述第一控制点123,用于接收由所述设备发送的更新后的控制点标识信息列表,并根据用户的控制点访问权限设置命令,为所述更新后的控制点标识信息列表中的控制点设置访问权限。
此外,所述设备122,还用于向所述第二控制点发送简单服务发现协议宣告消息,在所述简单服务发现协议宣告消息中携带有所述设备的控制点标识信息列表。具体包括:消息接收单元,列表更新单元以及消息发送单元。其中,所述消息接收单元,用于在指定端口接收简单服务发现协议消息,在所述简单服务发现协议消息中携带有控制点标识信息;所述列表更新单元,用于根据所述控制点标识信息更新控制点标识信息列表;所述消息发送单元,用于向所述第二控制点发送简单服务发现协议宣告消息,在所述简单服务发现协议宣告消息中携带有所述设备的控制点标识信息列表。
所述第二控制点121,具体用于当所述第二控制点的控制点标识不在所述控制点标识信息列表中时,根据所述简单服务发现协议宣告消息,向所述设备发送简单服务发现协议消息。
在具体应用中,所述第一控制点为家庭网络中具有访问权限设置能力的控制点,第二控制点为不具有访问权限设置能力的控制点,所述设备即为家庭网络中的设备。通过在第二控制点的简单服务发现协议消息中携带的控制点标识信息,使得设备能够获得其控制点标识信息,从而第一控制点能够由设备获取各控制点标识,对各控制点访问权限进行设置。
由上可以看出,本发明实施例八的控制点标识的获取系统,能够将各控制点标识信息写入到设备中,从而简化了控制点的访问权限设置过程,提高了对控制点标识的获取效率。
如图12所示,本发明实施例九还提供了一种控制点标识的获取系统,包括:第一控制点131,第一设备132和第二设备133;其中,
所述第一设备131,用于发送简单服务发现协议消息,在所述简单服务发现协议消息中携带有控制点标识信息;
所述第二设备132,用于通过多播地址端口接收由第一设备发送的简单服务发现协议消息,根据所述简单服务发现协议消息更新所述第二设备的第二控制点标识信息列表;并向所述第一控制点发送所述更新后的第二控制点标识信息列表;
第一控制点133,用于接收所述更新后的第二控制点标识信息列表,并根据用户的控制点访问权限设置命令,为所述更新后的第二控制点标识信息列表中的控制点设置访问权限。
在具体应用中,所述第一控制点为家庭网络中具有访问权限设置能力的控制点,所述第一设备和第二设备即为家庭网络中的设备。通过在第一设备的简单服务发现协议消息中携带的控制点标识信息,使得第二设备能够获得其控制点标识信息,从而第一控制点能够由设备获取各控制点标识,对各控制点访问权限进行设置。
由上可以看出,本发明实施例九的控制点标识的获取系统,能够将各控制点标识信息写入到设备中,从而简化了控制点的访问权限设置过程,提高了对控制点标识的获取效率。
综上所述,本发明实施例控制点标识的获取和发送方法、装置及系统,通过在简单服务发现协议消息中携带的控制点标识信息,使得设备能够获得各控制点的控制点标识信息。因此,利用本发明实施例的技术方案能够使得某个控制点由设备获取其他控制点标识信息而对其他控制点的访问权限进行设置,而不再需要安全控制台的参与。因此,利用本发明实施例的技术方案简化了对控制点访问权限的设置过程。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到 变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。