CN104657162A - 一种服务环境修改方法和装置 - Google Patents
一种服务环境修改方法和装置 Download PDFInfo
- Publication number
- CN104657162A CN104657162A CN201310594308.9A CN201310594308A CN104657162A CN 104657162 A CN104657162 A CN 104657162A CN 201310594308 A CN201310594308 A CN 201310594308A CN 104657162 A CN104657162 A CN 104657162A
- Authority
- CN
- China
- Prior art keywords
- environment
- service environment
- server
- amendment
- mode
- 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
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施方式提出了一种服务环境修改方法和装置。方法包括:接收环境修改文件;解析所述环境修改文件以生成抽象语法树;从所述抽象语法树中抽取树节点,解析树节点内容并将所述树节点内容存入数据结构,根据所述数据结构生成服务环境修改脚本,并运行所述服务环境修改脚本以修改服务环境。本发明实施方式提供一种通用的、针对后台服务系统环境修改的解决方案,可以降低开发和调试时间,提高环境修改效率。
Description
技术领域
本发明实施方式涉及信息处理技术领域,更具体地,涉及一种服务环境修改方法和装置。
背景技术
在当今的信息时代中,各种信息设备应运而生。而且,随着电子消费、计算机、通信(3C)融合的到来,人们越来越多地将注意力放到了对各个不同领域的信息设备进行综合利用的研究上,以充分利用现有资源设备来为人们更好的服务。在这些资源设备的工作处理过程中,经常涉及到计算机文件的处理。
对于IT工程师来说,不管是开发人员还是测试人员,在进行系统功能或性能验证时,通常会搭建并启动单个服务器(server)或包含多个服务器的整个后台服务系统。如果后台服务系统比较复杂,涉及的服务器数量较大,使用传统的系统环境搭建和修改方式不仅耗力费时,而且不利于后期维护。如果有一个通用的解决方案,不仅能大大提供工作效率,而且能做到统一维护,统一扩展。
同时,对于后台服务环境的修改,一般是在一个基准环境上修改配置、数据等,然后启动并检查启动是否成功。
现有的后台服务系统环境修改方案有两种:
(1)人工修改的方式。即手工进行后台系统中每个服务器的配置修改,数据修改等,然后手工启动所有服务器并人工验证各个服务器启动成功。在这种方式中,对于比较复杂的后台服务系统,手工修改费时费力,而且容易出错,另外需要人工验证系统是否正常工作。
(2)为不同的后台服务系统定制特有的自动化脚本,用自动化的方式完成系统修改。在这种方式中,对于不同的系统需要不同的自动化脚本;这些自动化脚本实现方式不同但核心思想大同小异;开发一个新系统的自动化脚本需要花费大量重复的开发和调试时间。
发明内容
本发明实施方式提出一种服务环境修改方法,以降低开发和调试时间,提高环境修改效率。
本发明实施方式还提出一种服务环境修改装置,以降低开发和调试时间,提高环境修改效率。
本发明实施方式的具体方案如下:
一种服务环境修改方法,该方法包括:
接收环境修改文件;
解析所述环境修改文件以生成抽象语法树;
从所述抽象语法树中抽取树节点,解析树节点内容并将所述树节点内容存入数据结构,根据所述数据结构生成服务环境修改脚本,并运行所述服务环境修改脚本以修改服务环境。
一种服务环境修改装置,该装置包括:环境修改文件接收单元、解析单元和修改脚本运行单元,其中:
环境修改文件接收单元,用于接收环境修改文件;
解析单元,用于解析所述环境修改文件以生成抽象语法树;
修改脚本运行单元,用于从所述抽象语法树中抽取树节点,解析树节点内容并将所述树节点内容存入数据结构,根据所述数据结构生成服务环境修改脚本,并运行所述服务环境修改脚本以修改服务环境。
从上述技术方案可以看出,在本发明实施方式中,接收环境修改文件;解析所述环境修改文件以生成抽象语法树;从所述抽象语法树中抽取树节点,解析树节点内容并将所述树节点内容存入数据结构,根据所述数据结构生成服务环境修改脚本,并运行所述服务环境修改脚本以修改服务环境。由此可见,应用本发明实施方式之后,提供了一种通用的、针对后台服务系统环境修改的解决方案,可以采用一种统一的架构解决服务系统环境修改问题,因此可以降低开发和调试时间,提高环境修改效率。
而且,本发明实施方式便于扩展,可以大规模使用。
附图说明
图1为根据本发明实施方式服务环境修改分层示意图;
图2为根据本发明实施方式服务环境修改方法流程图;
图3为根据本发明实施方式抽象语法树解析方法流程图;
图4为根据本发明实施方式服务环境修改装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
在本发明实施方式中,提供一种通用的、针对后台服务系统环境修改的解决方案,可以采用一种统一的架构解决服务系统环境修改问题。
图1为根据本发明实施方式服务环境修改分层示意图。服务环境通常包含一个或多个服务器,每个服务器有自己的配置文件等。在服务环境搭建完毕之后,通常有针对服务环境进行修改的需求。
如图1所示,本发明实施方式基本为三层架构,分别为应用层,解析层和核心层。
(1)应用层
应用层是整个结构的入口,可以在应用层由用户在测试机上撰写或自动生成需要搭建的后台服务系统描述文件,以作为环境修改文件。
在这里,可以利用现有的多种测试环境编辑语言来生成作为环境修改文件的后台服务系统描述文件。也可以自行开发测试环境编辑语言,并利用该自行开发的测试环境编辑语言来生成作为环境修改文件的后台服务系统描述文件。
对于测试环境编辑语言的语法设计:
一般来说,一个后台服务环境系统中包含一个或多个服务器,每个服务器有自己的配置文件、数据文件、日志文件等等。同时,不同的服务器有不同的启动方式以及不同的启动成功检查方式,在某些特殊情况下,系统中各个服务器的启动需要一定顺序。基于上述分析,测试环境编辑语言的语法也分为对系统和单个服务器描述两部分,分别对整个系统和单个服务器进行描述。
一个典型的测试环境编辑语言的描述文件如下:
其中:
System部分描述整个系统行为。cmd关键字定义系统操作(如start,stop等),‘&’表示操作必须有序而‘;’表示操作没有特定顺序,可以并行执行。
module部分描述单个的服务器行为。module支持以组数的方式进行描述,以适应A服务器需要和多个相同的B服务器进行通信的情况。Key关键字定义普通变量,而path关键字定义的变量会相对于SYS_ROOT路径做扩展。Conf关键字定义conf文件位置以及对conf文件的修改情况等,gflag关键字定义程序启动时需要的参数(可以从文件中读取,也可以直接在tel中指定),cmd关键字定义模块操作(如start,stop,restart等)。同时,所有之前定义过的关键字都可以用shell语法方式在后续的描述中进行引用。
本发明实施方式可以支持python的import关键字,可以直接import系统的或自定义的python包。Import的包可以在tel描述中直接使用(如模块mytest的check命令)
这种设计具有很好的扩展性,可以加入更多的关键字,以描述更为复杂的系统。
(2)解析层
解析层主要用于完成环境修改文件的词法和语法分析,对于语法和词法格式都正确的环境修改文件,生成抽象语法树,以由后续核心层读取解析。
比如,解析层具体可以采用ANTLR(Another Tool for LanguageRecognition)方式来解析所述环境修改文件以生成抽象语法树。
下面以ANTLR为例对解析层进行说明。
ANTLR其前身是PCCTS,它为包括Java,C++,C#在内的语言提供了一个通过语法描述来自动构造自定义语言的识别器(recognizer),编译器(parser)和解释器(translator)的框架。ANTLR可以通过断言(Predicate)解决识别冲突;支持动作(Action)和返回值(Return Value)。
词法分析器又称为Scanner,Lexical analyser或Tokenizer。程序设计语言通常由关键字和严格定义的语法结构组成。编译的最终目的是将程序设计语言的高层指令翻译成物理机器或虚拟机可以执行的指令。词法分析器的工作是分析量化那些本来毫无意义的字符流,将他们翻译成离散的字符组(也就是一个一个的Token),包括关键字,标识符,符号(symbols)和操作符供语法分析器使用。
语法分析器又称为Syntactical analyser。在分析字符流的时候,词法分析器不关心所生成的单个Token的语法意义及其与上下文之间的关系,而这就是语法分析器的工作。语法分析器将收到的Tokens组织起来,并转换成为目标语言语法定义所允许的序列。
无论是Lexer还是Parser都是一种识别器,词法分析器是字符序列识别器而语法分析器是Token序列识别器。他们在本质上是类似的东西,而只是在分工上有所不同而已。
树分析器可以用于对语法分析生成的抽象语法树进行遍历,并能执行一些相关的操作。
ANTLR将上述结合起来,它允许我们定义识别字符流的词法规则和用于解释Token流的词法分析规则。然后,ANTLR将根据用户提供的语法文件自动生成相应的词法/语法分析器。用户可以利用他们将输入的文本进行编译,并转换成其他形式(如AST—Abstract Syntax Tree,抽象的语法树)。
使用Antlr生成抽象语法树(AST)后,语法解析模块主要完成对AST的解析,语法解析模块又分为import解析、module解析和system解析三个子模块。
Import解析模块主要处理环境修改文件中被引入的外部功能命令(比如python包),把他们加入到内部数据结构的imports数组中。
module解析模块主要处理环境修改文件中定义的module部分,即全局系统参数,包括module的conf描述,gflag描述,cmd定义的操作以及key和path等定义的变量,并处理变量扩展及变量替换等,最后把处理后的结果加入内部数据结构module_descriptor。
system解析模块主要处理环境修改文件中定义的system部分,即单个服务器的配置参数,包含system中cmd定义的操作以及key,path定义的变量等,最后把处理后的结果加入内部数据结构system_descriptor。
以上虽然以ANTLR为实例对解析层进行了具体说明,本领域技术人员可以意识到,本发明实施方式并不局限于ANTLR方式。
(3)核心层
核心层主要由两部分组成:
语法树解析模块:该模块主要功能是分析抽象语法树,取出其中有意义的树节点,解析节点内容并存入自定义的数据结构中。
代码生成模块:该模块的主要功能是从语法树解析模块输出的自定义数据结构中取出内容,生成可执行的服务环境修改脚本(比如python脚本)。用户只用执行这个服务环境修改脚本,便可完成整个后台服务系统的环境搭建、启动及检查。
基于上述详细分析,本发明实施方式提出了一种服务环境修改方法。
图2为根据本发明实施方式服务环境修改方法的流程图。
如图2所示,该方法包括:
步骤201:接收环境修改文件;
步骤202:解析所述环境修改文件以生成抽象语法树;
步骤203:从所述抽象语法树中抽取树节点,解析树节点内容并将所述树节点内容存入数据结构,根据所述数据结构生成服务环境修改脚本,并运行所述服务环境修改脚本以修改服务环境。
所述环境修改文件包括全局系统参数、单个服务器的配置参数和外部功能命令;在这里,可以利用现有的多种测试环境编辑语言来生成作为环境修改文件的后台服务系统描述文件。也可以自行开发测试环境编辑语言,并利用该自行开发的测试环境编辑语言来生成作为环境修改文件的后台服务系统描述文件。
所述将所述树节点内容存入数据结构包括:将所述全局系统参数、单个服务器的配置参数和外部功能命令存入数据结构。
在一个实施方式中:
所述全局系统参数包括服务环境中各个服务器的启动方式、服务环境中各个服务器的启动顺序、服务环境中各个服务器在启动之后的检查方式、服务环境中各个服务器的停止方式或服务环境中各个服务器的重启方式。
在这里,通过全局系统参数可以对各个服务器的全局参数进行统一配置,从而方便统一管理各个服务器。
在一个实施方式中:
所述单个服务器的配置参数包括:单个服务器的启动方式、单个服务器在启动之后的检查方式、单个服务器的停止方式、单个服务器的重启方式或单个服务器的启动命令行参数。
在这里,通过单个服务器的配置参数可以对单个服务器的参数进行单独配置,从而便于针对某个服务器进行特定管理。
在一个实施方式中:
所述外部功能命令为python包;所述解析环境修改文件以生成抽象语法树为:利用ANTLR方式解析所述环境修改文件以生成抽象语法树。
在这里,python作为一种面向对象、直译式计算机程序设计语言,而ANTLR作为一种开源语法分析器,通过将python与ANTLR方式相结合,非常便于生成抽象语法树。
在一个实施方式中:
所述解析所述环境修改文件以生成抽象语法树包括:
对环境修改文件进行词法分析,并当词法分析出错时发出报警;
对词法分析正确的环境修改文件进行语法分析,并当语法分析出错时发出报警;
对通过所述词法分析和词法分析的环境修改文件进行解析以生成抽象语法树。
图3为根据本发明实施方式抽象语法树解析方法流程图。
如图3所示,该方法包括:
步骤301:从抽象语法树中获取子节点。
步骤302:判断该子节点是否是import节点,如果是则执行步骤306,否则执行步骤303及其后续步骤:
步骤303:判断该子节点是否是module节点,如果是则执行步骤307,否则执行步骤304及其后续步骤;
步骤304:判断该子节点是否是system节点,如果是则执行步骤308,否则执行步骤305及其后续步骤;
步骤305:判断是否还有子节点,如果是,则返回继续执行步骤301,否则执行步骤310;
步骤306:利用import解析模块进行解析;Import解析模块主要处理环境修改文件中被引入的外部功能命令(比如python包),把它们加入到内部数据结构的imports数组中;
步骤307:利用module解析模块进行解析;module解析模块主要处理环境修改文件中定义的module部分,即全局系统参数,包括module的conf描述,gflag描述,cmd定义的操作以及key和path等定义的变量,并处理变量扩展及变量替换等,最后把处理后的结果加入内部数据结构module_descriptor;
步骤308:利用system解析模块进行解析;system解析模块主要处理环境修改文件中定义的system部分,即单个服务器的配置参数,包含system中cmd定义的操作以及key,path定义的变量等,最后把处理后的结果加入内部数据结构system_descriptor;
步骤309:将import解析模块、module解析模块和system解析模块的解析结构分别存入预先设定的数据结构中;
步骤310:返回该数据结构。
可以利用该数据结构生成服务环境修改脚本,并运行所述服务环境修改脚本以修改服务环境。
代码生成模块是整个系统的核心,代码生成模块遍历语法解析模块输出的数据结构,转变为可直接运行的服务环境修改脚本。
比如,代码生成模块可以采用python的元类(metaclass)编程技术做类封装,以保证生成代码的一致性于简洁性。代码生成模块可以包括数据预处理功能和数据分析功能。数据预处理功能主要用于分析数据结构的完整性,对于不完整的数据结构,直接返回错误,不会生成最终的脚本文件。数据分析功能把数据结构按照import、module和system进行分类,对于每个module,又按照conf,gflags分子类;而且每一个分类分别被送入import代码生成模块,数据序列化模块、module代码生成模块、conf代码生成模块、gfalgs代码生成模块,system代码生成模块,生成最终的python脚本文件。
基于上述详细分析,本发明实施方式还提出了一种服务环境修改装置。
图4为根据本发明实施方式服务环境修改装置结构图。
如图4所示,该服务环境修改装置包括:环境修改文件接收单元401、解析单元402和修改脚本运行单元403,其中:
环境修改文件接收单元401,用于接收环境修改文件;
解析单元402,用于解析所述环境修改文件以生成抽象语法树;
修改脚本运行单元403,用于从所述抽象语法树中抽取树节点,解析树节点内容并将所述树节点内容存入数据结构,根据所述数据结构生成服务环境修改脚本,并运行所述服务环境修改脚本以修改服务环境。
在一个实施方式中:
所述环境修改文件包括全局系统参数、单个服务器的配置参数和外部功能命令;
修改脚本运行单元403,用于将所述全局系统参数、单个服务器的配置参数和外部功能命令存入数据结构。
在一个实施方式中:
所述全局系统参数包括服务环境中各个服务器的启动方式、服务环境中各个服务器的启动顺序、服务环境中各个服务器在启动之后的检查方式、服务环境中各个服务器的停止方式或服务环境中各个服务器的重启方式。
在一个实施方式中:
所述单个服务器的配置参数包括:单个服务器的启动方式、单个服务器在启动之后的检查方式、单个服务器的停止方式、单个服务器的重启方式或单个服务器的启动命令行参数。
在一个实施方式中:
所述外部功能命令为python包;
解析单元402,用于利用ANTLR方式解析所述环境修改文件以生成抽象语法树。
在一个实施方式中:
解析单元402,用于对环境修改文件进行词法分析,并当词法分析出错时发出报警;对词法分析正确的环境修改文件进行语法分析,并当语法分析出错时发出报警;对通过所述词法分析和词法分析的环境修改文件进行解析以生成抽象语法树。
实际上,可以通过多种形式来具体实施本发明实施方式所提出的服务环境修改方法和装置。
比如,可以遵循一定规范的应用程序接口,将服务环境修改方法编写为安装到个人电脑、移动终端等中的插件程序,也可以将其封装为应用程序以供用户自行下载使用。当编写为插件程序时,可以将其实施为ocx、dll、cab等多种插件形式。也可以通过Flash插件、RealPlayer插件、MMS插件、MIDI五线谱插件、ActiveX插件等具体技术来实施本发明实施方式所提出的服务环境修改方法。
可以通过指令或指令集存储的储存方式将本发明实施方式所提出的服务环境修改方法存储在各种存储介质上。这些存储介质包括但是不局限于:软盘、光盘、DVD、硬盘、闪存、U盘、CF卡、SD卡、MMC卡、SM卡、记忆棒(MemoryStick)、xD卡等。
另外,还可以将本发明实施方式所提出的服务环境修改方法应用到基于闪存(Nand flash)的存储介质中,比如U盘、CF卡、SD卡、SDHC卡、MMC卡、SM卡、记忆棒、xD卡等。
综上所述,在本发明实施方式中,接收环境修改文件;解析所述环境修改文件以生成抽象语法树;从所述抽象语法树中抽取树节点,解析树节点内容并将所述树节点内容存入数据结构,根据所述数据结构生成服务环境修改脚本,并运行所述服务环境修改脚本以修改服务环境。由此可见,应用本发明实施方式之后,提供一种通用的、针对后台服务系统环境修改的解决方案,可以采用一种统一的架构解决服务系统环境修改问题,因此可以降低开发和调试时间,提高环境修改效率。
而且,本发明实施方式便于扩展,可以大规模使用。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种服务环境修改方法,其特征在于,该方法包括:
接收环境修改文件;
解析所述环境修改文件以生成抽象语法树;
从所述抽象语法树中抽取树节点,解析树节点内容并将所述树节点内容存入数据结构,根据所述数据结构生成服务环境修改脚本,并运行所述服务环境修改脚本以修改服务环境。
2.根据权利要求1所述的服务环境修改方法,其特征在于,所述环境修改文件包括全局系统参数、单个服务器的配置参数和外部功能命令;
所述将所述树节点内容存入数据结构包括:将所述全局系统参数、单个服务器的配置参数和外部功能命令存入数据结构。
3.根据权利要求2所述的服务环境修改方法,其特征在于,所述全局系统参数包括服务环境中各个服务器的启动方式、服务环境中各个服务器的启动顺序、服务环境中各个服务器在启动之后的检查方式、服务环境中各个服务器的停止方式或服务环境中各个服务器的重启方式。
4.根据权利要求2所述的服务环境修改方法,其特征在于,所述单个服务器的配置参数包括:单个服务器的启动方式、单个服务器在启动之后的检查方式、单个服务器的停止方式、单个服务器的重启方式或单个服务器的启动命令行参数。
5.根据权利要求2所述的服务环境修改方法,其特征在于,所述外部功能命令为python包;所述解析环境修改文件以生成抽象语法树为:利用ANTLR方式解析所述环境修改文件以生成抽象语法树。
6.根据权利要求1-5中任一项所述的服务环境修改方法,其特征在于,所述解析所述环境修改文件以生成抽象语法树包括:
对环境修改文件进行词法分析,并当词法分析出错时发出报警;
对词法分析正确的环境修改文件进行语法分析,并当语法分析出错时发出报警;
对通过所述词法分析和词法分析的环境修改文件进行解析以生成抽象语法树。
7.一种服务环境修改装置,其特征在于,该装置包括:环境修改文件接收单元、解析单元和修改脚本运行单元,其中:
环境修改文件接收单元,用于接收环境修改文件;
解析单元,用于解析所述环境修改文件以生成抽象语法树;
修改脚本运行单元,用于从所述抽象语法树中抽取树节点,解析树节点内容并将所述树节点内容存入数据结构,根据所述数据结构生成服务环境修改脚本,并运行所述服务环境修改脚本以修改服务环境。
8.根据权利要求7所述的服务环境修改装置,其特征在于,所述环境修改文件包括全局系统参数、单个服务器的配置参数和外部功能命令;
修改脚本运行单元,用于将所述全局系统参数、单个服务器的配置参数和外部功能命令存入数据结构。
9.根据权利要求8所述的服务环境修改装置,其特征在于,所述全局系统参数包括服务环境中各个服务器的启动方式、服务环境中各个服务器的启动顺序、服务环境中各个服务器在启动之后的检查方式、服务环境中各个服务器的停止方式或服务环境中各个服务器的重启方式。
10.根据权利要求8所述的服务环境修改装置,其特征在于,所述单个服务器的配置参数包括:单个服务器的启动方式、单个服务器在启动之后的检查方式、单个服务器的停止方式、单个服务器的重启方式或单个服务器的启动命令行参数。
11.根据权利要求7所述的服务环境修改装置,其特征在于,所述外部功能命令为python包;
解析单元,用于利用ANTLR方式解析所述环境修改文件以生成抽象语法树。
12.根据权利要求7-11中任一项所述的服务环境修改装置,其特征在于,
解析单元,用于对环境修改文件进行词法分析,并当词法分析出错时发出报警;对词法分析正确的环境修改文件进行语法分析,并当语法分析出错时发出报警;对通过所述词法分析和词法分析的环境修改文件进行解析以生成抽象语法树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310594308.9A CN104657162A (zh) | 2013-11-21 | 2013-11-21 | 一种服务环境修改方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310594308.9A CN104657162A (zh) | 2013-11-21 | 2013-11-21 | 一种服务环境修改方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104657162A true CN104657162A (zh) | 2015-05-27 |
Family
ID=53248345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310594308.9A Pending CN104657162A (zh) | 2013-11-21 | 2013-11-21 | 一种服务环境修改方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104657162A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107808101A (zh) * | 2017-11-06 | 2018-03-16 | 上海金途信息科技有限公司 | 一种通过加密Python明文源码token的知识产权保护系统 |
CN112463629A (zh) * | 2020-12-11 | 2021-03-09 | 北京航空航天大学 | 一种基于遗传进化的自主无人系统软件配置项调整方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101482847A (zh) * | 2009-01-19 | 2009-07-15 | 北京邮电大学 | 一种基于安全漏洞缺陷模式的检测方法 |
CN101841515A (zh) * | 2009-03-19 | 2010-09-22 | 北京理工大学 | 可变目标的协议数据单元编解码代码自动生成的实现方法 |
CN102662661A (zh) * | 2012-03-23 | 2012-09-12 | 中山大学 | 一种面向嵌入式软件的软件分析集成方法 |
-
2013
- 2013-11-21 CN CN201310594308.9A patent/CN104657162A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101482847A (zh) * | 2009-01-19 | 2009-07-15 | 北京邮电大学 | 一种基于安全漏洞缺陷模式的检测方法 |
CN101841515A (zh) * | 2009-03-19 | 2010-09-22 | 北京理工大学 | 可变目标的协议数据单元编解码代码自动生成的实现方法 |
CN102662661A (zh) * | 2012-03-23 | 2012-09-12 | 中山大学 | 一种面向嵌入式软件的软件分析集成方法 |
Non-Patent Citations (1)
Title |
---|
陈超: "C/C++安全检查工具中抽象语法树的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107808101A (zh) * | 2017-11-06 | 2018-03-16 | 上海金途信息科技有限公司 | 一种通过加密Python明文源码token的知识产权保护系统 |
CN107808101B (zh) * | 2017-11-06 | 2020-11-06 | 上海金途信息科技有限公司 | 一种通过加密Python明文源码token的知识产权保护系统 |
CN112463629A (zh) * | 2020-12-11 | 2021-03-09 | 北京航空航天大学 | 一种基于遗传进化的自主无人系统软件配置项调整方法 |
CN112463629B (zh) * | 2020-12-11 | 2022-03-29 | 北京航空航天大学 | 一种基于遗传进化的自主无人系统软件配置项调整方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111708539B (zh) | 一种应用程序代码转换方法、装置、电子设备和存储介质 | |
CN106970802B (zh) | 在领域特定语言中集成编程脚本语言的方法及装置 | |
US8850414B2 (en) | Direct access of language metadata | |
CN110688122B (zh) | 编译和执行智能合约的方法及装置 | |
CN102200911B (zh) | 变量闭包 | |
US11531529B2 (en) | Method and electronic device for deploying operator in deep learning framework | |
US20090313613A1 (en) | Methods and Apparatus for Automatic Translation of a Computer Program Language Code | |
US9223570B2 (en) | Migration assistance using compiler metadata | |
CN106843849B (zh) | 一种基于文档的库函数的代码模型的自动合成方法 | |
CN101185116A (zh) | 在软件程序中使用强数据类型表示语音识别语法 | |
CN102830975A (zh) | 一种汇编语言到高级语言的代码转换方法和装置 | |
JP2021502632A (ja) | プログラムのコメントを使用した最適化の提供 | |
CN109725896A (zh) | 一种在线编辑python代码的方法以及电子设备 | |
CN111831384A (zh) | 语言切换方法和装置、设备及存储介质 | |
CN114625844A (zh) | 一种代码搜索方法、装置及设备 | |
Kuramitsu | Nez: practical open grammar language | |
CN103593277A (zh) | 日志处理方法及系统 | |
CN107463421B (zh) | 一种静态流程模型的编译执行方法及系统 | |
KR102546424B1 (ko) | 학습용 데이터 생성 장치, 소스 코드 오류 분석 장치 및 방법 | |
Bader et al. | AI in software engineering at Facebook | |
CN112269566B (zh) | 脚本生成处理方法、装置、设备及系统 | |
CN104657162A (zh) | 一种服务环境修改方法和装置 | |
CN117008920A (zh) | 引擎系统、请求处理方法、装置、计算机设备及存储介质 | |
CN115629762A (zh) | 一种json数据处理方法、装置、电子设备及存储介质 | |
CN114817124A (zh) | 多核微控制器间映射方法、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150527 |
|
WD01 | Invention patent application deemed withdrawn after publication |