CN114463124A - 系统服务处理方法、装置、系统与计算机可读存储介质 - Google Patents

系统服务处理方法、装置、系统与计算机可读存储介质 Download PDF

Info

Publication number
CN114463124A
CN114463124A CN202111683177.2A CN202111683177A CN114463124A CN 114463124 A CN114463124 A CN 114463124A CN 202111683177 A CN202111683177 A CN 202111683177A CN 114463124 A CN114463124 A CN 114463124A
Authority
CN
China
Prior art keywords
service
online
fault
service set
type
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.)
Pending
Application number
CN202111683177.2A
Other languages
English (en)
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.)
Shenzhen Lihai Hongjin Technology Co ltd
Original Assignee
Shenzhen Lihai Hongjin Technology 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 Shenzhen Lihai Hongjin Technology Co ltd filed Critical Shenzhen Lihai Hongjin Technology Co ltd
Priority to CN202111683177.2A priority Critical patent/CN114463124A/zh
Publication of CN114463124A publication Critical patent/CN114463124A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Quality & Reliability (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种系统服务处理方法、装置、系统与计算机可读存储介质,该方法包括:在接收到服务的注册指令时,通过主控服务集合对所述服务进行注册和上线,并更新在线服务集合,将所述服务与所述在线服务集合进行连接握手;在检测到所述在线服务集合发生故障时,确定所述故障的类型,并根据故障的类型,进行故障处理。本发明通过对服务进行注册和上线,并更新在线服务集合,将服务与在线服务集合进行连接握手,并在在线服务集合发生故障时,根据故障的类型,进行故障处理,提高了证券交易系统的实用性。

Description

系统服务处理方法、装置、系统与计算机可读存储介质
技术领域
本发明涉及金融科技技术领域,尤其涉及系统服务处理方法、装置、系统与计算机可读存储介质。
背景技术
当前的证券交易系统均由传统的PB系统改造而来,当前的证券交易系统使用传统单体架构,并且只支持服务的冷备方案和非内存交易,使得当前的证券交易系统发生故障时容易造成数据丢失,导致证券交易系统的实用性较低。
因此,如何提高证券交易系统的实用性,是急需解决的问题。
发明内容
本发明的主要目的在于提出一种系统服务处理方法、装置、系统与计算机可读存储介质,旨在解决如何提高证券交易系统的实用性的问题。
为实现上述目的,本发明提供一种系统服务处理方法,所述系统服务处理方法包括如下步骤:
在接收到服务的注册指令时,通过主控服务集合对所述服务进行注册和上线,并更新在线服务集合,将所述服务与所述在线服务集合进行连接握手;
在检测到所述在线服务集合发生故障时,确定所述故障的类型,并根据故障的类型,进行故障处理。
优选地,通过主控服务集合对所述服务进行注册和上线,并更新在线服务集合,将所述服务与所述在线服务集合进行连接握手的步骤包括:
通过主控服务集合获取所述服务对应的通证编码,对所述通证编码进行校验,根据校验结果对所述服务进行注册和上线,并根据所述服务更新在线服务集合;
通过所述主控服务集合向所述服务推送所述在线服务集合,并根据所述服务和所述在线服务集合中每个在线服务的对应的通证编码,将所述服务与所述在线服务集合进行连接握手。
优选地,更新在线服务集合的步骤包括:
通过所述主控服务集合接收所述在线服务集合中每个在线服务的心跳信号,并根据所述心跳信号对对应在线服务的状态和心跳时间进行更新;
通过所述主控服务集合根据预设时间周期对所述在线服务集合进行遍历,将当前时间与所述在线服务集合中每个在线服务的最新心跳时间进行对比,并根据对比结果对所述在线服务集合进行更新。
优选地,确定所述故障的类型,并根据故障的类型,进行故障处理的步骤包括:
确定所述故障类型为主控服务集合中的某个主控服务发生故障时,通过所述主控服务集合中未发生故障的主控服务对所述在线服务集合的状态进行同步,并对发生故障的主控服务进行复位;
当发生故障的主控服务复位成功后,将所述主控服务集合中未发生故障的主控服务中同步的所述在线服务集合的状态同步到复位后的主控服务中。
优选地,确定所述故障的类型,并根据故障的类型,进行故障处理的步骤还包括:
确定所述故障类型为网关服务集合中的某个网关服务发生故障时,根据预设规则,通过所述网关服务集合中的另一网关服务从缓存模块中读取发生故障的网关服务对应的路由关系信息,并根据所述路由关系信息连接对应的客户端,以将所述客户端的请求数据转发到指定的在线服务。
优选地,确定所述故障的类型,并根据故障的类型,进行故障处理的步骤还包括:
确定所述故障类型为业务服务集合中的某个业务服务发生故障时,获取发生故障的业务服务的服务类型,基于所述服务类型,在所述业务服务集合中确定另一业务服务;
将发生故障的业务服务中的账户信息发送到所述另一业务服务,通过所述另一业务服务对所述账户信息对应的账户进行业务接管。
优选地,在接收到服务的注册指令时,通过主控服务集合对所述服务进行注册和上线,并更新在线服务集合,将所述服务与所述在线服务集合进行连接握手的步骤之后,包括:
在接收到服务请求指令时,获取所述服务请求指令对应的服务请求数据,并将所述服务请求数据存储到内存模块中;
获取所述服务请求指令对应的服务请求类型,基于所述服务请求类型,在所述在线服务集合中选择对应的在线服务,并通过所述在线服务获取所述内存模块中的所述服务请求数据,以对所述服务请求数据进行处理。
此外,为实现上述目的,本发明还提供一种系统服务处理装置,所述系统服务处理装置包括:
接收模块,用于在接收到服务的注册指令时,通过主控服务集合对所述服务进行注册和上线,并更新在线服务集合,将所述服务与所述在线服务集合进行连接握手;
检测模块,用于在检测到所述在线服务集合发生故障时,确定所述故障的类型,并根据故障的类型,进行故障处理。
进一步地,所述接收模块还包括校验模块,所述校验模块用于:
通过主控服务集合获取所述服务对应的通证编码,对所述通证编码进行校验,根据校验结果对所述服务进行注册和上线,并根据所述服务更新在线服务集合;
通过所述主控服务集合向所述服务推送所述在线服务集合,并根据所述服务和所述在线服务集合中每个在线服务的对应的通证编码,将所述服务与所述在线服务集合进行连接握手。
进一步地,所述接收模块还包括更新模块,所述更新模块用于:
通过所述主控服务集合接收所述在线服务集合中每个在线服务的心跳信号,并根据所述心跳信号对对应在线服务的状态和心跳时间进行更新;
通过所述主控服务集合根据预设时间周期对所述在线服务集合进行遍历,将当前时间与所述在线服务集合中每个在线服务的最新心跳时间进行对比,并根据对比结果对所述在线服务集合进行更新。
进一步地,所述检测模块还用于:
确定所述故障类型为主控服务集合中的某个主控服务发生故障时,通过所述主控服务集合中未发生故障的主控服务对所述在线服务集合的状态进行同步,并对发生故障的主控服务进行复位;
当发生故障的主控服务复位成功后,将所述主控服务集合中未发生故障的主控服务中同步的所述在线服务集合的状态同步到复位后的主控服务中。
进一步地,所述检测模块还用于:
确定所述故障类型为网关服务集合中的某个网关服务发生故障时,根据预设规则,通过所述网关服务集合中的另一网关服务从缓存模块中读取发生故障的网关服务对应的路由关系信息,并根据所述路由关系信息连接对应的客户端,以将所述客户端的请求数据转发到指定的在线服务。
进一步地,所述检测模块还用于:
确定所述故障类型为业务服务集合中的某个业务服务发生故障时,获取发生故障的业务服务的服务类型,基于所述服务类型,在所述业务服务集合中确定另一业务服务;
将发生故障的业务服务中的账户信息发送到所述另一业务服务,通过所述另一业务服务对所述账户信息对应的账户进行业务接管。
进一步地,所述接收模块还包括获取模块,所述获取模块用于:
在接收到服务请求指令时,获取所述服务请求指令对应的服务请求数据,并将所述服务请求数据存储到内存模块中;
获取所述服务请求指令对应的服务请求类型,基于所述服务请求类型,在所述在线服务集合中选择对应的在线服务,并通过所述在线服务获取所述内存模块中的所述服务请求数据,以对所述服务请求数据进行处理。
此外,为实现上述目的,本发明还提供一种系统服务处理系统,所述系统服务处理系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的系统服务处理程序,所述系统服务处理程序被所述处理器执行时实现如上所述的系统服务处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有系统服务处理程序,所述系统服务处理程序被处理器执行时实现如上所述的系统服务处理方法的步骤。
本发明提出的系统服务处理方法,在接收到服务的注册指令时,通过主控服务集合对所述服务进行注册和上线,并更新在线服务集合,将所述服务与所述在线服务集合进行连接握手;在检测到所述在线服务集合发生故障时,确定所述故障的类型,并根据故障的类型,进行故障处理。本发明通过对服务进行注册和上线,并更新在线服务集合,将服务与在线服务集合进行连接握手,并在在线服务集合发生故障时,根据故障的类型,进行故障处理,使得证券交易系统发生故障时具有高可用性,进而提高了证券交易系统的实用性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明系统服务处理方法第一实施例的流程示意图;
图3为本发明证券服务系统的微服务架构示意图;
图4为本发明服务注册和上线以及新在线服务集合流程示意图;
图5为本发明服务连接握手流程示意图;
图6为本发明网关服务故障处理第一流程示意图;
图7为本发明网关服务故障处理第二流程示意图;
图8为本发明业务服务故障处理流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例设备可以是PC机或服务器设备。
如图1所示,该设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及系统服务处理程序。
其中,操作系统是管理和控制便携系统服务处理设备与软件资源的程序,支持网络通信模块、用户接口模块、系统服务处理程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
在图1所示的系统服务处理设备中,所述系统服务处理设备通过处理器1001调用存储器1005中存储的系统服务处理程序,并执行下述系统服务处理方法各个实施例中的操作。
基于上述硬件结构,提出本发明系统服务处理方法实施例。
参照图2,图2为本发明系统服务处理方法第一实施例的流程示意图,所述方法包括:
步骤S10,在接收到服务的注册指令时,通过主控服务集合对所述服务进行注册和上线,并更新在线服务集合,将所述服务与所述在线服务集合进行连接握手;
步骤S20,在检测到所述在线服务集合发生故障时,确定所述故障的类型,并根据故障的类型,进行故障处理。
本实施例系统服务处理方法运用于证券金融机构中的证券交易系统中,证券交易系统可以应用在终端或PC设备,本发明的证券交易系统采用微服务架构,可以提高证券交易系统的可扩展性,为描述方便,以证券交易系统为例进行描述;证券交易系统在接收到服务的注册指令时,通过主控服务集合获取服务对应的通证编码,对通证编码进行校验,根据校验结果对服务进行注册和上线,并根据服务更新在线服务集合;证券交易系统通过主控服务集合向服务推送在线服务集合,并根据服务和在线服务集合中每个在线服务的对应的通证编码,将服务与所述在线服务集合进行连接握手。证券交易系统在检测到在线服务集合发生故障时,确定故障的类型,并根据故障的类型,进行故障处理。需要说明的是,微服务架构是一种架构风格,它将一个复杂的应用拆分成多个独立自治的服务,服务与服务间通过松耦合的形式交互;证券交易系统采用的微服务架构如图3所示,微服务架构中的服务可包括客户端(量化交易端、资关系统客户端、运营系统客户端、统一对外接口等)、数据传输服务(地址分发服务、tcp、tcpserver等)、主控服务(master,多个主控服务)、网关服务(gateway,多个网关服务)、业务服务(交易中台、同一柜台接入、柜台)和数据存储服务(数据库主从、redis集群、文件系统)等,其中,主控服务,可多实例部署,主要提供服务注册与发现功能;数据传输服务主要是给客户端提供服务发现功能,客户端通过tcpserver获取网关的ip端口;gateway为网关服务,可多实例部署,主要是作用是连接客户端与业务服务,包括会话管理,登录管理,消息转发等功能;业务服务,可多实例部署,主要处理各自的业务(业务服务还可包括其他业务类型的服务,图3中主要以算法货架服务、目标智能服务、同步服务、自动撤补单服务、订单管理中心服务、储存服务、目标均衡服务、管理平台服务和查询服务为例);数据存储服务主要是用于缓存和数据共享,高可用依赖于redis的数据共享,通过微服务架构搭建证券交易系统,可以提高证券交易系统的可扩展性。
本实施例的系统服务处理方法,在接收到服务的注册指令时,通过主控服务集合对服务进行注册和上线,并更新在线服务集合,将服务与在线服务集合进行连接握手;在检测到在线服务集合发生故障时,确定故障的类型,并根据故障的类型,进行故障处理。本发明通过对服务进行注册和上线,并更新在线服务集合,将服务与在线服务集合进行连接握手,并在在线服务集合发生故障时,根据故障的类型,进行故障处理,使得证券交易系统发生故障时具有高可用性,进而提高了证券交易系统的实用性。
以下将对各个步骤进行详细说明:
步骤S10,在接收到服务的注册指令时,通过主控服务集合对所述服务进行注册和上线,并更新在线服务集合,将所述服务与所述在线服务集合进行连接握手;
在本实施例中,证券交易系统在接收到服务的注册指令时,可以确定服务启动成功,将服务的注册指令发送到主控服务集合中,主控服务集合中包括多个主控服务,每个主控服务都能接受到服务的注册指令,可选地,通过选举出主控服务集合中的一个主控服务,通过该主控服务对注册指令对应的服务进行注册和上线,无论注册和上限是否成功,都将结果发送到其他主控服务中,以使每个主控服务的获取的信息能够同步;在主控服务完成对该服务的注册和上线后,需要将该服务加入在线服务集合中,以更新在线服务集合,并将更新后的在线服务集合对应的在线服务列表发送到在线服务集合中的每个在线服务中,每个在线服务接收到更新后的在线服务列表后,与在线服务列表中未进行连接握手的在线服务进行连接握手。可以理解的是,更新后的在线服务集合中包括该注册指令对应的服务。
具体地,步骤S10包括:
步骤a,通过主控服务集合获取所述服务对应的通证编码,对所述通证编码进行校验,根据校验结果对所述服务进行注册和上线,并根据所述服务更新在线服务集合;
在该步骤中,证券交易系统通过主控服务集合获取注册指令的服务对应的通证编码,对通证编码进行校验,根据校验结果对服务进行注册和上线,并根据服务更新在线服务集合;如:主控服务集合接收到注册指令后,获取注册指令对应的服务的通证编码,并对通证编码进行校验,判断通证编码是否符合证券交易系统的通证编码规则,若不符合,则校验失败,从服务的会话列表找对应的会话信息,如果没找到则直接关闭此连接,不用应答,注册流程结束;如果找到了则添加到延时关闭队列,此时该服务位于演示关闭队列中,也是可以进行对应的服务的,可以理解为该服务已经完成注册和上线;若符合,则校验成功,主控服务将该服务的状态更新到redis集群,并返回注册结果给该服务,在该服务注册和上线成功后,主控服务将该服务加入到在线服务集合中,以更新在线服务列表。
具体地,如图4所示,server代表需要注册和上线的服务,master代表主控服务集合中的某个主控服务,服务在启动后,连接主控服务,将注册指令发送到主控服务中,主控服务在接收到注册指令时,校验服务的token(通证编码)、type(服务类型)和serverid(服务编码),当校验成功后,主控服务将该服务的状态更新到redis集群,并返回注册结果给服务,并向服务推送在线服务集合对应的在线服务列表,以便于服务与在线服务进行后续的连接握手的步骤。
步骤b,通过所述主控服务集合向所述服务推送所述在线服务集合,并根据所述服务和所述在线服务集合中每个在线服务的对应的通证编码,将所述服务与所述在线服务集合进行连接握手。
在该步骤中,证券交易系统通过主控服务集合向服务推送在线服务集合的在线服务列表,并根据服务和在线服务列表中每个在线服务的对应的通证编码,将服务与在线服务集合进行连接握手;如:本服务接收到主控服务推送的在线服务列表,将本服务的通证编码和在线服务列表中每个在线服务的通证编码进行对比,若本服务的通证编码大于在线服务的通证编码,则在线服务作为客户端主动去连接本服务,若本服务的通证编码小于在线服务的通证编码,则本服务作为客户端主动去连接在线服务;本服务在连接上所有的在线服务后,向所有的在线服务发送登录消息,并上报本服务的token(通证编码)、type(服务类型)和serverid(服务编码),在线服务对本服务的token(通证编码)、type(服务类型)和serverid(服务编码)进行校验,校验成功则握手成功,并更新本服务的服务状态。
具体地,如图5所示,clent代表本服务,server代表在线服务,本服务接收到主控服务推送的在线服务列表,并检测在线服务列表中的本服务需要连接的在线服务,向对应的在线服务发送连接请求,或接收在线服务发送的连接请求,进而使得本服务与在线服务进行连接,连接成功后,本服务向在线服务发送登录消息,并上报本服务的token(通证编码)、type(服务类型)和serverid(服务编码),在线服务对本服务的token(通证编码)、type(服务类型)和serverid(服务编码)进行校验,校验成功则握手成功,并更新本服务的服务状态。
进一步地,更新在线服务集合的步骤包括:
步骤c,通过所述主控服务集合接收所述在线服务集合中每个在线服务的心跳信号,并根据所述心跳信号对对应在线服务的状态和心跳时间进行更新;
在该步骤中,证券交易系统通过主控服务集合接收在线服务集合中每个在线服务的心跳信号,并根据心跳信号对对应在线服务的状态和心跳时间进行更新;如:如图4所示,在图4的第一个循环中,在线服务定时发送心跳信号到主控服务集合中的每个主控服务,主控服务根据在线服务的心跳信号对对应在线服务的服务状态和最后一次发送心跳信号的心跳时间进行更新。
步骤d,通过所述主控服务集合根据预设时间周期对所述在线服务集合进行遍历,将当前时间与所述在线服务集合中每个在线服务的最新心跳时间进行对比,并根据对比结果对所述在线服务集合进行更新。
在该步骤中,证券交易系统通过主控服务集合根据预设时间周期对在线服务集合进行遍历,将当前时间与在线服务集合中每个在线服务的最新心跳时间进行对比,并根据对比结果对在线服务集合进行更新,如:如图4所示,在图4的第二个循环中,主控服务集合循环检测在下服务的服务状态,进而同步服务状态到每个在线服务中;主控服务集合有一个线程会定时去遍历在线服务列表中的每个在线服务,对比当前时间与注册到主控服务集合的在线服务的最后一次心跳时间间隔与超时时间对比,若最后一次心跳时间间隔小于等于超时时间,则继续检测下一个在线服务,若最后一次心跳时间间隔大于超时时间,则确定对应的在线服务掉线,将对应的服务从在线服务列表移出,并更新redis缓存,在遍历完所有在在线服务的后,对在线服务集合进行更新,并向所有在线服务同步更新后的在线服务列表。
步骤S20,在检测到所述在线服务集合发生故障时,确定所述故障的类型,并根据故障的类型,进行故障处理。
在本实施例中,证券交易系统在检测到在线服务集合中有在线服务发生故障时,确定在线服务的故障的类型,并根据故障的类型,进行故障处理。
具体地,步骤S20包括:
步骤e,确定所述故障类型为主控服务集合中的某个主控服务发生故障时,通过所述主控服务集合中未发生故障的主控服务对所述在线服务集合的状态进行同步,并对发生故障的主控服务进行复位;
在该步骤中,证券交易系统确定故障类型为主控服务集合中的某个主控服务发生故障时,通过主控服务集合中未发生故障的主控服务对在线服务集合的状态进行同步,并对发生故障的主控服务进行复位,如:证券交易系统中的主控服务可以多实例部署,形成主控服务集合,每个主控服务之间通过redis集群进行数据共享;当一个主控服务发生故障之后,业务服务与其他的主控服务之间仍然可以正常的发送心跳信息,所以对整个证券交易系统的使用不会有影响,在线服务的服务状态的更新可以通过另一主控服务进行同步,由于主控服务不做路由和订阅表相关的数据缓存,一个主控服务发生故障之后也不会有故障转移和路由切换的相关流程。
步骤f,当发生故障的主控服务复位成功后,将所述主控服务集合中未发生故障的主控服务中同步的所述在线服务集合的状态同步到复位后的主控服务中。
在该步骤中,当发生故障的主控服务复位成功后,证券交易系统将主控服务集合中未发生故障的主控服务中同步的在线服务集合的状态同步到复位后的主控服务中;如:当主控服务的故障复位之后,所有的在线服务重新到此主控服务进行注册,在注册的过程中会存在此主控服务记录的在线服务的服务状态与其它主控服务记录的在线服务的服务状态不一致的情况,解决的方法是通过其它主控服务延时(10秒)推送在线服务的服务状态,在延时的时间段里面能够保证所有的在线服务成功注册到此主控服务,然后推送的在线服务的服务状态就与其他主控服务同步。
步骤g,确定所述故障类型为网关服务集合中的某个网关服务发生故障时,根据预设规则,通过所述网关服务集合中的另一网关服务从缓存模块中读取发生故障的网关服务对应的路由关系信息,并根据所述路由关系信息连接对应的客户端,以将所述客户端的请求数据转发到指定的在线服务。
在该步骤中,证券交易系统确定故障类型为网关服务集合中的某个网关服务发生故障时,根据预设规则,通过网关服务集合中的另一网关服务从缓存模块中读取发生故障的网关服务对应的路由关系信息,并根据路由关系信息连接对应的客户端,以将客户端的请求数据转发到指定的在线服务;如:网关服务在正常状态下,客户端登录到网关之后网关会将客户的路由信息缓存到的证券交易系统本地的内存中,并将路由的映射关系写入到redis缓存,客户端下一次请求的时候先从本地的内存中获取路由关系,如果没有则在redis中获取,获取都不成功的情况下就进行重新分配并绑定;当证券交易系统确定有一个网关服务(gate1)出现故障之后,客户端此时会掉线需要重新从tcpserver获取一个可用的网关(gate2)然后进行重新登录,此时gate2没有这个账户的路由信息,gate2从内存或redis中获取gate1对应的账户的路由关系,然后重新写入到gate2的缓存信息中,然后将客户端的请求数据转发到指定的在线服务,由于路由关系是gate1写入redis中的,路由关系不变,保证了客户请求的数据不会发生改变。
具体地,如图6所示,当有一个网关服务,与之连接的客户端会断开连接,此时客户端会通过tcpserver发送请求数据到另一个网关,另一个网关先去证券交易系统的本地内存中查找该客户端对应的路由信息,若内存中无路由信息,再去redis中查找该客户端对应的路由信息,若redis中无路由信息,再通过请求数据中的token(通证)计算出对应的路由,并保存在内存和redis中,并根据路由信息,将请求数据发送到对应的在线业务服务。
进一步地,所有的客户端请求都需要通过网关进行路由,然后转发到对应的业务服务实例,当业务服务发生宕机后,网关的路由信息也要进行改变,这个流程是通过master发送kRouterChangeNotify消息后网关进行路由转移,如图7所示,主控服务在检测到与业务服务掉线时,主控服务通过同类型的业务服务承接掉线的业务服务中的请求数据,进行故障转移,在进行故障转移后,主控服务发送路由变更通知到对应的网关,网关根据路由变更通知更新内存和redis中的路由信息。
步骤h,确定所述故障类型为业务服务集合中的某个业务服务发生故障时,获取发生故障的业务服务的服务类型,基于所述服务类型,在所述业务服务集合中确定另一业务服务;
在该步骤中,证券交易系统确定故障类型为业务服务集合中的某个业务服务发生故障时,获取发生故障的业务服务的服务类型,基于服务类型,在业务服务集合中确定另一业务服务;如:如图8所示,server2和server3为同类型的业务服务,当server3发生故障时,server3上报账号和业务关键信息到redis,并发出故障信号,master检测到server3发出的故障信号时,获取server3的服务类型,并根据该服务类型,确定业务服务集合中确定相同业务类型的另一业务服务server2。
步骤i,将发生故障的业务服务中的账户信息发送到所述另一业务服务,通过所述另一业务服务对所述账户信息对应的账户进行业务接管。
在该步骤中,证券交易系统在确定相同业务类型的另一业务服务后,将发生故障的业务服务中的账户信息发送到所述另一业务服务,通过所述另一业务服务对所述账户信息对应的账户进行业务接管;如:如图8所示,server2和server3为同类型的业务服务,当server3发生故障时,证券交易系统的主控服务确定业务服务集合中确定相同业务类型的另一业务服务server2,主控服务进行故障处理,向server2发送一个kMtServiceTakeOver的消息并转移对应的账户,通过server2对相关账户进行业务接管;进一步地,server1和server3存在路由映射关系,server2对相关账户进行业务接管后,master进行广播路由切换,使得网关和server1进行路由变更。
本实施例的系统服务处理方法,证券交易系统在接收到服务的注册指令时,通过主控服务集合获取服务对应的通证编码,对通证编码进行校验,根据校验结果对服务进行注册和上线,并根据服务更新在线服务集合;证券交易系统通过主控服务集合向服务推送在线服务集合,并根据服务和在线服务集合中每个在线服务的对应的通证编码,将服务与所述在线服务集合进行连接握手。证券交易系统在检测到在线服务集合发生故障时,确定故障的类型,并根据故障的类型,进行故障处理,使得证券交易系统发生故障时具有高可用性,进而提高了证券交易系统的实用性。
进一步地,基于本发明系统服务处理方法第一实施例,提出本发明系统服务处理方法第二实施例。
系统服务处理方法的第二实施例与系统服务处理方法的第一实施例的区别在于,在步骤S20之后,系统服务处理方法还包括:
步骤S30,在接收到服务请求指令时,获取所述服务请求指令对应的服务请求数据,并将所述服务请求数据存储到内存模块中;
步骤S40,获取所述服务请求指令对应的服务请求类型,基于所述服务请求类型,在所述在线服务集合中选择对应的在线服务,并通过所述在线服务获取所述内存模块中的所述服务请求数据,以对所述服务请求数据进行处理。
在本实施例中,证券交易系统在接收到用户通过客户端发送的服务请求指令时,获取服务请求指令对应的服务请求数据,并将服务请求数据存储到内存模块中,获取服务请求指令对应的服务请求类型,基于服务请求类型,在在线服务集合中选择对应的在线服务,并通过在线服务获取内存模块中的服务请求数据,以对服务请求数据进行处理。如:用户需要对某个证券产品进行拆单交易,并通过客户端生成服务请求指令并发送到证券交易系统,证券交易系统获取服务请求指令对应的服务请求数据,例如:证券产品名称、交易金额、交易周期等,并将服务请求数据存储到证券交易系统的内存模块中,证券交易系统获取服务请求指令对应的服务请求类型为拆单交易,根据拆单交易,确定对应使得在线服务为拆单交易服务,通过拆单交易服务从内存模块中获取证券产品名称、交易金额、交易周期等服务请求数据,根据服务请求数据对用户的拆单交易请求进行处理。
本实施例的系统服务处理方法,证券交易系统在接收到用户通过客户端发送的服务请求指令时,获取服务请求指令对应的服务请求数据,并将服务请求数据存储到内存模块中,获取服务请求指令对应的服务请求类型,基于服务请求类型,在在线服务集合中选择对应的在线服务,并通过在线服务获取内存模块中的服务请求数据,以对服务请求数据进行处理,通过将服务请求数据存储到内存模块中,在进行对应的处理时直接从内存模块中获取对应的服务请求数据,提高处理效率,有助于提高证券交易系统的实用性。
本发明还提供一种系统服务处理装置。本发明系统服务处理装置包括:
接收模块,用于在接收到服务的注册指令时,通过主控服务集合对所述服务进行注册和上线,并更新在线服务集合,将所述服务与所述在线服务集合进行连接握手;
检测模块,用于在检测到所述在线服务集合发生故障时,确定所述故障的类型,并根据故障的类型,进行故障处理。
进一步地,所述接收模块还包括校验模块,所述校验模块用于:
通过主控服务集合获取所述服务对应的通证编码,对所述通证编码进行校验,根据校验结果对所述服务进行注册和上线,并根据所述服务更新在线服务集合;
通过所述主控服务集合向所述服务推送所述在线服务集合,并根据所述服务和所述在线服务集合中每个在线服务的对应的通证编码,将所述服务与所述在线服务集合进行连接握手。
进一步地,所述接收模块还包括更新模块,所述更新模块用于:
通过所述主控服务集合接收所述在线服务集合中每个在线服务的心跳信号,并根据所述心跳信号对对应在线服务的状态和心跳时间进行更新;
通过所述主控服务集合根据预设时间周期对所述在线服务集合进行遍历,将当前时间与所述在线服务集合中每个在线服务的最新心跳时间进行对比,并根据对比结果对所述在线服务集合进行更新。
进一步地,所述检测模块还用于:
确定所述故障类型为主控服务集合中的某个主控服务发生故障时,通过所述主控服务集合中未发生故障的主控服务对所述在线服务集合的状态进行同步,并对发生故障的主控服务进行复位;
当发生故障的主控服务复位成功后,将所述主控服务集合中未发生故障的主控服务中同步的所述在线服务集合的状态同步到复位后的主控服务中。
进一步地,所述检测模块还用于:
确定所述故障类型为网关服务集合中的某个网关服务发生故障时,根据预设规则,通过所述网关服务集合中的另一网关服务从缓存模块中读取发生故障的网关服务对应的路由关系信息,并根据所述路由关系信息连接对应的客户端,以将所述客户端的请求数据转发到指定的在线服务。
进一步地,所述检测模块还用于:
确定所述故障类型为业务服务集合中的某个业务服务发生故障时,获取发生故障的业务服务的服务类型,基于所述服务类型,在所述业务服务集合中确定另一业务服务;
将发生故障的业务服务中的账户信息发送到所述另一业务服务,通过所述另一业务服务对所述账户信息对应的账户进行业务接管。
进一步地,所述接收模块还包括获取模块,所述获取模块用于:
在接收到服务请求指令时,获取所述服务请求指令对应的服务请求数据,并将所述服务请求数据存储到内存模块中;
获取所述服务请求指令对应的服务请求类型,基于所述服务请求类型,在所述在线服务集合中选择对应的在线服务,并通过所述在线服务获取所述内存模块中的所述服务请求数据,以对所述服务请求数据进行处理。
本发明还提供一种系统服务处理系统。
本发明所述系统服务处理系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的系统服务处理程序,所述系统服务处理程序被所述处理器执行时实现如上所述的系统服务处理方法的步骤。
其中,在所述处理器上运行的系统服务处理程序被执行时所实现的方法可参照本发明系统服务处理方法各个实施例,此处不再赘述。
本发明还提供一种可读存储介质。
本发明可读存储介质为计算机可读存储介质,计算机可读存储介质上存储有系统服务处理程序,所述系统服务处理程序被处理器执行时实现如上所述的系统服务处理方法的步骤。
其中,在所述处理器上运行的系统服务处理程序被执行时所实现的方法可参照本发明系统服务处理方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书与附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种系统服务处理方法,其特征在于,应用于证券交易系统,所述系统服务处理方法包括如下步骤:
在接收到服务的注册指令时,通过主控服务集合对所述服务进行注册和上线,并更新在线服务集合,将所述服务与所述在线服务集合进行连接握手;
在检测到所述在线服务集合发生故障时,确定所述故障的类型,并根据故障的类型,进行故障处理。
2.如权利要求1所述的系统服务处理方法,其特征在于,所述通过主控服务集合对所述服务进行注册和上线,并更新在线服务集合,将所述服务与所述在线服务集合进行连接握手的步骤包括:
通过主控服务集合获取所述服务对应的通证编码,对所述通证编码进行校验,根据校验结果对所述服务进行注册和上线,并根据所述服务更新在线服务集合;
通过所述主控服务集合向所述服务推送所述在线服务集合,并根据所述服务和所述在线服务集合中每个在线服务的对应的通证编码,将所述服务与所述在线服务集合进行连接握手。
3.如权利要求1所述的系统服务处理方法,其特征在于,所述更新在线服务集合的步骤包括:
通过所述主控服务集合接收所述在线服务集合中每个在线服务的心跳信号,并根据所述心跳信号对对应在线服务的状态和心跳时间进行更新;
通过所述主控服务集合根据预设时间周期对所述在线服务集合进行遍历,将当前时间与所述在线服务集合中每个在线服务的最新心跳时间进行对比,并根据对比结果对所述在线服务集合进行更新。
4.如权利要求1所述的系统服务处理方法,其特征在于,所述确定所述故障的类型,并根据故障的类型,进行故障处理的步骤包括:
确定所述故障类型为主控服务集合中的某个主控服务发生故障时,通过所述主控服务集合中未发生故障的主控服务对所述在线服务集合的状态进行同步,并对发生故障的主控服务进行复位;
当发生故障的主控服务复位成功后,将所述主控服务集合中未发生故障的主控服务中同步的所述在线服务集合的状态同步到复位后的主控服务中。
5.如权利要求1中所述的系统服务处理方法,其特征在于,所述确定所述故障的类型,并根据故障的类型,进行故障处理的步骤还包括:
确定所述故障类型为网关服务集合中的某个网关服务发生故障时,根据预设规则,通过所述网关服务集合中的另一网关服务从缓存模块中读取发生故障的网关服务对应的路由关系信息,并根据所述路由关系信息连接对应的客户端,以将所述客户端的请求数据转发到指定的在线服务。
6.如权利要求1所述的系统服务处理方法,其特征在于,所述确定所述故障的类型,并根据故障的类型,进行故障处理的步骤还包括:
确定所述故障类型为业务服务集合中的某个业务服务发生故障时,获取发生故障的业务服务的服务类型,基于所述服务类型,在所述业务服务集合中确定另一业务服务;
将发生故障的业务服务中的账户信息发送到所述另一业务服务,通过所述另一业务服务对所述账户信息对应的账户进行业务接管。
7.如权利要求1所述的系统服务处理方法,其特征在于,所述在接收到服务的注册指令时,通过主控服务集合对所述服务进行注册和上线,并更新在线服务集合,将所述服务与所述在线服务集合进行连接握手的步骤之后,包括:
在接收到服务请求指令时,获取所述服务请求指令对应的服务请求数据,并将所述服务请求数据存储到内存模块中;
获取所述服务请求指令对应的服务请求类型,基于所述服务请求类型,在所述在线服务集合中选择对应的在线服务,并通过所述在线服务获取所述内存模块中的所述服务请求数据,以对所述服务请求数据进行处理。
8.一种系统服务处理装置,其特征在于,所述系统服务处理装置包括:
接收模块,用于在接收到服务的注册指令时,通过主控服务集合对所述服务进行注册和上线,并更新在线服务集合,将所述服务与所述在线服务集合进行连接握手;
检测模块,用于在检测到所述在线服务集合发生故障时,确定所述故障的类型,并根据故障的类型,进行故障处理。
9.一种系统服务处理系统,其特征在于,所述系统服务处理系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的系统服务处理程序,所述系统服务处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的系统服务处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有系统服务处理程序,所述系统服务处理程序被处理器执行时实现如权利要求1至7中任一项所述的系统服务处理方法的步骤。
CN202111683177.2A 2021-12-31 2021-12-31 系统服务处理方法、装置、系统与计算机可读存储介质 Pending CN114463124A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111683177.2A CN114463124A (zh) 2021-12-31 2021-12-31 系统服务处理方法、装置、系统与计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111683177.2A CN114463124A (zh) 2021-12-31 2021-12-31 系统服务处理方法、装置、系统与计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN114463124A true CN114463124A (zh) 2022-05-10

Family

ID=81406979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111683177.2A Pending CN114463124A (zh) 2021-12-31 2021-12-31 系统服务处理方法、装置、系统与计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN114463124A (zh)

Similar Documents

Publication Publication Date Title
US7225356B2 (en) System for managing operational failure occurrences in processing devices
US7185096B2 (en) System and method for cluster-sensitive sticky load balancing
US7937437B2 (en) Method and apparatus for processing a request using proxy servers
US7213038B2 (en) Data synchronization between distributed computers
US8019812B2 (en) Extensible and programmable multi-tenant service architecture
US9753954B2 (en) Data node fencing in a distributed file system
US7694178B2 (en) Method, apparatus and computer program product for transaction recovery
CN111147453A (zh) 系统登录方法以及集成登录系统
US20060123121A1 (en) System and method for service session management
US20060167883A1 (en) System and method for the optimization of database acess in data base networks
US20070150602A1 (en) Distributed and Replicated Sessions on Computing Grids
US8392569B2 (en) Data delivery system and data delivery method
WO2019210580A1 (zh) 访问请求处理方法、装置、计算机设备和存储介质
US9390156B2 (en) Distributed directory environment using clustered LDAP servers
JP4637366B2 (ja) データネットワークの負荷管理
CN108063813B (zh) 一种集群环境下密码服务网络并行化的方法与系统
US9569224B2 (en) System and method for adaptively integrating a database state notification service with a distributed transactional middleware machine
CN113810474B (zh) 一种请求的分流方法及终端
JPWO2006057061A1 (ja) 分散トランザクション処理方法、装置、及びプログラム
CN114268631B (zh) 低延迟网络系统及其通信连接方法及可读存储介质
CN114463124A (zh) 系统服务处理方法、装置、系统与计算机可读存储介质
CN113296911B (zh) 集群调用方法、集群调用装置、电子设备及可读存储介质
JP2003256390A (ja) 分散オブジェクトシステム
JP4451339B2 (ja) 負荷分散システム、および負荷分散方法
US11153391B2 (en) Connecting application instances to client devices

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