代码的转换处理方法、装置及客户端制造方法及图纸

技术编号:38401086 阅读:6 留言:0更新日期:2023-08-07 11:12
本申请提供一种代码的转换处理方法、装置及客户端,涉及数据处理技术,该方法包括:接收更新处理请求;更新处理请求包括待更新应用标识;获取与待更新应用标识对应的待更新应用的待转换代码文件。若确定待转换代码文件的语言类型不符合预设的语言类型,则对待转换代码文件进行解析处理,获取解析出的公用面向商业语言语法树及SQL信息。对公用面向商业语言语法树及SQL信息进行封装处理,得到封装信息。根据预设的语法规则信息及封装信息,生成目标代码。本申请的方法,可以将待转换代码文件自动转换为符合Hive数据库中Sql语言的目标代码,实现代码的批量自动转换,解决了代码转换效率较低的技术问题。较低的技术问题。较低的技术问题。

【技术实现步骤摘要】
代码的转换处理方法、装置及客户端


[0001]本申请涉及数据处理技术,尤其涉及一种代码的转换处理方法、装置及客户端。

技术介绍

[0002]目前,随着数字化转型,原有的主机架构需要向平台化转型,这其中涉及到原有的批量报表由主机处理向平台处理的转变,即需要将应用的COBOL代码转换为Hive数据库上的Sql语言。
[0003]现有技术中,代码转换主要是靠人工研读批量报表的Cobol代码,再参照Hive Sql语法进行改写。
[0004]然而现有技术中,由于通过人工改写Cobol代码,将Cobol代码转换成Hive Sql代码,改写方式效率低下,需要耗费大量的人力成本,进而导致代码转换效率较低。

技术实现思路

[0005]本申请提供一种代码的转换处理方法、装置及客户端,用以解决代码转换效率较低的技术问题。
[0006]第一方面,本申请提供一种代码的转换处理方法,包括:
[0007]接收更新处理请求;其中,所述更新处理请求包括待更新应用标识;并基于所述更新处理请求,获取与所述待更新应用标识对应的待更新应用的待转换代码文件;
[0008]若确定所述待转换代码文件的语言类型不符合预设的语言类型,则对所述待转换代码文件进行解析处理,获取解析出的公用面向商业语言语法树以及SQL信息;
[0009]对所述公用面向商业语言语法树以及所述SQL信息进行封装处理,得到封装信息;
[0010]根据预设的语法规则信息以及所述封装信息,生成目标代码,以便将所述目标代码发送至服务器中,并部署所述目标代码;其中,所述语法规则信息用于指示符合Hive SQL语法的生成规则信息。
[0011]进一步地,对所述待转换代码文件进行解析处理,获取解析出的公用面向商业语言语法树以及SQL信息,包括:
[0012]根据预设的解析器对所述待转换代码文件进行解析,得到解析出的公用面向商业语言语法树;其中,所述解析器包括词法解析器和语法解析器;
[0013]对所述公用面向商业语言语法树中的每一语句进行解析处理,获取SQL信息。
[0014]进一步地,对所述公用面向商业语言语法树中的每一语句进行解析处理,获取SQL信息,包括:
[0015]确定所述公用面向商业语言语法树中的每一语句所属的语句类型;
[0016]基于预设的语句类型与获取规则信息之间的第一映射关系,依据与每一语句所属的语句类型对应的目标获取规则信息,对相应的语句进行解析处理,获取每一语句中的SQL信息。
[0017]进一步地,对所述公用面向商业语言语法树以及所述SQL信息进行封装处理,得到
封装信息,包括:
[0018]获取所述公用面向商业语言语法树中的数据部和过程部;其中,所述数据部中包含定义信息,所述过程部包含逻辑处理信息;
[0019]根据所述定义信息,确定输出的文件结构和变量字段;
[0020]根据所述逻辑处理信息,确定源表信息、目标表信息、所述源表信息中的源表字段与所述目标表信息中的目标表字段之间的第二映射关系;
[0021]对所述源表信息、目标表信息、所述第二映射关系进行封装,得到封装信息。
[0022]进一步地,所述根据预设的语法规则信息以及所述封装信息,生成目标代码,包括:
[0023]根据预设的语法规则信息以及所述封装信息中的所述目标表信息,创建目标表的建表语句;
[0024]根据所述目标表信息,拼接生成插入语句的前半部分;并根据所述源表信息,拼接生成插入语句的后半部分;
[0025]对所述前半部分和后半部分进行拼接,获取插入语句;
[0026]以文件格式输出与所述插入语句对应的目标代码。
[0027]进一步地,所述目标表信息包括目标表名、字段名、字段类型以及字段长度;所述源表信息包括源表名称、字段名称列表、查询条件以及所述查询条件中的字段,所述查询条件中的字段是根据所述第二映射关系确定的。
[0028]进一步地,所述方法还包括:
[0029]获取数据库库名和输出路径;其中,所述数据库库名表征所述待转换代码文件对应的Hive数据库,所述输出路径为存取目标代码的根路径;
[0030]所述以文件格式输出与所述插入语句对应的目标代码,包括:
[0031]根据所述文件格式和所述输出路径,在所述Hive数据库中生成与所述插入语句对应的目标代码。
[0032]进一步地,所述方法还包括:
[0033]获取工程路径;其中,所述工程路径为待转换代码文件的根路径;
[0034]对所述工程路径进行递归扫描,获取所述工程路径下的待转换代码文件,并将所述待转换代码文件加入待转换队列中;
[0035]所述基于所述更新处理请求,获取与所述待更新应用标识对应的待更新应用的待转换代码文件,包括:
[0036]基于所述更新处理请求,在所述待转换队列中查找并获取与所述待更新应用标识对应的待更新应用的待转换代码文件。
[0037]第二方面,本申请提供一种代码的转换处理装置,包括:
[0038]接收单元,用于接收更新处理请求;其中,所述更新处理请求包括待更新应用标识;
[0039]获取单元,用于基于所述代码转换请求,获取待转换队列中的与所述待转换代码文件标识对应的待转换代码文件;
[0040]解析单元,用于若确定所述待转换代码文件的语言类型不符合预设的语言类型,则对所述待转换代码文件进行解析处理,获取解析出的公用面向商业语言语法树以及SQL
信息;
[0041]封装单元,用于对所述公用面向商业语言语法树以及所述SQL信息进行封装处理,得到封装信息;
[0042]生成单元,用于根据预设的语法规则信息以及所述封装信息,生成目标代码,以便将所述目标代码发送至服务器中,并部署所述目标代码;其中,所述语法规则信息用于指示符合Hive SQL语法的生成规则信息。
[0043]进一步地,所述解析单元,包括:
[0044]第一解析模块,用于根据预设的解析器对所述待转换代码文件进行解析,得到解析出的公用面向商业语言语法树;其中,所述解析器包括词法解析器和语法解析器;
[0045]第二解析模块,用于对所述公用面向商业语言语法树中的每一语句进行解析处理,获取SQL信息。
[0046]进一步地,所述第二解析模块,包括:
[0047]确定子模块,用于确定所述公用面向商业语言语法树中的每一语句所属的语句类型;
[0048]解析子模块,用于基于预设的语句类型与获取规则信息之间的第一映射关系,依据与每一语句所属的语句类型对应的目标获取规则信息,对相应的语句进行解析处理,获取每一语句中的SQL信息。
[0049]进一步地,所述封装单元,包括:
[0050]获取模块,用于获取所述公用面向商业语言语法树中的数据部和过程部;其中,所述数据部中包含定义信息,所述过程部包含逻辑处理信息;
[005本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码的转换处理方法,其特征在于,包括:接收更新处理请求;其中,所述更新处理请求包括待更新应用标识;并基于所述更新处理请求,获取与所述待更新应用标识对应的待更新应用的待转换代码文件;若确定所述待转换代码文件的语言类型不符合预设的语言类型,则对所述待转换代码文件进行解析处理,获取解析出的公用面向商业语言语法树以及SQL信息;对所述公用面向商业语言语法树以及所述SQL信息进行封装处理,得到封装信息;根据预设的语法规则信息以及所述封装信息,生成目标代码,以便将所述目标代码发送至服务器中,并部署所述目标代码;其中,所述语法规则信息用于指示符合Hive SQL语法的生成规则信息。2.根据权利要求1所述的方法,其特征在于,对所述待转换代码文件进行解析处理,获取解析出的公用面向商业语言语法树以及SQL信息,包括:根据预设的解析器对所述待转换代码文件进行解析,得到解析出的公用面向商业语言语法树;其中,所述解析器包括词法解析器和语法解析器;对所述公用面向商业语言语法树中的每一语句进行解析处理,获取SQL信息。3.根据权利要求2所述的方法,其特征在于,对所述公用面向商业语言语法树中的每一语句进行解析处理,获取SQL信息,包括:确定所述公用面向商业语言语法树中的每一语句所属的语句类型;基于预设的语句类型与获取规则信息之间的第一映射关系,依据与每一语句所属的语句类型对应的目标获取规则信息,对相应的语句进行解析处理,获取每一语句中的SQL信息。4.根据权利要求1所述的方法,其特征在于,对所述公用面向商业语言语法树以及所述SQL信息进行封装处理,得到封装信息,包括:获取所述公用面向商业语言语法树中的数据部和过程部;其中,所述数据部中包含定义信息,所述过程部包含逻辑处理信息;根据所述定义信息,确定输出的文件结构和变量字段;根据所述逻辑处理信息,确定源表信息、目标表信息、所述源表信息中的源表字段与所述目标表信息中的目标表字段之间的第二映射关系;对所述源表信息、目标表信息、所述第二映射关系进行封装,得到封装信息。5.根据权利要求4所述的方法,其特征在于,所述根据预设的语法规则信息以及所述封装信息,生成目标代码,包括:根据预设的语法规则信息以及所述封装信息中的所述目标表信息,创建目标表的建表语句;根据所述目标表信息,拼接生成插入语句的前半部分;并根据所述源表信息,拼接生成插入语句的后半部分;对所述前半部分和后半部分进行拼接,获取插入语句;以文件格式输出与所述插入语句对应的目标代码。6.根据权利要求5任一项所述的方法,其特征在于,所述目标表信息包括目...

【专利技术属性】
技术研发人员:曾杰黄平李道宁段秋实
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1