CN111597200A - 数据处理方法、装置及存储介质 - Google Patents

数据处理方法、装置及存储介质 Download PDF

Info

Publication number
CN111597200A
CN111597200A CN201910131143.9A CN201910131143A CN111597200A CN 111597200 A CN111597200 A CN 111597200A CN 201910131143 A CN201910131143 A CN 201910131143A CN 111597200 A CN111597200 A CN 111597200A
Authority
CN
China
Prior art keywords
version
full
data
incremental
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.)
Pending
Application number
CN201910131143.9A
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910131143.9A priority Critical patent/CN111597200A/zh
Publication of CN111597200A publication Critical patent/CN111597200A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及数据处理方法、装置及存储介质。该方法包括:获取第一业务表对应的全量数据表,其中,所述第一业务表为第一维度的业务表;获取所述第一业务表对应的增量数据表,其中,所述第一业务表对应的增量数据表与所述第一业务表对应的全量数据表具有相同的数据范式;基于所述第一业务表对应的全量数据表和所述第一业务表对应的增量数据表,采用第一用户自定义算子进行数据处理,得到第一版本的全量输出结果和所述第一版本的增量输出结果。本公开能够统一增量模型和全量模型,只开发一次就能同时满足全量和增量的业务逻辑,大大提高开发效率。

Description

数据处理方法、装置及存储介质
技术领域
本公开涉及信息技术领域,尤其涉及一种数据处理方法、装置及存储介质。
背景技术
在搜索、推荐和广告等领域,数据处理(例如大数据处理)一直是重要的一环,给在线系统(例如Solr、ElasticSearch等)提供特定维度(例如商品维度、店铺维度等)的数据源一直是数据处理的重要任务。目前,搜索、推荐和广告等领域的数据处理技术针对全量和增量分别开发,两套代码,既需要重复实现两次逻辑,也需要较大的维护成本。
发明内容
有鉴于此,本公开提出了一种数据处理方法、装置及存储介质。
根据本公开的一方面,提供了一种数据处理方法,包括:
获取第一业务表对应的全量数据表,其中,所述第一业务表为第一维度的业务表;
获取所述第一业务表对应的增量数据表,其中,所述第一业务表对应的增量数据表与所述第一业务表对应的全量数据表具有相同的数据范式;
基于所述第一业务表对应的全量数据表和所述第一业务表对应的增量数据表,采用第一用户自定义算子进行数据处理,得到第一版本的全量输出结果和所述第一版本的增量输出结果。
在一种可能的实现方式中,基于所述第一业务表对应的全量数据表和所述第一业务表对应的增量数据表,采用第一用户自定义算子进行数据处理,包括:
将至少一张业务表对应的全量数据表和所述至少一张业务表对应的增量数据表导入非关系型数据库表中,其中,所述至少一张业务表包括所述第一业务表;
采用所述第一用户自定义算子对所述非关系型数据库表进行数据处理。
在一种可能的实现方式中,采用所述第一用户自定义算子对所述非关系型数据库表进行数据处理,得到第一版本的全量输出结果和所述第一版本的增量输出结果,包括:
采用所述第一用户自定义算子对所述非关系型数据库表进行数据处理,得到所述第一版本的全量数据对应的可执行代码和所述第一版本的增量数据对应的可执行代码;
运行所述第一版本的全量数据对应的可执行代码,得到所述第一版本的全量输出结果;
运行所述第一版本的增量数据对应的可执行代码,得到所述第一版本的增量输出结果。
在一种可能的实现方式中,所述第一版本的全量数据对应的可执行代码为基于流式计算的可执行代码或者基于批量计算的可执行代码。
在一种可能的实现方式中,所述第一版本的增量数据对应的可执行代码为基于流式计算的可执行代码。
在一种可能的实现方式中,在运行所述第一版本的全量数据对应的可执行代码之前,所述方法还包括:创建和注册用于运行所述第一版本的全量数据对应的可执行代码的存储资源和计算资源;
在运行所述第一版本的增量数据对应的可执行代码之前,所述方法还包括:创建和注册用于运行所述第一版本的增量数据对应的可执行代码的存储资源和计算资源。
在一种可能的实现方式中,采用第一用户自定义算子进行数据处理,包括:
采用第一用户自定义算子进行过滤、聚合和变换中的一种或多种处理。
在一种可能的实现方式中,获取所述第一业务表对应的增量数据表,包括:
持续获取所述第一业务表对应的增量数据表。
在一种可能的实现方式中,所述方法还包括:
向前端输出所述第一业务表对应的全量数据表的相关信息以及所述第一业务表对应的增量数据表的相关信息。
在一种可能的实现方式中,在得到第一版本的全量输出结果之后,所述方法还包括:
向在线引擎提供所述第一版本的全量输出结果。
在一种可能的实现方式中,在向在线引擎提供所述第一版本的全量输出结果且得到所述第一版本的增量输出结果之后,所述方法还包括:
向所述在线引擎提供所述第一版本的增量输出结果。
在一种可能的实现方式中,在得到所述第一版本的全量输出结果之后,所述方法还包括:
当所述第一维度对应的数据范式或者用户自定义算子发生变更时,获取第二业务表对应的全量数据表,其中,所述第二业务表为所述第一维度的业务表;
获取所述第二业务表对应的增量数据表,其中,所述第二业务表对应的增量数据表与所述第二业务表对应的全量数据表具有相同的数据范式;
基于所述第二业务表对应的全量数据表和所述第二业务表对应的增量数据表,采用第二用户自定义算子进行数据处理,得到所述第二版本的全量输出结果和所述第二版本的增量输出结果。
在一种可能的实现方式中,在得到所述第二版本的全量输出结果之后,所述方法还包括:
向在线引擎提供所述第二版本的全量输出结果。
在一种可能的实现方式中,在向在线引擎提供所述第二版本的全量输出结果且得到所述第二版本的增量输出结果之后,所述方法还包括:
向所述在线引擎提供所述第二版本的增量输出结果。
在一种可能的实现方式中,在向在线引擎提供所述第二版本的全量输出结果之后,所述方法还包括:
控制所述第一版本从所述在线引擎下线,并停止所述第一版本对应的数据处理流程。
根据本公开的另一方面,提供了一种数据处理装置,包括:
第一获取模块,用于获取第一业务表对应的全量数据表,其中,所述第一业务表为第一维度的业务表;
第二获取模块,用于获取所述第一业务表对应的增量数据表,其中,所述第一业务表对应的增量数据表与所述第一业务表对应的全量数据表具有相同的数据范式;
数据处理模块,用于基于所述第一业务表对应的全量数据表和所述第一业务表对应的增量数据表,采用第一用户自定义算子进行数据处理,得到第一版本的全量输出结果和所述第一版本的增量输出结果。
根据本公开的另一方面,提供了一种数据处理装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述数据处理方法。
根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述数据处理方法。
在本公开实施例中,通过获取第一业务表对应的全量数据表,获取第一业务表对应的增量数据表,其中,第一业务表对应的增量数据表与第一业务表对应的全量数据表具有相同的数据范式,并基于第一业务表对应的全量数据表和第一业务表对应的增量数据表,采用第一用户自定义算子进行数据处理,得到第一版本的全量输出结果和第一版本的增量输出结果,由此能够统一增量模型和全量模型,只开发一次就能同时满足全量和增量的业务逻辑,大大提高开发效率。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出根据本公开一实施例的数据处理方法的流程图。
图2示出根据本公开一实施例的数据处理方法步骤S13的示意图。
图3示出根据本公开一实施例的数据处理方法中第一版本和第二版本的任务调度图的示意图。
图4示出根据本公开一实施例的数据处理方法依据的技术栈的示意图。
图5示出根据本公开一实施例的数据处理方法的时序图的示意图。
图6示出根据本公开一实施例的数据处理装置的框图。
图7是根据一示例性实施例示出的一种用于数据处理的装置1900的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
图1示出根据本公开一实施例的数据处理方法的流程图。该数据处理方法的执行主体可以是数据处理装置。例如,该数据处理方法可以由服务器或其它处理设备执行。本公开实施例可以应用于搜索、推荐和广告等领域,在此不作限定。在一些可能的实现方式中,该数据处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图1所示,该数据处理方法包括步骤S11至步骤S13。
在步骤S11中,获取第一业务表对应的全量数据表,其中,第一业务表为第一维度的业务表。
在本公开实施例中,某维度的全量数据可以表示该维度在某一时刻之前的全部数据。其中,维度可以表示数据聚合依据的参数。例如,维度可以为商品维度、店铺维度、用户维度、优惠维度、库存维度或者日志维度等,本公开实施例对此不作限定。例如,商品维度对应的数据表依据商品ID进行聚合,店铺维度对应的数据表依据店铺ID进行聚合,用户维度对应的数据表依据用户ID进行聚合。
在一种可能的实现方式中,全量数据表为Snapshot表。在该实现方式中,Snapshot表为全量数据的组织形式。例如,Snapshot表可以为ODPS(Open Data ProcessingService,开放数据处理服务)表或者MySQL表,在此不作限定。
在一种可能的实现方式中,全量数据表可以包含数据范式的描述信息和数据镜像时间点。
在本公开实施例中,数据范式可以表示数据库中的Schema。例如,第一维度为商品维度,商品维度的数据范式可以包括商品ID、商品属性、商品价格、库存数量和仓库位置等字段。
在一种可能的实现方式中,数据镜像时间点可以等于第一版本的触发时间点。
在一个示例中,第一版本的触发时间点可以根据用户触发操作确定。例如,第一版本的触发时间点可以等于用户触发操作的发生时间点。在该示例中,用户表示开发者,用户触发操作可以包括用户修改数据范式、用户新增用户自定义算子和用户修改用户自定义算子等中的一种或多种操作。其中,修改数据范式可以为修改或新增数据范式中的字段。
在另一个示例中,第一版本的触发时间点可以等于定时触发时间点。
在本公开实施例中,业务表可以表示全量数据和增量数据的组合模型,业务表具有明确的数据范式,全量数据表和增量数据表共享该数据范式。例如,第一业务表、第一业务表对应的增量数据表和第一业务表对应的全量数据表三者具有相同的数据范式。在本公开实施例中,某维度在T2时刻的业务表可以由该维度在T1时刻的全量数据表和该维度在(T2-T1)时间段的增量数据表得到,简记为:业务表=全量数据表+增量数据表。
在一种可能的实现方式中,业务表为Business表,全量数据表为Snapshot表,增量数据表为Changelog表。例如,某维度在T2时刻的Business表可以由该维度在T1时刻的Snapshot表和该维度在(T2-T1)时间段的Changelog表得到,简记为:Business表=Snapshot表+Changelog表。
在步骤S12中,获取第一业务表对应的增量数据表,其中,第一业务表对应的增量数据表与第一业务表对应的全量数据表具有相同的数据范式。
在本公开实施例中,可以自动建立具有相同数据范式的业务表、全量数据表和增量数据表之间的对应关系,从而可以根据该对应关系获取业务表对应的全量数据表和增量数据表。
在本公开实施例中,增量数据可以表示某维度的新增或者发生变更的数据。随着时间的无限延展,增量数据是持续更新的,因此,增量数据表也是持续更新的。
在一种可能的实现方式中,获取第一业务表对应的增量数据表,包括:持续获取第一业务表对应的增量数据表。由于增量数据表是持续更新的,因此,为了保证在线引擎的数据的高实时性,需要持续获取第一业务表对应的增量数据表。
在一种可能的实现方式中,增量数据表为Changelog表。在该实现方式中,Changelog表为增量数据的组织形式。
在一种可能的实现方式中,增量数据表可以包含数据范式的描述信息和数据开始时间点。第一业务表对应的增量数据表的数据开始时间点可以等于第一业务表对应的全量数据表的数据镜像时间点。
在一种可能的实现方式中,第一业务表由第一业务表对应的全量数据表和第一业务表对应的增量数据表抽象得到,第一业务表可以无需实际生成。
在步骤S13中,基于第一业务表对应的全量数据表和第一业务表对应的增量数据表,采用第一用户自定义算子进行数据处理,得到第一版本的全量输出结果和第一版本的增量输出结果。
在本公开实施例中,用户自定义算子可以指用户自定义Operator。第一用户自定义算子可以表示第一版本对应的用户自定义算子。
本公开实施例不对全量输出结果和增量输出结果的数据形式进行限定。例如,全量输出结果可以通过HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)或者其他分布式文件系统输出,增量输出结果可以通过Swift消息队列或者其他消息队列输出。
在一种可能的实现方式中,基于第一业务表对应的全量数据表和第一业务表对应的增量数据表,采用第一用户自定义算子进行数据处理,包括:将至少一张业务表对应的全量数据表和该至少一张业务表对应的增量数据表导入非关系型数据库表中,其中,该至少一张业务表包括第一业务表;采用第一用户自定义算子对非关系型数据库表进行数据处理。在该实现方式中,通过将至少一张业务表对应的全量数据表和该至少一张业务表对应的增量数据表导入非关系型数据库表中,由此通过非关系型数据库表连接该至少一张业务表,由此基于能够支撑大数据场景的非关系型数据库进行数据处理。
本公开实施例中的非关系型数据库可以为NoSQL,也可以为其他非关系型数据库,在此不作限定。
例如,该至少一张业务表包括商品表和库存表,商品表的字段包括商品ID、商品属性和商品价格,库存表的字段包括库存ID、商品ID、库存数量和仓库位置,则非关系型数据库表的字段包括商品ID、商品属性、商品价格、库存位置和仓库位置。
在一种可能的实现方式中,采用第一用户自定义算子对非关系型数据库表进行数据处理,得到第一版本的全量输出结果和第一版本的增量输出结果,包括:采用第一用户自定义算子对非关系型数据库表进行数据处理,得到第一版本的全量数据对应的可执行代码和第一版本的增量数据对应的可执行代码;运行第一版本的全量数据对应的可执行代码,得到第一版本的全量输出结果;运行第一版本的增量数据对应的可执行代码,得到第一版本的增量输出结果。
在一个示例中,可以通过分布式文件系统运行第一版本的全量数据对应的可执行代码,得到第一版本的全量输出结果;通过分布式文件系统运行第一版本的增量数据对应的可执行代码,得到第一版本的增量输出结果。
本公开实施例采用统一的翻译服务(例如全增量任务翻译和调度服务)得到全量数据对应的可执行代码和增量数据对应的可执行代码,由此能够使运行层不依赖于任何一种具体的实现,从而能够实现灵活的热插拔替换。
在一个示例中,可以通过任务流DAG控制服务对第一版本的全量任务和第一版本的增量任务进行切换控制。例如,任务流DAG控制服务可以先控制执行第一版本的全量任务,即先运行第一版本的全量数据对应的可执行代码。在得到第一版本的全量输出结果后,任务流DAG控制服务再控制执行第一版本的增量任务,即运行第一版本的增量数据对应的可执行代码。通过任务流DAG控制服务进行切换控制,能够实现全量任务与增量任务的无缝切换。
图2示出根据本公开一实施例的数据处理方法步骤S13的示意图。如图2所示,Snapshot表中的数据可以从业务源数据库获取。Snapshot表对应的增量数据可以通过binlog记录,Changelog表可以基于binlog生成,例如,Changelog表可以基于binlog同步中间件生成。将至少一张Business表对应的Snapshot表和该至少一张Business表对应的Changelog表导入NoSQL中,得到NoSQL表。采用第一用户自定义Operator对NoSQL表进行数据处理,得到第一版本的全量数据对应的可执行代码和第一版本的增量数据对应的可执行代码;运行第一版本的全量数据对应的可执行代码,得到第一版本的全量输出结果;运行第一版本的增量数据对应的可执行代码,得到第一版本的增量输出结果。
在一种可能的实现方式中,第一版本的全量数据对应的可执行代码为基于流式计算的可执行代码或者基于批量计算的可执行代码。
在该实现方式中,流式计算基于流处理技术。在一个示例中,流式计算可以基于Flink或者Storm等流计算引擎。
在该实现方式中,批量计算基于批处理技术。在一个示例中,批量计算可以基于Hadoop MapReduce框架或者Spark等批处理框架。
该实现方式可以支持流式计算任务和批量计算任务同时运行在同一个集群上,由此能够充分利用各种集群资源,充分利用流处理技术低延迟的优点和批处理技术大吞吐的优点,从而能够大大提高系统的吞吐和性能,能够满足大数据处理需求。
在一种可能的实现方式中,第一版本的增量数据对应的可执行代码为基于流式计算的可执行代码。在该实现方式中,流式计算基于流处理技术。在一个示例中,流式计算可以基于Flink或者Storm等流计算引擎。
在一种可能的实现方式中,在运行第一版本的全量数据对应的可执行代码之前,该方法还包括:创建和注册用于运行第一版本的全量数据对应的可执行代码的存储资源和计算资源;在运行第一版本的增量数据对应的可执行代码之前,该方法还包括:创建和注册用于运行第一版本的增量数据对应的可执行代码的存储资源和计算资源。
在一个示例中,存储资源包括分布式文件系统的目录和NoSQL表等,计算资源包括资源队列等。
在一个示例中,可以通过全增量任务翻译和调度服务向资源管理服务请求创建和注册用于运行第一版本的全量数据对应的可执行代码的存储资源和计算资源,以及用于运行第一版本的增量数据对应的可执行代码的存储资源和计算资源;可以通过资源管理服务创建和注册用于运行第一版本的全量数据对应的可执行代码的存储资源和计算资源,以及用于运行第一版本的增量数据对应的可执行代码的存储资源和计算资源。
在一种可能的实现方式中,采用第一用户自定义算子进行数据处理,包括:采用第一用户自定义算子进行过滤、聚合和变换中的一种或多种处理。在该实现方式中,第一用户自定义算子可以用于对第一维度的数据进行过滤、聚合和变换中的一种或多种处理。
在一种可能的实现方式中,前端可以根据用户(开发者)请求创建应用。其中,应用可以表示为了完成用户在某维度的数据加工目标,而抽象出来的一个管理单元,该管理单元包含一系列计算任务和调度任务,并提供生命周期管理和存储计算资源管理等接口。
在一种可能的实现方式中,该方法还包括:向前端输出第一业务表对应的全量数据表的相关信息以及第一业务表对应的增量数据表的相关信息。
在一种可能的实现方式中,相关信息包括数据范式信息、数据镜像时间点或数据开始时间点和连接信息等中的一项或多项。其中,连接信息可以包括用户名和密码。
在一种可能的实现方式中,在得到第一版本的全量输出结果之后,该方法还包括:向在线引擎提供第一版本的全量输出结果。
在本公开实施例中,在线引擎可以为阿里巴巴的Ha3,或者开源的ElasticSearch等,在此不作限定。
在一种可能的实现方式中,在向在线引擎提供第一版本的全量输出结果且得到第一版本的增量输出结果之后,该方法还包括:向在线引擎提供第一版本的增量输出结果。
在一种可能的实现方式中,在得到第一版本的全量输出结果之后,该方法还包括:当第一维度对应的数据范式或者用户自定义算子发生变更时,获取第二业务表对应的全量数据表,其中,第二业务表为第一维度的业务表;获取第二业务表对应的增量数据表,其中,第二业务表对应的增量数据表与第二业务表对应的全量数据表具有相同的数据范式;基于第二业务表对应的全量数据表和第二业务表对应的增量数据表,采用第二用户自定义算子进行数据处理,得到第二版本的全量输出结果和第二版本的增量输出结果。其中,第二用户自定义算子可以表示第二版本对应的用户自定义算子。在用户自定义算子发生变更时,第二用户自定义算子与第一用户自定义算子不同;在用户自定义算子未发生变更时,第二用户自定义算子与第一用户自定义算子相同。
在一种可能的实现方式中,在得到第二版本的全量输出结果之后,该方法还包括:向在线引擎提供第二版本的全量输出结果。在该实现方式中,在得到第二版本的全量输出结果之前,在线引擎仍然运行第一版本。
在一种可能的实现方式中,在向在线引擎提供第二版本的全量输出结果且得到第二版本的增量输出结果之后,该方法还包括:向在线引擎提供第二版本的增量输出结果。
在一种可能的实现方式中,在向在线引擎提供第二版本的全量输出结果之后,该方法还包括:控制第一版本从在线引擎下线,并停止第一版本对应的数据处理流程。
图3示出根据本公开一实施例的数据处理方法中第一版本和第二版本的任务调度图的示意图。如图3所示,在一种可能的实现方式中,可以采用双版本切换方案来保证在线引擎上的数据在任何时间点都具有高实时性。在该实现方式中,第一版本(v1)和第二版本(v2)交替使用。即,在在线引擎运行第一版本的数据时,若需要触发新的版本,则新触发的版本为第二版本;在在线引擎运行第二版本的数据时,若需要触发新的版本,则新触发的版本为第一版本。
在一个示例中,如图3所示,可以先执行第一版本的全量任务,第一版本的全量任务执行完成后,再执行第一版本的增量任务。在执行第一版本的增量任务的过程中,在线引擎总是保持最新数据。其中,执行第一版本的全量任务可以指运行第一版本的全量数据对应的可执行代码;执行第一版本的增量任务可以指运行第一版本的增量数据对应的可执行代码。
在另一个示例中,全量任务和增量任务的执行启动时间没有强依赖,增量任务不一定要在全量任务执行完成后再执行,只要在线引擎先加载第一版本的全量输出结果,再加载第一版本的增量输出结果即可。
在本公开实施例中,当触发第二版本,开始执行第二版本的全量任务时,第一版本仍在在线引擎中运行。当得到第二版本的全量输出结果后,向在线引擎提供第二版本的全量输出结果。如图3所示,在线引擎(在线服务)中数据切换(从第一版本切换至第二版本)完成后,控制第一版本从在线引擎下线,并停止第一版本对应的数据处理流程,即,停止第一版本的增量任务。如图3所示,第一版本的生命周期从开始执行第一版本的全量任务开始,到停止执行第一版本的增量任务为止。也可以理解为,第一版本从在线引擎下线时,第一版本的生命周期停止。
在本公开实施例中,能够控制全量任务与增量任务无缝切换,并能够保证在执行新版本(例如第二版本)的全量任务时旧版本(例如第一版本)的增量数据依然可用,从而实现了数据的高可用性。
在一个示例中,可以通过任务流DAG控制服务对全量任务和增量任务进行切换控制。
在另一种可能的实现方式中,可以采用更多版本进行任务调度。例如,可以每次新建版本,而不是重复使用第一版本和第二版本。
图4示出根据本公开一实施例的数据处理方法依据的技术栈的示意图。如图4所示,该技术栈包括运行层和管控层。
运行层从底向上包括:分布式文件系统、计算资源管理和调度服务、NoSQL数据库、消息队列、流式处理系统和批处理系统。运行层的任何一种组件可都可以通过至少一种方式实现,各种实现方式均可以热插拔替换。例如,分布式文件系统可以是HDFS或者阿里巴巴的盘古等;NoSQL数据库可以是HBase或者Cassandra等;消息队列可以是Kafka或者RocketMQ等;流式处理系统可以是Flink、Blink或者Spark等;批处理系统可以是FlinkBatch或者MapRedece等。这种运行层架构可以支持流式计算任务和批量计算任务同时运行在同一个集群上,能够充分利用各种集群资源。
管控层由Runtime Lib库和以下几个独立的微服务组成:前端、全增量任务翻译和调度服务、资源管理服务、任务提交服务和任务流DAG(Directed Acyclic Graph,有向无环图)控制服务。这些微服务相互调用和配合,最终完成用户提交的计算任务。Runtime Lib库包含了全量和增量处理流中不同的模块,例如数据读取模块、数据同步模块、数据发送模块和用户自定义算子框架模块等。任何全量和增量数据流都是多个Lib库模块的组合。资源管理服务用于创建和注册全量和增量运行时的各种存储资源(分布式文件系统的目录和NoSQL表等)和计算资源(资源队列等),例如,创建和注册用于运行第一版本的全量数据对应的可执行代码的存储资源和计算资源,以及用于运行第一版本的增量数据对应的可执行代码的存储资源和计算资源。任务流DAG控制服务用于进行全量任务和增量任务的切换控制,其中,DAG可以用于表示数据处理的各个节点或步骤的先后顺序。任务提交服务和运行层交互,用于启动、暂停或者停止全量任务或者增量任务。全增量任务翻译和调度服务用于采用第一用户自定义算子对非关系型数据库表进行数据处理,得到第一版本的全量数据对应的可执行代码和第一版本的增量数据对应的可执行代码,并运行第一版本的全量数据对应的可执行代码,得到第一版本的全量输出结果,运行第一版本的增量数据对应的可执行代码,得到第一版本的增量输出结果。在本公开实施例中,翻译指的是由非关系型数据库表得到全量数据对应的可执行代码和增量数据对应的可执行代码的过程。
与调度系统的结合是该架构的重要组成部分,产生的离线任务实际上是调度任务。
图5示出根据本公开一实施例的数据处理方法的时序图的示意图。如图5所示:1、用户提交创建应用;前端输出Snapshot表和Changelog表的相关信息;用户上传用户自定义算子;2、前端创建翻译任务;3、全增量任务翻译和调度服务向资源管理服务请求创建和注册相关的存储资源和计算资源(例如用于运行第一版本的全量数据对应的可执行代码的存储资源和计算资源,以及用于运行第一版本的增量数据对应的可执行代码的存储资源和计算资源);4、资源管理服务创建和注册相关的存储资源和计算资源;5、全增量任务翻译和调度服务向任务流DAG控制服务分发全量任务和增量任务;6、任务流DAG控制服务向任务提交服务提交全量任务;7、任务提交服务在执行完成全量任务后,向任务流DAG控制服务返回全量任务执行完成的消息;8、任务流DAG控制服务向任务提交服务提交增量任务;9、任务提交服务开始执行增量任务后,向任务流DAG控制服务返回增量任务启动成功的消息。
在本公开实施例中,通过获取第一业务表对应的全量数据表,获取第一业务表对应的增量数据表,其中,第一业务表对应的增量数据表与第一业务表对应的全量数据表具有相同的数据范式,并基于第一业务表对应的全量数据表和第一业务表对应的增量数据表,采用第一用户自定义算子进行数据处理,得到第一版本的全量输出结果和第一版本的增量输出结果,由此能够统一增量模型和全量模型,只开发一次就能同时满足全量和增量的业务逻辑,大大提高开发效率。
图6示出根据本公开一实施例的数据处理装置的框图。如图6所示,该数据处理装置包括:第一获取模块21,用于获取第一业务表对应的全量数据表,其中,第一业务表为第一维度的业务表;第二获取模块22,用于获取第一业务表对应的增量数据表,其中,第一业务表对应的增量数据表与第一业务表对应的全量数据表具有相同的数据范式;数据处理模块23,用于基于第一业务表对应的全量数据表和第一业务表对应的增量数据表,采用第一用户自定义算子进行数据处理,得到第一版本的全量输出结果和第一版本的增量输出结果。
在一种可能的实现方式中,数据处理模块23用于:将至少一张业务表对应的全量数据表和该至少一张业务表对应的增量数据表导入非关系型数据库表中,其中,该至少一张业务表包括第一业务表;采用第一用户自定义算子对非关系型数据库表进行数据处理。
在一种可能的实现方式中,数据处理模块23用于:采用第一用户自定义算子对非关系型数据库表进行数据处理,得到第一版本的全量数据对应的可执行代码和第一版本的增量数据对应的可执行代码;运行第一版本的全量数据对应的可执行代码,得到第一版本的全量输出结果;运行第一版本的增量数据对应的可执行代码,得到第一版本的增量输出结果。
在一种可能的实现方式中,第一版本的全量数据对应的可执行代码为基于流式计算的可执行代码或者基于批量计算的可执行代码。
在一种可能的实现方式中,第一版本的增量数据对应的可执行代码为基于流式计算的可执行代码。
在一种可能的实现方式中,该装置还包括:创建和注册模块,用于创建和注册用于运行第一版本的全量数据对应的可执行代码的存储资源和计算资源,创建和注册用于运行第一版本的增量数据对应的可执行代码的存储资源和计算资源。
在一种可能的实现方式中,数据处理模块23用于:采用第一用户自定义算子进行过滤、聚合和变换中的一种或多种处理。
在一种可能的实现方式中,第二获取模块22用于:持续获取第一业务表对应的增量数据表。
在一种可能的实现方式中,该装置还包括:输出模块,用于向前端输出第一业务表对应的全量数据表的相关信息以及第一业务表对应的增量数据表的相关信息。
在一种可能的实现方式中,该装置还包括:第一提供模块,用于向在线引擎提供第一版本的全量输出结果。
在一种可能的实现方式中,该装置还包括:第二提供模块,用于向在线引擎提供第一版本的增量输出结果。
在一种可能的实现方式中,该装置还包括:第三获取模块,用于当第一维度对应的数据范式或者用户自定义算子发生变更时,获取第二业务表对应的全量数据表,其中,第二业务表为第一维度的业务表;第四获取模块,用于获取第二业务表对应的增量数据表,其中,第二业务表对应的增量数据表与第二业务表对应的全量数据表具有相同的数据范式;第二数据处理模块,用于基于第二业务表对应的全量数据表和第二业务表对应的增量数据表,采用第二用户自定义算子进行数据处理,得到第二版本的全量输出结果和第二版本的增量输出结果。
在一种可能的实现方式中,该装置还包括:第三提供模块,用于向在线引擎提供第二版本的全量输出结果。
在一种可能的实现方式中,该装置还包括:第四提供模块,用于向在线引擎提供第二版本的增量输出结果。
在一种可能的实现方式中,该装置还包括:控制与停止模块,用于控制第一版本从在线引擎下线,并停止第一版本对应的数据处理流程。
在本公开实施例中,通过获取第一业务表对应的全量数据表,获取第一业务表对应的增量数据表,其中,第一业务表对应的增量数据表与第一业务表对应的全量数据表具有相同的数据范式,并基于第一业务表对应的全量数据表和第一业务表对应的增量数据表,采用第一用户自定义算子进行数据处理,得到第一版本的全量输出结果和第一版本的增量输出结果,由此能够统一增量模型和全量模型,只开发一次就能同时满足全量和增量的业务逻辑,大大提高开发效率。
图7是根据一示例性实施例示出的一种用于数据处理的装置1900的框图。例如,装置1900可以被提供为一服务器。参照图7,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由装置1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (18)

1.一种数据处理方法,其特征在于,包括:
获取第一业务表对应的全量数据表,其中,所述第一业务表为第一维度的业务表;
获取所述第一业务表对应的增量数据表,其中,所述第一业务表对应的增量数据表与所述第一业务表对应的全量数据表具有相同的数据范式;
基于所述第一业务表对应的全量数据表和所述第一业务表对应的增量数据表,采用第一用户自定义算子进行数据处理,得到第一版本的全量输出结果和所述第一版本的增量输出结果。
2.根据权利要求1所述的方法,其特征在于,基于所述第一业务表对应的全量数据表和所述第一业务表对应的增量数据表,采用第一用户自定义算子进行数据处理,包括:
将至少一张业务表对应的全量数据表和所述至少一张业务表对应的增量数据表导入非关系型数据库表中,其中,所述至少一张业务表包括所述第一业务表;
采用所述第一用户自定义算子对所述非关系型数据库表进行数据处理。
3.根据权利要求2所述的方法,其特征在于,采用所述第一用户自定义算子对所述非关系型数据库表进行数据处理,得到第一版本的全量输出结果和所述第一版本的增量输出结果,包括:
采用所述第一用户自定义算子对所述非关系型数据库表进行数据处理,得到所述第一版本的全量数据对应的可执行代码和所述第一版本的增量数据对应的可执行代码;
运行所述第一版本的全量数据对应的可执行代码,得到所述第一版本的全量输出结果;
运行所述第一版本的增量数据对应的可执行代码,得到所述第一版本的增量输出结果。
4.根据权利要求3所述的方法,其特征在于,所述第一版本的全量数据对应的可执行代码为基于流式计算的可执行代码或者基于批量计算的可执行代码。
5.根据权利要求3所述的方法,其特征在于,所述第一版本的增量数据对应的可执行代码为基于流式计算的可执行代码。
6.根据权利要求3所述的方法,其特征在于,在运行所述第一版本的全量数据对应的可执行代码之前,所述方法还包括:创建和注册用于运行所述第一版本的全量数据对应的可执行代码的存储资源和计算资源;
在运行所述第一版本的增量数据对应的可执行代码之前,所述方法还包括:创建和注册用于运行所述第一版本的增量数据对应的可执行代码的存储资源和计算资源。
7.根据权利要求1所述的方法,其特征在于,采用第一用户自定义算子进行数据处理,包括:
采用第一用户自定义算子进行过滤、聚合和变换中的一种或多种处理。
8.根据权利要求1所述的方法,其特征在于,获取所述第一业务表对应的增量数据表,包括:
持续获取所述第一业务表对应的增量数据表。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向前端输出所述第一业务表对应的全量数据表的相关信息以及所述第一业务表对应的增量数据表的相关信息。
10.根据权利要求1所述的方法,其特征在于,在得到第一版本的全量输出结果之后,所述方法还包括:
向在线引擎提供所述第一版本的全量输出结果。
11.根据权利要求10所述的方法,其特征在于,在向在线引擎提供所述第一版本的全量输出结果且得到所述第一版本的增量输出结果之后,所述方法还包括:
向所述在线引擎提供所述第一版本的增量输出结果。
12.根据权利要求1所述的方法,其特征在于,在得到所述第一版本的全量输出结果之后,所述方法还包括:
当所述第一维度对应的数据范式或者用户自定义算子发生变更时,获取第二业务表对应的全量数据表,其中,所述第二业务表为所述第一维度的业务表;
获取所述第二业务表对应的增量数据表,其中,所述第二业务表对应的增量数据表与所述第二业务表对应的全量数据表具有相同的数据范式;
基于所述第二业务表对应的全量数据表和所述第二业务表对应的增量数据表,采用第二用户自定义算子进行数据处理,得到所述第二版本的全量输出结果和所述第二版本的增量输出结果。
13.根据权利要求12所述的方法,其特征在于,在得到所述第二版本的全量输出结果之后,所述方法还包括:
向在线引擎提供所述第二版本的全量输出结果。
14.根据权利要求13所述的方法,其特征在于,在向在线引擎提供所述第二版本的全量输出结果且得到所述第二版本的增量输出结果之后,所述方法还包括:
向所述在线引擎提供所述第二版本的增量输出结果。
15.根据权利要求13所述的方法,其特征在于,在向在线引擎提供所述第二版本的全量输出结果之后,所述方法还包括:
控制所述第一版本从所述在线引擎下线,并停止所述第一版本对应的数据处理流程。
16.一种数据处理装置,其特征在于,包括:
第一获取模块,用于获取第一业务表对应的全量数据表,其中,所述第一业务表为第一维度的业务表;
第二获取模块,用于获取所述第一业务表对应的增量数据表,其中,所述第一业务表对应的增量数据表与所述第一业务表对应的全量数据表具有相同的数据范式;
数据处理模块,用于基于所述第一业务表对应的全量数据表和所述第一业务表对应的增量数据表,采用第一用户自定义算子进行数据处理,得到第一版本的全量输出结果和所述第一版本的增量输出结果。
17.一种数据处理装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1至15中任意一项所述的方法。
18.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至15中任意一项所述的方法。
CN201910131143.9A 2019-02-21 2019-02-21 数据处理方法、装置及存储介质 Pending CN111597200A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910131143.9A CN111597200A (zh) 2019-02-21 2019-02-21 数据处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910131143.9A CN111597200A (zh) 2019-02-21 2019-02-21 数据处理方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN111597200A true CN111597200A (zh) 2020-08-28

Family

ID=72190557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910131143.9A Pending CN111597200A (zh) 2019-02-21 2019-02-21 数据处理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111597200A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821232A (zh) * 2020-11-25 2021-12-21 北京沃东天骏信息技术有限公司 模型更新方法和装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011160549A1 (zh) * 2010-06-22 2011-12-29 中兴通讯股份有限公司 电子节目指南系统及文件下载方法
CN104267939A (zh) * 2014-09-17 2015-01-07 华为技术有限公司 一种业务处理的方法、装置及系统
CN105138656A (zh) * 2015-08-31 2015-12-09 浪潮软件股份有限公司 一种处理数据的方法及装置
CN106294461A (zh) * 2015-06-01 2017-01-04 阿里巴巴集团控股有限公司 数据导入方法和装置
CN106874389A (zh) * 2017-01-11 2017-06-20 腾讯科技(深圳)有限公司 数据的迁移方法和装置
US20170193028A1 (en) * 2015-12-31 2017-07-06 International Business Machines Corporation Delta encoding in storage clients
CN107844588A (zh) * 2017-11-17 2018-03-27 中国银行股份有限公司 一种数据字典的处理方法、装置、存储介质及处理器
CN108205560A (zh) * 2016-12-19 2018-06-26 腾讯科技(深圳)有限公司 一种数据同步方法以及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011160549A1 (zh) * 2010-06-22 2011-12-29 中兴通讯股份有限公司 电子节目指南系统及文件下载方法
CN104267939A (zh) * 2014-09-17 2015-01-07 华为技术有限公司 一种业务处理的方法、装置及系统
CN106294461A (zh) * 2015-06-01 2017-01-04 阿里巴巴集团控股有限公司 数据导入方法和装置
CN105138656A (zh) * 2015-08-31 2015-12-09 浪潮软件股份有限公司 一种处理数据的方法及装置
US20170193028A1 (en) * 2015-12-31 2017-07-06 International Business Machines Corporation Delta encoding in storage clients
CN108205560A (zh) * 2016-12-19 2018-06-26 腾讯科技(深圳)有限公司 一种数据同步方法以及装置
CN106874389A (zh) * 2017-01-11 2017-06-20 腾讯科技(深圳)有限公司 数据的迁移方法和装置
CN107844588A (zh) * 2017-11-17 2018-03-27 中国银行股份有限公司 一种数据字典的处理方法、装置、存储介质及处理器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
林薇;文福安;: "用统一数据管理 实现网络数据变革", no. 32 *
阿里巴巴实时计算团队: "Flink已经足够强大了吗?阿里巴巴说:还不够", HTTPS://MP.WEIXIN.QQ.COM/S/HIKE1XQCYKFYXPNB6E11TW?SPM=A2C6H.12873639.ARTI CLE-DETAIL.7.205F2EEFLFTYIK, pages 2 - 6 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821232A (zh) * 2020-11-25 2021-12-21 北京沃东天骏信息技术有限公司 模型更新方法和装置

Similar Documents

Publication Publication Date Title
US11475007B2 (en) Dynamic self-reconfiguration of nodes in a processing pipeline
US11042450B2 (en) Mechanism for managing container runtime state
US11755461B2 (en) Asynchronous consumer-driven contract testing in micro service architecture
CN109117252B (zh) 基于容器的任务处理的方法、系统及容器集群管理系统
US10394775B2 (en) Order constraint for transaction processing with snapshot isolation on non-transactional NoSQL servers
US9940113B2 (en) Big data assistant
US8938712B2 (en) Cross-platform virtual machine and method
CN115280325A (zh) 联邦学习中的参数共享
US10530842B2 (en) Domain-specific pattern design
CN116569141A (zh) 工作流修补
CN111597200A (zh) 数据处理方法、装置及存储介质
US9934019B1 (en) Application function conversion to a service
CN116954944A (zh) 基于内存网格的分布式数据流处理方法、装置及设备
US9606775B2 (en) Developing rich internet application
US11157243B2 (en) Client-side source code dependency resolution in language server protocol-enabled language server
US10812406B2 (en) Assigning processing elements to stream computing servers
US11163603B1 (en) Managing asynchronous operations in cloud computing environments
Al-Obeidat et al. A microservices persistence technique for cloud-based online social data analysis
CN112799797B (zh) 一种任务管理的方法和装置
US20190370408A1 (en) Dataflow execution graph modification using intermediate graph
US11526490B1 (en) Database log performance
US10884832B2 (en) Aggregation messaging within an integration environment
US10956416B2 (en) Data schema discovery with query optimization
US11176121B2 (en) Global transaction serialization
US11620132B2 (en) Reusing an operand received from a first-in-first-out (FIFO) buffer according to an operand specifier value specified in a predefined field of an instruction

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