一种基于多形态复合的海量数据快速查询方法技术

技术编号:22641568 阅读:16 留言:0更新日期:2019-11-26 16:08
本发明专利技术公开了一种基于多形态复合的海量数据快速查询方法,包括如下步骤:首先,对需要处理的数据进行识别,判断数据的类型,对数据进行相应处理后存储于MYSQL数据库并同步至Elastic search搜索引擎,重写拦截器并设置查询拦截规则,设计一个查询中间件并对查询中间件进行配置;其次,采用拦截器对查询语句进行拦截并封装,查询中间件解析查询语句和参数,根据查询特征的不同,分别向MYSQL数据库或Elastic search搜索引擎发起请求,进行数据查询;最后,利用查询中间件对查询结果进行格式化和数据集封装,进一步解析查询结果,将最终结果返回呈现给用户前端。这样的设计,提高了数据查询的效率和准确性,减少了数据查询的系统开销,增强了系统查询的综合性能。

A fast query method for massive data based on multimodal composition

The invention discloses a fast query method of massive data based on multi modality composition, which includes the following steps: first, identify the data to be processed, judge the type of data, store the data in MySQL database after corresponding processing and synchronize it to elastic search engine, rewrite the interceptor and set the query interception rules, design a Query Middleware and check it Query Middleware is used for configuration; secondly, interceptors are used to intercept and encapsulate query statements. Query Middleware parses query statements and parameters, and sends requests to MySQL database or elastic search engine for data query according to different query characteristics; finally, query middleware is used to format query results and encapsulate data sets for further analysis Query results, return the final results to the user front end. This design improves the efficiency and accuracy of data query, reduces the system overhead of data query, and enhances the comprehensive performance of system query.

【技术实现步骤摘要】
一种基于多形态复合的海量数据快速查询方法
本专利技术属于大数据处理领域,特别是涉及一种基于多形态复合的海量数据快速查询方法。
技术介绍
随着大数据时代的到来,互联网数据呈现爆发式增长。即使是对于传统的企业级应用来说其产生的数据量也在迅猛增长,单张表的数据量达到千万级、后台系统日志达到亿级是非常常见的事情。通常企业对于这些数据有着强烈的查询分析需求,因为海量数据的“知识”存储量是非常大的,若能在这些查询出来的数据上进行数据挖掘分析出其蕴含的“知识”特征,这对于企业的战略、战术是非常有帮助的。所以如何在数据特征复杂、查询条件繁多的情况下对海量数据进行高效的查询是一个值得探讨的话题。在数据查询处理中,通常使用MySQL、ORACLE、DBASE等结构化数据库,对于简单数据及数据量不大的数据库进行查询时,查询速度快、准确性高,但是在大数据量或数据结构复杂的情况下进行查询,查询性能会变得较差。目前,很多系统采用ElasticSearch分布式搜索引擎的方式,对于大数据量及数据结构复杂的数据进行查询时速度非常快。但是,如果对简单线性数据的查询也采用ElasticSearch搜索引擎方式,则系统开销巨大,存在浪费ElasticSearch搜索引擎性能的问题。为进一步提高大数据搜索的综合性能,有的系统将结构化数据库与ElasticSearch搜索引擎的非结构化数据存储的各自优势结合起来进行查询,但是也存在这样的问题:如何根据ElasticSearch搜索引擎特点将结构化数据库的数据同步至ElasticSearch搜索引擎,如何对用户前端的查询请求进行解析,为其选择最优的查询方式。
技术实现思路
本专利技术的目的在于;针对现有技术的缺点和不足,提出一种基于多形态复合的海量数据快速查询方法,通过设置查询中间件、拦截器及索引表等,解决了结构化与非结构化数据存储的同步以及优化选择查询方式的问题,提高了大数据量和结构复杂数据的查询效率和准确性,增强了系统数据查询的综合性能。为实现上述目的,本专利技术采用的技术方案为:一种基于多形态复合的海量数据快速查询方法,包括如下步骤:S1:数据特性识别与预处理,即后台程序对需要处理的数据进行识别,判断数据的类型,对数据进行相应处理后存储于MYSQL数据库并同步至Elasticsearch搜索引擎;在后台程序的数据持久化存储层重写拦截器并设置查询拦截规则,在后台程序与MYSQL数据库、Elasticsearch搜索引擎之间设计一个查询中间件并对查询中间件进行配置;S2:数据查询处理,即拦截器对查询语句进行拦截并封装,查询中间件解析查询语句和参数,根据查询特征的不同,分别向MYSQL数据库或Elasticsearch搜索引擎发起请求,进行数据查询;S3:查询数据后处理,即查询中间件对查询结果进行格式化和数据集封装,进一步解析查询结果,将最终结果返回呈现给用户前端。进一步地,步骤S1中所述数据特性识别与预处理的实施流程如下:S1.1:通过自动EXCEL解析、数据源导入或/和系统业务自动产生的方式获得需要处理的数据;S1.2:对待处理的数据进行整体及抽样扫描,根据数据总量和字段的复杂度判断数据的类型;S1.3:如果数据类型为普通数据,则直接将普通数据存储于MYSQL数据库并同步至Elasticsearch搜索引擎;如果数据类型为复合数据,则将复合数据存储于MYSQL数据库并同步至Elasticsearch搜索引擎,同时在Elasticsearch搜索引擎中对复合数据进行预处理;S1.4:对数据进行更新或删除操作时,后台程序的事务控制层判断数据在MYSQL数据库和Elasticsearch搜索引擎中同时更新或删除成功,才能提交本次数据更新或删除操作,否则进行回滚;S1.5:根据数据及查询的复杂度,重写拦截器,设置查询拦截规则;S1.6:在初始化后台程序时,对查询中间件进行整合配置,将查询中间件的服务器地址、端口及其它相关配置信息写入查询中间件配置文件中,同时,在查询中间件配置文件中也写入MYSQL数据库和ElasticSearch搜索引擎的服务器地址、用户名、密码及其它相关配置信息,使得查询中间件可以访问到MYSQL数据库和ElasticSearch搜索引擎。进一步地,步骤S1.3中所述对复合数据进行预处理的实施流程如下:S1.3.1:创建复合数据对象的索引表,在索引表所有字段末尾增加一个名称为es_index的字段,用于存储一条记录复合数据预处理后的数据;S1.3.2:将es_index前所有字段的字段名和字段值进行逐一拼接起来,生成一条包含所述复合数据全部记录信息的文本,再将所述文本存储在es_index字段中;S1.3.3:对索引表中可以模糊查询的特殊字段,对其字段值添加一些模糊查询不同形式的字段分词。进一步地,步骤S2中所述数据查询处理的实施流程如下:S2.1:后台程序接收到用户前端查询请求后,在数据持久化存储层构建SQL查询语句;S2.2:拦截器对数据更新或删除的SQL语句不予拦截,直接放行进行相应的操作;拦截器按照拦截规则对SQL查询语句进行拦截,并以查询中间件所能接受的参数格式对拦截到的SQL查询语句和参数进行格式化封装,将封装好的查询请求发送给查询中间件;S2.3:采用编译技术构造一张关键词表,将具有深度分页、模糊查询的关键字添加到所述关键词表中;S2.4:查询中间件获取SQL查询语句和参数后,首先对SQL查询语句进行扫描解析,在关键词表查找是否包含关键词,然后对SQL查询参数进行扫描解析,判断该SQL查询的特征,最后根据扫描解析的结果和数据及查询的复杂度,构建一个SQL查询请求或ES查询请求;S2.5:如果无法判断数据及查询的复杂度,则对MYSQL数据库或ElasticSearch搜索引擎都发起查询请求,并记录两者的查询时间;如果两者的查询时间差异较大,只需记录一次查询时间并将查询时间最短的查询请求构建成相应的SQL查询请求或ES查询请求,否则需要记录若干次两者的查询时间,取若干次查询时间的平均值,将平均查询时间最短的查询请求构建成相应的SQL查询请求或ES查询请求;S2.6:查询中间件根据构建好的SQL查询请求或ES查询请求,分别向MYSQL数据库或ElasticSearch搜索引擎发起查询。进一步地,步骤S3中所述查询数据后处理的实施流程如下:S3.1:查询中间件从MYSQL数据库或ElasticSearch搜索引擎获得查询数据;S3.2:查询中间件采用JSON格式对查询数据进行格式化打包,将打包后的查询数据集封装成网络请求,返回给发出查询请求的后台程序;S3.3:等待查询结果的拦截器获得查询数据集,取出查询数据并进行解析,转化成业务实体类型数据,返回给业务逻辑控制层;S3.4:业务逻辑控制层进一步解析业务实体类型的查询数据,将最终查询结果数据返回给用户前端。进一步地,所述后台程序本文档来自技高网
...

【技术保护点】
1.一种基于多形态复合的海量数据快速查询方法,其特征在于,包括如下步骤:/nS1:数据特性识别与预处理,即后台程序对需要处理的数据进行识别,判断数据的类型,对数据进行相应处理后存储于MYSQL数据库并同步至Elastic search搜索引擎;在后台程序的数据持久化存储层重写拦截器并设置查询拦截规则,在后台程序与MYSQL数据库、Elastic search搜索引擎之间设计一个查询中间件并对查询中间件进行配置;/nS2:数据查询处理,即拦截器对查询语句进行拦截并封装,查询中间件解析查询语句和参数,根据查询特征的不同,分别向MYSQL数据库或Elastic search搜索引擎发起请求,进行数据查询;/nS3:查询数据后处理,即查询中间件对查询结果进行格式化和数据集封装,进一步解析查询结果,将最终结果返回呈现给用户前端。/n

【技术特征摘要】
1.一种基于多形态复合的海量数据快速查询方法,其特征在于,包括如下步骤:
S1:数据特性识别与预处理,即后台程序对需要处理的数据进行识别,判断数据的类型,对数据进行相应处理后存储于MYSQL数据库并同步至Elasticsearch搜索引擎;在后台程序的数据持久化存储层重写拦截器并设置查询拦截规则,在后台程序与MYSQL数据库、Elasticsearch搜索引擎之间设计一个查询中间件并对查询中间件进行配置;
S2:数据查询处理,即拦截器对查询语句进行拦截并封装,查询中间件解析查询语句和参数,根据查询特征的不同,分别向MYSQL数据库或Elasticsearch搜索引擎发起请求,进行数据查询;
S3:查询数据后处理,即查询中间件对查询结果进行格式化和数据集封装,进一步解析查询结果,将最终结果返回呈现给用户前端。


2.如权利要求1所述的一种基于多形态复合的海量数据快速查询方法,其特征在于,步骤S1中所述数据特性识别与预处理的实施流程如下:
S1.1:通过自动EXCEL解析、数据源导入或/和系统业务自动产生的方式获得需要处理的数据;
S1.2:对待处理的数据进行整体及抽样扫描,根据数据总量和字段的复杂度判断数据的类型;
S1.3:如果数据类型为普通数据,则直接将普通数据存储于MYSQL数据库并同步至Elasticsearch搜索引擎;如果数据类型为复合数据,则将复合数据存储于MYSQL数据库并同步至Elasticsearch搜索引擎,同时在Elasticsearch搜索引擎中对复合数据进行预处理;
S1.4:对数据进行更新或删除操作时,后台程序的事务控制层判断数据在MYSQL数据库和Elasticsearch搜索引擎中同时更新或删除成功,才能提交本次数据更新或删除操作,否则进行回滚;
S1.5:根据数据及查询的复杂度,重写拦截器,设置查询拦截规则;
S1.6:在初始化后台程序时,对查询中间件进行整合配置,将查询中间件的服务器地址、端口及其它相关配置信息写入查询中间件配置文件中,同时,在查询中间件配置文件中也写入MYSQL数据库和ElasticSearch搜索引擎的服务器地址、用户名、密码及其它相关配置信息,使得查询中间件可以访问到MYSQL数据库和ElasticSearch搜索引擎。


3.如权利要求2所述的一种基于多形态复合的海量数据快速查询方法,其特征在于,步骤S1.3中所述对复合数据进行预处理的实施流程如下:
S1.3.1:在搜索引擎中创建复合数据对象的索引表,在索引表所有字段末尾增加一个名称为es_index的字段,用于存储一条记录复合数据预处理后的数据;
S1.3.2:将es_index前所有字段的字段名和字段值进行逐一拼接起来,生成一条包含所述复合数据全部记录信息的文本,再将所述文本存储在es_index字段中;
S1.3.3:对索引表中可以模糊查询的特殊字段,对其字段值添加一些模糊查询不同形式的字段分词。


4.如权利要求1所述的一种基于多形态复合的海量数据快速查询方法,其特征在于,步骤S2中所述数据查询处理的实施流程如下:
S2.1:后台程序接收到用户前端查询请求后,在数据持久化存储层构建SQL查询语句;<...

【专利技术属性】
技术研发人员:宋亚峰盛文施甘图
申请(专利权)人:四川宏力信息科技有限责任公司宏图智能物流股份有限公司
类型:发明
国别省市:四川;51

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

1