CN110008039B - 接口控制方法、装置、计算机可读存储介质和计算机设备 - Google Patents
接口控制方法、装置、计算机可读存储介质和计算机设备 Download PDFInfo
- Publication number
- CN110008039B CN110008039B CN201910173385.4A CN201910173385A CN110008039B CN 110008039 B CN110008039 B CN 110008039B CN 201910173385 A CN201910173385 A CN 201910173385A CN 110008039 B CN110008039 B CN 110008039B
- Authority
- CN
- China
- Prior art keywords
- version number
- application program
- background
- request
- version
- 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.)
- Active
Links
Images
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/541—Interprogram communication via adapters, e.g. between incompatible applications
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种接口控制方法、装置、计算机可读存储介质和计算机设备,应用于接口开发技术领域。所述的方法包括:接收应用程序调用后台的接口时发送的请求;检测所述请求中是否包含所述应用程序的第一版本号;若包含所述第一版本号,将所述第一版本号与所述后台存储的所述应用程序的版本号进行匹配;若不匹配,从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序。本申请实施例实现了新老版本的兼容,且无需新开类似功能的接口,降低了工作量。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种接口控制方法、装置、计算机可读存储介质和计算机设备。
背景技术
接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。接口开发指的是网站上、软件系统中或应用中等能通过一个链接进入另一个应用的模块,如在网站上设置一个支付宝登录接口,接口开发就是这样模块的从设计、实现到应用的过程。
在现有的接口开发中,当原来的接口需要变更的时候,目前通用的做法包括以下两种:1、修改原来的接口,但是该种方式易造成新老版本不兼容;2、新开一个类似功能的接口,但是该种方法工作量较大。
发明内容
本申请针对现有方式的缺点,提出一种接口控制方法、装置、计算机可读存储介质和计算机设备,实现了新老版本的兼容,且无需新开类似功能的接口。
本申请的实施例根据第一个方面,提供了一种接口控制方法,包括:
接收应用程序调用后台的接口时发送的请求;
检测所述请求中是否包含所述应用程序的第一版本号;
若包含所述第一版本号,将所述第一版本号与所述后台存储的所述应用程序的版本号进行匹配;
若不匹配,从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序。
在一个实施例中,所述从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序,包括:
判断所述应用程序的版本号是否向下兼容;
若是,从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序;
若否,获取预置时间内向所述应用程序发送的参数对应的版本号,从所述后台存储的所述应用程序的全部版本号中剔除所述对应的版本号,从剩余的版本号中随机获取一个版本号,将所述随机获取的版本号对应的参数封装后返回给所述应用程序。
在一个实施例中,所述检测所述请求中是否包含所述应用程序的第一版本号,之后,还包括:
若不包含所述第一版本号,从所述后台获取所述应用程序的设定低版本号,将设定低版本号对应的参数封装后返回给所述应用程序。
在一个实施例中,所述从所述后台获取所述应用程序的设定低版本号,将设定低版本号对应的参数封装后返回给所述应用程序,包括:
判断所述应用程序的版本号是否向下兼容;
若是,从所述后台获取所述应用程序的设定低版本号,将设定低版本号对应的参数封装后返回给所述应用程序;
若否,获取预置时间内向所述应用程序发送的参数对应的版本号,从所述后台存储的所述应用程序的全部版本号中剔除所述对应的版本号,从剩余的版本号中随机获取一个版本号,将所述随机获取的版本号对应的参数封装后返回给所述应用程序。
在一个实施例中,所述第一版本号插于所述请求的存储空间中的指定位置;所述检测所述请求中是否包含所述应用程序的第一版本号,包括:
检测所述请求的存储空间中的指定位置是否存储有所述第一版本号。
在一个实施例中,所述第一版本号存储在所述请求的扩展字段中;所述检测所述请求中是否包含所述应用程序的第一版本号,包括:
检测所述请求的扩展字段中是否存储有所述第一版本号。
在一个实施例中,所述第一版本号存储在所述请求的存储空间中的空位中,所述空位通过对所述请求压缩得到;所述检测所述请求中是否包含所述应用程序的第一版本号,包括:
检测所述请求的存储空间中的空位中是否存储有所述第一版本号。
本申请的实施例根据第二个方面,还提供了一种接口控制装置,包括:
请求接收模块,用于接收应用程序调用后台的接口时发送的请求;
版本号检测模块,用于检测所述请求中是否包含所述应用程序的第一版本号;
匹配模块,用于在包含所述第一版本号时,将所述第一版本号与所述后台存储的所述应用程序的版本号进行匹配;
参数封装模块,用于在不匹配时,从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序。
本申请的实施例根据第三个方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项所述的接口控制方法。
本申请的实施例根据第四个方面,还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任意一项所述的接口控制方法。
上述的接口控制方法、装置、计算机可读存储介质和计算机设备,通过检测请求中是否包含版本号以及在包含版本号时进行版本号的匹配的方式,获得应用程序对应的参数,该种方式实现了新老版本的兼容,且无需新开类似功能的接口,减少了工作量。另外,在请求中携带的版本号和后台版本号不一致时,本申请通过搜寻低版本的参数的方式,实现了新老版本的有效兼容。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请一个实施例的接口控制方法应用硬件场景的示意图;
图2为本申请一个实施例的接口控制方法的流程示意图;
图3为本申请一个实施例的接口控制装置的结构示意图;
图4为本申请一个实施例的计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本申请实施例提供的接口控制方法可以应用于如图1所示的由终端和后台服务器(后续简称后台)所构成的硬件环境中。如图1所示,终端和后台服务器通过网络进行连接,本申请实施例提供的接口控制方法可以在后台服务器中执行。终端中的app(application,应用程序)在调用后台服务器的接口时向后台服务器发送请求,后台服务器根据请求中版本号的不同情况返回不同封装的参数,以保证app功能的正常执行。
下面从后台的角度出发,对本申请实施例的接口控制方法和装置的具体实施方式进行详细介绍。
如图2所示,在一个实施例中,一种接口控制方法,包括:
S110、接收应用程序调用后台的接口时发送的请求。
应用程序为任何需要调用后台接口的应用程序,例如平安金管家app、平安银行app等等。后台指的是后台服务器,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云等等。接口泛指实体把自己提供给外界的一种抽象化物,用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。请求生成的方式有很多种,例如用户可以通过点击应用程序的界面上的按钮控件或者直接输入语音等方式生成请求。
在app调用后台接口时,app一般会在请求中带入版本号,例如,在x-api-version=1.1.0中,应用程序的版本号为1.1.0。版本号(version number)是版本的标识号,每一个应用都有一个版本号,版本号能使用户了解所使用的应用是否为最新的版本以及它所提供的功能与设施。
在请求中加入第一版本号的方式有很多种,下面结合三个实施例进行说明,应当理解的是,本申请并不限制于下述三种方式。
在一个实施例中,所述第一版本号插于所述请求的存储空间中的指定位置。为请求分配一定的存储空间,在请求的存储空间中指定一个位置,用于存储第一版本号。例如,在请求头中为第一版本号分配一个位置。在发送请求时,将第一版本号插入该指定位置后发送给后台。
在另一个实施例中,所述第一版本号存储在所述请求的扩展字段中。扩展字段为在请求的原有存储空间外增加的字段,用于存储版本号信息。为请求设置扩展字段,在扩展字段中插入第一版本号后发送给后台。
考虑到上述两种方式均会增加网络传输的数据量,因此,在另一个实施例中,所述第一版本号存储在所述请求的存储空间中的空位中,所述空位通过对所述请求压缩得到。为请求分配一定的存储空间,然后将请求压缩为一个较小值,那么在该分配的存储空间中就会留出空位,在留出的空位中插入第一版本号,从而降低了网络传输的数据量。对请求压缩的方式有很多种,例如,可以通过gzip(GNUzip)算法等对请求进行压缩。
可选的,请求中还可以包含app所在终端的标识。终端的标识为终端的身份信息,例如终端的标识为MAC地址(Media Access Control Address,媒体访问控制地址)等等。app安装于终端中,向后台发送请求时一般需要包括终端的标识,以指示后台将响应返回给哪一个设备。
S120、检测所述请求中是否包含所述应用程序的第一版本号。
考虑到成本问题,一般会对新版本的app进行设置,新版app在调用后台接口时一般会在请求中带入版本号,而一些老版本的app由于未设置或者其他原因可能在请求中没有带入版本号,因此需要对app发送的请求中携带版本号情况进行检测,以确定返回哪一个版本的参数。
针对步骤S110中三种加入第一版本号的方式,对应检测请求中是否携带第一版本号的方式也有三种,下面进行详细说明。
针对第一版本号插于所述请求的存储空间中的指定位置,在一个实施例中,所述检测所述请求中是否包含所述应用程序的第一版本号,包括:检测所述请求的存储空间中的指定位置是否存储有所述第一版本号。为了提高检测效率,直接查询请求中的指定位置是否存储有第一版本号,如果该指定位置存储有字符,则该字符即为第一版本号,如果该指定位置的字符为空,则请求未携带第一版本号。
针对第一版本号存储在所述请求的扩展字段中,在一个实施例中,所述检测所述请求中是否包含所述应用程序的第一版本号,包括:检测所述请求的扩展字段中是否存储有所述第一版本号。为了提高检测效率,直接查询请求的扩展字段中是否存储有第一版本号,如果该扩展字段中存储有字符,则该字符即为第一版本号,如果没有扩展字段或者扩展字段的字符为空,则请求未携带第一版本号。
针对第一版本号存储在所述请求的存储空间中的空位中,在一个实施例中,所述检测所述请求中是否包含所述应用程序的第一版本号,包括:检测所述请求的存储空间中的空位中是否存储有所述第一版本号。为了提高检测效率,直接查询请求的空位中是否存储有第一版本号,如果该空位中存储有字符,则该字符即为第一版本号,如果空位中的字符为空,则请求未携带第一版本号。
S130、若包含所述第一版本号,将所述第一版本号与所述后台存储的所述应用程序的版本号进行匹配。
如果请求中携带了第一版本号,考虑到可能存在app版本号和后台存储的该应用程序的版本号不同步的情况,需要将第一版本号与后台存储的应用程序的版本号进行匹配,根据匹配的情况确定封装的参数。
在一个实施例中,所述检测所述请求中是否包含所述应用程序的第一版本号,之后,还包括:若不包含所述第一版本号,从所述后台获取所述应用程序的设定低版本号,将设定低版本号对应的参数封装后返回给所述应用程序。如果请求中未携带第一版本号,后台会匹配默认版本号。考虑到一般是低版本的app未携带第一版本号,因此后台在匹配时会默认匹配该app的设定低版本号,封装低版本号对应的参数并返回。
设定低版本号可以根据经验进行设定。例如,用户经过统计发现版本号为A以及以上版本号的应用程序在发送请求时会携带对应版本号,该应用程序的低于A的版本在发送请求时不会携带对应的版本号,则可以将低版本号设定为低于A的任意版本号,例如,设定为A的低一级版本号。那么在检测到请求中未携带第一版本号时,则将设定的低版本号对应的参数封装后返回给该应用程序。
在一个实施例中,所述从所述后台获取所述应用程序的设定低版本号,将设定低版本号对应的参数封装后返回给所述应用程序,包括:
判断所述应用程序的版本号是否向下兼容;
若是,从所述后台获取所述应用程序的设定低版本号,将设定低版本号对应的参数封装后返回给所述应用程序;
若否,获取预置时间内向所述应用程序发送的参数对应的版本号,从所述后台存储的所述应用程序的全部版本号中剔除所述对应的版本号,从剩余的版本号中随机获取一个版本号,将所述随机获取的版本号对应的参数封装后返回给所述应用程序。
该实施例中,考虑到每个应用程序版本号有多个,大部分应用程序每个版本都向下兼容,即高版本的兼容低版本的,但是有的应用程序变化很大,每个版本都不兼容,例如,安卓系统每年升级差异较大,可能导致应用程序基于当年的安卓系统开发,每个版本都不兼容,因此需要根据应用程序自身判断版本号是否向下兼容,例如,应用程序为QQ,则每个版本都向下兼容。如果向下兼容,则直接将设定低版本号对应的参数封装后返回给应用程序。如果不向下兼容,考虑到当应用程序接收到版本号不对时会重复发请求,因此每次可先剔除上次发送的版本号,然后随机获取剩余的一个版本号,将随机获取的版本号对应的参数封装后返回给应用程序。
S140、若不匹配,从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序。
参数用于保证应用程序功能的正常运行。一般来说,应用程序的版本号不同,相应的参数也会有差异。为了保证应用程序的性能,一般是将相同版本的参数封装后返回给应用程序。封装(encapsulation)指的是隐藏对象的属性和实现细节,仅对外公开接口,通过封装可以控制在程序中属性的读取和修改的访问级别。
如果后台存储的版本号没有同步,则可能存在请求中携带的第一版本号和后台存储的该应用程序的版本号无法匹配的情况,在该种情况下,考虑到新老版本兼容的问题,可以将低于第一版本号的版本号对应的参数封装后返回给应用程序。
在app版本号和后台版本号不一致时,为了既能实现有效的兼容,也能保证app的性能,在一个实施例中,所述从所述后台获取所述应用程序的低于所述第一版本号的版本号,包括:从所述后台获取所述应用程序的所述第一版本号的低一级版本号。采用就近原则进行匹配,就近原则匹配的版本号低于请求携带的第一版本号。例如请求携带的第一版本号是1.1.5,第一版本号是1.1.5的低一级版本号为1.1.0,则后台会匹配到1.1.0版本,将1.1.0版本对应的参数封装后返回给应用程序。
在一个实施例中,所述从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序,包括:
判断所述应用程序的版本号是否向下兼容;
若是,从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序;
若否,获取预置时间内向所述应用程序发送的参数对应的版本号,从所述后台存储的所述应用程序的全部版本号中剔除所述对应的版本号,从剩余的版本号中随机获取一个版本号,将所述随机获取的版本号对应的参数封装后返回给所述应用程序。
该实施例中,考虑到每个应用程序版本号有多个,大部分应用程序每个版本都向下兼容,即高版本的兼容低版本的,但是有的应用程序变化很大,每个版本都不兼容,例如,安卓系统每年升级差异较大,可能导致应用程序基于当年的安卓系统开发,每个版本都不兼容,因此需要根据应用程序自身判断版本号是否向下兼容,例如,应用程序为QQ,则每个版本都向下兼容。如果向下兼容,则直接将低于第一版本号的版本号对应的参数封装后返回给应用程序。如果不向下兼容,考虑到当应用程序接收到版本号不对时会重复发请求,因此每次可先剔除上次发送的版本号,然后随机获取剩余的一个版本号,将随机获取的版本号对应的参数封装后返回给应用程序。
在一个实施例中,所述将所述第一版本号与所述后台存储的所述应用程序的版本号进行匹配,之后,还包括:若匹配,将所述第一版本号对应的参数封装后返回给所述应用程序。如果请求中携带了第一版本号,且第一版本号与后台版本号匹配,则后台可以直接封装第一版本号对应的参数并返回该应用程序。
基于同一发明构思,本申请提供一种接口控制装置,下面结合附图本申请装置的具体实施方式进行详细介绍。
如图3所示,在一个实施例中,一种接口控制装置,包括:
请求接收模块210,用于接收应用程序调用后台的接口时发送的请求。
应用程序为任何需要调用后台接口的应用程序。后台指的是后台服务器,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云等等。在app调用后台接口时,app一般会在请求中带入版本号。版本号是版本的标识号,每一个应用都有一个版本号,版本号能使用户了解所使用的应用是否为最新的版本以及它所提供的功能与设施。
在请求中加入第一版本号的方式有很多种,下面结合三个实施例进行说明,应当理解的是,本申请并不限制于下述三种方式。
在一个实施例中,所述第一版本号插于所述请求的存储空间中的指定位置。为请求分配一定的存储空间,在请求的存储空间中指定一个位置,用于存储第一版本号。例如,在请求头中为第一版本号分配一个位置。在发送请求时,将第一版本号插入该指定位置后发送给后台。
在另一个实施例中,所述第一版本号存储在所述请求的扩展字段中。扩展字段为在请求的原有存储空间外增加的字段,用于存储版本号信息。为请求设置扩展字段,在扩展字段中插入第一版本号后发送给后台。
考虑到上述两种方式均会增加网络传输的数据量,因此,在另一个实施例中,所述第一版本号存储在所述请求的存储空间中的空位中,所述空位通过对所述请求压缩得到。为请求分配一定的存储空间,然后将请求压缩为一个较小值,那么在该分配的存储空间中就会留出空位,在留出的空位中插入第一版本号,从而降低了网络传输的数据量。对请求压缩的方式有很多种,例如,可以通过gzip算法等对请求进行压缩。
可选的,请求中还可以包含app所在终端的标识。终端的标识为终端的身份信息,例如终端的标识为MAC地址等等。app安装于终端中,向后台发送请求时一般需要包括终端的标识,以指示后台将响应返回给哪一个设备。
版本号检测模块220,用于检测所述请求中是否包含所述应用程序的第一版本号。
考虑到成本问题,一般会对新版本的app进行设置,新版app在调用后台接口时一般会在请求中带入版本号,而一些老版本的app由于未设置或者其他原因可能在请求中没有带入版本号,因此需要对app发送的请求中携带版本号情况进行检测,以确定返回哪一个版本的参数。
在一个实施例中,所述第一版本号插于所述请求的存储空间中的指定位置;所述版本号检测模块220检测所述请求的存储空间中的指定位置是否存储有所述第一版本号。
在一个实施例中,所述第一版本号存储在所述请求的扩展字段中;所述版本号检测模块220检测所述请求的扩展字段中是否存储有所述第一版本号。
在一个实施例中,所述第一版本号存储在所述请求的存储空间中的空位中,所述空位通过对所述请求压缩得到;所述版本号检测模块220检测所述请求的存储空间中的空位中是否存储有所述第一版本号。
匹配模块230,用于在包含所述第一版本号时,将所述第一版本号与所述后台存储的所述应用程序的版本号进行匹配。
如果请求中携带了第一版本号,考虑到可能存在app版本号和后台存储的该应用程序的版本号不同步的情况,需要将第一版本号与后台存储的应用程序的版本号进行匹配,根据匹配的情况确定封装的参数。
在一个实施例中,匹配模块230在不包含所述第一版本号时,从所述后台获取所述应用程序的设定低版本号,将设定低版本号对应的参数封装后返回给所述应用程序。考虑到一般是低版本的app未携带第一版本号,因此后台在匹配时会默认匹配该app的设定低版本号,封装低版本号对应的参数并返回。
在一个实施例中,所述匹配模块230判断所述应用程序的版本号是否向下兼容;在向下兼容时,从所述后台获取所述应用程序的设定低版本号,将设定低版本号对应的参数封装后返回给所述应用程序;在不向下兼容时,获取预置时间内向所述应用程序发送的参数对应的版本号,从所述后台存储的所述应用程序的全部版本号中剔除所述对应的版本号,从剩余的版本号中随机获取一个版本号,将所述随机获取的版本号对应的参数封装后返回给所述应用程序。
参数封装模块240,用于在不匹配时,从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序。
如果后台存储的版本号没有同步,则可能存在请求中携带的第一版本号和后台存储的该应用程序的版本号无法匹配的情况,在该种情况下,考虑到新老版本兼容的问题,可以将低于第一版本号的版本号对应的参数封装后返回给应用程序。
在app版本号和后台版本号不一致时,为了既能实现有效的兼容,也能保证app的性能,在一个实施例中,参数封装模块240在不匹配时,从所述后台获取所述应用程序的所述第一版本号的低一级版本号。采用就近原则进行匹配,就近原则匹配的版本号低于请求携带的第一版本号。
在一个实施例中,参数封装模块240判断所述应用程序的版本号是否向下兼容;在向下兼容时,从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序;在不向下兼容时,获取预置时间内向所述应用程序发送的参数对应的版本号,从所述后台存储的所述应用程序的全部版本号中剔除所述对应的版本号,从剩余的版本号中随机获取一个版本号,将所述随机获取的版本号对应的参数封装后返回给所述应用程序。
在一个实施例中,参数封装模块240在匹配时,将所述第一版本号对应的参数封装后返回给所述应用程序。如果请求中携带了第一版本号,且第一版本号与后台版本号匹配,则后台可以直接封装第一版本号对应的参数并返回该应用程序。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项所述的接口控制方法。其中,所述存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable ProgrammableRead-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSableProgrammable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。可以是只读存储器,磁盘或光盘等。
本申请实施例还提供一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任意一项所述的接口控制方法。
图4为本申请计算机设备的结构示意图,包括处理器320、存储装置330、输入单元340以及显示单元350等器件。本领域技术人员可以理解,图4示出的结构器件并不构成对所有计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储装置330可用于存储应用程序310以及各功能模块,处理器320运行存储在存储装置330的应用程序310,从而执行设备的各种功能应用以及数据处理。存储装置330可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、ZIP盘、U盘、磁带等。本申请所公开的存储装置包括但不限于这些类型的存储装置。本申请所公开的存储装置330只作为例子而非作为限定。
输入单元340用于接收信号的输入,以及接收应用程序调用后台的接口时发送的请求。输入单元340可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元350可用于显示用户输入的信息或提供给用户的信息以及计算机设备的各种菜单。显示单元350可采用液晶显示器、有机发光二极管等形式。处理器320是计算机设备的控制中心,利用各种接口和线路连接整个电脑的各个部分,通过运行或执行存储在存储装置330内的软件程序和/或模块,以及调用存储在存储装置内的数据,执行各种功能和处理数据。
在一实施方式中,计算机设备包括一个或多个处理器320,以及一个或多个存储装置330,一个或多个应用程序310,其中所述一个或多个应用程序310被存储在存储装置330中并被配置为由所述一个或多个处理器320执行,所述一个或多个应用程序310配置用于执行以上实施例所述的接口控制方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解的是,在本申请各实施例中的各功能单元可集成在一个处理模块中,也可以各个单元单独物理存在,也可以两个或两个以上单元集成于一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (9)
1.一种接口控制方法,其特征在于,包括:
接收应用程序调用后台的接口时发送的请求;
检测所述请求中是否包含所述应用程序的第一版本号;
若包含所述第一版本号,将所述第一版本号与所述后台存储的所述应用程序的版本号进行匹配;
若不匹配,从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序,所述参数用于保证应用程序的运行;
所述从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序,包括:
判断所述应用程序的版本号是否向下兼容;
若是,从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序;
若否,获取预置时间内向所述应用程序发送的参数对应的版本号,从所述后台存储的所述应用程序的全部版本号中剔除所述对应的版本号,从剩余的版本号中随机获取一个版本号,将所述随机获取的版本号对应的参数封装后返回给所述应用程序。
2.根据权利要求1所述的接口控制方法,其特征在于,所述检测所述请求中是否包含所述应用程序的第一版本号,之后,还包括:
若不包含所述第一版本号,从所述后台获取所述应用程序的设定低版本号,将设定低版本号对应的参数封装后返回给所述应用程序。
3.根据权利要求2所述的接口控制方法,其特征在于,所述从所述后台获取所述应用程序的设定低版本号,将设定低版本号对应的参数封装后返回给所述应用程序,包括:
判断所述应用程序的版本号是否向下兼容;
若是,从所述后台获取所述应用程序的设定低版本号,将设定低版本号对应的参数封装后返回给所述应用程序;
若否,获取预置时间内向所述应用程序发送的参数对应的版本号,从所述后台存储的所述应用程序的全部版本号中剔除所述对应的版本号,从剩余的版本号中随机获取一个版本号,将所述随机获取的版本号对应的参数封装后返回给所述应用程序。
4.根据权利要求1至3任意一项所述的接口控制方法,其特征在于,所述第一版本号插于所述请求的存储空间中的指定位置;所述检测所述请求中是否包含所述应用程序的第一版本号,包括:
检测所述请求的存储空间中的指定位置是否存储有所述第一版本号。
5.根据权利要求1至3任意一项所述的接口控制方法,其特征在于,所述第一版本号存储在所述请求的扩展字段中;所述检测所述请求中是否包含所述应用程序的第一版本号,包括:
检测所述请求的扩展字段中是否存储有所述第一版本号。
6.根据权利要求1至3任意一项所述的接口控制方法,其特征在于,所述第一版本号存储在所述请求的存储空间中的空位中,所述空位通过对所述请求压缩得到;所述检测所述请求中是否包含所述应用程序的第一版本号,包括:
检测所述请求的存储空间中的空位中是否存储有所述第一版本号。
7.一种接口控制装置,其特征在于,包括:
请求接收模块,用于接收应用程序调用后台的接口时发送的请求;
版本号检测模块,用于检测所述请求中是否包含所述应用程序的第一版本号;
匹配模块,用于在包含所述第一版本号时,将所述第一版本号与所述后台存储的所述应用程序的版本号进行匹配;
参数封装模块,用于在不匹配时,从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序,所述参数用于保证应用程序的运行;
其中,所述参数封装模块,具体用于判断所述应用程序的版本号是否向下兼容;若是,从所述后台获取所述应用程序的低于所述第一版本号的版本号,将获取的版本号对应的参数封装后返回给所述应用程序;若否,获取预置时间内向所述应用程序发送的参数对应的版本号,从所述后台存储的所述应用程序的全部版本号中剔除所述对应的版本号,从剩余的版本号中随机获取一个版本号,将所述随机获取的版本号对应的参数封装后返回给所述应用程序。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至6中任意一项所述的接口控制方法。
9.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至6中任意一项所述的接口控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910173385.4A CN110008039B (zh) | 2019-03-07 | 2019-03-07 | 接口控制方法、装置、计算机可读存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910173385.4A CN110008039B (zh) | 2019-03-07 | 2019-03-07 | 接口控制方法、装置、计算机可读存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110008039A CN110008039A (zh) | 2019-07-12 |
CN110008039B true CN110008039B (zh) | 2020-11-03 |
Family
ID=67166719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910173385.4A Active CN110008039B (zh) | 2019-03-07 | 2019-03-07 | 接口控制方法、装置、计算机可读存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110008039B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070214099A1 (en) * | 2006-03-09 | 2007-09-13 | Miten Marfatia | Pattern abstraction engine |
CN101566954A (zh) * | 2009-05-31 | 2009-10-28 | 珠海金山软件股份有限公司 | 一种管理插件的方法及管理插件的装置 |
CN102081605A (zh) * | 2009-11-30 | 2011-06-01 | 中国移动通信集团上海有限公司 | 基于数据仓库的数据封装装置及业务数据获取方法 |
CN103618699A (zh) * | 2013-11-12 | 2014-03-05 | 吴晓军 | 一种调用组件的方法及装置 |
CN105183484A (zh) * | 2015-09-28 | 2015-12-23 | 北京奇虎科技有限公司 | 一种多版本应用程序编程接口兼容的方法及装置 |
CN106371838A (zh) * | 2016-08-31 | 2017-02-01 | 福建联迪商用设备有限公司 | 一种维护软件包依赖关系的方法及系统 |
-
2019
- 2019-03-07 CN CN201910173385.4A patent/CN110008039B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070214099A1 (en) * | 2006-03-09 | 2007-09-13 | Miten Marfatia | Pattern abstraction engine |
CN101566954A (zh) * | 2009-05-31 | 2009-10-28 | 珠海金山软件股份有限公司 | 一种管理插件的方法及管理插件的装置 |
CN102081605A (zh) * | 2009-11-30 | 2011-06-01 | 中国移动通信集团上海有限公司 | 基于数据仓库的数据封装装置及业务数据获取方法 |
CN103618699A (zh) * | 2013-11-12 | 2014-03-05 | 吴晓军 | 一种调用组件的方法及装置 |
CN105183484A (zh) * | 2015-09-28 | 2015-12-23 | 北京奇虎科技有限公司 | 一种多版本应用程序编程接口兼容的方法及装置 |
CN106371838A (zh) * | 2016-08-31 | 2017-02-01 | 福建联迪商用设备有限公司 | 一种维护软件包依赖关系的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110008039A (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109672580B (zh) | 全链路监控方法、装置、终端设备及存储介质 | |
US20170329659A1 (en) | Linux system-based cen/xfs standard architecture and implementation method | |
EP2989543B1 (en) | Method and device for updating client | |
CN108509215B (zh) | 一种系统软件的更换方法、装置、终端设备及存储介质 | |
CN108762956B (zh) | 获取Native本地数据的方法、服务器、移动终端及存储介质 | |
EP3111359B1 (en) | Method and system for extracting characteristic information | |
MX2010014464A (es) | Sistema y metodo para el manejo seguro de memoria. | |
CN114257551A (zh) | 一种分布式限流的方法及系统、存储介质 | |
CN108228077B (zh) | 存储区的管理方法、运行方法、装置、设备、可读介质 | |
CN108510287A (zh) | 客户回访的判断方法、电子装置及计算机可读存储介质 | |
CN106155746B (zh) | 一种安装文件处理方法及装置、服务器 | |
CN111523097B (zh) | 基于安卓系统的app刷子用户识别方法、设备及存储介质 | |
CN110928554A (zh) | 一种部署方法、装置、设备及存储介质 | |
CN110362341B (zh) | 基于微服务架构的业务管理方法、装置、设备和存储介质 | |
CN106997313B (zh) | 一种应用程序的信号处理方法、系统及终端设备 | |
CN107766068B (zh) | 应用系统补丁安装方法、装置、计算机设备和存储介质 | |
CN110008039B (zh) | 接口控制方法、装置、计算机可读存储介质和计算机设备 | |
KR102097644B1 (ko) | 보안 요소 내의 패키지를 관리하는 방법 | |
CN103677933A (zh) | 一种为智能卡打补丁的方法和系统 | |
US7644316B2 (en) | System, method and program for managing browser scripts sent from server to client | |
CN102722678A (zh) | 一种虚拟桌面可执行程序保护机制 | |
CN105653412A (zh) | 一种指纹器件兼容检测方法及终端 | |
CN112130900B (zh) | 一种bmc的用户信息管理方法、系统、设备以及介质 | |
CN114416396A (zh) | 一种接口版本控制方法、装置、电子设备及存储介质 | |
CN114816668A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210129 Address after: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.) Patentee after: Shenzhen saiante Technology Service Co.,Ltd. Address before: 1-34 / F, Qianhai free trade building, 3048 Xinghai Avenue, Mawan, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong 518000 Patentee before: Ping An International Smart City Technology Co.,Ltd. |
|
TR01 | Transfer of patent right |