CN107957892A - 用于生成文件的方法和装置 - Google Patents

用于生成文件的方法和装置 Download PDF

Info

Publication number
CN107957892A
CN107957892A CN201711267964.2A CN201711267964A CN107957892A CN 107957892 A CN107957892 A CN 107957892A CN 201711267964 A CN201711267964 A CN 201711267964A CN 107957892 A CN107957892 A CN 107957892A
Authority
CN
China
Prior art keywords
information
coding
file
templet
replaced
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
CN201711267964.2A
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201711267964.2A priority Critical patent/CN107957892A/zh
Publication of CN107957892A publication Critical patent/CN107957892A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了用于生成文件的方法和装置。该方法的一具体实施方式包括:获取编码用信息,其中,编码用信息包含以下至少一项:方法信息,接口信息;获取编码模板信息,其中,编码模板信息用于表征待生成的编码的样式;基于编码模板信息,对编码用信息进行处理,生成编码信息;生成包含编码信息的文件。该实施方式提高了文件生成的灵活性。

Description

用于生成文件的方法和装置
技术领域
本申请实施例涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及用于生成文件的方法和装置。
背景技术
目前,云计算技术在各个领域得到越来越广泛的应用。其中IAAS(基础设施即服务,Infrastructure as a Service)为基于云计算技术的主要服务类型,用户存在对IAAS资源的可编程化管理的需求。通常情况下,IAAS服务提供者会提供资源管理相关的网络接口和相应的SDK(软件开发工具包,Software Development Kit),用户通过使用SDK去访问网络接口,来实现对资源的可编程化管理。
发明内容
本申请实施例提出了用于生成文件的方法和装置。
第一方面,本申请实施例提供了一种用于生成文件的方法,该方法包括:获取编码用信息,其中,编码用信息包含以下至少一项:方法信息,接口信息;获取编码模板信息,其中,编码模板信息用于表征待生成的编码的样式;基于编码模板信息,对编码用信息进行处理,生成编码信息;生成包含编码信息的文件。
在一些实施例中,编码模板信息包含待替换方法信息和/或待替换接口信息;以及基于编码模板信息,对编码用信息进行处理,包括:将待替换方法信息替换为方法信息和/或将待替换接口信息替换为接口信息。
在一些实施例中,编码用信息还包含:应用程序编程接口API的API访问地址,API用于IAAS中的资源的使用;以及生成编码信息,包括:生成包含全局变量信息的编码信息,其中,全局变量信息所表征的全局变量的值是API访问地址。
在一些实施例中,编码用信息包含于第一文件中,编码模板信息包含于第二文件中,其中,第一文件是符合另一种标记语言(YAML,YAML Ain't Markup Language)语法规范的文件。
在一些实施例中,上述方法还包括:基于包含编码信息的文件,生成软件开发工具包。
在一些实施例中,编码用信息还包括:变量信息、类信息。
第二方面,本申请实施例提供了一种用于生成文件的装置,该装置包括:第一获取单元,配置用于获取编码用信息,其中,编码用信息包含以下至少一项:方法信息,接口信息;第二获取单元,配置用于获取编码模板信息,其中,编码模板信息用于表征待生成的编码的样式;处理单元,配置用于基于编码模板信息,对编码用信息进行处理,生成编码信息;第一生成单元,配置用于生成包含编码信息的文件。
在一些实施例中,编码模板信息包含待替换方法信息和/或待替换接口信息;以及处理单元包括:替换模块,配置用于将待替换方法信息替换为方法信息和/或将待替换接口信息替换为接口信息。
在一些实施例中,编码用信息还包含:API的API访问地址,API用于IAAS中的资源的使用;以及处理单元还包括:生成模块,配置用于生成包含全局变量信息的编码信息,其中,全局变量信息所表征的全局变量的值是API访问地址。
在一些实施例中,编码用信息包含于第一文件中,编码模板信息包含于第二文件中,其中,第一文件是符合YAML语法规范的文件。
在一些实施例中,上述装置还包括:第二生成单元,配置用于基于包含编码信息的文件,生成软件开发工具包。
在一些实施例中,编码用信息还包括:变量信息、类信息。
第三方面,本申请实施例提供了一种用于生成文件的设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行,使得该一个或多个处理器实现如上述用于生成文件的的方法中任一实施例的方法。
第四方面,本申请实施例提供了一种用于生成文件的计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述用于生成文件的的方法中任一实施例的方法。
本申请实施例提供的用于生成文件的方法和装置,通过获取编码用信息,然后获取编码模板信息,之后基于编码模板信息,对编码用信息进行处理,生成编码信息,最后生成包含编码信息的文件,从而自动生成包含编码信息的文件,有助于提高用户对IAAS资源的使用效率,提高了文件生成的灵活性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的用于生成文件的方法的一个实施例的流程图;
图3是根据本申请的用于生成文件的方法的一个应用场景的示意图;
图4是根据本申请的用于生成文件的方法的又一个实施例的流程图;
图5是根据本申请的用于生成文件的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的用于生成文件的方法或用于生成文件的装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101,网络102和服务器103。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101通过网络102与服务器103交互,以接收、获取或发送消息等。终端设备101上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101可以是具有显示屏并且支持数据传输的各种电子设备,包括但不限于平板电脑、膝上型便携计算机和台式计算机等等。
服务器103可以是提供各种服务的服务器,例如对终端设备101发送的编码用信息、编码模板信息提供支持的后台信息处理服务器。后台信息处理服务器可以对接收或获取到的编码用信息、编码模板信息等数据进行解析等处理,并将处理结果(例如包含编码信息的文件)反馈给终端设备。可以理解,服务器103可以是物理服务器,也可以是云服务器。
需要说明的是,本申请实施例所提供的用于生成文件的方法一般由服务器103执行,相应地,用于生成文件的装置一般设置于服务器103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的用于生成文件的方法的一个实施例的流程200。该用于生成文件的方法,包括以下步骤:
步骤201,获取编码用信息。
在本实施例中,用于生成文件的方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式从用户利用其进行编码的终端(例如图1所示的终端设备)获取编码用信息。其中,编码用信息包含以下至少一项:方法信息,接口信息。编码用信息用于编码的生成。方法信息用于方法的生成。接口信息用于接口的生成。
需要说明的是,在不同编程语言中,可以对方法有不同的命名。例如,在面向过程(Procedure Oriented,OPP)的编程语言(例如C语言、Fortran语言等等)中,方法可以指函数。面向过程的编程语言中的函数与面向对象(Object Oriented,OO)的编程语言(例如C#语言、Java语言、C++语言等等)中的方法均为编码语句的集合,并且用于实现某个可能会重复使用的特定功能。因此,本申请实施例的方法信息既可以是面向过程的编程语言中的函数的信息,也可以是面向对象的编程语言中的函数的信息,还可以是某些编程语言(例如C#)中的方法的信息和/或函数的信息。为使得描述简明,此处统称为方法信息。以方法信息为面向对象的编程语言中的方法的信息为例。方法信息可以包括方法的返回值类型、方法名、方法的参数列表(参数序列)、方法体(编码语句的集合)。具体地,参数列表可以包括参数类型(例如整形int、字符串类型string等等)、参数名称。接口信息可以包括变量信息以及方法信息等等。上述方法信息、接口信息可以包括的具体信息及作用,是本领域人员(例如软件开发工程师)目前广泛研究和应用的公知常识,上述方法信息、接口信息还可以包括其它本领域人员公知、但本申请实施例未提及的信息,在此不再赘述。
在本实施例的一些可选的实现方式中,编码用信息还可以包括:变量信息、类信息。其中,变量信息用于变量的生成,类信息用于类的生成。
示例性的,当用户需要生成Java程序编码,且所生成的编码需要包含变量、类时,编码用信息可以包括变量信息、类信息。
在本实施例的一些可选的实现方式中,编码用信息还可以包括:字段信息、属性信息。其中,字段信息用于字段的生成,属性信息用于属性的生成。
示例性的,当用户需要生成C#程序编码,且所生成的编码需要包含字段、属性时,编码用信息可以包括字段信息、属性信息。
在实践中,编码用信息是用户(例如开发人员)针对其待实现的功能和效果编写的信息。
请参考图3,其示出了根据本实施例的用于生成文件的方法的应用场景的一个示意图。在图3中,服务器(即上述电子设备)获取了编码用信息301:“name:getInstancetype:Instance parameters:name:id type:string”。其中,编码信息301包含方法信息,方法信息包含方法名信息“name:getInstance”(方法名为getInstance),方法的返回值类型信息“type:Instance”(方法的返回值类型为Instance),方法的参数列表信息“parameters:name:id type:string”(参数名为id,参数类型为string)。
步骤202,获取编码模板信息。
在本实施例中,上述电子设备可以获取编码模板信息。其中,编码模板信息用于表征待生成的编码的样式。
其中,编码模板信息是用户根据需要实现的功能所对应的编码编写的。作为示例,请参考图3,在图3中,用户需要通过GET(接口的请求类型)的方式实现如下功能:返回服务器上“http://localhost:8080/Instance”(部署于服务器上的文件的统一资源定位符)下的名为“id”的接口的实例,该实例的类型为“Instance”,将该功能封装为返回值类型为“Instance”,方法名为“getInstance”,参数名为“id”,参数类型为“string”的方法中。由此,用户可以如下定义待生成的编码的样式:用“{{type}}”定义该方法的返回值类型,用“{{name}}”定义该方法的方法名,用“{{#parameters}}{{^-first}},{{/-first}}{{type}}{{name}}{{/parameters}}”定义方法的参数列表,其中,“{{^-first}},{{/-first}}”在-first字段未定义(例如编码用信息中未定义)时,显示标签(即{{^-first}},{{/-first}})之间的内容,否则不会显示该标签之间的内容,{{#parameters}}与{{/parameters}}之间用于定义编码用信息中的parameters的内容,例如,{{#parameters}}{{^-first}},{{/-first}}{{type}}{{name}}{{/parameters}}可以用于定义编码用信息中的parameters下的type字段以及name字段,即参数类型以及参数名,同理“{{#parameters}}{{^-first}},{{/-first}}{{name}}{{/paramters}}”可以用于定义parameters下的name字段。其中,编码模板信息302中的“{{}}”及其内容(例如{{type}}的内容为type)用于被替换,并且,用于替换“{{}}”及其内容的信息,可以包含于编码用信息301中(例如,{{type}}可以被替换为编码用信息301中type所对应的内容,即Instance;当{{type}}位于{{#parameters}}与{{/paramters}}之间时,{{type}}可以被替换为编码用信息301中parameters下type所对应的内容,即string)。编码模板信息302中的“”(空格)、“,”(逗号)、“(”(小括号)等标识,可以保持原样。根据用户所需要实现的上述功能,用户可以将编码模板信息编写为图3中所示的编码模板信息302。
在一种使用情况下,当用户完成编码模板信息的编写之后,其可以将编码模板信息发送(或者上传等)至上述电子设备,以便上述电子设备获取编码模板信息。
步骤203,基于编码模板信息,对编码用信息进行处理,生成编码信息。
在本实施例中,上述电子设备可以基于步骤202所获取的编码模板信息,对步骤201所获取的编码用信息进行处理,生成编码信息。其中,编码信息可以包含方法(当编码用信息包含方法信息时)和/或接口(当编码用信息包含接口信息时)。
在本实施例的一些可选的实现方式中,上述电子设备可以通过模板引擎技术,基于编码模板信息,对编码用信息进行处理,生成编码信息。上述模板引擎可以是解释型模板引擎,也可以是编译型模板引擎,还可以是置换型模板引擎,或者用户根据需求自定义的模板引擎。
在本实施例的一些可选的实现方式中,该步骤还可以如下进行:
首先,可以为上述电子设备制定处理规则。例如,如果编码模板信息中包含一个“@”标识,则将“@”替换为编码用信息的第一个字段;如果编码模板信息中包含连续的两个@标识,即“@@”,则将“@@”替换为编码用信息的第二个字段;如果编码模板信息中包含连续的三个@标识,即“@@@”,则将“@@@”替换为编码用信息的第三个字段;以此类推(即包含n个连续的@标识被替换为编码用信息的第n个字段,其中,n为大于0的自然数),其他标识保留原样,并且编码用信息所包含的字段与字段之间以“_”为间隔。
然后,上述电子设备可以按照上述规定,对编码用信息进行处理。示例性的,如果用户所编写的编码用信息为:
public_class_Dog_String_color_void_sleeping
编码模板信息为:
则上述电子设备根据如上规则,通过解析上述信息,可以确定出编码用信息中的字段的顺序(例如,上述编码用信息中,第一个字段为“public”;第二个字段为“class”;第三个字段为“Dog”等等),以及编码模板信息中的各个位置的连续的@标识的数量。由此,上述电子设备可以进行相应的替换,生成具有相应样式的如下编码信息:
请继续参考图3,在图3中,基于上述步骤202示例中所提及的规则,服务器将编码模板信息中的“{{type}}”置换为“Instance”;“{{name}}”置换为“id”;“{{#parameters}}{{^-first}},{{/-first}}{{type}}{{name}}{{/parameters}}”置换为“string id”;“{{#parameters}}{{^-first}},{{/-first}}{{name}}{{/paramters}}”置换为“id”。由此,生成了编码信息303。
步骤204,生成包含编码信息的文件。
在本实施例中,上述电子设备可以基于步骤203所生成的编码信息,生成包含编码信息的文件。
可选的,上述电子设备所生成的包含编码信息的文件可以是后缀为.class的文件,还可以是JAR(Java Archive,Java归档文件)文件。其中,JAR文件是与平台无关的文件格式的文件,可以将多个文件组合成一个压缩文件。可以理解,用户可以根据自己的需求确定所生成的包含编码信息的文件的格式,然后,针对该文件格式编写编码用信息以及编码模板信息。
可以理解,当编码模板信息包含软件开发工具包所具有的编码信息的样式时(即软件开发工具包所包括的各个文件所包含的信息的样式)时,上述电子设备基于编码模板信息,对编码用信息进行处理,所生成的包含编码信息的文件经编译后可以是软件开发工具包。
本申请的上述实施例提供的方法通过获取编码用信息,然后获取编码模板信息,之后基于编码模板信息,对编码用信息进行处理,生成编码信息,最后生成包含编码信息的文件,从而自动生成包含编码信息的文件,有助于提高用户对IAAS资源的使用效率,提高了文件生成的灵活性。
进一步参考图4,其示出了用于生成文件的方法的又一个实施例的流程400。该用于生成文件的方法的流程400,包括以下步骤:
步骤401,获取编码用信息。
在本实施例中,步骤401与图2对应实施例中的步骤201基本一致,这里不再赘述。
步骤402,获取编码模板信息。
在本实施例中,上述电子设备可以获取编码模板信息。其中,编码模板信息包含待替换方法信息和/或待替换接口信息。编码模板信息用于表征待生成的编码的样式。编码模板信息是用户根据需要实现的功能所对应的编码编写的。待替换方法信息用于被上述方法信息替换。待替换接口信息用于被上述接口信息替换。
步骤403,将待替换方法信息替换为方法信息和/或将待替换接口信息替换为接口信息,生成编码信息。
在本实施例中,上述电子设备可以将待替换方法信息替换为方法信息和/或将待替换接口信息替换为接口信息,生成编码信息。
步骤404,生成包含编码信息的文件。
在本实施例中,步骤404与图2对应实施例中的步骤204基本一致,这里不再赘述。
在本实施例的一些可选的实现方式中,编码用信息还包含:API的API访问地址,API用于IAAS中的资源的使用;以及生成编码信息,包括:生成包含全局变量信息的编码信息。其中,全局变量信息所表征的全局变量的值是API访问地址。上述资源可以包括:CPU、内存、存储空间、网络带宽和计算速度等等。在一种使用情况下,IAAS供应者可以为每种资源配置一个文件,该文件可以包括使用该资源所需要的API,用户基于API实现资源的使用(例如扩大存储空间等)。
示例性的,上述API访问地址可以是“http://localhost:8080”。可以理解,将上述API访问地址作为全局变量的值,可以实现对该API访问地址下的API的使用。
需要说明的是,不同的IAAS供应者,可以提供不同的、用于使用IAAS中的资源的API。例如,针对不同的IAAS供应者,使用同一资源的API的名字可以不同。此时,用户需要针对具体的IAAS供应者所提供的API,编写上述编码用信息以及编码模板信息。
在本实施例的一些可选的实现方式中,编码用信息包含于第一文件中,编码模板信息包含于第二文件中,其中,第一文件是符合YAML语法规范的文件。
在一种使用情况下,用户可以在上述第一文件中编写编码用信息,在上述第二文件中编写编码模板信息,然后,将第一文件、第二文件上传至上述电子设备,之后,上述电子设备可以读取第一文件、第二文件,并提取出编码用信息以及编码模板信息。
在本实施例的一些可选的实现方式中,上述方法还包括:基于包含编码信息的文件,生成软件开发工具包。
作为示例,上述电子设备可以将上述包含编码信息的文件作为源码文件,通过编译包含源码文件的工程(或项目),即可生成软件开发工具包。需要说明的是,上述基于源码文件生成软件开发工具包的技术是本领域的普通技术人员目前广泛研究和应用的公知技术,在此不再赘述。
从图4中可以看出,与图2对应的实施例相比,本实施例中的用于生成文件的方法的流程400突出了对待替换方法信息和/或待替换接口信息进行替换的步骤。由此,本实施例描述的方案可以进行更多的信息替换,从而生成更丰富的编码信息。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种用于生成文件的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于生成文件的装置500包括:第一获取单元501、第二获取单元502、处理单元503和第一生成单元504。其中,第一获取单元501配置用于获取编码用信息,其中,编码用信息包含以下至少一项:方法信息,接口信息;第二获取单元502配置用于获取编码模板信息,其中,编码模板信息用于表征待生成的编码的样式;处理单元503配置用于基于编码模板信息,对编码用信息进行处理,生成编码信息;第一生成单元504配置用于生成包含编码信息的文件。
在本实施例中,用于生成文件的装置500的第一获取单元501可以通过有线连接方式或者无线连接方式从用户利用其进行编码的终端(例如图1所示的终端设备)获取编码用信息。其中,编码用信息包含以下至少一项:方法信息,接口信息。编码用信息用于编码的生成。方法信息用于方法的生成。接口信息用于接口的生成。
在本实施例中,上述第二获取单元502可以获取编码模板信息。其中,编码模板信息用于表征待生成的编码的样式。编码模板信息是用户根据需要实现的功能所对应的编码编写的。
在本实施例中,上述处理单元503可以基于第二获取单元502所获取的编码模板信息,对第一获取单元501所获取的编码用信息进行处理,生成编码信息。其中,编码信息包含方法(当编码用信息包含方法信息时)和/或接口(当编码用信息包含接口信息时)。
在本实施例中,上述生成单元504可以基于处理单元503所生成的编码信息,生成包含编码信息的文件。
在本实施例的一些可选的实现方式中,编码模板信息包含待替换方法信息和/或待替换接口信息;以及处理单元包括:替换模块(图中未示出)配置用于将待替换方法信息替换为方法信息和/或将待替换接口信息替换为接口信息。
在本实施例的一些可选的实现方式中,编码用信息还包含:API的API访问地址,API用于IAAS中的资源的使用;以及处理单元还包括:生成模块(图中未示出)配置用于生成包含全局变量信息的编码信息,其中,全局变量信息所表征的全局变量的值是API访问地址。
在本实施例的一些可选的实现方式中,编码用信息包含于第一文件中,编码模板信息包含于第二文件中,其中,第一文件是符合YAML语法规范的文件。
在本实施例的一些可选的实现方式中,上述装置还包括:第二生成单元(图中未示出)配置用于基于包含编码信息的文件,生成软件开发工具包。
在本实施例的一些可选的实现方式中,编码用信息还包括:变量信息、类信息。
本申请的上述实施例提供的装置,通过第一获取单元501获取编码用信息,然后第二获取单元502获取编码模板信息,之后处理单元503基于编码模板信息,对编码用信息进行处理,生成编码信息,最后第一生成单元504生成包含编码信息的文件,从而自动生成包含编码信息的文件,有助于提高用户对IAAS资源的使用效率,提高了文件生成的灵活性。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM603中,还存储有系统600操作所需的各种程序和数据。CPU601、ROM602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一获取单元、第二获取单元、处理单元和第一生成单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取编码用信息的单元”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的装置中所包含的;也可以是单独存在,而未装配入该装置中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该装置执行时,使得该装置:获取编码用信息,其中,编码用信息包含以下至少一项:方法信息,接口信息;获取编码模板信息,其中,编码模板信息用于表征待生成的编码的样式;基于编码模板信息,对编码用信息进行处理,生成编码信息;生成包含编码信息的文件。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (14)

1.一种用于生成文件的方法,包括:
获取编码用信息,其中,所述编码用信息包含以下至少一项:方法信息,接口信息;
获取编码模板信息,其中,所述编码模板信息用于表征待生成的编码的样式;
基于所述编码模板信息,对所述编码用信息进行处理,生成编码信息;
生成包含所述编码信息的文件。
2.根据权利要求1所述的方法,其中,所述编码模板信息包含待替换方法信息和/或待替换接口信息;以及
所述基于所述编码模板信息,对所述编码用信息进行处理,包括:
将所述待替换方法信息替换为所述方法信息和/或将所述待替换接口信息替换为所述接口信息。
3.根据权利要求1或2所述的方法,其中,所述编码用信息还包含:应用程序编程接口API的API访问地址,所述API用于基础设施即服务IAAS中的资源的使用;以及
所述生成编码信息,包括:
生成包含全局变量信息的编码信息,其中,所述全局变量信息所表征的全局变量的值是所述API访问地址。
4.根据权利要求3所述的方法,其中,所述编码用信息包含于第一文件中,所述编码模板信息包含于第二文件中,其中,所述第一文件是符合另一种标记语言YAML语法规范的文件。
5.根据权利要求3所述的方法,其中,所述方法还包括:
基于所述包含所述编码信息的文件,生成软件开发工具包。
6.根据权利要求4或5所述的方法,其中,所述编码用信息还包括:变量信息、类信息。
7.一种用于生成文件的装置,包括:
第一获取单元,配置用于获取编码用信息,其中,所述编码用信息包含以下至少一项:方法信息,接口信息;
第二获取单元,配置用于获取编码模板信息,其中,所述编码模板信息用于表征待生成的编码的样式;
处理单元,配置用于基于所述编码模板信息,对所述编码用信息进行处理,生成编码信息;
第一生成单元,配置用于生成包含所述编码信息的文件。
8.根据权利要求7所述的装置,其中,所述编码模板信息包含待替换方法信息和/或待替换接口信息;以及
所述处理单元包括:
替换模块,配置用于将所述待替换方法信息替换为所述方法信息和/或将所述待替换接口信息替换为所述接口信息。
9.根据权利要求7或8所述的装置,其中,所述编码用信息还包含:应用程序编程接口API的API访问地址,所述API用于基础设施即服务IAAS中的资源的使用;以及
所述处理单元还包括:
生成模块,配置用于生成包含全局变量信息的编码信息,其中,所述全局变量信息所表征的全局变量的值是所述API访问地址。
10.根据权利要求9所述的装置,其中,所述编码用信息包含于第一文件中,所述编码模板信息包含于第二文件中,其中,所述第一文件是符合另一种标记语言YAML语法规范的文件。
11.根据权利要求9所述的装置,其中,所述装置还包括:
第二生成单元,配置用于基于所述包含所述编码信息的文件,生成软件开发工具包。
12.根据权利要求10或11所述的装置,其中,所述编码用信息还包括:变量信息、类信息。
13.一种服务器,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-6中任一所述的方法。
CN201711267964.2A 2017-12-05 2017-12-05 用于生成文件的方法和装置 Pending CN107957892A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711267964.2A CN107957892A (zh) 2017-12-05 2017-12-05 用于生成文件的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711267964.2A CN107957892A (zh) 2017-12-05 2017-12-05 用于生成文件的方法和装置

Publications (1)

Publication Number Publication Date
CN107957892A true CN107957892A (zh) 2018-04-24

Family

ID=61963214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711267964.2A Pending CN107957892A (zh) 2017-12-05 2017-12-05 用于生成文件的方法和装置

Country Status (1)

Country Link
CN (1) CN107957892A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795147A (zh) * 2018-08-01 2020-02-14 北京京东尚科信息技术有限公司 一种接口协议文件管理方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1739097A (zh) * 2003-01-15 2006-02-22 阿尔卡特公司 基于推的对象请求代理
CN101826080A (zh) * 2009-03-06 2010-09-08 北京华旗资讯数码科技有限公司 编码控制获取网络多媒体文件的系统
CN103793226A (zh) * 2014-01-16 2014-05-14 西北工业大学 一种普适应用代码框架快速生成方法及原型系统
CN107168702A (zh) * 2017-05-10 2017-09-15 苏州奇松软件有限公司 一种App、小程序和Web接口定义和代码生成方法
CN107368423A (zh) * 2017-08-08 2017-11-21 携程计算机技术(上海)有限公司 接口自动化配置系统及在其中进行的自动化脚本处理方法
CN107402884A (zh) * 2017-07-31 2017-11-28 深圳乐信软件技术有限公司 生成接口测试代码的方法及装置
CN107425942A (zh) * 2017-07-27 2017-12-01 广州视源电子科技股份有限公司 数据发送、转发和传输的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1739097A (zh) * 2003-01-15 2006-02-22 阿尔卡特公司 基于推的对象请求代理
CN101826080A (zh) * 2009-03-06 2010-09-08 北京华旗资讯数码科技有限公司 编码控制获取网络多媒体文件的系统
CN103793226A (zh) * 2014-01-16 2014-05-14 西北工业大学 一种普适应用代码框架快速生成方法及原型系统
CN107168702A (zh) * 2017-05-10 2017-09-15 苏州奇松软件有限公司 一种App、小程序和Web接口定义和代码生成方法
CN107425942A (zh) * 2017-07-27 2017-12-01 广州视源电子科技股份有限公司 数据发送、转发和传输的方法及装置
CN107402884A (zh) * 2017-07-31 2017-11-28 深圳乐信软件技术有限公司 生成接口测试代码的方法及装置
CN107368423A (zh) * 2017-08-08 2017-11-21 携程计算机技术(上海)有限公司 接口自动化配置系统及在其中进行的自动化脚本处理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110795147A (zh) * 2018-08-01 2020-02-14 北京京东尚科信息技术有限公司 一种接口协议文件管理方法和装置

Similar Documents

Publication Publication Date Title
CN110019350B (zh) 基于配置信息的数据查询方法和装置
CN106663002B (zh) Rest服务源代码生成
CN107943775A (zh) 消息推送的方法、装置、存储介质及电子设备
CN107832045A (zh) 跨编程语言接口转换的方法和装置
CN109815107B (zh) 自动化测试的方法和装置
CN105718313A (zh) 应用操作方法和装置
CN107729106A (zh) 一种在应用程序组件间实现快速跳转的方法和装置
CN110134427A (zh) 一种生成代码文件的方法和装置
CN110780874B (zh) 用于生成信息的方法和装置
CN110020329A (zh) 用于生成网页的方法、装置和系统
CN110489323A (zh) 可视化的rpc api调试方法、装置、介质和设备
CN109815105A (zh) 基于Btrace的应用程序测试方法和装置
CN111125064A (zh) 一种生成数据库模式定义语句的方法和装置
CN110738036A (zh) 用于生成信息的方法和装置
CN113626223A (zh) 一种接口调用方法和装置
CN109582317A (zh) 用于调试寄宿应用的方法和装置
CN112130830A (zh) 接口生成方法、装置及电子设备
CN111381899A (zh) 用于开发目标系统的方法和装置
CN110019242A (zh) 用于数据表的处理方法、装置和系统
CN110888794A (zh) 接口测试方法和装置
CN110941401A (zh) 一种打印方法和装置
CN107957892A (zh) 用于生成文件的方法和装置
CN109901934B (zh) 生成接口帮助文档的方法和装置
CN109005250A (zh) 用于访问服务端的方法和装置
CN109815455A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180424

RJ01 Rejection of invention patent application after publication