CN113420569A - 代码翻译方法、装置、设备及存储介质 - Google Patents

代码翻译方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113420569A
CN113420569A CN202110691849.8A CN202110691849A CN113420569A CN 113420569 A CN113420569 A CN 113420569A CN 202110691849 A CN202110691849 A CN 202110691849A CN 113420569 A CN113420569 A CN 113420569A
Authority
CN
China
Prior art keywords
preset
translation
initial
code
character string
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.)
Pending
Application number
CN202110691849.8A
Other languages
English (en)
Inventor
周凯丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kangjian Information Technology Shenzhen Co Ltd
Original Assignee
Kangjian Information Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Kangjian Information Technology Shenzhen Co Ltd filed Critical Kangjian Information Technology Shenzhen Co Ltd
Priority to CN202110691849.8A priority Critical patent/CN113420569A/zh
Publication of CN113420569A publication Critical patent/CN113420569A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及大数据领域,公开了一种代码翻译方法、装置、设备及存储介质,用于提高翻译的安全性。代码翻译方法包括:获取待翻译代码,对待翻译代码进行基于预设语法结构的转换处理,得到语法拓扑结构;调用预置的遍历算法,遍历语法拓扑结构中的所有节点对象,得到初始节点对象,将满足预设条件的初始节点对象确定为目标节点对象;对目标节点对象进行转换和加密处理,得到加密字符串,并将加密字符串和预置数据库中的字符串进行对比,确定初始翻译结果;对初始翻译结果进行检验和过滤处理,判断中间翻译结果是否符合预设的翻译标准,若符合,则生成目标翻译结果。此外,本发明还涉及区块链技术,目标翻译结果可存储于区块链节点中。

Description

代码翻译方法、装置、设备及存储介质
技术领域
本发明涉及遍历查询领域,尤其涉及一种代码翻译方法、装置、设备及存储介质。
背景技术
随着时代信息化、全球化步伐的发展,越来越多的产品定位国际化,在页面开发的时候需要考虑多语言版本或者预设多国应用的场景。
在现有技术中,针对定位本土、地域性发展并且已成熟运营的产品,后续要支持多语言场景,需要对项目进行侵入性的重构,譬如将交互层面与文字相关的内容替换成变量,以动态的读取不同语言配置场景下映射中存在的值,但是一个成熟的产品经历过多个迭代版本后,通常具有成千上万行代码,业务流程之间的关系十分复杂,导致翻译的安全性低。
发明内容
本发明提供了一种代码翻译方法、装置、设备及存储介质,用于通过调用预置的遍历算法遍历语法拓扑结构中的节点对象,得到目标节点对象,对目标节点对象进行基于安全散列算法的加密处理,提高了翻译的安全性。
本发明第一方面提供了一种代码翻译方法,包括:获取待翻译代码,对所述待翻译代码进行基于预设语法结构的转换处理,得到语法拓扑结构;调用预置的遍历算法,遍历所述语法拓扑结构中的所有节点对象,得到初始节点对象,将满足预设条件的初始节点对象确定为目标节点对象;对所述目标节点对象进行转换和加密处理,得到加密字符串,并将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据所述对比结果确定初始翻译结果;对所述初始翻译结果进行检验和过滤处理,得到中间翻译结果,判断所述中间翻译结果是否符合预设的翻译标准,若所述中间翻译结果符合预设的翻译标准,则生成目标翻译结果。
可选的,在本发明第一方面的第一种实现方式中,所述获取待翻译代码,对所述待翻译代码进行基于预设语法结构的转换处理,得到语法拓扑结构包括:调用预置的运行平台,读取待翻译代码,所述待翻译代码存储在预置的代码文件中,所述待翻译代码为包含预设代码格式的代码;通过预设语法结构对所述待翻译代码进行转换处理,得到多个语法块,并通过预置的数据结构处理算法,确定所述多个语法块之间的逻辑关系,得到代码逻辑关系;按照所述代码逻辑关系,将所述多个语法块依次连接,得到语法拓扑结构。
可选的,在本发明第一方面的第二种实现方式中,所述调用预置的遍历算法,遍历所述语法拓扑结构中的所有节点对象,得到初始节点对象,将满足预设条件的初始节点对象确定为目标节点对象包括:获取所述语法拓扑结构的起始位置信息和结束位置信息,调用预置的遍历算法,基于所述起始位置信息和所述结束位置信息,对所述语法拓扑结构进行遍历,得到初始节点对象;读取所述初始节点对象的参数值、节点类型和链路信息,根据所述初始节点对象的参数值、节点类型和链路信息,判断所述初始节点对象是否满足预设条件,得到判断结果,所述预设条件为预设的语言信息,所述链路信息用于指示代码逻辑关系;若所述判断结果为所述初始节点对象中存在所述预设的语言信息,则对所述初始节点对象进行标识,得到目标节点对象。
可选的,在本发明第一方面的第三种实现方式中,所述若所述判断结果为所述初始节点对象中存在所述预设的语言信息,则对所述初始节点对象进行标识,得到目标节点对象包括:若所述判断结果为所述初始节点对象中存在所述预设的语言信息,则返回一个非空子集,所述非空子集用于指示所述目标节点对象的位置信息。将与所述非空子集对应的初始节点对象进行标记,得到标记后的节点对象;将所述标记后的节点对象确定为目标节点对象。
可选的,在本发明第一方面的第四种实现方式中,所述对所述目标节点对象进行转换和加密处理,得到加密字符串,并将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据所述对比结果确定初始翻译结果包括:读取所述目标节点对象,通过预置的正则表达式将所述目标节点对象转换为初始字符串;判断所述初始字符串是否符合预设的语法规范,得到语法判别结果;根据所述语法判别结果对所述初始字符串进行加密处理,得到加密字符串,并调用预置的字符串对比算法,将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据所述对比结果确定初始翻译结果。
可选的,在本发明第一方面的第五种实现方式中,所述根据所述语法判别结果对所述初始字符串进行加密处理,得到加密字符串,并调用预置的字符串对比算法,将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据所述对比结果确定初始翻译结果包括:若所述语法判别结果为所述初始字符串符合预设的语法规范,则调用预置的安全散列算法,对所述初始字符串进行预处理和逻辑运算,得到加密字符串;调用预置的字符串对比算法,将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果;若所述对比结果为所述加密字符串与预置数据库中的字符串长度一致,则将所述加密字符串确定为初始翻译结果。
可选的,在本发明第一方面的第六种实现方式中,所述对所述初始翻译结果进行检验和过滤处理,得到中间翻译结果,判断所述中间翻译结果是否符合预设的翻译标准,若所述中间翻译结果符合预设的翻译标准,则生成目标翻译结果包括:调用预置的检测工具,对所述初始翻译结果中的重复值进行检测,得到检测结果,根据所述检测结果过滤所述初始翻译结果中的重复值,得到中间翻译结果;创建标志信息,基于所述标志信息判断所述中间翻译结果是否符合预设的翻译标准,若所述中间翻译结果符合预设的翻译标准,则将所述中间翻译结果确定为目标翻译结果,所述标志信息为包含预置位数的二进制数。
本发明第二方面提供了一种代码翻译装置,包括:获取模块,用于获取待翻译代码,对所述待翻译代码进行基于预设语法结构的转换处理,得到语法拓扑结构;遍历模块,用于调用预置的遍历算法,遍历所述语法拓扑结构中的所有节点对象,得到初始节点对象,将满足预设条件的初始节点对象确定为目标节点对象;加密模块,用于对所述目标节点对象进行转换和加密处理,得到加密字符串,并将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据所述对比结果确定初始翻译结果;生成模块,用于对所述初始翻译结果进行检验和过滤处理,得到中间翻译结果,判断所述中间翻译结果是否符合预设的翻译标准,若所述中间翻译结果符合预设的翻译标准,则生成目标翻译结果。
可选的,在本发明第二方面的第一种实现方式中,所述获取模块包括:读取单元,用于调用预置的运行平台,读取待翻译代码,所述待翻译代码存储在预置的代码文件中,所述待翻译代码为包含预设代码格式的代码;确定单元,用于通过预设语法结构对所述待翻译代码进行转换处理,得到多个语法块,并通过预置的数据结构处理算法,确定所述多个语法块之间的逻辑关系,得到代码逻辑关系;连接单元,用于按照所述代码逻辑关系,将所述多个语法块依次连接,得到语法拓扑结构。
可选的,在本发明第二方面的第二种实现方式中,所述遍历模块包括:遍历单元,用于获取所述语法拓扑结构的起始位置信息和结束位置信息,调用预置的遍历算法,基于所述起始位置信息和所述结束位置信息,对所述语法拓扑结构进行遍历,得到初始节点对象;第一判断单元,用于读取所述初始节点对象的参数值、节点类型和链路信息,根据所述初始节点对象的参数值、节点类型和链路信息,判断所述初始节点对象是否满足预设条件,得到判断结果,所述预设条件为预设的语言信息,所述链路信息用于指示代码逻辑关系;标识单元,用于若所述判断结果为所述初始节点对象中存在所述预设的语言信息,则对所述初始节点对象进行标识,得到目标节点对象。
可选的,在本发明第二方面的第三种实现方式中,所述标识单元具体用于:若所述判断结果为所述初始节点对象中存在所述预设的语言信息,则返回一个非空子集,所述非空子集用于指示所述目标节点对象的位置信息。将与所述非空子集对应的初始节点对象进行标记,得到标记后的节点对象;将所述标记后的节点对象确定为目标节点对象。
可选的,在本发明第二方面的第四种实现方式中,所述加密模块包括:转换单元,用于读取所述目标节点对象,通过预置的正则表达式将所述目标节点对象转换为初始字符串;第二判断单元,用于判断所述初始字符串是否符合预设的语法规范,得到语法判别结果;加密单元,用于根据所述语法判别结果对所述初始字符串进行加密处理,得到加密字符串,并调用预置的字符串对比算法,将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据所述对比结果确定初始翻译结果。
可选的,在本发明第二方面的第五种实现方式中,所述加密单元具体用于:若所述语法判别结果为所述初始字符串符合预设的语法规范,则调用预置的安全散列算法,对所述初始字符串进行预处理和逻辑运算,得到加密字符串;调用预置的字符串对比算法,将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果;若所述对比结果为所述加密字符串与预置数据库中的字符串长度一致,则将所述加密字符串确定为初始翻译结果。
可选的,在本发明第二方面的第六种实现方式中,所述生成模块包括:检测单元,用于调用预置的检测工具,对所述初始翻译结果中的重复值进行检测,得到检测结果,根据所述检测结果过滤所述初始翻译结果中的重复值,得到中间翻译结果;生成单元,用于创建标志信息,基于所述标志信息判断所述中间翻译结果是否符合预设的翻译标准,若所述中间翻译结果符合预设的翻译标准,则将所述中间翻译结果确定为目标翻译结果,所述标志信息为包含预置位数的二进制数。
本发明第三方面提供了一种代码翻译设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述代码翻译设备执行上述的代码翻译方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的代码翻译方法。
本发明提供的技术方案中,获取待翻译代码,对所述待翻译代码进行基于预设语法结构的转换处理,得到语法拓扑结构;调用预置的遍历算法,遍历所述语法拓扑结构中的所有节点对象,得到初始节点对象,将满足预设条件的初始节点对象确定为目标节点对象;对所述目标节点对象进行转换和加密处理,得到加密字符串,并将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据所述对比结果确定初始翻译结果;对所述初始翻译结果进行检验和过滤处理,得到中间翻译结果,判断所述中间翻译结果是否符合预设的翻译标准,若所述中间翻译结果符合预设的翻译标准,则生成目标翻译结果。本发明实施例中,通过调用预置的遍历算法遍历语法拓扑结构中的节点对象,得到目标节点对象,对目标节点对象进行基于安全散列算法的加密处理,提高了翻译的安全性。
附图说明
图1为本发明实施例中代码翻译方法的一个实施例示意图;
图2为本发明实施例中代码翻译方法的另一个实施例示意图;
图3为本发明实施例中代码翻译装置的一个实施例示意图;
图4为本发明实施例中代码翻译装置的另一个实施例示意图;
图5为本发明实施例中代码翻译设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种代码翻译方法、装置、设备及存储介质,用于通过调用预置的遍历算法遍历语法拓扑结构中的节点对象,得到目标节点对象,对目标节点对象进行基于安全散列算法的加密处理,提高了翻译的安全性。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中代码翻译方法的一个实施例包括:
101、获取待翻译代码,对待翻译代码进行基于预设语法结构的转换处理,得到语法拓扑结构。
可以理解的是,本发明的执行主体可以为代码翻译装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
服务器获取待翻译代码,对待翻译代码进行基于预设语法结构的转换处理,得到语法拓扑结构。待翻译代码存储在预置的代码文件中,待翻译代码的格式为javascript,服务器通过调用预置的编译器babel将待翻译代码转换为向后兼容的javascript语法结构,得到多个语法块,以便能够运行在当前和旧版本的浏览器或其他环境中,并确定多个语法块之间的代码逻辑关系,最终得到语法拓扑结构,语法拓扑结构就是把待翻译代码的实体抽象成与其大小、形状无关的点,而把连接实体的线路抽象成线,语法拓扑结构中的每个节点都表示源代码中的一种结构,本实施例中的语法拓扑结构的形状包括但不限于星形、网状和树状。
102、调用预置的遍历算法,遍历语法拓扑结构中的所有节点对象,得到初始节点对象,将满足预设条件的初始节点对象确定为目标节点对象。
服务器调用预置的遍历算法,遍历语法拓扑结构中的所有节点对象,得到初始节点对象,将满足预设条件的初始节点对象确定为目标节点对象。服务器获取到语法拓扑结构的起始位置信息和结束位置信息后,通过预置的遍历算法循环遍历抽象语法树中的所有节点对象,得到初始节点对象,循环遍历的过程包括但不限于前序遍历、中序遍历和后序遍历中的至少一种,服务器读取初始节点对象的参数值、节点类型和链路信息,并判断每一个初始节点对象中是否包含预设的语言信息(即预设条件),若初始节点对象包含预设的语言信息,则对该初始节点对象进行标识,得到目标节点对象,当存在目标节点对象时,服务器会返回一个非空子集,非空子集用于指示目标节点对象的位置信息;若初始节点对象中不包含预设的语言信息,则不存在目标节点对象,服务器返回空集。
103、对目标节点对象进行转换和加密处理,得到加密字符串,并将加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据对比结果确定初始翻译结果。
服务器对目标节点对象进行转换和加密处理,得到加密字符串,并将加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据对比结果确定初始翻译结果。服务器读取目标节点对象,通过正则表达式将目标节点对象转换成对应的字符串,得到初始字符串,若初始字符串满足预设的语法规范,则对初始字符串进行加密处理,语法规范包括但不限于命名规范、注释规范、开发规范及设计、声明规范、事务规范、常量规范、日志规范、脚本规范、异常处理规范中的至少一种,得到加密字符串后,服务器调用预置的字符串对比算法将加密字符串和预置数据库中的字符串进行对比,将与预置数据库中的字符串长度一致的加密字符串确定为初始翻译结果,若初始字符串不满足语法规范,则跳过此操作,返回失败信息给用户端。
104、对初始翻译结果进行检验和过滤处理,得到中间翻译结果,判断中间翻译结果是否符合预设的翻译标准,若中间翻译结果符合预设的翻译标准,则生成目标翻译结果。
服务器对初始翻译结果进行检验和过滤处理,得到中间翻译结果,判断中间翻译结果是否符合预设的翻译标准,若中间翻译结果符合预设的翻译标准,则生成目标翻译结果。服务器调用预置的检测工具对初始翻译结果中的重复值进行检测,得到检测结果,预置的检测工具包括但不限于jprofiler,jprofiler是一个全功能的java剖析工具,用于检查和跟踪,根据检测结果过滤初始翻译结果中的重复值,得到中间翻译结果,中间翻译结果生成后,服务器自动创建一个32位的2进制数的标志信息,并将标志信息返回至用户端,若第i位是1,则确定第i+1位的节点翻译正常,i是大于等于0且小于32的整数,即中间翻译结果符合预设的翻译标准,则将中间翻译结果确定为目标翻译结果,若第i位是0,则确定第i+1个节点翻译异常,按照预设格式将代码行号、翻译信息及标志信息组合生成通知并返回至用户端。
本发明实施例中,通过调用预置的遍历算法遍历语法拓扑结构中的节点对象,得到目标节点对象,对目标节点对象进行基于安全散列算法的加密处理,提高了翻译的安全性。
请参阅图2,本发明实施例中代码翻译方法的另一个实施例包括:
201、获取待翻译代码,对待翻译代码进行基于预设语法结构的转换处理,得到语法拓扑结构。
服务器获取待翻译代码,对待翻译代码进行基于预设语法结构的转换处理,得到语法拓扑结构。具体的,服务器调用预置的运行平台,读取待翻译代码,待翻译代码存储在预置的代码文件中,待翻译代码为包含预设代码格式的代码;服务器通过预设语法结构对待翻译代码进行转换处理,得到多个语法块,并通过预置的数据结构处理算法,确定多个语法块之间的逻辑关系,得到代码逻辑关系;服务器按照代码逻辑关系,将多个语法块依次连接,得到语法拓扑结构。
服务器通过调用预置的运行平台node.js读取预置的代码文件中的待翻译代码,待翻译代码的格式为javascript,node.js是一个让javascript运行在服务端的开发平台,底层架构为javascript,文件后缀为.js,服务器通过调用预置的编译器babel将待翻译代码转换为向后兼容的javascript语法结构,得到多个语法块,以便能够运行在当前和旧版本的浏览器或其他环境中,得到多个语法块后,通过预置的数据结构处理算法parser确定多个语法块之间的逻辑关系,得到代码逻辑关系,服务器获取待翻译代码的页面跳转关键词,通过数据结构处理算法parser,基于页面跳转关键词确定待翻译代码的逻辑顺序,根据待翻译代码的逻辑顺序确定多个语法块之间的逻辑关系,逻辑关系包括先后步骤关系、判断关系和从属关系中的至少一种,并按照代码逻辑关系将多个语法块依次连接,最终得到语法拓扑结构,parser一般是指把某种格式的文本或字符串转换成特定数据结构的过程。
202、调用预置的遍历算法,遍历语法拓扑结构中的所有节点对象,得到初始节点对象,将满足预设条件的初始节点对象确定为目标节点对象。
服务器调用预置的遍历算法,遍历语法拓扑结构中的所有节点对象,得到初始节点对象,将满足预设条件的初始节点对象确定为目标节点对象。具体的,服务器获取语法拓扑结构的起始位置信息和结束位置信息,调用预置的遍历算法,基于起始位置信息和结束位置信息,对语法拓扑结构进行遍历,得到初始节点对象;服务器读取初始节点对象的参数值、节点类型和链路信息,根据初始节点对象的参数值、节点类型和链路信息,判断初始节点对象是否满足预设条件,得到判断结果,预设条件为预设的语言信息,链路信息用于指示代码逻辑关系;服务器若判断结果为初始节点对象中存在预设的语言信息,则对初始节点对象进行标识,得到目标节点对象。
服务器查询语法拓扑结构的起始位置信息和结束位置信息,获取到语法拓扑结构的起始位置信息和结束位置信息后,通过预置的遍历算法循环遍历抽象语法树中的所有节点对象,得到初始节点对象,循环遍历的过程包括但不限于前序遍历、中序遍历和后序遍历中的至少一种,服务器读取初始节点对象的参数值、节点类型和链路信息并识别每一个初始节点对象中是否包含预设的语言信息,节点类型包括值类型、函数类型和变量类型等,链路信息对应的链路用于连接多个初始节点对象,链路信息用于指示代码逻辑关系,对于包含预设的语言信息(预设的语言信息包括节点类型和参数值1,节点类型为函数或文本)的初始节点对象,则进行标识,得到目标节点对象,例如:需要翻译一个函数所对应的代码或者用户要读取的文本所对应的代码,即待翻译代码,就根据起始位置和结束位置遍历语法拓扑结构中的所有对象,找到所有函数以及文本类型对应的初始节点对象,假设起始位置为200行,终点位置为510行,在这段范围内,以300行节点对象(300行节点对象为300行对应的初始节点对象)为例说明,获取语法拓扑结构中300行节点对象的参数值和节点类型,判断节点类型是否为函数(或文本),且参数值是否为1,若节点类型是函数(或文本)且参数值为1,则对300行节点对象进行标识,得到目标节点对象,若节点类型不是函数(或文本)或参数值为0时,则返回一个空集。
203、读取目标节点对象,通过预置的正则表达式将目标节点对象转换为初始字符串。
服务器读取所述目标节点对象,通过预置的正则表达式将所述目标节点对象转换为初始字符串。正则表达式又称规则表达式,用来检索、替换符合预置规则的文本,正则表达式是对字符串操作的一种逻辑公式,用特定的字符及这些特定字符的组合,组成初始字符串,在本实施例中,服务器读取目标节点对象后,通过正则表达式将目标节点对象的类型转换成字符串类型,得到初始字符串,实现了简繁体和中英文的识别替换,通过以上方法节省了javascript的重构成本。
204、判断初始字符串是否符合预设的语法规范,得到语法判别结果。
服务器判断初始字符串是否符合预设的语法规范,得到语法判别结果。服务器判断初始字符串是否符合预设的语法规范,语法规范包括但不限于命名规范、注释规范、开发规范及设计、声明规范、事务规范、常量规范、日志规范、脚本规范和异常处理规范中的至少一种。
205、根据语法判别结果对初始字符串进行加密处理,得到加密字符串,并调用预置的字符串对比算法,将加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据对比结果确定初始翻译结果。
服务器根据语法判别结果对初始字符串进行加密处理,得到加密字符串,并调用预置的字符串对比算法,将加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据对比结果确定初始翻译结果。具体的,若语法判别结果为初始字符串符合预设的语法规范,服务器则调用预置的安全散列算法,对初始字符串进行预处理和逻辑运算,得到加密字符串;服务器调用预置的字符串对比算法,将加密字符串和预置数据库中的字符串进行对比,得到对比结果;若对比结果为加密字符串与预置数据库中的字符串长度一致,服务器则将加密字符串确定为初始翻译结果。
若初始字符串满足预设的语法规范,服务器则调用安全散列算法对初始字符串进行加密处理,本实施例中调用的加密算法为安全散列算法2(secure hash algorithm 2,SHA-2)下面分出的SHA256算法,SHA-2下又可再分为六个不同的算法标准,这些变体除了生成摘要的长度、循环运行的次数等一些微小差异外,算法的基本结构基本一致,对于任意长度的字符串,SHA256算法都会产生一个256位长度的哈希值,称作消息摘要,这个摘要相当于是个长度为32个字节的数组,通常用一个长度为64的十六进制字符串来表示,对初始字符串进行预处理的过程包括附加填充比特和附加长度值,通过调用预置的逻辑函数进行逻辑位运算,得到加密字符串,预置的字符串对比算法为equalsIgnoreCase,用来比较两个字符串是否相等,服务器通过预置的字符串对比算法,将加密字符串和预置数据库中的字符串的长度进行对比,得到对比结果,若对比结果为加密字符串与预置数据库中的字符串长度一致,则将加密字符串确定为初始翻译结果,若对比结果为加密字符串与预置数据库中的字符串长度不一致,则跳过此操作,返回失败信息给用户端。
206、对初始翻译结果进行检验和过滤处理,得到中间翻译结果,判断中间翻译结果是否符合预设的翻译标准,若中间翻译结果符合预设的翻译标准,则生成目标翻译结果。
服务器对初始翻译结果进行检验和过滤处理,得到中间翻译结果,判断中间翻译结果是否符合预设的翻译标准,若中间翻译结果符合预设的翻译标准,则生成目标翻译结果。具体的,服务器调用预置的检测工具,对初始翻译结果中的重复值进行检测,得到检测结果,根据检测结果过滤初始翻译结果中的重复值,得到中间翻译结果;服务器创建标志信息,基于标志信息判断中间翻译结果是否符合预设的翻译标准,若中间翻译结果符合预设的翻译标准,则将中间翻译结果确定为目标翻译结果,标志信息为包含预置位数的二进制数。
服务器对初始翻译结果进行检验和过滤处理,得到中间翻译结果,判断中间翻译结果是否符合预设的翻译标准,若中间翻译结果符合预设的翻译标准,则生成目标翻译结果。服务器调用预置的检测工具对初始翻译结果中的重复值进行检测,得到检测结果,检测结果用于指示初始翻译结果中是否存在重复值,预置的检测工具包括但不限于jprofiler,jprofiler是一个全功能的java剖析工具,用于检查和跟踪,若检测结果为初始翻译结果中包含重复值,则保留唯一值,将其它重复值删除,若检测结果为初始翻译结果中不包含重复值,则不做处理,得到中间翻译结果,中间翻译结果生成后,服务器自动创建一个32位的2进制数的标志信息,并将标志信息返回至用户端,若第i位是1,则确定第i+1位的节点翻译正常,i是大于等于0且小于32的整数,即中间翻译结果符合预设的翻译标准,则将中间翻译结果确定为目标翻译结果,若第i位是0,则确定第i+1个节点翻译异常,按照预设格式将代码行号、翻译信息及标志信息组合生成通知并返回至用户端。
本发明实施例中,通过调用预置的遍历算法遍历语法拓扑结构中的节点对象,得到目标节点对象,对目标节点对象进行基于安全散列算法的加密处理,提高了翻译的安全性。
上面对本发明实施例中代码翻译方法进行了描述,下面对本发明实施例中代码翻译装置进行描述,请参阅图3,本发明实施例中代码翻译装置的一个实施例包括:
获取模块301,用于获取待翻译代码,对待翻译代码进行基于预设语法结构的转换处理,得到语法拓扑结构;
遍历模块302,用于调用预置的遍历算法,遍历语法拓扑结构中的所有节点对象,得到初始节点对象,将满足预设条件的初始节点对象确定为目标节点对象;
加密模块303,用于对目标节点对象进行转换和加密处理,得到加密字符串,并将加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据对比结果确定初始翻译结果;
生成模块304,用于对初始翻译结果进行检验和过滤处理,得到中间翻译结果,判断中间翻译结果是否符合预设的翻译标准,若中间翻译结果符合预设的翻译标准,则生成目标翻译结果。
本发明实施例中,通过调用预置的遍历算法遍历语法拓扑结构中的节点对象,得到目标节点对象,对目标节点对象进行基于安全散列算法的加密处理,提高了翻译的安全性。
请参阅图4,本发明实施例中代码翻译装置的另一个实施例包括:
获取模块301,用于获取待翻译代码,对待翻译代码进行基于预设语法结构的转换处理,得到语法拓扑结构;
遍历模块302,用于调用预置的遍历算法,遍历语法拓扑结构中的所有节点对象,得到初始节点对象,将满足预设条件的初始节点对象确定为目标节点对象;
加密模块303,用于对目标节点对象进行转换和加密处理,得到加密字符串,并将加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据对比结果确定初始翻译结果;
其中,加密模块303具体包括:
转换单元3031,用于读取目标节点对象,通过预置的正则表达式将目标节点对象转换为初始字符串;
第二判断单元3032,用于判断初始字符串是否符合预设的语法规范,得到语法判别结果;
加密单元3033,用于根据语法判别结果对初始字符串进行加密处理,得到加密字符串,并调用预置的字符串对比算法,将加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据对比结果确定初始翻译结果;
生成模块304,用于对初始翻译结果进行检验和过滤处理,得到中间翻译结果,判断中间翻译结果是否符合预设的翻译标准,若中间翻译结果符合预设的翻译标准,则生成目标翻译结果。
可选的,获取模块301包括:
读取单元3011,用于调用预置的运行平台,读取待翻译代码,待翻译代码存储在预置的代码文件中,待翻译代码为包含预设代码格式的代码;
确定单元3012,用于通过预设语法结构对待翻译代码进行转换处理,得到多个语法块,并通过预置的数据结构处理算法,确定多个语法块之间的逻辑关系,得到代码逻辑关系;
连接单元3013,用于按照代码逻辑关系,将多个语法块依次连接,得到语法拓扑结构。
可选的,遍历模块302包括:
遍历单元3021,用于获取语法拓扑结构的起始位置信息和结束位置信息,调用预置的遍历算法,基于起始位置信息和结束位置信息,对语法拓扑结构进行遍历,得到初始节点对象;
第一判断单元3022,用于读取初始节点对象的参数值、节点类型和链路信息,根据初始节点对象的参数值、节点类型和链路信息,判断初始节点对象是否满足预设条件,得到判断结果,预设条件为预设的语言信息,链路信息用于指示代码逻辑关系;
标识单元3023,用于若判断结果为初始节点对象中存在预设的语言信息,则对初始节点对象进行标识,得到目标节点对象。
可选的,标识单元3023还可以具体用于:
若判断结果为初始节点对象中存在预设的语言信息,则返回一个非空子集,非空子集用于指示目标节点对象的位置信息。将与非空子集对应的初始节点对象进行标记,得到标记后的节点对象;将标记后的节点对象确定为目标节点对象。
可选的,加密单元3033还可以具体用于:
若语法判别结果为初始字符串符合预设的语法规范,则调用预置的安全散列算法,对初始字符串进行预处理和逻辑运算,得到加密字符串;调用预置的字符串对比算法,将加密字符串和预置数据库中的字符串进行对比,得到对比结果;若对比结果为加密字符串与预置数据库中的字符串长度一致,则将加密字符串确定为初始翻译结果。
可选的,生成模块304包括:
检测单元3041,用于调用预置的检测工具,对初始翻译结果中的重复值进行检测,得到检测结果,根据检测结果过滤初始翻译结果中的重复值,得到中间翻译结果;
生成单元3042,用于创建标志信息,基于标志信息判断中间翻译结果是否符合预设的翻译标准,若中间翻译结果符合预设的翻译标准,则将中间翻译结果确定为目标翻译结果,标志信息为包含预置位数的二进制数。
本发明实施例中,通过调用预置的遍历算法遍历语法拓扑结构中的节点对象,得到目标节点对象,对目标节点对象进行基于安全散列算法的加密处理,提高了翻译的安全性。
上面图3和图4从模块化功能实体的角度对本发明实施例中的代码翻译装置进行详细描述,下面从硬件处理的角度对本发明实施例中代码翻译设备进行详细描述。
图5是本发明实施例提供的一种代码翻译设备的结构示意图,该代码翻译设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对代码翻译设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在代码翻译设备500上执行存储介质530中的一系列指令操作。
代码翻译设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的代码翻译设备结构并不构成对代码翻译设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种代码翻译设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述代码翻译方法的步骤。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述代码翻译方法的步骤。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种代码翻译方法,其特征在于,所述代码翻译方法包括:
获取待翻译代码,对所述待翻译代码进行基于预设语法结构的转换处理,得到语法拓扑结构;
调用预置的遍历算法,遍历所述语法拓扑结构中的所有节点对象,得到初始节点对象,将满足预设条件的初始节点对象确定为目标节点对象;
对所述目标节点对象进行转换和加密处理,得到加密字符串,并将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据所述对比结果确定初始翻译结果;
对所述初始翻译结果进行检验和过滤处理,得到中间翻译结果,判断所述中间翻译结果是否符合预设的翻译标准,若所述中间翻译结果符合预设的翻译标准,则生成目标翻译结果。
2.根据权利要求1所述的代码翻译方法,其特征在于,所述获取待翻译代码,对所述待翻译代码进行基于预设语法结构的转换处理,得到语法拓扑结构包括:
调用预置的运行平台,读取待翻译代码,所述待翻译代码存储在预置的代码文件中,所述待翻译代码为包含预设代码格式的代码;
通过预设语法结构对所述待翻译代码进行转换处理,得到多个语法块,并通过预置的数据结构处理算法,确定所述多个语法块之间的逻辑关系,得到代码逻辑关系;
按照所述代码逻辑关系,将所述多个语法块依次连接,得到语法拓扑结构。
3.根据权利要求1所述的代码翻译方法,其特征在于,所述调用预置的遍历算法,遍历所述语法拓扑结构中的所有节点对象,得到初始节点对象,将满足预设条件的初始节点对象确定为目标节点对象包括:
获取所述语法拓扑结构的起始位置信息和结束位置信息,调用预置的遍历算法,基于所述起始位置信息和所述结束位置信息,对所述语法拓扑结构进行遍历,得到初始节点对象;
读取所述初始节点对象的参数值、节点类型和链路信息,根据所述初始节点对象的参数值、节点类型和链路信息,判断所述初始节点对象是否满足预设条件,得到判断结果,所述预设条件为预设的语言信息,所述链路信息用于指示代码逻辑关系;
若所述判断结果为所述初始节点对象中存在所述预设的语言信息,则对所述初始节点对象进行标识,得到目标节点对象。
4.根据权利要求3所述的代码翻译方法,其特征在于,所述若所述判断结果为所述初始节点对象中存在所述预设的语言信息,则对所述初始节点对象进行标识,得到目标节点对象包括:
若所述判断结果为所述初始节点对象中存在所述预设的语言信息,则返回一个非空子集,所述非空子集用于指示所述目标节点对象的位置信息。
将与所述非空子集对应的初始节点对象进行标记,得到标记后的节点对象;
将所述标记后的节点对象确定为目标节点对象。
5.根据权利要求1所述的代码翻译方法,其特征在于,所述对所述目标节点对象进行转换和加密处理,得到加密字符串,并将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据所述对比结果确定初始翻译结果包括:
读取所述目标节点对象,通过预置的正则表达式将所述目标节点对象转换为初始字符串;
判断所述初始字符串是否符合预设的语法规范,得到语法判别结果;
根据所述语法判别结果对所述初始字符串进行加密处理,得到加密字符串,并调用预置的字符串对比算法,将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据所述对比结果确定初始翻译结果。
6.根据权利要求5所述的代码翻译方法,其特征在于,所述根据所述语法判别结果对所述初始字符串进行加密处理,得到加密字符串,并调用预置的字符串对比算法,将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据所述对比结果确定初始翻译结果包括:
若所述语法判别结果为所述初始字符串符合预设的语法规范,则调用预置的安全散列算法,对所述初始字符串进行预处理和逻辑运算,得到加密字符串;
调用预置的字符串对比算法,将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果;
若所述对比结果为所述加密字符串与预置数据库中的字符串长度一致,则将所述加密字符串确定为初始翻译结果。
7.根据权利要求1-6中任一项所述的代码翻译方法,其特征在于,所述对所述初始翻译结果进行检验和过滤处理,得到中间翻译结果,判断所述中间翻译结果是否符合预设的翻译标准,若所述中间翻译结果符合预设的翻译标准,则生成目标翻译结果包括:
调用预置的检测工具,对所述初始翻译结果中的重复值进行检测,得到检测结果,根据所述检测结果过滤所述初始翻译结果中的重复值,得到中间翻译结果;
创建标志信息,基于所述标志信息判断所述中间翻译结果是否符合预设的翻译标准,若所述中间翻译结果符合预设的翻译标准,则将所述中间翻译结果确定为目标翻译结果,所述标志信息为包含预置位数的二进制数。
8.一种代码翻译装置,其特征在于,所述代码翻译装置包括:
获取模块,用于获取待翻译代码,对所述待翻译代码进行基于预设语法结构的转换处理,得到语法拓扑结构;
遍历模块,用于调用预置的遍历算法,遍历所述语法拓扑结构中的所有节点对象,得到初始节点对象,将满足预设条件的初始节点对象确定为目标节点对象;
加密模块,用于对所述目标节点对象进行转换和加密处理,得到加密字符串,并将所述加密字符串和预置数据库中的字符串进行对比,得到对比结果,根据所述对比结果确定初始翻译结果;
生成模块,用于对所述初始翻译结果进行检验和过滤处理,得到中间翻译结果,判断所述中间翻译结果是否符合预设的翻译标准,若所述中间翻译结果符合预设的翻译标准,则生成目标翻译结果。
9.一种代码翻译设备,其特征在于,所述代码翻译设备包括:
存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述代码翻译设备执行如权利要求1-7中任意一项所述的代码翻译方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-7中任一项所述代码翻译方法。
CN202110691849.8A 2021-06-22 2021-06-22 代码翻译方法、装置、设备及存储介质 Pending CN113420569A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110691849.8A CN113420569A (zh) 2021-06-22 2021-06-22 代码翻译方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110691849.8A CN113420569A (zh) 2021-06-22 2021-06-22 代码翻译方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN113420569A true CN113420569A (zh) 2021-09-21

Family

ID=77789905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110691849.8A Pending CN113420569A (zh) 2021-06-22 2021-06-22 代码翻译方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113420569A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023185896A1 (zh) * 2022-03-31 2023-10-05 北京有竹居网络技术有限公司 一种文本生成方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134397A (zh) * 2019-04-12 2019-08-16 深圳壹账通智能科技有限公司 代码片段翻译方法、装置、计算机设备和存储介质
CN110134401A (zh) * 2019-04-12 2019-08-16 深圳壹账通智能科技有限公司 代码片段定位方法、装置、计算机设备和存储介质
CN110134404A (zh) * 2019-04-12 2019-08-16 深圳壹账通智能科技有限公司 代码翻译方法、装置、计算机设备和存储介质
CN112015430A (zh) * 2020-09-07 2020-12-01 平安国际智慧城市科技股份有限公司 JavaScript代码翻译方法、装置、计算机设备及存储介质
CN112507729A (zh) * 2020-12-15 2021-03-16 康键信息技术(深圳)有限公司 页面中文本翻译方法、装置、计算机设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134397A (zh) * 2019-04-12 2019-08-16 深圳壹账通智能科技有限公司 代码片段翻译方法、装置、计算机设备和存储介质
CN110134401A (zh) * 2019-04-12 2019-08-16 深圳壹账通智能科技有限公司 代码片段定位方法、装置、计算机设备和存储介质
CN110134404A (zh) * 2019-04-12 2019-08-16 深圳壹账通智能科技有限公司 代码翻译方法、装置、计算机设备和存储介质
CN112015430A (zh) * 2020-09-07 2020-12-01 平安国际智慧城市科技股份有限公司 JavaScript代码翻译方法、装置、计算机设备及存储介质
CN112507729A (zh) * 2020-12-15 2021-03-16 康键信息技术(深圳)有限公司 页面中文本翻译方法、装置、计算机设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023185896A1 (zh) * 2022-03-31 2023-10-05 北京有竹居网络技术有限公司 一种文本生成方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN112540923B (zh) 接口参数校验与转换方法、装置、设备及存储介质
CN112015430B (zh) JavaScript代码翻译方法、装置、计算机设备及存储介质
Patra et al. Learning to fuzz: Application-independent fuzz testing with probabilistic, generative models of input data
CN110825385B (zh) React Native离线包的构建方法及存储介质
CN112306549A (zh) 接口文档配置方法、装置、设备及存储介质
CN114500690B (zh) 接口数据处理方法、装置、电子设备及存储介质
KR102550596B1 (ko) 스마트 컨트랙트 코드 취약점 분석 장치 및 방법
CN113849781B (zh) Go语言源代码混淆方法、系统、终端及存储介质
CN104320312A (zh) 网络应用安全测试工具及模糊测试用例生成方法和系统
CN112379917A (zh) 浏览器兼容性提升方法、装置、设备及存储介质
WO2021175053A1 (zh) 一种在虚拟机中执行功能模块的方法和装置
CN116324773A (zh) 用于保护智能合约免受攻击的方法和装置
CN113420569A (zh) 代码翻译方法、装置、设备及存储介质
CN113515303B (zh) 一种项目转型方法、装置和设备
CN114201756A (zh) 一种智能合约代码片段的漏洞检测方法和相关装置
CN111352631B (zh) 一种接口兼容性检测方法及装置
CN117271478A (zh) 数据迁移方法、装置、存储介质以及电子设备
CN116361793A (zh) 代码检测方法、装置、电子设备及存储介质
Flack et al. Better logging through formality: Applying formal specification techniques to improve audit logs and log consumers
CN118964916B (zh) 一种日志数据的实时存储方法
CN113553587B (zh) 一种文件检测方法、装置、设备及可读存储介质
CN117270962B (zh) 一种处理着色语言的方法、装置、存储介质及电子设备
CN116846863B (zh) 一种光纤反射内存网内存映射方法、装置及计算设备
Lavorato et al. LL (k) optimization of a network protocol parser generator.
CN117171800B (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