【发明内容】
本发明的多个方面提供一种应用程序提供方法及管理节点设备,用以提高应用程序的提供的灵活性。
本发明的一方面,提供一种应用程序提供方法,包括:
管理节点设备接收云终端发送的第一请求消息,所述第一请求消息用于请求为用户提供至少一个应用程序,所述第一请求消息中包含所述至少一个应用程序的标识信息;
所述管理节点设备根据所述至少一个应用程序的标识信息,获得与所述至少一个应用程序的标识信息对应的安装信息;
所述管理节点设备将所述安装信息发送给所述用户对应的VM,以供所述VM根据所述安装信息在所述VM上执行安装操作,以使得所述VM向所述云终端提供所述至少一个应用程序。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述安装信息包括所述至少一个应用程序的安装介质、所述至少一个应用程序的软件信息和所述至少一个应用程序的安装脚本。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述管理节点设备将所述安装信息发送给所述用户对应的VM,以供所述VM根据所述安装信息在所述VM上执行安装操作之后,还包括:
所述管理节点设备接收所述云终端发送的第二请求消息,所述第二请求消息用于请求更新所述至少一个应用程序中的一个应用程序,所述第二请求消息中包含所述一个应用程序的标识信息;
所述管理节点设备根据所述一个应用程序的标识信息,获得与所述一个应用程序的标识信息对应的更新信息;
所述管理节点设备将所述更新信息发送给所述VM,以供所述VM根据所述更新信息在所述VM上执行更新操作,以使得所述VM向所述云终端提供更新的所述一个应用程序。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述管理节点设备将所述安装信息发送给所述用户对应的VM,以供所述VM根据所述安装信息在所述VM上执行安装操作之后,还包括:
所述管理节点设备接收所述云终端发送的第三请求消息,所述第三请求消息用于请求卸载所述至少一个应用程序中的一个应用程序,所述第二请求消息中包含所述一个应用程序的标识信息;
所述管理节点设备根据所述一个应用程序的标识信息,获得与所述一个应用程序的标识信息对应的卸载信息;
所述管理节点设备将所述卸载信息发送给所述VM,以供所述VM根据所述卸载信息在所述VM上执行卸载操作,以使得所述VM不向所述云终端提供所述一个应用程序。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述管理节点设备根据所述至少一个应用程序的标识信息,获得与所述至少一个应用程序的标识信息对应的安装信息之前,还包括:
所述管理节点设备对所述安装信息、所述更新信息和所述卸载信息中的至少一项进行管理操作,所述管理操作包括:
存储操作;或者
存储操作和更新操作;或者
存储操作和删除操作;或者
存储操作、更新操作和删除操作。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述管理节点设备将所述安装信息发送给所述用户对应的VM,以供所述VM根据所述安装信息在所述VM上执行安装操作之后,还包括:
所述管理节点设备对所述用户使用所述应用程序的使用情况进行监控;
所述管理节点设备根据所述监控获得的使用时间,生成计费信息;
根据所述计费信息,进行计费。
本发明的另一方面,提供一种管理节点设备,包括:
接收单元,用于接收云终端发送的第一请求消息,所述第一请求消息用于请求为用户提供至少一个应用程序,所述第一请求消息中包含所述至少一个应用程序的标识信息;
获得单元,用于根据所述至少一个应用程序的标识信息,获得与所述至少一个应用程序的标识信息对应的安装信息;
发送单元,用于将所述安装信息发送给所述用户对应的VM,以供所述VM根据所述安装信息在所述VM上执行安装操作,以使得所述VM向所述云终端提供所述至少一个应用程序。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述获得单元获得的所述安装信息包括所述至少一个应用程序的安装介质、所述至少一个应用程序的软件信息和所述至少一个应用程序的安装脚本。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,
所述接收单元,还用于接收所述云终端发送的第二请求消息,所述第二请求消息用于请求更新所述至少一个应用程序中的一个应用程序,所述第二请求消息中包含所述一个应用程序的标识信息;
所述获得单元,还用于根据所述一个应用程序的标识信息,获得与所述一个应用程序的标识信息对应的更新信息;
所述发送单元,还用于将所述更新信息发送给所述VM,以供所述VM根据所述更新信息在所述VM上执行更新操作,以使得所述VM向所述云终端提供更新的所述一个应用程序。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,
所述接收单元,还用于接收所述云终端发送的第三请求消息,所述第三请求消息用于请求卸载所述至少一个应用程序中的一个应用程序,所述第二请求消息中包含所述一个应用程序的标识信息;
所述获得单元,还用于根据所述一个应用程序的标识信息,获得与所述一个应用程序的标识信息对应的卸载信息;
所述发送单元,还用于将所述卸载信息发送给所述VM,以供所述VM根据所述卸载信息在所述VM上执行卸载操作,以使得所述VM不向所述云终端提供所述一个应用程序。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述管理节点设备还包括管理单元,用于
对所述安装信息、所述更新信息和所述卸载信息中的至少一项进行管理操作,所述管理操作包括:
存储操作;或者
存储操作和更新操作;或者
存储操作和删除操作;或者
存储操作、更新操作和删除操作。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述管理节点设备还包括监控单元,用于
对所述用户使用所述应用程序的使用情况进行监控;根据所述监控获得的使用时间,生成计费信息;以及根据所述计费信息,进行计费。
由上述技术方案可知,本发明实施例通过管理节点设备根据来自云终端的第一请求消息,获得所述云终端所请求的应用程序的安装信息,使得所述管理节点设备将所述安装信息发送给所述用户对应的VM,以供所述VM根据所述安装信息在所述VM上执行安装操作,从而使得所述VM向所述云终端提供所述至少一个应用程序得以实现,由于所述VM能够提供云终端所请求的任意应用程序,因此,能够避免现有技术中由于管理节点设备所创建的VM只能够提供创建时用户所选择的应用程序的问题,从而提高了应用程序的提供的灵活性。
【具体实施方式】
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
可以理解的是,本实施例中所涉及的应用程序可以理解为用户能够租用的软件服务,因此,本发明中所述应用程序的含义与所述软件服务的含义等同,所有出现所述应用程序的地方均可以替换为软件服务。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本发明一实施例提供的应用程序提供方法及管理节点设备的流程示意图,如图1所示。
101、管理节点设备接收云终端发送的第一请求消息,所述第一请求消息用于请求为用户提供至少一个应用程序,所述第一请求消息中包含所述至少一个应用程序的标识信息。
102、所述管理节点设备根据所述至少一个应用程序的标识信息,获得与所述至少一个应用程序的标识信息对应的安装信息。
103、所述管理节点设备将所述安装信息发送给所述用户对应的VM,以供所述VM根据所述安装信息在所述VM上执行安装操作,以使得所述VM向所述云终端提供所述至少一个应用程序。
这样,通过管理节点设备根据来自云终端的第一请求消息,获得所述云终端所请求的应用程序的安装信息,使得所述管理节点设备能够根据所述安装信息,在所述VM上对所述安装信息执行安装操作,从而所述VM向所述云终端提供所述至少一个应用程序得以实现,所述VM能够提供云终端所请求的任意应用程序,能够避免现有技术中由于管理节点设备所创建的VM只能够提供创建时用户所选择的应用程序的问题,从而提高了应用程序的提供的灵活性。
需要说明的是,所述管理节点设备可以为服务器/客户端模式,其客户端安装在用户对应的VM上,该客户端对所述用户不可见,为后台运行的进程。
可选地,在本实施例的一个可能的实现方式中,所述安装信息可以包括但不限于所述至少一个应用程序的安装介质、所述至少一个应用程序的软件信息和所述至少一个应用程序的安装脚本。
其中,所述安装介质可以包括但不限于windows系统环境下的.exe、.msi等,linux系统环境下的rpm等,详细描述可以参见现有技术中的相关内容,此处不再赘述。
可选地,在本实施例的一个可能的实现方式中,在103之后,所述管理节点设备还可以进一步接收所述云终端发送的第二请求消息,所述第二请求消息用于请求更新所述至少一个应用程序中的一个应用程序,所述第二请求消息中包含所述一个应用程序的标识信息;然后,所述管理节点设备则可以根据所述一个应用程序的标识信息,获得与所述一个应用程序的标识信息对应的更新信息;最后,所述管理节点设备将所述更新信息发送给所述VM,以供所述VM根据所述更新信息在所述VM上执行更新操作,以使得所述VM向所述云终端提供更新的所述一个应用程序。
其中,所述更新信息可以包括但不限于更新的软件信息和更新脚本等自动化脚本。
可选地,在本实施例的一个可能的实现方式中,在103之后,所述管理节点设备还可以进一步接收所述云终端发送的第三请求消息,所述第三请求消息用于请求卸载所述至少一个应用程序中的一个应用程序,所述第二请求消息中包含所述一个应用程序的标识信息;然后,所述管理节点设备则可以根据所述一个应用程序的标识信息,获得与所述一个应用程序的标识信息对应的卸载信息;最后,所述管理节点设备将所述卸载信息发送给所述VM,以供所述VM根据所述卸载信息在所述VM上执行卸载操作,以使得所述VM不向所述云终端提供所述一个应用程序。
其中,所述安装信息可以包括但不限于卸载脚本等自动化脚本。
可选地,在本实施例的一个可能的实现方式中,在102之前,所述管理节点设备还可以进一步对所述安装信息、所述更新信息和所述卸载信息中的至少一项进行管理操作,所述管理操作可以包括但不限于:
存储操作;或者
存储操作和更新操作;或者
存储操作和删除操作;或者
存储操作、更新操作和删除操作。
具体地,所述管理操作的对象可以包括但不限于所述至少一个应用程序的状态、所述至少一个应用程序的脚本和所述至少一个应用程序的版本。
进一步可选地,所述管理节点设备还可以进一步记录所述至少一个应用程序的状态、所述至少一个应用程序的安装信息、更新信息和卸载信息的存储位置和所述至少一个应用程序的版本号,以供所述管理节点设备根据所述记录的信息,执行相关的操作,例如,安装、更新或卸载操作。其中,所述状态可以包括上架、发布或下架。
例如,一个应用程序的上架流程可以如下:
管理节点设备接收触发消息,所述触发消息中包含待上架的应用程序的标识信息。所述管理节点设备则根据所述触发消息,检测所述应用程序是否已经存在,如果不存在,则可以存储所述应用程序的安装信息、更新信息和卸载信息中的至少一项,并将所述应用程序的状态设置为上架状态;如果已经存在,则可以进一步判断该应用程序是否为新版本,如果是新版本,则可以存储所述应用程序的安装信息、更新信息和卸载信息中的至少一项,并将所述应用程序的状态设置为上架状态。
可以理解的是,一个应用程序上架之后还不能提供给用户在VM上进行安装,还需要进一步执行该应用程序的发布操作,才能够提供给用户在VM上进行安装。
或者再例如,一个应用程序的下架流程可以如下:
管理节点设备接收触发消息,所述触发消息中包含待下架的应用程序的标识信息。所述管理节点设备则根据所述触发消息,将所述应用程序的状态设置为下架状态。
可以理解的是,一个应用程序下架之后,就不能提供给用户在VM上进行安装。
为了进一步节省存储空间,所述触发消息中还可以进一步包含指示信息,所述指示信息用于指示所述应用程序下架之后的存储时间。相应地,所述管理节点设备则可以根据所述指示信息,在所述存储时间到达时,删除所述应用程序的安装信息、更新信息和卸载信息。
本实施例中,通过管理节点设备根据来自云终端的第一请求消息,获得所述云终端所请求的应用程序的安装信息,使得所述管理节点设备将所述安装信息发送给所述用户对应的VM,以供所述VM根据所述安装信息在所述VM上执行安装操作,从而使得所述VM向所述云终端提供所述至少一个应用程序得以实现,由于所述VM能够提供云终端所请求的任意应用程序,因此,能够避免现有技术中由于管理节点设备所创建的VM只能够提供创建时用户所选择的应用程序的问题,从而提高了应用程序的提供的灵活性。
可选地,在本发明的另一个实施例中,在103之后,所述管理节点设备还可以进一步对所述用户使用所述应用程序的使用情况进行监控;然后,所述管理节点设备则可以根据所述监控获得的使用时间,生成计费信息,进而根据所述计费信息,进行计费。具体地,所述管理节点设备可以将其客户端上报的所述用户使用所述应用程序的使用情况,进行记录。其中,所述客户端上报的使用情况可以包括启动事件、重启事件和停止事件中的至少一项。然后,所述管理节点设备周期性地,可以根据记录的使用情况,统计获得使用时间,并根据预先配置的计费标准和所述使用时间,生成计费账单。
采用本实施例提供的技术方案进行计费,管理节点设备能够根据用户使用某个应用程序的使用时间,进行计费,能够避免现有技术中由于将应用程序的使用时间等效于该应用程序所允许的VM的使用时间而导致的计费不灵活和不精准的问题,从而提高了计费的灵活性和精准性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图2为本发明另一实施例提供的管理节点设备的结构示意图,如图2所示。本实施例提供的管理节点设备可以包括接收单元21、获得单元22和发送单元23。其中,接收单元21,用于接收云终端发送的第一请求消息,所述第一请求消息用于请求为用户提供至少一个应用程序,所述第一请求消息中包含所述至少一个应用程序的标识信息;获得单元22,用于根据所述至少一个应用程序的标识信息,获得与所述至少一个应用程序的标识信息对应的安装信息;发送单元23,用于将所述安装信息发送给所述用户对应的VM,以供所述VM根据所述安装信息在所述VM上执行安装操作,以使得所述VM向所述云终端提供所述至少一个应用程序。
这样,管理节点设备通过获得单元根据接收单元接收的来自云终端的第一请求消息,获得所述云终端所请求的应用程序的安装信息,使得发送单元能够根据所述安装信息,在所述VM上对所述安装信息执行安装操作,从而所述VM向所述云终端提供所述至少一个应用程序得以实现,所述VM能够提供云终端所请求的任意应用程序,能够避免现有技术中由于管理节点设备所创建的VM只能够提供创建时用户所选择的应用程序的问题,从而提高了应用程序的提供的灵活性。
需要说明的是,所述管理节点设备可以为服务器/客户端模式,其客户端安装在用户对应的VM上,该客户端对所述用户不可见,为后台运行的进程。
可选地,在本实施例的一个可能的实现方式中,所述安装信息可以包括但不限于所述至少一个应用程序的安装介质、所述至少一个应用程序的软件信息和所述至少一个应用程序的安装脚本。
其中,所述安装介质可以包括但不限于windows系统环境下的.exe、.msi等,linux系统环境下的rpm等,详细描述可以参见现有技术中的相关内容,此处不再赘述。
可选地,在本实施例的一个可能的实现方式中,所述接收单元21,还可以进一步用于接收所述云终端发送的第二请求消息,所述第二请求消息用于请求更新所述至少一个应用程序中的一个应用程序,所述第二请求消息中包含所述一个应用程序的标识信息;相应地,所述获得单元22,还可以进一步用于根据所述一个应用程序的标识信息,获得与所述一个应用程序的标识信息对应的更新信息;所述发送单元23,则可以用于将所述更新信息发送给所述VM,以供所述VM根据所述更新信息在所述VM上执行更新操作,以使得所述VM向所述云终端提供更新的所述一个应用程序。
其中,所述更新信息可以包括但不限于更新的软件信息和更新脚本等自动化脚本。
可选地,在本实施例的一个可能的实现方式中,所述接收单元21,还可以进一步用于接收所述云终端发送的第三请求消息,所述第三请求消息用于请求卸载所述至少一个应用程序中的一个应用程序,所述第二请求消息中包含所述一个应用程序的标识信息;相应地,所述获得单元22,还可以进一步用于根据所述一个应用程序的标识信息,获得与所述一个应用程序的标识信息对应的卸载信息;所述发送单元23,则可以用于将所述卸载信息发送给所述VM,以供所述VM根据所述卸载信息在所述VM上执行卸载操作,以使得所述VM不向所述云终端提供所述一个应用程序。
其中,所述安装信息可以包括但不限于卸载脚本等自动化脚本。
可选地,在本实施例的一个可能的实现方式中,如图3所示,本实施例提供的管理节点设备还可以进一步包括管理单元31,用于对所述安装信息、所述更新信息和所述卸载信息中的至少一项进行管理操作,所述管理操作可以包括但不限于:
存储操作;或者
存储操作和更新操作;或者
存储操作和删除操作;或者
存储操作、更新操作和删除操作。
具体地,所述管理操作的对象可以包括但不限于所述至少一个应用程序的状态、所述至少一个应用程序的脚本和所述至少一个应用程序的版本。
进一步可选地,所述管理单元31还可以进一步记录所述至少一个应用程序的状态、所述至少一个应用程序的安装信息、更新信息和卸载信息的存储位置和所述至少一个应用程序的版本号,以供所述发送单元23根据所述记录的信息,执行相关的操作,例如,安装、更新或卸载操作。其中,所述状态可以包括上架、发布或下架。
例如,一个应用程序的上架流程可以如下:
所述管理单元31接收触发消息,所述触发消息中包含待上架的应用程序的标识信息。所述管理单元31则根据所述触发消息,检测所述应用程序是否已经存在,如果不存在,则可以存储所述应用程序的安装信息、更新信息和卸载信息中的至少一项,并将所述应用程序的状态设置为上架状态;如果已经存在,则可以进一步判断该应用程序是否为新版本,如果是新版本,则可以存储所述应用程序的安装信息、更新信息和卸载信息中的至少一项,并将所述应用程序的状态设置为上架状态。
可以理解的是,一个应用程序上架之后还不能提供给用户在VM上进行安装,还需要进一步执行该应用程序的发布操作,才能够提供给用户在VM上进行安装。
或者再例如,一个应用程序的下架流程可以如下:
管理单元31接收触发消息,所述触发消息中包含待下架的应用程序的标识信息。所述管理单元31则根据所述触发消息,将所述应用程序的状态设置为下架状态。
可以理解的是,一个应用程序下架之后,就不能提供给用户在VM上进行安装。
为了进一步节省存储空间,所述触发消息中还可以进一步包含指示信息,所述指示信息用于指示所述应用程序下架之后的存储时间。相应地,所述管理单元31则可以根据所述指示信息,在所述存储时间到达时,删除所述应用程序的安装信息、更新信息和卸载信息。
本实施例中,管理节点设备通过获得单元根据接收单元接收的来自云终端的第一请求消息,获得所述云终端所请求的应用程序的安装信息,使得发送单元能够将所述安装信息发送给所述用户对应的VM,以供所述VM根据所述安装信息在所述VM上执行安装操作,从而使得所述VM向所述云终端提供所述至少一个应用程序得以实现,由于所述VM能够提供云终端所请求的任意应用程序,因此,能够避免现有技术中由于管理节点设备所创建的VM只能够提供创建时用户所选择的应用程序的问题,从而提高了应用程序的提供的灵活性。
可选地,在本发明的另一个实施例中,如图4所示,本实施例提供的管理节点设备还可以进一步包括监控单元41,用于对所述用户使用所述至少一个应用程序的使用情况进行监控;根据所述监控获得的使用时间,生成计费信息;以及根据所述计费信息,进行计费。具体地,可以通过所述接收单元21接收安装在所述VM上的客户端上报的所述用户使用所述应用程序的使用情况,所述监控单元41则可以将所述接收单元21接收的使用情况,进行记录。其中,所述客户端上报的使用情况可以包括启动事件、重启事件和停止事件中的至少一项。然后,所述监控单元41周期性地,可以根据记录的使用情况,统计获得使用时间,并根据预先配置的计费标准和所述使用时间,生成计费账单。
采用本实施例提供的技术方案进行计费,监控单元41能够根据用户使用某个应用程序的使用时间,进行计费,能够避免现有技术中由于将应用程序的使用时间等效于该应用程序所允许的VM的使用时间而导致的计费不灵活和不精准的问题,从而提高了计费的灵活性和精准性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。