一种程序代码转换方法、装置、介质和计算设备制造方法及图纸

技术编号:21060010 阅读:22 留言:0更新日期:2019-05-08 06:52
本发明专利技术的实施方式提供了一种程序代码转换方法、装置、介质和计算设备。该方法包括:逐句读取程序的源代码;判断当前读取到的程序语句是否为特定语句;若是,将程序语句转换成中间代码;解释执行中间代码;若否,直接解释执行程序语句。该方法通过判断当前程序语句是否为特定语句,并根据判断结果来解释执行程序语句,以实现对程序语句的自动识别和动态修改,有助于简化程序语句的修改方案,降低程序语句的实现逻辑复杂度和维护难度,提高程序语句的通用性。

【技术实现步骤摘要】
一种程序代码转换方法、装置、介质和计算设备
本专利技术的实施方式涉及软件领域,更具体地,本专利技术的实施方式涉及一种程序代码转换方法、装置、介质和计算设备。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。乐观锁(OptimisticLock)适用于多读的应用类型,有助于提高数据库表的吞吐量。在基于数据版本(Version)机制的乐观锁解决方案中,数据版本是用于指示数据更迭的版本标识,通过为数据库表增加数据版本(例如version字段)可以在数据提交时判断待提交的该数据是否为过期数据,若待提交的数据不是过期数据则将该数据以及对应的数据版本更新至数据库,若待提交的数据为过期数据则确定不将该数据更新至数据库。目前,乐观锁解决方案的实现多依赖于手动添加的乐观锁实现逻辑,例如开发应用时在结构化查询(StructuredQueryLanguage,SQL)语句中手动添加的针对数据库表中version字段的判断条件。由于乐观锁解决方案中乐观锁实现逻辑需要设置于核心逻辑语句中,使得乐观锁的实现逻辑完全耦合于业务代码,导致乐观锁的实现逻辑复杂,维护难度大,通用性低,可插拔性差。此外,乐观锁解决方案中乐观锁实现逻辑还会涉及到的数据库表数量较多,进一步增大了乐观锁的开发难度和维护难度。综上,目前乐观锁解决方案存在实现逻辑复杂,维护难度大,通用性低,可插拔性差等问题。
技术实现思路
乐观锁(OptimisticLock)适用于多读的应用类型,有助于提高数据库表的吞吐量。但目前乐观锁解决方案的实现多依赖于手动添加的判断条件,由于乐观锁解决方案中判断条件设置于核心逻辑语句中,使得乐观锁的实现逻辑完全耦合于业务代码,导致目前乐观锁解决方案存在实现逻辑复杂,维护难度大,通用性低,可插拔性差等问题。此外,由于目前乐观锁解决方案中判断条件涉及到的数据库表数量较多,进一步还会导致乐观锁的开发难度以及维护难度增大的问题。在本上下文中,本专利技术的实施方式期望提供一种程序代码转换方法、装置、介质和计算设备,用以解决目前乐观锁解决方案存在的上述问题。在本专利技术实施方式的第一方面中,提供了一种程序代码转换方法,包括:逐句读取程序的源代码;判断当前读取到的程序语句是否为特定语句;若是,将程序语句转换成中间代码;解释执行中间代码;若否,直接解释执行程序语句。在本专利技术的一个实施例中,解释执行中间代码能够实现与解释执行程序语句不同的功能。在本专利技术的另一实施例中,判断当前读取到的程序语句是否为特定语句的步骤包括:获取配置文件中预设的关键字段;根据关键字段判断程序语句是否为特定语句。在本专利技术的又一个实施例中,根据关键字段判断程序语句是否为特定语句的步骤包括:判断关键字段与程序语句中的各个字段是否匹配;根据匹配结果判断程序语句是否为特定语句。在本专利技术的再一个实施例中,识别程序代码中的特定语句的步骤包括:获取配置文件中预设的唯一标识;根据唯一标识判断程序语句是否为特定语句。在本专利技术的还一个实施例中,根据唯一标识判断程序语句是否为特定语句的步骤包括:获取程序语句的唯一标识;判断预设的唯一标识与程序语句的唯一标识是否匹配;根据匹配结果判断程序语句是否为特定语句。在本专利技术的一个实施例中,将程序语句转换成中间代码的步骤包括:获取配置文件中预设的中间代码生成规则;基于规则将程序语句转换成中间代码。在本专利技术的一个实施例中,预设的中间代码生成规则包括预设字段以及对应的操作类型,基于规则将程序语句转换成中间代码的步骤包括:将预设字段拼接至程序语句的指定位置以生成中间代码;或将预设字段从程序语句的指定位置删除以生成中间代码。在本专利技术的一个实施例中,预设字段包括能够实现版本控制功能的字段。在本专利技术的一个实施例中,配置文件存储于本地或分布式配置管理平台。在本专利技术实施方式的第二方面中,提供了一种程序代码转换装置,包括:源代码读取模块,被配置为逐句读取程序的源代码;特定语句判断模块,被配置为判断当前读取到的程序语句是否为特定语句;中间代码生成模块,被配置为若判断结果为是,将程序语句转换成中间代码;解释执行模块,被配置为解释执行中间代码;以及若判断结果为否,直接解释执行程序语句。在本专利技术的一个实施例中,解释执行中间代码能够实现与解释执行程序语句不同的功能。在本专利技术的一个实施例中,特定语句判断模块具体用于:获取配置文件中预设的关键字段;根据关键字段判断程序语句是否为特定语句。在本专利技术的一个实施例中,特定语句判断模块在根据关键字段判断程序语句是否为特定语句时,具体用于:判断关键字段与程序语句中的各个字段是否匹配;根据匹配结果判断程序语句是否为特定语句。在本专利技术的一个实施例中,特定语句判断模块具体用于:获取配置文件中预设的唯一标识;根据唯一标识判断程序语句是否为特定语句。在本专利技术的一个实施例中,特定语句判断模块在根据唯一标识判断程序语句是否为特定语句时,具体用于:获取程序语句的唯一标识;判断预设的唯一标识与程序语句的唯一标识是否匹配;根据匹配结果判断程序语句是否为特定语句。在本专利技术的一个实施例中,中间代码生成模块具体用于:获取配置文件中预设的中间代码生成规则;基于规则将程序语句转换成中间代码。在本专利技术的一个实施例中,预设的中间代码生成规则包括预设字段以及对应的操作类型,中间代码生成模块在基于规则将程序语句转换成中间代码时,具体用于:将预设字段拼接至程序语句的指定位置以生成中间代码;或将预设字段从程序语句的指定位置删除以生成中间代码。在本专利技术的一个实施例中,预设字段包括能够实现版本控制功能的字段。在本专利技术的一个实施例中,配置文件存储于本地或分布式配置管理平台。在本专利技术实施方式的第三方面中,提供了一种介质,该介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行第一方面中任一实施例的方法。在本专利技术实施方式的第四方面中,提供了一种计算设备,包括处理单元、存储器以及输入/输出(In/Out,I/O)接口;存储器,用于存储处理单元执行的程序或指令;处理单元,用于根据存储器存储的程序或指令,执行第一方面中任一实施例的方法;I/O接口,用于在处理单元的控制下接收或发送数据。本专利技术的实施方式提供的技术方案,可以逐句读取程序的源代码,判断当前读取到的程序语句是否为特定语句;若是则将程序语句转换成中间代码,并解释执行中间代码;若否则直接解释执行程序语句。本专利技术提供的技术方案,通过判断当前程序语句是否为特定语句,并根据判断结果来解释执行程序语句,以实现对程序语句的自动识别和动态修改,有助于简化程序语句的修改方案,降低程序语句的实现逻辑复杂度和维护难度,提高程序语句的通用性。附图说明通过参考附图阅读下文的详细描述,本专利技术示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本专利技术的若干实施方式,其中:图1示意性地示出了根据本专利技术实施方式的一种程序代码转换的流程示意图;图2示意性地示出了根据本专利技术实施例的另一种程序代码转换方法的流程示意图;图3示意性地示出了根据本专利技术实施例的一种程序代码转换装置的结构示意图;图4示意性地示出了根据本专利技术实施例的一种介质的结构示意图;图5示意性地示出了根据本专利技术实施例本文档来自技高网...

【技术保护点】
1.一种程序代码转换方法,包括:逐句读取程序的源代码;判断当前读取到的程序语句是否为特定语句;若是,将所述程序语句转换成中间代码;解释执行所述中间代码;若否,直接解释执行所述程序语句。

【技术特征摘要】
1.一种程序代码转换方法,包括:逐句读取程序的源代码;判断当前读取到的程序语句是否为特定语句;若是,将所述程序语句转换成中间代码;解释执行所述中间代码;若否,直接解释执行所述程序语句。2.如权利要求1所述的方法,其中,解释执行所述中间代码能够实现与解释执行所述程序语句不同的功能。3.如权利要求1所述的方法,其中,所述判断当前读取到的程序语句是否为特定语句的步骤包括:获取配置文件中预设的关键字段;根据所述关键字段判断所述程序语句是否为特定语句。4.如权利要求3所述的方法,其中,根据所述关键字段判断所述程序语句是否为特定语句的步骤包括:判断所述关键字段与所述程序语句中的各个字段是否匹配;根据匹配结果判断所述程序语句是否为特定语句。5.如权利要求1所述的方法,其中,所述识别程序代码中的特定语句的步骤包括:获取配置文件中预设的唯一标识;根据所述唯一标识判断所述程序语句是否为特定语句。6.如权利要求5所述的方法,其中,根据所述唯一标识判断所述程序语句是否为特定语句的步骤包括:获取所述程序语句的唯一标识;判...

【专利技术属性】
技术研发人员:王贝
申请(专利权)人:网易无尾熊杭州科技有限公司
类型:发明
国别省市:浙江,33

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

1