CN105243168A - 一种数据迁移方法及*** - Google Patents
一种数据迁移方法及*** Download PDFInfo
- Publication number
- CN105243168A CN105243168A CN201510765953.1A CN201510765953A CN105243168A CN 105243168 A CN105243168 A CN 105243168A CN 201510765953 A CN201510765953 A CN 201510765953A CN 105243168 A CN105243168 A CN 105243168A
- Authority
- CN
- China
- Prior art keywords
- character
- transcoding
- encoding format
- transcoding process
- data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种数据迁移方法及***,所述方法包括:读取源数据库中的目标数据;以第一字符编码格式对所述目标数据进行第一字符转码处理,得到中间字符集;所述中间字符集中含有第一类型的字符和第二类型的字符;以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理,所述第二字符编码格式与所述第一字符编码格式的编码范围不同;将所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符写入目标数据库。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种数据迁移方法及***。
背景技术
随着科技的发展,具有各种功能的应用***的升级也越来越快,而在更换新的***时,只需要将老***中的数据迁移到新***中即可,这一过程中需要引入数据转码技术实现数据转换,因此会在数据转码过程中,遇到特殊字符如不可见控制字符无法被兼容等问题,导致转码失败。
例如,对于主机EBDIC编码中,中文字段都是以OE开头,0F结束,但因为长度不够而造成截断发生时,往往0F是缺失的,由此按照UTF-8的编码方式进行处理时,将最后一个字段进行标识字符的替换,既为0x001A字符,其代表着ASCII码中常见的不可见控制字符“sub”。由于不可见控制字符“sub”的存在,会对账单打印、国际卡组织上传文件等造成格式不兼容错误,导致数据转码失败。
因此,亟需一种数据迁移方案,能够解决现有技术中进行数据迁移时存在数据转码失败的问题。
发明内容
有鉴于此,本发明的目的在于,提供一种数据迁移方法及***,用以解决现有技术中进行数据迁移时存在数据转码失败的技术问题。
本发明还提供了一种数据迁移方法,所述方法包括:
读取源数据库中的目标数据;
以第一字符编码格式对所述目标数据进行第一字符转码处理,得到中间字符集;所述中间字符集中含有第一类型的字符和第二类型的字符;
以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理,所述第二字符编码格式与所述第一字符编码格式的编码范围不同;
将所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符写入目标数据库。
上述方法,优选的,以第一字符编码格式对所述目标数据进行第一字符转码处理,得到中间字符集,包括:
以UTF-8(8-bitUnicodeTransformationFormat,万国码)编码格式对所述目标数据进行第一字符转码处理,得到第一类型的字符和第二类型的字符,所述第一类型的字符和所述第二类型的字符组成中间字符集;
相应的,所述以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理,包括:
以gb18030编码格式对所述第一类型的字符进行第二字符转码处理。
上述方法,优选的,以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理,包括:
基于第二字符编码格式,识别出所述中间字符集中的第一类型的字符;
将识别出的所述第一类型的字符均替换为目标字符。
上述方法,优选的,所述目标字符为空格字符。
上述方法,优选的,在以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理之后,所述方法还包括:
将所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符写入文本文件。
本发明还提供了一种数据迁移***,所述***包括:
数据读取单元,用于读取源数据库中的目标数据;
第一转码处理单元,用于以第一字符编码格式对所述目标数据进行第一字符转码处理,得到中间字符集,所述中间字符集中含有第一类型的字符和第二类型的字符;
第二转码处理单元,用于以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理,所述第二字符编码格式与所述第一字符编码格式的编码范围不同;
字符写入单元,用于将所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符写入目标数据库。
上述***,优选的,所述第一转码处理单元包括:
UTF转码处理子单元,用于以UTF-8(8-bitUnicodeTransformationFormat,万国码)编码格式对所述目标数据进行第一字符转码处理,得到第一类型的字符和第二类型的字符,所述第一类型的字符和所述第二类型的字符组成中间字符集;
相应的,所述第二转码处理单元包括:
GB18030转码处理子单元,用于以gb18030编码格式对所述第一类型的字符进行第二字符转码处理。
上述***,优选的,所述第二转码处理单元包括:
字符识别子单元,用于基于第二字符编码格式,识别出所述中间字符集中的第一类型的字符;
字符替换子单元,用于将识别出的所述第一类型的字符均替换为目标字符。
上述***,优选的,所述目标字符为空格字符。
上述***,优选的,还包括:
文件写入单元,在所述第二转码处理单元以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理之后,用于将所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符写入文本文件。
由上述方案可知,本发明所提供的一种数据迁移方法及***,在读取到源数据库中的目标数据之后,以第一字符编码格式进行第一字符转码处理,能够得到可以分为两种类型的字符,一种是第一字符编码格式下能够直接转换的字符,一种是第一字符编码格式下无法直接转换的字符,如控制字符和普通字符两种类型,之后,再基于区别于第一字符编码格式的第二字符编码格式对这两种类型的字符中第一字符编码格式无法直接转换的第一类型的字符进行第二字符转换处理,最后再将这些所有经过转码处理的字符数据写入到目标数据库中,完成目标数据的迁移。在本发明中,通过将在第一字符编码格式下无法准确转码的类型的字符,利用第二字符编码格式进行转码,转换成所述第一字符编码格式下能够识别的字符,进而避免现有技术中数据转码过程中一些特殊的字符无法准确转码所造成的数据转码失败的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例一提供的一种数据迁移方法的实现流程图;
图2为本发明实施例二提供的一种数据迁移方法的流程图;
图3为本发明实施例三提供的一种数据迁移方法的部分流程图;
图4为本发明实施例四提供的一种数据迁移方法的流程图;
图5为本发明实施例五提供的一种数据迁移***的结构示意图;
图6为本发明实施例六提供的一种数据迁移***的结构示意图;
图7为本发明实施例七提供的一种数据迁移***的部分结构示意图;
图8为本发明实施例八提供的一种数据迁移***的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考图1,为本发明实施例一提供的一种数据迁移方法的实现流程图,其中,所述方法适用于各个行业领域中各种应用***的新老***环境进行交替时的数据迁移,以银行业中***版本及设备更新换代为例,本实施例中的方法能够将老***中的源数据迁移到新***中。
具体的,本实施例中可以包括以下步骤:
步骤101:读取源数据库中的目标数据。
其中,所述源数据库可以为老***中主机的数据库,本实施例中可以利用设置有IBMDatastage工具的数据读取组件来对主机文件的解码和读取任务。
步骤102:以第一字符编码格式对所述目标数据进行第一字符转码处理,得到中间字符集;所述中间字符集中含有第一类型的字符和第二类型的字符。
其中,所述目标数据中可以包含有汉字、字母、各种符号以及各种不可见控制字符等。本实施例中,以所述第一字符编码格式对所述目标数据中的字符数据进行第一字符转码处理,具体是:对所述目标数据中能够识别转换的字符进行第一字符转码处理,而对于所述第一字符编码格式下无法识别出的字符并不进行直接转码,由此,在经过所述第一字符转码处理之后,所述目标数据变换为所述第一类型的字符和第二类型的字符,所述第一类型的字符即为所述第一字符编码方式下无法直接识别转换的字符,所述第二类型的字符即为所述第一字符编码方式下可以直接识别并且已经转换完成的字符。
步骤103:以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理。
其中,所述第二字符编码格式与所述第一字符编码格式的编码范围不同,这里的两种字符编码格式的编码范围不同,是指:两种字符编码格式各自所能够识别转换的字符的种类或格式并不相同,当然,可能存在部分交叉的情况,例如,对于某一个类型的字符,第一字符编码格式能够识别而第二字符编码格式则无法识别,相反,对另外一种类型的字符,第一字符编码格式不能识别而第二字符编码格式能够识别并进行转码。
具体的,本实施例中对所述第一字符编码格式下无法直接识别转换的字符以第二字符编码格式对这些字符进行第二字符转码处理,以得到所述第一字符编码格式下也能够识别出的字符。也就是说,本实施例中,可以通过设置两种或两种以上的字符编码格式对同一目标数据中的字符进行转码,以尽量保证多数的字符均能够被同一个字符编码格式识别,避免乱码或者不兼容的情况。
步骤104:将所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符写入目标数据库。
其中,所述目标数据库可以理解为新***中主机的数据库。也就是说,对于一个目标数据,本实施例中利用两个字符编码格式对该目标数据中的各个字符进行转码处理,得到正确转码的字符数据,迁移到目标数据库中,完成数据迁移任务。
具体的,本实施例在将这些字符写入所述目标数据库之前,需要首先以所述第一字符编码格式,对所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符再次字符转码处理,得到能够写入到所述目标数据库的数据。
由上述方案可知,本发明实施例一所提供的一种数据迁移方法,在读取到源数据库中的目标数据之后,以第一字符编码格式进行第一字符转码处理,能够得到可以分为两种类型的字符,一种是第一字符编码格式下能够直接转换的字符,一种是第一字符编码格式下无法直接转换的字符,如控制字符和普通字符两种类型,之后,再基于区别于第一字符编码格式的第二字符编码格式对这两种类型的字符中第一字符编码格式无法直接转换的第一类型的字符进行第二字符转换处理,最后再将这些所有经过转码处理的字符数据写入到目标数据库中,完成目标数据的迁移。在本实施例中,通过将在第一字符编码格式下无法准确转码的类型的字符,利用第二字符编码格式进行转码,转换成所述第一字符编码格式下能够识别的字符,进而避免现有技术中数据转码过程中一些特殊的字符无法准确转码所造成的数据转码失败的情况。
参考图2,为本发明实施例二提供的一种数据迁移方法的流程图,其中,所述步骤102可以通过以下步骤实现:
步骤121:以UTF-8(8-bitUnicodeTransformationFormat,万国码)编码格式对所述目标数据进行第一字符转码处理,得到第一类型的字符和第二类型的字符。
其中,所述第一类型的字符和所述第二类型的字符组成中间字符集。
具体的,对所述目标数据中的各个原始字符数据,本实施例中首先利用UTF-8进行识别,将识别出的原始字符数据归为第二类型的原始字符数据,将未识别出的原始字符数据归为第一类型的原始字符数据,进而再将第二类型的原始字符数据进行第一字符转码处理,如进行字符串替换等转码处理,得到第二类型的字符,对第一类型的原始字符数据并不进行转码处理,直接将这些原始字符数据中的字符提取出来,作为第一类型的字符。
相应的,所述步骤103可以通过以下步骤实现:
步骤131:以GB18030编码格式对所述第一类型的字符进行第二字符转码处理。
也就是说,本实施例中对UTF-8无法直接转码的字符采用GB18030编码格式进行第二字符转码,以得到正确转码的字符数据。
参考图3,为本发明实施例三提供的一种数据迁移方法中所述步骤103的实现流程图,其中,所述步骤103可以通过以下步骤实现:
步骤132:基于第二字符编码格式,识别出所述中间字符集中的第一类型的字符。
步骤133:将识别出的所述第一类型的字符均替换为目标字符。
具体的,所述目标字符可以为空格字符。
以源数据库EBDIC编码为例,在固有的字符替换UTF-8编码格式中,其中中文字符的编码范围为:0x4E00~0x9FFF,编码高位覆盖了0X1A,根据实际统计,共有275个汉字的高位编码是1A,例如“会计”的“会”,其UTF-8编码为0X4F1A,如直接进行控制字符0x001A的替换,则会改变正常汉子字符编码,从而造成转换的失误。本实施例中采用GB18030编码格式对这些特殊控制字符进行转码处理。其中,GB18030共以单字节、双字节或四字节三种方式编码,单字节与ASCII编码相同,范围为0x00到0x7f,全部128个字符(0x00至0x20及0x7F为33个控制字符,这里面就包括0x1A替换字符),其双字节、四字节各自对应的编码范围如下表1:
表1编码范围
由上述二字节和四字节的编码范围可以看出,所有的字节的范围都在高于0x1A的区域,所以,本实施例中利用GB18030编码方式进行特殊控制字符的转码,不会更改正常的字符。
在数据迁移中,可能存在目标数据库无法连接导致数据无法正常写入的情况或其他情况,此时,需要将转码后的字符数据写入到文本文件中。参考图4,为本发明实施例四提供的一种数据迁移方法的流程图,其中,在所述步骤103之后,所述方法还可以包括以下步骤:
步骤105:将所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符写入文本文件中。
具体的,本实施例在将这些字符数据写入到文本文件时,无需进行他转码处理,可以直接进行写入操作。
参考图5,为本发明实施例五提供的一种数据迁移***的结构示意图,其中,所述***适用于各个行业领域中各种应用***的新老***环境进行交替时的数据秦逸,以银行业中***版本及设备更新换代为例,本实施例中的***能够将老***中的源数据迁移到新***中。
具体的,本实施例中可以包括以下结构:
数据读取单元501,用于读取源数据库中的目标数据。
其中,所述源数据库可以为老***中主机的数据库,本实施例中可以利用设置有IBMDatastage工具的数据读取组件来对主机文件的解码和读取任务。
第一转码处理单元502,用于以第一字符编码格式对所述目标数据进行第一字符转码处理,得到中间字符集,所述中间字符集中含有第一类型的字符和第二类型的字符。
其中,所述目标数据中可以包含有汉字、字母、各种符号以及各种不可见控制字符等。本实施例中,以所述第一字符编码格式对所述目标数据中的字符数据进行第一字符转码处理,具体是:对所述目标数据中能够识别转换的字符进行第一字符转码处理,而对于所述第一字符编码格式下无法识别出的字符并不进行直接转码,由此,在经过所述第一字符转码处理之后,所述目标数据变换为所述第一类型的字符和第二类型的字符,所述第一类型的字符即为所述第一字符编码方式下无法直接识别转换的字符,所述第二类型的字符即为所述第一字符编码方式下可以直接识别并且已经转换完成的字符。
第二转码处理单元503,用于以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理。
其中,所述第二字符编码格式与所述第一字符编码格式的编码范围不同,这里的两种字符编码格式的编码范围不同,是指:两种字符编码格式各自所能够识别转换的字符的种类或格式并不相同,当然,可能存在部分交叉的情况,例如,对于某一个类型的字符,第一字符编码格式能够识别而第二字符编码格式则无法识别,相反,对另外一种类型的字符,第一字符编码格式不能识别而第二字符编码格式能够识别并进行转码。
具体的,本实施例中对所述第一字符编码格式下无法直接识别转换的字符以第二字符编码格式对这些字符进行第二字符转码处理,以得到所述第一字符编码格式下也能够识别出的字符。也就是说,本实施例中,可以通过设置两种或两种以上的字符编码格式对同一目标数据中的字符进行转码,以尽量保证多数的字符均能够被同一个字符编码格式识别,避免乱码或者不兼容的情况。
字符写入单元504,用于将所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符写入目标数据库。
其中,所述目标数据库可以理解为新***中主机的数据库。也就是说,对于一个目标数据,本实施例中利用两个字符编码格式对该目标数据中的各个字符进行转码处理,得到正确转码的字符数据,迁移到目标数据库中,完成数据迁移任务。
具体的,本实施例在将这些字符写入所述目标数据库之前,需要首先以所述第一字符编码格式,对所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符再次字符转码处理,得到能够写入到所述目标数据库的数据。
由上述方案可知,本发明实施例五所提供的一种数据迁移***,在读取到源数据库中的目标数据之后,以第一字符编码格式进行第一字符转码处理,能够得到可以分为两种类型的字符,一种是第一字符编码格式下能够直接转换的字符,一种是第一字符编码格式下无法直接转换的字符,如控制字符和普通字符两种类型,之后,再基于区别于第一字符编码格式的第二字符编码格式对这两种类型的字符中第一字符编码格式无法直接转换的第一类型的字符进行第二字符转换处理,最后再将这些所有经过转码处理的字符数据写入到目标数据库中,完成目标数据的迁移。在本实施例中,通过将在第一字符编码格式下无法准确转码的类型的字符,利用第二字符编码格式进行转码,转换成所述第一字符编码格式下能够识别的字符,进而避免现有技术中数据转码过程中一些特殊的字符无法准确转码所造成的数据转码失败的情况。
参考图6,为本发明实施例六提供的一种数据迁移***的结构示意图,其中,所述第一转码处理单元502可以通过以下结构实现:
UTF转码处理子单元521,用于以UTF-8(8-bitUnicodeTransformationFormat,万国码)编码格式对所述目标数据进行第一字符转码处理,得到第一类型的字符和第二类型的字符。
其中,所述第一类型的字符和所述第二类型的字符组成中间字符集。
具体的,对所述目标数据中的各个原始字符数据,本实施例中首先利用UTF-8进行识别,将识别出的原始字符数据归为第二类型的原始字符数据,将未识别出的原始字符数据归为第一类型的原始字符数据,进而再将第二类型的原始字符数据进行第一字符转码处理,如进行字符串替换等转码处理,得到第二类型的字符,对第一类型的原始字符数据并不进行转码处理,直接将这些原始字符数据中的字符提取出来,作为第一类型的字符。
相应的,所述第二转码处理单元503包括:
GB18030转码处理子单元531,用于以gb18030编码格式对所述第一类型的字符进行第二字符转码处理。
也就是说,本实施例中对UTF-8无法直接转码的字符采用GB18030编码格式进行第二字符转码,以得到正确转码的字符数据。
参考图7,为本发明实施例七提供的一种数据迁移***中所述第二转码处理单元503的结构示意图,其中,所述第二转码处理单元503可以包括以下结构:
字符识别子单元532,用于基于第二字符编码格式,识别出所述中间字符集中的第一类型的字符。
字符替换子单元533,用于将识别出的所述第一类型的字符均替换为目标字符。
具体的,所述目标字符可以为空格字符。
以源数据库EBDIC编码为例,在固有的字符替换UTF-8编码格式中,其中中文字符的编码范围为:0x4E00~0x9FFF,编码高位覆盖了0X1A,根据实际统计,共有275个汉字的高位编码是1A,例如“会计”的“会”,其UTF-8编码为0X4F1A,如直接进行控制字符0x001A的替换,则会改变正常汉子字符编码,从而造成转换的失误。本实施例中采用GB18030编码格式对这些特殊控制字符进行转码处理。其中,GB18030共以单字节、双字节或四字节三种方式编码,单字节与ASCII编码相同,范围为0x00到0x7f,全部128个字符(0x00至0x20及0x7F为33个控制字符,这里面就包括0x1A替换字符),其双字节、四字节各自对应的编码范围如下表1:
表1编码范围
由上述二字节和四字节的编码范围可以看出,所有的字节的范围都在高于0x1A的区域,所以,本实施例中利用GB18030编码方式进行特殊控制字符的转码,不会更改正常的字符。
在数据迁移中,可能存在目标数据库无法连接导致数据无法正常写入的情况或其他情况,此时,需要将转码后的字符数据写入到文本文件中。参考图8,为本发明实施例八提供的一种数据迁移***的结构示意图,其中,所述***还可以包括以下结构单元:
文件写入单元505,在所述第二转码处理单元503以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理之后,用于将所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符写入文本文件。
具体的,本实施例在将这些字符数据写入到文本文件时,无需进行他转码处理,可以直接进行写入操作。
以银行业为例,上述各个实施例中,可以基于IBMInfoSphereInformationServer实现,BMInfoSphereInformationServer作为IBM主推的数据集成软件平台,可以帮助企业高效聚合以及清理、变换散布在各个***中的复杂异构信息;基于IBM高效的开发及部署数据转换及清理程序效率,此款软件被采用来作为贷记卡项目数据转换阶段的主力工具进行使用。
由于贷记卡存量数据庞大,且随着老***的建设是从无到有逐步成熟起来的,势必会在数据转换过程中,遇到因早期输入数据质量相对不精造成的数据清理问题。并且,各个数据转码工具对于缺失值、异常值的处理,都有自己的标准,这些标准对于软件自身是标准,但对于数据转换来说却有可能是不适用的,例如IBMDatastage工具对于无法识别转换的数据,通常要利用预设的标识字符替换表进行相应的标识字符替换。
但是,结合迁移转码中主机文件转码映射时观察到的现象,对于主机EBDIC编码中,中文字段都是以OE开头,0F结束,但因为长度不够而造成截断发生时,往往0F是缺失的;IBMDATASTAGE对于此缺失的处理,既是按照以上方式,将最后一个字段进行标识字符的替换,既为0x001A字符,其代表着ASCII码中常见的不可见控制字‘sub’。
由于不可见控制字符‘sub’的存在,会对账单打印、国际卡组织上传文件等造成格式不兼容错误,因此务必需要在迁移转码过程中能够识别并替换为***兼容的字符,例如空格等。
新一代的统一字符编码格式为UTF-8,其中中文字符的编码范围为:0x4E00~0x9FFF,编码高位覆盖了0X1A,根据实际统计,共有275个汉字的高位编码是1A,例如会计的会,其UTF-8编码为0X4F1A,如直接进行控制字符0x001A的替换,则会改变正常汉子字符编码,从而造成转换的失误。
本实施例中采用编码范围区别于UTF-8的GB18030来对字符进行转码处理,以正常字符中Unicode编码含有1A的字符为“业(4E1A)”为例,首先确保卸数作业读入的转码后中间文件数据集,是按照GB18030编码的,在卸数作业的读入设置中,设置字段DBA_DESCRIPT为gb18030(非unicode)读入,且在transformer中按照前述替换方法去掉单字节0x1A,执行本实施例的方案,可以得到“业”的编码为:(D2B5),由此证实,本实施例中采用GB18030编码方式对UTF-8无法正确转码的字符进行转码能够有效替换掉0x1A,而不改变正常字符的编码。
本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据迁移方法,其特征在于,所述方法包括:
读取源数据库中的目标数据;
以第一字符编码格式对所述目标数据进行第一字符转码处理,得到中间字符集;所述中间字符集中含有第一类型的字符和第二类型的字符;
以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理,所述第二字符编码格式与所述第一字符编码格式的编码范围不同;
将所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符写入目标数据库。
2.根据权利要求1所述的方法,其特征在于,以第一字符编码格式对所述目标数据进行第一字符转码处理,得到中间字符集,包括:
以UTF-8(8-bitUnicodeTransformationFormat,万国码)编码格式对所述目标数据进行第一字符转码处理,得到第一类型的字符和第二类型的字符,所述第一类型的字符和所述第二类型的字符组成中间字符集;
相应的,所述以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理,包括:
以gb18030编码格式对所述第一类型的字符进行第二字符转码处理。
3.根据权利要求1或2所述的方法,其特征在于,以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理,包括:
基于第二字符编码格式,识别出所述中间字符集中的第一类型的字符;
将识别出的所述第一类型的字符均替换为目标字符。
4.根据权利要求3所述的方法,其特征在于,所述目标字符为空格字符。
5.根据权利要求1或2所述的方法,其特征在于,在以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理之后,所述方法还包括:
将所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符写入文本文件。
6.一种数据迁移***,其特征在于,所述***包括:
数据读取单元,用于读取源数据库中的目标数据;
第一转码处理单元,用于以第一字符编码格式对所述目标数据进行第一字符转码处理,得到中间字符集,所述中间字符集中含有第一类型的字符和第二类型的字符;
第二转码处理单元,用于以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理,所述第二字符编码格式与所述第一字符编码格式的编码范围不同;
字符写入单元,用于将所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符写入目标数据库。
7.根据权利要求6所述的***,其特征在于,所述第一转码处理单元包括:
UTF转码处理子单元,用于以UTF-8(8-bitUnicodeTransformationFormat,万国码)编码格式对所述目标数据进行第一字符转码处理,得到第一类型的字符和第二类型的字符,所述第一类型的字符和所述第二类型的字符组成中间字符集;
相应的,所述第二转码处理单元包括:
GB18030转码处理子单元,用于以gb18030编码格式对所述第一类型的字符进行第二字符转码处理。
8.根据权利要求6或7所述的***,其特征在于,所述第二转码处理单元包括:
字符识别子单元,用于基于第二字符编码格式,识别出所述中间字符集中的第一类型的字符;
字符替换子单元,用于将识别出的所述第一类型的字符均替换为目标字符。
9.根据权利要求8所述的***,其特征在于,所述目标字符为空格字符。
10.根据权利要求6或7所述的***,其特征在于,还包括:
文件写入单元,在所述第二转码处理单元以第二字符编码格式对所述中间字符集中第一类型的字符进行第二字符转码处理之后,用于将所述第二类型的字符和经过所述第二字符转码处理的第一类型的字符写入文本文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510765953.1A CN105243168B (zh) | 2015-11-11 | 2015-11-11 | 一种数据迁移方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510765953.1A CN105243168B (zh) | 2015-11-11 | 2015-11-11 | 一种数据迁移方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105243168A true CN105243168A (zh) | 2016-01-13 |
CN105243168B CN105243168B (zh) | 2019-08-30 |
Family
ID=55040816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510765953.1A Active CN105243168B (zh) | 2015-11-11 | 2015-11-11 | 一种数据迁移方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105243168B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897415A (zh) * | 2016-06-06 | 2016-08-24 | 腾讯科技(深圳)有限公司 | 一种提升兼容性的数字签名生成方法及*** |
CN107656940A (zh) * | 2016-07-26 | 2018-02-02 | 北京国双科技有限公司 | 数据库的处理方法和装置 |
CN109885577A (zh) * | 2019-03-11 | 2019-06-14 | Oppo广东移动通信有限公司 | 数据处理方法、装置、终端及存储介质 |
CN110275914A (zh) * | 2019-04-26 | 2019-09-24 | 武汉众邦银行股份有限公司 | 跨数据库的数据迁移方法、装置和存储介质 |
CN111353279A (zh) * | 2020-03-04 | 2020-06-30 | 海南金盘智能科技股份有限公司 | 字符编码的转换方法、装置和计算机存储介质 |
CN111444680A (zh) * | 2020-04-25 | 2020-07-24 | 中信银行股份有限公司 | 生僻字的编码扩展方法、装置、存储介质及电子设备 |
CN117391070A (zh) * | 2023-12-08 | 2024-01-12 | 和元达信息科技有限公司 | 一种乱码字符调整方法及*** |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020120647A1 (en) * | 2000-09-27 | 2002-08-29 | Ibm Corporation | Application data error correction support |
US20040261024A1 (en) * | 2003-06-20 | 2004-12-23 | International Business Machines Corporation | System and method of processing a document targeted for one system on another system |
CN1713173A (zh) * | 2004-06-24 | 2005-12-28 | 台湾积体电路制造股份有限公司 | 计算机可实现的字符集转换方法及*** |
CN101000602A (zh) * | 2006-01-09 | 2007-07-18 | 台湾积体电路制造股份有限公司 | 字符转换方法与*** |
CN101324880A (zh) * | 2007-06-13 | 2008-12-17 | 英华达(上海)电子有限公司 | 一种文字编码的转换方法及转换*** |
CN101655836A (zh) * | 2009-09-03 | 2010-02-24 | 厦门敏讯信息技术股份有限公司 | 嵌入式终端及其utf-8、gb2312编码转换方法 |
CN101674552A (zh) * | 2009-09-25 | 2010-03-17 | 中兴通讯股份有限公司 | 一种短信编码方法与终端 |
CN102262450A (zh) * | 2010-05-27 | 2011-11-30 | 北京搜狗科技发展有限公司 | 一种基于混输字符串进行字符转换的方法和装置 |
CN102567019A (zh) * | 2011-12-26 | 2012-07-11 | 山东浪潮齐鲁软件产业股份有限公司 | 一种web应用excel插件时支持多种字符集的方法 |
CN104022913A (zh) * | 2013-12-18 | 2014-09-03 | 深圳市腾讯计算机***有限公司 | 用于数据集群的测试方法和装置 |
CN104199867A (zh) * | 2014-08-18 | 2014-12-10 | 中国科学院软件研究所 | 一种解决文件名乱码问题的zip文件解压缩方法 |
-
2015
- 2015-11-11 CN CN201510765953.1A patent/CN105243168B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020120647A1 (en) * | 2000-09-27 | 2002-08-29 | Ibm Corporation | Application data error correction support |
US20040261024A1 (en) * | 2003-06-20 | 2004-12-23 | International Business Machines Corporation | System and method of processing a document targeted for one system on another system |
CN1713173A (zh) * | 2004-06-24 | 2005-12-28 | 台湾积体电路制造股份有限公司 | 计算机可实现的字符集转换方法及*** |
CN101000602A (zh) * | 2006-01-09 | 2007-07-18 | 台湾积体电路制造股份有限公司 | 字符转换方法与*** |
CN101324880A (zh) * | 2007-06-13 | 2008-12-17 | 英华达(上海)电子有限公司 | 一种文字编码的转换方法及转换*** |
CN101655836A (zh) * | 2009-09-03 | 2010-02-24 | 厦门敏讯信息技术股份有限公司 | 嵌入式终端及其utf-8、gb2312编码转换方法 |
CN101674552A (zh) * | 2009-09-25 | 2010-03-17 | 中兴通讯股份有限公司 | 一种短信编码方法与终端 |
CN102262450A (zh) * | 2010-05-27 | 2011-11-30 | 北京搜狗科技发展有限公司 | 一种基于混输字符串进行字符转换的方法和装置 |
CN102567019A (zh) * | 2011-12-26 | 2012-07-11 | 山东浪潮齐鲁软件产业股份有限公司 | 一种web应用excel插件时支持多种字符集的方法 |
CN104022913A (zh) * | 2013-12-18 | 2014-09-03 | 深圳市腾讯计算机***有限公司 | 用于数据集群的测试方法和装置 |
CN104199867A (zh) * | 2014-08-18 | 2014-12-10 | 中国科学院软件研究所 | 一种解决文件名乱码问题的zip文件解压缩方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105897415A (zh) * | 2016-06-06 | 2016-08-24 | 腾讯科技(深圳)有限公司 | 一种提升兼容性的数字签名生成方法及*** |
CN105897415B (zh) * | 2016-06-06 | 2018-11-09 | 腾讯科技(深圳)有限公司 | 一种提升兼容性的数字签名生成方法及*** |
CN107656940A (zh) * | 2016-07-26 | 2018-02-02 | 北京国双科技有限公司 | 数据库的处理方法和装置 |
CN109885577A (zh) * | 2019-03-11 | 2019-06-14 | Oppo广东移动通信有限公司 | 数据处理方法、装置、终端及存储介质 |
CN109885577B (zh) * | 2019-03-11 | 2021-07-13 | Oppo广东移动通信有限公司 | 数据处理方法、装置、终端及存储介质 |
CN110275914A (zh) * | 2019-04-26 | 2019-09-24 | 武汉众邦银行股份有限公司 | 跨数据库的数据迁移方法、装置和存储介质 |
CN111353279A (zh) * | 2020-03-04 | 2020-06-30 | 海南金盘智能科技股份有限公司 | 字符编码的转换方法、装置和计算机存储介质 |
CN111444680A (zh) * | 2020-04-25 | 2020-07-24 | 中信银行股份有限公司 | 生僻字的编码扩展方法、装置、存储介质及电子设备 |
CN111444680B (zh) * | 2020-04-25 | 2023-05-16 | 中信银行股份有限公司 | 生僻字的编码扩展方法、装置、存储介质及电子设备 |
CN117391070A (zh) * | 2023-12-08 | 2024-01-12 | 和元达信息科技有限公司 | 一种乱码字符调整方法及*** |
CN117391070B (zh) * | 2023-12-08 | 2024-03-22 | 和元达信息科技有限公司 | 一种乱码字符调整方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN105243168B (zh) | 2019-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105243168A (zh) | 一种数据迁移方法及*** | |
US7663511B2 (en) | Dynamic character encoding | |
CN107592116B (zh) | 一种数据压缩方法、装置及存储介质 | |
EP0109615A2 (en) | Methodology for transforming a first editable document form prepared with a batch text processing system to a second editable document form usable by an interactive or batch text processing system | |
US7690581B2 (en) | Method and apparatus for generating a barcode with a human readable interpretation, a printing apparatus, and a program | |
CN101008940B (zh) | 自动处理字体缺失的方法与装置 | |
CN100585561C (zh) | 在嵌入式***剪裁可重定位的elf文件的方法 | |
CN101553779A (zh) | 将主机***应用程序转换为开放***应用程序的转换装置和方法 | |
CN101261621B (zh) | 文档处理方法及装置 | |
JP5551660B2 (ja) | テキストをマトリクスコードシンボルに符号化するコンピュータ実行方法、マトリクスコードシンボルを復号化するコンピュータ実行方法、テキストをマトリクスコードシンボルに符号化するためのエンコーダ、およびマトリクスコードシンボルを復号化するためのデコーダ | |
US20180052810A1 (en) | Non-transitory computer-readable recording medium, encoding method, encoding apparatus, decoding method, and decoding apparatus | |
JP7059516B2 (ja) | 符号化プログラム、符号化装置および符号化方法 | |
CN103106584A (zh) | 一种处理非统一的图书信息数据的***及其方法 | |
CN103699646B (zh) | 标记式二进制数据可逆性压缩法 | |
CN104412255A (zh) | 文本处理***、电子文本、文本处理方法以及程序 | |
EP3236368A1 (en) | Encoding processing program, encoding processing device, encoding processing method, decoding processing program, decoding processing device, and decoding processing method | |
CN101149669A (zh) | 文字编码转换的方法 | |
CN100418091C (zh) | 打印数据处理器、打印***、打印数据和打印作业数据的备份方法以及程序 | |
US20090083267A1 (en) | Method and System for Compressing Data | |
CN103092859B (zh) | 一种获取音乐文件信息的方法及装置 | |
CN101553800B (zh) | 将主机***sam/vsam文件转换为开放***sam/vsam文件的转换装置和方法 | |
US11461411B2 (en) | System and method for parsing visual information to extract data elements from randomly formatted digital documents | |
Rahma et al. | Proposed steganographic method for data hiding in Microsoft word documents structure | |
CN101101628B (zh) | 二维条码编码的汉字信息压缩方法 | |
CN104376008A (zh) | Xml绝对路径转换方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |