一种提高增量方式数据同步效率的方法转让专利
申请号 : CN200710149801.4
文献号 : CN101127640B
文献日 : 2010-04-14
发明人 : 马润宏
申请人 : 中兴通讯股份有限公司
摘要 :
权利要求 :
1.一种提高增量方式数据同步效率的方法,下层网管以数据增量方式和上层网管同步数据,其特征在于,下层网管存储通知数据,在当前存储的通知的记录条数超出指定的门限值后,将未存储的通知删除,并把该通知的数据转化为同步日志进行存储;
离线情况下重新建链或网管初始化时的同步包括如下步骤:
步骤一,上层网管向下层网管发送查询通知消息,所述通知消息中携带通知标识;
步骤二,下层网管收到所述查询通知消息后,将所述通知标识与本地通知标识进行比较,并返回相应信息给上层网管;
步骤三,上层网管根据下层网管返回的信息进行增量或数据项范围内的全量同步。
2.如权利要求1所述的方法,其特征在于,所述同步日志标识的信息包含表明哪类数据项类型发生了数据改变。
3.如权利要求1所述的方法,其特征在于,所述通知有一个全网唯一的通知标识,新产生的通知其标识按递增方式进行维护。
4.如权利要求1所述的方法,其特征在于,所述门限值为通知记录条数。
5.如权利要求1所述的方法,其特征在于,所述步骤二中,下层网管本地存储的通知的最小标识大于上层网管指定的通知标识时,下层网管给上层网管返回同步日志,所述步骤三中,上层网管进行基于数据项的全量同步。
6.如权利要求5所述的方法,其特征在于,所述步骤二中,下层网管向上层网管返回同步日志时,还返回和当前最新通知的标识号,作为下次同步的开始点。
7.如权利要求1所述的方法,其特征在于,所述步骤二中,下层网管本地存在的通知的最小标识小于等于上层网管指定的通知标识时,下层网管给上层网管返回指定通知标识到最大通知标识范围的通知数据,作为本次同步的数据内容,所述步骤三中,上层网管进行增量数据同步。
8.如权利要求1所述的方法,其特征在于,所述步骤二中,所述通知标识大于下层网管本地保存的最大通知标识,则下层网管向上层网管发送本次查询无效的指示。
9.如权利要求1所述的方法,其特征在于,正常情况下的同步为采用通知的方式,即增量数据的同步方式,并同时对通知数据进行持久化存储。
说明书 :
技术领域
本发明涉及通信领域,特别涉及一种提高增量方式数据同步效率的方法。
背景技术
上述两种同步机制均有一定的缺陷。TMF513的同步机制的主要缺陷是:缺少通知管理机制,上下层网管断链后的同步处理不够完善,一个缺陷是,通过指定通知保留时间门限(TIMEOUT)的方式,由于在指定的时间内通知产生的数量是不确定的,有可能通知很多,也可能很少,在通知很多的情况下,重新建链或初始化网管,同步的效率会比较低;另一个缺陷是:保留的通知被删除后,上层网管需要全量同步所有的下层网管数据,导致同步效率非常低,特别是在开局或维护过程中,经常需要重新启动网管系统,这会严重降低网管的可用和易用性。
厂商自主开发的同步机制(如专利CN200410004981)的主要缺陷是:由于是一种数据项粒度的全量同步方式,也称为基于同步日志的同步方式,从机制上讲,无法达到增量同步方式的效率。无论在正常运行状态还是离线状态下同步效率相对会比较低。例如,在下层网管某网元上安装一块单板,系统会对整个数据库中该网元的所有单板同步一次,而不仅仅同步新增的这块单板。
发明内容
为解决上述问题,本发明提出了一种提高增量方式数据同步效率的方法,下层网管以数据增量方式和上层网管同步数据,其特征在于,下层网管存储通知数据,在当前存储的通知的记录条数超出指定的门限值后,将未存储的通知删除,并把该通知的数据转化为同步日志进行存储;
离线情况下重新建链或网管初始化时的同步包括如下步骤:
步骤一,上层网管向下层网管发送查询通知消息,所述通知消息中携带通知标识;
步骤二,下层网管收到所述查询通知消息后,将所述通知标识与本地通知标识进行比较,并返回相应信息给上层网管;
步骤三,上层网管根据下层网管返回的信息进行增量或数据项范围内的全量同步。
进一步地,上述方法还可具有以下特点,所述同步日志标识的信息包含表明哪类数据项类型发生了数据改变。
进一步地,上述方法还可具有以下特点,所述通知有一个全网唯一的通知标识,新产生的通知其标识按递增方式进行维护。
进一步地,上述方法还可具有以下特点,所述门限值为通知记录条数。
进一步地,上述方法还可具有以下特点,所述步骤二中,下层网管本地存储的通知的最小标识大于上层网管指定的通知标识时,下层网管给上层网管返回同步日志,所述步骤三中,上层网管进行基于数据项的全量同步。其中所述步骤二中,下层网管向上层网管返回同步日志时,还返回和当前最新通知的标识号,作为下次同步的开始点。
进一步地,上述方法还可具有以下特点,所述步骤二中,下层网管本地存在的通知的最小标识小于等于上层网管指定的通知标识时,下层网管给上层网管返回指定通知标识到最大通知标识范围的通知数据,作为本次同步的数据内容,所述步骤三中,上层网管进行增量数据同步。
进一步地,上述方法还可具有以下特点,所述步骤二中,所述通知标识大于下层网管本地保存的最大通知标识,则下层网管向上层网管发送本次查询无效的指示。
进一步地,上述方法还可具有以下特点,,正常情况下的同步为采用通知的方式,即增量数据的同步方式,并同时对通知数据进行持久化存储。
本发明通过正常状态下增量通知的方式,解决了基于数据项全量同步的效率问题;通过引入通知管理机制,避免了离线情况下或网管初始化时进行全量范围的全量同步问题,提高了同步效率。同时借鉴通知方式的同步优点和基于同步日志的数据项范围内的全量同步的优点,解决了网管在正常或离线、初始化情况下的同步效率问题。
附图说明
图2为网络层网管在线时下层网管生成的单板数据的通知格式。
图3为网络层网管离线时下层网管生成的单板数据的通知格式。
具体实施方式
本发明提供的完善的通知管理机制具体为:正常情况下数据同步采用通知的方式,即增量数据的同步方式,并同时对通知数据进行持久化存储管理。
每一个通知有一个全网唯一的通知标识,一个通知包含了完整的具体的同步数据信息,新产生的通知其标识按递增方式进行维护。
按照通知的记录条数作为门限进行存储通知数据,当当前存储的通知记录条数大于门限值后,把通知删除,并把通知数据转化为同步日志进行存储。一条同步日志标识的信息是:表明哪类数据项类型发生了数据改变,不指明改变的具体详细信息。通知可以转换为同步日志,但是同步日志不可以转换为通知。
使用记录条数作为门限,更加科学,可以合理控制离线情况下的同步效率。而使用时间作为门限时,由于指定时间内的数据变更量是未知的,当变更量很大时,会使同步效率降低很多。
离线情况下重新建链或网管初始化时的同步机制则如图1所示,具体过程为:
1、上层网管按照指定的通知标识范围,向下层网管查询通知数据;
2、下层网管收到所述查询通知消息后,将所述通知标识与本地通知标识进行比较,并返回相应信息给上层网管;
2.1当下层网管本地存储的通知的最小标识大于上层网管指定的通知标识时,则表明通知被删除并已转换为同步日志,需要给上层网管返回同步日志,和当前最新通知的标识号,作为下次同步的开始点。
2.2当下层网管本地存在的通知的最小标识小于等于上层网管指定的通知标识时,则表明当前本地的通知数据是可用的,下层网管给上层网管返回指定的通知数据范围,作为本次同步的数据内容。
2.3当上层网管查询的通知标识范围大于下层网管本地保存的最大通知,则下层网管返回空值,或返回其他表明本次查询无效的指示,表明本次查询无效。
3、上层网管根据下层网管返回的信息进行增量或数据项范围内的全量同步。当下层网管返回的是通知数据时,则上层网管进行增量数据同步,当返回的是同步日志时,则上层网管进行基于数据项的全量同步。
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
实施例
在传输网管系统中,网络管理层网管(NMS)和网元管理层网管(EMS)是上下层网管关系,二者需要进行数据同步。本发明以SDH(同步数字体系)设备的单板数据为例来进一步说明本发明的技术方案内容。
首先定义出单板的相关通知类型:创建单板、删除单板、设置(修改单板属性)三类通知。每个通知赋予一个唯一标识号,如以时间戳+数字序列号作为通知的唯一标识。在网元管理层网管的某网元上连续进行单板操作(增加、删除、修改)5次,生成的通知格式如图2所示。下层网管向上层网管主动上报通知数据。
网元管理层网管和网络管理层网管通讯断链后,假设在网元管理层网管上又进行单板操作5次。生成的通知记录格式如图3所示。
上下层网管之间通讯重新建链后,进行如下同步过程:
1.上层网管下发查询通知信息来同步数据,通知信息中携带通知标识;
由于上下层网管在线时的同步完成标识是在通知NOTIFY ID-5处结束的,所以重新建链后上层网管下发的通知查询取值为大于NOTIFY ID-5的所有通知。
2、下层网管收到所述查询通知消息后,将所述通知标识与本地通知标识进行比较,并返回相应信息给上层网管。
结合图1来说明查询所得的结果。此时,图1中所示的Idx中的x等于5,(n+k)即通知标识最大值等于10。n和k的值取决于设置的通知保存门限。
2.1、假设通知保存门限值为4条,则NOTIFY ID-1~NOTIFY ID-6的通知均被删除并转化为同步日志,则本地网管向上层网管返回的是同步日志信息和当前本地的最大通知标识号NOTIFY ID-10。
2.2、假设通知保存门限值为6条,则NOTIFY ID-1~NOTIFY ID-4的通知均被删除并转化为同步日志,但是对本次同步来说,仍然采用通知数据,本地网管向上层网管返回NOTIFY ID-6~NOTIFY ID-10范围内的通知数据进行同步。
2.3、特殊异常情况下,上层网管下发查询的通知标识大于当前本地的通知标识最大值(如下发的通知标识为NOTIFY ID-11),则本次同步无效,下层网管返回为NULL,或返回其他表明本次查询无效的指示。
3、上层网管根据下层网管返回的信息进行增量或数据项范围内的全量同步。
其中,当下层网管返回的是通知数据时,则上层网管进行增量数据同步,当返回的是同步日志时,则上层网管进行基于数据项的全量同步。
基于同步日志的全量同步,仅针对指定数据项进行全量同步,不是全网数据进行全量同步。而原增量数据同步方式中的全量同步是针对所有全网数据的全量同步。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。