CN112965763B - 一种业务处理系统、方法、装置和存储介质 - Google Patents

一种业务处理系统、方法、装置和存储介质 Download PDF

Info

Publication number
CN112965763B
CN112965763B CN202110341427.8A CN202110341427A CN112965763B CN 112965763 B CN112965763 B CN 112965763B CN 202110341427 A CN202110341427 A CN 202110341427A CN 112965763 B CN112965763 B CN 112965763B
Authority
CN
China
Prior art keywords
service
external application
service execution
execution server
service request
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.)
Active
Application number
CN202110341427.8A
Other languages
English (en)
Other versions
CN112965763A (zh
Inventor
刘文森
徐浩
黄文宝
刘波
周理兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202110341427.8A priority Critical patent/CN112965763B/zh
Publication of CN112965763A publication Critical patent/CN112965763A/zh
Application granted granted Critical
Publication of CN112965763B publication Critical patent/CN112965763B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

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 And Data Communications (AREA)

Abstract

本发明实施例公开了一种业务处理系统和方法,涉及自动程序设计领域,该系统包括:节点注册管理模块、外部应用管理模块、外部应用通信模块和多个业务执行服务器;节点注册管理模块,用于为业务执行服务器分配注册信息,以及向外部应用管理模块和已注册的业务执行服务器发送注册事件;外部应用管理模块,用于更新外部应用列表,建立各主节点设备与对应的外部应用的通讯连接;外部应用通信模块,用于与多个外部应用通信;业务执行服务器,用于响应业务请求。本发明实施例提供的技术方案,通过节点注册管理模块和外部应用管理模块,对各业务执行服务器进行了有效管理,基于配置文件的主节点设备分配方式,避免了单机负载过大或单机闲置现象的发生。

Description

一种业务处理系统、方法、装置和存储介质
技术领域
本发明实施例涉及自动程序设计领域,尤其涉及一种业务处理系统、方法、装置和存储介质。
背景技术
随着计算机技术的不断进步,金融业务向多元化的方向发展,在业务数据量不断增多的同时,各金融机构间的业务往来也更加频繁,这对各金融机构的业务处理能力提出了更高要求。
现有技术中,业务处理系统与不同的外部机构的业务系统进行通信时,由于第三方协议类型众多,且业务数量较大,通常在业务处理系统内部设置多个业务执行服务器,分别用于处理与不同外部机构间的往来业务,而每台业务执行服务器,均需要通过硬编码的方式定制化开发,以实现与对应的外部机构的通信匹配。
但这样的业务处理方式,业务处理系统的开发效率较低,无法对各业务执行服务器进行有效管理和维护,常常导致部分业务执行服务器单机负载较大,部分业务执行服务器资源闲置,同时,在新增外部业务对象时,需要设置新的业务执行服务器,并重新进行开发调试,业务扩展能力极差。
发明内容
本发明实施例提供了一种业务处理系统、方法、装置和存储介质,以使当前业务处理系统实现与其它外部机构的业务往来。
第一方面,本发明实施例提供了一种业务处理系统,包括:节点注册管理模块、外部应用管理模块、外部应用通信模块和多个业务执行服务器;
所述节点注册管理模块,分别与所述多个业务执行服务器和所述外部应用管理模块通讯连接,用于根据配置文件为待注册的业务执行服务器分配注册信息,以及根据所述注册信息向所述外部应用管理模块和已注册的业务执行服务器发送注册事件;其中,所述注册信息包括网际互连协议地址、端口信息和节点信息;所述节点信息包括主节点设备和非主节点设备;
所述外部应用管理模块,分别与所述多个业务执行服务器和所述外部应用通信模块通讯连接,用于根据所述节点注册管理模块发送的注册事件,更新外部应用列表,以及根据所述外部应用列表,通过所述外部应用通信模块,建立各主节点设备与对应的外部应用的通讯连接;
所述外部应用通信模块,用于与多个外部应用通信;
所述业务执行服务器,用于响应业务请求。
所述节点注册管理模块,还用于在检测到存在故障业务执行服务器时,向所述外部应用管理模块和已注册的业务执行服务器发送故障通知;
所述外部应用管理模块,还用于根据所述节点注册管理模块发送的故障通知,判断是否需要进行主节点设备变更,并在确定需要进行主节点设备变更时,在所述外部应用列表中进行主节点设备变更。
第二方面,本发明实施例提供了一种业务处理方法,包括:
当获取到业务请求时,获取所述业务请求的请求类型;其中,所述请求类型包括上行业务请求和下行业务请求;
若所述业务请求为下行业务请求,则获取下行业务处理集群;其中,所述下行业务处理集群包括除当前业务执行服务器外的至少一个其它业务执行服务器;
将所述下行业务请求,以轮询方式发送给所述下行业务处理集群,以通过所述下行业务处理集群响应所述下行服务请求。
第三方面,本发明实施例提供了一种业务处理装置,包括:
业务请求获取模块,用于当获取到业务请求时,获取所述业务请求的请求类型;其中,所述请求类型包括上行业务请求和下行业务请求;
下行业务处理集群获取模块,用于若所述业务请求为下行业务请求,则获取下行业务处理集群;其中,所述下行业务处理集群包括除当前业务执行服务器外的至少一个其它业务执行服务器;
第一业务请求响应模块,用于将所述下行业务请求,以轮询方式发送给所述下行业务处理集群,以通过所述下行业务处理集群响应所述下行服务请求。
第四方面,本发明实施例还提供了一种业务执行服务器,所述业务执行服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的业务处理方法。
第五方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时实现本发明任意实施例所述的业务处理方法。
本发明实施例提供的技术方案,通过节点注册管理模块,基于配置文件对各业务执行服务器进行身份注册,并通过外部应用管理模块,将作为主节点设备的各业务执行服务器与对应的外部应用进行关联,进而通过外部应用通信模块,建立各主节点设备与外部应用的通讯连接,最终通过各业务执行服务器实现与外部应用的业务往来,提高了业务处理系统的开发效率,通过节点注册管理模块和外部应用管理模块,对各业务执行服务器进行了有效管理,基于配置文件的主节点设备分配方式,避免了单机负载过大或单机闲置现象的发生,同时,在新增外部业务对象时,既可以利用现有的业务执行服务器,也可以新增业务执行服务器,具有较强的业务扩展能力。
附图说明
图1A是本发明实施例一提供的一种业务处理系统的结构图;
图1B是本发明实施例一提供的一种业务处理系统的结构图;
图2A是本发明实施例二提供的一种业务处理方法的流程图;
图2B是本发明实施例二提供的一种业务处理流程图;
图3是本发明实施例三提供的一种业务处理装置的结构框图;
图4是本发明实施例四提供的一种业务执行服务器的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1A为本发明实施例一提供的一种业务处理系统,该系统可以用于处理交易业务,典型的,该业务处理系统可以作为银行等金融机构的交易业务处理系统,相应的,外部应用可以为其它金融机构的交易业务处理系统;该业务处理系统具体包括:节点注册管理模块100、外部应用管理模块200、外部应用通信模块300和多个业务执行服务器400;
所述节点注册管理模块100,分别与所述多个业务执行服务器400和所述外部应用管理模块200通讯连接,用于根据配置文件为待注册的业务执行服务器400分配注册信息,以及根据所述注册信息向所述外部应用管理模块200和已注册的业务执行服务器400发送注册事件;其中,所述注册信息包括网际互连协议(IP,Internet Protocol)地址、端口信息和节点信息;所述节点信息包括主节点设备和非主节点设备。
业务执行服务器400,是业务的具体执行方,用于响应业务请求;业务执行服务器400在启动时,会向节点注册管理模块100发出注册请求;节点注册管理模块100在获取待注册的业务执行服务器400的注册请求后,为上述待注册的业务执行服务器400分配注册信息;其中,节点信息表示该业务执行服务器400是否作为一个或多个外部应用的主节点设备,若作为一个或多个外部应用的主节点设备,则将该业务执行服务器400设定为与上述一个或多个外部应用对应的主节点设备,例如,当前业务执行服务器400作为外部应用A的主节点设备,即该业务执行服务器400的节点信息为外部应用A的主节点设备;若不作为一个或多个外部应用的主节点设备,则将该业务执行服务器400设定为非主节点设备;其中,主节点设备,用于处理对应的外部应用与当前业务处理系统之间的业务往来,以及将上述业务在当前业务处理系统内部进行分配,以通过一个或多个其它业务执行服务器400共同处理上述业务。
每个外部应用在当前业务处理系统中均存在对应的主节点设备,且一个外部应用仅能同时存在一个对应的主节点设备,一台业务执行服务器400则可以作为一个或多个外部应用的主节点设备,例如,当前业务处理系统包括50台业务执行服务器400(编号1-50),需要进行交易业务的外部应用总共有20个(编号1-20),可以将1-20号业务执行服务器400分别作为与1-20号外部应用对应的主节点设备,即外部应用与主节点设备一一对应,21-50号业务执行服务器400即为非主节点处理服务器;还比如,当前业务处理系统包括10台业务执行服务器400(编号1-10),需要进行业务交易的外部应用总共有20个(编号1-20),可以将1-10号业务执行服务器400分别作为两个外部应用的主节点业务服务器,例如,1号业务执行服务器400作为1号外部应用和2号外部应用的主节点业务服务器。
节点注册管理模块100,根据配置文件为各业务执行服务器400分配注册信息,并在为每个待注册的业务执行服务器400分配注册信息后,均向外部应用管理模块200和已注册的业务执行服务器400发送注册事件,以将上述注册信息通知外部应用管理模块200和已注册的业务执行服务器400。可选的,在本发明实施例中,所述节点注册管理模块100基于Zookeeper构建;Zookeeper是一个分布式的开放源码的分布式应用程序协调服务,为分布式应用提供了一致性服务,还提供了配置维护、域名服务、分布式同步及组服务等多种功能。
所述外部应用管理模块200,分别与所述多个业务执行服务器400和所述外部应用通信模块300通讯连接,用于根据所述节点注册管理模块100发送的注册事件,更新外部应用列表,以及根据所述外部应用列表,通过所述外部应用通信模块300,建立各主节点设备与对应的外部应用的通讯连接;所述外部应用通信模块300,用于与多个外部应用通信。外部应用管理模块200具备启动、停止和重启功能,用于控制业务处理系统与外部应用的接入服务,同时,外部应用管理模块200也可以检测连接业务处理系统的外部应用是否存在异常,并进行异常修复或断开该外部应用的接入服务。外部应用列表,列出了每个外部应用的名称以及与各外部应用分别对应的主节点设备的名称;外部应用管理模块200,在获取到节点注册管理模块100发送的注册事件,并更新外部应用列表后,根据新注册的主节点设备与外部应用的对应关系,通过外部应用通信模块300,建立各主节点设备与对应的外部应用的通讯连接。
可选的,在本发明实施例中,所述外部应用通信模块300包括至少一个处理栈;所述外部应用管理模块200,具体用于根据所述外部应用列表,通过所述外部应用通信模块300中的处理栈,建立各主节点设备与对应的外部应用的通讯连接。外部应用通信模块300除了提供了Http(Hypertext Transfer Protocol,超文本传输协议)、Sorcket(套接字)、Fix(金融信息交换,Financial Information eXchange)协议和Imix(Inter-bank MarketInformation eXchange)协议等通信协议外,还配置有多个处理栈;每个处理栈中配置有与对应的外部应用进行交互时的处理逻辑,例如,同样是进行登录和加密操作,与不同的外部应用进行通信,需要执行不同的处理逻辑,因此,通过处理栈的方式,为每个外部应用配置相应的处理逻辑,以实现与多个外部应用通信的个性化开发。
可选的,在本发明实施例中,所述外部应用通信模块300,还用于响应获取到的处理栈配置指令;所述处理栈配置指令包括处理栈操作指令和处理栈内操作指令;所述处理栈操作指令包括处理栈增加指令、处理栈删除指令和处理栈查询指令;所述处理栈内操作指令包括处理逻辑插入指令和处理逻辑删除指令。处理栈配置指令,可以对外部应用通信模块300中的处理栈的数量进行变更,而处理栈内配置指令,则可以对每个处理栈内部的处理逻辑进行变更,使得在新增外部应用时,通过对处理栈的配置,满足不同外部应用的通信需求。
可选的,在本发明实施例中,所述业务执行服务器400基于Netty构建。Netty是一个基于Java的开源框架,提供异步的、事件驱动的网络应用程序框架和工具,使得编辑完成的网络服务器和客户端程序,具有高性能和高可靠性的特点;基于Netty协议,实现了Tcp连接中数据通信的各种处理方式,包括数据转发、心跳转发、订阅和推送数据等;在本发明实施例中,多个基于Netty构建的业务执行服务器400间以全连接的方式连接,即每一台业务服务器均与其他业务服务器建立长连接,以实现各业务服务器间的数据推送,解决了集群多活服务与外部应用单点接入之间的冲突。
如图1B所示,可选的,在本发明实施例中,所述业务处理系统,还包括:业务报文解析模块;所述业务报文解析模块,与所述多个业务执行服务器400通讯连接,用于为所述多个业务执行服务器400提供报文解析;所述业务报文解析模块包括多层级映射关系;其中,所述多层级映射关系包括多个源数据与一个目标数据的映射关系。传统的报文映射中,映射关系均为一一对应,即一个源数据对应一个目标数据,而在本发明实施例中,当前业务处理系统与不同的外部应用进行通信时,不同的外部应用发送的报文请求不同,但可能对应相同的报文内容,因此,本发明实施例中,业务报文解析模块包括多层级映射关系,即不同的外部应用发送的报文请求中,源数据可能不同,但可能对应相同的报文内容。
可选的,在本发明实施例中,所述节点注册管理模块100,还用于在检测到存在故障业务执行服务器时,向所述外部应用管理模块200和已注册的业务执行服务器400发送故障通知;所述外部应用管理模块200,还用于根据所述节点注册管理模块100发送的故障通知,判断是否需要进行主节点设备变更,并在确定需要进行主节点设备变更时,在所述外部应用列表中进行主节点设备变更。节点注册管理模块100,在检测到某个业务执行服务器400存在通信故障时,即将该业务执行服务器400设定为故障业务执行服务器,并向外部应用管理模块200和已注册的业务执行服务器400发送故障通知;外部应用管理模块200在获取到该故障通知后,如果出现故障的业务执行服务器400,为一个或多个外部应用的主节点设备,表明当前业务处理系统与上述一个或多个外部应用间的业务往来会受到影响,此时,需要重新为上述一个或多个外部应用选择新的主节点设备,例如,根据IP地址就近原则,将与故障业务执行服务器的IP地址最接近的业务服务器作为上述一个或多个外部应用的主节点设备。
可选的,在本发明实施例中,所述外部应用管理模块200,具体用于在确定需要进行主节点设备变更时,根据各所述业务执行服务器400的网际互连协议地址以及各所述业务执行服务器400对应的外部应用数量,进行主节点设备变更。外部应用管理模块200中的主节点选择器,根据最小IP地址与外部应用的负载数量,选择新的主节点设备;具体的,当一个主节点设备出现故障时,根据其他业务执行服务器400所承载的外部应用的数量,选择承载外部应用最少的业务执行服务器400作为新的主节点设备,例如,如果其他业务执行服务器400中,存在非主节点设备,显然,优先选择上述非主节点设备作为新的主节点设备,以避免已有的主节点设备继续承载新的外部应用,导致单机负载过大;如果其他业务执行服务器400中,不存在非主节点设备,则选择承载外部应用的数量最少的一台业务执行服务器400(例如,业务执行服务器A作为一个外部应用的主节点设备,而其它业务执行服务器400均作为两个外部应用的主节点设备,显然,选择业务执行服务器A代替故障业务处理服务,作为对应外部应用的主节点设备);如果承载外部应用最少的业务执行服务器400存在多台时,则根据IP地址最小的原则,在上述多台业务执行服务器400中,选择新的主节点设备。
可选的,在本发明实施例中,所述外部应用管理模块200,具体用于将所述外部应用列表中,变更后的主节点设备,通过所述外部应用通信模块300,与对应的外部应用建立通讯连接。当外部应用为单点接入时,在一个外部应用对应的主节点设备出现变更后,需要将该外部应用重新接入新的主节点设备中,以通过热备接入的方式,实现业务处理系统的高可用性。
本发明实施例提供的技术方案,通过节点注册管理模块,基于配置文件对各业务执行服务器进行身份注册,并通过外部应用管理模块,将作为主节点设备的各业务执行服务器与对应的外部应用进行关联,进而通过外部应用通信模块,建立各主节点设备与外部应用的通讯连接,最终通过各业务执行服务器实现与外部应用的业务往来,提高了业务处理系统的开发效率,通过节点注册管理模块和外部应用管理模块,对各业务执行服务器进行了有效管理,基于配置文件的主节点设备分配方式,避免了单机负载过大或单机闲置现象的发生,同时,在新增外部业务对象时,可以利用现有的业务执行服务器,也可以新增业务执行服务器,具有较强的业务扩展能力。
实施例二
图2A为本发明实施例二提供的一种业务处理方法的流程,本实施例可适用于业务执行服务器响应业务请求,该方法可以由本发明实施例中的业务处理装置来执行,该装置可以通过软件和/或硬件实现,并集成在实施例一中的业务执行服务器中,该方法具体包括如下步骤:
S210、当获取到业务请求时,获取所述业务请求的请求类型;其中,所述请求类型包括上行业务请求和下行业务请求。
上行业务请求,为当前业务处理系统发送给外部应用的请求信息;下行业务请求,为外部应用发送给当前业务处理系统的请求信息。
S220、若所述业务请求为下行业务请求,则获取下行业务处理集群;其中,所述下行业务处理集群包括除当前业务执行服务器外的至少一个其它业务执行服务器。
S230、将所述下行业务请求,以轮询方式发送给所述下行业务处理集群,以通过所述下行业务处理集群响应所述下行服务请求。
外部应用在接入业务处理系统时,通过外部应用管理模块和外部应用通信模块,只与对应的主节点设备建立有通讯连接关系,因此,如果业务请求为外部应用发送的下行业务请求,表明当前业务执行服务器即为发出该下行业务请求的外部应用的主节点设备;为了提高下行业务请求的处理效率,将当前业务执行服务器外的一个或多个其它业务执行服务器,作为下行业务处理集群,当前业务执行服务器以轮询方式,将下行业务请求发送给下行业务处理集群中的各业务执行服务器,以通过当前业务执行服务器和下行业务处理集群共同处理下行服务请求。
特别的,下行业务处理集群中除当前业务执行服务器外的至少一个其它业务执行服务器,可以包括其它主节点设备,也可以包括非主节点设备;以上述技术方案为例,当前业务处理系统包括50台业务执行服务器(编号1-50),1-20号业务执行服务器分别作为与20个外部应用对应的主节点设备,此时可将其余30台非主节点设备均加入上述下行业务处理集群中,即由当前业务执行服务器发起轮询,通过总共通过31台业务执行服务器共同响应上述下行业务请求;仍以上述技术方案为例,如果当前业务处理系统包括10台业务执行服务器,需要进行业务交易的外部应用总共有20个,1-10号业务执行服务器分别作为两个外部应用的主节点业务服务器,此时,将除当前业务执行服务器外的其余所有主节点设备均加入下行业务处理集群中,即由当前业务执行服务器发起轮询,通过总共10台业务执行服务器共同响应上述下行业务请求。
可选的,在本发明实施例中,在获取所述业务请求的请求类型后,还包括:若所述业务请求为上行业务请求,则根据所述上行业务请求,确定对应的目标外部应用;获取与所述目标外部应用匹配的目标主节点设备,并判断所述目标主节点设备是否为当前业务执行服务器;若所述目标主节点设备不为当前业务执行服务器,则将所述上行业务请求,发送至所述目标主节点设备,以通过所述目标主节点设备和所述外部应用通信模块,将所述上行业务请求发送至所述目标外部应用;若所述目标主节点设备为当前业务执行服务器,则将所述上行业务请求,通过所述外部应用通信模块,将所述上行业务请求发送至所述目标外部应用。
各个业务执行服务器间为全连接状态,即每台业务执行服务器均与其它业务执行服务器间建设有长连接通道,例如,上述技术方案中,基于Netty构建的各业务执行服务器之间具备了长连接通道;因此,在获取到上行服务请求,且确定目标主节点设备不为当前业务执行服务器时,可通过上述长连接通道,将上行服务请求发送给对应的目标外部应用;以基于Netty构建的各业务执行服务器为例,如2B所示,当前业务执行服务器为业务执行服务器B时,业务执行服务器B在获取到上行业务请求后,通过Netty服务端将上行业务请求发送给目标主节点设备(即业务执行服务器A)的Netty客户端,业务执行服务器A获取到上行业务请求后,通过Netty客户端发送给目标外部应用。若所述目标主节点设备为当前业务执行服务器,则将所述上行业务请求,通过所述外部应用通信模块,将所述上行业务请求直接发送至所述目标外部应用,如图2B中,当前业务执行服务器为业务执行服务器A时,在获取到上行业务请求后,通过Netty客户端直接发送给目标外部应用。
本发明实施例提供的技术方案,作为主节点设备的当前业务执行服务器,获取到下行业务请求时,以轮询方式将下行业务请求,发送给下行业务处理集群,以通过下行业务处理集群共同处理下行服务请求,提高了业务请求的处理效率,避免了单机负载过大或单机闲置现象的发生。
实施例三
图3是本发明实施例三所提供的一种业务处理装置的结构框图,该装置具体包括:业务请求获取模块310、下行业务处理集群获取模块320和第一业务请求响应模块330。
业务请求获取模块310,用于当获取到业务请求时,获取所述业务请求的请求类型;其中,所述请求类型包括上行业务请求和下行业务请求;
下行业务处理集群获取模块320,用于若所述业务请求为下行业务请求,则获取下行业务处理集群;其中,所述下行业务处理集群包括除当前业务执行服务器外的至少一个其它业务执行服务器;
第一业务请求响应模块330,用于将所述下行业务请求,以轮询方式发送给所述下行业务处理集群,以通过所述下行业务处理集群响应所述下行服务请求。
本发明实施例提供的技术方案,作为主节点设备的当前业务执行服务器,获取到下行业务请求时,以轮询方式将下行业务请求,发送给下行业务处理集群,以通过下行业务处理集群共同处理下行服务请求,提高了业务请求的处理效率,避免了单机负载过大或单机闲置现象的发生。
可选的,在上述技术方案的基础上,业务处理装置,还包括:
目标外部应用获取模块,用于若所述业务请求为上行业务请求,则根据所述上行业务请求,确定对应的目标外部应用;
主节点设备判断模块,用于获取与所述目标外部应用匹配的目标主节点设备,并判断所述目标主节点设备是否为当前业务执行服务器;
第二业务请求响应模块,用于若所述目标主节点设备不为当前业务执行服务器,则将所述上行业务请求,发送至所述目标主节点设备,以通过所述目标主节点设备和所述外部应用通信模块,将所述上行业务请求发送至所述目标外部应用。
可选的,在上述技术方案的基础上,业务处理装置,还包括:
第三业务请求响应模块,用于若所述目标主节点设备为当前业务执行服务器,则将所述上行业务请求,通过所述外部应用通信模块,将所述上行业务请求发送至所述目标外部应用。
上述装置可执行本发明任意实施例所提供的业务处理方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的方法。
实施例四
图4为本发明实施例四提供的一种业务执行服务器的结构示意图。图4示出了适于用来实现本发明实施方式的示例性业务执行服务器12的框图。图4显示的业务执行服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,业务执行服务器12以通用计算设备的形式表现。业务执行服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,存储器28,连接不同系统组件(包括存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
业务执行服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被业务执行服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。业务执行服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
业务执行服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该业务执行服务器12交互的设备通信,和/或与使得该业务执行服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,业务执行服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与业务执行服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合业务执行服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的业务处理方法。也即:当获取到业务请求时,获取所述业务请求的请求类型;其中,所述请求类型包括上行业务请求和下行业务请求;若所述业务请求为下行业务请求,则获取下行业务处理集群;其中,所述下行业务处理集群包括除当前业务执行服务器外的至少一个其它业务执行服务器;将所述下行业务请求,以轮询方式发送给所述下行业务处理集群,以通过所述下行业务处理集群响应所述下行服务请求。
实施例五
本发明实施例五还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的业务处理方法;该方法包括:
当获取到业务请求时,获取所述业务请求的请求类型;其中,所述请求类型包括上行业务请求和下行业务请求;
若所述业务请求为下行业务请求,则获取下行业务处理集群;其中,所述下行业务处理集群包括除当前业务执行服务器外的至少一个其它业务执行服务器;
将所述下行业务请求,以轮询方式发送给所述下行业务处理集群,以通过所述下行业务处理集群响应所述下行服务请求。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (7)

1.一种业务处理系统,其特征在于,包括:节点注册管理模块、外部应用管理模块、业务报文解析模块、外部应用通信模块和多个业务执行服务器;
所述节点注册管理模块,分别与所述多个业务执行服务器和所述外部应用管理模块通讯连接,用于根据配置文件为待注册的业务执行服务器分配注册信息,以及根据所述注册信息向所述外部应用管理模块和已注册的业务执行服务器发送注册事件;其中,所述注册信息包括网际互连协议地址、端口信息和节点信息;所述节点信息包括主节点设备和非主节点设备;
所述外部应用管理模块,分别与所述多个业务执行服务器和所述外部应用通信模块通讯连接,用于根据所述节点注册管理模块发送的注册事件,更新外部应用列表,以及根据所述外部应用列表,通过所述外部应用通信模块,建立各主节点设备与对应的外部应用的通讯连接;
所述外部应用通信模块,用于与多个外部应用通信;
所述业务执行服务器,用于响应业务请求;
所述外部应用通信模块包括至少一个处理栈;
所述外部应用管理模块,具体用于根据所述外部应用列表,通过所述外部应用通信模块中的处理栈,建立各主节点设备与对应的外部应用的通讯连接;
所述外部应用通信模块,还用于响应获取到的处理栈配置指令;所述处理栈配置指令包括处理栈操作指令和处理栈内操作指令;
所述处理栈操作指令包括处理栈增加指令、处理栈删除指令和处理栈查询指令;所述处理栈内操作指令包括处理逻辑插入指令和处理逻辑删除指令;
所述节点注册管理模块基于Zookeeper构建;
所述业务执行服务器基于Netty构建;
所述业务报文解析模块,与所述多个业务执行服务器通讯连接,用于为所述多个业务执行服务器提供报文解析;
所述业务报文解析模块包括多层级映射关系;其中,所述多层级映射关系包括多个源数据与一个目标数据的映射关系;
所述节点注册管理模块,还用于在检测到存在故障业务执行服务器时,向所述外部应用管理模块和已注册的业务执行服务器发送故障通知;
所述外部应用管理模块,还用于根据所述节点注册管理模块发送的故障通知,判断是否需要进行主节点设备变更,并在确定需要进行主节点设备变更时,在所述外部应用列表中进行主节点设备变更;
所述外部应用管理模块,具体用于在确定需要进行主节点设备变更时,根据各所述业务执行服务器的网际互连协议地址以及各所述业务执行服务器对应的外部应用数量,进行主节点设备变更;
所述外部应用管理模块,具体用于将所述外部应用列表中,变更后的主节点设备,通过所述外部应用通信模块,与对应的外部应用建立通讯连接。
2.一种业务处理方法,其特征在于,应用于权利要求1所述的业务执行服务器中,包括:
当获取到业务请求时,获取所述业务请求的请求类型;其中,所述请求类型包括上行业务请求和下行业务请求;
若所述业务请求为下行业务请求,则获取下行业务处理集群;其中,所述下行业务处理集群包括除当前业务执行服务器外的至少一个其它业务执行服务器;
将所述下行业务请求,以轮询方式发送给所述下行业务处理集群,以通过所述下行业务处理集群响应所述下行业务请求。
3.根据权利要求2所述的方法,其特征在于,在获取所述业务请求的请求类型后,还包括:
若所述业务请求为上行业务请求,则根据所述上行业务请求,确定对应的目标外部应用;
获取与所述目标外部应用匹配的目标主节点设备,并判断所述目标主节点设备是否为当前业务执行服务器;
若所述目标主节点设备不为当前业务执行服务器,则将所述上行业务请求,发送至所述目标主节点设备,以通过所述目标主节点设备和所述外部应用通信模块,将所述上行业务请求发送至所述目标外部应用。
4.根据权利要求3所述的方法,其特征在于,在判断所述目标主节点设备是否为当前业务执行服务器后,还包括:
若所述目标主节点设备为当前业务执行服务器,则将所述上行业务请求,通过所述外部应用通信模块,将所述上行业务请求发送至所述目标外部应用。
5.一种业务处理装置,其特征在于,应用于权利要求1所述的业务执行服务器中,包括:
业务请求获取模块,用于当获取到业务请求时,获取所述业务请求的请求类型;其中,所述请求类型包括上行业务请求和下行业务请求;
下行业务处理集群获取模块,用于若所述业务请求为下行业务请求,则获取下行业务处理集群;其中,所述下行业务处理集群包括除当前业务执行服务器外的至少一个其它业务执行服务器;
第一业务请求响应模块,用于将所述下行业务请求,以轮询方式发送给所述下行业务处理集群,以通过所述下行业务处理集群响应所述下行业务请求。
6.一种业务执行服务器,其特征在于,所述业务执行服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求2-4中任一所述的业务处理方法。
7.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求2-4中任一所述的业务处理方法。
CN202110341427.8A 2021-03-30 2021-03-30 一种业务处理系统、方法、装置和存储介质 Active CN112965763B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110341427.8A CN112965763B (zh) 2021-03-30 2021-03-30 一种业务处理系统、方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110341427.8A CN112965763B (zh) 2021-03-30 2021-03-30 一种业务处理系统、方法、装置和存储介质

Publications (2)

Publication Number Publication Date
CN112965763A CN112965763A (zh) 2021-06-15
CN112965763B true CN112965763B (zh) 2023-08-22

Family

ID=76279664

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110341427.8A Active CN112965763B (zh) 2021-03-30 2021-03-30 一种业务处理系统、方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN112965763B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108234670A (zh) * 2018-01-31 2018-06-29 北京中安智达科技有限公司 一种基于zookeeper和netty的分布式远程调用方法
CN110311867A (zh) * 2019-07-02 2019-10-08 江苏满运软件科技有限公司 应用模块化管理方法、装置、电子设备、存储介质
CN112114979A (zh) * 2020-08-31 2020-12-22 厦门安胜网络科技有限公司 远程过程调用方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108234670A (zh) * 2018-01-31 2018-06-29 北京中安智达科技有限公司 一种基于zookeeper和netty的分布式远程调用方法
CN110311867A (zh) * 2019-07-02 2019-10-08 江苏满运软件科技有限公司 应用模块化管理方法、装置、电子设备、存储介质
CN112114979A (zh) * 2020-08-31 2020-12-22 厦门安胜网络科技有限公司 远程过程调用方法和装置

Also Published As

Publication number Publication date
CN112965763A (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
WO2017140131A1 (zh) 数据写入、读取方法及装置、云存储系统
US8001214B2 (en) Method and system for processing a request sent over a network
CN111460129B (zh) 标识生成的方法、装置、电子设备和存储介质
US9390156B2 (en) Distributed directory environment using clustered LDAP servers
CN114172966B (zh) 单元化架构下的服务调用方法、服务处理方法及装置
CN111343262B (zh) 分布式集群登录方法、装置、设备和存储介质
CN111600957A (zh) 文件传输方法、装置、系统和电子设备
WO2022111313A1 (zh) 一种请求处理方法及微服务系统
US11784905B2 (en) Method and apparatus for ensuring continued device operational reliability in cloud-degraded mode
CN110633046A (zh) 一种分布式系统的存储方法、装置、存储设备及存储介质
JPWO2012063301A1 (ja) 計算機システム、マルチテナント制御方法及びマルチテナント制御プログラム
CN116599855A (zh) 数据传输方法、系统、电子设备及存储介质
CN109445966B (zh) 事件处理方法、装置、介质和计算设备
CN112965763B (zh) 一种业务处理系统、方法、装置和存储介质
WO2022199206A1 (zh) 用于虚拟机的内存共享方法及装置
CN114331445A (zh) 用于海量用户接入的api接口、方法、存储介质及电子设备
CN110324425B (zh) 混合云交易路由处理方法及装置
US10637924B2 (en) Cloud metadata discovery API
CN109309583B (zh) 基于分布式系统的信息获取方法、装置、电子设备和介质
CN109614242B (zh) 一种计算能力共享方法、装置、设备及介质
CN115250276A (zh) 分布式系统及数据处理的方法和装置
CN113676502B (zh) 应用服务访问方法、装置及存储介质
CN112788074B (zh) 数据发送方法、处理方法、接收方法及其设备、存储介质
US11836545B1 (en) Integration of cloud entities in an event architecture
US11928044B1 (en) Batching event data in an event-driven architecture

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