CN111125089B - 时序数据存储方法、装置、服务器及存储介质 - Google Patents
时序数据存储方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN111125089B CN111125089B CN201911073197.0A CN201911073197A CN111125089B CN 111125089 B CN111125089 B CN 111125089B CN 201911073197 A CN201911073197 A CN 201911073197A CN 111125089 B CN111125089 B CN 111125089B
- Authority
- CN
- China
- Prior art keywords
- target
- data
- array
- query
- stored
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种时序数据存储方法、装置、服务器及存储介质,属于数据库领域。该方法包括:获取目标设备采集的待存储数据;根据目标设备的设备标识和待存储数据的数据类型,确定目标设备对应的设备逻辑主键;根据设备逻辑主键和待存储数据对应的时间戳,确定目标逻辑分组和目标数据库,目标数据库属于目标逻辑分组,且目标逻辑分组下包含多个数据库;将待存储数据写入目标逻辑分组下目标数据库中的目标数组。本申请实施例中,当数据增多时,只需增加一个或多个逻辑分组,即可完成水平扩容,不需要迁移历史数据,水平扩容流程简单,并且将数据分布存储在目标逻辑分组下的多个数据库中,避免了针对单一数据库进行集中操作造成的热点问题。
Description
技术领域
本申请实施例涉及数据库领域,特别涉及一种时序数据存储方法、装置、服务器及存储介质。
背景技术
时序数据是指同一指标按时间顺序记录的数据序列,而时序数据库是用于存储和管理时序数据的专业化数据库。
相关技术中,时序数据库针对不同的数据类型采取不同的存储策略,通常每个存储策略中包含多个存储片区,用于存储不同时间范围内的数据,通过存储片区中的日志文件定时压缩数据文件,读取数据时,系统根据指令找到命中的片区,解压相关数据文件,并将需要的数据按时间先后合并,返回最终结果。
然而,采用传统的时序数据库,仅考虑了数据的存储压缩策略,当数据增多时,需要创建新的数据库并将相关历史数据迁移至新的数据库中,水平扩容工作量大,浪费资源。
发明内容
本申请实施例提供了一种时序数据存储方法、装置、服务器及存储介质。
所述技术方案如下:
一方面,本申请实施例提供了一种时序数据存储方法,所述方法包括:
获取目标设备采集的待存储数据,所述待存储数据是所述目标设备按照预定时间间隔采集的时序数据;
根据所述目标设备的设备标识和所述待存储数据的数据类型,确定所述目标设备对应的设备逻辑主键;
根据所述设备逻辑主键和待存储数据对应的时间戳,确定目标逻辑分组和目标数据库,所述目标数据库属于所述目标逻辑分组,且所述目标逻辑分组下包含多个数据库;
将所述待存储数据写入所述目标逻辑分组下所述目标数据库中的目标数组。
另一方面,本申请实施例提供了一种时序数据存储装置,所述装置包括:
获取模块,用于获取目标设备采集的待存储数据,所述待存储数据是所述目标设备按照预定时间间隔采集的时序数据;
第一确定模块,用于根据所述目标设备的设备标识和所述待存储数据的数据类型,确定所述目标设备对应的设备逻辑主键;
第二确定模块,用于根据所述设备逻辑主键和待存储数据对应的时间戳,确定目标逻辑分组和目标数据库,所述目标数据库属于所述目标逻辑分组,且所述目标逻辑分组下包含多个数据库;
存储模块,用于将所述待存储数据写入所述目标逻辑分组下所述目标数据库中的目标数组。
另一方面,本申请实施例提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的时序数据存储方法。
另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的时序数据存储方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过获取等时间间隔采集的待存储数据的数据类型,以及采集数据的目标设备的设备标识,确定出目标设备的设备逻辑主键,并根据设备逻辑主键和待存储数据的时间戳确定目标逻辑分组和目标数据库,将待存储数据写入目标数据库中的目标数组;采用本申请实施例提供的方法,当数据增多时,只需增加一个或多个逻辑分组,即可完成水平扩容,不需要迁移历史数据,水平扩容流程简单,并且将数据分布存储在目标逻辑分组下的多个数据库中,避免了针对单一数据库进行集中操作造成的热点问题。
附图说明
图1是根据一个示例性实施例示出的实施环境的示意图;
图2是根据一示例性实施例示出的一种时序数据存储方法的流程图;
图3是根据另一示例性实施例示出的一种时序数据存储方法的流程图;
图4是根据一示例性实施例示出的一种逻辑分组方式的示意图;
图5是根据另一示例性实施例示出的一种时序数据存储方法中数据查询的流程图;
图6是根据一示例性实施例示出的一种时序数据存储装置的结构框图;
图7是根据一示例性实施例示出的数据库服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
相关技术中,对于时序数据的存储通常采用时序数据库软件OpenTSDB、InfluxDB等,对于不同存储时限的数据设置不同的存储策略,每个存储策略包含多个存储片区,用于存储一定时间范围内的数据,每个存储片区包含一个内存缓存区、一个日志文件和一个或多个数据文件,针对不同的数据类型采取不同的压缩策略,日志文件按照压缩策略定时压缩数据文件,在读取数据时,数据库根据读取逻辑找到所有的命中片区,并判断是直接从内存缓存中读取还是从数据文件中读取,若需要从数据文件中读取,则解压相关的数据文件,并利用数据文件中的索引定位数据位置,完成读取后,由数据库系统将所有命中片区返回的数据按照时间先后顺序合并,最终返回查询结果。
然而采用相关技术中的数据存储方式时,对于一些场景下采集到的等时间间隔的时序数据,如气象站每隔15分钟观测一次当地风速,光伏传感器每隔5分钟计算一次平均值等,会额外存储不必要的时间戳,浪费数据库资源,并且基于大文件块的压缩方式仅考虑数据压缩策略,读取单个时间点的数据时需要解压大数据块,消耗系统资源大;此外,当数据量增大需要增加数据库时,还要将相关历史数据迁移至新的数据库中,导致水平扩容的难度较大。
为了解决上述问题,本申请实施例针对等时间间隔的时序数据提供了一种数据存储方法。请参考图1,其示出了本申请一个示例性实施例提供的实施环境的示意图。该实施环境中包括采集设备101、数据库(DataBase,DB)服务器102和查询终端103。
采集设备101是具备数据采集功能的设备,并且采集的数据为等时间间隔的时序数据,其可以是设置有风速检测仪、温湿度检测仪、光伏传感器等传感器的新能源设备,比如风力发电机、光伏板。如图1所示,采集设备101为设置有风速检测仪的风力发电机。
采集设备101与数据库服务器102之间通过有线或无线网络相连。
数据库服务器102是存储采集设备101采集到的数据的存储设备,其可以是一台服务器,若干台服务器构成的服务器集群或云服务器。可选的,数据库服务器102获取采集设备101发送的数据并压缩存储在相应的数据库中,数据查询时再解压数据并发送至查询终端103。本申请实施例中,数据库服务器102中存储的数据为时序数据。
数据库服务器102与查询终端103之间通过有线或无线网络相连。
查询终端103是具备数据查询功能的设备。在一种可能的应用场景下,查询终端103向数据库服务器102发送包含查询条件的查询指令,由数据库服务器102根据查询条件查询相应的时序数据,并反馈给查询终端103,由查询终端103采用图表形式对接收到的时序数据进行显示。查询终端103可以是个人计算机、智能手机、平板电脑等,如图1所示,查询终端103为个人计算机。
请参考图2,其示出了本申请一个示例性实施例提供的时序数据存储方法的流程图。本实施例以该方法用于数据库服务器为例进行说明,该方法包括如下步骤。
步骤201,获取目标设备采集的待存储数据,待存储数据是目标设备按照预定时间间隔采集的时序数据。
数据库服务器获取待存储数据,该待存储数据是一种时序数据,即数据类型相同且按照时间顺序记录的数据序列,并且相邻数据之间的时间间隔相同。
示意性的,当数据存储方法用于记录一段时间内的风速时,数据库服务器获取风力发电机通过风速检测仪采集到的风速值,其中,相邻两个风速值之间的时间间隔相同,例如,风速检测仪每隔十分钟采集一次风速。
步骤202,根据目标设备的设备标识和待存储数据的数据类型,确定目标设备对应的设备逻辑主键。
由于实际应用中,一台设备可能采集多种类型的数据,例如目标设备上同时设置有风速仪和温湿度测量仪,因此,需要根据目标设备的设备标识和待存储数据的数据类型确定目标设备对应的设备逻辑主键。
在一种可能的实施方式中,数据库服务器设置有主数据表,表中包含设备逻辑主键及其对应的设备标识、时间间隔和数据类型,当数据库服务器获取到待存储数据时,根据待存储数据的设备标识和数据类型在主数据表中查找其设备逻辑主键。
示意性的,主数据表如表1所示。
域 | ID1 | Masterld | Interval | Key |
含义 | 设备逻辑主键 | 设备标识 | 时间间隔 | 数据类型 |
表1
步骤203,根据设备逻辑主键和待存储数据对应的时间戳,确定目标逻辑分组和目标数据库,目标数据库属于目标逻辑分组,且目标逻辑分组下包含多个数据库。
为了解决热点问题,并且简化数据的迁移和扩容操作,数据库服务器采用分布式存储方案,将数据存储在不同的数据库中,当数据增多时,只需要增加一个由多个数据库构成的逻辑分组即可,不需要解压历史数据所在的数据文件并将历史数据迁移到新的数据库中。
在一种可能的实施方式中,同一逻辑分组下划分有多个数据库,数据库服务器根据设备逻辑主键和时间戳确定待存储数据的目标逻辑分组,并将待存储数据分别存储到目标逻辑分组下的多个数据库中。
步骤204,将待存储数据写入目标逻辑分组下目标数据库中的目标数组。
在一种可能的实施方式中,各个逻辑分组下的数据库中采用指定长度的数组存储数据,相应的,数据库服务器确定出目标逻辑分组和目标数据库后,将待存储数据写入目标数据库中的目标数组,完成数据存储过程。
示意性的,每个逻辑分组下有三个数据库,若数据库服务器确定出当前待存储数据对应的是二号逻辑分组,则根据待存储数据的时间戳,将待存储数据分为三部分,分别存储在二号逻辑分组下的三个数据库中,并且每一部分都写入各自所在的数据库中的目标数组里。
综上所述,本申请实施例中,通过获取等时间间隔的待存储数据的数据类型和采集数据的目标设备的设备标识,确定出目标设备的设备逻辑主键,并根据逻辑主键和待存储数据的时间戳确定目标逻辑分组和目标数据库,将待存储数据写入目标数据库中的目标数组,当数据增多时,只需增加一个或多个逻辑分组,即可完成水平扩容,不需要迁移历史数据,水平扩容流程简单,并且将数据分布存储在目标逻辑分组下的多个数据库中,避免了针对单一数据库进行集中操作造成的热点问题,并且以数组的形式进行数据存储可以减少数据存储的数目,减少数据库服务器读、写数据库的次数,提高数据处理效率。
请参考图3,其示出了本申请另一个示例性实施例提供的时序数据存储方法的流程图。本实施例以该方法用于数据库服务器为例进行说明,该方法包括如下步骤。
步骤301,获取目标设备采集的待存储数据,待存储数据是目标设备按照预定时间间隔采集的时序数据。
步骤301的实施方式可以参考上述步骤201,本实施例在此不再赘述。
示意性的,设备x001在2019-08-10T00:00:00至2019-08-11T11:20:00这一时间段内每隔10分钟采集一次风速,共采集到201条数据,从而以数据表的形式发送至数据库服务器中,该数据表如表2所示。
表2
步骤302,根据目标设备的设备标识和待存储数据的数据类型,确定目标设备对应的设备逻辑主键。
步骤302的实施方式可以参考上述步骤202,本实施例在此不再赘述。
示意性的,对于设备x001采集到的201条待存储数据,数据库服务器根据数据类型风速和设备标识x001,在主数据表中查找到对应的设备逻辑主键ID1为0,主数据表的相关信息如表3所示。
ID1 | Masterld | Interval | Key |
0 | x001 | 10分钟 | 风速 |
表3
步骤303,根据时间戳确定待存储数据对应的时间索引。
数据库服务器获取待存储数据时得到每个待存储数据的时间戳,并根据时间戳确定对应的时间索引。在一种可能的实施方式中,本步骤可以包括如下步骤:
一、计算时间戳与初始时间戳之间的时间差。
在一种可能的实施方式中,数据库服务器获取到一段时间内的多条待存储数据后,计算第一条待存储数据的时间戳与初始时间戳之间的第一时间差,并计算最后一条待存储数据的时间戳与初始时间戳之间的第二时间差,以便后续基于第一时间差和第二时间差计算待存储数据对应时间索引的范围。
示意性的,以计算第一时间差为例,一台设备号为x001的采集设备采集了2019年8月10日00:00:00至2019年8月11日11:20:00某地的风速,且每隔十分钟采集一次,共201条数据需要存储,数据库服务器以初始时间戳为1979年1月1日00:00:00,以秒为单位计算待存储数据的时间戳与初始时间戳之间的时间差为1565395200秒。
二、根据时间差、预定时间间隔和目标数组的数组长度,确定时间索引,时间索引通过取整计算得到。
在一种可能的实施方式中,数据库服务器通过计算待存储数据的时间索引确定其对应的数据库,有效利用等时间间隔的特性将数据按时间顺序存储在相应数据库中,可以不必存储时间戳,从而节省了数据库服务器的数据存储资源。
示意性的,数据库服务器设置数据库中用于存储数据的数组的数组长度为100,则根据时间差1565395200秒、预定时间间隔10分钟以及数组长度100,通过取整运算计算得到待存储数据的时间索引为1565395200/(10*60)/100=26089。相应的,对于表2所示的201条待存储数据,其时间索引的范围为26089至26091。
步骤304,根据时间索引和设备逻辑主键确定目标数组的数组标识。
在一种可能的实施方式中,数据库服务器设置有时间索引表,计算出待存储数据的时间索引后,根据时间索引和设备逻辑主键在时间索引表中确定出目标数组的数组标识,数组标识为整数,时间索引表如表4所示。
域 | ID2 | ID1 | TimeIndex |
含义 | 数组标识 | 设备逻辑主键 | 时间索引 |
表4
示意性的,对于时间索引为26089,设备逻辑主键为0的待存储数据,数据库服务器在时间索引表中找到其对应的目标数组的数组标识ID2为0,时间索引表的相关信息如表5所示。
ID2 | ID1 | TimeIndex |
0 | 0 | 26089 |
1 | 0 | 26090 |
2 | 0 | 26091 |
表5
步骤305,根据数组标识确定目标逻辑分组和目标数据库。
在一种可能的实施方式中,数据库服务器设置有数据存储表,确定出待存储数据的数组标识后,根据数组标识在数据存储表中查找目标逻辑分组下的目标数据库对应的目标数组。示意性的,数据存储表如下表所示。
域 | ID2 | Round |
含义 | 数组标识 | 目标数组 |
表6
在一种可能的实施方式中,本步骤可以包括如下步骤:
一、根据数组标识所属的数值区间确定目标逻辑分组,其中,不同逻辑分组对应不同数值区间。
在一种可能的实施方式中,数据库服务器根据数组标识的数值区间划分逻辑分组,例如,每n个数组为一个逻辑分组,并且,每个逻辑分组下分布有多个数据库,n个数组均匀分布在多个数据库中。数据库服务器确定出待存储数据的目标逻辑分组后,将待存储数据存储在目标逻辑分组下的多个数据库中。
图4示出了数据库服务器的一种逻辑分组方式,以ID2的数值区间为划分依据,每2000万个数组为一个逻辑分组,当数据增多,超出当前所有逻辑分组的容量时,只需水平增加一个逻辑分组,将超出的部分数据存储在新的逻辑分组中,不需要迁移相关历史数据。
示意性的,设备x001采集的待存储数据的ID2数值范围为0至2,因此201条数据全部存储在第一个逻辑分组中。
二、根据数组标识和目标逻辑分组下数据库的数量,确定目标数据库,目标数据库通过哈希取模计算得到。
为了避免出现热点问题,逻辑分组中包含多个数据库,当数据库服务器确定出目标逻辑分组时,需要定位具体的目标数据库。在一种可能的实施方式中,数据库服务器根据目标逻辑分组下数据库的数量对数组标识的数值进行哈希取模计算,确定目标数据库。
如图4所示,数据库服务器划分2000万个数组为一个逻辑分组,且每个逻辑分组下包含三个数据库,数据库服务器以3对ID2进行哈希取模计算后,确定目标数组所在的目标数据库。
示意性的,采集设备x001采集到的待存储数据存储在第一个逻辑分组下的三个目标数组中,数组标识分别为0、1和2,通过哈希取模计算,确定出ID2为0的数据存储在DB0,ID2为1的数据存储在DB1,ID2为2的数据存储在DB2。
步骤306,判断目标数组是否存在。
数据库服务器确定出目标数据库后,需要判断目标数据库中是否存在目标数组,对于两种不同的情况,需要采取不同的方法进行数据存储。
步骤307,若存在目标数组,则从目标数据库中解压目标数组;将待存储数据写入解压后的目标数组,并对解压后的目标数组进行压缩。
数据库服务器确定出目标数组后,先判断目标数组是否存在,若存在,则先解压目标数组,再将待存储数据写入并压缩目标数组,在一种可能的实施方式中,数据库服务器采用异或(XORs)压缩算法压缩数组,其压缩效率为70%至95%。
在一种可能的实施方式中,本步骤可以包括如下步骤:
一、根据时间戳确定待存储数据在目标数组中的起始存储位。
当存在目标数组时,表明目标数组的部分数据存储位已存储有数据,因此为了避免后存储的数据对已存储的数据造成影响,数据库服务器需要先计算待存储数据在目标数组中的起始存储位(datastart)。
在一种可能的实施方式中,数据库服务器利用待存储数据的时间特性确定存储位置,首先将待存储数据的时间戳与初始时间戳的时间差、预定时间间隔和目标数组的数组长度进行取模计算,得出目标数组当前可存储的数据个数,则将待存储数据中同样个数的数据存储在目标数组的空位中,例如目标数组可存储n个数据,n小于或等于数组长度,则将待存储数据中前n个数据存储在该目标数组中,其余数据存储至其他目标数组。
示意性的,数据库服务器设置数组长度为100,对于时间差为1565395200秒、预定时间间隔10分钟的待存储数据,进行取模计算1565395200/(10*60)%100=92,表示当前时间索引对应的目标数组中只能存储8个数据,由于数组的始末位置为0和99,因此确定待存储数据的起始存储位是92。
二、从起始存储位开始,将待存储数据写入解压后的目标数组。
数据库服务器计算出待存储数据的起始存储位后,将需要存储在目标数组的待存储数据写入目标数组的相应位置。
示意性的,一台设备号为x001的采集设备采集了2019年8月10日00:00:00至2019年8月11日11:20:00某地的风速,且每隔十分钟采集一次,共201条数据需要存储,数据库服务器计算出其时间索引26089及对应的数组标识后,通过取模计算出目标数组当前只能存储8个数据,则将2019年8月10日00:00:00至2019年8月10日00:01:10的8个风速值写入26089对应的目标数组中,从2019年8月10日00:01:20开始的100个数据写入时间索引26090对应的目标数组中,剩余的93个数据写入时间索引26091对应的目标数组的前93位。数据库服务器检测到时间索引26089对应的目标数组存在,并以表格的形式存储数据,设备x001采集到的待存储数据的存储表格如表7所示,在目标逻辑分组下ID2为0的目标数组的后8位写入x001采集到的前8条数据,压缩存储在DB0中。
ID2 | 数组 |
0 | [NaN,NaN,…,10,12,12,11.32,12.32,…] |
表7
其中,NaN表示数组中未存储数据的部分。
步骤308,若不存在目标数组,则在目标数据库中创建目标数组;将待存储数据写入目标数组,并对目标数组进行压缩。
当数据库服务器检测到当前不存在目标数组时,数据库服务器需要在目标数据库中创建目标数组,将待存储数据的相应部分写入目标数组,并利用XORs算法对目标数组进行压缩,完成数据存储。
示意性的,数据库服务器将x001采集到的前8条数据存储在时间索引26089对应的目标数组后,检测到时间索引26090和26091对应的目标数组不存在,则分别在目标逻辑分组下的DB1和DB2中创建ID2为1和2的目标数组,将x001采集到的第9至第108条数据写入ID2为1的表格中,如表8所示,将其余93条数据写入ID2为2的表格中,如表9所示。
ID2 | 数组 |
1 | […,…,…] |
表8
ID2 | 数组 |
2 | […,13.1,NaN,NaN,NaN] |
表9
其中,NaN表示之后的数据存储过程中存储在数组2中的数据。
本实施例中,通过分布式存储将待存储数据存储在多个数据库中,并根据待存储数据的时间戳和时间间隔计算目标数据库中的目标数组及起始位,每个位置代表了相应时间的数据,从而免去了存储时间戳,节省了数据存储资源,并且每个数组中包含100条数据,使得数据库最大可减少100倍的存储规格。
请参考图5,其示出了本申请另一个示例性实施例提供的时序数据存储方法中数据查询过程的流程图。本实施例以该方法用于数据库服务器为例进行说明,该方法包括如下步骤。
步骤501,接收查询指令,查询指令中包含查询时间戳、查询设备标识和查询数据类型。
数据库服务器接收来自客户端的查询指令,在一种可能的实施方式中,用户进行数据查询时,在客户端输入查询时间戳、查询设备标识和查询数据类型。
示意性的,用户需要查询2019年8月10日00:00:00至2019年8月11日11:20:00间设备x001采集到的风速,则在查询终端的数据查询界面输入相应的起始查询时间戳2019年8月10日00:00:00和截止查询时间戳2019年8月11日11:20:00,查询设备标识x001和查询数据类型风速,由查询终端向数据库服务器发送包含上述查询条件的查询指令。
步骤502,根据查询设备标识和查询数据类型确定目标设备对应的查询设备逻辑主键。
数据库服务器根据查询设备标识和查询数据类型在主数据表中查找相应的查询设备逻辑主键ID1。
示意性的,数据库服务器在主数据表中找到x001和风速对应的ID1,并确定该ID1为查询设备逻辑主键。
步骤503,根据查询设备逻辑主键和查询时间戳确定查询逻辑分组和查询数据库;对查询数据库下的查询数组进行解压。
数据库服务器根据查询时间戳确定查询数据对应的时间索引,在一种可能的实施方式中,首先通过查询设备逻辑主键确定查询数据的预定时间间隔,再根据查询时间戳与初始时间戳的时间差、预定时间间隔和查询数组的数组长度,确定时间索引。根据时间索引和设备逻辑主键确定查询数组的数组标识,从而确定查询逻辑分组和查询数据库,并对查询数据库下对应的查询数组进行解压。
示意性的,查询2019年8月10日00:00:00至2019年8月11日11:20:00某地的风速,共201条数据,根据查询设备标识和数据类型风速确定其ID1和预定时间间隔为10分钟,计算待查询数据的时间戳与初始时间戳之间的时间差为1565395200秒,时间索引通过取整运算后的值为1565395200/(10*60)/100=26089,从而确定出对应的查询数组。
步骤504,根据查询时间戳,从解压后的查询数组中提取查询数据。
由于数组长度为100,且查询数据在数组中的位置并不固定,因此数据库服务器需要先根据查询时间戳确定查询数据在查询数组中的起始位置和截至位置,然后将两位置间的查询数据提取出来,并返回至客户端,完成后,再次压缩查询数组。
示意性的,数据库服务器根据查询时间戳2019年8月10日00:00:00确定出待查询数据存储在第一个逻辑分组下的三个数据库中,且查询数组的数组标识为0、1和2,对查询数组对应的时间索引进行取模运算,确定出待查询数据为查询数组0的后8位、查询数组1和查询数组2的前93位,则数据库服务器解压三个查询数组后将对应位置上的数据提取并按时间先后顺序整合,返回至查询终端。
本实施例中,通过查询时间戳和查询设备逻辑主键准确定位待查询数据在查询数组中的准确位置,并且数据库只需解压相关数组,不需要解压大数据块文件,速度快且消耗系统资源小,当查询的数据量较大或多台查询终端同时查询的数据相关联时,由于本实施例采取多个数据库分布式存储数据的方法,避免了某一个数据库访问量过大造成的热点问题。
图6是本申请一个示例性实施例提供的时序数据存储装置的结构框图,该装置可以设置于上述实施例所述的数据库服务器,如图6所示,该装置包括:
获取模块601,用于获取目标设备采集的待存储数据,所述待存储数据是所述目标设备按照预定时间间隔采集的时序数据;
第一确定模块602,用于根据所述目标设备的设备标识和所述待存储数据的数据类型,确定所述目标设备对应的设备逻辑主键;
第二确定模块603,用于根据所述设备逻辑主键和待存储数据对应的时间戳,确定目标逻辑分组和目标数据库,所述目标数据库属于所述目标逻辑分组,且所述目标逻辑分组下包含多个数据库;
存储模块604,用于将所述待存储数据写入所述目标逻辑分组下所述目标数据库中的目标数组。
可选的,所述第二确定模块603,包括:
第一确定单元,用于根据所述时间戳确定所述待存储数据对应的时间索引;
第二确定单元,用于根据所述时间索引和所述设备逻辑主键确定所述目标数组的数组标识;
第三确定单元,用于根据所述数组标识确定所述目标逻辑分组和所述目标数据库。
可选的,所述第一确定单元,还用于:
计算所述时间戳与初始时间戳之间的时间差;
根据所述时间差、所述预定时间间隔和所述目标数组的数组长度,确定所述时间索引,所述时间索引通过取整计算得到。
可选的,所述数组标识为整数,所述第三确定单元,还用于:
根据所述数组标识所属的数值区间确定所述目标逻辑分组,其中,不同逻辑分组对应不同数值区间;
根据所述数组标识和所述目标逻辑分组下数据库的数量,确定所述目标数据库,所述目标数据库通过哈希取模计算得到。
可选的,所述存储模块604,包括:
解压单元,用于若存在所述目标数组,则从所述目标数据库中解压所述目标数组;将所述待存储数据写入解压后的所述目标数组,并对解压后的所述目标数组进行压缩;
创建单元,用于若不存在所述目标数组,则在所述目标数据库中创建所述目标数组;将所述待存储数据写入所述目标数组,并对所述目标数组进行压缩。
可选的,所述解压单元,还用于:
根据所述时间戳确定所述待存储数据在所述目标数组中的起始存储位;
从所述起始存储位开始,将所述待存储数据写入解压后的所述目标数组。
可选的,所述装置还包括:
接收模块,用于接收查询指令,所述查询指令中包含查询时间戳、查询设备标识和查询数据类型;
第三确定模块,用于根据所述查询设备标识和所述查询数据类型确定所述目标设备对应的查询设备逻辑主键;
第四确定模块,用于根据所述查询设备逻辑主键和查询时间戳确定查询逻辑分组和查询数据库;对所述查询数据库下的查询数组进行解压;
提取模块,用于根据所述查询时间戳,从解压后的所述查询数组中提取查询数据。
需要说明的是:上述实施例提供的数据存储装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的时序数据存储装置与时序数据存储方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图7,其示出了本申请一个示例性实施例提供的服务器的结构示意图。具体来讲:所述服务器700包括中央处理单元(Central Processing Unit,CPU)701、包括随机存取存储器(Random Access Memory,RAM)702和只读存储器(Read-Only Memory,ROM)703的系统存储器704,以及连接系统存储器704和中央处理单元701的系统总线705。所述服务器700还包括帮助服务器内的各个器件之间传输信息的基本输入/输出(Input/Output,I/O)系统706,和用于存储操作系统713、应用程序714和其他程序模块715的大容量存储设备707。
所述基本输入/输出系统706包括有用于显示信息的显示器708和用于用户输入信息的诸如鼠标、键盘之类的输入设备709。其中所述显示器708和输入设备709都通过连接到系统总线705的输入输出控制器710连接到中央处理单元701。所述基本输入/输出系统706还可以包括输入输出控制器710以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器710还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备707通过连接到系统总线705的大容量存储控制器(未示出)连接到中央处理单元701。所述大容量存储设备707及其相关联的计算机可读存储介质为服务器700提供非易失性存储。也就是说,所述大容量存储设备707可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读存储介质(未示出)。
不失一般性,所述计算机可读存储介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如服务器可读存储指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、计算机存储器(Erasable Programmable Read Only Memor,EPROM)、读写存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器704和大容量存储设备707可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元701执行,一个或多个程序包含用于实现上述时序数据存储方法的指令,中央处理单元701执行该一个或多个程序实现上述各个方法实施例提供的方法。
根据本申请的各种实施例,所述服务器700还可以通过诸如因特网等网络连接到网络上的远程服务器运行。也即服务器700可以通过连接在所述系统总线705上的网络接口单元711连接到网络712,或者说,也可以使用网络接口单元711来连接到其他类型的网络或远程服务器系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的方法中由数据库服务器所执行的步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的时序数据存储方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读存储介质中或者作为计算机可读存储介质上的一个或多个指令或代码进行传输。计算机可读存储介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用服务器能够存取的任何可用介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种时序数据存储方法,其特征在于,所述方法包括:
获取目标设备采集的待存储数据,所述待存储数据是所述目标设备按照预定时间间隔采集的时序数据;
根据所述目标设备的设备标识和所述待存储数据的数据类型,确定所述目标设备对应的设备逻辑主键;
根据时间戳确定所述待存储数据对应的时间索引;
根据所述时间索引和所述设备逻辑主键确定目标数组的数组标识;
根据所述数组标识确定目标逻辑分组和目标数据库,所述目标数据库属于所述目标逻辑分组,且所述目标逻辑分组下包含多个数据库;
将所述待存储数据写入所述目标逻辑分组下所述目标数据库中的目标数组。
2.根据权利要求1所述的方法,其特征在于,所述根据所述时间戳确定所述待存储数据对应的时间索引,包括:
计算所述时间戳与初始时间戳之间的时间差;
根据所述时间差、所述预定时间间隔和所述目标数组的数组长度,确定所述时间索引,所述时间索引通过取整计算得到。
3.根据权利要求1所述的方法,其特征在于,所述数组标识为整数,所述根据所述数组标识确定所述目标逻辑分组和所述目标数据库,包括:
根据所述数组标识所属的数值区间确定所述目标逻辑分组,其中,不同逻辑分组对应不同数值区间;
根据所述数组标识和所述目标逻辑分组下数据库的数量,确定所述目标数据库,所述目标数据库通过哈希取模计算得到。
4.根据权利要求1至3任一所述的方法,其特征在于,所述将所述待存储数据写入所述目标逻辑分组下所述目标数据库中的目标数组,包括:
若存在所述目标数组,则从所述目标数据库中解压所述目标数组;将所述待存储数据写入解压后的所述目标数组,并对解压后的所述目标数组进行压缩;
若不存在所述目标数组,则在所述目标数据库中创建所述目标数组;将所述待存储数据写入所述目标数组,并对所述目标数组进行压缩。
5.根据权利要求4所述的方法,其特征在于,所述将所述待存储数据写入解压后的所述目标数组,包括:
根据所述时间戳确定所述待存储数据在所述目标数组中的起始存储位;
从所述起始存储位开始,将所述待存储数据写入解压后的所述目标数组。
6.根据权利要求1至3任一所述的方法,其特征在于,所述将所述待存储数据写入所述目标逻辑分组下所述目标数据库中的目标数组之后,所述方法还包括:
接收查询指令,所述查询指令中包含查询时间戳、查询设备标识和查询数据类型;
根据所述查询设备标识和所述查询数据类型确定所述目标设备对应的查询设备逻辑主键;
根据所述查询设备逻辑主键和查询时间戳确定查询逻辑分组和查询数据库;对所述查询数据库下的查询数组进行解压;
根据所述查询时间戳,从解压后的所述查询数组中提取查询数据。
7.一种时序数据存储装置,其特征在于,所述装置包括:
获取模块,用于获取目标设备采集的待存储数据,所述待存储数据是所述目标设备按照预定时间间隔采集的时序数据;
第一确定模块,用于根据所述目标设备的设备标识和所述待存储数据的数据类型,确定所述目标设备对应的设备逻辑主键;
第二确定模块,用于根据所述设备逻辑主键和待存储数据对应的时间戳,确定目标逻辑分组和目标数据库,所述目标数据库属于所述目标逻辑分组,且所述目标逻辑分组下包含多个数据库;
存储模块,用于将所述待存储数据写入所述目标逻辑分组下所述目标数据库中的目标数组;
其中,所述第二确定模块,包括:
第一确定单元,用于根据所述时间戳确定所述待存储数据对应的时间索引;
第二确定单元,用于根据所述时间索引和所述设备逻辑主键确定所述目标数组的数组标识;
第三确定单元,用于根据所述数组标识确定所述目标逻辑分组和所述目标数据库。
8.根据权利要求7所述的装置,其特征在于,所述第一确定单元,还用于:
计算所述时间戳与初始时间戳之间的时间差;
根据所述时间差、所述预定时间间隔和所述目标数组的数组长度,确定所述时间索引,所述时间索引通过取整计算得到。
9.根据权利要求7所述的装置,其特征在于,所述数组标识为整数,所述第三确定单元,还用于:
根据所述数组标识所属的数值区间确定所述目标逻辑分组,其中,不同逻辑分组对应不同数值区间;
根据所述数组标识和所述目标逻辑分组下数据库的数量,确定所述目标数据库,所述目标数据库通过哈希取模计算得到。
10.根据权利要求7至9任一所述的装置,其特征在于,所述存储模块,包括:
解压单元,用于若存在所述目标数组,则从所述目标数据库中解压所述目标数组;将所述待存储数据写入解压后的所述目标数组,并对解压后的所述目标数组进行压缩;
创建单元,用于若不存在所述目标数组,则在所述目标数据库中创建所述目标数组;将所述待存储数据写入所述目标数组,并对所述目标数组进行压缩。
11.根据权利要求10所述的装置,其特征在于,所述解压单元,还用于:
根据所述时间戳确定所述待存储数据在所述目标数组中的起始存储位;
从所述起始存储位开始,将所述待存储数据写入解压后的所述目标数组。
12.根据权利要求7至9任一所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收查询指令,所述查询指令中包含查询时间戳、查询设备标识和查询数据类型;
第三确定模块,用于根据所述查询设备标识和所述查询数据类型确定所述目标设备对应的查询设备逻辑主键;
第四确定模块,用于根据所述查询设备逻辑主键和查询时间戳确定查询逻辑分组和查询数据库;对所述查询数据库下的查询数组进行解压;
提取模块,用于根据所述查询时间戳,从解压后的所述查询数组中提取查询数据。
13.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至6任一所述的时序数据存储方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至6任一所述的时序数据存储方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911073197.0A CN111125089B (zh) | 2019-11-05 | 2019-11-05 | 时序数据存储方法、装置、服务器及存储介质 |
PCT/SG2020/050634 WO2021091489A1 (en) | 2019-11-05 | 2020-11-04 | Method and apparatus for storing time series data, and server and storage medium thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911073197.0A CN111125089B (zh) | 2019-11-05 | 2019-11-05 | 时序数据存储方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111125089A CN111125089A (zh) | 2020-05-08 |
CN111125089B true CN111125089B (zh) | 2023-09-26 |
Family
ID=70495552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911073197.0A Active CN111125089B (zh) | 2019-11-05 | 2019-11-05 | 时序数据存储方法、装置、服务器及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111125089B (zh) |
WO (1) | WO2021091489A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111581220A (zh) * | 2020-05-28 | 2020-08-25 | 泰康保险集团股份有限公司 | 用于时间序列数据的存储及检索方法、装置、设备及存储介质 |
CN111723075B (zh) * | 2020-06-11 | 2023-05-30 | 阳光新能源开发股份有限公司 | 实时数据库的构建、检索以及数据保存方法、系统及介质 |
CN111767276B (zh) * | 2020-06-29 | 2024-03-15 | 北京百度网讯科技有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN112000619A (zh) * | 2020-08-21 | 2020-11-27 | 杭州安恒信息技术股份有限公司 | 一种时间顺序数据存储方法、装置、设备及可读存储介质 |
CN112084147A (zh) * | 2020-09-10 | 2020-12-15 | 珠海美佳音科技有限公司 | 一种数据存储方法、数据采集记录仪及电子设备 |
CN112199419B (zh) * | 2020-10-09 | 2024-06-07 | 深圳市欢太科技有限公司 | 一种分布式时序数据库、存储方法、设备及存储介质 |
CN112445795A (zh) * | 2020-10-22 | 2021-03-05 | 浙江蓝卓工业互联网信息技术有限公司 | 一种时序数据库的分布式存储扩容方法及数据查询方法 |
CN112269670B (zh) * | 2020-10-30 | 2023-08-25 | 重庆紫光华山智安科技有限公司 | 数据入库方法、装置、系统及存储介质 |
CN112434015B (zh) * | 2020-12-08 | 2022-08-19 | 新华三大数据技术有限公司 | 数据存储的方法、装置、电子设备及介质 |
CN112612793B (zh) * | 2020-12-25 | 2022-11-15 | 恒生电子股份有限公司 | 资源查询方法、装置、节点设备及存储介质 |
CN112579834B (zh) * | 2021-02-22 | 2021-09-03 | 北京工业大数据创新中心有限公司 | 一种工业设备数据的存储方法及系统 |
CN113010484A (zh) * | 2021-03-12 | 2021-06-22 | 维沃移动通信有限公司 | 日志文件管理方法及装置 |
CN113342284B (zh) * | 2021-06-30 | 2023-02-28 | 招商局金融科技有限公司 | 时序数据存储方法、装置、计算机设备及存储介质 |
CN113297278B (zh) * | 2021-07-26 | 2022-03-18 | 阿里云计算有限公司 | 时序数据库、数据处理方法、存储设备及计算机程序产品 |
CN113934725A (zh) * | 2021-09-02 | 2022-01-14 | 远景智能国际私人投资有限公司 | 数据获取方法、装置及物联网 |
CN114205372A (zh) * | 2021-12-08 | 2022-03-18 | 南方电网深圳数字电网研究院有限公司 | 一种物联网的数据存储方法及装置 |
CN114328515A (zh) * | 2021-12-22 | 2022-04-12 | 宁夏中科嘉业新能源研究院(有限公司) | 一种基于复合分配算法的数据存储方法 |
CN114969171B (zh) * | 2022-07-22 | 2023-05-12 | 电科云(北京)科技有限公司 | 时空一致的数据展示与回放方法、装置、设备及存储介质 |
CN116069870A (zh) * | 2023-04-06 | 2023-05-05 | 深圳开鸿数字产业发展有限公司 | 基于分布式系统的数据存储方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731896A (zh) * | 2015-03-18 | 2015-06-24 | 北京百度网讯科技有限公司 | 一种数据处理方法及系统 |
CN107807969A (zh) * | 2017-10-18 | 2018-03-16 | 上海华电电力发展有限公司 | 用于电厂的新的时间序列数据存储方法 |
CN108256088A (zh) * | 2018-01-23 | 2018-07-06 | 清华大学 | 一种基于键值数据库的时序数据的存储方法及系统 |
CN108399263A (zh) * | 2018-03-15 | 2018-08-14 | 北京大众益康科技有限公司 | 时序数据的存储和查询方法及存储和处理平台 |
CN110134723A (zh) * | 2019-05-22 | 2019-08-16 | 网易(杭州)网络有限公司 | 一种存储数据的方法和数据库 |
CN110287199A (zh) * | 2019-07-01 | 2019-09-27 | 联想(北京)有限公司 | 一种数据库的处理方法及电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103794006B (zh) * | 2012-10-31 | 2016-12-21 | 国际商业机器公司 | 用于处理多个传感器的时序数据的方法和装置 |
US9152672B2 (en) * | 2012-12-17 | 2015-10-06 | General Electric Company | Method for storage, querying, and analysis of time series data |
US10007690B2 (en) * | 2014-09-26 | 2018-06-26 | International Business Machines Corporation | Data ingestion stager for time series database |
US10528566B2 (en) * | 2016-06-30 | 2020-01-07 | Referentia Systems, Inc. | Time series data query engine |
US10585912B2 (en) * | 2017-10-10 | 2020-03-10 | Servicenow, Inc. | Visualizing time metric database |
US10503498B2 (en) * | 2017-11-16 | 2019-12-10 | Sas Institute Inc. | Scalable cloud-based time series analysis |
-
2019
- 2019-11-05 CN CN201911073197.0A patent/CN111125089B/zh active Active
-
2020
- 2020-11-04 WO PCT/SG2020/050634 patent/WO2021091489A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731896A (zh) * | 2015-03-18 | 2015-06-24 | 北京百度网讯科技有限公司 | 一种数据处理方法及系统 |
CN107807969A (zh) * | 2017-10-18 | 2018-03-16 | 上海华电电力发展有限公司 | 用于电厂的新的时间序列数据存储方法 |
CN108256088A (zh) * | 2018-01-23 | 2018-07-06 | 清华大学 | 一种基于键值数据库的时序数据的存储方法及系统 |
CN108399263A (zh) * | 2018-03-15 | 2018-08-14 | 北京大众益康科技有限公司 | 时序数据的存储和查询方法及存储和处理平台 |
CN110134723A (zh) * | 2019-05-22 | 2019-08-16 | 网易(杭州)网络有限公司 | 一种存储数据的方法和数据库 |
CN110287199A (zh) * | 2019-07-01 | 2019-09-27 | 联想(北京)有限公司 | 一种数据库的处理方法及电子设备 |
Non-Patent Citations (1)
Title |
---|
一种基于HBase的智能电网时序大数据处理方法;王远;陶烨;袁军;何卫;;系统仿真学报(第03期);559-568 * |
Also Published As
Publication number | Publication date |
---|---|
CN111125089A (zh) | 2020-05-08 |
WO2021091489A1 (en) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111125089B (zh) | 时序数据存储方法、装置、服务器及存储介质 | |
JP7279266B2 (ja) | 時系列データを保存および照会するための方法および装置、並びにそれらのサーバーおよび記憶媒体 | |
US10176208B2 (en) | Processing time series data from multiple sensors | |
CN110413611B (zh) | 数据存储、查询方法及装置 | |
CN106648446B (zh) | 一种用于时序数据的存储方法、装置及电子设备 | |
CN101706825B (zh) | 一种基于文件内容类型的重复数据删除方法 | |
CN107766529B (zh) | 一种用于污水处理行业的海量数据存储方法 | |
CN111339103B (zh) | 一种基于全量分片和增量日志解析的数据交换方法及系统 | |
CN110389967B (zh) | 数据存储方法、装置、服务器及存储介质 | |
US8468134B1 (en) | System and method for measuring consistency within a distributed storage system | |
CN103488709A (zh) | 一种索引建立方法及系统、检索方法及系统 | |
CN107992492B (zh) | 一种数据区块的存储方法、读取方法、其装置及区块链 | |
WO2021068891A1 (en) | Method, system, electronic device, and storage medium for storing and collecting temperature data | |
WO2022077874A1 (zh) | 电能量曲线数据存储方法、电能表及计算机可读存储介质 | |
CN109521954B (zh) | 一种配网ftu定点文件管理方法及装置 | |
CN113420036A (zh) | 一种电网监控系统内存库关系库一致性校验方法 | |
CN115408390A (zh) | 一种数据处理方法、装置及电子设备 | |
CN115168499A (zh) | 数据库表的分片方法、装置、计算机设备和存储介质 | |
CN113905252A (zh) | 直播间的数据存储方法、装置、电子设备及存储介质 | |
CN110990394B (zh) | 分布式面向列数据库表的行数统计方法、装置和存储介质 | |
CN117061449B (zh) | 一种边缘网关的数据分批传输方法、装置、设备及介质 | |
CN108398641B (zh) | 一种电池数据处理方法和电池数据服务器 | |
CN113515527B (zh) | 一种聚合型ip索引的建立和应用方法 | |
CN112988736B (zh) | 一种海量数据质量检核方法及其系统 | |
CN103198068A (zh) | 一种动态信息数据库在配电自动化系统中的应用方法 |
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 |