CN115934825B - 基于Elasticsearch的数据接入方法、系统、电子设备和存储介质 - Google Patents
基于Elasticsearch的数据接入方法、系统、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115934825B CN115934825B CN202310051408.0A CN202310051408A CN115934825B CN 115934825 B CN115934825 B CN 115934825B CN 202310051408 A CN202310051408 A CN 202310051408A CN 115934825 B CN115934825 B CN 115934825B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- file
- reading
- text
- 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
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于Elasticsearch的数据接入方法、系统、电子设备和存储介质,该方法包括:获取数据接入指令,根据数据接入指令确定目标数据源,目标数据源包括结构化数据库、和/或结构化文件、和/或半结构化文件;从预设读取配置数据中确定与目标数据源对应的目标配置数据,并基于目标配置数据从目标数据源中读取待接入数据;按照预设时间数据格式和预设空间数据格式将待接入数据转换为统一格式数据;若统一格式数据中存在文本文件,按预设抽取规则从文本文件中抽取正文文本;基于正文文本确定待提交数据,将待提交数据写入Elasticsearch,从而实现高效的将不同类型的数据接入Elasticsearch。
Description
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种基于Elasticsearch的数据接入方法、系统、电子设备和存储介质。
背景技术
随着互联网信息的增长,个人和组织的文件日益增多,数据的存储方式多种多样,数据规模越来越大,数据结构越来越松散和开放。关系型数据库已经不能满足现在的数据规模、数据结构和查询方式。文件数据只能保存数据,不能快速的查找和定位数据。
Elasticsearch是分布式搜索和分析引擎,具有分布式、高扩展、高实时等特点。Elasticsearch提供近乎实时的搜索和分析,它能适应结构化和半结构化文本、数字数据和地理空间数据等。有很多的人和组织都在使用Elasticsearch,但是他们都是基于自己的系统接入Elasticsearch,因此需要高度定制化,另外支持的场景和数据结构也比较单一,接入效率低。
因此,如何高效的将不同类型的数据接入Elasticsearch,是目前有待解决的技术问题。
发明内容
本申请实施例提供一种基于Elasticsearch的数据接入方法、系统、电子设备和存储介质,用以高效的将不同类型的数据接入Elasticsearch。
第一方面,提供一种基于Elasticsearch的数据接入方法,所述方法包括:获取数据接入指令,根据所述数据接入指令确定目标数据源,所述目标数据源包括结构化数据库、和/或结构化文件、和/或半结构化文件;从预设读取配置数据中确定与所述目标数据源对应的目标配置数据,并基于所述目标配置数据从所述目标数据源中读取待接入数据;按照预设时间数据格式和预设空间数据格式将所述待接入数据转换为统一格式数据;若所述统一格式数据中存在文本文件,按预设抽取规则从所述文本文件中抽取正文文本;基于所述正文文本确定待提交数据,将所述待提交数据写入Elasticsearch。
第二方面,提供一种基于Elasticsearch的数据接入系统,所述系统包括:确定模块,用于获取数据接入指令,根据所述数据接入指令确定目标数据源,所述目标数据源包括结构化数据库、和/或结构化文件、和/或半结构化文件;读取模块,用于从预设读取配置数据中确定与所述目标数据源对应的目标配置数据,并基于所述目标配置数据从所述目标数据源中读取待接入数据;转换模块,用于按照预设时间数据格式和预设空间数据格式将所述待接入数据转换为统一格式数据;抽取模块,用于若所述统一格式数据中存在文本文件,按预设抽取规则从所述文本文件中抽取正文文本;写入模块,用于基于所述正文文本确定待提交数据,将所述待提交数据写入Elasticsearch。
第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行第一方面所述的基于Elasticsearch的数据接入方法。
第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的基于Elasticsearch的数据接入方法。
通过应用以上技术方案,获取数据接入指令,根据数据接入指令确定目标数据源,目标数据源包括结构化数据库、和/或结构化文件、和/或半结构化文件;从预设读取配置数据中确定与目标数据源对应的目标配置数据,并基于目标配置数据从目标数据源中读取待接入数据;按照预设时间数据格式和预设空间数据格式将待接入数据转换为统一格式数据;若统一格式数据中存在文本文件,按预设抽取规则从文本文件中抽取正文文本;基于正文文本确定待提交数据,将待提交数据写入Elasticsearch,从而实现高效的将不同类型的数据接入Elasticsearch,进而可快速的对不同类型的数据进行全文检索和统计分析。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例提出的一种基于Elasticsearch的数据接入方法的流程示意图;
图2示出了本发明实施例提出的一种基于Elasticsearch的数据接入系统的结构示意图;
图3示出了本发明实施例提出的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种基于Elasticsearch的数据接入方法,如图1所示,该方法包括以下步骤:
步骤S101,获取数据接入指令,根据所述数据接入指令确定目标数据源,所述目标数据源包括结构化数据库、和/或结构化文件、和/或半结构化文件。
本实施例中,数据接入指令可以是用户发出的,也可以是在满足预设触发条件时自动触发的。通过数据接入指令可以确定目标数据源,通过将目标数据源中的数据接入Elasticsearch,实现基于Elasticsearch的数据处理。目标数据源包括结构化数据库、和/或结构化文件、和/或半结构化文件。结构化数据库可包括但不限于Oracle、SQLServer、DB2、Sybase、MySQL、MariaDB、PostgreSQL等。结构化文件中的文件数据为结构化数据,半结构化文件中的文件数据为半结构化数据。
步骤S102,从预设读取配置数据中确定与所述目标数据源对应的目标配置数据,并基于所述目标配置数据从所述目标数据源中读取待接入数据。
本实施例中,在确定目标数据源后,需要先读取其中的数据,为后续实现数据全文检索提供基础。不同的目标数据源需要基于不同的目标配置数据进行读取。先从预设读取配置数据中确定相应的目标配置数据,然后基于目标配置数据从目标数据源中读取待接入数据。
在本申请一些实施例中,基于所述目标配置数据从所述目标数据源中读取待接入数据,具体为:
若所述目标数据源为所述结构化数据库,基于所述目标配置数据连接所述结构化数据库并确定读取表和/或触发器,基于所述读取表从所述结构化数据库中读取需要单次读取的第一数据,和/或基于所述触发器从所述结构化数据库中读取需要循环读取的第二数据;
若所述目标数据源为所述结构化文件,基于所述目标配置数据确定目标索引,根据所述目标索引从所述结构化文件中读取需要单次读取的第三数据和/或需要循环读取的第四数据;
若所述目标数据源为所述半结构化文件,基于所述目标配置数据确定目标路径,根据所述目标路径从所述半结构化文件中读取需要单次读取的第五数据和/或需要循环读取的第六数据;
根据所述第一数据、和/或第二数据、和/或第三数据、和/或第四数据、和/或第五数据、和/或第六数据确定所述待接入数据。
本实施例中,对于结构化数据库,通过读取表进行单次读取,通过触发器进行循环读取,循环读取实现了数据的新增、修改和删除。先基于目标配置数据连接结构化数据库,若目标配置数据中存在读取表,根据读取表读取需要单次读取的第一数据;若目标配置数据中存在触发器,基于触发器读取需要循环读取的第二数据,具体的,触发器中设置有触发表,根据触发表关联的数据读取第二数据,同时对读取过的第二数据进行标记。
对于结构化文件,通过目标索引进行单次读取和循环读取。基于目标配置数据确定目标索引,根据目标索引读取需要单次读取的第三数据和/或需要循环读取的第四数据,具体的,根据目标索引确定是否跳过第一行数据,并将各行数据拆分成数组,然后将字段和数组的索引进行对应,得到第三数据或第四数据。
对于半结构化文件,通过目标路径进行单次读取和循环读取。基于目标配置数据确定目标路径,根据目标路径读取需要单次读取的第五数据和/或需要循环读取的第六数据,具体的,根据目标路径获取数据,并将将字段和数据进行对应,得到第五数据或第六数据。
根据第一数据、和/或第二数据、和/或第三数据、和/或第四数据、和/或第五数据、和/或第六数据可确定待接入数据,从而更加准确的从目标数据源中读取待接入数据。
在本申请一些实施例中,在从预设读取配置数据中确定与所述目标数据源对应的目标配置数据之前,所述方法还包括:
根据第一指令对所述结构化数据库的数据的预设基础信息、抽取文件路径、用于进行单次读取的读取表、用于进行循环读取的触发器、字段的类型、与需要全文检索的字段对应的分词器进行配置,得到第一目标配置数据;
根据第二指令对所述结构化文件的数据的预设基础信息、抽取文件路径、数据读取索引、是否包含表头、数据之间的分隔符、字段的位置、字段的类型、与需要全文检索的字段对应的分词器、与循环读取对应的保存目录进行配置,得到第二目标配置数据;
根据第三指令对所述半结构化文件的数据的预设基础信息、抽取文件路径、数据读取路径、字段的类型、与需要全文检索的字段对应的分词器、与循环读取对应的保存路径进行配置,得到第三目标配置数据;
根据所述第一目标配置数据、所述第二目标配置数据和所述第三目标配置数据生成所述预设读取配置数据。
本实施例中,在从预设读取配置数据中确定与目标数据源对应的目标配置数据之前,需要预先对预设读取配置数据进行配置。具体的,对于结构化数据库,根据第一指令进行相应配置,得到第一目标配置数据;对于结构化文件,根据第二指令进行相应配置,得到第二目标配置数据;对于半结构化文件,根据第三指令进行相应配置,得到第三目标配置数据,根据第一目标配置数据、第二目标配置数据和第三目标配置数据生成预设读取配置数据,通过对不同类型的数据分别进行设置目标配置数据,提高了数据处理速度和系统的容错能力。
其中,第一指令、第二指令和第三指令可以分别是用户发出的单个指令或一组指令。可选的,预设基础信息包括数据的索引名称、是否循环索引、每次读取的数据条数和循环数据读取完成后休眠的时间。抽取文件路径包含全路径、相对路径和FTP路径,FTP路径配置包括FTP的IP、用户和密码。
可选的,对触发器进行的配置包括创建触发表,并写入触发器的触发状态,以确定数据是新增、修改还是删除。
步骤S103,按照预设时间数据格式和预设空间数据格式将所述待接入数据转换为统一格式数据。
本实施例中,由于读取的待接入数据可能存在不同格式的时间数据和空间数据,为了便于数据的统计和查询,需要将不同格式的时间数据和空间数据分别进行格式统一。具体的,对于不同格式的时间数据,如2022年8月31日14时33分20秒或2022-8-3114:33:20等格式的时间数据,按照预设时间数据格式进行格式统一,为后续的排序和统计提供准备;对于不同格式的空间数据,按照预设空间数据格式(如包括点、线和面的格式)进行格式统一,为后续的范围、坐标等查询提供准备。统一格式数据中具有统一格式的时间数据和统一格式的空间数据,从而提高了基于Elasticsearch的数据处理效率。
步骤S104,若所述统一格式数据中存在文本文件,按预设抽取规则从所述文本文件中抽取正文文本。
本实施例中,如果统一格式数据中存在文本文件,就需要抽取其中的正文文本,从而为全文检索提供数据支撑。具体的,按预设抽取规则从文本文件中抽取正文文本。
在本申请一些实施例中,按预设抽取规则从所述文本文件中抽取正文文本,具体为:
若所述文本文件属于预设简单文件,根据所述文本文件的文件头或对所述文本文件进行遍历的结果确定目标字符集,根据所述目标字符集抽取所述正文文本;
若所述文本文件属于预设复杂文件,基于预设进程抽取所述正文文本,并将所述正文文本保存磁盘中。
本实施例中,将文本文件分为预设简单文件(如与UTF8或GB2312等字符集对应的文本)和预设复杂文件(如Office系列文件和PDF文件)。对于预设简单文件,若包括文件头,则通过读取文件头确定目标字符集;若不包括文件头,则通过遍历文本文件,根据遍历结果确定目标字符集。然后根据目标字符集抽取正文文本。对于预设复杂文件,文件样式多样和版本不一致,代码也复杂的多,出现错误的几率也十分的大,在多文件的处理时会出现内存释放不掉的问题,因此,采用预设进程抽取正文文本,这样就解决了内存释放不掉的问题,然后将抽取的正文文本保存磁盘中,通过将预设简单文本和预设复杂文本按照不同的方式进行正文文本抽取,提高了抽取效率。
在本申请一些实施例中,在按预设抽取规则从所述文本文件中抽取正文文本之前,所述方法还包括:
基于所述目标配置数据中的抽取文件路径获取所述文本文件。
本实施例中,抽取文件路径包括全路径、相对路径和FTP路径,FTP路径配置包括FTP的IP、用户和密码,从而实现准确的获取正文文本。
步骤S105,基于所述正文文本确定待提交数据,将所述待提交数据写入Elasticsearch。
本实施例中,基于正文文本确定待提交数据,然后将待提交数据写入Elasticsearch,完成将数据接入Elasticsearch,进而可基于Elasticsearch进行后续数据处理。
虽然抽取的正文文本中文件内容可以展示,但是文件的格式或文件内容的样式可能会丢失,例如文件中的多媒体数据(如Office的多媒体数据)丢失后,文件的可读性就非常差,另外,视频文件的格式也是多种多样,浏览器的视频播放器能播放的格式十分有限,视频的转换有十分的耗时。因此,为了保证可读性和提高浏览效率,在本申请一些实施例中,在按预设抽取规则从所述文本文件中抽取正文文本之后,所述方法还包括:
若所述正文文本中存在属于office类型的第一目标文件,按第一预设转换参数将所述第一目标文件转换为第二目标文件;
若所述正文文本中存在属于音视频类型的第三目标文件,按第二预设转换参数将所述第三目标文件转换为第四目标文件。
本实施例中,可基于文件后缀获取出属于office类型的第一目标文件,对于第一目标文件,可采用集成开源转换的库按第一预设转换参数实现将第一目标文件转换为第二目标文件。对于属于音视频类型的第三目标文件,按第二预设转换参数将所述第三目标文件转换为第四目标文件。其中,可根据文件后缀获取第三目标文件并确定出第二预设转换参数。可选的,第四目标文件为基于ffmpeg的文件,从而避免了正文文本中文件原有格式丢失的问题,保证了可读性,并提高了浏览效率。
在本申请一些实施例中,基于所述正文文本确定待提交数据,具体为:
将所述正文文本写入预设缓存;
若所述预设缓存中的数据达到预设数据量,将所述预设缓存中的数据进行组合,得到所述待提交数据。
本实施例中,将正文文本写入预设缓存,若预设缓存中的数据达到预设数据量,说明已经缓存了足够的数据,将预设缓存中的数据进行组合,得到待提交数据,从而更加高效的得到待提交数据。
在本申请一些实施例中,在将所述待提交数据写入Elasticsearch之后,所述方法还包括:
确定与所述待提交数据对应的本次写入数据;
若所述本次写入数据中存在第一待处理数据,根据所述目标配置数据确定所述第一待处理数据的第一主键,从所述Elasticsearch中刷新与所述第一主键对应的数据,所述第一待处理数据是在循环读取所述结构化数据库过程中产生的;
若所述本次写入数据中存在第二待处理数据,根据所述目标配置数据确定所述第二待处理数据的目标保存路径,从所述Elasticsearch中刷新与所述目标保存路径对应的数据,所述第二待处理数据是在循环读取所述结构化文件或半结构化文件过程中产生的。
本实施例中,将待提交数据写入Elasticsearch后得到本次写入数据,若本次写入数据中存在第一待处理数据,说明存在循环读取结构化数据库的过程存在新增、和/或修改、和/或删除的数据,根据目标配置数据确定第一待处理数据的第一主键,从Elasticsearch中刷新与第一主键对应的数据;若本次写入数据中存在第二待处理数据,说明在循环读取所述结构化文件或半结构化文件过程中存在新增、和/或修改、和/或删除的数据,根据目标配置数据确定第二待处理数据的目标保存路径,从Elasticsearch中刷新与目标保存路径对应的数据,从而节约了系统资源,同时避免了数据的重复处理。
通过应用以上技术方案,获取数据接入指令,根据数据接入指令确定目标数据源,目标数据源包括结构化数据库、和/或结构化文件、和/或半结构化文件;从预设读取配置数据中确定与目标数据源对应的目标配置数据,并基于目标配置数据从目标数据源中读取待接入数据;按照预设时间数据格式和预设空间数据格式将待接入数据转换为统一格式数据;若统一格式数据中存在文本文件,按预设抽取规则从文本文件中抽取正文文本;基于正文文本确定待提交数据,将待提交数据写入Elasticsearch,从而实现高效的将不同类型的数据接入Elasticsearch,进而可快速的对不同类型的数据进行全文检索和统计分析。
本申请实施例还提出了一种基于Elasticsearch的数据接入系统,如图2所示,所述系统包括:
确定模块201,用于获取数据接入指令,根据所述数据接入指令确定目标数据源,所述目标数据源包括结构化数据库、和/或结构化文件、和/或半结构化文件;
读取模块202,用于从预设读取配置数据中确定与所述目标数据源对应的目标配置数据,并基于所述目标配置数据从所述目标数据源中读取待接入数据;
转换模块203,用于按照预设时间数据格式和预设空间数据格式将所述待接入数据转换为统一格式数据;
抽取模块204,用于若所述统一格式数据中存在文本文件,按预设抽取规则从所述文本文件中抽取正文文本;
写入模块205,用于基于所述正文文本确定待提交数据,将所述待提交数据写入Elasticsearch。
在具体的应用场景中,读取模块202,具体用于:
若所述目标数据源为所述结构化数据库,基于所述目标配置数据连接所述结构化数据库并确定读取表和/或触发器,基于所述读取表从所述结构化数据库中读取需要单次读取的第一数据,和/或基于所述触发器从所述结构化数据库中读取需要循环读取的第二数据;
若所述目标数据源为所述结构化文件,基于所述目标配置数据确定目标索引,根据所述目标索引从所述结构化文件中读取需要单次读取的第三数据和/或需要循环读取的第四数据;
若所述目标数据源为所述半结构化文件,基于所述目标配置数据确定目标路径,根据所述目标路径从所述半结构化文件中读取需要单次读取的第五数据和/或需要循环读取的第六数据;
根据所述第一数据、和/或所述第二数据、和/或所述第三数据、和/或所述第四数据、和/或所述第五数据、和/或所述第六数据确定所述待接入数据。
在具体的应用场景中,所述系统还包括配置模块,用于:
根据第一指令对所述结构化数据库的数据的预设基础信息、抽取文件路径、用于进行单次读取的读取表、用于进行循环读取的触发器、字段的类型、与需要全文检索的字段对应的分词器进行配置,得到第一目标配置数据;
根据第二指令对所述结构化文件的数据的预设基础信息、抽取文件路径、数据读取索引、是否包含表头、数据之间的分隔符、字段的位置、字段的类型、与需要全文检索的字段对应的分词器、与循环读取对应的保存目录进行配置,得到第二目标配置数据;
根据第三指令对所述半结构化文件的数据的预设基础信息、抽取文件路径、数据读取路径、字段的类型、与需要全文检索的字段对应的分词器、与循环读取对应的保存路径进行配置,得到第三目标配置数据;
根据所述第一目标配置数据、所述第二目标配置数据和所述第三目标配置数据生成所述预设读取配置数据。
在具体的应用场景中,抽取模块204,具体用于:
若所述文本文件属于预设简单文件,根据所述文本文件的文件头或对所述文本文件进行遍历的结果确定目标字符集,根据所述目标字符集抽取所述正文文本;
若所述文本文件属于预设复杂文件,基于预设进程抽取所述正文文本,并将所述正文文本保存磁盘中。
在具体的应用场景中,所述系统还包括文件转换模块,用于:
若所述正文文本中存在属于office类型的第一目标文件,按第一预设转换参数将所述第一目标文件转换为第二目标文件;
若所述正文文本中存在属于音视频类型的第三目标文件,按第二预设转换参数将所述第三目标文件转换为第四目标文件。
在具体的应用场景中,写入模块205,具体用于:
将所述正文文本写入预设缓存;
若所述预设缓存中的数据达到预设数据量,将所述预设缓存中的数据进行组合,得到所述待提交数据。
在具体的应用场景中,所述系统还包括处理模块,用于:
确定与所述待提交数据对应的本次写入数据;
若所述本次写入数据中存在第一待处理数据,根据所述目标配置数据确定所述第一待处理数据的第一主键,从所述Elasticsearch中刷新与所述第一主键对应的数据,所述第一待处理数据是在循环读取所述结构化数据库过程中产生的;
若所述本次写入数据中存在第二待处理数据,根据所述目标配置数据确定所述第二待处理数据的目标保存路径,从所述Elasticsearch中刷新与所述目标保存路径对应的数据,所述第二待处理数据是在循环读取所述结构化文件或半结构化文件过程中产生的。
通过应用以上技术方案,基于Elasticsearch的数据接入系统包括:确定模块,用于获取数据接入指令,根据数据接入指令确定目标数据源,目标数据源包括结构化数据库、和/或结构化文件、和/或半结构化文件;读取模块,用于从预设读取配置数据中确定与目标数据源对应的目标配置数据,并基于目标配置数据从目标数据源中读取待接入数据;转换模块,用于按照预设时间数据格式和预设空间数据格式将待接入数据转换为统一格式数据;抽取模块,用于若统一格式数据中存在文本文件,按预设抽取规则从文本文件中抽取正文文本;写入模块,用于基于正文文本确定待提交数据,将待提交数据写入Elasticsearch,从而实现高效的将不同类型的数据接入Elasticsearch,进而可快速的对不同类型的数据进行全文检索和统计分析。
本发明实施例还提供了一种电子设备,如图3所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,
存储器303,用于存储处理器的可执行指令;
处理器301,被配置为经由执行所述可执行指令来执行:
获取数据接入指令,根据所述数据接入指令确定目标数据源,所述目标数据源包括结构化数据库、和/或结构化文件、和/或半结构化文件;
从预设读取配置数据中确定与所述目标数据源对应的目标配置数据,并基于所述目标配置数据从所述目标数据源中读取待接入数据;
按照预设时间数据格式和预设空间数据格式将所述待接入数据转换为统一格式数据;
若所述统一格式数据中存在文本文件,按预设抽取规则从所述文本文件中抽取正文文本;
基于所述正文文本确定待提交数据,将所述待提交数据写入Elasticsearch。
上述通信总线可以是PCI(PeripheralComponentInterconnect,外设部件互连标准)总线或EISA(ExtendedIndustryStandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括RAM(RandomAccessMemory,随机存取存储器),也可以包括非易失性存储器,例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括CPU(CentralProcessingUnit,中央处理器)、NP(NetworkProcessor,网络处理器)等;还可以是DSP(DigitalSignal Processing,数字信号处理器)、ASIC(ApplicationSpecificIntegratedCircuit,专用集成电路)、FPGA(Field-ProgrammableGateArray,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于Elasticsearch的数据接入方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如上所述的基于Elasticsearch的数据接入方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种基于Elasticsearch的数据接入方法,其特征在于,所述方法包括:
获取数据接入指令,根据所述数据接入指令确定目标数据源,所述目标数据源包括结构化数据库、和/或结构化文件、和/或半结构化文件;
从预设读取配置数据中确定与所述目标数据源对应的目标配置数据,并基于所述目标配置数据从所述目标数据源中读取待接入数据;
按照预设时间数据格式和预设空间数据格式将所述待接入数据转换为统一格式数据;
若所述统一格式数据中存在文本文件,按预设抽取规则从所述文本文件中抽取正文文本;
基于所述正文文本确定待提交数据,将所述待提交数据写入Elasticsearch;
基于所述目标配置数据从所述目标数据源中读取待接入数据,具体为:
若所述目标数据源为所述结构化数据库,基于所述目标配置数据连接所述结构化数据库并确定读取表和/或触发器,基于所述读取表从所述结构化数据库中读取需要单次读取的第一数据,和/或基于所述触发器从所述结构化数据库中读取需要循环读取的第二数据;
若所述目标数据源为所述结构化文件,基于所述目标配置数据确定目标索引,根据所述目标索引从所述结构化文件中读取需要单次读取的第三数据和/或需要循环读取的第四数据;
若所述目标数据源为所述半结构化文件,基于所述目标配置数据确定目标路径,根据所述目标路径从所述半结构化文件中读取需要单次读取的第五数据和/或需要循环读取的第六数据;
根据所述第一数据、和/或所述第二数据、和/或所述第三数据、和/或所述第四数据、和/或所述第五数据、和/或所述第六数据确定所述待接入数据;
在将所述待提交数据写入Elasticsearch之后,所述方法还包括:
确定与所述待提交数据对应的本次写入数据;
若所述本次写入数据中存在第一待处理数据,根据所述目标配置数据确定所述第一待处理数据的第一主键,从所述Elasticsearch中刷新与所述第一主键对应的数据,所述第一待处理数据是在循环读取所述结构化数据库过程中产生的;
若所述本次写入数据中存在第二待处理数据,根据所述目标配置数据确定所述第二待处理数据的目标保存路径,从所述Elasticsearch中刷新与所述目标保存路径对应的数据,所述第二待处理数据是在循环读取所述结构化文件或半结构化文件过程中产生的。
2.如权利要求1所述的方法,其特征在于,在从预设读取配置数据中确定与所述目标数据源对应的目标配置数据之前,所述方法还包括:
根据第一指令对所述结构化数据库的数据的预设基础信息、抽取文件路径、用于进行单次读取的读取表、用于进行循环读取的触发器、字段的类型、与需要全文检索的字段对应的分词器进行配置,得到第一目标配置数据;
根据第二指令对所述结构化文件的数据的预设基础信息、抽取文件路径、数据读取索引、是否包含表头、数据之间的分隔符、字段的位置、字段的类型、与需要全文检索的字段对应的分词器、与循环读取对应的保存目录进行配置,得到第二目标配置数据;
根据第三指令对所述半结构化文件的数据的预设基础信息、抽取文件路径、数据读取路径、字段的类型、与需要全文检索的字段对应的分词器、与循环读取对应的保存路径进行配置,得到第三目标配置数据;
根据所述第一目标配置数据、所述第二目标配置数据和所述第三目标配置数据生成所述预设读取配置数据。
3.如权利要求1所述的方法,其特征在于,按预设抽取规则从所述文本文件中抽取正文文本,具体为:
若所述文本文件属于预设简单文件,根据所述文本文件的文件头或对所述文本文件进行遍历的结果确定目标字符集,根据所述目标字符集抽取所述正文文本;
若所述文本文件属于预设复杂文件,基于预设进程抽取所述正文文本,并将所述正文文本保存磁盘中。
4.如权利要求1所述的方法,其特征在于,在按预设抽取规则从所述文本文件中抽取正文文本之后,所述方法还包括:
若所述正文文本中存在属于office类型的第一目标文件,按第一预设转换参数将所述第一目标文件转换为第二目标文件;
若所述正文文本中存在属于音视频类型的第三目标文件,按第二预设转换参数将所述第三目标文件转换为第四目标文件。
5.如权利要求1所述的方法,其特征在于,基于所述正文文本确定待提交数据,具体为:
将所述正文文本写入预设缓存;
若所述预设缓存中的数据达到预设数据量,将所述预设缓存中的数据进行组合,得到所述待提交数据。
6.一种基于Elasticsearch的数据接入系统,其特征在于,所述系统包括:
确定模块,用于获取数据接入指令,根据所述数据接入指令确定目标数据源,所述目标数据源包括结构化数据库、和/或结构化文件、和/或半结构化文件;
读取模块,用于从预设读取配置数据中确定与所述目标数据源对应的目标配置数据,并基于所述目标配置数据从所述目标数据源中读取待接入数据;
转换模块,用于按照预设时间数据格式和预设空间数据格式将所述待接入数据转换为统一格式数据;
抽取模块,用于若所述统一格式数据中存在文本文件,按预设抽取规则从所述文本文件中抽取正文文本;
写入模块,用于基于所述正文文本确定待提交数据,将所述待提交数据写入Elasticsearch;
基于所述目标配置数据从所述目标数据源中读取待接入数据,具体为:
若所述目标数据源为所述结构化数据库,基于所述目标配置数据连接所述结构化数据库并确定读取表和/或触发器,基于所述读取表从所述结构化数据库中读取需要单次读取的第一数据,和/或基于所述触发器从所述结构化数据库中读取需要循环读取的第二数据;
若所述目标数据源为所述结构化文件,基于所述目标配置数据确定目标索引,根据所述目标索引从所述结构化文件中读取需要单次读取的第三数据和/或需要循环读取的第四数据;
若所述目标数据源为所述半结构化文件,基于所述目标配置数据确定目标路径,根据所述目标路径从所述半结构化文件中读取需要单次读取的第五数据和/或需要循环读取的第六数据;
根据所述第一数据、和/或所述第二数据、和/或所述第三数据、和/或所述第四数据、和/或所述第五数据、和/或所述第六数据确定所述待接入数据;
在将所述待提交数据写入Elasticsearch之后,所述方法还包括:
确定与所述待提交数据对应的本次写入数据;
若所述本次写入数据中存在第一待处理数据,根据所述目标配置数据确定所述第一待处理数据的第一主键,从所述Elasticsearch中刷新与所述第一主键对应的数据,所述第一待处理数据是在循环读取所述结构化数据库过程中产生的;
若所述本次写入数据中存在第二待处理数据,根据所述目标配置数据确定所述第二待处理数据的目标保存路径,从所述Elasticsearch中刷新与所述目标保存路径对应的数据,所述第二待处理数据是在循环读取所述结构化文件或半结构化文件过程中产生的。
7.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~5中任意一项所述的基于Elasticsearch的数据接入方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~5中任意一项所述的基于Elasticsearch的数据接入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310051408.0A CN115934825B (zh) | 2023-02-02 | 2023-02-02 | 基于Elasticsearch的数据接入方法、系统、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310051408.0A CN115934825B (zh) | 2023-02-02 | 2023-02-02 | 基于Elasticsearch的数据接入方法、系统、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115934825A CN115934825A (zh) | 2023-04-07 |
CN115934825B true CN115934825B (zh) | 2023-08-25 |
Family
ID=86552598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310051408.0A Active CN115934825B (zh) | 2023-02-02 | 2023-02-02 | 基于Elasticsearch的数据接入方法、系统、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115934825B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399176A (zh) * | 2017-02-07 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 一种基于规则的数据处理方法及规则引擎装置 |
CN109344148A (zh) * | 2018-10-16 | 2019-02-15 | 万达信息股份有限公司 | 一种数据采集管理系统及方法 |
CN110765244A (zh) * | 2019-09-18 | 2020-02-07 | 平安科技(深圳)有限公司 | 获取应答话术的方法、装置、计算机设备及存储介质 |
CN112269974A (zh) * | 2020-11-09 | 2021-01-26 | 北京嘀嘀无限科技发展有限公司 | 一种数据管控的方法及系统 |
CN113127455A (zh) * | 2019-12-30 | 2021-07-16 | 北京奇虎科技有限公司 | 一种数据治理方法、装置、电子设备和可读存储介质 |
CN113688183A (zh) * | 2021-10-27 | 2021-11-23 | 深圳市信润富联数字科技有限公司 | 多类型数据源抽取方法、系统、终端设备以及存储介质 |
CN114168534A (zh) * | 2021-11-04 | 2022-03-11 | 广州广电运通信息科技有限公司 | 加快es文件进行本地全文检索的方法、系统、装置及介质 |
-
2023
- 2023-02-02 CN CN202310051408.0A patent/CN115934825B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108399176A (zh) * | 2017-02-07 | 2018-08-14 | 阿里巴巴集团控股有限公司 | 一种基于规则的数据处理方法及规则引擎装置 |
CN109344148A (zh) * | 2018-10-16 | 2019-02-15 | 万达信息股份有限公司 | 一种数据采集管理系统及方法 |
CN110765244A (zh) * | 2019-09-18 | 2020-02-07 | 平安科技(深圳)有限公司 | 获取应答话术的方法、装置、计算机设备及存储介质 |
CN113127455A (zh) * | 2019-12-30 | 2021-07-16 | 北京奇虎科技有限公司 | 一种数据治理方法、装置、电子设备和可读存储介质 |
CN112269974A (zh) * | 2020-11-09 | 2021-01-26 | 北京嘀嘀无限科技发展有限公司 | 一种数据管控的方法及系统 |
CN113688183A (zh) * | 2021-10-27 | 2021-11-23 | 深圳市信润富联数字科技有限公司 | 多类型数据源抽取方法、系统、终端设备以及存储介质 |
CN114168534A (zh) * | 2021-11-04 | 2022-03-11 | 广州广电运通信息科技有限公司 | 加快es文件进行本地全文检索的方法、系统、装置及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115934825A (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8938430B2 (en) | Intelligent data archiving | |
CN109471851B (zh) | 数据处理方法、装置、服务器和存储介质 | |
JP2014523024A (ja) | 増分データの抽出 | |
CN111221791A (zh) | 一种多源异构数据导入数据湖的方法 | |
Breje et al. | Comparative study of data sending methods for XML and JSON models | |
CN111046036A (zh) | 数据同步方法、装置、系统及存储介质 | |
CN103150362A (zh) | 一种视频搜索方法及系统 | |
CN114356851A (zh) | 数据文件的存储方法、装置、电子设备及存储介质 | |
RU2568276C2 (ru) | Способ извлечения полезного контента из установочных файлов мобильных приложений для дальнейшей машинной обработки данных, в частности поиска | |
JP7395377B2 (ja) | コンテンツ検索方法、装置、機器、および記憶媒体 | |
CN115934825B (zh) | 基于Elasticsearch的数据接入方法、系统、电子设备和存储介质 | |
US11789940B2 (en) | Natural language interface to databases | |
JP2013117873A (ja) | データベース処理方法 | |
CN116155597A (zh) | 访问请求的处理方法、装置及计算机设备 | |
CN109992695B (zh) | 一种视频信息查询方法及装置 | |
CN108984720B (zh) | 基于列存储的数据查询方法、装置、服务器及存储介质 | |
CN114185890B (zh) | 一种数据库检索方法、装置、存储介质及电子设备 | |
CN113297230B (zh) | 数据验证方法及装置 | |
CN115809268B (zh) | 一种基于分片索引的自适应查询方法和装置 | |
Toups | A study of three paradigms for storing geospatial data: distributed-cloud model, relational database, and indexed flat file | |
CN116126620A (zh) | 数据库日志处理方法、数据库变更查询方法及相关装置 | |
US11948024B2 (en) | Automated dynamic payload testing of OData APIs | |
US11914558B2 (en) | System and methods for object version tracking and read-time/write-time data federation | |
CN111459411B (zh) | 数据迁移方法、装置、设备及存储介质 | |
CN114385637A (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 |