发明内容
基于此,有必要针对上述技术问题,提供一种能够便于部署且能够减少扩容成本的交易系统的部署方法、装置、计算机设备和存储介质。
第一方面,本申请实施例提供一种交易系统的部署方法,所述方法包括:
获取交易系统的目标部署方案,所述目标部署方案包括交易系统中各个组件的目标高可用方式,所述各个组件的目标高可用方式是从多种高可用方式中选择的任一种方式,所述高可用方式用于表示所述各个组件的实例的部署方式;
根据所述各个组件的目标高可用方式在数据中心部署所述各个组件的实例,得到所述各个组件;
根据所述各个组件形成交易系统,所述各个组件通过消息总线进行数据传输。
在其中一个实施例中,所述高可用方式包括单中心部署方式,所述单中心部署方式表示在同一数据中心部署主实例和备实例;
当存在第一组件的目标高可用方式为单数据中心部署方式时,所述第一组件对应第一主实例和第一备实例;所述根据所述各个组件的目标高可用方式在数据中心中部署所述各个组件的实例,得到所述各个组件,包括:
在所述数据中心中部署所述第一主实例,在所述数据中心中部署所述第一备实例,得到所述第一组件,所述第一备实例为所述第一主实例的备份,所述第一主实例与所述第一备实例采用异步传输方式传输数据,当所述第一主实例发生异常状况时,通过重演方式恢复所述第一主实例,或者切换至使用所述第一备实例。
在其中一个实施例中,所述高可用方式包括主备数据中心部署方式,所述主备数据中心部署方式表示在第一主数据中心部署主实例,在第一备数据中心部署备实例,所述第一主数据中心和所述第一备数据中心互为备份,且实时进行数据备份;
当存在第二组件的目标高可用方式为主备数据中心部署方式时,所述第二组件对应第二主实例和第二备实例;所述根据所述各个组件的目标高可用方式在数据中心中部署所述各个组件的实例,得到所述各个组件,包括:
在所述第一主数据中心中部署所述第二主实例,在所述第一备数据中心中部署所述第二备实例,得到所述第二组件。
在其中一个实施例中,所述主备数据中心部署方式还表示在所述第一主数据中心部署备实例,则所述第二组件还对应第三备实例;
所述根据所述各个组件的目标高可用方式在数据中心中部署所述各个组件的实例,得到所述各个组件,包括:
在所述第一主数据中心中部署所述第二主实例和第三备实例,在所述备数据中心部署所述第二备实例,得到所述第二组件。
在其中一个实施例中,所述高可用方式包括两地三中心容灾部署方式,所述两地三中心容灾部署方式表示在第一地区部署第二主数据中心和第二备数据中心,在第二地区部署容灾数据中心;
当存在第三组件的目标高可用方式为两地三中心容灾部署方式时,所述第三组件对应第三主实例、第四备实例和容灾实例;所述根据所述各个组件对应的目标高可用方式在数据中心中部署所述各个组件的实例,得到所述各个组件,包括:
在所述第二主数据中心部署所述第三主实例,在所述第二备数据中心部署所述第四备实例,在所述容灾数据中心部署所述容灾实例,得到所述第三组件。
在其中一个实施例中,所述消息总线采用RoCE加速方式,所述交易系统对外接口采用Onload加速方式。
在其中一个实施例中,所述获取交易系统的目标部署方案,包括:
获取所述交易系统的部署请求,所述部署请求携带客户标识;
当根据所述客户标识查询存在与所述客户标识对应的历史部署方案时,显示所述历史部署方案,所述历史部署方案包括各个组件的历史高可用方式;
在所述历史部署方案的状态为可编辑状态时,获取对所述历史部署方案中目标组件的高可用方式的变更操作,得到所述目标组件的目标高可用方式;
根据所述目标组件的目标高可用方式,以及除所述目标组件外的其他组件的历史高可用方式,生成所述目标部署方案。
第二方面,本申请实施例提供一种交易系统的部署装置,所述装置包括:
获取模块,用于获取交易系统的目标部署方案,所述目标部署方案包括交易系统中各个组件的目标高可用方式,所述各个组件的目标高可用方式是从多种高可用方式中选择的任一种方式,所述高可用方式用于表示所述各个组件的实例的部署方式;
组件部署模块,用于根据所述各个组件的目标高可用方式在数据中心部署所述各个组件的实例,得到所述各个组件;
系统形成模块,用于根据所述各个组件形成交易系统,所述各个组件通过消息总线进行数据传输。
第三方面,本申请实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的交易系统的部署方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一项所述的交易系统的部署方法。
上述交易系统的部署方法、装置、计算机设备和存储介质,预先配置多种高可用方式,根据实际场景需求从多种高可用方式中选择得到各个组件对应的目标高可用方式,可以实现灵活地部署交易系统;通过同一条消息总线实现各个组件之间的资源和数据的共享,在进行交易系统扩容时,只用扩展交易相关的组件模块即可线性扩展系统的吞吐能力,且不降低交易系统的整体性能,从而使得交易系统的扩容更加灵活和简单。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的交易系统的部署方法,可以应用于如图1所示的应用环境中。其中,终端110通过网络与部署服务器120进行通信。终端110和部署服务器120中部署有交易系统部署平台。用户可以通过终端110进行交易系统的部署方案的创建、查询、浏览、编辑等操作、触发交易系统的部署请求、浏览交易系统的部署进度、部署结果等。
当需要进行交易系统的部署时,可以通过终端110中显示的页面触发交易系统的部署请求,部署请求中携带目标部署方案,目标部署方案包括交易系统中各个组件的目标高可用方式,各个组件的目标高可用方式是从多种高可用方式中选择的任一种方式,高可用方式用于表示各个组件的实例的部署方式。部署服务器120获取交易系统的部署请求,根据各个组件的目标高可用方式在数据中心部署各个组件的实例,得到各个组件。根据各个组件形成交易系统,各个组件通过消息总线进行数据传输。
其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,部署服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种交易系统的部署方法,以该方法应用于图1中的部署服务器为例进行说明,包括以下步骤:
步骤S210,获取交易系统的目标部署方案,目标部署方案包括交易系统中各个组件的目标高可用方式,各个组件的目标高可用方式是从多种高可用方式中选择的任一种方式,高可用方式用于表示各个组件的实例的部署方式。
其中,高可用方式是指交易系统经过专门的设计,在发生当前提供服务的服务器出现故障等情况时,可以将该服务器中的服务、资源、IP等转移到另外一台服务器上,从而满足业务的持续性的一种方式。
组件是对数据和方法的简单封装。组件可以有自己的属性和方法。属性是组件数据的简单访问者。方法则是组件的一些简单而可见的功能。例如,交易系统可以包括行情数据接入网关组件、行情数据分发服务、系统逻辑时钟源组件、集中配置/运维/监控/管理组件、时延分析统计组件、标准接入网关组件、现货交易引擎组件、现货查询引擎组件、报盘服务组件、数据交换服务组件等多个组件。
预先配置多种高可用方式,例如,主备数据中心部署方式、两地三中心容灾部署方式等。每种高可用方式表示各个组件的实例在数据中心的部署方式。例如,高可用方式为主备数据中心部署方式,则可以表示在主数据中心部署主实例,在备数据中心部署备实例。各个组件对应的高可用方式可以相同,也可以不同。在创建目标部署方案时,可以按照实际场景需求为各个组件配置相应的一种高可用方式。例如,为标准接入网关组件配置主备数据中心部署方式、为现货交易引擎配置两地三中心容灾部署方式。
具体地,部署服务器在获取终端发送的交易系统的部署请求后,获取部署请求中携带的目标部署方案。目标部署方案中包括数据中心的名称和编号、各个组件的高可用方式、各个组件的实例名称、各个组件的实例对应的IP(Internet Protocol,网际互连协议)地址等信息。
步骤S220,根据各个组件的目标高可用方式在数据中心部署各个组件的实例,得到各个组件。
具体地,部署服务器在获取目标部署方案后,根据各个组件的实例对应的IP地址信息,在数据中心中与IP地址信息对应的服务器中部署相应的实例,以得到满足目标高可用方式的各个组件。
步骤S230,根据各个组件形成交易系统,各个组件通过消息总线进行数据传输。
其中,消息总线是一种跨进程的通信机制,用于在上下游之间传递消息。消息总线扮演着一种消息路由的角色,拥有一套完备的路由机制来决定消息传输方向。发送端只需要向消息总线发出消息而不用管消息被如何转发。为了避免消息丢失,部分消息总线提供了一定的持久化存储和灾备的机制。
具体地,部署服务器在交易系统中部署消息总线,基于同一条消息总线实现各个组件之间数据的共享和交互,完成交易系统的部署。消息总线可以采用RoCE加速方式。RoCE(RDMA over Converged Ethernet)是一种允许通过以太网使用远程直接内存访问(RDMA)的网络协议。
进一步地,交易系统对外接口可以采用Onload加速方式。同时采用RoCE加速方式和Onload加速方式,可以实现吞吐量高的效果。
上述交易系统的部署方法中,预先配置多种高可用方式,根据实际场景需求从多种高可用方式中选择得到各个组件对应的目标高可用方式,可以实现灵活地部署交易系统;通过同一条消息总线实现各个组件之间的资源和数据的共享,在进行交易系统扩容时,只用扩展交易相关的组件模块即可线性扩展系统的吞吐能力,且不降低交易系统的整体性能,从而使得交易系统的扩容更加灵活和简单。
在一个实施例中,高可用方式包括单中心部署方式,单中心部署方式表示在同一数据中心部署主实例和备实例;当存在第一组件的目标高可用方式为单数据中心部署方式时,第一组件对应第一主实例和第一备实例;步骤S220,根据各个组件的目标高可用方式在数据中心中部署各个组件的实例,得到各个组件,包括:在数据中心中部署第一主实例,在数据中心中部署第一备实例,得到第一组件,第一备实例为第一主实例的备份。
其中,第一组件可以是一种组件,也可以包括多种组件。
单中心部署方式是指在一个数据中心部署一套完整的交易系统。该数据中心至少通过两台物理服务器(以下简称服务器)实现,包括主服务器和备服务器。每台服务器上运行多个实例。主服务器用于部署组件的主实例,备服务器用于部署组件的备实例。
主实例是组件的主要工作程序。备实例是主实例的备份。在单中心部署方式中,主实例与备实例采用异步传输方式传输数据。当主实例发生异常状况时,可以通过重演方式恢复主实例,或者切换至使用对应的备实例。
具体地,可以理解的是,当存在第一组件的高可用方式为单中心部署方式时,第一组件包括第一主实例和第一备实例,目标部署方案中则包括第一主实例对应的主服务器的IP地址,以及第一备实例对应的备服务器的IP地址。部署服务器根据各自对应的IP地址,将第一主实例部署至数据中心的主服务器中,将第一备实例部署至数据中心的备服务器中。
举例说明,参照图3,交易系统中的核心组件包括接入网关组件、交易引擎组件、报盘服务组件,均采用单中心部署方式。可以将接入网关组件、交易引擎组件、报盘服务组件进行合并部署,并使这些组件采用共享内存通讯方式。每个组件对应有主实例和备实例,主实例与备用实例采用异步传输方式传输数据,使得核心组件能够达到极限时延。正常情况下,通过每个组件的主实例提供服务。当三个组件中任一组件(如图3中的交易引擎组件)的主实例异常时,例如程序异常退出或者挂死,可以通过重演方式恢复该组件的主实例,从而实现零RPO(Recovery Point Objective,指的是最多可能丢失的数据的时长)。或者,切换至使用三个组件对应的备实例(即备用核心系统)。当核心组件所在主服务器故障,此主服务器上的所有程序均会故障退出,并且无法在主服务器上恢复故障的程序,此时可切换到备服务器的备实例,从而实现毫秒级RPO,分钟级切换。
本实施例中,通过配置单中心部署方式,允许部分组件采用单中心部署方式进行部署,可以实现极致低时延的效果,从而满足交易系统的高效率需求。
在一个实施例中,高可用方式包括主备数据中心部署方式;当存在第二组件的目标高可用方式为主备数据中心部署方式时,第二组件对应第二主实例和第二备实例;步骤S220,根据各个组件的目标高可用方式在数据中心中部署各个组件的实例,得到各个组件,包括:在第一主数据中心中部署第二主实例,在第一备数据中心中部署第二备实例,得到第二组件。
其中,主备数据中心部署方式也称主备双活。双活是一种节约资源的计算机灾备(Disaster Recovery)方案,实现模式是在主数据中心部署主实例,在备数据中心部署备实例,从而让主备两个数据中心都同时承担用户的业务。此时,主备两个数据中心中的实例可以互为备份,并且进行实时备份。主备数据中心部署方式下能够保证主备数据中心内各个实例数据完全一致,数据零丢失。
具体地,主备数据中心部署方式下,可以采用一主一备方案,即在同城部署第一主数据中心和第一备数据中心。第一主数据中心中包括至少一台主服务器;第一备数据中心中包括至少一台备服务器。可以理解的是,当存在第二组件的高可用方式为主备中心部署方式时,第二组件包括第二主实例和第二备实例,目标部署方案中则包括第二主实例对应的主服务器的IP地址,以及第二备实例对应的备服务器的IP地址。部署服务器根据各自对应的IP地址,将第二主实例部署至第一主数据中心的主服务器中,将第二备实例部署至第一备数据中心的备服务器中。
进一步地,主备数据中心部署方式下,还可以采用一主两备方案,即还可以在第一主数据中心部署备服务器。在这种情况下,第二组件还对应第三备实例。目标部署方案中还包括第三备实例对应的备服务器的IP地址。部署服务器根据该IP地址,将第三备实例部署至第一主数据中心的备服务器中,从而完成第二组件的部署。
继续以上述核心组件进行示例性说明。可以将接入网关组件、交易引擎组件、报盘服务组件合并部署,避免网络传输开销。接入网关组件、交易引擎组件、报盘服务组件采用主备数据中心部署方式。各个组件通过消息总线传递数据。当其中任一组件的主实例异常或服务器故障时,系统自动切换至对应的备实例。
本实施例中,通过配置主备数据中心部署方式,允许部分组件采用主备数据中心部署方式进行部署,当其中任一组件的主实例异常或服务器故障时,系统自动切换至对应的备实例,无需人工干预,实现零RPO,RTO(Recovery Time Objective,从灾难发生到整个系统恢复正常所需要的最大时长)为秒级(小于5秒),从而可以达到极致低时延的效果,满足交易系统的高效率需求。
在一个实施例中,高可用方式包括两地三中心容灾部署方式;当存在第三组件的目标高可用方式为两地三中心容灾部署方式时,第三组件对应第三主实例、第四备实例和容灾实例;步骤S220,根据各个组件对应的目标高可用方式在数据中心中部署实例,得到各个组件,包括:在第二主数据中心部署第三主实例,在第二备数据中心部署第四备实例,在容灾数据中心部署容灾实例,得到第三组件。
其中,两地三中心容灾部署方式可以表示在第一地区部署主数据中心和备数据中心,从而可以实现数据中心级的故障切换;在第二地区部署容灾数据中心,从而可以实现对第一地区的异地容灾切换。例如,在上海部署主数据中心和备数据中心;在深圳部署容灾数据中心。采用两地三中心容灾部署方式进行部署的组件采用主备灾部署,即在主数据中心部署主实例,在备数据中心部署备实例,在容灾数据中心部署容灾实例。
具体地,在两地三中心容灾部署方式下,可以在第一地区部署第二主数据中心和第二备数据中心,在第二地区部署容灾数据中心。第二主数据中心中包括至少一台主服务器;第二备数据中心包括至少一台备服务器;容灾数据中心包括至少一台容灾服务器。可以理解的是,当存在第三组件的高可用方式为两地三中心容灾部署方式时,第三组件对应第三主实例、第四备实例和容灾实例。目标部署方案中则包括第三主实例对应的主服务器的IP地址,第四备实例对应的备服务器的IP地址,容灾实例对应的容灾服务器的IP地址。部署服务器根据各自对应的IP地址,将第三主实例部署至第二主数据中心的主服务器中,将第四备实例部署至第二备数据中心的备服务器中,将容灾主实例部署至容灾数据中心的容灾服务器中,从而完成第三组件的部署。
本实施例中,通过配置两地三中心容灾部署方式,允许部分组件采用两地三中心容灾部署方式进行部署,使得组件具备数据中心级以及异地容灾的高级别高可用能力。当发生主数据中心内的程序异常或服务器故障等场景时,可以实现零RPO,RTO秒级别(小于5秒)的主备实例自动切换。当主数据中心和备数据中心均发生灾难,不能在短时间内恢复时,还可以支持手动切换到容灾数据中心,实现RPO毫秒级,RTO分钟级的切换,从而确保交易系统能够持续不间断提供服务。
在一个实施例中,如图4所示,对目标部署方案的一种配置方式进行说明。以配置方式应用于图1中的终端为例进行说明。步骤S210,获取交易系统的目标部署方案,具体可以通过以下步骤实现:
步骤S410,获取交易系统的部署请求,部署请求携带客户标识。
步骤S420,根据客户标识查询是否存在与客户标识对应的历史部署方案。
其中,客户标识可以使用客户名称(例如,公司名称)、唯一性编号等表征。历史部署方案是指已创建并保存在本地数据库或者服务器中的方案。以下以保存在本地数据库为例。历史部署方案包括数据中心的名称和编号、各个组件的历史高可用方式、各个组件的实例名称、各个组件的实例对应的IP(Internet Protocol,网际互连协议)地址等信息。
具体地,用户可以通过终端触发交易系统的部署请求,例如,点击“创建部署方案”按键。终端获取交易系统的部署请求,根据客户标识查询是否存在与客户标识对应的历史部署方案。若存在,则继续步骤S430;若不存在,则继续步骤S470。
步骤S430,显示历史部署方案。
步骤S440,响应于对历史部署方案的编辑操作,将历史部署方案的状态变更为可编辑状态。
步骤S450,获取对历史部署方案中目标组件的高可用方式的变更操作,得到目标组件的目标高可用方式。
步骤S460,根据目标组件的目标高可用方式,以及除目标组件外的其他组件的历史高可用方式,生成目标部署方案。
具体地,终端显示历史部署方案。当检测到用户对历史部署方案的编辑操作后,将历史部署方案的状态变更为可编辑状态,以使用户对其中的一个或者多个组件的历史高可用方式进行编辑。终端获取对历史部署方案中目标组件的高可用方式的变更操作,得到目标组件的目标高可用方式。例如,可以将多个高可用方式以列表、可选择按键等方式显示在各个组件对应的选择区域中。当终端检测到用户对目标组件对应的选择区域的选择操作后,获取被选择的目标高可用方式。
步骤S470,显示部署方案的生成页面,通过生成页面获取各个组件的目标高可用方式,生成目标部署方案。
具体地,当终端查询不存在与客户标识对应的历史部署方案时,可以显示部署方案的生成页面。可以将多个高可用方式以列表、可选择按键等方式显示在各个组件对应的选择区域中,以使用户选择得到各个组件的目标高可用方式。终端通过生成页面获取各个组件的目标高可用方式,并根据各个组件的目标高可用方式生成部署方案。
进一步地,用户还可以通过终端对数据中心的名称和编号、组件的实例名称、组件部署实例对应的IP地址信息等信息进行配置。
本实施例中,通过提供配置方案的部署页面,供用户对配置方案进行配置,并在配置完成后直接触发部署交易系统,从而可以实现自动化的部署,减少用户操作难度,提高交易系统部署的效率。
在以上各个实施例的基础上,上述交易系统的部署方法灵活支持多种高可用方式的组合部署,实现统一运维管理。图5示例性示出了几种高可用方式,如图5所示,高可用方式包括单中心部署方式(对应图5中的极速方案)、主备数据中心部署方式、两地三中心容灾部署方式等。可以根据不同客户的不同需求灵活选择各个组件的高可用方式,并对每个客户的部署方案进行统一的管理和资源共享。
图6(a)~6(c)示出了根据上述交易系统的部署方法进行部署得到的一种交易系统。其中,交易系统中的主数据中心(图6中的主中心)与备数据中心(图6中的备中心)组播互通,通过TCP(Transmission Control Protocol,传输控制协议)/UDP(User DatagramProtocol,用户数据报协议)连通;交易系统中的主数据中心与容灾数据中心(图6中的容灾中心)通过TCP/UDP连通。如图6(a)~6(c)所示:
主中心、备中心和容灾中心中的集中运维管理与业务管理系统包括OSS(Operation Support System,运维管理系统)、CCS(Config Center Service,集中配置服务)、AGENTSERVER(监控服务)、BSS(Business Support System,业务管理系统)、BOSGW(Business Operation System GateWay,BOS网关)、DA(Data Adapter,数据上下场)、DP(Data Persistence,数据持久化)、MD(Market Data,行情接收)组件。这些组件在主中心采用一主一备高可用部署,备中心部署一个备实例,容灾中心部署一个容灾实例。
主中心、备中心和容灾中心中的业务功能组件包括IDG(Information DataGateway,行情数据接入网关)、MDD(Market Data Distributer,行情数据分发服务)、CLOCK(系统逻辑时钟源)、DOMAINSERVER(DS,AMI的集中配置、运维、监控管理组件)、LA(LatencyAnalysis,系统时延分析统计工具)、AGW(ATP Gate Way,标准接入网关)、CTE(CashTrading Engine,现货交易引擎)、ORS(Order Routing Service,报盘服务)、COS、DXS(DataExchange Service,数据交换服务)、CQE(Cash Query Engine,现货查询引擎)、LVS组件,参照图6(a)~6(c)所示,部分组件在主中心、备中心、容灾中心三个中采用一主一备、一备和一灾的高可用方式,部分组件在三个中心采用双活、单活和一灾的高可用方式。这些组件中IDG、MD、CLOCK、DOMAINSERVER组件为所在数据中心的公共服务组件。与交易系统对接的客户周边系统,包括订单系统、上交所报盘库、深交所TGW网关、两市行情服务等系统,客户周边系统与交易系统中的组件对接若无特殊说明,均使用TCP连接。
对于交易系统中交易链路上的核心组件AGW、CTE、ORS以及周边服务的MDD、MD、COS、LVS组件,其高可用方式为一主两备一灾高可用方式,组件的主备实例实时进行数据同步,保证主备实例数据的完全一致性。AMI分布式总线负责组件主备实例的仲裁和切换,无需人工干预主备切换,因此同城主备中心的主备实例数据完全一致。组件的主灾实例实时进行数据异步同步,主灾实例数据会存在一定的时差,取决于主中心和容灾中心的网络专线距离。
对于交易系统中的IDG、DXS、CLOCK组件,在主中心中高可用方式采用双活方式,组件的两个活动实例独立运行,无数据同步。在备中心和容灾中心均采用单实例部署。
对于交易系统中的CQE组件,在主中心部署两个活动实例,在备中心部署一个活动实例,这三个实例可同时提供查询服务,以分担查询业务压力,实现负载均衡和多活高可用。在容灾中心,部署一个活动实例,作为容灾TE的从实例。
对于交易系统中的LA组件,其功能为时延统计,为客户提供系统时延指标。由于与交易业务无关,因此未采用高可用部署,如果实例运行异常,可以通过重启来恢复。
对于运维管理系统中的组件,包括OSS、CCS、AGENTSERVER组件均采用一主两备一灾高可用方式部署,主中心部署一主一备实例,备中心部署一备实例,容灾中心部署一个容灾实例。采用Nginx(一个高性能的HTTP和反向代理web服务器)结合Keepalived(交换机制软件)的方式对外提供服务。
对于业务管理系统的组件,包括BSS、DA、DP、BOSGW组件,采用一主两备一灾高可用方式部署,主中心部署一主一备实例,备中心部署一备实例,容灾中心部署一个容灾实例。其中,BSS、DA的高可用方式为Nginx结合Keepalived的方式,DP和BOSGW组件高可用方式与COS、LVS、MDD组件一致,基于AMI总线来实现主备灾的高可用。
对于AMI总线中DOMAINSERVER服务的高可用集群组件,本身提供的服务不区分主备,但为防止脑裂,它采用的是多数者的工作原则,在部署方案中通常部署奇数实例。对于本部署方案,可以在主中心采用两个活动实例的高可用部署,在备中心部署一个活动实例,主备中心的三个活动实例组成一个集群;在容灾中心中单独部署一个活动实例作为一个独立集群。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于上述所述的交易系统的部署方法实施例的描述,本公开还提供交易系统的部署装置。所述装置可以包括使用了本说明书实施例所述方法的系统(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本公开实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参见前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
在一个实施例中,如图7所示,提供了一种交易系统的部署装置700,包括:获取模块702、组件部署模块704、系统形成模块706,其中:
获取模块702,用于获取交易系统的目标部署方案,目标部署方案包括交易系统中各个组件的目标高可用方式,各个组件的目标高可用方式是从多种高可用方式中选择的任一种方式,高可用方式用于表示各个组件的实例的部署方式;组件部署模块704,用于根据各个组件的目标高可用方式在数据中心部署各个组件的实例,得到各个组件;系统形成模块706,用于根据各个组件形成交易系统,各个组件通过消息总线进行数据传输。
在一个实施例中,高可用方式包括单中心部署方式,单中心部署方式表示在同一数据中心部署主实例和备实例;当存在第一组件的目标高可用方式为单数据中心部署方式时,第一组件对应第一主实例和第一备实例;组件部署模块704,用于在数据中心中部署第一主实例,在数据中心中部署第一备实例,得到第一组件,第一备实例为第一主实例的备份,第一主实例与第一备实例采用异步传输方式传输数据,当第一主实例发生异常状况时,通过重演方式恢复第一主实例,或者切换至使用第一备实例。
在一个实施例中,高可用方式包括主备数据中心部署方式,主备数据中心部署方式表示在第一主数据中心部署主实例,在第一备数据中心部署备实例,第一主数据中心和第一备数据中心互为备份,且实时进行数据备份;当存在第二组件的目标高可用方式为主备数据中心部署方式时,第二组件对应第二主实例和第二备实例;组件部署模块704,用于在第一主数据中心中部署第二主实例,在第一备数据中心中部署第二备实例,得到第二组件。
在一个实施例中,主备数据中心部署方式还表示在第一主数据中心部署备实例,则第二组件还对应第三备实例;组件部署模块704,还用于在第一主数据中心中部署第二主实例和第三备实例,在备数据中心部署第二备实例,得到第二组件。
在一个实施例中,高可用方式包括两地三中心容灾部署方式,两地三中心容灾部署方式表示在第一地区部署第二主数据中心和第二备数据中心,在第二地区部署容灾数据中心;当存在第三组件的目标高可用方式为两地三中心容灾部署方式时,第三组件对应第三主实例、第四备实例和容灾实例;组件部署模块704,用于:在第二主数据中心部署第三主实例,在第二备数据中心部署第四备实例,在容灾数据中心部署容灾实例,得到第三组件。
在一个实施例中,消息总线采用RoCE加速方式,交易系统对外接口采用Onload加速方式。
在一个实施例中,获取模块702,包括:第一获取单元,用于获取交易系统的部署请求,部署请求携带客户标识;查询单元,用于根据客户标识查询是否存在与客户标识对应的历史部署方案;显示单元,用于在根据客户标识查询存在与客户标识对应的历史部署方案时,显示历史部署方案,历史部署方案包括各个组件的历史高可用方式;第二获取单元,用于在历史部署方案的状态为可编辑状态时,获取对历史部署方案中目标组件的高可用方式的变更操作,得到目标组件的目标高可用方式;方案生成单元,用于根据目标组件的目标高可用方式,以及除目标组件外的其他组件的历史高可用方式,生成目标部署方案。
关于交易系统的部署装置的具体限定可以参见上文中对于交易系统的部署方法的限定,在此不再赘述。上述交易系统的部署装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储目标部署方案、历史部署方案等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种交易系统的部署方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取交易系统的目标部署方案,目标部署方案包括交易系统中各个组件的目标高可用方式,各个组件的目标高可用方式是从多种高可用方式中选择的任一种方式,高可用方式用于表示各个组件的实例的部署方式;根据各个组件的目标高可用方式在数据中心部署各个组件的实例,得到各个组件;根据各个组件形成交易系统,各个组件通过消息总线进行数据传输。
在一个实施例中,高可用方式包括单中心部署方式,单中心部署方式表示在同一数据中心部署主实例和备实例;当存在第一组件的目标高可用方式为单数据中心部署方式时,第一组件对应第一主实例和第一备实例;处理器执行计算机程序时还实现以下步骤:
在数据中心中部署第一主实例,在数据中心中部署第一备实例,得到第一组件,第一备实例为第一主实例的备份,第一主实例与第一备实例采用异步传输方式传输数据,当第一主实例发生异常状况时,通过重演方式恢复第一主实例,或者切换至使用第一备实例。
在一个实施例中,高可用方式包括主备数据中心部署方式,主备数据中心部署方式表示在第一主数据中心部署主实例,在第一备数据中心部署备实例,第一主数据中心和第一备数据中心互为备份,且实时进行数据备份;当存在第二组件的目标高可用方式为主备数据中心部署方式时,第二组件对应第二主实例和第二备实例;处理器执行计算机程序时还实现以下步骤:
在第一主数据中心中部署第二主实例,在第一备数据中心中部署第二备实例,得到第二组件。
在一个实施例中,主备数据中心部署方式还表示在第一主数据中心部署备实例,则第二组件还对应第三备实例;处理器执行计算机程序时还实现以下步骤:
在第一主数据中心中部署第二主实例和第三备实例,在备数据中心部署第二备实例,得到第二组件。
在一个实施例中,高可用方式包括两地三中心容灾部署方式,两地三中心容灾部署方式表示在第一地区部署第二主数据中心和第二备数据中心,在第二地区部署容灾数据中心;当存在第三组件的目标高可用方式为两地三中心容灾部署方式时,第三组件对应第三主实例、第四备实例和容灾实例;处理器执行计算机程序时还实现以下步骤:
在第二主数据中心部署第三主实例,在第二备数据中心部署第四备实例,在容灾数据中心部署容灾实例,得到第三组件。
在一个实施例中,消息总线采用RoCE加速方式,交易系统对外接口采用Onload加速方式。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取交易系统的部署请求,部署请求携带客户标识;当根据客户标识查询存在与客户标识对应的历史部署方案时,显示历史部署方案,历史部署方案包括各个组件的历史高可用方式;在历史部署方案的状态为可编辑状态时,获取对历史部署方案中目标组件的高可用方式的变更操作,得到目标组件的目标高可用方式;根据目标组件的目标高可用方式,以及除目标组件外的其他组件的历史高可用方式,生成目标部署方案。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取交易系统的目标部署方案,目标部署方案包括交易系统中各个组件的目标高可用方式,各个组件的目标高可用方式是从多种高可用方式中选择的任一种方式,高可用方式用于表示各个组件的实例的部署方式;根据各个组件的目标高可用方式在数据中心部署各个组件的实例,得到各个组件;根据各个组件形成交易系统,各个组件通过消息总线进行数据传输。
在一个实施例中,高可用方式包括单中心部署方式,单中心部署方式表示在同一数据中心部署主实例和备实例;当存在第一组件的目标高可用方式为单数据中心部署方式时,第一组件对应第一主实例和第一备实例;计算机程序被处理器执行时还实现以下步骤:
在数据中心中部署第一主实例,在数据中心中部署第一备实例,得到第一组件,第一备实例为第一主实例的备份,第一主实例与第一备实例采用异步传输方式传输数据,当第一主实例发生异常状况时,通过重演方式恢复第一主实例,或者切换至使用第一备实例。
在一个实施例中,高可用方式包括主备数据中心部署方式,主备数据中心部署方式表示在第一主数据中心部署主实例,在第一备数据中心部署备实例,第一主数据中心和第一备数据中心互为备份,且实时进行数据备份;当存在第二组件的目标高可用方式为主备数据中心部署方式时,第二组件对应第二主实例和第二备实例;计算机程序被处理器执行时还实现以下步骤:
在第一主数据中心中部署第二主实例,在第一备数据中心中部署第二备实例,得到第二组件。
在一个实施例中,主备数据中心部署方式还表示在第一主数据中心部署备实例,则第二组件还对应第三备实例;计算机程序被处理器执行时还实现以下步骤:
在第一主数据中心中部署第二主实例和第三备实例,在备数据中心部署第二备实例,得到第二组件。
在一个实施例中,高可用方式包括两地三中心容灾部署方式,两地三中心容灾部署方式表示在第一地区部署第二主数据中心和第二备数据中心,在第二地区部署容灾数据中心;当存在第三组件的目标高可用方式为两地三中心容灾部署方式时,第三组件对应第三主实例、第四备实例和容灾实例;计算机程序被处理器执行时还实现以下步骤:
在第二主数据中心部署第三主实例,在第二备数据中心部署第四备实例,在容灾数据中心部署容灾实例,得到第三组件。
在一个实施例中,消息总线采用RoCE加速方式,交易系统对外接口采用Onload加速方式。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取交易系统的部署请求,部署请求携带客户标识;当根据客户标识查询存在与客户标识对应的历史部署方案时,显示历史部署方案,历史部署方案包括各个组件的历史高可用方式;在历史部署方案的状态为可编辑状态时,获取对历史部署方案中目标组件的高可用方式的变更操作,得到目标组件的目标高可用方式;根据目标组件的目标高可用方式,以及除目标组件外的其他组件的历史高可用方式,生成目标部署方案。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。