logo好方法网

一种基于原子化服务的链路调用方法


技术摘要:
本发明涉及信息化技术领域,提供了一种基于原子化服务的链路调用方法,目的在于解决每个渠道同一个业务场景因有不同的定制化需求或者不同业务逻辑顺序。需要单独提供接口,导致业务代码臃肿的问题。主要方案包括,S1.每个原子化服务在调用链上注册节点并且定义别名,S2.  全部
背景技术:
现有技术架构: 目前直销银行使用的分布式技术框架,该系统中承载了客户,账务,支付,配置等多个 功能模块,所有对外暴露的服务都是通过耦合其各个模块之间的业务加入大量逻辑判断, 耦合度高,业务重复代码冗余量大。 业务压力: 随着业务方提出的小程序定制化服务端,以及渠道商的激增,该系统为支撑不同服务 端,渠道商进行了不断的升级。 重构的迫切度: 为了满足不同的渠道商的接入,针对不同的渠道商提供不同的定制化接口,使得原本 臃肿的业务代码更加臃肿,冗余。业务代码的逻辑复杂度越来越高,新渠道的接入,以及陈 旧系统的维护,壁垒越来越高。因此,一套能够支撑直销银行小程序的业务链路服务亟待出 现。
技术实现要素:
本发明的目的在于解决现在的技术方案因为需要对接各种不同的渠道,每个渠道 同一个业务场景可能有不同的定制化需求或者不同业务逻辑顺序,例如:A渠道用户注册需 要检验用户名与手机号是否同时存在,而B渠道只用校验手机号。现有的技术架构就需要提 供两个接口,导致业务代码臃肿。 为了达到上述的目的,本发明采用如下技术方案: 一种基于原子化服务的链路调用引擎,并且可以通过后台管理系统自定义配置原子化 服务链路调用顺序,包括以下步骤: S1.原子化服务节点申明: 每个原子化服务在调用链上注册节点并且定义别名,通过自定义注解反射得到原子化 服务节点别名,为后续链路上调用原子化服务,进行统一视图的展现提供依赖; S2.链路别名申明: 通过自定义注解为每个链路定义别名,每个条链路由S1申明的节点组成,通过自定义 注解解析得到每个链路的别名申明,为后续管理链路提供依赖; S3.节点持久化到数据库: 将S1中申明的每个原子化服务节点持久化到数据库; 4 CN 111580896 A 说 明 书 2/4 页 S4.链路别名持久化到数据库: 将S2中申明的每条链路持久化到数据库中; S5.调用链配置注册统一视图: 为S4中申明的链路在后台管理系统中,配置S3中的节点,或者S4中的链路别名,并把调 用顺序持久化到数据库,为后台管理系统提供展示; S6.调用链实例: 将配置好的每条调用链服务实例化,并把各条调用链对应的标注上不同业务场景的别 名,统一得到服务调用实例。 S7.原子化服务调用链节点实例: 实例化每个原子化服务,将各个原子化服务的实例装配到S6中的链路上。 S8.调用调用链引擎 根据S5中配置的调用链顺序,实现整体的调用链业务逻辑。 上述技术方案中:所诉步骤S8包括以下步骤: 步骤1:根据服务端传入的渠道码匹配数据库中的链路规则实现调用链路。 上述技术方案中:所诉步骤S2包括以下步骤: 步骤1:在配置文件中约定链路命名规则,约定链路中父链路,子链路规范。 步骤2:新建自定义注解,申明自定义注解规则,用于标记链路; 上述技术方案中:所诉步骤S1包括以下步骤 步骤1:在配置文件中约定节点命名规则,约定父节点,子节点规范。 步骤2:新建自定义注解,申明自定义注解规则,用于申明节点名; 上述技术方案中:所诉步骤S3包括以下步骤: 步骤1:将每个节点别名,节点实际地址等,持久化到数据库中。 上述技术方案中:所诉步骤S4包括以下步骤: 步骤1:将每条链路别名,链路实例名等,持久化到数据库中。 上述技术方案中:所诉步骤S5包括以下步骤: 步骤1:在后台管理系统中由管理人员根据不同的渠道的业务配置不同的链路调用逻 辑,并申明链路名称。 上述技术方案中:所诉步骤S6包括以下步骤: 步骤1:实例化调用链,将数据库中申明的链路名称装配到当前实例化的链路上; 上述技术方案中:所诉步骤S7包括以下步骤: 步骤1:实例化原子化服务节点,将节点装配到已实例化的链路上; 本发明因为采用上述技术方案,因此具备以下有益效果: 1.新的渠道对接只用配置渠道码,通过渠道码匹配配置好的链路。 2.新的业务逻辑只用提供原子化的服务,具体的业务实现都由链路来拼装。 3.链路调用服务主要解决的问题是避免重复业务代码编写,通过链路的方式实现 复杂业务流程的编写和实现。帮助开发、业务甚至后期维护人员快速梳理业务流程,防止后 期因为频繁的迭代维护和代码量的增加,造成业务代码逻辑的混乱,避免核心业务的反复 修改出现不必要的风险。 5 CN 111580896 A 说 明 书 3/4 页 附图说明 图1为调用链调用逻辑图; 图2调用链流程图; 图3调用链实现过程。
下载此资料需消耗2积分,
分享到:
收藏