CN111225018A - 一种请求报文处理方法、装置和电子设备 - Google Patents
一种请求报文处理方法、装置和电子设备 Download PDFInfo
- Publication number
- CN111225018A CN111225018A CN201911010648.6A CN201911010648A CN111225018A CN 111225018 A CN111225018 A CN 111225018A CN 201911010648 A CN201911010648 A CN 201911010648A CN 111225018 A CN111225018 A CN 111225018A
- Authority
- CN
- China
- Prior art keywords
- version
- interface
- request message
- information
- local
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本说明书实施例公开了一种请求报文处理方法、装置和电子设备,其中,具体公开了服务方接口的多版本并存的实现方案,该方法定义了支持的多个版本属性,说明了消费方发起请求时指定接口的版本信息的方式,明确了服务方系统中不同版本的接口定义以及处理程序并存时的数据组织方式,说明了多版本并存时的请求报文处理方式和响应报文组装方式。
Description
技术领域
本说明书涉及计算机软件技术领域,尤其涉及一种请求报文处理方法、装置和电子设备。
背景技术
在面向服务架构、微服务架构、前后端分离架构等组件模型被广泛接受的今天,大部分的后端服务器系统都以服务接口的形式对外提供服务,这些后续服务器系统统称为服务提供方。
随着业务需求的变更与新业务需求扩展,服务提供方一般会针对一类服务提供一个服务接口,这样,在服务提供方有多个服务接口,每个服务接口对应一类服务。
在服务使用方,可能多个客户端使用一个服务接口来实现同类服务,但是,针对一个服务接口而言,当客户端的业务需求发生变化,服务提供方会通过修改服务接口配置的方式来支持有业务需求变化的客户端,这样,必然会影响其他客户端对服务接口的调用。
因此,亟需找到一种服务接口的配置方案,以解决在服务使用方的业务需求发生变化的情况下无法为所有客户端提供合适的服务接口支持。
发明内容
本说明书实施例的目的是提供一种请求报文处理方法、装置和电子设备,以实现服务方可提供满足终端不同业务需求的不同接口版本的支持。
为解决上述技术问题,本说明书实施例是这样实现的:
第一方面,提出了一种请求报文处理方法,包括:
解析接收到的请求报文,得到目标服务接口的接口标识和至少一个接口版本;
基于所述接口标识确定目标服务接口,以及从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息;其中,所述本地版本数据库中存储有至少一个服务接口的不同版本信息;
基于以所述版本信息配置的目标服务接口对所述请求报文进行处理。
第二方面,提出了一种请求报文处理装置,包括:
解析模块,用于解析接收到的请求报文,得到目标服务接口的接口标识和至少一个接口版本;
确定查找模块,用于基于所述接口标识确定目标服务接口,以及从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息;其中,所述本地版本数据库中存储有至少一个服务接口的不同版本信息;
处理模块,用于基于以所述版本信息配置的目标服务接口对所述请求报文进行处理。
第三方面,提出了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
解析接收到的请求报文,得到目标服务接口的接口标识和至少一个接口版本;
基于所述接口标识确定目标服务接口,以及从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息;其中,所述本地版本数据库中存储有至少一个服务接口的不同版本信息;
基于以所述版本信息配置的目标服务接口对所述请求报文进行处理。
第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
解析接收到的请求报文,得到目标服务接口的接口标识和至少一个接口版本;
基于所述接口标识确定目标服务接口,以及从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息;其中,所述本地版本数据库中存储有至少一个服务接口的不同版本信息;
基于以所述版本信息配置的目标服务接口对所述请求报文进行处理。
通过上述技术方案,在服务提供方设置有服务接口的多个接口版本,从而,可以支持服务使用方发起的不同业务需求,并从不同接口版本中选择合适的版本信息配置服务接口,为服务使用方提供业务服务。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的请求报文处理方案所适用场景的示意图。
图2是本说明书实施例提供的采用目录结构存储不同版本组的定义信息的示意图。
图3是本说明书实施例提供的一种请求报文处理方法的步骤示意图之一。
图4是本说明书实施例提供的一种请求报文处理方法的步骤示意图之二。
图5是本说明书的一个实施例提供的电子设备的结构示意图。
图6是本说明书的一个实施例提供的请求报文处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
首先,参照图1所示,为本说明书实施例提供的请求报文处理方案所适用场景的示意图。该适用场景中介绍了请求报文处理方案的系统架构,可以包括:提供接口服务的服务提供方102和使用接口服务的一个或多个服务使用方104(图1中示出多个服务使用方104)。其中,服务提供方102可以提供多种业务服务,包括登录服务、查询服务、支付服务等可以通过处理器进行处理的业务服务。服务提供方102可以根据业务服务种类,配置不同的服务接口,例如,对应上述业务服务类型,配置有登录服务接口、查询服务接口、支付服务接口等。服务使用方104可根据用户使用需求向服务提供方102发送请求报文,服务提供方102根据请求报文调用适配的服务接口对报文内容进行处理。
需要说明的是,在本说明书实施例所涉及的服务提供方102中,预先设置有多个服务接口的不同版本信息,这些版本信息是基于接口版本进行逐级设置的。版本类型以及版本号可以作为索引与版本信息建立映射关系,设置好的版本信息存储在本地版本数据库中。所述版本类型包括:功能版本、格式版本、认证版本、平台版本。
针对每个服务接口,一般可以基于版本类型预先设置以下内容:
功能版本
首先,对功能版本对应的版本信息的格式进行定义,本说明书实施例中使用<major>.<minor>格式,例如:1.0、1.3、2.2。其中,<major>.<minor>可以视为版本信息的版本号,而其中<major>.x可视为版本信息的版本组号。例如:1.0是版本号,其版本组号是1.x;2.2是版本号,其版本组号是2.x。
其次,定义上述格式定义的版本信息遵循以下规则:
1、同一个版本组内,高等级接口版本兼容低等级接口版本;
2、不同版本组之间不兼容。
换言之,<major>.相同,<minor>不同,则高版本兼容低版本,例如,1.3对应的版本信息兼容1.0对应的版本信息。再如,2.1对应的版本信息与1.1对应的版本信息不兼容。
由上述定义可知,本说明书实施例中使用了兼容版本组的设计原理,每个版本组可使用同一套请求定义、响应定义以及处理器,从而增加代码重用。关于版本组号的定义可以参照图2所示,其中,图2示出了采用目录结构存储不同版本组的定义信息,1.x版本组和2.x版本组中分别定义了一套请求定义、响应定义以及处理器。
应理解,在本说明书实施例中,可以使用注解或者外部配置的方式标记各个版本组包含的版本信息,例如,使用以下几个注解在请求、响应定义类上标注版本信息:
-在各个字段上标注@Since,标记字段是从哪个版本开始添加的;
-在请求定义类上标注@Versions,标记当前版本组中包含哪些具体的版本。以使得方便查看源码时能够快速地获知当前版本组中包含的版本信息。
版本组中处理器上没有与版本信息相关的配置,因而,处理器可以实现对该版本组下最高版本的处理,并保持对该版本组中低版本的兼容性。
格式版本
这里所涉及的格式版本,是指报文格式的版本。报文格式一般是指报文使用的是XML格式、JSON格式还是其它某种数据格式;某一种报文格式可以有多个不同的版本。例如,同样是XML格式的报文,又分成1.0和2.0这两种不同的格式版本,两者使用的报文结构和字段均存在较大差异。
与功能版本不同的是,格式版本的差异不需要在每个服务接口上定义,可以由统一的公共模块提供支持,换言之,该格式版本是全局共享的信息。
在实现上,不同的格式版本分别独立自定义解组器(Unmarshaller)、编组器(Marshaller)来支持对不同版本的报文格式的处理。
认证版本
与格式版本类似,认证版本也可以由统一公共模块提供支持,换言之,该认证版本是全局共享的信息。即每种认证方式对应一个认证版本。
本说明书实施例中,将服务接口的格式属性以及认证属性独立出来,分别配置不同的版本,从而为不同业务需求提供灵活多变的多版本服务支持,而且,在对服务接口的服务进行修改调整时,可以不必直接修改服务接口,而是通过配置不同的版本即可实现,更加便捷有效且尽可能降低对其它服务使用方的影响。
平台版本
上述这些版本属性,除了接口的功能版本之外,其他类型的版本属性应该都是一种公共类型的版本属性,都有归一化的趋势,它们的多版本可能都是在系统升级改造的过渡阶段才会存在,在过渡阶段完成之后,对这些公共类型的版本属性中的每一个,服务方系统倾向于只保留对一个版本的支持,而将对旧版本的兼容性支持移除。
为了处理上的方便,对于涉及到除了接口的功能版本之外的其他公共类型的版本属性的较大改动时,可以定义一个新的平台版本,该平台版本可能真的对应于一个新开发的服务方系统(此时发送过来的请求如果指明使用新的平台版本,则自动转发到新的系统),也可能是在老系统中做改造。新的平台版本直接定义好了它对应的各个特定的版本属性的值(例如使用3.0的报文格式,使用2.0的认证方式等),不需要消费方再单独指明各个特定的版本属性的值。
下面结合请求报文处理方案对上述配置改进进行详述。
参照图3所示,为本说明书实施例提供的一种请求报文处理方法的步骤示意图,该方法可以包括:
步骤302:解析接收到的请求报文,得到目标服务接口的接口标识和至少一个接口版本。
其中,所述请求报文是服务使用方在调用服务提供方的服务接口时发送的,在该请求报文或是该请求报文对应的URL中携带有服务使用方希望调用的目标接口的接口标识,以及目标接口的至少一个接口版本。例如,该请求报文对应的URL可以是“http://api.domain.com/serviceName=http://api.domain.com/pay?version=2.1&..”。其中,目标接口是支付服务接口,功能版本是2.1。再如,该请求报文对应的URL可以是“http://api.domain.com/pay?formatVersion=2.0&..”。其中,目标接口是支付服务接口,格式版本是2.0。再如,该请求报文对应的URL可以是“http://api.domain.com/pay?authVersion=2.0&..”,其中,目标接口是支付服务接口,认证版本是2.0。再如,该请求报文对应的URL可以是“http://api.domain.com/v2/pay?..”其中,目标接口是支付服务接口,平台版本是v2。
服务提供方在接收到请求报文后,从所述请求报文中解析出接口标识和版本信息。
举例说明,可以解析出接口标识为:“支付服务”,版本信息可以为:version=2.1(功能版本2.1)、formatVersion=2.0(格式版本2.0)、authVersion=2.0(认证版本2.0)。
应理解,若该请求报文对应的URL中携带的只有一个或部分接口版本,那么,其它未请求的接口版本可以使用默认版本。
步骤304:基于所述接口标识确定目标服务接口,以及从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息;其中,所述本地版本数据库中存储有至少一个服务接口的不同版本信息。
应理解,考虑到在服务提供方预先会设置好各种接口版本的版本信息,因此,一般情况下都可以查找到相适配的版本信息。如果查找不到,则默认出错,返回错误响应给发送请求报文的服务使用方。
可选地,在本说明书实施例中,所述本地版本数据库中不同版本信息按照版本组的定义方式以目录结构存储;其中,同一个版本组内,高等级接口版本兼容低等级接口版本;不同版本组之间不兼容。
一种可实现的方案,所述接口版本包括:版本类型和版本号;
步骤304在从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息时,可具体执行为:
从本地版本数据库中查找与所述至少一个接口版本中版本类型和版本号相同的版本信息。
另一种可实现的方案,所述接口版本包括:版本类型和版本号;
步骤304在从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息时,可具体执行为:
从本地版本数据库中查找与所述至少一个接口版本中版本类型相同,且大于所述版本号的版本信息。
通过该步骤304,可以查找匹配出合适的版本信息。
步骤306:基于以所述版本信息配置的目标服务接口对所述请求报文进行处理。
可选地,所述方法还包括:对本地版本数据库中存储的版本信息进行标记,其中,标记后的版本信息禁止查询调用。
可选地,所述至少一个接口版本中版本类型包括:功能版本、认证版本和格式版本;
基于以所述版本信息配置的目标服务接口对所述请求报文进行处理,主要包括以下步骤,参照图4所示:
步骤402:基于所述版本信息中认证版本对应的版本内容对所述请求报文进行认证。
步骤404:在认证通过后,基于所述版本信息中格式版本对应的版本内容确定支持所述格式版本的编组器和解组器。
步骤406:基于所述版本信息中功能版本对应的版本内容确定支持所述功能版本的功能处理器。
步骤408:基于所述解组器对认证后的所述请求报文进行解组。
需要先将请求报文解组到支持当前功能版本的版本组的请求对象上。此时只将版本信息上存在的字段进行解析,如果请求报文中含有目标接口的版本信息上不存在的字段则报错或者忽略该字段。
步骤410:基于所述功能处理器对解组后的所述请求报文进行处理。
步骤412:基于所述编组器对处理结果进行编组,得到响应报文。
在处理完成后,将响应对象编组成响应报文。此时与请求解组时类似,只将目标服务接口的版本信息上存在的字段编组到响应报文中。
通过上述技术方案,在服务提供方设置有服务接口的多个接口版本,从而,可以支持服务使用方发起的不同业务需求,并从不同接口版本中选择合适的版本信息配置服务接口,为服务使用方提供业务服务。
图5是本说明书的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成共享资源访问控制装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
解析接收到的请求报文,得到目标服务接口的接口标识和至少一个接口版本;
基于所述接口标识确定目标服务接口,以及从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息;其中,所述本地版本数据库中存储有至少一个服务接口的不同版本信息;
基于以所述版本信息配置的目标服务接口对所述请求报文进行处理。
上述如本说明书图1、图2所示实施例揭示的请求报文处理装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1的方法,并实现请求报文处理装置在图1、图2所示实施例的功能,本说明书实施例在此不再赘述。
当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
通过上述技术方案,在服务提供方设置有服务接口的多个接口版本,从而,可以支持服务使用方发起的不同业务需求,并从不同接口版本中选择合适的版本信息配置服务接口,为服务使用方提供业务服务。
本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下方法:
解析接收到的请求报文,得到目标服务接口的接口标识和至少一个接口版本;
基于所述接口标识确定目标服务接口,以及从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息;其中,所述本地版本数据库中存储有至少一个服务接口的不同版本信息;
基于以所述版本版本信息配置的目标服务接口对所述请求报文进行处理。
通过上述技术方案,在服务提供方设置有服务接口的多个接口版本,从而,可以支持服务使用方发起的不同业务需求,并从不同接口版本中选择合适的版本信息配置服务接口,为服务使用方提供业务服务。
图6为本说明书的一个实施例提供的辅助用户成为目标类用户的装置600的结构示意图。请参考图6,在一种软件实施方式中,请求报文处理装置600可包括:
解析模块602,用于解析接收到的请求报文,得到目标服务接口的接口标识和至少一个接口版本;
确定查找模块604,用于基于所述接口标识确定目标服务接口,以及从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息;其中,所述本地版本数据库中存储有至少一个服务接口的不同版本信息;
处理模块606,用于基于以所述版本信息配置的目标服务接口对所述请求报文进行处理。
通过上述技术方案,在服务提供方设置有服务接口的多个接口版本,从而,可以支持服务使用方发起的不同业务需求,并从不同接口版本中选择合适的版本信息配置服务接口,为服务使用方提供业务服务。
在本说明书实施例的一种具体实现方式中,所述本地版本数据库中不同版本信息按照版本组的定义方式以目录结构存储;其中,同一个版本组内,高等级接口版本兼容低等级接口版本;不同版本组之间不兼容。
在本说明书实施例的一种具体实现方式中,所述接口版本包括:版本类型和版本号;
所述确定查找模块604在从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息时,具体用于:
从本地版本数据库中查找与所述至少一个接口版本中版本类型和版本号相同的版本信息。
在本说明书实施例的一种具体实现方式中,所述接口版本包括:版本类型和版本号;
所述确定查找模块604在从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息时,具体用于:
从本地版本数据库中查找与所述至少一个接口版本中版本类型相同,且大于所述版本号的版本信息。
在本说明书实施例的一种具体实现方式中,所述版本类型包括:平台版本、功能版本、认证版本、格式版本;其中,所述平台版本包括认证版本和格式版本。
在本说明书实施例的一种具体实现方式中,所述版本信息中的格式版本对应的版本内容为本地全局共享信息。
在本说明书实施例的一种具体实现方式中,所述至少一个接口版本中版本类型包括:功能版本、认证版本和格式版本;
所述处理模块606在基于以所述版本信息配置的目标服务接口对所述请求报文进行处理时,具体用于:
基于所述版本信息中认证版本对应的版本内容对所述请求报文进行认证;
在认证通过后,基于所述版本信息中格式版本对应的版本内容确定支持所述格式版本的编组器和解组器;
基于所述版本信息中功能版本对应的版本内容确定支持所述功能版本的功能处理器;
基于所述解组器对认证后的所述请求报文进行解组;
基于所述功能处理器对解组后的所述请求报文进行处理;
基于所述编组器对处理结果进行编组,得到响应报文。
在本说明书实施例的一种具体实现方式中,所述装置还包括:
标记模块,用于对本地版本数据库中存储的版本信息进行标记,其中,标记后的版本信息禁止查询调用。
应理解,本说明书实施例的请求报文处理装置还可执行图1-图2中请求报文处理装置(或设备)执行的方法,并实现请求报文处理装置(或设备)在图1-图2所示实施例的功能,在此不再赘述。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (10)
1.一种请求报文处理方法,其特征在于,包括:
解析接收到的请求报文,得到目标服务接口的接口标识和至少一个接口版本;
基于所述接口标识确定目标服务接口,以及从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息;其中,所述本地版本数据库中存储有至少一个服务接口的不同版本信息;
基于以所述版本信息配置的目标服务接口对所述请求报文进行处理。
2.如权利要求1所述的方法,其特征在于,所述本地版本数据库中不同版本信息按照版本组的定义方式以目录结构存储;其中,同一个版本组内,高等级接口版本兼容低等级接口版本;不同版本组之间不兼容。
3.如权利要求1所述的方法,其特征在于,所述接口版本包括:版本类型和版本号;
从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息,具体包括:
从本地版本数据库中查找与所述至少一个接口版本中版本类型和版本号相同的版本信息;或者,
从本地版本数据库中查找与所述至少一个接口版本中版本类型相同,且大于所述版本号的版本信息。
4.如权利要求3所述的方法,其特征在于,所述版本类型包括:平台版本、功能版本、认证版本、格式版本;其中,所述平台版本包括认证版本和格式版本。
5.如权利要求4所述的方法,其特征在于,所述版本信息中的格式版本对应的版本内容为本地全局共享信息。
6.如权利要求4所述的方法,其特征在于,所述至少一个接口版本中版本类型包括:功能版本、认证版本和格式版本;
基于以所述版本信息配置的目标服务接口对所述请求报文进行处理,具体包括:
基于所述版本信息中认证版本对应的版本内容对所述请求报文进行认证;
在认证通过后,基于所述版本信息中格式版本对应的版本内容确定支持所述格式版本的编组器和解组器;
基于所述版本信息中功能版本对应的版本内容确定支持所述功能版本的功能处理器;
基于所述解组器对认证后的所述请求报文进行解组;
基于所述功能处理器对解组后的所述请求报文进行处理;
基于所述编组器对处理结果进行编组,得到响应报文。
7.如权利要求1所述的方法,其特征在于,所述方法还包括:
对本地版本数据库中存储的版本信息进行标记,其中,标记后的版本信息禁止查询调用。
8.一种请求报文处理装置,其特征在于,包括:
解析模块,用于解析接收到的请求报文,得到目标服务接口的接口标识和至少一个接口版本;
确定查找模块,用于基于所述接口标识确定目标服务接口,以及从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息;其中,所述本地版本数据库中存储有至少一个服务接口的不同版本信息;
处理模块,用于基于以所述版本信息配置的目标服务接口对所述请求报文进行处理。
9.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
解析接收到的请求报文,得到目标服务接口的接口标识和至少一个接口版本;
基于所述接口标识确定目标服务接口,以及从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息;其中,所述本地版本数据库中存储有至少一个服务接口的不同版本信息;
基于以所述版本信息配置的目标服务接口对所述请求报文进行处理。
10.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
解析接收到的请求报文,得到目标服务接口的接口标识和至少一个接口版本;
基于所述接口标识确定目标服务接口,以及从本地版本数据库中查找与所述至少一个接口版本相适配的版本信息;其中,所述本地版本数据库中存储有至少一个服务接口的不同版本信息;
基于以所述版本信息配置的目标服务接口对所述请求报文进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911010648.6A CN111225018A (zh) | 2019-10-23 | 2019-10-23 | 一种请求报文处理方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911010648.6A CN111225018A (zh) | 2019-10-23 | 2019-10-23 | 一种请求报文处理方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111225018A true CN111225018A (zh) | 2020-06-02 |
Family
ID=70832325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911010648.6A Pending CN111225018A (zh) | 2019-10-23 | 2019-10-23 | 一种请求报文处理方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111225018A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112887389A (zh) * | 2021-01-20 | 2021-06-01 | 上海商米科技集团股份有限公司 | 一种基于版本的设备互操作方法、系统、装置和存储介质 |
CN113852635A (zh) * | 2021-09-26 | 2021-12-28 | 招商银行股份有限公司 | 任务处理方法、装置、终端设备及存储介质 |
CN115695555A (zh) * | 2022-09-06 | 2023-02-03 | 恒生电子股份有限公司 | 接口调用方法、系统、处理设备及存储介质 |
US20230107783A1 (en) * | 2020-03-26 | 2023-04-06 | Autonetworks Technologies, Ltd. | In-vehicle information processing apparatus, information processing method, and server program |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090319651A1 (en) * | 2008-06-23 | 2009-12-24 | International Business Machines Corporation | System and method for hosting one or more versions of a service using a service proxy |
US20100269104A1 (en) * | 2009-04-16 | 2010-10-21 | International Business Machines Corporation | System and Methods for Generic Data Marshalling without Object Modification |
US7949999B1 (en) * | 2007-08-07 | 2011-05-24 | Amazon Technologies, Inc. | Providing support for multiple interface access to software services |
CN103856559A (zh) * | 2014-02-13 | 2014-06-11 | 北京东方通科技股份有限公司 | 多版本并存的web服务工作方法和系统 |
CN104601592A (zh) * | 2015-01-31 | 2015-05-06 | 华为技术有限公司 | 一种接入云服务的方法及接入设备 |
CN105704562A (zh) * | 2016-03-29 | 2016-06-22 | Tcl集团股份有限公司 | 一种网络电视云服务平台的多版本兼容方法及装置 |
CN107526777A (zh) * | 2017-07-21 | 2017-12-29 | 阿里巴巴集团控股有限公司 | 一种基于版本号对文件进行处理的方法及设备 |
CN107894895A (zh) * | 2017-11-06 | 2018-04-10 | 网易(杭州)网络有限公司 | 代码更新的处理方法、装置、存储介质、处理器及服务器 |
CN108279987A (zh) * | 2018-01-19 | 2018-07-13 | 口碑(上海)信息技术有限公司 | 应用程序的版本管理方法及装置 |
CN109120421A (zh) * | 2017-06-22 | 2019-01-01 | 中兴通讯股份有限公司 | 一种接口适配方法、装置、系统及存储介质 |
-
2019
- 2019-10-23 CN CN201911010648.6A patent/CN111225018A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7949999B1 (en) * | 2007-08-07 | 2011-05-24 | Amazon Technologies, Inc. | Providing support for multiple interface access to software services |
US20090319651A1 (en) * | 2008-06-23 | 2009-12-24 | International Business Machines Corporation | System and method for hosting one or more versions of a service using a service proxy |
US20100269104A1 (en) * | 2009-04-16 | 2010-10-21 | International Business Machines Corporation | System and Methods for Generic Data Marshalling without Object Modification |
CN103856559A (zh) * | 2014-02-13 | 2014-06-11 | 北京东方通科技股份有限公司 | 多版本并存的web服务工作方法和系统 |
CN104601592A (zh) * | 2015-01-31 | 2015-05-06 | 华为技术有限公司 | 一种接入云服务的方法及接入设备 |
CN105704562A (zh) * | 2016-03-29 | 2016-06-22 | Tcl集团股份有限公司 | 一种网络电视云服务平台的多版本兼容方法及装置 |
CN109120421A (zh) * | 2017-06-22 | 2019-01-01 | 中兴通讯股份有限公司 | 一种接口适配方法、装置、系统及存储介质 |
CN107526777A (zh) * | 2017-07-21 | 2017-12-29 | 阿里巴巴集团控股有限公司 | 一种基于版本号对文件进行处理的方法及设备 |
CN107894895A (zh) * | 2017-11-06 | 2018-04-10 | 网易(杭州)网络有限公司 | 代码更新的处理方法、装置、存储介质、处理器及服务器 |
CN108279987A (zh) * | 2018-01-19 | 2018-07-13 | 口碑(上海)信息技术有限公司 | 应用程序的版本管理方法及装置 |
Non-Patent Citations (1)
Title |
---|
WEIXIN_30753873: "APP接口版本兼容的问题", 《CSDN》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230107783A1 (en) * | 2020-03-26 | 2023-04-06 | Autonetworks Technologies, Ltd. | In-vehicle information processing apparatus, information processing method, and server program |
CN112887389A (zh) * | 2021-01-20 | 2021-06-01 | 上海商米科技集团股份有限公司 | 一种基于版本的设备互操作方法、系统、装置和存储介质 |
CN112887389B (zh) * | 2021-01-20 | 2022-12-23 | 上海商米科技集团股份有限公司 | 一种基于版本的设备互操作方法、系统、装置和存储介质 |
CN113852635A (zh) * | 2021-09-26 | 2021-12-28 | 招商银行股份有限公司 | 任务处理方法、装置、终端设备及存储介质 |
CN115695555A (zh) * | 2022-09-06 | 2023-02-03 | 恒生电子股份有限公司 | 接口调用方法、系统、处理设备及存储介质 |
CN115695555B (zh) * | 2022-09-06 | 2023-09-12 | 恒生电子股份有限公司 | 接口调用方法、系统、处理设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108520454B (zh) | 实时回调订单的方法和系统 | |
CN111225018A (zh) | 一种请求报文处理方法、装置和电子设备 | |
CN109639636B (zh) | 业务数据转发、业务数据处理方法、装置及电子设备 | |
US20190303088A1 (en) | Transferring an application interface from one device to another device | |
CN108600326B (zh) | 通信方法、装置及设备 | |
CN109298926B (zh) | 资源转移方入驻资源转移平台的方法、装置及电子设备 | |
US20120096366A1 (en) | Technique for handling urls for different mobile devices that use different user interface platforms | |
CN107066519B (zh) | 一种任务检测方法及装置 | |
CN110716783A (zh) | 一种前端页面生成、部署方法及装置、存储介质和设备 | |
CN111786984B (zh) | Pod通信连接方法、装置及电子设备、存储介质 | |
CN113495797B (zh) | 一种消息队列及消费者动态创建方法及系统 | |
CN114064690A (zh) | 数据处理方法及装置 | |
US20210248654A1 (en) | Social network-based inventory management | |
CN111639279A (zh) | 图形码生成方法、目标页面加载方法和装置 | |
CN112579898A (zh) | 企业信息的管理方法、装置及服务器 | |
WO2023000952A1 (zh) | 基于邮箱的票据处理 | |
CN110019444B (zh) | 一种操作请求处理方法、装置、设备及系统 | |
CN111694639A (zh) | 进程容器地址的更新方法、装置和电子设备 | |
CN109901991B (zh) | 一种分析异常调用的方法、装置和电子设备 | |
CN110851207A (zh) | 状态转换管理方法、装置、电子设备和计算机可读存储介质 | |
CN107368293B (zh) | 页面结构生成方法、页面截图上报方法、装置及系统 | |
CN114268538A (zh) | 前端路由的配置方法和装置 | |
CN111797334B (zh) | 一种网址访问方法、装置、电子设备及存储介质 | |
CN112751935A (zh) | 请求处理方法、装置、电子设备及存储介质 | |
CN111666074B (zh) | 一种web应用定制的方法、相关装置及系统 |
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: 20200602 |
|
RJ01 | Rejection of invention patent application after publication |