CN115577047A - 一种基于ldap服务的数据同步方法及系统 - Google Patents
一种基于ldap服务的数据同步方法及系统 Download PDFInfo
- Publication number
- CN115577047A CN115577047A CN202211273319.2A CN202211273319A CN115577047A CN 115577047 A CN115577047 A CN 115577047A CN 202211273319 A CN202211273319 A CN 202211273319A CN 115577047 A CN115577047 A CN 115577047A
- Authority
- CN
- China
- Prior art keywords
- ldap
- data synchronization
- data
- table structure
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 230000001172 regenerating effect Effects 0.000 claims abstract description 7
- 230000001360 synchronised effect Effects 0.000 abstract description 16
- 230000000694 effects Effects 0.000 abstract description 2
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于LDAP服务的数据同步方法及系统,涉及数据同步技术领域。该方法获取新增扩展字段,根据新增扩展字段重新生成用户表结构;删除旧的历史记录后,重启LDAP并重新遍历用户列表中的数据,最终按照最新生成的用户表结构同步所有用户数据到LDAP中,完成数据同步。解决了系统在扩展后同步LDAP会因为字段对不上而报错的问题,起到了在系统中添加扩展字段和新的扩展信息可同步到LDAP中的效果。
Description
技术领域
本发明涉及数据同步技术领域,尤其涉及一种基于LDAP服务的数据同步方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
目前很多系统对接用户部门数据都是通过请求轻型目录访问协议(LightweightDirectory Access Protocol,LDAP)服务的方式同步数据,现有方案从关系型数据库管理系统(MySQL)数据库同步数据表(比如部门表或用户表)到LDAP服务的数据库中时,是在schema目录下添加要同步数据的表结构,然后根据表结构接收同步的数据到Berkeley dB中。
然而发明人发现,现有技术存在以下客观缺点:
当前技术有局限性,只能支持在数据表字段不变动的情况下同步数据,当MySQL表中用户表或部门表出现表字段变动,则同步过去会出现报错,无法继续同步数据。这是LDAP固有的逻辑,设置好表结构后启动LDAP就无法再进行表结构的修改。因此如何在字段变动的情况下实现准确的数据同步成为亟待解决的技术问题。
发明内容
针对现有技术存在的不足,本发明的目的是提供一种基于LDAP服务的数据同步方法及系统,添加了支持LDAP同步用户部门数据的功能,可以实现部门和用户表的扩展,包括固定的一些字段和可自定义添加的扩展字段。
为了实现上述目的,本发明是通过如下的技术方案来实现:
本发明第一方面提供了一种基于LDAP服务的数据同步方法,包括以下步骤:
获取新增扩展字段,根据新增扩展字段重新生成用户表结构;
重启LDAP并重新遍历用户列表中的数据;
按照最新生成的用户表结构同步所有用户数据到LDAP中,完成数据同步。
进一步的,重启LDAP之前,需删除旧的数据文件。
更进一步的,通过删除openldap_data下的mdb文件删除旧的数据文件。
进一步的,根据新增扩展字段重新生成用户表结构的具体步骤为:遍历字段列表,按照原来表结构文件的格式重新根据新增的扩展字段拼接成新的表结构文件。
进一步的,获取新增扩展字段前,先检测字段是否有变动。
更进一步的,若字段没有变动,则直接进行数据同步操作。
进一步的,重新生成用户表结构的字段需与扩展后的字段一一对应。
本发明第二方面提供了一种基于LDAP服务的数据同步系统,包括:
表结构生成模块,被配置为获取新增扩展字段,根据新增扩展字段重新生成用户表结构;
重启模块,被配置为重启LDAP并重新遍历用户列表中的数据;
数据同步模块,被配置为按照最新生成的用户表结构同步所有用户数据到LDAP中,完成数据同步。
本发明第三方面提供了一种介质,其上存储有程序,该程序被处理器执行时实现如本发明第一方面所述的基于LDAP服务的数据同步方法中的步骤。
本发明第四方面提供了一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本发明第一方面所述的基于LDAP服务的数据同步方法中的步骤。
以上一个或多个技术方案存在以下有益效果:
本发明公开了一种基于LDAP服务的数据同步方法,对需要变动的字段先进行扩展,把扩展后的数据同步过去前,先进行遍历、拼接、删除、重启操作,最终实现数据的灵活同步,克服了现有技术只能支持在数据表字段不变动的情况下同步数据的弊端。
本发明的一种基于LDAP服务的数据同步系统,通过重新拼接用户表结构的方法,解决了系统在扩展后同步LDAP会因为字段对不上而报错的问题,起到了在系统中添加扩展字段和新的扩展信息可同步到LDAP中的效果。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明中实施例一数据同步方法中数据传输过程的框架图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合;
术语解释:
Schema:LDAP的一个存表结构和配置文件的地方。
Berkeley dB:LDAP默认使用的数据库为Berkeley dB。
实施例一:
本发明实施例一提供了一种基于LDAP服务的数据同步方法,能够实现数据库同步数据表的字段扩展,本实施例中,数据库同步数据表为部门表或用户表,包括固定的一些字段和可自定义添加的扩展字段,而要做到LDAP和用户表数据同步,面临一个问题,就是字段扩展后同步LDAP会因为字段对不上而报错,因为同步LDAP部门或用户数据需要字段数据一一对应,不能多或者少。这是LDAP固有的逻辑,设置好表结构后启动LDAP就无法再进行表结构的修改。本发明通过将带有扩展后字段的数据重新生成用户表结构的方式,从MySQL数据库同步数据表到LDAP服务器中,再同步至LDAP服务的数据库Berkeley dB,如图1所示,实现了数据的灵活同步,具体包括以下步骤:
步骤1:先检测字段是否有变动。若字段没有变动,则直接进行数据同步操作。
作为进一步的技术方案,接收IAM同步数据的用户表和部门表结构,如果IAM这边用户或部门表的字段有变动,需要重新生成新的表结构。目前的问题是,当本系统用户表新增了一个扩展字段后,再新增数据时字段与LDAP就无法一一对应了,此时就需要重新生成一份用户表结构user.schema,通过系统的后端php代码操作编辑文件生成。
步骤2:获取新增扩展字段,根据新增扩展字段重新生成用户表结构。
作为进一步的技术方案,遍历字段列表,按照原来表结构文件的格式重新根据新增的扩展字段拼接成新的表结构文件。重新生成用户表结构的字段需与扩展后的字段一一对应。在本实施例中,通过php遍历MySQL中的字段列表,按照原来表结构文件的格式(仿照LDAP的表结构文件)重新在schema目录下拼接成新的表结构文件,拼接成的新的表结构文件与扩展后的字段完全对应,这样就避免了字段扩展后LDAP会因为字段对不上而报错的问题。
步骤3:重启LDAP并重新遍历用户列表中的数据;重启LDAP之前,需删除旧的数据文件。
作为进一步的技术方案,通过直接php命令删除openldap_data下的mdb文件删除旧的数据文件。
步骤4:按照最新生成的用户表结构同步所有用户数据到LDAP中,完成数据同步。具体的,重启LDAP服务后,执行同步数据代码将新的表结构的数据同步至LDAP中。
本发明的数据同步的工作原理为:当统一身份管理平台中的部门表和用户表是需要进行扩展时,通过php遍历MySQL中的字段列表,按照原来表结构文件的格式重新在schema目录下拼接成新的表结构文件,并且将旧数据删除,直接php命令删除openldap_data下的mdb文件,然后重启LDAP。此时再重新将数据通过php代码将部门表和用户表的数据重新同步到LDAP中,从而完成数据的灵活同步。以上操作都是后台代码执行,操作者在页面操作可以直接看到LDAP会跟IAM一样新增一个字段,同时数据也会跟着同步过去。
实施例二:
本发明实施例二提供了一种基于LDAP服务的数据同步系统,包括:
表结构生成模块,被配置为获取新增扩展字段,根据新增扩展字段重新生成用户表结构;
重启模块,被配置为重启LDAP并重新遍历用户列表中的数据;
数据同步模块,被配置为按照最新生成的用户表结构同步所有用户数据到LDAP中,完成数据同步。
实施例三:
本发明实施例三提供了一种介质,其上存储有程序,该程序被处理器执行时实现如本发明实施例一所述的基于LDAP服务的数据同步方法中的步骤。
实施例四:
本发明实施例四提供了一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如本发明实施例一所述的基于LDAP服务的数据同步方法中的步骤。
以上实施例二、三和四的中涉及的各步骤与方法实施例一相对应,具体实施方式可参见实施例一的相关说明部分。术语“计算机可读存储介质”应该理解为包括一个或多个指令集的单个介质或多个介质;还应当被理解为包括任何介质,所述任何介质能够存储、编码或承载用于由处理器执行的指令集并使处理器执行本发明中的任一方法。
本领域技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算机装置来实现,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。本发明不限制于任何特定的硬件和软件的结合。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (10)
1.一种基于LDAP服务的数据同步方法,其特征在于,包括:
获取新增扩展字段,根据新增扩展字段重新生成用户表结构;
重启LDAP并重新遍历用户列表中的数据;
按照最新生成的用户表结构同步所有用户数据到LDAP中,完成数据同步。
2.如权利要求1所述的基于LDAP服务的数据同步方法,其特征在于,
重启LDAP之前,需删除旧的数据文件。
3.如权利要求2所述的基于LDAP服务的数据同步方法,其特征在于,
通过删除openldap_data下的mdb文件删除旧的数据文件。
4.如权利要求1所述的基于LDAP服务的数据同步方法,其特征在于,
根据新增扩展字段重新生成用户表结构的具体步骤为:遍历字段列表,按照原来表结构文件的格式重新根据新增的扩展字段拼接成新的表结构文件。
5.如权利要求1所述的基于LDAP服务的数据同步方法,其特征在于,
获取新增扩展字段前,先检测字段是否有变动。
6.如权利要求5所述的基于LDAP服务的数据同步方法,其特征在于,
若字段没有变动,则直接进行数据同步操作。
7.如权利要求1所述的基于LDAP服务的数据同步方法,其特征在于,
重新生成用户表结构的字段需与扩展后的字段一一对应。
8.一种基于LDAP服务的数据同步系统,其特征在于,包括:
表结构生成模块,被配置为获取新增扩展字段,根据新增扩展字段重新生成用户表结构;
重启模块,被配置为重启LDAP并重新遍历用户列表中的数据;
数据同步模块,被配置为按照最新生成的用户表结构同步所有用户数据到LDAP中,完成数据同步。
9.一种计算机可读存储介质,其特征在于,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行权利要求1-7中任一项所述的基于LDAP服务的数据同步方法。
10.一种终端设备,其特征在于,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行权利要求1-7中任一项所述的基于LDAP服务的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211273319.2A CN115577047A (zh) | 2022-10-18 | 2022-10-18 | 一种基于ldap服务的数据同步方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211273319.2A CN115577047A (zh) | 2022-10-18 | 2022-10-18 | 一种基于ldap服务的数据同步方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115577047A true CN115577047A (zh) | 2023-01-06 |
Family
ID=84585286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211273319.2A Pending CN115577047A (zh) | 2022-10-18 | 2022-10-18 | 一种基于ldap服务的数据同步方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115577047A (zh) |
-
2022
- 2022-10-18 CN CN202211273319.2A patent/CN115577047A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109189852B (zh) | 一种数据同步的方法及用于数据同步的装置 | |
CN111104151B (zh) | 一种基于Shell脚本的Git代码简化的管理方法 | |
CN113806301A (zh) | 数据同步方法、装置、服务器及存储介质 | |
CN115292307A (zh) | 数据同步系统、方法及相应计算机设备和存储介质 | |
WO2021082925A1 (zh) | 一种交易处理的方法及装置 | |
CN115687503A (zh) | 数据库间的数据同步方法、装置、设备及存储介质 | |
CN110912979B (zh) | 一种解决多服务器资源同步冲突方法 | |
CN113297316A (zh) | 一种实现数据同步的方法及装置和系统 | |
CN112000850A (zh) | 进行数据处理的方法、装置、系统及设备 | |
CN115577047A (zh) | 一种基于ldap服务的数据同步方法及系统 | |
CN115587141A (zh) | 一种数据库同步方法和装置 | |
CN112000671B (zh) | 基于区块链的数据库表处理方法、装置及系统 | |
CN115827657A (zh) | 数据库的数据同步方法、存储介质以及设备 | |
CN115587114A (zh) | 系统以及查询方法 | |
CN116739397B (zh) | 一种新能源指标的动态管理方法 | |
CN110688426B (zh) | 一种区块链大数据库的秒级心跳同步方法 | |
CN104809033A (zh) | 一种备份方法及系统 | |
CN116302206B (zh) | 一种基于MQ的presto数据源热加载方法 | |
CN116578651B (zh) | 数据表结构同步方法、系统及设备 | |
CN112087338B (zh) | 一种控制消息传输方法及系统 | |
CN113127164B (zh) | 管理应用节点中的任务的方法、设备和计算机程序产品 | |
CN116627769A (zh) | 处理事务日志的方法及装置 | |
CN116842244A (zh) | 搜索引擎数据同步方法、系统、设备和存储介质 | |
CN115827172A (zh) | 执行数据库事务的方法以及装置 | |
CN114089979A (zh) | 持久层代码更新方法、系统、终端设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |