业务执行系统、方法及装置、业务隔离系统与流程

文档序号:16134175发布日期:2018-12-01 00:43阅读:177来源:国知局

本说明书涉及数据处理技术领域,尤其涉及业务执行系统、方法及装置、业务隔离系统。

背景技术

在业务系统的一个应用中可以运行多个业务,例如,在一个支付应用中可以运行淘宝交易业务、余额宝交易业务和线下支付交易业务等。目前,业务系统中业务流量大,业务种类混杂。因此,有必要对业务系统进行改进。



技术实现要素:

基于此,本说明书提供了。

根据本说明书实施例的第一方面,提供一种业务执行系统,所述业务执行系统包括多个互相隔离的业务单元;所述业务单元均包括至少一个用于提供服务的部署单元,不同业务单元的部署单元具有不同的标识信息;标识信息相同的各个部署单元通过数据交互,以使所述业务单元执行相应的业务。

可选地,所述部署单元通过容器提供服务。

可选地,所述容器用于:对所述部署单元提供的服务和所述标识信息进行发布;和/或根据所述标识信息调用其他容器发布的服务。

可选地,所述容器进一步用于:将自身的标识信息与其他容器发布的标识信息进行匹配;调用标识信息匹配的容器发布的服务。

根据本说明书实施例的第二方面,提供一种业务执行方法,所述方法包括:获取本部署单元的标识信息;建立本部署单元与具有相同标识信息的其他部署单元之间的数据交互,以使包含本部署单元与其他部署单元的业务单元执行业务;其中,不同业务单元的部署单元具有不同的标识信息,各个业务单元互相隔离。

可选地,建立本部署单元与具有相同标识信息的其他部署单元之间的数据交互的步骤包括:对本部署单元提供的服务和所述标识信息进行发布,以供具有相同标识信息的其他部署单元进行调用所述服务;和/或根据所述标识信息调用具有相同标识信息的其他部署单元发布的服务。

根据本说明书实施例的第三方面,提供一种业务执行方法,所述方法包括:在接收到业务请求之后,查找所述业务请求对应的业务分流规则;根据所述业务分流规则将所述业务请求发送到对应的业务单元中,以使所述业务单元执行所述业务请求对应的业务。

根据本说明书实施例的第四方面,提供一种业务隔离系统,所述业务隔离系统包括:任一实施例中的业务执行系统;以及业务分流系统;所述业务分流系统用于在接收到业务请求之后,查找所述业务请求对应的业务分流规则,并根据所述业务分流规则将所述业务请求发送到对应的业务单元中,以使所述业务单元执行所述业务请求对应的业务。

可选地,所述业务隔离系统还包括:网络接入系统;所述网络接入系统用于获取用户端发送的业务请求,并将所述业务请求转发至业务分流系统。

可选地,所述网络接入系统通过反向代理方式获取用户端发送的业务请求,并将所述业务请求转发至业务分流系统。

可选地,所述网络接入系统通过网关将所述业务请求转发至业务分流系统。

根据本说明书实施例的第五方面,提供一种业务执行装置,所述装置包括:获取模块,用于获取本部署单元的标识信息;建立模块,用于建立本部署单元与具有相同标识信息的其他部署单元之间的数据交互,以使包含本部署单元与其他部署单元的业务单元执行业务;其中,不同业务单元的部署单元具有不同的标识信息,各个业务单元互相隔离。

可选地,所述部署单元通过容器提供服务。

可选地,所述容器用于:对所述部署单元提供的服务和所述标识信息进行发布;和/或根据所述标识信息调用其他容器发布的服务。

可选地,所述容器进一步用于:将自身的标识信息与其他容器发布的标识信息进行匹配;调用标识信息匹配的容器发布的服务。

根据本说明书实施例的第六方面,提供一种业务执行装置,所述装置包括:查找模块,用于在接收到业务请求之后,查找所述业务请求对应的业务分流规则;发送模块,用于根据所述业务分流规则将所述业务请求发送到对应的业务单元中,以使所述业务单元执行所述业务请求对应的业务。

根据本说明书实施例的第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一实施例的方法。

根据本说明书实施例的第八方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一实施例的方法。

应用本说明书实施例方案,各个业务单元均包括多个用于提供业务的部署单元,标识信息相同的各个部署单元才可进行数据交互,从而使业务单元执行相应的业务,标识信息不同的各个部署单元之间不进行数据交互,由于从属于不同业务单元的部署单元具有不同的标识信息,从而使得不同业务单元相互隔离,互不影响。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。

图1是一个实施例的集群单元的示意图。

图2是本说明书一个实施例的业务执行系统的示意图。

图3是本说明书一个实施例的业务执行方法的示意图。

图4是本说明书另一个实施例的业务执行方法的示意图。

图5是本说明书一个实施例的业务分流的总体流程示意图。

图6是本说明书一个实施例的业务隔离系统的示意图。

图7是本说明书一个实施例的业务执行装置的示意图。

图8是本说明书另一个实施例的业务执行装置的示意图。

图9是本说明书一个实施例的用于实施本说明书实施例方法的计算机设备的示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

如图1所示,在业务系统中可以包括多个应用,每一个应用中可以运行一个或多个业务。例如,在图1所示的实施例中,业务系统中包括3个应用,每个应用中可以运行n个业务,例如:淘宝交易业务、余额交易业务、线下支付交易业务等。每个应用可对应一个部署单元,每个部署单元中通过启动容器来提供各项业务对应的服务。多个部署单元构成一个集群单元,集群单元相当于一个逻辑业务中心,用于执行对应应用的各项业务。

在上述集群化的业务模式中,所有业务都走向一个集群单元,该集群负责了非常纷繁复杂的支付业务。一个业务的变更容易导致一个集群不可用,导致支付相关的业务整体不可用。另外,所有业务都在一个集群单元,在业务量较大的时候(比如:双十一促销),某个或某些业务可能会占用整个集群的所有资源,容易导致其它业务不可用。

基于此,本说明书提供一种业务执行系统,所述业务执行系统包括多个互相隔离的业务单元;

所述业务单元均包括至少一个用于提供服务的部署单元,不同业务单元的部署单元具有不同的标识信息;

标识信息相同的各个部署单元通过数据交互,以使所述业务单元执行相应的业务。

本说明书实施例中若干个部署单元组成一个业务单元,其中,部署单元可以包括应用业务代码和应用容器,一个应用可以有多个部署单元。应用是具有模块化功能的业务代码,应用容器可以安装、部署应用的软件,对外提供服务和调用外部服务。各个业务单元之间互相隔离,同一个业务单元内的各个部署单元具有相同的标识信息,标识信息相同的各个部署单元才可进行数据交互,从而使业务单元执行相应的业务,标识信息不同的各个部署单元之间不进行数据交互,由于从属于不同业务单元的部署单元具有不同的标识信息,从而使得不同业务单元相互隔离,互不影响。

如图2所示,该实施例中包括n个业务单元,每个业务单元中包括3个部署单元,即:业务单元1中包括部署单元11、部署单元12和部署单元13;业务单元2中包括部署单元21、部署单元22和部署单元23;以此类推。其中,应用1可以运行业务11,业务12,……,业务1n;应用2可以运行业务21,业务22,……,业务2n;应用3可以运行业务31,业务32,……,业务3n。在实际应用中,同一个业务单元中的各个部署单元所提供的服务可以通过一定的调用逻辑进行互相调用,以实现一项业务。

每一个部署单元都具有一个标识信息,同一个业务单元中的各个部署单元具有相同的标识信息;不同业务单元中的部署单元具有不同的标识信息。在执行业务时,各个部署单元可以根据标识信息进行数据交互。具体来说,只有具有相同标识信息的部署单元才可以进行数据交互,而具有不同标识信息的部署单元之间则不能进行数据交互。通过这种方式,可以使各个业务单元相互隔离,以保证一个业务单元的业务不会影响其他业务单元的业务,从而在一个业务单元的业务出现异常时,能够保证其他业务单元的业务正常执行。应当说明的是,这里所说的“隔离”可以是一种逻辑上的隔离,而不一定是物理上的隔离。

部署单元可以通过容器提供服务,容器是承载应用的一个对外提供服务的软件,通过容器启动应用,以发布应用提供的服务。可以通过在容器内设置参数,从而设置部署单元的标识信息。

在一个实施例中,所述容器可以用于:对所述部署单元提供的服务和所述标识信息进行发布;和/或根据所述标识信息调用其他容器发布的服务。进一步地,容器在调用其他容器发布的服务时,可以将自身的标识信息与其他容器发布的标识信息进行匹配,并调用标识信息匹配的容器发布的服务。在容器内设置参数之后,容器读取到该参数,可以在发布的服务中附带上该参数;在调用服务时,可以调用具有相同参数的服务。

同一个应用可以仅设置一个容器,同一应用的不同部署单元均可以通过该容器提供服务。不同的部署单元工作时,可以动态地为容器设置不同的参数,从而使该部署单元具有不同的标识信息。这样做的好处是,无需更改容器中的应用代码,只需要为容器设置不同的参数,就可以将不同业务单元的业务区分开来。

如图3所示,本说明书实施例还提供一种业务执行方法,所述方法包括:

步骤302:获取本部署单元的标识信息;

步骤304:建立本部署单元与具有相同标识信息的其他部署单元之间的数据交互,以使包含本部署单元与其他部署单元的业务单元执行业务;

其中,不同业务单元的部署单元具有不同的标识信息,各个业务单元互相隔离。

本实施例的方法可以基于上述任一实施例的业务执行系统实现。

每一个部署单元都具有一个标识信息,同一个业务单元中的各个部署单元具有相同的标识信息;不同业务单元中的部署单元具有不同的标识信息。在执行业务时,各个部署单元可以根据标识信息进行数据交互。具体来说,只有具有相同标识信息的部署单元才可以进行数据交互,而具有不同标识信息的部署单元之间则不能进行数据交互。通过这种方式,可以使各个业务单元相互隔离,以保证一个业务单元的业务不会影响其他业务单元的业务,从而在一个业务单元的业务出现异常时,能够保证其他业务单元的业务正常执行。

在一个实施例中,建立本部署单元与具有相同标识信息的其他部署单元之间的数据交互的步骤包括:对本部署单元提供的服务和所述标识信息进行发布,以供具有相同标识信息的其他部署单元调用所述服务;和/或根据所述标识信息调用具有相同标识信息的其他部署单元发布的服务。

部署单元可以通过容器提供服务,容器是承载应用的一个对外提供服务的软件,通过容器启动应用,以发布应用提供的服务。可以通过在容器内设置参数,从而设置部署单元的标识信息。

容器在调用其他容器发布的服务时,可以将自身的标识信息与其他容器发布的标识信息进行匹配,并调用标识信息匹配的容器发布的服务。在容器内设置参数之后,容器读取到该参数,可以在发布的服务中附带上该参数;在调用服务时,可以调用具有相同参数的服务。

同一个应用可以仅设置一个容器,同一应用的不同部署单元均可以通过该容器提供服务。不同的部署单元工作时,可以动态地为容器设置不同的参数,从而使该部署单元具有不同的标识信息。这样做的好处是,无需更改容器中的应用代码,只需要为容器设置不同的参数,就可以将不同业务单元的业务区分开来。

如图4所示,本说明书实施例还提供一种业务执行方法,所述方法包括:

步骤402:在接收到业务请求之后,查找所述业务请求对应的业务分流规则;

步骤404:根据所述业务分流规则将所述业务请求发送到对应的业务单元中,以使所述业务单元执行所述业务请求对应的业务。

本实施例的方法可以基于上述任一实施例的业务执行系统实现。

业务分流规则可以根据实际情况预先设置。例如,对于交易业务,可以根据交易号对不同的业务进行分流。如果交易号为担保交易对应的交易号,可以将该交易号对应的业务划分至淘宝交易业务单元;如果交易号为即时到账交易对应的交易号,可以将该交易号对应的业务划分至线下交易业务单元。在将业务请求发送到对应的业务单元之后,业务单元中的各个部署单元可以执行各自的业务代码,以使业务单元提供执行相应的业务。具体来说,部署单元可以对其提供的服务和标识信息进行发布,同一业务单元中的各个部署单元还可以按照事先定义的调用逻辑进行互相调用,以使业务单元提供执行相应的业务。

如图5所示,本说明书实施例的业务分流方式的总体流程如下:

步骤502:容器改造。具体包括:

步骤5022:在容器启动的jvm(javavirtualmachine,java虚拟机)参数中加入部署单元隔离的标识信息。

步骤5024:容器发布rpc(remoteprocedurecall,远程过程调用)服务时感知自身是否有设置标识信息,如果有,发布服务时采用接口名称+标识信息的形式发布。

步骤5026:容器调用rpc服务是感知自身是否有设置标识信息,如果有,调用rpc服务采用接口名称+标记参数的形式调用。

步骤504:部署单元创建与接入业务分流中心。具体包括:

步骤5042:用户选择需要隔离的应用,并且只需要在入口应用接入业务分流中心组件。

步骤5044:用户创建应用的部署单元(需要多个业务单元就创建多少个部署单元)。

步骤5046:设置部署单元中容器的jvm参数,并启动容器提供服务。

步骤5048:在业务分流中心配置分流规则,指定某业务去向某业务单元。

应当说明的是,上述步骤之间的执行顺序可以按照其他顺序进行,以上只是一种示例性说明。例如,步骤5026可以在步骤5024之前执行。

如图6所示,本说明书实施例还提供一种所述业务隔离系统包括:

业务执行系统602;以及

业务分流系统604;

所述业务分流系统604用于在接收到业务请求之后,查找所述业务请求对应的业务分流规则,并根据所述业务分流规则将所述业务请求发送到业务执行系统602的对应的业务单元中,以使所述业务单元执行所述业务请求对应的业务。

本实施例中的业务执行系统602可采用上述任一实施例中的业务执行系统,此处不再赘述。

本说明书实施例的业务分流系统604用于接收网络层的流量并且识别业务分流到各个业务单元。

在一个实施例中,所述业务隔离系统还包括:网络接入系统606;所述网络接入系统606用于获取用户端发送的业务请求,并将所述业务请求转发至业务分流系统604。进一步地,网络接入系统606可以过反向代理方式获取用户端发送的业务请求,并将所述业务请求转发至业务分流系统604。网络接入系统606还可以通过网关608将所述业务请求转发至业务分流系统604。

如图7所示,本说明书实施例还提供一种业务执行装置,可包括:

获取模块702,用于获取本部署单元的标识信息;

建立模块704,用于建立本部署单元与具有相同标识信息的其他部署单元之间的数据交互,以使包含本部署单元与其他部署单元的业务单元执行业务;

其中,不同业务单元的部署单元具有不同的标识信息,各个业务单元互相隔离。

如图8所示,本说明书实施例还提供一种业务执行装置,可包括:

查找模块802,用于在接收到业务请求之后,查找所述业务请求对应的业务分流规则;

发送模块804,用于根据所述业务分流规则将所述业务请求发送到对应的业务单元中,以使所述业务单元执行所述业务请求对应的业务。

上述装置中各个模块的功能和作用的实现过程具体详情见上述方法中对应步骤的实现过程,在此不再赘述。

本说明书装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图9所示,为本说明书装置所在计算机设备的一种硬件结构图,除了图9所示的处理器902、内存904、网络接口906、以及非易失性存储器908之外,实施例中装置所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

相应地,本说明书实施例还提供一种计算机存储介质,所述存储介质中存储有程序,所述程序被处理器执行时实现上述任一实施例中的方法。

相应地,本说明书实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例中的方法。

本申请可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。

本领域技术人员在考虑说明书及实践这里公开的说明书后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1