System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据的ES入库方法、系统、终端设备及存储介质技术方案_技高网

一种数据的ES入库方法、系统、终端设备及存储介质技术方案

技术编号:43155854 阅读:4 留言:0更新日期:2024-11-01 19:51
本发明专利技术公开了一种数据的ES入库方法、系统、终端设备及存储介质,所述方法包括:首先获取日志数据;然后将所述日志数据转存入本地文件队列,得到待入库数据;最后,基于预设规则对所述待入库数据进行批量ES入库。本申请中通过提前将日志数据存入本地文件队列中进行存储可以防止数据在存入ES之前丢失,而批量ES入库可以提高写入效率;同时对于入库失败的日志数据采用重试机制可以最大限度的确保数据的写入,对多次写入失败的数据则将其存入死信队列中进行永久保存,以确保任何时候都不会造成数据的丢失。

【技术实现步骤摘要】

本专利技术涉及数据入库,尤其涉及一种数据的es入库方法、系统、终端设备及存储介质。


技术介绍

1、随着科学技术的进步,网络使用量的急剧增加,会产生大量的日志数据,这些数据需要存储起来以便查看并进行数据分析,现有技术中,对于海量的日志数据通常采用实时转存入库,这种数据转存入库方法效率低下,且转存质量不理想,如果日志数据传输不成功,极容易造成数据丢失,数据安全得不到有效的保障。

2、因此,现有技术还有待改进。


技术实现思路

1、本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种数据的es入库方法、系统、终端设备及存储介质,旨在解决现有技术中对于海量日志数据入库时,处理效率低下且数据安全得不到保障的问题。

2、本专利技术解决问题所采用的技术方案如下:

3、第一方面,本专利技术实施例提供一种数据的es入库方法,其中,所述方法包括:

4、获取日志数据;

5、将所述日志数据转存入本地文件队列,得到待入库数据;

6、基于预设规则对所述待入库数据进行批量es入库。

7、在一种实现方式中,所述预设规则包括预设转存量和预设转存时间,所述基于预设规则对所述待入库数据进行批量es入库包括:

8、对所述待入库数据进行数据量统计,得到待入库数据量;

9、若所述待入库数据量达到预设转存量,则将所述待入库数据存入es库。

10、在一种实现方式中,所述基于预设规则对所述待入库数据进行批量es入库包括:

11、当所述日志数据存入所述本地文件队列时,开始入库计时,得到入库等待时长;

12、若所述入库等待时长达到预设转存时间,则将所述待入库数据存入es库。

13、在一种实现方式中,所述方法还包括:

14、若所述待入库数据入库成功,则将所述待入库数据从所述本地文件队列中删除。

15、在一种实现方式中,所述方法还包括:

16、若所述待入库数据入库失败,则进行重新入库,并确定入库失败次数;

17、若所述入库失败次数达到预设失败次数,则将所述待入库数据存入死信队列。

18、在一种实现方式中,所述方法还包括:

19、所述存入死信队列中的待入库数据永久保存。

20、在一种实现方式中,所述方法还包括:

21、若所述待入库数据入库失败,则提醒用户数据入库失败。

22、第二方面,本专利技术实施例还提供一种数据的es入库系统,其中,所述系统包括:

23、数据获取模块,用于获取日志数据;

24、数据转存模块,用于将所述日志数据转存入本地文件队列,得到待入库数据;

25、数据入库模块,用于基于预设规则对所述待入库数据进行批量es入库。

26、在一种实现方式中,所述数据入库模块包括:

27、数据量统计单元,用于对所述待入库数据进行数据量统计,得到待入库数据量;

28、第一数据入库单元,用于若所述待入库数据量达到预设转存量,则将所述待入库数据存入es库。

29、在一种实现方式中,所述数据入库模块包括:

30、入库时间统计单元,用于当所述日志数据存入所述本地文件队列时,开始入库计时,得到入库等待时长;

31、第二数据入库单元,用于若所述入库等待时长达到预设转存时间,则将所述待入库数据存入es库。

32、在一种实现方式中,所述系统还包括:

33、入库成功模块,用于若所述待入库数据入库成功,则将所述待入库数据从所述本地文件队列中删除。

34、入库失败统计模块,用于若所述待入库数据入库失败,则进行重新入库,并确定入库失败次数;

35、死信存储模块,用于若所述入库失败次数达到预设失败次数,则将所述待入库数据存入死信队列。

36、永久保持模块,用于将所述存入死信队列中的待入库数据永久保存。

37、用户提醒模块,用于若所述待入库数据入库失败,则提醒用户数据入库失败。

38、第三方面,本专利技术实施例还提供一种终端设备,其中,所述终端设备为商显终端,所述终端设备包括存储器、处理器以及存储在存储器中并可在处理器上运行的数据的es入库方法的程序,所述处理器执行所述数据的es入库方法的程序时,实现上述方案中任一项的数据的es入库方法的步骤。

39、第四方面,本专利技术实施例还提供一种计算机可读存储介质,其中,计算机可读存储介质上存储有数据的es入库方法的程序,所述数据的es入库方法的程序被处理器执行时,实现上述方案中任一项所述的数据的es入库方法的步骤。

40、本专利技术的有益效果:与现有技术相比,本专利技术提供一种数据的es入库方法、系统、终端设备及存储介质。具体地,本专利技术首先获取日志数据,然后将所述日志数据先转存入本地文件队列中,得到待入库数据;最后,基于预设规则对所述待入库数据进行批量es入库。本申请中通过提前将日志数据存入本地文件队列中进行存储可以防止数据在存入es之前丢失,然后采用批量es入库的方式进行数据入库处理可以提高写入效率;同时对于入库失败的日志数据采用重试机制可以最大限度的确保日志数据的写入,对多次写入失败的日志数据则将其存入死信队列中进行永久保存,以确保任何时候都不会造成数据丢失。

本文档来自技高网...

【技术保护点】

1.一种数据的ES入库方法,其特征在于,所述方法包括:

2.根据权利要求1所述数据的ES入库方法,其特征在于,所述预设规则包括预设转存量和预设转存时间,所述基于预设规则对所述待入库数据进行批量ES入库,包括:

3.根据权利要求2所述数据的ES入库方法,其特征在于,所述基于预设规则对所述待入库数据进行批量ES入库,包括:

4.根据权利要求1所述数据的ES入库方法,其特征在于,所述方法还包括:

5.根据权利要求1所述数据的ES入库方法,其特征在于,所述方法还包括:

6.根据权利要求5所述数据的ES入库方法,其特征在于,所述方法还包括:

7.根据权利要求1所述数据的ES入库方法,其特征在于,所述方法还包括:

8.一种数据的ES入库系统,其特征在于,所述系统包括:

9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在存储器中并可在处理器上运行的数据的ES入库方法程序,所述处理器执行所述数据的ES入库方法程序时,实现如权利要求1-7任一项所述的数据的ES入库方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据的ES入库方法程序,所述数据的ES入库程序被处理器执行时,实现如权利要求1-7任一项所述的数据的ES入库方法的步骤。

...

【技术特征摘要】

1.一种数据的es入库方法,其特征在于,所述方法包括:

2.根据权利要求1所述数据的es入库方法,其特征在于,所述预设规则包括预设转存量和预设转存时间,所述基于预设规则对所述待入库数据进行批量es入库,包括:

3.根据权利要求2所述数据的es入库方法,其特征在于,所述基于预设规则对所述待入库数据进行批量es入库,包括:

4.根据权利要求1所述数据的es入库方法,其特征在于,所述方法还包括:

5.根据权利要求1所述数据的es入库方法,其特征在于,所述方法还包括:

6.根据权利要求5所述数据的es入库方法,其特征在于,所述方法还包括:...

【专利技术属性】
技术研发人员:李贵辅陈晓明
申请(专利权)人:深圳开鸿数字产业发展有限公司
类型:发明
国别省市:

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

1