CN110019200A - 一种索引的建立、使用方法及装置 - Google Patents

一种索引的建立、使用方法及装置 Download PDF

Info

Publication number
CN110019200A
CN110019200A CN201710922894.3A CN201710922894A CN110019200A CN 110019200 A CN110019200 A CN 110019200A CN 201710922894 A CN201710922894 A CN 201710922894A CN 110019200 A CN110019200 A CN 110019200A
Authority
CN
China
Prior art keywords
business
index
alias
list
time granularity
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.)
Granted
Application number
CN201710922894.3A
Other languages
English (en)
Other versions
CN110019200B (zh
Inventor
刘雄浩
许飞飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710922894.3A priority Critical patent/CN110019200B/zh
Publication of CN110019200A publication Critical patent/CN110019200A/zh
Application granted granted Critical
Publication of CN110019200B publication Critical patent/CN110019200B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及数据处理技术领域,特别涉及一种索引的建立、使用方法及装置。该方法为:分别针对各个业务,对应当前的时间粒度生成相应的业务索引,其中,时间粒度是指针对某个业务,生成相应的业务索引的周期;针对各个业务中的每一个业务分别执行以下操作:针对一个业务对应的各个业务索引,配置至少一个索引别名,其中,一个索引别名用于关联对应一个业务在一个指定的时间维度内,生成的至少一个业务索引。采用方法,不再需要以单个业务索引来承载一个业务对应的业务数据,从而提高了索引速度,进一步的,通过针对一个业务对应的索引配置的相应的索引别名,即可查询到需要的业务索引,实现了业务和索引之间的解耦,降低了业务代码的编码难度。

Description

一种索引的建立、使用方法及装置
技术领域
本申请涉及数据处理技术领域,特别涉及一种索引的建立、使用方法及装置。
背景技术
随着互联网技术的快速发展,互联网上的资源量和业务量迅速增长,基于Lucene的搜索服务器(ElasticSearch,ES)提供了一个分布式多用户能力的全文搜索引擎。ElasticSearch是用Java开发的,并作为Apache许可条款下的开放源码发布。相关技术中,通常采用的索引方式为,针对一个业务,创建一个相应的ES索引。然而,索引在创建之后,索引的关键属性不能再被改变,如,索引分片(shard)的个数,那么,随着业务上线时间的推移,累积业务数据越来越多,对单个索引的压力也越来越大,这样,就会导致索引速度慢,从而影响索引效率,以及所有时间段内的业务数据集中在一个索引上,不便于索引的后期维护。
当然,相关技术中,为了业务需要,也可以针对一个业务,在业务运行过程中,根据时间的推移而创建多个索引,即在开发业务程序,编写业务代码的过程中,在合适的地方插入创建索引的索引代码。然而,在创建新的索引的过程中,创建索引的索引代码与开发业务程序的业务代码耦合在一起,增加了业务代码的编码难度,不利于业务程序的开发。
有鉴于此,需要设计一种新的索引的建立、使用方法及装置,以弥补相关技术中存在的缺陷和不足之处。
发明内容
本申请实施例的目的是提供一种索引的建立、使用方法及装置,用以解决相关技术中存在的索引速度慢,以及创建索引的索引代码与开发业务程序的业务代码耦合在一起,从而增加业务代码的编码难度的问题。
本申请实施例提供的具体技术方案如下:
第一方面,一种索引的建立方法,包括:
分别针对各个业务,对应当前的时间粒度生成相应的业务索引,其中,所述时间粒度是指针对某个业务,生成相应的业务索引的周期;
针对所述各个业务中的每一个业务分别执行以下操作:针对一个业务对应的各个业务索引,配置至少一个索引别名,其中,一个索引别名用于关联对应所述一个业务在一个指定的时间维度内,生成的至少一个业务索引。
较佳的,在分别针对各个业务,对应当前的时间粒度生成相应的业务索引之前,进一步包括:
根据所述各个业务的业务索引需求,针对所述各个业务,分别设置相应的时间粒度。
较佳的,针对一个业务对应的各个业务索引,配置至少一个索引别名,具体包括:
针对所述一个业务,在至少一个指定的时间维度内生成的业务索引,建立相应的索引别名,其中,一个时间维度表征一段设定的时长范围,由设定数目的至少一个时间粒度组成。
较佳的,针对在至少一个指定的时间维度内生成的业务索引,建立相应的索引别名,具体包括:
针对所述一个业务对应的业务索引列表,定义至少一个索引别名,其中,一个索引别名可用于关联对应所述一个业务对应的业务索引列表中在一个指定的时间维度内,生成的至少一个业务索引。
较佳的,针对所述一个业务,定义第一索引别名,第二索引别名和第三索引别名;
其中,所述第一索引别名用于关联所述一个业务对应的业务索引列表中当前的时间粒度对应的一个业务索引,所述第二索引别名用于关联所述一个业务对应的业务索引列表中最近的N个时间粒度对应的N个业务索引,N为大于等于2的正整数,所述第三索引别名用于关联所述一个业务对应的业务索引列表中截止目前所有时间对应的所述业务索引列表中未被删除的所有业务索引。
较佳的,将所述一个业务当前生成的业务数据,对应所述第一索引别名写入。
第二方面,一种索引的使用方法,包括:
获取一个业务对应的业务索引列表,其中,所述业务索引列表中包含有针对所述一个业务,对应当前的时间粒度生成的相应的业务索引;
从所述一个业务对应的各个索引别名中,获取满足查询需求的索引别名,其中,一个索引别名用于关联所述一个业务在一个指定的时间维度内,生成的至少一个业务索引;
基于所述满足查询需求的索引别名,从所述业务索引列表中查询出与所述满足查询需求的索引别名相关联的业务索引。
第三方面,一种索引的建立方法,包括:
获取任务索引的生成时间序列;
根据所述时间粒度,为任务生成任务索引,其中,任务索引用于存储执行所述任务产生的数据。
较佳的,进一步包括:
为所述任务索引,配置至少一个索引别名,与所述索引别名关联。
第四方面,一种索引的建立装置,包括:
生成单元,用于分别针对各个业务,对应当前的时间粒度生成相应的业务索引,其中,所述时间粒度是指针对某个业务,生成相应的业务索引的周期;
执行单元,用于针对所述各个业务中的每一个业务分别执行以下操作:针对一个业务对应的各个业务索引,配置至少一个索引别名,其中,一个索引别名用于关联对应所述一个业务在一个指定的时间维度内,生成的至少一个业务索引。
较佳的,在针对一个业务对应的各个业务索引,配置至少一个索引别名时,所述执行单元具体用于:
针对所述一个业务,在至少一个指定的时间维度内生成的业务索引,建立相应的索引别名,其中,一个时间维度表征一段设定的时长范围,由设定数目的至少一个时间粒度组成。
较佳的,在针对在至少一个指定的时间维度内生成的业务索引,建立相应的索引别名时,所述执行单元具体用于:
针对所述一个业务对应的业务索引列表,定义至少一个索引别名,其中,一个索引别名可用于关联对应所述一个业务对应的业务索引列表中在一个指定的时间维度内,生成的至少一个业务索引。
较佳的,针对所述一个业务,定义第一索引别名,第二索引别名和第三索引别名;
其中,所述第一索引别名用于关联所述一个业务对应的业务索引列表中当前的时间粒度对应的一个业务索引,所述第二索引别名用于关联所述一个业务对应的业务索引列表中最近的N个时间粒度对应的N个业务索引,N为大于等于2的正整数,所述第三索引别名用于关联所述一个业务对应的业务索引列表中截止目前所有时间对应的所述业务索引列表中未被删除的所有业务索引。
较佳的,将所述一个业务当前生成的业务数据,对应所述第一索引别名写入。
第五方面,一种索引的使用装置,包括:
第一获取单元,用于获取一个业务对应的业务索引列表,其中,所述业务索引列表中包含有针对所述一个业务,对应当前的时间粒度生成的相应的业务索引;
第二获取单元,用于从所述一个业务对应的各个索引别名中,获取满足查询需求的索引别名,其中,一个索引别名用于关联所述一个业务在一个指定的时间维度内,生成的至少一个业务索引;
查询单元,用于基于所述满足查询需求的索引别名,从所述业务索引列表中查询出与所述满足查询需求的索引别名相关联的业务索引。
第六方面,一种索引建立装置,包括:
获取单元,用于获取任务索引的生成时间序列;
生成单元,用于根据所述时间粒度,为任务生成任务索引,其中,任务索引用于存储执行所述任务产生的数据。
较佳的,所述生成单元进一步用于:
为所述任务索引,配置至少一个索引别名,与所述索引别名关联。
第七方面,一种存储介质,存储有用于索引建立的程序,所述程序被处理器运行时,执行以下步骤:
分别针对各个业务,对应当前的时间粒度生成相应的业务索引,其中,所述时间粒度是指针对某个业务,生成相应的业务索引的周期;
针对所述各个业务中的每一个业务分别执行以下操作:针对一个业务对应的各个业务索引,配置至少一个索引别名,其中,一个索引别名用于关联对应所述一个业务在一个指定的时间维度内,生成的至少一个业务索引。
第八方面,一种通信装置,包括一个或多个处理器;以及
一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行如第一方面中任一项所述的方法。
第九方面,一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行如第一方面中任一项所述的方法。
本申请有益效果如下:
综上所述,本申请实施例中,在索引的建立的过程中,分别针对各个业务,对应当前的时间粒度生成相应的业务索引,其中,上述时间粒度是指针对某个业务,生成相应的业务索引的周期;针对上述各个业务中的每一个业务分别执行以下操作:针对一个业务对应的各个业务索引,配置至少一个索引别名,其中,一个索引别名用于关联对应上述一个业务在一个指定的时间维度内,生成的至少一个业务索引。
采用上述方法,针对一个业务,对应当前的时间粒度生成相应的业务索引,这样,就不再需要以单个业务索引来承载上述一个业务对应的业务数据,从而提高了索引速度,进一步的,通过针对上述一个业务对应的索引配置的相应的索引别名,即可查询到需要的业务索引,实现了业务和索引之间的解耦,降低了业务代码的编码难度。
附图说明
图1为本申请实施例中,一种索引的建立方法的详细流程图;
图2为本申请实施例中,一种索引的使用方法的详细流程图;
图3为本申请实施例中,另一种索引的建立方法的详细流程图;
图4为本申请实施例中,一种索引的建立装置的结构示意图;
图5为本申请实施例中,一种索引的使用装置的结构示意图;
图6为本申请实施例中,另一种索引的建立装置的结构示意图。
具体实施方式
为了解决相关技术中存在的索引速度慢,以及创建索引的索引代码与开发业务程序的业务代码耦合在一起,从而增加业务代码的编码难度的问题,本申请实施例中提供了一种新的索引的建立、使用方法及装置,该方法为:分别针对各个业务,对应当前的时间粒度生成相应的业务索引,其中,上述时间粒度是指针对某个业务,生成相应的业务索引的周期;针对上述各个业务中的每一个业务分别执行以下操作:针对一个业务对应的各个业务索引,配置至少一个索引别名,其中,一个索引别名用于关联对应上述一个业务在一个指定的时间维度内,生成的至少一个业务索引。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解本申请实施例介绍的技术方案,现给出部分术语的定义:
1、ElasticSearch:简称ES,一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。ElasticSearch是用Java开发的,并作为Apache许可条款下的开放源码发布。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
2、ES索引:用于存储执行相关业务时,产生的相关业务数据或文档。
3、时间粒度:是指针对一个业务,生成相应的业务索引的生成周期。时间粒度可以是一分钟,一小时,一天,两天,一周,一个月等等。
4、时间维度,表征一段设定的时长范围,由设定数目的时间粒度(至少一个)组成,其中,时间维度表征的时长范围具体指代的日期会随着时间的变化而变化。
下面将通过具体实施例对本申请的方案进行详细描述,当然,本申请并不限于以下实施例。
参阅图1所示,本申请提供的一个实施例中,以一个业务为例,针对上述一个业务,建立相应的业务索引的详细流程如下:
步骤100:针对一个业务,对应当前的时间粒度生成相应的业务索引。
实际应用中,ElasticSearch是一个基于Lucenne的搜索服务器。ElasticSearch中的业务索引,可用于存储与该业务索引相关联的业务的业务数据或文档,相当于传统数据库中的数据库。
具体的,本申请实施例中,一个业务对应的任一个索引中存储有与上述一个业务相关联的,在上述一个业务相对应的一个时间粒度的时间段内产生的所有业务数据或文档,较佳的,每一个业务数据或文档分别对应有一个索引名(index),业务数据或文档的所属类型(type)和业务数据或文档的身份标识(Identity,ID),其中,index相当于传统关系型数据库,type相当于传统关系型数据库中的数据表。
显然,可通过一个业务数据或文档相应的index,type和ID,可查询出该一个业务数据或文档。
具体的,本申请提供的一个实施例中,在执行步骤100时,在针对一个业务创建相应的业务索引的过程中,预先根据上述一个业务的业务索引需求,设置合适的时间粒度,并对应预设的时间粒度,生成多个业务索引。
也就是说,一个业务可对应多个业务索引,上述多个业务索引中的每一个业务索引上均承载有上述一个业务,在相应的一个时间粒度的时间段内的所有业务数据。
所谓时间粒度,是指针对一个业务,生成相应的业务索引的周期。时间粒度可以是一分钟,一小时,一天,两天,一周,一个月等等,本申请提供的一个实施例中,对时间粒度的设置不做具体限定,可根据不同的应用场景和/或不同的业务类型,设置合适的时间粒度。本申请提供的一个实施例中,以时间粒度为一天为例。
例如,假设针对业务名为business1的业务,将其对应的业务索引名称设置为business1_#time,其中,#time为变量,用于表征不同的时间粒度。若时间粒度为一天,则表明针对business1而言,每一天分别对应一个业务索引,如,可以采用但不限于以下方式来表述business1每天分别对应的业务索引:业务索引名称为business1_2017.02.01的业务索引上承载有business1在2017年2月1日的所有业务数据。
例如,假设业务A为统计购物平台1交易数据的业务,那么,针对业务A,其相应的任一业务索引中,均存储有指定时间段内的该购物平台的交易数据。其中,该交易数据中包括交易发生时间,交易产品编号,交易金额等等。
相似地,业务索引名称为business1_2017.02.02的业务索引上承载有business1在2017年2月2日的所有业务数据,业务索引名称为business1_2017.02.03的业务索引上承载有business1在2017年2月3日的所有业务数据。
步骤110:针对上述一个业务对应的各个业务索引,配置至少一个索引别名,其中,一个索引别名用于关联对应上述一个业务在一个指定的时间维度内,生成的至少一个业务索引。
显然,本申请提供的一个实施例中,针对上述一个业务,基于不同的索引别名,查询出的业务索引不同。
实际应用中,针对上述一个业务,随着时间的推移,对应时间粒度生成的业务索引的个数会越来越多(如,若时间粒度设置为一天,那么,针对上述一个业务,每一天均会生成一个新的业务索引),因此,可选的,在长期积累后,针对上述一个业务会形成一个业务索引列表。
进一步地,本申请提供的一个实施例中,在针对上述一个业务生成若干业务索引之后,可选的,可以针对在至少一个指定的时间维度内生成的业务索引,建立相应的索引别名,以便在需要针对上述一个业务进行业务索引查询时,使用满足查询需求的索引别名,从上述一个业务对应的业务索引列表中,查询出上述索引别名在至少一个指定的时间维度内关联的业务索引。
其中,一个时间维度表征一段设定的时长范围,由设定数目的时间粒度(至少一个)组成,其中,时间维度表征的时长范围具体指代的日期会随着时间的变化而变化。
例如,时间维度可以设置为“当天”,记录为#feed;设置为“最近一周”,记录为#search;设置为“截止目前所有时间”,记录为#roll。
基于上述时间维度的设置方式,可选的,在执行步骤110时,针对上述一个业务对应的业务索引列表,定义至少一个索引别名,其中,一个索引别名可用于关联对应上述一个业务对应的业务索引列表中在一个指定的时间维度内,生成的至少一个业务索引。
显然,不同类型的索引别名可用于关联对应业务索引列表中不同的业务索引。
例如,假设针对业务名为business1的业务设置的业务索引名称为business1_#time,其中,#time为变量,用于表征不同的时间粒度。假设以时间粒度为一天为例,当天日期为2017年02月06日,那么,针对business1生成的各个业务索引为:business1_2017.02.01,business1_2017.02.02,……,business1_2017.02.06,这样,就可以针对business1配置相应的第一索引别名(如,business1_#feed),第二索引别名(如,business1_#search)和第三索引别名(如,business1_#roll),其中,
business1_#feed用于关联business1_#time中当天日期对应的一个业务索引。例如:当天日期为2017年02月06日,那么,business1_#time关联的业务索引为:business1_2017.02.06);
business1_#search用于关联business1_#time中最近N(N为大于等于2的正整数)天对应的N个业务索引。例如:当天日期为2017年02月06日,business1_#search用于关联business1_#time中最近的3天对应的3个业务索引,那么,business1_#search关联的业务索引为:business1_2017.02.04,business1_2017.02.05,business1_2017.02.06);
business1_#roll用于关联business1_#time中,截止目前所有时间对应的索引列表中未被删除的所有业务索引。例如,当天日期为2017年02月06日,business1_#roll用于关联business1_#time中截止到当天日期所有日期对应的,且索引列表中未被删除的所有业务索引,那么,business1_#roll关联的业务索引为:business1_2017.02.01,business1_2017.02.02,business1_2017.02.03,business1_2017.02.04,business1_2017.02.05,business1_2017.02.06。
由上述配置方式可以看出,由于business1_#feed关联business1_#time中当天日期对应的一个业务索引,那么,针对business1的业务方而言,只需要将每天基于business1生成的业务数据,对应索引别名business1_#feed写入即可,而无需确认business1_#feed当天对应的是哪一个业务索引,具体的关联操作由服务后台执行,这样,便在业务和索引之间实现了完全解耦。
本申请提供的一个实施例中,针对上述一个业务生成的业务索引列表中,至少配置有相应的业务索引搜索窗口的大小(即上述一个业务对应的可查询的业务索引的数目),业务索引在业务索引列表中的保留时长等参数,以及是否删除上述一个业务对应的过期业务索引的指示信息,其中,过期业务索引是指超过针对上述一个业务配置的保留时长的业务索引。
进一步的,参阅图2所示,本申请提供的一个实施例中,以一个业务为例,针对上述一个业务,使用相应的业务索引的详细流程如下:
步骤200:获取一个业务对应的业务索引列表,其中,上述业务索引列表中包含有针对上述一个业务,对应当前的时间粒度生成的相应的业务索引。
实际应用中,针对一个业务,随着时间的推移,对应时间粒度生成的业务索引的个数会越来越多(如,若时间粒度设置为一天,那么,针对上述一个业务,每一天均会生成一个新的业务索引),因此,可选的,在长期积累后,针对上述一个业务会形成一个业务索引列表。该业务索引列表中包含有针对上述一个业务对应的至少一个业务索引,即上述业务列表中包含有截止到当天日期所有日期对应的,索引列表中未被删除的所有业务索引。
本申请实施例中,针对每一业务分别对应的业务索引列表中,分别配置有相应的业务搜索窗口大小(即一个业务对应的可查询的业务索引的数目),业务索引在业务索引列表中的保留时长等的配置参数,以及是否对一个业务对应的过期索引进行删除处理等的指示信息。
所谓时间粒度,是指针对一个业务,生成相应的业务索引的周期。可选的,时间粒度可以是一分钟,一小时,一天,两天,一周,一个月等等,本申请提供的一个实施例中,对时间粒度的设置不做具体限定,可根据不同的应用场景和/或不同的业务类型,设置合适的时间粒度。
例如,假设针对业务名为business1的业务,设置的时间粒度为一天,其对应的业务索引列表中配置的业务搜索窗口大小为2,业务索引在业务索引列表中的保留时长为3天,且指示删除过期索引。
又例如,假设针对业务名为business2的业务,设置的时间粒度为一小时,其对应的业务索引列表中配置的业务搜索窗口大小为12,业务索引在业务索引列表中保留时长为24小时,且指示不删除过期索引。
可选的,本申请提供的一个实施例中,以时间粒度为一天为例,在执行步骤200时,获取一个业务对应的业务索引列表,该业务索引列表中包含有针对上述一个业务对应的至少一个业务索引。即上述业务列表中包含有截止到当天日期所有日期对应的,索引列表中未被删除的所有业务索引。
进一步的,若确定上述业务索引列表中不存在当天日期对应的一个业务索引,根据针对上述一个业务预先的在业务索引列表中配置的业务搜索窗口大小,业务索引的保留时长等配置参数,在上述业务索引列表中创建当天日期对应的一个业务索引,以及根据是否删除上述一个业务对应的过期业务索引的指示信息,删除或关闭过期业务索引。
步骤210:从上述一个业务对应的各个索引别名中,获取满足查询需求的索引别名,其中,一个索引别名用于关联上述一个业务在一个指定的时间维度内,生成的至少一个业务索引。
实际应用中,针对一个业务,可建立至少一个索引别名,可选的,针对该一个业务在一个指定的时间维度内生成的业务索引,建立相应的索引别名,以便在需要针对该业务进行业务索引查询时,使用满足查询需求的索引别名,从该业务对应的索引列表中,搜索出该满足查询需求的索引别名关联的至少一个业务索引。
一个时间维度表征一段设定的时长范围,由设定数目的时间粒度(至少一个)组成,其中,以时间粒度为一天为例,时间维度表征的时长范围具体指代的日期会随着时间的变化而变化。
可选的,本申请提供的一个实施例中,针对同一业务可定义多个不同类型的索引别名,显然,不同类型的索引别名可用于关联业务索引列表中不同的业务索引。
例如,假设针对业务名为business1的业务设置的业务索引名称为business1_#time,其中,#time为变量,用于表征不同的时间粒度。假设以时间粒度为一天为例,针对business1设置的索引别名为:第一索引别名(如,business1_#feed),第二索引别名(如,business1_#search)和第三索引别名(如,business1_#roll),其中,可定义business1_#feed用于关联business1_#time中当天日期对应的一个业务索引,定义business1_#search用于关联business1_#time中最近7天对应的7个业务索引,定义business1_#roll用于关联business1_#time中,截止目前所有时间对应的索引列表中未被删除的所有业务索引。
步骤220:基于上述满足查询需求的索引别名,从上述业务索引列表中查询出与上述满足查询需求的索引别名相关联的业务索引。
实际应用中,针对同一个业务,由于不同类型的索引别名用于关联业务索引列表中不同业务索引,那么,在执行步骤220时,使用获取到的满足查询需求的索引别名,从上述一个业务对应的业务索引列表中,查询出与获取到的满足查询需求的索引别名相关联的业务索引。可选的,还可以进一步获取上述业务索引上承载的业务数据。
参阅图3所示,本申请实施例中,一种索引的建立方法的详细流程如下:
步骤300:获取任务索引的生成时间序列。
步骤310:根据所述时间粒度,为任务生成任务索引,其中,任务索引用于存储执行所述任务产生的数据。
进一步的,为所述任务索引,配置至少一个索引别名,与所述索引别名关联。
基于上述实施例,参阅图4所示,本申请实施例中,一种索引的建立装置,至少包括生成单元40和执行单元41,其中,
生成单元40,用于分别针对各个业务,对应当前的时间粒度生成相应的业务索引,其中,所述时间粒度是指针对某个业务,生成相应的业务索引的周期;
执行单元41,用于针对所述各个业务中的每一个业务分别执行以下操作:针对一个业务对应的各个业务索引,配置至少一个索引别名,其中,一个索引别名用于关联对应所述一个业务在一个指定的时间维度内,生成的至少一个业务索引。
较佳的,在针对一个业务对应的各个业务索引,配置至少一个索引别名时,所述执行单元41具体用于:
针对所述一个业务,在至少一个指定的时间维度内生成的业务索引,建立相应的索引别名,其中,一个时间维度表征一段设定的时长范围,由设定数目的至少一个时间粒度组成。
较佳的,在针对在至少一个指定的时间维度内生成的业务索引,建立相应的索引别名时,所述执行单元41具体用于:
针对所述一个业务对应的业务索引列表,定义至少一个索引别名,其中,一个索引别名可用于关联对应所述一个业务对应的业务索引列表中在一个指定的时间维度内,生成的至少一个业务索引。
较佳的,针对所述一个业务,定义第一索引别名,第二索引别名和第三索引别名;
其中,所述第一索引别名用于关联所述一个业务对应的业务索引列表中当前的时间粒度对应的一个业务索引,所述第二索引别名用于关联所述一个业务对应的业务索引列表中最近的N个时间粒度对应的N个业务索引,N为大于等于2的正整数,所述第三索引别名用于关联所述一个业务对应的业务索引列表中截止目前所有时间对应的所述业务索引列表中未被删除的所有业务索引。
较佳的,将所述一个业务当前生成的业务数据,对应所述第一索引别名写入。
参阅图5所示,本申请实施例中,一种索引的使用装置,至少包括第一获取单元50,第二获取单元51和查询单元52,其中,
第一获取单元50,用于获取一个业务对应的业务索引列表,其中,所述业务索引列表中包含有针对所述一个业务,对应当前的时间粒度生成的相应的业务索引;
第二获取单元51,用于从所述一个业务对应的各个索引别名中,获取满足查询需求的索引别名,其中,一个索引别名用于关联所述一个业务在一个指定的时间维度内,生成的至少一个业务索引;
查询单元52,用于基于所述满足查询需求的索引别名,从所述业务索引列表中查询出与所述满足查询需求的索引别名相关联的业务索引。
参阅图6所示,本申请实施例中,一种索引的建立装置,至少包括获取单元60和生成单元61,其中,
获取单元60,用于获取任务索引的生成时间序列;
生成单元61,用于根据所述时间粒度,为任务生成任务索引,其中,任务索引用于存储执行所述任务产生的数据。
较佳的,所述生成单元61进一步用于:
为所述任务索引,配置至少一个索引别名,与所述索引别名关联。
综上所述,本申请实施例中,在索引的建立的过程中,分别针对各个业务,对应当前的时间粒度生成相应的业务索引,其中,上述时间粒度是指针对某个业务,生成相应的业务索引的周期;针对上述各个业务中的每一个业务分别执行以下操作:针对一个业务对应的各个业务索引,配置至少一个索引别名,其中,一个索引别名用于关联对应上述一个业务在一个指定的时间维度内,生成的至少一个业务索引。
采用上述方法,针对一个业务,对应当前的时间粒度生成相应的业务索引,这样,就不再需要以单个业务索引来承载上述一个业务对应的业务数据,从而提高了索引速度,进一步的,通过针对上述一个业务对应的索引配置的相应的索引别名,即可查询到需要的业务索引,实现了业务和索引之间的解耦,降低了业务代码的编码难度。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

1.一种索引的建立方法,其特征在于,包括:
分别针对各个业务,对应当前的时间粒度生成相应的业务索引,其中,所述时间粒度是指针对某个业务,生成相应的业务索引的周期;
针对所述各个业务中的每一个业务分别执行以下操作:针对一个业务对应的各个业务索引,配置至少一个索引别名,其中,一个索引别名用于关联对应所述一个业务在一个指定的时间维度内,生成的至少一个业务索引。
2.如权利要求1所述的方法,其特征在于,在分别针对各个业务,对应当前的时间粒度生成相应的业务索引之前,进一步包括:
根据所述各个业务的业务索引需求,针对所述各个业务,分别设置相应的时间粒度。
3.如权利要求1或2所述的方法,其特征在于,针对一个业务对应的各个业务索引,配置至少一个索引别名,具体包括:
针对所述一个业务,在至少一个指定的时间维度内生成的业务索引,建立相应的索引别名,其中,一个时间维度表征一段设定的时长范围,由设定数目的至少一个时间粒度组成。
4.如权利要求3所述的方法,其特征在于,针对在至少一个指定的时间维度内生成的业务索引,建立相应的索引别名,具体包括:
针对所述一个业务对应的业务索引列表,定义至少一个索引别名,其中,一个索引别名可用于关联对应所述一个业务对应的业务索引列表中在一个指定的时间维度内,生成的至少一个业务索引。
5.如权利要求4所述的方法,其特征在于,针对所述一个业务,定义第一索引别名,第二索引别名和第三索引别名;
其中,所述第一索引别名用于关联所述一个业务对应的业务索引列表中当前的时间粒度对应的一个业务索引,所述第二索引别名用于关联所述一个业务对应的业务索引列表中最近的N个时间粒度对应的N个业务索引,N为大于等于2的正整数,所述第三索引别名用于关联所述一个业务对应的业务索引列表中截止目前所有时间对应的所述业务索引列表中未被删除的所有业务索引。
6.如权利要求5所述的方法,其特征在于,将所述一个业务当前生成的业务数据,对应所述第一索引别名写入。
7.一种索引的使用方法,其特征在于,包括:
获取一个业务对应的业务索引列表,其中,所述业务索引列表中包含有针对所述一个业务,对应当前的时间粒度生成的相应的业务索引;
从所述一个业务对应的各个索引别名中,获取满足查询需求的索引别名,其中,一个索引别名用于关联所述一个业务在一个指定的时间维度内,生成的至少一个业务索引;
基于所述满足查询需求的索引别名,从所述业务索引列表中查询出与所述满足查询需求的索引别名相关联的业务索引。
8.一种索引的建立方法,其特征在于,包括:
获取任务索引的生成时间序列;
根据所述时间粒度,为任务生成任务索引,其中,任务索引用于存储执行所述任务产生的数据。
9.如权利要求8所述的方法,其特征在于,进一步包括:
为所述任务索引,配置至少一个索引别名,与所述索引别名关联。
10.一种索引的建立装置,其特征在于,包括:
生成单元,用于分别针对各个业务,对应当前的时间粒度生成相应的业务索引,其中,所述时间粒度是指针对某个业务,生成相应的业务索引的周期;
执行单元,用于针对所述各个业务中的每一个业务分别执行以下操作:针对一个业务对应的各个业务索引,配置至少一个索引别名,其中,一个索引别名用于关联对应所述一个业务在一个指定的时间维度内,生成的至少一个业务索引。
11.一种索引的使用装置,其特征在于,包括:
第一获取单元,用于获取一个业务对应的业务索引列表,其中,所述业务索引列表中包含有针对所述一个业务,对应当前的时间粒度生成的相应的业务索引;
第二获取单元,用于从所述一个业务对应的各个索引别名中,获取满足查询需求的索引别名,其中,一个索引别名用于关联所述一个业务在一个指定的时间维度内,生成的至少一个业务索引;
查询单元,用于基于所述满足查询需求的索引别名,从所述业务索引列表中查询出与所述满足查询需求的索引别名相关联的业务索引。
12.一种索引建立装置,其特征在于,包括:
获取单元,用于获取任务索引的生成时间序列;
生成单元,用于根据所述时间粒度,为任务生成任务索引,其中,任务索引用于存储执行所述任务产生的数据。
13.一种存储介质,其特征在于,存储有用于索引建立的程序,所述程序被处理器运行时,执行以下步骤:
分别针对各个业务,对应当前的时间粒度生成相应的业务索引,其中,所述时间粒度是指针对某个业务,生成相应的业务索引的周期;
针对所述各个业务中的每一个业务分别执行以下操作:针对一个业务对应的各个业务索引,配置至少一个索引别名,其中,一个索引别名用于关联对应所述一个业务在一个指定的时间维度内,生成的至少一个业务索引。
14.一种通信装置,其特征在于,包括一个或多个处理器;以及
一个或多个计算机可读介质,所述可读介质上存储有指令,所述指令被所述一个或多个处理器执行时,使得所述装置执行如权利要求1至6中任一项所述的方法。
15.一个或多个计算机可读介质,其特征在于,所述可读介质上存储有指令,所述指令被一个或多个处理器执行时,使得通信设备执行如权利要求1至6中任一项所述的方法。
CN201710922894.3A 2017-09-30 2017-09-30 一种索引的建立、使用方法及装置 Active CN110019200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710922894.3A CN110019200B (zh) 2017-09-30 2017-09-30 一种索引的建立、使用方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710922894.3A CN110019200B (zh) 2017-09-30 2017-09-30 一种索引的建立、使用方法及装置

Publications (2)

Publication Number Publication Date
CN110019200A true CN110019200A (zh) 2019-07-16
CN110019200B CN110019200B (zh) 2023-05-09

Family

ID=67186412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710922894.3A Active CN110019200B (zh) 2017-09-30 2017-09-30 一种索引的建立、使用方法及装置

Country Status (1)

Country Link
CN (1) CN110019200B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428114A (zh) * 2020-03-27 2020-07-17 中国工商银行股份有限公司 Elasticsearch搜索引擎的索引创建方法及装置
CN112269903A (zh) * 2020-11-19 2021-01-26 咪咕文化科技有限公司 数据处理方法、数据处理设备及可读存储介质
CN112434041A (zh) * 2020-11-30 2021-03-02 中国人寿保险股份有限公司 基于索引别名的跨租户跨桶检索方法、装置、介质和设备
CN112925783A (zh) * 2021-03-26 2021-06-08 北京金山云网络技术有限公司 业务数据处理方法和装置、电子设备和存储介质
CN113177050A (zh) * 2021-05-18 2021-07-27 浙江大华技术股份有限公司 一种数据均衡的方法、装置、查询系统及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324642A (zh) * 2012-03-23 2013-09-25 日电(中国)有限公司 为数据建立索引的系统和方法以及数据查询方法
CN104090949A (zh) * 2014-07-02 2014-10-08 河海大学 面向水利数据整合与共享的索引方法
CN104598550A (zh) * 2014-12-31 2015-05-06 北京奇艺世纪科技有限公司 一种网络视频索引的更新方法和装置
CN104778252A (zh) * 2015-04-16 2015-07-15 天脉聚源(北京)传媒科技有限公司 索引的存储方法和装置
CN106156088A (zh) * 2015-04-01 2016-11-23 阿里巴巴集团控股有限公司 一种索引数据处理方法、数据查询方法及装置
CN106446171A (zh) * 2016-09-26 2017-02-22 天脉聚源(北京)科技有限公司 一种生成统计索引的方法及装置
CN107133350A (zh) * 2017-05-25 2017-09-05 努比亚技术有限公司 基于搜索引擎的数据更新方法、移动终端及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324642A (zh) * 2012-03-23 2013-09-25 日电(中国)有限公司 为数据建立索引的系统和方法以及数据查询方法
CN104090949A (zh) * 2014-07-02 2014-10-08 河海大学 面向水利数据整合与共享的索引方法
CN104598550A (zh) * 2014-12-31 2015-05-06 北京奇艺世纪科技有限公司 一种网络视频索引的更新方法和装置
CN106156088A (zh) * 2015-04-01 2016-11-23 阿里巴巴集团控股有限公司 一种索引数据处理方法、数据查询方法及装置
CN104778252A (zh) * 2015-04-16 2015-07-15 天脉聚源(北京)传媒科技有限公司 索引的存储方法和装置
CN106446171A (zh) * 2016-09-26 2017-02-22 天脉聚源(北京)科技有限公司 一种生成统计索引的方法及装置
CN107133350A (zh) * 2017-05-25 2017-09-05 努比亚技术有限公司 基于搜索引擎的数据更新方法、移动终端及存储介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111428114A (zh) * 2020-03-27 2020-07-17 中国工商银行股份有限公司 Elasticsearch搜索引擎的索引创建方法及装置
CN111428114B (zh) * 2020-03-27 2024-04-09 中国工商银行股份有限公司 Elasticsearch搜索引擎的索引创建方法及装置
CN112269903A (zh) * 2020-11-19 2021-01-26 咪咕文化科技有限公司 数据处理方法、数据处理设备及可读存储介质
CN112434041A (zh) * 2020-11-30 2021-03-02 中国人寿保险股份有限公司 基于索引别名的跨租户跨桶检索方法、装置、介质和设备
CN112925783A (zh) * 2021-03-26 2021-06-08 北京金山云网络技术有限公司 业务数据处理方法和装置、电子设备和存储介质
CN113177050A (zh) * 2021-05-18 2021-07-27 浙江大华技术股份有限公司 一种数据均衡的方法、装置、查询系统及存储介质

Also Published As

Publication number Publication date
CN110019200B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
CN110019200A (zh) 一种索引的建立、使用方法及装置
CN105243067B (zh) 一种实现实时增量同步数据的方法及装置
CN105468473B (zh) 数据迁移方法及数据迁移装置
CN103678494B (zh) 客户端同步服务端数据的方法及装置
CN110032571A (zh) 业务流程处理方法、装置、存储介质及计算设备
CN107688500A (zh) 一种分布式任务处理方法、装置、系统及设备
CN107748752B (zh) 一种数据处理方法及装置
CN111382956A (zh) 企业集团关系的挖掘方法和装置
CN109766349A (zh) 任务防重方法、装置、计算机设备及存储介质
CN111343241B (zh) 一种图数据更新方法、装置及系统
CN109919691A (zh) 一种数据处理的系统、方法以及装置
CN108200070A (zh) 一种生成榜单的方法及装置
CN112997168A (zh) 用于通过分析应用环境进行数据分析的系统和方法
CN104077680A (zh) 一种用于电商平台的合同管理系统
CN102946410A (zh) 网络同步方法和装置
US10963963B2 (en) Rule based hierarchical configuration
CN104298761A (zh) 一种异构软件系统间主数据匹配的实现方法
CN106250501B (zh) 报表处理方法及报表系统
CN108268615A (zh) 一种数据处理方法、装置以及系统
CN108242021A (zh) 一种账务数据的处理系统、方法及装置
CN111435329A (zh) 一种自动化测试方法和装置
CN106874341A (zh) 一种数据库同步方法
CN107656796A (zh) 一种虚拟机冷迁移方法、系统及设备
CN108959309B (zh) 数据分析的方法和装置
CN106294700A (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