一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

接口调用的方法、装置、服务器及计算机可读存储介质与流程

2022-02-22 17:50:15 来源:中国专利 TAG:


1.本技术实施例涉及系统开发技术领域,特别涉及一种接口调用的方法、装置、服务器及计算机可读存储介质。


背景技术:

2.随着互联网技术的发展,开发模式也在不断地演进,传统地浏览器/服务器模式(browser/server,b/s结构)中大部分通过模板引擎最终渲染成超文本标记语言(html)后直接展示给中终端用户。现在互联网发展都不再只针对浏览器的展示,而是提供接口给各种终端,例如移动端或者其他地服务,然后各自处理业务,各端相互独立随着版本的迭代,业务的变化,都有可能改变之前的接口。由于业务的发展,接口的字段属性变化很大,如果直接在原接口上修改,就需要调用方修改,对调用方极不友好。良好的应用程序编程接口(application programming interface,api)需要保证向后兼容,产品需求的变更不能影响现有的版本的正常功能,这时候接口的版本管理就显得非常的重要。
3.目前的解决方式是重新定义一个版本的接口,使调用方可以分别指定两个版本对应的接口,使得调用方可以通过修改版本号来调用不同版本的接口,提供方每次接口有变化可以新写一个对应该版本的接口。
4.然而,本发明的发明人发现,采用上述技术方案,由于对于大版本的更新,所有统一资源定位器(uniform resource locator,url)上的版本号也需要更新,比如将接口的v1版本升级到v2版本,所有的接口都需要提供v2版本的处理器,即使是未修改任何代码的接口,以便添加与版本对应的url,如果不增加处理器,就无法查找到对应版本的处理器。为每个版本的接口增加一个对应的处理器会产生很多重复性工作,并且容易出错。


技术实现要素:

5.本发明实施例的目的在于提供一种接口调用的方法、装置、服务器和计算机可读存储介质,可以解决需要为每个版本的接口增加对应处理器的问题,更方便的管理接口的版本。
6.为实现上述目的,本技术实施例提供了一种接口调用的方法,包括:s1:接收接口调用请求;所述接口调用请求携带请求调用的接口的第一版本号;s2:查找与所述第一版本号对应的第一处理器;s3:若未查找到所述第一处理器,则查找所述接口的第二版本号对应的第二处理器,通过所述第二处理器执行所述接口的调用;s4:将所述第二处理器与所述第一版本号的对应关系注册到映射关系中,所述映射关系用于存储注册的接口版本号与处理器的对应关系;其中,所述第二版本号为低于所述第一版本号的最大版本号。
7.为实现上述目的,本技术实施例还提供一种接口调用的装置,包括:接收模块,用于接收接口调用请求;所述接口调用请求携带请求调用的接口的第一版本号;查找模块,用于查找与所述第一版本号对应的第一处理器;执行模块,用于若未查找到所述第一处理器,则查找所述接口的第二版本号对应的第二处理器,通过所述第二处理器执行所述接口的调
用;注册模块,用于将所述第二处理器与所述第一版本号的对应关系注册到映射关系中,所述映射关系用于存储注册的接口版本号与处理器的对应关系;其中,所述第二版本号为低于所述第一版本号的最大版本号。
8.为实现上述目的,本技术实施例还提供了一种服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的接口调用的方法。
9.为实现上述目的,本技术实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的接口调用的方法。
10.本技术实施例提供的接口调用的方法,在接口被调用时在接收到接口的调用请求后,根据调用请求中携带的请求调用接口的第一版本号,查找与接口的第一版本号对应的第一处理器,若未查找到第一处理器,则表明第一版本号对应的第一处理器没有被提供,可以查找接口的第二版本号对应的第二处理器,采用第二处理器执行接口的调用。通过将第二处理器和第一版本号的对应关系注册到映射关系中,以存储第一版本号和第二处理器的对应关系,使得在接口的第一版本号再次被调用时,不用查找不存在的第一处理器,可以直接根据存储的第一版本号和第二处理器的对应关系查找到对应的第二处理器,并采用第二处理器执行接口的第一版本号的调用。其中,第二版本号为低于第一版本号的最大版本号,即第二版本与第一版本最相近,采用第二版本号对应的第二处理器更符合被调用的接口的第一版本号的需求。因此,本实施例提供的接口调用的方法,即使不重新增加第一处理器,也能够使得接口的第一版本号通过对应的处理器被执行调用,解决了需要为每个版本的接口增加对应处理器的问题,且更易于接口的版本管理。
11.另外,所述查找与所述第一版本号对应的第一处理器,包括:根据所述映射关系,查找与所述接口的第一版本号对应的处理器;所述查找所述接口的第二版本号对应的第二处理器,包括:根据所述映射关系,查找与所述接口的第二版本号对应的处理器。由于映射关系中存储注册的接口版本号与处理器的对应关系,则可以通过映射关系,快速查找到与接口的版本号所对应的处理器。
12.另外,所述映射关系为接口的url与处理器的映射关系;所述接口的url包括接口的版本号和路径;其中,已注册的接口的版本号和路径存储在第一集合中,已注册的接口的路径和处理器的映射关系存储在第二集合中。通过将已注册的接口的版本号和路径存储在第一集合,当未查找到所述第一处理器时,方便查找到低于第一版本号的最大版本号;将已注册的接口的路径和处理器的映射关系存储在第二集合,方便查找到被调用接口对应版本的处理器。
13.另外,在所述接收接口调用请求之前,还包括:获取第三集合,所述第三集合包括所有未注册的接口的版本号;遍历所述第三集合,对每个遍历到的未注册的接口的版本号,执行所述s1至所述s4。通过遍历第三集合,执行步骤s1至s4,提前将所有未注册的接口的版本号和对应处理器的对应关系完成注册,可以在接收到接口调用请求后,能直接查找到被调用接口版本的处理器,以实现接口的调用。
14.另外,在所述获取第三集合后,所述遍历所述第三集合之前,还包括:将所述第三集合中所有未注册的接口的版本号按照升序排序。通过将未注册的接口的版本号按照升序
排序,方便获取低于当前版本号的最大版本号。
15.另外,所述获取第三集合,包括:获取第四集合,所述第四集合包括所有未注册的接口的版本号和所有已注册的接口的版本号;使用所述第四集合减去所述第一集合,得到所述第三集合。获取未注册的接口版本号集合,以便将未注册的接口版本号与对应的处理器的对应关系注册到映射关系中,使得所有版本的接口都存在对应的处理器。
附图说明
16.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
17.图1是根据本发明一个实施例提供的接口调用方法的流程图;
18.图2是根据本发明一个实施例提供的接口调用方法的工作流程示意图;
19.图3是根据本发明另一个实施例提供的接口调用方法的流程图;
20.图4是根据本发明另一个实施例提供的接口调用装置的示意图;
21.图5是根据本发明另一个实施例提供的服务器的结构图。
具体实施方式
22.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
23.本发明的一个实施例涉及一种接口调用的方法,适用于基于springboot开发的所有系统,下面对本实施例的接口调用的方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。本实施例的接口调用的方法的具体流程图如图1所示,包括:
24.步骤101,接收接口调用请求。
25.具体而言,接口提供端接收到用户调用接口的请求,并且接口调用请求中携带请求调用的接口的第一版本号。在本实施例中,用户可以是终端,例如移动服务端。
26.在一个例子中,接口提供端为服务器,具体工作流程如图2所示,包括:控制处理器,多个处理器,映射处理器。其中,控制处理器用于接收用户的接口调用请求,根据接口的url获取对应的处理器,执行处理器并向用户返回执行结果;多个处理器用于执行控制处理器下发的执行命令,即执行接口的调用,并向控制处理器返回执行结果;映射处理器用于存储接口的处理器,根据控制处理器获取处理器的请求向控制处理器返回对应的处理器。
27.步骤102,查找与第一版本号对应的第一处理器。
28.具体而言,接口提供端在接收到用户发送的接口调用请求后,会根据接口调用请求中携带请求调用的接口的第一版本号,查找与第一版本号对应的第一处理器。
29.在一个例子中,由于接口会进行更新,从而产生不同的版本,接口的每一个版本号
都需要对应的处理器来执行该版本号的调用。服务器中的控制处理器接收到终端发送的接口调用请求后,会根据请求调用接口的url从映射处理器中获取对应的处理器,其中,接口的url包括接口的版本号和路径。映射处理器根据映射关系,查找与请求调用的接口的第一版本号对应的第一处理器,其中,映射关系为接口的url与处理器的映射关系。映射处理器将查找到的第一处理器返回给控制处理器,供控制处理器执行第一处理器,实现接口的调用,并将接口调用的执行结果返回给终端。
30.步骤103,若未查找到第一处理器,则查找接口的第二版本号对应的第二处理器,通过第二处理器执行接口的调用。
31.具体而言,在步骤102中,若映射处理器根据映射关系,未查找与请求调用的接口的第一版本号对应的第一处理器,会根据接口的url与处理器的映射关系,查找与接口的第二版本号对应的第二处理器,将第二处理器返回给控制处理器,供控制处理器执行第二处理器,实现接口的调用,并将接口调用的执行结果返回给终端。
32.步骤104,将第二处理器与第一版本号的对应关系注册到映射关系中。
33.具体而言,映射处理器中存有注册接口版本号与处理器的映射关系的方法,在步骤103中,映射处理器在查找到与接口的第二版本号对应的第二处理器,将第二处理器返回给控制处理器后,会将第二处理器与所述第一版本号的对应关系注册到映射关系中,即将第二处理器与所述第一版本号的映射关系封装在映射处理器中,其中,映射关系用于存储注册的接口版本号与处理器的对应关系。
34.在本实施例中,当查找不到被调用接口的第一版本号对应的第一处理器时,查找接口的第二版本号对应的第二处理器,所查找的接口的第二版本号为低于接口的第一版本号的最大版本号。
35.在相关技术中,当接口有众多版本时,需要为每一个版本增加一个对应的处理器,导致重复性的工作,而本发明的实施例在接口被调用时在接收到接口的调用请求后,根据调用请求中携带的请求调用接口的第一版本号,查找与接口的第一版本号对应的第一处理器,若未查找到第一处理器,则表明第一版本号对应的第一处理器没有被提供,可以查找接口的第二版本号对应的第二处理器,采用第二处理器执行接口的调用。通过将第二处理器和第一版本号的对应关系注册到映射关系中,以存储第一版本号和第二处理器的对应关系,使得在接口的第一版本号再次被调用时,不用查找不存在的第一处理器,可以直接根据存储的第一版本号和第二处理器的对应关系查找到对应的第二处理器,并采用第二处理器执行接口的第一版本号的调用。其中,第二版本号为低于第一版本号的最大版本号,即第二版本与第一版本最相近,采用第二版本号对应的第二处理器更符合被调用的接口的第一版本号的需求。因此,本实施例提供的接口调用的方法,即使不重新增加第一处理器,也能够使得接口的第一版本号通过对应的处理器被执行调用,解决了需要为每个版本的接口增加对应处理器的问题,且更易于接口的版本管理。
36.本发明的另一个实施例涉及一种接口调用的方法,适用于基于springboot开发的所有系统,下面对本实施例的接口调用的方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。本实施例的接口调用的方法的具体流程图如图3所示,包括:
37.步骤301,获取所有已注册的接口的版本号集合。
38.具体而言,接口提供端通过springioc容器注入映射处理器中,遍历映射处理器,以获取所有已注册的接口的url和处理器。其中springioc容器用于管理对象之间的依赖关系,通过注入springioc容器完成对现象的注入,可以将应用从复杂的对象依赖关系中解放出来。在本实施例中,springioc容器用于将已注册的url和处理器解放出来。
39.根据获取的所有已注册的接口的url和处理器,将已注册的接口的url分割为版本号和路径,并将已注册的接口的版本号和路径存储在第一集合中,已注册的接口的路径和处理器的映射关系存储在第二集合中。通过将已注册的接口的版本号和路径存储在第一集合,当未查找到所述第一处理器时,方便查找到低于第一版本号的最大版本号;将已注册的接口的路径和处理器的映射关系存储在第二集合,方便查找到被调用接口对应版本的处理器。
40.步骤302,获取所有未注册的接口的版本号集合。
41.具体而言,接口提供端从系统中获取所有的接口版本号集合,即第四集合,第四集合中包括所有未注册的接口的版本号和所有已注册的接口的版本号,使用第四集合减去第一集合,可以得到第三集合,第三集合中包括所有未注册的接口的版本号和路径。
42.步骤303,将第三集合中所有未注册的接口的版本号按照升序排序。
43.步骤304,遍历排序后的第三集合。
44.具体而言,接口提供端遍历排序后的第三集合,对每个遍历到的未注册的接口的版本号,执行步骤305至步骤307。
45.步骤305,接收接口调用请求。
46.步骤306,查找与第一版本号对应的第一处理器。
47.步骤307,若未查找到第一处理器,则查找接口的第二版本号对应的第二处理器,通过第二处理器执行接口的调用。
48.步骤308,将第二处理器与第一版本号的对应关系注册到映射关系中。
49.步骤305至步骤308与步骤101至步骤104大致相同,此处不再赘述。
50.值得一提的是,在本实施例中,为了使所有的未注册的接口版本在被调用时都能查找对应的处理器,在步骤303中获取到所有未注册的接口的版本号后,会重复执行步骤305至308,直至所有未注册的版本号都注册完成,即将所有未注册的接口的版本号与对应的处理器的对应关系注册到映射关系中。
51.本实施例与第一实施例大致相同,区别之处在于在接收接口调用请求之前,会获取未注册的接口版本号集合,以便将未注册的接口版本号与对应的处理器的对应关系注册到映射关系中,此外,通过将未注册的接口版本号按照升序排序,便于获取低于当前版本号的最大版本号,使得在第一版本号的处理器查找不到的情况下,获取第二版本号的处理器。
52.上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
53.本发明的另一个实施例涉及一种接口调用的装置,下面对本实施例的接口调用装置的细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本例的必须,图4是本实施例所述的接口调用方法的示意图,包括:接收模块401、查找模块402、执行模块
403和注册模块404。
54.具体而言,接收模块401,用于接收接口调用请求,其中,接口调用请求携带请求调用的接口的第一版本号。
55.在一个例子中,在接收接口调用请求之前,还包括:获取第三集合,其中,第三集合包括所有未注册的接口的版本号。
56.查找模块402,用于查找与第一版本号对应的第一处理器。
57.在一个例子中,查找与第一版本号对应的第一处理器,包括:根据映射关系,查找与接口的第一版本号对应的处理器;查找接口的第二版本号对应的第二处理器,包括:根据映射关系,查找与接口的第二版本号对应的处理器。
58.执行模块403,用于若未查找到所述第一处理器,则查找所述接口的第二版本号对应的第二处理器,通过所述第二处理器执行所述接口的调用。
59.注册模块404,用于将所述第二处理器与所述第一版本号的对应关系注册到映射关系中,所述映射关系用于存储注册的接口版本号与处理器的对应关系;其中,所述第二版本号为低于所述第一版本号的最大版本号。
60.不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
61.值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
62.本发明的另一个实施例涉及一种服务器,如图5所示,包括:至少一个处理器501;以及,与所述至少一个处理器501通信连接的存储器502;其中,所述存储器502存储有可被所述至少一个处理器501执行的指令,所述指令被所述至少一个处理器501执行,以使所述至少一个处理器501能够执行上述各实施例中的接口调用的方法。
63.其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
64.处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
65.本发明另一个实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
66.即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
67.本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献