CN115033603A - 一种数据存储、数据查询方法及装置 - Google Patents

一种数据存储、数据查询方法及装置 Download PDF

Info

Publication number
CN115033603A
CN115033603A CN202210679957.8A CN202210679957A CN115033603A CN 115033603 A CN115033603 A CN 115033603A CN 202210679957 A CN202210679957 A CN 202210679957A CN 115033603 A CN115033603 A CN 115033603A
Authority
CN
China
Prior art keywords
data
granularity
storage unit
aggregation
storage
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
CN202210679957.8A
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202210679957.8A priority Critical patent/CN115033603A/zh
Publication of CN115033603A publication Critical patent/CN115033603A/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/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • 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/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/085Payment architectures involving remote charge determination or related payment systems
    • G06Q20/0855Payment architectures involving remote charge determination or related payment systems involving a third party

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供了一种数据存储、数据查询方法及装置。前端节点可以对写入请求或查询请求进行路由分发,使得同一主体的请求分发给同一服务器节点。服务器节点在本地的存储单元中存储最近一段时间的聚合后的细粒度数据,一方面提升吞吐量,一方面降低查询耗时。并且,将存储单元中的数据备份在数据存储平台中。将业务跨度比较大的更早的冷数据,也就是聚合后的粗粒度数据存储在数据存储平台中。因此,查询时的热数据直接在本地的存储单元中读取,而查询时覆盖到的冷数据可以到数据存储平台中捞取数据。

Description

一种数据存储、数据查询方法及装置
技术领域
本说明书一个或多个实施例涉及数据处理技术领域,尤其涉及一种数据存储、数据查询方法及装置。
背景技术
随着社会和技术的发展,对数据的分析和处理越来越重要。在互联网金融等领域,用户使用支付工具进行支付时,金融机构或第三方支付机构需要检查该支付操作是否超过规定限额。例如,利用历史交易数据来判断支付操作是否超过日限额、月限额或者年限额等。在实际应用中,大量用户会产生海量的历史交易数据,对海量数据进行处理时的效率,在金融支付领域中更加重要,一丝一毫的延迟上涨都会影响用户的支付体验。
因此,希望能有改进的方案,可以提高数据存储和查询时的效率。
发明内容
本说明书一个或多个实施例描述了一种数据存储、数据查询方法及装置,以提高数据存储和查询时的效率。具体的技术方案如下。
第一方面,实施例提供了一种数据存储方法,通过服务器节点执行,所述服务器节点中包含存储单元,所述服务器节点与数据存储平台通信连接;所述方法包括:
接收待写入的第一数据;
将所述第一数据与所述存储单元中的数据进行基于第一时长单位的聚合,并将得到的第一粒度聚合数据写入所述存储单元;
当所述存储单元中的数据满足预设转移条件时,从所述存储单元中确定待转移数据;
将所述待转移数据中的第一粒度聚合数据与从所述数据存储平台中获取的数据,进行基于第二时长单位的聚合,并将得到的第二粒度聚合数据存储至所述数据存储平台;其中,所述第二时长单位大于所述第一时长单位。
在一种实施方式中,在从所述存储单元中确定待转移数据之后,还包括:
将所述待转移数据存储至所述数据存储平台。
在一种实施方式中,所述将所述第一数据与所述存储单元中的数据进行基于第一时长单位的聚合的步骤,包括:
当所述第一数据是一个第一时长单位中的首个数据时,直接将所述第一数据写入所述存储单元中;
当所述第一数据不是所述首个数据时,按照预设方式将所述第一数据与所述存储单元中的对应数据进行聚合,直至聚合得到第一时长单位的完整数据。
在一种实施方式中,所述存储单元用于存储最新的n个第一时长单位的第一粒度聚合数据,且存储的数据量最大值为第一数据量;所述预设转移条件包括以下条件中的至少一种:
当所述存储单元中的第一粒度聚合数据包含的第一时长单位数量达到第一数量时;所述第一数量不大于所述n;
当所述存储单元中存储的数据量达到数据量阈值时;所述数据量阈值不大于所述第一数据量。
在一种实施方式中,所述将得到的第二粒度聚合数据存储至所述数据存储平台的步骤,包括:
当得到的第二粒度聚合数据尚未聚合达到一个第二时长单位的完整数据时,将得到的第二粒度聚合数据存储至所述数据存储平台。
在一种实施方式中,方法还包括:
当得到的第二粒度聚合数据已经聚合达到一个第二时长单位的完整数据时,将得到的第二粒度聚合数据写入所述存储单元。
在一种实施方式中,所述存储单元还用于存储最新的m个第二时长单位的第二粒度聚合数据;所述从所述存储单元中确定待转移数据的步骤,包括:
从所述存储单元存储的第二粒度聚合数据中确定待转移数据。
在一种实施方式中,从所述数据存储平台中获取的数据携带第一版本信息;所述将得到的第二粒度聚合数据存储至所述数据存储平台的步骤,包括:
将所述第一版本信息更新为第二版本信息,将所述第二版本信息和得到的第二粒度聚合数据关联地存储至所述数据存储平台。
在一种实施方式中,在将得到的第二粒度聚合数据存储至所述数据存储平台之后,还包括:
在元数据中更新存储至所述数据存储平台的数据信息。
在一种实施方式中,所述第一数据为第一用户的数据;
所述将所述第一数据与所述存储单元中的数据进行基于第一时长单位的聚合的步骤,包括:
将所述第一数据与所述存储单元中所述第一用户的数据,进行基于第一时长单位的聚合,得到所述第一用户的第一粒度聚合数据;
所述将所述待转移数据中的第一粒度聚合数据与从所述数据存储平台中获取的数据,进行基于第二时长单位的聚合的步骤,包括:
将所述待转移数据中所述第一用户的第一粒度聚合数据,与从所述数据存储平台中获取的所述第一用户的数据,进行基于第二时长单位的聚合,得到所述第一用户的第二粒度聚合数据。
第二方面,实施例提供了一种数据查询方法,通过服务器节点执行,所述服务器节点中包含存储单元,所述服务器节点与数据存储平台通信连接;所述方法包括:
确定待查询数据;
确定用于确定所述待查询数据的聚合数据的存储位置;
当所述存储位置指示所述聚合数据中的部分数据存储在所述存储单元,部分数据存储在所述数据存储平台时,从所述存储单元中获取对应的第一粒度聚合数据,从所述数据存储平台获取对应的第二粒度聚合数据;其中,所述第一粒度聚合数据是所述服务器节点将接收的第一数据与所述存储单元中的数据进行基于第一时长单位的聚合而得到的;所述第二粒度聚合数据是所述服务器节点将第一粒度聚合数据与所述数据存储平台的数据,进行基于第二时长单位的聚合而得到的;
将获取的第一粒度聚合数据与获取的第二粒度聚合数据进行聚合,基于聚合后的数据确定待查询数据。
在一种实施方式中,方法还包括:
当所述存储位置指示所述聚合数据全部存储在所述存储单元时,从所述存储单元中获取对应的第一粒度聚合数据;
基于获取的第一粒度聚合数据确定所述待查询数据。
在一种实施方式中,所述存储单元还用于存储最新的m个第二时长单位的第二粒度聚合数据;所述方法还包括:
当所述存储位置指示所述聚合数据中的不同部分数据存储在所述存储单元的不同位置时,从所述存储单元的不同位置中获取对应的第一粒度聚合数据和对应的第二粒度聚合数据;
将获取的第一粒度聚合数据与获取的第二粒度聚合数据进行聚合,基于聚合后的数据确定待查询数据。
在一种实施方式中,所述确定用于确定所述待查询数据的聚合数据的存储位置的步骤,包括:
从元数据中确定用于确定所述待查询数据的聚合数据的存储位置。
第三方面,实施例提供了一种数据存储装置,部署在服务器节点中,所述服务器节点中包含存储单元,所述服务器节点与数据存储平台通信连接;所述装置包括:
接收模块,配置为接收待写入的第一数据;
第一聚合模块,配置为将所述第一数据与所述存储单元中的数据进行基于第一时长单位的聚合,并将得到的第一粒度聚合数据写入所述存储单元;
转移模块,配置为当所述存储单元中的数据满足预设转移条件时,从所述存储单元中确定待转移数据;
第二聚合模块,配置为将所述待转移数据中的第一粒度聚合数据与从所述数据存储平台中获取的数据,进行基于第二时长单位的聚合,并将得到的第二粒度聚合数据存储至所述数据存储平台;其中,所述第二时长单位大于所述第一时长单位。
第四方面,实施例提供了一种数据查询装置,部署在服务器节点中,所述服务器节点中包含存储单元,所述服务器节点与数据存储平台通信连接;所述装置包括:
第一确定模块,配置为确定待查询数据;
第二确定模块,配置为确定用于确定所述待查询数据的聚合数据的存储位置;
第一获取模块,配置为当所述存储位置指示所述聚合数据中的部分数据存储在所述存储单元,部分数据存储在所述数据存储平台时,从所述存储单元中获取对应的第一粒度聚合数据,从所述数据存储平台获取对应的第二粒度聚合数据;其中,所述第一粒度聚合数据是所述服务器节点将接收的第一数据与所述存储单元中的数据进行基于第一时长单位的聚合而得到的;所述第二粒度聚合数据是所述服务器节点将第一粒度聚合数据与所述数据存储平台的数据,进行基于第二时长单位的聚合而得到的;
第三确定模块,配置为将获取的第一粒度聚合数据与获取的第二粒度聚合数据进行聚合,基于聚合后的数据确定待查询数据。
第五方面,实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面至第二方面中任一项所述的方法。
第六方面,实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面至第二方面中任一项所述的方法。
本说明书实施例提供的方法及装置中,服务器节点首先将数据以较短单位聚合在自身的存储单元中,当满足预设转移条件时,将存储单元中的数据与数据存储平台中的数据进行较长单位聚合,并存储在数据存储平台。这样,可以在存储单元中存储最新的小粒度聚合数据,在数据存储平台存储较早的大粒度聚合数据。当查询数据时,大部分的查询请求会命中本地的存储单元,从而减少了从远端的数据存储平台捞取数据的网络耗时,因此本实施例能够提高数据存储和查询时的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2为实施例提供的一种数据存储方法的流程示意图;
图3为实施例提供了一种数据查询方法的流程示意图;
图4为实施例提供的一种数据存储装置的示意性框图;
图5为实施例提供的一种数据查询装置的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
承前所述,在互联网金融领域以及电子商务等会产生交易数据的领域,服务方存在存储交易数据以及查询交易数据的需求。一条交易数据通常可以包含多个属性的属性值,例如一条支付数据包括支付时间、支付金额、支付方式和用途等属性的属性值;一条货物交易数据包括交货时间、付款时间、支付方式、货物数量和运输方式等属性的属性值。每条交易都可以以数据的方式进行存储,供后续的查询使用。
在海量交易数据的场景下,可以采用分布式系统、集群或者单个设备中的多线程,执行交易数据的存储和查询任务。图1为本说明书披露的一个实施例的实施场景示意图。其中,前端节点(Frontend,FE)负责接收交易数据的写入请求或查询请求;前端节点中的拆分单元(Sharding Manager)负责对写入请求或查询请求进行路由分发,默认使用哈希策略进行路由分发;后端节点(Backend,BE)负责交易数据的聚合处理、查询等操作。后端节点本地设置有存储单元(RocksDB),后端节点可以与数据存储平台(HBase)通信,将数据转移至数据存储平台中。存储单元用于存储最新数据,即最近一段时间的数据,数据存储平台用于对存储单元中的数据进行备份,以及存储较早一段时间的数据。前端节点和后端节点可以通过服务器节点实现。多个前端节点、多个后端节点可以通过分布式系统中的设备实现,也可以通过设备集群实现,或者通过单个设备中的多个线程实现,本申请对此不作具体限定。数据存储平台可以通过分布式存储设备实现。
在查询数据时,一般并不直接使用原始的交易数据,而是需要对多个交易数据进行聚合之后的聚合数据。因此,可以根据业务需要,按照某个或某些属性对多条交易数据进行聚合,得到聚合数据。根据聚合时使用的时长单位的不同,可以得到不同粒度的聚合数据。例如,以天为单位的聚合,得到天聚合数据;以月为单位的聚合,得到月聚合数据;以年为单位的聚合,得到年聚合数据等。
存储单元可以用于存储最新的、较小粒度的聚合数据,数据存储平台可以用于存储时间稍早的、较大粒度的聚合数据。一般来说,针对最新数据的查询请求热度更高,这样高热度的查询请求会命中存储单元中,后端节点直接从本地的存储单元中获取数据的耗时会很低;低热度的查询请求会落在数据存储平台中,从而尽可能降低耗时,提高处理效率。
以上内容中,以交易数据为例进行了简单说明。在本说明书实施例提供的方案中,所处理的数据不仅仅是交易数据,还可以是支付数据或交互数据等。这些可以统称为数据,是本说明书实施例处理的对象。后端节点可以实现为服务器节点。下面通过附图,对本申请的具体实施例进行说明。
图2为实施例提供的一种数据存储方法的流程示意图。该方法可以通过服务器节点执行,具体可以通过服务器节点中的控制单元执行,服务器节点中还包含存储单元,存储单元可以是与BE通过物理线路连接的内存或硬盘。服务器节点与数据存储平台通信连接。服务器节点可以通过任何具有计算、处理能力的装置、设备、平台、设备集群等来实现。数据存储平台可以通过分布式存储实现。该方法包括以下步骤。
步骤S210,服务器节点BE接收待写入的第一数据。
第一数据可以是大量数据中的任意一条数据,大量数据可以是随着时间的演进不断生成的数据,因此第一数据可以是一系列随着时间生成的数据中的任意一条。第一数据包含多种属性的属性值,除此之外,还可以包含对应的用户、时间戳等信息。
服务器节点BE接收到的第一数据可以是前端节点FE发送的。前端节点FE和服务器节点BE可以由设备中的不同模块或不同线程实现,也可以通过不同设备实现。服务器节点BE的数量可以是多个,多个服务器节点BE分别与多个前端节点连接。
前端节点FE在接收到针对第一数据的写入请求时,可以基于该第一数据对应的路由信息,将该第一信息发送至对应的服务器节点BE。路由信息中包含该第一数据对应的主体,主体例如可以包括用户或者卡号等。服务器节点BE接收前端节点FE发送的待写入的第一信息。这样,可以将同一主体的数据通过哈希路由策略分发给同一个BE,由同一个BE处理同一主体的数据。
步骤S220,服务器节点BE将第一数据与存储单元中的数据进行基于第一时长单位的聚合,并将得到的第一粒度聚合数据写入存储单元。
存储单元属于服务器节点BE的本地存储空间,服务器节点BE对存储单元的读写速度非常高,耗时低。存储单元用于存储访问热度最高的一部分数据,例如存储时间最近的热数据,也就是最新的热数据。
在查询数据时,一般不是直接使用上述第一数据,而是使用对多个第一数据进行聚合之后的聚合数据。例如,从用户的多个历史的交易数据,可以聚合得到用户在一天内的总交易金额,或者总交易次数等。
第一时长单位可以是预先设定的时长,例如第一时长单位可以是1小时、2小时或者一天。以第一时长单位对数据进行聚合,可以得到第一粒度聚合数据。存储单元可以用于存储第一粒度聚合数据。
当接收到第一个数据时,服务器节点BE可以直接将该交数据写入存储单元中。当接收到后续的数据时,服务器节点BE可以按照预设方式将该数据与存储单元中的对应数据进行聚合,直至聚合得到第一时长单位的完整数据。
按照预设方式进行聚合可以包含按照数据中的指定属性进行聚合,和/或,对数据的数量进行累积计数等。例如,指定属性包括以下种类中的至少一种:支付金额、交易货物量等。第一粒度聚合数据可以采用键值对(KV)的形式存储。
例如,第一时长单位为天,以天为单位对数据进行聚合时,当接收到一天内的第一个数据时,可以将该数据直接写入存储单元。当接收到这一天内的第二个数据时,从存储单元中读取第一个数据,将该第二个数据与第一个数据进行聚合,得到第一粒度聚合数据,并存储在存储单元中。当接收到这一天内的第三个数据时,从存储单元中读取第一粒度聚合数据,将该第三个数据与该第一粒度聚合数据进行聚合。在聚合时,可以累积支付金额。这样,第一粒度聚合数据包含:在一天时间内不断累积的支付金额。当一天时间累积完成时,得到这一天对应的第一粒度聚合数据。
在向存储单元中写入和读取数据时,可以通过文件系统Rocksdb实现,进而利用Rocksdb基于锁的事务管理机制(Transaction)的能力来保障数据的一致性,并提高数据写入和读取时的效率。
步骤S230,当存储单元中的数据满足预设转移条件时,服务器节点BE从存储单元中确定待转移数据。
存储单元的存储空间一般来说比较有限,并不能存储太多的聚合数据,可以设置存储单元用于存储最新的n个第一时长单位的第一粒度聚合数据,并且设置存储的数据量的最大值,例如最大值为第一数据量。例如,可以设置存储单元用于存储最新的7天的第一粒度聚合数据,也就是距离当前时刻最近的7天的第一粒度聚合数据。
上述预设转移条件包括以下条件中的至少一种:
当存储单元中的第一粒度聚合数据包含的第一时长单位数量达到第一数量时;
当存储单元中存储的数据量达到数据量阈值时。
其中,第一数量不大于n。例如,存储单元用于存储最近7天的第一粒度聚合数据,第一数量可以设置为7。当存储单元中已经存储满7天的第一粒度聚合数据时,即满足预设转移条件。数据量阈值不大于第一数据量。以上条件只要满足其中一个,就可以从存储单元向数据存储平台转移数据。
在从存储单元中确定待转移数据时,可以从已存储的第一粒度聚合数据中确定待转移数据。例如,可以将较早的第一粒度聚合数据确定为待转移数据。当存储单元存储最近7天的第一粒度聚合数据时,每当存储单元中聚合达到一个第一时长单位的完整数据时,可以将存储单元中最早的一个第一时长单位的完整的第一粒度聚合数据作为待转移数据。
在从存储单元中确定待转移数据之后,还可以将待转移数据直接存储至数据存储平台。这样,可以将存储单元中的小粒度聚合数据备份至数据存储平台中。在待转移数据存储至数据存储平台之后,可以将待转移数据从存储单元中淘汰掉,以使得存储单元容纳更热的数据。
步骤S240,服务器节点BE将待转移数据中的第一粒度聚合数据与从数据存储平台中获取的数据,进行基于第二时长单位的聚合,并将得到的第二粒度聚合数据存储至数据存储平台。
其中,第二时长单位大于第一时长单位,第二时长单位可以包含多个第一时长单位。例如,当第一时长单位为“天”时,第二时长单位可以设置为“月”。也就是,服务器节点BE可以实时预计算出以天为单位的细粒度数据,然后再将以天为单位的数据聚合成以月为单位的数据,例如将30个天粒度的数据聚合成一个完整的月粒度数据,并以键值对的形式存储数据存储平台(HBase)中,这样就可以使用点查询(point query)查询月粒度数据,从而大大降低了查询耗时。
从小粒度聚合数据聚合达到大粒度聚合数据,需要一段时间的累积。当待转移数据中的第一粒度聚合数据是一个第二时长单位中的首个数据时,可以直接将该第一粒度聚合数据存储至数据存储平台。
当待转移数据中的第一粒度聚合数据不是上述的首个数据时,服务器节点BE可以从数据存储平台中获取对应的数据,将待转移数据中的第一粒度聚合数据与从数据存储平台中获取的数据进行聚合,得到第二粒度聚合数据。在聚合时,可以按照预设方式进行聚合,例如可以按照数据中的指定属性进行聚合,和/或,对数据的数量进行累积计数等。第一粒度聚合数据对应的聚合方式可以与第二粒度数据对应的聚合方式相同,也可以不同。第二粒度聚合数据可以采用键值对(KV)的形式存储。
当得到的第二粒度聚合数据尚未聚合达到一个第二时长单位的完整数据时,服务器节点BE将得到的第二粒度聚合数据存储至数据存储平台,以便在存储单元中有新的待转移数据被挤至数据存储平台时,继续在该第二粒度聚合数据的基础上聚合。
当得到的第二粒度聚合数据已经聚合达到一个第二时长单位的完整数据时,服务器节点BE将得到的第二粒度聚合数据写入存储单元。例如,以第二时长单位“月”为例,当某个月的聚合数据聚合完成时,可以将该月的聚合数据写入存储单元,该月的聚合数据也属于最近的聚合数据,属于热数据,将其写入存储单元可以更方便查询。
因此,在本实施例中,存储单元还可以用于存储最新的m个第二时长单位的第二粒度聚合数据。最新,可以理解为距离当前时刻最近。
再回顾步骤S230,其中的预设转移条件还可以包括:当存储单元中的第二粒度聚合数据包含的第二时长单位数量达到第二数量时。第二数量不大于m。例如,存储单元还用于存储最近3个月的第二粒度聚合数据,第二数量可以设置为3。当存储单元中已经存储满3天的第二粒度聚合数据时,认为满足预设转移条件。
在从存储单元中确定待转移数据时,可以从存储单元存储的第二粒度聚合数据中确定待转移数据,例如将较早的第二粒度聚合数据确定为待转移数据。当存储单元存储最近3个月的第二粒度聚合数据时,每当存储单元中聚合达到一个第二时长单位的完整数据时,可以将存储单元中最早的一个第二时长单位的完整的第二粒度聚合数据作为待转移数据。
存储单元可以优先用于存储第一粒度聚合数据。除此之外,当存储单元还有剩余空间时,可以继续存储最新的m个第二时长单位的第二粒度聚合数据。
当存储单元中的数据量达到数据量阈值时,可以将较早的第二粒度聚合数据确定为待转移数据,或者将所有的第二粒度聚合数据确定为待转移数据,并将该待转移数据存储至数据存储平台。
服务器节点BE还可以将第二粒度聚合数据与数据存储平台中的对应数据进行基于第三时长单位的聚合,得到第三粒度聚合数据。第三时长单位大于第二时长单位,第三时长单位可以包含多个第一时长单位。例如,第三时长单位可以为“年”。第三粒度聚合数据可以采用键值对(KV)的形式存储。
当得到的第三粒度聚合数据尚未聚合达到一个第三时长单位的完整数据时,服务器节点BE可以将该第三粒度聚合数据存储至数据存储平台中。当得到的第三粒度聚合数据已经聚合达到一个第三时长单位的完整数据时,服务器节点BE可以将该第三粒度聚合数据写入存储单元。
再回顾步骤S240,当尚未聚合达到一个第二时长单位的完整数据时,需要从数据存储平台中读取不完整的第二粒度聚合数据继续进行聚合,这就需要保障数据的强一致性。
在一种实施方式中,为数据存储平台中的数据设置对应的版本信息。在步骤S240中,服务器节点BE从数据存储平台中获取的数据携带第一版本信息。在将得到的第二粒度聚合数据存储至数据存储平台时,可以将第一版本信息更新为第二版本信息,将第二版本信息和得到的第二粒度聚合数据关联地存储至数据存储平台。也就是说,每次将存储平台中的数据聚合到第二粒度聚合数据中时,可以更新其版本信息,这样可以避免读取到错误版本的脏数据。
例如,表1是存储单元(Rocksdb)中以天为单位聚合的天粒度数据。
表1
键(key) 值(value)
a_b_c_20211211_count(d) 10
a_b_c_20211211_sum(d) 100
表1中的第二行和第三行数据,分别是2021年12月11日的交易总次数和交易总额。表2是数据存储平台HBase中以月为单位聚合的月粒度数据。
表2
键(key) 值(value) 版本(version)
a_b_c_202112_count(d) 900 1
a_b_c_202112_sum(d) 1900 1
表2中的第二行和第三行数据,分别是2021年12月的交易总次数、交易总额和版本信息。在从数据存储平台中读取不完整的月粒度数据时,可以读取表2中最高版本的月粒度数据,当将表1中的天粒度数据聚合到该月粒度数据上之后,将版本增加1,得到表3所示的月粒度数据。
表3
键(key) 值(value) 版本(version)
a_b_c_202112_count(d) 910 2
a_b_c_202112_sum(d) 2000 2
当将天粒度数据聚合到月粒度数据中,并且淘汰掉存储单元中的对应数据之后,对月粒度数据的读取才使用更新后的版本信息,这样能够避免读取到脏数据。
为了方便后续的数据查询过程,在将得到的第二粒度聚合数据存储至数据存储平台之后,还可以在元数据中更新存储至数据存储平台的数据信息。元数据用于记录不同粒度数据的存储位置。当聚合数据发生转移时,例如有第一粒度聚合数据转移至数据存储平台中,或者有第二粒度聚合数据写入存储单元中,或者有第三粒度聚合数据写入存储单元中时,都可以将对应的数据信息写入元数据中,以便在查询阶段能够根据元数据确定数据的存储位置和版本信息。
在图2所示实施例中,对数据的聚合可以是不区分用户的。例如,以天为单位进行聚合时,可以得到一天中所有交易的总次数和总金额。在一种实施方式中,对数据的聚合也可以是针对不同用户进行实施的。
例如,第一数据是第一用户的数据。在执行步骤S220时,可以将第一数据与存储单元中第一用户的数据,进行基于第一时长单位的聚合,得到第一用户的第一粒度聚合数据。
在执行步骤S240时,可以将待转移数据中第一用户的第一粒度聚合数据,与从数据存储平台中获取的第一用户的数据,进行基于第二时长单位的聚合,得到第一用户的第二粒度聚合数据。
当针对不同用户对海量的数据进行聚合之后,还可以提供查询聚合数据的服务,以完成更多的服务。与图2所示实施例相对应,以下实施例提供了一种数据查询方法。
图3为实施例提供了一种数据查询方法的流程示意图。该方法通过服务器节点BE执行,服务器节点BE中包含存储单元,服务器节点BE与数据存储平台通信连接。关于服务器节点BE、存储单元和数据存储平台的说明可以参见图2所示实施例,此处不再详述。该方法包括以下步骤。
步骤S310,服务器节点BE确定待查询数据data1。
服务器节点BE可以与前端节点FE连接。前端节点在接收到针对某个时段数据的查询请求时,可以基于查询请求的路由信息,将该查询请求发送至对应的服务器节点BE。
服务器节点BE在接收到查询请求时,可以对查询请求中的逻辑进行分析,确定查询请求所要查询的数据。例如,查询请求中的逻辑指示要查询12月的聚合数据(这是待查询数据data1),假设当前日期是12月11日,根据逻辑分析可以确定用于确定待查询数据的聚合数据包括12月1日至11日的聚合数据d1~d11。
步骤S320,服务器节点BE确定用于确定待查询数据的聚合数据d1~d11的存储位置。具体的,可以从元数据中确定聚合数据d1~d11的存储位置。同时,根据元数据中的信息能够确定聚合数据d1~d11包含第一粒度聚合数据和第二粒度聚合数据。例如,聚合数据d1~d11具体包含12月1日至4日的月粒度数据(存储在数据存储平台),以及12月5日至11日的天粒度数据(存储在存储单元)。其中,存储单元存储最新的7天的天粒度数据。
步骤S330,当上述存储位置指示聚合数据d1~d11中的部分数据存储在存储单元,部分数据存储在数据存储平台时,从存储单元中获取对应的第一粒度聚合数据,从数据存储平台获取对应的第二粒度聚合数据。
其中,第一粒度聚合数据是服务器节点将接收的第一数据与存储单元中的数据进行基于第一时长单位的聚合而得到的。第二粒度聚合数据是服务器节点将第一粒度聚合数据与数据存储平台的数据,进行基于第二时长单位的聚合而得到的。
例如,存储位置指示聚合数据d1~d4对应的月粒度数据存储在数据存储平台,d5~d11对应的天粒度数据存储在本地的存储单元中,则可以从本地的存储单元中读取12月5日至11日的天粒度数据,从数据存储平台中读取12月的月粒度数据,月粒度数据已经聚合了12月1日至4日的天粒度数据。
步骤S340,将获取的第一粒度聚合数据与获取的第二粒度聚合数据进行聚合,基于聚合后的数据确定待查询数据。在聚合时,可以按照预设方式聚合获取的第一粒度聚合数据和第二粒度聚合数据。可以直接将聚合后的数据作为待查询数据,也可以将聚合后的数据进行预设处理后的数据作为待查询数据。
例如,可以将12月的月粒度数据与12月5日至11日的天粒度数据进行聚合,得到12月1日至11日的聚合数据,基于该聚合数据确定待查询数据。
步骤S350,当存储位置指示聚合数据全部存储在存储单元时,从存储单元中获取对应的第一粒度聚合数据。步骤S360,基于获取的第一粒度聚合数据确定待查询数据。
例如,假设当前日期是12月3日,12月1日至3日的聚合数据均存储在存储单元中。在这种情况中,可以直接从存储单元中获取12月1日至3日的天粒度数据。对这些天粒度数据继续进行聚合,并基于聚合后的数据确定待查询数据。
在一种实施方式中,存储单元还可以用于存储最新的m个第二时长单位的第二粒度聚合数据。图3所示的方法还可以包括以下步骤。
步骤S370,当存储位置指示聚合数据中的不同部分数据存储在存储单元的不同位置时,从存储单元的不同位置中获取对应的第一粒度聚合数据和对应的第二粒度聚合数据。
步骤S380,将获取的第一粒度聚合数据与获取的第二粒度聚合数据进行聚合,基于聚合后的数据确定待查询数据。
例如,查询请求中的逻辑指示要查询最近3个月的聚合数据(这是待查询数据data1),假设当前日期是12月7日,根据逻辑分析可以确定用于确定待查询数据的聚合数据包括10月1日至12月11日的聚合数据。根据元数据中记录的信息可知这些聚合数据包含:10月和11月的月粒度数据,这部分存储在存储单元的第一存储区中;以及,12月1日至7日的天粒度数据,这部分存储在存储单元的第二存储区中。根据不同部分数据存储的不同位置,从存储单元中获取对应的月粒度数据和天粒度数据,并对其进行聚合。
在一种实施方式中,从数据存储平台中获取数据时还要携带版本信息。版本信息可以从元数据中查询。
在一种实施方式中,对数据的查询,可以针对不同的用户进行。例如,在步骤S310中确定针对第二用户的待查询数据。在步骤S330中,从存储单元中获取对应的第二用户的第一粒度聚合数据,从数据存储平台获取第二用户对应的第二粒度聚合数据。在步骤S350中,从存储单元中获取对应的第二用户的第一粒度聚合数据。在步骤S370中,从存储单元的不同位置中获取对应的第二用户的第一粒度聚合数据和第二粒度聚合数据。
在上述实施例中,使用本地存储加远端分布式存储,构建了远近一体的存储后端。由于查询大部分命中本地存储中的数据,减少了从远端存储捞取数据的网络耗时,也进一步降低了整体查询耗时。同时,本地存储内嵌的RocksDB提供完备的事务能力,在写入实时预计算阶段可以保障数据的一致性。远端存储可以采用多版本并发控制机制(MVCC),这样能够提供容错机制,在意外宕机之后,可以使用原有版本再次覆盖上次执行的脏数据。
本说明书中,第一数据、第一时长单位、第一粒度聚合数据、第一数量、第一版本信息和第一用户等词语中的“第一”,以及文中相应的“第二”,仅仅是为了区分和描述方便,而不具有任何限定意义。
上述内容对本说明书的特定实施例进行了描述,其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行,并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的,或者可能是有利的。
图4为实施例提供的一种数据存储装置的示意性框图。该装置400部署在服务器节点中,服务器节点中包含存储单元,所述服务器节点与数据存储平台通信连接。该装置实施例与图2所示方法实施例相对应。该装置400包括:
接收模块410,配置为接收待写入的第一数据;
第一聚合模块420,配置为将所述第一数据与所述存储单元中的数据进行基于第一时长单位的聚合,并将得到的第一粒度聚合数据写入所述存储单元;
转移模块430,配置为当所述存储单元中的数据满足预设转移条件时,从所述存储单元中确定待转移数据;
第二聚合模块440,配置为将所述待转移数据中的第一粒度聚合数据与从所述数据存储平台中获取的数据,进行基于第二时长单位的聚合,并将得到的第二粒度聚合数据存储至所述数据存储平台;其中,所述第二时长单位大于所述第一时长单位。
在一种实施方式中,该装置400还包括:
存储模块450,配置为在从所述存储单元中确定待转移数据之后,将所述待转移数据存储至所述数据存储平台。
在一种实施方式中,所述第一聚合模块420,包括:
写入子模块(图中未示出),配置为当所述第一数据是一个第一时长单位中的首个数据时,直接将所述第一数据写入所述存储单元中;
聚合子模块(图中未示出),配置为当所述第一数据不是所述首个数据时,按照预设方式将所述第一数据与所述存储单元中的对应数据进行聚合,直至聚合得到第一时长单位的完整数据。
在一种实施方式中,所述存储单元用于存储最新的n个第一时长单位的第一粒度聚合数据,且存储的数据量最大值为第一数据量;所述预设转移条件包括以下条件中的至少一种:
当所述存储单元中的第一粒度聚合数据包含的第一时长单位数量达到第一数量时;所述第一数量不大于所述n;
当所述存储单元中存储的数据量达到数据量阈值时;所述数据量阈值不大于所述第一数据量。
在一种实施方式中,所述第二聚合模块440,将得到的第二粒度聚合数据存储至所述数据存储平台时,包括:
当得到的第二粒度聚合数据尚未聚合达到一个第二时长单位的完整数据时,将得到的第二粒度聚合数据存储至所述数据存储平台。
在一种实施方式中,所述装置400还包括:
写入模块460,配置为当得到的第二粒度聚合数据已经聚合达到一个第二时长单位的完整数据时,将得到的第二粒度聚合数据写入所述存储单元。
在一种实施方式中,所述存储单元还用于存储最新的m个第二时长单位的第二粒度聚合数据;所述转移模块430,具体配置为:
从所述存储单元存储的第二粒度聚合数据中确定待转移数据。
在一种实施方式中,从所述数据存储平台中获取的数据携带第一版本信息;所述第二聚合模块440,将得到的第二粒度聚合数据存储至所述数据存储平台时,包括:
将所述第一版本信息更新为第二版本信息,将所述第二版本信息和得到的第二粒度聚合数据关联地存储至所述数据存储平台。
在一种实施方式中,该装置400还包括:
更新模块(图中未示出),配置为在将得到的第二粒度聚合数据存储至所述数据存储平台之后,在元数据中更新存储至所述数据存储平台的数据信息。
在一种实施方式中,所述第一数据为第一用户的数据;
所述第一聚合模块420,将所述第一数据与所述存储单元中的数据进行基于第一时长单位的聚合时,包括:
将所述第一数据与所述存储单元中所述第一用户的数据,进行基于第一时长单位的聚合,得到所述第一用户的第一粒度聚合数据;
所述第二聚合模块440,将所述待转移数据中的第一粒度聚合数据与从所述数据存储平台中获取的数据,进行基于第二时长单位的聚合时,包括:
将所述待转移数据中所述第一用户的第一粒度聚合数据,与从所述数据存储平台中获取的所述第一用户的数据,进行基于第二时长单位的聚合,得到所述第一用户的第二粒度聚合数据。
图5为实施例提供的一种数据查询装置的示意性框图。该装置500部署在服务器节点中,所述服务器节点中包含存储单元,所述服务器节点与数据存储平台通信连接。该装置实施例与图3所示方法实施例相对应。所述装置500包括:
第一确定模块510,配置为确定待查询数据;
第二确定模块520,配置为确定用于确定所述待查询数据的聚合数据的存储位置;
第一获取模块530,配置为当所述存储位置指示所述聚合数据中的部分数据存储在所述存储单元,部分数据存储在所述数据存储平台时,从所述存储单元中获取对应的第一粒度聚合数据,从所述数据存储平台获取对应的第二粒度聚合数据;其中,所述第一粒度聚合数据是所述服务器节点将接收的第一数据与所述存储单元中的数据进行基于第一时长单位的聚合而得到的;所述第二粒度聚合数据是所述服务器节点将第一粒度聚合数据与所述数据存储平台的数据,进行基于第二时长单位的聚合而得到的;
第三确定模块540,配置为将获取的第一粒度聚合数据与获取的第二粒度聚合数据进行聚合,基于聚合后的数据确定待查询数据。
在一种实施方式中,装置500还包括:
第二获取模块550,配置为当所述存储位置指示所述聚合数据全部存储在所述存储单元时,从所述存储单元中获取对应的第一粒度聚合数据;
第四确定模块560,配置为基于获取的第一粒度聚合数据确定所述待查询数据。
在一种实施方式中,所述存储单元还用于存储最新的m个第二时长单位的第二粒度聚合数据;所述装置500还包括:
第三获取模块570,配置为当所述存储位置指示所述聚合数据中的不同部分数据存储在所述存储单元的不同位置时,从所述存储单元的不同位置中获取对应的第一粒度聚合数据和对应的第二粒度聚合数据;
第五确定模块580,配置为将获取的第一粒度聚合数据与获取的第二粒度聚合数据进行聚合,基于聚合后的数据确定待查询数据。
在一种实施方式中,所述第二确定模块520,具体配置为:
从元数据中确定用于确定所述待查询数据的聚合数据的存储位置。
上述各个装置实施例与方法实施例相对应,具体说明可以参见方法实施例部分的描述,此处不再赘述。装置实施例是基于对应的方法实施例得到,与对应的方法实施例具有同样的技术效果,具体说明可参见对应的方法实施例。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图1至图3任一项所述的方法。
本说明书实施例还提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图1至图3任一项所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于存储介质和计算设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明实施例的目的、技术方案和有益效果进行了进一步的详细说明。所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (18)

1.一种数据存储方法,通过服务器节点执行,所述服务器节点中包含存储单元,所述服务器节点与数据存储平台通信连接;所述方法包括:
接收待写入的第一数据;
将所述第一数据与所述存储单元中的数据进行基于第一时长单位的聚合,并将得到的第一粒度聚合数据写入所述存储单元;
当所述存储单元中的数据满足预设转移条件时,从所述存储单元中确定待转移数据;
将所述待转移数据中的第一粒度聚合数据与从所述数据存储平台中获取的数据,进行基于第二时长单位的聚合,并将得到的第二粒度聚合数据存储至所述数据存储平台;其中,所述第二时长单位大于所述第一时长单位。
2.根据权利要求1所述的方法,在从所述存储单元中确定待转移数据之后,还包括:
将所述待转移数据存储至所述数据存储平台。
3.根据权利要求1所述的方法,所述将所述第一数据与所述存储单元中的数据进行基于第一时长单位的聚合的步骤,包括:
当所述第一数据是一个第一时长单位中的首个数据时,直接将所述第一数据写入所述存储单元中;
当所述第一数据不是所述首个数据时,按照预设方式将所述第一数据与所述存储单元中的对应数据进行聚合,直至聚合得到第一时长单位的完整数据。
4.根据权利要求1所述的方法,所述存储单元用于存储最新的n个第一时长单位的第一粒度聚合数据,且存储的数据量最大值为第一数据量;所述预设转移条件包括以下条件中的至少一种:
当所述存储单元中的第一粒度聚合数据包含的第一时长单位数量达到第一数量时;所述第一数量不大于所述n;
当所述存储单元中存储的数据量达到数据量阈值时;所述数据量阈值不大于所述第一数据量。
5.根据权利要求1所述的方法,所述将得到的第二粒度聚合数据存储至所述数据存储平台的步骤,包括:
当得到的第二粒度聚合数据尚未聚合达到一个第二时长单位的完整数据时,将得到的第二粒度聚合数据存储至所述数据存储平台。
6.根据权利要求5所述的方法,还包括:
当得到的第二粒度聚合数据已经聚合达到一个第二时长单位的完整数据时,将得到的第二粒度聚合数据写入所述存储单元。
7.根据权利要求6所述的方法,所述存储单元还用于存储最新的m个第二时长单位的第二粒度聚合数据;所述从所述存储单元中确定待转移数据的步骤,包括:
从所述存储单元存储的第二粒度聚合数据中确定待转移数据。
8.根据权利要求1所述的方法,从所述数据存储平台中获取的数据携带第一版本信息;所述将得到的第二粒度聚合数据存储至所述数据存储平台的步骤,包括:
将所述第一版本信息更新为第二版本信息,将所述第二版本信息和得到的第二粒度聚合数据关联地存储至所述数据存储平台。
9.根据权利要求1所述的方法,在将得到的第二粒度聚合数据存储至所述数据存储平台之后,还包括:
在元数据中更新存储至所述数据存储平台的数据信息。
10.根据权利要求1所述的方法,所述第一数据为第一用户的数据;
所述将所述第一数据与所述存储单元中的数据进行基于第一时长单位的聚合的步骤,包括:
将所述第一数据与所述存储单元中所述第一用户的数据,进行基于第一时长单位的聚合,得到所述第一用户的第一粒度聚合数据;
所述将所述待转移数据中的第一粒度聚合数据与从所述数据存储平台中获取的数据,进行基于第二时长单位的聚合的步骤,包括:
将所述待转移数据中所述第一用户的第一粒度聚合数据,与从所述数据存储平台中获取的所述第一用户的数据,进行基于第二时长单位的聚合,得到所述第一用户的第二粒度聚合数据。
11.一种数据查询方法,通过服务器节点执行,所述服务器节点中包含存储单元,所述服务器节点与数据存储平台通信连接;所述方法包括:
确定待查询数据;
确定用于确定所述待查询数据的聚合数据的存储位置;
当所述存储位置指示所述聚合数据中的部分数据存储在所述存储单元,部分数据存储在所述数据存储平台时,从所述存储单元中获取对应的第一粒度聚合数据,从所述数据存储平台获取对应的第二粒度聚合数据;其中,所述第一粒度聚合数据是所述服务器节点将接收的第一数据与所述存储单元中的数据进行基于第一时长单位的聚合而得到的;所述第二粒度聚合数据是所述服务器节点将第一粒度聚合数据与所述数据存储平台的数据,进行基于第二时长单位的聚合而得到的;
将获取的第一粒度聚合数据与获取的第二粒度聚合数据进行聚合,基于聚合后的数据确定待查询数据。
12.根据权利要求11所述的方法,还包括:
当所述存储位置指示所述聚合数据全部存储在所述存储单元时,从所述存储单元中获取对应的第一粒度聚合数据;
基于获取的第一粒度聚合数据确定所述待查询数据。
13.根据权利要求11所述的方法,所述存储单元还用于存储最新的m个第二时长单位的第二粒度聚合数据;所述方法还包括:
当所述存储位置指示所述聚合数据中的不同部分数据存储在所述存储单元的不同位置时,从所述存储单元的不同位置中获取对应的第一粒度聚合数据和对应的第二粒度聚合数据;
将获取的第一粒度聚合数据与获取的第二粒度聚合数据进行聚合,基于聚合后的数据确定待查询数据。
14.根据权利要求11所述的方法,所述确定用于确定所述待查询数据的聚合数据的存储位置的步骤,包括:
从元数据中确定用于确定所述待查询数据的聚合数据的存储位置。
15.一种数据存储装置,部署在服务器节点中,所述服务器节点中包含存储单元,所述服务器节点与数据存储平台通信连接;所述装置包括:
接收模块,配置为接收待写入的第一数据;
第一聚合模块,配置为将所述第一数据与所述存储单元中的数据进行基于第一时长单位的聚合,并将得到的第一粒度聚合数据写入所述存储单元;
转移模块,配置为当所述存储单元中的数据满足预设转移条件时,从所述存储单元中确定待转移数据;
第二聚合模块,配置为将所述待转移数据中的第一粒度聚合数据与从所述数据存储平台中获取的数据,进行基于第二时长单位的聚合,并将得到的第二粒度聚合数据存储至所述数据存储平台;其中,所述第二时长单位大于所述第一时长单位。
16.一种数据查询装置,部署在服务器节点中,所述服务器节点中包含存储单元,所述服务器节点与数据存储平台通信连接;所述装置包括:
第一确定模块,配置为确定待查询数据;
第二确定模块,配置为确定用于确定所述待查询数据的聚合数据的存储位置;
第一获取模块,配置为当所述存储位置指示所述聚合数据中的部分数据存储在所述存储单元,部分数据存储在所述数据存储平台时,从所述存储单元中获取对应的第一粒度聚合数据,从所述数据存储平台获取对应的第二粒度聚合数据;其中,所述第一粒度聚合数据是所述服务器节点将接收的第一数据与所述存储单元中的数据进行基于第一时长单位的聚合而得到的;所述第二粒度聚合数据是所述服务器节点将第一粒度聚合数据与所述数据存储平台的数据,进行基于第二时长单位的聚合而得到的;
第三确定模块,配置为将获取的第一粒度聚合数据与获取的第二粒度聚合数据进行聚合,基于聚合后的数据确定待查询数据。
17.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-14中任一项所述的方法。
18.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-14中任一项所述的方法。
CN202210679957.8A 2022-06-16 2022-06-16 一种数据存储、数据查询方法及装置 Pending CN115033603A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210679957.8A CN115033603A (zh) 2022-06-16 2022-06-16 一种数据存储、数据查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210679957.8A CN115033603A (zh) 2022-06-16 2022-06-16 一种数据存储、数据查询方法及装置

Publications (1)

Publication Number Publication Date
CN115033603A true CN115033603A (zh) 2022-09-09

Family

ID=83125196

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210679957.8A Pending CN115033603A (zh) 2022-06-16 2022-06-16 一种数据存储、数据查询方法及装置

Country Status (1)

Country Link
CN (1) CN115033603A (zh)

Similar Documents

Publication Publication Date Title
US11636083B2 (en) Data processing method and apparatus, storage medium and electronic device
CN109977129A (zh) 多级数据缓存方法及设备
CN111309720A (zh) 时序数据的存储、读取方法、装置、电子设备及存储介质
CN112287182A (zh) 图数据存储、处理方法、装置及计算机存储介质
CN110889754B (zh) 提高不可透支热点账户处理效率的方法
CN111090705B (zh) 一种多维数据处理方法、装置及设备、存储介质
US7895247B2 (en) Tracking space usage in a database
CN114138840A (zh) 数据查询方法、装置、设备及存储介质
CN109446225A (zh) 数据缓存方法、装置、计算机设备及存储介质
US9336155B2 (en) Statistical cache promotion
CN108280134B (zh) 基于账户额度控制的数据流通系统及方法、存储介质、终端
CN111427920B (zh) 数据采集方法、装置、系统、计算机设备及存储介质
CN107194712B (zh) 共享账户变动信息记录方法及装置、内部账户补账方法及系统
CN115033603A (zh) 一种数据存储、数据查询方法及装置
US8533398B2 (en) Combination based LRU caching
CN116027982A (zh) 数据处理方法、设备及可读存储介质
CN115934583A (zh) 分级缓存方法、装置及系统
CN115080459A (zh) 缓存管理方法及装置、计算机可读存储介质
CN107025266B (zh) 业务数据的处理方法和装置
CN116957808B (zh) 股票筛选方法、系统、设备和介质
CN112612415B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN114860783B (zh) 图数据库缓存方法、装置、电子设备和可读存储介质
CN116385156B (zh) 资源分配方法、装置、计算机设备和计算机可读存储介质
CN111539707A (zh) 一种账单查询方法、装置、设备及介质
CN118154035A (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