CN111880864B - 基于http的模型调用方法、系统、计算机设备和存储介质 - Google Patents
基于http的模型调用方法、系统、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111880864B CN111880864B CN202010751931.0A CN202010751931A CN111880864B CN 111880864 B CN111880864 B CN 111880864B CN 202010751931 A CN202010751931 A CN 202010751931A CN 111880864 B CN111880864 B CN 111880864B
- Authority
- CN
- China
- Prior art keywords
- target
- http
- model
- data
- processing
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000012545 processing Methods 0.000 claims abstract description 117
- 238000006243 chemical reaction Methods 0.000 claims description 39
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000004378 air conditioning Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000012795 verification Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种基于HTTP的模型调用方法,所述方法包括:接收一个或多个客户终端提供的多个HTTP请求;为所述多个HTTP请求配置多个进程;通过各个进程执行以下操作:根据相应的HTTP请求生成相应的处理请求,并将所述处理请求传输到相应的目标模型中,以便所述目标模型基于所述相应的处理请求反馈相应的处理结果;及接收所述处理结果并将所述处理结果发送到客户终端。本发明实施例通过为多个HTTP请求分配对应的进程,并通过调用对应的目标模型对HTTP请求进行处理操作,提高了对HTTP请求密集时的计算处理速度和并发时的处理效率。
Description
技术领域
本发明实施例涉及人工智能领域,尤其涉及一种基于HTTP的模型调用方法、系统、计算机设备及计算机可读存储介质。
背景技术
模型调用,在于通过人工智能算法对数据进行处理(如,预测、评估等),并为人工智能提供应用服务。但是,传统模型调用还处在CPU计算密集型的并发问题、I/O密集型的高并发问题以及没有统一的模型调用框架。因此,如何解决CPU计算密集型的并发问题、I/O密集型的高并发问题以及模型调用单一的问题,从而进一步的提高模型调用对数据处理的并发性能,成为了当前亟需解决的技术问题。
发明内容
有鉴于此,有必要提供一种基于HTTP的模型调用方法、系统、计算机设备及计算机可读存储介质,以解决传统模型调用CPU计算密集型的并发性能低、I/O密集型的高并发效果差等技术问题。
为实现上述目的,本发明实施例提供了一种基于HTTP的模型调用方法,所述方法步骤包括:
接收一个或多个客户终端提供的多个HTTP请求;
为所述多个HTTP请求配置多个进程;
通过各个进程执行以下操作:根据相应的HTTP请求生成相应的处理请求,并将所述处理请求传输到相应的目标模型中,以便所述目标模型基于所述相应的处理请求反馈相应的处理结果;及接收所述处理结果并将所述处理结果发送到客户终端。
示例性的,所述接收一个或多个客户终端提供的多个HTTP请求的步骤,包括:
通过处于协程处理模式的HTTP传输组件,异步并行接收所述多个HTTP请求;及
所述接收所述处理结果并将所述处理结果发送到客户终端的步骤,包括:
将所述处理结果发送至所述HTTP传输组件中,以通过所述HTTP传输组件将所述处理结果发送到所述客户终端。
示例性的,每个HTTP请求分别携带有预设数据类型的待处理数据,其中,每种预设数据类型预先配置有一个对应的标准转换格式;
根据相应的HTTP请求生成相应的处理请求,并将所述处理请求传输到相应的目标模型中,包括:
根据所述相应的HTTP请求中的目标待处理数据,确定所述目标数据类型;
根据所述目标数据类型,确定所述目标待处理数据对应的目标标准转换格式;
根据所述目标标准转换格式对所述目标待处理数据进行格式转换,以得到所述目标已处理数据;及
将所述目标已处理数据传输到所述目标模型中,并将所述目标已处理数据上传到区块链中。
示例性的,将所述目标已处理数据传输到所述目标模型中,包括:
根据目标标准转换格式确定多个接口中的目标接口,所述多个接口为预先配置的且每个接口对应一个模型;及
通过所述目标接口将所述目标已处理数据输入到所述目标模型中。
示例性的,所述为所述多个HTTP请求配置多个进程的步骤,包括;
根据计算资源配置所述多个进程,所述计算资源包括CPU资源;其中:
当所述多个进程的数量≤CPU核心的数量,则将每个进程分别配置于不同的CPU核心中;
当所述多个进程的数量>CPU核心的数量,则将每个进程分别平均配置于不同的CPU核心中。
示例性的,还包括预先加载多个模型的步骤:
预先获取多个调用配置文件,其中,调用配置文件用于配置模型的输入输出;及
将调用配置文件加载到一个对应的模型框架中,以得到多个模型,其中所述模型框架预先训练好的模型框架。
示例性的,将调用配置文件加载到一个对应的模型框架中,以得到多个模型,包括:
为每个调用配置文件创建一个以该调用配置文件类型和对应编号命名的配置文件夹;
将所述每个调用配置文件保存到对应的配置文件夹中,以得到多个配置文件夹;
将所述多个配置文件夹保存到同一个总文件夹中;
监听总文件夹,当所述监听到总文件夹中的调用配置文件被更改时,则将该调用配置文件所在的配置文件夹的名称发送到目标平台,以使所述目标平台根据所述文件夹的名称对与所述调用配置文件对应的模型框架进行修改,以得到修改后的模型框架;
将被更改的调用配置文件加载到所述修改后的模型框架中,以得到对应的模型。
为实现上述目的,本发明实施例还提供了一种基于HTTP的模型调用系统,包括:
接收模块,用于接收一个或多个客户终端提供的多个HTTP请求;
配置模块,用于为所述多个HTTP请求配置多个进程;
执行模块,用于通过各个进程执行以下操作:根据相应的HTTP请求生成相应的处理请求,并将所述处理请求传输到相应的目标模型中,以便所述目标模型基于所述相应的处理请求反馈相应的处理结果;及
接收所述处理结果并将所述处理结果发送到客户终端。
为实现上述目的,本发明实施例还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现如上述的基于HTTP的模型调用方法的步骤。
为实现上述目的,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上述的基于HTTP的模型调用方法的步骤。
本发明实施例提供的基于HTTP的模型调用方法、系统、计算机设备及计算机可读存储介质,本实施例通过为多个HTTP请求分配对应的进程,解决了I/O密集型的高并发问题和CPU计算密集型的并发问题;通过调用对应的目标模型对HTTP请求进行处理操作,解决了模型调用单一的问题,提高了对HTTP请求密集时的计算处理速度和并发时的处理效率。
附图说明
图1为本发明实施例基于HTTP的模型调用方法的流程示意图。
图2为本发明实施例一中目标模型配置结果示意图。
图3为本发明实施例一中所述基于HTTP的模型调用方法的流程图。
图4为本发明基于HTTP的模型调用系统实施例二的程序模块示意图。
图5为本发明计算机设备实施例三的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
以下实施例中,将以计算机设备2为执行主体进行示例性描述。
实施例一
参阅图1,示出了本发明实施例之基于HTTP的模型调用方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备2为执行主体进行示例性描述。具体如下。
步骤S100,接收一个或多个客户终端提供的多个HTTP请求。
计算机设备2可以接收一个或多个客户终端发送的HTTP请求,每个客户终端可以发送多个HTTP请求,每个HTTP请求分别携带有相应的待处理数据,所述待处理数据可以是图片数据、语音数据、文本数据等。
示例性的,所述步骤S100还可以进一步的包括:通过处于协程处理模式的HTTP传输组件,异步并行接收所述多个HTTP请求。
计算机设备2可以通过处于协程处理模式的HTTP传输组件,异步并行接收所述多个HTTP请求,对每个HTTP请求进行解析,以得到每个HTTP请求中的待处理数据。
每个协程对应处理同一客户终端提供的一个或多个HTTP请求。所述协程是一种函数方法,每个协程可以对应多个入口和多个出口。例如,在整个协程处理并未执行完毕的时,相应的HTTP请求可以从协程的其中一个出口出去,再从下一个入口回到这个协程的中;而在相应的HTTP请求跳出协程的这段时间内,协程可以被挂起的,相当于处于一种暂存的状态,并从主函数当中剥离出去,让其单独运行(单独占用I/O资源),然后在它运行完毕的时候再回到主函数当中(其中通过操作系统层级的Socket I/O事件机制触发send方法回到主函数),从而实现对多个HTTP请求的异步并发。
所述一个或多个HTTP请求可以通过预先配置的消息队列发送给计算机设备2中。
在示例性的实施例中,计算机设备2可以为所述消息队列配置HTTP接口,并将所述HTTP接口分配给所述客户终端。所述客户终端可以通过所述HTTP接口将所述HTTP请求发送到预先配置的消息队列中。所述计算机设备2可以通过HTTP接口接收所述客户终端上传的HTTP请求。在本实施例中,所述计算机设备2通过为所述消息队列配置HTTP接口,可以实现对外部统一API接口,对内部隐藏技术细节,提高了网络安全。另外,所述HTTP接口可以基于HTTP+RESTFUL轻量级接入方式,以提供给前端模块的应用系统更为友好的接入方式。
步骤S102,为所述多个HTTP请求配置多个进程。
计算机设备2接收到所述多个HTTP请求后,可以为这些HTTP请求分配多个进程。其中,每个进程可以用来处理这些HTTP请求中的一个或多个HTTP请求。
示例性的,所述步骤S102可以进一步的包括步骤S102a~步骤S102c,其中:步骤S102a,对与所述客户终端相关联的目标用户进行安全认证;步骤S102b,如果对所述目标用户的安全认证为认证成功时,则为所述HTTP请求分配对应的进程;及步骤S102c,如果对所述目标用户的安全认证为认证失败时,则拒绝为所述HTTP请求分配对应的进程,并生成拒绝信息发送到所述客户终端。
为了保证所述HTTP请求来源的安全性,计算机设备2需要对与所述客户终端相关联的目标用户进行安全认证,如果对所述目标用户的安全认证为认证成功时,则说明所述目标用户为安全用户,可以为所述HTTP请求分配对应的进程。例如,所述安全用户可以是在计算机设备2中注册过的用户。所述如果对所述目标用户的安全认证为认证失败时,则说明所述目标用户存在安全隐患的用户;为了保证基于HTTP的模型调用的安全,计算机设备2可以拒绝所述存在安全隐患的目标请求的查看请求,例如,计算机设备2可以拒绝为所述HTTP请求分配对应的进程,并生成拒绝信息发送到所述客户终端。
示例性的,所述步骤S102还可以进一步的包括:根据计算资源配置所述多个进程,所述计算资源包括CPU资源;其中:当所述多个进程的数量≤CPU核心的数量,则将每个进程分别配置于不同的CPU核心中;及当所述多个进程的数量>CPU核心的数量,则将每个进程分别平均配置于不同的CPU核心中。
为了解决模型调用时CPU计算密集型的问题,本实施所述计算机设备2可以利用多核CPU特性,根据计算资源配置所述多个进程,例如,给CPU计算资源多的多分配进程,给CPU计算资源少的多少分配进程,以提高CPU的利用率和效率。
步骤S104,通过各个进程执行以下操作:根据相应的HTTP请求生成相应的处理请求,并将所述处理请求传输到相应的目标模型中,以便所述目标模型基于所述相应的处理请求反馈相应的处理结果;及接收所述处理结果并将所述处理结果发送到客户终端。
示例性的,每个HTTP请求分别携带有预设数据类型的待处理数据,其中,每种预设数据类型预先配置有一个对应的标准转换格式;所述步骤S104可以进一步的包括:步骤S104a,根据所述相应的HTTP请求中的目标待处理数据,确定所述目标数据类型;步骤S104b,根据所述目标数据类型,确定所述目标待处理数据对应的目标标准转换格式;步骤S104c,根据所述目标标准转换格式对所述目标待处理数据进行格式转换,以得到所述目标已处理数据;及步骤S104d,将所述目标已处理数据传输到所述目标模型中,并将所述目标已处理数据上传到区块链中。
所述预设数据类型包括多种数据类型。计算机设备2可以预先为所述多种数据类型中的每种数据类型配置一个对应的标准转换格式。计算机设备2可以通过识别所述目标待处理数据的目标数据类型;然后根据所述目标数据类型确定所述目标待处理数据对应的目标标准转换格式;最后对所述目标待处理数据进行格式转换,以得到目标已处理数据。
示例性的,将所述目标已处理数据上传至区块链可保证其安全性和公正透明性。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在示例性的实施例中,所述对所述目标待处理数据进行格式转换根据预先设定好数据格式转换规则对所述原始数据进行格式转换,其中,如果所述目标待处理数据为图片数据,那么可以将根据预先设定的格式转换规则将所述目标待处理数据转换为shape=[N,C,H,W]的图片格式,其中N指批处理个数batch size(即图片个数),C/H/W分别指图片的通道/高/宽。
在一些实施例中,所述目标待处理数据包括多种数据类型的数据,如,图像类型的图像数据、语音类型的语音数据以及文本类型的文本数据等。不难理解,不同类型数据会具有的数据格式,所以针对不同类型数据的标准转换格式也是不同。因此,计算机设备2需要预先为所述多种数据类型中的每种数据类型配置一个对应的标准转换格式。当所述计算机设备2接收到所述目标待处理数据后可以对识别所述目标待处理数据的目标数据类型,并根据所述目标数据类型确定所述目标待处理数据对应的目标标准转换格式,根据所述目标标准转换格式对所述目标待处理数据进行格式转换,以得到所述目标已处理数据。本实施通过预先配置标准转换格式,提高了目标待处理数据的格式转换效率。
示例性的,所述步骤S104a可以进一步的包括:步骤S104d1,根据目标标准转换格式确定多个接口中的目标接口,所述多个接口为预先配置的且每个接口对应一个模型;及步骤S104d2,通过所述目标接口将所述目标已处理数据输入到所述目标模型中。
计算机设备2预先为每个模型配置预先配置的且一个接口,并为每个接口与一个标准转换格式配置映射关系,以得到映射关系图,并将所述映射关系图存储到数据库中。所述目标已处理数据可以根据目标标准转换格式和所述映射关系图确定与所述目标处理数据对应的目标模型。
所述计算机设备2还可以根据相应的HTTP请求生成相应的处理请求,并将所述处理请求和目标已处理数据传输到相应的目标模型中。
示例性的,所述步骤S104a可以进一步的包括:根据所述目标模型对所述处理请求进行验证操作;如果对所述处理请求的验证成功,则将所述目标已处理数据发送到所述目标模型;如果对所述处理请求的验证失败,则拒绝将所述目标已处理数据发送到所述目标模型,并生成失败信息发送到所述客户终端。
为了保证所述目标模型的调用安全,计算机设备2可以对客户终端设置调用权限,例如,所述计算机设备2可以预先根据目标模型对所述客户终端设置调用权限。当所述客户终端需要调用目标模型时,所述计算机设备2可以根据所述目标模型对所述处理请求进行验证操作,以判断所述客户终端是否具有调用所述目标模型权限。如果对所述处理请求的验证成功,则将所述目标已处理数据发送到所述目标模型。如果对所述处理请求的验证失败,则拒绝将所述目标已处理数据发送到所述目标模型,并生成失败信息发送到所述客户终端。通过对所述客户终端设置调用权限,提高了所述目标模型的调用安全。
示例性的,所述步骤S104可以进一步的包括:将所述处理结果发送至所述HTTP传输组件中,以通过所述HTTP传输组件将所述处理结果发送到所述客户终端。
计算机设备2在将所述目标已处理数据发送到所述目标模型后,可以通过调用所述目标模型对所述目标已处理数据进行处理操作,以得到处理结果。
所述目标模型接收到所述目标已处理数据后,可以通过启用GPU对所述目标已处理数据进行处理。其中,所述计算机设备2支持tensorrt(深度学习推理优化器)、tensorflow(基于数据流编程的符号数学系统)、pytorch(开源的Python机器学习库)、caffe2(卷积神经网络框架)、onnx(Open Neural Network Exchange,开放神经网络交换)、mxnet(深度学习库)等多种框架。所述目标模型包括处理APIs(应用程序编程接口)。根据所述处理APIs对所述目标已处理数据的进行处理的步骤可以包括:根据预先配置文件在对应的GPU中加载模型文件,其中,包括GPU显存资源申请;通过配置好的加载模型文件对目标已处理数据进行处理操作,以得到处理结果。以tensorflow为例:首先创建管理资源(SessI/On)对象,然后将pb原始模型导入到GraphDef图中,紧接着将图中的原始模型加载到sessI/On中,一次性完成模型加载操作;将目标已处理数据输入到处理接口,进行处理操作以得到处理结果。目标模型可以通过数组的形式将目标已处理数据进行组装,以得到数组形式的处理结果。
示例性的,所述基于HTTP的模型调用方法还包括预先加载多个模型的步骤:步骤200,预先获取多个调用配置文件,其中,调用配置文件用于配置模型的输入输出;及步骤202,将调用配置文件加载到一个对应的模型框架中,以得到多个模型,其中所述模型框架预先训练好的模型框架。
计算机设备2可以预先加载好多个模型。
示例性的,所述步骤202可以进一步的包括:步骤202a,为每个调用配置文件创建一个以该调用配置文件类型和对应编号命名的配置文件夹;步骤202b,将所述每个调用配置文件保存到对应的配置文件夹中,以得到多个配置文件夹;步骤202c,将所述多个配置文件夹保存到同一个总文件夹中;步骤202d,监听总文件夹,当所述监听到总文件夹中的调用配置文件被更改时,则将该调用配置文件所在的配置文件夹的名称发送到目标平台,以使所述目标平台根据所述文件夹的名称对与所述调用配置文件对应的模型框架进行修改,以得到修改后的模型框架;步骤202e,将被更改的调用配置文件加载到所述修改后的模型框架中,以得到对应的模型。
如图2所示,其中,models为根总文件夹,根目录下面的model1、model2、…、modeln为各个模型的配置文件夹,所述modeln为该模型对应的配置文件夹名称。其中,各个配置文件夹下都会有一个配置config.pbtxt文件及至少一个模型版本文件夹n(其中n=1,2,3,…)。总文件夹下面是各个模型文件,如model.pt。另外。所述配置文件夹中的配置文件字段结构:name字段值为modeln;max_batch_size为最大批处理数;input为模型输入列表(可以多个输入),其中name为模型的输入名称,data_type为输入数据类型,dims为数据shape维度;output为模型输出列表(可以多个输出),其中name为模型的输出名称,data_type为输出数据类型,dims为输出数据shape维度。
计算机设备2还可以实时监听模型目录的配置文件及模型文件,若发现模型的相关文件被更改,即时卸载原有模型并重新加载对应模型,从而实现在线更换模型,不影响用户体验。
本实施可以实现多种框架下的模型统一快速部署;同时支持模型的多版本管理及线上更新模型不影响处理的功能;同时支持GPU批处理及多实例能力,提高模型处理并发能力。另外,本实施采用多进程绑定多核CPU的特性,解决CPU计算密集型的并发问题;还有基于异步、协程模块,解决I/O密集型的高并发问题;同时其中处理客户端支持批量请求,结合模型处理模块最终具有高并发处理能力。
为了更好地理解,本实施例所述基于HTTP的模型调用方法的流程图,如图3所示。
在本实施例中,计算机设备2可以通过HTTP传输组件接收一个或多个客户终端发送的HTTP请求,每个客户终端可以发送多个HTTP请求,每个HTTP请求分别携带有相应的待处理数据,所述待处理数据可以是图片数据、语音数据、文本数据等。在接收到所述多个HTTP请求后,所述计算机设备2可以为这些HTTP请求分配多个进程。其中,每个进程可以用来处理这些HTTP请求中的一个或多个HTTP请求。其中,每个进程包括步骤:①对每个HTTP请求分别携带有相应的待处理数据进行格式转换以得到已处理数据,并根据相应的HTTP请求生成相应的处理请求;②根据所述处理请求调用所述处理请求对应的目标模型,以所述目标模型对所述已处理数据进行处理以得到处理结果;③将所述处理结果发送到客户终端。
实施例二
图4为本发明基于HTTP的模型调用系统实施例二的程序模块示意图。基于HTTP的模型调用系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述基于HTTP的模型调用方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述基于HTTP的模型调用系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
接收模块200,用于接收一个或多个客户终端提供的多个HTTP请求。
示例性的,所述分配模块202,还用于:通过处于协程处理模式的HTTP传输组件,异步并行接收所述多个HTTP请求。
配置模块202,用于为所述多个HTTP请求配置多个进程。
示例性的,所述配置模块202,还用于:根据计算资源配置所述多个进程,所述计算资源包括CPU资源;其中:当所述多个进程的数量≤CPU核心的数量,则将每个进程分别配置于不同的CPU核心中;及当所述多个进程的数量>CPU核心的数量,则将每个进程分别平均配置于不同的CPU核心中。
执行模块204,用于通过各个进程执行以下操作:根据相应的HTTP请求生成相应的处理请求,并将所述处理请求传输到相应的目标模型中,以便所述目标模型基于所述相应的处理请求反馈相应的处理结果;及接收所述处理结果并将所述处理结果发送到客户终端。
示例性的,所述执行模块204,还用于:将所述处理结果发送至所述HTTP传输组件中,以通过所述HTTP传输组件将所述处理结果发送到所述客户终端。
示例性的,每个HTTP请求分别携带有预设数据类型的待处理数据,其中,每种预设数据类型预先配置有一个对应的标准转换格式;所述执行模块204,还用于:根据所述相应的HTTP请求中的目标待处理数据,确定所述目标数据类型;根据所述目标数据类型,确定所述目标待处理数据对应的目标标准转换格式;根据所述目标标准转换格式对所述目标待处理数据进行格式转换,以得到所述目标已处理数据;及将所述目标已处理数据传输到所述目标模型中,并将所述目标已处理数据上传到区块链中。
示例性的,所述执行模块204,还用于:根据目标标准转换格式确定多个接口中的目标接口,所述多个接口为预先配置的且每个接口对应一个模型;及通过所述目标接口将所述目标已处理数据输入到所述目标模型中。
示例性的,所述基于HTTP的模型调用系统20,还包括,加载模块,所述加载模块,用于:预先获取多个调用配置文件,其中,调用配置文件用于配置模型的输入输出;及将调用配置文件加载到一个对应的模型框架中,以得到多个模型,其中所述模型框架预先训练好的模型框架。
示例性的,所述执行模块204,还用于:为每个调用配置文件创建一个以该调用配置文件类型和对应编号命名的配置文件夹;将所述每个调用配置文件保存到对应的配置文件夹中,以得到多个配置文件夹;将所述多个配置文件夹保存到同一个总文件夹中;监听总文件夹,当所述监听到总文件夹中的调用配置文件被更改时,则将该调用配置文件所在的配置文件夹的名称发送到目标平台,以使所述目标平台根据所述文件夹的名称对与所述调用配置文件对应的模型框架进行修改,以得到修改后的模型框架;及将被更改的调用配置文件加载到所述修改后的模型框架中,以得到对应的模型。
实施例三
参阅图5,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及基于HTTP的模型调用系统20。
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如实施例二的基于HTTP的模型调用系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行基于HTTP的模型调用系统20,以实现实施例一的基于HTTP的模型调用方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communicatI/On,GSM)、宽带码分多址(WidebandCode DivisI/On Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图5仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的基于HTTP的模型调用系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
例如,图4示出了本发明实施例二之所述实现基于HTTP的模型调用系统20的程序模块示意图,该实施例中,所述基于HTTP的模型调用系统20可以被划分为接收模块200、配置模块202和执行模块204。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述基于HTTP的模型调用系统20在所述计算机设备2中的执行过程。所述程序模块200-204的具体功能在实施例二中已有详细描述,在此不再赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于基于HTTP的模型调用系统20,被处理器执行时实现实施例一的基于HTTP的模型调用方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种基于HTTP的模型调用方法,其特征在于,所述方法包括:
接收一个或多个客户终端提供的多个HTTP请求;
为所述多个HTTP请求配置多个进程;
通过各个进程执行以下操作:根据相应的HTTP请求生成相应的处理请求,并将所述处理请求传输到相应的目标模型中,以便所述目标模型基于所述相应的处理请求反馈相应的处理结果;及接收所述处理结果并将所述处理结果发送到客户终端;
其中,所述接收一个或多个客户终端提供的多个HTTP请求的步骤,包括:
通过处于协程处理模式的HTTP传输组件,异步并行接收所述多个HTTP请求;及
所述接收所述处理结果并将所述处理结果发送到客户终端的步骤,包括:
将所述处理结果发送至所述HTTP传输组件中,以通过所述HTTP传输组件将所述处理结果发送到所述客户终端;
其中,每个HTTP请求分别携带有预设数据类型的待处理数据,其中,每种预设数据类型预先配置有一个对应的标准转换格式;
根据相应的HTTP请求生成相应的处理请求,并将所述处理请求传输到相应的目标模型中,包括:
根据所述相应的HTTP请求中的目标待处理数据,确定目标数据类型;
根据所述目标数据类型,确定所述目标待处理数据对应的目标标准转换格式;
根据所述目标标准转换格式对所述目标待处理数据进行格式转换,以得到目标已处理数据;及
将所述目标已处理数据传输到所述目标模型中,并将所述目标已处理数据上传到区块链中。
2.如权利要求1所述的基于HTTP的模型调用方法,其特征在于,将所述目标已处理数据传输到所述目标模型中,包括:
根据目标标准转换格式确定多个接口中的目标接口,所述多个接口为预先配置的且每个接口对应一个模型;及
通过所述目标接口将所述目标已处理数据输入到所述目标模型中。
3.如权利要求1所述的基于HTTP的模型调用方法,其特征在于,所述为所述多个HTTP请求配置多个进程,包括;
根据计算资源配置所述多个进程,所述计算资源包括CPU资源;其中:
当所述多个进程的数量≤CPU核心的数量,则将每个进程分别配置于不同的CPU核心中;及
当所述多个进程的数量>CPU核心的数量,则将每个进程分别平均配置于不同的CPU核心中。
4.如权利要求1所述的基于HTTP的模型调用方法,其特征在于,还包括预先加载多个模型的步骤:
预先获取多个调用配置文件,其中,调用配置文件用于配置模型的输入输出;及
将调用配置文件加载到一个对应的模型框架中,以得到多个模型,其中所述模型框架预先训练好的模型框架。
5.如权利要求3所述的基于HTTP的模型调用方法,其特征在于,将调用配置文件加载到一个对应的模型框架中,以得到多个模型,包括:
为每个调用配置文件创建一个以该调用配置文件类型和对应编号命名的配置文件夹;
将所述每个调用配置文件保存到对应的配置文件夹中,以得到多个配置文件夹;
将所述多个配置文件夹保存到同一个总文件夹中;
监听总文件夹,当所述监听到总文件夹中的调用配置文件被更改时,则将该调用配置文件所在的配置文件夹的名称发送到目标平台,以使所述目标平台根据所述文件夹的名称对与所述调用配置文件对应的模型框架进行修改,以得到修改后的模型框架;及
将被更改的调用配置文件加载到所述修改后的模型框架中,以得到对应的模型。
6.一种基于HTTP的模型调用系统,其特征在于,包括:
接收模块,用于接收一个或多个客户终端提供的多个HTTP请求;
配置模块,用于为所述多个HTTP请求配置多个进程;
执行模块,用于通过各个进程执行以下操作:根据相应的HTTP请求生成相应的处理请求,并将所述处理请求传输到相应的目标模型中,以便所述目标模型基于所述相应的处理请求反馈相应的处理结果;及接收所述处理结果并将所述处理结果发送到客户终端;
其中,所述接收一个或多个客户终端提供的多个HTTP请求,包括:
通过处于协程处理模式的HTTP传输组件,异步并行接收所述多个HTTP请求;及
所述接收所述处理结果并将所述处理结果发送到客户终端,包括:
将所述处理结果发送至所述HTTP传输组件中,以通过所述HTTP传输组件将所述处理结果发送到所述客户终端;
其中,每个HTTP请求分别携带有预设数据类型的待处理数据,其中,每种预设数据类型预先配置有一个对应的标准转换格式;
根据相应的HTTP请求生成相应的处理请求,并将所述处理请求传输到相应的目标模型中,包括:
根据所述相应的HTTP请求中的目标待处理数据,确定目标数据类型;
根据所述目标数据类型,确定所述目标待处理数据对应的目标标准转换格式;
根据所述目标标准转换格式对所述目标待处理数据进行格式转换,以得到目标已处理数据;及
将所述目标已处理数据传输到所述目标模型中,并将所述目标已处理数据上传到区块链中。
7.一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的基于HTTP的模型调用方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1至5中任一项所述的基于HTTP的模型调用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010751931.0A CN111880864B (zh) | 2020-07-30 | 2020-07-30 | 基于http的模型调用方法、系统、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010751931.0A CN111880864B (zh) | 2020-07-30 | 2020-07-30 | 基于http的模型调用方法、系统、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111880864A CN111880864A (zh) | 2020-11-03 |
CN111880864B true CN111880864B (zh) | 2023-12-26 |
Family
ID=73204634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010751931.0A Active CN111880864B (zh) | 2020-07-30 | 2020-07-30 | 基于http的模型调用方法、系统、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111880864B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114268661B (zh) * | 2021-11-19 | 2024-04-30 | 科大讯飞股份有限公司 | 一种业务方案部署方法、装置、系统及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105556475A (zh) * | 2013-08-12 | 2016-05-04 | 亚马逊技术股份有限公司 | 请求处理技术 |
JP2016139425A (ja) * | 2016-03-15 | 2016-08-04 | カシオ計算機株式会社 | 端末装置及びプログラム |
CN109597699A (zh) * | 2018-11-28 | 2019-04-09 | 泰康保险集团股份有限公司 | 数据处理方法、装置、电子设备及计算机可读介质 |
CN109858607A (zh) * | 2019-03-08 | 2019-06-07 | 网宿科技股份有限公司 | 一种模型应用方法、管理方法、系统及服务器 |
CN110401697A (zh) * | 2019-06-26 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种并发处理http请求的方法、系统及设备 |
CN110619206A (zh) * | 2019-08-15 | 2019-12-27 | 中国平安财产保险股份有限公司 | 运维风险控制方法、系统、设备及计算机可读存储介质 |
CN111432022A (zh) * | 2020-04-07 | 2020-07-17 | 深圳中兴网信科技有限公司 | 模型部署方法、服务器和计算机可读存储介质 |
-
2020
- 2020-07-30 CN CN202010751931.0A patent/CN111880864B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105556475A (zh) * | 2013-08-12 | 2016-05-04 | 亚马逊技术股份有限公司 | 请求处理技术 |
JP2016139425A (ja) * | 2016-03-15 | 2016-08-04 | カシオ計算機株式会社 | 端末装置及びプログラム |
CN109597699A (zh) * | 2018-11-28 | 2019-04-09 | 泰康保险集团股份有限公司 | 数据处理方法、装置、电子设备及计算机可读介质 |
CN109858607A (zh) * | 2019-03-08 | 2019-06-07 | 网宿科技股份有限公司 | 一种模型应用方法、管理方法、系统及服务器 |
CN110401697A (zh) * | 2019-06-26 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种并发处理http请求的方法、系统及设备 |
CN110619206A (zh) * | 2019-08-15 | 2019-12-27 | 中国平安财产保险股份有限公司 | 运维风险控制方法、系统、设备及计算机可读存储介质 |
CN111432022A (zh) * | 2020-04-07 | 2020-07-17 | 深圳中兴网信科技有限公司 | 模型部署方法、服务器和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111880864A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108052615B (zh) | 访问请求的处理方法、装置、介质及电子设备 | |
WO2019000630A1 (zh) | 多任务调度方法、系统、应用服务器及计算机可读存储介质 | |
CN108572845B (zh) | 分布式微服务集群的升级方法及相关系统 | |
CN108021400B (zh) | 数据处理方法及装置、计算机存储介质及设备 | |
CN110704177B (zh) | 计算任务处理方法、装置、计算机设备和存储介质 | |
CN109951514B (zh) | 基于云存储的文件处理方法、系统及计算机设备 | |
CN107861811B (zh) | 工作流系统中的任务信息传输方法、装置和计算机设备 | |
CN108829518B (zh) | 用于推送信息的方法和装置 | |
CN111414391A (zh) | 一种访问多数据源的方法及系统 | |
CN111988419A (zh) | 文件上传方法、下载方法、装置、计算机设备和存储介质 | |
CN111988337A (zh) | 权限管理方法及系统 | |
CN111666145A (zh) | 消息队列的消息处理方法、系统和计算机设备 | |
CN112286664B (zh) | 任务调度方法、装置、计算机设备及可读存储介质 | |
CN111880864B (zh) | 基于http的模型调用方法、系统、计算机设备和存储介质 | |
CN112422450A (zh) | 计算机设备、服务请求的流量控制方法及装置 | |
CN111726266B (zh) | 热点数据分桶方法、系统和计算机设备 | |
CN112256760A (zh) | 一种数据预测方法、装置、计算机设备及存储介质 | |
CN112003930A (zh) | 任务分配方法、装置、设备及存储介质 | |
CN109327499B (zh) | 业务接口的管理方法及装置、存储介质、终端 | |
CN111539281A (zh) | 分布式人脸识别方法及系统 | |
CN112559221B (zh) | 智能名单处理方法、系统、设备及存储介质 | |
CN112650710B (zh) | 数据迁移的发送方法及装置、存储介质、电子装置 | |
CN116095074A (zh) | 资源分配方法、装置、相关设备及存储介质 | |
CN111767345B (zh) | 建模数据同步方法、装置、计算机设备及可读存储介质 | |
CN110889539B (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 |