CN113590703A - Es数据导入方法、装置、电子设备及可读存储介质 - Google Patents
Es数据导入方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN113590703A CN113590703A CN202110916298.0A CN202110916298A CN113590703A CN 113590703 A CN113590703 A CN 113590703A CN 202110916298 A CN202110916298 A CN 202110916298A CN 113590703 A CN113590703 A CN 113590703A
- Authority
- CN
- China
- Prior art keywords
- data
- index
- cluster
- node
- imported
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 239000012634 fragment Substances 0.000 claims abstract description 49
- 230000008676 import Effects 0.000 claims abstract description 48
- 238000013467 fragmentation Methods 0.000 claims abstract description 24
- 238000006062 fragmentation reaction Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000008569 process Effects 0.000 claims description 16
- 230000036541 health Effects 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 4
- 230000002829 reductive effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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/18—File system types
- G06F16/182—Distributed file systems
-
- 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
-
- 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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及数据处理,揭露一种ES数据导入方法,包括:对待导入数据执行分片处理,得到第一数量的分片数据;将第一数量的分片数据分配给计算集群中第一数量的计算节点,控制所述第一数量的计算节点为对应的分片数据生成索引数据;为ES集群创建目录信息,基于目录信息将各个索引数据下载至ES集群中对应的ES节点,并合并各个ES节点中属于同一个区块的索引数据,得到各个ES节点对应的目标数据。本发明还提供一种ES数据导入装置、电子设备及可读存储介质。本发明提高了数据导入效率、减少了ES集群开销、降低了重试成本。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种ES数据导入方法、装置、电子设备及可读存储介质。
背景技术
随着数据时代的到来,各企业的数据量越加庞大,为了提高数据查询效率,通常将数据导入至ES(Elasticsearch,全文搜索引擎)中进行存储。
当前的数据导入方案通常是在与ES集群建立连接后,将待导入数据批量提交到ES集群,该方案有以下缺陷:
1、数据量大、字段多时,数据导入时间过长;
2、直接在ES集群上操作,增加了ES集群的开销,容易导致ES集群上数据查询服务响应超时或节点崩溃;
3、出错时,需要重新导入,重试成本高。
因此,亟需一种ES数据导入方法,以提高数据导入效率、减少ES集群开销、降低重试成本。
发明内容
鉴于以上内容,有必要提供一种ES数据导入方法,旨在提高数据导入效率、减少ES集群开销、降低重试成本。
本发明提供的ES数据导入方法,包括:
响应用户基于客户端发出的ES数据导入请求,获取所述ES数据导入请求携带的待导入数据,对所述待导入数据执行分片处理,得到第一数量的分片数据;
将所述第一数量的分片数据分配给计算集群中第一数量的计算节点,控制所述第一数量的计算节点为对应的分片数据生成索引信息,合并所述分片数据及所述索引信息得到第一数量的索引数据;
为ES集群创建目录信息,所述目录信息包括各个索引数据对应的存储位置及区块标识,基于所述存储位置将各个索引数据下载至所述ES集群中对应的ES节点,基于所述区块标识合并各个ES节点中属于同一个区块的索引数据,得到各个ES节点对应的目标数据。
可选的,所述对所述待导入数据执行分片处理,得到第一数量的分片数据,包括:
根据所述待导入数据的数据量大小确定待划分的区块数据的第二数量;
根据所述第二数量及预先确定的并行度计算待划分的分片数据的第一数量;
将所述待导入数据划分为第一数量的分片数据。
可选的,所述将所述待导入数据划分为第一数量的分片数据,包括:
对所述待导入数据中每条数据的主键执行哈希运算,得到所述待导入数据中每条数据对应的哈希值;
对所述哈希值及所述第一数量执行取模运算,得到所述待导入数据中每条数据对应的模值;
将所述待导入数据中模值相同的数据的集合作为一个分片数据,得到第一数量的分片数据。
可选的,所述将所述第一数量的分片数据分配给所述计算集群中第一数量的计算节点,控制所述第一数量的计算节点为对应的分片数据生成索引信息,包括:
从所述计算集群中抽取第一数量的计算节点作为待处理节点,控制每个待处理节点开启一个ES进程;
基于所述ES进程在每个待处理节点上创建一个ES索引,为一个ES索引分配一个分片数据;
将索引参数设置界面展示到所述客户端界面,基于用户在所述索引参数设置界面设置的参数为每个待处理节点上的分片数据生成索引信息。
可选的,所述为所述ES集群创建目录信息,包括:
将所述预先确定的并行度的数值作为第三数量,将第三数量的索引数据的集合作为一个区块数据,得到多个区块数据,为所述多个区块数据中的每个区块数据生成区块标识;
获取所述ES集群中每个ES节点的剩余容量,基于所述剩余容量及每个区块数据的数据量大小设置每个区块数据中各个索引数据对应的存储位置。
可选的,在所述基于所述存储位置将各个索引数据下载至所述ES集群中对应的ES节点之前,所述方法还包括:
关闭所述ES集群上的索引;
在所述得到各个ES节点对应的目标数据之后,所述方法还包括:
开启所述ES集群上的索引。
可选的,在所述基于所述存储位置将各个索引数据下载至所述ES集群中对应的ES节点之前,所述方法还包括:
对所述ES集群中每个ES节点执行节点健康校验。
为了解决上述问题,本发明还提供一种ES数据导入装置,所述装置包括:
分片模块,用于响应用户基于客户端发出的ES数据导入请求,获取所述ES数据导入请求携带的待导入数据,对所述待导入数据执行分片处理,得到第一数量的分片数据;
生成模块,用于将所述第一数量的分片数据分配给计算集群中第一数量的计算节点,控制所述第一数量的计算节点为对应的分片数据生成索引信息,合并所述分片数据及所述索引信息得到第一数量的索引数据;
下载模块,用于为ES集群创建目录信息,所述目录信息包括各个索引数据对应的存储位置及区块标识,基于所述存储位置将各个索引数据下载至所述ES集群中对应的ES节点,基于所述区块标识合并各个ES节点中属于同一个区块的索引数据,得到各个ES节点对应的目标数据。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的ES数据导入程序,所述ES数据导入程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述ES数据导入方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有ES数据导入程序,所述ES数据导入程序可被一个或者多个处理器执行,以实现上述ES数据导入方法。
相较现有技术,本发明首先对待导入数据执行分片处理,得到第一数量的分片数据;接着,将第一数量的分片数据分配给计算集群中第一数量的计算节点,控制所述第一数量的计算节点为对应的分片数据生成索引数据;最后,为ES集群创建目录信息,基于目录信息将各个索引数据下载至ES集群中对应的ES节点,并合并各个ES节点中属于同一个区块的索引数据,得到各个ES节点对应的目标数据。本发明一个计算节点对应处理一个分片数据,提高了索引数据的生成效率;ES集群仅用于下载和合并索引数据,降低了ES集群的开销;计算集群中的计算节点和ES集群中的ES节点的操作是独立的,当一个节点上的操作出现错误时,仅重新执行对应节点上的操作即可,降低了重试成本。因此,本发明提高了数据导入效率、减少了ES集群开销、降低了重试成本。
附图说明
图1为本发明一实施例提供的ES数据导入方法的流程示意图;
图2为本发明一实施例提供的ES数据导入装置的模块示意图;
图3为本发明一实施例提供的实现ES数据导入方法的电子设备的结构示意图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供一种ES数据导入方法。参照图1所示,为本发明一实施例提供的ES数据导入方法的流程示意图。该方法可以由一个电子设备执行,该电子设备可以由软件和/或硬件实现。
本实施例中,ES数据导入方法包括:
S1、响应用户基于客户端发出的ES数据导入请求,获取所述ES数据导入请求携带的待导入数据,对所述待导入数据执行分片处理,得到第一数量的分片数据。
本实施例中,所述待导入数据可以是企业的产品数据、销售数据、用户数据、售后数据等各种类型的数据,待导入数据需要导入至ES集群中。
在待导入数据的数据量庞大时,需要将待导入数据拆分为多个分片数据,对多个分片数据并行导入,以加快数据导入效率。
所述对所述待导入数据执行分片处理,得到第一数量的分片数据,包括:
A11、根据所述待导入数据的数据量大小确定待划分的区块数据的第二数量;
本实施例中,每个区块数据的数据量大小是预先确定的,例如,每个区块数据的数据量不可超过20G,若待导入数据为75G,则第二数量为4,共得到4个区块数据,其中,3个区块数据为20G,另一个区块数据为15G。
A12、根据所述第二数量及预先确定的并行度计算待划分的分片数据的第一数量;
本实施例中,第一数量=第二数量*并行度,并行度表示并行处理的数量,由用户根据计算集群中计算节点的数量自行设置,若设置并行度为5,则第一数量=4*5=20。
A13、将所述待导入数据划分为第一数量的分片数据。
由上述内容可知,可将75G的待导入数据划分为20个分片数据。
所述将所述待导入数据划分为第一数量的分片数据,包括:
B11、对所述待导入数据中每条数据的主键执行哈希运算,得到所述待导入数据中每条数据对应的哈希值;
所述主键为唯一的标识一条数据的一个或多个字段,本实施例中,采用murmurhash算法对待导入数据中的每条数据的主键执行哈希运算,得到每条数据对应的哈希值。
B12、对所述哈希值及所述第一数量执行取模运算,得到所述待导入数据中每条数据对应的模值;
取模运算是求两个数相除的余数,本实施例中,被除数是哈希值,除数是第一数量,取模运算得到的余数即为每条数据对应的模值。
B13、将所述待导入数据中模值相同的数据的集合作为一个分片数据,得到第一数量的分片数据。
将模值相同的数据分配在一个分片数据中,待导入数据可以划分为20个分片数据。
S2、将所述第一数量的分片数据分配给计算集群中第一数量的计算节点,控制所述第一数量的计算节点为对应的分片数据生成索引信息,合并所述分片数据及所述索引信息得到第一数量的索引数据。
本实施例中,计算集群中每个计算节点上安装有计算引擎spark,spark是为大规模数据处理而设计的快速通用的计算引擎,支持交互式计算和复杂算法。
待导入数据被划分为20个分片数据,将这20个分片数据分配给计算集群中20个计算节点,每个计算节点对应处理一个分片数据,为对应的分片数据生成索引信息,合并分片数据和索引数据得到对应的索引数据,本方案通过各计算节点的并行操作,提高了索引数据的生成效率。
所述将所述第一数量的分片数据分配给所述计算集群中第一数量的计算节点,控制所述第一数量的计算节点为对应的分片数据生成索引信息,包括:
C11、从所述计算集群中抽取第一数量的计算节点作为待处理节点,控制每个待处理节点开启一个ES进程;
从计算集群中抽取20个计算节点作为待处理节点,每个待处理节点上安装有Elasticsearch搜索引擎,通过所述Elasticsearch搜索引擎开启ES进程。
C12、基于所述ES进程在每个待处理节点上创建一个ES索引,为一个ES索引分配一个分片数据;
通过ES进程在每个待处理节点上创建一个ES索引,并导入一个分片数据,其中,ES索引的创建过程为现有技术,在此不做赘述。
C13、将索引参数设置界面展示到所述客户端界面,基于用户在所述索引参数设置界面设置的参数为每个待处理节点上的分片数据生成索引信息。
本实施例中,所述索引参数设置界面上展示的参数包括refresh参数、flush参数及merge参数,refresh参数表示数据写入缓存后可被打开和读取的时间间隔,flush参数表示执行一次完全提交操作的时间间隔,merge参数表示执行一次段合并操作的时间间隔。
本实施例中,生成的索引信息为manifest文件,将索引信息及对应的分片数据合并,得到索引数据,所述索引数据为lucene文件,lucene文件为符合Elasticsearch格式要求的数据文件。
在另一个实施例中,在所述合并所述分片数据及所述索引信息得到第一数量的索引数据之后,所述方法还包括:
对所述索引数据执行压缩处理,得到压缩后的数据,将所述压缩后的数据存储至预设服务器。
所述压缩处理可以是打包处理或去掉数据中冗余信息,所述压缩后的数据可以是存储至预设服务器的hdfs(分布式文件系统)中。
S3、为ES集群创建目录信息,所述目录信息包括各个索引数据对应的存储位置及区块标识,基于所述存储位置将各个索引数据下载至所述ES集群中对应的ES节点,基于所述区块标识合并各个ES节点中属于同一个区块的索引数据,得到各个ES节点对应的目标数据。
所述目录信息包括每个索引数据在ES集群中的存储位置和其对应的区块标识,基于所述目录信息可将各个索引数据存储至ES集群中对应的ES节点,再将ES集群中各个ES节点上属于同一个区块的索引数据合并,可得到各个ES节点对应的目标数据,此时,数据导入完成。
所述为所述ES集群创建目录信息,包括:
D11、将所述预先确定的并行度的数值作为第三数量,将第三数量的索引数据的集合作为一个区块数据,得到多个区块数据,为所述多个区块数据中的每个区块数据生成区块标识;
在步骤S1中,根据区块数据的数据容量确定待导入数据需要被分为4个区块,然后为了提高处理效率,根据并行度将每个区块又划分为5份数据,即待导入数据需要被分为20个分片数据,步骤S2中每个分片数据被转换为索引数据,本步骤中,需要将任意5个索引数据合并,重新得到4个区块,一个区块中的5个索引数据必须被分配在一个ES节点上(一个区块内的索引数据的合并在将索引数据下载到对应的ES节点后执行,该步骤只是将5个索引数据划分为一个区块的预分配)。
D12、获取所述ES集群中每个ES节点的剩余容量,基于所述剩余容量及每个区块数据的数据量大小设置每个区块数据中各个索引数据对应的存储位置。
确定了ES集群中每个ES节点的剩余容量,且每个区块的索引数据的总数据量大小已知,在为每个区块数据设置对应的存储位置时,以保证ES集群中的各ES节点内存占用率较为均衡为目标。
一个ES节点上可能存储有一个区块的索引数据,也可能存储有多个区块的索引数据,将同一个区块的索引数据合并,得到每个ES节点对应的目标数据。
在所述基于所述存储位置将各个索引数据下载至所述ES集群中对应的ES节点之前,所述方法还包括:
关闭所述ES集群上的索引;
在所述得到各个ES节点对应的目标数据之后,所述方法还包括:
开启所述ES集群上的索引。
本实施例中,关闭ES集群上的索引的目的是为了避免新流量接入,在合并得到每个ES节点对应的目标数据后,开启ES集群上的索引,此时,ES集群可恢复查询服务。
在所述基于所述存储位置将各个索引数据下载至所述ES集群中对应的ES节点之前,所述方法还包括:
对所述ES集群中每个ES节点执行节点健康校验。
本实施例中,向各个ES节点的fastindexService服务的api发送请求,fastindexService服务的api会返回一个参数列表,通过该参数列表中各参数的值可进行节点健康校验,具体地,所述参数列表中的参数包括预设时间段内(例如,最近5分钟内)接收到的请求的平均响应时间、CPU占有率及内存占有率等,当一个ES节点对应的参数列表中每个参数的值小于各参数对应的阈值时,确定该ES节点的节点健康校验通过。
仅在ES集群中每个ES节点的节点健康校验通过时,执行后续步骤。
现有的ES数据导入方案中,直接将待导入数据批量提交至ES集群,ES集群需要对数据段合并,并将待导入数据转换为符合Elasticsearch格式要求的数据文件(lucene文件),从而使得ES集群的消耗较大,容易导致ES集群的查询请求响应时间超时或ES集群崩溃。
本发明将消耗资源的操作(段合并、格式转换)放在计算集群中的计算节点上执行,ES集群仅需要下载和合并索引数据,降低了ES集群的开销;且通过并行度将待导入数据拆分为多个分片数据,计算集群中的一个计算节点对应处理一个分片数据,提高了索引数据生成效率;本发明将数据导入过程进行了拆分,生成索引数据的步骤在多个计算节点上并行执行,索引数据合并的步骤在多个ES节点上并行执行,各个节点上的操作都是独立运行的,当一个节点上的操作出现错误时,仅重新执行对应的节点上的操作即可,降低了重试成本。
由上述实施例可知,本发明提出的ES数据导入方法,首先,对待导入数据执行分片处理,得到第一数量的分片数据;接着,将第一数量的分片数据分配给计算集群中第一数量的计算节点,控制所述第一数量的计算节点为对应的分片数据生成索引数据;最后,为ES集群创建目录信息,基于目录信息将各个索引数据下载至ES集群中对应的ES节点,并合并各个ES节点中属于同一个区块的索引数据,得到各个ES节点对应的目标数据。本发明一个计算节点对应处理一个分片数据,提高了索引数据的生成效率;ES集群仅用于下载和合并索引数据,降低了ES集群的开销;计算集群中的计算节点和ES集群中的ES节点的操作是独立的,当一个节点上的操作出现错误时,仅重新执行对应节点上的操作即可,降低了重试成本。因此,本发明提高了数据导入效率、减少了ES集群开销、降低了重试成本。
如图2所示,为本发明一实施例提供的ES数据导入装置的模块示意图。
本发明所述ES数据导入装置100可以安装于电子设备中。根据实现的功能,所述ES数据导入装置100可以包括分片模块110、生成模块120及下载模块130。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
分片模块110,用于响应用户基于客户端发出的ES数据导入请求,获取所述ES数据导入请求携带的待导入数据,对所述待导入数据执行分片处理,得到第一数量的分片数据。
所述对所述待导入数据执行分片处理,得到第一数量的分片数据,包括:
A21、根据所述待导入数据的数据量大小确定待划分的区块数据的第二数量;
A22、根据所述第二数量及预先确定的并行度计算待划分的分片数据的第一数量;
A23、将所述待导入数据划分为第一数量的分片数据。
所述将所述待导入数据划分为第一数量的分片数据,包括:
B21、对所述待导入数据中每条数据的主键执行哈希运算,得到所述待导入数据中每条数据对应的哈希值;
B22、对所述哈希值及所述第一数量执行取模运算,得到所述待导入数据中每条数据对应的模值;
B23、将所述待导入数据中模值相同的数据的集合作为一个分片数据,得到第一数量的分片数据。
生成模块120,用于将所述第一数量的分片数据分配给计算集群中第一数量的计算节点,控制所述第一数量的计算节点为对应的分片数据生成索引信息,合并所述分片数据及所述索引信息得到第一数量的索引数据。
所述将所述第一数量的分片数据分配给所述计算集群中第一数量的计算节点,控制所述第一数量的计算节点为对应的分片数据生成索引信息,包括:
C21、从所述计算集群中抽取第一数量的计算节点作为待处理节点,控制每个待处理节点开启一个ES进程;
C22、基于所述ES进程在每个待处理节点上创建一个ES索引,为一个ES索引分配一个分片数据;
C23、将索引参数设置界面展示到所述客户端界面,基于用户在所述索引参数设置界面设置的参数为每个待处理节点上的分片数据生成索引信息。
在另一个实施例中,在所述合并所述分片数据及所述索引信息得到第一数量的索引数据之后,所述生成模块120还用于:
对所述索引数据执行压缩处理,得到压缩后的数据,将所述压缩后的数据存储至预设服务器。
下载模块130,用于为ES集群创建目录信息,所述目录信息包括各个索引数据对应的存储位置及区块标识,基于所述存储位置将各个索引数据下载至所述ES集群中对应的ES节点,基于所述区块标识合并各个ES节点中属于同一个区块的索引数据,得到各个ES节点对应的目标数据。
所述为所述ES集群创建目录信息,包括:
D21、将所述预先确定的并行度的数值作为第三数量,将第三数量的索引数据的集合作为一个区块数据,得到多个区块数据,为所述多个区块数据中的每个区块数据生成区块标识;
D22、获取所述ES集群中每个ES节点的剩余容量,基于所述剩余容量及每个区块数据的数据量大小设置每个区块数据中各个索引数据对应的存储位置。
在所述基于所述存储位置将各个索引数据下载至所述ES集群中对应的ES节点之前,所述下载模块130还用于:
关闭所述ES集群上的索引;
在所述得到各个ES节点对应的目标数据之后,所述下载模块130还用于:
开启所述ES集群上的索引。
在所述基于所述存储位置将各个索引数据下载至所述ES集群中对应的ES节点之前,所述下载模块130还用于:
对所述ES集群中每个ES节点执行节点健康校验。
如图3所示,为本发明一实施例提供的实现ES数据导入方法的电子设备的结构示意图。
所述电子设备1是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。所述电子设备1可以是计算机、也可以是单个网络服务器、多个网络服务器组成的服务器组或者基于云计算的由大量主机或者网络服务器构成的云,其中云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。
在本实施例中,电子设备1包括,但不仅限于,可通过系统总线相互通信连接的存储器11、处理器12、网络接口13,该存储器11中存储有ES数据导入程序10,所述ES数据导入程序10可被所述处理器12执行。图3仅示出了具有组件11-13以及ES数据导入程序10的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
其中,存储器11包括内存及至少一种类型的可读存储介质。内存为电子设备1的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等的非易失性存储介质。在一些实施例中,可读存储介质可以是电子设备1的内部存储单元,例如该电子设备1的硬盘;在另一些实施例中,该非易失性存储介质也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。本实施例中,存储器11的可读存储介质通常用于存储安装于电子设备1的操作系统和各类应用软件,例如存储本发明一实施例中的ES数据导入程序10的代码等。此外,存储器11还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器12在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器12通常用于控制所述电子设备1的总体操作,例如执行与其他设备进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器12用于运行所述存储器11中存储的程序代码或者处理数据,例如运行ES数据导入程序10等。
网络接口13可包括无线网络接口或有线网络接口,该网络接口13用于在所述电子设备1与客户端(图中未画出)之间建立通信连接。
可选的,所述电子设备1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的ES数据导入程序10是多个指令的组合,在所述处理器12中运行时,可以实现上述ES数据导入方法。
具体地,所述处理器12对上述ES数据导入程序10的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以是非易失性的,也可以是非易失性的。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
所述计算机可读存储介质上存储有ES数据导入程序10,所述ES数据导入程序10可被一个或者多个处理器执行,以实现上述ES数据导入方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种ES数据导入方法,应用于电子设备,所述电子设备与计算集群及ES集群通信连接,其特征在于,所述方法包括:
响应用户基于客户端发出的ES数据导入请求,获取所述ES数据导入请求携带的待导入数据,对所述待导入数据执行分片处理,得到第一数量的分片数据;
将所述第一数量的分片数据分配给所述计算集群中第一数量的计算节点,控制所述第一数量的计算节点为对应的分片数据生成索引信息,合并所述分片数据及所述索引信息得到第一数量的索引数据;
为所述ES集群创建目录信息,所述目录信息包括各个索引数据对应的存储位置及区块标识,基于所述存储位置将各个索引数据下载至所述ES集群中对应的ES节点,基于所述区块标识合并各个ES节点中属于同一个区块的索引数据,得到各个ES节点对应的目标数据。
2.如权利要求1所述的ES数据导入方法,其特征在于,所述对所述待导入数据执行分片处理,得到第一数量的分片数据,包括:
根据所述待导入数据的数据量大小确定待划分的区块数据的第二数量;
根据所述第二数量及预先确定的并行度计算待划分的分片数据的第一数量;
将所述待导入数据划分为第一数量的分片数据。
3.如权利要求2所述的ES数据导入方法,其特征在于,所述将所述待导入数据划分为第一数量的分片数据,包括:
对所述待导入数据中每条数据的主键执行哈希运算,得到所述待导入数据中每条数据对应的哈希值;
对所述哈希值及所述第一数量执行取模运算,得到所述待导入数据中每条数据对应的模值;
将所述待导入数据中模值相同的数据的集合作为一个分片数据,得到第一数量的分片数据。
4.如权利要求1所述的ES数据导入方法,其特征在于,所述将所述第一数量的分片数据分配给所述计算集群中第一数量的计算节点,控制所述第一数量的计算节点为对应的分片数据生成索引信息,包括:
从所述计算集群中抽取第一数量的计算节点作为待处理节点,控制每个待处理节点开启一个ES进程;
基于所述ES进程在每个待处理节点上创建一个ES索引,为一个ES索引分配一个分片数据;
将索引参数设置界面展示到所述客户端界面,基于用户在所述索引参数设置界面设置的参数为每个待处理节点上的分片数据生成索引信息。
5.如权利要求2所述的ES数据导入方法,其特征在于,所述为所述ES集群创建目录信息,包括:
将所述预先确定的并行度的数值作为第三数量,将第三数量的索引数据的集合作为一个区块数据,得到多个区块数据,为所述多个区块数据中的每个区块数据生成区块标识;
获取所述ES集群中每个ES节点的剩余容量,基于所述剩余容量及每个区块数据的数据量大小设置每个区块数据中各个索引数据对应的存储位置。
6.如权利要求1所述的ES数据导入方法,其特征在于,在所述基于所述存储位置将各个索引数据下载至所述ES集群中对应的ES节点之前,所述方法还包括:
关闭所述ES集群上的索引;
在所述得到各个ES节点对应的目标数据之后,所述方法还包括:
开启所述ES集群上的索引。
7.如权利要求1所述的ES数据导入方法,其特征在于,在所述基于所述存储位置将各个索引数据下载至所述ES集群中对应的ES节点之前,所述方法还包括:
对所述ES集群中每个ES节点执行节点健康校验。
8.一种ES数据导入装置,其特征在于,所述装置包括:
分片模块,用于响应用户基于客户端发出的ES数据导入请求,获取所述ES数据导入请求携带的待导入数据,对所述待导入数据执行分片处理,得到第一数量的分片数据;
生成模块,用于将所述第一数量的分片数据分配给计算集群中第一数量的计算节点,控制所述第一数量的计算节点为对应的分片数据生成索引信息,合并所述分片数据及所述索引信息得到第一数量的索引数据;
下载模块,用于为ES集群创建目录信息,所述目录信息包括各个索引数据对应的存储位置及区块标识,基于所述存储位置将各个索引数据下载至所述ES集群中对应的ES节点,基于所述区块标识合并各个ES节点中属于同一个区块的索引数据,得到各个ES节点对应的目标数据。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的ES数据导入程序,所述ES数据导入程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一项所述的ES数据导入方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有ES数据导入程序,所述ES数据导入程序可被一个或者多个处理器执行,以实现如权利要求1至7任一项所述的ES数据导入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110916298.0A CN113590703B (zh) | 2021-08-10 | 2021-08-10 | Es数据导入方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110916298.0A CN113590703B (zh) | 2021-08-10 | 2021-08-10 | Es数据导入方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113590703A true CN113590703A (zh) | 2021-11-02 |
CN113590703B CN113590703B (zh) | 2023-11-07 |
Family
ID=78256991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110916298.0A Active CN113590703B (zh) | 2021-08-10 | 2021-08-10 | Es数据导入方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590703B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116166755A (zh) * | 2023-04-24 | 2023-05-26 | 苏州浪潮智能科技有限公司 | 一种搜索引擎数据库管理方法、装置及搜索引擎数据库 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104252535A (zh) * | 2014-09-16 | 2014-12-31 | 福建新大陆软件工程有限公司 | 一种基于hbase的数据散列处理方法及装置 |
CN104572785A (zh) * | 2013-10-29 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种分布式创建索引的方法和装置 |
US20150261860A1 (en) * | 2014-03-12 | 2015-09-17 | Kaushal MITTAL | Predicate execution in shared distributed computing environment |
CN109947702A (zh) * | 2017-07-26 | 2019-06-28 | 北京嘀嘀无限科技发展有限公司 | 索引构建方法及装置、电子设备 |
US20200211147A1 (en) * | 2018-12-28 | 2020-07-02 | Intel Corporation | Unified architecture for bvh construction based on hardware pre-sorting and a parallel, reconfigurable clustering array |
CN112463784A (zh) * | 2020-12-10 | 2021-03-09 | 深圳前海微众银行股份有限公司 | 数据去重方法、装置、设备及计算机可读存储介质 |
-
2021
- 2021-08-10 CN CN202110916298.0A patent/CN113590703B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572785A (zh) * | 2013-10-29 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 一种分布式创建索引的方法和装置 |
US20150261860A1 (en) * | 2014-03-12 | 2015-09-17 | Kaushal MITTAL | Predicate execution in shared distributed computing environment |
CN104252535A (zh) * | 2014-09-16 | 2014-12-31 | 福建新大陆软件工程有限公司 | 一种基于hbase的数据散列处理方法及装置 |
CN109947702A (zh) * | 2017-07-26 | 2019-06-28 | 北京嘀嘀无限科技发展有限公司 | 索引构建方法及装置、电子设备 |
US20200211147A1 (en) * | 2018-12-28 | 2020-07-02 | Intel Corporation | Unified architecture for bvh construction based on hardware pre-sorting and a parallel, reconfigurable clustering array |
CN112463784A (zh) * | 2020-12-10 | 2021-03-09 | 深圳前海微众银行股份有限公司 | 数据去重方法、装置、设备及计算机可读存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116166755A (zh) * | 2023-04-24 | 2023-05-26 | 苏州浪潮智能科技有限公司 | 一种搜索引擎数据库管理方法、装置及搜索引擎数据库 |
Also Published As
Publication number | Publication date |
---|---|
CN113590703B (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8898121B2 (en) | Merging entries in a deduplication index | |
CN106649828B (zh) | 一种数据查询方法及系统 | |
CN112860737B (zh) | 数据查询方法、装置、电子设备及可读存储介质 | |
CN111880967A (zh) | 云场景下的文件备份方法、装置、介质和电子设备 | |
CN112506486A (zh) | 搜索系统建立方法、装置、电子设备及可读存储介质 | |
CN111966631A (zh) | 一种可快速分发的镜像文件生成方法、系统、设备和介质 | |
CN114185895A (zh) | 数据导入导出方法、装置、电子设备及存储介质 | |
CN112699142A (zh) | 冷热数据处理方法、装置、电子设备及存储介质 | |
CN115858488A (zh) | 基于数据治理的平行迁移方法、装置及可读介质 | |
CN113590703B (zh) | Es数据导入方法、装置、电子设备及可读存储介质 | |
CN111400270B (zh) | 一种基于区块链的文件授时的方法和装置 | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 | |
CN105930104A (zh) | 数据存储方法和装置 | |
CN114626103A (zh) | 数据一致性比对方法、装置、设备及介质 | |
CN114860690A (zh) | 数据迁移方法、装置、设备及存储介质 | |
CN114116673A (zh) | 基于人工智能的数据迁移方法及相关设备 | |
CN114282968A (zh) | 一种流水号的获取方法、装置、服务器和存储介质 | |
CN112434237A (zh) | 页面加载方法、装置、电子设备及存储介质 | |
CN113868267A (zh) | 注入时序数据的方法、查询时序数据的方法及数据库系统 | |
CN114756564B (zh) | 用于流式计算的数据处理方法、装置、设备及介质 | |
US11768855B1 (en) | Replicating data across databases by utilizing validation functions for data completeness and sequencing | |
CN111611245B (zh) | 处理数据表的方法和系统 | |
CN114153647B (zh) | 云存储系统的快速数据校验方法、装置及系统 | |
CN112631998B (zh) | 文件夹显示方法及相关设备 | |
CN109542900B (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 |