CN112910663B - 消息广播和终端注册的方法、装置、设备和存储介质 - Google Patents

消息广播和终端注册的方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN112910663B
CN112910663B CN202110051173.6A CN202110051173A CN112910663B CN 112910663 B CN112910663 B CN 112910663B CN 202110051173 A CN202110051173 A CN 202110051173A CN 112910663 B CN112910663 B CN 112910663B
Authority
CN
China
Prior art keywords
terminal
node
registered
message
registration
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.)
Active
Application number
CN202110051173.6A
Other languages
English (en)
Other versions
CN112910663A (zh
Inventor
赖奕宇
曹崇瑞
顾费勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110051173.6A priority Critical patent/CN112910663B/zh
Publication of CN112910663A publication Critical patent/CN112910663A/zh
Application granted granted Critical
Publication of CN112910663B publication Critical patent/CN112910663B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请提供一种消息广播和终端注册的方法、装置、设备和存储介质,该广播方法包括:当第一终端接收到待广播的消息时,获取区块链中已注册的所有第二终端的注册信息;根据所述注册信息,分别与每个所述第二终端建立通信链接;分别发送所述消息至每个所述第二终端,并发送所述消息至所述区块链中的第一节点,所述第一节点与所述第一终端具备相同的标识信息。本申请可以避免引起消息的广播风暴风险,并可以提高消息在区块链网络中的广播速度。

Description

消息广播和终端注册的方法、装置、设备和存储介质
技术领域
本申请涉及区块链技术领域,具体而言,涉及一种消息广播和终端注册的方法、装置、设备和存储介质。
背景技术
区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任、赢得广泛应用奠定基础。
联盟链是一种区块链的应用场景,其只针对某个特定群体的成员和有限的第三方,内部指定多个预选节点为记账人,每个块的生成由所有的预选节点共同决定。联盟链本质上仍然是一种私有链,只不过它比单个小组织开发的私有链更大,却又没有公有链这么大的规模,可以理解为它是介于私有链和公有链之间的一种区块链。
目前,在公链区块链P2P(PeertoPeer,对等网络,简称“P2P”)网络中,基本使用Kademlia(是由PetarMaymounkov与David Mazières所设计的P2P重叠网络传输协议,以构建分布式的P2P电脑网络)或类Kademlia算法实现,在联盟链中,消息的广播一般使用的是单点全网节点广播方案。
在上述描述的Kademlia或类Kademlia算法实现方案中,其消息的广播存在两个问题,第一,消息传递的无方向性;第二,会引起消息广播风暴,轻的会浪费网络带宽资源,重的会把网络带宽打满。因此,在联盟链中,直接使用单点通过遍历全网节点、逐一发送消息进行消息的全网广播的方案,在节点数过多的情况下(如100个节点),广播的速度会非常慢。
发明内容
本申请实施例的目的在于提供一种消息广播和终端注册的方法、装置、设备和存储介质,可以避免引起消息的广播风暴风险,并可以提高消息在区块链网络中的广播速度。
本申请实施例第一方面提供了一种消息广播方法,包括:当第一终端接收到待广播的消息时,获取区块链中已注册的所有第二终端的注册信息;根据所述注册信息,分别与每个所述第二终端建立通信链接;分别发送所述消息至每个所述第二终端,并发送所述消息至所述区块链中的第一节点,所述第一节点与所述第一终端具备相同的标识信息。
于一实施例中,在所述当第一终端接收到待广播的消息时,获取区块链中已注册的所有第二终端的注册信息之前,还包括:发送注册请求至所述区块链中的每个区块链节点;接收每个所述区块链节点返回的注册结果信息。
于一实施例中,在所述发送所述消息至所述区块链中的第一节点,所述第一节点与所述第一终端具备相同的标识信息之前,还包括:基于所述注册结果信息,分别与注册成功的每个所述第一节点建立通信链接。
于一实施例中,在所述当第一终端接收到待广播的消息时,获取区块链中已注册的所有第二终端的注册信息之前,还包括:发送对注册列表的查询请求至所述区块链中的本地节点;接收所述本地节点返回的所述第二终端的所述注册信息。
本申请实施例第二方面提供了一种消息广播方法,包括:接收第一终端发送的消息;发送所述消息至区块链中的第二节点,所述第二节点与接收所述消息的第二终端具备相同的标识信息。
本申请实施例第三方面提供了一种终端注册方法,包括:接收注册请求,所述注册请求中至少包括待注册终端的公钥;根据所述公钥,计算得到所述待注册终端的标识信息;判断所述待注册终端的标识信息与当前区块链节点的标识信息是否相同;若所述待注册终端的标识信息与所述当前区块链节点的标识信息相同,将所述待注册终端注册到所述当前区块链节点,否则,拒绝所述注册请求;发送注册结果信息至已注册终端。
于一实施例中,在所述将所述待注册终端注册到所述当前区块链节点之后,还包括:广播所述已注册终端的注册信息至所述区块链中的每个节点,所述注册信息中至少包括:所述已注册终端的网络地址、所述公钥和端口信息。
于一实施例中,在所述将所述待注册终端注册到所述当前区块链节点之后,还包括:分别与注册成功的每个所述已注册终端建立通信链接。
本申请实施例第四方面提供了一种消息广播装置,包括:获取模块,用于当第一终端接收到待广播的消息时,获取区块链中已注册的所有第二终端的注册信息;第一建立模块,用于根据所述注册信息,分别与每个所述第二终端建立通信链接;第一发送模块,用于分别发送所述消息至每个所述第二终端,并发送所述消息至所述区块链中的第一节点,所述第一节点与所述第一终端具备相同的标识信息。
于一实施例中,还包括:第二发送模块,用于在所述当第一终端接收到待广播的消息时,获取区块链中已注册的所有第二终端的注册信息之前,发送注册请求至所述区块链中的每个区块链节点;第一接收模块,用于接收每个所述区块链节点返回的注册结果信息。
于一实施例中,所述第一建立模块,还用于在所述发送所述消息至所述区块链中的第一节点,所述第一节点与所述第一终端具备相同的标识信息之前,基于所述注册结果信息,分别与注册成功的每个所述第一节点建立通信链接。
于一实施例中,还包括:第三发送模块,用于在所述当第一终端接收到待广播的消息时,获取区块链中已注册的所有第二终端的注册信息之前,发送对注册列表的查询请求至所述区块链中的本地节点;第二接收模块,用于接收所述本地节点返回的所述第二终端的所述注册信息。
本申请实施例第五方面提供了一种消息广播装置,包括:第三接收模块,用于接收第一终端发送的消息;第四发送模块,用于发送所述消息至区块链中的第二节点,所述第二节点与接收所述消息的第二终端具备相同的标识信息。
本申请实施例第六方面提供了一种终端注册装置,包括:第四接收模块,用于接收注册请求,所述注册请求中至少包括待注册终端的公钥;计算模块,用于根据所述公钥,计算得到所述待注册终端的标识信息;判断模块,用于判断所述待注册终端的标识信息与当前区块链节点的标识信息是否相同;注册模块,用于若所述待注册终端的标识信息与所述当前区块链节点的标识信息相同,将所述待注册终端注册到所述当前区块链节点,否则,拒绝所述注册请求;第五发送模块,用于发送注册结果信息至已注册终端。
于一实施例中,还包括:广播模块,用于在所述将所述待注册终端注册到所述当前区块链节点之后,广播所述已注册终端的注册信息至所述区块链中的每个节点,所述注册信息中至少包括:所述已注册终端的网络地址、所述公钥和端口信息。
于一实施例中,还包括:第二建立模块,用于在所述将所述待注册终端注册到所述当前区块链节点之后,分别与注册成功的每个所述已注册终端建立通信链接。
本申请实施例第七方面提供了一种电子设备,包括:存储器,用以存储计算机程序;处理器,用以执行本申请实施例第一方面及其任一实施例的方法,以在区块链中广播消息。
本申请实施例第八方面提供了一种电子设备,包括:存储器,用以存储计算机程序;处理器,用以执行本申请实施例第二方面及其任一实施例的方法,以在区块链中广播消息。
本申请实施例第九方面提供了一种电子设备,包括:存储器,用以存储计算机程序;处理器,用以执行本申请实施例第三方面及其任一实施例的方法,以在区块链中注册终端。
本申请实施例第十方面提供了一种非暂态电子设备可读存储介质,包括:程序,当其藉由电子设备运行时,使得所述电子设备执行本申请实施例第一方面及其任一实施例的方法。
本申请实施例第十一方面提供了一种非暂态电子设备可读存储介质,包括:程序,当其藉由电子设备运行时,使得所述电子设备执行本申请实施例第二方面及其任一实施例的方法。
本申请实施例第十二方面提供了一种非暂态电子设备可读存储介质,包括:程序,当其藉由电子设备运行时,使得所述电子设备执行本申请实施例第三方面及其任一实施例的方法。
本申请提供的消息广播和终端注册的方法、装置、设备和存储介质,通过预先为每个区块链节点设置一一对应的终端,当第一终端所在的区块链节点有消息需要广播时,第一终端基于已经在网络中注册的第二终端的注册信息,与第二终端建立通信链接,然后第一终端一方面将消息发送至第二终端,藉由第二终端将该消息发送至对应的区块链节点,另一方面第一终端将该消息发送至区块链网络中与自身的标识信息相同的区块链节点,进而完成消息在整个区块链网络中的广播,无需区块链节点间逐一进行消息广播,大大提高消息广播速度,避免消息风暴的风险。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1A为本申请一实施例的电子设备的结构示意图;
图1B为本申请一实施例的电子设备的结构示意图;
图1C为本申请一实施例的电子设备的结构示意图;
图2为本申请一实施例的消区块链网络的示意图;
图3为本申请一实施例的终端注册方法的流程示意图;
图4为本申请一实施例的消息广播方法的流程示意图;
图5为本申请一实施例的消息广播方法的流程示意图;
图6为本申请一实施例的终端注册装置的结构示意图;
图7为本申请一实施例的消息广播装置的结构示意图;
图8为本申请一实施例的消息广播装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1A所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图1A中以一个处理器为例。处理器11和存储器12通过总线10连接。存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程,以在区块链中广播消息。
于一实施例中,电子设备1可以是手机、平板电脑、笔记本电脑、台式计算机等设备。
如图1B所示,本实施例提供一种电子设备2,包括:至少一个处理器21和存储器22,图1B中以一个处理器为例。处理器21和存储器22通过总线20连接。存储器22存储有可被处理器21执行的指令,指令被处理器21执行,以使电子设备2可执行下述的实施例中方法的全部或部分流程,以在区块链中广播消息。
于一实施例中,电子设备2可以是手机、平板电脑、笔记本电脑、台式计算机等设备。
如图1C所示,本实施例提供一种电子设备3,包括:至少一个处理器31和存储器32,图1C中以一个处理器为例。处理器31和存储器32通过总线30连接。存储器32存储有可被处理器31执行的指令,指令被处理器31执行,以使电子设备3可执行下述的实施例中方法的全部或部分流程,以在区块链中注册终端。
于一实施例中,电子设备3可以是区块链网络中的一个节点,该节点可以藉由手机、平板电脑、笔记本电脑、台式计算机等设备实现。
请参看图2,其为本申请一实施例的区块链网络的示意图,包括:读个区块链节点201,每个节点预先设置有一一对应的终端,比如每个终端与其对应的区块链节点201的ID信息相同。
区块链节点201可以由如图1C所示的电子设备3实现,每个节点对应的终端可以由如图1A所示的电子设备1或图1B所示的电子设备2实现。
于一实施例中,每个节点对应的终端内可以部署web3sdk,web3sdk是区块链统一向DApp(Decentralization Application,去中心化应用,简称“DApp”)提供的客户端工具,可以通过该web3sdk应用工具部署在各个终端中,进而各终端可以具备发起交易,查询交易结果等功能。
于一实施例中,每个节点对应的终端可以具备相同的消息广播功能,为了区分表示,将当前产生待广播消息的节点对应的终端称为第一终端202,其余终端为第二终端203。
在消息广播场景中,假如第一终端202对应的本地节点产生一个消息,需要广播至区块链网络中,可以藉由第一终端202将消息进行广播,而不是节点之间的逐一广播,因此可以大大提高消息广播速度,避免消息风暴的风险。
请参看图3,其为本申请一实施例的终端注册方法,该方法可由图1C所示的电子设备3作为区块链节点201来执行,并可以应用于如图2所示的消息广播场景中,以在消息广播之前,完成各个终端在区块链网络中的注册。该方法包括如下步骤:
步骤301:接收注册请求,注册请求中至少包括待注册终端的公钥。
在本步骤中,在消息广播之前,各个终端需要首先在区块链网络中完成注册,待注册终端通过web3sdk提前向全网区块链节点201发起注册请求(RegisterMsg),每个区块链节点201实时接收注册请求,该注册请求RegisterMsg中可以包括:待注册终端的公钥web3_NodeId、网络地址ip信息、端口信息port。
步骤302:根据公钥,计算得到待注册终端的标识信息。
在本步骤中,以其中一个区块链节点201为例,区块链节点201收到该待注册终端的RegisterMsg(web3_NodeId,ip,port)后,可以通过现有的CA(cretificate Authority证书授权中心)机制,恢复出公钥web3_NodeId对应的待注册终端的标识信息,标识信息可以是公钥所对应的代理商信息web3_agency,agency是一个企业的抽象概念,在程序应用中,可以具体为一个企业名称。通过CA机制本身,可以确保该web3sdk的安全性。
步骤303:判断待注册终端的标识信息与当前区块链节点201的标识信息是否相同。若是,进入步骤304,否则进入步骤305。
在本步骤中,判断当前区块链节点201自身的代理商信息agency是否与待注册终端的代理商信息web3_agency相同,如果相同,进入步骤304,否则进入步骤305。
步骤304:将待注册终端注册到当前区块链节点201。并进入步骤306。
在本步骤中,如果当前区块链节点201自身的代理商信息agency与待注册终端的代理商信息web3_agency相同,则说明待注册终端的标识信息与当前区块链节点201的标识信息相同,则接受该待注册终端的注册请求,并将该待注册终端的注册请求RegisterMsg的信息注册到本地节点。
步骤305:拒绝注册请求。并进入步骤306。
在本步骤中,如果当前区块链节点201自身的代理商信息agency与待注册终端的代理商信息web3_agency不同,则当前区块链节点201拒绝该待注册终端的注册请求。
步骤306:发送注册结果信息至已注册终端。
在本步骤中,无论该待注册终端是否注册成功,区块链节点201均可以将生成注册结果信息,并可以将注册结果信息返回给该待注册终端。
步骤307:广播已注册终端的注册信息至区块链中的每个节点,注册信息中至少包括:已注册终端的网络地址、公钥和端口信息。
在本步骤中,在注册成功后,可以由当前区块链节点201将该已注册终端的注册信息RegisterMsg(web3_NodeId,ip,port)广播至区块链网络中其他的区块链节点201,如此,区块链网络中所有的区块链节点201都会存储当前注册成功的终端的信息。
步骤308:分别与注册成功的每个已注册终端建立通信链接。
在本步骤中,在正常的拓扑网络中,已注册终端的web3sdk会主动向有相同agency的区块链节点201建立通信链接。
上述步骤306至步骤308的执行顺序不做限定。
上述终端注册方法,通过在消息广播前,完成区块链节点201对应的各个终端在区块链网络中的注册,可以保证每个进行消息广播的终端是安全的,进而保证消息广播的安全性。
请参看图4,其为本申请一实施例的消息广播方法,该方法可由图1A所示的电子设备1作为第一终端202来执行,并可以应用于如图2所示的消息广播场景中,以在区块链中广播消息。该方法包括如下步骤:
步骤401:发送注册请求至区块链中的每个区块链节点201。
在本步骤中,在消息广播前,第一终端202首先完成在区块链网络中的注册,发送注册请求至区块链中的每个区块链节点201,该注册请求可以由RegisterMsg函数实现,RegisterMsg中可以包括:待注册终端的公钥web3_NodeId、网络地址ip、端口信息port,即第一终端202发送RegisterMsg(web3_NodeId,ip,port)至区块链中的每个区块链节点201。
步骤402:接收每个区块链节点201返回的注册结果信息。
在本步骤中,实时接收每个区块链节点201返回的注册结果信息,注册结果信息中可以包括该第一终端202是否注册成功的信息。
步骤403:基于注册结果信息,分别与注册成功的每个第一节点建立通信链接。
在本步骤中,注册结果信息中可以包括该第一终端202是否注册成功的信息,在正常的拓扑网络中,第一终端202的web3sdk可以主动向已注册成功的、并且与第一终端202具有相同agency的区块链节点201建立通信链接。该过程可以是实时的,以保证消息广播的及时性。
步骤404:发送对注册列表的查询请求至区块链中的本地节点。
在本步骤中,基于如图3所示的实施例,在消息广播之前,各个终端完成了在区块链网络中的注册,并且每个区块链节点201都将已注册终端的注册信息RegisterMsg(web3_NodeId,ip,port)广播至区块链网络中其他的区块链节点201,使得安全的终端web3sdk链节上区块链节点201,整个区块链网络中都会有所有已注册终端web3sdk的信息,如此,第一终端202的web3sdk可以启动一个定时查询任务,该任务的核心工作是定时向本地区块链节点201发起查询其他已注册终端(第二终端203)web3sdk的注册列表,即发送对注册列表的查询请求QueryRegisterList至区块链中的本地节点。
步骤405:接收本地节点返回的第二终端203的注册信息。
在本步骤中,第一终端202接收本地节点返回的当前已注册的所有第二终端203web3sdk的信息,并将第二终端203的全部注册信息写入本地缓存web3NodeCache。如此可以确保第一终端202的本地缓存中具有整个区块链网络中当前已注册的第二终端203的注册信息(web3_NodeId,ip,port)。
于一实施例中,第一终端202为举例说明,区块链网络中的每个终端都可以按照上述方式获得区块链网络中当前已注册的第二终端203的注册信息,如此可以确保整个区块链网络中,任意一个终端web3sdk都具有其他的终端web3sdk的注册信息,以安全通讯。
步骤406:当第一终端202接收到待广播的消息时,获取区块链中已注册的所有第二终端203的注册信息。
在本步骤中,经过前述步骤的设置过程,第一终端202的web3sdk可以执行消息广播。当第一终端202接收到待广播的消息时,首先,第一终端202web3sdk1会从本地缓存web3NodeCache中获取全部的第二终端203(这里假设第二终端203有两个,分别为终端web3sdk2、终端web3sdk3)的web3sdk注册信息(web3_NodeId,ip,port)。
步骤407:根据注册信息,分别与每个第二终端203建立通信链接。
在本步骤中,基于每个第二终端203注册信息中的ip和port,分别与每个第二终端203建立TCP(Transmission Control Protocol,传输控制协议,简称“TCP”)长连接。
步骤408:分别发送消息至每个第二终端203,并发送消息至区块链中的第一节点,第一节点与第一终端202具备相同的标识信息。
在本步骤中,建立好通信链接后,可以将消息逐个发送给已建立链接的第二终端203,比如分别发送给终端web3sdk2和终端web3sdk3,与此同时,可以将消息直接发送给区块链网络中与第一终端202具有相同agency的第一节点。第一节点收到该消息后,不再执行消息广播。
另一方面,请参看图5,其为本申请一实施例的消息广播方法,该方法可由图1B所示的电子设备2作为第二终端203来执行,并可以应用于如图2所示的消息广播场景中,以在区块链中广播消息。该方法包括如下步骤:
步骤501:接收第一终端202发送的消息。
在本步骤中,第二终端203实时接收第一终端202发送的消息。
步骤502:发送消息至区块链中的第二节点,第二节点与接收消息的第二终端203具备相同的标识信息。
在本步骤中,当第二终端203的web3sdk收到该消息后,会将该消息直接发送给区块链网络中与第二终端203具有相同agency的第二节点,假设作为第二终端203的终端web3sdk2和终端web3sdk3接收到了第一终端202发送的消息,终端web3sdk2会将该消息发送给区块链网络中与终端web3sdk2具有相同agency的第二节点,同理,终端web3sdk3会将该消息发送给区块链网络中与终端web3sdk3具有相同agency的第二节点。如此,通过消息的有向传播,可以在不引起消息广播风暴的情况下,实现消息的全网快速广播。
请参看图6,其为本申请一实施例的终端注册装置600,该装置可应用于图1C所示的电子设备3,并可以应用于如图2所示的消息广播场景中,以在消息广播之前,完成各个终端在区块链网络中的注册。该装置包括:第四接收模块601、计算模块602、判断模块603、注册模块604和第二发送模块704,各个模块的原理关系如下:
第四接收模块601,用于接收注册请求,注册请求中至少包括待注册终端的公钥。详细参见上述实施例中对步骤301的描述。
计算模块602,用于根据公钥,计算得到待注册终端的标识信息。详细参见上述实施例中对步骤302的描述。
判断模块603,用于判断待注册终端的标识信息与当前区块链节点201的标识信息是否相同。详细参见上述实施例中对步骤303的描述。
注册模块604,用于若待注册终端的标识信息与当前区块链节点201的标识信息相同,将待注册终端注册到当前区块链节点201,否则,拒绝注册请求。详细参见上述实施例中对步骤304至步骤305的描述。
第五发送模块605,用于发送注册结果信息至已注册终端。详细参见上述实施例中对步骤306的描述。
于一实施例中,还包括:广播模块606,用于在将待注册终端注册到当前区块链节点201之后,广播已注册终端的注册信息至区块链中的每个节点,注册信息中至少包括:已注册终端的网络地址、公钥和端口信息。详细参见上述实施例中对步骤307的描述。
于一实施例中,还包括:第二建立模块607,用于在将待注册终端注册到当前区块链节点201之后,分别与注册成功的每个已注册终端建立通信链接。详细参见上述实施例中对步骤308的描述。
上述终端注册装置600的详细描述,请参见上述实施例中相关方法步骤的描述。
请参看图7,其为本申请一实施例的消息广播装置700,该装置可应用于图1A所示的电子设备1,并可以应用于如图2所示的消息广播场景中,以在区块链中广播消息。该装置包括:获取模块701、第一建立模块702和第一发送模块703,各个模块的原理关系如下:
获取模块701,用于当第一终端202接收到待广播的消息时,获取区块链中已注册的所有第二终端203的注册信息。详细参见上述实施例中对步骤406的描述。
第一建立模块702,用于根据注册信息,分别与每个第二终端203建立通信链接。详细参见上述实施例中对步骤407的描述。
第一发送模块703,用于分别发送消息至每个第二终端203,并发送消息至区块链中的第一节点,第一节点与第一终端202具备相同的标识信息。详细参见上述实施例中对步骤408的描述。
于一实施例中,还包括:第二发送模块704,用于在当第一终端202接收到待广播的消息时,获取区块链中已注册的所有第二终端203的注册信息之前,发送注册请求至区块链中的每个区块链节点201。第一接收模块705,用于接收每个区块链节点201返回的注册结果信息。详细参见上述实施例中对步骤401至步骤402的描述。
于一实施例中,第一建立模块702,还用于在发送消息至区块链中的第一节点,第一节点与第一终端202具备相同的标识信息之前,基于注册结果信息,分别与注册成功的每个第一节点建立通信链接。详细参见上述实施例中对步骤403的描述。
于一实施例中,还包括:第三发送模块706,用于在当第一终端202接收到待广播的消息时,获取区块链中已注册的所有第二终端203的注册信息之前,发送对注册列表的查询请求至区块链中的本地节点。第二接收模块707,用于接收本地节点返回的第二终端203的注册信息。详细参见上述实施例中对步骤404至步骤405的描述。
上述消息广播装置700的详细描述,请参见上述实施例中相关方法步骤的描述。
请参看图8,其为本申请一实施例的消息广播装置800,该装置可应用于图1B所示的电子设备2,并可以应用于如图2所示的消息广播场景中,以在区块链中广播消息。该装置包括:第三接收模块801和第四发送模块802,各个模块的原理关系如下:
第三接收模块801,用于接收第一终端202发送的消息。详细参见上述实施例中对步骤501的描述。
第四发送模块802,用于发送消息至区块链中的第二节点,第二节点与接收消息的第二终端203具备相同的标识信息。详细参见上述实施例中对步骤502的描述。
上述消息广播装置800的详细描述,请参见上述实施例中相关方法步骤的描述。
本发明实施例还提供了一种非暂态电子设备可读存储介质,包括:程序,当其在电子设备上运行时,使得电子设备可执行上述实施例中方法的全部或部分流程。其中,存储介质可为磁盘、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(RandomAccess Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等。存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (22)

1.一种消息广播方法,其特征在于,包括:
当第一终端接收到待广播的消息时,获取区块链中已注册的所有第二终端的注册信息;
根据所述注册信息,分别与每个所述第二终端建立通信链接;
分别发送所述消息至每个所述第二终端,以使所述第二终端发送所述消息至所述区块链中的第二节点,并发送所述消息至所述区块链中的第一节点;
其中所述第一节点与所述第一终端具备相同的标识信息,所述第二节点与所述第二终端具备相同的标识信息,所述第一终端基于标识信息注册到所述区块链中与所述第一终端的标识信息相同的所述第一节点,所述第二终端基于标识信息注册到所述区块链中与所述第二终端的标识信息相同的所述第二节点。
2.根据权利要求1所述的方法,其特征在于,在所述当第一终端接收到待广播的消息时,获取区块链中已注册的所有第二终端的注册信息之前,还包括:
发送注册请求至所述区块链中的每个区块链节点;
接收每个所述区块链节点返回的注册结果信息。
3.根据权利要求2所述的方法,其特征在于,在所述发送所述消息至所述区块链中的第一节点,所述第一节点与所述第一终端具备相同的标识信息之前,还包括:
基于所述注册结果信息,分别与注册成功的每个所述第一节点建立通信链接。
4.根据权利要求1所述的方法,其特征在于,在所述当第一终端接收到待广播的消息时,获取区块链中已注册的所有第二终端的注册信息之前,还包括:
发送对注册列表的查询请求至所述区块链中的本地节点;
接收所述本地节点返回的所述第二终端的所述注册信息。
5.一种消息广播方法,其特征在于,包括:
第二终端接收第一终端发送的消息,所述第一终端用于发送所述消息至区块链中的第一节点,其中所述第一终端与所述第一节点具备相同的标识信息,所述第一终端还用于当接收到待广播的消息时,获取所述区块链中已注册的所有第二终端的注册信息;所述第一终端还用于根据所述注册信息,分别与每个所述第二终端建立通信链接;
所述第二终端发送所述消息至区块链中的第二节点,所述第二节点与接收所述消息的第二终端具备相同的标识信息,其中,所述第一终端基于标识信息注册到所述区块链中与所述第一终端的标识信息相同的所述第一节点,所述第二终端基于标识信息注册到所述区块链中与所述第二终端的标识信息相同的所述第二节点。
6.一种终端注册方法,其特征在于,包括:
接收注册请求,所述注册请求中至少包括待注册终端的公钥;
根据所述公钥,计算得到所述待注册终端的标识信息;
判断所述待注册终端的标识信息与当前区块链节点的标识信息是否相同;
若所述待注册终端的标识信息与所述当前区块链节点的标识信息相同,将所述待注册终端注册到所述当前区块链节点,否则,拒绝所述注册请求;
发送注册结果信息至已注册终端,以供所述已注册终端采用如权利要求1-5中任一项所述的方法进行消息广播。
7.根据权利要求6所述的方法,其特征在于,在所述将所述待注册终端注册到所述当前区块链节点之后,还包括:
广播所述已注册终端的注册信息至所述区块链中的每个节点,所述注册信息中至少包括:所述已注册终端的网络地址、所述公钥和端口信息。
8.根据权利要求6所述的方法,其特征在于,在所述将所述待注册终端注册到所述当前区块链节点之后,还包括:
分别与注册成功的每个所述已注册终端建立通信链接。
9.一种消息广播装置,其特征在于,包括:
获取模块,用于当第一终端接收到待广播的消息时,获取区块链中已注册的所有第二终端的注册信息;
第一建立模块,用于根据所述注册信息,分别与每个所述第二终端建立通信链接;
第一发送模块,用于分别发送所述消息至每个所述第二终端,以使所述第二终端发送所述消息至所述区块链中的第二节点,并发送所述消息至所述区块链中的第一节点;
其中所述第一节点与所述第一终端具备相同的标识信息,所述第二节点与所述第二终端具备相同的标识信息,所述第一终端基于标识信息注册到所述区块链中与所述第一终端的标识信息相同的所述第一节点,所述第二终端基于标识信息注册到所述区块链中与所述第二终端的标识信息相同的所述第二节点。
10.根据权利要求9所述的装置,其特征在于,还包括:
第二发送模块,用于在所述当第一终端接收到待广播的消息时,获取区块链中已注册的所有第二终端的注册信息之前,发送注册请求至所述区块链中的每个区块链节点;
第一接收模块,用于接收每个所述区块链节点返回的注册结果信息。
11.根据权利要求10所述的装置,其特征在于,
所述第一建立模块,还用于在所述发送所述消息至所述区块链中的第一节点,所述第一节点与所述第一终端具备相同的标识信息之前,基于所述注册结果信息,分别与注册成功的每个所述第一节点建立通信链接。
12.根据权利要求9所述的装置,其特征在于,还包括:
第三发送模块,用于在所述当第一终端接收到待广播的消息时,获取区块链中已注册的所有第二终端的注册信息之前,发送对注册列表的查询请求至所述区块链中的本地节点;
第二接收模块,用于接收所述本地节点返回的所述第二终端的所述注册信息。
13.一种消息广播装置,其特征在于,包括:
第三接收模块,用于第二终端接收第一终端发送的消息,所述第一终端用于发送所述消息至区块链中的第一节点,其中所述第一终端与所述第一节点具备相同的标识信息,所述第一终端还用于当接收到待广播的消息时,获取所述区块链中已注册的所有第二终端的注册信息;所述第一终端还用于根据所述注册信息,分别与每个所述第二终端建立通信链接;
第四发送模块,用于所述第二终端发送所述消息至区块链中的第二节点,所述第二节点与接收所述消息的第二终端具备相同的标识信息,其中,所述第一终端基于标识信息注册到所述区块链中与所述第一终端的标识信息相同的所述第一节点,所述第二终端基于标识信息注册到所述区块链中与所述第二终端的标识信息相同的所述第二节点。
14.一种终端注册装置,其特征在于,包括:
第四接收模块,用于接收注册请求,所述注册请求中至少包括待注册终端的公钥;
计算模块,用于根据所述公钥,计算得到所述待注册终端的标识信息;
判断模块,用于判断所述待注册终端的标识信息与当前区块链节点的标识信息是否相同;
注册模块,用于若所述待注册终端的标识信息与所述当前区块链节点的标识信息相同,将所述待注册终端注册到所述当前区块链节点,否则,拒绝所述注册请求;
第五发送模块,用于发送注册结果信息至已注册终端,以供所述已注册终端采用如权利要求1-5中任一项所述的方法进行消息广播。
15.根据权利要求14所述的装置,其特征在于,还包括:
广播模块,用于在所述将所述待注册终端注册到所述当前区块链节点之后,广播所述已注册终端的注册信息至所述区块链中的每个节点,所述注册信息中至少包括:所述已注册终端的网络地址、所述公钥和端口信息。
16.根据权利要求14所述的装置,其特征在于,还包括:
第二建立模块,用于在所述将所述待注册终端注册到所述当前区块链节点之后,分别与注册成功的每个所述已注册终端建立通信链接。
17.一种电子设备,其特征在于,包括:
存储器,用以存储计算机程序;
处理器,用以执行如权利要求1至4中任一项所述的方法,以在区块链中广播消息。
18.一种电子设备,其特征在于,包括:
存储器,用以存储计算机程序;
处理器,用以执行如权利要求5中所述的方法,以在区块链中广播消息。
19.一种电子设备,其特征在于,包括:
存储器,用以存储计算机程序;
处理器,用以执行如权利要求6至8中任一项所述的方法,以在区块链中注册终端。
20.一种非暂态电子设备可读存储介质,其特征在于,包括:程序,当其藉由电子设备运行时,使得所述电子设备执行权利要求1至4中任一项所述的方法。
21.一种非暂态电子设备可读存储介质,其特征在于,包括:程序,当其藉由电子设备运行时,使得所述电子设备执行权利要求5中所述的方法。
22.一种非暂态电子设备可读存储介质,其特征在于,包括:程序,当其藉由电子设备运行时,使得所述电子设备执行权利要求6至8中任一项所述的方法。
CN202110051173.6A 2021-01-14 2021-01-14 消息广播和终端注册的方法、装置、设备和存储介质 Active CN112910663B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110051173.6A CN112910663B (zh) 2021-01-14 2021-01-14 消息广播和终端注册的方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110051173.6A CN112910663B (zh) 2021-01-14 2021-01-14 消息广播和终端注册的方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN112910663A CN112910663A (zh) 2021-06-04
CN112910663B true CN112910663B (zh) 2022-06-14

Family

ID=76113216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110051173.6A Active CN112910663B (zh) 2021-01-14 2021-01-14 消息广播和终端注册的方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN112910663B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115102993B (zh) * 2022-07-15 2023-08-11 北京智芯微电子科技有限公司 终端即插即用的主动接入方法、装置、设备及可读介质
CN116436905B (zh) * 2023-04-19 2023-11-28 广州市迪士普音响科技有限公司 网络化广播通信方法及装置、存储介质及计算机设备

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101128031A (zh) * 2006-08-18 2008-02-20 华为技术有限公司 一种用户终端获取系统广播消息信息的方法及系统
WO2009074084A1 (fr) * 2007-12-04 2009-06-18 Huawei Technologies Co., Ltd. Procédé de traitement de données d'enregistrement, et dispositif et système de traitement de données
CN102882555A (zh) * 2012-08-30 2013-01-16 华为技术有限公司 域接入控制的方法及域搜寻的方法及通信设备
CN104735164A (zh) * 2015-04-10 2015-06-24 网易(杭州)网络有限公司 一种保存文件信息的方法和装置
CN108712395A (zh) * 2018-04-27 2018-10-26 腾讯科技(深圳)有限公司 基于区块链的账号管理方法、装置、服务器及存储介质
CN109121176A (zh) * 2018-09-29 2019-01-01 中国电子科技集团公司第三十研究所 一种分布式数据同步方法
CN109743699A (zh) * 2019-01-04 2019-05-10 中国联合网络通信集团有限公司 一种基于区块链的通信方法及系统
CN109951298A (zh) * 2019-03-19 2019-06-28 全链通有限公司 访问服务器的方法、设备及计算机可读存储介质
CN110602244A (zh) * 2019-09-26 2019-12-20 重庆紫光华山智安科技有限公司 分布式存储系统消息交互方法、节点及分布式存储系统
CN111934999A (zh) * 2020-09-25 2020-11-13 支付宝(杭州)信息技术有限公司 消息传输方法及装置
CN111934996A (zh) * 2020-09-25 2020-11-13 支付宝(杭州)信息技术有限公司 消息传输方法及装置
CN112019503A (zh) * 2018-03-01 2020-12-01 北京华为数字技术有限公司 一种获得设备标识的方法、通信实体、通信系统及存储介质
CN112182113A (zh) * 2020-10-23 2021-01-05 网易(杭州)网络有限公司 区块链共识方法、系统、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6787697B2 (ja) * 2015-08-31 2020-11-18 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、車載ネットワークシステム及び転送方法
US11146405B2 (en) * 2019-02-19 2021-10-12 International Business Machines Corporation Blinded endorsement for blockchain

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101128031A (zh) * 2006-08-18 2008-02-20 华为技术有限公司 一种用户终端获取系统广播消息信息的方法及系统
WO2009074084A1 (fr) * 2007-12-04 2009-06-18 Huawei Technologies Co., Ltd. Procédé de traitement de données d'enregistrement, et dispositif et système de traitement de données
CN102882555A (zh) * 2012-08-30 2013-01-16 华为技术有限公司 域接入控制的方法及域搜寻的方法及通信设备
CN104735164A (zh) * 2015-04-10 2015-06-24 网易(杭州)网络有限公司 一种保存文件信息的方法和装置
CN112019503A (zh) * 2018-03-01 2020-12-01 北京华为数字技术有限公司 一种获得设备标识的方法、通信实体、通信系统及存储介质
CN108712395A (zh) * 2018-04-27 2018-10-26 腾讯科技(深圳)有限公司 基于区块链的账号管理方法、装置、服务器及存储介质
CN109121176A (zh) * 2018-09-29 2019-01-01 中国电子科技集团公司第三十研究所 一种分布式数据同步方法
CN109743699A (zh) * 2019-01-04 2019-05-10 中国联合网络通信集团有限公司 一种基于区块链的通信方法及系统
CN109951298A (zh) * 2019-03-19 2019-06-28 全链通有限公司 访问服务器的方法、设备及计算机可读存储介质
CN110602244A (zh) * 2019-09-26 2019-12-20 重庆紫光华山智安科技有限公司 分布式存储系统消息交互方法、节点及分布式存储系统
CN111934999A (zh) * 2020-09-25 2020-11-13 支付宝(杭州)信息技术有限公司 消息传输方法及装置
CN111934996A (zh) * 2020-09-25 2020-11-13 支付宝(杭州)信息技术有限公司 消息传输方法及装置
CN112182113A (zh) * 2020-10-23 2021-01-05 网易(杭州)网络有限公司 区块链共识方法、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN112910663A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
CN111683117B (zh) 一种方法、设备及存储介质
CN101657980B (zh) 分布式路由表体系结构和设计
CN111277562B (zh) 一种区块链网络搭建方法
CN107315786A (zh) 业务数据存储方法及装置
CN112910663B (zh) 消息广播和终端注册的方法、装置、设备和存储介质
CN106878135B (zh) 一种连接方法及装置
US11849052B2 (en) Certificate in blockchain network, storage medium, and computer device
CN113596191A (zh) 一种数据处理方法、网元设备以及可读存储介质
CN108990062B (zh) 智能安全Wi-Fi管理方法和系统
CN110677383A (zh) 防火墙开墙方法、装置、存储介质及计算机设备
CN105611533A (zh) 完整性校验码mic检查方法及装置
CN110932876A (zh) 一种通信系统、方法及装置
CN111866993B (zh) 无线局域网连接管理方法、装置、软件程序及存储介质
WO2020104010A1 (en) Method and system for a network device to obtain a trusted state representation of the state of the distributed ledger technology network
CN110336793B (zh) 一种内网访问方法及相关装置
CN108900422B (zh) 组播转发方法、装置及电子设备
CN114338794B (zh) 一种服务消息的推送方法、装置、电子设备及存储介质
CN109120578B (zh) 一种实现链路连接处理的方法及装置
CN112019603B (zh) 一种交易数据的处理方法及装置
CN102656846B (zh) 通信系统、通信设备和通信控制方法
CN110324826B (zh) 一种内网访问方法及相关装置
CN113810330A (zh) 发送验证信息的方法、装置及存储介质
CN112445594B (zh) 安全文件传输工具的切换方法、装置、计算机设备和介质
US20080133683A1 (en) Method of processing open asynchronous application service event and open web service gateway implementing the same
CN114553938B (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