CN102867071B - 一种网管海量历史数据管理方法 - Google Patents

一种网管海量历史数据管理方法 Download PDF

Info

Publication number
CN102867071B
CN102867071B CN201210401421.6A CN201210401421A CN102867071B CN 102867071 B CN102867071 B CN 102867071B CN 201210401421 A CN201210401421 A CN 201210401421A CN 102867071 B CN102867071 B CN 102867071B
Authority
CN
China
Prior art keywords
submeter
data
sequence number
current
information
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.)
Active
Application number
CN201210401421.6A
Other languages
English (en)
Other versions
CN102867071A (zh
Inventor
邹昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Fiberhome Technical Services Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201210401421.6A priority Critical patent/CN102867071B/zh
Publication of CN102867071A publication Critical patent/CN102867071A/zh
Priority to PCT/CN2013/079993 priority patent/WO2014059808A1/zh
Priority to MYPI2014703210A priority patent/MY187641A/en
Priority to PH12014502368A priority patent/PH12014502368A1/en
Application granted granted Critical
Publication of CN102867071B publication Critical patent/CN102867071B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/024Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及网管管理***中历史数据的管理,具体说是一种网管海量历史数据管理方法,通过二级分表规则实现数据库分表,把保存有网管海量历史数据的单个表保存的数据,切分后保存到多个结构相同的分表中,减少单表的容量,从而提高单表的处理效率,并对各个分表进行以下管理:A历史数据分表管理,B历史数据***管理,C历史数据查询管理,D历史数据转移管理。本发明所述的网管海量历史数据管理方法,能保存海量历史数据,并能高效的进行数据的***、查询、转移而不影响网管软件的正常使用,提高了网管管理***的工作效率。

Description

一种网管海量历史数据管理方法
技术领域
本发明涉及网管管理***中历史数据的管理,具体说是一种网管海量历史数据管理方法。
背景技术
目前网络技术日新月异,宽带用户规模不断扩大,电信网管***管理的设备数量也在不断增长,电信网管***日常管理的日志、设备的告警数据等数据都需要保存在数据库中,电信网管***对这些数据的使用方式为记录数据、查询分析数据。经过日积月累,这些数据越来越庞大,如果不对这些数据进行有效的管理,无论是数据的***或者是数据的查询,性能都会急剧下降,从而影响网管软件的正常使用。数据库使用硬盘空间来保存其中的数据,如果历史数据无限增长,最终将耗尽所有磁盘空间,所以需要定期对历史数据进行清理,将数据库中的一部分不常使用的数据转储到其它位置进行保存、归档。而在数据转移的过程中,网管则无法使用这些数据,如果转储的效率低下则影响网管***的可用性,必须提供一种高效的数据转移方案。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种网管海量历史数据管理方法,能保存海量历史数据,并能高效的进行数据的***、查询、转移而不影响网管软件的正常使用。
为达到以上目的,本发明采取的技术方案是:
一种网管海量历史数据管理方法,其特征在于:通过二级分表规则实现数据库分表,把保存有网管海量历史数据的单个表保存的数据,切分后保存到多个结构相同的分表中,减少单表的容量,从而提高单表的处理效率,并对各个分表进行以下管理:
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;
A10、创建新分表,新分表的分表序号为分表所在分组中原来current_flag为1的分表的分表序号值加上1,然后在数据库分表信息表中***该新分表的信息,并将该新分表的信息***到分组分表信息缓存中,然后将分组当前分表序号缓存中的当前分组对应的分表序号改为新分表的分表序号;
A11、判断当前分组中分表总个数是否大于分组内分表总数split_count,如果大于则转步骤A12,如果小于则转步骤A7;
A12、更新数据库分表信息表中该分组内分表序号最小分表的已使用标记in_use_flag为0,标识该分表不会在数据***和查询中使用,并将被历史数据转移管理流程处理,并从分组分表信息缓存中删除该分表的记录,转步骤A11。
在上述技术方案的基础上,所述历史数据***管理的处理流程包括以下步骤:
B1、根据***数据的内容确定数据业务分组的组号,根据分组当前分表序号缓存获取分表序号,根据分表和数据逻辑对应关系,重新排列***数据内容,存入以分组号和分表序号为键,***数据内存为值的map中;
B2、遍历B1中的map,遍历完成则退出,否则转步骤B3;
B3、根据当前分组号和分表序号,构造分表名称,***数据到当前分表中,转步骤B2。
在上述技术方案的基础上,所述历史数据查询管理的处理流程包括以下步骤:
C1、读取数据库分表信息表内已使用标记为1的分表信息;
C2、分析查询条件、获取所有相关分组分表的表名列表;
C3、根据查询条件查询所有C2中的分表。
在上述技术方案的基础上,所述历史数据转移管理的处理流程包括以下步骤:
D1、按分组号读取数据库分表信息表中所有已使用标记为0的分表信息记录,保存到以分组号为键,分表序号列表为值的map中;
D2、遍历D1中获取的map,遍历完成后退出;
D3、根据当前分组号和分表序号,构造分表名称,使用批处理工具直接导出指定分表名称的分表中所有行记录;
D4、根据分组号和分表序号从数据库分表信息表中删除分表信息;
D5、根据分表名称从数据库中删除分表,转步骤D2。
本发明所述的网管海量历史数据管理方法,通过二级分表规则实现数据库分表(数据库分表即:把单个表保存的数据,按照一定规则切分后保存到多个结构相同的表(称为分表)中,减少单表的容量,从而提高单表的处理效率,在不同业务需求下可以访问不同的分表,减少锁竞争,提高运行效率),将历史数据分散到多个分表中,且保证每个分表中记录数大致与限定的分表容量相差不大,不仅保证了历史数据查询的响应效率,还保证了数据的***效率,提升了客户体验感受,提高了网管管理***的工作效率。
本发明所述的网管海量历史数据管理方法,通过已使用标记将正在使用的和需要转移的数据表进行分离,网管***和数据转移功能就不会相互影响,而且数据表整表处理的效率远远高于按行记录进行处理的效率,减少了对数据库***的影响,提高了网管***整体的效率。
附图说明
本发明有如下附图:
图1是根据分表规则划分后,分表展示;
图2是数据表分表规则文件的内容;
图3是数据库分表信息表包含的数据内容;
图4是分表管理处理流程图;
图5是数据***处理流程图;
图6是数据查询处理流程图;
图7是数据转移处理流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
本发明所述的网管海量历史数据管理方法,通过二级分表规则实现数据库分表,把保存有网管海量历史数据的单个表保存的数据,切分后保存到多个结构相同的分表中,减少单表的容量,从而提高单表的处理效率,并对各个分表进行以下管理:
A历史数据分表管理,
B历史数据***管理,
C历史数据查询管理,
D历史数据转移管理。
在上述技术方案的基础上,图2示出了数据表分表规则文件的内容,此即所述的二级分表规则,二级分表规则用xml格式的文件纪录,其中:
历史数据类型data_type,表示数据表保存数据的类型,
分组总数group_count,表示对这种数据表分组的总数,即表示一个数据表最多可以分成几个分组,每个分组对应唯一的一个分组号;
分组内分表总数split_count,表示每个分组内分表数最大值,即表示一个分组内可以包括多少个分表,即分组内分表数最大值,每个分表对应唯一的一个分表序号;
分表内行总数row_count,表示分表内行总数,即分表内行总数row_count表示一个分表内可以包括多少行数据,即分表中数据行最大值;当一个分表的数据量超过这个值的时候,就需要创建一个新的分表。
即:一个数据表最多会有group_count个分组,一个分组内有split_count个分表,一个分表最多纪录row_count行数据。
在上述技术方案的基础上,如图4所示,所述历史数据分表管理的处理流程包括以下步骤:
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中该键对应的分表信息列表就为空;
数据库分表信息表的格式及内容可参见图3所示实施例;图3示出了数据库分表信息表的内容,并演示了一个可能出现的状态,每一行记录一个分表的信息;假设分表规则按照业务功能划分的组group_count=3,每个组内最多允许split_count=3个分表,那么当创建了第4个分表后,这个分表序号table_no为4的分表就成为当前使用状态current_flag为1的表,且分表编号table_no为1的分表的已使用标记in_use_flag则被置为0,这样就可以保持所有可用的分表的总数不超过split_count的值;
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;
A10、创建新分表,新分表的分表序号为分表所在分组中原来current_flag为1的分表的分表序号值加上1,然后在数据库分表信息表中***该新分表的信息,并将该新分表的信息***到分组分表信息缓存中,然后将分组当前分表序号缓存中的当前分组对应的分表序号改为新分表的分表序号;
A11、判断当前分组中分表总个数是否大于分组内分表总数split_count,如果大于则转步骤A12,如果小于则转步骤A7;
A12、更新数据库分表信息表中该分组内分表序号最小分表的已使用标记in_use_flag为0,标识该分表不会在数据***和查询中使用,并将被历史数据转移管理流程处理,并从分组分表信息缓存中删除该分表的记录,转步骤A11。
在上述技术方案的基础上,如图5所示,所述历史数据***管理的处理流程包括以下步骤:
B1、根据***数据的内容确定数据业务分组的组号,根据分组当前分表序号缓存获取分表序号,根据分表和数据逻辑对应关系,重新排列***数据内容,存入以分组号和分表序号为键,***数据内存为值的map中;
B2、遍历B1中的map,遍历完成则退出,否则转步骤B3;
B3、根据当前分组号和分表序号,构造分表名称,***数据到当前分表中,转步骤B2。
在上述技术方案的基础上,如图6所示,所述历史数据查询管理的处理流程包括以下步骤:
C1、读取数据库分表信息表内已使用标记为1的分表信息;
C2、分析查询条件、获取所有相关分组分表的表名列表;
C3、根据查询条件查询所有C2中的分表。
在上述技术方案的基础上,如图7所示,所述历史数据转移管理的处理流程包括以下步骤:
D1、按分组号读取数据库分表信息表中所有已使用标记为0的分表信息记录,保存到以分组号为键,分表序号列表为值的map中;
D2、遍历D1中获取的map,遍历完成后退出;
D3、根据当前分组号和分表序号,构造分表名称,使用批处理工具直接导出指定分表名称的分表中所有行记录;
D4、根据分组号和分表序号从数据库分表信息表中删除分表信息;
D5、根据分表名称从数据库中删除分表,转步骤D2。
图1示出了按照分表规则划分后可能出现的分表状态,所述的分表规则通常存储于静态文件中(例如:存储于数据表分表规则文件中),纵向表示按照业务功能划分的一个分组,如图划分了M个分组。每个分组内可能有多个分表,分表序号从1开始,向后排列。每个组内的分表数量不一定相同,而是根据实际数据的数量确定,使用分组号和分表序号对的方式可以唯一标识一个分表,例如(2,1)标识分组2中序号为1的分表。
以下为一个具体实施例。
图4示出了网管海量历史数据分表管理方法:
A1、从静态文件读取数据表分表规则,从数据库分表信息表读取已使用标记in_use_flag为1的分表信息。
分表管理只管理已使用标记为1的分表,而已使用标记为0的分表由数据转移功能使用。
A2、按分组号遍历从数据库分表信息表读取的分表信息,遍历完成转步骤A6,否则转步骤A3。
遍历进行分组分表信息缓存和分组当前分表序号缓存的初始化,完成后进行定时的分表管理步骤。
A3、若A2中分组号为1的分组内一个分表都没有,则转步骤A4,若分组号为1的分组有至少一个分表,则转步骤A5;
第一次使用网管时,历史数据是没有创建任何分表的,所以会进入步骤A4。
A4、创建一个新的序号table_no为1分表,更新数据库分表信息表,置分表序号为1的当前正在使用标记current_flag为1,每个分组内只有一个分表的当前正在使用标记current_flag为1,标识在数据***时访问的分表。
A5、更新分组分表信息缓存,增加A2中遍历的分表或者A4中创建的分表的分表信息;同时更新分组当前分表序号缓存,该缓存用来记录每个分组正在使用的分表序号。
A6、定时检查A5中获取的分组当前分表序号缓存,如果定时器超时,未接收到分表管理退出信号则转步骤A7,如果接收到分表管理退出信号则退出分表管理流程,根据经验数据设置定时器超时间check_interval为1小时。
A7、遍历分组当前分表序号缓存,如果未遍历完则转步骤A8,若遍历完则转步骤A6;
检查所有当前正在使用标记为1的分表后,进入下一次检查的定时器等待周期,该周期的值为估算值,检查分表容量时,数据***不可用,为了防止频繁检查,这个时间周期最好设定的长一些,而且需要保证两次检查点之间,分表的数据行超过分表规则允许的分表内行总数row_count不会太多。
A8、根据当前分组的组号和分表序号,获取当前正在使用标记current_flag为1的分表数据行数table_row_count,假设分组号为2,分表序号为3;
A9、如果A8中的table_row_count,大于分表规则中分表内行总数row_count,则转步骤A10、否则转步骤A7;
A10、创建分组号为2,分表序号为4的新分表,设置分表序号为4的current_flag为1,in_use_flag为1,将分表序号为4的分表信息***数据库分表信息表,同时在分表信息表中修改分表序号为3的current_flag为0,更新分组分表信息缓存,***分表序号4的分表信息,并更新分组当前分表序号缓存中分组2对应的当前分表序号为4;
创建新的分表后,需要更新数据库分表信息表,最新增加的分表一定就是当前使用的分表,同时也要更新分组分表信息缓存和分组当前分表序号缓存,作为数据***时获取分表的依据。
A11、根据分组分表信息缓存判断当前分组中分表总数是否大于分表规则中分组内分表数总数split_count,如果大于则转步骤A12,如果小于则转步骤A7;
A12、更新数据库分表信息表中该分组号对应的分表序号最小的分表信息,将该分表的已使用标记in_use_flag置为0,表示这个分表在查询时不会使用,而且需要将数据进行转移,然后从分组分表信息缓存中删除该分表的记录,转步骤A11。例如在分组2中,若split_count为3,则将分表序号为1的分表的in_use_flag设置为0,然后在分组分表信息缓存中删除分组2内分表序号为1分表的信息。
图5示出了历史数据***的处理流程,包括以下步骤:
B1、根据***数据的内容确定数据业务分组的组号,根据分组当前分表信息缓存获取当前正在使用标记为1的分表序号,根据数据对应的分表重新排列***数据顺序,***以分组号和分表序号为键,***数据内容为值的map;
B2、遍历map,遍历完成则退出,未完成转步骤B3。
B3、根据分组号为分表序号获取分表名,将数据***分表中。
由于分组分表的存在,一批数据可能写入到不同分组的不同分表中,为了防止不断切换数据写入时使用的分表,在***前按照分表与数据对应的方式将数据重新排列,减少表切换使用的时间,这样既可以保证数据的顺序,也可以提高数据***的效率。
图6示出了历史数据查询的处理流程,包括以下步骤:
C1、读取数据库中分表信息表内已使用标记in_use_flag为1的分表信息;
C2、解析查询条件,分析需要包含的分组,然后将相关分组中所有的分表设置为查询目标分表列表,例如用(X,Y)来标识一个唯一的分表,其中X标识分组号,Y标识分组内的分表序号,当需要查询的分组号包括1,2,3时,则最终需要查询的分表列表为:(1,1),(2,2),(2,3),(2,4),(3,1),(3,2),(3,3);
C3、遍历查询所有分表,若查询结果有优先级的要求,则C2中的列表需要按优先级排序,例如:(1,1),(2,4),(2,3),(2,2),(3,3),(3,2),(3,1),然后依次串行查询;若查询结果无优先级的要求,则C2中的列表没有顺序,查询可以并行执行,合并所有的查询结果,返回。
图7示出了历史数据转移的处理流程,包括以下步骤:
D1、读取数据库分表信息表中所有已使用标记in_use_flag为0的分表信息,保存到以分组号为键,分表序号列表为值的map中,例如分组号为2的分组中,分表序号为1,2的分表的已使用标记为0;
D2、依次遍历D1中获取的map,获取的分组号和分表序号列表,然后遍历分表序号列表,如果未完成遍历,则转步骤D3,完成遍历后退出;
D3、如遍历的当前分表为分组2内分表序号为1的分表,构建的表名为T_HISDATA_2_1,通过数据库工具或者SQL脚本直接将分表中所有记录导出到外部文件;
D4、从数据库分表信息表中删除分表号为2,分表序号为1的信息;
D5、从数据库中删除分表T_HISDATA_2_1,转步骤D2。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (4)

1.一种网管海量历史数据管理方法,其特征在于:通过二级分表规则实现数据库分表,把保存有网管海量历史数据的单个表保存的数据,切分后保存到多个结构相同的分表中,减少单表的容量,从而提高单表的处理效率,并对各个分表进行以下管理:
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;
A10、创建新分表,新分表的分表序号为分表所在分组中原来current_flag为1的分表的分表序号值加上1,然后在数据库分表信息表中***该新分表的信息,并将该新分表的信息***到分组分表信息缓存中,然后将分组当前分表序号缓存中的当前分组对应的分表序号改为新分表的分表序号;
A11、判断当前分组中分表总个数是否大于分组内分表总数split_count,如果大于则转步骤A12,如果小于则转步骤A7;
A12、更新数据库分表信息表中该分组内分表序号最小分表的已使用标记in_use_flag为0,标识该分表不会在数据***和查询中使用,并将被历史数据转移管理流程处理,并从分组分表信息缓存中删除该分表的记录,转步骤A11。
2.如权利要求1所述的网管海量历史数据管理方法,其特征在于,所述历史数据***管理的处理流程包括以下步骤:
B1、根据***数据的内容确定数据业务分组的组号,根据分组当前分表序号缓存获取分表序号,根据分表和数据逻辑对应关系,重新排列***数据内容,存入以分组号和分表序号为键,***数据内存为值的map中;
B2、遍历B1中的map,遍历完成则退出,否则转步骤B3;
B3、根据当前分组号和分表序号,构造分表名称,***数据到当前分表中,转步骤B2。
3.如权利要求1所述的网管海量历史数据管理方法,其特征在于,所述历史数据查询管理的处理流程包括以下步骤:
C1、读取数据库分表信息表内已使用标记为1的分表信息;
C2、分析查询条件、获取所有相关分组分表的表名列表;
C3、根据查询条件查询所有C2中的分表。
4.如权利要求1所述的网管海量历史数据管理方法,其特征在于,所述历史数据转移管理的处理流程包括以下步骤:
D1、按分组号读取数据库分表信息表中所有已使用标记为0的分表信息记录,保存到以分组号为键,分表序号列表为值的map中;
D2、遍历D1中获取的map,遍历完成后退出;
D3、根据当前分组号和分表序号,构造分表名称,使用批处理工具直接导出指定分表名称的分表中所有行记录;
D4、根据分组号和分表序号从数据库分表信息表中删除分表信息;
D5、根据分表名称从数据库中删除分表,转步骤D2。
CN201210401421.6A 2012-10-19 2012-10-19 一种网管海量历史数据管理方法 Active CN102867071B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201210401421.6A CN102867071B (zh) 2012-10-19 2012-10-19 一种网管海量历史数据管理方法
PCT/CN2013/079993 WO2014059808A1 (zh) 2012-10-19 2013-07-24 一种网管海量历史数据管理方法
MYPI2014703210A MY187641A (en) 2012-10-19 2013-07-24 Method for managing mass historical data of network management
PH12014502368A PH12014502368A1 (en) 2012-10-19 2014-10-22 Method for managing mass historical data of network management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210401421.6A CN102867071B (zh) 2012-10-19 2012-10-19 一种网管海量历史数据管理方法

Publications (2)

Publication Number Publication Date
CN102867071A CN102867071A (zh) 2013-01-09
CN102867071B true CN102867071B (zh) 2015-04-29

Family

ID=47445940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210401421.6A Active CN102867071B (zh) 2012-10-19 2012-10-19 一种网管海量历史数据管理方法

Country Status (4)

Country Link
CN (1) CN102867071B (zh)
MY (1) MY187641A (zh)
PH (1) PH12014502368A1 (zh)
WO (1) WO2014059808A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102867071B (zh) * 2012-10-19 2015-04-29 烽火通信科技股份有限公司 一种网管海量历史数据管理方法
CN103810238A (zh) * 2013-11-20 2014-05-21 国家电网公司 一种基于异步处理的大数据量Excel文件导出方法
CN103812691A (zh) * 2014-01-14 2014-05-21 浪潮电子信息产业股份有限公司 一种集群负载均衡***的日志统计***及方法
CN104360997B (zh) * 2014-04-01 2017-11-14 芜湖齐创自动化***有限公司 一种基于结构化数据库的大数据漂移方法
CN104035974B (zh) * 2014-05-22 2017-02-15 烽火通信科技股份有限公司 通用的Web网管对象选取器及选取方法
CN104182546B (zh) * 2014-09-09 2017-10-27 北京国双科技有限公司 数据库的数据查询方法及装置
CN104715076B (zh) * 2015-04-13 2019-03-12 东信和平科技股份有限公司 一种多线程数据处理方法及装置
CN106294423A (zh) * 2015-05-25 2017-01-04 阿里巴巴集团控股有限公司 数据库分表的写入方法及装置
CN104965873A (zh) * 2015-06-10 2015-10-07 努比亚技术有限公司 一种分页查询方法及装置
CN105095393B (zh) * 2015-06-30 2018-11-16 努比亚技术有限公司 一种数据存储方法及装置
CN105930504B (zh) * 2016-05-10 2019-04-16 烽火通信科技股份有限公司 一种网管时序文件并发处理***及并发处理方法
CN106897365B (zh) * 2017-01-11 2020-02-14 北京市天元网络技术股份有限公司 数据处理方法及装置
CN106886568B8 (zh) * 2017-01-12 2018-05-01 掌阅科技股份有限公司 一种分表方法、装置及电子设备
CN109144991B (zh) * 2017-06-15 2021-09-14 北京京东尚科信息技术有限公司 动态分表的方法、装置、电子设备和计算机可存储介质
CN107633097B (zh) * 2017-10-16 2018-09-25 马上消费金融股份有限公司 一种数据库表的动态扩容方法及***
CN108108434A (zh) * 2017-12-19 2018-06-01 福建中金在线信息科技有限公司 一种管理数据库的方法及装置
CN108304671B (zh) * 2018-02-12 2021-07-27 厦门海迈科技股份有限公司 建筑信息模型的数据管理方法及相关装置
CN110222115A (zh) * 2019-04-30 2019-09-10 武汉达梦数据库有限公司 基于表初始化分组装载的数据库同步方法及设备
CN110740198B (zh) * 2019-10-21 2022-12-23 杭州迪普科技股份有限公司 邻居表项管理方法、装置、电子设备及机器可读存储介质
CN110825739B (zh) * 2019-10-30 2021-07-16 京东数字科技控股有限公司 建表语句生成方法、装置、设备及存储介质
CN115208899B (zh) * 2022-06-29 2023-06-06 安阳师范学院 一种改进的p2p海量科学数据同步方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216821A (zh) * 2007-01-05 2008-07-09 中兴通讯股份有限公司 数据采集***的存储管理方法
CN101566986A (zh) * 2008-04-21 2009-10-28 阿里巴巴集团控股有限公司 联机事务处理中的数据处理方法和装置
CN101697152A (zh) * 2009-10-23 2010-04-21 金蝶软件(中国)有限公司 一种数据库存储***及其数据的拆分方法和装置
CN102033882A (zh) * 2009-09-25 2011-04-27 中兴通讯股份有限公司 一种性能数据的存储方法及***

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509342B2 (en) * 2002-02-08 2009-03-24 Sanyo Electric Co., Ltd. File data storage management method, file data storage device, program executing processing for storing file data, and storage medium
CN100543749C (zh) * 2007-10-18 2009-09-23 中兴通讯股份有限公司 对多个数据源的数据进行统一排序的方法
CN102542054B (zh) * 2011-12-29 2017-02-08 厦门雅迅网络股份有限公司 一种利用缓存表来提高数据库数据***性能的方法
CN102867071B (zh) * 2012-10-19 2015-04-29 烽火通信科技股份有限公司 一种网管海量历史数据管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216821A (zh) * 2007-01-05 2008-07-09 中兴通讯股份有限公司 数据采集***的存储管理方法
CN101566986A (zh) * 2008-04-21 2009-10-28 阿里巴巴集团控股有限公司 联机事务处理中的数据处理方法和装置
CN102033882A (zh) * 2009-09-25 2011-04-27 中兴通讯股份有限公司 一种性能数据的存储方法及***
CN101697152A (zh) * 2009-10-23 2010-04-21 金蝶软件(中国)有限公司 一种数据库存储***及其数据的拆分方法和装置

Also Published As

Publication number Publication date
PH12014502368B1 (en) 2015-01-12
MY187641A (en) 2021-10-06
CN102867071A (zh) 2013-01-09
PH12014502368A1 (en) 2015-01-12
WO2014059808A1 (zh) 2014-04-24

Similar Documents

Publication Publication Date Title
CN102867071B (zh) 一种网管海量历史数据管理方法
CN101553813B (zh) 管理可单独访问的数据单元的存储器
US5237681A (en) Relational data base memory utilization analyzer
CN102542071B (zh) 一种分布式处理数据的***及方法
CN102129458B (zh) 关系型数据库的存储方法及装置
CN107992492B (zh) 一种数据区块的存储方法、读取方法、其装置及区块链
CN102779138B (zh) 实时数据的硬盘存取方法
CN104462141A (zh) 一种数据存储与查询的方法、***及存储引擎装置
CN103037344B (zh) 一种话单去重方法及装置
CN107741947B (zh) 基于hdfs文件***的随机数密钥的存储与获取方法
CN101763415B (zh) 一种数据库的b树索引的生成方法及装置
CN106503008B (zh) 文件存储方法和装置及文件查询方法和装置
CN106682077A (zh) 一种基于Hadoop技术的海量时序数据存储实现方法
CN104281717B (zh) 一种建立海量id映射关系的方法
CN101093482A (zh) 一种大量信息存储和检索的方法
CN113177090A (zh) 数据处理方法及装置
CN107193869A (zh) 工业物联网云平台中数据存取的方法及装置
CN110096509A (zh) 大数据环境下实现历史数据拉链表存储建模处理的***及方法
CN102411632B (zh) 基于链表的内存数据库页式存储方法
CN103246549A (zh) 一种数据转存的方法及***
JPH11154155A (ja) ファイル管理方法
CN101833511A (zh) 数据管理方法、装置和***
CN100399338C (zh) 一种数据记录处理方法
CN107818155A (zh) 一种配电主站及配电主站数据的存储方法
CN108647243B (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
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20161209

Address after: 430000 Hubei Province, Wuhan East Lake Development Zone No. 4 road of Guanshan two

Patentee after: WUHAN FIBERHOME TECHNICAL SERVICES CO., LTD.

Address before: China Science and Technology Park Dongxin road East Lake Development Zone 430074 Hubei Province, Wuhan City, No. 5

Patentee before: Fenghuo Communication Science &. Technology Co., Ltd.