一种银行债券自动报价系统的分布式处理方法及装置制造方法及图纸

技术编号:30651971 阅读:18 留言:0更新日期:2021-11-04 01:13
本发明专利技术公开了一种银行债券自动报价系统的分布式处理方法及装置,将获取的多券行情信息多点分配至各个队列中进行多通道并行处理以提升系统处理速度,为了保证队列接管后的信息时序性,运用了队列锁机制。当所有的服务全部启动时,开启队列锁抢占通道允许每个服务进行队列锁抢占,控制抢占队列锁成功的各个目标服务进行相应的队列接管,通过设置队列锁的心跳机制,来检验队列锁的占用状态并判断是否可以被再次抢占。本发明专利技术通过对多券行情信息进行多点分配以及允许成功启动的服务进行队列抢占,使得每个服务独占一个通道以保证单券行情信息的有序性,通过其他服务对出现故障的服务释放的目标队列锁及目标队列进行抢占保证单券行情信息的容灾性。券行情信息的容灾性。券行情信息的容灾性。

【技术实现步骤摘要】
一种银行债券自动报价系统的分布式处理方法及装置


[0001]本专利技术涉及消息队列处理
,更具体的说,涉及一种银行债券自动报价系统的分布式处理方法及装置。

技术介绍

[0002]当前越来越多的银行系统使用自动报价系统做债券交易,对于银行系统来说,为了交易的顺利,就需要系统保持很好的稳定性,因此保证系统的容灾性尤其重要,所谓容灾性指的是发生灾难/故障之后系统维持稳定性的能力,即应对风险的能力。
[0003]但是,本专利技术的专利技术人经过研究后发现,对于银行债券行情信息而言,有了最新的债券行情信息之后,时间稍前的债券行情就没有使用价值了,因此保证单券行情信息的时序性对于银行债券交易系统也是至关重要的,而现有的系统在处理债券行情信息时往往会产生单券行情信息乱序的情况,从而无法兼顾单券行情信息处理的有序性和容灾性。

技术实现思路

[0004]有鉴于此,本专利技术公开一种银行债券自动报价系统的分布式处理方法及装置,以实现同时兼顾单券行情信息处理的有序性和容灾性。
[0005]一种银行债券自动报价系统的分布式处理方法,包括:
[0006]获取多券行情信息,所述多券行情信息包括:多个单券行情信息;
[0007]将所述多券行情信息多点分配至各个队列中,每个所述队列被分配一个所述单券行情信息;
[0008]当所有的服务全部启动时,开启队列锁抢占通道,允许每个所述服务进行队列锁抢占,其中,每个所述队列锁对应一个队列,所述队列的总数量不少于所述服务的总数量;
[0009]控制抢占所述队列锁成功的各个目标服务进行相应的队列接管;
[0010]设置被所述目标服务成功抢占的目标队列锁的心跳时间,并更新所述目标队列锁的当前状态为被抢占状态;
[0011]基于每个所述心跳时间判断对应的所述目标服务是否超时;
[0012]如果是,则控制心跳时间超时的所述目标服务释放对应的目标队列锁和目标队列;
[0013]将释放的所述目标队列锁的当前状态由被抢占状态更新为未被抢占状态,并允许每个所述服务再次进行抢占。
[0014]可选的,还包括:
[0015]当所有的所述服务未全部启动时,则在第一预设时间段后,再次判断所有的所述服务是否全部启动;
[0016]如果是,则允许每个所述服务进行队列锁抢占;
[0017]如果否,则输出存在未启动服务的告警信息。
[0018]可选的,所述基于每个所述心跳时间判断对应的所述目标服务是否超时,具体包
括:
[0019]每隔第二预设时间段对每个所述心跳时间进行刷新,得到最新心跳时间;
[0020]基于每个所述最新心跳时间判断对应的所述目标服务是否超时。
[0021]可选的,所述将所述多券行情信息多点分配至各个队列中,具体包括:
[0022]采用hash算法将所述多券行情信息多点分配至各个所述队列中。
[0023]可选的,所述队列锁采用redis分布式锁机制。
[0024]可选的,还包括:
[0025]对心跳时间超时的所述目标服务释放对应的锁,同时应用自动托管。
[0026]可选的,在所述设置被所述目标服务成功抢占的目标队列锁的心跳时间,并更新所述目标队列锁的当前状态为被抢占状态之后,还包括:
[0027]每隔第三预设时间段判断当前时刻是否有空白锁,所述空白锁为当前状态为未被抢占状态的队列锁;
[0028]如果有所述空白锁,则再次开启所述队列锁抢占通道允许每个所述服务进行所述空白锁抢占。
[0029]可选的,在所述设置被所述目标服务成功抢占的目标队列锁的心跳时间,并更新所述目标队列锁的当前状态为被抢占状态之后,还包括:
[0030]判断所有发生故障的服务中是否有恢复正常的服务;
[0031]如果是,则清除所有队列内容,并再次开启所述队列锁抢占通道。
[0032]一种银行债券自动报价系统的分布式处理装置,所述分布式处理装置包括:
[0033]信息获取单元,用于获取多券行情信息,所述多券行情信息包括:多个单券行情信息;
[0034]分配单元,用于将所述多券行情信息多点分配至各个队列中,每个所述队列被分配一个所述单券行情信息;
[0035]通道开启单元,用于当所有的服务全部启动时,开启队列锁抢占通道,允许每个所述服务进行队列锁抢占,其中,每个所述队列锁对应一个队列,所述队列的总数量不少于所述服务的总数量;
[0036]控制单元,用于控制抢占所述队列锁成功的各个目标服务进行相应的队列接管;
[0037]时间设置单元,用于设置被所述目标服务成功抢占的目标队列锁的心跳时间,并更新所述目标队列锁的当前状态为被抢占状态;
[0038]超时判断单元,用于基于每个所述心跳时间判断对应的所述目标服务是否超时;
[0039]第一释放单元,用于在所述超时判断单元判断为是的情况下,控制心跳时间超时的所述目标服务释放对应的目标队列锁和目标队列;
[0040]状态更新单元,用于将释放的所述目标队列锁的当前状态由被抢占状态更新为未被抢占状态,并允许每个所述服务再次进行抢占。
[0041]可选的,还包括:
[0042]启动判断单元,用于当所有的所述服务未全部启动时,则在第一预设时间段后,再次判断所有的所述服务是否全部启动;
[0043]允许单元,用于在所述启动判断单元判断为是的情况下,允许每个所述服务进行队列锁抢占;
[0044]信息输出单元,用于在所述启动判断单元判断为否的情况下,输出存在未启动服务的告警信息。
[0045]可选的,所述超时判断单元具体用于:
[0046]每隔第二预设时间段对每个所述心跳时间进行刷新,得到最新心跳时间;
[0047]基于每个所述最新心跳时间判断对应的所述目标服务是否超时。
[0048]可选的,所述分配单元具体用于:
[0049]采用hash算法将所述多券行情信息多点分配至各个所述队列中。
[0050]可选的,所述队列锁采用redis分布式锁机制。
[0051]可选的,还包括:
[0052]第二释放单元,用于对心跳时间超时的所述目标服务释放对应的锁,同时应用自动托管。
[0053]可选的,还包括:
[0054]空白锁判断单元,用于在所述时间设置单元设置被所述目标服务成功抢占的目标队列锁的心跳时间,并更新所述目标队列锁的当前状态为被抢占状态之后,每隔第三预设时间段判断当前时刻是否有空白锁,所述空白锁为当前状态为未被抢占状态的队列锁;
[0055]再次启动单元,用于在所述空白锁判断单元判断为是的情况下,再次开启所述队列锁抢占通道允许每个所述服务进行所述空白锁抢占。
[0056]可选的,还包括:
[0057]恢复判断单元,用于在所述时间设置单元设置被所述目标服务成功抢占的目标队列锁的心跳时间,并更新所述目标队列锁的当前状态为被抢占状态本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种银行债券自动报价系统的分布式处理方法,其特征在于,包括:获取多券行情信息,所述多券行情信息包括:多个单券行情信息;将所述多券行情信息多点分配至各个队列中,每个所述队列被分配一个所述单券行情信息;当所有的服务全部启动时,开启队列锁抢占通道,允许每个所述服务进行队列锁抢占,其中,每个所述队列锁对应一个队列,所述队列的总数量不少于所述服务的总数量;控制抢占所述队列锁成功的各个目标服务进行相应的队列接管;设置被所述目标服务成功抢占的目标队列锁的心跳时间,并更新所述目标队列锁的当前状态为被抢占状态;基于每个所述心跳时间判断对应的所述目标服务是否超时;如果是,则控制心跳时间超时的所述目标服务释放对应的目标队列锁和目标队列;将释放的所述目标队列锁的当前状态由被抢占状态更新为未被抢占状态,并允许每个所述服务再次进行抢占。2.根据权利要求1所述的分布式处理方法,其特征在于,还包括:当所有的所述服务未全部启动时,则在第一预设时间段后,再次判断所有的所述服务是否全部启动;如果是,则允许每个所述服务进行队列锁抢占;如果否,则输出存在未启动服务的告警信息。3.根据权利要求1所述的分布式处理方法,其特征在于,所述基于每个所述心跳时间判断对应的所述目标服务是否超时,具体包括:每隔第二预设时间段对每个所述心跳时间进行刷新,得到最新心跳时间;基于每个所述最新心跳时间判断对应的所述目标服务是否超时。4.根据权利要求1所述的分布式处理方法,其特征在于,所述将所述多券行情信息多点分配至各个队列中,具体包括:采用hash算法将所述多券行情信息多点分配至各个所述队列中。5.根据权利要求1所述的分布式处理方法,其特征在于,所述队列锁采用redis分布式锁机制。6.根据权利要求1所述的分布式处理方法,其特征在于,还包括:对心跳时间超时的所述目标服务释放对应的锁,同时应用自动托管。7.根据权利要求1所述的分布式处理方法,其特征在于,在所述设置被所述目标服务成功抢占的目标队列锁的心跳时间,并更新所述目标队列锁的当前状态为被抢占状态之后,还包括:每隔第三预设时间段判断当前时刻是否有空白锁,所述空白锁为当前状态为未被抢占状态的队列锁;如果有所述空白锁,则再次开启所述队列锁抢占通道允许每个所述服务进行所述空白锁抢占。8.根据权利要求1所述的分布式处理方法,其特征在于,在所述设置被所述目标服务成功抢占的目标队列锁的心跳时间,并更新所述目标队列锁的当前状态为被抢占状态之后,还包括:
判断所有发生故障的服务中是否有恢复正常的服务;如果是,则清除所有队列内容,并再次开启所述队列锁抢占通道。9.一种银行债券自动报价系统的分布式处理装置,其特征在于,所述分布式处理装置包括:信息获取单元,用于获取多券行情信息,所述多券行情信息包括:多个单券行情信息;分配单元,用于将所述多券行情信息多点分...

【专利技术属性】
技术研发人员:胡磊李琦刘海林常成
申请(专利权)人:上海金仕达软件科技有限公司
类型:发明
国别省市:

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

1