CN111367975B - 一种多协议数据转换处理方法及装置 - Google Patents
一种多协议数据转换处理方法及装置 Download PDFInfo
- Publication number
- CN111367975B CN111367975B CN201811587256.1A CN201811587256A CN111367975B CN 111367975 B CN111367975 B CN 111367975B CN 201811587256 A CN201811587256 A CN 201811587256A CN 111367975 B CN111367975 B CN 111367975B
- Authority
- CN
- China
- Prior art keywords
- data
- file
- configuration
- database
- source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 136
- 238000003672 processing method Methods 0.000 title claims abstract description 8
- 238000000034 method Methods 0.000 claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 8
- 238000003780 insertion Methods 0.000 claims description 8
- 230000037431 insertion Effects 0.000 claims description 8
- 230000009466 transformation Effects 0.000 claims description 7
- 238000000844 transformation Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 230000011218 segmentation Effects 0.000 claims 2
- 238000013508 migration Methods 0.000 abstract description 12
- 230000005012 migration Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 6
- 238000006467 substitution reaction Methods 0.000 description 6
- 238000007781 pre-processing Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 101100386054 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CYS3 gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 101150035983 str1 gene Proteins 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种多协议数据转换处理方法及装置,方法包括:对需要转换的多协议数据的各个数据库的数据进行配置,生成配置文件;所述配置文件包括源库或源文件、目标库或目标文件、查询语句以及入库语句;对所述配置文件进行解析,并对解析得到的数据进行数据转换;若判断获知数据转换的对比结果记录源表或源文件与最后入库的文件数据一致,则确定数据转换成功。本发明实施例通过对需要转换的多协议数据的各个数据库的数据进行配置生成配置文件,并解析配置文件后进行数据转换,可以实现各个数据库之间的数据快速迁移转换,实现各种文件格式的数据快速入库和出库,为后续的业务处理奠定基础。
Description
技术领域
本发明实施例涉及移动通信技术领域,具体涉及一种多协议数据转换处理方法及装置。
背景技术
在当前移动支撑领域,拆分成了多个系统,但是每个系统之间经常存在大批量的数据迁移转换,如经分系统、酬金结算系统、稽核系统等都需要核心的订购数据以及消费情况等各种数据。
当前数据库之间的迁移转化一般采用以下方式:两个数据库之间建立DBLINK,然后进行数据同步,此方式一般是在临时需要迁移数据的时候进行使用;或采用ORACLE本身自带的备份功能,通过导出DMP文件的方式实现不同ORACLE数据库之间的数据迁移转换;或通过程序时间数据迁移,通过JDBC等方式实现从数据库中获取原始数据放到内存中,再通过连接到目标库实现数据的迁移转换。
当前文件和数据库之间的转化一般采用以下方式:采用ORACLE自带工具SQLLOAD的方式实现文件的入库;或采用程序实现文件的解析和入库,通过程序解析文件后将文件的数据放到内存中,再通过程序通过JDBC等方式连接数据库将数据转移到数据库中。
现有技术存在如下缺点:使用数据库自带的数据转移工具不能实现数据的转换,只能是全量表的数据迁移,不能实现部分字段的转移以及字段的转化;SQLLOAD只能导入txt类型的文件,无法支持多种文件的导入,且需要后台输入对应的命令实现该操作,对使用人员不方便;同时,当前的数据转换迁移单一,只能单独支撑数据库之间的数据迁移或者只能数据库导出文件数据或者导入文件。
发明内容
由于现有方法存在上述问题,本发明实施例提出一种多协议数据转换处理方法及装置。
第一方面,本发明实施例提出一种多协议数据转换处理方法,包括:
对需要转换的多协议数据的各个数据库的数据进行配置,生成配置文件;所述配置文件包括源库或源文件、目标库或目标文件、查询语句以及入库语句;
对所述配置文件进行解析,并对解析得到的数据进行数据转换;
若判断获知数据转换的对比结果记录源表或源文件与最后入库的文件数据一致,则确定数据转换成功。
可选地,所述对需要转换的多协议数据的各个数据库的数据进行配置,生成配置文件,具体包括:
对需要转换的多协议数据的各个数据库的数据源、文件目录和参数替换进行配置,生成配置文件。
可选地,所述对所述配置文件进行解析,并对解析得到的数据进行数据转换,具体包括:
对所述配置文件进行解析,并对解析得到的数据库之间的数据进行数据转换、将文件数据转换为数据库数据,或将数据库数据转换为文件数据。
可选地,包括:
当对数据库之间的数据进行数据转换时,解析配置文件得到源库、目标库的数据源以及查询语句和插入语句;
根据传入的替换参数数据对源库和目标库的数据源进行替换,得到替换后的查询语句和插入语句;
若当前为多通道模式,则根据多通道配置的通道数量以及通道字段,生成每个通道的查询语句和插入语句;
若判断获知为ORACLE数据库之间的数据转换处理,则连接到源数据库,并采用ORACLE数据库自带的函数进行数据查询,否则采用对应的数据库连接方式连接到数据库并根据查询语句查询数据。
可选地,包括:
当将文件数据转换为数据库数据或将数据库数据转换为文件数据时,解析配置文件得到目标库的数据源、插入语句和ftp配置以及文件名和文件字段;
根据传入的替换参数数据目标库的数据源进行替换,得到替换后的查询语句和文件名,并根据ftp配置连接到对应的主机获取文件。
可选地,所述方法还包括:
对数据转换过程中的日志进行记录和展示;
其中,所述日志包括:数据库转换之间的日志、文件转换为数据库数据的日志以及数据库数据转换为文件的日志。
第二方面,本发明实施例还提出一种多协议数据转换处理装置,包括:
数据配置模块,用于对需要转换的多协议数据的各个数据库的数据进行配置,生成配置文件;所述配置文件包括源库或源文件、目标库或目标文件、查询语句以及入库语句;
文件解析模块,用于对所述配置文件进行解析,并对解析得到的数据进行数据转换;
结果对比模块,用于若判断获知数据转换的对比结果记录源表或源文件与最后入库的文件数据一致,则确定数据转换成功。
可选地,所述数据配置模块具体用于对需要转换的多协议数据的各个数据库的数据源、文件目录和参数替换进行配置,生成配置文件。
第三方面,本发明实施例还提出一种电子设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述方法。
第四方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述方法。
由上述技术方案可知,本发明实施例通过对需要转换的多协议数据的各个数据库的数据进行配置生成配置文件,并解析配置文件后进行数据转换,可以实现各个数据库之间的数据快速迁移转换,实现各种文件格式的数据快速入库和出库,为后续的业务处理奠定基础。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
图1为本发明一实施例提供的一种多协议数据转换处理方法的流程示意图;
图2为本发明一实施例提供的一种多协议数据转换处理系统的结构示意图;
图3为本发明一实施例提供的一种数据转换处理模块的流程示意图;
图4为本发明一实施例提供的一种数据库之间进行数据转换的流程示意图;
图5为本发明一实施例提供的一种文件转换为数据库数据的流程示意图;
图6为本发明一实施例提供的一种数据库数据转换为文件的流程示意图;
图7为本发明一实施例提供的一种多协议数据转换处理装置的结构示意图;
图8为本发明一实施例提供的电子设备的逻辑框图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
图1示出了本实施例提供的一种多协议数据转换处理方法的流程示意图,包括:
S101、对需要转换的多协议数据的各个数据库的数据进行配置,生成配置文件;所述配置文件包括源库或源文件、目标库或目标文件、查询语句以及入库语句。
S102、对所述配置文件进行解析,并对解析得到的数据进行数据转换。
S103、若判断获知数据转换的对比结果记录源表或源文件与最后入库的文件数据一致,则确定数据转换成功。
本实施例的目的是实现多种数据格式之间数据的快速转换,并能灵活的实现数据的初步处理,多协议数据转换处理系统的总体示意图如图2所示:包含四大模块:基础配置模块、数据转换配置模块、数据转换处理模块和日志记录模块。
基础配置模块对应步骤S101,主要实现需要数据转换的各个数据库的数据源配置以及很多参数需要替换的配置,比如账期、地区等。数据转换配置模块和数据转换处理模块对应步骤S102,数据转换配置模块放置需要进行数据转换的配置文件,配置文件中包含源库或源文件,以及目标库或目标文件,查询语句以及入库语句等;数据转换处理模块实现数据的转换,数据转换之前需要对转换的配置文件进行解析以及数据的预处理(比如查询表是否存在,是否需要建表等)。日志记录模块主要实现在数据转化过程中的处理日志主要是失败日志,数据转化对比结果记录源表或源文件和最后入库的文件数据是否保持一致。
本实施例通过对需要转换的多协议数据的各个数据库的数据进行配置生成配置文件,并解析配置文件后进行数据转换,可以实现各个数据库之间的数据快速迁移转换,实现各种文件格式的数据快速入库和出库,为后续的业务处理奠定基础。
进一步地,在上述方法实施例的基础上,所述对需要转换的多协议数据的各个数据库的数据进行配置,生成配置文件,具体包括:
对需要转换的多协议数据的各个数据库的数据源、文件目录和参数替换进行配置,生成配置文件。
具体地,本实施例中需要使用的基础配置主要包含数据源配置、文件目录配置、数据转换配置文件的参数替换等配置。
数据源配置:配置源库和目标库的TNS以及数据用户和加密后的密码。
文件目录配置:需要进行文件入库或文件出库时文件存放的主机地址、账号、密码以及文件目录。
参数替换配置:可以进行参数替换的字符和替换规则,字符以特定格式标示,如本装置中是使用${}进行标示。替换规则可以是正则表达式或者是数据库语句或代码实现类等。
通过将基础配置进行统一管理,便于后续的维护,如果发生源数据库迁移或者增加数据库等都能实现快速的扩展。
进一步地,在上述方法实施例的基础上,所述对所述配置文件进行解析,并对解析得到的数据进行数据转换,具体包括:
对所述配置文件进行解析,并对解析得到的数据库之间的数据进行数据转换、将文件数据转换为数据库数据,或将数据库数据转换为文件数据。
当对数据库之间的数据进行数据转换时,解析配置文件得到源库、目标库的数据源以及查询语句和插入语句。
根据传入的替换参数数据对源库和目标库的数据源进行替换,得到替换后的查询语句和插入语句。
若当前为多通道模式,则根据多通道配置的通道数量以及通道字段,生成每个通道的查询语句和插入语句。
若判断获知为ORACLE数据库之间的数据转换处理,则连接到源数据库,并采用ORACLE数据库自带的函数进行数据查询,否则采用对应的数据库连接方式连接到数据库并根据查询语句查询数据。
当将文件数据转换为数据库数据或将数据库数据转换为文件数据时,解析配置文件得到目标库的数据源、插入语句和ftp配置以及文件名和文件字段。
根据传入的替换参数数据目标库的数据源进行替换,得到替换后的查询语句和文件名,并根据ftp配置连接到对应的主机获取文件。
具体来说,图2中的数据转换配置模块存放需要进行数据转换的配置文件,配置文件当前分为3类:数据库之间进行数据转换,文件转换为数据库数据,数据库数据转换为文件。
1、数据库之间进行数据转换
该类配置的基础配置如下:
以下对配置的字段进行详细的说明:
JOBNAME是数据转换类型,为了避免浪费内存资源以及加快转换速度,当前按照需要转换目标表需要的数据有三种可选项,分别为d2d/d2dm/d2dh。d2d为转换的数据列数在30个之内(含),d2dm列数为60个之内(含),d2dh列数为100个之内(含)。
TABLENAME是目标数据表名,数据转换后需要存储到数据库中的表名,支持参数替换,如ORD_CUST_F_${SEPARCHY_CODE}_${SETT_MONTH}。
DATABASE是目标数据库用户,该数据库用户为基础配置模块中数据源的名称。
TEMPLATENAME是模板表名称,也就是后续数据转换预处理时需要用到的,如果不存在表的情况会跟据模板表进行自动建表操作。
SOURCEDB为数据转换的来源数据库信息。
DESTINATIONDB为转换后数据的存放数据库信息。
SELECTSQL在来源数据库上会执行的SQL读取语句,支持多表,要求每个字段都要做别名处理,别名从STR1开始到30(d2d),60(d2dm),100(d2dh)。如果有些特殊的字段,如DATE类型的,需要在select语句里做TO_CHAR的格式标准化转换。同时还有对字段做合并或拼接字符等其他操作,如decode(b.district_id,21800,'H',21100,'A',21500,'E',21400,'F',21200,'B',21600,'D',22000,'J',21300,'C',22100,'K',21700,'G',21900,'L','$DBPOS{EPARCHY_TYPE}')||'A'||LPAD(CREATE_ORG_ID,12,'0')。
INSERTSQL是数据转换处理时将上面SELECT数据通过此语句往目标数据库提交的语句。入库的字段内容对应到SELECT的别名化的名字,同时对应上面的特殊处理,如果为DATE类型要转换回去,可以在此做TO_DATE转换。
PREPARESQL是指在数据转换前对目标库的表做的处理,主要是针对需要重复执行的情况,重复执行的时候避免数据重复入库,需要先将数据删除或者将整个表清空。
CLEANFLAG也是针对数据转换前对目标库的表的预处理,分别包含2种状态,0表示不需要先删表再建表,1表示需要先删表再建表。
PARAM是指系统需要进行参数替换的参数定义,使用${}特征的变量(大小写区分),在配置文件中的所有需要被替换的地方,都可以单独使用,如${SETT_MONTH}。但这些可替换的变量,其实际值只能通过系统运行时的–p参数传入的来,也就意味着–p参数后带的参数串(多个参数用逗号分隔),必须按照先后顺序同PARAM定义这里的位置一致。
PARALLEL_MODE、MOD_COL_NAME、MOD_NUMBER这三个为非默认参数,用于并发场景。
PARALLEL_MODE=MOD,意味着系统将采用select from where MOD(MOD_COL_NAME,MOD_NUMBER)=0余MOD_NUMBER的方式去多通道运行,每个通道互不影响。MOD_COL_NAME就是字段名,这里指定的字段名是来自源表的纯数字的可MOD字段。MOD_NUMBER就是通道数量,默认值是10,如果10个通道就可以理想的完成并发任务,那这个地方那个可以不写,如果不用10个通道或大于10个通道才能完成,那这里填写的就是具体的通道数。
2、文件转换为数据库数据
该类配置的基础配置如下:
配置字段 | 含义 |
FORERROR | 错误数据存放 |
FTPDATABASE | ftp配置放置数据源 |
FTPCODE | ftp配置编码 |
FILEEXP | 入库文件名 |
MAXPOOLSIZE | 最大缓存大小 |
CHECK | 是否有校验文件 |
CHECKFILESUFFIX | 校验文件名 |
FIELDSEP | 文件字段分离方式 |
ISHASHEAD | 是否有文件头 |
ISHASTAIL | 是否有文件尾 |
FIELDMAP | 文件字段 |
TABLENAME= | 入库的表名 |
TEMPLATENAME | 入库的表模板名 |
INSERTSQL | 入库的插入语句 |
TODATABASE | 入库的数据源 |
以下对配置的核心字段进行详细的说明:
FORERROR是指入库的时候解析文件出错的时候错误数据存放地点。
FTPDATABASE是值FTP的基础配置存放的数据库。
FTPCODE是值配置FTP地址的数据库数据对于的主键编号,主要包含FTP主机的账号、密码,存放文件的路径以及文件成功后转移到历史的路径等。
FILEEXP是指需要入库的文件名,文件名是可以包含替换参数的。如${SETT_MONTH}表示账期月份。
MAXPOOLSIZE是指最大缓存数据,达到缓存数据的时候会将缓存数据入库到数据库表中。
CHECK是指是否有校验文件,校验文件中存放需要入库的数据量,可以保证数据的完整性。
CHECKFILESUFFIX是具体的校验文件名。
FIELDSEP文件字段分离方式,如,|等。
ISHASHEAD是指是否有文件头,如果有文件头则会过滤文件头。
ISHASTAIL指是否有文件尾,如果有文件尾也会过滤。
FIELDMAP是存放文件的字段,按照FIELDSEP拆分文件中的数据对应的字段。
TABLENAME是入库的表名,表名可以包含替换参数。如${SETT_MONTH}表示账期月份。
TEMPLATENAME是模板表名,当入库的表不存在时,会根据模板表名新建相应的入库表。
INSERTSQL也就是入库的的SQL语句。该过程可以选择性的入库,对于不需要的字段可以不入库或者对入库字段可以进行转换。
TODATABASE是最后入库的数据源,也就是数据最后要存放在地址。
3、数据库数据转换为文件
该类配置的基础配置如下:
以下对配置的字段进行详细的说明:
FTPCODE是值配置FTP地址的数据库数据对于的主键编号,主要包含FTP主机的账号、密码,存放文件的路径以及文件成功后转移到历史的路径等。
FILETYPE是指文件类型,出库的文件可以支持多种形式,主要是txt文件以及excel等。
FTPDATABASE是值FTP的基础配置存放的数据库。
DATABASE是指出库的数据放置的数据库,这里配置的也是配置模块中配置的数据源。
SELECTSQL查询语句,支持多表查询以及可以有查询条件并对数据进行预处理。
FIELDSEPARATOR是文件中数据的分割字段,主要是针对txt文件,如用,|等进行分隔。
FILENAME出库的文件名,支持包含参数替换,如${SETT_MONTH}可以表示账期月份。
FIELDS文件的字段,对应上线SELECTSQL查询出来语句的对应字段,也就是字段要放置在文件的位置。
ISRAR是指最后生成的文件是否需要压缩成RAR文件。
NEEDCHECKFILE是指否需要生成校验文件,校验文件默认是放置查询出来的数据的数量。
CHECKFILENAME校验的文件名,支持包含参数替换,如${SETT_MONTH}可以表示账期月份。
CHECKIMPLCLASS加密实现类,为保证出库的数据的准确性,需要对生成的校验文件做加密,数据加密后就能保证出库的数据在转移过程中不会被篡改。
数据转换配置模块主要是存放进行数据转换的配置的模块,数据转换支持多种协议的方式,但是对每种协议都制定了相应的规则,需要按照系统的规则进行配置文件的编写才能保证数据转换的准确性。
图2中的数据转换处理模块的总体流程主要包含数据转换前置处理,以及数据转换过程和数据转换处理后,整体流程如图3所示,其中普通节点主要针对抽取前后的相关操作,如索引操作、日志操作、文件操作等。ETL节点则负责数据的转换,其执行动作由一个数据加载环节和多组数据转换+数据导出环节组成。考虑对大数据的处理,在标准的java版基础上,另外提供一个c版本的etl节点动作配置,用来实现对动态库函数的调用。
针对多协议的数据转换配置文件的不同,后续的处理流程是不相同的,下面对每种情况的处理流程进行说明。
数据库之间进行数据转换示意图如图4所示。
文件转换为数据库数据的详细流程步骤如下:
A1、启动数据转换处理时需要传入需要替换的参数和配置参数,以及指定对应的配置文件。
A2、根据传入的配置参数判断是否是数据库之间的数据转换处理,如果是的话则继续,不是则退出。
A3、解析配置文件,得到源库、目标库的数据源以及查询语句,插入语句等。
A4、根据传入的替换参数数据,对于没传入的采用默认的替换参数数据,替换参数后可以得到确定的数据库用户和查询语句等。
A5、判断是否多通道模式,如果是则到步骤A6,否则到步骤A7。
A6、根据多通道配置的通道数量以及通道字段,生成每个通道的查询语句和插入语句。根据通道数量启动相应数量的线程进行数据转换处理。
A7、启动单线程进行数据转换处理。
A8、判断是否ORACLE数据库之间的数据转换处理,是则到步骤A9,否则到步骤A10。
A9、连接到源数据库,并采用ORACLE数据库自带的OCI函数进行数据查询以及将数据存入缓存,下面是基于OCI的bindbyArray方式的大数据处理流程。
ORACLE的OCI函数提供Bind by pos的方式,同时可以指定一个非常大缓冲区,这样实际上进行的批量提交,能够数量级的增加数据的读入和写入的速度。对于SELECT操作,当执行OCIStmtFetch的时候,普通情况下,仅仅返回一条数据,要获取多条数据的话,必须经过多次交互,如果通过绑定数组的方式,Oracle会根据指定的数组大小一次性返回多条数据,将数据库的交互大大减小,而且是直接针对内存操作,速度极快。对于UPDATE,INSERT等操作,如果设定一个数组,当我们执行OCIStmtExecute的时候,实际上是没有执行,只有当达到了数组数量的时候,才会一次性进行交互执行,减小数据库交互次数。
A10、如果不是ORACLE数据库,则采用对应的数据库连接方式连接到数据库并根据查询语句查询数据放置到缓存中。
A11、判断缓存数据是否达到设置的最大缓存大小,如果达到则到步骤12,如果没有则重复A9或A10。
A12、将缓存中的数据存储到目标数据库的表中。
文件转换为数据库数据的流程示意图如图5所示,详细流程步骤如下:
B1、启动数据转换处理时需要传入需要替换的参数和配置参数,以及指定对应的配置文件。
B2、根据传入的配置参数判断是否为文件转换为数据库数据,如果是的话则继续,不是则退出。
B3、解析配置文件,得到目标库的数据源,插入语句和ftp的配置以及文件名和文件字段等。
B4、根据传入的替换参数数据,对于没传入的采用默认的替换参数数据,替换参数后可以得到确定的数据库用户和查询语句,具体的文件名等。
B5、根据配置模块的ftp配置连接到对应的主机获取文件。
B6、通过文件流的方式加载文件数据到缓存中。
B7、判断缓存中数据大小是否达到配置的最大值,是则到步骤B8,否则回到B6。
B8、将缓存中数据存储到数据库表中。
数据库数据转换为文件的流程示意图如图6所示,详细流程步骤如下:
C1、启动数据转换处理时需要传入需要替换的参数和配置参数,以及指定对应的配置文件。
C2、根据传入的配置参数判断是否为数据库数据转换为文件,如果是的话则继续,不是则退出。
C3、解析配置文件,得到源库的数据源,插入语句和ftp的配置以及文件名和文件字段等。
C4、根据传入的替换参数数据,对于没传入的采用默认的替换参数数据,替换参数后可以得到确定的数据库用户和查询语句,具体的文件名等。
C5、根据查询语句查询数据库数据,并将数据存储到缓存中。
C6、通过文件流的方式将数据写到文件中。
C7、判断是否需要生成校验文件,如果是则到步骤C8,否这到步骤C9。
C8、根据配置的校验文件生成实现类生成对应的加密校验文件。
C9、判断是否需要生成压缩成RAR,如果是则生成RAR文件,否则结束。
进一步地,在上述方法实施例的基础上,所述方法还包括:
S104、对数据转换过程中的日志进行记录和展示。
其中,所述日志包括:数据库转换之间的日志、文件转换为数据库数据的日志以及数据库数据转换为文件的日志。
具体地,如图2所示的日志记录模块,该模块是针对数据转换处理模块中的日志进行记录和展示,主要包含数据库转换之间的日志、文件转换为数据库数据的日志、数据库数据转换为文件的日志。
日志记录模块还包含数据稽核的功能,主要是会记录源数据库数据量、目标数据库数据量等,通过对比这些数据能保证数据转换的准确性。
本实施例可以实现数据的转换,包含数据库之间,文件与数据库之间,同时实现了数据的预处理,也可以在数据转换过程中进行数据过滤,相当于在数据转换中增加了一张滤网,通过解析配置文件并采用相应的协议转换模式实现了多种模式的数据转换,并可以直接修改配置文件快速进行扩展,实现了不同数据库不同协议之间的数据转换。从生产实际需求考虑,实现了多种协议的数据转换,并在数据转换过程中实现数据的过滤和数据预处理,可以实现各个数据库之间的数据快速迁移转换以及各种文件格式的数据快速入库和出库,并保证在数据转换过程中的数据准确和安全,在技术上具有很强的实用性和扩展性。
图7示出了本实施例提供的一种多协议数据转换处理装置的结构示意图,所述装置包括:数据配置模块701、文件解析模块702和结果对比模块703,其中:
所述数据配置模块701用于对需要转换的多协议数据的各个数据库的数据进行配置,生成配置文件;所述配置文件包括源库或源文件、目标库或目标文件、查询语句以及入库语句;
所述文件解析模块702用于对所述配置文件进行解析,并对解析得到的数据进行数据转换;
所述结果对比模块703用于若判断获知数据转换的对比结果记录源表或源文件与最后入库的文件数据一致,则确定数据转换成功。
具体地,所述数据配置模块701对需要转换的多协议数据的各个数据库的数据进行配置,生成配置文件;所述配置文件包括源库或源文件、目标库或目标文件、查询语句以及入库语句;所述文件解析模块702对所述配置文件进行解析,并对解析得到的数据进行数据转换;所述结果对比模块703若判断获知数据转换的对比结果记录源表或源文件与最后入库的文件数据一致,则确定数据转换成功。
本实施例通过对需要转换的多协议数据的各个数据库的数据进行配置生成配置文件,并解析配置文件后进行数据转换,可以实现各个数据库之间的数据快速迁移转换,实现各种文件格式的数据快速入库和出库,为后续的业务处理奠定基础。
进一步地,在上述装置实施例的基础上,所述数据配置模块具体用于对需要转换的多协议数据的各个数据库的数据源、文件目录和参数替换进行配置,生成配置文件。
本实施例所述的多协议数据转换处理装置可以用于执行上述方法实施例,其原理和技术效果类似,此处不再赘述。
参照图8,所述电子设备,包括:处理器(processor)801、存储器(memory)802和总线803;
其中,
所述处理器801和存储器802通过所述总线803完成相互间的通信;
所述处理器801用于调用所述存储器802中的程序指令,以执行上述各方法实施例所提供的方法。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种多协议数据转换处理方法,其特征在于,包括:
对需要转换的多协议数据的各个数据库的数据进行配置,生成配置文件,具体包括:对需要转换的多协议数据的各个数据库的数据源、文件目录和参数替换进行配置,生成配置文件;其中,需要使用的基础配置包含数据源配置、文件目录配置、数据转换配置文件的参数替换配置;所述数据源配置包括配置源库和目标库的TNS以及数据用户和加密后的密码;所述文件目录配置包括配置进行文件入库或文件出库时文件存放的主机地址、账号、密码以及文件目录;所述参数替换配置包括配置进行参数替换的字符和替换规则;所述配置文件包括源库或源文件、目标库或目标文件、查询语句以及入库语句;或者,所述配置文件中还包括用于表示文件中数据分割方式的字段值;
对所述配置文件进行解析,并对解析得到的数据进行数据转换;具体包括:对所述配置文件进行解析,并对解析得到的数据库之间的数据进行数据转换、将文件数据转换为数据库数据,或将数据库数据转换为文件数据;
当将文件数据转换为数据库数据或将数据库数据转换为文件数据时,解析配置文件得到目标库的数据源、插入语句和ftp配置以及文件名和文件字段;
根据传入的替换参数数据对目标库的数据源进行替换,得到替换后的查询语句和文件名,并根据ftp配置连接到对应的主机获取文件;
若判断获知数据转换的对比结果记录源表或源文件与最后入库的文件数据一致,则确定数据转换成功。
2.根据权利要求1所述的方法,其特征在于,包括:
当对数据库之间的数据进行数据转换时,解析配置文件得到源库、目标库的数据源以及查询语句和插入语句;
根据传入的替换参数数据对源库和目标库的数据源进行替换,得到替换后的查询语句和插入语句;
若当前为多通道模式,则根据多通道配置的通道数量以及通道字段,生成每个通道的查询语句和插入语句;
若判断获知为ORACLE数据库之间的数据转换处理,则连接到源数据库,并采用ORACLE数据库自带的函数进行数据查询,否则采用对应的数据库连接方式连接到数据库并根据查询语句查询数据。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述方法还包括:
对数据转换过程中的日志进行记录和展示;
其中,所述日志包括:数据库转换之间的日志、文件转换为数据库数据的日志以及数据库数据转换为文件的日志。
4.一种多协议数据转换处理装置,其特征在于,包括:
数据配置模块,用于对需要转换的多协议数据的各个数据库的数据进行配置,生成配置文件,具体包括:对需要转换的多协议数据的各个数据库的数据源、文件目录和参数替换进行配置,生成配置文件;其中,需要使用的基础配置包含数据源配置、文件目录配置、数据转换配置文件的参数替换配置;所述数据源配置包括配置源库和目标库的TNS以及数据用户和加密后的密码;所述文件目录配置包括配置进行文件入库或文件出库时文件存放的主机地址、账号、密码以及文件目录;所述参数替换配置包括配置进行参数替换的字符和替换规则;所述配置文件包括源库或源文件、目标库或目标文件、查询语句以及入库语句;或者,所述配置文件中还包括用于表示文件中数据分割方式的字段值;
文件解析模块,用于对所述配置文件进行解析,并对解析得到的数据进行数据转换;具体包括:对所述配置文件进行解析,并对解析得到的数据库之间的数据进行数据转换、将文件数据转换为数据库数据,或将数据库数据转换为文件数据;
当将文件数据转换为数据库数据或将数据库数据转换为文件数据时,解析配置文件得到目标库的数据源、插入语句和ftp配置以及文件名和文件字段;
根据传入的替换参数数据对目标库的数据源进行替换,得到替换后的查询语句和文件名,并根据ftp配置连接到对应的主机获取文件;
结果对比模块,用于若判断获知数据转换的对比结果记录源表或源文件与最后入库的文件数据一致,则确定数据转换成功。
5.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至3任一所述的方法。
6.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行如权利要求1至3任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811587256.1A CN111367975B (zh) | 2018-12-25 | 2018-12-25 | 一种多协议数据转换处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811587256.1A CN111367975B (zh) | 2018-12-25 | 2018-12-25 | 一种多协议数据转换处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367975A CN111367975A (zh) | 2020-07-03 |
CN111367975B true CN111367975B (zh) | 2023-11-03 |
Family
ID=71209775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811587256.1A Active CN111367975B (zh) | 2018-12-25 | 2018-12-25 | 一种多协议数据转换处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367975B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112398809B (zh) * | 2020-09-29 | 2023-03-24 | 曙光网络科技有限公司 | 协议规则转换方法、装置、计算机设备和存储介质 |
CN113127453B (zh) * | 2021-06-10 | 2021-09-14 | 平安普惠企业管理有限公司 | Oracle数据跨数据库迁移的方法、装置、设备和存储介质 |
CN114168544B (zh) * | 2021-11-17 | 2023-10-27 | 上海太美数字科技有限公司 | 临床试验数据处理方法、装置、计算机设备和存储介质 |
CN113886482B (zh) * | 2021-12-07 | 2022-03-08 | 北京华云安信息技术有限公司 | 面向图数据库的数据自动入库方法、装置和设备 |
CN114500648A (zh) * | 2022-01-17 | 2022-05-13 | 徐工汉云技术股份有限公司 | 一种塔机数据多形式转换转发方法及系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998055946A1 (en) * | 1997-06-06 | 1998-12-10 | Madison Information Technologies, Inc. | System and method for transferring data between data sets |
EP1513076A1 (en) * | 2003-09-05 | 2005-03-09 | Sap Ag | Method and computer system for data conversion |
CN102385637A (zh) * | 2011-12-22 | 2012-03-21 | 山东中创软件商用中间件股份有限公司 | 一种数据库信息的备份方法及系统 |
CN102915377A (zh) * | 2012-11-14 | 2013-02-06 | 深圳市宏电技术股份有限公司 | 数据库转换或同步方法及系统 |
CN103150380A (zh) * | 2013-03-13 | 2013-06-12 | 河海大学 | 一种可定制表格式的Excel表解析方法 |
CN103177119A (zh) * | 2013-04-09 | 2013-06-26 | 上海华力微电子有限公司 | 基于数据库的数据类型自动转换系统及方法 |
CN103823797A (zh) * | 2012-11-16 | 2014-05-28 | 镇江诺尼基智能技术有限公司 | 基于ftp协议的行业数据库数据实时同步系统 |
CN104090896A (zh) * | 2013-12-19 | 2014-10-08 | 深圳市腾讯计算机系统有限公司 | 一种导入数据的方法、装置和系统 |
CN105205117A (zh) * | 2015-09-09 | 2015-12-30 | 郑州悉知信息科技股份有限公司 | 一种数据表迁移方法和装置 |
CN106897322A (zh) * | 2015-12-21 | 2017-06-27 | 中国移动通信集团山西有限公司 | 一种数据库和文件系统的访问方法和装置 |
CN107423334A (zh) * | 2017-04-24 | 2017-12-01 | 云宏信息科技股份有限公司 | 一种支持多数据源的自动数据迁移方法及装置 |
CN107992620A (zh) * | 2017-12-22 | 2018-05-04 | 武汉楚鼎信息技术有限公司 | 一种json数据快速同步及记录的方法及系统装置 |
CN108446313A (zh) * | 2018-02-06 | 2018-08-24 | 北京极智感科技有限公司 | 一种数据格式转换方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6671589B2 (en) * | 2001-02-13 | 2003-12-30 | William Holst | Method and apparatus to support remote and automatically initiated data loading and data acquisition of airborne computers using a wireless spread spectrum aircraft data services link |
-
2018
- 2018-12-25 CN CN201811587256.1A patent/CN111367975B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998055946A1 (en) * | 1997-06-06 | 1998-12-10 | Madison Information Technologies, Inc. | System and method for transferring data between data sets |
EP1513076A1 (en) * | 2003-09-05 | 2005-03-09 | Sap Ag | Method and computer system for data conversion |
CN102385637A (zh) * | 2011-12-22 | 2012-03-21 | 山东中创软件商用中间件股份有限公司 | 一种数据库信息的备份方法及系统 |
CN102915377A (zh) * | 2012-11-14 | 2013-02-06 | 深圳市宏电技术股份有限公司 | 数据库转换或同步方法及系统 |
CN103823797A (zh) * | 2012-11-16 | 2014-05-28 | 镇江诺尼基智能技术有限公司 | 基于ftp协议的行业数据库数据实时同步系统 |
CN103150380A (zh) * | 2013-03-13 | 2013-06-12 | 河海大学 | 一种可定制表格式的Excel表解析方法 |
CN103177119A (zh) * | 2013-04-09 | 2013-06-26 | 上海华力微电子有限公司 | 基于数据库的数据类型自动转换系统及方法 |
CN104090896A (zh) * | 2013-12-19 | 2014-10-08 | 深圳市腾讯计算机系统有限公司 | 一种导入数据的方法、装置和系统 |
CN105205117A (zh) * | 2015-09-09 | 2015-12-30 | 郑州悉知信息科技股份有限公司 | 一种数据表迁移方法和装置 |
CN106897322A (zh) * | 2015-12-21 | 2017-06-27 | 中国移动通信集团山西有限公司 | 一种数据库和文件系统的访问方法和装置 |
CN107423334A (zh) * | 2017-04-24 | 2017-12-01 | 云宏信息科技股份有限公司 | 一种支持多数据源的自动数据迁移方法及装置 |
CN107992620A (zh) * | 2017-12-22 | 2018-05-04 | 武汉楚鼎信息技术有限公司 | 一种json数据快速同步及记录的方法及系统装置 |
CN108446313A (zh) * | 2018-02-06 | 2018-08-24 | 北京极智感科技有限公司 | 一种数据格式转换方法和装置 |
Non-Patent Citations (1)
Title |
---|
贾卫忠.一种基于FTP的数据同步技术.计算机时代.2008,第11卷57-59. * |
Also Published As
Publication number | Publication date |
---|---|
CN111367975A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367975B (zh) | 一种多协议数据转换处理方法及装置 | |
CN107958057B (zh) | 一种用于异构数据库中数据迁移的代码生成方法及装置 | |
US7548542B2 (en) | Methods and apparatus for transferring data | |
US10565208B2 (en) | Analyzing multiple data streams as a single data object | |
JP5298117B2 (ja) | 分散コンピューティングにおけるデータマージング | |
US8065323B2 (en) | Offline validation of data in a database system for foreign key constraints | |
KR101755365B1 (ko) | 레코드 포맷 정보의 관리 | |
US20170236130A1 (en) | Emulating Manual System of Filing Using Electronic Document and Electronic File | |
US9514115B2 (en) | Method for creating form validation program and corresponding form interface according to result set metadata | |
CN110275861B (zh) | 数据存储方法及装置、存储介质、电子装置 | |
CN104133772A (zh) | 一种自动生成测试数据的方法 | |
AU2015331030A1 (en) | System generator module for electronic document and electronic file | |
CN110019111B (zh) | 数据处理方法、装置、存储介质以及处理器 | |
US20060190452A1 (en) | Sort digits as number collation in server | |
US20150326664A1 (en) | System and method for managing data transactions between applications | |
CN113177090A (zh) | 数据处理方法及装置 | |
CN111367893A (zh) | 数据库版本迭代的方法及装置 | |
CN109284469B (zh) | 网页开发框架 | |
CN109634585B (zh) | 一种基于表单自适应展示和更新服务端数据的方法 | |
US20210124752A1 (en) | System for Data Collection, Aggregation, Storage, Verification and Analytics with User Interface | |
WO2023000012A1 (en) | Template systems for template-based document and report generation | |
TWI629602B (zh) | 互動式網頁程式自動產生方法 | |
CN110555178B (zh) | 数据代理方法及装置 | |
CN116341514A (zh) | 基于动态配置的文件解析方法及装置 | |
CN114610803A (zh) | 一种数据处理方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |