CN112398905A - 一种节点及信息同步方法 - Google Patents
一种节点及信息同步方法 Download PDFInfo
- Publication number
- CN112398905A CN112398905A CN202011043585.7A CN202011043585A CN112398905A CN 112398905 A CN112398905 A CN 112398905A CN 202011043585 A CN202011043585 A CN 202011043585A CN 112398905 A CN112398905 A CN 112398905A
- Authority
- CN
- China
- Prior art keywords
- node
- push
- pushing
- fault
- information
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种节点及信息同步方法,应用于推送节点,所述推送节点和多个其他推送节点之间通信连接,所述推送节点与所述多个其他推送节点为同一类型的节点,所述方法包括:获得指定信息;根据关联路径在所述其他推送节点中确定关联节点,将所述指定信息推送至所述关联节点,以使所述关联节点同步所述指定信息;根据预设路径将所述指定信息推送至所述多个其他推送节点,以使所述多个其他推送节点同步所述指定信息;应用本发明实施例提供的方法,能够在集群中的节点进行信息推送同步的情况下,减少对其他业务的影响。
Description
技术邻居
本发明涉及信息处理技术领域,特别涉及一种节点及信息同步方法。
背景技术
在分布式系统中,集群中的配置信息变化同步非常重要。当集群中的任一节点出现配置信息变化时,需要向整个集群进行报告或推送。在大型分布式系统中,节点的整体规模大,若通过即时报告的方式向集群内的所有节点进行报告或推送,往往会引起网络资源高占用的问题,从而拥塞到其他业务所需要的网络资源,影响其他业务的正常运行。若采用延时报告的方式,则在推送过程中会导致其他业务依赖的信息更新不及时,影响其他业务的正常运行。上述两种推送方式都会对业务的正常运行造成影响。
发明内容
本发明实施例提供了一种节点及信息同步方法,在集群中的节点进行信息推送同步的情况下,减少对其他业务的影响。
本发明实施例一方面提供一种信息同步方法,应用于推送节点,所述推送节点和多个其他推送节点之间通信连接,所述推送节点与所述多个其他推送节点为同一类型的节点,所述方法包括:获得指定信息;根据关联路径在所述其他推送节点中确定关联节点,将所述指定信息推送至所述关联节点,以使所述关联节点同步所述指定信息;根据预设路径将所述指定信息推送至所述多个其他推送节点,以使所述多个其他推送节点同步所述指定信息。
在一可实施方式中,所述关联路径基于保活时间确定;相应的,所述根据关联路径在所述其他推送节点中确定关联节点,将所述指定信息推送至所述关联节点,包括:根据保活时间确定与所述推送节点对应的保活节点,所述保活节点为所述多个其他推送节点中的至少之一;对所述保活节点对应的保活时间进行排序,将满足排序条件的保活时间对应的保活节点确定为关联节点;将所述指定信息推送至关联节点。
在一可实施方式中,所述推送节点、多个其他推送节点还与中心节点之间通信连接;所述方法还包括:所述中心节点接收来自所述推送节点i的指定信息、推送次数阈值step和当前推送记录[data_i,timestamp_i],1≤i≤N,N为推送节点的总数;并根据所述推送次数阈值和当前推送记录生成推送进度报告report[data_i,timestamp_i,1/N];所述中心节点接收来自其他推送节点j的推送次数阈值step和当前推送记录[data_j,timestamp_j,1+step/N];j=i+step,1≤i≤j≤N。
在一可实施方式中,所述预设路径包括预设方向和邻居信息;相应的,所述根据预设路径将所述指定信息推送至多个其他推送节点,包括:根据所述邻居信息确定邻居节点,根据预设方向将所述指定信息推送至邻居节点,以使所述邻居节点同步所述指定信息并根据所述推送次数阈值对与邻居节点对应的当前推送记录进行调整。
在一可实施方式中,在根据预设方向将所述指定信息推送至邻居节点之后,所述方法还包括:当确定所述邻居节点处于故障的情况下,根据与所述邻居节点对应的邻居信息生成故障报告,推送所述故障报告至中心节点;接收来自所述中心节点的故障处理指令,所述故障处理指令包括指定节点信息;根据指定节点信息确定指定节点,将所述指定信息推送至所述指定节点,所述指定节点为处于故障的推送节点在预设方向上的邻居节点。
在一可实施方式中,所述故障为接收故障;相应的,在推送故障报告至中心节点之前,所述方法包括:当确定所述邻居节点处于接收故障的情况下,根据与所述邻居节点对应的所述邻居信息生成故障报告。
在一可实施方式中,所述故障为推送故障;所述中心节点设置有与推送次数阈值step对应的更新间隔时间;相应的,在推送故障报告至中心节点之前,所述方法包括:所述中心节点在更新间隔时间内未收到当前推送记录[data_j,timestamp_j]的情况下,发送故障确定指令至推送节点j-step,所述故障确定指令沿着预设方向的反方向确认故障节点x,j-step≤x≤j;timestamp_x=step-1,timestamp_i≤timestamp_x≤timestamp_j;根据所述故障节点x生成故障报告,以推送所述故障报告至中心节点。
在一可实施方式中,所述方法还包括:所述中心节点接收来自推送节点的推送次数阈值step’;当所述推送次数阈值step’小于所述推送次数阈值step的情况下,对所述推送次数阈值step’进行调整,以获得推送次数阈值。
在一可实施方式中,所述沿着预设方向的反方向确认故障节点x,包括:发送第一故障确定指令至j-step,所述故障确定指令包含故障调整阈值step-1,所述第一故障确定指令用于确认所述推送节点j是否故障;当确认为所述推送节点j-1未故障的情况下,生成第二故障确定指令,所述第二故障确定指令包含故障调整阈值step-2,所述第二故障确定指令用于确认所述推送节点j-2是否故障;以此类推,当确认为所述推送节点j-n-1为故障的情况下,生成第n故障确定指令,所述第n故障确定指令包含故障调整阈值step-n,所述第n故障指令用于确认所述推送节点j-n是否故障,1≤n≤j-step-1;当确认为所述推送节点j-n故障的情况下,根据所述故障节点j-n生成故障报告。
本发明实施例另一方面提供一种节点,所述推送节点包括:获得模块,用于获得指定信息;第一推送模块,用于根据关联路径在所述其他推送节点中确定关联节点,将所述指定信息推送至所述关联节点,以使所述关联节点同步所述指定信息;第二推送模块,用于根据预设路径将所述指定信息推送至所述多个其他推送节点,以使所述多个其他推送节点同步所述指定信息。
在一可实施方式中,所述关联路径基于保活时间确定;相应的,所述第一推送模块,包括:第一确定子模块,用于根据保活时间确定与所述推送节点对应的保活节点,所述保活节点为所述多个其他推送节点中的至少之一;排序子模块,用于对所述保活节点对应的保活时间进行排序,将满足排序条件的保活时间对应的保活节点确定为关联节点;第一推送子模块,用于将所述指定信息推送至关联节点。
在一可实施方式中,所述推送节点、多个其他推送节点还与中心节点之间通信连接;所述中心节点,包括:接收模块,用于所述中心节点接收来自所述推送节点i的指定信息、推送次数阈值step和当前推送记录[data_i,timestamp_i,1/N],1≤i≤N,N为推送节点的总数;生成模块,用于并根据所述推送次数阈值和当前推送记录生成推送进度报告report[data_i,timestamp_i];所述接收模块,还用于所述中心节点接收来自其他推送节点j的推送次数阈值step和当前推送记录[data_j,timestamp_j,1+step/N];j=i+step,1≤i≤j≤N。
在一可实施方式中,所述预设路径包括预设方向和邻居信息;相应的,所述第二推送模块,包括:第二确定子模块,用于根据所述邻居信息确定邻居节点;第二推送子模块,用于根据预设方向将所述指定信息推送至邻居节点,以使所述邻居节点同步所述指定信息并根据所述推送次数阈值对与邻居节点对应的当前推送记录进行调整。
在一可实施方式中,所述节点还包括:故障推送模块,用于当确定所述邻居节点处于故障的情况下,根据与所述邻居节点对应的邻居信息生成故障报告,推送所述故障报告至中心节点;故障接收模块,用于接收来自所述中心节点的故障处理指令,所述故障处理指令包括指定节点信息;故障确定模块,用于根据指定节点信息确定指定节点,将所述指定信息推送至所述指定节点,所述指定节点为处于故障的推送节点在预设方向上的邻居节点。
在一可实施方式中,所述故障为接收故障;相应的,所述节点还包括:确定所述邻居节点处于接收故障的情况下,根据与所述邻居节点对应的所述邻居信息生成故障报告。
在一可实施方式中,所述故障为推送故障;所述中心节点设置有与推送次数阈值step对应的更新间隔时间;相应的,所述节点包括:所述中心节点在更新间隔时间内未收到当前推送记录[data_j,timestamp_j]的情况下,发送故障确定指令至推送节点j-step,所述故障确定指令沿着预设方向的反方向确认故障节点x,j-step≤x≤j;timestamp_x=step-1,timestamp_i≤timestamp_x≤timestamp_j;根据所述故障节点x生成故障报告,以推送所述故障报告至中心节点。
在一可实施方式中,所述中心节点还包括:所述中心节点接收来自推送节点的推送次数阈值step’;当所述推送次数阈值step’小于所述推送次数阈值step的情况下,对所述推送次数阈值step’进行调整,以获得推送次数阈值。
在一可实施方式中,所述沿着预设方向的反方向确认故障节点x,包括:发送第一故障确定指令至j-step,所述故障确定指令包含故障调整阈值step-1,所述第一故障确定指令用于确认所述推送节点j是否故障;当确认为所述推送节点j-1未故障的情况下,生成第二故障确定指令,所述第二故障确定指令包含故障调整阈值step-2,所述第二故障确定指令用于确认所述推送节点j-2是否故障;以此类推,当确认为所述推送节点j-n-1为故障的情况下,生成第n故障确定指令,所述第n故障确定指令包含故障调整阈值step-n,所述第n故障指令用于确认所述推送节点j-n是否故障,1≤n≤j-step-1;当确认为所述推送节点j-n故障的情况下,根据所述故障节点j-n生成故障报告。
本发明实施例一方面提供一种信息同步方法,应用于推送节点,所述推送节点和多个其他推送节点之间通信连接,所述推送节点与所述多个其他推送节点为同一类型的节点,所述方法包括:获得指定信息;根据关联路径在所述其他推送节点中确定关联节点,将所述指定信息推送至所述关联节点,以使所述关联节点同步所述指定信息;根据预设路径将所述指定信息推送至所述多个其他推送节点,以使所述多个其他推送节点同步所述指定信息。
在一可实施方式中,所述关联路径基于保活时间确定;相应的,所述根据关联路径在所述其他推送节点中确定关联节点,将所述指定信息推送至所述关联节点,包括:根据保活时间确定与所述推送节点对应的保活节点,所述保活节点为所述多个其他推送节点中的至少之一;对所述保活节点对应的保活时间进行排序,将满足排序条件的保活时间对应的保活节点确定为关联节点;将所述指定信息推送至关联节点。
在一可实施方式中,所述推送节点、多个其他推送节点还与中心节点之间通信连接;所述方法还包括:所述中心节点接收来自所述推送节点i的指定信息、推送次数阈值step和当前推送记录[data_i,timestamp_i],1≤i≤N,N为推送节点的总数;并根据所述推送次数阈值和当前推送记录生成推送进度报告report[data_i,timestamp_i];所述中心节点接收来自其他推送节点j的推送次数阈值step和当前推送记录[data_j,timestamp_j];j=i+step,1≤i≤j≤N。
在一可实施方式中,所述预设路径包括预设方向和邻居信息;相应的,所述根据预设路径将所述指定信息推送至多个其他推送节点,包括:根据所述邻居信息确定邻居节点,根据预设方向将所述指定信息推送至邻居节点,以使所述邻居节点同步所述指定信息并根据所述推送次数阈值对与邻居节点对应的当前推送记录进行调整。
在一可实施方式中,在根据预设方向将所述指定信息推送至邻居节点之后,所述方法还包括:当确定所述邻居节点处于故障的情况下,根据与所述邻居节点对应的邻居信息生成故障报告,推送所述故障报告至中心节点;接收来自所述中心节点的故障处理指令,所述故障处理指令包括指定节点信息;根据指定节点信息确定指定节点,将所述指定信息推送至所述指定节点,所述指定节点为处于故障的推送节点在预设方向上的邻居节点。
在一可实施方式中,所述故障为接收故障;相应的,在推送故障报告至中心节点之前,所述方法包括:当确定所述邻居节点处于接收故障的情况下,根据与所述邻居节点对应的所述邻居信息生成故障报告。
在一可实施方式中,所述故障为推送故障;所述中心节点设置有与推送次数阈值step对应的更新间隔时间;相应的,在推送故障报告至中心节点之前,所述方法包括:所述中心节点在更新间隔时间内未收到当前推送记录[data_j,timestamp_j]的情况下,发送故障确定指令至推送节点j-step,所述故障确定指令沿着预设方向的反方向确认故障节点x,j-step≤x≤j;timestamp_x=step-1,timestamp_i≤timestamp_x≤timestamp_j;根据所述故障节点x生成故障报告,以推送所述故障报告至中心节点。
在一可实施方式中,所述方法还包括:所述中心节点接收来自推送节点的推送次数阈值step’;当所述推送次数阈值step’小于所述推送次数阈值step的情况下,对所述推送次数阈值step’进行调整,以获得推送次数阈值。
在一可实施方式中,所述沿着预设方向的反方向确认故障节点x,包括:发送第一故障确定指令至j-step,所述故障确定指令包含故障调整阈值step-1,所述第一故障确定指令用于确认所述推送节点j是否故障;当确认为所述推送节点j-1未故障的情况下,生成第二故障确定指令,发送第二故障确定指令至j-step,所述第二故障确定指令包含故障调整阈值step-2,所述第二故障确定指令用于确认所述推送节点j-2是否故障;以此类推,当确认为所述推送节点j-n-1未故障的情况下,生成第n故障确定指令,所述第n故障确定指令包含故障调整阈值step-n,所述第n故障指令用于确认所述推送节点j-n是否故障,1≤n≤step;当确认为所述推送节点j-n故障的情况下,根据所述故障节点j-n生成故障报告。
本发明实施例另一方面提供一种节点,所述推送节点包括:获得模块,用于获得指定信息;第一推送模块,用于根据关联路径在所述其他推送节点中确定关联节点,将所述指定信息推送至所述关联节点,以使所述关联节点同步所述指定信息;第二推送模块,用于根据预设路径将所述指定信息推送至所述多个其他推送节点,以使所述多个其他推送节点同步所述指定信息。
在一可实施方式中,所述关联路径基于保活时间确定;相应的,所述第一推送模块,包括:第一确定子模块,用于根据保活时间确定与所述推送节点对应的保活节点,所述保活节点为所述多个其他推送节点中的至少之一;排序子模块,用于对所述保活节点对应的保活时间进行排序,将满足排序条件的保活时间对应的保活节点确定为关联节点;第一推送子模块,用于将所述指定信息推送至关联节点。
在一可实施方式中,所述推送节点、多个其他推送节点还与中心节点之间通信连接;所述中心节点,包括:接收模块,用于所述中心节点接收来自所述推送节点i的指定信息、推送次数阈值step和当前推送记录[data_i,timestamp_i],1≤i≤N,N为推送节点的总数;生成模块,用于并根据所述推送次数阈值和当前推送记录生成推送进度报告report[data_i,timestamp_i];所述接收模块,还用于所述中心节点接收来自其他推送节点j的推送次数阈值step和当前推送记录[data_j,timestamp_j];j=i+step,1≤i≤j≤N。
在一可实施方式中,所述预设路径包括预设方向和邻居信息;相应的,所述第二推送模块,包括:第二确定子模块,用于根据所述邻居信息确定邻居节点;第二推送子模块,用于根据预设方向将所述指定信息推送至邻居节点,以使所述邻居节点同步所述指定信息并根据所述推送次数阈值对与邻居节点对应的当前推送记录进行调整。
在一可实施方式中,所述节点还包括:故障推送模块,用于当确定所述邻居节点处于故障的情况下,根据与所述邻居节点对应的邻居信息生成故障报告,推送所述故障报告至中心节点;故障接收模块,用于接收来自所述中心节点的故障处理指令,所述故障处理指令包括指定节点信息;故障确定模块,用于根据指定节点信息确定指定节点,将所述指定信息推送至所述指定节点,所述指定节点为处于故障的推送节点在预设方向上的邻居节点。
在一可实施方式中,所述故障为接收故障;相应的,所述节点还包括:确定所述邻居节点处于接收故障的情况下,根据与所述邻居节点对应的所述邻居信息生成故障报告。
在一可实施方式中,所述故障为推送故障;所述中心节点设置有与推送次数阈值step对应的更新间隔时间;相应的,所述节点包括:所述中心节点在更新间隔时间内未收到当前推送记录[data_j,timestamp_j]的情况下,发送故障确定指令至推送节点j-step,所述故障确定指令沿着预设方向的反方向确认故障节点x,j-step≤x≤j;timestamp_x=step-1,timestamp_i≤timestamp_x≤timestamp_j;根据所述故障节点x生成故障报告,以推送所述故障报告至中心节点。
在一可实施方式中,所述中心节点还包括:所述中心节点接收来自推送节点的推送次数阈值step’;当所述推送次数阈值step’小于所述推送次数阈值step的情况下,对所述推送次数阈值step’进行调整,以获得推送次数阈值。
在一可实施方式中,所述沿着预设方向的反方向确认故障节点x,包括:发送第一故障确定指令至j-step,所述故障确定指令包含故障调整阈值step-1,所述第一故障确定指令用于确认所述推送节点j是否故障;当确认为所述推送节点j-1未故障的情况下,生成第二故障确定指令,所述第二故障确定指令包含故障调整阈值step-2,所述第二故障确定指令用于确认所述推送节点j-2是否故障;以此类推,当确认为所述推送节点j-n-1为故障的情况下,生成第n故障确定指令,所述第n故障确定指令包含故障调整阈值step-n,所述第n故障指令用于确认所述推送节点j-n是否故障,1≤n≤j-step-1;当确认为所述推送节点j-n故障的情况下,根据所述故障节点j-n生成故障报告。
应用本发明实施例提供的信息同步方法,推送节点通过关联路径确定关联节点后,将指定信息推送至关联节点,关联节点接收该指定信息并根据指定信息进行信息同步,然后推送节点通过预设路径将指定信息依次推送至集群中的其他推送节点,从而能够将指定信息向整个集群的节点或相关节点进行报告或推送,以保证所有节点的信息一致性。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1为本发明实施例一种信息同步方法的实现流程示意图;
图2为本发明实施例一种信息同步方法确定关联节点的实现流程示意图;
图3为本发明实施例一种信息同步方法生成推送进度报告的实现流程示意图;
图4为本发明实施例一种信息同步方法处理故障的实现流程示意图;
图5为本发明实施例应用一种信息同步方法集群部署的实施场景示意图;
图6为本发明实施例应用一种信息同步方法信息推送关联节点的实施场景示意图;
图7为本发明实施例应用一种信息同步方法信息推送邻居节点的实施场景示意图;
图8为本发明实施例应用一种信息同步方法节点接收故障的实施场景示意图;
图9为本发明实施例应用一种信息同步方法节点发送故障的实施场景示意图;
图10为本发明实施例应用一种信息同步方法确定发送故障节点的实施场景示意图;
图11为本发明实施例应用一种信息同步方法确定处理故障节点的实施场景示意图;
图12为本发明实施例一种节点的实现模块示意图;
图13为本发明实施例一种中心节点的实现模块示意图。
具体实施方式
为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本邻居技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一种信息同步方法的实现流程示意图。
参见图1,本发明实施例一方面提供的一种信息同步方法,应用于推送节点,推送节点和多个其他推送节点之间通信连接,推送节点与多个其他推送节点为同一类型的节点,方法包括:操作101,获得指定信息;操作102,根据关联路径在其他推送节点中确定关联节点,将指定信息推送至关联节点,以使关联节点同步指定信息;操作103,根据预设路径将指定信息推送至多个其他推送节点,以使多个其他推送节点同步指定信息。
本发明实施例提供的信息同步方法应用于分布式系统,在分布式系统的集群中,当集群中任一节点的信息发生变化的情况下,应用本方法将变化后的信息向整个集群的节点或相关节点进行报告或推送,以保证所有节点的信息一致性。可以理解的是,本方法集群中的节点总数量为至少三个,适用于集群中任一个用于进行信息推送的节点。应用本方法,能够解决信息在报告或推送同步过程中的资源占用率高、信息同步延迟导致造成其他任务无法正常运行的问题,在集群中的节点进行信息推送同步的情况下,减少对节点其他任务的影响。该方法能够通用于具有推送信息的场景,不仅适用有状态的信息推送,还适用于控制类信息的推送。
在本方法操作101中,指定信息为发生变化的配置信息,可以理解的是,配置信息可以通过数据或其他形式体现。需要说明的是,本方法中的指定信息,不包括基于信息同步获得的、来自集群中其他推送节点所推送并指示同步的信息。当集群中的推送节点发生配置信息变化的情况下,该发生配置信息变化的推送节点执行操作102。
在操作102中,推送节点通过关联路径确定关联节点。其中,关联节点选为与配置信息变化的推送节点所相关的节点,具体的,关联节点可以选为满足以下任一条件的节点:与该推送节点执行相同任务的节点、与该推送节点执行相关任务的节点、与该推送节点建立有心跳机制的节点、与该节点存在任务通信的节点。关联路径指代该推送节点与关联节点之间的通信路径。当该推送节点通过关联路径确定关联节点后,将指定信息推送至关联节点,关联节点接收该指定信息并根据指定信息进行信息同步,从而满足发生信息变化的推送节点和关联节点之间的信息和数据的一致性。例如,在一种情况下,有3个推送节点,分别为推送节点1、推送节点2、推送节点3,当推送节点1的配置信息发生变化时,推送节点1通过关联路径确定推送节点3为关联节点,推送节点1将发生变化的配置信息推送至关联节点3,以使关联节点3同步配置信息,从而实现了推送节点和关联节点之间的信息和数据的一致性。
在本方法操作103中,推送节点通过预设路径将指定信息依次推送至集群中的其他推送节点。预设路径为在集群中所有推送节点进行部署时已经确定好的路径,用于在配置信息发生变化时进行配置信息的推送。当推送节点的配置信息发生变化时,推送节点根据预设路径将指定信息依次推送至其他推送节点。例如,在一种情况下,有3个推送节点,分别为推送节点1、推送节点2、推送节点3,进行集群部署,设置推送节点1将信息推送至推送节点2,推送节点2将信息推送至推送节点3,推送节点3将信息推送至推送节点1。当推送节点1的配置信息发生变化时,推送节点1根据预设路径将信息推送至推送节点2,以使推送节点2同步配置信息,推送节点2将信息推送至推送节点3,以使推送节点3同步配置信息,从而实现该推送节点与集群中其他推送节点之间的信息和数据的一致性。
在该方法中,当推送节点的配置信息发生变化的情况下,推送节点首先将配置信息推送至关联节点,以使关联节点同步配置信息,避免与该推送节点相关联的节点在信息同步上出现滞后性,避免关联节点具有相关性依赖的信息更新不及时,从而保障了业务的正常运行。然后,推送节点按照预设路径将信息推送依次推送至集群中的其他推送节点,以使集群中的其他推送节点同步配置信息,基于预设路径的推送方式,能够降低信息同步过程中的资源占用率,从而降低信息同步过程中网络资源的占用率,避免拥塞到其他业务所需要的网络资源。
图2为本发明实施例一种信息同步方法确定关联节点的实现流程示意图。
参见图2,在本发明实施例中,关联路径基于保活时间确定;相应的,操作102,根据关联路径在其他推送节点中确定关联节点,将指定信息推送至关联节点,包括:操作1021,根据保活时间确定与推送节点对应的保活节点,保活节点为多个其他推送节点中的至少之一;操作1022,对保活节点对应的保活时间进行排序,将满足排序条件的保活时间对应的保活节点确定为关联节点;操作1023,将指定信息推送至关联节点。
在本方法实施例中,通过保活时间(keepal ived)确定与推送节点相关的关联节点。具体的,当确定推送节点与其他推送节点之间存在keepal ived机制的情况下,将其确定为保活节点,推送节点与保活节点之间具有一定的相关性,可以理解的是,保活节点可以为一个或多个。在一种情况下,推送节点在根据keepal ived机制确定多个保活节点后,可以直接将保活节点全部确定为关联节点,从而将配置信息推送给多个保活节点,以使多个保活节点同步配置信息。在另一种情况下,为避免当保活节点的数量过多时造成资源占用过高,本方法可以对保活节点进行进一步筛选,以控制关联节点的数量,避免关联节点的数量过多时造成资源占用过高。在本方法中,推送节点对保活节点对应的保活时间进行排序,将保活时间距离当前时间最近的保活节点确定为关联节点,并将指定信息推送至关联节点,以使关联节点同步指定信息。其中,保活时间指代最后一次节点之间通过keepal ived机制发送信息的时间。需要补充的是,根据设定规则,本方法还可以其他与keepal ived的机制相关的分析数据对保活节点进行排序筛选,如节点之间的信息发送频率等。进一步的,在对保活节点进行排序之后,本方法可以设定满足排序条件的数量,也可以不设定数量。如在一种情况下,本方法将保活时间最近的保活节点确定为关联节点,在另一种情况下,本方法可以将满足保护时间阈值的保活节点均确定为关联节点,即关联节点的数量可以为一个或多个,可选为一个。
图3为本发明实施例一种信息同步方法生成推送进度报告的实现流程示意图。
参见图3,在本发明实施例中,推送节点、多个其他推送节点还与中心节点之间通信连接;方法还包括:操作301,中心节点接收来自推送节点i的指定信息、推送次数阈值step和当前推送记录[data_i,timestamp_i,1/N],1≤i≤N,N为推送节点的总数;操作302,并根据推送次数阈值和当前推送记录生成推送进度报告report[data_i,timestamp_i];操作303,中心节点接收来自其他推送节点j的推送次数阈值step和当前推送记录[data_j,timestamp_j,1+step/N];j=i+step,1≤i≤j≤N。
在本方法集群的部署中,设定有中心节点,中心节点用于记录所有推送节点的指定信息同步情况。需要说明的是,中心节点由集群中的节点通过选主获得。本方法在推送节点发生配置信息变化时,推送节点发送指定信息至中心节点,中心节点接收来自推送节点i的指定信息以实现信息的同步和记录。其中,推送节点i指代配置信息发送变化的节点。推送次数阈值step用于表示大于等于1的正整数,用于在指定信息推送按预设路径推送的次数到达推送次数阈值step时,向中心节点报告推送情况,以使中心节点对指定信息的推送情况进行更新,推送次数阈值step可以提前预设。当前推送记录[data_i,timestamp_i],1≤i≤N,N为推送节点的总数,包括当前推送记录的时间戳,以及发送该推送记录的节点信息。即,当推送节点i在操作101获得指定信息后,需要向中心节点发送指定信息、推送次数阈值和当前推送记录,以使中心节点同步指定信息,根据推送次数阈值和当前推送记录生成推送进度报告report[data_i,timestamp_i,1/N]。并且,根据推送次数阈值和当前推送记录确定下一次接收推送记录的时间阈值。可以理解的是,时间阈值根据每一次推送所花时间、推送次数阈值和当前推送记录中的时间戳可以确定,且中心节点可以根据推送节点i的节点信息和推送次数阈值确定下一次发送推送记录的推送节点的节点信息。在满足时间阈值的情况下,中心节点接收来自其他推送节点j的推送次数阈值step和当前推送记录[data_j,timestamp_j];j=i+step,1≤i≤j≤N。需要补充的是,当节点j将配置信息推送至节点j+1时,重新开始计推送次数,即,从节点j将配置信息推送至节点j+1的推送次数为1。1/N表征推送进度已经完成的比例,其中,N为不含中心节点的节点总数。需要理解的是,上述的推送进度报告不仅含节点信息、时间戳和推送进度,还可以包含其他信息。
在本发明实施例中,预设路径包括预设方向和邻居信息;相应的,操作103,根据预设路径将指定信息推送至多个其他推送节点,包括:根据邻居信息确定邻居节点,根据预设方向将指定信息推送至邻居节点,以使邻居节点同步指定信息并根据推送次数阈值对与邻居节点对应的当前推送记录进行调整。
本方法预设路径在进行集群部署时确定,其中,预设路径为指定信息的传递路径,预设路径为环状;预设方向为传递信息的路径的方向;邻居信息为一推送节点前后两侧的节点信息,例如,集群环境中的节点按预设路径排序包括节点1、节点2、节点3、节点4、节点5,节点2所记录的邻居信息为节点1和节点3的节点信息。需要补充的是,推送节点记录邻居信息和预设方向,中心节点记录所有节点的节点信息和预设路径。
为方便理解,以下提供一种实施场景进行说明。在该场景中,集群环境中的节点包括节点1、节点2、节点3、节点4、节点5和节点0。该集群在部署时,确定节点0为中心节点,其他节点为推送节点,预设路径为节点1将信息推送至节点2,节点2将信息推送至节点3,节点3将信息推送至节点4,节点4将信息推送至节点5,节点5将信息推送至节点1,推送次数阈值预设为2。当节点3的配置信息发生变化时,将变化的配置信息、推送次数阈值2和当前推送记录[节点3,推送时间戳]发送至中心节点,以使中心节点同步变化的配置信息,并根据推送次数阈值2和当前推送记录[节点3,节点3推送时间戳]生成推送进度报告report[节点3,节点3推送时间戳],用于记录发生配置信息变化的节点及信息变化的时间。节点3还通过keepal ived机制确定关联节点,如当确定为保活时间最近的节点为节点1的时候,将节点1确定为关联节点,并将变化的配置信息推送至节点1,以使节点1同步变化的配置信息。之后,节点3通过预设路径将变化的配置信息推送至节点4,以使节点4同步变化的配置信息、记录推送次数1并确定推送次数1是是否满足推送次数阈值2;当确定为推送次数1不满足推送次数阈值2的情况下,将节点4将变化的配置信息推送至节点1,以使节点1同步变化的配置信息、记录推送次数2,并确定推送次数2是否满足推送次数阈值2,当确定推送次数2满足推送次数阈值2时,节点4发送推送次数阈值2和当前推送记录[节点1,节点1推送时间戳]至中心节点,以使中心节点根据推送次数阈值2和当前推送记录[节点1,节点1推送时间戳]生成推送进度报告report[节点1,节点1推送时间戳],用于表征集群中节点的信息同步已经沿预设路径从节点3同步至节点1,以此类推,直至中心节点记录所有节点均完成信息同步。
图4为本发明实施例一种信息同步方法处理故障的实现流程示意图。
参见图4,在本发明实施例中,在根据预设方向将指定信息推送至邻居节点之后,方法还包括:操作401,当确定邻居节点处于故障的情况下,根据与邻居节点对应的邻居信息生成故障报告,推送故障报告至中心节点;操作402,接收来自中心节点的故障处理指令,故障处理指令包括指定节点信息;操作403,根据指定节点信息确定指定节点,将指定信息推送至指定节点,指定节点为处于故障的推送节点在预设方向上的邻居节点。
可以理解的是,在集群中,当某一推送节点故障时,会导致信息无法同步至位于该故障节点的预设路径后方的其他推送节点。基于此,本方法的推送节点确定其预设方向上邻居节点处于故障的情况下,根据与邻居节点对应的邻居信息生成故障报告,并推送故障报告至中心节点,以使中心节点记录邻居节点为故障节点,并根据部署时的预设路径生成故障处理指令并发送至推送节点,故障处理指令包含位于故障节点预设方向上的邻居信息,以使推送节点根据故障处理指令跳过故障节点,将指定信息推送至故障节点在预设方向上的邻居节点,实现信息的继续推送和同步。其中,故障可以为配置信息的接收故障,也可以为配置信息的发送故障。
在本发明实施例中,故障为接收故障;相应的,在推送故障报告至中心节点之前,方法包括:当确定邻居节点处于接收故障的情况下,根据与邻居节点对应的邻居信息生成故障报告。
当故障为接收故障的情况下,当前推送节点将配置信息发送至其预设方向上的邻居节点时,邻居节点无法接收配置信息,即,当前推送节点无法将配置信息发送至故障节点,此时,当前推送节点确定邻居节点处于接收故障状态,根据与邻居节点对应的邻居信息生成故障报告推送至中心节点,以使中心节点根据故障报告中的邻居信息生成故障处理指令,故障处理指令中包含故障节点在预设方向上的邻居节点所对应的信息,以使推送节点根据故障处理指令跳过故障节点,将指定信息推送至故障节点在预设方向上的邻居节点,实现信息的继续推送和同步。
为方便上述实施方式的理解,以下提供一种具体实施场景进行说明,在该场景中,集群环境中的节点包括节点1、节点2、节点3、节点4、节点5和节点0。该集群在部署时,确定节点0为中心节点,其他节点为推送节点,预设路径为节点1将信息推送至节点2,节点2将信息推送至节点3,节点3将信息推送至节点4,节点4将信息推送至节点5,节点5将信息推送至节点1。
当节点2发生配置信息变化的情况下,节点2首先将配置信息推送至中心节点,以使中心节点同步配置信息并记录当前推送进度报告。然后节点2按照关联路径将指定信息发送至关联节点,以使关联节点同步配置信息。再后,节点2沿预设方向将配置信息发送至节点3,以使节点3同步配置信息;节点3需要将配置信息发送至节点4,当节点4处于接收故障时,节点4无法接收来自节点3的配置信息,即节点3无法将配置信息发送至节点4,由于在集群部署时,节点3已经记录有节点4的节点信息,节点3生成包含节点4的故障报告发送至中心节点,中心节点根据故障报告中的与节点4对应的节点信息生成故障处理指令,故障处理指令中包含节点5所对应的节点信息,以使节点3根据故障处理指令将指定信息推送节点5,实现信息的继续推送和同步。
在本发明实施例中,故障为推送故障;中心节点设置有与推送次数阈值step对应的更新间隔时间;相应的,在推送故障报告至中心节点之前,方法包括:首先,中心节点在更新间隔时间内未收到当前推送记录[data_j,timestamp_j]的情况下,发送故障确定指令至推送节点j-step,故障确定指令沿着预设方向的反方向确认故障节点x,j-step≤x≤j;timestamp_x=step-1,timestamp_i≤timestamp_x≤timestamp_j;然后,根据故障节点x生成故障报告,以推送故障报告至中心节点。
具体的,中心节点根据推送次数阈值和推送进度报告中的节点时间戳可以确定时间阈值,即正常情况下,中心节点接收推送进度报告的最大的更新间隔时间。当故障为推送故障时,推送节点将配置信息发送故障节点,故障节点接收配置信息后,无法将配置信息发送至预设路径上的邻居节点,即,无法在更新间隔时间内将当前推送记录发送至中心节点,当中心节点无法在更新间隔时间内未收到当前推送记录[data_j,timestamp_j]的情况下,可确定为在上一次推送记录所对应的推送节点之后至该次理论推送当前推送记录的节点之间的节点中存在发送故障的情况,此时,中心节点发送故障确定指令至推送节点j-step,节点j-step用于表征上一次推送记录所对应的推送节点在预设方向上的邻居节点。为方便理解,以下提供一种具体实施场景,在该场景的集群部署时,设置推送次数阈值为4,包括节点1至15和中心节点,预设方向沿节点1向节点15推送,且节点15向节点1推送,节点7存在接收故障。在该场景中,节点1的配置信息发送了变化,节点1向中心节点推送配置信息并发送当前推送记录,以使中心节点根据当前推送记录生成推送进度报告,根据推送次数阈值和当前推送记录确定更新间隔时间,如4s、5s、6s或其他任意值,本场景设置为5s,可以理解的是,由于节点1在将配置信息沿预设路径推送之前,先将配置信息推送至关联路径,因此更新间隔时间可以长于实际理论时间间隔;也可以是第一次更新间隔时间长于后续的更新间隔时间,如在接收节点1的当前推送记录后,更新间隔时间设置为6s,在接收节点5的当前推送记录后,更新间隔时间设置为5s。其中,需要说明的是,只有发生配置信息变化的节点将配置信息发送至中心节点,同步配置信息的节点不发送配置信息至中心节点,从而降低了中心节点的资源占用率。
在该场景中,当配置信息从节点1沿预设路径推送至节点5时,节点5的推送次数满足推送次数阈值,节点5向中心节点发送当前推送记录,以使中心节点根据当前推送记录生成推送进度报告。在5s内,中心节点未收到来自节点9的当前推送记录,此时,中心节点可以确定节点6至节点9之间存在接收故障,发送故障确定指令至节点6,故障确定指令用于指示沿着预设方向的反方向确认故障节点x,可以理解的是,x为节点6至节点9中的其中一个节点,即节点7。当确定为节点7为故障节点后,根据节点7生成故障报告,并推送故障报告至中心节点。可以理解的是,故障报告由故障节点反向预设方向的邻居节点生成,即在该场景中,由节点6生成。
具体的,沿着预设方向的反方向确认故障节点x,包括:首先,发送第一故障确定指令至j-step,故障确定指令包含故障调整阈值step-1,第一故障确定指令用于确认推送节点j是否故障;然后,当确认为推送节点j未故障的情况下,生成第二故障确定指令,第二故障确定指令包含故障调整阈值step-2,第二故障确定指令用于确认推送节点j-1是否故障;再后,以此类推,当确认为推送节点j-n-1未故障的情况下,生成第n故障确定指令,第n故障确定指令包含故障调整阈值step-n,第n故障指令用于确认推送节点j-n+1是否故障,1≤n≤step-1;最后,当确认为推送节点j-n故障的情况下,根据故障节点j-n生成故障报告。
为方便上述实施方式的理解,以上述实施场景进行进一步说明。由中心节点发送第一故障确定指令至节点5,在第一故障确定指令中,第一故障确定指令用于指示将推送次数阈值调整为故障调整阈值,即对推送次数阈值进行减一处理,将故障调整阈值确定为3,从而对节点9是否为故障节点进行检测,可以理解的是,如果故障节点为9,则该故障确定指令可以推送至节点8,当节点8的推送次数满足故障调整阈值3时,即可确定节点9为故障节点,节点8根据节点9对应的节点信息生成并发送故障报告至中心节点。同理,当故障节点在节点6至节点8之间,节点8无法在与故障调整阈值对应的更新间隔时间内发送故障报告至中心节点,中心节点生成并发送第二故障确定指令至节点5,在第二故障确定指令中,对推送次数阈值进行减二处理,将故障调整阈值确定为2,从而对节点8否为故障节点进行检测,可以理解的是,如果故障节点为8,则该故障确定指令可以推送至节点7,当节点7的推送次数满足故障调整阈值2时,即可确定节点8为故障节点,节点7根据节点8对应的节点信息生成并发送故障报告至中心节点。以此类推,当故障节点在节点6至节点7之间,节点7无法在与故障调整阈值对应的更新间隔时间内发送故障报告至中心节点,中心节点生成并发送第三故障确定指令至节点5,在第三故障确定指令中,对推送次数阈值进行减三处理,将故障调整阈值确定为1,从而对节点7否为故障节点进行检测,可以理解的是,如果故障节点为7,则该故障确定指令可以推送至节点6,当节点6的推送次数满足故障调整阈值1时,即可确定节点7为故障节点,节点6根据节点7对应的节点信息生成并发送故障报告至中心节点。需要补充的是,若节点6未发送故障报告至中心节点,则可以确定为节点6为故障节点,由中心节点根据节点6生成故障报告。
在本发明实施例中,方法还包括:首先,中心节点接收来自推送节点的推送次数阈值step’;然后,当推送次数阈值step’小于推送次数阈值step的情况下,对推送次数阈值step’进行调整,以获得推送次数阈值。
可以理解的是,当节点中出现故障节点后,中心节点将推送次数阈值调整为故障调整阈值,故障调整阈值的数值相较于部署时的推送次数阈值较小,按照故障调整阈值进行推送,占用的资源较高,因此,在完成跳过故障节点进行信息同步之后,中心节点对下一轮的推送次数阈值进行加一调整,直至与部署时的推送次数阈值相同。为方便理解,结合上述实施场景进行具体说明。即在节点6根据节点7对应的节点信息生成并发送故障报告至中心节点之后,中心节点根据节点8的节点信息生成故障处理指令同时,中心节点将故障调整阈值进行加一处理,得到数值3,并将其确定为推送次数阈值3,将推送次数阈值3和节点8的节点信息发送至节点6,以指示节点6将配置信息推送至节点8,节点8同步配置信息后推送至节点9,节点9同步配置信息后推送至节点10,此时满足推送次数阈值3,节点10发送推送次数阈值3和当前推送记录至中心节点,中心节点确定推送次数阈值3不满足预设推送次数阈值4,对推送次数阈值3进行加一处理,得到推送次数阈值4,并发送推送阈值4至节点10,以使节点10发送推送次数阈值4和配置信息至节点11,直至推送至节点14,节点14的推送次数4满足推送次数阈值4,节点14将当前推送记录发送至中心节点。
为方便上述实施例的整体理解,以下提供再一种实施场景进行具体说明。
图5为本发明实施例应用一种信息同步方法集群部署的实施场景示意图。
参见图5,在该场景中,首先对集群进行部署,具体的,在该集群中共有17个节点,以0至16进行排序并标记,通过集群选主确定0号节点为中心节点,本方法可以采用任意已知的集群选主确定中心节点。并根据1号节点至16号节点的顺序确定预设路径,预设路径头尾相接,1号节点至16号节点的每一个节点都记录其邻居节点的节点信息,可以理解的是,每一个节点的邻居信息都有两个,包括左邻居和右邻居,如1号节点的左邻居是16号节点,右邻居是2号节点。
图6为本发明实施例应用一种信息同步方法信息推送关联节点的实施场景示意图。
参见图6,完成部署后,当1号节点的配置信息发生变化的情况下,1号节点将变化的配置信息、推送次数阈值报告给0号节点,在该场景中,推送次数阈值设置为5,以使0号节点同步变化的配置信息,并记录当前时间戳和1号节点作为推送进度报告。然后1号节点根据发生业务的链接keepal ived确定保活节点,并确定保活节点中保活时间最近的节点为关联节点,即1号节点最近访问的节点,本场景为15号节点,1号节点将变化的配置信息推送给15号节点,以使15号节点同步变化的配置信息。此时,信息同步进度为1/16。
图7为本发明实施例应用一种信息同步方法信息推送邻居节点的实施场景示意图。
参见图7,然后,1号节点按照预设路径的预设方向和部署时记录的邻居节点信息,将变化的配置信息推送至2号节点,以使2号节点同步变化的配置信息,沿着预设路径每推送一次,推送次数加1。以此类推,当5号节点将变化的配置信息推送至6号节点时,推送次数为5次,此时,推送次数满足推送次数阈值,6号节点发送当前推送记录至中心节点,中心节点根据6号节点对应的节点信息和对应的时间戳对推送进度报告进行更新,以记录1号节点至6号节点已经完成配置信息的同步。
图8为本发明实施例应用一种信息同步方法节点接收故障的实施场景示意图。
参见图8,当6号节点将信息推送至7号节点的过程中,在达到设定的重试次数后,6号节点仍然不能将配置信息推送至7号节点,6号节点根据7号节点的节点信息生成故障报告发送至0号节点。0号节点更新进度报告,并发送指令至6号节点,以指示6号节点将配置信息推送至8号节点。8号节点,可以理解的是,6号节点将配置信息推送至8号节点的推送次数记录为1。
图9为本发明实施例应用一种信息同步方法节点发送故障的实施场景示意图。图10为本发明实施例应用一种信息同步方法确定发送故障节点的实施场景示意图。图11为本发明实施例应用一种信息同步方法确定处理故障节点的实施场景示意图。
参见图9、图10和图11,需要补充的是,中心节点根据推送次数阈值5和推送进度报告当中的时间戳确定下一次推送进度报告更新的最大间隔时间5Z,其中,Z为正数,当超过最大间隔时间5Z后,中心节点未收到来自12号节点的当前推送记录。中心节点确定为8号节点至12号节点之间有节点存在故障。中心节点将推送次数阈值减1,得到故障调整阈值4,然后根据故障调整阈值4和当前时间戳确定最大间隔时间4Z,中心节点将包含故障调整阈值4的指令发送至6号节点,以确定12号节点是否存在故障,当11号节点的推送次数满足故障调整阈值4,11号节点发送当前进度报告至中心节点,中心节点可以确定12号节点存在故障,反之,中心节点在最大间隔时间4Z内,无法收到来自11号节点的当前进度报告,中心节点确定为8号节点至11号节点之间有节点存在故障,中心节点将推送次数阈值减2,得到故障调整阈值3,然后根据故障调整阈值3和当前时间戳确定最大间隔时间3Z,中心节点将包含故障调整阈值4的指令发送至6号节点,以确定11号节点是否存在故障,当10号节点的推送次数满足故障调整阈值3,10号节点发送当前进度报告至中心节点,中心节点可以确定11号节点存在故障,中心节点更新推送进度报告,对故障调整阈值3进行加1处理,得到推送次数阈值4,根据12号节点对应的节点信息和推送次数阈值4生成指令,以指示10号节点将配置信息推送至12号节点。需要补充的是,当后续还有多个节点情况下,在下一次中心节点更新推送进度报告时,对故障调整阈值4进行加1处理,使推送次数阈值回复至5,使后续在节点的推送次数阈值均为5,当该配置信息推送至16号节点时,集群中所有节点完成对该配置信息的同步。
图12为本发明实施例一种节点的实现模块示意图。
参见图12,本发明实施例另一方面提供一种节点,节点包括:获得模块501,用于获得指定信息;第一推送模块502,用于根据关联路径在其他推送节点中确定关联节点,将指定信息推送至关联节点,以使关联节点同步指定信息;第二推送模块503,用于根据预设路径将指定信息推送至多个其他推送节点,以使多个其他推送节点同步指定信息。
在一可实施方式中,关联路径基于保活时间确定;相应的,第一推送模块502,包括:第一确定子模块5021,用于根据保活时间确定与推送节点对应的保活节点,保活节点为多个其他推送节点中的至少之一;排序子模块5022,用于对保活节点对应的保活时间进行排序,将满足排序条件的保活时间对应的保活节点确定为关联节点;第一推送子模块5023,用于将指定信息推送至关联节点。
图13为本发明实施例一种中心节点的实现模块示意图。
在一可实施方式中,推送节点、多个其他推送节点还与中心节点之间通信连接;中心节点包括:接收模块601,用于中心节点接收来自推送节点i的指定信息、推送次数阈值step和当前推送记录[data_i,timestamp_i],1≤i≤N,N为推送节点的总数;生成模块602,用于并根据推送次数阈值和当前推送记录生成推送进度报告report[data_i,timestamp_i];接收模块601,还用于中心节点接收来自其他推送节点j的推送次数阈值step和当前推送记录[data_j,timestamp_j];j=i+step,1≤i≤j≤N,所述生成模块602,还用于并根据推送次数阈值和当前推送记录生成推送进度报告report[data_j,timestamp_j]。
在一可实施方式中,预设路径包括预设方向和邻居信息;相应的,第二推送模块503,包括:第二确定子模块5031,用于根据邻居信息确定邻居节点;第二推送子模块5032,用于根据预设方向将指定信息推送至邻居节点,以使邻居节点同步指定信息并根据推送次数阈值对与邻居节点对应的当前推送记录进行调整。
在一可实施方式中,节点还包括:故障推送模块504,用于当确定邻居节点处于故障的情况下,根据与邻居节点对应的邻居信息生成故障报告,推送故障报告至中心节点;故障接收模块505,用于接收来自中心节点的故障处理指令,故障处理指令包括指定节点信息;故障确定模块506,用于根据指定节点信息确定指定节点,将指定信息推送至指定节点,指定节点为处于故障的推送节点在预设方向上的邻居节点。
在一可实施方式中,故障为接收故障;相应的,节点还包括:确定邻居节点处于接收故障的情况下,根据与邻居节点对应的邻居信息生成故障报告。
在一可实施方式中,故障为推送故障;中心节点设置有与推送次数阈值step对应的更新间隔时间;相应的,节点包括:中心节点在更新间隔时间内未收到当前推送记录[data_j,timestamp_j]的情况下,发送故障确定指令至推送节点j-step,故障确定指令沿着预设方向的反方向确认故障节点x,j-step≤x≤j;timestamp_x=step-1,timestamp_i≤timestamp_x≤timestamp_j;根据故障节点x生成故障报告,以推送故障报告至中心节点。
在一可实施方式中,中心节点还包括:中心节点接收来自推送节点的推送次数阈值step’;当推送次数阈值step’小于推送次数阈值step的情况下,对推送次数阈值step’进行调整,以获得推送次数阈值。
在一可实施方式中,沿着预设方向的反方向确认故障节点x,包括:发送第一故障确定指令至j-step,故障确定指令包含故障调整阈值step-1,第一故障确定指令用于确认推送节点j是否故障;当确认为推送节点j-1未故障的情况下,生成第二故障确定指令,第二故障确定指令包含故障调整阈值step-2,第二故障确定指令用于确认推送节点j-2是否故障;以此类推,当确认为推送节点j-n-1为故障的情况下,生成第n故障确定指令,第n故障确定指令包含故障调整阈值step-n,第n故障指令用于确认推送节点j-n是否故障,1≤n≤j-step-1;当确认为推送节点j-n故障的情况下,根据故障节点j-n生成故障报告。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本邻居的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术邻居的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种信息同步方法,其特征在于,应用于推送节点,所述推送节点和多个其他推送节点之间通信连接,所述推送节点与所述多个其他推送节点为同一类型的节点,所述方法包括:
获得指定信息;
根据关联路径在所述其他推送节点中确定关联节点,将所述指定信息推送至所述关联节点,以使所述关联节点同步所述指定信息;
根据预设路径将所述指定信息推送至所述多个其他推送节点,以使所述多个其他推送节点同步所述指定信息。
2.根据权利要求1所述的方法,其特征在于,所述关联路径基于保活时间确定;
相应的,所述根据关联路径在所述其他推送节点中确定关联节点,将所述指定信息推送至所述关联节点,包括:
根据保活时间确定与所述推送节点对应的保活节点,所述保活节点为所述多个其他推送节点中的至少之一;
对所述保活节点对应的保活时间进行排序,将满足排序条件的保活时间对应的保活节点确定为关联节点;
将所述指定信息推送至关联节点。
3.根据权利要求1所述的方法,其特征在于,所述推送节点、多个其他推送节点还与中心节点之间通信连接;所述方法还包括:
所述中心节点接收来自所述推送节点i的指定信息、推送次数阈值step和当前推送记录[data_i,timestamp_i],1≤i≤N,N为推送节点的总数;
根据所述推送次数阈值和当前推送记录生成推送进度报告report[data_i,timestamp_i,1/N];
所述中心节点接收来自其他推送节点j的推送次数阈值step和当前推送记录[data_j,timestamp_j];j=i+step,1≤i≤j≤N;
根据所述推送次数阈值和当前推送记录生成推送进度报告report[data_j,timestamp_j,1+step/N]。
4.根据权利要求1或3所述的方法,其特征在于,所述预设路径包括预设方向和邻居信息;
相应的,所述根据预设路径将所述指定信息推送至多个其他推送节点,包括:
根据所述邻居信息确定邻居节点,根据预设方向将所述指定信息推送至邻居节点,以使所述邻居节点同步所述指定信息并根据所述推送次数阈值对与邻居节点对应的当前推送记录进行调整。
5.根据权利要求4所述的方法,其特征在于,在根据预设方向将所述指定信息推送至邻居节点之后,所述方法还包括:
当确定所述邻居节点处于故障的情况下,根据与所述邻居节点对应的邻居信息生成故障报告,推送所述故障报告至中心节点;
接收来自所述中心节点的故障处理指令,所述故障处理指令包括指定节点信息;
根据指定节点信息确定指定节点,将所述指定信息推送至所述指定节点,所述指定节点为处于故障的推送节点在预设方向上的邻居节点。
6.根据权利要求5所述的方法,其特征在于,所述故障为接收故障;
相应的,在推送故障报告至中心节点之前,所述方法包括:
当确定所述邻居节点处于接收故障的情况下,根据与所述邻居节点对应的所述邻居信息生成故障报告。
7.根据权利要求5所述的方法,其特征在于,所述故障为推送故障;所述中心节点设置有与推送次数阈值step对应的更新间隔时间;
相应的,在推送故障报告至中心节点之前,所述方法包括:
所述中心节点在更新间隔时间内未收到当前推送记录[data_j,timestamp_j]的情况下,发送故障确定指令至推送节点j-step,所述故障确定指令沿着预设方向的反方向确认故障节点x,j-step≤x≤j;timestamp_x=step-1,timestamp_i≤timestamp_x≤timestamp_j;
根据所述故障节点x生成故障报告,以推送所述故障报告至中心节点。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
所述中心节点接收来自推送节点的推送次数阈值step’;
当所述推送次数阈值step’小于所述推送次数阈值step的情况下,对所述推送次数阈值step’进行调整,以获得推送次数阈值。
9.一种节点,所述推送节点包括:
获得模块,用于获得指定信息;
第一推送模块,用于根据关联路径在所述其他推送节点中确定关联节点,将所述指定信息推送至所述关联节点,以使所述关联节点同步所述指定信息;
第二推送模块,用于根据预设路径将所述指定信息推送至所述多个其他推送节点,以使所述多个其他推送节点同步所述指定信息。
10.根据权利要求1所述的节点,其特征在于,所述关联路径基于保活时间确定;
相应的,所述第一推送模块,包括:
确定子模块,用于根据保活时间确定与所述推送节点对应的保活节点,所述保活节点为所述多个其他推送节点中的至少之一;
排序子模块,用于对所述保活节点对应的保活时间进行排序,将满足排序条件的保活时间对应的保活节点确定为关联节点;
推送子模块,用于将所述指定信息推送至关联节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011043585.7A CN112398905B (zh) | 2020-09-28 | 2020-09-28 | 一种节点及信息同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011043585.7A CN112398905B (zh) | 2020-09-28 | 2020-09-28 | 一种节点及信息同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112398905A true CN112398905A (zh) | 2021-02-23 |
CN112398905B CN112398905B (zh) | 2022-05-31 |
Family
ID=74596605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011043585.7A Active CN112398905B (zh) | 2020-09-28 | 2020-09-28 | 一种节点及信息同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112398905B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065480A (zh) * | 2010-11-22 | 2011-05-18 | 北京邮电大学 | 基于路径优先级的无线传感器网络拥塞避免与控制方法 |
CN104092719A (zh) * | 2013-12-17 | 2014-10-08 | 深圳市腾讯计算机系统有限公司 | 文件传输方法、装置及分布式集群文件系统 |
CN104767778A (zh) * | 2014-01-07 | 2015-07-08 | 中兴通讯股份有限公司 | 任务处理方法及装置 |
CN105187548A (zh) * | 2015-09-25 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种集群监控信息收集方法与系统 |
CN105553737A (zh) * | 2015-12-25 | 2016-05-04 | 浪潮(北京)电子信息产业有限公司 | 一种节点管理方法与系统 |
CN105827678A (zh) * | 2015-01-07 | 2016-08-03 | 中国移动通信集团山东有限公司 | 一种基于高可用架构下的通信方法和节点 |
CN106301853A (zh) * | 2015-06-05 | 2017-01-04 | 华为技术有限公司 | 集群系统中节点的故障检测方法和装置 |
CN110941665A (zh) * | 2019-10-31 | 2020-03-31 | 北京浪潮数据技术有限公司 | 节点间的数据同步方法、数据同步装置及数据同步设备 |
-
2020
- 2020-09-28 CN CN202011043585.7A patent/CN112398905B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065480A (zh) * | 2010-11-22 | 2011-05-18 | 北京邮电大学 | 基于路径优先级的无线传感器网络拥塞避免与控制方法 |
CN104092719A (zh) * | 2013-12-17 | 2014-10-08 | 深圳市腾讯计算机系统有限公司 | 文件传输方法、装置及分布式集群文件系统 |
CN104767778A (zh) * | 2014-01-07 | 2015-07-08 | 中兴通讯股份有限公司 | 任务处理方法及装置 |
CN105827678A (zh) * | 2015-01-07 | 2016-08-03 | 中国移动通信集团山东有限公司 | 一种基于高可用架构下的通信方法和节点 |
CN106301853A (zh) * | 2015-06-05 | 2017-01-04 | 华为技术有限公司 | 集群系统中节点的故障检测方法和装置 |
CN105187548A (zh) * | 2015-09-25 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种集群监控信息收集方法与系统 |
CN105553737A (zh) * | 2015-12-25 | 2016-05-04 | 浪潮(北京)电子信息产业有限公司 | 一种节点管理方法与系统 |
CN110941665A (zh) * | 2019-10-31 | 2020-03-31 | 北京浪潮数据技术有限公司 | 节点间的数据同步方法、数据同步装置及数据同步设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112398905B (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116112139B (zh) | 波束失败恢复方法及装置 | |
US6711411B1 (en) | Management of synchronization network | |
KR100322025B1 (ko) | 이동통신시스템에서주파수할당의증설방법및시스템 | |
US7286490B2 (en) | Method for routing information over a network employing centralized control | |
US5579318A (en) | Processes and apparatus for maintaining data concurrence between databases in telecommunications networks | |
EP1653763B1 (en) | Wireless base stations and mobile stations | |
CN110896543B (zh) | 电池管理系统及传输信息的方法和装置 | |
US5991629A (en) | Cellular networks with spare base and satellite stations | |
US5933590A (en) | Restoration of multiple span cuts with priority hand-off using SHN | |
CN112398905B (zh) | 一种节点及信息同步方法 | |
WO1999056412A1 (de) | Verfahren zum betreiben eines funk-kommunikationssystems | |
EP1120989A1 (en) | Method and apparatus for providing network protection at input/output interfaces of a cross-connect switch | |
WO2005096563A1 (de) | Verfahren zur kommunikation in einem wlan mit einer gruppe aus relaisstationen und funkzugangspunkten | |
CN112866833A (zh) | 一种业务恢复方法、装置、电子设备及存储介质 | |
CN103259639A (zh) | 一种堆叠设备的时钟同步方法和设备 | |
CN113301502B (zh) | 一种基于多基站协作的无线通信系统和方法 | |
EP3731441A1 (en) | Synchronization information transmission method, synchronization method, network node and storage medium | |
JP3844215B2 (ja) | ネットワーク構成管理システム、ノード装置、ネットワーク構成管理方法、ノード装置制御方法、ノード装置制御プログラム | |
KR20230119215A (ko) | 클록 소스 선택 방법 및 장치 | |
JP2002010348A (ja) | 基地局・移動局間での報知情報の報知方式 | |
EP1209850A1 (en) | System and method for network element synchronization | |
US8254336B1 (en) | Multiple distinct physical channels for mesh control | |
US5873038A (en) | System and method for distributing channel port loading functionality | |
CN110113395A (zh) | 共享文件系统维护方法及装置 | |
JPH08107415A (ja) | 同期型lanシステム及び同期型lanにおけるマスタクロックノードの自動変更方法 |
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 |