CN110765125B - 一种存储数据的方法及装置 - Google Patents
一种存储数据的方法及装置 Download PDFInfo
- Publication number
- CN110765125B CN110765125B CN201810828663.0A CN201810828663A CN110765125B CN 110765125 B CN110765125 B CN 110765125B CN 201810828663 A CN201810828663 A CN 201810828663A CN 110765125 B CN110765125 B CN 110765125B
- Authority
- CN
- China
- Prior art keywords
- space
- time period
- index
- unit time
- alias
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请是关于一种存储数据的方法及装置,属于数据检索领域。所述方法包括:接收终端发送的存储请求,所述存储请求包括待存储数据和写入索引别名,所述写入索引别名与目标时间段相对应,所述目标时间段包括多个单位时间段;获取与所述写入索引别名相对应的第一空间名称,所述第一空间名称是当前时间所在的第一单位时间段对应的第一活跃索引空间的空间名称,所述第一单位时间段位于所述目标时间段内;将所述待存储数据存储在所述第一空间名称对应的第一活跃索引空间中。本申请能够避免出现存储错误的情况发生。
Description
技术领域
本申请涉及数据检索领域,特别涉及一种存储数据的方法及装置。
背景技术
ES(Elasticsearch)检索***是一种基于Lucene的开源、分布式全文搜索引擎,它能够在短时间内完成海量数据的存储,检索和聚合统计分析。由于ES检索***具有高效的数据存储能力,常使用ES检索***存储数据。
ES检索***建立多个活跃存储空间,每个活跃存储空间对应一个时间段,用于存储位于该时间段内产生的数据。用户在向ES检索***存储数据时,可以向ES检索***输入待存储数据和当前时间段对应的活跃存储空间的空间名称,这样ES检索***可以待存储数据存储在该空间名称对应的该活跃存储空间中。
由于活跃存储空间有多个,这样用户需要记住每个活跃存储空间的空间名称,这样用户在存储数据时在向ES检索***输入当前时间段对应的活跃存储空间的空间名称可能会输入错误,出现了存储错误。
发明内容
为了避免出现存储错误的情况发生,本申请实施例提供了一种存储数据的方法及装置。所述技术方案如下:
第一方面,本申请实施例提供了一种存储数据的方法,所述方法包括:
接收终端发送的存储请求,所述存储请求包括待存储数据和写入索引别名,所述写入索引别名与目标时间段相对应,所述目标时间段包括多个单位时间段;
获取与所述写入索引别名相对应的第一空间名称,所述第一空间名称是当前时间所在的第一单位时间段对应的第一活跃索引空间的空间名称,所述第一单位时间段位于所述目标时间段内;
将所述待存储数据存储在所述第一空间名称对应的第一活跃索引空间中。
可选的,所述方法还包括:
在所述第一单位时间段结束之前所述第一活跃索引空间的容量达到预设容量阈值时,在ES检索***的至少一个第一节点上创建所述第一单位时间段对应的第二活跃索引空间,将与所述写入索引别名相对应的第一空间名称更新为所述第二活跃索引空间的第二空间名称。
可选的,所述方法还包括:
在所述第一单位时间段结束时,在ES检索***的至少一个第一节点上创建第二单位时间段对应的第三活跃索引空间,将与所述写入索引别名相对应的第一空间名称更新为所述第三活跃索引空间的第三空间名称,所述第二单位时间段是所述目标时间段内位于所述第一单位时间段之后且与所述第一单位时间段相邻的单位时间段。
可选的,所述方法还包括:
在所述ES检索***的第二节点上创建非活跃索引空间,所述第二节点的性能低于所述至少一个第一节点中的每个第一节点的性能,将所述第一活跃索引空间中的数据保存到所述非活跃索引空间中,以及释放所述第一活跃索引空间。
可选的,所述写入索引别名包括第一预设字符串、所述目标时间段的起始时间和结束时间。
可选的,所述第一空间名称包括所述第一预设字符串、所述第一活跃索引空间的编号、所述第一单位时间段的起始时间和结束时间。
可选的,所述方法还包括:
接收终端发送的读取请求,所述读取请求包括待读取数据的关键字和读取索引别名;
根据所述读取索引别名和所述待读取数据的关键字,获取所述待读取数据;
向所述终端发送所述待读取数据。
第二方面,本申请实施例提供了一种存储数据的装置,所述装置包括:
接收模块,用于接收终端发送的存储请求,所述存储请求包括待存储数据和写入索引别名,所述写入索引别名与目标时间段相对应,所述目标时间段包括多个单位时间段;
获取模块,用于获取与所述写入索引别名相对应的第一空间名称,所述第一空间名称是当前时间所在的第一单位时间段对应的第一活跃索引空间的空间名称,所述第一单位时间段位于所述目标时间段内;
存储模块,用于将所述待存储数据存储在所述第一空间名称对应的第一活跃索引空间中。
可选的,所述装置还包括:
第一创建模块,用于在所述第一单位时间段结束之前所述第一活跃索引空间的容量达到预设容量阈值时,在ES检索***的至少一个第一节点上创建所述第一单位时间段对应的第二活跃索引空间,将与所述写入索引别名相对应的第一空间名称更新为所述第二活跃索引空间的第二空间名称。
可选的,所述装置还包括:
第二创建模块,用于在所述第一单位时间段结束时,在ES检索***的至少一个第一节点上创建第二单位时间段对应的第三活跃索引空间,将与所述写入索引别名相对应的第一空间名称更新为所述第三活跃索引空间的第三空间名称,所述第二单位时间段是所述目标时间段内位于所述第一单位时间段之后且与所述第一单位时间段相邻的单位时间段。
可选的,所述存储模块,还用于:
在所述ES检索***的第二节点上创建非活跃索引空间,所述第二节点的性能低于所述至少一个第一节点中的每个第一节点的性能,将所述第一活跃索引空间中的数据保存到所述非活跃索引空间中,以及释放所述第一活跃索引空间。
可选的,所述写入索引别名包括第一预设字符串、所述目标时间段的起始时间和结束时间。
可选的,所述第一空间名称包括所述第一预设字符串、所述第一活跃索引空间的编号、所述第一单位时间段的起始时间和结束时间。
可选的,所述装置还包括:发送模块;
所述接收模块,还用于接收终端发送的读取请求,所述读取请求包括待读取数据的关键字和读取索引别名;
所述获取模块,还用于根据所述读取索引别名和所述待读取数据的关键字,获取所述待读取数据;
所述发送模块,用于向所述终端发送所述待读取数据。
第三方面,本申请提供一种非易失性计算机可读存储介质,用于存储计算机程序,所述计算机程序被处理器加载并执行,以实现第一方面或第一方面的任一种可选的方法的指令。
本申请实施例提供的技术方案可以包括以下有益效果:
由于可以获取与写入索引别名相对应的第一空间名称,这样可以将待存储数据存储在第一空间名称对应的第一活跃索引空间中。如此只需要设置目标时间段对应的写入索引别名并提供给用户即可,这样用户只需要记住一个写入索引别名即可,在输入写入索引别名时也不会出现输入错误的情况,避免了出现存储错误的情况发生。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请实施例提供的一种ES检索***的结构示意图;
图2是本申请实施例提供的一种存储数据的方法流程图;
图3是本申请实施例提供的另一种存储数据的方法流程图;
图4是本申请实施例提供的一种存储数据的装置结构示意图;
图5是本申请实施例提供的一种计算机设备结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
参见图1,本申请实施例提供了一种ES检索***,包括:
检索服务器、至少一个第一节点和至少一个第二节点;
检索服务器与至少一个第一节点中的每个第一节点之间建立有网络连接,检索服务器与至少一个第二节点中的每个第二节点之间建立有网络连接,该网络连接可以为有线连接或无线连接。
每个第一节点的性能可以高于每个第二节点的性能;在实现时,每个第一节点的处理器的处理速率高于每个第二节点的处理器的处理速率和/或每个第一节点的存储器的读写速率高于每个第二节点的存储器的读写速率。
该至少一个第一节点用于存储检索服务器最近接收到的数据,该至少一个第二节点用于存储从该至少一个第一节点中淘汰出来的数据。
由于检索服务器最近接收到的数据被查询到的概率较大,为此将最近接收到的数据存储在性能较好的第一节点上,可以提高查询数据的效率。
可选的,为了将最近的数据存储在第一节点中,在实现时,检测服务器可以在至少一个第一节点中建立一个单位时间段对应的活跃索引空间,接收用户终端发送的数据,将该数据存储在该活跃存储空间中;当活跃存储空间的空间达到预设容量阈值或该活跃索引空间对应的单位时间段结束时,将该活跃索引空间中的数据存储到至少一个第二节点中。
参见图2,本申请实施例提供了一种存储数据的方法,该方法可以应用于图1所示的ES检索***,该方法的执行主体可以为ES检索***中的检索服务器。该方法包括:
步骤201:接收终端发送的存储请求,该存储请求包括待存储数据和写入索引别名,该写入索引别名与目标时间段相对应,目标时间段包括多个单位时间段。
步骤202:获取与该写入索引别名相对应的第一空间名称,第一空间名称是当前时间所在的第一单位时间段对应的第一活跃索引空间的空间名称,第一单位时间段位于目标时间段内。
步骤203:将待存储数据存储在第一空间名称对应的第一活跃索引空间中。
在本申请实施例中,由于可以获取与写入索引别名相对应的第一空间名称,这样可以将待存储数据存储在第一空间名称对应的第一活跃索引空间中。如此只需要设置目标时间段对应的写入索引别名并提供给用户即可,这样用户只需要记住一个写入索引别名即可,在输入写入索引别名时也不会出现输入错误的情况,避免了出现存储错误的情况发生。
参见图3,本申请实施例提供了一种存储数据的方法,该方法可以应用于图1所示的ES检索***,该方法的执行主体可以为ES检索***中的检索服务器。该方法包括:
步骤301:创建写入索引别名,以及创建与写入索引别名相对应的第一个活跃索引空间的空间名称,写入索引别名与目标时间段相对应,目标时间段包括多个单位时间段。
目标时间段是位于当前时间之后一个预设时间段,例如,可以将接下来的连续七天时间定义为目标时间段,每天可以为作为一个单位时间段。
而本步骤是在目标时间段开始之前开始执行,这样在目标时间段内,检索服务器就可以将接收到的数据存储到与写入索引别名相对应的活跃索引空间中。
在本步骤中,可以生成写入索引别名,该写入索引别名包括第一预设字符串、目标时间段的起始时间和结束时间;根据活跃索引模板在该至少一个第一节点中创建目标时间段内的第一个单位时间段对应的第一个活跃索引空间,设置该写入索引别名与第一个活跃索引空间的空间名称相对应,第一个活跃索引空间的空间名称包括第一预设字符串、第一个活跃索引空间的编号、第一个单位时间段的起始时间和结束时间。
可选的,活跃索引模板中定义了备份数目、每个第一节点中包括的存储分片数目和活跃索引空间包括的存储分片数目。
例如,在本实施例中提供了如下所示的活跃索引模板,该活跃索引模板定义了活跃索引空间包括的存储分片数目为3,即下述活跃索引模板中的“number_of_shards:3”;备份数目为1,即下述活跃索引模板中的“number_of_replicas:1”;每个第一节点中包括的存储分片数目为2,即下述活跃索引模板中的“routing.sllocation.total_shards_per_node:2”。
这样检索服务器从上述活跃索引模板中读取备份数目为1、活跃索引空间包括的存储分片数目3和每个第一节点的存储分片数目2;根据备份数目2确定需要创建两个活跃索引空间,其中一个作为另一个的备份;根据存储分片数目3确定创建包括三个存储分片的活跃存储空间,根据存储分片数目2确定每个第一节点包括两个存储分片。因此检索服务器可以选择三个第一节点,在该三个第一节点上创建一个活跃索引空间,该三个第一节点中的每个第一节点上包括该活跃索引空间中的一个存储分片;然后再在该三个第一节点上创建一个作为备份的另一个活跃索引空间,该三个第一节点中的每个第一节点上包括该另一个活跃索引空间中的一个存储分片。
可选的,所谓设置该写入索引别名与第一个活跃索引空间的空间名称相对应的操作,在实现时,可以将该写入索引别名与第一个活跃索引空间的空间名称对应保存在写入索引别名与空间名称的对应关系中。
检索服务器执行完本步骤之后,在进入目标时间段内,用户需要存储数据时可以向其终端输入写入索引别名,终端可以向检索服务器发送存储请求,该存储请求包括待存储数据和该写入索引别名。
由于目标时间段对应一个写入索引别名,只需要向用户提供一个写入索引别名,不需要提供目标时间段内的每个单位时间段对应的活跃索引空间的空间名称,这样用户只需要记住一个写入索引别名即可,在输入写入索引别名时也不会出现输入错误的情况,避免了出现存储错误的情况发生。
步骤302:接收存储请求,该存储请求包括待存储数据和写入索引别名。
步骤303:获取与该写入索引别名相对应的第一空间名称,第一空间名称是当前时间所在的第一单位时间段对应的第一活跃索引空间的空间名称,第一单位时间段位于目标时间段内。
如果当前时间位于第一个单位时间段内,则第一单位时间段为第一个单位时间段,第一活跃索引空间为第一个单位时间段对应的活跃索引空间。
在本步骤中,可以根据该写入索引别名,从写入索引别名与空间名称的对应关系中获取对应的空间名称作为第一活跃索引空间的第一空间名称。
步骤304:将待存储数据存储在第一空间名称对应的第一活跃索引空间中。
可选的,由于第一活跃索引空间还有对应的作为备份的活跃索引空间,所以还需要将待存储数据存储在该备份的活跃索引空间中。
可选的,检索服务器还实时对第一活跃索引空间进行检测,在检测到第一单位时间段结束之前第一活跃索引空间的容量达到预设容量阈值时,在至少一个第一节点上创建第一单位时间段对应的第二活跃索引空间,将与该写入索引别名相对应的第一空间名称更新为第二活跃索引空间的第二空间名称。
可以根据活跃索引模板在至少一个第一节点上创建第一单位时间段对应的第二活跃索引空间,具体创建过程可能参见上述相关内容,在此不再详细说明。
所谓将与该写入索引别名相对应的第一空间名称更新为第二活跃索引空间的第二空间名称的操作,在实现时,可以在写入索引别名与空间名称的对应关系中将该写入索引别名对应的第一空间名称更新为第二活跃索引空间的第二空间名称。
可选的,第二空间名称包括第一预设字符串、第二活跃索引空间的编号、第一目标时间段的起始时间和结束时间。
可选的,检索服务器在检测到第一单位时间段结束时,在至少一个第一节点上创建第二单位时间段对应的第三活跃索引空间,将与该写入索引别名相对应的第一空间名称更新为第三活跃索引空间的第三空间名称,第二单位时间段是目标时间段内位于第一单位时间段之后且与第一单位时间段相邻的单位时间段。
可以根据活跃索引模板在至少一个第一节点上创建第二单位时间段对应的第三活跃索引空间,具体创建过程可能参见上述相关内容,在此不再详细说明。
所谓将与该写入索引别名相对应的第一空间名称更新为第三活跃索引空间的第三空间名称的操作,在实现时,可以在写入索引别名与空间名称的对应关系中将该写入索引别名对应的第一空间名称更新为第三活跃索引空间的第三空间名称。
可选的,第三空间名称包括第一预设字符串、第三活跃索引空间的编号、第二目标时间段的起始时间和结束时间。
可选的,在创建第二活跃索引空间和第三活跃索引空间后,在一个第二节点上创建非活跃索引空间,将第一活跃索引空间中的数据保存到非活跃索引空间中,以及释放第一活跃索引空间。
可选的,可以将第一活跃索引空间中的数据先压缩成一个数据包,然后将该数据包保存到非活跃索引空间中。
其中,将第一活跃索引空间中的数据淘汰到第二节点上的非活跃索引空间中,这样可以释放第一活跃索引空间,使得第一节点用于存储最近接收的数据,充分发挥第一节点的机器性能。
可选的,可以根据非活跃索引模板在第二节点上建立非活跃索引空间。
非活跃索引模板中定义了非活跃索引空间包括的存储分片数目和备份数目。
例如,在实施例中提供了如下所示的非活跃索引模板,该非活跃索引模板定义了非活跃索引空间包括的存储分片数目为1,即下述模板中的“number_of_shards:1”;备份数目为0,即下述模板中的“number_of_replicas:0”。
这样检索服务器从上述非活跃索引模板中读取备份数目为0、非活跃索引空间包括的存储分片数目1;根据备份数目0和存储分片数目1确定需要在一个第二节点上创建包括一个存储分片的非活跃索引空间。
可选的,用户当需要读取数据时,用户可以向其终端输入读取索引别名和待读取数据的关键字。终端向检索服务器发送读取请求,该读取请求包括待读取数据的关键字和读取索引别名。
检索服务器接收终端发送的读取请求,根据该读取索引别名和该待读取数据的关键字,获取待读取数据;向终端发送待读取数据。
其中,读取索引别名包括第二预设字符串。检索服务器根据该读取索引别名确定需要读取数据,根据待读取数据的关键字,查询该至少一个第一节点;如果查询到对应的待读取数据,向终端发送待读取数据,如果没有查询到对应的待读取数据,根据待读取数据的关键字从该至少一个第二节点中查询对应的待读取数据,向终端发送待读取数据。
在本申请实施例中,在目标时间段开始之前创建写入索引别名,设置该写入索引别名与目标时间段内的第一单位时间段对应的第一活跃索引空间的第一空间名称相对应;这样在接收到包括该写入索引别名的存储请求时,获取与该写入索引别名相对应的第一空间名称,将待存储数据存储在第一空间名称对应的第一活跃索引空间中。如此只需要设置目标时间段对应的写入索引别名并提供给用户即可,这样用户只需要记住一个写入索引别名即可,在输入写入索引别名时也不会出现输入错误的情况,避免了出现存储错误的情况发生。由于减小用户记忆量,也方便了用户使用。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
参见图4,本申请实施例提供了一种存储数据的装置400,所述装置400包括:
接收模块401,用于接收终端发送的存储请求,所述存储请求包括待存储数据和写入索引别名,所述写入索引别名与目标时间段相对应,所述目标时间段包括多个单位时间段;
获取模块402,用于获取与所述写入索引别名相对应的第一空间名称,所述第一空间名称是当前时间所在的第一单位时间段对应的第一活跃索引空间的空间名称,所述第一单位时间段位于所述目标时间段内;
存储模块403,用于将所述待存储数据存储在所述第一空间名称对应的第一活跃索引空间中。
可选的,所述装置400还包括:
第一创建模块,用于在所述第一单位时间段结束之前所述第一活跃索引空间的容量达到预设容量阈值时,在ES检索***的至少一个第一节点上创建所述第一单位时间段对应的第二活跃索引空间,将与所述写入索引别名相对应的第一空间名称更新为所述第二活跃索引空间的第二空间名称。
可选的,所述装置400还包括:
第二创建模块,用于在所述第一单位时间段结束时,在ES检索***的至少一个第一节点上创建第二单位时间段对应的第三活跃索引空间,将与所述写入索引别名相对应的第一空间名称更新为所述第三活跃索引空间的第三空间名称,所述第二单位时间段是所述目标时间段内位于所述第一单位时间段之后且与所述第一单位时间段相邻的单位时间段。
可选的,所述存储模块403,还用于:
在所述ES检索***的第二节点上创建非活跃索引空间,所述第二节点的性能低于所述至少一个第一节点中的每个第一节点的性能,将所述第一活跃索引空间中的数据保存到所述非活跃索引空间中,以及释放所述第一活跃索引空间。
可选的,所述写入索引别名包括第一预设字符串、所述目标时间段的起始时间和结束时间。
可选的,所述第一空间名称包括所述第一预设字符串、所述第一活跃索引空间的编号、所述第一单位时间段的起始时间和结束时间。
可选的,所述装置400还包括:发送模块;
所述接收模块401,还用于接收终端发送的读取请求,所述读取请求包括待读取数据的关键字和读取索引别名;
所述获取模块402,还用于根据所述读取索引别名和所述待读取数据的关键字,获取所述待读取数据;
所述发送模块,用于向所述终端发送所述待读取数据。
在本申请实施例中,由于可以获取与写入索引别名相对应的第一空间名称,这样可以将待存储数据存储在第一空间名称对应的第一活跃索引空间中。如此只需要设置目标时间段对应的写入索引别名并提供给用户即可,这样用户只需要记住一个写入索引别名即可,在输入写入索引别名时也不会出现输入错误的情况,避免了出现存储错误的情况发生。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备可以是上述实施例中的检索服务器,该计算机设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)501和一个或一个以上的存储器502,其中,所述存储器502中存储有至少一条指令,所述至少一条指令由所述处理器501加载并执行以实现下述存储数据的方法步骤:
接收终端发送的存储请求,所述存储请求包括待存储数据和写入索引别名,所述写入索引别名与目标时间段相对应,所述目标时间段包括多个单位时间段;
获取与所述写入索引别名相对应的第一空间名称,所述第一空间名称是当前时间所在的第一单位时间段对应的第一活跃索引空间的空间名称,所述第一单位时间段位于所述目标时间段内;
将所述待存储数据存储在所述第一空间名称对应的第一活跃索引空间中。
可选的,所述方法还包括:
在所述第一单位时间段结束之前所述第一活跃索引空间的容量达到预设容量阈值时,在ES检索***的至少一个第一节点上创建所述第一单位时间段对应的第二活跃索引空间,将与所述写入索引别名相对应的第一空间名称更新为所述第二活跃索引空间的第二空间名称。
可选的,所述方法还包括:
在所述第一单位时间段结束时,在ES检索***的至少一个第一节点上创建第二单位时间段对应的第三活跃索引空间,将与所述写入索引别名相对应的第一空间名称更新为所述第三活跃索引空间的第三空间名称,所述第二单位时间段是所述目标时间段内位于所述第一单位时间段之后且与所述第一单位时间段相邻的单位时间段。
可选的,所述方法还包括:
在所述ES检索***的第二节点上创建非活跃索引空间,所述第二节点的性能低于所述至少一个第一节点中的每个第一节点的性能,将所述第一活跃索引空间中的数据保存到所述非活跃索引空间中,以及释放所述第一活跃索引空间。
可选的,所述写入索引别名包括第一预设字符串、所述目标时间段的起始时间和结束时间。
可选的,所述第一空间名称包括所述第一预设字符串、所述第一活跃索引空间的编号、所述第一单位时间段的起始时间和结束时间。
可选的,所述方法还包括:
接收终端发送的读取请求,所述读取请求包括待读取数据的关键字和读取索引别名;
根据所述读取索引别名和所述待读取数据的关键字,获取所述待读取数据;
向所述终端发送所述待读取数据。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (14)
1.一种存储数据的方法,其特征在于,所述方法应用于ES检索***,所述ES检索***包括多个活跃索引空间,每个活跃索引空间对应一个单位时间段,所述方法包括:
接收终端发送的存储请求,所述存储请求包括待存储数据和写入索引别名,所述写入索引别名与目标时间段相对应,所述目标时间段包括多个单位时间段;
获取与所述写入索引别名相对应的第一空间名称,所述第一空间名称是当前时间所在的第一单位时间段对应的第一活跃索引空间的空间名称,所述第一单位时间段位于所述目标时间段内;
将所述待存储数据存储在所述第一空间名称对应的第一活跃索引空间中;
在所述第一单位时间段结束之前所述第一活跃索引空间的容量达到预设容量阈值时,在ES检索***的至少一个第一节点上创建所述第一单位时间段对应的第二活跃索引空间,将与所述写入索引别名相对应的第一空间名称更新为所述第二活跃索引空间的第二空间名称;
其中,所述活跃索引空间根据活跃索引模板进行创建,所述活跃索引模板定义备份数目、每个第一节点中包括的存储分片数目和所述活跃索引空间包括的存储分片数目。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一单位时间段结束时,在ES检索***的至少一个第一节点上创建第二单位时间段对应的第三活跃索引空间,将与所述写入索引别名相对应的第一空间名称更新为所述第三活跃索引空间的第三空间名称,所述第二单位时间段是所述目标时间段内位于所述第一单位时间段之后且与所述第一单位时间段相邻的单位时间段。
3.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
在所述ES检索***的第二节点上创建非活跃索引空间,所述第二节点的性能低于所述至少一个第一节点中的每个第一节点的性能,将所述第一活跃索引空间中的数据保存到所述非活跃索引空间中,以及释放所述第一活跃索引空间。
4.如权利要求1或2所述的方法,其特征在于,所述写入索引别名包括第一预设字符串、所述目标时间段的起始时间和结束时间。
5.如权利要求4所述的方法,其特征在于,所述第一空间名称包括所述第一预设字符串、所述第一活跃索引空间的编号、所述第一单位时间段的起始时间和结束时间。
6.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
接收终端发送的读取请求,所述读取请求包括待读取数据的关键字和读取索引别名;
根据所述读取索引别名和所述待读取数据的关键字,获取所述待读取数据;
向所述终端发送所述待读取数据。
7.一种存储数据的装置,其特征在于,所述装置应用于ES检索***,所述ES检索***包括多个活跃索引空间,每个活跃索引空间对应一个单位时间段,所述装置包括:
接收模块,用于接收终端发送的存储请求,所述存储请求包括待存储数据和写入索引别名,所述写入索引别名与目标时间段相对应,所述目标时间段包括多个单位时间段;
获取模块,用于获取与所述写入索引别名相对应的第一空间名称,所述第一空间名称是当前时间所在的第一单位时间段对应的第一活跃索引空间的空间名称,所述第一单位时间段位于所述目标时间段内;
存储模块,用于将所述待存储数据存储在所述第一空间名称对应的第一活跃索引空间中;
第一创建模块,用于在所述第一单位时间段结束之前所述第一活跃索引空间的容量达到预设容量阈值时,在ES检索***的至少一个第一节点上创建所述第一单位时间段对应的第二活跃索引空间,将与所述写入索引别名相对应的第一空间名称更新为所述第二活跃索引空间的第二空间名称;
其中,所述活跃索引空间根据活跃索引模板进行创建,所述活跃索引模板定义备份数目、每个第一节点中包括的存储分片数目和所述活跃索引空间包括的存储分片数目。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
第二创建模块,用于在所述第一单位时间段结束时,在ES检索***的至少一个第一节点上创建第二单位时间段对应的第三活跃索引空间,将与所述写入索引别名相对应的第一空间名称更新为所述第三活跃索引空间的第三空间名称,所述第二单位时间段是所述目标时间段内位于所述第一单位时间段之后且与所述第一单位时间段相邻的单位时间段。
9.如权利要求7或8所述的装置,其特征在于,所述存储模块,还用于:
在所述ES检索***的第二节点上创建非活跃索引空间,所述第二节点的性能低于所述至少一个第一节点中的每个第一节点的性能,将所述第一活跃索引空间中的数据保存到所述非活跃索引空间中,以及释放所述第一活跃索引空间。
10.如权利要求7或8所述的装置,其特征在于,所述写入索引别名包括第一预设字符串、所述目标时间段的起始时间和结束时间。
11.如权利要求10所述的装置,其特征在于,所述第一空间名称包括所述第一预设字符串、所述第一活跃索引空间的编号、所述第一单位时间段的起始时间和结束时间。
12.如权利要求7或8所述的装置,其特征在于,所述装置还包括:发送模块;
所述接收模块,还用于接收终端发送的读取请求,所述读取请求包括待读取数据的关键字和读取索引别名;
所述获取模块,还用于根据所述读取索引别名和所述待读取数据的关键字,获取所述待读取数据;
所述发送模块,用于向所述终端发送所述待读取数据。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器存储有至少一条指令,所述处理器加载并执行所述至少一条指令以实现权利要求1-6任一项所述的存储数据的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序被处理器加载并执行,以实现权利要求1-6任一项所述的存储数据的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810828663.0A CN110765125B (zh) | 2018-07-25 | 2018-07-25 | 一种存储数据的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810828663.0A CN110765125B (zh) | 2018-07-25 | 2018-07-25 | 一种存储数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110765125A CN110765125A (zh) | 2020-02-07 |
CN110765125B true CN110765125B (zh) | 2022-09-20 |
Family
ID=69328131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810828663.0A Active CN110765125B (zh) | 2018-07-25 | 2018-07-25 | 一种存储数据的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765125B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090786B (zh) * | 2020-03-19 | 2020-06-26 | 上海飞旗网络技术股份有限公司 | 基于数据压缩的业务数据动态存储方法及装置 |
CN113254451B (zh) * | 2021-06-01 | 2022-04-19 | 北京城市网邻信息技术有限公司 | 一种数据索引构建方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104504103A (zh) * | 2014-12-04 | 2015-04-08 | 中移全通***集成有限公司 | 一种车辆轨迹点***性能优化方法及***、信息采集器、数据库模型 |
CN107092437A (zh) * | 2016-02-17 | 2017-08-25 | 杭州海康威视数字技术股份有限公司 | 数据写入、读取方法及装置、云存储*** |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102999519B (zh) * | 2011-09-15 | 2017-05-17 | 上海盛付通电子商务有限公司 | 一种数据库的读写方法及*** |
CN103324642B (zh) * | 2012-03-23 | 2016-12-14 | 日电(中国)有限公司 | 为数据建立索引的***和方法以及数据查询方法 |
US9634904B2 (en) * | 2012-12-13 | 2017-04-25 | Level 3 Communications, Llc | Framework supporting content delivery with hybrid content delivery services |
US20140344399A1 (en) * | 2012-12-13 | 2014-11-20 | Level 3 Communications, Llc | Origin Server-Side Channel In A Content Delivery Framework |
CN106250303A (zh) * | 2016-07-28 | 2016-12-21 | 北京北信源软件股份有限公司 | 业务日志收集及预警***和业务日志收集及预警方法 |
CN106407376B (zh) * | 2016-09-12 | 2019-12-20 | 杭州数梦工场科技有限公司 | 重建索引方法及装置 |
CN107729570B (zh) * | 2017-11-20 | 2021-06-08 | 北京百度网讯科技有限公司 | 用于服务器的数据迁移方法和装置 |
-
2018
- 2018-07-25 CN CN201810828663.0A patent/CN110765125B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104504103A (zh) * | 2014-12-04 | 2015-04-08 | 中移全通***集成有限公司 | 一种车辆轨迹点***性能优化方法及***、信息采集器、数据库模型 |
CN107092437A (zh) * | 2016-02-17 | 2017-08-25 | 杭州海康威视数字技术股份有限公司 | 数据写入、读取方法及装置、云存储*** |
Non-Patent Citations (2)
Title |
---|
SKA区域数据中心的数据存储及成像处理研究;王玲玲;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180415(第04(2018)期);I137-55 * |
Template-based migration between data centers using distributed hash tables;Mian Zheng 等;《2015 12th International Conference on Fuzzy Systems and Knowledge Discovery (FSKD)》;20160114;2443-2447 * |
Also Published As
Publication number | Publication date |
---|---|
CN110765125A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3678346B1 (en) | Blockchain smart contract verification method and apparatus, and storage medium | |
CN107911249B (zh) | 一种网络设备的命令行发送方法、装置和设备 | |
US11269902B2 (en) | Time series data management method, device, and apparatus | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN106874281B (zh) | 实现数据库读写分离的方法和装置 | |
CN110427386B (zh) | 数据处理方法、装置及计算机存储介质 | |
CN107426041B (zh) | 一种解析命令的方法和装置 | |
CN105653198A (zh) | 数据处理方法及装置 | |
CN112162773B (zh) | 差分升级方法及装置、存储介质、终端 | |
CN107547635B (zh) | 大数据集群主机ip地址修改方法及装置 | |
CN110968478A (zh) | 日志采集方法、服务器及计算机存储介质 | |
CN110765125B (zh) | 一种存储数据的方法及装置 | |
CN112100152A (zh) | 业务数据处理方法、***、服务器和可读存储介质 | |
CN108038253B (zh) | 一种日志查询的处理方法及装置 | |
CN108776665B (zh) | 一种数据处理方法及装置 | |
CN113886496A (zh) | 区块链的数据同步方法、装置、计算机设备和存储介质 | |
CN110955460A (zh) | 一种服务进程启动方法、装置、电子设备和存储介质 | |
CN111552438A (zh) | 一种对象写入的方法、装置、服务器和存储介质 | |
CN103092955A (zh) | 检查点操作方法、装置及*** | |
CN112783866B (zh) | 数据读取方法、装置、计算机设备和存储介质 | |
CN106446080B (zh) | 数据查询的方法、查询服务设备、客户端设备和数据*** | |
CN108173892B (zh) | 云端镜像操作方法和装置 | |
CN111339170A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN111371818B (zh) | 一种数据请求的验证方法、装置及设备 | |
CN109254870B (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 |