用于内存数据库内容变化实时通知业务的处理装置的制作方法

文档序号:7973753阅读:129来源:国知局
专利名称:用于内存数据库内容变化实时通知业务的处理装置的制作方法
技术领域
本发明涉及通信领域,更具体而言,涉及一种用于内存4ft据库 内容变化实时通知业务的处理装置。
背景技术
实时内存数据库将数据对象存储在内存中,所有的数据访问及 操作都在内存中完成,所以大大提高了系统的性能,因此在通信、 控制等领域已被广泛使用。实时内存数据库的功能主要体现在两个 方面 一是为业务提供数据配置信息,保证业务的正常运行;另一 个是相关数据配置变化后实时通知业务进行更新(即凄t据触发), 保证业务与数据的 一致性。
数据触发是指在配置修改同步到内存数据库后,内存数据库 进行同步前后的数据比较,当发现业务关心的内容变化后,实时通 知业务更新的过程。数据触发的类型分为三种,单表记录级内容变 化触发、单表表级变化触发及多表关联触发。
目前一般系统中内存数据库内容变化实时通知业务的处理方 法有两种 一种是建立主、备两套内存表数据区,正常运行时业务 使用主内存表数据区中数据,数据同步时首先写到备内存表数据区 中,待全部同步完成后,进4亍主备内存表数据区切换,此时进行主 备内存表数据区比较来完成三种数据触发过程。然而,这种方法占用内存比较大,随着数据库表内容的增加,内存就会成倍增加,而 且对于同步过程的效率比较〗氐,实现流程及控制比较复杂。
另一种方法只有一个内存表数据区,对于单表相关触发使用在 数据同步过程中边比较边加栽的方法完成数据触发过程,对于有多 个表关联触发需要考虑申请一个临时数据区来保存同步前数据,在 相关表加载完成后统一处理来通知业务变化消息。然而,这种方法 也存在缺陷,消息处理的顺序以内存表的加栽顺序为准,不易于控 制,设计时还需要考虑多个内存表的关系及加栽顺序,多内存表间 的关联不易于处理,有些触发难以实现。
因此,人们需要一种内存数据库内容变化实时通知业务的装 置,以解决上述相关技术中的问题。

发明内容
本发明的目的就是提出 一 种既能节省内存空间,又能全面的考 虑各种情况下的数据触发的通用装置。
为实现上述目的,本发明提供了一种内存数据库内容变化实时
通知业务的处理装置,包括备份表创建模块,用于在内存数据库 中建立备份表,将内存数据库的内存表数据库的关联关系表中或单 表记录中业务关心的内容加载到备份表中;遍历模块,用于遍历消
息注册区,查询注册到消息注册区的消息相关的表本次同步有没有
变化;触发模块,用于如没有变化则继续遍历,否则根据消息类型 执行来相应地利用备份表触发实时通知业务,并相应地更新备份表。
根据本发明,备份表创建模块还包括第一子加载模块,用于 使单表记录级变化通知类型直接从内存表中取得相应的信息加载 到备份表中;以及第二子加载模块,用于使多表关联变化通知类型
根据关键字从多表中获取业务关心的数据组织为 一条记录加栽到 备份表中。
根据本发明,该装置还包括保存禁止模块,用于将内存数据 库的内存表数据库的关联关系表中或单表记录中业务关心的内容 保存于备份表中后,禁止再次同步及软倒换;以及更新恢复模块, 用于根据消息类型执行来相应地利用备份表触发实时通知业务,并 相应地更新备份表之后,恢复同步及软倒换。
根据本发明的实施例,通过对备份表设置禁止再次同步及软倒 换标志来禁止再次同步及软倒换;以及通过对备份表设置恢复同步 及软倒换标志来恢复同步及软倒换。
并且,在消息注册区中按照消息触发顺序登记具体消息与相关 的表关系。
此外,根据本发明,触发模块还用于如果消息类型是单表记 录级变化通知类型,则从内存表中获取相关信息与备份表中相应记 录比较来触发实时通知业务,并完成备份表的更新过程;如果消息 类型是单表级变化通知类型,直接根据注册区中的消息名来触发实 时通知业务;如果消息类型是多表关联变化通知类型,则从多个关 联表取出信息与备份表中相应记录比较来触发实时通知业务,并完 成备份表的更新过程。
根据本发明,该装置还包括数据更新模块,用于在业务收到内 存数据库发送的触发消息的情况下,直接更新数据或通过接口获取 相关的凄t据来完成业务与内存数据库中凄丈据一致的操作。
通过上述技术方案,本发明实现了如下技术效果
本发明既能节省内存空间、提高效率,又能全面的考虑各种情 况下的数据触发过程及控制消息的发送顺序,还将同步过程中的数 据加载与数据触发完全独立,使数据触发的架构清晰,便于扩展。
本发明的其它特征和优点将在随后的i兌明书中阐述,并且,部 分地从说明书中变得显而易见,或者通过实施本发明而了解。本发 明的目的和其他优点可通过在所写的说明书、权利要求书、以及附 图中所特别指出的结构来实现和获得。


此处所i兌明的附图用来提供对本发明的进一步理解,构成本申 请的一部分,本发明的示意性实施例及其说明用于解释本发明,并 不构成对本发明的不当限定。在附图中
图1示出了才艮据本发明实施例的内存凄丈据库内容变化实时通知 业务的处理方法的流程图2示出了才艮据本发明实施例的内存数据库内容变化实时通知 业务的处理装置的方冲匡图3为根据本发明实施例的数据触发进程的状态跃迁图4为才艮据本发明实施例的数据触发进程的上电或备转主流程 图;以及
图5为根据本发明实施例的数据同步程序实现流程图。M实施方式
本发明提供了一种内存凄t据库内容变化实时通知业务的处理
方法,如囝1所示,包才舌以下步骤
步骤S102,在内存数据库中建立备份表,将内存数据库的内存 表数据库的关联关系表中或单表记录中业务关心的内容加载到备 份表中,可在系统上电时建立备份表。
步骤S102可包括以下步骤对于单表记录级变化通知类型直 接从内存表中取得相应的信息加载到备份表中;多表关联变化通知 类型根据关键字从多表中获取业务关心的数据组织为一条记录加 载到备份表中。
步骤S104,遍历消息注册区,查询注册到消息注册区的消息相 关的表本次同步有没有变化。
可在消息注册区中按照消息触发顺序登记具体消息与相关的 表关系。
步骤S106,如没有变化则继续遍历,否则4艮据消息类型执4亍来 相应地利用备份表触发实时通知业务,并相应地更新备份表。
步骤S106可包括以下步骤如果消息类型是单表记录级变化 通知类型,则从内存表中获取相关信息与备份表中相应记录比较来 触发实时通知业务,并完成备份表的更新过程;如果消息类型是单 表级变化通知类型,直接根据注册区中的消息名来触发实时通知业 务;如果消息类型是多表关联变化通知类型,则从多个关联表取出 信息与备份表中相应记录比较来触发实时通知业务,并完成备份表
的更新过程。
在上述的处理方法中,还可包括以下步骤将内存数据库的内 存表数据库的关联关系表中或单表记录中业务关心的内容保存于 备份表中后,禁止再次同步及软倒换;以及根据消息类型执行来相 应地利用备份表触发实时通知业务,并相应地更新备份表之后,恢 复同步及软倒换。
可通过对备份表设置禁止再次同步及软倒换标志来禁止再次 同步及软倒换;以及通过对备份表设置恢复同步及软倒换标志来恢 复同步及软倒换。
在上述的处理方法中,还可包括以下步骤业务收到内存数据 库发送的触发消息,直接更新数据或通过接口获取相关的数据来完 成业务与内存凄t据库中数据一致的操作。
本发明还提供了 一种内存数据库内容变化实时通知业务的处 理装置200,包括
备份表创建才莫块202,用于在内存数据库中建立备份表,将内 存数据库的内存表数据库的关联关系表中或单表记录中业务关心 的内容加载到备份表中,其中,备份表创建模块202还包括第一 子加载模块,用于使单表记录级变化通知类型直接从内存表中取得 相应的信息加栽到备份表中;以及第二子加载模块,用于使多表关 联变化通知类型4艮据关4建字从多表中获取业务关心的凄t据组织为 一条记录加栽到备份表中;
遍历才莫块204,用于遍历消息注册区,查询注册到消息注册区 的消息相关的表本次同步有没有变化;
以及触发模块206,用于如没有变化则继续遍历,否则根据消 息类型执行来相应地利用备份表触发实时通知业务,并相应地更新 备份表,其中,触发模块206还用于如果消息类型是单表记录级变化通知类型,则从内存表中获取相关信息与备份表中相应记录比较来触发实时通知业务,并完成备份表的更新过程;如果消息类型 是单表级变化通知类型,直接根据注册区中的消息名来触发实时通 知业务;如果消息类型是多表关联变化通知类型,则从多个关联表
取出信息与备份表中相应记录比较来触发实时通知业务,并完成备 份表的更新过程。
此外,该装置200还包括保存禁止模块,用于将内存数据库 的内存表数据库的关联关系表中或单表记录中业务关心的内容保 存于备份表中后,禁止再次同步及软倒换;更新恢复模块,用于根 据消息类型执行来相应地利用备份表触发实时通知业务,并相应地 更新备份表之后,恢复同步及软倒换;以及数据更新模块,用于在 业务收到内存数据库发送的触发消息的情况下,直接更新数据或通 过接口获取相关的数据来完成业务与内存数据库中数据一致的操 作。
在上述装置中,通过对备份表设置禁止再次同步及软倒换标志 来禁止再次同步及软倒换;以及通过对备份表设置恢复同步及软倒 换标志来恢复同步及软倒换。
并且,在消息注册区中按照消息触发顺序登记具体消息与相关 的表关系。
下面来详细i兌明实时内存数据库内容变化通知业务处理包括
进程:没计、上电处理及同步实现过程。
图3是数据触发进程的状态跃迁图,表示主、备板数据库触发 进程的所有状态跃迁情况。如图3所示,主寺反上数据触发进程上电 后从初始状态跃迁到工作状态,并进行首次的所有备份表的加载工 作,这个过程不进行数据触发操作,在工作状态收到同步完成消息
后进行数据触发操作, 一旦收到主转备消息后跃迁到初始状态,就
不进行相关的数据触发处理;备板上电一直处于初始状态,不进行 相关的数据触发处理, 一旦收到备转主消息后-夭迁到工作状态,并 进行首次的所有备份表的加载工作,这个过程也不进行数据触发操 作,在工作状态收到同步完成消息后进行数据触发操作。
图4为数据触发进程的上电或备转主流程图,表示系统上电或 备板转主板时数据触发进程的处理流程。如图4所示,主、备板上 电时创建备份表,主板上电后及备板收到备转主消息时,通过遍历 消息注册区完成所有备份表加栽,对于单表级触发的注册类型不进 行任何操作,对于备份表触发的注册类型从内存表中获取单表记录 信息或关联表信息组成记录加载到备份表中,全部加载完成后再遍 历下一条消息,直到遍历完消息注册区并进行相应处理,完成主板 上电或备转主过程。
图5为数据同步程序实现流程图,表示配置变更发起同步后的 相关处理流程。如图5所示,数据触发进程收到同步完成消息后, 设置禁止同步及软倒换标志,再遍历消息注册区,如果没有消息登 记就完成数据触发过程,否则根据消息注册区中的信息,判断该消 息相关表本次同步是否变化,如果没有变化直接进行下一个消息处 理,大大提高了同步的效率,如果变化则再判断消息类型,对于单 表级通知类型直接根据消息注册区中的消息进行数据触发,对于单 表记录级或关联表级通知类型,从内存表中(从单表记录中组织或 从关联表中组织)获取一条记录与备份表中记录比较来完成相应的 数据触发过程,并完成备份表的记录更新,此表全部操作完成后再 进行下一条消息的处理,直到遍历完消息注册区完成所有的数据触 发及备份表更新过程,再恢复同步及软倒换标志。
业务收到数据库触发通知后,直接更新^t据或通过接口获取相 关的数据进行相关操作,完成本次与数据库数据的 一致性过程。
综上所述,本发明既能节省内存空间、提高效率,又能全面的 考虑各种情况下的数据触发过程及控制消息的发送顺序,还将同步 过程中的数据加载与数据触发完全独立,使数据触发的架构清晰, 便于扩展。
显然,本领域的技术人员应该明白,上述的本发明的各模块或 各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算 装置上,或者分布在多个计算装置所组成的网络上,可选地,它们 可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成 电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模 块来实现。这样,本发明不限制于任何特定的硬件和软件结合。应
易见的,不脱离本发明的精神保护范围。
以上所述 <叉为本发明的优选实施例而已,并不用于限制本发 明,对于本领域的技术人员来说,本发明可以有各种更改和变化。 凡在本发明的精神和原则之内,所作的任何4务改、等同替换、改进 等,均应包含在本发明的保护范围之内。
权利要求
1.一种内存数据库内容变化实时通知业务的处理装置,其特征在于,包括备份表创建模块,用于在内存数据库中建立备份表,将内存数据库的内存表数据库的关联关系表中或单表记录中业务关心的内容加载到所述备份表中;遍历模块,用于遍历消息注册区,查询注册到所述消息注册区的消息相关的表本次同步有没有变化;以及触发模块,用于如没有变化则继续遍历,否则根据消息类型执行来相应地利用所述备份表触发实时通知所述业务,并相应地更新所述备份表。
2. 根据权利要求1所述的处理装置,其特征在于,所述备份表是 在系统上电时建立的。
3. 根据权利要求1所述的处理装置,其特征在于,所述备份表创 建模块还包括第一子加载模块,用于使单表记录级变化通知类型直接 从内存表中取得相应的信息加载到所述备份表中;以及第二子加载模块,用于使多表关联变化通知类型根据关 键字从多表中获取所述业务关心的数据组织为一条记录加栽 到所述备份表中。
4. 根据权利要求1所述的处理装置,其特征在于,还包括保存禁止模块,用于将内存数据库的内存表数据库的关 联关系表中或单表记录中所述业务关心的内容保存于所述备 份表中后,禁止再次同步及软倒换;以及更新恢复模块,用于根据消息类型执行来相应地利用所 述备份表触发实时通知所述业务,并相应地更新所述备份表之 后,恢复同步及软倒换。
5. 根据权利要求4所述的处理装置,其特征在于,所述保存禁止 模块通过对所述备份表设置禁止再次同步及软倒换标志来禁 止再次同步及软倒换;以及所述更新恢复模块通过对所述备份 表设置恢复同步及软倒换标志来恢复同步及软倒换。
6. 根据权利要求1所述的处理装置,其特征在于,在所述消息注 册区中的具体消息与相关的表关系是按照消息触发顺序登记 的。
7. 根据权利要求1所述的处理装置,其特征在于,所述触发模块 还用于如果消息类型是单表记录级变化通知类型,则从内存表 中获取相关信息与备份表中相应记录比较来触发实时通知所 述业务,并完成备份表的更新过程。
8. 根据权利要求1所述的处理装置,其特征在于,所述触发模块 还用于如果消息类型是单表级变化通知类型,直接根据注册区 中的消息名来触发实时通知所述业务。
9. 根据权利要求1所述的处理装置,其特征在于,所述触发模块 还用于如果消息类型是多表关联变化通知类型,则从多个关联 表取出信息与备份表中相应记录比4交来触发实时通知所述业务,并完成备份表的更新过程。
10. 根据权利要求1所述的处理装置,其特征在于,还包括数据更新模块,用于在所述业务收到所述内存数据库发 送的触发消息的情况下,直接更新数据或通过接口获取相关的 数据来完成所述业务与所述内存数据库中数据一致的操作。
全文摘要
本发明提供了一种内存数据库内容变化实时通知业务的处理装置,包括备份表创建模块,用于在内存数据库中建立备份表,将内存数据库的内存表数据库的关联关系表中或单表记录中业务关心的内容加载到备份表中;遍历模块,用于遍历消息注册区,查询注册到消息注册区的消息相关的表本次同步有没有变化;触发模块,用于如没有变化则继续遍历,否则根据消息类型执行来相应地利用备份表触发实时通知业务,并相应地更新备份表。因此,既能节省内存空间,又能全面的考虑各种情况下的数据触发过程及控制消息的发送顺序。
文档编号H04Q3/545GK101202934SQ20061016171
公开日2008年6月18日 申请日期2006年12月13日 优先权日2006年12月13日
发明者王春华, 胡德平, 董小虎 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1