一种自适应的交易挡板平台的实现方法、装置及设备与流程

文档序号:31707914发布日期:2022-10-01 12:45阅读:92来源:国知局
一种自适应的交易挡板平台的实现方法、装置及设备与流程

1.本技术涉及分布式技术领域,尤其涉及一种自适应的交易挡板平台的实现方法、装置及设备。


背景技术:

2.随着计算机系统规模变得越来越大,将所有的业务单元集中部署在一个或若干个大型机上的体系结构,已经越来越不能满足当今计算机系统,尤其是大型互联网系统的快速发展,此时,分布式的处理方式越来越受到业界的青睐。
3.但是目前在解决服务间接口调用相互依赖的问题时,通常会面临两个问题:一是在开发阶段,通常依赖开发自行mock来模拟外部接口的返回。需要mock不同数据返回时,往往需要不停调整代码。二是在测试阶段,通常需要自建交易挡板来模拟外部系统返回,但是这种自建的挡板,通常比较粗糙,可能需要为不同协议的调用来建立不同的挡板,对于同一个模块的交易,没办法按交易级别来切换到底走挡板还是实连,只能整体切换挡板或实连,灵活度不高。因此,如何解决应用模块或系统间接口调用相互依赖,进而影响开发和测试进度的问题,并提高交易挡板平台的灵活性是目前亟待解决的问题。


技术实现要素:

4.本技术实施例的主要目的在于提供一种自适应的交易挡板平台的实现方法、装置及设备,能够解决应用模块或系统间接口调用相互依赖,进而影响开发和测试进度的问题,并提高了交易挡板平台的灵活性。
5.第一方面,本技术实施例提供了一种自适应的交易挡板平台的实现方法,所述方法包括:
6.通过客户端插件拦截不同协议的远程调用请求;
7.在判断出客户端启用了挡板平台接入后,调用接口相关信息,并从挡板平台获取该所述接口的配置信息;并在判断出所述挡板平台有配置所述接口以及所述接口有开启挡板时,将所述远程调用请求转发至对应的挡板平台;
8.通过所述挡板平台接收所述远程调用请求对应的各类渠道上发送的交易报文;
9.在加载了预先配置的各接口解析规则后,将所述报文转换为内部键值对key-value对象;
10.根据预先设置的挡板规则和所述内部键值对key-value对象,进行匹配映射,得到匹配映射结果;
11.将所述匹配映射结果返回客户端。
12.可选的,所述方法还包括:
13.在判断出客户端未启用挡板平台接入时,直接调用执行真实服务,并将得到的结果返回客户端。
14.可选的,所述方法还包括:
15.在判断出所述挡板平台未配置所述接口和/或所述接口未开启挡板时,直接调用执行真实服务,并将得到的结果返回客户端。
16.可选的,所述根据预先设置的挡板规则和所述内部键值对key-value对象,进行匹配映射,得到匹配映射结果,包括:
17.当预先设置的挡板规则为固定报文映射时,直接返回挡板平台预先配置的报文,作为匹配映射结果;
18.或者,当预先设置的挡板规则为模板报文映射时,则将所述内部key-value对象填充至模板报文对应的占位符中;
19.或者,当预先设置的挡板规则为规则报文映射,则需要优先级匹配请求报文,满足特定规则后再选择是用模板报文映射还是固定报文映射,进行匹配映射,得到匹配映射结果。
20.第二方面,本技术实施例还提供了一种自适应的交易挡板平台的实现装置,所述装置包括:
21.拦截单元,用于通过客户端插件拦截不同协议的远程调用请求;
22.转发单元,用于在判断出客户端启用了挡板平台接入后,调用接口相关信息,并从挡板平台获取该所述接口的配置信息;并在判断出所述挡板平台有配置所述接口以及所述接口有开启挡板时,将所述远程调用请求转发至对应的挡板平台;
23.接收单元,用于通过所述挡板平台接收所述远程调用请求对应的各类渠道上发送的交易报文;
24.转换单元,用于在加载了预先配置的各接口解析规则后,将所述报文转换为内部键值对key-value对象;
25.匹配单元,用于根据预先设置的挡板规则和所述内部键值对key-value对象,进行匹配映射,得到匹配映射结果;
26.返回单元,用于将所述匹配映射结果返回客户端。
27.可选的,所述装置还包括:
28.第一调用单元,用于在判断出客户端未启用挡板平台接入时,直接调用执行真实服务,并将得到的结果返回客户端。
29.可选的,所述装置还包括:
30.第二调用单元,用于在判断出所述挡板平台未配置所述接口和/或所述接口未开启挡板时,直接调用执行真实服务,并将得到的结果返回客户端。
31.可选的,所述匹配单元具体用于:
32.当预先设置的挡板规则为固定报文映射时,直接返回挡板平台预先配置的报文,作为匹配映射结果;
33.或者,当预先设置的挡板规则为模板报文映射时,则将所述内部key-value对象填充至模板报文对应的占位符中;
34.或者,当预先设置的挡板规则为规则报文映射,则需要优先级匹配请求报文,满足特定规则后再选择是用模板报文映射还是固定报文映射,进行匹配映射,得到匹配映射结果。
35.本技术实施例还提供了一种自适应的交易挡板平台的实现设备,包括:处理器、存
储器、系统总线;
36.所述处理器以及所述存储器通过所述系统总线相连;
37.所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述自适应的交易挡板平台的实现方法中的任意一种实现方式。
38.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述自适应的交易挡板平台的实现方法中的任意一种实现方式。
39.本技术实施例提供的一种自适应的交易挡板平台的实现方法、装置及设备,首先通过客户端插件拦截不同协议的远程调用请求,然后,在判断出客户端启用了挡板平台接入后,调用接口相关信息,并从挡板平台获取该接口的配置信息;并在判断出挡板平台有配置接口以及接口有开启挡板时,将远程调用请求转发至对应的挡板平台,接着,通过挡板平台接收远程调用请求对应的各类渠道上发送的交易报文,并在加载了预先配置的各接口解析规则后,将报文转换为内部键值对key-value对象,进而可以根据预先设置的挡板规则和内部key-value对象,进行匹配映射,得到匹配映射结果,并将匹配映射结果返回客户端。从而解决应用模块或系统间接口调用相互依赖,进而影响开发和测试进度的问题,并提高了交易挡板平台的灵活性。
附图说明
40.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本技术实施例提供的一种自适应的交易挡板平台的实现方法的流程示意图;
42.图2为本技术实施例提供的自适应的交易挡板平台的实现的整体流程图;
43.图3为本技术实施例提供的自适应的交易挡板平台整体模块关系的示意图;
44.图4为本技术实施例提供的一种自适应的交易挡板平台的实现装置的组成示意图。
具体实施方式
45.目前对于服务间接口调用相互依赖的问题所采用的方案根据阶段的不同,主要有两大类:开发自行mock和独立挡板模块。但这两种方法各自都存在缺点:
46.1)开发自行mock。开发阶段依赖开发自行单元测试时写mock代码来达到测试逻辑覆盖的目的,增加的开发的工作量,而且针对不同场景下需要不同的mock返回,采用mock方式显得比较笨重,不够灵活。
47.2)自研挡板。通常是针对某一种协议独立开发,缺乏统一统筹,不够灵活,不能针对某个模块或系统的某个交易进行单独挡板切换,只能整体切换。缺乏统一的挡板返回规则配置,支持的协议有限。
48.为解决上述缺陷,本技术实施例提供了一种自适应的交易挡板平台的实现方法,首先通过客户端插件拦截不同协议的远程调用请求,然后,在判断出客户端启用了挡板平台接入后,调用接口相关信息,并从挡板平台获取该接口的配置信息;并在判断出挡板平台有配置接口以及接口有开启挡板时,将远程调用请求转发至对应的挡板平台,接着,通过挡板平台接收远程调用请求对应的各类渠道上发送的交易报文,并在加载了预先配置的各接口解析规则后,将报文转换为内部键值对key-value对象,进而可以根据预先设置的挡板规则和内部key-value对象,进行匹配映射,得到匹配映射结果,并将匹配映射结果返回客户端。从而解决应用模块或系统间接口调用相互依赖,进而影响开发和测试进度的问题,并提高了交易挡板平台的灵活性。
49.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
50.第一实施例
51.参见图1,为本实施例提供的一种自适应的交易挡板平台的实现方法的流程示意图,该方法包括以下步骤:
52.s101:通过客户端插件拦截不同协议的远程调用请求。
53.在本实施例中,为了能够解决应用模块或系统间接口调用相互依赖,进而影响开发和测试进度的问题,并提高了交易挡板平台的灵活性,本技术在降低应用模块或系统间接口依赖时,力求通过挡板平台进行统一配置即可。无论是http、socket、dubbo或者是mq消息,都可以无缝接入本技术提供的交易挡板平台,只需通过简单配置,对业务代码无侵入。与此同时可以针对单个交易实时控制交易是否走挡板平台,亦可在平台灵活配置挡板返回规则。
54.具体来讲,如图2所示,首先通过客户端插件拦截不同协议的远程调用请求,即,可以利用客户端插件拦截不同协议(如http/socket/dubbo/mq)的远程调用请求。
55.s102:在判断出客户端启用了挡板平台接入后,调用接口相关信息,并从挡板平台获取该接口的配置信息;并在判断出挡板平台有配置接口以及接口有开启挡板时,将远程调用请求转发至对应的挡板平台。
56.在本实施例中,通过步骤s101拦截不同协议的远程调用请求后,进而可以判断客户端自身有无启用挡板平台接入,若无,则直接调用执行真实服务,并将得到的结果返回客户端,如图2所示,直接跳入最后一步调用真实服务并返回客户端;反之,在判断出客户端启用了挡板平台接入后,可以调用接口相关信息,并从挡板平台获取该接口的配置信息;并在判断出挡板平台有配置接口以及接口有开启挡板时,将远程调用请求转发至对应的挡板平台。
57.具体的,可以利用java反射机制获取调用接口相关信息,并从挡板平台获取该接口的配置信息。判断挡板平台有无配置该接口或该接口是否有开启挡板,若判断出挡板平台未配置接口和/或接口未开启挡板,则直接调用执行真实服务,并将得到的结果返回客户端,即如图2所示,直接跳入最后一步调用真实服务并返回客户端,否则将交易转发至挡板平台。
58.s103:通过挡板平台接收远程调用请求对应的各类渠道上发送的交易报文。
59.在本实施例中,通过步骤s102将远程调用请求转发至对应的挡板平台后,进一步可以通过挡板平台接收远程调用请求对应的各类渠道上发送的交易报文,并做基本的权限控制类验证,然后进行解析报文,用以执行后续步骤s104。
60.s104:在加载了预先配置的各接口解析规则后,将报文转换为内部键值对key-value对象。
61.在本实施例中,通过步骤s103通过挡板平台接收远程调用请求对应的各类渠道上发送的交易报文后,进一步可以在加载了预先配置的各接口解析规则后,将报文转换为内部键值对key-value对象,用以执行后续步骤s105。
62.s105:根据预先设置的挡板规则和内部键值对key-value对象,进行匹配映射,得到匹配映射结果。
63.在本实施例中,通过步骤s104将报文转换为内部键值对key-value对象后,进一步可以根据预先设置的挡板规则和内部键值对key-value对象,进行匹配映射,得到匹配映射结果,用以执行后续步骤s106。
64.具体来讲,一种可选的实现方式是,当预先设置的挡板规则为固定报文映射时,直接返回挡板平台预先配置的报文,作为匹配映射结果;或者,当预先设置的挡板规则为模板报文映射时,则将内部key-value对象填充至模板报文对应的占位符中(平台提供内置默认key-value);或者,当预先设置的挡板规则为规则报文映射,则需要优先级匹配请求报文,满足特定规则后再选择是用模板报文映射还是固定报文映射,进行匹配映射,得到匹配映射结果。其中,可支持配置多条匹配规则和匹配优先级。
65.s106:将匹配映射结果返回客户端。
66.在本实施例中,通过步骤s105将得到匹配映射结果后,进一步可以将匹配映射结果返回客户端。
67.这样,在执行上述步骤s101-s106时,通过简单配置即可实现应用模块的动态接入,能灵活支持http、socket、dubbo、mq请求的接入,也支持任意格式的报文(定长、xml、json等),仅仅通过平台端的灵活配置即可实现不同规则的挡板报文返回,大大降低开发和联调以及测试的成本,提示开发和测试效率。
68.需要说明的是,为便于理解本技术实施例提供的自适应的交易挡板平台,本技术还提供了如图3所示的自适应的交易挡板平台整体模块关系的示意图。如图3所示,该交易挡板平台具体可以包括:客户端插件模块、接入管理模块、接入报文解析模块、挡板规则管理模块。
69.其中,客户端插件模块作为挡板平台的核心模块,以依赖jar的方式嵌入接入方应用,接入方只需要做简单配置即可,客户端插件不会入侵接入方业务代码。客户端插件会拦截不同的远程调用请求(http/dubbo/socket/mq)后,根据挡板平台配置的规则,视情况将交易转发至挡板平台。
70.平台接入模块负责不同协议的请求接入,包括http请求、dubbo请求、socket请求和mq请求,其中mq消息请求可以扩展,无论是rabbitmq、rocketmq还是kafka,均能支持无缝接入,具体mq接入规则,可以在平台portal管理端中进行配置。
71.接入报文解析模块内置多种报文解析器,包括定长报文解析器、xml报文解析器、
json报文解析器等。解析器从内存中加载每只接口的解析规则,实现差异化解析。如果有新增接口或者接口修改,实时在portal端维护,最新的解析规则会实时刷新的内存。接入报文解析模块的核心是通过实时加载解析规则,来实现不同格式报文动态解析,不受接口变更影响,不停机,不涉及程序版本更新。
72.挡板规则映射模块对于每笔交易,需要根据预先配置的挡板规则来返回挡板报文,平台主要提供固定报文映射、模板报文映射和匹配报文映射等三种规则,固定报文映射器用于返回固定报文,模板报文映射器用于返回预先设定的模板报文(提供占位符获取原报填充),匹配报文映射器最为灵活,可以看成前两种映射器的组合模式,可以根据请求报文的内容,匹配具体规则就会动态返回不同挡板报文。
73.portal管理端为管理端模块,提供可视化的接入管理配置、报文解析规则配置、挡板规则配置等。
74.这样,利用如图3所示的交易挡板平台提供的client端组件会依赖jar的方式嵌入接入方的应用中,client端会对不同协议的远程调用进行拦截,拦截后调用平台接口查询该交易是否在开启挡板配置,若开启,则会将交易转发至挡板平台,由挡板平台根据解析报文,根据预配置挡板返回规则,返回预设的响应报文。若挡板平台未配置或者未开启,则会将交易转发至真实的服务提供方。同时平台管理端会提供包括接入方配置,挡板返回规则配置等参数化的配置,以达到灵活配置的目的。
75.综上,本实施例提供的一种自适应的交易挡板平台的实现方法,首先通过客户端插件拦截不同协议的远程调用请求,然后,在判断出客户端启用了挡板平台接入后,调用接口相关信息,并从挡板平台获取该接口的配置信息;并在判断出挡板平台有配置接口以及接口有开启挡板时,将远程调用请求转发至对应的挡板平台,接着,通过挡板平台接收远程调用请求对应的各类渠道上发送的交易报文,并在加载了预先配置的各接口解析规则后,将报文转换为内部键值对key-value对象,进而可以根据预先设置的挡板规则和内部key-value对象,进行匹配映射,得到匹配映射结果,并将匹配映射结果返回客户端。从而解决应用模块或系统间接口调用相互依赖,进而影响开发和测试进度的问题,并提高了交易挡板平台的灵活性。
76.第二实施例
77.本实施例将对一种自适应的交易挡板平台的实现装置进行介绍,相关内容请参见上述方法实施例。
78.参见图4,为本实施例提供的一种自适应的交易挡板平台的实现装置的组成示意图,具体包括:
79.拦截单元401,用于通过客户端插件拦截不同协议的远程调用请求;
80.转发单元402,用于在判断出客户端启用了挡板平台接入后,调用接口相关信息,并从挡板平台获取该所述接口的配置信息;并在判断出所述挡板平台有配置所述接口以及所述接口有开启挡板时,将所述远程调用请求转发至对应的挡板平台;
81.接收单元403,用于通过所述挡板平台接收所述远程调用请求对应的各类渠道上发送的交易报文;
82.转换单元404,用于在加载了预先配置的各接口解析规则后,将所述报文转换为内部键值对key-value对象;
83.匹配单元405,用于根据预先设置的挡板规则和所述内部键值对key-value对象,进行匹配映射,得到匹配映射结果;
84.返回单元406,用于将所述匹配映射结果返回客户端。
85.在本实施例的一种实现方式中,所述装置还包括:
86.第一调用单元,用于在判断出客户端未启用挡板平台接入时,直接调用执行真实服务,并将得到的结果返回客户端。
87.在本实施例的一种实现方式中,所述装置还包括:
88.第二调用单元,用于在判断出所述挡板平台未配置所述接口和/或所述接口未开启挡板时,直接调用执行真实服务,并将得到的结果返回客户端。
89.在本实施例的一种实现方式中,所述匹配单元405具体用于:
90.当预先设置的挡板规则为固定报文映射时,直接返回挡板平台预先配置的报文,作为匹配映射结果;
91.或者,当预先设置的挡板规则为模板报文映射时,则将所述内部key-value对象填充至模板报文对应的占位符中;
92.或者,当预先设置的挡板规则为规则报文映射,则需要优先级匹配请求报文,满足特定规则后再选择是用模板报文映射还是固定报文映射,进行匹配映射,得到匹配映射结果。
93.综上,本实施例提供的一种自适应的交易挡板平台的实现装置,首先通过客户端插件拦截不同协议的远程调用请求,然后,在判断出客户端启用了挡板平台接入后,调用接口相关信息,并从挡板平台获取该接口的配置信息;并在判断出挡板平台有配置接口以及接口有开启挡板时,将远程调用请求转发至对应的挡板平台,接着,通过挡板平台接收远程调用请求对应的各类渠道上发送的交易报文,并在加载了预先配置的各接口解析规则后,将报文转换为内部键值对key-value对象,进而可以根据预先设置的挡板规则和内部key-value对象,进行匹配映射,得到匹配映射结果,并将匹配映射结果返回客户端。从而解决应用模块或系统间接口调用相互依赖,进而影响开发和测试进度的问题,并提高了交易挡板平台的灵活性。
94.进一步地,本技术实施例还提供了一种自适应的交易挡板平台的实现设备,包括:处理器、存储器、系统总线;
95.所述处理器以及所述存储器通过所述系统总线相连;
96.所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述自适应的交易挡板平台的实现方法的任一种实现方法。
97.进一步地,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述自适应的交易挡板平台的实现方法的任一种实现方法。
98.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干
指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本技术各个实施例或者实施例的某些部分所述的方法。
99.需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
100.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
101.另外,需要说明的是,本发明提供的自适应的交易挡板平台的实现方法、装置及设备可用于分布式领域以及金融领域。上述仅为示例,并不对本发明提供的自适应的交易挡板平台的实现方法、装置及设备的应用领域进行限定。
102.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1