一种业务无关的分布式系统技术方案

技术编号:29497177 阅读:14 留言:0更新日期:2021-07-30 19:10
本发明专利技术公开了一种业务无关的分布式系统,实现业务无关的高效容错架构,有效降低企业的运营维护成本。其技术方案为:通过业务层和架构层的彻底解耦分离,使得所有的容错方案都在架构层完成,在业务层无需考虑任务容错机制,从而使架构层可以适配于任何业务模型。同时,本发明专利技术在架构层中创新的增加了一高效容错方案,可以在业务层无感的情况下充分保证金融系统的高效和稳定运行。

【技术实现步骤摘要】
一种业务无关的分布式系统
本专利技术涉及期货尤其是金融期货领域的交易系统设计架构,具体涉及一种应用于期货尤其是金融期货领域的业务无关的分布式系统。
技术介绍
随着金融行业需求和业务的不断发展和衍生,各种金融系统对应的产品线也越来越多,每种产品线都有自己的独特的架构方案,每种架构下的系统维护方式也有很大的差别,这大大增加了企业日常的运营维护成本。随着金融市场和企业的不断发展,维护的产品线也会不断的增加,随之而来的是要维护越来越多的系统架构,这对开发人员和运维人员都带来了极大的不便,不仅需要额外投入巨大的人力成本分别运营维护,也极易造成系统性风险。业内传统的架构设计方式存在以下几个方面的缺陷:1)每种业务都有自己独有的架构,没有一套统一的架构解决方案;2)不能有效剔除系统运行中的业务坏点数据,导致单个业务包的错误使得整个系统发生瘫痪。由于上述缺陷,目前业界迫切需要一种与业务无关且带有容错机制的新架构方案。
技术实现思路
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。本专利技术的目的在于解决上述问题,提供了一种业务无关的分布式系统,实现业务和架构的高度解耦,有效降低企业的运营维护成本和风险应对能力。本专利技术的技术方案为:本专利技术揭示了一种业务无关的分布式系统,系统包括仲裁节点、容错排序节点、集群订阅节点、普通节点和持久化节点,普通节点包括多个前置节点和多个报盘节点,前置节点连接容错排序节点,容错排序节点分别连接持久化节点、集群订阅节点,集群订阅节点连接报盘节点,仲裁节点连接容错排序节点,其中:前置节点用于接收各类客户的包含报单、查询、出入金在内的请求,再将这些请求报文转换成统一格式,发布给容错排序节点;报盘节点用于将集群订阅节点的结果流中的报单上报到交易所并等待交易所的响应;集群订阅节点用于订阅主容错排序节点的排队流,根据不同的业务规则处理这些排队流,最后输出一个结果流给报盘节点;容错排序节点用于接收多个前置节点的请求报文,将这些原始的请求报文排序,并调用应用层接口处理产生一个或多个新报文,将这些原始的请求报文和新报文组合成一个定序的排队流再发布出去,以使所发布的排队流中的每个包都有唯一的递增序号;仲裁节点用于从多个容错排序节点中选择一个作为主容错排序节点,其他的容错排序节点均作为备容错排序节点;持久化节点用于订阅主容错排序节点的排队流,将排队流落地成文件。根据本专利技术的业务无关的分布式系统的一实施例,仲裁节点从多个容错排序节点中选择主容错排序节点进一步包括:根据节点序号大小来选择:以最小序号对应的容错排序节点作为主容错排序节点;或者以最先启动的容错排序节点作为主容错排序节点。根据本专利技术的业务无关的分布式系统的一实施例,只有主容错排序节点才能够从前置节点中订阅数据并排队后向外发布排队流,其余的备容错排序节点只能够订阅主容错排序节点发布的排队流。根据本专利技术的业务无关的分布式系统的一实施例,容错排序节点与仲裁节点、持久化节点组成排队机,排队机采用回流操作:盘中主容错排序节点挂掉时,备容错排序节点切换成新的主容错排序节点后,新的主容错排序节点先从所有订阅排队流的进程(备容错节点、集群订阅节点、持久化节点)发起TCP连接,询问对方已经订阅到排队流的序号,若序号比新的主容错排序节点的序号大则回传排队流到新的主容错排序节点,以此来保证新的主容错排序节点发布的排队流序号是最大的。根据本专利技术的业务无关的分布式系统的一实施例,在排队机的配置中,当所有容错节点故障,盘中新增一个容错排序节点作为主容错排序节点时,为了防止排队流不一致,新增的主容错排序节点进行补发流平衡,补发流平衡进一步包括:第一步,先与持久化节点建立TCP连接,查询持久化节点排队流的大小;第二步,判断持久化节点的排队流是否大于本地排队流,若本地排队流大于持久化节点排队流,则转第三步;若本地排队流小于持久化节点排队流,则让持久化节点回传排队流到新增的主容错排序节点,直到回传结束;第三步,断开和持久化节点的TCP连接,开启订阅,接收前置的各请求。根据本专利技术的业务无关的分布式系统的一实施例,在排队机的配置中,对新增的备容错排序节点或者集群订阅节点提供了补发流平衡功能:第一步,先与持久化节点建立TCP连接,查询持久化节点排队流的大小,同时侦听主容错排队节点采用UDP模式发布流的大小;第二步,若持久化节点排队流小于新增节点流,则断开连接,从主容错排序节点订阅排队流;第三步,若持久化节点排队流大于新增节点流,则发起回传请求,持久节点开始回传排队流,同时持久化节点实时侦听主容错排序节点发布的流水号,当持久化节点的流水号与主容错排序节点发布的流水号差额小于一定阈值时,则该新增节点断开与持久化节点的TCP链接,并从主容错排序节点订阅数据。根据本专利技术的业务无关的分布式系统的一实施例,备容错排序节点切换成主容错排序节点后的回流过程包括:第一步,当主容错排序节点挂掉后,仲裁节点选择另一节点作为新的主容错排序节点;第二步,新的主容错排序节点首先与所有其他容错排序节点、持久化节点以及集群订阅节点建立TCP连接,然后查询对方排队流大小;第三步,选择对方排队流最大的节点作为回流节点,回传排队流;第四步,回流结束后,新的主容错排序节点断开所有TCP连接,开启订阅,接收前置输入并重新发布排队流。根据本专利技术的业务无关的分布式系统的一实施例,业务无关的分布式系统的架构还支持发布抑制功能。根据本专利技术的业务无关的分布式系统的一实施例,业务无关的分布式系统的架构支持双网段,容错排序节点的排队流和集群订阅节点的结果流在双网段发布。根据本专利技术的业务无关的分布式系统的一实施例,业务无关的分布式系统还包括多点容错功能:当连续2个主排队节点挂在同一个报文时,通过仲裁,第三个容错节点切主后会跳过该报文,从而保证整个系统正常运行,其中若系统有N个容错节点,则可以跳过的故障报文个数为N-2。本专利技术对比现有技术有如下的有益效果:本专利技术的系统通过业务和架构的高度解耦,使得多种产品线可以有一个统一的架构。同时,本专利技术在架构层中创新的增加了一种高效容错方案,可以在业务层无感的情况下剔除数据流中的坏点数据,充分保证金融系统的高效和稳定运行。与传统相比,本专利技术的系统:1)有效解决金融系统中架构不统一的问题进而降低维护成本,并且多种容错方案来有效降低系统在运行过程中出现的进程崩溃、机器故障、网络中断等故障引起的系统性风险;2)将所有业务过程抽象化,做到业务层和架构层的彻底分离,同时通过分布式架构中的所有节点多活、排队机模型、剔除业务坏点、补发流平衡等众多容错手段,可以有效应对实际运行中的各种突发情况,从而保证整本文档来自技高网...

【技术保护点】
1.一种业务无关的分布式系统,其特征在于,系统包括仲裁节点、容错排序节点、集群订阅节点、普通节点和持久化节点,普通节点包括多个前置节点和多个报盘节点,前置节点连接容错排序节点,容错排序节点分别连接持久化节点、集群订阅节点,集群订阅节点连接报盘节点,仲裁节点连接容错排序节点,其中:/n前置节点用于接收各类客户的包含报单、查询、出入金在内的请求,再将这些请求报文转换成统一格式,发布给容错排序节点;/n报盘节点用于将集群订阅节点的结果流中的报单上报到交易所并等待交易所的响应;/n集群订阅节点用于订阅主容错排序节点的排队流,根据不同的业务规则处理这些排队流,最后输出一个结果流给报盘节点;/n容错排序节点用于接收多个前置节点的请求报文,将这些原始的请求报文排序,并调用应用层接口处理产生一个或多个新报文,将这些原始的请求报文和新报文组合成一个定序的排队流再发布出去,以使所发布的排队流中的每个包都有唯一的递增序号;/n仲裁节点用于从多个容错排序节点中选择一个作为主容错排序节点,其他的容错排序节点均作为备容错排序节点;/n持久化节点用于订阅主容错排序节点的排队流,将排队流落地成文件。/n

【技术特征摘要】
1.一种业务无关的分布式系统,其特征在于,系统包括仲裁节点、容错排序节点、集群订阅节点、普通节点和持久化节点,普通节点包括多个前置节点和多个报盘节点,前置节点连接容错排序节点,容错排序节点分别连接持久化节点、集群订阅节点,集群订阅节点连接报盘节点,仲裁节点连接容错排序节点,其中:
前置节点用于接收各类客户的包含报单、查询、出入金在内的请求,再将这些请求报文转换成统一格式,发布给容错排序节点;
报盘节点用于将集群订阅节点的结果流中的报单上报到交易所并等待交易所的响应;
集群订阅节点用于订阅主容错排序节点的排队流,根据不同的业务规则处理这些排队流,最后输出一个结果流给报盘节点;
容错排序节点用于接收多个前置节点的请求报文,将这些原始的请求报文排序,并调用应用层接口处理产生一个或多个新报文,将这些原始的请求报文和新报文组合成一个定序的排队流再发布出去,以使所发布的排队流中的每个包都有唯一的递增序号;
仲裁节点用于从多个容错排序节点中选择一个作为主容错排序节点,其他的容错排序节点均作为备容错排序节点;
持久化节点用于订阅主容错排序节点的排队流,将排队流落地成文件。


2.根据权利要求1所述的业务无关的分布式系统,其特征在于,仲裁节点从多个容错排序节点中选择主容错排序节点进一步包括:
根据节点序号大小来选择:以最小序号对应的容错排序节点作为主容错排序节点;或者
以最先启动的容错排序节点作为主容错排序节点。


3.根据权利要求1所述的业务无关的分布式系统,其特征在于,只有主容错排序节点才能够从前置节点中订阅数据并排队后向外发布排队流,其余的备容错排序节点只能够订阅主容错排序节点发布的排队流。


4.根据权利要求1所述的业务无关的分布式系统,其特征在于,容错排序节点与仲裁节点、持久化节点组成排队机,排队机采用回流操作:盘中主容错排序节点挂掉时,备容错排序节点切换成新的主容错排序节点后,新的主容错排序节点先从所有订阅排队流的进程发起TCP连接,询问对方已经订阅到排队流的序号,若序号比新的主容错排序节点的序号大则回传排队流到新的主容错排序节点,以此来保证新的主容错排序节点发布的排队流序号是最大的。


5.根据权利要求1所述的业务无关的分布式系统,其特征在于,在排队机的配置中,当所有容错节点故障,盘中新增一个容错排序节点作为主容错排序节点时,为了防止排队流不一致,新增的主容错排序节点进行补发流平...

【专利技术属性】
技术研发人员:张飞王康贵刘英王维田邵华
申请(专利权)人:上海金融期货信息技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1