数据处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:37504879 阅读:19 留言:0更新日期:2023-05-07 09:40
本公开涉及数据处理方法、装置、电子设备及存储介质,上述方法包括:接收数据查询请求,上述数据查询请求携带数据查询条件;基于上述数据查询条件获得在聚合数据库中的数据查询结果;上述聚合数据库用于存储聚合数据;基于上述数据查询结果,确定是否基于上述数据查询条件通过明细数据库进行数据查询;上述明细数据库用于存储明细数据,通过对上述明细数据聚合得到上述聚合数据。这样可以通过预先将数据进行聚合,并将聚合数据存储到聚合数据库中,在数据查询时先在聚合数据库中进行数据查询,一旦在聚合数据库中查询到相关数据,就可以不用在明细数据库中进行数据查询,避免直接在明细数据库中进行查询带来的查询带来查询效率的问题。的问题。的问题。

【技术实现步骤摘要】
数据处理方法、装置、电子设备及存储介质


[0001]本公开涉及大数据
,尤其涉及数据处理方法、装置、电子设备及存储介质。

技术介绍

[0002]随着移动互联网的飞速发展,以手机为代表的移动终端得到很大程度的普及,移动终端上的应用程序也呈现多样化,并在用户的日常工作和生活中起到不可或缺的作用。为了让应用程序更好的服务用户,需要对大量数据进行处理以便解决用户的问题。
[0003]相关技术通常会将全量数据存储至ClickHouse库,由于集群负载高,在通过ClickHouse库中存储的明细数据中进行数据查询时,一般查询效率较低。

技术实现思路

[0004]本公开提供了一种数据处理方法、装置、电子设备及存储介质。
[0005]根据本公开的一方面,提供了一种数据处理方法,所述方法包括:
[0006]接收数据查询请求,所述数据查询请求携带数据查询条件;
[0007]基于所述数据查询条件获得在聚合数据库中的数据查询结果;所述聚合数据库用于存储聚合数据;
[0008]基于所述数据查询结果,确定是否基于所述数据查询条件通过明细数据库进行数据查询;所述明细数据库用于存储明细数据,通过对所述明细数据聚合得到所述聚合数据。
[0009]根据本公开的另一方面,提供了一种数据处理装置,其特征在于,所述装置包括:
[0010]接收模块,用于接收数据查询请求,所述数据查询请求携带数据查询条件;
[0011]第一数据查询模块,用于基于所述数据查询条件获得在聚合数据库中的数据查询结果;所述聚合数据库用于存储聚合数据;
[0012]第二数据查询模块,用于基于所述数据查询结果,确定是否基于所述数据查询条件通过明细数据库进行数据查询;所述明细数据库用于存储明细数据,通过对所述明细数据聚合得到所述聚合数据。
[0013]根据本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
[0014]根据本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开的上述方法。
[0015]本公开实施例提供的种数据处理方法、装置、电子设备及存储介质,在接收到数据查询请求时,可以先根据数据查询条件在聚合数据库中进行数据查询,并根据数据查询结果来判断是否需要在明细数据库中进一步进行数据查询。这样可以通过预先将数据进行聚合,并将聚合数据存储到聚合数据库中,在数据查询时先在聚合数据库中进行数据查询,一旦在聚合数据库中查询到相关数据,就可以不用在明细数据库中进行数据查询,避免直接在明细数据库中进行查询带来的查询效率的问题。
附图说明
[0016]在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
[0017]图1为本公开一示例性实施例提供的数据处理的流程图;
[0018]图2为本公开一示例性实施例提供的数据处理装置示意图;
[0019]图3为本公开一示例性实施例提供的电子设备的结构框图;
[0020]图4为本公开一示例性实施例提供的计算机系统的结构框图。
具体实施方式
[0021]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0022]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0023]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0024]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0025]本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0026]对于ClickHouse存储数据的场景,ClickHouse选用传统引擎存储的数据均为明细数据,部分业务只需要查询固定的聚合数据,因此ClickHouse浪费了大量空间存储明细数据,导致查询效率偏低。而对于某些业务需要使用大量聚合数据,同时又有部分需要使用明细数据的场景,仅使用聚合引擎会导致明细数据的丢失。因此,在本公开提供的实施例中,通过明细数据进行有效聚合,同时保存明细数据来为用户提供查询,可以大大提高数据查询的效率。
[0027]在本公开提供的实施例中,为了提高数据查询的效率,从数据采集、数据清洗、数据落库和数据查询,都会有相应的数据处理过程。
[0028]在数据采集阶段,通过接入网络的客户端会定期将自身应用程序的数据、网络数据进行上报。因此,可以通过采样配置来控制客户端的采样率,客户端根据下发的采样配置进行采样上报。服务端将采集大的数据存入Kafka,供后续使用。
[0029]需要说明的是,实施例中采集到的数据,不涉及用户的隐私信息,并在需要获取用户的相关数据时,会是征得用户的同意的情况下进行数据采集。实施例中涉及到用户隐私
等数据的处理,会严格遵守国家的相关规定。
[0030]在数据清洗阶段,在采集到的原始数据存入Kafka后,需要对原始数据进行数据清洗以获取有效数据,实施例中可以使用流式计算引擎Flink,通过创建对应的Flink Job,从Kafka接受原始数据,通过具体的ETL(Extract

Transform

Load)逻辑对原始数据进行采样、筛选、聚合等操作,得到清洗后的数据,并将其再次写入Kafka。
[0031]在数据落库阶段,选择ClickHouse用作OLAP数据库,创建表时指定聚合引擎AggregatingMergeTree,ClickHouse会将一个数据片段内具有相同排序键的行进行合并,将数据按照一定的时间粒度进行聚合,可以减少数据行数,节省存储容量,降低集群负载;使用聚合引擎会导致明细数据的丢失,因此只有在业务仅查询聚合数据时,才可选用聚合引擎建立表存储数据。
[0032]因此,实施例中通过ClickH本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,所述方法包括:接收数据查询请求,所述数据查询请求携带数据查询条件;基于所述数据查询条件获得在聚合数据库中的数据查询结果;所述聚合数据库用于存储聚合数据;基于所述数据查询结果,确定是否基于所述数据查询条件通过明细数据库进行数据查询;所述明细数据库用于存储明细数据,通过对所述明细数据聚合得到所述聚合数据。2.根据权利要求1所述的方法,其特征在于,所述确定是否基于所述数据查询条件通过明细数据库进行数据查询,包括:在所述查询结果为获得查询数据的情况下,停止向所述明细数据库进行数据查询;在所述查询结果为未获得查询数据的情况下,基于所述数据查询条件通过明细数据库进行数据查询。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取明细数据,并将所述明细数据存储到所述明细数据库;所述明细数据为对从多个客户端采集到的网络数据进行预设处理得到的数据;将所述明细数据按照预设维度进行聚合,并将得到的聚合数据存储到所述聚合数据库。4.根据权利要求1~3任一所述的方法,其特征在于,所述方法还包括:将基于所述数据查询条件获得的查询结果存储到缓存中;其中,所述缓存中所述查询条件和所述查询结果以键值对的形式存储,所述查询条件为键名,所述查询结果为键值。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在所述键值大于预设数值时,将所述键值拆分为多个子键值存储到所述缓存中;其中,每个所述子键值小于所述预设数值;在所述缓存中获取所述键值作为查询结果的情况下,将所述多个子键值进行拼接,得到所述键值。6.根据权利要求1所述的方法,其特征在于,所述数据查询条件包括数据查询维度和数据查询粒度;所述基于...

【专利技术属性】
技术研发人员:罗诗菡董平安刘洋胡薰尹田华王剑
申请(专利权)人:北京有竹居网络技术有限公司
类型:发明
国别省市:

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

1