发明内容
本说明书实施例旨在提供一种更有效的可信计算集群方案,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种形成可信计算集群的方法,所述可信计算集群通过分别位于至少两个机房中的至少两个集群管理器管理,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,所述方法通过第一可信计算单元执行,所述第一可信计算单元位于任一所述机房中,所述方法包括:
向所述主集群管理器发送请求,以请求创建所述可信计算集群,以使得所述主集群管理器基于所述请求创建关于所述可信计算集群的信息,所述信息中包括所述第一可信计算单元的标识、以及所述第一可信计算单元所在机房的标识。
在一个实施例中,所述主集群管理器位于第一机房中,所述第一可信计算单元位于第二机房中,所述第二机房中包括所述至少一个辅集群管理器中的第一辅集群管理器,其中,向所述主集群管理器发送请求包括,通过所述第一辅集群管理器的中转向所述主集群管理器发送请求。
本说明书另一方面提供一种形成可信计算集群的方法,所述可信计算集群通过分别位于至少两个机房的至少两个集群管理器管理,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,其中,所述可信计算集群中已至少包括第一可信计算单元,所述方法通过第二可信计算单元执行,所述第一可信计算单元和所述第二可信计算单元分别位于任一所述机房中,所述主集群管理器维护有关于所述可信计算集群的信息,所述信息中包括所述可信计算集群已有的各个可信计算单元各自的标识、以及所述各个可信计算单元所在机房的标识,所述方法包括:
向所述主集群管理器发送请求,以请求加入所述可信计算集群,以使得所述主集群管理器基于所述信息获取所述第一可信计算单元的标识;
从所述主集群管理器接收第一通知,所述第一通知包括所述第一可信计算单元的标识;
与所述第一可信计算单元协商密钥,以获取所述可信计算集群的集群密钥;以及
向所述主集群管理器发送第二通知,以通知所述主集群管理器所述第二可信计算单元已加入所述集群,以使得所述主集群管理器基于第二通知更新所述信息。
在一个实施例中,所述主集群管理器位于第一机房中,所述第二可信计算单元位于第二机房中,所述第二机房中还包括所述至少一个辅集群管理器中的第一辅集群管理器,其中,向所述主集群管理器发送请求包括,通过所述第一辅集群管理器的中转向所述主集群管理器发送请求,其中,从所述主集群管理器接收第一通知包括,通过所述第一辅集群管理器的中转从所述主集群管理器接收第一通知,以及,向所述主集群管理器发送第二通知包括,通过所述第一辅集群管理器的中转向所述主集群管理器发送第二通知。
在一个实施例中,所述主集群管理器位于第一机房中,所述第一机房中包括至少一组集群管理器,其中包括第一组集群管理器,所述第一组集群管理器对应于预定数目的集群,且所述第一组集群管理器包括至少两个集群管理器,所述至少两个集群管理器基于分布式锁确定该组的常用集群管理器。
在一个实施例中,所述至少一个辅集群管理器中的第一辅集群管理器位于第二机房中,所述第二机房中包括至少一组集群管理器,其中包括与所述第一组集群管理器相对应的第二组集群管理器,所述第二组集群管理器对应于所述预定数目的集群,且所述第二组集群管理器包括至少两个集群管理器,所述第二组集群管理器中的至少两个集群管理器基于分布式锁确定该组的常用集群管理器,所述第一组集群管理器中的常用集群管理器与第二组集群管理器中的常用集群管理器基于分布式锁确定其中的所述主集群管理器和所述第一辅集群管理器。
在一个实施例中,所述第一机房中还包括第一集群协调器,所述第二可信计算单元位于所述第一机房中,其中,向所述主集群管理器发送请求包括,上线后在所述第一集群协调器注册节点,以及,通过所述第一集群协调器向所述主集群管理器发送请求。
在一个实施例中,所述第一组集群管理器中的至少两个集群管理器基于由所述第一集群协调器提供的分布式锁确定该组的常用集群管理器。
在一个实施例中,所述第二机房包括还第二集群协调器,其中,所述第一集群协调器与所述第二集群协调器相关联,所述第一组集群管理器中的常用集群管理器与第二组集群管理器中的常用集群管理器基于由所述关联的第一集群协调器和第二集群协调器提供的分布式锁确定其中的所述主集群管理器和所述第一辅集群管理器。
在一个实施例中,与所述第一可信计算单元协商密钥,以获取所述可信计算集群的集群密钥包括,与所述第一可信计算单元相互验证,以及在验证通过之后从所述第一可信计算单元获取所述可信计算集群的集群密钥,其中,所述集群密钥由所述第一可信计算单元预先获取。
在一个实施例中,所述第二可信计算单元所在的机房包括验证代理服务器,其中,在所述相互验证中,至少所述第二可信计算单元对所述第一可信计算单元的验证通过所述验证代理服务器进行。
在一个实施例中,所述第二可信计算单元位于第一机房中,所述可信计算集群已至少包括所述第一可信计算单元包括,所述可信计算集群中已包括位于所述第一机房中的第一可信计算单元和位于其它机房中的至少一个可信计算单元。
本说明书另一方面提供一种形成可信计算集群的方法,所述可信计算集群通过分别位于至少两个机房的至少两个集群管理器管理,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,所述方法通过主集群管理器执行,包括:
从第一可信计算单元接收请求,所述请求用于请求创建可信计算集群,其中,所述第一可信计算单元位于任一所述机房中;以及
基于所述请求创建关于所述可信计算集群的信息,所述信息中包括所述第一可信计算单元的标识、以及所述第一可信计算单元所在机房的标识。
在一个实施例中,所述主集群管理器位于第一机房中,所述第一可信计算单元位于第二机房中,所述第二机房中包括所述至少一个辅集群管理器中的第一辅集群管理器,其中,从所述第一可信计算单元接收请求包括,通过所述第一辅集群管理器的中转从所述第一可信计算单元接收请求。
在一个实施例中,通过所述第一辅集群管理器的中转从所述第一可信计算单元接收的请求包括所述第一辅集群管理器的标识,其中,基于所述请求创建关于所述可信计算集群的信息包括,基于所述第一辅集群管理器的标识获取所述第一可信计算单元所在机房的标识。
本说明书另一方面提供一种形成可信计算集群的方法,所述可信计算集群通过分别位于至少两个机房的至少两个集群管理器管理,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,其中,所述可信计算集群中已至少包括第一可信计算单元,所述第一可信计算单元位于任一所述机房中,所述主集群管理器维护有关于所述可信计算集群的信息,所述信息中包括所述可信计算集群已有的各个可信计算单元各自的标识、以及所述各个可信计算单元所在机房的标识,所述方法通过所述主集群管理器执行,包括:
从第二可信计算单元接收请求,所述请求用于请求加入所述可信计算集群,其中,所述第二可信计算单元位于所述至少两个机房中的任一所述机房中;
基于所述信息,确定通过所述第一可信计算单元进行与所述第二可信计算单元的密钥协商;
向所述第二可信计算单元发送第一通知,所述第一通知包括所述第一可信计算单元的标识;
向所述第一可信计算单元发送第二通知,所述第二通知包括所述第二可信计算单元的标识;
从所述第二可信计算单元接收第三通知,所述第三通知通知所述主集群管理器所述第二可信计算单元已加入所述可信计算集群;以及
基于第三通知更新关于所述可信计算集群的信息。
在一个实施例中,所述主集群管理器位于第一机房中,所述第二可信计算单元位于第二机房中,所述第二机房中还包括所述至少一个辅集群管理器中的第一辅集群管理器,其中,从所述第二可信计算单元接收请求包括,通过所述第一辅集群管理器的中转从所述第二可信计算单元接收请求,向所述第二可信计算单元发送第一通知包括,通过所述第一辅集群管理器的中转向所述第二可信计算单元发送第一通知,以及,从所述第二可信计算单元接收第三通知包括,通过所述第一辅集群管理器的中转从所述第二可信计算单元接收第三通知。
在一个实施例中,所述第一可信计算单元位于所述第二机房中,其中,向所述第一可信计算单元发送第二通知包括,基于所述信息确定所述第一可信计算单元位于所述第二机房中,以及,通过所述第二机房中的所述第一辅集群管理器的中转向所述第一可信计算单元发送第二通知。
在一个实施例中,所述方法还包括,在所述第二可信计算单元加入所述可信计算集群之后,在所述第二可信计算单元下线的情况中,确定所述第二可信计算单元已不在所述可信计算集群中,以及更新关于所述可信计算集群的信息。
在一个实施例中,所述第二可信计算单元位于所述第一机房中,所述第一机房中还包括第一集群协调器,其中,确定所述第二可信计算单元已不在所述可信计算集群中包括,从所述第一集群协调器获取所述第二可信计算单元的下线消息,从而确定所述第二可信计算单元已不在所述可信计算集群中。
在一个实施例中,所述第二可信计算单元位于所述第二机房中,所述第二机房中还包括第二集群协调器,其中,确定所述第二可信计算单元已不在所述可信计算集群中包括,通过所述第一辅集群管理器的中转从所述第二集群协调器获取所述第二可信计算单元的下线消息,从而确定所述第二可信计算单元已不在所述可信计算集群中。
本说明书另一方面提供一种在用户终端与可信计算集群之间建立可信通道的方法,所述可信计算集群包括多个可信计算单元,其中包括第一可信计算单元,每个所述可信计算单元均维护有共同的集群密钥,所述多个可信计算单元分布在至少两个机房中、通过至少两个集群管理器管理,其中,每个所述机房中包括一个所述集群管理器,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,所述主集群管理器维护有关于所述可信计算集群的信息,所述信息中包括所述可信计算集群中各个可信计算单元各自的标识、以及各个可信计算单元所在机房的标识,所述方法通过所述第一可信计算单元执行,包括:
与用户终端协商会话密钥,以建立与所述用户终端的可信通道,所述会话密钥用于对通过所述可信信道传输的数据进行加密;
利用所述集群密钥对所述会话密钥进行加密,以获取加密密钥;
向所述主集群管理器发送第一通知,其中包含所述加密密钥,以使得所述主集群管理器基于所述信息将所述加密密钥传递给所述可信计算集群中的其它可信计算单元。
在一个实施例中,所述主集群管理器位于第一机房中,所述至少一个辅集群管理器中包括第一辅集群管理器,所述第一辅集群管理器和所述第一可信计算单元都位于第二机房中,其中,向所述主集群管理器发送第一通知包括,通过所述第一辅集群管理器的中转向所述主集群管理器发送第一通知。
在一个实施例中,所述第一可信计算单元位于第一机房中,所述第一机房还包括第一网关,其中,与用户终端协商会话密钥包括,通过所述第一网关与用户终端协商会话密钥。
在一个实施例中,与用户终端协商会话密钥包括,向用户终端发送认证信息,以使得所述用户终端进行对所述第一可信计算单元的验证,以及,在验证通过之后获取会话密钥。
在一个实施例中,所述第一机房还包括第一验证代理服务器,其中,所述验证通过所述验证代理服务器进行。
本说明书另一方面提供一种在用户终端与可信计算集群之间建立可信通道的方法,所述可信计算集群包括多个可信计算单元,其中包括第一可信计算单元,每个所述可信计算单元均维护有共同的集群密钥,所述多个可信计算单元分布在至少两个机房中、通过至少两个集群管理器管理,其中,每个所述机房中包括一个所述集群管理器,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,所述主集群管理器维护有关于所述可信计算集群的信息,所述信息中包括所述可信计算集群中各个可信计算单元各自的标识、以及各个可信计算单元所在机房的标识,所述方法通过所述主集群管理器执行,包括:
从所述第一可信计算单元接收第一通知,所述第一通知中包括加密密钥,所述加密密钥是利用所述集群密钥对会话密钥进行加密而得到,所述会话密钥是所述第一可信计算单元与用户建立的可信通道所对应的数据加密密钥;
确定所述第一可信计算单元归属于所述可信计算集群;
基于所述信息,确定所述可信计算集群中的其它可信计算单元,其中包括第二可信计算单元;以及
将所述加密密钥传递给所述可信计算集群中的第二可信计算单元,以使得所述第二可信计算单元加入所述可信通道中。
在一个实施例中,所述主集群管理器位于第一机房中,所述至少一个辅集群管理器中包括位于第二机房中的第一辅集群管理器,其中,所述第一可信计算单元位于所述第二机房中,其中,从第一可信计算单元接收第一通知包括,通过所述第一辅集群管理器的中转从第一可信计算单元接收第一通知。
在一个实施例中,所述第二可信计算单元位于所述第二机房中,其中,基于所述信息,确定所述可信计算集群中的其它可信计算单元,其中包括第二可信计算单元包括,基于所述信息确定所述第二可信计算单元位于所述第二机房中,以及,将所述加密密钥传递给所述可信计算集群中的第二可信计算单元包括,通过所述第二机房中的所述第一辅集群管理器的中转将所述加密密钥传递给所述第二可信计算单元。
本说明书另一方面提供一种形成可信计算集群的装置,所述可信计算集群通过分别位于至少两个机房中的至少两个集群管理器管理,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,所述装置部署在第一可信计算单元中,所述第一可信计算单元位于任一所述机房中,所述装置包括:
发送单元,配置为,向所述主集群管理器发送请求,以请求创建所述可信计算集群,以使得所述主集群管理器基于所述请求创建关于所述可信计算集群的信息,所述信息中包括所述第一可信计算单元的标识、以及所述第一可信计算单元所在机房的标识。
在一个实施例中,所述主集群管理器位于第一机房中,所述第一可信计算单元位于第二机房中,所述第二机房中包括所述至少一个辅集群管理器中的第一辅集群管理器,其中,所述发送单元还配置为,通过所述第一辅集群管理器的中转向所述主集群管理器发送请求。
本说明书另一方面提供一种形成可信计算集群的装置,所述可信计算集群通过分别位于至少两个机房的至少两个集群管理器管理,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,其中,所述可信计算集群中已至少包括第一可信计算单元,所述装置部署在第二可信计算单元中,所述第一可信计算单元和所述第二可信计算单元分别位于任一所述机房中,所述主集群管理器维护有关于所述可信计算集群的信息,所述信息中包括所述可信计算集群已有的各个可信计算单元各自的标识、以及所述各个可信计算单元所在机房的标识,所述装置包括:
第一发送单元,配置为,向所述主集群管理器发送请求,以请求加入所述可信计算集群,以使得所述主集群管理器基于所述信息获取所述第一可信计算单元的标识;
接收单元,配置为,从所述主集群管理器接收第一通知,所述第一通知包括所述第一可信计算单元的标识;
密钥协商单元,配置为,与所述第一可信计算单元协商密钥,以获取所述可信计算集群的集群密钥;以及
第二发送单元,配置为,向所述主集群管理器发送第二通知,以通知所述主集群管理器所述第二可信计算单元已加入所述集群,以使得所述主集群管理器更新所述信息。
在一个实施例中,所述主集群管理器位于第一机房中,所述第二可信计算单元位于第二机房中,所述第二机房中还包括所述至少一个辅集群管理器中的第一辅集群管理器,其中,所述第一发送单元还配置为,通过所述第一辅集群管理器的中转向所述主集群管理器发送请求,其中,所述接收单元还配置为,通过所述第一辅集群管理器的中转从所述主集群管理器接收第一通知,以及,所述第二发送单元还配置为,通过所述第一辅集群管理器的中转向所述主集群管理器发送第二通知。
在一个实施例中,所述第一机房中还包括第一集群协调器,所述第二可信计算单元位于所述第一机房中,其中,所述第一发送单元包括,注册子单元,配置为,上线后在所述第一集群协调器注册节点,以及,发送子单元,配置为,通过所述第一集群协调器向所述主集群管理器发送请求。
在一个实施例中,所述密钥协商单元包括,验证子单元,配置为,与所述第一可信计算单元相互验证,以及获取子单元,配置为,在验证通过之后从所述第一可信计算单元获取所述可信计算集群的集群密钥,其中,所述集群密钥由所述第一可信计算单元预先获取。
本说明书另一方面提供一种形成可信计算集群的装置,所述可信计算集群通过分别位于至少两个机房的至少两个集群管理器管理,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,所述装置部署在所述主集群管理器中,包括:
接收单元,配置为,从第一可信计算单元接收请求,所述请求用于请求创建可信计算集群,其中,所述第一可信计算单元位于任一所述机房中;以及
创建单元,配置为,基于所述请求创建关于所述可信计算集群的信息,所述信息中包括所述第一可信计算单元的标识、以及所述第一可信计算单元所在机房的标识。
在一个实施例中,所述主集群管理器位于第一机房中,所述第一可信计算单元位于第二机房中,所述第二机房中包括所述至少一个辅集群管理器中的第一辅集群管理器,其中,所述接收单元还配置为,通过所述第一辅集群管理器的中转从所述第一可信计算单元接收请求。
在一个实施例中,通过所述第一辅集群管理器的中转从所述第一可信计算单元接收的请求包括所述第一辅集群管理器的标识,其中,所述创建单元还配置为,基于所述第一辅集群管理器的标识获取所述第一可信计算单元所在机房的标识。
本说明书另一方面提供一种形成可信计算集群的装置,所述可信计算集群通过分别位于至少两个机房的至少两个集群管理器管理,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,其中,所述可信计算集群中已至少包括第一可信计算单元,所述第一可信计算单元位于任一所述机房中,所述主集群管理器维护有关于所述可信计算集群的信息,所述信息中包括所述可信计算集群已有的各个可信计算单元各自的标识、以及所述各个可信计算单元所在机房的标识,所述装置部署在所述主集群管理器中,包括:
第一接收单元,配置为,从第二可信计算单元接收请求,所述请求用于请求加入所述可信计算集群,其中,所述第二可信计算单元位于所述至少两个机房中的任一所述机房中;
第一确定单元,配置为,基于所述信息,获取所述第一可信计算单元的标识;
第一发送单元,配置为,向所述第二可信计算单元发送第一通知,所述第一通知包括所述第一可信计算单元的标识;
第二发送单元,配置为,向所述第一可信计算单元发送第二通知,所述第二通知包括所述第二可信计算单元的标识;
第二接收单元,配置为,从所述第二可信计算单元接收第三通知,所述第三通知通知所述主集群管理器所述第二可信计算单元已加入所述可信计算集群;以及
第一更新单元,配置为,基于第三通知更新关于所述可信计算集群的信息。
在一个实施例中,所述主集群管理器位于第一机房中,所述第二可信计算单元位于第二机房中,所述第二机房中还包括所述至少一个辅集群管理器中的第一辅集群管理器,其中,所述第一接收单元还配置为,通过所述第一辅集群管理器的中转从所述第二可信计算单元接收请求,所述第一发送单元还配置为,通过所述第一辅集群管理器的中转向所述第二可信计算单元发送第一通知,以及,所述第二接收单元还配置为,通过所述第一辅集群管理器的中转从所述第二可信计算单元接收第三通知。
在一个实施例中,所述第一可信计算单元位于所述第二机房中,其中,所述第二发送单元还包括,确定子单元,配置为,基于所述信息确定所述第一可信计算单元位于所述第二机房中,以及发送子单元,配置为,通过所述第一辅集群管理器的中转向所述第一可信计算单元发送第二通知。
在一个实施例中,所述装置还包括,第二确定单元,配置为,在所述第二可信计算单元加入所述可信计算集群之后,在所述第二可信计算单元下线的情况中,确定所述第二可信计算单元已不在所述可信计算集群中,以及第二更新单元,配置为,更新关于所述可信计算集群的信息。
在一个实施例中,所述第二可信计算单元位于所述第一机房中,所述第一机房中还包括第一集群协调器,其中,所述第二确定单元还配置为,从所述第一集群协调器获取所述第二可信计算单元的下线消息,从而确定所述第二可信计算单元已不在所述可信计算集群中。
在一个实施例中,所述第二可信计算单元位于所述第二机房中,所述第二机房中还包括第二集群协调器,其中,所述第二确定单元还配置为,通过所述第一辅集群管理器的中转从所述第二集群协调器获取所述第二可信计算单元的下线消息,从而确定所述第二可信计算单元已不在所述可信计算集群中。
本说明书另一方面提供一种在用户终端与可信计算集群之间建立可信通道的装置,所述可信计算集群包括多个可信计算单元,其中包括第一可信计算单元,每个所述可信计算单元均维护有共同的集群密钥,所述多个可信计算单元分布在至少两个机房中、通过至少两个集群管理器管理,其中,每个所述机房中包括一个所述集群管理器,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,所述主集群管理器维护有关于所述可信计算集群的信息,所述信息中包括所述可信计算集群中各个可信计算单元各自的标识、以及各个可信计算单元所在机房的标识,所述装置部署在所述第一可信计算单元中,包括:
密钥协商单元,配置为,与用户终端协商会话密钥,以建立与所述用户终端的可信通道,所述会话密钥用于对通过所述可信信道传输的数据进行加密;
加密单元,配置为,利用所述集群密钥对所述会话密钥进行加密,以获取加密密钥;
发送单元,配置为,向所述主集群管理器发送第一通知,其中包含所述加密密钥,以使得所述主集群管理器基于所述信息将所述加密密钥传递给所述可信计算集群中的其它可信计算单元。
在一个实施例中,所述主集群管理器位于第一机房中,所述至少一个辅集群管理器中包括第一辅集群管理器,所述第一辅集群管理器和所述第一可信计算单元都位于第二机房中,其中,所述发送单元还配置为,通过所述第一辅集群管理器的中转向所述主集群管理器发送第一通知。
在一个实施例中,所述第一可信计算单元位于第一机房中,所述第一机房还包括第一网关,其中,所述密钥协商单元还配置为,通过所述第一网关与用户终端协商会话密钥。
在一个实施例中,所述密钥协商单元包括,发送子单元,配置为,向用户终端发送认证信息,以使得所述用户终端进行对所述第一可信计算单元的验证,以及,获取子单元,配置为,在验证通过之后获取会话密钥。
本说明书另一方面提供一种在用户终端与可信计算集群之间建立可信通道的装置,所述可信计算集群包括多个可信计算单元,其中包括第一可信计算单元,每个所述可信计算单元均维护有共同的集群密钥,所述多个可信计算单元分布在至少两个机房中、通过至少两个集群管理器管理,其中,每个所述机房中包括一个所述集群管理器,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,所述主集群管理器维护有关于所述可信计算集群的信息,所述信息中包括所述可信计算集群中各个可信计算单元各自的标识、以及各个可信计算单元所在机房的标识,所述装置部署在所述主集群管理器中,包括:
接收单元,配置为,从所述第一可信计算单元接收第一通知,所述第一通知中包括加密密钥,所述加密密钥是利用所述集群密钥对会话密钥进行加密而得到,所述会话密钥是所述第一可信计算单元与用户建立的可信通道所对应的数据加密密钥;
第一确定单元,配置为,确定所述第一可信计算单元归属于所述可信计算集群;
第二确定单元,配置为,基于所述信息,确定所述可信计算集群中的其它可信计算单元,其中包括第二可信计算单元;以及
传递单元,将所述加密密钥传递给所述可信计算集群中的第二可信计算单元,以使得所述第二可信计算单元加入所述可信通道中。
在一个实施例中,所述主集群管理器位于第一机房中,所述至少一个辅集群管理器中包括位于第二机房中的第一辅集群管理器,其中,所述第一可信计算单元位于所述第二机房中,其中,所述接收单元还配置为,通过所述第一辅集群管理器的中转从第一可信计算单元接收第一通知。
在一个实施例中,所述第二可信计算单元位于所述第二机房中,其中,所述第二确定单元还配置为,基于所述信息确定所述第二可信计算单元位于所述第二机房中,以及,所述传递单元还配置为,通过所述第二机房中的所述第一辅集群管理器的中转将所述加密密钥传递给所述第二可信计算单元。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行任一上述方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现任一上述方法。
通过根据本说明书实施例的可信计算集群方案,用户接入变得简单而且成本低;所述集群对用户非常友好、具有很高的可靠性、并且可以根据业务需要方便的进行扩展部署。
具体实施方式
下面将结合附图描述本说明书实施例。
图1示出根据本说明书实施例的实施场景示意图。如图1所示,在该场景中,包括用户设备11、可信计算集群12、主集群管理器(主CM)13、辅集群管理器(辅CM)14以及数据库15。其中,可信计算集群12包括可信计算单元A、B、C、D、E、F。所述可信计算单元例如为基于SGX技术的围圈(Enclave)、基于TrustZone的可信计算环境等。每个所述可信计算单元均维护一个相同的集群密钥,并且每个所述可信计算单元可执行相同的计算任务,即,其中运行有相同的程序。其中,可信计算单元A、B、C和主集群管理器13都位于第一机房中,可信计算单元D、E、F和辅集群管理器14都位于第二机房中。即,可信计算集群12位于两个机房中,并且通过两个集群管理器进行管理。需要理解,本文中的“第一”,“第二”等描述,仅仅为了描述的简单而对相似概念进行区分,并不具有其他限定作用。
其中,主集群管理器13用于与可信计算单元A、B、C直接通信、并通过辅集群管理器14的中转与可信计算单元D、E、F进行通信。另外,主集群管理器13用于将关于集群12的信息写入数据库15中。例如,所述信息中包括所述集群中包括的可信计算单元A、B、C、D、E、F,以及各个所述可信计算单元的所在机房等等。对于可信计算集群12,用户设备11可以与其中的任意可信计算单元建立可信通道,从而通过所述主集群管理器13(或者所述主集群管理器13和所述辅集群管理器14)实现与整个可信计算集群建立可信通道。可以理解,尽管图1示出位于两个机房中的六个可信计算单元,但是可信计算集群可以位于两个以上的多个机房中,并且可包括任意数目的多个可信计算单元。另外,所述第一机房和第二机房中不限于包括一个集群,而是可以包括多组集群,每组集群中包括预定数目个集群,并且每组集群对应于一组集群管理器,所述一组集群管理器除了包括主集群管理器和辅集群管理器之外,还可以包括主集群管理器和辅集群管理器各自的备用集群管理器。
下面描述上述可信计算集群的形成过程。如上文所述,根据本说明书实施例的可信计算集群可以是跨机房集群,例如,其中的多个可信计算单元位于至少两个机房中。在形成该集群之前,首先在各机房部署用于集群的集群管理器,例如如图1所示,首先在第一机房和第二机房分别部署主集群管理器13和辅集群管理器14。
图2示出在第一机房和第二机房部署用于一组集群的主集群管理器和辅集群管理器的过程示意图。所述一组集群包括预定数目个集群。如图2所示,在第一机房中包括两个集群管理器,可分别将其表示为CM1和CM2,在第二机房中包括两个集群管理器,可分别将其表示为CM3和CM4,其中,CM1、CM2、CM3和CM4是第一机房和第二机房中与所述一组集群对应的一组集群管理器(第一组CM)。其中所述集群管理器例如为机房中的用于实施集群管理的主机。其中,CM1和CM2通过竞争分布式锁而确定其中的常用集群管理器和备用集群管理器,例如,CM2竞争成功,其为第一机房的常用集群管理器,CM1竞争失败,其为第一机房的备用集群管理器。同样地,第二机房中的CM3和CM4通过竞争分布式锁而确定其中的常用集群管理器和备用集群管理器,例如,CM3竞争成功,成为第二机房的常用集群管理器,CM4竞争失败,成为第二机房的备用集群管理器。可以理解,第一机房(或第二机房)不限于包括两个集群管理器,例如,其可以包括两个以上的集群管理器,并通过竞争分布式锁确定其中的常用集群管理器和多个备用集群管理器。
第一机房的常用集群管理器与第二机房中对应的常用集群管理器也通过竞争分布式锁而确定其中的主集群管理器和辅集群管理器。也就是说,CM2与CM3通过竞争分布式锁确定其中谁为一组集群的主集群管理器、谁为该组集群的辅集群管理器,例如,CM2竞争成功,成为该组集群的主集群管理器,CM3竞争失败,成为该组集群的辅集群管理器。
图2所示仅为第一机房和第二机房中的用于一组集群的一组集群管理器,根据本说明书实施例,第一机房和第二机房中可包括与多组集群分别对应的多组集群管理器,每组集群管理器都可通过图2所示方法确定其中的主集群管理器和辅集群管理器。每组集群管理器用于管理预定数目的集群。例如,在集群形成阶段,每组集群管理器具有其组标识,每组集群管理器内的主集群管理器和辅集群管理器也分别具有其对应的管理器标识,从而使得可信计算单元在上线之后可通过组标识获取对应的一组集群管理器,并通过管理器标识获取对应的主集群管理器和辅集群管理器。在一个实施例中,可在一组集群管理器对应的多个集群全都形成完成之后,再部署下一组集群管理器,从而使得可信计算单元在所在机房中当前只可获取一个集群管理器,从而便于可信计算单元获取其对应的集群管理器。
另外,如上文所述,图2虽然仅示出第一机房、第二机房两个机房,在本说明书实施例中,所述集群可位于两个以上的多个机房中,例如,除第一机房、第二机房之外,还包括第三机房。在该情况中,第三机房可如第一机房、第二机房一样包括与所述CM1-CM4对应的两个集群管理器,并通过竞争分布式锁确定其中的常用集群管理器,并且,第一机房、第二机房、第三机房属于一组集群管理器中的各自的常用集群管理器通过竞争分布式锁确定其中的主集群管理器和两个辅集群管理器。也就是说,对于该组集群管理器对应的一组集群中的任一集群,只有一个集群管理器(即主集群管理器)对其进行集群管理功能,有至少一个辅集群管理器起到数据中转的作用,并且,所述主集群管理器与所述至少一个辅集群管理器分别位于不同的机房中,例如,主集群管理器位于第一机房中,两个辅集群管理器分别位于第二机房和第三机房中。通过上述一主多辅机制,使得集群管理工作变得简单,降低了集群管理和技术开发难度。若采用多个集群管理器同时管理集群的机制,则涉及到分布式条件下协调复杂的集群管理工作,技术难度和管理复杂度会显著提升。通过将集群管理器分为多个组,每个组管理一定数量的可信计算集群,可以提升集群管理器的有效运行实例个数。当可信计算集群数量增大后,集群管理器可以通过增加组来扩展以满足集群管理的增长需求。
上述分布式锁可通过例如ZooKeeper(一种分布式服务软件)提供。例如,如图2所示,第一机房中的CM1和CM2在上线之后可向提供ZooKeeper服务的服务器请求创建独占式的节点(即分布式锁节点),创建成功的集群管理器即竞争成功,成为该组集群管理器在第一机房中的常用集群管理器。可以理解,所述分布式锁不限于通过ZooKeeper提供,例如,还可以通过其它类似分布式软件提供,如redis、tair等。可将机房中提供分布式服务软件服务的服务器称为集群协调器,例如如下文中的图12所示,在第一机房中可包括第一集群协调器(第一ZK),其用于提供CM1与CM2之间的分布式锁,在第二机房中可包括第二集群协调器(第二ZK),其用于提供CM3与CM4之间的分布式锁。第一集群协调器和第二集群协调器还可以为同一分布式服务软件实例分别在两个机房的部署,即,第一集群协调器与第二集群协调器相关联,其通过相互通信而保持数据的一致性。在该情况中,关联的第一集群协调器与第二集群协调器可提供CM2与CM3之间的分布式锁。在第一集群协调器与第二集群协调器相互独立的情况中,可通过另一集群协调器提供CM2与CM3之间的分布式锁。
图2所示过程示意图虽然以竞争分布式锁的方式保证了多个机房的一组多辅机制,然而,本说明书实施例不限于此,例如,可根据预定规则确定多个机房中的主集群管理器和至少一个辅集群管理器,例如,将带宽最大的机房中的常用集群管理器确定为主集群管理器、将机房所在城市人口最多的机房中的常用集群管理器确定为主集群管理器,等等。
图3示出根据本说明书实施例的形成可信计算集群的过程示意图。
在如上述参考图2所述确定第一机房和第二机房中的主集群管理器(下文称为主CM)和辅集群管理器(下文称为辅CM)之后,第一机房中的可信计算单元可上线以形成可信计算集群。例如,如图3所示,第一机房中的可信计算单元A(下文称为单元A)上线,其在获取第一机房中可用的CM(即主CM)之后,在步骤S32,向第一机房中的主CM请求创建可信计算集群(下文称为第一集群C1)。其中,所述单元A例如获取主CM的标识或者IP地址,并通过所述IP地址与所述主CM建立通信。所述请求例如为这样的形式:“单元A:请求创建C1”,即,所述请求中包括单元A的标识及可信计算集群的标识,在一个实施例中,所述请求中不包括可信计算集群的标识,而是在单元A请求之后由所述主CM确定该集群的标识。主CM从而在步骤S34在例如数据库中基于上述请求创建关于该第一集群C1的信息,所述信息例如包括的单元A的标识、单元A所在的第一机房的标识等等。主CM从上述请求中获取单元A的标识。另外,由于,在本说明书实施例中,除了在主CM所在机房中的可信计算单元之外,其它机房中的可信计算单元都通过相应的辅CM与主CM通信,而不与主CM直接通信,因此,主CM根据单元A的通信方式可确定单元A位于第一机房中。这里,出于便于描述的目的,以“单元A”作为单元A的标识,可以理解,所述标识不限于此,其还可以为例如编号、IP地址等可对其起到区分标识的任意字符串。如上文所述,一组集群管理器(如图中的主CM+辅CM)对应于预定数目(例如至少一个)的集群,从而,主CM维护有关于所述至少一个集群各自的信息,主CM可通过如表1所示的集群信息表维护所述至少一个集群各自的信息。
集群标识 |
计算单元(机房标识) |
C2 |
G(1),H(1),I(1),M(2),N(2),P(2) |
C3 |
X(1),Y(2),Z(2) |
C1 |
A(1) |
…… |
…… |
表1
如表1所示,表中的C2和C3是已经形成的集群,C1是通过如图3所示过程新创建的集群,其中A(1)是关于第一集群C1的信息,其中,A为C1中包括的可信计算单元的标识,括号中的“1”表示机房标识,例如表示第一机房。
在一个实施例中,所述第一机房中还包括第一集群协调器,如上文所述,第一集群协调器例如为提供ZooKeeper服务的服务器,下文中,将第一集群协调器称为第一ZK,在该情况中,第一ZK在可信计算单元与主CM之间进行中转。例如,单元A在上线之后,在第一ZK进行节点注册,并通过第一ZK向主CM提出创建第一集群的请求。主CM在上线之后也在第一ZK注册,其在接收由第一ZK中转的所述请求之后,进行上述步骤S34。第一ZK可通过监听单元A的心跳,确定单元A是否下线,并在确定单元A下线时,通知所述主CM,从而使得主CM可在所述集群信息表中对C1的信息进行更改,即删除A(1)。
在一个实施例中,所述主CM可通过自身监听单元A的心跳,直接获取单元A的下线信息。
图4示出根据本说明书另一实施例的形成可信计算集群的过程示意图。与图3所示过程不同在于,在图4中,第二机房中的可信计算单元D(下文称为单元D)首先上线,其在获取该机房中的可用CM(即辅CM)之后,在步骤S42向该辅CM请求创建所述第一集群,例如,所述请求例如为“单元D,请求创建C1”。所述辅CM在步骤S44将该请求转发给第一机房中的主CM,也就是说,单元D通过辅CM的中转向主CM请求创建第一集群。在经辅CM的转发之后,所述请求例如变为“辅CM,单元D,请求创建C1”。主CM在接收由辅CM中转的所述请求之后,在步骤S46,在例如数据库中基于所述请求创建该第一集群的集群信息。具体是,主CM从上述请求中获取单元D的标识(即单元D)和辅CM的标识(即辅CM),通过例如预存的辅CM标识与机房标识的对应表获取单元D所在机房的标识,从而在与表1类似的集群信息表中写入该集群的标识(C1)、该集群包括的单元D的标识、单元D所在第二机房的标识等。类似地,这里虽然为了便于描述以“辅CM”作为辅CM的标识,但是所述标识不限于此,而可以为辅CM的编号、IP地址等任意字符串。
类似地,在一个实施例中,第二机房中还包括第二集群协调器(下文称为第二ZK),单元D在上线后在第二ZK注册节点,并通过第二ZK的中转向辅CM发送上述请求。同样地,第二ZK可监听单元D的下线信息,并在单元D下线时通知辅CM。辅CM在接收所述下线信息之后,将该下线信息转发给第一机房中的主CM,从而使得主CM在数据库中更新第一集群C1的信息,即删除其中的单元D及相关信息。
图5示出根据本说明书另一实施例的形成可信计算集群的过程示意图。如图5所示,在例如如图3所示由单元A创建第一集群C1之后,第一机房中的可信计算单元B(下文称为单元B)上线,其中,单元A所在的虚线框表示第一集群C1。单元B的虚线椭圆轮廓表示其为将加入、但尚未加入第一集群的可信计算单元。单元B在获取第一集群对应的本机房CM(即主CM)之后,在步骤S502,向主CM请求加入第一集群。在一个实施例中,如上文所述,第一机房中还包括第一ZK,单元B在上线之后可在第一ZK注册节点,并通过第一ZK向主CM发出所述请求。同样地,第一ZK可监听单元B的连接状态,并在单元B加入所述集群之后,在单元B离线时通知主CM。
主CM在接收该请求之后,在步骤S504,通过在例如数据库中查询如表1所示的集群信息表,确定所述第一集群中已包括单元A,并确定通过单元A与单元B协商密钥,因此,基于表1获取C1一行中单元A的标识。在步骤S506,主CM向单元B发送第一通知,所述第一通知中包括单元A的标识,以使得单元B获知其可与单元A协商密钥。在步骤S508,主CM向单元A发送第二通知,在该第二通知中包括单元B的标识,以使得单元A与单元B协商密钥。可以理解,步骤S506与步骤S508还可以同时进行,或者颠倒顺序进行。在一个实施例中,在第一机房包括第一ZK的情况中,主CM通过第一ZK向单元A(单元B)发出通知。
在步骤S510,单元B与单元A协商密钥。所述协商密钥可通过本领域技术人员已知的方式进行。例如,单元B与单元A首先进行相互验证,所述验证例如包括:验证单元A(或单元B)是否为可信计算单元、所述单元A(或单元B)中的运行程序是否为预期程序等等。例如,在所述可信单元为由英特尔公司提供的围圈的情况中,通常,单元B和单元A互相获取对方的认证报告,并通过分别访问IAS服务(英特尔认证服务)而相互验证对方的合法性。然而,IAS服务接入过程繁琐,时间漫长,接入成本高。在一个实施例中,在所述第一机房中还包括第一验证代理服务器(Service Provider),下文称为第一SP。例如,可通过经英特尔公司的认证在第一机房部署所述第一SP。图6示出可信计算单元A与B通过第一SP进行相互验证的过程示意图。如图6所示,单元A与单元B都与第一SP连接,单元A向单元B发送由单元A内部生成的认证报告A,单元B向单元A发送由单元B内部生成的认证报告B。然后,单元A在接收认证报告B之后,将认证报告B发送给第一SP,从而,SP通过访问IAS服务而基于认证报告B验证单元B的合法性,并将验证结果转发给单元A。类似地,单元B可通过所述第一SP验证单元A的合法性。从而,通过由第一SP提供统一的验证代理服务,使得单元A(或单元B)不需要直接访问IAS服务,节省了成本和时间。
在单元B与单元A如上文所述相互验证通过之后,单元B与所述单元A进行密钥的协商。在一个实施例中,由单元A预先生成密钥作为第一集群的集群密钥,在所述验证通过之后,单元A将所述集群密钥加密传输给单元B,从而使得单元B获取所述集群密钥。例如,单元A可首先请求获取单元B的公钥,使用该公钥对所述集群密钥进行加密,并将加密的集群密钥发送给单元B,从而,单元B在获取所述加密的集群密钥之后,可通过自身的私钥对所述加密的集群密钥进行解密,从而获取所述集群密钥。单元B在获取所述集群密钥之后也等同于单元B已经加入了第一集群。然而,本说明书实施例中的密钥协商不限于由单元A预先生成集群密钥并将其加密传输给单元B,例如,单元A和单元B还可以基于预定算法同时生成相同的密钥作为集群密钥。
再回到图5,在步骤S512,单元B在获取所述集群密钥之后,向主CM发送第三通知,以通知主CM单元B已加入所述集群C1。在一个实施例中,在第一机房中包括第一ZK的情况中,单元B通过第一ZK向主CM发出该通知。在步骤S514,主CM在接收该通知之后,在所述数据库中更新所述第一集群的集群信息,例如,如下面的表2所示,在所述集群信息表中加入所述单元B的标识、所述单元B所在的第一机房的标识。其中,主CM从第三通知中获取单元B的标识,并与上文类似地,通过单元B与主CM的通信方式,确定单元B所在机房为第一机房。
集群标识 |
计算单元(机房标识) |
C2 |
G(1),H(1),I(1),M(2),N(2),P(2) |
C3 |
X(1),Y(2),Z(2) |
C1 |
A(1),B(1) |
…… |
…… |
表2
图7示出根据本说明书实施例的另一实施例的形成可信计算集群的过程示意图。如图7所示,在例如如图3所示由单元A创建第一集群之后,第二机房中的可信计算单元E(下文称为单元E)上线,其中,单元A所在的虚线框表示第一集群。单元E为将加入第一集群的可信计算单元,其在获取第一集群对应的本机房CM(即辅CM)之后,在步骤S702,向所述辅CM请求加入第一集群。在一个实施例中,如上文所述,第二机房中还包括第二ZK,单元E在上线之后可在第二ZK注册节点,并通过第二ZK向辅CM发出所述请求。同样地,第二ZK可监听单元E的连接状态,并在单元E加入所述集群之后,在单元E离线时通知辅CM,从而通过辅CM的中转通知主CM。
在步骤S704,辅CM将所述请求转发给所述主CM。在步骤S706,主CM通过在例如数据库中查询所述第一集群的集群信息,确定所述第一集群中已包括单元A,并确定通过单元A与单元E协商密钥,从而获取单元A的标识。在步骤S708,主CM向辅CM发送第一通知,以使其将该第一通知转发给单元E,所述第一通知中包括单元A的标识,以使得单元E与单元A协商密钥。例如,所述第一通知可以为“主CM,单元A,to单元E”。在步骤S710,主CM向单元A发送第二通知,该第二通知中包括单元E的标识,以使得单元A与单元E协商密钥。在步骤712,辅CM将其接收的第一通知转发给单元E。在一个实施例中,在第二机房包括第二ZK的情况中,辅CM通过第二ZK向单元E转发通知。
在步骤S714,单元E与单元A协商密钥。该步骤可与上述步骤S510类似地进行。在一个实施例中,所述第二机房还包括第二验证代理服务器(下文称为第二SP),从而,单元E对单元A的验证可通过第二SP代理进行,而单元A对单元E的验证可通过上述第一SP代理进行。
在步骤S716,单元E在获取所述集群密钥之后,向辅CM发送第三通知,以通知其已加入第一集群C1。在步骤S718,辅CM将该第三通知转发给主CM。该经辅CM转发的第三通知的具体形式例如为“辅CM,单元E加入C1”。在步骤S720,主CM在接收该通知之后,在所述数据库中更新所述第一集群C1的集群信息,例如,在所述集群信息表中加入所述单元E的标识、所述单元E所在的第二机房的标识。其中,主CM从所述转发第三通知中获取单元E的标识和辅CM的标识,并通过例如预存的辅CM与机房的对应获取单元E所在机房的标识。
图8示出根据本说明书实施例的另一实施例的形成可信计算集群的过程示意图。如图8所示,在例如如图4所示由第二机房中的单元D创建第一集群C1之后,第二机房中的可信计算单元E(下文称为单元E)上线,其中,单元D所在的虚线框表示第一集群。单元E为将加入第一集群的可信计算单元,其在获取第一集群对应的本机房CM(即辅CM)之后,在步骤S802,向所述辅CM请求加入第一集群。在步骤S804,辅CM将所述请求转发给所述主CM。在步骤S806,主CM通过在例如数据库中查询所述第一集群的集群信息,确定所述第一集群中已包括单元D,并确定通过单元D与单元E协商密钥,因此获取单元D的标识。在步骤S808,主CM向辅CM发送第一通知,以使得辅CM将该第一通知转发给单元E,该第一通知中包括单元D的标识,以使得使得单元E与单元D协商密钥。在步骤S810,辅CM将其接收的第一通知转发给单元E。在步骤S812,主CM向辅CM发送第二通知,以使得辅CM将该第二通知转发给单元D,该第二通知包括单元E的标识,以使得使得单元D与单元E协商密钥。在步骤S814,辅CM将其接收的第二通知转发给单元D。
在步骤S816,单元E与单元D协商密钥。该步骤可与上述步骤S510类似地进行。在一个实施例中,单元E与单元D的相互验证可通过上述第二SP进行。在步骤S818,单元E在获取所述集群密钥之后,向辅CM发送第三通知,以通知辅CM其已加入C1。在步骤S820,辅CM将该第三通知转发给主CM。在步骤S822,主CM在接收该第三通知之后,在所述数据库中更新所述第一集群C1的集群信息,例如,在所述集群信息表中C1一行中加入所述单元E的标识、所述单元E所在的第二机房的标识。
图9示出根据本说明书实施例的另一实施例的形成可信计算集群的过程示意图。如图9所示,在例如如图4所示由第二机房中的单元D创建第一集群之后,第一机房中的可信计算单元B(下文称为单元B)上线,其中,单元D所在的虚线框表示第一集群C1。单元B为将加入第一集群的可信计算单元,其在获取第一集群对应的本机房CM(即主CM)之后,在步骤S902,向所述主CM请求加入第一集群。在步骤S904,主CM通过在例如数据库中查询所述第一集群的集群信息表,确定所述第一集群中已包括单元D,并确定通过单元D与单元E协商密钥,从而获取单元D的标识。在步骤S906,主CM向单元B发送第一通知,该第一通知中包括单元D的标识,以使得单元B与单元D协商密钥。在步骤S908,主CM向辅CM发送第二通知,以使得辅CM将该第二通知转发给单元D,该第二通知中包括单元B的标识,该通知使得单元D与单元B协商密钥。在步骤S910,辅CM将其接收的第二通知转发给单元D。
在步骤S912,单元B与单元D协商密钥。该步骤可与上述步骤S510类似地进行。在步骤S914,单元B在获取所述集群密钥之后,向主CM发送第三通知,以通知主CM其已加入C1。在步骤S916,主CM在接收第三通知之后,在所述数据库中更新所述第一集群C的集群信息,例如,在所述集群信息表中C1行中加入所述单元B的标识、所述单元B所在的第一机房的标识。
上述图5、7-9示出了第一集群的第二个可信计算单元加入集群的各种可能的过程。所述第一集群的第三个、第四个等可信计算单元的加入与上述图5/7-9所示的过程中的一种基本相同。不同在于,由于集群中已经包括大于等于2个的可信计算单元,因此,主CM需要确定由集群中的哪个单元与待加入的单元进行密钥协商。另外,在第一集群的第三个、第四个等后续的可信计算单元加入第一集群中,在进行密钥协商时,集群密钥为集群已有各个单元分别维护的共同集群密钥。
例如,在通过图5所示的过程使得第一集群中包括单元A和单元B之后,如果第一机房中的单元C上线并向主CM请求加入第一集群,主CM可在单元A与单元B中随机确定一个单元以与单元C进行密钥协商,例如,在确定由单元A与单元C进行密钥协商之后,可通过与图5所示过程相同的过程使得单元A将第一集群的集群密钥加密传输给单元C,从而使得单元C加入第一集群。
例如,在通过图5所示的过程使得第一集群中包括单元A和单元B之后,如果第二机房中的单元E上线并向辅CM请求加入第一集群,主CM可在单元A与单元B中随机确定一个单元以与单元E进行密钥协商,例如,在确定由单元A与单元E进行密钥协商之后,可通过与图7所示过程相同的过程使得单元E加入第一集群。
在一个实施例中,主CM选择集群中的与待加入的单元同机房的单元进行密钥协商。例如,在通过图7所示的过程使得第一集群中包括单元A和单元E之后,如果第一机房中的单元B上线并向主CM请求加入第一集群,主CM可基于上述同机房规则确定由单元A与单元B进行密钥协商,从而可通过与图5所示过程相同的过程使得单元B加入第一集群。
例如,在通过图7所示的过程使得第一集群中包括单元A和单元E之后,如果第二机房中的单元D上线并向辅CM请求加入第一集群,主CM可基于上述同机房规则确定由单元E与单元D进行密钥协商,从而可通过与图8所示过程相同的过程使得单元D加入第一集群。
例如,在通过图8所示的过程使得第一集群中包括单元D和单元E之后,如果第二机房中的单元F上线并向辅CM请求加入第一集群,主CM例如可通过随机确定而确定由单元D与单元F进行密钥协商,从而可通过与图8所示过程相同的过程使得单元F加入第一集群。
例如,在通过图8所示的过程使得第一集群中包括单元D和单元E之后,如果第一机房中的单元B上线并向辅CM请求加入第一集群,主CM例如可通过随机确定而确定由单元D与单元B进行密钥协商,从而可通过与图9所示过程相同的过程使得单元B加入第一集群。
例如,在通过图9所示的过程使得第一集群中包括单元B和单元D之后,如果第二机房中的单元E上线并向辅CM请求加入第一集群,主CM例如可通过上述同机房规则确定由单元D与单元E进行密钥协商,从而可通过与图8所示过程相同的过程使得单元E加入第一集群。
例如,在通过图9所示的过程使得第一集群中包括单元B和单元D之后,如果第一机房中的单元A上线并向主CM请求加入第一集群,主CM例如可通过上述同机房规则确定由单元B与单元A进行密钥协商,从而可通过与图5所示过程相同的过程使得单元A加入第一集群。
图10示出根据本说明书实施例的在用户终端与可信计算集群之间建立可信通道的过程示意图。
如图10所示,所述可信计算集群(下文称为第一集群)例如为通过上述图5、7-9所示过程形成的跨机房可信计算集群,通过第一机房中的主CM和第二机房中的辅CM管理,所述主CM维护有关于所述第一集群的信息,所述第一集群中的每个可信计算单元均维护有共同的集群密钥E。
如上文所述,所述主CM与所述辅CM管理一组集群,所述一组集群中包括预定数目个集群,从而,所述主CM例如维护有集群信息表,在所述集群信息表中记录有各个集群的信息,包括集群包括的可信计算单元、可信计算单元所属的机房等等。所述集群信息表的具体形式可如表3所示:
集群标识 |
计算单元(机房标识) |
C1 |
A(1),B(1),C(1),D(2),E(2),F(2) |
C2 |
G(1),H(1),I(1),M(2),N(2),P(2) |
C3 |
X(1),Y(2),Z(2) |
…… |
…… |
表3
如表3中所示,C1、C2、C3分别表示不同的集群,例如C1为上文所述第一集群,其中包括单元A~E六个单元,其中,在A(1)中,括号中的“1”表示机房标识,例如“1”代表上文中的第一机房,类似地,在F(2)中,括号中的“2”例如表示上文中的第二机房。
当一用户终端(用户U)想要与所述第一集群建立可信通道时,根据本说明书的实施例,用户终端可以首先与第一集群中的任一个可信计算单元建立可信通道。为了描述简单,将首先与用户建立可信通道的任一可信计算单元称为第一可信计算单元。在一个具体例子中,第一可信计算单元例如是单元A。
在图10中的步骤S1002,单元A与用户U协商会话密钥K1,以建立与用户终端的可信通道。所述会话密钥K1对应于所述可信通道,用于对通过该可信通道传输的数据进行加解密。
具体地,单元A与用户终端协商会话密钥K1包括,单元A向用户终端发送认证信息,以使得用户终端对其进行验证,并在验证通过之后获取会话密钥。在一个实施例中,所述第一机房还包括第一验证代理服务器,用户终端可通过与图6所示过程类似的过程通过第一验证代理服务器进行所述验证。
单元A与用户终端可通过多种方式获取上述会话密钥K1。例如,单元A和用户终端可通过交换各自的公钥信息基于约定算法各自在本地生成相同的密钥作为所述会话密钥;或者,双方通过交换特定设备信息,根据约定算法生成会话密钥;或者,约定其中的一方根据任一方式生成会话密钥,然后通知另一方,等等。
在单元A与用户终端协商出会话密钥K1之后,在步骤S1004,单元A利用其拥有的所述第一集群的集群密钥E,对上述会话密钥K1进行加密,从而获取加密密钥E(K1)。如前所述,一个已经构建好的可信计算集群中,每个可信计算单元均维护有该集群专有的集群密钥。对于第一集群来说,其中的每个可信计算单元A-F,均维护有集群密钥E。因此,单元A可以利用其维护的集群密钥E,采用预定加密算法,计算得到加密密钥E(K1)。
在步骤S1006,单元A向主CM发送第一通知,其中包含所述加密密钥E(K1)。所述第一通知中除了包括E(K1)之外,还可以包括例如所述用户终端的标识,单元A所属集群的标识等等。
在步骤S1008,主CM在接收所述第一通知之后,确定所述单元A归属于所述第一集群。例如,主CM可通过查询其维护例如如表3所示的集群信息表确定单元A归属于第一集群。或者,主CM可通过第一通知中包含的单元A所述集群的标识信息确定单元A归属于第一集群C1。
在步骤S1010,主CM基于所述集群信息表,确定集群C1中的其它可信计算单元,其中例如包括单元C。
例如,主CM通过查询表3所示的集群信息表,可以确定,第一集群中包括哪些单元,从而例如可将E(K1)传递给全部所述单元,或者可将E(K1)传递给其中的部分选定单元。例如,根据表3,第一集群C1中包括单元C,因此,主CM确定当前将E(K1)传递给单元C。
在步骤S1012,主CM将所述加密密钥E(K1)传递给第一集群中的单元C,以使其加入所述可信通道。如前所述,第一集群中的每个单元均维护有共同的集群密钥E,因此,单元C在接收E(K1)之后,可利用其维护的集群密钥E对E(K1)进行解密从而获取会话密钥K1。从而,在获取会话密钥K1之后,单元C可加入与用户终端的可信通道中。在第一集群可能同时存在与多个用户终端的多个可信通道的情况中,通过在上述第一通知中包括用户标识,并由主CM将该用户标识随加密密钥E(K1)一起发送给单元C,从而单元C可将会话密钥K1与所述用户标识关联地存储。
在一个实施例中,根据表3,第一集群C1中还包括第二机房的单元D,因此,主CM例如还将E(K1)传递给所述单元D。例如,主CM通过查询如表3所示的集群信息表,确定第一集群中包括单元D,且单元D位于第二机房中。在该情况中,在步骤S1014,主CM将E(K1)发送给辅CM。在步骤S1016,辅CM将E(K1)发送给单元D,以使得单元D加入所述可信信道。
图11示出根据本说明书另一实施例的在用户终端与可信计算集群之间建立可信通道的过程示意图。
如图11所示,所述可信计算集群(下文称为第一集群)例如为与图10所示集群。例如,一用户终端首先与第一集群中的单元D建立可信通道。
具体地,在步骤S1102,单元D与用户终端协商会话密钥K2,以建立与用户终端的可信通道。所述会话密钥K2对应于所述可信通道,用于对通过该可信通道传输的数据进行加解密。所述密钥协商的具体方式可参考上文步骤S1002中的描述,在此不再赘述。
在步骤S1104,单元D利用其拥有的所述第一集群的集群密钥E,对上述会话密钥K2进行加密,从而获取加密密钥E(K2)。与第一机房类似地,第二机房中可包括第二验证代理服务器,从而用户终端可通过该第二验证代理服务器进行对单元D的验证。在步骤S1106,单元D向辅CM发送第一通知,其中包含所述加密密钥E(K2)。在步骤S1108,辅CM将第一通知转发给主CM。在步骤S1110,主CM在接收所述第一通知之后,确定所述单元D归属于所述第一集群。在步骤S1112,主CM基于所述集群信息表,确定C1中的其它单元,其中包括单元C、单元E。在步骤S1114,将所述加密密钥E(K2)传递给第一集群中的单元C,以使其加入所述可信通道。在步骤S1116,主CM将E(K2)发送给辅CM。在步骤S1118,辅CM将E(K2)发送给单元E,以使得单元E加入所述可信信道。
通过以上过程可以看到,当用户终端想要与可信计算集群(例如第一集群)建立可信通道时,用户终端仅需要与第一集群中的任意一个可信计算单元(例如单元A)协商出会话秘钥K,建立可信通道。接着,通过与该第一集群对应的主集群管理器和辅集群管理器,将加密的会话秘钥E(K)在可信计算集群中传播,从而使得集群中的其它可信计算单元获取到会话秘钥,加入到该可信通道。于是,可以认为,用户终端与整个可信计算集群建立了上述可信通道。在这个过程中,用户终端不需要依次单独与各个可信计算单元协商和通信,也不需要关注第一集群的集群细节,对用户来说,建立可信通道的过程变得非常简单和清晰。
此外,在集群管理器传播秘钥时,传播的是利用集群秘钥E进行加密的加密秘钥E(K),而该集群秘钥E仅仅由对应的可信计算集群中的成员保有和维持。即使在传播过程中,加密秘钥E(K)被其他计算设备获取,但是该计算设备由于不具有对应的集群秘钥E,仍然无法解密获知会话秘钥K,从而无法加入到所述可信通道的会话中。如此,确保了可信通道建立的安全性。
在一个实施例中,在第一机房和第二机房中还分别部署有第一网关和第二网关,以作为整个系统的入口。图12示意示出了根据本说明书实施例的可信计算集群所在机房的配置图。如图12所示,在第一机房中包括第一网关、第一验证代理服务器(第一SP)和第一集群协调器(第一ZK),在第二机房中包括第二网关、第二SP和第二ZK。其中,第一网关与第一机房中各个集群的各个可信计算单元连接,其中包括第一集群在第一机房中的各个单元,如单元A、单元B和单元C。另外,第一网关还与第一机房中的第一SP连接,同时,第一网关还可以与第二机房中的第二SP连接,其中第二SP可作为备用SP,另外,第一网关还与第二机房中的第二网关连接。所述第二网关与所述第一网关类似地连接。所述第一网关、第二网关用于转发用户的请求,协助用户访问可信计算集群和第一SP、第二SP。例如,用户终端可通过点击所述集群对应的链接(或网址、域名等),根据预定规则被分配到第一网关或第二网关中的一个。例如,用户终端在点击所述链接之后,系统随机将用户请求分配到第一网关或第二网关,或者,系统根据用户终端所在地将用户请求分配到距离用户终端更近的机房的网关。或者,用户终端可通过点击所述集群所对应的各个机房网关各自的链接而直接选择机房。
用户请求在到达例如第一网关之后,第一网关根据该请求中包含的集群标识(第一集群),可将用户请求路由给第一集群中在第一机房中的在线单元中的任一单元。在一个实施例中,第一网关将多个用户请求均衡分配给第一机房中的第一集群的各个单元。第一网关例如将用户请求分配给第一集群中的单元A,当用户终端在通过第一网关接收单元A的认证信息、并将要对单元A进行验证时,用户终端可将该认证信息通过第一网关发送给第一SP,并通过第一网关接收所述第一SP的验证结果。在第一网关确定第一机房中没有可用的第一集群的单元、或者第一机房中第一集群的各个单元负载过重的情况中,第一网关可将用户请求发送给第二网关,并由第二网关与第一网关类似地将该用户请求分配给第二机房中的第一集群的一个单元(如单元D、E、F中的任一单元)。
另外,在图12中还示意示出了上文中描述的第一ZK(集群协调器)和第二ZK。其中,第一ZK位于第一机房中,与第一机房中各集群的各个单元连接,其中包括第一集群的在第一机房的各个单元(单元A、B、C),从而可以把各个可信计算单元的注册和下线的消息通知给相应的集群管理器。另外,第一ZK还与第一机房中的各组集群管理器中的常用集群管理器(主CM)和备用集群管理器连接,其中包括图12中示出的第一机房中的主CM和备用CM。从而,第一ZK可通过对各组集群管理器提供分布式锁,确定各组中的常用CM和备用CM。第二ZK可与第一ZK类似地连接。在第一ZK与第二ZK关联的情况中,即,第一ZK和第二ZK为集群协调器分别在两个机房中的一个部件,其可为第一机房的常用集群管理器与第二机房中相对应的常用集群管理器之间提供分布式锁,以确定其中的主CM和辅CM。
可以理解,图12中虽然仅示出两个机房,所述第一集群包括的多个可信计算单元可位于两个以上的机房中,每个机房都可以与上述第一机房或第二机房类似地配置。另外,在本说明书实施例中,图12中所示的各个机房中的网关、验证代理服务器、以及集群协调器都不是必需的,而是可根据具体场景的需求进行配置。
图13示出根据本说明书实施例的一种形成可信计算集群的装置1300,所述可信计算集群通过分别位于至少两个机房中的至少两个集群管理器管理,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,所述装置部署在第一可信计算单元中,所述第一可信计算单元位于任一所述机房中,所述装置包括:
发送单元131,配置为,向所述主集群管理器发送请求,以请求创建所述可信计算集群,以使得所述主集群管理器基于所述请求创建关于所述可信计算集群的信息,所述信息中包括所述第一可信计算单元的标识、以及所述第一可信计算单元所在机房的标识。
在一个实施例中,所述主集群管理器位于第一机房中,所述第一可信计算单元位于第二机房中,所述第二机房中包括所述至少一个辅集群管理器中的第一辅集群管理器,其中,所述发送单元131还配置为,通过所述第一辅集群管理器的中转向所述主集群管理器发送请求。
图14示出根据本说明书另一实施例的一种形成可信计算集群的装置1400,所述可信计算集群通过分别位于至少两个机房的至少两个集群管理器管理,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,其中,所述可信计算集群中已至少包括第一可信计算单元,所述装置部署在第二可信计算单元中,所述第一可信计算单元和所述第二可信计算单元分别位于任一所述机房中,所述主集群管理器维护有关于所述可信计算集群的信息,所述信息中包括所述可信计算集群已有的各个可信计算单元各自的标识、以及所述各个可信计算单元所在机房的标识,所述装置包括:
第一发送单元141,配置为,向所述主集群管理器发送请求,以请求加入所述可信计算集群,以使得所述主集群管理器基于所述信息获取所述第一可信计算单元的标识;
接收单元142,配置为,从所述主集群管理器接收第一通知,所述第一通知包括所述第一可信计算单元的标识;
密钥协商单元143,配置为,与所述第一可信计算单元协商密钥,以获取所述可信计算集群的集群密钥;以及
第二发送单元144,配置为,向所述主集群管理器发送第二通知,以通知所述主集群管理器所述第二可信计算单元已加入所述集群,以使得所述主集群管理器基于所述第二通知更新所述信息。
在一个实施例中,所述主集群管理器位于第一机房中,所述第二可信计算单元位于第二机房中,所述第二机房中还包括所述至少一个辅集群管理器中的第一辅集群管理器,其中,所述第一发送单元141还配置为,通过所述第一辅集群管理器的中转向所述主集群管理器发送请求,其中,所述接收单元142还配置为,通过所述第一辅集群管理器的中转从所述主集群管理器接收第一通知,以及,所述第二发送单元144还配置为,通过所述第一辅集群管理器的中转向所述主集群管理器发送第二通知。
在一个实施例中,所述第一机房中还包括第一集群协调器,所述第二可信计算单元位于所述第一机房中,其中,所述第一发送单元141包括,注册子单元1411,配置为,上线后在所述第一集群协调器注册节点,以及,发送子单元1412,配置为,通过所述第一集群协调器向所述主集群管理器发送请求。
在一个实施例中,所述密钥协商单元143包括,验证子单元1431,配置为,与所述第一可信计算单元相互验证,以及获取子单元1432,配置为,在验证通过之后从所述第一可信计算单元获取所述可信计算集群的集群密钥,其中,所述集群密钥由所述第一可信计算单元预先获取。
图15示出根据本说明书另一实施例的一种形成可信计算集群的装置1500,所述可信计算集群通过分别位于至少两个机房的至少两个集群管理器管理,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,所述装置部署在所述主集群管理器中,包括:
接收单元151,配置为,从第一可信计算单元接收请求,所述请求用于请求创建可信计算集群,其中,所述第一可信计算单元位于任一所述机房中;以及
创建单元152,配置为,基于所述请求创建关于所述可信计算集群的信息,所述信息中包括所述第一可信计算单元的标识、以及所述第一可信计算单元所在机房的标识。
在一个实施例中,所述主集群管理器位于第一机房中,所述第一可信计算单元位于第二机房中,所述第二机房中包括所述至少一个辅集群管理器中的第一辅集群管理器,其中,所述接收单元151还配置为,通过所述第一辅集群管理器的中转从所述第一可信计算单元接收请求。
在一个实施例中,通过所述第一辅集群管理器的中转从所述第一可信计算单元接收的请求包括所述第一辅集群管理器的标识,其中,所述创建单元152还配置为,基于所述第一辅集群管理器的标识获取所述第一可信计算单元所在机房的标识。
图16示出根据本说明书另一实施例的一种形成可信计算集群的装置1600,所述可信计算集群通过分别位于至少两个机房的至少两个集群管理器管理,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,其中,所述可信计算集群中已至少包括第一可信计算单元,所述第一可信计算单元位于任一所述机房中,所述主集群管理器维护有关于所述可信计算集群的信息,所述信息中包括所述可信计算集群已有的各个可信计算单元各自的标识、以及所述各个可信计算单元所在机房的标识,所述装置部署在所述主集群管理器中,包括:
第一接收单元161,配置为,从第二可信计算单元接收请求,所述请求用于请求加入所述可信计算集群,其中,所述第二可信计算单元位于所述至少两个机房中的任一所述机房中;
第一确定单元162,配置为,基于所述信息,获取所述第一可信计算单元的标识;
第一发送单元163,配置为,向所述第二可信计算单元发送第一通知,所述第一通知包括所述第一可信计算单元的标识;
第二发送单元164,配置为,向所述第一可信计算单元发送第二通知,所述第二通知包括所述第二可信计算单元的标识;
第二接收单元165,配置为,从所述第二可信计算单元接收第三通知,所述第三通知通知所述主集群管理器所述第二可信计算单元已加入所述可信计算集群;以及
第一更新单元166,配置为,基于第三通知更新关于所述可信计算集群的信息。
在一个实施例中,所述主集群管理器位于第一机房中,所述第二可信计算单元位于第二机房中,所述第二机房中还包括所述至少一个辅集群管理器中的第一辅集群管理器,其中,所述第一接收单元161还配置为,通过所述第一辅集群管理器的中转从所述第二可信计算单元接收请求,所述第一发送单元163还配置为,通过所述第一辅集群管理器的中转向所述第二可信计算单元发送第一通知,以及,所述第二接收单元165还配置为,通过所述第一辅集群管理器的中转从所述第二可信计算单元接收第三通知。
在一个实施例中,所述第一可信计算单元位于所述第二机房中,其中,所述第二发送单元164还包括,确定子单元1641,配置为,基于所述信息确定所述第一可信计算单元位于所述第二机房中,以及发送子单元1642,配置为,通过所述第一辅集群管理器的中转向所述第一可信计算单元发送第二通知。
在一个实施例中,所述装置还包括,第二确定单元167,配置为,在所述第二可信计算单元加入所述可信计算集群之后,在所述第二可信计算单元下线的情况中,确定所述第二可信计算单元已不在所述可信计算集群中,以及第二更新单元168,配置为,更新关于所述可信计算集群的信息。
在一个实施例中,所述第二可信计算单元位于所述第一机房中,所述第一机房中还包括第一集群协调器,其中,所述第二确定单元167还配置为,从所述第一集群协调器获取所述第二可信计算单元的下线消息,从而确定所述第二可信计算单元已不在所述可信计算集群中。
在一个实施例中,所述第二可信计算单元位于所述第二机房中,所述第二机房中还包括第二集群协调器,其中,所述第二确定单元167还配置为,通过所述第一辅集群管理器的中转从所述第二集群协调器获取所述第二可信计算单元的下线消息,从而确定所述第二可信计算单元已不在所述可信计算集群中。
图17示出根据本说明书实施例的一种在用户终端与可信计算集群之间建立可信通道的装置1700,所述可信计算集群包括多个可信计算单元,其中包括第一可信计算单元,每个所述可信计算单元均维护有共同的集群密钥,所述多个可信计算单元分布在至少两个机房中、通过至少两个集群管理器管理,其中,每个所述机房中包括一个所述集群管理器,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,所述主集群管理器维护有关于所述可信计算集群的信息,所述信息中包括所述可信计算集群中各个可信计算单元各自的标识、以及各个可信计算单元所在机房的标识,所述装置部署在所述第一可信计算单元中,包括:
密钥协商单元171,配置为,与用户终端协商会话密钥,以建立与所述用户终端的可信通道,所述会话密钥用于对通过所述可信信道传输的数据进行加密;
加密单元172,配置为,利用所述集群密钥对所述会话密钥进行加密,以获取加密密钥;以及
发送单元173,配置为,向所述主集群管理器发送第一通知,其中包含所述加密密钥,以使得所述主集群管理器基于所述信息将所述加密密钥传递给所述可信计算集群中的其它可信计算单元。
在一个实施例中,所述主集群管理器位于第一机房中,所述至少一个辅集群管理器中包括第一辅集群管理器,所述第一辅集群管理器和所述第一可信计算单元都位于第二机房中,其中,所述发送单元173还配置为,通过所述第一辅集群管理器的中转向所述主集群管理器发送第一通知。
在一个实施例中,所述第一可信计算单元位于第一机房中,所述第一机房还包括第一网关,其中,所述密钥协商单元171还配置为,通过所述第一网关与用户终端协商会话密钥。
在一个实施例中,所述密钥协商单元171包括,发送子单元1711,配置为,向用户终端发送认证信息,以使得所述用户终端进行对所述第一可信计算单元的验证,以及,获取子单元1712,配置为,在验证通过之后获取会话密钥。
图18示出根据本说明书另一实施例的一种在用户终端与可信计算集群之间建立可信通道的装置1800,所述可信计算集群包括多个可信计算单元,其中包括第一可信计算单元,每个所述可信计算单元均维护有共同的集群密钥,所述多个可信计算单元分布在至少两个机房中、通过至少两个集群管理器管理,其中,每个所述机房中包括一个所述集群管理器,所述至少两个集群管理器包括主集群管理器和至少一个辅集群管理器,所述主集群管理器维护有关于所述可信计算集群的信息,所述信息中包括所述可信计算集群中各个可信计算单元各自的标识、以及各个可信计算单元所在机房的标识,所述装置部署在所述主集群管理器中,包括:
接收单元181,配置为,从所述第一可信计算单元接收第一通知,所述第一通知中包括加密密钥,所述加密密钥是利用所述集群密钥对会话密钥进行加密而得到,所述会话密钥是所述第一可信计算单元与用户建立的可信通道所对应的数据加密密钥;
第一确定单元182,配置为,确定所述第一可信计算单元归属于所述可信计算集群;
第二确定单元183,配置为,基于所述信息,确定所述可信计算集群中的其它可信计算单元,其中包括第二可信计算单元;以及
传递单元184,配置为,将所述加密密钥传递给所述可信计算集群中的第二可信计算单元,以使得所述第二可信计算单元加入所述可信通道中。
在一个实施例中,所述主集群管理器位于第一机房中,所述至少一个辅集群管理器中包括位于第二机房中的第一辅集群管理器,其中,所述第一可信计算单元位于所述第二机房中,其中,所述接收单元181还配置为,通过所述第一辅集群管理器的中转从第一可信计算单元接收第一通知。
在一个实施例中,所述第二可信计算单元位于所述第二机房中,其中,所述第二确定单元182还配置为,基于所述信息确定所述第二可信计算单元位于所述第二机房中,以及,所述传递单元183还配置为,通过所述第二机房中的所述第一辅集群管理器的中转将所述加密密钥传递给所述第二可信计算单元。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行任一上述方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现任一上述方法。
通过根据本说明书实施例的可信计算集群方案,用户只需和集群建立一次可信通道,即可和集群内的任一可信计算单元进行业务交互,用户接入变得简单而且成本低;集群对用户隐藏了可信计算单元的细节,用户只感知到可信计算集群整体,不需要关心集群内个体的状态,对用户非常友好;集群内每个可信计算单元都可以提供对等的服务,而且可以跨机房部署,意味着集群可以在不同城市不同地区提供相同服务,使得集群具有很高的可靠性;另外,集群可以根据业务需要方便的进行扩展部署,部署过程对用户无感知,也不会影响已有的服务,具有优异的扩展性。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。