CN104750774A - 数据库升级方法及装置 - Google Patents
数据库升级方法及装置 Download PDFInfo
- Publication number
- CN104750774A CN104750774A CN201410776397.3A CN201410776397A CN104750774A CN 104750774 A CN104750774 A CN 104750774A CN 201410776397 A CN201410776397 A CN 201410776397A CN 104750774 A CN104750774 A CN 104750774A
- Authority
- CN
- China
- Prior art keywords
- data
- data table
- under
- new
- field name
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据库升级方法及装置,本发明数据库升级方法,包括:接收旧数据库的旧数据表的数据,对接收的旧数据表的数据进行处理,获得处理后的数据,将处理后的数据存储在新数据库的新数据表中,若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,将业务系统与旧数据库的连接切换到与新数据库的连接,从而保证业务系统不中断,且旧数据库中的数据不丢失。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据库升级方法及装置。
背景技术
随着移动互联网的高速发展,人们可以随时随地的使用互联网提供的各种服务,因此互联网服务的连续性和稳定性显的格外重要。升级互联网服务势必面临着数据库升级,如何在数据库升级时保证业务不中断,并且保证升级后的新数据库与旧数据库保持一致,成为提高互联网服务的关键。
目前大多采用如下方式进行数据库升级:通过循环的方式对旧数据库中的每个数据表进行数据升级,升级后的数据表组成新数据库,最后将业务系统由与旧数据库的连接切换到与新数据库的连接。例如,当旧数据库中的第一个数据表升级成功后,再对旧数据库中的第二个数据表进行升级。然而,如果在升级旧数据库中的第二个数据表时,旧数据库中的第一个数据表又有新的数据变更,则新的数据变更无法同步到新的数据库中,因此,可能存在新数据库中的数据与旧数据库中的数据不一致的情况。
发明内容
本发明提供一种数据库升级方法及装置,以解决数据库升级时,升级后的新数据库与旧数据库中的数据不一致的问题。
本发明的第一个方面提供一种数据库升级方法,包括:
接收旧数据库的旧数据表中的数据;
对接收的所述旧数据表中的数据进行处理,获得处理后的数据;
将所述处理后的数据存储在新数据库的新数据表中;
若判断获知所述新数据库的数据量与所述旧数据库的数据量的差值小于等于设定值,则将业务系统与所述旧数据库的连接切换到与所述新数据库的连接。
在上述数据库升级方法的一个实施例中,所述对接收的所述旧数据表中的数据进行处理,获得处理后的数据,包括:
根据新数据表中预存储的字段名称匹配数据处理方法,获得处理后的数据;其中,所述预存储的字段名称包括下述任意一项:新增字段名称以及所述旧数据表的所有字段名称、所述旧数据表的所有字段名称、所述旧数据表的部分字段名称。
在上述数据库升级方法的一个实施例中,所述预存储的字段名称包括新增字段名称以及所述旧数据表的所有字段名称;
所述对接收的所述旧数据表中的数据进行处理,获得处理后的数据,包括:
提取所述旧数据表中的第一字段名称下的数据;
根据提取的所述第一字段名称下的数据,计算与所述第一字段名称下的数据对应的所述新增字段名称下的数据;
将所述旧数据表中的所有数据以及计算的所述新增字段名称下的数据作为所述处理后的数据;
所述将所述处理后的数据存储在新数据库的新数据表中,包括:
将所述旧数据表中的每个字段名称下的数据写入与所述旧数据表中的每个字段名称对应的所述新数据表的字段名称下,以及将计算的所述新增字段名称下的数据写入所述新数据表的新增字段名称下。
在上述数据库升级方法的一个实施例中,所述预存储的字段名称包括所述旧数据表的所有字段名称;
所述对接收的所述旧数据表中的数据进行处理,获得处理后的数据,包括:
提取所述旧数据表中的第二字段名称下的数据;
根据预设规则,对提取的所述第二字段名称下的数据进行修改;
将所述旧数据表中的未经修改的字段名称下的数据以及修改后的所述第二字段下的数据作为所述处理后的数据;
所述将所述处理后的数据存储在新数据库的新数据表中,包括:
将所述旧数据表中的未经修改的字段名称下的数据写入与所述未经修改的字段名称对应的所述新数据表的字段名称下,以及将修改的所述第二字段 名称下的数据写入与所述第二字段名称对应的所述新数据表的字段名称下。
在上述数据库升级方法的一个实施例中,所述预存储的字段名称包括所述旧数据表的部分字段名称;
所述对接收的所述旧数据表中的数据进行处理,获得处理后的数据,包括:
删除所述旧数据表中的至少一个字段名称下的数据;
将所述旧数据表中的剩余字段名称下的数据作为所述处理后的数据;
所述将所述处理后的数据存储在新数据库的新数据表中,包括:
将所述旧数据表中的剩余字段名称下的数据写入与所述剩余字段名称对应的所述新数据表的字段名称下。
本发明的第二个方面提供一种数据库升级装置,包括:
接收模块,用于接收旧数据库的旧数据表中的数据;
处理模块,用于对接收的所述旧数据表中的数据进行处理,获得处理后的数据;
存储模块,用于将所述处理后的数据存储在新数据库的新数据表中;
切换模块,用于若判断获知所述新数据库的数据量与所述旧数据库的数据量的差值小于等于设定值,则将业务系统与所述旧数据库的连接切换到与所述新数据库的连接。
在上述数据库升级装置的一个实施例中,所述处理模块,具体用于根据新数据表中预存储的字段名称匹配数据处理方法,获得处理后的数据;其中,所述预存储的字段名称包括下述任意一项:新增字段名称以及所述旧数据表的所有字段名称、所述旧数据表的所有字段名称、所述旧数据表的部分字段名称。
在上述数据库升级装置的一个实施例中,所述预存储的字段名称包括新增字段名称以及所述旧数据表的所有字段名称;
所述处理模块,具体用于提取所述旧数据表中的第一字段名称下的数据;根据提取的所述第一字段名称下的数据,计算与所述第一字段名称下的数据对应的所述新增字段名称下的数据;将所述旧数据表中的所有数据以及计算的所述新增字段名称下的数据作为所述处理后的数据;
所述存储模块,具体用于将所述旧数据表中的每个字段名称下的数据写 入与所述旧数据表中的每个字段名称对应的所述新数据表的字段名称下,以及将计算的所述新增字段名称下的数据写入所述新数据表的新增字段名称下。
在上述数据库升级装置的一个实施例中,所述预存储的字段名称包括所述旧数据表的所有字段名称;
所述处理模块,具体用于提取所述旧数据表中的第二字段名称下的数据;根据预设规则,对提取的所述第二字段名称下的数据进行修改;将所述旧数据表中的未经修改的字段名称下的数据以及修改后的所述第二字段名称下的数据作为所述处理后的数据;
所述存储模块,具体用于将所述旧数据表中的未经修改的字段名称下的数据写入与所述未经修改的字段名称对应的所述新数据表的字段名称下,以及将修改的所述第二字段名称下的数据写入与所述第二字段名称对应的所述新数据表的字段名称下。
在上述数据库升级装置的一个实施例中,所述预存储的字段名称包括所述旧数据表的部分字段名称;
所述处理模块,具体用于删除所述旧数据表中的至少一个字段名称下的数据;将所述旧数据表中的剩余字段名称下的数据作为所述处理后的数据;
所述存储模块,具体用于将所述旧数据表中的剩余字段名称下的数据写入与所述剩余字段名称对应的所述新数据表的字段名称下。
本发明提供的数据库升级方法及装置,通过接收旧数据库的旧数据表的数据,对接收的旧数据表的数据进行处理,获得处理后的数据,将处理后的数据存储在新数据库的新数据表中,若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,将业务系统与旧数据库的连接切换到与新数据库的连接,从而保证业务系统不中断,且旧数据库中的数据不丢失。
附图说明
图1为本发明实施例一所提供的数据库升级方法的流程图;
图2为本发明实施例二所提供的数据库升级方法的流程图;
图3为本发明实施例三所提供的数据库升级方法的流程图;
图4为本发明实施例四所提供的数据库升级方法的流程图;
图5为本发明实施例五所提供的数据库升级装置500的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一所提供的数据库升级方法的流程图。本实施例的方法适用于在将业务系统由与旧数据库的连接切换到与新数据库的连接时,能够保证业务系统不中断且旧数据库中的数据不丢失的情况。该方法由数据库升级装置执行,该装置通常以硬件和/或软件的方式来实现。本实施例的方法包括如下步骤:
S110、接收旧数据库的旧数据表中的数据。
数据库升级装置可以向主机发送数据同步请求消息,以使主机根据数据同步请求消息向数据库升级装置发送旧数据库中的旧数据表中存储的数据或者旧数据库中发生更改的数据,或者当主机监控到旧数据库中的旧数据表中有新增数据、数据修改时向数据库升级装置发送新增数据或修改数据。
S120、对接收的旧数据表中的数据进行处理,获得处理后的数据。
S130、将处理后的数据存储在新数据库的新数据表中。
S140、若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,则将业务系统与旧数据库的连接切换到与新数据库的连接。
数据库升级装置可以对旧数据库的数据量以及新数据库的数据量进行统计,若统计出的新数据库的数据量与旧数据库的数据量的差值小于等于设定值,则将业务系统与旧数据库的连接切换到与新数据库的连接,也即在将业务系统切换到与新数据库的连接前,业务系统仍然与旧数据库保持连接,用户仍然可以操作业务系统,通过业务系统向旧数据库中添加新的数据或更改数据,如果旧数据库中有新增数据、数据修改时,主机向数据库升级装置发送新增数据或修改数据,接着执行S120,在新数据库的数据量与旧数据库的数据量的差值小于等于设定值,才将业务系统与旧数据库的连接切换到与新 数据库的连接,从而保证业务系统不中断,且旧数据库中的数据不丢失。其中,新数据库的数据量与旧数据库的数据量的差值小于等于设定值包括以下两种情况:新数据库的数据量与旧数据库的数据量的差值等于0,也即新数据库的数据量与旧数据库的数据量无差值的情况,以及新数据库的数据量与旧数据库的数据量有差值且差值小于设定值的情况。例如,对于一些不太重要的数据,可以允许新数据库的数据量与旧数据库的数据量有差值,在切换到与新数据库的连接后,可以继续完成该些数据的同步,例如一些日志数据的同步。其中,业务系统可以为企业内部通信用短信系统,员工通过短信系统注册账号,并设置登录密码以及完善个人信息,员工注册成功后可以通过账号登录发送短信,员工的注册信息以及操作日志可以保存在旧数据库中,当需要将短信系统与旧数据库的连接切换到与新数据的连接时,可以比较新数据库的数据量与旧数据库的数据量,可以允许新数据库的数据量与旧数据库的数据量有差值,例如同步员工的注册信息后,但还未同步员工的操作日志,在切换到与新数据库的连接后,可以继续完成员工的操作日志的同步。
具体的,接收旧数据库的旧数据表的数据,对接收的旧数据表的数据进行处理,获得处理后的数据,将处理后的数据存储在新数据库的新数据表中,若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,将业务系统与旧数据库的连接切换到与新数据库的连接,从而保证业务系统不中断,且旧数据库中的数据不丢失。
本实施例提供的数据库升级方法,通过接收旧数据库的旧数据表的数据,对接收的旧数据表的数据进行处理,获得处理后的数据,将处理后的数据存储在新数据库的新数据表中,若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,将业务系统与旧数据库的连接切换到与新数据库的连接,从而保证业务系统不中断,且旧数据库中的数据不丢失。
参照图2,图2为本发明实施例二所提供的数据库升级方法的流程图。本实施例以上述实施例一为基础,进行了优化,其中,对接收的旧数据表中的数据进行处理,获得处理后的数据可以通过根据新数据表中预存储的字段名称匹配数据处理方法,获得处理后的数据实现。当新数据表中预存储的字段名称包括新增字段名称以及旧数据表的所有字段名称的情况下,可以匹配本实施例提供的数据处理方法。本实施例的方法可以包括如下步骤:
S210、接收旧数据库的旧数据表中的数据。
S220、提取旧数据表中的第一字段名称下的数据。
S230、根据提取的第一字段名称下的数据,计算与第一字段名称下的数据对应的新增字段名称下的数据。
在S210~S230中,例如,表1为员工信息表,表1中示出有关员工信息的旧数据表包含如下字段名称:姓名、出生日期、工资。如表2所示,新数据表中包含姓名、出生日期、工资、年龄,也即年龄为新增字段名称。并且年龄字段名称可以通过出生日期字段名称计算出来。数据库升级装置在接收到旧数据表中的有关姓名、出生日期、工资的数据后,可以提取出生日期字段名称的数据,并根据出生日期字段名称的数据计算年龄字段名称的数据,在此以出生日期字段名称为旧数据表中的第一字段名称,如表1中所示,旧数据表中姓名为张三的员工,出生日期为1988-5-12,工资为3000,数据库升级装置可以根据1988-5-12计算出张三的年龄为26,也即26为计算出的与出生日期对应的新增字段名称下的数据。
表1
姓名 | 出生日期 | 工资 |
张三 | 1988-5-12 | 3000 |
表2
姓名 | 出生日期 | 工资 | 年龄 |
张三 | 1988-5-12 | 3000 | 26 |
S240、将旧数据表中的所有数据以及计算的新增字段名称下的数据作为处理后的数据。
S250、将旧数据表中的每个字段名称下的数据写入与旧数据表中的每个字段名称对应的新数据表的字段名称下,以及将计算的新增字段名称下的数据写入新数据表的新增字段名称下。
如表1、表2所示,表2中的姓名、出生日期、工资字段名称分别与表1中的姓名、出生日期、工资字段名称对应,将表1中的姓名、出生日期、工资字段名称下的数据分别写入表2中的姓名、出生日期、工资字段名称下,以及将年龄26写入年龄字段名称下,实现在新数据表增加字段名称的情况 下,能够根据旧数据表中的字段名称的数据,计算出新增字段名称的数据,从而可以将新增字段名称的数据写入到新增字段名称下。
S260、若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,则将业务系统与旧数据库的连接切换到与新数据库的连接。
例如,旧数据库中员工信息表和日志数据表,日志数据表用于记录用户操作日志,可以在员工信息表和日志数据表中的所有记录都分别同步到新数据库中的员工信息表和日志数据表中后,将业务系统与旧数据库的连接切换到与新数据库的连接,也即新数据库的数据量与旧数据库的数据量的差值等于0,将业务系统与旧数据库的连接切换到与新数据库的连接。也可以在判断获知新数据库的数据量与旧数据库的数据量有差值且差值小于设定值时,将业务系统与旧数据库的连接切换到与新数据库的连接,例如,由于日志数据表中的数据属于不太重要的数据,可以允许旧数据库中的旧日志数据表中的数据还未同步到新数据库中的新日志数据表的情况下,但员工信息表中的重要数据已经同步完成,将业务系统与旧数据库的连接切换到与新数据库的连接。也即允许新数据库的数据量与旧数据库的数据量有差值且差值小于设定值时,将业务系统与旧数据库的连接切换到与新数据库的连接。在业务系统切换到与新数据库的连接后,可以继续完成旧日志数据表向新日志数据表的同步。
本实施例提供的数据库升级方法,通过接收旧数据库的旧数据表中的数据,提取旧数据表中的第一字段名称下的数据,根据提取的第一字段名称下的数据,计算与第一字段名称下的数据对应的新增字段名称下的数据获得处理后的数据,将旧数据表中的所有数据以及计算的新增字段名称下的数据作为处理后的数据,将旧数据表中的每个字段名称下的数据写入与旧数据表中的每个字段名称对应的新数据表的字段名称下,以及将计算的新增字段名称下的数据写入新数据表的新增字段名称下,若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,则将业务系统与旧数据库的连接切换到与新数据库的连接,从而保证业务系统不中断,且旧数据库中的数据不丢失。
参照图3,图3为本发明实施例三所提供的数据库升级方法的流程图。本实施例以上述实施例一为基础,进行了优化,其中,对接收的旧数据表中 的数据进行处理,获得处理后的数据可以通过根据新数据表中预存储的字段名称匹配数据处理方法,获得处理后的数据实现。当新数据表中预存储的字段名称包括旧数据表的所有字段名称的情况下,可以匹配本实施例提供的数据处理方法。本实施例的方法可以包括如下步骤:
S310、接收旧数据库的旧数据表中的数据。
S320、提取旧数据表中的第二字段名称下的数据。
S330、根据预设规则,对提取的第二字段名称下的数据进行修改。
预设规则例如为根据业务需要,需将员工工资增加1000。在S310~S330中,若仍以上述表1中示出的数据为例,表1为旧数据表,现需要对员工工资进行普调,在原来工资的基础上增加1000,数据库升级装置在接收到旧数据表中的有关姓名、出生日期、工资的数据后,可以提取工资字段名称的数据,并在提取的工资字段名称的数据的基础上增加1000后作为调整后的工资字段名称的数据,在此以工资字段名称为旧数据表中的第二字段名称,如表3中所示,表3为新数据表,旧数据表中姓名为张三的员工,出生日期为1988-5-12,工资为3000,数据库升级装置可以根据工资3000计算出工资调整后张三的工资为4000,也即4000为对提取的工资字段名称下的数据进行修改后的数据。
表3
姓名 | 出生日期 | 工资 |
张三 | 1988-5-12 | 4000 |
S340、将旧数据表中的未经修改的字段名称下的数据以及修改后的第二字段名称下的数据作为处理后的数据。
S350、将旧数据表中的未经修改的字段名称下的数据写入与未经修改的字段名称对应的新数据表的字段名称下,以及将修改的第二字段名称下的数据写入与第二字段名称对应的新数据表的字段名称下。
如表1、表3所示,表1中的姓名、出生日期、工资字段名称分别与表3中的姓名、出生日期、工资字段名称对应,未经修改的字段名称下的数据为表1中的姓名、出生日期字段名称下的数据,修改的字段名称下的数据为工资字段名称下的数据,将表1中的姓名、出生日期字段名称下的数据分别写 入表3中的姓名、出生日期、字段名称下,以及将工资4000写入表3中的工资字段名称下,实现对表1中的数据进行更改后写入到新数据表中。
S360、若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,则将业务系统与旧数据库的连接切换到与新数据库的连接。
需要说明的是,也可以在判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,将业务系统与旧数据库的连接切换到与新数据库的连接。例如,新数据库和旧数据库中还分别包括一个记录用户操作日志的日志数据表,例如用于记录用户访问了哪些网址,而日志数据表中的数据属于不太重要的数据,可以允在许旧日志数据表中的数据还未同步到新日志数据表的情况下,但员工信息表等重要数据已经同步完成,将业务系统与旧数据库的连接切换到与新数据库的连接。也即允许新数据库的数据量与旧数据库的数据量的差值小于等于设定值,将业务系统与旧数据库的连接切换到与新数据库的连接。在业务系统切换到与新数据库的连接后,可以继续完成旧日志数据表向新日志数据表的同步。
本实施例提供的数据库升级方法,通过接收旧数据库的旧数据表中的数据,提取旧数据表中的第二字段名称下的数据,根据预设规则,对提取的第二字段名称下的数据进行修改,将旧数据表中的未经修改的字段名称下的数据以及修改后的第二字段名称下的数据作为处理后的数据,将旧数据表中的未经修改的字段名称下的数据写入与未经修改的字段名称对应的新数据表的字段名称下,以及将修改的第二字段名称下的数据写入与第二字段名称对应的新数据表的字段名称下,若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,则将业务系统与旧数据库的连接切换到与新数据库的连接,从而保证业务系统不中断,且旧数据库中的数据不丢失。
参照图4,图4为本发明实施例四所提供的数据库升级方法的流程图。本实施例以上述实施例一为基础,进行了优化,其中,对接收的旧数据表中的数据进行处理,获得处理后的数据可以通过根据新数据表中预存储的字段名称匹配数据处理方法,获得处理后的数据实现。当新数据表中预存储的字段名称包括旧数据表的部分字段名称的情况下,可以匹配本实施例提供的数据处理方法。本实施例的方法可以包括如下步骤:
S410、接收旧数据库的旧数据表中的数据。
S420、删除旧数据表中的至少一个字段名称下的数据。
S430、将旧数据表中的剩余字段名称下的数据作为处理后的数据。
如果表4为旧数据表,表4中包括姓名、出生日期、工资字段名称,还包括籍贯字段名称,如表4示出的,而籍贯字段名称对实际业务需要的作用不明显,因此,若需要将籍贯字段名称下的数据删除后得到剩余字段名称的数据,则数据库升级装置在接收到旧数据表中的有关姓名、出生日期、工资、籍贯字段名称的数据后,可以删除籍贯字段名称的数据,将姓名、出生日期、工资字段名称下的数据作为处理后的数据。
表4
姓名 | 出生日期 | 工资 | 籍贯 |
张三 | 1988-5-12 | 3000 | 北京 |
S440、将旧数据表中的剩余字段名称下的数据写入与剩余字段名称对应的新数据表的字段名称下。
新数据表可以参照上述表1中所示,将姓名、出生日期、工资字段名称下的数据分别写入与表1中的姓名、出生日期、工资字段名称下。
S450、若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,则将业务系统与旧数据库的连接切换到与新数据库的连接。
需要说明的是,也可以在判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,将业务系统与旧数据库的连接切换到与新数据库的连接。例如,新数据库和旧数据库中还分别包括一个记录用户操作日志的日志数据表,例如用于记录用户访问了哪些网址,而日志数据表中的数据属于不太重要的数据,可以允在许旧日志数据表中的数据还未同步到新日志数据表的情况下,但员工信息表等重要数据已经同步完成,将业务系统与旧数据库的连接切换到与新数据库的连接。也即允许新数据库的数据量与旧数据库的数据量的差值小于等于设定值,将业务系统与旧数据库的连接切换到与新数据库的连接。在业务系统切换到与新数据库的连接后,可以继续完成旧日志数据表向新日志数据表的同步。
本实施例提供的数据库升级方法,通过接收旧数据库的旧数据表中的数据,删除旧数据表中的至少一个字段名称下的数据,将旧数据表中的剩余字段名称下的数据作为处理后的数据,将旧数据表中的剩余字段名称下的数据 写入与剩余字段名称对应的新数据表的字段名称下,若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,则将业务系统与旧数据库的连接切换到与新数据库的连接,从而保证业务系统不中断,且旧数据库中的数据不丢失。
图5为本发明实施例五所提供的数据库升级装置500的结构示意图。本实施例提供的数据库升级装置可以用于执行如图1所示方法实施例的技术方案,参照图5,该数据库升级装置包括:接收模块510、处理模块520、存储模块530和切换模块540。
接收模块510用于接收旧数据库的旧数据表中的数据;处理模块520用于对接收的旧数据表中的数据进行处理,获得处理后的数据;存储模块530用于将处理后的数据存储在新数据库的新数据表中;切换模块540用于若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,则将业务系统与旧数据库的连接切换到与新数据库的连接。
本实施例提供的数据库升级装置,通过接收旧数据库的旧数据表的数据,对接收的旧数据表的数据进行处理,获得处理后的数据,将处理后的数据存储在新数据库的新数据表中,若判断获知新数据库的数据量与旧数据库的数据量的差值小于等于设定值,则将业务系统与旧数据库的连接切换到与新数据库的连接,从而保证业务系统不中断,且旧数据库中的数据不丢失。
进一步的,处理模块520,具体用于根据新数据表中预存储的字段名称匹配数据处理方法,获得处理后的数据;其中,预存储的字段名称包括下述任意一项:新增字段名称以及旧数据表的所有字段名称、旧数据表的所有字段名称、旧数据表的部分字段名称。
进一步的,预存储的字段名称包括新增字段名称以及旧数据表的所有字段名称;
处理模块520,具体用于提取旧数据表中的第一字段名称下的数据;根据提取的第一字段名称下的数据,计算与第一字段名称下的数据对应的新增字段名称下的数据;将旧数据表中的所有数据以及计算的新增字段名称下的数据作为处理后的数据;
存储模块530,具体用于将旧数据表中的每个字段名称下的数据写入与旧数据表中的每个字段名称对应的新数据表的字段名称下,以及将计算的新 增字段名称下的数据写入新数据表的新增字段名称下。
进一步的,预存储的字段名称包括旧数据表的所有字段名称;
处理模块520,具体用于提取旧数据表中的第二字段名称下的数据;根据预设规则,对提取的第二字段名称下的数据进行修改;将旧数据表中的未经修改的字段名称下的数据以及修改后的第二字段名称下的数据作为处理后的数据;
存储模块530,具体用于将旧数据表中的未经修改的字段名称下的数据写入与未经修改的字段名称对应的新数据表的字段名称下,以及将修改的第二字段名称下的数据写入与第二字段名称对应的新数据表的字段名称下。
进一步的,预存储的字段名称包括旧数据表的部分字段名称;
处理模块520,具体用于删除旧数据表中的至少一个字段名称下的数据;将旧数据表中的剩余字段名称下的数据作为处理后的数据;
存储模块530,具体用于将旧数据表中的剩余字段名称下的数据写入与剩余字段名称对应的新数据表的字段名称下。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种数据库升级方法,其特征在于,包括:
接收旧数据库的旧数据表中的数据;
对接收的所述旧数据表中的数据进行处理,获得处理后的数据;
将所述处理后的数据存储在新数据库的新数据表中;
若判断获知所述新数据库的数据量与所述旧数据库的数据量的差值小于等于设定值,则将业务系统与所述旧数据库的连接切换到与所述新数据库的连接。
2.根据权利要求1所述的方法,其特征在于,所述对接收的所述旧数据表中的数据进行处理,获得处理后的数据,包括:
根据新数据表中预存储的字段名称匹配数据处理方法,获得处理后的数据;其中,所述预存储的字段名称包括下述任意一项:新增字段名称以及所述旧数据表的所有字段名称、所述旧数据表的所有字段名称、所述旧数据表的部分字段名称。
3.根据权利要求2所述的方法,其特征在于,所述预存储的字段名称包括新增字段名称以及所述旧数据表的所有字段名称;
所述对接收的所述旧数据表中的数据进行处理,获得处理后的数据,包括:
提取所述旧数据表中的第一字段名称下的数据;
根据提取的所述第一字段名称下的数据,计算与所述第一字段名称下的数据对应的所述新增字段名称下的数据;
将所述旧数据表中的所有数据以及计算的所述新增字段名称下的数据作为所述处理后的数据;
所述将所述处理后的数据存储在新数据库的新数据表中,包括:
将所述旧数据表中的每个字段名称下的数据写入与所述旧数据表中的每个字段名称对应的所述新数据表的字段名称下,以及将计算的所述新增字段名称下的数据写入所述新数据表的新增字段名称下。
4.根据权利要求2所述的方法,其特征在于,所述预存储的字段名称包括所述旧数据表的所有字段名称;
所述对接收的所述旧数据表中的数据进行处理,获得处理后的数据,包括:
提取所述旧数据表中的第二字段名称下的数据;
根据预设规则,对提取的所述第二字段名称下的数据进行修改;
将所述旧数据表中的未经修改的字段名称下的数据以及修改后的所述第二字段下的数据作为所述处理后的数据;
所述将所述处理后的数据存储在新数据库的新数据表中,包括:
将所述旧数据表中的未经修改的字段名称下的数据写入与所述未经修改的字段名称对应的所述新数据表的字段名称下,以及将修改的所述第二字段名称下的数据写入与所述第二字段名称对应的所述新数据表的字段名称下。
5.根据权利要求2所述的方法,其特征在于,所述预存储的字段名称包括所述旧数据表的部分字段名称;
所述对接收的所述旧数据表中的数据进行处理,获得处理后的数据,包括:
删除所述旧数据表中的至少一个字段名称下的数据;
将所述旧数据表中的剩余字段名称下的数据作为所述处理后的数据;
所述将所述处理后的数据存储在新数据库的新数据表中,包括:
将所述旧数据表中的剩余字段名称下的数据写入与所述剩余字段名称对应的所述新数据表的字段名称下。
6.一种数据库升级装置,其特征在于,包括:
接收模块,用于接收旧数据库的旧数据表中的数据;
处理模块,用于对接收的所述旧数据表中的数据进行处理,获得处理后的数据;
存储模块,用于将所述处理后的数据存储在新数据库的新数据表中;
切换模块,用于若判断获知所述新数据库的数据量与所述旧数据库的数据量的差值小于等于设定值,则将业务系统与所述旧数据库的连接切换到与所述新数据库的连接。
7.根据权利要求6所述的装置,其特征在于,所述处理模块,具体用于根据新数据表中预存储的字段名称匹配数据处理方法,获得处理后的数据;其中,所述预存储的字段名称包括下述任意一项:新增字段名称以及所述旧数据表的所有字段名称、所述旧数据表的所有字段名称、所述旧数据表的部分字段名称。
8.根据权利要求7所述的装置,其特征在于,所述预存储的字段名称包括新增字段名称以及所述旧数据表的所有字段名称;
所述处理模块,具体用于提取所述旧数据表中的第一字段名称下的数据;根据提取的所述第一字段名称下的数据,计算与所述第一字段名称下的数据对应的所述新增字段名称下的数据;将所述旧数据表中的所有数据以及计算的所述新增字段名称下的数据作为所述处理后的数据;
所述存储模块,具体用于将所述旧数据表中的每个字段名称下的数据写入与所述旧数据表中的每个字段名称对应的所述新数据表的字段名称下,以及将计算的所述新增字段名称下的数据写入所述新数据表的新增字段名称下。
9.根据权利要求7所述的装置,其特征在于,所述预存储的字段名称包括所述旧数据表的所有字段名称;
所述处理模块,具体用于提取所述旧数据表中的第二字段名称下的数据;根据预设规则,对提取的所述第二字段名称下的数据进行修改;将所述旧数据表中的未经修改的字段名称下的数据以及修改后的所述第二字段名称下的数据作为所述处理后的数据;
所述存储模块,具体用于将所述旧数据表中的未经修改的字段名称下的数据写入与所述未经修改的字段名称对应的所述新数据表的字段名称下,以及将修改的所述第二字段名称下的数据写入与所述第二字段名称对应的所述新数据表的字段名称下。
10.根据权利要求7所述的装置,其特征在于,所述预存储的字段名称包括所述旧数据表的部分字段名称;
所述处理模块,具体用于删除所述旧数据表中的至少一个字段名称下的数据;将所述旧数据表中的剩余字段名称下的数据作为所述处理后的数据;
所述存储模块,具体用于将所述旧数据表中的剩余字段名称下的数据写入与所述剩余字段名称对应的所述新数据表的字段名称下。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410776397.3A CN104750774A (zh) | 2014-12-15 | 2014-12-15 | 数据库升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410776397.3A CN104750774A (zh) | 2014-12-15 | 2014-12-15 | 数据库升级方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104750774A true CN104750774A (zh) | 2015-07-01 |
Family
ID=53590460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410776397.3A Pending CN104750774A (zh) | 2014-12-15 | 2014-12-15 | 数据库升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104750774A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294046A (zh) * | 2016-08-19 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种数据库实时写入数据测试存储系统丢失数据的方法 |
CN106844423A (zh) * | 2016-12-09 | 2017-06-13 | 北京锐安科技有限公司 | 一种数据检测的方法及装置 |
CN106897332A (zh) * | 2016-06-14 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 数据库扩容方法及装置 |
CN107657066A (zh) * | 2017-11-13 | 2018-02-02 | 医渡云(北京)技术有限公司 | 医疗数据科研字段自定义方法及装置 |
CN112835869A (zh) * | 2021-01-15 | 2021-05-25 | 中国船舶重工集团公司七五0试验场 | 一种基于反向数据灌溉的模糊数据清洗方法 |
CN113704265A (zh) * | 2021-08-31 | 2021-11-26 | 上海华力集成电路制造有限公司 | 一种数据维护方法、系统、电子设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5734887A (en) * | 1995-09-29 | 1998-03-31 | International Business Machines Corporation | Method and apparatus for logical data access to a physical relational database |
CN101183361A (zh) * | 2006-11-13 | 2008-05-21 | 中兴通讯股份有限公司 | 一种关系数据库应用自动升级的方法 |
CN102065413A (zh) * | 2010-11-17 | 2011-05-18 | 北京北方烽火科技有限公司 | 数据库升级方法及系统、基站自启动方法及系统 |
CN102902818A (zh) * | 2012-10-26 | 2013-01-30 | 杭州迪普科技有限公司 | 一种数据库升级的方法及装置 |
CN103530290A (zh) * | 2012-07-03 | 2014-01-22 | 深圳市腾讯计算机系统有限公司 | 数据库间的数据迁移方法和系统 |
CN103778066A (zh) * | 2014-01-24 | 2014-05-07 | 中国工商银行股份有限公司 | 数据处理方法和装置 |
CN103995854A (zh) * | 2014-05-13 | 2014-08-20 | 大唐移动通信设备有限公司 | 一种设备跨版本升级方法和装置 |
-
2014
- 2014-12-15 CN CN201410776397.3A patent/CN104750774A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5734887A (en) * | 1995-09-29 | 1998-03-31 | International Business Machines Corporation | Method and apparatus for logical data access to a physical relational database |
CN101183361A (zh) * | 2006-11-13 | 2008-05-21 | 中兴通讯股份有限公司 | 一种关系数据库应用自动升级的方法 |
CN102065413A (zh) * | 2010-11-17 | 2011-05-18 | 北京北方烽火科技有限公司 | 数据库升级方法及系统、基站自启动方法及系统 |
CN103530290A (zh) * | 2012-07-03 | 2014-01-22 | 深圳市腾讯计算机系统有限公司 | 数据库间的数据迁移方法和系统 |
CN102902818A (zh) * | 2012-10-26 | 2013-01-30 | 杭州迪普科技有限公司 | 一种数据库升级的方法及装置 |
CN103778066A (zh) * | 2014-01-24 | 2014-05-07 | 中国工商银行股份有限公司 | 数据处理方法和装置 |
CN103995854A (zh) * | 2014-05-13 | 2014-08-20 | 大唐移动通信设备有限公司 | 一种设备跨版本升级方法和装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897332A (zh) * | 2016-06-14 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 数据库扩容方法及装置 |
CN106294046A (zh) * | 2016-08-19 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种数据库实时写入数据测试存储系统丢失数据的方法 |
CN106844423A (zh) * | 2016-12-09 | 2017-06-13 | 北京锐安科技有限公司 | 一种数据检测的方法及装置 |
CN107657066A (zh) * | 2017-11-13 | 2018-02-02 | 医渡云(北京)技术有限公司 | 医疗数据科研字段自定义方法及装置 |
CN112835869A (zh) * | 2021-01-15 | 2021-05-25 | 中国船舶重工集团公司七五0试验场 | 一种基于反向数据灌溉的模糊数据清洗方法 |
CN113704265A (zh) * | 2021-08-31 | 2021-11-26 | 上海华力集成电路制造有限公司 | 一种数据维护方法、系统、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104750774A (zh) | 数据库升级方法及装置 | |
US20200356624A1 (en) | Collaborative document editing system and method | |
CN112714359B (zh) | 视频推荐方法、装置、计算机设备及存储介质 | |
CN103457905A (zh) | 数据同步方法、系统及设备 | |
CN100579122C (zh) | 无线应用协议网关浏览业务cookie的实现方法 | |
CN105740337A (zh) | 一种基于内容的发布订阅系统中的事件快速匹配方法 | |
CN107528867B (zh) | 信息推送方法和系统 | |
CN105900093A (zh) | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 | |
CN103905561A (zh) | 一种同步数据的方法及系统 | |
CN102495739A (zh) | 一种数据的兼容方法、板间消息的兼容方法及相应系统 | |
CN104486448B (zh) | 一种数据处理方法及装置 | |
EP3048770A1 (en) | Method, apparatus and system for determining target user for business strategy | |
CN108959278B (zh) | 一种数据同步方法、装置、电子设备以及存储介质 | |
CN110460660B (zh) | 一种联系人信息的同步方法和装置 | |
CN106899558B (zh) | 访问请求的处理方法、装置和存储介质 | |
CN114880522A (zh) | 基于图数据库实现ID Mapping的方法及装置 | |
US9916288B2 (en) | Method and server for pushing cellular lexicon | |
WO2021057515A1 (zh) | 日切数据卸载方法、装置、设备及介质 | |
CN102737082A (zh) | 一种动态更新文稿数据索引的方法和系统 | |
CN106027496A (zh) | 基于可信判别的通讯录云管理系统 | |
CN103118092A (zh) | 单次登录实现方法和装置 | |
CN107609068B (zh) | 一种数据无感迁移方法 | |
CN105550347B (zh) | 数据处理方法及装置 | |
CN102300200A (zh) | 一种软件版本升级的方法、版本发布设备及移动终端 | |
CN105610957A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150701 |