CN108279987A - 应用程序的版本管理方法及装置 - Google Patents
应用程序的版本管理方法及装置 Download PDFInfo
- Publication number
- CN108279987A CN108279987A CN201810056913.3A CN201810056913A CN108279987A CN 108279987 A CN108279987 A CN 108279987A CN 201810056913 A CN201810056913 A CN 201810056913A CN 108279987 A CN108279987 A CN 108279987A
- Authority
- CN
- China
- Prior art keywords
- business
- service
- client
- version
- release
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种应用程序的版本管理方法,包括:接收来自客户端的访问业务服务的请求;解析所述请求,获取所述客户端特征信息及业务服务识别信息,根据所述客户端特征信息及业务服务识别信息确定相应业务版本;为所述客户端提供所述相应业务版本的业务服务。本申请使得当一个客户端中的业务服务被访问时,根据客户端的特征信息及业务服务识别信息,得到当前应该使用哪一个业务版本,在接下来的业务处理逻辑中,都只根据业务版本进行处理,而不会根据具体的客户端和客户端版本号进行业务逻辑指定,简化了逻辑控制,降低了维护成本,避免了性能上的浪费,并且支持不向下兼容的字段。
Description
技术领域
本申请涉及服务端领域,具体涉及一种应用程序的版本管理方法。本申请同时涉及一种应用程序的版本管理装置。
背景技术
在目前大多数的APP中,都会有native部分和h5部分。native是使用原生***内核的,相当于直接在***上操作,是我们传统意义上的软件,更加稳定;但是H5的APP先得调用***的浏览器内核,相当于是在网页中进行操作,较原生APP稳定性稍差。Native的运行性能和UI控件的渲染性能都要比H5有明显优势,但是h5最大的优点是可以跨平台,可以快速开发迭代。目前通常将两者结合使用,主体使用原生APP来提高APP的性能,native部分随着每次客户端APP的版本而固定,同时在更新、改动频繁的部分使用H5。通过在H5的更新来实现客户端APP版本的更新,而这也就意味着在服务端要针对不同的客户端版本进行独立的版本逻辑控制。
在一些实际应用中,可能会面临更为复杂的场景,比如有的应用程序不但有自己独立的App,而且还存在于其它App中,作为某一功能模块。具体的实例例如口碑业务,其具有独立的App,而且还存储于支付宝app中(支付宝第二个Tab为口碑,很多功能为native),对于类似口碑网这样的有多个客户端的APP,需要考虑到多客户端、多版本的情况下,服务器端需要进行多客户端、多版本的逻辑控制。
目前,针对前述采用的多客户端、多版本的逻辑控制方法主要有两种。
方案一:在服务端的代码逻辑中,明确判断是哪一个客户端、以及这个客户端的版本号,并根据客户端和客户端的版本号进行业务逻辑判断及处理。
方案二:使同名的Web服务的多版本能够共存,统一使用最新的业务逻辑处理,在最后给客户端返回时,根据客户端以及版本号,进行返回字段的转换。
然而,上述的方案中,无论方案一还是方案二,具有逻辑控制复杂,维护成本高、有性能上的浪费的缺点。并且方案二不支持不向下兼容的字段。
发明内容
本申请提供一种应用程序的版本管理方法,以解决现有的应用程序版本管理方法逻辑控制复杂、维护成本高、有性能上的浪费、不支持不向下兼容的字段的问题。本申请另外提供一种应用程序的版本管理装置。
本申请提供一种应用程序的版本管理方法,包括:
接收来自客户端的访问业务服务的请求;
解析所述请求,获取所述客户端特征信息及业务服务识别信息,根据所述客户端特征信息及业务服务识别信息确定相应业务版本;
为所述客户端提供所述相应业务版本的业务服务。
可选的,所述解析所述请求,获取所述客户端特征信息及业务服务识别信息,根据所述客户端特征信息及业务服务识别信息确定相应业务版本,具体为:
解析所述请求,获取所述客户端特征信息及业务服务识别信息,根据预先设置的所述客户端特征信息、业务服务识别信息与业务版本的映射关系,确定所述相应业务版本。
可选的,所述客户端的特征信息为唯一确定客户端名称或种类,以及客户端的版本的信息。
可选的,获取所述客户端特征信息及业务服务识别信息具体为:
根据所述请求携带的客户端的名称或种类、客户端版本确定客户端特征信息;
根据所述请求携带的业务服务名称或业务服务识别标识确定业务服务识别信息。
可选的,所述根据所述客户端特征信息及业务服务识别信息确定所述相应业务版本步骤之前还包括:
建立不同客户端、不同客户端的不同业务服务与业务版本的映射关系。
可选的,所述确定所述相应业务版本步骤之前还包括:
在服务端中预先定义业务版本的名称、业务版本的版本号以及业务版本的特定配置信息。
可选的,所述确定所述相应业务版本具体为:
确定相应业务版本号或业务版本名称;
相应的,所述为所述客户端提供所述相应业务版本的业务服务具体为:
根据所述相应业务版本号或业务版本名称调用对应的业务,并返回处理结果。
可选的,所述根据所述相应业务版本号或业务版本名称调用对应的业务,并返回处理结果具体为:
根据所述相应业务版本号或业务版本名称获取所述相应业务版本的配置信息;
根据所述相应业务版本号或业务版本名称,以及所述相应业务版本的配置信息,调用与所述相应业务版本的配置信息对应的业务,并返回处理结果。
本申请另外提供一种应用程序的版本管理装置,包括:
接收请求模块,用于接收来自客户端的访问业务服务的请求;
确定业务版本模块,用于获取所述客户端特征信息及业务服务识别信息,根据所述客户端特征信息及业务服务识别信息确定相应业务版本;
业务逻辑处理模块,用于为所述客户端提供所述相应业务版本的业务服务。
可选的,所述确定业务版本模块具体用于:
解析所述请求,获取所述客户端特征信息及业务服务识别信息,根据预先设置的所述客户端特征信息、业务服务识别信息与业务版本的映射关系,确定所述相应业务版本。
可选的,所述装置还包括:
映射关系创建模块,用于建立不同客户端、不同客户端的不同业务服务与业务版本的映射关系。
可选的,所述装置还包括:
业务版本定义模块,用于在服务端中预先定义业务版本的名称、业务版本的版本号以及业务版本的特定配置信息。
可选的,
所述确定业务版本模块,具体用于:确定相应业务版本号或业务版本名称;
相应的,所述业务逻辑处理模块,具体用于:根据所述相应业务版本号或业务版本名称调用对应的业务,并返回处理结果。
可选的,所述业务逻辑处理模块,具体用于:
根据所述相应业务版本号或业务版本名称获取所述相应业务版本的配置信息;
根据所述相应业务版本号或业务版本名称,以及所述相应业务版本的配置信息,调用与所述相应业务版本的配置信息对应的业务,并返回处理结果。
与现有技术相比,本申请具有以下优点:
本申请提供的所述应用程序的版本管理方法,通过解析来自客户端的访问业务服务的请求,获取所述客户端的特征信息及业务服务识别信息,根据所述特征信息及业务服务识别信息确定相应的业务版本,进而为所述客户端提供所述业务版本的业务服务。本申请使得当一个客户端中的业务服务被访问时,根据客户端的特征信息及业务服务识别信息,得到当前应该使用哪一个业务版本,在接下来的业务处理逻辑中,都只根据业务版本进行处理,而不会根据具体的客户端和客户端版本号进行业务逻辑指定,简化了逻辑控制,降低了维护成本,避免了性能上的浪费,并且支持不向下兼容的字段。
附图说明
图1是本申请第一实施例提供的应用程序的版本管理方法的流程图;
图2是本申请第一实施例提供的应用程序的版本管理方法的的另一流程图;
图3是本申请第一实施例涉及的客户端版本与业务版本之间的对应关系存储的核心字段表;
图4是本申请第二实施例提供的应用程序的版本管理装置的框图;
图5是本申请第二实施例提供的应用程序的版本管理装置的另一框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
本实施例提供一种多版本多客户端的服务端版本管理方法。请参看图1,该图为本申请第一实施例的流程图。以下结合图1对本申请第一实施例提供一种多版本多客户端的服务端版本管理方法进行详细说明。
如图1所示,示出了本申请第一实施例提供的应用程序的版本管理方法的流程图,包括以下步骤。
步骤S101,接收来自客户端的访问业务服务的请求。
本步骤用于接收用户需要访问客户端中的业务服务的请求,即服务端获取用户执行访问客户端中业务的操作的请求。
客户端,客户端(Client)或称为用户端,是指与服务器相对应,为客户提供本地服务的程序。除了一些只在本地运行的应用程序之外,一般安装在普通的客户机上,需要与服务端互相配合运行。如万维网使用的网页浏览器,收寄电子邮件时的电子邮件客户端,以及即时通讯的客户端软件等。对于这一类应用程序,需要网络中有相应的服务器和服务程序来提供相应的服务,如数据库服务,电子邮件服务等等,这样在客户机和服务器端,需要建立特定的通信连接,来保证应用程序的正常运行。
业务服务,就是客户端中需要处理的各种业务,通常指为用户提供的实际作业涉及的各项业务的服务。
具体的,用户会访问客户端其中某一个业务服务,例如访问口碑网中的某一家店铺,获取商品价格、位置、评价等信息,就是其中某一个业务服务。对于客户端中的业务服务,需要网络中有相应的服务器和服务程序来提供相应的服务,例如数据库服务。用户访问客户端中的某一个业务服务,然后在客户端中调用服务端的数据接口,通过在服务端数据接口将客户访问客户端中某一个业务服务的请求发送给服务端,然后服务端根据该请求进行接下来的操作和服务。
步骤S102,解析所述请求,获取所述客户端的特征信息及业务服务识别信息,根据所述客户端特征信息及业务服务识别信息确定相应业务版本。
本步骤用于服务端解析用户访问客户端中业务的请求,获取所述客户端的特征信息及业务服务识别信息,从而根据所述特征信息及业务服务识别信息匹配相应的业务版本。
特征信息,用于表征所述客户端,客户端的特征信息为唯一确定客户端名称或种类,以及客户端的版本的信息。
客户端名称或种类,表示形容客户端是哪一种,哪一个类别,哪一个名称,例如,支付宝APP,口碑独立APP。
客户端的版本,表示形容同一种客户端但实现方法、表现形式等不同的两个事物,例如支付宝APP5.1版本、支付宝APP5.2版本。
业务服务识别信息,用于识别业务服务,包括用于识别业务服务的业务服务名称和业务服务标识。
业务服务名称,表示形容业务服务是哪一个类别,哪一个名称,例如,登录业务,商品详情页。
业务服务标识,用以标示业务服务,便于识别是哪一个业务服务,例如,业务服务编号。
业务版本,表示形容客户端中的同一种业务但实现方法、表现形式等不同的两个事物,例如支付宝APP中商品详情页业务版本1、支付宝APP中商品详情页业务版本2。
具体的,在接收到用户访问客户端中的业务服务的请求步骤之后,服务端解析所述请求,获取所述请求中携带的客户端的特征信息及业务服务识别信息。根据来自客户端的访问业务服务的请求携带的客户端的名称或种类(例如,支付宝)、客户端版本(例如,支付宝APP5.1)确定客户端特征信息,客户端特征信息是唯一能表征该客户端的信息;根据所述请求携带的业务服务名称(例如,登录业务)或业务服务识别标识(例如,业务服务1)确定业务服务识别信息,业务服务识别信息用于识别是哪一个业务服务。在获取所述客户端的特征信息及业务服务识别信息步骤之后,根据客户端的特征信息及业务服务识别信息匹配相应的业务版本。在接下来的业务处理逻辑中,都只是根据业务版本进行处理,而不会根据具体的客户端进行业务逻辑指定,实现了多版本、多客户端的逻辑控制。匹配业务版本的过程可以通过服务端中预设的映射关系进行匹配(如图3),也可以直接调用相应的业务版本进行匹配。
优选地,所述解析所述请求,获取所述客户端特征信息及业务服务识别信息,根据所述客户端特征信息及业务服务识别信息确定相应业务版本,具体为:
解析所述请求,获取所述客户端特征信息及业务服务识别信息,根据预先设置的所述客户端特征信息、业务服务识别信息与业务版本的映射关系,确定所述相应业务版本。
本步骤用于服务端接收用户访问客户端中的业务服务的请求之后,根据预先设置的所述客户端特征信息、业务服务识别信息与业务版本的映射关系,获取在服务端存储的与客户端特征信息及业务服务识别信息相映射的业务版本。
具体的,基于之前配置的所述客户端特征信息(客户端名称或种类,以及客户端的版本的信息)、业务服务识别信息(业务服务名称或业务服务识别标识)与业务版本的映射关系(如图3),当一个客户端中的业务服务被访问,根据所述客户端特征信息、业务服务识别信息,即可匹配得到当前应该使用哪一个业务版本。在接下来的业务处理逻辑中,都只是根据该业务版本进行处理,而不会根据具体的客户端和客户端版本号进行业务逻辑指定。判断业务版本属于哪一个客户端,属于哪一个客户端版本,属于哪一个业务,需要获取与所述客户端的名称或种类、所述客户端的版本、所述访问业务服务的名称或识别标识分别都一一映射的业务版本。
根据所述客户端的名称或种类、所述客户端的版本、所述用户访问的业务服务的名称或识别标识获取映射的业务版本的过程,需按照顺序一步步匹配,首先获取所述客户端的名称或种类(例如,支付宝APP),其次获取所述客户端的版本(例如,支付宝APP5.1版本),再次获取所述当前版本的客户端中的业务服务名称或识别标识(例如,5.1版本支付宝APP中的登录业务,5.1版本支付宝APP中的业务A),最后根据获取的所述客户端的种类、所述客户端的版本、所述用户访问的业务服务名称或识别标识匹配得到相应的业务版本(例如,5.1版本支付宝APP中的登录业务对应业务版本1),三者条件缺一不可。
所述确定相应业务版本,具体为确定相应业务版本号或业务版本名称。业务版本号或业务版本名称是版本的标识,每一个业务版本都有一个版本号或业务版本名称。业务版本号或业务版本名称能使用户了解所使用的业务是否为最新的版本以及它所提供的功能与设施。
基于之前配置的所述客户端特征信息(客户端名称或种类,以及客户端的版本的信息)、业务服务识别信息(业务服务名称或业务服务识别标识)与业务版本的映射关系(如图3),当一个客户端被访问,根据所述客户端特征信息、业务服务识别信息,确定相应业务版本号或业务版本名称(例如,业务版本1,业务版本A)。在接下来的业务处理逻辑中,可以通过判断相应业务版本号或业务版本名称的方式进行业务逻辑处理,而不会根据具体的客户端和客户端版本号进行业务逻辑指定。判断业务版本号或业务版本名称与哪一个客户端,哪一个客户端版本,哪一个业务相对应,需要获取与所述客户端的名称或种类、版本、所述访问业务服务的名称分别都一一映射的业务版本号或业务版本名称。
优选地,请参看图2,在步骤S102之前还包括以下步骤:步骤S104,建立所述不同客户端、不同客户端的不同业务服务与业务版本的映射关系。
本步骤用于在服务端中建立所述不同客户端、不同客户端的不同业务服务与业务版本的映射关系。
将所述不同客户端、不同客户端的不同业务服务与业务版本的映射关系存储到服务端,并形成相应的映射关系表(如图3)。所述客户端的名称或种类、所述客户端的版本、所述访问的业务服务名称或业务服务标识,与所述业务版本分别都一一对应,通过获取与所述客户端的名称或种类、所述客户端的版本、所述访问的业务服务名称或业务服务标识都对应的业务版本进行接下来的业务逻辑处理操作。
建立所述不同客户端、不同客户端的不同业务服务与业务版本的映射关系的实现方式包括以下至少一项:
两个以上客户端的名称或种类与一个业务版本进行映射;
一个客户端的名称或种类与两个以上业务版本进行映射;
两个以上客户端的版本与一个业务版本进行映射;
一个客户端的版本与两个以上业务版本进行映射;
一个访问业务服务的名称与两个以上业务版本进行映射。
请参看图3,表中的第二行和第四行支付宝APP和口碑独立APP都与业务版本1对应,说明两个以上客户端的名称或种类可以与一个业务版本进行映射;
表中的第二行和第三行支付宝APP分别与业务版本1、业务版本2对应,说明一个客户端的名称或种类可以与两个以上业务版本进行映射;
表中的第四行和第五行口碑独立APP版本9.5与口碑独立APP版本9.6都与业务版本1对应,说明两个以上客户端的版本可以与一个业务版本进行映射;
表中第三行和第七行支付宝APP版本5.2分别与业务版本1、业务版本2对应,说明一个客户端的版本可以与两个以上业务版本进行映射;
表中第二行和第三行登录业务分别与业务版本1、业务版本2对应,说明一个访问业务服务的名称与两个以上业务版本进行映射。
优选地,在步骤S102之前还包括步骤S105,在服务端中预先定义业务版本的名称、业务版本的版本号以及业务版本的特定配置信息。
本步骤用于定义业务版本的名称、业务版本的版本号以及业务版本的特定配置信息。
定义每一个客户端,包括定义客户端的名称或种类,例如支付宝APP、口碑独立APP,口碑网有自己独立的APP,在支付宝的APP中也有口碑网的Tab,两者不相同,注意不要混淆。通过对客户端进行独立定义,为后续服务端对多客户端的逻辑控制做准备。
定义每一个客户端版本,例如支付宝APP5.1版本、支付宝APP5.2版本、口碑独立APP9.5版本、口碑独立APP9.6版本,客户端版本与客户端无关,两者不相同,注意不要混淆。通过对客户端版本进行独立定义,为后续服务端对多客户端版本的逻辑控制做准备。
定义每一个业务版本,该业务与客户端、客户端版本无关,是业务逻辑版本。其中最核心的字段包括以下几个Business、Version、Ext,字段含义分别是业务名称(例如,登录业务、商品详情页业务)、业务版本号(例如,3)、业务版本的扩展字段(例如,showDistance=true),包含特定配置信息。
具体的,在服务端中预先定义业务版本的业务名称、业务版本号、业务版本的特定配置信息,使得在确定所述相应业务版本步骤时,通过根据所述客户端特征信息及业务服务识别信息确定相应业务版本号或业务版本名称的方式确定业务版本,进而根据所述相应业务版本的版本号或名称调用对应的业务,并进行之后的业务逻辑处理操作。
在为所述客户端提供所述相应业务版本的业务服务步骤中,当用户访问的当前业务服务的业务版本含有相应业务版本的特定配置信息时,根据所述相应业务版本号或业务版本名称,以及所述相应业务版本的配置信息,调用与所述相应业务版本的配置信息对应的业务,并进行之后的业务逻辑处理操作。
步骤S103,为所述客户端提供所述相应业务版本的业务服务。
本步骤用于为所述客户端提供所述相应业务版本的业务服务。
对于客户端中的业务服务,需要网络中有相应的服务器和服务程序来提供相应的服务,例如数据库服务。在服务端接收到客户端发送的访问客户端中的某一个业务服务的请求之后,通过匹配相应的业务版本,为所述客户端提供所述相应业务版本的业务服务。在客户端每一个业务接口的入口处进行业务转换,调用所述业务版本的数据接口,从而使得客户端根据所述业务版本进行相应的业务处理,最后返回业务处理结果。
优选地,所述确定所述相应业务版本具体为:确定相应业务版本号或业务版本名称;
相应的,所述为所述客户端提供所述相应业务版本的业务服务具体为:根据所述相应业务版本号或业务版本名称调用对应的业务,并返回处理结果。
本步骤用于根据所述访问业务服务的版本号或业务版本名称调用对应的业务,并返回处理结果。
具体的,当用户访问客户端中的某一个业务服务时,在业务处理代码中,不识别当前哪一个客户端,也不识别客户端的版本,而可以只根据当前业务的版本号进行识别处理。判断当前业务服务的版本号或者版本名称与之前确定的相应业务版本的版本号或业务名称是否一致,在当前业务的版本号或者版本名称与之前确定的相应业务版本或业务名称的版本号一致时,则根据之前确定的相应业务版本的版本号或业务版本名称调用对应业务的数据接口,并进行相应的业务逻辑处理,返回处理结果。
需要说明的是,对于一些版本非向下兼容的逻辑,完全可以通过根据所述相应业务版本的版本号或业务版本名称来调用对应的业务的方式,进行相应的业务逻辑处理。在当前业务的版本号或业务版本名称与之前确定的相应的业务版本的版本号或业务版本名称一致时,调用所述对应的版本的数据接口,进行相应的业务逻辑处理,并返回处理结果。例如直接判断业务版本大于5时的a字段取值逻辑与业务版本小于5时a字段的取值逻辑。
优选地,所述根据所述相应业务版本号或业务版本名称调用对应的业务,并返回处理结果具体为:
根据所述相应业务版本号或业务版本名称获取所述相应业务版本的配置信息;根据所述相应业务版本号或业务版本名称,以及所述相应业务版本的配置信息,调用与所述相应业务版本的配置信息对应的业务,并返回处理结果。
本步骤用于根据所述访问业务服务的相应业务版本号或业务版本名称,以及其业务版本的配置信息,调用与所述相应业务版本的配置信息对应的业务,并返回处理结果。
扩展字段,或称扩展属性字段,可实现在内容通用属性基础上扩展某些特殊属性。如作者、来源、价格等等。
配置信息,扩展字段用于存放的某些特定特殊属性。
具体的,当用户访问客户端中的某一个业务服务时,在业务处理代码中,只根据当前业务的版本号或业务版本名称进行识别处理。在业务版本的扩展字段定义有特定配置信息时,根据所述相应业务版本号或业务版本名称获取所述相应业务版本的配置信息。根据所述相应业务版本号或业务版本名称,判断当前业务服务的业务版本的配置信息与之前确定的相应业务版本的特定配置信息是否一致,如果一致,则调用与所述相应业务版本的配置信息对应的业务的数据接口,并进行相应的业务逻辑处理,返回处理结果。即当用户访问的当前业务服务的业务版本含有相应业务版本的特定配置信息时,根据所述相应业务版本号或业务版本名称,以及所述相应业务版本的配置信息,调用与所述相应业务版本的配置信息对应的业务,并返回处理结果。例如判断是否显示用户距离店铺距离时,可以从相应业务服务的扩展字段中判断是否存在showdistance属性来决定,如果存在则显示。
这样的好处是对于一些多个版本通用的功能,可以通过在多个业务版本的扩展字段配置相同的特定配置信息的方法,来使得扩展字段得以复用,简化了逻辑控制。
本申请提供的所述应用程序的版本管理方法,通过解析来自客户端的访问业务服务的请求,获取所述客户端的特征信息及业务服务识别信息,根据所述特征信息及业务服务识别信息确定相应的业务版本,进而为所述客户端提供所述业务版本的业务服务。本申请使得当一个客户端中的业务服务被访问时,根据客户端的特征信息及业务服务识别信息,得到当前应该使用哪一个业务版本,在接下来的业务处理逻辑中,都只根据业务版本进行处理,而不会根据具体的客户端和客户端版本号进行业务逻辑指定,简化了逻辑控制,降低了维护成本,避免了性能上的浪费,并且支持不向下兼容的字段。
如图4所示,示出了本申请第二实施例提供的一种应用程序的版本管理装置的框图,包括以下模块:
接收请求模块401,用于接收来自客户端的访问业务服务的请求;
确定业务版本模块402,用于获取所述客户端特征信息及业务服务识别信息,根据所述客户端特征信息及业务服务识别信息确定相应业务版本;
业务逻辑处理模块403,用于为所述客户端提供所述相应业务版本的业务服务。
如图5所示,示出了本申请第二实施例提供的一种应用程序的版本管理装置的另一框图。
所述装置还包括以下模块:
映射关系创建模块404,用于建立不同客户端、不同客户端的不同业务服务与业务版本的映射关系的数据库。
业务版本定义模块405,在服务端中预先定义业务版本的名称、业务版本的版本号以及业务版本的特定配置信息。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (10)
1.一种应用程序的版本管理方法,其特征在于,包括:
接收来自客户端的访问业务服务的请求;
解析所述请求,获取所述客户端特征信息及业务服务识别信息,根据所述客户端特征信息及业务服务识别信息确定相应业务版本;
为所述客户端提供所述相应业务版本的业务服务。
2.根据权利要求1所述的应用程序的版本管理方法,其特征在于,所述解析所述请求,获取所述客户端特征信息及业务服务识别信息,根据所述客户端特征信息及业务服务识别信息确定相应业务版本,具体为:
解析所述请求,获取所述客户端特征信息及业务服务识别信息,根据预先设置的所述客户端特征信息、业务服务识别信息与业务版本的映射关系,确定所述相应业务版本。
3.根据权利要求2所述的应用程序的版本管理方法,其特征在于,所述根据所述客户端特征信息及业务服务识别信息确定所述相应业务版本步骤之前还包括:
建立不同客户端、不同客户端的不同业务服务与业务版本的映射关系。
4.根据权利要求2所述的应用程序的版本管理方法,其特征在于,所述确定所述相应业务版本步骤之前还包括:
在服务端中预先定义业务版本的名称、业务版本的版本号以及业务版本的特定配置信息。
5.根据权利要求1或2或3或4所述的应用程序的版本管理方法,其特征在于,所述确定所述相应业务版本具体为:
确定相应业务版本号或业务版本名称;
相应的,所述为所述客户端提供所述相应业务版本的业务服务具体为:
根据所述相应业务版本号或业务版本名称调用对应的业务,并返回处理结果。
6.根据权利要求5所述的应用程序的版本管理方法,其特征在于,所述根据所述相应业务版本号或业务版本名称调用对应的业务,并返回处理结果具体为:
根据所述相应业务版本号或业务版本名称获取所述相应业务版本的配置信息;
根据所述相应业务版本号或业务版本名称,以及所述相应业务版本的配置信息,调用与所述相应业务版本的配置信息对应的业务,并返回处理结果。
7.一种应用程序的版本管理装置,其特征在于,所述装置包括:
接收请求模块,用于接收来自客户端的访问业务服务的请求;
确定业务版本模块,用于获取所述客户端特征信息及业务服务识别信息,根据所述客户端特征信息及业务服务识别信息确定相应业务版本;
业务逻辑处理模块,用于为所述客户端提供所述相应业务版本的业务服务。
8.根据权利要求7所述的一种应用程序的版本管理装置,其特征在于,所述确定业务版本模块具体用于:
解析所述请求,获取所述客户端特征信息及业务服务识别信息,根据预先设置的所述客户端特征信息、业务服务识别信息与业务版本的映射关系,确定所述相应业务版本。
9.根据权利要求7所述的一种应用程序的版本管理装置,其特征在于,
所述确定业务版本模块,具体用于:确定相应业务版本号或业务版本名称;
相应的,所述业务逻辑处理模块,具体用于:根据所述相应业务版本号或业务版本名称调用对应的业务,并返回处理结果。
10.根据权利要求7所述的一种应用程序的版本管理装置,其特征在于,所述业务逻辑处理模块,具体用于:
根据所述相应业务版本号或业务版本名称获取所述相应业务版本的配置信息;
根据所述相应业务版本号或业务版本名称,以及所述相应业务版本的配置信息,调用与所述相应业务版本的配置信息对应的业务,并返回处理结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810056913.3A CN108279987A (zh) | 2018-01-19 | 2018-01-19 | 应用程序的版本管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810056913.3A CN108279987A (zh) | 2018-01-19 | 2018-01-19 | 应用程序的版本管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108279987A true CN108279987A (zh) | 2018-07-13 |
Family
ID=62804278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810056913.3A Pending CN108279987A (zh) | 2018-01-19 | 2018-01-19 | 应用程序的版本管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108279987A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240740A (zh) * | 2018-11-15 | 2019-01-18 | 北京金山云网络技术有限公司 | 控制台版本兼容方法、装置及电子设备 |
CN109939441A (zh) * | 2019-03-14 | 2019-06-28 | 深圳市腾讯信息技术有限公司 | 应用复盘校验处理方法及*** |
CN111176723A (zh) * | 2019-12-31 | 2020-05-19 | 上海道客网络科技有限公司 | 基于服务网格和链路版本的服务多版本发布***与方法 |
CN111181836A (zh) * | 2019-10-25 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种消息推送方法及装置 |
CN111225018A (zh) * | 2019-10-23 | 2020-06-02 | 上海艾融软件股份有限公司 | 一种请求报文处理方法、装置和电子设备 |
CN111475226A (zh) * | 2020-03-31 | 2020-07-31 | 招商局金融科技有限公司 | 电子装置、微服务调用方法和计算机可读存储介质 |
CN111666166A (zh) * | 2020-06-03 | 2020-09-15 | 中国建设银行股份有限公司 | 一种服务提供方法、装置、设备及存储介质 |
CN112199113A (zh) * | 2020-10-28 | 2021-01-08 | 重庆撼地大数据有限公司 | 软件服务访问控制方法及装置 |
CN112532513A (zh) * | 2019-09-19 | 2021-03-19 | 上海淘票儿信息科技有限公司 | 网关及业务数据处理方法 |
CN112612512A (zh) * | 2020-12-30 | 2021-04-06 | 福州掌中云科技有限公司 | 一种app多版本管理的方法及设备 |
CN112817616A (zh) * | 2021-03-02 | 2021-05-18 | 福州汇思博信息技术有限公司 | 一种pkg文件的管理方法及终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104298757A (zh) * | 2014-10-22 | 2015-01-21 | 福建星网视易信息***有限公司 | 一种兼容多版本移动客户端及数据库的方法及*** |
CN105824958A (zh) * | 2016-03-31 | 2016-08-03 | 广州华多网络科技有限公司 | 一种查询日志的方法、装置和*** |
US20170060878A1 (en) * | 2015-09-01 | 2017-03-02 | Sap Se | Field Extension in Database System |
-
2018
- 2018-01-19 CN CN201810056913.3A patent/CN108279987A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104298757A (zh) * | 2014-10-22 | 2015-01-21 | 福建星网视易信息***有限公司 | 一种兼容多版本移动客户端及数据库的方法及*** |
US20170060878A1 (en) * | 2015-09-01 | 2017-03-02 | Sap Se | Field Extension in Database System |
CN105824958A (zh) * | 2016-03-31 | 2016-08-03 | 广州华多网络科技有限公司 | 一种查询日志的方法、装置和*** |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109240740B (zh) * | 2018-11-15 | 2022-08-02 | 北京金山云网络技术有限公司 | 控制台版本兼容方法、装置及电子设备 |
CN109240740A (zh) * | 2018-11-15 | 2019-01-18 | 北京金山云网络技术有限公司 | 控制台版本兼容方法、装置及电子设备 |
CN109939441A (zh) * | 2019-03-14 | 2019-06-28 | 深圳市腾讯信息技术有限公司 | 应用复盘校验处理方法及*** |
CN109939441B (zh) * | 2019-03-14 | 2023-03-14 | 深圳市腾讯信息技术有限公司 | 应用复盘校验处理方法及*** |
CN112532513A (zh) * | 2019-09-19 | 2021-03-19 | 上海淘票儿信息科技有限公司 | 网关及业务数据处理方法 |
CN111225018A (zh) * | 2019-10-23 | 2020-06-02 | 上海艾融软件股份有限公司 | 一种请求报文处理方法、装置和电子设备 |
CN111181836A (zh) * | 2019-10-25 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种消息推送方法及装置 |
CN111176723A (zh) * | 2019-12-31 | 2020-05-19 | 上海道客网络科技有限公司 | 基于服务网格和链路版本的服务多版本发布***与方法 |
CN111176723B (zh) * | 2019-12-31 | 2020-11-06 | 上海道客网络科技有限公司 | 基于服务网格和链路版本的服务多版本发布***与方法 |
CN111475226B (zh) * | 2020-03-31 | 2022-04-29 | 招商局金融科技有限公司 | 电子装置、微服务调用方法和计算机可读存储介质 |
CN111475226A (zh) * | 2020-03-31 | 2020-07-31 | 招商局金融科技有限公司 | 电子装置、微服务调用方法和计算机可读存储介质 |
CN111666166A (zh) * | 2020-06-03 | 2020-09-15 | 中国建设银行股份有限公司 | 一种服务提供方法、装置、设备及存储介质 |
CN111666166B (zh) * | 2020-06-03 | 2023-10-31 | 中国建设银行股份有限公司 | 一种服务提供方法、装置、设备及存储介质 |
CN112199113A (zh) * | 2020-10-28 | 2021-01-08 | 重庆撼地大数据有限公司 | 软件服务访问控制方法及装置 |
CN112612512A (zh) * | 2020-12-30 | 2021-04-06 | 福州掌中云科技有限公司 | 一种app多版本管理的方法及设备 |
CN112817616A (zh) * | 2021-03-02 | 2021-05-18 | 福州汇思博信息技术有限公司 | 一种pkg文件的管理方法及终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108279987A (zh) | 应用程序的版本管理方法及装置 | |
CN109635019B (zh) | 请求处理方法、装置、设备及存储介质 | |
CN107534671B (zh) | 分布式服务实体和关联的聚合与联合 | |
US20130110884A1 (en) | Spreadsheet program-based data classification for source target mapping | |
US10528626B2 (en) | Document processing | |
CN109284323B (zh) | 检测数据的管理方法及装置 | |
WO2017156916A1 (zh) | 数据访问方法和装置 | |
WO2016101811A1 (zh) | 一种信息排序方法及装置 | |
CN110689268B (zh) | 一种提取指标的方法和装置 | |
US9053134B2 (en) | View variants in database schema mapping | |
EP2842034B1 (en) | Providing client and service compatibility through cloud-hosted adapters | |
US20070220177A1 (en) | Declarations for transformations within service sequences | |
CN113626223A (zh) | 一种接口调用方法和装置 | |
CN105488125A (zh) | 页面访问方法和装置 | |
CN109241384A (zh) | 一种科研信息的可视化方法及装置 | |
CN107515866B (zh) | 一种数据操作方法、装置和*** | |
CN113641700A (zh) | 一种基于Spring boot框架的数据处理方法及装置 | |
CN113238740A (zh) | 代码生成方法、代码生成装置、存储介质及电子设备 | |
CN107423037A (zh) | 应用程序接口定位方法及设备 | |
CN109726295A (zh) | 品牌知识图谱显示方法、装置、图服务器及存储介质 | |
CN108809896A (zh) | 一种信息校验方法、装置和电子设备 | |
CN104021216A (zh) | 消息代理服务器及信息发布订阅方法和*** | |
CN112491943A (zh) | 数据请求方法、装置、存储介质和电子设备 | |
CN115291773B (zh) | 树形结构数据展示方法及装置 | |
US20100083084A1 (en) | Creating electronic data interchange relationships |
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: 20180713 |
|
RJ01 | Rejection of invention patent application after publication |