CN110489181A - 基于微服务架构的服务运行方法、装置、平台及存储介质 - Google Patents
基于微服务架构的服务运行方法、装置、平台及存储介质 Download PDFInfo
- Publication number
- CN110489181A CN110489181A CN201910783744.8A CN201910783744A CN110489181A CN 110489181 A CN110489181 A CN 110489181A CN 201910783744 A CN201910783744 A CN 201910783744A CN 110489181 A CN110489181 A CN 110489181A
- Authority
- CN
- China
- Prior art keywords
- micro services
- service
- framework
- model
- api
- 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
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/4482—Procedural
Abstract
本发明公开了一种基于微服务架构的服务运行方法,通过根据预设的应用程序编程接口API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务;获取并根据服务请求,从所述规范微服务中获取目标微服务形成服务编排模型;运行所述服务编排模型,并输出所述服务编排模型运行后得到的分析结果。本发明还公开了一种基于微服务架构的服务运行装置、平台以及存储介质。本发明使得不同微服务之间可以灵活调度,快速地得出多维度分析结果,避免了针对不同的分析场景,工程师需要开发和维护多套场景分析的代码,导致工作效率低下的问题,提高了算法代码的重用度。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及金融科技(Fintech)技术领域,具体涉及一种基于微服务架构的服务运行方法、装置、平台及存储介质。
背景技术
随着金融科技(Fintech),尤其是互联网科技金融的不断发展,越来越多的技术应用在金融领域。
在现有的人工智能分析场景中,大多是基于特定的场景进行分析,针对不同的分析场景,工程师需要维护多套场景分析的代码;而不同分析场景中,往往存在相同的数据处理,则多套代码之间存在大量的重复工作。
例如,场景1为:对某区域进行道路识别,则需获取识别算法进行分析得出道路识别结果;场景2为:对某区域作选址分析或通达度分析,则首先需对道路进行道路识别,得出道路识别结果,然后再根据道路识别结果作进一步的选址分析或通达度分析。明显,对某区域进行道路识别,这一部分的数据处理过程是相同的,若采用两套不同代码运行或维护场景1和场景2,将会导致存在部分的重复工作,造成工作效率低下、人力成本较高。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于微服务架构的服务运行方法,旨在解决由于多个不同的分析场景需要多套代码进行维护,导致运行工作效率低的技术问题。
为实现上述目的,本发明提供一种基于微服务架构的服务运行方法,包括:
根据预设的应用程序编程接口API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务;
获取并根据服务请求,从所述规范微服务中获取目标微服务形成服务编排模型;
运行所述服务编排模型,并输出所述服务编排模型运行后得到的分析结果。
可选地,所述获取并根据服务请求,从所述规范微服务中获取目标微服务形成服务编排模型的步骤包括:
获取并根据服务请求,确定待调用的目标微服务,以及所述目标微服务的编排顺序;
按照所述编排顺序,依次调用所述目标微服务,形成微服务链路;
确定所述微服务链路的入口参数和出口参数,并依据所述微服务链路、所述入口参数和所述出口参数,形成服务编排模型。
可选地,所述微服务链路中,每个所述目标微服务的出口参数为下一所述目标微服务的入口参数,且每个所述目标微服务的出口参数的数据类型为下一所述目标微服务的入口模型所支持的数据类型。
可选地,所述运行所述服务编排模型,并输出所述服务编排模型运行后得到的分析结果的步骤包括:
获取所述服务编排模型的入口数据;
将所述入口数据输入至所述服务编排模型,以供所述服务编排模型基于所述入口数据进行分析;
获取所述服务编排模型基于所述入口数据运行后得到的分析结果。
可选地,所述获取并根据服务请求,从所述规范微服务中获取目标微服务的步骤之前还包括:
当检测到所述规范微服务的注册请求时,获取所述规范微服务;
通过预设的微服务注册中心,将所述规范微服务发布至微服务集群。
可选地,其特征在于,所述预设的API服务规范包括符合预设的数据格式,所述根据预设的API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务的步骤包括:
当开发或调整微服务时,将微服务的入口模型和出口模型的数据格式设置为预设的数据格式,以得到符合所述API服务规范的规范微服务。
可选地,预设的API服务规范包括符合预设的API调用方式,所述根据预设的API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务的步骤包括:
当开发或调整微服务时,将微服务的API调用方式设置为POST操作,以得到符合所述API服务规范的规范微服务。
此外,为实现上述目的,本发明还提供一种基于微服务架构的服务运行装置,所述基于微服务架构的服务运行装置包括:
服务规范模块,用于根据预设的应用程序编程接口API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务;
编排模块,用于获取并根据服务请求,从所述规范微服务中获取目标微服务形成服务编排模型;
服务运行模块,用于运行所述服务编排模型,并输出所述服务编排模型运行后得到的分析结果。
此外,为实现上述目的,本发明还提供一种基于微服务架构的服务运行平台,所述基于微服务架构的服务运行平台包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于微服务架构的服务运行程序,所述基于微服务架构的服务运行程序被所述处理器执行时实现如上所述的基于微服务架构的服务运行方法的步骤。
此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有基于微服务架构的服务运行程序,所述基于微服务架构的服务运行程序被处理器执行时实现如上所述的基于微服务架构的服务运行方法的步骤。
本发明实施例提出的一种基于微服务架构的服务运行方法、装置、平台及存储介质,通过定义统一的API服务规范作为预设的API服务规范,并使基于微服务架构的服务运行平台中的每个微服务均满足预设的API服务规范,以使不同微服务之间遵守相同的协议、不同微服务之间调用的方式相同以及不同的微服务请求的数据格式相同等等,得到符合预设的API服务规范的规范微服务,从而使得各个微服务之间可以灵活调度。通过获取并根据服务请求,从符合预设的API服务规范的规范微服务中,获取目标微服务形成服务编排模型,并运行服务编排模型,得出服务编排模型运行后的分析结果;在用户选择所需服务后,即可快速地获取多维度的分析结果。避免了针对不同的分析场景,工程师需要开发和维护多套场景分析的代码,导致工作效率低下的问题,提高了算法代码的重用度。
附图说明
图1为本发明基于微服务架构的服务运行方法第一实施例的流程示意图;
图2为本发明基于微服务架构的服务运行方法第一实施例中微服务的入口参数和出口参数的数据类型的示意图;
图3本发明基于微服务架构的服务运行方法第二实施例的流程示意图;
图4为本发明基于微服务架构的服务运行方法第三实施例的流程示意图;
图5为本发明基于微服务架构的服务运行方法第四实施例中通过服务注册中心发布各个微服务的示意图;
图6为本发明基于微服务架构的服务运行装置优选实施例的功能模块示意图;
图7为本发明实施例方案涉及的基于微服务架构的服务运行平台的硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于微服务架构的服务运行方法,参照图1,图1为本发明基于微服务架构的服务运行方法较佳实施例的流程示意图。
本发明实施例提供了基于微服务架构的服务运行方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
基于微服务架构的服务运行方法应用于服务器或者基于微服务架构的服务运行平台中,基于微服务架构的服务运行平台可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)等移动终端,以及诸如数字TV、台式计算机等固定终端。在基于微服务架构的服务运行方法的各个实施例中,为了便于描述,基于微服务架构的服务运行平台为执行主体进行阐述各个实施例,基于微服务架构的服务运行平台后续简称平台。在本发明基于微服务架构的服务运行方法第一实施例中,所述基于微服务架构的服务运行方法包括:
步骤S10,根据预设的应用程序编程接口API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务;
其中,微服务,是指实现某个功能的算法或服务。例如,进行道路识别分析的微服务,进行道路通达度分析的微服务。在本发明实施例中,微服务基于微服务架构提出,微服务架构是一种将单应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并与轻量级机制(通常是HTTP资源的API(Application ProgrammingInterface,应用程序编程接口))进行通信。这些服务是围绕业务功能构建的,可以通过全自动部署机制进行独立部署。这些服务的集中化管理很少,并且它们可以用不同的编程语言编写,并使用不同的数据存储技术。
为了使得各个微服务之间可以灵活调度,实现快速获取各个微服务组合进行数据分析,在本发明实施例中,通过对平台中的各个微服务进行规范,以使得各个微服务之间可以直接调度。
具体地,按照预设的API服务规范,使得平台中的每个微服务均满足预设的API服务规范,使得不同微服务之间遵守相同的协议、不同微服务之间调用的方式相同以及不同的微服务请求的数据格式相同等等,例如,每个微服务均遵守HTTP2.0协议、每个微服务调用的方式均为POST(POST,在服务器新建一个资源)方法、每个微服务请求的数据格式均为JSON(JavaScript Object Notation,轻量级的数据交换格式)格式等等。然后,当检测到符合预设的API服务规范的微服务的注册请求时,通过预设的微服务注册中心,将符合预设的API服务规范的微服务发布至微服务集群。
其中,预设的API服务规范,是指定义的一个统一的API标准,使得每个微服务遵循相同的协议、调用方式相同以及请求内容的数据格式相同等等。
具体地,一种实施方式为,当需要在平台中新增微服务时,按照预设API服务规范,开发微服务,使得新增的微服务在遵循协议、调用方式以及请求内容的数据格式等上面符合统一的API标准,从而得到符合预设的API服务规范的规范微服务。然后,当检测到规范微服务的注册请求时,通过预设的微服务注册中心,将规范微服务发布至微服务集群。
一种实施方式为,当平台中存在某个微服务不符合预设的API服务规范时,调整不符合预设的API服务规范的微服务所遵循协议、调用方式以及请求内容的数据格式,使得不符合预设的API服务规范的微服务在遵循协议、调用方式以及请求内容的数据格式等上面符合统一的API标准,从而得到符合预设的API服务规范的规范微服务。然后,当检测到规范微服务的注册请求时,通过预设的微服务注册中心,将规范微服务发布至微服务集群。
其中,规范微服务,是指在遵循协议、调用方式以及请求内容的数据格式等上面符合预设的API服务规范的微服务。
进一步地,所述预设的API服务规范包括符合预设的数据格式,所述根据预设的API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务的步骤包括:
当开发或调整微服务时,将微服务的入口模型和出口模型的数据格式设置为预设的数据格式,以得到符合所述API服务规范的规范微服务。
其中,预设的API服务规范包括平台的微服务的数据内容符合预设的数据格式,作为一种较优的实施方式,预设的API服务规范包括平台的微服务的数据内容统一为JSON格式。
作为另一种实施方式,一个微服务的入口模型可支持多种多数据格式,但是由于进行模型编排时,上一微服务的出口数据作为下一微服务的入口数据,需满足上一微服务的出口数据的数据格式为下一微服务的入口模型所支持的数据格式,因此需保证:每个微服务的入口模型支持所需调度的微服务的出口模型的数据格式。例如,参照图2,微服务1的入口模型支持类型A、类型B和类型C三种类型的数据,出口模型为类型B的数据;微服务2的入口模型支持类型A、类型B两种类型的数据,出口模型为类型C的数据;微服务2的入口模型支持类型A、类型B两种类型的数据,出口模型为类型D的数据。则,在后续进行模型编排时可形成以下链路:微服务1链接微服务2、微服务2链接微服务1链接微服务3。
具体地,一种实施方式为,当需要在平台中新增微服务时,按照预设API服务规范,开发微服务,使得新增的微服务请求的数据内容为JSON格式,以使微服务的入口模型和出口模型的数据类型均为JSON格式,从而得到符合预设的API服务规范的规范微服务。
一种实施方式为,当平台中存在某个微服务不符合预设的API服务规范时,调整不符合预设的API服务规范的微服务请求内容的数据格式,使得不符合预设的API服务规范的微服务请求的数据内容为JSON格式,以使微服务的入口模型和出口模型的数据类型均为JSON格式,从而得到符合预设的API服务规范的规范微服务。
进一步地,预设的API服务规范包括符合预设的API调用方式,所述根据预设的API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务的步骤包括:
当开发或调整微服务时,将微服务的API调用方式设置为POST操作,以得到符合所述API服务规范的规范微服务。
其中,预设的API服务规范包括平台的微服务的API调用方式符合预设的API调用方式,作为一种较优的实施方式,预设的API服务规范包括平台的微服务的API调用方式统一为POST操作。
具体地,一种实施方式为,当需要在平台中新增微服务时,按照预设API服务规范,开发微服务,使得新增的微服务请求的API调用方式为POST操作,从而得到符合预设的API服务规范的规范微服务。
一种实施方式为,当平台中存在某个微服务不符合预设的API服务规范时,调整不符合预设的API服务规范的微服务的调用方式,使得不符合预设的API服务规范的微服务请求的API调用方式为POST操作,从而得到符合预设的API服务规范的规范微服务。
步骤S20,获取并根据服务请求,从所述规范微服务中获取目标微服务形成服务编排模型;
具体地,基于平台,用户可以根据需求选取所需的服务功能,获取基于用户选取操作所生成的服务请求,并根据基于用户选取操作所生成的服务请求,确定所需调用的规范微服务。然后,根据所需调用的规范微服务,从平台的各个规范微服务中,获取各个规范微服务,以作为目标微服务。其中,目标微服务可以为一个或多个,即形成服务编排模型的微服务可以为一个或多个。
根据用户所选取的服务功能,确定目标微服务的编排顺序。然后根据目标微服务的编排顺序,将目标微服务链接起来,以形成服务编排模型。其中,服务编排模型中的每一个目标微服务的出口参数为所链接的下一目标微服务的入口参数,所链接的各个目标微服务中的首个目标微服务的入口参数作为服务编排模型的入口参数,所链接的各个目标微服务中的末个目标微服务的出口参数作为服务编排模型的出口参数。
其中,服务编排模型,是指为完成某个服务功能,从平台的各个规范微服务中获取各个规范微服务,并将所获取的各个规范微服务链接起来,以完成某个服务功能的分析模型。
其中,服务请求,是指用户基于平台所选取的所需的服务功能。目标微服务,是指完成每个服务请求所需调用的规范微服务。
为了方便理解,以下以一具体实施例进行说明。例如,平台中存在规范微服务有:规范微服务A、规范微服务B、规范微服务C、规范微服务D、规范微服务E。若完成服务功能1所需调用的规范微服务为:规范微服务A、规范微服务C、规范微服务D,则从平台中获取规范微服务A、规范微服务C和规范微服务D作为目标微服务,并将各个目标微服务链接起来,以形成服务编排模型。若完成服务功能2所需调用的规范微服务为:规范微服务C、规范微服务E,则从平台中获取规范微服务C和规范微服务E作为目标微服务,并将各个目标微服务链接起来,以形成服务编排模型。
步骤S30,运行所述服务编排模型,并输出所述服务编排模型运行后得到的分析结果。
具体地,获取服务编排模型的入口数据,并将所获取服务编排模型的入口数据输入至服务编排模型,以供服务编排模型基于服务编排模型的入口数据进行分析得出服务编排模型的出口数据。获取服务编排模型基于服务编排模型的入口数据进行分析得出的服务编排模型的出口数据,以作为服务编排模型运行后得到的分析结果。
其中,服务编排模型运行时,实际为依次调度服务编排模型中的各个规范微服务的运行。
在本实施例中,通过定义统一的API服务规范作为预设的API服务规范,并使基于微服务架构的服务运行平台中的每个微服务均满足预设的API服务规范,以使不同微服务之间遵守相同的协议、不同微服务之间调用的方式相同以及不同的微服务请求的数据格式相同等等,得到符合预设的API服务规范的规范微服务,从而使得各个微服务之间可以灵活调度。获取并根据服务请求,从符合预设的API服务规范的规范微服务中,获取目标微服务形成服务编排模型,并运行服务编排模型,得出服务编排模型运行后的分析结果;在用户选择所需服务后,即可快速地获取多维度的分析结果。避免了针对不同的分析场景,工程师需要开发和维护多套场景分析的代码,导致工作效率低下的问题,提高了算法代码的重用度。并且,由于各个微服务之间可以实现灵活调度,而无需服务对接处理,提高了对数据的处理效率。
并且,基于微服务架构中微服务不限制运行环境、支持多种开发语言(如java,python,c++等语言)、功能独立且便于复用(如某微服务用于统计数据分类,那么该服务既可以用于地块识别结果的数据分类,也可以用于车辆识别的数据分类),使得各个微服务之间实现更易于实现灵活调度。其中,微服务的开发语言可以通过服务器、docker或者其他形式进行部署接入,例如:某java服务部署在tomcat服务器上启动,某python服务通过docker容器的方式启动。
进一步地,参照图3,图3为本发明基于微服务架构的服务运行方法第二实施例的流程示意图。基于上述第一实施例,提出本发明基于微服务架构的服务运行方法第二实施例,步骤S20包括:
步骤S21,获取并根据服务请求,确定待调用的目标微服务,以及所述目标微服务的编排顺序;
具体地,基于平台,用户可以根据需求选取所需的服务功能,获取基于用户选取操作所生成的服务请求,并根据基于用户选取操作所生成的服务请求,确定所需调用的规范微服务,从而确定形成服务编排模型所需调用的目标微服务。进一步地,根据用户所选取的服务功能,确定所需调用的目标微服务在形成服务编排模型时的编排顺序。
例如,平台的规范微服务包括:遥感道路识别服务、道路通达度分析服务、商铺选址分析服务、城市规划服务,可根据用户基于这些规范微服务选取的服务功能,确定以下编排顺序:
遥感道路识别服务、道路通达度分析服务、商铺选址分析服务,
遥感道路识别服务、道路通达度分析服务、城市规划服务。
步骤S32,按照所述编排顺序,依次调用所述目标微服务,形成微服务链路;
具体地,依照目标微服务的编排顺序,依次从平台的各个规范微服务中,调用目标微服务。并且每调用一个目标微服务,则获取上一个调用的目标微服务的出口参数作为该目标微服务的入口参数,从而形成微服务链路。
其中,微服务链路,是指一个微服务的出口参数作为另一微服务的入口参数,实现两个微服务之间灵活调用,则两个或以上的微服务实现直接调用关系,这些参数调用的微服务与参数被调用的微服务即形成微服务链路。
步骤S23,确定所述微服务链路的入口参数和出口参数,并依据所述微服务链路、所述入口参数和所述出口参数,形成服务编排模型。
具体地,根据所形成的微服务链路,确定微服务链路中首个微服务的入口参数,并将微服务链路中首个微服务的入口参数作为微服务链路的入口参数。同理,根据所形成的微服务链路,确定微服务链路中末个微服务的出口参数,并将微服务链路中首个微服务的出口参数作为微服务链路的出口参数。
其中,服务编排模型由微服务链路形成,服务编排模型中:每一个目标微服务的出口参数为所链接的下一目标微服务的入口参数,所链接的各个目标微服务中的首个目标微服务的入口参数作为服务编排模型的入口参数,所链接的各个目标微服务中的末个目标微服务的出口参数作为服务编排模型的出口参数。
因此在微服务链路、微服务链路的入口参数以及微服务链路的出口参数均确定后,即确定了服务编排模型。
为了方便理解,接以上步骤S20的例子继续作说明。例如,规范微服务C完成的功能为实现道路通达度分析功能的算法,规范微服务E完成的功能为实现道路识别功能的算法,服务功能2为进行道路通达度分析。由于进行道路通达度分析需先实现道路识别,再基于道路识别的结果实现道路通达度分析;则确定目标微服务的编排顺序为:完成道路识别功能的规范微服务E、完成道路通达度分析功能的规范微服务C,并将规范微服务E和规范微服务C链接起来,以形成服务编排模型,其中:以规范微服务E的入口参数作为服务编排模型的入口参数、以规范微服务E的出口参数作为规范微服务C的入口参数、以规范微服务C的出口参数作为服务编排模型的出口参数。
进一步地,所述微服务链路中,每个所述目标微服务的出口参数为下一所述目标微服务的入口参数,且每个所述目标微服务的出口参数的数据类型为下一所述目标微服务的入口模型所支持的数据类型。
具体地,为了实现各个微服务之间可以灵活调度,需要保证被调用微服务的出口模型的数据类型为调用微服务的入口模型所支持的数据类型。而在服务编排模型中:每一个目标微服务的出口参数为所链接的下一目标微服务的入口参数,即微服务链路中每个目标微服务的出口参数为下一目标微服务的入口数据,则需要保证微服务链路中每个目标微服务的出口参数的数据类型为下一目标微服务的入口模型所支持的数据类型。
为了方便理解,接以上步骤S23的例子继续做说明。例如,规范微服务C的入口模型所支持数据类型为:类型a和类型b,则规范微服务E的出口参数的数据类型需为,类型a或类型b中的一种。
在本实施例中,通过获取并根据服务请求,确定并按照待调用的目标微服务的编排顺序,依次调用目标微服务,形成微服务链路;并依据微服务链路确定服务编排模型,使得后续可以直接运行服务编排模型,快速得出多维度分析结果。
进一步地,参照图4,图4为本发明基于微服务架构的服务运行方法第三实施例的流程示意图。基于上述第一实施例,提出本发明基于微服务架构的服务运行方法第三实施例,步骤S30包括:
步骤S31,获取所述服务编排模型的入口数据;
具体地,确定服务编排模型的入口模型所需的入口数据,并获取服务编排模型的入口模型所需的入口数据。其中,服务编排模型的入口模型即微服务链路中首个微服务的入口模型。
例如,需要对某道路图片进行识别并分析出道路通达度,则服务编排模型的入口参数为图片,需获取图片。
步骤S32,将所述入口数据输入至所述服务编排模型,以供所述服务编排模型基于所述入口数据进行分析;
将所获取的服务编排模型的入口数据输入至服务编排模型,以供服务编排模型基于所述入口数据进行分析,得出分析结果。
步骤S33,获取所述服务编排模型基于所述入口数据运行后得到的分析结果。
服务编排模型运行时,实际为依次调度服务编排模型中的各个规范微服务的运行。在将服务编排模型的入口数据输入至服务编排模型后,服务编排模型的微服务链路中各个微服务依次被调用执行数据分析处理,最后得出分析结果
具体地,在将服务编排模型的入口数据输入至服务编排模型后,在形成服务编排模型的微服务链路中,首个微服务对入口数据进行分析处理得到出口数据,并输出首个微服务的出口数据;并将首个微服务的出口数据作为:调用首个微服务的微服务的入口数据。同理,微服务链路中的各个微服务依次被调用执行数据分析处理过程。
在形成服务编排模型的微服务链路中,末个微服务获取上一微服务的出口数据,作为末个微服务的入口数据;在末个微服务运行完成后,所输出的出口数据即服务编排模型基于运行后得到的分析结果。
在本实施例中,在需要进行服务数据分析时,通过获取服务编排模型的入口数据并输入服务编排模型,运行服务编排模型进行数据分析,可以根据实际需求灵活调用各个规范微服务进行组合实现服务功能,而无需单独针对某个功能定义一套代码,减少了数据处理量,提高了工作效率。
进一步地,基于上述第一实施例,提出本发明基于微服务架构的服务运行方法第四实施例,在步骤S10之后、步骤S20之前还包括:
当检测到所述规范微服务的注册请求时,获取所述规范微服务;
通过预设的微服务注册中心,将所述规范微服务发布至微服务集群。
为了便于对各个规范微服务的管理,在根据预设的API服务规范,开发或调整微服务得到符合预设的API服务规范的规范微服务后,将规范微服务发布至预设的微服务注册中心。
具体地,参照图5,图5为通过服务注册中心发布各个微服务的示意图。其中,服务A、服务B、服务C、服务D、服务E分别代表一个微服务,每个微服务可以采用不同的开发语言,如Java语言、Python语言、C++语言等。
当检测到规范微服务的注册请求时,获取请求注册的规范微服务,服务注册中心通过Zookeeper、Eureka或者其他方式进行搭建各个规范微服务,以完成将请求注册的规范微服务发布至预设的微服务注册中心。通过集群部署的方式,保证了服务注册中心的高可用性。通过服务注册中心为各个规范微服务配置的地址,规范微服务在启动后,服务注册中心向规范微服务发送心跳请求,通过心跳请求的方式管理规范微服务的生命周期。
其中,预设的微服务注册中心,是指平台的服务注册中心,用于管理平台的各个规范微服务。
在本实施例中,通过预设的微服务注册中心,发布并管理符合预设的API服务规范的规范微服务,便于规范微服务的生命周期管理,并使得在需要调用微服务形成服务编排模型时,可以灵活地调用发布至预设的微服务注册中心的规范微服务进行组合,实现快速得出多维度分析结果。
此外,本发明实施例还提出一种基于微服务架构的服务运行装置。
参照图6,图6为本发明基于微服务架构的服务运行装置优选实施例的功能模块示意图。
本实施例中,基于微服务架构的服务运行装置包括:
服务规范模块10,用于根据预设的应用程序编程接口API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务;
编排模块20,用于获取并根据服务请求,从所述规范微服务中获取目标微服务形成服务编排模型;
服务运行模块30,用于运行所述服务编排模型,并输出所述服务编排模型运行后得到的分析结果.
进一步的,所述编排模块20包括:
编排顺序确定单元,用于获取并根据服务请求,确定待调用的目标微服务,以及所述目标微服务的编排顺序;
微服务链路形成单元,用于按照所述编排顺序,依次调用所述目标微服务,形成微服务链路;
编排单元,用于确定所述微服务链路的入口参数和出口参数,并依据所述微服务链路、所述入口参数和所述出口参数,形成服务编排模型。
进一步的,所述微服务链路中,每个所述目标微服务的出口参数为下一所述目标微服务的入口参数,且每个所述目标微服务的出口参数的数据类型为下一所述目标微服务的入口模型所支持的数据类型。
进一步的,所述服务运行模块20包括:
获取单元,用于,获取所述服务编排模型的入口数据;
输入单元,用于,将所述入口数据输入至所述服务编排模型,以供所述服务编排模型基于所述入口数据进行分析;
运行单元,用于,获取所述服务编排模型基于所述入口数据运行后得到的分析结果。
进一步的,所述基于微服务架构的服务运行装置还包括微服务注册模块,所述微服务注册模块用于:
当检测到所述规范微服务的注册请求时,获取所述规范微服务;
通过预设的微服务注册中心,将所述规范微服务发布至微服务集群。
进一步的,所述预设的API服务规范包括符合预设的数据格式,所述服务规范模块10还用于:
当开发或调整微服务时,将微服务的入口模型和出口模型的数据格式设置为预设的数据格式,以得到符合所述API服务规范的规范微服务。
进一步的,预设的API服务规范包括符合预设的API调用方式,所述服务规范模块10还用于:
当开发或调整微服务时,将微服务的API调用方式设置为POST操作,以得到符合所述API服务规范的规范微服务。
如图7所示,图7是本发明实施例方案涉及的基于微服务架构的服务运行平台硬件运行环境的结构示意图。
本发明实施例基于微服务架构的服务运行平台可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面3)播放器、便携计算机等可移动式终端设备。
如图7所示,该基于微服务架构的服务运行平台可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,基于微服务架构的服务运行平台还可以包括摄像头、RF(RadioFrequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图7中示出的基于微服务架构的服务运行平台结构并不构成对基于微服务架构的服务运行平台的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图7所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于微服务架构的服务运行程序。
在图7所示的基于微服务架构的服务运行平台中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于微服务架构的服务运行程序,并执行如上所述基于微服务架构的服务运行方法的方法的步骤。
本发明基于微服务架构的服务运行平台具体实施方式与上述基于微服务架构的服务运行方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于微服务架构的服务运行程序,所述基于微服务架构的服务运行程序被处理器执行时实现如步骤:
根据预设的应用程序编程接口API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务;
获取并根据服务请求,从所述规范微服务中获取目标微服务形成服务编排模型;
运行所述服务编排模型,并输出所述服务编排模型运行后得到的分析结果。
进一步地,所述获取并根据服务请求,从所述规范微服务中获取目标微服务形成服务编排模型的步骤包括:
获取并根据服务请求,确定待调用的目标微服务,以及所述目标微服务的编排顺序;
按照所述编排顺序,依次调用所述目标微服务,形成微服务链路;
确定所述微服务链路的入口参数和出口参数,并依据所述微服务链路、所述入口参数和所述出口参数,形成服务编排模型。
进一步地,所述微服务链路中,每个所述目标微服务的出口参数为下一所述目标微服务的入口参数,且每个所述目标微服务的出口参数的数据类型为下一所述目标微服务的入口模型所支持的数据类型。
进一步地,所述运行所述服务编排模型,并输出所述服务编排模型运行后得到的分析结果的步骤包括:
获取所述服务编排模型的入口数据;
将所述入口数据输入至所述服务编排模型,以供所述服务编排模型基于所述入口数据进行分析;
获取所述服务编排模型基于所述入口数据运行后得到的分析结果。
进一步地,所述获取并根据服务请求,从所述规范微服务中获取目标微服务的步骤之前还包括:
当检测到所述规范微服务的注册请求时,获取所述规范微服务;
通过预设的微服务注册中心,将所述规范微服务发布至微服务集群。
进一步地,所述预设的API服务规范包括符合预设的数据格式,所述根据预设的API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务的步骤包括:
当开发或调整微服务时,将微服务的入口模型和出口模型的数据格式设置为预设的数据格式,以得到符合所述API服务规范的规范微服务。
进一步地,预设的API服务规范包括符合预设的API调用方式,所述根据预设的API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务的步骤包括:
当开发或调整微服务时,将微服务的API调用方式设置为POST操作,以得到符合所述API服务规范的规范微服务。
本发明存储介质具体实施方式可以参照上述基于微服务架构的服务运行方法各实施例,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种基于微服务架构的服务运行方法,其特征在于,所述基于微服务架构的服务运行方法包括:
根据预设的应用程序编程接口API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务;
获取并根据服务请求,从所述规范微服务中获取目标微服务形成服务编排模型;
运行所述服务编排模型,并输出所述服务编排模型运行后得到的分析结果。
2.如权利要求1所述的基于微服务架构的服务运行方法,其特征在于,所述获取并根据服务请求,从所述规范微服务中获取目标微服务形成服务编排模型的步骤包括:
获取并根据服务请求,确定待调用的目标微服务,以及所述目标微服务的编排顺序;
按照所述编排顺序,依次调用所述目标微服务,形成微服务链路;
确定所述微服务链路的入口参数和出口参数,并依据所述微服务链路、所述入口参数和所述出口参数,形成服务编排模型。
3.如权利要求2所述的基于微服务架构的服务运行方法,其特征在于,所述微服务链路中,每个所述目标微服务的出口参数为下一所述目标微服务的入口参数,且每个所述目标微服务的出口参数的数据类型为下一所述目标微服务的入口模型所支持的数据类型。
4.如权利要求1所述的基于微服务架构的服务运行方法,其特征在于,所述运行所述服务编排模型,并输出所述服务编排模型运行后得到的分析结果的步骤包括:
获取所述服务编排模型的入口数据;
将所述入口数据输入至所述服务编排模型,以供所述服务编排模型基于所述入口数据进行分析;
获取所述服务编排模型基于所述入口数据运行后得到的分析结果。
5.如权利要求1所述的基于微服务架构的服务运行方法,其特征在于,所述获取并根据服务请求,从所述规范微服务中获取目标微服务的步骤之前还包括:
当检测到所述规范微服务的注册请求时,获取所述规范微服务;
通过预设的微服务注册中心,将所述规范微服务发布至微服务集群。
6.如权利要求1-5任一项所述的基于微服务架构的服务运行方法,其特征在于,所述预设的API服务规范包括符合预设的数据格式,所述根据预设的API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务的步骤包括:
当开发或调整微服务时,将微服务的入口模型和出口模型的数据格式设置为预设的数据格式,以得到符合所述API服务规范的规范微服务。
7.如权利要求1-5任一项所述的基于微服务架构的服务运行方法,其特征在于,预设的API服务规范包括符合预设的API调用方式,所述根据预设的API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务的步骤包括:
当开发或调整微服务时,将微服务的API调用方式设置为POST操作,以得到符合所述API服务规范的规范微服务。
8.一种基于微服务架构的服务运行装置,其特征在于,所述基于微服务架构的服务运行装置包括:
服务规范模块,用于根据预设的应用程序编程接口API服务规范,开发或调整微服务,以得到符合所述API服务规范的规范微服务;
编排模块,用于获取并根据服务请求,从所述规范微服务中获取目标微服务形成服务编排模型;
服务运行模块,用于运行所述服务编排模型,并输出所述服务编排模型运行后得到的分析结果。
9.一种基于微服务架构的服务运行平台,其特征在于,所述基于微服务架构的服务运行平台包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于微服务架构的服务运行程序,所述基于微服务架构的服务运行程序被所述处理器执行时实现如权利要求1至7中任一项所述的基于微服务架构的服务运行方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有基于微服务架构的服务运行程序,所述基于微服务架构的服务运行程序被处理器执行时实现如权利要求1至7中任一项所述的基于微服务架构的服务运行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910783744.8A CN110489181A (zh) | 2019-08-23 | 2019-08-23 | 基于微服务架构的服务运行方法、装置、平台及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910783744.8A CN110489181A (zh) | 2019-08-23 | 2019-08-23 | 基于微服务架构的服务运行方法、装置、平台及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110489181A true CN110489181A (zh) | 2019-11-22 |
Family
ID=68553276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910783744.8A Pending CN110489181A (zh) | 2019-08-23 | 2019-08-23 | 基于微服务架构的服务运行方法、装置、平台及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489181A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078315A (zh) * | 2019-12-12 | 2020-04-28 | 拉扎斯网络科技(上海)有限公司 | 微服务编排、执行方法及系统、架构、设备、存储介质 |
CN111178782A (zh) * | 2020-01-03 | 2020-05-19 | 广州博依特智能信息科技有限公司 | 一种流程工业数据化运营平台的微服务架构 |
CN111245916A (zh) * | 2020-01-07 | 2020-06-05 | 苏宁云计算有限公司 | 基于微服务网关的服务调用方法、服务编排方法及装置 |
CN111427547A (zh) * | 2020-03-18 | 2020-07-17 | 成都中科合迅科技有限公司 | 一种基于c++的微服务开发方法和系统 |
CN112083912A (zh) * | 2020-08-17 | 2020-12-15 | 山东中创软件商用中间件股份有限公司 | 服务编排的中间结果处理方法、装置、设备及存储介质 |
CN112199426A (zh) * | 2020-09-24 | 2021-01-08 | 建信金融科技有限责任公司 | 微服务架构下的接口调用管理方法、装置、服务器及介质 |
CN112269611A (zh) * | 2020-10-12 | 2021-01-26 | 深圳数设科技有限公司 | 一种基于微服务架构实现产品可视化显示的方法及系统 |
CN112596909A (zh) * | 2020-12-28 | 2021-04-02 | 上海计算机软件技术开发中心 | 一种基于微服务的智能工厂管控平台组合调度优化方法 |
CN112764764A (zh) * | 2020-12-31 | 2021-05-07 | 成都佳华物链云科技有限公司 | 场景模型部署方法、装置、设备及存储介质 |
CN113791758A (zh) * | 2021-09-01 | 2021-12-14 | 湖南大学 | 一种服务编排本地化执行系统及其方法 |
CN116560756A (zh) * | 2023-07-12 | 2023-08-08 | 鹏城实验室 | 服务编排方法、电子设备、计算机可读存储介质 |
-
2019
- 2019-08-23 CN CN201910783744.8A patent/CN110489181A/zh active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078315B (zh) * | 2019-12-12 | 2020-12-08 | 拉扎斯网络科技(上海)有限公司 | 微服务编排、执行方法及系统、架构、设备、存储介质 |
CN111078315A (zh) * | 2019-12-12 | 2020-04-28 | 拉扎斯网络科技(上海)有限公司 | 微服务编排、执行方法及系统、架构、设备、存储介质 |
CN111178782A (zh) * | 2020-01-03 | 2020-05-19 | 广州博依特智能信息科技有限公司 | 一种流程工业数据化运营平台的微服务架构 |
CN111245916A (zh) * | 2020-01-07 | 2020-06-05 | 苏宁云计算有限公司 | 基于微服务网关的服务调用方法、服务编排方法及装置 |
CN111427547B (zh) * | 2020-03-18 | 2023-03-10 | 成都中科合迅科技有限公司 | 一种基于c++的微服务开发方法和系统 |
CN111427547A (zh) * | 2020-03-18 | 2020-07-17 | 成都中科合迅科技有限公司 | 一种基于c++的微服务开发方法和系统 |
CN112083912A (zh) * | 2020-08-17 | 2020-12-15 | 山东中创软件商用中间件股份有限公司 | 服务编排的中间结果处理方法、装置、设备及存储介质 |
CN112083912B (zh) * | 2020-08-17 | 2024-03-12 | 山东中创软件商用中间件股份有限公司 | 服务编排的中间结果处理方法、装置、设备及存储介质 |
CN112199426B (zh) * | 2020-09-24 | 2023-06-02 | 建信金融科技有限责任公司 | 微服务架构下的接口调用管理方法、装置、服务器及介质 |
CN112199426A (zh) * | 2020-09-24 | 2021-01-08 | 建信金融科技有限责任公司 | 微服务架构下的接口调用管理方法、装置、服务器及介质 |
CN112269611A (zh) * | 2020-10-12 | 2021-01-26 | 深圳数设科技有限公司 | 一种基于微服务架构实现产品可视化显示的方法及系统 |
CN112269611B (zh) * | 2020-10-12 | 2024-03-29 | 苏州数设科技有限公司 | 一种基于微服务架构实现产品可视化显示的方法及系统 |
CN112596909A (zh) * | 2020-12-28 | 2021-04-02 | 上海计算机软件技术开发中心 | 一种基于微服务的智能工厂管控平台组合调度优化方法 |
CN112764764A (zh) * | 2020-12-31 | 2021-05-07 | 成都佳华物链云科技有限公司 | 场景模型部署方法、装置、设备及存储介质 |
CN113791758A (zh) * | 2021-09-01 | 2021-12-14 | 湖南大学 | 一种服务编排本地化执行系统及其方法 |
CN116560756A (zh) * | 2023-07-12 | 2023-08-08 | 鹏城实验室 | 服务编排方法、电子设备、计算机可读存储介质 |
CN116560756B (zh) * | 2023-07-12 | 2024-04-16 | 鹏城实验室 | 服务编排方法、电子设备、计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489181A (zh) | 基于微服务架构的服务运行方法、装置、平台及存储介质 | |
CN108681667A (zh) | 一种设备型号识别方法、装置及处理设备 | |
CN109447156A (zh) | 用于生成模型的方法和装置 | |
CN108446387A (zh) | 用于更新人脸注册库的方法和装置 | |
CN109145828A (zh) | 用于生成视频类别检测模型的方法和装置 | |
CN108701149A (zh) | 一种智能推荐方法和终端 | |
CN108171191B (zh) | 用于检测人脸的方法和装置 | |
CN110175555A (zh) | 人脸图像聚类方法和装置 | |
CN110362677A (zh) | 文本数据类别的识别方法及装置、存储介质、计算机设备 | |
CN109308490A (zh) | 用于生成信息的方法和装置 | |
CN108764319A (zh) | 一种样本分类方法和装置 | |
CN110533085A (zh) | 同人识别方法及装置、存储介质、计算机设备 | |
KR102431107B1 (ko) | 인공지능을 이용한 생산 라인의 생산량 산출 방법 | |
CN109543734A (zh) | 用户画像方法及装置、存储介质 | |
CN109426600A (zh) | 数据采集处理方法、装置、设备及可读存储介质 | |
CN110339567A (zh) | 系统资源配置、场景预测模型训练方法和装置 | |
CN109767264A (zh) | 产品数据推送方法、装置、计算机设备和存储介质 | |
CN109446648A (zh) | 仿真服务建立方法及装置 | |
CN109661671A (zh) | 使用边界位图对图像分类的改善 | |
CN108595211A (zh) | 用于输出数据的方法和装置 | |
CN107861765A (zh) | 产品配置方法、设备和计算机可读存储介质 | |
CN110297959A (zh) | 数据存储方法、装置、存储介质及边缘服务器 | |
CN110489242A (zh) | 分布式数据计算方法、装置、终端设备及存储介质 | |
CN108257081A (zh) | 用于生成图片的方法和装置 | |
CN108537165A (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 |