CN110413631A - 一种数据查询方法及装置 - Google Patents
一种数据查询方法及装置 Download PDFInfo
- Publication number
- CN110413631A CN110413631A CN201810380837.1A CN201810380837A CN110413631A CN 110413631 A CN110413631 A CN 110413631A CN 201810380837 A CN201810380837 A CN 201810380837A CN 110413631 A CN110413631 A CN 110413631A
- Authority
- CN
- China
- Prior art keywords
- data
- checked
- time
- summarize
- file
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据库技术领域,尤其涉及一种数据查询方法及装置,用以解决现有技术中当存储了海量数据时,数据库的查询效率比较低的问题;本申请实施例提供的数据查询方法包括:接收数据查询请求,所述数据查询请求中携带有待查询数据的生成时间段信息;若根据待查询数据的生成时间段信息和记录的最近汇总时间信息,确定已对待查询数据进行过数据汇总,则基于所述待查询数据的生成时间段信息、以及每次对原始数据按照生成时间进行汇总时记录的汇总时间段和汇总数据存储位置之间的对应关系,从汇总数据中查询待查询数据;响应数据查询请求,由于不必在海量的原始数据中查找待查询数据,因此,可以大大提高数据库的查询效率。
Description
技术领域
本申请涉及数据库技术领域,尤其涉及一种数据查询方法及装置。
背景技术
随着信息技术的快速发展,越来越多的新产品投入到企业运营中,接入运营系统的设备也越来越多,为了保证业务稳定,一般都需要对这些设备进行监控。
目前,主要是利用关系型数据库如mysql、Oracle、DB2、Microsoft SQL Server等,存储运维系统产生的运维数据,比较庞大的运维系统基本每天都会产生几亿条甚至更多的运维数据,这些数据不但需要实时地存入数据库,而且需要数据库提供良好的查询性能,但当数据库中存入海量数据时,其对查询操作的响应速度就会变得比较慢,难以满足对实时性要求比较高的运维工作的需求。
可见,现有技术中存在着当存储了海量数据时,数据库的查询效率比较低的问题。
发明内容
本申请实施例提供一种数据查询方法及装置,用以解决现有技术中当存储了海量数据时,数据库的查询效率比较低的问题。
第一方面,本申请实施例提供一种数据查询方法,当数据库接收到数据查询请求时,可以根据数据查询请求中携带的待查询数据的生成时间段信息和自身记录的最近汇总时间信息,判断是否已对待查询数据进行过数据汇总,若是,则可以基于待查询数据的生成时间段信息、以及记录的每次汇总时汇总时间段和汇总数据存储位置之间的对应关系,从汇总数据中查询待查询数据,进而响应数据查询请求。
采用上述方案,由于汇总数据是数据库按照原始数据的生成时间进行汇总的,并且数据库中记录有每次汇总时的汇总时间段和汇总数据存储位置之间的对应关系,那么,数据库在接收到数据查询请求时,可以根据数据查询请求中携带的待查询数据的生成时间段信息和记录的最近汇总时间信息,判断待查询数据是否已经进行过汇总,若确定已对待查询数据进行过数据汇总,则可以直接根据待查询数据的生成时间段信息、和记录的汇总时间段和汇总数据存储位置之间的对应关系,在汇总数据中进行查询,而不必在海量的原始数据中查找待查询数据,因此可以大大提高数据库的查询效率。
在一些可能的实施方式中,数据库可以根据以下步骤进行数据汇总:
周期性接收并保存原始数据,当确定当前时间与最近汇总时间之间的时间差等于汇总周期时,可以根据预设的汇总规则对保存的、生成时间晚于最近汇总时间的原始数据进行汇总,之后,记录此次汇总时的汇总时间段和汇总数据存储位置之间的对应关系,其中,第一次汇总时间是预先设定的。
采用上述方案,数据库可以边存储原始数据边对原始数据进行汇总,可以避免大量挤压原始数据,并且可以提高汇总数据的时效性。
在一些可能的实施方式中,数据库可以根据以下步骤从汇总数据中查询待查询数据:数据库根据待查询数据的生成时间段信息和记录的汇总时间段信息,确定待查询数据对应的至少一个汇总时间段,进而针对每一汇总时间段,根据记录的汇总时间段与汇总数据存储位置之间的对应关系,确定该汇总时间段对应的汇总数据的存储位置,并从该存储位置中读取该汇总时间段对应的汇总数据,最终,将所有汇总时间段对应的汇总数据作为查询结果返回给查询方。
实际应用中,原始数据和汇总数据都是以某种数据文件的形式进行保存的,为了节省数据库的存储空间,在一些可能的实施方式中,数据库可以周期性检查原始数据和汇总数据中每一数据文件的大小,针对任一数据文件,若数据库确定该数据文件的大小超过第一阈值,还可以对该数据文件进行压缩处理,尽可能减小该数据文件的大小。
进一步地,为了减小数据库中的总文件个数,还可以使每个压缩文件尽可能地达到预设大小。具体地,数据库在对每一数据文件进行压缩处理之后,可以计算压缩文件的大小,若确定压缩文件的大小小于预设的单个压缩文件的大小,则可以循环执行:将压缩文件和其它压缩文件进行合并,直到预设的单个压缩文件的大小减去合并后压缩文件的大小得到的差值、小于或者等于第二阈值时,停止合并,其中,压缩文件和进行合并的其它压缩文件中的数据同属于原始数据或者同属于汇总数据。
在一些可能的实施方式中,数据库中会缓存一部分原始数据,由于从缓存中查询数据的速度较快,数据库从汇总数据中查询待查询数据之前,还可以先判断缓存中是否包含待查询数据,若是,则可以直接从缓存中查询待查询数据;否则,再从汇总数据中查询待查询数据,这样,能够确保以最快的速度查询到待查询数据。
第二方面,本申请实施例提供一种数据查询装置,包括:
接收单元,用于接收数据查询请求,所述数据查询请求中携带有待查询数据的生成时间段信息;
查询单元,用于若根据所述待查询数据的生成时间段信息和记录的最近汇总时间信息,确定已对所述待查询数据进行过数据汇总,则基于所述待查询数据的生成时间段信息、以及每次对原始数据进行汇总时记录的汇总时间段和汇总数据存储位置之间的对应关系,从汇总数据中查询待查询数据;
响应单元,用于响应所述数据查询请求。
第三方面,本申请实施例提供的一种计算机,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述计算机执行上述数据查询方法的步骤。
第四方面,本申请实施例提供的一种计算机可读存储介质,包括程序代码,当所述程序代码在计算机上运行时,使所述计算机执行上述数据查询方法的步骤。
另外,第二方面至第四方面中任一种设计方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的数据查询方法的应用场景示意图;
图2为本申请实施例提供的数据查询方法的流程图;
图3为本申请实施例提供的数据库的示意图;
图4为本申请实施例提供的数据查询装置结构图;
图5为本申请实施例提供的用于实现数据查询方法的计算机的硬件结构示意图。
具体实施方式
为了在海量数据场景下提高数据库的查询效率,本申请实施例提供了一种数据查询方法及装置。
首先,对本申请实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
关系型数据库,建立在关系模型基础上的数据库,数据库中同一张表中的记录具有相同的属性和格式,不同数据表之间可以通过相同的属性进行关联。
非关系型数据库,没有明确的范围和定义,但非关系型数据库普遍存在一些共同特征,如不需事先定义数据模式、预定义表结构;将数据进行分区存储,并且通常还会对分区数据进行备份,这样既可以提高并行性能,又能避免单点失效的问题。本申请实施例中所提及的数据库均指非关系数据库。
汇总时间段,由汇总周期确定,如汇总周期为1天,则2018.2.1日原始数据的汇总时间段为2018.2.1 00:00~24:00;如汇总周期为0.5天,则对2018.2.1日的原始数据会进行两次汇总,汇总时间段分别为2018.2.1 00:00~12:00、2018.2.1 12:00~24:00。
数据的生成时间段,通常都为若干天,如2018.1.1~2018.1.15,2018.1.1~2018.1.31等。
目前,在利用非关系型数据库进行数据查询时,查询中的索引要么指向了大量无关数据的元组,要么包含了数据本身,从而导致查询速度很慢,为此,本申请实施例中,使数据库兼备了数据汇总能力,相当于在数据库侧完成了数据聚合,因此,更适用于支撑每天会产生海量数据的系统,如运维系统。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1示出了本申请实施例提供的数据查询方法的应用场景示意图,包括终端11和数据库12,其中,终端,用于向数据库发送查询请求,且数据查询请求中携带有待查询数据的生成时间段信息;数据库,用于根据待查询数据的生成时间段信息和记录的最近汇总时间信息,判断是否已对待查询数据进行过数据汇总,若是,则从汇总数据中查询待查询数据,进而向查询设备返回数据查询结果。
上述过程中,数据库除了具有保存原始数据的功能,还兼备了对海量原始数据按照生成时间和指定的汇总规则进行汇总的功能,并且,数据库中记录有每次汇总时的汇总时间段和汇总数据存储位置之间的对应关系,后续,数据库接收的数据查询请求可以携带待查询数据的生成时间段信息,若数据库根据生成时间段信息和记录的最近汇总时间,确定已对待查询数据进行过数据汇总,则可以根据待查询数据的生成时间段、以及记录的汇总时间段和汇总数据存储位置之间的对应关系,直接从汇总数据中进行查询,而不必在海量的原始数据中查找待查询数据,因此可以大大提高数据库的查询效率。
首先,介绍一种数据库对原始数据进行汇总的方式,具体如下:
实际应用中,数据库可以周期性接收并保存原始数据,当数据库确定当前时间与最近汇总时间之间的时间差等于预设的汇总周期时,可以根据预设的汇总规则对生成时间晚于最近汇总时间的原始数据进行汇总,并可以记录此次汇总时的汇总时间段和汇总数据存储位置之间的对应关系,其中,第一次汇总时的时间点可以预先设定。
具体实施时,汇总规则可以是按照指定字段进行汇总,也可以是按照指定字段的取值范围进行汇总等,其可以由技术人员根据实际的项目需求来设置,在此只是简单举例,并不构成对本申请实施例中汇总规则的限定。
下面结合图2对本申请实施例提供的数据查询方法的过程进行详细说明:
S201:数据库接收数据查询请求,数据查询请求中携带有待查询数据的生成时间段信息。
其中,数据查询请求可以是图1中任一个终端发起的,并且,待查询数据的生成时间段一般以天为最小单位,如2018.1.1~1.31、2018.1.20~1.23等。
S202:数据库判断待查询数据是否包含在缓存中,若是,则进入S203;否则,进入S204。
比如,缓存中可以存放一些查询频度比较高的数据,如每月最后三天的原始数据,如果待查询数据的生成时间段为某月最后三天,则可确定缓存中包含待查询数据,否则,确定缓存中不包含待查询数据。
总之,在进行数据查询时,首先考虑缓存中是否包含待查询数据,因为缓存响应数据查询的速度最快,确定缓存中不存在待查询数据时,再考虑从汇总数据或原始数据中进行查询,这样,能够确保以最快的速度查询到待查询数据。
S203:数据库从缓存中进行数据查询。
S204:数据库判断是否已对待查询数据进行过数据汇总,若是,则进入S206;否则,进入S205。
具体实施时,数据库可以根据待查询数据的生成时间段信息和记录的最近汇总时间信息,判断是否已对待查询数据进行过数据汇总,比如,若待查询数据的生成时间段中的最晚时间早于最近汇总时间,则可确定已对待查询数据进行过数据汇总;若待查询数据的生成时间段中的最晚时间不早于最近汇总时间,则可确定尚未对待查询数据进行数据汇总。
S205:数据库从汇总数据中查询待查询数据。
具体实施时,针对每次汇总,数据库在汇总数据对应的索引文件中记录有此次汇总的汇总时间段和汇总数据存储位置之间的对应关系,因此,数据库从汇总数据中进行数据查询时,可以根据待查询数据的生成时间段和索引文件中记录的汇总时间段信息,确定待查询数据对应的至少一个汇总时间段,进而针对每一汇总时间段,根据索引文件中记录的汇总时间段与汇总数据存储位置之间的对应关系,确定该汇总时间段对应的汇总数据的存储位置,从该存储位置中读取该汇总时间段对应的汇总数据,最终将所有汇总时间段对应的汇总数据作为查询到的数据。
S206:数据库从原始数据中进行数据查询。
S207:数据库响应数据查询请求。
本申请实施例中,数据库接收到的查询请求中携带有待查询数据的生成时间段信息,数据库可以判断生成时间段中的最晚时间是否早于最近汇总时间,若是,则代表待查询数据已经进行过汇总,可以从汇总数据中进行查询;否则,说明待查询数据还没有进行过汇总,可以从原始数据中查询待查询数据,由于汇总数据是数据库按照原始数据的生成时间进行过汇总的,并且,数据库中保存有每次汇总时的汇总时间段和汇总数据存储位置之间的对应关系,因此,再根据数据生成时间段进行查询时,可以大大提高数据库的查询效率;而数据库中没有进行汇总的原始数据的数据量比较小,直接从原始数据中查询的速度也比较快,这样,无论是从汇总数据中还是从原始数据中查询数据的速度都比较快。
为了便于管理,具体实施时,汇总数据和原始数据都可以主要利用两个文件进行存储,一个为索引文件,另一个为数据文件,其中,索引文件用于存储数据的生成时间、数据文件的存放位置和数据长度,索引文件的数据结构可以为:[time|index|length#time|index|length#....],其中,time代表数据的生成时间或生成时间段,为长整型,index代表文件位置,为长整型,length代表数据长度,即存储到数据文件中的数据条数;数据文件,用于存储数据的身份标识(Identification,ID)和具体取值,数据文件的存储格式可以为:[dataId|value#dataId|value#dataId|value#......],其中,dataId代表数据ID,是经过哈希处理后的长整型值,value代表数据值,为双精度浮点型。
此外,为了节省数据库的存储空间,数据库还可以周期性检查原始数据和汇总数据中每一数据文件的大小,针对任一数据文件,若数据库确定该数据文件的大小超过第一阈值,如1000KB,则可以对该数据文件进行压缩处理。
并且,为了使每个压缩文件尽量达到预设的单个压缩文件的最大大小、减少文件数量,数据库在对每一数据文件进行压缩处理之后,还可以计算压缩文件的大小,若确定压缩文件的大小小于预设的单个压缩文件的大小,则可以循环执行以下操作:
将该压缩文件和其它压缩文件进行合并;
直到满足以下公式时停止对该压缩文件的合并操作:
预设的单个压缩文件的大小-合并后压缩文件的大小≤第二阈值;
其中,进行合并的其它压缩文件和该压缩文件中的数据同属于原始数据或者同属于汇总数据。
即,原始数据中的数据文件只能与原始数据中的数据文件进行压缩合并,不能与汇总数据中的数据文件进行压缩合并;类似地,汇总数据中的数据文件只能与汇总数据中的数据文件进行压缩合并,不能与原始数据中的数据文件进行压缩合并。
基于相同的发明构思,图3示出了本申请实施例提供的一种数据库的示意图,包括接收模块301、原始数据模块302、存储模块303、汇总数据模块304、缓存模块305、查询模块306、反馈模块307和压缩合并模块308,其中:
接收模块301,用于接收运维系统中监控设备发送的运维数据(即原始数据),对运维数据进行清洗处理,对每一条运维数据生成字符串哈希映射表,并将运维数据发送给原始数据模块和存储模块。
原始数据模块302,用于对接收到的运维数据按照接收时间进行顺序存储,并为运维数据建立索引。
存储模块303,用于为作为接收模块和原始数据模块之间的缓冲,当接收到的运维数据比较多、原始数据模块来不及存储时,可以先将运维数据存放在存储模块中,待原始数据模块可以继续进行数据存储时,再从存储模块中获取数据进行存储。
并且,为了持久化存储数据,当系统崩溃时,可以通过存储模块中的运维数据恢复出还没有写入到原始数据模块中的数据,由于运维数据是顺序插入存储模块的,所以将运维数据从存储模块写入原始数据模块的效率也比较高。
汇总数据模块304,用于根据预设的汇总周期和预设的汇总规则,周期性地对原始数据模块中的运维数据进行汇总,汇总周期可以为小时、天、月等,并且,每一汇总周期都可以汇总出汇总规则中指定数据的最大值、最小值和平均值等。
缓存模块305,用于缓存常用运维数据和这些数据的索引,加速数据访问、减少对磁盘的读写操作。
查询模块306,用于接收数据查询请求,当确定缓存模块中不包含待查询数据时,再根据数据查询请求中携带的待查询数据的生成时间段信息和最近汇总时间,判断查询汇总数据还是原始数据,根据判断结果进行数据查询。
反馈模块307,用于将查询模块查询到的数据反馈给数据请求方。
压缩合并模块308,后台持续运行,定期检查原始数据模块和汇总数据模块中是否有需要压缩合并的文件。
主要是检查原始数据模块和汇总数据模块中数据文件的大小,若某文件的大小超过预设值,则可以对该文件进行压缩,并且,为了减小文件数量,使每个压缩文件尽可能地达到预设文件大小,还可以将压缩文件与其它压缩文件进行合并处理。
此外,本申请可以根据上述方法示例对装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。比如,在采用对应各个功能划分各个功能单元的情况下,图4示出了一种数据查询装置的示意图,该装置包括接收单元401、查询单元402和响应单元403。
接收单元401,用于接收数据查询请求,所述数据查询请求中携带有待查询数据的生成时间段信息;
查询单元402,用于若根据所述待查询数据的生成时间段信息和记录的最近汇总时间信息,确定已对所述待查询数据进行过数据汇总,则基于所述待查询数据的生成时间段信息、以及每次对原始数据进行汇总时记录的汇总时间段和汇总数据存储位置之间的对应关系,从汇总数据中查询待查询数据;
响应单元403,用于响应所述数据查询请求。
在一种可能的实现方式中,还包括:汇总单元404和记录单元405,
接收单元401,还用于周期性接收并保存原始数据;
汇总单元404,用于确定当前时间与最近汇总时间之间的时间差等于汇总周期时,根据预设的汇总规则对保存的、生成时间晚于最近汇总时间的原始数据进行汇总,其中,第一次汇总时间是预先设定的。
记录单元405,用于记录此次汇总时的汇总时间段和汇总数据存储位置之间的对应关系。
在一种可能的实现方式中,查询单元402具体用于:
根据所述待查询数据的生成时间段信息和记录的汇总时间段信息,确定待查询数据对应的至少一个汇总时间段;
针对每一汇总时间段,根据记录的汇总时间段与汇总数据存储位置之间的对应关系,确定该汇总时间段对应的汇总数据的存储位置,从该存储位置中读取该汇总时间段对应的汇总数据。
在一种可能的实现方式中,还包括:检查单元406和压缩单元407,
检查单元406,用于周期性检查原始数据和汇总数据中每一数据文件的大小;
压缩单元407,用于针对任一数据文件,若确定该数据文件的大小超过第一阈值,则对该数据文件进行压缩处理。
在一种可能的实现方式中,还包括:合并单元408,
合并单元408,用于在对每一数据文件进行压缩处理之后,计算压缩文件的大小;若确定该压缩文件的大小小于预设的单个压缩文件的大小,则循环执行:将该压缩文件和其它压缩文件进行合并,直到预设的单个压缩文件的大小减去合并后压缩文件的大小得到的差值、小于或者等于第二阈值,其中,进行合并的其它压缩文件和该压缩文件中的数据同属于原始数据或者同属于汇总数据。
在一种可能的实现方式中,还包括:确定单元409,
确定单元409,用于在从汇总数据中查询待查询数据之前,确定缓存中不包含所述待查询数据。
如图5所示,为本申请实施例提供的用于实现数据查询方法的计算机的硬件结构示意图,包括至少一个处理单元501、以及至少一个存储单元502,其中,存储单元存储有程序代码,当程序代码被所述处理单元执行时,使得计算机执行上述数据查询方法的步骤。
本申请实施例提供的一种计算机可读存储介质,包括程序代码,当所述程序代码在计算机上运行时,使计算机执行上述数据查询方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (14)
1.一种数据查询方法,其特征在于,包括:
接收数据查询请求,所述数据查询请求中携带有待查询数据的生成时间段信息;
若根据所述待查询数据的生成时间段信息和记录的最近汇总时间信息,确定已对所述待查询数据进行过数据汇总,则基于所述待查询数据的生成时间段信息、以及每次对原始数据按照生成时间进行汇总时记录的汇总时间段和汇总数据存储位置之间的对应关系,从汇总数据中查询待查询数据;
响应所述数据查询请求。
2.如权利要求1所述的方法,其特征在于,根据以下步骤进行数据汇总:
周期性接收并保存原始数据;
确定当前时间与最近汇总时间之间的时间差等于汇总周期时,根据预设的汇总规则对保存的、生成时间晚于最近汇总时间的原始数据进行汇总,其中,第一次汇总时间是预先设定的;
记录此次汇总时的汇总时间段和汇总数据存储位置之间的对应关系。
3.如权利要求2所述的方法,其特征在于,基于所述待查询数据的生成时间段信息、以及每次对原始数据按照生成时间进行汇总时记录的汇总时间段和汇总数据存储位置之间的对应关系,从汇总数据中查询待查询数据,包括:
根据所述待查询数据的生成时间段信息和记录的汇总时间段信息,确定待查询数据对应的至少一个汇总时间段;
针对每一汇总时间段,根据记录的汇总时间段与汇总数据存储位置之间的对应关系,确定该汇总时间段对应的汇总数据的存储位置,从该存储位置中读取该汇总时间段对应的汇总数据。
4.如权利要求1~3任一所述的方法,其特征在于,还包括:
周期性检查原始数据和汇总数据中每一数据文件的大小;
针对任一数据文件,若确定该数据文件的大小超过第一阈值,则对该数据文件进行压缩处理。
5.如权利要求4所述的方法,其特征在于,对该数据文件进行压缩处理之后,还包括:
计算压缩文件的大小;
若确定该压缩文件的大小小于预设的单个压缩文件的大小,则循环执行:将该压缩文件和其它压缩文件进行合并,直到预设的单个压缩文件的大小减去合并后压缩文件的大小得到的差值、小于或者等于第二阈值,其中,进行合并的其它压缩文件和该压缩文件中的数据同属于原始数据或者同属于汇总数据。
6.如权利要求1~3、5任一所述的方法,其特征在于,所述数据库从汇总数据中查询待查询数据之前,还包括:
所述数据库确定缓存中不包含所述待查询数据。
7.一种数据查询装置,其特征在于,包括:
接收单元,用于接收数据查询请求,所述数据查询请求中携带有待查询数据的生成时间段信息;
查询单元,用于若根据所述待查询数据的生成时间段信息和记录的最近汇总时间信息,确定已对所述待查询数据进行过数据汇总,则基于所述待查询数据的生成时间段信息、以及每次对原始数据进行汇总时记录的汇总时间段和汇总数据存储位置之间的对应关系,从汇总数据中查询待查询数据;
响应单元,用于响应所述数据查询请求。
8.如权利要求7所述的装置,其特征在于,还包括:汇总单元和记录单元,
所述接收单元,还用于周期性接收并保存原始数据;
所述汇总单元,用于确定当前时间与最近汇总时间之间的时间差等于汇总周期时,根据预设的汇总规则对保存的、生成时间晚于最近汇总时间的原始数据进行汇总,其中,第一次汇总时间是预先设定的;
所述记录单元,用于记录此次汇总时的汇总时间段和汇总数据存储位置之间的对应关系。
9.如权利要求8所述的装置,其特征在于,所述查询单元具体用于:
根据所述待查询数据的生成时间段信息和记录的汇总时间段信息,确定待查询数据对应的至少一个汇总时间段;
针对每一汇总时间段,根据记录的汇总时间段与汇总数据存储位置之间的对应关系,确定该汇总时间段对应的汇总数据的存储位置,从该存储位置中读取该汇总时间段对应的汇总数据。
10.如权利要求7~9任一所述的装置,其特征在于,还包括:检查单元和压缩单元,
所述检查单元,用于周期性检查原始数据和汇总数据中每一数据文件的大小;
所述压缩单元,用于针对任一数据文件,若确定该数据文件的大小超过第一阈值,则对该数据文件进行压缩处理。
11.如权利要求10所述的装置,其特征在于,还包括:合并单元,
所述合并单元,用于在对每一数据文件进行压缩处理之后,计算压缩文件的大小;若确定该压缩文件的大小小于预设的单个压缩文件的大小,则循环执行:将该压缩文件和其它压缩文件进行合并,直到预设的单个压缩文件的大小减去合并后压缩文件的大小得到的差值、小于或者等于第二阈值,其中,进行合并的其它压缩文件和该压缩文件中的数据同属于原始数据或者同属于汇总数据。
12.如权利要求7~9、11任一所述的装置,其特征在于,还包括:
确定单元,用于在从汇总数据中查询待查询数据之前,确定缓存中不包含所述待查询数据。
13.一种计算机,其特征在于,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述计算机执行权利要求1~6任一所述方法的步骤。
14.一种计算机可读存储介质,其特征在于,包括程序代码,当所述程序代码在计算机上运行时,使所述计算机执行权利要求1~6任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810380837.1A CN110413631B (zh) | 2018-04-25 | 2018-04-25 | 一种数据查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810380837.1A CN110413631B (zh) | 2018-04-25 | 2018-04-25 | 一种数据查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110413631A true CN110413631A (zh) | 2019-11-05 |
CN110413631B CN110413631B (zh) | 2022-06-10 |
Family
ID=68345499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810380837.1A Active CN110413631B (zh) | 2018-04-25 | 2018-04-25 | 一种数据查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110413631B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159244A (zh) * | 2019-12-30 | 2020-05-15 | 中消云(北京)物联网科技研究院有限公司 | 数据查询方法及装置 |
CN111460037A (zh) * | 2020-04-03 | 2020-07-28 | 中国建设银行股份有限公司 | 金融数据查询方法及装置 |
WO2022062368A1 (zh) * | 2020-09-25 | 2022-03-31 | 浙江三维通信科技有限公司 | 数据的查询方法、装置、电子装置和存储介质 |
CN114553975A (zh) * | 2020-11-18 | 2022-05-27 | 北京广利核系统工程有限公司 | 基于udp网络的数据通信方法、装置和计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110074A (zh) * | 2007-01-30 | 2008-01-23 | 浪潮乐金信息系统有限公司 | 基于文件系统缓存的数据加速查询方法 |
CN102200972A (zh) * | 2010-03-24 | 2011-09-28 | 腾讯科技(北京)有限公司 | 一种数据库维护方法和设备 |
CN105989076A (zh) * | 2015-02-10 | 2016-10-05 | 腾讯科技(深圳)有限公司 | 一种数据统计方法以及装置 |
CN107315761A (zh) * | 2017-04-17 | 2017-11-03 | 阿里巴巴集团控股有限公司 | 一种数据更新方法、数据查询方法及装置 |
CN107368501A (zh) * | 2016-05-13 | 2017-11-21 | 北京京东尚科信息技术有限公司 | 数据的处理方法及装置 |
US20180004812A1 (en) * | 2016-06-30 | 2018-01-04 | Referentia Systems, Inc. | Time series data query engine |
-
2018
- 2018-04-25 CN CN201810380837.1A patent/CN110413631B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110074A (zh) * | 2007-01-30 | 2008-01-23 | 浪潮乐金信息系统有限公司 | 基于文件系统缓存的数据加速查询方法 |
CN102200972A (zh) * | 2010-03-24 | 2011-09-28 | 腾讯科技(北京)有限公司 | 一种数据库维护方法和设备 |
CN105989076A (zh) * | 2015-02-10 | 2016-10-05 | 腾讯科技(深圳)有限公司 | 一种数据统计方法以及装置 |
CN107368501A (zh) * | 2016-05-13 | 2017-11-21 | 北京京东尚科信息技术有限公司 | 数据的处理方法及装置 |
US20180004812A1 (en) * | 2016-06-30 | 2018-01-04 | Referentia Systems, Inc. | Time series data query engine |
CN107315761A (zh) * | 2017-04-17 | 2017-11-03 | 阿里巴巴集团控股有限公司 | 一种数据更新方法、数据查询方法及装置 |
Non-Patent Citations (2)
Title |
---|
RENYA NATH N等: "Intelligent query placement strategy for progressive-real time analytics in big data", 《2016 10TH INTERNATIONAL CONFERENCE ON INTELLIGENT SYSTEMS AND CONTROL (ISCO)》 * |
林子雨等: "基于关系数据库的关键词查询", 《软件学报》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159244A (zh) * | 2019-12-30 | 2020-05-15 | 中消云(北京)物联网科技研究院有限公司 | 数据查询方法及装置 |
CN111159244B (zh) * | 2019-12-30 | 2024-02-09 | 中消云(北京)物联网科技研究院有限公司 | 数据查询方法及装置 |
CN111460037A (zh) * | 2020-04-03 | 2020-07-28 | 中国建设银行股份有限公司 | 金融数据查询方法及装置 |
WO2022062368A1 (zh) * | 2020-09-25 | 2022-03-31 | 浙江三维通信科技有限公司 | 数据的查询方法、装置、电子装置和存储介质 |
CN114553975A (zh) * | 2020-11-18 | 2022-05-27 | 北京广利核系统工程有限公司 | 基于udp网络的数据通信方法、装置和计算机设备 |
CN114553975B (zh) * | 2020-11-18 | 2024-03-15 | 北京广利核系统工程有限公司 | 基于udp网络的数据通信方法、装置和计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110413631B (zh) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109034993A (zh) | 对账方法、设备、系统及计算机可读存储介质 | |
CN110413631A (zh) | 一种数据查询方法及装置 | |
CN102629247B (zh) | 一种数据处理方法、装置和系统 | |
CN103136243B (zh) | 基于云存储的文件系统去重方法及装置 | |
CN107229420B (zh) | 数据存储方法、读取方法、删除方法和数据操作系统 | |
US10417265B2 (en) | High performance parallel indexing for forensics and electronic discovery | |
US20050246362A1 (en) | System and method for dynamci log compression in a file system | |
CN102591864B (zh) | 比对系统中的数据更新方法及装置 | |
CN103500089A (zh) | 一种适应于Mapreduce计算模型的小文件存储系统 | |
CN113901279B (zh) | 一种图数据库的检索方法和装置 | |
CN110309233A (zh) | 数据存储的方法、装置、服务器和存储介质 | |
CN109598156A (zh) | 一种写时重定向引擎快照流方法 | |
CN105095247A (zh) | 符号数据分析方法和系统 | |
WO2023185111A1 (zh) | 一种数据文件的快速存取方法及装置 | |
CN107797770A (zh) | 一种磁盘状态信息的同步方法及装置 | |
CN114329096A (zh) | 一种原生图数据库处理方法及系统 | |
CN109460345A (zh) | 实时数据的计算方法及系统 | |
CN107506466B (zh) | 一种小文件存储方法及系统 | |
CN110019063A (zh) | 计算节点数据容灾回放的方法、终端设备及存储介质 | |
CN113553325A (zh) | 一种对象存储系统中聚合对象的同步方法和系统 | |
CN111369302A (zh) | 实时生成积分的方法、系统及计算机可读存储介质 | |
US20220360458A1 (en) | Control method, information processing apparatus, and non-transitory computer-readable storage medium for storing control program | |
CN114138424B (zh) | 一种虚拟机内存快照生成方法、装置及电子设备 | |
CN108021562B (zh) | 应用于分布式文件系统的存盘方法、装置及分布式文件系统 | |
US11907531B2 (en) | Optimizing storage-related costs with compression in a multi-tiered storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |