CN114327827A - 一种任务处理方法、装置和存储介质 - Google Patents
一种任务处理方法、装置和存储介质 Download PDFInfo
- Publication number
- CN114327827A CN114327827A CN202111630198.8A CN202111630198A CN114327827A CN 114327827 A CN114327827 A CN 114327827A CN 202111630198 A CN202111630198 A CN 202111630198A CN 114327827 A CN114327827 A CN 114327827A
- Authority
- CN
- China
- Prior art keywords
- node
- task
- processed
- message
- information
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 214
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000004422 calculation algorithm Methods 0.000 claims description 61
- 230000004044 response Effects 0.000 claims description 54
- 238000004364 calculation method Methods 0.000 claims description 48
- 238000004891 communication Methods 0.000 description 38
- 230000006870 function Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 16
- 238000013515 script Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Abstract
本申请提供一种任务处理方法、装置和存储介质,涉及云计算技术领域,用于解决无法确保任务按时完成的技术问题。该方法应用于第一算力节点。第一算力节点归属于包括任务发布节点和多个算力节点的区块链系统。该方法包括:在获取待处理任务的任务信息,以及确定多个待处理子任务中一个待处理子任务的处理结果,并发布确定一个待处理子任务的处理结果的处理结束时刻后,若处理结束时刻位于预设时刻之后,可以确定可用算力资源大于预设算力资源的第二算力节点,并向第二算力节点发送第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除已处理的子任务以外的、其他待处理子任务的子任务信息。本申请提高了待处理任务的处理效率。
Description
技术领域
本申请属于云计算技术领域,尤其涉及一种任务处理方法、装置和存储介质。
背景技术
随着基于软件定义网络(software defined network,SDN)、网络功能虚拟化(network functions virtualization,NFV)和人工智能(artificial intelligence,AI)等新型网络技术的云网融合技术快速发展,算力网络拥有了智能和灵活的算力资源虚拟化能力,提高了算力资源的利用率。
但是,在处理时间敏感型的算力任务时,算力网络中还没有定义相关方案能够确保这类算力任务在规定时间内完成。
发明内容
本申请提供一种任务处理方法、装置和存储介质,用于解决无法确保任务按时完成的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种任务处理方法,应用于第一算力节点;第一算力节点归属于包括用于发布待处理任务的任务发布节点和多个算力节点的区块链系统。该任务处理方法包括:在获取待处理任务的任务信息,以及确定多个待处理子任务中一个待处理子任务的处理结果,并发布确定一个待处理子任务的处理结果的处理结束时刻后,若处理结束时刻位于预设时刻之后,可以确定可用算力资源大于预设算力资源的第二算力节点,并向第二算力节点发送第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除已处理的子任务以外的、其他待处理子任务的子任务信息。其中,任务信息包括与多个待处理子任务一一对应的多个子任务信息。多个待处理子任务为将待处理任务拆分得到的。
可选的,获取待处理任务的任务信息的方法,具体包括:当多个待处理子任务为将待处理任务拆分得到的全部待处理子任务时,接收任务发布节点发送的任务信息;或者,当多个待处理子任务为将待处理任务拆分得到的部分待处理子任务时,接收第三算力节点发送的多个子任务信息和第一子任务的处理结果;第三算力节点为处理第一子任务的算力节点;第一子任务为:将全部待处理子任务按照预设处理逻辑排序后,位于部分待处理子任务中的第一个待处理子任务之前的子任务。
可选的,当多个待处理子任务为将待处理任务拆分得到的全部待处理子任务时,接收任务发布节点发送的任务信息之前,该任务处理方法还包括:获取任务发布节点发布的待处理任务的摘要信息;摘要信息包括待处理任务的算力资源需求信息、运行环境需求信息和与多个待处理子任务一一对应的多个预设时刻;若第一算力节点的可用算力资源满足算力资源需求信息、且第一算力节点的运行环境满足运行环境需求信息,发布用于表示承接待处理任务的任务承接消息;当第一算力节点被任务发布节点确定为承接待处理任务的算力节点时,接收任务发布节点发布的节点确定消息;节点确定消息用于表示确定第一算力节点为承接待处理任务的算力节点。
可选的,确定可用算力资源大于预设算力资源的第二算力节点的方法,具体包括:获取区块链系统中的至少一个节点生成的用于确定第二算力节点的至少一个待创建区块;至少一个节点与至少一个待创建区块一一对应;一个待创建区块包括:待确认算力节点和预先记录的摘要信息;待确认算力节点为用于处理其他待处理子任务的算力节点;从至少一个节点中,确定满足第一预设条件的节点,并将满足第一预设条件的节点生成的待创建区块中的待确认算力节点,确定为第二算力节点;第一预设条件包括:待确认算力节点的可用算力资源大于预设算力资源,且预先记录的摘要信息为待处理任务的摘要信息,且节点的交易信任值大于预设阈值。
可选的,向第二算力节点发送第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息的方法,具体包括:当满足第一预设条件的节点生成的待创建区块下连接的区块数量大于第一预设数量时,向第二算力节点发送第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息。
可选的,区块链系统还包括身份认证服务器。身份认证服务器用于存储任务发布节点和多个算力节点的节点身份。该任务处理方法,还包括:当第四算力节点发布的错误信息的数量大于第二预设数量时,发布用于揭示第四算力节点的节点身份的身份揭示请求;错误信息包括:垃圾信息、任务委托失败信息或者任务转发错误信息中的至少一项;身份揭示请求包括:第四算力节点的节点标识和错误信息对应的日志记录;接收区块链系统中的其他节点发布的响应消息;响应消息包括同意揭示第四算力节点的节点身份的响应消息,或者不同意揭示第四算力节点的节点身份的响应消息;当同意揭示第四算力节点的节点身份的响应消息的数量大于或等于第三预设数量时,接收身份认证服务器发布的身份公开消息;身份公开消息包括第四算力节点的节点身份;或者,当不同意揭示第四算力节点的节点身份的响应消息的数量大于或等于第三预设数量时,接收身份认证服务器发布的用于拒绝揭示第四算力节点的节点身份的拒绝消息。
可选的,该任务处理方法,还包括:当接收到区块链系统中的任意节点发布的更新消息时,记录更新消息;更新消息为任务结束消息、任务发布消息、区块创建消息、任务承接消息、节点确定消息、身份揭示消息、响应消息、身份公开消息和拒绝消息中的任一项;任务结束消息包括任意节点发布的确定任务处理结果的处理结束时刻;任务发布消息包括任意节点发布的任务的摘要信息;区块创建消息包括用于表示任意节点发布的生成了待创建区块;将更新消息存储至对应的区块。
第二方面,提供一种任务处理装置,应用于第一算力节点;第一算力节点归属于包括用于发布待处理任务的任务发布节点和多个算力节点的区块链系统。该任务处理装置包括:获取单元和确定单元;获取单元,用于获取待处理任务的任务信息;任务信息包括与多个待处理子任务一一对应的多个子任务信息;多个待处理子任务为将待处理任务拆分得到的;确定单元,用于确定多个待处理子任务中一个待处理子任务的处理结果,并发布确定一个待处理子任务的处理结果的处理结束时刻;若处理结束时刻位于预设时刻之后,确定单元,还用于确定可用算力资源大于预设算力资源的第二算力节点,并向第二算力节点发送第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息。
可选的,获取单元,具体用于:当多个待处理子任务为将待处理任务拆分得到的全部待处理子任务时,接收任务发布节点发送的任务信息;或者,当多个待处理子任务为将待处理任务拆分得到的部分待处理子任务时,接收第三算力节点发送的多个子任务信息和第一子任务的处理结果;第三算力节点为处理第一子任务的算力节点;第一子任务为:将全部待处理子任务按照预设处理逻辑排序后,位于部分待处理子任务中的第一个待处理子任务之前的子任务。
可选的,当多个待处理子任务为将待处理任务拆分得到的全部待处理子任务时,任务处理装置还包括:第一发布单元和第一接收单元;获取单元,还用于获取任务发布节点发布的待处理任务的摘要信息;摘要信息包括待处理任务的算力资源需求信息、运行环境需求信息和与多个待处理子任务一一对应的多个预设时刻;若第一算力节点的可用算力资源满足算力资源需求信息、且第一算力节点的运行环境满足运行环境需求信息,第一发布单元,用于发布用于表示承接待处理任务的任务承接消息;第一接收单元,用于当第一算力节点被任务发布节点确定为承接待处理任务的算力节点时,接收任务发布节点发布的节点确定消息;节点确定消息用于表示确定第一算力节点为承接待处理任务的算力节点。
可选的,确定可用算力资源大于预设算力资源的第二算力节点,包括:获取单元,还用于获取区块链系统中的至少一个节点生成的用于确定第二算力节点的至少一个待创建区块;至少一个节点与至少一个待创建区块一一对应;一个待创建区块包括:待确认算力节点和预先记录的摘要信息;待确认算力节点为用于处理其他待处理子任务的算力节点;确定单元,还用于从至少一个节点中,确定满足第一预设条件的节点,并将满足第一预设条件的节点生成的待创建区块中的待确认算力节点,确定为第二算力节点;第一预设条件包括:待确认算力节点的可用算力资源大于预设算力资源,且预先记录的摘要信息为待处理任务的摘要信息,且节点的交易信任值大于预设阈值。
可选的,向第二算力节点发送第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息,还包括:发送单元;发送单元,用于当满足第一预设条件的节点生成的待创建区块下连接的区块数量大于第一预设数量时,向第二算力节点发送第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息。
可选的,区块链系统还包括身份认证服务器;身份认证服务器用于存储任务发布节点和多个算力节点的节点身份;任务处理方法装置,还包括:第二发布单元和第二接收单元体;第二发布单元,还用于当第四算力节点发布的错误信息的数量大于第二预设数量时,发布用于揭示第四算力节点的节点身份的身份揭示请求;错误信息包括:垃圾信息、任务委托失败信息或者任务转发错误信息中的至少一项;身份揭示请求包括:第四算力节点的节点标识和错误信息对应的日志记录;第二接收单元,还用于接收区块链系统中的其他节点发布的响应消息;响应消息包括同意揭示第四算力节点的节点身份的响应消息,或者不同意揭示第四算力节点的节点身份的响应消息;第二接收单元,还用于当同意揭示第四算力节点的节点身份的响应消息的数量大于或等于第三预设数量时,接收身份认证服务器发布的身份公开消息;身份公开消息包括第四算力节点的节点身份;或者,第二接收单元,还用于当不同意揭示第四算力节点的节点身份的响应消息的数量大于或等于第三预设数量时,接收身份认证服务器发布的用于拒绝揭示第四算力节点的节点身份的拒绝消息。
可选的,该任务处理装置还包括:记录单元和存储单元;记录单元,用于当接收到区块链系统中的任意节点发布的更新消息时,记录更新消息;更新消息为任务结束消息、任务发布消息、区块创建消息、任务承接消息、节点确定消息、身份揭示消息、响应消息、身份公开消息和拒绝消息中的任一项;任务结束消息包括任意节点发布的确定任务处理结果的处理结束时刻;任务发布消息包括任意节点发布的任务的摘要信息;区块创建消息包括用于表示任意节点发布的生成了待创建区块;存储单元,用于将更新消息存储至对应的区块。
第三方面,提供一种任务处理装置,包括存储器和处理器;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当任务处理装置运行时,处理器执行存储器存储的计算机执行指令,以使任务处理装置执行如第一方面的任务处理方法。
该任务处理可以是网络设备,也可以是网络设备中的一部分装置,例如网络设备中的芯片系统。该芯片系统用于支持网络设备实现第一方面及其任意一种可能的实现方式中所涉及的功能,例如,接收、确定、分流上述数据处理方法中所涉及的数据和/或信息。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
第四方面,提供一种计算机可读存储介质,其特征在于,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如第一方面的任务处理方法。
需要说明的是,上述计算机指令可以全部或者部分存储在第一计算机可读存储介质上。其中,第一计算机可读存储介质可以与任务处理装置的处理器封装在一起的,也可以与任务处理装置的处理器单独封装,本申请对此不作限定。
在本申请中,上述任务处理装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
本申请提供的技术方案至少带来以下有益效果:
基于上述任一方面,本申请可以将待处理任务拆分得到多个待处理子任务,并在第一算力节点确定一个待处理子任务的处理结果的处理结束时刻位于预设时刻之后的情况下,将第一算力节点更换为可用算力资源大于预设算力资源的第二算力节点,从而保证可以通过可用算力资源更多的算力节点及时处理其他的待处理子任务,保证了待处理任务的处理时长,提高了待处理任务的处理效率。
附图说明
图1A为本申请实施例提供的一种区块链系统的协议架构示意图;
图1B为本申请实施例提供的一种区块链系统的结构示意图;
图2为本申请实施例提供的通信装置的一种硬件结构示意图;
图3为本申请实施例提供的通信装置的又一种硬件结构示意图;
图4为本申请实施例提供的一种任务处理方法的流程示意图一;
图5为本申请实施例提供的一种任务处理方法的流程示意图二;
图6为本申请实施例提供的一种任务处理方法的流程示意图三;
图7为本申请实施例提供的一种任务处理方法的流程示意图四;
图8为本申请实施例提供的一种任务处理方法的流程示意图五;
图9为本申请实施例提供的一种任务处理方法的流程示意图六;
图10为本申请实施例提供的一种任务处理方法的流程示意图七;
图11为本申请实施例提供的一种任务处理装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于清楚描述本申请实施例的技术方案,在本申请实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
此外,本申请实施例和权利要求书及附图中的术语“包括”和“具有”不是排他的。例如,包括了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,还可以包括没有列出的步骤或模块。
为了便于理解本申请,现对本申请涉及到的相关要素进行描述。
区块链技术
区块链技术,也被称为分布式账本技术,是一种由若干台计算设备共同参与“记账”(即记录交易数据),共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化(即没有中心节点)、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
区块链系统可包括多个区块链节点。区块链节点为具有通信功能以及存储功能的设备,如存储有区块链的设备。为了便于描述,本申请采用节点表示区块链节点。也就是说,本申请涉及到的节点均可用于表示区块链节点,例如,任务发布节点、算力节点等。
每一个节点既可接收信息,也可生成信息。不同的节点之间通过维护一个共同的区块链来保持通信。具体的,在区块链系统中,任一节点可以根据区块链系统中各节点产生的与交易相关的数据生成新的区块,并以广播的形式通知其他节点,其他节点可以对这个区块进行验证。当区块链系统中的所有节点达成共识后,新的区块就可以被添加到区块链中。
本申请中的节点可以理解为处理单元。在一种实现方式中,节点可以为物理设备,例如服务器或终端设备。在另一种实现方式中,节点可以为虚拟计算机;虚拟计算机为所有类型的虚拟化设备中软件虚拟出来的运行环境的统称,该概念包括虚拟机、容器。在其他实现方式中,节点可以为进程(process)或者线程(thread);线程是操作系统能够进行运算调度的最小单位,线程被包含在进程之中,是进程中的实际运作单位;进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。
区块(block)
在区块链技术中,交易数据以电子记录的形式被永久储存下来,存放这些电子记录的文件我们称之为“区块”。
区块是按时间顺序一个个先后生成的,每一个区块记录有它在被创建期间发生的所有交易,所有区块汇总起来形成一个链式的记录合集。由于不同区块链系统中,节点的吞吐率不同,因此,在不同区块链系统中,区块的大小可能也不同。
可以看出,区块中记录有该区块生成时间段内的交易数据,因此,区块的主体实际上是交易数据的合集。每一种区块链的结构设计可能不完全相同,但区块通常包括区块头(header)和区块体(body)两部分。
其中,区块头主要用于记录当前区块的特征值,可以包括当前区块的标识(如区块的编号)、当前区块中区块体的哈希值、时间戳(用于表示该区块的生成时间)、交易数量(transaction count)和随机数(nonce)等信息中的至少一种信息,此外,区块头还可以包括前一区块的哈希值(具体为前一区块中区块头的哈希值)。
区块头包括有多个特征值,在确定该区块的哈希值时,需要将该区块头中的各个特征值按照顺序连接在一起,以组成一个字符串,再对这个字符串计算哈希值。由于不同区块的区块头所包括的特征值的数值通常不同,因此,每一区块均唯一对应一个哈希值。
基于每一区块均唯一对应一个哈希值,且每个区块的区块头均包括有前一区块的哈希值,这样,多个区块即可形成区块链。
区块体可以包括多个交易数据。
如背景技术中所述,在处理时间敏感型的算力任务时,算力网络中还没有定义相关方案能够确保这类算力任务在规定时间内完成。
针对上述问题,本申请实施例提供了一种任务处理方法,可以将待处理任务拆分得到多个待处理子任务,并在第一算力节点确定一个待处理子任务的处理结果的处理结束时刻位于预设时刻之后的情况下,将第一算力节点更换为可用算力资源大于预设算力资源的第二算力节点,从而保证可以通过可用算力资源更多的算力节点及时处理其他的待处理子任务,保证了待处理任务的处理时长,提高了待处理任务的处理效率。
本申请实施例提供的区块链系统的架构可以包括网络层、算力层、共识层和应用层。图1A示出了本申请实施例提供的区块链系统的一种协议架构示意图。现结合图1A对区块链系统的协议架构进行描述。
网络层用于实现区块链网络中节点之间的信息交流。区块链系统本质上是一个点对点(peer to peer,P2P)的网络系统。每一个节点既接收信息,也生成信息。节点之间通过维护一个共同的区块链来保持通信。在区块链系统,节点可以创造新的区块,在新区块被创造后会以广播的形式通知其他节点,其他节点会对这个区块进行验证,当区块链系统中的所有节点达成共识后,新区块就可以被添加到区块链上。
算力层在区块链系统中提供算力资源,处理区块链系统中的待处理任务,一般提供应用程序编程接口(application programming interface,API)供调用。从技术上讲,算力层主要包括网络编程、分布式算法和加密签名等方面。
进一步地,算力层还描述了区块链数据的存储形式。具体的,算力层可以包括区块数据的链式存储技术,包括时间戳技术、哈希校验技术等;还可以包含数据库的实现方式,以及节点调用数据库的接口实现。
在算力层之上是共识层,共识层提供了基于算力层的该区块链系统的功能实现。通过算力层提供的基础能力,共识层可以实现对区块链系统中交易数据的记录和对区块链系统的控制。例如,智能合约即是共识层的一种典型应用,节点通过部署的智能合约,实现达到某个条件后自动执行合约。又例如,虚拟货币的交易市场通过脚本封装规定了虚拟货币的交易方式以及过程中的实现细节,这也是在共识层实现的。
共识层之上是应用层,应用层封装了区块链的各种应用场景和案例。应用层用于实现与用户直接交互的区块链功能,大多采用客户端的形式实现。
在不同的区块链系统中,区块链系统的每层架构的具体实现方式可能存在差异,图1A是区块链系统的一种协议架构示意图,并不是对区块链系统的协议架构的限定。
图1B示出了该区块链系统100的一种结构示意图。如图1B所示,该区块链系统100包括:任务发布节点101、多个算力节点102和身份认证服务器103。图1B示出的区块链系统具备有图1A示出的协议架构。
如图1B所示,基于区块链具备的通信特点,区块链系统100中的每个节点设备之间均可以通信连接。
可选的,该区块链系统100中可以包括多个任务发布节点。
图1B示出的区块链系统100中的节点可以包括两种类型的节点,分别为:任务发布节点101和算力节点102。
图1B示出的任务发布节点101,又称作用户节点,该任务发布节点101作为用户在区块链系统中发布待处理任务的媒介外,还可以基于区块链系统100中的共识机制(例如权益证明(proof of stake,POS)共识机制)记录交易数据、添加区块、删除区块和分配处理待处理任务的算力节点等,即参与共识。
图1B示出的区块链系统100中的多个算力节点102在具有与任务发布节点101相同的功能外,还可以在区块链系统中提供输入输出(input/output,IO)处理能力,即提供算力资源,以处理区块链系统中的待处理任务。
可以理解的是,区块链系统100中的节点全部为任务发布节点(即用户节点)。当任务发布节点在区块链系统中提供算力资源时,这些提供算力资源的任务发布节点又称作算力节点。
示例性的,表1示出了算力节点和任务发布节点具备的功能。
表1
节点类型 | 提供算力资源 | 发布待处理任务 | 参与共识 |
算力节点 | √ | √ | √ |
任务发布节点 | √ | √ |
可选的,图1B示出的任务发布节点101和多个算力节点102可以是终端,也可以是服务器,还可以是用于发布待处理任务的其他电子设备。
当任务发布节点101和多个算力节点102是终端时,该终端为指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(radioaccess network,RAN)与一个或多个核心网进行通信。无线终端可以是移动终端,如具有移动终端的计算机,也可以是便携式、袖珍式、手持式、计算机内置的移动装置,它们与无线接入网交换语言和/或数据,例如,手机、平板电脑、笔记本电脑、上网本、个人数字助理(personal digital assistant,PDA)。本申请实施例对此不作任何限制。
当任务发布节点101和多个算力节点102是服务器时,可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本申请实施例对此不作任何限制。
图1B示出的身份认证服务器103可以用于存储任务发布节点101和多个算力节点102的节点身份。
可选的,图1B示出的身份认证服务器103还可以为申请加入区块链系统100的节点提供身份注册服务。例如,身份认证服务器103可以在获取申请加入区块链系统100的节点的公钥、私钥和身份信息后,为该节点提供公钥证书,以使得该节点可以基于公钥证书与区块链系统100中其他节点进行通信。
可选的,图1B示出的身份认证服务器103还可以用于揭示在区块链系统100中发布错误信息的节点的身份信息。
区块链系统100中的任务发布节点101、多个算力节点102和身份认证服务器103的基本硬件结构类似,都包括图2或图3所示通信装置所包括的元件。下面以图2和图3所示的通信装置为例,介绍任务发布节点101、多个算力节点102和身份认证服务器103的硬件结构。
如图2所示,为本申请实施例提供的通信装置的一种硬件结构示意图。该通信装置包括处理器21,存储器22、通信接口23、总线24。处理器21,存储器22以及通信接口23之间可以通过总线24连接。
处理器21是通信装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器21可以是一个通用中央处理单元(central processing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为一种实施例,处理器21可以包括一个或多个CPU,例如图2中所示的CPU0和CPU1。
存储器22可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
一种可能的实现方式中,存储器22可以独立于处理器21存在,存储器22可以通过总线24与处理器21相连接,用于存储指令或者程序代码。处理器21调用并执行存储器22中存储的指令或程序代码时,能够实现本申请下述实施例提供的任务处理方法。
在本申请实施例中,对于任务发布节点101、多个算力节点102和身份认证服务器103而言,存储器22中存储的软件程序不同,所以任务发布节点101、多个算力节点102和身份认证服务器103实现的功能不同。关于各设备所执行的功能将结合下面的流程图进行描述。
另一种可能的实现方式中,存储器22也可以和处理器21集成在一起。
通信接口23,用于通信装置与其他设备通过通信网络连接,所述通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,WLAN)等。通信接口23可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
总线24,可以是工业标准体系结构(industry standard architecture,ISA)总线、外部设备互连(peripheral component interconnect,PCI)总线或扩展工业标准体系结构(extended industry standard architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,图2中示出的结构并不构成对该通信装置的限定,除图2所示部件之外,该通信装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
图3示出了本申请实施例中通信装置的另一种硬件结构。如图3所示,通信装置可以包括处理器31以及通信接口32。处理器31与通信接口32耦合。
处理器31的功能可以参考上述处理器21的描述。此外,处理器31还具备存储功能,可以起上述存储器22的功能。
通信接口32用于为处理器31提供数据。该通信接口32可以是通信装置的内部接口,也可以是通信装置对外的接口(相当于通信接口23)。
需要指出的是,图2(或图3)中示出的结构并不构成对通信装置的限定,除图2(或图3)所示部件之外,该通信装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图4所示,为本申请实施例提供的一种任务处理方法的流程示意图。该任务处理方法应用于第一算力节点。第一算力节点归属于图1B所示的区块链系统。该任务处理方法包括:S401-S403。
S401、第一算力节点获取待处理任务的任务信息。
其中,任务信息包括与多个待处理子任务一一对应的多个子任务信息。多个待处理子任务为将待处理任务拆分得到的。
由于待处理任务可以拆分为多个待处理子任务,因此,第一算力节点可以根据待处理任务中,全部待处理子任务的逻辑处理顺序依次处理。
可选的,第一算力节点可以是第一个处理待处理任务的算力节点。在这种情况下,多个待处理子任务为将待处理任务拆分得到的全部待处理子任务。这样,第一算力节点可以接收任务发布节点发送的待处理任务的任务信息。
相应的,第一算力节点还可以是第N(N为大于1的整数)个处理待处理任务的算力节点。在这种情况下,多个待处理子任务为将待处理任务拆分得到的部分待处理子任务。这样,第一算力节点可以接收第三算力节点发送的多个子任务信息和第一子任务的处理结果。
其中,第三算力节点为处理第一子任务的算力节点。第一子任务为:将全部待处理子任务按照预设处理逻辑排序后,位于多个待处理子任务中的第一个待处理子任务之前的子任务。
S402、第一算力节点确定多个待处理子任务中一个待处理子任务的处理结果,并发布确定一个待处理子任务的处理结果的处理结束时刻。
其中,一个待处理子任务为多个待处理子任务中的任意待处理子任务。
可选的,多个子任务信息中的一个子任务信息可以包括:与该子任务信息对应的一个待处理子任务的任务程序和与任务程序对应的启动脚本。这样,第一算力节点在接收到任务发布节点发送的任务信息后,可以解析任务信息以确定多个子任务信息,并根据多个子任务信息中多个待处理子任务的启动脚本对应运行多个待处理子任务的任务程序,从而确定多个待处理子任务的处理结果。
可以理解的是,若多个待处理子任务为任务发布节点按照待处理任务的处理逻辑拆分得到的,则第一算力节点可以根据首个待处理子任务的启动脚本运行首个待处理子任务的任务程序,从而确定首个子任务的处理结果。
后续,第一算力节点可以根据首个待处理子任务的处理结果和与首个待处理子任务相邻的待处理子任务的启动脚本,运行与首个待处理子任务相邻的待处理子任务的任务程序,从而确定与首个待处理子任务相邻的待处理子任务的处理结果,直至确定多个待处理子任务的处理结果。
具体的,在确定一个待处理子任务的处理结果后,第一算力节点可以读取临时账本中记录的待处理任务的摘要信息,以确定摘要信息中一个待处理子任务对应的预设时刻。
接着,第一算力节点可以确定一个待处理子任务对应的处理结束时刻是否位于一个待处理子任务对应的预设时刻之后。若是,则第一算力节点停止处理多个待处理子任务中未处理的待处理子任务,并在临时账本中添加与一个待处理子任务对应的超时信息。若否,则第一算力节点继续处理多个待处理子任务中未处理的待处理子任务。
可以理解的是,在确定一个待处理子任务的处理结果后,第一算力节点还可以发布确定一个待处理子任务的处理结果的处理结束时刻。相应的,区块链系统中的其他节点可以接收确定一个待处理子任务的处理结果的处理结束时刻,并读取临时账本中记录的待处理任务的摘要信息,以确定摘要信息中一个待处理子任务对应的预设时刻。
接着,区块链系统中的其他节点可以确定一个待处理子任务对应的处理结束时刻是否位于一个待处理子任务对应的预设时刻之后。若是,则区块链系统中的其他节点可以在临时账本中添加与一个待处理子任务对应的超时完成标识。若否,则不进行任何处理。
可选的,在记录当前时间段内所产生信息的区块被创建生成时,区块链系统中的所有节点可以将临时账本中记录的与一个待处理子任务对应的超时完成标识存储在当前区块中。
后续,生成位于当前区块之后的下一区块的节点,可以从当前区块中获取到与一个待处理子任务对应的超时完成标识,并确定一个待处理子任务所归属的待处理任务的摘要信息,从而为待处理任务分配新的算力节点,以保证待处理任务按时完成。
这样一来,本申请实施例中,可以通过区块链系统中的所有节点共同记录与多个待处理子任务一一对应的多个处理结束时刻,从而可靠的监督待处理任务的处理过程。
示例性的,预设待处理任务A的处理逻辑为依次处理任务程序1、任务程序2和任务程序3,则任务发布节点可以拆分待处理任务A得到待处理子任务1、待处理子任务2和待处理子任务3。其中,待处理子任务1的子任务信息为任务程序1和与任务程序1对应的启动脚本,待处理子任务2的子任务信息为任务程序2和与任务程序2对应的启动脚本,待处理子任务3的子任务信息为任务程序3和与任务程序3对应的启动脚本。
接着,第一算力节点在获取到任务发布节点发送的待处理子任务1的子任务信息、待处理子任务2的子任务信息和待处理子任务3的子任务信息后,可以根据待处理子任务1的启动脚本运行待处理子任务1的任务程序1,从而确定待处理子任务1的处理结果,并广播确定待处理子任务1的处理结果的处理结束时刻。
接着,第一算力节点可以根据待处理子任务1的处理结果和待处理子任务2的启动脚本,运行待处理子任务2的任务程序2,从而确定待处理子任务2的处理结果,并广播确定待处理子任务2的处理结果的处理结束时刻。然后,第一算力节点可以根据待处理子任务2的处理结果和待处理子任务3的启动脚本,运行待处理子任务3的任务程序3,从而确定待处理子任务3的处理结果,并广播确定待处理子任务1的处理结果的处理结束时刻。
可选的,第一算力节点发布确定一个待处理子任务的处理结果的处理结束时刻的同时,还可以发布一个待处理子任务的处理结果的消息摘要,用于接收到一个待处理子任务的处理结果的节点确定一个待处理子任务的处理结果的正确性和完整性。
可选的,处理结果的消息摘要可以是基于现有的消息摘要算法(例如,MD5和SHA1等算法)生成的。
S403、若处理结束时刻位于预设时刻之后,第一算力节点确定可用算力资源大于预设算力资源的第二算力节点,并向第二算力节点发送第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息。
具体的,若处理结束时刻位于预设时刻之后,则第一算力节点可以停止处理多个待处理子任务中未处理的待处理子任务,并在临时账本中添加与一个待处理子任务对应的超时完成标识。
接着,第一算力节点可以确定可用算力资源大于预设算力资源的第二算力节点,并向第二算力节点发送第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息,以将其他待处理子任务转移到具有更多算力资源的第二算力节点上进行处理,从而保证处理待处理任务的处理效率。
在一种可以实现的方式中,结合图4,如图5所述,上述S401中,第一算力节点获取待处理任务的任务信息的方法,具体包括:S501-S502。
S501、当多个待处理子任务为将待处理任务拆分得到的全部待处理子任务时,第一算力节点接收任务发布节点发送的任务信息。
具体的,当任务发布节点需要在区块链系统中发布待处理任务时,并确定第一算力节点为承接待处理任务的算力节点时,任务发布节点可以按照待处理任务的处理逻辑将待处理任务拆分为多个待处理子任务,并发布待处理任务的任务信息。以向第一算力节点发送待处理任务的任务信息。
相应的,第一算力节点可以获取任务发布节点发送的待处理任务的任务信息。
S502、当多个待处理子任务为将待处理任务拆分得到的部分待处理子任务时,第一算力节点接收第三算力节点发送的多个子任务信息和第一子任务的处理结果。
具体的,当多个待处理子任务为将待处理任务拆分得到的部分待处理子任务时,则表示将待处理任务拆分得到的全部待处理子任务中的第一子任务已由第三算力节点处理。
当第三算力节点确定第一子任务中按照预设处理逻辑排序后的最后一个子任务的处理结果后,第三算力节点可以发布与该最后一个子任务对应的处理结束时刻。
若该最后一个子任务对应的处理结束时刻位于该最后一个子任务对应的预设时刻之后,则第三算力节点可以确定可用算力资源大于预设算力资源的第一算力节点,并向第一算力节点发送第一子任务的处理结果,以及多个待处理子任务中除去第一子任务以外的其他待处理子任务的子任务信息。
相应的,第一算力节点可以接收第三算力节点发送的第一子任务的处理结果,以及多个待处理子任务中除去第一子任务以外的其他待处理子任务的子任务信息。
需要说明的是,S501和S502为第一算力节点获取多个待处理子任务的任务信息的两种不同情况。当执行S501时,则不执行S502;当执行S502时,则不执行S501。
在一种可以实现的方式中,结合图5,如图6所述,第一算力节点接收任务发布节点发送的任务信息之前,该任务处理方法还包括:S601-S603。
S601、第一算力节点获取任务发布节点发布的待处理任务的摘要信息。
应理解,第一算力节点获取任务发布节点发布的待处理任务的摘要信息的方法,可以参考S401中的描述,在此不再赘述。
具体的,当任务发布节点需要向区块链系统发布待处理认为时,可以生成并发布待处理任务的摘要信息,以确定可以承接待处理任务的算力节点。相应的,区块链系统中的其他节点可以接收任务发布节点发布的待处理任务的摘要信息,并将待处理任务的摘要信息记录在预先配置的临时账本中。
需要说明的是,任务发布节点和多个算力节点均配置有临时账本,用于实时存储区块链系统中产生的信息。后续,在新的区块生成时,任务发布节点和多个算力节点可以将临时账本中,该区块被创建期间产生的信息存入该区块中。任务发布节点和多个算力节点均存储有区块链,且区块链系统中的所有节点均存储有相同的区块链,该区块链可以为联盟链。
其中,摘要信息可以包括待处理任务的算力资源需求信息、运行环境需求信息和与多个待处理子任务一一对应的多个预设时刻。
算力资源需求信息可以用于表示处理待处理任务所需要的总算力资源。
运行环境需求信息可以包括待处理任务的任务信息的文件大小、软件环境和硬件环境等信息。文件大小可以用于确定算力节点是否满足待处理任务的任务信息的内存需求。软件环境和硬件环境可以用于确定算力节点是否满足待处理任务的软件和硬件需求。
一个预设时刻可以用于表示与一个预设时刻对应的一个待处理子任务的处理时间门限。
可选的,待处理任务的摘要信息还可以包括与多个子任务信息一一对应的多个消息摘要,用于获取到多个子任务信息的节点确定多个子任务信息的正确性和完整性。
可选的,多个消息摘要可以是基于现有的消息摘要算法(例如,MD5信息摘要算法(MD5 message-digest algorithm,MD5)和安全哈希算法(secure hash algorithm,SHA1)等算法)生成的。
S602、若第一算力节点的可用算力资源满足算力资源需求信息、且第一算力节点的运行环境满足运行环境需求信息,第一算力节点发布用于表示承接待处理任务的任务承接消息。
具体的,区块链系统中的多个算力节点接收到任务发布节点发布的待处理任务的摘要信息后,可以解析待处理任务的摘要信息以确定待处理任务的算力资源需求信息、运行环境需求信息和与多个待处理子任务一一对应的多个预设时刻。
接着,当多个算力节点中的至少一个算力节点(包括第一算力节点)的可用算力资源满足待处理任务的算力资源需求信息、且至少一个算力节点的运行环境满足待处理任务的运行环境需求信息时,至少一个算力节点可以发布用于表示承接待处理任务的任务承接消息。
S603、当第一算力节点被任务发布节点确定为承接待处理任务的算力节点时,第一算力节点接收任务发布节点发布的节点确定消息。
其中,节点确定消息用于表示确定第一算力节点为承接待处理任务的算力节点。
可选的,任务发布节点接收到至少一个算力节点发布的任务承接消息后,可以从区块链中读取与至少一个算力节点一一对应的节点信息,并根据节点信息确定承接待处理任务的算力节点。
当至少一个算力节点中的第一算力节点被任务发布节点确定为承接待处理任务的算力节点时,任务发布节点可以向第一算力节点发送待处理任务的任务信息。相应的,第一算力节点可以获取任务发布节点发送的待处理任务的任务信息。
其中,一个算力节点的节点信息可以包括一个算力节点的可用算力资源信息和运行环境信息等信息。例如,任务发布节点可以将可用算力资源最多的算力节点确定为承接待处理任务的算力节点。
需要说明的是,区块链系统中的多个算力节点中的每个算力节点,均可以在加入区块链系统时,发布用于表示与该算力节点对应的可用算力资源信息,以便于区块链系统中的其他节点进行待处理任务的分配。后续,当多个算力节点中的每个算力节点的可用算力资源增加或减少时,还可以发布用于表示可用算力资源增加或减少的资源更新信息。
示例性的,预设任务发布节点A在区块链系统中发布了待处理任务1的摘要信息。并且,第一算力节点B、算力节点C和算力节点D的可用算力资源满足待处理任务1的算力资源需求信息、且运行环境满足待处理任务1的运行环境需求信息。则第一算力节点B、算力节点C和算力节点D可以在区块链系统中发布任务承接消息。
接着,任务发布节点A接收到第一算力节点B、算力节点C和算力节点D发布的任务承接消息后,可以从区块链中读取到第一算力节点B的可用算力资源为8千兆赫(GHz),算力节点C的可用算力资源为7GHz和算力节点D的可用算力资源为4GHz。
接着,任务发布节点A可以将可用算力资源最多的第一算力节点B确定为承接待处理任务1的算力节点,并向第一算力节点B发送待处理任务1的任务信息。相应的,第一算力节点B可以获取任务发布节点A发送的待处理任务1的任务信息。
在一种可以实现的方式中,如图7所示,第一算力节点确定可用算力资源大于预设算力资源的第二算力节点的方法,具体包括:S701-S702。
S701、第一算力节点获取区块链系统中的至少一个节点生成的用于确定第二算力节点的至少一个待创建区块。
其中,至少一个节点与至少一个待创建区块一一对应。一个待创建区块包括:待确认算力节点和预先记录的摘要信息。待确认算力节点为用于处理其他待处理子任务的算力节点。
具体的,若第一算力节点发布的确定一个待处理子任务的处理结束时刻位于一个待处理子任务对应的预设时刻之后,则第一算力节点在临时账本中添加与一个待处理子任务对应的超时完成标识。后续,第一算力节点可以将超时完成标识添加在当前区块中。
接着,在当前区块生成时,区块链系统中准备竞争位于当前区块之后的下一区块的生成权的至少一个节点,可以判断当前区块中是否记录有超时完成标识。
若有,则区块链系统中的至少一个节点可以从临时账本读取预先记录的与一个待处理子任务对应的待处理任务的摘要信息,并从临时账本中确定区块链系统中可用算力资源信息大于预设算力资源的算力节点作为待确认算力节点。其中,预设算力资源可以是第一算力节点的可用算力资源的预设倍数(例如,1.2倍或者1.5倍等)。
接着,至少一个节点中的每个节点均可以发布与其对应的待创建区块。相应的,第一算力节点可以接收至少一个节点发布的至少一个待创建区块。
S702、第一算力节点从至少一个节点中,确定满足第一预设条件的节点,并将满足第一预设条件的节点生成的待创建区块中的待确认算力节点,确定为第二算力节点。
其中,第一预设条件包括:待确认算力节点的可用算力资源大于预设算力资源,且预先记录的摘要信息为待处理任务的摘要信息,且算力节点的交易信任值大于预设阈值。
具体的,在接收到至少一个待创建区块后,第一算力节点可以读取与至少一个待创建区块一一对应的至少一个节点的行为历史记录(例如交易信任值和加入区块链系统的时间等记录),并从至少一个节点中选取一个符合行为要求(例如交易信任值最高)的节点作为候选节点。
其中,交易信任值可以作为节点在区块链系统中信誉的参考值。当区块链系统中有新的区块生成时,则负责生成该区块的节点需要消耗第四预设数量的交易信任值。同时,区块链系统中参数生成该区块的其他节点可以获得第五预设数量的交易信任值。第四预设数量和第五预设数量可以由人工根据经验预先设置。
接着,第一算力节点可以根据临时账本中记录的待处理任务的摘要信息,确定候选节点对应的待创建区块中记录的待处理任务的摘要信息是否正确,并可以从区块链中读取第二算力节点的节点信息,以确定第二算力节点的可用算力资源是否大于预设算力资源、且第二算力节点的运行环境是否满足待处理任务的运行环境需求信息。
接着,当候选节点对应的待创建区块中记录的待处理任务的摘要信息正确、且第二算力节点的可用算力资源大于预设算力资源、且第二算力节点的运行环境满足待处理任务的运行环境需求信息时,第一算力节点可以将候选节点对应的待创建区块添加在当前区块之后,用于表示选举候选节点作为生成下一区块的节点。
可以理解的是,区块链系统中的其他节点接收到至少一个节点发布的至少一个待创建区块后,从至少一个节点中选举生成下一区块的节点的方式,可以参考第一算力节点选举候选节点作为生成下一区块的节点的方式,在此不再赘述。
可选的,区块链系统中的任意节点在确定选举候选节点为生成下一区块的节点时,均可以发布节点确定消息。相应的,第一算力节点可以接收区块链系统中的其他节点发布的节点确定消息。
当候选节点的被选举次数是至少一个节点中被选举次数最多的节点时,则表示候选节点在区块链系统中被确定为生成下一区块的节点。后续,第一算力节点可以向第二算力节点发送第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息。
在一种可以实现的方式中,第一算力节点向第二算力节点发送第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息的方法,具体包括:S801。
S801、当满足第一预设条件的节点生成的待创建区块下连接的区块数量大于第一预设数量时,第一算力节点向第二算力节点发送第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息。
可选的,第一预设数量可以根据区块链系统的节点数量确定。
示例性,当区块链系统的节点数量小于或等于100时,第一预设数量可以为6。
当区块链系统的节点数量大于100时,可以由人工根据经验预先设置区块安全阈值,用于表示当区块链系统中的一个区块下连接的区块数量大于第一预设数量时,该一个区块被篡改的概率小于区块安全阈值。区块链系统的节点数量,系统安全阈值和第一预设数量满足第一公式。第一公式为:
其中,h为第一预设数量,S(0<S<1)为系统安全阈值,n区块链系统的节点数量。在一种可以实现的方式中,如图8所示,该任务处理方法还包括:S901-S904。
S901、当第四算力节点发布的错误信息的数量大于第二预设数量时,第一算力节点发布用于揭示第四算力节点的节点身份的身份揭示请求。
具体的,当第一算力节点接收到第四算力节点在区块链系统中发布的错误信息时,可以从区块链中读取第四算力节点发布信息的日志记录。
当确定第四算力节点发布的错误信息的数量大于第二预设数量时,第一算力节点可以发布用于揭示第四算力节点的节点身份的身份揭示请求。
其中,错误信息包括:垃圾信息、任务委托失败信息或者任务转发错误信息中的至少一项。身份揭示请求包括:第四算力节点的节点标识和错误信息对应的日志记录。
S902、第一算力节点接收区块链系统中的其他节点发布的响应消息。
其中,响应消息包括同意揭示第四算力节点的节点身份的响应消息,或者不同意揭示第四算力节点的节点身份的响应消息。
可以理解的是,身份认证服务器可以接收区块链系统中的任意节点发布的响应消息,并统计同意揭示第四算力节点的节点身份的响应消息的数量,以及不同意揭示第四算力节点的节点身份的响应消息的数量。
当同意揭示第四算力节点的节点身份的响应消息的数量大于等于第三预设数量时,则身份认证服务器可以发布身份公开消息。其中,身份公开消息包括第四算力节点的节点身份。
或者,当不同意揭示第四算力节点的节点身份的响应消息的数量大于等于第三预设数量时,则身份认证服务器可以发布用于拒绝揭示第四算力节点的节点身份的拒绝消息。
S903、当同意揭示第四算力节点的节点身份的响应消息的数量大于等于第三预设数量时,第一算力节点接收身份认证服务器发布的身份公开消息。
S904、当不同意揭示第四算力节点的节点身份的响应消息的数量大于等于第三预设数量时,第一算力节点接收身份认证服务器发布的用于拒绝揭示第四算力节点的节点身份的拒绝消息。
需要说明的是,S903和S904为第一算力节点接收身份认证服务器发布的身份公开消息或拒绝消息的两种不同情况。当执行S903时,则不执行S904;当执行S904时,则不执行S903。
在一种可以实现的方式中,如图9所示,该任务处理方法还包括:S1001-S1002。
S1001、当接收到区块链系统中的任意节点发布的更新消息时,第一算力节点记录更新消息。
其中,更新消息为任务结束消息、任务发布消息、区块创建消息、任务承接消息、节点确定消息、身份揭示消息、响应消息、身份公开消息和拒绝消息中的任一项。
任务结束消息包括任意节点发布的确定任务处理结果的处理结束时刻。任务发布消息包括任意节点发布的任务的摘要信息。区块创建消息用于表示任意节点生成了待创建区块。
可选的,更新消息还可以是区块链系统中的节点向区块链系统发布的其他任意的消息。例如,运营方可以基于实际的业务需求搭建一个联盟链,依托于联盟链部署一些在线业务(比如,租房业务、车辆调度业务、保险理赔业务、信用服务、医疗服务等),而在这类联盟链中,更新消息可以是用户在联盟链中发布的一笔具有业务意图的业务消息或者业务请求;又如,该更新消息还可以是用户向区块链发送的、用以更改节点的信息的消息(如交易信任值等)。
S1002、第一算力节点将更新消息存储至对应的区块。
可以理解的是,当区块链系统中的任意节点发布更新消息时,则其他节点均在临时账本中记录该更新消息。后续,在新区块生成时,区块链系统中负责生成新区块的节点,可以将该新区块被创建期间产生的多个更新消息存储在该区块中,并发布该新区块。
相应的,区块链系统中的节点在接收到该新区块时,可以验证该新区块中存储的多个更新信息是否与其临时账本中记录的多个更新信息一致。若一致,则区块链系统中的节点可以将该新区块添加在区块链。
在一种可以实现的方式中,如图10所示,该任务处理方法还包括:S1101-S1115。
S1101、第一算力节点向身份认证服务器发送接入请求消息。
具体的,当第一算力节点需要加入区块链系统时,第一算力节点可以向身份认证服务器发送接入请求消息。
S1102、响应于接入请求消息,身份认证服务器向第一算力节点发送接入响应消息。
其中,接入响应消息可以用于表示身份认证服务器同意第一算力节点接入区块链系统,并要求第一算力节点提供公钥信息、私钥信息和身份信息等信息。
可选的,接入响应消息还可以包括要求第一算力节点确认是否为区块链系统中的其他节点提供算力资源的第一确认信息。
S1103、第一算力节点向身份认证服务器发送注册请求消息。
其中,注册消息可以包括第一算力节点的公钥信息、私钥信息和身份信息等信息。
可选的,注册消息还可以包括第一算力节点的通信地址,以及用于表示第一算力节点确认为区块链系统中其他节点提供算力资源的第二确认信息。
可以理解的是,当第一算力节点确认不向区块链系统中的其他节点提供算力资源时,则第一算力节点可以是区块链系统中的任务发布节点。
S1104、身份认证服务器向第一算力节点发送注册响应消息。
具体,在接收到第一算力节点发送的注册请求消息后,身份认证服务器可以解析注册请求消息,以确定第一算力节点的公钥信息、私钥信息和身份信息等信息。
接着,身份认证服务器可以基于第一算力节点的公钥信息生成第一算力的公钥证书,并将第一算力节点的私钥信息和身份信息进行安全存储。
接着,身份认证服务器可以向第一算力节点发送包括第一算力节点的公钥证书,以及区块链系统中的其他节点的公钥证书和通信地址的注册响应消息。
相应的,第一算力节点可以接收身份认证服务器发送的注册响应消息,并与区块链系统中的其他节点建立通信连接,以获取区块链数据。
其中,注册响应消息可以包括第一算力节点的公钥证书、区块链系统中的其他节点的公钥证书和通信地址。第一算力节点的通信信息可以包括第一算力节点的公钥证书和通信地址。
可选的,身份认证服务器可以在区块链系统中发布第一算力节点的通信信息,以使得区块链系统中的其他节点了解第一算力节点加入了区块链系统。
公钥证书可以用于表示第一算力节点可以与区块链系统中的其他节点进行通信的合法身份。
可选的,公钥证书可以包括身份认证服务器的数字签名,用于表示第一算力节点已完成注册。
S1105、任务发布节点发布任务发布消息。
其中,任务发布消息包括待处理任务的摘要信息。
S1106、第一算力节点发布用于表示承接待处理任务的任务承接消息。
具体的,若第一算力节点的可用算力资源满足算力资源需求信息、且第一算力节点的运行环境满足运行环境需求信息,则第一算力节点可以发布用于表示承接待处理任务的任务承接消息。
S1107、任务发布节点发布节点确定消息。
S1108、第一算力节点向任务发布节点发送密钥协商消息。
具体的,在接收到任务发布节点发布的节点确定消息后,第一算力节点可以生成便于安全地传输任务信息的传输密钥,并从区块链中读取任务发布节点的公钥证书以确定任务发布节点的公钥信息。
接着,第一算力节点可以根据任务发布节点的公钥信息,加密传输密钥以生成密钥协商消息,并向任务发布节点发送密钥协商消息。
S1109、任务发布节点向第一算力节点发送任务处理消息。
其中,任务处理消息包括待处理任务的任务信息。
具体的,在接收到第一算力节点发送的密钥协商消息后,任务发布节点可以根据与其公钥信息对应的私钥信息,解析密钥协商消息以确定传输密钥。
接着,任务发布节点可以根据传输密钥加密待处理任务的任务信息,并向第一算力节点发送包括待处理任务的任务信息的任务处理消息。
S1110、第一算力节点确定多个待处理子任务中一个待处理子任务的处理结果,并发布确定一个待处理子任务的处理结果的处理结束时刻。
S1111、若处理结束时刻位于预设时刻之后,第一算力节点获取区块链系统中的至少一个节点生成的用于确定第二算力节点的至少一个待创建区块。
S1112、第一算力节点从至少一个节点中,确定满足第一预设条件的节点,并将满足第一预设条件的节点生成的待创建区块中的待确认算力节点,确定为第二算力节点。
S1113、第一算力节点向第二算力节点发送任务确定消息。
具体的,当满足第一预设条件的节点生成的待创建区块下连接的区块数量大于第一预设数量时,第一算力节点可以向第二算力节点发送任务确定消息。
其中,任务确定消息包括第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息。
S1114、第二算力节点处理多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务。
具体的,在接收到任务确定消息后,第二算力节点可以解析任务确定消息,以确定第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息。
接着,第二算力节点可以从区块链中读取待处理任务的摘要信息,并确定任务确定消息中的信息是否正确。若正确,第二算力节点可以处理多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务。
S1115、第二算力节点向任务发布节点发送处理结束消息。
其中,处理结束消息包括与待处理任务中全部待处理子任务对应的处理结果。
可选的,在确定多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的处理结果后,第二算力节点还可以在区块链系统中发布确定全部待处理子任务对应的处理结果的处理结束时刻,以便于区块链系统中的其他节点监督待处理任务的处理进程。
可选的,在任务发布节点可以接收处理结束消息后,任务发布节点可以解析处理结束消息以确定全部待处理子任务对应的处理结果,并验证全部待处理子任务对应的处理结果是否正确。
当一个或多个子任务对应的处理结果出现错误时,任务发布节点可以发布揭示请求消息,以申请对第二算力节点进行相应的处罚等。
本申请可以将待处理任务拆分得到多个待处理子任务,并在第一算力节点确定一个待处理子任务的处理结果的处理结束时刻位于预设时刻之后的情况下,将第一算力节点更换为可用算力资源大于预设算力资源的第二算力节点,从而保证可以通过可用算力资源更多的算力节点及时处理其他的待处理子任务,保证了待处理任务的处理时长,提高了待处理任务的处理效率。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对第一算力节点进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图11所示,为本申请实施例提供的一种任务处理装置的结构示意图。该任务处理装置可以应用于第一算力节点,用于执行如图4至图10所示的任务处理方法。图11所示任务处理装置包括:获取单元1201和确定单元1202。
获取单元1201,用于获取待处理任务的任务信息;任务信息包括与多个待处理子任务一一对应的多个子任务信息;多个待处理子任务为将待处理任务拆分得到的。例如,结合图4,获取单元1201可以用于执行S401。
确定单元1202,用于确定多个待处理子任务中一个待处理子任务的处理结果,并发布确定一个待处理子任务的处理结果的处理结束时刻。例如,结合图4,确定单元1202可以用于执行S402。
若处理结束时刻位于预设时刻之后,确定单元1202,还用于确定可用算力资源大于预设算力资源的第二算力节点,并向第二算力节点发送第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息。例如,结合图4,确定单元1202可以用于执行S403。
可选的,获取单元1201,具体用于:
当多个待处理子任务为将待处理任务拆分得到的全部待处理子任务时,接收任务发布节点发送的任务信息。例如,结合图5,获取单元1201可以用于执行S501。
或者,当多个待处理子任务为将待处理任务拆分得到的部分待处理子任务时,接收第三算力节点发送的多个子任务信息和第一子任务的处理结果;第三算力节点为处理第一子任务的算力节点;第一子任务为:将全部待处理子任务按照预设处理逻辑排序后,位于部分待处理子任务中的第一个待处理子任务之前的子任务。例如,结合图5,获取单元1201可以用于执行S502。
可选的,当多个待处理子任务为将待处理任务拆分得到的全部待处理子任务时,任务处理装置还包括:第一发布单元1203和第一接收单元1204。
获取单元1201,还用于获取任务发布节点发布的待处理任务的摘要信息;摘要信息包括待处理任务的算力资源需求信息、运行环境需求信息和与多个待处理子任务一一对应的多个预设时刻。例如,结合图6,获取单元1201可以用于执行S601。
若第一算力节点的可用算力资源满足算力资源需求信息、且第一算力节点的运行环境满足运行环境需求信息,第一发布单元1203,用于发布用于表示承接待处理任务的任务承接消息。例如,结合图6,第一发布单元1203可以用于执行S602。
第一接收单元1204,用于当第一算力节点被任务发布节点确定为承接待处理任务的算力节点时,接收任务发布节点发布的节点确定消息;节点确定消息用于表示确定第一算力节点为承接待处理任务的算力节点。例如,结合图6,第一接收单元1204可以用于执行S603。
可选的,获取单元1201,还用于获取区块链系统中的至少一个节点生成的用于确定第二算力节点的至少一个待创建区块;至少一个节点与至少一个待创建区块一一对应;一个待创建区块包括:待确认算力节点和预先记录的摘要信息;待确认算力节点为用于处理其他待处理子任务的算力节点。例如,结合图7,获取单元1201可以用于执行S701。
确定单元1202,还用于从至少一个节点中,确定满足第一预设条件的节点,并将满足第一预设条件的节点生成的待创建区块中的待确认算力节点,确定为第二算力节点;第一预设条件包括:待确认算力节点的可用算力资源大于预设算力资源,且预先记录的摘要信息为待处理任务的摘要信息,且节点的交易信任值大于预设阈值。例如,结合图7,确定单元1202可以用于执行S702。
可选的,该任务处理装置还包括:发送单元1205。
发送单元1205,用于当满足第一预设条件的节点生成的待创建区块下连接的区块数量大于第一预设数量时,向第二算力节点发送第一算力节点已处理的子任务的处理结果和多个待处理子任务中,除第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息。例如,发送单元1205可以用于执行S801。
可选的,区块链系统还包括身份认证服务器。身份认证服务器用于存储任务发布节点和多个算力节点的节点身份。该任务处理装置还包括:第二发布单元1206和第二接收单元1207。
第二发布单元1206,还用于当第四算力节点发布的错误信息的数量大于第二预设数量时,发布用于揭示第四算力节点的节点身份的身份揭示请求;错误信息包括:垃圾信息、任务委托失败信息或者任务转发错误信息中的至少一项;身份揭示请求包括:第四算力节点的节点标识和错误信息对应的日志记录。例如,结合图9,第二发布单元1206可以用于执行S901。
第二接收单元1207,还用于接收区块链系统中的其他节点发布的响应消息;响应消息包括同意揭示第四算力节点的节点身份的响应消息,或者不同意揭示第四算力节点的节点身份的响应消息。例如,结合图9,第二接收单元1207可以用于执行S902。
第二接收单元1207,还用于当同意揭示第四算力节点的节点身份的响应消息的数量大于或等于第三预设数量时,接收身份认证服务器发布的身份公开消息;身份公开消息包括第四算力节点的节点身份。例如,结合图9,第二接收单元1207可以用于执行S903。
或者,第二接收单元1207,还用于当不同意揭示第四算力节点的节点身份的响应消息的数量大于或等于第三预设数量时,接收身份认证服务器发布的用于拒绝揭示第四算力节点的节点身份的拒绝消息。例如,结合图9,第二接收单元1207可以用于执行S904。
可选的,该任务处理装置还包括:记录单元1208和存储单元1209。
记录单元1208,用于当接收到区块链系统中的任意节点发布的更新消息时,记录更新消息;更新消息为任务结束消息、任务发布消息、区块创建消息、任务承接消息、节点确定消息、身份揭示消息、响应消息、身份公开消息和拒绝消息中的任一项;任务结束消息包括任意节点发布的确定任务处理结果的处理结束时刻;任务发布消息包括任意节点发布的任务的摘要信息;区块创建消息用于表示任意节点生成了待创建区块。例如,结合图10,记录单元1208可以用于执行S1001。
存储单元1209,用于将更新消息存储至对应的区块。例如,结合图10,存储单元1209可以用于执行S1002。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机可读存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (16)
1.一种任务处理方法,其特征在于,应用于第一算力节点;所述第一算力节点归属于包括用于发布待处理任务的任务发布节点和多个算力节点的区块链系统;所述任务处理方法包括:
获取所述待处理任务的任务信息;所述任务信息包括与多个待处理子任务一一对应的多个子任务信息;所述多个待处理子任务为将所述待处理任务拆分得到的;
确定所述多个待处理子任务中一个待处理子任务的处理结果,并发布确定所述一个待处理子任务的处理结果的处理结束时刻;
若所述处理结束时刻位于预设时刻之后,确定可用算力资源大于预设算力资源的第二算力节点,并向所述第二算力节点发送所述第一算力节点已处理的子任务的处理结果和所述多个待处理子任务中,除所述第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息。
2.根据权利要求1所述的任务处理方法,其特征在于,所述获取所述待处理任务的任务信息,包括:
当所述多个待处理子任务为将所述待处理任务拆分得到的全部待处理子任务时,接收所述任务发布节点发送的任务信息;
或者,当所述多个待处理子任务为将所述待处理任务拆分得到的部分待处理子任务时,接收第三算力节点发送的所述多个子任务信息和第一子任务的处理结果;所述第三算力节点为处理所述第一子任务的算力节点;所述第一子任务为:将所述全部待处理子任务按照预设处理逻辑排序后,位于所述部分待处理子任务中的第一个待处理子任务之前的子任务。
3.根据权利要求2所述的任务处理方法,其特征在于,当所述多个待处理子任务为将所述待处理任务拆分得到的全部待处理子任务时,所述接收所述任务发布节点发送的任务信息之前,还包括:
获取所述任务发布节点发布的所述待处理任务的摘要信息;所述摘要信息包括所述待处理任务的算力资源需求信息、运行环境需求信息和与所述多个待处理子任务一一对应的多个预设时刻;
若所述第一算力节点的可用算力资源满足所述算力资源需求信息、且所述第一算力节点的运行环境满足所述运行环境需求信息,发布用于表示承接所述待处理任务的任务承接消息;
当所述第一算力节点被所述任务发布节点确定为承接所述待处理任务的算力节点时,接收所述任务发布节点发布的节点确定消息;所述节点确定消息用于表示确定所述第一算力节点为承接所述待处理任务的算力节点。
4.根据权利要求3所述的任务处理方法,其特征在于,所述确定可用算力资源大于预设算力资源的第二算力节点,包括:
获取区块链系统中的至少一个节点生成的用于确定所述第二算力节点的至少一个待创建区块;所述至少一个节点与所述至少一个待创建区块一一对应;一个待创建区块包括:待确认算力节点和预先记录的摘要信息;所述待确认算力节点为用于处理所述其他待处理子任务的算力节点;
从所述至少一个节点中,确定满足第一预设条件的节点,并将满足所述第一预设条件的节点生成的待创建区块中的待确认算力节点,确定为所述第二算力节点;所述第一预设条件包括:待确认算力节点的可用算力资源大于所述预设算力资源,且预先记录的摘要信息为所述待处理任务的摘要信息,且节点的交易信任值大于预设阈值。
5.根据权利要求4所述的任务处理方法,其特征在于,所述向所述第二算力节点发送所述第一算力节点已处理的子任务的处理结果和所述多个待处理子任务中,除所述第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息,包括:
当满足所述第一预设条件的节点生成的待创建区块下连接的区块数量大于第一预设数量时,向所述第二算力节点发送所述第一算力节点已处理的子任务的处理结果和所述多个待处理子任务中,除所述第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息。
6.根据权利要求1所述的任务处理方法,其特征在于,所述区块链系统还包括身份认证服务器;所述身份认证服务器用于存储所述任务发布节点和所述多个算力节点的节点身份;所述任务处理方法,还包括:
当第四算力节点发布的错误信息的数量大于第二预设数量时,发布用于揭示所述第四算力节点的节点身份的身份揭示请求;所述错误信息包括:垃圾信息、任务委托失败信息或者任务转发错误信息中的至少一项;所述身份揭示请求包括:所述第四算力节点的节点标识和所述错误信息对应的日志记录;
接收所述区块链系统中的其他节点发布的响应消息;所述响应消息包括同意揭示所述第四算力节点的节点身份的响应消息,或者不同意揭示所述第四算力节点的节点身份的响应消息;
当同意揭示所述第四算力节点的节点身份的响应消息的数量大于或等于第三预设数量时,接收所述身份认证服务器发布的身份公开消息;所述身份公开消息包括所述第四算力节点的节点身份;
或者,当不同意揭示所述第四算力节点的节点身份的响应消息的数量大于或等于所述第三预设数量时,接收所述身份认证服务器发布的用于拒绝揭示所述第四算力节点的节点身份的拒绝消息。
7.根据权利要求1-6任一项所述的任务处理方法,其特征在于,还包括:
当接收到所述区块链系统中的任意节点发布的更新消息时,记录所述更新消息;所述更新消息为任务结束消息、任务发布消息、区块创建消息、任务承接消息、节点确定消息、身份揭示消息、响应消息、身份公开消息和拒绝消息中的任一项;所述任务结束消息包括所述任意节点发布的确定任务处理结果的处理结束时刻;所述任务发布消息包括所述任意节点发布的任务的摘要信息;所述区块创建消息用于表示所述任意节点生成了待创建区块;
将所述更新消息存储至对应的区块。
8.一种任务处理装置,其特征在于,应用于第一算力节点;所述第一算力节点归属于包括用于发布待处理任务的任务发布节点和多个算力节点的区块链系统;所述任务处理装置包括:获取单元和确定单元;
所述获取单元,用于获取所述待处理任务的任务信息;所述任务信息包括与多个待处理子任务一一对应的多个子任务信息;所述多个待处理子任务为将所述待处理任务拆分得到的;
所述确定单元,用于确定所述多个待处理子任务中一个待处理子任务的处理结果,并发布确定所述一个待处理子任务的处理结果的处理结束时刻;
若所述处理结束时刻位于预设时刻之后,所述确定单元,还用于确定可用算力资源大于预设算力资源的第二算力节点,并向所述第二算力节点发送所述第一算力节点已处理的子任务的处理结果和所述多个待处理子任务中,除所述第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息。
9.根据权利要求8所述的任务处理装置,其特征在于,所述获取单元,具体用于:
当所述多个待处理子任务为将所述待处理任务拆分得到的全部待处理子任务时,接收所述任务发布节点发送的任务信息;
或者,当所述多个待处理子任务为将所述待处理任务拆分得到的部分待处理子任务时,接收第三算力节点发送的所述多个子任务信息和第一子任务的处理结果;所述第三算力节点为处理所述第一子任务的算力节点;所述第一子任务为:将所述全部待处理子任务按照预设处理逻辑排序后,位于所述部分待处理子任务中的第一个待处理子任务之前的子任务。
10.根据权利要求9所述的任务处理装置,其特征在于,当所述多个待处理子任务为将所述待处理任务拆分得到的全部待处理子任务时,所述任务处理装置还包括:第一发布单元和第一接收单元;
所述获取单元,还用于获取所述任务发布节点发布的所述待处理任务的摘要信息;所述摘要信息包括所述待处理任务的算力资源需求信息、运行环境需求信息和与所述多个待处理子任务一一对应的多个预设时刻;
若所述第一算力节点的可用算力资源满足所述算力资源需求信息、且所述第一算力节点的运行环境满足所述运行环境需求信息,所述第一发布单元,用于发布用于表示承接所述待处理任务的任务承接消息;
所述第一接收单元,用于当所述第一算力节点被所述任务发布节点确定为承接所述待处理任务的算力节点时,接收所述任务发布节点发布的节点确定消息;所述节点确定消息用于表示确定所述第一算力节点为承接所述待处理任务的算力节点。
11.根据权利要求10所述的任务处理装置,其特征在于,
所述获取单元,还用于获取区块链系统中的至少一个节点生成的用于确定所述第二算力节点的至少一个待创建区块;所述至少一个节点与所述至少一个待创建区块一一对应;一个待创建区块包括:待确认算力节点和预先记录的摘要信息;所述待确认算力节点为用于处理所述其他待处理子任务的算力节点;
所述确定单元,还用于从所述至少一个节点中,确定满足第一预设条件的节点,并将满足所述第一预设条件的节点生成的待创建区块中的待确认算力节点,确定为所述第二算力节点;所述第一预设条件包括:待确认算力节点的可用算力资源大于所述预设算力资源,且预先记录的摘要信息为所述待处理任务的摘要信息,且节点的交易信任值大于预设阈值。
12.根据权利要求11所述的任务处理装置,其特征在于,还包括:发送单元;
所述发送单元,用于当满足所述第一预设条件的节点生成的待创建区块下连接的区块数量大于第一预设数量时,向所述第二算力节点发送所述第一算力节点已处理的子任务的处理结果和所述多个待处理子任务中,除所述第一算力节点已处理的子任务以外的、其他待处理子任务的子任务信息。
13.根据权利要求8所述的任务处理装置,其特征在于,所述区块链系统还包括身份认证服务器;所述身份认证服务器用于存储所述任务发布节点和所述多个算力节点的节点身份;所述任务处理装置,还包括:第二发布单元和第二接收单元体;
所述第二发布单元,还用于当第四算力节点发布的错误信息的数量大于第二预设数量时,发布用于揭示所述第四算力节点的节点身份的身份揭示请求;所述错误信息包括:垃圾信息、任务委托失败信息或者任务转发错误信息中的至少一项;所述身份揭示请求包括:所述第四算力节点的节点标识和所述错误信息对应的日志记录;
所述第二接收单元,还用于接收所述区块链系统中的其他节点发布的响应消息;所述响应消息包括同意揭示所述第四算力节点的节点身份的响应消息,或者不同意揭示所述第四算力节点的节点身份的响应消息;
所述第二接收单元,还用于当同意揭示所述第四算力节点的节点身份的响应消息的数量大于或等于第三预设数量时,接收所述身份认证服务器发布的身份公开消息;所述身份公开消息包括所述第四算力节点的节点身份;
或者,所述第二接收单元,还用于当不同意揭示所述第四算力节点的节点身份的响应消息的数量大于或等于所述第三预设数量时,接收所述身份认证服务器发布的用于拒绝揭示所述第四算力节点的节点身份的拒绝消息。
14.根据权利要求8-13任一项所述的任务处理装置,其特征在于,还包括:记录单元和存储单元;
所述记录单元,用于当接收到所述区块链系统中的任意节点发布的更新消息时,记录所述更新消息;所述更新消息为任务结束消息、任务发布消息、区块创建消息、任务承接消息、节点确定消息、身份揭示消息、响应消息、身份公开消息和拒绝消息中的任一项;所述任务结束消息包括所述任意节点发布的确定任务处理结果的处理结束时刻;所述任务发布消息包括所述任意节点发布的任务的摘要信息;所述区块创建消息用于表示所述任意节点生成了待创建区块;
所述存储单元,用于将所述更新消息存储至对应的区块。
15.一种任务处理装置,其特征在于,包括存储器和处理器;所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过总线连接;当所述任务处理装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述任务处理装置执行如权利要求1-7任一项所述的任务处理方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机执行指令,当所述计算机执行指令在计算机上运行时,使得所述计算机执行如权利要求1-7任一项所述的任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111630198.8A CN114327827A (zh) | 2021-12-28 | 2021-12-28 | 一种任务处理方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111630198.8A CN114327827A (zh) | 2021-12-28 | 2021-12-28 | 一种任务处理方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114327827A true CN114327827A (zh) | 2022-04-12 |
Family
ID=81014155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111630198.8A Pending CN114327827A (zh) | 2021-12-28 | 2021-12-28 | 一种任务处理方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327827A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115412609A (zh) * | 2022-08-16 | 2022-11-29 | 中国联合网络通信集团有限公司 | 一种业务处理方法、装置、服务器及存储介质 |
WO2023246584A1 (zh) * | 2022-06-21 | 2023-12-28 | 维沃移动通信有限公司 | 算力处理方法、装置及通信设备 |
CN117667360A (zh) * | 2024-01-31 | 2024-03-08 | 湘江实验室 | 面向大模型任务的计算与通信融合的智能算网调度方法 |
-
2021
- 2021-12-28 CN CN202111630198.8A patent/CN114327827A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023246584A1 (zh) * | 2022-06-21 | 2023-12-28 | 维沃移动通信有限公司 | 算力处理方法、装置及通信设备 |
CN115412609A (zh) * | 2022-08-16 | 2022-11-29 | 中国联合网络通信集团有限公司 | 一种业务处理方法、装置、服务器及存储介质 |
CN115412609B (zh) * | 2022-08-16 | 2023-07-28 | 中国联合网络通信集团有限公司 | 一种业务处理方法、装置、服务器及存储介质 |
CN117667360A (zh) * | 2024-01-31 | 2024-03-08 | 湘江实验室 | 面向大模型任务的计算与通信融合的智能算网调度方法 |
CN117667360B (zh) * | 2024-01-31 | 2024-04-16 | 湘江实验室 | 面向大模型任务的计算与通信融合的智能算网调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108777625B (zh) | 签名的验证方法、装置和系统、存储介质、电子装置 | |
Shi et al. | Blockchain‐based trusted data sharing among trusted stakeholders in IoT | |
CN114327827A (zh) | 一种任务处理方法、装置和存储介质 | |
CN108810137A (zh) | 一种联盟区块链系统 | |
CN110430235B (zh) | 跨链发送可认证消息的方法、装置、存储介质和计算设备 | |
CN111476572B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
EP3014465B1 (en) | Identity management system | |
CN110059055B (zh) | 一种基于分布式私有云的文件存储及读取方法及装置 | |
Xiao et al. | Decentralized spectrum access system: Vision, challenges, and a blockchain solution | |
CN113255014B (zh) | 一种基于区块链的数据处理方法以及相关设备 | |
CN101163117A (zh) | 一种群组管理方法、群组资源共享方法及即时通讯装置 | |
CN110266763A (zh) | 跨网段互连的区块链网络实现方法、系统及存储介质 | |
CN114296922A (zh) | 多方数据处理方法、系统、电子装置和存储介质 | |
KR20220074971A (ko) | 블록체인 기반 데이터 프로세싱 방법, 장치 및 디바이스, 그리고 판독가능 저장 매체 | |
CN115328645A (zh) | 计算任务调度方法、计算任务调度装置及电子设备 | |
CN114329565A (zh) | 一种数据共享方法、装置及存储介质 | |
CN112200680B (zh) | 区块链节点管理方法、装置、计算机以及可读存储介质 | |
CN111932239A (zh) | 业务处理方法、装置、节点设备及存储介质 | |
CN111709053A (zh) | 基于松散耦合交易网络的作业方法及作业装置 | |
Wang et al. | A fast and secured peer-to-peer energy trading using blockchain consensus | |
Wu et al. | Reinforced practical Byzantine fault tolerance consensus protocol for cyber physical systems | |
Constantinescu et al. | A fair and resilient decentralized clock network for transaction ordering | |
CN112417052B (zh) | 区块链网络中的数据同步方法、装置、设备及存储介质 | |
Görkey et al. | Comparative study of Byzantine fault tolerant consensus algorithms on permissioned blockchains | |
CN113612732A (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 |