CN116414772A - 数据转储方法、装置、设备及存储介质 - Google Patents
数据转储方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116414772A CN116414772A CN202111680420.5A CN202111680420A CN116414772A CN 116414772 A CN116414772 A CN 116414772A CN 202111680420 A CN202111680420 A CN 202111680420A CN 116414772 A CN116414772 A CN 116414772A
- Authority
- CN
- China
- Prior art keywords
- data
- engine
- dump
- target search
- search analysis
- 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 78
- 238000004458 analytical method Methods 0.000 claims abstract description 193
- 238000013500 data storage Methods 0.000 claims description 34
- 230000014759 maintenance of location Effects 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 16
- 238000007906 compression Methods 0.000 abstract description 9
- 230000006835 compression Effects 0.000 abstract description 9
- 230000005540 biological transmission Effects 0.000 abstract description 7
- 230000002159 abnormal effect Effects 0.000 abstract description 4
- 238000004891 communication Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010223 real-time analysis 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/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1737—Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于计算机技术领域,公开了一种数据转储方法、装置、设备及存储介质。本发明通过向目标搜索分析引擎发送数据转储请求,以使目标搜索分析引擎反馈引擎快照数据;查找历史转储记录,根据历史转储记录确定索引起始标识;根据索引起始标识及引擎快照数据确定待转储数据;将待转储数据写入列式存储文件进行存储。由于在获取待转储数据时并非直接从目标搜索分析引擎中读取数据,而是根据索引起始标识及引擎快照数据确定待转储数据,避免了数据传输中断等异常现象对数据转储的影响,且最终将待转储数据进行存储时是将其写入高压缩率的列式存储文件中进行存储,提高了对数据的压缩率,使得硬件资源不变的情况下,可以存储更多的数据。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据转储方法、装置、设备及存储介质。
背景技术
Elasticsearch作为开源首选的分布式搜索分析引擎,通过一套***即可轻松满足用户的日志实时分析、全文检索、结构化数据分析等多种需求,可以大幅降低大数据时代挖掘数据价值的成本。但是,由于Elasticsearch的检索机制严重依赖文件***缓存,对内存要求极高,在数据量不断提升的的情况下,性能会越来越差,为了保证性能,Elasticsearch会将数据进行转储,而用户由于硬件资源的限制,一般无法存储较长周期的数据,部分用户设置仅能保留搜索分析引擎中15天内的数据,更多的历史数据只能删除。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种数据转储方法、装置、设备及存储介质,旨在解决现有技术因硬件资源限制无法存储较长周期的数据的技术问题。
为实现上述目的,本发明提供了一种数据转储方法,所述方法包括以下步骤:
向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据;
查找历史转储记录,根据所述历史转储记录确定索引起始标识;
根据所述索引起始标识及所述引擎快照数据确定待转储数据;
将所述待转储数据写入列式存储文件进行存储。
可选的,所述向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据的步骤之前,还包括:
获取目标搜索分析引擎的引擎状态;
根据所述引擎状态确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引;
若存在,则将具有新增转储数据的引擎索引作为目标引擎索引,并执行所述所述向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据的步骤;
相应的,所述查找历史转储记录,根据所述历史转储记录确定索引起始标识的步骤,包括:
查找历史转储记录,根据所述历史转储记录确定所述目标引擎索引对应的索引起始标识。
可选的,所述获取目标搜索分析引擎的引擎状态的步骤,包括:
获取预设检测间隔时长,以所述预设检测间隔时长为周期循环获取目标搜索分析引擎的引擎状态。
可选的,所述根据所述引擎状态确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引的步骤,包括:
根据所述引擎状态确定所述目标搜索分析引擎中各引擎索引对应的转储标记数据标识;
获取历史转储记录,根据所述历史转储记录确定各引擎索引对应的已转储数据标识;
将所述转储标记数据与所述已转储数据进行对比,确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引。
可选的,所述根据所述引擎状态确定所述目标搜索分析引擎中各引擎索引对应的转储标记数据标识的步骤,包括:
根据所述引擎状态确定所述目标搜索分析引擎中的文档数据标识;
获取各文档数据标识对应的数据生成时刻,并根据所述数据生成时刻确定数据留存时长;
将所述数据留存时长大于或等于预设时长阈值的文档数据标识作为转储标记数据标识;
依据各转储标记数据标识对应的引擎索引将所述转储标记数据标识进行分组,获得各引擎索引对应的转储标记数据标识。
可选的,所述向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据的步骤,包括:
检测数据转储设备集群中是否存在空闲的任务执行节点;
若存在空闲的任务执行节点,则从所述空闲的任务执行节点中确定目标任务执行节点;
通过所述目标任务执行节点向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据。
可选的,所述检测数据转储设备集群中是否存在空闲的任务执行节点的步骤之后,还包括:
若不存在空闲的任务执行节点,则通过所述数据转储设备集群中的集群主节点向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据。
可选的,所述根据所述索引起始标识及所述引擎快照数据确定待转储数据的步骤,包括:
解析所述引擎快照数据,获得所述引擎快照数据中的数据起始标识;
若所述数据起始标识小于或等于所述索引起始标识,则根据所述索引起始标识从所述引擎快照数据中读取待转储数据。
可选的,所述解析所述引擎快照数据,获得所述引擎快照数据中的数据起始标识的步骤之前,还包括:
将所述引擎快照数据存储至预设快照库中;
相应的,所述解析所述引擎快照数据,获得所述引擎快照数据中的数据起始标识的步骤之后,还包括:
若所述数据起始标识大于所述索引起始标识,则从所述预设快照库中读取所述目标搜索分析引擎对应的历史快照数据;
根据所述索引起始标识从所述引擎快照数据及所述历史快照数据中读取待转储数据。
可选的,所述将所述待转储数据写入列式存储文件进行存储的步骤,包括:
根据所述待转储数据确定目标文件标识;
根据所述目标文件标识在预设存储文件***中查找对应的列式存储文件;
获取所述待存储数据的待存数据大小,并获取所述列式存储文件对应的数据存储余量;
若所述数据存储余量大于或等于所述待存数据大小,则将所述待存储数据写入所述列式存储文件中,获得更新后的列式存储文件;
将所述更新后的列式存储文件发送至所述预设存储文件***进行存储。
可选的,所述获取所述待存储数据的待存数据大小,并获取所述列式存储文件对应的数据存储余量的步骤之后,还包括:
若所述数据存储余量小于所述待存数据大小,则根据所述数据存储余量对所述待存储数据进行分组,获得第一待存数据子集及第二待存数据子集;
将所述第一待存数据子集中的数据写入所述列式存储文件中,获得更新后的列式存储文件;
根据所述第二待存数据子集构建第二列式存储文件;
将所述更新后的列式存储文件及所述第二列式存储文件发送至所述预设存储文件***进行存储。
可选的,所述向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据的步骤,包括:
向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎根据读取到的转储标记数据及历史快照数据确定待转储数据,并根据所述待转储数据反馈引擎快照数据。
此外,为实现上述目的,本发明还提出一种数据转储装置,所述数据转储装置包括以下模块:
数据获取模块,用于向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据;
标识确定模块,用于查找历史转储记录,根据所述历史转储记录确定索引起始标识;
数据确定模块,用于根据所述索引起始标识及所述引擎快照数据确定待转储数据;
数据存储模块,用于将所述待转储数据写入列式存储文件进行存储。
可选的,所述数据获取模块,还用于获取目标搜索分析引擎的引擎状态;根据所述引擎状态确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引;若存在,则将具有新增转储数据的引擎索引作为目标引擎索引,并执行所述所述向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据的步骤;
所述标识确定模块,还用于查找历史转储记录,根据所述历史转储记录确定所述目标引擎索引对应的索引起始标识。
可选的,所述数据获取模块,还用于获取预设检测间隔时长,以所述预设检测间隔时长为周期循环获取目标搜索分析引擎的引擎状态。
可选的,所述数据获取模块,还用于根据所述引擎状态确定所述目标搜索分析引擎中各引擎索引对应的转储标记数据标识;获取历史转储记录,根据所述历史转储记录确定各引擎索引对应的已转储数据标识;将所述转储标记数据与所述已转储数据进行对比,确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引。
可选的,所述数据获取模块,还用于根据所述引擎状态确定所述目标搜索分析引擎中的文档数据标识;获取各文档数据标识对应的数据生成时刻,并根据所述数据生成时刻确定数据留存时长;将所述数据留存时长大于或等于预设时长阈值的文档数据标识作为转储标记数据标识;依据各转储标记数据标识对应的引擎索引将所述转储标记数据标识进行分组,获得各引擎索引对应的转储标记数据标识。
可选的,所述数据获取模块,还用于检测数据转储设备集群中是否存在空闲的任务执行节点;若存在空闲的任务执行节点,则从所述空闲的任务执行节点中确定目标任务执行节点;通过所述目标任务执行节点向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据。
此外,为实现上述目的,本发明还提出一种数据转储设备,所述数据转储设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的数据转储程序,所述数据转储程序被处理器执行时实现如上所述的数据转储方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据转储程序,所述数据转储程序执行时实现如上所述的数据转储方法的步骤。
本发明通过向目标搜索分析引擎发送数据转储请求,以使目标搜索分析引擎反馈引擎快照数据;查找历史转储记录,根据历史转储记录确定索引起始标识;根据索引起始标识及引擎快照数据确定待转储数据;将待转储数据写入列式存储文件进行存储。由于在获取待转储数据时并非直接从目标搜索分析引擎中读取数据,而是根据索引起始标识及引擎快照数据确定待转储数据,避免了数据传输中断等异常现象对数据转储的影响,且最终将待转储数据进行存储时是将其写入高压缩率的列式存储文件中进行存储,提高了对数据的压缩率,使得硬件资源不变的情况下,可以存储更多的数据。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的电子设备的结构示意图;
图2为本发明数据转储方法第一实施例的流程示意图;
图3为本发明数据转储方法第二实施例的流程示意图;
图4为本发明数据转储方法第三实施例的流程示意图;
图5为本发明数据转储装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的数据转储设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及数据转储程序。
在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在数据转储设备中,所述电子设备通过处理器1001调用存储器1005中存储的数据转储程序,并执行本发明实施例提供的数据转储方法。
本发明实施例提供了一种数据转储方法,参照图2,图2为本发明一种数据转储方法第一实施例的流程示意图。
本实施例中,所述数据转储方法包括以下步骤:
步骤S10:向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据。
需要说明的是,本实施例的执行主体可以是所述数据转储设备,所述数据转储设备可以是服务器或云服务器等电子设备,还可以是其他可实现相同或相似功能的设备,本实施例对此不加以限制,在本实施例及下述各实施例中,以数据转储设备为例对本发明数据转储方法进行说明。
需要说明的是,目标搜索分析引擎可以是需要进行数据转储的Elasticsearch搜索分析引擎。在需要对目标搜索分析引擎中的数据进行数据转储备份时,数据转储设备可以向目标搜索分析引擎发送数据转储请求,则目标搜索分析引擎在接收到数据转储请求时会根据引擎内存储的数据生成引擎快照数据,然后将引擎快照数据反馈至数据转储设备。
可以理解的是,目标搜索分析引擎是应用在大数据领域的,而在大数据领域一般数据量级会极大,传统的通过调用数据请求接口读取需要转储的数据因为数据量级极大,读取可能会耗费大量性能,且读取过程中还可能会出现数据传输中断等现象,而一旦读取失败,则需要重新调用数据请求接口读取数据,而再次读取又需耗费大量性能,并不适用于大数据场景。因此,可以采用数据快照技术,通过接收目标搜索分析引擎生成的引擎快照数据,目标搜索分析引擎仅需生成引擎快照数据,并将生成的引擎快照数据发送至数据转储设备即可,且即使文件传输失败,也仅需要重新尝试发送引擎快照数据,而不必重新尝试读取数据生成引擎快照数据。
进一步的,为了保证数据转储方法的顺利执行,可以并非使用单台的数据转储设备,而是采用由多台数据转储设备构成的集群协同执行数据转储方法,则此时本实施例所述步骤S10,可以包括:
检测数据转储设备集群中是否存在空闲的任务执行节点;
若存在空闲的任务执行节点,则从所述空闲的任务执行节点中确定目标任务执行节点;
通过所述目标任务执行节点向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据。
需要说明的是,若采用由多台数据转储设备构成的数据转储设备集群协同执行数据转储方法,则此时本实施例的执行主体可以变更为数据转储设备集群中的集群管理节点,即集群主节点,通过集群主节点检测是否需要对目标搜索分析引擎进行数据转储,在需要对目标搜索分析引擎进行数据转储时,可以检测数据转储设备集群中是否存在空闲的任务执行节点,若存在,则通从空闲的任务执行节点中选取目标任务执行节点,然后通过目标任务执行节点向目标搜索分析引擎发送数据转储请求以及执行后续步骤。其中,任务执行节点可以是除集群主节点之外的其他集群节点。
可以理解的是,将数据转储设备由单台设备提供服务转为由多台设备构建的集群协同可以避免因单台设备宕机导致的数据转储无法执行,从而提高本发明数据转储方法的可靠性。
在具体实现中,数据转储设备集群可能会同时管理多台数据分析引擎的数据转储,可能会出现所有任务执行节点均有任务在执行的现象出现,需要等待较长的时间才会有空闲的任务执行节点,为了避免等待过长时间导致数据转储不及时,此时可以直接由集群主节点进行数据转储,因此,本实施例所述检测数据转储设备集群中是否存在空闲的任务执行节点的步骤之后,还可以包括:
若不存在空闲的任务执行节点,则通过所述数据转储设备集群中的集群主节点向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据。
步骤S20:查找历史转储记录,根据所述历史转储记录确定索引起始标识。
需要说明的是,历史转储记录可以是此前对目标搜索分析引擎进行数据转储时生成的记录。索引起始标识为本次进行数据转储时起始位置数据的数据标识。
在实际使用中,根据历史转储记录可以确定距离当前时刻最近一次对目标搜索分析引擎进行数据转储时对应的数据偏移位置,根据数据偏移位置即可确定本次进行数据转储时起始位置的数据,读取起始位置的数据对应的数据标识即可获得索引起始标识。其中,数据偏移位置可以是最近一次进行数据转储时转储的最后一条数据的数据标识。
例如:假设目标搜索分析引擎中的数据对应的数据标识为自增型的整数标识,根据历史转储记录确定最近一次进行数据转储时转储的最后一条数据的数据标识为10000,则此时数据偏移位置为10000,则此时的起始位置应该是数据标识为10001的数据,则此时索引起始标识为10001。
步骤S30:根据所述索引起始标识及所述引擎快照数据确定待转储数据。
可以理解的是,引擎快照数据是对目标搜索分析引擎中数据的拷贝,解析引擎快照数据即可获得目标搜索分析引擎中的数据。根据索引起始标识及引擎快照数据确定待转储数据可以是解析引擎快照数据,获得目标搜索分析引擎中的数据,然后查找索引起始标识对应的数据作为起始数据,从起始数据开始顺序读取目标搜索分析引擎中的数据,从而获得待转储数据。
例如:假设解析引擎快照数据,获得的数据的数据标识为1-15000,此时索引起始标识为14001,则此时可以将数据标识为14001-15000的数据作为待转储数据。
步骤S40:将所述待转储数据写入列式存储文件进行存储。
需要说明的是,列式存储文件是一种高压缩比和高读取效率的数据存储文件,将待转储数据进行转化,写入列式存储文件中进行存储,可以增加数据压缩率,减少数据占用的硬件资源,使得在硬件资源的总量不变的情况下,可以大幅增加可以存储的数据量。
进一步的,为了避免单一列式存储文件过大,导致数据转储效率过低,本实施例所述步骤S40,可以包括:
根据所述待转储数据确定目标文件标识;
根据所述目标文件标识在预设存储文件***中查找对应的列式存储文件;
获取所述待存储数据的待存数据大小,并获取所述列式存储文件对应的数据存储余量;
若所述数据存储余量大于或等于所述待存数据大小,则将所述待存储数据写入所述列式存储文件中,获得更新后的列式存储文件;
将所述更新后的列式存储文件发送至所述预设存储文件***进行存储。
需要说明的是,根据待存储数据确定目标文件标识可以是根据待存储数据对应的引擎索引确定目标文件标识。获取列式存储文件对应的数据存储余量可以是获取列式存储文件的文件大小,然后计算文件大小与预设文件大小阈值的差值,从而获得数据存储余量。其中,预设文件大小阈值可以是单个列式存储文件的文件大小上限,可以由数据转储设备的管理人员预先进行设置。预设存储文件***可以是分布式文件***,例如:DFS文件***(Distributed File System)。
在实际使用中,由于需要尽可能保持各列式存储文件的文件大小不超过预设文件大小阈值,此时在预设存储文件***中根据同一目标文件标识可以查找到多个列式存储文件,则此时根据目标文件标识在预设存储文件***中查找对应的列式存储文件可以是在预设存储文件***中查找以目标文件标识开头的列式存储文件,获得多个列式存储文件,获取各列式存储文件对应的文件名,将文件名中目标文件标识去除,获得文件编号,将多个列式存储文件中文件编号最大的列式存储文件作为目标文件标识对应的列式存储文件。
可以理解的是,若数据存储余量大于或等于待存储数据大小,则表示即使将待存储数据写入列式存储文件中,更新后的列式存储文件的大小也不会超过预设文件大小阈值,因此,可以直接将待存储数据写入所述列式存储文件中,然后将更新后的列式存储文件发送至预设存储文件***进行存储。
在具体实现中,若列式存储文件的数据存储余量不足,则需要进行额外处理,避免单一列式存储文件的大小过大,则此时本实施例所述获取所述待存储数据的待存数据大小,并获取所述列式存储文件对应的数据存储余量的步骤之后,还包括:
若所述数据存储余量小于所述待存数据大小,则根据所述数据存储余量对所述待存储数据进行分组,获得第一待存数据子集及第二待存数据子集;
将所述第一待存数据子集中的数据写入所述列式存储文件中,获得更新后的列式存储文件;
根据所述第二待存数据子集构建第二列式存储文件;
将所述更新后的列式存储文件及所述第二列式存储文件发送至所述预设存储文件***进行存储。
需要说明的是,若数据存储余量小于待存数据大小,则表示将待转储数据写入列式存储文件中,会导致列式存储文件的大小超过预设文件大小阈值,此时需要将待转储数据分开进行处理,因此,可以根据数据存储余量对待存储数据进行分组,获得第一待存数据子集及第二待存数据子集,其中,第一待存数据子集对应的数据总大小与数据存储余量需尽可能保持一致。根据第二待存储数据子集构建第二列式存储文件可以是新建列式存储文件,然后将第二待存储数据子集中的数据写入新建的列式存储文件中,并在写入完成时时,将该列式存储文件作为第二列式存储文件。
本实施例通过向目标搜索分析引擎发送数据转储请求,以使目标搜索分析引擎反馈引擎快照数据;查找历史转储记录,根据历史转储记录确定索引起始标识;根据索引起始标识及引擎快照数据确定待转储数据;将待转储数据写入列式存储文件进行存储。由于在获取待转储数据时并非直接从目标搜索分析引擎中读取数据,而是根据索引起始标识及引擎快照数据确定待转储数据,避免了数据传输中断等异常现象对数据转储的影响,且最终将待转储数据进行存储时是将其写入高压缩率的列式存储文件中进行存储,提高了对数据的压缩率,使得硬件资源不变的情况下,可以存储更多的数据。
参考图3,图3为本发明一种数据转储方法第二实施例的流程示意图。
基于上述第一实施例,本实施例数据转储方法在所述步骤S10之前,还包括:
步骤S01:获取目标搜索分析引擎的引擎状态。
需要说明的是,引擎状态可以包括引擎索引及各引擎索引对应的数据标识信息,其中,引擎索引可以是一个逻辑存储,类似于关系型数据库中的数据表。获取目标搜索分析引擎的引擎状态可以是调用目标搜索分析引擎中预设的状态获取接口,从而获得目标搜索分析引擎的引擎状态。
进一步的,为了在目标搜索分析引擎中存在需要进行转储的数据时尽可能快速发现,本实施例搜索步骤S10,可以包括:
获取预设检测间隔时长,以所述预设检测间隔时长为周期循环获取目标搜索分析引擎的引擎状态。
需要说明的是,预设检测间隔时长可以由数据转储设备的管理人员根据实际需要进行设置,例如:将预设检测间隔时长设置为1分钟,则数据转储设备每隔1分钟会获取一次目标搜索分析引擎的引擎状态。
步骤S02:根据所述引擎状态确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引。
需要说明的是,部分企业在使用搜索分析引擎时会设置多个不同的引擎索引,然后各引擎索引对应的数据的数据标识可能并未统一进行管理,而是分别进行计算,则此时为了准确的确定是否需要对目标搜索分析引擎进行数据转储,需要将各引擎索引分别进行管理,因此,可以根据引擎状态确定目标搜索分析引擎中是否存在具有新增转储数据的引擎索引。
在实际使用中,根据引擎状态确定目标搜索分析引擎中是否存在具有新增转储数据的引擎索引可以是获取目标搜索分析引擎对应的历史转储记录,根据历史转储记录确定各引擎索引对应的已转储数据的数据标识信息,然后将已转储数据中的数据标识信息与引擎状态中记载的各引擎索引对应的数据标识信息进行比较,若引擎状态中记载的数据标识信息与历史转储记录中的数据标识信息不一致,则可以判定该引擎索引具有新增转储数据。
进一步的,在实际使用场景中,搜索分析引擎中的热门数据,即经常使用的数据一般暂时不会进行数据转储,而是会对冷门数据进行转储,而搜索分析引擎可以为需要进行数据转储的设定对应的标记,此种情况下,为了准确的判断是否存在具有新增转储数据的引擎索引,本实施例所述步骤S02,可以包括:
根据所述引擎状态确定所述目标搜索分析引擎中各引擎索引对应的转储标记数据标识;
获取历史转储记录,根据所述历史转储记录确定各引擎索引对应的已转储数据标识;
将所述转储标记数据与所述已转储数据进行对比,确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引。
需要说明的是,引擎状态中可以包括各引擎索引对应的数据标识信息,其中需要进行数据转储的数据的数据标识信息中会带有额外的标记。根据引擎状态确定目标搜索分析引擎中各引擎索引对应的转储标记数据标识可以是解析引擎状态,获得目标搜索分析引擎中各引擎索引对应的数据标识信息,将数据标识信息带有额外标记的数据标识信息作为转储标记数据标识。
可以理解的是,将引擎索引对应的转储标记数据与已转储数据进行对比,确定两者是否相同,即可确定引擎索引对应的数据中是否具有新增转储数据。
进一步的,部分情况下,搜索分析引擎会将留存时长达到一定时长的数据作为需要转储的数据,但是并不会对其进行标记,为了在此种情况下依旧可以正常确定是否存在具有新增转储数据的引擎索引,本实施例所述根据所述引擎状态确定所述目标搜索分析引擎中各引擎索引对应的转储标记数据标识的步骤,可以包括:
根据所述引擎状态确定所述目标搜索分析引擎中的文档数据标识;
获取各文档数据标识对应的数据生成时刻,并根据所述数据生成时刻确定数据留存时长;
将所述数据留存时长大于或等于预设时长阈值的文档数据标识作为转储标记数据标识;
依据各转储标记数据标识对应的引擎索引将所述转储标记数据标识进行分组,获得各引擎索引对应的转储标记数据标识。
需要说明的是,为了便于确定文档数据标识是否为转储标记数据标识,此时可以令引擎状态中还包括各文档数据标识对应的数据生成时刻。获取各文档数据标识对应的数据生成时刻可以是解析引擎状态,确定获得各文档数据标识对应的数据生成时刻。根据数据生成时刻确定数据留存时长可以是计算数据生成时刻与当前时刻的差值,从而获得数据留存时长。预设时长阈值可以由数据转储设备的管理人员预先根据目标搜索分析引擎确定冷数据的配置进行设置。
可以理解的是,若文档数据标识对应的数据留存时长大于或等于预设时长阈值,则表示该文档数据标识对应的数据为冷数据,即需要进行数据转储的数据,因此,可以将其作为转储标记数据标识。
步骤S03:若存在,则将具有新增转储数据的引擎索引作为目标引擎索引。
可以理解的是,若存在具有新增转储数据的引擎索引,则表示目标搜索分析引擎中存在需要进行数据转储的数据,因此,可以将存在具有新增转储数据的引擎索引作为目标引擎索引。
相应的,所述步骤S20,可以包括:
步骤S20':查找历史转储记录,根据所述历史转储记录确定所述目标引擎索引对应的索引起始标识。
需要说明的是,根据历史转储记录确定目标引擎索引对应的索引起始标识可以是根据历史转储记录可以确定距离当前时刻最近一次对目标引擎索引对应的数据进行数据转储时对应的数据偏移位置,根据数据偏移位置即可确定本次进行数据转储时起始位置的数据,读取起始位置的数据对应的数据标识即可获得索引起始标识。
本实施例通过获取目标搜索分析引擎的引擎状态;根据所述引擎状态确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引;若存在,则将具有新增转储数据的引擎索引作为目标引擎索引。由于在判断是否需要进行数据转储时是将目标搜索分析引擎中的引擎索引分别进行管理,可以避免因各引擎索引对应的数据的数据标识生成规则不统一导致的误判,提高了本发明数据转储方法的可靠性。
参考图3,图3为本发明一种数据转储方法第二实施例的流程示意图。
基于上述第一实施例,本实施例数据转储方法的所述步骤S10,包括:
步骤S10':向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎根据读取到的转储标记数据及历史快照数据确定待转储数据,并根据所述待转储数据反馈引擎快照数据。
需要说明的是,若每次进行数据转储时目标搜索分析引擎均需要根据存储的所有数据生成引擎快照数据,则会导致引擎快照数据的生成需要占用大量的时间,为了避免此种情况,可以调整目标搜索分析引擎的快照生成机制,使得其在首次生成引擎快照数据时根据存储的所有数据生成引擎快照数据,在非首次生成引擎快照数据时先获取历史快照数据,然后将当前数据与历史快照数据对应的数据进行增量对比,确定数据差异,从而确定待转储数据,然后再根据待转储数据生成引擎快照数据,
可以理解的是,相比根据全量数据生成引擎快照数据,仅根据增量的待存储数据生成引擎快照数据可以降低快照数据生成期间需要压缩的数据量级,可以加速快照数据的生成速率,且生成的引擎快照数据的大小也会变小,在传输过程中消耗的时间也会更短,由此即可缩短数据转储的执行时间,从而提高数据转储的执行效率。
在具体实现中,由于将引擎快照数据生成的机制进行了修改,相应的,后续待转储数据的确认方式也需要进行相应的修改,因此,本实施例所述步骤S30,可以包括:
步骤S301:解析所述引擎快照数据,获得所述引擎快照数据中的数据起始标识。
需要说明的是,数据起始标识可以是引擎快照数据中包含的第一条数据的数据标识。
步骤S302:若所述数据起始标识小于或等于所述索引起始标识,则根据所述索引起始标识从所述引擎快照数据中读取待转储数据。
可以理解的是,若数据起始标识小于或等于索引起始标识,则表示引擎快照数据中的数据包含了当前进行数据转储时需要的所有的数据,因此,可以根据索引起始标识从引擎快照数据中读取待转储数据。
进一步的,由于引擎快照数据是根据增量的待存储数据生成的增量快照,根据引擎快照数据恢复目标搜索分析引擎中的数据时需要依赖于历史快照数据,此时数据转储设备在接收到引擎快照数据时可以将引擎快照数据存储至数据转储设备本地的数据库中作为历史快照数据,使得不必从目标搜索分析引擎中读取历史快照数据,尽可能减少对目标搜索分析引擎的影响,则此时本实施例所述步骤S301之前,还可以包括:
将所述引擎快照数据存储至预设快照库中。
需要说明的是,预设快照库可以是部署在数据转储设备中的本地数据库。当然,若此时采用数据转储设备集群提供服务,则此时预设快照库可以是部署在各数据转储设备中的分布式数据库,例如:minio数据库。可以理解的是,分布式数据库可以定时将存储的快照数据进行同步,以保证各数据转储设备均可获取所有的历史快照数据。
相应的,为了在引擎快照数据中缺失部分数据时可正常进行数据转储,本实施例所述步骤S301之后,还可以包括:
若所述数据起始标识大于所述索引起始标识,则从所述预设快照库中读取所述目标搜索分析引擎对应的历史快照数据;
根据所述索引起始标识从所述引擎快照数据及所述历史快照数据中读取待转储数据。
可以理解的是,若数据起始标识大于索引起始标识,则表示引擎快照数据中缺少部分本次数据转储所需的数据,而此部分数据可能在此前已经通过快照数据传输至数据转储设备了,因此,可以从预设快照库中读取目标搜索分析引擎对应的历史快照数据,然后根据索引起始标识从引擎快照数据及历史快照数据中读取待转储数据。其中,历史快照数据可以是此前传输至数据转储设备的引擎快照数据。
本实施例通过对目标索引分析引擎的快照生成规则进行调整,使其在生成引擎快照时仅需根据增量的数据生成引擎快照数据,减少了需要压缩的数据量,使得生成的引擎快照数据的大小也更小,提高了本发明数据转储方法的执行效率,而本实施例为了适应对快照生成规则的调整,将确定待转储数据的方式也进行了适应性调整,使得在引擎快照数据为增量快照时依旧可以正确的确定待转储数据,且还会将接收到的引擎快照数据存储在数据存储设备本地,避免从目标搜索分析引擎中读取历史快照数据,减少对目标搜索分析引擎的运行状态的影响。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有数据转储程序,所述数据转储程序被处理器执行时实现如上文所述的数据转储方法的步骤。
参照图5,图5为本发明数据转储装置第一实施例的结构框图。
如图5所示,本发明实施例提出的数据转储装置包括:
数据获取模块10,用于向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据;
标识确定模块20,用于查找历史转储记录,根据所述历史转储记录确定索引起始标识;
数据确定模块30,用于根据所述索引起始标识及所述引擎快照数据确定待转储数据;
数据存储模块40,用于将所述待转储数据写入列式存储文件进行存储。
本实施例通过向目标搜索分析引擎发送数据转储请求,以使目标搜索分析引擎反馈引擎快照数据;查找历史转储记录,根据历史转储记录确定索引起始标识;根据索引起始标识及引擎快照数据确定待转储数据;将待转储数据写入列式存储文件进行存储。由于在获取待转储数据时并非直接从目标搜索分析引擎中读取数据,而是根据索引起始标识及引擎快照数据确定待转储数据,避免了数据传输中断等异常现象对数据转储的影响,且最终将待转储数据进行存储时是将其写入高压缩率的列式存储文件中进行存储,提高了对数据的压缩率,使得硬件资源不变的情况下,可以存储更多的数据。
进一步的,所述数据获取模块10,还用于获取目标搜索分析引擎的引擎状态;根据所述引擎状态确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引;若存在,则将具有新增转储数据的引擎索引作为目标引擎索引,并执行所述所述向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据的步骤;
所述标识确定模块20,还用于查找历史转储记录,根据所述历史转储记录确定所述目标引擎索引对应的索引起始标识。
进一步的,所述数据获取模块10,还用于获取预设检测间隔时长,以所述预设检测间隔时长为周期循环获取目标搜索分析引擎的引擎状态。
进一步的,所述数据获取模块10,还用于根据所述引擎状态确定所述目标搜索分析引擎中各引擎索引对应的转储标记数据标识;获取历史转储记录,根据所述历史转储记录确定各引擎索引对应的已转储数据标识;将所述转储标记数据与所述已转储数据进行对比,确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引。
进一步的,所述数据获取模块10,还用于根据所述引擎状态确定所述目标搜索分析引擎中的文档数据标识;获取各文档数据标识对应的数据生成时刻,并根据所述数据生成时刻确定数据留存时长;将所述数据留存时长大于或等于预设时长阈值的文档数据标识作为转储标记数据标识;依据各转储标记数据标识对应的引擎索引将所述转储标记数据标识进行分组,获得各引擎索引对应的转储标记数据标识。
进一步的,所述数据获取模块10,还用于检测数据转储设备集群中是否存在空闲的任务执行节点;若存在空闲的任务执行节点,则从所述空闲的任务执行节点中确定目标任务执行节点;通过所述目标任务执行节点向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据。
进一步的,所述数据获取模块10,还用于若不存在空闲的任务执行节点,则通过所述数据转储设备集群中的集群主节点向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据。
进一步的,所述数据确定模块30,还用于解析所述引擎快照数据,获得所述引擎快照数据中的数据起始标识;若所述数据起始标识小于或等于所述索引起始标识,则根据所述索引起始标识从所述引擎快照数据中读取待转储数据。
进一步的,所述数据确定模块30,还用于将所述引擎快照数据存储至预设快照库中;
所述数据确定模块30,还用于若所述数据起始标识大于所述索引起始标识,则从所述预设快照库中读取所述目标搜索分析引擎对应的历史快照数据;根据所述索引起始标识从所述引擎快照数据及所述历史快照数据中读取待转储数据。
进一步的,所述数据存储模块40,还用于根据所述待转储数据确定目标文件标识;根据所述目标文件标识在预设存储文件***中查找对应的列式存储文件;获取所述待存储数据的待存数据大小,并获取所述列式存储文件对应的数据存储余量;若所述数据存储余量大于或等于所述待存数据大小,则将所述待存储数据写入所述列式存储文件中,获得更新后的列式存储文件;将所述更新后的列式存储文件发送至所述预设存储文件***进行存储。
进一步的,所述数据存储模块40,还用于若所述数据存储余量小于所述待存数据大小,则根据所述数据存储余量对所述待存储数据进行分组,获得第一待存数据子集及第二待存数据子集;将所述第一待存数据子集中的数据写入所述列式存储文件中,获得更新后的列式存储文件;根据所述第二待存数据子集构建第二列式存储文件;将所述更新后的列式存储文件及所述第二列式存储文件发送至所述预设存储文件***进行存储。
进一步的,所述数据获取模块10,还用于向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎根据读取到的转储标记数据及历史快照数据确定待转储数据,并根据所述待转储数据反馈引擎快照数据。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的数据转储方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
本发明公开了A1、一种数据转储方法,所述数据转储方法包括以下步骤:
向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据;
查找历史转储记录,根据所述历史转储记录确定索引起始标识;
根据所述索引起始标识及所述引擎快照数据确定待转储数据;
将所述待转储数据写入列式存储文件进行存储。
A2、如A1所述的数据转储方法,所述向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据的步骤之前,还包括:
获取目标搜索分析引擎的引擎状态;
根据所述引擎状态确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引;
若存在,则将具有新增转储数据的引擎索引作为目标引擎索引,并执行所述所述向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据的步骤;
相应的,所述查找历史转储记录,根据所述历史转储记录确定索引起始标识的步骤,包括:
查找历史转储记录,根据所述历史转储记录确定所述目标引擎索引对应的索引起始标识。
A3、如A2所述的数据转储方法,所述获取目标搜索分析引擎的引擎状态的步骤,包括:
获取预设检测间隔时长,以所述预设检测间隔时长为周期循环获取目标搜索分析引擎的引擎状态。
A4、如A2所述的数据转储方法,所述根据所述引擎状态确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引的步骤,包括:
根据所述引擎状态确定所述目标搜索分析引擎中各引擎索引对应的转储标记数据标识;
获取历史转储记录,根据所述历史转储记录确定各引擎索引对应的已转储数据标识;
将所述转储标记数据与所述已转储数据进行对比,确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引。
A5、如A4所述的数据转储方法,所述根据所述引擎状态确定所述目标搜索分析引擎中各引擎索引对应的转储标记数据标识的步骤,包括:
根据所述引擎状态确定所述目标搜索分析引擎中的文档数据标识;
获取各文档数据标识对应的数据生成时刻,并根据所述数据生成时刻确定数据留存时长;
将所述数据留存时长大于或等于预设时长阈值的文档数据标识作为转储标记数据标识;
依据各转储标记数据标识对应的引擎索引将所述转储标记数据标识进行分组,获得各引擎索引对应的转储标记数据标识。
A6、如A1所述的数据转储方法,所述向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据的步骤,包括:
检测数据转储设备集群中是否存在空闲的任务执行节点;
若存在空闲的任务执行节点,则从所述空闲的任务执行节点中确定目标任务执行节点;
通过所述目标任务执行节点向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据。
A7、如A6所述的数据转储方法,所述检测数据转储设备集群中是否存在空闲的任务执行节点的步骤之后,还包括:
若不存在空闲的任务执行节点,则通过所述数据转储设备集群中的集群主节点向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据。
A8、如A1所述的数据转储方法,所述根据所述索引起始标识及所述引擎快照数据确定待转储数据的步骤,包括:
解析所述引擎快照数据,获得所述引擎快照数据中的数据起始标识;
若所述数据起始标识小于或等于所述索引起始标识,则根据所述索引起始标识从所述引擎快照数据中读取待转储数据。
A9、如A8所述的数据转储方法,所述解析所述引擎快照数据,获得所述引擎快照数据中的数据起始标识的步骤之前,还包括:
将所述引擎快照数据存储至预设快照库中;
相应的,所述解析所述引擎快照数据,获得所述引擎快照数据中的数据起始标识的步骤之后,还包括:
若所述数据起始标识大于所述索引起始标识,则从所述预设快照库中读取所述目标搜索分析引擎对应的历史快照数据;
根据所述索引起始标识从所述引擎快照数据及所述历史快照数据中读取待转储数据。
A10、如A1所述的数据转储方法,所述将所述待转储数据写入列式存储文件进行存储的步骤,包括:
根据所述待转储数据确定目标文件标识;
根据所述目标文件标识在预设存储文件***中查找对应的列式存储文件;
获取所述待存储数据的待存数据大小,并获取所述列式存储文件对应的数据存储余量;
若所述数据存储余量大于或等于所述待存数据大小,则将所述待存储数据写入所述列式存储文件中,获得更新后的列式存储文件;
将所述更新后的列式存储文件发送至所述预设存储文件***进行存储。
A11、如A10所述的数据转储方法,所述获取所述待存储数据的待存数据大小,并获取所述列式存储文件对应的数据存储余量的步骤之后,还包括:
若所述数据存储余量小于所述待存数据大小,则根据所述数据存储余量对所述待存储数据进行分组,获得第一待存数据子集及第二待存数据子集;
将所述第一待存数据子集中的数据写入所述列式存储文件中,获得更新后的列式存储文件;
根据所述第二待存数据子集构建第二列式存储文件;
将所述更新后的列式存储文件及所述第二列式存储文件发送至所述预设存储文件***进行存储。
A12、如A1-A11任一项所述的数据转储方法,所述向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据的步骤,包括:
向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎根据读取到的转储标记数据及历史快照数据确定待转储数据,并根据所述待转储数据反馈引擎快照数据。
本发明还公开了B13、一种数据转储装置,所述数据转储装置包括以下模块:
数据获取模块,用于向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据;
标识确定模块,用于查找历史转储记录,根据所述历史转储记录确定索引起始标识;
数据确定模块,用于根据所述索引起始标识及所述引擎快照数据确定待转储数据;
数据存储模块,用于将所述待转储数据写入列式存储文件进行存储。
B14、如B13所述的数据转储装置,所述数据获取模块,还用于获取目标搜索分析引擎的引擎状态;根据所述引擎状态确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引;若存在,则将具有新增转储数据的引擎索引作为目标引擎索引,并执行所述所述向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据的步骤;
所述标识确定模块,还用于查找历史转储记录,根据所述历史转储记录确定所述目标引擎索引对应的索引起始标识。
B15、如B14所述的数据转储装置,所述数据获取模块,还用于获取预设检测间隔时长,以所述预设检测间隔时长为周期循环获取目标搜索分析引擎的引擎状态。
B16、如B14所述的数据转储装置,所述数据获取模块,还用于根据所述引擎状态确定所述目标搜索分析引擎中各引擎索引对应的转储标记数据标识;获取历史转储记录,根据所述历史转储记录确定各引擎索引对应的已转储数据标识;将所述转储标记数据与所述已转储数据进行对比,确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引。
B17、如B16所述的数据转储装置,所述数据获取模块,还用于根据所述引擎状态确定所述目标搜索分析引擎中的文档数据标识;获取各文档数据标识对应的数据生成时刻,并根据所述数据生成时刻确定数据留存时长;将所述数据留存时长大于或等于预设时长阈值的文档数据标识作为转储标记数据标识;依据各转储标记数据标识对应的引擎索引将所述转储标记数据标识进行分组,获得各引擎索引对应的转储标记数据标识。
B18、如B13所述的数据转储装置,所述数据获取模块,还用于检测数据转储设备集群中是否存在空闲的任务执行节点;若存在空闲的任务执行节点,则从所述空闲的任务执行节点中确定目标任务执行节点;通过所述目标任务执行节点向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据。
本发明还公开了C19、一种数据转储设备,其特征在于,所述数据转储设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的数据转储程序,所述数据转储程序被处理器执行时实现如上所述的数据转储方法的步骤。
本发明还公开了D20、一种计算机可读存储介质,所述计算机可读存储介质上存储有数据转储程序,所述数据转储程序执行时实现如上所述的数据转储方法的步骤。
Claims (10)
1.一种数据转储方法,其特征在于,所述数据转储方法包括以下步骤:
向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据;
查找历史转储记录,根据所述历史转储记录确定索引起始标识;
根据所述索引起始标识及所述引擎快照数据确定待转储数据;
将所述待转储数据写入列式存储文件进行存储。
2.如权利要求1所述的数据转储方法,其特征在于,所述向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据的步骤之前,还包括:
获取目标搜索分析引擎的引擎状态;
根据所述引擎状态确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引;
若存在,则将具有新增转储数据的引擎索引作为目标引擎索引,并执行所述所述向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据的步骤;
相应的,所述查找历史转储记录,根据所述历史转储记录确定索引起始标识的步骤,包括:
查找历史转储记录,根据所述历史转储记录确定所述目标引擎索引对应的索引起始标识。
3.如权利要求2所述的数据转储方法,其特征在于,所述获取目标搜索分析引擎的引擎状态的步骤,包括:
获取预设检测间隔时长,以所述预设检测间隔时长为周期循环获取目标搜索分析引擎的引擎状态。
4.如权利要求2所述的数据转储方法,其特征在于,所述根据所述引擎状态确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引的步骤,包括:
根据所述引擎状态确定所述目标搜索分析引擎中各引擎索引对应的转储标记数据标识;
获取历史转储记录,根据所述历史转储记录确定各引擎索引对应的已转储数据标识;
将所述转储标记数据与所述已转储数据进行对比,确定所述目标搜索分析引擎中是否存在具有新增转储数据的引擎索引。
5.如权利要求4所述的数据转储方法,其特征在于,所述根据所述引擎状态确定所述目标搜索分析引擎中各引擎索引对应的转储标记数据标识的步骤,包括:
根据所述引擎状态确定所述目标搜索分析引擎中的文档数据标识;
获取各文档数据标识对应的数据生成时刻,并根据所述数据生成时刻确定数据留存时长;
将所述数据留存时长大于或等于预设时长阈值的文档数据标识作为转储标记数据标识;
依据各转储标记数据标识对应的引擎索引将所述转储标记数据标识进行分组,获得各引擎索引对应的转储标记数据标识。
6.如权利要求1所述的数据转储方法,其特征在于,所述向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据的步骤,包括:
检测数据转储设备集群中是否存在空闲的任务执行节点;
若存在空闲的任务执行节点,则从所述空闲的任务执行节点中确定目标任务执行节点;
通过所述目标任务执行节点向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据。
7.如权利要求6所述的数据转储方法,其特征在于,所述检测数据转储设备集群中是否存在空闲的任务执行节点的步骤之后,还包括:
若不存在空闲的任务执行节点,则通过所述数据转储设备集群中的集群主节点向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据。
8.一种数据转储装置,其特征在于,所述数据转储装置包括以下模块:
数据获取模块,用于向目标搜索分析引擎发送数据转储请求,以使所述目标搜索分析引擎反馈引擎快照数据;
标识确定模块,用于查找历史转储记录,根据所述历史转储记录确定索引起始标识;
数据确定模块,用于根据所述索引起始标识及所述引擎快照数据确定待转储数据;
数据存储模块,用于将所述待转储数据写入列式存储文件进行存储。
9.一种数据转储设备,其特征在于,所述数据转储设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的数据转储程序,所述数据转储程序被处理器执行时实现如权利要求1-7中任一项所述的数据转储方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据转储程序,所述数据转储程序执行时实现如权利要求1-7中任一项所述的数据转储方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111680420.5A CN116414772A (zh) | 2021-12-30 | 2021-12-30 | 数据转储方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111680420.5A CN116414772A (zh) | 2021-12-30 | 2021-12-30 | 数据转储方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116414772A true CN116414772A (zh) | 2023-07-11 |
Family
ID=87055245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111680420.5A Pending CN116414772A (zh) | 2021-12-30 | 2021-12-30 | 数据转储方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116414772A (zh) |
-
2021
- 2021-12-30 CN CN202111680420.5A patent/CN116414772A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021180025A1 (zh) | 一种消息处理方法、装置、电子设备及介质 | |
CN111680008B (zh) | 日志处理方法、***、可读存储介质及智能设备 | |
US20150142749A1 (en) | Method and system for a safe archiving of data | |
KR102248386B1 (ko) | 데이터베이스 데이터 수정 요청 처리 방법 및 장치 | |
CN110602165B (zh) | 政务数据同步方法、装置、***、计算机设备和存储介质 | |
CN111414362A (zh) | 数据读取方法、装置、设备及存储介质 | |
CN115203159B (zh) | 一种数据存储方法、装置、计算机设备和存储介质 | |
CN112650753A (zh) | 一种日志管理方法、装置、***、设备及可读存储介质 | |
CN112965939A (zh) | 一种文件合并方法、装置和设备 | |
CN113806301A (zh) | 数据同步方法、装置、服务器及存储介质 | |
CN109450977B (zh) | 缓存数据的推送、更新方法及装置 | |
CN110543465B (zh) | 目录操作方法、装置、计算机设备和存储介质 | |
CN116414772A (zh) | 数据转储方法、装置、设备及存储介质 | |
CN112035471B (zh) | 一种事务处理方法及计算机设备 | |
CN112818021B (zh) | 数据请求处理方法、装置、计算机设备和存储介质 | |
CN111460436B (zh) | 一种基于区块链的非结构化数据操作方法和*** | |
CN114416689A (zh) | 数据迁移方法、装置、计算机设备、存储介质 | |
CN108376104B (zh) | 节点调度方法及装置、计算机可读存储介质 | |
CN112612773A (zh) | 数据库同步测试方法、装置、计算机设备及存储介质 | |
CN113760600A (zh) | 一种数据库备份方法、数据库还原方法和相关装置 | |
CN107844491B (zh) | 一种在分布式***中实现强一致性读操作的方法与设备 | |
CN116932779B (zh) | 知识图谱的数据处理方法和装置 | |
CN117708094B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN117171419B (zh) | 内容处理方法、装置、电子设备、存储介质及程序产品 | |
CN118277161A (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 |