CN106339222A - 一种服务实现方法及装置 - Google Patents
一种服务实现方法及装置 Download PDFInfo
- Publication number
- CN106339222A CN106339222A CN201610709063.3A CN201610709063A CN106339222A CN 106339222 A CN106339222 A CN 106339222A CN 201610709063 A CN201610709063 A CN 201610709063A CN 106339222 A CN106339222 A CN 106339222A
- Authority
- CN
- China
- Prior art keywords
- module
- business
- service
- identification information
- server
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/22—Procedural
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例公开了一种服务实现方法及装置,包括:服务器接收终端发送的服务请求消息,根据服务的标识信息获取服务包含的N个业务模块的标识信息及依赖关系,并根据所述依赖关系确定业务模块间的调用顺序,然后从业务模块库中依次调用N个业务模块。本发明实施例中,根据服务包含的N个业务模块之间的依赖关系,从业务模块库中调用业务模块,从而实现了通过依赖关系来组织流程,避免了现有技术中直接定义流程而导致后期的维护和管理困难的问题,而且通过在依赖关系库中重新定义或修改服务包含的业务模块及依赖关系,能够简便地实现服务扩展。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种服务实现方法及装置。
背景技术
随着信息技术的不断发展,社会的网络化程度越来越高,人们迫切地需要利用互联网实现工作和生活等各方面中的需求。为适应人们更多且多样化的服务需求,计算机系统中存在着许多个业务流程,每个业务流程用来向用户提供某一特定功能的服务。
在现有技术中,一项服务所对应的业务流程主要包含对外交互信息的接口和用于业务处理的多个业务模块,且多个业务模块之间相互绑定。图1为实现某一服务的业务流程的结构示意图。如图1所示,该业务流程100包括接口101和多个业务模块102两大部分。该业务流程的整体提前用代码编码完成,即业务流程中对外交互信息的接口以及多个业务模块的之间的调用顺序和依赖关系是在定义所述业务流程时随之确定的,从而使得该业务流程可以提供某一功能的服务。由于业务流程中的各个业务模块是相互绑定的,当变更服务需求时,有可能会需要对整个业务流程的代码进行大量的修改,使得服务难以扩展,后期的维护和管理较为困难。
因此,目前亟需一种更为有效的服务实现方法,以解决现有技术中完整的业务流程需用代码的方式提前编写完成,而导致业务流程的维护和管理困难,服务难以扩展的技术问题。
发明内容
本发明提供了一种服务实现方法及装置,用于解决现有技术中完整的业务流程需用代码的方式提前编写完成,而导致业务流程的维护和管理困难,服务难以扩展的技术问题。
本发明实施例提供了一种服务实现方法,包括:
服务器接收终端发送的服务请求消息;所述服务请求消息中包含所述终端请求服务的标识信息;
所述服务器根据所述服务的标识信息,从依赖关系库中获取所述服务包含的N个业务模块的标识信息以及所述N个业务模块之间的依赖关系;所述依赖关系库中用于存储预先设置的多个业务模块之间的依赖关系;
所述服务器根据所述N个业务处理模块之间的依赖关系,确定所述N个业务模块的调用顺序;
所述服务器根据所述N个业务模块的标识信息,按照所述N个业务模块的调用顺序,从业务模块库中调用所述N个业务模块。
可选的,所述服务器根据所述服务的标识信息,从依赖关系库中获取所述服务包含的N个业务模块的标识信息,包括:
所述服务器根据所述服务的标识信息,获取所述服务对应的目标业务模块的标识信息;
所述服务器根据所述目标业务模块的标识信息和依赖关系库中存储的多个业务模块之间的依赖关系,获取所述目标业务模块所依赖的业务模块的标识信息;
所述服务器根据所述目标业务模块的标识信息和所述目标业务模块所依赖的业务模块的标识信息,得到所述服务对应的N个业务模块的标识信息。
可选的,所述服务器通过如下方式调用所述N个模块中的第i业务模块,1≤i≤N,包括:
所述服务器确定执行所述第i业务模块需要的业务数据;
所述服务器查询数据交换区中是否存在所述第i业务模块需要的业务数据,如有,则从所述数据交换区获取所述业务数据;所述业务数据包括所述第i业务模块所依赖的第j业务模块的执行结果和/或预先从终端获取的信息;所述数据交换区用于存储各个业务模块的执行结果和/或预先从终端获取的信息,1≤j≤N;
所述服务器根据所述业务数据,调用所述第i业务模块。
可选的,所述服务器根据所述业务数据,调用所述第i业务模块之前,包括:
所述服务器获取所述第i业务模块的业务数据的有效时间;
所述服务器根据所述业务数据的有效时间,确定所述业务数据在数据交换区的存储时间在有效时间之内。
可选的,所述服务器调用第i业务模块之前,还包括:
所述服务器获取所述第i业务模块在设定时间段内的最大调用次数;
所述服务器根据所述第i业务模块在设定时间段内的最大调用次数,确定所述第i业务模块的调用次数小于所述最大调用次数。
本发明实施例还提供了一种服务器,包括:
接收模块,用于接收终端发送的服务请求消息;所述服务请求消息中包含所述终端请求服务的标识信息;
获取模块,用于根据所述服务的标识信息,从依赖关系库中获取所述服务包含的N个业务模块的标识信息以及所述N个业务模块之间的依赖关系;所述依赖关系库中用于存储预先设置的多个业务模块之间的依赖关系;
确定模块,用于根据所述N个业务处理模块之间的依赖关系,确定所述N个业务模块的调用顺序;
调用模块,用于根据所述N个业务模块的标识信息,按照所述N个业务模块的调用顺序,从业务模块库中调用所述N个业务模块。
可选的,所述获取模块具体用于:
根据所述服务的标识信息,获取所述服务对应的目标业务模块的标识信息;
根据所述目标业务模块的标识信息和依赖关系库中存储的各个业务模块之间的依赖关系,获取所述目标业务模块所依赖的业务模块的标识信息;
根据所述目标业务模块的标识信息和所述目标业务模块所依赖的业务模块的标识信息,得到所述服务对应的N个业务模块的标识信息。
可选的,所述调用模块具体用于:
确定执行所述第i业务模块需要的业务数据;
查询数据交换区中是否存在所述第i业务模块需要的业务数据;
当所述调用模块查询到数据交换区中存在所述第i业务模块需要的业务数据后,从数据交换区获取所述业务数据;所述业务数据包括所述第i业务模块所依赖的第j业务模块执行结果和/或预先从终端获取的信息;所述数据交换区用于存储各个业务模块的执行结果和/或预先从终端获取的信息,1≤j≤N;根据所述业务数据,调用所述第i业务模块。
可选的,所述调用模块调用所述第i业务模块之前,还用于:
获取所述第i业务模块的业务数据的有效时间;
根据所述业务数据的最大有效时间,确定所述业务数据在数据交换区的存储时间在所述有效时间之内。
可选的,所述调用模块调用所述第i业务模块之前,还用于:
获取所述第i业务模块在设定时间段内的最大调用次数;
根据所述第i业务模块在设定时间段内的最大调用次数,确定所述第i业务模块的调用次数小于所述最大调用次数。
本发明实施例中,服务器接收终端发送的服务请求消息,根据所述服务请求消息中包含的服务的标识信息,从依赖关系库中获取所述服务包含的N个业务模块的标识信息以及所述N个业务模块之间的依赖关系,并根据所述N个业务模块的依赖关系确定所述N个业务模块的调用顺序,然后根据所述N个业务模块的标识信息,按照所述N个业务模块的调用顺序,从业务模块库中调用所述N个业务模块。本发明实施例中,采用依赖关系库来存储多个业务模块之间的依赖关系以及业务模块库来存储多个业务模块,从而将现有技术中完整的业务流程拆分成依赖关系和各个业务模块,在服务的实现过程中,可以从依赖关系库中获取服务包含的N个业务模块之间的依赖关系,进而根据依赖关系从业务模块库中调用业务模块,从而实现了通过依赖关系来组织流程,避免了现有技术中直接定义流程而导致后期的维护和管理比较困难的问题;本发明实施例中,当需要进行服务扩展时,例如,终端有新的服务需求或服务需求出现变更时,只需在依赖关系库中重新定义新的服务包含的业务模块之间的依赖关系或修改服务包含的业务模块之间的依赖关系,便可以实现业务模块的重复调用,从而能够较为简便地实现服务扩展,且大大降低了代码修改量,节省了资源和开发成本。
附图说明
图1是背景技术中业务流程的结构示意图;
图2是本发明实施例提供的一种服务实现方法的流程示意图;
图3是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面结合说明书附图对本发明实施例作进一步详细描述。
图2为本发明实施例提供的一种服务实现方法所对应的流程示意图,如图2所示,本发明实施例中的服务实现方法主要包括如下步骤201至步骤204:
步骤201:服务器接收终端发送的服务请求消息;所述服务请求消息中包含所述终端请求服务的标识信息;
步骤202:所述服务器根据所述服务的标识信息,从依赖关系库中获取所述服务包含的N个业务模块的标识信息以及所述N个业务模块之间的依赖关系;
步骤203:所述服务器根据所述N个业务处理模块之间的依赖关系,确定所述N个业务模块的调用顺序;
步骤204:所述服务器根据所述N个业务模块的标识信息,按照所述N个业务模块的调用顺序,从业务模块库中调用所述N个业务模块。
本发明实施例中,采用依赖关系库来存储多个业务模块之间的依赖关系以及业务模块库来存储多个业务模块,从而将现有技术中完整的业务流程拆分成依赖关系和各个业务模块,在服务的实现过程中,可以从依赖关系库中获取服务包含的N个业务模块之间的依赖关系,进而根据依赖关系从业务模块库中调用业务模块,从而实现了通过依赖关系来组织流程,避免了现有技术中直接定义流程而导致后期的维护和管理比较困难的问题;本发明实施例中,当需要进行服务扩展时,例如,终端有新的服务需求或服务需求出现变更时,只需在依赖关系库中重新定义新的服务包含的业务模块之间的依赖关系或修改服务包含的业务模块之间的依赖关系,便可以实现业务模块的重复调用,从而能够较为简便地实现服务扩展,且大大降低了代码修改量,节省了资源和开发成本。
本发明实施例中,服务器用于为终端提供多个不同功能的服务。为了便于识别各个服务,所述服务器为每个服务分配了一个标识信息,所述标识信息可以为数字、字母或者由数字、字母及其他符号构成的标识符等多种形式,在此不作具体限定。同理,在业务模块库中存储了多个业务模块,为便于服务器识别各个业务模块,每个业务模块也存在一个标识信息,可以为数字、字母或者由数字、字母及其他符号构成的标识符等形式。
本发明实施例的依赖关系库中存储了用所述业务模块的标识信息描述的各个服务所对应的N个业务模块之间的依赖关系。例如,业务模块1依赖于业务模块2,业务模块2依赖于业务模块3,业务模块3依赖于业务模块4等。
具体来说,在步骤201中,服务请求消息中包含终端要请求的服务的标识信息,所述服务器接收到所述服务请求消息后,根据所述服务请求消息中包含的标识信息识别所述终端请求的服务。
举个例子,终端向服务器请求一服务,该服务的标识信息为A,则向服务器发送服务请求消息时,在服务请求消息中包含服务的标识信息A,服务器在收到服务请求消息后,根据服务请求消息中的标识信息A,得知所述终端请求的是服务A。
具体来说,在步骤202中,服务器根据所述服务的标识信息,从依赖关系库中获取所述服务包含的N个业务模块的标识信息以及所述N个业务模块之间的依赖关系,具体过程如下:
服务器接收到终端发送来的服务请求消息后,得到终端所请求服务的标识信息,根据所述服务的标识信息得到所述服务对应的目标业务模块的标识信息;
随后,服务器根据所述服务对应的目标业务模块的标识信息以及依赖关系库中存储的各个业务模块依赖关系,获取所述服务对应的目标业务模块所依赖的业务模块的标识信息;
进一步地,根据所述目标业务模块的标识信息和所述目标业务模块所依赖的业务模块的标识信息,通过查询依赖关系库中存储的各个业务模块依赖关系,逐步得到所述服务对应的N个业务模块的标识信息。
举个例子,服务器接收到终端发送的服务请求消息后,得知终端向服务器请求标识信息为A的服务,服务器根据所述服务的标识信息A得到所述服务对应的目标业务模块的标识信息为1。服务器根据服务A对应的目标业务模块的标识信息1以及依赖关系库中存储的的依赖关系,得到目标业务模块1所依赖的业务模块的标识信息为2,而业务模块2所依赖的业务模块的标识信息为3,依次类推,直到得到业务模块N,确定业务模块N为具有独立业务操作特征的业务模块,即不存在依赖的业务模块。随后,服务器根据目标业务模块1、以及业务模块2、……、业务模块N-1、业务模块N,得到服务A包含的N个业务模块的标识信息以及N个业务模块之间的依赖关系。
随后,在步骤203中,服务A的N个业务模块的标识信息分别为1,2,3....N,依照上述依赖关系可知,N个业务模块中业务模块1依赖于业务模块2,即业务模块2的调用需在业务模1的调用之前,同理,业务模块2依赖于业务模块3,业务模块3的调用需在业务模块2的调用之前,依次地,可得到所述服务A对应的N个业务模块的调用顺序为N,....3,2,1。
具体来说,在步骤204中,服务器根据所述服务对应的N个业务模块的标识信息,按照在步骤203中得到的所述N个业务模块的调用顺序,从业务模块库中依次调用所述N个业务模块,从而实现了所述服务。
本发明实施例中,通过定义在依赖关系库中定义服务对应的N个业务模块之间的依赖关系,实现了N个业务模块的按次序调用,修改依赖关系库中的依赖关系即可改变所述N个业务模块的调用次序,从而实现了业务流程的动态组织,提高了业务模块的可复用性,简化了业务流程后期的维护和管理,并可以降低不必要的开发成本。
在步骤203中得到的服务A的N个业务模块的调用顺序为N,....3,2,1,则服务器按照上述顺序逐个调用所述服务A对应的业务模块,即先调用业务模块N,再调用依赖于业务模块N的业务模块N-1,依次地,最后调用业务模块1。
具体的,所述服务器通过如下方式调用所述N个模块中的第i业务模块,其中所述第i业务模块为所述N个模块中的任意一个,1≤i≤N:所述服务器获取所述第i业务模块在设定时间段内的最大调用次数,所述最大调用次数可以存储在依赖关系库中,或者,也可以存储在服务器的其它存储区,此处不作具体限制;所述第i业务模块的最大调用次数与所述第i业务模块的标识信息存在对应关系,从而便于服务器根据第i业务模块的标识信息获取第i业务模块的最大调用次数。所述最大调用次数可以为基于同一依赖关系的最大调用次数,也可以为其他限制条件下的最大调用次数。随后,所述服务器根据所述第i业务模块在设定时间段内的最大调用次数,判断所述第i业务模块的调用次数是否小于所述最大调用次数,若小于,则调用所述第i业务模块,若大于等于,则不调用所述第i业务模块。
所述设定时间段可由本领域技术人员根据实际需要设定。
本发明实施例中,通过设置业务模块在预定条件下的最大调用次数,从而便于对业务模块的调用做出检查和限制,能够有效避免业务模块的恶意重复调用,增强服务实现过程中的安全性。
举例来说,如当前时间为12AM,设置时间段为2h,业务模块1依赖于业务模块2,业务模块1在设定时间段内基于同一依赖的最大调用次数为5次;则在业务模块2调用结束之后,业务模块1调用之前,服务器获取业务模块1在10AM~12AM的时间段内基于业务模块2的调用次数;若当前调用次数为2次,小于设置的基于同一依赖的最大调用次数5次,则服务器调用所述业务模块1;若当前调用次数大于等于5次,即大于等于设置的基于同一依赖的最大调用次数5次,则服务器不调用所述业务模块1。
可选地,所述服务器确定执行所述第i业务模块需要的业务数据,并查询数据交换区中是否存在所述第i业务模块需要的业务数据,如存在,则从数据交换区获取所述业务数据;所述业务数据包括所述第i业务模块所依赖的第j业务模块执行结果和/或预先从终端获取的信息,其中1≤i,j≤N。
所述数据交换区用于存储各个业务模块的执行结果和/或预先从终端获取的信息,进一步地,还可以存储向终端输出的信息。通过设置公共的数据交换区,实现了数据存储和管理独立于各个业务模块之外,可以有效防止数据直接被读取和写入,增强了数据的安全性。
可选地,所述服务器获取所述第i业务模块的业务数据的有效时间;所述有效时间为本领域技术人员根据业务模块的功能以及实际需要具体设置的,可以存储在服务器的数据交换区中,也可以存储在服务器的其他区域,这里不作具体限制;随后,所述服务器根据所述业务数据的有效时间判断所述业务数据在数据交换区的存储时间是否在最大有效时间之内,若是,则根据所述业务数据,调用所述第i业务模块,若不是,则不调用所述第i业务模块。
本发明实施例中,通过设置业务模块所需的业务数据的有效时间,可以有效避免服务实现过程中可能会出现的由于数据时效性差引起的流程处理错误,加强了对外接口和数据管理的可靠性。
下面结合一个具体实施例对本发明进行说明。
假设,第i业务模块为验证支付密码操作;第j业务模块为验证持有性操作;第i业务模块依赖于第j业务模块,即验证支付密码操作依赖于验证持有性操作;预先设置的第i业务模块的业务数据的有效时间为5分钟。服务器首先确定第i业务模块所需的业务数据为预先从终端获取到并存储在数据交换区中的某用户的支付密码a和第j业务模块的执行结果即已验证持有性的确认消息b;然后,服务器查询数据交换区中是否存在第i业务模块的业务数据支付密码a和确认消息b,若存在,则从数据交换区中获取支付密码a和确认消息b。进一步地,服务器获取到支付密码a和确认消息b在所述数据交换区的存储时间,并将所述支付密码a和确认消息b的在数据交换区的存储时间与第i业务模块的业务数据的有效时间进行比较,若支付密码a的存储时间为2分钟,支付密码b的存储时间为3分钟,都小于最大有效时间5分钟,则服务器调用第i业务模块,若支付密码a和确认消息b的存储时间中存在任一个大于等于5分钟,则所述第i业务模块存在业务数据超出了最大有效时间而失效,服务器不调用第i业务模块。
本发明实施例中,所述所述依赖关系库还可以用来对所述服务对应的多数N个业务模块之间的依赖关系的配置和管理,包括依赖管理的增加、删除、修改、查询以及依赖数据的定义、依赖数据的有效性设置及基于依赖关系的业务模块调用的检查和限制等。
针对上述方法流程,本发明实施例还提供了一种用于服务实现的服务器,该服务器可以参照上述方法实施,在此不再赘述。
图3为本发明实施例提供的一种服务器的结构示意图。如图3所示,本发明实施例中的服务器包括:
接收模块301,用于接收终端发送的服务请求消息;所述服务请求消息中包含所述终端请求服务的标识信息;
获取模块302,用于根据所述服务的标识信息,从依赖关系库中获取所述服务包含的N个业务模块的标识信息以及所述N个业务模块之间的依赖关系;所述依赖关系库中用于存储预先设置的多个业务模块之间的依赖关系;
确定模块303,用于根据所述N个业务处理模块之间的依赖关系,确定所述N个业务模块的调用顺序;
调用模块304,用于根据所述N个业务模块的标识信息,按照所述N个业务模块的调用顺序,从业务模块库中调用所述N个业务模块。
可选的,所述获取模块具体用于:
根据所述服务的标识信息,获取所述服务对应的目标业务模块的标识信息;
根据所述目标业务模块的标识信息和依赖关系库中存储的各个业务模块之间的依赖关系,获取所述目标业务模块所依赖的业务模块的标识信息;
根据所述目标业务模块的标识信息和所述目标业务模块所依赖的业务模块的标识信息,得到所述服务对应的N个业务模块的标识信息。
可选的,所述调用模块具体用于:
确定执行所述第i业务模块需要的业务数据;
查询数据交换区中是否存在所述第i业务模块需要的业务数据;
当所述调用模块查询到数据交换区中存在所述第i业务模块需要的业务数据后,从数据交换区获取所述业务数据;所述业务数据包括所述第i业务模块所依赖的第j业务模块执行结果和/或预先从终端获取的信息;所述数据交换区用于存储各个业务模块的执行结果和/或预先从终端获取的信息,1≤j≤N;;
根据获取到的所述业务数据,调用所述第i业务模块。
可选的,所述调用模块调用所述第i业务模块之前,还用于:
获取所述第i业务模块的业务数据的有效时间;
根据所述业务数据的有效时间确定所述业务数据的在数据交换区的存储时间在有效时间之内。
可选的,所述调用模块调用所述第i业务模块之前,还用于:
获取所述第i业务模块在设定时间段内的最大调用次数;
根据所述第i业务模块在设定时间段内的最大调用次数,确定所述第i业务模块的调用次数小于所述最大调用次数。从上述内容可以看出:
本发明实施例中,服务器接收终端发送的服务请求消息,根据所述服务请求消息中包含的服务的标识信息,从依赖关系库中获取所述服务包含的N个业务模块的标识信息以及所述N个业务模块之间的依赖关系,并根据所述N个业务模块的依赖关系确定所述N个业务模块的调用顺序,然后根据所述N个业务模块的标识信息,按照所述N个业务模块的调用顺序,从业务模块库中调用所述N个业务模块。本发明实施例中,采用依赖关系库来存储多个业务模块之间的依赖关系以及业务模块库来存储多个业务模块,从而将现有技术中完整的业务流程拆分成依赖关系和各个业务模块,在服务的实现过程中,可以从依赖关系库中获取服务包含的N个业务模块之间的依赖关系,进而根据依赖关系从业务模块库中调用业务模块,从而实现了通过依赖关系来组织流程,避免了现有技术中直接定义流程而导致后期的维护和管理比较困难的问题;本发明实施例中,当需要进行服务扩展时,例如,终端有新的服务需求或服务需求出现变更时,只需在依赖关系库中重新定义新的服务包含的业务模块之间的依赖关系或修改服务包含的业务模块之间的依赖关系,便可以实现业务模块的重复调用,从而能够较为简便地实现服务扩展,且大大降低了代码修改量,节省了资源和开发成本。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或两个以上其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或两个以上流程和/或方框图一个方框或两个以上方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种服务实现方法,其特征在于,包括:
服务器接收终端发送的服务请求消息;所述服务请求消息中包含所述终端请求服务的标识信息;
所述服务器根据所述服务的标识信息,从依赖关系库中获取所述服务包含的N个业务模块的标识信息以及所述N个业务模块之间的依赖关系;所述依赖关系库中用于存储预先设置的多个业务模块之间的依赖关系;
所述服务器根据所述N个业务处理模块之间的依赖关系,确定所述N个业务模块的调用顺序;
所述服务器根据所述N个业务模块的标识信息,按照所述N个业务模块的调用顺序,从业务模块库中调用所述N个业务模块。
2.如权利要求1中所述的方法,其特征在于,所述服务器根据所述服务的标识信息,从依赖关系库中获取所述服务包含的N个业务模块的标识信息,包括:
所述服务器根据所述服务的标识信息,获取所述服务对应的目标业务模块的标识信息;
所述服务器根据所述目标业务模块的标识信息和依赖关系库中存储的多个业务模块之间的依赖关系,获取所述目标业务模块所依赖的业务模块的标识信息;
所述服务器根据所述目标业务模块的标识信息和所述目标业务模块所依赖的业务模块的标识信息,得到所述服务对应的N个业务模块的标识信息。
3.如权利要求1中所述的方法,其特征在于,所述服务器通过如下方式调用所述N个模块中的第i业务模块,1≤i≤N,包括:
所述服务器确定执行所述第i业务模块需要的业务数据;
所述服务器查询数据交换区中是否存在所述第i业务模块需要的业务数据,如有,则从所述数据交换区获取所述业务数据;所述业务数据包括所述第i业务模块所依赖的第j业务模块的执行结果和/或预先从终端获取的信息;所述数据交换区用于存储各个业务模块的执行结果和/或预先从终端获取的信息,1≤j≤N;
所述服务器根据所述业务数据,调用所述第i业务模块。
4.如权利要求3中所述的方法,其特征在于,所述服务器根据所述业务数据,调用所述第i业务模块之前,包括:
所述服务器获取所述第i业务模块的业务数据的有效时间;
所述服务器根据所述业务数据的有效时间,确定所述业务数据在所述数据交换区的存储时间在所述有效时间之内。
5.如权利要求1中所述的方法,其特征在于,所述服务器调用第i业务模块之前,还包括:
所述服务器获取所述第i业务模块在设定时间段内的最大调用次数;
所述服务器根据所述第i业务模块在设定时间段内的最大调用次数,确定所述第i业务模块的调用次数小于所述最大调用次数。
6.一种服务器,其特征在于,包括:
接收模块,用于接收终端发送的服务请求消息;所述服务请求消息中包含所述终端请求服务的标识信息;
获取模块,用于根据所述服务的标识信息,从依赖关系库中获取所述服务包含的N个业务模块的标识信息以及所述N个业务模块之间的依赖关系;所述依赖关系库中用于存储预先设置的多个业务模块之间的依赖关系;
确定模块,用于根据所述N个业务处理模块之间的依赖关系,确定所述N个业务模块的调用顺序;
调用模块,用于根据所述N个业务模块的标识信息,按照所述N个业务模块的调用顺序,从业务模块库中调用所述N个业务模块。
7.如权利要求6中所述的服务器,其特征在于,所述获取模块具体用于:
根据所述服务的标识信息,获取所述服务对应的目标业务模块的标识信息;
根据所述目标业务模块的标识信息和依赖关系库中存储的多个业务模块之间的依赖关系,获取所述目标业务模块所依赖的业务模块的标识信息;
根据所述目标业务模块的标识信息和所述目标业务模块所依赖的业务模块的标识信息,得到所述服务对应的N个业务模块的标识信息。
8.如权利要求6中所述的服务器,其特征在于,所述调用模块具体用于:
确定执行所述第i业务模块需要的业务数据;
查询数据交换区中是否存在所述第i业务模块需要的业务数据;
当所述调用模块查询到数据交换区中存在所述第i业务模块需要的业务数据后,从数据交换区获取所述业务数据;所述业务数据包括所述第i业务模块所依赖的第j业务模块执行结果和/或预先从终端获取的信息;所述数据交换区用于存储各个业务模块的执行结果和/或预先从终端获取的信息,1≤j≤N;
根据所述业务数据,调用所述第i业务模块。
9.如权利要求6中所述的服务器,其特征在于,所述调用模块调用所述第i业务模块之前,还用于:
获取所述第i业务模块的业务数据的有效时间;
根据所述业务数据的有效时间,确定所述业务数据在数据交换区的存储时间在所述有效时间之内。
10.如权利要求6中所述的服务器,其特征在于,所述调用模块调用所述第i业务模块之前,还用于:
获取所述第i业务模块在设定时间段内的最大调用次数;
根据所述第i业务模块在设定时间段内的最大调用次数,确定所述第i业务模块的调用次数小于所述最大调用次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610709063.3A CN106339222B (zh) | 2016-08-23 | 2016-08-23 | 一种服务实现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610709063.3A CN106339222B (zh) | 2016-08-23 | 2016-08-23 | 一种服务实现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106339222A true CN106339222A (zh) | 2017-01-18 |
CN106339222B CN106339222B (zh) | 2019-09-17 |
Family
ID=57824698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610709063.3A Active CN106339222B (zh) | 2016-08-23 | 2016-08-23 | 一种服务实现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106339222B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107391101A (zh) * | 2017-04-21 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种信息处理方法及装置 |
CN108053336A (zh) * | 2018-01-15 | 2018-05-18 | 中企动力科技股份有限公司 | 可定制领域服务方法及装置 |
CN108595157A (zh) * | 2018-04-28 | 2018-09-28 | 百度在线网络技术(北京)有限公司 | 区块链数据的处理方法、装置、设备和存储介质 |
CN108628931A (zh) * | 2018-03-15 | 2018-10-09 | 阿里巴巴集团控股有限公司 | 一种数据驱动业务的方法、装置以及设备 |
CN109120686A (zh) * | 2018-08-08 | 2019-01-01 | 联动优势电子商务有限公司 | 一种服务预验证的方法及装置 |
CN110010230A (zh) * | 2018-01-04 | 2019-07-12 | 北大医疗信息技术有限公司 | 数据采集方法及数据采集装置、计算机设备及存储介质 |
CN110249594A (zh) * | 2017-02-08 | 2019-09-17 | 日本电信电话株式会社 | 通信装置和通信方法 |
CN110704062A (zh) * | 2019-09-27 | 2020-01-17 | 天津五八到家科技有限公司 | 依赖管理方法、数据获取方法、装置及设备 |
CN110968327A (zh) * | 2018-09-29 | 2020-04-07 | 中国电信股份有限公司 | 服务系统及其部署方法 |
CN111324333A (zh) * | 2018-12-17 | 2020-06-23 | 中移(杭州)信息技术有限公司 | 一种基于组件化的软件开发方法及装置 |
CN111831317A (zh) * | 2020-06-02 | 2020-10-27 | 北京百度网讯科技有限公司 | 服务间依赖关系的获取方法、装置、电子设备和存储介质 |
CN112241285A (zh) * | 2019-07-16 | 2021-01-19 | 腾讯科技(深圳)有限公司 | 运营程序的配置方法、装置及设备 |
CN112799813A (zh) * | 2021-01-28 | 2021-05-14 | 中国工商银行股份有限公司 | 分布式作业服务调度方法、分布式服务器及业务终端 |
CN113326030A (zh) * | 2021-05-26 | 2021-08-31 | 北京京东拓先科技有限公司 | 一种业务请求的处理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221498A (zh) * | 2007-01-08 | 2008-07-16 | 华为技术有限公司 | 一种对业务模块进行管理的系统及方法 |
CN101281466A (zh) * | 2008-05-27 | 2008-10-08 | 北京中企开源信息技术有限公司 | 基于业务本体特征的业务对象建模方法 |
CN102404149A (zh) * | 2011-11-23 | 2012-04-04 | 华为技术有限公司 | 一种业务特性的管理系统和方法 |
-
2016
- 2016-08-23 CN CN201610709063.3A patent/CN106339222B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221498A (zh) * | 2007-01-08 | 2008-07-16 | 华为技术有限公司 | 一种对业务模块进行管理的系统及方法 |
CN101281466A (zh) * | 2008-05-27 | 2008-10-08 | 北京中企开源信息技术有限公司 | 基于业务本体特征的业务对象建模方法 |
CN102404149A (zh) * | 2011-11-23 | 2012-04-04 | 华为技术有限公司 | 一种业务特性的管理系统和方法 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110249594A (zh) * | 2017-02-08 | 2019-09-17 | 日本电信电话株式会社 | 通信装置和通信方法 |
CN107391101B (zh) * | 2017-04-21 | 2021-03-23 | 创新先进技术有限公司 | 一种信息处理方法及装置 |
CN107391101A (zh) * | 2017-04-21 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种信息处理方法及装置 |
CN110010230A (zh) * | 2018-01-04 | 2019-07-12 | 北大医疗信息技术有限公司 | 数据采集方法及数据采集装置、计算机设备及存储介质 |
CN108053336A (zh) * | 2018-01-15 | 2018-05-18 | 中企动力科技股份有限公司 | 可定制领域服务方法及装置 |
CN108628931A (zh) * | 2018-03-15 | 2018-10-09 | 阿里巴巴集团控股有限公司 | 一种数据驱动业务的方法、装置以及设备 |
CN108595157A (zh) * | 2018-04-28 | 2018-09-28 | 百度在线网络技术(北京)有限公司 | 区块链数据的处理方法、装置、设备和存储介质 |
CN108595157B (zh) * | 2018-04-28 | 2022-05-10 | 百度在线网络技术(北京)有限公司 | 区块链数据的处理方法、装置、设备和存储介质 |
CN109120686A (zh) * | 2018-08-08 | 2019-01-01 | 联动优势电子商务有限公司 | 一种服务预验证的方法及装置 |
CN110968327A (zh) * | 2018-09-29 | 2020-04-07 | 中国电信股份有限公司 | 服务系统及其部署方法 |
CN111324333A (zh) * | 2018-12-17 | 2020-06-23 | 中移(杭州)信息技术有限公司 | 一种基于组件化的软件开发方法及装置 |
CN111324333B (zh) * | 2018-12-17 | 2022-08-30 | 中移(杭州)信息技术有限公司 | 一种基于组件化的软件开发方法及装置 |
CN112241285A (zh) * | 2019-07-16 | 2021-01-19 | 腾讯科技(深圳)有限公司 | 运营程序的配置方法、装置及设备 |
CN110704062A (zh) * | 2019-09-27 | 2020-01-17 | 天津五八到家科技有限公司 | 依赖管理方法、数据获取方法、装置及设备 |
CN111831317A (zh) * | 2020-06-02 | 2020-10-27 | 北京百度网讯科技有限公司 | 服务间依赖关系的获取方法、装置、电子设备和存储介质 |
CN111831317B (zh) * | 2020-06-02 | 2024-02-06 | 北京百度网讯科技有限公司 | 服务间依赖关系的获取方法、装置、电子设备和存储介质 |
CN112799813A (zh) * | 2021-01-28 | 2021-05-14 | 中国工商银行股份有限公司 | 分布式作业服务调度方法、分布式服务器及业务终端 |
CN113326030A (zh) * | 2021-05-26 | 2021-08-31 | 北京京东拓先科技有限公司 | 一种业务请求的处理方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106339222B (zh) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106339222A (zh) | 一种服务实现方法及装置 | |
CN109241772B (zh) | 发票区块链记录方法、装置、区块链网关服务器和介质 | |
CN110602056B (zh) | 一种业务参数传递方法及装置 | |
CN109639751B (zh) | 区块链节点监控方法、装置、系统及计算机存储介质 | |
CN111163130B (zh) | 一种网络服务系统及其数据传输方法 | |
CN107087033A (zh) | 消息推送方法、装置、存储介质及计算机设备 | |
CN109582655B (zh) | 系统日志的定位方法及装置、计算机可读存储介质 | |
CN111563075B (zh) | 一种业务校验系统、方法及设备和存储介质 | |
CN110677453A (zh) | 基于ZooKeeper的分布式锁服务实现方法、装置、设备及存储介质 | |
CN113037831A (zh) | 一种服务网关报文处理方法及装置 | |
CN109858257B (zh) | 访问控制方法及装置 | |
CN107733710A (zh) | 链路调用关系的构建方法、装置、计算机设备及存储介质 | |
CN111314174A (zh) | 基于区块链和sdn边缘计算网络系统的网络拨测方法及装置 | |
CN113225407A (zh) | 一种设备标识信息管理方法、装置、电子设备及存储介质 | |
CN109995787A (zh) | 一种数据处理方法及相关设备 | |
CN113703996B (zh) | 基于用户和yang模型分组的访问控制方法、设备及介质 | |
CN109428682A (zh) | 一种消息处理确认方法及装置 | |
CN108833500B (zh) | 服务调用方法、服务提供方法、数据传递方法和服务器 | |
CN108647102A (zh) | 异构系统的服务请求处理方法、装置和电子设备 | |
CN103718531A (zh) | 一种能力获取方法、装置和系统 | |
CN108400901A (zh) | 应用的测试方法、终端设备及计算机可读存储介质 | |
CN112416995B (zh) | 一种数据统计方法、装置、计算机设备及存储介质 | |
CN114936249A (zh) | 一种文件解析、转换方法、装置、设备及可读存储介质 | |
CN110020166A (zh) | 一种数据分析方法及相关设备 | |
CN111258896A (zh) | 自动化造数断点续造方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |