CN108804088A - 协议处理方法和装置 - Google Patents
协议处理方法和装置 Download PDFInfo
- Publication number
- CN108804088A CN108804088A CN201810381381.0A CN201810381381A CN108804088A CN 108804088 A CN108804088 A CN 108804088A CN 201810381381 A CN201810381381 A CN 201810381381A CN 108804088 A CN108804088 A CN 108804088A
- Authority
- CN
- China
- Prior art keywords
- agreement
- document
- dependence
- maven
- projects
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Abstract
本发明公开了一种协议处理方法和装置。其中,该方法包括:获取到预定项目的协议文件;将预定项目配置成Maven项目,将协议文件配置成所述Maven项目的依赖;通过Maven项目的依赖对协议文件进行处理。通过本发明,解决了都需要重新生成对应语言的协议文件,且相关协议均需进行变更重新生成的技术问题。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种协议处理方法和装置。
背景技术
对于一个项目,需要调用相关协议文件才能正常运行,其中,项目是可以实现某种目的的功能。图1是根据现有技术的一种协议处理方法的流程图,如图1所示,在对协议文件进行更改或者更新时包括以下步骤:步骤S102,需要先将协议文件生成程序员可编辑的计算机语言文件(例如,JAVA),供程序员修改和更新,步骤S104,然后将更新或修改后的协议文件对应的计算机语言文件提交。
但是现实情况是一个项目往往具有多种协议,包括自身所独有的协议,也包括与其他项目公用的协议,某个项目的某个协议经过修改后,引用该协议的项目均需要重新生成,若更改的协议是多个项目公用的协议,则该协议修改后,引用该协议的多个项目均需要进行重新生成,而且协议与协议之间有可能存在依赖关系,若某个协议发生更改或更新后,与该协议存在依赖关系的协议均需要重新生成,并重新提交该协议对应的协议文件。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种协议处理方法和装置,通过Maven建立依赖以至少解决的技术问题。
根据本发明实施例的一个方面,提供了一种协议处理方法,包括:
获取到预定项目的协议文件;将所述预定项目配置成Maven项目,将所述协议文件配置成所述Maven项目的依赖;通过所述Maven项目的依赖对所述协议文件进行处理。
可选的,获取到所述预定项目的所述协议文件包括:接收到钩子hooks请求,其中,所述hooks请求用于请求从git仓库上获取在预定时间段内所述预定项目的最新版本的协议文件,其中,所述git仓库上存储有多个版本的协议文件;根据所述hooks请求,从所述git仓库上拉取所述预定项目的最新版本的所述协议文件。
可选的,将所述协议文件配置成所述Maven项目的依赖包括:将最新版本的所述协议文件封装成封装文件,将所述封装文件配置成所述Maven项目的依赖,其中,所述Maven项目的版本号为在所述git仓库上的最新版本的所述协议文件的分支的分支名。
可选的,将最新版本的所述协议文件封装成封装文件,将所述封装文件配置成所述Maven项目的依赖包括:通过调用Protocol Buffers程序,将最新版本的所述协议文件生成Java协议文件;将所述Java协议文件封装成封装文件,将所述封装文件配置成所述Maven项目的依赖。
可选的,将所述Java协议文件封装成封装文件,将所述封装文件配置成所述Maven项目的依赖包括:将所述Java协议文件当作所述Maven项目的协议类,将所述Java协议文件所包括的消息当作所述协议类的代理类;将最新版本的所述协议文件,所述协议类以及所述代理类进行打包成jar文件作为所述封装文件;将所述jar文件配置成所述Maven项目的依赖。
根据本发明实施例的另一个方面,提供了一种协议处理装置,包括:获取模块,用于获取到预定项目的协议文件;配置模块,用于将所述预定项目配置成Maven项目,将所述协议文件配置成所述Maven项目的依赖;处理模块,用于通过所述Maven项目的依赖对所述协议文件进行处理。
可选的,所述获取模块包括:接收单元,用于接收到钩子hooks请求,其中,所述hooks请求用于请求从git仓库上获取在预定时间段内所述预定项目的最新版本的协议文件,其中,所述git仓库上存储有多个版本的协议文件;拉取单元,用于根据所述hooks请求,从所述git仓库上拉取所述预定项目的最新版本的所述协议文件。
可选的,所述配置模块包括:配置单元,用于将最新版本的所述协议文件封装成封装文件,将所述封装文件配置成所述Maven项目的依赖,其中,所述Maven项目的版本号为在所述git仓库上的最新版本的所述协议文件的分支的分支名。
可选的,所述配置单元还用于通过调用Protocol Buffers程序,将最新版本的所述协议文件生成Java协议文件;将所述Java协议文件封装成封装文件,将所述封装文件配置成所述Maven项目的依赖。
可选的,所述配置单元,还用于:将所述Java协议文件当作所述Maven项目的协议类,将所述Java协议文件所包括的消息当作所述协议类的代理类;将最新版本的所述协议文件,所述协议类以及所述代理类进行打包成jar文件作为所述封装文件;将所述jar文件配置成所述Maven项目的依赖。
根据本发明实施例的另一个方面,提供了一种存储介质,包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述任意一项所述的协议处理方法。
根据本发明实施例的另一个方面,提供了一种处理器,用于运行程序,其中,所述程序运行时执行上述任意一项所述的协议处理方法。
在本发明实施例中,通过先获取到预定项目的协议文件;将所述预定项目配置成Maven项目,将所述协议文件配置成所述Maven项目的依赖;通过所述Maven项目的依赖对所述协议文件进行处理的方式,达到快速调用所需版本协议的目的,解决了都需要重新生成对应语言的协议文件,且相关协议均需进行变更重新生成的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的一种协议处理方法的流程图;
图2是根据本发明实施例一的一种协议处理方法的流程图;
图3是根据本发明实施例二的一种协议处理方法的流程图;
图4是根据本发明实施例三的一种协议处理方法的流程图;
图5是根据本发明实施例四的一种协议处理方法的流程图;
图6是根据本发明优选实施例的一种基于Maven的Protocol Buffers协议处理方法的流程图;
图7是根据本发明实施例五的一种协议处理装置的结构示意图;
图8是根据本发明实施例六的一种协议处理设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
根据本发明实施例,提供了一种协议处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例一的一种协议处理方法的流程图;如图2所示,本协议处理方法包括以下步骤:
步骤S202,获取到预定项目的协议文件;
步骤S204,将预定项目配置成Maven项目,将协议文件配置成Maven项目的依赖;
步骤S206,通过Maven项目的依赖对协议文件进行处理。
需要说明的是,该协议文件为需要进行更改的协议文件,该协议文件可以被该预定项目引用。
Maven是一种维系不同的项目之间的依赖关系的一种开发工具,其核心功能是合理叙述项目间的依赖关系,所有的Maven项目均包含着一个名为pom.xml的文件,在该文件中记录着自己的<groupld>,<artifactld>,<version>等字段,这些字段在创建Maven项目时进行填写,Maven会依据上述字段定位到该项目,例如,将A项目关联B项目,Maven会在工作区找到B项目,并创建依赖。此时A项目可以直接在访问到B项目中的类资源。因此将预定项目配置成Maven项目,将协议文件配置成Maven项目的依赖,可以通过Maven项目的依赖直接访问该Maven项目,通过Maven在协议文件和预定项目之间建立一种依赖关系,因此,协议文件进行更改后,直接通过刷新Maven依赖,便可刷新协议文件和预定项目。
通过先获取到预定项目的协议文件;将预定项目配置成Maven项目,将协议文件配置成Maven项目的依赖;通过Maven项目的依赖对协议文件进行处理的方式,达到快速调用所需版本协议的目的,解决了都需要重新生成对应语言的协议文件,且相关协议均需进行变更重新生成的技术问题。
实施例二
根据本发明实施例,提供了一种协议处理方法的实施例,图3是根据本发明实施例二的一种协议处理方法的流程图;需要说明的是,本实施例实在实施例一的基础上具体细化,其中,获取到预定项目的协议文件包括:
步骤S302,接收到钩子hooks请求,其中,hooks请求用于请求从git仓库上获取在预定时间段内预定项目的最新版本的协议文件,其中,git仓库上存储有多个版本的协议文件;
步骤S304,根据hooks请求,从git仓库上拉取预定项目的最新版本的协议文件。
需要说明的是,git仓库是一种分布式版本控制系统,对同一文件的多个不同时间或多个不同编辑者进行更改的多个不同版本进行管理和控制,可以根据需求调取和控制满足要求的文件版本,此处采用钩子请求,请求从git仓库中点取最新的协议文件,该最新的协议文件为经过更新或更改的协议文件。git仓库上存储有多个版本的协议文件,可以满足对正在更新或更改的项目进行访问时,访问得是未更新的版本,避免在项目进行更新过程中,不能被访问。
优选的,该钩子请求为hooks请求,因为hooks可以在git仓库上配置,,当有用户向git仓库提交修改的协议文件时,会调用配置好的hooks。
实施例三
根据本发明实施例,提供了一种协议处理方法的实施例,图4是根据本发明实施例三的一种协议处理方法的流程图;需要说明的是,本实施例实在实施例二的基础上具体细化,其中,将协议文件配置成Maven项目的依赖包括:
步骤S402,将最新版本的协议文件封装成封装文件,将封装文件配置成Maven项目的依赖,其中,Maven项目的版本号为在git仓库上的最新版本的协议文件的分支的分支名。
需要说明的是,git仓库具有分支管理的功能,分支管理是一种可以的同时对同一协议文件进行不同的运行操作,但却互相不影响,而且在各个分支运行操作完成后,将各个分支得到的最中心协议文件合并成一个最终的协议文件,利用分支管理,可以同时对同意协议文件进行不同的更新,也可以在对协议文件进行更新或更改的同时,允许项目对协议文件的调用。而且git仓库的分支管理功能相比于一般的分支管理,效率极高。一个项目本来不同的分支可以代表不同的项目版本,不同的项目版本以来不同版本的协议文件,Maven项目的版本号为在git仓库上的最新版本的协议文件的分支的分支名,分支作为Maven的版本号是很方便使用的。将该最新版本的协议文件进行封装可以方便调用也能对被封装文件形成保护,将封装文件配置成Maven项目的依赖,是为了有效利用Maven项目的依赖对Maven的项目的直接访问性能。
实施例四
根据本发明实施例,提供了一种协议处理方法的实施例,图5是根据本发明实施例四的一种协议处理方法的流程图;需要说明的是,本实施例实在实施例三的基础上具体细化,其中,将最新版本的协议文件封装成封装文件,将封装文件配置成Maven项目的依赖包括:
步骤S502,通过调用Protocol Buffers程序,将最新版本的协议文件生成Java协议文件;
步骤S504,将Java协议文件封装成封装文件,将封装文件配置成Maven项目的依赖。
Protocol buffers是google公司发布的一套开源编码规则,基于二进制流的序列化传输,可以转换成多种编程语言,几乎涵盖了市面上所有的主流编程语言。Protocolbuffers有一套协议编写规则,通过编写协议文件再调用它提供的程序根据不同的参数生成不同的协议文件。通过Protocol buffers将最新版本的协议文件生成Java的协议文件,该Java的协议文件为可用Java进行编辑更改的代码文本,用于供程序员进行编程更改,通过对Java的协议文件的更改达到对协议文件的更改。
Java的协议文件的封装可以节省内存,对Java的协议文件形成保护,避免别的请求干预到Java的协议文件,将Java的协议文件封装后配置成Maven项目的依赖,可以通过刷新Maven的依赖,刷新Java的协议文件,从而刷新协议文件和预定项目。
可选的,步骤S504包括:
将Java协议文件当作Maven项目的协议类,将Java协议文件所包括的消息当作协议类的代理类;
将最新版本的协议文件,协议类以及代理类进行打包成jar文件作为封装文件;将jar文件配置成Maven项目的依赖。
将Java协议文件作为Maven项目的协议类,为了将Java协议文件分化成多个部分,有的协议文件过于冗长,如果只针对一部分进行修改,对别的部分无需进行更新和修改,Java协议文件所包含的信息作为该协议类的代理类,通过对代理类的修改可以达到对该代理类的协议类(Java协议文件)进行修改和更新,避免不要的数据运行,仅仅对Java协议文件的需要修改的信息进行修改。
将最新版本的协议文件,协议类以及代理类打包成,可以记录通过代理类对协议文件的修改情况,将该jar文件配置成Maven项目的依赖,可以通过对代理类(即Java协议文件中的信息)进行修改,达到对协议类(Java协议文件)的修改,并对该最新版本的协议文件进行更新,从而对Maven项目(即预定项目)进行更新。
在本优选实施例中提供了一种基于Maven的Protocol Buffers协议处理方法,图6是根据本发明选实施例的一种基于Maven的Protocol Buffers协议处理方法的流程图,如图6所示,该方法包括以下步骤;
1、创建一个git仓库存放协议文件,在git仓库上配置一个hooks(这个是git仓库的一个功能),当有用户提交git修改的时候会调用配置好的hooks,这个hooks是一个http请求,会调用协议管理服务的接口。
2、协议管理服务接受到hook请求后会更新服务器(协议管理服务部署所在的服务器)上面的git仓库,也就是通过git pull的方式更新服务器上面的协议。
3、得到最新的协议后调用Protocol Buffers提供的程序重新生成Java的协议文件(协议类)。
4、由于生成的Java的协议类对使用者并不友好,类太庞大,子类太多导致查询和引用都不方便。因此对还有一个功能对源协议文件进行分析,一个message生成一个类,包名为com.xxx。协议文件名小写,这个类是协议文件的一个代理,提供最简单最常用的功能给开发者使用。
5、对整个包,包括源协议,工具生成之后的协议类,生成的代理的类进行打包。一个协议文件加上一个协议类加上协议类里面所有的代理类作为一个项目来打包成一个jar,作为一个Maven的项目,根据git的分支名作为Maven项目的版本号。使用Maven的upload到Maven仓库。用户只需要刷新一下Maven的依赖即可更新到协议。
其中,代理类的生成规则如下:
假如有一个协议文件
这个协议有两个message,程序通过对文件的分析生成两个代理类
实施例五
根据本发明实施例,提供了一种协议处理装置的实施例,图7是根据本发明实施例五的一种协议处理装置的结构示意图,包括:
获取模块70,用于获取到预定项目的协议文件;配置模块72,用于将预定项目配置成Maven项目,将协议文件配置成Maven项目的依赖;处理模块74,用于通过Maven项目的依赖对协议文件进行处理。
可选的,获取模块70包括:接收单元,用于接收到钩子hooks请求,其中,hooks请求用于请求从git仓库上获取在预定时间段内预定项目的最新版本的协议文件,其中,git仓库上存储有多个版本的协议文件;拉取单元,用于根据hooks请求,从git仓库上拉取预定项目的最新版本的协议文件。
可选的,配置模块72包括:配置单元,用于将最新版本的协议文件封装成封装文件,将封装文件配置成Maven项目的依赖,其中,Maven项目的版本号为在git仓库上的最新版本的协议文件的分支的分支名。
可选的,配置单元还用于通过调用Protocol Buffers程序,将最新版本的协议文件生成Java协议文件;将Java协议文件封装成封装文件,将封装文件配置成Maven项目的依赖。
可选的,配置单元,还用于:将Java协议文件当作Maven项目的协议类,将Java协议文件所包括的消息当作协议类的代理类;将最新版本的协议文件,协议类以及代理类进行打包成jar文件作为封装文件;将jar文件配置成Maven项目的依赖。
通过上述协议处理装置,通过获取模块70先获取到预定项目的协议文件;通过配置模块72将预定项目配置成Maven项目,将协议文件配置成Maven项目的依赖;采用处理模块74通过Maven项目的依赖对协议文件进行处理的方式,达到快速调用所需版本协议的目的,解决了都需要重新生成对应语言的协议文件,且相关协议均需进行变更重新生成的技术问题。
实施例六
图8是根据本发明实施例六的一种协议处理设备的结构示意图。如图8所示,该协议处理设备包括:处理器80、存储器81、具有触摸功能的显示屏82、输入装置83、输出装置84以及通信装置85。该协议处理设备中处理器80的数量可以是一个或者多个,图8中以一个处理器80为例。该协议处理设备中存储器81的数量可以是一个或者多个,图8中以一个存储器81为例。该协议处理设备的处理器80、存储器81、显示屏82、输入装置83、输出装置84以及通信装置85可以通过总线或者其他方式连接,图8中以通过总线连接为例。实施例中,批注显示设备可以是电脑,手机,平板,投影仪或交互智能平板等。
存储器81作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例的协议处理方法对应的程序指令/模块(例如,协议处理装置中的获取模块60,配置模块62和处理模块64)。存储器81可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器81可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器81可进一步包括相对于处理器80远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
具有触摸功能的显示屏82,其可以是电容屏、电磁屏或者红外屏。一般而言,显示屏82用于根据处理器80的指示显示数据,还用于接收作用于显示屏82的触摸操作,并将相应的信号发送至处理器80或其他装置。可选的,当显示屏82为红外屏时,其还包括红外触摸框,该红外触摸框设置在显示屏82的四周,其还可以用于接收红外信号,并将该红外信号发送至处理器80或者其他设备。
通信装置85,用于与其他设备建立通信连接,其可以是有线通信装置和/或无线通信装置。
输入装置83可用于接收输入的数字或者字符信息,以及产生与批注显示设备的用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置84可以包括扬声器等音频设备。
需要说明的是,输入装置83和输出装置84的具体组成可以根据实际情况设定。
处理器80通过运行存储在存储器81中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的协议处理方法。
具体的,实施例中,处理器80执行存储器81中存储的一个或多个程序时,具体实现如下操作:
获取到预定项目的协议文件;
将预定项目配置成Maven项目,将协议文件配置成Maven项目的依赖;
通过Maven项目的依赖对协议文件进行处理。
在上述实施例的基础上,获取到预定项目的协议文件包括:接收到钩子hooks请求,其中,hooks请求用于请求从git仓库上获取在预定时间段内预定项目的最新版本的协议文件,其中,git仓库上存储有多个版本的协议文件;根据hooks请求,从git仓库上拉取预定项目的最新版本的协议文件。
在上述实施例的基础上,将协议文件配置成Maven项目的依赖包括:将最新版本的协议文件封装成封装文件,将封装文件配置成Maven项目的依赖,其中,Maven项目的版本号为在git仓库上的最新版本的协议文件的分支的分支名。
在上述实施例的基础上,将最新版本的协议文件封装成封装文件,将封装文件配置成Maven项目的依赖包括:通过调用Protocol Buffers程序,将最新版本的协议文件生成Java协议文件;将Java协议文件封装成封装文件,将封装文件配置成Maven项目的依赖。
在上述实施例的基础上,将Java协议文件封装成封装文件,将封装文件配置成Maven项目的依赖包括:将Java协议文件当作Maven项目的协议类,将Java协议文件所包括的消息当作协议类的代理类;将最新版本的协议文件,协议类以及代理类进行打包成jar文件作为封装文件;将jar文件配置成Maven项目的依赖。
实施例七
本发明实施例七还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种协议处理方法,包括:
获取到预定项目的协议文件;
将预定项目配置成Maven项目,将协议文件配置成Maven项目的依赖;
通过Maven项目的依赖对协议文件进行处理。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上的批注显示方法操作,还可以执行本发明任意实施例所提供的批注显示方法中的相关操作,且具备相应的功能和有益效果。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,
本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以
是机器人,个人计算机,服务器,或者网络设备等)执行本发明任意实施例的批注显示方法。
值得注意的是,上述批注显示装置中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。
在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (12)
1.一种协议处理方法,其特征在于,包括:
获取到预定项目的协议文件;
将所述预定项目配置成Maven项目,将所述协议文件配置成所述Maven项目的依赖;
通过所述Maven项目的依赖对所述协议文件进行处理。
2.根据权利要求1所述的方法,其特征在于,获取到所述预定项目的所述协议文件包括:
接收到钩子hooks请求,其中,所述hooks请求用于请求从git仓库上获取在预定时间段内所述预定项目的最新版本的协议文件,其中,所述git仓库上存储有多个版本的协议文件;
根据所述hooks请求,从所述git仓库上拉取所述预定项目的最新版本的所述协议文件。
3.根据权利要求2所述的方法,其特征在于,将所述协议文件配置成所述Maven项目的依赖包括:
将最新版本的所述协议文件封装成封装文件,将所述封装文件配置成所述Maven项目的依赖,其中,所述Maven项目的版本号为在所述git仓库上的最新版本的所述协议文件的分支的分支名。
4.根据权利要求3所述的方法,其特征在于,将最新版本的所述协议文件封装成封装文件,将所述封装文件配置成所述Maven项目的依赖包括:
通过调用Protocol Buffers程序,将最新版本的所述协议文件生成Java协议文件;
将所述Java协议文件封装成封装文件,将所述封装文件配置成所述Maven项目的依赖。
5.根据权利要求4所述的方法,其特征在于,将所述Java协议文件封装成封装文件,将所述封装文件配置成所述Maven项目的依赖包括:
将所述Java协议文件当作所述Maven项目的协议类,将所述Java协议文件所包括的消息当作所述协议类的代理类;
将最新版本的所述协议文件,所述协议类以及所述代理类进行打包成jar文件作为所述封装文件;
将所述jar文件配置成所述Maven项目的依赖。
6.一种协议处理装置,其特征在于,包括:
获取模块,用于获取到预定项目的协议文件;
配置模块,用于将所述预定项目配置成Maven项目,将所述协议文件配置成所述Maven项目的依赖;
处理模块,用于通过所述Maven项目的依赖对所述协议文件进行处理。
7.根据权利要求6所述的装置,其特征在于,所述获取模块包括:
接收单元,用于接收到钩子hooks请求,其中,所述hooks请求用于请求从git仓库上获取在预定时间段内所述预定项目的最新版本的协议文件,其中,所述git仓库上存储有多个版本的协议文件;
拉取单元,用于根据所述hooks请求,从所述git仓库上拉取所述预定项目的最新版本的所述协议文件。
8.根据权利要求7所述的装置,其特征在于,所述配置模块包括:
配置单元,用于将最新版本的所述协议文件封装成封装文件,将所述封装文件配置成所述Maven项目的依赖,其中,所述Maven项目的版本号为在所述git仓库上的最新版本的所述协议文件的分支的分支名。
9.根据权利要求8所述的装置,其特征在于,所述配置单元还用于通过调用ProtocolBuffers程序,将最新版本的所述协议文件生成Java协议文件;将所述Java协议文件封装成封装文件,将所述封装文件配置成所述Maven项目的依赖。
10.根据权利要求9所述的装置,其特征在于,所述配置单元,还用于:
将所述Java协议文件当作所述Maven项目的协议类,将所述Java协议文件所包括的消息当作所述协议类的代理类;
将最新版本的所述协议文件,所述协议类以及所述代理类进行打包成jar文件作为所述封装文件;
将所述jar文件配置成所述Maven项目的依赖。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至5中任意一项所述的协议处理方法。
12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至5中任意一项所述的协议处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810381381.0A CN108804088B (zh) | 2018-04-25 | 2018-04-25 | 协议处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810381381.0A CN108804088B (zh) | 2018-04-25 | 2018-04-25 | 协议处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108804088A true CN108804088A (zh) | 2018-11-13 |
CN108804088B CN108804088B (zh) | 2022-03-08 |
Family
ID=64092998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810381381.0A Active CN108804088B (zh) | 2018-04-25 | 2018-04-25 | 协议处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108804088B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109683945A (zh) * | 2018-12-12 | 2019-04-26 | 泰康保险集团股份有限公司 | 程序接口处理方法与系统、其计算器可读介质及电子设备 |
CN112328344A (zh) * | 2020-11-02 | 2021-02-05 | 联想(北京)有限公司 | 一种投屏处理方法及第一设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130326487A1 (en) * | 2012-05-31 | 2013-12-05 | Shenol YOUSOUF | Emulating cloud functioning of applications locally |
US8806425B1 (en) * | 2012-05-25 | 2014-08-12 | The Boeing Company | Method and apparatus for generating infrastructure code |
CN106104467A (zh) * | 2014-06-30 | 2016-11-09 | 北京新媒传信科技有限公司 | 一种自动化部署方法和终端 |
CN106844201A (zh) * | 2016-12-30 | 2017-06-13 | 北京五八信息技术有限公司 | 测试环境部署方法和系统 |
CN107704245A (zh) * | 2017-09-21 | 2018-02-16 | 深圳市麦斯杰网络有限公司 | 协议接入方法、装置及计算机可读存储介质 |
CN107817978A (zh) * | 2017-09-28 | 2018-03-20 | 聚好看科技股份有限公司 | 一种可执行文件的生成方法和装置 |
-
2018
- 2018-04-25 CN CN201810381381.0A patent/CN108804088B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8806425B1 (en) * | 2012-05-25 | 2014-08-12 | The Boeing Company | Method and apparatus for generating infrastructure code |
US20130326487A1 (en) * | 2012-05-31 | 2013-12-05 | Shenol YOUSOUF | Emulating cloud functioning of applications locally |
CN106104467A (zh) * | 2014-06-30 | 2016-11-09 | 北京新媒传信科技有限公司 | 一种自动化部署方法和终端 |
CN106844201A (zh) * | 2016-12-30 | 2017-06-13 | 北京五八信息技术有限公司 | 测试环境部署方法和系统 |
CN107704245A (zh) * | 2017-09-21 | 2018-02-16 | 深圳市麦斯杰网络有限公司 | 协议接入方法、装置及计算机可读存储介质 |
CN107817978A (zh) * | 2017-09-28 | 2018-03-20 | 聚好看科技股份有限公司 | 一种可执行文件的生成方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109683945A (zh) * | 2018-12-12 | 2019-04-26 | 泰康保险集团股份有限公司 | 程序接口处理方法与系统、其计算器可读介质及电子设备 |
CN112328344A (zh) * | 2020-11-02 | 2021-02-05 | 联想(北京)有限公司 | 一种投屏处理方法及第一设备 |
CN112328344B (zh) * | 2020-11-02 | 2022-11-22 | 联想(北京)有限公司 | 一种投屏处理方法及第一设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108804088B (zh) | 2022-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111158818B (zh) | 一种页面渲染方法和装置 | |
US7756905B2 (en) | System and method for building mixed mode execution environment for component applications | |
CN110244977A (zh) | 定制化软件生成方法、系统、电子设备及存储介质 | |
CN110489101B (zh) | 接口模拟方法、系统、介质和电子设备 | |
US11797273B2 (en) | System and method for enhancing component based development models with auto-wiring | |
US9218100B2 (en) | Method and system for partitioning asset management plugins | |
CN107729139A (zh) | 一种并发获取资源的方法和装置 | |
US11667033B2 (en) | Systems and methods for robotic process automation | |
CN106997298A (zh) | 一种应用资源获取方法及装置 | |
CN109683892B (zh) | 页面展示方法、装置、计算机设备及存储介质 | |
CN109754072B (zh) | 网络离线模型的处理方法、人工智能处理装置及相关产品 | |
US7716590B1 (en) | Method and apparatus for dynamically updating a secondary form element based on a selection in a primary form element | |
CN105814579A (zh) | 沙盒应用数据重定向至数据中心 | |
CN110532044A (zh) | 一种大数据批处理方法、装置、电子设备及存储介质 | |
CN110213105A (zh) | 一种跨平台微应用创建方法 | |
CN109144619A (zh) | 图标字体信息处理方法、装置及系统 | |
CN108804088A (zh) | 协议处理方法和装置 | |
CN110851211A (zh) | 用于显示应用信息的方法、装置、电子设备和介质 | |
CN114489954A (zh) | 基于虚拟化平台的租户创建方法、租户访问方法及设备 | |
US11379561B2 (en) | License usage management | |
US20180074674A1 (en) | Process initiation | |
CN107179916A (zh) | 一种应用程序开发方法、装置、设备以及开发架构 | |
CN109815455A (zh) | 项目文件处理方法和装置 | |
CN110347562A (zh) | 数据采集方法、装置、计算机可读介质及智能终端设备 | |
CN113254825A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |