CN114816246A - 一种用于Proto文件的处理方法及装置 - Google Patents

一种用于Proto文件的处理方法及装置 Download PDF

Info

Publication number
CN114816246A
CN114816246A CN202210382482.6A CN202210382482A CN114816246A CN 114816246 A CN114816246 A CN 114816246A CN 202210382482 A CN202210382482 A CN 202210382482A CN 114816246 A CN114816246 A CN 114816246A
Authority
CN
China
Prior art keywords
interface
parameters
file
extracted
proto
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
CN202210382482.6A
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.)
Yancheng Tianyanchawei Technology Co ltd
Original Assignee
Yancheng Jindi 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 Yancheng Jindi Technology Co Ltd filed Critical Yancheng Jindi Technology Co Ltd
Priority to CN202210382482.6A priority Critical patent/CN114816246A/zh
Publication of CN114816246A publication Critical patent/CN114816246A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance

Abstract

本发明公开了一种用于Proto文件的处理方法及装置,其中该方法包括:针对Proto文件中包含的至少一个接口,提取各接口的接口信息以及各接口包含的参数;提取与各接口包含的参数对应的注释;将针对各接口提取的接口信息和各接口包含的参数以及提取的参数和与提取的参数对应的注释,以第一数据格式关联存储在第一JSON文件中;以及将第一JSON文件中关联存储的数据,填充到具有第二数据格式的第二JSON文件中。该方法能够使得使用其他不支持Proto文件的系统的用户能够直接获取Proto文件的内容。能够提升Proto文件内容的处理效率。

Description

一种用于Proto文件的处理方法及装置
技术领域
本发明涉及文本处理领域,尤其是一种用于Proto文件的处理方法及装置。
背景技术
gRPC(gRPC Remote Procedure Calls)是Google发起的一个开源远程过程调用系统,该系统基于HTTP/2协议传输,用户编辑的文档使用gRPC进行通信时,所述文档中的内容由于没有注释或具体的含义说明,接收到所述文档的用户基于所述文档进行其他操作,由于所述文档中的内容没有注释或具体的含义,使得接收到所述文档的用户难于理解文档内容,降低了工作效率。例如,开发人员使用gRPC进行通信,将开发完成的代码文件交付给测试人员,测试人员进行回归测试等测试时,由于所述代码文件中的字段并未标注含义,导致测试人员执行测试流程时产生阻力,降低了工作效率。
现有技术中使用编辑工具protoc获取通过gRPC进行通信传输的文档的相关参数及注释,但编辑工具protoc编辑后形成proto文档,而业界通常使用其它系统,以Yapi系统为例,proto文档与Yapi系统能够查看的文档格式不兼容,使用Yapi文档的人员仍然无法查看proto文档中的内容、以及与文档内容对应的注释或具体含义。特别是对于测试人员,即使开发人员在代码文件中对所述代码文件中的字段进行了标注和解释,而使用Yapi系统的测试人员仍然无法查看开发人员的标注和解释。
因此,需要一种用于Proto文件的处理方法,使得使用其他系统的用户能够直接获取Proto文件的内容。
发明内容
有鉴于此,本发明提供了一种用于Proto文件的处理方法及装置,能够解决使用其他系统的用户无法直接获取Proto文件的内容的技术问题。
本发明提供一种用于Proto文件的处理方法。所述方法包括:
针对所述Proto文件中包含的至少一个接口,提取各接口的接口信息以及所述各接口包含的参数;
提取与所述各接口包含的参数对应的注释;
将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,以第一数据格式关联存储在第一JSON文件中;以及
将所述第一JSON文件中关联存储的数据,填充到具有第二数据格式的第二JSON文件中。
可选地,所述提取与各接口包含的参数对应的注释,包括:
基于所述Proto文件的参数注释添加格式,提取与各接口的参数对应的注释。
可选地,所述第二数据格式包括:Yapi系统支持的数据格式。
可选地,将所述第二JSON文件存储于预先指定的存储位置,其中,所述存储位置是用户上传所述Proto文件时指定的。
可选地,针对所述Proto文件中包含的至少一个接口,提取与各接口对应的注释;
将针对所述各接口提取的注释和对应的接口,也以所述第一数据格式关联存储在第一JSON文件中;以及
将所述第一JSON文件中关联存储的所述各接口提取的注释和对应的接口,也填充到具有所述第二数据格式的所述第二JSON文件中。
本发明提供一种用于Proto文件的处理方法,包括:
针对所述Proto文件中包含的至少一个接口,提取各接口的接口信息以及所述各接口包含的参数;
提取与所述各接口包含的参数对应的注释;
将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,以第二数据格式关联存储在第二JSON文件中。
本发明提供一种用于Proto文件的处理装置。所述装置包括:
信息提取模块:配置为针对所述Proto文件中包含的至少一个接口,提取各接口的接口信息以及各接口包含的参数;
注释提取模块:配置为提取与所述各接口包含的参数对应的注释;
第一存储模块:配置为将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,以第一数据格式关联存储在第一JSON文件中;
第二存储模块:配置为将所述第一JSON文件中关联存储的数据,填充到具有第二数据格式的第二JSON文件中。
本发明提供一种存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如前任一项所述方法。
本发明提供一种用于Proto文件的处理装置。所述装置包括:
信息提取模块:配置为针对所述Proto文件中包含的至少一个接口,提取各接口的接口信息以及所述各接口包含的参数;
注释提取模块:配置为提取与所述各接口包含的参数对应的注释;
第二存储模块:配置为将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,以第二数据格式关联存储在第二JSON文件中。
本发明提供一种电子设备,所述电子设备,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如前任一项所述方法。
本发明能够使得使用其他不支持Proto文件的系统,例如使用Yapi系统的用户直接获取Proto文件的内容,用户上传Proto文件、指定该文件对应的内容在Yapi系统中的位置,则使用Yapi系统的用户能够直接获取Proto文件的内容,能够提升Proto文件内容的处理效率。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本发明一示例性实施例提供的方法的流程示意图。
图2是本发明一示例性实施例提供的执行程序后带有注释的文档效果示意图。
图3是本发明一示例性实施例提供的指定转化后文件存储位置的示意图。
图4是本发明一示例性实施例提供的装置的结构示意图。
图5是本发明一示例性实施例提供的电子设备的结构。
具体实施方式
下面,将参考附图详细地描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
本领域技术人员可以理解,本发明实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本发明实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本发明实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本发明中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本发明中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本发明对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
示例性方法
图1是本发明一示例性实施例提供的用于Proto文件的处理方法的流程示意图。本实施例可应用在电子设备上,如图1所示,包括以下步骤:
步骤S1:针对所述Proto文件中包含的至少一个接口,提取各接口的接口信息以及所述各接口包含的参数;
步骤S2:提取与所述各接口包含的参数对应的注释;
步骤S3:将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,以第一数据格式关联存储在第一JSON文件中;以及
步骤S4:将所述第一JSON文件中关联存储的数据,填充到具有第二数据格式的第二JSON文件中。
本发明能够使得使用其他不支持Proto文件的系统,例如Yapi系统的用户直接获取Proto文件的内容,用户上传Proto文件、指定该文件对应的内容在Yapi系统中的位置,则使用Yapi系统的用户能够直接获取Proto文件的内容,能够提升Proto文件内容的处理效率。
例如,能够自动导入并包含所有Proto文件中包含的注释,开发人员开发完成后上传带有注释的proto文件,点击上传并指定对应的内容在Yapi系统中的位置后,就在Yapi系统中能够看到包含带有注释的gRPC接口文档,解决了使用gRPC通信,在开发人员进行开发后测试人员无法从文档看到注释的技术问题,极大提升了测试工作的效率,特别是极大地提高了回归测试的效率。解决了gRPC通信造成的开发人员和测试人员之间文档不互通的问题。开发人员按照约定在Proto文件中添加注释后,将Proto文件上传到处理器后就可以在Yapi系统中看到含有注释的文档,提升了使用gRPC进行通信的开发效率与测试效率。
所述步骤S1,针对所述Proto文件中包含的至少一个接口,提取各接口的接口信息以及所述各接口包含的参数。
所述Proto文件中包含至少一个接口,所述接口例如为所述Proto文件中定义的方法,在所述Proto文件中,通常对定义的方法具有说明性的接口信息,所述定义的方法通常包括若干个参数。对于所述Proto文件,能够提取到所述Proto文件各接口的接口信息以及所述各接口包含的参数。这里,获得了第一层对应关系,即各接口的接口信息以及所述各接口包含的参数的对应关系。
其中,该步骤S1还包括:按预先设置的模板生成所述Proto文件,基于所述模板解析所述Proto文件,提取所述Proto文件各接口的接口信息以及所述各接口包含的参数。
所述步骤S2:提取与所述各接口包含的参数对应的注释。
所述接口通常需要获取参数信息,以实现所述接口对应的功能。所述接口对应有参数时,参数的个数并不固定,为了便于提升所述Proto文件代码的可读性,通常会在所述Proto文件中对参数的含义、用途进行解释和说明,注释信息起到解释和说明的作用。
存在以下情况:接口没有对应的参数,即所述接口不包含参数,因而不具有参数对应的注释;接口具有对应的若干个参数,所述接口对应的各个参数均具有与参数对应的注释;接口具有对应的若干个参数,所述接口对应的部分参数具有与参数对应的注释;接口具有对应的若干个参数,所述接口对应的参数不具有与参数对应的注释。
本实施例中,提取与所述各接口包含的参数对应的注释,即提取具有参数注释的接口、与该接口对应的具有注释的参数及所述参数的注释。所述提取与各接口包含的参数对应的注释,包括:基于所述Proto文件的参数注释添加格式,提取与各接口的参数对应的注释。此时,获得了第二层对应关系,即具有参数注释的接口、与该接口对应的具有注释的参数及所述参数的注释的对应关系。
本实施例中,通过形成两层对应关系,可以快速地确定各接口所包括的全部参数,以及各接口中具有注释的参数、以及所述参数对应的注释的对应关系。既节省了时间又节省了存储空间。
以Proto文件中的注释为例,按预先设置的模板在Proto文件中设置注释,基于所述模板解析所述注释对应的参数、以及所述参数对应的所述Proto文件中的接口。具体地,由服务器对存储于服务器的所述Proto文件进行解析,所述服务器根据预先设置的模板,获取所述Proto文件的注释规则,对所述Proto文件中所述注释对应的参数、以及所述参数对应的所述Proto文件中的接口进行解析。
所述步骤S3:将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,以第一数据格式关联存储在第一JSON文件中。
将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,存储为所述第一JSON文件,所述第一JSON文件是通过编译的方式生成的。即将两层对应关系存储于所述第一JSON文件中。
所述步骤S4:将所述第一JSON文件中关联存储的数据,填充到具有第二数据格式的第二JSON文件中。
进一步地,所述步骤S4包括:获取所述第一JSON文件的文件内容,将所述第一JSON文件中关联存储的数据填充到所述第二JSON文件,所述第二JSON文件为其他不支持proto文件的系统能够解析的格式。例如,所述第二JSON文件为Yapi系统支持的数据格式。也就是说,所述第一JSON文件是依赖于gRPC的proto文件通过模版解析生成的json中间态,但并不符合Yapi官方json模版,将所述第一JSON文件解析组合成Yapi官方的导入文档的JSON文件格式,即为所述第二JSON文件。
本实施例中,例如,从服务器获取所述第一JSON文件,解析所述第一JSON文件的内容,所述第一JSON文件的内容包括针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,即两层对应关系。将所述第一JSON文件的内容填充到所述第二JSON文件,所述第二JSON文件为符合所述Yapi系统的文档格式,能够通过所述Yapi系统,导入所述第二JSON文件。
如图2所示,通过所述Yapi系统,导入所述第二JSON文件后,在Yapi系统中进行显示。基于预先设计好的规范,例如通过模版规则把参数和注释解析成所述第一JSON文件,为了测试人员使用相应的参数和注释,需要对所述第一JSON文件进行解析,将解析出的内容填充到所述第二JSON文件。第二JSON文件导入Yapi系统后的结果展示在图2的Yapi系统中。本实施例中设置第二JSON文件的目的是提高灵活性,是为了对接其他展示平台而设计的,易于将所述第一JSON文件转换为适用于其他展示平台的对接文件。
进一步地,如图3所示,还包括如下步骤:
将所述第二JSON文件存储于预先指定的存储位置,其中,所述存储位置是用户上传所述Proto文件时指定的。
例如,在所述Yapi系统中指定位置,用于在所述Yapi系统中存储符合Yapi系统格式的所述Proto文件内容。用户上传所述Proto文件,指定所述Proto文件内容在所述Yapi系统中的存储位置,具体地,指定所述所述第二JSON文件在所述Yapi系统中的存储位置。
进一步地,在所述步骤S4之后,还包括如下步骤:
将所述第二JSON文件存储于所述存储位置。
具体地,基于所述存储位置,将所述第二JSON文件导入所述Yapi系统,获得第二JSON文件的内容。例如,将所述第二JSON文件上传到Yapi服务器,返回所述第二JSON文件的内容。
进一步地,在所述Yapi系统中,打开所述第二JSON文件,所述第二JSON文件为gRPC接口文档,获取所述第二JSON文件的内容。
进一步地,通常情况下,所述Proto文件的各个接口具有与接口对应的注释,即对每个接口的实现功能、作用进行解释和说明。本实施例中,针对所述Proto文件中包含的至少一个接口,提取与各接口对应的注释;将针对所述各接口提取的注释和对应的接口,也以所述第一数据格式关联存储在第一JSON文件中;以及将所述第一JSON文件中关联存储的所述各接口提取的注释和对应的接口,也填充到具有所述第二数据格式的所述第二JSON文件中。此时,所述第一JSON文件中还具有所述Proto文件的各个接口与所述各个接口的注释的对应关系,通过进一步填充到所述第二JSON文件,实现了所述Proto文件的各个接口与所述各个接口的注释的对应关系存储于所述第二JSON文件,能够为其他系统的用户所获取。
本发明又一实施例提供了一种用于Proto文件的处理方法,本实施例中,省去中间态,即省去所述第一JSON文件,将获取到的两层对应关系,即将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释直接存储到所述第二JSON文件中,所述第二JSON文件是其他不支持proto文件的系统能够解析的格式。例如,所述第二JSON文件为Yapi系统支持的数据格式。
所述用于Proto文件的处理方法包括:针对所述Proto文件中包含的至少一个接口,提取各接口的接口信息以及所述各接口包含的参数;
提取与所述各接口包含的参数对应的注释;
将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,以第二数据格式关联存储在第二JSON文件中。
进一步地,所述提取与各接口包含的参数对应的注释,包括:
基于所述Proto文件的参数注释添加格式,提取与各接口的参数对应的注释。
进一步地,将所述第二JSON文件存储于预先指定的存储位置,其中,所述存储位置是用户上传所述Proto文件时指定的。
进一步地,针对所述Proto文件中包含的至少一个接口,提取与各接口对应的注释;
将针对所述各接口提取的注释和对应的接口,填充到具有所述第二数据格式的所述第二JSON文件中。
示例性装置
图4是本发明一示例性实施例提供的用于Proto文件的处理装置的结构示意图。如图4所示,所述装置包括信息提取模块41、注释提取模块42、第一存储模块43及第二存储模块44。
信息提取模块41:配置为针对所述Proto文件中包含的至少一个接口,提取各接口的接口信息以及各接口包含的参数;
注释提取模块42:配置为提取与所述各接口包含的参数对应的注释;
第一存储模块43:配置将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,以第一数据格式关联存储在第一JSON文件中;
第二存储模块44:配置为将所述第一JSON文件中关联存储的数据,填充到具有第二数据格式的第二JSON文件中。
进一步地,本发明提供一种用于Proto文件的处理装置,所述装置包括:
信息提取模块:配置为针对所述Proto文件中包含的至少一个接口,提取各接口的接口信息以及所述各接口包含的参数;
注释提取模块:配置为提取与所述各接口包含的参数对应的注释;
第二存储模块:配置为将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,以第二数据格式关联存储在第二JSON文件中。
示例性电子设备
图5是本发明一示例性实施例提供的电子设备50的结构。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。图5图示了根据本公开实施例的电子设备的框图。如图5所示,电子设备包括一个或多个处理器51和存储器52。
处理器51可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器52可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器51可以运行所述程序指令,以实现上文所述的本公开的各个实施例的软件程序的用于Proto文件的处理方法以及/或者其他期望的功能。在一个示例中,电子设备还可以包括:输入装置53和输出装置54,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置53还可以包括例如键盘、鼠标等等。
该输出装置54可以向外部输出各种信息。该输出设备54可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图5中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的用于Proto文件的处理方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例用于Proto文件的处理方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (10)

1.一种用于Proto文件的处理方法,其特征在于,包括:
针对所述Proto文件中包含的至少一个接口,提取各接口的接口信息以及所述各接口包含的参数;
提取与所述各接口包含的参数对应的注释;
将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,以第一数据格式关联存储在第一JSON文件中;以及
将所述第一JSON文件中关联存储的数据,填充到具有第二数据格式的第二JSON文件中。
2.如权利要求1所述的方法,其特征在于,所述提取与各接口包含的参数对应的注释,包括:
基于所述Proto文件的参数注释添加格式,提取与各接口的参数对应的注释。
3.如权利要求1所述的方法,其特征在于,所述第二数据格式包括:Yapi系统支持的数据格式。
4.如权利要求1所述的方法,其特征在于,将所述第二JSON文件存储于预先指定的存储位置,其中,所述存储位置是用户上传所述Proto文件时指定的。
5.如权利要求1所述的方法,其特征在于,针对所述Proto文件中包含的至少一个接口,提取与各接口对应的注释;
将针对所述各接口提取的注释和对应的接口,也以所述第一数据格式关联存储在第一JSON文件中;以及
将所述第一JSON文件中关联存储的所述各接口提取的注释和对应的接口,也填充到具有所述第二数据格式的所述第二JSON文件中。
6.一种用于Proto文件的处理方法,其特征在于,包括:
针对所述Proto文件中包含的至少一个接口,提取各接口的接口信息以及所述各接口包含的参数;
提取与所述各接口包含的参数对应的注释;
将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,以第二数据格式关联存储在第二JSON文件中。
7.一种用于Proto文件的处理装置,其特征在于,所述装置包括:
信息提取模块:配置为针对所述Proto文件中包含的至少一个接口,提取各接口的接口信息以及各接口包含的参数;
注释提取模块:配置为提取与所述各接口包含的参数对应的注释;
第一存储模块:配置为将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,以第一数据格式关联存储在第一JSON文件中;
第二存储模块:配置为将所述第一JSON文件中关联存储的数据,填充到具有第二数据格式的第二JSON文件中。
8.一种用于Proto文件的处理装置,其特征在于,包括:
信息提取模块:配置为针对所述Proto文件中包含的至少一个接口,提取各接口的接口信息以及所述各接口包含的参数;
注释提取模块:配置为提取与所述各接口包含的参数对应的注释;
第二存储模块:配置为将针对所述各接口提取的所述接口信息和所述各接口包含的参数以及提取的参数和与所述提取的参数对应的注释,以第二数据格式关联存储在第二JSON文件中。
9.一种计算机可读存储介质,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行如权利要求1-6中任一所述方法。
10.一种电子设备,其特征在于,所述电子设备,包括:
处理器,用于执行多条指令;
存储器,用于存储多条指令;
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行如权利要求1-6中任一所述方法。
CN202210382482.6A 2022-04-12 2022-04-12 一种用于Proto文件的处理方法及装置 Pending CN114816246A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210382482.6A CN114816246A (zh) 2022-04-12 2022-04-12 一种用于Proto文件的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210382482.6A CN114816246A (zh) 2022-04-12 2022-04-12 一种用于Proto文件的处理方法及装置

Publications (1)

Publication Number Publication Date
CN114816246A true CN114816246A (zh) 2022-07-29

Family

ID=82533806

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210382482.6A Pending CN114816246A (zh) 2022-04-12 2022-04-12 一种用于Proto文件的处理方法及装置

Country Status (1)

Country Link
CN (1) CN114816246A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878125A (zh) * 2022-11-11 2023-03-31 盐城金堤科技有限公司 生成类的扩展方法、装置、存储介质及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160147840A1 (en) * 2014-11-21 2016-05-26 International Business Machines Corporation System for retrieving, visualizing and editing semantic annotations
CN110781082A (zh) * 2019-10-14 2020-02-11 腾讯科技(深圳)有限公司 接口的测试用例的生成方法及装置、介质和设备
WO2020259880A1 (de) * 2019-06-27 2020-12-30 Audi Ag Verfahren und prozessoreinrichtung zum wechseln eines datenformats von kommunikationsdaten einer gerätekommunikation sowie kraftfahrzeug
CN112181370A (zh) * 2020-09-17 2021-01-05 武汉联影医疗科技有限公司 数据交互关系的生成方法、计算机设备和存储介质
CN112631564A (zh) * 2020-12-18 2021-04-09 微民保险代理有限公司 基于内容管理系统界面生成方法、装置、设备和存储介质
CN113869014A (zh) * 2021-08-25 2021-12-31 盐城金堤科技有限公司 表格数据的提取方法和装置、以及存储介质和电子设备
US11263502B1 (en) * 2020-10-29 2022-03-01 Tilia Labs Inc. Method for multifunctional graphical user interface file indicia movement, and system, terminal and computer readable media for the same

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160147840A1 (en) * 2014-11-21 2016-05-26 International Business Machines Corporation System for retrieving, visualizing and editing semantic annotations
WO2020259880A1 (de) * 2019-06-27 2020-12-30 Audi Ag Verfahren und prozessoreinrichtung zum wechseln eines datenformats von kommunikationsdaten einer gerätekommunikation sowie kraftfahrzeug
CN110781082A (zh) * 2019-10-14 2020-02-11 腾讯科技(深圳)有限公司 接口的测试用例的生成方法及装置、介质和设备
CN112181370A (zh) * 2020-09-17 2021-01-05 武汉联影医疗科技有限公司 数据交互关系的生成方法、计算机设备和存储介质
US11263502B1 (en) * 2020-10-29 2022-03-01 Tilia Labs Inc. Method for multifunctional graphical user interface file indicia movement, and system, terminal and computer readable media for the same
CN112631564A (zh) * 2020-12-18 2021-04-09 微民保险代理有限公司 基于内容管理系统界面生成方法、装置、设备和存储介质
CN113869014A (zh) * 2021-08-25 2021-12-31 盐城金堤科技有限公司 表格数据的提取方法和装置、以及存储介质和电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878125A (zh) * 2022-11-11 2023-03-31 盐城金堤科技有限公司 生成类的扩展方法、装置、存储介质及电子设备
CN115878125B (zh) * 2022-11-11 2024-02-06 盐城天眼察微科技有限公司 生成类的扩展方法、装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
JP7371141B2 (ja) リアルタイムデータフロープログラミング言語のためのツールおよび方法
US9086943B2 (en) Integrated development environment-based repository searching in a networked computing environment
CN113407882A (zh) 组件生成方法、装置、计算机可读存储介质及电子设备
CN110738036A (zh) 用于生成信息的方法和装置
CN114816246A (zh) 一种用于Proto文件的处理方法及装置
CN115599359A (zh) 一种代码生成方法、装置、设备及介质
CN110704025A (zh) 编码规范工具的生成方法和装置、存储介质、电子设备
CN112395194B (zh) 一种接入测试平台的方法和装置
CN114189709A (zh) 一种审核视频的方法、装置及存储介质和电子设备
CN113094086A (zh) 组件集成方法、装置、计算机可读存储介质及电子设备
CN111782180A (zh) 页面生成方法和装置、电子设备和存储介质
CN111475403A (zh) 测试脚本的动态生成方法及相关装置
CN110515653B (zh) 文档生成方法、装置、电子设备及计算机可读存储介质
CN113076084A (zh) 资源文件处理方法、装置、设备及存储介质
CN111104308A (zh) 显示页面的测试方法和装置、存储介质、电子设备
JP2015172792A (ja) 翻訳システム、情報処理装置、情報処理方法およびプログラム
CN114116462A (zh) 一种Web项目的前后端自动化测试整合方法和装置
CN115391178A (zh) 基于共享在线文档进行App自动化测试的方法和装置
CN117493198A (zh) 一种自动编写测试用例的方法、装置及介质
CN111338941A (zh) 信息处理方法和装置、电子设备和存储介质
CN114880209A (zh) 软件测试方法、装置及存储介质
CN117130982A (zh) 生成项目结构目录文档的方法、装置、电子设备及介质
CN110674030A (zh) 应用测试方法和装置、计算机可读存储介质、电子设备
CN116701194A (zh) Hdi的测试程序生成方法、装置、设备及存储介质
CN115373683A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230731

Address after: Room 404-405, 504, Building B-17-1, Big data Industrial Park, Kecheng Street, Yannan High tech Zone, Yancheng, Jiangsu Province, 224000

Applicant after: Yancheng Tianyanchawei Technology Co.,Ltd.

Address before: 224000 room 501-503, building b-17-1, Xuehai road big data Industrial Park, Kecheng street, Yannan high tech Zone, Yancheng City, Jiangsu Province

Applicant before: Yancheng Jindi Technology Co.,Ltd.