首页> 中国专利> 一种基于生成式对抗GAN网络的代码翻译方法及系统

一种基于生成式对抗GAN网络的代码翻译方法及系统

摘要

本发明公开了一种基于生成式对抗GAN网络的代码翻译方法及系统,包括:通过将样本程序集作为输入数据,送入一个代码特征提取模型中,获得每个样本程序对应的第一代码特征值向量,将第一代码特征值向量输入至GAN网络模型的生成器,通过设置相关参数得到预测结果的目标语言,根据预测结果的特征值向量与测试集源程序语言的特征值向量进行对比,不断调参迭代训练,得到最优GAN网络模型;获取待翻译程序,并利用所述最优GAN网络模型进行代码翻译,获取与所述待翻译程序对应的目标翻译程序。本发明的基于生成式对抗GAN网络的代码翻译方法能够实现将源代码从一种高级编程语言转换为另一种高级编程语言,并且具有较高正确率。

著录项

  • 公开/公告号CN112905188A

    专利类型发明专利

  • 公开/公告日2021-06-04

    原文格式PDF

  • 申请/专利号CN202110162786.7

  • 发明设计人 杨永全;王占威;魏志强;

    申请日2021-02-05

  • 分类号G06F8/51(20180101);G06F8/76(20180101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构11266 北京工信联合知识产权代理有限公司;

  • 代理人姜丽楼

  • 地址 266100 山东省青岛市崂山区松岭路238号

  • 入库时间 2023-06-19 11:16:08

说明书

技术领域

本发明涉及机器学习技术领域,并且更具体地,涉及一种基于生成式对抗GAN网络的代码翻译方法及系统。

背景技术

近年来,依赖于大规模的平行语料库,神经机器翻译在某些人类语言上已经取得了巨大的成功。然而,现在常用的自然语言翻译模型,由于没考虑到代码中用户自定义的变量以及各种运算符号定义不同等特性,导致现有的模型应用到代码翻译时结果并不理想。而GAN网络自2014年Goodfellow提出后,经过短短五六年的发展,已经逐渐成为一种广泛应用的深度学习模型。生成式对抗网络的提出受到二人零和博弈(即博弈双方的收益和损失相加总和永远为零,一方的收益是另一方的损失)的启发,模型包含生成器和判别器,两者不断地对抗训练,互相学习相互进化。

基于生成式对抗网络的代码翻译技术是一种重要的软件重用技术。我们可以将早期的编程语言编写的代码和软件称为遗产代码和遗产软件。这种智能源码转换是指从一种编程语言到另一种编程语言之间的转换,转换后两个程序的功能完全相同。通过基于生成式对抗网络的代码翻译技术可以将遗产代码和遗产软件转换为当前正在使用的高级编程语言,这对于升级和完善原有的遗产系统具有非常重要的意义和价值,不仅避免了因抛弃原系统,在零基础上开发新系统所面临的开发费用、开发周期和安全性的风险,而且能够继承原系统的优势,节省开发的成本,提高效率,降低风险;同时,转换后的代码在进一步的开发和优化升级过程中,能够更好地利用当前正在使用的高级编程语言所提供的技术和方法,开发出更加完善和强大的系统。

此外,由于CPU等计算机器件不同所带来的异构性,导致系统所支持的编程语言、运行环境,都有所区别,程序无法实现在所有平台顺利运行。例如为X86平台编写的C++程序,放在不同处理器(如苹果基于ARM架构自研的M1处理器与华为自研的鲲鹏处理器)上面就会无法运行。这就需要进行代码的移植工作,将其转为合适的高级编程语言。在以往的工作流程中,人工转换代码的工作量往往是巨大且枯燥的。通过基于生成式对抗网络的代码翻译技术可以快捷的实现软件的代码重写移植,不仅保留了软件的各种功能,还大大减少了人力物力等资源的浪费。

尽管高级编程语言组成的代码和自然语言之间有很多共性的特征,都是由一系列单词组成且能表示成语法树的形式,但由于代码具有比自然语言更强的逻辑结构,自定义的标志符,且标志符之间存在长距离依赖等等的原因,导致现有的自然语言翻译技术难以应用在代码翻译领域中。

因此,需要一种基于生成式对抗GAN网络的代码翻译方法。

发明内容

本发明提出一种基于生成式对抗GAN网络的代码翻译方法及系统,以解决如何快速准确地实现代码翻译的问题。

为了解决上述问题,根据本发明的一个方面,提供了一种基于生成式对抗GAN网络的代码翻译方法,所述方法包括:

获取样本程序集,并利用代码特征提取模型对所述样本程序集中的每个样本程序进行代码特征值向量的提取,以获取每个样本程序对应的第一代码特征值向量;

将所述每个样本程序对应的第一代码特征值向量输入至当前的GAN网络模型的生成器中,以利用所述生成器获取每个样本程序对应的目标程序;

通过当前的GAN网络的判别器将每个样本程序对应的目标程序发送至所述代码特征提取模型进行代码特征值向量的提取,以获取与每个目标程序对应的第二代码特征值向量;

利用当前的GAN网络的判别器分别对每个样本程序对应的第一代码特征值向量和第二代码特征值向量进行比对,获取每个样本程序对应的比对结果;

若根据每个样本程序对应的比对结果确定当前的GAN网络模型能够辨别出样本程序和目标程序,则对当前的GAN网络模型的判别器和生成器进行交替训练,直至训练后的GAN网络模型无法辨别出样本程序和目标程序时,确定当前的GAN网络模型为最优GAN网络模型;

获取待翻译程序,并利用所述最优GAN网络模型进行代码翻译,获取与所述待翻译程序对应的目标翻译程序。

优选地,其中所述代码特征提取模型,基于ASTNN切割抽象语法树AST的思想,利用代表预设字符对应的程序控制块的AST节点将AST切割成多个子树,再利用TBCNN对所述多个子树进行卷积运算,采用双向循环神经网络,内部神经元采用LSTM,来提取代码块之间的序列信息,将每个时间步生成的代码向量存放到一个向量矩阵中,最终采用最大池化得到代码特征值向量。

优选地,其中所述预设字符包括:“if’、“while”、“for”和“function”。

优选地,其中所述若根据每个样本程序对应的比对结果确定当前的GAN网络模型能够辨别出样本程序和目标程序,则对当前的GAN网络模型的判别器和生成器进行交替训练,直至训练后的GAN网络模型无法辨别出样本程序和目标程序时,确定当前的GAN网络模型为最优GAN网络模型,包括:

若根据每个样本程序对应的比对结果确定当前的GAN网络模型能够辨别出样本程序和目标程序,则锁定生成器,更新判别器参数,在判别器连续训练的次数等于预设的次数后,更新判别器参数,利用生成器采集样本数据,得到新的样本,锁定判别器,不更新判别器的网络参数,将新的样本再次输入判别器,计算损失,反向传入生成器训练一次,更新生成器参数,并重新计算比对结果,直至根据比对结果确定当前的GAN网络模型无法辨别出样本程序和目标程序时,表明特征值向量在判别器上的分布趋于一致,表明模型收敛,确定当前的GAN网络模型为最优GAN网络模型。

优选地,其中GAN网络模型的优化目标为:

其中,

根据本发明的另一个方面,提供了一种基于生成式对抗GAN网络的代码翻译系统,所述系统包括:

第一代码特征值向量获取单元,用于获取样本程序集,并利用代码特征提取模型对所述样本程序集中的每个样本程序进行代码特征值向量的提取,以获取每个样本程序对应的第一代码特征值向量;

目标程序生成单元,用于将所述每个样本程序对应的第一代码特征值向量输入至当前的GAN网络模型的生成器中,以利用所述生成器获取每个样本程序对应的目标程序;

第二代码特征值向量获取单元,用于通过当前的GAN网络的判别器将每个样本程序对应的目标程序发送至所述代码特征提取模型进行代码特征值向量的提取,以获取与每个目标程序对应的第二代码特征值向量;

比对结果获取单元,用于利用当前的GAN网络的判别器分别对每个样本程序对应的第一代码特征值向量和第二代码特征值向量进行比对,获取每个样本程序对应的比对结果;

最优GAN网络模型确定单元,用于若根据每个样本程序对应的比对结果确定当前的GAN网络模型能够辨别出样本程序和目标程序,则对当前的GAN网络模型的判别器和生成器进行交替训练,直至训练后的GAN网络模型无法辨别出样本程序和目标程序时,确定当前的GAN网络模型为最优GAN网络模型;

目标翻译程序获取单元,用于获取待翻译程序,并利用所述最优GAN网络模型进行代码翻译,获取与所述待翻译程序对应的目标翻译程序。

优选地,其中所述代码特征提取模型,基于ASTNN切割抽象语法树AST的思想,利用代表预设字符对应的程序控制块的AST节点将AST切割成多个子树,再利用TBCNN对所述多个子树进行卷积运算,采用双向循环神经网络,内部神经元采用LSTM,来提取代码块之间的序列信息,将每个时间步生成的代码向量存放到一个向量矩阵中,最终采用最大池化得到代码特征值向量。

优选地,其中所述预设字符包括:“if’、“while”、“for”和“function”。

优选地,其中所述最优GAN网络模型确定单元,若根据每个样本程序对应的比对结果确定当前的GAN网络模型能够辨别出样本程序和目标程序,则对当前的GAN网络模型的判别器和生成器进行交替训练,直至训练后的GAN网络模型无法辨别出样本程序和目标程序时,确定当前的GAN网络模型为最优GAN网络模型,包括:

若根据每个样本程序对应的比对结果确定当前的GAN网络模型能够辨别出样本程序和目标程序,则锁定生成器,更新判别器参数,在判别器连续训练的次数等于预设的次数后,更新判别器参数,利用生成器采集样本数据,得到新的样本,锁定判别器,不更新判别器的网络参数,将新的样本再次输入判别器,计算损失,反向传入生成器训练一次,更新生成器参数,并重新计算比对结果,直至根据比对结果确定当前的GAN网络模型无法辨别出样本程序和目标程序时,表明特征值向量在判别器上的分布趋于一致,表明模型收敛,确定当前的GAN网络模型为最优GAN网络模型。

优选地,其中GAN网络模型的优化目标为:

其中,

本发明提供了一种基于生成式对抗GAN网络的代码翻译方法及系统,使用生成式对抗网络技术智能实现源码翻译与转换,相比于以往基于规则的翻译方法和系统具有更好的适用性和可靠性,本发明通过对大量的源码数据样本进行学习,掌握不同编程语言的共性和特性,自动地将语义相近的代码指令映射到相同的潜在空间,从而实现不同语言间指令的互译,这些映射关系依赖模型的自动学习而非人工定义,大大节省了代码翻译所需要的人力成本和时间成本;同时,这种基于生成式对抗网络的代码翻译技术可以轻松的扩展到任意语言,实现多种语言间的翻译转换,具有很强的现实意义。

附图说明

通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:

图1为根据本发明实施方式的基于生成式对抗GAN网络的代码翻译方法100的流程图;

图2为根据本发明实施方式的生成器的工作流程图;

图3为根据本发明实施方式的判别器的工作流程图;

图4为根据本发明实施方式的GAN网络学习数据分布过程的示意图;

图5为根据本发明实施方式的生成器和判别器交替训练的流程图;

图6为根据本发明实施方式的基于生成式对抗GAN网络的代码翻译系统600的结构示意图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

图1为根据本发明实施方式的基于生成式对抗GAN网络的代码翻译方法100的流程图。如图1所示,本发明实施方式提供的基于生成式对抗GAN网络的代码翻译方法,使用生成式对抗网络技术智能实现源码翻译与转换,相比于以往基于规则的翻译方法具有更好的适用性和可靠性,本发明通过对大量的源码数据样本进行学习,掌握不同编程语言的共性和特性,自动地将语义相近的代码指令映射到相同的潜在空间,从而实现不同语言间指令的互译,这些映射关系依赖模型的自动学习而非人工定义,大大节省了代码翻译所需要的人力成本和时间成本;同时,这种基于生成式对抗网络的代码翻译技术可以轻松的扩展到任意语言,实现多种语言间的翻译转换,具有很强的现实意义。本发明实施方式提供的基于生成式对抗GAN网络的代码翻译方法100,从步骤101处开始,在步骤101获取样本程序集,并利用代码特征提取模型对所述样本程序集中的每个样本程序进行代码特征值向量的提取,以获取每个样本程序对应的第一代码特征值向量。

优选地,其中所述代码特征提取模型,基于ASTNN切割抽象语法树AST的思想,利用代表预设字符对应的程序控制块的AST节点将AST切割成多个子树,再利用TBCNN对所述多个子树进行卷积运算,采用双向循环神经网络,内部神经元采用LSTM,来提取代码块之间的序列信息,将每个时间步生成的代码向量存放到一个向量矩阵中,最终采用最大池化得到代码特征值向量。

优选地,其中所述预设字符包括:“if’、“while”、“for”和“function”。

在本发明中,首先获取样本程序集,并将所述样本程序集中的每个样本程序分别放入代码特征提取模型中,产生对应的第一代码特征值向量。其中,本发明的代码特征提取模型是借鉴ASTNN切割AST的思想,模型并未直接对整棵AST进行处理,而是根据“if”、“while”、“for”以及“function”这4个代表程序控制块的AST节点将AST切割成一系列子树,再利用TBCNN对这些子树进行卷积运算。之后,采用双向循环神经网络,内部神经元采用LSTM,来提取代码块之间的序列信息,将每个时间步生成的代码向量存放到一个向量矩阵中,最终采用最大池化得到代码特征值向量。

在步骤102,将所述每个样本程序对应的第一代码特征值向量输入至当前的GAN网络模型的生成器中,以利用所述生成器获取每个样本程序对应的目标程序。

在本发明中,构建初始的GAN网络模型,并设置GAN网络模型中生成器和判别器的网络参数。然后,将获取的第一代码特征值向量输入至当前的GAN网络模型的生成器中,以生成每个样本程序对应的目标程序。其中,生成器的工作流程如图2所示。

在步骤103,通过当前的GAN网络的判别器将每个样本程序对应的目标程序发送至所述代码特征提取模型进行代码特征值向量的提取,以获取与每个目标程序对应的第二代码特征值向量。

在步骤104,利用当前的GAN网络的判别器分别对每个样本程序对应的第一代码特征值向量和第二代码特征值向量进行比对,获取每个样本程序对应的比对结果。

在本发明中,通过GAN网络的判别器将每个样本程序对应的目标程序发送至代码特征提取模型进行代码特征向量的提取,以获取与每个目标程序对应的第二代码特征向量。然后,利用判别器分别对每个程序样本对应的第一代码特征向量和第二代码特征向量进行比对,以获取每个程序样本对应的比对结果。其中,判别器的工作流程如图3所示。

在步骤105,若根据每个样本程序对应的比对结果确定当前的GAN网络模型能够辨别出样本程序和目标程序,则对当前的GAN网络模型的判别器和生成器进行交替训练,直至训练后的GAN网络模型无法辨别出样本程序和目标程序时,确定当前的GAN网络模型为最优GAN网络模型。

优选地,其中所述若根据每个样本程序对应的比对结果确定当前的GAN网络模型能够辨别出样本程序和目标程序,则对当前的GAN网络模型的判别器和生成器进行交替训练,直至训练后的GAN网络模型无法辨别出样本程序和目标程序时,确定当前的GAN网络模型为最优GAN网络模型,包括:

若根据每个样本程序对应的比对结果确定当前的GAN网络模型能够辨别出样本程序和目标程序,则锁定生成器,更新判别器参数,在判别器连续训练的次数等于预设的次数后,更新判别器参数,利用生成器采集样本数据,得到新的样本,锁定判别器,不更新判别器的网络参数,将新的样本再次输入判别器,计算损失,反向传入生成器训练一次,更新生成器参数,并重新计算比对结果,直至根据比对结果确定当前的GAN网络模型无法辨别出样本程序和目标程序时,表明特征值向量在判别器上的分布趋于一致,表明模型收敛,确定当前的GAN网络模型为最优GAN网络模型。

优选地,其中GAN网络模型的优化目标为:

其中,

在本发明中,根据获取的比对结果进行分析,若比较结果指示差异较大,则进行生成器和判别的调参优化,选择合适的损失函数和算法,尽量提高生成网络所生成数据和真实数据之间的相似度。在本发明中可使用目标函数式(1)测量它们之间的相似度。这条公式体现了生成器和判别器博弈的过程,生成器希望这个损失越小越好,而判别器希望越大越好。即判别器D试图使目标函数V(D,G)最大,而生成器G试图使目标函数V(D,G)最小。式中,x~p

由于GAN网络是单独交替迭代训练的,所以这个目标函数也是分别对判别器和生成器进行优化的。首先,固定生成器G,对判别器D进行优化,表达形式如下:

其中,D(x)表示对真实的程序样本进行判别,这里,如果D(x)趋近于1就说明判定的很好,那么损失函数log(D(x))就趋近于0。而z是输入的程序样本,G(z)表示生成的样本,对于判断生成的样本D(G(z)),因为判别器的输出是在0~1之间,D(G(z))要尽量的小,这样的话1-D(G(z))就趋近于1,那么取对数就趋近于0,这样一来总体就趋近于0,实现了零和博弈,所以判别器希望损失越大越好。所以总体表达形式如上所示。

其次对生成器进行优化,表达形式如下:

在这里,生成模型的优化很简单,因为固定了判别器D,所以只需要让判别的结果D(G(z))接近于1就可以了。

如图4所示,为生成式对抗网络学习数据分布过程的示意图。其中,点较大的虚线为真实程序样本分布p

由于生成网络和判别网络是两个完全独立的卷积神经网络,在迭代训练过程中单独对判别器进行优化难以实现,且易导致有限数据集过拟合问题的发生。所以在本发明中连续训练判别器K次,随后训练生成器1次的方式交替进行,只要生成器G变化的速度足够慢,则判别器D就能持续靠近最优解。

结合图5所示,在本发明中,在优化训练模型时,将两类样本的特征值输入判别器进行对比,计算损失,锁定生成器,更新判别器网络参数,判别器D连续训练K次后,保存判别模型参数;从生成器G采样数据,得到目标样本,锁定判别器,不更新判别器的网络参数,将目标样本再次输入判别器,计算损失,反向传入生成器进行训练,更新生成器网络参数;重复此过程,如果样本程序和目标程序的特征值向量在判别器上的分布趋于一致,则模型收敛,此时的GAN网络模型即为最优GAN网络模型。

在步骤106,获取待翻译程序,并利用所述最优GAN网络模型进行代码翻译,获取与所述待翻译程序对应的目标翻译程序。

本发明的代码翻译方法,通过生成器模型、判别器模型与一个代码特征提取模型,三者之间通过网络连接,在网络内部相互训练,提升自身翻译效果,最终得到一个较好的翻译结果,从而能实现将源代码从一种高级编程语言(如C++或Python)转换为另一种高级编程语言(如C或Java)。

本发明的基于生成式对抗网络的代码翻译系统的具体过程为:采集大量不同种类的高级编程语言组成平行语料,作为翻译模型的训练集,保留编程语言间大量重合的关键字,把各高级编程语言之间的对应片段映射在相近的潜在空间。服务器把选定的训练集作为输入数据,送入基于卷积和循环神经网络的自动代码特征提取模型中,得到输入数据的特征值向量A,作为生成器的输入向量,生成目标程序代码。随后判别器会先将生成器生成的目标程序代码放入自动代码特征提取模型中,产生相对应的代码特征值向量B。此时判别器开始将A、B两组代码特征值向量进行对比,若两者的区别无法骗过判别器,则判别器先优化自己的算法,尽可能的区分出两种特征值向量,优化K次后,再优化一次生成器,让生成的特征值向量B能够达到欺骗判别器的目的。通过生成器和判别器不断交替训练优化,最终使得生成器得到的目标程序代码的特征值向量B跟源程序代码的特征值向量A无法被判别器区分,模型实现收敛,此时就可以得到一个高质量的基于GAN网络的代码翻译模型。

本方发明在确定了最优GAN网络模型后,通过将待翻译程序直接输入所述最优GAN网络模型即可得到与待翻译程序对应的目标翻译程序,高效准确地实现代码翻译。

图6为根据本发明实施方式的基于生成式对抗GAN网络的代码翻译系统600的结构示意图。如图6所示,本发明实施方式提供的基于生成式对抗GAN网络的代码翻译系统600,包括:第一代码特征值向量获取单元601、目标程序生成单元602、第二代码特征值向量获取单元603、比对结果获取单元604、最优GAN网络模型确定单元605和目标翻译程序获取单元606。

优选地,所述第一代码特征值向量获取单元601,用于获取样本程序集,并利用代码特征提取模型对所述样本程序集中的每个样本程序进行代码特征值向量的提取,以获取每个样本程序对应的第一代码特征值向量。

优选地,其中所述代码特征提取模型,基于ASTNN切割抽象语法树AST的思想,利用代表预设字符对应的程序控制块的AST节点将AST切割成多个子树,再利用TBCNN对所述多个子树进行卷积运算,采用双向循环神经网络,内部神经元采用LSTM,来提取代码块之间的序列信息,将每个时间步生成的代码向量存放到一个向量矩阵中,最终采用最大池化得到代码特征值向量。

优选地,其中所述预设字符包括:“if’、“while”、“for”和“function”。

优选地,所述目标程序生成单元602,用于将所述每个样本程序对应的第一代码特征值向量输入至当前的GAN网络模型的生成器中,以利用所述生成器获取每个样本程序对应的目标程序。

优选地,所述第二代码特征值向量获取单元603,用于通过当前的GAN网络的判别器将每个样本程序对应的目标程序发送至所述代码特征提取模型进行代码特征值向量的提取,以获取与每个目标程序对应的第二代码特征值向量。

优选地,所述比对结果获取单元604,用于利用当前的GAN网络的判别器分别对每个样本程序对应的第一代码特征值向量和第二代码特征值向量进行比对,获取每个样本程序对应的比对结果。

优选地,所述最优GAN网络模型确定单元605,用于若根据每个样本程序对应的比对结果确定当前的GAN网络模型能够辨别出样本程序和目标程序,则对当前的GAN网络模型的判别器和生成器进行交替训练,直至训练后的GAN网络模型无法辨别出样本程序和目标程序时,确定当前的GAN网络模型为最优GAN网络模型。

优选地,其中所述最优GAN网络模型确定单元605,若根据每个样本程序对应的比对结果确定当前的GAN网络模型能够辨别出样本程序和目标程序,则对当前的GAN网络模型的判别器和生成器进行交替训练,直至训练后的GAN网络模型无法辨别出样本程序和目标程序时,确定当前的GAN网络模型为最优GAN网络模型,包括:

若根据每个样本程序对应的比对结果确定当前的GAN网络模型能够辨别出样本程序和目标程序,则锁定生成器,更新判别器参数,在判别器连续训练的次数等于预设的次数后,更新判别器参数,利用生成器采集样本数据,得到新的样本,锁定判别器,不更新判别器的网络参数,将新的样本再次输入判别器,计算损失,反向传入生成器训练一次,更新生成器参数,并重新计算比对结果,直至根据比对结果确定当前的GAN网络模型无法辨别出样本程序和目标程序时,表明特征值向量在判别器上的分布趋于一致,表明模型收敛,确定当前的GAN网络模型为最优GAN网络模型。

优选地,其中GAN网络模型的优化目标为:

其中,

优选地,所述目标翻译程序获取单元606,用于获取待翻译程序,并利用所述最优GAN网络模型进行代码翻译,获取与所述待翻译程序对应的目标翻译程序。

本发明的实施例的基于生成式对抗GAN网络的代码翻译系统600与本发明的另一个实施例的基于生成式对抗GAN网络的代码翻译方法100相对应,在此不再赘述。

已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。

通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号