一种索引管理方法、装置、设备及介质与流程

文档序号:35968164发布日期:2023-11-09 08:38阅读:26来源:国知局
一种索引管理方法、装置、设备及介质与流程

本发明涉及企业网技术,特别涉及一种索引管理方法、装置、设备及介质。


背景技术:

1、在安全监管系统中,每天都要从安全设备采集并存储数百万条安全日志,这些日志数据经过etl(即数据仓库技术)后保存在elasticsearch(即搜索引擎)中,数据的保存时限通常要求在1年以上,在安全监管系统的ui上要提供基于日志数据的各类统计图表,例如24小时攻击目的地址top5、7天攻击事件分布趋势等,同时在系统内部还有很多后台任务,需要定时从elasticsearch检索数据,进行各种评估和计算。

2、elasticsearch能够满足数据存储和检索的各种需求,但是当数据量非常大的时候,如果不在业务上对elasticsearch进行管理则会存在一些问题,例如:检索时如果不能通过时间范围筛选索引,而是使用通配符(例如event-*)的方式匹配索引,则可能匹配到大量索引和海量文档,这会导致查询响应速度变慢,甚至可能导致elasticsearch挂起无法响应新的请求;需要控制单个索引中写入的文档数,否则索引中的文档到达一定数量后就无法再写入新的文档;要避免生成过多文档数很少的索引,这些索引碎片会消耗系统的文件句柄、cpu和内存资源。

3、当前,elasticsearch6.7版本开始支持索引生命周期管理,索引生命周期管理可以自动管理索引的文档数量和索引的生存时间,在一定程度上解决超大索引和索引碎片的问题,但查询时仍根据通配符的方式匹配索引,不够灵活。

4、综上,如何提高索引匹配的灵活性是目前有待解决的问题。


技术实现思路

1、有鉴于此,本发明的目的在于提供一种索引管理方法、装置、设备及介质,能够提高索引匹配的灵活性。其具体方案如下:

2、第一方面,本技术公开了一种索引管理方法,包括:

3、每隔预设间隔时间调用目标接口查询各索引的当前状态信息,并判断所述当前状态信息是否满足预设状态更新条件;

4、根据判断结果更新对应索引的索引关系状态,并基于各索引和与每一所述索引对应的索引关系状态生成索引关系表;

5、若所述判断结果判定当前需要创建新索引,则根据当前创建时间生成所述新索引的索引名称和时间范围值,并将所述新索引添加至所述索引关系表;

6、当需要针对文档数据执行目标操作时,则基于与所述目标操作对应的目标时间确定出目标时间范围值,并从所述索引关系表中筛选出与所述目标时间范围值对应的目标索引,以便基于所述目标索引执行所述目标操作;所述目标操作包括文档插入操作和文档检索操作。

7、可选的,所述判断所述当前状态信息是否满足预设状态更新条件,包括:

8、确定预设状态更新条件中配置的索引最大文档数、索引关闭周期和索引过期周期,并确定各索引对应的索引关系状态;

9、若所述索引的索引关系状态为第一预设状态或第二预设状态,则判断所述当前状态信息中的索引文档数是否超过所述索引最大文档数;所述第一预设状态为用于表征所述索引为优先写入数据的状态,所述第二预设状态为用于表征所述索引为可写入数据状态;

10、若所述索引的索引关系状态为所述第二预设状态或第三预设状态,则判断所述当前状态信息中的索引创建时间是否超过所述索引关闭周期;所述第三预设状态为用于表征所述索引为只读状态;

11、若所述索引的索引关系状态为所述第二预设状态或所述第三预设状态或第四预设状态,则判断所述当前状态信息中的索引创建时间是否超过所述索引过期周期;所述第四预设状态为用于表征所述索引为关闭状态。

12、可选的,所述根据判断结果更新对应索引的索引关系状态,包括:

13、若所述索引的索引关系状态为第一预设状态,并且所述索引对应的索引文档数超过所述索引最大文档数,则将所述索引的索引关系状态更新为第二预设状态,以及创建新索引,并将所述新索引的索引关系状态设置为第一预设状态;

14、若所述索引的索引关系状态为第二预设状态,并且所述索引对应的索引文档数超过所述索引最大文档数,则将所述索引的索引关系状态更新为第三预设状态;

15、若所述索引的索引关系状态为第二预设状态或第三预设状态,并且所述索引对应的索引创建时间超过所述索引关闭周期,则将所述索引的索引关系状态更新为第四预设状态;

16、若所述索引的索引关系状态为第二预设状态或第三预设状态或第四预设状态,并且所述索引对应的索引创建时间超过所述索引过期周期,则将所述索引的索引关系状态更新为第五预设状态;所述第五状态为用于表征所述索引为过期状态。

17、可选的,所述索引管理方法,还包括:

18、遍历所述索引关系表,以获取各索引及其对应的索引关系状态;

19、若所述索引对应的所有索引关系状态均为第四预设状态,则调用所述目标接口关闭所述索引;

20、若所述索引对应的所有索引关系状态均为第五预设状态,则调用所述目标接口删除所述索引。

21、可选的,所述根据当前创建时间生成所述新索引的索引名称和时间范围值,包括:

22、根据当前创建时间、索引分类和索引序号生成所述新索引的索引名称;

23、根据所述当前创建时间并利用预设时间分区策略生成所述新索引的时间范围值;所述预设时间分区策略为将每一月份划分为若干个时间区域,并为每一所述时间区域进行赋值以得到对应的时间范围值。

24、可选的,所述当需要针对文档数据执行目标操作时,则基于与所述目标操作对应的目标时间确定出目标时间范围值,并从所述索引关系表中筛选出与所述目标时间范围值对应的目标索引,以便基于所述目标索引执行所述目标操作,包括:

25、当需要针对文档数据执行文档插入操作时,则确定待插入文档的生成时间,并利用所述预设时间分区策略确定出与所述生成时间对应的目标时间范围值;

26、从所述索引关系表中筛选出与所述目标时间范围值对应的目标索引,以便将所述待插入文档保存至所述目标索引中;

27、当需要针对文档数据执行文档检索操作时,则确定目标检索时间,并利用所述预设时间分区策略确定出与所述目标检索时间值对应的目标时间范围值;

28、从所述索引关系表中筛选出与所述目标时间范围值对应的目标索引,以便根据所述目标索引获取对应的索引名称。

29、可选的,所述从所述索引关系表中筛选出与所述目标时间范围值对应的目标索引,包括:

30、判断所述目标时间范围值是否过期,若过期,则对应的目标索引为空索引,若未过期,则判断所述索引关系表中是否存在与所述目标时间范围值对应的索引;

31、若不存在,则创建新索引,并将所述新索引作为目标索引;

32、若存在,则从所述索引关系表中获取与所述目标时间范围对应的所有索引及其索引关系状态,并筛选出索引关系状态满足预设条件的目标索引。

33、第二方面,本技术公开了一种索引管理装置,包括:

34、更新判断模块,用于每隔预设间隔时间调用目标接口查询各索引的当前状态信息,并判断所述当前状态信息是否满足预设状态更新条件;

35、关系表生成模块,用于根据判断结果更新对应索引的索引关系状态,并基于各索引和与每一所述索引对应的索引关系状态生成索引关系表;

36、新索引创建模块,用于若所述判断结果判定当前需要创建新索引,则根据当前创建时间生成所述新索引的索引名称和时间范围值,并将所述新索引添加至所述索引关系表;

37、目标操作执行模块,用于当需要针对文档数据执行目标操作时,则基于与所述目标操作对应的目标时间确定出目标时间范围值,并从所述索引关系表中筛选出与所述目标时间范围值对应的目标索引,以便基于所述目标索引执行所述目标操作;所述目标操作包括文档插入操作和文档检索操作。

38、第三方面,本技术公开了一种电子设备,包括:

39、存储器,用于保存计算机程序;

40、处理器,用于执行所述计算机程序,以实现前述公开的索引管理方法的步骤。

41、第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的索引管理方法的步骤。

42、可见,本技术每隔预设间隔时间调用目标接口查询各索引的当前状态信息,并判断所述当前状态信息是否满足预设状态更新条件;根据判断结果更新对应索引的索引关系状态,并基于各索引和与每一所述索引对应的索引关系状态生成索引关系表;若所述判断结果判定当前需要创建新索引,则根据当前创建时间生成所述新索引的索引名称和时间范围值,并将所述新索引添加至所述索引关系表;当需要针对文档数据执行目标操作时,则基于与所述目标操作对应的目标时间确定出目标时间范围值,并从所述索引关系表中筛选出与所述目标时间范围值对应的目标索引,以便基于所述目标索引执行所述目标操作;所述目标操作包括文档插入操作和文档检索操作。由此可见,本技术会定期调用目标接口查询各索引的当前状态信息,并在当前状态信息满足预设状态更新条件时更新对应索引的索引关系状态,再基于各索引和对应的索引关系状态生成索引关系表,便于索引的生命周期管理。若当前需要创建新索引时,会根据当前创建时间生成新索引的索引名称和时间范围值,也即本技术能够将创建的索引与时间范围值进行关联。当需要针对文档数据执行文档插入操作和文档检索操作时,会确定出与该操作对应的目标时间,进而确定出目标时间范围值,再利用目标时间范围值从索引关系表中筛选出匹配的目标索引,再进行后续的操作,也即本技术实现了根据时间范围筛选索引,从而匹配到合适的索引,提高了索引匹配的灵活性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1