【技术实现步骤摘要】
基于分布式订阅发布网络的数据处理方法及系统
[0001]本专利技术涉及电数字数据处理
,更具体地说,涉及一种基于分布式订阅发布网络的数据处理方法及系统。
技术介绍
[0002]在分布式订阅发布网络中,通常采用“订阅发布者
‑‑‑
消息队列中间件
‑‑‑
数据生产者”,实现数据的处理与传递,具体的,订阅发布者可以向消息队列中间件发布订阅某些数据的订阅消息,数据生产者在从消息队列中间件中获取到相应的订阅消息后,周期性生成与该订阅消息对应的订阅数据,并将生成的订阅数据通过消息队列中间件推送给订阅发布者。但是这种方式,当数据产者在生产与订阅消息相应订阅数据的过程中发生故障时,即使数据生产者恢复了,由于该订阅消息在消息队列中间件中已经被消费过了,所以数据生产者无法再从消息队列中间件中获取该订阅消息,从而导致无法再生产与该订阅消息相应的订阅数据,订阅发布者也无法再获取到请求订阅的订阅数据。
[0003]在现在有技术中,可以通过另外的通道通知订阅发布者,让订阅发布者重新发起订阅消息,但是这样耦 ...
【技术保护点】
【技术特征摘要】
1.一种基于分布式订阅发布网络的数据处理方法,其特征在于,所述方法包括:获取订阅客户端发送的订阅请求,其中,所述订阅请求包括订阅内容和订阅客户端标识;将所述订阅内容拆分成多个订阅子内容,并将各个所述订阅子内容分别分发给与所述订阅内容匹配的各个数据生产节点,以使每个所述数据生产节点基于接收到所述订阅子内容建立与所述订阅客户端之间的订阅关系;其中,与所述订阅内容匹配的各个所述数据生产节点属于同一个分布式订阅发布网络集群;当监听到各个所述数据生产节点中存在故障数据生产节点时,将所述故障数据生产节点对应的所述订阅关系分发给各个所述数据节点中未发生故障的数据生产节点,以使所述未发生故障的数据生产节点根据对应的所述订阅关系指示的所述订阅子内容生产相应的订阅数据,并反馈所述订阅数据;将所述订阅内容对应的每个所述订阅子内容对应的所述订阅数据返回给所述订阅请求指示的所述订阅客户端标识对应的订阅客户端。2.根据权利要求1所述的方法,其特征在于,所述接收订阅客户端发送的订阅请求,包括:从预先设置的消息队列中间件的订阅主题中获取订阅客户端发送的订阅请求。3.根据权利要求2所述的方法,其特征在于,所述将所述订阅内容拆分成多个订阅子内容,并将所述各个订阅子内容分别分发给与所述订阅内容匹配的各个数据生产节点,包括:将所述订阅内容拆分成多个订阅子内容;基于与所述订阅内容匹配的消息队列将所述各个订阅子内容分别分发给与所述订阅内容匹配的各个数据生产节点。4.根据权利要求1所述的方法,其特征在于,所述当监听到各个所述数据生产节点中存在故障数据生产节点时,将所述故障数据生产节点对应的所述订阅关系分发给各个所述数据节点中未发生故障的数据生产节点,包括:通过与所述订阅内容匹配的主节点监听与所述订阅内容匹配的各个所述数据生产节点;其中,所述主节点为通过主节点选取算法选出与所述订阅内容匹配的各个所述数据生产节点中的任一所述数据生产节点;当监听到与所述订阅内容匹配的各个所述数据生产节点中存在故障数据生产节点时,且所述故障数据生产节点不为所述主节点时,通过所述主节点将所述故障数据生产节点对应的所述订阅关系分发给各个所述数据节点中未发生故障的数据生产节点;其中,所述主节点为通过主节点选取算法选出的与所述订阅内容匹配的各个所述数据生产节点中的任一所述数据生产节点;当监听到与所述订阅内容匹配的各个所述数据生产节点中存在故障数据生产节点,且所述故障数据生产节点为所述主节点时,重新通过所述主节点选取算法从各个所述未发生故障的数据生产节点中,确定新的主节点;通过所述新的主节点将所述故障数据生产节点对应的所述订阅关系分发给各个所述数据节点中未发生故障的数据生产节点。5.根据权利要求1所述的方法,其特征在于,所述将所述订阅内容对应的每个所述订阅子内容对应的所述订阅数据返回给所述订阅请求指示的所述订阅客户端标识对应的订阅
客户端,包括:从所述订阅客户端标识中提取与所述订阅客户端对应的目标消费主题;通过所述目标消费主题接收所述订阅内容对应的各个所述未发生故障的数据生产节点反馈的订阅数据;通过所述目标消费主题将所述订阅内容对应的各个所述订阅子内容对应的订阅数据返回给所述订阅请求指...
【专利技术属性】
技术研发人员:姚杰,韦群跃,吴越,周康韵,王小宣,吴英敏,
申请(专利权)人:浙江中控技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。