软件管理的方法、 装置及系统 【技术领域】
本发明涉及通信技术领域, 尤其涉及一种软件管理的方法、 装置及系统。背景技术 在 UPnP DM(Universal Plug and Play Device Management, 通用即插即用设备管 理 ) 中, 通过 UPnP 协议定义的 DP(device protection, 设备保护 ) 机制来对 UPnP 设备进行 安全保护, 在 DP 机制中, 具有管理员权限的用户一般拥有对 UPnP 设备的最高访问权限。
目前, 业务提供商也希望能够对 UPnP 设备进行管理, 业务提供商事先在用户的网 关上部署了 UPnP DM CP(control point, 控制点 ), 业务提供商通过网关上的 UPnP DM CP 实现对支持 UPnP DM 的终端的管理。用户如果想使用终端上的高级业务, 用户先在业务提 供商处订阅该高级业务, 并获得支持该业务的终端, 该终端可由业务提供商提供或用户通 过零售渠道购买, 该终端也支持 UPnPDM 功能。业务提供商通过网关上的 CP 远程向该终端 安装高级业务的软件模块 (DU), 业务提供商希望该软件模块只能由自己进行管理 ( 包括启 动、 停止、 卸载等 ), 用户不能管理业务提供商安装的软件模块。
然而, 发明人发现在 UPnP 安全架构中, 用户是 UPnP 设备的拥有者, 也就是说用户 拥有 UPnP 设备的管理员权限, 由于管理员权限具有最高权限, 因而用户可以执行任何操 作, 包括对其他用户安装在该 UPnP 设备上的软件模块进行管理。目前的问题是, 在当前 UPnP 安全架构中, 当业务提供商获得授权并在该 UPnP 设备上安装了其所提供的软件后, 该 软件不仅能够由业务提供商进行管理, 也能够由用户来进行管理, 业务提供商无法控制用 户对该软件进行的管理操作, 使得对该软件的管理对于业务提供商而言并不可控。
发明内容 本发明的实施例提供一种软件管理的方法、 装置及系统, 实现业务提供商在通信 设备上安装的软件只能由该业务提供商进行管理, 用户无法管理业务提供商在通信设备上 安装的软件。
为达到上述目的, 本发明的实施例采用如下技术方案 :
一种软件管理的方法, 包括 :
接收第一控制设备发送的软件安装命令, 根据所述软件安装命令安装软件并保存 在管理所述软件时所需的第一验证信息 ;
接收第二控制设备发送的软件管理命令, 获取所述软件管理命令对应的第二验证 信息 ; 所述软件管理命令用于对所述软件进行管理 ;
当所述第二验证信息与所述第一验证信息一致时, 执行所述软件管理命令。
一种通信设备, 包括 :
软件安装单元, 用于接收第一控制设备发送的软件安装命令, 根据所述软件安装 命令安装软件并保存在管理所述软件时所需的第一验证信息 ;
获取单元, 用于接收第二控制设备发送的软件管理命令, 获取所述软件管理命令
对应的第二验证信息 ; 所述软件管理命令用于对所述软件进行管理 ;
软件管理单元, 用于当所述第二验证信息与所述第一验证信息一致时, 执行所述 软件管理命令。
一种软件管理的系统, 包括 :
第一控制设备, 用于发送软件安装命令给通信设备, 指示所述通信设备安装软件 并保存在管理所述软件时所需的第一验证信息 ;
通信设备, 用于接收所述第一控制设备发送的软件安装命令, 根据所述软件安装 命令安装软件并保存在管理所述软件时所需的第一验证信息 ;
第二控制设备, 用于发送软件管理命令给所述通信设备, 指示所述通信设备对所 述软件进行管理 ;
所述通信设备还用于接收所述第二控制设备发送的软件管理命令, 获取所述软件 管理命令对应的第二验证信息 ; 所述软件管理命令用于对所述软件进行管理, 当所述第二 验证信息与所述第一验证信息一致时, 执行所述软件管理命令。
需要说明的是, 本文中的第一控制设备和第二控制设备可以是同一控制设备, 也 可以是不同的控制设备。
采用本发明实施例提供的软件管理方法, 通信设备根据接收到的软件安装命令, 安装软件并保存在管理所述软件时所需的第一验证信息, 接收管理所述软件的软件管理命 令, 获取在管理所述软件时所需的第二验证信息。当所述第二验证信息与所述第一验证信 息一致时, 执行所述软件管理命令。
从上述技术方案所描述的软件管理方法的执行过程可以看出, 通信设备只有接收 到软件管理命令, 并验证所述第二验证信息与所述第一验证信息一致时, 执行所述软件管 理命令, 从而, 业务提供商可以通过软件管理命令实现对其在通信设备上安装的软件的管 理。与现有技术中业务提供商在通信设备上安装的软件由用户和业务提供商共同管理相 比, 本发明实施例可以实现业务提供商在通信设备上安装的软件只能通过业务提供商进行 管理, 而用户无法管理业务提供商在通信设备上安装的软件。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以 根据这些附图获得其他的附图。
图 1 为本发明实施例提供的一种软件管理的方法的流程图 ;
图 2 为本发明实施例提供的另一种软件管理的方法的流程图 ;
图 3 为本发明实施例提供的又一种软件管理的方法的流程图 ;
图 4 为本发明实施例提供的通信设备的一种结构图 ;
图 5 为本发明实施例提供的一种软件管理的系统的结构图。
具体实施方式
如图 1 所示的本发明实施例提供的软件管理的方法, 假设应用场景中, 业务提供商通过设置在网关上的控制点实现对 UPnP 设备上安装的软件的管理。该方法包括如下步 骤:
101、 第一控制设备发送软件安装命令给设备, 指示所述设备安装软件并保存所述 软件的第一验证信息。
所述第一控制设备具体可以为设置在网关上的控制点, 该控制点具有 UPnPDM CP 的功能, 在 UPnP 设备上具有安装软件和管理软件的权限, 业务提供商通过该控制点可以对 UPnP 设备进行管理。
102、 所述 UPnP 设备根据接收到的所述第一控制设备发送的软件安装命令, 安装 软件并保存在管理所述软件时所需的第一验证信息。
具体应用时, 该 UPnP 设备可以根据所述安装软件模块命令中携带的软件模块地 址获得软件模块, 并进行所述软件模块的安装。
103、 所述 UPnP 设备安装所述软件之后, 发送所述软件安装命令的响应消息给所 述控制点。
步骤 103 为可选步骤。
104、 UPnP 设备接收第二控制设备发送的管理所述软件的软件管理命令 ; 所述第二控制设备与所述第一控制设备可以为同一控制设备, 具体可以为同一控 制点。当业务提供商需要对其安装在 UPnP 设备上的软件进行管理时, 通过所述控制点发送 软件管理命令给所述设备, 指示所述设备对所述软件进行管理。
105、 所述 UPnP 设备获取在管理所述软件时所需的第二验证信息, 当所述第二验 证信息与所述第一验证信息一致时, 执行所述软件管理命令。
该 UPnP 设备获取管理所述软件所需的第二验证信息, 并验证所述第二验证信息 与所述第一验证信息是否一致, 当所述第二验证信息与所述第一验证信息一致时, 执行所 述软件管理命令。
当所述验证的结果为一致时, 那么按照所述软件管理命令对所述软件进行管理。 由于通信设备只有接收到软件管理命令, 并验证所述第二验证信息与所述第一验证信息一 致时, 执行所述软件管理命令, 由此实现业务提供商在通信设备上安装的软件只能通过业 务提供商进行管理, 而用户无法管理业务提供商在通信设备上安装的软件。
需要说明的是, 如图 1 所示的实施例假设的应用场景中所述发送软件安装命令的 第一控制设备与发送软件管理命令的第二控制设备为同一个控制设备, 实际应用过程中, 所述第一控制设备和所述第二控制设备也可以为不同的控制设备。
在本发明的实施例中, 第一控制设备和第二控制设备可以为同一控制设备, 也可 以为不同的控制设备。 本文中以第一控制设备和第二控制设备来命令, 只是为了行文方便, 并不表示其为不同的控制设备。
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。
如图 2 所示的本发明实施例提供的另一种软件管理的方法, 假设应用场景中业务 提供商需要对其安装在 UPnP 设备上的软件进行卸载, 此时业务提供商通过设置在网关上
的控制点发送的软件管理命令具体为软件卸载命令。该方法包括如下步骤 :
201、 UPnP 设备的具有分配管理权限的控制点在所述 UPnP 设备上为控制点分配对 所述软件的管理权限, 使得通过控制点可以有权限在 UPnP 设备上进行软件的管理操作, 比 如, 如果要求具有 Basic 角色的用户才能安装业务软件, 则为控制点分配 Basic 权限。
需要说明的是, 所述控制点在所述 UPnP 设备上对所述软件的管理权限是由 UPnP 设备的具有分配管理权限的控制点进行分配的。具体实施过程中, 所述 UPnP 设备的具有分 配管理权限的控制点可以获取控制点的标识, 该控制点的标识采用 HGCPID 来表示。UPnP 设备的具有分配管理权限的控制点与 UPnP 设备之间建立 SSL(Security Socket Layer) 通道, 以保证通信的安全。之后, 通过 UPnP 协议中的 AddRolesForIdentity(HGCPID) 命 令为 HGCPID 对应的控制点在 UPnP 设备上的管理权限进行分配, 在该 UPnP 设备分配权限 成功后, 该 UPnP 设备通过 UPnP 协议向所述 UPnP 设备的具有分配管理权限的控制点发送 AddRolesForIdentityResponse, 告知 UPnP 设备的具有分配管理权限的控制点为控制点分 配管理权限的操作已经成功 ( 当然也可以通知其他操作结果 ), 并拆除 SSL 通道。
202、 当业务提供商需要在所述 UPnP 设备上安装软件时, 自动配置服务器 ACS 通过 TR-069 命令向所述控制点发送软件安装命令, 所述通过 TR-069 协议发送的软件安装命令 携带有软件的安装地址 URL、 所述软件的第二标识, 该第二标识可以采用 UUID(Universally Unique Identifier) 来表示。 具体应用过程中, 所述通过 TR-069 协议发送的软件安装命令 可以表示为 ChangeDUState(InstallOP[URL, UUID], ...)。 需要说明的是, 该 ACS 是一种可以通过 TR-069 协议对网关进行管理的装置。
还需要说明的是, 本实施例中, 以 ACS 与网关之间的交互遵循 TR-069 协议为例, 当 然, ACS 可以支持其他管理协议对网关进行管理, 其和网关之间也可以采取其他管理协议进 行交互。
203、 所述控制点接收到该 ACS 通过 TR-069 协议发送的软件安装命令后, 生成管理 所述软件所需的第一验证信息。
在本发明的一个实施例中, 该第一验证信息具体可以为与所述软件对应的密 钥 Key, 保 存 Key 与 UUID 的 对 应 关 系, 将 所 述 通 过 TR-069 协 议 发 送 的 软 件 安 装 命 令 ChangeDUState(InstallOP[URL, UUID], ...) 转换为通过 UPnP 协议进行传输的软件安装命 令 Install(URL, Key)。
当然也可采取其他方式生成第一验证信息, 只要软件安装命令的发送方 ( 如 ACS 或 CP) 与软件安装命令的接收并执行方 ( 如 UPnP 设备 ) 双方均可获知同样的第一验证信 息即可。例如, 在步骤 206 之后, 本发明的一个实施例给出了另外一种生成第一验证信息的 方式。
所述与所述软件对应的第一验证信息 ( 如密钥 Key) 用来验证该控制点。从本步 骤的转换过程可以看出, 所述转换后的软件安装命令携带有第一验证信息 ( 如 Key)、 所述 软件的安装地址 URL, 从所述安装地址 URL 中可以获取待安装的软件。
204、 所述控制点与所述 UPnP 设备之间建立 SSL 通道, 以保证通信的安全。
该步骤是为保证通讯安全所采取的附加措施, 在不考虑通讯安全或对通讯安全的 要求不苛刻的情况下, 该步骤可以省略。
205、 所述控制点通过 UPnP 协议发送所述转换后的软件安装命令 Install(URL,
Key) 给所述 UPnP 设备, 指示所述设备安装软件并保存管理所述软件所需的第一验证信息, 该第一验证信息为识别码, 具体可以为与所述软件对应的密钥 Key。
实际应用时, 由于现有的 Install 命令中不包含第一验证信息 ( 如 Key) 参数, 因 此需要对 Install 命令进行扩展, 增加 Key 参数来表示第一验证信息, 如下表所示 :
206、 所述 UPnP 设备根据接收到的控制点发送的软件安装命令 Install(URL, Key) 安装软件。所述软件安装完成之后, 生成所述软件的第一标识, 该第一标识可以采用 DUID(DHCP Unique Identifier) 表示, 并保存所述第一验证信息 ( 如 Key) 与所述软件的第 一标识 ( 如 DUID) 之间的关联关系。
具体应用过程中, 在安装所述软件之前, 所述 UPnP 设备可以验证所述控制点是否 有执行 Install 命令的权限, 如果有权限, 则安装软件, 生成软件标识 ( 第一标识 ), 保存第 一验证信息 ( 如 Key) 与第一标识 ( 如 DUID) 的关联关系。
需要说明的是, 所述第一验证信息 ( 如 Key) 可以不在步骤 203 中由控制点生成, 而是在本步骤中由所述设备安装软件时生成, 并通过上述软件安装命令的响应消息返回给 所述控制点。
207、 所述 UPnP 设备通过 UPnP 协议发送所述软件安装命令的响应消息给所述控制 点, 所述消息中携带有所述软件的第一标识 ( 如 DUID)。该消息在 UPnP 协议中可以表示为 InstallResponse(DUID)。
如果所述第一验证信息 ( 如 Key) 由所述设备安装软件时生成, 那么在所述软件安 装命令的响应消息还应携带有所述第一验证信息 ( 如 Key)。
208、 所述控制点保存所述第一验证信息 ( 如 Key)、 所述第一标识 ( 如 DUID) 及所 述第二标识 ( 如 UUID) 之间的关联关系。
209、 所述控制点通过 TR-069 协议向所述 ACS 返回 ChangeDUStateResponse() 响 应消息, 告知所述 ACS 已经成功安装了软件。
210、 当所述控制点不需要向所述 UPnP 设备发送 UPnP 命令时, 拆除所述控制点与 所述 UPnP 设备之间建立的 SSL 通道。
如前所述, 如果步骤 204 未被执行, 则该步骤相应地也被省略。
211、 当需要卸载所述 UPnP 设备上已安装的软件时, 所述 ACS 通过 TR-069 协议发
送软件卸载命令给所述控制点, 指示该控制点在 UPnP 设备上卸载软件。
所 述 通 过 TR-069 协 议 发 送 的 软 件 卸 载 命 令 携 带 所 述 软 件 的 第 二 标 识 ( 如 UUID)。 在 TR-069 协 议 中,该 软 件 卸 载 命 令 可 以 表 示 为 ChangeDUState (UninstallOP[UUID],...), 其中, 软件的第二标识 ( 如 UUID), 用来指示卸载哪个软件。
212、 所述控制点与所述 UPnP 设备之间建立 SSL 通道, 以保证通信的安全。
该步骤同步骤 204 一样, 也可以被省略。
213、 所述控制点将所述通过 TR-069 协议发送的软件卸载命令 ChangeDUState(Un installOP[UUID], ...) 转换为通过 UPnP 协议进行传输的软件卸载命令 Uninstall(DUID, Key)。
具体应用时, 由于控制点从 ACS 接收到的 ChangeDUState(UninstallOP[UUID],.. .) 命令中携带的是第二标识 ( 如 UUID), 可以根据所述软件的第二标识 ( 如 UUID) 在步骤 208 保存的关联关系中查找出所述软件的第一标识 ( 如 DUID), 然后将所述第一标识 ( 如 DUID) 和所述第一验证信息 ( 如 Key) 添加到转换后的 Uninstall 命令中。
通过 UPnP 协议发送所述转换后的软件卸载命令 Uninstall(DUID, Key) 给所述 UPnP 设备, 所述软件管理命令携带有管理所述软件所需的第二验证信息, 该第二验证信息 可以为一个识别码, 具体可以为与所述软件对应的密钥 Key。此时, 所述软件卸载命令携带 有所述第二验证信息 ( 如 Key), 所述软件卸载命令还可以携带所述软件的第一标识 ( 如 DUID)。
需要说明的是, 现有 UPnP 协议中 Uninstall() 命令中没有第二验证信息 ( 如 Key 参数 ), 因此需要扩展 Uninstall() 命令, 增加 Key 参数 ( 代表第二验证信息参数 ), 如下表 所示 :
Argument DUID HandleDependencies Key OperationID
Direction IN IN IN OUT214、 所述 UPnP 设备接收所述软件卸载命令 Uninstall(DUID, Key), 从该卸载命令 中获取第二验证信息, 如所述 Key。 同时验证所述 Uninstall(DUID, Key) 命令携带的第二验 证信息 ( 如 Key) 与步骤 205 发送的所述 install(URL, Key) 命令携带的第一验证信息 ( 如 Key) 是否一致。
在本发明的一个实施例中, 当所述软件卸载命令还携带有所述软件的第一标识 DUID 时, 还可以验证所述 Uninstall(DUID, Key) 命令携带的所述软件的第一标识 DUID 与 步骤 206 执行所述软件安装命令后生成的第一标识 DUID 是否一致。
当所述验证的结果均为一致时, 对所述软件进行卸载 ; 否则不执行卸载所述软件 的操作。具体本发明的一个实施例中, 在进行上述验证之前, 所述 UPnP 设备还可以首 先 验 证 控 制 点 是 否 有 执 行 Uninstall(DUID, Key) 命 令 的 权 限, 如 果 有 权 限, 则验证所 述 Uninstall(DUID, Key) 命 令 携 带 的 第 二 验 证 信 息 ( 如 Key) 与 步 骤 205 发 送 的 所 述 install(URL, Key) 命令携带的第一验证信息 ( 如 Key) 是否一致, 所述 Uninstall(DUID, Key) 命令携带的所述软件的第一标识 ( 如 DUID) 与步骤 206 执行所述软件安装命令后生成 的第一标识 ( 如 DUID) 是否一致, 如果一致则执行卸载软件的命令, 否则不执行。
215、所 述 UPnP 设 备 通 过 UPnP 协 议 返 回 软 件 卸 载 成 功 响 应 消 息 UninstallResponse() 给所述控制点, 表示软件卸载成功。
该步骤的目的是让控制点获知卸载结果, 对于本发明的某些实施例而言, 在不告 知控制点卸载结果或控制点不关心卸载结果的情况下, 该步骤可省略。
216、 所述控制点接收到软件卸载成功的响应消息, 删除所述第一验证信息 (Key)、 所述第一标识及所述第二标识之间的关联关系, 如删除步骤 208 保存的 UUID、 DUID 和 Key 的之间关联关系。
在本发明的某些实施例中, 若不执行步骤 215, 则步骤 216 可省略。
在本发明的一个实施例中, 在执行步骤 215 的情况下, 执行步骤 216 可节省控制点 上的存储空间, 删除冗余信息。 但本领域的技术人员可理解, 当这些信息所占的存储资源相 对于控制点上的存储空间而言, 非常小, 或者控制点不关心存储空间问题的情况下, 该步骤 可省略 ; 此外, 本领域的技术人员还可以理解, 前面本文所述的实施例只是以软件管理命令 为软件卸载为例来阐述本发明, 在本发明的一些实施例中, 当软件管理命令不是软件卸载 命令时, 该步骤也可省略。 217、所 述 控 制 点 通 过 TR-069 协 议 向 ACS 返 回 卸 载 成 功 响 应 ChangeDUStateResponse()。
类似对步骤 215 的说明, 该步骤对本发明的一些实施例而言, 可以省略。
218、 所述控制点拆除与所述 UPnP 设备间的 SSL 通道。
类似对步骤 204 的说明, 该步骤对本发明的一些实施例而言, 可以省略。
采用本发明实施例所提供的软件管理方法, 当业务提供商希望对 UPnP 设备进行 管理时, 可以事先在用户的网关上部署控制点, 业务提供商通过该控制点实现对支持 UPnP DM 的终端的管理。用户希望使用终端上的高级业务时, 可以先在业务提供商处订阅该高级 业务, 并获得支持该业务的终端, 该终端可由业务提供商提供或用户通过零售渠道购买, 该 终端也支持 UPnP DM 功能。之后, 业务提供商通过控制点远程向该终端安装高级业务的软 件, 并可以实现对其所安装的软件的管理。由于通信设备只有接收到业务提供商发送的软 件管理命令, 并验证所述第二验证信息与所述第一验证信息一致时, 执行所述软件管理命 令, 与现有技术中业务提供商在 UPnP 设备上安装的软件可以由管理员用户和业务提供商 进行管理相比, 本发明实施例可以实现只有业务提供商才能对其在 UPnP 设备上安装的软 件进行管理, 而用户无法管理业务提供商在通信设备上安装的软件。
需要说明的是, 上述的应用场景是以业务提供商对其安装在 UPnP 设备上的软件 进行卸载为了进行介绍了, 实际应用过程中, 业务提供商还可以通过控制点发送软件更新 命令, 或软件启动命令, 或软件停止命令, 从而采用本发明实施例提供的软件管理方法实现 对软件进行软件更新、 启动和停止等管理, 具体实现过程类似, 在此不再赘述。
上述步骤 214 中利用与所述软件对应的密钥来对该控制点进行验证, 在本发明的 一个实施例中, 还可以采用控制点的标识对该控制点进行验证, 即第一验证信息和第二验 证信息均为控制点的标识。 下面仍以软件卸载为例介绍本发明另一实施例中的软件管理的 方法, 具体包括以下步骤 :
31、 控制设备发送软件安装命令给通信设备, 指示所述通信设备安装软件。
32、 所述通信设备根据接收到的控制设备发送的软件安装命令, 所述通信设备安 装软件并保存所述控制设备的标识, 所述控制设备的标识通过与控制设备间的通信连接获 取。
33、 控制设备发送软件管理命令给所述通信设备, 指示所述通信设备对所述软件 进行管理。
34、 所述通信设备接收控制设备发送的软件管理命令, 通过与所述控制设备之间 的通信连接获取所述控制设备的标识。
35、 当需要在管理软件时进行验证时, 所述通信设备验证发送所述软件安装命令 的控制设备的标识与发送所述软件管理命令的控制设备的标识是否一致。 当发送所述软件 安装命令的控制设备的标识与发送所述软件管理命令的控制设备的标识一致时, 执行所述 软件管理命令。 进一步地, 结合图 3 所示的软件管理的方法, 更清楚、 完整地来说明当采用控制点 的标识对该控制点进行验证时, 软件管理的方法的实现过程。如图 3 所示, 该方法包括 :
301、 UPnP 设备的具有分配管理权限的控制点在所述 UPnP 设备上为控制点分配对 所述软件的管理权限, 使得通过控制点可以有权限在 UPnP 设备上进行软件的管理操作, 比 如, 如果要求具有 Basic 角色的用户才能安装业务软件, 则为控制点分配 Basic 权限。
需要说明的是, 所述控制点在所述 UPnP 设备上对所述软件的管理权限是由 UPnP 设备的具有分配管理权限的控制点进行分配的。具体实施过程中, 所述 UPnP 设备的具有分 配管理权限的控制点可以获取控制点的标识, 该控制点的标识采用 HGCPID 来表示。UPnP 设备的具有分配管理权限的控制点与 UPnP 设备之间建立 SSL(Security Socket Layer) 通 道, 以 保 证 通 信 的 安 全。 之 后, 通 过 UPnP 协 议 中 的 AddRolesForIdentity(HGCPID) 命 令 为 控 制 点 在 UPnP 设 备 上 分 配 管 理 权 限, 在 该 UPnP 设 备 分 配 权 限 成 功 后, 该 UPnP 设 备 向 所 述 UPnP 设 备 的 具 有 分 配 管 理 权 限 的 控 制 点 发 送 通 过 UPnP 协 议 发 送 AddRolesForIdentityResponse, 告知 UPnP 设备的具有分配管理权限的控制点已经成功进 行为控制点分配管理权限的操作, 并拆除 SSL 通道。
302、 自动配置服务器 ACS 通过 TR-069 命令向所述控制点发送软件安装命令 ChangeDUState(InstallOP[URL, UUID], ...), 所述通过 TR-069 协议发送的软件安装命令 携带有软件的安装地址 URL、 所述软件的第二标识, 该第二标识采用 UUID 来表示。
需要说明的是, 该 ACS 是一种可以通过 TR-069 协议对网关进行管理的装置。
303、所 述 控 制 点 将 所 述 通 过 TR-069 协 议 发 送 的 软 件 安 装 命 令 ChangeDUState(InstallOP[URL, UUID], ...) 转换为通过 UPnP 协议进行传输的软件安装命 令, 并保存 UUID。
304、 所述控制点与所述 UPnP 设备之间建立 SSL 通道, 以保证通信的安全。
305、 所述控制点通过 UPnP 协议发送所述转换后的软件安装命令给所述 UPnP
设 备, 具 体 实 施 中, 所 述 转 换 后 的 软 件 安 装 命 令 采 用 Install() 命 令 来 表 示, 在所述 Install() 命令中携带 URL。
具体应用过程中, 所述转换后的软件安装命令 Install() 中还可以携带有特定验 证参数 Flag = true, 用来指示是否需要在管理软件时进行验证。此时, 所述软件安装命令 具体可以表示为 Install(URL, Flag = true)。
306、 所述 UPnP 设备根据接收到的控制点发送的软件安装命令 Install(URL, Flag = true) 安装软件。所述软件安装完成之后, 生成所述软件的第一标识, 该第一标识采用 DUID 表示。
具体应用过程中, 在安装所述软件之间, 所述 UPnP 设备可以验证所述控制点是否 有执行 Install 命令的权限, 如果有权限, 则安装软件, 生成软件标识 DUID, 如果 Flag = true, 那么保存安装该软件对应的 HGCPID, 该 HGCPID 即为管理所述软件所需的第一验证信 息。需要说明的是, 所述 HGCPID 可以在建立 SSL 信道时获得, 例如可以在步骤 304 中获得。
307、 所 述 UPnP 设 备 通 过 UPnP 协 议 发 送 成 功 安 装 所 述 软 件 的 消 息 给 所 述 控 制 点, 所 述 消 息 中 携 带 有 所 述 软 件 的 第 一 标 识 DUID。 该 消 息 在 UPnP 协 议 中 表 示 为 InstallResponse(DUID)。 308、 所述控制点保存所述第一标识 DUID 及所述第二标识 UUID 之间的关联关系。
309、 所述控制点通过 TR-069 协议向所述 ACS 返回 ChangeDUStateResponse() 响 应消息, 告知所述 ACS 已经成功安装了软件。
310、 当所述控制点不需要向所述 UPnP 设备发送 UPnP 命令时, 拆除所述控制点与 所述 UPnP 设备之间建立的 SSL 通道。
311、 当需要卸载所述 UPnP 设备上已安装的软件时, 所述 ACS 通过 TR-069 协议发 送软件卸载命令 ChangeDUState(UninstallOP[UUID], ...) 给所述控制点, 指示该控制点 在 UPnP 设备上卸载软件。
312、 所述控制点与所述 UPnP 设备之间建立 SSL 通道, 以保证通信的安全。
313、 所述控制点将所述通过 TR-069 协议发送的软件卸载命令 ChangeDUState(Un installOP[UUID], ...) 转换为通过 UPnP 协议进行传输的软件卸载命令 Uninstall(DUID)。
具体应用时, 由于控制点从 ACS 接收到的 ChangeDUState(UninstallOP[UUID], .. .) 命令中携带的是 UUID 标识, 而 UPnP 设备上保存的是软件的第一标识 DUID, 此时可以根据 所述软件的第二标识 UUID 在步骤 308 保存的关联关系中查找出所述软件的第一标识 DUID, 然后将所述 DUID 添加到转换后的 Uninstall 命令中。
通过 UPnP 协议发送所述转换后的软件卸载命令 Uninstall(DUID) 给所述 UPnP 设 备。此时, 所述软件卸载命令携带有所述软件的第一标识 DUID。
314、 当需要在管理软件时进行验证时, 获取管理所述软件所需的第二验证信 息, 也即获取发送所述 Uninstall(DUID) 命令的控制点的标识 HGCPID, 所述 UPnP 设备 同时验证发送所述 Uninstall(DUID) 命令的控制点的标识 HGCPID 与步骤 305 发送所述 install(URL, Flag = true) 命令的控制点的标识 HGCPID 是否一致。
需要说明的是, 发送所述 Uninstall(DUID) 命令的控制点的标识 HGCPID 即为管理 所述软件所需的第二验证信息, 该第二验证信息具体可以在步骤 312 中所述与所述 UPnP 设 备之间建立 SSL 通道时获取。
具体应用中, 控制点作为一种控制设备, 所述控制点的标识具体可以包括 : 控制点 的全球唯一身份标识、 根据所述控制点的证书计算出的散列值、 登录到该控制点的用户账 户信息中的一种或多种。
当所述验证的结果一致时, 对所述软件进行卸载 ; 否则不执行卸载所述软件的操 作。
具体应用过程中, 在进行上述验证之前, 所述 UPnP 设备首先验证控制点是否有执 行 Uninstall(DUID) 命令的权限, 如果有权限, 则检查是否需要在管理软件时进行验证, 当 需要在管理软件时进行验证时, 则验证发送 Uninstall(DUID) 命令的控制点标识 HGCPID 与 在发送软件安装命令的控制点标识 HGCPID 是否一致, 如果一致则执行卸载软件的命令, 否 则不执行。
315、所 述 UPnP 设 备 通 过 UPnP 协 议 返 回 软 件 卸 载 成 功 响 应 消 息 UninstallResponse() 给所述控制点, 表示软件卸载成功。
316、 所述控制点接收到软件卸载成功的响应消息, 删除所述第一标识及所述第二 标识之间的关联关系, 即删除步骤 308 保存的 DUID 和 UUID 的之间关联关系。
317、所 述 控 制 点 通 过 TR-069 协 议 向 ACS 返 回 卸 载 成 功 响 应 ChangeDUStateResponse()。
318、 所述控制点拆除与所述 UPnP 设备间的 SSL 通道。
从上述技术方案所描述的软件管理方法的执行过程可以看出, 由于 UPnP 设备只 有接收到业务提供商发送的软件管理命令, 并验证所述第二验证信息与所述第一验证信息 一致时, 执行所述软件管理命令, 与现有技术中业务提供商在 UPnP 设备上安装的软件由用 户和业务提供商共同管理相比, 本发明实施例可以实现业务提供商在 UPnP 设备上安装的 软件只能通过业务提供商进行管理, 而用户无法管理业务提供商在通信设备上安装的软 件。
上述实施例假设的应用场景是通过控制点对安装在 UPnP 设备上的软件进行 管理为例进行介绍的, 本发明实施例还可以通过控制设备对安装在 IGRS(Intelligent Grouping and Resource Sharing, 信息设备资源共享协同服务标准 ) 设备上的软件进行管 理, 该控制设备为管理 IGRS 设备的控制设备。具体实现过程与上述安装在 UPnP 设备上的 软件进行管理的过程类似, 不同的是, 上述实施例中采用的是 UPnP 协议发送软件安装命令 / 软件管理命令, 当应用于 IGRS 设备时, 通过 IGRS 协议发送软件安装命令 / 软件管理命令。
如图 4 所述的实施例提供一种通信设备, 该通信设备包括 : 软件安装单元 51、 获取 单元 52 和软件管理单元 53。
软件安装单元 51 用于接收第一控制设备发送的软件安装命令, 根据所述软件安 装命令安装软件并保存在管理所述软件时所需的第一验证信息 ;
获取单元 52 用于接收第二控制设备发送的软件管理命令, 获取所述软件管理命 令对应的第二验证信息 ; 所述软件管理命令用于对所述软件进行管理。所述软件管理命令 包括软件更新命令, 或软件启动命令, 或软件停止命令, 或软件卸载命令。
软件管理单元 53 用于当所述第二验证信息与所述第一验证信息一致时, 执行所 述软件管理命令。
需要说明的是, 所述软件安装单元 51 具体用于接收所述第二控制设备发送的所述软件管理命令, 根据所述软件安装命令安装软件, 并从所述软件安装命令中获取并保存 所述第一验证信息 ;
或者另一种可能的情形为 : 所述软件安装单元 51 具体用于接收所述第二控制设 备发送的所述软件管理命令, 根据所述软件安装命令安装所述软件, 生成并保存所述第一 验证信息, 并将所述第一验证信息发送给所述第一控制设备。
所述获取单元 52 具体用于接收所述第二控制设备发送的所述软件管理命令, 并 从所述软件管理命令中获取所述第二验证信息。
进一步具体的, 当所述第一验证信息为所述第一控制设备的标识时, 所述软件安 装单元 51 具体用于根据从所述第一控制设备接收到的软件安装命令, 安装软件并保存所 述第一控制设备的标识 ; 所述获取单元 52 具体用于获取所述第二控制设备的标识 ; 所述软 件管理单元 53 具体用于当所述第一控制设备的标识和所述第二控制设备的标识一致时, 执行所述软件管理命令。
上述控制设备的标识可以包括 : 控制设备的全球唯一身份标识、 根据所述控制设 备的证书计算出的散列值、 登录到该控制设备的用户账户信息中的一种或多种。
需要说明的是, 当所述通信设备为 UPnP 设备时, 所述第一控制设备为第一控制点 时, 软件安装单元接收所述第一控制点通过 UPnP 协议发送的所述软件安装命令。所述第二 控制设备为第二控制点时, 获取单元接收所述第二控制点通过 UPnP 协议发送的所述软件 管理命令。所述第一控制点和第二控制点均为管理 UPnP 设备的控制点。
当所述通信设备为 IGRS 设备时, 所述软件安装单元接收所述第一控制设备通过 IGRS 协议发送的所述软件安装命令, 获取单元接收所述第二控制设备通过 IGRS 协议发送 的所述软件管理命令, 所述第一控制设备和第二控制设备均为管理 IGRS 设备的控制设备。
本发明实施例提供的通信设备只有接收到软件管理命令, 并验证所述第二验证信 息与所述第一验证信息一致时, 执行所述软件管理命令。与现有技术中业务提供商在通信 设备上安装的软件由用户和业务提供商共同管理相比, 本发明实施例可以实现业务提供商 在 UPnP 设备上安装的软件只能通过业务提供商进行管理, 而用户无法管理业务提供商在 通信设备上安装的软件。
如图 5 所示的实施例提供一种软件管理的系统, 包括 : 第一控制设备 61、 通信设备 62 和第二控制设备 63。
其中, 第一控制设备 61 用于发送软件安装命令给通信设备, 指示所述通信设备安 装软件并保存在管理所述软件时所需的第一验证信息 ;
通信设备 62 用于接收所述第一控制设备发送的软件安装命令, 根据所述软件安 装命令安装软件并保存在管理所述软件时所需的第一验证信息 ;
第二控制设备 63 用于发送软件管理命令给所述通信设备, 指示所述通信设备对 所述软件进行管理 ;
所述通信设备 62 还用于接收所述第二控制设备发送的软件管理命令, 获取所述 软件管理命令对应的第二验证信息 ; 所述软件管理命令用于对所述软件进行管理, 当所述 第二验证信息与所述第一验证信息一致时, 执行所述软件管理命令。
需要说明的是, 上述第一控制设备与第二控制设备可以为同一个控制设备, 也可 以为不同的控制设备。实际应用过程中, 该软件管理系统还可以包括所述通信设备的具有分配管理权限 的控制点, 用来给所述控制设备在通信设备上分配对软件模块的管理权限。 另外, 当该控制 设备通过网关实现时, 该软件管理系统还可以包括 : 自动配置服务器 ACS, 用来对网关进行 管理。
本发明实施例主要应用于通信技术领域, 实现业务提供商在通信设备上安装的软 件只能通过业务提供商进行管理, 而用户无法管理业务提供商在通信设备上安装的软件。
通过以上的实施方式的描述, 所属领域的技术人员可以清楚地了解到本发明可借 助软件加必需的通用硬件的方式来实现, 当然也可以通过硬件, 但很多情况下前者是更佳 的实施方式。基于这样的理解, 本发明的技术方案本质上或者说对现有技术做出贡献的部 分可以以软件产品的形式体现出来, 该计算机软件产品存储在可读取的存储介质中, 如计 算机的软盘, 硬盘或光盘等, 包括若干指令用以使得一台计算机设备 ( 可以是个人计算机, 服务器, 或者网络设备等 ) 执行本发明各个实施例所述的方法。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限于此, 任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到变化或替换, 都应涵 盖在本发明的保护范围之内。 因此, 本发明的保护范围应以所述权利要求的保护范围为准。