CN116628042A - 数据处理方法、装置、设备及介质 - Google Patents
数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116628042A CN116628042A CN202210132322.6A CN202210132322A CN116628042A CN 116628042 A CN116628042 A CN 116628042A CN 202210132322 A CN202210132322 A CN 202210132322A CN 116628042 A CN116628042 A CN 116628042A
- Authority
- CN
- China
- Prior art keywords
- data
- time
- query
- storage area
- full
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000005192 partition Methods 0.000 claims abstract description 123
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 44
- 230000011218 segmentation Effects 0.000 claims abstract description 17
- 238000006243 chemical reaction Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 13
- 230000002776 aggregation Effects 0.000 claims description 8
- 238000004220 aggregation Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 15
- 238000013473 artificial intelligence Methods 0.000 abstract 2
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 241000700605 Viruses Species 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000012098 association analyses Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
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/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
-
- 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
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种数据处理方法、装置、设备及介质,涉及人工智能技术领域,可以应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景。该方法包括对查询时间范围进行基于不同时间维度的切分处理,获得至少一个时间切片;针对每个时间切片,基于查询信息从第一存储区中获取时间切片对应的全量业务数据,该全量业务数据包括经过数据分区处理且已经加载至所述第一存储区中的离线数据;获取全量业务数据对应的全量分区时间,并基于查询信息从第二存储区中获取增量业务数据;基于全量业务数据和增量业务数据,生成查询结果。从而减少了对下游服务的查询性能的依赖,可以满足大量查询需求,有利于提高数据查询效率和系统整体性能。
Description
技术领域
本公开涉及计算机领域,尤其涉及一种数据处理方法、装置、设备及介质。
背景技术
在自动化广告投放盯盘系统中,存在大量并发调用远程服务来查询广告的报表数据的场景。传统的调用方式是通过调用网络请求查询远程数据,但当下游数据提供服务查询的性能达到瓶颈时,无法满足盯盘系统大量查询需求,大大影响当前系统的数据查询效率和整体性能。
发明内容
本公开提供了一种数据处理方法、装置、设备及介质,以解决现有技术中至少一种技术问题。
一方面,本公开提供了一种数据处理方法,包括:
获取业务查询请求,所述业务查询请求包括查询时间范围和查询信息;
对所述查询时间范围进行基于不同时间维度的切分处理,获得至少一个时间切片;
针对每个时间切片,基于所述查询信息从第一存储区中获取所述时间切片对应的全量业务数据,所述全量业务数据包括经过数据分区处理且已经加载至所述第一存储区中的离线数据;
获取所述全量业务数据对应的全量分区时间,并基于所述查询信息从第二存储区中获取增量业务数据,所述全量分区时间表征全量业务数据的全量数据分区的生成时间,所述增量业务数据包括所述查询时间范围中的查询时刻晚于所述全量分区时间对应的离线数据;所述第二存储区和所述第一存储区均位于本地设备中;
基于所述全量业务数据和所述增量业务数据,生成查询结果。
另一方面还提供了一种数据处理装置,所述装置包括:
第一获取模块,用于获取业务查询请求,所述业务查询请求包括查询时间范围和查询信息;
切分模块,用于对所述查询时间范围进行基于不同时间维度的切分处理,获得至少一个时间切片;
第二获取模块,用于针对每个时间切片,基于所述查询信息从第一存储区中获取所述时间切片对应的全量业务数据,所述全量业务数据包括经过数据分区处理且已经加载至所述第一存储区中的数据;
第三获取模块,用于获取所述全量业务数据对应的全量分区时间,并基于所述查询信息从第二存储区中获取增量业务数据,所述全量分区时间表征全量业务数据的全量数据分区的生成时间,所述增量业务数据包括所述查询时间范围中的查询时刻晚于所述全量分区时间对应的数据;所述第二存储区和所述第一存储区均位于本地设备中;
第一生成模块,用于基于所述全量业务数据和所述增量业务数据,生成查询结果。
另一方面还提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现上述任一所述的方法。
另一方面还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现上述任一所述的方法。
另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任一所述的方法。
本公开提供的一种数据处理方法、装置、设备及介质,具有如下技术效果:
本公开实施例通过对查询时间范围进行基于不同时间维度的切分处理,获得至少一个时间切片;针对每个时间切片,基于查询信息从第一存储区中获取时间切片对应的全量业务数据,该全量业务数据包括经过数据分区处理且已经加载至所述第一存储区中的离线数据;获取全量业务数据对应的全量分区时间,并基于查询信息从第二存储区中获取增量业务数据,该全量分区时间表征全量业务数据的全量数据分区的生成时间,增量业务数据包括所述查询时间范围中的查询时刻晚于全量分区时间对应的离线数据;基于全量业务数据和增量业务数据,生成查询结果。从而,通过对查询时间范围进行切分处理,并对每个时间切片分别从第一存储区和第二存储区中获取离线的全量业务数据和增量业务数据,减少了对下游服务的查询性能的依赖,可以满足大量查询需求,有利于提高数据查询效率和系统整体性能。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本公开实施例提供的一种数据处理方法的应用环境示意图;
图2是本公开实施例提供的一种数据处理方法的流程示意图;
图3是本公开实施例提供的一种数据处理方法的部分流程示意图;
图4是本公开实施例提供的一种数据处理方法的部分流程示意图;
图5是本公开实施例提供的一种数据处理方法的部分流程示意图;
图6是本公开实施例提供的一种数据处理方法的整体流程图;
图7是本公开实施例提供的一种数据处理装置的结构框图;
图8是本公开提供的一种用于实现本公开实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
为了便于理解本公开实施例上述的技术方案及其产生的技术效果,针对本公开实施例中涉及的名词进行简单介绍:
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,能通过云计算来实现。
云安全(Cloud Security)是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,并发送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
云安全主要研究方向包括:1、云计算安全,主要研究如何保障云自身及云上各种应用的安全,包括云计算机系统安全、用户数据的安全存储与隔离、用户接入认证、信息传输安全、网络攻击防护、合规审计等;2、安全基础设施的云化,主要研究如何采用云计算新建与整合安全基础设施资源,优化安全防护机制,包括通过云计算技术构建超大规模安全事件、信息采集与处理平台,实现对海量信息的采集与关联分析,提升全网安全事件把控能力及风险控制能力;3、云安全服务,主要研究各种基于云计算平台为用户提供的安全服务,如防病毒服务等。
云存储(Cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,IDentity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(Database Management System,DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible Markup Language,可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL(Structured Query Language,结构化查询语言)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。本公开实施例提供的方案涉及云技术等技术,具体通过如下实施例进行说明。
本公开提供的数据处理方法可以应用于如图1所示的应用环境中。如图1所示,该硬件环境可以至少包括终端10、服务器20和服务器30。
其中,以广告盯盘场景为例,终端10可以是广告盯盘人员所在设备,服务器20可以是广告盯盘系统对应的服务器,服务器30可以是提供业务数据的下游服务器。
上述终端10可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此。
上述服务器20和服务器30可以可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本公开在此不做限制。需要说明的是,上述服务器20和服务器30可以实现为云端的云服务器。
在一些实施例中,上述服务器20和服务器30还可以实现为区块链系统中的节点。区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链,本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
需要说明的是,在实际应用中,上述数据处理方法也可以在服务器中实现,或者由终端和至一个服务器共同实现。
当然,本公开实施例提供的方法并不限用于图1所示的硬件环境中,还可以用于其它可能的硬件环境,本公开实施例并不进行限制。对于图1所示的硬件环境的各个设备所能实现的功能将在后续的方法实施例中一并进行描述,在此先不过多赘述。
图2是本公开实施例提供的一种数据处理方法的流程示意图。本公开提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。该数据处理方法的执行主体可以是本公开实施例提供的数据处理装置,或者集成了该数据处理装置的服务器,其中,该数据处理装置可以采用硬件或者软件的方式实现。以执行主体为上述图1中的服务器为例进行说明,如图2所示,该方法可以包括:
S201:获取业务查询请求,所述业务查询请求包括查询时间范围和查询信息。
其中,业务查询请求可以是通过触发业务查询控件来实现,通过业务查询请求来获取对应的业务数据。该业务数据是指需要短期内获取的大量数据,其可以包括但不限于报表数据、订单数据、账单数据等中至少一种。以广告盯盘场景为例,业务数据可以包括报表数据。示例性的,该报表数据可以包括广告的曝光、点击、转化等报表类型的数据中至少一种。
其中,查询时间范围是指需要获取的业务数据的请求查询开始时间与请求查询结束时间所构成的时间区间。例如,该查询时间范围可以是“2021-07-01~2021-09-03”的时间区间,或者,“2021-07-01~至今”的时间区间。又例如,该查询时间范围可以是近n个月、近m周、或近t天等等,其中,n、m和t均为正整数。
其中,查询信息用于指示需要获取目标内容对应的业务数据。例如,以广告盯盘场景为例,目标内容可以包括:广告主a、曝光报表、点击报表、转化报表、订单、账单等,查询信息可以包括目标内容对应的数据标识,例如数据id,该数据标识用于唯一确定的业务数据,其可以通过至少一个例如数字、字母等字符串所构成。仅作为示例,针对业务数据为报表数据的情况下,数据标识可以是报表名称;针对业务数据为订单数据的情况下,数据标识可以是订单号;针对业务数据为账单数据文件的情况下,数据标识可以是文件名称等。
S203:对所述查询时间范围进行基于不同时间维度的切分处理,获得至少一个时间切片。
其中,时间维度可以包括月维度和天维度。示例性的,对于查询时间范围为“2021-07-01~2021-09-03”的数据,经过基于不同时间维度的切分处理,可以得到202107月的时间切片、202108月的时间切片、20210901日的时间切片、20210902日的时间切片和20210903日的时间切片。
需要说明的是,时间切片所包含的时间维度可以更多或更少,例如,该时间维度还可以包括年维度、分钟维度或秒钟维度等;又例如,对于查询时间范围为近3天,可以将查询时间范围切分为仅包含天维度的3个时间切片。
S205:针对每个时间切片,基于所述查询信息从第一存储区中获取所述时间切片对应的全量业务数据,所述全量业务数据包括经过数据分区处理且已经加载至所述第一存储区中的离线数据。
其中,第一存储区是用于存储全量业务数据的存储位置,其可以是本地设备对应的存储位置,例如本地内存等。全量业务数据在第一存储区中可以根据对数据时间进行基于时间维度的切片来实现分区存储。全量业务数据可以通过Map结构进行存储,此时,该第一存储区可以为全量数据Map。Map结构是一种字典数据结构,即用来存储不重复键值key的哈希结构。
每个时间切片对应的全量业务数据不同和对于全量业务数据的存储状态情况不同。对于每个时间切片,分别根据查询信息对应的数据id从第一存储区中获取每个时间切片对应的全量业务数据。也即,对于整月范围的数据变换为月数据进行查询,其他日期使用天数据进行分别查询。该全量业务数据包括经过数据分区处理且已经加载至该第一存储区中的离线数据,也即所获取的全量业务数据是本地设备中存储的离线数据,并非是通过远程数据接口所调用的在线数据。其中,数据分区处理是指将业务数据或其组成元素划分为不同的独立部分。这里的数据分区可以是指达到预设数量的数据分区,达到预设时间的数据分区等。通过数据分区,能够实现快速访问业务数据,提升系统的整体性。
在一可选实施方式中,所述基于所述查询信息从第一存储区中获取每个所述时间切片对应的全量业务数据可以包括:
在确定所述时间切片以及所述查询信息对应的全量业务数据已经离线加载至第一存储区的情况下,从所述第一存储区中获取所述时间切片对应的全量业务数据;
在确定所述时间切片以及所述查询信息对应的全量业务数据未离线加载至第一存储区的情况下,将获取的所述时间切片对应的目标全量数据加载至所述第一存储区,并同步从所述第一存储区中获取所述目标全量数据,将所述目标全量数据作为所述全量业务数据;所述目标全量数据为全量分区时间靠近所述查询时间范围中最大边界时间对应的离线数据。
其中,全量分区时间可以与当前查询时间相关。举例而言,若每天某个时间(例如早上7点)会生成一份截止到前一天的全部业务数据。在10月10日的早上8点查询时,第一存储区中全量业务数据对应的全量分区时间为10月9日,也即第一存储区中的全量数据为最新全量分区时间。而在10月10日的早上6点查询时,由于第一存储区中的最新的业务数据还没有生成,也即第一存储区中的全量数据并非最新全量分区时间,此时该第一存储区中全量业务数据对应的全量分区时间可以为前天日期,也即10月8日。
对于时间查询范围为“2021-07-01~2021-09-03”的时间区间,其最大边界时间为“2021-09-03”。目标全量数据为全量分区时间靠近查询时间范围中最大边界时间对应的数据,也即目标全量数据是最新的全量分区时间对应的数据。
在实际应用中,从本地设备的全量数据Map(第一存储区)中,查询对应数据时间和查询信息的全量业务数据是否存在,也即确定所述时间切片以及所述查询信息对应的全量业务数据是否已经离线加载至第一存储区,具体可以分为以下几种情况:
1)若全量数据Map存在该全量业务数据,也即在确定所述时间切片以及所述查询信息对应的全量业务数据已经离线加载至第一存储区的情况下,且该全量业务数据的全量分区时间为最新全量分区时间,则从全量数据Map中获取存储的全量业务数据并使用。
2)若全量数据Map存在该全量业务数据,也即在确定所述时间切片以及所述查询信息对应的全量业务数据已经离线加载至第一存储区的情况下,但该全量业务数据的全量分区时间不是最新全量分区时间,则从全量数据Map中获取存储的全量业务数据,并根据实时获取的增量业务数据,构成最新的全量业务数据并使用,并异步从目标存储位置(例如数据库DB)中加载最新全量分区的全量业务数据到全量数据Map(第一存储区)中。
继续上面的例子,在10月10日的早上6点查询时,由于第一存储区中的最新的业务数据还没有生成,也即第一存储区中的全量数据并非最新全量分区时间,此时该第一存储区中的全量分区时间为10月9日。获取第一存储区中的全量业务数据(全量分区时间为10月9日)之后,再结合获取的10月9日增量业务数据,得到最新的全量业务数据。
3)若全量数据Map不存在该全量业务数据,也即确定所述时间切片以及所述查询信息对应的全量业务数据未离线加载至第一存储区,则可以从目标存储位置(例如数据库DB)中获取的所述时间切片对应的目标全量数据,该目标全量数据为全量分区时间靠近所述查询时间范围中最大边界时间对应的数据,也即获取最新的全量分区数据,并加载该目标全量数据至第一存储区,以及同步从第一存储区中获取目标全量数据,将所加载的目标全量数据作为该全量业务数据并使用。
S207:获取所述全量业务数据对应的全量分区时间,并基于所述查询信息从第二存储区中获取增量业务数据,所述增量业务数据包括所述查询时间范围中的查询时刻晚于所述全量分区时间对应的离线数据。
其中,第二存储区和第一存储区均位于本地设备中。全量分区时间表征全量业务数据的全量数据分区的生成时间。
可选地,在获取到全量业务数据之后,根据全量业务数据对应的全量分区时间,从第二存储区中获取基于该查询信息对应的增量业务数据,也即,获取查询时间范围中的查询时间晚于全量分区时间对应的离线数据。
举例而言,若查询时间范围为10月9日至10月10日数据,则获取全量分区时间为10月9日的全量业务数据,然后再查询查询时间晚于全量分区时间的增量业务数据,也即查询10月10日当天的增量业务数据,若查询到,则获取该增量业务数据。
S209:基于所述全量业务数据和所述增量业务数据,生成查询结果。
可选地,将查询到的全量业务数据和增量业务数据数据,按照业务查询请求请求进行整理和计算,返回查询结果。
本公开实施例对查询时间范围进行基于不同时间维度的切分处理,获得至少一个时间切片;针对每个时间切片,基于查询信息从第一存储区中获取时间切片对应的全量业务数据,该全量业务数据包括经过数据分区处理且已经加载至所述第一存储区中的离线数据;获取全量业务数据对应的全量分区时间,并基于查询信息从第二存储区中获取增量业务数据,该全量分区时间表征全量业务数据的全量数据分区的生成时间,增量业务数据包括所述查询时间范围中的查询时刻晚于全量分区时间对应的离线数据;基于全量业务数据和增量业务数据,生成查询结果。从而,通过对查询时间范围进行切分处理,并对每个时间切片分别从第一存储区和第二存储区中获取离线的全量业务数据和增量业务数据,减少了对下游服务的查询性能的依赖,可以满足大量查询需求,有利于提高数据查询效率和系统整体性能。
此外,通过第一存储区和第二存储区分别存储加载的全量业务数据和增量业务数据,如此在加载增量业务数据时,只需要将增量业务数据累加到第二存储区中对应的增量数据上,无需将增量数据累加到全量业务数据,从而避免将大量的全量业务数据一次性载入本地设备中,降低了本地设备对内存的需求量,同时也提高了数据处理效率。
在一可选实施方式中,如图3所示,所述方法还包括:
S301:在检测到不满足预设离线数据获取条件的情况下,调用在线服务查询接口,基于所述查询信息获取目标业务数据。
其中,该预设离线数据获取条件包括离线查询功能开启、离线业务数据正常加载、离线业务数据对应的一致性检测结果满足预设条件中至少一种。
可选地,该S301步骤可以至少包括以下几种情况:
a、在获取业务查询请求的情况下,可以检测系统的离线查询功能是否开启,若检测结果为已经开启,确定满足预设离线数据获取条件,继续执行步骤S203以及后续步骤。若检测结果为未开启,确定不满足预设离线数据获取条件,调用在线服务查询接口,也即直接通过远程网络请求,访问下游接口并基于查询信息获取目标业务数据。
b、在获取业务查询请求的情况下或者在执行获取离线数据的过程中,可以通过在线校验程序检测离线业务数据是否存在延迟,若检测结果为不存在延迟,也即数据正常加载,则可以使用第一存储区和第二存储区中业务数据,确定满足预设离线数据获取条件,继续执行步骤S203以及后续步骤。若检测结果为数据存在延迟,也即数据非正常加载,则确定不满足预设离线数据获取条件,停止获取离线数据,切换至调用在线服务查询接口,也即直接通过远程网络请求,访问下游接口并基于查询信息获取目标业务数据。
c、可以对同一个业务查询请求进行数据一致性校验,即分别采用调用远程服务查询接口的方式,和采用获取离线的业务数据的方式来获取查询结果,并校验结果是否一致。若校验结果为两者的查询结果一致,则确定满足预设离线数据获取条件,否则,确定不满足预设离线数据获取条件,调用在线服务查询接口,也即直接通过远程网络请求,访问下游接口并基于查询信息获取目标业务数据。通过进行数据一致性校验,在保证数据获取效率的同事,确保系统中加载的业务数据的准确性,提高系统的可靠性。
可选地,数据校验过程可以包括两个阶段:1)在定时任务加载增量业务数据完成后,对已加载的部分业务数据抽样进行校验,校验最新加载的业务数据是否一致。2)在获取到业务查询请求时,以一定比例抽样对请求进行数据校验。
可选地,在校验完成后,可以将校验结果上报到日志系统,便于进行数据分析。同时,也可以将校验结果进行上报至监测平台,对异常波动进行告警,实时掌握系统状态,保证稳定性。
S303:基于所述目标业务数据,生成查询结果。
可选地,在获取到目标业务数据之后,可以对该目标业务数据进行整理和计算,返回查询结果。
上述实施例,通过在检测到不满足预设离线数据获取条件的情况下,调用在线服务查询接口,基于该查询信息所获取的目标业务数据生成查询结果,实现了离线和在线相结合的数据查询功能,提高了数据查询的稳定性和可靠性。
在一可选实施方式中,如图4所示,所述方法还包括:
S401:获取离线业务数据;
S403:对所述离线业务数据进行基于不同时间维度的数据切分处理,获得至少一个历史数据切片;
S405:对每个历史数据切片分别进行数据聚合,并保存聚合后的离线业务数据至目标存储位置。
可选地,可以调用离线任务线程,获取下游服务提供的离线业务数据。接着,对离线业务数据进行基于不同时间维度的数据切分处理,该时间维度可以包括天维度和分钟维度。例如,对于全量业务数据,该全量业务数据可以是天维度的,每日可以生成一份包含昨日数据的全量业务数据,每份全量业务数据中可以包括多条业务数据,每条业务数据具有其对应的数据标识(例如数据ID),该数据标识用于唯一确定的业务数据,其可以通过至少一个例如数字、字母等字符串所构成。接着,按照数据标识(例如数据ID)聚合成查询范围内天数据和月数据,其中天数据可以为最近31天,月数据可以为最近12月。对于增量数据,每个增量数据中可以包括多条业务数据,每条业务数据具有其对应的数据标识(例如数据ID),该数据标识用于唯一确定的业务数据,其可以通过至少一个例如数字、字母等字符串所构成。该增量数据可以是分钟维度,可以将当日的最近t分钟内业务数据按照数据标识(例如数据ID)进行聚合,生成最新的增量业务数据。接着,将聚合后的离线业务数据保存在目标存储位置。仅作为示例,该目标存储位置可以包括但不限于数据库、云端等。
上述实施例,通过对离线业务数据进行基于不同时间维度的数据切分处理,获得至少一个历史数据切片;以及对每个历史数据切片分别进行数据聚合,并保存聚合后的离线业务数据至目标存储位置,从而通过数据切分和聚合处理,实现了将离线业务数据生成为天粒度的历史全量数据和分钟粒度的当日增量数据,减少了数据存储量,同时聚合后的数据方便直接进行快速加载,提高了数据处理效率。
在一可选实施方式中,继续如图4所示,所述方法还包括:
S407:获取历史业务查询请求;
S409:获取所述历史业务查询请求对应的目标数据标识,并保存所述目标数据标识;
S411:在满足数据加载条件的情况下,从所述目标存储位置中将所述目标数据标识对应的目标离线业务数据加载至所述第一存储区中,并记录所述目标离线业务数据对应的第一分区时间。
其中,所述第一分区时间表征加载至所述第一存储区的全量数据分区的生成时间。
可选地,可以通过对历史请求日志进行分析,以获取历史业务查询请求。接着,从数据库中查询所述历史业务查询请求对应的目标数据标识,并保存该目标数据标识。接着,在系统启动的情况下,可以确定满足数据加载条件,进而从目标存储位置中查询该目标数据标识对应的目标离线业务数据,并将查询得到的目标离线业务数据加载至第一存储区中,以及记录目标离线业务数据对应的第一分区时间,以便于后续能够快速的根据该第一分区时间来辅助查询任务。由于查询得到的目标离线业务数据已经预先执行了数据聚合处理,可以将该目标离线业务数据按照Map数据格式直接写入第一存储区(也即全量数据Map)。
上述实施例,通过获取历史业务查询请求对应的目标数据标识,并加载该目标数据标识对应的目标离线业务数据加载至第一存储区中,仅按需加载最近有业务查询请求的数据,避免系统启动时进行全量业务数据加载。由于每天的全量业务数据非常大(至少上亿条),这里通过仅加载最近有业务查询请求的数据,避免了加载时间耗时长,以及加载数据占用过多内存的问题。
在一可选实施方式中,所述第一存储区包括若干第一存储子区,所述从所述目标存储位置中将所述目标数据标识对应的目标离线业务数据加载至所述第一存储区中可以包括:
S4111:从所述目标存储位置中,获取目标数据标识对应的目标离线业务数据的数据属性信息,所述数据属性信息至少包括数据类型、数据分区时间和数据时间中至少一种;
S4113:基于所述数据属性信息,将所述所述目标离线业务数据分别加载至所述第一存储区中对应的第一存储子区中。
其中,该第一存储子区可以用于存储Map数据结构的业务数据。以广告盯盘场景为例,数据类型可以包括广告主层级、推广计划层级、广告层级、创意层级等数据层级。数据分区时间是表征用于存储业务数据的数据分区对应的生成时间。数据时间是表征数据的产生时间。
可选地,从所述目标存储位置中,获取目标数据标识对应的目标离线业务数据的数据属性信息,该数据属性信息至少包括数据类型、数据分区时间和数据时间中至少一种。接着,根据目标离线业务数据对应的数据属性信息,将数据进行进一步分区或分级,获得多个第一存储子区,每个第一存储子区可以用于存储数据属性信息不同的数据。
上述实施例,通过基于数据属性信息,将所述目标离线业务数据加载至所述第一存储区中对应的多个第一存储子区中,避免将大量数据存储在单一全量数据Map中而影响写入和读取性能,同时可以减少写入时的锁竞争,提高第一存储区的整体并发性能。
在一可选实施方式中,在数据存储时,为了减少存储空间,使用例如Protobuf格式来序列化数据进行存储。示例性的,在一条报表数据中,包括大约200个指标字段,但通常只有10个左右字段具有值,其它均为0,如果直接存储数据,会因为这些空值数据占据大量存储空间。Protobuf在序列化时不会存储空值字段,并且会进行压缩,如此大大缩小存储空间,有利于提升系统的整体性能。
在一可选实施方式中,如图5所示,所述方法还包括:
S501:获取增量分区时间在所述第一分区时间之后的各候选增量数据;所述增量分区时间表征增量数据的增量数据分区的生成时间;
S503:按照所述候选增量数据对应的增量分区时间的时间顺序,将所述候选增量数据加载至所述第二存储区,并记录所述候选增量数据对应的第二分区时间。
其中,所述第二分区时间表征加载至所述第二存储区的增量数据分区的生成时间。
可选地,在完成全量业务数据的记载后,且记录了当前加载的全量业务数据的第一分区时间到内存中,可以启动对增量业务数据分区的定时加载任务。在定时加载任务中,可以从数据库中查询增量分区时间在已加载的全量业务数据对应的第一分区时间之后的各候选增量数据,并按照候选增量数据对应的增量分区时间的顺序加载至第二存储区。具体地,在加载过程中,针对每个增量分区,批量查询对应的增量业务数据,以及并发加载至第二存储区中。当增量数据加载完成后,可以保存已加载的最新增量分区时间,也即保存候选增量数据对应的第二分区时间至本地内存中,下次任务启动时,从本次已加载的数据分区开始执行。
上述实施例通过按照候选增量数据对应的增量分区时间的时间顺序,将候选增量数据加载至所述第二存储区,并记录所述候选增量数据对应的第二分区时间,实现了增量业务数据的有序加载,进一步提高了数据处理效率。
在一可选实施方式中,所述第二存储区包括若干第二存储子区,所述将所述候选增量数据加载至所述第二存储区包括:
S5031:将所述候选增量数据转化为不同时间维度的增量转化数据;
S5033:在检测到存在所述增量转化数据对应的维度时间的第二存储子区,将所述增量转化数据存储至对应的维度时间的第二存储子区中;
S5035:在检测到不存在所述增量转化数据对应的维度时间的第二存储子区,将所述增量转化数据存储至第二存储区中。
可选地,对于每一条候选增量数据,可以数据时间分别转换为天维度和月维度,从第二存储区对应的增量数据Map中查询对应数据日期的增量业务数据是否存在,如果存在,则进行数据加和并更新,即将所述增量转化数据存储至对应的维度时间的第二存储子区中,否则直接设置到增量数据Map中。
上述实施例将候选增量数据转化为不同时间维度的增量转化数据,在检测到存在增量转化数据对应的维度时间的第二存储子区,将增量转化数据存储至对应的维度时间的第二存储子区中,实现了数据的进一步聚合,简化数据存储量,提高数据处理效率。
为了便于理解,下面以广告盯盘场景为例进行说明,如图6所示,数据处理方法可以包括以下步骤:
1)通过Spark(一种大数据计算引擎)离线任务,将下游提供的报表离线数据预先聚合,生成天粒度的历史全量数据,和分钟粒度的当日增量数据,并保存到数据库DB中;
2)通过Spark离线任务解析历史请求日志,获取到历史请求的数据ID,并保存到数据库DB中;
3)系统启动时,从数据库DB中批量加载最近请求的ID数据,以Map数据格式存储到内存中;
4)系统启动后,通过定时任务,每分钟加载数据库DB中最近生成的增量数据,以Map数据格式存储到内存中;
5)当收到查询请求时,通过配置开关决定是否需要使用离线数据;
6)当开关关闭时,直接调用在线接口获取报表数据;
7)当开关打开时,使用离线报表数据,先将请求日期范围拆分成时间切片,对每一个切片分别查询;
8)从内存全量数据Map中查询全量数据,如果不存在需要从数据库DB中加载;
9)从内存增量数据Map中查询增量数据,并累加到全量数据上;
10)整理并返回最终的报表数据。
上述实施例中提供的方法未详尽描述的技术细节,可参见本公开上述任意实施例所提供的方法,在此不再赘述。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
请参考图7,其示出了本公开实施例提供的一种数据处理装置的结构框图。该装置具有实现上述方法示例中的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。所述数据处理装置可以包括:
第一获取模块710,用于获取业务查询请求,所述业务查询请求包括查询时间范围和查询信息;
切分模块720,用于对所述查询时间范围进行基于不同时间维度的切分处理,获得至少一个时间切片;
第二获取模块730,用于针对每个时间切片,基于所述查询信息从第一存储区中获取所述时间切片对应的全量业务数据,所述全量业务数据包括经过数据分区处理且已经加载至所述第一存储区中的数据;
第三获取模块740,用于获取所述全量业务数据对应的全量分区时间,并基于所述查询信息从第二存储区中获取增量业务数据,所述全量分区时间表征全量业务数据的全量数据分区的生成时间,所述增量业务数据包括所述查询时间范围中的查询时刻晚于所述全量分区时间对应的数据;所述第二存储区和所述第一存储区均位于本地设备中;
第一生成模块750,用于基于所述全量业务数据和所述增量业务数据,生成查询结果。
在一可选实施方式中,所述第二获取模块包括:
第一获取子模块,用于在确定所述时间切片以及所述查询信息对应的全量业务数据已经离线加载至第一存储区的情况下,从所述第一存储区中获取所述时间切片对应的全量业务数据;
第二获取子模块,用于在确定所述时间切片以及所述查询信息对应的全量业务数据未离线加载至第一存储区的情况下,将获取的所述时间切片对应的目标全量数据加载至所述第一存储区,并同步从所述第一存储区中获取所述目标全量数据,将所述目标全量数据作为所述全量业务数据;所述目标全量数据为全量分区时间靠近所述查询时间范围中最大边界时间对应的离线数据。
在一可选实施方式中,所述装置还包括:
调用模块,用于在检测到不满足预设离线数据获取条件的情况下,调用在线服务查询接口,基于所述查询信息获取目标业务数据;
第二生成模块,用于基于所述目标业务数据,生成查询结果;
其中,所述预设离线数据获取条件包括离线查询功能开启、离线业务数据正常加载、离线业务数据对应的一致性检测结果满足预设条件中至少一种。
在一可选实施方式中,所述装置还包括:
第四获取模块,用于获取离线业务数据;
第五获取模块,用于对所述离线业务数据进行基于不同时间维度的数据切分处理,获得至少一个历史数据切片;
聚合模块,用于对每个历史数据切片分别进行数据聚合,并保存聚合后的离线业务数据至目标存储位置。
在一可选实施方式中,所述装置还包括:
第六获取模块,用于获取历史业务查询请求;
第七获取模块,用于获取所述历史业务查询请求对应的目标数据标识,并保存所述目标数据标识;
第一加载模块,用于在满足数据加载条件的情况下,从所述目标存储位置中将所述目标数据标识对应的目标离线业务数据加载至所述第一存储区中,并记录所述目标离线业务数据对应的第一分区时间,所述第一分区时间表征加载至所述第一存储区的全量数据分区的生成时间。
在一可选实施方式中,所述第一存储区包括若干第一存储子区,所述第一加载模块包括:
属性获取模块,用于从所述目标存储位置中,获取目标数据标识对应的目标离线业务数据的数据属性信息,所述数据属性信息至少包括数据类型、数据分区时间和数据时间中至少一种;
第一加载子模块,用于基于所述数据属性信息,将所述所述目标离线业务数据分别加载至所述第一存储区中对应的第一存储子区中。
在一可选实施方式中,所述装置还包括:
第八获取模块,用于获取增量分区时间在所述第一分区时间之后的各候选增量数据;所述增量分区时间表征增量数据的增量数据分区的生成时间;
第二加载模块,用于按照所述候选增量数据对应的增量分区时间的时间顺序,将所述候选增量数据加载至所述第二存储区,并记录所述候选增量数据对应的第二分区时间,所述第二分区时间表征加载至所述第二存储区的增量数据分区的生成时间。
在一可选实施方式中,所述第二存储区包括若干第二存储子区,所述第二加载模块包括:
数据转化子模块,用于将所述候选增量数据转化为不同时间维度的增量转化数据;
第一存储子模块,用于在检测到存在所述增量转化数据对应的维度时间的第二存储子区,将所述增量转化数据存储至对应的维度时间的第二存储子区中;
第二存储子模块,用于在检测到不存在所述增量转化数据对应的维度时间的第二存储子区,将所述增量转化数据存储至第二存储区中。
上述实施例中提供的装置可执行本公开实施例中的对应方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的方法。
本公开实施例提供了一种计算机设备,该设备可以包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例任一所述的方法。
本公开实施例还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行上述方法实施例任一所述的方法。
本公开实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本实施例上述任一方法。
进一步地,图8示出了一种用于实现本公开实施例所提供的方法的设备的硬件结构示意图,所述设备可以为计算机终端、移动终端或其它设备,所述设备还可以参与构成或包含本公开实施例所提供的装置。如图8所示,计算机终端11可以包括一个或多个(图中采用112a、112b,……,112n来示出)处理器112(处理器112可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器114、以及用于通信功能的传输装置116。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图8所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端11还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。
应当注意到的是上述一个或多个处理器112和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端11(或移动设备)中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器114可用于存储应用软件的软件程序以及模块,如本公开实施例中所述的方法对应的程序指令/数据存储装置,处理器112通过运行存储在存储器114内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种神经网络处理方法。存储器114可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器114可进一步包括相对于处理器112远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端11。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置116用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端11的通信供应商提供的无线网络。在一个实例中,传输装置116包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置116可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端11(或移动设备)的用户界面进行交互。
需要说明的是:上述本公开实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本公开特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本公开中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (12)
1.一种数据处理方法,其特征在于,包括:
获取业务查询请求,所述业务查询请求包括查询时间范围和查询信息;
对所述查询时间范围进行基于不同时间维度的切分处理,获得至少一个时间切片;
针对每个时间切片,基于所述查询信息从第一存储区中获取所述时间切片对应的全量业务数据,所述全量业务数据包括经过数据分区处理且已经加载至所述第一存储区中的离线数据;
获取所述全量业务数据对应的全量分区时间,并基于所述查询信息从第二存储区中获取增量业务数据,所述全量分区时间表征全量业务数据的全量数据分区的生成时间,所述增量业务数据包括所述查询时间范围中的查询时刻晚于所述全量分区时间对应的离线数据;所述第二存储区和所述第一存储区均位于本地设备中;
基于所述全量业务数据和所述增量业务数据,生成查询结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述查询信息从第一存储区中获取每个所述时间切片对应的全量业务数据包括:
在确定所述时间切片以及所述查询信息对应的全量业务数据已经离线加载至第一存储区的情况下,从所述第一存储区中获取所述时间切片对应的全量业务数据;
在确定所述时间切片以及所述查询信息对应的全量业务数据未离线加载至第一存储区的情况下,将获取的所述时间切片对应的目标全量数据加载至所述第一存储区,并同步从所述第一存储区中获取所述目标全量数据,将所述目标全量数据作为所述全量业务数据;所述目标全量数据为全量分区时间靠近所述查询时间范围中最大边界时间对应的离线数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在检测到不满足预设离线数据获取条件的情况下,调用在线服务查询接口,基于所述查询信息获取目标业务数据;
基于所述目标业务数据,生成查询结果;
其中,所述预设离线数据获取条件包括离线查询功能开启、离线业务数据正常加载、离线业务数据对应的一致性检测结果满足预设条件中至少一种。
4.根据权利要求1-3任一所述的方法,其特征在于,所述方法还包括:
获取离线业务数据;
对所述离线业务数据进行基于不同时间维度的数据切分处理,获得至少一个历史数据切片;
对每个历史数据切片分别进行数据聚合,并保存聚合后的离线业务数据至目标存储位置。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取历史业务查询请求;
获取所述历史业务查询请求对应的目标数据标识,并保存所述目标数据标识;
在满足数据加载条件的情况下,从所述目标存储位置中将所述目标数据标识对应的目标离线业务数据加载至所述第一存储区中,并记录所述目标离线业务数据对应的第一分区时间,所述第一分区时间表征加载至所述第一存储区的全量数据分区的生成时间。
6.根据权利要求5所述的方法,其特征在于,所述第一存储区包括若干第一存储子区,所述从所述目标存储位置中将所述目标数据标识对应的目标离线业务数据加载至所述第一存储区中包括:
从所述目标存储位置中,获取目标数据标识对应的目标离线业务数据的数据属性信息,所述数据属性信息至少包括数据类型、数据分区时间和数据时间中至少一种;
基于所述数据属性信息,将所述所述目标离线业务数据分别加载至所述第一存储区中对应的第一存储子区中。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取增量分区时间在所述第一分区时间之后的各候选增量数据;所述增量分区时间表征增量数据的增量数据分区的生成时间;
按照所述候选增量数据对应的增量分区时间的时间顺序,将所述候选增量数据加载至所述第二存储区,并记录所述候选增量数据对应的第二分区时间,所述第二分区时间表征加载至所述第二存储区的增量数据分区的生成时间。
8.根据权利要求7所述的方法,其特征在于,所述第二存储区包括若干第二存储子区,所述将所述候选增量数据加载至所述第二存储区包括:
将所述候选增量数据转化为不同时间维度的增量转化数据;
在检测到存在所述增量转化数据对应的维度时间的第二存储子区,将所述增量转化数据存储至对应的维度时间的第二存储子区中;
在检测到不存在所述增量转化数据对应的维度时间的第二存储子区,将所述增量转化数据存储至第二存储区中。
9.一种数据处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取业务查询请求,所述业务查询请求包括查询时间范围和查询信息;
切分模块,用于对所述查询时间范围进行基于不同时间维度的切分处理,获得至少一个时间切片;
第二获取模块,用于针对每个时间切片,基于所述查询信息从第一存储区中获取所述时间切片对应的全量业务数据,所述全量业务数据包括经过数据分区处理且已经加载至所述第一存储区中的数据;
第三获取模块,用于获取所述全量业务数据对应的全量分区时间,并基于所述查询信息从第二存储区中获取增量业务数据,所述全量分区时间表征全量业务数据的全量数据分区的生成时间,所述增量业务数据包括所述查询时间范围中的查询时刻晚于所述全量分区时间对应的数据;所述第二存储区和所述第一存储区均位于本地设备中;
第一生成模块,用于基于所述全量业务数据和所述增量业务数据,生成查询结果。
10.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1-8任一项所述的数据处理方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如如权利要求1-8任一项所述的数据处理方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品包括至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-8任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210132322.6A CN116628042A (zh) | 2022-02-14 | 2022-02-14 | 数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210132322.6A CN116628042A (zh) | 2022-02-14 | 2022-02-14 | 数据处理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116628042A true CN116628042A (zh) | 2023-08-22 |
Family
ID=87612147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210132322.6A Pending CN116628042A (zh) | 2022-02-14 | 2022-02-14 | 数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116628042A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116827965A (zh) * | 2023-08-25 | 2023-09-29 | 苔花科迈(西安)信息技术有限公司 | 基于云平台的煤矿井下离线场景数据存储和同步方法 |
-
2022
- 2022-02-14 CN CN202210132322.6A patent/CN116628042A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116827965A (zh) * | 2023-08-25 | 2023-09-29 | 苔花科迈(西安)信息技术有限公司 | 基于云平台的煤矿井下离线场景数据存储和同步方法 |
CN116827965B (zh) * | 2023-08-25 | 2024-01-23 | 苔花科迈(西安)信息技术有限公司 | 基于云平台的煤矿井下离线场景数据存储和同步方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11455217B2 (en) | Transaction consistency query support for replicated data from recovery log to external data stores | |
Chandra | BASE analysis of NoSQL database | |
US20170364697A1 (en) | Data interworking method and data interworking device | |
CN111046034B (zh) | 管理内存数据及在内存中维护数据的方法和系统 | |
US10572508B2 (en) | Consistent query execution in hybrid DBMS | |
US11977532B2 (en) | Log record identification using aggregated log indexes | |
US9772911B2 (en) | Pooling work across multiple transactions for reducing contention in operational analytics systems | |
CN111881011A (zh) | 日志管理方法、平台、服务器及存储介质 | |
CN103620601A (zh) | 在映射缩减过程中汇合表 | |
CN112434015B (zh) | 数据存储的方法、装置、电子设备及介质 | |
CN112148693A (zh) | 一种数据处理方法、装置及存储介质 | |
EP3264291A1 (en) | Data block processing method and device | |
CN112559525B (zh) | 数据检查系统、方法、装置和服务器 | |
US9390111B2 (en) | Database insert with deferred materialization | |
CN112965957A (zh) | 一种数据迁移方法、装置、设备及存储介质 | |
CN116628042A (zh) | 数据处理方法、装置、设备及介质 | |
US11341159B2 (en) | In-stream data load in a replication environment | |
CN113806309B (zh) | 基于分布式锁的元数据删除方法、系统、终端及存储介质 | |
CN114490865A (zh) | 数据库同步方法、装置、设备及计算机存储介质 | |
CN113553320B (zh) | 数据质量监控方法及装置 | |
McGlothlin et al. | Scalable queries for large datasets using cloud computing: a case study | |
CN112783969B (zh) | 请求处理方法及装置、计算机系统和可读存储介质 | |
EP4400982A1 (en) | Method and apparatus for processing photovoltaic data, and system for managing photovoltaic data | |
Dory | Study and Comparison of Elastic Cloud Databases: Myth or Reality? | |
Zhang et al. | ESTELLE: An Efficient and Cost-effective Cloud Log Engine |
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 |