System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() Elasticsearch数据的读取方法和读取装置制造方法及图纸_技高网

Elasticsearch数据的读取方法和读取装置制造方法及图纸

技术编号:40425598 阅读:9 留言:0更新日期:2024-02-20 22:45
本申请提供了一种Elasticsearch数据的读取方法和读取装置。该方法包括:获取多个分区信息,一条分区信息包括一个分区的编号;将分区信息发送至多个第二目标服务器,并控制各第二目标服务器分别根据对应的分区信息读取对应的分区的数据,第二目标服务器为区别于第一目标服务器的第一服务器,分区信息与第二目标服务器一一对应。该方法解决了现有技术中的Flink系统读取Elasticsearch系统中的数据的方法效率低下的问题。

【技术实现步骤摘要】

本专利技术涉及计算机,具体而言,涉及一种elasticsearch数据的读取方法、elasticsearch数据的读取装置、计算机可读存储介质、处理器和elasticsearch数据的读取系统。


技术介绍

1、目前flink系统从elasticsearch系统中读取数据进行分析处理,一般有两种方式:

2、方式一:先将elasticsearch中的数据导入到hdfs(hadoop distribute filesystem,分布式文件系统)中,利用flink系统内置的hdfs数据源连接器再从hdfs中读取数据进行分析处理;

3、方式一的缺点:在实际应用场景中,要分析处理的数据量是巨大的,这就意味着把elasticsearch中的数据导入到hdfs是十分耗时的,往往很难满足业务时效性要求,同时也意味着一份数据需要两份存储,存储的成本是双倍的;

4、方式二:相比于第一种hdfs中转,集合中转无需第三方存储引擎,它在flink系统的主函数中循环读取elasticsearch的数据,每次读取的集合形成一个小的数据源,通过union合并操作将这些小的数据源形成一个完整的大的数据集;

5、方式二的缺点:由flink系统中的主函数中循环读取elasticsearch中的数据,导致只有运行主函数的那一台服务器在读取数据,没有充分利用flink系统分布式处理的特性,因此这种方案读取数据的效率是非常低的,在海量数据的场景下,读取数据往往需要耗费大量的时间。

6、由上可知,现有技术中的flink系统读取elasticsearch中的数据的方法效率低下。


技术实现思路

1、本申请的主要目的在于提供一种elasticsearch数据的读取方法、elasticsearch数据的读取装置、计算机可读存储介质、处理器和elasticsearch数据的读取系统,以至少解决现有技术中的flink系统读取elasticsearch系统中的数据的方法效率低下的问题。

2、为了实现上述目的,根据本申请的一个方面,提供了一种elasticsearch数据的读取方法,flink系统包括多个第一服务器,elasticsearch系统包括多个第二服务器,每个所述第一服务器均与所有的所述第二服务器通信连接,一个所述第二服务器配置有至少一个分区,一个所述分区用于存储多条数据,所述方法应用于第一目标服务器,所述第一目标服务器为多个所述第一服务器中的一个,所述方法包括:获取多个分区信息,一条所述分区信息包括一个所述分区的编号;将所述分区信息发送至多个第二目标服务器,并控制各所述第二目标服务器分别根据对应的所述分区信息读取对应的所述分区的所述数据,所述第二目标服务器为区别于所述第一目标服务器的所述第一服务器,所述分区信息与所述第二目标服务器一一对应。

3、可选地,控制各所述第二目标服务器分别根据对应的所述分区信息读取对应的所述分区的所述数据,包括:第一发送步骤,控制第三目标服务器将目标分区信息、第一请求信息和滚动时间发送至第四目标服务器,所述第三目标服务器为多个所述第二目标服务器中的任意一个,所述目标分区信息为所述第三目标服务器对应的所述分区信息,所述第一请求信息表征请求基于所述滚动时间以滚动查询方式读取目标分区的所述数据,所述目标分区为所述目标分区信息对应的所述分区,所述第四目标服务器为所述目标分区所属的所述第二服务器,所述第四目标服务器用于在接收到所述第一请求信息的情况下向所述第三目标服务器返回一个数据集,一个所述数据集包括所述目标分区的多条所述数据;接收步骤,接收所述第四目标服务器发送的所述数据集和滚动id;第一处理步骤,控制所述第三目标服务器采用数据处理方法对所述数据集进行处理,所述数据处理方法为以下中的任意一种:数据清洗、格式转化;第二发送步骤,控制所述第三目标服务器将第二请求信息和所述滚动id发送至所述第四目标服务器,所述第二请求信息表征请求基于所述滚动时间和所述滚动id以所述滚动查询方式读取所述目标分区的所述数据,所述第四目标服务器用于在接收到所述第二请求信息的情况下向所述第三目标服务器返回一个所述数据集;依次重复所述接收步骤、所述第一处理步骤和所述第二发送步骤至少一次,直至所述第四目标服务器发送的所述数据集不包含所述数据结束。

4、可选地,所述目标分区具有读标识,所述读标识为未读标识或已读标识,所述未读标识表示所述目标分区的所有的所述数据均未被读取,所述已读标识表示所述目标分区中的至少一条所述数据已被读取,控制第三目标服务器将目标分区信息、第一请求信息和滚动时间发送至第四目标服务器,包括:在所述目标分区的所述读标识为所述未读标识的情况下,控制所述第三目标服务器将所述目标分区信息、所述第一请求信息和所述滚动时间发送至所述第四目标服务器。

5、可选地,一个所述第二服务器具有一个内存,在采用数据处理方法对所述数据集进行处理之前,所述方法还包括:控制所述第三目标服务器将根据所述数据集存储至目标内存中,所述目标内存为所述第三目标服务器的所述内存。

6、可选地,控制所述第三目标服务器采用数据处理方法对所述数据集进行处理,包括:读取步骤,控制所述第三目标服务器从所述目标内存中读取目标数据,所述目标数据为所述目标内存中的多条所述数据中的任意一条;第二处理步骤,控制所述第三目标服务器采用所述数据处理方法对所述目标数据进行处理;依次重复所述读取步骤和所述第二处理步骤至少一次,直至所述目标内存中的所有的所述数据全部读取完毕。

7、可选地,在控制第三目标服务器将目标分区信息、第一请求信息和滚动时间发送至第四目标服务器之前,所述方法还包括:在所述第三目标服务器上创建elasticsearch客户端,所述第四目标服务器用于在接收到所述第一请求信息或所述第二请求信息的情况下从所述目标分区读取一个所述数据集,并将所述数据集发送至所述第三目标服务器的所述elasticsearch客户端。

8、根据本申请的另一方面,提供了一种elasticsearch数据的读取装置,flink系统包括多个第一服务器,elasticsearch系统包括多个第二服务器,每个所述第一服务器均与所有的所述第二服务器通信连接,一个所述第二服务器配置有至少一个分区,一个所述分区用于存储多条数据,所述装置应用于第一目标服务器,所述第一目标服务器为多个所述第一服务器中的一个,所述装置包括:获取单元,用于获取多个分区信息,一条所述分区信息包括一个所述分区的编号;读取单元,用于将所述分区信息发送至多个第二目标服务器,并控制各所述第二目标服务器分别根据对应的所述分区信息读取对应的所述分区的所述数据,所述第二目标服务器为区别于所述第一目标服务器的所述第一服务器,所述分区信息与所述第二目标服务器一一对应。

9、根据本申请的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一种所述的elast本文档来自技高网...

【技术保护点】

1.一种Elasticsearch数据的读取方法,其特征在于,Flink系统包括多个第一服务器,Elasticsearch系统包括多个第二服务器,每个所述第一服务器均与所有的所述第二服务器通信连接,一个所述第二服务器配置有至少一个分区,一个所述分区用于存储多条数据,所述方法应用于第一目标服务器,所述第一目标服务器为多个所述第一服务器中的一个,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,控制各所述第二目标服务器分别根据对应的所述分区信息读取对应的所述分区的所述数据,包括:

3.根据权利要求2所述的方法,其特征在于,所述目标分区具有读标识,所述读标识为未读标识或已读标识,所述未读标识表示所述目标分区的所有的所述数据均未被读取,所述已读标识表示所述目标分区中的至少一条所述数据已被读取,控制第三目标服务器将目标分区信息、第一请求信息和滚动时间发送至第四目标服务器,包括:

4.根据权利要求2所述的方法,其特征在于,一个所述第二服务器具有一个内存,在采用数据处理方法对所述数据集进行处理之前,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,控制所述第三目标服务器采用数据处理方法对所述数据集进行处理,包括:

6.根据权利要求2所述的方法,其特征在于,在控制第三目标服务器将目标分区信息、第一请求信息和滚动时间发送至第四目标服务器之前,所述方法还包括:

7.一种Elasticsearch数据的读取装置,其特征在于,Flink系统包括多个第一服务器,Elasticsearch系统包括多个第二服务器,每个所述第一服务器均与所有的所述第二服务器通信连接,一个所述第二服务器配置有至少一个分区,一个所述分区用于存储多条数据,所述装置应用于第一目标服务器,所述第一目标服务器为多个所述第一服务器中的一个,所述装置包括:

8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至6中任意一项所述的Elasticsearch数据的读取方法。

9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至6中任意一项所述的Elasticsearch数据的读取方法。

10.一种Elasticsearch数据的读取系统,其特征在于,包括:Flink系统和Elasticsearch系统,所述Flink系统包括多个第一服务器,所述Elasticsearch系统包括多个第二服务器,每个所述第一服务器均与所有的所述第二服务器通信连接,一个所述第二服务器配置有至少一个分区,一个所述分区用于存储多条数据,第一目标服务器为多个所述第一服务器中的一个,所述第一目标服务器包括:一个或多个处理器,存储器,以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行权利要求1至6中任意一项所述的Elasticsearch数据的读取方法。

...

【技术特征摘要】

1.一种elasticsearch数据的读取方法,其特征在于,flink系统包括多个第一服务器,elasticsearch系统包括多个第二服务器,每个所述第一服务器均与所有的所述第二服务器通信连接,一个所述第二服务器配置有至少一个分区,一个所述分区用于存储多条数据,所述方法应用于第一目标服务器,所述第一目标服务器为多个所述第一服务器中的一个,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,控制各所述第二目标服务器分别根据对应的所述分区信息读取对应的所述分区的所述数据,包括:

3.根据权利要求2所述的方法,其特征在于,所述目标分区具有读标识,所述读标识为未读标识或已读标识,所述未读标识表示所述目标分区的所有的所述数据均未被读取,所述已读标识表示所述目标分区中的至少一条所述数据已被读取,控制第三目标服务器将目标分区信息、第一请求信息和滚动时间发送至第四目标服务器,包括:

4.根据权利要求2所述的方法,其特征在于,一个所述第二服务器具有一个内存,在采用数据处理方法对所述数据集进行处理之前,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,控制所述第三目标服务器采用数据处理方法对所述数据集进行处理,包括:

6.根据权利要求2所述的方法,其特征在于,在控制第三目标服务器将目标分区信息、第一请求信息和滚动时间发送至第四目标服务器之前,所述方法还包括:

7.一种elasticsearch数据的读取装置,其特征在于,flin...

【专利技术属性】
技术研发人员:胡美鑫范丽文孙峰刁兆富贾珍珠
申请(专利权)人:中国邮政储蓄银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1