内存数据库文件的更新方法及更新装置的制作方法

文档序号:6458095阅读:198来源:国知局

专利名称::内存数据库文件的更新方法及更新装置的制作方法
技术领域
:本发明涉及通讯领域,尤其涉及一种内存数据库文件的更新方法及更新装置。
背景技术
:近年来,电信和金融领域的主要应用已经变成数据密集型应用,数据库系统在其中扮演了重要的角色,数据是所有系统的核心,尤其对于通讯系统,数据的访问、存^(诸和升级显4f更为重要。在通讯系统中,对实时性要求很高,传统的基于磁盘的关系数据库系统已远不能满足上述应用高性能、实时数据访问的要求,内存数据库系统则可以很好地满足各种应用系统的实时数据管理需求。所谓内存凄t据库,是指在系统内存中建立内存数据表,且对这些表凄t据建立索引和队列实现对数据的管理,并向应用层提供数据的查询、增加、删除和l奮改等访问4妄口。然而,内存数据库一般都是厂家自己开发的,不支持标准的数据库4妄口才示准及才示〉隹查"i句i吾句(StructuredQueryLanguage,SQL),只于于版本升级中的数据库表增删、表字段增删、表字段属性修改等常见升级场景提供的手段较少,现在比较常用的方法有两种4(1)完全人工做数据,这种方法对于版本间变化不大的情况下,如仅对个别字段的修改比较有效。但往往大版本的升级时修改非常大,这种方法就无能为力了;(2)针对特定版本开发专用的升级程序,这种方法适用于修改范围比较大的情况,需要抽调专门的人力进行升级程序的开发,并且开发的升级工具只能适用于特定的两个版本之间的升级,下一次版本升级又需要另外开发升级工具,因此将耗费很大的人力物力。然而,针对相关技术中内存数据库文件更新过程中工作量大、升级工具通用性差的问题,目前尚未4是出有效的解决方案。
发明内容考虑到上述问题而做出本发明,为此,本发明的主要目的在于提供一种内存凄史据库文件的更新方法及更新装置,以解决相关才支术中内存数据库更新过程中工作量大、升级工具通用性差的问题,目前尚未提出有效的解决方案。本发明提供了一种内存数据库文件的更新方法。该方法包括将待更新的内存数据库文件的结构与新版本内存数据库文件的结构进行比较,得到差异信息,根据差异信息确定待更新的内存数据库文件中待更新的数据库表和不需要更新的数据库表;根据差异信息对待更新的数据库表进行更新;以及根据更新后的数据库表与不需要更新的数据库表将待更新的内存数据库文件更新为新版本内存数据库文件。其中,差异信息包括待更新的数据库表以及待更新的数据库表中的字^殳变化信息,其中,字,殳变化信息包括变化的字,史的名称,变4b方式。变'4b方式包4舌删除、类型改变、i夹省4直改变、增加、以及所增加的字^殳的来源。本发明还^是供了一种内存lt据库文件的更新装置。该装置包括比较模块,用于将待更新的内存数据库文件的结构与预定的新版本的内存数据库文件的结构进行比较,得到差异信息,并根据差异信息得到待更新的内存数据库文件中待更新的数据库表和不需要更新的数据库表;更新执行模块,用于根据差异信息对待更新的数据库表进行更新;以及内存数据库表组合模块,用于根据更新后的数据库表与不需要更新的数据库表将待更新的内存数据库文件更新为新版本内存凄t据库文件。其中,更新执行模块包括编写模块和执行模块,其中,编写模块用于将差异信息编写为执行模块能够执行的命令;执行模块用于执行命令,得到更新后的数据库表。其中,编写模块采用标准查询语句编写命令。执行模块在指定数据库中4丸行命令。其中,指定数据库为商用凄史据库,商用数据库包括MSACCESS。差异信息包括待更新的数据库表以及待更新的数据库表中的字段变化信息,其中,字段变化信息包括变化的字段的名称,变化方式。变化方式包括删除字^殳、字,殳类型改变、字纟史缺省值改变、增加字段、以及所增加的字段的来源。通过本发明的上述4支术方案,能够有效4是高内存数据库表版本升级的效率,且具有很好的扩展性和通用性,适用于任何版本间的升级;并且实现简单,4喿作方《更。此处所i兌明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明方法实施例的内存数据库文件的更新方法的流程图2是根据本发明实施例的数据库表结构分析的示意图3是根据本发明方法实施例的方法中内存数据库文件升级的流禾呈图;以及图4是是根据本发明装置实施例的内存数据库文件的更新装置的框图。具体实施例方式下面参考附图,详细i兌明本发明的具体实施方式。方法实施例在本实施例中,提供了一种内存数据库文件的更新方法。如图1所示,4艮据本实施例的内存H据库文件的更新方法包括步骤S102,将待更新的内存tt据库文件的结构与新X反本内存^t据库文件的结构进行比较,得到差异信息,根据差异信息确定待更新的内存数据库文件中待更新的数据库表和不需要更新的数据库表;步骤S104,才艮据差异信息对待更新的凄史据库表进行更新;步骤S106,才艮据更新后的数据库表与不需要更新的数据库表将待更新的内存数据库文件更新为新片反本内存凄丈据库文件。其中,差异信息包括待更新的数据库表以及待更新的数据库表中的字段变化信息,其中,字段变化信息包括变化的字段的名称,变化方式。变化方式包括删除、类型改变、缺省值改变、增加、以及所增加的字^殳的来源。图2为数据表结构分析示意图。如图2所示,输入新旧版本的内存数据库表结构,通过对比分析,可以得出上述的差异信息,即,哪些表发生了变化,具体变化的字^殳信息(该字4殳是增加还是删除的,或者字段类型发生了改变,增加的字段来源于哪里,以及缺省值等)。同时确定了待更新的内存数据库文件中待更新的数据库表和不需要更新的lt据库表。以3G移动通讯系统无线控制器内存数据库表数据升级为例,假设旧版本(待更新的)的RNODEB表结构如表1所示序<table>tableseeoriginaldocumentpage8</column></row><table>表1新版本的RNODEB表结构如表2所示:序号字段名称数据类型取值说明缺省值字段含义1NodeBNoWORD0~65535-NodeB编号(NodeBNo)2AnildWORD1~1500-该NodeB局向号3NBCfgFormBYTE[o,i]0NodeB的配置形式4CRCIndBYTE[o,i]0是否带CRCFPModBYTE[o,i]0FP模式6ReleaselnfoBYTE0NodeB版本表2通过对新旧片反本表结构对比分析得出如下结果,即,得到差异信息,如表3所示变更字段变更说明CMPMod删除Anild字段类型由BYTE改为WORDNBCfgForm缺省值由1改为0Releaselnfo增加字段,缺省值为0表3由以上分析结构就可以编写对R—NODEB表数据的升级脚本,脚本i吾言采用(SOL)-i吾言。表结构分神斤过禾呈可以编写工具自动完成。具体可以包4舌以下步一骤步骤S302,将待升级版本的lt据导入到lt据库中,例如MSACCESS数据库;步骤S304,将新版本的变化表表结构导入到数据库中,此时需要注意的是,对于前面表结构分析出来的变化表,需要命名成临时表名,如果R—NODEB表表结构发生了变化,需要临时表命名为一R—NODEB,且表结构为新版本的表结构;步骤S306,执行数据升级脚本,将前面对表结构分析后编写的升级脚本载入数据库批i行,完成数据的升级过程;步骤S308,执行完步骤S306以后,将数据导出生成内存表文件,新版本的数据即为无变化的表+变化表的集合。将这两类表的数据全部导出,4姿内存凄丈据才各式生成数据文件;至此,内存数据库表数据升级完毕。装置实施例在本实施例中,4是供了一种内存数据库文件的更新装置。如图4所示,包括比较才莫块402,用于将待更新的内存数据库文件的结构与预定的新版本的内存数据库文件的结构进行比较,得到差异信息,并根据差异信息得到待更新的内存数据库文件中待更新的数据库表和不需要更新的数据库表;更新4丸行才莫块404,用于4艮据差异信息对待更新的数据库表进行更新;以及内存凄t据库表组合才莫块406,用于根据更新后的数据库表与不需要更新的数据库表将待更新的内存凄t据库文件更新为新版本内存凄t据库文件。更新执行模块包括编写模块4042和执行模块4044,其中,编写模块用于将差异信息编写为执行模块能够执行的命令;执行模块用于执行命令,得到更新后的数据库表。其中,编写冲莫块4042采用标准查询语句编写命令。4丸行才莫块4044在指定数据库中执行命令。其中,指定数据库可以为商用数据库,例如,可以是MSACCESS。差异信息包括待更新的数据库表以及待更新的数据库表中的字段变化信息,其中,字段变化信息包括变化的字段的名称,变化方式。变化方式包括删除字l殳、字#史类型改变、字,殳缺省值改变、增加字段、以及所增加的字段的来源。综上所述,借助于本发明的技术方案,能够有效提高内存数据库表版本升级的效率,且具有4艮好的扩展性和通用性,适用于任何版本间的升级;并且实现简单,才喿作方Y更。以上所述^f又为本发明的优选实施例而已,并不用于限制本发明,对于本4页i或的才支术人员来"i兌,本发明可以有各种更改和变4匕。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1.一种内存数据库文件的更新方法,其特征在于,包括将待更新的内存数据库文件的结构与新版本内存数据库文件的结构进行比较,得到差异信息,根据所述差异信息确定所述待更新的内存数据库文件中待更新的数据库表和不需要更新的数据库表;根据所述差异信息对所述待更新的数据库表进行更新;以及根据更新后的数据库表与所述不需要更新的数据库表将所述待更新的内存数据库文件更新为所述新版本内存数据库文件。2.根据权利要求1所述的方法,其特征在于,所述差异信息包括待更新的lt据库表以及所述待更新的凄t据库表中的字段变化信息,其中,所述字段变化信息包括变化的字段的名称,变4匕方式。3.根据权利要求2所述的方法,其特征在于,所述变化方式包括删除、类型改变、^:省4直改变、增加、以及所增加的字l殳的来源。4.一种内存凄t据库文件的更新装置,其特征在于,包括比较^t块,用于将待更新的内存数据库文件的结构与预定的新版本的内存数据库文件的结构进行比较,得到差异信息,并^^艮据所述差异信息得到所述待更新的所述内存数据库文件中待更新的邀:据库表和不需要更新的数据库表;更新执行才莫块,用于4艮据所述差异信息对所述待更新的数据库表进行更新;以及内存数据库表组合才莫块,用于4艮据更新后的所述数据库表与所述不需要更新的数据库表将所述待更新的内存数据库文件更新为所述新版本内存凄t据库文件。5.根据权利要求4所述的装置,其特征在于,所述更新执行模块包括编写模块和执行模块,其中,所述编写模块用于将所述差异信息编写为所述执行模块能够执行的命令;所述执行模块用于执行所述命令,得到更新后的所述数据库表。6.根据权利要求5所述的装置,其特征在于,所述编写模块采用标准查询i吾句编写所述命令。7.根据权利要求5所述的装置,其特征在于,所述执行模块在指定数据库中执行所述命令。8.4艮据4又利要求7所述的装置,其特征在于,所述指定数据库为商用翁:据库,所述商用数据库包括MSACCESS。9.根据权利要求4所述的装置,其特征在于,所述差异信息包括待更新的数据库表以及所述待更新的数据库表中的字段变化信息,其中,所述字段变化信息包括变化的字段的名称,变化方式。10.根据权利要求9所述的装置,其特征在于,所述变化方式包括删除字段、字段类型改变、字段缺省值改变、增加字段、以及所增加的字^a的来源。全文摘要本发明提出一种内存数据库文件的更新方法,包括将待更新的内存数据库文件的结构与新版本内存数据库文件的结构进行比较,得到差异信息,根据差异信息确定待更新的内存数据库文件中待更新的数据库表和不需要更新的数据库表;根据差异信息对待更新的数据库表进行更新;以及根据更新后的数据库表与不需要更新的数据库表将待更新的内存数据库文件更新为新版本内存数据库文件。本发明还提出一种内存数据库文件的更新装置。通过本发明,可以有效提高内存数据库表版本升级的效率。文档编号G06F17/30GK101499069SQ20081000708公开日2009年8月5日申请日期2008年2月2日优先权日2008年2月2日发明者川牟,罗江凯,胡德平申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1