CN113641713A - 一种数据处理的方法和装置 - Google Patents

一种数据处理的方法和装置 Download PDF

Info

Publication number
CN113641713A
CN113641713A CN202111005262.3A CN202111005262A CN113641713A CN 113641713 A CN113641713 A CN 113641713A CN 202111005262 A CN202111005262 A CN 202111005262A CN 113641713 A CN113641713 A CN 113641713A
Authority
CN
China
Prior art keywords
query
time
identifier
cache
determining
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
Application number
CN202111005262.3A
Other languages
English (en)
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co 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 Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202111005262.3A priority Critical patent/CN113641713A/zh
Publication of CN113641713A publication Critical patent/CN113641713A/zh
Priority to PCT/CN2022/093272 priority patent/WO2023029592A1/zh
Pending legal-status Critical Current

Links

Images

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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations

Abstract

本发明公开了一种数据处理的方法和装置,涉及大数据技术领域。该方法的一具体实施方式包括:接收针对目标数据的获取请求,获取请求包括查询入参;对查询入参进行解析,确定与查询入参对应的各个查询标识;判断缓存中是否存在查询标识,若是,从缓存中获取查询标识对应的查询结果;若否,从数据库中获取查询标识对应的查询结果;拼接各个查询标识的查询结果,得到目标数据。该实施方式能够提升缓存命中率,提高数据查询的效率,缩短数据服务接口的响应时间,进而提升了用户体验。

Description

一种数据处理的方法和装置
技术领域
本发明涉及大数据技术领域,尤其涉及一种数据处理的方法和装置。
背景技术
在互联网领域中,网站和不同移动端的应用程序通过数据服务接口查询数据,由于用户对的体验要求越来越高,对查询数据的要求也越来越高,既要求接口响应速度越来越来,又要求数据查询范围越来越广。
当用户选择任意组合的维度查询数据时,数据服务接口需要通过OLAP(OnlineAnalytical Processing,联机分析处理)方式聚合数据,这种接口采用明细数据去聚合的方式,导致接口响应速度较慢,当高频次调用接口,且查询数据范围广时,数据处理效率较低,无法快速返回数据查询结果,用户体验较差。
发明内容
有鉴于此,本发明实施例提供一种数据处理的方法和装置,通过对目标数据的获取请求中的查询入参进行解析,获得与查询入参对应的各个查询标识,首先从缓存获取查询标识对应的查询结果,如果缓存中不存在对应的查询结果,再从数据库中获取对应的查询结果,进而得到目标数据,提高了查询效率,提升了接口响应速度,进而提升了用户体验。
为实现上述目的,根据本发明实施例的一个方面,提供了一种数据处理的方法,包括:
接收针对目标数据的获取请求,所述获取请求包括查询入参;
对所述查询入参进行解析,确定与所述查询入参对应的各个查询标识;
判断缓存中是否存在所述查询标识,若是,从所述缓存中获取所述查询标识对应的查询结果;若否,从数据库中获取所述查询标识对应的查询结果;
拼接所述各个查询标识的查询结果,得到所述目标数据。
可选地,对所述查询入参进行解析,确定与所述查询入参对应的各个查询标识,包括:
从所述查询入参中解析出时间属性;
根据所述时间属性,确定所述查询入参对应的待获取的返回值的个数;
根据所述待获取的返回值的个数,确定与所述查询入参对应的各个查询标识。
可选地,对所述查询入参进行解析,确定与所述查询入参对应的各个查询标识,包括:
从所述查询入参中解析出时间属性和维度类型;所述维度类型包括分组维度;
根据所述时间属性和所述分组维度,确定所述查询入参对应的待获取的返回值的个数;
根据所述待获取的返回值的个数,确定与所述查询入参对应的各个查询标识。
可选地,所述维度类型还包括排序维度,所述排序维度指示了排序字段和排序取值范围;
拼接所述各个查询标识的查询结果,得到所述目标数据,包括:
根据所述排序字段,对所述各个查询标识的查询结果进行排序,并根据所述排序取值范围,获取与所述排序取值范围对应的查询结果,以得到所述目标数据。
可选地,根据所述时间属性和所述分组维度,确定所述查询入参对应的待获取的返回值的个数,包括:
判断所述分组维度与已配置的分组维度是否匹配;
若是,根据所述时间属性和所述分组维度的枚举值确定所述待获取的返回值的个数;若否,根据所述时间属性确定所述待获取的返回值的个数。
可选地,对所述查询入参进行解析,确定与所述查询入参对应的各个查询标识,包括:
从所述查询入参中解析出时间属性和维度类型;所述维度类型包括限制维度,所述限制维度指示了枚举值;
根据所述时间属性和所述枚举值,确定所述查询入参对应的待获取的返回值的个数;
根据所述待获取的返回值的个数,确定与所述查询入参对应的各个查询标识。
可选地,根据所述待获取的返回值的个数,确定与所述查询入参对应的各个查询标识,包括:
判断所述待获取的返回值的个数是否大于1;
若否,确定与所述查询入参对应的一个查询标识;
若是,判断所述缓存中所述待获取的返回值的个数是否不小于预设阈值,若是,对所述查询入参进行拆解,确定与所述查询入参对应的各个查询标识,若否,不进行拆解,确定与所述查询入参对应的一个查询标识。
可选地,对所述查询入参进行解析,确定与所述查询入参对应的各个查询标识,还包括:
从所述查询入参解析出时间属性,所述时间属性包括开始时间、结束时间和时间粒度,
根据所述开始时间、结束时间和时间粒度,异步生成与所述查询入参对应的新时间查询标识;
其中,所述新时间查询标识的结束时间为所述查询入参的结束时间与所述时间粒度的加和。
可选地,从数据库中获取所述查询标识对应的查询结果之后,还包括:
判断所述查询结果中返回值的个数是否大于1;
若是,将所述查询结果和所述查询结果对应的查询标识对应存储在缓存中;
若否,根据所述查询结果中返回值的个数,对所述查询结果与所述查询结果对应的查询标识进行拆解,获得子查询标识和所述子查询标识对应的返回值,并将所述子查询标识和所述子查询标识对应的返回值对应存储在所述缓存中。
本发明实施例的另一方面提供一种数据处理的装置,包括:
接收模块,接收针对目标数据的获取请求,所述获取请求包括查询入参;
确定模块,对所述查询入参进行解析,确定与所述查询入参对应的各个查询标识;
判断模块,判断缓存中是否存在所述查询标识,若是,从所述缓存中获取所述查询标识对应的查询结果;若否,从数据库中获取所述查询标识对应的查询结果;
拼接模块,拼接所述各个查询标识的查询结果,得到所述目标数据。
根据本发明实施例的另一个方面,提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明提供的数据处理的方法。
根据本发明实施例的还一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明提供的数据处理的方法。
上述发明中的一个实施例具有如下优点或有益效果:通过对目标数据的获取请求中的查询入参进行解析,获得与查询入参对应的各个查询标识,首先从缓存获取查询标识对应的查询结果,如果缓存中不存在对应的查询结果,再从数据库中获取对应的查询结果,进而得到目标数据,提高了查询效率,提升了接口响应速度,进而提升了用户体验。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的一种数据处理的方法的主要流程的示意图;
图2是本发明实施例的另一种数据处理的方法的主要流程的示意图;
图3是根据本发明实施例的再一种数据处理的方法的主要流程的示意图;
图4是本发明实施例的一种数据处理的方法的流程示意图;
图5是根据本发明实施例的一种数据处理的装置的主要模块的示意图;
图6是本发明实施例可以应用于其中的示例性系统架构图;
图7是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
现有数据服务接口一般设置有基于Key-Value存储系统的缓存,当调用方通过数据服务接口查询数据时,数据服务接口根据接口查询入参或生成的sql生成一个Key,并将Key和返回的Value存储在缓存中,以便下次查询缓存。例如,调用方A请求数据服务接口获取2021-05-01~2021-05-02每天的订单量,缓存根据这个请求,生成一个Key=“order_2021-05-01_2021-05-02”,Value={“2021-05-01”:100,“2021-05-02”:200},调用方B请求获取2021-05-01~2021-05-03的每天的订单量,则无法命中这个Key=“order_2021-05-01_2021-05-02”,需要再次查数据库。但是这种方式会导致缓存中存储的数据粒度较大,缓存命中率不高,缓存中数据的粒度相当于由接口调用方决定,不同的调用方如果数据范围和数据粒度不同,则无法共享缓存,导致缓存命中率低,数据查询效率较低,接口响应时间长,降低了用户体验。
针对上述问题,本发明实施例提供了一种数据处理的方法,能够提升缓存命中率,提升数据查询效率,缩短接口响应时间,提升接口性能。
图1是根据本发明实施例的一种数据处理的方法的主要流程的示意图,如图1所示,该数据处理的方法,应用于服务端,包括以下步骤:
步骤S101:接收针对目标数据的获取请求,获取请求包括查询入参;
步骤S102:对查询入参进行解析,确定与查询入参对应的各个查询标识;
步骤S103:判断缓存中是否存在查询标识,若是,执行步骤S104,若否,执行步骤S105;
步骤S104:从缓存中获取查询标识对应的查询结果;
步骤S105:从数据库中获取查询标识对应的查询结果;
步骤S106:拼接各个查询标识的查询结果,得到目标数据。
在本发明实施例中,调用方通过数据服务接口向服务提供方发送目标数据的获取请求,以获取目标数据。其中,调用方为调用数据服务接口的一方,服务提供方位被调用的提供目标数据的一方。服务提供方可以为服务端,调用方可以为客户端。获取请求中包括的查询入参,服务提供方可以根据查询入参,确定目标数据并返回给调用方。
在本发明实施例中,从查询入参中可以解析出请求调用方标识、调用的接口的标识以及目标数据的标识或指标,也可以解析出渠道标识。其中,调用的接口的标识指示了调用的接口,调用方标识用于验证调用方是否具有目标数据的获取权限,可以通过判断调用方的标识是否在白名单内来验证其获取权限,如果验证通过,则可以响应获取请求,查询并返回目标数据,如果验证失败,则拒绝响应获取请求。目标数据的标识或指标为获取请求所请求获取的目标数据的标识,如累计订单量的标识。渠道标识为调用方调用数据服务接口的渠道的标识,如为市场渠道,则可以解析出市场渠道标识。可选地,还可以解析出业务内容,即获取的目标数据的业务范围。
在本发明实施例的一种实施方式中,步骤S102,进一步包括:从查询入参中解析出时间属性;根据时间属性,确定查询入参对应的待获取的返回值的个数;根据待获取的返回值的个数,确定与查询入参对应的各个查询标识。
在本发明实施例,从查询入参中可以解析出时间属性,时间属性包括开始时间、结束时间和时间粒度。开始时间和结束时间确定了目标数据的查询的时间范围,时间粒度可以为时间间隔,如1天、1小时、10分钟、1分钟等。则根据时间属性,可以确定待获取的返回值的个数。例如,调用方A请求获取2021-05-01每小时的订单量,从查询入参中解析出,开始时间2021-05-01 00:00:00,结束时间2021-05-0123:59:59,时间粒度为1小时,则待获取的返回值的个数为12。
根据业务需求,当调用方采用业务相关的维度获取目标数据时,可以从查询入参中解析出维度类型,维度类型包括分组维度、限制维度和排序维度等中的至少一种。
分组维度指示了分组字段,用于指明分组的维度,例如分组维度可以为平台维度、部门维度、类目维度等可以实现分组的维度,平台维度指明了按照平台分组获取目标数据,部门维度指明了按照部门分组的方式获取目标数据,类目维度指明了按照类目分组的方式获取目标数据。进一步解析可以获得分组维度对应的枚举值,如平台维度的枚举值包括所有的平台;二级部门维度的枚举值为所有的二级部门;类目维度的枚举值为所有的类目。限制维度限制了枚举值,如限制维度可以为获取某个平台、部门、省份等的目标数据。排序维度指明了对目标数据的按照某个指标的顺序排序,并可以指明排序后获取的目标数据的范围,例如,排序维度可以指明获取订单量排名前十的数据。
在本发明实施例中,分组维度、限制维度和排序维度可以任意组合,使得数据查询范围更广,以提升接口性能,提升用户体验。
在本发明实施例的另一种实施方式中,如图2所示,步骤S102,进一步包括:
步骤S201:从查询入参中解析出时间属性和维度类型;维度类型包括分组维度;
步骤S202:根据时间属性和分组维度,确定查询入参对应的待获取的返回值的个数;
步骤S203:根据待获取的返回值的个数,确定与查询入参对应的各个查询标识。
可选地,步骤S202,进一步包括:判断所述分组维度与已配置的分组维度是否匹配;若是,根据所述时间属性和所述分组维度的枚举值确定所述待获取的返回值的个数;若否,根据所述时间属性确定所述待获取的返回值的个数。
在本发明实施例中,查询标识可以为关键字、基于Key-Value(简称K-V)存储系统中的Key,或其他的可以从缓存或数据库中获取查询结果的查询参数。进一步可选地,查询标识为Key,根据查询入参,可以确定与查询入参对应的一个或多个Key,查询结果为Value。
从查询入参中解析出时间属性和维度类型,时间属性包括开始时间、结束时间和时间粒度,当维度类型为分组维度时,分组维度指示了分组字段,根据分组字段对分组维度进行解析,判断分组维度与已配置的分组维度是否匹配,如果是,即查询入参中的分组维度为已配置的分组维度,则获取该分组维度的枚举值,并根据时间属性和分组维度的枚举值,来确定查询入参的待获取的返回值的个数,如果否,即未配置该分组维度,则根据时间属性确定待获取的返回值的个数。通过判断分组维度与已配置分组维度是否匹配,可以确定是否可以按照分组维度进行拆解。例如,从查询入参中解析出了分组维度为二级部门字段,如果已配置了二级部门的分组维度该部门维度,则可以匹配,然后获取已配置的二级部门维度的枚举值(包括部门b1、部门b2和部门b3),根据时间属性和枚举值可以确定待获取的返回值的个数,如果未配置二级部门的分组维度,则根据时间属性确定待获取的返回值的个数。待获取的返回值的为查询入参查询或期望获取的返回值的个数,如从查询入参解析出开始时间=2021-05-01 00:00:00,结束时间=2021-05-02 23:59:59,时间粒度为1天,分组字段为二级部门,即查询所有二级部门在2021-05-01和2021-05-02的每天的订单量,如二级部门有a和b两个,则查询二级部门a分别在2021-05-01和2021-05-02每天的订单量,以及二级部门b分别在2021-05-01和2021-05-02每天的订单量,则待获取的返回值的个数为4个,与订单量的值是否为空无关。
在本发明实施例的再一种实施方式中,步骤S102,进一步包括:
从查询入参中解析出时间属性和维度类型;维度类型包括限制维度,限制维度指示了枚举值;
根据时间属性和枚举值,确定查询入参对应的待获取的返回值的个数;
根据待获取的返回值的个数,确定与查询入参对应的各个查询标识。
当从查询入参中解析出时间属性和限制维度,根据时间属性和枚举值,可以确定待获取的返回值的个数。如从查询入参解析出开始时间=2021-05-01 00:00:00,结束时间=2021-05-02 23:59:59,时间粒度为1天,限制维度指示了枚举值为二级部门a,则查询二级部门a分别在2021-05-01和2021-05-02每天的订单量,待获取的返回值的个数为2。
在本发明实施例中,如图3所示,根据待获取的返回值的个数,确定与查询入参对应的各个查询标识,包括:
步骤S301:判断待获取的返回值的个数是否大于1,若否,执行步骤S302,若是,执行步骤S303;
步骤S302:确定与查询入参对应的一个查询标识;
步骤S303:判断缓存中待获取的返回值的个数是否不小于预设阈值,若是,执行步骤S304,若否,执行步骤S305;
步骤S304:对查询入参进行拆解,确定与查询入参对应的各个查询标识;
步骤S305:不对查询入参进行拆解,确定与查询入参对应的一个查询标识。
当确定待获取的返回值的个数后,判断待获取的返回值的个数是否大于1,如果待获取的返回值的个数为1,说明获取查询查询的是一个点的数据的,返回的查询结果是一个值,则不需要对查询入参进行拆解,根据查询入参确定一个查询标识即可。例如,平台=平台a,一级部门=部门b,开始时间=2020-01-01 00:00:00,结束时间=2020-01-0100:59:59,指标=累计指标v_1。即查询平台a,部门b,在2020-01-0100:00:00~2020-01-01 00:59:59之间的累计指标v_1,返回的是一个值,则不需要进行拆解,确定一个查询标识即可。
本发明实施例中,拆解为将查询入参拆解为多个查询标识,根据查询标识从缓存中和/或数据库中获取查询标识对应的查询结果,因为从缓存中查询数据的时间是远小于从数据库中查询数据的时间的,所以通过拆解为多个查询标识,进行查询,先从缓存中查询再从数据库中查询,可以提升查询的效率。
在本发明实施例的一种实施方式中,缓存可以为K-V缓存,如Redis缓存,数据库可以为Mysql数据库,也可以为其他的缓存或数据库。
如果待获取的返回值的个数大于1,则判断缓存中待获取的返回值的个数是否不小于预设阈值,如果是,则进行拆解,否则,不进行拆解。其中,预设阈值是查询入参对应的待获取的返回值的个数与系统阈值确定的,其中,系数阈值是根据经验和日志分析估计的一个0~1之间的值(如0.6)。设查询入参对应的待获取的返回值的个数为N,缓存中待获取的返回值的个数为M,系数阈值为r,如果M≥r*N,则可以进行拆解,否则,不进行拆解,以保证较短的数据查询时间。因为从缓存中查询获取数据的时间远小于从数据库中查询获取数据的时间。如果从数据库查询多个值需要的时间为ts,拆解以后,部分值命中缓存,查询缓存的时间为ts1(远小于ts),剩下的值从数据库中一次查询,查询时间为ts2,将查询获得的多个值拼接,拼接时间为ts3,如果ts2+ts3<ts,则进行拆解,也值得拆解,否则不进行拆解,不值得拆解。即越多的值从缓存中查,则查询时间越短,数据服务接口性能越好。
在本发明实施例的一种实施方式中,对查询入参进行拆解,包括:根据时间属性对查询入参进行拆解。根据开始时间、结束时间和时间粒度,对查询入参拆解。针对查一系列时间趋势的数据,例如,从查询入参解析出,平台=平台a,一级部门=部门b,开始时间=2020-01-0100:00:00,结束时间=2020-01-01 23:59:59,时间间隔=1小时,指标=累计指标v_1。即查询平台a,部门b,在2020-01-01 00:00:00~2020-01-0123:59:59之间,0-1点的累计值,0-2点的累计值,0-3点的累计值……0-24点的累计值,返回的是24个值,并且这些值按照时间次序排序以后是一个连续的时间趋势,则可以根据时间粒度进行拆解,从而可以将该获取请求拆解为24个查询请求分别进行查询,可以确定24个查询标识,来分别查询0-1点的累计值,0-2点的累计值,0-3点的累计值……0-24点的累计值。如果24个查询标识有x个在缓存中,则从缓存中查询x个查询标识的查询结果,剩余的24-x个查询标识的查询结果通过查询数据库的方式获取。
在本发明实施例的另一种实施方式中,对查询入参进行拆解,包括:根据时间属性和维度类型对查询入参进行拆解。当维度类型为分组维度时,可以根据时间粒度和分组维度进行拆解。例如,从查询入参可以解析出,平台=平台a,一级部门=部门b,开始时间=2020-01-0100:00:00,结束时间=2020-01-01 00:59:59,时间粒度=1天,分组维度=二级部门字段,指标=累计指标v_1。即查询平台a,一级部门b下面所有的二级部门,在2020-01-01 00:00:00~2020-01-01 00:59:59之间的累计数据。如二级部门包括b1、b2和b3,则将该获取请求拆解为3个查询请求分别查询,可以确定3个查询标识,分别为二级部门b1的累计数据、二级部门b2的累计数据和二级部门b3的累计数据。
在本发明实施例中,确定与查询入参对应各个查询标识,包括:确定对应的查询标识的形态。当确定查询标识后,根据查询入参,确定查询标识的形态,使得查询标识的形态符合缓存和/或数据库的形态,以可以快速获得查询结果。例如,若24个Key中,有x个Key在K-V缓存中,则将x个Key的形态转换为K-V缓存的形态,例如,Key=时间缩写_时间粒度_平台_一级部门_二级部门,若平台=平台a,一级部门=部门b,开始时间=2020-01-01 00:00:00,结束时间=2020-01-0100:59:59,指标=累计指标v_1。Key=“2020010101_h_a_b__”,“h”代表时间粒度是小时,2020010101代表了2020-01-01的第一个小时。
当确定查询入参对应的各个查询标识后,首先判断缓存中是否存在查询标识,如果存在,则从缓存中获取该查询标识的查询结果,如果不存在,则从数据库中获取查询标识对应的查询结果,从而可以确定哪些查询标识可以从缓存中查询,哪些查询标识可以从数据库中查询,优先确定可以从缓存中查询的查询标识,剩下的查询标识再一次从数据库中查询,从而可以大大降低数据的查询时间,提升查询效率,缩短接口响应时间,提升接口吞吐量,提高接口抗并发能力,提升接口性能。例如,若确定出24个Key中,有x个Key在K-V缓存中,则从K-V缓存中获取x个Key分别对应的Value,然后从数据库中获取剩余的24-x个Key分别对应的Value。
例如,调用方请求获取2021.5.1~2020.5.3的订单数据,时间粒度是天,则会将该获取请求拆成3个请求,分别为获取2021.5.1的订单,获取2021.5.2的订单和获取2020.5.3的订单。现有技术的缓存是存储一个key=order_d_2021-05-01_2021-05-03,如果次调用方需要获取2021.5.1~2020.5.4的每天的订单数据,不做拆解的话,是无法命中缓存的,需要去数据库中获取4天的订单数据。而本发明实施例将获取请求拆解以后,缓存中是存储3个key,分别是order_d_2021-05-01_2021-05-01,order_d_2021-05-02_2021-05-02和order_d_2021-05-03_2021-05-03。当调用方请求获取2021.5.1~2020.5.4的订单数据时,先在缓存中查order_d_2021-05-01_2021-05-01,order_d_2021-05-02_2021-05-02,order_d_2021-05-03_2021-05-03,order_d_2021-05-04_2021-05-04,其中3个key命中,则只需从数据库中查order_d_2021-05-04_2021-05-04。
再如,一级部门a,是由二级部门b1,二级部门b2,二级b3组成,那么a可以拆解为b1,b2,b3。
现有技术:调用方第一次请求2021.5.12的二级部门b1订单量,则生成key=order_d_20210512_b1,缓存中存储了K=order_d_20210512_b1,V={“order”:100}。调用方下次请求2021.5.12的一级部门a下面所有二级部门的订单数据,不进行拆解,会先在缓存中寻找K=order_d_20210512_a,未找到就会查询数据库。
本发明实施例:调用方第一次请求2021.5.12的二级部门b1订单量,则生成key,order_d_20210512_b1,缓存中存储了K=order_d_20210512_b1,V={“order”:100}。调用方下次请求2021.5.12的一级部门a下面所有二级部门的订单数据,会拆解成查询2021.5.12的二级部门b1、b2和b3的订单数据,也就是查询order_d_20210512_b1,order_d_20210512_b2,order_d_20210512_b3,先查询缓存,其中order_d_20210512_b1可以命中缓存,order_d_20210512_b2,order_d_20210512_b3在缓存中查不到,再查询数据库。本发明实施例相对于现有技术,提高了缓存命中率,减少了查询数据量的数据量。
当获取到各个查询标识对应的查询结果后,拼接查询结果,即将从缓存中获取到的查询结果和从数据库中获取到的查询结果进行拼接,转换为统一的形态,得到目标数据,并将目标数据返回给调用方。
在本发明实施例的方式中,若从查询入参中解析出分组维度和排序维度,分组维度指示了分组字段,排序维度指示了排序字段和排序取值范围,则拼接各个查询标识的查询结果,得到目标数据,包括:
根据排序字段,对所述各个查询标识的查询结果进行排序,并根据排序取值范围,获取与排序取值范围对应的查询结果,以得到目标数据。其中,排序取值范围为根据排序字段进行排序后的选择的范围。
例如,从查询入参解析出开始时间=2021-05-01 00:00:00,结束时间=2021-05-02 23:59:59,时间粒度为1天,分组字段为二级部门,排序字段为订单量,排序取值范围为订单量最多的前2个结果,则首先查询二级部门a分别在2021-05-01和2021-05-02每天的订单量,以及二级部门b分别在2021-05-01和2021-05-02每天的订单量,待返回值的个数为4个,可以将该获取请求拆解为4个请求,可以确定4个Key,若3个Key在缓存中,1个Key在数据库中,则从缓存中获取其中3个Key的查询结果,从数据库中获取剩余1个Key的查询结果,然后将从缓存和数据库中获取的查询结果转换为统一形态,并根据订单量的大小排序,并选取订单量最多的前2个查询结果,得到目标数据并返回。
如果当前调用方的获取请求为查询某个时间粒度下的某维度的目标数据,则该时间粒度下的下个时刻的数据可能也会查询,如对于一些业务是对比过去时间的数据时,场景如:将实时数据和去年数据对比,实时数据如果是以1分钟为时间粒度,一天订单量可以是1440个点的数据,去年同期也是以1分钟为时间粒度的,去年的订单数据。
在本发明实施例中,步骤S102,进一步还包括:
从查询入参解析出时间属性,时间属性包括开始时间、结束时间和时间粒度;
根据开始时间、结束时间和时间粒度,异步生成与查询入参对应的新时间查询标识;
其中,新时间查询标识的结束时间为查询入参的结束时间与时间粒度的加和。
当从查询入参中解析出开始时间、结束时间和时间粒度后,可以异步生成新时间查询标识,新时间查询标识为根据查询入参确定的各个查询标识中下一时刻的查询标识,作为预测的查询标识。新时间标识的结束时间可以通过查询入参的结束时间与时间粒度的加和计算得到,例如,查询平台a,部门b,在2020-01-01 00:00:00~2020-01-0100:59:59之间的累计指标v_1,时间粒度为1小时,则新时间查询标识的结束时间为2020-01-01 01:59:59,即新时间查询标识查询的是2020-01-01 00:00:00~2020-01-01 01:59:59之间的累计指标v_1。
在本发明实施例中,异步生成新时间查询标识后,根据新时间查询标识从数据库中获取新时间查询标识对应的查询结果,然后将新时间查询标识和新时间查询标识对应的查询结果,对应存储到缓存中,以更新缓存,以便下一时刻或后续获取该新时间查询标识的查询结果时,可以直接从缓存中获取,而不需要再从数据库中获取,从而提升了缓存命中率,提升了数据查询的效率,缩短了接口响应时间。
可选地,为避免短时间查询数据库的压力较大,可以将新时间查询标识异步到消息组件,如消息队列中,通过监听消息并且错开时间查询数据库,并存储新时间查询标识和对应的查询结果至缓存中,已更新缓存。
例如,类型1,查询平台a,部门b,在2020-01-0100:00:00~2020-01-01 00:59:59之间的累计指标v_1,则很可能下一个时刻就需要查平台a,部门b,在2020-01-01 00:00:00~2020-01-01 01:59:59之间的累计指标v_1,从而可以确定一个新时间Key。类型2,查询平台a,部门b,在2020-01-01 00:00:00~2020-01-01 11:59:59之间,0-1点的累计值,0-2点的累计值,0-3点的累计值……0-12点的累计值,则很可能下一个时刻就需要查0-13点的累计值,从而可以确定一个新时间Key。类型3,查询平台a,一级部门b下面所有的二级部门,在2020-01-01 00:00:00~2020-01-01 00:59:59之间的累计数据,则很可能下一个时刻就需要查平台a,一级部门b下面所有的二级部门,在2020-01-01 00:00:00~2020-01-01 01:59:59之间的累计数据,如二级部门有3个,待获取的返回值的个数为3个,可以确定3个Key,每个Key可以在生成一个新时间Key,则共生成3个新时间Key,将新时间Key和从数据库中获取的新时间Key的查询结果对应存储在缓存中,这样当下次调用方调用,就可以命中缓存,而不需要再从数据库中查询,提升了缓存的命中率。
再如,当前时间是2021.5.12,调用方查询0时刻-第100个点的数据之间的累计订单数据时,对比历史也会查询2020.5.12的0时刻-第100个点之间的累计订单数据,这时除了查询2020.5.12的0时刻-第100个点之间的累计订单数据以外,会异步生成2020.5.12的0时刻-第101个点的累计订单数据,存储到缓存中,这样下一时刻,如果调用方调用,就可以命中缓存,提升了缓存命中率。
在本发明实施例中,从数据库中获取查询标识对应的查询结果之后,还包括:
判断查询结果中返回值的个数是否大于1;
若否,将查询结果和查询结果对应的查询标识对应存储到缓存中;
若是,根据查询结果中返回值的个数,对查询结果与查询结果对应的查询标识进行拆解,获得子查询标识和子查询标识对应的返回值,并将子查询标识和子查询标识对应的返回值对应存储在缓存中。
当确定的各个查询标识中,有需要从数据库中获取查询结果的查询标识时,当从数据库中获取到查询结果后,判断查询结果中返回值的个数是否大于1,如果是,则说明查询的是一个值,则不进行拆解,直接将查询标识和对应的查询结果存储到缓存中;如果查询结果中返回值的个数大于1,则根据查询结果中返回值的个数,将查询结果和对应的查询标识拆解,得到子查询标识和子查询标识对应的返回值,子查询标识的个数与查询结果中返回值的个数相等,然后存储子查询标识和子查询标识对应的返回值至缓存中,以更新缓存,从而使得缓存中存储的数据的粒度较细,即将粗粒度的查询标识拆解为多个细粒度的子查询标识,从而提高缓存的命中率,缓存命中率越高,接口性能越好。缓存中存储细粒度的数据,当不同的调用方或查询不同的数据范围或维度组合时,也能够实现缓存的共享。
如图4所示为本发明实施例的一种数据处理的方法的流程示意图,该方法包括:接收针对目标数据的获取请求,获取请求包括查询入参;对查询入参解析,获取时间属性和分组维度,根据时间属性异步生成新时间Key,并存储在消息队列中,从消息队列中获取新时间Key,并从数据库中查询新时间Key对应的Value,将新时间Key和对应的Value对应存储到缓存中;判断分组维度与已配置的分组维度是否匹配,若是,则根据时间属性和分组维度的枚举值确定待获取的返回值的个数,若否,则根据时间属性确定待获取的返回值的个数;判断待获取的返回值的个数是否大于1,若否,则拼接一个Key;若是,判断缓存中待获取的返回值的个数是否不小于预设阈值如果是,则根据待获取的返回值的个数,对查询入参进行拆解,拼接多个Key,如果否,则不进行拆解,拼接一个Key;判断Key是否在缓存中,如果在缓存中,则从缓存中获取对应的Value,如果不在缓存中,则从数据库中的获取对应的Value,将从缓存中获取的Value和数据库中获取的Value拼接,得到目标数据并返回;同时判断从数据库中获取的Value中的返回值的个数是否大于1,如果否,则将Value和对应的Key存储到缓存中,如果是,则根据Value中返回值的个数,对Value和Key拆解后对应存储到缓存中。
本发明实施例提供的数据处理的方法,通过对获取请求中的查询入参进行解析,确定与查询入参对应的各个查询标识,通过判断各个查询标识的存储位置,先后通过查询缓存和数据库的方式获取各个查询标识对应的查询结果。当查询入参可以进行拆解时,根据查询入参确定多个查询标识,当查询标识不在缓存中时,将从数据库中获取的查询结果和对应的查询标识拆解后存储到缓存中,从而使得缓存中存储的数据的粒度较小,便于后续进行数据查询时,缓存命中率高,并且,根据时间属性生成新时间的查询标识,并将新时间的查询标识和从数据库中获取的对应的查询结果存储到缓存中,提高后续数据查询的缓存命中率。本发明实施例提供的数据处理的方法,能够提高缓存命中率,提升数据查询的效率,缩短接口响应时间,提高接口吞吐量,提高接口抗并发能力,提高接口服务性能,进而提升用户体验。
如图5所示,本发明实施例还提供一种数据处理的装置500,包括:
接收模块501,接收针对目标数据的获取请求,获取请求包括查询入参;
确定模块502,对查询入参进行解析,确定与查询入参对应的各个查询标识;
判断模块503,判断缓存中是否存在查询标识,若是,从缓存中获取查询标识对应的查询结果;若否,从数据库中获取查询标识对应的查询结果;
拼接模块504,拼接各个查询标识的查询结果,得到目标数据。
在本发明实施例的一种实施方式中,确定模块502,进一步用于:从所述查询入参中解析出时间属性;根据所述时间属性,确定所述查询入参对应的待获取的返回值的个数;根据所述待获取的返回值的个数,确定与所述查询入参对应的各个查询标识。
在本发明实施例的一种实施方式中,确定模块502,进一步用于:从查询入参中解析出时间属性和维度类型;维度类型包括分组维度;
根据时间属性和分组维度,确定查询入参对应的待获取的返回值的个数;
根据待获取的返回值的个数,确定与查询入参对应的各个查询标识。
在本发明实施例的另一种实施方式中,确定模块502,进一步用于:从查询入参中解析出时间属性和维度类型;维度类型包括限制维度,限制维度指示了枚举值;
根据时间属性和枚举值,确定查询入参对应的待获取的返回值的个数;
根据待获取的返回值的个数,确定与查询入参对应的各个查询标识。
在本发明实施例中,确定模块502,进一步用于:判断所述分组维度与已配置的分组维度是否匹配;若是,根据所述时间属性和所述分组维度的枚举值确定所述待获取的返回值的个数;若否,根据所述时间属性确定所述待获取的返回值的个数。
在本发明实施例中,确定模块502,进一步用于:判断待获取的返回值的个数是否大于1;若否,确定与查询入参对应的一个查询标识;若是,判断缓存中所述待获取的返回值的个数是否不小于预设阈值,若是,对查询入参进行拆解,确定与查询入参对应的各个查询标识,若否,不进行拆解,确定与查询入参对应的一个查询标识。
在本发明实施例中,确定模块503,还用于:从所述查询入参解析出时间属性,所述时间属性包括开始时间、结束时间和时间粒度,根据开始时间、结束时间和时间粒度,异步生成与查询入参对应的新时间查询标识;其中,新时间查询标识的结束时间为查询入参的结束时间与时间粒度的加和。
在本发明实施例中,维度类型还包括排序维度,排序维度指示了排序字段和排序取值范围;拼接模块504,还用于:根据排序字段,对各个查询标识的查询结果进行排序,并根据排序取值范围,获取与排序取值范围对应的查询结果,以得到目标数据。
在本发明实施例中,该装置还包括存储模块,用于从数据库中获取所述查询标识对应的查询结果之后,还包括:判断所述查询结果中返回值的个数是否大于1;若否,将所述查询结果和所述查询结果对应的查询标识对应存储在缓存中;若是,根据所述查询结果中返回值的个数,对所述查询结果与所述查询结果对应的查询标识进行拆解,获得子查询标识和所述子查询标识对应的返回值,并将所述子查询标识和所述子查询标识对应的返回值对应存储在所述缓存中。
本发明实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本发明实施例提供的数据处理的方法。
本发明实施例还提供了一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现本发明实施例提供的数据处理的方法。
图6示出了可以应用本发明实施例的数据处理的方法或数据处理的装置的示例性系统架构600。
如图6所示,系统架构600可以包括终端设备601、602、603,网络604和服务器605。网络604用以在终端设备601、602、603和服务器605之间提供通信链路的介质。网络604可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备601、602、603通过网络604与服务器605交互,以接收或发送消息等。终端设备601、602、603上可以安装有各种通讯客户端应用,例如搜索类应用、购物类应用、网页浏览器应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备601、602、603可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器605可以是提供各种服务的服务器,例如对用户利用终端设备601、602、603所使用的搜索类应用提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到目标数据获取请求等数据进行分析等处理,并将处理结果(目标数据--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的数据处理方法一般由服务器605执行,相应地,数据处理的装置一般设置于服务器605中。
应该理解,图6中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图7,其示出了适于用来实现本发明实施例的终端设备的计算机系统700的结构示意图。图7示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括接收模块、确定模块、判断模块和拼接模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,接收模块还可以被描述为“接收针对目标数据的获取请求的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收针对目标数据的获取请求,获取请求包括查询入参;对查询入参进行解析,确定与查询入参对应的各个查询标识;判断缓存中是否存在查询标识,若是,从缓存中获取查询标识对应的查询结果;若否,从数据库中获取查询标识对应的查询结果;拼接各个查询标识的查询结果,得到目标数据。
根据本发明实施例的技术方案,通过对获取请求中的查询入参进行解析,确定与查询入参对应的各个查询标识,通过判断各个查询标识的存储位置,先后通过查询缓存和数据库的方式获取各个查询标识对应的查询结果。当查询入参可以进行拆解时,根据查询入参确定多个查询标识,当查询标识不在缓存中时,将从数据库中获取的查询结果和对应的查询标识拆解后存储到缓存中,从而使得缓存中存储的数据的粒度较小,便于后续进行数据查询时,缓存命中率高,并且,根据时间属性生成新时间的查询标识,并将新时间的查询标识和从数据库中获取的对应的查询结果存储到缓存中,提高后续数据查询的缓存命中率。本发明实施例提供的数据处理的方法,能够提高缓存命中率,提升数据查询的效率,缩短接口响应时间,提高接口吞吐量,提高接口抗并发能力,提高接口服务性能,进而提升用户体验。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (12)

1.一种数据处理的方法,其特征在于,包括:
接收针对目标数据的获取请求,所述获取请求包括查询入参;
对所述查询入参进行解析,确定与所述查询入参对应的各个查询标识;
判断缓存中是否存在所述查询标识,若是,从所述缓存中获取所述查询标识对应的查询结果;若否,从数据库中获取所述查询标识对应的查询结果;
拼接所述各个查询标识的查询结果,得到所述目标数据。
2.根据权利要求1所述的方法,其特征在于,对所述查询入参进行解析,确定与所述查询入参对应的各个查询标识,包括:
从所述查询入参中解析出时间属性;
根据所述时间属性,确定所述查询入参对应的待获取的返回值的个数;
根据所述待获取的返回值的个数,确定与所述查询入参对应的各个查询标识。
3.根据权利要求1所述的方法,其特征在于,对所述查询入参进行解析,确定与所述查询入参对应的各个查询标识,包括:
从所述查询入参中解析出时间属性和维度类型;所述维度类型包括分组维度;
根据所述时间属性和所述分组维度,确定所述查询入参对应的待获取的返回值的个数;
根据所述待获取的返回值的个数,确定与所述查询入参对应的各个查询标识。
4.根据权利要求3所述的方法,其特征在于,所述维度类型还包括排序维度,所述排序维度指示了排序字段和排序取值范围;
拼接所述各个查询标识的查询结果,得到所述目标数据,包括:
根据所述排序字段,对所述各个查询标识的查询结果进行排序,并根据所述排序取值范围,获取与所述排序取值范围对应的查询结果,以得到所述目标数据。
5.根据权利要求3所述的方法,其特征在于,根据所述时间属性和所述分组维度,确定所述查询入参对应的待获取的返回值的个数,包括:
判断所述分组维度与已配置的分组维度是否匹配;
若是,根据所述时间属性和所述分组维度的枚举值确定所述待获取的返回值的个数;若否,根据所述时间属性确定所述待获取的返回值的个数。
6.根据权利要求1所述的方法,其特征在于,对所述查询入参进行解析,确定与所述查询入参对应的各个查询标识,包括:
从所述查询入参中解析出时间属性和维度类型;所述维度类型包括限制维度,所述限制维度指示了枚举值;
根据所述时间属性和所述枚举值,确定所述查询入参对应的待获取的返回值的个数;
根据所述待获取的返回值的个数,确定与所述查询入参对应的各个查询标识。
7.根据权利要求2-6任一项所述的方法,其特征在于,根据所述待获取的返回值的个数,确定与所述查询入参对应的各个查询标识,包括:
判断所述待获取的返回值的个数是否大于1;
若否,确定与所述查询入参对应的一个查询标识;
若是,判断所述缓存中所述待获取的返回值的个数是否不小于预设阈值,若是,对所述查询入参进行拆解,确定与所述查询入参对应的各个查询标识,若否,不进行拆解,确定与所述查询入参对应的一个查询标识。
8.根据权利要求1所述的方法,其特征在于,对所述查询入参进行解析,确定与所述查询入参对应的各个查询标识,还包括:
从所述查询入参解析出时间属性,所述时间属性包括开始时间、结束时间和时间粒度;
根据所述开始时间、结束时间和时间粒度,异步生成与所述查询入参对应的新时间查询标识;
其中,所述新时间查询标识的结束时间为所述查询入参的结束时间与所述时间粒度的加和。
9.根据权利要求1所述的方法,其特征在于,从数据库中获取所述查询标识对应的查询结果之后,还包括:
判断所述查询结果中返回值的个数是否大于1;
若否,将所述查询结果和所述查询结果对应的查询标识对应存储在缓存中;
若是,根据所述查询结果中返回值的个数,对所述查询结果与所述查询结果对应的查询标识进行拆解,获得子查询标识和所述子查询标识对应的返回值,并将所述子查询标识和所述子查询标识对应的返回值对应存储在所述缓存中。
10.一种数据处理的装置,其特征在于,包括:
接收模块,接收针对目标数据的获取请求,所述获取请求包括查询入参;
确定模块,对所述查询入参进行解析,确定与所述查询入参对应的各个查询标识;
判断模块,判断缓存中是否存在所述查询标识,若是,从所述缓存中获取所述查询标识对应的查询结果;若否,从数据库中获取所述查询标识对应的查询结果;
拼接模块,拼接所述各个查询标识的查询结果,得到所述目标数据。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9中任一所述的方法。
CN202111005262.3A 2021-08-30 2021-08-30 一种数据处理的方法和装置 Pending CN113641713A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111005262.3A CN113641713A (zh) 2021-08-30 2021-08-30 一种数据处理的方法和装置
PCT/CN2022/093272 WO2023029592A1 (zh) 2021-08-30 2022-05-17 数据处理的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111005262.3A CN113641713A (zh) 2021-08-30 2021-08-30 一种数据处理的方法和装置

Publications (1)

Publication Number Publication Date
CN113641713A true CN113641713A (zh) 2021-11-12

Family

ID=78424351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111005262.3A Pending CN113641713A (zh) 2021-08-30 2021-08-30 一种数据处理的方法和装置

Country Status (2)

Country Link
CN (1) CN113641713A (zh)
WO (1) WO2023029592A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277128A (zh) * 2022-07-13 2022-11-01 上海砾阳软件有限公司 一种非法请求的处理方法、装置及电子设备
WO2023029592A1 (zh) * 2021-08-30 2023-03-09 北京沃东天骏信息技术有限公司 数据处理的方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105512222A (zh) * 2015-11-30 2016-04-20 中国建设银行股份有限公司 数据查询方法及系统和数据读取方法及系统
CN110019350B (zh) * 2017-07-28 2021-06-29 北京京东尚科信息技术有限公司 基于配置信息的数据查询方法和装置
US11429607B2 (en) * 2019-09-20 2022-08-30 Thoughtspot, Inc. Machine language query management for low-latency database analysis system
CN113254480B (zh) * 2020-02-13 2024-04-19 中国移动通信集团广东有限公司 一种数据查询方法及装置
CN113641713A (zh) * 2021-08-30 2021-11-12 北京沃东天骏信息技术有限公司 一种数据处理的方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023029592A1 (zh) * 2021-08-30 2023-03-09 北京沃东天骏信息技术有限公司 数据处理的方法和装置
CN115277128A (zh) * 2022-07-13 2022-11-01 上海砾阳软件有限公司 一种非法请求的处理方法、装置及电子设备
CN115277128B (zh) * 2022-07-13 2024-02-23 上海砾阳软件有限公司 一种非法请求的处理方法、装置及电子设备

Also Published As

Publication number Publication date
WO2023029592A1 (zh) 2023-03-09

Similar Documents

Publication Publication Date Title
US11151206B2 (en) Method and apparatus for pushing information
US10089143B2 (en) Dynamic scheduling of tasks for collecting and processing data using job configuration data
CN106156088B (zh) 一种索引数据处理方法、数据查询方法及装置
WO2023029592A1 (zh) 数据处理的方法和装置
CN114064690A (zh) 数据处理方法及装置
US20190163828A1 (en) Method and apparatus for outputting information
CN110909022A (zh) 一种数据查询方法和装置
CN110737676A (zh) 数据查询方法和装置
CN107291835B (zh) 一种搜索词的推荐方法和装置
CN116611411A (zh) 一种业务系统报表生成方法、装置、设备及存储介质
CN108959294B (zh) 一种访问搜索引擎的方法和装置
CN113761565B (zh) 数据脱敏方法和装置
CN113312355A (zh) 一种数据管理的方法和装置
CN115496544A (zh) 一种数据处理的方法和装置
CN111786801B (zh) 一种基于数据流量进行计费的方法和装置
CN112131257B (zh) 数据查询方法和装置
CN113377808A (zh) Sql优化方法和装置
CN113282455A (zh) 一种监控处理方法和装置
CN113704222A (zh) 一种处理业务请求的方法和装置
CN113535768A (zh) 生产监控方法和装置
CN113066479A (zh) 一种评测模型的方法和装置
CN117478535B (zh) 一种日志存储的方法和装置
CN113778909B (zh) 一种缓存数据的方法和装置
CN116361112B (zh) 一种告警收敛方法和装置
CN113760972B (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