CN112084210A - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112084210A CN112084210A CN202011043256.2A CN202011043256A CN112084210A CN 112084210 A CN112084210 A CN 112084210A CN 202011043256 A CN202011043256 A CN 202011043256A CN 112084210 A CN112084210 A CN 112084210A
- Authority
- CN
- China
- Prior art keywords
- query
- query request
- data
- request
- index data
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000003672 processing method Methods 0.000 title abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 40
- 230000004044 response Effects 0.000 claims abstract description 19
- 238000004364 calculation method Methods 0.000 claims description 46
- 230000006870 function Effects 0.000 claims description 31
- 238000004458 analytical method Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 abstract description 10
- 238000011161 development Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 238000010276 construction Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 239000000872 buffer Substances 0.000 description 4
- 238000013079 data visualisation Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据处理方法、装置、电子设备及存储介质,其中,该方法包括:接收数据查询请求,所述查询请求包括:时间信息、查询内容;对所述数据查询请求进行泛化处理,并根据预先存储的历史查询记录信息判断泛化后的查询请求是否已经存在;响应于判断结果为泛化后的查询请求存在、且与该查询请求对应的指标数据存在,根据所述指标数据和所述数据查询请求返回与所述时间信息对应的查询数据,其中,所述指标数据对应于所述查询请求中的查询内容。通过本发明,可以减少前后端开发人员沟通配合,提高开发效率,节约开发成本,并且,保留低频的历史查询能力,从而可以提高用户体验。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
在大数据解决方案中,数据可视化是挖掘数据价值,提升最终用户体验的重要组成部分。一般情况下,数据可视化开发,需要后端开发人员提供相应的数据查询接口给前端开发人员。理想情况是后端服务提供数据明细给前端服务进行自由定制的可视化方案,但是在大数据场景下,提供大量的明细数据会因为传输过慢,前端计算能力不足导致最终用户体验明显降低。
为了提高最终用户体验,目前传统的解决方案有两种。
第一种是即时计算,在数据存储的节点上进行高并发的即时计算从而实现语义丰富的查询接口,包括常见的基础算子,甚至允许在查询中内置自定义的脚本,以此实现接近全维度的即时数据查询能力。但是这种方式的查询性能依然随着数据规模的高速增长退化严重,毕竟存储节点计算有限,而且每次查询都要进行计算,重复计算过多,非常浪费计算资源,缓存层只能减轻不能避免此类浪费。
第二种是预计算,对原数据进行事先加工处理落地形成一系列数据量明显降低的指标数据再提供给前端服务查询。但是由于可视化所需查询维度各不相同,每一种查询都需要前后端沟通配合,开发效率低下,并且许多指标高度相似,后端需要进行大量重复工作。另外,对于指标生成之前的数据无法查询,历史数据查询虽然是相对低频的行为但并不是完全不会触发的查询行为。
发明内容
有鉴于此,本发明提供一种数据处理方法、装置、电子设备及存储介质,以解决上述提及的至少一个问题。
根据本发明的第一方面,提供一种数据处理方法,所述方法包括:
接收数据查询请求,所述查询请求包括:时间信息、查询内容;
对所述数据查询请求进行泛化处理,并根据预先存储的历史查询记录信息判断泛化后的查询请求是否已经存在;
响应于判断结果为泛化后的查询请求存在、且与该查询请求对应的指标数据存在,根据所述指标数据和所述数据查询请求返回与所述时间信息对应的查询数据,其中,所述指标数据对应于所述查询请求中的查询内容。
根据本发明的第二方面,提供一种数据处理装置,所述装置包括:
请求接收单元,用于接收数据查询请求,所述查询请求包括:时间信息、查询内容;
泛化处理单元,用于对所述数据查询请求进行泛化处理;
第一判断单元,用于根据预先存储的历史查询记录信息判断泛化后的查询请求是否已经存在;
查询单元,用于响应于判断结果为泛化后的查询请求存在、且与该查询请求对应的指标数据存在,根据所述指标数据和所述数据查询请求返回与所述时间信息对应的查询数据,其中,所述指标数据对应于所述查询请求中的查询内容。
根据本发明的第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
根据本发明的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
由上述技术方案可知,通过对接收到的数据查询请求进行泛化处理,并判断泛化处理后的查询请求是否存在,当泛化后的查询请求存在、且与该查询请求对应的指标数据存在时,可以根据指标数据和数据查询请求返回与时间信息对应的查询数据,通过本技术方案,减少了前后端开发人员沟通配合,提高了开发效率,节约了开发成本,并且,保留了低频的历史查询能力,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的数据处理方法的流程图;
图2是根据本发明实施例的数据查询流程图;
图3是根据本发明实施例的数据查询详细流程图;
图4是根据本发明实施例的数据处理装置的结构框图;
图5为本发明实施例的电子设备600的系统构成的示意框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
由于目前的数据可视化方案存在查询开发性能较低、无法满足低频的历史查询需求等问题,从而导致了用户体验感较低,基于此,本发明实施例提供一种数据处理方案,通过该方案来进行查询操作,可以提高用户的体验感。以下结合附图来详细描述本发明实施例。
图1是根据本发明实施例的数据处理方法的流程图,如图1所示,该方法包括:
步骤101,接收数据查询请求,所述查询请求包括:时间信息、查询内容。
步骤102,对所述数据查询请求进行泛化处理,并根据预先存储的历史查询记录信息判断泛化后的查询请求是否已经存在。
在一个实施例中,可以根据所述泛化后的查询请求的MD5(信息摘要算法)值生成查询请求标识;之后根据所述查询请求标识和所述历史查询记录信息判断该泛化后的查询请求是否已经存在。MD5值的具体生成方法可以参见现有技术,本发明对此不作限制。
随后,将查询到的与所述查询请求标识相关的查询请求的旧视图修改为新视图,所述新视图包括:旧视图名称和所述查询请求标识。
步骤103,响应于判断结果为泛化后的查询请求存在、且与该查询请求对应的指标数据存在,根据所述指标数据和所述数据查询请求返回与所述时间信息对应的查询数据,其中,所述指标数据对应于所述查询请求中的查询内容。
在实际操作中,当判断结果为泛化后的查询请求不存在、且该查询请求的类型为慢查询或者高频查询,进一步判断与该查询请求对应的指标数据是否存在;当判断结果为指标数据不存在时,可以基于流计算技术生成与该查询请求对应的指标数据。
具体地,基于流计算技术生成与该查询请求对应的指标数据的操作包括:对所述泛化后的查询请求先进行语义分析处理;并根据处理后的结果生成与所述查询请求对应的算子函数;之后,基于流计算技术、所述算子函数生成与该查询请求对应的指标数据,其中,所述算子函数与所述指标数据相对应。
当所述查询内容为汇总数据时,可以根据所述指标数据和所述数据查询请求返回与所述时间信息对应的汇总数据。
在实际操作中,当步骤102的判断结果为泛化后的查询请求不存在、且该查询请求的类型为非慢查询或者非高频查询时,根据所述数据查询请求返回与所述时间信息对应的查询数据。例如,当所述查询内容为明细数据(即,历史数据)时,可以根据所述指标数据和所述数据查询请求返回与所述时间信息对应的明细数据。
通过对接收到的数据查询请求进行泛化处理,并判断泛化处理后的查询请求是否存在,当泛化后的查询请求存在、且与该查询请求对应的指标数据存在时,可以根据指标数据和数据查询请求返回与时间信息对应的查询数据,通过本发明实施例,减少了前后端开发人员沟通配合,提高了开发效率,节约了开发成本,并且,保留了低频的历史查询能力,提高了用户体验。
上述的慢查询是指超过指定时间的查询,可以通过如下方式来判断查询请求的类型是否为慢查询:根据预定规则判断所述查询请求的响应时间是否大于配置时间;当判断结果为大于时,则确定该查询请求的类型为慢查询。
高频查询是指超过指定频率的查询,可以通过如下方式来判断查询请求的类型是否为高频查询:根据所述历史查询记录信息判断查询请求的查询频率是否大于配置频率;响应于判断结果为大于,则确定该查询请求的类型为高频查询。
为了更好地理解本发明,以下以SQL(Structured Query Language,结构化查询语言)语句查询为例,来详细描述本发明实施例。
本发明实施例对外提供明细数据(即,历史数据)即时计算查询接口,在数据接入处负载均衡前端进行监控分析操作。通过监控分析用户的查询行为,对于高频查询与慢查询(慢查询,是指超过指定时间的SQL语句查询,例如,查询时间超过15秒的查询;高频查询是指超过指定频率的SQL语句查询,例如,每分钟访问次数超过10万次的查询),应用流计算技术实现自动化部署生成指标数据,创建明细数据与指标数据共存的查询视图。即,创建联合查询明细数据和指标数据的视图,可用如下语句表示:CREATE VIEW视图名AS SELECT字段1,COUNT(*)FROM明细表名WHERE data_date<=‘2020-09-18’GROUP BY字段1UNIONSELECT字段1,COUNT(*)FROM指标表名WHERE data_date>‘2020-09-18’GROUP BY字段1。
在监控分析操作时,对相应的查询行为静默切换原始表为新创建的查询视图。在一个实施例中,例如,原始SQL查询语句为”SELECT字段1,COUNT(*)FROM明细表名GROUP BY字段1”,重写为”SELECT字段1,COUNT(*)FROM视图名GROUP BY字段1”。
整个过程无需前后端开发人员参与,最终用户查询指标生成后的数据实时高效,查询指标数据生成前的数据依旧通过原始即时计算完成。
以下结合图2所示的流程来详细描述本发明实施例。
如图2所示,该查询流程主要包括:查询监控分析与流计算两部分,以下分别对这两部分流程进行描述。
(一)查询监控分析
(1)存储请求,即,存储查询语句,保存查询语句相关信息,可以用于规则匹配中的频度分析及系统调试。具体地,对于高频查询,匹配每分钟的查询次数是否高于配置次数,对于慢查询,匹配每次查询的响应时间是否大于配置时间。
(2)规则匹配,确定响应时间大于配置时间的慢查询及指定时间内查询频率高于配置阈值的高频查询,慢查询和高频查询符合自动化预计算目标,需要进行预计算。即,在查询请求被判断为高频查询和慢查询时,进行预计算,计算该查询请求的指标数据。
在实际操作中,可以根据经验和系统需求预先配置匹配规则。一个查询只会是慢查询或者不是慢查询,不会是高频查询。高频查询是根据一个时间段的访问量确定的,而不是根据单个查询。
(3)范化处理,对于需要进行预计算的查询进行范化处理,以供进一步进行语义分析。这里的泛化处理过程就是去参处理,只有参数不一样的两个SQL可以视为同一种查询。
(4)语义分析,对于范化后的查询语句进行分析,与流计算中的ETL(读取-处理-写入)和算子自动匹配。在实际操作中,语义分析指拆分SQL语句,比如SELECT表中哪些字段,GROUP BY表中哪些字段,做了哪些计算,是SUM(汇总)还是COUNT(计数)等。
(二)流计算
(1)数据采集,从原始明细数据中拉取数据,为了避免重复拉取相同数据以及保证数据接入准确一次,将原始明细数据同步至Kafka(一种系统)中给流计算拉取使用。
(2)数据分析,根据监控分析部分生成的语义形成具体计算过程,对于指定维度的数据进行实时加工。
具体地,按原始查询的查询逻辑对数据进行加工。例如,原始SQL为”SELECT字段1,COUNT(*)FROM明细表名GROUP BY字段1”,则在流计算中按字段1进行累和计算,每个时间窗口(数据在流计算中缓存的时间,可配置)的计算结果落一次地。比如,时间窗口配置为五分钟,原始数据最近五分钟内有10万条字段1=”A”和5万条字段1=”B”的数据,则原始数据中这五分钟有15万条相关数据,经过流计算后指标数据中这五分钟只会保存两条数据,分别是字段1=”A”,count=100000和字段1=”B”,count=50000两条数据。
这里的“字段”即为指标数据。
(3)存储结果,保存处理后结果到指定位置,供前端服务查询。
在实际操作中,需要维护数据库中的历史查询记录表和任务状态表,其中:
(1)历史查询记录表,在接收到查询请求时记录查询请求,该记录表包含的主要字段如下:
查询ID:为范化后的查询语句的MD5值,该值作为该查询与任务之间的唯一标识;
查询时间:接收到查询语句的时间;
范化语句:范化后的查询语句;
原始语句:未作处理的查询语句;
响应时间:记录查询耗时,用于辅助调整慢查询阈值以及对比指标计算前后性能。
(2)任务状态表,在接收到流计算任务指标注册信息时写入,该任务状态表包含的主要字段如下:
查询ID:与查询记录表中的查询ID一致;
原视图名:从查询记录表中范化语句抽取,原视图名是查询明细数据对应的表,可以是物理表可以是视图;
新视图名:指联合查询明细数据和指标数据的视图,默认规则为v_原视图名_查询ID,可以根据实际情况配置,但需要与流计算中任务保持一致规则;
注册时间:第二次指标生成时;
数据划分时间:当查询请求中的时间小于划分时间时,查询数据指向明细数据,当查询请求中的时间大于等于划分时间时,查询数据指向指标数据。在实际操作中,需要保证至少一个聚合时间粒度的数据冗余,避免查询结果出现缺口。
在具体实施过程中,上述历史查询记录表和任务状态表可以根据实际需求自行添加其它字段。
图3是根据本发明实施例的数据查询流程的详细流程图,如图3所示,该流程包括:
步骤301,前端发起查询请求。
步骤302,范化查询语句。该步骤是整个自动化构建的基础,范化后的查询语句可以与流计算中算子一一对应,如SQL语句中SUM(汇总)对应流计算中sum function。最基础的范化处理为去掉查询参数。
步骤303,以范化后查询语句的MD5值作为唯一ID,检索历史查询记录。如果检索结果为该查询存在,则进行步骤304,否则进行步骤307。
步骤304,检查指标是否已经构建过,如果构建过相应指标(如果构建过就存在相应的MD5值),则进行步骤305,否则进行步骤308。
步骤305,修改查询语句的旧视图名为新视图,例如,原始SQL查询语句为”SELECT字段1,COUNT(*)FROM明细表名GROUP BY字段1”,重写为”SELECT字段1,COUNT(*)FROM视图名GROUP BY字段1”。
需要说明的是,指标是否已经构建过由流计算任务在生成第二个周期的指标数据时通知注册,并创建注册时间点,在该注册时间点以前的查询采用明细数据,注册时间点以后的查询采用指标数据的新视图。在这里,周期指的是查询语句的聚合粒度,之所以选择第二个周期创建新视图,是为了通过最小的冗余度避免数据缺口。
步骤306,返回查询结果。
步骤307,判断该查询是否为慢查询,如果判断结果为是,执行步骤309,否则执行步骤306。
步骤308,判断该查询是否为高频查询,如果判断结果为是,执行步骤309,否则执行步骤307。
需要说明的是,如果步骤301的查询既不是慢查询也不是高频查询,则按照原流程请求数据,不会构建指标也不会切换视图。
步骤309,发起流计算任务,构建查询语句的指标。具体地,构建指标的数据源为原始查询语句中的视图名,构建指标的计算过程关键点是将查询语义中的聚合部分转化为流计算中的算子(例如,SQL语句中SUM(汇总)对应流计算中sum function)。在构建算子过程中,可以在常见算子如count、sum、min、max、average、top、unique等的基础上通过不断迭代完善。对于无法识别的新查询请求的语义,可以根据实际情况进行处理,例如,用户自定义函数UDF,表示流计算没有对应算子。在实际操作中,抽象得当的算子通常适配一类查询,高可复用,大大减轻了开发量。查询语义中的过滤部分转化为流计算中的ETL,基本可以一一对应,相对简单。
在实际操作中,构建指标的目标为新视图名,与范化后查询语句的MD5一一对应,保证了全局信息的统一。
由以上描述可知,本发明实施例按需生成指标数据,对于影响用户查询体验和过度重复计算的查询才进行指标计算;高度自动化生成指标数据,全过程除了新型特殊查询需要自定义新算子外,其它过程无需人工参与。同时,实现了自动切换查询视图,提高了用户体验。
基于相似的发明构思,本发明实施例还提供一种数据处理装置,优选地,该装置用于实现上述方法实施例中的流程。
图4是该数据处理装置的结构框图,如图4所示,该装置包括:请求接收单元41、泛化处理单元42、第一判断单元43和查询单元44,其中:
请求接收单元41,用于接收数据查询请求,所述查询请求包括:时间信息、查询内容。
泛化处理单元42,用于对所述数据查询请求进行泛化处理。
第一判断单元43,用于根据预先存储的历史查询记录信息判断泛化后的查询请求是否已经存在。
查询单元44,用于响应于判断结果为泛化后的查询请求存在、且与该查询请求对应的指标数据存在,根据所述指标数据和所述数据查询请求返回与所述时间信息对应的查询数据,其中,所述指标数据对应于所述查询请求中的查询内容。
通过泛化处理单元42对请求接收单元41接收到的数据查询请求进行泛化处理,第一判断单元43判断泛化处理后的查询请求是否存在,当泛化后的查询请求存在、且与该查询请求对应的指标数据存在时,查询单元44可以根据指标数据和数据查询请求返回与时间信息对应的查询数据,通过本发明实施例,无需前后端开发人员沟通配合,提高了开发效率,节约开发成本,并且,保留了低频的历史查询能力,提高了用户体验。
在实际操作中,上述装置还包括:第二判断单元和指标生成单元,其中:
第二判断单元,用于响应于判断结果为泛化后的查询请求不存在、且该查询请求的类型为慢查询或者高频查询,判断与该查询请求对应的指标数据是否存在;
指标生成单元,用于响应于判断结果为指标数据不存在,基于流计算技术生成与该查询请求对应的指标数据。
具体地,指标生成单元包括:语义分析模块、算子函数生成模块和指标生成模块,其中:语义分析模块,用于对所述泛化后的查询请求进行语义分析处理;算子函数生成模块,用于根据处理后的结果生成与所述查询请求对应的算子函数;指标生成模块,用于基于流计算技术、所述算子函数生成与该查询请求对应的指标数据,其中,所述算子函数与所述指标数据相对应。
在一个实施例中,上述第一判断单元43具体包括:查询请求标识生成模块和第一判断模块,其中:
查询请求标识生成模块,用于根据所述泛化后的查询请求的MD5值生成查询请求标识;
第一判断模块,用于根据所述查询请求标识和所述历史查询记录信息判断该泛化后的查询请求是否已经存在。
在实际操作中,上述装置还包括:
修改单元,用于将查询到的与所述查询请求标识相关的查询请求的旧视图修改为新视图,所述新视图包括:旧视图名称和所述查询请求标识。
慢查询确定单元,用于判断所述查询请求的类型为慢查询。
高频查询确定单元,用于判断所述查询请求的类型为高频查询。
其中,慢查询确定单元具体包括:时间判断模块和慢查询确定模块,其中:时间判断模块,用于根据预定规则判断所述查询请求的响应时间是否大于配置时间;慢查询确定模块,用于响应于判断结果为大于,则确定该查询请求的类型为慢查询。
高频查询确定单元具体包括:查询频率判断模块和高频查询确定模块,其中:查询频率判断模块,用于根据所述历史查询记录信息判断所述查询请求的查询频率是否大于配置频率;高频查询确定模块,用于响应于判断结果为大于,则确定该查询请求的类型为高频查询。
在一个实施例中,上述查询单元44还用于:响应于判断结果为泛化后的查询请求不存在、且该查询请求的类型为非慢查询或者非高频查询,根据所述数据查询请求返回与所述时间信息对应的查询数据。
当所述查询内容为汇总数据时,上述查询模块具体用于:根据所述指标数据和所述数据查询请求返回与所述时间信息对应的汇总数据。
上述各单元、各模块的具体执行过程,可以参见上述方法实施例中的描述,此处不再赘述。
在实际操作中,上述各单元、各模块可以组合设置、也可以单一设置,本发明不限于此。
本实施例还提供一种电子设备,该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照上述方法实施例进行实施及数据处理装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图5为本发明实施例的电子设备600的系统构成的示意框图。如图5所示,该电子设备600可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,数据处理功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:
接收数据查询请求,所述查询请求包括:时间信息、查询内容;
对所述数据查询请求进行泛化处理,并根据预先存储的历史查询记录信息判断泛化后的查询请求是否已经存在;
响应于判断结果为泛化后的查询请求存在、且与该查询请求对应的指标数据存在,根据所述指标数据和所述数据查询请求返回与所述时间信息对应的查询数据,其中,所述指标数据对应于所述查询请求中的查询内容。
从上述描述可知,本发明实施例提供的电子设备,通过对接收到的数据查询请求进行泛化处理,并判断泛化处理后的查询请求是否存在,当泛化后的查询请求存在、且与该查询请求对应的指标数据存在时,可以根据指标数据和数据查询请求返回与时间信息对应的查询数据,通过本发明实施例,无需前后端开发人员沟通配合,提高了开发效率,节约开发成本,并且,保留了低频的历史查询能力,提高了用户体验。
在另一个实施方式中,数据处理装置可以与中央处理器100分开配置,例如可以将数据处理装置配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现数据处理功能。
如图5所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图5中所示的所有部件;此外,电子设备600还可以包括图5中没有示出的部件,可以参考现有技术。
如图5所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现上述数据处理方法的步骤。
综上所述,本发明实施例会静默切换查询接口对应的视图,兼容历史明细数据与新生成的指标数据,以提高最终用户体验,整个过程前端开发人员和最终用户除了查询响应变快,其它方面完全无感知。同时,本发明实施例有效减少了前后端开发人员的沟通成本,降低前后端服务的耦合度,尽可能减少后端开发人员重复开发任务,提高开发效率,降低开发成本。并且,只针对满足配置的慢查询和高频查询需求进行预计算(即,计算指标数据),并且允许不再需要的查询对应的计算任务随时中止,节约了宝贵的计算资源。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (20)
1.一种数据处理方法,其特征在于,所述方法包括:
接收数据查询请求,所述查询请求包括:时间信息、查询内容;
对所述数据查询请求进行泛化处理,并根据预先存储的历史查询记录信息判断泛化后的查询请求是否已经存在;
响应于判断结果为泛化后的查询请求存在、且与该查询请求对应的指标数据存在,根据所述指标数据和所述数据查询请求返回与所述时间信息对应的查询数据,其中,所述指标数据对应于所述查询请求中的查询内容。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于判断结果为泛化后的查询请求不存在、且该查询请求的类型为慢查询或者高频查询,判断与该查询请求对应的指标数据是否存在;
响应于判断结果为指标数据不存在,基于流计算技术生成与该查询请求对应的指标数据。
3.根据权利要求2所述的方法,其特征在于,基于流计算技术生成与该查询请求对应的指标数据包括:
对所述泛化后的查询请求进行语义分析处理;
根据处理后的结果生成与所述查询请求对应的算子函数;
基于流计算技术、所述算子函数生成与该查询请求对应的指标数据,其中,所述算子函数与所述指标数据相对应。
4.根据权利要求1所述的方法,其特征在于,根据预先存储的历史查询记录信息判断泛化后的查询请求是否已经存在包括:
根据所述泛化后的查询请求的MD5值生成查询请求标识;
根据所述查询请求标识和所述历史查询记录信息判断该泛化后的查询请求是否已经存在。
5.根据权利要求4所述的方法,其特征在于,根据所述指标数据和所述数据查询请求返回与所述时间信息对应的查询数据之前,所述方法还包括:
将查询到的与所述查询请求标识相关的查询请求的旧视图修改为新视图,所述新视图包括:旧视图名称和所述查询请求标识。
6.根据权利要求1所述的方法,其特征在于,通过如下方式判断所述查询请求的类型为慢查询:
根据预定规则判断所述查询请求的响应时间是否大于配置时间;
响应于判断结果为大于,则确定该查询请求的类型为慢查询。
7.根据权利要求1所述的方法,其特征在于,通过如下方式判断所述查询请求的类型为高频查询:
根据所述历史查询记录信息判断所述查询请求的查询频率是否大于配置频率;
响应于判断结果为大于,则确定该查询请求的类型为高频查询。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于判断结果为泛化后的查询请求不存在、且该查询请求的类型为非慢查询或者非高频查询,根据所述数据查询请求返回与所述时间信息对应的查询数据。
9.根据权利要求1所述的方法,其特征在于,当所述查询内容为汇总数据时,根据所述指标数据和所述数据查询请求返回与所述时间信息对应的查询数据包括:
根据所述指标数据和所述数据查询请求返回与所述时间信息对应的汇总数据。
10.一种数据处理装置,其特征在于,所述装置包括:
请求接收单元,用于接收数据查询请求,所述查询请求包括:时间信息、查询内容;
泛化处理单元,用于对所述数据查询请求进行泛化处理;
第一判断单元,用于根据预先存储的历史查询记录信息判断泛化后的查询请求是否已经存在;
查询单元,用于响应于判断结果为泛化后的查询请求存在、且与该查询请求对应的指标数据存在,根据所述指标数据和所述数据查询请求返回与所述时间信息对应的查询数据,其中,所述指标数据对应于所述查询请求中的查询内容。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二判断单元,用于响应于判断结果为泛化后的查询请求不存在、且该查询请求的类型为慢查询或者高频查询,判断与该查询请求对应的指标数据是否存在;
指标生成单元,用于响应于判断结果为指标数据不存在,基于流计算技术生成与该查询请求对应的指标数据。
12.根据权利要求11所述的装置,其特征在于,所述指标生成单元包括:
语义分析模块,用于对所述泛化后的查询请求进行语义分析处理;
算子函数生成模块,用于根据处理后的结果生成与所述查询请求对应的算子函数;
指标生成模块,用于基于流计算技术、所述算子函数生成与该查询请求对应的指标数据,其中,所述算子函数与所述指标数据相对应。
13.根据权利要求10所述的装置,其特征在于,所述第一判断单元包括:
查询请求标识生成模块,用于根据所述泛化后的查询请求的MD5值生成查询请求标识;
第一判断模块,用于根据所述查询请求标识和所述历史查询记录信息判断该泛化后的查询请求是否已经存在。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
修改单元,用于将查询到的与所述查询请求标识相关的查询请求的旧视图修改为新视图,所述新视图包括:旧视图名称和所述查询请求标识。
15.根据权利要求10所述的装置,其特征在于,所述装置还包括:慢查询确定单元,用于判断所述查询请求的类型为慢查询,
所述慢查询确定单元包括:
时间判断模块,用于根据预定规则判断所述查询请求的响应时间是否大于配置时间;
慢查询确定模块,用于响应于判断结果为大于,则确定该查询请求的类型为慢查询。
16.根据权利要求10所述的装置,其特征在于,所述装置还包括:高频查询确定单元,用于判断所述查询请求的类型为高频查询,
所述高频查询确定单元包括:
查询频率判断模块,用于根据所述历史查询记录信息判断所述查询请求的查询频率是否大于配置频率;
高频查询确定模块,用于响应于判断结果为大于,则确定该查询请求的类型为高频查询。
17.根据权利要求10所述的装置,其特征在于,所述查询模块还用于:
响应于判断结果为泛化后的查询请求不存在、且该查询请求的类型为非慢查询或者非高频查询,根据所述数据查询请求返回与所述时间信息对应的查询数据。
18.根据权利要求10所述的装置,其特征在于,当所述查询内容为汇总数据时,所述查询模块具体用于:
根据所述指标数据和所述数据查询请求返回与所述时间信息对应的汇总数据。
19.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至9中任一项所述方法的步骤。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011043256.2A CN112084210A (zh) | 2020-09-28 | 2020-09-28 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011043256.2A CN112084210A (zh) | 2020-09-28 | 2020-09-28 | 数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112084210A true CN112084210A (zh) | 2020-12-15 |
Family
ID=73738393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011043256.2A Pending CN112084210A (zh) | 2020-09-28 | 2020-09-28 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084210A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032430A (zh) * | 2021-03-25 | 2021-06-25 | 网易(杭州)网络有限公司 | 一种数据处理方法、装置、介质和计算设备 |
CN114492737A (zh) * | 2021-12-31 | 2022-05-13 | 北京百度网讯科技有限公司 | 数据处理方法、装置及电子设备、存储介质及程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899322A (zh) * | 2015-06-18 | 2015-09-09 | 百度在线网络技术(北京)有限公司 | 搜索引擎及其实现方法 |
US9396248B1 (en) * | 2016-01-04 | 2016-07-19 | International Business Machines Corporation | Modified data query function instantiations |
CN108647357A (zh) * | 2018-05-17 | 2018-10-12 | 阿里巴巴集团控股有限公司 | 数据查询的方法及装置 |
CN110673839A (zh) * | 2019-09-10 | 2020-01-10 | 口碑(上海)信息技术有限公司 | 分布式工具配置化构建生成方法及系统 |
CN111400356A (zh) * | 2020-06-04 | 2020-07-10 | 浙江口碑网络技术有限公司 | 数据查询方法、装置及设备 |
-
2020
- 2020-09-28 CN CN202011043256.2A patent/CN112084210A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899322A (zh) * | 2015-06-18 | 2015-09-09 | 百度在线网络技术(北京)有限公司 | 搜索引擎及其实现方法 |
US9396248B1 (en) * | 2016-01-04 | 2016-07-19 | International Business Machines Corporation | Modified data query function instantiations |
CN108647357A (zh) * | 2018-05-17 | 2018-10-12 | 阿里巴巴集团控股有限公司 | 数据查询的方法及装置 |
CN110673839A (zh) * | 2019-09-10 | 2020-01-10 | 口碑(上海)信息技术有限公司 | 分布式工具配置化构建生成方法及系统 |
CN111400356A (zh) * | 2020-06-04 | 2020-07-10 | 浙江口碑网络技术有限公司 | 数据查询方法、装置及设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032430A (zh) * | 2021-03-25 | 2021-06-25 | 网易(杭州)网络有限公司 | 一种数据处理方法、装置、介质和计算设备 |
CN113032430B (zh) * | 2021-03-25 | 2023-12-19 | 杭州网易数之帆科技有限公司 | 一种数据处理方法、装置、介质和计算设备 |
CN114492737A (zh) * | 2021-12-31 | 2022-05-13 | 北京百度网讯科技有限公司 | 数据处理方法、装置及电子设备、存储介质及程序产品 |
CN114492737B (zh) * | 2021-12-31 | 2022-12-09 | 北京百度网讯科技有限公司 | 数据处理方法、装置及电子设备、存储介质及程序产品 |
US11983086B2 (en) | 2021-12-31 | 2024-05-14 | Beijing Baidu Netcom Science Technology Co., Ltd. | Method for processing data, and electronic device, storage medium and program product |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108255653B (zh) | 一种产品的测试方法及其终端 | |
TWI622933B (zh) | Client update method and device | |
CN111367983A (zh) | 数据库访问方法、系统、设备和存储介质 | |
WO2019042180A1 (zh) | 资源配置方法及相关产品 | |
CN107341033A (zh) | 一种数据统计方法、装置、电子设备和存储介质 | |
CN108228628B (zh) | 一种结构化查询语言数据库中的宽表生成方法及其装置 | |
CN110765165B (zh) | 一种跨系统数据同步处理的方法、装置及系统 | |
CN112084210A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN104035938A (zh) | 一种性能持续集成数据处理的方法及装置 | |
CN111104214B (zh) | 一种工作流应用方法及装置 | |
CN112396511B (zh) | 分布式风控变量数据处理方法、装置及系统 | |
CN114064712A (zh) | 数据访问方法、装置、电子设备及计算机可读存储介质 | |
CN109947736B (zh) | 实时计算的方法和系统 | |
CN107220283B (zh) | 数据处理方法、装置、存储介质及电子设备 | |
CN109389271B (zh) | 应用性能管理方法及系统 | |
CN113495723B (zh) | 一种调用功能组件的方法、装置及存储介质 | |
CN111736795A (zh) | 音频处理方法、装置、设备和存储介质 | |
CN112860720B (zh) | 一种存储容量的更新方法以及装置 | |
CN106254575B (zh) | 一种确定用户标识的方法和装置 | |
CN111988195B (zh) | 用于分组测试的应答方案确定方法、装置、设备及介质 | |
WO2016206437A1 (zh) | Rom包生成方法及装置 | |
CN112363774A (zh) | Storm实时任务的配置方法及装置 | |
CN111400060A (zh) | 设备联动方法、装置、服务器和介质 | |
CN111343172A (zh) | 网络访问权限动态处理方法及装置 | |
CN110222261B (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 |