CN107832046A - 数据生成方法及装置 - Google Patents

数据生成方法及装置 Download PDF

Info

Publication number
CN107832046A
CN107832046A CN201711053409.XA CN201711053409A CN107832046A CN 107832046 A CN107832046 A CN 107832046A CN 201711053409 A CN201711053409 A CN 201711053409A CN 107832046 A CN107832046 A CN 107832046A
Authority
CN
China
Prior art keywords
data
file
communication interface
idl
idl file
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
CN201711053409.XA
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 Listen To Cloud Information Technology Co Ltd
Original Assignee
Beijing Listen To Cloud Information 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 Listen To Cloud Information Technology Co Ltd filed Critical Beijing Listen To Cloud Information Technology Co Ltd
Priority to CN201711053409.XA priority Critical patent/CN107832046A/zh
Publication of CN107832046A publication Critical patent/CN107832046A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • G06F9/548Object oriented; Remote method invocation [RMI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明实施例提供了一种数据生成方法及装置,属于计算机通信技术领域。方法包括:获得用户在需要远程过程调用时按照预设远程异步通信接口定义语法形成的IDL文件,其中,预设远程异步通信接口定义语法包括定义远程异步通信接口的数据结构、数据类型、通信接口及所述通信接口的参数;按照预设远程异步通信接口定义语法解析IDL文件,生成与IDL文件对应的客户端调用代理代码、服务端调用代理代码以及服务端实现类定义。因此,通过用户按照预设远程异步通信接口定义语法形成的IDL文件,便能够实现远程过程调用,其无需在开发过程中去适配各种协议、编码等,极大的降低了开发难度,从而有效的提高了远程过程调用在实现过程中的实用性和适用性。

Description

数据生成方法及装置
技术领域
本发明涉及计算机通信技术领域,具体而言,涉及一种数据生成方法及装置。
背景技术
远程过程调用RPC是构建分布式服务系统的重要技术,被广泛地应用于分布式服务系统,如分布式处理、分布式存储、虚拟化技术等。远程过程调用RPC采用C/S模式,其核心思想是将不同进程之间的通信抽象为函数调用。但目前,远程过程调用的开发存在开发难度大,对开发人员要求高等局限性。其需要开发人员在开发过程中解决例如传输协议、协议编解码压缩、服务注册与服务发现、负载均衡、客户端和服务端代理代码等问题。
因此,上述的问题的存在极大的降低了远程过程调用在实现过程中的实用性和适用性。
发明内容
有鉴于此,本发明的目的在于提供一种数据生成方法及装置,以有效改善上述缺陷。
本发明的实施例通过如下方式实现:
第一方面,本发明实施例提供了一种数据生成方法。所述方法包括:获得用户在需要远程过程调用时按照预设远程异步通信接口定义语法形成的IDL文件,其中,所述预设远程异步通信接口定义语法包括定义所述IDL 文件的数据结构、数据类型和通信接口及所述通信接口的参数;按照远程异步通信接口定义语法解析所述IDL文件,以生成与所述IDL文件对应的客户端调用代理代码、服务端调用代理代码以及服务端实现类定义。
第二方面,本发明实施例提供了一种数据生成装置。所述装置包括:获得模块,用于获得用户在需要远程过程调用时按照预设远程异步通信接口定义语法形成的IDL文件,其中,所述预设远程异步通信接口定义语法包括定义所述IDL文件的数据结构、数据类型、通信接口及所述通信接口的参数。生成模块,用于按照远程异步通信接口定义语法解析所述IDL文件,以生成与所述IDL文件对应的客户端调用代理代码、服务端调用代码以及服务端实现类定义。
本发明实施例的有益效果是:
当用户在需要实现远程过程调用时,按照预设远程异步通信接口定义语法编写并形成IDL文件。然后,采用本专利提出的装置,按照远程异步通信接口定义语法解析该IDL文件,生成与该IDL文件对应的客户端调用代理代码、服务端调用代理代码以及服务端实现类定义,进而实现客户端和服务端之间的远程异步通信。因此,通过用户按照预设远程异步通信接口定义语法形成的IDL文件,便能够实现远程过程调用,其无需在开发过程中去适配各种协议、编码等,极大的降低了开发难度,从而有效的提高了远程过程调用在实现过程中的实用性和适用性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明第一实施例提供的一种数据生成方法的流程图;
图2示出了本发明第一实施例提供的一种数据生成方法中步骤S100的方法子流程图;
图3示出了本发明第一实施例提供的一种数据生成方法中步骤S200的方法子的流程图;
图4示出了本发明第二实施例提供的一种数据生成装置的结构框图;
图5示出了本发明第二实施例提供的一种数据生成装置中获得模块的结构框图;
图6示出了本发明第二实施例提供的一种数据生成装置中生成模块的结构框图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
第一实施例
请参阅图1,本发明实施例提供了一种数据生成方法,数据生成方法应用于终端设备,所述终端设备可以为可以是个人电脑(personal computer, PC)、平板电脑、智能手机、个人数字助理(personal digital assistant,PDA) 等。该数据生成方法包括:步骤S100和步骤S200。
步骤S100:获得用户在需要远程过程调用时按照预设远程异步通信接口定义语法形成的IDL文件,其中,所述预设远程异步通信接口定义语法包括定义所述IDL文件的数据结构、数据类型、通信接口及所述通信接口的参数。
当用户需要通过执行远程过程调用异步通信代码时,用户可操作该终端设备。其中,所述的用户可以为开发人员。终端设备上可以具备一个显示界面,用户通过与终端设备的输入设备的交互,例如,用户操作终端设备的实体键盘或虚拟键盘,以使终端设备的显示界面上对于显示用户的输入。
从而通过与终端设备的交互,用户则可按照预设数据结构定义方式在终端设备上输入,以定义出的IDL文件。反之,终端设备根据用户的输入也获得了用户按照预设数据结构定义方式定义出的IDL文件。其中,预设数据结构定义方式为对应该IDL文件的数据格式,即用户需要按照该预设数据结构定义方式去定义才能够获得正确的IDL文件。该预设数据结构定义方式包括用户需要去定义该IDL文件的数据结构体、接口数据、变量名称和IDL文件的支持数据类型。
作为一种方式,由于终端设备中预先设有了该预设数据结构定义方式,在该预设数据结构定义方式可对用户在终端设备上的输入和终端设备的接收形成限定,即用户需要按照该预设数据结构定义方式在终端设备上依次输入各个数据。例如,根据该预设数据结构定义方式的限定,用户在终端设备上首先只能输入IDL文件的数据结构体,在该IDL文件的数据结构输入完成后,用户才能够输入接口数据。可以理解到,该方式使得用户的输入更为流程化,有效的提高了用户的工作效率。
作为另一种方式,终端设备的显示界面可显示一个编辑界面框,例如图3所示。该编辑界面框内显示有用于提示用户输入该定义IDL文件的提示信息,该提示信息可指示用户在定义IDL文件时,在对应的位置输入的对应的数据。
例如,提示信息可以为:
struct{数据类型成员名称[结构体成员属性列表]}
即根据该提示信息中的“{数据类型成员名称[结构体成员属性列表]}”,用户可清楚的获知到需要在大括号和中括号中分别输入那些对应的数据。
当终端设备获得用户对应输入的IDL文件的数据结构、接口数据、变量名称和IDL文件的支持数据类型,则终端设也就相应的获得用户通过过输入的各数据而定义出的对应各数据的IDL文件。
步骤S200:按照远程异步通信接口定义语法解析所述IDL文件,以生成与所述IDL文件对应的客户端调用代理代码、服务端调用代理代码以及服务端实现类定义。
在按照的用户的输入而获得用户定义的该IDL文件后,终端设备可按照预设的控制程序对该IDL文件进行解析。即终端设备可按照远程异步通信接口定义语法解析该IDL文件。通过解析,终端设备可获得该IDL文件中:数据结构体对应的数据结构的关键词数据、接口数据对应接口数据的关键词数据、变量名称对应变量名称的关键词数据和IDL文件的支持数据类型对应的支持数据类型的关键词数据。
本实施例中,某一数据的关键词数据为该数据在去掉无效的数据、字符等后所留下的数据,每个关键词数据均为对应的一数据的精华部分。
进一步的,获得各关键词数据后,终端设备也按照预设的代码生成程序,根据所获得的各关键词数据则能够对应生成IDL文件对应的客户端调用代理代码、服务端调用代理代码以及服务端实现类定义。
可以理解到,客户端调用代码文件和服务器调用代码文件的自动生成,极大的简化的开发人员的工作难度,提供了开发人员的工作效率,提高了远程过程调用在实现过程中的实用性和适用性。
请参阅图3,在本发明实施例提供的一种数据生成方法中,步骤S100 的方法子流程包括:步骤S110和步骤S120。
步骤S110:获得所述用户在需要远程过程调用时,所述用户按照所述预设数据结构定义方式依次定义出的所述数据结构、所述接口数据、变量名称和IDL文件的支持数据类型。
当用户需要通过执行远程过程调用异步通信代码时,用户需要在终端设备上输入各种数据。本实施例中,用户在按照预设数据结构定义方式输入定义的各种数据时,用户根据自身的需求,可按照预设数据结构定义方式首先在终端设备上定义出的该IDL文件的头文件数据。具体的,头文件数据用于表征该IDL文件是否还可引用其它IDL文件的接口。当用户需要定义的该IDL文件具有引用其它IDL文件的接口的功能时,用户按照预设数据结构定义方式,根据终端设备在显示界面上显示头文件的提示信息,首先在终端设备的交互界面中输入所定义的头文件数据。
例如,输入头文件的提示信息可以为:
头文件
#include"IDL文件名"
根据该头文件的提示信息,用户可在include之后输入需要定义的头文件数据。进而终端设备首先便相应的获取到了用户定义的头文件数据。
之后,用户也按照预设数据结构定义方式,根据终端设备在显示界面上显示的数据结构的提示信息,在终端设备的交互界面中输入所定义的数据结构体。
例如,数据结构的提示信息可以为:
结构体定义
struct{数据类型成员名称[结构体成员属性列表]}
根据该数据结构的提示信息,用户可在struct之后输入需要定义的数据结构。其中,"[]"中所输入的数据内容为可选项。而在对结构体成员属性定义时,其格式可例如为:is_array(true|false),“is_array”的标识用于表征为数据类型为数组,而“|”的标识则用于表征符合或操作。在本实施例中,在对数据结构的定义中,数据结构的数据类型还可为整型、字符串等。进一步的,通过用户的定义,终端设备也相应的获取到了用户定义的数据结构体。
之后,用户也按照预设数据结构定义方式,根据终端设备在显示界面上显示的接口数据的提示信息,在终端设备的交互界面中输入所定义的接口数据。
例如,接口数据的提示信息可以为:
接口定义
interface接口名
[uuid(“接口唯一标识”),desc(“接口描述”)]//接口属性定义
{function方法名(数据类型参数名[参数属性列表])}//接口定义
根据该接口数据的提示信息,用于可在interface、uuid、desc和function 之后均输入需要定义的接口数据的各数据。例如,function之后的参数定义,其可以用于表征所需该定义的接口是输入和/或输出、参数为多少、数据类型为那种(例如,数组)等。进一步的,通过用户的定义,终端设备也相应的获取到了用户定义的接口数据。
需要说明的是,由于数据结构定义的数据是定义的接口所用到的数据,故按照预设远程异步通信接口定义语法,用户需要先定义数据结构后,再定义接口数据。
之后,用户也按照预设数据结构定义方式,根据终端设备在显示界面上显示的变量名称的提示信息,在终端设备的交互界面中输入所定义的变量名称。
例如,变量名称的提示信息可以为:
字母+字母|下划线|数字
用户根据该变量名称的提示信息输入所定义的变量名称后,变量名称可用于表征IDL文件中所使用的各变量的名称,其可包括:结构体名,接口名,方法名,成员名和参数名等。进一步的,通过用户的定义,终端设备也相应的获取到了用户定义的变量名称。
再之后,用户也按照预设数据结构定义方式,根据终端设备在显示界面上显示的支持数据类型的提示信息,在终端设备的交互界面中输入所定义的支持数据类型。在本实施例中,支持数据类型用于表征该IDL文件所支持的数据类型,例如:bool、byte、int32、int64、double、string、分别表示布尔型、8位字节、32位整型、64位整型、64位浮点型和字符串型等。进而终端设备也相应的获取的到了用户定义的该IDL文件的支持数据类型。
步骤S120:将所述数据结构、所述接口数据、所述变量名称和所述IDL 文件支持的数据类型打包,以获得定义出的IDL文件。
在终端设备获取到用户按照顺序和方式依次输入的头文件数据、数据结构、接口数据、变量名称和数据类型后。终端设备还需要进一步根据头文件数据、数据结构、接口数据、变量名称和数据类型来获得一对应的IDL 文件。
作为一种方式,终端设备可根据预设的控制程序,将获得的头文件数据、数据结构、接口数据、变量名称和数据类型进行打包,从而通过打包来获得对应的IDL文件。可以理解到,该方式仅为本实施例的一种实现方式,其不应当作为对本实施例的限定。
请参阅图4,在本发明实施例提供的一种数据生成方法中,步骤S200 的方法子流程包括:步骤S210和步骤S220。
步骤S210:按照所述IDL文件的数据结构解析所述IDL文件,提取出与所述IDL文件的数据结构对应的关键词数据,其中,所述关键词数据包括:数据结构的关键词数据、接口数据的关键词数据、变量名称的关键词数据和支持数据类型的关键词数据。
在终端设备获得对应的IDL文件后,终端设备IDL文件需要根据该IDL 文件来生成对应的客户端调用代理代码、服务端调用代理代码以及服务端实现类定义。具体的,终端设备首先读取IDL文件,以判断IDL文件中是否有头文件数据。在判断为是时,则表征读取到了头文件数据。终端设备将该头文件数据从IDL文件中提取出来,并进一步的将头文件数据各头文件名数据提取出来。此时,终端设备可将获得各头文件名数据以头文件数据的关键词数据的方式进行保存,并继续执行后续流程。在判断为否时,则表征未读取到头文件数据,进而终端设备直接继续执行后续流程。
在对头文件数据判断之后,终端设备可对IDL文件按照定义时的数据格式进行词法解析,以获得用户定义输入的各数据时对应的单词列表。以进一步的,终端设备对该单词列表进行清理,在单词列表去掉无效的数据、字符等,例如,去掉无效的字符可为:“//”、“/**”、“*”或“*/”等用于表征注释的字符。继而终端设备可获得符合IDL定义语法的关键词数据。其中,关键词数据包括:数据结构的关键词数据、接口数据的关键词数据、变量名称的关键词数据和支持数据类型的关键词数据。
步骤S220:根据所述关键词数据生成与所述IDL文件对应的所述客户端调用代理代码、所述服务端调用代理代码以及服务端实现类定义。
在获得关键词数据之后,终端设备根据预设的控制程序可进一步的对关键词数据进行语法解析,从而获得关键词数据对应的IDL关键词对象。其中,IDL关键词对象也与用户定义IDL文件时的数据格式对应,即其可包括:struct对象、interface对象、function对象、variable对象、parameter 对象和attribute对象等。
进一步的,终端设备根据代码生成的预设控制程序,根据获得IDL关键词对象来生成对应的客户端调用代理代码和服务端调用代理代码,其中,客户端调用代理代码和服务端调用代理代码均为远程过程调用的异步通信代码。再者,终端设备再将生成的客户端调用代理代码封装到CPP文件中;将生成的服务端调用代理代码封装到CPP文件。
在此之后,用户可将户端调用代码文件放到客户端中,并将服务器调用代码文件放到服务器中。通过客户端根据该客户端调用代码文件生成远程过程调用请求至对应服务器。服务器则根据服务器调用代码文件自动完成对远程过程调用请求的解包,并在解包后反馈与该调用请求对应的返回值至客户端,以使用户根据该返回值便可获知所生成代码是否正常,若不正确,则用户根据返回值可及时进行修改调整。
第三实施例
请参阅图4,本发明实施例提供了一种数据生成装置100,数据生成装置100应用与终端设备,该数据生成装置100包括:
获得模块110,用于获得用户在需要远程过程调用时按照预设远程异步通信接口定义语法形成的IDL文件,其中,所述预设远程异步通信接口定义语法包括定义所述IDL文件的数据结构、数据类型、通信接口及所述通信接口的参数。
生成模块120,用于按照远程异步通信接口定义语法解析所述IDL文件,以生成与所述IDL文件对应的客户端调用代理代码、服务端调用代理代码以及服务端实现类定义。
请参阅图5,在本发明实施例提供的一种数据生成装置100中,获得模块110包括:
头文件处理单元111,用于获得所述用户在需要远程过程调用时,所述用户按照所述预设远程异步通信接口定义语法形成的所述IDL文件的头文件数据。
数据获得单元112,用于获得所述用户在需要远程过程调用时,所述用户按照所述预设远程异步通信接口定义语法依次定义出的所述数据结构、所述接口数据、变量名称和IDL文件的支持数据类型。
数据打包单元113,用于将所述数据结构、所述接口数据、所述变量名称和所述IDL文件支持的数据类型打包,以获得定义出的IDL文件。
请参阅图6,在本发明实施例提供的一种数据生成装置100中,生成模块120包括:
判断单元121,用于判断所述IDL文件中是否有所述头文件数据。
提取单元122,用于在为是时,将从所述IDL文件中提取出所述头文件数据保存为对应的头文件数据的关键词数据,以使生成所述客户端调用代理代码和生成所述服务端调用代理代码还均与所述头文件数据对应。
解析单元123,用于按照所述远程异步通信接口定义语法解析所述IDL 文件,提取出与所述IDL文件的数据结构对应的关键词数据,其中,所述关键词数据包括:数据结构的关键词数据、接口数据的关键词数据、变量名称的关键词数据和支持数据类型的关键词数据。
生成单元124,用于根据所述关键词数据生成与所述IDL文件对应的所述客户端调用代理代码、所述服务端调用代理代码以及服务端实现类定义。
需要说明的是,由于所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
综上所述,本发明实施例提供了一种数据生成方法及装置。方法包括:获得用户在需要远程过程调用时按照预设远程异步通信接口定义语法形成的IDL文件,其中,预设远程异步通信接口定义语法包括定义IDL文件的数据结构、数据类型、通信接口及所述通信接口的参数;按照远程异步通信接口定义语法解析IDL文件,以生成与IDL文件对应的客户端调用代理代码、服务端调用代理代码以及服务端实现类定义。
当用户在需要实现远程过程调用时,按照预设远程异步通信接口定义语法编写并形成IDL文件。然后采用本专利提出的装置,按照远程异步通信接口定义语法解析该IDL文件,生成与该IDL文件对应的客户端调用代理代码、服务端调用代理代码以及服务端实现类定义,进而实现客户端和服务器之间的远程过程调用。因此,通过用户按照预设远程异步通信接口定义语法形成的IDL文件,便能够实现远程过程调用,其无需在开发过程中去适配各种协议、编码等,极大的降低了开发难度,从而有效的提高了远程过程调用在实现过程中的实用性和适用性。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种数据生成方法,其特征在于,所述方法包括:
获得用户在需要远程过程调用时按照预设远程异步通信接口定义语法形成的IDL文件,其中,所述预设远程异步通信接口定义语法包括定义所述IDL文件的数据结构、数据类型、通信接口及所述通信接口的参数;
按照预设远程异步通信接口定义语法解析所述IDL文件,生成与所述IDL文件对应的客户端调用代理代码、服务端调用代理代码文件以及服务端实现类定义。
2.根据权利要求1所述的数据生成方法,其特征在于,所述获得用户在需要远程过程调用时按照预设远程异步通信接口定义语法形成的IDL文件,包括:
获得所述用户在需要远程过程调用时,所述用户按照所述预设远程异步通信接口定义语法依次定义出的所述数据结构、接口数据、变量名称和IDL文件的支持数据类型;
将所述数据结构、所述接口数据、所述变量名称和所述IDL文件支持的数据类型打包,形成符合远程异步通信接口定义语法的IDL文件。
3.根据权利要求2所述的数据生成方法,其特征在于,所述获得所述用户在需要远程过程调用时,所述用户按照所述预设远程异步通信接口定义语法依次形成的所述数据结构、接口数据、变量名称和IDL文件的支持数据类型之前,还包括:
获得所述用户在需要远程过程调用时,所述用户按照所述预设远程异步通信接口定义语法形成的所述IDL文件的头文件数据。
4.根据权利要求3所述的数据生成方法,其特征在于,所述按照所述远程异步通信接口定义语法解析所述IDL文件,以生成与所述IDL文件对应的客户端调用代理代码、服务端调用代理代码以及服务端实现类定义,包括:
按照所述远程异步通信接口定义语法解析所述IDL文件,提取出与所述IDL文件的数据结构对应的关键词数据,其中,所述关键词数据包括:数据结构的关键词数据、接口数据的关键词数据、变量名称的关键词数据和支持数据类型的关键词数据;
根据所述关键词数据生成与所述IDL文件对应的所述客户端调用代理代码、所述服务端调用代理代码以及服务端实现类定义。
5.根据权利要求4所述的数据生成方法,其特征在于,所述按照所述远程异步通信接口定义语法解析所述IDL文件之前,还包括:
判断所述IDL文件中是否有所述头文件数据;
若存在头文件,从所述IDL文件中提取出所述头文件数据保存为对应的头文件数据的关键词数据,以使生成所述客户端调用代码文件和生成的所述服务端调用代码文件还均与所述头文件数据对应。
6.一种数据生成装置,其特征在于,所述装置包括:
获得模块,用于获得用户在需要远程过程调用时按照预设远程异步通信接口定义语法形成的IDL文件,其中,所述预设远程异步通信接口定义语法包括定义所述IDL文件的数据结构、数据类型、通信接口及所述通信接口的参数;
生成模块,用于按照远程异步通信接口定义语法解析所述IDL文件,以生成与所述IDL文件对应的客户端调用代理代码、服务端调用代理代码以及服务端实现类定义。
7.根据权利要求6所述的数据生成装置,其特征在于,所述获得模块包括:
数据获得单元,用于获得所述用户在需要远程过程调用时,所述用户按照所述预设远程异步通信接口定义语法依次形成的所述数据结构、所述接口数据、变量名称和IDL文件的支持数据类型;
数据打包单元,用于将所述数据结构、接口数据、所述变量名称和所述IDL文件支持的数据类型打包,以获得定义出的IDL文件。
8.根据权利要求7所述的数据生成装置,其特征在于,所述获得模块还包括:
头文件处理单元,用于处理所述用户在需要远程过程调用时,所述用户按照所述预设远程异步通信接口定义语法的所述IDL文件的头文件数据。
9.根据权利要求8所述的数据生成装置,其特征在于,所述生成模块包括:
解析单元,用于按照所述远程异步通信接口定义语法解析所述IDL文件,提取出与所述IDL文件的数据结构对应的关键词数据,其中,所述关键词数据包括:数据结构的关键词数据、接口数据的关键词数据、变量名称的关键词数据和支持数据类型的关键词数据;
生成单元,用于根据所述关键词数据生成与所述IDL文件对应的所述客户端调用代理代码、所述服务端调用代理代码以及服务端实现类定义。
10.根据权利要求9所述的数据生成装置,其特征在于,所述生成模块还包括:
判断单元,用于判断所述IDL文件中是否有所述头文件数据;
提取单元,若存在头文件,用于从所述IDL文件中提取出所述头文件数据保存为对应的头文件数据的关键词数据,以使生成所述客户端调用代理代码和生成所述服务端调用代理代码还均与所述头文件数据对应。
CN201711053409.XA 2017-10-31 2017-10-31 数据生成方法及装置 Pending CN107832046A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711053409.XA CN107832046A (zh) 2017-10-31 2017-10-31 数据生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711053409.XA CN107832046A (zh) 2017-10-31 2017-10-31 数据生成方法及装置

Publications (1)

Publication Number Publication Date
CN107832046A true CN107832046A (zh) 2018-03-23

Family

ID=61651450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711053409.XA Pending CN107832046A (zh) 2017-10-31 2017-10-31 数据生成方法及装置

Country Status (1)

Country Link
CN (1) CN107832046A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871289A (zh) * 2019-02-01 2019-06-11 北京顺丰同城科技有限公司 一种远程过程调用rpc服务生成方法及装置
CN110069259A (zh) * 2019-03-04 2019-07-30 北京三快在线科技有限公司 基于idl文件的解析方法、装置、电子设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719902A (zh) * 2009-12-04 2010-06-02 深圳创维数字技术股份有限公司 一种远程过程调用方法和系统
CN104363285A (zh) * 2014-11-18 2015-02-18 东方网力科技股份有限公司 一种网络通信程序生成方法及装置
US20160232002A1 (en) * 2011-05-19 2016-08-11 Microsoft Technology Licensing, Llc Dynamic code generation and memory management for component object model data constructs
CN106412086A (zh) * 2016-10-31 2017-02-15 武汉斗鱼网络科技有限公司 一种利用协议描述文件自动生成通信代码的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719902A (zh) * 2009-12-04 2010-06-02 深圳创维数字技术股份有限公司 一种远程过程调用方法和系统
US20160232002A1 (en) * 2011-05-19 2016-08-11 Microsoft Technology Licensing, Llc Dynamic code generation and memory management for component object model data constructs
CN104363285A (zh) * 2014-11-18 2015-02-18 东方网力科技股份有限公司 一种网络通信程序生成方法及装置
CN106412086A (zh) * 2016-10-31 2017-02-15 武汉斗鱼网络科技有限公司 一种利用协议描述文件自动生成通信代码的方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871289A (zh) * 2019-02-01 2019-06-11 北京顺丰同城科技有限公司 一种远程过程调用rpc服务生成方法及装置
CN110069259A (zh) * 2019-03-04 2019-07-30 北京三快在线科技有限公司 基于idl文件的解析方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
US10284705B2 (en) Method and apparatus for controlling smart device, and computer storage medium
US7461385B2 (en) Method for establishing a new user interface via an intermingled user interface
CN105845137A (zh) 一种语音对话管理系统
JP2005004772A (ja) 外部プログラムに基づくテーマを使用するWebページレンダリング機構
WO2013029399A1 (zh) 代码生成方法及系统
CN108132879A (zh) 自动化软件测试方法、平台、终端及介质
CN107728999A (zh) 一种App、小程序接口模拟的方法和系统
CN112926008B (zh) 生成表单页面的方法、装置、电子设备和存储介质
CN114996619A (zh) 一种页面显示的方法、装置、计算机设备及存储介质
CN113656124A (zh) 登录页面的生成方法及其装置
CN107832046A (zh) 数据生成方法及装置
CN115794437A (zh) 微服务的调用方法、装置、计算机设备及存储介质
CN114741400A (zh) 一种数据同步及解析方法、装置及终端设备
CN112799658B (zh) 模型训练方法、模型训练平台、电子设备和存储介质
CN109445384A (zh) 一种多设备控制系统
CN108153745B (zh) 一种应用数据调用方法及应用开发系统
WO2023160367A1 (zh) 一种数据流转方法和系统
CN105793842B (zh) 序列化消息之间的转换方法和装置
CN108052315A (zh) 医疗软件通信方法及装置
CN107506299A (zh) 一种代码分析方法及终端设备
CN107797793A (zh) 一种构建代理服务器框架的方法和装置
CN114371838A (zh) 一种小程序画布渲染方法、装置、设备及存储介质
ES2403014T3 (es) Provisión de servicios en una red de comunicaciones
CN113626016A (zh) 一种基于Vue+Element UI+Koa2的前后端分离的可重用组件
CN112764718A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180323