数据格式转换方法及装置制造方法及图纸

技术编号:26597350 阅读:21 留言:0更新日期:2020-12-04 21:19
本发明专利技术公开了一种数据格式转换方法及装置,其中该方法包括:接收用户设定的数据源地址和目标地址,以及所需引用的loader、filter、service类,以及设定了目标导入规则的exporter;启动loader线程从数据源地址中读取目标数据,将目标数据转换为实体类数据;将实体类数据传入filter,启动filter线程按照预设的数据过滤规则对实体类数据进行清洗过滤;启动service线程按照预设的业务处理逻辑对清洗过滤后的实体类数据进行逻辑处理;启动exporter线程读取逻辑处理后的实体类数据,并将逻辑处理后的实体类数据写入目标地址。本发明专利技术可以快速、可靠、简便的实现数据格式转换过程。

【技术实现步骤摘要】
数据格式转换方法及装置
本专利技术涉及大数据处理
,尤其涉及一种数据格式转换方法及装置。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。在实际业务场景中,业务部门可以从多渠道获取客户数据。面对不同的数据源,获取的客户数据的格式也多种多样,例如文本数据、后台oracle导出数据、excel数据,也可能是hive、hbase或mango等大数据等。在接收到客户数据之后,往往需要将其转换为统一格式的数据,以便于后续按照相同的逻辑进行业务处理。现有的数据格式转换方案,不同格式的数据需要分别处理,这样有多少种数据就需要处理多少次,重复工作量很大,处理周期长;同时,再每处理完一种格式的数据之后处理下一种格式的数据之时,需要按照下一种数据的格式将全部代码更改一遍,更改后的代码需要全盘测试,导致测试工作量大,还要求开发人员排查问题能力强,以便于及时修改代码测试中出现的问题,否则严重影响后续的数据处理过程的进行。可见,如何提供一种快速、可靠且实现简便的数据格式转换方法,成为目前亟待解决的问题。
技术实现思路
本专利技术实施例提供一种数据格式转换方法,用以快速、可靠、简便的实现数据格式转换过程,该方法包括:接收用户设定的数据源地址和目标地址,以及所需引用的loader、filter、service类,以及设定了目标导入规则的exporter,其中,loader用于读取至少一种指定格式的数据,目标导入规则定义了以目标地址存储数据的格式向目标地址写入数据;启动loader线程从数据源地址中读取目标数据,将目标数据转换为实体类数据;将实体类数据传入filter,启动filter线程按照预设的数据过滤规则对实体类数据进行清洗过滤;将清洗过滤后的实体类数据传入service类,启动service线程按照预设的业务处理逻辑对清洗过滤后的实体类数据进行逻辑处理;启动exporter线程读取逻辑处理后的实体类数据,并将逻辑处理后的实体类数据写入目标地址。本专利技术实施例还提供一种数据格式转换装置,用以快速、可靠、简便的实现数据格式转换过程,该装置包括:接收模块,用于接收用户设定的数据源地址和目标地址,以及所需引用的loader、filter、service类,以及设定了目标导入规则的exporter,其中,loader用于读取至少一种指定格式的数据,目标导入规则定义了以目标地址存储数据的格式向目标地址写入数据;数据读取模块,用于启动loader线程从数据源地址中读取目标数据,将目标数据转换为实体类数据;数据清洗模块,用于将数据读取模块转换的实体类数据传入filter,启动filter线程按照预设的数据过滤规则对实体类数据进行清洗过滤;逻辑处理模块,用于将经过数据清洗模块清洗过滤后的实体类数据传入service类,启动service线程按照预设的业务处理逻辑对清洗过滤后的实体类数据进行逻辑处理;数据导入模块,用于启动exporter线程读取经过逻辑处理模块逻辑处理后的实体类数据,并将逻辑处理后的实体类数据写入目标地址。本专利技术实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据格式转换方法。本专利技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述数据格式转换方法的计算机程序。本专利技术实施例中,直接引用loader、filter、service类和exporter组件即可实现数据格式转换过程,实现简单,开发时间短,开发人员无需关心中间业务逻辑;只要继承实现loader即可满足各种格式的数据的读取,继承实现exporter即可将数据转换为统一格式的数据,代码逻辑简单。同时,采用多线程流式处理,采用线程分别处理读取数据、清洗数据、处理数据和导入数据的全过程,在保障数据多线程安全的情况下,最快完成大数据量处理,性能高效稳定,如此同步处理不产生阻塞问题,保障业务使用数据的流畅性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1为本专利技术实施例中一种数据格式转换方法的流程图;图2为本专利技术实施例中另一种数据格式转换方法的流程图;图3为本专利技术实施例中另一种数据格式转换方法的流程图;图4为本专利技术实施例中另一种数据格式转换方法的流程图;图5为本专利技术实施例中一种数据格式转换装置的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本专利技术实施例做进一步详细说明。在此,本专利技术的示意性实施例及其说明用于解释本专利技术,但并不作为对本专利技术的限定。本专利技术实施例提供了一种数据格式转换方法,该方法基于Java技术,使用springboot框架,构建轻便高效的平台框架,同时启动多个线程包括读读取数据、筛选数据、处理数据(等待进程有可消费即运行)、导出数据进程流式异步处理,使用redis轻量级存储,解决存储亿级客户并实现快速读取。如图1所示,该方法包括步骤101至步骤105:步骤101、接收用户设定的数据源地址和目标地址,以及所需引用的loader、filter、service类,以及设定了目标导入规则的exporter。其中,loader用于读取至少一种指定格式的数据,其通过目标数据的后缀来识别当前数据是哪种格式,如后缀为txt的为文本数据、后缀为doc或docx的为word数据等。在识别出数据格式之后,由可以读取该种格式数据的loader执行读取操作。在本专利技术实施例中,可以定义一个loader可以读取多种格式的数据。还可以定义一个loader读取一种格式的数据,引用可以读取不同格式的数据的loader,以便于目标数据的顺利读取。可以对loader读取的数据的格式进行配置,如新增一种新的可读取的数据格式,或者删除一种不再使用的数据格式。目标导入规则定义了以目标地址存储数据的格式向目标地址写入数据。比如说,如果目标地址为传统关系型数据库,则引用传统关系型数据库类型的Exporter,由传统关系型数据库类型的exporter新建Java数据库连接(JavaDatabaseConnectivity,JDBC),按照传统关系型数据库存储的数据的格式,将处理后的目标数据写入诸如oracle、mysql等的传统关系型数据库;如果目标地址为大数据库,则引用大数据库类型的exporter,exporter按照大数据库中存储数据的格式,将处理后的目标数据写入诸如hive、hbase、mongo、hdfs等的大数据库;如果目标地址为文本,则引本文档来自技高网...

【技术保护点】
1.一种数据格式转换方法,其特征在于,所述方法包括:/n接收用户设定的数据源地址和目标地址,以及所需引用的loader、filter、service类,以及设定了目标导入规则的exporter,其中,loader用于读取至少一种指定格式的数据,目标导入规则定义了以目标地址存储数据的格式向目标地址写入数据;/n启动loader线程从数据源地址中读取目标数据,将目标数据转换为实体类数据;/n将实体类数据传入filter,启动filter线程按照预设的数据过滤规则对实体类数据进行清洗过滤;/n将清洗过滤后的实体类数据传入service类,启动service线程按照预设的业务处理逻辑对清洗过滤后的实体类数据进行逻辑处理;/n启动exporter线程读取逻辑处理后的实体类数据,并将逻辑处理后的实体类数据写入目标地址。/n

【技术特征摘要】
1.一种数据格式转换方法,其特征在于,所述方法包括:
接收用户设定的数据源地址和目标地址,以及所需引用的loader、filter、service类,以及设定了目标导入规则的exporter,其中,loader用于读取至少一种指定格式的数据,目标导入规则定义了以目标地址存储数据的格式向目标地址写入数据;
启动loader线程从数据源地址中读取目标数据,将目标数据转换为实体类数据;
将实体类数据传入filter,启动filter线程按照预设的数据过滤规则对实体类数据进行清洗过滤;
将清洗过滤后的实体类数据传入service类,启动service线程按照预设的业务处理逻辑对清洗过滤后的实体类数据进行逻辑处理;
启动exporter线程读取逻辑处理后的实体类数据,并将逻辑处理后的实体类数据写入目标地址。


2.根据权利要求1所述的方法,其特征在于,在接收用户设定的所需引用的service类之前,所述方法还包括:
新增service类,利用新增的service类继承service父类;
接收用户设定的业务处理逻辑,将业务处理处理逻辑写入继承后的service类的excute方法,得到可以被引用的service类。


3.根据权利要求1所述的方法,其特征在于,启动service线程按照预设的业务处理逻辑对清洗过滤后的实体类数据进行逻辑处理,包括:
当业务处理逻辑被用户标识为复杂逻辑时,利用service线程执行excute方法,将清洗过滤后的实体类数据缓存至redis;
从redis中取出缓存的数据进行逻辑处理。


4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收用户重写的service类的atlast方法,所述atlast方法用于指示当数据源地址中所有数据传入service类之后进行逻辑处理;
在将清洗过滤后的实体类数据缓存至redis之后,所述方法还包括:
启动service线程执行atlast方法,从redis中取出清洗过滤后的实体类数据存入atlast结果,直至从数据源地址中接收的所有数据经过处理后存入atlast结果;
取出atlast结果中存储的所有清洗过滤后的实体类数据进行逻辑处理。


5.根据权利要求1所述的方法,其特征在于,
针对loader线程在一次读取过程中读取的目标数据,按照loader线程处理、filter线程处理、service线程处理和exporter线程处理的顺序依次处理目标数据;
针对所有目标数据,由至少一个loader线程、至少一个filter线程、至少一个service线程和至少一个exporter线程同时执行处理过程。


6.一种数据格式转换装置,其特征在于,所述装置包括:
接收模块,用于接收用户设定的数据源地址和目标地址,以及所需引用的loader、filter、servi...

【专利技术属性】
技术研发人员:李杨帆
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:北京;11

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

1