CN111061463A - 微服务组合应用方法、装置、计算机设备及存储介质 - Google Patents

微服务组合应用方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN111061463A
CN111061463A CN201911368142.2A CN201911368142A CN111061463A CN 111061463 A CN111061463 A CN 111061463A CN 201911368142 A CN201911368142 A CN 201911368142A CN 111061463 A CN111061463 A CN 111061463A
Authority
CN
China
Prior art keywords
micro
target
service
preset
code
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
Application number
CN201911368142.2A
Other languages
English (en)
Inventor
黄海宽
林仰科
蔡日冬
薛元勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Original Assignee
Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd filed Critical Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Priority to CN201911368142.2A priority Critical patent/CN111061463A/zh
Publication of CN111061463A publication Critical patent/CN111061463A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种微服务组合应用方法、装置、计算机设备及存储介质,其中所述方法包括若接收到微服务组合请求,解析所述微服务组合请求以从预设数据库中调取与所述微服务组合请求相匹配的代码包,其中,所述预设数据库包括若干代码包;根据预设的应用程序构建工具将所调取的代码包进行组合以得到具有对应的应用程序接口的目标微服务;根据预设规则将所述目标微服务部署至目标服务器。本发明能获取多接口的响应时长进行分析,以提高相应接口的性能的稳定性。

Description

微服务组合应用方法、装置、计算机设备及存储介质
技术领域
本发明涉及微服务架构领域,尤其涉及一种微服务组合应用方法、装置、计算机设备及存储介质。
背景技术
传统的开发中,一个归档包(可以是JAR、WAR、EAR或其它归档格式)包含所有功能的应用程序,通常称为单体应用。而架构单体应用的方法论就是单体应用架构。微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制,这些服务围绕业务能力构建并且可通过全自动部署机制独立部署,并共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术。但微服务运维要求高,即其包括的更多的服务意味着要投入更多的运维;而且使用微服务构建的是分布式系统,而分布式系统具备固有的复杂性,即系统容错、网络延迟、分布式事务等都会给微服务的应用带来巨大的问题。
发明内容
本发明实施例提供一种微服务组合应用方法、装置、计算机设备及存储介质,能够使得由微服务构建的分布式系统更加便于开发和运维,提高了相应的协作效率和使用性能。
第一方面,本发明实施例提供了一种微服务组合应用方法,该方法包括:
若接收到微服务组合请求,解析所述微服务组合请求以从预设数据库中调取与所述微服务组合请求相匹配的代码包,其中,所述预设数据库包括若干代码包;
根据预设的应用程序构建工具将所调取的代码包进行组合以得到具有对应的应用程序接口的目标微服务;
根据预设规则将所述目标微服务部署至目标服务器。
第二方面,本发明实施例还提供了一种微服务组合应用装置,该装置包括:
请求解析单元,用于若接收到微服务组合请求,解析所述微服务组合请求以从预设数据库中调取与所述微服务组合请求相匹配的代码包,其中,所述预设数据库包括若干代码包;
组合单元,用于根据预设的应用程序构建工具将所调取的代码包进行组合以得到具有对应的应用程序接口的目标微服务;
部署单元,用于根据预设规则将所述目标微服务部署至目标服务器。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
本发明实施例提供了一种微服务组合应用方法、装置及计算机设备。本发明实施例由于通过对微服务的灵活拆分和组合,能够使得由微服务构建的分布式系统更加便于开发和运维,提高了相应的协作效率和使用性能。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种微服务组合应用方法的流程示意图;
图2是本发明实施例提供的一种微服务组合应用方法的子流程示意图;
图3是本发明实施例提供的一种微服务组合应用方法的子流程示意图;
图4是本发明实施例提供的一种微服务组合应用方法的子流程示意图;
图5是本发明实施例提供的一种微服务组合应用装置的示意性框图;
图6是本发明实施例提供的一种微服务组合应用装置的请求解析单元的示意性框图;
图7是本发明实施例提供的一种微服务组合应用装置的部署单元的示意性框图;
图8是本发明实施例提供的一种微服务组合应用装置的第一处理单元的示意性框图;
图9是本发明实施例提供的一种计算机设备结构组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
请参阅图1,图1是本发明实施例提供的一种微服务组合应用方法的示意流程图。该方法可以运行在智能手机(如Android手机、IOS手机等)、平板电脑、笔记本电脑以及智能设备等终端中。如图1所示,该方法的步骤包括步骤S101~S103。
步骤S101,若接收到微服务组合请求,解析所述微服务组合请求以从预设数据库中调取与所述微服务组合请求相匹配的代码包,其中,所述预设数据库包括若干代码包。
在本实施例中,预设数据库通常包括预先设置的若干个代码包,此处的代码包为最细粒度的设计的代码包,每一个代码包均可以与一个应用程序接口相结合从而形成一个具有独立功能的单元或模块,该单元或模块能够完成一项服务,通常上述的一个单元或模块可以看成为一个微服务。但是为了能够使得应用系统在服务器上部署微服务时能够根据实际需求进行最为优化的设置,应用系统可以采用Spring Boot框架技术进行开发。
故在接收到微服务组合请求的时候,可以通过对该微服务组合请求进行分析,以便于从预先设置好的数据库中调取用户所需要的代码包,即调取与所述微服务组合请求相匹配的代码包。
通常,对于微服务组合请求可以是请求将多个代码包组合成一个微服务,也可以是分别将多个代码包组合成所需要的多个微服务,具体的在本申请中并不做限定。
在一实施例中,如图2所示,所述微服务组合请求包括数据调用指令以及目标标识信息,所述预设数据库中的每个代码包均对应地关联有不同的标识信息,所述步骤S101可以包括步骤S201~S203。
步骤S201,解析所述微服务组合请求,以获取相应的数据调用指令以及目标标识信息。
其中,由于微服务组合请求可以包括数据调用指令以及目标标识信息,故可以对微服务请求进行相应地解析,从而获取相应的数据调用指令和目标标识信息。所述数据调用指令用于从预设数据库中调取所需的代码包,而目标标识信息即为用户所需要的代码包所关联的标识信息,通过目标标识信息即可以从预先设置的数据库中调取到相应的代码包。通常,预设数据库中的每个代码包均是对应地关联有不同的标识信息的。
步骤S202,确定预设数据库中与目标标识信息相关联的代码包。
其中,由于不同的代码包关联有不同的标识信息,故可知通过目标标识信息可以确定预设数据库中与目标标识信息相关联的代码包,即此时可以确定与目标标识信息的代码包,以供用户进行调取组合。
步骤S203,根据所述数据调用指令调取所确定的代码包。
其中,由于数据调用指令适用于实现对代码包的调用的,故在确定了需要调用的代码包之后,则可以根据数据调用指令来调用所确定的代码包以进行后续的操作。
步骤S102,根据预设的应用程序构建工具将所调取的代码包进行组合以得到具有对应的应用程序接口的目标微服务。
在本实施例中,一般情况下,代码包需要与相应的应用程序接口相结合才能够构成具有独立功能的微服务,而且通过应用程序接口,也能够实现不同的微服务之间的数据信息的交换和传递。
通常,可以使用预先设置的应用程序构建工具将所调取的代码包进行组合。作为可选的,所述预设的应用程序构建工具为Maven的POM工程。例如,在Spring Boot框架技术下,可以通过Maven的POM工程来实现将各个代码包聚合为一个总的代码包,从而实现从代码包的角度构建微服务,以便于进行微服务的构建和维护,减少代码拆分过程中服务依赖和链式调用,确保微服务及其内部的独立性和完整性。
故,根据预设的应用程序构建工具将所调取的代码包进行组合后,能够得到具备完整性的具有对应的应用程序接口的目标微服务,该目标微服务可以完成指定的业务功能或业务需求,又易于被开发人员理解、修改和维护,能够有效地提高协作效率以及微服务的性能可控性。
步骤S103,根据预设规则将所述目标微服务部署至目标服务器。
在本实施例中,预设规则为预先设置的用于将所得到的目标微服务部署至目标服务器的规则,通常,通过将目标微服务在目标服务器上进行部署运行后,才能够实现应用系统的相关功能。
在一实施例中,如图3所示,所述步骤S103可以包括步骤S301~S303。
步骤S301,获取目标服务器的性能参数,所述性能参数至少包括内存占用率。
其中,为了使得应用系统的运行更为有效,需要获取目标服务器的性能参数,从而来确定目标微服务的具体部署情况。通常,所述性能参数至少包括内存占用率,当然,该性能参数还可以是CPU使用率、磁盘使用率等跟服务器性能相关的参数,在本实施例中并未做具体的限定。
步骤S302,判断所述内存占用率是否小于预设阀值。
其中,为了确定目标服务器的性能,需要设置一个预设阀值,通过预设阀值与内存占用率的比较分析,可以来进行进一步地处理。即若所述内存占用率小于预设阀值,则说明该目标服务器能够在配置完目标微服务后,依然可以保持较快的运行速度,此时能够有效提高应用系统的工作效率。而若,内存占用率大于或等于预设阀值时,说明该目标服务器可能没有足够的空间去配置目标微服务,此时需要进行进一步地处理。
步骤S303,若所述内存占用率小于预设阀值,将所述目标微服务部署至所述目标服务器。
其中,若所述内存占用率小于预设阀值,则说明目标微服务可以部署在目标服务器上,并能不影响整体效率的情况下,实现该目标微服务所能够实现的功能或效果。
在进一步的实施例中,如图4所示,所述步骤S303可以包括步骤S401~S403。
步骤S401,若所述目标微服务的数量为两个或两个以上,将所有的目标微服务均转换成对应的中间代码包。
其中,若所述内存占用率小于预设阀值,同时若所述目标微服务的数量为两个或两个以上,此时可知目标服务器能够实现对多个目标为服务器的部署,为了方便进行管理,此时可以将所有的目标微服务均转换为对应的中间代码包,以便实现对多个目标微服务的再次合并。
步骤S402,根据预设的应用程序构建工具将所有的中间代码包进行组合以得到具有对应的应用程序接口的组合微服务。
其中,可以根据预设的应用程序构建工具将所有的中间代码包进行组合从而得到具有对应的应用程序接口的组合微服务,其中的预设的应用程序构建工具也可以为Maven的POM工程。
步骤S403,将所述组合微服务部署至所述目标服务器。
其中,在完成多个目标微服务的组合并得到组合微服务后,可以将所得到的组合微服务直接部署至目标服务器上,从而使得包括该目标服务器的应用系统能够实现该组合微服务所具备的功能。
作为可选的,所述步骤S103还可以包括以下步骤:
步骤S304,若所述内存占用率大于或等于预设阀值,且所述目标微服务的数量为两个或两个以上,确定若干数量的预先设置的备用服务器,其中,所述备用服务器的数量与所述目标服务器的数量之和与目标微服务的数量相同。
其中,若所述内存占用率大于或等于预设阀值,且所述目标微服务的数量为两个或两个以上,则表示目标服务器在部署了全部的目标微服务后,可能会造成运行缓慢的问题,为实现微服务的均衡配置部署,此时可以从应用系统中确定若干数量的预先设置的备用服务器。在一般情况下,所述备用服务器的数量数量与目标服务器的数量之和是与目标微服务的数量是相同的。同时,目标服务器的数量通常是一个。故,此时备用服务器的数量是根据目标微服务的数量阿里进行确定的。
步骤S305,获取所有备用服务器的内存占用率,以根据内存占用率的大小对所有备用服务器进行排序以得到一中间序列。
其中,为了实现对备用服务器的有效分配,获取所有备用服务器的内存占用了,从而可以根据内存占用率的大小来对所有备用服务器进行排序,从而得到到一个中间序列,该中间序列即为对备用服务器的排序的序列。
步骤S306,将空间占用大小最大的目标微服务部署至目标服务器,并根据其余的目标微服务的空间占用大小依次将其对应地部署至按中间序列进行排序的备用服务器上,以使内存占用率最小的备用服务器对应部署其余的目标微服务中的空间占用大小最大的目标微服务。
其中,为了使得各个服务器实现均衡配置,可以将空间占用大小最大的目标微服务部署至目标服务器。其余的目标微服务可以根据其空间占用大小依次将其对应地部署至按中间序列进行排序的备用服务器上,从而使得内存占用率最小的备用服务器对应部署其余的目标微服务中的空间占用大小最大的目标微服务。
例如,应用系统以资产管理系统为例,在资产管理中,有对应收帐款进行管理的总的微服务,而每笔应收帐款有对应的一张或多张发票信息及发票影像文件、合同信息及合同影像文件、还有卖方企业和买方企业对应的信息以及对应的法人身份证影像等等。其中,应收帐款的发票信息、合同信息以及卖方企业和买方企业对应的信息可以通过一个独立的信息微服务进行管理。而发票影像文件、合同影像文件以及卖方企业和买方企业对应的法人身份证影像可以通过一个独立的影像管理微服务进行管理。若资产管理系统仅限内部员工使用时,即该资产管理系统的负载较低时,则可以将以上的信息微服务、影像管理微服务合并为一个总的微服务,即一个总的应用服务。如资产管理系统对外开放,外部企业用户的访问可能会是的资产管理系统的负载加重,则信息微服务、影像管理微服务可以单独部署在不同的服务器上,从而使得资产管理系统能提供最优的性能服务。
综上,本发明实施例由于通过对微服务的灵活拆分和组合,能够使得由微服务构建的分布式系统更加便于开发和运维,提高了相应的协作效率和使用性能。
本领域普通技术员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
请参阅图5,对应上述一种微服务组合应用方法,本发明实施例还提出一种微服务组合应用装置,该装置100包括:请求解析单元101、组合单元102以及部署单元103。
所述请求解析单元101,用于若接收到微服务组合请求,解析所述微服务组合请求以从预设数据库中调取与所述微服务组合请求相匹配的代码包,其中,所述预设数据库包括若干代码包。
在本实施例中,预设数据库通常包括预先设置的若干个代码包,此处的代码包为最细粒度的设计的代码包,每一个代码包均可以与一个应用程序接口相结合从而形成一个具有独立功能的单元或模块,该单元或模块能够完成一项服务,通常上述的一个单元或模块可以看成为一个微服务。但是为了能够使得应用系统在服务器上部署微服务时能够根据实际需求进行最为优化的设置,应用系统可以采用Spring Boot框架技术进行开发。
故在接收到微服务组合请求的时候,可以通过对该微服务组合请求进行分析,以便于从预先设置好的数据库中调取用户所需要的代码包,即调取与所述微服务组合请求相匹配的代码包。
通常,对于微服务组合请求可以是请求将多个代码包组合成一个微服务,也可以是分别将多个代码包组合成所需要的多个微服务,具体的在本申请中并不做限定。
在一实施例中,如图6所示,所述微服务组合请求包括数据调用指令以及目标标识信息,所述预设数据库中的每个代码包均对应地关联有不同的标识信息,所述请求解析单元101可以包括第一解析单元201、代码包确定单元202以及代码包调用单元203。
所述第一解析单元201,用于解析所述微服务组合请求,以获取相应的数据调用指令以及目标标识信息。
其中,由于微服务组合请求可以包括数据调用指令以及目标标识信息,故可以对微服务请求进行相应地解析,从而获取相应的数据调用指令和目标标识信息。所述数据调用指令用于从预设数据库中调取所需的代码包,而目标标识信息即为用户所需要的代码包所关联的标识信息,通过目标标识信息即可以从预先设置的数据库中调取到相应的代码包。通常,预设数据库中的每个代码包均是对应地关联有不同的标识信息的。
所述代码包确定单元202,用于确定预设数据库中与目标标识信息相关联的代码包。
其中,由于不同的代码包关联有不同的标识信息,故可知通过目标标识信息可以确定预设数据库中与目标标识信息相关联的代码包,即此时可以确定与目标标识信息的代码包,以供用户进行调取组合。
所述代码包调用单元203,用于根据所述数据调用指令调取所确定的代码包。
其中,由于数据调用指令适用于实现对代码包的调用的,故在确定了需要调用的代码包之后,则可以根据数据调用指令来调用所确定的代码包以进行后续的操作。
所述组合单元102,用于根据预设的应用程序构建工具将所调取的代码包进行组合以得到具有对应的应用程序接口的目标微服务。
在本实施例中,一般情况下,代码包需要与相应的应用程序接口相结合才能够构成具有独立功能的微服务,而且通过应用程序接口,也能够实现不同的微服务之间的数据信息的交换和传递。
通常,可以使用预先设置的应用程序构建工具将所调取的代码包进行组合。作为可选的,所述预设的应用程序构建工具为Maven的POM工程。例如,在Spring Boot框架技术下,可以通过Maven的POM工程来实现将各个代码包聚合为一个总的代码包,从而实现从代码包的角度构建微服务,以便于进行微服务的构建和维护,减少代码拆分过程中服务依赖和链式调用,确保微服务及其内部的独立性和完整性。
故,根据预设的应用程序构建工具将所调取的代码包进行组合后,能够得到具备完整性的具有对应的应用程序接口的目标微服务,该目标微服务可以完成指定的业务功能或业务需求,又易于被开发人员理解、修改和维护,能够有效地提高协作效率以及微服务的性能可控性。
所述部署单元103,用于根据预设规则将所述目标微服务部署至目标服务器。
在本实施例中,预设规则为预先设置的用于将所得到的目标微服务部署至目标服务器的规则,通常,通过将目标微服务在目标服务器上进行部署运行后,才能够实现应用系统的相关功能。
在一实施例中,如图7所示,所述部署单元103可以包括参数获取单元301、阀值判断单元302以及第一处理单元303。
所述参数获取单元301,用于获取目标服务器的性能参数,所述性能参数至少包括内存占用率。
其中,为了使得应用系统的运行更为有效,需要获取目标服务器的性能参数,从而来确定目标微服务的具体部署情况。通常,所述性能参数至少包括内存占用率,当然,该性能参数还可以是CPU使用率、磁盘使用率等跟服务器性能相关的参数,在本实施例中并未做具体的限定。
所述阀值判断单元302,用于判断所述内存占用率是否小于预设阀值。
其中,为了确定目标服务器的性能,需要设置一个预设阀值,通过预设阀值与内存占用率的比较分析,可以来进行进一步地处理。即若所述内存占用率小于预设阀值,则说明该目标服务器能够在配置完目标微服务后,依然可以保持较快的运行速度,此时能够有效提高应用系统的工作效率。而若,内存占用率大于或等于预设阀值时,说明该目标服务器可能没有足够的空间去配置目标微服务,此时需要进行进一步地处理。
所述第一处理单元303,用于若所述内存占用率小于预设阀值,将所述目标微服务部署至所述目标服务器。
其中,若所述内存占用率小于预设阀值,则说明目标微服务可以部署在目标服务器上,并能不影响整体效率的情况下,实现该目标微服务所能够实现的功能或效果。
在进一步的实施例中,如图8所示,所述第一处理单元303可以包括转换单元401、组合单元402以及第一调整单元403。
所述转换单元401,用于若所述目标微服务的数量为两个或两个以上,将所有的目标微服务均转换成对应的中间代码包。
其中,若所述内存占用率小于预设阀值,同时若所述目标微服务的数量为两个或两个以上,此时可知目标服务器能够实现对多个目标为服务器的部署,为了方便进行管理,此时可以将所有的目标微服务均转换为对应的中间代码包,以便实现对多个目标微服务的再次合并。
所述组合单元402,用于根据预设的应用程序构建工具将所有的中间代码包进行组合以得到具有对应的应用程序接口的组合微服务。
其中,可以根据预设的应用程序构建工具将所有的中间代码包进行组合从而得到具有对应的应用程序接口的组合微服务,其中的预设的应用程序构建工具也可以为Maven的POM工程。
所述第一调整单元403,用于将所述组合微服务部署至所述目标服务器。
其中,在完成多个目标微服务的组合并得到组合微服务后,可以将所得到的组合微服务直接部署至目标服务器上,从而使得包括该目标服务器的应用系统能够实现该组合微服务所具备的功能。
作为可选的,所述部署单元103还可以包括以下单元:
服务器确定单元304,用于若所述内存占用率大于或等于预设阀值,且所述目标微服务的数量为两个或两个以上,确定若干数量的预先设置的备用服务器,其中,所述备用服务器的数量与所述目标服务器的数量之和与目标微服务的数量相同。
其中,若所述内存占用率大于或等于预设阀值,且所述目标微服务的数量为两个或两个以上,则表示目标服务器在部署了全部的目标微服务后,可能会造成运行缓慢的问题,为实现微服务的均衡配置部署,此时可以从应用系统中确定若干数量的预先设置的备用服务器。在一般情况下,所述备用服务器的数量数量与目标服务器的数量之和是与目标微服务的数量是相同的。同时,目标服务器的数量通常是一个。故,此时备用服务器的数量是根据目标微服务的数量阿里进行确定的。
占用率获取单元305,用于获取所有备用服务器的内存占用率,以根据内存占用率的大小对所有备用服务器进行排序以得到一中间序列。
其中,为了实现对备用服务器的有效分配,获取所有备用服务器的内存占用了,从而可以根据内存占用率的大小来对所有备用服务器进行排序,从而得到到一个中间序列,该中间序列即为对备用服务器的排序的序列。
第二调整单元306,用于将空间占用大小最大的目标微服务部署至目标服务器,并根据其余的目标微服务的空间占用大小依次将其对应地部署至按中间序列进行排序的备用服务器上,以使内存占用率最小的备用服务器对应部署其余的目标微服务中的空间占用大小最大的目标微服务。
其中,为了使得各个服务器实现均衡配置,可以将空间占用大小最大的目标微服务部署至目标服务器。其余的目标微服务可以根据其空间占用大小依次将其对应地部署至按中间序列进行排序的备用服务器上,从而使得内存占用率最小的备用服务器对应部署其余的目标微服务中的空间占用大小最大的目标微服务。
例如,应用系统以资产管理系统为例,在资产管理中,有对应收帐款进行管理的总的微服务,而每笔应收帐款有对应的一张或多张发票信息及发票影像文件、合同信息及合同影像文件、还有卖方企业和买方企业对应的信息以及对应的法人身份证影像等等。其中,应收帐款的发票信息、合同信息以及卖方企业和买方企业对应的信息可以通过一个独立的信息微服务进行管理。而发票影像文件、合同影像文件以及卖方企业和买方企业对应的法人身份证影像可以通过一个独立的影像管理微服务进行管理。若资产管理系统仅限内部员工使用时,即该资产管理系统的负载较低时,则可以将以上的信息微服务、影像管理微服务合并为一个总的微服务,即一个总的应用服务。如资产管理系统对外开放,外部企业用户的访问可能会是的资产管理系统的负载加重,则信息微服务、影像管理微服务可以单独部署在不同的服务器上,从而使得资产管理系统能提供最优的性能服务。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述微服务组合应用装置100和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
由以上可见,在硬件实现上,以上请求解析单元101、组合单元102以及部署单元103等可以以硬件形式内嵌于或独立于微服务组合应用装置中,也可以以软件形式存储于微服务组合应用装置的存储器中,以便处理器调用执行以上各个单元对应的操作。该处理器可以为中央处理单元(CPU)、微处理器、单片机等。
上述微服务组合应用装置可以实现为一种计算机程序的形式,计算机程序可以在如图9所示的计算机设备上运行。
图9为本发明一种计算机设备的结构组成示意图。该设备可以是终端其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。参照图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器、内存储器504和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032,该计算机程序5032被执行时,可使得处理器502执行一种微服务组合应用方法。
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种微服务组合应用方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现上述微服务组合应用方法中的步骤。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,该计算机程序被处理器执行时使处理器执行上述微服务组合应用方法中的步骤。所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种微服务组合应用方法,其特征在于,所述方法包括:
若接收到微服务组合请求,解析所述微服务组合请求以从预设数据库中调取与所述微服务组合请求相匹配的代码包,其中,所述预设数据库包括若干代码包;
根据预设的应用程序构建工具将所调取的代码包进行组合以得到具有对应的应用程序接口的目标微服务;
根据预设规则将所述目标微服务部署至目标服务器。
2.如权利要求1所述的方法,其特征在于,所述微服务组合请求包括数据调用指令以及目标标识信息,所述预设数据库中的每个代码包均对应地关联有不同的标识信息,所述解析所述微服务组合请求以从预设数据库中调取与所述微服务组合请求相匹配的代码包的步骤,包括:
解析所述微服务组合请求,以获取相应的数据调用指令以及目标标识信息;
确定预设数据库中与目标标识信息相关联的代码包;
根据所述数据调用指令调取所确定的代码包。
3.如权利要求1所述的方法,其特征在于,所述预设的应用程序构建工具为Maven的POM工程。
4.如权利要求1所述的方法,其特征在于,所述根据预设规则将所述目标微服务部署至目标服务器的步骤,包括:
获取目标服务器的性能参数,所述性能参数至少包括内存占用率;
判断所述内存占用率是否小于预设阀值;
若所述内存占用率小于预设阀值,将所述目标微服务部署至所述目标服务器。
5.如权利要求4所述的方法,其特征在于,所述将所述目标微服务部署至所述目标服务器的步骤,包括:
若所述目标微服务的数量为两个或两个以上,将所有的目标微服务均转换成对应的中间代码包;
根据预设的应用程序构建工具将所有的中间代码包进行组合以得到具有对应的应用程序接口的组合微服务;
将所述组合微服务部署至所述目标服务器。
6.如权利要求4所述的方法,其特征在于,所述方法还包括:
若所述内存占用率大于或等于预设阀值,且所述目标微服务的数量为两个或两个以上,确定若干数量的预先设置的备用服务器,其中,所述备用服务器的数量与所述目标服务器的数量之和与目标微服务的数量相同。
获取所有备用服务器的内存占用率,以根据内存占用率的大小对所有备用服务器进行排序以得到一中间序列;
将空间占用大小最大的目标微服务部署至目标服务器,并根据其余的目标微服务的空间占用大小依次将其对应地部署至按中间序列进行排序的备用服务器上,以使内存占用率最小的备用服务器对应部署其余的目标微服务中的空间占用大小最大的目标微服务。
7.一种微服务组合应用装置,其特征在于,所述装置包括:
请求解析单元,用于若接收到微服务组合请求,解析所述微服务组合请求以从预设数据库中调取与所述微服务组合请求相匹配的代码包,其中,所述预设数据库包括若干代码包;
组合单元,用于根据预设的应用程序构建工具将所调取的代码包进行组合以得到具有对应的应用程序接口的目标微服务;
部署单元,用于根据预设规则将所述目标微服务部署至目标服务器。
8.如权利要求7所述的装置,其特征在于,所述微服务组合请求包括数据调用指令以及目标标识信息,所述预设数据库中的每个代码包均对应地关联有不同的标识信息,所述请求解析单元,包括:
第一解析单元,用于解析所述微服务组合请求,以获取相应的数据调用指令以及目标标识信息;
代码包确定单元,用于确定预设数据库中与目标标识信息相关联的代码包;
代码包调用单元,用于根据所述数据调用指令调取所确定的代码包。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1-6中任一项所述方法的步骤。
CN201911368142.2A 2019-12-26 2019-12-26 微服务组合应用方法、装置、计算机设备及存储介质 Pending CN111061463A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911368142.2A CN111061463A (zh) 2019-12-26 2019-12-26 微服务组合应用方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911368142.2A CN111061463A (zh) 2019-12-26 2019-12-26 微服务组合应用方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN111061463A true CN111061463A (zh) 2020-04-24

Family

ID=70304006

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911368142.2A Pending CN111061463A (zh) 2019-12-26 2019-12-26 微服务组合应用方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111061463A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581576A (zh) * 2020-05-08 2020-08-25 湖南蚁坊软件股份有限公司 基于微服务的开发处理方法、装置及存储介质
CN111638972A (zh) * 2020-05-07 2020-09-08 北京仁科互动网络技术有限公司 基于微服务的请求响应方法、系统、设备及存储介质
CN111796834A (zh) * 2020-06-30 2020-10-20 福信富通科技股份有限公司 一种可组合的微服务开发框架的部署方法、装置及设备
CN111897539A (zh) * 2020-07-20 2020-11-06 国云科技股份有限公司 一种根据服务角色的进行应用部署的方法及装置
CN112068812A (zh) * 2020-09-02 2020-12-11 数字广东网络建设有限公司 一种微服务生成方法、装置、计算机设备和存储介质
CN112817565A (zh) * 2021-01-20 2021-05-18 中国银联股份有限公司 微服务组合方法、装置、设备及存储介质
CN113282401A (zh) * 2021-07-21 2021-08-20 之江实验室 一种面向物联网异构物体多形态的可重构服务模型
CN113760301A (zh) * 2020-12-30 2021-12-07 京东数科海益信息科技有限公司 一种微服务应用部署方法、装置、设备及存储介质
CN113934476A (zh) * 2021-10-15 2022-01-14 中电金信软件有限公司 逻辑调用方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019152021A1 (en) * 2018-01-31 2019-08-08 Hewlett-Packard Development Company, L.P. Monitoring web applications including microservices
CN110221920A (zh) * 2019-06-04 2019-09-10 合肥讯飞数码科技有限公司 部署方法、装置、存储介质及系统
US20190320038A1 (en) * 2018-04-12 2019-10-17 Pearson Management Services Limited Systems and methods for stacked-microservice based content provisioning
CN110502215A (zh) * 2019-07-15 2019-11-26 苏州浪潮智能科技有限公司 一种微服务程序的构建方法、设备以及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019152021A1 (en) * 2018-01-31 2019-08-08 Hewlett-Packard Development Company, L.P. Monitoring web applications including microservices
US20190320038A1 (en) * 2018-04-12 2019-10-17 Pearson Management Services Limited Systems and methods for stacked-microservice based content provisioning
CN110221920A (zh) * 2019-06-04 2019-09-10 合肥讯飞数码科技有限公司 部署方法、装置、存储介质及系统
CN110502215A (zh) * 2019-07-15 2019-11-26 苏州浪潮智能科技有限公司 一种微服务程序的构建方法、设备以及存储介质

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111638972A (zh) * 2020-05-07 2020-09-08 北京仁科互动网络技术有限公司 基于微服务的请求响应方法、系统、设备及存储介质
CN111638972B (zh) * 2020-05-07 2023-09-01 北京仁科互动网络技术有限公司 基于微服务的请求响应方法、系统、设备及存储介质
CN111581576A (zh) * 2020-05-08 2020-08-25 湖南蚁坊软件股份有限公司 基于微服务的开发处理方法、装置及存储介质
CN111581576B (zh) * 2020-05-08 2024-04-02 湖南蚁坊软件股份有限公司 基于微服务的开发处理方法、装置及存储介质
CN111796834B (zh) * 2020-06-30 2022-10-14 福信富通科技股份有限公司 一种可组合的微服务开发框架的部署方法、装置及设备
CN111796834A (zh) * 2020-06-30 2020-10-20 福信富通科技股份有限公司 一种可组合的微服务开发框架的部署方法、装置及设备
CN111897539A (zh) * 2020-07-20 2020-11-06 国云科技股份有限公司 一种根据服务角色的进行应用部署的方法及装置
CN111897539B (zh) * 2020-07-20 2024-03-29 国云科技股份有限公司 一种根据服务角色的进行应用部署的方法及装置
CN112068812A (zh) * 2020-09-02 2020-12-11 数字广东网络建设有限公司 一种微服务生成方法、装置、计算机设备和存储介质
CN112068812B (zh) * 2020-09-02 2024-04-02 数字广东网络建设有限公司 一种微服务生成方法、装置、计算机设备和存储介质
CN113760301A (zh) * 2020-12-30 2021-12-07 京东数科海益信息科技有限公司 一种微服务应用部署方法、装置、设备及存储介质
CN113760301B (zh) * 2020-12-30 2024-05-17 京东科技信息技术有限公司 一种微服务应用部署方法、装置、设备及存储介质
CN112817565A (zh) * 2021-01-20 2021-05-18 中国银联股份有限公司 微服务组合方法、装置、设备及存储介质
CN113282401A (zh) * 2021-07-21 2021-08-20 之江实验室 一种面向物联网异构物体多形态的可重构服务模型
CN113934476B (zh) * 2021-10-15 2022-08-19 中电金信软件有限公司 逻辑调用方法、装置及电子设备
CN113934476A (zh) * 2021-10-15 2022-01-14 中电金信软件有限公司 逻辑调用方法、装置及电子设备

Similar Documents

Publication Publication Date Title
CN111061463A (zh) 微服务组合应用方法、装置、计算机设备及存储介质
EP3637733B1 (en) Load balancing engine, client, distributed computing system, and load balancing method
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
US10587681B2 (en) Deployment of multi-task analytics applications in multi-clouds
US9491313B2 (en) Optimizing storage between mobile devices and cloud storage providers
US9244735B2 (en) Managing resource allocation or configuration parameters of a model building component to build analytic models to increase the utility of data analysis applications
US10833955B2 (en) Dynamic delivery of software functions
US8606905B1 (en) Automated determination of system scalability and scalability constraint factors
CN110413673B (zh) 数据库数据统一采集与分发方法及系统
US10782949B2 (en) Risk aware application placement modeling and optimization in high turnover DevOps environments
CN110389903B (zh) 测试环境部署方法和装置、电子设备和可读存储介质
US11809424B2 (en) Auto-scaling a query engine for enterprise-level big data workloads
CN112583615B (zh) Vnf实例化方法、nfvo、vim、vnfm及系统
CN110737425B (zh) 一种计费平台系统的应用程序的建立方法及装置
US10623295B2 (en) Infrastructure testing
CN110750359A (zh) 硬件资源配置方法、装置、云侧设备和存储介质
EP3398304B1 (en) Network service requests
CN113052696A (zh) 金融业务任务处理方法、装置、计算机设备和存储介质
CN111273939B (zh) 信息处理方法、信息处理装置及终端设备
CN114564249A (zh) 推荐调度引擎、推荐调度方法及计算机可读存储介质
US9424120B1 (en) Prioritizing first failure data capture (FFDC) data for analysis
CN110765426A (zh) 设备权限设置方法、装置、设备以及计算机存储介质
CN111061518B (zh) 基于驱动节点的数据处理方法、系统、终端设备和存储介质
US11556425B2 (en) Failover management for batch jobs
US20230401087A1 (en) Method and system for automated migration of high performance computing application to serverless platform

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