CN113626002A - 一种服务执行方法及装置 - Google Patents

一种服务执行方法及装置 Download PDF

Info

Publication number
CN113626002A
CN113626002A CN202110929143.0A CN202110929143A CN113626002A CN 113626002 A CN113626002 A CN 113626002A CN 202110929143 A CN202110929143 A CN 202110929143A CN 113626002 A CN113626002 A CN 113626002A
Authority
CN
China
Prior art keywords
service
arrangement
visual
model
orchestration
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
CN202110929143.0A
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110929143.0A priority Critical patent/CN113626002A/zh
Publication of CN113626002A publication Critical patent/CN113626002A/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/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供的一种服务执行方法及装置,可用于金融技术领域,本发明通过可视化微服务编排模型执行服务,通过一个可执行的流程来协同内部及外部的服务交互,通过流程来控制总体的目标,涉及的操作及服务调用顺序,进而开发运维人员可以使用可视化的编排工具进行服务编排,比传统的文件配置更直观方便,可以添加自定义的引擎增强插件完成框架的二次开发可以使用后台管理平台或者调用API的方式查询服务的运行情况可以热部署新的服务编排工作流,甚至可以人工处理服务编排的工作流实例流程。

Description

一种服务执行方法及装置
技术领域
本发明涉及互联网金融技术领域,具体涉及一种服务执行方法及装置。
背景技术
现有银行使用的服务编排框架的是多年前的老旧框架,存在诸多不足。首先,只能通过单机部署,容易产生性能瓶颈;其次,经过多处迭代,业务与框架代码粘合性高,框架过于臃肿,问题追踪比较困难,开发维护成本过高;最后,缺乏直观的编排工具,需要通过复杂的配置文件完成编排,用户体验性不佳。
发明内容
针对现有技术中的现有银行使用的服务编排框架的是多年前的老旧框架,存在诸多不足。首先,只能通过单机部署,容易产生性能瓶颈;其次,经过多处迭代,业务与框架代码粘合性高,框架过于臃肿,问题追踪比较困难,开发维护成本过高;最后,缺乏直观的编排工具,需要通过复杂的配置文件完成编排,用户体验性不佳的问题,本发明提供一种服务执行方法及装置,通过可视化微服务编排模型执行服务,通过一个可执行的流程来协同内部及外部的服务交互,通过流程来控制总体的目标,涉及的操作及服务调用顺序,进而开发运维人员可以使用可视化的编排工具进行服务编排,比传统的文件配置更直观方便,可以添加自定义的引擎增强插件完成框架的二次开发可以使用后台管理平台或者调用API的方式查询服务的运行情况可以热部署新的服务编排工作流,甚至可以人工处理服务编排的工作流实例流程。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种服务执行方法,包括:
获取服务执行请求,所述服务执行请求包括服务执行指令以及服务信息;
将所述服务执行请求输入至预设的可视化微服务编排模型,所述可视化微服务编排模型输出服务执行结果;其中
所述可视化微服务编排模型包括多个服务编排逻辑组件,所述多个服务编排逻辑组件按照设定工作流流转。
在优选的实施例中,还包括:
基于基础服务配置所述多个服务编排逻辑组件;
基于工作流引擎关联所述多个服务编排逻辑组件,建立所述可视化微服务编排模型。
在优选的实施例中,所述基于基础服务配置所述多个服务编排逻辑组件,包括:
选取继承自基础注册类型的服务编排逻辑组件;
根据不同服务协议选择对应的协议适配器;
将所述服务编排逻辑组件注册到所述可视化微服务编排模型中,并在注册时设置当前服务对应配置。
在优选的实施例中,所述基于工作流引擎关联所述多个服务编排逻辑组件,建立所述可视化微服务编排模型,包括:
使用可视化编排工具制作服务编排的工作流模板;
将每个所述服务编排逻辑组件作为编排的节点加入所述工作流模板,进而建立所述可视化微服务编排模型。
在优选的实施例中,还包括:
将已建立的所述可视化微服务编排模型以共享数据库的集群方式部署在服务环境;
调用对应接口载入所述可视化微服务编排模型。
在优选的实施例中,还包括:
将所述服务请求分配至线程池中的空闲线程;其中所述空闲线程完成所述服务请求后重新初始化为空闲状态。
在优选的实施例中,还包括:
若当前正在处理的所述服务请求数量高于设定阈值,暂停获取所述服务请求,直至当前正在处理的所述服务请求数量不高于所述设定阈值。
第二方面,本发明提供一种服务执行装置,包括:
获取模块,获取服务执行请求,所述服务执行请求包括服务执行指令以及服务信息;
输入模块,将所述服务执行请求输入至预设的可视化微服务编排模型,所述可视化微服务编排模型输出服务执行结果;其中
所述可视化微服务编排模型包括多个服务编排逻辑组件,所述多个服务编排逻辑组件按照设定工作流流转。
在优选的实施例中,还包括:
组件配置模块,基于基础服务配置所述多个服务编排逻辑组件;
模型建立模块,基于工作流引擎关联所述多个服务编排逻辑组件,建立所述可视化微服务编排模型。
在优选的实施例中,所述组件配置模块,包括:
继承单元,选取继承自基础注册类型的服务编排逻辑组件;
适配单元,根据不同服务协议选择对应的协议适配器;
注册单元,将所述服务编排逻辑组件注册到所述可视化微服务编排模型中,并在注册时设置当前服务对应配置。
在优选的实施例中,所述模型建立模块,包括:
模板制作单元,使用可视化编排工具制作服务编排的工作流模板;
模型建立单元,将每个所述服务编排逻辑组件作为编排的节点加入所述工作流模板,进而建立所述可视化微服务编排模型。
在优选的实施例中,还包括:
部署模块,将已建立的所述可视化微服务编排模型以共享数据库的集群方式部署在服务环境;
载入模块,调用对应接口载入所述可视化微服务编排模型。
在优选的实施例中,还包括:
分配模块,将所述服务请求分配至线程池中的空闲线程;其中所述空闲线程完成所述服务请求后重新初始化为空闲状态。
在优选的实施例中,还包括:
暂停模块,若当前正在处理的所述服务请求数量高于设定阈值,暂停获取所述服务请求,直至当前正在处理的所述服务请求数量不高于所述设定阈值。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的服务执行方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的服务执行方法。
由上述技术方案可知,本发明提供一种服务执行方法及装置,通过可视化微服务编排模型执行服务,通过一个可执行的流程来协同内部及外部的服务交互,通过流程来控制总体的目标,涉及的操作及服务调用顺序,进而开发运维人员可以使用可视化的编排工具进行服务编排,比传统的文件配置更直观方便,可以添加自定义的引擎增强插件完成框架的二次开发可以使用后台管理平台或者调用API的方式查询服务的运行情况可以热部署新的服务编排工作流,甚至可以人工处理服务编排的工作流实例流程。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中的模型架构示意图。
图2是本发明实施例中的服务节点的模块示意图。
图3是本发明实施例中的执行的方法步骤流程示意图之一。
图4是本发明实施例中的执行的方法步骤流程示意图之二。
图5是本发明实施例中的执行的方法步骤流程示意图之三。
图6是本发明实施例中的执行的方法步骤流程示意图之四。
图7是本发明实施例中的一种服务执行装置的结构示意图。
图8是本发明实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明公开的一种服务执行方法及装置可用于金融领域,也可用于除金融领域之外的任意领域,本发明公开的一种服务执行方法及装置的应用领域不做限定。
但是现有银行使用的服务编排框架的是多年前的老旧框架,存在诸多不足。首先,只能通过单机部署,容易产生性能瓶颈;其次,经过多处迭代,业务与框架代码粘合性高,框架过于臃肿,问题追踪比较困难,开发维护成本过高;最后,缺乏直观的编排工具,需要通过复杂的配置文件完成编排,用户体验性不佳,因此存在诸多不足。
基于上述内容,针对以上问题,本发明实现了基于工作流引擎的可视化微服务编排新框架。本架构采用开源的Camunda工作流引擎为基础,整合了服务编排逻辑组件,满足常见远程服务场景(包括RPC和HTTP等),增加了日志输出,AMC报警等功能,并且实现了方便开发运维人员使用的可视化服务跟踪和管理的后台管理界面,提供高效完整的服务编排解决方案。
本发明提供一种用于实现本发明一个或多个实施例中提供一种服务执行方法及装置,具体的,包括:获取服务执行请求,所述服务执行请求包括服务执行指令以及服务信息;将所述服务执行请求输入至预设的可视化微服务编排模型,所述可视化微服务编排模型输出服务执行结果;其中所述可视化微服务编排模型包括多个服务编排逻辑组件,所述多个服务编排逻辑组件按照设定工作流流转。本发明通过可视化微服务编排模型执行服务,通过一个可执行的流程来协同内部及外部的服务交互,通过流程来控制总体的目标,涉及的操作及服务调用顺序,进而开发运维人员可以使用可视化的编排工具进行服务编排,比传统的文件配置更直观方便,可以添加自定义的引擎增强插件完成框架的二次开发可以使用后台管理平台或者调用API的方式查询服务的运行情况可以热部署新的服务编排工作流,甚至可以人工处理服务编排的工作流实例流程。
可以理解的是,本发明的服务执行装置可以是服务器或者移动终端,例如可以包括智能手机、平板电子设备、便携式计算机、台式电脑、个人数字助理(PDA)、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
上述的服务执行装置具有通信模块,可以与服务执行终端进行通信连接,实现与所述服务执行终端的数据传输。
上述服务执行装置与服务执行终端之间可以使用任何合适的网络协议进行通信,包括在本发明提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
本发明提供一种服务执行方法及装置,通过可视化微服务编排模型执行服务,通过一个可执行的流程来协同内部及外部的服务交互,通过流程来控制总体的目标,涉及的操作及服务调用顺序,进而开发运维人员可以使用可视化的编排工具进行服务编排,比传统的文件配置更直观方便,可以添加自定义的引擎增强插件完成框架的二次开发可以使用后台管理平台或者调用API的方式查询服务的运行情况可以热部署新的服务编排工作流,甚至可以人工处理服务编排的工作流实例流程。
具体通过下述多个实施例及应用实例分别进行说明。
为了解决现有技术中的现有银行使用的服务编排框架的是多年前的老旧框架,存在诸多不足。首先,只能通过单机部署,容易产生性能瓶颈;其次,经过多处迭代,业务与框架代码粘合性高,框架过于臃肿,问题追踪比较困难,开发维护成本过高;最后,缺乏直观的编排工具,需要通过复杂的配置文件完成编排,用户体验性不佳的问题,本发明提供一种服务执行方法的实施例,参见图3,具体包含有如下内容:
步骤S101:获取服务执行请求,所述服务执行请求包括服务执行指令以及服务信息。
步骤S102:将所述服务执行请求输入至预设的可视化微服务编排模型,所述可视化微服务编排模型输出服务执行结果。
其中所述可视化微服务编排模型包括多个服务编排逻辑组件,所述多个服务编排逻辑组件按照设定工作流流转。
由上述技术方案可知,本发明提供的一种服务执行方法,通过可视化微服务编排模型执行服务,通过一个可执行的流程来协同内部及外部的服务交互,通过流程来控制总体的目标,涉及的操作及服务调用顺序,进而开发运维人员可以使用可视化的编排工具进行服务编排,比传统的文件配置更直观方便,可以添加自定义的引擎增强插件完成框架的二次开发可以使用后台管理平台或者调用API的方式查询服务的运行情况可以热部署新的服务编排工作流,甚至可以人工处理服务编排的工作流实例流程。
可以理解,本发明基于工作流建立的可视化微服务编排模型,可以通过Cumunda的共享数据库的服务集群模式实现了服务编排框架。也可以通过其他开源分布式服务编排工具,例如uber公司的cadence,netflix的conductor,以及zeebe-io的zeebe,本发明不限于此。
在本发明中,以某一转账服务为例,首先获取转账服务对应的执行请求,该执行请求包括执行转账指令和转账账户信息、接收账户信息以及转账金额。
相对应地,可以预先对可视化微服务编排模型进行转账服务的编排,然后将该转账服务对应的执行请求输入至该模型中,该模型输出转账操作之后的执行结果。
为了提供一种模型建立步骤的操作流程,在本发明的一个或多个实施例中,如图4,还包括:
S103:基于基础服务配置所述多个服务编排逻辑组件;
S104:基于工作流引擎关联所述多个服务编排逻辑组件,建立所述可视化微服务编排模型。
具体的,步骤S103,即所述基于基础服务配置所述多个服务编排逻辑组件,如图5所示,包括:
S1031:选取继承自基础注册类型的服务编排逻辑组件;
S1032:根据不同服务协议选择对应的协议适配器;
S1033:将所述服务编排逻辑组件注册到所述可视化微服务编排模型中,并在注册时设置当前服务对应配置。
举例而言,首先将被被编排的下游服务注册到本框架中。下游服务的调用API需要符合框架的格式规范,并且根据不同的服务协议(Http,RPC,gRPC等)选择对应的协议适配器。
进一步的,步骤S10,即所述基于工作流引擎关联所述多个服务编排逻辑组件,建立所述可视化微服务编排模型,如图6所示,包括:
S1041:使用可视化编排工具制作服务编排的工作流模板;
S1042:将每个所述服务编排逻辑组件作为编排的节点加入所述工作流模板,进而建立所述可视化微服务编排模型。
具体而言,使用可视化编排工具Camunda Modeler制作服务编排工作流模板,模板需要符合BPNM2.0的规范。在模板中,将上面的注册的服务作为编排的节点加入流程中。编排工具支持逻辑分支,分叉合并,同步异步处理和消息定时机制等特性,开发人员可以使用它实现简单但多样灵活的服务编排工作流模板。
在本发明的一个或多个实施例中,还包括:
将已建立的所述可视化微服务编排模型以共享数据库的集群方式部署在服务环境;
调用对应接口载入所述可视化微服务编排模型。
该实施例中,将框架以共享数据库的集群方式部署在服务环境,并调用接口载入工作流编排文件。在载入时框架会对框架进行校验,成功框架便可以接收该模板对应的业务请求。***支持热加载新工作流模板,可以在集群运行后再加载新工作流。新请求进入***,***创建新工作流模板对应的新实例,而之前运行的实例按照旧工作流模板运行,不受影响。
进一步的,在本发明的一个或多个实施例中,还包括:
将所述服务请求分配至线程池中的空闲线程;其中所述空闲线程完成所述服务请求后重新初始化为空闲状态。
该实施例中,当外部请求到来时,服务节点会从线程池中调用空闲线程并运行。完成任务后,工作线程会回到线程池中,等待下一个请求任务。
进一步的,在本发明的一个或多个实施例中,还包括:
若当前正在处理的所述服务请求数量高于设定阈值,暂停获取所述服务请求,直至当前正在处理的所述服务请求数量不高于所述设定阈值。
该实施例中,在外部请求入口和在对编排的服务访问时设置安全阈值,对超过阈值的请求进行拒绝处理。这样能够保证本框架以及编排服务的稳定性,避免了大量请求对本***和下游服务的冲击。
下面对本发明的整体部署进行详细说明。
针对现有服务编排框架的这些缺陷,本发明实现了基于工作流引擎的可视化微服务编排新框架。本架构采用开源的Camunda工作流引擎为基础,整合了服务编排逻辑组件,满足常见远程服务场景(包括RPC和HTTP等),增加了日志输出,AMC报警等功能,并且实现了方便开发运维人员使用的可视化服务跟踪和管理的后台管理界面,提供高效完整的服务编排解决方案。
框架的整体部署图1所示:
本***采用共享数据库的集群部署,上承报文网关,通过负载均衡后,进入本***后,触发对应的工作流实例。工作流实例会按照流程流转,远程调用下游的业务服务。后台管理界面可以进行工作流管理,包括统计,监控等。
服务集群是本发明的核心部分,是由无状态的服务节点组成,服务节点通过容器搭建。通过服务节点的上下线,服务集群实现弹性伸缩。服务节点由多个由若干服务模块组成,如图2所示,下面针对各服务模块进行详细说明。
①线程池管理
线程池管理用于管理工作线程从创建,执行到释放的生命周期。当外部请求到来时,服务节点会从线程池中调用空闲线程并运行。完成任务后,工作线程会回到线程池中,等待下一个请求任务。
②路由规则引擎
路由规则引擎主要用于外部请求到下游服务的路由转发以及编排的下游服务之间的服务路由。框架支持RPC和HTTP协议的转发功能。
③限流熔断规则引擎
这个是在外部请求入口和在对编排的服务访问时设置安全阈值,对超过阈值的请求进行拒绝处理。这样能够保证本框架以及编排服务的稳定性,避免了大量请求对本***和下游服务的冲击。
④报文校验规则引擎
报文校验是指外部请求和在编排服务之间互访时,对请求报文的校验。规则包括报文格式的校验,公共通讯区的参数校验以及各服务私有通讯区的参数校验等。
⑤持久化管理
外部请求和服务间的请求信息,包括请求的上下文会被持久化到数据库,在服务节点异常重启时,请求能够保持能够保证请求数据不丢失。
⑥报警管理
本发明与工会AMC报警***相连,可以在***中设置服务报警和请求报警阈值,当编排服务异常或者有超过阈值的异常请求或请求超时时,向AMC报警***发送报警信息。
⑦工作流引擎
工作流使用了Camunda的工作流引擎技术,用于服务编排的可视化操作。管理人员可以使用将同一类请求作为工作流,将请求涉及的下游服务当作工作流中的工作节点,用Camunda可视化工作流编辑工具将服务编排成工作流的形式,再部署到本发明中。当有请求访问本发明时,本发明通过设定好的工作流流程进行服务调用和请求转发。管理人员可以登录Camunda管理后台对工作流的运行状态进行监控。
⑧用户及角色权限
本模块用于管理人员对Camunda工作流后台的用户管理和角色权限管理,每个用户分配了自己的角色,角色有高级管理员,应用管理人员,工作流开发人员等角色。高级管理员具有本***的全部权限,一般管理人员和应用开发人员只能操作本应用相关的服务编排和监控工作流运行状态。
⑨数据统计
框架提供了编排服务工作流的统计数据输出接口,通过对接大数据平台和商业赋能平台,以便于开发运维人员统计分析服务的运行情况。
⑩日志管理
本发明会收集请求出入***时和请求在服务链路上转发时的日志信息,并推送到工行ELK日志分析***进行日志分析,用于对服务链路的全息监控和对错误请求的定位跟踪。
本框架的工作流程如下:
①注册服务
首先将被被编排的下游服务注册到本框架中。下游服务的调用API需要符合框架的格式规范,并且根据不同的服务协议(Http,RPC,gRPC等)选择对应的协议适配器。具有同一个服务路径名称的下游服务被同一组服务,在服务调用时会被路由模块将请求转发到其中一个下游服务节点中,来完成负载均衡和路由。在***运行时,***服务会对注册的下游服务心跳式的健康检查,而异常的下游服务会被解除注册,防止请求错误的发送到异常的下游服务中。如果异常下游服务已经恢复正常并且恢复心跳通信,那么可以重新注册到***中。在注册时,还可以设置当前服务组对应配置,例如输出日志信息模板,AMC报警阈值,服务级别的限流熔断规则,服务级别的报文校验规则等。
②编写服务编排工作流模板
使用可视化编排工具Camunda Modeler制作服务编排工作流模板,模板需要符合BPNM2.0的规范。在模板中,将上面的注册的服务作为编排的节点加入流程中。编排工具支持逻辑分支,分叉合并,同步异步处理和消息定时机制等特性,开发人员可以使用它实现简单但多样灵活的服务编排工作流模板。
③部署服务集群并载入工作流模板
将框架以共享数据库的集群方式部署在服务环境,并调用接口载入工作流编排文件。在载入时框架会对框架进行校验,成功框架便可以接收该模板对应的业务请求。***支持热加载新工作流模板,可以在集群运行后再加载新工作流。新请求进入***,***创建新工作流模板对应的新实例,而之前运行的实例按照旧工作流模板运行,不受影响。
④接收请求并生成工作流程实例
向框架调用接口发送请求,***会根据请求报文中的公共通讯区内容找到对应的匹配的工作那么框架将创建一个模板对应的工作流实例,工作流实例会根据模板流转,当遇到服务节点的时候就会执行协议适配器(Http,RPC,gRPC等)远程调用服务。流转过程中,如果实例遇到异常或者需要人工处理的情况,则会进行发送报警,重试,暂停,跳出等操作。
⑤跟踪和管理工作流实例
在框架运行过程中,运维人员可以登录后台管理界面,查询当前框架中的工作流模板信息及跟踪工作流实例的运行状态。开发运维人员也可以调用接口针对工作流实例进行人工干预,也可以在界面中对工作流实例中断,继续,重跑等操作,对工作流实例进行人工干预。
⑥统计萃取服务数据
框架提供了编排服务的统计数据输出接口,通过对接大数据平台和商业赋能平台,以便于开发运维人员统计各应用服务的运行指标和数据分析。
本发明实现了高效简洁的服务编排实现方案,相比工行传统的服务编排框架,本发明有以下优点:
a.编排简便,用户体验好。开发运维人员可以使用可视化的编排工具进行服务编排,比传统的文件配置更直观方便。
b.功能强大。本框架支持符合多种复杂多样的服务编排功能,融合了路由,限流熔断,报文校验,链路跟踪,报警管理,日志分析等多种重要功能特性,且支持多个多种协议的服务接口。
c.扩展能力强。路由规则引擎,限流熔断规律引擎,报文引擎等都是插件式设计,可以添加自定义的引擎增强插件完成框架的二次开发。
d.支持编排服务工作流跟踪和管理。开发运维人员可以使用后台管理平台或者调用API的方式查询服务的运行情况,可以热部署新的服务编排工作流,甚至可以人工处理服务编排的工作流实例流程。
由上述技术方案可知,本发明提供的一种服务执行方法,通过可视化微服务编排模型执行服务,通过一个可执行的流程来协同内部及外部的服务交互,通过流程来控制总体的目标,涉及的操作及服务调用顺序,进而开发运维人员可以使用可视化的编排工具进行服务编排,比传统的文件配置更直观方便,可以添加自定义的引擎增强插件完成框架的二次开发可以使用后台管理平台或者调用API的方式查询服务的运行情况可以热部署新的服务编排工作流,甚至可以人工处理服务编排的工作流实例流程。
为了解决现有技术中的现有银行使用的服务编排框架的是多年前的老旧框架,存在诸多不足。首先,只能通过单机部署,容易产生性能瓶颈;其次,经过多处迭代,业务与框架代码粘合性高,框架过于臃肿,问题追踪比较困难,开发维护成本过高;最后,缺乏直观的编排工具,需要通过复杂的配置文件完成编排,用户体验性不佳的问题,在本发明的一个或多个实施例中,本发明提供一种服务执行方法装置,如图7所示,包括:
获取模块11,获取服务执行请求,所述服务执行请求包括服务执行指令以及服务信息;
输入模块12,将所述服务执行请求输入至预设的可视化微服务编排模型,所述可视化微服务编排模型输出服务执行结果;其中,
所述可视化微服务编排模型包括多个服务编排逻辑组件,所述多个服务编排逻辑组件按照设定工作流流转。
由上述技术方案可知,本发明提供的一种服务执行方法装置,该装置通过可视化微服务编排模型执行服务,通过一个可执行的流程来协同内部及外部的服务交互,通过流程来控制总体的目标,涉及的操作及服务调用顺序,进而开发运维人员可以使用可视化的编排工具进行服务编排,比传统的文件配置更直观方便,可以添加自定义的引擎增强插件完成框架的二次开发可以使用后台管理平台或者调用API的方式查询服务的运行情况可以热部署新的服务编排工作流,甚至可以人工处理服务编排的工作流实例流程。
基于相同的发明构思,在优选的实施例中,还包括:
组件配置模块,基于基础服务配置所述多个服务编排逻辑组件;
模型建立模块,基于工作流引擎关联所述多个服务编排逻辑组件,建立所述可视化微服务编排模型。
基于相同的发明构思,在优选的实施例中,所述组件配置模块,包括:
继承单元,选取继承自基础注册类型的服务编排逻辑组件;
适配单元,根据不同服务协议选择对应的协议适配器;
注册单元,将所述服务编排逻辑组件注册到所述可视化微服务编排模型中,并在注册时设置当前服务对应配置。
基于相同的发明构思,在优选的实施例中,所述模型建立模块,包括:
模板制作单元,使用可视化编排工具制作服务编排的工作流模板;
模型建立单元,将每个所述服务编排逻辑组件作为编排的节点加入所述工作流模板,进而建立所述可视化微服务编排模型。
基于相同的发明构思,在优选的实施例中,还包括:
部署模块,将已建立的所述可视化微服务编排模型以共享数据库的集群方式部署在服务环境;
载入模块,调用对应接口载入所述可视化微服务编排模型。
在优选的实施例中,还包括:
分配模块,将所述服务请求分配至线程池中的空闲线程;其中所述空闲线程完成所述服务请求后重新初始化为空闲状态。
基于相同的发明构思,在优选的实施例中,还包括:
暂停模块,若当前正在处理的所述服务请求数量高于设定阈值,暂停获取所述服务请求,直至当前正在处理的所述服务请求数量不高于所述设定阈值。
从硬件层面来说,为了解决现有技术中的现有银行使用的服务编排框架的是多年前的老旧框架,存在诸多不足。首先,只能通过单机部署,容易产生性能瓶颈;其次,经过多处迭代,业务与框架代码粘合性高,框架过于臃肿,问题追踪比较困难,开发维护成本过高;最后,缺乏直观的编排工具,需要通过复杂的配置文件完成编排,用户体验性不佳的问题,本发明提供一种用于实现所述服务执行方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
图8为本发明实施例的电子设备9600的装置构成的示意框图。如图8所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图8是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一实施例中,服务执行方法功能可以被集成到中央处理器中。其中,中央处理器可以被配置为进行如下控制:
步骤S101:获取服务执行请求,所述服务执行请求包括服务执行指令以及服务信息。
步骤S102:将所述服务执行请求输入至预设的可视化微服务编排模型,所述可视化微服务编排模型输出服务执行结果。
其中所述可视化微服务编排模型包括多个服务编排逻辑组件,所述多个服务编排逻辑组件按照设定工作流流转。
由上述技术方案可知,本发明提供的一种电子设备,通过可视化微服务编排模型执行服务,通过一个可执行的流程来协同内部及外部的服务交互,通过流程来控制总体的目标,涉及的操作及服务调用顺序,进而开发运维人员可以使用可视化的编排工具进行服务编排,比传统的文件配置更直观方便,可以添加自定义的引擎增强插件完成框架的二次开发可以使用后台管理平台或者调用API的方式查询服务的运行情况可以热部署新的服务编排工作流,甚至可以人工处理服务编排的工作流实例流程。
在另一个实施方式中,服务器可以与中央处理器9100分开配置,例如可以将服务器为与中央处理器9100连接的芯片,通过中央处理器的控制来实现服务执行方法功能。
如图8所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图8中所示的所有部件;此外,电子设备9600还可以包括图8中没有示出的部件,可以参考现有技术。
如图8所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本发明的实施例还提供能够实现上述实施例中的服务执行方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的服务执行方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S101:获取服务执行请求,所述服务执行请求包括服务执行指令以及服务信息。
步骤S102:将所述服务执行请求输入至预设的可视化微服务编排模型,所述可视化微服务编排模型输出服务执行结果。
其中所述可视化微服务编排模型包括多个服务编排逻辑组件,所述多个服务编排逻辑组件按照设定工作流流转。
由上述技术方案可知,本发明提供的计算机存储介质,通过可视化微服务编排模型执行服务,通过一个可执行的流程来协同内部及外部的服务交互,通过流程来控制总体的目标,涉及的操作及服务调用顺序,进而开发运维人员可以使用可视化的编排工具进行服务编排,比传统的文件配置更直观方便,可以添加自定义的引擎增强插件完成框架的二次开发可以使用后台管理平台或者调用API的方式查询服务的运行情况可以热部署新的服务编排工作流,甚至可以人工处理服务编排的工作流实例流程。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (16)

1.一种服务执行方法,其特征在于,包括:
获取服务执行请求,所述服务执行请求包括服务执行指令以及服务信息;
将所述服务执行请求输入至预设的可视化微服务编排模型,所述可视化微服务编排模型输出服务执行结果;其中
所述可视化微服务编排模型包括多个服务编排逻辑组件,所述多个服务编排逻辑组件按照设定工作流流转。
2.根据权利要求1所述的服务执行方法,其特征在于,还包括:
基于基础服务配置所述多个服务编排逻辑组件;
基于工作流引擎关联所述多个服务编排逻辑组件,建立所述可视化微服务编排模型。
3.根据权利要求2所述的服务执行方法,其特征在于,所述基于基础服务配置所述多个服务编排逻辑组件,包括:
选取继承自基础注册类型的服务编排逻辑组件;
根据不同服务协议选择对应的协议适配器;
将所述服务编排逻辑组件注册到所述可视化微服务编排模型中,并在注册时设置当前服务对应配置。
4.根据权利要求2所述的服务执行方法,其特征在于,所述基于工作流引擎关联所述多个服务编排逻辑组件,建立所述可视化微服务编排模型,包括:
使用可视化编排工具制作服务编排的工作流模板;
将每个所述服务编排逻辑组件作为编排的节点加入所述工作流模板,进而建立所述可视化微服务编排模型。
5.根据权利要求2所述的服务执行方法,其特征在于,还包括:
将已建立的所述可视化微服务编排模型以共享数据库的集群方式部署在服务环境;
调用对应接口载入所述可视化微服务编排模型。
6.根据权利要求1所述的服务执行方法,其特征在于,还包括:
将所述服务请求分配至线程池中的空闲线程;其中所述空闲线程完成所述服务请求后重新初始化为空闲状态。
7.根据权利要求1所述的服务执行方法,其特征在于,还包括:
若当前正在处理的所述服务请求数量高于设定阈值,暂停获取所述服务请求,直至当前正在处理的所述服务请求数量不高于所述设定阈值。
8.一种服务执行装置,其特征在于,包括:
获取模块,获取服务执行请求,所述服务执行请求包括服务执行指令以及服务信息;
输入模块,将所述服务执行请求输入至预设的可视化微服务编排模型,所述可视化微服务编排模型输出服务执行结果;其中
所述可视化微服务编排模型包括多个服务编排逻辑组件,所述多个服务编排逻辑组件按照设定工作流流转。
9.根据权利要求8所述的服务执行装置,其特征在于,还包括:
组件配置模块,基于基础服务配置所述多个服务编排逻辑组件;
模型建立模块,基于工作流引擎关联所述多个服务编排逻辑组件,建立所述可视化微服务编排模型。
10.根据权利要求9所述的服务执行装置,其特征在于,所述组件配置模块,包括:
继承单元,选取继承自基础注册类型的服务编排逻辑组件;
适配单元,根据不同服务协议选择对应的协议适配器;
注册单元,将所述服务编排逻辑组件注册到所述可视化微服务编排模型中,并在注册时设置当前服务对应配置。
11.根据权利要求9所述的服务执行装置,其特征在于,所述模型建立模块,包括:
模板制作单元,使用可视化编排工具制作服务编排的工作流模板;
模型建立单元,将每个所述服务编排逻辑组件作为编排的节点加入所述工作流模板,进而建立所述可视化微服务编排模型。
12.根据权利要求9所述的服务执行装置,其特征在于,还包括:
部署模块,将已建立的所述可视化微服务编排模型以共享数据库的集群方式部署在服务环境;
载入模块,调用对应接口载入所述可视化微服务编排模型。
13.根据权利要求8所述的服务执行装置,其特征在于,还包括:
分配模块,将所述服务请求分配至线程池中的空闲线程;其中所述空闲线程完成所述服务请求后重新初始化为空闲状态。
14.根据权利要求8所述的服务执行装置,其特征在于,还包括:
暂停模块,若当前正在处理的所述服务请求数量高于设定阈值,暂停获取所述服务请求,直至当前正在处理的所述服务请求数量不高于所述设定阈值。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
CN202110929143.0A 2021-08-13 2021-08-13 一种服务执行方法及装置 Pending CN113626002A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110929143.0A CN113626002A (zh) 2021-08-13 2021-08-13 一种服务执行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110929143.0A CN113626002A (zh) 2021-08-13 2021-08-13 一种服务执行方法及装置

Publications (1)

Publication Number Publication Date
CN113626002A true CN113626002A (zh) 2021-11-09

Family

ID=78385350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110929143.0A Pending CN113626002A (zh) 2021-08-13 2021-08-13 一种服务执行方法及装置

Country Status (1)

Country Link
CN (1) CN113626002A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237628A (zh) * 2022-02-25 2022-03-25 卓望数码技术(深圳)有限公司 微服务编排及调用方法、装置、计算机设备及存储介质
CN114691233A (zh) * 2022-03-16 2022-07-01 中国电子科技集团公司第五十四研究所 一种基于工作流引擎的遥感数据处理插件分布式调度方法
CN115955408A (zh) * 2022-12-23 2023-04-11 上海基煜基金销售有限公司 基于Conductor框架的应用编排服务***及方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237628A (zh) * 2022-02-25 2022-03-25 卓望数码技术(深圳)有限公司 微服务编排及调用方法、装置、计算机设备及存储介质
CN114691233A (zh) * 2022-03-16 2022-07-01 中国电子科技集团公司第五十四研究所 一种基于工作流引擎的遥感数据处理插件分布式调度方法
CN115955408A (zh) * 2022-12-23 2023-04-11 上海基煜基金销售有限公司 基于Conductor框架的应用编排服务***及方法

Similar Documents

Publication Publication Date Title
CN113626002A (zh) 一种服务执行方法及装置
US8914804B2 (en) Handling queues associated with web services of business processes
CN105593835A (zh) 通过主云服务管理器管理多个二级云
CN111090423B (zh) 一种webhook框架***和实现主动调用、实现事件触发的方法
US10135763B2 (en) System and method for secure and efficient communication within an organization
CN105493446A (zh) 通过单个历史跟踪与使用多种模式的通话和机器进行通信
CN113505520A (zh) 用于支持异构联邦学习的方法、装置和***
CN111507674B (zh) 任务信息处理方法、装置及***
CN110764881A (zh) 分布式***后台重试方法及装置
CN112615753A (zh) 一种链路异常追踪方法、第一节点、第二节点以及链路
CN111510493B (zh) 分布式数据传输方法及装置
CN113034281A (zh) 基于区块链的业务数据处理方法、相关***及节点
CN115812298A (zh) 供应故障的区块链管理
CN113726890A (zh) 面向区块链数据服务的联邦预言方法及***
CN110661851A (zh) 数据交换方法和装置
CN114465867A (zh) 服务器的维护方法、装置、存储介质及处理器
CN112995303B (zh) 跨集群调度方法及装置
CN109388558A (zh) 一种管理电子设备的方法、装置、设备及存储介质
CN110427260B (zh) 主机作业调度方法、装置及***
US20230128700A1 (en) Enterprise and information technology services management orchestrating a plurality of enterprise applications
CN113837870B (zh) 金融风险数据审批方法及装置
CN111190731A (zh) 基于权重的集群任务调度***
CN113268272B (zh) 基于私有云的应用交付方法、装置及***
CN115567596A (zh) 云服务资源部署方法、装置、设备及存储介质
CN113204459A (zh) U盾测试方法、装置、设备和介质

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