CN117009327A - 一种数据处理方法、装置及计算机设备、介质 - Google Patents
一种数据处理方法、装置及计算机设备、介质 Download PDFInfo
- Publication number
- CN117009327A CN117009327A CN202311258792.8A CN202311258792A CN117009327A CN 117009327 A CN117009327 A CN 117009327A CN 202311258792 A CN202311258792 A CN 202311258792A CN 117009327 A CN117009327 A CN 117009327A
- Authority
- CN
- China
- Prior art keywords
- data
- task
- target
- scheduling
- application request
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 65
- 238000003860 storage Methods 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 45
- 238000007726 management method Methods 0.000 claims description 35
- 238000013500 data storage Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 17
- 238000013075 data extraction Methods 0.000 claims description 9
- 238000011084 recovery Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000013468 resource allocation Methods 0.000 description 23
- 238000005516 engineering process Methods 0.000 description 21
- 238000013523 data management Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241001481833 Coryphaena hippurus Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000006467 substitution reaction 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/21—Design, administration or maintenance of databases
-
- 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/242—Query formulation
- G06F16/2433—Query languages
- G06F16/2445—Data retrieval commands; View definitions
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据处理方法、装置及计算机设备、介质,方法包括:获取第一对象针对第一数据集的数据申请请求,第一数据集为数据仓库中与目标租户对应的数据集中的一个或多个;根据数据申请请求和第一数据集的描述信息确定第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识;调用数据查询模板对基本属性字段、数据查询条件以及所在的数据仓库表的标识进行处理,生成数据分发任务;根据数据申请请求和第一数据集的描述信息确定数据分发任务的资源配置信息;根据数据分发任务的资源配置信息执行数据分发任务,得到数据申请请求对应的目标数据,可以提高数据分发效率以及资源利用率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种数据处理方法、一种数据处理装置、一种计算机设备以及一种计算机可读存储介质。
背景技术
数据分析和数据洞察可以辅助决策者更好的利用数据做决策,是互联网产品的常见功能形态。数据分析和数据洞察,普遍使用数据仓库技术来实现相关产品功能。在SaaS(Software as a Service,软件即服务)多租户产品形态中,出于成本考量,很难为每个租户都单独部署维护独立的数据仓库。因此在SaaS多租户产品形态中,通常的做法是将所有租户的数据都统一收集到一个数据仓库中。在计算完成后,再将数据仓库计算后的结果数据分发给不同租户。
目前,数据分发主要包括以下两种方案:第一种是将数据仓库中的所有的数据输出到一张数据库结果表中,然后通过软件层面实现数据分发;第二种是手动处理租户的数据分发。前者要输出所有的数据,比较浪费资源,后者需要手动的处理,效率较低。因此,怎样提高数据分发效率,并提高数据分发过程中资源的利用率成为亟待解决的技术问题。
发明内容
本申请实施例提供了一种数据处理方法、装置及计算机设备、介质,既可以自动化生成数据分发任务,提高数据分发效率;又可以自动化地分配数据分发任务所需要的资源,提高资源利用率。
本申请实施例一方面公开了一种数据处理方法,该方法包括:
获取第一对象针对第一数据集的数据申请请求,所述第一对象为数据仓库的目标租户包括的任意一个对象,所述第一数据集为所述数据仓库中与所述目标租户对应的数据集中的一个或多个;
根据所述数据申请请求和所述第一数据集的描述信息确定第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识;
调用数据查询模板对所述第一数据集的基本属性字段、所述数据查询条件以及所述所在的数据仓库表的标识进行处理,生成数据分发任务;
根据所述数据申请请求和所述第一数据集的描述信息确定所述数据分发任务的资源配置信息;
根据所述数据分发任务的资源配置信息执行所述数据分发任务,得到所述数据申请请求对应的目标数据,并向所述第一对象返回所述目标数据。
本申请实施例一方面公开了一种数据处理装置,该装置包括:
获取单元,用于获取第一对象针对第一数据集的数据申请请求,所述第一对象为数据仓库的目标租户包括的任意一个对象,所述第一数据集为所述数据仓库中与所述目标租户对应的数据集中的一个或多个;
确定单元,用于根据所述数据申请请求和所述第一数据集的描述信息确定第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识;
处理单元,用于调用数据查询模板对所述第一数据集的基本属性字段、所述数据查询条件以及所述所在的数据仓库表的标识进行处理,生成数据分发任务;
确定单元,用于根据所述数据申请请求和所述第一数据集的描述信息确定所述数据分发任务的资源配置信息;
所述处理单元,还用于根据所述数据分发任务的资源配置信息执行所述数据分发任务,得到所述数据申请请求对应的目标数据,并向所述第一对象返回所述目标数据。
本申请实施例一方面公开了一种计算机设备,该计算机设备包括处理器,适于实现一条或多条计算机程序;以及,计算机可读存储介质,所述计算机可读存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行以上述的数据处理方法。
本申请实施一方面公开了一种计算机可读存储介质,该计算机可读存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由处理器加载并执行上述的数据处理方法。
本申请实施例一方面公开了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行上述的数据处理方法。
本申请实施例中,当一个数据仓库中存储有多个租户的数据集信息时,若某个租户的第一对象想要申请数据,可以通过调用数据查询模板对第一对象的数据申请请求和第一数据集的描述信息进行处理,自动化地生成数据分发任务,由此可以提高数据分发效率;同时,在处理数据分发任务时,还可以根据数据申请请求和第一数据集的描述信息确定数据分发任务的资源配置信息,由此合理的配置资源,提高资源的利用率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例公开的一种数据处理系统的网络架构示意图;
图2是本申请实施例公开的一种显示界面的示意图;
图3是本申请实施例公开的一种数据处理方法的流程示意图;
图4是本申请实施例公开的数据处理方法中功能模块的示意图;
图5是本申请实施例公开的一种目标调度任务的生成过程的示意图;
图6是本申请实施例公开的一种目标调度任务的执行过程的示意图;
图7是本申请实施例公开的一种数据处理装置的结构示意图;
图8是本申请实施例公开的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了更清楚地理解本申请实施例所提供的技术方案,在此先对本申请实施例涉及的一些关键术语进行介绍:
一、调度系统
一种用于管理大数据处理任务的软件或框架。在处理大量数据的场景中,任务的编排、资源分配、依赖管理以及性能优化都需要一个可靠且易于操作的调度系统。常见的开源调度系统如Apache Airflow、Apache Dolphin Scheduler。
二、Spark SQL
Spark SQL是Apache Spark大数据处理框架的一个重要组件,它为处理结构化(如关系型数据、半结构化数据)和半结构化数据(如JSON、Parquet、Avro等格式)提供了强大的支持。Spark SQL支持SQL查询以及Apache Hive中的Hive Query Language(HQL),同时还提供了用于与Spark核心API(包括Data Frame和Dataset)集成的编程接口。
三、数据集
一组包含多个数据项的集合,它们可以表示为一系列结构化、半结构化或非结构化的数据记录。在现实生活中,数据集通常包含各种属性或字段,并用于描述现实世界中的观测值、实体或事件。
四、SaaS
软件即服务(Software as a Service),是一种通过互联网提供软件应用的服务模式。其中第三方供应商提供应用程序的托管和提供给客户,通常通过互联网进行访问。这种模式消除了客户需要在本地安装和维护软件的需要,而是将这些职责转移到了第三方提供商。在SaaS模式下,用户不再需要购买和维护软件的整个基础架构,而是通过订阅的方式获得对云端软件的访问权限。SaaS提供商负责软件的部署、维护和安全性等方面的工作,用户只需要通过网络浏览器或专用应用程序就可以方便地访问和使用软件。SaaS架构包括多租户架构、微服务架构等。多租户支持资源共享,以实现更快、更高效的扩展。多租户优化了公共云的使用,整合了资源,并使所有人都能负担得起且一致的云访问,从而使小型企业和大型企业都受益。在本申请实施例中,租户便可以理解成大小型企业,每个企业下包括的员工可以理解成对象。
五、云技术
云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。数据库(Data base),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
六、区块链
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
本申请实施例提供了一种数据处理方案,该方案包括:①获取第一对象针对第一数据集的数据申请请求,第一对象为数据仓库的目标租户包括的任意一个对象,第一数据集为数据仓库中与目标租户对应的数据集中的一个或多个。②根据数据申请请求和第一数据集的描述信息确定第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识。③调用数据查询模板对第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识进行处理,生成数据分发任务,不需要开发人员手动为数据分发任务编写代码,将开发周期缩短,提高数据分发效率。④根据数据申请请求和第一数据集的描述信息确定数据分发任务的资源配置信息,合理分配和管理数据分发过程中的执行资源和存储资源,以提高资源的利用率。⑤根据数据分发任务的资源配置信息执行数据分发任务,得到数据申请请求对应的目标数据,并向第一对象返回目标数据。在这个过程中,根据第一对象的数据申请请求,可以自动化实现数据分发以及资源分配,由此提高了数据分发效率和资源利用率。
在一种可能的实现方式中,本申请提供的数据处理方法可以基于云技术(Cloudtechnology)技术实现。具体可以涉及云技术中的云存储(Cloud storage)、云数据库(Cloud Database)、大数据(Big data)中的一种或者多种。例如,从云数据库中获取执行该数据处理方法所需要的数据(例如第一对象的数据申请请求),可选的,数据仓库也可以指的是云技术中的云服务器。
在另一种可能的实现方式中,本申请提供的数据处理方法还可以基于区块链技术实现。例如,执行该数据处理方法所需要的数据可以是以区块的形式存储在区块链上;也可以将执行该数据处理方法所产生的数据(例如数据申请请求对应的目标数据)以区块的形式存储到区块链上;或者,数据仓库中的所有数据集也可以区块的形式存储到区块链上。另外,执行该数据处理方法的数据处理设备还可以是区块链网络中的节点设备。
请参见图1,为本申请实施例公开的一种数据处理系统的架构示意图,该数据处理系统中可以包括至少一个终端设备101、数据管理服务器102、数据仓库103以及任务调度系统104。其中,一个终端设备101对应一个申请方(例如第一对象),其中,多个终端设备101可能属于同一个租户,也可能属于不同的租户,终端设备101主要用于向申请方提供数据集列表、接收申请方的数据申请请求以及向申请方返回数据申请请求对应的目标数据;数据管理服务器102主要用于根据数据申请请求和数据集的描述信息生成数据分发任务、为该数据分发任务配置资源配置信息;数据仓库103主要用于存储不同租户的数据集,一个租户可以存储多个数据集;任务调度系统104主要用于根据资源配置信息执行数据分发任务,得到数据申请请求对应的目标数据。
在一种实施方式中,终端设备101包括但不限于:智能手机、平板电脑、智能可穿戴设备、智能语音交互设备、智能家电、个人电脑、车载终端、智能摄像头、虚拟现实设备(如AR(Augmented Reality,增强现实)设备)等等设备,本申请对此不作限制。数据管理服务器102、数据仓库103以及任务调度系统104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,本申请实施例对此不进行限定。其中,终端设备101与数据管理服务器102可以通过有线通信的方式建立直接地通信连接,或者可以通过无线通信的方式建立间接地通信连接;数据仓库103和任务调度系统104均可以与数据管理服务器102通过有线通信的方式建立直接地通信连接,或者可以通过无线通信的方式建立间接地通信连接,本申请实施例对此不进行限定。
在一种可能的实现方式中,每个终端设备101均可以提供多个显示界面给申请方,以供申请方浏览查看以及申请。在本申请实施例中,显示界面包括数查看界面、数据申请界面以及数据使用界面,三个界面的交互过程如图2所示。1、数据查看界面:申请方可以在数据查看界面口浏览所有的数据集列表,数据查看界面还显示数据集所对应的信息,包括数据集的解释、数据集所包含的字段类型和含义等。通过数据查看界面申请方可以浏览到自己需要的数据集。2、数据申请界面:申请方可以在数据申请界面根据自身诉求选择不同的数据集创建数据申请请求。3、数据使用界面:申请方可以在数据使用界面使用数据申请请求对应的目标数据,包括方法和参数等。
在本申请实施例中,结合该数据处理系统,数据处理方法可以包括:申请方(第一对象)通过终端设备101的显示界面提交针对第一数据集的数据申请请求,然后向数据管理服务器102发送数据申请请求,数据管理服务器102调用数据查询模板对数据申请请求和第一数据集的描述信息进行处理,生成数据分发任务,然后再根据数据申请请求和第一数据集的描述信息确定数据分发任务的资源配置信息,然后通过配置的任务调度系统接口将资源配置信息和数据分发任务分配给任务调度系统104执行,在执行的过程中,任务调度系统104从数据仓库103中获取数据申请请求对应的目标数据,最后将目标数据存储于配置的数据存储位置中,再将目标数据返回给申请方。由此,根据第一对象的数据申请请求,可以自动化实现数据分发以及资源分配,从而提高了数据分发效率和资源利用率。
需要特别说明的是,在本申请中,涉及到的数据处理过程中的相关数据,例如第一数据集、数据申请请求、数据查询模板等。在本申请以上实施例运用到具体产品或技术中时,需获得用户许可或同意,且相关数据收集、使用和处理过程需遵守相关法律法规和标准,符合合法、正当、必要的原则,不涉及获取法律法规禁止或限制的数据类型。在一些可选的实施例中,本申请实施例中所涉及的相关数据是经过对象单独授权后获取的,另外,在获取对象单独授权时,向对象表明所涉及的相关数据的用途。
下面将对本申请实施例提出的数据处理方法进行详细介绍。
请参见图3,为本申请实施例公开的一种数据处理方法的流程示意图,该数据处理方法可以由计算机设备执行,计算机设备可以是图1示出的数据管理服务器102,该数据处理方法具体可以包括但不仅限于以下步骤:
S301:获取第一对象针对第一数据集的数据申请请求,第一对象为数据仓库的目标租户包括的任意一个对象,第一数据集为数据仓库中与目标租户对应的数据集中的一个或多个。
其中,第一对象指的是目标租户下的某一个用户,目标租户是与数据仓促相关联的多个租户的中一个,目标租户具体可以指的是一个整体的概念,如公司A、公司B,第一对象可以是某个公司下的某个职员或者某个部门。
在一种可能的实现方式中,数据管理服务器先将每个租户的数据集列表下发到终端设备,以使得每个租户所包括的用户可以浏览对应的数据集列表以及各个数据集所对应的信息,也即数据集描述信息,包括数据集的解释、数据集所包含的字段类型和含义。具体包括以下字段:dataset_id:数据集的ID,用来唯一描述数据集。dataset_name:数据集的英文名称,用来描述数据集。dataset_desc:数据集的介绍,用来描述数据集。dataset_busi:数据集的业务ID,用来描述数据集所在的业务。dataset_table_name:数据集所在的数据仓库表名称,用来生成自动化分发任务。dataset_field:json类型,数据集包含的字段名称、类型、含义,用来生成自动化分发任务和数据查看界面。dataset_confition:json类型,数据集的查询字段,用来生成数据集的数据表索引和数据使用时的查询条件。dataset_filter:json类型,数据集的抽取规则描述,用来从全量数据中抽取出申请方需要的数据。实际根据不同的抽取规则,此处会有差异。dataset_data_prop:json类型,数据集的数据属性描述,用来给数据分发任务分配资源。如type为memory表征该数据集的分发任务需要较大内存。
例如,以“公司职员”数据集为例,该数据集的描述信息如下:
“dataset_id”:2,
“dataset_name”: “staff_info”,
“dataset_desc”: “公司职员信息”,
“dataset_busi”: “tapd”,
“dataset_table_name”: “tapd.dwd_tapd_staff_info_d_f”,
“dataset_field”:[
{
“field”: “staff_id”,
“type”: “int(11)”,
“desc”: “职员ID”
},
{
“field”: “staff_name”,
“type”: “varchar(255)”,
“desc”: “职员名称”
},
{
“field”: “tenant_id”,
“type”: “int(11)”,
“desc”: “所属租户ID”
},
{
“field”: “fix_bug_counts”,
“type”: “int(11)”,
“desc”: “职员解决bug总数”
},
],
“dataset_condition”:[
{
“field”: “updated_time”,
“param”: “updated_start_time”,
“operator”: “>”
},
{
“field”: “updated_time”,
“param”: “updated_end_time”,
“operator”: “<”
}
],
“dataset_filter”:{
“field”: “tenant_id”
“type”: “simple”
},
“dataset_data_prop”:{
“type”: “memory”
}
对于目标租户包括的每个对象,都可以看到各个数据集的描述信息,针对显示的数据集信息,可以选择其中的一个或者多个数据集作为第一数据集,并确定第一数据集对应的数据集的数据查询范围,并基于第一数据集的标识和数据查询范围确定数据申请请求。
S302:根据数据申请请求和第一数据集的描述信息确定第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识。
在一种可能的实现方式中,数据管理服务器获取到数据申请请求后,从数据申请请求中解析出第一数据集的标识以及数据查询范围。其中,第一数据集的标识用来表示申请方需要申请的数据集的id,数据查询范围是用来表示申请方需要申请的数据范围,如下是一种数据申请请求的示例:
{
“dataset_id”:2,
“value_list”: [
1000081
]
}
其中,dataset_id表示数据集的标识,这个示例表示申请方想申请的数据集的标识为2;value_list表示数据查询范围,示例中以“1000081”来指示范围,是一种指示信息,如可以用字段“所属租户ID”为指示信息来指定数据查询范围。
在一种可能的实现方式中,当拿到数据申请请求后,还可以对第一对象的数据申请请求进行验证,验证第一对象的申请权限,一方面可以验证第一对象本身是否有申请权限,具体是通过第一对象的身份信息进行验证;另一方面,可以验证第一对象的数据申请请求对应的数据集是否被授权可申请,包括验证数据查询范围是否超范围,验证数据申请请求对应的数据集是否对第一对象开启了权限等。若第一对象通过验证,则根据数据申请请求和第一数据集的描述信息确定第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识,具体包括:根据第一数据集的标识从第一数据集的描述信息中,查询第一数据集的基本属性字段、数据抽取规则字段以及所在的数据仓库表的标识。其中,第一数据集的基本属性字段,如上述“公司职员”数据集中的“dataset_field”,可以取该字段中的所有以及部分信息;数据抽取规则字段如上述“公司职员”数据集中的“dataset_filter” :{“field”: “tenant_id”,“type”: “simple”},数据仓库表的标识如上述“公司职员”数据集中的“dataset_table_name”: “tapd.dwd_tapd_staff_info_d_f”。根据数据抽取规则字段以及上述解析出来的数据查询范围构造数据查询条件。
S303:调用数据查询模板对第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识进行处理,生成数据分发任务。
在生成数据分发任务时,除了上述的第一数据集的基本属性字段、数据查询条件以及数据申请请求对应的数据集所在的数据仓库表的标识之外,还包括一个重要的字段,即数据存储位置。数据存储位置是根据目标租户的数据库资源的配置策略确定的,其中,数据库资源包括数据表、数据库以及数据库实例,数据存储位置用于存储数据申请请求对应的目标数据。数据库资源的配置策略具体包括:1、数据表的分配,数据表和数据集的定义是一致的,均和数据集描述信息相关,即根据数据集的描述信息创建数据表。2、数据库的分配,数据库(database)会依据申请方所属的租户,给其分配独立的数据库,租户和数据库是一对一的关系。3、数据库实例的分配,数据库实例的分配,是依据现有每个实例的空闲存储资源给其分配实例连接地址。具体来讲,自动化程序会周期性统计每个数据库实例的空闲资源,然后将空闲资源最多的数据库实例设置为可分配实例。数据库资源的配置策略的实质就是为目标数据分配一个数据存储位置,如存储位置为C:\租户A\申请数据1,即表示将申请数据1存储在C盘的租户A这个目录下。
数据查询模板是一个包含多个代码段的模板,因此,在确定出数据存储位置、第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识后,直接利用数据存储位置、第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识,对数据查询模板中对应的代码段进行填充处理,便可以得到数据分发任务。
例如,数据查询模板可以如下:insert overwrite ${export_table} select ${field} from ${table} where ${condition}。其中,代码段{export_table}即上述根据数据库资源的配置策略确定出来的数据存储位置,代码段{field}即第一数据集的基本属性字段,代码段{table}即所在的数据仓库表的标识,代码段{condition}即数据查询条件。将数据存储位置、第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识填充在对应的位置,即可得到数据分发任务。
S304:根据数据申请请求和第一数据集的描述信息确定数据分发任务的资源配置信息。
在一种可能的实现方式中,在确定出数据分发任务后,还可以根据数据申请请求的属性信息、第一数据集的性能特性描述信息以及数据查询范围等为数据分发任务配置资源配置信息。资源配置信息包括执行数据集时所需要的内存和CPU(中央处理器)。
在具体的实现过程中,可以先根据数据申请请求携带的数据查询范围确定查询数据量,然后根据查询数据量以及性能特性描述信息确定数据分发任务的资源配置信息。其中,性能特性描述信息包括三类,分别是计算型、内存型以及均衡型。不同的类型会分配不同的任务参数,具体的,计算型数据集表征该数据集需要较大的CPU资源来处理数据分发任务的计算;内存型数据集表征该数据集需要较大的内存资源来处理数据分发任务,较大指的是超过一个指定的数值;均衡型数据集表征该数据集需要的内存和CPU等同。数据集开发人员在开发完数据集后,会指定所开发数据集的本身的性能特性描述信息,这个信息是由上文的数据集的描述信息中的描述字段“dataset_data_prop.type”来表示。对于不同的类型,有一张默认的配置表,表中记录了每个类型对应的资源配置信息。
S305:根据数据分发任务的资源配置信息执行数据分发任务,得到数据申请请求对应的目标数据,并向第一对象返回目标数据。
在一种可能的实现方式中,在执行该数据分发任务之前,数据管理服务器还需要确定数据分发任务的调度规则,调度规则包括调度周期以及调度优先级。其中,调度周期可以根据同一个目标租户提交过来的数据申请请求的时间信息来确定,先确定频率,再根据频率确定调度周期。如几天/次、几个小时/次等。调度优先级可以根据所属租户的特性来确定,按照租户消费的数值来设置调度优先级,消费得越多,调度优先级越高;或者根据数据集的类型来确定的,按照重要程度设置调度优先级,越重要的数据优先级越高。调度优先级用数字表示,1表示优先级最高。
进一步的,调用任务管理接口根据数据分发任务、数据分发任务的资源配置信息以及调度规则生成目标调度任务,也就是将任务管理接口、数据分发任务、数据分发任务的资源配置信息以及调度规则进行封装。除此之外,还可以调用任务管理接口对目标调度任务进行任务管理操作,任务管理操作包括更新或者删除;还可以调用资源管理接口对目标调度任务的资源配置信息进行资源管理操作,资源管理操作包括回收或者调整;还可以调用统计管理接口对执行数据分发时所消耗的资源进行统计和记录,以使得后续可以方便使用。这个过程实质就是实现对目标调度任务的标准化管理,以程序化的方式实现更新、删除、统计任务和资源。
在一种可能的实现方式中,通过任务管理接口调用任务调度系统执行目标调度任务,得到数据申请请求对应的目标数据。在这个过程中,任务调度系统是根据调度规则触发执行目标调度任务,也就是当前时间到达了调度规则配置的调度周期或者申请的第一对象满足设置的优先级,则调用任务调度系统根据资源配置信息获取资源配置信息对应的执行资源,资源配置信息中是配置的是数值,执行资源还是在管理服务器中的,因此在执行时需要先获取到对应的执行资源,才可以执行目标调度任务。在获取执行资源时,数据管理服务器首先获取目标调度任务的执行状态,若目标调度任务的执行状态为已执行,则从目标调度任务对应的执行记录中获取资源配置信息对应的执行资源;若目标调度任务的执行状态为未执行,则根据资源配置信息配置资源配置信息对应的执行资源。
任务调度系统拿到目标调度任务的执行资源后,利用该执行资源执行目标调度任务,得到数据申请请求对应的目标数据,具体的,可以是根据该目标调度任务从数据仓库中读取数据,并将读取的数据返回到任务执行结果中。判断执行结果是否成功,若是成功,则将返回的数据作为数据申请请求的目标数据;若执行不成功,即任务执行结果为空,则为执行资源增加资源,得到增加后的执行资源,即任务调度系统向数据管理服务器发送增加资源的请求,然后将增加的资源下发到任务调度系统,利用增加后的执行资源执行目标调度任务,得到数据申请请求对应的目标数据。然后将目标数据存储在数据存储位置,并向第一对象返回目标数据。
其中,需要注意的是,在执行目标调度任务时,若是在对执行资源进行多次调整后,仍然未得到目标数据,则可以直接输入任务执行失败的通知给第一对象,后续若是还要申请该数据申请请求对应的目标数据,可以由人工参与资源的配置,从而确定出目标数据。
在本申请实施例中,当第一对象提交了针对第一数据集的数据申请请求之后,数据管理服务器调用数据查询模板对数据申请请求和第一数据集的描述信息进行处理,生成数据分发任务,然后根据数据申请请求和第一数据集的描述信息确定数据分发任务的资源配置信息,最后根据数据分发任务的资源配置信息执行数据分发任务,得到数据申请请求对应的目标数据,并向第一对象返回目标数据。在这个过程中,不需要开发人员手动为数据分发任务编写代码,将开发周期缩短,提高数据分发效率。同时,还可以合理分配和管理数据分发过程中的执行资源和存储资源,以提高资源的利用率。
图3阐述了数据处理方法的整个流程,基于此,还可以结合功能模块对本申请实施例提供的数据处理方法进行阐述,具体的,本申请实施例提供的数据处理方法可以由以下五个功能模块完成执行,这五个模块分别是数据申请模块、数据集描述模块、任务生成和资源分配模块、任务执行模块、数据使用模块。为了更清楚的阐述该数据处理方法,下面对各个功能模块进行介绍:
数据集描述模块:数据集描述模块定义了每个数据集的描述信息(也可以称之为元信息),具体来讲包括了数据集的介绍,如数据集的解释、数据集所包含的字段类型和含义。数据集描述模块一方面将数据集的基础信息提供给申请方查看,另一方面将数据集的信息提供给任务生成和资源分配模块以供其使用。其中,数据集描述模块定义的数据集描述信息已经在图3示出的步骤中进行了详细的阐述,此处便不再赘述。
数据申请模块:数据申请模块对应可以接收数据申请界面的数据申请请求。主要功能是提供配置界面(用于生成数据申请请求的界面)给到数据申请方、读取数据申请方的数据申请请求以及对数据申请请求进行校验。然后将数据申请请求保存到持久化设备(例如,数据库)中。再将数据申请请求提供给任务生成和资源分配模块使用。
任务生成和资源分配模块:在任务生成和资源分配模块中,该模块包含了两部分功能,即任务生成功能以及资源分配功能。任务生成功能是根据数据申请模块和数据集描述模块中提供的数据,自动化组装数据分发任务,然后提交到任务调度系统(可以是第三方调度系统)组件中。资源分配功能是根据数据申请方属性、数据集的属性(即上述的性能特性描述信息)、数据申请请求对应的数据查询范围,确定产出数据的数据存储位置和数据分发任务的资源配置信息。本模块组装目标调度任务时,包括了三类内容,第一类是任务调度系统的调度规则,如调度周期、调度优先级等。第二类是数据查询模板,如怎么产出数据。第三类是资源配置信息,如调度任务的内存以及CPU等。
任务执行模块:在将目标调度任务提交到任务调度系统组件后,任务调度系统会依据目标调度任务的调度周期,定时触发目标调度任务的执行。因为目标调度任务中包含了怎么产出数据的代码描述(即数据查询模板),调度任务的执行会触发代码逻辑的执行,最终会将数据申请方需要的目标数据产出到数据存储位置中。
数据使用模块:任务执行模块运行成功后,会将申请方需要的目标数据产出到数据存储位置中。数据使用模块,依据任务的运行状态以及预先指定的数据存储地址(如mysql的连接地址),从中读取目标数据,再以API接口或者图形报表形式展示给数据申请方。
这五个功能模块以及这五个功能模块的数据流向可以参见图4,具体的,数据流向是从左到右,即数据申请模块中的数据申请请求和数据集描述模块的第一数据集的描述信息先流向任务生成和资源分配模块;任务生成和资源分配模块然后根据数据申请请求和第一数据集的描述信息确定数据分发任务以及对应的资源配置信,然后将数据分发任务和资源配置信息传给任务执行模块;任务执行模块根据资源配置信息执行数据分发任务,得到数据申请请求对应的目标数据,并将目标数据传给数据使用模块;数据使用模块提供目标数据给申请方使用。
结合上述的各个模块,目标调度任务的生成过程可以如图5所示,包括以下步骤:
S501:申请方(可以理解成第一对象)向数据申请模块提交数据申请请求。
S502:数据申请模块向任务生成和资源分配模块发送目标调度任务生成请求。
S503:任务生成和资源分配模块从数据描述模块中获取数据申请请求对应的数据集的描述信息。
S504:任务生成和资源分配模块根据数据申请请求和对应的数据集的描述信息生成数据分发任务。
S505:任务生成和资源分配模块为数据分发任务设置对应的资源配置信息、调度规则等。
S506:任务生成和资源分配模块获取任务调度系统的接口,并根据资源配置信息、调度规则以及数据分发任务生成目标调度任务。
S507:任务调度系统向任务生成和资源分配模块返回目标调度任务,告知其目标调度任务生成成功。
S508:任务生成和资源分配模块向数据申请模块返回目标调度任务,数据申请模块可以将该目标调度任务进行存储,下一次再接收到同样的数据申请时,可以直接调用该目标调度任务。
目标调度任务的执行过程可以参见图6,可以包括以下步骤:
S601:任务调度系统定时触发执行目标调度任务。
S602:任务执行模块执行目标调度任务,根据资源配置信息从任务生成和资源分配模块获取执行资源。
S603:任务生成和资源分配模块判断当前目标调度任务的执行资源是否已经分配且执行成功。
S604:若没有分配,则任务生成和资源分配模块从数据集描述模块中获取目标调度任务对应的数据集的性能特性描述信息。
S605:数据集描述模块向任务生成和资源分配模块返回目标调度任务对应的数据集的性能特性描述信息。
S606:任务生成和资源分配模块根据性能特性描述信息配置执行资源。
S607:任务生成和资源分配模块向任务执行模块返回执行资源。
S608:任务执行模块根据执行资源将目标调度任务发送至数据仓库。
S609:数据仓库响应目标调度任务,向任务执行模块返回任务执行结果。
S610:任务执行模块根据任务执行结果判断任务是否执行成功。
S611:若执行失败,任务执行模块向任务生成和资源分配模块请求执行资源的优化。
S612:任务生成和资源分配模块向任务执行模块返回增加后的执行资源。
S613:任务执行模块根据增加后的执行资源将目标调度任务发送至数据仓库。
S614:数据仓库响应目标调度任务,向任务执行模块返回任务执行结果。
S615:任务执行模块判断任务是否执行成功。
S616:若执行成功,则向任务调度系统发送执行成功的通知,任务生成和资源分配模块将执行成功后得到的目标数据存储在数据存储位置。
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
请参见图7,图7是本申请实施例提供的一种数据处理装置的结构示意图,该数据处理装置可以设置于本申请实施例提供的计算机设备中。图7所示的数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),该数据处理装置可以用于执行图3、图5以及图6所示的方法实施例中的部分或全部步骤。请参见图7,该数据处理装置可以包括如下单元:
获取单元701,用于获取第一对象针对第一数据集的数据申请请求,所述第一对象为数据仓库的目标租户包括的任意一个对象,所述第一数据集为所述数据仓库中与所述目标租户对应的数据集中的一个或多个;
确定单元702,用于根据所述数据申请请求和所述第一数据集的描述信息确定第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识;
处理单元703,用于调用数据查询模板对所述第一数据集的基本属性字段、所述数据查询条件以及所述所在的数据仓库表的标识进行处理,生成数据分发任务;
确定单元702,用于根据所述数据申请请求和所述第一数据集的描述信息确定所述数据分发任务的资源配置信息;
处理单元703,还用于根据所述数据分发任务的资源配置信息执行所述数据分发任务,得到所述数据申请请求对应的目标数据,并向所述第一对象返回所述目标数据。
在一种可能的实现方式中,所述数据申请请求携带有所述第一数据集的标识以及数据查询范围,确定单元702根据所述数据申请请求和所述第一数据集的描述信息确定第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识时,具体用于执行如下步骤:
根据所述第一数据集的标识从所述第一数据集的描述信息中,查询所述第一数据集的基本属性字段、数据抽取规则字段以及所在的数据仓库表的标识;
根据所述数据抽取规则字段以及所述数据查询范围构造数据查询条件。
在一种可能的实现方式中,处理单元703调用数据查询模板对所述第一数据集的基本属性字段、所述数据查询条件以及所述所在的数据仓库表的标识进行处理,生成数据分发任务时,具体用于执行如下步骤:
根据所述目标租户的数据库资源的配置策略确定数据存储位置,数据库资源包括数据表、数据库以及数据库实例,所述数据存储位置用于存储所述目标数据;
利用所述数据存储位置、所述第一数据集的基本属性字段、所述数据查询条件以及所述所在的数据仓库表的标识,对数据查询模板中对应的代码段进行填充处理,得到数据分发任务。
在一种可能的实现方式中,所述第一数据集的描述信息还包括性能特性描述信息;确定单元702根据所述数据申请请求和所述第一数据集的描述信息确定所述数据分发任务的资源配置信息时,具体用于执行如下步骤:
根据所述数据申请请求携带的所述数据查询范围确定查询数据量;
根据所述查询数据量以及所述性能特性描述信息确定所述数据分发任务的资源配置信息。
在一种可能的实现方式中,处理单元703根据所述数据分发任务的资源配置信息执行所述数据分发任务,得到所述数据申请请求对应的目标数据时,具体用于执行如下步骤:
确定所述数据分发任务的调度规则,所述调度规则包括调度周期以及调度优先级;
调用任务管理接口根据所述数据分发任务、所述资源配置信息以及所述调度规则生成目标调度任务;
调用任务调度系统执行所述目标调度任务,得到所述数据申请请求对应的目标数据。
在一种可能的实现方式中,处理单元703,还用于执行如下步骤:
调用所述任务管理接口对所述目标调度任务进行任务管理操作,所述任务管理操作包括更新或者删除;
调用资源管理接口对所述目标调度任务的资源配置信息进行资源管理操作,所述资源管理操作包括回收或者调整。
在一种可能的实现方式中,处理单元703调用任务调度系统执行所述目标调度任务,得到所述数据申请请求对应的目标数据时,具体用于执行如下步骤:
若所述调度规则被触发,则调用任务调度系统根据所述资源配置信息获取所述资源配置信息对应的执行资源;
调用所述任务调度系统利用所述执行资源执行所述目标调度任务,得到所述数据申请请求对应的目标数据。
在一种实现方式中,获取单元701调用任务调度系统根据所述资源配置信息获取所述资源配置信息对应的执行资源时,具体用于如下步骤:
获取所述目标调度任务的执行状态;
若所述目标调度任务的执行状态为已执行,则从所述目标调度任务对应的执行记录中获取所述资源配置信息对应的执行资源;
若所述目标调度任务的执行状态为未执行,则根据所述资源配置信息配置所述资源配置信息对应的执行资源。
在一种实现方式中,处理单元703调用所述任务调度系统利用所述执行资源执行所述目标调度任务,得到所述数据申请请求对应的目标数据时,具体用于执行如下步骤:
调用所述任务调度系统利用所述执行资源执行所述目标调度任务,得到任务执行结果;
若所述任务执行结果为空,则为所述执行资源增加资源,得到增加后的执行资源;
调用所述任务调度系统利用所述增加后的执行资源执行所述目标调度任务,得到所述数据申请请求对应的目标数据。
根据本申请的另一个实施例,图7所示的数据处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,数据处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图3、图5以及图6所示的部分或全部方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的数据处理装置,以及来实现本申请实施例的数据处理方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本申请实施例中,当第一对象提交了针对第一数据集的数据申请请求之后,数据管理服务器调用数据查询模板对数据申请请求和第一数据集的描述信息进行处理,生成数据分发任务,然后根据数据申请请求和第一数据集的描述信息确定数据分发任务的资源配置信息,最后根据数据分发任务的资源配置信息执行数据分发任务,得到数据申请请求对应的目标数据,并向第一对象返回目标数据。在这个过程中,不需要开发人员手动为数据分发任务编写代码,将开发周期缩短,提高数据分发效率。同时,还可以合理分配和管理数据分发过程中的执行资源和存储资源,以提高资源的利用率。
基于上述方法以及装置实施例,本申请实施例提供了一种计算机设备。请参见图8,图8是本申请实施例提供的一种计算机设备的结构示意图,计算机设备可以是图1示出的数据管理服务器102。图8所示的计算机设备至少包括处理器801、输入接口802、输出接口803以及计算机可读存储介质804。其中,处理器801、输入接口802、输出接口803以及计算机可读存储介质804可通过总线或其他方式连接。
计算机可读存储介质804可以存储在计算机设备的存储器中,计算机可读存储介质804用于存储计算机程序,计算机程序包括计算机指令,处理器801用于执行计算机可读存储介质804存储的程序指令。处理器801(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机可读存储介质。
在一些实施例中,可由处理器801加载并执行计算机可读存储介质804中存放的一条或多条计算机指令,以实现上述有关图3、图5以及图6所示的方法的相应步骤。具体实现中,计算机可读存储介质804中的计算机指令由处理器801加载并执行如下步骤:
获取第一对象针对第一数据集的数据申请请求,所述第一对象为数据仓库的目标租户包括的任意一个对象,所述第一数据集为所述数据仓库中与所述目标租户对应的数据集中的一个或多个;
根据所述数据申请请求和所述第一数据集的描述信息确定第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识;
调用数据查询模板对所述第一数据集的基本属性字段、所述数据查询条件以及所述所在的数据仓库表的标识进行处理,生成数据分发任务;
根据所述数据申请请求和所述第一数据集的描述信息确定所述数据分发任务的资源配置信息;
根据所述数据分发任务的资源配置信息执行所述数据分发任务,得到所述数据申请请求对应的目标数据,并向所述第一对象返回所述目标数据。
在一种可能的实现方式中,所述数据申请请求携带有所述第一数据集的标识以及数据查询范围,计算机可读存储介质804中的计算机指令由处理器801加载并执行根据所述数据申请请求和所述第一数据集的描述信息确定第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识时,具体用于执行如下步骤:
根据所述第一数据集的标识从所述第一数据集的描述信息中,查询所述第一数据集的基本属性字段、数据抽取规则字段以及所在的数据仓库表的标识;
根据所述数据抽取规则字段以及所述数据查询范围构造数据查询条件。
在一种可能的实现方式中,计算机可读存储介质804中的计算机指令由处理器801加载并执行调用数据查询模板对所述第一数据集的基本属性字段、所述数据查询条件以及所述所在的数据仓库表的标识进行处理,生成数据分发任务时,具体用于执行如下步骤:
根据所述目标租户的数据库资源的配置策略确定数据存储位置,数据库资源包括数据表、数据库以及数据库实例,所述数据存储位置用于存储所述目标数据;
利用所述数据存储位置、所述第一数据集的基本属性字段、所述数据查询条件以及所述所在的数据仓库表的标识,对数据查询模板中对应的代码段进行填充处理,得到数据分发任务。
在一种可能的实现方式中,所述第一数据集的描述信息还包括性能特性描述信息;计算机可读存储介质804中的计算机指令由处理器801加载并执行根据所述数据申请请求和所述第一数据集的描述信息确定所述数据分发任务的资源配置信息时,具体用于执行如下步骤:
根据所述数据申请请求携带的数据查询范围确定查询数据量;
根据所述查询数据量以及所述性能特性描述信息确定所述数据分发任务的资源配置信息。
在一种可能的实现方式中,计算机可读存储介质804中的计算机指令由处理器801加载并执行根据所述数据分发任务的资源配置信息执行所述数据分发任务,得到所述数据申请请求对应的目标数据时,具体用于执行如下步骤:
确定所述数据分发任务的调度规则,所述调度规则包括调度周期以及调度优先级;
调用任务管理接口根据所述数据分发任务、所述数据分发任务的资源配置信息以及调度规则生成目标调度任务;
调用任务调度系统执行所述目标调度任务,得到所述数据申请请求对应的目标数据。
在一种可能的实现方式中,计算机可读存储介质804中的计算机指令由处理器801还用于加载并执行如下步骤:
调用所述任务管理接口对所述目标调度任务进行任务管理操作,所述任务管理操作包括更新或者删除;
调用资源管理接口对所述目标调度任务的资源配置信息进行资源管理操作,所述资源管理操作包括回收或者调整。
在一种可能的实现方式中,计算机可读存储介质804中的计算机指令由处理器801加载并执行调用任务调度系统执行所述目标调度任务,得到所述数据申请请求对应的目标数据时,具体用于执行如下步骤:
若所述调度规则被触发,则调用任务调度系统根据所述资源配置信息获取所述资源配置信息对应的执行资源;
调用所述任务调度系统利用所述执行资源执行所述目标调度任务,得到所述数据申请请求对应的目标数据。
在一种实现方式中,计算机可读存储介质804中的计算机指令由处理器801加载并执行调用任务调度系统根据所述资源配置信息获取所述资源配置信息对应的执行资源时,具体用于执行如下步骤:
获取所述目标调度任务的执行状态;
若所述目标调度任务的执行状态为已执行,则从所述目标调度任务对应的执行记录中获取所述资源配置信息对应的执行资源;
若所述目标调度任务的执行状态为未执行,则根据所述资源配置信息配置所述资源配置信息对应的执行资源。
在一种实现方式中,计算机可读存储介质804中的计算机指令由处理器801加载并执行调用所述任务调度系统利用所述执行资源执行所述目标调度任务,得到所述数据申请请求对应的目标数据时,具体用于执行如下步骤:
调用所述任务调度系统利用所述执行资源执行所述目标调度任务,得到任务执行结果;
若所述任务执行结果为空,则为所述执行资源增加资源,得到增加后的执行资源;
调用所述任务调度系统利用所述增加后的执行资源执行所述目标调度任务,得到所述数据申请请求对应的目标数据。
本申请实施例中,当第一对象提交了针对第一数据集的数据申请请求之后,数据管理服务器调用数据查询模板对数据申请请求和第一数据集的描述信息进行处理,生成数据分发任务,然后根据数据申请请求和第一数据集的描述信息确定数据分发任务的资源配置信息,最后根据数据分发任务的资源配置信息执行数据分发任务,得到数据申请请求对应的目标数据,并向第一对象返回目标数据。在这个过程中,不需要开发人员手动为数据分发任务编写代码,将开发周期缩短,提高数据分发效率。同时,还可以合理分配和管理数据分发过程中的执行资源和存储资源,以提高资源的利用率。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选方式中提供的数据处理方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种数据处理方法,其特征在于,所述方法包括:
获取第一对象针对第一数据集的数据申请请求,所述第一对象为数据仓库的目标租户包括的任意一个对象,所述第一数据集为所述数据仓库中与所述目标租户对应的数据集中的一个或多个;
根据所述数据申请请求和所述第一数据集的描述信息确定第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识;
调用数据查询模板对所述第一数据集的基本属性字段、所述数据查询条件以及所述所在的数据仓库表的标识进行处理,生成数据分发任务;
根据所述数据申请请求和所述第一数据集的描述信息确定所述数据分发任务的资源配置信息;
根据所述数据分发任务的资源配置信息执行所述数据分发任务,得到所述数据申请请求对应的目标数据,并向所述第一对象返回所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述数据申请请求携带有所述第一数据集的标识以及数据查询范围,所述根据所述数据申请请求和所述第一数据集的描述信息确定第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识,包括:
根据所述第一数据集的标识从所述第一数据集的描述信息中,查询所述第一数据集的基本属性字段、数据抽取规则字段以及所在的数据仓库表的标识;
根据所述数据抽取规则字段以及所述数据查询范围构造数据查询条件。
3.根据权利要求1或2所述的方法,其特征在于,所述调用数据查询模板对所述第一数据集的基本属性字段、所述数据查询条件以及所述所在的数据仓库表的标识进行处理,生成数据分发任务,包括:
根据所述目标租户的数据库资源的配置策略确定数据存储位置,数据库资源包括数据表、数据库以及数据库实例,所述数据存储位置用于存储所述目标数据;
利用所述数据存储位置、所述第一数据集的基本属性字段、所述数据查询条件以及所述所在的数据仓库表的标识,对数据查询模板中对应的代码段进行填充处理,得到数据分发任务。
4.根据权利要求2所述的方法,其特征在于,所述第一数据集的描述信息还包括性能特性描述信息;
所述根据所述数据申请请求和所述第一数据集的描述信息确定所述数据分发任务的资源配置信息,包括:
根据所述数据申请请求携带的所述数据查询范围确定查询数据量;
根据所述查询数据量以及所述性能特性描述信息确定所述数据分发任务的资源配置信息。
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述数据分发任务的资源配置信息执行所述数据分发任务,得到所述数据申请请求对应的目标数据,包括:
确定所述数据分发任务的调度规则,所述调度规则包括调度周期以及调度优先级;
调用任务管理接口根据所述数据分发任务、所述资源配置信息以及所述调度规则生成目标调度任务;
调用任务调度系统执行所述目标调度任务,得到所述数据申请请求对应的目标数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
调用所述任务管理接口对所述目标调度任务进行任务管理操作,所述任务管理操作包括更新或者删除;
调用资源管理接口对所述目标调度任务的资源配置信息进行资源管理操作,所述资源管理操作包括回收或者调整。
7.根据权利要求5所述的方法,其特征在于,所述调用任务调度系统执行所述目标调度任务,得到所述数据申请请求对应的目标数据,包括:
若所述调度规则被触发,则调用任务调度系统根据所述资源配置信息获取所述资源配置信息对应的执行资源;
调用所述任务调度系统利用所述执行资源执行所述目标调度任务,得到所述数据申请请求对应的目标数据。
8.根据权利要求7所述的方法,其特征在于,所述调用任务调度系统根据所述资源配置信息获取所述资源配置信息对应的执行资源,包括:
获取所述目标调度任务的执行状态;
若所述目标调度任务的执行状态为已执行,则从所述目标调度任务对应的执行记录中获取所述资源配置信息对应的执行资源;
若所述目标调度任务的执行状态为未执行,则根据所述资源配置信息配置所述资源配置信息对应的执行资源。
9.根据权利要求7所述的方法,其特征在于,所述调用所述任务调度系统利用所述执行资源执行所述目标调度任务,得到所述数据申请请求对应的目标数据,包括:
调用所述任务调度系统利用所述执行资源执行所述目标调度任务,得到任务执行结果;
若所述任务执行结果为空,则为所述执行资源增加资源,得到增加后的执行资源;
调用所述任务调度系统利用所述增加后的执行资源执行所述目标调度任务,得到所述数据申请请求对应的目标数据。
10.一种数据处理装置,其特征在于,所述装置包括:
获取单元,用于获取第一对象针对第一数据集的数据申请请求,所述第一对象为数据仓库的目标租户包括的任意一个对象,所述第一数据集为所述数据仓库中与所述目标租户对应的数据集中的一个或多个;
确定单元,用于根据所述数据申请请求和所述第一数据集的描述信息确定第一数据集的基本属性字段、数据查询条件以及所在的数据仓库表的标识;
处理单元,用于调用数据查询模板对所述第一数据集的基本属性字段、所述数据查询条件以及所述所在的数据仓库表的标识进行处理,生成数据分发任务;
确定单元,用于根据所述数据申请请求和所述第一数据集的描述信息确定所述数据分发任务的资源配置信息;
所述处理单元,还用于根据所述数据分发任务的资源配置信息执行所述数据分发任务,得到所述数据申请请求对应的目标数据,并向所述第一对象返回所述目标数据。
11.一种计算机设备,其特征在于,所述计算机设备包括:
处理器,适于实现一条或多条计算机程序;以及,
计算机可读存储介质,所述计算机可读存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由所述处理器加载并执行如权利要求1-9任一项所述的数据处理方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一条或多条计算机程序,所述一条或多条计算机程序适于由处理器加载并执行如权利要求1-9任一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311258792.8A CN117009327B (zh) | 2023-09-27 | 2023-09-27 | 一种数据处理方法、装置及计算机设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311258792.8A CN117009327B (zh) | 2023-09-27 | 2023-09-27 | 一种数据处理方法、装置及计算机设备、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117009327A true CN117009327A (zh) | 2023-11-07 |
CN117009327B CN117009327B (zh) | 2024-01-05 |
Family
ID=88569366
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311258792.8A Active CN117009327B (zh) | 2023-09-27 | 2023-09-27 | 一种数据处理方法、装置及计算机设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117009327B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180322168A1 (en) * | 2017-05-04 | 2018-11-08 | Salesforce.Com, Inc. | Technologies for asynchronous querying |
US10133797B1 (en) * | 2013-08-16 | 2018-11-20 | Amazon Technologies, Inc. | Distributed heterogeneous system for data warehouse management |
CN110019299A (zh) * | 2017-11-16 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种用于创建或刷新分析型数据仓库的离线数据集合的方法和装置 |
WO2020186809A1 (zh) * | 2019-03-19 | 2020-09-24 | 深圳壹账通智能科技有限公司 | 基于大数据平台的hive任务调度方法、装置、设备及存储介质 |
CN113760947A (zh) * | 2020-12-24 | 2021-12-07 | 北京京东尚科信息技术有限公司 | 一种数据中台、数据处理方法、装置、设备及存储介质 |
CN116069778A (zh) * | 2021-11-04 | 2023-05-05 | 腾讯科技(深圳)有限公司 | 一种元数据的管理方法、相关装置、设备以及存储介质 |
CN116467066A (zh) * | 2023-03-09 | 2023-07-21 | 浙江大华技术股份有限公司 | 数仓资源调配方法、装置、电子设备以及存储介质 |
CN116467053A (zh) * | 2022-01-11 | 2023-07-21 | 中国移动通信有限公司研究院 | 资源调度方法及装置、设备、存储介质 |
-
2023
- 2023-09-27 CN CN202311258792.8A patent/CN117009327B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10133797B1 (en) * | 2013-08-16 | 2018-11-20 | Amazon Technologies, Inc. | Distributed heterogeneous system for data warehouse management |
US20180322168A1 (en) * | 2017-05-04 | 2018-11-08 | Salesforce.Com, Inc. | Technologies for asynchronous querying |
CN110019299A (zh) * | 2017-11-16 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种用于创建或刷新分析型数据仓库的离线数据集合的方法和装置 |
WO2020186809A1 (zh) * | 2019-03-19 | 2020-09-24 | 深圳壹账通智能科技有限公司 | 基于大数据平台的hive任务调度方法、装置、设备及存储介质 |
CN113760947A (zh) * | 2020-12-24 | 2021-12-07 | 北京京东尚科信息技术有限公司 | 一种数据中台、数据处理方法、装置、设备及存储介质 |
CN116069778A (zh) * | 2021-11-04 | 2023-05-05 | 腾讯科技(深圳)有限公司 | 一种元数据的管理方法、相关装置、设备以及存储介质 |
CN116467053A (zh) * | 2022-01-11 | 2023-07-21 | 中国移动通信有限公司研究院 | 资源调度方法及装置、设备、存储介质 |
CN116467066A (zh) * | 2023-03-09 | 2023-07-21 | 浙江大华技术股份有限公司 | 数仓资源调配方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117009327B (zh) | 2024-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200067791A1 (en) | Client account versioning metadata manager for cloud computing environments | |
US9565260B2 (en) | Account state simulation service for cloud computing environments | |
US9210178B1 (en) | Mixed-mode authorization metadata manager for cloud computing environments | |
US8805971B1 (en) | Client-specified schema extensions in cloud computing environments | |
US8856077B1 (en) | Account cloning service for cloud computing environments | |
US8555018B1 (en) | Techniques for storing data | |
JP2019534496A (ja) | マネージクエリサービス | |
US20140344340A1 (en) | Service request processing | |
US8606816B2 (en) | Management of collections of websites | |
CN107077389A (zh) | 用于在多租户应用服务器环境中使用全局运行时的系统和方法 | |
CN107077388A (zh) | 用于在多租户应用服务器环境中提供端到端生命周期的系统和方法 | |
US20200128094A1 (en) | Fast ingestion of records in a database using data locality and queuing | |
CN112801607A (zh) | 一种管理服务平台及构建方法 | |
CN113987541A (zh) | 数据访问控制方法、装置及电子设备 | |
US20190095840A1 (en) | System and method for implementing a federated forecasting framework | |
US9063995B2 (en) | Access control list (ACL) generation for replicated data | |
CA3023732C (en) | Defining variability schemas in an application programming interface (api) | |
WO2022245291A2 (en) | Method and apparatus for managing resources, computer device and storage medium | |
CN113127906A (zh) | 基于c/s架构的统一权限管理平台、方法及存储介质 | |
US9946885B2 (en) | Process-oriented modeling and flow to restrict access to objects | |
CN117009327B (zh) | 一种数据处理方法、装置及计算机设备、介质 | |
CN117632395A (zh) | 工作流处理方法、装置、设备、存储介质和程序产品 | |
CN112905617B (zh) | 数据写入方法、服务器及计算机可读存储介质 | |
US11681572B2 (en) | Extensible workflow access | |
CN115017185A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |