[发明专利]一种网管海量历史数据管理方法有效
申请号: | 201210401421.6 | 申请日: | 2012-10-19 |
公开(公告)号: | CN102867071A | 公开(公告)日: | 2013-01-09 |
发明(设计)人: | 邹昊 | 申请(专利权)人: | 烽火通信科技股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京捷诚信通专利事务所(普通合伙) 11221 | 代理人: | 魏殿绅;庞炳良 |
地址: | 430074 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网管 海量 历史 数据管理 方法 | ||
技术领域
本发明涉及网管管理系统中历史数据的管理,具体说是一种网管海量历史数据管理方法。
背景技术
目前网络技术日新月异,宽带用户规模不断扩大,电信网管系统管理的设备数量也在不断增长,电信网管系统日常管理的日志、设备的告警数据等数据都需要保存在数据库中,电信网管系统对这些数据的使用方式为记录数据、查询分析数据。经过日积月累,这些数据越来越庞大,如果不对这些数据进行有效的管理,无论是数据的插入或者是数据的查询,性能都会急剧下降,从而影响网管软件的正常使用。数据库使用硬盘空间来保存其中的数据,如果历史数据无限增长,最终将耗尽所有磁盘空间,所以需要定期对历史数据进行清理,将数据库中的一部分不常使用的数据转储到其它位置进行保存、归档。而在数据转移的过程中,网管则无法使用这些数据,如果转储的效率低下则影响网管系统的可用性,必须提供一种高效的数据转移方案。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种网管海量历史数据管理方法,能保存海量历史数据,并能高效的进行数据的插入、查询、转移而不影响网管软件的正常使用。
为达到以上目的,本发明采取的技术方案是:
一种网管海量历史数据管理方法,其特征在于:通过二级分表规则实现数据库分表,把保存有网管海量历史数据的单个表保存的数据,切分后保存到多个结构相同的分表中,减少单表的容量,从而提高单表的处理效率,并对各个分表进行以下管理:
A历史数据分表管理,
B历史数据插入管理,
C历史数据查询管理,
D历史数据转移管理。
在上述技术方案的基础上,二级分表规则用xml格式的文件纪录,其中:
历史数据类型data_type,表示数据表保存数据的类型,
分组总数group_count,表示对这种数据表分组的总数,
分组内分表总数split_count,表示每个分组内分表数最大值,
分表内行总数row_count,表示分表内行总数,当一个分表的数据量超过这个值的时候,就需要创建一个新的分表。
在上述技术方案的基础上,所述历史数据分表管理的处理流程包括以下步骤:
A1、读取记载有数据表的二级分表规则的文件,获取历史数据类型data_type、分组总数group_count、分组内分表总数split_count和分表内行总数row_count;
读取数据库分表信息表,获取所有分表的分组号group_no、分表序号table_no、当前正在使用标记current_flag和已使用标记in_use_flag,将这些信息保存到一个分组号为键,分表信息列表为值的map对象中,所述分表信息列表包括分表序号table_no、当前正在使用标记current_flag和已使用标记in_use_flag,其中map的键的取值范围从1到分组总数group_count,如果在数据库分表信息表中没有某个键对应的分表信息,那么在map中该键对应的分表信息列表就为空;
A2、遍历A1得到的map对象;
A3、根据遍历的结果,如果map对象中当前分组号对应的分表信息列表为空,则转至步骤A4,否则,转至步骤A5;
A4、在当前分组号的分组中创建一个可用的分表,分配分表序号为1,设置分表当前正在使用标记为1,已使用标记为1,将该分表的信息插入数据库分表信息表后转至步骤A5;
A5、将数据库分表信息表中记载的分表信息,按分组号为键,逐条插入到分组分表信息缓存中,该缓存用于记录所有分组中已创建的分表的信息,
将当前正在使用标记为1的分表信息,按分组号为键,将分表序号插入分组当前分表序号缓存,该缓存记录每个分组中current_flag为1的分表的分表序号,转步骤A6;
分组当前分表序号缓存内的分表,需要检查其是否超过分表内行总数;
A6、使用定时器并等待,如果定时器未超时则一直等待,当定时器超时后,如果接收到应用程序退出的信号,则退出历史数据分表管理的处理流程;否则,转入步骤A7;
A7、遍历分组当前分表序号缓存,如果未遍历完则转步骤A8,若遍历完则转步骤A6;
A8、读取当前分组中分表序号,根据当前分组的组号和分表序号构造分表的名称,获取分表数据行数;
A9、如果分表数据行数大于分表规则中分表内行总数row_count,则转步骤A10、否则转步骤A7;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司,未经烽火通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210401421.6/2.html,转载请声明来源钻瓜专利网。