一种数据库备份和对上网时间记录表备份的方法

文档序号:6561129阅读:426来源:国知局
专利名称:一种数据库备份和对上网时间记录表备份的方法
所属领域本发明涉及一种数据库的备份方法,确切地说,涉及一种将数据库中相关的表格分成结构完全相同的两个表,并轮流使用该两个表,同时分时对该两个表进行备份的方法;该方法也可应用于对拨号上网用户端口的上网时间进行统计的历史记录表进行备份。属于数据库的应用技术领域。
在呼叫管理中心CMC中,每个拨号上网用户的上网时间的历史记录表tbl_history的数据量相当大,如果有10万用户端口的话,以每条记录的长度为128byte,利用率为50%,用户平均上网时间为15分钟,那么一天期间内产生的历史记录为100000×50%×24×(60/15)=4800000;需占用空间4800000×128/1024/1024=586MB。这就要求必须在较短的时间内对数据进行清空,故根本不可能进行“完全备份+增量备份”;CMC又要求在任何时间保证对上下网操作的响应时间不能太长。也就是CMC系统对实时性要求较高,备份时应不使系统性能受到影响。
本发明的另一目的是提供一种对拨号上网用户端口的上网时间进行统计的历史记录表进行备份的方法,以满足呼叫管理中心的管理需求。
本发明的目的是这样实现的一种数据库的备份方法,其特征在于包括有下列步骤(1)首先,将该数据库中不断添加有新数据或新记录的各个表列出,并将每一个这样的表都分为两个结构完全相同的表表1和表2,同时,对每一组表1和表2都增设一个参数表,该参数表里设有一个指针,用于指示应往上述表1和表2中的哪一个表插入数据;(2)然后,每次插入新数据或新记录时,都应先取出参数表中的指针,并将该新数据或新记录插入到该指针所指向的表;(3)经过一个设定时间后,对刚才存入新数据或新记录的表进行备份,同时,清空另一个表,接着,将参数表中的指针修改为指向另一个表;(4)这时若要插入另一个新数据或新记录,应将其插入到参数表中的指针此时所指向的另一个表;(5)然后不断重复循环上述步骤(3)、(4)。
在备份数据时,可将两个表中的数据分别备份成文本文件,便于管理维护。
当备份数据不成功时,不进行清空另一个表和修改参数表中的指针的操作,此时,继续向原来的表中插入数据。
本发明的另一目的是这样实现的一种对拨号上网用户端口的上网时间进行统计的历史记录表进行备份的方法,其特征在于包括有下列步骤(1)将用SYBASE数据库编制的上网时间的历史记录表tbl_history分为两个表tbl_history1和tbl_history2;同时,增设一个参数表,该参数表里设有一个指针,用于指示应往上述哪一个表中插入数据;(2)然后,每次插入新记录时,都应先取出参数表中的指针,并将该新记录插入到该指针所指向的表;(3)经过一个设定时间后,对刚才存入新记录的表使用“bcp”块拷贝工具将表中的数据备份到一个文本文件中,同时,用“truncate”命令清空另一个表,接着,将参数表中的指针修改为指向另一个表;(4)这时若要插入另一个新记录,应将其插入到参数表中的指针此时所指向的另一个表;(5)然后不断重复循环上述步骤(3)、(4)。
本发明是对快速增长的数据库提供的一种全新的备份方法。数据库中快速增长的数据或记录通常是由记流水帐式的不断迅速添加数据或记录造成的,而这种情况一般只涉及到该数据库中的几个表。本发明的特点是将这些表中的每一个表(即数据库)都分为两个表,并轮流进行复制备份。这样既能保证被备份的数据库中的数据量不会过大,又不影响整个系统的运行。
本发明的数据备份方法在呼叫管理中心管理统计拨号上网用户的上网时间的历史(流水)记录表中得到了很好的应用,其中将数据库用“bcp”块拷贝工具备份成没有格式的文本文件,可以随时使用“笔记本”、“编辑器”等工具打开该文件进行处理和拷贝,便于管理和维护。在清空表时使用的“truncate”命令,可以不保存日志,提高备份速度。
本发明是一种数据库的备份方法,主要用于对数据量快速增长的数据库进行备份。参见

图1,其包括有下列步骤(1)首先,将该数据库中不断添加有新数据或新记录的各个表列出,并将每一个这样的表都分为两个结构完全相同的表表1和表2,同时,对每一组表1和表2都增设一个参数表,该参数表里设有一个指针,用于指示应往上述表1和表2中的哪一个表插入数据;(2)然后,每次插入新数据或新记录时,都应先取出参数表中的指针,并将该新数据或新记录插入到该指针所指向的表(例如参数表中的指针为1,则将该新数据或新记录插入到表1);(3)经过一个设定时间后,对刚才存入新数据或新记录的表进行备份(即对表1进行备份),同时,清空另一个表(即清空表2),接着,将参数表中的指针修改为指向该另一个表(即将参数表中的指针改为2);(4)这时若要插入另一个新数据或新记录,应将其插入到参数表中的指针此时所指向的该另一个表(即将该新数据或新记录插入到表2);(5)然后不断重复循环上述步骤(3)、(4)。
本发明在备份数据时,可将两个表中的数据分别备份成文本文件,便于管理维护。此外,当表1备份数据不成功时,不应清空另一个表(即表2)和修改参数表中的指针,此时,应继续向原来的表(即表1)中插入数据。
本发明用于对拨号上网用户端口的上网时间进行统计的历史记录表进行备份时,包括有下列步骤(1)将用SYBASE数据库编制的上网时间的历史记录表tbl_history分为两个表tbl_history1和tbl_history2;同时,增设一个参数表,该参数表里设有一个指针,用于指示应往上述哪一个表中插入数据;(2)然后,每次插入新记录时,都应先取出参数表中的指针,并将该新记录插入到该指针所指向的表(例如参数表中的指针为1,则将该新数据或新记录插入到表tbl_history1);(3)经过一个设定时间后,对刚才存入新记录的表(即tbl_history1)使用“bcp”块拷贝工具将表中的数据备份到一个文本文件中,同时,用“truncate”命令清空另一个表(即tbl_history2),接着,将参数表中的指针修改为指向另一个表(即tbl_history2);(4)这时若要插入另一个新记录,应将其插入到参数表中的指针此时所指向的另一个表(即tbl_history2);(5)然后不断重复循环上述步骤(3)、(4)。
本发明已经在申请人研制的接入服务器上进行较长时间的试验实施,取得了比较理想的试验结果,基本实现了发明目的。
权利要求
1.一种数据库的备份方法,其特征在于包括有下列步骤(1)首先,将该数据库中不断添加有新数据或新记录的各个表列出,并将每一个这样的表都分为两个结构完全相同的表表1和表2,同时,对每一组表1和表2都增设一个参数表,该参数表里设有一个指针,用于指示应往上述表1和表2中的哪一个表插入数据;(2)然后,每次插入新数据或新记录时,都应先取出参数表中的指针,并将该新数据或新记录插入到该指针所指向的表;(3)经过一个设定时间后,对刚才存入新数据或新记录的表进行备份,同时,清空另一个表,接着,将参数表中的指针修改为指向另一个表;(4)这时若要插入另一个新数据或新记录,应将其插入到参数表中的指针此时所指向的另一个表;(5)然后不断重复循环上述步骤(3)、(4)。
2.根据权利要求1所述的数据库的备份方法,其特征在于在备份数据时,可将两个表中的数据分别备份成文本文件。
3.根据权利要求1所述的数据库的备份方法,其特征在于当备份数据不成功时,不进行清空另一个表和修改参数表中的指针的操作,此时,继续向原来的表中插入数据。
4.一种对拨号上网用户端口的上网时间进行统计的历史记录表进行备份的方法,其特征在于包括有下列步骤(1)将用SYBASE数据库编制的上网时间的历史记录表tbl_history分为两个表tbl_history1和tbl_history2;同时,增设一个参数表,该参数表里设有一个指针,用于指示应往上述哪一个表中插入数据;(2)然后,每次插入新记录时,都应先取出参数表中的指针,并将该新记录插入到该指针所指向的表;(3)经过一个设定时间后,对刚才存入新记录的表使用“bcp”块拷贝工具将表中的数据备份到一个文本文件中,同时,用“truncate”命令清空另一个表,接着,将参数表中的指针修改为指向另一个表;(4)这时若要插入另一个新记录,应将其插入到参数表中的指针此时所指向的另一个表;(5)然后不断重复循环上述步骤(3)、(4)。
全文摘要
一种数据库备份和对上网时间记录表备份的方法,其步骤为(1)将该数据库中不断添加有新记录的各个表列出,并将每一个这样的表都分为两个结构完全相同的表表1和表2,同时,对每一组表1和表2都增设一参数表,该参数表里设有一指针,用于指示应往上述表1和表2中的哪一个表插入数据;(2)每次插入新记录时,都应先取出参数表中的指针,并将该新记录插入到该指针所指向的表;(3)经过一个设定时间后,对刚才存入新记录的表进行备份,同时,清空另一个表,接着,将参数表中的指针修改为指向另一个表;(4)这时若要插入另一个新记录,应将其插入到参数表中的指针此时所指向的另一个表;(5)然后不断重复循环上述步骤(3)、(4)。
文档编号G06F17/40GK1400551SQ01123950
公开日2003年3月5日 申请日期2001年8月7日 优先权日2001年8月7日
发明者李传峰, 苏玉涛 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1