CN113608900B - 一种算法模型的调用方法、装置、设备及介质 - Google Patents
一种算法模型的调用方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113608900B CN113608900B CN202111168732.8A CN202111168732A CN113608900B CN 113608900 B CN113608900 B CN 113608900B CN 202111168732 A CN202111168732 A CN 202111168732A CN 113608900 B CN113608900 B CN 113608900B
- Authority
- CN
- China
- Prior art keywords
- service
- metadata
- algorithm model
- information
- model
- 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
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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请的实施例提供一种算法模型的调用方法、装置、设备及介质,根据算法模型调用标准,调用目标算法模型;其中,所述算法模型调用标准包括通信协议、报文格式和服务接口信息,所述通信协议为算法模型被调用时的通信协议,所述报文格式为算法模型被调用时的报文格式,所述服务接口信息为算法模型被调用时的服务接口信息;所述服务接口信息基于元数据获得,所述元数据基于多个异构算法模型的共性数据获得;所述目标算法模型通过所述通信协议、所述报文格式和所述服务接口信息被应用程序调用,所述应用程序对应不同的技术栈。解决了异构算法模型在被程序调用时效率低的技术问题,提高了异构算法模型调用的效率。
Description
技术领域
本发明涉及软件开发技术领域,具体涉及一种算法模型的调用方法、装置、设备及介质。
背景技术
随着人工智能的需求发展,不论机器学习还是深度学习,算法模型的实现存在选择多种技术栈的情况,即异构算法模型,例如:C、C++、Python等。因此,异构算法模型在被程序调用时需要多种技术栈的支撑,效率低。
发明内容
本申请的主要目的在于提供一种算法模型的调用方法、装置、设备及介质,解决现有异构算法模型在被程序调用时效率低的技术问题。
为实现上述目的,本申请的实施例提供一种算法模型的调用方法,包括:
根据算法模型调用标准,通过网络调用的方式,调用目标算法模型;
其中,所述算法模型调用标准包括通信协议、报文格式和服务接口信息,所述通信协议为算法模型被调用时的通信协议,所述报文格式为算法模型被调用时的报文格式,所述服务接口信息为算法模型被调用时的服务接口信息;所述服务接口信息基于元数据获得,所述元数据基于多个异构算法模型的共性数据获得;所述目标算法模型通过所述通信协议、所述报文格式和所述服务接口信息被应用程序调用,所述应用程序对应不同的技术栈。
可选地,所述根据算法模型调用标准,调用目标算法模型的步骤之前,还包括:
基于多个异构算法模型的共性数据,定义所述元数据;其中,所述元数据包括算法模型本体元数据和算法模型服务元数据;
根据所述元数据,获得所述服务接口信息。
现有算法模型相关技术领域缺少工程化、企业化应用的经验,在本实施例中,通过元数据标准的提出,并且基于各异构模型的共性数据获得的元数据可以在算法模型和应用程序之间建立协作逻辑的标准化。
可选地,所述根据所述元数据,获得所述服务接口信息的步骤,包括:
根据所述元数据,进行算法模型服务业务功能接口设计,获得服务业务功能接口信息;其中,所述服务业务功能接口信息用于提供业务功能接口清单;
根据所述元数据,进行算法模型服务基础信息接口设计,获得服务基础信息接口信息;其中,所述服务基础信息接口信息用于提供业务功能集合的描述信息;
根据所述元数据,进行算法模型服务维护接口设计,获得服务维护接口信息;其中,所述服务维护接口信息用于实现算法模型服务的启动、停止、重启、暂停和升级中的一种或多种功能。
在定义元数据的基础上,算法模型除提供业务功能外,还具备一定的管理功能。在本实施例中,服务基础信息接口信息可以丰富算法模型业务功能的描述;服务维护接口信息可以实现算法模型全生命周期的管理,使得基于该元数据获得的服务接口信息。
可选地,所述根据所述元数据,进行算法模型服务业务功能接口设计,获得服务业务功能接口信息的步骤,包括:
根据所述元数据,进行算法模型服务业务功能同步接口设计,获得服务业务功能同步接口信息;其中,所述服务业务功能同步接口信息用于实现在算法模型服务调用端发起调用请求后,同步等待算法模型服务接口返回响应信息;
根据所述元数据,进行算法模型服务业务功能异步接口设计,获得服务业务功能异步接口信息;其中,所述服务业务功能异步接口信息用于实现在算法模型服务接口被调用后,不实时返回响应信息。
在本实施例中,同步和异步接口的设计,满足了需要实时返回响应信息和不需要实时返回响应信息的情况,作为接口设计中一种满足通用性要求的设计,可以在满足调用时与技术栈无关的基础上,满足接口功能的多样化需求。
可选地,所述算法模型本体元数据为算法模型自身的元数据标准,所述算法模型服务元数据为算法模型对外提供可被调用的服务元数据标准。
可选地,所述算法模型本体元数据包括:业务信息元数据、功能信息元数据、数据信息元数据、逻辑信息元数据和管理信息元数据;
所述算法模型服务元数据包括:服务资源命名元数据、服务调用元数据、服务参数元数据和服务时间元数据。
可选地,所述业务信息元数据包括算法模型具备的业务能力、适用场景和使用约束,所述功能信息元数据包括算法模型具备的功能清单,所述数据信息元数据包括算法模型业务功能所能处理的数据类型和算法模型业务功能所能处理的数据大小,所述逻辑信息元数据包括算法模型内部的处理流程、算法模型内部的算法逻辑、算法模型内部的输出结果和算法模型内部的结果指标,所述管理信息元数据包括算法模型的版本、算法模型的创建时间和算法模型的修改时间。
可选地,所述服务资源命名元数据采用uri格式;所述服务调用元数据包括算法模型服务支持同步或异步调用的方式,以及异步调用时获取调用结果的方式;所述服务参数元数据包括算法模型服务的请求参数和响应参数;所述服务时间元数据包括算法模型服务的连接时间、算法模型服务的响应时间和算法模型服务的超时时间。
可选地,所述通信协议为HTTP/HTTPS协议,所述报文格式为json格式。
采用HTTP/HTTPS通信协议和json报文格式,不同技术栈均可以利用此标准实现,由于此标准技术难度较低,成熟度较高,因此,基于本实施例的通信协议和报文格式建立标准的开发成本低,通用性好。
此外,为实现上述目的,本申请的实施例还提供一种算法模型的调用装置,包括:
模型调用模块,用于根据算法模型调用标准,通过网络调用的方式,调用目标算法模型;
其中,所述算法模型调用标准包括通信协议、报文格式和服务接口信息,所述通信协议为算法模型被调用时的通信协议,所述报文格式为算法模型被调用时的报文格式,所述服务接口信息为算法模型被调用时的服务接口信息;所述服务接口信息基于元数据获得,所述元数据基于多个异构算法模型的共性数据获得;所述目标算法模型通过所述通信协议、所述报文格式和所述服务接口信息被应用程序调用,所述应用程序对应不同的技术栈。
此外,为实现上述目的,本申请的实施例还提供一种电子设备,该电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现前述的方法。
此外,为实现上述目的,本申请的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,处理器执行所述计算机程序,实现前述的方法。
此外,为实现上述目的,本申请的实施例还提供一种计算机程序产品,所述计算机程序产品在被处理器时,实现前述的方法。
与现有技术相比,本发明的有益效果在于:
本申请的实施例提供一种算法模型的调用方法、装置、设备及介质,根据算法模型调用标准,调用目标算法模型;其中,所述算法模型调用标准包括通信协议、报文格式和服务接口信息,所述通信协议为算法模型被调用时的通信协议,所述报文格式为算法模型被调用时的报文格式,所述服务接口信息为算法模型被调用时的服务接口信息;所述服务接口信息基于元数据获得,所述元数据基于多个异构算法模型的共性数据获得;所述目标算法模型通过所述通信协议、所述报文格式和所述服务接口信息被应用程序调用,所述应用程序对应不同的技术栈。也即,由于服务接口信息是根据基于多个异构算法模型的共性数据获得的元数据获得的,因此,服务接口信息是根据异构算法模型的共性特征设计出来的,再加上算法模型调用标准定义了标准化的通信协议和报文格式,可以被不同的技术栈的应用程序调用,不受技术栈的限制。因此,目标算法模型不管是异构的,还是同构的算法模型,都可以被统一技术栈调用,相对于现有的需要多种技术栈的支撑,解决了异构算法模型在被程序调用时效率低的技术问题,提高了异构算法模型调用的效率。从另一个角度,本实施例的方法解决异构算法模型被应用程序调用的一致性问题,促进算法模型的大规模应用。
附图说明
图1为本申请的实施例涉及的硬件运行环境的电子设备结构示意图;
图2为本申请的实施例提供的一种算法模型的调用方法的流程示意图;
图3为本申请的实施例提供的另一种算法模型的调用方法的流程示意图;
图4中步骤S40一种具体实现方法的流程示意图;
图5为本申请的实施例提供的一种算法模型的调用装置的功能模块示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例的主要解决方案是:提供一种算法模型的调用方法、装置、设备及介质,根据算法模型调用标准,调用目标算法模型;其中,所述算法模型调用标准包括通信协议、报文格式和服务接口信息,所述通信协议为算法模型被调用时的通信协议,所述报文格式为算法模型被调用时的报文格式,所述服务接口信息为算法模型被调用时的服务接口信息;所述服务接口信息基于元数据获得,所述元数据基于多个异构算法模型的共性数据获得;所述目标算法模型通过所述通信协议、所述报文格式和所述服务接口信息被应用程序调用,所述应用程序对应不同的技术栈。。
由于现有技术中,对异构算法模型调用,一方面,由于模型开发时标准不统一,局限于某一种技术栈,导致在被应用程序调用时不能适应多种技术栈;另一方面,如果存在采用统一模型定义,又不能适应算法模型的发展速度和内部的复杂度的需要。例如,算法模型中常用到的Flask和PMML。
Flask是一种使用 Python 编写的轻量级Web应用框架,采用 WSGI (Web ServerGateway Interface)接口协议。算法模型可使用Flask对外提供HTTP接口,供外部程序调用,但Flask仅适用于Python技术栈。
PMML(预测模型标记语言Predictive Model Markup Language,PMML)是一种与平台和运行环境无关的模型表示语言,通过XML格式来描述生成的机器学习模型,但生成的模型所能支持的类型有限,且PMML语言发展进度落后于模型的更新速度。
本申请提供一种解决方案,针对异构算法模型,定义一套标准的调用方法,不受技术栈的限制。在该方案中,由于服务接口信息是根据基于多个异构算法模型的共性数据获得的元数据获得的,因此,服务接口信息是根据异构算法模型的共性特征设计出来的,再加上算法模型调用标准定义了标准化的通信协议和报文格式,可以被不同的技术栈的应用程序调用,不受技术栈的限制。因此,目标算法模型不管是异构的,还是同构的算法模型,都可以被统一技术栈调用,相对于现有的需要多种技术栈的支撑,解决了异构算法模型在被程序调用时效率低的技术问题,提高了异构算法模型调用的效率。
参照图1,图1为本申请实施例方案涉及的硬件运行环境的电子设备结构示意图。
如图1所示,该电子设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、数据存储模块、网络通信模块、用户接口模块以及电子程序。
在图1所示的电子设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明电子设备中的处理器1001、存储器1005可以设置在电子设备中,所述电子设备通过处理器1001调用存储器1005中存储的算法模型的调用装置,并执行本申请实施例提供的算法模型的调用方法。
参照图2,基于前述的硬件运行环境,本申请的实施例提供一种算法模型的调用方法,包括:
S60、根据算法模型调用标准,通过网络调用的方式,调用目标算法模型;
在具体实施过程中,目标算法模型可以包括多个,多个目标算法模型可以是同构的,也可以是异构的。即,多个目标算法模型可以是基于同一模型格式的同构算法模型,也可以是基于不同模型格式的同构算法模型(异构算法模型是为了满足不同的模型应用需求而产生的)。
可以理解的是,算法在IT领域指通过一些数学算法推测出用户可能喜欢的东西,算法模型则是指通过算法建立起的模型。不论机器学习还是深度学习,算法模型的实现存在多种技术栈的选择,例如:C、C++、Python等。不同算法模型在应用场景中因技术栈的不同,不仅需要考虑跨语言调用、协作的情况,也需要考虑状态检测、模型更新、超时处理、异常处理等情况。
其中,所述算法模型调用标准包括通信协议、报文格式和服务接口信息,所述通信协议为算法模型被调用时的通信协议,所述报文格式为算法模型被调用时的报文格式,所述服务接口信息为算法模型被调用时的服务接口信息;所述目标算法模型通过所述通信协议、所述报文格式和所述服务接口信息被应用程序调用,所述应用程序对应不同的技术栈;所述服务接口信息基于元数据获得,所述元数据基于多个异构算法模型的共性数据获得。
由此可见,由于服务接口信息是根据基于多个异构算法模型的共性数据获得的元数据获得的,因此,服务接口信息是根据异构算法模型的共性特征设计出来的,再加上算法模型调用标准定义了标准化的通信协议和报文格式,可以被不同的技术栈的应用程序调用,不受技术栈的限制。因此,目标算法模型不管是异构的,还是同构的算法模型,都可以被统一技术栈调用。
因此,本实施例的算法模型的调用方法,尤其适用于异构模型算法被应用程序调用时,其由于不受技术栈的限制,因此,不同的异构算法模型都可以被同一技术栈调用,现对于现有的只能通过多种技术栈分别调用,显著提高了异构模型调用的效率。但需要说明的是,本实施例的方法也适用于同构算法模型。
作为一种可选的实施方式,所述元数据包括算法模型本体元数据和算法模型服务元数据;所述算法模型本体元数据为算法模型自身的元数据标准,所述算法模型服务元数据为算法模型对外提供可被调用的服务元数据标准。
在具体实施过程中,元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的。
在一种具体的实施方式中,算法模型自身的元数据标准是指算法模型的一些属性信息,包括:业务信息元数据、功能信息元数据、数据信息元数据、逻辑信息元数据和管理信息元数据。具体的,所述业务信息元数据包括算法模型具备的业务能力、适用场景和使用约束,所述功能信息元数据包括算法模型具备的功能清单,所述数据信息元数据包括算法模型业务功能所能处理的数据类型和算法模型业务功能所能处理的数据大小,所述逻辑信息元数据包括算法模型内部的处理流程、算法模型内部的算法逻辑、算法模型内部的输出结果和算法模型内部的结果指标,所述管理信息元数据包括算法模型的版本、算法模型的创建时间和算法模型的修改时间。
在另一种具体的实施方式中,算法模型对外提供可被调用的服务元数据标准是指被应用程序调用的相关信息,包括:服务资源命名元数据、服务调用元数据、服务参数元数据和服务时间元数据。具体的,所述服务资源命名元数据采用uri(Uniform ResourceIdentifier,统一资源标识符)格式;所述服务调用元数据包括算法模型服务支持同步或异步调用的方式,以及异步调用时获取调用结果的方式;所述服务参数元数据包括算法模型服务的请求参数和响应参数;所述服务时间元数据包括算法模型服务的连接时间、算法模型服务的响应时间和算法模型服务的超时时间。
作为一种可选的实施方式,所述通信协议为HTTP/HTTPS协议,所述报文格式为json格式。在具体实施过程中,通信协议和报文格式只要满足不受技术栈的限制即可。在本实施例中,区别于本地调用,服务化主要通过网络的形式实现调用的功能。通过网络调用,首先需要定义采用的通信协议,算法模型服务采用成熟度最高、应用范围最广的HTTP/HTTPS协议。HTTP/HTTPS协议属于应用层协议,广泛适用于互联网和企业应用,并且该协议与技术栈无关,各技术栈均有成熟的实现。其次,采用HTTP/HTTPS协议,传输的数据内容可以是文本text、图片image、音频audio、视频video、应用程序消息application等。算法模型被应用程序调用时,可采用json的报文格式,json格式具有技术栈无关、格式简单、易于读写、易于解析等优点。
参见图3,作为一种可选的实施方式,为了高效率的调用目标算法模型,在所述根据算法模型调用标准,调用目标算法模型的步骤之前,本实施例的方法还包括:
S20、基于多个异构算法模型的共性数据,定义所述元数据;其中,所述元数据包括算法模型本体元数据和算法模型服务元数据;
在具体实施过程中,多个异构算法模型是指可能被调用的算法模型,在本实施例中,多个异构算法模型中可以包括目标算法模型。共性数据是指各异构算法模型相同部分的信息组成的数据,例如,模型名称、模型的功能信息等。在本实施例中,为了保证标准的通用性,元数据实施不考虑模型之间的差异性,仅考虑模型的共性,因此,需要根据多个异构算法模型的共性数据,定义所述元数据。
根据前述实施例,所述元数据包括算法模型本体元数据和算法模型服务元数据;所述算法模型本体元数据为算法模型自身的元数据标准,所述算法模型服务元数据为算法模型对外提供可被调用的服务元数据标准。
具体的,定义元数据的步骤如下:
定义算法模型业务信息元数据。业务信息元数据包括算法模型具备的业务能力、适用场景、使用约束等信息。
定义算法模型功能信息元数据。功能信息元数据包括算法模型具备的功能清单。
定义算法模型数据信息元数据。数据信息元数据包括算法模型业务功能所能处理的数据类型、数据大小等信息。
定义算法模型逻辑信息元数据。逻辑信息元数据包括算法模型内部的处理流程、算法逻辑、输出结果、结果指标等信息。
定义算法模型管理信息元数据。管理信息元数据包括算法模型的版本、创建时间、修改时间等信息。
定义算法模型服务资源命名元数据。资源命名元数据采用uri格式,具有标识算法模型服务唯一性的特点。
定义算法模型服务调用元数据。在采用HTTP/HTTPS协议前提下,调用元数据指算法模型服务支持同步或异步调用的方式,以及异步调用时获取调用结果的方式。
定义算法模型服务参数元数据。参数元数据包括算法模型服务的请求参数和响应参数,其中,请求参数进一步包括参数的数量、顺序等信息。
定义算法模型服务时间元数据。时间元数据包括算法模型服务的连接时间、响应时间、超时时间等信息。
S40、根据所述元数据,获得所述服务接口信息。
在具体实施过程中,在定义好前述元数据后,可以根据元数据,设计述服务接口信息,以实现与技术栈无关的网络调用。
具体的,参见图4,所述根据所述元数据,获得所述服务接口信息的步骤,包括:
S401、根据所述元数据,进行算法模型服务业务功能接口设计,获得服务业务功能接口信息;其中,所述服务业务功能接口信息用于提供业务功能接口清单;
在具体实施过程中,服务业务功能接口信息与前述元数据的对应,在一种可选的实施方式中,所述根据所述元数据,进行算法模型服务业务功能接口设计,获得服务业务功能接口信息的步骤,包括:
根据所述元数据,进行算法模型服务业务功能同步接口设计,获得服务业务功能同步接口信息;其中,所述服务业务功能同步接口信息用于实现在算法模型服务调用端发起调用请求后,同步等待算法模型服务接口返回响应信息;
具体的,业务功能同步接口指算法模型服务调用端发起调用请求后,同步等待算法模型服务接口返回响应信息,仅由单个接口组成。
根据所述元数据,进行算法模型服务业务功能异步接口设计,获得服务业务功能异步接口信息;其中,所述服务业务功能异步接口信息用于实现在算法模型服务接口被调用后,不实时返回响应信息。
具体的,业务功能异步接口指算法模型服务接口被调用后,并不实时返回响应信息。异步接口由两个接口组成,一个为算法模型服务业务功能接口,另一个为算法模型服务业务功能状态接口。具体的,首先,调用端发起调用请求后,算法模型服务接口接收到请求数据后,即可返回响应信息。状态接口负责与算法模型业务功能所匹配的接口清单,用于查询业务功能接口的执行状态;其次,调用端根据前述步骤返回的响应信息,判断是否调用成功,如果成功,采用定时的方式轮训调用此接口,查询执行状态。如果算法模型正在运行中,此接口返回“执行中”状态;如果算法模型运行完成,此接口返回“执行完成”状态,并返回执行的详细结果。
S402、根据所述元数据,进行算法模型服务基础信息接口设计,获得服务基础信息接口信息;其中,所述服务基础信息接口信息用于提供业务功能集合的描述信息;
S403、根据所述元数据,进行算法模型服务维护接口设计,获得服务维护接口信息;其中,所述服务维护接口信息用于实现算法模型服务的启动、停止、重启、暂停和升级中的一种或多种功能。
现有算法模型相关技术领域缺少工程化、企业化应用的经验,在本实施例中,通过元数据标准的提出,并且基于各异构模型的共性数据获得的元数据可以在算法模型和应用程序之间建立协作逻辑的标准化。
在此基础上,算法模型除提供业务功能外,还需要具备一定的管理功能。在本实施例中,服务基础信息接口信息可以丰富算法模型业务功能的描述;服务维护接口信息可以实现算法模型全生命周期的管理,使得基于该元数据获得的服务接口信息。
为了便于对本实施例中服务接口信息的设计过程更清晰的理解,下面提供一个场景实例展示。
在金属腐蚀与涂层老化图像识别的应用场景中,采用了如下模型:损伤类型识别、损伤面积识别、损伤程度识别,进行识别。其中,损伤类型识别模型用于识别出金属表观损伤的类型,主要分为:蚀点、蚀点+腐蚀产物、剥蚀等。损伤面积识别模型用于识别出金属表观损伤的面积,损伤面积的计算分为两种:绝对损伤面积和相对损伤面积。损伤程度识别模型用于识别出金属表观损伤的程度,包括:极轻微、轻微、轻微偏中度、中度、中度偏严重、重度、极严重。
三类模型应用于金属图像识别的特定场景,按照本实施例方法的执行过程,不同的算法模型首先采用定义标准化的元数据,其次根据元数据服务接口信息的设计。具体如下:
一、元数据的定义如下:
1.本体元数据:
1.1业务信息:模型名称modelName;
1.2功能信息:功能描述function;
1.3数据信息:数据类型dataType,数据大小限制dataSizeLimit;
1.4管理信息:模型版本modelVersion,模型创建时间createTime。
2.服务元数据:
2.1服务资源:服务名称serviceName,统一标识符uri,服务方法method;
2.2服务调用:调用模式invokeModel,异步结果标识符asyncuri;
2.3服务参数:请求数据request,响应数据response;
2.4服务时间:超时时间timeout。
二、服务接口信息的设计:
在元数据的基础上,进一步进行模型服务化接口的落地实现。根据上述几种模型的分类,服务接口信息设计清单如下:
1.服务清单接口
服务清单接口采用http+json,对模型的服务接口以列表的形式组织。
服务名称serviceName:metalImgRecognition
服务uri:/ metalImgRecognition
服务方法method:GET
服务调用模式invokeModel:sync
服务请求数据request:{}
服务响应数据response:
{
"serviceName": "metalImgRecognition",
"serviceDescription": "金属腐蚀与涂层老化图像识别",
"serviceList": [
{
"serviceName": "metalDamageType",
"serviceDescription": "识别蚀点、腐蚀产物、剥蚀损伤类型",
"model": {
"modelName": "图像损伤类型识别模型",
"function": "基于FCN进行金属损伤检测,区分损伤的类型",
"dataType": "image",
"modelVersion": "1.0.0"
},
"serviceuri": "/metalImgRecognition/damageType"
},
{
"serviceName": "metalDamageArea",
"serviceDescription": "识别金属损伤的面积,包括绝对损伤面积和相对损伤面积",
"model": {
"modelName": "图像损伤面积识别模型",
"function": "基于FCN进行金属损伤检测,计算损伤的面积",
"dataType": "image",
"modelVersion": "1.0.0"
},
"serviceuri": "/metalImgRecognition/damageArea"
},
{
"serviceName": "metalDamageLevel",
"serviceDescription": "识别金属损伤程度,包括:轻微、中度、重度、严重",
"model": {
"modelName": "图像损伤程度识别模型",
"function": "基于FCN进行金属损伤检测,计算评估损伤的程度",
"dataType": "image",
"modelVersion": "1.0.0"
},
"serviceuri": "/metalImgRecognition/damageLevel"
}
]
}
2.损伤类型识别服务接口
服务清单接口采用http+json,请求数据为待识别图像的uri地址,响应数据中识别结果为数组形式,包括损伤类型和损伤图像uri地址。
服务名称serviceName:metalDamageType
服务uri:/metalImgRecognition/damageType
服务方法method:POST
服务调用模式invokeModel:sync
服务请求数据request:
{
"imageuri": "待识别图像uri地址"
}
服务响应数据response:
{
"code": "响应码",
"message": "响应信息",
"recognitionResult": [
{
"damageType": "损伤类型",
"damageImguri": "损伤图像uri地址"
}
]
}
3.损伤面积识别服务接口
服务清单接口采用http+json,请求数据为待识别图像的uri地址,响应数据中识别结果为数组形式,包括绝对损伤面积、相对损伤面积和损伤图像uri地址。
服务名称serviceName:metalDamageArea
服务uri:/metalImgRecognition/damageArea
服务方法method:POST
服务调用模式invokeModel:sync
服务请求数据request:
{
"imageuri": "待识别图像uri地址"
}
服务响应数据response:
{
"code": "响应码",
"message": "响应信息",
"recognitionResult": [
{
"absoluteDamageArea": "绝对损伤面积",
"relativeDamageArea": "相对损伤面积",
"damageImguri": "损伤图像uri地址"
}
]
}
4.损伤程度识别服务接口
服务清单接口采用http+json,请求数据为待识别图像的uri地址,响应数据中识别结果为数组形式,包括损伤程度和损伤图像uri地址。
服务名称serviceName:metalDamageLevel
服务uri:/metalImgRecognition/ damageLevel
服务方法method:POST
服务调用模式invokeModel:sync
服务请求数据request:
{
"imageuri": "待识别图像uri地址"
}
服务响应数据response:
{
"code": "响应码",
"message": "响应信息",
"recognitionResult": [
{
"damageLevel": "损伤程度",
"damageImguri": "损伤图像uri地址"
}
]
}。
应当理解的是,以上仅为举例说明,对本申请的技术方案并不构成任何限制,本领域的技术人员在实际应用中可以基于需要进行设置,此处不做限制。
通过上述描述不难发现,本实施例的方法由于服务接口信息是根据基于多个异构算法模型的共性数据获得的元数据获得的,因此,服务接口信息是根据异构算法模型的共性特征设计出来的,再加上算法模型调用标准定义了标准化的通信协议和报文格式,可以被不同的技术栈的应用程序调用,不受技术栈的限制。因此,目标算法模型不管是异构的,还是同构的算法模型,都可以被统一技术栈调用,相对于现有的需要多种技术栈的支撑,解决了异构算法模型在被程序调用时效率低的技术问题,提高了异构算法模型调用的效率。
参照图5,基于同样的发明原理,本申请的实施例还提供一种算法模型的调用装置,包括:
模型调用模块,用于根据算法模型调用标准,通过网络调用的方式,调用目标算法模型;
其中,所述算法模型调用标准包括通信协议、报文格式和服务接口信息,所述通信协议为算法模型被调用时的通信协议,所述报文格式为算法模型被调用时的报文格式,所述服务接口信息为算法模型被调用时的服务接口信息;所述服务接口信息基于元数据获得,所述元数据基于多个异构算法模型的共性数据获得;所述目标算法模型通过所述通信协议、所述报文格式和所述服务接口信息被应用程序调用,所述应用程序对应不同的技术栈。
需要说明的是,本实施例中图像识别装置中各模块是与前述实施例中的图像识别方法中的各步骤一一对应,因此,本实施例的具体实施方式可参照前述图像识别方法的实施方式,这里不再赘述。
此外,为实现上述目的,本申请的实施例还提供一种电子设备,该电子设备包括处理器,存储器以及存储在所述存储器中的计算机程序,所述计算机程序被处理器运行时实现前述实施例中方法的步骤。
此外,在一种实施例中,本申请的实施例还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器运行时实现前述实施例中方法的步骤。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。计算机可以是包括智能终端和服务器在内的各种计算设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台多媒体终端设备(可以是手机,计算机,电视接收机,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (11)
1.一种算法模型的调用方法,其特征在于,包括:
根据算法模型调用标准,通过网络调用的方式,调用目标算法模型;
其中,所述算法模型调用标准包括通信协议、报文格式和服务接口信息,所述通信协议为算法模型被调用时的通信协议,所述报文格式为算法模型被调用时的报文格式,所述服务接口信息为算法模型被调用时的服务接口信息;所述服务接口信息基于元数据获得,所述元数据基于多个异构算法模型的共性数据获得,所述元数据包括算法模型本体元数据和算法模型服务元数据,所述算法模型本体元数据包括功能信息元数据,所述功能信息元数据包括算法模型具备的功能清单,所述算法模型服务元数据包括服务资源命名元数据,所述服务资源命名元数据采用uri格式;所述目标算法模型通过所述通信协议、所述报文格式和所述服务接口信息被应用程序调用,所述应用程序对应不同的技术栈;所述通信协议为HTTP/HTTPS协议,所述报文格式为json格式。
2.根据权利要求1所述的方法,其特征在于,所述根据算法模型调用标准,调用目标算法模型的步骤之前,还包括:
基于多个异构算法模型的共性数据,定义所述元数据;
根据所述元数据,获得所述服务接口信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述元数据,获得所述服务接口信息的步骤,包括:
根据所述元数据,进行算法模型服务业务功能接口设计,获得服务业务功能接口信息;其中,所述服务业务功能接口信息用于提供业务功能接口清单;
根据所述元数据,进行算法模型服务基础信息接口设计,获得服务基础信息接口信息;其中,所述服务基础信息接口信息用于提供业务功能集合的描述信息;
根据所述元数据,进行算法模型服务维护接口设计,获得服务维护接口信息;其中,所述服务维护接口信息用于实现算法模型服务的启动、停止、重启、暂停和升级中的一种或多种功能。
4.根据权利要求3所述的方法,其特征在于,所述根据所述元数据,进行算法模型服务业务功能接口设计,获得服务业务功能接口信息的步骤,包括:
根据所述元数据,进行算法模型服务业务功能同步接口设计,获得服务业务功能同步接口信息;其中,所述服务业务功能同步接口信息用于实现在算法模型服务调用端发起调用请求后,同步等待算法模型服务接口返回响应信息;
根据所述元数据,进行算法模型服务业务功能异步接口设计,获得服务业务功能异步接口信息;其中,所述服务业务功能异步接口信息用于实现在算法模型服务接口被调用后,不实时返回响应信息。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述算法模型本体元数据为算法模型自身的元数据标准,所述算法模型服务元数据为算法模型对外提供可被调用的服务元数据标准。
6.根据权利要求5所述的方法,其特征在于,所述算法模型本体元数据还包括:业务信息元数据、数据信息元数据、逻辑信息元数据和管理信息元数据;
所述算法模型服务元数据还包括:服务调用元数据、服务参数元数据和服务时间元数据。
7.根据权利要求6所述的方法,其特征在于,所述业务信息元数据包括算法模型具备的业务能力、适用场景和使用约束,所述数据信息元数据包括算法模型业务功能所能处理的数据类型和算法模型业务功能所能处理的数据大小,所述逻辑信息元数据包括算法模型内部的处理流程、算法模型内部的算法逻辑、算法模型内部的输出结果和算法模型内部的结果指标,所述管理信息元数据包括算法模型的版本、算法模型的创建时间和算法模型的修改时间。
8.根据权利要求6所述的方法,其特征在于,所述服务调用元数据包括算法模型服务支持同步或异步调用的方式,以及异步调用时获取调用结果的方式;所述服务参数元数据包括算法模型服务的请求参数和响应参数;所述服务时间元数据包括算法模型服务的连接时间、算法模型服务的响应时间和算法模型服务的超时时间。
9.一种算法模型的调用装置,其特征在于,包括:
模型调用模块,用于根据算法模型调用标准,通过网络调用的方式,调用目标算法模型;
其中,所述算法模型调用标准包括通信协议、报文格式和服务接口信息,所述通信协议为算法模型被调用时的通信协议,所述报文格式为算法模型被调用时的报文格式,所述服务接口信息为算法模型被调用时的服务接口信息;所述服务接口信息基于元数据获得,所述元数据基于多个异构算法模型的共性数据获得,所述元数据包括算法模型本体元数据和算法模型服务元数据,所述算法模型本体元数据包括功能信息元数据,所述功能信息元数据包括算法模型具备的功能清单,所述算法模型服务元数据包括服务资源命名元数据,所述服务资源命名元数据采用uri格式;所述目标算法模型通过所述通信协议、所述报文格式和所述服务接口信息被应用程序调用,所述应用程序对应不同的技术栈;所述通信协议为HTTP/HTTPS协议,所述报文格式为json格式。
10.一种电子设备,其特征在于,该电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序,实现如权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,处理器执行所述计算机程序,实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111168732.8A CN113608900B (zh) | 2021-10-08 | 2021-10-08 | 一种算法模型的调用方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111168732.8A CN113608900B (zh) | 2021-10-08 | 2021-10-08 | 一种算法模型的调用方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113608900A CN113608900A (zh) | 2021-11-05 |
CN113608900B true CN113608900B (zh) | 2021-12-10 |
Family
ID=78310765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111168732.8A Active CN113608900B (zh) | 2021-10-08 | 2021-10-08 | 一种算法模型的调用方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113608900B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114117317A (zh) * | 2021-11-26 | 2022-03-01 | 阿波罗智联(北京)科技有限公司 | 模型处理方法、装置、设备以及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171922A (zh) * | 2017-07-03 | 2017-09-15 | 中国人民解放军63893部队 | 基于中间件技术的异构系统桥接服务方法 |
CN109587134A (zh) * | 2018-12-03 | 2019-04-05 | 中国移动通信集团江苏有限公司 | 接口总线的安全认证的方法、装置、设备和介质 |
CN110012008A (zh) * | 2019-04-02 | 2019-07-12 | 山东国子软件股份有限公司 | 基于http协议的异构数据源分布式协调一致性方法及系统 |
CN112925649A (zh) * | 2021-03-31 | 2021-06-08 | 中国人民解放军国防科技大学 | 一种虚拟网络功能的统一监控方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7831655B2 (en) * | 2001-10-18 | 2010-11-09 | Bea Systems, Inc. | System and method for implementing a service adapter |
TWI360083B (en) * | 2003-05-09 | 2012-03-11 | Jda Software Group Inc | System, method and software for managing a central |
-
2021
- 2021-10-08 CN CN202111168732.8A patent/CN113608900B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107171922A (zh) * | 2017-07-03 | 2017-09-15 | 中国人民解放军63893部队 | 基于中间件技术的异构系统桥接服务方法 |
CN109587134A (zh) * | 2018-12-03 | 2019-04-05 | 中国移动通信集团江苏有限公司 | 接口总线的安全认证的方法、装置、设备和介质 |
CN110012008A (zh) * | 2019-04-02 | 2019-07-12 | 山东国子软件股份有限公司 | 基于http协议的异构数据源分布式协调一致性方法及系统 |
CN112925649A (zh) * | 2021-03-31 | 2021-06-08 | 中国人民解放军国防科技大学 | 一种虚拟网络功能的统一监控方法 |
Non-Patent Citations (2)
Title |
---|
A Generic Query Model for the Unified Discovery of Heterogeneous Services;Michael Pantazoglou等;《IEEE Transactions on Services Computing》;20110804;第201-213页 * |
中国移动大数据平台实现研究;司炜;《互联网天地》;20160115;第27-33页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113608900A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103001815B (zh) | 测试数据的获取方法、装置及系统 | |
CN109120684B (zh) | 信息化管理方法、装置、esb总线平台以及存储介质 | |
CN110276074B (zh) | 自然语言处理的分布式训练方法、装置、设备及存储介质 | |
CN103873918A (zh) | 图片处理方法、装置及终端 | |
US7519972B2 (en) | Real-time multi-modal business transformation interaction | |
WO2023082654A1 (zh) | 一种业务交互图生成方法、装置、设备及存储介质 | |
CN111651140B (zh) | 基于工作流的服务方法及装置 | |
CN113608900B (zh) | 一种算法模型的调用方法、装置、设备及介质 | |
CN111338829B (zh) | 远程过程调用服务的调用方法及装置 | |
CN108733495B (zh) | 用于实现跨平台通信的方法和设备 | |
CN104270443B (zh) | 一种能够动态解析Web应用的云计算系统及方法 | |
CN110555145A (zh) | 一种基于浏览器的网页内容采集系统及其采集方法 | |
CN109634752B (zh) | 一种基于页面网关的客户端请求处理方法及系统 | |
CN109600381B (zh) | 一种接口适配方法、装置及系统 | |
CN101964742B (zh) | 一种网络开放能力使用方法、系统和装置 | |
CN111679828B (zh) | 一种数据处理的方法及装置、电子设备、存储介质 | |
CN114721842A (zh) | 服务调用方法、装置及电子设备 | |
CN111309319A (zh) | 可继承的局数据动态页面配置方法和装置 | |
CN111611065A (zh) | 机器学习算法的调用方法、装置、存储介质及电子设备 | |
CN108173957B (zh) | 一种Http接口快速配置联调平台 | |
CN115795212A (zh) | 一种页面显示方法、装置、电子设备及存储介质 | |
CN107766232B (zh) | 一种插件管理方法及装置 | |
CN114301970A (zh) | 服务调用方法、装置、电子设备及存储介质 | |
CN113132472B (zh) | 车载T-Box的RESTful Web动态服务注册方法 | |
CN108769087A (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 | ||
CP03 | Change of name, title or address |
Address after: 610000 No. 270, floor 2, No. 8, Jinxiu street, Wuhou District, Chengdu, Sichuan Patentee after: Chengdu shuzhilian Technology Co.,Ltd. Address before: 610000 No.2, 4th floor, building 1, Jule Road intersection, West 1st section of 1st ring road, Wuhou District, Chengdu City, Sichuan Province Patentee before: CHENGDU SHUZHILIAN TECHNOLOGY Co.,Ltd. |
|
CP03 | Change of name, title or address |