本发明涉及数据交换,具体而言,涉及一种基于istio的补偿交换方法及系统。
背景技术:
1、istio是一种服务治理的完整实践,与k8s紧密结合,适用于云原生场景的servicemesh形态服务治理的开放平台,采用sidecar方式架构,具备连接、安全、策略执行和可观察性功能,在envoy的网关侧支持webassembly的二次开发。
2、传统共享交换技术出现交换异常一般由数据提供方或者数据使用方自行处理,相关处理逻辑融合在系统本身的功能中,处理异常数据占用系统资源,影响交换效率,尤其对异常处理逻辑相对简单的场景,按需处理会增加共享交换系统的复杂度,出现交换异常时,发起方发起二次交换,容易出现重复交换现象,也容易产生性能问题。
3、基于此,本申请提出一种基于istio的补偿交换方法及系统来解决上述问题。
技术实现思路
1、本发明的目的在于提供一种基于istio的补偿交换方法,其能够解决数据交换过程中的数据丢失、老旧数据二次交换、出现性能低下等问题。
2、本发明的技术方案为:
3、第一方面,本申请提供一种基于istio的补偿交换方法,其包括以下步骤:
4、s1、数据发起端经过istio的envoy代理网关发送交换数据报文,并使用webassembly技术扩展组件扩展获取交换请求数据并保存;
5、s2、将交换请求数据通过目标交换系统发出请求,并获取响应数据;
6、s3、基于交换请求数据和响应数据获取异常数据,并对接交换补偿中心以形成二次交换报文;
7、s4、交换补偿中心根据配置信息或用户操作向envoy发送补偿交换命令,以缓冲的二次交换报文向目标交换系统发送出交换请求;
8、s5、目标交换系统接收并处理交换请求,系统通过envoy得到交换结果,将交换结果反馈至交换补偿中心,经过解析后比对原始数据以形成补偿交换报文,完成补偿交换。
9、进一步地,步骤s1包括:
10、s11、数据发起端通过istio网关向目标交换前置pod部署服务发送交换数据报文;
11、s12、交换数据报文以envoy方式进行无干扰旁路模式识别和拆分,并使用webassembly技术扩展组件扩展获取交换请求数据并保存。
12、进一步地,步骤s2
13、将交换请求数据以交易包格式进行数据处理,前置交换系统在header头携带交易序号,并根据当前的包特征进行识别匹配以实现请求和响应内容的配对。
14、进一步地,步骤s3中,所述基于交换请求数据和响应数据获取异常数据包括:
15、s31、在响应数据以请求路径返回过程中通过istio的envoy时以旁路模式进行数据抓取以得到交换数据响应结果;
16、s32、利用数据键值进行对比分析交换数据响应结果和交换请求数据以得到异常数据,并对接交换补偿中心以形成二次交换格式的组包文件。
17、进一步地,步骤s32中,所述对接交换补偿中心的过程包括:
18、在交换中对发起方发起的数据进行识别,通知补偿中心排除发起方二次交换的数据和异常数据以进行补偿交换。
19、进一步地,步骤s4中,所述交换补偿中心根据配置信息或用户操作向envoy发送补偿交换命令时,还包括:
20、利用envoy内部的wasm过滤器组件建立与交换补偿中心的长链接,将初步整理的补偿报文通过该链接通道提交至交换补偿中心,并通过wasm采集服务的运行参数支撑交换补偿中心快速调度。
21、第二方面,本申请提供一种基于istio的补偿交换系统,包括:
22、数据采集模块,用于数据发起端经过istio的envoy代理网关发送交换数据报文,并使用webassembly技术扩展组件扩展获取交换请求数据并保存;
23、数据响应模块,用于将交换请求数据通过目标交换系统发出请求,并获取响应数据;
24、数据组包模块,用于基于交换请求数据和响应数据获取异常数据,并对接交换补偿中心以形成二次交换报文;
25、数据交换模块,用于交换补偿中心根据配置信息或用户操作向envoy发送补偿交换命令,以缓冲的二次交换报文向目标交换系统发送出交换请求;
26、数据比对模块,目标交换系统接收并处理交换请求,系统通过envoy得到交换结果,将交换结果反馈至交换补偿中心,经过解析后比对原始数据以形成补偿交换报文,完成补偿交换。
27、进一步地,还包括开放对接模块,用于提供对外功能界面来进行二次补偿交换和回滚方式交换,同时以开放接口方式提供接入能力来实现系统的自动对接。
28、由此,交换数据的双方的用户可以根据界面功能进行交换异常问题的查看。
29、第三方面,本申请提供一种电子设备,包括:
30、存储器,用于存储一个或多个程序;
31、处理器;
32、当上述一个或多个程序被上述处理器执行时,实现如上述第一方面中任一项的一种基于istio的补偿交换方法。
33、第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面中任一项的一种基于istio的补偿交换方法。
34、相对于现有技术,本发明至少具有如下优点或有益效果:
35、本申请提供一种基于istio的补偿交换方法,在保证原系统可靠运行的基础上,通过istio的网关以旁路采集数据实现交换前后的数据采集和识别,构建了补偿交换方式,提升了数据交换的质量,解决了数据交换过程中的数据丢失、老旧数据覆盖不完整等问题。
1.一种基于istio的补偿交换方法,其特征在于,包括以下步骤:
2.如权利要求1所述的一种基于istio的补偿交换方法,其特征在于,步骤s1包括:
3.如权利要求1所述的一种基于istio的补偿交换方法,其特征在于,步骤s2包括:
4.如权利要求1所述的一种基于istio的补偿交换方法,其特征在于,步骤s3中,所述基于交换请求数据和响应数据获取异常数据包括:
5.如权利要求4所述的一种基于istio的补偿交换方法,其特征在于,步骤s32中,所述对接交换补偿中心的过程包括:
6.如权利要求1所述的一种基于istio的补偿交换方法, 其特征在于,步骤s4中,所述交换补偿中心根据配置信息或用户操作向envoy发送补偿交换命令时,还包括:
7.一种基于istio的补偿交换系统,其特征在于,包括:
8.如权利要求7所述的一种基于istio的补偿交换系统,其特征在于,还包括开放对接模块,用于提供对外功能界面来进行二次补偿交换和回滚方式交换,同时以开放接口方式提供接入能力来实现系统的自动对接。
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6中任一项所述的一种基于istio的补偿交换方法。