一种同步数据的方法及其装置转让专利

申请号 : CN200910106168.X

文献号 : CN101511042B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨昭霞

申请人 : 中兴通讯股份有限公司

摘要 :

本发明涉及光通讯领域,提供一种同步数据的方法及其装置,所述方法包括:第一处理单元实时检测到需同步功能块的数据变化后向第二处理单元发送增量数据包消息,所述增量数据包消息中包含增量数据包和增量数据包对应的第一增量数据包序号,且第一处理单元周期性向第二处理单元发送包含第二增量数据包序号的增量数据包序号消息;第二处理单元接收到增量数据包所带的第一增量数据包序号与第二处理单元保存的第三增量数据包序号不连续或第二处理单元接收到的第二增量数据包序号与第二处理单元保存的第三增量数据包序号不相等的情况至少一种出现时,则向第一处理单元发送请求同步全量数据的消息。实现了数据的可靠同步,提高了业务稳定性,且实现简便。

权利要求 :

1.一种同步数据的方法,其特征在于,包括:

第一处理单元实时检测到需同步功能块的数据变化后向第二处理单元发送增量数据包消息,所述增量数据包消息中包含增量数据包和增量数据包对应的第一增量数据包序号,且第一处理单元周期性向第二处理单元发送包含第二增量数据包序号的增量数据包序号消息,所述第二增量数据包序号是第一处理单元最近一次发送的第一增量数据包序号;

第二处理单元接收到增量数据包所带的第一增量数据包序号与第二处理单元保存的第三增量数据包序号不连续或第二处理单元接收到的第二增量数据包序号与第二处理单元保存的第三增量数据包序号不相等的情况至少一种出现时,则向第一处理单元发送请求同步全量数据的消息,第一处理单元根据接收到的请求同步全量数据的消息打包对应的功能块的全量数据包并发送给请求的第二处理单元;

第二处理单元接收到第一处理单元发送的第一增量数据包序号后,将所述第一增量数据包序号作为第三增量数据包序号。

2.根据权利要求1所述的方法,其特征在于,第二处理单元接收到增量数据包消息后根据接收到的增量数据包配置对应的功能块;或接收到全量数据包后根据接收到的全量数据包配置对应的功能块。

3.根据权利要求1所述的方法,其特征在于,第一处理单元每发一次增量数据包消息使第一增量数据包序号递增或递减。

4.根据权利要求1所述的方法,其特征在于,第一处理单元发送的全量数据包中包含最近一次发送的第一增量数据包序号。

5.根据权利要求4所述的方法,其特征在于,所述第二处理单元接收到第一处理单元发送的全量数据包后,将保存的第三增量包序号更新为所述全量数据包中包含的第一增量数据包序号。

6.根据前述任一权利要求所述的方法,其特征在于,所述第一处理单元是指具有发布当前需同步的功能块的数据权限的主处理单元,第二处理单元是指接收第一处理单元发布的数据并配置相应功能块的从处理单元,第二处理单元至少包括一个。

7.根据权利要求1~5中任一项所述的方法,其特征在于,第一增量数据包序号是按照递增或递减规律排列的数字。

8.一种同步数据的装置,其特征在于,包括:

增量数据包消息发送单元,用于检测到需同步功能块的数据变化后向其他处理单元发送包含第一增量数据包序号的增量数据包消息,且每发一次第一增量数据包使第一增量数据包序号递增或递减;

增量数据包序号消息发送单元,用于周期性向其他处理单元发送包含第二增量数据包序号的增量数据包序号消息,所述第二增量数据包序号是第一处理单元最近一次发送的第一增量数据包序号;

全量数据包发送单元,用于接收其他处理单元发送的请求同步全量数据的消息后根据所述消息打包对应的功能块的全量数据包并发送给请求的处理单元,所述全量数据包中包含最近一次发送的第一增量数据包序号。

9.一种同步数据的装置,其特征在于,包括:

增量数据包消息接收单元,用于接收其他处理单元发送的增量数据包消息,并比较接收到的第一增量数据包序号与第二处理单元保存的第三增量数据包序号是否连续,如果不连续,则向所述其他处理单元发送请求同步全量数据的消息;

增量数据包序号消息接收单元,用于接收增量数据包序号消息,并比较接收到的第二增量数据包序号与第二处理单元保存的第三增量数据包序号是否相等,如果不相等,则向其他处理单元发送请求同步全量数据的消息;

全量数据包接收单元,用于接收其他处理单元发送的全量数据包后,将保存的第三增量包序号更新为所述全量数据包中包含的第一增量数据包序号。

说明书 :

一种同步数据的方法及其装置

技术领域

[0001] 本发明涉及光通讯领域,特别涉及一种同步数据的方法及其装置。

背景技术

[0002] 在光传输系统中,包含有一些相同或者类似功能但独立运行的处理单元,它们之间所包含的某个或一些功能块,因为某些原因必须要保持数据的实时可靠同步。比如:在光传输通讯系统中的交叉处理单元,为了实现更大容量的交叉,多个交叉单元采用比特分割的方式来实现联合交叉。比特分割是指通过将8个比特分拆为4组两个比特或者2组四个比特的方式,将业务分拆至4个或者2个交叉单元。通过4个或者2个交叉单元联合起来实现业务的交叉,是实现大容量业务交叉的一种方式。在这种方式下一个联合内的交叉单元中如果任意一个交叉单元和其他交叉单元的时隙配置(交叉单元内对应每条业务的交叉连接关系)不一致,就会导致业务出错或者中断。再比如:为了提高网络生存能力,SDH(Synchronous Digital Hierarchy同步数字系列)设备提供自动保护倒换和恢复的功能,设备实时检测对应相应通道的告警状态,在告警发生变化时,通过保护或者恢复算法,自动选择备用或者可用的通道。光网络的传送平面和控制平面需要实现保护倒换处理,都有一个告警的检测功能块,其告警状态也必须实时保持完全一致,否则也可能会出现倒换处理不一致而导致业务配置出错。
[0003] 现有技术中提出了一种实现联合交叉的交叉单元同步的方法,采用某种策略来协调某个交叉单元作为主交叉单元,(主从系统:为了实现某种功能,必须确认一个主单元系统才能正常工作,主单元往往是这个系统的消息转发和数据处理的核心,从单元的一些处理必须通过主单元才能正常进行。例如,主从交叉单元:主交叉单元为保护倒换协议以及时隙配置处理的核心,从交叉单元的保护倒换状态和时隙配置由主交叉单元通知,保持和主交叉单元一致。)通过主交叉单元向其他交叉单元发送配置数据来保持状态一致。但是,在发送数据过程中可能因通信网络不稳定或者异常的原因导致其他交叉单元收不到变化的配置数据,就可能会导致整个交叉配置永远得不到同步。
[0004] 因此,需要有一种稳定可靠的方法来保证上述情况下的配置数据严格一致。

发明内容

[0005] 本发明实施例的目的在于提供一种同步数据的方法及其装置,以解决数据发送和接收过程中发生的数据不同步问题。
[0006] 本发明实施例的目的通过以下技术方案解决,一种同步数据的方法,包括:
[0007] 第一处理单元实时检测到需同步功能块的数据变化后向第二处理单元发送增量数据包消息,所述增量数据包消息中包含增量数据包和增量数据包对应的第一增量数据包序号,且第一处理单元周期性向第二处理单元发送包含第二增量数据包序号的增量数据包序号消息,所述第二增量数据包序号是第一处理单元最近一次发送的第一增量数据包序号;
[0008] 第二处理单元接收到增量数据包所带的第一增量数据包序号与第二处理单元保存的第三增量数据包序号不连续或第二处理单元接收到的第二增量数据包序号与第二处理单元保存的第三增量数据包序号不相等的情况至少一种出现时,则向第一处理单元发送请求同步全量数据的消息,第一处理单元根据接收到的请求同步全量数据的消息打包对应的功能块的全量数据包并发送给请求的第二处理单元。
[0009] 进一步,第二处理单元接收到增量数据包消息后根据接收到的增量数据包配置对应的功能块;或
[0010] 接收到全量数据包后根据接收到的全量数据包配置对应的功能块。
[0011] 进一步,第二处理单元接收到第一处理单元发送的第一增量数据包序号后,将所述第一增量数据包序号作为第三增量数据包序号。
[0012] 进一步,第一处理单元每发一次增量数据包消息使第一增量数据包序号递增或递减。
[0013] 进一步,所述第一处理单元发送的全量数据包中包含最近一次发送的第一增量数据包序号。
[0014] 更进一步,所述第二处理单元接收到第一处理单元发送的全量数据包后,将保存的第三增量包序号更新为所述全量数据包中包含的第一增量数据包序号。
[0015] 其中,所述第一处理单元是指具有发布当前需同步的功能块的数据权限的主处理单元,第二处理单元是指接收第一处理单元发布的数据并配置相应功能块的从处理单元,第二处理单元至少包括一个。
[0016] 其中,第一增量数据包序号是按照递增或递减规律排列的数字。
[0017] 本发明实施例还提供一种同步数据的装置,包括:
[0018] 增量数据包消息发送单元,用于检测到需同步功能块的数据变化后向其他处理单元发送包含第一增量数据包序号的增量数据包消息,且每发一次第一增量数据包使第一增量数据包序号递增或递减;
[0019] 增量数据包序号消息发送单元,用于周期性向其他处理单元发送包含第二增量数据包序号的增量数据包序号消息,所述第二增量数据包序号是第一处理单元最近一次发送的第一增量数据包序号;
[0020] 全量数据包发送单元,用于接收其他处理单元发送的请求同步全量数据的消息后根据所述消息打包对应的功能块的全量数据包并发送给请求的处理单元,所述全量数据包中包含最近一次发送的第一增量数据包序号。
[0021] 本发明实施例还提供一种同步数据的装置,其特征在于,包括:
[0022] 增量数据包消息接收单元,用于接收其他处理单元发送的增量数据包消息,并比较接收到的第一增量数据包序号与第二处理单元保存的第三增量数据包序号是否连续,如果不连续,则向所述其他处理单元发送请求同步全量数据的消息;
[0023] 增量数据包序号消息接收单元,用于接收增量数据包序号消息,并比较接收到的第二增量数据包序号与第二处理单元保存的第三增量数据包序号是否相等,如果不相等,则向其他处理单元发送请求同步全量数据的消息;
[0024] 全量数据包接收单元,用于接收其他处理单元发送的全量数据包后,将保存的第三增量包序号更新为所述全量数据包中包含的第一增量数据包序号;
[0025] 其中,该装置中还包括功能配置单元,用于根据接收到的增量数据包或全量数据包配置对应的功能块。
[0026] 采用本发明提供的同步数据的方法及其装置解决了多个单元之间需要保持数据一致的系统在数据发送和接收过程中发生的数据不同步的问题;特别是解决了光传输系统的处理单元的数据同步问题,例如光传输主从系统中多个独立处理单元之间功能块的数据的实时同步;实现了数据的可靠同步,提高了业务稳定性,且实现简便。

附图说明

[0027] 图1是本发明实施例一提供的同步数据的方法流程图;
[0028] 图2是本发明实施例二提供的同步数据的方法流程图;
[0029] 图3a和3b是本发明实施例三提供的同步数据的方法流程图;
[0030] 图4a和4b是本发明实施例四提供的同步数据的装置结构示意图。

具体实施方式

[0031] 下面结合附图和实施例对本发明做进一步的详细说明。
[0032] 本发明所述同步数据的方法是通过将需同步的数据通过增量和全量相结合的方式进行发送和接收,在提高数据同步效率的同时保证同步数据的正确性和可靠性,且实现简便。
[0033] 首先确定一个主处理单元和一个以上从处理单元,主处理单元实时检测需同步的功能块的状态或者数据变化,例如保护倒换功能或者业务交叉功能的状态或者数据变化(将功能块的状态或者数据称为功能块的相关数据),一旦检测到相关数据变化后立即主动向其他处理单元发送变化的数据包(也称为增量数据包,即仅包含此次变化数据而不包含未变化数据的数据包),其中携带该增量数据包的包序号;同时,主处理单元还周期性向其他处理单元发送最近一次发送过的变化的数据包的包序号。
[0034] 其他从处理单元接收增量数据包及增量数据包序号,并比较数据包序号是否连续,不连续则判断有丢包;同时,从处理单元还接收主处理单元周期性发送的最近一次发送过的增量数据包的包序号,并比较是否等于最近一次接收到增量数据包序号,不相等则判断有丢包。如果在上述至少任一种情形下判断有数据包丢包,则从处理单元向主处理单元发送请求全量数据包,主处理单元收到请求后把需同步的功能块的当前全量数据打包发给发送请求的从处理单元。
[0035] 图1是本发明实施例一提供的同步数据的方法流程图,该方法包括步骤:
[0036] S110,主处理单元实时检测到需同步功能块的相关数据变化后向从处理单元发送增量数据包消息,且主处理单元周期性向从处理单元发送最近一次发送过的增量数据包序号消息;
[0037] 在本发明的一个实例中主处理单元可以采用如下方法进行确定:传输系统的所有交叉单元向网元控制板上报自身的运行状态,所述网元控制板根据交叉单元的在位状态、运行状态和槽位编号来确定主交叉单元,例如选择当前在位且运行状态无异常、槽位编号最小的交叉单元为主交叉单元,当然还可以按照用户预设的其他策略进行确定,例如选择当前在位且运行状态无异常、槽位编号最大的交叉单元为主交叉单元;
[0038] 主处理单元启动一个专门的任务来检测功能块的相关数据变化,相关数据是指功能块的状态或功能块所包含的各项参数及数据信息等,例如保护倒换功能的相关数据是指:保护配置属性或者参数、输入的告警和K字节状态、外部设置和控制命令、协议决策输出的倒换状态和K字节状态等等,主处理单元一旦发现变化,则将增量数据包也就是变化的数据包以增量数据包消息的形式发送给各从处理单元;
[0039] 另外,主处理单元还启动一个5秒的定时器,每隔5秒就向从处理单元以增量数据包序号消息的形式发送最近一次发送过的增量数据包的包序号;增量数据包消息中包括增量数据包即发生变化的数据包,同时还携带所述增量数据包的包序号;增量数据包序号消息中包含增量数据包的包序号;
[0040] S120,从处理单元解析并判断接收到的同步数据的消息形式,如果是增量数据包消息,则从处理单元接收所述增量数据包并结束本流程;如果是增量数据包序号消息则转到步骤S130;
[0041] S130,从处理单元判断接收到的增量数据包序号与最近一次接收到的增量数据包序号是否相等,如果相等,则结束本流程;如果不相等,则认为存在丢包,并向主处理单元发送请求同步全量数据的消息;
[0042] S140,主处理单元根据接收到的请求同步全量数据的消息打包对应的功能块的全量数据包并发送给请求的从处理单元;
[0043] 从处理单元接收到增量数据包消息后可以根据接收到的增量数据配置对应的功能块;从处理单元接收到主处理单元发送的全量数据包后,可以根据接收到的全量数据配置对应的功能块。
[0044] 可见使用本实施例提供的方法,处理单元区分收到的消息是增量数据包消息还是增量数据包序号消息来进行下一步处理;如果是增量数据包消息,则接收并根据增量数据配置对应的功能块;如果是增量数据包序号消息、且与最近一次接收到的增量数据包序号不相等则可认为有丢包,继而请求全量数据包,并根据全量数据配置对应的功能块。因此,不仅实现了增量数据的实时同步,即使在发送增量数据包的过程中出现通信网络不稳定或者异常的情况,也能够通过请求全量数据的方式保持数据上的严格一致,提高了系统的可靠性和稳定性,实现简便。
[0045] 图2是本发明实施例二提供的同步数据的方法流程图。该方法包括:
[0046] S210,主处理单元实时检测到需同步功能块的相关数据,例如时隙配置变化后向从处理单元发送增量数据包消息,增量数据包消息中包括增量数据包即发生变化的数据包和所述增量数据包的包序号,且主处理单元每发一次增量数据包使增量数据包序号加1;同时主处理单元周期性向从处理单元发送最近一次发送过的增量数据包序号消息,增量数据包序号消息中仅包含增量数据包的包序号而不包含增量数据包本身;
[0047] S220,从处理单元判断接收到的同步数据的消息形式,如果是增量数据包消息,则转到步骤S240;如果是增量数据包序号消息则转到步骤S230;如果是全量数据包消息则转到步骤S260,所述全量数据包消息中包含需同步功能块的全部相关数据;
[0048] S230,从处理单元判断接收到的增量数据包序号与最近一次接收到的增量数据包序号是否相等,如果相等则转到步骤S210;如果不相等,则认为存在丢包,并向主处理单元发送请求同步全量数据的消息,并转到步骤S250;
[0049] S240,从处理单元接收所述增量数据包并判断接收到的增量数据包序号与最近一次接收到的增量数据包序号是否连续,如果连续则转到步骤S210;如果不连续,则认为有丢包,向主处理单元发送请求同步全量数据消息,并转到步骤S250。
[0050] S250,主处理单元根据接收到的请求同步全量数据的消息打包对应的功能块的全量数据包并发送给请求的从处理单元;
[0051] S260,从处理单元根据接收到的全量数据配置对应的功能块。
[0052] 其中,所述主处理单元发送的全量数据包中包含最近一次发送的增量数据包序号,则从处理单元接收到主处理单元发送的全量数据包后,将最近一次收到的增量包序号更新为所述全量数据包中包含的增量数据包序号,用于在下次收到数据包的时候进行包序号的比较。
[0053] 可见使用本实施例提供的方法,通过增量数据同步和全量数据同步相结合的灵活策略,在提高数据同步效率的同时保证了同步数据的正确性和可靠性,且实现简便。
[0054] 图3a和图3b是本发明实施例三提供的同步数据的方法流程图,该方法以光传输系统采用联合交叉的交叉单元之间的同步交叉配置状态为例分别从主交叉单元侧和从交叉单元侧对具体的步骤进行说明。首先所有交叉单元向网元控制板上报自身的运行状态,网元控制板选择当前在位且运行状态无异常、槽位编号最小的交叉单元为主交叉单元,将其他交叉单元作为从交叉单元。
[0055] 主交叉单元的具体处理步骤包括:
[0056] S311:主交叉单元启动一个专门的任务来检测时隙配置的变化,一旦变化后就将时隙配置数据和数据包序号打包形成增量数据包消息发送给各个从交叉单元,当发一次变化的数据包也就是增量数据包,增量数据包的序号递增1;
[0057] S312:主交叉单元启动一个5秒的定时器,定时周期到后向从交叉单元发送增量数据包序号消息,其中包含最近一次发送过的增量数据包序号;
[0058] S313:主交叉单元收到请求全量交叉时隙配置数据包的消息后,将当前所有的交叉时隙配置数据和最近一次发送过的增量数据包序号打包发送给从交叉单元。
[0059] 从交叉单元启动一个专门的任务接收主交叉单元发送的同步数据消息,具体处理步骤包括:
[0060] S321:从交叉单元一旦接收到增量时隙配置消息后,将时隙配置写入相应的时隙交叉配置芯片,同时保存收到的增量数据包的序号,并与最近一次收到的增量数据包的序号比较是否连续,如果不连续,则向主处理单元发送一个请求全量交叉时隙配置数据包的消息,否则,继续下一步:
[0061] S322:从交叉单元一旦接收主交叉单元周期发送的增量包序号消息,同时判断此序号是否与最近一次收到的增量包序号相等,如果不相等,需要向主交叉单元发送一个请求全量交叉时隙配置数据包的消息,否则,继续下一步:
[0062] S323:从交叉单元一旦收到全量交叉时隙配置数据的消息,将收到的交叉数据配置到交叉芯片,同时,更新最近一次收到的增量包序号为此全量包附带的增量包序号。
[0063] 在该实施例中步骤S311、S312、S313的执行没有时间上的先后顺序,互不干扰;步骤S321、S322、S323的执行也没有时间上的先后顺序,互不干扰;且步骤S311、S312由主交叉单元主动发起,互为独立任务,步骤S313根据从交叉的请求执行;步骤S321、S322、S323由从交叉单元根据接收到的主交叉单元发送的同步数据消息形式来执行。
[0064] 可见,使用本实施例提供的方法,分别在主处理单元侧和从处理单元侧设置增量数据同步和全量数据同步相结合的灵活策略,在提高数据同步效率的同时保证了同步数据的正确性和可靠性,且实现简便。
[0065] 本发明上述实施例的具体步骤中分为主处理单元和从处理单元的处理,这里的主处理单元是指具有发布当前需同步的功能块数据的处理单元。从处理单元是指接收主处理单元发布的数据的处理单元,从处理单元还根据接收到的数据配置相应功能块,从处理单元可能有一个或者多个。主从处理单元的确定并不影响本发明的保护范围,本发明的方法可以应用到任何需要在多个单元之间通过发送报文的方式保持数据一致的系统中,为了清楚阐述数据同步源和数据同步目的地之间数据的交互关系而定义了主从系统以及主处理单元和从处理单元,并不用于限定本发明的保护范围。
[0066] 图4a是根据本发明实施例四提供一种同步数据的装置,该装置位于数据包发送侧,包括:
[0067] 增量数据包消息发送单元,用于检测到需同步功能块的数据变化后向其他处理单元发送包含第一增量数据包序号的增量数据包消息,且每发一次第一增量数据包使第一增量数据包序号递增或递减;
[0068] 增量数据包序号消息发送单元,用于周期性向其他处理单元发送包含第二增量数据包序号的增量数据包序号消息,所述第二增量数据包序号是第一处理单元最近一次发送的第一增量数据包序号;
[0069] 全量数据包发送单元,用于接收其他处理单元发送的请求同步全量数据的消息后根据所述消息打包对应的功能块的全量数据包并发送给请求的处理单元,所述全量数据包中包含最近一次发送的第一增量数据包序号。
[0070] 图4b是根据本发明实施例四提供一种同步数据的装置,该装置位于数据包接收侧,包括:
[0071] 增量数据包消息接收单元,用于接收其他处理单元发送的增量数据包消息,并比较接收到的第一增量数据包序号与第二处理单元保存的第三增量数据包序号是否连续,如果不连续,则向所述其他处理单元发送请求同步全量数据的消息;
[0072] 增量数据包序号消息接收单元,用于接收增量数据包序号消息,并比较接收到的第二增量数据包序号与第二处理单元保存的第三增量数据包序号是否相等,如果不相等,则向其他处理单元发送请求同步全量数据的消息;
[0073] 全量数据包接收单元,用于接收其他处理单元发送的全量数据包后,将保存的第三增量包序号更新为所述全量数据包中包含的第一增量数据包序号;
[0074] 其中,该装置中还包括功能配置单元,用于根据接收到的增量数据包或全量数据包配置对应的功能块。
[0075] 本发明实施例中所述的增量数据包序号是按照递增或递减规律排列的数字,它用于标明数据包的身份,在一个实例中该序号是连续递增的自然数,即1、2、3......;在另外一个实例中该序号是递减的整数,即100、98、96、94......;在另外一个实例中该序号是精确到毫秒的时间戳,由发送数据包的主处理单元根据自己的计时时钟确定,即12时3分56秒12毫秒、12时3分56秒15毫秒、12时3分56秒25毫秒......。
[0076] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。