访问第三方服务的方法、电子装置及可读存储介质与流程

文档序号:15845352发布日期:2018-11-07 08:56阅读:128来源:国知局
访问第三方服务的方法、电子装置及可读存储介质与流程
本发明涉及计算机
技术领域
,尤其涉及一种访问第三方服务的方法、电子装置及可读存储介质。
背景技术
目前,业务方在申请第三方服务时需通过出口网关来访问第三方服务,出口网关完成的一般都是根据第三方提供的通讯接口访问服务,而这些接口不仅协议和交互方式不同,报文格式复杂,而且渠道众多,导致出口网关没有统一的对外报文收发模式,也无法灵活的定制路由,现有技术中没有一个通用的能访问不同第三方外部服务资源的方案。技术实现要素:本发明的目的在于提供一种访问第三方服务的方法、电子装置及可读存储介质,旨在实现能通用的访问不同第三方服务。为实现上述目的,本发明提供一种电子装置,所述电子装置包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的访问第三方服务的系统,所述访问第三方服务的系统被所述处理器执行时实现如下步骤:收到业务方发出的对第三方服务的服务申请后,根据预先建立的第三方服务、报文格式与报文引擎之间的映射关系,确定出所述业务方申请的第三方服务对应的报文格式及报文引擎;利用确定的报文引擎进行预设的路由配置及通讯适配器配置;基于配置好的路由和通讯适配器与所述业务方申请的第三方服务之间以确定的报文格式进行通讯。优选地,所述访问第三方服务的系统被所述处理器执行实现所述利用确定的报文引擎进行预设的路由配置及通讯适配器配置的步骤时,包括:配置路由目标地址,并从预设的协议实例池中选择配置与确定的报文格式相对应的协议,所述预设的协议实例池中包括超文本传输协议http、websocket协议、传输控制协议tcp实例。优选地,所述报文格式中包含fname数组类型、支持json和xml的枚举类型和用户自定义类型。优选地,所述处理器还用于执行所述访问第三方服务的系统,以实现以下步骤:收到业务方发出的对第三方服务的服务申请后,根据预先建立的第三方服务与渠道号的映射关系,确定出所述业务方申请的第三方服务对应的渠道号,并在与第三方服务进行通讯时,利用渠道号来区分标识与不同第三方服务的通讯;当与第三方服务之间的通讯出现故障时,根据与所述第三方服务对应的渠道号将与所述第三方服务的通讯进行隔离处理。此外,为实现上述目的,本发明还提供一种访问第三方服务的方法,所述访问第三方服务的方法包括:收到业务方发出的对第三方服务的服务申请后,根据预先建立的第三方服务、报文格式与报文引擎之间的映射关系,确定出所述业务方申请的第三方服务对应的报文格式及报文引擎;利用确定的报文引擎进行预设的路由配置及通讯适配器配置;基于配置好的路由和通讯适配器与所述业务方申请的第三方服务之间以确定的报文格式进行通讯。优选地,所述利用确定的报文引擎进行预设的路由配置及通讯适配器配置的步骤包括:配置路由目标地址,并从预设的协议实例池中选择配置与确定的报文格式相对应的协议,所述预设的协议实例池中包括超文本传输协议http、websocket协议、传输控制协议tcp实例。优选地,所述报文格式中包含fname数组类型、支持json和xml的枚举类型和用户自定义类型。优选地,所述访问第三方服务的方法还包括:收到业务方发出的对第三方服务的服务申请后,根据预先建立的第三方服务与渠道号的映射关系,确定出所述业务方申请的第三方服务对应的渠道号,并在与第三方服务进行通讯时,利用渠道号来区分标识与不同第三方服务的通讯。优选地,所述访问第三方服务的方法还包括:当与第三方服务之间的通讯出现故障时,根据与所述第三方服务对应的渠道号将与所述第三方服务的通讯进行隔离处理。进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有访问第三方服务的系统,所述访问第三方服务的系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述的访问第三方服务的方法的步骤。本发明提出的访问第三方服务的方法、电子装置及可读存储介质,通过预先建立的第三方服务、报文格式与报文引擎之间的映射关系,确定出业务方申请的第三方服务对应的报文格式及报文引擎;利用确定的报文引擎配置好路由和通讯适配器,与所述业务方申请的第三方服务之间以确定的报文格式进行通讯。由于预先建立了不同第三方服务、报文格式与报文引擎之间的映射关系,业务方申请第三方服务后,可确定出与业务方申请的第三方服务对应的报文格式与报文引擎,即可进行路由配置及通讯适配器配置后与第三方服务进行通讯。不用每次都要重新构建报文格式等,能更加灵活的定制路由,实现能通用的访问不同第三方服务。附图说明图1为本发明访问第三方服务的系统10较佳实施例的运行环境示意图;图2为本发明访问第三方服务的方法一实施例的流程示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。本发明提供一种访问第三方服务的系统。请参阅图1,是本发明访问第三方服务的系统10较佳实施例的运行环境示意图。在本实施例中,所述的访问第三方服务的系统10安装并运行于电子装置1中。该电子装置1可包括,但不仅限于,存储器11、处理器12及显示器13。图1仅示出了具有组件11-13的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。在一种可选的实施方式中,本实施例中的电子装置1可以是出口网关设备,业务方在申请第三方服务时需通过该出口网关设备来访问第三方服务。所述存储器11为至少一种类型的可读计算机存储介质,所述存储器11在一些实施例中可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘或内存。所述存储器11在另一些实施例中也可以是所述电子装置1的外部存储设备,例如所述电子装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器11还可以既包括所述电子装置1的内部存储单元也包括外部存储设备。所述存储器11用于存储安装于所述电子装置1的应用软件及各类数据,例如所述访问第三方服务的系统10的程序代码等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。所述处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu),微处理器或其他数据处理芯片,用于运行所述存储器11中存储的程序代码或处理数据,例如执行所述访问第三方服务的系统10等。所述显示器13在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。所述显示器13用于显示在所述电子装置1中处理的信息以及用于显示可视化的用户界面,例如确定出的报文格式及报文引擎、路由目标地址、与第三方服务之间的实时通讯情况等。所述电子装置1的部件11-13通过系统总线相互通信。访问第三方服务的系统10包括至少一个存储在所述存储器11中的计算机可读指令,该至少一个计算机可读指令可被所述处理器12执行,以实现本申请各实施例。其中,上述访问第三方服务的系统10被所述处理器12执行时实现如下步骤:步骤s1,收到业务方发出的对第三方服务的服务申请后,根据预先建立的第三方服务、报文格式与报文引擎之间的映射关系,确定出所述业务方申请的第三方服务对应的报文格式及报文引擎。本实施例中,访问第三方服务的系统接收业务方发出的包含第三方服务相关信息的服务申请请求,例如,接收用户通过手机、平板电脑、自助终端设备等终端发送的服务申请请求,如接收用户在手机、平板电脑、自助终端设备等终端中预先安装的客户端上发送来的服务申请请求,或接收用户在手机、平板电脑、自助终端设备等终端中的浏览器系统上发送来的服务申请请求。本实施例中,预先建立第三方服务(业务)、报文格式与报文引擎这三者之间的映射关系,即每个第三方服务(例如第三方挂号服务、接入社保服务等)都对应一种报文格式定义,而每一种报文格式定义都对应一种报文引擎。在收到业务方发出的对第三方服务的服务申请后,可根据业务方申请的第三方服务定义对应的外部报文格式,并根据预先设置的报文格式与报文引擎的映射关系获取对应的报文引擎。进一步地,本实施例中,将报文区分为内部报文和外部报文,内部报文即内部系统与出口网关之间的通讯报文,本实施例中内部报文使用灵活定制通用的缺省的报文格式,以及标准的数据对象,有利于简化内部的报文处理。外部报文即出口网关与外部的第三方服务之间的通讯报文,本实施例中外部报文采用统一组装(velocity)解析(groovy)框架实现模板化配置功能,不同的报文适配不同的引擎处理组装和解析任务,可处理定长报文、xml报文、分隔符报文、iso8583报文或者各种组合结构的报文。一种外部报文对应一种报文引擎,其中,报文引擎是指跟外部通讯即外部的第三方服务所使用的协议模块,适用于定长报文、xml报文、分隔符报文、iso8583报文或者各种组合结构的外部报文格式。一种外部报文格式对应一种报文引擎来处理组装和解析任务。例如,在一种可选的具体实施方式中,外部报文格式包含公用项和用户自定义项,采用xml方式。定义如下表1所示:字段名类型说明mname="message"fname数组由多个fname结构组成fname="output"枚举支持json和xmlfname="xxx"自定义用户自定义类型表1在一种可选的具体实施方式中,外部报文的具体代码示例如下:步骤s2,利用确定的报文引擎进行预设的路由配置及通讯适配器配置。步骤s3,基于配置好的路由和通讯适配器与所述业务方申请的第三方服务之间以确定的报文格式进行通讯。在确定出所述业务方申请的第三方服务对应的报文格式及报文引擎后,可利用确定好的报文引擎进行路由配置,包括但不限于:路由引擎配置、锁定流水、报文组装、配置路由目标地址、接收报文、解析匹配结果等等。并根据确定的外部报文格式确定对应的通讯协议,来进行相应的通讯适配器配置。基于配置好的路由和通讯适配器与第三方业务之间进行通讯。在一种业务场景中,需要接入第三方服务时,例如获取第三方挂号资源时,则业务方通过出口网关配置好路由和通讯适配器后来调用第三方服务即第三方挂号服务。本实施例中,根据确定的外部报文格式确定对应的通讯协议,并进行相应的通讯适配器配置。不同的外部报文格式都对应有其所应用的通讯协议,因此,在根据业务方申请的第三方服务确定对应的外部报文格式后,即可根据确定的外部报文格式确定对应的通讯协议。本实施例中可实现超文本传输协议http、websocket协议、传输控制协议tcp等各协议的实例化管理,确定出对应的通讯协议后,即可从预设的协议实例池中选择配置与确定的报文格式相对应的协议,所述预设的协议实例池中包括超文本传输协议http、websocket协议、传输控制协议tcp实例。进而完成通讯适配器配置,包括但不限于:配置通讯协议、同步异步、并发控制、实例池、通讯属性管理等。本实施例通过预先建立的第三方服务、报文格式与报文引擎之间的映射关系,确定出业务方申请的第三方服务对应的报文格式及报文引擎;利用确定的报文引擎配置好路由和通讯适配器,与所述业务方申请的第三方服务之间以确定的报文格式进行通讯。由于预先建立了不同第三方服务、报文格式与报文引擎之间的映射关系,业务方申请第三方服务后,可确定出与业务方申请的第三方服务对应的报文格式与报文引擎,即可进行路由配置及通讯适配器配置后与第三方服务进行通讯。不用每次都要重新构建报文格式等,能更加灵活的定制路由,实现能通用的访问不同第三方服务。在一可选的实施例中,在上述图1的实施例的基础上,所述访问第三方服务的系统10被所述处理器12执行时,还实现如下步骤:收到业务方发出的对第三方服务的服务申请后,根据预先建立的第三方服务与渠道号的映射关系,确定出所述业务方申请的第三方服务对应的渠道号,并在与第三方服务进行通讯时,利用渠道号来区分标识与不同第三方服务的通讯。当与第三方服务之间的通讯出现故障时,根据与所述第三方服务对应的渠道号将与所述第三方服务的通讯进行隔离处理。本实施例中,预先建立第三方服务与渠道号的映射关系,即每个第三方服务都对应一个渠道号,例如,第三方服务“挂号服务”对应渠道号“001”,第三方服务“社保接入服务”对应渠道号“002”,等。当业务方通过出口网关申请第三方服务(即申请调用第三方服务)时,根据业务方申请的第三方服务,以及预先建立的第三方服务与渠道号的映射关系,下发业务方申请的第三方服务所对应的渠道号。在后续与多个不同的第三方服务之间进行通讯过程中,可根据渠道号对不同的第三方服务的通讯进行管控,如当与第三方服务之间的通讯出现故障时,可根据与所述第三方服务对应的渠道号将与所述第三方服务的通讯进行隔离处理。或者,根据与所述第三方服务对应的渠道号将与所述第三方服务的通讯流量进行控制。如图2所示,图2为本发明访问第三方服务的方法一实施例的流程示意图,该访问第三方服务的方法包括以下步骤:步骤s10,收到业务方发出的对第三方服务的服务申请后,根据预先建立的第三方服务、报文格式与报文引擎之间的映射关系,确定出所述业务方申请的第三方服务对应的报文格式及报文引擎。本实施例中,访问第三方服务的系统接收业务方发出的包含第三方服务相关信息的服务申请请求,例如,接收用户通过手机、平板电脑、自助终端设备等终端发送的服务申请请求,如接收用户在手机、平板电脑、自助终端设备等终端中预先安装的客户端上发送来的服务申请请求,或接收用户在手机、平板电脑、自助终端设备等终端中的浏览器系统上发送来的服务申请请求。本实施例中,预先建立第三方服务(业务)、报文格式与报文引擎这三者之间的映射关系,即每个第三方服务(例如第三方挂号服务、接入社保服务等)都对应一种报文格式定义,而每一种报文格式定义都对应一种报文引擎。在收到业务方发出的对第三方服务的服务申请后,可根据业务方申请的第三方服务定义对应的外部报文格式,并根据预先设置的报文格式与报文引擎的映射关系获取对应的报文引擎。进一步地,本实施例中,将报文区分为内部报文和外部报文,内部报文即内部系统与出口网关之间的通讯报文,本实施例中内部报文使用灵活定制通用的缺省的报文格式,以及标准的数据对象,有利于简化内部的报文处理。外部报文即出口网关与外部的第三方服务之间的通讯报文,本实施例中外部报文采用统一组装(velocity)解析(groovy)框架实现模板化配置功能,不同的报文适配不同的引擎处理组装和解析任务,可处理定长报文、xml报文、分隔符报文、iso8583报文或者各种组合结构的报文。一种外部报文对应一种报文引擎,其中,报文引擎是指跟外部通讯即外部的第三方服务所使用的协议模块,适用于定长报文、xml报文、分隔符报文、iso8583报文或者各种组合结构的外部报文格式。一种外部报文格式对应一种报文引擎来处理组装和解析任务。例如,在一种可选的具体实施方式中,外部报文格式包含公用项和用户自定义项,采用xml方式。定义如下表1所示:字段名类型说明mname="message"fname数组由多个fname结构组成fname="output"枚举支持json和xmlfname="xxx"自定义用户自定义类型表1在一种可选的具体实施方式中,外部报文的具体代码示例如下:步骤s20,利用确定的报文引擎进行预设的路由配置及通讯适配器配置。步骤s30,基于配置好的路由和通讯适配器与所述业务方申请的第三方服务之间以确定的报文格式进行通讯。在确定出所述业务方申请的第三方服务对应的报文格式及报文引擎后,可利用确定好的报文引擎进行路由配置,包括但不限于:路由引擎配置、锁定流水、报文组装、配置路由目标地址、接收报文、解析匹配结果等等。并根据确定的外部报文格式确定对应的通讯协议,来进行相应的通讯适配器配置。基于配置好的路由和通讯适配器与第三方业务之间进行通讯。在一种业务场景中,需要接入第三方服务时,例如获取第三方挂号资源时,则业务方通过出口网关配置好路由和通讯适配器后来调用第三方服务即第三方挂号服务。本实施例中,根据确定的外部报文格式确定对应的通讯协议,并进行相应的通讯适配器配置。不同的外部报文格式都对应有其所应用的通讯协议,因此,在根据业务方申请的第三方服务确定对应的外部报文格式后,即可根据确定的外部报文格式确定对应的通讯协议。本实施例中可实现超文本传输协议http、websocket协议、传输控制协议tcp等各协议的实例化管理,确定出对应的通讯协议后,即可从预设的协议实例池中选择配置与确定的报文格式相对应的协议,所述预设的协议实例池中包括超文本传输协议http、websocket协议、传输控制协议tcp实例。进而完成通讯适配器配置,包括但不限于:配置通讯协议、同步异步、并发控制、实例池、通讯属性管理等。本实施例通过预先建立的第三方服务、报文格式与报文引擎之间的映射关系,确定出业务方申请的第三方服务对应的报文格式及报文引擎;利用确定的报文引擎配置好路由和通讯适配器,与所述业务方申请的第三方服务之间以确定的报文格式进行通讯。由于预先建立了不同第三方服务、报文格式与报文引擎之间的映射关系,业务方申请第三方服务后,可确定出与业务方申请的第三方服务对应的报文格式与报文引擎,即可进行路由配置及通讯适配器配置后与第三方服务进行通讯。不用每次都要重新构建报文格式等,能更加灵活的定制路由,实现能通用的访问不同第三方服务。在一可选的实施例中,在上述实施例的基础上,所述访问第三方服务的方法还包括如下步骤:收到业务方发出的对第三方服务的服务申请后,根据预先建立的第三方服务与渠道号的映射关系,确定出所述业务方申请的第三方服务对应的渠道号,并在与第三方服务进行通讯时,利用渠道号来区分标识与不同第三方服务的通讯。当与第三方服务之间的通讯出现故障时,根据与所述第三方服务对应的渠道号将与所述第三方服务的通讯进行隔离处理。本实施例中,预先建立第三方服务与渠道号的映射关系,即每个第三方服务都对应一个渠道号,例如,第三方服务“挂号服务”对应渠道号“001”,第三方服务“社保接入服务”对应渠道号“002”,等。当业务方通过出口网关申请第三方服务(即申请调用第三方服务)时,根据业务方申请的第三方服务,以及预先建立的第三方服务与渠道号的映射关系,下发业务方申请的第三方服务所对应的渠道号。在后续与多个不同的第三方服务之间进行通讯过程中,可根据渠道号对不同的第三方服务的通讯进行管控,如当与第三方服务之间的通讯出现故障时,可根据与所述第三方服务对应的渠道号将与所述第三方服务的通讯进行隔离处理。或者,根据与所述第三方服务对应的渠道号将与所述第三方服务的通讯流量进行控制。此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有访问第三方服务的系统,所述访问第三方服务的系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述实施例中的访问第三方服务的方法的步骤,该访问第三方服务的方法的步骤s10、s20、s30等具体实施过程如上文所述,在此不再赘述。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1