CN101344893B - 一种历史数据的存取方法和装置 - Google Patents

一种历史数据的存取方法和装置 Download PDF

Info

Publication number
CN101344893B
CN101344893B CN2008101307539A CN200810130753A CN101344893B CN 101344893 B CN101344893 B CN 101344893B CN 2008101307539 A CN2008101307539 A CN 2008101307539A CN 200810130753 A CN200810130753 A CN 200810130753A CN 101344893 B CN101344893 B CN 101344893B
Authority
CN
China
Prior art keywords
original
submeter
information table
inquiry
module
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.)
Expired - Fee Related
Application number
CN2008101307539A
Other languages
English (en)
Other versions
CN101344893A (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.)
Global Innovation Polymerization LLC
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN2008101307539A priority Critical patent/CN101344893B/zh
Publication of CN101344893A publication Critical patent/CN101344893A/zh
Application granted granted Critical
Publication of CN101344893B publication Critical patent/CN101344893B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种历史数据的存取方法,该方法包括建立原始表,将采集到的每一条历史数据记录按照采集时间划分到所述原始表中,得到原始分表;为所述原始分表设定标识ID号字段,并在所述ID号字段上创建一个非聚簇索引;依据所述原始分表中的历史数据记录和所述ID号字段,生成与所述原始分表对应的信息表;依据输入的查询条件、所述原始分表和所述信息表选择原始分表扫描或信息表预扫描的查询方式,进行查询操作;依据所述原始分表扫描或信息表预扫描的查询方式进行查询操作后,得到符合查询条件的历史数据记录;本发明还公开了一种历史数据的存取装置,基于该方法和装置能够提高对历史数据的查询效率。

Description

一种历史数据的存取方法和装置
技术领域
本发明涉及数据库技术领域,特别是指在电信网络管理系统中一种海量历史数据的存取方法。
背景技术
在基于数据库的通信系统中,数据的存取效率对系统的整体运行有着重要影响,尤其是在电信领域中,无论是业务操作支撑(BOSS,Business & OperationSupport System)系统还是网络管理系统,都属于海量数据的应用环境。海量数据的应用环境,对于数据的存取效率有着较高的要求。以传输网络管理为例,其重要功能之一是对网络设备运行状态进行监控,一般采用15分钟或24小时为一个采集周期,对网络设备的运行性能数据进行采集。数据的采集是依据系统中各个工作端点、即性能数据采集点的不同性能进行的,对于一台拥有上百个工作端点的复杂设备,如典型的波分设备,在每个采集周期内,可能有上千条运行状态记录产生;如果是由若干类似复杂设备构成的传送网络,那么,每天的设备运行状态记录的数量可以达到千万条数量级。一般情况下,网络管理系统需要在内部的数据库中保存一定时间内的设备运行状态记录,可以称为历史记录,并提供对这些记录的查阅、统计、报表等功能,如此,对这么大数据量的设备运行状态记录进行数据运算,成为网络管理软件面临的一道难题。
现有的对海量数据的管理,一种可行方案是采用数据仓库技术,但对于电信网络管理系统采集的历史数据,从它的实时性、变化性以及定时转储要求等方面来说,电信网络管理系统对于历史数据的采集都不适合采用数据仓库技术。所以目前主要的电信网络管理方案都使用传统的关系数据库作为运行数据的存储媒介,方式如下:
定义单张表格存储某一运行数据的所有记录,如当前告警表、历史性能表等;对于记录的查询、统计、报表等功能,均通过在该表上执行普通的选择(select)语句来实现。
但是,这种处理方式的突出缺点是,并未考虑到电信网络运行过程中产生的海量监控数据量及查询条件复杂等特性,而是将其等同于普通的数据进行存储,如此会存在以下的问题:
1、网络管理的界面操作指定的查询数据命令长时间无法返回;
2、查询运算期间数据库占用过多的中央处理器(CPU,Central ProcessingUnit)和内存等系统资源,导致整个系统的其它操作受到严重干扰。
发明内容
有鉴于此,本发明的主要目的在于提供一种历史数据的存取方法和装置,以提高对历史数据的查询效率。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种历史数据的存取方法,该方法包括:
a、建立原始表,将采集到的每一条历史数据记录按照采集时间划分到所述原始表中,得到原始分表;
b、为所述原始分表设定标识ID号字段,并在所述ID号字段上创建一个非聚簇索引;
c、依据所述原始分表中的历史数据记录和所述ID号字段,生成与所述原始分表对应的信息表;
d、依据输入的查询条件、所述原始分表和所述信息表选择原始分表扫描或信息表预扫描的查询方式,进行查询操作;
e、依据所述原始分表扫描或信息表预扫描的查询方式进行查询操作后,得到符合查询条件的历史数据记录。
步骤a中所述原始分表包含设定时间段的多条历史数据记录。
步骤c所述信息表包含多个记录,所述记录是所述ID号字段信息和常用查询字段信息的组合;依据所述原始分表中的历史数据记录,得到对该条历史数据执行查询操作时所涉及的最常用的查询字段信息。
步骤c所述信息表中的记录与所述原始分表中的历史数据记录一一对应。
步骤d中依据所述输入的查询条件进行查询的方式是:判断所述输入的查询条件中是否包含采集时间信息,如果包含采集时间,则按采集时间确定查询的部分原始分表的集合;如果不包含采集时间,则对全部原始分表进行查询。
步骤d所述选择原始分表扫描或信息表预扫描的查询方式的方法包括:
确定全部原始分表或者部分原始分表集合所包含的历史数据的记录数,如果所述记录数小于预设的门限值,则选择原始分表扫描的查询方式;否则,
确定所述输入的查询条件所包含的查询字段和信息表中包含的常用查询字段的重合数,如果重合数小于预设的门限值,则选择原始分表扫描的查询方式;否则,选择信息表预扫描的查询方式。
步骤d所述选择信息表预扫描的查询方式,进行查询操作的方法包括:
依据所述查询条件,将查询条件中的查询字段与所述信息表中的常用查询字段重合部分的信息进行组合,得到预查询语句;
依据所述预查询语句,对信息表进行查询,得到所述信息表中ID号字段的集合;
依据所述ID号字段的集合对所述全部原始分表或者部分原始分表的集合进行查询。
步骤d所述选择原始分表扫描的查询方式,进行查询操作,具体包括:依据所述原始分表扫描的查询方式,对所述全部原始分表或者部分原始分表的集合进行查询操作。
本发明还提供了一种历史数据的存取装置,该装置包括:
原始表建立模块,用于建立原始表,将采集到的每一条历史数据记录按照采集时间划分到所述原始表中,得到原始分表;
设置模块,用于为所述原始表建立模块的原始分表设定唯一标识的ID号字段,并在所述ID号字段上创建一个非聚簇索引;
信息表生成模块,用于依据所述原始表建立模块的原始分表中的历史数据记录和所述通过设置模块设置的ID号字段,生成与所述原始分表对应的信息表;
查询模块,用于依据输入的查询条件、所述原始表建立模块的原始分表和所述信息表生成模块的信息表,选择原始分表扫描或信息表预扫描的查询方式,进行查询操作;
历史数据获取模块,用于依据所述查询模块中原始分表扫描或信息表预扫描的查询方式进行查询操作后,得到符合查询条件的历史数据记录。
该装置还包括:
存储模块,用于存储原始表建立模块的原始分表、信息表生成模块的信息表和输入的查询条件;
判断模块,用于依据所述存储模块中的查询条件,判断所述查询条件中是否包含采集时间信息,并根据结果,按采集时间确定参与查询的部分原始分表的集合,或者对全部原始分表进行查询。
所述查询模块进一步包括:
查询方式选择子模块,用于依据所述存储模块中的查询条件、原始分表、信息表选择原始分表扫描或信息表预扫描的查询方式;
原始分表查询子模块,用于依据查询方式选择子模块选择的原始分表扫描的查询方式,对所述判断模块的全部原始分表或者部分原始分表的集合进行查询操作;
信息表预查询子模块,用于依据查询方式选择子模块选择的信息表预扫描的查询方式,对所述判断模块的全部原始分表或者部分原始分表的集合,执行查询操作。
本发明将历史数据按照其采集时间进行原始分表存储,且在原始分表写入数据库的同时为其生成相应的信息表,信息表中包含历史数据的常用查询字段,在此基础之上,本发明提出了原始分表扫描和信息表预扫描两种查询方式,在执行查询方式之前,根据输入的查询条件和历史数据的具体信息,需要先判断哪种查询方式的代价小,即选择合适的查询方式,如此,在不同的情况下,系统会选择代价最小的查询方式,这样,减少了系统的占用资源;另外由于信息表中历史数据的常用查询字段的使用,在查询时,先对信息表中每一条记录的常用查询字段进行查询,得到与查询条件相符的信息表记录后,再找到对应的历史数据就可以了,如此缩小了查询的范围,提高了查询的效率;另外,由于可以对信息表中每条记录的常用查询字段值进行了压缩,与对应的历史数据记录相比,信息表的记录占用的系统存储空间非常的小,综上所述,使用本发明的方法和装置,可以节省系统资源的同时,还极大的提高了对历史数据的查询效率。
附图说明
图1所示为本发明历史数据存取方法的流程示意图;
图2所示为本发明两种查询方式的流程示意图;
图3所示为本发明历史数据存取装置的结构关系示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
本发明将采集到的历史数据按照其采集时间划分到多个表格中进行存储,本发明称之为原始分表,在将这些原始分表写入数据库的同时,为其生成对应的信息表,信息表中的一条记录对应原始分表中的一条历史数据的记录,信息表中包含了历史数据的唯一标识(ID)信息和对历史数据进行检索时、最常用的字段信息,当数据库中存储的历史数据量非常大时,基于信息表中的信息进行检索可以缩小检索的范围。
图1所示为本发明历史数据存取方法的流程示意图。
步骤101,建立原始表,将采集到的每一条历史数据记录按照采集时间划分到原始表中,得到原始分表。
电信网络管理系统中的数据采集点采集到历史数据后,可以将这些历史数据统一存储到一个表格中,本发明称之为原始表,如果将这些历史数据全部存储在一个原始表中,会降低以后的检索、查询效率。在采集每一条历史数据时,都会随之生成一个该条历史数据记录的采集时间,因此,可以依据每条历史数据记录的采集时间,将在某段时间内采集到的多条历史数据记录在一个原始分表中。时间粒度的划分可以依据所采集的历史数据的产生频率或者实际的应用情况确定,如某台运行设备在8点到20点的时间段内,历史数据的产生频率很高,而在20点到第二天8点的时间段内,历史数据的产生频率比较低,那么可以设定在8点到20点的时间段内,将每1个小时产生的历史数据存储在一个原始分表中,而在20点到第二天8点的时间段内,可以将20点到24点所产生的历史数据存储在一个原始分表中,将0点到8点所产生的历史数据存储在一个原始分表中;如果,只需要某台运行设备在8点到20点的时间段内所产生的历史数据,而不关心20点到第二天8点的时间段内所产生的历史数据,那么,可以将8点到20点的时间段内所产生的历史数据,按照一定的时间周期进行划分。
同时,原始分表的名称中可以体现出该分表所包含的历史数据所产生的时间段,如Alarm_200804010000_200804011200,表示该原始表所存储的是,在2008年4月1号0点到2008年4月1号12点所产生的告警类历史数据。
步骤102,为原始分表设定标识ID号字段,并在ID号字段上创建一个非聚簇索引。
原始分表建好后,为其设定一个标识的ID号字段,如果数据库中有10个原始分表,那么可以设定其ID号字段分别为1,2,3...10,也可以设定为a,b,c...,只要能够唯一标识原始分表即可。
非聚簇索引表示了该条历史数据在数据库中的具体位置。
步骤103,依据原始分表中的历史数据记录和ID号字段,生成与原始分表对应的信息表。
在将原始分表写入数据库的同时,要为其生成相应的信息表。该信息表依据对历史数据进行查询时,所使用的频率最高的查询字段来设立。该信息表中包含多条记录,每一条记录与相应的原始分表中的每条历史数据记录一一对应。信息表中的每条记录的格式相同,包含两部分内容,分别是:相应的历史数据的ID号字段和相应的历史数据的频率最高的查询字段,可以称之为常用查询字段,其在信息表中进行存储时,可以进行压缩,成为常用查询字段压缩值,信息表记录的格式为:{ID,常用查询字段压缩值}。具体地,通过下面的例子可以说明。例如,对于告警类的历史数据所表示的告警信息类型,可能包含以下几种,如表1所示:
  序号   告警信息类型   属性值
  1   告警类型   1:普通告警、2:越门限告警、3:保护倒换
  2   采集时间
  3   告警源点
  4   源点速率级别
  5   严重性等级   1:严重告警、2:紧急告警、3:普通告警
  6   告警原因
  7   是否可以清除
  8   是否影响业务
  9   告警相关点
  10   告警相关对象
  11   告警确认者
  12   告警确认状态   1:未确认、2:已确认
  13   告警确认时间
  14   告警清除者
  15   告警清除状态   1:未清除、2:已清除
  16   告警清除时间
  17   告警结束状态   1:未结束、2:已结束
  18   告警结束时间
表1
可以先将某类历史数据所能表示的所有信息类型进行排序编号,再将每个类型所包含的属性值列举出来。可以看出,告警信息类型所包含的属性值的种类一般比较少,可以将这些属性值用枚举整数表示,即如表1所示,严重性等级的属性值用枚举整数表示后为:1:严重告警、2:紧急告警、3:普通告警。
需要指出的是,某类历史数据的常用查询字段是统一设定的,对于告警类历史数据,如果根据需要设定其常用查询字段所包含的告警信息类型为:告警类型、严重性等级、告警确认状态、告警结束状态,一旦设定后,这四个告警信息类型的顺序不是变的,具体的每一个信息表的一条记录包含的常用查询字段的类型所对应的值是变化的,则可以设定告警类历史数据的常用查询字段为:{告警类型X,严重性等级X,告警确认状态X,告警结束状态X},其中X表示告警信息类型的具体属性值。
例如,在一条历史数据记录中,告警结束状态为1(未结束),那么相应的与该条历史数据记录对应的、信息表中的一条记录的常用查询字段中的告警结束状态也为1(未结束);如果告警结束状态为2(已结束),那么相应的信息表中的常用查询字段中的告警结束状态也为2(已结束)。对于原始分表Alarm_200804010000_200804011200,假设,其中某一条历史数据记录,其包含的告警信息中:告警类型为1(普通告警),严重性等级为2(紧急告警),告警确认状态为1(未确认),告警结束状态为2(已结束),结合所设定的告警类是历史数据的常用查询字段{告警类型X,严重性等级X,告警确认状态X,告警结束状态X},那么该条历史数据记录的常用查询字段用枚举整数表示后为:{1 2 1 2},再将该常用查询字段压缩为位串,用int型,即整数型字符串表示。先用二进制表示该常用查询字段为:{1 10 1 10},当然也可以用统一的bit数来表示其中每一个字段,如用4个bit来表示的话,为:{00010010 0001 0010},较佳地可以使用最少能表示每一个字段的bit数来表示;再将二进制表示的常用查询字段用int型表示,{1 10 1 10}用int型表示为54,{0001 0010 0001 0010}用int型表示为4626,如此常用查询字段:{告警类型:1,严重性等级:2,告警确认状态:1,告警结束状态:2}就被压缩为54,假设该条历史数据记录的ID号为1,那么,该条历史数据记录所对应的信息表记录为{1,54}。
信息表中的记录,其具体内容除了ID号字段,就是常用查询字段压缩值,这样信息表的数据量就远远地小于原始分表中历史数据的数据量。
需要指出的是,信息表可以与原始分表一一对应,也可以多个原始分表对应一个信息表,即一个信息表包含的记录对应多个原始分表的所有历史数据记录。如果信息表与原始分表一一对应,那么可以依据原始分表的名称对相应的信息表命名,如可以命名与原始分表Alarm_200804010000_200804011200相应的信息表的名称为:Alarm_200804010000_200804011200_desc,这种命名方式是在原始分表的名称后面加上一个后缀,具体后缀可以根据需要确定,只要将每个信息表区分开便可。
步骤104,依据输入的查询条件、原始分表和信息表选择原始分表扫描或信息表预扫描的查询方式,进行查询操作。
步骤105,依据原始分表扫描或信息表预扫描的查询方式进行查询操作后,得到符合查询条件的历史数据记录。
当需要对历史数据进行检索或查询时,先要输入查询条件,该查询条件一般包括采集时间和查询字段。本发明提供了两种查询方式:原始分表扫描或者信息表预扫描。具体的如何选择,将通过下面的实施例来说明。
图2所示为本发明两种查询方式的流程示意图。
步骤201,输入查询条件。
查询条件中一般包括所查询的历史数据的采集时间和查询的关键词,即查询字段。
步骤202~204,对输入的查询条件进行分析,判断查询条件中是否包含采集时间信息,如果包含需要查询的历史数据的采集时间,那么执行步骤203,按采集时间确定所要参与查询操作的部分原始分表的集合;如果不包含采集时间,执行步骤204,取所有的原始分表,参与查询操作。
步骤205,确定所要参与查询操作的原始分表中记录的历史数据的数量,如这些原始分表一共包含多少条历史数据记录。
206~208,判断记录的历史数据的数量是否小于预设的门限值。
可以根据需要预设一个历史数据数量的门限值,如设定历史数据数量的门限值为20000条,那么,如果参与查询操作的原始分表所包含的历史数据的数量小于20000条,执行步骤207,选择原始表扫描的查询方式,否则执行步骤209。选择原始表扫描的查询方式之后执行步骤208,对参与查询操作的原始分表进行查询,该步骤的查询按照现有技术中一般的查询方式进行。
步骤209,确定查询条件中查询字段与信息表中常用查询字段的重合数。
假设查询条件中的查询字段为:{严重性等级:2(紧急告警),告警确认状态:1(未确认)}。当该查询字段与信息表中的常用查询字段:{告警类型X,严重性等级X,告警确认状态X,告警结束状态X}进行比较时,可以得知,两者都具有严重性等级和告警确认状态,那么可以确定,两者的重合数为2,其中X表示告警信息类型的具体值。
步骤210,判断重合数是否小于预设的门限值。
可以根据需要预设一个字段重合数的门限值,如门限值为2,那么查询字段与常用查询字段重合数小于2的情况下,返回执行步骤207~208选择原始表扫描的查询方式,对参与查询操作的原始分表进行查询,否则执行步骤211。
步骤211,选择信息表预扫描的查询方式。
步骤212,将查询条件中的查询字段与信息表中的常用查询字段重合部分的信息进行组合,得到预查询语句。
结合步骤209所述的例子,将查询字段和常用查询字段比较后,得到预查询的字段信息为:{严重性等级:2(紧急告警),告警确认状态:1(未确认)},即重合字段的信息。假设该查询条件的完整信息为:获取采集于2008年5月26日15点到16点之间的记录中,严重性等级为2(紧急告警),告警确认状态为1(未确认)的历史数据记录。经过步骤202~203的方法可以得到参与查询操作的原始分表名为:Alarm_200805261200_200805262000,找到该原始分表对应的信息表为Alarm_200805261200_200805262000_desc,通过比较得到的预查询字段信息为:{严重性等级:2(紧急告警),告警确认状态:1(未确认)},通过查询表1,可以将预查询字段{严重性等级:2(紧急告警),告警确认状态:1(未确认)}用枚举整数表示为{0 2 1 0},需要指出的是,对于查询字段中没有的而常用查询字段中有的告警信息类型,需要在查询字段中相应的位置上补0,如果查询字段中含有而常用查询字段中没有的告警信息类型,那么暂时不考虑该类型。那么,{0 2 1 0}用二进制可以表示为:{0 10 1 0},最后用int型整数表示为:10,组织针对信息表的预查询语句为:where Alarm Desc& 10=10。
步骤213,依据预查询语句,对信息表进行查询,得到信息表中ID号字段的集合。
信息表中,每条记录所包含的常用查询字段信息都用int型字符串来表示,即常用查询字段压缩值。依据预查询语句:where AlarmDesc & 10=10对信息表进行查询,即将查询条件的查询字段的值10与信息表中的某一条记录中的常用查询字段压缩值进行比较,对两者进行与运算,可以得到两组重合的告警信息类型的具体属性值。假设与运算后,得到查询条件的一组属性值为:严重性等级1,告警结束状态2;信息表中该条记录的一组属性值为:严重性等级1,告警结束状态2,两组数据相同,这种情况下,就将该条记录中的ID字段号取出。如果得到的信息表中该条记录的一组属性值为:严重性等级2,告警结束状态2,两组属性值不完全相同,这种情况下,就继续查找下一条信息表中的记录,直到将该信息表查询完为止。如此,便可以得到一个ID号字段的集合。
步骤214,依据ID号字段的集合对参与查询操作的原始分表进行查询。
因为一个ID号字段中含有一个非聚簇索引,该索引表示了其对应的历史数据记录在数据库中的具体位置,因此根据具体的ID号字段中的非聚簇索引,系统就可以直接查询到所需的历史数据记录,如此与将ID号字段一一匹配的方式相比,提高了查询效率。
步骤215,得到符合查询条件的历史数据记录。
根据原始表扫描的查询方式和信息表预扫描的查询方式,最终可以得到符合查询条件的历史数据记录。
根据上面的实施例可以得到,本发明提供了两种查询方式,即原始表扫描和信息表预扫描,并且给出了选择这两种查询方式的条件,即在不同的情况下选择哪种查询方式。在相同的情况下,两种查询方式的代价是不同的,当查询的范围比较大时,如果选择原始分表的查询方式,将查询条件和原始分表中的历史数据一一进行匹配,这样返回查询结果的速度很慢,如果选择信息表预扫描的查询方式,首先通过简单的几个判断操作,将查询范围缩小,之后再将查询条件和原始分表中的历史数据一一进行匹配,这样就提高了效率,所以,这种情况下,信息表预扫描的查询方式的代价是相对较小的;如果查询的范围比较小时,如果选择信息表预扫描的查询方式,先通过几个判断操作将查询范围缩小,但是缩小后的查询范围与之前的查询范围相比相差不大,这种情况下,直接选择原始分表扫描的查询方式,其代价相对较小。
图3所示为本发明历史数据存取装置的结构关系示意图。
该装置包括原始表建立模块10、设置模块20、信息表生成模块30、查询模块40、和历史数据获取模块50,其中,
原始表建立模块10,用于建立原始表,将采集到的每一条历史数据记录按照采集时间划分到原始表中,得到原始分表。
设置模块20,用于为所述原始表建立模块10的原始分表设定唯一标识的ID号字段,并在ID号字段上创建一个非聚簇索引。
信息表生成模块30,用于依据所述原始表建立模块10的原始分表中的历史数据记录和通过所述设置模块20设置的ID号字段,生成与原始分表对应的信息表。
查询模块40,用于依据输入的查询条件、所述原始表建立模块10的原始分表和所述信息表生成模块30的信息表,选择原始分表扫描或信息表预扫描的查询方式,进行查询操作。
查询模块40进一步包括:查询方式选择子模块41、原始分表查询子模块42和信息表预查询子模块43,其中,
查询方式选择子模块41,用于依据所述存储模块40中输入的查询条件、原始表建立模块10的原始分表、信息表生成模块30的信息表,选择原始分表扫描或信息表预扫描的查询方式。
原始分表查询子模块42,用于依据查询方式选择子模块41选择的原始分表扫描的查询方式,进行查询操作。
信息表预查询子模块43,用于依据查询方式选择子模块41选择的信息表预扫描的查询方式,进行查询操作。
历史数据获取模块50,用于依据所述查询模块40中原始分表扫描或信息表预扫描的查询方式进行查询操作后,得到符合查询条件的历史数据记录。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (11)

1.一种历史数据的存取方法,其特征在于,该方法包括:
a、建立原始表,将采集到的每一条历史数据记录按照采集时间划分到所述原始表中,得到原始分表;
b、为所述原始分表设定标识ID号字段,并在所述ID号字段上创建一个非聚簇索引;
c、依据所述原始分表中的历史数据记录和所述ID号字段,生成与所述原始分表对应的信息表;
d、依据输入的查询条件、所述原始分表和所述信息表选择原始分表扫描或信息表预扫描的查询方式,进行查询操作;
e、依据所述原始分表扫描或信息表预扫描的查询方式进行查询操作后,得到符合查询条件的历史数据记录。
2.根据权利要求1所述历史数据的存取方法,其特征在于,步骤a中所述原始分表包含设定时间段的多条历史数据记录。
3.根据权利要求1所述历史数据的存取方法,其特征在于,步骤c所述信息表包含多个记录,所述记录是所述ID号字段信息和常用查询字段信息的组合;依据所述原始分表中的历史数据记录,得到对该条历史数据执行查询操作时所涉及的最常用的查询字段信息。
4.根据权利要求1或3所述历史数据的存取方法,其特征在于,步骤c所述信息表中的记录与所述原始分表中的历史数据记录一一对应。
5.根据权利要求1或3所述历史数据的存取方法,其特征在于,步骤d中依据所述输入的查询条件进行查询的方式是:判断所述输入的查询条件中是否包含采集时间信息,如果包含采集时间,则按采集时间确定查询的部分原始分表的集合;如果不包含采集时间,则对全部原始分表进行查询。
6.根据权利要求5所述历史数据的存取方法,其特征在于,步骤d所述选择原始分表扫描或信息表预扫描的查询方式的方法包括:
确定全部原始分表或者部分原始分表集合所包含的历史数据的记录数,如果所述记录数小于预设的门限值,则选择原始分表扫描的查询方式;否则,
确定所述输入的查询条件所包含的查询字段和信息表中包含的常用查询字段的重合数,如果重合数小于预设的门限值,则选择原始分表扫描的查询方式;否则,选择信息表预扫描的查询方式。
7.根据权利要求6所述历史数据的存取方法,其特征在于,步骤d所述选择信息表预扫描的查询方式,进行查询操作的方法包括:
依据所述查询条件,将查询条件中的查询字段与所述信息表中的常用查询字段重合部分的信息进行组合,得到预查询语句;
依据所述预查询语句,对信息表进行查询,得到所述信息表中ID号字段的集合;
依据所述ID号字段的集合对所述全部原始分表或者部分原始分表的集合进行查询。
8.根据权利要求6历史数据的存取方法,其特征在于,步骤d所述选择原始分表扫描的查询方式,进行查询操作,具体包括:依据所述原始分表扫描的查询方式,对所述全部原始分表或者部分原始分表的集合进行查询操作。
9.一种历史数据的存取装置,其特征在于,该装置包括:
原始表建立模块,用于建立原始表,将采集到的每一条历史数据记录按照采集时间划分到所述原始表中,得到原始分表;
设置模块,用于为所述原始表建立模块的原始分表设定唯一标识的ID号字段,并在所述ID号字段上创建一个非聚簇索引;
信息表生成模块,用于依据所述原始表建立模块的原始分表中的历史数据记录和所述通过设置模块设置的ID号字段,生成与所述原始分表对应的信息表;
查询模块,用于依据输入的查询条件、所述原始表建立模块的原始分表和所述信息表生成模块的信息表,选择原始分表扫描或信息表预扫描的查询方式,进行查询操作;
历史数据获取模块,用于依据所述查询模块中原始分表扫描或信息表预扫描的查询方式进行查询操作后,得到符合查询条件的历史数据记录。
10.根据权利要求9所述历史数据的存取装置,其特征在于,该装置还包括:
存储模块,用于存储原始表建立模块的原始分表、信息表生成模块的信息表和输入的查询条件;
判断模块,用于依据所述存储模块中的查询条件,判断所述查询条件中是否包含采集时间信息,并根据结果,按采集时间确定参与查询的部分原始分表的集合,或者对全部原始分表进行查询。
11.根据权利要求10所述历史数据的存取装置,其特征在于,所述查询模块进一步包括:
查询方式选择子模块,用于依据所述存储模块中的查询条件、原始分表、信息表选择原始分表扫描或信息表预扫描的查询方式;
原始分表查询子模块,用于依据查询方式选择子模块选择的原始分表扫描的查询方式,对所述判断模块的全部原始分表或者部分原始分表的集合进行查询操作;
信息表预查询子模块,用于依据查询方式选择子模块选择的信息表预扫描的查询方式,对所述判断模块的全部原始分表或者部分原始分表的集合,执行查询操作。
CN2008101307539A 2008-07-17 2008-07-17 一种历史数据的存取方法和装置 Expired - Fee Related CN101344893B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101307539A CN101344893B (zh) 2008-07-17 2008-07-17 一种历史数据的存取方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101307539A CN101344893B (zh) 2008-07-17 2008-07-17 一种历史数据的存取方法和装置

Publications (2)

Publication Number Publication Date
CN101344893A CN101344893A (zh) 2009-01-14
CN101344893B true CN101344893B (zh) 2010-06-02

Family

ID=40246896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101307539A Expired - Fee Related CN101344893B (zh) 2008-07-17 2008-07-17 一种历史数据的存取方法和装置

Country Status (1)

Country Link
CN (1) CN101344893B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541916A (zh) * 2010-12-29 2012-07-04 沈阳中科博微自动化技术有限公司 半导体设备历史数据的记录管理方法
CN103377211A (zh) * 2012-04-20 2013-10-30 上海梅山钢铁股份有限公司 一种热连轧生产过程中高频数据的存储和读取方法
CN102929967B (zh) * 2012-10-12 2015-10-14 深圳市华阳信通科技发展有限公司 海量随机数生成、存储和搜索的系统及方法
CN104462080B (zh) * 2013-09-12 2018-05-01 北大方正集团有限公司 针对检索结果进行分组统计的索引结构创建方法和系统
CN103793530A (zh) * 2014-02-26 2014-05-14 北京京东尚科信息技术有限公司 一种定期清理业务数据的方法、装置和系统
CN104268295B (zh) * 2014-10-24 2018-07-06 迈普通信技术股份有限公司 一种数据查询方法及装置
CN104679821B (zh) * 2014-12-30 2018-12-21 深圳市海蕴新能源有限公司 数据访问处理方法和装置
CN105335475B (zh) * 2015-09-30 2018-07-10 中国科学院计算技术研究所 一种基于流式数据的局部性非聚簇索引方法及系统
CN105653575A (zh) * 2015-12-04 2016-06-08 重庆川仪自动化股份有限公司 一种数据查询方法及其应用的报表系统
CN106557578B (zh) * 2016-11-23 2020-08-04 中国工商银行股份有限公司 历史数据查询方法及系统
CN108460044B (zh) * 2017-02-20 2022-06-14 阿里巴巴集团控股有限公司 数据的处理方法和装置
CN109101168A (zh) * 2017-06-20 2018-12-28 中兴通讯股份有限公司 数据输入方法、装置和移动终端
CN110110018A (zh) * 2018-01-30 2019-08-09 普天信息技术有限公司 存储的处理方法、装置、电子设备和存储介质
CN112905127A (zh) * 2021-03-25 2021-06-04 北京金风慧能技术有限公司 数据处理方法和数据处理系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783063A (zh) * 2004-11-29 2006-06-07 中兴通讯股份有限公司 历史数据归档和查询装置及方法
CN101207513A (zh) * 2006-12-22 2008-06-25 中兴通讯股份有限公司 保存历史数据的方法及装置
CN101216821A (zh) * 2007-01-05 2008-07-09 中兴通讯股份有限公司 数据采集系统的存储管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783063A (zh) * 2004-11-29 2006-06-07 中兴通讯股份有限公司 历史数据归档和查询装置及方法
CN101207513A (zh) * 2006-12-22 2008-06-25 中兴通讯股份有限公司 保存历史数据的方法及装置
CN101216821A (zh) * 2007-01-05 2008-07-09 中兴通讯股份有限公司 数据采集系统的存储管理方法

Also Published As

Publication number Publication date
CN101344893A (zh) 2009-01-14

Similar Documents

Publication Publication Date Title
CN101344893B (zh) 一种历史数据的存取方法和装置
Bentley et al. Decomposable searching problems.
US7124146B2 (en) Incremental cardinality estimation for a set of data values
CN105488231B (zh) 一种基于自适应表维度划分的大数据处理方法
CN102306176B (zh) 一种基于数据仓库内在特征的olap关键词查询方法
CN111506621B (zh) 一种数据统计方法及装置
CN101968806A (zh) 数据存储方法、查询方法及装置
CN101901242A (zh) 联合的配置数据管理
CN103092867A (zh) 一种数据管理方法及系统、数据分析装置
CN110659282A (zh) 数据路由的构建方法、装置、计算机设备和存储介质
CN103246745A (zh) 一种基于数据仓库的数据处理装置及方法
CN100367278C (zh) 历史数据归档和查询装置及方法
CN101963993B (zh) 一种数据库单表记录快速查找的方法
US20160078071A1 (en) Large scale offline retrieval of machine operational information
Raıssi et al. Need for speed: Mining sequential patterns in data streams
CN105630983A (zh) 一种资源获取优化装置和方法
CN113360551B (zh) 一种靶场中时序数据的存储与快速统计方法及系统
CN112163015B (zh) 一种物联网时序数据实时监控方法、装置和系统
CN112667859A (zh) 基于内存的数据处理方法及装置
CN112418945A (zh) 一种基于企业服务门户的经济热点发现分析系统及方法
Guinepain et al. Automatic database clustering using data mining
CN116010668B (zh) 一种应用于数据库的快速检索方法及系统
Paixão et al. Clustering large-scale, distributed software component repositories
CN116644039B (zh) 一种基于大数据的在线能力运营日志自动采集分析的方法
CN116756211A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180702

Address after: California, USA

Patentee after: Global innovation polymerization LLC

Address before: 518057 Nanshan District high tech Industrial Park, Shenzhen, Guangdong, Ministry of justice, Zhongxing Road, South China road.

Patentee before: ZTE Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100602