一种异常定位装置、方法及系统与流程

文档序号:13425118阅读:164来源:国知局
一种异常定位装置、方法及系统与流程

本发明涉及网络通信技术领域,特别涉及一种异常定位装置、方法及系统。



背景技术:

随着软件技术的不断发展,不同服务之间进行协同工作已经越来越普遍。例如,需要在服务a中查询某商品信息,但是服务a中没有,那么服务a还需要访问服务b,由服务b返回给服务a所需的某商品信息。

目前,不同服务之间协同工作时,主要是作为请求方的服务直接访问作为响应方的服务。也就是说,服务a直接向服务b发送相关的请求消息。

然而,一旦出现异常,最终将获取不到所需的商品信息。可见,如何能够对异常进行定位则成为现如今亟待解决的问题,



技术实现要素:

本发明实施例提供了一种异常定位装置、方法及系统,本方案能够较好的定位异常。

第一方面,本发明实施例提供了一种异常定位装置,包括:web端和适配器端;

所述web端,用于接收外部的至少一个请求方分别发送的请求消息,并将所述请求消息发送给所述适配器端;以及当接收到所述适配器端发送的响应消息时,将所述响应消息发送给相应的请求方,并监控所述请求方是否接收所述响应消息,如果否,则确定所述请求方异常;

所述适配器端,用于当接收到所述web端发送的所述请求消息时,将所述请求消息发送给相应的响应方,并确定是否接收到所述响应方的响应消息,如果是,则将所述响应消息发送给所述web端,如果否,则确定所述响应方异常。

优选地,

所述web端,用于将所述响应消息发送给相应的请求方,并开始计时,监控所述请求方是否在计时达到预设的第一时间阈值之前接收所述响应消息,如果否,则确定所述请求方的接收异常。

优选地,

所述适配器端,用于将所述请求消息发送给相应的响应方,并开始计时;

所述适配器端,进一步用于在将所述请求消息发送给相应的响应方之后,且在确定是否接收到所述响应方的响应消息之前,监控所述响应方是否在计时达到预设的第二时间阈值之前接收所述请求消息,如果否,则确定所述响应方的接收异常;

所述适配器端,用于在监控到所述响应方接收所述请求消息时,确定计时达到预设的第三时间阈值之前是否接收到所述响应方的响应消息,如果是,则将所述响应消息发送给所述web端,如果否,则确定所述响应方的发送异常。

优选地,

进一步包括:核心端;

所述请求消息,包括:请求方标识、请求方识别码、响应方标识和响应方识别码;

所述web端,用于将所述请求消息通过所述核心端发送给所述适配器端;

所述适配器端,用于当接收到所述响应方的响应消息时,将所述响应消息通过所述核心端发送给所述web端;

所述核心端,用于当接收到所述web端发送的所述请求消息时,获取所述请求消息中的所述响应方标识所对应的第一访问权限,其中,所述第一访问权限中包括有至少一个请求方标识;判断所述请求消息中的所述请求方标识是否在所述第一访问权限中,如果否,则不再将所述请求消息发送给所述适配器端,如果是,则获取所述请求消息中的所述响应方识别码所对应的第二访问权限,其中,所述第二访问权限中包括有至少一个请求方识别码;判断所述请求消息中的所述请求方识别码是否在所述第二访问权限中,如果否,则不再将所述请求消息发送给所述适配器端,如果是,则将所述请求消息发送给所述适配器端。

优选地,

所述web端,进一步用于在接收外部的至少一个请求方分别发送的请求消息之后,生成并输出第一流程记录信息,以使外部根据所述第一流程记录信息确定目标请求方的发送是否异常;以及当接收到所述适配器端发送的响应消息时,生成并输出第四流程记录信息,以使外部根据所述第三流程记录信息和所述第四流程记录信息确定所述web端自身或者是所述适配器端是否出现异常;

所述适配器端,进一步用于当接收到所述web端发送的所述请求消息之后,生成并输出第二流程记录信息,以使外部根据所述第一流程记录信息和所述第二流程记录信息确定所述web端或者是所述适配器端自身是否出现异常;以及当接收到所述响应方的响应消息时,生成并输出第三流程记录信息。

优选地,

所述web端,进一步用于在接收外部的至少一个请求方分别发送的请求信息后,且在将所述请求消息发送给所述适配器端之前,确定所述请求消息中是否包含有监控流程标识;

所述web端,用于当确定所述请求信息中包含有所述监控流程标识时,将所述请求消息发送给所述适配器端,当确定所述请求信息中不包含有所述监控流程标识时,采用guid(globallyuniqueidentifier,全局唯一标识符)生成一个监控流程标识,并将生成的所述监控流程标识附带在所述请求信息中发送给所述适配器端;

所述适配器端,当接收到所述响应方的响应消息时,将所述响应消息发送给所述web端,其中,所述响应消息中包括有相应的所述请求信息中的监控流程标识。

第二方面,本发明实施例提供了一种异常定位方法,包括:

web端接收外部的至少一个请求方分别发送的请求消息;

所述web端将所述请求消息发送给适配器端;

所述适配器端当接收到所述web端发送的所述请求消息时,将所述请求消息发送给相应的响应方;

所述适配器端确定是否接收到所述响应方的响应消息;

如果是,所述适配器端将所述响应消息发送给所述web端;

如果否,所述适配器端确定所述响应方异常;

所述web端当接收到所述适配器端发送的响应消息时,将所述响应消息发送给相应的请求方;

所述web端监控所述请求方是否接收所述响应消息;

所述web端当监控到所述请求方未接收所述响应消息时,确定所述请求方异常。

优选地,

所述web端当接收到所述适配器端发送的响应消息时,将所述响应消息发送给相应的请求方,包括:

所述web端将所述响应消息发送给相应的请求方,并开始计时;

所述web端监控所述请求方是否接收所述响应消息,包括:

所述web端监控所述请求方是否在计时达到预设的第一时间阈值之前接收所述响应消息;

所述web端当监控到所述请求方未接收所述响应消息时,确定所述请求方异常,包括:

所述web端当监控到所述请求方未在计时达到预设的第一时间阈值之前接收所述响应消息时,确定所述请求方的接收异常。

优选地,

所述适配器端当接收到所述web端发送的所述请求消息时,将所述请求消息发送给相应的响应方,包括:

所述适配器端将所述请求消息发送给相应的响应方,并开始计时;

在所述适配器端当接收到所述web端发送的所述请求消息时,将所述请求消息发送给相应的响应方之后,且在所述适配器端确定是否接收到所述响应方的响应消息之前,进一步包括:

所述适配器端监控所述响应方是否在计时达到预设的第二时间阈值之前接收所述请求消息,如果否,则确定所述响应方的接收异常;如果是,则执行所述适配器端确定是否接收到所述响应方的响应消息;

所述适配器端确定是否接收到所述响应方的响应消息,包括:

所述适配器端在监控到所述响应方接收所述请求消息时,确定计时达到预设的第三时间阈值之前是否接收到所述响应方的响应消息;

所述适配器端将所述响应消息发送给所述web端,包括:

所述适配器端确定计时达到预设的第三时间阈值之前接收到所述响应方的响应消息时,则将所述响应消息发送给所述web端;

所述适配器端确定所述响应方异常,包括:

所述适配器端确定计时达到预设的第三时间阈值之前未接收到所述响应方的响应消息时,则确定所述响应方的发送异常。

优选地,

所述请求消息,包括:请求方标识、请求方识别码、响应方标识和响应方识别码;

所述web端将所述请求消息发送给适配器端,包括:

所述web端将所述请求消息通过所述核心端发送给所述适配器端;

所述适配器端将所述响应消息发送给所述web端,包括:

所述适配器端将所述响应消息通过所述核心端发送给所述web端;

在所述web端将所述请求消息发送给适配器端之前,进一步包括:

所述核心端当接收到所述web端发送的所述请求消息时,获取所述请求消息中的所述响应方标识所对应的第一访问权限,其中,所述第一访问权限中包括有至少一个请求方标识;

所述核心端判断所述请求消息中的所述请求方标识是否在所述第一访问权限中;

如果否,所述核心端不再将所述请求消息发送给所述适配器端;

如果是,所述核心端获取所述请求消息中的所述响应方识别码所对应的第二访问权限,其中,所述第二访问权限中包括有至少一个请求方识别码;以及判断所述请求消息中的所述请求方识别码是否在所述第二访问权限中,如果否,则不再将所述请求消息发送给所述适配器端,如果是,则将所述请求消息发送给所述适配器端。

优选地,

在所述web端接收外部的至少一个请求方分别发送的请求消息之后,且在所述web端将所述请求消息发送给适配器端之前,进一步包括:

生成并输出第一流程记录信息,以使外部根据所述第一流程记录信息确定目标请求方的发送是否异常;

进一步包括:

所述适配器端当接收到所述web端发送的所述请求消息之后,生成并输出第二流程记录信息,以使外部根据所述第一流程记录信息和所述第二流程记录信息确定所述web端或者是所述适配器端自身是否出现异常;

进一步包括:

所述适配器端当接收到所述响应方的响应消息时,生成并输出第三流程记录信息;

进一步包括:

所述web端当接收到所述适配器端发送的响应消息时,生成并输出第四流程记录信息,以使外部根据所述第三流程记录信息和所述第四流程记录信息确定所述web端自身或者是所述适配器端是否出现异常。

优选地,

在所述web端接收外部的至少一个请求方分别发送的请求消息之后,且在所述web端将所述请求消息发送给适配器端之前,进一步包括:

所述web端确定所述请求消息中是否包含有监控流程标识;

如果是,则执行所述web端将所述请求消息发送给适配器端;

如果否,则采用所述guid生成一个监控流程标识,并执行所述web端将所述请求消息发送给所述适配器端;

所述web端将所述请求消息发送给适配器端,包括:

所述web端将生成的所述监控流程标识附带在所述请求信息中发送给所述适配器端;

所述适配器端将所述响应消息发送给所述web端,包括:

所述适配器端将所述响应消息发送给所述web端,其中,所述响应消息中包括有相应的所述请求信息中的监控流程标识。

第三方面,本发明实施例提供了一种异常定位系统,包括:上述任一实施例中所述的异常定位装置、至少一个请求方以及至少一个响应方,其中,

所述至少一个请求方中的每一个请求方,用于向所述异常定位装置发送请求消息;以及对所述异常定位装置发送的响应消息进行接收;

所述至少一个响应方中的每一个响应方,用于对所述异常定位装置发送的所述请求消息进行接收;以及向所述异常定位装置发送响应消息。

本发明实施例提供了一种异常定位装置、方法及系统,该装置包括有:web端和适配器端,其中,web端接收请求方发来的请求消息,然后将该请求消息发送给适配器端,那么当适配器端接收到该请求消息后,再将该请求消息发送给相应的响应方,如果之后未接收到响应方的响应消息,则说明响应方异常,实现了响应方异常的定位,如果之后接收到该响应方的响应消息,则说明响应方无异常,此时将接收到的响应消息在发送给web端,那么当web端接收到响应消息时,可将该响应消息发送给相应的请求方,并监控该请求方是否接收该响应消息,当监控到未接收时,则可确定请求方异常,实现请求方异常的定位。因此,本方案能够较好的定位异常。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例提供的一种异常定位装置的结构示意图;

图2是本发明另一个实施例提供的一种异常定位装置的结构示意图;

图3是本发明一个实施例提供的一种异常定位方法的流程图;

图4是本发明另一个实施例提供的一种异常定位方法的流程图;

图5是本发明一个实施例提供的一种异常定位系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种异常定位装置,该装置可以包括:web端101和适配器端102;

所述web端101,用于接收外部的至少一个请求方分别发送的请求消息,并将所述请求消息发送给所述适配器端102;以及当接收到所述适配器端102发送的响应消息时,将所述响应消息发送给相应的请求方,并监控所述请求方是否接收所述响应消息,如果否,则确定所述请求方异常;

所述适配器端102,用于当接收到所述web端101发送的所述请求消息时,将所述请求消息发送给相应的响应方,并确定是否接收到所述响应方的响应消息,如果是,则将所述响应消息发送给所述web端101,如果否,则确定所述响应方异常。

本发明实施例中提供了一种异常定位装置,该装置包括有:web端和适配器端,其中,web端接收请求方发来的请求消息,然后将该请求消息发送给适配器端,那么当适配器端接收到该请求消息后,再将该请求消息发送给相应的响应方,如果之后未接收到响应方的响应消息,则说明响应方异常,实现了响应方异常的定位,如果之后接收到该响应方的响应消息,则说明响应方无异常,此时将接收到的响应消息在发送给web端,那么当web端接收到响应消息时,可将该响应消息发送给相应的请求方,并监控该请求方是否接收该响应消息,当监控到未接收时,则可确定请求方异常,实现请求方异常的定位。因此,本方案能够较好的定位异常。

在本发明一个实施例中,所述web端,用于将所述响应消息发送给相应的请求方,并开始计时,监控所述请求方是否在计时达到预设的第一时间阈值之前接收所述响应消息,如果否,则确定所述请求方的接收异常。

其中,请求方的接收异常可能包括请求方本身异常或者是请求方与web端之间的网络异常。

在本发明一个实施例中,所述适配器端,用于将所述请求消息发送给相应的响应方,并开始计时;

所述适配器端,进一步用于在将所述请求消息发送给相应的响应方之后,且在确定是否接收到所述响应方的响应消息之前,监控所述响应方是否在计时达到预设的第二时间阈值之前接收所述请求消息,如果否,则确定所述响应方的接收异常;

所述适配器端,用于在监控到所述响应方接收所述请求消息时,确定计时达到预设的第三时间阈值之前是否接收到所述响应方的响应消息,如果是,则将所述响应消息发送给所述web端,如果否,则确定所述响应方的发送异常。

其中,响应方的接收异常可能包括有响应方本身异常或者是响应方与适配器端之间的网络异常;响应方的发送异常可能包括有响应方本身异常或者是响应方与适配器端之间的网络异常。另外,第一时间阈值、第二时间阈值以及第三时间阈值可根据实际需求进行设定。

在本发明一个实施例中,如图2所示,进一步包括:核心端201;

所述请求消息,包括:请求方标识、请求方识别码、响应方标识和响应方识别码;

所述web端101,用于将所述请求消息通过所述核心端201发送给所述适配器端102;

所述适配器端102,用于当接收到所述响应方的响应消息时,将所述响应消息通过所述核心端201发送给所述web端101;

所述核心端201,用于当接收到所述web端101发送的所述请求消息时,获取所述请求消息中的所述响应方标识所对应的第一访问权限,其中,所述第一访问权限中包括有至少一个请求方标识;判断所述请求消息中的所述请求方标识是否在所述第一访问权限中,如果否,则不再将所述请求消息发送给所述适配器端102,如果是,则获取所述请求消息中的所述响应方识别码所对应的第二访问权限,其中,所述第二访问权限中包括有至少一个请求方识别码;判断所述请求消息中的所述请求方识别码是否在所述第二访问权限中,如果否,则不再将所述请求消息发送给所述适配器端102,如果是,则将所述请求消息发送给所述适配器端102。

上述实施例中,主要是通过核心端来保证消息通信的安全性。具体的,核心端包括有服务注册接口,每一个服务(指的是本发明实施例中提到的请求方或者响应方)都可以通过该服务访问接口设置自己允许被访问的访问权限,例如,服务r包括有两个功能r1和r2,那么在注册之后,核心端会为服务r中的每个功能分别分配一个响应方识别码,接下来服务r可设置自身的第一访问权限以及每一个功能分别对应的第二访问权限,如,服务r允许被访问的服务包括有服务w和服务t,其中,服务w包括有三个功能w1、w2和w3,服务t包括有两个功能t1和t2,服务r中的功能r1允许被访问的功能包括有服务w中的w2和w3以及服务t中的t2,因此若核心端根据接收到请求消息确定当前的请求方为服务s、响应方为服务r时,不再将请求消息发送给适配器端;若核心端确定当前的请求方为服务t、响应方为服务r、请求方的功能为t1、响应方的功能为r1,则由于t1不具备访问r1的权限,同样不再将请求消息发送给适配器端;若核心端确定当前的请求方为服务w、响应方为服务r、请求方的功能为w2、响应方的功能为r1,则此时将该请求消息发送给适配器端。

上述实施例中的第一访问权限和第二访问权限可存储在数据库中。

在本发明一个实施例中,

所述web端,进一步用于在接收外部的至少一个请求方分别发送的请求消息之后,生成并输出第一流程记录信息,以使外部根据所述第一流程记录信息确定目标请求方的发送是否异常;以及当接收到所述适配器端发送的响应消息时,生成并输出第四流程记录信息,以使外部根据所述第三流程记录信息和所述第四流程记录信息确定所述web端自身或者是所述适配器端是否出现异常;

所述适配器端,进一步用于当接收到所述web端发送的所述请求消息之后,生成并输出第二流程记录信息,以使外部根据所述第一流程记录信息和所述第二流程记录信息确定所述web端或者是所述适配器端自身是否出现异常;以及当接收到所述响应方的响应消息时,生成并输出第三流程记录信息。

举例来说,例1:web端在接收到请求方发送的请求消息后,可针对每一个接收过程生成一条第一流程记录信息,比如“某年某月某日某时某秒接收到一条请求方s请求响应方g的请求消息”,若请求方u在经过一段时间后,并未接收到所需的响应消息,则用户可从web端输出的各个第一流程记录信息中查找是否存在请求方u对应的第一流程记录信息,如果不存在,则说明web端并没有接收到请求方u发送的请求消息,因此便于用户确定出请求方u的发送异常,具体的,可能是请求方u本身异常,或者是请求方u与web端之间的网络异常。

在例1的基础上举例来说,例2,适配器端在接收到web端发送的请求消息后,同样针对每一个接收过程生成一条第二流程记录信息,比如“某年某月某日某时某秒接收到web端发送的一条请求方h请求响应方k的请求消息”,若请求方s在经过一端时间之后,也未接收到所需的响应消息,则用户还可通过查看第一流程记录信息和第二流程记录信息,确定是否存在web端接收到请求方s的请求消息,但是适配器端未接收到该请求消息,如果存在,此时可确定是web端、核心端或者是适配器端出现了异常。

在上述例1和例2的基础上举例来说,例3,适配器端在接收到web端发送的请求消息,且接收到响应方g发送的相应的响应消息时,可针对该过程生成一条第三流程记录信息,比如“某年某月某日某时某秒接收到一条响应方g响应请求方s的响应消息”,以及web端在接收到适配器端发送的响应消息时,生成一条第四流程记录信息,比如“某年某月某日某时某秒接收到适配器端发送的一条响应方k响应请求方h的响应消息”,若请求方s在经过一端时间之后,同样也未接收到所需的响应消息,则此时用户还可根据适配器端输出的第三流程记录信息和web端输出的第四流程记录信息,确定是否存在适配器端接收到响应方g响应请求方s的响应消息,而web端未接收到该响应消息,如果存在,此时可确定是web端、核心端或者是适配器端出现了异常。

上述实施例中,每一端所生成的相应的流程记录信息还可存储至同一数据库中,或者是在汇集每一端所生成的流程记录信息之后,生成监控流程图,以便出现故障时,用户能够根据相应的监控流程图,直观进行异常定位。

在本发明一个实施例中,

所述web端,进一步用于在接收外部的至少一个请求方分别发送的请求信息后,且在将所述请求消息发送给所述适配器端之前,确定所述请求消息中是否包含有监控流程标识;

所述web端,用于当确定所述请求信息中包含有所述监控流程标识时,将所述请求消息发送给所述适配器端,当确定所述请求信息中不包含有所述监控流程标识时,采用全局唯一标识符guid生成一个监控流程标识,并将生成的所述监控流程标识附带在所述请求信息中发送给所述适配器端;

所述适配器端,当接收到所述响应方的响应消息时,将所述响应消息发送给所述web端,其中,所述响应消息中包括有相应的所述请求信息中的监控流程标识。

例如,请求方a依次通过web端、核心端和适配器端向请求方b发送请求消息1,然而由于b中没有a所需的响应消息,接下来请求方b依次再通过web端、核心端和适配器端向响应方c和d分别发送请求消息2和请求消息3,以从响应方c和d中获取到请求方a所需的响应消息,其中,请求方a在向web端发送请求消息1时,首先判断请求消息1中是否含有监控流程标识,那么由于是本次过程的首次请求,其请求消息1中应该是不含有监控流程标识,因此web端可生成36位加密码赋予其值,然后该值将会在请求消息2和请求消息3中一直自动传递,以及响应方c发送的响应消息2中和响应方d发送的响应消息3中均含有该值,这样,通过该值将本次所有的流转过程联系起来,从而之后可利用每一端分别生成的流程记录信息,通过该值生成本次的流程监控图。

上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

如图3所示,本发明实施例提供了一种异常定位方法,该方法可以包括如下步骤:

步骤301:web端接收外部的至少一个请求方分别发送的请求消息。

步骤302:所述web端将所述请求消息发送给适配器端。

步骤303:所述适配器端当接收到所述web端发送的所述请求消息时,将所述请求消息发送给相应的响应方。

步骤304:所述适配器端确定是否接收到所述响应方的响应消息,如果是,则执行步骤305,如果否,则执行步骤306。

步骤305:所述适配器端将所述响应消息发送给所述web端,并执行步骤307。

步骤306:所述适配器端确定所述响应方异常,并结束当前流程。

步骤307:所述web端当接收到所述适配器端发送的响应消息时,将所述响应消息发送给相应的请求方。

步骤308:所述web端监控所述请求方是否接收所述响应消息,如果是,则结束当前流程,如果否,则执行步骤309。

步骤309:所述web端确定所述请求方异常。

在本发明一个实施例中,

所述步骤307的具体实施方式,包括:

所述web端将所述响应消息发送给相应的请求方,并开始计时;

所述步骤308的具体实施方式,包括:

所述web端监控所述请求方是否在计时达到预设的第一时间阈值之前接收所述响应消息;

所述步骤309的具体实施方式,包括:

所述web端当监控到所述请求方未在计时达到预设的第一时间阈值之前接收所述响应消息时,确定所述请求方的接收异常。

在本发明一个实施例中,

所述步骤303的具体实施方式,包括:

所述适配器端将所述请求消息发送给相应的响应方,并开始计时;

在所述步骤303之后,且在所述步骤304之前,进一步包括:

所述适配器端监控所述响应方是否在计时达到预设的第二时间阈值之前接收所述请求消息,如果否,则确定所述响应方的接收异常;如果是,则执行所述步骤304;

所述步骤304的具体实施方式,包括:

所述适配器端在监控到所述响应方接收所述请求消息时,确定计时达到预设的第三时间阈值之前是否接收到所述响应方的响应消息;

所述步骤305的具体实施方式,包括:

所述适配器端确定计时达到预设的第三时间阈值之前接收到所述响应方的响应消息时,则将所述响应消息发送给所述web端;

所述步骤306的具体实施方式,包括:

所述适配器端确定计时达到预设的第三时间阈值之前未接收到所述响应方的响应消息时,则确定所述响应方的发送异常。

在本发明一个实施例中,

所述请求消息,包括:请求方标识、请求方识别码、响应方标识和响应方识别码;

所述步骤302的具体实施方式,包括:

所述web端将所述请求消息通过所述核心端发送给所述适配器端;

所述步骤305的具体实施方式,包括:

所述适配器端将所述响应消息通过所述核心端发送给所述web端;

在所述步骤302之前,进一步包括:

所述核心端当接收到所述web端发送的所述请求消息时,获取所述请求消息中的所述响应方标识所对应的第一访问权限,其中,所述第一访问权限中包括有至少一个请求方标识;

所述核心端判断所述请求消息中的所述请求方标识是否在所述第一访问权限中;

如果否,所述核心端不再将所述请求消息发送给所述适配器端;

如果是,所述核心端获取所述请求消息中的所述响应方识别码所对应的第二访问权限,其中,所述第二访问权限中包括有至少一个请求方识别码;以及判断所述请求消息中的所述请求方识别码是否在所述第二访问权限中,如果否,则不再将所述请求消息发送给所述适配器端,如果是,则将所述请求消息发送给所述适配器端。

在本发明一个实施例中,

在所述步骤301之后,且在所述步骤302之前,进一步包括:

生成并输出第一流程记录信息,以使外部根据所述第一流程记录信息确定目标请求方的发送是否异常;

进一步包括:

所述适配器端当接收到所述web端发送的所述请求消息之后,生成并输出第二流程记录信息,以使外部根据所述第一流程记录信息和所述第二流程记录信息确定所述web端或者是所述适配器端自身是否出现异常;

进一步包括:

所述适配器端当接收到所述响应方的响应消息时,生成并输出第三流程记录信息;

进一步包括:

所述web端当接收到所述适配器端发送的响应消息时,生成并输出第四流程记录信息,以使外部根据所述第三流程记录信息和所述第四流程记录信息确定所述web端自身或者是所述适配器端是否出现异常。

在本发明一个实施例中,

在所述步骤301之后,且在所述步骤302之前,进一步包括:

所述web端确定所述请求消息中是否包含有监控流程标识;

如果是,则执行所述web端将所述请求消息发送给适配器端;

如果否,则采用所述guid生成一个监控流程标识,并执行所述web端将所述请求消息发送给所述适配器端;

所述步骤302的具体实施方式,包括:

所述web端将生成的所述监控流程标识附带在所述请求信息中发送给所述适配器端;

所述步骤305的具体实施方式,包括:

所述适配器端将所述响应消息发送给所述web端,其中,所述响应消息中包括有相应的所述请求信息中的监控流程标识。

下面将以一个请求方a和一个响应方b为例,详细说明本发明实施例提供的一种异常定位方法,如图4所示,该方法可以包括如下步骤:

步骤401:web端接收请求方a发送的请求消息。

在本发明实施例中,预先应利用消息队列工具,如mq等,创建4个消息队列通道,分别是web端与核心端之间的第一请求消息队列通道、核心端与适配器端之间的第二请求消息队列通道、适配器端与核心端之间的第一响应消息队列通道以及核心端与web端之间的第二响应消息队列通道。web端提供有统一的webservice接口。另外,请求消息为标准的xml字符串报文。

具体xml字符串消息传递报文格式如下:

<?xmlversion="1.0"encoding="utf-8"?>

<taxmlxsi:type="swdjbbgswdjywbw"bbh="v1.0"xmlbh="string"xmlmc="string"

xsi:schemalocation="http://www.gzds.gov.cn/dataspec/taxml011002003_v1.0.xsd"xmlns="http://www.gzds.gov.cn/dataspec/"

xmlns:xsi="http://www.w3.org/2001/xmlschema-instance">

<desc_info>

<business_flow>

<inspur_client_user>xxx</inspur_client_user>

<inspur_client_ip>xxx</inspur_client_ip>

<inspur_client_time>xxx</inspur_client_time>

<inspur_client_b_desc>xxx</inspur_client_b_desc>

<inspur_from_appid>xxx</inspur_from_appid>

<inspur_from_serviceid>xxx</inspur_from_serviceid>

<inspur_to_appid>xxx</inspur_from_appid>

<inspur_to_serviceid>xxx</inspur_to_serviceid>

<inspur_business_id></inspur_business_id>

</business_flow>

</desc_info>

<content>

实际报文

</content>

</taxml>

其中,<content></content>填写实际要传递的消息内容。

inspur_client_user表示最初的请求方标识、inspur_client_ip表示请求方ip、inspur_client_time表示发送时间、inspur_client_b_desc表示备注、inspur_from_appid表示请求方标识、inspur_from_serviceid表示请求方识别码、inspur_to_appid表示响应方标识、inspur_to_serviceid表示响应方识别码、inspur_business_id表示监控流程标识。

步骤402:web端生成并输出第一流程记录信息,以使外部根据第一流程记录信息确定其他请求方的发送是否异常。

步骤403:web端确定请求消息中是否包含有监控流程标识,如果是,则执行步骤404,如果否,则执行步骤405。

本发明实施例中,a是作为最初的请求方,inspur_business_id为空值,因此由web端为请求方a生成一个唯一标识。

步骤404:web端将请求消息发送给核心端,并执行步骤406。

本发明实施例中,核心端主要是对web端发来的请求消息进行权限判断,假设请求方a具有对响应方b的访问权限,以及请求方a中的请求方标识也在响应方b的响应方标识所对应的访问权限中。

步骤405:web端采用guid生成一个监控流程标识,并将生成的监控流程标识附带在请求信息中发送给核心端。

步骤406:核心端当接收到web端发送的发送的请求消息时,将请求消息发送给适配器端。

步骤407:适配器端当接收到核心端发送的请求消息时,将请求消息发送给响应方b,并监控响应方b是否接收请求消息,如果否,则执行步骤408,如果是,则执行步骤409。

在本发明实施例中,可预先设置新相应的时间阈值,这样,适配器端将请求消息发送给响应方b时开始计数,并确定计时达到预设的时间阈值之前,监控响应方b是否接收请求消息。

步骤408:适配器端确定响应方b的接收异常,并结束当前流程。

步骤409:适配器端确定是否接收到响应方b的响应消息,如果否,则执行步骤410,如果是,则执行步骤411。

步骤410:适配器端确定响应方b的发送异常,并结束当前流程。

步骤411:适配器端将响应消息发送给核心端,其中,该响应消息中包括有请求信息中的监控流程标识。

步骤412:核心端当接收到适配器端发送的响应消息时,将响应消息发送给web端。

步骤413:web端当接收到核心端发送的响应消息时,将响应消息发送给请求方a,并监控请求方a是否接收响应消息,如果是,则结束当前流程,如果否,则执行步骤414。

步骤414:web端确定请求方a的接收异常。

如图5所示,本发明实施例提供了一种异常定位系统,包括:上述任一实施例中所述的异常定位装置501、至少一个请求方502以及至少一个响应方503,其中,

所述至少一个请求方中的每一个请求方502,用于向所述异常定位装置501发送请求消息;以及对所述异常定位装置501发送的响应消息进行接收;

所述至少一个响应方中的每一个响应方503,用于对所述异常定位装置501发送的所述请求消息进行接收;以及向所述异常定位装置501发送响应消息。

综上,本发明各个实施例至少具有如下有益效果:

1、在本发明实施例中,本发明实施例中提供了一种异常定位装置,该装置包括有:web端和适配器端,其中,web端接收请求方发来的请求消息,然后将该请求消息发送给适配器端,那么当适配器端接收到该请求消息后,再将该请求消息发送给相应的响应方,如果之后未接收到响应方的响应消息,则说明响应方异常,实现了响应方异常的定位,如果之后接收到该响应方的响应消息,则说明响应方无异常,此时将接收到的响应消息在发送给web端,那么当web端接收到响应消息时,可将该响应消息发送给相应的请求方,并监控该请求方是否接收该响应消息,当监控到未接收时,则可确定请求方异常,实现请求方异常的定位。因此,本方案能够较好的定位异常。

2、在本发明实施例中,web端将请求消息通过核心端发送给适配器端,那么核心端在接收到web端发来的请求消息时,可根据该请求消息,判断相应的请求方是否具备相应的访问权限,只有当请求方以及请求方中识别码均具有相应的访问权限时,核心端才会将接收到的请求消息发送给适配器端,从而提高了消息通信的安全性。

3、在本发明实施例中,web端在接收到请求消息时,通过生成并输出相应的第一流程记录信息,便于在出现异常时,能够使得用户根据该第一流程记录信息确定是否是相应请求方的发送出现异常;以及适配器端在接收到web端发送的请求消息时,通过生成并输出相应的第二流程记录信息,便于在出现异常时,能够使得用户根据web端的第一流程记录信息和第二流程记录信息确定是否是web端、核心端或者是适配器端出现了异常;以及适配器端在接收到响应方发送的响应消息时和web端接收到适配器端发送的响应消息时,分别生成第三流程记录信息和第四流程记录信息,便于在出现异常时,能够使得用户根据第三流程记录信息和第四流程记录信息确定是否是web端、核心端或者是适配器端出现了异常。

4、在本发明实施例中,通过web端为最初的请求方生成一个唯一的监控流程标识,然后该监控流程标识将在之后的次级请求消息和响应消息中均自动传递,这样,通过该唯一的监控流程标识则把本次所有流程联系起来,以便出现异常时,能够根据该标识,找到问题的源头。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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