一种基于配置的方式进行数据转换以及协议适配的系统及方法技术方案

技术编号:31826781 阅读:16 留言:0更新日期:2022-01-12 12:55
本发明专利技术涉及数据处理技术领域,具体涉及一种基于配置的方式进行数据转换以及协议适配的系统及方法。一种基于配置的方式进行数据转换以及协议适配的系统,包括数据入口层,所述数据入口层用于主动触发的数据流入,或者用于被动触发的定时数据抽取;数据处理层,所述数据处理层采用配置化的方式进行数据转换清洗;数据输出层,所述数据输出层,用于对数据处理层处理后的数据进行输出。本发明专利技术方案只需要做简单的配置就能实现接口间的协议转换以及传输数据的加工与清洗;业务逻辑不用分散到各个系统里面,并且能够统一管理所有不同协议系统之间调用。之间调用。之间调用。

【技术实现步骤摘要】
一种基于配置的方式进行数据转换以及协议适配的系统及方法


[0001]本专利技术涉及数据处理
,具体涉及一种基于配置的方式进行数据转换以及协议适配的系统及方法。

技术介绍

[0002]现有技术中,在多个系统之间调用协议不一致的情况比较常见,上游系统调用下游非本协议的系统,每个调用端都需要做额外的协议适配开发。多系统之间的数据传输也存在数据格式不一致、字段不一致的问题,很多场景下需要对数据进行一些补充或者字段加工,那么上下游系统都需要做相应的数据清洗与字段转换。这些问题会导致各个系统增加很多分散的逻辑开发,增加了工作量,并且存在系统难维护等问题。

技术实现思路

[0003]本专利技术目的之一在于提供一种基于配置的方式进行数据转换以及协议适配的系统,旨在上下游系统调用中间增加可配置的协议处理以及数据转换层。
[0004]一种基于配置的方式进行数据转换以及协议适配的系统,包括数据入口层,所述数据入口层用于主动触发的数据流入,或者用于被动触发的定时数据抽取;
[0005]数据处理层,所述数据处理层采用配置化的方式进行数据转换清洗;
[0006]数据输出层,所述数据输出层,用于对数据处理层处理后的数据进行输出。
[0007]本专利技术的有益效果在于:从技术层面:只需要做简单的配置就能实现接口间的协议转换以及传输数据的加工与清洗;从管理层面:业务逻辑不用分散到各个系统里面,并且能够统一管理所有不同协议系统之间调用。
[0008]进一步,为了使数据的输入机制更加灵活,本专利技术所述的数据入口层,支持kafka、RocketMQ的MQ中间件,http和dubbo主动触发的数据流入,支持Mysql、Oracle的RDB相关数据库中间件被动触发的定时数据抽取。
[0009]进一步,所述的数据处理层,还用于通过自定义的数据处理逻辑进行数据的转换清洗。额外的自定义逻辑只需要实现数据输出层,并编写少量的逻辑即可实现。如需要对数据入口层数据进行自定义加工,比如流入数据如下json:{“a”:10,”xs”:20,”array”:[100,99,101]},自定义逻辑为对array数组进行求平均数然后再乘以系数xs,得到一个新值new,并添加到json中,那么就是(100+99+101)/3=100,100*20=2000,即最新json为{“a”:10,”xs”:20,”array”:[100,99,101],”new”:2000})。
[0010]进一步,为了提高数据的处理速度,所述的数据处理层,通过配置多个处理器对数据进行链式处理。
[0011]进一步,所述的数据输出层支持数据入口层的所有中间件。
[0012]本专利技术的目的之二在于提供一种基于配置的方式进行数据转换以及协议适配的方法,应用于上述基于配置的方式进行数据转换以及协议适配的系统。
[0013]基于配置的方式进行数据转换以及协议适配的方法,包括以下内容:
[0014]通过数据入口层主动触发数据流入或者被动触发定时数据抽取;
[0015]通过数据处理层,采用配置化的方式对数据进行转换清洗;
[0016]通过数据输出层,对数据处理层处理后的数据进行输出。
[0017]采用本方法,从技术层面:只需要做简单的配置就能实现接口间的协议转换以及传输数据的加工与清洗;从管理层面:业务逻辑不用分散到各个系统里面,并且能够统一管理所有不同协议系统之间调用。
[0018]进一步,为了实现灵活的配置,允许根据现实需求进行数据处理,本方法还包括采用自定义的数据处理逻辑对数据进行转换清洗。
[0019]进一步,还包括通过配置多个处理器对数据进行链式处理。
附图说明
[0020]图1为本专利技术一种基于配置的方式进行数据转换以及协议适配的系统示意性框图。
具体实施方式
[0021]下面通过具体实施方式进一步详细说明:
[0022]如附图1所示,本实施例公开一种基于配置的方式进行数据转换以及协议适配的系统,包括数据入口层,所述数据入口层用于主动触发的数据流入,或者用于被动触发的定时数据抽取,具体的所述的数据入口层,支持kafka、RocketMQ的MQ中间件,http和dubbo主动触发的数据流入,支持Mysql、Oracle的RDB相关数据库中间件被动触发的定时数据抽取。
[0023]以数据输入层为kafka中间件,数据处理层为对kafka内部数据进行ETL处理,数据输出层为写入mysql作为示例,本实施例中数据输入层记为Reader,数据处理层记为Transform,数据输出层记为Writer。
[0024]从kafka和Rocket等MQ里面获取数据和http协议,数据输入层具体是配置了上面这些数据获取方式的转接器,相当于通用层的代码,就可以通过配置数据输入层,从而将上面的数据获取成我们通用的一些内部能处理的格式。写入mysql、Oracle等这些数据库也是一样。
[0025]从http接口被动获取数据,写入到mysql,就是从http://协议到mysql://协议的转换。Reader集成了kafka、RocketMq的客户端工具以及内置了通用的接口访问控制层,系统通过配置进行动态加载并生成对应的转换器,主动或者被动获取配置的数据源信息,从而从不同数据源中获取数据。
[0026]数据处理层,所述数据处理层采用配置化的方式进行数据转换清洗;所述的数据处理层,还用于通过自定义的数据处理逻辑进行数据的转换清洗;所述的数据处理层,通过配置多个处理器对数据进行链式处理。
[0027]数据输出层,所述数据输出层,用于对数据处理层处理后的数据进行输出。所述的数据输出层支持数据入口层的所有中间件。
[0028]本专利技术实施例还公开一种基于配置的方式进行数据转换以及协议适配的方法,包括以下内容:通过数据入口层主动触发数据流入或者被动触发定时数据抽取;
[0029]通过数据处理层,采用配置化的方式对数据进行转换清洗;还包括采用自定义的数据处理逻辑对数据进行转换清洗;还包括通过配置多个处理器对数据进行链式处理。
[0030]通过数据输出层,对数据处理层处理后的数据进行输出。
[0031]在本实施例中,数据入口层支持kafka、RocketMQ的MQ中间件,http和dubbo主动触发的数据流入,支持Mysql、Oracle的RDB相关数据库中间件被动触发的定时数据抽取。数据输出层支持所有数据入口层的中间件。
[0032]下面通过示例进行详细说明:
[0033]Reader的配置如下:
[0034]Reader读取的kafka配置为kafkaConf的服务器,并且消费的topic为topicName。
[0035]Transform的配置如下:
[0036]Transform组配置了两个Etl转换器,Etl1为对内部的每个key的值进行平方,Etl2为对内部的每个key的值进行加1,依赖本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于配置的方式进行数据转换以及协议适配的系统,其特征在于,包括数据入口层,所述数据入口层用于主动触发的数据流入,或者用于被动触发的定时数据抽取;数据处理层,所述数据处理层采用配置化的方式进行数据转换清洗;数据输出层,所述数据输出层,用于对数据处理层处理后的数据进行输出。2.根据权利要求1所述的基于配置的方式进行数据转换以及协议适配的系统,其特征在于,所述的数据入口层,支持kafka、RocketMQ的MQ中间件,http和dubbo主动触发的数据流入,支持Mysql、Oracle的RDB相关数据库中间件被动触发的定时数据抽取。3.根据权利要求1所述的基于配置的方式进行数据转换以及协议适配的系统,其特征在于,所述的数据处理层,还用于通过自定义的数据处理逻辑进行数据的转换清洗。4.根据权利要求3所述的基于配置的方式进行...

【专利技术属性】
技术研发人员:黎杰谢长江
申请(专利权)人:重庆富民银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1