一种网管历史数据的多表格处理方法转让专利
申请号 : CN200710098152.X
文献号 : CN100589102C
文献日 : 2010-02-10
发明人 : 万传芫
申请人 : 中兴通讯股份有限公司
摘要 :
权利要求 :
1、一种网管历史数据的多表格处理方法,应用于网络管理系统,包括 以下步骤:a、在数据库中创建至少3个数据结构相同的表格,设置各表格的使用 顺序,设定单个表格的最大数据条数,设定数据库中所有表格的数据总条数 的值是上限阀值G;
b、在所述数据库的所有表格中搜索状态为正在使用的表格,并使用该 表格记录历史数据;
c、当检测所述数据库的所有表格记录的数据条数之和达到所述上限阀 值G×t%的值时,其中70≤t≤100,清空状态为正在使用的表格的后一个表 格的历史数据;
d、当检测所述数据库的状态为正在使用的表格中历史数据条数达到设 定的所述单个表格的最大数据条数时,使后一个表格记录历史数据,同时将 该后一个表格的状态设为正在使用、将前一个状态为正在使用的表格的状态 设为未使用。
2、如权利要求1所述的方法,其特征在于,所述步骤a中,所述各表 格为空,所有所述表格的状态都设为未使用。
3、如权利要求1所述的方法,其特征在于,所述步骤b中,如果所述 所有表格的状态都为未使用,则依据预先设置的所述各表格的使用顺序,选 取第一个表格记录历史数据,同时设定该第一个表格的状态为正在使用。
4、如权利要求1、2或3所述的方法,其特征在于,当所述网络管理系 统重新启动时,选择上一次退出时状态为正在使用的表格作为当前使用表格 记录历史数据。
5、如权利要求1、2或3所述的方法,其特征在于,采用所述数据库的 清空一个表的操作命令来清空所述表格的历史数据,所述表格清空时间为秒 级。
6、如权利要求1、2或3所述的方法,其特征在于,所述上限阀值G 是所述数据库中所有表格的个数乘以所述单个表格的最大数据条数得到的 值。
7、如权利要求1、2或3所述的方法,其特征在于,还包括对所述单个 表格进行数据查询和数据插入。
说明书 :
技术领域
本发明涉及网络管理系统的一种网管历史数据的多表格处理方法。
背景技术
发明内容
为了解决上述技术问题,本发明提供了一种网管历史数据的多表格处理 方法,应用于网络管理系统,包括以下步骤:
a、在数据库中创建至少3个数据结构相同的表格,设置各表格的使用 顺序,设定单个表格的最大数据条数,设定数据库中所有表格的数据总条数 的值是上限阀值G;
b、在所述数据库的所有表格中搜索状态为正在使用的表格,并使用该 表格记录历史数据;
c、当检测所述数据库的所有表格记录的数据条数之和达到所述上限阀 值G×t%的值时,其中70≤t≤100,清空状态为正在使用的表格的后一个表 格的历史数据;
d、当检测所述数据库的状态为正在使用的表格中历史数据条数达到设 定的所述单个表格的最大数据条数时,使后一个表格记录历史数据,同时将 该后一个表格的状态设为正在使用、将前一个状态为正在使用的表格的状态 设为未使用。
进一步地,上述方法还可包括,所述步骤a中,所述各表格为空,所有 所述表格的状态都设为未使用。
进一步地,上述方法还可包括,所述步骤b中,如果所述所有表格的状 态都为未使用,则依据预先设置的所述各表格的使用顺序,选取第一个表格 记录历史数据,同时设定该第一个表格的状态为正在使用。
进一步地,上述方法还可包括,当所述网络管理系统重新启动时,选择 上一次退出时状态为正在使用的表格作为当前使用表格记录历史数据。
进一步地,上述方法还可包括,采用所述数据库的操作命令为清空一个 表truncate,来清空所述表格的历史数据,所述表格清空时间为秒级。
进一步地,上述方法还可包括,所述上限阀值G是所述数据库中所有 表格的个数乘以所述单个表格的最大数据条数得到的值。
进一步地,上述方法还可包括,对所述单个表格进行数据查询和数据插 入。
与现有技术相比,由于在网络管理系统中应用本发明一种网管历史数据 的多表格处理方法,解决了当前在删除大批量历史数据耗费时间长、效率低 并影响网管系统正常运行的问题,删除过程中数据库不用记录被删除数据的 日志,效率高、耗时短,同时该方法保留了传统单个表格存储历史数据方法 中数据查询和插入操作的高效率,从而提高了网管系统的效率和可靠性
附图说明
具体实施方式
在网络管理系统中,包括对单个表格进行数据查询和数据插入。
第一实施例:
图1描述了本发明实施例的一种网管历史数据的多表格处理方法中表 格切换使用的实现步骤,具体步骤如下:
步骤1、在数据库中创建n个数据结构相同的表格,所述n是大于2的 整数,本发明实施例中假设n=6,设置该6个表格的使用顺序,设定单个 表格的最大数据条数;
所述6个表格为空,该6个表格的状态都设为未使用。
步骤2、第一次启动时,依照所述6个表格的使用顺序,第一个表格记 录历史数据,并将第一个表格的状态设为正在使用;
当重新启动时,选择上一次退出时状态为正在使用的表格作为当前使用 表格记录历史数据。
步骤3、检测第一个表格记录的历史数据条数增加到设定的单个表格最 大数据条数时,切换到第二个表格记录历史数据,同时将第一个表格的状态 设为未使用,第二个表格的状态设为正在使用;
同理可推,第一到第六个表格依次记录历史数据,并在切换的同时设定 前后两个表格的状态。
步骤4、当使用第六个表格记录历史数据时,如果历史数据条数达到单 个表格的最大数据条数时,清空第一个表格的历史数据,切换到第一个表格 记录历史数据,将第一个表格的状态设为正在使用,第六个表格的状态设为 未使用,返回步骤3。
清空表格的历史数据时,可以采用数据库的“清空一个表(truncate)” 操作命令清空表格的历史数据;清空表格的过程耗时极短,时间为秒级。
试验数据显示清空一个包含2千万条数据的表格的时间约为10秒中, 而传统方法在一个表中删除2千万条数据的时间约为30分钟。
第二实施例:
在数据库中创建n个数据结构相同的表格,所述n是大于2的整数,设 置各表格的使用顺序,设定单个表格的最大数据条数,设定数据库中n个表 格的数据总条数的值是上限阀值G,上限阀值G是大于0的整数。
上限阀值G=n×单个表格的最大数据条数。
步骤a、在数据库的所有表格中搜索状态为正在使用的表格,并使用该 表格记录历史数据;
如果所有表格的状态都为未使用,则选取第一个表格记录历史数据,同 时设定第一个表格的状态为正在使用。
步骤b、当检测所述数据库的所有表格记录的数据条数之和达到所述上 限阀值G×t%的值时,清空状态为正在使用的表格的后一个表格的历史数 据;
其中70≤t≤100。
步骤c、当检测状态为正在使用的表格中的历史数据条数达到设定的单 表格的最大数据条数时,使后一个表格记录历史数据,同时将该后一个表格 的状态设为正在使用,将前一个状态为正在使用的表格的状态设为未使用。
以上所述仅为本发明的示意实施例,应当知道这可以有许多变型,这种 变型不被认为是脱离本发明的示意实施例的精神和范围,并且所有这样的本 领域普通技术人员显而易见的变型被包含在所附权利要求的范围之内。