【技术实现步骤摘要】
服务调用方法和装置
本说明书实施例涉及数据处理
,特别涉及一种服务调用方法和装置。
技术介绍
由于大型商业银行企业的系统规模往往很大,所有产品系统的交易业务数有时会多达几万个,因此,为了适应业务的快速增长和系统的迭代更新,系统逐渐从集中的架构转向分布式的服务架构,将所有交易接口全部服务化,分布式服务架构有效解决了集中式架构中的性能扩展、敏捷迭代升级等问题,但是用户请求有些业务时需要调用多个服务才能完成,即需要将业务涉及的多个服务进行组合才能实现一个业务流程。现有技术中的组合服务方法通常是通过流程平台实现服务的组合管理,其实现的基本原理是通过流程平台的功能,将业务涉及的多个服务封装成一个服务为业务调用,从而实现服务的整合调用。现有的组合服务方法主要依赖于流程平台,如果更换流程平台则需要针对各个业务重新编写组合服务的代码,不具备灵活性。并且在现有业务对应的组合服务发生变更或者出现新的业务时,均需要重新编写业务的组合服务代码,从而使得采用现有的组合服务方法无法便捷地调用业务所涉及的多个服务。针对上述问题,目前尚未提出有效的解决方案。
技术实现思路
本说明书实施例提供了一种服务调用方法和装置,以解决现有技术中便捷地调用业务所涉及的多个服务的问题。本说明书实施例提供了一种服务调用方法,包括:响应于用户发起的目标业务请求,获取所述目标业务的服务调用关系信息集;其中,所述目标业务的服务调用关系信息集中包含所述目标业务涉及的多个服务的调用关系;根据所述目标业务涉及的多个服务的 ...
【技术保护点】
1.一种服务调用方法,其特征在于,包括:/n响应于用户发起的目标业务请求,获取所述目标业务的服务调用关系信息集;其中,所述目标业务的服务调用关系信息集中包含所述目标业务涉及的多个服务的调用关系;/n根据所述目标业务涉及的多个服务的调用关系,利用多个线程依次调用所述目标业务涉及的多个服务。/n
【技术特征摘要】
1.一种服务调用方法,其特征在于,包括:
响应于用户发起的目标业务请求,获取所述目标业务的服务调用关系信息集;其中,所述目标业务的服务调用关系信息集中包含所述目标业务涉及的多个服务的调用关系;
根据所述目标业务涉及的多个服务的调用关系,利用多个线程依次调用所述目标业务涉及的多个服务。
2.根据权利要求1所述的方法,其特征在于,根据所述目标业务涉及的多个服务的调用关系,利用多个线程依次调用所述目标业务涉及的多个服务,包括:
根据所述目标业务涉及的多个服务的调用关系创建当前服务的线程;其中,所述当前服务为当前需要调用的服务;
基于反射机制,利用所述当前服务的线程调用所述当前服务;
在根据所述目标业务的服务调用关系信息集确定出所述当前服务为同步调用的情况下,在确定所述当前服务已被成功执行时根据所述目标业务涉及的多个服务的调用关系创建所述当前服务的下一服务的线程;
将所述当前服务的下一服务的线程作为当前服务的线程,直至所述目标业务涉及的多个服务调用完成。
3.根据权利要求2所述的方法,其特征在于,在基于反射机制,利用所述当前服务的线程调用所述当前服务之后,还包括:
在根据所述目标业务的服务调用关系信息集确定出所述当前服务为异步调用的情况下,根据所述目标业务涉及的多个服务的调用关系创建当前服务的下一服务的线程;
将所述当前服务的下一服务的线程作为当前服务的线程,直至所述目标业务涉及的多个服务调用完成。
4.根据权利要求2所述的方法,其特征在于,在基于反射机制,利用所述当前服务的线程调用所述服务之前,还包括:
读取所述当前服务的报文配置信息集;其中,所述报文配置信息集中包含所述当前服务的输入报文和输出报文采用元数据的方式进行配置的配置信息;
根据所述当前服务的报文配置信息集,构建所述当前服务的请求报文和目标响应报文;其中,所述请求报文和目标响应报文通过MAP的方式传递。
5.根据权利要求4所述的方法,其特征在于,基于反射机制,利用所述当前服务的线程调用所述当前服务,包括:
基于反射机制,利用所述当前服务的请求报文和线程调用所述当前服务。
6.根据权利要求1所述的方法,其特征在于,在响应于用户发起的目标业务请求,获取所述目标业务的服务调用关系信息集之前,还包括:
根据所述目标业务请求调用服务调用进程;其中,所述服务调用进程用于执行所述目标业务涉及的多个服务的调用处理;
在所述目标业务请求涉及异步调用的情况下,调用异步服务接收进程;其中,所述异步服务接收进程用于接收异步调用的服务返回的结果,所述服务调用进程和所述异步服务接收进程之间通过消息机制进行信息的交换。
7.根据权利要求6所述的方法,其特征在于,根据所述目标业务涉及的多个服务的调用关系,利用多个线程依次调用所述目标业务涉及的多个服务,包括:
所述服务调用进程根据所述目标业务涉及的多个服务的调用关系创建当前服务的线程;其中,所述当前服务为当前需要调用的服务;
所述当前服务的线程基于反射机制调用所述当前服务;
在根据所述目标业务的服务调用关系信息集确定出所述当前服务为同步调用的情况下,所述当前服务的线程在接收到所述当前服务的调用结果时,将所述当前服务的调用结果发送给所述服务调用进程;
所述服务调用进程在根据所述当前服务的调用结果确定所述当前服务已被成功执行的情况下,根据所述目标业务涉及的多个服务的调用关系创建所述当前服务的下一服务的线程;
将所述当前服务的下一服务的线程作为当前服务的线程,直至所述目标业务涉及的多个服务调用完成。
8.根据权利要求7所述的方法,其特征在于,在所述当前服务的线程基于反射机制调用所述当前服务之后,还包括:
在确定所述当前服务未被成功执行的情况下,根据所述目标业务的服务调用关系信息集确定所述目标业务涉及的多个服务的调用顺序;
所述服务调用进程按照所述目标业务涉及的多个服务的调用顺序的倒序,利...
【专利技术属性】
技术研发人员:黄廷科,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。