一种接口的模拟方法和装置与流程

文档序号:16467517发布日期:2019-01-02 22:52阅读:111来源:国知局
一种接口的模拟方法和装置与流程

本发明涉及计算机软硬件研发领域,尤指一种接口的模拟方法和装置。



背景技术:

接口是软硬件开发过程中不同系统直接集成的桥梁。在目前的开发过程中,不同的开发团队之间主要还是通过提供接口文档的方式进行沟通。但是,以文档的方式沟通往往不够直观,体现在开发人员在开发过程中无法实际地访问接口(除非耗费额外的精力编写一套程序来访问接口),这给后续的系统集成步骤带来了风险,往往需要开发人员在系统集成时耗费大量的时间来调试接口。



技术实现要素:

为了解决上述技术问题,本发明提供了一种接口的模拟方法和装置,其能够记录请求执行的操作方式以及对应的返回结果。

为了达到本发明目的,本发明提供了一种接口的模拟方法,该方法包括下列步骤:

调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求分别执行全部的操作方式;

在操作系统采用软件接口和硬件接口请求执行全部的操作的时候,按照接口及其操作方式来记录各个接口的初始信息、各个接口请求执行的全部的操作方式以及各个操作方式分别对应的返回结果;

在接收到由接口的需求方发送的接口获取请求时,将所记录的各个接口请求执行的全部的操作方式发送给接口的需求方;

根据由接口的需求方发送的模拟操作请求中所指的接口以及接口的操作方式,将对应的返回结果发送给接口的需求方。

进一步地,在一个可选的实施例中,接口的初始信息包括:

接口所用的协议以及接口的传入参数。

进一步地,在一个可选的实施例中,在调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作的步骤之前,该方法还包括:

查询操作系统是否已采用操作系统的软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作:

如果否,则执行调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作的步骤;

如果是,则查询操作系统的软件接口或者操作系统所在的硬件设备的硬件接口在请求执行全部的操作之后是否已改变,如果已改变,则采用改变的接口执行调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作方式的步骤。

进一步地,在一个可选的实施例中,在将对应的返回结果发送给接口的需求方的步骤之后,该方法还包括:

向接口的需求方查询返回结果是否进行了修改;

如果返回结果进行了修改,则获取经修改的返回结果,以进行备份。

进一步地,在一个可选的实施例中,按照接口及其操作方式来记录各个接口的初始信息、各个接口请求执行的全部的操作方式以及各个操作方式分别对应的返回结果的步骤,包括:

判断接口是受到外部调用的接口还是受到本地调用的接口;

如果接口是受到外部调用的接口,则在接收接口的需求方请求执行的操作并且产生对应的返回结果时,对所传输的数据包进行过滤,以抓取并且记录各个接口的初始信息、各个接口请求执行的全部操作方式以及各个操作方式分别对应的返回结果。

另一方面,本发明实施例提供了一种接口的模拟装置,该装置包括请求操作模块、记录模块、请求发送模块以及返回结果发送模块;其中,

请求操作模块用于调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求分别执行全部的操作方式;

记录模块用于:在操作系统采用软件接口和硬件接口请求执行全部的操作的时候,按照接口及其操作方式来记录各个接口的初始信息、各个接口请求执行的全部的操作方式以及各个操作方式分别对应的返回结果;

请求发送模块用于:在接收到由接口的需求方发送的接口获取请求时,将所记录的各个接口请求执行的全部的操作方式发送给接口的需求方;并且

返回结果发送模块用于:根据由接口的需求方发送的模拟操作请求中所指的接口以及接口的操作方式,将对应的返回结果发送给接口的需求方。

进一步地,在一个可选的实施例中,接口的初始信息包括:

接口所用的协议以及接口的传入参数。

进一步地,在一个可选的实施例中,该装置还包括查询模块和改变接口记录模块;其中,

查询模块用于:在请求操作模块调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求分别执行全部的操作方式之前,查询操作系统是否已采用操作系统的软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作;

请求操作模块用于:如果查询模块查询到操作系统没有采用操作系统的软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作,则执行调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作的步骤;

查询模块还用于:如果查询到操作系统已采用操作系统的软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作,则查询操作系统的软件接口或者操作系统所在的硬件设备的硬件接口在请求执行全部的操作之后是否已改变;

改变接口记录模块用于:如果查询接口查询到在请求执行全部的操作之后有接口发生了改变,则采用改变的接口执行调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作方式的步骤。

进一步地,在一个可选的实施例中,该装置还包括修改查询模块以及修改备份模块:

修改查询模块用于:向接口的需求方查询返回结果是否进行了修改;

修改备份模块用于:如果修改查询模块查询到返回结果进行了修改,则获取经修改的返回结果,以进行备份。

进一步地,在一个可选的实施例中,记录模块用于:

判断接口是受到外部调用的接口还是受到本地调用的接口;

如果接口是受到外部调用的接口,则在接收接口的需求方请求执行的操作并且产生对应的返回结果时,对所传输的数据包进行过滤,以抓取并且记录各个接口的初始信息、各个接口请求执行的全部操作方式以及各个操作方式分别对应的返回结果。

本发明实施例的有益效果在于,通过上述步骤,可以预先记录全部接口的全部操作的数据,并且将操作的数据发送给接口的需求端,接口的需求端的用户可以模拟请求通过接口进行各种操作,并且获得所执行的操作对应的返回结果,而不必实际地访问接口,也无需花费时间来调试接口。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例提供的接口的模拟方法的流程图;

图2为本发明实施例提供的接口的模拟装置的框图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

一方面,本发明实施例提供了一种接口的模拟方法,如图1所示,该方法包括步骤s101-步骤s107。

步骤s101,调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求分别执行全部的操作方式。

在实际应用环境中,可以确定的是,接口的开发方肯定拥有完备的实验环境,并且这样的试验环境往往是外界不具备的,因此为了能够在不耗费大量的时间调试接口的情况下使得外界(或者说是接口的需求方)能够使用接口,接口的开发方需要通过本方法的步骤s101将每个接口都完整地请求一遍,就能过详细地记录下每个接口的访问方式与返回结果,然后,接口的开发方可以将这些接口数据提供给接口的需求方。

另一方面,接口的需求方往往在开放过程中不具备完备的实验环境(例如,大型集群式服务器系统),此时,接口的需求方只需要采用本方法中接口的开发方提供的接口数据,就能模拟接口服务,更方便地进行开发。这里所说的操作方式包括get、post、put、delete、head以及options。

步骤s103,在操作系统采用软件接口和硬件接口请求执行全部的操作的时候,按照接口及其操作方式来记录各个接口的初始信息、各个接口请求执行的全部的操作方式以及各个操作方式分别对应的返回结果。

步骤s105,在接收到由接口的需求方发送的接口获取请求时,将所记录的各个接口请求执行的全部的操作方式发送给接口的需求方。

其中,接口获取请求是有接口的需求方发送的,用于使得接口的需求方获得各个接口的全部的操作方式。

步骤s107,根据由接口的需求方发送的模拟操作请求中所指的接口以及接口的操作方式,将对应的返回结果发送给接口的需求方。

本发明实施例的有益效果在于,通过上述步骤,可以预先记录全部接口的全部操作的数据,并且将操作的数据发送给接口的需求端,接口的需求端的用户可以模拟请求通过接口进行各种操作,并且获得所执行的操作对应的返回结果,而不必实际地访问接口,也无需花费时间来调试接口。

进一步地,在一个可选的实施例中,接口的初始信息包括:接口所用的协议以及接口的传入参数。然而,接口的初始信息不限于协议以及传入参数。

进一步地,在一个可选的实施例中,在步骤s101之前,该方法还包括:

查询操作系统是否已采用操作系统的软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作:

如果未采用操作系统的软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作,则执行调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作的步骤;

如果已采用操作系统的软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作,则查询操作系统的软件接口或者操作系统所在的硬件设备的硬件接口在请求执行全部的操作之后是否已改变,如果已改变,则采用改变的接口执行调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作方式的步骤。

通过上述方式,对于已经记录过接口数据的接口来说,可以减少记录接口的数据的工作量;对于已经记录过接口数据并且有接口改变的情况,可以仅对改变的接口执行记录工作,同样能减少记录接口的数据的工作量。

进一步地,在一个可选的实施例中,在步骤s107之后,该方法还包括:向接口的需求方查询返回结果是否进行了修改;

如果返回结果进行了修改,则获取经修改的返回结果,以进行备份。

由于接口的需求方会根据自身的需求而调整接口,因此会对返回结果进行一定程度上的修改,因此在此获取经修改的返回结果,并且备份经修改的返回数据,以在未来应用接口时,可以返回经修改的返回数据或者是初始的返回数据。

进一步地,在一个可选的实施例中,步骤s103包括:

判断接口是受到外部调用的接口还是受到本地调用的接口;

如果接口是受到外部调用的接口,则在接收接口的需求方请求执行的操作并且产生对应的返回结果时,对所传输的数据包进行过滤,以抓取并且记录各个接口的初始信息、各个接口请求执行的全部操作方式以及各个操作方式分别对应的返回结果。

在此,受到外部调用的接口例如可以是http接口,由于http请求的过程包括域名解析、发起tcp的3次握手、建立tcp连接后发起http请求、服务器响应http请求的子步骤,因此在本发明的执行主体与接口的需求方进行http通信的时候,数据包中的内容并非全部都是模拟接口所需要的接口的初始信息、接口请求执行的操作方式以及对应的返回结果;因此,需要对所传输的数据包进行过滤,以抓取并且记录各个接口的初始信息、各个接口请求执行的全部操作方式以及各个操作方式分别对应的返回结果。在接收到由接口的需求方发送的模拟操作请求时,对接口的需求方提供http服务,返回已经抓取并且记录的各个接口的初始信息、各个接口请求执行的全部操作方式以及各个操作方式分别对应的返回结果,此时本发明的执行主体是一个独立的http服务端。

接口也可以是受到本地调用的接口,例如可以是系统调用的接口或者命令行接口(命令行接口是操作系统或者应用程序为用户提供的可是提示接口,用户可以使用命令行几口在特定的行中输入命令,以获得返回结果)。对于本地调用的接口来说,并不存在类似于http请求的过程包括域名解析、发起tcp的3次握手、建立tcp连接后发起http请求、服务器响应http请求的子步骤,因此在记录时,只需要直接记录各个接口的初始信息、各个接口请求执行的全部的操作方式以及各个操作方式分别对应的返回结果。

另一方面,本发明实施例提供了一种接口的模拟装置,如图2所示,该装置包括请求操作模块201、记录模块203、请求发送模块205以及返回结果发送模块207。

请求操作模块201用于调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求分别执行全部的操作方式;

记录模块203用于:在操作系统采用软件接口和硬件接口请求执行全部的操作的时候,按照接口及其操作方式来记录各个接口的初始信息、各个接口请求执行的全部的操作方式以及各个操作方式分别对应的返回结果;

请求发送模块205用于:在接收到由接口的需求方发送的接口获取请求时,将所记录的各个接口请求执行的全部的操作方式发送给接口的需求方;并且

返回结果发送模块207用于:根据由接口的需求方发送的模拟操作请求中所指的接口以及接口的操作方式,将对应的返回结果发送给接口的需求方。

本发明实施例的有益效果在于,通过上述步骤,可以预先记录全部接口的全部操作的数据,并且将操作的数据发送给接口的需求端,接口的需求端的用户可以模拟请求通过接口进行各种操作,并且获得所执行的操作对应的返回结果,而不必实际地访问接口,也无需花费时间来调试接口。

进一步地,在一个可选的实施例中,该接口的初始信息包括:

接口所用的协议以及接口的传入参数。

进一步地,在一个可选的实施例中,该装置还包括查询模块和改变接口记录模块;其中,

查询模块用于:在请求操作模块201调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求分别执行全部的操作方式之前,查询操作系统是否已采用操作系统的软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作;

请求操作模块用于:如果查询模块查询到操作系统没有采用操作系统的软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作,则执行调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作的步骤;

查询模块还用于:如果查询到操作系统已采用操作系统的软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作,则查询操作系统的软件接口或者操作系统所在的硬件设备的硬件接口在请求执行全部的操作之后是否已改变;

改变接口记录模块用于:如果查询接口查询到在请求执行全部的操作之后有接口发生了改变,则采用改变的接口执行调用操作系统采用其软件接口以及操作系统所在的硬件设备的硬件接口请求执行全部的操作方式的步骤。

进一步地,在一个可选的实施例中,该装置还包括修改查询模块以及修改备份模块:

修改查询模块用于:向接口的需求方查询返回结果是否进行了修改;

修改备份模块用于:如果修改查询模块查询到返回结果进行了修改,则获取经修改的返回结果,以进行备份。

进一步地,在一个可选的实施例中,记录模块203用于:

判断接口是受到外部调用的接口还是受到本地调用的接口;

如果接口是受到外部调用的接口,则在接收接口的需求方请求执行的操作并且产生对应的返回结果时,对所传输的数据包进行过滤,以抓取并且记录各个接口的初始信息、各个接口请求执行的全部操作方式以及各个操作方式分别对应的返回结果。

虽然本发明所揭露的实施方式如上,但上述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1