CN113821573B - 海量数据快速检索服务构建方法、系统、终端及存储介质 - Google Patents
海量数据快速检索服务构建方法、系统、终端及存储介质 Download PDFInfo
- Publication number
- CN113821573B CN113821573B CN202110998491.3A CN202110998491A CN113821573B CN 113821573 B CN113821573 B CN 113821573B CN 202110998491 A CN202110998491 A CN 202110998491A CN 113821573 B CN113821573 B CN 113821573B
- Authority
- CN
- China
- Prior art keywords
- data
- search
- relational database
- updating
- index
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000012544 monitoring process Methods 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims description 14
- 230000007246 mechanism Effects 0.000 claims description 9
- 238000000926 separation method Methods 0.000 claims description 7
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 238000013508 migration Methods 0.000 claims description 6
- 230000005012 migration Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 235000019633 pungent taste Nutrition 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- 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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- 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/23—Updating
-
- 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/2433—Query languages
-
- 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/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种海量数据快速检索服务构建方法、系统、终端及存储介质,包括:将关系型数据库的读权限转移至搜索服务器;监控搜索服务器的查询业务,获取热点检索词,缓存热点检索词的目标数据;利用数据仓库工具创建临时表对全量索引的关联表进行合并,基于所述临时表更新全量索引内容,并将更新的全量索引导入搜索服务器;通过监听关系型数据库的日志文件获取所述关系型数据库的更新数据,将所述更新数据同步更新至搜索服务器的索引。本发明实现了海量数据实时秒级查询,为用户带来了良好体验,显著提升了客户价值,提升了整体业务运作效率,降低了企业运维成本,提升了系统稳定性,进而创造了更多价值。
Description
技术领域
本发明涉及海量数据检索技术领域,具体涉及一种海量数据快速检索服务构建方法、系统、终端及存储介质。
背景技术
伴随移动互联网加速到来,企业线上业务蓬勃发展,数据量指数级增长,传统的关系型数据库如MySQL已经不能满足日益增长的业务需要。从数据库中查询需要花费的时间越来越长,另外,数据库系统的性能以及数据组织管理能力也因此大为减弱,甚至会造成系统崩溃。目前常用的一些解决海量数据查询的方法有如下几种:(1)分库分表;(2)建立索引,优化索引;(3)优化查询SQL语句;(4)增加虚拟内存。这些常用的解决海量数据查询的方法只能在一定程度上减少海量数据查询花费的时间,对于几亿、甚至十亿、百亿级别的数据规模时,运行效率仍然非常缓慢,造成糟糕的用户体验,严重影响企业业务发展。
发明内容
针对现有检索方法在检索海量数据时运行效率慢的问题,本发明提供一种海量数据快速检索服务构建方法、系统、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种海量数据快速检索服务构建方法,包括:
将关系型数据库的读权限转移至搜索服务器;
监控搜索服务器的查询业务,获取热点检索词,缓存热点检索词的目标数据;
利用数据仓库工具创建临时表对全量索引的关联表进行合并,基于所述临时表更新全量索引内容,并将更新的全量索引导入搜索服务器;
通过监听关系型数据库的日志文件获取所述关系型数据库的更新数据,将所述更新数据同步更新至搜索服务器的索引。
进一步的,将关系型数据库的读权限转移至搜索服务器,包括:
授予关系型数据库表插入权限、更新权限和删除权限;
授权搜索数据库对关系型数据库的读权限。
进一步的,监控搜索服务器的查询业务,获取热点检索词,缓存热点检索词的目标数据,包括:
指定第一期间、第二期间、第一刷新周期和第二刷新周期;
根据第一刷新周期定期采集在所述第一期间之内的,热点排序在指定位数范围内的检索词作为第一检索词组,将第一检索词组的目标数据进行缓存;
根据第二刷新周期定期采集在所述第二期间之内的,热点排序在指定位数范围内的检索词作为第二检索词组,将第二检索词组的目标数据进行缓存。
进一步的,利用数据仓库工具创建临时表对全量索引的关联表进行合并,基于所述临时表更新全量索引内容,并将更新的全量索引导入搜索服务器,包括:
利用数据迁移工具将关系型数据库中的数据同步至数据仓库工具;
利用数据仓库工具将互相关联的表数据合并生成临时表,并将临时表保存至分布式存储系统,以使索引处理任务从分布式存储系统读取临时表的数据并将读取的数据写入搜索服务器。
进一步的,利用数据仓库工具创建临时表对全量索引的关联表进行合并,基于所述临时表更新全量索引内容,并将更新的全量索引导入搜索服务器,包括:
定期采集系统时间,若当前系统时间在设定的更新时段内,则执行对全量索引的更新。
进一步的,通过监听关系型数据库的日志文件获取所述关系型数据库的更新数据,将所述更新数据同步更新至搜索服务器的索引,包括:
通过启用关系型服务器的监控日志机制,将关系型数据库的数据变更写入日志文件;
监听关系型数据库的日志文件,读取日志文件的二进制事件,通过解析二进制事件获取更新数据,并将被更新数据转化为业务对象写入消息队列;
通过设置索引更新程序订阅所述消息队列,将更新数据写入搜索服务器索引。
第二方面,本发明提供一种海量数据快速检索服务构建系统,包括:
读写分离单元,用于将关系型数据库的读权限转移至搜索服务器;
热点缓存单元,用于监控搜索服务器的查询业务,获取热点检索词,缓存热点检索词的目标数据;
第一更新单元,用于利用数据仓库工具创建临时表对全量索引的关联表进行合并,基于所述临时表更新全量索引内容,并将更新的全量索引导入搜索服务器;
第二更新单元,用于通过监听关系型数据库的日志文件获取所述关系型数据库的更新数据,将所述更新数据同步更新至搜索服务器的索引。
进一步的,读写分离单元用于:
授予关系型数据库表插入权限、更新权限和删除权限;
授权搜索数据库对关系型数据库的读权限。
进一步的,热点缓存单元用于:
指定第一期间、第二期间、第一刷新周期和第二刷新周期;
根据第一刷新周期定期采集在所述第一期间之内的,热点排序在指定位数范围内的检索词作为第一检索词组,将第一检索词组的目标数据进行缓存;
根据第二刷新周期定期采集在所述第二期间之内的,热点排序在指定位数范围内的检索词作为第二检索词组,将第二检索词组的目标数据进行缓存。
进一步的,第一更新单元用于:
利用数据迁移工具将关系型数据库中的数据同步至数据仓库工具;
利用数据仓库工具将互相关联的表数据合并生成临时表,并将临时表保存至分布式存储系统,以使索引处理任务从分布式存储系统读取临时表的数据并将读取的数据写入搜索服务器。
进一步的,第一更新单元用于:
定期采集系统时间,若当前系统时间在设定的更新时段内,则执行对全量索引的更新。
进一步的,第二更新单元用于:
通过启用关系型服务器的监控日志机制,将关系型数据库的数据变更写入日志文件;
监听关系型数据库的日志文件,读取日志文件的二进制事件,通过解析二进制事件获取更新数据,并将被更新数据转化为业务对象写入消息队列;
通过设置索引更新程序订阅所述消息队列,将更新数据写入搜索服务器索引。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的海量数据快速检索服务构建方法、系统、终端及存储介质,通过对读操作和写操作的渠道进行分离将读写流量区分开,便于对读、写流量的单独扩展,通过缓存热点数据提高热点数据的读取速度,通过对全量索引进行更新并实时更新索引提高搜索服务器的索引检索效率。本发明实现了海量数据实时秒级查询,为用户带来了良好体验,显著提升了客户价值,提升了整体业务运作效率,降低了企业运维成本,提升了系统稳定性,进而创造了更多价值。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的系统的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本发明中出现的关键术语进行解释。
hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive十分适合对数据仓库进行统计分析。
MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
MySQL数据库服务是一个完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原生应用程序。它是百分百由MySQL原厂开发,管理和提供支持。
Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL、Oracle、Postgres等)中的数据导进到Hadoop分布式系统的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
索引是对数据库表中一个或多个列(例如,employee表的姓名(name)列)的值进行排序的结构。例如这样一个查询:select*from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),即可在索引中查找。由于索引是经过某种算法优化过的,因而查找次数要少的多。可见,索引是用来定位的。从数据搜索实现的角度来看,索引也是另外一类文件/记录,它包含着可以指示出相关数据记录的各种记录。其中,每一索引都有一个相对应的搜索码,字符段的任意一个子集都能够形成一个搜索码。这样,索引就相当于所有数据目录项的一个集合,它能为既定的搜索码值的所有数据目录项提供定位所需的各种有效支持。全量索引就是系统中所有的数据构成的索引。
HBase是一个分布式的、面向列的开源数据库,该技术来源于Fay Chang所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
为了克服现有技术存在的对海量数据检索速度不满足客户需求的问题,本发明提出一种基于Elasticsearch(ES,搜索服务器)的海量数据快速检索服务构建方法。Elasticsearch是一个基于Apache Lucene开源的分布式、REST风格的搜索和数据分析引擎,它具有以下四个特点:(1)横向可扩展,天然支持分布式存储,很容易就能扩展新的服务器到ES集群;(2)具有各种复杂查询能力,利用高效的倒排索引,提供全文检索、同义词处理、相关度排名、复杂数据分析、海量数据查询丰富的功能;(3)利用分片机制,同一个索引被分为多个分片,提升处理效率;(4)高可用,通过使用副本机制,以及故障的自动探测与恢复,保障ES服务高可用。
本发明提出的海量数据实时高性能查询方案,通过读写分离架构,热度缓存、全量索引更新模块、实时索引更新模块四个部分,实现了海量数据实时秒级查询,为用户带来了良好体验,显著提升了客户价值。通过本发明的方法,提升了整体业务运作效率,降低了企业运维成本,提升了系统稳定性,进而创造了更多价值。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种海量数据快速检索服务构建系统。
如图1所示,该方法包括:
步骤110,将关系型数据库的读权限转移至搜索服务器;
步骤120,监控搜索服务器的查询业务,获取热点检索词,缓存热点检索词的目标数据;
步骤130,利用数据仓库工具创建临时表对全量索引的关联表进行合并,基于所述临时表更新全量索引内容,并将更新的全量索引导入搜索服务器;
步骤140,通过监听关系型数据库的日志文件获取所述关系型数据库的更新数据,将所述更新数据同步更新至搜索服务器的索引。
为了便于对本发明的理解,下面以本发明海量数据快速检索服务构建方法的原理,结合实施例中对海量数据快速检索服务进行构建的过程,对本发明提供的海量数据快速检索服务构建方法做进一步的描述。
具体的,所述海量数据快速检索服务构建方法包括:
S1、将关系型数据库的读权限转移至搜索服务器。
授予关系型数据库表插入权限、更新权限和删除权限;授权搜索数据库对关系型数据库的读权限。
读写分离。大多数系统业务都是读多写少,比如电商平台上一个商品的浏览量肯定远大于下单量,刷短视频的请求量肯定比发短视频的请求量大,为了应对数据的增长,本发明把读流量和写流量区分开,MySQL只支持INSERT/UPDATE/DELETE数据操作,查询转向ES服务,这样方便针对读、写流量做单独的扩展。
S2、监控搜索服务器的查询业务,获取热点检索词,缓存热点检索词的目标数据。
指定第一期间、第二期间、第一刷新周期和第二刷新周期;根据第一刷新周期定期采集在所述第一期间之内的,热点排序在指定位数范围内的检索词作为第一检索词组,将第一检索词组的目标数据进行缓存;根据第二刷新周期定期采集在所述第二期间之内的,热点排序在指定位数范围内的检索词作为第二检索词组,将第二检索词组的目标数据进行缓存。
从海量数据快速检索内容不是件容易的事情,根据二八原则,80%的查询来自于20%的检索词,因此可以根据检索词热度建立缓存,避免读取磁盘文件。分别构建1小时、24小时热度缓存。统计最近1小时检索词频次,取排名前100热度词,按照5分钟频率定时刷新缓存,以同样的方法按照1小时频率定时刷新最近24小时热度缓存。
S3、利用数据仓库工具创建临时表对全量索引的关联表进行合并,基于所述临时表更新全量索引内容,并将更新的全量索引导入搜索服务器。
定期采集系统时间,若当前系统时间在设定的更新时段内,则执行对全量索引的更新。利用数据迁移工具将关系型数据库中的数据同步至数据仓库工具;利用数据仓库工具将互相关联的表数据合并生成临时表,并将临时表保存至分布式存储系统,以使索引处理任务从分布式存储系统读取临时表的数据并将读取的数据写入搜索服务器。
一次查询包含一个实体各方面不同的信息。比如,一个商品包含分类、品牌、库存、属性信息等等,这些一般保存在MySQL的几张表中,需要先把这些表按照外键合并,然后将这些信息写入ES索引中。然而对于千万上亿的数据量,在MySQL中执行表合并,会对数据库造成极大的压力,影响系统性能。本发明通过Hive构建数据存储中间层解决这个问题。Hive(数据仓库工具)可以将SQL语句(结构化查询语言)转变成MapReduce任务(映射规约任务)来执行,MapReduce是专门用于大规模数据集的并行运算编程模型。利用sqoop工具将MySQL中的数据同步到hive中,hive将相互关联的表数据合并生成临时表保存在hbase中,触发索引处理任务执行,索引处理任务从hbase并行读取数据处理,然后写入ES。由于全量数据巨大,此更新模块在每天系统业务空闲时(比如凌晨三点)执行。
S4、通过监听关系型数据库的日志文件获取所述关系型数据库的更新数据,将所述更新数据同步更新至搜索服务器的索引。
通过启用关系型服务器的监控日志机制,将关系型数据库的数据变更写入日志文件;监听关系型数据库的日志文件,读取日志文件的二进制事件,通过解析二进制事件获取更新数据,并将被更新数据转化为业务对象写入消息队列;通过设置索引更新程序订阅所述消息队列,将更新数据写入搜索服务器索引。
业务信息随时可能有修改的情况,需要实时更新ES索引,本发明通过MySQLbinlog日志的功能实现此目标。启动MySQL binlog机制,将数据变更写入日志文件,监听处理程序监听MySQL的binlog日志,读取MySQL的binary log events,解析events来获取被修改的数据并转化为业务对象,写入消息队列MQ中。索引更新程序通过订阅MQ,将数据更新写入ES索引。
如图2所示,该系统200包括:
读写分离单元210,用于将关系型数据库的读权限转移至搜索服务器;
热点缓存单元220,用于监控搜索服务器的查询业务,获取热点检索词,缓存热点检索词的目标数据;
第一更新单元230,用于利用数据仓库工具创建临时表对全量索引的关联表进行合并,基于所述临时表更新全量索引内容,并将更新的全量索引导入搜索服务器;
第二更新单元240,用于通过监听关系型数据库的日志文件获取所述关系型数据库的更新数据,将所述更新数据同步更新至搜索服务器的索引。
可选地,作为本发明一个实施例,读写分离单元用于:
授予关系型数据库表插入权限、更新权限和删除权限;
授权搜索数据库对关系型数据库的读权限。
可选地,作为本发明一个实施例,热点缓存单元用于:
指定第一期间、第二期间、第一刷新周期和第二刷新周期;
根据第一刷新周期定期采集在所述第一期间之内的,热点排序在指定位数范围内的检索词作为第一检索词组,将第一检索词组的目标数据进行缓存;
根据第二刷新周期定期采集在所述第二期间之内的,热点排序在指定位数范围内的检索词作为第二检索词组,将第二检索词组的目标数据进行缓存。
可选地,作为本发明一个实施例,第一更新单元用于:
利用数据迁移工具将关系型数据库中的数据同步至数据仓库工具;
利用数据仓库工具将互相关联的表数据合并生成临时表,并将临时表保存至分布式存储系统,以使索引处理任务从分布式存储系统读取临时表的数据并将读取的数据写入搜索服务器。
可选地,作为本发明一个实施例,第一更新单元用于:
定期采集系统时间,若当前系统时间在设定的更新时段内,则执行对全量索引的更新。
可选地,作为本发明一个实施例,第二更新单元用于:
通过启用关系型服务器的监控日志机制,将关系型数据库的数据变更写入日志文件;
监听关系型数据库的日志文件,读取日志文件的二进制事件,通过解析二进制事件获取更新数据,并将被更新数据转化为业务对象写入消息队列;
通过设置索引更新程序订阅所述消息队列,将更新数据写入搜索服务器索引。
图3为本发明实施例提供的一种终端300的结构示意图,该终端300可以用于执行本发明实施例提供的海量数据快速检索服务构建方法。
其中,该终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过对读操作和写操作的渠道进行分离将读写流量区分开,便于对读、写流量的单独扩展,通过缓存热点数据提高热点数据的读取速度,通过对全量索引进行更新并实时更新索引提高搜索服务器的索引检索效率。本发明实现了海量数据实时秒级查询,为用户带来了良好体验,显著提升了客户价值,提升了整体业务运作效率,降低了企业运维成本,提升了系统稳定性,进而创造了更多价值,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (4)
1.一种海量数据快速检索服务构建方法,其特征在于,包括:
将关系型数据库的读权限转移至搜索服务器;
监控搜索服务器的查询业务,获取热点检索词,缓存热点检索词的目标数据;
利用数据仓库工具创建临时表对全量索引的关联表进行合并,基于所述临时表更新全量索引内容,并将更新的全量索引导入搜索服务器;
通过监听关系型数据库的日志文件获取所述关系型数据库的更新数据,将所述更新数据同步更新至搜索服务器的索引;
将关系型数据库的读权限转移至搜索服务器,包括:
授予关系型数据库表插入权限、更新权限和删除权限;
授权搜索数据库对关系型数据库的读权限;
监控搜索服务器的查询业务,获取热点检索词,缓存热点检索词的目标数据,包括:
指定第一期间、第二期间、第一刷新周期和第二刷新周期;
根据第一刷新周期定期采集在所述第一期间之内的,热点排序在指定位数范围内的检索词作为第一检索词组,将第一检索词组的目标数据进行缓存;
根据第二刷新周期定期采集在所述第二期间之内的,热点排序在指定位数范围内的检索词作为第二检索词组,将第二检索词组的目标数据进行缓存;
利用数据仓库工具创建临时表对全量索引的关联表进行合并,基于所述临时表更新全量索引内容,并将更新的全量索引导入搜索服务器,包括:
利用数据迁移工具将关系型数据库中的数据同步至数据仓库工具;
利用数据仓库工具将互相关联的表数据合并生成临时表,并将临时表保存至分布式存储系统,以使索引处理任务从分布式存储系统读取临时表的数据并将读取的数据写入搜索服务器;
利用数据仓库工具创建临时表对全量索引的关联表进行合并,基于所述临时表更新全量索引内容,并将更新的全量索引导入搜索服务器,包括:
定期采集系统时间,若当前系统时间在设定的更新时段内,则执行对全量索引的更新;
通过监听关系型数据库的日志文件获取所述关系型数据库的更新数据,将所述更新数据同步更新至搜索服务器的索引,包括:
通过启用关系型服务器的监控日志机制,将关系型数据库的数据变更写入日志文件;
监听关系型数据库的日志文件,读取日志文件的二进制事件,通过解析二进制事件获取更新数据,并将被更新数据转化为业务对象写入消息队列;
通过设置索引更新程序订阅所述消息队列,将更新数据写入搜索服务器索引。
2.一种海量数据快速检索服务构建系统,其特征在于,包括:
读写分离单元,用于将关系型数据库的读权限转移至搜索服务器;
热点缓存单元,用于监控搜索服务器的查询业务,获取热点检索词,缓存热点检索词的目标数据;
指定第一期间、第二期间、第一刷新周期和第二刷新周期;
根据第一刷新周期定期采集在所述第一期间之内的,热点排序在指定位数范围内的检索词作为第一检索词组,将第一检索词组的目标数据进行缓存;
根据第二刷新周期定期采集在所述第二期间之内的,热点排序在指定位数范围内的检索词作为第二检索词组,将第二检索词组的目标数据进行缓存;
第一更新单元,用于利用数据仓库工具创建临时表对全量索引的关联表进行合并,基于所述临时表更新全量索引内容,并将更新的全量索引导入搜索服务器;
利用数据迁移工具将关系型数据库中的数据同步至数据仓库工具;
利用数据仓库工具将互相关联的表数据合并生成临时表,并将临时表保存至分布式存储系统,以使索引处理任务从分布式存储系统读取临时表的数据并将读取的数据写入搜索服务器;
第二更新单元,用于通过监听关系型数据库的日志文件获取所述关系型数据库的更新数据,将所述更新数据同步更新至搜索服务器的索引;
所述读写分离单元用于:
授予关系型数据库表插入权限、更新权限和删除权限;
授权搜索数据库对关系型数据库的读权限。
3.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1所述的方法。
4.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110998491.3A CN113821573B (zh) | 2021-08-27 | 2021-08-27 | 海量数据快速检索服务构建方法、系统、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110998491.3A CN113821573B (zh) | 2021-08-27 | 2021-08-27 | 海量数据快速检索服务构建方法、系统、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113821573A CN113821573A (zh) | 2021-12-21 |
CN113821573B true CN113821573B (zh) | 2024-09-20 |
Family
ID=78923211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110998491.3A Active CN113821573B (zh) | 2021-08-27 | 2021-08-27 | 海量数据快速检索服务构建方法、系统、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821573B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114896347A (zh) * | 2022-04-06 | 2022-08-12 | 连连银通电子支付有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN115098525B (zh) * | 2022-07-25 | 2024-06-14 | 湖南快乐阳光互动娱乐传媒有限公司 | 索引更新方法、装置、电子设备及存储介质 |
CN116955417A (zh) * | 2023-09-19 | 2023-10-27 | 武汉大数据产业发展有限公司 | 数据多表联合检索的优化方法、装置及电子设备 |
CN117407445B (zh) * | 2023-10-27 | 2024-06-04 | 上海势航网络科技有限公司 | 一种车联网数据平台数据存储方法、系统及存储介质 |
CN118132537A (zh) * | 2024-01-29 | 2024-06-04 | 北京安锐卓越信息技术股份有限公司 | 一种解决社交化客户关系管理系统系统卡顿的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262640A (zh) * | 2010-05-31 | 2011-11-30 | 中国移动通信集团贵州有限公司 | 一种全文检索文档数据库的方法及装置 |
CN111026727A (zh) * | 2019-10-24 | 2020-04-17 | 贝壳技术有限公司 | 基于日志文件的表维度检索数据同步方法、系统及装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002197100A (ja) * | 2000-12-27 | 2002-07-12 | Nec Corp | 検索サービスシステムと方法及び記録媒体並びに情報仲介方法 |
CN103473229A (zh) * | 2012-06-06 | 2013-12-25 | 深圳市世纪光速信息技术有限公司 | 一种内存检索系统和方法、以及实时检索系统和方法 |
TWI712899B (zh) * | 2015-07-28 | 2020-12-11 | 香港商阿里巴巴集團服務有限公司 | 資訊查詢方法及裝置 |
CN105279270A (zh) * | 2015-10-28 | 2016-01-27 | 丽水市睿鼎知识产权咨询有限公司 | 一种专利检索装置及其检索方法 |
CN110147362A (zh) * | 2019-04-04 | 2019-08-20 | 中电科大数据研究院有限公司 | 一种基于事件驱动的公文数据采集和处理系统及其方法 |
US11514066B2 (en) * | 2019-11-08 | 2022-11-29 | Servicenow, Inc. | System and methods for querying and updating databases |
CN111309760A (zh) * | 2020-02-10 | 2020-06-19 | 江苏满运软件科技有限公司 | 数据检索方法、系统、设备及存储介质 |
CN112948328A (zh) * | 2021-01-28 | 2021-06-11 | 长沙市到家悠享网络科技有限公司 | 一种日志数据的检索方法及装置、设备、介质 |
CN112905707A (zh) * | 2021-03-31 | 2021-06-04 | 浙江太美医疗科技股份有限公司 | 关系数据库与搜索引擎的同步方法、装置和计算机存储介质 |
CN113094590A (zh) * | 2021-05-07 | 2021-07-09 | 董祥宇 | 一种法律条文精准推荐系统 |
-
2021
- 2021-08-27 CN CN202110998491.3A patent/CN113821573B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102262640A (zh) * | 2010-05-31 | 2011-11-30 | 中国移动通信集团贵州有限公司 | 一种全文检索文档数据库的方法及装置 |
CN111026727A (zh) * | 2019-10-24 | 2020-04-17 | 贝壳技术有限公司 | 基于日志文件的表维度检索数据同步方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113821573A (zh) | 2021-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113821573B (zh) | 海量数据快速检索服务构建方法、系统、终端及存储介质 | |
US11977532B2 (en) | Log record identification using aggregated log indexes | |
US11182356B2 (en) | Indexing for evolving large-scale datasets in multi-master hybrid transactional and analytical processing systems | |
Vora | Hadoop-HBase for large-scale data | |
US7689574B2 (en) | Index and method for extending and querying index | |
US20150142733A1 (en) | System and method for efficient management of big data in a database using streaming tables | |
Chavan et al. | Survey paper on big data | |
US10296497B2 (en) | Storing a key value to a deleted row based on key range density | |
US20180203874A1 (en) | Space-efficient secondary indexing on distributed data stores | |
CN115114374A (zh) | 事务执行方法、装置、计算设备及存储介质 | |
CN112912870A (zh) | 租户标识符的转换 | |
WO2017156855A1 (en) | Database systems with re-ordered replicas and methods of accessing and backing up databases | |
El Alami et al. | Supply of a key value database redis in-memory by data from a relational database | |
CN114443615A (zh) | 数据库管理系统、相关装置、方法和介质 | |
Weintraub et al. | Needle in a haystack queries in cloud data lakes. | |
US20130041887A1 (en) | Adding entries to an index based on use of the index | |
US20070174329A1 (en) | Presenting a reason why a secondary data structure associated with a database needs rebuilding | |
CN112000666B (zh) | 一种面向列的数据库管理系统 | |
Kvet et al. | Relational pre-indexing layer supervised by the DB_index_consolidator Background Process | |
Xie et al. | Silverback: Scalable association mining for temporal data in columnar probabilistic databases | |
US20220300513A1 (en) | Asynchronous query optimization using spare hosts | |
Qian et al. | An evaluation of Lucene for keywords search in large-scale short text storage | |
CN115718571A (zh) | 一种基于多维度特征的数据管理方法和装置 | |
CN118035270A (zh) | 数据查询方法、装置、软件程序、设备及存储介质 | |
CN115344568A (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 |