一种多版本接口实现方法、系统、装置及可读存储介质制造方法及图纸

技术编号:26845077 阅读:17 留言:0更新日期:2020-12-25 13:06
本申请公开了一种多版本接口实现方法、系统及相关组件,应用于客户端,所述多版本接口实现方法包括:获取服务端公开的接口信息,所述接口信息包括所述服务器的支持版本的数据结构和接口方法;根据所述接口信息与所述客户端的支持版本,确定协商后版本;根据所述协商后版本,建立与所述服务端之间的通信;接口信息通过soap和xml的形式组织封装,并通过wsdl语言发布,其封装程序和解封程序均通过基类与继承确定。本申请基于soap协议对不同版本间差异化数据结构和接口方法进行封装,在众多版本中确定既支持客户端又支持服务端的协商后版本,解决了多版本接口的实现问题,极大减少了开发的工作量,便于部署。

【技术实现步骤摘要】
一种多版本接口实现方法、系统、装置及可读存储介质
本专利技术涉及软件开发领域,特别涉及一种多版本接口实现方法、系统、装置及可读存储介质。
技术介绍
当前,软件开发一般采用快速迭代的方法,随着客户需求的不断更新与变化,软件最终交付版本较最初版本可能已经更新了很多。接口是不同软件系统连接的桥梁,对于某一特定的软件发布版本,其接口是相对稳定的,但随着软件版本的升级,接口也会发生变化,原来的接口不再适用。开发对接中,如何简化统一不同版本接口,是一个相对困难的问题,传统的方法一般是对于不同接口版本,各开发一套软件,这种实现机制往往会增加开发工作量及软件系统部署对接的难度。因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种多版本接口实现方法、系统、装置及可读存储介质,以解决多版本接口的开发对接中工作量大、部署困难的问题。其具体方案如下:一种多版本接口实现方法,应用于客户端,所述多版本接口实现方法包括:获取服务端公开的接口信息,所述接口信息包括所述服务器的支持版本的数据结构和接口方法;根据所述接口信息与所述客户端的支持版本,确定协商后版本;根据所述协商后版本,建立与所述服务端之间的通信;所述接口信息通过soap和xml的形式组织封装,并通过wsdl语言发布,其封装程序和解封程序均通过基类与继承确定。优选的,所述根据所述接口信息与所述客户端的支持版本,确定协商后版本的过程,具体包括:将所述接口信息中所述服务端的支持版本,与所述客户端的支持版本比较,确定所述服务端与所述客户端的支持版本集合;将所述支持版本集合中的最高版本确定为所述协商后版本。优选的,所述封装程序包括:以命名空间和名称的形式构造输出元素,同时更新整体命名空间,以使所述输出元素的命名空间加入功能域;若属性为空或非必须,则返回空元素;若属性为基本类型,则设置属性值并输出元素;若属性为数据封装类型,则递归调用所述封装程序。优选的,所述解封程序包括:依次遍历解封对象的属性列表;对每个属性列表值,根据其命名空间及xmltag确定完整的属性名;若所述属性列表值的属性值为列表,则依次遍历该列表并对该列表中每个属性值执行相同的单个属性值操作;所述单个属性值操作包括:若该属性值为基本属性,则根据基本属性将字符转换为特定值;若该属性值为结构属性,则递归调用所述解封程序。优选的,所述数据结构与所述接口方法的域名包括对应的支持版本的功能和版本信息。优选的,所述根据所述协商后版本,建立与所述服务端之间的通信的过程,包括:向所述服务端发送注册信息,所述注册信息包括所述协商后版本及相应的接口实现入口,以使所述服务端通过所述接口实现入口建立与所述客户端的通信机制。优选的,所述服务端通过所述接口实现入口建立与所述客户端的通信机制的过程,包括:所述服务端使用所述客户端的凭证,通过所述接口实现入口建立与所述客户端的通信机制。相应的,本申请公开了一种多版本接口实现系统,应用于客户端,所述多版本接口实现系统包括:获取模块,用于获取服务端公开的接口信息,所述接口信息包括所述服务器的支持版本的数据结构和接口方法;版本确定模块,用于根据所述接口信息与所述客户端的支持版本,确定协商后版本;通信建立模块,用于根据所述协商后版本,建立与所述服务端之间的通信。相应的,本申请还公开了一种多版本接口实现装置,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上文任一项所述多版本接口实现方法的步骤。相应的,本申请还公开了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任一项所述多版本接口实现方法的步骤。本申请公开了一种多版本接口实现方法,应用于客户端,所述多版本接口实现方法包括:获取服务端公开的接口信息,所述接口信息包括所述服务器的支持版本的数据结构和接口方法;根据所述接口信息与所述客户端的支持版本,确定协商后版本;根据所述协商后版本,建立与所述服务端之间的通信;所述接口信息通过soap和xml的形式组织封装,并通过wsdl语言发布,其封装程序和解封程序均通过基类与继承确定。本申请基于soap协议对不同版本间差异化数据结构和接口方法进行封装,根据服务端公开的接口信息中的支持版本与客户端的支持版本,在众多版本中确定既支持客户端又支持服务端的协商后版本,并利用协商后版本进行通信,解决了多版本接口的实现问题,极大减少了开发的工作量,便于部署。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例中一种多版本接口实现方法的步骤流程图;图2为本专利技术实施例中一种多版本接口实现系统的结构分布图;图3为本专利技术实施例中一种多版本接口实现装置的结构分布图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。开发对接中,如何简化统一不同版本接口,是一个相对困难的问题,传统的方法一般是对于不同接口版本,各开发一套软件,这种实现机制往往会增加开发工作量及软件系统部署对接的难度。本申请基于soap协议对不同版本间差异化数据结构和接口方法进行封装,根据服务端公开的接口信息中的支持版本与客户端的支持版本,在众多版本中确定既支持客户端又支持服务端的协商后版本,并利用协商后版本进行通信,解决了多版本接口的实现问题,极大减少了开发的工作量,便于部署。本专利技术实施例公开了一种多版本接口实现方法,应用于客户端,参见图1所示,多版本接口实现方法包括:S1:获取服务端公开的接口信息,接口信息包括服务器的支持版本的数据结构和接口方法;具体的,服务端的接口信息一般通过soap与xml的形式组织封装,并通过wsdl语言发布,包括不同版本间的差异化数据结构及接口方法。其中,数据结构与接口方法的域名包括对应的支持版本的功能和版本信息。以数据结构的封装为例,整个数据结构以soap+xml的形式组织,便于编程开发,数据结构利用“域名:名称”来限定数据结构名及其属性名,功能域的域名以功能+版本信息进行描述,例如:http://data.func.example.company.com/xsd/2.0;在表示前需要确定包括所有本文档来自技高网...

【技术保护点】
1.一种多版本接口实现方法,其特征在于,应用于客户端,所述多版本接口实现方法包括:/n获取服务端公开的接口信息,所述接口信息包括所述服务器的支持版本的数据结构和接口方法;/n根据所述接口信息与所述客户端的支持版本,确定协商后版本;/n根据所述协商后版本,建立与所述服务端之间的通信;/n所述接口信息通过soap和xml的形式组织封装,并通过wsdl语言发布,其封装程序和解封程序均通过基类与继承确定。/n

【技术特征摘要】
1.一种多版本接口实现方法,其特征在于,应用于客户端,所述多版本接口实现方法包括:
获取服务端公开的接口信息,所述接口信息包括所述服务器的支持版本的数据结构和接口方法;
根据所述接口信息与所述客户端的支持版本,确定协商后版本;
根据所述协商后版本,建立与所述服务端之间的通信;
所述接口信息通过soap和xml的形式组织封装,并通过wsdl语言发布,其封装程序和解封程序均通过基类与继承确定。


2.根据权利要求1所述多版本接口实现方法,其特征在于,所述根据所述接口信息与所述客户端的支持版本,确定协商后版本的过程,具体包括:
将所述接口信息中所述服务端的支持版本,与所述客户端的支持版本比较,确定所述服务端与所述客户端的支持版本集合;
将所述支持版本集合中的最高版本确定为所述协商后版本。


3.根据权利要求1所述多版本接口实现方法,其特征在于,所述封装程序包括:
以命名空间和名称的形式构造输出元素,同时更新整体命名空间,以使所述输出元素的命名空间加入功能域;
若属性为空或非必须,则返回空元素;
若属性为基本类型,则设置属性值并输出元素;
若属性为数据封装类型,则递归调用所述封装程序。


4.根据权利要求1所述多版本接口实现方法,其特征在于,所述解封程序包括:
依次遍历解封对象的属性列表;
对每个属性列表值,根据其命名空间及xmltag确定完整的属性名;
若所述属性列表值的属性值为列表,则依次遍历该列表并对该列表中每个属性值执行相同的单个属性值操作;
所述单个属性值操作包括:
若该属性值为基本属性,则根据基本属性将字符转换为特定值;
若该属性值为结构属性,则递归调用所述解封程序。<...

【专利技术属性】
技术研发人员:马旭
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1