服务调用方法和装置制造方法及图纸

技术编号:26762015 阅读:20 留言:0更新日期:2020-12-18 23:06
本说明书实施例提供了一种服务调用方法和装置,其中,该方法包括:响应于用户发起的目标业务请求,获取所述目标业务的服务调用关系信息集;其中,所述目标业务的服务调用关系信息集中包含所述目标业务涉及的多个服务的调用关系;根据所述目标业务涉及的多个服务的调用关系,利用多个线程依次调用所述目标业务涉及的多个服务。在本说明书实施例中,无需依赖于任何流程平台进行组合服务的封装,可以高效地对用户请求的目标业务所涉及的多个服务进行的灵活调用。

【技术实现步骤摘要】
服务调用方法和装置
本说明书实施例涉及数据处理
,特别涉及一种服务调用方法和装置。
技术介绍
由于大型商业银行企业的系统规模往往很大,所有产品系统的交易业务数有时会多达几万个,因此,为了适应业务的快速增长和系统的迭代更新,系统逐渐从集中的架构转向分布式的服务架构,将所有交易接口全部服务化,分布式服务架构有效解决了集中式架构中的性能扩展、敏捷迭代升级等问题,但是用户请求有些业务时需要调用多个服务才能完成,即需要将业务涉及的多个服务进行组合才能实现一个业务流程。现有技术中的组合服务方法通常是通过流程平台实现服务的组合管理,其实现的基本原理是通过流程平台的功能,将业务涉及的多个服务封装成一个服务为业务调用,从而实现服务的整合调用。现有的组合服务方法主要依赖于流程平台,如果更换流程平台则需要针对各个业务重新编写组合服务的代码,不具备灵活性。并且在现有业务对应的组合服务发生变更或者出现新的业务时,均需要重新编写业务的组合服务代码,从而使得采用现有的组合服务方法无法便捷地调用业务所涉及的多个服务。针对上述问题,目前尚未提出有效的解决方案。
技术实现思路
本说明书实施例提供了一种服务调用方法和装置,以解决现有技术中便捷地调用业务所涉及的多个服务的问题。本说明书实施例提供了一种服务调用方法,包括:响应于用户发起的目标业务请求,获取所述目标业务的服务调用关系信息集;其中,所述目标业务的服务调用关系信息集中包含所述目标业务涉及的多个服务的调用关系;根据所述目标业务涉及的多个服务的调用关系,利用多个线程依次调用所述目标业务涉及的多个服务。本说明书实施例还提供了一种服务调用装置,包括:处理模块,用于响应于用户发起的目标业务请求,获取所述目标业务的服务调用关系信息集;其中,所述目标业务的服务调用关系信息集中包含所述目标业务涉及的多个服务的调用关系;调用模块,用于根据所述目标业务涉及的多个服务的调用关系,利用多个线程依次调用所述目标业务涉及的多个服务。本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述服务调用方法的步骤。本说明书实施例提供了一种服务调用方法,可以响应于用户发起的目标业务请求,获取所述目标业务的服务调用关系信息集。由于目标业务的服务调用关系信息集中包含所述目标业务涉及的多个服务的调用关系,因此,可以根据所述目标业务涉及的多个服务的调用关系,利用多个线程依次调用所述目标业务涉及的多个服务,无需依赖于任何流程平台进行组合服务的封装,可以高效地对用户请求的目标业务所涉及的多个服务进行的灵活调用。附图说明此处所说明的附图用来提供对本说明书实施例的进一步理解,构成本说明书实施例的一部分,并不构成对本说明书实施例的限定。在附图中:图1是根据本说明书实施例提供的服务调用系统的结构示意图;图2是根据本说明书实施例提供的服务调用方法的步骤示意图;图3是根据本说明书实施例提供的服务调用装置的结构示意图;图4是根据本说明书实施例提供的服务调用设备的结构示意图。具体实施方式下面将参考若干示例性实施方式来描述本说明书实施例的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书实施例,而并非以任何方式限制本说明书实施例的范围。相反,提供这些实施方式是为了使本说明书实施例公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。本领域的技术人员知道,本说明书实施例的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本说明书实施例公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。在本申请的一个场景示例中提供了一种服务调用系统,如图1所示,可以包括:终端设备101、服务器102,用户可以通过终端设备101发起目标业务请求。服务器102可以响应于用户提交目标业务请求,获取目标业务的服务调用关系信息集,并根据目标业务涉及的多个服务的调用关系,利用多个线程依次调用目标业务涉及的多个服务,从而可以不依赖于任何流程平台实现高效地对目标业务所涉及的多个服务的灵活调用。在一些场景示例中,服务器102还可以将调用的目标业务所涉及的多个服务的执行结果反馈至终端设备101。上述终端设备101可以是用户操作使用的终端设备或者软件。具体的,终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能手表或者其它可穿戴设备等终端设备,也可以是机器人设备等等。当然,终端设备101也可以是能运行于上述终端设备中的软件。例如:系统应用、支付应用、浏览器、微信小程序等应用软件。上述服务器102可以是单一的服务器,也可以是服务器集群,当然,服务器的功能也可以是通过云计算技术实现的。该服务器102可以与多个终端设备相连,也可以是具备一个强大的信息集库的服务器,可以基于用户发起的目标业务请求,获取目标业务的服务调用关系信息集,并根据目标业务涉及的多个服务的调用关系,利用多个线程依次调用目标业务涉及的多个服务,从而可以不依赖于任何流程平台实现高效地对目标业务所涉及的多个服务的灵活调用。请参阅图2,本实施方式可以提供一种服务调用方法。该服务调用方法可以用于基于用户发起的目标业务请求,根据目标业务涉及的多个服务的调用关系利用多个线程依次调用目标业务涉及的多个服务,从而可以实现高效地对目标业务所涉及的多个服务的灵活调用。上述服务调用方法可以包括以下步骤。S201:响应于用户发起的目标业务请求,获取目标业务的服务调用关系信息集;其中,目标业务的服务调用关系信息集中包含目标业务涉及的多个服务的调用关系。在本实施方式中,响应于用户发出的目标业务请求,获取目标业务的服务调用关系信息集。在一些实施例中,可以是银行等机构中用于处理业务请求、资源调度的服务器响应用户发出的目标业务请求,也可以是由某个进程响应用户发出的目标业务请求,具体的可以根据实际情况确定,本申请对此不作限定。在本实施方式中,上述目标业务请求可以是用户针对目标业务发出的请求,上述目标业务请求可以以报文的形式进行传输。上述目标业务可以为用户期望实现的业务,在一个场景示例中,上述目标业务可以包括:转账、存款、取款、查询余额、办理信用卡、申请贷款等,当然,目标业务不限于上述举例,所属领域技术人员在本说明书实施例技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本说明书实施例相同或相似,均应涵盖于本说明书实施例保护范围内。在本实施方式中,由于完成一个业务可能需要按照一定的顺序调用多个服务,因此,在接收到用户发起的目标业务请求之后可以获取目标业务的服务调用关系信息集,其中,上述目标业务的服务调用关系信息集中包含本文档来自技高网...

【技术保护点】
1.一种服务调用方法,其特征在于,包括:/n响应于用户发起的目标业务请求,获取所述目标业务的服务调用关系信息集;其中,所述目标业务的服务调用关系信息集中包含所述目标业务涉及的多个服务的调用关系;/n根据所述目标业务涉及的多个服务的调用关系,利用多个线程依次调用所述目标业务涉及的多个服务。/n

【技术特征摘要】
1.一种服务调用方法,其特征在于,包括:
响应于用户发起的目标业务请求,获取所述目标业务的服务调用关系信息集;其中,所述目标业务的服务调用关系信息集中包含所述目标业务涉及的多个服务的调用关系;
根据所述目标业务涉及的多个服务的调用关系,利用多个线程依次调用所述目标业务涉及的多个服务。


2.根据权利要求1所述的方法,其特征在于,根据所述目标业务涉及的多个服务的调用关系,利用多个线程依次调用所述目标业务涉及的多个服务,包括:
根据所述目标业务涉及的多个服务的调用关系创建当前服务的线程;其中,所述当前服务为当前需要调用的服务;
基于反射机制,利用所述当前服务的线程调用所述当前服务;
在根据所述目标业务的服务调用关系信息集确定出所述当前服务为同步调用的情况下,在确定所述当前服务已被成功执行时根据所述目标业务涉及的多个服务的调用关系创建所述当前服务的下一服务的线程;
将所述当前服务的下一服务的线程作为当前服务的线程,直至所述目标业务涉及的多个服务调用完成。


3.根据权利要求2所述的方法,其特征在于,在基于反射机制,利用所述当前服务的线程调用所述当前服务之后,还包括:
在根据所述目标业务的服务调用关系信息集确定出所述当前服务为异步调用的情况下,根据所述目标业务涉及的多个服务的调用关系创建当前服务的下一服务的线程;
将所述当前服务的下一服务的线程作为当前服务的线程,直至所述目标业务涉及的多个服务调用完成。


4.根据权利要求2所述的方法,其特征在于,在基于反射机制,利用所述当前服务的线程调用所述服务之前,还包括:
读取所述当前服务的报文配置信息集;其中,所述报文配置信息集中包含所述当前服务的输入报文和输出报文采用元数据的方式进行配置的配置信息;
根据所述当前服务的报文配置信息集,构建所述当前服务的请求报文和目标响应报文;其中,所述请求报文和目标响应报文通过MAP的方式传递。


5.根据权利要求4所述的方法,其特征在于,基于反射机制,利用所述当前服务的线程调用所述当前服务,包括:
基于反射机制,利用所述当前服务的请求报文和线程调用所述当前服务。


6.根据权利要求1所述的方法,其特征在于,在响应于用户发起的目标业务请求,获取所述目标业务的服务调用关系信息集之前,还包括:
根据所述目标业务请求调用服务调用进程;其中,所述服务调用进程用于执行所述目标业务涉及的多个服务的调用处理;
在所述目标业务请求涉及异步调用的情况下,调用异步服务接收进程;其中,所述异步服务接收进程用于接收异步调用的服务返回的结果,所述服务调用进程和所述异步服务接收进程之间通过消息机制进行信息的交换。


7.根据权利要求6所述的方法,其特征在于,根据所述目标业务涉及的多个服务的调用关系,利用多个线程依次调用所述目标业务涉及的多个服务,包括:
所述服务调用进程根据所述目标业务涉及的多个服务的调用关系创建当前服务的线程;其中,所述当前服务为当前需要调用的服务;
所述当前服务的线程基于反射机制调用所述当前服务;
在根据所述目标业务的服务调用关系信息集确定出所述当前服务为同步调用的情况下,所述当前服务的线程在接收到所述当前服务的调用结果时,将所述当前服务的调用结果发送给所述服务调用进程;
所述服务调用进程在根据所述当前服务的调用结果确定所述当前服务已被成功执行的情况下,根据所述目标业务涉及的多个服务的调用关系创建所述当前服务的下一服务的线程;
将所述当前服务的下一服务的线程作为当前服务的线程,直至所述目标业务涉及的多个服务调用完成。


8.根据权利要求7所述的方法,其特征在于,在所述当前服务的线程基于反射机制调用所述当前服务之后,还包括:
在确定所述当前服务未被成功执行的情况下,根据所述目标业务的服务调用关系信息集确定所述目标业务涉及的多个服务的调用顺序;
所述服务调用进程按照所述目标业务涉及的多个服务的调用顺序的倒序,利...

【专利技术属性】
技术研发人员:黄廷科
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1