CN106708992A - 一种数据查询方法、装置及系统 - Google Patents

一种数据查询方法、装置及系统 Download PDF

Info

Publication number
CN106708992A
CN106708992A CN201611169877.9A CN201611169877A CN106708992A CN 106708992 A CN106708992 A CN 106708992A CN 201611169877 A CN201611169877 A CN 201611169877A CN 106708992 A CN106708992 A CN 106708992A
Authority
CN
China
Prior art keywords
time period
sub
target device
historical data
history library
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.)
Pending
Application number
CN201611169877.9A
Other languages
English (en)
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.)
Zhejiang Supcon Technology Co Ltd
Original Assignee
Zhejiang Supcon Technology 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 Zhejiang Supcon Technology Co Ltd filed Critical Zhejiang Supcon Technology Co Ltd
Priority to CN201611169877.9A priority Critical patent/CN106708992A/zh
Publication of CN106708992A publication Critical patent/CN106708992A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种数据查询方法及装置,数据查询方法包括:查询原历史库中是否存在目标设备在预设时间段内的历史数据;若原历史库中存在目标设备在预设时间段内的全部历史数据,则从原历史库中获取目标设备在预设时间段内的全部历史数据;若原历史库中存在目标设备在第一子时间段内的历史数据,则从原历史库中获取目标设备在第一子时间段内的历史数据;查询补点历史库中是否存在目标设备在第二子时间段内的历史数据,得到查询结果;获取查询结果对应的历史数据;将目标设备在第一子时间段内的历史数据和查询结果对应的历史数据合并,得到目标设备在所述预设时间段内的全部历史数据。在本申请中,通过以上方式提高了查询的准确性。

Description

一种数据查询方法、装置及系统
技术领域
本申请涉及通信领域,特别涉及一种数据查询方法、装置及系统。
背景技术
在SCADA(Supervisory Control And Data Acquisition,数据采集与监视控制)系统中,下位机(如采集器或设备等)的部署范围通常比较广,导致上位机的数据库与下位机的通信容易中断,在上位机的数据库与下位机的通信中断后,下位机中的数据无法上传到上位机的数据库中,导致上位机的数据库中存储的下位机的历史数据不完整,进而影响后期查询下位机历史数据的准确性。
发明内容
为解决上述技术问题,本申请实施例提供一种数据查询方法、装置及系统,以达到提高查询的准确性的目的,技术方案如下:
一种数据查询方法,包括:
查询原历史库中是否存在目标设备在预设时间段内的历史数据;
若所述原历史库中存在所述目标设备在所述预设时间段内的全部历史数据,则从所述原历史库中获取所述目标设备在所述预设时间段内的全部历史数据;
若所述原历史库中存在所述目标设备在第一子时间段内的历史数据,则从所述原历史库中获取所述目标设备在所述第一子时间段内的历史数据,所述第一子时间段为所述预设时间段内的一个时间段,且第一子时间段小于所述预设时间段;
查询补点历史库中是否存在所述目标设备在第二子时间段内的历史数据,得到查询结果,所述第二子时间段小于所述预设时间段,且所述第一子时间段和所述第二子时间段之和等于所述预设时间段;
获取所述查询结果对应的历史数据;
将所述目标设备在所述第一子时间段内的历史数据和所述查询结果对应的历史数据合并,得到所述目标设备在所述预设时间段内的全部历史数据。
优选的,获取所述查询结果对应的历史数据,包括:
在所述查询结果为所述补点历史库中存在所述目标设备在所述第二子时间段内的全部历史数据的情况下,从所述补点历史库中获取所述目标设备在所述第二子时间段内的全部历史数据。
优选的,获取所述查询结果对应的历史数据,包括:
在所述查询结果为所述补点历史库中存在所述目标设备在第三子时间段内的历史数据的情况下,从所述补点历史库中获取所述目标设备在所述第三子时间段内的全部历史数据;
所述第三子时间段为所述第二子时间段中的一个时间段,且所述第三子时间段小于所述第二子时间段。
优选的,所述方法还包括:
确定所述目标设备在第四子时间段的各个时间点各自的历史数据为所述目标设备在所述第三子时间段的最后一个时刻的历史数据,得到所述目标设备在所述第四子时间段的历史数据;
所述第四子时间段为所述第二子时间段中的一个时间段,且所述第四子时间段小于所述第二子时间段,且所述第四子时间段的起始时刻为所述第三子时间段的最后一个时刻;
将所获取到的所述目标设备在所述第三子时间段内的全部历史数据和所述目标设备在所述第四子时间段的历史数据合并,得到合并后的历史数据。
优选的,获取所述查询结果对应的历史数据,包括:
在所述查询结果为所述补点历史库中存在所述目标设备在预设时刻的历史数据的情况下,从所述补点历史库中获取所述目标设备在所述预设时刻的历史数据,所述预设时刻为所述第二子时间段中的某一个时刻;
确定所述目标设备在第五子时间段内各个时间点的历史数据为所述目标设备在所述预设时刻的历史数据,得到所述目标设备在所述第五子时间段内的历史数据;
所述第五子时间段为从所述预设时刻至所述第二子时间段的最后一个时刻的时间段。
优选的,所述补点历史库中历史数据的存储过程,包括:
实时数据库服务器向指定设备发送通信断开期间的历史数据采集请求;
所述实时数据库服务器接收所述指定设备发送的所述通信断开期间的历史数据;
所述实时数据库服务器将所述指定设备发送的所述通信断开期间的历史数据发送至所述补点历史库服务器;
所述补点历史库服务器将所述指定设备发送的所述通信断开期间的历史数据存储至所述补点历史库。
一种数据查询装置,包括:
第一查询模块,用于查询原历史库中是否存在目标设备在预设时间段内的历史数据,若所述原历史库中存在所述目标设备在所述预设时间段内的全部历史数据,则执行第一获取模块,若所述原历史库中存在所述目标设备在第一子时间段内的历史数据,则执行第二获取模块,所述第一子时间段为所述预设时间段内的一个时间段,且第一子时间段小于所述预设时间段;
所述第一获取模块,用于从所述原历史库中获取所述目标设备在所述预设时间段内的全部历史数据;
所述第二获取模块,用于从所述原历史库中获取所述目标设备在所述第一子时间段内的历史数据;
第二查询模块,用于查询补点历史库中是否存在所述目标设备在第二子时间段内的历史数据,得到查询结果,所述第二子时间段小于所述预设时间段,且所述第一子时间段和所述第二子时间段之和等于所述预设时间段;
第三获取模块,用于获取所述查询结果对应的历史数据;
合并模块,用于将所述目标设备在所述第一子时间段内的历史数据和所述查询结果对应的历史数据合并,得到所述目标设备在所述预设时间段内的全部历史数据。
优选的,所述第三获取模块包括:
第一获取单元,用于在所述查询结果为所述补点历史库中存在所述目标设备在所述第二子时间段内的全部历史数据的情况下,从所述补点历史库中获取所述目标设备在所述第二子时间段内的全部历史数据。
优选的,所述第三获取模块包括:
第二获取单元,用于在所述查询结果为所述补点历史库中存在所述目标设备在第三子时间段内的历史数据的情况下,从所述补点历史库中获取所述目标设备在所述第三子时间段内的全部历史数据;
所述第三子时间段为所述第二子时间段中的一个时间段,且所述第三子时间段小于所述第二子时间段。
优选的,所述第三获取模块还包括:
第一确定单元,用于确定所述目标设备在第四子时间段的各个时间点各自的历史数据为所述目标设备在所述第三子时间段的最后一个时刻的历史数据,得到所述目标设备在所述第四子时间段的历史数据;
所述第四子时间段为所述第二子时间段中的一个时间段,且所述第四子时间段小于所述第二子时间段,且所述第四子时间段的起始时刻为所述第三子时间段的最后一个时刻;
合并单元,用于将所获取到的所述目标设备在所述第三子时间段内的全部历史数据和所述目标设备在所述第四子时间段的历史数据合并,得到合并后的历史数据。
优选的,所述第三获取模块包括:
第三获取单元,用于在所述查询结果为所述补点历史库中存在所述目标设备在预设时刻的历史数据的情况下,从所述补点历史库中获取所述目标设备在所述预设时刻的历史数据,所述预设时刻为所述第二子时间段中的某一个时刻;
第二确定单元,用于确定所述目标设备在第五子时间段内各个时间点的历史数据为所述目标设备在所述预设时刻的历史数据,得到所述目标设备在所述第五子时间段内的历史数据;
所述第五子时间段为从所述预设时刻至所述第二子时间段的最后一个时刻的时间段。
一种数据查询系统,包括:实时数据库服务器、补点历史库服务器和如上述任意一项所述的装置;
所述实时数据库服务器,用于向指定设备发送通信断开期间的历史数据采集请求,并接收所述指定设备发送的所述通信断开期间的历史数据,并将所述指定设备发送的所述通信断开期间的历史数据发送至所述补点历史库服务器;
所述补点历史库服务器,用于将所述指定设备发送的所述通信断开期间的历史数据存储至补点历史库。
与现有技术相比,本申请的有益效果为:
在本申请中,首先查询原历史库中是否存在目标设备在预设时间段内的历史数据,若原历史库中存在所述目标设备在预设时间段内的全部历史数据,则从原历史库中获取所述目标设备在预设时间段内的全部历史数据;若原历史库中存在目标设备在预设时间段内的部分历史数据即原历史库中存在目标设备在第一子时间段内的历史数据,则从原历史库中获取目标设备在第一子时间段内的历史数据,并在补点历史库中查询在原历史库中未查找到的历史数据即查询补点历史库中是否存在目标设备在第二子时间段内的历史数据,得到查询结果,获取查询结果对应的历史数据,将目标设备在所述第一子时间段内的历史数据和查询结果对应的历史数据合并,得到目标设备在预设时间段内的全部历史数据。
补点历史库作为原历史库的补充,保证上位机存储目标设备的完整历史数据,从而保证进行历史数据查询时,能够依据原历史库和补点历史库查询到完整的历史数据,提高了查询的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的数据查询方法的一种流程图;
图2是本申请提供的数据查询方法的一种时序图;
图3是本申请提供的数据查询方法的另一种时序图;
图4是本申请提供的数据查询方法的再一种时序图;
图5是本申请提供的数据查询方法的再一种时序图;
图6是本申请提供的补点历史库中历史数据的存储过程的一种流程图;
图7是本申请提供的历史数据存储的一种时序图;
图8是本申请提供的数据查询装置的一种逻辑结构示意图;
图9是本申请提供的数据查询系统的一种逻辑结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一
在本实施例中,提供了一种数据查询方法,应用于查询服务器。
请参见图1,其示出了本申请提供的数据查询方法的一种流程图,可以包括以下步骤:
步骤S11:查询原历史库中是否存在目标设备在预设时间段内的历史数据。
在本实施例中,原历史库用于存储下位机在上位机与下位机通信正常期间的历史数据。若上位机与下位机通信中断,则原历史库中存储的下位机的历史数据将不完整。
若所述原历史库中存在所述目标设备在所述预设时间段内的全部历史数据,则执行步骤S12;若所述原历史库中存在所述目标设备在第一子时间段内的历史数据,说明原历史库中存在目标设备在预设时间段内的部分历史数据,则执行步骤S13。
其中,第一子时间段为所述预设时间段内的一个时间段,且第一子时间段小于所述预设时间段。
现举例对预设时间段和第一子时间段进行说明,例如预设时间段为T1~T4,第一子时间段为T1~T2和T3~T4。在第一子时间段为T1~T2和T3~T4时,说明原历史库中不存在目标设备在T2~T3期间的历史数据。
在本实施例中,查询原历史库中是否存在目标设备在预设时间段内的历史数据的步骤可以由历史查询客户端触发。相应的,查询的结果可以直接在查询服务器上进行展示,或返回至历史查询客户端。
步骤S12:从所述原历史库中获取所述目标设备在所述预设时间段内的全部历史数据。
以预设时间段为T1~T4为例,步骤S11至步骤S12的时序图可以参见图2,图2中的指定位号即指目标设备。
步骤S13:从所述原历史库中获取所述目标设备在所述第一子时间段内的历史数据。
为了查询到目标设备在预设时间段内完整的历史数据,需要继续在补点历史库中查询在原历史库中未查询到的历史数据,具体执行步骤S14。
补点历史库,用于存储下位机在上位机与下位机通信断开期间的历史数据。
步骤S14:查询补点历史库中是否存在所述目标设备在第二子时间段内的历史数据,得到查询结果。
所述第二子时间段小于所述预设时间段,且所述第一子时间段和所述第二子时间段之和等于所述预设时间段。
在本实施例中,补点历史库中可能存在目标设备在第二子时间段内的全部历史数据;或者,补点历史库中不存在目标设备在第二子时间段内的历史数据;或者,补点历史库中存在目标设备在第二子时间段内的部分历史数据。
以预设时间段为T1~T4,第一子时间段为T1~T2和T3~T4为例,第二子时间段则为T2~T3。
步骤S15:获取所述查询结果对应的历史数据。
在补点历史库中存在目标设备在第二子时间段内的全部历史数据时,获取所述查询结果对应的历史数据具体为:从补点历史库中获取目标设备在第二子时间段内的全部历史数据。
在补点历史库中不存在目标设备在第二子时间段内的历史数据时,获取所述查询结果对应的历史数据具体为:获取空的历史数据集合。
在补点历史库中存在目标设备在第二子时间段内的部分历史数据时,获取所述查询结果对应的历史数据具体为:从补点历史库中获取目标设备在第二子时间段内的部分历史数据。
步骤S16:将所述目标设备在所述第一子时间段内的历史数据和所述查询结果对应的历史数据合并,得到所述目标设备在所述预设时间段内的全部历史数据。
在获取所述查询结果对应的历史数据具体为:从补点历史库中获取目标设备在第二子时间段内的全部历史数据时,将所述目标设备在所述第一子时间段内的历史数据和所述查询结果对应的历史数据合并具体为:将所述目标设备在所述第一时间段内的历史数据和从补点历史库中获取到的目标设备在第二子时间段内的全部历史数据合并。
在获取所述查询结果对应的历史数据具体为:获取空的历史数据集合时,将所述目标设备在所述第一子时间段内的历史数据和所述查询结果对应的历史数据合并具体为:将所述目标设备在所述第一子时间段内的历史数据和空的历史数据集合合并。得到的目标设备在所述预设时间段内的全部历史数据即目标设备在第一时间段内的历史数据。
在获取所述查询结果对应的历史数据具体为:从补点历史库中获取目标设备在第二子时间段内的部分历史数据时,将所述目标设备在所述第一子时间段内的历史数据和所述查询结果对应的历史数据合并具体为:将所述目标设备在所述第一子时间段内的历史数据和从补点历史库中获取到的目标设备在第二子时间段内的部分历史数据合并。
在本申请中,首先查询原历史库中是否存在目标设备在预设时间段内的历史数据,若原历史库中存在所述目标设备在预设时间段内的全部历史数据,则从原历史库中获取所述目标设备在预设时间段内的全部历史数据;若原历史库中存在目标设备在预设时间段内的部分历史数据即原历史库中存在目标设备在第一子时间段内的历史数据,则从原历史库中获取目标设备在第一子时间段内的历史数据,并在补点历史库中查询在原历史库中未查找到的历史数据即查询补点历史库中是否存在目标设备在第二子时间段内的历史数据,得到查询结果,获取查询结果对应的历史数据,将目标设备在所述第一子时间段内的历史数据和查询结果对应的历史数据合并,得到目标设备在预设时间段内的全部历史数据。
补点历史库作为原历史库的补充,保证上位机存储目标设备的完整历史数据,从而保证进行历史数据查询时,能够依据原历史库和补点历史库查询到完整的历史数据,提高了查询的准确性。
在本实施例中,获取所述查询结果对应的历史数据的具体过程可以为:
在所述查询结果为所述补点历史库中存在所述目标设备在所述第二子时间段内的全部历史数据的情况下,从所述补点历史库中获取所述目标设备在所述第二子时间段内的全部历史数据。
或者,获取所述查询结果对应的历史数据的具体过程为:在所述查询结果为所述补点历史库中存在所述目标设备在第三子时间段内的历史数据的情况下,从所述补点历史库中获取所述目标设备在所述第三子时间段内的全部历史数据;
所述第三子时间段为所述第二子时间段中的一个时间段,且所述第三子时间段小于所述第二子时间段。
从所述补点历史库中获取所述目标设备在所述第三子时间段内的全部历史数据可以直接作为查询结果对应的历史数据。
第三子时间段的起始时刻不等于第二子时间段的起始时刻且第三子时间段的最后时刻不等于第二子时间段的最后时刻,例如,预设时间段为T1~T4,第一子时间段为T1~T2和T3~T4,第二子时间段T2~T3,第三子时间段为T2’~T3’(T2<T2’<T3’<T3)。
或者,第三子时间段的起始时刻等于第二子时间段的起始时刻,但第三子时间段的最后时刻不等于第二子时间段的最后时刻,例如,预设时间段为T1~T4,第一子时间段为T1~T2和T3~T4,第二子时间段T2~T3,第三子时间段为T2~T3’(T2<T3’<T3)。
或者,第三子时间段的起始时刻不等于第二子时间段的起始时刻,但第三子时间段的最后时刻等于第二子时间段的最后时刻,例如,预设时间段为T1~T4,第一子时间段为T1~T2和T3~T4,第二子时间段T2~T3,第三子时间段为T3’~T3(T2<T3’<T3)。
从所述补点历史库中获取所述目标设备在T2’~T3’内的全部历史数据,或,从所述补点历史库中获取所述目标设备在T2~T3’内的全部历史数据,或,从所述补点历史库中获取所述目标设备在T3’~T3内的全部历史数据,均可以直接作为查询结果对应的历史数据。
当然,在第三子时间段的起始时刻不等于第二子时间段的起始时刻且第三子时间段的最后时刻不等于第二子时间段的最后时刻的情况下,可以利用第三子时间段的最后时刻的历史数据对之后子时间段的数据进行拉平补齐,具体实现方式为:
在从所述补点历史库中获取所述目标设备在所述第三子时间段内的全部历史数据的基础上,执行步骤A11和步骤A12:
步骤A11:确定所述目标设备在第四子时间段的各个时间点各自的历史数据为所述目标设备在所述第三子时间段的最后一个时刻的历史数据,得到所述目标设备在所述第四子时间段的历史数据。
所述第四子时间段为所述第二子时间段中的一个时间段,且所述第四子时间段小于所述第二子时间段,且所述第四子时间段的起始时刻为所述第三子时间段的最后一个时刻。
以预设时间段为T1~T4,第一子时间段为T1~T2和T3~T4,第二子时间段T2~T3,第三子时间段为T2~T3’(T2<T3’<T3)为例,第四子时间段为T3’~T3,补点历史库中实际是不存在目标设备在T3’~T3期间的历史数据,但是,通过拉平补齐的方式即步骤A11,对T3’~T3期间的历史数据进行补齐,得到目标设备在T3’~T3期间的历史数据。
步骤A12:将所获取到的所述目标设备在所述第三子时间段内的全部历史数据和所述目标设备在所述第四子时间段的历史数据合并,得到合并后的历史数据。
合并后的历史数据即查询结果对应的历史数据。
在本实施例中,获取所述查询结果对应的历史数据的具体过程也可以为:
步骤A21:在所述查询结果为所述补点历史库中存在所述目标设备在预设时刻的历史数据的情况下,从所述补点历史库中获取所述目标设备在所述预设时刻的历史数据,所述预设时刻为所述第二子时间段中的某一个时刻。
以预设时间段为T1~T4,第一子时间段为T1~T2和T3~T4,第二子时间段T2~T3,预设时刻为T2’(T2<T2’<T3)为例,在所述查询结果为所述补点历史库中存在所述目标设备在预设时刻的历史数据的情况下,从所述补点历史库中获取所述目标设备在所述预设时刻的历史数据即在所述查询结果为所述补点历史库中存在所述目标设备在T2’的历史数据的情况下,从所述补点历史库中获取所述目标设备在T2’的历史数据。
步骤A22:确定所述目标设备在第五子时间段内各个时间点的历史数据为所述目标设备在所述预设时刻的历史数据,得到所述目标设备在所述第五子时间段内的历史数据。
所述第五子时间段为从所述预设时刻至所述第二子时间段的最后一个时刻的时间段。
目标设备在第五子时间段内的历史数据即查询结果对应的历史数据。
可以利用目标设备在预设时刻的历史数据,对目标设备在第五子时间段的历史数据进行拉平补齐,以预设时间段为T1~T4,第一子时间段为T1~T2和T3~T4,第二子时间段T2~T3,预设时刻为T2’(T2<T2’<T3)为例,可以利用目标设备在T2’的历史数据,对T2’~T3的历史数据进行拉平补齐即确定所述目标设备在T2’~T3内各个时间点的历史数据为所述目标设备在T2’的历史数据,得到所述目标设备在T2’~T3内的历史数据。
现进行场景应用举例对实施例一示出的数据查询方法进行说明,场景应用举例如下:
客户端发起T1~T4间历史数据查询时,各场景说明如下(T0<T1<=T2<=T3<=T4):
(1)指定T1~T4期间,原历史库数据完整时:
在原历史库数据完整时,查询目标设备在T1~T4期间的历史数据过程,请参见图2示出的时序图。
(2)指定T1~T4期间,原历史库中T2~T3期间无数据时
(a)补点历史库T2~T3期间不存在历史数据
在补点历史库T2~T3期间不存在历史数据时,查询目标设备在T1~T4期间的历史数据过程,请参见图3示出的时序图。
(b)补点历史库T2~T3期间存在完整历史数据
在补点历史库T2~T3期间存在完整历史数据时,查询目标设备在T1~T4期间的历史数据过程,请参见图4示出的时序图。
(c)补点历史库T2~T3期间只存在T2’的历史数据(T2<T2’<T3)
通过使用补点历史库中T2’的值,将T2’~T3期间的历史数据进行拉平补齐。
在补点历史库T2~T3期间只存在T2’的历史数据时,查询目标设备在T1~T4期间的历史数据过程,请参见图5示出的时序图。
(d)补点历史库T2~T3期间存在T2’~T3’期间的历史数据(T2<T2’<T3’<T3)
ⅰ、T2~T2’期间的历史数据保持原历史库查询的结果。
若原历史库查询的结果为空,则T2~T2’期间的历史数据保持无数据状态。
ⅱ、T2’~T3’期间的历史数据使用补点历史库查询的结果。
ⅲ、T3’~T3期间的历史数据使用T3’进行拉平补齐。
T3’~T3期间的历史数据使用T3’进行拉平补齐即将T3’的历史数据作为T3’~T3期间的各个时间点的历史数据。
(3)指定T1~T4期间,原历史库中T1~T3无数据
(a)从补点历史库中查询T1~T3期间的补点数据,同时从补点历史库中查询T1之前最近的一个补点数据(例:T0)。
(b)当补点历史库存在T1与之后的补点数据时,使用补点数据进行历史数据补充返回。
(c)当补点历史库存在T1之后的补点数据时,参考“(2)指定T1~T4期间,原历史库中T2~T3期间无数据时”的查询逻辑,进行历史数据的补点。
(d)当补点历史库不存在T1~T2历史数据时
ⅰ、存在T0补点:向原历史库中查询T0~T1期间的历史数据,如不存在时,说明此补点为此期间正确的补点,T1~T2的历史数据使用T0历史数据拉平补齐。
ⅱ、不存在T0补点:直接返回以前补齐后的历史数据
在本实施例中,上述补点历史库中历史数据的存储过程可以参见图6,可以包括以下步骤:
步骤S21:实时数据库服务器向指定设备发送通信断开期间的历史数据采集请求。
步骤S22:所述实时数据库服务器接收所述指定设备发送的所述通信断开期间的历史数据。
步骤S23:所述实时数据库服务器将所述指定设备发送的所述通信断开期间的历史数据发送至所述补点历史库服务器。
步骤S24:所述补点历史库服务器将所述指定设备发送的所述通信断开期间的历史数据存储至所述补点历史库。
其中,补点历史库中历史数据的存储过程可以参见图7示出的时序图,同时,图7示出的时序图示出了原历史库中历史数据的存储过程。图7中的采集器/设备即下位机。
实施例二
与上述方法实施例相对应,本实施例提供了一种数据查询装置,请参见图8,数据查询装置包括:第一查询模块11、第一获取模块12、第二获取模块13、第二查询模块14、第三获取模块15和合并模块16。
第一查询模块11,用于查询原历史库中是否存在目标设备在预设时间段内的历史数据,若所述原历史库中存在所述目标设备在所述预设时间段内的全部历史数据,则执行第一获取模块12,若所述原历史库中存在所述目标设备在第一子时间段内的历史数据,则执行第二获取模块13,所述第一子时间段为所述预设时间段内的一个时间段,且第一子时间段小于所述预设时间段。
所述第一获取模块12,用于从所述原历史库中获取所述目标设备在所述预设时间段内的全部历史数据。
所述第二获取模块13,用于从所述原历史库中获取所述目标设备在所述第一子时间段内的历史数据。
第二查询模块14,用于查询补点历史库中是否存在所述目标设备在第二子时间段内的历史数据,得到查询结果,所述第二子时间段小于所述预设时间段,且所述第一子时间段和所述第二子时间段之和等于所述预设时间段。
第三获取模块15,用于获取所述查询结果对应的历史数据。
合并模块16,用于将所述目标设备在所述第一子时间段内的历史数据和所述查询结果对应的历史数据合并,得到所述目标设备在所述预设时间段内的全部历史数据。
在本实施例中,第三获取模块15包括:第一获取单元或第二获取单元。
第一获取单元,用于在所述查询结果为所述补点历史库中存在所述目标设备在所述第二子时间段内的全部历史数据的情况下,从所述补点历史库中获取所述目标设备在所述第二子时间段内的全部历史数据。
第二获取单元,用于在所述查询结果为所述补点历史库中存在所述目标设备在第三子时间段内的历史数据的情况下,从所述补点历史库中获取所述目标设备在所述第三子时间段内的全部历史数据。
所述第三子时间段为所述第二子时间段中的一个时间段,且所述第三子时间段小于所述第二子时间段。
在第三获取模块15包括第二获取单元时,第三获取模块15还可以包括:第一确定单元和合并单元。
第一确定单元,用于确定所述目标设备在第四子时间段的各个时间点各自的历史数据为所述目标设备在所述第三子时间段的最后一个时刻的历史数据,得到所述目标设备在所述第四子时间段的历史数据。
所述第四子时间段为所述第二子时间段中的一个时间段,且所述第四子时间段小于所述第二子时间段,且所述第四子时间段的起始时刻为所述第三子时间段的最后一个时刻。
合并单元,用于将所获取到的所述目标设备在所述第三子时间段内的全部历史数据和所述目标设备在所述第四子时间段的历史数据合并,得到合并后的历史数据。
当然,第三获取模块15具体可以包括:第三获取单元和第二确定单元。
第三获取单元,用于在所述查询结果为所述补点历史库中存在所述目标设备在预设时刻的历史数据的情况下,从所述补点历史库中获取所述目标设备在所述预设时刻的历史数据,所述预设时刻为所述第二子时间段中的某一个时刻。
第二确定单元,用于确定所述目标设备在第五子时间段内各个时间点的历史数据为所述目标设备在所述预设时刻的历史数据,得到所述目标设备在所述第五子时间段内的历史数据。
所述第五子时间段为从所述预设时刻至所述第二子时间段的最后一个时刻的时间段。
实施例三
在本实施例中,提供了一种数据查询系统,请参见图9,数据查询系统包括:实时数据库服务器21、补点历史库服务器22和数据查询装置23。
数据查询装置23的具体结构及相关功能请参见实施例二示出的数据查询装置,在此不再赘述。
所述实时数据库服务器21,用于向指定设备发送通信断开期间的历史数据采集请求,并接收所述指定设备发送的所述通信断开期间的历史数据,并将所述指定设备发送的所述通信断开期间的历史数据发送至所述补点历史库服务器22。
所述补点历史库服务器22,用于将所述指定设备发送的所述通信断开期间的历史数据存储至补点历史库。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种数据查询方法、装置及系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种数据查询方法,其特征在于,包括:
查询原历史库中是否存在目标设备在预设时间段内的历史数据;
若所述原历史库中存在所述目标设备在所述预设时间段内的全部历史数据,则从所述原历史库中获取所述目标设备在所述预设时间段内的全部历史数据;
若所述原历史库中存在所述目标设备在第一子时间段内的历史数据,则从所述原历史库中获取所述目标设备在所述第一子时间段内的历史数据,所述第一子时间段为所述预设时间段内的一个时间段,且第一子时间段小于所述预设时间段;
查询补点历史库中是否存在所述目标设备在第二子时间段内的历史数据,得到查询结果,所述第二子时间段小于所述预设时间段,且所述第一子时间段和所述第二子时间段之和等于所述预设时间段;
获取所述查询结果对应的历史数据;
将所述目标设备在所述第一子时间段内的历史数据和所述查询结果对应的历史数据合并,得到所述目标设备在所述预设时间段内的全部历史数据。
2.根据权利要求1所述的方法,其特征在于,获取所述查询结果对应的历史数据,包括:
在所述查询结果为所述补点历史库中存在所述目标设备在所述第二子时间段内的全部历史数据的情况下,从所述补点历史库中获取所述目标设备在所述第二子时间段内的全部历史数据。
3.根据权利要求1所述的方法,其特征在于,获取所述查询结果对应的历史数据,包括:
在所述查询结果为所述补点历史库中存在所述目标设备在第三子时间段内的历史数据的情况下,从所述补点历史库中获取所述目标设备在所述第三子时间段内的全部历史数据;
所述第三子时间段为所述第二子时间段中的一个时间段,且所述第三子时间段小于所述第二子时间段。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
确定所述目标设备在第四子时间段的各个时间点各自的历史数据为所述目标设备在所述第三子时间段的最后一个时刻的历史数据,得到所述目标设备在所述第四子时间段的历史数据;
所述第四子时间段为所述第二子时间段中的一个时间段,且所述第四子时间段小于所述第二子时间段,且所述第四子时间段的起始时刻为所述第三子时间段的最后一个时刻;
将所获取到的所述目标设备在所述第三子时间段内的全部历史数据和所述目标设备在所述第四子时间段的历史数据合并,得到合并后的历史数据。
5.根据权利要求1所述的方法,其特征在于,获取所述查询结果对应的历史数据,包括:
在所述查询结果为所述补点历史库中存在所述目标设备在预设时刻的历史数据的情况下,从所述补点历史库中获取所述目标设备在所述预设时刻的历史数据,所述预设时刻为所述第二子时间段中的某一个时刻;
确定所述目标设备在第五子时间段内各个时间点的历史数据为所述目标设备在所述预设时刻的历史数据,得到所述目标设备在所述第五子时间段内的历史数据;
所述第五子时间段为从所述预设时刻至所述第二子时间段的最后一个时刻的时间段。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述补点历史库中历史数据的存储过程,包括:
实时数据库服务器向指定设备发送通信断开期间的历史数据采集请求;
所述实时数据库服务器接收所述指定设备发送的所述通信断开期间的历史数据;
所述实时数据库服务器将所述指定设备发送的所述通信断开期间的历史数据发送至所述补点历史库服务器;
所述补点历史库服务器将所述指定设备发送的所述通信断开期间的历史数据存储至所述补点历史库。
7.一种数据查询装置,其特征在于,包括:
第一查询模块,用于查询原历史库中是否存在目标设备在预设时间段内的历史数据,若所述原历史库中存在所述目标设备在所述预设时间段内的全部历史数据,则执行第一获取模块,若所述原历史库中存在所述目标设备在第一子时间段内的历史数据,则执行第二获取模块,所述第一子时间段为所述预设时间段内的一个时间段,且第一子时间段小于所述预设时间段;
所述第一获取模块,用于从所述原历史库中获取所述目标设备在所述预设时间段内的全部历史数据;
所述第二获取模块,用于从所述原历史库中获取所述目标设备在所述第一子时间段内的历史数据;
第二查询模块,用于查询补点历史库中是否存在所述目标设备在第二子时间段内的历史数据,得到查询结果,所述第二子时间段小于所述预设时间段,且所述第一子时间段和所述第二子时间段之和等于所述预设时间段;
第三获取模块,用于获取所述查询结果对应的历史数据;
合并模块,用于将所述目标设备在所述第一子时间段内的历史数据和所述查询结果对应的历史数据合并,得到所述目标设备在所述预设时间段内的全部历史数据。
8.根据权利要求7所述的装置,其特征在于,所述第三获取模块包括:
第一获取单元,用于在所述查询结果为所述补点历史库中存在所述目标设备在所述第二子时间段内的全部历史数据的情况下,从所述补点历史库中获取所述目标设备在所述第二子时间段内的全部历史数据。
9.根据权利要求7所述的装置,其特征在于,所述第三获取模块包括:
第二获取单元,用于在所述查询结果为所述补点历史库中存在所述目标设备在第三子时间段内的历史数据的情况下,从所述补点历史库中获取所述目标设备在所述第三子时间段内的全部历史数据;
所述第三子时间段为所述第二子时间段中的一个时间段,且所述第三子时间段小于所述第二子时间段。
10.根据权利要求9所述的装置,其特征在于,所述第三获取模块还包括:
第一确定单元,用于确定所述目标设备在第四子时间段的各个时间点各自的历史数据为所述目标设备在所述第三子时间段的最后一个时刻的历史数据,得到所述目标设备在所述第四子时间段的历史数据;
所述第四子时间段为所述第二子时间段中的一个时间段,且所述第四子时间段小于所述第二子时间段,且所述第四子时间段的起始时刻为所述第三子时间段的最后一个时刻;
合并单元,用于将所获取到的所述目标设备在所述第三子时间段内的全部历史数据和所述目标设备在所述第四子时间段的历史数据合并,得到合并后的历史数据。
11.根据权利要求7所述的装置,其特征在于,所述第三获取模块包括:
第三获取单元,用于在所述查询结果为所述补点历史库中存在所述目标设备在预设时刻的历史数据的情况下,从所述补点历史库中获取所述目标设备在所述预设时刻的历史数据,所述预设时刻为所述第二子时间段中的某一个时刻;
第二确定单元,用于确定所述目标设备在第五子时间段内各个时间点的历史数据为所述目标设备在所述预设时刻的历史数据,得到所述目标设备在所述第五子时间段内的历史数据;
所述第五子时间段为从所述预设时刻至所述第二子时间段的最后一个时刻的时间段。
12.一种数据查询系统,其特征在于,包括:实时数据库服务器、补点历史库服务器和如权利要求7-11任意一项所述的装置;
所述实时数据库服务器,用于向指定设备发送通信断开期间的历史数据采集请求,并接收所述指定设备发送的所述通信断开期间的历史数据,并将所述指定设备发送的所述通信断开期间的历史数据发送至所述补点历史库服务器;
所述补点历史库服务器,用于将所述指定设备发送的所述通信断开期间的历史数据存储至补点历史库。
CN201611169877.9A 2016-12-16 2016-12-16 一种数据查询方法、装置及系统 Pending CN106708992A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611169877.9A CN106708992A (zh) 2016-12-16 2016-12-16 一种数据查询方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611169877.9A CN106708992A (zh) 2016-12-16 2016-12-16 一种数据查询方法、装置及系统

Publications (1)

Publication Number Publication Date
CN106708992A true CN106708992A (zh) 2017-05-24

Family

ID=58939129

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611169877.9A Pending CN106708992A (zh) 2016-12-16 2016-12-16 一种数据查询方法、装置及系统

Country Status (1)

Country Link
CN (1) CN106708992A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107247758A (zh) * 2017-05-31 2017-10-13 深圳市长亮科技股份有限公司 基于银行核心系统的数据处理方法
CN108388581A (zh) * 2018-01-26 2018-08-10 爱普(福建)科技有限公司 一种组态软件中历史数据的读取方法及装置
CN109240893A (zh) * 2018-07-18 2019-01-18 平安科技(深圳)有限公司 应用运行状态查询方法及终端设备
CN111506371A (zh) * 2020-03-10 2020-08-07 广东中鹏热能科技有限公司 一种基于图形回溯的历史数据展示方法及系统
CN111830913A (zh) * 2019-04-22 2020-10-27 北京国电智深控制技术有限公司 一种数据获取方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636352A (zh) * 2013-11-08 2015-05-20 中国石油天然气股份有限公司 一种基于质量戳的scada 系统历史数据补数与查询处理方法
CN104660699A (zh) * 2015-02-25 2015-05-27 重庆大学 基于可变斜率的缺失服务响应时间补足方法和装置
CN105354322A (zh) * 2015-11-13 2016-02-24 广东电网有限责任公司电力科学研究院 将电力系统历史数据高效完整同步到综合数据平台的方法
CN105468594A (zh) * 2014-08-11 2016-04-06 中兴通讯股份有限公司 一种采集数据的优化方法、系统及服务器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636352A (zh) * 2013-11-08 2015-05-20 中国石油天然气股份有限公司 一种基于质量戳的scada 系统历史数据补数与查询处理方法
CN105468594A (zh) * 2014-08-11 2016-04-06 中兴通讯股份有限公司 一种采集数据的优化方法、系统及服务器
CN104660699A (zh) * 2015-02-25 2015-05-27 重庆大学 基于可变斜率的缺失服务响应时间补足方法和装置
CN105354322A (zh) * 2015-11-13 2016-02-24 广东电网有限责任公司电力科学研究院 将电力系统历史数据高效完整同步到综合数据平台的方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107247758A (zh) * 2017-05-31 2017-10-13 深圳市长亮科技股份有限公司 基于银行核心系统的数据处理方法
CN108388581A (zh) * 2018-01-26 2018-08-10 爱普(福建)科技有限公司 一种组态软件中历史数据的读取方法及装置
CN109240893A (zh) * 2018-07-18 2019-01-18 平安科技(深圳)有限公司 应用运行状态查询方法及终端设备
CN109240893B (zh) * 2018-07-18 2021-06-25 平安科技(深圳)有限公司 应用运行状态查询方法及终端设备
CN111830913A (zh) * 2019-04-22 2020-10-27 北京国电智深控制技术有限公司 一种数据获取方法及装置
CN111506371A (zh) * 2020-03-10 2020-08-07 广东中鹏热能科技有限公司 一种基于图形回溯的历史数据展示方法及系统

Similar Documents

Publication Publication Date Title
CN106708992A (zh) 一种数据查询方法、装置及系统
CN103067525B (zh) 一种基于特征码的云存储数据备份方法
CN104731647A (zh) 任务处理方法及系统
CN103684980A (zh) 即时聊天工具中的聊天记录同步方法和系统
CN101478577A (zh) 主设备对从设备的定址系统及方法
CN105468660A (zh) 分布式文件系统的读方法、客户端设备及分布式文件系统
CN104144223B (zh) 一种数据获取方法及装置
CN106953926A (zh) 一种路由方法及装置
CN103414771A (zh) 一种云计算环境下节点间长任务操作的监测方法
CN105786447A (zh) 服务器处理数据的方法、装置及服务器
CN104202834A (zh) 一种控制方法、控制器及电子设备
CN107784009A (zh) 数据查询、数据查询处理方法及装置
WO2015088557A1 (en) Data stream processing based on a boundary parameter
CN103533029A (zh) 甘特图数据加载方法及系统
CN105471955A (zh) 分布式文件系统的写方法、客户端设备及分布式文件系统
CN108153494B (zh) 一种io请求处理方法及装置
CN103078946A (zh) 一种海量实时数据分布方法及其访问方法
CN109388589A (zh) 一种调整缓存分区比例的方法、设备及存储介质
CN103678537B (zh) 基于集群的元数据修改方法、装置及节点设备
CN107483640A (zh) 一种缓存更新方法、服务器及业务系统
CN102739489B (zh) 一种同步总线快速查询设备状态方法
CN110162666A (zh) 一种检索任务的执行方法及执行装置
CN105897914A (zh) 一种ems系统iii区高效访问i区信息的系统及方法
CN102932490B (zh) Ip地址转换方法、装置、网络地址转换设备和认证系统
CN105677704A (zh) 信息整理方法和设备以及信息管理方法和设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170524