CN111402058A - 一种数据处理方法、装置、设备及介质 - Google Patents

一种数据处理方法、装置、设备及介质 Download PDF

Info

Publication number
CN111402058A
CN111402058A CN202010474172.8A CN202010474172A CN111402058A CN 111402058 A CN111402058 A CN 111402058A CN 202010474172 A CN202010474172 A CN 202010474172A CN 111402058 A CN111402058 A CN 111402058A
Authority
CN
China
Prior art keywords
consensus
data
node
nodes
determining
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
Application number
CN202010474172.8A
Other languages
English (en)
Other versions
CN111402058B (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010474172.8A priority Critical patent/CN111402058B/zh
Priority to CN202110673842.3A priority patent/CN113256426B/zh
Publication of CN111402058A publication Critical patent/CN111402058A/zh
Application granted granted Critical
Publication of CN111402058B publication Critical patent/CN111402058B/zh
Priority to PCT/CN2021/096594 priority patent/WO2021239087A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例公开了一种数据处理方法、装置、设备及介质,数据处理方法包括:接收共识申请,根据所述共识申请确定共识对象以及所述共识对象对应的共识节点,所述共识节点属于用户的已选择节点;向所述共识节点发送所述共识申请中的待共识数据,以使所述共识节点对所述待共识数据进行共识;接收所述共识节点发送的对所述待共识数据的共识结果,根据至少一个所述共识节点发送的共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。

Description

一种数据处理方法、装置、设备及介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、设备及介质。
背景技术
随着科技发展,区块链技术因其开放性、不可篡改性、去中心化等特点,应用日益广泛。但很多类型的区块链由于其开放性,参与节点众多,账本数据需要在全球上万个节点进行共识,虽然去中心化很高,但是整体TPS较低,每笔交易费用也比较高,无法进行大规模商用。
有鉴于此,需要更有效和更高效的区块链相关的数据处理方案。
发明内容
本说明书实施例提供一种数据处理方法、装置、设备及介质,用以解决如何更有效和更高效地进行区块链相关的数据处理的技术问题。
为解决上述技术问题,本说明书实施例采用如下技术方案:
本说明书实施例提供第一种数据处理方法,包括:
接收共识申请,根据所述共识申请确定共识对象以及所述共识对象对应的共识节点,所述共识节点属于用户的已选择节点;
向所述共识节点发送所述共识申请中的待共识数据,以使所述共识节点对所述待共识数据进行共识;
接收所述共识节点发送的对所述待共识数据的共识结果,根据至少一个所述共识节点发送的共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。
本说明书实施例提供第二种数据处理方法,包括:
接收共识申请,根据所述共识申请确定共识对象;
根据所述共识申请中的待共识数据确定共识节点,所述共识节点属于用户的已选择节点,向所述目标共识节点发送对应所述待共识数据的共识指令,以使所述目标共识节点对所述待共识数据进行共识;
接收所述目标共识节点发送的对所述待共识数据的共识结果,根据至少一个所述目标共识节点发送的所述共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。
本说明书实施例提供第三种数据处理方法,应用于第一服务器,包括:
接收共识申请,根据所述共识申请确定共识对象以及所述共识对象对应的共识节点,所述共识节点属于用户的已选择节点,所述共识节点包括所述第一服务器;
对所述共识申请中的待共识数据进行共识并确定对所述待共识数据的共识结果;以及向除所述第一服务器之外的其他共识节点发送所述待共识数据,以使除所述第一服务器之外的其他共识节点对所述待共识数据进行共识;
接收除所述第一服务器之外的其他共识节点发送的对所述待共识数据的共识结果,根据至少一个所述共识节点的共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。
本说明书实施例提供第四种数据处理方法,包括:
接收盟主节点或主共识节点发送的待共识数据,对所述待共识数据进行共识,确定对所述待共识数据的共识结果;
向所述盟主节点或主共识节点发送对所述待共识数据的共识结果,以使所述盟主节点或主共识节点根据所述共识结果确定共识反馈数据。
本说明书实施例提供一种数据处理装置,包括:
共识节点确定模块,用于接收共识申请,根据所述共识申请确定共识对象以及所述共识对象对应的共识节点,所述共识节点属于用户的已选择节点;
共识模块,用于向所述共识节点发送所述共识申请中的待共识数据,以使所述共识节点对所述待共识数据进行共识;
共识反馈模块,用于接收所述共识节点发送的对所述待共识数据的共识结果,根据至少一个所述共识节点发送的共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。
本说明书实施例提供一种数据处理装置,包括:
共识节点确定模块,用于接收共识申请,根据所述共识申请确定共识对象;
共识模块,用于根据所述共识申请中的待共识数据确定共识节点,所述共识节点属于用户的已选择节点,向所述目标共识节点发送对应所述待共识数据的共识指令,以使所述目标共识节点对所述待共识数据进行共识;
共识反馈模块,用于接收所述目标共识节点发送的对所述待共识数据的共识结果,根据至少一个所述目标共识节点发送的所述共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。
本说明书实施例提供一种数据处理装置,包括:
共识节点确定模块,用于接收共识申请,根据所述共识申请确定共识对象以及所述共识对象对应的共识节点,所述共识节点属于用户的已选择节点,所述共识节点包括所述数据处理装置;
共识模块,用于对所述共识申请中的待共识数据进行共识并确定对所述待共识数据的共识结果;以及向除所述数据处理装置之外的其他共识节点发送所述待共识数据,以使除所述数据处理装置之外的其他共识节点对所述待共识数据进行共识;
共识反馈模块,用于接收除所述数据处理装置之外的其他共识节点发送的对所述待共识数据的共识结果,根据至少一个所述共识节点的共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。
本说明书实施例提供一种数据处理装置,包括:
共识模块,用于接收盟主节点或主共识节点发送的待共识数据,对所述待共识数据进行共识,确定对所述待共识数据的共识结果;
共识反馈模块,用于向所述盟主节点或主共识节点发送对所述待共识数据的共识结果,以使所述盟主节点或主共识节点根据所述共识结果确定共识反馈数据。
本说明书实施例提供一种数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述第一种数据处理方法。
本说明书实施例提供一种数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述第二种数据处理方法。
本说明书实施例提供一种数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述第三种数据处理方法。
本说明书实施例提供一种数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行上述第四种数据处理方法。
本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述第一种数据处理方法。
本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述第二种数据处理方法。
本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述第三种数据处理方法。
本说明书实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述第四种数据处理方法。
本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:
给予用户选择权,根据用户的选择来确定共识节点,并使共识节点对用户对应的交易进行共识,一方面能够充分满足用户的诉求,另一方面仅通过共识节点便可实现区块链的全网共识,从而能够提高共识有效性和高效性。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对本说明书实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书第一个实施例中的数据处理方法的执行主体示意图。
图2是本说明书第一个实施例中的数据处理方法的流程示意图。
图3是本说明书第一个实施例中的数据处理过程示意图。
图4是本说明书第二个实施例中的数据处理方法的流程示意图。
图5是本说明书第三个实施例中的数据处理方法的流程示意图。
图6是本说明书第四个实施例中的数据处理装置的结构示意图。
图7是本说明书第五个实施例中的数据处理装置的结构示意图。
图8是本说明书第六个实施例中的数据处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
很多类型的区块链由于其开放性,参与节点众多,账本数据需要在全球上万个节点进行共识,虽然去中心化很高,但是整体TPS(TransactionsPerSecond)较低,每笔交易费用也比较高,无法进行大规模商用。
现有区块链技术可以采用超级节点共识机制(EOS,Enterprise OperationSystem),即网络中所有持有代币的用户通过投票选举的方式,推选出 21 个可信节点来替他们做决策,其中获票数最多的前 21 位自动当选,这21个可信节点充当的是区块生产者的角色。被选中的节点,将为 EOS网络提供算力和带宽支持,他们的主要任务就是收集交易信息将其打包进区块,并将区块广播给其他节点,通过验证后再将区块上传至区块链,获得相应的奖励。该方案同样需要较多的共识节点对数据进行共识,共识成本较高。
本说明书实施例提供一种数据处理方法,本实施例的执行主体可以是终端(包括但不限于手机、计算机、pad、电视)或者服务器或者相应的数据处理平台或操作系统等,即执行主体可以是多种多样的,可以根据需要设置、使用或者变换执行主体。另外,也可以有第三方应用程序协助所述执行主体执行本实施例。例如图1所示,可以由服务器来执行本实施例中的数据处理方法,并且可以在(用户所持有的)终端上安装(与所述服务器)相对应的应用程序,终端或应用程序与服务器之间可以进行数据传输,通过终端或应用程序来进行数据的采集或输入或输出或(向用户)进行页面或信息展示,从而辅助服务器执行本实施例中的数据处理方法。。
如图2和图3所示,本实施例所提供的数据处理方法包括:
S101:接收共识申请,根据所述共识申请确定共识对象以及所述共识对象对应的共识节点,所述共识节点属于用户的已选择节点;
本实施例中,(执行主体)可以接收共识申请,根据共识申请确定共识对象以及共识对象对应的共识节点,所述共识节点属于用户的已选择节点。共识对象可以是APP或APP对应的服务器。本实施例中的“用户”是相对于区块链的用户,可以使用区块链对其指定的数据进行共识。用户可以是自然人,也可以是组织或团体等,特别的,用户可以是共识对象的拥有者,例如当共识对象是APP或APP对应的服务器时,用户可以是共识对象的拥有者或维护者或开发者(而非特指共识对象的用户),从而可以用户可以将共识对象产生的数据作为待共识的数据。
本实施例中,共识申请就可以是共识对象发送的。
本实施例中,在接收共识申请前,还可以包括如下1.1和/或1.2的内容(本实施例不限于1.1和/或1.2的内容):
1.1、接收注册请求
本实施例中,在接收共识申请前,(执行主体)可以接收(共识)注册请求,即应用程序发出共识申请前,可以先发出注册请求。注册请求可以是用户通过操作终端上的应用程序,而使应用程序或终端(向执行主体)发出的。特别的,注册请求中可以携带标识信息,标识信息包括但不限于名称信息,标识信息所对应的对象后续可以作为上述的共识对象。例如某APP作为一个对象,注册请求可以携带该APP的标识信息,而该APP后续可以作为上述的共识对象。
(执行主体)接收到注册请求后,可以根据注册请求生成共识标识。若注册请求中携带有上述标识信息,则可以根据注册请求生成对应所述标识信息的共识标识,共识标识、标识信息、标识信息对应的对象相互对应;执行主体中可以保存对象和共识标识的对应关系。若注册请求中没有携带上述标识信息,则可以根据注册请求生成标识信息。共识标识生成后,(执行主体)可以向发送注册请求的终端或应用程序发送共识标识,以使所述终端或应用程序显示共识标识。
通过发送上述注册请求,使得用户或者对象能够获得共识标识,共识标识可以用于表明用户或者对象的身份。
1.2、确定用户的已选择节点
如前所述,共识节点属于用户的已选择节点,如何确定用户的已选择节点可以采用如下方式:由于应用程序与执行主体之间可以进行数据交互,从而可以触发执行主体设置的共识节点选择条件。其中,应用程序与执行主体之间的数据交互可以是由于用户对应用程序的操作而引发的。这种情况下,所述应用程序可以称为共识节点选择条件的触发应用程序,所述应用程序所在的终端可以称为共识节点选择条件的触发终端。例如,用户点击了某终端上的某应用程序的某按钮,从而触发共识节点选择条件,则该终端为共识节点选择条件的触发终端,该应用程序为共识节点选择条件的触发应用程序。当然,除了应用程序与执行主体之间的数据交互,也可以通过其他方式触发执行主体设置的共识节点选择条件。
共识节点选择条件触发后,(执行主体)可以向上述触发终端发送第一反馈数据,以使所述触发终端显示可选择节点,和/或,共识节点选择条件触发后,(执行主体)可以向上述触发应用程序发送第二反馈数据,以使所述触发应用程序显示可选择节点。第一反馈数据和第二反馈数据可以相同。这里的可选择节点为区块链中的节点(节点即在区块链网络上的机器,其可以是云端服务器也可以是实体机器),可供用户选择。用户除了可以选择节点外,还可以在触发终端或触发应用程序上输入1.1中的标识信息或上述的共识标识,终端或应用程序可以将用户选择的节点以及输入的内容发送至执行主体。用户输入的标识信息或共识标识和对象是对应的,故(执行主体)可以建立或保存对象与用户所选择的节点的对应关系,并保存到被选择节点所在的区块链的各个节点。用户所选择的节点即可作为上述已选择节点。
本实施例中,用户可以为多个对象选择节点,对于同一对象,用户可以选择一个或多个节点;对于任一对象,该对象可能会产生多种类型的数据或能够执行多种业务或功能,比如对于某APP,其可以具有社交功能,也可以具有支付功能,故用户可以针对对象的不同维度或属性(对象的数据或业务或功能等都可以看作是对象的维度或属性)来分别选择节点,针对每种维度或属性都可以选择一个或多个节点,不同维度或属性所对应的节点可以有重合。
上述的1.1和1.2的执行没有绝对的先后顺序,例如可以先接收注册请求并生成共识标识,然后再在共识节点选择条件触发后,使触发终端或触发应用程序显示可选择节点;也可以先在共识节点选择条件触发后,使触发终端或触发应用程序显示可选择节点,再接收注册请求并生成共识标识,这些一般取决于用户的操作,即用户的操作可能使得先接收注册请求,后触发共识节点选择条件,也可能先触发共识节点选择条件,后接收注册请求。
本实施例中,根据共识申请确定共识对象可以包括:根据所述共识申请包含的共识标识确定共识对象,即共识申请中可以包括共识标识,从而可以根据共识标识确定共识对象,这里的共识标识就可以是上述的1.1中生成的共识标识。
本实施例中,根据共识申请确定共识对象对应的共识节点(共识节点即在区块链网络上参与共识的机器)可以采用如下2.1和/或2.2和/或2.3的内容(本实施例不限于2.1和/或2.2和/或2.3的内容):
2.1、共识申请中包括节点
本实施例中,共识申请中可以包括节点,故根据所述共识申请确定所述共识对象对应的共识节点可以包括:确定所述共识申请中包含的节点,将所述共识申请中包含的节点作为所述共识对象对应的共识节点。
1.2已经说明了如何向用户展示可选择节点以供用户选择,故共识申请中可以包括用户选择的节点。
2.2、共识对象与节点具有对应关系
1.2已经说明了可以建立或保存各个对象与用户已选择节点之间的对应关系。那么在确定了共识对象后,根据共识对象与用户已选择节点的对应关系,可以确定共识对象所对应的节点,共识对象对应的节点即作为共识对象对应的共识节点。
例如,用户为共识对象1选择了节点1至3,为共识对象2 选择了节点4-6,为共识对象3选择了节点7至9,如表1所示:
共识对象 已选择节点
共识对象1 节点1、节点2、节点3
共识对象2 节点4、节点5、节点6
共识对象3 节点7、节点8、节点9
表1
若根据共识申请确定共识对象为共识对象1,则可以确定共识节点为节点1至3。
2.3、根据待共识数据确定共识节点
本实施例中,共识申请中包括待共识数据(待共识数据是共识对象产生或对应的数据),可以根据共识申请中的待共识数据确定共识节点。前面已经说明,用户可以针对对象的不同维度或属性(对象的数据或业务或功能等都可以看作是对象的维度或属性)来分别选择节点,故用户可以为对象的不同数据分别选择节点。具体的,对象的不同数据可以具有不同的特征,故用户可以为对象的各特征对应的数据分别选择节点。特别的,这里的特征可以是类型。
例如,对于任一对象,该对象产生的数据具有3种特征,则可以为每种特征对应的数据分别选择节点,如表2所示:
数据 已选择节点
第1种特征对应的数据 节点1、节点3、节点5
第2种特征对应的数据 节点2、节点4、节点6
第3种特征对应的数据 节点7、节点8、节点9
表2
上述的特征可以是数据的类型。例如某APP产生的数据为交易数据,具有转账、支付、理财等类型,若该APP作为共识对象,其产生的交易数据作为待共识数据,每种类型可以作为一种特征,从而可以为每种特征下的数据选择节点。
若共识申请中的待共识数据具有第1种特征,则可以确定共识对象对应的共识节点为节点1、3、5。此即根据待共识数据确定共识节点;若共识申请中的待共识数据具有第2种特征,则可以确定共识对象对应的共识节点为节点2、4、6;共识申请中的待共识数据具有第3种特征,则可以确定共识对象对应的共识节点为节点7、8、9。
可见,通过注册请求,可以为用户或各个对象生成共识标识;通过触发共识节点选择条件可以使用户通过终端或应用程序来自由选择共识节点;共识标识可以包含在共识申请中,通过共识申请可以确定共识对象以及共识对象对应的共识节点。
S103:(执行主体)向所述共识节点发送所述共识申请中的待共识数据,以使所述共识节点对所述待共识数据进行共识;
本实施例中,共识申请中包含待共识数据,(执行主体)可以确定共识申请中的待共识数据,并向共识对象对应的各个共识节点发送所述待共识数据,以使各共识节点对所述待共识数据进行共识。待共识数据可以包括交易数据。执行主体可以对待共识数据进行适当处理(例如加密处理)后发给各共识节点,各共识节点通过对应处理(例如解密处理)得到待共识数据。
由于各共识节点需要进行共识操作,而不同的共识算法所需要的最少节点数可能不同,故在前面用户选择节点时,所选择的节点数应满足共识算法所需要的最少节点数要求。
S105:(执行主体)接收所述共识节点发送的对所述待共识数据的共识结果,根据至少一个所述共识节点发送的共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。
本实施例中,可以接收各个共识节点发送的对待共识数据的共识结果(以下简称“共识结果”),根据至少一个共识节点发送的共识结果确定共识反馈数据。
具体的,根据至少一个共识节点发送的共识结果确定共识反馈数据可以采用如下3.1和/或3.2和/或3.3和/或3.4和/或3.5的内容(本实施例不限于3.1和/或3.2和/或3.3和/或3.4和/或3.5的内容):
3.1、若至少一个所述共识节点对所述待共识数据共识不成功,则确定共识反馈数据为共识不成功
对于各个共识节点,若(根据共识节点发送的共识结果)确定至少有一个节点对所述待共识数据共识不成功,则确定共识反馈数据为共识不成功。
特别的,接收到各个共识节点发送的共识结果的时间可能有差异,只要确定有一个节点对所述待共识数据共识不成功,则可以确定共识反馈数据为共识不成功。
3.2、若共识成功的共识节点数小于共识算法允许的最低共识成功节点数,则确定共识反馈数据为共识不成功
区块链所使用的共识算法可以有共识成功的最低共识成功节点数,若共识成功的共识节点数小于共识算法允许的最低共识成功节点数,则确定共识反馈数据为共识不成功。例如对于pbft共识算法,共识节点3x+1数,则允许x个共识节点共识不成功,即共识成功的最低共识成功节点数为2x+1,若共识成功的共识节点数小于2x+1和/或共识不成功的共识节点数大于x,则确定共识反馈数据为共识不成功;又例如对于pow算法,若51%(取整)的共识节点达成共识,就以这些51%的结果为准,则若共识成功的共识节点数小于51%(取整)的共识节点和/或共识不成功的共识节点数大于51%(取整)的共识节点,则确定共识反馈数据为共识不成功。
3.3、若共识成功的共识节点数不小于共识算法允许的最低共识成功节点数,则确定共识反馈数据为共识成功
参照3.2、若共识成功的共识节点数不小于共识算法允许的最低共识成功节点数,则确定共识反馈数据为共识成功。
3.4、若各所述共识节点对所述待共识数据均共识成功,则确定共识反馈数据为共识成功
对于各个共识节点,若(根据共识节点发送的共识结果)确定各个共识节点对所述待共识数据均共识成功,则可以确定共识反馈数据为共识成功。
3.5、若根据至少一个所述共识节点发送的共识结果确定共识反馈数据包括共识不成功,则所述共识反馈数据包括共识不成功原因
若确定共识反馈数据包括共识不成功,则共识反馈数据中还可以包括共识不成功原因,包括共识不成功的共识节点的共识不成功原因。
本实施例中,若待共识数据为交易数据,共识不成功则交易不成功。
根据共识不成功原因的不同,可以采用如下4.1和/或4.2的内容(本实施例不限于4.1和/或4.2):
4.1、由于网络问题共识不成功
若共识不成功原因是网络问题,则执行主体可以确定共识不成功数据(共识不成功数据可以是部分或全部待共识数据),并使共识不成功的共识节点对共识不成功数据进行重新共识,以及接收共识节点发送的共识结果;或者执行主体使共识对象重新发送共识不成功数据,并使共识不成功的共识节点对共识不成功数据进行重新共识,以及接收共识节点发送的共识结果。例如待共识数据为若干条交易数据,共识节点有5个,其中有一个共识节点对某条交易数据共识不成功,则该条交易数据为共识不成功数据,执行主体可以使该共识节点对该条交易数据重新共识,并接收该共识节点发送的共识结果。若确定该共识节点共识成功,则确定共识反馈数据为共识成功。
若共识不成功的共识节点共识指定次(可以为一次)后仍不成功,则确定共识反馈数据包括共识不成功,并可以包括共识不成功原因。
4.2、非网络原因共识不成功
若共识不成功非网络原因导致,则向共识对象发送共识不成功原因,共识对象可以采取对应的处理操作。例如共识对象是某具有支付功能的APP的服务器,待共识数据是该APP服务器产生的交易数据,其中一笔交易是A服务器将资金转移到B服务器,A服务器和B服务器都是共识节点;若是由于交易不能进行导致共识不成功,例如A服务器资金余额不足,则执行主体向共识对象发送共识不成功原因,共识对象可以使APP显示交易不能进行的原因(即余额不足),便于交易的发起用户可以进行充值等操作。
在确定共识反馈数据后,可以向共识对象发送所述共识反馈数据。
综上,共识反馈数据可以包括共识是否成功,共识不成功的情况下,还可以包括共识不成功原因。通过确定或向共识对象反馈共识不成功原因,便于执行主体或共识对象或用户采取相应的处理操作。
本实施例中,对于待共识数据,在各共识节点进行共识且共识成功后,还可以将上述待共识数据(待共识数据已经可以作为已共识数据)发送或同步至上述共识节点所属区块链的除所述共识节点外的其他节点(即非共识节点),从而实现账本数据在区块链全网的同步。其中,共识节点和非共识节点属于同一区块链,包括但不限于公链或联盟链。当然,向非共识节点发送或同步数据不是必须的,即已共识数据也可以只保存在共识节点中。
以下通过一个普适的、非特定的示例对本实施例进行进一步说明:例如某APP的开发者需要将该APP产生的交易相关数据提交某联盟链进行共识和存储,则开发者可以作为联盟链的用户。开发者可以操作本实施例执行主体对应的应用程序以向执行主体发出注册请求,使得执行主体为该APP生成共识标识;以及开发者可以操作本实施例执行主体对应的应用程序触发共识节点选择条件,选择符合自身要求的共识节点;执行主体接收应用程序发送的节点选择数据,为开发者所选共识节点与共识标识建立对应关系;该APP每产生交易数据或每接收交易请求或每发起交易请求,该APP的服务器向执行主体发出共识申请,共识申请包括该APP对应的共识标识以及待共识数据(即交易相关数据),执行主体(根据共识申请中的共识标识)确定该APP或该APP对应的服务器为共识对象,并确定该APP对应的共识节点(即该APP的共识标识对应的共识节点),将待共识数据发送各共识节点,使各共识节点对待共识数据进行共识,根据共识节点的共识结果确定共识反馈数据并发送给该APP或该APP对应的服务器,共识对象可以根据共识反馈数据采取相应操作。
本实施例给予用户选择权,由用户选择共识节点以及共识节点的个数,只要共识节点个数满足共识算法最低要求,从而用户可以根据自身需要选择共识节点,例如用户可以选择其认为较为权威或更有公信力的节点作为共识节点,或者可以选择其认为数据处理能力较强的节点作为共识节点,或者用户可以选择其比较熟悉的节点作为共识节点等(对于节点的权威性或数据处理能力,执行主体可以提供参考数据和/或推荐数据,参考数据和/或推荐数据可以通过应用程序展示,便于用户选择共识节点),这样一方面能够满足用户对共识节点的权威性或数据处理能力的要求,另一方面共识节点的数量由用户确定,所选择的共识节点数最少只需满足共识算法的最低要求,有利于降低用户参与共识所付出的成本(一般来说,用户选择的共识节点越多,用户参与共识付出成本越高);可见,本实施例能够充分满足用户的个性化和成本诉求;本实施例可以仅利用用户选择的共识节点对待共识数据进行共识,其他节点(非共识节点)只接收和保存共识节点共识成功的数据即可,无需进行数据共识操作,能够提高共识高效性;根据至少一个所述共识节点发送的共识结果确定共识反馈数据,能够提高共识有效性和高效性;同一区块链的共识节点之间、非共识节点与共识节点之间资源和数据共享,从而共识节点之间可以互通共识结果,非共识节点可以接收和保存共识节点共识成功的数据,能够提高共识效率,降低共识成本。
本实施例中,共识节点可以为用户提供区块链云资源及上链交易权威背书,获取部分交易gas分润,以作为激励,还可以为用户等各方提供其他激励方式。
本说明书第二个实施例提供了一种数据处理方法,其与第一个实施例区别之处主要在于,本实施例的执行主体为第一服务器,其本身为区块链节点之一。第一个实施例中的执行主体不要求是区块链节点。
如图4所示,本实施例所提供的数据处理方法包括:
S201:接收共识申请,根据所述共识申请确定共识对象以及所述共识对象对应的共识节点,所述共识节点属于用户的已选择节点,所述共识节点包括所述第一服务器;
根据共识申请,第一服务器为共识节点之一,其他同第一个实施例。
S203:对所述共识申请中的待共识数据进行共识并确定对所述待共识数据的共识结果;以及向除所述第一服务器之外的其他共识节点发送所述待共识数据,以使除所述第一服务器之外的其他共识节点对所述待共识数据进行共识;
由于第一服务器为共识节点之一,故第一服务器需要对共识申请中的待共识数据进行共识并确定第一服务器自身对所述待共识数据的共识结果。
第一服务器还要将共识申请中的待共识数据发送至除第一服务器之前的其他共识节点,即S201中共识对象对应的、除第一服务器之外的其他共识节点,以使除第一服务器之外的其他共识节点对所述待共识数据进行共识。
其他同第一个实施例。
S205:接收除所述第一服务器之外的其他共识节点发送的对所述待共识数据的共识结果,根据至少一个所述共识节点的共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。
本实施例中,第一服务器可以确定自身对待共识数据的共识结果,又可以接收其他共识节点对所述待共识数据的共识结果,根据至少一个所述共识节点的共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据,参照第一个实施例。
本实施例未详尽说明的内容参照第一个实施例。
本实施例给予用户选择权,由用户选择共识节点以及共识节点的个数,只要共识节点个数满足共识算法最低要求,从而用户可以根据自身需要选择共识节点,例如用户可以选择其认为较为权威或更有公信力的节点作为共识节点,或者可以选择其认为数据处理能力较强的节点作为共识节点,或者用户可以选择其比较熟悉的节点作为共识节点等(对于节点的权威性或数据处理能力,执行主体可以提供参考数据和/或推荐数据,参考数据和/或推荐数据可以通过应用程序展示,便于用户选择共识节点),这样一方面能够满足用户对共识节点的权威性或数据处理能力的要求,另一方面共识节点的数量由用户确定,所选择的共识节点数最少只需满足共识算法的最低要求,有利于降低用户参与共识所付出的成本(一般来说,用户选择的共识节点越多,用户参与共识付出成本越高);可见,本实施例能够充分满足用户的个性化和成本诉求;本实施例可以仅利用用户选择的共识节点对待共识数据进行共识,其他节点(非共识节点)只接收和保存共识节点共识成功的数据即可,无需进行数据共识操作,能够提高共识高效性;根据至少一个所述共识节点发送的共识结果确定共识反馈数据,能够提高共识有效性和高效性;同一区块链的共识节点之间、非共识节点与共识节点之间资源和数据共享,从而共识节点之间可以互通共识结果,非共识节点可以接收和保存共识节点共识成功的数据,能够提高共识效率,降低共识成本。
若第一个实施例的执行主体是区块链节点之一,但不是“根据共识对象确定的共识对象对应的共识节点”,则可以称其为盟主节点,其负责执行第一个实施例的内容;第二个实施例的执行主体既是区块链节点,同时又是“根据共识对象确定的共识对象对应的共识节点”之一,其负责执行第二个实施例的内容,可以称其为主共识节点。
如图5所示,本说明书第三个实施例提供了第一数据处理方法,包括:
S301:接收盟主节点或主共识节点发送的待共识数据,对所述待共识数据进行共识,确定对所述待共识数据的共识结果;
本实施例的执行主体为第一或第二个实施例中的“根据共识对象确定的共识对象对应的共识节点”。特别的,若接收共识申请的主体不是“根据共识对象确定的共识对象对应的共识节点”,则“根据共识对象确定的共识对象对应的共识节点”中的任一共识节点都可以作为本实施例的执行主体;若接收共识申请的主体是“根据共识对象确定的共识对象对应的共识节点”之一,则“根据共识对象确定的共识对象对应的共识节点”中除了接收共识申请的主体之外的任一共识节点都可以作为本实施例的执行主体。
根据第一或第二个实施例,本实施例的执行主体的待共识数据来自于盟主节点(第一个实施例)或主共识节点(第二个实施例)。
本实施例的执行主体接收盟主节点或主共识节点发送的待共识数据后,对所述待共识数据进行共识,确定对所述待共识数据的共识结果,参照第一或第二个实施例。
S303:向所述盟主节点或主共识节点发送对所述待共识数据的共识结果,以供所述盟主节点或主共识节点根据所述共识结果确定共识反馈数据。
本实施例的执行主体向盟主节点或主共识节点发送对待共识数据的共识结果,以供盟主节点或主共识节点根据共识结果确定共识反馈数据。根据第一个实施例或第二个实施例,盟主节点或主共识节点确定共识反馈数据可能用到或用不到本实施例的执行主体发送的共识结果,以下分为5.1和5.2进行说明:
5.1、除本实施例执行主体外,其他共识节点的共识结果均为共识成功
若除本实施例执行主体外,其他共识节点(可能没有其他共识节点,例如盟主节点接收共识申请,确定的共识对象对应的共识节点只有一个,即本实施例执行主体)的共识结果均为共识成功,则若本实施例执行主体共识成功,则共识反馈数据包括共识成功;若本实施例执行主体共识不成功,则共识反馈数据包括共识不成功。
5.2、除本实施例执行主体外,至少一个其他共识节点的共识结果为共识不成功
例如按照前述3.1的方式,若盟主节点或主共识节点接收到该“至少一个其他共识节点”的共识结果的时间早于本实施例执行主体的共识结果,则不论本实施例执行主体共识结果如何,共识反馈数据包括共识不成功;若本实施例执行主体共识不成功,则是盟主节点或主共识节点接收到的第一个共识不成功的共识结果,则共识反馈数据包括共识不成功;若本实施例执行主体共识成功,则盟主节点或主共识节点可以根据本实施例执行主体的共识结果和其他共识节点(若有)的共识结果确定共识反馈数据。3.2和/或3.2和/或3.3和/或3.4的方式,同理可得。
总之,本实施例执行主体的共识结果供所述盟主节点或主共识节点根据所述共识结果确定共识反馈数据,不管盟主节点或主共识节点确定共识反馈数据是否用到本实施例执行主体的共识结果。
本实施例和第一或第二个实施例相对应,未详尽说明的内容参照第一或第二个实施例。
本实施例给予用户选择权,由用户选择共识节点以及共识节点的个数,只要共识节点个数满足共识算法最低要求,从而用户可以根据自身需要选择共识节点,例如用户可以选择其认为较为权威或更有公信力的节点作为共识节点,或者可以选择其认为数据处理能力较强的节点作为共识节点,或者用户可以选择其比较熟悉的节点作为共识节点等(对于节点的权威性或数据处理能力,执行主体可以提供参考数据和/或推荐数据,参考数据和/或推荐数据可以通过应用程序展示,便于用户选择共识节点),这样一方面能够满足用户对共识节点的权威性或数据处理能力的要求,另一方面共识节点的数量由用户确定,所选择的共识节点数最少只需满足共识算法的最低要求,有利于降低用户参与共识所付出的成本(一般来说,用户选择的共识节点越多,用户参与共识付出成本越高);可见,本实施例能够充分满足用户的个性化和成本诉求;本实施例可以仅利用用户选择的共识节点对待共识数据进行共识,其他节点(非共识节点)只接收和保存共识节点共识成功的数据即可,无需进行数据共识操作,能够提高共识高效性;根据至少一个所述共识节点发送的共识结果确定共识反馈数据,能够提高共识有效性和高效性;同一区块链的共识节点之间、非共识节点与共识节点之间资源和数据共享,从而共识节点之间可以互通共识结果,非共识节点可以接收和保存共识节点共识成功的数据,能够提高共识效率,降低共识成本。
如图6所示,本说明书第四个实施例提供一种数据处理装置,包括:
共识节点确定模块401,用于接收共识申请,根据所述共识申请确定共识对象以及所述共识对象对应的共识节点,所述共识节点属于用户的已选择节点;
共识模块403,用于向所述共识节点发送所述共识申请中的待共识数据,以使所述共识节点对所述待共识数据进行共识;
共识反馈模块405,用于接收所述共识节点发送的对所述待共识数据的共识结果,根据至少一个所述共识节点发送的共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。
可选的,所述共识节点确定模块401还用于:
接收注册请求,根据所述注册请求生成共识标识,向所述注册请求的发送终端发送所述共识标识。
可选的,所述共识节点确定模块401还用于:
共识节点选择条件触发后,向所述共识节点选择条件的触发终端发送第一反馈数据,以使所述触发终端显示可选择节点;
和/或,
共识节点选择条件触发后,向所述共识节点选择条件的触发应用程序发送第二反馈数据,以使所述触发应用程序显示可选择节点。
可选的,根据所述共识申请确定共识对象包括:
根据所述共识申请包含的共识标识确定共识对象。
可选的,根据所述共识申请确定所述共识对象对应的共识节点包括:
确定所述共识申请中包含的节点,将所述共识申请中包含的节点作为所述共识对象对应的共识节点;
或,
根据共识对象与节点的对应关系,确定所述共识对象对应的共识节点;
或,
根据所述共识申请中包含的待共识数据确定所述共识对象对应的共识节点。
可选的,根据所述共识申请确定所述共识对象对应的共识节点包括:
根据所述待共识数据的特征从所述候选共识节点中确定目标共识节点。
可选的,所述特征包括数据类型。
可选的,根据至少一个所述共识节点发送的共识结果确定共识反馈数据包括:
若至少一个所述共识节点对所述待共识数据共识不成功,则确定共识反馈数据为共识不成功;
和/或,
若各所述共识节点对所述待共识数据均共识成功,则确定共识反馈数据为共识成功。
可选的,根据至少一个所述共识节点发送的共识结果确定共识反馈数据包括:
若共识成功的共识节点数小于共识算法允许的最低共识成功节点数,则确定共识反馈数据为共识不成功;
和/或,
若共识成功的共识节点数不小于共识算法允许的最低共识成功节点数,则确定共识反馈数据为共识成功。
可选的,根据至少一个所述共识节点发送的共识结果确定共识反馈数据包括:
若根据至少一个所述共识节点发送的共识结果确定共识反馈数据包括共识不成功,则所述共识反馈数据包括共识不成功原因。
可选的,所述共识模块403还用于:
若至少一个所述共识节点由于网络原因对所述待共识数据共识不成功,则使由于网络原因共识不成功的所述共识节点对共识不成功数据进行重新共识。
可选的,所述共识反馈模块405还用于:
若所述共识反馈数据包括共识成功,则将所述待共识数据发送至所述共识节点所属区块链的除所述共识节点外的节点。
可选的,所述共识节点数不小于共识所用共识算法要求的最少节点数。
可选的,所述待共识数据包括交易数据。
可选的,所述共识反馈数据包括共识是否成功。
如图7所示,本说明书第五个实施例提供一种数据处理装置,包括:
共识节点确定模块501,用于接收共识申请,根据所述共识申请确定共识对象以及所述共识对象对应的共识节点,所述共识节点属于用户的已选择节点,所述共识节点包括所述数据处理装置;
共识模块503,用于对所述共识申请中的待共识数据进行共识并确定对所述待共识数据的共识结果;以及向除所述数据处理装置之外的其他共识节点发送所述待共识数据,以使除所述数据处理装置之外的其他共识节点对所述待共识数据进行共识;
共识反馈模块505,用于接收除所述数据处理装置之外的其他共识节点发送的对所述待共识数据的共识结果,根据至少一个所述共识节点的共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。
如图8所示,本说明书第六个实施例提供一种数据处理装置,包括:
共识模块601,用于接收盟主节点或主共识节点发送的待共识数据,对所述待共识数据进行共识,确定对所述待共识数据的共识结果;
共识反馈模块603,用于向所述盟主节点或主共识节点发送对所述待共识数据的共识结果,以使所述盟主节点或主共识节点根据所述共识结果确定共识反馈数据。
本说明书第七个实施例提供一种数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行第一个实施例所述的数据处理方法。
本说明书第八个实施例提供一种数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行第二个实施例所述的数据处理方法。
本说明书第九个实施例提供一种数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行第三个实施例所述的数据处理方法。
本说明书第十个实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现第一个实施例所述的数据处理方法。
本说明书第十一个实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现第二个实施例所述的数据处理方法。
本说明书第十二个实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现第三个实施例所述的数据处理方法。
上述各实施例可以结合使用,不同实施例之间名称相同的模块可相同可不同。
上述对本说明书特定实施例进行了描述,其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,附图中描绘的过程不一定必须按照示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备、非易失性计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供的装置、设备、非易失性计算机可读存储介质与方法是对应的,因此,装置、设备、非易失性计算机存储介质也具有与对应方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述对应装置、设备、非易失性计算机存储介质的有益技术效果。
在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,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书实施例可提供为方法、系统、或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (26)

1.一种数据处理方法,包括:
接收共识申请,根据所述共识申请确定共识对象以及所述共识对象对应的共识节点,所述共识节点属于用户的已选择节点;
向所述共识节点发送所述共识申请中的待共识数据,以使所述共识节点对所述待共识数据进行共识;
接收所述共识节点发送的对所述待共识数据的共识结果,根据至少一个所述共识节点发送的共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。
2.如权利要求1所述的方法,接收所述共识申请前,所述方法还包括:
接收注册请求,根据所述注册请求生成共识标识,向所述注册请求的发送终端发送所述共识标识。
3.如权利要求1所述的方法,接收所述共识申请前,所述方法还包括:
共识节点选择条件触发后,向所述共识节点选择条件的触发终端发送第一反馈数据,以使所述触发终端显示可选择节点;
和/或,
共识节点选择条件触发后,向所述共识节点选择条件的触发应用程序发送第二反馈数据,以使所述触发应用程序显示可选择节点。
4.如权利要求1所述的方法,根据所述共识申请确定共识对象包括:
根据所述共识申请包含的共识标识确定共识对象。
5.如权利要求1所述的方法,根据所述共识申请确定所述共识对象对应的共识节点包括:
确定所述共识申请中包含的节点,将所述共识申请中包含的节点作为所述共识对象对应的共识节点;
或,
根据共识对象与节点的对应关系,确定所述共识对象对应的共识节点;
或,
根据所述共识申请中包含的待共识数据确定所述共识对象对应的共识节点。
6.如权利要求1所述的方法,根据所述共识申请确定所述共识对象对应的共识节点包括:
根据所述待共识数据的特征从所述候选共识节点中确定目标共识节点。
7.如权利要求6所述的方法,所述特征包括数据类型。
8.如权利要求1所述的方法,根据至少一个所述共识节点发送的共识结果确定共识反馈数据包括:
若至少一个所述共识节点对所述待共识数据共识不成功,则确定共识反馈数据为共识不成功;
和/或,
若各所述共识节点对所述待共识数据均共识成功,则确定共识反馈数据为共识成功。
9.如权利要求1所述的方法,根据至少一个所述共识节点发送的共识结果确定共识反馈数据包括:
若共识成功的共识节点数小于共识算法允许的最低共识成功节点数,则确定共识反馈数据为共识不成功;
和/或,
若共识成功的共识节点数不小于共识算法允许的最低共识成功节点数,则确定共识反馈数据为共识成功。
10.如权利要求1所述的方法,根据至少一个所述共识节点发送的共识结果确定共识反馈数据包括:
若根据至少一个所述共识节点发送的共识结果确定共识反馈数据包括共识不成功,则所述共识反馈数据包括共识不成功原因。
11.如权利要求1所述的方法,若至少一个所述共识节点由于网络原因对所述待共识数据共识不成功,则所述方法还包括:
使由于网络原因共识不成功的所述共识节点对共识不成功数据进行重新共识。
12.如权利要求1所述的方法,所述方法还包括:
若所述共识反馈数据包括共识成功,则将所述待共识数据发送至所述共识节点所属区块链的除所述共识节点外的节点。
13.如权利要求1所述的方法,所述共识节点数不小于共识所用共识算法要求的最少节点数。
14.如权利要求1所述的方法,所述待共识数据包括交易数据。
15.如权利要求1所述的方法,所述共识反馈数据包括共识是否成功。
16.一种数据处理方法,应用于第一服务器,包括:
接收共识申请,根据所述共识申请确定共识对象以及所述共识对象对应的共识节点,所述共识节点属于用户的已选择节点,所述共识节点包括所述第一服务器;
对所述共识申请中的待共识数据进行共识并确定对所述待共识数据的共识结果;以及向除所述第一服务器之外的其他共识节点发送所述待共识数据,以使除所述第一服务器之外的其他共识节点对所述待共识数据进行共识;
接收除所述第一服务器之外的其他共识节点发送的对所述待共识数据的共识结果,根据至少一个所述共识节点的共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。
17.一种数据处理方法,包括:
接收盟主节点或主共识节点发送的待共识数据,对所述待共识数据进行共识,确定对所述待共识数据的共识结果;
向所述盟主节点或主共识节点发送对所述待共识数据的共识结果,以供所述盟主节点或主共识节点根据所述共识结果确定共识反馈数据。
18.一种数据处理装置,包括:
共识节点确定模块,用于接收共识申请,根据所述共识申请确定共识对象以及所述共识对象对应的共识节点,所述共识节点属于用户的已选择节点;
共识模块,用于向所述共识节点发送所述共识申请中的待共识数据,以使所述共识节点对所述待共识数据进行共识;
共识反馈模块,用于接收所述共识节点发送的对所述待共识数据的共识结果,根据至少一个所述共识节点发送的共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。
19.一种数据处理装置,包括:
共识节点确定模块,用于接收共识申请,根据所述共识申请确定共识对象以及所述共识对象对应的共识节点,所述共识节点属于用户的已选择节点,所述共识节点包括所述数据处理装置;
共识模块,用于对所述共识申请中的待共识数据进行共识并确定对所述待共识数据的共识结果;以及向除所述数据处理装置之外的其他共识节点发送所述待共识数据,以使除所述数据处理装置之外的其他共识节点对所述待共识数据进行共识;
共识反馈模块,用于接收除所述数据处理装置之外的其他共识节点发送的对所述待共识数据的共识结果,根据至少一个所述共识节点的共识结果确定共识反馈数据,并向所述共识对象发送所述共识反馈数据。
20.一种数据处理装置,包括:
共识模块,用于接收盟主节点或主共识节点发送的待共识数据,对所述待共识数据进行共识,确定对所述待共识数据的共识结果;
共识反馈模块,用于向所述盟主节点或主共识节点发送对所述待共识数据的共识结果,以使所述盟主节点或主共识节点根据所述共识结果确定共识反馈数据。
21.一种数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行权利要求1至15中任一项所述的数据处理方法。
22.一种数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行权利要求16所述的数据处理方法。
23.一种数据处理设备,包括:
至少一个处理器;
以及,
与所述至少一个处理器通信连接的存储器;
其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,使所述至少一个处理器能够执行权利要求17所述的数据处理方法。
24.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现权利要求1至15中任一项所述的数据处理方法。
25.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现权利要求16所述的数据处理方法。
26.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现权利要求17所述的数据处理方法。
CN202010474172.8A 2020-05-29 2020-05-29 一种数据处理方法、装置、设备及介质 Active CN111402058B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202010474172.8A CN111402058B (zh) 2020-05-29 2020-05-29 一种数据处理方法、装置、设备及介质
CN202110673842.3A CN113256426B (zh) 2020-05-29 2020-05-29 一种数据处理方法、装置、设备及介质
PCT/CN2021/096594 WO2021239087A1 (zh) 2020-05-29 2021-05-28 一种数据处理方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010474172.8A CN111402058B (zh) 2020-05-29 2020-05-29 一种数据处理方法、装置、设备及介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110673842.3A Division CN113256426B (zh) 2020-05-29 2020-05-29 一种数据处理方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN111402058A true CN111402058A (zh) 2020-07-10
CN111402058B CN111402058B (zh) 2021-05-04

Family

ID=71431886

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010474172.8A Active CN111402058B (zh) 2020-05-29 2020-05-29 一种数据处理方法、装置、设备及介质
CN202110673842.3A Active CN113256426B (zh) 2020-05-29 2020-05-29 一种数据处理方法、装置、设备及介质

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110673842.3A Active CN113256426B (zh) 2020-05-29 2020-05-29 一种数据处理方法、装置、设备及介质

Country Status (2)

Country Link
CN (2) CN111402058B (zh)
WO (1) WO2021239087A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112187866A (zh) * 2020-09-03 2021-01-05 山东大学 一种基于共享存储的新型区块链共识方法
CN112612849A (zh) * 2020-07-24 2021-04-06 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置、设备及介质
WO2021239087A1 (zh) * 2020-05-29 2021-12-02 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105938608A (zh) * 2016-04-12 2016-09-14 福建师范大学 一种基于标签影响力的半同步社区发现方法
CN106445711A (zh) * 2016-08-28 2017-02-22 杭州云象网络技术有限公司 一种应用于区块链的拜占庭容错共识方法
CN107171829A (zh) * 2017-04-24 2017-09-15 杭州趣链科技有限公司 一种基于bft共识算法实现的动态节点管理方法
CN107450981A (zh) * 2017-05-31 2017-12-08 阿里巴巴集团控股有限公司 一种区块链共识方法及设备
CN107590738A (zh) * 2017-08-24 2018-01-16 阿里巴巴集团控股有限公司 选择共识节点的处理方法、装置及服务器
CN108833398A (zh) * 2018-06-08 2018-11-16 浙江超脑时空科技有限公司 一种区块链智能合约更新方法、装置及设备
CN110033371A (zh) * 2019-02-19 2019-07-19 阿里巴巴集团控股有限公司 一种基于资产交易的对账方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111756550B (zh) * 2017-03-28 2023-08-22 创新先进技术有限公司 一种区块链共识方法及装置
CN107395665B (zh) * 2017-05-22 2020-04-24 创新先进技术有限公司 一种区块链业务受理及业务共识方法及装置
CN107360248B (zh) * 2017-07-31 2020-08-25 众安信息技术服务有限公司 用于配置局部共识的方法和装置及计算机可读存储介质
CN108647967B (zh) * 2018-05-10 2021-09-14 北京京东尚科信息技术有限公司 选择区块链共识机制的方法、装置以及共识节点
CN109871279B (zh) * 2019-03-11 2021-10-01 京东方科技集团股份有限公司 共识任务协调方法及装置、区块链系统、存储介质
CN110597885B (zh) * 2019-09-23 2024-06-28 腾讯科技(深圳)有限公司 信息处理方法、装置、区块链网络的节点及存储介质
CN110956542B (zh) * 2019-11-07 2021-05-18 支付宝(杭州)信息技术有限公司 区块链系统及其运行方法、装置及设备
CN110992002B (zh) * 2019-12-05 2023-04-18 腾讯云计算(北京)有限责任公司 事项处理方法、装置、设备及存储介质
CN111402058B (zh) * 2020-05-29 2021-05-04 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置、设备及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105938608A (zh) * 2016-04-12 2016-09-14 福建师范大学 一种基于标签影响力的半同步社区发现方法
CN106445711A (zh) * 2016-08-28 2017-02-22 杭州云象网络技术有限公司 一种应用于区块链的拜占庭容错共识方法
CN107171829A (zh) * 2017-04-24 2017-09-15 杭州趣链科技有限公司 一种基于bft共识算法实现的动态节点管理方法
CN107450981A (zh) * 2017-05-31 2017-12-08 阿里巴巴集团控股有限公司 一种区块链共识方法及设备
CN107590738A (zh) * 2017-08-24 2018-01-16 阿里巴巴集团控股有限公司 选择共识节点的处理方法、装置及服务器
CN108833398A (zh) * 2018-06-08 2018-11-16 浙江超脑时空科技有限公司 一种区块链智能合约更新方法、装置及设备
CN110033371A (zh) * 2019-02-19 2019-07-19 阿里巴巴集团控股有限公司 一种基于资产交易的对账方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021239087A1 (zh) * 2020-05-29 2021-12-02 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置、设备及介质
CN112612849A (zh) * 2020-07-24 2021-04-06 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置、设备及介质
CN112187866A (zh) * 2020-09-03 2021-01-05 山东大学 一种基于共享存储的新型区块链共识方法
CN112187866B (zh) * 2020-09-03 2021-10-15 山东大学 一种基于共享存储的新型区块链共识方法

Also Published As

Publication number Publication date
CN113256426B (zh) 2023-08-04
CN111402058B (zh) 2021-05-04
CN113256426A (zh) 2021-08-13
WO2021239087A1 (zh) 2021-12-02

Similar Documents

Publication Publication Date Title
CN107450981B (zh) 一种区块链共识方法及设备
CN107196900B (zh) 一种共识校验的方法及装置
CN107450979B (zh) 一种区块链共识方法及装置
CN106899666B (zh) 一种针对业务标识的数据处理方法及装置
CN111402058B (zh) 一种数据处理方法、装置、设备及介质
CN111880927B (zh) 一种资源分配方法、装置及设备
CN108173706B (zh) 一种多业务系统下的业务标记方法、装置及设备
CN108985742B (zh) 交易处理方法、装置及区块链系统
KR20190088535A (ko) 블록체인 기반 데이터 처리 방법 및 장치
TW201822033A (zh) 資源處理方法及裝置
CN109726563B (zh) 一种数据统计的方法、装置以及设备
CN110263580B (zh) 基于区块链的数据处理方法、装置和区块链节点
CN113821817B (zh) 基于区块链的数据处理方法、装置、设备及系统
CN111899008A (zh) 资源转移方法、装置、设备及系统
CN109428900B (zh) 一种数据处理的方法及装置
CN109639747B (zh) 数据请求处理、询问消息处理方法、装置以及设备
JP2019509567A (ja) アプリケーション(app)のためのリソースロード方法、サービス機能実施方法及び装置
CN114331403A (zh) 一种数据处理、资源转移、支付方法、装置、设备及介质
CN108596581B (zh) 资源转移的验证方法、装置和电子支付验证方法、装置
CN113327115A (zh) 租赁业务的处理方法、装置、设备及系统
CN114448754A (zh) 一种外部服务的接入方法、装置以及设备
CN114782016A (zh) 基于智能合约的债权数据处理方法、装置及区块链系统
CN114726858A (zh) 一种数据处理方法、装置、电子设备和存储介质
CN115018499A (zh) 一种基于区块链的数字凭证发行方法、装置和系统
CN114327941A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40033189

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant