发明内容
为克服相关技术中存在的问题,本说明书提供了数据查询方法、装置及设备。
根据本说明书实施例的第一方面,提供一种数据查询装置,所述装置包括:
存储模块,用于:存储至少一个数据表,所述数据表按日区分,所述数据表中至少包括如下三个属性:当日统计值、昨日统计值和截至前日的统计值;
在线处理模块,用于:根据当日在线数据计算当日统计值,并将计算结果分别写入于:今日数据表的当日统计值,以及明日数据表的昨日统计值;
离线处理模块,用于:根据离线数据计算昨日统计值并校准所述今日数据表中的昨日统计值,以及计算截至昨日的统计值并写入于后日数据表的截至前日的统计值;
查询模块,用于:若接收到截至当前的统计值的查询请求,根据所述存储模块存储的今日数据表中的所述当日统计值、昨日统计值和截至前日的统计值,获得查询结果。
可选的,所述根据离线数据计算昨日统计值并校准所述今日数据表中的昨日统计值,包括:
根据离线数据计算昨日统计值后,将所述今日数据表中的昨日统计值更新为所述计算的昨日统计值。
可选的,所述查询模块,还用于:在接收到所述查询请求后,生成查询指令发送给所述存储模块,所述查询指令至少携带有所述今日数据表的标识。
根据本说明书实施例的第二方面,提供一种数据查询方法,所述方法包括:
接收截至当前的统计值的查询请求;
根据已存储的今日数据表中的当日统计值、昨日统计值和截至前日的统计值,获得查询结果;其中,所述今日数据表中的昨日统计值由在线处理模块在昨日根据在线数据计算当日统计值后写入,并由离线处理模块在当日根据离线数据计算昨日统计值后所校准;所述截止前日的统计值由所述离线处理模块在前日根据离线数据计算截至前日的统计值后写入。
可选的,所述方法还包括:在接收到所述查询请求后,生成查询指令发送给存储数据表的存储模块,所述查询指令至少携带有所述今日数据表的标识。
根据本说明书实施例的第三方面,提供一种数据查询装置,所述装置包括:
接收模块,用于:接收截至当前的统计值的查询请求;
查询模块,用于:根据已存储的今日数据表中的所述当日统计值、昨日统计值和截至前日的统计值,获得查询结果;其中,所述今日数据表中的昨日统计值由在线处理模块在昨日根据在线数据计算当日统计值后写入,并由离线处理模块在当日根据离线数据计算昨日统计值后所校准;所述截止前日的统计值由所述离线处理模块在前日根据离线数据计算截至前日的统计值后写入。
可选的,所述查询模块,还用于:在接收到所述查询请求后,生成查询指令发送给存储数据表的存储模块,所述查询指令至少携带有所述今日数据表的标识。
根据本说明书实施例的第四方面,提供一种数据查询装置,所述装置包括:
存储模块,用于:存储至少一个数据表,所述数据表按周期区分,所述数据表中至少包括如下三个属性:当前周期统计值、上一周期统计值和截至上上周期的统计值;
在线处理模块,用于:根据当前在线数据计算当前周期统计值,并将计算结果分别写入于:当前周期数据表的当日统计值,以及下一周期数据表的上一周期统计值;
离线处理模块,用于:根据离线数据计算上一周期统计值并校准所述当前周期数据表中的上一周期统计值,以及计算截至上上周期的统计值并写入于下下周期数据表的截至上上周期的统计值;
查询模块,用于:若接收到截至当前的统计值的查询请求,根据所述存储模块存储的当前数据表中的所述当前周期统计值、上一周期统计值和截至上上周期的统计值,获得查询结果。
可选的,所述根据离线数据计算上一周期统计值并校准所述当前数据表中的上一周期统计值,包括:
根据离线数据计算上一周期统计值后,将所述当前周期数据表中的上一周期统计值更新为所述计算的上一周期统计值。
可选的,所述查询模块,还用于:在接收到所述查询请求后,生成查询指令发送给所述存储模块,所述查询指令至少携带有所述当前周期数据表的标识。
根据本说明书实施例的第五方面,提供一种数据查询方法,所述方法包括:
接收截至当前周期的统计值的查询请求;
根据已存储的当前周期数据表中的当前周期统计值、上一周期统计值和截至上上周期的统计值,获得查询结果;其中,所述当前周期数据表中的上一周期统计值由在线处理模块在上一周期根据在线数据计算当前周期统计值后写入,并由离线处理模块在当前周期根据离线数据计算上一周期统计值后所校准;所述截止上上周期的统计值由所述离线处理模块在上上周期根据离线数据计算截至上上周期的统计值后写入。
可选的,所述方法还包括:在接收到所述查询请求后,生成查询指令发送给存储数据表的存储模块,所述查询指令至少携带有所述当前周期数据表的标识。
根据本说明书实施例的第六方面,提供一种数据查询装置,所述装置包括:
接收模块,用于:接收截至当前周期的统计值的查询请求;
查询模块,用于:根据已存储的当前周期数据表中的当前周期统计值、上一周期统计值和截至上上周期的统计值,获得查询结果;其中,所述当前周期数据表中的上一周期统计值由在线处理模块在上一周期根据在线数据计算当前周期统计值后写入,并由离线处理模块在当前周期根据离线数据计算上一周期统计值后所校准;所述截止上上周期的统计值由所述离线处理模块在上上周期根据离线数据计算截至上上周期的统计值后写入。
可选的,所述查询模块,还用于:在接收到所述查询请求后,生成查询指令发送给存储数据表的存储模块,所述查询指令至少携带有所述当前周期数据表的标识。
根据本说明书实施例的第七方面,提供一种数据查询设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收截至当前的统计值的查询请求;
根据已存储的今日数据表中的当日统计值、昨日统计值和截至前日的统计值,获得查询结果;其中,所述今日数据表中的昨日统计值由在线处理模块在昨日根据在线数据计算当日统计值后写入,并由离线处理模块在当日根据离线数据计算昨日统计值后所校准;所述截止前日的统计值由所述离线处理模块在前日根据离线数据计算截至前日的统计值后写入。
根据本说明书实施例的第八方面,提供一种数据查询设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收截至当前周期的统计值的查询请求;
根据已存储的当前周期数据表中的当前周期统计值、上一周期统计值和截至上上周期的统计值,获得查询结果;其中,所述当前周期数据表中的上一周期统计值由在线处理模块在上一周期根据在线数据计算当前周期统计值后写入,并由离线处理模块在当前周期根据离线数据计算上一周期统计值后所校准;所述截止上上周期的统计值由所述离线处理模块在上上周期根据离线数据计算截至上上周期的统计值后写入。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,由于数据表至少包括如下三个属性:当日统计值、昨日统计值和截至前日的统计值,今日数据表中的昨日统计值由在线处理模块在昨日根据在线数据计算当日统计值后写入,并由离线处理模块在当日根据离线数据计算昨日统计值后所校准;截止前日的统计值由所述离线处理模块在前日根据离线数据计算截至前日的统计值后写入。因此,若需要查询截止至当前的统计值,本说明书实施例无需感知离线处理是否完成,也无需查询其他数据表,可以直接在当日数据表中查询三个属性的属性值,即可获得查询结果,因此查询速度较快、能提高查询能力、减少查询编码的复杂性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在大数据背景下,数据存储方式可以分为在线存储和离线存储。在线存储是指在线数据源源不断地产生并存储于在线数据库,离线存储是指存储历史数据,在线数据库的在线数据会按照一定周期同步于离线数据库中。
在目前的许多业务系统中,如在线订单、支付业务等,常常会有查询截止至当前的统计值的需求,比如查询某个商铺截止至当前的订单量、查询某个服务商截止至当前认领了多少商家、查询用户截止至当前的收益值等等。
针对上述需要,业务系统可以配置在线处理任务和离线处理任务以存储统计数据。如图1所示,是本说明书根据一示例性实施例示出的一种数据查询场景示意图,包括业务系统、在线数据库、离线数据库、在线处理任务、离线处理任务和用于存储计算结果的存储模块。
在线处理任务能够根据在线数据不停地连续计算,比如根据在线数据库中的交易订单日志,通过订单日志连续不断地计算当日订单量。可以理解,由于在线网络的不稳定性或者高并发请求等原因,在线处理任务所计算的当日统计值可能不准确。因此,在第二天,离线处理任务会在当天触发计算昨日统计值,比如,在5月2号的23:59:59后,在线处理任务将会计算得到5月2号的当日统计值;从5月3号0:0:0起,在线数据库中5月2号产生的数据成为历史数据并同步于离线数据库,在5月3号当天会触发离线处理任务,离线处理任务根据5月2号产生的数据计算5月2号的统计值,并更新在线处理任务的处理结果。
在一些场景中,由于统计对象很多,每天的统计结果会存储于一份数据表中,每份数据表按日区分,也即是每日对应一份数据表,数据表会记录该天统计值,以及截至前一天的历史统计值。例如,5月2号的数据表会记录5月2号所有统计对象的当天统计值,以及截至5月2号所有统计对象的历史统计值。
可以理解,离线处理任务从触发后到处理结束需要一定时间,而且触发时间也可能不确定。因此,假设在5月3号的某个时刻,需要查询截至当前的统计值,查询的过程如下:
查询今天离线处理任务是否完成,若未完成,表示5月3号的数据表中截止5月3号的历史统计值还未获得,因此需要:
在5月2号的数据表中查询:5月2号的当天统计值,以及截至5月2号的历史统计值;
在5月3号的数据表中查询:5月3号的当前统计值。
之后将查询到的3个结果相加。
基于此,需要提供一种查询速度较快、能提高查询能力、减少查询编码的复杂性的数据查询方案。如图2A所示,是本说明书根据一示例性实施例示出的一种数据查询装置的框图,所述装置包括:
存储模块21,用于:存储至少一个数据表。其中,所述数据表按日区分,也就是说,每日对应一份数据表,每份数据表与日期对应,可选的,数据表可以以日期作为标识,以实现多个数据表的区分。其中,所述数据表中至少包括如下三个属性:当日统计值、昨日统计值和截至前日的统计值。
作为例子,以下表格示出了数据表中的部分数据:
统计对象ID |
current_claim_cnt |
yesterday_claim_cnt |
his_claim_cnt |
A |
21 |
20 |
500 |
B |
33 |
87 |
345 |
C |
56 |
26 |
456 |
表1
其中,该数据表中示出了3个统计对象(A、B和C)的统计数据,数据表中包括了三个属性:current_claim_cnt表示当日统计值、yesterday_claim_cnt表示昨日统计值、his_claim_cnt表示截至前日的统计值。
接下来说明上述三个属性的属性值的写入过程。本说明书实施例的装置,还包括:
在线处理模块22,用于:根据当日在线数据计算当日统计值,并将计算结果分别写入于:今日数据表的当日统计值,以及明日数据表的昨日统计值。
可以理解,在线处理模块根据每日在线数据计算当前统计值(即从当日开始直至当前时刻的统计值),当日数据表中的该当日统计值由在线处理模块根据计算结果实时写入,current_claim_cnt会根据计算结果而更新。当天结束后,在线处理模块会获得当日统计值,数据表中的current_claim_cnt会获得最终结果。另一方面,在线处理模块还会将该当日统计值写入至明日数据表的昨日统计值。作为例子,在5月2日当天,在线处理模块会根据在线数据计算从当日开始直至当前时刻的统计值;5月2日结束时刻到达,在线处理模块会获得最终的当日统计值,该当日统计值会写入至5月2日数据表中,而且作为5月3日的昨日统计值写入至5月3日数据表中。
本说明书实施例中,数据表可以预先创建好,例如可以预先创建一段时间内所对应的数据表,比如在每月1日创建好当月的所有数据表等等。在其他例子中,也可以是在需要写入数据的时候再创建数据表。可选的,在线处理模块还可用于创建今日数据表和明日数据表,也就是说,在每天的开始时刻,在线处理模块开始触发计算,并可以创建今日数据表以及明天数据表。
离线处理模块23,用于:根据离线数据计算昨日统计值并校准所述今日数据表中的昨日统计值,以及计算截至前日的统计值并写入于所述明日数据表的截至前日的统计值。
可选的,离线处理模块的处理会在每日的某个时刻被触发,触发过程可以是由技术人员手动触发,也可以是基于某些条件自动触发,例如昨日数据同步完成之后,或者是设定时刻到达等等。离线处理模块用于根据离线数据计算昨日统计值,可以理解,此时计算得到的昨日统计值相较于在线处理模块在昨日的计算结果更为精准,因此,离线处理模块可以将计算得到的昨日统计值校准所述今日数据表中的昨日统计值。
作为例子,5月2号的某个时刻,离线处理模块开始根据离线数据计算昨日统计值(即5月1号统计值),而5月2号数据表中的昨日统计值是由5月1号的在线处理模块根据在线数据计算得到的,离线处理模块可以根据计算结果校准5月2号数据表中的昨日统计值。可选的,校准过程可以是比较计算结果与表中记录是否相同,若不同,则将表中记录更新为计算结果。在其他例子中,为了提高处理效率,还可以是不用对比,直接将所述今日数据表中的昨日统计值更新为所述计算的昨日统计值。可选的,离线处理模块的计算结果,还可以用于校准昨日数据表中的今日统计值。
另一方面,离线处理模块还可以计算得到截至昨日的统计值,并写入于后日数据表的截至前日的统计值。作为例子,5月2号的某个时刻,离线处理模块开始根据离线数据计算昨日统计值(即5月1号统计值),进一步地还可计算截至5月2号的历史统计值,该截至5月2号的历史统计值,可以写入于5月4号数据表中的截至前日的统计值。
上述5月3号当天在线处理模块和离线处理模块的处理过程,可以采用如下表格所示:
表2
上述处理过程是从每日处理过程的角度来描述,也可以从每日数据表的角度来解释:
数据表中的当日统计值,由在线处理模块在当日根据在线数据计算得到;
数据表中的昨日统计值,先由在线处理模块在昨日根据在线数据计算得到,后由离线处理模块在当日根据离线数据的计算结果校准;
数据表中的截至前日的统计值,由离线处理模块在昨日根据离线数据的计算得到。
例如,5月4号数据表中:
5月4号的当日统计值,由在线处理模块在当日根据在线数据计算得到;
5月4号的昨日统计值,由在线处理模块在5月3号根据在线数据计算得到写入的,而离线处理模块在5月4号的某个时刻触发、在根据离线数据计算后,会校准该昨日统计值;
5月4号的截至前日的统计值,由离线处理模块在5月3号根据离线数据计算得到。
上述处理过程可以采用如下表格所示,其中,表格前两行表示5月4号数据表中统计对象A的数据:
表3
查询模块24,用于:若接收到截至当前的统计值的查询请求,根据所述存储模块存储的今日数据表中的所述当日统计值、昨日统计值和截至前日的统计值,获得查询结果。
在今日数据表中包含有上述三个属性的情况下,若接收到截至当前的统计值的查询请求,可以根据所述存储模块存储的今日数据表中的所述当日统计值、昨日统计值和截至前日的统计值,获得查询结果。其中,由于存储模块存储有多份数据表,每天对应一份数据表,可以在接收到所述查询请求后,生成查询指令发送给所述存储模块,查询指令至少携带有所述今日数据表的标识。作为例子,若需要查询统计对象A截至当前的统计值,可以生成携带“当日数据表ID+统计对象ID”查询指令发送给存储模块,即可获得查询结果。
本实施例中,数据表不仅存储了当日的实时统计值,还存储了需要校准的昨日统计值,在查询截至当前的统计值时,离线处理模块可能已经完成计算并校准,也有可能未完成,但本实施例在查询的时候,无需感知离线处理模块是否已经校准昨日统计值;而且只需要生成一条查询指令,直接查询当日数据表的数据即可,因此可以提高查询速度,降低查询编码的复杂性。
接下来通过另一例子进行说明。如图2B所示,以在服务商线下作业统计为例,在该场景中,业务系统需要实时统计服务商认领多少个商家。
本说明书实施例中,在线数据库采用MySQL为例进行说明,实时处理任务会统计当日认领数(也即是当日统计值),并写入两笔数据到存储模块(即图中的“计算结果存储”),一笔是当日数据表的current_claim_cnt,一笔是明日数据表的yesterday_claim_cnt,这两笔数据是同一个值。
离线处理任务(图中离线T+1任务)被触发时,会计算两笔数据,一笔是昨日累计认领数yesterday_claim_cnt,用于校准今日数据表的yesterday_claim_cnt;一笔是截至前日的累计认领数his_claim_cnt,该笔数据会写入于明日数据表中。
当根据服务商ID获取当前累计认领数时,只需要根据“今日数据表标识+服务商ID”,获取当日实时累计认领数current_claim_cnt、昨日累计认领数yesterday_claim_cnt、截至到前日累计认领数his_claim_cnt三个指标,相加便得到该服务商截至当前的累计认领数。因此,在查询时无需确定离线计算任务是否完成。
举例说明20171220的三笔数据来源:
S1.离线任务会在20171219该日计算出20171220数据表的截至到前日的累计认领数his_claim_cnt(即截至20171218的累计认领数值);
S2.实时任务会在20171219该日实时写入20171220数据表的昨日累计认领数yesterday_claim_cnt;
S3.离线任务会在20171220该日校准20171220数据表的昨日累计认领数yesterday_claim_cnt,校准过程采用数据覆盖的方式实现(即直接更新数据);当离线校准任务未完成时,会使用S2步的昨日累计认领数yesterday_claim_cnt;
S4.实时任务会在20171220该日实时计算20171220的当日实时累计认领数current_claim_cnt。
由上述实施例可见,当需要查询截至当前的统计值时,无需查询离线任务是否处理完成,只需要从当日数据表中直接读取数据即可获得查询结果,因此只需要一次查询即可完成,显著地减少了查询指令,查询效率较高。
与前述图2A所示的数据查询装置的实施例相对应,本说明书实施例还提供了一种数据查询方法,如图3所示,包括如下步骤:
在步骤302中,接收截至当前的统计值的查询请求;
在步骤304中,根据已存储的今日数据表中的当日统计值、昨日统计值和截至前日的统计值,获得查询结果。
其中,所述今日数据表中的昨日统计值由在线处理模块在昨日根据在线数据计算当日统计值后写入,并由离线处理模块在当日根据离线数据计算昨日统计值后所校准;所述截止前日的统计值由所述离线处理模块在前日根据离线数据计算截至前日的统计值后写入。
可选的,所述方法还包括:在接收到所述查询请求后,生成查询指令发送给存储数据表的存储模块,所述查询指令至少携带有所述今日数据表的标识。
与图3所示方法相对应,本说明书还提供了一种数据查询装置的框图,如图4所示,所述装置包括:
接收模块41,用于:接收截至当前的统计值的查询请求;
查询模块42,用于:根据已存储的今日数据表中的所述当日统计值、昨日统计值和截至前日的统计值,获得查询结果;其中,所述今日数据表中的昨日统计值由在线处理模块在昨日根据在线数据计算当日统计值后写入,并由离线处理模块在当日根据离线数据计算昨日统计值后所校准;所述截止前日的统计值由所述离线处理模块在前日根据离线数据计算截至前日的统计值后写入。
可选的,所述查询模块,还用于:在接收到所述查询请求后,生成查询指令发送给存储数据表的存储模块,所述查询指令至少携带有所述今日数据表的标识。
前述图2A所示的数据查询装置中,以24小时(即每天)为周期描述了数据查询方案,实际应用中,也有采用其他时长为周期触发离线处理任务,例如2个小时、12个小时、24小时或48小时等等。因此,本实施例还提供了另一种数据查询装置,如图5所示,所述装置包括:
存储模块51,用于:存储至少一个数据表,所述数据表按周期区分,所述数据表中至少包括如下三个属性:当前周期统计值、上一周期统计值和截至上上周期的统计值;
在线处理模块52,用于:根据当前在线数据计算当前周期统计值,并将计算结果分别写入于:当前周期数据表的当日统计值,以及下一周期数据表的上一周期统计值;
离线处理模块53,用于:根据离线数据计算上一周期统计值并校准所述当前周期数据表中的上一周期统计值,以及计算截至上上周期的统计值并写入于下下周期数据表的截至上上周期的统计值;
查询模块54,用于:若接收到截至当前的统计值的查询请求,根据所述存储模块存储的当前数据表中的所述当前周期统计值、上一周期统计值和截至上上周期的统计值,获得查询结果。
可选的,所述根据离线数据计算上一周期统计值并校准所述当前数据表中的上一周期统计值,包括:
根据离线数据计算上一周期统计值后,将所述当前周期数据表中的上一周期统计值更新为所述计算的上一周期统计值。
可选的,所述查询模块,还用于:在接收到所述查询请求后,生成查询指令发送给所述存储模块,所述查询指令至少携带有所述当前周期数据表的标识。
与图5所示数据查询装置相对应,本说明书实施例还提供了一种数据查询方法,如图6所示,所述方法包括:
在步骤602中,接收截至当前周期的统计值的查询请求;
在步骤604中,根据已存储的当前周期数据表中的当前周期统计值、上一周期统计值和截至上上周期的统计值,获得查询结果。
其中,所述当前周期数据表中的上一周期统计值由在线处理模块在上一周期根据在线数据计算当前周期统计值后写入,并由离线处理模块在当前周期根据离线数据计算上一周期统计值后所校准;所述截止上上周期的统计值由所述离线处理模块在上上周期根据离线数据计算截至上上周期的统计值后写入。
可选的,所述方法还包括:在接收到所述查询请求后,生成查询指令发送给存储数据表的存储模块,所述查询指令至少携带有所述当前周期数据表的标识。
与图6所示数据查询方法相对应,本说明书实施例还提供了一种数据查询装置,如图7所示,所述装置包括:
接收模块71,用于:接收截至当前周期的统计值的查询请求;
查询模块72,用于:根据已存储的当前周期数据表中的当前周期统计值、上一周期统计值和截至上上周期的统计值,获得查询结果;其中,所述当前周期数据表中的上一周期统计值由在线处理模块在上一周期根据在线数据计算当前周期统计值后写入,并由离线处理模块在当前周期根据离线数据计算上一周期统计值后所校准;所述截止上上周期的统计值由所述离线处理模块在上上周期根据离线数据计算截至上上周期的统计值后写入。
可选的,所述查询模块,还用于:在接收到所述查询请求后,生成查询指令发送给存储数据表的存储模块,所述查询指令至少携带有所述当前周期数据表的标识。
本说明书数据查询装置的实施例可以应用在服务器等设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在数据查询的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本说明书数据查询装置所在设备的一种硬件结构图,除了图8所示的处理器810、内存830、网络接口820、以及非易失性存储器840之外,实施例中装置831所在的服务器等设备,通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
相应的,本说明书实施例还提供一种数据查询设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收截至当前的统计值的查询请求;
根据已存储的今日数据表中的当日统计值、昨日统计值和截至前日的统计值,获得查询结果;其中,所述今日数据表中的昨日统计值由在线处理模块在昨日根据在线数据计算当日统计值后写入,并由离线处理模块在当日根据离线数据计算昨日统计值后所校准;所述截止前日的统计值由所述离线处理模块在前日根据离线数据计算截至前日的统计值后写入。
相应的,本说明书实施例还提供一种数据查询设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收截至当前周期的统计值的查询请求;
根据已存储的当前周期数据表中的当前周期统计值、上一周期统计值和截至上上周期的统计值,获得查询结果;其中,所述当前周期数据表中的上一周期统计值由在线处理模块在上一周期根据在线数据计算当前周期统计值后写入,并由离线处理模块在当前周期根据离线数据计算上一周期统计值后所校准;所述截止上上周期的统计值由所述离线处理模块在上上周期根据离线数据计算截至上上周期的统计值后写入。
上述数据查询装置中各个模块的功能和作用的实现过程具体详见上述数据查询方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。