CN113760394A - 数据处理方法、装置、电子设备及存储介质 - Google Patents
数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113760394A CN113760394A CN202010496282.4A CN202010496282A CN113760394A CN 113760394 A CN113760394 A CN 113760394A CN 202010496282 A CN202010496282 A CN 202010496282A CN 113760394 A CN113760394 A CN 113760394A
- Authority
- CN
- China
- Prior art keywords
- processing
- data
- flow
- node
- graph
- 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
Images
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
- G06F9/449—Object-oriented method invocation or resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本公开实施例公开了一种数据处理方法、装置、电子设备及存储介质,所述方法包括:获取计算图的配置数据,其中,所述计算图包括处理节点及所述处理节点之间的依赖关系;基于所述配置数据,生成处理流程实例;基于所述处理流程实例,处理目标数据;展示所述处理流程实例的处理结果。该技术方案能够使得相关人员无需关心数据处理流程的具体实现算法,只需根据需要配置计算图,能够实现数据处理流程的快速上线,节省相关人员的流程开发时间,提高流程开发效率。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
视频处理算法涉及安全、交通、综合治理、互联网教育等方方面面,视频处理算法的种类丰富多样,不同应用场景的视频处理流程复杂多变,为了实现视频处理算法上线,相关人员在实现新的应用需求时,要花费大量的时间开发视频处理算法管线、研究编程语言、解决内存泄露、多线程管理、做各种硬件优化、深度学习框架的适配等工作,即便是有经验的C++程序员,也要花费至少两周的时间才能在新的应用场景下完成算法上线。因此,如何实现视频处理算法的快速开发、管线的灵活构建以及工作流的有效性执行成为了当前视频处理技术领域需要解决的技术问题之一。
发明内容
本公开实施例提供一种数据处理方法、装置、电子设备及计算机可读存储介质。
第一方面,本公开实施例中提供了一种数据处理方法,包括:
获取计算图的配置数据,其中,所述计算图包括处理节点及所述处理节点之间的依赖关系;
基于所述配置数据,生成处理流程实例;
基于所述处理流程实例,处理目标数据;
展示所述处理流程实例的处理结果。
进一步地,基于所述配置数据,生成处理流程实例,包括:
基于所述配置数据中所述处理节点的标识数据,获取系统库中所述处理节点对应的可执行实体;
根据所述可执行实体生成所述处理流程实例。
进一步地,基于所述处理流程实例,处理目标数据,包括:
启动所述计算图的至少一个第一并行执行流程,每个所述第一并行执行流程中通过执行所述计算图对应的所述处理流程实例对目标数据中的视频进行处理。
进一步地,每个所述第一并行执行流程中通过执行所述计算图对应的所述处理流程实例对目标数据中的视频进行处理,包括:
启动多个第二并行执行流程,每个所述第二并行执行流程中通过执行所述计算图对应的所述处理流程实例对所述视频中的视频帧进行处理。
进一步地,每个所述第二并行执行流程中通过执行所述计算图对应的所述处理流程实例对所述视频中的视频帧进行处理,包括:
基于所述计算图中的所述依赖关系,从所述计算图的第一个处理节点开始调用所述处理节点对应的所述可执行实体,以便由所述可执行实体对所述视频帧进行处理。
进一步地,每个所述第二并行执行流程中通过执行所述计算图对应的所述处理流程实例对所述视频中的视频帧进行处理,还包括:
在调用完成所述计算图中的所有处理节点对应的所述可执行实体后,接收下一视频帧,并针对所述下一视频帧调用所述计算图中的所述处理节点对应的所述可执行实体。
进一步地,基于所述计算图中的所述依赖关系,从所述计算图的第一个处理节点开始调用所述处理节点对应的所述可执行实体,包括:
响应于针对当前处理节点对应的所述可执行实体的调用请求,在所述当前处理节点的所述可执行实体处于可执行状态时,将所述当前处理节点的所述可执行实体放入执行队列,以等待执行;
响应于所述当前处理节点的所述可执行实体被执行完成的触发事件,在所述当前处理节点为所述计算图中的非叶子节点时,触发所述当前处理节点的子处理节点的调用请求。
进一步地,基于所述计算图中的所述依赖关系,从所述计算图的第一个处理节点开始调用所述处理节点对应的所述可执行实体还包括:
响应于所述当前处理节点的所述可执行实体被执行完成的触发事件,在所述当前处理节点为所述计算图中的叶子节点时,调用所述当前处理节点的后向执行流程;所述后向执行流程中,在所述当前处理节点的所有子处理节点的可执行实体均被执行完成后,重置所述当前处理节点的前向执行状态,以及调用所述当前处理节点的父处理节点的后向执行流程。
进一步地,还包括:
启动多个第三并行执行流程,用于并行执行所述执行队列中的多个所述可执行实体。
进一步地,在所述处理流程实例的生成过程中,还基于所述配置数据中所述处理节点的硬件配置信息获取所述系统库中与所述硬件配置信息相匹配的所述可执行实体。
进一步地,还包括:
获取用户自定义的扩展功能数据;
编译所述扩展功能数据得到对应的库文件,以及将所述库文件添加到系统库中。
进一步地,还包括:
获取用户提供的待加密数据;
加密所述待加密数据,并将加密后的数据编译成库文件后添加到系统库中。
进一步地,还包括:
基于所述配置数据图形化展示所述计算图。
第二方面,本公开实施例中提供了一种数据处理方法,包括:
获取计算图的配置数据,其中,所述计算图包括用于车辆事故定责的处理节点及所述处理节点之间的依赖关系;
基于所述配置数据,生成车辆事故定责流程实例;
基于所述车辆事故定责流程实例,处理车辆事故现场视频流;
输出所述车辆事故定责流程实例得到的定责结果。
进一步地,所述处理节点包括车辆识别节点、车辆行为识别节点、人识别节点、人行为识别节点以及定责节点;其中,所述车辆行为识别节点基于所述车辆识别节点的车辆识别结果得到车辆行为识别结果;所述人行为识别节点基于所述人识别节点的人识别结果得到人行为识别结果。
第三方面,本公开实施例中提供了一种数据处理方法,包括:
获取计算图的配置数据,其中,所述计算图包括用于动作标准化识别的处理节点及所述处理节点之间的依赖关系;
基于所述配置数据,生成动作标准化识别流程实例;
基于所述动作标准化识别流程实例,比较目标对象完成目标动作的视频流以及目标动作的标准视频流;
输出所述动作标准化识别流程实例得到的比较结果以及对所述目标对象的动作改进建议。
进一步地,输出所述动作标准化识别流程实例得到的比较结果以及对所述目标对象的动作改进建议,包括:
将所述比较结果以及动作改进建议输出至所述目标对象的可穿戴设备上。
第四方面,本发明实施例中提供了一种数据处理装置,包括:
第一获取模块,被配置为获取计算图的配置数据,其中,所述计算图包括处理节点及所述处理节点之间的依赖关系;
生成模块,被配置为基于所述配置数据,生成处理流程实例;
处理模块,被配置为基于所述处理流程实例,处理目标数据;
展示模块,被配置为展示所述处理流程实例的处理结果。
第五方面,本发明实施例中提供了一种数据处理装置,包括:
第一获取模块,被配置为获取计算图的配置数据,其中,所述计算图包括处理节点及所述处理节点之间的依赖关系;
第一生成模块,被配置为基于所述配置数据,生成处理流程实例;
第一处理模块,被配置为基于所述处理流程实例,处理目标数据;
第一展示模块,被配置为展示所述处理流程实例的处理结果。
第六方面,本发明实施例中提供了一种数据处理装置,包括:
第四获取模块,被配置为获取计算图的配置数据,其中,所述计算图包括用于车辆事故定责的处理节点及所述处理节点之间的依赖关系;
第二生成模块,被配置为基于所述配置数据,生成车辆事故定责流程实例;
第二处理模块,被配置为基于所述车辆事故定责流程实例,处理车辆事故现场视频流;
第一输出模块,被配置为输出所述车辆事故定责流程实例得到的定责结果。
所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,上述装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持上述装置执行上述对应方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。上述装置还可以包括通信接口,用于上述装置与其他设备或通信网络通信。
第七方面,本公开实施例提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述任一方面所述的方法。
第八方面,本公开实施例提供了一种计算机可读存储介质,用于存储上述任一装置所用的计算机指令,其包含用于执行上述任一方面所述方法所涉及的计算机指令。
本公开实施例提供的技术方案可以包括以下有益效果:
本公开实施例中,用户可以通过数据流处理框架配置实现数据流处理流程的计算图,数据流处理框架可以根据计算图的配置数据自动生成处理流程实例,并通过执行该处理流程实例完成计算图中定义的数据处理流程。通过这种方式,能够使得相关人员无需关心数据处理流程的具体实现算法,只需根据需要配置计算图,能够实现数据处理流程的快速上线,节省相关人员的应用开发时间,提高应用开发效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的数据处理方法的流程图;
图2示出根据本公开一实施方式的数据流处理框架的整体架构示意图;
图3示出根据本公开一实施方式执行引擎在执行处理流程实例过程中并行执行的示意图;
图4示出根据本公开一实施方式的应用流程示意图;
图5示出根据本公开另一实施方式的数据处理方法的流程图;
图6示出根据本公开另一实施方式的数据处理方法的流程图;
图7是适于用来实现根据本公开一实施方式的数据处理方法的电子设备的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
下面通过具体实施例详细介绍本公开实施例的细节。
图1示出根据本公开一实施方式的数据处理方法的流程图。如图1所示,该数据处理方法包括以下步骤:
在步骤S101中,获取计算图的配置数据,其中,所述计算图包括处理节点及所述处理节点之间的依赖关系;
在步骤S102中,基于所述配置数据,生成处理流程实例;
在步骤S103中,基于所述处理流程实例,处理目标数据;
在步骤S104中,展示所述处理流程实例的处理结果。
本实施例中,针对数据处理算法例如视频处理算法以及数据处理应用如视频处理应用等开发了一个基于计算图的数据流处理框架,例如视频流处理框架(VideoFlow),该数据流处理框架围绕有状态的计算图和无状态的资源,通过将数据流处理管线抽象成有状态的有向无环图,得到针对数据流处理的计算图。计算图包括多个处理节点,且多个处理节点之间具有依赖关系。计算图中的多个处理节点以及多个处理节点之间的依赖关系构成了有向无环图,处理节点对应有向无环图中的节点,依赖关系对应有向无环图中的边。数据流的一个完整处理流程例如行人识别、行人跟踪等可以构建为一个计算图,而计算图中各处理节点为该视频处理流程中的一个处理环节,子处理环节依赖于父处理环节的处理结果。
本公开实施例中的数据流处理框架预先实现了各种算子,每个算子用于实现数据流的一个处理环节,因此用户可以利用数据流处理框架中预先实现的算子配置一个完整视频处理流程的计算图,该计算图中的各个处理节点由数据流处理框架中的算子构成。数据流处理框架中还预先抽象出了各种资源,并实现了抽象出的资源。算子可以调用抽象出的资源,资源对应于视频处理流程中无状态的密集运算,比如深度学习模型的推理等。数据流处理框架中预先抽象出了多种不同类型的算子以及算子中调用的资源,用户可以利用数据流处理框架提供的配置接口配置针对计算图的配置数据,该配置数据中可以配置计算图中各个处理节点以及各个处理节点之间的依赖关系,用户配置处理节点的过程中,可以配置处理节点使用的算子的标识数据、输入参数以及当前处理节点的子处理节点等,在配置完整个计算图之后,数据流处理框架可以根据用户提供的配置数据生成包括计算图的处理流程实例。该处理流程实例可以包括用于执行计算图所实现的数据流处理流程的可执行代码,该处理流程实例为硬件设备上的可执行数据例如编译后的字节编码,用于按照计算图的处理流程对数据流进行分析处理。
在一些实施例中,配置数据中包括计算图中包括的各个处理节点对应的算子列表、处理节点之间依赖关系的定义、算子的属性定义、被算子调用的资源的定义、自定义的库文件等数据。
在一些实施例中,算子可以被可视化显示在数据流处理框架的配置解界面上,用户可以通过拖拽算子的方式实现对计算图的配置,能够提高计算图的配置效率。
在另一些实施例中,还可以通过语音控制的方式配置计算图,相关人员通过语音输入的方式输入配置数据,数据流处理框架识别相关人员的语音,并完成计算图的配置。
数据流处理框架基于配置数据生成处理流程实例之后,可以基于处理流程实例对目标数据进行处理。目标数据可以是任意数据,例如可以是视频数据,处理流程实例可以是用于处理视频数据的处理流程实例,例如可以是行人检测模型的运行实例等。目标数据例如还可以是文本,处理流程实例可以是用于处理文本的处理流程实例,例如可以是NLP(自然语言处理)模型的运行实例等。目标数据例如还可以是演讲过程中产生的语音流,处理流程实例可以是用于处理语音的处理流程实例,例如可以是语音识别以及语音对话模型的运行实例等。在基于处理流程实例得到目标数据的处理结果之后,还可以将该处理结果展示在显示设备上。
下面举例说明数据流处理框架的实现架构。
图2示出根据本公开一实施方式的数据流处理框架的整体架构示意图。如图2所示,数据流处理框架包括抽象出的多种类型的算子、资源,算子是视频处理流程中的基本单元,在计算图中算子可以依赖于其父处理节点中算子的输出,而算子的输出又可以提供给计算图中子处理节点中的算子使用,因此算子是有状态的,且有些算子是有序的,而有些算子是无序的。
算子可以大体分为三大类:入口算子、处理算子和输出算子。入口算子出现在计算图的起始处理节点,也可以理解为有向无环图中的根节点;入口算子具有0个输入,也即入口算子不依赖于任何一个算子的输出,对于视频处理流程而言,常见的入口算子包括视频解码算子、图像解码算子等。处理算子具有至少1个输入,以及至少1个输出;处理算子占用视频处理流程中的大部分流程,而且也是视频处理流程中的主要算子类型;输出算子具有0个输出,也即没有依赖于输出算子的其他算子,输出算子为计算图中的最后一个处理节点,也即有向无环图中的叶子节点,由于计算图可以包括多个输出,因此一个计算图中可以包括多个输出算子,例如一个计算图的最终结果可能需要同时输出到数据库和消息队列中,因此需要两个输出算子分别实现数据库输出和消息队列输出。
数据流处理框架还抽象出了各种资源(如图2中所示的Deep inference),资源可以是无状态计算单元,并且这些资源可以被所有的计算图所共享,例如多种常见的深度学习模型推理实体被数据流处理框架抽象为资源,可以供实现不同处理功能的算子所调用。由于很多类似深度学习推理、数据输出至数据库等的处理逻辑具有独立的语义,并且在实现这些处理逻辑的通常是密集计算或密集输入输出,因此在在实现密集计算或密集输入输出的时候,不用关心会被什么样的应用逻辑所使用;通过抽象出资源,还可以在不影响应用逻辑的情况下,对这些资源进行更新,例如可以通过切换至TensorRT来加速PyTorch模型推理。本公开实施例通过将算子和资源进行分离设计,使得在实现计算图这种偏应用的逻辑时,不用关心底层所执行的模型或者计算,而在实现密集计算和/或密集输入输出时,也不用关心会被什么样的应用逻辑所使用。相关人员可以通过该数据流处理框架构建计算图的结构来灵活地实现数据流处理流程的构建,并且在实现数据流处理流程的过程中可以复用大量共性的类似目标检测、目标跟踪、图像特征提取等的视频处理算子,并通过计算图的结构将这些算子组合起来由数据流处理框架完成硬件、模型框架、低层密集运算等的优化适配,提高了相关人员的应用开发效率。
数据流处理框架中抽象出的各种算子、资源等均被适配到了各种不同硬件环境,例如CPU、GPU、NPU、MLU、FPGA等。相关人员在配置计算图时,可以在配置数据中定义硬件信息,数据流处理框架可以根据相关人员定义的硬件信息适配对应的算子以及资源等。
图2中还示出了利用数据流处理框架抽象出的算子、资源等构建的面向行人的视觉分析处理流程对应的计算图,该计算图中包括人群密度估计、行人检测、跟踪以及识别流程,其入口也即根处理节点为解码算子(Decode),解码算子具有两个子处理节点,分别为行人检测算子(Detect)和人群密度估计算子(density),行人检测算子具有两个子处理节点,分别为行人特征提取算子(feature)和属性识别算子(attributes);行人特征提取算子和属性识别算子具有一个共同的子处理节点,也即序列化算子(Serialize),并且序列化算子具有两个输出算子,分别为图像输出算子(Image Sinker)和消息队列输出算子(MQSinker);人群密度估计算子具有一个输出算子,为告警算子(alert)。
下面为一种计算图的配置数据的示例:
图2示出的数据流处理框架中,还针对视频解码部分实现了前端数据流获取(Frontend)和后端解码(Backend)的分离,前端视频获取模块可以适配本地文件、网络RTSP、RTMP、内存、MQ等各种视频来源,而后端解码部分可以支持CPU解码、GPU等各种硬件解码,并提供了标准的接口供相关人员扩展新的解码器的接入。
本公开实施例提出的数据处理方法中,用户可以通过数据流处理框架配置实现数据流处理流程的计算图,数据流处理框架可以根据计算图的配置数据自动生成处理流程实例,并通过执行该处理流程实例完成计算图中定义的数据处理流程。通过这种方式,能够使得相关人员无需关心数据处理流程的具体实现算法,只需根据需要配置计算图,能够实现数据处理流程的快速上线,节省相关人员的应用开发时间,提高应用开发效率。
在本实施例的一个可选实现方式中,步骤S102,即基于所述配置数据,生成处理流程实例的步骤,进一步包括以下步骤:
基于所述配置数据中所述处理节点的标识数据,获取系统库中所述处理节点对应的可执行实体;
根据所述可执行实体生成所述处理流程实例。
该可选的实现方式中,在处理流程实例的生成过程中,数据流处理框架读取配置数据,并基于计算图中各个处理节点中定义的标识数据,从系统库中获取与标识数据对应的可执行实体,也即算子对应的可执行代码,将该可执行实体添加到处理流程实例中,以便在执行处理流程实例时,能够在相应环节调用该可执行实体完成对视频帧的相应处理。通过这种方式,数据流处理框架可以预先抽象出用于处理视频帧的算子,并预先在数据流处理框架中实现抽象出的算子,用户在通过数据流处理框架配置实现视频处理流程的计算图时,使用预先在框架中实现的上述算子作为计算图中的处理节点,数据流处理框架可以根据计算图的配置数据自动生成处理流程实例,并通过执行该处理流程实例完成计算图中定义的视频处理流程。
在本实施例的一个可选实现方式中,步骤S103,即基于所述处理流程实例,处理目标数据的步骤,进一步包括以下步骤:
启动所述计算图的至少一个第一并行执行流程,每个所述第一并行执行流程中通过执行所述计算图对应的所述处理流程实例对目标数据中的视频进行处理。
该可选的实现方式中,数据流处理框架还实现了计算图的执行引擎,该执行引擎用于执行根据计算图生成的处理流程实例。目标数据可以包括一个或多个不同的视频,在处理流程实例的执行过程中,可以启动一个或多个第一并行执行流程,不同的并行执行流程对应处理不同的视频,并且每个第一并行执行流程中通过运行处理流程实例对相应的视频按照计算图中的处理流程进行分析处理。通过这种方式,可以针对同一个计算图,启动多个并行执行流程,分别对不同的视频进行计算图中的处理分析流程,能够实现视频间的并行。
在本实施例的一个可选实现方式中,每个所述第一并行执行流程中通过执行所述计算图对应的所述处理流程实例对目标数据中的视频进行处理的步骤,进一步包括以下步骤:
启动多个第二并行执行流程,每个所述第二并行执行流程中通过执行所述计算图对应的所述处理流程实例对所述视频中的视频帧进行处理。
该可选的实现方式中,每个第一并行执行流程中还可以启动多个第二并行执行流程,用于对同一视频中的不同视频帧按照计算图中的处理流程进行并行处理。通过这种方式,还可以实现视频中视频帧间的并行处理,能够进一步提高视频帧的处理速度。
在本实施例的一个可选实现方式中,每个所述第二并行执行流程中通过执行所述计算图对应的所述处理流程实例对所述视频中的视频帧进行处理的步骤,进一步包括以下步骤:
基于所述计算图中的所述依赖关系,从所述计算图的第一个处理节点开始调用所述处理节点对应的所述可执行实体,以便由所述可执行实体对所述视频帧进行处理。
该可选的实现方式中,第二并行执行流程中,可以通过执行处理流程实例实现计算图的处理流程。在第二并行执行流程中,从计算图的第一个处理节点,也即计算图的入口算子(例如解码算子)开始,对输入的视频帧进行处理。处理流程实例的执行过程中,执行到当前处理节点后,通过调用当前处理节点对应的可执行实体完成该环节对视频帧的处理流程。
在本实施例的一个可选实现方式中,每个所述第二并行执行流程中通过执行所述计算图对应的所述处理流程实例对所述视频中的视频帧进行处理的步骤,进一步还包括以下步骤:
在调用完成所述计算图中的所有处理节点对应的所述可执行实体后,接收下一视频帧,并针对所述下一视频帧调用所述计算图中的所述处理节点对应的所述可执行实体。
该可选的实现方式中,针对当前视频帧,从计算图的第一个处理节点开始处理直至最后一个处理节点(也即输出算子),通过调用相应处理节点对应的可执行实体对当前视频帧进行处理,并在完成对当前视频帧的处理之后,可以重新从第一个处理节点开始,接收下一视频帧,并调用相应处理节点对应的可执行实体对下一视频帧进行处理,最终由多个第二并行执行流程顺序完成视频中多个视频帧的处理,实现帧间并行。
在本实施例的一个可选实现方式中,基于所述计算图中的所述依赖关系,从所述计算图的第一个处理节点开始调用所述处理节点对应的所述可执行实体的步骤,进一步包括以下步骤:
响应于针对当前处理节点对应的所述可执行实体的调用请求,在所述当前处理节点的所述可执行实体处于可执行状态时,将所述当前处理节点的所述可执行实体放入执行队列,以等待执行;
响应于所述当前处理节点的所述可执行实体被执行完成的触发事件,在所述当前处理节点为所述计算图中的非叶子节点时,触发所述当前处理节点的子处理节点的调用请求。
该可选的实现方式中,数据流处理框架在处理流程实例中针对每个处理节点添加了前向执行流程,在当前处理节点对应的可执行实体被调用时,首先由该当前处理节点的该前向执行流判断当前处理节点是否处于可执行状态(例如该当前处理节点的所有父处理节点是否均已执行完成等),在当前处理节点处于可执行状态的情况下,前向执行流程将当前处理节点的可执行实体放入执行队列中,执行引擎可以启动多个并行执行线程,从执行队列中取出可执行实体进而执行该可执行实体,可执行实体例如可以包括编译后的可执行的字节编码,可执行实体在执行过程中实现对视频帧的处理。
在当前处理节点的可执行实体被执行引擎从执行队列取出并执行完成之后,如果当前处理节点为非叶子节点,也即非输出算子,则触发当前处理节点的子处理节点的调用请求,也即调用当前处理节点的所有子处理节点的可执行实体,并进行与当前处理节点类似的上述流程。通过这种方式,可以实现从计算图的第一个处理节点到叶子节点也即输出算子的整个视频处理流程。
在本实施例的一个可选实现方式中,基于所述计算图中的所述依赖关系,从所述计算图的第一个处理节点开始调用所述处理节点对应的所述可执行实体的步骤,进一步还包括以下步骤:
响应于所述当前处理节点的所述可执行实体被执行完成的触发事件,在所述当前处理节点为所述计算图中的叶子节点时,调用所述当前处理节点的后向执行流程;所述后向执行流程中,在所述当前处理节点的所有子处理节点的可执行实体均被执行完成后,重置所述当前处理节点的前向执行状态,以及调用所述当前处理节点的父处理节点的后向执行流程。
该可选的实现方式中,数据流处理框架在处理流程实例中还针对每个处理节点添加了后向执行实体,在当前处理节点的可执行实体被执行引擎从执行队列取出并执行完成之后,如果当前处理节点为叶子节点,也即输出算子,则调用当前处理节点的后向执行流程。
该后向执行流程中,判断当前处理节点的所有子处理节点的可执行实体是否均被执行完成,也即判断放入执行队列中的所有子处理节点的可执行实体是否均被执行引擎执行完成,如果执行完成,则重置当前处理节点的前向执行状态(以便在所有处理节点的前向执行状态均被重置以后,处理新的视频帧)以及调用其父处理节点的后向执行流程,如果当前处理节点为叶子节点,则可以直接重置叶子节点的前向执行状态并调用父处理节点的后向执行流程。通过这种方式,在后向遍历到该计算图的第一个处理节点之后,可以重新调用第一处理节点的前向执行流程,以便对下一视频帧进行处理。
在本实施例的一个可选实现方式中,该方法还包括以下步骤:
启动多个第三并行执行流程,用于并行执行所述执行队列中的多个所述可执行实体。
该可选的实现方式中,执行引擎通过启动多个第三并行执行流程例如多个线程,用于从执行队列中取出可执行实体,进而在线程中执行可执行实体,以便对相应的视频帧进行处理。通过这种方式,第二并行执行流程将处于准备好状态的可执行实体放入执行队列中,而执行引擎则通过多线程并行执行的方式从执行队列中取出并执行可执行实体,实现多算子的并行执行。可以理解的是,第二并行执行流程和第三并行执行流程可以是并行执行的,第三并行执行流程无需关系第二并行执行流程的执行情况,只需从执行队列中将已经准备好执行的可执行实体取出并执行即可。
图3示出根据本公开一实施方式执行引擎在执行处理流程实例过程中并行执行的示意图。如图3所示,针对一个计算图可以启动针对Video1,……,VideoN的N个第一并行执行流程,而每个第一并行执行流程中,可以启动K个第二并行执行流程Order1,……,OrderK,每个第二并行执行流程中从计算图的第一个处理节点的前向执行流程ForwardFunction开始执行,在前向执行流程中,先判断当前处理节点是否准备好执行,也即判断当前处理节点的所有父节点是否已执行完成,如果已经执行完成,则当前处理节点已处于可执行状态,将该当前处理节点对应的可执行实体放入执行队列task queue,执行队列中的可执行实体被执行引擎启动的多个并行线程从执行队列中取出后并行执行。在当前处理节点的可执行实体被执行完成之后,如果当前处理节点为叶子节点,则会启动当前处理节点的后向执行流程Backward function,在后向执行流程中,会判断当前处理节点的所有子节点是否已经完成处理,如果完成处理则当前处理节点处于ready状态,则将当前处理节点的前向执行状态重置,并在当前处理流程为非根节点也即第一个处理节点时调用当前处理节点的父处理节点的后向执行流程,如果当前处理节点为根节点,则调用当前处理节点的前向处理流程,以便开始处理下一视频帧。
在本实施例的一个可选实现方式中,在所述处理流程实例的生成过程中,还基于所述配置数据中所述处理节点的硬件配置信息获取所述系统库中与所述硬件配置信息相匹配的所述可执行实体。
该可选的实现方式中,配置计算图时,可以在配置数据中配置处理节点所依赖的硬件配置信息,例如处理节点是在CPU执行还是在GPU执行等。数据流处理框架针对不同的硬件,可以预先实现算子在不同硬件上的可执行实体,因此在处理流程实例的生成过程中,可以基于配置数据中对于处理节点的硬件配置信息,从系统库中取出与硬件配置信息相匹配的可执行实体后,添加到处理流程实例中。通过这种方式,可以实现不同硬件上的接口调用,使得相关人员无需考虑计算图的硬件实现。
在本实施例的一个可选实现方式中,该方法进一步还包括以下步骤:
获取用户自定义的扩展功能数据;
编译所述扩展功能数据得到对应的库文件,以及将所述库文件添加到系统库中。
该可选的实现方式中,数据流处理框架还预留了用户扩展接口,便于用户在数据流处理框架中实现所需的新的算子、资源、视频解码器等功能数据。用户可以通过用户扩展接口编写实现算子、资源、视频解码器等功能的代码数据,并将该代码数据提供给数据流处理框架,数据流处理框架接收到扩展数据之后将其编译成库文件后添加到系统库中,之后用户可以在构建计算图的过程中使用该新添加的库文件。
在本实施例的一个可选实现方式中,该方法进一步还包括以下步骤:
获取用户提供的待加密数据;
加密所述待加密数据,并将加密后的数据编译成库文件后添加到系统库中。
该可选的实现方式中,数据流处理框架还支持对用户数据的加密,例如对用户的模型文件的加密。数据流处理框架针对用户的待加密数据加密之后,将加密后的数据编译成库文件后添加到系统库中,在计算图的执行流程中,使用到该加密后的库文件时,在验证合法性之后对该库文件进行解密,并在解密后才能正常使用。通过这种方式,实现了数据的静态加密以及动态授权,保证了数据的安全性。
在本实施例的一个可选实现方式中,该方法进一步还包括以下步骤:
基于所述配置数据图形化展示所述计算图。
该可选的实现方式中,数据流处理框架还实现了计算图的可视化显示功能,用户在配置计算图的过程中,可以根据用户输入的配置数据图形化显示用户配置的计算图,用户可以直观地判断出所配制出的计算图是否准确,并且配置有误的情况下,可以及时进行修改,能够提高用户的配置效率。
图4示出根据本公开一实施方式的应用流程示意图。如图4所示,相关人员利用数据流处理框架的计算图编辑器配置计算图,并将配置数据提交给数据流处理框架,数据流处理框架可以根据配置数据生成可视化的计算图并通过计算图显示接口显示,供相关人员检查计算图配置是否正确。相关人员检查无误之后,可以提交给数据流处理框架生成对应的处理流程实例,并将生产的处理流程实例输出至执行引擎进行视频处理。该处理流程实例中包括计算图中各个处理节点对应的可执行实体。相关人员还可以配置一个或多个待处理视频文件的存储位置以及视频处理的硬件信息等。处理流程实例被送入执行引擎执行,执行引擎启动对应的并行执行流程分别通过执行处理流程实例对一个或多个视频文件进行处理。视频文件的执行结果可以根据计算图中输出算子的定义输出到数据库、消息队列、云存储服务器等。执行结果还可以以图形化的方式展示在执行结果显示接口上。
图5示出根据本公开另一实施方式的数据处理方法的流程图。如图5所示,该数据处理方法包括以下步骤:
在步骤S501中,获取计算图的配置数据,其中,计算图包括用于车辆事故定责的处理节点及处理节点之间的依赖关系;
在步骤S502中,基于配置数据,生成车辆事故定责流程实例;
在步骤S503中,基于车辆事故定责流程实例,处理车辆事故现场视频流;
在步骤S504中,输出车辆事故定责流程实例得到的定责结果。
本公开实施例中,相关人员可以在数据流处理框架上配置用于车辆事故定责的计算图,数据流处理框架根据接收到的配置数据自动生成车辆事故定责流程实例,在数据流处理框架上通过运行该车辆事故定责流程实例可以对发生车辆事故的现场视频数据进行处理,以及处理得到车辆事故的定责结果,并输出该定责结果。
计算图以及数据流处理框架的具体细节可以参加图1及相关实施例中的描述,在此不再赘述。
实际应用中,具有车辆事故定责知识以及权限的相关人员可以通过数据流处理框架提供的算子配置用于车辆事故定责的计算图,所配置的处理节点可以包括但不限于车辆识别节点、车辆行为识别节点、人识别节点、人行为识别节点以及定责节点;其中,车辆行为识别节点基于车辆识别节点的车辆识别结果得到车辆行为识别结果;人行为识别节点基于人识别节点的人识别结果得到人行为识别结果。上述配置的各种处理节点可以对应于数据流处理框架预先实现的算子,相关人员只需要根据各个处理节点之间的依赖关系通过拖拽或者使用脚本语言生成计算图的配置数据即可。数据流处理框架可以基于用于车辆事故定责的计算图的配置数据自动生成用于车辆事故定责流程实例,通过运行该车辆事故定责流程实例可以实现对车辆事故现场的视频流数据的处理,进而得到定责结果。
在一些实施例中,车辆事故定责流程实例可以部署在云端,车辆事故现场执法人员或者相关人员通过将车辆事故现场的视频流上传至云端,在云端基于车辆事故定责流程实例对该视频流进行处理,得到定责结果,该定责结果可以输出至执法人员或相关人员的客户端,或者存储在云端,并将云端存储地址推送至执法人员或相关人员的客户端,以便执法人员或者相关人员进行查看。
根据本公开一实施方式的数据处理方法还可应用到教育场景,例如教师行为分析。配置的计算图中至少可以包括用于人脸识别的处理节点和动作识别的处理节点,通过运行该计算图对应的教师行为分析流程实例可以实现对教师行为的分析,并根据分析结果进行各种应用场景处理。
本实施例中步骤502以及步骤503,即车辆事故定责流程实例的生成以及基于车辆事故定责流程实例处理车辆事故现场视频流的步骤,以及其他细节可以参见图1所示实施例及相关实施例中的描述,在此不再赘述。
图6示出根据本公开另一实施方式的数据处理方法的流程图。如图6所示,该数据处理方法包括以下步骤:
在步骤S601中,获取计算图的配置数据,其中,计算图包括用于动作标准化识别的处理节点及处理节点之间的依赖关系;
在步骤S602中,基于配置数据,生成动作标准化识别流程实例;
在步骤S603中,基于动作标准化识别流程实例,比较目标对象完成目标动作的视频流以及目标动作的标准视频流;
在步骤S604中,输出动作标准化识别流程实例得到的比较结果以及对目标对象的动作改进建议。
本公开实施例中,相关人员可以在数据流处理框架上配置用于识别动作是否标准的计算图,数据流处理框架根据接收到的配置数据自动生成动作标准化识别流程实例,并通过运行该动作标准化识别流程实例比较目标对象例如人所做的目标动作(例如体育动作)是否与标准动作一致,并在不一致的情况下可以输出改进建议,以便目标对象能够在下一次完成更加标准的目标动作。
计算图以及数据流处理框架的具体细节可以参加图1及相关实施例中的描述,在此不再赘述。
实际应用中,教练等相关人员可以通过数据流处理框架提供的算子配置用于识别动作是否标准的计算图,所配置的算子构成计算图上的处理节点,每个处理节点用于完成相应的功能,例如检测视频帧中的目标对象的处理节点,根据多个连续视频帧中检测到的目标对象的信息识别目标对象的动作的处理节点,将该动作与标准动作进行比较的处理节点,根据比较结果给出动作改进建议的处理节点等。上述配置的各种处理节点可以对应于数据流处理框架预先实现的算子,相关人员只需要根据各个处理节点之间的依赖关系通过拖拽或者使用脚本语言生成计算图的配置数据即可。数据流处理框架可以基于用于识别动作是否标准的计算图的配置数据自动生成动作标准识别流程实例,通过运行该动作标准识别流程实例可以实现对目标对象动作的监控,以及根据监控结果给出动作改进建议。
该动作标准识别流程实例可用于在线体育课程中,该动作标准识别流程实例可以部署在远端,教练和学员通过在线视频客户端连线后,客户端可以将教练和学员的视频分别上传到运动,运动基于该动作标准识别流程实例识别教练的动作和学员的动作,并比较学员的动作与教练的动作是否一致,在不一致的情况下可以为学员提供改进建议,该改进建议可以推送至学员的客户端进行显示或者语音播报等。
在本实施例的一个可选实现方式中,步骤S604,即输出动作标准化识别流程实例得到的比较结果以及对目标对象的动作改进建议的步骤,进一步包括以下步骤:
将比较结果以及动作改进建议输出至目标对象的可穿戴设备上。
该可选的实现方式中,考虑到目标对象在完成目标动作过程中可能不方便查看客户端上显示的信息,因此可以佩戴可穿戴设备,进而将比较结果以及动作改进建议输出至可穿戴设备上,以语音播放或者画面显示的方式提供给目标对象。
可穿戴设备可以包括但不限于耳机、手表、AR眼镜设备等。以AR眼镜设备为例,改进建议可以以虚拟画面的形式显示在眼镜上,并且还可以语音辅助的方式提示目标对象如何改进动作。
本实施例中步骤602以及步骤603,即动作标准识别流程实例的生成以及基于动作标准识别流程实例处理目标对象完成目标动作的视频流的步骤,以及其他细节可以参见图1所示实施例及相关实施例中的描述,在此不再赘述。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
根据本公开一实施方式的数据处理装置,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。该数据处理装置包括:
第一获取模块,被配置为获取计算图的配置数据,其中,所述计算图包括处理节点及所述处理节点之间的依赖关系;
第一生成模块,被配置为基于所述配置数据,生成处理流程实例;
第一处理模块,被配置为基于所述处理流程实例,处理目标数据;
第一展示模块,被配置为展示所述处理流程实例的处理结果。
本实施例中,针对数据处理算法例如视频处理算法以及数据处理应用如视频处理应用等开发了一个基于计算图的数据流处理框架,例如视频流处理框架(VideoFlow),该数据流处理框架围绕有状态的计算图和无状态的资源,通过将数据流处理管线抽象成有状态的有向无环图,得到针对数据流处理的计算图。计算图包括多个处理节点,且多个处理节点之间具有依赖关系。计算图中的多个处理节点以及多个处理节点之间的依赖关系构成了有向无环图,处理节点对应有向无环图中的节点,依赖关系对应有向无环图中的边。数据流的一个完整处理流程例如行人识别、行人跟踪等可以构建为一个计算图,而计算图中各处理节点为该视频处理流程中的一个处理环节,子处理环节依赖于父处理环节的处理结果。
本公开实施例中的数据流处理框架预先实现了各种算子,每个算子用于实现数据流的一个处理环节,因此用户可以利用数据流处理框架中预先实现的算子配置一个完整视频处理流程的计算图,该计算图中的各个处理节点由数据流处理框架中的算子构成。数据流处理框架中还预先抽象出了各种资源,并实现了抽象出的资源。算子可以调用抽象出的资源,资源对应于视频处理流程中无状态的密集运算,比如深度学习模型的推理等。数据流处理框架中预先抽象出了多种不同类型的算子以及算子中调用的资源,用户可以利用数据流处理框架提供的配置接口配置针对计算图的配置数据,该配置数据中可以配置计算图中各个处理节点以及各个处理节点之间的依赖关系,用户配置处理节点的过程中,可以配置处理节点使用的算子的标识数据、输入参数以及当前处理节点的子处理节点等,在配置完整个计算图之后,数据流处理框架可以根据用户提供的配置数据生成包括计算图的处理流程实例。该处理流程实例可以包括用于执行计算图所实现的数据流处理流程的可执行代码,该处理流程实例为硬件设备上的可执行数据例如编译后的字节编码,用于按照计算图的处理流程对数据流进行分析处理。
在一些实施例中,配置数据中包括计算图中包括的各个处理节点对应的算子列表、处理节点之间依赖关系的定义、算子的属性定义、被算子调用的资源的定义、自定义的库文件等数据。
数据流处理框架基于配置数据生成处理流程实例之后,可以基于处理流程实例对目标数据进行处理。目标数据可以是任意数据,例如可以是视频数据,处理流程实例可以是用于处理视频数据的处理流程实例,例如可以是行人检测模型的运行实例等。在基于处理流程实例得到目标数据的处理结果之后,还可以将该处理结果展示在显示设备上。
本公开实施例提出的数据处理装置中,本公开实施例中,用户可以通过数据流处理框架配置实现数据流处理流程的计算图,数据流处理框架可以根据计算图的配置数据自动生成处理流程实例,并通过执行该处理流程实例完成计算图中定义的数据处理流程。通过这种方式,能够使得相关人员无需关心数据处理流程的具体实现算法,只需根据需要配置计算图,能够实现数据处理流程的快速上线,节省相关人员的应用开发时间,提高应用开发效率。
在本实施例的一个可选实现方式中,所述生成模块,包括:
获取子模块,被配置为基于所述配置数据中所述处理节点的标识数据,获取系统库中所述处理节点对应的可执行实体;
生成子模块,被配置为根据所述可执行实体生成所述处理流程实例。
该可选的实现方式中,在处理流程实例的生成过程中,数据流处理框架读取配置数据,并基于计算图中各个处理节点中定义的标识数据,从系统库中获取与标识数据对应的可执行实体,也即算子对应的可执行代码,将该可执行实体添加到处理流程实例中,以便在执行处理流程实例时,能够在相应环节调用该可执行实体完成对视频帧的相应处理。通过这种方式,数据流处理框架可以预先抽象出用于处理视频帧的算子,并预先在数据流处理框架中实现抽象出的算子,用户在通过数据流处理框架配置实现视频处理流程的计算图时,使用预先在框架中实现的上述算子作为计算图中的处理节点,数据流处理框架可以根据计算图的配置数据自动生成处理流程实例,并通过执行该处理流程实例完成计算图中定义的视频处理流程。
在本实施例的一个可选实现方式中,所述处理模块,包括:
第一启动子模块,被配置为启动所述计算图的至少一个第一并行执行流程,每个所述第一并行执行流程中通过执行所述计算图对应的所述处理流程实例对目标数据中的视频进行处理。
该可选的实现方式中,数据流处理框架还实现了计算图的执行引擎,该执行引擎用于执行根据计算图生成的处理流程实例。在处理流程实例的执行过程中,可以启动一个或多个第一并行执行流程,不同的并行执行流程对应处理不同的视频,并且每个第一并行执行流程中通过运行处理流程实例对相应的视频按照计算图中的处理流程进行分析处理。通过这种方式,可以针对同一个计算图,启动多个并行执行流程,分别对不同的视频进行计算图中的处理分析流程,能够实现视频间的并行。
在本实施例的一个可选实现方式中,所述第一启动子模块,包括:
第二启动子模块,被配置为启动多个第二并行执行流程,每个所述第二并行执行流程中通过执行所述计算图对应的所述处理流程实例对视频中的视频帧进行处理。
该可选的实现方式中,每个第一并行执行流程中还可以启动多个第二并行执行流程,用于对同一视频中的不同视频帧按照计算图中的处理流程进行并行处理。通过这种方式,还可以实现视频中视频帧间的并行处理,能够进一步提高视频帧的处理速度。
在本实施例的一个可选实现方式中,所述第二启动子模块,包括:
第一调用子模块,被配置为基于所述计算图中的所述依赖关系,从所述计算图的第一个处理节点开始调用所述处理节点对应的所述可执行实体,以便由所述可执行实体对所述视频帧进行处理。
该可选的实现方式中,第二并行执行流程中,可以通过执行处理流程实例实现计算图的处理流程。在第二并行执行流程中,从计算图的第一个处理节点,也即计算图的入口算子(例如解码算子)开始,对输入的视频帧进行处理。处理流程实例的执行过程中,执行到当前处理节点后,通过调用当前处理节点对应的可执行实体完成该环节对视频帧的处理流程。
在本实施例的一个可选实现方式中,所述第二启动子模块,还包括:
第二调用子模块,被配置为在调用完成所述计算图中的所有处理节点对应的所述可执行实体后,接收下一视频帧,并针对所述下一视频帧调用所述计算图中的所述处理节点对应的所述可执行实体。
该可选的实现方式中,针对当前视频帧,从计算图的第一个处理节点开始处理直至最后一个处理节点(也即输出算子),通过调用相应处理节点对应的可执行实体对当前视频帧进行处理,并在完成对当前视频帧的处理之后,可以重新从第一个处理节点开始,接收下一视频帧,并调用相应处理节点对应的可执行实体对下一视频帧进行处理,最终由多个第二并行执行流程顺序完成视频中多个视频帧的处理,实现帧间并行。
在本实施例的一个可选实现方式中,所述第一调用子模块,包括:
入队子模块,被配置为响应于针对当前处理节点对应的所述可执行实体的调用请求,在所述当前处理节点的所述可执行实体处于可执行状态时,将所述当前处理节点的所述可执行实体放入执行队列,以等待执行;
触发子模块,被配置为响应于所述当前处理节点的所述可执行实体被执行完成的触发事件,在所述当前处理节点为所述计算图中的非叶子节点时,触发所述当前处理节点的子处理节点的调用请求。
该可选的实现方式中,数据流处理框架在处理流程实例中针对每个处理节点添加了前向执行流程,在当前处理节点对应的可执行实体被调用时,首先由该当前处理节点的该前向执行流判断当前处理节点是否处于可执行状态(例如该当前处理节点的所有父处理节点是否均已执行完成等),在当前处理节点处于可执行状态的情况下,前向执行流程将当前处理节点的可执行实体放入执行队列中,执行引擎可以启动多个并行执行线程,从执行队列中取出可执行实体进而执行该可执行实体,可执行实体例如可以包括编译后的可执行的字节编码,可执行实体在执行过程中实现对视频帧的处理。
在当前处理节点的可执行实体被执行引擎从执行队列取出并执行完成之后,如果当前处理节点为非叶子节点,也即非输出算子,则触发当前处理节点的子处理节点的调用请求,也即调用当前处理节点的所有子处理节点的可执行实体,并进行与当前处理节点类似的上述流程。通过这种方式,可以实现从计算图的第一个处理节点到叶子节点也即输出算子的整个视频处理流程。
在本实施例的一个可选实现方式中,所述第一调用子模块,还包括:
第三调用子模块,被配置为响应于所述当前处理节点的所述可执行实体被执行完成的触发事件,在所述当前处理节点为所述计算图中的叶子节点时,调用所述当前处理节点的后向执行流程;所述后向执行流程中,在所述当前处理节点的所有子处理节点的可执行实体均被执行完成后,重置所述当前处理节点的前向执行状态,以及调用所述当前处理节点的父处理节点的后向执行流程。
该可选的实现方式中,数据流处理框架在处理流程实例中还针对每个处理节点添加了后向执行实体,在当前处理节点的可执行实体被执行引擎从执行队列取出并执行完成之后,如果当前处理节点为叶子节点,也即输出算子,则调用当前处理节点的后向执行流程。
该后向执行流程中,判断当前处理节点的所有子处理节点的可执行实体是否均被执行完成,也即判断放入执行队列中的所有子处理节点的可执行实体是否均被执行引擎执行完成,如果执行完成,则重置当前处理节点的前向执行状态(以便在所有处理节点的前向执行状态均被重置以后,处理新的视频帧)以及调用其父处理节点的后向执行流程,如果当前处理节点为叶子节点,则可以直接重置叶子节点的前向执行状态并调用父处理节点的后向执行流程。通过这种方式,在后向遍历到该计算图的第一个处理节点之后,可以重新调用第一处理节点的前向执行流程,以便对下一视频帧进行处理。
在本实施例的一个可选实现方式中,该装置还包括:
第三启动模块,被配置为启动多个第三并行执行流程,用于并行执行所述执行队列中的多个所述可执行实体。
该可选的实现方式中,执行引擎通过启动多个第三并行执行流程例如多个线程,用于从执行队列中取出可执行实体,进而在线程中执行可执行实体,以便对相应的视频帧进行处理。通过这种方式,第二并行执行流程将处于准备好状态的可执行实体放入执行队列中,而执行引擎则通过多线程并行执行的方式从执行队列中取出并执行可执行实体,实现多算子的并行执行。可以理解的是,第二并行执行流程和第三并行执行流程可以是并行执行的,第三并行执行流程无需关系第二并行执行流程的执行情况,只需从执行队列中将已经准备好执行的可执行实体取出并执行即可。
在本实施例的一个可选实现方式中,在所述处理流程实例的生成过程中,还基于所述配置数据中所述处理节点的硬件配置信息获取所述系统库中与所述硬件配置信息相匹配的所述可执行实体。
该可选的实现方式中,配置计算图时,可以在配置数据中配置处理节点所依赖的硬件配置信息,例如处理节点是在CPU执行还是在GPU执行等。数据流处理框架针对不同的硬件,可以预先实现算子在不同硬件上的可执行实体,因此在处理流程实例的生成过程中,可以基于配置数据中对于处理节点的硬件配置信息,从系统库中取出与硬件配置信息相匹配的可执行实体后,添加到处理流程实例中。通过这种方式,可以实现不同硬件上的接口调用,使得相关人员无需考虑计算图的硬件实现。
在本实施例的一个可选实现方式中,该装置还包括:
第二获取模块,被配置为获取用户自定义的扩展功能数据;
编译模块,被配置为编译所述扩展功能数据得到对应的库文件,以及将所述库文件添加到系统库中。
该可选的实现方式中,数据流处理框架还预留了用户扩展接口,便于用户在数据流处理框架中实现所需的新的算子、资源、视频解码器等功能数据。用户可以通过用户扩展接口编写实现算子、资源、视频解码器等功能的代码数据,并将该代码数据提供给数据流处理框架,数据流处理框架接收到扩展数据之后将其编译成库文件后添加到系统库中,之后用户可以在构建计算图的过程中使用该新添加的库文件。
在本实施例的一个可选实现方式中,该装置还包括:
第三获取模块,被配置为获取用户提供的待加密数据;
加密模块,被配置为加密所述待加密数据,并将加密后的数据编译成库文件后添加到系统库中。
该可选的实现方式中,数据流处理框架还支持对用户数据的加密,例如对用户的模型文件的加密。数据流处理框架针对用户的待加密数据加密之后,将加密后的数据编译成库文件后添加到系统库中,在计算图的执行流程中,使用到该加密后的库文件时,在验证合法性之后对该库文件进行解密,并在解密后才能正常使用。通过这种方式,实现了数据的静态加密以及动态授权,保证了数据的安全性。
在本实施例的一个可选实现方式中,该装置还包括:
第二展示模块,被配置为基于配置数据图形化展示计算图。
该可选的实现方式中,数据流处理框架还实现了计算图的可视化显示功能,用户在配置计算图的过程中,可以根据用户输入的配置数据图形化显示用户配置的计算图,用户可以直观地判断出所配制出的计算图是否准确,并且配置有误的情况下,可以及时进行修改,能够提高用户的配置效率。
根据本公开另一实施方式的数据处理装置,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。该数据处理装置包括:
第四获取模块,被配置为获取计算图的配置数据,其中,计算图包括用于车辆事故定责的处理节点及处理节点之间的依赖关系;
第二生成模块,被配置为基于配置数据,生成车辆事故定责流程实例;
第二处理模块,被配置为基于车辆事故定责流程实例,处理车辆事故现场视频流;
第一输出模块,被配置为输出车辆事故定责流程实例得到的定责结果。
本公开实施例中,相关人员可以在数据流处理框架上配置用于车辆事故定责的计算图,数据流处理框架根据接收到的配置数据自动生成车辆事故定责流程实例,在数据流处理框架上通过运行该车辆事故定责流程实例可以对发生车辆事故的现场视频数据进行处理,以及处理得到车辆事故的定责结果,并输出该定责结果。
计算图以及数据流处理框架的具体细节可以参加图1及相关实施例中的描述,在此不再赘述。
实际应用中,具有车辆事故定责知识以及权限的相关人员可以通过数据流处理框架提供的算子配置用于车辆事故定责的计算图,所配置的处理节点可以包括但不限于车辆识别节点、车辆行为识别节点、人识别节点、人行为识别节点以及定责节点;其中,车辆行为识别节点基于车辆识别节点的车辆识别结果得到车辆行为识别结果;人行为识别节点基于人识别节点的人识别结果得到人行为识别结果。上述配置的各种处理节点可以对应于数据流处理框架预先实现的算子,相关人员只需要根据各个处理节点之间的依赖关系通过拖拽或者使用脚本语言生成计算图的配置数据即可。数据流处理框架可以基于用于车辆事故定责的计算图的配置数据自动生成用于车辆事故定责流程实例,通过运行该车辆事故定责流程实例可以实现对车辆事故现场的视频流数据的处理,进而得到定责结果。
在一些实施例中,车辆事故定责流程实例可以部署在云端,车辆事故现场执法人员或者相关人员通过将车辆事故现场的视频流上传至云端,在云端基于车辆事故定责流程实例对该视频流进行处理,得到定责结果,该定责结果可以输出至执法人员或相关人员的客户端,或者存储在云端,并将云端存储地址推送至执法人员或相关人员,以便执法人员或者相关人员进行查看。
根据本公开一实施方式的数据处理装置还可应用到教育场景,例如教师行为分析。配置的计算图中至少可以包括用于人脸识别的处理节点和动作识别的处理节点,通过运行该计算图对应的教师行为分析流程实例可以实现对教师行为的分析,并根据分析结果进行各种应用场景处理。
本实施例中第二生成模块以及第二处理模块,以及其他细节可以参见上述其他实施例中的相关描述,例如第一生成模块、第二处理模块的相关描述,在此不再赘述。
根据本公开另一实施方式的数据处理装置,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。该数据处理装置包括:
第五获取模块,被配置为获取计算图的配置数据,其中,计算图包括用于动作标准化识别的处理节点及处理节点之间的依赖关系;
第三生成模块,被配置为基于配置数据,生成动作标准化识别流程实例;
比较模块,被配置为基于动作标准化识别流程实例,比较目标对象完成目标动作的视频流以及目标动作的标准视频流;
第二输出模块,被配置为输出动作标准化识别流程实例得到的比较结果以及对目标对象的动作改进建议。
本公开实施例中,相关人员可以在数据流处理框架上配置用于识别动作是否标准的计算图,数据流处理框架根据接收到的配置数据自动生成动作标准化识别流程实例,并通过运行该动作标准化识别流程实例比较目标对象例如人所做的目标动作(例如体育动作)是否与标准动作一致,并在不一致的情况下可以输出改进建议,以便目标对象能够在下一次完成更加标准的目标动作。
计算图以及数据流处理框架的具体细节可以参加图1及相关实施例中的描述,在此不再赘述。
实际应用中,教练等相关人员可以通过数据流处理框架提供的算子配置用于识别动作是否标准的计算图,所配置的算子构成计算图上的处理节点,每个处理节点用于完成相应的功能,例如检测视频帧中的目标对象的处理节点,根据多个连续视频帧中检测到的目标对象的信息识别目标对象的动作的处理节点,将该动作与标准动作进行比较的处理节点,根据比较结果给出动作改进建议的处理节点等。上述配置的各种处理节点可以对应于数据流处理框架预先实现的算子,相关人员只需要根据各个处理节点之间的依赖关系通过拖拽或者使用脚本语言生成计算图的配置数据即可。数据流处理框架可以基于用于识别动作是否标准的计算图的配置数据自动生成动作标准识别流程实例,通过运行该动作标准识别流程实例可以实现对目标对象动作的监控,以及根据监控结果给出动作改进建议。
该动作标准识别流程实例可用于在线体育课程中,该动作标准识别流程实例可以部署在远端,教练和学员通过在线视频客户端连线后,客户端可以将教练和学员的视频分别上传到运动,运动基于该动作标准识别流程实例识别教练的动作和学员的动作,并比较学员的动作与教练的动作是否一致,在不一致的情况下可以为学员提供改进建议,该改进建议可以推送至学员的客户端进行显示或者语音播报等。
在本实施例的一个可选实现方式中,第二输出模块,包括:
输出子模块,被配置为将比较结果以及动作改进建议输出至目标对象的可穿戴设备上。
该可选的实现方式中,考虑到目标对象在完成目标动作过程中可能不方便查看客户端上显示的信息,因此可以佩戴可穿戴设备,进而将比较结果以及动作改进建议输出至可穿戴设备上,以语音播放或者画面显示的方式提供给目标对象。
可穿戴设备可以包括但不限于耳机、手表、AR眼镜设备等。以AR眼镜设备为例,改进建议可以以画面的形式显示在眼镜上,并且还可以语音辅助的方式提示目标对象如何改进动作。
本实施例中第三生成模块以及比较模块,以及其他细节可以参见上述其他实施例中的相关描述,例如第一生成模块、第二处理模块的相关描述,在此不再赘述。
图7是适于用来实现根据本公开实施方式的数据处理方法的电子设备的结构示意图。
如图7所示,电子设备700包括处理单元701,其可实现为CPU、GPU、FPGA、NPU等处理单元。处理单元701可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行本公开上述任一方法的实施方式中的各种处理。在RAM703中,还存储有电子设备700操作所需的各种程序和数据。处理单元701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施方式,上文参考本公开实施方式中的任一方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行本公开实施方式中任一方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (22)
1.一种数据处理方法,其中,包括:
获取计算图的配置数据,其中,所述计算图包括处理节点及所述处理节点之间的依赖关系;
基于所述配置数据,生成处理流程实例;
基于所述处理流程实例,处理目标数据;
展示所述处理流程实例的处理结果。
2.根据权利要求1所述的方法,其中,基于所述配置数据,生成处理流程实例,包括:
基于所述配置数据中所述处理节点的标识数据,获取系统库中所述处理节点对应的可执行实体;
根据所述可执行实体生成所述处理流程实例。
3.根据权利要求1或2所述的方法,其中,基于所述处理流程实例,处理目标数据,包括:
启动所述计算图的至少一个第一并行执行流程,每个所述第一并行执行流程中通过执行所述计算图对应的所述处理流程实例对目标数据中的视频进行处理。
4.根据权利要求3所述的方法,其中,每个所述第一并行执行流程中通过执行所述计算图对应的所述处理流程实例对目标数据中的视频进行处理,包括:
启动多个第二并行执行流程,每个所述第二并行执行流程中通过执行所述计算图对应的所述处理流程实例对所述视频中的视频帧进行处理。
5.根据权利要求4所述的方法,其中,每个所述第二并行执行流程中通过执行所述计算图对应的所述处理流程实例对所述视频中的视频帧进行处理,包括:
基于所述计算图中的所述依赖关系,从所述计算图的第一个处理节点开始调用所述处理节点对应的所述可执行实体,以便由所述可执行实体对所述视频帧进行处理。
6.根据权利要求5所述的方法,其中,每个所述第二并行执行流程中通过执行所述计算图对应的所述处理流程实例对所述视频中的视频帧进行处理,还包括:
在调用完成所述计算图中的所有处理节点对应的所述可执行实体后,接收下一视频帧,并针对所述下一视频帧调用所述计算图中的所述处理节点对应的所述可执行实体。
7.根据权利要求5所述的方法,其中,基于所述计算图中的所述依赖关系,从所述计算图的第一个处理节点开始调用所述处理节点对应的所述可执行实体,包括:
响应于针对当前处理节点对应的所述可执行实体的调用请求,在所述当前处理节点的所述可执行实体处于可执行状态时,将所述当前处理节点的所述可执行实体放入执行队列,以等待执行;
响应于所述当前处理节点的所述可执行实体被执行完成的触发事件,在所述当前处理节点为所述计算图中的非叶子节点时,触发所述当前处理节点的子处理节点的调用请求。
8.根据权利要求5所述的方法,其中,基于所述计算图中的所述依赖关系,从所述计算图的第一个处理节点开始调用所述处理节点对应的所述可执行实体,还包括:
响应于所述当前处理节点的所述可执行实体被执行完成的触发事件,在所述当前处理节点为所述计算图中的叶子节点时,调用所述当前处理节点的后向执行流程;所述后向执行流程中,在所述当前处理节点的所有子处理节点的可执行实体均被执行完成后,重置所述当前处理节点的前向执行状态,以及调用所述当前处理节点的父处理节点的后向执行流程。
9.根据权利要求7所述的方法,还包括:
启动多个第三并行执行流程,用于并行执行所述执行队列中的多个所述可执行实体。
10.根据权利要求1-2、4-9任一项所述的方法,其中,在所述处理流程实例的生成过程中,还基于所述配置数据中所述处理节点的硬件配置信息获取所述系统库中与所述硬件配置信息相匹配的所述可执行实体。
11.根据权利要求1-2、4-9任一项所述的方法,还包括:
获取用户自定义的扩展功能数据;
编译所述扩展功能数据得到对应的库文件,以及将所述库文件添加到系统库中。
12.根据权利要求1-2、4-9任一项所述的方法,还包括:
获取用户提供的待加密数据;
加密所述待加密数据,并将加密后的数据编译成库文件后添加到系统库中。
13.根据权利要求1-2、4-9任一项所述的方法,还包括:
基于所述配置数据图形化展示所述计算图。
14.一种数据处理方法,其中,包括:
获取计算图的配置数据,其中,所述计算图包括用于车辆事故定责的处理节点及所述处理节点之间的依赖关系;
基于所述配置数据,生成车辆事故定责流程实例;
基于所述车辆事故定责流程实例,处理车辆事故现场视频流;
输出所述车辆事故定责流程实例得到的定责结果。
15.根据权利要求14所述的方法,所述处理节点包括车辆识别节点、车辆行为识别节点、人识别节点、人行为识别节点以及定责节点;其中,所述车辆行为识别节点基于所述车辆识别节点的车辆识别结果得到车辆行为识别结果;所述人行为识别节点基于所述人识别节点的人识别结果得到人行为识别结果。
16.一种数据处理方法,其中,包括:
获取计算图的配置数据,其中,所述计算图包括用于动作标准化识别的处理节点及所述处理节点之间的依赖关系;
基于所述配置数据,生成动作标准化识别流程实例;
基于所述动作标准化识别流程实例,比较目标对象完成目标动作的视频流以及目标动作的标准视频流;
输出所述动作标准化识别流程实例得到的比较结果以及对所述目标对象的动作改进建议。
17.根据权利要求16所述的方法,输出所述动作标准化识别流程实例得到的比较结果以及对所述目标对象的动作改进建议,包括:
将所述比较结果以及动作改进建议输出至所述目标对象的可穿戴设备上。
18.一种数据处理装置,其中,包括:
第一获取模块,被配置为获取计算图的配置数据,其中,所述计算图包括处理节点及所述处理节点之间的依赖关系;
第一生成模块,被配置为基于所述配置数据,生成处理流程实例;
第一处理模块,被配置为基于所述处理流程实例,处理目标数据;
第一展示模块,被配置为展示所述处理流程实例的处理结果。
19.一种数据处理装置,其中,包括:
第四获取模块,被配置为获取计算图的配置数据,其中,所述计算图包括用于车辆事故定责的处理节点及所述处理节点之间的依赖关系;
第二生成模块,被配置为基于所述配置数据,生成车辆事故定责流程实例;
第二处理模块,被配置为基于所述车辆事故定责流程实例,处理车辆事故现场视频流;
第一输出模块,被配置为输出所述车辆事故定责流程实例得到的定责结果。
20.一种数据处理装置,其中,包括:
第五获取模块,被配置为获取计算图的配置数据,其中,所述计算图包括用于动作标准化识别的处理节点及所述处理节点之间的依赖关系;
第三生成模块,被配置为基于所述配置数据,生成动作标准化识别流程实例;
比较模块,被配置为基于所述动作标准化识别流程实例,比较目标对象完成目标动作的视频流以及目标动作的标准视频流;
第二输出模块,被配置为输出所述动作标准化识别流程实例得到的比较结果以及对所述目标对象的动作改进建议。
21.一种电子设备,其中,包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-17任一项所述的方法。
22.一种计算机可读存储介质,其上存储有计算机指令,其中,该计算机指令被处理器执行时实现权利要求1-17任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010496282.4A CN113760394B (zh) | 2020-06-03 | 2020-06-03 | 数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010496282.4A CN113760394B (zh) | 2020-06-03 | 2020-06-03 | 数据处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113760394A true CN113760394A (zh) | 2021-12-07 |
CN113760394B CN113760394B (zh) | 2022-05-13 |
Family
ID=78783290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010496282.4A Active CN113760394B (zh) | 2020-06-03 | 2020-06-03 | 数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760394B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098181A (zh) * | 2022-05-26 | 2022-09-23 | 浪潮软件集团有限公司 | 一种国产cpu和os的视频流组配方法及装置 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4967375A (en) * | 1986-03-17 | 1990-10-30 | Star Technologies, Inc. | Fast architecture for graphics processor |
US5568644A (en) * | 1995-05-05 | 1996-10-22 | Apple Computer, Inc. | Method and apparatus using a tree structure for the dispatching of interrupts |
US20090031104A1 (en) * | 2005-02-07 | 2009-01-29 | Martin Vorbach | Low Latency Massive Parallel Data Processing Device |
CN101387958A (zh) * | 2008-10-20 | 2009-03-18 | 东软集团股份有限公司 | 一种图像数据的处理方法及装置 |
US20100042598A1 (en) * | 2007-04-19 | 2010-02-18 | S. Grants Co., Ltd. | Coupled node tree backup/restore apparatus, backup/restore method, and program |
CN102033748A (zh) * | 2010-12-03 | 2011-04-27 | 中国科学院软件研究所 | 一种数据处理流程代码的生成方法 |
WO2011151000A1 (en) * | 2010-04-30 | 2011-12-08 | Pact Xpp Technologies Ag | Method and device for data processing |
US20140258340A1 (en) * | 2013-03-05 | 2014-09-11 | Qualcomm Innovation Center, Inc. | Systems, methods, and apparatus for prefetching node data for linked data structure traversal |
CN108415740A (zh) * | 2018-03-09 | 2018-08-17 | 成都优易数据有限公司 | 一种应用于数据分析任务的工作流调度方法 |
CN108874907A (zh) * | 2018-05-25 | 2018-11-23 | 北京明略软件系统有限公司 | 一种数据查询方法和装置、计算机可读存储介质 |
CN109754073A (zh) * | 2018-12-29 | 2019-05-14 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、电子设备和可读存储介质 |
CN109783550A (zh) * | 2018-12-29 | 2019-05-21 | 北京奇安信科技有限公司 | 数据处理方法、装置、系统、计算机可读存储介质 |
CN110213636A (zh) * | 2018-04-28 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 在线视频的视频帧生成方法、装置、存储介质及设备 |
CN110297632A (zh) * | 2019-06-12 | 2019-10-01 | 百度在线网络技术(北京)有限公司 | 代码生成方法和装置 |
CN110310034A (zh) * | 2019-06-28 | 2019-10-08 | 京东数字科技控股有限公司 | 一种应用于SaaS的服务编排、业务流程处理方法和装置 |
CN111125451A (zh) * | 2019-12-25 | 2020-05-08 | 北京百度网讯科技有限公司 | 数据生产加工方法、装置、电子设备及存储介质 |
CN111209309A (zh) * | 2020-01-13 | 2020-05-29 | 腾讯科技(深圳)有限公司 | 数据流图处理结果确定方法、装置、设备及存储介质 |
-
2020
- 2020-06-03 CN CN202010496282.4A patent/CN113760394B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4967375A (en) * | 1986-03-17 | 1990-10-30 | Star Technologies, Inc. | Fast architecture for graphics processor |
US5568644A (en) * | 1995-05-05 | 1996-10-22 | Apple Computer, Inc. | Method and apparatus using a tree structure for the dispatching of interrupts |
US20090031104A1 (en) * | 2005-02-07 | 2009-01-29 | Martin Vorbach | Low Latency Massive Parallel Data Processing Device |
US20100042598A1 (en) * | 2007-04-19 | 2010-02-18 | S. Grants Co., Ltd. | Coupled node tree backup/restore apparatus, backup/restore method, and program |
CN101387958A (zh) * | 2008-10-20 | 2009-03-18 | 东软集团股份有限公司 | 一种图像数据的处理方法及装置 |
WO2011151000A1 (en) * | 2010-04-30 | 2011-12-08 | Pact Xpp Technologies Ag | Method and device for data processing |
CN102033748A (zh) * | 2010-12-03 | 2011-04-27 | 中国科学院软件研究所 | 一种数据处理流程代码的生成方法 |
US20140258340A1 (en) * | 2013-03-05 | 2014-09-11 | Qualcomm Innovation Center, Inc. | Systems, methods, and apparatus for prefetching node data for linked data structure traversal |
CN108415740A (zh) * | 2018-03-09 | 2018-08-17 | 成都优易数据有限公司 | 一种应用于数据分析任务的工作流调度方法 |
CN110213636A (zh) * | 2018-04-28 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 在线视频的视频帧生成方法、装置、存储介质及设备 |
CN108874907A (zh) * | 2018-05-25 | 2018-11-23 | 北京明略软件系统有限公司 | 一种数据查询方法和装置、计算机可读存储介质 |
CN109754073A (zh) * | 2018-12-29 | 2019-05-14 | 北京中科寒武纪科技有限公司 | 数据处理方法、装置、电子设备和可读存储介质 |
CN109783550A (zh) * | 2018-12-29 | 2019-05-21 | 北京奇安信科技有限公司 | 数据处理方法、装置、系统、计算机可读存储介质 |
CN110297632A (zh) * | 2019-06-12 | 2019-10-01 | 百度在线网络技术(北京)有限公司 | 代码生成方法和装置 |
CN110310034A (zh) * | 2019-06-28 | 2019-10-08 | 京东数字科技控股有限公司 | 一种应用于SaaS的服务编排、业务流程处理方法和装置 |
CN111125451A (zh) * | 2019-12-25 | 2020-05-08 | 北京百度网讯科技有限公司 | 数据生产加工方法、装置、电子设备及存储介质 |
CN111209309A (zh) * | 2020-01-13 | 2020-05-29 | 腾讯科技(深圳)有限公司 | 数据流图处理结果确定方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
BISWANATH PANDA: "PLANET: Massively Parallel Learning of Tree Ensembles with MapReduce", 《2009 VLDB ENDOWMENT, ACM》 * |
樊兴等: "一种多机情报信息并行处理方法", 《华中科技大学学报(自然科学版)》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098181A (zh) * | 2022-05-26 | 2022-09-23 | 浪潮软件集团有限公司 | 一种国产cpu和os的视频流组配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113760394B (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9569288B2 (en) | Application pattern discovery | |
CN112051993B (zh) | 状态机模板的生成及任务处理方法、装置、介质及设备 | |
US9471211B2 (en) | Chaining applications | |
US10956132B1 (en) | Unified code and data management for model development | |
US11900263B2 (en) | Augmenting neural networks | |
KR102187741B1 (ko) | 메타데이터 크라우드 소싱 시스템 및 방법 | |
CN116775183A (zh) | 基于大语言模型的任务生成方法、系统、设备及存储介质 | |
US11501655B2 (en) | Automated skill tagging, knowledge graph, and customized assessment and exercise generation | |
CN113760394B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
Skelin et al. | Parameterized dataflow scenarios | |
US11119899B2 (en) | Determining potential test actions | |
CN116601644A (zh) | 使用分布式分类账提供可解释的机器学习模型结果 | |
Naps et al. | Using visualization to teach parallel algorithms | |
CN115473839A (zh) | 基于埋点的数据处理方法、装置、设备及存储介质 | |
CN113326113A (zh) | 任务处理方法及装置、电子设备和存储介质 | |
CN112068895A (zh) | 代码配置方法、装置、视频播放设备及存储介质 | |
Mavridou et al. | Coordination of dynamic software components with JavaBIP | |
CN111597200A (zh) | 数据处理方法、装置及存储介质 | |
US11606446B1 (en) | Microapplication composition | |
US11811626B1 (en) | Ticket knowledge graph enhancement | |
US11714610B2 (en) | Software code integration from a media file | |
CN114064238A (zh) | 人工智能数据处理装置和数据处理的方法 | |
CN112395197A (zh) | 一种数据处理方法、数据处理装置及电子设备 | |
Alfonso Rodriguez Garzon | Dynamic container orchestration for a device-cloud continuum | |
Chandler | GPU-accelerated vision modeling with the HPE cognitive computing toolkit |
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 |