CN112434039A - 数据的存储方法、装置、存储介质以及电子装置 - Google Patents
数据的存储方法、装置、存储介质以及电子装置 Download PDFInfo
- Publication number
- CN112434039A CN112434039A CN202011376663.5A CN202011376663A CN112434039A CN 112434039 A CN112434039 A CN 112434039A CN 202011376663 A CN202011376663 A CN 202011376663A CN 112434039 A CN112434039 A CN 112434039A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- storing
- target
- time
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013500 data storage Methods 0.000 title abstract description 36
- 239000012634 fragment Substances 0.000 claims abstract description 61
- 238000004590 computer program Methods 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Images
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- 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
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
Abstract
本发明实施例提供了一种数据的存储方法、装置、存储介质以及电子装置,该方法包括:采用接收待存储的第一数据,解析第一数据,以确定第一数据的目标业务类型,检测第一索引中包括的多个分片的平均存储量,在确定用于存储目标业务类型的数据的第一索引中包括的多个分片的平均存储量小于预定阈值的情况下,将第一数据存储到第一索引中,在确定第一索引中包括的多个分片的平均存储量大于等于预定阈值的情况下,生成用于存储目标业务类型的数据的第二索引的方式,解决数据的存储效率较低的技术问题,达到提高每个索引的利用率,使得每个分片存储数据量更加均衡,优化存储效率的技术效果。
Description
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种数据的存储方法、装置、存储介质以及电子装置。
背景技术
Elasticsearch是一种分布式的数据存储和全文搜索引擎。物理形态上,Elasticsearch集群由多个节点组成,每个节点都会存储数据。逻辑形态上,数据存储在一个个索引中,而索引由多个分片组成,分片根据一定的规则分布在集群的各个节点上。
分片的分布是基于每个节点上的分片数量进行均衡分布的,每个节点上的分片数量大体一致。
每个索引一般配置固定的主分片数,入库时根据数据主键(id)的Hash值来分发到不同的分片。但是建索引时就必须固定主分片数量,一旦配置后就无法修改主分片数量,只适合数据量很明确的应用场景。
但是,在例如安防监控领域,存在多种业务类型的实时数据,如过车数据、人脸抓拍数据,按照不用的业务类型使用不同类型的索引。每一种类型的实时数据都会实时产生,数据量的大小不是很明确,每种类型的数据量也不一样。随着时间的推移,每种类型都会产生百亿甚至千亿条的海量数据,这样的海量数据不适合放到一个索引中,而是将数据切分到多个索引中,不同业务的数据量是不一样的,从而不同类型索引的数据量也就不一样,而每个索引的分片数一般是固定的,所以每个分片的大小也就不一样。按照ES的分布规则,每个节点上的分片数量大体一致,就导致每个节点上数据占用的存储空间不一样,从而造成数据倾斜,也就是数据分布不均衡。
针对相关技术中存在的数据分布不均衡,导致数据的存储效率过低的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据的存储方法、装置、存储介质以及电子装置,以至少解决相关技术中存在的数据存储不均衡,导致数据的存储效率过低的问题。
根据本发明的一个实施例,提供了一种数据的存储方法,包括:
接收待存储的第一数据;
解析所述第一数据,以确定所述第一数据的目标业务类型;
检测所述第一索引中包括的多个分片的平均存储量;
在确定用于存储所述目标业务类型的数据的第一索引中包括的多个分片的平均存储量小于预定阈值的情况下,将所述第一数据存储到所述第一索引中;
在确定所述第一索引中包括的多个分片的平均存储量大于等于所述预定阈值的情况下,生成用于存储所述目标业务类型的数据的第二索引。
根据本发明的另一个实施例,提供了一种数据的存储装置,包括:
接收模块,用于接收待存储的第一数据;
解析模块,用于解析所述第一数据,以确定所述第一数据的目标业务类型;
检测模块,用于检测所述第一索引中包括的多个分片的平均存储量;
存储模块,用于在确定用于存储所述目标业务类型的数据的第一索引中包括的多个分片的平均存储量小于预定阈值的情况下,将所述第一数据存储到所述第一索引中;
生成模块,用于在确定所述第一索引中包括的多个分片的平均存储量大于等于所述预定阈值的情况下,生成用于存储所述目标业务类型的数据的第二索引。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项方法实施例中的步骤。
通过本发明,采用接收待存储的第一数据,解析第一数据,以确定第一数据的目标业务类型,检测第一索引中包括的多个分片的平均存储量,在确定用于存储目标业务类型的数据的第一索引中包括的多个分片的平均存储量小于预定阈值的情况下,将第一数据存储到第一索引中,在确定第一索引中包括的多个分片的平均存储量大于等于预定阈值的情况下,生成用于存储目标业务类型的数据的第二索引的方式,替代了相关技术中通过根据日期进行划分导致无法预估分片数量,进而,每个分片空间大小差距过大,使得每个节点上的存储空间使用情况不一致,造成数据分布不均衡的问题,也即,能够解决数据的存储效率较低的技术问题,能够达到提高每个索引的利用率,使得每个分片存储数据量更加均衡,优化存储效率的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的数据的存储方法的移动终端的硬件结构框图;
图2是根据本发明实施例的一种可选的数据的存储方法的流程示意图;
图3是根据本发明实施例的另一种可选的数据的存储方法的流程示意图;
图4是根据本发明实施例的一种可选的数据的存储装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种数据的存储方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的数据的存储方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于移动终端、计算机终端或者类似的运算装置的数据的存储方法,图2是根据本发明实施例的一种可选的数据的存储方法的流程示意图,如图2所示,该流程包括如下步骤:
S202,接收待存储的第一数据;
S204,解析第一数据,以确定第一数据的目标业务类型;
S206,检测第一索引中包括的多个分片的平均存储量;
S208,在确定用于存储目标业务类型的数据的第一索引中包括的多个分片的平均存储量小于预定阈值的情况下,将第一数据存储到第一索引中;
S210,在确定第一索引中包括的多个分片的平均存储量大于等于预定阈值的情况下,生成用于存储目标业务类型的数据的第二索引。
可选地,在本实施例中,上述数据的存储方法的应用场景可以包括但不限于数据库、云存储等方面,例如,Elasticsearch数据存储引擎。
可选地,在本实施例中,上述数据的存储方法可以包括但不限于由终端、服务器或者终端和服务器结合使用。
可选地,在本实施例中,上述第一数据可以包括但不限于通过数据采集设备采集得到的数据,例如,通过图像采集设备(摄像头、监视器等)采集到的视频流信息,通过人脸识别网络识别到的图像数据,通过麦克风等语音采集设备采集到的语音数据、通过应用程序等入口输入的数据等。
可选地,在本实施例中,第一数据的目标业务类型可以包括但不限于安全、购物、交通、身份信息等,根据不同的业务场景可以确定不同的目标业务类型。
以上述数据的存储方法运用在安防领域为例,在安防监控领域,存在多种业务类型的实时数据,如过车数据、人脸抓拍数据,按照不用的业务类型使用不同类型的索引。每一种类型的实时数据都会实时产生,数据量的大小不是很明确,每种类型的数据量也不一样。随着时间的推移,每种类型都会产生百亿甚至千亿条的海量数据,这样的海量数据不适合放到一个索引中,而是将数据切分到多个索引中。
可选地,在本实施例中,上述平均存储量可以通过包括但不限于如下方式确定:
S1,检测当前索引的存储空间大小;
S2,根据当前索引的分片数确定上述平均存储量。
需要说明的是,上述预定阈值可以包括但不限于由系统或者服务器预设,还可以在向该索引存储数据之前,通过上述方式检测确定。
可选地,在本实施例中,上述第二索引与上述第一索引用于存储相同目标业务类型的数据,在检测到上述平均存储量大于等于预定阈值的情况下,也可以理解为上述第一索引已完成存储任务,则需要将未存储的数据存储到上述第二索引中。
可选地,在本实施例中,在生成用于存储目标业务类型的数据的第二索引之后,可以将之后接收到的上述目标业务类型的数据存入上述第二索引,并继续周期性检测上述第二索引中平均分片大小与预定阈值的比较关系。
上述仅是一种示例,本实施例不做任何具体的限定。
通过本实施例,采用接收待存储的第一数据,解析第一数据,以确定第一数据的目标业务类型,检测第一索引中包括的多个分片的平均存储量,在确定用于存储目标业务类型的数据的第一索引中包括的多个分片的平均存储量小于预定阈值的情况下,将第一数据存储到第一索引中,在确定第一索引中包括的多个分片的平均存储量大于等于预定阈值的情况下,生成用于存储目标业务类型的数据的第二索引的方式,替代了相关技术中通过根据日期进行划分导致无法预估分片数量,进而,每个分片空间大小差距过大,使得每个节点上的存储空间使用情况不一致,造成数据分布不均衡的问题,也即,能够解决数据的存储效率较低的技术问题,能够达到提高每个索引的利用率,使得每个分片存储数据量更加均衡,优化存储效率的技术效果。
作为一种可选的方案,检测所述第一索引中包括的多个分片的平均存储量,包括:按照预定周期检测所述第一索引中包括的多个分片的平均存储量。
可选地,在本实施例中,上述预定周期可以包括但不限于1天、1周、1月、1季度等,可以包括但不限于根据应用场景以及索引或者分片的大小确定。
可选地,在本实施例中,可以包括但不限于根据检测到的平均存储量更新上述预定阈值,以实现向不同索引或不同分片动态存储数据的技术效果。
通过本实施例,采用按照预定周期检测第一索引中包括的多个分片的平均存储量,能够灵活确定出平均存储量,进而能够用于和预定阈值进行比较,以确定该索引是否还能够用于继续存储数据。
作为一种可选的方案,检测所述第一索引中包括的多个分片的平均存储量,包括:获取所述第一索引的存储总量;获取所述第一索引包含的分片数量;将所述存储总量和所述分片数量的比值确定为所述第一索引中包括的多个分片的平均存储量。
可选地,在本实施例中,上述第一索引的存储总量由建立第一索引时预先确定,上述第一索引包含的分片数量由数据实时存储过程中检测得到,将上述存储总量和分片数量的比值确定为上述平均存储量可以包括但不限于采用表示存储总量的数值除以上述表示分片数量的数值,以得到上述平均存储量。
通过本实施例,采用获取第一索引的存储总量,获取第一索引包含的分片数量,将存储总量和分片数量的比值确定为第一索引中包括的多个分片的平均存储量,替代了相关技术中通过根据日期进行划分索引的方案所导致的不同索引之间的存储数据量差距过大问题,进而,能够解决数据的存储效率较低的技术问题,能够达到提高每个索引的利用率,使得每个分片存储数据量更加均衡,优化存储效率的技术效果。
作为一种可选的方案,在生成用于存储所述业务类型的数据的第二索引之后,所述方法还包括:接收待存储的第二数据;解析所述第二数据,以确定所述第二数据的业务类型;在确定所述第二数据的业务类型为所述目标业务类型的情况下,将所述第二数据存储到所述第二索引中。
可选地,在本实施例中,上述第二数据为检测到上述第一索引的平均存储量大于等于预定阈值后接收到的数据,在确定该数据的业务类型为目标业务类型,也即,能够存储到上述第二索引中的情况下,将该第二数据存储至上述第二索引中。
通过本实施例,采用接收待存储的第二数据;解析第二数据,以确定第二数据的业务类型;在确定第二数据的业务类型为目标业务类型的情况下,将第二数据存储到第二索引中,替代了相关技术中通过根据日期进行划分索引的方案所导致的不同索引之间的存储数据量差距过大问题,进而,能够解决数据的存储效率较低的技术问题,能够达到提高每个索引的利用率,使得每个索引存储数据量更加均衡,优化存储效率的技术效果。
作为一种可选的方案,在将所述第二数据存储到所述第二索引中之前,所述方法还包括:对所述第二数据中携带的时间戳与系统时间以及所述第二索引的生成时间分别进行比较;将所述第二数据存储到所述第二索引中包括:在确定所述时间戳与所述系统时间的差值小于预定时间阈值的情况下,且所述时间戳大于等于所述第二索引的生成时间的情况下,将所述第二数据存储到所述第二索引。
可选地,在本实施例中,上述第二数据中携带的时间戳可以通过包括但不限于时钟程序进行确定,可以包括但不限于根据系统时间或者预设时间进行配置。
可选地,在本实施例中,上述系统时间可以包括但不限于由服务器预设或者终端从服务器获取。
可选地,在本实施例中,上述预定时间阈值可以由系统或者服务器预设,还可以包括但不限于根据目标业务类型确定。
例如,在目标业务类型为安防领域,在实际情况中,时间戳都会存在一定的误差,对于实时数据来说,误差一般相对比较小。经实时数据的时间戳和当前系统时间做比较,如果偏差在一定范围内,比如10分钟,则认为数据有效,否则认为是异常数据,以执行后续处理。
通过本实施例,采用在确定时间戳与系统时间的差值小于预定时间阈值的情况下,且时间戳大于等于第二索引的生成时间的情况下,将第二数据存储到第二索引,避免了由于误差导致数据遗失或者难以被有效存储的技术问题,进而,能够解决数据的存储效率较低的技术问题,能够达到提高每个索引的利用率,使得每个索引存储数据量更加均衡,优化存储效率的技术效果。
作为一种可选的方案,在对所述第二数据中携带的时间戳与系统时间以及所述第二索引的生成时间分别进行比较之后,所述方法还包括以下之一:在确定所述时间戳与所述系统时间的差值大于等于所述预定时间阈值的情况下,丢弃所述第二数据;在确定所述时间戳与所述系统时间的差值小于所述预定时间阈值,且所述时间戳小于所述第二索引的生成时间的情况下,将所述第二数据存储至所述第一索引中;在确定所述时间戳小于所述第二索引的生成时间的情况下,将所述第二数据存储至所述第一索引中。
可选地,在本实施例中,可以通过包括但不限于将上述第一索引和第二索引的名称配置为:业务名称_开始时间_结束时间,当前索引(对应于前述的第一索引)作为实时数据持续写入的索引,没有结束时间。当需要切分新的索引(对应于前述的第二索引)时,给当前索引取一个别名,即在原名称的基础上添加上结束时间,结束时间为该索引所存储数据的最大时间戳。这时当前索引也就变成了历史索引,新的索引成为当前索引。
例如,人脸业务,历史索引名称可以包括但不限于为如下格式:face_2020-07-01-16-07-06_2020-07-02-16-08-09、face_2020-07-02-16-08-10_2020-07-03-16-08-03,当前索引名称可以包括但不限于为如下格式:face_2020-07-03-16-08-04。
在解析待入库的实时数据时,需要解析出数据时间戳。在实际情况中,时间戳都会一定误差,但对于实时数据来说,这个误差一般都比较小。经实时数据的时间戳和当前系统时间做比较,如果偏差在一定范围内,比如10分钟,则认为数据有效,否则认为是异常数据丢弃掉。
对于时间戳相比较当前索引开始时间还小的数据,需要根据索引名中的时间段,确定具体索引,将数据存储在该索引中。因为数据的时间误差已经控制在10分钟内,所以对历史索引的空间大小影响很小,可以忽略。
作为一种可选的方案,所述方法还包括:获取用于查询目标数据的请求消息,其中,所述请求消息携带有所述目标数据对应的时间戳;基于所述目标数据对应的时间戳确定目标索引,其中,所述目标索引为用于存储与所述目标数据的业务类型相同的数据的索引,且所述目标索引的使用时间包括所述目标数据对应的时间戳;从所述目标索引中查找所述目标数据。
可选地,在本实施例中,可以通过获取用于查询目标数据的请求消息来查询数据,在查询数据时,为了提高查询效率,需要携带查询的时间范围,这样就可以根据索引名称中的时间,定位到具体的目标索引,减少目标索引数量,从而提高查询效率。
下面结合具体的示例,对本发明进行进一步的解释说明:
在安防监控领域,存在多种业务类型的实时数据,如过车数据、人脸抓拍数据,按照不用的业务类型使用不同类型的索引。每一种类型的实时数据都会实时产生,数据量的大小不是很明确,每种类型的数据量也不一样。随着时间的推移,每种类型都会产生百亿甚至千亿条的海量数据,这样的海量数据不适合放到一个索引中,而是将数据切分到多个索引中。
在上述应用场景下,本发明提出了一种基于Elasticsearch的实时数据分布均衡方法。
图3是根据本发明实施例的另一种数据的处理流程示意图,处理流程如图3所示:
S302,接收待存储的实时数据,保存在缓存中。
S304,解析接收到的数据,根据数据的业务类型,确定对应的当前索引。
S306,将数据存储到对应业务的当前索引中。
S608,创建检测任务,定时检测当前索引的存储空间大小。根据该索引的分片数,计算出平均分片大小,当分片大小达到一定预设的阈值后,则建立新的索引作为当前索引,用于存储下一批的实时数据。
其中,上述数据的存储方法还包括如下内容:
索引名称的完整格式为:业务名称_开始时间_结束时间,当前索引作为实时数据持续写入的索引,没有结束时间。当需要切分新的索引时,给当前索引取一个别名,即在原名称的基础上添加上结束时间,结束时间为该索引所存储数据的最大时间戳。这时当前索引也就变成了历史索引,新的索引成为当前索引。比如人脸业务,历史索引名称为如下格式:face_2020-07-01-16-07-06_2020-07-02-16-08-09、face_2020-07-02-16-08-10_2020-07-03-16-08-03,当前索引名称为如下格式:face_2020-07-03-16-08-04。
解析待入库的实时数据时,需要解析出数据时间戳。在实际情况中,时间戳都会一定误差,但对于实时数据来说,这个误差一般都比较小。经实时数据的时间戳和当前系统时间做比较,如果偏差在一定范围内,比如10分钟,则认为数据有效,否则认为是异常数据丢弃掉。
对于时间戳比当前索引开始时间还小的数据,需要根据索引名中的时间段,确定具体索引,将数据存储在该索引中。因为数据的时间误差已经控制在10分钟内,所以对历史索引的空间大小影响很小,可以忽略。
查询数据时,为了提高查询效率,需要携带查询的时间范围,这样就可以根据索引名称中的时间,定位到具体的目标索引,减少目标索引数量,从而提高查询效率。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种数据的存储装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本发明实施例的一种可选的数据的存储装置的结构框图,如图4所示,该装置包括:
接收模块402,用于接收待存储的第一数据;
解析模块404,用于解析所述第一数据,以确定所述第一数据的目标业务类型;
检测模块406,用于检测所述第一索引中包括的多个分片的平均存储量;
存储模块408,用于在确定用于存储所述目标业务类型的数据的第一索引中包括的多个分片的平均存储量小于预定阈值的情况下,将所述第一数据存储到所述第一索引中;
生成模块410,用于在确定所述第一索引中包括的多个分片的平均存储量大于等于所述预定阈值的情况下,生成用于存储所述目标业务类型的数据的第二索引。
作为一种可选的方案,所述装置用于通过如下方式检测所述第一索引中包括的多个分片的平均存储量:按照预定周期检测所述第一索引中包括的多个分片的平均存储量。
作为一种可选的方案,所述装置用于通过如下方式检测所述第一索引中包括的多个分片的平均存储量:获取所述第一索引的存储总量;获取所述第一索引包含的分片数量;将所述存储总量和所述分片数量的比值确定为所述第一索引中包括的多个分片的平均存储量。
作为一种可选的方案,在生成用于存储所述业务类型的数据的第二索引之后,所述装置还用于:接收待存储的第二数据;解析所述第二数据,以确定所述第二数据的业务类型;在确定所述第二数据的业务类型为所述目标业务类型的情况下,将所述第二数据存储到所述第二索引中。
作为一种可选的方案,在将所述第二数据存储到所述第二索引中之前,所述装置还用于:对所述第二数据中携带的时间戳与系统时间以及所述第二索引的生成时间分别进行比较;将所述第二数据存储到所述第二索引中包括:在确定所述时间戳与所述系统时间的差值小于预定时间阈值的情况下,且所述时间戳大于等于所述第二索引的生成时间的情况下,将所述第二数据存储到所述第二索引。
作为一种可选的方案,在对所述第二数据中携带的时间戳与系统时间以及所述第二索引的生成时间分别进行比较之后,所述装置还用于执行如下至少之一的方法:在确定所述时间戳与所述系统时间的差值大于等于所述预定时间阈值的情况下,丢弃所述第二数据;在确定所述时间戳与所述系统时间的差值小于所述预定时间阈值,且所述时间戳小于所述第二索引的生成时间的情况下,将所述第二数据存储至所述第一索引中;在确定所述时间戳小于所述第二索引的生成时间的情况下,将所述第二数据存储至所述第一索引中。
作为一种可选的方案,所述装置还用于:获取用于查询目标数据的请求消息,其中,所述请求消息携带有所述目标数据对应的时间戳;基于所述目标数据对应的时间戳确定目标索引,其中,所述目标索引为用于存储与所述目标数据的业务类型相同的数据的索引,且所述目标索引的使用时间包括所述目标数据对应的时间戳;从所述目标索引中查找所述目标数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收待存储的第一数据;
S2,解析第一数据,以确定第一数据的目标业务类型;
S3,检测第一索引中包括的多个分片的平均存储量;
S4,在确定用于存储目标业务类型的数据的第一索引中包括的多个分片的平均存储量小于预定阈值的情况下,将第一数据存储到第一索引中;
S5,在确定第一索引中包括的多个分片的平均存储量大于等于预定阈值的情况下,生成用于存储目标业务类型的数据的第二索引。
计算机可读存储介质还被设置为存储用于执行以下步骤的计算机程序:
S1,接收待存储的第一数据;
S2,解析第一数据,以确定第一数据的目标业务类型;
S3,检测第一索引中包括的多个分片的平均存储量;
S4,在确定用于存储目标业务类型的数据的第一索引中包括的多个分片的平均存储量小于预定阈值的情况下,将第一数据存储到第一索引中;
S5,在确定第一索引中包括的多个分片的平均存储量大于等于预定阈值的情况下,生成用于存储目标业务类型的数据的第二索引。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
在一个示例性实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收待存储的第一数据;
S2,解析第一数据,以确定第一数据的目标业务类型;
S3,检测第一索引中包括的多个分片的平均存储量;
S4,在确定用于存储目标业务类型的数据的第一索引中包括的多个分片的平均存储量小于预定阈值的情况下,将第一数据存储到第一索引中;
S5,在确定第一索引中包括的多个分片的平均存储量大于等于预定阈值的情况下,生成用于存储目标业务类型的数据的第二索引。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据的存储方法,其特征在于,包括:
接收待存储的第一数据;
解析所述第一数据,以确定所述第一数据的目标业务类型;
检测所述第一索引中包括的多个分片的平均存储量;
在确定用于存储所述目标业务类型的数据的第一索引中包括的多个分片的平均存储量小于预定阈值的情况下,将所述第一数据存储到所述第一索引中;
在确定所述第一索引中包括的多个分片的平均存储量大于等于所述预定阈值的情况下,生成用于存储所述目标业务类型的数据的第二索引。
2.根据权利要求1所述的方法,其特征在于,检测所述第一索引中包括的多个分片的平均存储量,包括:
按照预定周期检测所述第一索引中包括的多个分片的平均存储量。
3.根据权利要求1所述的方法,其特征在于,检测所述第一索引中包括的多个分片的平均存储量,包括:
获取所述第一索引的存储总量;
获取所述第一索引包含的分片数量;
将所述存储总量和所述分片数量的比值确定为所述第一索引中包括的多个分片的平均存储量。
4.根据权利要求1所述的方法,其特征在于,在生成用于存储所述业务类型的数据的第二索引之后,所述方法还包括:
接收待存储的第二数据;
解析所述第二数据,以确定所述第二数据的业务类型;
在确定所述第二数据的业务类型为所述目标业务类型的情况下,将所述第二数据存储到所述第二索引中。
5.根据权利要求4所述的方法,其特征在于,
在将所述第二数据存储到所述第二索引中之前,所述方法还包括:对所述第二数据中携带的时间戳与系统时间以及所述第二索引的生成时间分别进行比较;
将所述第二数据存储到所述第二索引中包括:在确定所述时间戳与所述系统时间的差值小于预定时间阈值的情况下,且所述时间戳大于等于所述第二索引的生成时间的情况下,将所述第二数据存储到所述第二索引。
6.根据权利要求5所述的方法,其特征在于,在对所述第二数据中携带的时间戳与系统时间以及所述第二索引的生成时间分别进行比较之后,所述方法还包括以下之一:
在确定所述时间戳与所述系统时间的差值大于等于所述预定时间阈值的情况下,丢弃所述第二数据;
在确定所述时间戳与所述系统时间的差值小于所述预定时间阈值,且所述时间戳小于所述第二索引的生成时间的情况下,将所述第二数据存储至所述第一索引中;
在确定所述时间戳小于所述第二索引的生成时间的情况下,将所述第二数据存储至所述第一索引中。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取用于查询目标数据的请求消息,其中,所述请求消息携带有所述目标数据对应的时间戳;
基于所述目标数据对应的时间戳确定目标索引,其中,所述目标索引为用于存储与所述目标数据的业务类型相同的数据的索引,且所述目标索引的使用时间包括所述目标数据对应的时间戳;
从所述目标索引中查找所述目标数据。
8.一种数据的存储装置,其特征在于,包括:
接收模块,用于接收待存储的第一数据;
解析模块,用于解析所述第一数据,以确定所述第一数据的目标业务类型;
检测模块,用于检测所述第一索引中包括的多个分片的平均存储量;
存储模块,用于在确定用于存储所述目标业务类型的数据的第一索引中包括的多个分片的平均存储量小于预定阈值的情况下,将所述第一数据存储到所述第一索引中;
生成模块,用于在确定所述第一索引中包括的多个分片的平均存储量大于等于所述预定阈值的情况下,生成用于存储所述目标业务类型的数据的第二索引。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至7任一项中所述的方法的步骤。
10.一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至7任一项中所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011376663.5A CN112434039A (zh) | 2020-11-30 | 2020-11-30 | 数据的存储方法、装置、存储介质以及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011376663.5A CN112434039A (zh) | 2020-11-30 | 2020-11-30 | 数据的存储方法、装置、存储介质以及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112434039A true CN112434039A (zh) | 2021-03-02 |
Family
ID=74697529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011376663.5A Pending CN112434039A (zh) | 2020-11-30 | 2020-11-30 | 数据的存储方法、装置、存储介质以及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112434039A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112783835A (zh) * | 2021-03-11 | 2021-05-11 | 百果园技术(新加坡)有限公司 | 索引管理方法、装置及电子设备 |
CN112883036A (zh) * | 2021-03-05 | 2021-06-01 | 鹏城实验室 | 索引创建方法、装置、存储服务器以及存储介质 |
CN113177050A (zh) * | 2021-05-18 | 2021-07-27 | 浙江大华技术股份有限公司 | 一种数据均衡的方法、装置、查询系统及存储介质 |
CN113360706A (zh) * | 2021-06-20 | 2021-09-07 | 杭州登虹科技有限公司 | 一种基于对象存储与Elasticsearch的视频Timeline存储方法 |
CN113688142A (zh) * | 2021-10-25 | 2021-11-23 | 北京金山云网络技术有限公司 | 索引管理方法、装置、存储介质和电子设备 |
CN113792043A (zh) * | 2021-08-24 | 2021-12-14 | 微梦创科网络科技(中国)有限公司 | 一种实时数据的存储方法及系统 |
CN114954585A (zh) * | 2022-04-14 | 2022-08-30 | 通号城市轨道交通技术有限公司 | 扩展信号系统设备和进路标识的方法及装置 |
CN116346826A (zh) * | 2023-05-30 | 2023-06-27 | 工业富联(佛山)创新中心有限公司 | 数据库节点部署方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180052902A1 (en) * | 2016-08-16 | 2018-02-22 | Quintessencelabs Pty Ltd. | Network partition handling in fault-tolerant key management system |
CN109408509A (zh) * | 2018-10-15 | 2019-03-01 | 北京金山云网络技术有限公司 | 数据存储方法、装置及计算机设备 |
CN109582758A (zh) * | 2018-12-06 | 2019-04-05 | 重庆邮电大学 | 一种Elasticsearch索引分片优化方法 |
CN110427368A (zh) * | 2019-07-12 | 2019-11-08 | 深圳绿米联创科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
-
2020
- 2020-11-30 CN CN202011376663.5A patent/CN112434039A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180052902A1 (en) * | 2016-08-16 | 2018-02-22 | Quintessencelabs Pty Ltd. | Network partition handling in fault-tolerant key management system |
CN109408509A (zh) * | 2018-10-15 | 2019-03-01 | 北京金山云网络技术有限公司 | 数据存储方法、装置及计算机设备 |
CN109582758A (zh) * | 2018-12-06 | 2019-04-05 | 重庆邮电大学 | 一种Elasticsearch索引分片优化方法 |
CN110427368A (zh) * | 2019-07-12 | 2019-11-08 | 深圳绿米联创科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
陈晓萤等: "云计算环境中的时空查询技术", 国防科技大学出版社, pages: 81 - 84 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112883036A (zh) * | 2021-03-05 | 2021-06-01 | 鹏城实验室 | 索引创建方法、装置、存储服务器以及存储介质 |
CN112783835A (zh) * | 2021-03-11 | 2021-05-11 | 百果园技术(新加坡)有限公司 | 索引管理方法、装置及电子设备 |
CN113177050A (zh) * | 2021-05-18 | 2021-07-27 | 浙江大华技术股份有限公司 | 一种数据均衡的方法、装置、查询系统及存储介质 |
CN113360706A (zh) * | 2021-06-20 | 2021-09-07 | 杭州登虹科技有限公司 | 一种基于对象存储与Elasticsearch的视频Timeline存储方法 |
CN113792043A (zh) * | 2021-08-24 | 2021-12-14 | 微梦创科网络科技(中国)有限公司 | 一种实时数据的存储方法及系统 |
CN113688142A (zh) * | 2021-10-25 | 2021-11-23 | 北京金山云网络技术有限公司 | 索引管理方法、装置、存储介质和电子设备 |
CN113688142B (zh) * | 2021-10-25 | 2022-05-06 | 北京金山云网络技术有限公司 | 索引管理方法、装置、存储介质和电子设备 |
CN114954585A (zh) * | 2022-04-14 | 2022-08-30 | 通号城市轨道交通技术有限公司 | 扩展信号系统设备和进路标识的方法及装置 |
CN114954585B (zh) * | 2022-04-14 | 2024-04-12 | 通号城市轨道交通技术有限公司 | 扩展信号系统设备和进路标识的方法及装置 |
CN116346826A (zh) * | 2023-05-30 | 2023-06-27 | 工业富联(佛山)创新中心有限公司 | 数据库节点部署方法、装置、电子设备及存储介质 |
CN116346826B (zh) * | 2023-05-30 | 2023-08-04 | 工业富联(佛山)创新中心有限公司 | 数据库节点部署方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112434039A (zh) | 数据的存储方法、装置、存储介质以及电子装置 | |
CN108737473B (zh) | 一种数据处理方法、装置及系统 | |
CN108900374B (zh) | 一种应用于dpi设备的数据处理方法和装置 | |
CN112040501B (zh) | 移动网络质量的检测预警方法、装置、设备及存储介质 | |
CN111555963A (zh) | 消息推送方法、装置、电子设备及存储介质 | |
CN111740868B (zh) | 告警数据的处理方法和装置及存储介质 | |
CN106055630A (zh) | 日志存储的方法及装置 | |
CN112035531B (zh) | 敏感数据处理方法、装置、设备及介质 | |
CN111538563A (zh) | 一种对Kubernetes的事件分析方法及装置 | |
CN110198251B (zh) | 一种获得客户端地址的方法及装置 | |
CN111224831B (zh) | 用于生成话单的方法和系统 | |
CN114647698A (zh) | 数据同步方法、装置及计算机存储介质 | |
CN108063685B (zh) | 日志分析方法及装置 | |
CN111339183A (zh) | 数据处理方法、边缘节点、数据中心及存储介质 | |
CN114398520A (zh) | 数据检索方法、系统、装置、电子设备及存储介质 | |
CN114757639A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN114791927A (zh) | 一种数据分析方法和装置 | |
CN113727348B (zh) | 用户设备ue用户数据的检测方法、设备、系统及存储介质 | |
CN111367916B (zh) | 一种数据存储方法及装置 | |
CN111930756A (zh) | 用于源数据的特征构建方法、装置、电子设备及介质 | |
CN112491650A (zh) | 动态分析服务之间调用环路情况的方法及相关设备 | |
CN103957230A (zh) | 一种客户端用户数确定方法、服务器、客户端及系统 | |
CN106304122B (zh) | 一种业务数据分析方法及系统 | |
CN111367686A (zh) | 业务接口的调用方法及装置、计算机设备、存储介质 | |
CN107422991B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210302 |