本申请公开了LDAP集群数据同步方法及系统,包括:主同步控制模块接收待同步数据;将待同步数据划分为至少一个待同步数据块;为每一个待同步数据块生成一个待同步任务,从符合预设条件的数据同步模块中,选择数据同步模块作为目标数据同步模块;向各个目标数据同步模块发送与其对应的至少一个待同步任务;目标数据同步模块依次读取与其对应的至少一个待同步任务中,每个待同步任务对应的待同步数据块,并在待同步任务对应的依赖任务被完成的情况下,执行将待同步数据块同步到待同步LDAP集群中的LDAP服务器的步骤。本申请中,由独立于LDAP集群外的控制器来进行同步控制,无需依赖于集群内的主服务器,提高了同步方法的可用性。
【技术实现步骤摘要】
本申请涉及数据通信
,尤其涉及一种LDAP集群数据同步方法及系统。
技术介绍
LDAP是基于TCP/IP协议的目录访问协议,是Internet上目录服务的通用访问协 议。LDAP的出现简化了 X. 500目录的复杂度,降低了开发成本,是X. 500标准的目录访问协 议DAP的子集,同时也作为IETF的一个正式标准。 现有LDAP集群数据同步方案中,需要对LDAP集群进行配置;一个集群中,必须有 一个服务器为主,其他服务器为从。主服务器负责推送更新数据到从服务器,或者从服务器 从主设备上下载更新数据。 该方式下,对主服务器的依赖性较强。主服务器一旦出现异常,则需要重新配置整 个集群中的主从关系,从而导致在一段时间内,该同步过程无法进行,进而导致整个同步过 程的可用性较低。 因此,需要一种可靠性更高的LDAP集群数据同步方法。
技术实现思路
有鉴于此,本申请提供了一种LDAP集群数据同步方法,以解决现有技术中的LDAP 集群数据同步方法可用性低的问题。 为实现上述目的,本申请提供如下技术方案: -种LDAP集群数据同步方法,应用于LDAP集群数据同步系统,该系统包括:同步 控制器及待同步LDAP集群,所述同步控制器包括:至少一个同步控制模块和至少一个数据 同步模块,所述至少一个同步控制模块中包含有一个主同步控制模块,所述待同步LDAP集 群包括至少一个待同步LDAP服务器,该方法应用于所述同步控制器,包括: 所述主同步控制模块接收待同步数据; 将所述待同步数据按照预设规则划分为至少一个待同步数据块; 为每一个待同步数据块生成一个待同步任务,所述待同步任务中至少包含有所述 待同步数据块的标识; 获取所述至少一个数据同步模块的状态信息,所述状态信息中至少包括所述数据 同步模块当前同步任务个数及任务权重值; 从符合预设条件的数据同步模块中,按照任务权重值由小到大的顺序,选择预设 个数的数据同步模块作为目标数据同步模块; 分别向各个目标数据同步模块发送与其对应的至少一个待同步任务; 目标数据同步模块依次读取与其对应的至少一个待同步任务中,每个待同步任务 对应的待同步数据块,并在所述待同步任务对应的依赖任务被完成的情况下,执行将所述 待同步数据块同步到所述待同步LDAP集群中的LDAP服务器中的步骤。 优选的,所述分别向各个目标数据同步模块发送与其对应的至少一个待同步任务 之后还包括: 依据各个目标数据同步模块对应的至少一个待同步任务及其任务权重值,修改各 个目标数据同步模块的当前同步任务个数及任务权重值; 在所述目标数据同步模块将所述待同步数据块同步到所述待同步LDAP集群中的 LDAP服务器中后还包括: 将所述目标数据同步模块的当前同步任务个数减一,并将所述任务权重值减去所 述待同步数据块对应的权重值。 优选的,还包括: 当执行将所述待同步数据块同步到所述待同步LDAP集群中的LDAP服务器中的 步骤失败时,等待预设时间后,再次执行将所述待同步数据块同步到所述至少一个待同步 LDAP服务器中的步骤,当失败次数达到预设次数时,记录失败信息,并保存所述待同步数 据。 优选的,所述待同步数据块的标识为所述待同步数据的流水起始号和流水结束 号。 优选的,还包括: 主同步控制模块和所述数据同步模块分别按照预设心跳周期更新心跳时间。 优选的,所述至少一个同步控制模块中还包括至少一个从同步控制模块。 优选的,还包括:当所述主同步控制模块异常时,从所述至少一个从同步控制模块 中选择一个作为主同步控制模块。 优选的,所述符合预设条件的数据同步模块为:最后心跳时间距当前时间不长于 五个心跳周期。 -种LDAP集群数据同步系统,包括:同步控制器及待同步LDAP集群,所述同步控 制器包括:至少一个同步控制模块和至少一个数据同步模块,所述至少一个同步控制模块 中包含有一个主同步控制模块,所述待同步LDAP集群包括至少一个待同步LDAP服务器,其 中: 所述同步控制器中,所同步控制模块用于接收待同步数据,将所述待同步数据按 照预设规则划分为至少一个待同步数据块;为每一个待同步数据块生成一个待同步任务, 所述待同步任务中至少包含有所述待同步数据块的标识;获取所述至少一个数据同步模 块的状态信息,所述状态信息中至少包括所述数据同步模块当前同步任务个数及任务权重 值;从符合预设条件的数据同步模块中,按照任务权重值由小到大的顺序,选择预设个数的 数据同步模块作为目标数据同步模块;分别向各个目标数据同步模块发送与其对应的至少 一个待同步任务;目标数据同步模块依次读取与其对应的至少一个待同步任务中,每个待 同步任务对应的待同步数据块,并在所述待同步任务对应的依赖任务被完成的情况下,执 行将所述待同步数据块同步到所述待同步LDAP集群中的LDAP服务器中的步骤。 经由上述的技术方案可知,本申请实施例公开的LDAP集群数据同步方法,由独立 于LDAP集群外的控制器来进行同步控制,无需依赖于集群内的主服务器,提高了同步方法 的可用性。 并且,由控制器中的同步控制模块对数据同步模块进行整体分析,对多个LDAP服 务器并行进行同步操作,提高了控制器的工作效率及整个同步过程的效率、缩短了同步时 间。【附图说明】 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 提供的附图获得其他的附图。 图1为本申请实施例公开的数据同步系统的结构示意图; 图2为本申请实施例公开的一种数据同步方法的流程图; 图3为本申请实施例公开的又一数据同步方法的流程图。【具体实施方式】 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于 本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本申请保护的范围。 本申请公开的LDAP集群数据同步方法,应用于LDAP集群数据同步系统,该系统的 结构如图1所示,包括:同步控制器100及待同步LDAP集群200,所述同步控制器100包括: 至少一个同步控制模块101和至少一个数据同步模块102,所述至少一个同步控制模块101 中包含有一个主同步控制模块l〇la,所述待同步LDAP集群200包括至少一个待同步LDAP 服务器201。可以预先为每一个LDAP服务器设置一个对应的服务信息表,如下LDAP服务信 息表所示: 表 1 其中,编号可以为ID可以是每个服务器在集群中的唯一编号,例如001。服务IP 为该服务器的IP地址,例如192. 168. 1. 9。服务端口为该服务器通过哪一端口接收同步数 据,例如A1 口。 同理,同步控制模块也可以对应设置一个信息表,如下同步控制服务信息表所 示: 表 2 其中,最后心跳时间是指同步控制模块最近一次进行心跳同步的时间。而如果其 为主同步控制模块,则在最后一项填"是",如果其为从同步控制模块,则最后一项填"否"。 或者,填充其他能够区别其为主同步控制模块或本文档来自技高网...
【技术保护点】
一种LDAP集群数据同步方法,其特征在于,应用于LDAP集群数据同步系统,该系统包括:同步控制器及待同步LDAP集群,所述同步控制器包括:至少一个同步控制模块和至少一个数据同步模块,所述至少一个同步控制模块中包含有一个主同步控制模块,所述待同步LDAP集群包括至少一个待同步LDAP服务器,该方法应用于所述同步控制器,包括:所述主同步控制模块接收待同步数据;将所述待同步数据按照预设规则划分为至少一个待同步数据块;为每一个待同步数据块生成一个待同步任务,所述待同步任务中至少包含有所述待同步数据块的标识;获取所述至少一个数据同步模块的状态信息,所述状态信息中至少包括所述数据同步模块当前同步任务个数及任务权重值;从符合预设条件的数据同步模块中,按照任务权重值由小到大的顺序,选择预设个数的数据同步模块作为目标数据同步模块;分别向各个目标数据同步模块发送与其对应的至少一个待同步任务;目标数据同步模块依次读取与其对应的至少一个待同步任务中,每个待同步任务对应的待同步数据块,并在所述待同步任务对应的依赖任务被完成的情况下,执行将所述待同步数据块同步到所述待同步LDAP集群中的LDAP服务器的步骤。
【技术特征摘要】
【专利技术属性】
技术研发人员:李晓敦,张晓东,闫立志,沙峰,陈华海,蔡金培,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。