CN101192214A - 用于内存数据库内容变化实时通知业务的处理方法 - Google Patents

用于内存数据库内容变化实时通知业务的处理方法 Download PDF

Info

Publication number
CN101192214A
CN101192214A CNA2006101403414A CN200610140341A CN101192214A CN 101192214 A CN101192214 A CN 101192214A CN A2006101403414 A CNA2006101403414 A CN A2006101403414A CN 200610140341 A CN200610140341 A CN 200610140341A CN 101192214 A CN101192214 A CN 101192214A
Authority
CN
China
Prior art keywords
backup sheet
message
memory
real
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006101403414A
Other languages
English (en)
Other versions
CN101192214B (zh
Inventor
胡德平
董小虎
王春华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN2006101403414A priority Critical patent/CN101192214B/zh
Publication of CN101192214A publication Critical patent/CN101192214A/zh
Application granted granted Critical
Publication of CN101192214B publication Critical patent/CN101192214B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种内存数据库内容变化实时通知业务的处理方法,包括以下步骤:在内存数据库中建立备份表,将内存数据库的内存表数据库的关联关系表中或单表记录中业务关心的内容加载到备份表中;遍历消息注册区,查询注册到消息注册区的消息相关的表本次同步有没有变化;如没有变化则继续遍历,否则根据消息类型执行来相应地利用备份表触发实时通知业务,并相应地更新备份表。

Description

用于内存数据库内容变化实时通知业务的处理方法
技术领域
本发明涉及通信领域,更具体而言,涉及一种用于内存数据库内容变化实时通知业务的处理方法和装置。
背景技术
实时内存数据库将数据对象存储在内存中,所有的数据访问及操作都在内存中完成,所以大大提高了系统的性能,因此在通信、控制等领域已被广泛使用。实时内存数据库的功能主要体现在两个方面:一是为业务提供数据配置信息,保证业务的正常运行;另一个是相关数据配置变化后实时通知业务进行更新(即数据触发),保证业务与数据的一致性。
数据触发是指:在配置修改同步到内存数据库后,内存数据库进行同步前后的数据比较,当发现业务关心的内容变化后,实时通知业务更新的过程。数据触发的类型分为三种,单表记录级内容变化触发、单表表级变化触发及多表关联触发。
目前一般系统中内存数据库内容变化实时通知业务的处理方法有两种:一种是建立主、备两套内存表数据区,正常运行时业务使用主内存表数据区中数据,数据同步时首先写到备内存表数据区中,待全部同步完成后,进行主备内存表数据区切换,此时进行主备内存表数据区比较来完成三种数据触发过程。然而,这种方法占用内存比较大,随着数据库表内容的增加,内存就会成倍增加,而且对于同步过程的效率比较低,实现流程及控制比较复杂。
另一种方法只有一个内存表数据区,对于单表相关触发使用在数据同步过程中边比较边加载的方法完成数据触发过程,对于有多个表关联触发需要考虑申请一个临时数据区来保存同步前数据,在相关表加载完成后统一处理来通知业务变化消息。然而,这种方法也存在缺陷,消息处理的顺序以内存表的加载顺序为准,不易于控制,设计时还需要考虑多个内存表的关系及加载顺序,多内存表间的关联不易于处理,有些触发难以实现。
因此,人们需要一种内存数据库内容变化实时通知业务的解决方案,能够解决上述相关技术中的问题。
发明内容
本发明的目的就是提出一种既能节省内存空间,又能全面的考虑各种情况下的数据触发的通用方法。
根据本发明的一个方面,提供了一种内存数据库内容变化实时通知业务的处理方法,包括以下步骤:在内存数据库中建立备份表,将内存数据库的内存表数据库的关联关系表中或单表记录中业务关心的内容加载到备份表中;遍历消息注册区,查询注册到消息注册区的消息相关的表本次同步有没有变化;如没有变化则继续遍历,否则根据消息类型执行来相应地利用备份表触发实时通知业务,并相应地更新备份表。
在上述的处理方法中,在系统上电时建立备份表。
在上述的处理方法中,将内存数据库的内存表数据库的关联关系表中或单表记录中业务关心的内容加载到备份表中包括以下步骤:对于单表记录级变化通知类型直接从内存表中取得相应的信息加载到备份表中;多表关联变化通知类型根据关键字从多表中获取业务关心的数据组织为一条记录加载到备份表中。
在上述的处理方法中,还包括以下步骤:将内存数据库的内存表数据库的关联关系表中或单表记录中业务关心的内容保存于备份表中后,禁止再次同步及软倒换;以及根据消息类型执行来相应地利用备份表触发实时通知业务,并相应地更新备份表之后,恢复同步及软倒换。
在上述的处理方法中,通过对备份表设置禁止再次同步及软倒换标志来禁止再次同步及软倒换;以及通过对备份表设置恢复同步及软倒换标志来恢复同步及软倒换。
在上述的处理方法中,在消息注册区中按照消息触发顺序登记具体消息与相关的表关系。
在上述的处理方法中,相应地利用备份表触发实时通知业务,并相应地更新备份表包括以下步骤:如果消息类型是单表记录级变化通知类型,则从内存表中获取相关信息与备份表中相应记录比较来触发实时通知业务,并完成备份表的更新过程。
在上述的处理方法中,相应地利用备份表触发实时通知业务,并相应地更新备份表包括以下步骤:如果消息类型是单表级变化通知类型,直接根据注册区中的消息名来触发实时通知业务。
在上述的处理方法中,相应地利用备份表触发实时通知业务,并相应地更新备份表包括以下步骤:如果消息类型是多表关联变化通知类型,则从多个关联表取出信息与备份表中相应记录比较来触发实时通知业务,并完成备份表的更新过程。
在上述的处理方法中,还包括以下步骤:业务收到内存数据库发送的触发消息,直接更新数据或通过接口获取相关的数据来完成业务与内存数据库中数据一致的操作。
根据本发明的另一方面,提供了一种内存数据库内容变化实时通知业务的处理装置,包括:备份表创建模块,用于在内存数据库中建立备份表,将内存数据库的内存表数据库的关联关系表中或单表记录中业务关心的内容加载到备份表中;遍历模块,用于遍历消息注册区,查询注册到消息注册区的消息相关的表本次同步有没有变化;触发模块,用于如没有变化则继续遍历,否则根据消息类型执行来相应地利用备份表触发实时通知业务,并相应地更新备份表。
在上述的处理装置中,触发模块包括:第一触发模块,用于如果消息类型是单表记录级变化通知类型,则从内存表中获取相关信息与备份表中相应记录比较来触发实时通知业务,并完成备份表的更新过程;第二触发模块,用于如果消息类型是单表级变化通知类型,直接根据注册区中的消息名来触发实时通知业务;第三触发模块,用于如果消息类型是多表关联变化通知类型,则从多个关联表取出信息与备份表中相应记录比较来触发实时通知业务,并完成备份表的更新过程。
通过上述技术方案,本发明实现了如下技术效果:
本发明既能节省内存空间、提高效率,又能全面的考虑各种情况下的数据触发过程及控制消息的发送顺序,还将同步过程中的数据加载与数据触发完全独立,使数据触发的架构清晰,便于扩展,提供了一种实时内存数据库数据变化的通用通知方法。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了根据本发明实施例的内存数据库内容变化实时通知业务的处理方法的流程图;
图2示出了根据本发明实施例的内存数据库内容变化实时通知业务的处理装置的方框图;
图3为根据本发明实施例的数据触发进程的状态跃迁图;
图4为根据本发明实施例的数据触发进程的上电或备转主流程图;
图5为根据本发明实施例的数据同步程序实现流程图。
具体实施方式
本发明提供了一种内存数据库内容变化实时通知业务的处理方法,如图1所示,包括以下步骤:
步骤S102,在内存数据库中建立备份表,将内存数据库的内存表数据库的关联关系表中或单表记录中业务关心的内容加载到备份表中,可在系统上电时建立备份表。
步骤S102可包括以下步骤:对于单表记录级变化通知类型直接从内存表中取得相应的信息加载到备份表中;多表关联变化通知类型根据关键字从多表中获取业务关心的数据组织为一条记录加载到备份表中。
步骤S104,遍历消息注册区,查询注册到消息注册区的消息相关的表本次同步有没有变化。
可在消息注册区中按照消息触发顺序登记具体消息与相关的表关系。
步骤S106,如没有变化则继续遍历,否则根据消息类型执行来相应地利用备份表触发实时通知业务,并相应地更新备份表。
步骤S106可包括以下步骤:如果消息类型是单表记录级变化通知类型,则从内存表中获取相关信息与备份表中相应记录比较来触发实时通知业务,并完成备份表的更新过程;如果消息类型是单表级变化通知类型,直接根据注册区中的消息名来触发实时通知业务;如果消息类型是多表关联变化通知类型,则从多个关联表取出信息与备份表中相应记录比较来触发实时通知业务,并完成备份表的更新过程。
在上述的处理方法中,还可包括以下步骤:将内存数据库的内存表数据库的关联关系表中或单表记录中业务关心的内容保存于备份表中后,禁止再次同步及软倒换;以及根据消息类型执行来相应地利用备份表触发实时通知业务,并相应地更新备份表之后,恢复同步及软倒换。
可通过对备份表设置禁止再次同步及软倒换标志来禁止再次同步及软倒换;以及通过对备份表设置恢复同步及软倒换标志来恢复同步及软倒换。
在上述的处理方法中,还可包括以下步骤:业务收到内存数据库发送的触发消息,直接更新数据或通过接口获取相关的数据来完成业务与内存数据库中数据一致的操作。
本发明还提供了一种内存数据库内容变化实时通知业务的处理装置200,包括:
备份表创建模块202,用于在内存数据库中建立备份表,将内存数据库的内存表数据库的关联关系表中或单表记录中业务关心的内容加载到备份表中;
遍历模块204,用于遍历消息注册区,查询注册到消息注册区的消息相关的表本次同步有没有变化;
触发模块206,用于如没有变化则继续遍历,否则根据消息类型执行来相应地利用备份表触发实时通知业务,并相应地更新备份表。
在上述的处理装置200中,触发模块206包括:第一触发模块,用于如果消息类型是单表记录级变化通知类型,则从内存表中获取相关信息与备份表中相应记录比较来触发实时通知业务,并完成备份表的更新过程;第二触发模块,用于如果消息类型是单表级变化通知类型,直接根据注册区中的消息名来触发实时通知业务;第三触发模块,用于如果消息类型是多表关联变化通知类型,则从多个关联表取出信息与备份表中相应记录比较来触发实时通知业务,并完成备份表的更新过程。
下面来详细说明实时内存数据库内容变化通知业务处理包括进程设计、上电处理及同步实现过程。
图3是数据触发进程的状态跃迁图,表示主、备板数据库触发进程的所有状态跃迁情况。如图3所示,主板上数据触发进程上电后从初始状态跃迁到工作状态,并进行首次的所有备份表的加载工作,这个过程不进行数据触发操作,在工作状态收到同步完成消息后进行数据触发操作,一旦收到主转备消息后跃迁到初始状态,就不进行相关的数据触发处理;备板上电一直处于初始状态,不进行相关的数据触发处理,一旦收到备转主消息后跃迁到工作状态,并进行首次的所有备份表的加载工作,这个过程也不进行数据触发操作,在工作状态收到同步完成消息后进行数据触发操作。
图4为数据触发进程的上电或备转主流程图,表示系统上电或备板转主板时数据触发进程的处理流程。如图4所示,主、备板上电时创建备份表,主板上电后及备板收到备转主消息时,通过遍历消息注册区完成所有备份表加载,对于单表级触发的注册类型不进行任何操作,对于备份表触发的注册类型从内存表中获取单表记录信息或关联表信息组成记录加载到备份表中,全部加载完成后再遍历下一条消息,直到遍历完消息注册区并进行相应处理,完成主板上电或备转主过程。
图5为数据同步程序实现流程图,表示配置变更发起同步后的相关处理流程。如图5所示,数据触发进程收到同步完成消息后,设置禁止同步及软倒换标志,再遍历消息注册区,如果没有消息登记就完成数据触发过程,否则根据消息注册区中的信息,判断该消息相关表本次同步是否变化,如果没有变化直接进行下一个消息处理,大大提高了同步的效率,如果变化则再判断消息类型,对于单表级通知类型直接根据消息注册区中的消息进行数据触发,对于单表记录级或关联表级通知类型,从内存表中(从单表记录中组织或从关联表中组织)获取一条记录与备份表中记录比较来完成相应的数据触发过程,并完成备份表的记录更新,此表全部操作完成后再进行下一条消息的处理,直到遍历完消息注册区完成所有的数据触发及备份表更新过程,再恢复同步及软倒换标志。
业务收到数据库触发通知后,直接更新数据或通过接口获取相关的数据进行相关操作,完成本次与数据库数据的一致性过程。
综上所述,本发明既能节省内存空间、提高效率,又能全面的考虑各种情况下的数据触发过程及控制消息的发送顺序,还将同步过程中的数据加载与数据触发完全独立,使数据触发的架构清晰,便于扩展,提供了一种实时内存数据库数据变化的通用通知方法。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。应该明白,这些具体实施中的变化对于本领域的技术人员来说是显而易见的,不脱离本发明的精神保护范围。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种内存数据库内容变化实时通知业务的处理方法,其特征在于,包括以下步骤:
在内存数据库中建立备份表,将内存数据库的内存表数据库的关联关系表中或单表记录中业务关心的内容加载到所述备份表中;
遍历消息注册区,查询注册到所述消息注册区的消息相关的表本次同步有没有变化;
如没有变化则继续遍历,否则根据消息类型执行来相应地利用所述备份表触发实时通知所述业务,并相应地更新所述备份表。
2.根据权利要求1所述的处理方法,其特征在于,在系统上电时建立所述备份表。
3.根据权利要求1所述的处理方法,其特征在于,将内存数据库的内存表数据库的关联关系表中或单表记录中业务关心的内容加载到所述备份表中包括以下步骤:
对于单表记录级变化通知类型直接从内存表中取得相应的信息加载到所述备份表中;
多表关联变化通知类型根据关键字从多表中获取所述业务关心的数据组织为一条记录加载到所述备份表中。
4.根据权利要求1所述的处理方法,其特征在于,还包括以下步骤:
将内存数据库的内存表数据库的关联关系表中或单表记录中所述业务关心的内容保存于所述备份表中后,禁止再次同步及软倒换;以及
根据消息类型执行来相应地利用所述备份表触发实时通知所述业务,并相应地更新所述备份表之后,恢复同步及软倒换。
5.根据权利要求4所述的处理方法,其特征在于,通过对所述备份表设置禁止再次同步及软倒换标志来禁止再次同步及软倒换;以及通过对所述备份表设置恢复同步及软倒换标志来恢复同步及软倒换。
6.根据权利要求1所述的处理方法,其特征在于,在所述消息注册区中按照消息触发顺序登记具体消息与相关的表关系。
7.根据权利要求1所述的处理方法,其特征在于,所述相应地利用所述备份表触发实时通知业务,并相应地更新备份表包括以下步骤:
如果消息类型是单表记录级变化通知类型,则从内存表中获取相关信息与备份表中相应记录比较来触发实时通知所述业务,并完成备份表的更新过程。
8.根据权利要求1所述的处理方法,其特征在于,所述相应地利用所述备份表触发实时通知业务,并相应地更新备份表包括以下步骤:
如果消息类型是单表级变化通知类型,直接根据注册区中的消息名来触发实时通知所述业务。
9.根据权利要求1所述的处理方法,其特征在于,所述相应地利用所述备份表触发实时通知业务,并相应地更新备份表包括以下步骤:
如果消息类型是多表关联变化通知类型,则从多个关联表取出信息与备份表中相应记录比较来触发实时通知所述业务,并完成备份表的更新过程。
10.根据权利要求1所述的处理方法,其特征在于,还包括以下步骤:
所述业务收到所述内存数据库发送的触发消息,直接更新数据或通过接口获取相关的数据来完成所述业务与所述内存数据库中数据一致的操作。
CN2006101403414A 2006-11-27 2006-11-27 用于内存数据库内容变化后实时通知业务的处理方法 Expired - Fee Related CN101192214B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2006101403414A CN101192214B (zh) 2006-11-27 2006-11-27 用于内存数据库内容变化后实时通知业务的处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2006101403414A CN101192214B (zh) 2006-11-27 2006-11-27 用于内存数据库内容变化后实时通知业务的处理方法

Publications (2)

Publication Number Publication Date
CN101192214A true CN101192214A (zh) 2008-06-04
CN101192214B CN101192214B (zh) 2010-09-29

Family

ID=39487211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006101403414A Expired - Fee Related CN101192214B (zh) 2006-11-27 2006-11-27 用于内存数据库内容变化后实时通知业务的处理方法

Country Status (1)

Country Link
CN (1) CN101192214B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719165A (zh) * 2010-01-12 2010-06-02 山东高效能服务器和存储研究院 一种实现数据库高效快速备份的方法
CN102110134A (zh) * 2010-12-28 2011-06-29 青岛海信网络科技股份有限公司 轨道交通用实时数据库、操作方法及操作装置
WO2011157034A1 (zh) * 2010-06-18 2011-12-22 中兴通讯股份有限公司 一种实现数据库触发器功能的方法及装置
CN102662995A (zh) * 2012-03-15 2012-09-12 北京播思软件技术有限公司 一种快速定位手机应用数据更新的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389430B1 (en) * 1999-07-07 2002-05-14 Computer Associates Think, Inc. Real-time database object statistics collection
CN1540544A (zh) * 2003-04-22 2004-10-27 联想(北京)有限公司 在线用户状态信息跟踪及控制方法
CN100392651C (zh) * 2005-02-25 2008-06-04 中兴通讯股份有限公司 一种实时内存数据库通用约束的实现方法
CN100390747C (zh) * 2006-02-20 2008-05-28 南京联创科技股份有限公司 全程化实时系统中基于内存数据库的软双机备份方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719165A (zh) * 2010-01-12 2010-06-02 山东高效能服务器和存储研究院 一种实现数据库高效快速备份的方法
CN101719165B (zh) * 2010-01-12 2014-12-17 浪潮电子信息产业股份有限公司 一种实现数据库高效快速备份的方法
WO2011157034A1 (zh) * 2010-06-18 2011-12-22 中兴通讯股份有限公司 一种实现数据库触发器功能的方法及装置
CN102110134A (zh) * 2010-12-28 2011-06-29 青岛海信网络科技股份有限公司 轨道交通用实时数据库、操作方法及操作装置
CN102110134B (zh) * 2010-12-28 2013-05-29 青岛海信网络科技股份有限公司 轨道交通用实时数据库、操作方法及操作装置
CN102662995A (zh) * 2012-03-15 2012-09-12 北京播思软件技术有限公司 一种快速定位手机应用数据更新的方法
CN102662995B (zh) * 2012-03-15 2015-09-30 播思通讯技术(北京)有限公司 一种快速定位手机应用数据更新的方法

Also Published As

Publication number Publication date
CN101192214B (zh) 2010-09-29

Similar Documents

Publication Publication Date Title
EP3493471A1 (en) Data disaster recovery method, apparatus and system
CN101425961B (zh) 实现链路状态数据库同步方法、路由器及线路板、主控板
CN101051883B (zh) 一种主用语音服务器故障恢复后的业务切换方法和系统
CN101079759B (zh) 分布式双向转发检测方法及设备
CN101207517B (zh) 一种分布式企业服务总线节点可靠性维护方法
CN102075580B (zh) 分布式网络设备中同步数据的存储方法及系统
CN102014021A (zh) 一种控制数据链路通断的方法及装置
CN102624635A (zh) 一种平滑重启实现方法及设备
CN104901983B (zh) 一种信息同步方法、装置及系统
CN101192214B (zh) 用于内存数据库内容变化后实时通知业务的处理方法
CN102025562A (zh) 一种路径检测方法及装置
CN106713676B (zh) 通信号码识别控制方法、装置及通信终端
CN106341251A (zh) 基于双主控的主备倒换方法及装置
CN102388570A (zh) 一种主备模式下的单板运行方法及系统
CN101202934A (zh) 用于内存数据库内容变化实时通知业务的处理装置
CA2522477C (en) System and method for integrating continuous synchronization on a host handheld device
CN106027661A (zh) 数据集群存储终端
CN1725658A (zh) 一种实时数据库主备同步方法
CN105827739B (zh) 联系人信息同步方法、装置、服务器及系统
CN101217292B (zh) 媒体服务器容灾方法及装置
CN101022633A (zh) 一种配置数据恢复方法、系统及装置
CN1984176B (zh) 一种个人信息管理服务器、系统及其控制信息同步的方法
CN100362760C (zh) 一种分布式配置数据库系统的备份方法
CN108307459B (zh) 一种切换过程处理方法及ran节点
CN103731501A (zh) 基于移动终端的多人协同管理待办事项的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100929

CF01 Termination of patent right due to non-payment of annual fee