【技术实现步骤摘要】
生成身份识别码的方法和装置、身份认证的方法和装置
本申请涉及计算机
,尤其涉及一种在云计算平台上生成身份识别码(identity,ID)和身份认证的方法、装置、计算设备及计算机程序产品。
技术介绍
云计算(cloudcomputing)是一种通过网络以服务的方式向客户提供动态可伸缩的虚拟化资源,例如计算、存储、网络等资源的计算模式。在云计算平台上,每个客户就是一个租户,每个租户希望有严格的租户隔离机制,也即租户的数据跨租户不可见。云计算平台上租户数量及其庞大。例如,大型的公有云计算平台上的租户数量可以达到百万甚或千万。在大规模的租户数据压力下,公有云计算平台上存放关系型数据的关系型数据库一般都会存在性能瓶颈,这就需要公有云计算平台的厂商将这些租户数据进行分库分表处理,将它们分散存储到多个数据库和表中,以缓解此关系型数据库的压力。在公有云计算平台上,为了保证各租户的租户数据隔离,公有云计算平台的厂商一般采用分布式系统唯一ID来实现各租户的租户ID以及其他数据ID的唯一性。现有技术中,常见的分布式系统唯一ID生成方案有以下几种:数据库自增长字段,通用唯一识别码( ...
【技术保护点】
1.一种生成身份识别码的方法,所述方法由归属云的服务器执行;其特征在于,所述方法包括:接收目标租户的注册请求,所述注册请求包括所述目标租户的租户名和所述目标租户的租户密码;根据所述注册请求,为所述目标租户生成租户身份识别码,所述租户身份识别码包括第一字段、第二字段、第三字段和第四字段,其中,所述第一字段用于指示所述目标租户的归属地,所述第二字段用于指示所述目标租户的数据所在数据库的数据库编号,所述第三字段用于指示所述目标租户的数据所在表的表编号,所述第四字段用于指示应用对象,其中,所述租户身份识别码的第四字段的字段值指示所述应用对象是租户;在租户信息表中存储所述租户名和所述 ...
【技术特征摘要】
1.一种生成身份识别码的方法,所述方法由归属云的服务器执行;其特征在于,所述方法包括:接收目标租户的注册请求,所述注册请求包括所述目标租户的租户名和所述目标租户的租户密码;根据所述注册请求,为所述目标租户生成租户身份识别码,所述租户身份识别码包括第一字段、第二字段、第三字段和第四字段,其中,所述第一字段用于指示所述目标租户的归属地,所述第二字段用于指示所述目标租户的数据所在数据库的数据库编号,所述第三字段用于指示所述目标租户的数据所在表的表编号,所述第四字段用于指示应用对象,其中,所述租户身份识别码的第四字段的字段值指示所述应用对象是租户;在租户信息表中存储所述租户名和所述租户身份识别码的关联关系;其中,所述租户信息表位于在所述第一字段的字段值所表示的归属地存储的、具有所述第二字段的字段值表示的数据库编号的数据库中,且所述租户信息表具有所述第三字段的字段值表示的表编号。2.根据权利要求1所述的方法,其特征在于,所述方法包括:创建第一用户,其中,所述第一用户的第一用户名是基于所述租户名根据预定命名规则生成的,所述第一用户的第一用户密码是基于所述租户密码根据预定加密规则生成的;为所述第一用户生成第一用户身份识别码,其中,所述第一用户身份识别码的第一字段的字段值、第二字段的字段值和第三字段的字段值与所述目标租户的租户身份识别码的第一字段的字段值、第二字段的字段值和第三字段的字段值一一对应相同,所述第一用户身份识别码的第四字段的字段值指示所述第一用户身份识别码的应用对象是用户;在用户信息表中存储所述第一用户名、所述第一用户身份识别码、所述第一用户密码和所述租户身份识别码的关联关系;其中,所述用户信息表位于在所述第一字段的字段值所表示的归属地存储的、具有所述第二字段的字段值表示的数据库编号的数据库中,且所述用户信息表具有所述第三字段的字段值表示的表编号。3.根据权利要求2所述的方法,其特征在于,所述第一用户名是所述租户名,所述第一用户密码是所述租户密码。4.根据权利要求2或3所述的方法,其特征在于,所述方法包括:接收用于创建第二用户的第一创建请求,所述第一创建请求包括所述第二用户的第二用户名和所述第二用户的第二用户密码;为所述第二用户生成第二用户身份识别码,其中,所述第二用户身份识别码的第一字段的字段值、第二字段的字段值和第三字段的字段值与所述目标租户的租户身份识别码的第一字段的字段值、第二字段的字段值和第三字段的字段值一一对应相同,所述第二用户身份识别码的第四字段的字段值指示所述第二用户身份识别码的应用对象是用户;在所述用户信息表中存储所述第二用户名、所述第二用户身份识别码、所述第二用户密码和所述租户身份识别码的关联关系。5.根据权利要求4所述的方法,其特征在于,所述方法包括:接收用于创建第一用户组的第二创建请求,所述第二创建请求包括所述第一用户组的第一组名;为所述第一用户组生成第一用户组身份识别码,其中,所述第一用户组身份识别码的第一字段的字段值、第二字段的字段值和第三字段的字段值与所述目标租户的租户身份识别码的第一字段的字段值、第二字段的字段值和第三字段的字段值一一对应相同,所述第一用户组身份识别码的第四字段的字段值指示所述第一用户组身份识别码的应用对象是用户组;在用户组信息表中存储所述第一组名和所述第一用户组身份识别码的关联关系;其中,所述用户组信息表位于在所述第一字段的字段值所表示的归属地存储的、具有所述第二字段的字段值表示的数据库编号的数据库中,且所述用户组信息表具有所述第三字段的字段值表示的表编号。6.根据权利要求5所述的方法,其特征在于,所述方法包括:接收用于创建第一用户组的权限的第三创建请求,所述第三创建请求包括所述第一用户组的第一组名和所述第一用户组的第一用户组权限;在组权限信息表中存储所述第一组名对应的第一用户组身份识别码和所述第一用户组权限的关联关系;其中,所述组权限信息表位于在所述第一字段的字段值所表示的归属地存储的、具有所述第二字段的字段值表示的数据库编号的数据库中,且所述组权限信息表具有所述第三字段的字段值表示的表编号。7.根据权利要求5或6所述的方法,其特征在于,所述方法包括:接收用于创建用户和组关联关系的第四创建请求,所述第四创建请求包括所述第二用户名和所述第一组名;在关联关系信息表中存储所述第二用户名对应的第二用户身份识别码和所述第一组名对应的第一用户组身份识别码的关联关系;其中,所述关联关系信息表位于在所述第一字段的字段值所表示的归属地存储的、具有所述第二字段的字段值表示的数据库编号的数据库中,且所述关联关系信息表具有所述第三字段的字段值表示的表编号。8.根据权利要求4所述的方法,其特征在于,所述方法包括:根据所述目标租户的账单信息,确定所述目标租户的租户状态;确定与所述目标租户对应的用户状态信息表,所述用户状态信息表用于记录所述目标租户中的用户的用户状态;所述用户状态信息表位于在所述第一字段的字段值所表示的归属地存储的、具有所述第二字段的字段值表示的数据库编号的数据库中,且所述用户状态信息表具有所述第三字段的字段值表示的表编号;将所述用户状态信息表中的用户的用户状态设置为所述租户状态。9.根据权利要求1-8任一项所述的方法,其特征在于,所述租户身份识别码包括第五字段,所述第五字段用于指示生成所述租户身份识别码的时间,其中,所述租户身份识别码的第二字段是根据所述第五字段生成的。10.一种进行身份认证的方法,所述方法由归属云的服务器执行;其特征在于,所述方法包括:接收当前用户的登录认证请求,所述登录认证请求包括所述当前用户所属的目标租户的租户名、所述当前用户的用户名和所述当前用户的用户密码;根据所述租户名,查询租户信息表获取所述租户名对应的租户身份识别码,其中,所述租户身份识别码包括第一字段、第二字段和第三字段;根据所述第一字段解析出所述租户名对应的目标租户的目标归属地;根据所述第二字段解析出所述目标租户的数据所在数据库的目标数据库编号;根据所述第三字段解析出所述目标租户的数据所在表的目标表编号;在所述目标归属地存储的、具有所述目标数据库编号的数据库中,获取具有所述目标表编号的用户信息表;在所述用户信息表中查询所述当前用户的用户名和所述当前用户的用户密码,得到第一查询结果;根据所述第一查询结果,认证所述当前用户的身份。11.根据权利要求10所述的方法,其特征在于,所述根据所述第一查询结果,认证所述当前用户的身份之后,所述方法包括:从所述用户信息表中获取所述当前用户的用户身份识别码,其中,所述用户身份识别码的第一字段的字段值、第二字段的字段值和第三字段的字段值与所述租户身份识别码的第一字段的字段值、第二字段的字段值和第三字段的字段值一一对应相同。12.根据权利要求11所述的方法,其特征在于,所述从所述用户信息表中获取所述当前用户的用户身份识别码之后,所述方法包括:在所述目标归属地存储的、具有目标数据库编号的数据库中,获取具有所述目标表编号的用户状态信息表;在所述用户状态信息表中,查询所述当前用户的用户状态,得到第二查询结果;根据所述第二查询结果,认证所述当前用户的用户状态。13.根据权利要求10所述的方法,其特征在于,所述根据所述第一查询结果,认证所述当前用户的身份之后,所述方法包括:接收所述当前用户的权限认证请求,所述权限认证请求包括所述当前用户所请求的权限;在所述目标归属地存储的、具有目标数据库编号的数据库中,获取具有所述目标表编号的用户组信息表、组权限信息表和关联关系信息表;查询所述用户组信息表、所述组权限信息表和所述关联关系信息表,得到第三查询结果;根据所述第三查询结果,认证所述当前用户的权限。14.根据权利要求11所述的方法,其特征在于,所述从所述用户信息表中获取所述当前用户的当前用户身份识别码之后,所述方法包括:响应于所述当前用户登录伙伴云的请求,向所述伙伴云的服务器发送第一单点登录请求,所述第一单点登录请求包括所述当前用户的用户身份识别码;接收所述伙伴云的服务器的数据同步请求,所述数据同步请求包括所述用户身份识别码,所述数据同步请求用于请求与所述用户身份识别码对应的用户状态和/或权限;在所述目标归属地存储的、具有所述目标数据库编号的数据库中,获取具有所述目标表编号的用户状态信息表、用户组信息表、组权限信息表和关联关系信息表;从所述用户状态信息表中获取与所述用户身份识别码对应的用户状态;从所述用户组信息表、所述组权限信息表和所述关联关系信息表中获取与所述用户身份识别码对应的权限;将所述用户状态和所述权限发送给所述伙伴云的服务器。15.根据权利要求14所述的方法,其特征在于,所述接收所述伙伴云的服务器的数据同步请求之后,所述方法包括:接收所述伙伴云的服务器的数据更新订阅请求,所述数据更新订阅请求包括所述用户身份识别码,所述数据更新订阅请求用于请求在所述用户身份识别码对应的用户状态和/或权限发生变更时推送变更后的用户状态和/或权限。16.根据权利要求15所述的方法,其特征在于,所述接收所述伙伴云的服务器的数据更新订阅请求之后,所述方法包括:在所述用户身份识别码对应的用户状态和/或权限发生变更时,将变更后的用户状态和/或权限推送给所述伙伴云的服务器。17.一种进行身份认证的方法,所述方法由伙伴云的服务器执行;其特征在于,所述方法包括:接收当前用户的单点登录请求,所述单点登录请求中包括所述当前用户的用户身份识别码,其中所述用户身份识别码包括第一字段;在本地数据库中,查询用户状态信息表和用户权限信息表;当在所述用户状态信息表中未查询到与所述用户身份识别码对应的用户状态,和/或,当在所述用户权限信息表中未查询到与所述用户身份识别码对应的权限时,根据所述第一字段解析出所述当前用户的目标归属地;向所述目标归属地所属的归属云的服务器发送数据同步请求,所述数据同步请求包括所述当前用户的用户身份识别码,所述数据同步请求用于请求与所述用户身份识别码对应的用户状态和/或权限;接收所述归属云的服务器返回的与所述用户身份识别码对应的用户状态和/或权限。18.根据权利要求17所述的方法,其特征在于,所述用户身份识别码包括第二字段和第三字段;所述在本地数据库中,查询用户状态信息表和用户权限信息表包括:根据所述第二字段解析出所述当前用户的数据所在数据库的目标数据库编号;根据所述第三字段解析出所述当前用户的数据所在表的目标表编号;在具有所述目标数据库编号的数据库中,获取具有所述目标表编号的用户状态信息表和用户权限信息表;在所述用户状态信息表中查询所述当前用户的用户状态;在所述用户权限信息表中查询所述当前用户的权限。19.根据权利要求17或18所述的方法,其特征在于,所述接收所述归属云的服务器返回的与所述用户身份识别码对应的用户状态和/或权限之后,所述方法包括:将所述用户状态存储到所述用户状态信息表中;和/或将所述权限存储到所述用户权限信息表中。20.根据权利要求19所述的方法,其特征在于,所述根据所述第一字段解析出所述当前用户的目标归属地之后,所述方法包括:向所述目标归属地所属的归属云的服务器发送数据更新订阅请求,所述数据更新订阅请求包括所述用户身份识别码,所述数据更新订阅请求用于请求所述归属云的服务器在变更所述当前用户身份识别码对应的用户状态和/或权限后推送变更后的用户状态和/或权限。21.根据权利要求20所述的方法,其特征在于,所述向所述目标归属地所属的归属云的服务器发送数据更新订阅请求之后,所述方法包括:接收所述归属云的服务器发送的变更后的用户状态和/或权限;将所述用户状态信息表中的所述用户身份识别码对应的用户状态更新为所...
【专利技术属性】
技术研发人员:李善航,李剑彪,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。