数据库升级方法及装置的制造方法

文档序号:8430805阅读:191来源:国知局
数据库升级方法及装置的制造方法
【技术领域】
[0001] 本发明涉及通信领域,尤其涉及一种数据库升级方法及装置。
【背景技术】
[0002] 随着移动互联网的高速发展,人们可以随时随地的使用互联网提供的各种服务, 因此互联网服务的连续性和稳定性显的格外重要。升级互联网服务势必面临着数据库升 级,如何在数据库升级时保证业务不中断,并且保证升级后的新数据库与旧数据库保持一 致,成为提尚互联网服务的关键。
[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] 所述对接收的所述旧数据表中的数据进行处理,获得处理后的数据,包括:
[0028] 删除所述旧数据表中的至少一个字段名称下的数据;
[0029] 将所述旧数据表中的剩余字段名称下的数据作为所述处理后的数据;
[0030] 所述将所述处理后的数据存储在新数据库的新数据表中,包括:
[0031] 将所述旧数据表中的剩余字段名称下的数据写入与所述剩余字段名称对应的所 述新数据表的字段名称下。
[0032] 本发明的第二个方面提供一种数据库升级装置,包括:
[0033] 接收模块,用于接收旧数据库的旧数据表中的数据;
[0034] 处理模块,用于对接收的所述旧数据表中的数据进行处理,获得处理后的数据;
[0035] 存储模块,用于将所述处理后的数据存储在新数据库的新数据表中;
[0036] 切换模块,用于若判断获知所述新数据库的数据量与所述旧数据库的数据量的差 值小于等于设定值,则将业务系统与所述旧数据库的连接切换到与所述新数据库的连接。
[0037] 在上述数据库升级装置的一个实施例中,所述处理模块,具体用于根据新数据表 中预存储的字段名称匹配数据处理方法,获得处理后的数据;其中,所述预存储的字段名称 包括下述任意一项:新增字段名称以及所述旧数据表的所有字段名称、所述旧数据表的所 有字段名称、所述旧数据表的部分字段名称。
[0038] 在上述数据库升级装置的一个实施例中,所述预存储的字段名称包括新增字段名 称以及所述旧数据表的所有字段名称;
[0039] 所述处理模块,具体用于提取所述旧数据表中的第一字段名称下的数据;根据提 取的所述第一字段名称下的数据,计算与所述第一字段名称下的数据对应的所述新增字段 名称下的数据;将所述旧数据表中的所有数据以及计算的所述新增字段名称下的数据作为 所述处理后的数据;
[0040] 所述存储模块,具体用于将所述旧数据表中的每个字段名称下的数据写入与所 述旧数据表中的每个字段名称对应的所述新数据表的字段名称下,以及将计算的所述新增 字段名称下的数据写入所述新数据表的新增字段名称下。
[0041] 在上述数据库升级装置的一个实施例中,所述预存储的字段名称包括所述旧数据 表的所有字段名称;
[0042] 所述处理模块,具体用于提取所述旧数据表中的第二字段名称下的数据;根据预 设规则,对提取的所述第二字段名称下的数据进行修改;将所述旧数据表中的未经修改的 字段名称下的数据以及修改后的所述第二字段名称下的数据作为所述处理后的数据; [0043] 所述存储模块,具体用于将所述旧数据表中的未经修改的字段名称下的数据写入 与所述未经修改的字段名称对应的所述新数据表的字段名称下,以及将修改的所述第二字 段名称下的数据写入与所述第二字段名称对应的所述新数据表的字段名称下。
[0044] 在上述数据库升级装置的一个实施例中,所述预存储的字段名称包括所述旧数据 表的部分字段名称;
[0045] 所述处理模块,具体用于删除所述旧数据表中的至少一个字段名称下的数据;将 所述旧数据表中的剩余字段名称下的数据作为所述处理后的数据;
[0046] 所述存储模块,具体用于将所述旧数据表中的剩余字段名称下的数据写入与所述 剩余字段名称对应的所述新数据表的字段名称下。
[0047] 本发明提供的数据库升级方法及装置,通过接收旧数据库的旧数据表的数据,对 接收的旧数据表的数据进行处理,获得处理后的数据,将处理后的数据存储在新数据库的 新数据表中,若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值, 将业务系统与旧数据库的连接切换到与新数据库的连接,从而保证业务系统不中断,且旧 数据库中的数据不丢失。
【附图说明】
[0048]图1为本发明实施例一所提供的数据库升级方法的流程图;
[0049] 图2为本发明实施例二所提供的数据库升级方法的流程图;
[0050] 图3为本发明实施例三所提供的数据库升级方法的流程图;
[0051] 图4为本发明实施例四所提供的数据库升级方法的流程图;
[0052] 图5为本发明实施例五所提供的数据库升级装置500的结构示意图。
【具体实施方式】
[0053] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054] 图1为本发明实施例一所提供的数据库升级方法的流程图。本实施例的方法适用 于在将业务系统由与旧数据库的连接切换到与新数据库的连接时,能够保证业务系统不中 断且旧数据库中的数据不丢失的情况。该方法由数据库升级装置执行,该装置通常以硬件 和/或软件的方式来实现。本实施例的方法包括如下步骤:
[0055]S110、接收旧数据库的旧数据表中的数据。
[0056] 数据库升级装置可以向主机发送数据同步请求消息,以使主机根据数据同步请求 消息向数据库升级装置发送旧数据库中的旧数据表中存储的数据或者旧数据库中发生更 改的数据,或者当主机监控到旧数据库中的旧数据表中有新增数据、数据修改时向数据库 升级装置发送新增数据或修改数据。
[0057]S120、对接收的旧数据表中的数据进行处理,获得处理后的数据。
[0058]S130、将处理后的数据存储在新数据库的新数据表中。
[0059]S140、若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定 值,则将业务系统与旧数据库的连接切换到与新数据库的连接。
[0060] 数据库升级装置可以对旧数据库的数据量以及新数据库的数据量进行统计,若统 计出的新数据库的数据量与旧数据库的数据量的差值小于等于设定值,则将业务系统与旧 数据
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1