CN114257487A - 管理网络节点集的系统和方法 - Google Patents
管理网络节点集的系统和方法 Download PDFInfo
- Publication number
- CN114257487A CN114257487A CN202111421209.1A CN202111421209A CN114257487A CN 114257487 A CN114257487 A CN 114257487A CN 202111421209 A CN202111421209 A CN 202111421209A CN 114257487 A CN114257487 A CN 114257487A
- Authority
- CN
- China
- Prior art keywords
- management information
- node
- nodes
- class
- type
- 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
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000004044 response Effects 0.000 claims abstract description 30
- 238000004891 communication Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 18
- 230000003068 static effect Effects 0.000 claims description 14
- 238000009795 derivation Methods 0.000 claims description 11
- 230000000977 initiatory effect Effects 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 160
- 238000003860 storage Methods 0.000 description 27
- 230000015654 memory Effects 0.000 description 26
- 230000006870 function Effects 0.000 description 25
- 238000012545 processing Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 20
- 230000009471 action Effects 0.000 description 17
- 230000006872 improvement Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000002085 persistent effect Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000003936 working memory Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/02—Standardisation; Integration
- H04L41/0246—Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及管理网络节点集的方法,包括:通过在区块链网络上运行智能合约来生成用于所述区块链网络之外的网络节点集的管理信息;由消息队列监听所述区块链网络中的区块链节点处的收据,以及响应于所述区块链节点处的收据中产生与所述管理信息相关联的主题,由所述消息队列从所述区块链节点获取所述管理信息;以及由所述消息队列将所述管理信息向所述网络节点集中的向所述消息队列订阅了所述管理信息的一个或多个节点分发。本公开还涉及管理网络节点集的系统。
Description
技术领域
本公开一个或多个实施例涉及管理网络节点集的系统和方法。
背景技术
在本文中,为了方便和易于参考,使用术语“区块链”。区块链是由一系列区块组成的链式数据库,每个区块上除了记录本区块的数据外还记录上一个区块的哈希(Hash)值。本文使用此术语时的所指,除上述的区块链之外,还可以包括替代链、侧链和交易链技术、许可和未许可的分类账、共享分类账及其变体等。
近年来,使用区块链技术的服务已得到积极开发。区块链技术可以防止篡改注册数据,并通过多个参与者相互监督以高可靠性存储这样的注册数据。为此,存在对新技术的需求。
发明内容
本公开一个或多个实施例的目的之一是提供管理网络节点集的系统和方法。
根据本公开一个或多个实施例的一个方面,提供了一种管理网络节点集的方法,包括:通过在区块链网络上运行智能合约来生成用于所述区块链网络之外的网络节点集的管理信息;由消息队列监听所述区块链网络中的区块链节点处的收据,以及响应于所述区块链节点处生成包含与所述管理信息相关联的主题的收据,由所述消息队列从所述区块链节点获取所述管理信息;以及由所述消息队列将所述管理信息向所述网络节点集中的向所述消息队列订阅了所述管理信息的一个或多个节点分发。
根据本公开一个或多个实施例的又一个方面,提供了一种管理网络节点集的系统,包括:区块链网络,被配置为运行智能合约以生成用于所述区块链网络之外的网络节点集的管理信息;以及消息队列,被配置为监听所述区块链网络中的区块链节点处的收据,以及响应于所述区块链节点处生成包含与所述管理信息相关联的主题的收据,从所述区块链节点获取所述管理信息,其中,所述网络节点集中的一个或多个节点被配置为向所述消息队列订阅所述管理信息,以使得所述消息队列将所述管理信息向所述一个或多个节点分发。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本公开的一个或多个实施例,并且连同说明书一起用于解释本公开一个或多个实施例的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开一个或多个实施例,其中:
图1是能在其中应用根据本公开一个或多个示例性实施例的通信系统的结构示意图。
图2是根据本公开一个或多个示例性实施例的管理网络节点集的系统的结构示意图。
图3是根据本公开一个或多个示例性实施例的管理网络节点集的系统的结构示意图。
图4是根据本公开一个或多个示例性实施例的管理网络节点集的系统的结构示意图。
图5是根据本公开一个或多个示例性实施例的网络节点集中的客户端节点中的消息处理的示意图。
图6是根据本公开一个或多个示例性实施例的管理网络节点集的系统的结构示意图。
图7是根据本公开一个或多个示例性实施例的管理网络节点集的系统的结构示意图。
图8是可应用于根据本公开一个或多个示例性实施例的通用硬件系统的示例性框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。然而应当理解的是,本公开一个或多个实施例可以以多种不同的方式呈现出来,并不局限于下文描述的实施例。还应当理解的是,本公开一个或多个实施例能够以各种方式进行组合,从而提供更多额外的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
应当理解的是,在所有附图中,相同的附图标记表示相同的元件。在附图中,为清楚起见,某些特征的尺寸可以进行变形。
应当理解的是,本文中的用语仅用于描述特定的实施例,并不旨在限定。本文使用的所有术语(包括技术术语和科学术语)除非另外定义,均具有本领域技术人员通常理解的含义。为简明和/或清楚起见,公知的功能或结构可以不再详细说明。
在本文中,用语“连接”意图包含一个特征与另一个特征的物理、电性、和/或通信连接,并且这一个特征与另一个特征之间可以存在也可以不存在中间特征。当连接为通信连接时,即使提及A与B“直接连接”,只是意图强调A与B的连接之间不存在本公开一个或多个实施例所强调的一个或多个特征,但并不代表限制A与B之间不经过任何元件而连接,本领域技术人员应理解,A与B之间可以通过线缆、路由器、网关、信道、链路、网络等相连接。需要说明的是,在本公开一个或多个实施例的附图中,A与B之间的无论是直接连接还是间接连接都通过连接在A与B之间的直线或其他图形元素来表示。
在本文中,用语“A或B”包括“A和B”以及“A或B”,而不是排他地仅包括“A”或者仅包括“B”,除非另有特别说明。
在本文中,用语“示例性的”意指“用作示例、实例或说明”,而不是作为将被精确复制的“模型”。在此示例性描述的任意实现方式并不一定要被解释为比其它实现方式优选的或有利的。而且,本公开一个或多个实施例不受在上述技术领域、背景技术、发明内容或具体实施方式中所给出的任何所表述的或所暗示的理论所限定。
在本文中,用语“基本上”意指包含由设计或制造的缺陷、器件或元件的容差、环境影响和/或其它因素所致的任意微小的变化。用语“基本上”还允许由寄生效应、噪声以及可能存在于实际的实现方式中的其它实际考虑因素所致的与完美的或理想的情形之间的差异。
另外,仅仅为了参考的目的,还可以在本文中使用“第一”、“第二”等类似术语,并且因而并非意图限定。例如,除非上下文明确指出,否则涉及结构或元件的词语“第一”、“第二”和其它此类数字词语并没有暗示顺序或次序。
还应理解,“包括/包含”一词在本文中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件以及/或者它们的组合。
应当注意,在本文中,当提供多个相同或相似的元素时,可以使用两部分的附图标记(例如客户端节点408-1)在附图中标记它们。这些元素在本文中可以通过它们的全部附图标记(例如客户端节点408-1)单独地指代,也可以由它们的附图标记的第一部分(例如客户端节点408)共同地指代。
为便于理解,下面对本公开一个或多个实施例中涉及的术语进行说明。
节点/网络节点:网络中的参与者。网络中的每个参与者是一个节点,节点参与网络组建和数据交换。
区块链网络:由分布式网络上的多个参与者通过共识规则共同维护基于区块链技术的链式数据的系统。
区块链节点:区块链网络中的网络节点。每个区块链节点具有一份完整的账本拷贝,具有参与区块链网络共识和账本维护的能力。
客户端节点:为与“区块链节点”进行区分,在本文中,将由消息队列向其提供服务(例如向其提供区块链网络所承载的管理信息)的网络节点集中的节点称为“客户端节点”。
网络节点集:网络节点的集合,其包括一个或多个客户端节点。
智能合约:计算机可执行程序,其可以处理输入以产生结果,从而可以利用区块链网络来自动执行的合约或协议条款。
事件:除另有说明,在本文中指区块链网络中发生的特定事件或智能合约设置的特定通知。例如,事件可以包括产生了新的区块、用户发起了新的交易、智能合约特定的方法被调用等。
物联网(Internet of things,IoT):互连和/或互联的设备的系统。在该系统中,设备通过一个或多个通信网络获取、收集和/或转移内容或数据(诸如例如文本文件、图像、音频文件、视频文件、web页面、物理现象的测量结果等)。
IoT设备:物联网中的节点,其可以是物理对象或虚拟对象。IoT设备通常指的是例如嵌入在物理世界中并通过网络与计算资源连接的传感器等设备,可以用来收集数据或执行动作等。
在IoT或类IoT(例如分布式系统)的场景下,IoT或类IoT网络中的各个设备在启动后需要有初始的配置信息。管理员可以通过配置中心的服务来生成或更改配置信息。可以通过区块链网络来承载这些配置信息,以保证被存储的配置信息的可靠性。在这种情况下,配置中心的服务可以由能够在区块链网络中运行的智能合约来实现。区块链网络的各个参与方通过在智能合约里对配置信息进行投票等操作,来对配置信息进行修改。
通过区块链网络承载的信息需要下发到IoT或类IoT网络中的各个设备。一种实现方法是,IoT或类IoT网络中的各个设备分别向区块链网络中的各个区块链节点订阅特定事件(例如通过监听相应区块链节点处的收据中的特定主题(topic)),使得各个设备在用于IoT或类IoT网络中的设备的信息生成之后可以从区块链节点获取到该信息,从而使用这些信息例如进行自身设备的配置。在这样的实现方式中,存在多个设备(例如IoT设备或分布式系统的各个组成部分)同时订阅链上事件的可能。而区块链节点的事件订阅连接的个数存在上限,如果设备较多,则区块链节点需要扩容,成本增高。此外,如果设备与区块链节点之间的事件订阅连接中断,则在事件订阅连接中断期间,设备无法获得区块链网络中生成的信息。另外,新设备入网时也无法及时获得用于设备初始化的配置信息等。
根据本公开一个或多个实施例,可以通过区块链网络和消息队列进行网络节点集的管理。其中,区块链网络承载(包括例如存储和维护等)用于网络节点集的管理信息,消息队列从区块链网络获取管理信息并向网络节点集中的节点进行分发。在一些实施例中,区块链网络承载的管理信息例如可以是各个网络节点的配置信息、动作/操作通知、操作日志等。在一些实施例中,网络节点集中的节点可以是IoT设备。
图1是能在其中应用根据本公开一个或多个示例性实施例的通信系统100的结构示意图。通信系统100包括区块链网络102和由区块链网络102向其提供服务的网络节点集118,网络节点集118包括多个客户端节点108。在通信系统100中,可以将区块链网络102所承载的用于网络节点集118的管理信息,例如各个客户端节点108的配置信息、动作/操作通知、操作日志等,向多个客户端节点108分发,从而实现对网络节点集118的管理。管理信息可以通过运行特定的智能合约来维护,包括创建、删除、修改等。应当理解,尽管未在图中示出,可以存在一个或多个具有管理网络节点集118中的多个客户端节点108的权限(本文简称“管理员权限”)的管理实体,其通过通信连接到区块链网络102来创建具有管理员权限的账号并以该账号发起该智能合约的运行,即发起智能合约的调用。管理实体可以是任何形式的通用或专用的电子设备,例如一个或多个服务器、一个或多个用户终端等。
区块链网络102包括多个参与者,即多个区块链节点104。每个区块链节点104通过共识规则共同维护基于区块链技术的区块链网络102。每个区块链节点104具有一份完整的账本拷贝,具有参与区块链网络102共识和账本维护的能力。每个区块链节点104处生成的每个区块中,可以存储有该区块所涉及的各个交易、记录各个交易的结果等信息的相应的收据、以及区块链网络102维护的各个账户的状态。由具有管理网络节点集118中的多个客户端节点108的权限的账号,通过发起在区块链网络102上运行智能合约,可以生成(包括创建、更新和删除)用于网络节点集118中的多个客户端节点108的管理信息,例如各个客户端节点108的配置信息、动作/操作通知、操作日志等。
在本文中,区块链网络102可以是由多个组织运营的联盟网络或由单个组织运营的私有网络。然而,对区块链网络102的类型没有特别限制。例如,区块链网络102可以是不特别限制参与者的公共网络。
对在区块链网络102中使用的通信方法或线路的类型没有特别限制。例如,区块链网络102可以由诸如互联网协议-虚拟专用网(IP-VPN)的租用线路网络来实现。此外,区块链网络102可以由诸如因特网的公用线路网络、电话线路网络或卫星通信网络来实现。此外,区块链网络102可以由包括以太网(注册商标)的各种局域网(LAN)、广域网(WAN)等来实现。此外,可以通过诸如Wi-Fi(注册商标)或蓝牙(注册商标)的无线通信网络来实现区块链网络102。
网络节点集118中的每个客户端节点108可以是一个或多个网络(未示出)中的任何参与者。一个或多个网络可以包括由各客户端节点108中的一些组成的通信网络,例如,机器对机器(M2M)网络、IoT网络等。一个或多个网络中的任一个可以是固定网络(例如,以太网、光纤、ISDN、PLC等)或无线网络(例如,WLAN、蜂窝等)或异构网络的网络。例如,一个或多个网络中的任一个可以包括向多个用户提供诸如语音、数据、视频、消息、广播等的内容的多个接入网络。例如,一个或多个网络中的任一个可以采用一种或多种信道接入方法,例如码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、正交FDMA(OFDMA)、单载波FDMA(SC-FDMA)等。此外,一个或多个网络中的任一个可以包括其他网络,诸如核心网络、互联网、传感器网络、工业控制网络、个人局域网、融合个人网络、卫星网络、家庭网络或企业网络。
各客户端节点108之间可以通过运营商网络等进行通信或直接无线电链路和/或有线线路进行通信。例如,一个客户端节点108可以收集数据并通过运营商网络或直接无线电链路将数据发送到另一个客户端节点108。客户端节点108的示例包括但不限于平板电脑、智能手机、医疗装置、温度和天气监视器、联网的汽车、智能仪表、游戏机、个人数字助理、健康和健身监视器、灯、恒温器、器具、车库门以及其他基于执行器的装置、安全装置和智能插座等。
在一些实施例中,各客户端节点108中的一些可以是分布式系统中的各个组成部分,例如分布式存储系统、分布式计算系统、分布式流式计算系统、分布式搜索系统、分布式发布订阅消息系统、分布式业务系统等系统中的各个组成节点。
在一些实施例中,各客户端节点108中的一些可以是IoT网络中的IoT设备。在这些实施例中,IoT设备常在存储器、尺寸、功能或性能方面受限,从而可能部署大量的设备,以实现与高性能设备类似的性能。然而,IoT设备可以是智能电话、膝上型设备、平板设备、或PC、或其他较大设备。而且,IoT设备可以是虚拟设备,诸如智能电话或其他计算设备上的应用。IoT设备可包括IoT网关,这些IoT网关用于将IoT设备连接至其他IoT设备和/或连接至云应用,以进行数据存储、过程控制等。IoT设备所在的IoT网络可包括商用和家用自动化设备,诸如,给水系统、配电系统、管道控制系统、工厂控制系统、灯开关、恒温器、锁、相机、警报、运动传感器等。
在本公开各个方面,提供了管理网络节点集的系统和方法。图2是根据本公开一个或多个示例性实施例的管理网络节点集的系统200的结构示意图。系统200包括区块链网络202、数据导出模块210、消息队列212、以及网络节点集218。区块链网络202包括多个区块链节点204。网络节点集218包括多个客户端节点208。其中,区块链网络202、区块链节点204、网络节点集218、以及客户端节点208的全部或部分功能和/或操作可以分别类似于上述的区块链网络102、区块链节点104、网络节点集118、以及客户端节点108的全部或部分功能和/或操作,在此省略对重复部分的详细描述。
数据导出模块210可以通信连接到区块链网络202中的至少一个区块链节点204,从而从区块链节点204获取与用于网络节点集218的管理信息相关联的数据。数据导出模块210可以通过区块链网络202的软件开发工具包(Software Development Kit,SDK)与至少一个区块链节点204建立加密通信,从而从该区块链节点204获取与用于网络节点集218的管理信息相关联的数据。数据导出模块210在与区块链网络202建立通信之前,可以向该区块链网络202申请该区块链网络202的SDK。安装有该SDK的数据导出模块210可以获知区块链网络202中各节点的IP地址、节点的公钥(或与之相关联的节点ID)、以及如何建立加密通信等信息。如此,数据导出模块210可以通过该区块链网络202的SDK与该区块链网络202中的区块链节点204通信以从该区块链节点204获取数据。
在一些实施例中,数据导出模块210可以周期性地从区块链节点204获取与管理信息相关联的数据。数据导出模块210从区块链节点204获取数据的获取周期可以根据需要来设置。在一些情况下,可以根据管理信息的变化频率来设置获取周期。例如,针对变化频率较高的管理信息相关联的数据,例如与客户端节点208的动作/操作通知相关联的数据,可以设置较短的获取周期;针对变化频率较低的管理信息相关联的数据,例如与客户端节点208的配置信息相关联的数据,可以设置较长的获取周期。在一些情况下,可以根据区块链网络202生成新区块的速度来设置获取周期。例如,可以将获取周期设置为大致等于区块链网络202的区块生成间隔时间。
根据设置的获取周期,数据导出模块210可以周期性地通过与区块链节点204的通信连接而从区块链节点204获取数据。需要说明的是,在本申请的附图中,用连接在两个实体之间的直线(或其他图形元素)来表示二者之间的连接(例如通信连接),这样的连接可以是仅在需要时才建立的而并不是在较长的时间段期间内一直存在。然而应当理解,这样的连接也可以是在较长的时间段期间内一直存在的,数据导出模块210可以周期性地经由该连接从区块链节点204获取数据,而不必每次需要获取数据时重新建立这样的连接。
在一些情况下,数据导出模块210从区块链节点204获取的数据可能是一个区块的数据的部分或全部。在这些获取的数据中,除了与管理信息相关联的数据之外,还包括非所需的其他数据。在这些情况下,数据导出模块210对从区块链节点204获取的数据进行筛选,以筛选出与管理信息相关联的数据。
在一些实施例中,数据导出模块210可以响应于区块链节点204处的管理信息被改变,而从区块链节点204获取与管理信息相关联的数据。区块链节点204可以提供事件订阅服务,订阅方可以向区块链节点204订阅一个或多个事件。当所订阅的事件发生后,区块链节点204可以将所发生的事件相关的数据输出给订阅方。数据导出模块210可以作为订阅方使用区块链节点204的事件订阅服务来获取与管理信息相关联的数据。例如,在管理信息是由在区块链网络202上运行特定的智能合约来维护(包括创建、删除、修改等)的情况下,数据导出模块210可以向区块链节点204订阅该特定的智能合约被调用的事件。当所订阅的事件发生后,即该特定的智能合约被调用后,区块链节点204可以将该事件相关的数据输出给数据导出模块210。在该示例中,由于区块链节点204只向数据导出模块210提供其所订阅的事件相关的数据,因此在这种情况下,数据导出模块210无需进行数据筛选即可获取与管理信息相关联的数据。然而应当理解,在其他的示例中,数据导出模块210可以向区块链节点204订阅产生了新区块的事件、用户发起了新交易的事件等。在这些示例中,根据需要,数据导出模块210可能对从区块链节点204获取的数据进行筛选,以筛选出与管理信息相关联的数据。
在这些实施例中,数据导出模块210可以监听区块链节点204处是否产生包含与管理信息相关联的主题的收据。如上所述,每个区块链节点204处生成的每个区块中,可以存储有该区块所涉及的各个交易、记录各个交易的结果等信息的相应的收据、以及区块链网络202维护的各个账户的状态。收据的格式(例如每个收据包括几条消息、每条消息包括几个主题)和内容(例如每条消息中每个主题的含义)可以由区块链网络202的参与方共同定义。例如,关于一个特定的智能合约的执行的收据中的一条特定的消息,可以包括多个主题以分别记录该智能合约的地址、调用该智能合约的账户、该智能合约中的哪个/哪些函数被执行、以及该智能合约执行的结果等。如上所述,数据导出模块210可以通过SDK通信连接到一个特定的区块链节点204,并监听该区块链节点204处生成的收据中是否包含感兴趣的主题或主题的组合(下文称为“目标主题”)。如果监听到包含目标主题的收据,则通过SDK从该区块链节点204输出该收据的数据。可以根据需要定义收据的格式和内容,以便从区块链节点204打包输出所需的信息。
由于区块链节点204通常以特定的数据结构(例如Merkle树、Merkle Patricia树等)进行数据存储,因此,数据导出模块210直接从区块链节点204获取的数据可能不是客户端节点208所需要的数据格式。在这些情况下,数据导出模块210还对与管理信息相关联的数据进行解析和映射,将这些数据映射为客户端节点208所需要的数据格式,从而基于这些与管理信息相关联的数据得到用于客户端节点208的管理信息。
数据导出模块210将得到的管理信息发布到消息队列212。消息队列212将获取到的管理信息进行存储,以便向一个或多个客户端节点208分发。消息队列212可以是任何具有发布/订阅模式的消息队列。在一些实施例中,消息队列212可以是MQTT(Message QueueTelemetry Transport,消息队列遥感传输)队列,其提供基于MQTT协议的消息队列服务,并可以提供例如QoS 0(至多一次)、QoS 1(至少一次)和QoS 2(仅一次)三种消息订阅服务质量,因此MQTT队列可以实现将消息可靠地广播到各个订阅方。MQTT协议工作在TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网协议)协议族上,可以适用于为硬件性能低下的远程设备(例如当客户端节点208为某些性能较低的IoT设备时)以及在网络状况不理想的情况下提供基于发布/订阅模式的消息队列服务。MQTT队列的协议简单,成本较低,扩容和性能升级较为容易,能够支持为大批量的设备进行消息广播。此外,MQTT队列可以保存一定量的历史消息,例如缓存最近3天的消息。如此,当客户端节点208首次连接到MQTT队列时,MQTT队列可以将缓存的历史消息全部推送给该客户端节点208,从而客户端节点208可以获知历史信息。
如上所述,根据本公开一个或多个示例性实施例,数据导出模块210直接从区块链网络202获取管理信息并发布给消息队列212,具有消息广播功能的消息队列212将管理信息向订阅了该管理信息的客户端节点208广播该管理信息,从而实现将区块链网络202承载的管理信息向多个客户端节点208分发从而管理网络节点集218。如此,不需要多个客户端节点208中的每个节点均直接从区块链网络202中的一个或多个区块链节点204查询数据或订阅事件,因此能够减轻区块链节点204的负荷,这在客户端节点208的数量庞大时具有明显的优势。此外,客户端节点208不需要从区块链网络202直接获取数据,因此其不需要具有从区块链节点204直接读取数据和/或从区块链节点204订阅事件的功能,也不需要具有上述的数据筛选、解析和映射的功能,有利于客户端节点208的功能和结构的简化,这对于功能受限的IoT设备较为适用。
数据导出模块210可以将管理信息发布到消息队列212所配置的一个或多个主题。数据导出模块210可以将不同类型的管理信息,例如针对客户端节点208的配置信息、动作/操作通知、操作日志等,发布到同一个主题,也可以将不同类型的管理信息发布到不同的多个主题。网络节点集218中的各个客户端节点208根据需要向消息队列212订阅所需的主题,从而使得消息队列212将数据导出模块210发布到客户端节点208所订阅的主题的管理信息推送给对应的客户端节点208。在一个具体的示例中,数据导出模块210将包括针对客户端节点208的配置信息、动作/操作通知、和操作日志的管理信息发布到消息队列212的第一主题。网络节点集218中的一个或多个客户端节点208向消息队列212订阅该第一主题。消息队列212将数据导出模块210发布到该第一主题的管理信息分发给订阅了该第一主题的一个或多个客户端节点208。在又一个具体的示例中,数据导出模块210将包括针对客户端节点208的配置信息和操作日志的管理信息发布到消息队列212的第一主题,将包括针对客户端节点208的动作/操作通知的管理信息发布到消息队列212的第二主题。网络节点集218中的第一组节点向消息队列212订阅第一主题,网络节点集218中的第二组节点向消息队列212订阅第二主题。第一组节点和第二组节点中的每组包括网络节点集218中的一个或多个客户端节点208,并且第一组节点和第二组节点可以有部分或全部节点相同。消息队列212将数据导出模块210发布到第一主题的管理信息分发给第一组节点中的各个节点,将数据导出模块210发布到第二主题的管理信息分发给第二组节点中的各个节点。
一些消息队列对消息消费者提供非持久订阅(nondurable subscription)和持久订阅(durable subscription)两种服务方式。在一些实施例中,一个或多个客户端节点208和消息队列212建立非持久订阅,则响应于获取到一个或多个客户端节点208所订阅的管理信息(例如数据导出模块210发布到所订阅的主题),消息队列212将管理信息向一个或多个客户端节点208中的所有在线节点(也称为处于活动状态的节点)分发。需要说明的是,本文中所述的“响应于”并非限定为“立即”响应,消息队列212可以是获取到管理信息之后立即进行分发,也可以是获取到管理信息之后经过特定的或不特定的一段处理时间之后再进行分发。一个或多个客户端节点208中的在消息队列212分发管理信息时不在线的节点,可以在节点启动后向消息队列212重新建立订阅,以获取消息队列212中存储的所订阅主题的管理信息。在一些实施例中,一个或多个客户端节点208和消息队列212建立持久订阅,则消息队列212不但响应于获取到管理信息而将管理信息向一个或多个客户端节点208中的所有在线节点分发,而且响应于一个或多个客户端节点208中的一个或多个节点启动(例如首次上线和/或离线之后重新上线),消息队列212将管理信息向启动的一个或多个节点分发。使用持久订阅的方式,重新上线的节点无需向消息队列212重新建立订阅就能获取到离线期间所订阅主题的管理信息。
在一些实施例中,消息队列212对管理信息的存储可以被配置为将管理信息存储预定的时间。由于消息队列的大小通常存在上限,因此可以为消息队列设置一个清理周期,例如N天,消息队列会定期对过期的数据进行清理,以使得消息队列212将管理信息存储预定的时间。在一个具体的示例中,该清理周期N可以与网络节点集218中的活跃节点的个数N相同,活跃节点指最近预定天数内上线过的节点。在一些实施例中,消息队列212对管理信息的存储可以被配置为存储最新获取的管理信息,例如针对每个主题存储最新获取的管理信息。使用这种配置,即使在管理信息很长时间不更新的情况下,其也不会作为过期数据被清理,因此能够保证网络节点集218中在线和重新上线的节点均可以获取到最新的管理信息。
图3是根据本公开一个或多个示例性实施例的管理网络节点集的系统300的结构示意图。系统300包括区块链网络302、数据导出模块310、消息队列312、以及网络节点集318。区块链网络302包括多个区块链节点304。网络节点集318包括多个客户端节点306、308。其中,区块链网络302、区块链节点304、数据导出模块310、消息队列312、以及网络节点集318的全部或部分功能和/或操作可以分别类似于上述的区块链网络102、区块链节点104、数据导出模块210、消息队列212、以及网络节点集118的全部或部分功能和/或操作,在此省略对重复部分的详细描述。
多个客户端节点306、308包括一个或多个第一类节点306和一个或多个第二类节点308。第一类节点306向消息队列312订阅管理信息,以使得消息队列312将管理信息向第一类节点306分发。第一类节点306接收并存储消息队列312分发的管理信息,第二类节点308从第一类节点306获取管理信息。管理信息可以被存储在第一类节点306的本地存储器中,也可以被存储在第一类节点306可访问的远程存储器中。第一类节点306与第二类节点308之间的访问方式可以使用MQTT协议、HTTP协议等进行P2P通信,也可以使用自有协议进行通信。
在一些实施例中,第二类节点308可以周期性地从第一类节点306获取管理信息。第二类节点308从第一类节点306获取管理信息的获取周期可以根据需要来设置。例如,与数据导出模块310从区块链节点304获取数据的获取周期类似地,可以根据管理信息的变化频率和/或根据区块链网络302生成新区块的速度来设置获取周期。在一些实施例中,第二类节点308可以响应于管理信息被第一类节点306存储,例如包括被创建式、删除式、修改式等的存储,从第一类节点306获取管理信息。在这些实施例中,可以仅在管理信息有变化时,第二类节点308才从第一类节点306获取管理信息。在一些实施例中,第二类节点308可以响应于第二类节点308启动,包括首次上线、以及离线之后的重新上线等,从第一类节点306获取管理信息。例如,第二类节点308在启动之后可能需要对节点进行配置,因此可以在启动之后从第一类节点306获取包括第二类节点308的配置信息的管理信息。
在上述任何一个或多个实施例中,第二类节点308从第一类节点306获取管理信息,可以是由第二类节点308向与其通信连接的第一类节点306查询来获取,也可以是由第一类节点306进行单播、广播、多播(或组播)来获取。换言之,无论是通过查询的方式来获取,还是通过单播、广播、多播(或组播)的方式来获取,均可以是周期性地、响应于管理信息被第一类节点306存储地、和/或响应于第二类节点308启动地。
在系统300中,将网络节点集318中的多个客户端节点306、308划分为第一类节点306和第二类节点308,其中第一类节点306直接从消息队列312订阅管理信息并进行存储,第二类节点308从第一类节点306获取管理信息,从而实现将区块链网络302承载的管理信息分发到网络节点集318,以进行网络节点集318的管理。如此,可以利用网络节点集318中原有的拓扑结构,例如第一类节点306可以是网络节点集318中的协调节点、中心节点、或IoT网关等。
需要确定多个客户端节点306、308中哪些节点作为第一类节点306、哪些节点作为第二类节点308。在一些实施例中,每个客户端节点可以作为哪类节点可以是预先确定的,该预先确定的结果可以记录在每个客户端节点各自的硬编码逻辑中。每个客户端节点在启动后,根据各自的硬编码逻辑来执行各自的行为,其中执行上述第一类节点306的全部或部分行为的客户端节点可以为预先确定的第一类节点306,执行上述第二类节点308的全部或部分行为的客户端节点可以为预先确定的第二类节点308。此外,第二类节点308需要获得第一类节点306的信息,例如一个或多个网络中的第一类节点306的列表、或适用于该第二类节点308的第一类节点306的子集的列表,以便通信连接到第一类节点306来获取管理信息。在这些实施例中,第一类节点306的信息也被记录在第二类节点308的硬编码逻辑中。第二类节点308启动之后,可以从其硬编码逻辑中获取一个或多个第一类节点306的信息。
在一些实施例中,哪些节点作为第一类节点306可以是通过多个客户端节点306、308中的至少一些节点参与的选举过程来动态地确定的。在一些情况下,可以多个客户端节点306、308中的至少一些节点可以参与选举,使用已知的选举协议(例如Raft选举协议)来产生选主,产生的选主可以作为第一类节点306。参与选举的节点知道选举结果,即知道第一类节点306的信息,未参与选举的节点可以通过与参与选举的节点通信来获知第一类节点306的信息。在一些情况下,在多个客户端节点306、308的集合或其子集中可以将一个节点设置为选举协助节点,由选举协助节点来确定集合或其子集中其他节点的身份(即是第一类节点306还是第二类节点308)。其他节点可以与选举协助节点通信,选举协助节点通知该节点的身份。选举协助节点可以随机确定、或者以任意适当的规则来确定其他节点的身份。选举协助节点还可以在第一类节点306的信息有变化时通知其他节点。这样的通知可以通过节点之间的驱动器来实现,也可以通过其他节点向选举协助节点查询来实现。在这些情况下,客户端节点在启动之后,可以先连接到选举协助节点以确定自身节点的身份,以及从选举协助节点获取第一类节点306的信息。在这些实施例中,第一类节点306的节点需要保持心跳,以便让其他节点知道本节点的状态。如果心跳丢失,则会触发前述选举过程。
在上述任意一个或多个实施例中,将哪些节点确定为第一类节点306可以考虑该节点运行的稳定性、运算处理的性能、以及网络连接的能力和可靠性等,以便选出能够在较长的时间段期间能够稳定运行、能够同时被多个其他节点访问、和/或能够处理从消息队列312获取的消息的节点。此外,还需要考虑第一类节点306的个数在网络节点集318的节点数中的占比,例如可以为5%、10%等,以便保证具有足够多的第一类节点306以供第二类节点308连接。在上述任意一个或多个实施例中,如果第二类节点308获得的第一类节点306的信息包括多于一个的第一类节点306,则第二类节点308可以在连接其中一个第一类节点306失败之后尝试连接其他的第一类节点306。
图4所示的系统300是图3中的系统300的变形。除了具有图3所示的系统300的全部功能外,图4所示的系统300中的网络节点集318中的一个或多个客户端节点306、308还可以直接向消息队列312订阅管理信息,这可以适用于分发的管理信息包括多个类别的情况。在一些实施例中,管理信息包括第一类管理信息和第二类管理信息,其中,第一类管理信息可以比第二类管理信息更静态。例如,第一类管理信息可以包括针对客户端节点306、308的配置信息,第二类管理信息可以包括针对客户端节点306、308的动作/操作通知。由于较为静态的信息更新的频率较低,例如可能若干个月才更新一次,如果用消息队列312来存储这样的静态信息,可能在消息队列312的清理时限到来时被当作过期数据被清除,这样会导致新启动(首次上线或重新上线)的节点获取不到这样的静态的管理信息,从而不利于对网络节点集318的管理。因此,针对较为静态的信息,可以存储在第一类节点306中以便第二类节点308获取;而针对其他较为动态的信息,可以存储在消息队列312中以便客户端节点306、308获取。数据导出模块310可以将第一类管理信息发布到消息队列312的第一主题,以及将第二类管理信息发布到消息队列312的第二主题。
在一些实施例中,第一类节点306向消息队列312订阅第一主题和第二主题,以获取消息队列312分发的较为静态的第一类管理信息和较为动态的第二类管理信息。对于第一类管理信息,第一类节点306可以进行使用(例如根据信息中的配置信息进行自身节点的配置)并且存储、也可以仅进行存储。对于第二类管理信息,第一类节点306可以进行使用,例如根据信息中的动作/操作通知来进行动作/操作。第二类节点308从第一类节点306获取第一类管理信息,并可以进行使用,例如根据信息中的配置信息进行自身节点的配置。此外,第二类节点308向消息队列312订阅第二主题,以获取消息队列312分发的第二类管理信息并可以进行使用,例如根据信息中的动作/操作通知来进行动作/操作。
在一些实施例中,第一类节点306可能不需要第二类管理信息,在这些情况下,第一类节点306可以不订阅第二类管理信息。第一类节点306可以仅向消息队列312订阅第一主题以获取并存储消息队列312分发的较为静态的第一类管理信息,以便于第二类节点308获取。除存储之外,第一类节点306可以使用第一类管理信息也可以不使用第一类管理信息。第二类节点308从第一类节点306获取第一类管理信息并可以进行使用。此外,第二类节点308向消息队列312订阅第二主题,以获取消息队列312分发的第二类管理信息并可以进行使用。
在一个具体的示例中,第一类节点306存储用于网络节点集318中各个客户端节点306、308的配置信息。配置信息可以用来配置网络节点集318中的全部或部分客户端节点306、308中的每个客户端节点的一个或多个方面,例如用来配置客户端节点的网络连接、操作功率、行驶速度、感测范围等的参数等。可以对网络节点集318中的各客户端节点306、308使用相同的配置信息,例如对于各客户端节点306、308具有一个或多个相同或相似的属性或应用目的情况;也可以对网络节点集318中的各客户端节点306、308进行分组,每组使用各自的配置信息,例如对于各客户端节点306、308被基于其地理区域、制造厂商、适用的网络接入技术等因素进行分组的情况。第一类节点306从消息队列312获取配置信息、存储配置信息、并根据配置信息进行自身节点的配置。第二类节点308从第一类节点306获取配置信息、并根据配置信息进行自身节点的配置。此外,网络节点集318中新启动的客户端节点306、308,无论其是第一类节点还是第二类节点,在其启动之后可以先从网络节点集318中的第一类节点306处获取配置信息,以进行自身节点的配置。在配置好自身节点之后,该新启动的节点可以根据需要向消息队列312进行订阅,以获取其他的管理信息。
图5是根据本公开一个或多个示例性实施例的网络节点集中的客户端节点(以下以客户端节点306、308为例进行描述)中的消息处理的示意图。客户端节点306、308中的消息消费者负责消费消息队列312广播的消息,并将消息转发给节点内部的消息处理模块进行处理。消息处理模块负责对消息进行合法性验证,并判断消息所对应的管理信息在区块链网络302上的发生时间(或块高+交易Index)。如果是最新的管理信息,则将该管理信息在存储器中进行持久化,更新其保存的最新的管理信息。之后再调用节点的应用处理模块,对消息进行处理或应用。如果该节点是第一类节点,其还可以通过节点内部的服务提供模块对外提供查询服务(当第一类节点和第二类节点之间通信采用MQTT协议的P2P通信时,服务提供模块的功能将被消息处理模块包含),并向查询者返回本节点所存储的最新的管理信息。
新启动(首次上线或重新上线)的节点可以先获取网络节点集318中的当前的第一类节点的列表,从列表中选择一个第一类节点并向其发送最新的管理信息的查询请求。如果失败,则从列表中再选择一个其他的第一类节点发送查询请求。新启动的节点将从第一类节点获取到的查询结果作为消息发送给自身节点的消息处理模块进行处理,并根据管理信息中的配置信息进行自身节点的配置。配置完成的新启动节点可以启动其消息消费者向消息队列312进行注册和/或消息订阅。
上述客户端节点的全部或部分可以由一个或多个处理器执行存储于一个或多个存储器中的计算机可执行指令来实现,也可以由具有特定构造的电路系统来实现。
图6是根据本公开一个或多个示例性实施例的管理网络节点集的系统400的结构示意图。系统400包括区块链网络402、数据导出模块410、消息队列412、以及网络节点集418。区块链网络402包括多个区块链节点404。网络节点集418包括多个客户端节点408。其中,区块链网络402、区块链节点404、数据导出模块410、消息队列412、网络节点集418、以及客户端节点408的全部或部分功能和/或操作可以分别类似于上述的区块链网络102、区块链节点104、数据导出模块210、消息队列212、网络节点集118、以及客户端节点108的全部或部分功能和/或操作,在此省略对重复部分的详细描述。
在系统400中,管理信息包括第一类管理信息和第二类管理信息,消息队列412包括第一消息队列412-1和第二消息队列412-2。数据导出模块410将第一类管理信息发布到第一消息队列412-1,并将第二类管理信息发布到第二消息队列412-2。网络节点集418中的第一组节点(包括一个或多个客户端节点408-1)可以根据需要向第一消息队列412-1订阅第一类管理信息,以使得第一消息队列412-1将第一类管理信息向第一组节点中的各个客户端节点408-1分发。网络节点集418中的第二组节点(包括一个或多个客户端节点408-2)可以根据需要向第二消息队列412-2订阅第二类管理信息,以使得第二消息队列412-2将第二类管理信息向第二组节点中的各个客户端节点408-2分发。在一些实施例中,第一类管理信息和第二类管理信息可以具有不同的性质,例如第一类管理信息可以比第二类管理信息更静态,即更新的频率更低。在这样的情况下,可以将第一消息队列412-1配置为存储最新获取的第一类管理信息,并且将第二消息队列412-2配置为将第二类管理信息存储预定的时间。如此,对于更新频率较低的第一类管理信息,使用能够存储最新一条数据的消息队列,以保证即使在第一类管理信息很长时间不更新的情况下,其也不会作为过期数据被清理,因此能够保证网络节点集418中在线和重新上线的节点均可以获取到最新的第一类管理信息。而对于更新频率较高的第一类管理信息,使用能够存储一段预定时间内的数据的消息队列,在消息队列的存储容量的限制下能够存储一定量的历史消息,使得新启动的节点可以获取到预定时间内的历史第二类管理信息,这对于需要历史管理信息推送的应用是有益的。
图7所示的系统400是图6中的系统400的变形。除了具有图6所示的系统400的全部功能外,图7所示的系统400中的网络节点集418中的节点被划分为了第一类节点406和第二类节点408。第一类节点406可以向一个消息队列,例如第一消息队列412-1,订阅管理信息(例如第一类管理信息),以使得第一消息队列412-1将第一类管理信息向第一类节点406分发。第一类节点406接收并存储第一消息队列412-1分发的第一类管理信息,第二类节点408从第一类节点406获取第一类管理信息。此外,网络节点集418中的一个或多个客户端节点406、408(可以是第一类节点406和/或第二类节点408)可以向另一个消息队列,例如第二消息队列412-2,订阅管理信息(例如第二类管理信息),以使得第二消息队列412-2将第二类管理信息向订阅的各客户端节点406、408分发。如此,使得具有不同性质的第一类管理信息和第二类管理信息可以以不同的途径分发到网络节点集418中的一个或多个客户端节点406、408,此外第一消息队列412-1和第二消息队列412-2还可以具有完全不同的配置,因此增加了系统400的灵活度。
图8是可应用于根据本公开一个或多个示例性实施例的通用硬件系统500的示例性框图。现在将参考图8描述系统500,其是可以应用于本公开的各方面的硬件设备的示例。上述各实施例中的区块链节点104、204、304、404、客户端节点108、208、306、308、406、408中的任意一个可以包括系统500的全部或部分。系统500可以是被配置为执行处理和/或计算的任何机器,可以是但不限于工作站、服务器、台式计算机、膝上型计算机、平板计算机、个人数据助理、智能电话、车载电脑、或其任何组合。
系统500可以包括可能经由一个或多个接口与总线502连接或与总线502通信的元件。例如,系统500可以包括总线502,以及一个或多个处理器504,一个或多个输入设备506和一个或多个输出设备508。一个或多个处理器504可以是任何类型的处理器,可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。上文所述的方法中的各个步骤均可以通过一个或多个处理器504执行指令来实现。
输入设备506可以是可以向计算设备输入信息的任何类型的设备,可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或遥控器。输出设备508可以是可以呈现信息的任何类型的设备,可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。
系统500还可以包括非暂时性存储设备510或者与非暂时性存储设备510连接。非暂时性存储设备510可以是非暂时性的并且可以实现数据存储的任何存储设备,可以包括但不限于磁盘驱动器、光学存储设备、固态存储器、软盘、硬盘、磁带或任何其他磁介质、光盘或任何其他光学介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器、和/或任何其他存储器芯片/芯片组、和/或计算机可从其读取数据、指令和/或代码的任何其他介质。非暂时性存储设备510可以从接口拆卸。非暂时性存储设备510可以具有用于实现上述方法、步骤和过程的数据/指令/代码。例如,上文所述的区块链节点104、204、304、404存储的数据、消息队列212、312、412存储的消息、客户端节点108、208、306、308、406、408存储的管理信息可以至少部分地存储在非暂时性存储设备510中。
系统500还可以包括通信设备512。通信设备512可以是能够与外部设备和/或与网络通信的任何类型的设备或系统,可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备、和/或芯片组,例如蓝牙设备、1402.11设备、WiFi设备、WiMax设备、蜂窝通信设备、卫星通信设备、和/或类似物。
当系统500用作车载设备时,它还可以连接到外部设备,例如GPS接收器,用于感测不同环境数据的传感器,例如加速度传感器、车轮速度传感器、陀螺仪和等等。以这种方式,系统500可以例如接收指示车辆的行驶状况的位置数据和传感器数据。当系统500用作车载设备时,它还可以连接到车辆的其他设施(例如发动机系统、雨刮器、防抱死制动系统等)以控制车辆的运行和操作。另外,非暂时性存储设备510可以具有地图信息和软件元素,使得处理器504可以执行路线引导处理。另外,输出设备508可以包括用于显示地图、车辆的位置标记、以及指示车辆的行驶状况的图像的显示器。输出设备508还可以包括扬声器或具有耳机的接口,用于音频引导。
总线502可以包括但不限于工业标准体系结构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线、和外围部件互连(PCI)总线。特别地,对于车载设备,总线502还可以包括控制器区域网络(CAN)总线或设计用于在车辆上应用的其他架构。
系统500还可以包括工作存储器514,其可以是可以存储对处理器504的工作有用的指令和/或数据的任何类型的工作存储器,可以包括但不限于随机存取存储器和/或只读存储设备。
软件元素可以位于工作存储器514中,包括但不限于操作系统516、一个或多个应用程序518、驱动程序、和/或其他数据和代码。用于执行上述方法和步骤的指令可以包括在一个或多个应用程序518中。软件元素的指令的可执行代码或源代码可以存储在非暂时性计算机可读存储介质中,例如上述存储设备510,并且可以通过编译和/或安装被读入工作存储器514中。还可以从远程位置下载软件元素的指令的可执行代码或源代码。
还应该理解,可以根据具体要求进行变化。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合来实现特定元件。此外,可以采用与诸如网络输入/输出设备之类的其他计算设备的连接。例如,根据本公开实施例的方法或装置中的一些或全部可以通过使用根据本公开的逻辑和算法的、用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C++)的编程硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)来实现。
还应该理解,系统500的组件可以分布在网络上。例如,可以使用一个处理器执行一些处理,而可以由远离该一个处理器的另一个处理器执行其他处理。系统500的其他组件也可以类似地分布。这样,系统500可以被解释为在多个位置执行处理的分布式计算系统。
上述对本公开一个或多个示例性实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为服务器系统。当然,本申请不排除随着未来计算机技术的发展,实现上述实施例功能的计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。
Claims (36)
1.一种管理网络节点集的方法,包括:
通过在区块链网络上运行智能合约来生成用于所述区块链网络之外的网络节点集的管理信息;
由消息队列监听所述区块链网络中的区块链节点处的收据,以及响应于所述区块链节点处生成包含与所述管理信息相关联的主题的收据,由所述消息队列从所述区块链节点获取所述管理信息;以及
由所述消息队列将所述管理信息向所述网络节点集中的向所述消息队列订阅了所述管理信息的一个或多个节点分发。
2.根据权利要求1所述的方法,还包括由所述消息队列:
将所述管理信息存储预定的时间;和/或
存储最新获取的所述管理信息。
3.根据权利要求1所述的方法,还包括由所述消息队列:
响应于获取到所述管理信息,将所述管理信息向所述一个或多个节点分发;和/或
响应于所述一个或多个节点中的第一节点启动,将所述管理信息向所述第一节点分发。
4.根据权利要求1所述的方法,其中,所述管理信息包括第一类管理信息和第二类管理信息,所述消息队列包括第一消息队列和第二消息队列,所述方法还包括:
由第一消息队列监听所述区块链节点处的收据,以及响应于所述区块链节点处生成包含与所述第一类管理信息相关联的主题的收据,由所述第一消息队列从所述区块链节点获取所述第一类管理信息,并由所述第一消息队列将所述第一类管理信息向所述一个或多个节点中的向所述第一消息队列订阅了所述第一类管理信息的第一组节点分发;以及
由第二消息队列监听所述区块链节点处的收据,以及响应于所述区块链节点处生成包含与所述第二类管理信息相关联的主题的收据,由所述第二消息队列从所述区块链节点获取所述第二类管理信息,并由所述第二消息队列将所述第二类管理信息向所述一个或多个节点中的向所述第二消息队列订阅了所述第二类管理信息的第二组节点分发。
5.根据权利要求4所述的方法,其中,所述第一类管理信息比所述第二类管理信息更静态,所述方法还包括:
由所述第一消息队列存储最新获取的所述第一类管理信息,以及
由所述第二消息队列将所述第二类管理信息存储预定的时间。
6.根据权利要求1所述的方法,其中,所述网络节点集包括第一类节点和第二类节点,所述第一类节点包括所述一个或多个节点,所述第二类节点包括所述网络节点集中的除所述第一类节点之外的一个或多个节点,所述方法还包括:
由所述第一类节点存储所述消息队列分发的所述管理信息;以及
由所述第二类节点从所述第一类节点获取所述管理信息。
7.根据权利要求6所述的方法,还包括由所述第二类节点:
周期性地从所述第一类节点获取所述管理信息;
响应于所述管理信息被所述第一类节点存储,从所述第一类节点获取所述管理信息;和/或
响应于所述第二类节点启动,从所述第一类节点获取所述管理信息。
8.根据权利要求1所述的方法,其中,所述管理信息包括第一类管理信息和第二类管理信息,所述网络节点集包括第一类节点和第二类节点,所述第一类节点包括所述一个或多个节点,所述第二类节点包括所述网络节点集中的除所述第一类节点之外的一个或多个节点,并且所述第二类节点向所述消息队列订阅所述第二类管理信息,所述方法还包括:
由所述第一类节点存储所述消息队列分发的所述第一类管理信息;以及
由所述第二类节点从所述第一类节点获取所述第一类管理信息,以及由所述消息队列将所述第二类管理信息向所述第二类节点分发。
9.根据权利要求1所述的方法,其中,所述管理信息包括第一类管理信息和第二类管理信息,所述网络节点集包括第一类节点和第二类节点,所述第一类节点包括所述一个或多个节点,所述第二类节点包括所述网络节点集中的除所述第一类节点之外的一个或多个节点,所述方法还包括:
由所述第一类节点向所述消息队列订阅所述第一类管理信息,由所述消息队列将所述第一类管理信息向所述第一类节点分发,由所述第一类节点存储所述消息队列分发的所述第一类管理信息,以及由所述第二类节点从所述第一类节点获取所述第一类管理信息,以及
由所述第二类节点向所述消息队列订阅所述第二类管理信息,以及由所述消息队列将所述第二类管理信息向所述第二类节点分发。
10.根据权利要求1所述的方法,其中,所述网络节点集包括第一类节点和第二类节点,所述第一类节点包括所述一个或多个节点,所述第二类节点包括所述网络节点集中的除所述第一类节点之外的一个或多个节点,所述方法还包括:
由所述第一类节点向所述消息队列订阅所述管理信息,由所述消息队列将所述管理信息向所述第一类节点分发,由所述第一类节点存储所述消息队列分发的所述管理信息,以及
由所述第二类节点从所述第一类节点获取所述管理信息。
11.根据权利要求8或9所述的方法,其中,所述第一类管理信息比所述第二类管理信息更静态。
12.根据权利要求8-10中任一项所述的方法,还包括由所述第二类节点:
周期性地从所述第一类节点获取管理信息;
响应于管理信息被所述第一类节点存储,从所述第一类节点获取管理信息;和/或
响应于所述第二类节点启动,从所述第一类节点获取管理信息。
13.根据权利要求8-10中任一项所述的方法,还包括:
响应于所述第二类节点启动,由所述第二类节点从所述第二类节点的硬编码逻辑或从所述网络节点集中的除所述第二类节点之外的其他节点处获取所述第一类节点的信息,以便通信连接到所述第一类节点来获取管理信息。
14.根据权利要求8-10中任一项所述的方法,其中,所述第一类节点由所述第一类节点的硬编码逻辑或由所述网络节点集中的至少一些节点参与的选举过程来确定。
15.根据权利要求1所述的方法,还包括:
所述消息队列经由数据导出模块监听所述区块链节点处的收据;
响应于所述区块链节点处生成包含与所述管理信息相关联的主题的收据,由所述数据导出模块从所述区块链节点获取与所述管理信息相关联的数据;
由所述数据导出模块基于所述数据得到所述管理信息;以及
由所述数据导出模块向所述消息队列发布所述管理信息,从而使得所述消息队列获取所述管理信息。
16.根据权利要求15所述的方法,其中,所述数据导出模块通过所述区块链网络的SDK与所述区块链节点建立加密通信,从而从所述区块链节点获取所述管理信息。
17.根据权利要求1所述的方法,其中,所述网络节点集包括组成IoT网络的多个IoT设备。
18.根据权利要求1所述的方法,还包括由具有管理所述网络节点集的权限的账号通过发起在所述区块链网络上运行所述智能合约来生成所述管理信息。
19.一种管理网络节点集的系统,包括:
区块链网络,被配置为运行智能合约以生成用于所述区块链网络之外的网络节点集的管理信息;以及
消息队列,被配置为监听所述区块链网络中的区块链节点处的收据,以及响应于所述区块链节点处生成包含与所述管理信息相关联的主题的收据,从所述区块链节点获取所述管理信息,
其中,
所述网络节点集中的一个或多个节点被配置为向所述消息队列订阅所述管理信息,以使得所述消息队列将所述管理信息向所述一个或多个节点分发。
20.根据权利要求19所述的系统,其中,所述消息队列还被配置为:
将所述管理信息存储预定的时间;和/或
存储最新获取的所述管理信息。
21.根据权利要求19所述的系统,其中,所述一个或多个节点向所述消息队列订阅所述管理信息以使得所述消息队列:
响应于获取到所述管理信息,将所述管理信息向所述一个或多个节点分发;和/或
响应于所述一个或多个节点中的第一节点启动,将所述管理信息向所述第一节点分发。
22.根据权利要求19所述的系统,其中,所述管理信息包括第一类管理信息和第二类管理信息,所述消息队列包括第一消息队列和第二消息队列,其中,
所述第一消息队列被配置为监听所述区块链节点处的收据,以及响应于所述区块链节点处生成包含与所述第一类管理信息相关联的主题的收据,从所述区块链节点获取所述第一类管理信息,所述一个或多个节点中的第一组节点被配置为向所述第一消息队列订阅所述第一类管理信息,以使得所述第一消息队列将所述第一类管理信息向所述第一组节点分发;以及
所述第二消息队列被配置为监听所述区块链节点处的收据,以及响应于所述区块链节点处生成包含与所述第二类管理信息相关联的主题的收据,从所述区块链节点获取所述第二类管理信息,所述一个或多个节点中的第二组节点被配置为向所述第二消息队列订阅所述第二类管理信息,以使得所述第二消息队列将所述第二类管理信息向所述第二组节点分发。
23.根据权利要求22所述的系统,其中,所述第一类管理信息比所述第二类管理信息更静态,并且其中,
所述第一消息队列被配置为存储最新获取的所述第一类管理信息,以及
所述第二消息队列被配置为将所述第二类管理信息存储预定的时间。
24.根据权利要求19所述的系统,还包括:
第一类节点,包括所述一个或多个节点,所述第一类节点还被配置为存储所述消息队列分发的所述管理信息;以及
第二类节点,包括所述网络节点集中的除所述第一类节点之外的一个或多个节点,所述第二类节点被配置为从所述第一类节点获取所述管理信息。
25.根据权利要求24所述的系统,其中,所述第二类节点还被配置为:
周期性地从所述第一类节点获取所述管理信息;
响应于所述管理信息被所述第一类节点存储,从所述第一类节点获取所述管理信息;和/或
响应于所述第二类节点启动,从所述第一类节点获取所述管理信息。
26.根据权利要求19所述的系统,其中,所述管理信息包括第一类管理信息和第二类管理信息,所述系统还包括:
第一类节点,包括所述一个或多个节点,所述第一类节点还被配置为存储所述消息队列分发的所述第一类管理信息;以及
第二类节点,包括所述网络节点集中的除所述第一类节点之外的一个或多个节点,所述第二类节点被配置为从所述第一类节点获取所述第一类管理信息,并且向所述消息队列订阅所述第二类管理信息,以使得所述消息队列将所述第二类管理信息向所述第二类节点分发。
27.根据权利要求19所述的系统,其中,所述管理信息包括第一类管理信息和第二类管理信息,所述系统还包括第一类节点和第二类节点,所述第一类节点包括所述一个或多个节点,所述第二类节点包括所述网络节点集中的除所述第一类节点之外的一个或多个节点,并且其中,
所述第一类节点被配置为向所述消息队列订阅所述第一类管理信息以使得所述消息队列将所述第一类管理信息向所述第一类节点分发,并且存储所述第一类管理信息,以及所述第二类节点被配置为从所述第一类节点获取所述第一类管理信息,以及
所述第二类节点还被配置为向所述消息队列订阅所述第二类管理信息以使得所述消息队列将所述第二类管理信息向所述第二类节点分发。
28.根据权利要求19所述的系统,其中,所述网络节点集包括第一类节点和第二类节点,所述第一类节点包括所述一个或多个节点,所述第二类节点包括所述网络节点集中的除所述第一类节点之外的一个或多个节点,所述方法还包括:
由所述第一类节点向所述消息队列订阅所述管理信息,由所述消息队列将所述管理信息向所述第一类节点分发,由所述第一类节点存储所述消息队列分发的所述管理信息,以及
由所述第二类节点从所述第一类节点获取所述管理信息。
29.根据权利要求26或27所述的系统,其中,所述第一类管理信息比所述第二类管理信息更静态。
30.根据权利要求26-28中任一项所述的系统,其中,所述第二类节点还被配置为:
周期性地从所述第一类节点获取管理信息;
响应于管理信息被所述第一类节点存储,从所述第一类节点获取管理信息;和/或
响应于所述第二类节点启动,从所述第一类节点获取管理信息。
31.根据权利要求26-28中任一项所述的系统,其中,所述第二类节点还被配置为:
响应于所述第二类节点启动,从所述第二类节点的硬编码逻辑或从所述网络节点集中的除所述第二类节点之外的其他节点处获取所述第一类节点的信息,以便通信连接到所述第一类节点来获取管理信息。
32.根据权利要求26-28中任一项所述的系统,其中,所述第一类节点由所述第一类节点的硬编码逻辑或由所述网络节点集中的至少一些节点参与的选举过程来确定。
33.根据权利要求19所述的系统,还包括数据导出模块,其中,
所述消息队列被配置为:经由数据导出模块监听所述区块链节点处的收据;以及
所述数据导出模块被配置为:
响应于所述区块链节点处生成包含与所述管理信息相关联的主题的收据,从所述区块链节点获取与所述管理信息相关联的数据;
基于所述数据得到所述管理信息;以及
向所述消息队列发布所述管理信息,从而使得所述消息队列获取所述管理信息。
34.根据权利要求33所述的系统,其中,所述数据导出模块还被配置为通过所述区块链网络的SDK与所述区块链节点建立加密通信,从而从所述区块链节点获取所述管理信息。
35.根据权利要求19所述的系统,其中,所述网络节点集包括组成IoT网络的多个IoT设备。
36.根据权利要求19所述的系统,其中,由具有管理所述网络节点集的权限的账号通过发起在所述区块链网络上运行所述智能合约来生成所述管理信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111421209.1A CN114257487B (zh) | 2021-11-26 | 2021-11-26 | 管理网络节点集的系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111421209.1A CN114257487B (zh) | 2021-11-26 | 2021-11-26 | 管理网络节点集的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114257487A true CN114257487A (zh) | 2022-03-29 |
CN114257487B CN114257487B (zh) | 2024-03-29 |
Family
ID=80791228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111421209.1A Active CN114257487B (zh) | 2021-11-26 | 2021-11-26 | 管理网络节点集的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257487B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108415784A (zh) * | 2018-02-27 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 跨区块链的交互方法及装置、系统、电子设备 |
CN108848119A (zh) * | 2018-04-03 | 2018-11-20 | 阿里巴巴集团控股有限公司 | 跨区块链的交互方法及装置、系统、电子设备 |
CN110069533A (zh) * | 2019-04-09 | 2019-07-30 | 深圳前海微众银行股份有限公司 | 一种基于区块链的事件订阅方法及装置 |
US10382307B1 (en) * | 2016-12-22 | 2019-08-13 | Amazon Technologies, Inc. | Transmission of subscription-based messages to Internet of Things (IoT) devices |
US10833881B1 (en) * | 2017-11-06 | 2020-11-10 | Amazon Technologies, Inc. | Distributing publication messages to devices |
CN114157671A (zh) * | 2021-11-26 | 2022-03-08 | 支付宝(杭州)信息技术有限公司 | 将区块链网络承载的信息向多个客户端节点分发的方法 |
-
2021
- 2021-11-26 CN CN202111421209.1A patent/CN114257487B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10382307B1 (en) * | 2016-12-22 | 2019-08-13 | Amazon Technologies, Inc. | Transmission of subscription-based messages to Internet of Things (IoT) devices |
US10833881B1 (en) * | 2017-11-06 | 2020-11-10 | Amazon Technologies, Inc. | Distributing publication messages to devices |
CN108415784A (zh) * | 2018-02-27 | 2018-08-17 | 阿里巴巴集团控股有限公司 | 跨区块链的交互方法及装置、系统、电子设备 |
CN108848119A (zh) * | 2018-04-03 | 2018-11-20 | 阿里巴巴集团控股有限公司 | 跨区块链的交互方法及装置、系统、电子设备 |
CN110069533A (zh) * | 2019-04-09 | 2019-07-30 | 深圳前海微众银行股份有限公司 | 一种基于区块链的事件订阅方法及装置 |
CN114157671A (zh) * | 2021-11-26 | 2022-03-08 | 支付宝(杭州)信息技术有限公司 | 将区块链网络承载的信息向多个客户端节点分发的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114257487B (zh) | 2024-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11818049B2 (en) | Processing high volume network data | |
CN114157671B (zh) | 将区块链网络承载的信息向多个客户端节点分发的方法 | |
US11916727B2 (en) | Processing high volume network data | |
US10484190B2 (en) | Managing channels in an open data ecosystem | |
WO2019135207A1 (en) | Distributed processing system and method for the provision of location based services | |
EP3861706B1 (en) | Framework for dynamic brokerage and management of topics and data at the service layer | |
US8595322B2 (en) | Target subscription for a notification distribution system | |
O'HARE et al. | Sensor web interaction | |
US9733999B1 (en) | Dynamic optimization of application workflows | |
US10091134B2 (en) | Open M2M system and method | |
CN113452600A (zh) | 跨地域的消息通信方法、装置、电子设备和存储介质 | |
JP6067714B2 (ja) | イベントデータを取得するスケールアウトシステム | |
Namiot et al. | On internet of things programming models | |
Gomes et al. | Xmpp based context management architecture | |
CN102316154B (zh) | 优化对基于联盟基础结构的资源的访问 | |
CN114257487B (zh) | 管理网络节点集的系统和方法 | |
CN115037756B (zh) | 一种运行联盟链网络的方法、联盟链网络和用于联盟链网络的节点设备 | |
US11683400B1 (en) | Communication protocol for Knative Eventing's Kafka components | |
US10334025B2 (en) | Adaptive query targeting in a dynamic distributed environment | |
US11588776B1 (en) | Publish-subscribe message updates | |
CN115134421A (zh) | 一种多源异构数据跨系统协同管理系统及方法 | |
CN114840353A (zh) | 一种基于zk服务器的消息订阅方法及装置 | |
CN113965538A (zh) | 设备状态消息处理方法、装置及存储介质 | |
CN114500660B (zh) | 请求处理方法、装置、设备及计算机可读存储介质 | |
CN113114560B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |