CN114844909A - 基于互联网的共识机制查询*** - Google Patents
基于互联网的共识机制查询*** Download PDFInfo
- Publication number
- CN114844909A CN114844909A CN202210344499.2A CN202210344499A CN114844909A CN 114844909 A CN114844909 A CN 114844909A CN 202210344499 A CN202210344499 A CN 202210344499A CN 114844909 A CN114844909 A CN 114844909A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- sequencing
- module
- administrator
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/30—Decision processes by autonomous network management units using voting and bidding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- 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/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了基于互联网的共识机制查询***,包括分层分群架构模块、分布式消息定序模块和消息多备份缓存模块,所述分层分群架构模块用于采用分层分群的架构模式将整个网络环境划分为多个集群,所述分布式消息定序模块用于利用分布式的消息通信网络,在集群控制器上定义定序节点,所述消息多备份缓存模块用于利用消息转发路径的进行消息的多备份缓存,所述分层分群架构模块与分布式消息定序模块电连接,所述分布式消息定序模块与消息多备份缓存模块电连接,实现管理员与定序节点协同定序并增加崩溃管理,通过双层索引实现消息的快速查找反馈,本发明,具有消息序号缺失可查询和节点管理员崩溃可管理的特点。
Description
技术领域
本发明涉及共识机制技术领域,具体为基于互联网的共识机制查询***。
背景技术
共识机制是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认,对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识;发布订阅***是一种分布式的消息交互与共享的中间件,其中主题是主要关注的焦点,订阅者以订阅主题的形式声明对事件的关注,无需关注主题的发布者的位置,发布者只需将某种主题的消息发布到***中,不用关注主题的订阅者,所以实现了发布者与订阅者之间的解耦,基于以上的特性,发布订阅***可以应用到诸多领域,例如股票信息交换、物流监控等。而在这些应用中,实现消息的有序性以及可靠交付尤为重要。
但在基于SDN的发布订阅***中,目前存在两个主要的缺陷,一是订阅者无法定位到在消息传输过程中丢失了哪些消息,二是由于该***没有消息缓存机制,消息在传输过程中一旦丢失,订阅者将无法获取到该消息,在真实的网络环境中,由于网络转发的复杂性,数据在传输中经常会出现丢失现象,消息的共识主要是指消息的一致性,即如果某一条消息被传递到一个订阅者,那么所有订阅该消息的订阅者都能收到该消息,而基于SDN发布订阅***是一个分布式的去中心化的物联网***,传统的分布式共识机制不能直接应用于此***中,因此,设计消息序号缺失可查询的基于互联网的共识机制查询***是很有必要的。
发明内容
本发明的目的在于提供基于互联网的共识机制查询***,以解决上述背景技术中提出的问题。
为了解决上述技术问题,本发明提供如下技术方案:基于互联网的共识机制查询***,包括分层分群架构模块、分布式消息定序模块和消息多备份缓存模块,所述分层分群架构模块用于采用分层分群的架构模式将整个网络环境划分为多个集群,所述分布式消息定序模块用于利用分布式的消息通信网络,在集群控制器上定义定序节点,所述消息多备份缓存模块用于利用消息转发路径的进行消息的多备份缓存,所述分层分群架构模块与分布式消息定序模块电连接,所述分布式消息定序模块与消息多备份缓存模块电连接。
根据上述技术方案,所述分层分群架构模块包括管理员模块、集群控制单元和物理设备及WSN模块,所述管理员模块中的管理员是特殊的控制器,具备控制器功能以及整个网络管理功能,所述集群控制单元用于承担集群内发布订阅事务的处理,同时具有对物理环境处理的拓扑管理、路由管理以及流表管理等功能,所述物理设备及WSN模块中的物理设备主要包括SDN交换机,作用是根据集群控制器下发的转发规则对消息进行转发,WSN层负责与用户进行直接交互实现对消息的转发,所述管理员模块与集群控制单元网络连接,所述集群控制单元与物理设备及WSN模块网络连接。
根据上述技术方案,所述分布式消息定序模块包括定序节点模块、协同定序管理模块、崩溃管理模块和唯一消息ID生成模块,所述定序节点模块用于根据***的拓扑结构计算最小生成树的根节点,所述协同定序管理模块用于管理员将定序节点组成令牌环协同持有令牌的节点对收到的消息进行定序,所述崩溃管理模块用于对节点和管理员发生崩溃时进行状态转移处理,所述唯一消息ID生成模块用于利用发布节点的WSN层在接收到发布消息后为消息生成唯一ID,所述定序节点模块与协同定序管理模块电连接,所述崩溃管理模块与唯一消息ID生成模块电连接;
所述定序节点模块包括节点选择子模块、缺失消息查询子模块和管理员功能子模块,所述节点选择子模块用于管理员根据全网的拓扑结构以及每棵主题树的发布节点选择合适的定序节点,所述缺失消息查询子模块用于用户在没有收到消息及没有接收到消息序号时向***查询缺失消息,所述管理员功能子模块用于将管理员的一些功能封装为接口并将接口暴露给用户,用户通过接口调用管理员的功能,所述节点选择子模块与缺失消息查询子模块电连接,所述缺失消息查询子模块与管理员功能子模块电连接;
所述崩溃管理模块包括节点崩溃管理子模块和管理员崩溃管理子模块,所述节点崩溃管理子模块用于当管理员收到定序节点的终止序号后将当前序号状态更新为终止序号,所述管理员崩溃管理子模块用于对管理员随时出现崩溃的状况下利用定序节点的状态转移保证消息的有序性,同时恢复定序功能,所述节点崩溃管理子模块与管理员崩溃管理子模块电连接。
根据上述技术方案,所述消息多备份缓存模块包括多点缓存模块、缓存节点选择模块和双层索引模块,所述多点缓存模块用于设置消息多备份保证当网络边缘缓存节点故障时可以由其他备份节点提供消息查询服务,所述缓存节点选择模块用于获取发布组的消息转发路径上所有集群并进行排序选择,所述双层索引模块用于采取双层索引的方式实现订阅者查找缺失消息时的快速查找,所述多点缓存模块与缓存节点选择模块电连接,所述缓存节点选择模块与双层索引模块电连接。
根据上述技术方案,所述共识机制查询方法主要包括以下步骤:
步骤S1:启动管理员与集群控制器,集群订阅以主题树为单位选择定序节点,管理员根据定序节点选择算法,通过广播定序节点列表告知集群控制器选择结果,被选中的集群控制器启动相应的定序程序;
步骤S2:定序节点启动成功后,管理员按照令牌环的顺序依次向定序节点下发令牌,定序节点收到令牌后开始定序;
步骤S3:管理员下发序号的初始值,目标定序节点根据集群内的消息数量返回序号的终止值,管理员收到序号的终止值后正式向定序节点下发令牌,定序节点收到令牌后正式为消息定序并通过广播的形式告知消息的序号,完成定序后释放令牌;
步骤S4:定序节点与管理员协同配合生成序号后,定序节点将主题的唯一ID与消息序号一一对应并进行下发;
步骤S5:通过多次发送消息的方式确定定序节点是否崩溃,定序节点通过消息超时的方式以确定管理员是否崩溃;
步骤S6:缓存节点收到主题消息时通过双层索引的方式将消息缓存在硬盘文件中,通过双层索引的保存方式进行消息的快速查找;
步骤S7:通过将已收到的消息与收到消息序号后的订阅节点进行对比,判断是否有消息缺失,并根据判断结果向缓存节点进行查询。
根据上述技术方案,所述步骤S1中,所述以主题树为单位选择的定序节点,是指通过基于全网的拓扑结构,构建所有集群节点的完全联通子图以及构建所有发布节点的最小联通子图和发布节点的最小生成树,并计算某一主题树的全部发布节点在全网中的联通子图和连通子图的最小生成树,最后删除所得的最小生成树中度为一的节点,得到发布节点的最小生成树,其中最小生成树的根节点即为该主题树的定序节点。
根据上述技术方案,所述步骤S2进一步包括以下步骤:
步骤S21:管理员根据全网的拓扑结构以及每棵主题树的发布节点以主题树为单位选择合适的定序节点;
步骤S22:发布者通过发布节点进行消息的发布,定序节点在发布节点发布消息时与订阅节点同时对主题消息进行监听;
步骤S23:管理员将定序节点组成令牌环,按照令牌环的顺序依次向定序节点下发令牌,持有令牌的节点对收到的消息进行定序。
根据上述技术方案,所述步骤S3进一步包括以下步骤:
步骤S31:发布节点WSN层在收到用户发布的消息并进行转发前,为每一个消息生成一个唯一ID标识区分各消息,并将唯一ID封装到消息中,将消息与唯一ID共同进行转发;
步骤S32:定序节点与管理员协同合作为消息生成全局有序序号,定序节点将生成的序号进行下发;
步骤S33:管理员下发序号的初始序号m,定序节点收到初始序号后根据当前节点内消息的数量计算所需要的序号数a,并返回终止序号m+a;
步骤S34:管理员收到终止序号后下发令牌,定序节点收到令牌后为节点内消息分配序号并下发,定序完成后向管理员返回令牌。
根据上述技术方案,所述步骤S5进一步包括以下步骤:
步骤S51:定序节点进入等待令牌状态,在规定时间内未收到管理员的任何消息,此时认定管理员崩溃,进入管理员重选并主动发起选举,向其他节点发送投票申请,并投自己一票,等待其他节点的回复;
步骤S52:当当前节点赢得了选举之后成为新的管理员,立刻进行节点间消息的发布,并向节点发送序号同步请求,同步当前序号。
根据上述技术方案,所述步骤S7进一步包括以下步骤:
步骤S71:当用户没有收到消息和消息序号时,通过消息接口向WSN发起缺失消息和缺失消息序号请求;
步骤S72:WSN根据消息ID确定发布者所在集群和发布组,获取缓存该消息的缓存节点,利用距离最近的缓存节点进行查询请求发送,针对缺失消息序号请求,WSN根据消息的主题确定定序节点并通过定序节点发送查询请求;
步骤S73:缓存节点根据收到的查询请求根据主题序号通过双层索引进行缺失消息的锁定,定序节点收到查询请求后根据主题的ID查找序号,查询结果返还给WSN,WSN将结果反馈给用户。
与现有技术相比,本发明所达到的有益效果是:本发明,通过设置有分层分群架构模块、分布式消息定序模块和消息多备份缓存模块,实现了一种定序节点选择算法以主题树为单位选择定序节点,通过管理员令牌驱动定序,定序后同步序号的方式实现了与定序节点的协同定序,并增加了定序节点崩溃管理,管理员崩溃管理以及管理员崩溃后管理员重选算法以处理网络中节点崩溃的问题,并利用缓存节点选择算法,通过双层索引的方式实现消息的快速查找,并根据查找结果进行反馈。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明的***模块组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供技术方案:基于互联网的共识机制查询***,包括分层分群架构模块、分布式消息定序模块和消息多备份缓存模块,分层分群架构模块用于采用分层分群的架构模式将整个网络环境划分为多个集群,分布式消息定序模块用于利用分布式的消息通信网络,在集群控制器上定义定序节点,消息多备份缓存模块用于利用消息转发路径的进行消息的多备份缓存,分层分群架构模块与分布式消息定序模块电连接,分布式消息定序模块与消息多备份缓存模块电连接,采用分层分群的架构模式将整个网络环境划分为多个集群,从上到下共分为四层:管理员,集群控制器、物理设备以及WSN层。
分层分群架构模块包括管理员模块、集群控制单元和物理设备及WSN模块,管理员模块中的管理员是特殊的控制器,具备控制器功能以及整个网络管理功能,集群控制单元用于承担集群内发布订阅事务的处理,同时具有对物理环境处理的拓扑管理、路由管理以及流表管理等功能,物理设备及WSN模块中的物理设备主要包括SDN交换机,作用是根据集群控制器下发的转发规则对消息进行转发,WSN层负责与用户进行直接交互实现对消息的转发,管理员模块与集群控制单元网络连接,集群控制单元与物理设备及WSN模块网络连接。
分布式消息定序模块包括定序节点模块、协同定序管理模块、崩溃管理模块和唯一消息ID生成模块,定序节点模块用于根据***的拓扑结构计算最小生成树的根节点,协同定序管理模块用于管理员将定序节点组成令牌环协同持有令牌的节点对收到的消息进行定序,崩溃管理模块用于对节点和管理员发生崩溃时进行状态转移处理,唯一消息ID生成模块用于利用发布节点的WSN层在接收到发布消息后为消息生成唯一ID,定序节点模块与协同定序管理模块电连接,崩溃管理模块与唯一消息ID生成模块电连接;
定序节点模块包括节点选择子模块、缺失消息查询子模块和管理员功能子模块,节点选择子模块用于管理员根据全网的拓扑结构以及每棵主题树的发布节点选择合适的定序节点,缺失消息查询子模块用于用户在没有收到消息及没有接收到消息序号时向***查询缺失消息,管理员功能子模块用于将管理员的一些功能封装为接口并将接口暴露给用户,用户通过接口调用管理员的功能,节点选择子模块与缺失消息查询子模块电连接,缺失消息查询子模块与管理员功能子模块电连接;
崩溃管理模块包括节点崩溃管理子模块和管理员崩溃管理子模块,节点崩溃管理子模块用于当管理员收到定序节点的终止序号后将当前序号状态更新为终止序号,管理员崩溃管理子模块用于对管理员随时出现崩溃的状况下利用定序节点的状态转移保证消息的有序性,同时恢复定序功能,节点崩溃管理子模块与管理员崩溃管理子模块电连接。
消息多备份缓存模块包括多点缓存模块、缓存节点选择模块和双层索引模块,多点缓存模块用于设置消息多备份保证当网络边缘缓存节点故障时可以由其他备份节点提供消息查询服务,缓存节点选择模块用于获取发布组的消息转发路径上所有集群并进行排序选择,双层索引模块用于采取双层索引的方式实现订阅者查找缺失消息时的快速查找,多点缓存模块与缓存节点选择模块电连接,缓存节点选择模块与双层索引模块电连接。
共识机制查询方法主要包括以下步骤:
步骤S1:启动管理员与集群控制器,集群订阅以主题树为单位选择定序节点,管理员根据定序节点选择算法,通过广播定序节点列表告知集群控制器选择结果,被选中的集群控制器启动相应的定序程序,管理员主要负责令牌管理、序号同步以及定序节点崩溃管理,管理员根据定序节点选择算法选择出合适的定序节点后将选择进行广播,被选中的节点完成定序节点功能初始化,管理员节点将定序节点组成令牌环,并按照令牌环的顺序依次向定序节点下发令牌同步序号,并在定序节点崩溃时,及时发现并处理;
步骤S2:定序节点启动成功后,管理员按照令牌环的顺序依次向定序节点下发令牌,定序节点收到令牌后开始定序,定序节点主要负责分布式定序以及管理员崩溃管理,当集群控制器被选为定序节点后,集群控制器首先要实现定序节点功能的初始化,并返回启动成功的消息,定序节点创建成功后,与管理员协同完成分布式的定序工作;
步骤S3:管理员下发序号的初始值,目标定序节点根据集群内的消息数量返回序号的终止值,管理员收到序号的终止值后正式向定序节点下发令牌,定序节点收到令牌后正式为消息定序并通过广播的形式告知消息的序号,完成定序后释放令牌;
步骤S4:定序节点与管理员协同配合生成序号后,定序节点将主题的唯一ID与消息序号一一对应并进行下发,所以订阅者在收到主题消息后,可以收到主题消息对应的序号;
步骤S5:通过多次发送消息的方式确定定序节点是否崩溃,定序节点通过消息超时的方式以确定管理员是否崩溃,在真实的网络环境中,节点和管理节点的管理员随时可能发生崩溃,通过定序节点崩溃管理和管理员崩溃管理应对定序节点和管理员出现崩溃的情况,当多次发送消息且没有收到回复后认定定序节点崩溃,认定节点崩溃后管理员通过冻结令牌并且重新选择新的定序节点方式保证消息定序的正常运行,当超时未收到管理员消息时认定管理员崩溃,管理员崩溃后定序节点通过与其他定序节点投票的方式选出新的管理员保证消息定序功能的正常运行;
步骤S6:缓存节点收到主题消息时通过双层索引的方式将消息缓存在硬盘文件中,通过双层索引的保存方式进行消息的快速查找;
步骤S7:通过将已收到的消息与收到消息序号后的订阅节点进行对比,判断是否有消息缺失,并根据判断结果向缓存节点进行查询。
步骤S1中,以主题树为单位选择的定序节点,是指通过基于全网的拓扑结构,构建所有集群节点的完全联通子图以及构建所有发布节点的最小联通子图和发布节点的最小生成树,并计算某一主题树的全部发布节点在全网中的联通子图和连通子图的最小生成树,最后删除所得的最小生成树中度为一的节点,得到发布节点的最小生成树,其中最小生成树的根节点即为该主题树的定序节点。
步骤S2进一步包括以下步骤:
步骤S21:管理员根据全网的拓扑结构以及每棵主题树的发布节点以主题树为单位选择合适的定序节点,消息的顺序指的是消息到达定序节点的顺序,消息的发送方就是主题的发布者,针对某一主题树需要保证定序节点距离每一个发布节点的距离相同或距离差最小,该算法的输入为全网的拓扑结构以及每棵主题树的发布节点,经过计算输出一个节点作为定序节点,并以该节点为根,发布节点为子节点,构建一颗最小生成树,该生成树由定序节点,发布节点以及中间节点构成;
步骤S22:发布者通过发布节点进行消息的发布,定序节点在发布节点发布消息时与订阅节点同时对主题消息进行监听;
步骤S23:管理员将定序节点组成令牌环,按照令牌环的顺序依次向定序节点下发令牌,持有令牌的节点对收到的消息进行定序,集群控制器收到管理员的定序节点列表且当前集群在列表中,表示当前集群已被选中为定序节点,此时定序节点启动定序线程,并向管理员回复启动成功的消息。
步骤S3进一步包括以下步骤:
步骤S31:发布节点WSN层在收到用户发布的消息并进行转发前,为每一个消息生成一个唯一ID标识区分各消息,并将唯一ID封装到消息中,将消息与唯一ID共同进行转发,实现消息与序号的对应;
步骤S32:定序节点与管理员协同合作为消息生成全局有序序号,定序节点将生成的序号进行下发;
步骤S33:管理员下发序号的初始序号m,定序节点收到初始序号后根据当前节点内消息的数量计算所需要的序号数a,并返回终止序号m+a;
步骤S34:管理员收到终止序号后下发令牌,定序节点收到令牌后为节点内消息分配序号并下发,定序完成后向管理员返回令牌。
步骤S5进一步包括以下步骤:
步骤S51:定序节点进入等待令牌状态,在规定时间内未收到管理员的任何消息,此时认定管理员崩溃,进入管理员重选并主动发起选举,向其他节点发送投票申请,并投自己一票,等待其他节点的回复,消息定序通过管理员与定序节点协同完成,当管理员崩溃后***将无法正常运行,需要在定序节点间重新选取一个新的管理员保证***的正常运行;
步骤S52:当当前节点赢得了选举之后成为新的管理员,立刻进行节点间消息的发布,并向节点发送序号同步请求,同步当前序号。
步骤S7进一步包括以下步骤:
步骤S71:当用户没有收到消息和消息序号时,通过消息接口向WSN发起缺失消息和缺失消息序号请求;
步骤S72:WSN根据消息ID确定发布者所在集群和发布组,获取缓存该消息的缓存节点,利用距离最近的缓存节点进行查询请求发送,针对缺失消息序号请求,WSN根据消息的主题确定定序节点并通过定序节点发送查询请求;
步骤S73:缓存节点根据收到的查询请求根据主题序号通过双层索引进行缺失消息的锁定,定序节点收到查询请求后根据主题的ID查找序号,查询结果返还给WSN,WSN将结果反馈给用户。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.基于互联网的共识机制查询***,包括分层分群架构模块、分布式消息定序模块和消息多备份缓存模块,其特征在于:所述分层分群架构模块用于采用分层分群的架构模式将整个网络环境划分为多个集群,所述分布式消息定序模块用于利用分布式的消息通信网络,在集群控制器上定义定序节点,所述消息多备份缓存模块用于利用消息转发路径的进行消息的多备份缓存,所述分层分群架构模块与分布式消息定序模块电连接,所述分布式消息定序模块与消息多备份缓存模块电连接。
2.根据权利要求1所述的基于互联网的共识机制查询***,其特征在于:所述分层分群架构模块包括管理员模块、集群控制单元和物理设备及WSN模块,所述管理员模块中的管理员是特殊的控制器,具备控制器功能以及整个网络管理功能,所述集群控制单元用于承担集群内发布订阅事务的处理,同时具有对物理环境处理的拓扑管理、路由管理以及流表管理等功能,所述物理设备及WSN模块中的物理设备主要包括SDN交换机,作用是根据集群控制器下发的转发规则对消息进行转发,WSN层负责与用户进行直接交互实现对消息的转发,所述管理员模块与集群控制单元网络连接,所述集群控制单元与物理设备及WSN模块网络连接。
3.根据权利要求2所述的基于互联网的共识机制查询***,其特征在于:所述分布式消息定序模块包括定序节点模块、协同定序管理模块、崩溃管理模块和唯一消息ID生成模块,所述定序节点模块用于根据***的拓扑结构计算最小生成树的根节点,所述协同定序管理模块用于管理员将定序节点组成令牌环协同持有令牌的节点对收到的消息进行定序,所述崩溃管理模块用于对节点和管理员发生崩溃时进行状态转移处理,所述唯一消息ID生成模块用于利用发布节点的WSN层在接收到发布消息后为消息生成唯一ID,所述定序节点模块与协同定序管理模块电连接,所述崩溃管理模块与唯一消息ID生成模块电连接;
所述定序节点模块包括节点选择子模块、缺失消息查询子模块和管理员功能子模块,所述节点选择子模块用于管理员根据全网的拓扑结构以及每棵主题树的发布节点选择合适的定序节点,所述缺失消息查询子模块用于用户在没有收到消息及没有接收到消息序号时向***查询缺失消息,所述管理员功能子模块用于将管理员的一些功能封装为接口并将接口暴露给用户,用户通过接口调用管理员的功能,所述节点选择子模块与缺失消息查询子模块电连接,所述缺失消息查询子模块与管理员功能子模块电连接;
所述崩溃管理模块包括节点崩溃管理子模块和管理员崩溃管理子模块,所述节点崩溃管理子模块用于当管理员收到定序节点的终止序号后将当前序号状态更新为终止序号,所述管理员崩溃管理子模块用于对管理员随时出现崩溃的状况下利用定序节点的状态转移保证消息的有序性,同时恢复定序功能,所述节点崩溃管理子模块与管理员崩溃管理子模块电连接。
4.根据权利要求3所述的基于互联网的共识机制查询***,其特征在于:所述消息多备份缓存模块包括多点缓存模块、缓存节点选择模块和双层索引模块,所述多点缓存模块用于设置消息多备份保证当网络边缘缓存节点故障时可以由其他备份节点提供消息查询服务,所述缓存节点选择模块用于获取发布组的消息转发路径上所有集群并进行排序选择,所述双层索引模块用于采取双层索引的方式实现订阅者查找缺失消息时的快速查找,所述多点缓存模块与缓存节点选择模块电连接,所述缓存节点选择模块与双层索引模块电连接。
5.根据权利要求4所述的基于互联网的共识机制查询***,其特征在于:所述共识机制查询方法主要包括以下步骤:
步骤S1:启动管理员与集群控制器,集群订阅以主题树为单位选择定序节点,管理员根据定序节点选择算法,通过广播定序节点列表告知集群控制器选择结果,被选中的集群控制器启动相应的定序程序;
步骤S2:定序节点启动成功后,管理员按照令牌环的顺序依次向定序节点下发令牌,定序节点收到令牌后开始定序;
步骤S3:管理员下发序号的初始值,目标定序节点根据集群内的消息数量返回序号的终止值,管理员收到序号的终止值后正式向定序节点下发令牌,定序节点收到令牌后正式为消息定序并通过广播的形式告知消息的序号,完成定序后释放令牌;
步骤S4:定序节点与管理员协同配合生成序号后,定序节点将主题的唯一ID与消息序号一一对应并进行下发;
步骤S5:通过多次发送消息的方式确定定序节点是否崩溃,定序节点通过消息超时的方式以确定管理员是否崩溃;
步骤S6:缓存节点收到主题消息时通过双层索引的方式将消息缓存在硬盘文件中,通过双层索引的保存方式进行消息的快速查找;
步骤S7:通过将已收到的消息与收到消息序号后的订阅节点进行对比,判断是否有消息缺失,并根据判断结果向缓存节点进行查询。
6.根据权利要求5所述的基于互联网的共识机制查询***,其特征在于:所述步骤S1中,所述以主题树为单位选择的定序节点,是指通过基于全网的拓扑结构,构建所有集群节点的完全联通子图以及构建所有发布节点的最小联通子图和发布节点的最小生成树,并计算某一主题树的全部发布节点在全网中的联通子图和连通子图的最小生成树,最后删除所得的最小生成树中度为一的节点,得到发布节点的最小生成树,其中最小生成树的根节点即为该主题树的定序节点。
7.根据权利要求6所述的基于互联网的共识机制查询***,其特征在于:所述步骤S2进一步包括以下步骤:
步骤S21:管理员根据全网的拓扑结构以及每棵主题树的发布节点以主题树为单位选择合适的定序节点;
步骤S22:发布者通过发布节点进行消息的发布,定序节点在发布节点发布消息时与订阅节点同时对主题消息进行监听;
步骤S23:管理员将定序节点组成令牌环,按照令牌环的顺序依次向定序节点下发令牌,持有令牌的节点对收到的消息进行定序。
8.根据权利要求7所述的基于互联网的共识机制查询***,其特征在于:所述步骤S3进一步包括以下步骤:
步骤S31:发布节点WSN层在收到用户发布的消息并进行转发前,为每一个消息生成一个唯一ID标识区分各消息,并将唯一ID封装到消息中,将消息与唯一ID共同进行转发;
步骤S32:定序节点与管理员协同合作为消息生成全局有序序号,定序节点将生成的序号进行下发;
步骤S33:管理员下发序号的初始序号m,定序节点收到初始序号后根据当前节点内消息的数量计算所需要的序号数a,并返回终止序号m+a;
步骤S34:管理员收到终止序号后下发令牌,定序节点收到令牌后为节点内消息分配序号并下发,定序完成后向管理员返回令牌。
9.根据权利要求8所述的基于互联网的共识机制查询***,其特征在于:所述步骤S5进一步包括以下步骤:
步骤S51:定序节点进入等待令牌状态,在规定时间内未收到管理员的任何消息,此时认定管理员崩溃,进入管理员重选并主动发起选举,向其他节点发送投票申请,并投自己一票,等待其他节点的回复;
步骤S52:当当前节点赢得了选举之后成为新的管理员,立刻进行节点间消息的发布,并向节点发送序号同步请求,同步当前序号。
10.根据权利要求9所述的基于互联网的共识机制查询***,其特征在于:所述步骤S7进一步包括以下步骤:
步骤S71:当用户没有收到消息和消息序号时,通过消息接口向WSN发起缺失消息和缺失消息序号请求;
步骤S72:WSN根据消息ID确定发布者所在集群和发布组,获取缓存该消息的缓存节点,利用距离最近的缓存节点进行查询请求发送,针对缺失消息序号请求,WSN根据消息的主题确定定序节点并通过定序节点发送查询请求;
步骤S73:缓存节点根据收到的查询请求根据主题序号通过双层索引进行缺失消息的锁定,定序节点收到查询请求后根据主题的ID查找序号,查询结果返还给WSN,WSN将结果反馈给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210344499.2A CN114844909A (zh) | 2022-03-31 | 2022-03-31 | 基于互联网的共识机制查询*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210344499.2A CN114844909A (zh) | 2022-03-31 | 2022-03-31 | 基于互联网的共识机制查询*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114844909A true CN114844909A (zh) | 2022-08-02 |
Family
ID=82563305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210344499.2A Pending CN114844909A (zh) | 2022-03-31 | 2022-03-31 | 基于互联网的共识机制查询*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114844909A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060106995A1 (en) * | 2004-11-16 | 2006-05-18 | International Business Machines Corporation | Methods to maintain triangle ordering of coherence messages |
US20100131554A1 (en) * | 2008-11-26 | 2010-05-27 | Yahoo! Inc. | System and method for publishing messages asynchronously in a distributed database |
CN103647668A (zh) * | 2013-12-16 | 2014-03-19 | 上海证券交易所 | 一种高可用集群内主机群体决策***及切换方法 |
US20170099323A1 (en) * | 2015-10-01 | 2017-04-06 | Avaya Inc. | High availability take over for in-dialog communication sessions |
CN111669427A (zh) * | 2020-04-20 | 2020-09-15 | 北京邮电大学 | 一种软件定义网络发布订阅***和方法 |
-
2022
- 2022-03-31 CN CN202210344499.2A patent/CN114844909A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060106995A1 (en) * | 2004-11-16 | 2006-05-18 | International Business Machines Corporation | Methods to maintain triangle ordering of coherence messages |
US20100131554A1 (en) * | 2008-11-26 | 2010-05-27 | Yahoo! Inc. | System and method for publishing messages asynchronously in a distributed database |
CN103647668A (zh) * | 2013-12-16 | 2014-03-19 | 上海证券交易所 | 一种高可用集群内主机群体决策***及切换方法 |
US20170099323A1 (en) * | 2015-10-01 | 2017-04-06 | Avaya Inc. | High availability take over for in-dialog communication sessions |
CN111669427A (zh) * | 2020-04-20 | 2020-09-15 | 北京邮电大学 | 一种软件定义网络发布订阅***和方法 |
Non-Patent Citations (1)
Title |
---|
唐璐璐: "具有共识机制的SDN发布订阅***的设计与研究", 中国优秀硕士学位论文全文数据库 信息科技辑, no. 05, pages 139 - 234 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6382454B2 (ja) | 分散ストレージ及びレプリケーションシステム、並びに方法 | |
JP5798644B2 (ja) | フェデレーションインフラストラクチャ内の一貫性 | |
CN109729111B (zh) | 用于管理分布式***的方法、设备和计算机程序产品 | |
US6847993B1 (en) | Method, system and program products for managing cluster configurations | |
US6725261B1 (en) | Method, system and program products for automatically configuring clusters of a computing environment | |
US6801937B1 (en) | Method, system and program products for defining nodes to a cluster | |
CN101102250B (zh) | 用于自组织网络的分布式散列机制 | |
US6925490B1 (en) | Method, system and program products for controlling system traffic of a clustered computing environment | |
CN110727731A (zh) | 区块链网络中加入节点的方法和区块链*** | |
JP2008533564A (ja) | データ管理のための方法および装置 | |
WO2012071920A1 (zh) | 分布式内存数据库的实现方法、***、令牌控制器及内存数据库 | |
US11729133B2 (en) | Software defined network publish-subscribe system and method | |
US6807557B1 (en) | Method, system and program products for providing clusters of a computing environment | |
CN101128827A (zh) | 用于交换网络中分布式数据管理的方法和装置 | |
JP4459999B2 (ja) | 投票を活用した無停止サービスシステム及びそのシステムにおける情報更新及び提供方法 | |
CN112328421A (zh) | 一种***故障处理方法、装置、计算机设备和存储介质 | |
CN110417882B (zh) | 主节点的确定方法、装置和存储介质 | |
CN113055461B (zh) | 一种基于ZooKeeper的无人集群分布式协同指挥控制方法 | |
EP2025133B1 (en) | Repository synchronization in a ranked repository cluster | |
CN114844909A (zh) | 基于互联网的共识机制查询*** | |
CN103870471A (zh) | 二度好友查询***、方法与装置 | |
CN112000885A (zh) | 榜单服务***、榜单生成方法、服务器及存储介质 | |
Vieira et al. | Seamless paxos coordinators | |
Reinefeld et al. | A scalable, transactional data store for future internet services | |
CN117667963A (zh) | 一种分布式集群***中生成全局唯一递增订单流水号的方法 |
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 |