本发明涉及挡板服务的技术领域,尤其是涉及一种挡板服务方法及系统。
背景技术
挡板服务,通常运用于系统多个关联组件的同步开发过程中,为模拟关联组件中请求方所得响应报文的服务,即,使用提前模拟实现了多个关联组件联调测试的目的。
目前,挡板服务是通过预先定义好的挡板内容模拟得到关联组件中请求方所得的响应报文。具体地,查找相应于请求方交易编号的挡板内容,然后从上述挡板内容中查找交易编号对应的响应报文,以作为请求方所得的响应报文。这种传统挡板服务中,请求方所得的响应报文是预先在挡板内容中和交易编号一一对应编制,即,响应报文存在于挡板内容中,响应报文受预先定义挡板内容的限制,挡板服务的服务局限性较大。
针对传统挡板服务的服务局限性较大的技术问题,现有技术中缺乏有效的解决方案。
技术实现要素:
有鉴于此,本发明的目的在于提供一种挡板服务方法及系统,以缓解传统挡板服务服务局限性较大的技术问题。
第一方面,本发明实施例提供了一种挡板服务方法,包括:
接收请求方发送的请求报文,其中,所述请求方为目标系统关联组件中的一个组件;
根据预设挡板内容确定所述请求报文的响应方式;
基于所述响应方式生成所述请求报文的响应报文,以向所述请求方发送所述响应报文。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,根据预设挡板内容确定所述请求报文的响应方式,包括:
解析所述请求报文中所包含的交易编号,并从所述预设挡板内容中获取所述交易编号的配置信息;
判断所述配置信息是否配置开启外组件调用模式;
在所述配置信息配置开启外组件调用模式的情况下,通过所述外组件响应所述请求报文。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,所述方法还包括:
在所述配置信息配置不开启外组件调用模式的情况下,从所述预设挡板内容中查找是否存在所述交易编号的动态返回报文规则;
在所述预设挡板内容中存在所述动态返回报文规则的情况下,通过所述动态返回报文规则动态响应所述请求报文。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述方法还包括:
在所述预设挡板内容中不存在所述动态返回报文规则的情况下,从所述预设挡板内容中查找是否存在所述交易编号的预定义挡板;
在所述预设挡板内容中存在所述预定义挡板的情况下,通过所述预定义挡板响应所述请求报文。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述预定义挡板包括多个响应报文,且一个所述响应报文对应同一交易编号的一个交易场景,通过所述预定义挡板响应所述请求报文,包括:
获取设置信息,其中,所述设置信息为设置目标交易场景的信息;
根据所述设置信息,从多个所述响应报文中获取所述目标交易场景所对应的响应报文;
通过所述目标交易场景所对应的响应报文响应所述请求报文。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述方法还包括:
在所述预设挡板内容中不存在所述预定义挡板的情况下,将向所述请求方发送目标信息确定为所述请求报文的响应方式,其中,
所述目标信息为表示所述请求报文存在异常的信息。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述方法还包括:
接收对所述预设挡板内容进行修改的修改信息;
根据所述修改信息对所述预设挡板内容进行修改,得到修改内容;
通过所述修改内容对所述预设挡板内容进行更新。
结合第一方面的第六种可能的实施方式,本发明实施例提供了第一方面的第七种可能的实施方式,其中,通过第一网址接收请求方发送的请求报文,通过第二网址接收对所述预设挡板内容进行修改的修改信息,且所述第一网址和所述第二网址为同一个网址。
第二方面,本发明实施例还提供一种挡板服务系统,包括:
接收模块,用于接收请求方发送的请求报文,其中,所述请求方为目标系统关联组件中的一个组件;
确定模块,用于根据预设挡板内容确定所述请求报文的响应方式;
生成模块,用于基于所述响应方式生成所述请求报文的响应报文,以向所述请求方发送所述响应报文。
本发明实施例带来了以下有益效果:
该挡板服务方法包括:接收请求方发送的请求报文,其中,请求方为目标系统关联组件中的一个组件;根据预设挡板内容确定请求报文的响应方式;基于响应方式生成请求报文的响应报文,以向请求方发送响应报文。该挡板服务方法中,预设挡板内容确定请求报文的响应方式,且不同的响应方式生成不同的响应报文,从而,请求报文的响应报文因响应方式不同而不同,响应报文不再局限于挡板内容中预先存储的响应报文,因而,缓解了传统挡板服务的服务局限性较大的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种挡板服务方法的流程图;
图2为本发明实施例一提供的一种根据预设挡板内容确定请求报文响应方式的方法流程图;
图3为本发明实施例二提供的一种挡板服务系统的结构框图;
图4为本发明实施例二提供的另一种挡板服务系统的结构框图。
图标:1-接收模块;2-确定模块;3-生成模块;100-请求报文解析模块;101-关联组件调用转发模块;102-动态报文响应模块;103-预定挡板报文响应模块;200-在线挡板设置服务模块;300-数据库。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前的挡板服务中,响应报文存在于挡板内容中,响应报文受预先定义挡板内容的限制,挡板服务的服务局限性较大。基于此,本发明实施例提供的一种挡板服务方法及系统,可以缓解传统挡板服务服务局限性较大的技术问题。
为便于对本实施例进行理解,首先对本发明涉及到的一些术语进行解释:
(1)交易报文:各系统组件之间信息传递的载体,分为请求报文和响应报文,通常为xml文本形式。
(2)交易编号:识别一只交易的业务功能的编号,为请求报文中的一个节点信息。
(3)关联组件:存在报文交互系统中的系统组件。
(4)动态响应报文:响应报文的结构和内容会根据请求报文的内容动态改变。
(5)交易场景:同一交易编号存在多种测试案例(例如,有交易成功的案例和交易失败的案例),同一交易编号的一个交易场景对应一种测试案例。
实施例一
本发明实施例提供的一种挡板服务方法,应用于挡板服务系统上,如图1所示,该挡板服务方法包括:
步骤s102,接收请求方发送的请求报文,其中,请求方为目标系统关联组件中的一个组件。
具体地,可以通过持续监听来接收向挡板服务系统的服务端口发送的请求报文。当一次合法的请求报文发送至挡板服务系统上,挡板服务系统通过解析该请求报文,可以获取到请求报文中的交易编号及其他业务相关信息。
步骤s104,根据预设挡板内容确定请求报文的响应方式。
具体地,请求报文的响应方式可以包括请求报文的响应方、响应策略等,即,请求报文的响应方式不同,可以是响应方不同,也可以是响应策略不同。
步骤s106,基于响应方式生成请求报文的响应报文,以向请求方发送响应报文。
具体地,可以是将响应报文发送至请求方的服务地址。
在本发明实施例中,该挡板服务方法包括:接收请求方发送的请求报文,其中,请求方为目标系统关联组件中的一个组件;根据预设挡板内容确定请求报文的响应方式;基于响应方式生成请求报文的响应报文,以向请求方发送响应报文。该挡板服务方法中,预设挡板内容确定请求报文的响应方式,且不同的响应方式生成不同的响应报文,从而,请求报文的响应报文因响应方式不同而不同,响应报文不再局限于挡板内容中预先存储的响应报文,因而,缓解了传统挡板服务的服务局限性较大的技术问题。
下面对步骤s104,根据预设挡板内容确定请求报文的响应方式,进行详细介绍:
本发明实施例的一个可选实施方式中,如图2所示,根据预设挡板内容确定请求报文的响应方式,包括:
步骤s201,解析请求报文中所包含的交易编号,并从预设挡板内容中获取交易编号的配置信息;
步骤s202,判断配置信息是否配置开启外组件调用模式;
步骤s203,在配置信息配置开启外组件调用模式的情况下,通过外组件响应请求报文。
具体地,通过外组件响应请求报文的这种响应方式中:首先,向配置信息中外组件的服务地址转发该请求报文内容;然后,接受外组件对于该请求报文的返回报文,将该返回报文将作为本次请求报文的响应报文。同时,可以将该响应报文记录至数据库,以作备份记录。
本发明实施例使得挡板服务方法具备向外组件转发请求报文以及向请求方转发外组件响应报文的能力,相对于传统挡板服务方法只支持挡板返回(即,响应报文存在于挡板内容中而由挡板内容返回)来说,该发明实施例提供的挡板服务方法在配置信息配置开启外组件调用模式的情况下,支持外组件返回,实现挡板返回和外组件返回的切换,即不再局限于挡板返回,有利于缓解传统挡板服务的服务局限性较大的技术问题。
本发明实施例的另一个可选实施方式中,如图2所示,挡板服务方法还包括:
步骤s204,在配置信息配置不开启外组件调用模式的情况下,从预设挡板内容中查找是否存在交易编号的动态返回报文规则;
步骤s205,在预设挡板内容中存在动态返回报文规则的情况下,通过动态返回报文规则动态响应请求报文。
具体地,通过动态返回报文规则动态响应请求报文的这种响应方式中:首先,调用相应的动态返回报文规则(动态返回报文规中包含响应报文的报文生成逻辑);然后,根据请求报文中的相关业务信息,差异化组装响应报文的内容,作为本次请求报文的响应报文。
本发明实施例提供的挡板服务方法支持根据请求字段的内容动态生成响应报文内容,响应报文内容不再受挡板内容中的响应报文的限制,有利于缓解传统挡板服务的服务局限性较大的技术问题。
本发明实施例的另一个可选实施方式中,如图2所示,挡板服务方法还包括:
步骤s206,在预设挡板内容中不存在动态返回报文规则的情况下,从预设挡板内容中查找是否存在交易编号的预定义挡板;
步骤s207,在预设挡板内容中存在预定义挡板的情况下,通过预定义挡板响应请求报文。
本发明实施例中,通过预定义挡板响应请求报文的这种响应方式中:预定义挡板中存储有响应报文,通过预定义挡板中存储的响应报文则可以直接得到请求报文相应的响应报文,方便快捷。
本发明实施例的另一个可选实施方式中,预定义挡板包括多个响应报文,且一个响应报文对应同一交易编号的一个交易场景,通过预定义挡板响应请求报文,包括:
获取设置信息,其中,设置信息为设置目标交易场景的信息;
根据设置信息,从多个响应报文中获取目标交易场景所对应的响应报文;
通过目标交易场景所对应的响应报文响应请求报文。
具体地,获取设置信息,可以是基于用户访问挡板服务系统来向挡板服务系统发送的设置信息,从而达到让用户采用在线页面的动态设置完成同一交易编号的不同交易场景的切换。
本发明实施例中提供的挡板服务方法支持同一交易不同交易场景响应报文内容的定制,满足了挡板测试工作中各方面的需求,对开发工作效率的提升有很大帮助。
本发明实施例的另一个可选实施方式中,如图2所示,挡板服务方法还包括:
步骤s208,在预设挡板内容中不存在预定义挡板的情况下,将向请求方发送目标信息确定为请求报文的响应方式,其中,
目标信息为表示请求报文存在异常的信息。
具体地,若预设挡板内容中不存在预定义挡板,则表明该请求报文对应的交易编号未配置挡板,请求报文存在异常,进一步,挡板服务系统组装该异常信息的报文,作为本次请求报文的响应报文。
本发明实施例提供的挡板服务方法使得请求报文存在异常时,请求方能清楚直接地获知。
本发明实施例的另一个可选实施方式中,挡板服务方法还包括:
接收对预设挡板内容进行修改的修改信息;
根据修改信息对预设挡板内容进行修改,得到修改内容;
通过修改内容对预设挡板内容进行更新。
需要说明的是,本发明实施例中的预设挡板内容至少包括以下之一:相应于交易编号的配置信息、相应于交易编号的动态返回报文规则、相应于交易编号的预定义挡板,继而对预设挡板内容进行修改,即,对上述配置信息、动态返回报文规则或预定义挡板进行修改。
本发明实施例提供的挡板服务方法在接收到修改信息后则对预设挡板内容进行修改,支持在线修改挡板而使修改实时生效的功能,无需为修改挡板而重启挡板服务系统。
本发明实施例的另一个可选实施方式中,通过第一网址接收请求方发送的请求报文,通过第二网址接收对预设挡板内容进行修改的修改信息,且第一网址和第二网址为同一个网址。
本发明实施例中,第一网址和第二网址为同一个网址,即,挡板服务功能与对挡板服务功能进行在线设置的功能以统一的地址形式对外发布,便于减少挡板服务系统的操作入口。
实施例二
本发明实施例提供的一种挡板服务系统,如图3所示,包括:
接收模块1,用于接收请求方发送的请求报文,其中,请求方为目标系统关联组件中的一个组件;
确定模块2,用于根据预设挡板内容确定请求报文的响应方式;
生成模块3,用于基于响应方式生成请求报文的响应报文,以向请求方发送响应报文。
具体地,确定模块2通过解析该请求报文,可以获取到请求报文中的交易编号及其他业务相关信息。然后结合预设挡板内容确定请求报文的响应方式。
在本发明实施例中,接收模块1接收请求方发送的请求报文,其中,请求方为目标系统关联组件中的一个组件;确定模块2根据预设挡板内容确定请求报文的响应方式;生成模块3基于响应方式生成请求报文的响应报文,以向请求方发送响应报文。该挡板服务系统通过预设挡板内容确定请求报文的响应方式,且不同的响应方式生成不同的响应报文,从而,请求报文的响应报文因响应方式不同而不同,响应报文不再局限于挡板内容中预先存储的响应报文,因而,缓解了传统挡板服务的服务局限性较大的技术问题。
本发明实施例的一个可选实施方式中,确定模块2包括:
解析单元,用于解析请求报文中所包含的交易编号,并从预设挡板内容中获取交易编号的配置信息;
判断单元,用于判断配置信息是否配置开启外组件调用模式;
第一响应单元,用于在配置信息配置开启外组件调用模式的情况下,通过外组件响应请求报文。
本发明实施例的另一个可选实施方式中,确定模块2还包括:
第一查找单元,用于在配置信息配置不开启外组件调用模式的情况下,从预设挡板内容中查找是否存在交易编号的动态返回报文规则;
第二响应单元,在预设挡板内容中存在动态返回报文规则的情况下,通过动态返回报文规则动态响应请求报文。
本发明实施例的另一个可选实施方式中,确定模块2还包括:
第二查找单元,用于在预设挡板内容中不存在动态返回报文规则的情况下,从预设挡板内容中查找是否存在交易编号的预定义挡板;
第三响应单元,用于在预设挡板内容中存在预定义挡板的情况下,通过预定义挡板响应请求报文。
本发明实施例的另一个可选实施方式中,预定义挡板包括多个响应报文,且一个响应报文对应同一交易编号的一个交易场景,第三响应单元用于:
获取设置信息,其中,设置信息为设置目标交易场景的信息;
根据设置信息,从多个响应报文中获取目标交易场景所对应的响应报文;
通过目标交易场景所对应的响应报文响应请求报文。
本发明实施例的另一个可选实施方式中,挡板服务系统还包括:
第四响应单元,用于在预设挡板内容中不存在预定义挡板的情况下,将向请求方发送目标信息确定为请求报文的响应方式,其中,
目标信息为表示请求报文存在异常的信息。
本发明实施例的另一个可选实施方式中,挡板服务系统还包括:更新模块,用于:
接收对预设挡板内容进行修改的修改信息;
根据修改信息对预设挡板内容进行修改,得到修改内容;
通过修改内容对预设挡板内容进行更新。
本发明实施例的另一个可选实施方式中,挡板服务系统通过第一网址接收请求方发送的请求报文,通过第二网址接收对预设挡板内容进行修改的修改信息,且第一网址和第二网址为同一个网址。
需要说明的是,该挡板服务系统的具体搭建过程中挡板服务系统还可以采用如图4所示的结构,具体地,该挡板服务系统包括请求报文解析模块100、关联组件调用转发模块101、动态报文响应模块102、预定挡板报文响应模块103、在线挡板设置服务模块200、数据库300,其中,
请求报文解析模块100实现上述确定模块2中对请求报文解析的功能;
数据库300中存储有预设挡板内容,数据库300分别和关联组件调用转发模块101、动态报文响应模块102以及预定挡板报文响应模块103连接,以供这三个模块读取预设挡板内容;
关联组件调用转发模块101还和外组件连接,实现上述解析单元、判断单元和第一响应单元的功能;
动态报文响应模块102实现上述第一查找单元和第二响应单元的功能;
预定挡板报文响应模块103实现上述第二查找单元和第三响应单元的功能;
在线挡板设置服务模块200也和数据库300连接,实现上述更新模块的功能。
需要强调的是,挡板服务系统的具体搭建过程中并不仅限于使用图4所示的一种结构,只要能够实现实施例一中的挡板服务即可。
本发明实施例所提供的挡板服务方法及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。