CN115145913A - 报表的检索方法及装置 - Google Patents
报表的检索方法及装置 Download PDFInfo
- Publication number
- CN115145913A CN115145913A CN202210163146.2A CN202210163146A CN115145913A CN 115145913 A CN115145913 A CN 115145913A CN 202210163146 A CN202210163146 A CN 202210163146A CN 115145913 A CN115145913 A CN 115145913A
- Authority
- CN
- China
- Prior art keywords
- report
- index table
- reverse index
- full
- nodes
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/221—Column-oriented storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/243—Natural language query formulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种报表的检索方法及装置,可用于金融领域,该方法包括:获得业务系统内的全量报表,建立全量报表的反向索引表,其中,反向索引表包括:全量报表中的关键词,以及包含每个关键词的报表地址;将全量报表的反向索引表划分为多个分片,将各个分片存储在Elasticsearch集群的多个节点中;接收客户端输入的目标关键词,从Elasticsearch集群的多个节点中查询包含目标关键词的报表地址,将包含目标关键词的报表返回至客户端,进而通过建立反向索引表,基于分片处理和Elasticsearch集群的分布式存储,提高了报表的检索效率,实现了报表检索的高可用性、高并发性和可扩展性。
Description
技术领域
本发明涉及报表的检索方法及装置,可用于金融领域。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
企业级架构数据治理平台中,报表的检索是一个重点,传统的Oracle数据库或Gbase数据库是基于列的储存模式,对于单信息的检索需要遍历数据库表的每一列,效率较低,Mysql等数据库的检索效率虽然高,但是建立索引的机制较为复杂,需要通过长期的查询调用筛查才能获得足够优化的索引,此外,上述数据库都是基于外存的储存方式,在检索时的内外存的读取也需要消耗时间和成本,难以满足企业级架构数据治理平台的报表检索需求。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供一种报表的检索方法,用以提高报表的检索效率,该方法包括:
获得业务系统内的全量报表,建立全量报表的反向索引表,其中,反向索引表包括:全量报表中的关键词,以及包含每个关键词的报表地址;
将全量报表的反向索引表划分为多个分片,将各个分片存储在Elasticsearch集群的多个节点中;
接收客户端输入的目标关键词,从Elasticsearch集群的多个节点中查询包含目标关键词的报表地址,将包含目标关键词的报表返回至客户端。
本发明实施例提供一种报表的检索装置,用以提高报表的检索效率,该装置包括:
反向索引表建立模块,用于获得业务系统内的全量报表,建立全量报表的反向索引表,其中,反向索引表包括:全量报表中的关键词,以及包含每个关键词的报表地址;
分布式存储模块,用于将全量报表的反向索引表划分为多个分片,将各个分片存储在Elasticsearch集群的多个节点中;
检索模块,用于接收客户端输入的目标关键词,从Elasticsearch集群的多个节点中查询包含目标关键词的报表地址,将包含目标关键词的报表返回至客户端。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述报表的检索方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述报表的检索方法。
本发明实施例还提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序被处理器执行时实现上述报表的检索方法。
本发明实施例通过:获得业务系统内的全量报表,建立全量报表的反向索引表,其中,反向索引表包括:全量报表中的关键词,以及包含每个关键词的报表地址;将全量报表的反向索引表划分为多个分片,将各个分片存储在Elasticsearch集群的多个节点中;接收客户端输入的目标关键词,从Elasticsearch集群的多个节点中查询包含目标关键词的报表地址,将包含目标关键词的报表返回至客户端,进而通过建立反向索引表,可以直接查询包含目标关键词的报表,提高了报表的检索效率,基于分片处理和Elasticsearch集群的分布式存储能够将反向索引表进行内存存储,实现了报表检索的高可用性、高并发性和可扩展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中报表的检索方法流程的示意图;
图2为本发明实施例中报表的检索整体架构的示意图;
图3为图1中步骤101具体流程的示意图;
图4为图3中步骤302具体流程的示意图;
图5为本发明实施例中报表的检索装置结构的示意图;
图6为本发明实施例中报表的检索装置另一结构的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、装置、方法或计算机程序产品。因此,本发明公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
本发明实施例提供一种报表的检索方法,用以提高报表的检索效率,图1为本发明实施例中报表的检索方法流程的示意图,如图1所示该方法包括:
步骤101:获得业务系统内的全量报表,建立全量报表的反向索引表,其中,反向索引表包括:全量报表中的关键词,以及包含每个关键词的报表地址;
步骤102:将全量报表的反向索引表划分为多个分片,将各个分片存储在Elasticsearch集群的多个节点中;
步骤103:接收客户端输入的目标关键词,从Elasticsearch集群的多个节点中查询包含目标关键词的报表地址,将包含目标关键词的报表返回至客户端。
如图1所示,本发明实施例通过:获得业务系统内的全量报表,建立全量报表的反向索引表,其中,反向索引表包括:全量报表中的关键词,以及包含每个关键词的报表地址;将全量报表的反向索引表划分为多个分片,将各个分片存储在Elasticsearch集群的多个节点中;接收客户端输入的目标关键词,从Elasticsearch集群的多个节点中查询包含目标关键词的报表地址,将包含目标关键词的报表返回至客户端,进而通过建立反向索引表,可以直接查询包含目标关键词的报表,提高了报表的检索效率,基于分片处理和Elasticsearch集群的分布式存储能够将反向索引表进行内存存储,实现了报表检索的高可用性、高并发性和可扩展性。
具体实施时,图2为本发明实施例中报表的检索整体架构的示意图,如图2所示,本发明实施例首先需要建立Elasticsearch(ES)集群,ES是一种基于Lucene的搜索服务器,ES集群包括一个或者多个节点,这些节点具有相同的集群名称,并且自动选举主节点,节点为属于ES集群的服务器,在系统启动时,节点将使用单播来发现具有相同集群名称的现有集群,并将尝试加入该集群,ES集群具有较好的水平可扩展性,通过购置更多的服务器,可以实现海量数据的内存形式的分布式存储。
图3为图1中步骤101具体流程的示意图,如图3所示,在一个实施例中,建立全量报表的反向索引表,包括:
步骤301:遍历全量报表,读取每个报表的报表头和报表字段;
步骤302:对报表头和报表字段进行分词处理,得到报表中的关键词;
步骤303:根据全量报表中的关键词,确定包含每个关键词的报表地址,建立全量报表的反向索引表。
具体实施时,本发明实施例可以基于ES建立反向索引,与传统的数据库不同,在ES中,每个字段里面的每个单词都是可以被搜索的。如teacher:“zls,bgx,lidao,oldboy,alex”我们在搜索关键字oldboy时,所有包含oldboy的文档都会被匹配到,ES的这个特性也叫做全文搜索,为了支持这个特性,ES中会维护一个叫做“invertedindex”(反向索引)的表,表内包含了所有文档中出现的所有单词,同时记录了这个单词在哪个文档中出现过。反向索引表是不可更改的,一旦它被建立了,里面的数据就不会再进行更改。这样做就带来了以下几个好处:
1)没有必要给反向索引表加锁,因为不允许被更改,只有读操作,所以就不用考虑多线程导致互斥等问题;
2)反向索引表一旦被加载到了缓存中,大部分访问操作都是对内存的读操作,省去了访问磁盘带来的io开销;
3)因为反向索引表的不可变性,所有基于该反向索引表而产生的缓存也不需要更改,因为没有数据变更;
4)使用反向索引可以压缩数据,减少磁盘io及对内存的消耗。
因此,本发明实施例中,可以获取业务系统内的全量报表,遍历全量报表,读取每个报表的报表头和报表字段,对报表头和报表字段进行分词处理,得到报表中的关键词,根据全量报表中的关键词,确定包含每个关键词的报表地址,建立全量报表的反向索引表,通过建立反向索引表,可以直接查询包含指定关键词的报表,提高了报表的检索效率。
图4为图3中步骤302具体流程的示意图,如图4所示,在一个实施例中,对报表头和报表字段进行分词处理,得到报表中的关键词,包括:
步骤401:根据报表头的类型和报表字段的类型,确定报表头的分词粒度和报表字段的分词粒度,其中,各个类型的报表头的分词粒度,以及各个类型的报表字段的分词粒度已预先配置;
步骤402:根据报表头的分词粒度和报表字段的分词粒度,对报表头和报表字段进行分词处理,得到报表中的关键词。
具体实施时,为了满足对不同报表的检索需求,本发明实施例可以利用ES进行索引配置(Mapping),通过分析器(Analyzer)预先设置各个类型(Type)报表的分词粒度,包括:各个类型的报表头的分词粒度,以及各个类型的报表字段的分词粒度。在读取每个报表的报表头和报表字段之后,可以根据报表头的类型和报表字段的类型,确定报表头的分词粒度和报表字段的分词粒度,根据报表头的分词粒度和报表字段的分词粒度,对报表头和报表字段进行分词处理,得到报表中的关键词,进而通过调整分词粒度,提高检索效率,此外,也可以对检索结果进行更加符合报表特性的排序,例如,可以根据关键词的词频,或包含关键词的报表出现的频率对检索结果进行排序,还可以优化模糊查询。
在一个实施例中,步骤102中,将全量报表的反向索引表划分为多个分片,将各个分片存储在Elasticsearch集群的多个节点中之后,还包括:
对每个分片建立副本;
将各个副本存储在Elasticsearch集群的多个节点中,其中,每个分片与该分片的副本存储在不同的节点中。
在一个实施例中,该方法还包括:
在分片中的反向索引信息修改时,同步修改分片的副本中对应的反向索引信息。
在一个实施例中,该方法还包括:
当Elasticsearch集群的节点新增或删除时,根据当前的节点数重新分配多个分片。
具体实施时,步骤102中,可以将全量报表的反向索引表划分为多个分片(shard),将各个分片均衡分配至Elasticsearch集群的多个节点中,为了支持数据冗余和容错,还可以对每个分片建立一个或多个副本,将各个副本存储在Elasticsearch集群的多个节点中,其中,每个分片与该分片的副本存储在不同的节点中。
分片是单个Lucene实例,由Elasticsearch自动管理,每个报表都存储在一个分片中,当为报表建立索引时,将首先在分片上建立索引,然后在分片的所有副本分片上建立索引,通过将全量报表以及全量报表的反向索引表划分到不同的分片中,可以按集群的节点来均衡分配这些分片,从而对索引和检索过程进行负载均衡,通过复制每个分片以支持数据冗余,从而防止硬件故障导致的数据丢失。通过shard=hash(routing)%number_of_primary_shards可以确定数据位于的分片,应用程序支持带routing参数来自定义路由,确保相关数据路由到同一个分片以ID新建,写入和删除数据。
Elasticsearch集群拥有一个或多个节点,当集群的节点新增或删除时,可以根据当前的节点数重新分配多个分片,还可以将集群中任一节点的请求路由到存有相关数据的节点。修改节点时,大部分情况下是不会发生冲突的,如果发生冲突,则拒绝修改。
分片的写入规则包括:
1)none:主分片活跃,允许写入;
2)all:所有分片活跃,允许写入;
3)quorum:半数以上节点活跃,允许写入;
如果暂时没有足够的分片活跃,ES会等待,默认等待1分钟,可以通过参数timeout改变这个值,如果超时,则失败返回。
新索引默认有1个副本分片,这意味着为满足规定数量应该需要两个活动的分片副本。但是,这个规定数量会阻止在单一节点上做任何事情,为了避免这个问题,要求只有当副本分片数目大于1的时候,规定数量才会执行。
在一个实施例中,该方法还包括:
对于每日增量报表,建立每日增量报表的反向索引表;
基于批处理,将每日增量报表的反向索引表存储在Elasticsearch集群的多个节点中。
具体实施时,在对全量铺地数据处理的基础上,对于每日增量报表,可以新建索引机制,通过批量处理微服务,新建反向索引表Index和Mapping,动态的处理新报表索引建立工作。
步骤103中,在建立了ES集群以及反向索引表之后,可以接收客户端输入的目标关键词,从ES集群的多个节点中查询包含目标关键词的报表地址,将包含目标关键词的报表返回至客户端,并基于Vue实现报表检索前端展示、报表字段查询展示。对于报表下载,应与报表储存的服务器地址进行关联,由于ES基于内存的特性,内存资源往往比较宝贵,本发明实施例中,检索的报表存储在_source字段中,并且将由所有get和search请求返回,这样可以直接从搜索结果中访问报表,而无需执行第二步来从报表地址中检索对象。
基于同一发明构思,本发明实施例中还提供了一种报表的检索装置,如下面的实施例。由于报表的检索装置解决问题的原理与报表的检索方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本发明实施例提供一种报表的检索装置,用以提高报表的检索效率,图5为本发明实施例中报表的检索装置结构的示意图,如图5所示,该装置包括:
反向索引表建立模块01,用于获得业务系统内的全量报表,建立全量报表的反向索引表,其中,反向索引表包括:全量报表中的关键词,以及包含每个关键词的报表地址;
分布式存储模块02,用于将全量报表的反向索引表划分为多个分片,将各个分片存储在Elasticsearch集群的多个节点中;
检索模块03,用于接收客户端输入的目标关键词,从Elasticsearch集群的多个节点中查询包含目标关键词的报表地址,将包含目标关键词的报表返回至客户端。
在一个实施例中,反向索引表建立模块01具体用于:
遍历全量报表,读取每个报表的报表头和报表字段;
对报表头和报表字段进行分词处理,得到报表中的关键词;
根据全量报表中的关键词,确定包含每个关键词的报表地址,建立全量报表的反向索引表。
在一个实施例中,反向索引表建立模块01进一步用于:
根据报表头的类型和报表字段的类型,确定报表头的分词粒度和报表字段的分词粒度,其中,各个类型的报表头的分词粒度,以及各个类型的报表字段的分词粒度已预先配置;
根据报表头的分词粒度和报表字段的分词粒度,对报表头和报表字段进行分词处理,得到报表中的关键词。
图6为本发明实施例中报表的检索装置另一结构的示意图,如图6所示,在一个实施例中,该装置还包括:副本模块04,用于:
对每个分片建立副本;
将各个副本存储在Elasticsearch集群的多个节点中,其中,每个分片与该分片的副本存储在不同的节点中。
如图6所示,在一个实施例中,该装置还包括:同步模块05,用于:
在分片中的反向索引信息修改时,同步修改分片的副本中对应的反向索引信息。
如图6所示,在一个实施例中,该装置还包括:负载均衡模块06,用于:
当Elasticsearch集群的节点新增或删除时,根据当前的节点数重新分配多个分片。
如图6所示,在一个实施例中,该装置还包括:增量报表索引模块07,用于:
对于每日增量报表,建立每日增量报表的反向索引表;
基于批处理,将每日增量报表的反向索引表存储在Elasticsearch集群的多个节点中。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述报表的检索方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述报表的检索方法。
本发明实施例还提供一种计算机程序产品,计算机程序产品包括计算机程序,计算机程序被处理器执行时实现上述报表的检索方法。
综上所述,本发明实施例通过:获得业务系统内的全量报表,建立全量报表的反向索引表,其中,反向索引表包括:全量报表中的关键词,以及包含每个关键词的报表地址;将全量报表的反向索引表划分为多个分片,将各个分片存储在Elasticsearch集群的多个节点中;接收客户端输入的目标关键词,从Elasticsearch集群的多个节点中查询包含目标关键词的报表地址,将包含目标关键词的报表返回至客户端,进而通过建立反向索引表,可以直接查询包含目标关键词的报表,提高了报表的检索效率,基于分片处理和Elasticsearch集群的分布式存储能够将反向索引表进行内存存储,实现了报表检索的高可用性、高并发性和可扩展性。
此外,本发明实施例通过报表头和报表字段进行多粒度的分词处理,使得报表检索结果可以更好的满足业务人员的检索需求。
虽然本发明提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本领域技术人员应明白,本说明书的实施例可提供为方法、装置(系统)或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。本发明并不局限于任何单一的方面,也不局限于任何单一的实施例,也不局限于这些方面和/或实施例的任意组合和/或置换。而且,可以单独使用本发明的每个方面和/或实施例或者与一个或更多其他方面和/或其实施例结合使用。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (11)
1.一种报表的检索方法,其特征在于,包括:
获得业务系统内的全量报表,建立全量报表的反向索引表,其中,反向索引表包括:全量报表中的关键词,以及包含每个关键词的报表地址;
将全量报表的反向索引表划分为多个分片,将各个分片存储在Elasticsearch集群的多个节点中;
接收客户端输入的目标关键词,从Elasticsearch集群的多个节点中查询包含目标关键词的报表地址,将包含目标关键词的报表返回至客户端。
2.如权利要求1所述的方法,其特征在于,建立全量报表的反向索引表,包括:
遍历全量报表,读取每个报表的报表头和报表字段;
对报表头和报表字段进行分词处理,得到报表中的关键词;
根据全量报表中的关键词,确定包含每个关键词的报表地址,建立全量报表的反向索引表。
3.如权利要求2所述的方法,其特征在于,对报表头和报表字段进行分词处理,得到报表中的关键词,包括:
根据报表头的类型和报表字段的类型,确定报表头的分词粒度和报表字段的分词粒度,其中,各个类型的报表头的分词粒度,以及各个类型的报表字段的分词粒度已预先配置;
根据报表头的分词粒度和报表字段的分词粒度,对报表头和报表字段进行分词处理,得到报表中的关键词。
4.如权利要求1所述的方法,其特征在于,将全量报表的反向索引表划分为多个分片,将各个分片存储在Elasticsearch集群的多个节点中之后,还包括:
对每个分片建立副本;
将各个副本存储在Elasticsearch集群的多个节点中,其中,每个分片与该分片的副本存储在不同的节点中。
5.如权利要求4所述的方法,其特征在于,还包括:
在分片中的反向索引信息修改时,同步修改分片的副本中对应的反向索引信息。
6.如权利要求1所述的方法,其特征在于,还包括:
当Elasticsearch集群的节点新增或删除时,根据当前的节点数重新分配多个分片。
7.如权利要求1所述的方法,其特征在于,还包括:
对于每日增量报表,建立每日增量报表的反向索引表;
基于批处理,将每日增量报表的反向索引表存储在Elasticsearch集群的多个节点中。
8.一种报表的检索装置,其特征在于,包括:
反向索引表建立模块,用于获得业务系统内的全量报表,建立全量报表的反向索引表,其中,反向索引表包括:全量报表中的关键词,以及包含每个关键词的报表地址;
分布式存储模块,用于将全量报表的反向索引表划分为多个分片,将各个分片存储在Elasticsearch集群的多个节点中;
检索模块,用于接收客户端输入的目标关键词,从Elasticsearch集群的多个节点中查询包含目标关键词的报表地址,将包含目标关键词的报表返回至客户端。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一所述方法。
11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210163146.2A CN115145913A (zh) | 2022-02-22 | 2022-02-22 | 报表的检索方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210163146.2A CN115145913A (zh) | 2022-02-22 | 2022-02-22 | 报表的检索方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115145913A true CN115145913A (zh) | 2022-10-04 |
Family
ID=83404843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210163146.2A Pending CN115145913A (zh) | 2022-02-22 | 2022-02-22 | 报表的检索方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115145913A (zh) |
-
2022
- 2022-02-22 CN CN202210163146.2A patent/CN115145913A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10915528B2 (en) | Pluggable storage system for parallel query engines | |
JP7410181B2 (ja) | ハイブリッド・インデックス作成方法、システム、プログラム | |
Vora | Hadoop-HBase for large-scale data | |
US20190303382A1 (en) | Distributed database systems and methods with pluggable storage engines | |
Magdy et al. | Taghreed: a system for querying, analyzing, and visualizing geotagged microblogs | |
US7558802B2 (en) | Information retrieving system | |
US20200242167A1 (en) | Graph database super vertex partitioning | |
US9916313B2 (en) | Mapping of extensible datasets to relational database schemas | |
US7949687B1 (en) | Relational database system having overlapping partitions | |
US7801848B2 (en) | Redistributing a distributed database | |
US20130151683A1 (en) | Load balancing in cluster storage systems | |
Carstoiu et al. | Hadoop hbase-0.20. 2 performance evaluation | |
US11580162B2 (en) | Key value append | |
US20180203874A1 (en) | Space-efficient secondary indexing on distributed data stores | |
US11151081B1 (en) | Data tiering service with cold tier indexing | |
WO2016107497A1 (en) | Method and apparatus for scalable sorting of data set | |
US20170270149A1 (en) | Database systems with re-ordered replicas and methods of accessing and backing up databases | |
US10698955B1 (en) | Weighted abstract path graph database partitioning | |
CN112559459B (zh) | 一种基于云计算的自适应存储分层系统及方法 | |
CN115918110A (zh) | 使用键值存储库的空间搜索 | |
Konishetty et al. | Implementation and evaluation of scalable data structure over hbase | |
US11886508B2 (en) | Adaptive tiering for database data of a replica group | |
CN115145913A (zh) | 报表的检索方法及装置 | |
Vasilas et al. | A modular design for geo-distributed querying: Work in progress report | |
CN115963987A (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 |