本发明涉及云计算数据中心技术,尤指一种云平台用户的统一管理方法和装置。
背景技术:
openstack作为知名的云计算管理平台,功能强大,已被各个云计算厂商融合到自己的云数据中心管理平台中。云计算厂商开发出自己的云数据中心管理平台,然后集成openstack,将openstack作为一种虚拟化平台,通过调用openstack接口读取并管理openstack里面的计算、存储、网络等资源,这也是是当下很多云计算管理平台的解决方案。同时,云平台中会创建许多账户,供管理员和租户使用。但是这样做会有一定的问题,openstack中也有自己的用户系统,如果在openstack中创建了用户,则无法体现到云平台中。另一方面,如果通过openstack平台进行管理,则无法实现云平台用户的统一管理。并且相比云平台提供的在部门、项目、组织等多个维度对用户进行管理的丰富的用户管理功能,openstack用户管理功能比较简单。
技术实现要素:
为了解决上述技术问题,本发明实施例提供了一种云平台用户的统一管理方法和装置,可以将openstack中的用户信息同步到云平台中,在云平台中进行统一管理。
为了达到本发明目的,一方面,本发明实施例提供了一种云平台用户的统一管理方法,包括:
在云平台根据预先设置的定时任务和同步策略,每隔预定时间执行用户信息的数据同步;其中,所述定时任务是使用所述云平台的任务管理功能设置的,所述用户信息包括云计算管理平台openstack和所述云平台的用户信息。
可选地,所述同步策略包括:
读取所述openstack的第一用户信息;
将所述第一用户信息与所述云平台中存储的的第二用户信息对比;
如果所述第一用户信息与所述第二用户信息相同,则不作处理;如果所述第一用户信息与所述第二用户信息不相同,则以所述openstack为基准执行所述用户信息的数据同步,将不一致的数据同步到所述云平台中。
可选地,所述用户信息包括:基本信息和项目信息。
可选地,在执行用户信息的数据同步之前,所述方法还包括:
构造所述云平台和所述openstack平台的关联关系。
可选地,所述方法还包括:
通过手动同步方式执行所述用户信息的数据同步。
可选地,所述读取所述openstack的第一用户信息包括:
遍历所述云平台的openstack类型的用户信息;
根据每一个openstack类型的用户信息的底层身份标识id查找在所述openstack环境对应的用户;
如果在所述openstack环境未查找到对应的用户,则将所述云平台中该用户的状态修改为已删除;如果在所述openstack环境查找到了对应的用户,则获取该对应的用户的第一用户信息。
可选地,在执行用户信息的数据同步之前,所述方法还包括:
查询用户和openstack项目的关联关系,如果所述关联关系发生了变化,则在所述云平台中修改关联关系,以保持关联关系的一致性。
可选地,所述同步策略还包括:
对于所述openstack底层新增的用户,直接将所述新增用户的用户信息同步到所述云平台中。
另一方面,本发明实施例还提供了一种云平台用户的统一管理装置,包括:
同步模块,用于在云平台根据预先设置的定时任务和同步策略,每隔预定时间执行用户信息的数据同步;其中,所述定时任务是使用所述云平台的任务管理功能设置的,所述用户信息包括云计算管理平台openstack和所述云平台的用户信息。
可选地,所述同步策略包括:
读取所述openstack的第一用户信息;
将所述第一用户信息与所述云平台中存储的的第二用户信息对比;
如果所述第一用户信息与所述第二用户信息相同,则不作处理;如果所述第一用户信息与所述第二用户信息不相同,则以所述openstack为基准执行所述用户信息的数据同步,将不一致的数据同步到所述云平台中。
可选地,所述用户信息包括:基本信息和项目信息。
可选地,所述装置还包括:
构造模块,用于所述云平台和所述openstack平台的关联关系。
可选地,所述装置还用于:
通过手动同步方式执行所述用户信息的数据同步。
可选地,所述装置还用于:
遍历所述云平台的openstack类型的用户信息;
根据每一个openstack类型的用户信息的底层身份标识id查找在所述openstack环境对应的用户;
如果在所述openstack环境未查找到对应的用户,则将所述云平台中该用户的状态修改为已删除;如果在所述openstack环境查找到了对应的用户,则获取该对应的用户的第一用户信息。
可选地,所述装置还用于:
查询用户和openstack项目的关联关系,如果所述关联关系发生了变化,则在所述云平台中修改关联关系,以保持关联关系的一致性。
可选地,所述同步策略还包括:
对于所述openstack底层新增的用户,直接将所述新增用户的用户信息同步到所述云平台中。
本发明实施例通过在云平台根据预先设置的定时任务和同步策略,每隔预定时间执行用户信息的数据同步;其中,所述定时任务是使用所述云平台的任务管理功能设置的,所述用户信息包括云计算管理平台openstack和所述云平台的用户信息。本发明实施例可以将openstack中的用户信息同步到云平台中,在云平台中进行统一管理。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例云平台用户的统一管理方法的流程图;
图2为本发明实施例云平台用户的统一管理方法的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1为本发明实施例云平台用户的统一管理方法的流程图,如图1所示,本发明实施例的方法包括以下步骤:
步骤100:在云平台根据预先设置的定时任务和同步策略,每隔预定时间执行用户信息的数据同步;其中,所述定时任务是使用所述云平台的任务管理功能设置的,所述用户信息包括云计算管理平台openstack和所述云平台的用户信息。
具体地,所述同步是在所述云平台设置开启定时任务,并设置自动同步时间间隔,执行所述用户信息的数据同步。例如,每隔十分钟进行一次用户信息的数据同步。
可选地,所述同步策略包括:
读取所述openstack的第一用户信息;
将所述第一用户信息与所述云平台中存储的的第二用户信息对比;
如果所述第一用户信息与所述第二用户信息相同,则不作处理;如果所述第一用户信息与所述第二用户信息不相同,则以所述openstack为基准执行所述用户信息的数据同步,将不一致的数据同步到所述云平台中,使得两侧数据一致,以对同步到所述云平台中所述openstack的用户信息进行统一管理。
其中,所述openstack的用户信息同步到所述云平台中后,将用户类型设置为所述openstack类型。
具体地,本发明实施例提出的云平台用户的统一管理方法,将openstack中的用户信息同步到云平台中,在云平台中进行统一管理。在云平台设置定时任务,每隔一段时间执行用户同步的策略。在同步用户的策略里,使用特定算法,读取openstack的用户数据,包括基本信息、项目信息等,并与云平台的用户数据对比,以openstack为基准,将不一致的内容同步到云平台中,使得两侧数据一致。
本发明实施例使用云平台已有的任务管理功能,设置定时任务,每隔十分钟进行一次用户信息的数据同步。用户信息包括基本信息,项目信息等,但是不同步密码信息,云平台中openstack类型的用户的最终认证过程还是需要通过接口调用在openstack平台完成,保证用户信息和角色信息与openstack底层一致。openstack用户同步到云平台中后,需要将用户类型设置为openstack类型,便于下次同步的比对和校验。同时构造云平台用户和openstack用户的关联关系表,并将底层id同步到云平台中,
通过将openstack用户同步到云平台中的方法,在云平台中进行统一管理,可以丰富openstack的用户管理。同时,采用定时任务和特定算法自动同步openstack和云平台的用户数据,能够使二者数据保持一致,保证云平台能够获取到openstack底层的用户信息和角色,提高云管理平台的易用性和准确性。
本发明实施例技术实现的具体实施过程如下:
首先,云平台提供了两种同步方式,手动同步和自动同步。自动同步需要在云平台设置开启定时任务,并设置自动同步时间间隔,执行用户信息同步策略。
然后,自动同步由后台定时任务去定时执行。手动同步则需要云平台用户去手动触发。其步骤如下:
s101,设置与openstack平台的关联关系参数,需要说明的是自动同步也需要设置,否则无法开启。填写openstack平台的ip地址,版本,并提供管理员账号和密码进行连接。
s102,参数设置完成后,点击保存,如果信息不正确,云平台会保存失败,并给出错误信息,用户需要修改信息后再次保存。
s103,关联关系设置完成后,可以点击openstack用户同步,弹出的列表中会列出openstack底层用户的列表信息,此处为了提高云平台的易用性,此列表只展示openstack中存在,但是未同步到云平台中的用户,已经同步到云平台中的用户不再展示,避免用户手动筛选。
s104,选择需要同步的用户信息,点击同步。系统会在后台自动同步。
s105,用户同步完成后,可以点击同步openstack项目同步,弹出列变中会展示openstack中的项目信息,选择具体项目并同步。
s106,在项目同步过程中,如果同步过来的项目中的用户也已经同步到云平台中,则在云平台中自动构建用户和项目的关联关系。
最后,同步到云平台中的用户可以直接在云平台的登录界面进行认证。系统后台在得到认证请求后,由于云平台并不保存密码信息,云平台会将认证信息发送到openstack平台进行认证,并返回认证结果。
本发明实施例通过将openstack用户同步到云平台中实现统一管理。同时采用定时任务和程序控制同步策略的方法,实现了云平台自动同步openstack用户信息的功能。这样既能获保证云平台和openstack的用户数据的一致性,也使openstack用户能够统一到云平台的用户管理中。本发明实施例提高了云平台中网络资源数据的准确性,提高了平台的易用性。
可选地,所述用户信息包括:基本信息和项目信息。
可选地,在执行用户信息的数据同步之前,所述方法还包括:
构造所述云平台和所述openstack平台的关联关系,实现将底层身份标识id同步到所述云平台。
可选地,所述方法还包括:
通过手动同步方式执行所述用户信息的数据同步。
可选地,所述读取所述openstack的第一用户信息包括:
遍历所述云平台的openstack类型的用户信息;
根据每一个openstack类型的用户信息的底层身份标识id查找在所述openstack环境对应的用户;
如果在所述openstack环境未查找到对应的用户,则将所述云平台中该用户的状态修改为已删除;如果在所述openstack环境查找到了对应的用户,则获取该对应的用户的第一用户信息。
可选地,在执行用户信息的数据同步之前,所述方法还包括:
查询用户和openstack项目的关联关系,如果所述关联关系发生了变化,则在所述云平台中修改关联关系,以保持关联关系的一致性。
可选地,所述同步策略还包括:
对于所述openstack底层新增的用户,直接将所述新增用户的用户信息同步到所述云平台中。
本发明实施例中,通过将openstack用户同步到云平台中的方法,在云平台中进行统一管理,可以丰富openstack的用户管理。
可选地,通过手动或定时任务自动执行同步策略,通过特定算法实现openstack环境和云平台中用户信息的同步。
具体地,主要包括如下几个步骤:
步骤一:遍历云平台的openstack类型的用户数据;
步骤二:对每一个用户,根据其底层id查找在openstack环境对应的用户;
步骤三:如果在openstack查不到,表示底层已经删除,则将云平台中该用户的状态修改为已删除;
步骤四:如果在openstack查到了该用户,判断openstack中用户的各个属性值和云平台中是否相同;
步骤五:如果不同,则以openstack为基准,修改云平台的用户属性;如果相同,则不做修改,减少数据库的写次数;
步骤六:遍历云平台下的所有项目,同上述步骤一样,查找openstack的对应项目中的用户,如果底层openstack项目不存在,则在云平台中将此项目设置为禁用。
步骤七:查询用户和项目的关联关系,如果底层关联关系发生了变化,则需要在云平台中修改关联关系,保持关联关系的一致性。
步骤八:转到第二步,循环操作,直到完成所有用户信息的同步。
步骤九:对于openstack底层新增的用户,可以直接将信息同步到云平台中。
本发明实施例的技术关键点是:将openstack用户纳入到云平台系统中,并且通过特定算法,基于底层id实现openstack环境和云平台中用户信息的同步,实现云平台对openstack用户的统一管理。
本发明实施例所应用的产品如用于incloudmanager,实现与openstack的用户管理对接,丰富了用户管理功能。
图2为本发明实施例云平台用户的统一管理装置的结构图,如图2所示,本发明实施例另一方面提供的一种云平台用户的统一管理装置,包括:
同步模块201,用于在云平台根据预先设置的定时任务和同步策略,每隔预定时间执行用户信息的数据同步;其中,所述定时任务是使用所述云平台的任务管理功能设置的,所述用户信息包括云计算管理平台openstack和所述云平台的用户信息。
可选地,所述同步策略包括:
读取所述openstack的第一用户信息;
将所述第一用户信息与所述云平台中存储的的第二用户信息对比;
如果所述第一用户信息与所述第二用户信息相同,则不作处理;如果所述第一用户信息与所述第二用户信息不相同,则以所述openstack为基准执行所述用户信息的数据同步,将不一致的数据同步到所述云平台中。
可选地,所述用户信息包括:基本信息和项目信息。
可选地,所述装置还包括:
构造模块202,用于所述云平台和所述openstack平台的关联关系。
可选地,所述装置还用于:
通过手动同步方式执行所述用户信息的数据同步。
可选地,所述装置还用于:
遍历所述云平台的openstack类型的用户信息;
根据每一个openstack类型的用户信息的底层身份标识id查找在所述openstack环境对应的用户;
如果在所述openstack环境未查找到对应的用户,则将所述云平台中该用户的状态修改为已删除;如果在所述openstack环境查找到了对应的用户,则获取该对应的用户的第一用户信息。
可选地,所述装置还用于:
查询用户和openstack项目的关联关系,如果所述关联关系发生了变化,则在所述云平台中修改关联关系,以保持关联关系的一致性。
可选地,所述同步策略还包括:
对于所述openstack底层新增的用户,直接将所述新增用户的用户信息同步到所述云平台中。
本发明实施例通过在云平台根据预先设置的定时任务和同步策略,每隔预定时间执行用户信息的数据同步;其中,所述定时任务是使用所述云平台的任务管理功能设置的,所述用户信息包括云计算管理平台openstack和所述云平台的用户信息。本发明实施例可以将openstack中的用户信息同步到云平台中,在云平台中进行统一管理。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。