CN114817338A - 数据处理方法、装置、电子设备及计算机可读存储介质 - Google Patents
数据处理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114817338A CN114817338A CN202210737914.0A CN202210737914A CN114817338A CN 114817338 A CN114817338 A CN 114817338A CN 202210737914 A CN202210737914 A CN 202210737914A CN 114817338 A CN114817338 A CN 114817338A
- Authority
- CN
- China
- Prior art keywords
- data
- data processing
- indication information
- warehouse
- service
- 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.)
- Withdrawn
Links
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/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据处理方法、装置、电子设备及计算机可读存储介质,涉及数据处理技术领域。该数据处理方法包括:首先接收输入的数据处理请求,接着,根据数据处理请求中的数据指示信息,从数据仓库中查询数据指示信息匹配的数据为目标数据,并对目标数据执行操作指示信息对应的数据处理操作,得到数据处理结果,最后,将数据处理结果返回至应用层。在整个数据处理过程中,本申请能够同时兼顾高并发业务处理,与海量数据的毫秒级查询导出及实时数据统计分析;本申请由于开发了基于数据仓库的数据服务,可以支持海量数据的快速查询和导出算法,从而支撑各种业务场景的需要。解决了传统数据处理系统无法做到的用户痛点问题。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种数据处理方法、装置、电子设备及计算机可读存储介质。
背景技术
随着互联网服务的发展和云计算的逐渐普及,业务系统逐渐朝着集中式、云服务化的方向发展,海量数据的实时处理能力是最近几年数据行业很重要的趋势。
目前对海量数据的处理方法中数据时效性不足,查询的性能差,导致用户体验差,技术负担重,可扩展性差、技术维护成本极高,且不可持续发展。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种数据处理方法、装置、电子设备及计算机可读存储介质,以便在兼顾高并发业务处理的同时,提供海量数据的实时查询导出及统计分析。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种数据处理方法,所述方法应用于云服务器,所述方法包括:
接收输入的数据处理请求,所述数据处理请求包括:操作指示信息,以及数据指示信息;
根据所述数据指示信息,从数据仓库中查询所述数据指示信息匹配的数据为目标数据,其中,所述数据仓库的数据为对业务数据库进行同步后的数据;
对所述目标数据执行所述操作指示信息对应的数据处理操作,得到数据处理结果;
将所述数据处理结果返回至所述应用层。
可选的,所述根据所述数据指示信息,从数据仓库中查询所述数据指示信息匹配的数据为目标数据之前,所述方法还包括:
根据所述业务数据库的日志文件,将所述业务数据库中的增量数据实时同步至所述数据仓库。
可选的,所述根据所述业务数据库的日志文件,将所述业务数据库中的增量数据实时同步至所述数据仓库,包括:
根据所述业务数据库的日志文件以及预设的实时数据模型,将所述增量数据实时同步至所述数据仓库中的实时数据仓库。
可选的,所述方法还包括:
根据预设的时间间隔以及预设的离线数据模型,将所述实时数据仓库的数据存储至所述数据仓库中的离线数据仓库中。
可选的,所述接收输入的数据处理请求包括:
接收业务系统的应用层输入的操作指示信息,所述操作指示信息:业务操作指示信息;
所述对所述目标数据执行所述操作指示信息对应的数据处理操作,得到数据处理结果,包括:
对所述目标数据执行所述业务操作指示信息对应的业务分析操作,得到所述数据处理结果。
可选的,所述接收输入的数据处理请求包括:
接收业务系统的应用层输入的操作指示信息,所述操作指示信息为:数据查询指示信息;
所述对所述目标数据执行所述操作指示信息对应的数据处理操作,得到数据处理结果,包括:
对所述目标数据执行所述数据查询指示信息对应的数据查询操作,得到所述数据处理结果。
可选的,所述接收输入的数据处理请求包括:
接收数据处理工具输入的操作指示信息,所述操作指示信息:统计操作指示信息;
所述对所述目标数据执行所述操作指示信息对应的数据处理操作,得到数据处理结果,包括:
对所述目标数据执行所述统计操作指示信息对应的统计操作,得到所述数据处理结果。
第二方面,本申请实施例还提供了一种数据处理装置,所述装置包括:接收模块,数据查询模块,处理模块,返回模块;
所述接收模块,用于接收输入的数据处理请求,所述数据处理请求包括:操作指示信息,以及数据指示信息;
所述数据查询模块,用于根据所述数据指示信息,从数据仓库中查询所述数据指示信息匹配的数据为目标数据,其中,所述数据仓库的数据为对业务数据库进行同步后的数据;
所述处理模块,用于对所述目标数据执行所述操作指示信息对应的数据处理操作,得到数据处理结果;
所述返回模块,用于将所述数据处理结果返回至所述应用层。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如第一方面任一所述的数据处理方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一所述的数据处理方法的步骤。
本申请的有益效果是:本申请实施例提供一种数据处理方法,应用于云服务器,首先接收输入的数据处理请求,接着,根据数据处理请求中的数据指示信息,从数据仓库中查询数据指示信息匹配的数据为目标数据,并对目标数据执行操作指示信息对应的数据处理操作,得到数据处理结果,最后,将数据处理结果返回至应用层。在整个数据处理过程中,本申请能够同时兼顾高并发业务(增删改)处理,与海量数据的毫秒级查询导出及实时数据统计分析;本申请由于开发了基于数据仓库的数据服务,可以支持海量数据的快速查询和导出算法,从而支撑各种业务场景的需要,例如订单检索、报表统计、批量数据导出、实时大屏、直播看板等。解决了传统数据处理系统无法做到的用户痛点问题,能够极大的满足业务处理的需求,提升业务系统的技术壁垒,增加用户粘性和满意度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请一实施例提供的一种基于业务场景的云服务器架构示意图;
图2为本申请又一实施例提供的一种基于业务场景的云服务器架构示意图;
图3为本申请一实施例提供的一种数据处理方法的流程图;
图4为本申请又一实施例提供的一种数据处理方法中的数据同步框架示意图;
图5为本申请提供的一种数据处理方法的具体实现方式示意图;
图6为本申请一实施例提供的一种实时数据仓库配置方法流程图;
图7为本申请又一实施例提供的一种数据处理方法中的流程图;
图8为本申请另一实施例提供的一种数据处理方法的流程图;
图9为本申请再一实施例提供的一种数据处理方法的流程图;
图10为本申请一实施例提供的一种数据处理装置的示意图;
图11为本申请实施例提供的一种电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
在本申请中,除非另有明确的规定和限定,在本发明中的描述中,“多个”的含义是至少两个,例如两个、三个,除非另有明确具体的限定。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
目前,互联网服务不断发展,云计算也在逐渐普及,业务系统逐渐朝着集中式、云服务化的方向发展,特别在软件即服务(Software-as-a-Service,SaaS)领域应用中尤为广泛,海量数据的实时处理能力也是最近几年数据行业很重要的趋势。
在云计算的应用中,大量的企业级用户在同一个云环境,SaaS系统中进行业务处理,其过程中伴随着高并发的数据交互和计算,产生海量的业务数据,在数据产生的同时,对数据的查询和统计分析又必不可少;既要保证数据的查询效率,同时又要保证数据的实时性,成为很大的技术挑战;传统的做法往往会牺牲用户体验,将近期的数据(如三个月内)和历史数据(三个月前)进行分开存储,分开查询和展示,数据时效性不足,查询的性能又差,导致用户体验差,技术负担重,可扩展性差、技术维护成本极高,且不可持续发展。
本申请的数据处理方法应用于云服务器(Elastic Compute Service, ECS),下面首先对本申请的业务场景即云服务器的具体架构进行说明。图1为本申请一实施例提供的一种基于业务场景的云服务器架构示意图。如图1所示,该基于业务场景的云服务器架构主要包括三个层次,即数据层15、服务层13、应用层11;数据层15与服务层13之间、服务层13与应用层11之间均存在通讯连接,可以实现数据交互。其中,数据层中可以实现对数据的存储、处理;服务层作为应用层和数据层的桥梁,为应用层的具体业务提供支持;应用层中包括至少一个具体可实现的业务场景。
在一种可能的实现方式中,基于互联网的大数据业务场景,本申请还提供一个具体的基于业务场景的云服务器架构设计方案,以提供实际业务场景中的大数据查询、分析。其中可以采用Java语言、数据库技术、数据同步技术、实时数据仓库、大数据处理技术等技术,做好各数据存储介质之间的数据实时同步。图2为本申请又一实施例提供的一种基于业务场景的云服务器架构示意图。如图2所示:
在应用层中包括基于本申请可以实现的业务场景,或者业务系统。业务系统例如可以为:订单处理系统、企业资源计划(Enterprise Resource Planning,ERP)、仓储管理系统、新零售系统等。在具体业务系统的基础上,本申请可以实现:订单的查询、导入导出等,实时和离线报表的统计分析和展现,直播看板、实时数据大屏等应用场景。上述仅为示例说明,在实际实现中,还可以有其他的业务系统或者应用场景,本申请对此不做限定。
在服务层中包括本申请提供的两类服务:业务服务和数据服务。其中,业务服务用于提供支撑业务系统的一般业务操作,作为业务系统(业务层中)和业务数据库(数据层中)的桥梁;可以提供基于业务数据库联机事务处理过程操作(On-Line TransactionProcessing,OLTP操作)的一系列应用接口(Application Programming Interface,API)。数据服务是基于实时数据仓库基础之上的封装,负责数据的调用和加工,最后通过数据服务的API暴露给应用层。简单地说,数据服务可以实现对数据的导出调用,业务服务可以根据需求实现对数据的处理。如图2所示,在业务服务中,可以包括业务接口单元(实现业务服务与应用层的通讯连接)、逻辑算法模块(体现具体的业务处理逻辑)、数据解密模块(对从数据层调用的数据进行解密)、数据调用模块(实现业务服务与数据层的通讯连接);在数据服务中,可以包括数据接口单元(实现数据服务与应用层的通讯连接)、数据加工模块(对调取的数据进行加工调整)、数据解密模块(对从数据层调用的数据进行解密)、数据调用模块(实现数据服务与数据层的通讯连接)。
在数据层中包含数据库(例如可以为业务数据库)和数据仓库,数据库用来实现基本的业务处理,数据加密、数据存储等,并且通过编写数据同步策略,实现数据的实时同步到数据仓库;数据仓库,主要提供海量数据的存储和计算能力;此外,可以在现有数据模型的基础上,按照业务的需求设计构建新的数据模型,作为数据服务最底层的数据源。如图2所示,业务数据库包括数据处理模块(实现业务数据库与服务层的通讯连接)、加密模块(对数据进行加密)、存储单元(数据存储);数据仓库中包括数据建模(包括至少一种数据模型,用于对数据进行处理或者调取)、实时计算(实时数据计算)、离线计算(离线数据计算)、存储单元(数据存储)。业务数据库与数据仓库之间实时同步。
上述仅为示例说明,在实际实现中,还可以有其他的基于业务场景的云服务器架构,本申请对此不做限定。
在上述基于业务场景的云服务器架构的基础上,针对目前对海量数据处理的不足,本申请实施例提供了多种可能的对海量数据进行处理的数据处理方法的实现方式,以实现高性能数据处理。如下结合附图通过多个示例进行解释说明。图3为本申请一实施例提供的一种数据处理方法的流程图。如图3所示,该方法包括:
步骤301:接收输入的数据处理请求,数据处理请求包括:操作指示信息,以及数据指示信息。
在一种可能的实现方式中,业务层可以获取用户可以在前端设备(例如在人机交互显示屏等)输入数据处理请求,在数据处理请求中包括至少两部分内容:操作指示信息,即具体的数据处理方法(在图2的基础上操作指示信息还可以指示具体的服务类型和服务方式);数据指示信息,即指示执行操作指示信息对应的操作时需要的数据。
步骤302:根据数据指示信息,从数据仓库中查询数据指示信息匹配的数据为目标数据,其中,数据仓库的数据为对业务数据库进行同步后的数据。
接收到数据指示信息之后,根据数据指示信息的指示从数据仓库中查询数据指示信息匹配的数据为目标数据。
需要说明的是,若数据处理请求为:将目标数据进行数据导入,目标数据也有可能包括在数据处理请求的数据指示信息当中(即数据指示信息中可以包括目标数据),在这种情况下,可以不执行步骤302。
在一种可能的实现方式中,参考图1,应用层在接收输入的数据处理请求后,将此数据处理请求发送给服务层(或者参考图2,应用层在接收输入的数据处理请求后,将此数据处理请求通过业务接口单元或者数据接口单元发送给服务层对应的业务服务或者数据服务)。服务层在接收到数据处理请求后,根据数据处理请求的指示,从数据层调用目标数据(参考图2,服务层可以通过数据调用模块调用数据层的目标数据)。
上述仅为示例说明,在实际实现中,还可以有其他的实现方式,本申请对此不做限定。
步骤303:对目标数据执行操作指示信息对应的数据处理操作,得到数据处理结果。
在取得目标数据之后,对目标数据执行操作指示信息对应的数据处理操作,从而得到数据处理结果。需要说明的是,对目标数据执行数据处理操作可以在数据层进行,也可以在服务层进行,本申请对此不做限定。
在一种具体的实现方式中,若数据处理请求为将目标数据进行数据导入,根据数据指示信息,可以在数据层对目标数据执行操作指示信息对应的数据处理操作(即将目标数据导入业务数据库中)。具体地,参考图2,若数据处理请求为将目标数据进行数据导入,根据数据指示信息,在业务数据库的数据处理模块对目标数据执行操作指示信息对应的数据处理操作。
在另一种具体的实现方式中,若数据处理请求为将数据调用处理等操作时,根据数据指示信息,可以在服务层对目标数据执行操作指示信息对应的数据处理操作。具体地,参考图2,若数据处理请求为数据调用处理等时,服务层在获取目标数据之后,在业务服务的逻辑算法模块或者数据服务当中对目标数据执行操作指示信息对应的数据处理操作。
上述仅为示例说明,在实际实现中,还可以有其他的数据处理操作实现方式,本申请对此不做限定。
步骤304:将数据处理结果返回至应用层。
在完成数据处理,得到数据处理结果之后,将数据处理的结果返回到应用层,完成数据处理请求。
综上,本申请实施例提供一种数据处理方法,应用于云服务器,首先接收输入的数据处理请求,接着,根据数据处理请求中的数据指示信息,从数据仓库中查询数据指示信息匹配的数据为目标数据,并对目标数据执行操作指示信息对应的数据处理操作,得到数据处理结果,最后,将数据处理结果返回至应用层。在整个数据处理过程中,本申请能够同时兼顾高并发业务(增删改)处理,与海量数据的毫秒级查询导出及实时数据统计分析;本申请由于开发了基于数据仓库的数据服务,可以支持海量数据的快速查询和导出算法,从而支撑各种业务场景的需要,例如订单检索、报表统计、批量数据导出、实时大屏、直播看板等。解决了传统数据处理系统无法做到的用户痛点问题,能够极大的满足业务处理的需求,提升业务系统的技术壁垒,增加用户粘性和满意度。
可选的,在上述图1的基础上,本申请还提供一种数据处理方法的可能实现方式,图4为本申请又一实施例提供的一种数据处理方法中的数据同步框架示意图;如图4所示,根据数据指示信息,从数据仓库中查询数据指示信息匹配的数据为目标数据之前,方法还包括:
根据业务数据库的日志文件,将业务数据库中的增量数据实时同步至数据仓库。
根据图4,业务数据库采用关系数据库(relational database,RDS),业务数据库与数据仓库(实时数据仓库)之间通过数据日志的增量数据实现数据同步,具体来说,实时数据仓库需要根据业务数据库的数据日志的增量数据实现数据同步。需要说明的是,本申请对日志文件的格式不做限定,例如可以为binlog格式的日志文件等。
在此基础上,用户可以根据实际需要搭建自己的关系数据库环境,例如在订单业务系统中,对于实时处理中的订单数据(正常业务处理数据),统一采用关系数据库(RDS)进行数据存储;并创立订单作业表,来提供日常的业务的增删改功能。由于关系数据库擅长于进行OLTP操作),因此关系数据库可以作为海量业务数据处理的基础。
通过上述实施例,保证了业务数据库中数据与数据仓库中数据的实时性与一致性。
可选的,在上述图4的基础上,本申请还提供一种数据处理方法的可能实现方式,根据业务数据库的日志文件,将业务数据库中的增量数据实时同步至数据仓库,包括:
根据业务数据库的日志文件以及预设的实时数据模型,将增量数据实时同步至数据仓库中的实时数据仓库,满足业务数据和实时数仓的数据实时同步及数据一致性的要求。
在一种具体的实现方式中,图5为本申请提供的一种数据处理方法的具体实现方式示意图,如图5所示可以通过如下方法,以日志文件(以binlog为例)和数据处理平台(以Dataworks为例)为载体,实现业务数据库(以RDS为例)与实时数据仓库(以Hologres为例)之间的数据同步:
本实施例基于以上核心架构设计方案,构建数据仓库及业务服务,实现实时数仓(实时数据仓库)和离线数仓(离线数据仓库)无缝整合,提供数据(海量数据)的“实时同步”、“离线同步”、“实时查询”、“BI数据报表”等技术能力,最终形成一套完整的解决方案和技术框架;
本实施例主要包含实时数据和离线数据两部分,分以下几个步骤:
①采用DataWorks作为数据同步工具,配置业务数据库(RDS)作为同步的数据源,通过Binlog日志和DataWorks相结合,由dataworks的实时同步任务完成数据的实时同步,进入“实时数仓”(Hologres)。
②在实时数仓内部进行抽取-转换-存储操作(Extract-Transform-Load,ETL),完成海量数据的聚合,模型重构;
③开发数据微服务,调用Hologres,通过SQL查询实时数仓的数据,实现海量数据的高性能查询能力;
④最终通过微服务API开放给业务系统,完成业务的反哺,如:海量订单的实时查询、导出、分析等业务场景;
⑤部分离线业务数据通过跑批(例如“微跑批”)等方式,定时从业务数据库增量拉取数据,进入“离线数仓”(MaxCompute);
⑥在离线数仓进行ETL,做大数据的分析和聚合,形成离线聚合数据;
⑦通过离线数仓MaxCompute的外表映射能力,实现离线数据与实时数据在Hologres中再次聚合,最终可以实现海量数据聚合之后的查询,确保数据的完整性和一致性;
⑧另外通过基于离线数仓计算后的数据,进行SQL查询,通过BI工具形成报表分析能力;
⑨最后通过BI的可视化工具能力,实现各类海量数据统计分析的业务能力,反哺给业务系统。
在又一种具体的实现方式中,日志文件为binlog格式文件,预设的实时数据模型为Datawork工具模型。在开发实时同步数据脚本时,可以通过通过业务数据库的binlog文件,开发同步策略,使用DataWorks工具实时同步(增量)数据到实时数据仓库中(例如可以为Hologres),从而完成数据同步策略的开发。在此基础上,通过增加业务数据库的数量,或者业务的数量(例如购买新的资源进行配置),可实现对业务数据库的横向扩容,达到可持续发展的目的。也就是说,在业务数据库(例如SaaS系统的业务数据库)搭建完成后,对其扩容不需要代码级别的接入即可实现横向扩容。
需要说明的是,目前由于业务数据库(RDS)(例如SaaS系统的业务数据库)往往通过横向扩容的方式,会搭建多个数据库实例,分散数据库压力,达到横向扩容的目的,业务数据库实例间物理隔离。如果直接对业务数据库做读写分离,一般的关系数据库不但处理不了海量数据的查询性能,同时直接对每一个业务数据库进行“主-备”读写分离,也成倍增加了业务数据库的购买数量,极大的增加了购买成本和维护工作量,同时还存在实时数据孤岛的问题,因而实现实时海量数据的查询,本申请采用集中式的“实时数据仓库”方案,来降低部署成本,简化系统架构,本身请通过将多个业务数据库(RDS)的数据“实时增量”同步到“实时数据仓库(hologres)”,充分利用实时数据仓库的大容量存储及数据查询能力,实现业务数据的集中的同时,也作为读写分离方案中的“只读”库,从而解决了实时数据孤岛的问题。
本申请将业务数据库、数据仓库(实时数据仓库)整合成完整的数据处理解决方案,实现了两者数据的实时互通,为互联网场景下的大数据业务提供了业务处理+数据分析的能力,特别是实时数据查询,除了能够快速返回数据结果之外,还能保证数据是最新最实时(和业务处理的数据无时间差)的数据,从而避免出现“脏数据”,或者“数据不一致性”的问题。此外,通过上述方法,统一了实时存储,解决了实时数据孤岛等问题,降低传统数据处理系统通过业务数据库(特别是关系数据库)做读写分离方案的成本。
可选的,在上述实施例的基础上,本申请还提供一种数据处理方法的可能实现方式,该方法还包括:
根据预设的时间间隔以及预设的离线数据模型,将实时数据仓库的数据存储至数据仓库中的离线数据仓库中。
在一种可能的实现方式中,为了进一步加速离线数据查询,使其可以做到秒级返回,从而极大提升海量数据查询和导出的性能和体验,可以对数据仓库的结构进行设计,例如,可以在数据仓库中建立实时数据仓库(即上述实施例中使用的数据仓库)和离线数据仓库,在实时数据仓库中建立对应的订单大数据表,建立好对应的数据模型和结构,实现实时数据查询;
在一种具体的实现方式中,图6为本申请一实施例提供的一种实时数据仓库配置方法流程图,如图6所示,实时数据仓库可以通过如下步骤完成配置:
主要包含以下几个步骤:
1.初始化业务数据库:该步骤一般是业务系统自身的初始化工作,业务数据库主要负责日常的基于事务的高并发OLTP操作;
2.进行数据处理平台(以Dataworks为例)的配置,进入dataworks的控制台;
3.在控制台配置好业务数据库作为数据同步的数据源,一般dataworks支持主流的关系数据库如:mysql,将需要同步的所有业务数据库添加到数据源列表;
4.开始创建同步任务,选择“实时同步”方式,实现两边数据源保持数据的一致和实时;
5.设置同步的流程:选择数据同步的输入源为:关系数据库(Mysql等业务数据库),设置输出源为“实时数仓”的hologres,通过简单的配置完成数据同步的流向;
6.选择输入源(业务数据库)中需要同步的数据库表;
7.配置数据同步的至少一个重要参数(例如:根据数据源数量等),配置同步任务并发的线程数量;
8.最后,启动同步任务,开始进入监听状态,一旦数据库有增量数据产生,将实现数据的实时同步到实时数仓( hologres);
在又一种可能的实现方式中,可以通过离线数据仓库中配置内外表,使得离线数据可以实现秒级返回,并实现实时数据仓库与离线数据仓库的无缝整合,举例来说,实时数据仓库可以实现毫秒级返回,当实时数据仓库的检索范围涉及到离线数据时,检索时间延长(一般时长约为5-10秒),但不需要对程序进行调整。
在另一种可能的实现方式中,在离线数据仓库中,可以将超过1年且已完结的订单,统一存入Hologres外表,以降低成本。
在一种具体的实现方式中,可以根据预设时间间隔(即实时数据仓库与离线数据仓库的同步时间间隔)以及预设的离线数据模型(例如可以是根据上述实施例进行配置的离线数据仓库的离线数据模型),将实时数据仓库的数据存储至数据仓库中的离线数据仓库中,从而实现实时数据仓库与离线数据仓库之间的数据同步。
上述仅为示例说明,在实际实现中,还可以有其他的离线数据仓库的更新方式,本申请对此不做限定,只要其能够实现对实时数据仓库中数据的同步即可。此外,本申请通过实时数据仓库对数据模型(数据库表的结构)的优化,减少了以往实时过多的维度冗余,降低耦合度。
可选的,在上述实施例的基础上,本申请还提供一种数据处理方法的可能实现方式,图7为本申请又一实施例提供的一种数据处理方法中的流程图;如图7所示,接收输入的数据处理请求包括:
步骤501:接收业务系统的应用层输入的操作指示信息,操作指示信息:业务操作指示信息。
对目标数据执行操作指示信息对应的数据处理操作,得到数据处理结果,包括:
步骤502:对目标数据执行业务操作指示信息对应的业务分析操作,得到数据处理结果。
参考图2和图7,若接收到业务系统的应用层输入的操作指示信息为业务操作指示信息,即表示该操作需要通过服务层的业务服务完成,则需要根据业务操作指示信息对目标数据执行响应的业务分析操作,得到数据处理结果。
在一种具体的实现方式中,该业务操作指示信息例如可以为目标时段的仓储数据报表,由此,目标数据即为目标时段的仓储数据报表所需的数据,业务服务从数据层中获取目标数据后,对目标数据按照该仓储数据报表的需求进行业务分析操作,得到数据处理结果(即仓储数据报表数据或者对应的数据图)。
在另一种具体的实现方式中,用户还可以根据具体的数据处理需要在应用层开发业务微服务((Service),从而日常的业务操作(增删改查)等OLTP操作,实现常规的业务处理功能。
在又一种具体的实现方式中,业务操作指示信息可以为对数据的加工处理,也可以是对数据的导入。在上述实施例中,本申请已经对数据加工处理的方式进行解释说明,下面主要说明当业务操作指示信息指示数据导入时,本申请数据处理方法的实现方式。
首先应用层接收到对数据写入或者更新(OLTP)的数据处理请求(具体的,该可以是在SaaS业务系统上发起的高并发业务处理请求),应用层将此数据处理请求传递给业务服务中,业务服务将该数据处理请求中的目标数据写入到业务数据库中(根据具体实现,此业务数据库也可以是业务数据库群),业务数据库写入新的数据后,实时数据仓库在预设的实时数据模型(DataWorks)的基础上根据业务数据库的日志文件的增量数据进行实时同步。可选的,同步后的实施数据仓库可以相应应用层的数据查询的数据处理请求,通过数据服务在应用层实现大数据的实时查询/导出。
可选的,在上述图3的基础上,本申请还提供一种数据处理方法的可能实现方式,图8为本申请另一实施例提供的一种数据处理方法的流程图;如图8所示,接收输入的数据处理请求包括:
步骤601:接收业务系统的应用层输入的操作指示信息,操作指示信息为:数据查询指示信息。
对目标数据执行操作指示信息对应的数据处理操作,得到数据处理结果,包括:
步骤602:对目标数据执行数据查询指示信息对应的数据查询操作,得到数据处理结果。
在一种具体的实现方式中,该业务操作指示信息例如可以为数据查询指示信息,由此,目标数据即为目标查询的数据,由于不需要进行数据加工,则可以通过数据服务从数据层中获取目标数据,并对目标数据按照该导出数据的格式等需求进行处理,得到数据处理结果(即查询的数据)。
在上述实施例的基础上,可以开发基于实时数据仓库的数据服务接口(API),通过编写业务数据处理代码(SQL),查询实时数据仓库(例如Hologres)的数据,利用实时数仓的毫秒级查询能力,提供大数据量的快速检索、导出等功能,满足前端业务场景的需求,提升用户对大数据查询方面的体验。
可选的,在上述图3的基础上,本申请还提供一种数据处理方法的可能实现方式,图9为本申请再一实施例提供的一种数据处理方法的流程图;如图9所示,接收输入的数据处理请求包括:
步骤701:接收数据处理工具输入的操作指示信息,操作指示信息:统计操作指示信息。
对目标数据执行操作指示信息对应的数据处理操作,得到数据处理结果,包括:
步骤702:对目标数据执行统计操作指示信息对应的统计操作,得到数据处理结果。
需要说明的是,除了对业务系统的操作指示信息进行处理之外,用户可以根据实际使用需求开发独立的数据处理工具,从而实现个性化的数据处理。
例如,可以基于实时数据仓库(例如Hologres)编写统计结构化查询语言(SQL),配套开发可视化商业智能(Business Intelligence,BI)设计器,实现大数据的实时报表统计功能,例如实时数据大屏、直播看板、实时报表统计等,从而可以利用实时数据仓库做连接分析处理(Online Analytical Processing,OLAP)等分析型的操作。再例如,本申请配套提供基于实时数仓(Hologres)的可视化BI设计工具,能够通过“拖拽式”操作,快速生成丰富的可视化报表。
在此基础上,操作指示信息为数据处理工具输入的统计操作指示信息,根据此统计操作指示信息,对目标数据执行统计操作指示信息对应的统计操作,即可得到数据处理结果。
综上,本申请的方法加速了数据相关需求的交付速度和效率,可极大提升用户对数据查询分析的体验,可以将数据更大范围的推广和应用,实现商业化的价值。
下述对用以执行本申请所提供的数据处理装置、电子设备及存储介质等进行说明,其具体的实现过程以及技术效果参见上述,下述不再赘述。
本申请实施例提供一种数据处理装置的可能实现示例,能够执行上述实施例提供的数据处理方法。图10为本申请一实施例提供的一种数据处理装置的示意图。如图10所示,上述数据处理装置100,包括:接收模块801,数据查询模块803,处理模块805,返回模块807;
接收模块801,用于接收输入的数据处理请求,数据处理请求包括:操作指示信息,以及数据指示信息;
数据查询模块803,用于根据数据指示信息,从数据仓库中查询数据指示信息匹配的数据为目标数据,其中,数据仓库的数据为对业务数据库进行同步后的数据;
处理模块805,用于对目标数据执行操作指示信息对应的数据处理操作,得到数据处理结果;
返回模块807,用于将数据处理结果返回至应用层。
可选的,上述数据处理装置100,还包括:同步模块;同步模块,用于根据业务数据库的日志文件,将业务数据库中的增量数据实时同步至数据仓库。
可选的,同步模块,用于根据业务数据库的日志文件以及预设的实时数据模型,将增量数据实时同步至数据仓库中的实时数据仓库。
可选的,上述数据处理装置100,还包括:存储模块;存储模块,用于根据预设的时间间隔以及预设的离线数据模型,将实时数据仓库的数据存储至数据仓库中的离线数据仓库中。
可选的,接收模块801,用于接收业务系统的应用层输入的操作指示信息,操作指示信息为:业务操作指示信息;
处理模块805,用于对目标数据执行业务操作指示信息对应的业务分析操作,得到数据处理结果。
可选的,接收模块801,用于接收业务系统的应用层输入的操作指示信息,操作指示信息为:数据查询指示信息;
处理模块805,用于对目标数据执行数据查询指示信息对应的数据查询操作,得到数据处理结果。
可选的,接收模块801,用于接收数据处理工具输入的操作指示信息,操作指示信息:统计操作指示信息;
处理模块805,用于对目标数据执行统计操作指示信息信息对应的统计操作,得到数据处理结果。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
本申请实施例提供一种电子设备的可能实现示例,能够执行上述实施例提供的数据处理方法。图11为本申请实施例提供的一种电子设备的示意图,该设备可以集成于终端设备或者终端设备的芯片,该终端可以是具备数据处理功能的计算设备。
该电子设备包括:处理器901、存储介质902和总线,存储介质存储有处理器可执行的程序指令,当控制设备运行时,处理器与存储介质之间通过总线通信,处理器执行程序指令,以执行时执行上述数据处理方法的步骤。具体实现方式和技术效果类似,这里不再赘述。
本申请实施例提供一种计算机可读存储介质的可能实现示例,能够执行上述实施例提供的数据处理方法,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述数据处理方法的步骤。
存储在一个存储介质中的计算机程序,可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种数据处理方法,其特征在于,所述方法应用于云服务器,所述方法包括:
接收输入的数据处理请求,所述数据处理请求包括:操作指示信息,以及数据指示信息;
根据所述数据指示信息,从数据仓库中查询所述数据指示信息匹配的数据为目标数据,其中,所述数据仓库的数据为对业务数据库进行同步后的数据;
对所述目标数据执行所述操作指示信息对应的数据处理操作,得到数据处理结果;
将所述数据处理结果返回至应用层。
2.如权利要求1所述的方法,其特征在于,所述根据所述数据指示信息,从数据仓库中查询所述数据指示信息匹配的数据为目标数据之前,所述方法还包括:
根据所述业务数据库的日志文件,将所述业务数据库中的增量数据实时同步至所述数据仓库。
3.如权利要求2所述的方法,其特征在于,所述根据所述业务数据库的日志文件,将所述业务数据库中的增量数据实时同步至所述数据仓库,包括:
根据所述业务数据库的日志文件以及预设的实时数据模型,将所述增量数据实时同步至所述数据仓库中的实时数据仓库。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
根据预设的时间间隔以及预设的离线数据模型,将所述实时数据仓库的数据存储至所述数据仓库中的离线数据仓库中。
5.如权利要求1-4中任一所述的方法,其特征在于,所述接收输入的数据处理请求包括:
接收业务系统的应用层输入的操作指示信息,所述操作指示信息为:业务操作指示信息;
所述对所述目标数据执行所述操作指示信息对应的数据处理操作,得到数据处理结果,包括:
对所述目标数据执行所述业务操作指示信息对应的业务分析操作,得到所述数据处理结果。
6.如权利要求1所述的方法,其特征在于,所述接收输入的数据处理请求包括:
接收业务系统的应用层输入的操作指示信息,所述操作指示信息为:数据查询指示信息;
所述对所述目标数据执行所述操作指示信息对应的数据处理操作,得到数据处理结果,包括:
对所述目标数据执行所述数据查询指示信息对应的数据查询操作,得到所述数据处理结果。
7.如权利要求1所述的方法,其特征在于,所述接收输入的数据处理请求包括:
接收数据处理工具输入的操作指示信息,所述操作指示信息:统计操作指示信息;
所述对所述目标数据执行所述操作指示信息对应的数据处理操作,得到数据处理结果,包括:
对所述目标数据执行所述统计操作指示信息对应的统计操作,得到所述数据处理结果。
8.一种数据处理装置,其特征在于,所述装置包括:接收模块,数据查询模块,处理模块,返回模块;
所述接收模块,用于接收输入的数据处理请求,所述数据处理请求包括:操作指示信息,以及数据指示信息;
所述数据查询模块,用于根据所述数据指示信息,从数据仓库中查询所述数据指示信息匹配的数据为目标数据,其中,所述数据仓库的数据为对业务数据库进行同步后的数据;
所述处理模块,用于对所述目标数据执行所述操作指示信息对应的数据处理操作,得到数据处理结果;
所述返回模块,用于将所述数据处理结果返回至应用层。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至7任一所述的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210737914.0A CN114817338A (zh) | 2022-06-28 | 2022-06-28 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210737914.0A CN114817338A (zh) | 2022-06-28 | 2022-06-28 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114817338A true CN114817338A (zh) | 2022-07-29 |
Family
ID=82522325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210737914.0A Withdrawn CN114817338A (zh) | 2022-06-28 | 2022-06-28 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114817338A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104090901A (zh) * | 2013-12-31 | 2014-10-08 | 腾讯数码(天津)有限公司 | 一种对数据进行处理的方法、装置及服务器 |
CN111008241A (zh) * | 2019-11-14 | 2020-04-14 | 微民保险代理有限公司 | 数据同步方法、装置、存储介质和计算机设备 |
US10970419B1 (en) * | 2020-07-31 | 2021-04-06 | Snowflake Inc. | Data clean room |
CN113360581A (zh) * | 2021-06-04 | 2021-09-07 | 北京自如信息科技有限公司 | 数据处理方法、装置及存储介质 |
CN113590660A (zh) * | 2021-07-23 | 2021-11-02 | 山东派盟网络科技有限公司 | 一种数据自助查询方法、装置以及电子设备 |
CN113760922A (zh) * | 2020-09-30 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种业务数据处理系统、方法、服务器和存储介质 |
CN113760947A (zh) * | 2020-12-24 | 2021-12-07 | 北京京东尚科信息技术有限公司 | 一种数据中台、数据处理方法、装置、设备及存储介质 |
CN114218309A (zh) * | 2021-11-04 | 2022-03-22 | 招银云创信息技术有限公司 | 数据处理方法、系统和计算机设备 |
-
2022
- 2022-06-28 CN CN202210737914.0A patent/CN114817338A/zh not_active Withdrawn
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104090901A (zh) * | 2013-12-31 | 2014-10-08 | 腾讯数码(天津)有限公司 | 一种对数据进行处理的方法、装置及服务器 |
CN111008241A (zh) * | 2019-11-14 | 2020-04-14 | 微民保险代理有限公司 | 数据同步方法、装置、存储介质和计算机设备 |
US10970419B1 (en) * | 2020-07-31 | 2021-04-06 | Snowflake Inc. | Data clean room |
CN113760922A (zh) * | 2020-09-30 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种业务数据处理系统、方法、服务器和存储介质 |
CN113760947A (zh) * | 2020-12-24 | 2021-12-07 | 北京京东尚科信息技术有限公司 | 一种数据中台、数据处理方法、装置、设备及存储介质 |
CN113360581A (zh) * | 2021-06-04 | 2021-09-07 | 北京自如信息科技有限公司 | 数据处理方法、装置及存储介质 |
CN113590660A (zh) * | 2021-07-23 | 2021-11-02 | 山东派盟网络科技有限公司 | 一种数据自助查询方法、装置以及电子设备 |
CN114218309A (zh) * | 2021-11-04 | 2022-03-22 | 招银云创信息技术有限公司 | 数据处理方法、系统和计算机设备 |
Non-Patent Citations (1)
Title |
---|
王文芳: "基于数据仓库的地税统计分析系统的研究和实现", 《中国优秀硕士学位论文全文数据库》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109997126B (zh) | 事件驱动提取、变换、加载(etl)处理 | |
JP7273045B2 (ja) | Sqlクエリプランを最適化するための次元コンテキスト伝搬技術 | |
JP6887544B2 (ja) | イベント処理のための動的に型付けされたビッグデータによるイベントの充実化 | |
EP3513317B1 (en) | Data serialization in a distributed event processing system | |
CN108536761B (zh) | 报表数据查询方法及服务器 | |
CN109144994B (zh) | 索引更新方法、系统及相关装置 | |
US11412343B2 (en) | Geo-hashing for proximity computation in a stream of a distributed system | |
EP3513320B1 (en) | Spatial change detector in stream data | |
KR101621137B1 (ko) | 아파치 하둡을 위한 로우 레이턴시 쿼리 엔진 | |
US10291704B2 (en) | Networked solutions integration using a cloud business object broker | |
US8555018B1 (en) | Techniques for storing data | |
US10467250B2 (en) | Data model design collaboration using semantically correct collaborative objects | |
US10452632B1 (en) | Multi-input SQL-MR | |
US7814045B2 (en) | Semantical partitioning of data | |
US10394805B2 (en) | Database management for mobile devices | |
US8805777B2 (en) | Data record collapse and split functionality | |
US11526475B2 (en) | Code generator platform for data transformation | |
US10545941B1 (en) | Hash based data processing | |
CN103678591A (zh) | 自动执行多业务单据统计处理的装置和方法 | |
CN114817338A (zh) | 数据处理方法、装置、电子设备及计算机可读存储介质 | |
CN111143328A (zh) | 一种敏捷商业智能数据构建方法、系统、设备、存储介质 | |
US10558637B2 (en) | Modularized data distribution plan generation | |
CN108595552A (zh) | 数据立方体发布方法、装置、电子设备和存储介质 | |
CN113918996B (zh) | 分布式数据处理方法、装置、计算机设备和存储介质 | |
CN114626075A (zh) | 实时访问ecc工器具信息的方法、系统及可读存储介质 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220729 |