CN113268328A - 批处理方法、装置、计算机设备和存储介质 - Google Patents
批处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113268328A CN113268328A CN202110578044.2A CN202110578044A CN113268328A CN 113268328 A CN113268328 A CN 113268328A CN 202110578044 A CN202110578044 A CN 202110578044A CN 113268328 A CN113268328 A CN 113268328A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- processing
- batch processing
- batch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 490
- 238000013136 deep learning model Methods 0.000 claims abstract description 92
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000012549 training Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 25
- 230000008569 process Effects 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000010923 batch production Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及数据处理技术领域,提供了一种批处理方法、装置、计算机设备和存储介质。所述方法包括:接收业务数据处理请求,业务数据处理请求携带待处理数据;将待处理数据放入预设的输入队列中,生成与待处理数据对应的数据标识;当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据;获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,得到对应的批处理结果;根据批处理结果和数据标识,返回业务数据处理结果。采用本方法能够实现对数据处理并行计算能力的充分利用,节约数据处理资源。
Description
技术领域
本申请涉及数据处理技术领域,特别是涉及一种批处理方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了模型服务技术,模型服务是指通过部署深度学习模型,并提供接口给业务系统调用,以提供数据处理服务。
传统技术中,在部署深度学习模型时,为了实现高并发处理会在模型服务端开多进程,且相应占用较多的CPU(central processing unit,中央处理器)、IO(Input/Output,输入/输出)、内存等硬件资源,此外,由于还需要GPU(graphics processing unit,图形处理器)资源的支持,会同步安装更多的GPU。
然而,传统方法,没有充分利用GPU的计算能力,存在浪费数据处理资源的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够节约数据处理资源的批处理方法、装置、计算机设备和存储介质。
一种批处理方法,所述方法包括:
接收业务数据处理请求,业务数据处理请求携带待处理数据;
将待处理数据放入预设的输入队列中,生成与待处理数据对应的数据标识;
当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据;
获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,得到对应的批处理结果;
根据批处理结果和数据标识,返回业务数据处理结果。
在一个实施例中,生成与待处理数据对应的数据标识包括:
对待处理数据进行哈希运算,得到与待处理数据对应的哈希值;
将哈希值作为与待处理数据对应的数据标识。
在一个实施例中,当输入队列中的待处理数据达到预设的批处理条件时,获取与批处理条件对应的待处理数据,生成待批处理数据之前,还包括:
判断输入队列中的待处理数据是否满足预设的批处理条件,预设的批处理条件包括达到批处理时间窗和/或达到批处理数据阈值。
在一个实施例中,预设的批处理条件包括达到批处理时间窗,判断输入队列中的待处理数据是否满足预设的批处理条件包括:
获取数据处理时间以及系统时间,数据处理时间与输入队列中排在最前面的待处理数据对应;
根据数据处理时间和系统时间,得到数据等待时间;
比对数据等待时间以及批处理时间窗。
在一个实施例中,预设的批处理条件包括达到批处理数据阈值,判断输入队列中的待处理数据是否满足预设的批处理条件包括:
实时统计输入队列中待处理数据数量;
比对待处理数据数量以及批处理数据阈值。
在一个实施例中,获取用于业务数据处理的深度学习模型包括:
获取与业务数据处理对应的训练数据以及初始深度学习模型;
根据训练数据对初始深度学习模型进行训练,得到用于业务数据处理的深度学习模型。
在一个实施例中,根据批处理结果和数据标识,返回业务数据处理结果包括:
获取与批处理条件对应的批次大小;
根据批次大小对批处理结果进行拆分,并根据数据标识标记拆分后的批处理结果,得到与待批处理数据中待处理数据对应的数据处理结果;
将数据处理结果作为业务数据处理结果返回。
一种批处理装置,所述装置包括:
请求接收模块,用于接收业务数据处理请求,业务数据处理请求携带待处理数据;
第一处理模块,用于将待处理数据放入预设的输入队列中,生成与待处理数据对应的数据标识;
数据获取模块,用于当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据;
模型处理模块,用于获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,得到对应的批处理结果;
第二处理模块,用于根据批处理结果和数据标识,返回业务数据处理结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收业务数据处理请求,业务数据处理请求携带待处理数据;
将待处理数据放入预设的输入队列中,生成与待处理数据对应的数据标识;
当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据;
获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,得到对应的批处理结果;
根据批处理结果和数据标识,返回业务数据处理结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收业务数据处理请求,业务数据处理请求携带待处理数据;
将待处理数据放入预设的输入队列中,生成与待处理数据对应的数据标识;
当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据;
获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,得到对应的批处理结果;
根据批处理结果和数据标识,返回业务数据处理结果。
上述批处理方法、装置、计算机设备和存储介质,通过在接收到携带待处理数据的业务数据处理请求后,将待处理数据放入预设的输入队列中,生成与待处理数据对应的数据标识,当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据,获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,得到对应的批处理结果,根据批处理结果和数据标识,返回业务数据处理结果,整个过程,将对待处理数据的数据处理过程解耦出来,能够解耦数据处理计算,让深度学习模型用批次计算的方式实现在单个进程内同时并发处理多个待处理数据,实现对数据处理并行计算能力的充分利用,节约数据处理资源。
附图说明
图1为一个实施例中批处理方法的应用环境图;
图2为一个实施例中批处理方法的流程示意图;
图3为另一个实施例中批处理方法的流程示意图;
图4为一个实施例中批处理装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的批处理方法,可以应用于如图1所示的应用环境中。其中,终端102与用于模型服务的业务服务器104通过网络进行通信,用于模型服务的业务服务器104通过网络与用于批处理的处理服务器106进行通信。当需要对业务数据进行处理时,用户会通过终端102发送携带业务数据的业务调用请求至业务服务器104,业务服务器104在接收到业务调用请求后,会根据业务数据生成待处理数据,发送携带待处理数据的业务数据处理请求至处理服务器106,处理服务器106接收业务数据处理请求,业务数据处理请求携带待处理数据,将待处理数据放入预设的输入队列中,生成与待处理数据对应的数据标识,当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据,获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,得到对应的批处理结果,根据批处理结果和数据标识,返回业务数据处理结果至业务服务器104,业务服务器104接收业务数据处理结果,对业务数据处理结果进行解码,得到目标业务处理结果,返回目标业务处理结果至终端102。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,业务服务器104和处理服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种批处理方法,以该方法应用于图1中的处理服务器为例进行说明,包括以下步骤:
步骤202,接收业务数据处理请求,业务数据处理请求携带待处理数据。
其中,业务数据处理请求是指利用模型对待处理数据进行处理的请求。待处理数据是指已预先处理为深度学习模型可识别的数据格式的业务数据。比如,深度学习模型可识别的数据格式具体可以是指指定长度的特征向量。
具体的,当需要对业务数据进行处理时,用户会通过终端发送携带业务数据的业务调用请求至用于模型服务的业务服务器,业务服务器会对业务数据进行预处理,将业务数据转换为深度学习模型可识别的数据格式,得到待处理数据,发送携带待处理数据的业务数据处理请求至处理服务器,处理服务器会接收到携带待处理数据的业务数据处理请求。
步骤204,将待处理数据放入预设的输入队列中,生成与待处理数据对应的数据标识。
其中,预设的输入队列是指预先设置的用于存放未处理的待处理数据的队列,在输入队列中包括所有已接收但尚未处理的待处理数据。数据标识是指与待处理数据对应的唯一身份标识,用于标识不同的待处理数据。
具体的,在接收到携带待处理数据的业务数据处理请求后,处理服务器会将待处理数据放入预设的输入队列中等待处理,并生成与待处理数据对应的数据表示。其中,数据标识可以为根据待处理数据进入输入队列的顺序对其编号得到的编号值,也可以为根据待处理数据生成的哈希值等,本实施例在此处不做具体限定。
步骤206,当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据。
其中,预设的批处理条件是指预先设置的对待处理数据按批次进行处理的条件。比如,预设的批处理条件具体可以是指达到批处理时间窗。又比如,预设的批处理条件具体可以是指达到批处理数据阈值。待批处理数据是指从输入队列中取出的、与批处理条件对应的待处理数据。比如,当预设的批处理条件为达到批处理时间窗时,待批处理数据具体可以是指时间窗内的所有待处理数据。又比如,当预设的批处理条件为达到批处理数据阈值时,待批处理数据具体可以是指与批处理数据阈值对应数量的待处理数据。
其中,批处理时间窗是指预先设置的批处理等待时长,即从第一个待处理数据进入输入队列开始,最多等待多长时间就会进行批处理。比如,批处理时间窗具体可以为0.1秒,则在输入队列中的待处理数据的数量未达到批处理数据阈值时,最多等待0.1秒就会从输入队列中,获取当前0.1秒内的待处理数据进行批处理。批处理数据阈值是指预先设置的一次最多可同时处理的待处理数据数量。比如,当批处理数据阈值为16时,表示一次最多可同时处理16个待处理数据。
具体的,在将待处理数据放入预设的输入队列中后,处理服务器会判断队列中的待处理数据是否满足预设的批处理条件,并在输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据。需要说明的是,当同时存在多个批处理条件时,只要达到任一批处理条件,就会从输入队列中获取批处理条件对应的待处理数据进行批处理。
步骤208,获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,得到对应的批处理结果。
其中,深度学习模型是指用于对业务数据进行处理的模型,具体的模型结构与业务数据的业务数据处理对应。比如,当业务数据的业务数据处理为进行分类时,深度学习模型具体可以是指分类模型。又比如,当业务数据的业务数据处理为进行目标检测时,深度学习模型具体可以是指目标检测模型。批处理结果是指利用深度学习模型对待批处理数据进行处理得到的处理结果。
具体的,在得到待批处理数据后,处理服务器会获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,使得深度学习模型对待批处理数据中待处理数据进行并行处理,得到对应的批处理结果。
步骤210,根据批处理结果和数据标识,返回业务数据处理结果。
其中,业务数据处理结果中包括待批处理数据中每个待处理数据的数据处理结果。数据处理结果具体可以是指利用深度学习模型对待处理数据进行处理所得到的结果,比如,数据处理结果具体可以是指深度学习模型输出的张量。举例说明,在二分类任务中,数据处理结果具体可以是[0 1]、[1 0]中的一种。
具体的,在得到批处理结果后,处理服务器需要对批处理结果进行拆分,并根据数据标识对拆分后的批处理结果进行标记,得到与待批处理数据中待处理数据对应的数据处理结果,将数据处理结果作为业务数据处理结果返回。
上述批处理方法,通过在接收到携带待处理数据的业务数据处理请求后,将待处理数据放入预设的输入队列中,并生成与待处理数据对应的数据标识,当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据,获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,得到对应的批处理结果,根据批处理结果和数据标识,返回业务数据处理结果,整个过程,将对待处理数据的数据处理过程解耦出来,能够解耦数据处理计算,让深度学习模型用批次计算的方式实现在单个进程内同时并发处理多个待处理数据,实现对数据处理并行计算能力的充分利用,节约数据处理资源。
在一个实施例中,生成与待处理数据对应的数据标识包括:
对待处理数据进行哈希运算,得到与待处理数据对应的哈希值;
将哈希值作为与待处理数据对应的数据标识。
其中,哈希是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
具体的,处理服务器会对待处理数据进行哈希运算,将待处理数据变换成固定长度的哈希值,将该哈希值作为与待处理数据对应的数据标识。
本实施例中,通过对待处理数据进行哈希运算,得到与待处理数据对应的哈希值,将哈希值作为与待处理数据对应的数据标识,能够实现对数据标识的获取。
在一个实施例中,当输入队列中的待处理数据达到预设的批处理条件时,获取与批处理条件对应的待处理数据,生成待批处理数据之前,还包括:
判断输入队列中的待处理数据是否满足预设的批处理条件,预设的批处理条件包括达到批处理时间窗和/或达到批处理数据阈值。
具体的,根据不同的预设的批处理条件,处理服务器需要进行不同的判断。比如,当预设的批处理条件为达到批处理时间窗时,处理服务器需要判断最先进入输入队列的待处理数据对应的数据等待时间是否已达到批处理时间窗。又比如,当预设的批处理条件为达到批处理数据阈值时,处理服务器需要统计输入队列中的待处理数据的数量是否达到批处理数据阈值。需要说明的是,当批处理条件包括批处理时间窗和达到批处理数据阈值时,只要达到任一批处理条件,就会从输入队列中获取批处理条件对应的待处理数据进行批处理。
本实施例中,通过判断输入队列中的待处理数据是否满足预设的批处理条件,能够实现对待处理数据的处理,从而获取到待批处理数据。
在一个实施例中,预设的批处理条件包括达到批处理时间窗,判断输入队列中的待处理数据是否满足预设的批处理条件包括:
获取数据处理时间以及系统时间,数据处理时间与输入队列中排在最前面的待处理数据对应;
根据数据处理时间和系统时间,得到数据等待时间;
比对数据等待时间以及批处理时间窗。
其中,数据处理时间是指输入队列中排在最前面的待处理数据进入输入队列的时间。系统时间与处理服务器相对应。数据等待时间是指输入队列中排在最前面的待处理数据等待被处理的时间。
具体的,当批处理条件为达到批处理时间窗时,处理服务器会获取与输入队列中排在最前面的待处理数据对应的数据处理时间,以及自身的系统时间,计算系统时间与数据处理时间的差值,得到数据等待时间,比对数据等待时间以及批处理时间窗,当数据等待时间等于批处理时间窗时,表示输入队列中的待处理数据已满足预设的批处理条件。
本实施例中,通过获取数据处理时间以及系统时间,根据数据处理时间和系统时间得到数据等待时间,比对数据等待时间以及批处理时间窗,能够实现对待处理数据是否满足批处理条件的判断。
在一个实施例中,预设的批处理条件包括达到批处理数据阈值,判断输入队列中的待处理数据是否满足预设的批处理条件包括:
实时统计输入队列中待处理数据数量;
比对待处理数据数量以及批处理数据阈值。
具体的,当批处理条件为达到批处理数据阈值时,处理服务器会实时统计输入队列中待处理数据数量,比对待处理数据数量以及批处理数据阈值,当待处理数据数量等于批处理数据阈值时,表示输入队列中的待处理数据已满足预设的批处理条件。
本实施例中,通过实时统计输入队列中待处理数据数量,比对待处理数据数量以及批处理数据阈值,能够实现对待处理数据是否满足批处理条件的判断。
在一个实施例中,获取用于业务数据处理的深度学习模型包括:
获取与业务数据处理对应的训练数据以及初始深度学习模型;
根据训练数据对初始深度学习模型进行训练,得到用于业务数据处理的深度学习模型。
其中,业务数据处理是指基于业务数据利用深度学习模型进行推理预测,得到业务数据处理结果。训练数据是指与业务数据处理对应的训练数据。比如,当业务数据处理为分类任务时,训练数据具体可以是指携带分类标签的数据。又比如,当业务数据处理为目标检测任务时,训练数据具体可以是指携带目标检测标签的数据。同样的,初始深度学习模型也是与业务数据处理对应的。比如,当业务数据处理为分类任务时,初始深度学习模型具体可以是指未训练的分类模型,如支持向量机、随机森林、梯度提升树等。又比如,当业务数据处理为目标检测任务时,初始深度学习模型具体可以是指未训练的目标检测模型,如SSD(Single Shot MultiBox Detector)和YOLO(You Only Look Once)等。
具体的,在获取用于业务数据处理的深度学习模型时,处理服务器会先获取与业务数据理对应的训练数据以及初始深度学习模型,再根据训练数据对初始深度学习模型进行训练,得到与训练数据对应的预测结果,根据预测结果对初始深度学习模型的模型参数进行调整,以得到用于业务数据处理的深度学习模型。其中,根据预测结果对初始深度学习模型的模型参数进行调整的方式可以为:比对预测结果以及训练数据中的训练标签,根据预测结果和训练标签,计算模型损失函数,根据模型损失函数进行反向传播,来更新初始深度学习模型的模型参数,直到模型损失函数满足预设的停止参数调整条件时,得到用于业务数据处理的深度学习模型。其中,预设的停止参数调整条件具体可以为模型损失函数收敛和/或模型损失函数小于预设的损失阈值等,本实施例在此处不做具体限定。
本实施例中,通过获取与业务数据处理对应的训练数据以及初始深度学习模型,根据训练数据对初始深度学习模型进行训练,能够得到用于业务数据处理的深度学习模型。
在一个实施例中,根据批处理结果和数据标识,返回业务数据处理结果包括:
获取与批处理条件对应的批次大小;
根据批次大小对批处理结果进行拆分,并根据数据标识标记拆分后的批处理结果,得到与待批处理数据中待处理数据对应的数据处理结果;
将数据处理结果作为业务数据处理结果返回。
其中,批次大小是指待批处理数据中待处理数据的数量。比如,当批处理条件为达到批处理时间窗时,批次大小是指批处理时间窗内进入输入队列的待处理数据的数量。又比如,当批处理条件为达到批处理数据阈值时,批次大小就是指批处理数量阈值。
具体的,在得到批处理结果后,处理服务器会根据批次大小对批处理结果进行拆分,将批处理结果拆分为与每个待处理数据对应的处理结果,将处理结果放入预设的输出队列中,在依次从预设的输出队列中取出处理结果,根据数据标识按顺序标记处理结果,得到与待批处理数据中待处理数据对应的数据处理结果,将数据处理结果作为业务数据处理结果,并放入预设的输出字典中依次返回,每次返回后在输出字典中删除对应的数据。
本实施例中,通过根据批次大小对批处理结果进行拆分,并根据数据标识标记拆分后的批处理结果,得到数据处理结果,将数据处理结果作为业务数据处理结果返回,能够实现对业务数据处理结果的反馈。
本申请还提供一种应用场景,该应用场景应用上述的批处理方法。其中,用于模型服务的业务服务器通过网络与用于批处理的处理服务器进行通信。具体地,该批处理方法在该应用场景的应用如下:
当需要对业务数据进行处理时,用户会通过终端发送携带业务数据的业务调用请求至业务服务器,业务服务器在接收到业务调用请求后,会对业务数据进行格式转换,生成待处理数据,发送携带待处理数据的业务数据处理请求至处理服务器。其中,待处理数据具体可以是指指定长度的向量,进行格式转换的方式可以为对业务数据进行特征提取,得到与业务数据对应的指定长度的特征向量。
处理服务器接收业务数据处理请求,业务数据处理请求携带待处理数据,将待处理数据放入预设的输入队列中,生成与待处理数据对应的数据标识,当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据,获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,得到对应的批处理结果,根据批处理结果和数据标识,返回业务数据处理结果至业务服务器。
业务服务器接收业务数据处理结果,对业务数据处理结果进行解码,得到目标业务处理结果,返回目标业务处理结果至终端。举例说明,当深度学习模型为二分类模型(如支持向量机)时,业务服务器中存储有深度学习模型结果对应表,在深度学习模型结果对应表中预先设置了每种业务数据处理结果与目标业务处理结果之间的对应关系,针对业务数据处理结果[0,1]和[1,0]可分别设置对应的分类类别为A和B,则当业务数据处理结果为[0,1]时,可查询到目标业务处理结果为类别为A,当业务数据处理结果为[1,0]时,可查询到目标业务处理结果为类别为B。
如图3所示,通过一个流程示意图来说明本申请的批处理方法,该批处理方法具体包括以下步骤:
步骤302,接收业务数据处理请求,业务数据处理请求携带待处理数据;
步骤304,将待处理数据放入预设的输入队列中,对待处理数据进行哈希运算,得到与待处理数据对应的哈希值;
步骤306,将哈希值作为与待处理数据对应的数据标识;
步骤308,判断输入队列中的待处理数据是否满足预设的批处理条件,批处理条件包括达到批处理时间窗和/或达到批处理数据阈值;
步骤310,当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据;
步骤312,获取与业务数据处理对应的训练数据以及初始深度学习模型;
步骤314,根据训练数据对初始深度学习模型进行训练,得到用于业务数据处理的深度学习模型;
步骤316,将待批处理数据输入深度学习模型,得到对应的批处理结果;
步骤318,获取与批处理条件对应的批次大小;
步骤320,根据批次大小对批处理结果进行拆分,并根据数据标识标记拆分后的批处理结果,得到与待批处理数据中待处理数据对应的数据处理结果;
步骤322,将数据处理结果作为业务数据处理结果返回。
应该理解的是,虽然上述实施例涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种批处理装置,包括:请求接收模块402、第一处理模块404、数据获取模块406、模型处理模块408和第二处理模块410,其中:
请求接收模块402,用于接收业务数据处理请求,业务数据处理请求携带待处理数据;
第一处理模块404,用于将待处理数据放入预设的输入队列中,生成与待处理数据对应的数据标识;
数据获取模块406,用于当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据;
模型处理模块408,用于获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,得到对应的批处理结果;
第二处理模块410,用于根据批处理结果和数据标识,返回业务数据处理结果。
上述批处理装置,通过在接收到携带待处理数据的业务数据处理请求后,将待处理数据放入预设的输入队列中,并生成与待处理数据对应的数据标识,当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据,获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,得到对应的批处理结果,根据批处理结果和数据标识,返回业务数据处理结果,整个过程,将对待处理数据的数据处理过程解耦出来,能够解耦数据处理计算,让深度学习模型用批次计算的方式实现在单个进程内同时并发处理多个待处理数据,实现对数据处理并行计算能力的充分利用,节约数据处理资源。
在一个实施例中,第一处理模块还用于对待处理数据进行哈希运算,得到与待处理数据对应的哈希值,将哈希值作为与待处理数据对应的数据标识。
在一个实施例中,批处理装置还包括判断模块,判断模块用于判断输入队列中的待处理数据是否满足预设的批处理条件,预设的批处理条件包括达到批处理时间窗和/或达到批处理数据阈值。
在一个实施例中,预设的批处理条件包括达到批处理时间窗,判断模块还用于获取数据处理时间以及系统时间,数据处理时间与输入队列中排在最前面的待处理数据对应,根据数据处理时间和系统时间,得到数据等待时间,比对数据等待时间以及批处理时间窗。
在一个实施例中,预设的批处理条件包括达到批处理数据阈值,判断模块还用于实时统计输入队列中待处理数据数量,比对待处理数据数量以及批处理数据阈值。
在一个实施例中,模型处理模块还用于获取与业务数据处理对应的训练数据以及初始深度学习模型,根据训练数据对初始深度学习模型进行训练,得到用于业务数据处理的深度学习模型。
在一个实施例中,第二处理模块还用于获取与批处理条件对应的批次大小,根据批次大小对批处理结果进行拆分,并根据数据标识标记拆分后的批处理结果,得到与待批处理数据中待处理数据对应的数据处理结果,将数据处理结果作为业务数据处理结果返回。
关于批处理装置的具体实施例可以参见上文中对于批处理方法的实施例,在此不再赘述。上述批处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待处理数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种批处理方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收业务数据处理请求,业务数据处理请求携带待处理数据;
将待处理数据放入预设的输入队列中,生成与待处理数据对应的数据标识;
当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据;
获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,得到对应的批处理结果;
根据批处理结果和数据标识,返回业务数据处理结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对待处理数据进行哈希运算,得到与待处理数据对应的哈希值,将哈希值作为与待处理数据对应的数据标识。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:判断输入队列中的待处理数据是否满足预设的批处理条件,预设的批处理条件包括达到批处理时间窗和/或达到批处理数据阈值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:预设的批处理条件包括达到批处理时间窗,获取数据处理时间以及系统时间,数据处理时间与输入队列中排在最前面的待处理数据对应,根据数据处理时间和系统时间,得到数据等待时间,比对数据等待时间以及批处理时间窗。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:预设的批处理条件包括达到批处理数据阈值,实时统计输入队列中待处理数据数量,比对待处理数据数量以及批处理数据阈值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取与业务数据处理对应的训练数据以及初始深度学习模型,根据训练数据对初始深度学习模型进行训练,得到用于业务数据处理的深度学习模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取与批处理条件对应的批次大小,根据批次大小对批处理结果进行拆分,并根据数据标识标记拆分后的批处理结果,得到与待批处理数据中待处理数据对应的数据处理结果,将数据处理结果作为业务数据处理结果返回。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收业务数据处理请求,业务数据处理请求携带待处理数据;
将待处理数据放入预设的输入队列中,生成与待处理数据对应的数据标识;
当输入队列中的待处理数据达到预设的批处理条件时,从输入队列中取出与批处理条件对应的待处理数据,生成待批处理数据;
获取用于业务数据处理的深度学习模型,将待批处理数据输入深度学习模型,得到对应的批处理结果;
根据批处理结果和数据标识,返回业务数据处理结果。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对待处理数据进行哈希运算,得到与待处理数据对应的哈希值,将哈希值作为与待处理数据对应的数据标识。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:判断输入队列中的待处理数据是否满足预设的批处理条件,预设的批处理条件包括达到批处理时间窗和/或达到批处理数据阈值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:预设的批处理条件包括达到批处理时间窗,获取数据处理时间以及系统时间,数据处理时间与输入队列中排在最前面的待处理数据对应,根据数据处理时间和系统时间,得到数据等待时间,比对数据等待时间以及批处理时间窗。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:预设的批处理条件包括达到批处理数据阈值,实时统计输入队列中待处理数据数量,比对待处理数据数量以及批处理数据阈值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取与业务数据处理对应的训练数据以及初始深度学习模型,根据训练数据对初始深度学习模型进行训练,得到用于业务数据处理的深度学习模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取与批处理条件对应的批次大小,根据批次大小对批处理结果进行拆分,并根据数据标识标记拆分后的批处理结果,得到与待批处理数据中待处理数据对应的数据处理结果,将数据处理结果作为业务数据处理结果返回。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种批处理方法,其特征在于,所述方法包括:
接收业务数据处理请求,所述业务数据处理请求携带待处理数据;
将所述待处理数据放入预设的输入队列中,生成与所述待处理数据对应的数据标识;
当所述输入队列中的待处理数据达到预设的批处理条件时,从所述输入队列中取出与所述批处理条件对应的待处理数据,生成待批处理数据;
获取用于业务数据处理的深度学习模型,将所述待批处理数据输入所述深度学习模型,得到对应的批处理结果;
根据所述批处理结果和所述数据标识,返回业务数据处理结果。
2.根据权利要求1所述的方法,其特征在于,所述生成与所述待处理数据对应的数据标识包括:
对所述待处理数据进行哈希运算,得到与所述待处理数据对应的哈希值;
将所述哈希值作为与所述待处理数据对应的数据标识。
3.根据权利要求1所述的方法,其特征在于,所述当所述输入队列中的待处理数据达到预设的批处理条件时,获取与所述批处理条件对应的待处理数据,生成待批处理数据之前,还包括:
判断所述输入队列中的待处理数据是否满足预设的批处理条件,所述预设的批处理条件包括达到批处理时间窗和/或达到批处理数据阈值。
4.根据权利要求3所述的方法,其特征在于,所述预设的批处理条件包括达到批处理时间窗,所述判断所述输入队列中的待处理数据是否满足预设的批处理条件包括:
获取数据处理时间以及系统时间,所述数据处理时间与所述输入队列中排在最前面的待处理数据对应;
根据所述数据处理时间和所述系统时间,得到数据等待时间;
比对所述数据等待时间以及所述批处理时间窗。
5.根据权利要求3所述的方法,其特征在于,所述预设的批处理条件包括达到批处理数据阈值,所述判断所述输入队列中的待处理数据是否满足预设的批处理条件包括:
实时统计所述输入队列中待处理数据数量;
比对所述待处理数据数量以及所述批处理数据阈值。
6.根据权利要求1所述的方法,其特征在于,所述获取用于业务数据处理的深度学习模型包括:
获取与业务数据处理对应的训练数据以及初始深度学习模型;
根据所述训练数据对所述初始深度学习模型进行训练,得到用于业务数据处理的深度学习模型。
7.根据权利要求1所述的方法,其特征在于,所述根据所述批处理结果和所述数据标识,返回业务数据处理结果包括:
获取与所述批处理条件对应的批次大小;
根据所述批次大小对所述批处理结果进行拆分,并根据所述数据标识标记拆分后的批处理结果,得到与所述待批处理数据中待处理数据对应的数据处理结果;
将所述数据处理结果作为业务数据处理结果返回。
8.一种批处理装置,其特征在于,所述装置包括:
请求接收模块,用于接收业务数据处理请求,所述业务数据处理请求携带待处理数据;
第一处理模块,用于将所述待处理数据放入预设的输入队列中,生成与所述待处理数据对应的数据标识;
数据获取模块,用于当所述输入队列中的待处理数据达到预设的批处理条件时,从所述输入队列中取出与所述批处理条件对应的待处理数据,生成待批处理数据;
模型处理模块,用于获取用于业务数据处理的深度学习模型,将所述待批处理数据输入所述深度学习模型,得到对应的批处理结果;
第二处理模块,用于根据所述批处理结果和所述数据标识,返回业务数据处理结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110578044.2A CN113268328A (zh) | 2021-05-26 | 2021-05-26 | 批处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110578044.2A CN113268328A (zh) | 2021-05-26 | 2021-05-26 | 批处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113268328A true CN113268328A (zh) | 2021-08-17 |
Family
ID=77232860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110578044.2A Pending CN113268328A (zh) | 2021-05-26 | 2021-05-26 | 批处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113268328A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434303A (zh) * | 2021-08-27 | 2021-09-24 | 湖北星地智链科技有限公司 | 批处理的遥感影像智能处理模型预测性能优化系统及方法 |
CN115080263A (zh) * | 2022-05-12 | 2022-09-20 | 吉林省吉林祥云信息技术有限公司 | 一种实时gpu服务中的批处理规模方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109582485A (zh) * | 2018-10-26 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 一种配置变更异常检测方法及装置 |
CN110297711A (zh) * | 2019-05-16 | 2019-10-01 | 平安科技(深圳)有限公司 | 批量数据处理方法、装置、计算机设备及存储介质 |
CN110912958A (zh) * | 2018-09-18 | 2020-03-24 | 中国移动通信集团重庆有限公司 | Http连接的处理方法、装置、设备和介质 |
CN111338769A (zh) * | 2019-12-31 | 2020-06-26 | 深圳云天励飞技术有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
US20200372013A1 (en) * | 2019-05-24 | 2020-11-26 | Samsung Sds Co., Ltd. | Accelerated processing apparatus for transaction considering transaction failure probability and method thereof |
CN112015553A (zh) * | 2020-08-27 | 2020-12-01 | 深圳壹账通智能科技有限公司 | 基于机器学习模型的数据处理方法、装置、设备和介质 |
-
2021
- 2021-05-26 CN CN202110578044.2A patent/CN113268328A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912958A (zh) * | 2018-09-18 | 2020-03-24 | 中国移动通信集团重庆有限公司 | Http连接的处理方法、装置、设备和介质 |
CN109582485A (zh) * | 2018-10-26 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 一种配置变更异常检测方法及装置 |
CN110297711A (zh) * | 2019-05-16 | 2019-10-01 | 平安科技(深圳)有限公司 | 批量数据处理方法、装置、计算机设备及存储介质 |
US20200372013A1 (en) * | 2019-05-24 | 2020-11-26 | Samsung Sds Co., Ltd. | Accelerated processing apparatus for transaction considering transaction failure probability and method thereof |
CN111338769A (zh) * | 2019-12-31 | 2020-06-26 | 深圳云天励飞技术有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN112015553A (zh) * | 2020-08-27 | 2020-12-01 | 深圳壹账通智能科技有限公司 | 基于机器学习模型的数据处理方法、装置、设备和介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434303A (zh) * | 2021-08-27 | 2021-09-24 | 湖北星地智链科技有限公司 | 批处理的遥感影像智能处理模型预测性能优化系统及方法 |
CN115080263A (zh) * | 2022-05-12 | 2022-09-20 | 吉林省吉林祥云信息技术有限公司 | 一种实时gpu服务中的批处理规模方法 |
CN115080263B (zh) * | 2022-05-12 | 2023-10-27 | 吉林省吉林祥云信息技术有限公司 | 一种实时gpu服务中批处理规模的选择方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111340237B (zh) | 数据处理和模型运行方法、装置和计算机设备 | |
US11325780B2 (en) | Method and device for sorting cargo | |
CN109325118B (zh) | 不平衡样本数据预处理方法、装置和计算机设备 | |
CN110866491B (zh) | 目标检索方法、装置、计算机可读存储介质和计算机设备 | |
CN110147722A (zh) | 一种视频处理方法、视频处理装置及终端设备 | |
WO2020037105A1 (en) | Identification and application of hyperparameters for machine learning | |
US10650274B2 (en) | Image clustering method, image clustering system, and image clustering server | |
CN109710402A (zh) | 处理资源获取请求的方法、装置、计算机设备和存储介质 | |
CN109271917B (zh) | 人脸识别方法、装置、计算机设备和可读存储介质 | |
CN113268328A (zh) | 批处理方法、装置、计算机设备和存储介质 | |
CN110737818A (zh) | 网络发布数据处理方法、装置、计算机设备和存储介质 | |
CN112668632B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN111260220A (zh) | 群控设备识别方法、装置、电子设备和存储介质 | |
CN112559526A (zh) | 数据表导出方法、装置、计算机设备及存储介质 | |
CN111324687A (zh) | 知识库中数据处理方法、装置、计算机设备和存储介质 | |
CN108389124B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
US8918406B2 (en) | Intelligent analysis queue construction | |
CN113761017A (zh) | 相似性搜索方法和装置 | |
CN110874615B (zh) | 特征聚类处理方法、集群服务器及可读存储介质 | |
CN111552812A (zh) | 确定实体之间关系类别的方法、装置和计算机设备 | |
CN110659347A (zh) | 关联文书确定方法、装置、计算机设备及存储介质 | |
CN114329164B (zh) | 用于处理数据的方法、装置、设备、介质和产品 | |
CN115168509A (zh) | 风控数据的处理方法及装置、存储介质、计算机设备 | |
CN111985446A (zh) | 人脸识别方法以及系统 | |
CN116383390B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210817 |