发明内容
鉴于以上内容,有必要提供一种数据中心,包括一数据库以及多个虚拟机,用于为客户端提供虚拟服务,该客户端通过网关与该数据中心通信连接。该数据中心还包括虚拟资源描述单元,网络单元,用户侦测单元,虚拟机启动单元以及虚拟服务激活单元,其中:
所述虚拟资源描述单元用于在用户通过客户端向数据中心注册虚拟服务时,获取客户端的用户设置的用于描述注册的虚拟服务的设定数据,生成该用户注册的虚拟服务的虚拟资源描述信息,并将该虚拟资源描述信息整合为该用户的虚拟广播域数据存入数据库中,其中,该设定数据包括登入信息以及代表用户所注册的虚拟服务的标识符;
所述网络单元用于侦测用户通过网关登入数据中心的操作;
所述用户侦测单元用于当用户登入数据中心时,获取用户的登入信息,并根据获取的登入信息,查询数据库取得用户的虚拟广播域数据,并传输给虚拟机启动单元;
所述虚拟机启动单元用于根据用户的虚拟广播域数据,取得该用户注册的虚拟服务的虚拟资源描述信息,并启动对应的虚拟机;及
所述虚拟服务激活单元用于接收网关发送的一用于通知数据中心激活相应虚拟服务的通知信息,并根据该通知信息激活已启动的虚拟机中用户所注册的虚拟服务。
还有必要提供一种上述数据中心为客户端提供虚拟服务的方法,该方法包括:
在用户通过客户端向数据中心注册虚拟服务时,获取客户端的用户设置的用于描述注册的虚拟服务的设定数据,生成该用户注册的虚拟服务的虚拟资源描述信息,并将该虚拟资源描述信息整合为该用户的虚拟广播域数据存入数据库中,其中,该设定数据包括登入信息以及代表用户所注册的虚拟服务的标识符;
侦测用户通过网关登入数据中心的操作;
当用户登入数据中心时,获取用户的登入信息,并根据获取的登入信息,查询数据库取得用户的虚拟广播域数据;
根据用户的虚拟广播域数据,取得该用户注册的虚拟服务的虚拟资源描述信息,并启动对应的虚拟机;及
接收网关发送的一用于通知数据中心激活相应虚拟服务的通知信息,并根据该通知信息激活已启动的虚拟机中用户所注册的虚拟服务。
相较于现有技术,本发明的数据中心及其为客户端提供虚拟服务的方法,在用户通过客户端向数据中心注册虚拟服务时,获取客户端的用户设置的用于描述注册的虚拟服务的设定数据,该设定数据包括代表用户所注册的虚拟服务的标识符。在用户需要使用相应的虚拟服务时,该数据中心根据该标识符来启动相应的虚拟机以及激活对应的虚拟服务,无需用户记下众多虚拟资源的网络地址等信息,可方便用户的使用。
具体实施方式
如图1所示,是本发明实施例中一数据中心(Data Center)100为一客户端300提供虚拟服务的架构图。数据中心100包括虚拟资源描述单元101、网络单元102,用户侦测单元103,虚拟机启动单元104、虚拟服务激活单元105、数据库110以及多个虚拟机(VirtualMachine,VM)120。虚拟机120用于为客户端300的用户提供各种不同的虚拟服务。客户端300通过一网关200访问数据中心100,并在数据中心100注册使用需要的虚拟服务。
本实施例中,数据中心100中的各功能元件可由硬体元件实现,也可由软件模块实现,各功能元件相互之间可直接或间接地进行数据传输和交换。数据中心100可为,但不限于,服务器。客户端300可以是,但不限于,个人电脑,便携式设备,智能手机等。所述网关200可以是,但不限于,路由器。
如图2所示,是所述数据中心100为客户端300提供虚拟服务的方法的流程图。本发明的数据中心100为客户端300提供虚拟服务的方法并不受限于下述步骤的顺序,且该方法也可以只包括以下所述步骤的其中一部分,也即其中的部分步骤可以被省略。下面结合图2中的各流程步骤,对图1中的各功能元件进行详细介绍。
步骤S1,所述虚拟资源描述单元101在用户通过客户端300向数据中心100注册虚拟服务(Virtual Service)时,获取用户设置的用于描述注册的虚拟服务的设定数据,生成该用户注册的虚拟服务的虚拟资源描述(Virtual Resource Description,VRD)信息,并将该VRD信息整合为该用户的虚拟广播域(Virtual Broadcast Domain,VBD)数据存入数据库110。
所述设定数据包括用户登入数据中心100以使用所述虚拟服务的登入信息(如用户名、密码等)以及代表用户所注册的虚拟服务的标识符(Tag)。例如,标识符可以是“Notes”、“Virtual Desktop”等,用于表示用户注册的虚拟服务为邮件服务或虚拟桌面服务等。用户注册的虚拟服务由虚拟机120所提供。本实施例中,虚拟资源描述单元101提供一用户页面(如网页)供用户设置上述设定数据。
步骤S2,网络单元102侦测用户通过网关200登入数据中心100的操作,例如通过用户名和密码登入数据中心100。
步骤S3,当网络单元102侦测到用户访问数据中心100的操作时,用户侦测单元103获取用户的登入信息(包括上述设定的用户名及密码),并根据获取的登入信息,查询数据库110取得用户的VBD数据,并传输给虚拟机启动单元104。
步骤S4,虚拟机启动单元104根据用户的VBD数据,取得该用户注册的虚拟服务的VRD信息,并启动对应的虚拟机120。进一步地,该虚拟机启动单元104可将对应虚拟机120的被启动的状态反馈给网关200,以通知客户端300当前正在启动相应的虚拟机120。所述启动的对应的虚拟机120是指数据中心100中用于提供用户注册的虚拟服务的虚拟机120。
步骤S5,网关200从数据库110中取得该用户的VBD数据,并将该VBD数据存入网关200的闪存(图未示)中。
步骤S6,网关200接收用户通过客户端300发出的虚拟服务探索(discover)封包,并根据该探索封包从闪存中取出该用户的VBD数据。具体地,所述探索封包包含用户的识别信息(User ID),如该用户的用户名。该网关200可根据探索封包包含的识别信息取出该用户对应的VBD数据。
步骤S7,网关200根据用户的VBD数据获取用户注册的虚拟服务,并发送一通知信息至数据中心100,通知数据中心100激活相应的虚拟服务。本实施中,用户需要的虚拟服务可由该VBD数据中包含的上述设定数据中的标识符(Tag)确定。
步骤S8,虚拟服务激活单元105接收所述通知信息,并根据该通知信息激活已启动的虚拟机120中用户所注册的虚拟服务,然后通过网关200发送一反馈信息至客户端300,以便用户根据该反馈信息连线使用相应的虚拟服务。
步骤S9,当激活相应的虚拟服务后,所述网络单元102为已激活的虚拟服务进行网络配置。例如,为激活的虚拟资源设定网络带宽等参数,以利于数据中心100根据该网络配置为客户端300的用户提供相应的虚拟服务。
在激活虚拟服务并进行网络配置后,网络单元102可发送一包括激活的虚拟服务以及相应的网络配置的反馈信息至客户端300,以便客户端300根据该反馈信息连线使用相应的虚拟服务。
综上所述,本发明的数据中心100可根据用户注册虚拟服务时设定的虚拟服务标识符来启动相应的虚拟机以及激活对应的虚拟服务,无需用户记下众多虚拟资源的网络地址等信息,可方便用户的使用。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。