CN113504956B - 微服务平台下公共功能的调用方法、装置、设备及介质 - Google Patents
微服务平台下公共功能的调用方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113504956B CN113504956B CN202110811942.8A CN202110811942A CN113504956B CN 113504956 B CN113504956 B CN 113504956B CN 202110811942 A CN202110811942 A CN 202110811942A CN 113504956 B CN113504956 B CN 113504956B
- Authority
- CN
- China
- Prior art keywords
- service
- module
- public function
- function
- public
- 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
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000012545 processing Methods 0.000 claims abstract description 33
- 230000006870 function Effects 0.000 claims description 260
- 230000008569 process Effects 0.000 claims description 29
- 238000013468 resource allocation Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 230000009471 action Effects 0.000 claims description 9
- 238000013523 data management Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 5
- 238000011161 development Methods 0.000 abstract description 12
- 230000018109 developmental process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000033772 system development Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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/451—Execution arrangements for user interfaces
-
- 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)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种微服务平台下公共功能的调用方法、装置、电子设备及计算机可读存储介质,该方法包括:按照预设的插件模版创建出用于实现指定公共功能的公共功能插件;公共功能插件包括公共功能业务逻辑模块和钩子接口模块;在需要调用指定公共功能的目标业务模块中配置与公共功能插件的调用关系;在目标业务模块中创建与钩子接口模块对应的钩子方法实现模块,以便公共功能插件在被目标业务模块调用时,通过钩子接口模块获取目标业务模块提供的业务数据,并在业务数据由公共功能业务逻辑模块运行后,通过钩子接口模块向目标业务模块返回处理结果。本申请既解耦了业务功能与公共功能,也有效降低了系统开发工作复杂度,提高了系统的健壮性。
Description
技术领域
本申请涉及数据平台开发技术领域,特别涉及一种微服务平台下公共功能的调用方法、装置、电子设备及计算机可读存储介质。
背景技术
在云计算时代,越来越多的业务都从原来的物理服务器迁移到了云平台,云平台的业务也越来越复杂,涉及的模块也越来越多,按照平台分为虚拟化平台、AI平台、大数据平台,按照业务可分为计算、存储、网络,这些在微服务架构中都对应着一个个的业务模块。
而在业务运行中有些基础功能是公共的,比如获取各个资源的配额信息、统计各个资源的数量及使用情况、对各个资源统一增删等,这些一般在用户界面上是统一的一个按钮,而其后台的实现逻辑却必须要下放到各个工程中。而现有技术中的实现方法在开发和维护过程中往往较为复杂繁琐,工作量较大,降低了工作效率。鉴于此,提供一种解决上述技术问题的方案,已经是本领域技术人员所亟需关注的。
发明内容
本申请的目的在于提供一种微服务平台下公共功能的调用方法、装置、电子设备及计算机可读存储介质,以便有效降低系统开发和维护过程中的工作复杂度,提高系统的健壮性和可维护性。
为解决上述技术问题,一方面,本申请公开了一种微服务平台下公共功能的调用方法,所述微服务平台中设置有多个业务模块;所述公共功能为各所述业务模块在执行对应种类业务功能过程中所通用的子业务功能;该方法包括:
按照预设的插件模板创建出用于实现指定公共功能的公共功能插件;所述公共功能插件包括公共功能业务逻辑模块和钩子接口模块;
在需要调用所述指定公共功能的目标业务模块中配置与所述公共功能插件的调用关系;
在所述目标业务模块中创建与所述钩子接口模块对应的钩子方法实现模块,以便所述目标业务模块调用与需要实现的子业务功能对应的公共功能插件时,所述公共功能插件通过所述钩子接口模块获取所述目标业务模块提供的业务数据,并在所述业务数据由所述公共功能业务逻辑模块运行后,通过所述钩子接口模块向所述目标业务模块返回处理结果。
可选地,当所述目标业务模块需要提供接口供用户界面调用时,所述方法还包括:
在所述公共功能插件中创建公共接口模块,所述公共接口模块通过所述钩子接口模块与所述目标业务模块传输数据,以便所述目标业务模块实现对用户界面的接口提供。
可选地,在所述业务数据由所述公共功能业务逻辑模块运行过程中,还包括:
所述公共功能业务逻辑模块基于所述钩子接口模块获取所述目标业务模块的特殊业务处理逻辑,以参与运行所述业务数据;
其中,所述特殊业务处理逻辑是所述目标业务模块在执行对应种类业务过程中所独有的子业务功能的业务处理逻辑。
可选地,在所述业务数据由所述公共功能业务逻辑模块运行过程中,还包括:
所述公共功能业务逻辑模块基于所述钩子接口模块实现与所述目标业务模块在预设操作前后的预设触发动作,以完成所述指定公共功能。
可选地,所述通过所述钩子接口模块向所述目标业务模块返回处理结果,包括:
通过所述钩子接口模块向所述目标业务模块返回预设统一格式的所述处理结果。
可选地,在所述公共功能插件被所述目标业务模块调用之前,还包括:
所述目标业务模块接收来自目标工程的消息;
基于所述消息所指定的待执行业务确定需要实现的子业务功能;
基于所述子业务功能调用对应的公共功能插件。
可选地,所述微服务平台中的业务模块的种类包括:
计算模块、网络模块、存储模块;
所述微服务平台中的公共功能包括:
用户数据管理功能、云资源分配功能、有效性验证功能。
又一方面,本申请还公开了一种微服务平台下公共功能的调用装置,所述微服务平台中设置有多个业务模块;所述公共功能为各所述业务模块在执行对应种类业务功能过程中所通用的子业务功能;该装置包括:
创建单元,用于按照预设的插件模板创建出用于实现指定公共功能的公共功能插件;所述公共功能插件包括公共功能业务逻辑模块和钩子接口模块;
配置单元,用于在需要调用所述指定公共功能的目标业务模块中配置与所述公共功能插件的调用关系;
连接单元,用于在所述目标业务模块中创建与所述钩子接口模块对应的钩子方法实现模块,以便所述目标业务模块调用与需要实现的子业务功能对应的公共功能插件时,所述公共功能插件通过所述钩子接口模块获取所述目标业务模块提供的业务数据,并在所述业务数据由所述公共功能业务逻辑模块运行后,通过所述钩子接口模块向所述目标业务模块返回处理结果。
可选地,当所述目标业务模块需要提供接口供用户界面调用时,所述创建单元还用于:
在所述公共功能插件中创建公共接口模块,所述公共接口模块通过所述钩子接口模块与所述目标业务模块传输数据,以便所述目标业务模块实现对用户界面的接口提供。
可选地,所述公共功能业务逻辑模块还用于:
基于所述钩子接口模块获取所述目标业务模块的特殊业务处理逻辑,以参与运行所述业务数据;
其中,所述特殊业务处理逻辑是所述目标业务模块在执行对应种类业务过程中所独有的子业务功能的业务处理逻辑。
可选地,所述公共功能业务逻辑模块还用于:
基于所述钩子接口模块实现与所述目标业务模块在预设操作前后的预设,以完成所述指定公共功能。
可选地,钩子接口模块具体用于:
通过所述钩子接口模块向所述目标业务模块返回预设统一格式的所述处理结果。
可选地,目标业务模块还用于:
所述目标业务模块接收来自目标工程的消息;基于所述消息所指定的待执行业务确定需要实现的子业务功能;基于所述子业务功能调用对应的公共功能插件。
可选地,所述微服务平台中的业务模块的种类包括:
计算模块、网络模块、存储模块;
所述微服务平台中的公共功能包括:
用户数据管理功能、云资源分配功能、有效性验证功能。
又一方面,本申请还公开了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上所述的任一种微服务平台下公共功能的调用方法的步骤。
又一方面,本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种微服务平台下公共功能的调用方法的步骤。
本申请所提供的微服务平台下公共功能的调用方法、装置、电子设备及计算机可读存储介质所具有的有益效果是:本申请通过将公共功能的业务逻辑剥离出来以摸板形式创建为插件,由各业务模块基于该插件中对应的钩子接口来实现公共功能,既解耦了业务功能与公共功能,也有效降低了系统开发和维护过程中的工作复杂度,提高了系统的健壮性和可维护性。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为现有技术中的一种微服务平台下公共功能的调用方法的示意图;
图2为本申请实施例公开的一种微服务平台下公共功能的调用方法的流程图;
图3为本申请实施例公开的又一种微服务平台下公共功能的调用方法的示意图;
图4为本申请实施例公开的一种微服务平台下公共功能的调用装置的结构框图;
图5为本申请实施例公开的一种电子设备的结构框图。
具体实施方式
本申请的核心在于提供一种微服务平台下公共功能的调用方法、装置、电子设备及计算机可读存储介质,以便有效降低系统开发和维护过程中的工作复杂度,提高系统的健壮性和可维护性。
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在云计算时代,越来越多的业务都从原来的物理服务器迁移到了云平台,云平台的业务也越来越复杂,涉及的模块也越来越多,按照平台分为虚拟化平台、AI平台、大数据平台,按照业务可分为计算、存储、网络,这些在微服务架构中都对应着一个个的业务模块。
而在业务运行中有些基础功能是公共的,比如获取各个资源的配额信息、统计各个资源的数量及使用情况、对各个资源统一增删等,这些一般在用户界面上是统一的一个按钮,而其后台的实现逻辑却必须要下放到各个工程中。
相关技术中的常见做法是新建一个统一调度的工程即common,在执行某个功能时,将消息发送给业务模块,具体的功能实现逻辑在各个业务模块内,具体可参见图1。
这种方式会将很大一部分的业务功能放到各个业务模块中,而由于各个模块的开发人员不同,同一种用途的业务逻辑在实现方式上可能差别很大,导致系统健壮性很差。再者,相同的业务逻辑需要在各个工程内分别维护,一旦公共功能需求有变动,就要变动所有的工程代码,工作量巨大,可维护较差。鉴于此,本申请提供了一种微服务平台下公共功能的调用方案,可有效解决上述问题。
参见图2所示,本申请实施例公开了一种微服务平台下公共功能的调用方法,该微服务平台中设置有多个业务模块,公共功能为各业务模块在执行对应种类业务功能过程中所通用的子业务功能;该方法主要包括:
S101:按照预设的插件模版创建出用于实现指定公共功能的公共功能插件;公共功能插件包括公共功能业务逻辑模块和钩子接口模块。
具体地,对需要实现的某一指定公共功能进行分析,设计出对应的一个模板插件类,并在该模板插件类中定义出对应的公共功能业务逻辑模块和钩子接口模块。钩子接口模块中定义有与业务模块相对应的接口。
S102:在需要调用指定公共功能的目标业务模块中配置与公共功能插件的调用关系。
S103:在目标业务模块中创建与钩子接口模块对应的钩子方法实现模块,以便目标业务模块调用与需要实现的子业务功能对应的公共功能插件时,公共功能插件通过钩子接口模块获取目标业务模块提供的业务数据,并在业务数据由公共功能业务逻辑模块运行后,通过钩子接口模块向目标业务模块返回处理结果。
具体地,本申请所提供的调用方法具体应用在微服务平台中。微服务平台采用的是微服务架构,微服务架构是一种系统工程的架构形式,与单体架构对立。单体架构是把所有的功能、模块都放到一个工程里面,而微服务架构是把一个工程分成好多个小的工程,每一个工程负责单个功能。
而为了解决在微服务平台下对公共功能的调用实现时,需要强调的是,本申请具体基于模板的开发思想,将公共功能的代码剥离出来,形成了模板插件。其中,公共功能插件中具体包括公共功能业务逻辑模块和钩子接口模块,顾名思义,公共功能业务逻辑模块是用于实现对应公共功能的逻辑代码。
各个业务模块配置了与该插件的依赖调用关系后,便可以调用该插件,使用该插件的功能。并且,业务模块中创建有钩子方法实现模块,基于该钩子方法实现模块,业务模块可以实现与钩子接口模块对应的钩子方法,从而可以按照预设的方法与公共功能插件传输预设统一格式的数据。由此,各个业务模块便可通过调用该公共功能插件而完成对应的公共功能。如此,在实际应用中,当创建了统一调度的工程后,在执行某个功能时,工程发送消息给业务模块,各业务模块按需调用对应的公共功能插件即可。
各个业务模块只需按照规范实现本模块的业务,并在需要时调用对应的公共功能模板插件,所以并不需要关心公共功能本身的实现,令公共功能和业务功能得到了解耦,有效提高系统的可维护性和健壮性。
并且,本申请基于模板的开发思想将各公共功能创建为插件模板,令各公共功能的整体业务框架能够得到统一的维护,减少了各个业务模块开发人员的工作量。如果新增加了一个工程同样需要支持调用这些公共功能,仅需要建立依赖调用关系,然后按照本工程的业务逻辑来实现插件中的接口即可。而当公共功能的需求变更时,除大变动以外,小的变动基本不需要业务模块进行变更,只需要变更公共功能插件内的相关业务逻辑就可以了。
下面,将结合具体应用场景对本申请所保护技术方案进行介绍。
具体地,微服务平台所面向的用户一般为企\事业单位,基于强大的服务器集群和高效的集群管理系统,微服务平台可满足这些用户的使用需求,例如,运行一种APP,或者运行一套网站系统等等。
由于各个企、事业单位的业务量不同,对微服务平台中的软硬件资源的使用需求不同,因此,微服务平台的开发人员需要根据各用户的需求情况而为其合理分配所允许使用的资源,包括网络资源(如网口数量和端口号、网络带宽等)、计算资源(如处理器核数、内存大小等)、存储资源(如存储空间大小)。一般地,各项资源的分配都建立在微服务平台中为用户创建的虚拟机环境中。
因此,在一个应用场景中,微服务平台的开发者可预先创建一个负责“云资源分配”这一子业务功能的公共功能插件,具体用于对虚拟机(微服务云平台中的云资源)进行管理与分配。当开发者为一个新用户分配各项硬件资源时,可通过创建一个目标工程下达关于各项资源分配参数的指令,目标工程分别向计算模块、存储模块、网络模块发送消息,以便告知需要为该新用户分配多少对应的资源。计算模块、存储模块、网络模块在执行资源分配过程中,便可调用负责“云资源分配”的公共功能插件,以便获悉该新用户对应的虚拟机相关信息,包括虚拟机ID等,然后便可在该虚拟机环境中分配对应的硬件资源。
此外,由于微服务平台是向各用户提供开放性开发的服务器集群,即,微服务平台的各用户——各企\事业单位可以由本单位的某些开发人员根据本单位业务需求而编写代码进行APP、网站系统等的功能开发。因此,微服务平台的开发人员需要向各各企\事业单位的开发人员提供在微服务平台中的开发权限,并且,在进行硬件资源分配时,要分部门分个人地为各企\事业单位的开发人员分配资源限额。
因此,在又一个应用场景中,微服务平台的开发者可预先创建一个负责“用户数据管理功能”这一子业务功能的公共功能插件,具体用于对各用户即各企\事业单位中拥有微服务云平台开发权限的人员进行管理,以便在用户出现人员离职或者职位调动后及时地进行数据更新。相应地,之前为企\事业单位中这些离职或调动的开发人员所分配的资源需要调整。如此,微服务平台的开发者可通过创建一个目标工程下达关于更新对该企/事业单位中开发人员资源分配的指令,目标工程分别向计算模块、存储模块、网络模块发送对应的消息,计算模块、存储模块、网络模块在执行更新资源分配过程中,便调用负责“用户数据管理功能”的公共功能插件,获悉该企/事业单位更新后的开发人员名单,以完成后续工作。
在又一个应用场景中,由于各项资源的分配和使用等情况均需要实时记录以便于微服务平台的开发人员随时掌握情况,因此,微服务平台的开发者可预先创建一个负责“日志记录”这一子业务功能的公共功能插件,具体用于将资源分配等过程以日志的形式记录下来。当微服务平台的开发者通过目标工程令各业务模块进行资源分配后,最后一个子业务功能具体可以是日志记录,如此,各业务模块将分别调用与日志记录这一子业务功能对应的公共功能插件,将资源的分配情况均记录到日志中。
总之,随着微服务云平台中用户的增加、用户行业种类的增加,微服务云平台中需要为各行各业用户提供的功能服务也越来越多,同时,在对用户分类管理、拓展商务合作项目、加强销售推广等方面,微服务平台也会有更多新功能的需求,因此微服务平台的功能开发频次相当高。而本申请中,开发人员可根据微服务平台中的实际需要而灵活设置各种不同的业务模块、多种不同的公共功能模块,很好地适应了微服务平台的多体架构。可见,本申请所提供的微服务平台下公共功能的调用方法,通过将公共功能的业务逻辑剥离出来以模板形式创建为插件,由各业务模块基于该插件中对应的钩子接口来实现公共功能,既解耦了业务功能与公共功能,也有效降低了系统开发和维护过程中的工作复杂度,提高了系统的健壮性和可维护性。
作为一种具体实施例,本申请实施例所提供的微服务平台下公共功能的调用方法在上述内容的基础上,当目标业务模块需要提供接口供用户界面调用时,方法还包括:
在公共功能插件中创建公共接口模块,公共接口模块通过钩子接口模块与目标业务模块传输数据,以便目标业务模块实现对用户界面的接口提供。
具体地,对照参见图3所示的示意图,本实施例中,公共功能插件具体包括有公共接口模块、公共功能业务逻辑模块、和钩子接口模块这三个模块。在公共功能插件中定义了为用户界面(User Interface,UI)提供的公共接口之后,业务模块建立了与该公共功能模块的依赖调用关系之后,便可以通过实现插件中的钩子方法,借助该插件实现对外提供公共接口。
作为一种具体实施例,本申请实施例所提供的微服务平台下公共功能的调用方法在上述内容的基础上,在业务数据由公共功能业务逻辑模块运行过程中,还包括:
公共功能业务逻辑模块基于钩子接口模块获取目标业务模块的特殊业务处理逻辑,以参与运行业务数据;其中,特殊业务处理逻辑是目标业务模块在执行对应种类业务过程中所独有的子业务功能的业务处理逻辑。
具体地,某些指定公共功能的实现可能还需要业务模块内特殊的业务处理逻辑,为此,业务模块通过实现钩子方法除了可以为公共功能插件提供业务数据以外,还可以提供本模块的特殊业务处理逻辑。
作为一种具体实施例,本申请实施例所提供的微服务平台下公共功能的调用方法在上述内容的基础上,在业务数据由公共功能业务逻辑模块运行过程中,还包括:
公共功能业务逻辑模块基于钩子接口模块实现与目标业务模块在预设操作前后的预设触发动作,以完成指定公共功能。
具体地,对于某些公共功能插件,可以按需在钩子接口模块中定义一些预设操作前后的动作接口。
作为一种具体实施例,本申请实施例所提供的微服务平台下公共功能的调用方法在上述内容的基础上,通过钩子接口模块向目标业务模块返回处理结果,包括:
通过钩子接口模块向目标业务模块返回预设统一格式的处理结果。
通过设置处理结果的数据统一格式,可方便各个业务模块进行数据存储和管理。当然,本领域技术人员可自行设计预设统一格式的具体格式内容,本申请对此并不进行限定。
作为一种具体实施例,本申请实施例所提供的微服务平台下公共功能的调用方法在上述内容的基础上,在公共功能插件被目标业务模块调用之前,还包括:
目标业务模块接收来自目标工程的消息;
基于消息所指定的待执行业务确定需要实现的子业务功能;
基于子业务功能调用对应的公共功能插件。
具体地,微服务平台的开发人员可根据需要而建立用于统一调度的工程,工程通过消息向业务模块传递信息。如此,根据需要,目标工程可向目标业务模块指定本次所需要实现的待执行业务,进而分割为若干子业务功能。针对该目标业务模块可自行处理的子业务功能,该目标业务模块将自行处理;针对是公共功能的子业务模块,该目标业务模块将调用对应的公共功能插件。
作为一种具体实施例,本申请实施例所提供的微服务平台下公共功能的调用方法在上述内容的基础上,微服务平台中的业务模块的种类包括:
计算模块、网络模块、存储模块;
微服务平台中的公共功能包括:
用户数据管理功能、云资源分配功能、有效性验证功能。
参见图4所示,本申请实施例公开了一种微服务平台下公共功能的调用装置,微服务平台中设置有多个业务模块;公共功能为各业务模块在执行对应种类业务功能过程中所通用的子业务功能;该装置主要包括:
创建单元201,用于按照预设的插件模板创建出用于实现指定公共功能的公共功能插件;公共功能插件包括公共功能业务逻辑模块和钩子接口模块;
配置单元202,用于在需要调用指定公共功能的目标业务模块中配置与公共功能插件的调用关系;
连接单元203,用于在目标业务模块中创建与钩子接口模块对应的钩子方法实现模块,以便目标业务模块调用与需要实现的子业务功能对应的公共功能插件时,公共功能插件通过钩子接口模块获取目标业务模块提供的业务数据,并在业务数据由公共功能业务逻辑模块运行后,通过钩子接口模块向目标业务模块返回处理结果。
可见,本申请实施例所公开的微服务平台下公共功能的调用装置,通过将公共功能的业务逻辑剥离出来以摸板形式创建为插件,由各业务模块基于该插件中对应的钩子接口来实现公共功能,既解耦了业务功能与公共功能,也有效降低了系统开发和维护过程中的工作复杂度,提高了系统的健壮性和可维护性。
关于上述微服务平台下公共功能的调用装置的具体内容,可参考前述关于微服务平台下公共功能的调用方法的详细介绍,这里就不再赘述。
作为一种具体实施例,本申请实施例所公开的微服务平台下公共功能的调用装置在上述内容的基础上,当目标业务模块需要提供接口供用户界面调用时,创建单元201还用于:
在公共功能插件中创建公共接口模块,公共接口模块通过钩子接口模块与目标业务模块传输数据,以便目标业务模块实现对用户界面的接口提供。
作为一种具体实施例,本申请实施例所公开的微服务平台下公共功能的调用装置在上述内容的基础上,公共功能业务逻辑模块还用于:
基于钩子接口模块获取目标业务模块的特殊业务处理逻辑,以参与运行业务数据;其中,特殊业务处理逻辑是目标业务模块在执行对应种类业务过程中所独有的子业务功能的业务处理逻辑。
作为一种具体实施例,本申请实施例所公开的微服务平台下公共功能的调用装置在上述内容的基础上,公共功能业务逻辑模块还用于:
基于钩子接口模块实现与目标业务模块在预设操作前后的预设预设触发动作,以完成指定公共功能。
作为一种具体实施例,本申请实施例所提供的微服务平台下公共功能的调用方法在上述内容的基础上,钩子接口模块具体用于:
通过钩子接口模块向目标业务模块返回预设统一格式的处理结果。
作为一种具体实施例,本申请实施例所提供的微服务平台下公共功能的调用方法在上述内容的基础上,目标业务模块还用于:
目标业务模块接收来自目标工程的消息;基于消息所指定的待执行业务确定需要实现的子业务功能;基于子业务功能调用对应的公共功能插件。
作为一种具体实施例,本申请实施例所提供的微服务平台下公共功能的调用方法在上述内容的基础上,微服务平台中的业务模块的种类包括:
计算模块、网络模块、存储模块;
微服务平台中的公共功能包括:
用户数据管理功能、云资源分配功能、有效性验证功能。
参见图5所示,本申请实施例公开了一种电子设备,包括:
存储器301,用于存储计算机程序;
处理器302,用于执行所述计算机程序以实现如上所述的任一种微服务平台下公共功能的调用方法的步骤。
进一步地,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如上所述的任一种微服务平台下公共功能的调用方法的步骤。
关于上述电子设备和计算机可读存储介质的具体内容,可参考前述关于微服务平台下公共功能的调用方法的详细介绍,这里就不再赘述。
本申请中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的设备而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需说明的是,在本申请文件中,诸如“第一”和“第二”之类的关系术语,仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。此外,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。
Claims (9)
1.一种微服务平台下公共功能的调用方法,其特征在于,所述微服务平台中设置有多个业务模块;所述公共功能为各所述业务模块在执行对应种类业务功能过程中所通用的子业务功能;所述方法包括:
按照预设的插件模版创建出用于实现指定公共功能的公共功能插件;所述公共功能插件包括公共功能业务逻辑模块和钩子接口模块;
在需要调用所述指定公共功能的目标业务模块中配置与所述公共功能插件的调用关系;
在所述目标业务模块中创建与所述钩子接口模块对应的钩子方法实现模块,以便所述目标业务模块调用与需要实现的子业务功能对应的公共功能插件时,所述公共功能插件通过所述钩子接口模块获取所述目标业务模块提供的业务数据,并在所述业务数据由所述公共功能业务逻辑模块运行后,通过所述钩子接口模块向所述目标业务模块返回处理结果;
在所述业务数据由所述公共功能业务逻辑模块运行过程中,还包括:
所述公共功能业务逻辑模块基于所述钩子接口模块实现与所述目标业务模块在预设操作前后的预设触发动作,以完成所述指定公共功能。
2.根据权利要求1所述的微服务平台下公共功能的调用方法,其特征在于,当所述目标业务模块需要提供接口供用户界面调用时,所述方法还包括:
在所述公共功能插件中创建公共接口模块,所述公共接口模块通过所述钩子接口模块与所述目标业务模块传输数据,以便所述目标业务模块实现对用户界面的接口提供。
3.根据权利要求1所述的微服务平台下公共功能的调用方法,其特征在于,在所述业务数据由所述公共功能业务逻辑模块运行过程中,还包括:
所述公共功能业务逻辑模块基于所述钩子接口模块获取所述目标业务模块的特殊业务处理逻辑,以参与运行所述业务数据;
其中,所述特殊业务处理逻辑是所述目标业务模块在执行对应种类业务过程中所独有的子业务功能的业务处理逻辑。
4.根据权利要求1所述的微服务平台下公共功能的调用方法,其特征在于,所述通过所述钩子接口模块向所述目标业务模块返回处理结果,包括:
通过所述钩子接口模块向所述目标业务模块返回预设统一格式的所述处理结果。
5.根据权利要求4所述的微服务平台下公共功能的调用方法,其特征在于,所述目标业务模块调用与需要实现的子业务功能对应的公共功能插件,包括:
所述目标业务模块接收来自目标工程的消息;
基于所述消息所指定的待执行业务确定需要实现的子业务功能;
基于所述子业务功能调用对应的公共功能插件。
6.根据权利要求5所述的微服务平台下公共功能的调用方法,其特征在于,所述微服务平台中的业务模块的种类包括:
计算模块、网络模块、存储模块;
所述微服务平台中的公共功能包括:
用户数据管理功能、云资源分配功能、有效性验证功能。
7.一种微服务平台下公共功能的调用装置,其特征在于,所述微服务平台中设置有多个业务模块;所述公共功能为各所述业务模块在执行对应种类业务功能过程中所通用的子业务功能;该装置包括:
创建单元,用于按照预设的插件模版创建出用于实现指定公共功能的公共功能插件;所述公共功能插件包括公共功能业务逻辑模块和钩子接口模块;
配置单元,用于在需要调用所述指定公共功能的目标业务模块中配置与所述公共功能插件的调用关系;
连接单元,用于在所述目标业务模块中创建与所述钩子接口模块对应的钩子方法实现模块,以便所述目标业务模块调用与需要实现的子业务功能对应的公共功能插件时,所述公共功能插件通过所述钩子接口模块获取所述目标业务模块提供的业务数据,并在所述业务数据由所述公共功能业务逻辑模块运行后,通过所述钩子接口模块向所述目标业务模块返回处理结果;
所述连接单元,具体用于:
所述公共功能业务逻辑模块基于所述钩子接口模块实现与所述目标业务模块在预设操作前后的预设触发动作,以完成所述指定公共功能。
8.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至6任一项所述的微服务平台下公共功能的调用方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用以实现如权利要求1至6任一项所述的微服务平台下公共功能的调用方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110811942.8A CN113504956B (zh) | 2021-07-19 | 2021-07-19 | 微服务平台下公共功能的调用方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110811942.8A CN113504956B (zh) | 2021-07-19 | 2021-07-19 | 微服务平台下公共功能的调用方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113504956A CN113504956A (zh) | 2021-10-15 |
CN113504956B true CN113504956B (zh) | 2023-08-11 |
Family
ID=78013186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110811942.8A Active CN113504956B (zh) | 2021-07-19 | 2021-07-19 | 微服务平台下公共功能的调用方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113504956B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090039176A (ko) * | 2007-10-17 | 2009-04-22 | 에스케이 텔레콤주식회사 | 룰 스크립트 엔진 기반의 워크플로우 시스템 |
WO2019157955A1 (zh) * | 2018-02-13 | 2019-08-22 | 华为技术有限公司 | 设备接入方法、相关平台及计算机存储介质 |
CN112068902A (zh) * | 2020-09-10 | 2020-12-11 | 北京五八信息技术有限公司 | 一种插件调用方法、装置、电子设备及存储介质 |
CN112256348A (zh) * | 2020-10-23 | 2021-01-22 | 北京浪潮数据技术有限公司 | 一种云服务平台创建方法、系统及电子设备和存储介质 |
CN112748947A (zh) * | 2019-10-31 | 2021-05-04 | 北京国双科技有限公司 | 系统的配置方法、装置、存储介质及电子设备 |
-
2021
- 2021-07-19 CN CN202110811942.8A patent/CN113504956B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090039176A (ko) * | 2007-10-17 | 2009-04-22 | 에스케이 텔레콤주식회사 | 룰 스크립트 엔진 기반의 워크플로우 시스템 |
WO2019157955A1 (zh) * | 2018-02-13 | 2019-08-22 | 华为技术有限公司 | 设备接入方法、相关平台及计算机存储介质 |
CN112748947A (zh) * | 2019-10-31 | 2021-05-04 | 北京国双科技有限公司 | 系统的配置方法、装置、存储介质及电子设备 |
CN112068902A (zh) * | 2020-09-10 | 2020-12-11 | 北京五八信息技术有限公司 | 一种插件调用方法、装置、电子设备及存储介质 |
CN112256348A (zh) * | 2020-10-23 | 2021-01-22 | 北京浪潮数据技术有限公司 | 一种云服务平台创建方法、系统及电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113504956A (zh) | 2021-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020253347A1 (zh) | 一种容器集群管理方法、装置及系统 | |
WO2020048391A1 (zh) | 基于多租户技术的web服务的部署、调用方法和装置 | |
CN111324571B (zh) | 一种容器集群管理方法、装置及系统 | |
CN110658794B (zh) | 一种制造执行系统 | |
CN104579792A (zh) | 多适配方式实现多种类型虚拟资源集中管理架构及方法 | |
CN111277432A (zh) | 配置信息更新方法、装置、电子设备及存储介质 | |
WO2018001091A1 (zh) | 虚拟网络功能vnf更新方法、装置和vnf包 | |
CN103793259A (zh) | 一种虚拟器件的生成和部署方法 | |
CN111245634B (zh) | 一种虚拟化管理方法及装置 | |
US20220179711A1 (en) | Method For Platform-Based Scheduling Of Job Flow | |
CN112256439A (zh) | 一种基于云计算资源池的服务目录动态更新系统及方法 | |
CN112181592A (zh) | 一种私有云环境下轻量化部署分布式系统的方法 | |
US10803413B1 (en) | Workflow service with translator | |
CN108540408B (zh) | 一种基于Openstack的分布式虚拟交换机的管理方法及系统 | |
CN114237853A (zh) | 应用于异构系统的任务执行方法、装置、设备、介质和程序产品 | |
EP4258609A1 (en) | Container cluster management method and apparatus | |
CN111367804B (zh) | 基于云计算及网络编程实现前端协作调试的方法 | |
CN113438295A (zh) | 容器组地址分配方法、装置、设备及存储介质 | |
CN113504956B (zh) | 微服务平台下公共功能的调用方法、装置、设备及介质 | |
CN115237547B (zh) | 一种非侵入式hpc计算集群的统一容器集群托管系统和方法 | |
US10073689B2 (en) | Managing application lifecycles within a federation of distributed software applications | |
CN114816665B (zh) | 混合编排系统及超融合架构下虚拟机容器资源混合编排方法 | |
CN113992736B (zh) | 基于云计算服务平台的结构化数据的互联方法及服务器 | |
CN114745377A (zh) | 边缘云集群服务系统及实现方法 | |
US10417051B2 (en) | Synchronizing shared resources in an order processing environment using a synchronization component |
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 |