CN115695555A - 接口调用方法、系统、处理设备及存储介质 - Google Patents

接口调用方法、系统、处理设备及存储介质 Download PDF

Info

Publication number
CN115695555A
CN115695555A CN202211096280.1A CN202211096280A CN115695555A CN 115695555 A CN115695555 A CN 115695555A CN 202211096280 A CN202211096280 A CN 202211096280A CN 115695555 A CN115695555 A CN 115695555A
Authority
CN
China
Prior art keywords
interface
server
client
version number
communicated
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
Application number
CN202211096280.1A
Other languages
English (en)
Other versions
CN115695555B (zh
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.)
Hundsun Technologies Inc
Original Assignee
Hundsun Technologies Inc
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 Hundsun Technologies Inc filed Critical Hundsun Technologies Inc
Priority to CN202211096280.1A priority Critical patent/CN115695555B/zh
Publication of CN115695555A publication Critical patent/CN115695555A/zh
Application granted granted Critical
Publication of CN115695555B publication Critical patent/CN115695555B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本申请的实施例提供了一种接口调用方法、系统、处理设备及存储介质,涉及计算机技术领域。服务器接收客户端发送的请求消息,请求消息包括:客户端接口版本号;将客户端接口版本号与服务器最低接口版本号相比较;若客户端接口版本号大于或等于服务器最低接口版本号,则向客户端发送应答报文,应答报文包括:服务器接口最高版本号;建立服务器的待通信接口与客户端的待通信接口的通信连接。服务器能够根据客户端发送的客户端接口版本号,直接、准确地确定客户端的接口的版本信息,提升了服务器的处理效率,还能够在服务器维持一个服务器最低接口版本号,仅通过维护大于最低版本号的接口,与客户端建立通信,减少了代码冗余。

Description

接口调用方法、系统、处理设备及存储介质
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种接口调用方法、系统、处理设备及存储介质。
背景技术
结构化数据接口(Structured Data Interface,简称SDI)是客户端和服务端、系统与系统之间的访问交互接口,能够减少访问过程中因打包、解包过程导致的性能损耗。结构化接口虽然可以进行高性能的存取,但接口随着版本进行的变动,可能会因服务器与客户端的接口版本不一致,产生接口兼容性问题导致系统处理异常。
现有技术中,一般由服务器根据客户端接口的结构属性,来判断客户端接口对应的版本信息,如通过识别接口的结构体的长度,或者某一字段的特征,来确定与该长度、字段对应的版本信息。这个识别过程需要能够唯一标识接口的结构属性,导致准确率较低。并且,目前,服务器为了提升对接口的版本兼容性,也会将接口不再调用的历史版本保存,使得服务器中产生大量的代码冗余。
发明内容
本申请提供了一种接口调用方法、系统、处理设备及存储介质,服务器能够根据客户端发送的客户端接口版本号,直接、准确地确定客户端的接口的版本信息,提升了服务器的处理效率,还能够在服务器维持一个服务器最低接口版本号,仅通过维护大于最低版本号的接口,与客户端建立通信,减少了代码冗余。
本申请的实施例可以这样实现:
第一方面,本申请实施例提供一种接口调用方法,应用于接口调用系统中的服务器,所述接口调用系统包括:所述服务器以及至少一个客户端,所述服务器分别与至少一个所述客户端通信连接;
所述方法包括:
接收所述客户端发送的请求消息,所述请求消息包括:客户端接口版本号,所述客户端接口版本号表征所述客户端中待通信接口对应的版本信息;
将所述客户端接口版本号与服务器最低接口版本号相比较,所述服务器最低接口版本号用于表征所述服务器中所述待通信接口对应的最低版本信息;
若所述客户端接口版本号大于或等于所述服务器最低接口版本号,则向所述客户端发送应答报文,所述应答报文包括:服务器接口最高版本号,所述服务器接口最高版本号用于表征所述服务器的待通信接口对应的最高版本信息;
建立所述服务器的待通信接口与所述客户端的待通信接口的通信连接。
在一种可选的实施方式中,所述建立所述服务器的目标接口与所述客户端的目标接口的通信连接,包括:
接收所述客户端发送的通信报文,所述通信报文包括:客户端当前接口版本号,所述客户端当前接口版本号用于表征所述客户端的待通信接口对应的当前版本信息;
根据所述通信报文,建立所述服务器的待通信接口与所述客户端的待通信接口的通信连接。
在一种可选的实施方式中,所述根据所述通信报文,建立所述服务器的待通信接口与所述客户端的待通信接口的通信连接,包括:
基于所述客户端当前接口版本号对应的版本信息,与所述客户端的待通信接口进行通讯。
在一种可选的实施方式中,若所述客户端接口版本号小于所述服务器最低接口版本号,则向所述客户端发送登录错误报文,所述登录错误报文包括:所述服务器最低接口版本号。
在一种可选的实施方式中,所述方法还包括:
定期对所述待通信接口对应的各接口版本号进行检测,并将各接口版本号中小于所述服务器最低接口版本号对应的版本信息删除。
第二方面,本申请实施例提供一种接口调用方法,应用于接口调用系统中的客户端,所述接口调用系统包括:服务器以及至少一个所述客户端,所述服务器分别与至少一个所述客户端通信连接;
所述方法包括:
向所述服务器发送请求消息,所述请求消息包括:客户端接口版本号,所述客户端接口版本号表征所述客户端中待通信接口对应的版本信息;
根据所述服务器发送的应答报文,建立所述客户端的待通信接口与所述服务器的待通信接口的连接,所述应答报文包括:服务器接口最高版本号,所述服务器接口最高版本号用于表征所述服务器的待通信接口对应的最高版本信息。
在一种可选的实施方式中,所述根据所述服务器发送的应答报文,建立所述客户端的待通信接口与所述服务器的待通信接口的连接,包括:
接收所述服务器发送的应答报文;
判断所述待通信接口对应的服务器最高接口版本号是否小于所述待通信接口对应的客户端接口版本号;
若是,则降低所述待通信接口对应的接口版本;
向所述服务器发送通信报文。
第三方面,本申请实施例提供一种接口调用系统,包括:所述服务器以及至少一个客户端,所述服务器分别与至少一个所述客户端通信连接;
所述服务器用于,执行第一方面中任一项所述的接口调用方法,建立所述服务器的待通信接口与所述客户端的待通信接口的通信连接;
所述客户端用于,执行第二方面中任一项所述的接口调用方法,建立所述服务器的待通信接口与所述客户端的待通信接口的通信连接。
第四方面,本申请实施例提供一种第一接口调用装置,用于实现上述实施例中第一方面的接口调用方法的步骤,包括:
消息接收模块,用于接收所述客户端发送的请求消息,所述请求消息包括:客户端接口版本号,所述客户端接口版本号表征所述客户端中待通信接口对应的版本信息;
版本号比较模块,用于将所述客户端接口版本号与服务器最低接口版本号相比较,所述服务器最低接口版本号用于表征所述服务器中所述待通信接口对应的最低版本信息;
应答模块,若所述客户端接口版本号大于或等于所述服务器最低接口版本号,则向所述客户端发送应答报文,所述应答报文包括:服务器接口最高版本号,所述服务器接口最高版本号用于表征所述服务器的待通信接口对应的最高版本信息。
连接模块,用于建立所述服务器的待通信接口与所述客户端的待通信接口的通信连接。
所述连接模块具体还用于,接收所述客户端发送的通信报文,所述通信报文包括:客户端当前接口版本号,所述客户端当前接口版本号用于表征所述客户端的待通信接口对应的当前版本信息;根据所述通信报文,建立所述服务器的待通信接口与所述客户端的待通信接口的通信连接。
所述连接模块具体还用于,基于所述客户端当前接口版本号对应的版本信息,与所述客户端的待通信接口进行通讯。
所述应答模块具体还用于,若所述客户端接口版本号小于所述服务器最低接口版本号,则向所述客户端发送登录错误报文,所述登录错误报文包括:所述服务器最低接口版本号。
版本号检测模块,用于定期对所述待通信接口对应的各接口版本号进行检测,并将各接口版本号中小于所述服务器最低接口版本号对应的版本信息删除。
第五方面,本申请实施例提供一种第二接口调用装置,用于实现上述实施例中第二方面的接口调用方法的步骤,包括:
请求发送模块,用于向所述服务器发送请求消息,所述请求消息包括:客户端接口版本号,所述客户端接口版本号表征所述客户端中待通信接口对应的版本信息;
接口连接模块,用于根据所述服务器发送的应答报文,建立所述客户端的待通信接口与所述服务器的待通信接口的连接,所述应答报文包括:服务器接口最高版本号,所述服务器接口最高版本号用于表征所述服务器的待通信接口对应的最高版本信息。
所述接口连接模块具体还用于,接收所述服务器发送的应答报文;判断所述待通信接口对应的服务器最高接口版本号是否小于所述待通信接口对应的客户端接口版本号;若是,则降低所述待通信接口对应的接口版本;向所述服务器发送通信报文。
第六方面,本申请提供一种处理设备,所述处理设备包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述处理设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行第一方面中任一项所述的接口调用方法或第二方面中任一项所述的接口调用方法的步骤。
第七方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现如第一方面中任一项所述的接口调用方法或第二方面中任一项所述的接口调用方法的步骤。
本申请实施例的有益效果包括:
采用本申请实施例提供的接口调用方法、系统、处理设备及存储介质,首先,服务器端能够直接根据客户端发送的客户端接口版本号,判断待通信接口的版本信息,而不必匹配待通信接口的特征,提高了服务器对接口版本识别的效率和准确率。其次,服务器设置了服务器最低接口版本号,仅能与客户端接口版本号大于或等于最低版本号的客户端通信,减少了服务器维护的接口的版本数量,减少了服务器的代码冗余。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的接口调用系统的结构示意图;
图2为本申请实施例提供的接口调用方法的交互流程示意图;
图3为本申请实施例提供的接口调用方法的服务器的执行步骤流程图;
图4为本申请实施例提供的接口调用方法的客户端的执行步骤流程图;
图5为本申请实施例提供的接口调用方法的又一交互流程示意图;
图6为本申请实施例提供的第一接口调用装置的结构示意图;
图7为本申请实施例提供的第二接口调用装置的结构示意图;
图8为本申请实施例提供的处理设备的结构示意图。
图标:101-服务器;1021-第一客户端;1022-第二客户端;1023-第三客户端;100-第一接口调用装置;1001-消息接收模块;1002-版本号比较模块;1003-应答模块;1004-连接模块;1005-版本号检测模块;110-第二接口调用装置;1101-请求发送模块;1102-接口连接模块;2001-处理器;2002-存储器。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
结构化数据接口能够将数据和功能分离,是客户端和服务端之间交互访问接口的统一的功能框架或格式,客户端、服务端在进行通信时,能够将交互的数据以结构化数据接口所定义的框架或格式发送,以减少访问过程中因打包、解包过程导致的性能损耗。
为满足系统的升级,或者需求的变更的需要,服务器可能会对已定义的结构化数据接口进行修改,使现有的结构化数据接口的格式发生变动。但与该服务器连接的客户端可能有多个,各客户端中所存储的数据接口的版本可能相互之间并不同步,因此,服务器为维持对多个客户端的接口版本的兼容性,对于各个数据接口,均会存储多个对应的接口版本。
当客户端向服务器通过某一结构化数据接口进行通信时,服务器将通过识别客户端发送的结构化数据接口的结构体的长度,或者某一字段的特征,来确定与该长度、字段对应的版本信息。这个识别过程需要能够唯一标识接口的结构属性,导致准确率较低。
而且,服务器维护的多个接口,难以直接通过特征判断版本的更新时间,因此,服务器可能会存储、维护多个早已不再使用的数据接口的接口版本,造成服务器的代码冗余。
基于此,本申请实施例提出了一种接口调用方法、系统、处理设备及存储介质,服务器能够根据客户端发送的客户端接口版本号,直接、准确地确定客户端的接口的版本信息,提升了服务器的处理效率,还能够在服务器维持一个服务器最低接口版本号,仅通过维护大于最低版本号的接口,与客户端建立通信,减少了代码冗余。
如下结合多个具体示例,对本申请实施例提供的一种接口调用方法、系统、处理设备及存储介质进行解释说明。
图1所示为本申请实施例提供的接口调用系统,包括:服务器以及至少一个客户端,服务器分别与至少一个客户端通信连接。
服务器用于,执行下述实施例中由服务器执行的接口调用方法,建立服务器的待通信接口与客户端的待通信接口的通信连接。
客户端用于,执行下述实施例中的由客户端执行的接口调用方法,建立服务器的待通信接口与客户端的待通信接口的通信连接。
需要说明的是,与服务器连接的客户端的数量为至少一个,其具体数量根据使用需要以及服务器的承载能力设置。参阅图1,本申请实施例中以客户端的数量为3个进行说明。
服务器101包含至少一个接口,各客户端与服务器进行通信的接口可能不同。本申请实施例中,以服务器包含两个接口:A接口和B接口为例进行说明。
其中,第一客户端1021、第二客户端1022与服务器101通过A接口通信连接,第三客户端1023通过B接口与服务器101通过B接口通信连接。
需要说明的是,服务器101对维护的不同接口设置了不同的接口版本号范围,且这一接口版本号也被客户端维护。也就是说,对于同一接口的同一接口版本,在服务器101、客户端所对应的接口版本号是相同的。对于某一接口,服务器101存储了多个对应于该接口的接口版本,服务器101将以某一接口版本为起点,对晚于该接口版本的各接口版本按照更新的时间顺序进行接口版本号的编号。这一编号体系也将同步至各客户端,由客户端根据自身的接口版本号,确定自身对于该接口的版本信息。
下面,参照图1,对客户端、服务器101所维护的接口版本号出现几种不同情况时,服务器101、客户端之间的通信过程进行说明。
情况一:若第一客户端1021的A接口的客户端接口版本号为5,服务器101的A接口的服务器最低接口版本号为3,A接口的服务器最高版本号为8,由于第一客户端1021、服务器101之间通信的是A接口,则服务器101不考虑B接口的服务器最低接口版本号、服务器最高版本号。
首先,第一客户端1021将A接口的客户端接口版本号,即5加入请求消息中,发送至服务器101。
服务器101将该客户端接口版本号与服务器最低版本号,即3比较后,确认客户端接口版本号大于服务器最低版本号,能够继续与第一客户端1021建立通信,将A接口的服务器最高版本号加入至应答报文发送至第一客户端1021。
第一客户端1021将接收到的A接口的服务器最高版本号,即8与A接口的客户端版本号,即5进行比较,确定A接口的客户端版本号小于服务器最高版本号,则可以继续以A接口的客户端版本号对应的版本向服务器101发送通信报文,以通过A接口建立客户端、服务器之间的通信。
情况二:若第二客户端1022的A接口的客户端接口版本号为7,服务器101的A接口的服务器最低接口版本号为2,A接口的服务器最高版本号为6,由于第二客户端1022、服务器101之间通信的是A接口,则服务器101不考虑B接口的服务器最低接口版本号、服务器最高版本号。
首先,第二客户端1022将A接口的客户端接口版本号,即7加入请求消息中,发送至服务器101。
服务器101将该客户端接口版本号与A接口的服务器最低版本号,即4比较后,确认客户端接口版本号大于服务器最低版本号,能够继续与第二客户端1022建立通信,将A接口的服务器最高版本号加入至应答报文发送至第一客户端1022。
第二客户端1022将接收到的A接口的服务器最高版本号,即6与A接口的客户端版本号,即7进行比较,确定A接口的客户端版本号大于服务器最高版本号,则直接退出第二客户端1022当前使用A接口的接口版本,并报错,直至将A接口装载了小于或等于服务器最高版本号,即6的接口版本为止。
情况三:若第三客户端1023的B接口的客户端接口版本号为2,服务器101的B接口的服务器最低接口版本号为4,B接口的服务器最高版本号为6,由于第三客户端1023、服务器101之间通信的是B接口,则服务器101不考虑A接口的服务器最低接口版本号、服务器最高版本号。
首先,第三客户端1023将B接口的客户端接口版本号,即2加入请求消息中,发送至服务器101。
服务器101将该客户端接口版本号与B接口的服务器最低版本号,即4比较后,确认客户端接口版本号小于服务器最低版本号,不能够进行继续通信,则向第三客户端1023发送登录错误报文,告知第三客户端1023,B接口在服务器101的服务器最低接口版本号。
另外,需要说明的是,各客户端可与服务器101分别通过不同的接口进行不同的通信,对于不同的客户端发送的请求消息,服务器101能够依次分别处理。
参见图2,图2示出了本申请实施例提供的一种接口调用方法的交互流程示意图,如图2所示,该方法包括如下步骤:
步骤1,客户端向服务器发送请求消息。
相应地,服务器收到客户端发送的请求消息。
步骤2,服务器将客户端接口版本号与服务器最低接口版本号相比较。
服务器最低接口版本号用于表征服务器中待通信接口对应的最低版本信息。
步骤3,若客户端接口版本号大于或等于服务器最低接口版本号,则服务器向客户端发送应答报文。
应答报文包括:服务器接口最高版本号,服务器接口最高版本号用于表征服务器的待通信接口对应的最高版本信息。
相应地,客户端接收服务器发送的应答报文。
步骤4,客户端根据服务器发送的应答报文,建立客户端的待通信接口与服务器的待通信接口的连接。
步骤5,服务器建立服务器的待通信接口与客户端的待通信接口的通信连接。
其中,对于服务器,图3为服务器执行接口调用方法的步骤流程示意图,如图3所示,该方法包括如下步骤:
S201,接收客户端发送的请求消息。
请求消息包括:客户端接口版本号,客户端接口版本号表征客户端中待通信接口对应的版本信息。
可选地,请求消息中还可以包括:客户端与服务器通信的待通信接口的接口标识、客户端标识等,当然,不以此为限。
对于待通信接口的不同版本的接口版本号,由服务器设置,服务器将以某一接口版本为起点,对在该接口版本之后更新的接口版本,按照时间顺序依次进行编号。服务器建立了待通信接口的各个接口版本与接口版本号的对应关系后,可以将各接口版本的接口版本号写入各接口版本的更新包中,这样,客户端在对待通信接口进行更新时,可通过更新包中的接口版本号确定待通信接口的版本信息,并将最近一次更新的接口版本号作为当前阶段的客户端接口版本号。
S202,将客户端接口版本号与服务器最低接口版本号相比较。
服务器最低接口版本号用于表征服务器中待通信接口对应的最低版本信息。
服务器最低接口版本号是服务器维护的待通信接口,对应的多个接口版本中的最低版本所对应的接口版本号。
服务器收到客户端发送的请求消息后,将客户端接口版本号提取出来,并将客户端接口版本号,与该客户端接口版本号所对应的待通信接口在服务器对应的服务器最低接口版本号相比较,以进一步确定能否与该客户端通信。
S203,若客户端接口版本号大于或等于服务器最低接口版本号,则向客户端发送应答报文。
应答报文包括:服务器接口最高版本号,服务器接口最高版本号用于表征服务器的待通信接口对应的最高版本信息。
若对于待通信接口,客户端接口版本号大于服务器最低版本号,则说明服务器上存储了客户端接口版本号对应的待通信接口的接口版本,则服务器支持通过待通信接口以客户端接口版本号对应的接口版本进行通信,如上述实施例中的情况一、情况二。那么,服务器就将自身存储待通信接口的多个接口版本中,最新一次更新的接口版本的接口版本号作为服务器接口最高版本号,发送至客户端。
可选地,下面给出一种服务器对比客户端接口版本号与服务器最低版本号的可能实现方式:
Figure BDA0003834711750000151
Figure BDA0003834711750000161
S204,建立服务器的待通信接口与客户端的待通信接口的通信连接。
若客户端确认可以与服务器接口版本号建立连接,则进一步与服务器建立通信连接,服务器继续与客户端以通过待通信接口,以客户端接口版本号进行通信,其具体通信过程在下述实施例中详述。
其中,对于客户端,图4为客户端执行接口调用方法的步骤流程示意图,如图4所示,该方法包括如下步骤:
S301,向服务器发送请求消息。
请求消息包括:客户端接口版本号,客户端接口版本号表征客户端中待通信接口对应的版本信息。
客户端可以主动发送,或由服务器呼叫后,向服务器发送请求消息,该请求消息中包括:服务器当前阶段的服务器接口版本号。
可选地,下面给出一种请求消息可能的形式:
Figure BDA0003834711750000171
S302,根据服务器发送的应答报文,建立客户端的待通信接口与服务器的待通信接口的连接。
客户端将对应答报文中的待通信接口在服务器的服务器最高接口版本号进行提取,并分析服务器最高接口版本号,与自身存储的客户端接口版本号是否兼容,若是,则继续通过待通信接口,以客户端接口版本号与服务器建立通信连接。
在本实施例中,服务器能够根据客户端发送的客户端接口版本号,直接、准确地确定客户端的接口的版本信息,提升了服务器的处理效率,还能够在服务器维持一个服务器最低接口版本号,仅通过维护大于最低版本号的接口,与客户端建立通信,减少了代码冗余。
以上实施例说明了服务器与客户端在建立通信连接前,服务器判断能否以客户端接口版本号,通过待通信接口与客户端建立通信的过程。下面,如图5所示,对客户端判断能否以客户端接口版本号,通过待通信接口与服务器建立通信的过程进行说明。
S401,客户端接收服务器发送的应答报文。
由上述实施例,若服务器确定自身可能存储有待通信接口的客户端接口版本号所对应的接口版本,则可将待通信接口的最高接口版本号添加至应答报文,并根据客户端的客户端标识,发送至对应的客户端。
S402,客户端判断待通信接口对应的服务器最高接口版本号是否小于待通信接口对应的客户端接口版本号。
客户端将应答报文中的最高接口版本号与客户端接口版本号进行比较。若最高接口版本号大于或等于客户端接口版本号,则可以认为服务器中存储了客户端接口版本号对应的待通信接口的接口版本,可以兼容客户端的待通信接口,则能够继续与客户端通信。
S403,若是,则客户端降低待通信接口对应的接口版本。
反之,若最高接口版本号小于客户端接口版本号,则可以认为服务器中未存储客户端接口版本号对应的待通信接口的接口版本,无法兼容客户端的待通信接口,那么,客户端需退出待通信接口的当前版本,在装载了版本号在服务器最低接口版本号与服务器最高接口版本号之间的接口版本后,再次进入,并将更新的接口版本的接口版本号作为当前接口版本号。
S404,客户端向服务器发送通信报文。
相应地,服务器接收客户端发送的通信报文。
通信报文包括:客户端当前接口版本号,客户端当前接口版本号用于表征客户端的待通信接口对应的当前版本信息。
通信报文中可包括:与服务器的通信数据,该通信数据以待通信接口的当前接口版本号对应的版本信息发送。
可选地,若客户端判断待通信接口对应的服务器最高接口版本号小于待通信接口对应的客户端接口版本号,则客户端可执行上述步骤S303,更新待通信接口的接口版本后,再次执行上述步骤201,重新向服务器发送请求消息,直至待通信接口对应的服务器最高接口版本号大于或等于待通信接口对应的客户端接口版本号,向服务器发送通信报文,与服务器建立通信连接。
若客户端判断待通信接口对应的服务器最高接口版本号大于或等于待通信接口对应的客户端接口版本号,则客户端可直接向服务器发送通信报文,与服务器建立通信连接。
S405,服务器根据通信报文,建立服务器的待通信接口与客户端的待通信接口的通信连接。
服务器接收到客户端发送的通信报文后,响应于客户端中收到的通信报文的数据,向客户端回送通信数据,以通过待通信接口,建立服务器与客户端间的通信连接。
在本实施例中,客户端根据将服务器同步的服务器接口最高版本号,判断服务器是否存储了待通信接口的客户端接口版本号对应的版本信息,避免了客户端的待通信接口的版本过高的情况,提高了兼容性。
可选地,为实现上述步骤S305中,服务器根据通信报文,建立服务器的待通信接口与客户端的待通信接口的通信连接,可以包括:基于客户端当前接口版本号对应的版本信息,与客户端的待通信接口进行通讯。
由上述实施例可知,服务器存储了待通信接口的多个接口版本,各接口版本对应的接口版本号范围由服务器最低接口版本号以及服务器接口最高版本号决定。
客户端、服务器通过上述交互后,确定了待通信接口的客户端接口版本号在服务器最低接口版本号以及服务器接口最高版本号所划定的范围内,则服务器可选择待通信接口的客户端接口版本号对应的版本信息,与客户端继续通信。
在本实施例中,服务器以客户端当前接口版本号对应的版本信息与客户端进行通信,避免了客户端额外的修改自身的版本,提升了系统的兼容性。
可选地,为提高服务器的兼容性,当服务器收到的客户端接口版本号小于服务器最低接口版本号时,服务器需做出相应的分支处理。本申请实施例提供的接口调用方法还包括:若客户端接口版本号小于服务器最低接口版本号,则向客户端发送登录错误报文,登录错误报文包括:服务器最低接口版本号。
可选地,下面给出一种登录错误报文的可能形式:
Figure BDA0003834711750000201
若待通信接口的客户端接口版本号过低,则服务器向客户端发送登录错误报文,将服务器最低版本号告知客户端,以使客户端明确,对于待通信接口,需要升级的版本。
在本实施例中,服务器在客户端接口版本号小于服务器最低接口版本号将服务器最低接口版本号同步至客户端,避免客户端升级后,仍达不到服务器最低接口版本号导致的冗余通信。
可选地,服务器设置服务器最低接口版本号的目的是减少代码冗余,那么,本申请实施例提供的接口调用方法还可以包括:定期对待通信接口对应的各接口版本号进行检测,并将各接口版本号中小于服务器最低接口版本号对应的版本信息删除。
服务器可定时对各客户端进行遍历,确定各客户端的客户端接口版本号后,将各客户端接口版本号中最低的一个接口版本号作为服务器最低接口版本号。或者,由人为根据当前客户端的待通信接口的接口版本号情况,设置服务器最低接口版本号。
进一步地,为避免冗余,服务器可以在定期确定服务器最低接口版本号后,将低于服务器最低接口版本号对应的版本信息删除。
需要说明的是,服务器对于各接口所存储的接口版本对应的服务器最低接口版本号可能是不同的,可以根据各接口对应的服务器最低接口版本号,删除各接口的冗余版本。
在本实施例中,服务器定期清除各接口的低于服务器最低接口版本号的版本信息,减少了系统的代码冗余。
参阅图6,本申请实施例还提供一种第一接口调用装置100,用于实现上述实施例中服务器执行的接口调用方法的步骤,包括:
消息接收模块1001,用于接收客户端发送的请求消息,请求消息包括:客户端接口版本号,客户端接口版本号表征客户端中待通信接口对应的版本信息;
版本号比较模块1002,用于将客户端接口版本号与服务器最低接口版本号相比较,服务器最低接口版本号用于表征服务器中待通信接口对应的最低版本信息;
应答模块1003,若客户端接口版本号大于或等于服务器最低接口版本号,则向客户端发送应答报文,应答报文包括:服务器接口最高版本号,服务器接口最高版本号用于表征服务器的待通信接口对应的最高版本信息。
连接模块1004,用于建立服务器的待通信接口与客户端的待通信接口的通信连接。
连接模块1004具体还用于,接收客户端发送的通信报文,通信报文包括:客户端当前接口版本号,客户端当前接口版本号用于表征客户端的待通信接口对应的当前版本信息;根据通信报文,建立服务器的待通信接口与客户端的待通信接口的通信连接。
连接模块1004具体还用于,基于客户端当前接口版本号对应的版本信息,与客户端的待通信接口进行通讯。
应答模块1003具体还用于,若客户端接口版本号小于服务器最低接口版本号,则向客户端发送登录错误报文,登录错误报文包括:服务器最低接口版本号。
版本号检测模块1005,用于定期对待通信接口对应的各接口版本号进行检测,并将各接口版本号中小于服务器最低接口版本号对应的版本信息删除。
参阅图7,本申请实施例还提供一种第二接口调用装置110,用于实现上述实施例中客户端执行的接口调用方法的步骤,包括:
请求发送模块1101,用于向服务器发送请求消息,请求消息包括:客户端接口版本号,客户端接口版本号表征客户端中待通信接口对应的版本信息;
接口连接模块1102,用于根据服务器发送的应答报文,建立客户端的待通信接口与服务器的待通信接口的连接,应答报文包括:服务器接口最高版本号,服务器接口最高版本号用于表征服务器的待通信接口对应的最高版本信息。
接口连接模块1102具体还用于,接收服务器发送的应答报文;判断待通信接口对应的服务器最高接口版本号是否小于待通信接口对应的客户端接口版本号;若是,则降低待通信接口对应的接口版本;向服务器发送通信报文。
请参阅图8,本实施例还提供一种处理设备,该处理设备包括:处理器2001、存储器2002和总线,存储器2002存储有处理器2001可执行的机器可读指令,当处理设备运行时,执行上述机器可读指令,处理器2001与存储器2002之间通过总线通信,处理器2001用于执行上述实施例中的接口调用方法的步骤。
存储器2002、处理器2001以及总线各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。接口调用访问系统的数据处理装置包括至少一个可以软件或固件(firmware)的形式存储于存储器2002中或固化在处理设备的操作系统(operating system,OS)中的软件功能模块。处理器2001用于执行存储器2002中存储的可执行模块,例如接口调用系统的数据处理装置所包括的软件功能模块及计算机程序等。
其中,存储器2002可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
可选地,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种接口调用方法,其特征在于,应用于接口调用系统中的服务器,所述接口调用系统包括:所述服务器以及至少一个客户端,所述服务器分别与至少一个所述客户端通信连接;
所述方法包括:
接收所述客户端发送的请求消息,所述请求消息包括:客户端接口版本号,所述客户端接口版本号表征所述客户端中待通信接口对应的版本信息;
将所述客户端接口版本号与服务器最低接口版本号相比较,所述服务器最低接口版本号用于表征所述服务器中所述待通信接口对应的最低版本信息;
若所述客户端接口版本号大于或等于所述服务器最低接口版本号,则向所述客户端发送应答报文,所述应答报文包括:服务器接口最高版本号,所述服务器接口最高版本号用于表征所述服务器的待通信接口对应的最高版本信息;
建立所述服务器的待通信接口与所述客户端的待通信接口的通信连接。
2.根据权利要求1所述的接口调用方法,其特征在于,所述建立所述服务器的目标接口与所述客户端的目标接口的通信连接,包括:
接收所述客户端发送的通信报文,所述通信报文包括:客户端当前接口版本号,所述客户端当前接口版本号用于表征所述客户端的待通信接口对应的当前版本信息;
根据所述通信报文,建立所述服务器的待通信接口与所述客户端的待通信接口的通信连接。
3.根据权利要求2所述的接口调用方法,其特征在于,所述根据所述通信报文,建立所述服务器的待通信接口与所述客户端的待通信接口的通信连接,包括:
基于所述客户端当前接口版本号对应的版本信息,与所述客户端的待通信接口进行通讯。
4.根据权利要求2所述的接口调用方法,其特征在于,所述方法还包括:
若所述客户端接口版本号小于所述服务器最低接口版本号,则向所述客户端发送登录错误报文,所述登录错误报文包括:所述服务器最低接口版本号。
5.根据权利要求1所述的接口调用方法,其特征在于,所述方法还包括:
定期对所述待通信接口对应的各接口版本号进行检测,并将各接口版本号中小于所述服务器最低接口版本号对应的版本信息删除。
6.一种接口调用方法,其特征在于,应用于接口调用系统中的客户端,所述接口调用系统包括:服务器以及至少一个所述客户端,所述服务器分别与至少一个所述客户端通信连接;
所述方法包括:
向所述服务器发送请求消息,所述请求消息包括:客户端接口版本号,所述客户端接口版本号表征所述客户端中待通信接口对应的版本信息;
根据所述服务器发送的应答报文,建立所述客户端的待通信接口与所述服务器的待通信接口的连接,所述应答报文包括:服务器接口最高版本号,所述服务器接口最高版本号用于表征所述服务器的待通信接口对应的最高版本信息。
7.根据权利要求6所述的接口调用方法,其特征在于,所述根据所述服务器发送的应答报文,建立所述客户端的待通信接口与所述服务器的待通信接口的连接,包括:
接收所述服务器发送的应答报文;
判断所述待通信接口对应的服务器最高接口版本号是否小于所述待通信接口对应的客户端接口版本号;
若是,则降低所述待通信接口对应的接口版本;
向所述服务器发送通信报文。
8.一种接口调用系统,其特征在于,包括:所述服务器以及至少一个客户端,所述服务器分别与至少一个所述客户端通信连接;
所述服务器用于,执行权利要求1-5任一项所述的接口调用方法,建立所述服务器的待通信接口与所述客户端的待通信接口的通信连接;
所述客户端用于,执行权利要求6-7任一项所述的接口调用方法,建立所述服务器的待通信接口与所述客户端的待通信接口的通信连接。
9.一种第一接口调用装置,其特征在于,应用于接口调用系统中的服务器,所述接口调用系统包括:所述服务器以及至少一个客户端,所述服务器分别与至少一个所述客户端通信连接;
所述装置包括:
消息接收模块,用于接收所述客户端发送的请求消息,所述请求消息包括:客户端接口版本号,所述客户端接口版本号表征所述客户端中待通信接口对应的版本信息;
版本号比较模块,用于将所述客户端接口版本号与服务器最低接口版本号相比较,所述服务器最低接口版本号用于表征所述服务器中所述待通信接口对应的最低版本信息;
应答模块,若所述客户端接口版本号大于或等于所述服务器最低接口版本号,则向所述客户端发送应答报文,所述应答报文包括:服务器接口最高版本号,所述服务器接口最高版本号用于表征所述服务器的待通信接口对应的最高版本信息;
连接模块,用于建立所述服务器的待通信接口与所述客户端的待通信接口的通信连接。
10.一种第二接口调用装置,其特征在于,应用于接口调用系统中的客户端,所述接口调用系统包括:服务器以及至少一个所述客户端,所述服务器分别与至少一个所述客户端通信连接;
所述装置包括:
请求发送模块,用于向所述服务器发送请求消息,所述请求消息包括:客户端接口版本号,所述客户端接口版本号表征所述客户端中待通信接口对应的版本信息;
接口连接模块,用于根据所述服务器发送的应答报文,建立所述客户端的待通信接口与所述服务器的待通信接口的连接,所述应答报文包括:服务器接口最高版本号,所述服务器接口最高版本号用于表征所述服务器的待通信接口对应的最高版本信息。
11.一种处理设备,其特征在于,所述处理设备包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当所述处理设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-5任一项所述的接口调用方法或权利要求6-7任一项所述的接口调用方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现如权利要求1-5任一项所述的接口调用方法或权利要求6-7任一项所述的接口调用方法的步骤。
CN202211096280.1A 2022-09-06 2022-09-06 接口调用方法、系统、处理设备及存储介质 Active CN115695555B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211096280.1A CN115695555B (zh) 2022-09-06 2022-09-06 接口调用方法、系统、处理设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211096280.1A CN115695555B (zh) 2022-09-06 2022-09-06 接口调用方法、系统、处理设备及存储介质

Publications (2)

Publication Number Publication Date
CN115695555A true CN115695555A (zh) 2023-02-03
CN115695555B CN115695555B (zh) 2023-09-12

Family

ID=85062228

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211096280.1A Active CN115695555B (zh) 2022-09-06 2022-09-06 接口调用方法、系统、处理设备及存储介质

Country Status (1)

Country Link
CN (1) CN115695555B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144591A1 (en) * 2003-12-30 2005-06-30 Banks Timothy W. Method and system for change management of interfaces in distributed computer systems
US8972968B1 (en) * 2012-05-31 2015-03-03 Amazon Technologies, Inc. Alternate service for applications
CN105939355A (zh) * 2016-06-13 2016-09-14 乐视控股(北京)有限公司 一种数据访问方法、系统及客户端和服务器
WO2017101727A1 (zh) * 2015-12-18 2017-06-22 阿里巴巴集团控股有限公司 调用应用编程接口的方法和系统
US20180107479A1 (en) * 2016-10-19 2018-04-19 Facebook, Inc. Methods and Systems for Determining Relevant Changes in an API
CN108595280A (zh) * 2018-04-25 2018-09-28 金蝶软件(中国)有限公司 接口适配方法、装置、计算机设备和存储介质
CN111225018A (zh) * 2019-10-23 2020-06-02 上海艾融软件股份有限公司 一种请求报文处理方法、装置和电子设备
CN112130817A (zh) * 2020-09-04 2020-12-25 苏州浪潮智能科技有限公司 一种多版本接口实现方法、系统、装置及可读存储介质
CN113835729A (zh) * 2021-09-23 2021-12-24 深圳市元征科技股份有限公司 升级方法、装置、终端设备及计算机可读存储介质
CN114020319A (zh) * 2021-09-28 2022-02-08 深圳市潮流网络技术有限公司 接口调用的方法、装置、服务器及计算机可读存储介质
CN114124924A (zh) * 2020-08-25 2022-03-01 深圳市欢太科技有限公司 一种确定配置信息的方法、设备及系统
CN114416165A (zh) * 2021-12-29 2022-04-29 北京字节跳动网络技术有限公司 一种接口发布方法、系统、计算机设备及存储介质
CN114924784A (zh) * 2022-05-26 2022-08-19 中国银行股份有限公司 一种新旧接口兼容的方法、系统、设备、存储介质和产品

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144591A1 (en) * 2003-12-30 2005-06-30 Banks Timothy W. Method and system for change management of interfaces in distributed computer systems
US8972968B1 (en) * 2012-05-31 2015-03-03 Amazon Technologies, Inc. Alternate service for applications
WO2017101727A1 (zh) * 2015-12-18 2017-06-22 阿里巴巴集团控股有限公司 调用应用编程接口的方法和系统
CN105939355A (zh) * 2016-06-13 2016-09-14 乐视控股(北京)有限公司 一种数据访问方法、系统及客户端和服务器
US20180107479A1 (en) * 2016-10-19 2018-04-19 Facebook, Inc. Methods and Systems for Determining Relevant Changes in an API
CN108595280A (zh) * 2018-04-25 2018-09-28 金蝶软件(中国)有限公司 接口适配方法、装置、计算机设备和存储介质
CN111225018A (zh) * 2019-10-23 2020-06-02 上海艾融软件股份有限公司 一种请求报文处理方法、装置和电子设备
CN114124924A (zh) * 2020-08-25 2022-03-01 深圳市欢太科技有限公司 一种确定配置信息的方法、设备及系统
CN112130817A (zh) * 2020-09-04 2020-12-25 苏州浪潮智能科技有限公司 一种多版本接口实现方法、系统、装置及可读存储介质
CN113835729A (zh) * 2021-09-23 2021-12-24 深圳市元征科技股份有限公司 升级方法、装置、终端设备及计算机可读存储介质
CN114020319A (zh) * 2021-09-28 2022-02-08 深圳市潮流网络技术有限公司 接口调用的方法、装置、服务器及计算机可读存储介质
CN114416165A (zh) * 2021-12-29 2022-04-29 北京字节跳动网络技术有限公司 一种接口发布方法、系统、计算机设备及存储介质
CN114924784A (zh) * 2022-05-26 2022-08-19 中国银行股份有限公司 一种新旧接口兼容的方法、系统、设备、存储介质和产品

Also Published As

Publication number Publication date
CN115695555B (zh) 2023-09-12

Similar Documents

Publication Publication Date Title
US8209437B2 (en) Personal information management data synchronization
CN109542964B (zh) 一种数据调用方法及数据调用系统
CN112583931A (zh) 消息处理方法、消息中间件、电子设备和存储介质
CN103036706A (zh) 应用升级异常的本地处理方法
CN114465998A (zh) 多设备的文件传输方法、装置、终端设备及可读存储介质
CN111464603B (zh) 一种服务器扩容方法及扩容系统
CN113076186B (zh) 任务处理的方法、装置、电子设备和存储介质
EP2996318A1 (en) Management device
CN107862040B (zh) 一种应用实例的缓存中数据的更新方法、装置及一种集群
CN115695555A (zh) 接口调用方法、系统、处理设备及存储介质
CN111274325A (zh) 平台自动化测试方法及系统
CN113312073B (zh) 一种安装包文件处理方法和相关装置
CN113783826B (zh) 一种微服务异常处理方法和装置
CN112350856B (zh) 分布式服务签退方法及设备
CN113032170A (zh) 一种网络摄像机的多模块通讯处理方法及电子设备
CN114610461A (zh) 一种任务处理方法及装置
CN114490124A (zh) 调用应用程序编程接口api的方法、装置、设备及介质
CN109800229B (zh) 数据访问方法及相关设备
CN113660635A (zh) 连接方法、装置、电子设备、存储介质及程序产品
CN115114303A (zh) 业务数据稽核方法、平台和系统
CN102314353A (zh) Android软件更新时更改数据库的方法
CN113127029A (zh) 固件更新方法、装置、电子设备及存储介质
CN114579166A (zh) 组件模块升级方法、组件模块和财务机器人
CN110740192A (zh) 一种基于p2p网络的虚拟化环境下的镜像分发方法及系统
CN114979187B (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