CN113079139A - 基于区块链的共识组主节点确定方法、装置及系统 - Google Patents
基于区块链的共识组主节点确定方法、装置及系统 Download PDFInfo
- Publication number
- CN113079139A CN113079139A CN202110306726.8A CN202110306726A CN113079139A CN 113079139 A CN113079139 A CN 113079139A CN 202110306726 A CN202110306726 A CN 202110306726A CN 113079139 A CN113079139 A CN 113079139A
- Authority
- CN
- China
- Prior art keywords
- consensus
- time
- node
- group
- master node
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Power Engineering (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供一种基于区块链的共识组主节点确定方法、装置及系统,也可用于金融领域,方法包括:获取区块链平台中预存储的历史交易共识时间,并根据所述历史交易共识时间和共识组中各节点的唯一标识进行散列函数加密,得到共识组节点加密集合;根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号并将所述共识组节点加密集合中与所述共识组主节点序号对应的节点确定为共识组主节点;本申请能够有效解决现有技术中主节点选择通信复杂度较高的问题,提高系统的共识效率,并且可以预防节点的单点故障。
Description
技术领域
本申请涉及区块链、分布式领域,也可用于金融领域,具体涉及一种基于区块链的共识组主节点确定方法、装置及系统。
背景技术
在区块链网络中,节点共同参与信息记录,利用密码学方法,工作量证明的记账规则,实现了其信息公开透明可追溯的特点,因此,对于网络中的节点,区块链平台可以被认为是一个可信的第三方。
分布式系统是多个节点互联,相互协作共同完成一个任务的系统,在分布式系统中,需要解决的关键问题是系统一致性的问题,解决一致性问题的方法就是共识算法,当前,主流的共识算法有PAXOS、Raft、PBFT以及其变种算法,算法思路在于由共识组内的主节点来主导共识流程,在这些算法中,主节点的选择方法与共识算法有相同的通信复杂度,并且在不同的场景中,主节点的选择需要考虑到不同的情况,比如单点故障引起的超时问题,主节点选择的随机性问题以及特殊规则的制定问题。
发明人发现,现有主流的共识算法使用主节点来主导共识流程,而主节点的选择算法与共识算法有同等的通信复杂度,每次主节点选择相当于做了一次共识。这种方式在需要频繁更换主节点的场景下,会一定程度上影响共识算法的效率。
发明内容
针对现有技术中的问题,本申请提供一种基于区块链的共识组主节点确定方法、装置及系统,能够有效解决现有技术中主节点选择通信复杂度较高的问题,提高系统的共识效率,并且可以预防节点的单点故障。
为了解决上述问题中的至少一个,本申请提供以下技术方案:
第一方面,本申请提供一种基于区块链的共识组主节点确定方法,包括:
获取区块链平台中预存储的历史交易共识时间,并根据所述历史交易共识时间和共识组中各节点的唯一标识进行散列函数加密,得到共识组节点加密集合;
根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号并将所述共识组节点加密集合中与所述共识组主节点序号对应的节点确定为共识组主节点。
进一步地,所述根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号,包括:
根据所述历史交易共识时间中最近一次共识成功时间与当前系统时间的时间差值、所述时间差值与预设共识超时时间的时间比值以及所述时间比值与所述共识组中的节点数量,确定共识组主节点序号;
根据所述共识组主节点序号确定所述共识组节点加密集合中相应节点为所述共识组主节点,其中,所述共识组加密集合中各节点按照预设排序规则排列。
进一步地,在所述获取区块链平台中预存储的历史交易共识时间之前,包括:
接收客户端发送的交易共识请求并按照设定心跳频率向区块链平台中的设定区块发送共识相关信息摘要记录获取请求,其中,所述共识相关信息摘要记录中预存储有共识组中各节点的历史交易共识时间。
进一步地,在所述获取区块链平台中预存储的历史交易共识时间之前,还包括:
判断所述共识相关信息摘要记录中是否包含共识组中各节点的历史交易共识时间,若否,则将默认初始时间设定为所述历史交易共识时间。
第二方面,本申请提供一种基于区块链的共识组主节点确定装置,包括:
信息获取模块,用于获取区块链平台中预存储的历史交易共识时间,并根据所述历史交易共识时间和共识组中各节点的唯一标识进行散列函数加密,得到共识组节点加密集合;
主节点选择模块,用于根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号并将所述共识组节点加密集合中与所述共识组主节点序号对应的节点确定为共识组主节点。
进一步地,所述主节点选择模块包括:
组主节点序号确定单元,用于根据所述历史交易共识时间中最近一次共识成功时间与当前系统时间的时间差值、所述时间差值与预设共识超时时间的时间比值以及所述时间比值与所述共识组中的节点数量,确定共识组主节点序号;
主节点确定单元,用于根据所述共识组主节点序号确定所述共识组节点加密集合中相应节点为所述共识组主节点,其中,所述共识组加密集合中各节点按照预设排序规则排列。
进一步地,还包括:
请求发送单元,用于接收客户端发送的交易共识请求并按照设定心跳频率向区块链平台中的设定区块发送共识相关信息摘要记录获取请求,其中,所述共识相关信息摘要记录中预存储有共识组中各节点的历史交易共识时间。
第三方面,本申请提供一种基于区块链的共识组主节点确定系统,包括区块链平台和分布式系统共识组,所述区块链平台与所述分布式系统共识组通信连接;
所述分布式系统共识组包括:
信息获取模块,用于获取所述区块链平台中预存储的历史交易共识时间,并根据所述历史交易共识时间和共识组中各节点的唯一标识进行散列函数加密,得到共识组节点加密集合;
主节点选择模块,用于根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号并将所述共识组节点加密集合中与所述共识组主节点序号对应的节点确定为共识组主节点。
第四方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的基于区块链的共识组主节点确定方法的步骤。
第五方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的基于区块链的共识组主节点确定方法的步骤。
由上述技术方案可知,本申请提供一种基于区块链的共识组主节点确定方法、装置及系统,通过引入区块链平台,获得其中记录的历史交易共识时间作为随机种子进行共识组主节点选择,可以实现在较低的通信复杂度下完成共识组主节点选择过程,同时可以保证较好的随机性,由此解决现有技术中主节点选择通信复杂度较高的问题,提高系统的共识效率,并且可以预防节点的单点故障。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的基于区块链的共识组主节点确定方法的流程示意图之一;
图2为本申请实施例中的基于区块链的共识组主节点确定方法的流程示意图之二;
图3为本申请实施例中的基于区块链的共识组主节点确定装置的结构图之一;
图4为本申请实施例中的基于区块链的共识组主节点确定装置的结构图之二;
图5为本申请一具体实施例中基于区块链的共识组主节点确定系统的结构示意图;
图6为本申请一具体实施例中区块中共识交易的数据结构图;
图7为本申请一具体实施例中分布式系统共识组内节点主节点选择模块结构图;
图8为本申请一具体实施例中主节点选择单元时间与主节点关系图;
图9为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到现有主流的共识算法使用主节点来主导共识流程,而主节点的选择算法与共识算法有同等的通信复杂度,每次主节点选择相当于做了一次共识。这种方式在需要频繁更换主节点的场景下,会一定程度上影响共识算法的效率的问题,本申请提供一种基于区块链的共识组主节点确定方法、装置及系统,通过引入区块链平台,获得其中记录的历史交易共识时间作为随机种子进行共识组主节点选择,可以实现在较低的通信复杂度下完成共识组主节点选择过程,同时可以保证较好的随机性,由此解决现有技术中主节点选择通信复杂度较高的问题,提高系统的共识效率,并且可以预防节点的单点故障。
为了能够有效解决现有技术中主节点选择通信复杂度较高的问题,提高系统的共识效率,并且可以预防节点的单点故障,本申请提供一种基于区块链的共识组主节点确定方法的实施例,参见图1,所述基于区块链的共识组主节点确定方法具体包含有如下内容:
步骤S101:获取区块链平台中预存储的历史交易共识时间,并根据所述历史交易共识时间和共识组中各节点的唯一标识进行散列函数加密,得到共识组节点加密集合。
可选的,本申请方法的执行主体可以为一分布式系统共识组,其能够与相应的区块链平台进行通信交互。
可选的,所述分布式系统共识组是由分布式系统中为了完成一个共识任务的多个节点共同组成,记为[a1,a2,a3……],节点使用节点ID号进行区分,节点对应的ID号记为[id1,id2,id3……],作为分布式系统中的节点,每个节点相互独立,通过节点之间的通信协作共同完成一个任务,对用户而言,分布式系统可以被看作一个提供完整功能的服务节点。在系统内部,节点之间通过共识算法进行数据共识,共识算法的基本逻辑是由主节点主导进行数据共识过程。本发明主要描述共识过程中,主节点的选择方案,共识算法可以使用任意以主节点主导的共识算法以适用不同的应用场景。
可选的,所述区块链平台是独立于所述分布式系统共识组的区块链网络,其种类可以是公有链、联盟链、私有链任意一种。对于本发明,区块链平台需要提供如下功能:
1、可以以交易的形式将共识相关信息摘要记录在区块中。
2、可以查询最近一次共识的信息。对于分布式系统共识组中每个节点都独立的与区块链平台进行交互,区块链平台可以作为一个可信机构,提供可靠的信息存储以及查询服务,提高数据的安全性,使共识信息公开透明可追溯。
可选的,本申请的分布式系统共识组可以通过与区块链平台进行数据请求,获取区块链平台中预存储的历史交易共识时间,所述历史交易共识时间中包含有最近一次的共识成功时间ts,进而还可以根据该最近一次的共识成功时间ts与共识组中各节点的唯一标识(ID号)作为HASH散列加密函数的输入,获得HASH值h,该过程可以用如下公式表示:
hi=HASH(ts,idi) (1)
其中,i为共识组中各节点的唯一标识(ID号)。将共识组内所有节点ID使用上述公式进行计算,得到共识组节点加密集合,记为[h1,h2,h3……]。
可以理解的是,本申请使用从区块链平台中获取的最近一次的共识成功时间作为HASH函数的输入,可以被认为从可信机构获取的随机种子。HASH具有单向散列的特性,理论上使用HASH函数获得的HASH值是不可预测且随机的,这种方法保证了主节点选择方案的随机性,在每一轮的共识中,共识组内所有节点都有等可能的机会被选为主节点。
步骤S102:根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号并将所述共识组节点加密集合中与所述共识组主节点序号对应的节点确定为共识组主节点。
可选的,本申请还可以根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号,具体可以例如,将主节点共识超时时间T设为系统常数,使用获得的最近一次共识成功时间ts,与当前系统时间te使用如下公式进行计算确定共识组主节点序号s:
s=[(ts-te)/T]mod(n) (2)
其中,n为参与共识的节点数量,将共识组节点加密集合使用设置好的排序规则进行排序,其中序号为s的HASH值所对应的节点为此次共识的主节点。
可以理解的是,本申请考虑到在以主节点为主导的共识算法中,主节点的单点故障会造成算法运行失败的问题,当主节点共识的时间超过超时时间时,根据公式(2)会进行主节点的转换,当在规定的超时时间内没有完成共识,会换下一个主节点来主导共识流程,由此可以预防节点的单点故障。
从上述描述可知,本申请实施例提供的基于区块链的共识组主节点确定方法,能够通过引入区块链平台,获得其中记录的历史交易共识时间作为随机种子进行共识组主节点选择,可以实现在较低的通信复杂度下完成共识组主节点选择过程,同时可以保证较好的随机性,由此解决现有技术中主节点选择通信复杂度较高的问题,提高系统的共识效率,并且可以预防节点的单点故障。
为了能够提高共识组主节点选择时的可靠性和随机性,在本申请的基于区块链的共识组主节点确定方法的一实施例中,参见图2,上述步骤S102还可以具体包含如下内容:
步骤S201:根据所述历史交易共识时间中最近一次共识成功时间与当前系统时间的时间差值、所述时间差值与预设共识超时时间的时间比值以及所述时间比值与所述共识组中的节点数量,确定共识组主节点序号。
步骤S202:根据所述共识组主节点序号确定所述共识组节点加密集合中相应节点为所述共识组主节点,其中,所述共识组加密集合中各节点按照预设排序规则排列。
可选的,本申请还可以根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号,具体可以例如,将主节点共识超时时间T设为系统常数,使用获得的最近一次共识成功时间ts,与当前系统时间te使用如下公式进行计算确定共识组主节点序号s:
s=[(ts-te)/T]mod(n) (2)
其中,n为参与共识的节点数量,将共识组节点加密集合使用设置好的排序规则进行排序,其中序号为s的HASH值所对应的节点为此次共识的主节点。
可以理解的是,本申请考虑到在以主节点为主导的共识算法中,主节点的单点故障会造成算法运行失败的问题,当主节点共识的时间超过超时时间时,根据公式(2)会进行主节点的转换,当在规定的超时时间内没有完成共识,会换下一个主节点来主导共识流程,由此可以预防节点的单点故障。
为了能够提高系统可用性,在本申请的基于区块链的共识组主节点确定方法的一实施例中,在上述步骤S101之前,还可以具体包含如下内容:
接收客户端发送的交易共识请求并按照设定心跳频率向区块链平台中的设定区块发送共识相关信息摘要记录获取请求,其中,所述共识相关信息摘要记录中预存储有共识组中各节点的历史交易共识时间。
可选的,本申请可以预先设置一时间间隔为心跳频率v,接收客户端发送的交易共识请求后,可以按照设定心跳频率v向区块链平台中的设定区块发送共识相关信息摘要记录获取请求,值得注意的是,所述共识相关信息摘要记录中预存储有共识组中各节点的历史交易共识时间,由此通过主节点共识超时时间T与心跳频率v来解决主节点单点故障问题。
为了能够保障主节点选择工作的顺利进行,在本申请的基于区块链的共识组主节点确定方法的一实施例中,在上述步骤S101之前,还可以具体包含如下内容:
判断所述共识相关信息摘要记录中是否包含共识组中各节点的历史交易共识时间,若否,则将默认初始时间设定为所述历史交易共识时间。
可选的,本申请通过区块链平台中设定区块的共识相关信息摘要记录来获取上一次共识成功时间ts,若不存在,则可以使用默认初始时间ts=0为所述历史交易共识时间,以保障后续主节点选择工作的顺利进行。
为了能够有效解决现有技术中主节点选择通信复杂度较高的问题,提高系统的共识效率,并且可以预防节点的单点故障,本申请提供一种用于实现所述基于区块链的共识组主节点确定方法的全部或部分内容的基于区块链的共识组主节点确定装置的实施例,参见图3,所述基于区块链的共识组主节点确定装置具体包含有如下内容:
信息获取模块10,用于获取区块链平台中预存储的历史交易共识时间,并根据所述历史交易共识时间和共识组中各节点的唯一标识进行散列函数加密,得到共识组节点加密集合。
主节点选择模块20,用于根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号并将所述共识组节点加密集合中与所述共识组主节点序号对应的节点确定为共识组主节点。
从上述描述可知,本申请实施例提供的基于区块链的共识组主节点确定装置,能够通过引入区块链平台,获得其中记录的历史交易共识时间作为随机种子进行共识组主节点选择,可以实现在较低的通信复杂度下完成共识组主节点选择过程,同时可以保证较好的随机性,由此解决现有技术中主节点选择通信复杂度较高的问题,提高系统的共识效率,并且可以预防节点的单点故障。
为了能够提高共识组主节点选择时的可靠性和随机性,在本申请的基于区块链的共识组主节点确定装置的一实施例中,参见图4,所述主节点选择模块20包括:
组主节点序号确定单元21,用于根据所述历史交易共识时间中最近一次共识成功时间与当前系统时间的时间差值、所述时间差值与预设共识超时时间的时间比值以及所述时间比值与所述共识组中的节点数量,确定共识组主节点序号。
主节点确定单元22,用于根据所述共识组主节点序号确定所述共识组节点加密集合中相应节点为所述共识组主节点,其中,所述共识组加密集合中各节点按照预设排序规则排列。
为了能够提高系统可用性,在本申请的基于区块链的共识组主节点确定装置的一实施例中,还具体包含有如下内容:
请求发送单元,用于接收客户端发送的交易共识请求并按照设定心跳频率向区块链平台中的设定区块发送共识相关信息摘要记录获取请求,其中,所述共识相关信息摘要记录中预存储有共识组中各节点的历史交易共识时间。
为了能够保障主节点选择工作的顺利进行,在本申请的基于区块链的共识组主节点确定装置的一实施例中,还具体包含有如下内容:
默认设置单元,用于判断所述共识相关信息摘要记录中是否包含共识组中各节点的历史交易共识时间,若否,则将默认初始时间设定为所述历史交易共识时间。
为了更进一步说明本方案,本申请还提供一种应用上述基于区块链的共识组主节点确定装置实现基于区块链的共识组主节点确定方法的基于区块链的共识组主节点确定系统的具体应用实例,参见图5,具体包含有如下内容:区块链平台和分布式系统共识组,所述区块链平台与所述分布式系统共识组通信连接;
所述分布式系统共识组包括:
信息获取模块10,用于获取所述区块链平台中预存储的历史交易共识时间,并根据所述历史交易共识时间和共识组中各节点的唯一标识进行散列函数加密,得到共识组节点加密集合。
主节点选择模块20,用于根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号并将所述共识组节点加密集合中与所述共识组主节点序号对应的节点确定为共识组主节点。
具体的,所述分布式系统共识组是由分布式系统中为了完成一个共识任务的多个节点共同组成,记为[a1,a2,a3……],节点使用节点ID号进行区分,节点对应的ID号记为[id1,id2,id3……],作为分布式系统中的节点,每个节点相互独立,通过节点之间的通信协作共同完成一个任务,对用户而言,分布式系统可以被看作一个提供完整功能的服务节点。在系统内部,节点之间通过共识算法进行数据共识,共识算法的基本逻辑是由主节点主导进行数据共识过程。本发明主要描述共识过程中,主节点的选择方案,共识算法可以使用任意以主节点主导的共识算法以适用不同的应用场景。
所述区块链平台是独立于所述分布式系统共识组的区块链网络,其种类可以是公有链、联盟链、私有链任意一种。对于本发明,区块链平台需要提供如下功能:
1、可以以交易的形式将共识相关信息摘要记录在区块中。
2、可以查询最近一次共识的信息。对于分布式系统共识组中每个节点都独立的与区块链平台进行交互,区块链平台可以作为一个可信机构,提供可靠的信息存储以及查询服务,提高数据的安全性,使共识信息公开透明可追溯。
参见图6,每一次共识的信息以交易的形式存储在区块链平台中,信息包括如下内容:1、参与本次共识的共识组节点ID号集合;2、本次共识的主节点ID;3、本次的共识成功时间戳;4、此次共识的信息摘要。其中,信息摘要可以加入节点对信息的签名,以使共识信息具有更高的安全性。
参见图7,分布式系统共识组内节点主节点选择模块结构图所示,包含以下几个方面:区块链交互单元、HASH计算单元、主节点选择单元。
具体的,所述区块链交互单元,用于实现节点与区块链平台的信息交互,主要实现的功能有1、查询最近一次的共识信息,以获取最近一次共识成功的时间ts;2、将共识交易发送给区块链平台。
所述HASH计算单元,用于节点进行哈希计算,HASH函数是单项散列函数,从不同的输入获得的输出值可以被认为是随机的,并且无法通过输出值获得输入值。本发明使用从区块链交互单元中获取的最近一次共识成功时间ts与每个节点的ID号作为HASH函数的输入,获得HASH值h,该过程可以用如下公式表示:
hi=HASH(ts,idi) (1)
其中,i为节点编号。将共识组内所有节点id使用上述公式进行计算,得到每个节点对应的HASH值集合,记为[h1,h2,h3……]。
所述主节点选择单元,用于根据HASH值计算单元获得的HASH值集合,进行主节点的选择。将主节点共识超时时间T设为系统常数,使用区块链平台交互单元中获得的最近一次共识成功时间ts,与当前时间te使用如下公式进行计算获得序号s:
s=[(ts-te)/T]mod(n) (2)
其中,n为参与共识的节点数量。将HASH值计算单元中获得的HASH值集合,使用设置好的排序规则进行排序,其中序号为s的HASH值所对应的节点为此次共识的主节点。通过该方案选择出的主节点与时间的关系如图4:主节点选择单元时间与主节点关系图所示。
参见图8,本申请还提供一种利用区块链平台的分布式系统共识组主节点选择方案流程图,具体流程如下:
步骤1:系统中节点设定系统常数:1、主节点共识超时时间T;2、初始共识成功时间ts=0;3、心跳频率v。节点记录共识组内其他节点的ID号集合[id1,id2,id3……],共识组内节点数量为n。
步骤2:当节点收到需要共识的信息时,每隔一段时间进行如下操作,时间间隔为心跳频率v。
步骤3:节点通过区块链平台交互单元获取上一次共识成功时间ts,若没查到,则使用初始共识成功时间ts=0。
步骤4:节点使用HASH值计算单元,按照公式(1)进行HASH值计算,获得节点对应的HASH值集合[h1,h2,h3……]。
步骤5:在主节点选择单元,对HASH值集合进行排序,根据公式(2)计算序号s。
步骤6:取排序后的HASH值集合中序号为s的值对应的节点ID,若本节点ID与该ID值相同,则本节点为此次共识的主节点,进行接下来的共识操作。否则,本节点不是此次共识的主节点,回到步骤2,同时根据共识算法等待主节点的信息。
有上述内容可知,本申请通过引入区块链平台,获得其中记录的信息作为随机种子进行主节点选择,可以实现在较低的通信复杂度下完成主节点选择过程,可以保证较好的随机性,同时还具有以下技术效果:
1、较低的通信复杂度:在传统的分布式系统共识算法中,主节点选择算法往往与共识算法具有相同的通信复杂度,在主节点更换频繁的场景中,一定程度上影响了系统性能。使用本发明的主节点选择方案,在不出现节点超时的情况下,只需要与区块链平台进行一次交互获得上一次共识的成功时间,就可以完成主节点的选择,在通信复杂度上是o(1)的水平。
2、较好的随机性:本发明使用从区块链平台中获取的最近一次共识时间作为HASH函数的输入,可以被认为从可信机构获取的随机种子。HASH具有单向散列的特性,理论上使用HASH函数获得的HASH值是不可预测且随机的,这种方法保证了主节点选择方案的随机性,在每一轮的共识中,共识组内所有节点都有等可能的机会被选为主节点。
3、超时机制:分布式系统节点出现单点故障时,会影响到系统的可用性。有效的超时机制对于分布式系统来说是必要的。在以主节点为主导的共识算法中,主节点的单点故障会造成算法运行失败。本发明使用主节点共识超时时间T与心跳频率v来解决主节点单点故障问题。共识组内节点以心跳频率v向区块链平台进行信息查询,当主节点共识的时间超过超时时间时,根据公式(2)会进行主节点的转换,当在规定的超时时间内没有完成共识,会换下一个主节点来主导共识流程。
从硬件层面来说,为了能够有效解决现有技术中主节点选择通信复杂度较高的问题,提高系统的共识效率,并且可以预防节点的单点故障,本申请提供一种用于实现所述基于区块链的共识组主节点确定方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现基于区块链的共识组主节点确定装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的基于区块链的共识组主节点确定方法的实施例,以及基于区块链的共识组主节点确定装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,基于区块链的共识组主节点确定方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图9为本申请实施例的电子设备9600的系统构成的示意框图。如图9所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图9是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,基于区块链的共识组主节点确定方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤S101:获取区块链平台中预存储的历史交易共识时间,并根据所述历史交易共识时间和共识组中各节点的唯一标识进行散列函数加密,得到共识组节点加密集合。
步骤S102:根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号并将所述共识组节点加密集合中与所述共识组主节点序号对应的节点确定为共识组主节点。
从上述描述可知,本申请实施例提供的电子设备,通过引入区块链平台,获得其中记录的历史交易共识时间作为随机种子进行共识组主节点选择,可以实现在较低的通信复杂度下完成共识组主节点选择过程,同时可以保证较好的随机性,由此解决现有技术中主节点选择通信复杂度较高的问题,提高系统的共识效率,并且可以预防节点的单点故障。
在另一个实施方式中,基于区块链的共识组主节点确定装置可以与中央处理器9100分开配置,例如可以将基于区块链的共识组主节点确定装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现基于区块链的共识组主节点确定方法功能。
如图9所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图9中所示的所有部件;此外,电子设备9600还可以包括图9中没有示出的部件,可以参考现有技术。
如图9所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的基于区块链的共识组主节点确定方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的基于区块链的共识组主节点确定方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S101:获取区块链平台中预存储的历史交易共识时间,并根据所述历史交易共识时间和共识组中各节点的唯一标识进行散列函数加密,得到共识组节点加密集合。
步骤S102:根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号并将所述共识组节点加密集合中与所述共识组主节点序号对应的节点确定为共识组主节点。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过引入区块链平台,获得其中记录的历史交易共识时间作为随机种子进行共识组主节点选择,可以实现在较低的通信复杂度下完成共识组主节点选择过程,同时可以保证较好的随机性,由此解决现有技术中主节点选择通信复杂度较高的问题,提高系统的共识效率,并且可以预防节点的单点故障。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于区块链的共识组主节点确定方法,其特征在于,所述方法包括:
获取区块链平台中预存储的历史交易共识时间,并根据所述历史交易共识时间和共识组中各节点的唯一标识进行散列函数加密,得到共识组节点加密集合;
根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号并将所述共识组节点加密集合中与所述共识组主节点序号对应的节点确定为共识组主节点。
2.根据权利要求1所述的基于区块链的共识组主节点确定方法,其特征在于,所述根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号,包括:
根据所述历史交易共识时间中最近一次共识成功时间与当前系统时间的时间差值、所述时间差值与预设共识超时时间的时间比值以及所述时间比值与所述共识组中的节点数量,确定共识组主节点序号;
根据所述共识组主节点序号确定所述共识组节点加密集合中相应节点为所述共识组主节点,其中,所述共识组加密集合中各节点按照预设排序规则排列。
3.根据权利要求1所述的基于区块链的共识组主节点确定方法,其特征在于,在所述获取区块链平台中预存储的历史交易共识时间之前,包括:
接收客户端发送的交易共识请求并按照设定心跳频率向区块链平台中的设定区块发送共识相关信息摘要记录获取请求,其中,所述共识相关信息摘要记录中预存储有共识组中各节点的历史交易共识时间。
4.根据权利要求3所述的基于区块链的共识组主节点确定方法,其特征在于,在所述获取区块链平台中预存储的历史交易共识时间之前,还包括:
判断所述共识相关信息摘要记录中是否包含共识组中各节点的历史交易共识时间,若否,则将默认初始时间设定为所述历史交易共识时间。
5.一种基于区块链的共识组主节点确定装置,其特征在于,包括:
信息获取模块,用于获取区块链平台中预存储的历史交易共识时间,并根据所述历史交易共识时间和共识组中各节点的唯一标识进行散列函数加密,得到共识组节点加密集合;
主节点选择模块,用于根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号并将所述共识组节点加密集合中与所述共识组主节点序号对应的节点确定为共识组主节点。
6.根据权利要求5所述的基于区块链的共识组主节点确定装置,其特征在于,所述主节点选择模块包括:
组主节点序号确定单元,用于根据所述历史交易共识时间中最近一次共识成功时间与当前系统时间的时间差值、所述时间差值与预设共识超时时间的时间比值以及所述时间比值与所述共识组中的节点数量,确定共识组主节点序号;
主节点确定单元,用于根据所述共识组主节点序号确定所述共识组节点加密集合中相应节点为所述共识组主节点,其中,所述共识组加密集合中各节点按照预设排序规则排列。
7.根据权利要求5所述的基于区块链的共识组主节点确定装置,其特征在于,还包括:
请求发送单元,用于接收客户端发送的交易共识请求并按照设定心跳频率向区块链平台中的设定区块发送共识相关信息摘要记录获取请求,其中,所述共识相关信息摘要记录中预存储有共识组中各节点的历史交易共识时间。
8.一种基于区块链的共识组主节点确定系统,其特征在于,包括区块链平台和分布式系统共识组,所述区块链平台与所述分布式系统共识组通信连接;
所述分布式系统共识组包括:
信息获取模块,用于获取所述区块链平台中预存储的历史交易共识时间,并根据所述历史交易共识时间和共识组中各节点的唯一标识进行散列函数加密,得到共识组节点加密集合;
主节点选择模块,用于根据所述历史交易共识时间、当前系统时间以及预设共识超时时间,确定共识组主节点序号并将所述共识组节点加密集合中与所述共识组主节点序号对应的节点确定为共识组主节点。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述的基于区块链的共识组主节点确定方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述的基于区块链的共识组主节点确定方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110306726.8A CN113079139B (zh) | 2021-03-23 | 2021-03-23 | 基于区块链的共识组主节点确定方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110306726.8A CN113079139B (zh) | 2021-03-23 | 2021-03-23 | 基于区块链的共识组主节点确定方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113079139A true CN113079139A (zh) | 2021-07-06 |
CN113079139B CN113079139B (zh) | 2022-11-29 |
Family
ID=76613256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110306726.8A Active CN113079139B (zh) | 2021-03-23 | 2021-03-23 | 基于区块链的共识组主节点确定方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113079139B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821569A (zh) * | 2021-09-30 | 2021-12-21 | 广州智链未来科技有限公司 | 一种区块链的共识方法及区块链 |
CN115022022A (zh) * | 2022-05-31 | 2022-09-06 | 南京邮电大学 | 一种基于节点过往行为分析的Raft共识机制改进方法 |
CN115529137A (zh) * | 2022-08-24 | 2022-12-27 | 海南大学 | 一种基于改进pbft算法的知识产权交易方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109087111A (zh) * | 2018-08-31 | 2018-12-25 | 深圳付贝科技有限公司 | 基于区块链的共识验证方法、挖矿机及区块链系统 |
US20190288993A1 (en) * | 2018-12-13 | 2019-09-19 | Alibaba Group Holding Limited | Performing a change of primary node in a distributed system |
US20190318338A1 (en) * | 2018-04-13 | 2019-10-17 | International Business Machines Corporation | Network node management on a blockchain |
CN110505091A (zh) * | 2019-08-23 | 2019-11-26 | 昆明理工大学 | 一种基于pbft改进的共识方法 |
CN110852882A (zh) * | 2019-11-11 | 2020-02-28 | 北京众享比特科技有限公司 | 用于区块链网络的分组共识方法、装置、设备和介质 |
CN111355810A (zh) * | 2020-03-17 | 2020-06-30 | 重庆邮电大学 | 一种基于信誉与投票机制的改进pbft共识方法 |
CN112329051A (zh) * | 2020-10-23 | 2021-02-05 | 中国科学院数据与通信保护研究教育中心 | 一种安全高效的共识机制实现方法及系统 |
-
2021
- 2021-03-23 CN CN202110306726.8A patent/CN113079139B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190318338A1 (en) * | 2018-04-13 | 2019-10-17 | International Business Machines Corporation | Network node management on a blockchain |
CN109087111A (zh) * | 2018-08-31 | 2018-12-25 | 深圳付贝科技有限公司 | 基于区块链的共识验证方法、挖矿机及区块链系统 |
US20190288993A1 (en) * | 2018-12-13 | 2019-09-19 | Alibaba Group Holding Limited | Performing a change of primary node in a distributed system |
CN110505091A (zh) * | 2019-08-23 | 2019-11-26 | 昆明理工大学 | 一种基于pbft改进的共识方法 |
CN110852882A (zh) * | 2019-11-11 | 2020-02-28 | 北京众享比特科技有限公司 | 用于区块链网络的分组共识方法、装置、设备和介质 |
CN111355810A (zh) * | 2020-03-17 | 2020-06-30 | 重庆邮电大学 | 一种基于信誉与投票机制的改进pbft共识方法 |
CN112329051A (zh) * | 2020-10-23 | 2021-02-05 | 中国科学院数据与通信保护研究教育中心 | 一种安全高效的共识机制实现方法及系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113821569A (zh) * | 2021-09-30 | 2021-12-21 | 广州智链未来科技有限公司 | 一种区块链的共识方法及区块链 |
CN113821569B (zh) * | 2021-09-30 | 2024-02-06 | 广州智链未来科技有限公司 | 一种区块链的共识方法及区块链 |
CN115022022A (zh) * | 2022-05-31 | 2022-09-06 | 南京邮电大学 | 一种基于节点过往行为分析的Raft共识机制改进方法 |
CN115022022B (zh) * | 2022-05-31 | 2023-07-18 | 南京邮电大学 | 一种基于节点过往行为分析的Raft共识机制改进方法 |
CN115529137A (zh) * | 2022-08-24 | 2022-12-27 | 海南大学 | 一种基于改进pbft算法的知识产权交易方法 |
CN115529137B (zh) * | 2022-08-24 | 2024-06-14 | 海南大学 | 一种基于改进pbft算法的知识产权交易方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113079139B (zh) | 2022-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113079139B (zh) | 基于区块链的共识组主节点确定方法、装置及系统 | |
CN110163004B (zh) | 一种区块链生成的方法、相关设备及系统 | |
CN106233637A (zh) | 用于短距离无线数据传输的系统和方法 | |
CN111476572B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN111163130B (zh) | 一种网络服务系统及其数据传输方法 | |
CN111522874B (zh) | 区块链共识方法、装置、计算机设备和存储介质 | |
CN111010381B (zh) | 一种基于跨链的身份认证方法和系统 | |
CN111711655A (zh) | 一种基于区块链的电子数据存证方法、系统、存储介质及终端 | |
CN111970304A (zh) | 消息处理方法和装置 | |
CN111445331A (zh) | 交易撮合方法及装置 | |
EP3308496A2 (en) | System, apparatus and method for secure coordination of a rendezvous point for distributed devices using entropy multiplexing | |
CN110266582A (zh) | 一种消息推送方法、系统、服务器及通信终端 | |
CN111131127B (zh) | 一种基于直播平台的通信方法及相关装置 | |
CN113966602B (zh) | 区块链中区块的分布式存储 | |
CN109818753B (zh) | 择一客户端为多客户端多服务器生成密钥的方法和设备 | |
CN109104472B (zh) | 区块链网络组网方法、装置、设备及计算机可读存储介质 | |
CN111404954A (zh) | 分级共享方法及装置 | |
CN115459909A (zh) | 密钥数据处理方法及装置 | |
CN115567297A (zh) | 跨站请求数据处理方法及装置 | |
CN115205009A (zh) | 基于虚拟技术的开户业务处理方法及装置 | |
CN109525612B (zh) | 多端消息加密传输方法及系统 | |
CN113392350A (zh) | 页面路由处理方法、装置、设备、存储介质及程序产品 | |
CN106470411A (zh) | 构建联系人信息的方法及装置 | |
CN113297587B (zh) | 数据存储方法及系统 | |
CN109922470A (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 |