CN111782306A - 接口调用信息的处理方法及装置、电子设备、存储介质 - Google Patents

接口调用信息的处理方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN111782306A
CN111782306A CN202010624955.XA CN202010624955A CN111782306A CN 111782306 A CN111782306 A CN 111782306A CN 202010624955 A CN202010624955 A CN 202010624955A CN 111782306 A CN111782306 A CN 111782306A
Authority
CN
China
Prior art keywords
message
request
interface
calling
response
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.)
Pending
Application number
CN202010624955.XA
Other languages
English (en)
Inventor
余卫平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202010624955.XA priority Critical patent/CN111782306A/zh
Publication of CN111782306A publication Critical patent/CN111782306A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请揭示了一种接口调用信息的处理方法及装置,涉及大数据技术领域,具体可以应用于金融技术领域。该方法包括:针对关联系统进行的接口调用,拦截调用方发起的接口调用请求,以及被调用方针对接口调用请求返回的接口调用响应;对拦截到的接口调用请求和接口调用响应进行格式转换,获得预设格式的请求消息和响应消息;将预设格式的请求消息和响应消息封装至http协议中;将封装得到的http协议发送至消息代理中心和/或消息推送中心,消息代理中心用于供客户端进行http协议所携带请求消息和响应消息的查看,消息推送中心用于将http协议携带的请求消息和响应消息推送至客户端。本申请能够便于进行关联系统的联调以及问题定位。

Description

接口调用信息的处理方法及装置、电子设备、存储介质
技术领域
本申请涉及数据处理技术领域,特别涉及一种接口调用信息的处理方法及 装置、电子设备、计算机可读存储介质。
背景技术
软件开发过程中,开发人员或者测试人员获取关联系统之间的交互消息是 实现系统联调以及定位问题的重要手段。
目前,存在现有的辅助工具可以直观地展示关联系统之间基于http(超文本 传输协议,Hyper Text Transfer Protocol)协议进行交互的请求消息和响应消息, 但是对于关联系统因关闭http插件而无法进行http调用的情况,则无法获取关 联系统之间的交互消息。
因此,当关联系统无法进行http调用时,如何获取关联系统之间的交互消 息是现有技术中仍有待解决的技术问题。
发明内容
为了解决上述技术问题,本申请提供一种接口调用信息的处理方法及装置、 电子设备、计算机可读存储介质。
本申请所揭示的技术方案包括:
一种接口调用信息的处理方法,包括:针对关联系统进行的接口调用,拦截 调用方发起的接口调用请求,以及被调用方针对所述接口调用请求返回的接口 调用响应;对拦截到的所述接口调用请求和所述接口调用响应进行格式转换,获 得预设格式的请求消息和响应消息;将所述预设格式的请求消息和响应消息封 装至http协议中;将封装得到的所述http协议发送至消息代理中心和/或消息推 送中心,所述消息代理中心用于供客户端进行所述http协议所携带请求消息和 响应消息的查看,所述消息推送中心用于将所述http协议携带的请求消息和响 应消息推送至所述客户端。
在一个示例性实施例中,拦截调用方发起的接口调用请求,以及被调用方针 对所述接口调用请求返回的接口调用响应,包括:获取所述关联系统中进行接口 调用所采用的调用程序,从所述调用程序中提取所述接口调用请求和所述接口 调用响应;解析所述接口调用请求和所述接口调用响应,获得所述接口调用请求 中的请求参数以及所述接口调用响应中的响应参数。
在一个示例性实施例中,从所述调用程序中提取所述接口调用请求和所述 接口调用响应,包括:从所述调用程序中定位调用类,所述调用类中封装了进行 接口调用的调用属性和调用方法;根据所述调用类对应的调用方法获取所述接 口调用请求以及所述接口调用响应。
在一个示例性实施例中,将所述预设格式的请求消息和响应消息封装至http 协议中,包括:将所述预设格式的请求消息和响应消息拼接为json字符串形式, 获得json格式的消息字符串;将所述消息字符串添加至http协议的消息体中, 获得携带有所述请求消息和响应消息的http协议。
在一个示例性实施例中,所述方法还包括:响应于客户端发起的数据查看请 求,从所述消息代理中心中提取所述http协议所含有请求消息和响应消息分别 对应的值;将所述请求消息和所述响应消息分别对应的值返回至所述客户端,以 将所述请求消息和所述响应消息分别对应的值显示在客户端中。
在一个示例性实施例中,所述方法还包括:从拦截到的所述接口调用请求中 获取请求服务名称;统计所述请求服务名称被拦截的次数,获得所述请求服务名 称所对应接口被调用的次数。
在一个示例性实施例中,所述方法还包括:验证拦截到的所述接口调用响应 是否满足正常响应;如果为否,则向预先配置的目标终端发送拦截异常信息。
一种接口调用信息的处理装置,包括:调用拦截模块,用于针对关联系统进 行的接口调用,拦截调用方发起的接口调用请求,以及被调用方针对所述接口调 用请求返回的接口调用响应;格式转换模块,用于对拦截到的所述接口调用请求 和所述接口调用响应进行格式转换,获得预设格式的请求消息和响应消息;协议 封装模块,用于将所述预设格式的请求消息和响应消息封装至http协议中;协 议发送模块,用于将封装得到的所述http协议发送至消息代理中心和/或消息推 送中心,所述消息代理中心用于供客户端进行所述http协议所携带请求消息和 响应消息的查看,所述消息推送中心用于将所述http协议携带的请求消息和响 应消息推送至所述客户端。
一种电子设备,包括处理器和存储器,所述存储器上存储有计算机可读指令, 所述计算机可读指令被所述处理器执行时,实现如前任一项所述的接口调用信 息的处理方法。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理 器执行时,实现如前任一项所述的接口调用信息的处理方法。
本申请实施例提供的技术方案可以包括以下有益效果:
在上述技术方案中,针对关联系统进行的接口调用,拦截得到接口调用请求 和接口调用响应,然后对拦截到的接口调用请求和接口调用响应进行格式转换, 将转换得到的请求消息和响应消息封装至http协议中,封装得到的http协议被 发送至消息代理中心和/或消息推送中心,使得客户端能够展示关联系统之间交 互的请求消息和响应消息,即使关联系统关闭了http插件,本申请能够通过构 建http协议,并基于构建得到的http协议将关联系统之间交互的请求消息和响 应消息发送至客户端中进行展示,也不会对关联系统进行任何修改,极大地方便 了开发人员或者测试人员进行关联系统的联调以及问题定位。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限 制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请 的实施例,并于说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种接口调用信息的处理方法的流程图;
图2是图1所示实施例中的步骤110在一个实施例的流程图;
图3是图2所示实施例中的步骤111在一个实施例的流程图
图4是根据另一示例性实施例示出的一种接口调用信息的处理方法的流程 图;
图5是根据另一示例性实施例示出的一种接口调用信息的处理方法的流程 图;
图6是根据一示例性实施例示出的一种应用场景的示意图;
图7是根据一示例性实施例示出的一种接口调用信息的处理装置的框图;
图8是根据一示例性实施例所示出的一种电子设备的硬件示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述,这 些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过 参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述 涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以 下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。 相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装 置和方法的例子。
请参阅图1,图1是根据一示例性实施例示出的一种接口调用信息的处理方 法的流程图,该方法至少包括如下步骤:
步骤110,针对关联系统进行的接口调用,拦截调用方发起的接口调用请求, 以及被调用方针对接口调用请求返回的接口调用响应。
首先需要说明的是,关联系统是由不同的程序模块关联形成的软件系统,程 序模块之间的关联性理解为是程序模块之间进行的消息交互,例如程序模块之 间进行的消息交互是指应用程序之间进行的接口调用。
示例性的,在一个实现下订单功能的关联系统中,包含有模块1及模块2, 用户在下订单时,用户端需要先调用模块1,模块1再调用模块2。
如果测试人员在联调过程中发现下订单失败,但是不知道是模块1处理失 败还是模块2处理失败,如果测试人员能获知模块1与模块2之间的交互消息 则能够快速定位问题。由此,获取关联系统之间的交互消息是实现系统联调以及 问题定位的重要手段。
由于关联系统因关闭http插件而无法进行http调用,则无法通过现有的辅 助工具获取关联系统之间的交互消息,基于此,本实施例提供了一种接口调用信 息的处理方法,即使关联系统关闭了http插件,采用本实施例的方法仍能够获 取到关联系统之间的交互消息。
满足关联系统无法进行http调用的接口可以包括ESA接口、Dubbo接口以 及其它采用非http协议的接口等。ESA接口是平安公司PAFA(Ping An Foundation Architecture,平安基础架构)框架中用于内部系统间调用的一种接口,在使用时, 基于安全方面的考虑以及使用http方式调用时将无法使用ESA接口的负载功能, http插件默认是关闭的。Dubbo接口是基于Java(是一门面向对象的编程语言) 的高性能RPC(Remote Procedure Call,远程过程调用)分布式服务框架类的接 口,该接口使用的是传输层协议,而不是应用层协议,因此关联系统无法对该接 口进行http调用。
为获取关联系统之间的交互消息,需要获取关联系统进行接口调用的相关 信息,例如接口调用请求以及接口调用响应,因此需要拦截调用方发起的接口调 用请求以及被调用方针对接口调用请求所返回的接口调用响应。
还需要说明的是,关联系统间的交互消息可以对应于针对多个接口进行的 接口调用,例如前述示例中A模块以及B模块所含有的接口进行的接口调用。 其中,多个理解为是至少两个。
步骤120,对拦截到的接口调用请求和接口调用响应进行格式转换,获得预 设格式的请求消息和响应消息。
其中,考虑到可视化关联系统间的交互消息更便于测试人员获取,因此需要 将拦截到的接口调用请求以及接口调用响应传输至客户端中进行显示,客户端 可以是智能手机、计算机、笔记本电脑、平板等终端设备中运行的应用程序客户 端或者网页客户端。
为将拦截到的接口调用请求以及接口调用响应传输至客户端,则需要构建 http协议,并将拦截到的接口调用请求以及接口调用响应携带在http协议中并 传输至客户端。并且由于http协议具有规范的协议格式,因此需要对拦截到的 接口调用请求和接口调用响应进行格式转换,以转换得到预设格式的请求消息 和响应消息。
例如,json(JavaScript Object Notation,JS对象简谱,是一种轻量级的数据 交换格式)格式是软件开发中最主要的一种消息传递格式,因此可以将请求消息 和响应消息对应的预设格式设置为json格式。
步骤130,将预设格式的请求消息和响应消息封装至http协议中。
其中,将请求消息和响应消息封装至http协议中封装是将请求消息和响应 消息封装至http协议的body(消息体)中,从而将请求消息和响应消息携带在 http协议中,由此即可通过http协议进行请求消息和响应消息的传输。
在一个实施例中,需要先将预设格式的请求消息和响应消息拼接为json字 符串形式,获得json格式的消息字符串,然后将消息字符串添加至http协议的 消息体中,从而获得携带有请求消息和响应消息的http协议。
示例性的,具体可以通过调用fastjson(是一个Java语言编写的高性能且功 能完善的json库)接口将请求消息和响应消息按照不同的key值转换为json格 式的字符串,然后将转换得到的json格式的消息字符串添加至http协议的消息 体中。所转换得到的json格式的消息字符串可以如下:
{“request”:“请求消息”,“response”:“响应消息”}
步骤140,将封装得到的http协议发送至消息代理中心和/或消息推送中心, 消息代理中心用于供客户端进行http协议所携带请求消息和响应消息的查看, 消息推送中心用于将http协议携带的请求消息和响应消息推送至客户端。
其中,客户端作为消息接收方,其接收消息的方式可以分为主动和被动两种, 主动是指客户端主动查询获得关联系统进行接口调用的相关消息,被动是指客 户端无需主动查询即可接收关联系统进行接口调用的相关消息。
基于此,本实施例设置消息代理中心以及消息推送中心,基于消息代理中心 实现客户端主动查询获得关联系统进行接口调用的相关消息,基于消息推送中 心实现将关联系统进行接口调用的相关消息向客户端的推送,客户端即可接收 到推送的相关消息。
对消息代理中心来说,其响应于客户端发起的数据查看请求,提取http协 议所含有请求消息和响应消息分别对应的值,并将请求消息和所述响应消息分 别对应的值返回至客户端,以将请求消息和响应消息分别对应的值显示在客户 端中。
对消息推送中心来说,其接收到http协议之后即将http协议推送至客户端。 客户端将http协议的消息体解析成更加方便阅读的格式,并将解析得到的这些 信息展示在客户端界面中。
例如,客户端从消息体{“request”:“请求消息”,“response”:“响应消 息”}中分别取出request和response的值,得到请求消息和响应消息分别对应的 值,然后将请求消息和响应消息分别对应的值发送至浏览器,由浏览器将这些值 显示在页面中。
由此,即使关联系统关闭了http插件,基于本实施例提供的方法也能够通 过构建http协议,并基于构建得到的http协议将关联系统之间交互的请求消息 和响应消息发送至客户端中进行展示,十分便于测试人员获取,也不会对关联系 统进行任何修改,极大地方便了测试人员进行关联系统的联调以及问题定位。
尤其是在关联系统中的调用链路更长的情况下,例如模块2还调用模块3, 模块3还调用模块4,……,模块N-1还调用模块N,采用本实施例的方法获取 关联系统间的交互信息来定位问题的效果将非常明显,极大地提升了测试效率, 且大大降低了测试难度。
图2是图1所示实施例中的步骤110在一个实施例的流程图。如图2所示, 在一示例性实施例中,步骤110至少包括如下步骤:
步骤111,获取关联系统中进行接口调用所采用的调用程序,从调用程序中 提取接口调用请求和接口调用响应。
其中,调用程序是指关联系统进行接口调用时所运行的程序。
在本实施例中,基于Java反射机制来获取接口调用请求和接口调用响应, 以避免jar(Java Archive,Java归档,是一种软件包文件格式)包冲突,从而不会 对关联系统造成任何影响。
Java反射机制是在运行状态中,对于任意的一个类(Class),都能够知道这 个类的所有属性和方法,且对于任意的一个对象,都能够调用它的任意属性和方 法。其中,类是面向对象程序设计实现信息封装的基础,其实质是一种引用数据 类型。
由于在接口调用中,需要使用特定的调用方法,因此通过在调用程序中提取 此调用方法,即可获取到接口调用的请求以及响应。
在一个示例性实施例中,如图3所示,从调用程序中提取接口调用请求和接 口调用响应,可以包括如下步骤:
步骤1111,从调用程序中定位调用类,改调用类中封装了进行接口调用的 调用属性和调用方法;
步骤1112,根据调用类对应的调用方法获取接口调用请求以及接口调用响 应。
其中,类的内部封装了属性和方法,用于操作自身的成员。类的构成包括成 员属性和成员方法,类和外界发生交互的操作称为接口。因此,进行接口调用的 调用程序必然含有调用类,基于调用类中封装的调用方法,即能得到接口调用请 求和接口调用响应。
例如,ESA接口的通用的调用类为com.paic.pafa.appclicent.DefaultActionClient, 通过该调用类的performRequest方法即可获取到ESA接口对应的接口调用请求 和接口调用响应。
示例性的,如果调用类中封装有语句“response=fun(request)”,通过获取 该调用类中含有的fun方法,然后分别提取“request”和“response”,即可相应 得到接口调用请求和接口调用响应。
步骤112,解析接口调用请求和接口调用响应,获得接口调用请求中的请求 参数以及接口调用响应中的响应参数。
其中,解析接口调用请求可以得到接口调用请求中含有的请求参数和接口 名称,解析接口调用响应可以得到接口调用响应中含有的响应参数和接口名称, 后续步骤中针对接口调用请求和接口调用响应的格式转换即是对解析得到的请 求参数以及响应参数的格式转换。
由此,本实施例针对关联系统之间的交互消息的获取不会对关联系统造成 任何影响,并且能够提取得到各个接口被调用的请求参数以及响应参数,十分便 于后续针对各个接口对应的接口调用请求及接口调用响应的处理。
请参阅图4,图4是根据另一示例性实施例示出的一种接口调用信息的处理 方法的流程图,该方法还可以包括如下步骤:
步骤210,从拦截到的接口调用请求中获取请求服务名称。
考虑到在某些情况下,测试人员希望获取到关联系统中各个程序模块被调 用的次数,以测试各个程序模块的接口性能,从而基于各个程序模块的接口性能 分析关联系统的稳定性。
由此,本实施例还从拦截到的接口调用请求中获取请求服务名称,该服务名 称对应于被调用的接口,以根据该服务名称被拦截的次数确定相应接口被调用 的次数。
拦截到的接口调用消息的主体通常包括三个部分:请求的服务名称、接口调 用请求以及接口调用响应,例如为:{“serviceid”:“请求服务名称”, “request”:“请求消息”,“response”:“响应消息”},因此提取“serviceid” 对应的值即能够获得请求服务名称。
步骤220,统计请求服务名称被拦截的次数,获得请求服务名称所对应接口 被调用的次数。
关联系统之间每进行一次接口调用,即可拦截到对应的接口调用消息,因此 通过统计接口调用消息中的请求服务名称被拦截的次数,即可获得相应接口被 调用的次数。
后续可以通过对拦截到的接口调用响应进行响应分析,进而确定此次接口 调用是否异常,进而能够计算各个接口的异常概率并判断各个接口的性能,由此 分析得到关联系统的稳定性。
请参阅图5,图5是根据另一示例性实施例示出的一种接口调用信息的处理 方法的流程图,该方法还可以包括如下步骤:
步骤310,验证拦截到的接口调用响应是否满足正常响应。
考虑到在关联系统的运行过程中,基于拦截到的接口调用消息,如果能够自 动识别接口调用的异常信息,则无需测试人员根据客户端中显示的请求消息和 响应消息定位关联系统中的问题,将在很大程度上减少测试人员的工作量,进而 提升关联系统的测试效率以及开发效率。
由此,本实施例在拦截到关联系统进行接口调用对应的接口调用消息之后, 还将进一步验证拦截得到的接口调用响应是否满足正常响应,如果满足,则表示 本次接口调用正常,反之则表示本次接口调用异常。
在一个实施例中,对接口调用响应的验证可以是验证该接口调用响应中的 消息格式是否与预设的消息格式一致,如果不一致,则表示本次接口调用异常。 其中,预设的消息格式应当理解为是针对某一个或者多个特定的接口所预设的 响应消息格式。
在另一个实施例中,还设有模拟系统,该模拟系统用于模拟针对某一个或者 多个特定的接口对应的调用过程。针对拦截到的接口调用消息,通过识别接口调 用消息中含有的接口调用请求,在模拟系统中模拟该请求,使得模拟系统基于该 请求发起接口调用,基于模拟系统所接收到的接口响应消息与拦截到的接口调 用响应之间的对比,即可判定本次接口调用是否异常。
并且在其它的实施例中,基于设置模拟系统的思路,还可以在模拟系统中实 现接口调的录制、自动回放以及问题重现等功能,以进一步辅助测试人员进行关 联系统的联调以及问题定位。
步骤320,如果为否,则向预先配置的目标终端发送拦截异常信息。
其中,目标终端可以是测试人员所使用的终端设备,例如测试人员所使用的 计算机或者智能手机,拦截异常信息的发送方式可以是邮件发送或者短信发送, 本处不进行限制。
如果目标终端接收到拦截异常信息,则表示关联系统当前进行的接口调用 出现异常情况,需要测试人员进行相应的异常处理,以及时维护关联系统的正常 运行。
并且,拦截异常信息可以包括前述实施例中获取到的接口调用请求、接口调 用响应、请求服务名称、请求服务名称被拦截的次数等信息,测试人员根据这些 信息即可快速定位关联系统的异常问题,由此提升异常处理效率。
为便于理解本申请的技术实质,下面将以一个具体的应用场景来对本申请 提供的方法进行详细描述。该应用场景涉及金融领域中针对接口调用信息的处 理,具体涉及银行系统针对接口调用信息的处理。
需要理解的是,银行系统中的各个业务模块之间通常是相关联的,例如用户 通过银行APP(Application,应用程序)不仅可以查看自己的银行资产,还可以 使用自己的银行资产购买本行或者其它机构的理财产品以及保险产品,也可以 向银行申请贷款以增加自己的银行资产,这些功能的实现均离不开银行系统中 不同业务模块之间的接口调用。
以平安银行的银行系统为示例,由于ESA接口是平安公司开发的用于内部 系统间调用的一种接口,安全性更高,因此银行系统的各个业务模块之间通常进 行ESA接口的调用。但由于ESA接口在使用时,基于安全方面的考虑以及使用 http方式调用时将无法使用ESA接口的负载功能,http插件默认是关闭的,因 此可以采用本申请提供的接口调用信息的处理方法进行银行系统的联调以及问 题定位。
如图6所示,一示例性的关联系统具体为银行系统20,该银行系统20包括 业务模块1至业务模块N,相邻的两个业务模块之间进行ESA接口调用,以实 现系统功能。
具体地,银行系统20在运行过程中,响应于用户端10发起的业务请求,进 行不同业务模块之间的ESA接口调用,以实现用户所请求的业务功能。在各个 业务模块之间进行ESA接口调用的过程中,接口调用拦截模块30基于前述各个 实施例中描述的方法,拦截每次接口调用所对应的接口调用消息,例如包括接口 调用请求以及接口调用响应,然后将接口调用请求以及接口调用响应转换为json 字符串格式,并将转换得到的字符串封装至http协议的消息体中,并使得接口 调用请求和接口调用响应基于封装得到的http协议发送至消息代理中心40和/ 或消息推送中心50。
测试客户端60可以从消息代理中心40主动查看拦截的接口调用请求和接 口调用响应,也可以接收消息推送中心50自动推送的接口调用请求和接口调用 响应。无论是基于主动查看的方式还是消息推送的方式,测试客户端60均可以 获取到银行系统20中每次进行接口调用所对应的相关信息,测试人员基于测试 客户端60中显示的相关信息,即可快速实现银行系统20的联调以及问题定位。
因此,即使银行系统20关闭了http插件,基于本申请提供的方法也能够通 过构建http协议,并基于构建得到的http协议将银行系统20之间交互的请求消 息和响应消息发送至测试客户端60中进行展示,以便于测试人员进行银行系统 20的联调以及问题定位,整个过程中不会对银行系统20进行任何修改,因此不 会影响银行系统20的正常运行。
图7是根据一示例性实施例示出的一种接口调用信息的处理装置的框图。 如图7所示,在一示例性实施例中,该装置包括调用拦截模块410、格式转换模 块420、协议封装模块430以及协议发送模块440。
调用拦截模块410用于针对关联系统进行的接口调用,拦截调用方发起的 接口调用请求,以及被调用方针对接口调用请求返回的接口调用响应。格式转换 模块420用于对拦截到的接口调用请求和接口调用响应进行格式转换,获得预 设格式的请求消息和响应消息。协议封装模块430用于将预设格式的请求消息 和响应消息封装至http协议中。协议发送模块440用于将封装得到的http协议 发送至消息代理中心和/或消息推送中心,消息代理中心用于供客户端进行http 协议所携带请求消息和响应消息的查看,消息推送中心用于将http协议携带的 请求消息和响应消息推送至客户端。
在另一示例性实施例中,调用拦截模块410包括调用程序获取单元和调用 程序解析单元。调用程序获取单元用于获取关联系统中进行接口调用所采用的 调用程序,从调用程序中提取接口调用请求和接口调用响应。调用程序解析单元 用于解析接口调用请求和接口调用响应,获得接口调用请求中的请求参数以及 接口调用响应中的响应参数。
在另一示例性实施例中,调用程序获取单元包括类定位子单元以及消息提 取子单元。类定位子单元用于从调用程序中定位调用类,调用类中封装了进行接 口调用的调用属性和调用方法。消息提取子单元用于根据调用类对应的调用方 法获取接口调用请求以及接口调用响应。
在另一示例性实施例中,协议封装模块430包括字符串拼接单元和字符串 携带单元。字符串拼接单元用于将预设格式的请求消息和响应消息拼接为json 字符串形式,获得json格式的消息字符串。字符串携带单元用于将消息字符串 添加至http协议的消息体中,获得携带有请求消息和响应消息的http协议。
在另一示例性实施例中,该装置还包括查看响应模块和消息发送模块。查看 响应模块用于响应于客户端发起的数据查看请求,从消息代理中心中提取http 协议所含有请求消息和响应消息分别对应的值。消息发送模块用于将请求消息 和响应消息分别对应的值返回至客户端,以将请求消息和响应消息分别对应的 值显示在客户端中。
在另一示例性实施例中,该装置还包括服务名称获取模块和服务名称统计 模块。服务名称获取模块用于从拦截到的接口调用请求中获取请求服务名称。服 务名称统计模块用于统计请求服务名称被拦截的次数,获得请求服务名称所对 应接口被调用的次数。
在另一示例性实施例中,该装置还包括响应验证模块和异常信息发送模块。 响应验证模块用于验证拦截到的接口调用响应是否满足正常响应。异常信息发 送模块用于在响应验证模块为否的情况下,向预先配置的目标终端发送拦截异 常信息。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于 同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细 描述,此处不再赘述。
在一示例性的实施例中,本申请还提供一种电子设备,该设备包括处理器和 存储器,该存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时, 实现如前所述的接口调用信息的处理方法。
图8是根据一示例性实施例所示出的一种电子设备的硬件示意图。
需要说明的是,该电子设备只是一个适配于本申请的示例,不能认为是提供 了对本申请的使用范围的任何限制。该电子设备也不能解释为需要依赖于或者 必须具有图8中示出的示例性的电子设备中的一个或者多个组件。
该电子设备的硬件结构可因配置或者性能的不同而产生较大的差异,如图8 所示,电子设备包括:电源510、接口530、至少一存储器550、以及至少一中央 处理器(CPU,Central Processing Units)570。
其中,电源510用于为电子设备上的各硬件设备提供工作电压。
接口530包括至少一有线或无线网络接口531、至少一串并转换接口533、 至少一输入输出接口535以及至少一USB接口537等,用于与外部设备通信。
存储器550作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或 者光盘等,其上所存储的资源包括操作系统551、应用程序553或者数据555等, 存储方式可以是短暂存储或者永久存储。
其中,操作系统551用于管理与控制电子设备上的各硬件设备以及应用程 序553,以实现中央处理器570对海量数据555的计算与处理,其可以是Windows ServerTM、Mac OSXTM、UnixTM、LinuxTM等。应用程序553是基于操作系统 551之上完成至少一项特定工作的计算机程序,其可以包括至少一模块(图8中 未示出),每个模块都可以分别包含有对电子设备的一系列计算机可读指令。数 据555可以是存储于磁盘中的http协议数据等。
中央处理器570可以包括一个或多个以上的处理器,并设置为通过总线与 存储器550通信,用于运算与处理存储器550中的海量数据555。
如上面所详细描述的,适用本申请的电子设备将通过中央处理器570读取 存储器550中存储的一系列计算机可读指令的形式来完成前述实施例所述的接 口调用信息的处理方法。
此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本申请,因此 实现本申请并不限于任何特定硬件电路、软件以及两者的组合。
在一示例性的实施例中,本申请还提供一种计算机可读存储介质,其上存储 有计算机程序,该计算机程序被处理器执行时,实现如前所述的接口调用信息的 处理方法。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结 构,并且可以在不脱离其范围执行各种修改和改变。本申请的范围仅由所附的权 利要求来限制。

Claims (10)

1.一种接口调用信息的处理方法,其特征在于,包括:
针对关联系统进行的接口调用,拦截调用方发起的接口调用请求,以及被调用方针对所述接口调用请求返回的接口调用响应;
对拦截到的所述接口调用请求和所述接口调用响应进行格式转换,获得预设格式的请求消息和响应消息;
将所述预设格式的请求消息和响应消息封装至http协议中;
将封装得到的所述http协议发送至消息代理中心和/或消息推送中心,所述消息代理中心用于供客户端进行所述http协议所携带请求消息和响应消息的查看,所述消息推送中心用于将所述http协议携带的请求消息和响应消息推送至所述客户端。
2.根据权利要求1所述的方法,其特征在于,拦截调用方发起的接口调用请求,以及被调用方针对所述接口调用请求返回的接口调用响应,包括:
获取所述关联系统中进行接口调用所采用的调用程序,从所述调用程序中提取所述接口调用请求和所述接口调用响应;
解析所述接口调用请求和所述接口调用响应,获得所述接口调用请求中的请求参数以及所述接口调用响应中的响应参数。
3.根据权利要求2所述的方法,其特征在于,从所述调用程序中提取所述接口调用请求和所述接口调用响应,包括:
从所述调用程序中定位调用类,所述调用类中封装了进行接口调用的调用属性和调用方法;
根据所述调用类对应的调用方法获取所述接口调用请求以及所述接口调用响应。
4.根据权利要求1所述的方法,其特征在于,将所述预设格式的请求消息和响应消息封装至http协议中,包括:
将所述预设格式的请求消息和响应消息拼接为json字符串形式,获得json格式的消息字符串;
将所述消息字符串添加至http协议的消息体中,获得携带有所述请求消息和响应消息的http协议。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于客户端发起的数据查看请求,从所述消息代理中心中提取所述http协议所含有请求消息和响应消息分别对应的值;
将所述请求消息和所述响应消息分别对应的值返回至所述客户端,以将所述请求消息和所述响应消息分别对应的值显示在客户端中。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从拦截到的所述接口调用请求中获取请求服务名称;
统计所述请求服务名称被拦截的次数,获得所述请求服务名称所对应接口被调用的次数。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
验证拦截到的所述接口调用响应是否满足正常响应;
如果为否,则向预先配置的目标终端发送拦截异常信息。
8.一种接口调用信息的处理装置,其特征在于,包括:
调用拦截模块,用于针对关联系统进行的接口调用,拦截调用方发起的接口调用请求,以及被调用方针对所述接口调用请求返回的接口调用响应;
格式转换模块,用于对拦截到的所述接口调用请求和所述接口调用响应进行格式转换,获得预设格式的请求消息和响应消息;
协议封装模块,用于将所述预设格式的请求消息和响应消息封装至http协议中;
协议发送模块,用于将封装得到的所述http协议发送至消息代理中心和/或消息推送中心,所述消息代理中心用于供客户端进行所述http协议所携带请求消息和响应消息的查看,所述消息推送中心用于将所述http协议携带的请求消息和响应消息推送至所述客户端。
9.一种电子设备,其特征在于,包括:
存储器,存储有计算机可读指令;
处理器,读取存储器存储的计算机可读指令,以执行权利要求1-7中的任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-7中的任一项所述的方法。
CN202010624955.XA 2020-06-30 2020-06-30 接口调用信息的处理方法及装置、电子设备、存储介质 Pending CN111782306A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010624955.XA CN111782306A (zh) 2020-06-30 2020-06-30 接口调用信息的处理方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010624955.XA CN111782306A (zh) 2020-06-30 2020-06-30 接口调用信息的处理方法及装置、电子设备、存储介质

Publications (1)

Publication Number Publication Date
CN111782306A true CN111782306A (zh) 2020-10-16

Family

ID=72757755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010624955.XA Pending CN111782306A (zh) 2020-06-30 2020-06-30 接口调用信息的处理方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN111782306A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112612700A (zh) * 2020-12-21 2021-04-06 北京达佳互联信息技术有限公司 接口测试方法、装置及电子设备
CN113242241A (zh) * 2021-05-11 2021-08-10 浙江鸿程计算机系统有限公司 一种将sap rfc协议转换为http协议的方法
CN113448689A (zh) * 2021-07-09 2021-09-28 中国银行股份有限公司 运行期Dubbo协议转换装置及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130110997A1 (en) * 2011-10-27 2013-05-02 International Business Machines Corporation Using push notifications to reduce open browser connections
CN104699612A (zh) * 2015-03-25 2015-06-10 北京嘀嘀无限科技发展有限公司 用于软件测试中的处理方法、设备和系统
CN107360261A (zh) * 2017-09-07 2017-11-17 北京奇艺世纪科技有限公司 一种http请求处理方法、装置及电子设备
CN109445968A (zh) * 2018-11-09 2019-03-08 金瓜子科技发展(北京)有限公司 不同协议的服务请求处理方法、装置、设备及存储介质
CN111193716A (zh) * 2019-12-11 2020-05-22 未鲲(上海)科技服务有限公司 业务数据调用方法、装置、计算机设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130110997A1 (en) * 2011-10-27 2013-05-02 International Business Machines Corporation Using push notifications to reduce open browser connections
CN104699612A (zh) * 2015-03-25 2015-06-10 北京嘀嘀无限科技发展有限公司 用于软件测试中的处理方法、设备和系统
CN107360261A (zh) * 2017-09-07 2017-11-17 北京奇艺世纪科技有限公司 一种http请求处理方法、装置及电子设备
CN109445968A (zh) * 2018-11-09 2019-03-08 金瓜子科技发展(北京)有限公司 不同协议的服务请求处理方法、装置、设备及存储介质
CN111193716A (zh) * 2019-12-11 2020-05-22 未鲲(上海)科技服务有限公司 业务数据调用方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CODING的大博哥: "RabbitMQ消费消息的两种模式:推和拉", pages 2 - 3, Retrieved from the Internet <URL:https://blog.csdn.net/ITWANGBOIT/article/details/105428281> *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112612700A (zh) * 2020-12-21 2021-04-06 北京达佳互联信息技术有限公司 接口测试方法、装置及电子设备
CN113242241A (zh) * 2021-05-11 2021-08-10 浙江鸿程计算机系统有限公司 一种将sap rfc协议转换为http协议的方法
CN113448689A (zh) * 2021-07-09 2021-09-28 中国银行股份有限公司 运行期Dubbo协议转换装置及方法

Similar Documents

Publication Publication Date Title
CN106776313B (zh) 一种模拟服务的方法、装置及集中管理平台
CN109040316B (zh) Http服务处理方法和装置
CN111782306A (zh) 接口调用信息的处理方法及装置、电子设备、存储介质
CN110659206B (zh) 基于微服务的模拟架构建立方法、装置、介质及电子设备
CN110058864B (zh) 微服务的部署方法及装置
US20220261894A1 (en) Method and apparatus for issuing smart contract
CN112243002A (zh) 数据转发方法、装置、电子设备以及计算机可读介质
CN112631590B (zh) 组件库生成方法、装置、电子设备和计算机可读介质
CN110309931A (zh) 一种业务优化方法及装置
CN111917770B (zh) 设备通信方法、装置、设备及存储介质
CN113127108A (zh) 业务请求的处理方法及装置、存储介质以及电子设备
CN112615759A (zh) 全链路压测组件、全链路压测方法及装置
CN109725887B (zh) 基于消息研发框架的数据交互方法、装置及终端设备
CN112015383A (zh) 一种登录方法和装置
CN110022332B (zh) 一种超文本传输安全协议代理方法、装置、设备及介质
CN115374207A (zh) 业务处理方法及装置、电子设备和计算机可读存储介质
CN112929453A (zh) 一种共享session数据的方法和装置
CN113918245A (zh) 一种数据调用方法、装置、设备及计算机可读存储介质
CN112235421A (zh) 一种苹果移动设备与苹果外设进行通信的方法和系统
CN114721927A (zh) 页面测试信息获取方法、装置、计算机设备及存储介质
CN112000313A (zh) 请求响应方法、装置、设备及存储介质
CN113364614B (zh) 请求处理方法、装置、服务器、存储介质及程序产品
CN111131471B (zh) 一种业务系统的运行方法、装置和电子设备
US20230185705A1 (en) Systems and methods for validating a cloud-hosted application
CN111142860B (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