CN110058864B - 微服务的部署方法及装置 - Google Patents
微服务的部署方法及装置 Download PDFInfo
- Publication number
- CN110058864B CN110058864B CN201910316745.1A CN201910316745A CN110058864B CN 110058864 B CN110058864 B CN 110058864B CN 201910316745 A CN201910316745 A CN 201910316745A CN 110058864 B CN110058864 B CN 110058864B
- Authority
- CN
- China
- Prior art keywords
- service
- micro
- deployed
- algorithm
- programming language
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本公开提出一种微服务的部署方法及装置,涉及计算机技术领域。所述方法包括:获取归属于待部署微服务的算法文件,确定所述待部署微服务的编程语言类型,基于所述编程语言类型,生成对应所述待部署微服务的多种应用程序编程接口API接口,每种API接口分别对应一种编程语言类型,基于所述算法文件和所述多种API接口,部署所述待部署微服务。本公开能够提高服务器对不同语言平台的微服务的支持能力,降低开发微服务的成本,提高微服务推广和扩展的效率。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种微服务的部署方法及装置。
背景技术
随着计算机技术的快速发展,各种各样的软件架构也得到了长足的发展和应用,其中,微服务以其轻量级、松耦合、易于开发和维护等优点受到了广泛的关注。
现有技术中,微服务的开发人员可以根据预先设定的软件功能,通过编程语言编写并封装得到归属于微服务的服务数据,该服务数据包括算法文件以及调用该微服务的API(Application Programming Interface,应用程序编程接口)接口。当服务器接收到该服务数据时,对该服务进行注册,从而提供该服务器的相关信息以及该微服务的API接口,从而完成对该微服务的部署,便于其它客户端从该服务器调用该微服务。但由于编程语言的语言平台较多,种类繁杂,服务器难以支持基于不同语言平台的微服务,开发微服务的成本高昂、不利于微服务的推广和扩展。
发明内容
本公开的目的在于提供一种微服务的部署方法及装置,以提高服务器对不同语言平台的微服务的支持能力,降低开发微服务的成本,提高微服务推广和扩展的效率。
为了实现上述目的,本公开采用的技术方案如下:
第一方面,本公开提出一种微服务的部署方法,所述方法包括:
获取归属于待部署微服务的算法文件;
确定所述待部署微服务的编程语言类型;
基于所述编程语言类型,生成对应所述待部署微服务的多种API接口,每种API接口分别对应一种编程语言类型;
基于所述算法文件和所述多种API接口,部署所述待部署微服务。
可选地,所述确定所述待部署微服务的编程语言类型,包括:
基于所述算法文件,识别得到所述待部署微服务的编程语言类型。
可选地,所述基于所述编程语言类型,生成对应所述待部署微服务的多种API接口,包括:
识别所述算法文件的算法;
基于所述算法,生成预设编程语言类型的编译算法文件;
基于所述编译算法文件,生成所述多种API接口。
可选地,所述方法还包括:
获取所述待部署微服务对应的配置文件,所述配置文件包括所述待部署微服务的编程语言类型;
在所述基于所述算法文件,识别得到所述待部署微服务的编程语言类型之后,所述方法还包括:
基于所述配置文件所包括的编程语言类型,对识别得到的编程语言类型进行校验。
可选地,所述方法还包括:
获取所述待部署微服务对应的配置文件,所述配置文件包括算法名;
在所述识别所述算法文件的算法之后,所述方法还包括:
基于所述算法名,对识别得到的算法进行校验。
第二方面,本公开还提出一种微服务的部署装置,所述装置包括:
第一获取模块,用于获取归属于待部署微服务的算法文件;
确定模块,用于确定所述待部署微服务的编程语言类型;
生成模块,用于基于所述编程语言类型,生成对应所述待部署微服务的多种API接口,每种API接口分别对应一种编程语言类型;
部署模块,用于基于所述算法文件和所述多种API接口,部署所述待部署微服务。
可选地,所述确定模块具体用于:
基于所述算法文件,识别得到所述待部署微服务的编程语言类型。
可选地,所述生成模块具体用于:
识别所述算法文件的算法;
基于所述算法,生成预设编程语言类型的编译算法文件;
基于所述编译算法文件,生成所述多种API接口。
可选地,所述装置还包括:
第二获取模块,用于获取所述待部署微服务对应的配置文件,所述配置文件包括所述待部署微服务的编程语言类型;
第一校验模块,用于基于所述配置文件所包括的编程语言类型,对识别得到的编程语言类型进行校验。
可选地,所述装置还包括:
第三获取模块,用于获取所述待部署微服务对应的配置文件,所述配置文件包括算法名;
第二校验模块,用于基于所述算法名,对识别得到的算法进行校验。
第三方面,本公开还提出一种电子设备,包括存储有计算机程序的计算机可读存储介质和处理器,所述计算机程序被所述处理器读取并运行时,实现上述第一方面所述的方法。
第四方面,本公开还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器读取并运行时,实现上述第一方面所述的方法。
相对现有技术,本公开具有以下有益效果:
在本公开实施例中,对于待部署微服务,能够获取归属于该待部署微服务的算法文件并识别确定待部署微服务的编程语言类型,从而基于该编程语言类型,生成对应待部署微服务的多种API接口。由于每种API接口分别对应一种编程语言类,因此基于该算法文件和该多种API接口,对待部署微服务部署,即确保能够通过多种编程语言调用待部署微服务,从而提高服务器对不同语言平台的微服务的支持能力,降低开发微服务的成本,提高微服务推广和扩展的效率。
本公开的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本公开的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开所提供的一种微服务架构的结构示意图;
图2示出了本公开所提供的一种微服务的部署方法的流程示意图;
图3示出了本公开所提供的另一种微服务的部署方法的流程示意图;
图4示出了本公开所提供的一种微服务的部署装置的功能模块示意图;
图5示出了本公开所提供的另一种微服务的部署装置的功能模块示意图;
图6示出了本公开所提供的另一种微服务的部署装置的功能模块示意图;
图7示出了本公开所提供的一种电子设备的功能模块示意图。
具体实施方式
下面将结合本公开中附图,对本公开中的技术方案进行清楚、完整地描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在对本公开进行详细的解释说明之前,先对本公开的应用场景予以介绍。
微服务是一种架构模式,能够将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个微服务可以部署在单个或多个服务器上,并运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通。
请参照图1,微服务架构100可以包括管理界面模块101、控制台模块102、服务调用模块103、服务注册表模块104、服务通讯模块105、服务代理模块106和服务容器模块107。
管理界面模块101用于提供与交互界面操作相关的功能。
控制台模块102用于对服务的启动、注册、部署以及监控等功能的管理。
其中,服务的部署可以包括服务代理生成、服务组装和服务发布;服务监控包括服务状态汇报。
需要说明的是,对服务的管理还包括有状态服务或无状态服务的服务实例化。
服务调用模块103用于提供客户端调用服务的接口。
服务注册表模块104用于基于服务注册表,实现服务的配置维护、服务发现、服务查找以及分布式锁等功能。
服务通讯模块105用于提供网络间传输速度和稳定性,是系统间数据传输和服务调用的通道,从而确保服务调用和系统通信的稳定可控。
服务代理模块106用于提供服务的跨语言调用功能以及服务监控功能。
服务容器模块107用于将现有的功能封装为可重用的服务,采用装配模型进行服务装配,从而形成更复杂的服务,确保跨平台、多协议、不同功能的服务之间互不影响。
请参照图2,为本公开所提供的一种微服务的部署方法的流程示意图。该方法应用于图1所示的微服务架构100中。需要说明的是,本公开所述的微服务的部署方法并不以图2以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本公开所述的微服务的部署方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图2所示的流程进行详细阐述。
步骤201,获取归属于待部署微服务的算法文件。
为了将技术开发人员提供的微服务进行部署,可以获取归属于待部署微服务的算法文件。
待部署微服务为需要进行部署的微服务。
算法文件为通过编程语言编写得到的、用于实现微服务各项功能的文件。例如,当算法文件为基于Java(一门面向对象编程语言)的文件时,该算法文件可以包括类(class)文件。
技术开发人员可以通过客户端将开发完成的微服务的算法文件,存储至服务器指定的目录中,服务器在启动时,可以对该目录进行检测,从而获取到待部署微服务的算法文件。
需要说明的是,技术开发人员可以将微服务的算法文件进行打包,从而将打包的算法文件存储至服务器。
还需要说明的是,由于在本公开所提供的微服务的部署方法中,服务器可以通过后续步骤,生成对应该待部署微服务的API接口,因此,技术开发人员不需要向服务器提供完整的服务数据,该服务数据包括待部署微服务的算法文件以及调用该待部署微服务的API接口,但在本公开的另一可选实施例中,研发技术人员也可以向服务器提供完整的服务数据,相应的,服务器可以从该服务数据中解析得到相应的算法文件。
其中,API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
步骤202,确定待部署微服务的编程语言类型。
对于不同的微服务,由于其所实现的功能有所不同,相应的,该微服务的算法文件也会不同,比如具有不同的数据结构、参数类型和调用方式等,因此,为了便于对待部署微服务的算法文件进行分析,从而便于后续确定对该待部署微服务的调用方式,可以确定该待部署微服务的编程语言类型。
编程语言类型为待部署服务的算法文件所采用的编程语言的类型。比如,编程语言类型可以包括Java、C++、C#(一门面向过程、抽象化的通用程序设计语言)、Ruby(一种简单快捷的面向对象脚本语言)或Python(一种面向对象的动态类型语言)。
可以接收技术开发人员针对待部署微服务指定的编程语言类型,或者,可以对待部署微服务进行分析从而确定该待部署微服务的编程语言类型。当然,在实际应用中,还可以通过其它方式确定该待部署微服务的编程语言类型。
步骤203,基于编程语言类型,生成对应待部署微服务的多种API接口,每种API接口分别对应一种编程语言类型。
由于编程语言的种类较多,为了确保能够通过多种编程语言调用待部署微服务,从而提高对服务器对不同语言平台的微服务的支持能力,降低开发微服务的成本,提高微服务推广和扩展的效率,同时支持分布式横向扩展、支持负载均衡和服务迁移,可以生成多种API接口,且每种API接口对应一种编程语言类型。
需要说明的是,每种API接口可以包括至少一个API接口,其中每个API接口可以对应一个算法文件。
可以基于所确定的编程语言类型,通过反射机制对算法文件进行识别,从而获取该算法文件的算法,根据该算法所包括的数据结构和参数类型等信息,生成对应该编程语言类型的API接口,再基于对应该编程语言类型的API接口,编译得到对应其它编程语言类型的API接口。
当然,在实际应用中,再通过反射机制获取的到算法文件的算法后,将该算法文件分别编译成对应多种编程语言类型的算法文件,然后再分别基于多种编程语言类型的算法文件,生成对应多种编程语言类型的API接口。
步骤204,基于算法文件和多种API接口,部署待部署微服务。
为了确保其它客户端能够感知并调用该待部署微服务,可以对待部署微服务进行部署。
可以基于多种API接口,对算法文件进行封装,从而得到特定格式(比如Dll或Jar)的服务数据。当服务器启动封装后的服务时,可以将该服务器的服务器信息和服务的服务信息提交至服务注册表,从而完成部署,确保客户端能够从基于该服务器的相关信息查找到该服务器,基于该服务的相关信息调用该服务。
例如,当微服务被部署在服务器集群中的某个服务器时,该服务器可以将该服务器的服务器信息和服务信息注册到该服务器集群的zookeeper(一种分布式应用程序协调服务),zookeeper可以基于该服务器以及该服务的状态,对该所注册的服务器信息和服务信息进行维护。客户端可以通过负载均衡连接至该服务器,并基于该服务的API接口,调用该服务。
在本公开实施例中,对于待部署微服务,能够获取归属于该待部署微服务的算法文件并识别确定待部署微服务的编程语言类型,从而基于该编程语言类型,生成对应待部署微服务的多种API接口。由于每种API接口分别对应一种编程语言类,因此基于该算法文件和该多种API接口,部署待部署微服务,即确保能够通过多种编程语言调用待部署微服务,从而提高对服务器对不同语言平台的微服务的支持能力,降低开发微服务的成本,提高微服务推广和扩展的效率。
请参照图3,为本公开所提供的一种微服务的部署方法的流程示意图。需要说明的是,本公开所述的微服务的部署方法并不以图3以及以下所述的具体顺序为限制,应当理解,在其它实施例中,本公开所述的微服务的部署方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图3所示的流程进行详细阐述。
步骤301,获取归属于待部署微服务的算法文件。
其中,获取归属于待部署微服务的算法文件的方式,可以参见前述步骤201中的相关描述,此处不再一一赘述。
步骤302,获取待部署微服务对应的配置文件。
为了准确地获取到更多与待部署微服务相关的信息,可以获取待部署微服务对应的配置文件。
其中,获取待部署微服务对应的配置文件的方式,可以与获取归属于待部署微服务的算法文件的方式相似,此处不再一一赘述。
可选地,配置文件包括待部署微服务的编程语言类型和算法名中的至少一个。
需要说明的是,在本公开实施例中,对执行步骤301来获取归属于待部署微服务的算法文件以及执行步骤302来获取待部署微服务对应的配置文件的次序不做限制,比如,可以同时执行步骤301和步骤302。
另外,在公开的另一可选实施例中,也可以不执行步骤302,也即是,步骤302获取待部署微服务对应的配置文件为可选的步骤。
步骤303,确定待部署微服务的编程语言类型。
可选地,基于算法文件,识别得到待部署微服务的编程语言类型。
为了提高确定待部署微服务的编程语言类型的准确性,可以直接对待部署微服务的算法文件所采用的编程语言进行分析,该算法文件所采用的编程语言类型,即为该待识别微服务的编程语言类型。
可选地,基于配置文件所包括的编程语言类型,对识别得到的编程语言类型进行校验。
为了进一步提高确定待部署微服务的编程语言类型的准确性,进一步确保生成对应待部署微服务的多种API接口的可靠性,可以对识别得到的编程语言类型进行校验。
其中,当配置文件所包括的编程语言类型与识别得到的编程语言类型一致时,可以确定识别待部署微服务的编程语言类型成功,从而可以继续进行后续步骤,否者确定识别失败,可以停止进行后续步骤并重新进行识别。
另外,由前述可知,待部署微服务对应的配置文件包括有该待部署微服务的编程语言类型,因此在本公开的另一可选实施例中,可以不基于算法文件来识别并对识别得到的编程语言类型进行验证,而是直接从该配置文件中获取待部署微服务对应的配置文件。
步骤304,基于编程语言类型,生成对应待部署微服务的多种API接口,每种API接口分别对应一种编程语言类型。
可选地,识别算法文件的算法,基于该算法,生成预设编程语言类型的编译算法文件,基于该编译算法文件,生成多种API接口。
由于编程语言的种类较多,如果将每种编程语言类型的算法文件,都直接编译成其它编程语言类型的算法文件,会大幅提高成本并降低效率,也会增大服务器的负载,因此,设置预设编程语言类型,从而对于任一种编程语言类型的算法文件,都可以先将该算法文件编译为该预设编程语言类型的编译算法文件,然后再只需要对该预设编程语言类型的编译算法文件进行编译,就可以生成其它编程语言类型的算法文件,进而得到对应多种编程语言类型的API接口。
可以通过前述中的反射机制,对算法文件中的算法进行识别,从而反向生成预设编程语言类型的编译算法文件。当生成预设编程语言类型的编译算法文件时,可以基于该预设编程语言类型的编译算法文件,分别生成对应多种编程语言类型的算法文件,然后再分别基于多种编程语言类型的算法文件,生成对应多种编程语言类型的API接口。当然,也可以,先基于预设编程语言类型的编译算法文件,生成对应预设编程语言类型的API接口,再基于对应预设编程语言类型的API接口,分别生成对应多种编程语言类型的API接口。
可选地,基于算法名,对识别得到的算法进行校验。
为了提高识别算法文件所包括算法的准确性,进一步确保生成对应待部署微服务的多种API接口的可靠性,可以对识别得到的算法进行校验。
其中,当配置文件包括的算法名,与识别得到的算法的算法名一一对应且一致时,确定识别算法文件的算法成功,从而可以继续执行基于该算法,生成预设编程语言类型的编译算法文件,基于该编译算法文件,生成多种API接口的步骤,否则,可以重新对算法文件进行识别。
步骤305,基于算法文件和多种API接口,部署待部署微服务。
其中,基于算法文件和多种API接口,部署待部署微服务的方式可以参见前述步骤204中的相关描述,此处不再一一赘述。
在本公开实施例中,首先,对于待部署微服务,能够获取归属于该待部署微服务的算法文件并识别确定待部署微服务的编程语言类型,从而基于该编程语言类型,生成对应待部署微服务的多种API接口。由于每种API接口分别对应一种编程语言类,因此基于该算法文件和该多种API接口,部署待部署微服务,即确保能够通过多种编程语言调用待部署微服务,从而提高对服务器对不同语言平台的微服务的支持能力,降低开发微服务的成本,提高微服务推广和扩展的效率。
其次,能够获取待部署服务的配置文件,该配置文件中可以包括待部署微服务的编程语言类型和算法名中的至少一个,从而能够对所确定的编程语言类型进行校验,和/或,对所识别的该待部署微服务的算法文件中的算法进行校验,从而进一步确保了生成对应待部署微服务的多种API接口的可靠性。
请参照图4,为本公开所提供的一种微服务的部署装置400的功能模块示意图。需要说明的是,本实施例所提供的微服务的部署装置400,其基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。该微服务的部署装置400包括第一获取模块401、确定模块402、生成模块403和部署模块404。
第一获取模块401,用于获取归属于待部署微服务的算法文件;
确定模块402,用于确定该待部署微服务的编程语言类型;
生成模块403,用于基于该编程语言类型,生成对应该待部署微服务的多种API接口,每种API接口分别对应一种编程语言类型;
部署模块404,用于基于该算法文件和该多种API接口,部署该待部署微服务。
可选地,该确定模块502具体用于:
基于该算法文件,识别得到该待部署微服务的编程语言类型。
可选地,该生成模块503具体用于:
识别该算法文件的算法;
基于该算法,生成预设编程语言类型的编译算法文件;
基于该编译算法文件,生成该多种API接口。
可选地,请参照图5,该装置还包括:
第二获取模块405,用于获取该待部署微服务对应的配置文件,该配置文件包括该待部署微服务的编程语言类型;
第一校验模块406,用于基于该配置文件所包括的编程语言类型,对识别得到的编程语言类型进行校验。
可选地,请参照图6,该装置还包括:
第三获取模块407,用于获取该待部署微服务对应的配置文件,该配置文件包括算法名;
第二校验模块408,用于基于该算法名,对识别得到的算法进行校验。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
请参照图7,为本公开所提供的一种电子设备的功能模块示意图。该电子设备可以包括存储有计算机程序的计算机可读存储介质701和处理器702,处理器702可以调用计算机可读存储介质701存储的计算机程序。当该计算机程序被处理器702读取并运行,可以实现上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本公开还提供一计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器读取并运行时,可以实现上述方法实施例。
在本公开所提供的几个实施例中,应该理解到,以上所描述的装置实施例仅仅是示意性的,所揭露的装置和方法,可以通过其它的方式实现。例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行,例如各单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (8)
1.一种微服务的部署方法,其特征在于,所述方法包括:
获取归属于待部署微服务的算法文件;所述算法文件为存储至服务器指定目录中的开发完成的微服务的算法文件;
确定所述待部署微服务的编程语言类型;
基于所述编程语言类型,生成对应所述待部署微服务的多种应用程序编程接口API接口,每种API接口分别对应一种编程语言类型;所述API接口用于调用所述待部署微服务;
基于所述算法文件和所述多种API接口,部署所述待部署微服务;
所述基于所述编程语言类型,生成对应所述待部署微服务的多种API接口,包括:
识别所述算法文件的算法;
基于所述算法,生成预设编程语言类型的编译算法文件;
基于所述编译算法文件,生成所述多种API接口。
2.如权利要求1所述的方法,其特征在于,所述确定所述待部署微服务的编程语言类型,包括:
基于所述算法文件,识别得到所述待部署微服务的编程语言类型。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述待部署微服务对应的配置文件,所述配置文件包括所述待部署微服务的编程语言类型;
在所述基于所述算法文件,识别得到所述待部署微服务的编程语言类型之后,所述方法还包括:
基于所述配置文件所包括的编程语言类型,对识别得到的编程语言类型进行校验。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述待部署微服务对应的配置文件,所述配置文件包括算法名;
在所述识别所述算法文件的算法之后,所述方法还包括:
基于所述算法名,对识别得到的算法进行校验。
5.一种微服务的部署装置,其特征在于,所述装置包括:
第一获取模块,用于获取归属于待部署微服务的算法文件;所述算法文件为存储至服务器指定目录中的开发完成的微服务的算法文件;
确定模块,用于确定所述待部署微服务的编程语言类型;
生成模块,用于基于所述编程语言类型,生成对应所述待部署微服务的多种应用程序编程接口API接口,每种API接口分别对应一种编程语言类型;所述API接口用于调用所述待部署微服务;
部署模块,用于基于所述算法文件和所述多种API接口,部署所述待部署微服务;
所述生成模块具体用于:
识别所述算法文件的算法;
基于所述算法,生成预设编程语言类型的编译算法文件;
基于所述编译算法文件,生成所述多种API接口。
6.如权利要求5所述的装置,其特征在于,所述确定模块具体用于:
基于所述算法文件,识别得到所述待部署微服务的编程语言类型。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取所述待部署微服务对应的配置文件,所述配置文件包括所述待部署微服务的编程语言类型;
第一校验模块,用于基于所述配置文件所包括的编程语言类型,对识别得到的编程语言类型进行校验。
8.如权利要求5所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于获取所述待部署微服务对应的配置文件,所述配置文件包括算法名;
第二校验模块,用于基于所述算法名,对识别得到的算法进行校验。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910316745.1A CN110058864B (zh) | 2019-04-18 | 2019-04-18 | 微服务的部署方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910316745.1A CN110058864B (zh) | 2019-04-18 | 2019-04-18 | 微服务的部署方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110058864A CN110058864A (zh) | 2019-07-26 |
CN110058864B true CN110058864B (zh) | 2023-08-22 |
Family
ID=67319665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910316745.1A Active CN110058864B (zh) | 2019-04-18 | 2019-04-18 | 微服务的部署方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110058864B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527338A (zh) * | 2019-09-17 | 2021-03-19 | 中兴通讯股份有限公司 | 微服务升级方法、电子设备和可读存储介质 |
CN111198679B (zh) * | 2019-12-18 | 2024-04-05 | 北京航天测控技术有限公司 | 一种多语言健康管理模型的融合方法、装置 |
CN111176761B (zh) * | 2019-12-23 | 2023-07-18 | 中国联合网络通信集团有限公司 | 微服务调用方法和装置 |
CN111371840B (zh) * | 2020-02-14 | 2021-05-11 | 平安科技(深圳)有限公司 | 微服务部署方法、装置、计算机设备和存储介质 |
CN111708571B (zh) * | 2020-06-17 | 2023-06-30 | 宏桥高科技集团有限公司 | 微服务部署方法、装置、电子设备及存储介质 |
CN112199219A (zh) * | 2020-11-17 | 2021-01-08 | 南开大学 | 一种跨语言作业远程调用方法 |
CN113645303B (zh) * | 2021-08-11 | 2024-04-23 | 曙光信息产业(北京)有限公司 | 数据传输方法、装置、计算机设备及存储介质 |
CN113726856A (zh) * | 2021-08-11 | 2021-11-30 | 北京科东电力控制系统有限责任公司 | 基于微服务的调控画面综合数据轻量化交互方法及系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026238A (en) * | 1997-08-18 | 2000-02-15 | Microsoft Corporatrion | Interface conversion modules based upon generalized templates for multiple platform computer systems |
CN101840334A (zh) * | 2010-04-16 | 2010-09-22 | 中国电子科技集团公司第二十八研究所 | 一种软件构件服务化封装方法 |
CN102609264A (zh) * | 2012-02-14 | 2012-07-25 | 深圳市同洲视讯传媒有限公司 | 一种调用应用程序编程接口生成调用代码的方法及装置 |
CN106227611A (zh) * | 2016-07-26 | 2016-12-14 | 北京北森云计算股份有限公司 | 一种多语言云编译的动态微服务调用方法及装置 |
CN106293704A (zh) * | 2016-07-26 | 2017-01-04 | 北京北森云计算股份有限公司 | 多语言云编译的动态微服务编辑方法、装置和服务器 |
CN107832045A (zh) * | 2017-10-16 | 2018-03-23 | 北京京东尚科信息技术有限公司 | 跨编程语言接口转换的方法和装置 |
CN108052374A (zh) * | 2017-12-29 | 2018-05-18 | 郑州云海信息技术有限公司 | 一种部署容器微服务的方法及装置 |
KR20180074065A (ko) * | 2016-12-23 | 2018-07-03 | 주식회사 케이티 | 매쉬업 api 생성 방법, 그 방법을 수행하는 장치 및 컴퓨터 프로그램 |
CN108563435A (zh) * | 2018-04-19 | 2018-09-21 | 北京百度网讯科技有限公司 | 代码生成的方法及装置 |
CN108614776A (zh) * | 2018-05-04 | 2018-10-02 | 艺龙网信息技术(北京)有限公司 | 跨语言协议测试请求的动态构建方法和系统 |
CN109391689A (zh) * | 2018-10-08 | 2019-02-26 | 郑州云海信息技术有限公司 | 一种微服务应用程序编程接口调用的方法及装置 |
CN109597610A (zh) * | 2018-12-10 | 2019-04-09 | 南京华苏科技有限公司 | 一种基于微服务架构的应用结构组件化构建方法 |
CN109634571A (zh) * | 2018-12-17 | 2019-04-16 | 武汉烽火信息集成技术有限公司 | 一种api编排方法、存储介质、电子设备及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10255052B2 (en) * | 2017-05-30 | 2019-04-09 | International Business Machines Corporation | Dynamic deployment of an application based on micro-services |
US10581873B2 (en) * | 2017-07-11 | 2020-03-03 | Cisco Technology, Inc. | Securing micro-services |
-
2019
- 2019-04-18 CN CN201910316745.1A patent/CN110058864B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026238A (en) * | 1997-08-18 | 2000-02-15 | Microsoft Corporatrion | Interface conversion modules based upon generalized templates for multiple platform computer systems |
CN101840334A (zh) * | 2010-04-16 | 2010-09-22 | 中国电子科技集团公司第二十八研究所 | 一种软件构件服务化封装方法 |
CN102609264A (zh) * | 2012-02-14 | 2012-07-25 | 深圳市同洲视讯传媒有限公司 | 一种调用应用程序编程接口生成调用代码的方法及装置 |
CN106227611A (zh) * | 2016-07-26 | 2016-12-14 | 北京北森云计算股份有限公司 | 一种多语言云编译的动态微服务调用方法及装置 |
CN106293704A (zh) * | 2016-07-26 | 2017-01-04 | 北京北森云计算股份有限公司 | 多语言云编译的动态微服务编辑方法、装置和服务器 |
KR20180074065A (ko) * | 2016-12-23 | 2018-07-03 | 주식회사 케이티 | 매쉬업 api 생성 방법, 그 방법을 수행하는 장치 및 컴퓨터 프로그램 |
CN107832045A (zh) * | 2017-10-16 | 2018-03-23 | 北京京东尚科信息技术有限公司 | 跨编程语言接口转换的方法和装置 |
CN108052374A (zh) * | 2017-12-29 | 2018-05-18 | 郑州云海信息技术有限公司 | 一种部署容器微服务的方法及装置 |
CN108563435A (zh) * | 2018-04-19 | 2018-09-21 | 北京百度网讯科技有限公司 | 代码生成的方法及装置 |
CN108614776A (zh) * | 2018-05-04 | 2018-10-02 | 艺龙网信息技术(北京)有限公司 | 跨语言协议测试请求的动态构建方法和系统 |
CN109391689A (zh) * | 2018-10-08 | 2019-02-26 | 郑州云海信息技术有限公司 | 一种微服务应用程序编程接口调用的方法及装置 |
CN109597610A (zh) * | 2018-12-10 | 2019-04-09 | 南京华苏科技有限公司 | 一种基于微服务架构的应用结构组件化构建方法 |
CN109634571A (zh) * | 2018-12-17 | 2019-04-16 | 武汉烽火信息集成技术有限公司 | 一种api编排方法、存储介质、电子设备及系统 |
Non-Patent Citations (1)
Title |
---|
谭一鸣.基于微服务架构的平台化服务框架的设计与实现.《中国优秀硕士学位论文全文数据库 (信息科技辑)》.2018,(第01期),I138-654. * |
Also Published As
Publication number | Publication date |
---|---|
CN110058864A (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110058864B (zh) | 微服务的部署方法及装置 | |
CN109710384B (zh) | 一种安全的Java智能合约解释执行引擎及方法 | |
WO2019024674A1 (zh) | 智能合约处理方法及装置 | |
CN111163129B (zh) | 一种基于跨链网络的资源处理方法及装置 | |
US8904353B1 (en) | Highly reusable test frameworks and tests for web services | |
US20190272227A1 (en) | Software testing and verification | |
CN110275831B (zh) | 协议接口的mock数据校验方法和装置 | |
CN110941528B (zh) | 一种基于故障的日志埋点设置方法、装置及系统 | |
US10305962B1 (en) | Unit testing clients of web services | |
US20030055809A1 (en) | Methods, systems, and articles of manufacture for efficient log record access | |
CN107241315B (zh) | 银行网关接口的接入方法、装置及计算机可读存储介质 | |
CN106339237B (zh) | 针对JavaEE领域WEB应用的插件加载框架及方法 | |
CN108038039B (zh) | 记录日志的方法及微服务系统 | |
US20050086640A1 (en) | Initiating execution of application programs on a data processing arrangement | |
CN110007920A (zh) | 一种获取代码依赖关系的方法、装置及电子设备 | |
US10459698B2 (en) | Framework for generating adapters in an integrated development environment | |
CN112948272A (zh) | 基于生产环境的数据测试系统功能方法、装置及相关设备 | |
CN107977260B (zh) | 任务提交方法及装置 | |
EP3974960B1 (en) | Method and system for automated testing of web service apis | |
CN113448655B (zh) | C标准动态库的调用方法与装置 | |
US20140095142A1 (en) | Resilient mock object creation for unit testing | |
CN113342353B (zh) | 一种mock数据生成方法和装置 | |
CN111367796B (zh) | 应用程序调试方法及装置 | |
CN114443215A (zh) | 业务应用部署方法、装置、计算机设备和存储介质 | |
CN112306848A (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 |