CN111131414A - 后端平台、服务调用方法、第一服务模块及服务器 - Google Patents
后端平台、服务调用方法、第一服务模块及服务器 Download PDFInfo
- Publication number
- CN111131414A CN111131414A CN201911267446.XA CN201911267446A CN111131414A CN 111131414 A CN111131414 A CN 111131414A CN 201911267446 A CN201911267446 A CN 201911267446A CN 111131414 A CN111131414 A CN 111131414A
- Authority
- CN
- China
- Prior art keywords
- service module
- target object
- calling
- service
- interface
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
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)
- Stored Programmes (AREA)
Abstract
本发明实施例涉及信息处理技术领域,公开了一种后端平台、服务调用方法、第一服务模块及服务器。后端平台包括:至少一个第一服务模块以及多个第二服务模块;第一服务模块内配置有已向第一服务模块注册的第二服务模块的调用接口;第二服务模块内配置有第一服务模块的接入接口,且用于通过接入接口将对目标对象的调用请求发送至第一服务模块;目标对象为另一个第二服务模块;第一服务模块用于在接收到调用请求后,在判定目标对象为已注册的第二服务模块时,通过目标对象的调用接口将调用请求中的调用参数传递给目标对象。本实施例的技术方案可以减少服务模块调用中循环依赖导致的服务异常,且便于在出现问题时进行故障排查。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种后端平台、服务调用方法、第一服务模块及服务器。
背景技术
后端服务平台用于为前端设备提供各种服务。目前,后端服务平台的服务常常被划分为很多服务模块,每个服务模块用于独立地实现一个功能;服务模块与服务模块之间的通讯可以通过SOA来实现的,任意两个服务模块间可以根据需要进行相互调用。例如,A服务模块调用B服务模块,B服务模块调用C服务模块,C服务模块调用D服务模块,D服务模块调用A服务模块。
发明人在实现本发明的过程中,发现相关技术中至少存在如下问题:如上面的例子中,A、B、C、D四个服务模块形成一个调用循环,这种情况下,如果其中一个服务模块出现问题,容易导致整个调用循环都出现问题且很难排查出具体是哪个调用出现问题。
发明内容
本发明实施例的目的在于提供一种后端平台、服务调用方法、第一服务模块及服务器,可以减少服务模块调用中循环依赖导致的服务异常,且便于在出现问题时进行故障排查。
为解决上述技术问题,本发明的实施例提供了一种后端平台,包括:至少一个第一服务模块以及多个第二服务模块;所述第一服务模块内配置有已向所述第一服务模块注册的第二服务模块的调用接口;所述第二服务模块内配置有所述第一服务模块的接入接口,且用于通过所述接入接口将对目标对象的调用请求发送至所述第一服务模块;其中,所述目标对象为另一个所述第二服务模块;所述第一服务模块用于在接收到所述调用请求后,在判定所述目标对象为已注册的第二服务模块时,通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象。
本发明的实施例还提供了一种服务调用方法,应用于后端平台中的第一服务模块;包括:接收所述后端平台中的第二服务模块通过所述第一服务模块的接入接口发送的对所述后端平台中的目标对象的调用请求;其中,所述接入接口被预先配置在所述第二服务模块内;所述目标对象为另一个所述第二服务模块;判断所述目标对象是否为已注册的第二服务模块;其中,所述已注册的第二服务模块的调用接口被预配置在所述第一服务模块中;若判定所述目标对象为已注册的第二服务模块,通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象。
本发明的实施例还提供了一种后端平台中的第一服务模块,包括:接收单元,用于接收所述后端平台中的第二服务模块通过所述第一服务模块的接入接口发送的对所述后端平台中的目标对象的调用请求;其中,所述接入接口被预先配置在所述第二服务模块内部;所述目标对象为另一个所述第二服务模块;判断单元,用于判断所述目标对象是否为已注册的第二服务模块;其中,所述已注册的第二服务模块的调用接口被预配置在所述第一服务模块中;传递单元,用于在所述判断单元判定所述目标对象为已注册的第二服务模块后,通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象。
本发明的实施例还提供了一种服务器,所述服务器作为后端平台中的第一服务模块且包括存储器和处理器,存储器存储计算机程序,处理器运行程序时执行:接收所述后端平台中的第二服务模块通过所述第一服务模块的接入接口发送的对所述后端平台中的目标对象的调用请求;其中,所述接入接口被预先配置在所述第二服务模块内;所述目标对象为另一个所述第二服务模块;判断所述目标对象是否为已注册的第二服务模块;其中,所述已注册的第二服务模块的调用接口被预配置在所述第一服务模块中;若判定所述目标对象为已注册的第二服务模块,通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象。
本发明的实施例还提供了一种非易失性存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行如上所述的服务调用方法。
本发明实施例相对于现有技术而言,第二服务模块内配置有第一服务模块的接入接口,且用于通过接入接口将对目标对象的调用请求发送至第一服务模块;第一服务模块用于在接收到调用请求后,且在判定目标对象为已注册的第二服务模块时,通过目标对象的调用接口将调用请求中的调用参数传递给目标对象。即,后端平台增设第一服务模块,且由第一服务模块来实现不同第二服务模块之间的调用;从而可以实现对各第二服务模块的调用过程实现清晰解耦,可以减少各第二服务模块调用中循环依赖导致的服务异常,且由于对各第二服务模块的调用均由第一服务模块实现,在出现问题时可以通过对第一服务模块的检测来快速排查,即便于在出现问题时进行故障排查。
在后端平台的一个例子中,所述第一服务模块内创建有容器,所述已注册的第二服务模块的调用接口位于在所述容器中。本实施例中采用容器来存放调用接口,提供了一种简单方便的实现方式。
在后端平台的一个例子中,所述第一服务模块还用于通过调用通道,将所述目标对象基于所述调用参数生成的调用结果返回给所述第二服务模块;其中,所述调用通道是指所述第二服务模块通过所述第一服务模块将所述调用参数传递给所述目标对象的通道。
在后端平台的一个例子中,所述接入接口为基于URL协议的接口。
在服务调用方法的一个例子中,所述判断所述目标对象是否为已注册的第二服务模块,包括:判断所述容器中是否存在所述目标对象的调用接口;其中,当所述容器中存在所述目标对象的调用接口时,判定所述目标对象为已注册的第二服务模块。本实施例提供了对目标对象是否为已注册的第二服务模块的具体判断方式;在容器中可以快速查找调用接口,查找到以后直接通过该调用接口来传递调用参数;即在判定该目标对象已注册的第二服务模块时,即可得到该目标对象的调用接口,以便后续使用;从而使得整个调用方案更加快速。
附图说明
图1是根据本发明第一实施例中的后端平台的示意图;
图2是根据本发明第三实施例中的服务调用方法的一个例子的流程图;
图3是根据本发明第三实施例中的服务调用方法的另一个例子的流程图;
图4是根据本发明第五实施例中的第一服务模块的示意图;
图5是根据本发明第六实施例中的服务器的示意图。
具体实施例
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施例中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
本发明的第一实施例涉及一种后端平台,包括至少一个第一服务模块以及多个第二服务模块,如图1所示,第一服务模块11和第二服务模块121、122、123、124,每个第二服务模块均是一个功能单元;例如,第二服务模块121、122、123、124可以分别是某个APP的后端平台中的四个服务模块:用于验证登录的服务模块、用于管理账号的服务模块、用于记录业务操作的服务模块、用于查询交易信息的服务模块。其中,图1中仅示意了一个第一服务模块和四个第二服务模块,然并不以此为例,后端平台中包含的第一服务模块和第二服务模块数量,可以根据需要灵活设置。当第一服务模块的数量为多个时,可以根据需要来设定每个第一服务模块可以调用的第二服务模块。
另外,本实施例中的第一服务模块、各第二服务模块可以理解为实体模块,此时,第一服务模块、各第二服务模块可以分别是一个独立的服务器;也可以理解为程序模块,此时,第一服务模块、各第二服务模块可以在同一个服务器上实现或者在若干个不同的服务器上实现。
第一服务模块内配置有已向第一服务模块注册的第二服务模块的调用接口,第二服务模块内配置有第一服务模块的接入接口。即,第二服务模块如果想要接入第一服务模块,需要预先配置第一服务模块的接入接口;第二服务模块如果想要被第一服务模块调用,就要预先向第一服务模块进行注册,在注册后,第一服务模块就会配置有该第二服务模块的调用接口。
本实施例中的各第二服务模块可以对外提供面向服务的架构(Service-OrientedArchitecture,简称SOA)服务,即调用接口可以是SOA接口。
在调用过程中,第二服务模块用于通过接入接口将对目标对象的调用请求发送至第一服务模块;目标对象为另一个第二服务模块;第一服务模块用于在接收到调用请求后,并在判定目标对象为已注册的第二服务模块时,通过目标对象的调用接口将调用请求中的调用参数传递给目标对象。
以图1中所示的后端平台为例,如果第二服务模块121要调用第二服务模块122,那么,第二服务模块121通过该第二服务模块121内配置的第一服务模块11的接入接口,将调用请求发送给第一服务模块11;该调用请求中可以包含第二服务模块122的身份标志以及调用参数。
第一服务模块11接收到该调用请求后可以通过该调用请求中的该第二服务模块122的身份标志,来判断该第二服务模块122是否在第一服务模块11中已注册;这里的第二服务模块122即为目标对象;若已注册,则可以通过该第一服务模块11中配置的该第二服务模块122的调用接口,将调用请求中的调用参数传递给该第二服务模块122。此时,第二服务模块121与第一服务模块11之间、第一服务模块11与第二服务模块122形成一个调用通道,第一服务模块11作为该调用通道中的中间件,起到连接调用端和被调用端的作用,这个例子中,第二服务模块121为调用端,第二服务模块122为被调用端。
在一个例子中,第二服务模块122接收调用参数后,会基于自身可实现的功能,根据该调用参数得到调用结果,并将该调用结果通过上述调用通道来返回给第二服务模块121;即第二服务模块122先将该调用结果传递给第一服务模块11,再由第一服务模块11将该调用结果传递给第二服务模块121。需要说明的是,这个例子中,第二服务模块122生成的调用结果仍然通过该调用通道返回给第二服务模块121,然并不以此为限,在其他例子中,也可以通过专门配置的返回通道来返回调用结果;或者,可能需要将该调用结果作为另外一个第二服务模块123的调用参数,并由第二服务模块122去调用该另外一个第二服务模块123;或者,可能并不需要返回调用结果;设计人员可以根据实际需要设定具体实现方式。
以上仅是以第二服务模块121和第二服务模块122之间的调用为例进行说明;然并不以此为限,第一服务模块11可以在任何一对调用端和被调用端之间建立调用通道,以实现调用端对被调用端的调用。
本实施例中,调用端利用调用请求来携带调用参数,并通过第一服务模块11将调用参数转发给被调用端,即,第一服务模块11需要从调用请求中准确提出调用参数;因此,第一服务模块11需要与调用端约定调用请求中携带调用参数的携带方式,该携带方式例如可以采用现有的URL协议来约定,此时,第一服务模块11的接入接口为基于URL协议的接入接口,调用参数例如可以包括完整类名,方法名,方法参数。本实施例对携带方式如何约定并不作任何限制,设计人员可以根据实际需要设定携带方式,并通过该接入接口来实现。
本发明实施例中,第二服务模块内配置有第一服务模块的接入接口,且用于通过接入接口将对目标对象的调用请求发送至第一服务模块;第一服务模块用于在接收到调用请求后,且在判定目标对象为已注册的第二服务模块时,通过目标对象的调用接口将调用请求中的调用参数传递给目标对象。即,后端平台增设第一服务模块,且由第一服务模块来实现不同第二服务模块之间的调用;从而可以实现对各第二服务模块的调用过程实现清晰解耦,可以减少各第二服务模块调用中循环依赖导致的服务异常,由于对各第二服务模块的调用均由第一服务模块实现,在出现问题时可以通过对第一服务模块的检测来快速排查,即便于在出现问题时进行故障排查。
值得一提的是,本实施例中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施例中并没有将与解决本发明实施例所提出的技术问题关系不太密切的单元引入,但这并不表明本实施例中不存在其它的单元。
本发明的第二实施例涉及一种后端平台,第二实施方式与第一实施方式大致相同,主要区别之处在于:第一服务模块内创建有容器,已注册的第二服务模块的调用接口位于在容器中。
其中,该容器可以是全局容器,例如ioc容器。
本实施例中采用容器来实现调用接口的存放,提供了一种简单方便的实现方式。
本发明的第三实施例涉及一种服务调用方法,应用于后端平台中的第一服务模块,如图2所示为本实施例的服务调用方法的一个例子的流程图,具体如下。
步骤201,接收后端平台中的第二服务模块通过第一服务模块的接入接口发送的对后端平台中的目标对象的调用请求;其中,接入接口被预先配置在第二服务模块内,目标对象为另一个第二服务模块。
步骤202,判断目标对象是否为已注册的第二服务模块;若是,则进入步骤S203;若否,则结束;其中,已注册的第二服务模块的调用接口被预配置在第一服务模块中。
步骤203,通过目标对象的调用接口将调用请求中的调用参数传递给该目标对象。
以下是对各步骤的具体说明。请一并参考附图1,以下提到的第二服务模块可以是图1中的标号为121、122、123、124中的任何一个第二服务模块。
在步骤201中,第一服务模块11的接入接口需要被预先配置在第二服务模块内,以供第二服务模块通过第一服务模块11的接入接口向第一服务模块11发送对目标对象的调用请求。
第一服务模块的接入接口可以理解为第一服务模块11与调用端约定的调用请求中携带调用参数的携带方式;该携带方式例如可以采用现有的URL协议来约定,此时,第一服务模块11的接入接口为基于URL协议的接入接口。
如图1中,任意两个第二服务模块之间可以通过第一服务模块进行相互调用;例如,第二服务模块121要调用第二服务模块122,则第二服务模块121通过接入接口向第一服务模块11发送第二服务模块122的调用请求;其中,第二服务模块121为调用端,第二服务模块122为被调用端。
其中,以下对各步骤的具体说明中,均以上述例子为例进行说明。
在步骤202中,第一服务模块11判断第二服务模块122是否为已注册的第二服务模块。具体的,第一服务模块11内可以有一个已注册的第二服务模块的列表,该列表中记录了各已注册的第二服务模块的身份标志;第一服务模块11从第二服务模块121接收的调用请求中可以包含第二服务模块122的身份标志;第一服务模块11查询该列表中是否存在第二服务模块122的身份标志,若该列表中存在第二服务模块122的身份标志,则表示第二服务模块122已注册,此时,如步骤203所述,可以通过第二服务模块122的调用接口将调用请求中的调用参数传递给第二服务模块122。若该列表中不存在第二服务模块122的身份标志,则表示第二服务模块122未注册,此时第一服务模块11可以对该调用请求不作任何处理并结束本次调用,或者也可以向第二服务模块121发送无法调用的通知并结束本次调用。在这个例子中,第二服务模块122可以不需要返回调用结果;因此在步骤203执行完之后,或者是在步骤202中判断结果为否时,可以结束本次调用。
本实施例中,第二服务模块如果想要被第一服务模块11调用,就要预先向第一服务模块11进行注册,在注册后,第一服务模块11就会配置有该第二服务模块的调用接口。
其中,第二服务模块11向第一服务模块进行注册的方式,可以是:将第二服务模块的调用接口的jar包引入到第一服务模块11中;或者,也可以是,将在第一服务模块11的配置文件中写入第二服务模块所提供的接口服务,第一服务模块11通过配置文件来进行调用接口的配置。即,已向第一服务模块11注册的第二服务模块,其调用接口就会被配置在第一服务模块11中。
如图3所示为本实施例中的服务调用方法的另一个例子的流程图;在图3的例子中,在步骤203之后还可以包含步骤204,步骤204具体为:通过调用通道,将该目标对象基于调用参数生成的调用结果返回给第二服务模块;其中,所述调用通道是指所述第二服务模块通过所述第一服务模块将所述调用参数传递给所述目标对象的通道。
具体的说,第二服务模块121通过第一服务模块11调用第二服务模块122,第二服务模块121与第一服务模块11之间、第一服务模块11与第二服务模块122形成一个调用通道。
第二服务模块122接收调用参数后,会基于自身可实现的功能,根据该调用参数得到调用结果,并将该调用结果通过上述调用通道来返回给第二服务模块121;即第二服务模块122先将该调用结果传递给第一服务模块11,再由第一服务模块11将该调用结果传递给第二服务模块121。
需要说明的是,这个例子中,第二服务模块122生成的调用结果仍然通过该调用通道返回给第二服务模块121,然并不以此为限,在其他例子中,也可以通过专门配置的返回通道来返回调用结果;或者,可能需要将该调用结果作为另外一个第二服务模块123的调用参数,并由第二服务模块122去调用该另外一个第二服务模块123。
本发明实施例中,第二服务模块内配置有第一服务模块的接入接口,且用于通过接入接口将对目标对象的调用请求发送至第一服务模块;第一服务模块用于在接收到调用请求后,且在判定目标对象为已注册的第二服务模块时,通过目标对象的调用接口将调用请求中的调用参数传递给目标对象。即,由第一服务模块来实现不同第二服务模块之间的调用;从而可以实现对各第二服务模块的调用过程实现清晰解耦,可以减少各第二服务模块调用中循环依赖导致的服务异常;且由于对各第二服务模块的调用均由第一服务模块实现在出现问题时可以通过对第一服务模块的检测来快速排查,即便于在出现问题时进行故障排查。
不难发现,本实施例为与第一实施例相对应的方法实施例,本实施例可与第一实施例互相配合实施。第一实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应的,本实施例中提到的相关技术细节也可应用在第一实施例中。
本发明的第四实施例涉及一种服务调用方法,第四实施方式与第三实施方式大致相同,主要区别之处在于:第一服务模块内创建有容器,已注册的第二服务模块的调用接口位于在容器中。
本实施例中的服务调用方法的具体流程可以参考附图2;其中,本实施例中步骤202的具体实现方式可以与第三实施例中的不同。
在一个例子中,步骤202的具体实现方式可以为:判断容器中是否存在目标对象的调用接口;其中,当容器中存在目标对象的调用接口时,判定目标对象为已注册的第二服务模块。
即,由于第一服务模块中配置有已注册的第二服务模块的调用接口,因此,第一服务模块可以通过判断容器中是否存在该目标对象的调用接口,来判断该目标对象是否为已注册的第二服务模块;并且当容器中存在该目标对象的调用接口后,直接利用该调用接口向第一服务模块发送请求。
本实施例提供了对目标对象是否为已注册的第二服务模块的具体判断方式;在容器中可以快速查找调用接口,查找到以后直接通过该调用接口来传递调用参数;即在判定该目标对象已注册的第二服务模块时,即可得到该目标对象的调用接口,以便后续使用;从而使得整个调用方案更加快速。
不难发现,本实施例为与第二实施例相对应的方法实施例,本实施例可与第二实施例互相配合实施。第二实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应的,本实施例中提到的相关技术细节也可应用在第二实施例中。
本发明的第五实施例涉及一种后端平台中的第一服务模块,如图4所示,第一服务模块包括:
接收单元401,用于接收后端平台中的第二服务模块通过第一服务模块的接入接口发送的对后端平台中的目标对象的调用请求;其中,接入接口被预先配置在第二服务模块内部,目标对象为另一个第二服务模块;
判断单元402,用于判断目标对象是否为已注册的第二服务模块;其中,已注册的第二服务模块的调用接口被预配置在第一服务模块中;
传递单元403,用于在判断单元402判定目标对象为已注册的第二服务模块后,通过目标对象的调用接口将调用请求中的调用参数传递给目标对象。
在一个例子中,所述第一服务模块还包括容器,所述已注册的第二服务模块的调用接口位于在所述容器中。
在一个例子中,所述判断单元402具体用于判断所述容器中是否存在所述目标对象的调用接口;其中,当所述容器中存在所述目标对象的调用接口时,判定所述目标对象为已注册的第二服务模块。
在一个例子中,所述传递单元403还用于通过调用通道,将所述目标对象基于所述调用参数生成的调用结果返回给所述第二服务模块;其中,所述调用通道是指所述第二服务模块通过所述第一服务模块将所述调用参数传递给所述目标对象的通道。
本实施例中,提供了第一服务模块的一种具体实现形式。第二服务模块内配置有第一服务模块的接入接口,且用于通过接入接口将对目标对象的调用请求发送至第一服务模块;第一服务模块用于在接收到调用请求后,且在判定目标对象为已注册的第二服务模块时,通过目标对象的调用接口将调用请求中的调用参数传递给目标对象。即,由第一服务模块来实现不同第二服务模块之间的调用;从而可以实现对各第二服务模块的调用过程实现清晰解耦,可以减少各第二服务模块调用中循环依赖导致的服务异常,且由于对各第二服务模块的调用均由第一服务模块实现,在出现问题时可以通过对第一服务模块的检测来快速排查,即便于在出现问题时进行故障排查。
不难发现,本实施例为与第三或第四实施例相对应的装置实施例,本实施例可与第三或第四实施例互相配合实施。第三或第四实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应的,本实施例中提到的相关技术细节也可应用在第三或第四实施例中。
本发明的第六实施例涉及一种服务器,如图5所示,该服务器可以作为后端平台中的第一服务模块,该服务器包括:至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;以及,与扫描装置通信连接的通信组件503,通信组件503在处理器501的控制下接收和发送数据;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行以实现:
接收后端平台中的第二服务模块通过所述第一服务模块的接入接口发送的对后端平台中的目标对象的调用请求;其中,所述接入接口被预先配置在所述第二服务模块内,目标对象为另一个第二服务模块;
判断所述目标对象是否为已注册的第二服务模块;其中,所述已注册的第二服务模块的调用接口被预配置在所述第一服务模块中;
若判定所述目标对象为已注册的第二服务模块,通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象。
具体地,该服务器包括:一个或多个处理器501以及存储器502,图5中以一个处理器501为例。处理器501、存储器502可以通过总线或者其他方式连接,图5中以通过总线连接为例。存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器501通过运行存储在存储器502中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述服务调用方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器502,这些远程存储器502可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器502中,当被一个或者多个处理器501执行时,执行上述任意方法实施例中的服务调用方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本实施例中,第二服务模块内配置有第一服务模块的接入接口,且用于通过接入接口将对目标对象的调用请求发送至第一服务模块;第一服务模块用于在接收到调用请求后,且在判定目标对象为已注册的第二服务模块时,通过目标对象的调用接口将调用请求中的调用参数传递给目标对象。即,后端平台增设第一服务模块,且由第一服务模块来实现不同第二服务模块之间的调用;从而可以实现对各第二服务模块的调用过程实现清晰解耦,可以减少各第二服务模块调用中循环依赖导致的服务异常,且由于对各第二服务模块的调用均由第一服务模块实现,在出现问题时可以通过对第一服务模块的检测来快速排查,即便于在出现问题时进行故障排查。
在一个例子中,所述第一服务模块内创建有容器,所述已注册的第二服务模块的调用接口位于在所述容器中。
在一个例子中,所述判断所述目标对象是否为已注册的第二服务模块,包括:
判断所述容器中是否存在所述目标对象的调用接口;其中,当所述容器中存在所述目标对象的调用接口时,判定所述目标对象为已注册的第二服务模块。
在一个例子中,在所述通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象之后,还包括:
通过调用通道,将所述目标对象基于所述调用参数生成的调用结果返回给所述第二服务模块;
其中,所述调用通道是指所述第二服务模块通过所述第一服务模块将所述调用参数传递给所述目标对象的通道。
本发明的第七实施例涉及一种非易失性存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
本申请实施例提供了A1.一种后端平台,包括:至少一个第一服务模块以及多个第二服务模块;
所述第一服务模块内配置有已向所述第一服务模块注册的第二服务模块的调用接口;
所述第二服务模块内配置有所述第一服务模块的接入接口,且用于通过所述接入接口将对目标对象的调用请求发送至所述第一服务模块;其中,所述目标对象为另一个所述第二服务模块;
所述第一服务模块用于在接收到所述调用请求后,并在判定所述目标对象为已注册的第二服务模块时,通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象。
A2.根据A1所述的后端平台,包括:所述第一服务模块内创建有容器,所述已注册的第二服务模块的调用接口位于在所述容器中。
A3.根据A1所述的后端平台,所述第一服务模块还用于通过调用通道,将所述目标对象基于所述调用参数生成的调用结果返回给所述第二服务模块;
其中,所述调用通道是指所述第二服务模块通过所述第一服务模块将所述调用参数传递给所述目标对象的通道。
A4.根据A1所述的服务调用方法,所述接入接口为基于URL协议的接口。
本申请实施例提供了B5.一种服务调用方法,应用于后端平台中的第一服务模块;所述服务调用方法包括:
接收所述后端平台中的第二服务模块通过所述第一服务模块的接入接口发送的对所述后端平台中的目标对象的调用请求;其中,所述接入接口被预先配置在所述第二服务模块内;所述目标对象为另一个所述第二服务模块;
判断所述目标对象是否为已注册的第二服务模块;其中,所述已注册的第二服务模块的调用接口被预配置在所述第一服务模块中;
若判定所述目标对象为已注册的第二服务模块,通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象。
B6.根据B5所述的服务调用方法,所述第一服务模块内创建有容器,所述已注册的第二服务模块的调用接口位于在所述容器中。
B7.根据B6所述的服务调用方法,所述判断所述目标对象是否为已注册的第二服务模块,包括:
判断所述容器中是否存在所述目标对象的调用接口;其中,当所述容器中存在所述目标对象的调用接口时,判定所述目标对象为已注册的第二服务模块。
B8.根据B5所述的服务调用方法,在所述通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象之后,还包括:
通过调用通道,将所述目标对象基于所述调用参数生成的调用结果返回给所述第二服务模块;
其中,所述调用通道是指所述第二服务模块通过所述第一服务模块将所述调用参数传递给所述目标对象的通道。
本申请实施例还提供了C9.一种后端平台中的第一服务模块,包括:
接收单元,用于接收所述后端平台中的第二服务模块通过所述第一服务模块的接入接口发送的对所述后端平台中的目标对象的调用请求;其中,所述接入接口被预先配置在所述第二服务模块内部;所述目标对象为另一个所述第二服务模块;
判断单元,用于判断所述目标对象是否为已注册的第二服务模块;其中,所述已注册的第二服务模块的调用接口被预配置在所述第一服务模块中;
传递单元,用于在所述判断单元判定所述目标对象为已注册的第二服务模块后,通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象。
C10.根据C9所述的后端平台中的第一服务模块,所述第一服务模块还包括容器,所述已注册的第二服务模块的调用接口位于在所述容器中。
C11.根据10所述的后端平台中的第一服务模块,所述判断单元具体用于判断所述容器中是否存在所述目标对象的调用接口;其中,当所述容器中存在所述目标对象的调用接口时,判定所述目标对象为已注册的第二服务模块。
C12.根据C9所述的后端平台中的第一服务模块,所述传递单元还用于通过调用通道,将所述目标对象基于所述调用参数生成的调用结果返回给所述第二服务模块;
其中,所述调用通道是指所述第二服务模块通过所述第一服务模块将所述调用参数传递给所述目标对象的通道。
本申请实施例还提供了D13.一种服务器,所述服务器作为后端平台中的第一服务模块且包括存储器和处理器,所述存储器存储计算机程序,所述处理器运行程序时执行:
接收所述后端平台中的第二服务模块通过所述第一服务模块的接入接口发送的对所述后端平台中的目标对象的调用请求;其中,所述接入接口被预先配置在所述第二服务模块内;所述目标对象为另一个所述第二服务模块;
判断所述目标对象是否为已注册的第二服务模块;其中,所述已注册的第二服务模块的调用接口被预配置在所述第一服务模块中;
若判定所述目标对象为已注册的第二服务模块,通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象。
D14.根据D13所述的服务器,所述处理器运行程序时执行如B6至B8中任一项所述的服务调用方法。
本申请实施例还提供了E15.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现B5至B8中任一项所述的服务调用方法。
Claims (10)
1.一种后端平台,其特征在于,包括:至少一个第一服务模块以及多个第二服务模块;
所述第一服务模块内配置有已向所述第一服务模块注册的第二服务模块的调用接口;
所述第二服务模块内配置有所述第一服务模块的接入接口,且用于通过所述接入接口将对目标对象的调用请求发送至所述第一服务模块;其中,所述目标对象为另一个所述第二服务模块;
所述第一服务模块用于在接收到所述调用请求后,并在判定所述目标对象为已注册的第二服务模块时,通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象。
2.根据权利要求1所述的后端平台,其特征在于,包括:所述第一服务模块内创建有容器,所述已注册的第二服务模块的调用接口位于在所述容器中。
3.根据权利要求1所述的后端平台,其特征在于,所述第一服务模块还用于通过调用通道,将所述目标对象基于所述调用参数生成的调用结果返回给所述第二服务模块;
其中,所述调用通道是指所述第二服务模块通过所述第一服务模块将所述调用参数传递给所述目标对象的通道。
4.根据权利要求1所述的服务调用方法,其特征在于,所述接入接口为基于URL协议的接口。
5.一种服务调用方法,其特征在于,应用于后端平台中的第一服务模块;所述服务调用方法包括:
接收所述后端平台中的第二服务模块通过所述第一服务模块的接入接口发送的对所述后端平台中的目标对象的调用请求;其中,所述接入接口被预先配置在所述第二服务模块内;所述目标对象为另一个所述第二服务模块;
判断所述目标对象是否为已注册的第二服务模块;其中,所述已注册的第二服务模块的调用接口被预配置在所述第一服务模块中;
若判定所述目标对象为已注册的第二服务模块,通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象。
6.根据权利要求5所述的服务调用方法,其特征在于,所述第一服务模块内创建有容器,所述已注册的第二服务模块的调用接口位于在所述容器中。
7.根据权利要求6所述的服务调用方法,其特征在于,所述判断所述目标对象是否为已注册的第二服务模块,包括:
判断所述容器中是否存在所述目标对象的调用接口;其中,当所述容器中存在所述目标对象的调用接口时,判定所述目标对象为已注册的第二服务模块。
8.一种后端平台中的第一服务模块,其特征在于,包括:
接收单元,用于接收所述后端平台中的第二服务模块通过所述第一服务模块的接入接口发送的对所述后端平台中的目标对象的调用请求;其中,所述接入接口被预先配置在所述第二服务模块内部;所述目标对象为另一个所述第二服务模块;
判断单元,用于判断所述目标对象是否为已注册的第二服务模块;其中,所述已注册的第二服务模块的调用接口被预配置在所述第一服务模块中;
传递单元,用于在所述判断单元判定所述目标对象为已注册的第二服务模块后,通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象。
9.一种服务器,其特征在于,所述服务器作为后端平台中的第一服务模块且包括存储器和处理器,所述存储器存储计算机程序,所述处理器运行程序时执行:
接收所述后端平台中的第二服务模块通过所述第一服务模块的接入接口发送的对所述后端平台中的目标对象的调用请求;其中,所述接入接口被预先配置在所述第二服务模块内;所述目标对象为另一个所述第二服务模块;
判断所述目标对象是否为已注册的第二服务模块;其中,所述已注册的第二服务模块的调用接口被预配置在所述第一服务模块中;
若判定所述目标对象为已注册的第二服务模块,通过所述目标对象的调用接口将所述调用请求中的调用参数传递给所述目标对象。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求5至7中任一项所述的服务调用方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911267446.XA CN111131414B (zh) | 2019-12-11 | 2019-12-11 | 后端平台、服务调用方法、第一服务模块及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911267446.XA CN111131414B (zh) | 2019-12-11 | 2019-12-11 | 后端平台、服务调用方法、第一服务模块及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111131414A true CN111131414A (zh) | 2020-05-08 |
CN111131414B CN111131414B (zh) | 2022-05-24 |
Family
ID=70498613
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911267446.XA Active CN111131414B (zh) | 2019-12-11 | 2019-12-11 | 后端平台、服务调用方法、第一服务模块及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131414B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016127793A1 (zh) * | 2015-02-13 | 2016-08-18 | 腾讯科技(深圳)有限公司 | 消息发送方法、装置、系统和服务器 |
CN107203419A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 应用程序中的模块间调用方法、装置及系统 |
CN108055248A (zh) * | 2017-11-30 | 2018-05-18 | 平安科技(深圳)有限公司 | 基于dubbo框架的远程调用方法、服务器及存储介质 |
CN108255614A (zh) * | 2016-12-28 | 2018-07-06 | 中国移动通信集团公司 | 一种基于微服务架构的接口调用系统及方法 |
CN109240838A (zh) * | 2018-09-20 | 2019-01-18 | 深圳市牛鼎丰科技有限公司 | 接口调用方法、装置、计算机设备及存储介质 |
CN109274773A (zh) * | 2018-11-14 | 2019-01-25 | 四川长虹电器股份有限公司 | 一种实现远程服务调用方法、装置和系统 |
CN109542964A (zh) * | 2018-11-06 | 2019-03-29 | 用友网络科技股份有限公司 | 一种数据调用方法及数据调用系统 |
-
2019
- 2019-12-11 CN CN201911267446.XA patent/CN111131414B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016127793A1 (zh) * | 2015-02-13 | 2016-08-18 | 腾讯科技(深圳)有限公司 | 消息发送方法、装置、系统和服务器 |
CN107203419A (zh) * | 2016-03-17 | 2017-09-26 | 阿里巴巴集团控股有限公司 | 应用程序中的模块间调用方法、装置及系统 |
CN108255614A (zh) * | 2016-12-28 | 2018-07-06 | 中国移动通信集团公司 | 一种基于微服务架构的接口调用系统及方法 |
CN108055248A (zh) * | 2017-11-30 | 2018-05-18 | 平安科技(深圳)有限公司 | 基于dubbo框架的远程调用方法、服务器及存储介质 |
CN109240838A (zh) * | 2018-09-20 | 2019-01-18 | 深圳市牛鼎丰科技有限公司 | 接口调用方法、装置、计算机设备及存储介质 |
CN109542964A (zh) * | 2018-11-06 | 2019-03-29 | 用友网络科技股份有限公司 | 一种数据调用方法及数据调用系统 |
CN109274773A (zh) * | 2018-11-14 | 2019-01-25 | 四川长虹电器股份有限公司 | 一种实现远程服务调用方法、装置和系统 |
Non-Patent Citations (3)
Title |
---|
MARDIANA: ""MDA and SOA approach to development of web application interface"", 《TENCON 2011-2011 IEEE REGION 10 CONFERENCE》, 12 January 2012 (2012-01-12) * |
唐迪: ""基于Web服务的异构工作流互联接口设计"", 《计算机应用》, vol. 33, no. 6, 1 June 2013 (2013-06-01) * |
李楚畅: ""基于MBaaS架构的移动后端服务架构的研究与实现"", 《中国优秀硕士学位论文全文数据库》, 15 March 2018 (2018-03-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN111131414B (zh) | 2022-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111314459B (zh) | 一种业务请求方法、装置、电子设备及存储介质 | |
CN109586941B (zh) | 一种基于服务化架构的业务处理方法及装置 | |
CN110383896B (zh) | 网络接入方法、终端、接入网及核心网 | |
JP2019175469A (ja) | クラウドサーバ、クラウドプリントシステム、クラウドプリンタ及びクラウドプリンタ共有方法 | |
US10798220B2 (en) | Method, device and system for invoking local service assembly by browser | |
US20170163478A1 (en) | Method,electronic device and system for updating client configuration in key-value pair database | |
CN107360261A (zh) | 一种http请求处理方法、装置及电子设备 | |
CN108429739B (zh) | 一种识别蜜罐的方法、系统及终端设备 | |
US20160345283A1 (en) | Method and apparatus for adjacent node registration, and method and system for cross-node registration | |
CN111064729B (zh) | 报文的处理方法及装置、存储介质和电子装置 | |
CN111131414B (zh) | 后端平台、服务调用方法、第一服务模块及服务器 | |
US11521250B2 (en) | Method and apparatus for providing digital product using user account synchronization | |
JP2019531610A (ja) | Sip情報分析方法、装置、サーバ及び媒体 | |
CN110661850A (zh) | 一种边缘计算方法、系统、计算机设备和存储介质 | |
US9609674B2 (en) | Machine-to-machine domain proxy | |
CN101778055B (zh) | 一种消息处理方法和网络实体 | |
CN110943975B (zh) | 服务注册的方法、装置、计算机设备和存储介质 | |
CN109962962B (zh) | 一种套接字socket连接的方法及设备 | |
CN106060155A (zh) | P2p资源共享的方法及装置 | |
US20150282121A1 (en) | Local resource sharing method of machine to machine component and apparatus thereof | |
KR101351867B1 (ko) | 소프트웨어 및 어플리케이션 제어 관리 객체에서의 단계 실행 결과를 처리하는 방법 | |
KR101459549B1 (ko) | 이동 단말 응용 프로그램을 위한 메시지 알림 호스팅 시스템 및 방법 | |
CN108288135B (zh) | 系统兼容方法及装置、计算机可读存储介质及电子设备 | |
CN109426547B (zh) | 一种虚拟机的热迁移方法、装置和系统 | |
WO2016197995A1 (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |