一种基于LDAP服务的数据同步方法及系统与流程

文档序号:32851855发布日期:2023-01-06 23:15阅读:39来源:国知局
一种基于LDAP服务的数据同步方法及系统与流程
一种基于ldap服务的数据同步方法及系统
技术领域
1.本发明涉及数据同步技术领域,尤其涉及一种基于ldap服务的数据同步方法及系统。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
3.目前很多系统对接用户部门数据都是通过请求轻型目录访问协议(lightweight directory access protocol,ldap)服务的方式同步数据,现有方案从关系型数据库管理系统(mysql)数据库同步数据表(比如部门表或用户表)到ldap服务的数据库中时,是在schema目录下添加要同步数据的表结构,然后根据表结构接收同步的数据到berkeley db中。
4.然而发明人发现,现有技术存在以下客观缺点:
5.当前技术有局限性,只能支持在数据表字段不变动的情况下同步数据,当mysql表中用户表或部门表出现表字段变动,则同步过去会出现报错,无法继续同步数据。这是ldap固有的逻辑,设置好表结构后启动ldap就无法再进行表结构的修改。因此如何在字段变动的情况下实现准确的数据同步成为亟待解决的技术问题。


技术实现要素:

6.针对现有技术存在的不足,本发明的目的是提供一种基于ldap服务的数据同步方法及系统,添加了支持ldap同步用户部门数据的功能,可以实现部门和用户表的扩展,包括固定的一些字段和可自定义添加的扩展字段。
7.为了实现上述目的,本发明是通过如下的技术方案来实现:
8.本发明第一方面提供了一种基于ldap服务的数据同步方法,包括以下步骤:
9.获取新增扩展字段,根据新增扩展字段重新生成用户表结构;
10.重启ldap并重新遍历用户列表中的数据;
11.按照最新生成的用户表结构同步所有用户数据到ldap中,完成数据同步。
12.进一步的,重启ldap之前,需删除旧的数据文件。
13.更进一步的,通过删除openldap_data下的mdb文件删除旧的数据文件。
14.进一步的,根据新增扩展字段重新生成用户表结构的具体步骤为:遍历字段列表,按照原来表结构文件的格式重新根据新增的扩展字段拼接成新的表结构文件。
15.进一步的,获取新增扩展字段前,先检测字段是否有变动。
16.更进一步的,若字段没有变动,则直接进行数据同步操作。
17.进一步的,重新生成用户表结构的字段需与扩展后的字段一一对应。
18.本发明第二方面提供了一种基于ldap服务的数据同步系统,包括:
19.表结构生成模块,被配置为获取新增扩展字段,根据新增扩展字段重新生成用户
表结构;
20.重启模块,被配置为重启ldap并重新遍历用户列表中的数据;
21.数据同步模块,被配置为按照最新生成的用户表结构同步所有用户数据到ldap中,完成数据同步。
22.本发明第三方面提供了一种介质,其上存储有程序,该程序被处理器执行时实现如本发明第一方面所述的基于ldap服务的数据同步方法中的步骤。
23.本发明第四方面提供了一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本发明第一方面所述的基于ldap服务的数据同步方法中的步骤。
24.以上一个或多个技术方案存在以下有益效果:
25.本发明公开了一种基于ldap服务的数据同步方法,对需要变动的字段先进行扩展,把扩展后的数据同步过去前,先进行遍历、拼接、删除、重启操作,最终实现数据的灵活同步,克服了现有技术只能支持在数据表字段不变动的情况下同步数据的弊端。
26.本发明的一种基于ldap服务的数据同步系统,通过重新拼接用户表结构的方法,解决了系统在扩展后同步ldap会因为字段对不上而报错的问题,起到了在系统中添加扩展字段和新的扩展信息可同步到ldap中的效果。
27.本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
28.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
29.图1为本发明中实施例一数据同步方法中数据传输过程的框架图。
具体实施方式
30.应该指出,以下详细说明都是示例性的,旨在对本技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本技术所属技术领域的普通技术人员通常理解的相同含义。
31.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合;
32.术语解释:
33.schema:ldap的一个存表结构和配置文件的地方。
34.berkeley db:ldap默认使用的数据库为berkeley db。
35.实施例一:
36.本发明实施例一提供了一种基于ldap服务的数据同步方法,能够实现数据库同步数据表的字段扩展,本实施例中,数据库同步数据表为部门表或用户表,包括固定的一些字段和可自定义添加的扩展字段,而要做到ldap和用户表数据同步,面临一个问题,就是字段
扩展后同步ldap会因为字段对不上而报错,因为同步ldap部门或用户数据需要字段数据一一对应,不能多或者少。这是ldap固有的逻辑,设置好表结构后启动ldap就无法再进行表结构的修改。本发明通过将带有扩展后字段的数据重新生成用户表结构的方式,从mysql数据库同步数据表到ldap服务器中,再同步至ldap服务的数据库berkeley db,如图1所示,实现了数据的灵活同步,具体包括以下步骤:
37.步骤1:先检测字段是否有变动。若字段没有变动,则直接进行数据同步操作。
38.作为进一步的技术方案,接收iam同步数据的用户表和部门表结构,如果iam这边用户或部门表的字段有变动,需要重新生成新的表结构。目前的问题是,当本系统用户表新增了一个扩展字段后,再新增数据时字段与ldap就无法一一对应了,此时就需要重新生成一份用户表结构user.schema,通过系统的后端php代码操作编辑文件生成。
39.步骤2:获取新增扩展字段,根据新增扩展字段重新生成用户表结构。
40.作为进一步的技术方案,遍历字段列表,按照原来表结构文件的格式重新根据新增的扩展字段拼接成新的表结构文件。重新生成用户表结构的字段需与扩展后的字段一一对应。在本实施例中,通过php遍历mysql中的字段列表,按照原来表结构文件的格式(仿照ldap的表结构文件)重新在schema目录下拼接成新的表结构文件,拼接成的新的表结构文件与扩展后的字段完全对应,这样就避免了字段扩展后ldap会因为字段对不上而报错的问题。
41.步骤3:重启ldap并重新遍历用户列表中的数据;重启ldap之前,需删除旧的数据文件。
42.作为进一步的技术方案,通过直接php命令删除openldap_data下的mdb文件删除旧的数据文件。
43.步骤4:按照最新生成的用户表结构同步所有用户数据到ldap中,完成数据同步。具体的,重启ldap服务后,执行同步数据代码将新的表结构的数据同步至ldap中。
44.本发明的数据同步的工作原理为:当统一身份管理平台中的部门表和用户表是需要进行扩展时,通过php遍历mysql中的字段列表,按照原来表结构文件的格式重新在schema目录下拼接成新的表结构文件,并且将旧数据删除,直接php命令删除openldap_data下的mdb文件,然后重启ldap。此时再重新将数据通过php代码将部门表和用户表的数据重新同步到ldap中,从而完成数据的灵活同步。以上操作都是后台代码执行,操作者在页面操作可以直接看到ldap会跟iam一样新增一个字段,同时数据也会跟着同步过去。
45.实施例二:
46.本发明实施例二提供了一种基于ldap服务的数据同步系统,包括:
47.表结构生成模块,被配置为获取新增扩展字段,根据新增扩展字段重新生成用户表结构;
48.重启模块,被配置为重启ldap并重新遍历用户列表中的数据;
49.数据同步模块,被配置为按照最新生成的用户表结构同步所有用户数据到ldap中,完成数据同步。
50.实施例三:
51.本发明实施例三提供了一种介质,其上存储有程序,该程序被处理器执行时实现如本发明实施例一所述的基于ldap服务的数据同步方法中的步骤。
52.实施例四:
53.本发明实施例四提供了一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本发明实施例一所述的基于ldap服务的数据同步方法中的步骤。
54.以上实施例二、三和四的中涉及的各步骤与方法实施例一相对应,具体实施方式可参见实施例一的相关说明部分。术语“计算机可读存储介质”应该理解为包括一个或多个指令集的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承载用于由处理器执行的指令集并使处理器执行本发明中的任一方法。
55.本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
56.上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1