一种数据管理系统及方法

文档序号:6634950阅读:181来源:国知局
专利名称:一种数据管理系统及方法
技术领域
本发明涉及数据管理技术,特别涉及分布式数据管理系统和分布式数据管理系统的数据核查与数据同步方法。
背景技术
当前的通信设备常采用的分布式数据管理系统,包括多个用于执行应用任务的前管理系统(FAM)和一个面向用户的后管理系统(BAM)。BAM对多个FAM的运行数据进行集中存储和管理,各个FAM仅存储和管理自身的运行数据以及运行数据的备份数据,FAM重新启动时以备份数据作为自身初始运行数据。当BAM收到用户发出的针对某一FAM比如FAM1的数据修改指令时,BAM根据数据修改指令实时修改自身存储的FAM1运行数据,并通知FAM1实时修改其运行数据,以保证BAM中存储的FAM1运行数据和FAM1自身存储的运行数据恒为一致,以保证正常的用户操作。但BAM中备份数据并非实时修改,故必然存在BAM中备份数据与运行数据不一致的时间段,在此期间如果FAM1重新启动将以备份数据作为初始运行数据,则会由于FAM1的初始运行数据与BAM中FAM1运行数据不一致而导致用户操作异常。为了保证BAM中备份数据与BAM中FAM1运行数据一致,需要对两者进行同步。
图1是现有技术的分布式数据管理系统的结构图,图1中以BAM和多个FAM中的某一FAM比如FAM1为例。现有技术的分布式数据管理系统包括FAM1 101和BAM 102。
其中,FAM1 101包括用于实现FAM1 101的各种应用功能的应用模块110;用于对内存数据区115中的运行数据和备份数据区116中的备份数据进行管理的数据管理模块113,包括数据修改单元177、数据核查单元178、数据同步单元179及一致性标志F 170;用于实现FAM1 101的远程功能的通信模块114,其能够保证FAM1 101和BAM 102之间的正常通信;存储FAM1 101的运行数据的内存数据区115及存储FAM1 101的备份数据的备份数据区116,内存数据区115和备份数据区116的数据记录的组成和排列顺序完全相同。BAM102包括用于提供人机界面的人机交互模块120,其供用户对数据进行修改和维护,用户发出的数据修改指令通过人机交互模块120到达数据管理模块123;用于对数据区125中存储的数据进行管理的数据管理模块123,包括数据修改单元167、数据核查单元168及数据同步单元169;用于实现BAM 102的远程功能的通信模块124,其能够保证BAM 102和FAM1 101之间的正常通信;存储多个FAM的运行数据的数据区125,数据区125包括存储FAM1运行数据的FAM1_B数据区152,FAM1_B数据区152与内存数据区115和备份数据区116的组成和排列顺序完全相同。
数据管理模块113和数据管理模块123之间通过通信模块114和通信模块124进行交互操作,比如用于数据修改的数据修改单元177和数据修改单元167在数据修改过程中的交互;用于数据核查的数据核查单元178和数据核查单元168在数据核查过程中的交互;用于数据同步的数据同步单元179和数据同步单元169在数据同步过程中的交互。下文中提到的有关上述模块之间的交互操作,都表示是通过通信模块114和通信模块124进行的。
具体来说,数据管理模块113包括数据修改单元177、数据核查单元178、数据同步单元179及一致性标志F 170。其中,一致性标志F 170用于表征备份数据区116中的备份数据与FAM1_B数据区152中的运行数据是否相同,F取值为1或0,本发明中F=1表示数据相同,F=0表示数据不相同,数据同步单元179可以读写一致性标志F 170,数据核查单元178可以写一致性标志F170;数据修改单元177用于数据修改操作,能够接收来自数据修改单元167的包括修改的数据记录的数据修改消息,并将修改的数据记录写入内存数据区115;数据核查单元178用于数据核查操作,能够接收来自数据核查单元168的包括核查数据Check_B的数据核查指令,以及从备份数据区116读取核查数据Check_F,并比较Check_B和Check_F是否相同,如果两者相同,则数据核查单元178将一致性标志F 170置1,如果两者不同,则数据核查单元178将一致性标志F 170置0;数据同步单元179用于数据同步操作,能够读取一致性标志F 170,并判断F是否等于0,如果F不等于0,则说明备份数据区116与FAM1_B数据区152的数据相同,则数据同步单元179不执行数据同步操作,如果F等于0,则说明备份数据区116与FAM1_B数据区152的数据不相同,则数据同步单元179执行数据同步操作向数据同步单元169发送数据同步指令,接收来自数据同步单元169的同步数据Syn_B,数据同步单元179将同步数据Syn_B写入备份数据区116,并将一致性标志F 170置1。
内存数据区115存储FAM1 101的运行数据,包括多个按照一定顺序排列的数据记录,当用户发出数据修改指令时,内部存储区115中存储的相应运行数据会实时修改,掉电后内部存储区115存储的运行数据丢失;备份数据区116存储FAM1 101的备份数据,包括多个按照一定顺序排列的数据记录,当用户发出数据修改指令时,备份数据区116中存储的相应备份数据不会实时修改,掉电后备份数据区116中存储的备份数据不丢失,FAM1 101重启时,内存数据区115从备份数据区116中复制备份数据作为初始运行数据。
具体来说,数据管理模块123包括数据修改单元167、数据核查单元168及数据同步单元169。其中,数据修改单元167用于数据修改操作,能够通过人机交互模块120接收来自用户的数据修改指令并将修改的数据记录写入FAM1_B数据区152;数据核查单元168用于数据核查操作,能够从FAM1_B数据区152读取核查数据Check_B,并发送包括核查数据Check_B的数据核查消息至数据核查单元178;数据同步单元169用于数据同步操作,能够接收来自数据同步单元179的数据同步请求,从FAM1_B数据区152读取同步数据Syn_B,并将同步数据Syn_B发送至数据同步单元179。
图2是现有技术的数据修改流程图,现有技术的数据修改流程包括以下步骤步骤201~203数据修改单元167通过人机交互模块120收到来自用户的数据修改指令;数据修改单元167将修改的数据记录写入FAM1_B数据区152,向数据修改单元177发送包括修改的数据记录的数据修改消息;数据修改单元177将修改的数据记录写入内存数据区115,结束本流程。
图3是现有技术的数据核查流程图,现有技术的数据核查流程包括以下步骤步骤301~307数据核查单元168向FAM1_B数据区152发送取核查数据指令;数据核查单元168从FAM1_B数据区152读取核查数据Check_B,Check_B包括FAM1_B数据区152所有的数据记录;数据核查单元168向数据核查单元178发送包括核查数据Check_B的数据核查消息;数据核查单元178向备份数据区116发送取核查数据指令;数据核查单元178从备份数据区116读取核查数据Check_F,Check_F包括备份数据区116所有的数据记录;数据核查单元178逐一比较Check_B和Check_F中所有的数据记录,根据比较结果,设置一致性标志F 170,如果Check_B和Check_F不相同,则数据核查单元178将一致性标志F 170置0,结束本流程,如果Check_B和Check_F相同,则数据核查单元178将一致性标志F 170置1,结束本流程,图3中以Check_B和Check_F不相同的情况为例。
图4是现有技术的数据同步流程图,现有技术的数据同步流程包括以下步骤步骤401数据同步单元179读取一致性标志F 170并判断F是否等于0,如果F=0,则执行步骤402及其后续步骤,否则,结束本流程,图4中以F=0的情况为例;步骤402~407数据同步单元179向数据同步单元169发送数据同步请求;数据同步单元169向FAM1_B数据区152发送取同步数据指令;数据同步单元169从FAM1_B数据区152读取同步数据Syn_B,Syn_B包括FAM1_B数据区所有的数据记录;数据同步单元169向数据同步单元179发送同步数据Syn_B;数据同步单元179向备份数据区116写入同步数据Syn_B,同步数据Syn_B覆盖了备份数据区116所有的原有数据记录;数据同步单元179将一致性标志F170置1,结束本流程。
常见的,在采用现有技术的数据管理系统中,数据修改时机由外部用户发出数据修改指令的时机确定,数据核查时机是周期性的,数据同步时机可以是周期性的,例如每天凌晨业务量最低的时间;或者,周期性与空闲检测结合的,例如设定一个1小时的同步周期,若周期到时FAM1负载低于某个门限则进行同步,否则等待下个周期再进行,以保证数据同步不会影响到系统正常业务;或者,人工下发的,用户随时都可以下发数据同步指令进行同步,以适应例如系统升级等特殊应用场景。
实际应用中,采用现有技术的数据管理系统,其数据修改、数据核查和数据同步的时机选择是完全独立的。当数据管理系统完成数据同步操作之后,BAM中FAM1运行数据与BAM中备份数据达到一致,设置FAM1中的一致性标志F=1,此后进行的首次数据修改操作将使得BAM中FAM1运行数据与BAM中备份数据不一致,而现有技术的周期性数据核查时机不能保证在首次数据修改操作结束后立即执行数据核查操作,也就是说不能保证在首次数据修改后马上将FAM1中的F置0,则在从首次数据修改操作结束到之后的首次数据核查操作结束的时间段T内,既便数据同步时机到达,仍可能会由于F=1而导致数据同步操作不能进行,结果使BAM中FAM1运行数据与BAM中备份数据失去同步机会而保持不一致的状态。在时间段T内,如果FAM1重新启动,FAM1将以与BAM中FAM1运行数据不一致的备份数据作为初始运行数据,从而导致用户操作异常。

发明内容
有鉴于此,本发明的目的在于提供一种数据管理系统,能够在首次数据修改操作之后,立即修改一致性标志,从而及时标识BAM中FAM运行数据与FAM中备份数据是否一致。
本发明的目的还在于提供一种数据管理方法,能够在首次数据修改操作之后,立即修改一致性标志,从而及时标识BAM中FAM运行数据与FAM中备份数据是否一致。
根据上述目的的一个方面,本发明提供了两种数据管理系统。
本发明的一种数据管理系统,包括面向用户的后管理系统BAM和至少一个执行应用任务的前管理系统FAM,每个FAM包括执行各种应用功能的应用模块、与BAM进行通信的通信模块、存储运行数据和备份数据的内存数据区和备份数据区以及对存储数据进行管理的数据管理模块,其中,数据管理模块进一步包括用于修改数据的数据修改单元、用于核查数据的数据核查单元、用于同步数据的数据同步单元和用于确定运行数据与备份数据是否一致的一致性标志(170);BAM包括接收并执行用户指令的人机交互模块、与FAM进行通信的通信模块、存储FAM运行数据的FAM数据区以及对数据区中存储数据进行管理的数据管理模块;所述BAM侧的数据管理模块包括一致性标志(501),用于确定BAM侧数据与FAM侧运行数据是否一致;数据修改单元,用于接收用户指令修改数据并将修改后的数据写入FAM数据区,通知FAM侧的数据修改单元修改其运行数据,设置BAM侧的一致性标志(501)为数据不一致,并向本侧的数据核查单元发送核查指令;数据核查单元,接收本侧数据修改单元的核查指令,从FAM数据区读取核查数据并向FAM侧数据核查单元发送包括核查数据的核查消息;数据同步单元,用于接收FAM侧数据同步单元的数据同步请求,从FAM数据区读取同步数据发送给FAM侧数据同步单元,设置本侧的一致性标志(501)为数据一致。
本发明的另一种数据管理系统,包括面向用户的后管理系统BAM和至少一个执行应用任务的前管理系统FAM,每个FAM包括执行各种应用功能的应用模块、与BAM进行通信的通信模块、存储运行数据和备份数据的内存数据区和备份数据区以及对存储数据进行管理的数据管理模块;BAM包括接收并执行用户指令的人机交互模块、与FAM进行通信的通信模块、存储FAM运行数据的FAM数据区以及对数据区中存储数据进行管理的数据管理模块;所述BAM侧的数据管理模块包括
一致性标志(501),用于确定BAM侧数据与FAM侧运行数据是否一致;数据修改单元,用于接收用户指令修改数据并将修改后的数据写入FAM数据区,通知FAM侧的数据修改单元修改数据,设置本侧的一致性标志(501)为数据不一致,并向FAM侧数据修改单元发送设置FAM侧一致性标志(170)为数据不一致的指令;数据同步单元,用于接收FAM侧数据同步单元的数据同步请求,从FAM数据区读取同步数据发送给FAM侧数据同步单元,设置本侧的一致性标志(501)为数据一致;所述FAM侧的数据管理模块包括一致性标志(170),用于确定本侧的运行数据与备份数据是否一致;数据修改单元,根据接收的BAM侧修改数据通知修改数据,并将修改后的数据写入内存数据区,并根据BAM侧的设置指令设置本侧一致性标志(170)为数据不一致;数据同步单元,用于根据本侧的一致性标志(170)请求BAM侧数据同步单元进行数据同步,并将BAM侧数据同步单元发来的同步数据写入备份数据区,设置本侧的一致性标志(170)为数据一致。
根据上述目的的另一个方面,本发明提供了一种数据管理方法,适用于包括面向用户的后管理系统BAM和至少一个执行应用任务的前管理系统FAM的系统中,在FAM中设置表示自身的运行数据与备份数据是否一致的一致性标志F,在BAM中设置表示BAM中数据与FAM中运行数据是否一致的一致性标志B,该方法还包括数据修改和核查以及数据同步两个并行流程,其中,数据修改和核查流程包括a1.BAM收到数据修改指令后,修改自身的FAM数据,并通知FAM修改相应数据,FAM根据通知修改自身的运行数据;b1.BAM设置自身的一致性标志B为数据不一致,并通知FAM设置FAM中的一致性标志F为数据不一致;数据同步流程包括
a2.FAM根据自身的一致性标志F向BAM发起数据同步请求;b2.BAM从自身的数据存储区中读取同步数据发送给FAM,并设置自身的一致性标志B为数据一致;c2.FAM接收BAM发来的数据,并用接收到的数据更新自身的备份数据,之后设置自身的一致性标志F为数据一致。
其中,步骤b1中BAM设置一致性标志B之前进一步包括判断当前的一致性标志B是否为数据不一致,如果不是,则设置一致性标志B为数据不一致;否则,不作处理。
其中,步骤b1中所述通知FAM设置FAM中的一致性标志F为数据不一致具体为BAM向FAM发送设置指令,FAM根据收到的指令设置自身的一致性标志F为数据不一致。
其中,步骤b1中所述通知FAM设置FAM中的一致性标志F为数据不一致具体包括b11.BAM从自身的数据存储区中读取要核查的数据,然后将读取的核查数据发送给FAM;b12.FAM读取自身与要核查数据对应的备份数据,比较确定读取的备份数据与收到的核查数据不一致后,FAM设置自身的一致性标志F为数据不一致。
其中,步骤b11中BAM读取要核查的数据后进一步包括计算要核查数据的校验值,然后将校验值作为要核查数据发送给FAM;则步骤b12中FAM读取自身备份数据后进一步包括计算备份数据的校验值,然后比较计算出的备份数据的校验值和收到的要核查数据的校验值。
其中,所述计算校验值的方法为将所有数据按位异或。
其中,步骤b2中BAM从自身数据存储区读取同步数据后进一步包括将同步数据进行压缩,然后将压缩后的数据发送给FAM;则步骤c2中FAM接收到BAM发来的数据后进一步包括将接收到的数据进行解压缩,然后用解压缩后的数据更新自身的备份数据。
可见,本发明提供的数据管理系统和方法,通过在BAM中设置一致性标志B,当数据管理系统完成数据同步操作之后,BAM中FAM1运行数据与BAM中备份数据达到一致,设置一致性标志B=1,F=1,此后进行数据修改操作前先判断当前B是否等于1,当B=1说明本次数据修改是首次数据修改操作,则BAM在完成首次数据修改操作后,立即通知FAM1将一致性标志F置0,此后数据同步时机到达时,会由于已设置F=0而立即执行数据同步操作,使BAM中FAM1运行数据与BAM中备份数据重新达到一致状态,不存在现有技术中所述尽管BAM中FAM1运行数据与FAM1备份数据不一致,但数据同步时机到达时却仍可能无法进行数据同步操作的时间段T,也就不会有因存在这一时间段而可能带来的用户操作异常。
另外,本发明提供的数据管理系统和方法可以采用校验值作为核查数据,执行数据核查操作时BAM发送校验值给FAM1,FAM1比较来自BAM的校验值和自身的校验值是否相同,常见的,该校验值是32bit的,而通常现有技术中所比较的多项数据记录中的一项数据记录的长度即是超过32bit的,故大大减少了BAM和FAM1间传输的核查数据量,且比较的效率很高。
还有,本发明提供的数据管理系统和方法可采用压缩后的同步数据进行数据同步,执行数据同步操作时BAM将压缩后的同步数据发送给FAM1,FAM1对压缩后的同步数据进行解压缩得到原来的同步数据而后覆盖备份数据区,大大减少了BAM和FAM1间传输的同步数据量。


图1是现有技术的分布式数据管理系统的结构图;图2是现有技术的数据修改流程图;图3是现有技术的数据核查流程图;图4是现有技术的数据同步流程图;图5是本发明实施例一的分布式数据管理系统的结构图;图6是本发明实施例一的数据修改和核查流程图;图7是本发明实施例一的数据同步流程图;
图8是本发明实施例二的分布式数据管理系统的结构图;图9是本发明实施例二的数据修改流程图;图10是本发明实施例二的数据同步流程图。
具体实施例方式
本发明的核心思想是执行首次数据修改操作后,立即修改一致性标志,使之能够标识当前BAM中FAM1运行数据与BAM中备份数据不一致的状况。
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例,并参照附图,对本发明进一步详细说明。
实施例一本实施例中,BAM的数据修改单元执行首次数据修改操作后,立即通知BAM的数据核查单元进行数据核查,由FAM1中的数据核查单元根据核查结果实时修改一致性标志F,使一致性标志F能够标识当前BAM中FAM1运行数据与BAM中备份数据不一致的状况。
图5是本发明实施例一的分布式数据管理系统的结构图,图5中以BAM和多个FAM中的某一FAM比如FAM1为例。本实施例的分布式数据管理系统包括FAM1 101和BAM 102。
其中,FAM1 101包括应用模块110、数据管理模块113、通信模块114、内存数据区115及备份数据区116,数据管理模块113包括数据修改单元177、数据核查单元178、数据同步单元179及一致性标志F 170。BAM 102包括人机交互模块120、数据管理模块123、通信模块124、包括存储FAM1运行数据的FAM1_B数据区152的数据区125,数据管理模块123包括数据修改单元167、数据核查单元168、数据同步单元169及一致性标志B 501。
具体来说,一致性标志B 501用于表征备份数据区116中的备份数据与FAM1_B数据区152中的运行数据是否相同,B取值为1或0,本实施例中B=1表示数据相同,B=0表示数据不相同,数据修改单元167能够读写一致性标志B 501,数据同步单元169能够写一致性标志B 501。数据修改单元167还能够发送核查指令通知数据核查单元168执行数据核查操作。
图6是本发明实施例一的数据修改和核查流程图,本实施例的数据修改和核查流程包括以下步骤步骤601~603数据修改单元167通过人机交互模块120收到来自用户的数据修改指令;数据修改单元167将修改的数据记录写入FAM1_B数据区152,向数据修改单元177发送包括修改的数据记录的数据修改消息;数据修改单元177将修改的数据记录写入内存数据区115;在数据修改单元177执行步骤603的同时,数据修改单元167并行执行步骤603′读取一致性标志B 501,并判断B是否等于1,如果B=1,则执行步骤604及其后续步骤,否则,结束本流程,图6中以B=1的情况为例;步骤604~612数据修改单元167将一致性标志B 501置0;数据修改单元167向数据核查单元168发送核查指令;数据核查单元168收到核查指令后向FAM1_B数据区152发送取核查数据通知;数据核查单元168从FAM1_B数据区152读取核查数据Check_B,Check_B包括FAM1_B数据区152所有的数据记录;数据核查单元168向数据核查单元178发送包括核查数据Check_B的数据核查消息;数据核查单元178向备份数据区116发送取核查数据指令;数据核查单元178从备份数据区116读取核查数据Check_F,Check_F包括备份数据区116所有的数据记录;数据核查单元178逐一比较Check_B和Check_F中所有的数据记录,根据比较结果,设置一致性标志F 170,如果Check_B和Check_F不相同,则数据核查单元178将一致性标志F 170置0,结束本流程,否则,数据核查单元178将一致性标志F 170置1,结束本流程,图6中以Check_B和Check_F不相同的情况为例。
本实施例的步骤607和608之间可以增加步骤607′,数据核查单元168对Check_B的所有数据记录按位进行异或操作计算得到一个校验值Check_B_D,常见的,该校验值是32bit的;相应的,步骤610和611之间应增加步骤610′,数据核查单元178对Check_F的所有数据记录按位进行异或操作计算得到一个校验值Check_F_D,常见的,该校验值是32bit的;相应的,所述步骤608为数据核查单元168向数据核查单元178发送包括校验值Check_B_D的数据核查消息;相应的,所述步骤611为数据核查单元178比较校验值Check_B_D和校验值Check_F_D是否相同,根据比较结果,设置一致性标志F 170,如果Check_B_D和Check_F_D不相同,则数据核查单元178将一致性标志F 170置0,结束本流程,否则,数据核查单元178将一致性标志F 170置1,结束本流程。
图7是本发明实施例一的数据同步流程图,本实施例的数据同步流程包括以下步骤步骤701数据同步单元179读取一致性标志F 170并判断F是否等于0,如果F=0,则执行步骤702及其后续步骤,否则,结束本流程,图7中以F=0的情况为例;步骤702~708数据同步单元179向数据同步单元169发送数据同步请求;数据同步单元169向FAM1_B数据区152发送取同步数据指令;数据同步单元169从FAM1_B数据区152读取同步数据Syn_B,Syn_B包括FAM1_B数据区所有的数据记录;数据同步单元169将一致性标志B 501置1;数据同步单元169向数据同步单元179发送同步数据Syn_B;数据同步单元179向备份数据区116写入同步数据Syn_B,同步数据Syn_B覆盖了备份数据区116所有的原有数据记录;数据同步单元179将一致性标志F 170置1。
本实施例的步骤705和706之间可以增加步骤705′,数据同步单元169对同步数据SynB进行压缩得到压缩后的同步数据Syn_B_K;相应的,所述步骤706为数据同步单元169向数据同步单元179发送压缩后的同步数据Syn_B_K;相应的步骤706和707之间应增加步骤706′,数据同步单元179对压缩后的同步数据Syn_B_K进行解压缩,得到原始的同步数据Syn_B。
实施例二本实施例中,BAM的数据修改单元执行首次数据修改操作后,立即通知FAM1中的数据修改单元实时修改一致性标志F,使一致性标志F能够标识当前BAM中FAM1运行数据与BAM中备份数据不一致的状况。
图8是本发明实施例二的分布式数据管理系统的结构图,图8中以BAM和多个FAM中的某一FAM比如FAM1为例。本实施例的分布式数据管理系统包括FAM1 101和BAM 102。
其中,FAM1 101包括应用模块110、数据管理模块113、通信模块114、内存数据区115及备份数据区116,数据管理模块113包括数据修改单元177、数据同步单元179及一致性标志F 170。BAM 102包括人机交互模块120、数据管理模块123、通信模块124、数据区125,数据管理模块123包括数据修改单元167、数据同步单元169及一致性标志B 501。
具体来说,数据同步单元179能够读写一致性标志F 170,数据修改单元177能够写一致性标志F 170,数据修改单元167能够读写一致性标志B 501,数据同步单元169能够写一致性标志B 501。本实施例与实施例一的区别还在于,数据修改单元167还能够发送写一致性标志F 170的通知给数据修改单元177,由其对一致性标志F 170进行设置。
图9是本发明实施例二的数据修改流程图,本实施例的数据修改流程包括以下步骤步骤901~903数据修改单元167通过人机交互模块120收到来自用户的数据修改指令;数据修改单元167将修改的数据记录写入FAM1_B数据区152,向数据修改单元177发送包括修改的数据记录的数据修改消息;数据修改单元177将修改的数据记录写入内存数据区115;在数据修改单元177执行步骤903的同时,数据修改单元167并行执行步骤903′读取一致性标志B 501,并判断B是否等于1,如果B=1,则执行步骤904及其后续步骤,否则,结束本流程,图9中以B=1的情况为例;步骤904~906数据修改单元167将一致性标志B 501置0;数据修改单元167向数据修改单元177发送将一致性标志F 170置0的指令;数据修改单元177将一致性标志F 170置0。
图10是本发明实施例二的数据同步流程图,本实施例的数据同步流程包括以下步骤步骤1001数据同步单元179读取一致性标志F 170并判断F是否等于0,如果F=0,则执行步骤1002及其后续步骤,否则,结束本流程,图10中以F=0的情况为例;步骤1002~1008数据同步单元179向数据同步单元169发送数据同步请求;数据同步单元169向FAM1_B数据区152发送取同步数据指令;数据同步单元169从FAM1_B数据区152读取同步数据Syn_B,Syn_B包括FAM1_B数据区152所有的数据记录;数据同步单元169将一致性标志B 501置1;数据同步单元169向数据同步单元179发送同步数据Syn_B;数据同步单元179向备份数据区116写入同步数据Syn_B,同步数据Syn_B覆盖了备份数据区116所有的原有数据记录;数据同步单元179将一致性标志F 170置1。
本实施例的步骤1005和1006之间可以增加步骤1005′,数据同步单元169对同步数据Syn_B进行压缩得到压缩后的同步数据Syn_B_K;相应的,所述步骤1006为数据同步单元169向数据同步单元179发送压缩后的同步数据Syn_B_K;相应的,步骤1006和1007之间应增加步骤1006′,数据同步单元179对压缩后的同步数据Syn_B_K进行解压缩,得到原始的同步数据Syn_B。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种数据管理系统,包括面向用户的后管理系统BAM和至少一个执行应用任务的前管理系统FAM,每个FAM包括执行各种应用功能的应用模块、与BAM进行通信的通信模块、存储运行数据和备份数据的内存数据区和备份数据区以及对存储数据进行管理的数据管理模块,其中,数据管理模块进一步包括用于修改数据的数据修改单元、用于核查数据的数据核查单元、用于同步数据的数据同步单元和用于确定运行数据与备份数据是否一致的一致性标志(170);BAM包括接收并执行用户指令的人机交互模块、与FAM进行通信的通信模块、存储FAM运行数据的FAM数据区以及对数据区中存储数据进行管理的数据管理模块;其特征在于,所述BAM侧的数据管理模块包括一致性标志(501),用于确定BAM侧数据与FAM侧运行数据是否一致;数据修改单元,用于接收用户指令修改数据并将修改后的数据写入FAM数据区,通知FAM侧的数据修改单元修改其运行数据,设置BAM侧的一致性标志(501)为数据不一致,并向本侧的数据核查单元发送核查指令;数据核查单元,接收本侧数据修改单元的核查指令,从FAM数据区读取核查数据并向FAM侧数据核查单元发送包括核查数据的核查消息;数据同步单元,用于接收FAM侧数据同步单元的数据同步请求,从FAM数据区读取同步数据发送给FAM侧数据同步单元,设置本侧的一致性标志(501)为数据一致。
2.一种数据管理系统,包括面向用户的后管理系统BAM和至少一个执行应用任务的前管理系统FAM,每个FAM包括执行各种应用功能的应用模块、与BAM进行通信的通信模块、存储运行数据和备份数据的内存数据区和备份数据区以及对存储数据进行管理的数据管理模块;BAM包括接收并执行用户指令的人机交互模块、与FAM进行通信的通信模块、存储FAM运行数据的FAM数据区以及对数据区中存储数据进行管理的数据管理模块;其特征在于,所述BAM侧的数据管理模块包括一致性标志(501),用于确定BAM侧数据与FAM侧运行数据是否一致;数据修改单元,用于接收用户指令修改数据并将修改后的数据写入FAM数据区,通知FAM侧的数据修改单元修改数据,设置本侧的一致性标志(501)为数据不一致,并向FAM侧数据修改单元发送设置FAM侧一致性标志(170)为数据不一致的指令;数据同步单元,用于接收FAM侧数据同步单元的数据同步请求,从FAM数据区读取同步数据发送给FAM侧数据同步单元,设置本侧的一致性标志(501)为数据一致;所述FAM侧的数据管理模块包括一致性标志(170),用于确定本侧的运行数据与备份数据是否一致;数据修改单元,根据接收的BAM侧修改数据通知修改数据,并将修改后的数据写入内存数据区,并根据BAM侧的设置指令设置本侧一致性标志(170)为数据不一致;数据同步单元,用于根据本侧的一致性标志(170)请求BAM侧数据同步单元进行数据同步,并将BAM侧数据同步单元发来的同步数据写入备份数据区,设置本侧的一致性标志(170)为数据一致。
3.一种数据管理方法,适用于包括面向用户的后管理系统BAM和至少一个执行应用任务的前管理系统FAM的系统中,在FAM中设置表示自身的运行数据与备份数据是否一致的一致性标志F,其特征在于,在BAM中设置表示BAM中数据与FAM中运行数据是否一致的一致性标志B,该方法还包括数据修改和核查以及数据同步两个并行流程,其中,数据修改和核查流程包括a1.BAM收到数据修改指令后,修改自身的FAM数据,并通知FAM修改相应数据,FAM根据通知修改自身的运行数据;b1.BAM设置自身的一致性标志B为数据不一致,并通知FAM设置FAM中的一致性标志F为数据不一致;数据同步流程包括a2.FAM根据自身的一致性标志F向BAM发起数据同步请求;b2.BAM从自身的数据存储区中读取同步数据发送给FAM,并设置自身的一致性标志B为数据一致;c2.FAM接收BAM发来的数据,并用接收到的数据更新自身的备份数据,之后设置自身的一致性标志F为数据一致。
4.根据权利要求3所述的方法,其特征在于,步骤b1中BAM设置一致性标志B之前进一步包括判断当前的一致性标志B是否为数据不一致,如果不是,则设置一致性标志B为数据不一致;否则,不作处理。
5.根据权利要求3所述的方法,其特征在于,步骤b1中所述通知FAM设置FAM中的一致性标志F为数据不一致具体为BAM向FAM发送设置指令,FAM根据收到的指令设置自身的一致性标志F为数据不一致。
6.根据权利要求3所述的方法,其特征在于,步骤b1中所述通知FAM设置FAM中的一致性标志F为数据不一致具体包括b11.BAM从自身的数据存储区中读取要核查的数据,然后将读取的核查数据发送给FAM;b12.FAM读取自身与要核查数据对应的备份数据,比较确定读取的备份数据与收到的核查数据不一致后,FAM设置自身的一致性标志F为数据不一致。
7.根据权利要求6所述的方法,其特征在于,步骤b11中BAM读取要核查的数据后进一步包括计算要核查数据的校验值,然后将校验值作为要核查数据发送给FAM;则步骤b12中FAM读取自身备份数据后进一步包括计算备份数据的校验值,然后比较计算出的备份数据的校验值和收到的要核查数据的校验值。
8.根据权利要求7所述的方法,其特征在于,所述计算校验值的方法为将所有数据按位异或。
9.根据权利要求3所述的方法,其特征在于,步骤b2中BAM从自身数据存储区读取同步数据后进一步包括将同步数据进行压缩,然后将压缩后的数据发送给FAM;则步骤c2中FAM接收到BAM发来的数据后进一步包括将接收到的数据进行解压缩,然后用解压缩后的数据更新自身的备份数据。
全文摘要
本发明公开了一种数据管理系统,通过在BAM中设置一致性标志,当数据管理系统完成数据同步操作之后,BAM中FAM运行数据与BAM中备份数据达到一致,设置一致性标志为一致,在此之后发生首次数据修改时,立即设置一致性标志为不一致。本发明还提供了一种数据管理方法。本发明提供的数据管理系统和方法能够在首次数据修改操作之后,及时标识BAM中FAM运行数据与FAM中备份数据不一致的状况。
文档编号G06F11/14GK1851658SQ200510089130
公开日2006年10月25日 申请日期2005年8月2日 优先权日2005年8月2日
发明者吴亚晴 申请人:上海华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1