一种基于日志拆分的目录复制实现方法

文档序号:6640845阅读:141来源:国知局
一种基于日志拆分的目录复制实现方法
【专利摘要】本发明提供一种基于日志拆分的目录复制实现方法,此方法包含:在生成复制公有日志时,对每个从目录分别产生一个公有日志文件,并分别启动一个复制进程,处理公有日志和私有日志,进行向指定从目录的操作,进而清理复制日志;采用上述技术方案,使得向多个从目录的复制可以独立地进行,避免了部分从目录的复制问题对其它从目录复制的影响,从而提高目录复制的稳定性和可靠性,且从目录与私有日志文件的一一对应,避免了因个别从目录复制操作存在问题而造成的复制进程不能清理复制私有日志文件的问题,进而避免了复制日志的积压,保证了从目录复制操作的正常进行。
【专利说明】一种基于日志拆分的目录复制实现方法

【技术领域】
[0001]本发明涉及目录服务系统领域,尤其是涉及一种基于日志拆分的目录复制实现方法。

【背景技术】
[0002]随着互联网的发展,对各种数据资源的标准化管理和高效存取的要求变得十分迫切,目录服务技术就是在这样的背景下产生并迅速发展的新技术。目录服务系统是用于网络数据资源的分布式存储和快速查询的新型专用数据库系统,是专门为那些检索频率大大高于数据更新频率的信息服务而设计的。比如图书馆图书索引系统、网络资源管理系统、组织人员管理系统、证书管理系统、单点登录系统等。
[0003]复制作为目录服务系统分布式存储的重要组成部分,有效地拓展了目录服务,使之超过了单服务器配置限制。复制就是在目录服务器之间自动复制目录数据的机制。任何类型的更新,包括条目添加、修改和删除,都将被自动镜像到其它使用复制的目录服务器上。复制的目的是保证在一个分布式的环境中,主目录服务器的数据和从目录服务器的数据保持一致,因此主目录服务器需把自身变化的数据发送给从目录服务器,以便达到主目录服务器的数据和从目录服务器的数据保持一致。
[0004]主目录服务器,作为目录复制数据的提供方,既运行目录服务,也运行复制服务,简称主目录;
[0005]从目录服务器,作为目录复制数据的接受方,简称从目录;
[0006]复制公有日志文件,是主目录服务记录自身变化数据的文件,简称公有日志;
[0007]复制私有日志文件,是主目录复制服务向从目录复制时使用的文件,简称私有日志,其数据来自公有日志。
[0008]主目录为了把变更数据复制到从目录,如图1所示,需要执行如下过程:
[0009]步骤101:主目录创建一个复制公有日志文件;
[0010]步骤102:主目录记录复制头信息到复制公有日志文件,复制头信息中包含所有从目录的地址信息;
[0011]步骤103:主目录记录复制数据到复制公有日志文件;
[0012]步骤104:启动一个复制进程;
[0013]步骤105:复制进程把公有日志转移到私有日志;
[0014]步骤106:复制进程根据私有日志中的所有从目录地址信息和复制数据进行到所有从目录的复制;
[0015]步骤107:复制进程根据复制完成情况清理私有日志。
[0016]由以上操作可以看出,向多个从目录复制时,因为共用一个复制私有日志,如果向个别从目录的复制存在诸如网络不通等的问题,复制私有日志里的操作内容不能完成,则复制进程不能清理复制私有日志,长此下去会造成复制日志的积压,造成向其它从目录的复制不能正常进行。


【发明内容】

[0017]本发明要解决的问题是提供一种使向各个从目录的复制不会互相影响的,尤其适合于网络环境比较差的场合,即网络不够稳定、向某些从目录的连接可能有问题的场合的目录复制实现方法。
[0018]为解决上述技术问题,本发明采用的技术方案是:一种基于日志拆分的目录复制实现方法,包括以下步骤:
[0019]步骤201:主目录为每个从目录分别创建一个复制公有日志文件和一个复制进程;
[0020]步骤202:主目录记录复制头信息到每个复制公有日志文件,复制头信息仅包含对应单一从目录的地址信息;
[0021]步骤203:主目录记录复制数据到每个复制公有日志文件;
[0022]步骤204:分别启动每个复制进程;
[0023]步骤205:每个复制进程把各自的公有日志文件转移到自己的私有日志文件中;
[0024]步骤206:每个复制进程根据各自私有日志文件中的从目录地址信息和复制数据进行到自己从目录的复制;
[0025]步骤207:每个复制进程根据复制完成情况清理私有日志文件。
[0026]进一步,所述步骤201中的复制公有日志文件与所述从目录--对应,且仅供与之对应的从目录使用。
[0027]进一步,所述步骤201中的复制进程与所述从目录一一对应,且用于把与从目录对应的复制公有日志文件转存到与该从目录自己的复制私有日志文件中,然后进行到该从目录的复制操作。
[0028]进一步,所述步骤205至步骤7中,每个从目录对应的复制进程都会维护自己的复制私有日志文件,且在复制操作完成后会适时清理复制私有日志文件。
[0029]进一步,所述步骤207中,复制进程清理私有日志文件的规则相互之间互不影响。
[0030]进一步,所述步骤204中多个复制进程之间不会相互影响,且该复制进程是否启动可根据其本身所在的网络环境自行调整。
[0031]本发明具有的优点和积极效果是:采用上述技术方案,使得向多个从目录的复制可以独立地进行,避免了部分从目录的复制问题对其它从目录复制的影响,从而提高目录复制的稳定性和可靠性,且从目录与私有日志文件的一一对应,避免了因个别从目录复制操作存在问题而造成的复制进程不能清理复制私有日志文件的问题,进而避免了复制日志的积压,保证了从目录复制操作的正常进行。

【专利附图】

【附图说明】
[0032]图1为现有的目录复制操作流程图;
[0033]图2为本发明的基于日志拆分的目录复制操作流程图;
[0034]图3为本发明的基于日志拆分的目录复制配置和操作流程图。

【具体实施方式】
[0035]以下根据附图及具体实施例对本发明作出详细说明。
[0036]如图1所示,在现有的目录复制操作方法中,包括以下步骤:
[0037]步骤101:主目录创建一个复制公有日志文件;
[0038]步骤102:主目录记录复制头信息到复制公有日志文件,复制头信息中包含所有从目录的地址信息;
[0039]步骤103:主目录记录复制数据到复制公有日志文件;
[0040]步骤104:启动一个复制进程;
[0041]步骤105:复制进程把公有日志转移到私有日志;
[0042]步骤106:复制进程根据私有日志中的所有从目录地址信息和复制数据进行到所有从目录的复制;
[0043]步骤107:复制进程根据复制完成情况清理私有日志。
[0044]主目录服务在启动时读入配置信息,在接收并处理完更新操作请求后,把更新操作按以上步骤复制到从目录中,但由于该方法在执行时共用一个复制公有日志文件和一个复制私有日志文件,且仅启动一个复制进程,故各个从目录之间的复制操作相互影响,只要有一个从目录复制过程中存在网络不通等影响因素进而使得该从目录的复制操作没有完成时,复制进程就不能清理该复制私有日志文件,进而造成复制日志的积压,使得向其他从目录的复制不能正常进行。
[0045]如图2所示,本发明包括以下步骤:
[0046]步骤201:主目录为每个从目录分别创建一个复制公有日志文件、一个复制私有日志文件和一个复制进程,复制公有日志文件与从目录一一对应,且仅供与之对应的从目录使用,复制进程与所述从目录一一对应,且用于把与从目录对应的复制公有日志文件转存到与该从目录自己的复制私有日志文件中,然后进行到该从目录的复制操作。
[0047]步骤202:主目录记录复制头信息到每个复制公有日志文件,复制头信息仅包含对应单一从目录的地址信息。
[0048]步骤203:主目录记录复制数据到每个复制公有日志文件。
[0049]步骤204:分别启动每个复制进程,多个复制进程之间不会相互影响,且该复制进程是否启动可根据其本身所在的网络环境自行调整。
[0050]步骤205:每个复制进程把各自的公有日志文件转移到自己的私有日志文件中;
[0051]步骤206:每个复制进程根据各自私有日志文件中的从目录地址信息和复制数据进行到自己从目录的复制;
[0052]步骤207:每个复制进程根据复制完成情况清理私有日志文件。
[0053]步骤205至步骤7中,每个从目录对应的复制进程都会维护自己的复制私有日志文件,且在复制操作完成后会适时清理复制私有日志文件,且每个复制进程均可按照自己的规则进行清理,与其他复制进程无关。
[0054]从目录与复制公有日志文件、复制私有日志文件以及复制进程的--对应使得多个从目录的复制可以独立地进行,避免了部分从目录的复制问题对其它从目录复制的影响,从而提高目录复制的稳定性和可靠性,且从目录与私有日志文件的一一对应,避免了因个别从目录复制操作存在问题而造成的复制进程不能清理复制私有日志文件的问题,进而避免了复制日志的积压,保证了从目录复制操作的正常进行。
[0055]如图3所示,本发明的一个具体实施例包括以下步骤:
[0056]步骤301:启动主目录进程,读取复制配置;
[0057]步骤302:主目录处理更新操作请求;
[0058]步骤303:主目录为每个从目录分别创建一个复制公有日志文件;
[0059]步骤304:主目录记录复制头信息到每个复制公有日志文件,复制头信息中仅包含指定的单一从目录的地址信息;
[0060]步骤305:主目录记录复制操作信息到每个复制公有日志文件;
[0061]步骤306:主目录上分别选择性地启动各个复制进程,有网络故障的从目录的复制进程可以不启动;
[0062]步骤307:每个复制进程分别读取各自的公有日志,并转存到各自的复制私有日志;
[0063]步骤308:每个复制进程分别读取日志头信息中的单一从目录地址信息,并据此执行到该从目录的复制;
[0064]步骤309:每个从目录分别接收并处理复制操作请求,返回处理结果;
[0065]步骤310:每个复制进程根据复制完成情况清理各自的复制私有日志。
[0066]在本实施例中,主目录服务器的目录服务在启动时读取配置文件中的复制配置,在成功处理了更新操作请求后,根据各个从目录的配置把更新操作分别记录到对应每个从目录的复制公有日志中。
[0067]主目录服务器启动多个复制服务进程,每个复制进程完成向一个从目录的复制。
[0068]主目录服务器目录复制的具体实现方法包括以下步骤:
[0069]I)启动时读取配置文件中各从目录的复制配置;
[0070]2)主目录处理更新操作请求;
[0071]3)主目录为每个从目录各自创建一个复制公有日志文件;
[0072]4)主目录分别记录对应从目录的地址信息和复制操作信息到每个复制公有日志文件。
[0073]主目录服务器的目录复制的具体实现方法包括以下步骤:
[0074]I)每个复制服务进程启动时读取复制配置信息;
[0075]2)每个复制进程分别读取各自的复制公有日志并转存到各自的复制私有日志文件;
[0076]3)每个复制进程根据复制日志文件中的单一从目录地址执行到该从目录的复制;
[0077]4)每个复制进程根据对应从目录返回的操作结果清理复制私有日志内容。
[0078]以上对本发明的实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明范围所作的均等变化与改进等,均应仍归属于本专利涵盖范围之内。
【权利要求】
1.一种基于日志拆分的目录复制实现方法,其特征在于:包括以下步骤: 步骤201:主目录为每个从目录分别创建一个复制公有日志文件和一个复制进程; 步骤202:主目录记录复制头信息到每个复制公有日志文件,复制头信息仅包含对应单一从目录的地址信息; 步骤203:主目录记录复制数据到每个复制公有日志文件; 步骤204:分别启动每个复制进程; 步骤205:每个复制进程把各自的公有日志文件转移到自己的私有日志文件中; 步骤206:每个复制进程根据各自私有日志文件中的从目录地址信息和复制数据进行到自己从目录的复制; 步骤207:每个复制进程根据复制完成情况清理私有日志文件。
2.根据权利要求1所述的基于日志拆分的目录复制实现方法,其特征在于:所述步骤201中的复制公有日志文件与所述从目录--对应,且仅供与之对应的从目录使用。
3.根据权利要求1所述的基于日志拆分的目录复制实现方法,其特征在于:所述步骤201中的复制进程与所述从目录一一对应,且用于把与从目录对应的复制公有日志文件转存到与该从目录自己的复制私有日志文件中,然后进行到该从目录的复制操作。
4.根据权利要求1所述的基于日志拆分的目录复制实现方法,其特征在于:所述步骤205至步骤207中,每个从目录对应的复制进程都会维护自己的复制私有日志文件,且在复制操作完成后会适时清理复制私有日志文件。
5.根据权利要求1所述的基于日志拆分的目录复制实现方法,其特征在于:所述步骤207中,复制进程清理私有日志文件的规则相互之间互不影响。
6.根据权利要求1所述的基于日志拆分的目录复制实现方法,其特征在于:所述步骤204中多个复制进程之间不会相互影响,且该复制进程是否启动可根据其本身所在的网络环境自行调整。
【文档编号】G06F17/30GK104504123SQ201410850163
【公开日】2015年4月8日 申请日期:2014年12月31日 优先权日:2014年12月31日
【发明者】毛巨辉, 张健, 崔维力, 武新 申请人:天津南大通用数据技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1