CN113326060A - 业务请求处理方法、装置和***以及业务配置方法和装置 - Google Patents
业务请求处理方法、装置和***以及业务配置方法和装置 Download PDFInfo
- Publication number
- CN113326060A CN113326060A CN202010131356.4A CN202010131356A CN113326060A CN 113326060 A CN113326060 A CN 113326060A CN 202010131356 A CN202010131356 A CN 202010131356A CN 113326060 A CN113326060 A CN 113326060A
- Authority
- CN
- China
- Prior art keywords
- container
- service
- interface
- operation unit
- identification information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims description 52
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 239000002184 metal Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 241000412611 Consul Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
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 Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了业务请求处理方法、装置和***以及业务配置方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:获取业务的配置文件;根据所述配置文件,确定所述业务的接口和所述接口对应的标识信息;其中,所述接口中包括:容器的标识;所述容器中部署有算法模型;将所述接口和所述标识信息对应存储在配置数据库中。该实施方式能够将算法模型和业务逻辑解耦,降低开发成本,提高业务处理效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种业务请求处理方法、装置和***以及业务配置方法和装置。
背景技术
算法模型被广泛应用于各种业务处理过程中。
现有技术中,算法模型与业务逻辑耦合,当业务对应的算法模型发生变化时,开发人员需要重新编写代码。
发明内容
有鉴于此,本发明实施例提供一种业务请求处理方法、装置和***以及业务配置方法和装置,能够将算法模型和业务逻辑解耦,降低开发成本,提高业务处理效率。
第一方面,本发明实施例提供了一种业务配置方法,包括:
获取业务的配置文件;
根据所述配置文件,确定所述业务的接口和所述接口对应的标识信息;其中,所述接口中包括:容器的标识;所述容器中部署有算法模型;
将所述接口和所述标识信息对应存储在配置数据库中。
优选地,
所述获取业务的配置文件,包括:
监听服务发现***;
如果所述服务发现***中所述配置文件发生变更,则从所述服务发现***中获取所述配置文件。
优选地,
所述根据所述配置文件,确定所述业务的接口和所述接口对应的标识信息,包括:
解析所述配置文件,得到所述标识信息和与所述标识信息对应的操作流信息和操作单元信息;
根据所述操作单元信息,创建操作单元;其中,所述操作单元中包括:所述容器的标识;
根据所述操作流信息,将所述操作单元封装成所述接口。
第二方面,本发明实施例提供了一种业务请求处理方法,包括:
接收业务方发送的业务请求;其中,所述业务请求中包括:参数和接口对应的标识信息;
根据所述标识信息,从配置数据库中获取所述接口;其中,所述接口中包括:容器的标识;所述容器中部署有算法模型;
将所述参数传入所述接口,以使所述接口根据所述容器的标识将所述参数发送给所述容器,根据所述容器反馈的计算结果输出调用结果;其中,所述计算结果由所述容器根据所述参数和所述算法模型确定;
根据所述调用结果,确定请求结果,将所述请求结果反馈给所述业务方。
优选地,
所述根据所述调用结果,确定请求结果,包括:
将所述调用结果存储至所述配置数据库;
根据数据交换工具将存储在所述配置数据库中的调用结果发送至向量数据库,接收所述向量数据库反馈的所述请求结果。
优选地,
所述接口中包括n个所述操作单元,n为大于等于2的整数;所述操作单元具有相应的执行位次;
所述接口根据所述容器的标识将所述参数发送给所述容器,根据所述容器反馈的计算结果输出调用结果,包括:
所述执行位次排在第1位的操作单元根据其包括的第1容器的标识将所述参数发送给所述第1容器,将所述第1容器反馈的计算结果输入所述执行位次排在第2位的操作单元;
所述执行位次排在第i位的操作单元根据其包括的第i容器的标识将所述执行位次排在第i-1位的操作单元输入的计算结果发送给第i容器,将所述第i容器反馈的计算结果输入所述执行位次排在第i+1位的操作单元;
所述执行位次排在第n位的操作单元根据其包括的第n容器的标识将所述执行位次排在第n-1位的操作单元输入的计算结果发送给第n容器,输出所述第n容器反馈的计算结果;其中,所述第n容器反馈的计算结果为所述调用结果,i为大于1且小于n的整数。
第三方面,本发明实施例提供了一种业务配置装置,包括:
获取模块,配置为获取业务的配置文件;
确定模块,配置为根据所述配置文件,确定所述业务的接口和所述接口对应的标识信息;其中,所述接口中包括:容器的标识;所述容器中部署有算法模型;
存储模块,配置为将所述接口和所述标识信息对应存储在配置数据库中。
第四方面,本发明实施例提供了一种业务请求处理装置,包括:
接收模块,配置为接收业务方发送的业务请求;其中,所述业务请求中包括:参数和接口对应的标识信息;
获取模块,配置为根据所述标识信息,从配置数据库中获取所述接口;其中,所述接口中包括:容器的标识;所述容器中部署有算法模型;
调用模块,配置为将所述参数传入所述接口,以使所述接口根据所述容器的标识将所述参数发送给所述容器,根据所述容器反馈的计算结果输出调用结果;其中,所述计算结果由所述容器根据所述参数和所述算法模型确定;
确定模块,配置为根据所述调用结果,确定请求结果,将所述请求结果反馈给所述业务方。
第五方面,本发明实施例提供了一种业务请求处理***,包括:上述实施例所述的业务配置装置和上述实施例所述的业务请求处理装置。
第六方面,本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的方法。
第七方面,本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:通过配置文件,可以实现业务的动态配置。算法模型与配置文件分离,使得算法模型与业务逻辑解耦,在业务对应的算法模型发生变化时,无需重新开发代码,降低开发成本,提高业务请求处理效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明的一个实施例提供的一种业务配置方法的流程图;
图2是本发明的一个实施例提供的一种操作单元、接口、业务之间关系的示意图;
图3是本发明的一个实施例提供的一种容器的示意图;
图4是本发明的一个实施例提供的一种业务请求处理方法的流程图;
图5是本发明的另一个实施例提供的一种业务请求处理方法的流程图;
图6是本发明的一个实施例提供的一种业务配置装置的示意图;
图7是本发明的一个实施例提供的一种业务请求处理装置的示意图;
图8是本发明实施例可以应用于其中的示例性***架构图;
图9是适于用来实现本发明实施例的终端设备或服务器的计算机***的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
如图1所示,本发明实施例提供了一种业务配置方法,包括:
步骤101:获取业务的配置文件。
通过不同业务的配置文件,可以提供不同的业务服务。例如,支付业务,图像识别业务、图像特征提取业务等。
该业务的配置文件可以由业务服务的提供方上传,也可以从服务发现***中获取。
步骤102:根据配置文件,确定业务的接口和接口对应的标识信息;其中,接口中包括:容器的标识;容器中部署有算法模型。
接口对应的标识信息可以包括:接口的标识和接口所属的业务的标识。例如,注册接口的标识为a,注册接口所属的业务标识为A,则该注册接口对应的标识信息为a和A。在调用接口的过程中,通过接口对应的标识信息可以准确确定被调用的接口。
本发明实施例通过容器的标识将算法模型与接口关联起来。一个接口中可以包括一个或多个容器的标识。容器的标识可以为容器对应的域名。容器可以通过镜像容器封装成接口服务,并对外提供相应的算法服务。容器通过镜像容器的IP地址挂载在域名下。一个域名可以对应一个或多个容器对应的镜像容器,当一个容器的计算量不足时,可以将其他容器的镜像容器的IP地址挂载到同一个域名下做负载均衡。通过在域名下增加挂载的容器的镜像容器,能够处理运算量较大的业务请求,提高业务处理能力。
算法模型可以为视觉目标跟踪算法、回归算法模型等。
步骤103:将接口和标识信息对应存储在配置数据库中。
将接口与其对应的标识信息对应存储,以便于根据标识信息实现对相应接口的调用。
该方法通过配置文件,可以实现业务的动态配置。算法模型与配置文件分离,使得算法模型与业务逻辑解耦,在业务对应的算法模型发生变化时,无需重新开发代码,降低开发成本。
在本发明的一个实施例中,获取业务的配置文件,包括:
监听服务发现***;
如果服务发现***中配置文件发生变更,则从服务发现***中获取配置文件。
服务发现***可以为ETCD,还可以为Consul等。其中,ETCD是用于共享配置和服务发现的分布式、一致性的key-value存储***;Consul是一个服务管理软件,支持多数据中心下,分布式高可用的服务发现和配置共享。
以ETCD为例,服务发现***中可以包括一个或多个搭建有ETCD的服务器,多个服务器构成的ETCD服务集群与单一服务器相比,具有更高的稳定性和可靠性。
在本发明实施例中,配置文件的变更指配置文件的修改和增加,如果服务发现***中配置文件发生修改,则从服务发现***中获取修改后的配置文件;如果服务发现***中新增配置文件,则从服务发现***中获取新增的配置文件。在实际应用场景中,如果监听到服务发现***中发生配置文件的删除,则根据被删除的配置文件的标识,从配置数据库中删除该配置文件对应的接口及接口对应的标识信息。
通过监听服务发现***,能够及时获取配置文件变更的信息,进而对已配置的业务及时进行调整。
在本发明的一个实施例中,根据配置文件,确定业务的接口和接口对应的标识信息,包括:
解析配置文件,得到标识信息和与标识信息对应的操作流信息和操作单元信息;
根据操作单元信息,创建操作单元;其中,操作单元中包括:容器的标识。
根据操作流信息,将操作单元封装成接口。
一个配置文件可以生成至少一个接口,一个接口中包括至少一个操作单元。例如,业务1对应搜索接口,该搜索接口包括的操作单元有:检测、质量、特征、匹配;业务2对应注册接口和搜索接口,其中,搜索接口同业务1的搜索接口,注册接口包括的操作单元有:检测、活体、特征、识别。
一个操作单元对应一种算法模型,例如,检测单元对应检测算法模型,识别单元对应识别算法模型,属性单元对应属性算法模型。操作流信息中包括接口中各个操作单元的逻辑顺序等信息,例如,检测单元的输出为质量单元的输入,质量单元的输出为识别单元的输入。
如图2所示,是描述操作单元、接口、业务之间关系的示意图。业务包括两种接口,接口1和接口2,接口1包括三个操作单元,接口2包括两个操作单元。
在本发明的一个实施例中,容器中部署有算法模型,包括:
算法模型通过TensorFlow Serving部署在容器中。
TensorFlow Serving是一种开源服务***,适用于部署机器学习模型,灵活、性能高、可用于生产环境。
如图3所示,是一种容器的示意图,该容器包括:TensorFlow模型、TensorFlowServing和Client模块,Client模块进一步包括:预测子模块、预处理子模块和服务子模块,其中,服务子模块用于与操作单元进行交互。预处理子模块用于将操作单元发送的图像、文本或者其它数据转化成张量。预测子模块基于gRPC将张量发送给TensorFlowServing。gRPC是一个高性能、通用的开源RPC(Remote Procedure Call,远程过程调用)框架。
如图4所示,本发明实施例提供了一种业务请求处理方法,包括:
步骤401:接收业务方发送的业务请求;其中,业务请求中包括:参数和接口对应的标识信息。
业务方可以是需要调用接口的业务***。参数可以是图片、文本等数据。业务方可以通过一个业务请求对多个接口进行调用,这些被调用的接口可以属于一个业务,也可以属于不同的业务。
例如,业务请求1对应的标识信息包括:业务A和接口a,对应的参数为图片1,则通过该业务请求1可以实现对业务A的接口a进行调用,图片1为接口的入参。业务请求2对应的标识信息包括:业务A、与业务A对应的接口a,业务B、与业务B对应的接口b;接口a对应的参数为图片1,接口b对应的参数为图片2。通过业务请求2可以实现对业务A的接口a和业务B的接口b进行调用,入参分别是图片1和图片2。
步骤402:根据标识信息,从配置数据库中获取接口;其中,接口中包括:容器的标识;容器中部署有算法模型。
业务、接口和操作单元的关系已在前述实施例中进行说明,此处不再赘述。
步骤403:将参数传入接口,以使接口根据容器的标识将参数发送给容器,根据容器反馈的计算结果输出调用结果;其中,计算结果由容器根据参数和算法模型确定。
接口可以仅包括一个操作单元,此时,操作单元的输出结果即为调用结果。接口(或操作单元)与容器基于HTTP(Hyper Text TransferProtocol,超文本传输协议)或gRPC进行交互。
步骤404:根据调用结果,确定请求结果,将请求结果反馈给业务方。
在实际应用场景中,根据业务的不同,有些接口输出的调用结果可以直接作为请求结果,有些接口输出的调用结果需要经过进一步处理才能得到请求结果,具体情况将在后续实施例中进行说明。
在该业务请求处理过程中,根据接口中包括的容器的标识可以调用相应的算法模型进行计算,如果接口对应的算法模型发生变更,则仅需更改接口中容器的标识,而不需要重新编写代码。该方法能够提高业务请求的处理效率。
在本发明的一个实施例中,根据调用结果,确定请求结果,包括:
将调用结果存储至配置数据库;
根据数据交换工具将存储在配置数据库中的调用结果发送至向量数据库,接收向量数据库反馈的请求结果。
以图像识别业务为例,调用结果为提取得到的待识别图像的特征,向量数据库中存储模板图像的特征,将待识别图像的特征输入交换至向量数据库后,向量数据库会根据待识别图像的特征和模板图像的特征得到识别结果,该识别结果即为请求结果。
在本发明的一个实施例中,接口中包括n个操作单元,n为大于等于2的整数;操作单元具有相应的执行位次;
接口根据容器的标识将参数发送给容器,根据容器反馈的计算结果输出调用结果,包括:
执行位次排在第1位的操作单元根据其包括的第1容器的标识将参数发送给第1容器,将第1容器反馈的计算结果输入执行位次排在第2位的操作单元;
执行位次排在第i位的操作单元根据其包括的第i容器的标识将执行位次排在第i-1位的操作单元输入的计算结果发送给第i容器,将第i容器反馈的计算结果输入执行位次排在第i+1位的操作单元;
执行位次排在第n位的操作单元根据其包括的第n容器的标识将执行位次排在第n-1位的操作单元输入的计算结果发送给第n容器,输出第n容器反馈的计算结果;其中,第n容器反馈的计算结果为调用结果,i为大于1且小于n的整数。
以搜索接口为例,搜索接口包括的操作单元有:检测、质量、特征、匹配。操作单元的执行位次分别为1、2、3、4。检测单元将业务请求中的参数发送给检测容器,将检测容器反馈的计算结果输入质量单元;质量单元将检测单元输入的计算结果发送给质量容器,将质量容器反馈的计算结果输入特征单元;特征单元将质量单元输入的计算结果发送给特征容器,将特征容器反馈的计算结果输入匹配单元;匹配单元将特征单元输入的计算结果发送给匹配容器,将匹配容器反馈的计算结果输出。
在本发明的一个实施例中,该方法还包括:确定容器从接收相应的操作单元发送的数据到输出计算结果花费的时间,保存该时间。容器对应的时间反映了容器的性能强弱,通过该时间可以监测容器性能的变化。
在本发明的一个实施例中,该方法还包括:如果操作单元与算法模型连接失败,则发送告警信号。该告警信号可以是告警短信,还可以是告警邮件等其他形式。发送的对象可以是业务方,也可以是业务请求处理装置的维护方。
在本发明的一个实施例中,该方法还包括:根据操作单元的输入和输出,生成操作单元的日志,保存该日志。保存日志有助于后续检查操作单元的运行情况。
如图5所示,本发明实施例提供了一种业务请求处理方法,包括:
步骤501:监听服务发现***。
步骤502:当服务发现***中新增配置文件时,从服务发现***中获取配置文件。
步骤503:解析配置文件,得到标识信息和与标识信息对应的操作流信息和操作单元信息。
步骤504:根据操作单元信息,创建操作单元;其中,操作单元中包括:容器的标识。
步骤505:根据操作流信息,将操作单元封装成接口;其中,接口中包括:容器的标识;容器中部署有算法模型。
步骤506:将接口和标识信息对应存储在配置数据库中。
步骤507:接收业务方发送的业务请求;其中,业务请求中包括:参数和目标接口对应的标识信息。
步骤508:根据标识信息,从配置数据库中获取目标接口;其中,目标接口中包括:容器的标识;容器中部署有算法模型。
步骤509:将参数传入目标接口,以使目标接口根据容器的标识将参数发送给容器,根据容器反馈的计算结果输出调用结果;其中,计算结果由容器根据参数和算法模型确定。
步骤510:将调用结果存储至配置数据库。
步骤511:根据数据交换工具将存储在配置数据库中的调用结果发送至向量数据库,接收向量数据库反馈的请求结果。
步骤512:将请求结果反馈给业务方。
该方法将业务逻辑与算法模型解耦,能够实现业务的动态配置,并且,降低开发成本,提高业务请求的处理效率。
如图6所示,本发明实施例提供了一种业务配置装置,包括:
获取模块601,配置为获取业务的配置文件;
确定模块602,配置为根据配置文件,确定业务的接口和接口对应的标识信息;其中,接口中包括:容器的标识;容器中部署有算法模型;
存储模块603,配置为将接口和标识信息对应存储在配置数据库中。
在本发明的一个实施例中,获取模块601,配置为监听服务发现***;如果服务发现***中配置文件发生变更,则从服务发现***中获取配置文件。
在本发明的一个实施例中,确定模块602,配置为解析配置文件,得到标识信息和与标识信息对应的操作流信息和操作单元信息;根据操作单元信息,创建操作单元;其中,操作单元中包括:容器的标识;根据操作流信息,将操作单元封装成接口。
在本发明的一个实施例中,容器中部署有算法模型,包括:算法模型通过TensorFlow Serving部署在容器中。
如图7所示,本发明实施例提供了一种业务请求处理装置,包括:
接收模块701,配置为接收业务方发送的业务请求;其中,业务请求中包括:参数和接口对应的标识信息;
获取模块702,配置为根据标识信息,从配置数据库中获取接口;其中,接口中包括:容器的标识;容器中部署有算法模型;
调用模块703,配置为将参数传入接口,以使接口根据容器的标识将参数发送给容器,根据容器反馈的计算结果输出调用结果;其中,计算结果由容器根据参数和算法模型确定;
确定模块704,配置为根据调用结果,确定请求结果,将请求结果反馈给业务方。
在本发明的一个实施例中,确定模块704,配置为将调用结果存储至配置数据库;根据数据交换工具将存储在配置数据库中的调用结果发送至向量数据库,接收向量数据库反馈的请求结果。
在本发明的一个实施例中,接口中包括n个操作单元,n为大于等于2的整数;操作单元具有相应的执行位次;
接口根据容器的标识将参数发送给容器,根据容器反馈的计算结果输出调用结果,包括:
执行位次排在第1位的操作单元根据其包括的第1容器的标识将参数发送给第1容器,将第1容器反馈的计算结果输入执行位次排在第2位的操作单元;
执行位次排在第i位的操作单元根据其包括的第i容器的标识将执行位次排在第i-1位的操作单元输入的计算结果发送给第i容器,将第i容器反馈的计算结果输入执行位次排在第i+1位的操作单元;
执行位次排在第n位的操作单元根据其包括的第n容器的标识将执行位次排在第n-1位的操作单元输入的计算结果发送给第n容器,输出第n容器反馈的计算结果;其中,第n容器反馈的计算结果为调用结果,i为大于1且小于n的整数。
本发明实施例提供了一种业务请求处理***,包括:上述任一实施例所述的业务配置装置和上述任一实施例所述的业务请求处理装置。
本发明实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所述的方法。
本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的方法。
图8示出了可以应用本发明实施例的业务配置方法或业务请求处理方法或业务配置装置或业务请求处理装置的示例性***架构800。
如图8所示,***架构800可以包括终端设备801、802、803,网络804和服务器805。网络804用以在终端设备801、802、803和服务器805之间提供通信链路的介质。网络804可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备801、802、803通过网络804与服务器805交互,以接收或发送消息等。终端设备801、802、803上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备801、802、803可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器805可以是提供各种服务的服务器,例如对用户利用终端设备801、802、803所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的业务配置方法或业务请求处理方法一般由服务器805执行,相应地,业务配置装置或业务请求处理装置一般设置于服务器805中。
应该理解,图8中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图9,其示出了适于用来实现本发明实施例的终端设备的计算机***900的结构示意图。图9示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算机***900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。在RAM 903中,还存储有***900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被中央处理单元(CPU)901执行时,执行本发明的***中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送模块、获取模块、确定模块和第一处理模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,发送模块还可以被描述为“向所连接的服务端发送图片获取请求的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
获取业务的配置文件;
根据所述配置文件,确定所述业务的接口和所述接口对应的标识信息;其中,所述接口中包括:容器的标识;所述容器中部署有算法模型;
将所述接口和所述标识信息对应存储在配置数据库中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
接收业务方发送的业务请求;其中,所述业务请求中包括:参数和接口对应的标识信息;
根据所述标识信息,从配置数据库中获取所述接口;其中,所述接口中包括:容器的标识;所述容器中部署有算法模型;
将所述参数传入所述接口,以使所述接口根据所述容器的标识将所述参数发送给所述容器,根据所述容器反馈的计算结果输出调用结果;其中,所述计算结果由所述容器根据所述参数和所述算法模型确定;
根据所述调用结果,确定请求结果,将所述请求结果反馈给所述业务方。
根据本发明实施例的技术方案,通过配置文件,可以实现业务的动态配置。算法模型与配置文件分离,使得算法模型与业务逻辑解耦,在业务对应的算法模型发生变化时,无需重新开发代码,降低开发成本,提高业务请求处理效率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (11)
1.一种业务配置方法,其特征在于,包括:
获取业务的配置文件;
根据所述配置文件,确定所述业务的接口和所述接口对应的标识信息;其中,所述接口中包括:容器的标识;所述容器中部署有算法模型;
将所述接口和所述标识信息对应存储在配置数据库中。
2.如权利要求1所述的方法,其特征在于,
所述获取业务的配置文件,包括:
监听服务发现***;
如果所述服务发现***中所述配置文件发生变更,则从所述服务发现***中获取所述配置文件。
3.如权利要求1或2所述的方法,其特征在于,
所述根据所述配置文件,确定所述业务的接口和所述接口对应的标识信息,包括:
解析所述配置文件,得到所述标识信息和与所述标识信息对应的操作流信息和操作单元信息;
根据所述操作单元信息,创建操作单元;其中,所述操作单元中包括:所述容器的标识;
根据所述操作流信息,将所述操作单元封装成所述接口。
4.一种业务请求处理方法,其特征在于,包括:
接收业务方发送的业务请求;其中,所述业务请求中包括:参数和接口对应的标识信息;
根据所述标识信息,从配置数据库中获取所述接口;其中,所述接口中包括:容器的标识;所述容器中部署有算法模型;
将所述参数传入所述接口,以使所述接口根据所述容器的标识将所述参数发送给所述容器,根据所述容器反馈的计算结果输出调用结果;其中,所述计算结果由所述容器根据所述参数和所述算法模型确定;
根据所述调用结果,确定请求结果,将所述请求结果反馈给所述业务方。
5.如权利要求4所述的方法,其特征在于,
所述根据所述调用结果,确定请求结果,包括:
将所述调用结果存储至所述配置数据库;
根据数据交换工具将存储在所述配置数据库中的调用结果发送至向量数据库,接收所述向量数据库反馈的所述请求结果。
6.如权利要求4或5所述的方法,其特征在于,
所述接口中包括n个所述操作单元,n为大于等于2的整数;所述操作单元具有相应的执行位次;
所述接口根据所述容器的标识将所述参数发送给所述容器,根据所述容器反馈的计算结果输出调用结果,包括:
所述执行位次排在第1位的操作单元根据其包括的第1容器的标识将所述参数发送给所述第1容器,将所述第1容器反馈的计算结果输入所述执行位次排在第2位的操作单元;
所述执行位次排在第i位的操作单元根据其包括的第i容器的标识将所述执行位次排在第i-1位的操作单元输入的计算结果发送给第i容器,将所述第i容器反馈的计算结果输入所述执行位次排在第i+1位的操作单元;
所述执行位次排在第n位的操作单元根据其包括的第n容器的标识将所述执行位次排在第n-1位的操作单元输入的计算结果发送给第n容器,输出所述第n容器反馈的计算结果;其中,所述第n容器反馈的计算结果为所述调用结果,i为大于1且小于n的整数。
7.一种业务配置装置,其特征在于,包括:
获取模块,配置为获取业务的配置文件;
确定模块,配置为根据所述配置文件,确定所述业务的接口和所述接口对应的标识信息;其中,所述接口中包括:容器的标识;所述容器中部署有算法模型;
存储模块,配置为将所述接口和所述标识信息对应存储在配置数据库中。
8.一种业务请求处理装置,其特征在于,包括:
接收模块,配置为接收业务方发送的业务请求;其中,所述业务请求中包括:参数和接口对应的标识信息;
获取模块,配置为根据所述标识信息,从配置数据库中获取所述接口;其中,所述接口中包括:容器的标识;所述容器中部署有算法模型;
调用模块,配置为将所述参数传入所述接口,以使所述接口根据所述容器的标识将所述参数发送给所述容器,根据所述容器反馈的计算结果输出调用结果;其中,所述计算结果由所述容器根据所述参数和所述算法模型确定;
确定模块,配置为根据所述调用结果,确定请求结果,将所述请求结果反馈给所述业务方。
9.一种业务请求处理***,其特征在于,包括:权利要求7所述的业务配置装置和权利要求8所述的业务请求处理装置。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
11.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010131356.4A CN113326060A (zh) | 2020-02-28 | 2020-02-28 | 业务请求处理方法、装置和***以及业务配置方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010131356.4A CN113326060A (zh) | 2020-02-28 | 2020-02-28 | 业务请求处理方法、装置和***以及业务配置方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113326060A true CN113326060A (zh) | 2021-08-31 |
Family
ID=77412967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010131356.4A Pending CN113326060A (zh) | 2020-02-28 | 2020-02-28 | 业务请求处理方法、装置和***以及业务配置方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113326060A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116257286A (zh) * | 2023-03-13 | 2023-06-13 | 北京百度网讯科技有限公司 | 一种文件处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809126A (zh) * | 2014-01-26 | 2015-07-29 | 北京理工大学 | 业务流程引擎*** |
CN106815027A (zh) * | 2017-01-22 | 2017-06-09 | 山东鲁能软件技术有限公司 | 一种用于电网多维业务复合计算的高弹性计算平台 |
CN109710383A (zh) * | 2018-12-29 | 2019-05-03 | 上海晏鼠计算机技术股份有限公司 | 一种人工智能算法容器化应用的方法 |
US20200037217A1 (en) * | 2018-07-26 | 2020-01-30 | EMC IP Holding Company LLC | Sharing of context among base station nodes for mobility management in mobile communications network |
-
2020
- 2020-02-28 CN CN202010131356.4A patent/CN113326060A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809126A (zh) * | 2014-01-26 | 2015-07-29 | 北京理工大学 | 业务流程引擎*** |
CN106815027A (zh) * | 2017-01-22 | 2017-06-09 | 山东鲁能软件技术有限公司 | 一种用于电网多维业务复合计算的高弹性计算平台 |
US20200037217A1 (en) * | 2018-07-26 | 2020-01-30 | EMC IP Holding Company LLC | Sharing of context among base station nodes for mobility management in mobile communications network |
CN109710383A (zh) * | 2018-12-29 | 2019-05-03 | 上海晏鼠计算机技术股份有限公司 | 一种人工智能算法容器化应用的方法 |
Non-Patent Citations (1)
Title |
---|
侯阔;殷晓磊;: "微服务架构在大数据管理平台中的应用", 建设科技, no. 19, 15 October 2018 (2018-10-15) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116257286A (zh) * | 2023-03-13 | 2023-06-13 | 北京百度网讯科技有限公司 | 一种文件处理方法、装置、电子设备及存储介质 |
CN116257286B (zh) * | 2023-03-13 | 2023-09-15 | 北京百度网讯科技有限公司 | 一种文件处理方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860451A (zh) | 一种基于SaaS的多租户数据处理方法和装置 | |
CN111045833B (zh) | 接口调用的方法和装置 | |
CN111460129A (zh) | 标识生成的方法、装置、电子设备和存储介质 | |
CN113076153B (zh) | 一种接口调用方法和装置 | |
CN112184367A (zh) | 一种订单处理方法和装置 | |
CN110795315A (zh) | 监控业务的方法和装置 | |
CN114979295B (zh) | 一种网关管理的方法和装置 | |
CN110704200A (zh) | 转换调用接口的方法和装置 | |
CN111767157A (zh) | 基于服务网格的请求处理方法和装置 | |
CN114513552B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN112947919A (zh) | 构建业务模型和处理业务请求的方法和装置 | |
CN112825096A (zh) | 一种数据脱敏方法和装置 | |
CN110764769B (zh) | 处理用户请求的方法和装置 | |
CN113326060A (zh) | 业务请求处理方法、装置和***以及业务配置方法和装置 | |
CN111460020B (zh) | 用于解析消息的方法、装置、电子设备和介质 | |
CN116861397A (zh) | 一种请求处理方法、装置、电子设备及计算机可读介质 | |
CN113448652A (zh) | 一种请求处理方法和装置 | |
CN113760693A (zh) | 用于微服务***的本地调试的方法和装置 | |
CN112559001A (zh) | 更新应用的方法和装置 | |
CN114285743B (zh) | 更新配置信息的方法、装置、电子设备及存储介质 | |
CN109889590B (zh) | 消息处理方法、装置、客户端和计算机可读介质 | |
CN113472565B (zh) | 服务器功能的扩容方法、装置、设备和计算机可读介质 | |
CN112311833B (zh) | 数据更新方法和装置 | |
CN108984189B (zh) | 模块解析的方法和装置 | |
CN116737314A (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 |