System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据处理,特别是涉及一种数据类型转换方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
技术介绍
1、随着科技技术的发展,大数据技术也越来越成熟,对于数据库管理的需求也日益增加,在对数据库进行管理时,通常涉及到数据的迁移,而当将数据库中的数据迁移至包含不同数据类型数据的外部系统,或者,当外部系统中不同数据类型数据迁移至数据库的情况下,需要对待迁移数据进行数据类型转换,以完成数据迁移过程。
2、传统技术中,通常采用数据转换工具实现数据类型转换,但是这种方式具体为使用常用的静态规则替换待转换数据的函数名和关键字,当待转换数据的语句结构较复杂,或,待转换数据的数据类型转换并不通用的情况,则需要人工干预以实现待转换数据的数据类型转换,导致数据类型转换效率较低。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高数据类型转换效率的数据类型转换方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
2、第一方面,本申请提供了一种数据类型转换方法,包括:
3、提取属于第一数据类型的待转换数据的第一编程语言信息;
4、执行生成步骤:根据所述第一编程语言信息和所述待转换数据对应的数据类型转换规则,生成抽象语法树,其中,所述抽象语法树由至少一个语法节点组成,所述语法节点用于表征所述第一编程语言信息和所述数据类型转换规则之间的对应关系;
5、通过遍历所述抽象语法树中的各语法节点,将所述第一编程语言信息由
6、在其中一个实施例中,所述根据所述第一编程语言信息和所述待转换数据对应的数据类型转换规则,生成抽象语法树,包括:根据所述第一编程语言信息的第一语义信息,将所述第一编程语言信息进行拆分,得到拆分信息;根据所述拆分信息和所述待转换数据对应的数据类型转换规则,生成至少一个语法节点;根据所述至少一个语法节点,构建抽象语法树。
7、在其中一个实施例中,所述通过遍历所述抽象语法树中的各语法节点,将所述待转换数据的第一编程语言信息由所述第一数据类型转换为第二数据类型,得到第二编程语言信息之后,所述方法还包括:对所述第二编程语言信息进行编译和运行,得到运行结果;若所述运行结果中存在运行异常结果,则在所述第二编程语言信息中筛选所述运行异常结果对应的异常转换信息;根据所述异常转换信息,对所述数据类型转换规则进行更新,并返回执行所述生成步骤,直至所述运行结果中不存在运行异常结果。
8、在其中一个实施例中,所述根据所述异常转换信息,对所述数据类型转换规则进行更新,包括:在所述数据类型转换规则中选取所述异常转换信息对应的待更新转换规则;对所述第一编程语言信息进行语义提取,得到第一语义信息,以及,对所述异常转换信息进行语义提取,得到第二语义信息;根据所述待更新转换规则的规则类型、所述第一语义信息和所述第二语义信息,对所述待更新转换规则进行更新。
9、在其中一个实施例中,所述根据所述待更新转换规则的规则类型、所述第一语义信息和所述第二语义信息,对所述待更新转换规则进行更新,包括:检测所述第一语义信息和所述第二语义信息之间的差异,得到语义差异信息;根据所述待更新转换规则的规则类型,生成所述待更新转换规则对应的更新方式;根据所述语义差异信息和所述更新方式,对所述待更新转换规则进行更新。
10、在其中一个实施例中,所述通过遍历所述抽象语法树中的各语法节点,将所述第一编程语言信息由所述第一数据类型转换为第二数据类型,得到第二编程语言信息,包括:通过遍历所述抽象语法树中的语法节点,根据所述语法节点中包含的数据类型转换规则,将所述语法节点中包含的第一编程语言信息由所述第一数据类型转换为所述第二数据类型,得到转换信息;将所述抽象语法树中的语法节点对应的各转换信息进行拼接,得到第二编程语言信息。
11、第二方面,本申请还提供了一种数据类型转换装置,包括:
12、提取模块,用于提取属于第一数据类型的待转换数据的第一编程语言信息;
13、生成模块,用于执行生成步骤:根据所述第一编程语言信息和所述待转换数据对应的数据类型转换规则,生成抽象语法树,其中,所述抽象语法树由至少一个语法节点组成,所述语法节点用于表征所述第一编程语言信息和所述数据类型转换规则之间的对应关系;
14、转换模块,用于通过遍历所述抽象语法树中的各语法节点,将所述第一编程语言信息由所述第一数据类型转换为第二数据类型,得到第二编程语言信息。
15、第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
16、提取属于第一数据类型的待转换数据的第一编程语言信息;
17、执行生成步骤:根据所述第一编程语言信息和所述待转换数据对应的数据类型转换规则,生成抽象语法树,其中,所述抽象语法树由至少一个语法节点组成,所述语法节点用于表征所述第一编程语言信息和所述数据类型转换规则之间的对应关系;
18、通过遍历所述抽象语法树中的各语法节点,将所述第一编程语言信息由所述第一数据类型转换为第二数据类型,得到第二编程语言信息。
19、第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
20、提取属于第一数据类型的待转换数据的第一编程语言信息;
21、执行生成步骤:根据所述第一编程语言信息和所述待转换数据对应的数据类型转换规则,生成抽象语法树,其中,所述抽象语法树由至少一个语法节点组成,所述语法节点用于表征所述第一编程语言信息和所述数据类型转换规则之间的对应关系;
22、通过遍历所述抽象语法树中的各语法节点,将所述第一编程语言信息由所述第一数据类型转换为第二数据类型,得到第二编程语言信息。
23、第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
24、提取属于第一数据类型的待转换数据的第一编程语言信息;
25、执行生成步骤:根据所述第一编程语言信息和所述待转换数据对应的数据类型转换规则,生成抽象语法树,其中,所述抽象语法树由至少一个语法节点组成,所述语法节点用于表征所述第一编程语言信息和所述数据类型转换规则之间的对应关系;
26、通过遍历所述抽象语法树中的各语法节点,将所述第一编程语言信息由所述第一数据类型转换为第二数据类型,得到第二编程语言信息。
27、上述数据类型转换方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,通过提取属于第一数据类型的待转换数据的第一编程语言信息;执行生成步骤:根据所述第一编程语言信息和所述待转换数据对应的数据类型转换规则,生成抽象语法树,其中,所述抽象语法树由至少一个语法节点组成,所述语法节点用本文档来自技高网...
【技术保护点】
1.一种数据类型转换方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一编程语言信息和所述待转换数据对应的数据类型转换规则,生成抽象语法树,包括:
3.根据权利要求1所述的方法,其特征在于,所述通过遍历所述抽象语法树中的各语法节点,将所述待转换数据的第一编程语言信息由所述第一数据类型转换为第二数据类型,得到第二编程语言信息之后,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述异常转换信息,对所述数据类型转换规则进行更新,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述待更新转换规则的规则类型、所述第一语义信息和所述第二语义信息,对所述待更新转换规则进行更新,包括:
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述通过遍历所述抽象语法树中的各语法节点,将所述第一编程语言信息由所述第一数据类型转换为第二数据类型,得到第二编程语言信息,包括:
7.一种数据类型转换装置,其特征在于,所述装置包括:
8.根据权利要求7所
9.根据权利要求7所述的装置,其特征在于,所述通过遍历所述抽象语法树中的各语法节点,将所述待转换数据的第一编程语言信息由所述第一数据类型转换为第二数据类型,得到第二编程语言信息之后,所述装置还包括:更新模块,用于对所述第二编程语言信息进行编译和运行,得到运行结果;若所述运行结果中存在运行异常结果,则在所述第二编程语言信息中筛选所述运行异常结果对应的异常转换信息;根据所述异常转换信息,对所述数据类型转换规则进行更新,并返回执行所述生成步骤,直至所述运行结果中不存在运行异常结果。
10.根据权利要求9所述的装置,其特征在于,所述更新模块还用于在所述数据类型转换规则中选取所述异常转换信息对应的待更新转换规则;对所述第一编程语言信息进行语义提取,得到第一语义信息,以及,对所述异常转换信息进行语义提取,得到第二语义信息;根据所述待更新转换规则的规则类型、所述第一语义信息和所述第二语义信息,对所述待更新转换规则进行更新。
11.根据权利要求10所述的装置,其特征在于,所述更新模块还用于检测所述第一语义信息和所述第二语义信息之间的差异,得到语义差异信息;根据所述待更新转换规则的规则类型,生成所述待更新转换规则对应的更新方式;根据所述语义差异信息和所述更新方式,对所述待更新转换规则进行更新。
12.根据权利要求7至11任一项所述的装置,其特征在于,所述转换模块还用于通过遍历所述抽象语法树中的语法节点,根据所述语法节点中包含的数据类型转换规则,将所述语法节点中包含的第一编程语言信息由所述第一数据类型转换为所述第二数据类型,得到转换信息;将所述抽象语法树中的语法节点对应的各转换信息进行拼接,得到第二编程语言信息。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
15.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种数据类型转换方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一编程语言信息和所述待转换数据对应的数据类型转换规则,生成抽象语法树,包括:
3.根据权利要求1所述的方法,其特征在于,所述通过遍历所述抽象语法树中的各语法节点,将所述待转换数据的第一编程语言信息由所述第一数据类型转换为第二数据类型,得到第二编程语言信息之后,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述异常转换信息,对所述数据类型转换规则进行更新,包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述待更新转换规则的规则类型、所述第一语义信息和所述第二语义信息,对所述待更新转换规则进行更新,包括:
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述通过遍历所述抽象语法树中的各语法节点,将所述第一编程语言信息由所述第一数据类型转换为第二数据类型,得到第二编程语言信息,包括:
7.一种数据类型转换装置,其特征在于,所述装置包括:
8.根据权利要求7所述的装置,其特征在于,所述生成模块还用于根据所述第一编程语言信息的第一语义信息,将所述第一编程语言信息进行拆分,得到拆分信息;根据所述拆分信息和所述待转换数据对应的数据类型转换规则,生成至少一个语法节点;根据所述至少一个语法节点,构建抽象语法树。
9.根据权利要求7所述的装置,其特征在于,所述通过遍历所述抽象语法树中的各语法节点,将所述待转换数据的第一编程语言信息由所述第一数据类型转换为第二数据类型,得到第二编程语言信息之后,所述装置还包括:更新模块,用于对所述第二编程语言信息进行编译和运行,得到运行结果;若所述运行结果中存在运行异常结果,则在所述第二编程语言信息中筛选所...
【专利技术属性】
技术研发人员:娄宸恺,曾欣,吕飞鹏,张闯,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。