CN110740113A - 通过多个主体协作进行信息处理的方法和装置 - Google Patents
通过多个主体协作进行信息处理的方法和装置 Download PDFInfo
- Publication number
- CN110740113A CN110740113A CN201810803527.6A CN201810803527A CN110740113A CN 110740113 A CN110740113 A CN 110740113A CN 201810803527 A CN201810803527 A CN 201810803527A CN 110740113 A CN110740113 A CN 110740113A
- Authority
- CN
- China
- Prior art keywords
- information processing
- processing task
- result
- node
- nodes
- 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
- 230000010365 information processing Effects 0.000 title claims abstract description 467
- 238000000034 method Methods 0.000 title claims abstract description 121
- 238000004458 analytical method Methods 0.000 claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 38
- 230000008520 organization Effects 0.000 claims description 83
- 230000003211 malignant effect Effects 0.000 claims description 6
- 230000014509 gene expression Effects 0.000 description 25
- 238000010200 validation analysis Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000002349 favourable effect Effects 0.000 description 11
- 238000012795 verification Methods 0.000 description 11
- 101150116173 ver-1 gene Proteins 0.000 description 8
- 239000003795 chemical substances by application Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 235000015278 beef Nutrition 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 235000013305 food Nutrition 0.000 description 2
- 230000003862 health status Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000283690 Bos taurus Species 0.000 description 1
- 101100102503 Caenorhabditis elegans ver-3 gene Proteins 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012502 risk assessment Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
公开了一种通过多个主体协作进行信息处理的方法和装置,其中,所述方法包括:向第一多个主体提交特定的信息处理任务;针对由第一多个主体执行所述特定的信息处理任务而获得的信息处理结果进行安全性分析,并且基于安全性分析的结果确定执行所述特定的信息处理任务的更新的处理方式;以及根据所确定的更新的处理方式向第二多个主体提交所述特定的信息处理任务,并且获得由第二多个主体执行所述特定的信息处理任务的信息处理结果,其中第二多个主体中的每个主体和第一多个主体中的每个主体均保存有与所述特定的信息处理任务相关的、相同的信息,并且基于由所述第二多个主体执行所述特定的信息处理任务的信息处理结果来更新所述信息。
Description
技术领域
本公开涉及信息处理领域,具体涉及一种通过多个主体协作进行信息处理的方法和装置、以及一种在区块链中进行信息处理任务验证的方法和装置。
背景技术
在通过多个主体协作进行信息处理的技术中,执行信息处理任务的安全性和验证信息处理任务是两个非常重要的因素。
更具体地,区块链技术是上述通过多个主体协作进行信息处理的技术的一个例子。区块链技术最近几年的发展很迅猛,这得益于比特币的成功。区块链也被称为分布式账本,是一种由多个相互去信任的节点保存数据的结构。区块链中所有节点同意区块的顺序,每个区块包含若干交易信息,因此区块链可以被看做许多排好序的交易。目前存在若干种区块链框架,例如公有链,私有链,联盟链。
在传统的联盟链中,可以在不同企业之间保存分布式账本信息。然而,在传统的联盟链中,在执行信息处理任务的安全性和验证信息处理任务方面存在问题。
发明内容
在下文中给出了关于本公开的简要概述,以便提供关于本公开的某些方面的基本理解。但是,应当理解,这个概述并不是关于本公开的穷举性概述。它并不是意图用来确定本公开的关键性部分或重要部分,也不是意图用来限定本公开的范围。其目的仅仅是以简化的形式给出关于本公开的某些概念,以此作为稍后给出的更详细描述的前序。
鉴于以上问题,本公开的目的是提供能够解决现有技术中的一个或多个缺点的通过多个主体协作进行信息处理的方法和装置、以及在区块链中进行信息处理任务验证的方法和装置。
根据本公开的一方面,提供了一种通过多个主体协作进行信息处理的方法,包括:第一提交步骤,向第一多个主体提交特定的信息处理任务;安全性分析步骤,针对由第一多个主体执行所述特定的信息处理任务而获得的信息处理结果进行安全性分析,并且基于安全性分析的结果确定执行所述特定的信息处理任务的更新的处理方式;以及第二提交步骤,根据所确定的更新的处理方式向第二多个主体提交所述特定的信息处理任务,并且获得由第二多个主体执行所述特定的信息处理任务的信息处理结果,其中第二多个主体中的每个主体和第一多个主体中的每个主体均保存有与所述特定的信息处理任务相关的、相同的信息,并且基于由所述第二多个主体执行所述特定的信息处理任务的信息处理结果来更新所述信息。
根据本公开的另一方面,提供了一种通过多个主体协作进行信息处理的装置,包括:第一提交单元,被配置成向第一多个主体提交特定的信息处理任务;安全性分析单元,被配置成针对由第一多个主体执行所述特定的信息处理任务而获得的信息处理结果进行安全性分析,并且基于安全性分析的结果确定执行所述特定的信息处理任务的更新的处理方式;以及第二提交单元,被配置成根据所确定的更新的处理方式向第二多个主体提交所述特定的信息处理任务,并且获得由第二多个主体执行所述特定的信息处理任务的信息处理结果,其中第二多个主体中的每个主体和第一多个主体中的每个主体均保存有与所述特定的信息处理任务相关的、相同的信息,并且基于由所述第二多个主体执行所述特定的信息处理任务的信息处理结果来更新所述信息。
根据本公开的又一方面,提供了一种在区块链中进行信息处理任务验证的方法,该方法基于利用上述通过多个主体协作进行信息处理的方法所得到的第二结果,在区块链中进行信息处理任务验证。该方法包括:在区块链中的每个节点上,基于第二结果和节点的键值数据库,进行关于信息处理任务是否有效的判断。
根据本公开的其它方面,还提供了用于实现上述根据本公开的方法的计算机程序代码和计算机程序产品,以及其上记录有该用于实现上述根据本公开的方法的计算机程序代码的计算机可读存储介质。
在下面的说明书部分中给出本公开实施例的其它方面,其中,详细说明用于充分地公开本公开实施例的优选实施例,而不对其施加限定。
附图说明
本公开可以通过参考下文中结合附图所给出的详细描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并形成说明书的一部分,用来进一步举例说明本公开的优选实施例和解释本公开的原理和优点。其中:
图1是示出根据本公开实施例的通过多个主体协作进行信息处理的方法的流程示例的流程图;
图2是示出根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法的流程示例的流程图;
图3示出了根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法的一个示例流程;
图4是示出根据本公开实施方式的生成用于区块链中的信息处理任务的最终执行节点列表的方法应用于联盟链的系统结构图;
图5是示出根据本公开实施例的通过多个主体协作进行信息处理的装置的功能配置示例的框图;
图6是示出根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的装置的功能配置示例的框图;
图7是示出根据本公开实施例的在区块链中进行信息处理任务验证的方法的流程示例的流程图;
图8示出了根据本公开实施例的在区块链中进行信息处理任务验证的方法的一个流程示例;
图9是示出根据本公开实施例的基于静态码分析对信息处理任务的读键和写键之间的关系进行分析的示例的图;
图10是示出根据本公开实施例的在区块链中进行信息处理任务验证的装置的功能配置示例的框图;以及
图11是示出作为本公开实施例中可采用的个人计算机的示例结构的框图。
具体实施方式
在下文中将结合附图对本公开的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本公开,在附图中仅仅示出了与根据本公开的方案密切相关的设备结构和/或处理步骤,而省略了与本公开关系不大的其它细节。
下面结合附图详细说明根据本公开的实施例。
首先,将参照图1描述根据本公开实施例的通过多个主体协作进行信息处理的方法100的流程示例。图1是示出根据本公开实施例的通过多个主体协作进行信息处理的方法100的流程示例的流程图。如图1所示,根据本公开实施例的通过多个主体协作进行信息处理的方法100包括第一提交步骤S102、安全性分析步骤S104以及第二提交步骤S106。
根据本公开实施例的通过多个主体协作进行信息处理的方法100在S101处开始。
在第一提交步骤S102中,可以向第一多个主体提交特定的信息处理任务。
作为示例,第一多个主体可以是多个相互去信任的主体。
在安全性分析步骤S104中,可以针对由第一多个主体执行所述特定的信息处理任务而获得的信息处理结果进行安全性分析,并且基于安全性分析的结果确定执行所述特定的信息处理任务的更新的处理方式。
作为示例,在安全性分析步骤S104中,如果安全性分析表示存在安全性风险,则确定执行所述特定的信息处理任务的更新的处理方式。
在第二提交步骤S106中,根据所确定的更新的处理方式向第二多个主体提交所述特定的信息处理任务,并且获得由第二多个主体执行所述特定的信息处理任务的信息处理结果,其中第二多个主体中的每个主体和第一多个主体中的每个主体均保存有与所述特定的信息处理任务相关的、相同的信息,并且基于由第二多个主体执行所述特定的信息处理任务的信息处理结果来更新所述信息。
作为示例,在第二提交步骤S106中,根据所确定的更新的处理方式向第二多个主体而不是向第一多个主体提交所述特定的信息处理任务。
根据本公开实施例的通过多个主体协作进行信息处理的方法100在S107处结束。
在根据本公开实施例的通过多个主体协作进行信息处理的方法100中,通过对由第一多个主体执行所述特定的信息处理任务而获得的信息处理结果进行安全性分析、并且基于安全性分析的结果确定执行特定的信息处理任务的更新的处理方式,能够提高执行信息处理任务的安全性。
优选地,所述特定的信息处理任务是与区块链相关的信息处理任务,所述第一多个主体和所述第二多个主体是区块链所涉及的执行节点。根据本公开实施例的通过多个主体协作进行信息处理的方法100可以被具体化为一种生成用于区块链中的信息处理任务的最终执行节点列表的方法200。图2是示出根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法200的流程示例的流程图。如图2所示,根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法200包括提交信息处理任务步骤S202、接收结果步骤S204、选择第一结果步骤S206以及获得第二结果步骤S208。根据本公开实施例的通过多个主体协作进行信息处理的方法100中的第一提交步骤S102包括提交信息处理任务步骤S202中执行的处理。根据本公开实施例的通过多个主体协作进行信息处理的方法100中的安全性分析步骤S104和第二提交步骤S106包括接收结果步骤S204、选择第一结果步骤S206以及获得第二结果步骤S208中执行的处理。
根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法200在S201处开始。
在提交信息处理任务步骤S202中,可以基于预定策略向区块链中的第一多个执行节点提交信息处理任务,其中,上述第一多个主体对应于第一多个执行节点。
例示而非限制,在区块链中存在一个或更多个组织节点,每个组织节点包括多个节点,所述多个节点包括多个执行节点。当用户想要在区块链中进行信息处理任务(例如,进行交易)时,用户可以基于预定策略向区块链中的第一多个执行节点提交该信息处理任务。在下文中,可以将用户称为提交信息处理任务的节点。
预定策略可以是预先确定的策略,例如,预定策略可以是根据相同或类似信息处理任务的执行理事预先确定的策略。
作为示例,可以定义预定策略如下:
AND(m1 of org1,m2 of org2)
上述策略的含义是:要从组织节点1 org 1中获取m1个信息处理任务执行结果并且从组织节点2 org 2中获取m2个信息处理任务执行结果。信息处理任务执行结果包含签名以及读集合和写集合(R set/W set)。读集合和写集合由许多健值对组成,例如(‘id’=>’jack’,‘balance’=>30)。
作为示例,在提交信息处理任务步骤S202中,根据上述策略,向区块链中的组织节点1 org 1中的m1个执行节点以及组织节点2 org 2中的m2个执行节点提交信息处理任务。因此,所述第一多个执行节点为m1+m2个执行节点。这m1+m2个执行节点可以被认为是要执行信息处理任务的初始执行节点列表。
在接收结果步骤S204中,可以接收从第一多个执行节点返回的执行信息处理任务的结果。
作为示例,第一多个执行节点分别执行信息处理任务,并且可以将执行信息处理任务的结果返回给用户。用户可以接收从第一多个执行节点返回的结果。
在选择第一结果步骤S206中,可以基于预定规则,从所接收的结果中选择至少一部分作为第一结果。
优选地,基于预定规则从所接收的结果中选择出所述第一结果包括:从所接收的结果中选择下述相同的读和写集合作为第一结果:所述相同的读和写集合的数量在读和写集合的总数量中比例最高,并且所述最高的比例大于预定值。
作为示例,上述预定值可以是本领域技术人员根据经验预先确定的。例示而非限制,预定值可以为50%。
作为示例,在从第一多个执行节点接收结果时,比较所有第一多个执行节点返回的结果是否一致。如上所述,信息处理任务执行结果是以读和写集合的方式存在的。可以将大部分一致性的读和写集合作为第一结果。若不同执行节点返回的读和写集合是不同的,则选择在所返回的读和写集合中占比最高的相同的读和写集合作为第一结果,并且,要求该相同的读和写集合占读和写集合的总数量的比例例如大于50%。
如果返回相同的读和写集合的执行节点在所有第一多个执行节点的占比小于50%,则认为生成最终执行节点列表的任务失败。
优选地,将所接收的结果中与第一结果中的读和写集合不同的读和写集合作为错误结果,以及将返回错误结果的执行节点判断为作恶节点。
作为示例,对于作恶节点,它们的信用得分会被按照一定的折扣率降低。
creditScore′(mispeer)=creditScore(mispeer)*creditDiscountRate (1)
在表达式(1)中,mispeer表示作恶节点,creditDiscountRate表示预先确定的折扣率,creditScore(mispeer)表示作恶节点mispeer的原始信用得分,creditScore′(mispeer)表示作恶节点mispeer的降低后的信用得分。
在传统的区块链中,在背书阶段不能分析出作恶节点。而由以上描述可知,在本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法200中,通过比较不同执行节点所返回的结果之间的一致性,可以判断出作恶节点,并且可以降低作恶节点的信用得分,由此可以提高执行信息处理任务的安全性。
在获得第二结果步骤S208中,可以通过基于第一结果而进行的信息处理任务安全性分析,获得第二结果,并且将与第二结果有关的候选执行节点列表作为用于区块链中的信息处理任务的最终执行节点列表。
作为示例,在获得第二结果步骤S208中,通过对第一结果进行信息处理任务安全性分析来获得第二结果。并且将为获得第二结果所使用的执行节点的列表(即,候选执行节点列表)作为最终执行节点列表,从而为用户推荐新的执行节点列表。
根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法200在S209处结束。
在根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法200中,通过基于第一结果进行信息处理任务安全性分析来得到第二结果,并且将与第二结果有关的候选执行节点列表作为最终执行节点列表,从而为用户推荐新的执行节点列表来替代第一多个执行节点,由此能够提高执行信息处理任务的安全性。
优选地,在获得第二结果步骤S208中,在信息处理任务安全性分析中确定信息处理任务不是风险信息处理任务的情况下,将第一结果作为第二结果,并且将多个第一节点作为最终执行节点列表。
优选地,在获得第二结果步骤S208中,在确定信息处理任务是风险信息处理任务的情况下,可以动态地将预定策略改变成对执行节点的信用度要求更严格的策略作为所述更新的处理方式;基于改变后的策略,可以向区块链中的第二多个执行节点提交信息处理任务,其中,上述第二多个主体对应于第二多个执行节点;以及可以接收从第二多个执行节点返回的执行信息处理任务的结果,并且可以基于预定规则,在从第二多个执行节点接收的结果中选择至少一部分作为第二结果。
作为示例,在获得第二结果步骤S208中,分析信息处理任务的风险性。若确定信息处理任务是有风险的、即确定信息处理任务是不安全的,则动态地将预定策略改变成对执行节点的信用度要求更严格的策略;然后,基于改变后的策略,可以向区块链中的第二多个执行节点提交信息处理任务,需要说明的是,第二多个执行节点是上述与第二结果有关的候选执行节点列表中的所有节点。
在传统的区块链不能分析出有风险的交易。而由以上描述可知,根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法200可以分析信息处理任务的风险性。如果信息处理任务是有风险的,则动态地改变预定策略,由此为用户推荐比第一多个执行节点的信用度更高的第二多个执行节点,从而实现了执行信息处理任务的安全性保证。
优选地,基于预定规则、在从第二多个执行节点接收的结果中选择至少一部分作为第二结果包括:从所接收的结果中选择下述相同的读和写集合作为第一结果:所述相同的读和写集合的数量在读和写集合的总数量中比例最高,并且所述最高的比例大于预定值。
作为示例,上述预定值可以是本领域技术人员根据经验预先确定的。例示而非限制,预定值可以为50%。
作为示例,在从第二多个执行节点接收结果时,比较所有第二多个执行节点返回的结果是否一致。如上所述,信息处理任务执行结果是以读和写集合的方式存在的。可以将大部分一致性的读和写集合作为第二结果。若第二多个执行节点中的不同执行节点返回的读和写集合是不同的,则选择在所返回的读和写集合中占比最高的相同的读和写集合作为第二多个执行节点的执行结果,并且,要求该相同的读和写集合占读和写集合的总数量的比例例如大于50%。
如果返回相同的读和写集合的执行节点在所有第二多个执行节点的占比小于50%,则认为生成最终执行节点列表的任务失败。
优选地,可以基于信息处理任务的操作风险得分和提交信息处理任务的节点的风险得分来计算信息处理任务的风险得分,从而确定信息处理任务是否是风险信息处理任务。
可以将信息处理任务的风险定义成m个等级。下面以将信息处理任务的风险定义成4个等级为例,在表1中列出了信息处理任务的风险得分txRiskScore与风险等级riskGrade之间的对应关系。
表1
对于区块链而言,信息处理任务意味着基于链码的函数调用。若信息处理任务调用一些重要的函数,例如初始化数据,清空所有数据,则信息处理任务的风险得分会较高,相应地,风险等级也会较高。
若信息处理任务的函数包含危险操作,例如读/写集合包含null或者为“”,则信息处理任务是有一定程度的风险的。因此,如下定义信息处理任务的操作风险得分riskScore(operation):
执行节点的信用得分是基于执行信息处理任务的历史定义的,默认是100分。
组织节点orgi的信用得分creditScore(orgi)被定义为该组织节点中包括的所有节点的信用得分的平均值:
在表达式(3)中,peeri表示组织节点orgi的第i个节点,n是组织节点orgi中的节点总数。
假设用户属于组织节点orgi,则用户的信用得分等同于该用户所属的组织节点的信用得分:
creditScore(user)=creditScore(orgi) (4)
提交信息处理任务的节点(用户)的风险得分定义如下:
riskScore(clientCredit)=100-creditScore(user) (5)
由表达式(5)可知,若用户的信用得分非常高,则用户的风险得分riskScore(clientCredit)将会非常低。
可以基于由表达式(2)算出的信息处理任务的操作风险得分和由表达式(5)算出的提交信息处理任务的节点的风险得分来计算信息处理任务的风险得分。
若信息处理任务的风险得分大于阈值(例如阈值为90分),则该信息处理任务被确定为风险信息处理任务。
由以上描述可知,根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法200可以基于信息处理任务的操作风险得分和提交信息处理任务的节点的风险得分来计算信息处理任务的风险得分,从而可以准确地确定信息处理任务是否是风险信息处理任务。
优选地,还可以基于执行节点的角色的权限风险得分,计算信息处理任务的风险得分。
若执行节点的角色是管理员,由于管理员具有较大的权限,则信息处理任务是有一定程度的风险的。而若执行节点的角色是普通成员,由于普通成员没有较大的权限,则信息处理任务是有安全的。因此,定义执行节点的角色的权限风险得分riskScore(authorization)为:
可以如下表示基于执行节点的角色的权限风险得分、信息处理任务的操作风险得分以及提交所述信息处理任务的节点的风险得分所计算的信息处理任务的风险得分txRiskScore:
txRiskScore=riskScore(authorization)*α+riskScore(operation)*β
+riskScore(clientCredit)*(1-α-β)
(7)
在表达式(7)中,α和β可以是本领域普通技术人员可以根据经验预先确定的参数。
由以上描述可知,根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法200还可以基于执行节点的角色的权限风险得分来计算信息处理任务的风险得分,从而可以更准确地确定信息处理任务是否是风险信息处理任务。
优选地,通过以下步骤生成改变后的策略:可以基于与信息处理任务的风险得分对应的信息处理任务的风险等级,计算生成候选执行节点列表所需要的候选组织节点的总数目和执行节点的总数目,其中,每个组织节点包括多个节点;可以基于每个候选组织节点的信用得分和候选组织节点的总体信用得分,计算每个候选组织节点在生成候选执行节点列表时所占的权重;可以基于每个候选组织节点的权重和执行节点的总数目,计算每个候选组织节点中的、生成候选执行节点列表所需要的执行节点的数目;以及可以根据每个候选组织节点中的、生成候选执行节点列表所需要的执行节点的数目,生成改变后的策略。
作为示例,可以根据表1中示出的信息处理任务的风险得分与信息处理任务的风险等级之间的对应关系,得到信息处理任务的风险等级。并且,可以如以下表达式(8)和(9)所示,基于所得到的信息处理任务的风险等级,分别计算生成候选执行节点列表所需要的候选组织节点的总数目OrgCount和执行节点的总数目PeerCount:
在表达式(8)中,riskGrade是信息处理任务的风险等级,riskGradeNum是预先定义的信息处理任务的风险等级的总数目(即,如上所述的m个等级),totalOrgCount是区块链中组织的总数目。作为示例,可以从所有的组织节点中,按照组织节点的信用得分从高到低的顺序,选出OrgCount个组织节点作为候选组织节点。
在表达式(9)中,totalPeerCount是区块链中执行节点的总数目。
由表达式(8)和(9)可知,随着信息处理任务的风险等级越高,生成候选执行节点列表所需要的候选组织节点的总数目OrgCount和执行节点的总数目PeerCount都越多。
然后,可以如以下表达式(10)所示,基于每个候选组织节点的信用得分和候选组织节点的总体信用得分,计算每个候选组织节点在生成候选执行节点列表时所占的权重weight(orgi)。
在表达式(10)中,orgi表示第i(i=1,2,…,OrgCount)个候选组织节点,OrgCount是由表达式(8)算出的生成候选执行节点列表所需要的候选组织节点的总数目。
由表达式(10)可知,候选组织节点的信用得分越高,则该候选组织节点在生成候选执行节点列表时所占的权重越大。
随后,可以如以下表达式(11)所示,基于每个候选组织节点的权重weight(orgi)和执行节点的总数目PeerCount,计算每个候选组织节点中的、生成候选执行节点列表所需要的执行节点的数目PeerCount(orgi)。
PeerCount(orgi)=weight(orgi)*PeerCount (11)
在表达式(11)中,PeerCount是由表达式(9)算出的生成候选执行节点列表所需要的执行节点的总数目。作为示例,可以从每个候选组织节点中的所有执行节点中,按照执行节点的信用得分从高到低的顺序,选出PeerCount(orgi)个执行节点。
结合表达式(10)和(11)可知,候选组织节点的信用得分越高,则该候选组织节点中的、生成候选执行节点列表所需要的执行节点的数目越大。
最后,可以根据每个候选组织节点中的、生成候选执行节点列表所需要的执行节点的数目,生成改变后的策略。
作为示例,假设根据表达式(8)所算出的生成候选执行节点列表所需要的候选组织节点的总数目OrgCount为2,可以定义改变后的策略为:
AND(PeerCount(org1’)of org1’,PeerCount(org2’)of org2’) (12)
在表达式(12)中,PeerCount(org1’)表示候选组织节点org1’中的、生成候选执行节点列表所需要的执行节点的数目,PeerCount(org2’)表示候选组织节点org2’中的、生成候选执行节点列表所需要的执行节点的数目,PeerCount(org1’)和PeerCount(org2’)均是通过表达式(11)计算得到的。
表达式(12)所示出的改变后的策略的含义是:要从候选组织节点1org1’中获取PeerCount(org1’)个信息处理任务执行结果并且从候选组织节点2org2’中获取PeerCount(org2’)个信息处理任务执行结果。
由以上描述可知,根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法200可以基于信息处理任务的风险等级,生成对执行节点的信用度要求更严格的改变后的策略。
需要说明的是,本文在描述获得第二结果步骤S208时描述了:基于改变后的策略,可以向区块链中的第二多个执行节点提交信息处理任务;以表达式(12)示出的改变后的策略为例,所述第二多个执行节点由候选组织节点org1’中的PeerCount(org1’)个执行节点和候选组织节点2org2’中的PeerCount(org2’)个执行节点构成。
优选地,候选执行节点列表可以按照候选组织节点的信用得分从高到低排序。
以表达式(12)示出的改变后的策略为例,基于该改变后的策略的候选执行节点列表可以表示为:
{peer1(org1’),peer2(org1’),....peerPeer Count(org1’)(org1’),
peer1(org2’),peer2(org2’),.....,PeerPeerCount(org2’)(org2’)} (13)
在表达式(13)中,Peeri(org1’)(i=1,2,...,PeerCount(org1’))表示候选组织节点org1’中的第i个候选执行节点,而Peerj(org2’)(j=1,2,...,PeerCount(org2’))表示组织org2’中的第j个候选执行节点。例示而非限制,基于改变后的策略的候选执行节点列表可以与上述初始执行节点列表有重叠。
由以上描述可知,在根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法200中,候选组织节点的信用得分越高,则该候选组织节点中的、生成候选执行节点列表所需要的执行节点的数目越大,由此所生成的候选执行节点列表的信用度越高。
需要说明的是,在获得第二结果步骤S208中,如果基于改变后的策略向区块链中的第二多个执行节点提交信息处理任务之后,确定信息处理任务是不安全的,则认为生成最终执行节点列表的任务失败。
为了更清楚地描述根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法200,在下文中,结合图3描述根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法200的一个示例流程。
为了简化描述,在图3中省略了基于预定策略向区块链中的第一多个执行节点提交信息处理任务的步骤。在图3中,根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的方法200的示例流程从步骤S301开始。在步骤S301中,接收从第一多个执行节点返回的执行信息处理任务的结果(其中,该结果是读和写集合的形式,例如,如图3所示,结果包括从节点1、节点2、…、节点n返回的读和写集合:读/写集合(节点1)、读/写集合(节点2)、…读/写集合(节点n)),并且比较结果的一致性。在在步骤S302中,判断在所返回的结果中是否存在下述相同的读和写集合:所述相同的读和写集合的数量在读和写集合的总数量中比例最高,并且所述最高的比例大于预定值(例如,该预定值为50%)。如果判断结果为否,则进行到步骤S310,生成最终执行节点列表的任务失败。而如果判断结果为是,则分别进行到步骤S303和步骤S305。在步骤S303中,根据对结果的比较来分析作恶节点。对于作恶节点,在步骤S304中,更新作恶节点和其所属的组织节点的信用得分。在步骤S305中,分析信息处理任务的风险。在步骤S306中,可以基于信息处理任务的操作风险得分、提交信息处理任务的节点的风险得分,以及还可以基于执行节点的角色的权限风险得分,计算信息处理任务的风险得分。在步骤S307中,基于所计算出的信息处理任务的风险得分,判断信息处理任务是否是安全的。如果判断结果为是,则进行到步骤S311,无需更新预定策略,而是直接使用第一多个执行节点作为最终执行节点列表,生成最终执行节点列表的任务成功。而如果判断结果为否,则进行到步骤S308,动态地将预定策略改变成对执行节点的信用度要求更严格的策略,并基于改变后的策略,向用户推荐执行节点,从而生成由第二多个执行节点组成的候选执行节点列表,并将该候选执行节点列表作为最终执行节点列表。在步骤S309中,向第二多个执行节点提交信息处理任务,之后,可以通过与在步骤S301至步骤S304中的处理类似的处理,从由第二多个执行节点返回的执行信息处理任务的结果中选择上文中提到的第二结果。
联盟区可以解决企业与企业,实体与实体之间的去中心化共识问题。下文中,结合联盟链来描述根据本公开实施方式的生成用于区块链中的信息处理任务的最终执行节点列表的方法200。图4是示出根据本公开实施方式的生成用于区块链中的信息处理任务的最终执行节点列表的方法200应用于联盟链的系统结构图。
在联盟链中所保存的区块链交易的信息可以简称为账本,执行链码的过程可以称为背书。以下为了描述方便,结合联盟链,将根据本公开实施方式的生成用于区块链中的信息处理任务的最终执行节点列表的方法200中涉及的信息处理任务称为交易;多个执行节点执行信息处理任务(交易)的过程就是多个执行节点执行链码的过程,该过程可以称为背书;执行节点可以称为背书节点;执行节点执行交易后返回的执行结果可以称为背书结果;最终执行节点列表可以称为候选背书节点列表;预定策略可以被为预定背书策略。
图4中的APP/SDK表示要发起交易的用户所在的客户端,用户使用身份证书证明其身份,以此来访问联盟链。CA中心用于验证数字证书(身份证书)有效性。
下面利用步骤S401至S408来描述根据本公开实施方式的生成用于区块链中的信息处理任务的最终执行节点列表(最终背书节点列表)的方法200的示例流程。
在图4的步骤S401中,用户基于预定背书策略向第一多个背书节点提交交易。在图4中的背书节点模块中,示意性地示出了四个背书节点:属于组织1Org1的背书节点Peer0和Peer1、以及属于组织2Org2的背书节点Peer2和Peer3。假设第一多个背书节点包括Peer0和Peer2,这两个背书节点在接收到交易之后,分别执行交易(即执行链码)并生成背书结果。
在步骤S402中,用户接收从第一多个背书节点返回的背书结果。
在步骤S403中,对所接收的背书结果进行分析以判断是否存在作恶节点。
在步骤S404中,判断是否是第一次背书。如果步骤S404中的判断结果为是,则进行到步骤S405。
在步骤S405中,分析交易的风险。
在步骤S406中,判断交易是否是风险交易。如果步骤S406中的判断结果为否,则直接从由第一多个背书节点接收的背书结果中选择至少一部分作为最终背书结果(例如,选择在所接收的读和写集合中占比最高的相同的读和写集合作为最终背书结果,并且,要求该相同的读和写集合占读和写集合的总数量的比例例如大于50%),并且将所述第一多个背书节点作为最终背书节点列表。
如果步骤S406中的判断结果为是,则进行到步骤S407。
在步骤S407中,动态地将背书策略改变成对背书节点的信用度要求更严格的策略,并且基于改变后的策略,向第二多个背书节点提交所述交易。之后,进行与步骤S402和S403中的处理类似的处理,即,用户接收从第二多个背书节点返回的背书结果,并且对所接收的背书结果进行安全性分析以判断是否存在作恶节点。
如果步骤S404中的判断结果为否,则进行到步骤S408。在步骤S408中,因为不是第一次背书而是第二次背书,说明在第一次背书中已经进行过有与交易风险性分析有关的处理,因此,从由第二多个背书节点接收的背书结果中选择至少一部分作为最终背书结果(例如,选择在所接收的读和写集合中占比最高的相同的读和写集合作为最终背书结果,并且,要求该相同的读和写集合占读和写集合的总数量的比例例如大于50%),并且将所述第二多个背书节点作为最终背书节点列表。
以上利用步骤S401至S408描述了利用根据本公开实施方式的方法200进行背书以生成最终背书节点列表的流程。
在背书结束后,在联盟链中,如图4中的(1)所示,用户将交易(包括最终背书结果)提交给排序服务。然后,如图4中的(2)所示,排序服务基于共识算法对交易进行排序,然后将若干交易打包成区块,再将区块加入链中。之后,如图4中的(3)所示,将所有包含交易的区块通过广播传送给所有节点。最后,如图4中的(4)所示,进行账本验证,即,当每个节点接收到交易区块时,节点会验证该区块中所有交易的有效性,若交易是有效的,则交易会在数据库中保存交易的健值状态。
作为示例,根据本公开实施方式的生成用于区块链中的信息处理任务的最终执行节点列表的方法200可以应用于医疗区块链。区块链参与主体包括医院、保险公司以及个人。也就是说,位于医院、保险公司以及个人的计算机可以是区块链中的执行节点。医院可以是多个,每个医院维护病人在自己医院的诊断数据。个人维护自己在所有医院的诊断数据。医院的诊断数据和个人的诊断数据的哈希值(保存哈希值可以减少数据量)都保存在区块链上。医院和个人保存的历史病历记录是不可篡改的,去中心化的。医院之间如果想共享数据,那么必须发起交易获得对方同意。医院想要获取个人的数据,也要发起交易获得对方同意。所有的数据使用历史都会记录在区块链上。保险公司可以发起交易,向医院或者个人获取历史病历记录,然后制定医疗保险优惠计划。例如,位于医院、保险公司以及个人的计算机可以是图4中的APP/SDK(即,要发起交易的用户所在的客户端),在对图4的相关描述中提到的要发起交易的用户可以是医院、保险公司以及个人。
另外,根据本公开实施方式的生成用于区块链中的信息处理任务的最终执行节点列表的方法200还可以应用于供应链。例如描述进口牛肉的食品溯源系统。区块链参与主体包括养牛的牧场、牛肉生产企业、运输企业、销售企业等等。每个企业维护自己的节点,保存牛肉的所有状态。牛肉生产的每个步骤都会保存在区块链上。区块链上的数据是去中心化,防篡改的。如果牛肉发生食品安全问题,可以通过区块链溯源,查找出是哪个企业出问题了。
与上述通过多个主体协作进行信息处理的方法实施例相对应地,本公开还提供了以下通过多个主体协作进行信息处理的装置的实施例。
图5是示出根据本公开实施例的通过多个主体协作进行信息处理的装置500的功能配置示例的框图。
如图5所示,根据本公开实施例的通过多个主体协作进行信息处理的装置500可以包括第一提交单元502、安全性分析单元504以及第二提交单元506。接下来将描述第一提交单元502、安全性分析单元504以及第二提交单元506的功能配置示例。
在第一提交单元502中,可以向第一多个主体提交特定的信息处理任务。
作为示例,第一多个主体可以是多个相互去信任的主体。
在安全性分析单元504中,可以针对由第一多个主体执行所述特定的信息处理任务而获得的信息处理结果进行安全性分析,并且基于安全性分析的结果确定执行所述特定的信息处理任务的更新的处理方式。
作为示例,在安全性分析单元504中,如果安全性分析表示存在安全性风险,则确定执行所述特定的信息处理任务的更新的处理方式。
在第二提交单元506中,根据所确定的更新的处理方式向第二多个主体提交所述特定的信息处理任务,并且获得由第二多个主体执行所述特定的信息处理任务的信息处理结果,其中第二多个主体中的每个主体和第一多个主体中的每个主体均保存有与所述特定的信息处理任务相关的、相同的信息,并且基于由第二多个主体执行所述特定的信息处理任务的信息处理结果来更新所述信息。
作为示例,在第二提交单元506中,根据所确定的更新的处理方式向第二多个主体而不是向第一多个主体提交所述特定的信息处理任务。
在根据本公开实施例的通过多个主体协作进行信息处理的装置500中,通过对由第一多个主体执行所述特定的信息处理任务而获得的信息处理结果进行安全性分析、并且基于安全性分析的结果确定执行特定的信息处理任务的更新的处理方式,能够提高执行信息处理任务的安全性。
优选地,所述特定的信息处理任务是与区块链相关的信息处理任务,所述第一多个主体和所述第二多个主体是区块链所涉及的执行节点。根据本公开实施例的通过多个主体协作进行信息处理的装置500可以被具体化为一种生成用于区块链中的信息处理任务的最终执行节点列表的装置600。图6是示出根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的装置600的功能配置示例的框图。如图6所示,根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的装置600包括提交信息处理任务单元602、接收结果单元604、选择第一结果单元606以及获得第二结果单元608。根据本公开实施例的通过多个主体协作进行信息处理的装置500中的第一提交单元502可以被配置成执行在提交信息处理任务单元602中执行的处理。根据本公开实施例的通过多个主体协作进行信息处理的装置500中的安全性分析单元504和第二提交单元506可以被配置成执行在接收结果单元604、选择第一结果单元606以及获得第二结果单元608中执行的处理。
接下来将描述提交信息处理任务单元602、接收结果单元604、选择第一结果单元606以及获得第二结果单元608的功能配置示例。
在提交信息处理任务单元602中,可以基于预定策略向区块链中的第一多个执行节点提交信息处理任务,其中,上述第一多个主体对应于第一多个执行节点。
例示而非限制,在区块链中存在一个或更多个组织节点,每个组织节点包括多个节点,所述多个节点包括多个执行节点。当用户想要在区块链中进行信息处理任务(例如,进行交易)时,用户可以基于预定策略向区块链中的第一多个执行节点提交该信息处理任务。在下文中,可以将用户称为提交信息处理任务的节点。
预定策略可以是预先确定的策略,例如,预定策略可以是根据相同或类似信息处理任务的执行理事预先确定的策略。
有关预定策略的具体示例可以参见以上方法实施例中相应部分例如关于提交信息处理任务步骤S202的描述,在此不再重复。
在接收结果单元604中,可以接收从第一多个执行节点返回的执行信息处理任务的结果。
作为示例,第一多个执行节点分别执行信息处理任务,并且可以将执行信息处理任务的结果返回给用户。用户可以接收从第一多个执行节点返回的结果。
在选择第一结果单元606中,可以基于预定规则,从所接收的结果中选择至少一部分作为第一结果。
优选地,在选择第一结果单元606中,通过以下处理选择出所述第一结果:从所接收的结果中选择下述相同的读和写集合作为第一结果:所述相同的读和写集合的数量在读和写集合的总数量中比例最高,并且所述最高的比例大于预定值。
作为示例,上述预定值可以是本领域技术人员根据经验预先确定的。例示而非限制,预定值可以为50%。
作为示例,在从第一多个执行节点接收结果时,比较所有第一多个执行节点返回的结果是否一致。如上所述,信息处理任务执行结果是以读和写集合的方式存在的。可以将大部分一致性的读和写集合作为第一结果。若不同执行节点返回的读和写集合是不同的,则选择在所返回的读和写集合中占比最高的相同的读和写集合作为第一结果,并且,要求该相同的读和写集合占读和写集合的总数量的比例例如大于50%。
如果返回相同的读和写集合的执行节点在所有第一多个执行节点的占比小于50%,则认为生成最终执行节点列表的任务失败。
优选地,选择第一结果单元606还被配置成将所接收的结果中与第一结果中的读和写集合不同的读和写集合作为错误结果,以及将返回错误结果的执行节点判断为作恶节点。
作为示例,对于作恶节点,它们的信用得分会被按照一定的折扣率降低。
由以上描述可知,在本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的装置600中,通过比较不同执行节点所返回的结果之间的一致性,可以判断出作恶节点,并且可以降低作恶节点的信用得分,由此可以提高执行信息处理任务的安全性。
在获得第二结果单元608中,可以通过基于第一结果而进行的信息处理任务安全性分析,获得第二结果,并且将与第二结果有关的候选执行节点列表作为用于区块链中的信息处理任务的最终执行节点列表。
作为示例,在获得第二结果单元608中,通过对第一结果进行信息处理任务安全性分析来获得第二结果。并且将为获得第二结果所使用的执行节点的列表(即,候选执行节点列表)作为最终执行节点列表,从而为用户推荐新的执行节点列表。
在根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的装置600中,通过基于第一结果进行信息处理任务安全性分析来得到第二结果,并且将与第二结果有关的候选执行节点列表作为最终执行节点列表,从而为用户推荐新的执行节点列表来替代第一多个执行节点,由此能够提高执行信息处理任务的安全性。
优选地,在获得第二结果单元608中,在信息处理任务安全性分析中确定信息处理任务不是风险信息处理任务的情况下,将第一结果作为第二结果,并且将多个第一节点作为最终执行节点列表。
优选地,在获得第二结果单元608中,在确定信息处理任务是风险信息处理任务的情况下,可以动态地将预定策略改变成对执行节点的信用度要求更严格的策略作为所述更新的处理方式;基于改变后的策略,可以向区块链中的第二多个执行节点提交信息处理任务,其中,上述第二多个主体对应于第二多个执行节点;以及可以接收从第二多个执行节点返回的执行信息处理任务的结果,并且可以基于预定规则,在从第二多个执行节点接收的结果中选择至少一部分作为第二结果。
作为示例,在获得第二结果单元608中,分析信息处理任务的风险性。若确定信息处理任务是有风险的、即确定信息处理任务是不安全的,则动态地将预定策略改变成对执行节点的信用度要求更严格的策略;然后,基于改变后的策略,可以向区块链中的第二多个执行节点提交信息处理任务,需要说明的是,第二多个执行节点是上述与第二结果有关的候选执行节点列表中的所有节点。
由以上描述可知,根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的装置600可以分析信息处理任务的风险性。如果信息处理任务是有风险的,则动态地改变预定策略,由此为用户推荐比第一多个执行节点的信用度更高的第二多个执行节点,从而实现了执行信息处理任务的安全性保证。
优选地,基于预定规则、在从第二多个执行节点接收的结果中选择至少一部分作为第二结果包括:从所接收的结果中选择下述相同的读和写集合作为第一结果:所述相同的读和写集合的数量在读和写集合的总数量中比例最高,并且所述最高的比例大于预定值。
作为示例,上述预定值可以是本领域技术人员根据经验预先确定的。例示而非限制,预定值可以为50%。
作为示例,在从第二多个执行节点接收结果时,比较所有第二多个执行节点返回的结果是否一致。如上所述,信息处理任务执行结果是以读和写集合的方式存在的。可以将大部分一致性的读和写集合作为第二结果。若第二多个执行节点中的不同执行节点返回的读和写集合是不同的,则选择在所返回的读和写集合中占比最高的相同的读和写集合作为第二多个执行节点的执行结果,并且,要求该相同的读和写集合占读和写集合的总数量的比例例如大于50%。
如果返回相同的读和写集合的执行节点在所有第二多个执行节点的占比小于50%,则认为生成最终执行节点列表的任务失败。
优选地,可以基于信息处理任务的操作风险得分和提交信息处理任务的节点的风险得分来计算信息处理任务的风险得分,从而确定信息处理任务是否是风险信息处理任务。
有关信息处理任务的操作风险得分、提交信息处理任务的节点的风险得分、以及信息处理任务的风险得分的具体示例可以参见以上方法实施例中相应部分例如关于获得第二结果步骤S208的描述,在此不再重复。
若信息处理任务的风险得分大于阈值(例如阈值为90分),则该信息处理任务被定义为风险信息处理任务。
由以上描述可知,根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的装置600可以基于信息处理任务的操作风险得分和提交信息处理任务的节点的风险得分来计算信息处理任务的风险得分,从而可以准确地确定信息处理任务是否是风险信息处理任务。
优选地,还可以基于执行节点的角色的权限风险得分,计算信息处理任务的风险得分。
有关权限风险得分的具体示例可以参见以上方法实施例中相应部分例如关于获得第二结果步骤S208的描述,在此不再重复。
由以上描述可知,根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的装置600还可以基于执行节点的角色的权限风险得分来计算信息处理任务的风险得分,从而可以更准确地确定信息处理任务是否是风险信息处理任务。
优选地,通过以下处理生成改变后的策略:可以基于与信息处理任务的风险得分对应的信息处理任务的风险等级,计算生成候选执行节点列表所需要的候选组织节点的总数目和执行节点的总数目,其中,每个组织节点包括多个节点;可以基于每个候选组织节点的信用得分和候选组织节点的总体信用得分,计算每个候选组织节点在生成候选执行节点列表时所占的权重;可以基于每个候选组织节点的权重和执行节点的总数目,计算每个候选组织节点中的、生成候选执行节点列表所需要的执行节点的数目;以及可以根据每个候选组织节点中的、生成候选执行节点列表所需要的执行节点的数目,生成改变后的策略。
有关生成改变后的策略的具体示例可以参见以上方法实施例中相应部分例如关于获得第二结果步骤S208的描述,在此不再重复。
由以上描述可知,根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的装置600可以基于信息处理任务的风险等级,生成对执行节点的信用度要求更严格的改变后的策略。
应指出,尽管以上描述了根据本公开实施例的生成用于区块链中的信息处理任务的最终执行节点列表的装置的配置,但是这仅是示例而非限制,并且本领域技术人员可根据本公开的原理对以上实施例进行修改,例如可对各个实施例中的模块进行添加、删除或者组合等,并且这样的修改均落入本公开的范围内。
此外,还应指出,这里的装置实施例是与上述方法实施例相对应的,因此在装置实施例中未详细描述的内容可参见方法实施例中相应部分的描述,在此不再重复描述。
此外,本公开还提供了存储介质和程序产品。根据本公开实施例的存储介质和程序产品中的机器可执行的指令可以被配置成执行上述生成用于区块链中的信息处理任务的最终执行节点列表的方法,因此在此未详细描述的内容可参考先前相应部分的描述,在此不再重复进行描述。
相应地,用于承载上述包括机器可执行的指令的程序产品的存储介质也包括在本发明的公开中。该存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
此外,根据本公开的另一方面,提供了一种在区块链中进行信息处理任务验证的方法700。根据本公开实施例的在区块链中进行信息处理任务验证的方法700基于利用上述通过多个主体协作进行信息处理的方法所得到的第二结果,在区块链中进行信息处理任务验证。另外,需要说明的是,在下文中,为了方便描述,利用上述通过多个主体协作进行信息处理的方法所得到的第二结果来描述方法700。然而,本领域普通技术人员可以理解,根据本公开实施例的在区块链中进行信息处理任务验证的方法700可以基于通用区块链技术中的背书结果,在区块链中进行信息处理任务验证。
将参照图7描述根据本公开实施例的在区块链中进行信息处理任务验证的方法700的流程示例。图7是示出根据本公开实施例的在区块链中进行信息处理任务验证的方法700的流程示例的流程图。
根据本公开实施例的在区块链中进行信息处理任务验证的方法700在S701处开始。
在判断步骤S702中,可以在区块链中的每个节点上,基于第二结果和节点的键值数据库,进行关于信息处理任务是否有效的判断。
作为示例,如在描述通过多个主体协作进行信息处理的方法200时所述,从候选执行节点执行信息处理任务所返回的结果中选出第二结果。
每个节点的键值数据库记录了每个信息处理任务的状态信息。
在根据本公开实施例的在区块链中进行信息处理任务验证的方法700中,在区块链中的每个节点上对信息处理任务进行验证时,基于第二结果和节点的键值数据库,进行关于信息处理任务是否有效的判断。
根据本公开实施例的在区块链中进行信息处理任务验证的方法700在S703处结束。
由以上描述可知,在根据本公开实施例的在区块链中进行信息处理任务验证的方法700中,基于第二结果和节点的键值数据库,进行关于信息处理任务是否有效的判断,因此能够提高信息处理任务的验证准确率。
优选地,如果第二结果中的读集合版本和来自节点的键值数据库的读集合版本不一致,则分析信息处理任务的读键和写键之间的关系;在信息处理任务的读键和写键相关的情况下,判断信息处理任务无效,以及在信息处理任务的读键和写键不相关的情况下,判断信息处理任务有效。
在联盟链中,如图4中的(4)所示,进行账本验证。即,当每个节点接收到交易区块时,节点会验证该区块中所有交易的有效性,若交易是有效的,则交易会在数据库中保存交易的健值状态。也就说,每个节点的键值数据库记录了每个交易的状态信息。
下文中以在联盟链中进行信息处理任务(交易)验证为例,描述根据本公开实施例的在区块链中进行信息处理任务验证的方法700。在联盟链中,根据本公开实施例的在区块链中进行信息处理任务验证的方法700基于第二结果(背书结果)中的读集合的版本号和来自节点的键值数据库的读集合的版本号进行账本验证。图8示出了根据本公开实施例的在区块链中进行信息处理任务验证的方法700的一个流程示例。
读集合和写集合可以分别包括多个由键、版本号以及键值组成的组合。下文中,为了方便描述,假设读集合和写集合均仅包括一个由键、版本号以及键值组成的组合。因此,读集合和写集合分别被定义为read(key,version,value)和write(key,version,value),其中,key表示键,version表示版本号,value表示键值。
如图8所示,存在4笔交易tx:T1,T2,T3,T4。假设第二结果(背书结果)中包含的读集合为:read(k1,ver1,v1),read(k2,ver1,v2),read(k3,ver1,v3),read(k4,ver1,v4)。
图8中的排序服务与图4中的排序服务的功能相同。即,排序服务基于共识算法对交易进行排序,然后将若干交易打包成区块,再将区块加入链中。
在图8中示出的在每个节点上进行的账本验证阶段中,在步骤S801中,判断第二结果中的读集合版本和来自节点的键值数据库的读集合版本是否一致。
假设图8中示出的以下的读集合的版本号来自于节点中的键值数据库(图8中示出的键值数据库)。
T1->write(k1,ver2,v1’),write(k2,ver2,v2’)
T2->read(k1,ver2,v1’),write(k3,ver2,v3’)
T3->write(k2,ver3,v2”)
T4->read(k4,ver1,v4),write(k4,ver2,v4’)
如果在步骤S801中,判断第二结果中的读集合版本和来自节点的键值数据库的读集合版本一致或者交易不包含任何读集合,则判断交易是有效的。对于有效的交易,每个节点会将背书结果更新到它们自己的数据库中。
如果在步骤S801中,判断第二结果中的读集合版本和来自节点的键值数据库的读集合版本不一致,则在步骤S802中,分析在一个交易中包含的读键和写键之间的关系。在交易的读键和写键相关的情况下,判断交易无效,以及在交易的读键和写键不相关的情况下,判断交易有效。
例如,假设交易T2的第二结果(背书结果)的读集合为read(k1,ver1,v1)。在图8中,在交易T2中,背书结果read(k1,ver1,v1)中的版本号ver1不同于节点的键值数据库中read(k1,ver2,v1’)中的版本号ver2,因此需要分析交易T2包含的读键k1和写键k3之间的关系。
若k3与k1有依赖关系,也就是说k3的值是基于k1的值计算而来的,例如v3’=v1+1。因为读键k1的版本号被更新为ver2,然后k1的值被更新为v1’。所以计算v3’=v1+1是错误的,因为v1已经被更新v1’。因此交易T2是无效的。
在传统的区块链中,不分析写键值和读键值之间的关系。因此,在背书结果与节点的键值数据库中的读键值版本不一致的情况下,容易造成交易验证失败。而由以上描述可知,根据本公开实施例的在区块链中进行信息处理任务验证的方法700在第二结果中的读集合版本和来自节点的键值数据库的读集合版本不一致的情况下,分析信息处理任务的读键和写键之间的关系,因此能够进一步提高信息处理任务的验证准确率。
优选地,基于静态码分析,对信息处理任务的读键和写键之间的关系进行分析。
在区块链中,分析单个交易中读键和写键之间的关系是非常困难的。根据本公开实施例的在区块链中进行信息处理任务验证的方法700使用静态代码分析技术解决了这个问题。图9是示出根据本公开实施例的基于静态码分析对信息处理任务的读键和写键之间的关系进行分析的示例的图。
在根据本公开实施例的在区块链中进行信息处理任务验证的方法700中,如图9所示,基于静态代码分析为每个交易生成语法树。基于所生成的语法树,分析读键(Read key)和写键(Write key)之间的拓扑结构。对于每个交易的写键,分析每个写键和每个读键的关系。以图8中示出的交易T2为例,跟踪写键值的计算过程,例如跟踪k3的键值v3’的计算过程。
若v3’是依赖于k1的读键值计算而来的,那么k3就是和k1存在依赖关系,则T2是无效的。
若v3’不是依赖于k1的读键值计算而来的,那么k3就和k1不存在依赖关系,则T2是有效的。
与上述在区块链中进行信息处理任务验证的方法实施例相对应地,本公开还提供了以下在区块链中进行信息处理任务验证的装置1000的实施例。
图10是示出根据本公开实施例的在区块链中进行信息处理任务验证的装置1000的功能配置示例的框图。
如图10所示,根据本公开实施例的在区块链中进行信息处理任务验证的装置1000包括判断单元1002。接下来将描述判断单元1002的功能配置示例。
在判断单元1002中,可以在区块链中的每个节点上,基于第二结果和节点的键值数据库,进行关于信息处理任务是否有效的判断。
作为示例,如在描述通过多个主体协作进行信息处理的方法200时所述,从候选执行节点执行信息处理任务所返回的结果中选出第二结果。
每个节点的键值数据库记录了每个信息处理任务的状态信息。
在根据本公开实施例的在区块链中进行信息处理任务验证的装置1000中,在区块链中的每个节点上对信息处理任务进行验证时,基于第二结果和节点的键值数据库,进行关于信息处理任务是否有效的判断。
由以上描述可知,在根据本公开实施例的在区块链中进行信息处理任务验证的装置1000中,基于第二结果和节点的键值数据库,进行关于信息处理任务是否有效的判断,因此能够提高信息处理任务的验证准确率。
优选地,如果第二结果中的读集合版本和来自节点的键值数据库的读集合版本不一致,则分析信息处理任务的读键和写键之间的关系;在信息处理任务的读键和写键相关的情况下,判断信息处理任务无效,以及在信息处理任务的读键和写键不相关的情况下,判断信息处理任务有效。
有关分析信息处理任务的读键和写键之间的关系的描述可以参见以上在区块链中进行信息处理任务验证的方法700实施例中相应部分例如关于图8的描述,在此不再重复。
由以上描述可知,根据本公开实施例的在区块链中进行信息处理任务验证的装置1000在第二结果中的读集合版本和来自节点的键值数据库的读集合版本不一致的情况下,分析信息处理任务的读键和写键之间的关系,因此能够进一步提高信息处理任务的验证准确率。
优选地,基于静态码分析,对信息处理任务的读键和写键之间的关系进行分析。
有关静态码分析的描述可以参见以上在区块链中进行信息处理任务验证的方法700实施例中相应部分例如关于图9的描述,在此不再重复。
应指出,尽管以上描述了根据在区块链中进行信息处理任务验证的装置的配置,但是这仅是示例而非限制,并且本领域技术人员可根据本公开的原理对以上实施例进行修改,例如可对各个实施例中的模块进行添加、删除或者组合等,并且这样的修改均落入本公开的范围内。
此外,还应指出,这里的装置实施例是与上述方法实施例相对应的,因此在装置实施例中未详细描述的内容可参见方法实施例中相应部分的描述,在此不再重复描述。
此外,本公开还提供了存储介质和程序产品。根据本公开实施例的存储介质和程序产品中的机器可执行的指令还可以被配置成执行上述在区块链中进行信息处理任务验证的方法,因此在此未详细描述的内容可参考先前相应部分的描述,在此不再重复进行描述。
相应地,用于承载上述包括机器可执行的指令的程序产品的存储介质也包括在本发明的公开中。该存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
另外,还应该指出的是,上述系列处理和装置也可以通过软件和/或固件实现。在通过软件和/或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机,例如图11所示的通用个人计算机1100安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等等。
在图11中,中央处理单元(CPU)1101根据只读存储器(ROM)1102中存储的程序或从存储部分1108加载到随机存取存储器(RAM)1103的程序执行各种处理。在RAM 1103中,也根据需要存储当CPU 1101执行各种处理等时所需的数据。
CPU 1101、ROM 1102和RAM 1103经由总线1104彼此连接。输入/输出接口1105也连接到总线1104。
下述部件连接到输入/输出接口1105:输入部分1106,包括键盘、鼠标等;输出部分1107,包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等;存储部分1108,包括硬盘等;和通信部分1109,包括网络接口卡比如LAN卡、调制解调器等。通信部分1109经由网络比如因特网执行通信处理。
根据需要,驱动器1110也连接到输入/输出接口1105。可拆卸介质1111比如磁盘、光盘、磁光盘、半导体存储器等等根据需要被安装在驱动器1110上,使得从中读出的计算机程序根据需要被安装到存储部分1108中。
在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质1111安装构成软件的程序。
本领域的技术人员应当理解,这种存储介质不局限于图11所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质1111。可拆卸介质1111的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM 1102、存储部分1108中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
以上参照附图描述了本公开的优选实施例,但是本公开当然不限于以上示例。本领域技术人员可在所附权利要求的范围内得到各种变更和修改,并且应理解这些变更和修改自然将落入本公开的技术范围内。
例如,在以上实施例中包括在一个单元中的多个功能可以由分开的装置来实现。替选地,在以上实施例中由多个单元实现的多个功能可分别由分开的装置来实现。另外,以上功能之一可由多个单元来实现。无需说,这样的配置包括在本公开的技术范围内。
在该说明书中,流程图中所描述的步骤不仅包括以所述顺序按时间序列执行的处理,而且包括并行地或单独地而不是必须按时间序列执行的处理。此外,甚至在按时间序列处理的步骤中,无需说,也可以适当地改变该顺序。
另外,根据本公开的技术还可以如下进行配置。
附记1.一种通过多个主体协作进行信息处理的方法,包括:
第一提交步骤,向第一多个主体提交特定的信息处理任务;
安全性分析步骤,针对由所述第一多个主体执行所述特定的信息处理任务而获得的信息处理结果进行安全性分析,并且基于安全性分析的结果确定执行所述特定的信息处理任务的更新的处理方式;以及
第二提交步骤,根据所确定的更新的处理方式向第二多个主体提交所述特定的信息处理任务,并且获得由所述第二多个主体执行所述特定的信息处理任务的信息处理结果,其中所述第二多个主体中的每个主体和所述第一多个主体中的每个主体均保存有与所述特定的信息处理任务相关的、相同的信息,并且基于由第二多个主体执行所述特定的信息处理任务的信息处理结果来更新所述信息。
附记2.根据附记1所述的方法,其中,所述特定的信息处理任务是与区块链相关的信息处理任务,所述第一多个主体和所述第二多个主体是区块链所涉及的执行节点,
所述第一提交步骤包括:基于预定策略向所述区块链中的第一多个执行节点提交所述信息处理任务,其中,所述第一多个主体对应于所述第一多个执行节点;
所述安全性分析步骤和所述第二提交步骤包括:
接收从所述第一多个执行节点返回的执行所述信息处理任务的结果;
基于预定规则,从所接收的结果中选择至少一部分作为第一结果;以及
通过基于所述第一结果而进行的信息处理任务安全性分析,得到第二结果,并且将与所述第二结果有关的候选执行节点列表作为用于区块链中的信息处理任务的最终执行节点列表。
附记3.根据附记2所述的方法,其中,基于所述信息处理任务安全性分析得到所述第二结果包括:
在确定所述信息处理任务是风险信息处理任务的情况下,动态地将所述预定策略改变成对执行节点的信用度要求更严格的策略作为所述更新的处理方式;
基于改变后的策略,向所述区块链中的第二多个执行节点提交所述信息处理任务,其中,所述第二多个主体对应于所述第二多个执行节点;以及
接收从所述第二多个执行节点返回的执行所述信息处理任务的结果,并且基于所述预定规则,在从所述第二多个执行节点接收的结果中选择至少一部分作为所述第二结果。
附记4.根据附记3所述的方法,其中,基于所述信息处理任务的操作风险得分和提交所述信息处理任务的节点的风险得分来计算所述信息处理任务的风险得分,从而确定所述信息处理任务是否是风险信息处理任务。
附记5.根据附记4所述的方法,其中,还基于执行节点的角色的权限风险得分,计算所述信息处理任务的风险得分。
附记6.根据附记4所述的方法,其中,通过以下步骤生成所述改变后的策略:
基于与所述信息处理任务的风险得分对应的所述信息处理任务的风险等级,计算生成所述候选执行节点列表所需要的候选组织节点的总数目和执行节点的总数目,其中,每个组织节点包括多个节点;
基于每个候选组织节点的组织信用得分和所述候选组织节点的总体信用得分,计算每个候选组织节点在生成所述候选执行节点列表时所占的权重;
基于每个候选组织节点的权重和所述执行节点的总数目,计算每个候选组织节点中的、生成所述候选执行节点列表所需要的执行节点的数目;以及
根据每个候选组织节点中的、生成所述候选执行节点列表所需要的执行节点的数目,生成所述改变后的策略。
附记7.根据附记2所述的方法,其中,基于所述预定规则从所接收的结果中选择出所述第一结果包括:
从所接收的结果中选择下述相同的读和写集合作为所述第一结果:所述相同的读和写集合的数量在读和写集合的总数量中比例最高,并且所述最高的比例大于预定值。
附记8.根据附记7所述的方法,其中,
将所接收的结果中与所述第一结果中的读和写集合不同的读和写集合,作为错误结果,以及
将返回所述错误结果的执行节点判断为作恶节点。
附记9.根据附记2所述的方法,其中,在所述信息处理任务安全性分析中确定所述信息处理任务不是风险信息处理任务的情况下,将所述第一结果作为所述第二结果,并且将所述多个第一节点作为所述最终执行节点列表。
附记10.一种通过多个主体协作进行信息处理的装置,包括:
第一提交单元,被配置成向第一多个主体提交特定的信息处理任务;
安全性分析单元,被配置成针对由所述第一多个主体执行所述特定的信息处理任务而获得的信息处理结果进行安全性分析,并且基于安全性分析的结果确定执行所述特定的信息处理任务的更新的处理方式;以及
第二提交单元,被配置成根据所确定的更新的处理方式向第二多个主体提交所述特定的信息处理任务,并且获得由所述第二多个主体执行所述特定的信息处理任务的信息处理结果,其中所述第二多个主体中的每个主体和所述第一多个主体中的每个主体均保存有与所述特定的信息处理任务相关的、相同的信息,并且基于由第二多个主体执行所述特定的信息处理任务的信息处理结果来更新所述信息。
附记11.根据附记10所述的装置,其中,所述特定的信息处理任务是与区块链相关的信息处理任务,所述第一多个主体和所述第二多个主体是区块链所涉及的执行节点,
所述第一提交单元还被配置成执行提交信息处理任务单元中的处理,所述安全性分析单元和所述第二提交单元还被配置成执行接收结果单元、选择第一结果单元以及获得第二结果单元中的处理,
其中,所述提交信息处理任务单元被配置成基于预定策略向所述区块链中的第一多个执行节点提交所述信息处理任务,其中,所述第一多个主体对应于所述第一多个执行节点;
所述接收结果单元被配置成接收从所述第一多个执行节点返回的执行所述信息处理任务的结果;
所述选择第一结果单元被配置成基于预定规则,从所接收的结果中选择至少一部分作为第一结果;以及
所述获得第二结果单元被配置成通过基于所述第一结果而进行的信息处理任务安全性分析,得到第二结果,并且将与所述第二结果有关的候选执行节点列表作为用于区块链中的信息处理任务的最终执行节点列表。
附记12.根据附记11所述的装置,其中,所述获得第二结果单元还被配置成通过以下处理得到所述第二结果:
在确定所述信息处理任务是风险信息处理任务的情况下,动态地将所述预定策略改变成对执行节点的信用度要求更严格的策略作为所述更新的处理方式;
基于改变后的策略,向所述区块链中的第二多个执行节点提交所述信息处理任务,其中,所述多个第二主体对应于所述第二多个执行节点;以及
接收从所述第二多个执行节点返回的执行所述信息处理任务的结果,并且基于所述预定规则,在从所述第二多个执行节点接收的结果中选择至少一部分作为所述第二结果。
附记13.根据附记12所述的装置,其中,所述获得第二结果单元还被配置成:基于所述信息处理任务的操作风险得分和提交所述信息处理任务的节点的风险得分来计算所述信息处理任务的风险得分,从而确定所述信息处理任务是否是风险信息处理任务。
附记14.根据附记13所述的装置,其中,所述获得第二结果单元还被配置成还基于执行节点的角色的权限风险得分,计算所述信息处理任务的风险得分。
附记15.根据附记13所述的装置,其中,所述获得第二结果单元还被配置成通过以下处理生成所述改变后的策略:
基于与所述信息处理任务的风险得分对应的所述信息处理任务的风险等级,计算生成所述候选执行节点列表所需要的候选组织节点的总数目和执行节点的总数目,其中,每个组织节点包括多个节点;
基于每个候选组织节点的组织信用得分和所述候选组织节点的总体信用得分,计算每个候选组织节点在生成所述候选执行节点列表时所占的权重;
基于每个候选组织节点的权重和所述执行节点的总数目,计算每个候选组织节点中的、生成所述候选执行节点列表所需要的执行节点的数目;以及
根据每个候选组织节点中的、生成所述候选执行节点列表所需要的执行节点的数目,生成所述改变后的策略。
附记16.根据附记11所述的装置,其中,所述选择第一结果单元还被配置成通过以下处理选择出所述第一结果:
从所接收的结果中选择下述相同的读和写集合作为所述第一结果:所述相同的读和写集合的数量在读和写集合的总数量中比例最高,并且所述最高的比例大于预定值。
附记17.根据附记16所述的装置,其中,所述选择第一结果单元还被配置成:
将所接收的结果中与所述第一结果中的读和写集合不同的读和写集合,作为错误结果,以及
将返回所述错误结果的执行节点判断为作恶节点。
附记18.根据附记11所述的装置,其中,所述获得第二结果单元还被配置成:在所述信息处理任务安全性分析中确定所述信息处理任务不是风险信息处理任务的情况下,将所述第一结果作为所述第二结果,并且将所述多个第一节点作为所述最终执行节点列表。
19.一种基于利用权利要求2-9中任一项所述的方法所得到的第二结果,在区块链中进行信息处理任务验证的方法,包括:
在所述区块链中的每个节点上,基于所述第二结果和所述节点的键值数据库,进行关于所述信息处理任务是否有效的判断。
20.根据权利要求19所述的方法,其中,
如果所述第二结果中的读集合版本和来自所述节点的键值数据库的读集合版本不一致,则分析所述信息处理任务的读键和写键之间的关系,
在所述信息处理任务的读键和写键相关的情况下,判断所述信息处理任务无效,以及
在所述信息处理任务的读键和写键不相关的情况下,判断所述信息处理任务有效。
Claims (10)
1.一种通过多个主体协作进行信息处理的方法,包括:
第一提交步骤,向第一多个主体提交特定的信息处理任务;
安全性分析步骤,针对由所述第一多个主体执行所述特定的信息处理任务而获得的信息处理结果进行安全性分析,并且基于安全性分析的结果确定执行所述特定的信息处理任务的更新的处理方式;以及
第二提交步骤,根据所确定的更新的处理方式向第二多个主体提交所述特定的信息处理任务,并且获得由所述第二多个主体执行所述特定的信息处理任务的信息处理结果,其中所述第二多个主体中的每个主体和所述第一多个主体中的每个主体均保存有与所述特定的信息处理任务相关的、相同的信息,并且基于由所述第二多个主体执行所述特定的信息处理任务的信息处理结果来更新所述信息。
2.根据权利要求1所述的方法,其中,所述特定的信息处理任务是与区块链相关的信息处理任务,所述第一多个主体和所述第二多个主体是区块链所涉及的执行节点,
所述第一提交步骤包括:基于预定策略向所述区块链中的第一多个执行节点提交所述信息处理任务,其中,所述第一多个主体对应于所述第一多个执行节点,以及
所述安全性分析步骤和所述第二提交步骤包括:
接收从所述第一多个执行节点返回的执行所述信息处理任务的结果;
基于预定规则,从所接收的结果中选择至少一部分作为第一结果;以及
通过基于所述第一结果而进行的信息处理任务安全性分析,获得第二结果,并且将与所述第二结果有关的候选执行节点列表作为用于区块链中的信息处理任务的最终执行节点列表。
3.根据权利要求2所述的方法,其中,基于所述信息处理任务安全性分析得到所述第二结果包括:
在确定所述信息处理任务是风险信息处理任务的情况下,动态地将所述预定策略改变成对执行节点的信用度要求更严格的策略作为所述更新的处理方式;
基于改变后的策略,向所述区块链中的第二多个执行节点提交所述信息处理任务,其中,所述第二多个主体对应于所述第二多个执行节点;以及
接收从所述第二多个执行节点返回的执行所述信息处理任务的结果,并且基于所述预定规则,在从所述第二多个执行节点接收的结果中选择至少一部分作为所述第二结果。
4.根据权利要求3所述的方法,其中,基于所述信息处理任务的操作风险得分和提交所述信息处理任务的节点的风险得分来计算所述信息处理任务的风险得分,从而确定所述信息处理任务是否是风险信息处理任务。
5.根据权利要求4所述的方法,其中,通过以下步骤生成所述改变后的策略:
基于与所述信息处理任务的风险得分对应的所述信息处理任务的风险等级,计算生成所述最终执行节点列表所需要的候选组织节点的总数目和执行节点的总数目,其中,每个组织节点包括多个节点;
基于每个候选组织节点的信用得分和所述候选组织节点的总体信用得分,计算每个候选组织节点在生成所述最终执行节点列表时所占的权重;
基于每个候选组织节点的权重和所述执行节点的总数目,计算每个候选组织节点中的、生成所述最终执行节点列表所需要的执行节点的数目;以及
根据每个候选组织节点中的、生成所述最终执行节点列表所需要的执行节点的数目,生成所述改变后的策略。
6.根据权利要求2所述的方法,其中,基于所述预定规则从所接收的结果中选择出所述第一结果包括:
从所接收的结果中选择下述相同的读和写集合作为所述第一结果:所述相同的读和写集合的数量在读和写集合的总数量中比例最高,并且所述最高的比例大于预定值。
7.根据权利要求6所述的方法,其中,
将所接收的结果中与所述第一结果中的读和写集合不同的读和写集合,作为错误结果,以及
将返回所述错误结果的执行节点判断为作恶节点。
8.一种通过多个主体协作进行信息处理的装置,包括:
第一提交单元,被配置成向第一多个主体提交特定的信息处理任务;
安全性分析单元,被配置成针对由所述第一多个主体执行所述特定的信息处理任务而获得的信息处理结果进行安全性分析,并且基于安全性分析的结果确定执行所述特定的信息处理任务的更新的处理方式;以及
第二提交单元,被配置成根据所确定的更新的处理方式向第二多个主体提交所述特定的信息处理任务,并且获得由所述第二多个主体执行所述特定的信息处理任务的信息处理结果,其中所述第二多个主体中的每个主体和所述第一多个主体中的每个主体均保存有与所述特定的信息处理任务相关的、相同的信息,并且基于由所述第二多个主体执行所述特定的信息处理任务的信息处理结果来更新所述信息。
9.一种基于利用权利要求2-7中任一项所述的方法所得到的第二结果,在区块链中进行信息处理任务验证的方法,包括:
在所述区块链中的每个节点上,基于所述第二结果和所述节点的键值数据库,进行关于所述信息处理任务是否有效的判断。
10.根据权利要求9所述的方法,其中,
如果所述第二结果中的读集合版本和来自所述节点的键值数据库的读集合版本不一致,则分析所述信息处理任务的读键和写键之间的关系,
在所述信息处理任务的读键和写键相关的情况下,判断所述信息处理任务无效,以及
在所述信息处理任务的读键和写键不相关的情况下,判断所述信息处理任务有效。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810803527.6A CN110740113B (zh) | 2018-07-20 | 2018-07-20 | 通过多个主体协作进行信息处理的方法和装置 |
JP2019060541A JP2020013542A (ja) | 2018-07-20 | 2019-03-27 | 複数のエンティティが協働して行う情報処理の方法及び装置 |
EP19166112.3A EP3598695A1 (en) | 2018-07-20 | 2019-03-29 | Method and apparatus for processing information by cooperation of multiple subjects |
US16/452,020 US11409885B2 (en) | 2018-07-20 | 2019-06-25 | Method and apparatus for processing information by cooperation of multiple subjects |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810803527.6A CN110740113B (zh) | 2018-07-20 | 2018-07-20 | 通过多个主体协作进行信息处理的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110740113A true CN110740113A (zh) | 2020-01-31 |
CN110740113B CN110740113B (zh) | 2021-10-29 |
Family
ID=66239742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810803527.6A Expired - Fee Related CN110740113B (zh) | 2018-07-20 | 2018-07-20 | 通过多个主体协作进行信息处理的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11409885B2 (zh) |
EP (1) | EP3598695A1 (zh) |
JP (1) | JP2020013542A (zh) |
CN (1) | CN110740113B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309762A (zh) * | 2020-02-18 | 2020-06-19 | 杭州复杂美科技有限公司 | 数据获取方法、设备和存储介质 |
CN114268633A (zh) * | 2021-11-01 | 2022-04-01 | 北京交通大学 | 一种以任务驱动的短时区块链系统及方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110012054B (zh) * | 2018-12-28 | 2020-06-26 | 阿里巴巴集团控股有限公司 | 一种基于联盟链网络的业务处理方法及系统 |
CN109933629B (zh) * | 2019-03-15 | 2021-07-30 | 腾讯科技(深圳)有限公司 | 数据同步方法、装置、计算机设备以及可读存储介质 |
CN111339187B (zh) * | 2020-02-20 | 2023-05-09 | 百度在线网络技术(北京)有限公司 | 基于智能合约的数据处理方法、装置、设备和存储介质 |
US11184436B2 (en) * | 2020-03-02 | 2021-11-23 | International Business Machines Corporation | Automated storage selection with blockchain and NLP |
WO2022141058A1 (zh) * | 2020-12-29 | 2022-07-07 | 合肥达朴汇联科技有限公司 | 区块链审计溯源方法、系统、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106375317A (zh) * | 2016-08-31 | 2017-02-01 | 北京明朝万达科技股份有限公司 | 一种基于区块链的大数据安全认证方法和系统 |
AU2017100968A4 (en) * | 2016-07-18 | 2017-09-07 | Brontech Pty Ltd | System for issuance, verification and use of digital identities on a public or private ledger. |
CN107657553A (zh) * | 2017-09-21 | 2018-02-02 | 浙江惠码科技有限公司 | 一种基于联盟链的电子合同生成方法、溯源信息防伪方法 |
CN108182581A (zh) * | 2017-12-29 | 2018-06-19 | 北京欧链科技有限公司 | 一种区块链的记账方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5254497B2 (ja) * | 2010-07-21 | 2013-08-07 | エンパイア テクノロジー ディベロップメント エルエルシー | 信頼されないコンピューティングノードによって実行された作業の検証 |
US9740868B2 (en) * | 2012-09-27 | 2017-08-22 | International Business Machines Corporation | Customizing a security report using static analysis |
JP6296630B1 (ja) * | 2016-12-09 | 2018-03-20 | 株式会社大和総研 | 分散型台帳システムおよびプログラム |
JP6341491B1 (ja) * | 2017-02-21 | 2018-06-13 | 株式会社三菱Ufj銀行 | 信号処理方法、および信号処理プログラム |
CN110445619B (zh) | 2017-03-30 | 2020-10-16 | 腾讯科技(深圳)有限公司 | 区块链系统、消息处理方法及存储介质 |
US10956562B2 (en) * | 2017-06-14 | 2021-03-23 | International Business Machines Corporation | Developing applications using precise static security analysis |
US11494344B2 (en) * | 2018-03-06 | 2022-11-08 | International Business Machines Corporation | Customized endorsement logic for blockchain |
-
2018
- 2018-07-20 CN CN201810803527.6A patent/CN110740113B/zh not_active Expired - Fee Related
-
2019
- 2019-03-27 JP JP2019060541A patent/JP2020013542A/ja active Pending
- 2019-03-29 EP EP19166112.3A patent/EP3598695A1/en not_active Withdrawn
- 2019-06-25 US US16/452,020 patent/US11409885B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2017100968A4 (en) * | 2016-07-18 | 2017-09-07 | Brontech Pty Ltd | System for issuance, verification and use of digital identities on a public or private ledger. |
CN106375317A (zh) * | 2016-08-31 | 2017-02-01 | 北京明朝万达科技股份有限公司 | 一种基于区块链的大数据安全认证方法和系统 |
CN107657553A (zh) * | 2017-09-21 | 2018-02-02 | 浙江惠码科技有限公司 | 一种基于联盟链的电子合同生成方法、溯源信息防伪方法 |
CN108182581A (zh) * | 2017-12-29 | 2018-06-19 | 北京欧链科技有限公司 | 一种区块链的记账方法及装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309762A (zh) * | 2020-02-18 | 2020-06-19 | 杭州复杂美科技有限公司 | 数据获取方法、设备和存储介质 |
CN114268633A (zh) * | 2021-11-01 | 2022-04-01 | 北京交通大学 | 一种以任务驱动的短时区块链系统及方法 |
CN114268633B (zh) * | 2021-11-01 | 2022-11-18 | 北京交通大学 | 一种以任务驱动的短时区块链系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110740113B (zh) | 2021-10-29 |
EP3598695A1 (en) | 2020-01-22 |
US11409885B2 (en) | 2022-08-09 |
US20200026862A1 (en) | 2020-01-23 |
JP2020013542A (ja) | 2020-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110740113B (zh) | 通过多个主体协作进行信息处理的方法和装置 | |
US11588803B2 (en) | Systems, methods, and apparatuses for implementing super community and community sidechains with consent management for distributed ledger technologies in a cloud based computing environment | |
US11593512B2 (en) | Systems and methods for crowdsourcing, analyzing, and/or matching personal data | |
US20230342734A1 (en) | Systems, methods, and apparatuses for implementing smart flow contracts using distributed ledger technologies in a cloud based computing environment | |
Vo et al. | Research Directions in Blockchain Data Management and Analytics. | |
Gonzalez-Mulé et al. | Advancing theory by assessing boundary conditions with metaregression: A critical review and best-practice recommendations | |
US20190236562A1 (en) | Systems, methods, and apparatuses for implementing document interface and collaboration using quipchain in a cloud based computing environment | |
US20190238316A1 (en) | Systems, methods, and apparatuses for implementing intelligent consensus, smart consensus, and weighted consensus models for distributed ledger technologies in a cloud based computing environment | |
US20190236606A1 (en) | Systems, methods, and apparatuses for implementing a virtual chain model for distributed ledger technologies in a cloud based computing environment | |
US7562215B2 (en) | System and method for electronic document security | |
US20180032750A1 (en) | Integrated credential data management techniques | |
US20210165913A1 (en) | Controlling access to de-identified data sets based on a risk of re- identification | |
CN116018779A (zh) | 面向软件即服务租户的基于策略的基因组数据共享 | |
Casola et al. | A policy-based methodology for security evaluation: A security metric for public key infrastructures | |
Li et al. | Network module detection: affinity search technique with the multi-node topological overlap measure | |
Kern et al. | Optimization of access control policies | |
US8832110B2 (en) | Management of class of service | |
Fiedler et al. | Federal policy options to realize the potential of APCDs | |
Aharoni et al. | The quality preserving database: A computational framework for encouraging collaboration, enhancing power and controlling false discovery | |
US11567856B2 (en) | Secured code assignment and review engine | |
Moor et al. | The design of a combinatorial data market | |
Sansome et al. | Management and Curation of Multi-Dimensional Data in Biobank Studies | |
Dai et al. | CCSBD: A Cost Control System Based on Blockchain and DRG Mechanism | |
CN118170455A (zh) | 数据读写方法、装置、设备、介质和程序产品 | |
Ahmed et al. | Marco Gaboardi James Honaker Gary King Jack Murtagh Kobbi Nissim Jonathan Ullman Salil Vadhan |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211029 |