一种提高检索速度的方法、装置、终端设备和存储介质制造方法及图纸

技术编号:22075640 阅读:38 留言:0更新日期:2019-09-12 14:07
本发明专利技术公开了一种提高检索速度的方法、装置、终端设备和存储介质,方法包括:获取用户终端实时上报的操作信息;按照事先定义好的索引路由规则创建不同的索引库,并将所述操作信息存储至对应的索引库中;获取用户的数据检索请求;响应于所述数据检索请求,判断用户的检索需求;其中,所述用户的需求包括租户当日聚合、租户当月聚合;根据用户的检索需求,将用户的检索需求匹配到相应的索引库中进行检索,以提高检索速度。能够在有限的计算资源以及内存资源解决亿级索引秒级的实时查询,并提高检索速度。

A Method, Device, Terminal Equipment and Storage Medium for Improving Retrieval Speed

【技术实现步骤摘要】
一种提高检索速度的方法、装置、终端设备和存储介质
本专利技术涉及计算机
,尤其涉及一种提高检索速度的方法、装置、终端设备和存储介质。
技术介绍
企业级SAAS平台,会有十几个到几十个的子系统,通常都会将这些子系统的所有日志和用户操作记录汇总在一起,进行检索和分析。比如:日访问量分析、月访问量分析、年访问量分析、用户地域分析、用户行为分析等。假设每秒记录100条记录,一个小时就有36万条记录,而一天将到达864万条记录。与膨胀的记录相矛盾的是,企业的硬件资源往往是很有限的,用于检索的集群节点很可能是在10台以内。目前企业的日志系统是基于ELK(Elasticsearch、Logstash及Kibana的简称)开发的。设备上报的信息会以日志的方式从ELK集群备份到分布式文件系统。当系统需要针对数据进行数据分析时,需要从分布式文件系统读取所有的文件信息进行检索。当企业数据达到亿级数量时,整体的检索数据就会达到几分钟,几十分钟,甚至花更多的时间,同时也影响到集群的性能,若要改变性能问题通常会进行服务器扩容,从而产生高额的扩容成本。
技术实现思路
本专利技术实施例提供了一种提高检索速度的方法、装置、索引终端和存储介质,本专利技术能够在有限的计算资源以及内存资源解决亿级索引秒级的实时查询,并提高检索速度。第一方面,本专利技术实施例提供了一种提高检索速度的方法,包括:获取用户终端实时上报的操作信息;按照事先定义好的索引路由规则创建不同的索引库,并将所述操作信息存储至对应的索引库中;获取用户的数据检索请求;响应于所述数据检索请求,判断用户的检索需求;其中,所述用户的需求包括租户当日聚合、租户当月聚合;根据用户的检索需求,将用户的检索需求匹配到相应的索引库中进行检索,以提高检索速度。优选地,所述获取用户终端实时上报的操作信息,具体为:接收用户终端发送的用户的操作信息,所述操作信息携带有以JSON格式实时记录的操作数据;其中,所述JSON格式至少包括rent_code:租户编码;invoke_time:操作时间;app_name:系统名称关键字段。优选地,按照事先定义好的索引路由规则创建不同的索引库,并将所述操作信息存储至对应的索引库中,具体为:通过笛卡尔积算法,将所述上报的操作信息,按租户编码以及操作时间生成的不同的笛卡尔积分库进行存储。优选地,每个租户使用一套独立的数据检索服务,租户间的数据相互隔离,互不影响。第二方面,本专利技术提供了一种提高检索速度的装置,包括:操作信息获取单元,用于获取用户终端实时上报的操作信息;存储单元,用于按照事先定义好的索引路由规则创建不同的索引库,并将所述操作信息存储至对应的索引库中;检索请求获取单元,用于获取用户的数据检索请求;响应单元,用于响应于所述数据检索请求,判断用户的检索需求;其中,所述用户的需求包括租户当日聚合、租户当月聚合;检索单元,用于根据用户的检索需求,将用户的检索需求匹配到相应的索引库中进行检索,以提高检索速度。优选地,所述操作信息获取单元,具体用于:接收用户终端发送的用户的操作信息,所述操作信息携带有以JSON格式实时记录的操作数据;其中,所述JSON格式至少包括rent_code:租户编码;invoke_time:操作时间;app_name:系统名称关键字段。优选地,存储单元,具体用于:通过笛卡尔积算法,将所述上报的操作信息,按租户编码以及操作时间生成的不同的笛卡尔积分库进行存储。第三方面,本专利技术实施例提供了一种提高检索速度的终端设备,包括处理器、存储器以及存储在所述存储器内的计算机程序,所述计算机程序能够被所述处理器执行以实现如第一方面所述的提高检索速度的方法。第四方面,本专利技术实施例提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如第一方面所述的提高检索速度的方法。实施本专利技术实施例,具有如下有益效果:本申请通过将用户终端实时上传的操作数据,按操作日期以及租户编码分门别类进行存储,然后在检索的时候就根据检索的需求进行检索,只需要将用户的检索需求匹配到相应的索引库中进行检索,以提高检索速度。同时能够在有限的计算资源以及内存资源解决亿级索引秒级的实时查询。附图说明为了更清楚地说明本专利技术的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术第一实施例提供的提高检索速度的方法的流程示意图。图2为本专利技术第二实施例提供的提高检索速度的装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1,本专利技术第一实施例提供了提高检索速度的方法,其可由索引终端来执行,特别的,由索引终端内的一个或多个处理器来执行,并至少包括如下步骤:S101,获取用户终端实时上报的操作信息。在本实施例中,接收用户终端发送的用户的操作信息,所述操作信息携带有以JSON格式实时记录的操作数据;其中,所述JSON格式至少包括rent_code:租户编码;invoke_time:操作时间;app_name:系统名称关键字段。具体地,每个子系统都有统一的日志、操作记录发送机制,每当用户的一个操作发生时,就会将该记录以JSON格式发送到Kafka消息中心,该格式的几个关键字段为——rent_code:租户编码;invoke_time:操作时间;app_name:系统名称。S102,按照事先定义好的索引路由规则创建不同的索引库,并将所述操作信息存储至对应的索引库中。在接收到该Kafka消息的系统,会按照事先定义好的索引路由规则创建不同的索引库,并将该条数据保存到对应的索引库中。比如:接收到rent_code:rent1;invoke_time:2019-05-18;app_name:user的数据,就会创建一个索引库名称为data-rent1-user-20190518的索引库,其中系统名称user可根据数据量的大小来决定是否需要该级别的路由。创建好该索引库后,即可将数据保存到该索引库中。如果保存到索引库前,该索引库已经存在,则不需要重复创建索引库。假设每秒100条数据中,由100个租户各发送一条数据。那么每个租户一天的索引库数据量为86400条,只是之前864万条记录的百分之一,如果按照子系统再进行拆分,该数据量将会更小。S103,获取用户的数据检索请求。S104,响应于所述数据检索请求,判断用户的检索需求;其中,所述用户的需求包括租户当日聚合、租户当月聚合。在本实施例中,所述检索需求包括:租户单日聚合、租户单月聚合、租户年度聚合、跨租户日聚合、跨租户月聚合以及跨租户年度聚合等S105,根据用户的检索需求,将用户的检索需求匹配到相应的索引库中进行检索,以提高检索速度。优选地,按照事先定义好的索引路由规则创建不同的索引库,本文档来自技高网...

【技术保护点】
1.一种提高检索速度的方法,其特征在于,包括:获取用户终端实时上报的操作信息;按照事先定义好的索引路由规则创建不同的索引库,并将所述操作信息存储至对应的索引库中;获取用户的数据检索请求;响应于所述数据检索请求,判断用户的检索需求;其中,所述用户的需求包括租户当日聚合、租户当月聚合;根据用户的检索需求,将用户的检索需求匹配到相应的索引库中进行检索,以提高检索速度。

【技术特征摘要】
1.一种提高检索速度的方法,其特征在于,包括:获取用户终端实时上报的操作信息;按照事先定义好的索引路由规则创建不同的索引库,并将所述操作信息存储至对应的索引库中;获取用户的数据检索请求;响应于所述数据检索请求,判断用户的检索需求;其中,所述用户的需求包括租户当日聚合、租户当月聚合;根据用户的检索需求,将用户的检索需求匹配到相应的索引库中进行检索,以提高检索速度。2.根据权利要求1所述的提高检索速度的方法,其特征在于,所述获取用户终端实时上报的操作信息,具体为:接收用户终端发送的用户的操作信息,所述操作信息携带有以JSON格式实时记录的操作数据;其中,所述JSON格式至少包括rent_code:租户编码;invoke_time:操作时间;app_name:系统名称关键字段。3.根据权利要求1所述的提高检索速度的方法,其特征在于,按照事先定义好的索引路由规则创建不同的索引库,并将所述操作信息存储至对应的索引库中,具体为:通过笛卡尔积算法,将所述上报的操作信息,按租户编码以及操作时间生成的不同的笛卡尔积分库进行存储。4.根据权利要求1所述的提高检索速度的方法,其特征在于,每个租户使用一套独立的数据检索服务,租户间的数据相互隔离,互不影响。5.一种提高检索速度的装置,其特征在于,包括:操作信息获取单元,用于获取用户终端实时上报的操作信息;存储单元,用于按照事先定义好的索引...

【专利技术属性】
技术研发人员:马志锋
申请(专利权)人:福建大屏网络科技有限公司
类型:发明
国别省市:福建,35

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

1