一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

任务处理方法、装置、计算机设备、存储介质和产品与流程

2022-11-19 13:15:28 来源:中国专利 TAG:


1.本技术涉及信息安全技术领域,特别是涉及一种任务处理方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着计算机技术的发展,分析数据并对分析结果加以利用的场景日益增多,为保护数据安全,可以通过相关技术实现在保护数据不对外泄露的前提下分析数据,例如隐私计算。
3.在传统技术中,隐私计算往往需要特殊的密码学算法对待分析的数据进行处理,其中会涉及到复杂的计算逻辑,节点往往需要耗费较多的计算资源进行隐私计算,难以兼顾数据保护和节点的处理效率。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够兼顾数据保护和节点的处理效率的任务处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.第一方面,本技术提供了一种任务处理方法,所述方法包括:
6.确定待处理的任务中当前节点对应的子任务;所述当前节点为多个节点中的一个节点;
7.在当前节点的所述子任务未完成的情况下,获取随机提示;所述随机提示指示处理或不处理所述子任务;
8.若所述随机提示指示处理所述子任务,则由当前节点对所述子任务进行处理,并在所述子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点;若所述随机提示指示不处理所述子任务的情况下,则将当前节点的下一节点确定为当前节点;
9.返回执行所述确定待处理的任务中当前节点对应的子任务的步骤,直到所述待处理的任务中包含的各节点的子任务完成;
10.在各节点的子任务完成的情况下,获取所述任务的最终任务结果。
11.在其中一个实施例中,在所述确定待处理的任务中当前节点对应的子任务之后,还包括:
12.若当前节点的所述子任务已完成,则将当前节点的下一节点确定为当前节点,并返回执行所述确定待处理的任务中当前节点对应的子任务的步骤。
13.在其中一个实施例中,所述多个节点在应用层中环形连接,所述将当前节点的下一节点确定为当前节点,包括:
14.在环形连接的所述多个节点中,将与当前节点连接且节点次序在当前节点之后的下一节点,确定为当前节点。
15.在其中一个实施例中,所述获取随机提示,包括:
16.获取随机数;
17.若所述随机数大于或等于所述当前节点对应的阈值,则生成指示处理所述子任务的随机提示;
18.若所述随机数小于所述当前节点对应的阈值,则生成指示不处理所述子任务的随机提示,并调减当前节点对应的阈值。
19.在其中一个实施例中,所述在所述子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点,包括:
20.在所述子任务中的至少部分处理完毕后,根据所述子任务的处理情况确定所述任务当前的进度信息;
21.若所述进度信息指示所述任务未完成,则将当前节点的下一节点确定为当前节点。
22.在其中一个实施例中,所述任务携带有任务描述信息,所述根据所述子任务的处理情况确定所述任务当前的进度信息,包括:
23.当所述子任务的处理情况为已完成,获取所述任务携带的任务描述信息;所述任务描述信息中包括多个节点标志,所述多个节点标志的标志数量与所述多个节点的节点数量相匹配,所述节点标志用于指示子任务是否完成;
24.更新所述任务描述信息中任一指示子任务未完成的节点标志,得到更新后的任务描述信息;更新后的节点标志用于指示子任务完成;
25.基于更新后的任务描述信息确定所述任务当前的进度信息。
26.在其中一个实施例中,所述基于更新后的任务描述信息确定所述任务当前的进度信息,包括:
27.获取更新后的任务描述信息中的各个节点标志;
28.若所述各个节点标志中存在至少一个指示子任务未完成的节点标志,则得到所述任务未完成的进度信息。
29.在其中一个实施例中,所述任务描述信息中记录有所述任务的任务结果,在所述根据所述子任务的处理情况确定所述任务当前的进度信息之后,还包括:
30.根据所述子任务的处理情况,更新所述任务描述信息中的任务结果;
31.所述在各节点的子任务完成的情况下,获取所述任务的最终任务结果,包括:
32.在各节点的子任务完成的情况下,触发当前节点从所述任务描述信息中获取所述任务当前的任务结果,作为所述任务的最终任务结果,并由当前节点将所述任务描述信息传递到当前节点以外的其他节点。
33.第二方面,本技术还提供了一种任务处理装置,其特征在于,所述装置包括:
34.子任务确定模块,用于确定待处理的任务中当前节点对应的子任务;所述当前节点为多个节点中的一个节点;
35.随机提示获取模块,用于在当前节点的所述子任务未完成的情况下,获取随机提示;所述随机提示指示处理或不处理所述子任务;
36.节点更新模块,用于若所述随机提示指示处理所述子任务,则由当前节点对所述子任务进行处理,并在所述子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点;若所述随机提示指示不处理所述子任务的情况下,则将当前节点的下一节点确定为当前节点;
37.子任务处理模块,用于返回执行所述确定待处理的任务中当前节点对应的子任务的步骤,直到所述待处理的任务中包含的各节点的子任务完成;
38.任务结果获取模块,用于在各节点的子任务完成的情况下,获取所述任务的最终任务结果。
39.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
40.确定待处理的任务中当前节点对应的子任务;所述当前节点为多个节点中的一个节点;
41.在当前节点的所述子任务未完成的情况下,获取随机提示;所述随机提示指示处理或不处理所述子任务;
42.若所述随机提示指示处理所述子任务,则由当前节点对所述子任务进行处理,并在所述子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点;若所述随机提示指示不处理所述子任务的情况下,则将当前节点的下一节点确定为当前节点;
43.返回执行所述确定待处理的任务中当前节点对应的子任务的步骤,直到所述待处理的任务中包含的各节点的子任务完成;
44.在各节点的子任务完成的情况下,获取所述任务的最终任务结果。
45.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
46.确定待处理的任务中当前节点对应的子任务;所述当前节点为多个节点中的一个节点;
47.在当前节点的所述子任务未完成的情况下,获取随机提示;所述随机提示指示处理或不处理所述子任务;
48.若所述随机提示指示处理所述子任务,则由当前节点对所述子任务进行处理,并在所述子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点;若所述随机提示指示不处理所述子任务的情况下,则将当前节点的下一节点确定为当前节点;
49.返回执行所述确定待处理的任务中当前节点对应的子任务的步骤,直到所述待处理的任务中包含的各节点的子任务完成;
50.在各节点的子任务完成的情况下,获取所述任务的最终任务结果。
51.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
52.确定待处理的任务中当前节点对应的子任务;所述当前节点为多个节点中的一个节点;
53.在当前节点的所述子任务未完成的情况下,获取随机提示;所述随机提示指示处理或不处理所述子任务;
54.若所述随机提示指示处理所述子任务,则由当前节点对所述子任务进行处理,并在所述子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点;若所述随机提示指示不处理所述子任务的情况下,则将当前节点的下一节点确定为当前节点;
55.返回执行所述确定待处理的任务中当前节点对应的子任务的步骤,直到所述待处理的任务中包含的各节点的子任务完成;
56.在各节点的子任务完成的情况下,获取所述任务的最终任务结果。
57.上述任务处理方法、装置、计算机设备、存储介质和计算机程序产品,可以确定待处理的任务中当前节点对应的子任务,在当前节点的子任务未完成的情况下,获取随机提示,该随机提示指示处理或不处理所述子任务;若随机提示指示处理所述子任务,则由当前节点对子任务进行处理,并在子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点,若随机提示指示不处理子任务的情况下,则将当前节点的下一节点确定为当前节点;进而可以返回执行确定待处理的任务中当前节点对应的子任务的步骤,直到待处理的任务中包含的各节点的子任务完成,在各节点在子任务完成的情况下,可以获取任务的最终任务结果。本技术的方案无需使用复杂的密码学算法,通过将任务在多个节点之间流转,并随机地指示当前节点执行或不执行节点对应的子任务,使得在处理任务的同时,每个节点都可以隐藏该节点对任务中子任务的处理状态,避免其他节点根据获取到任务当前的任务结果并推断出上一节点的数据,能够起到隐私计算的效果,有效兼顾数据保护和节点的处理效率。
附图说明
58.图1为一个实施例中一种任务处理方法的应用环境图;
59.图2为一个实施例中一种任务处理方法的流程示意图;
60.图3为一个实施例中一种节点连接方式的示意图;
61.图4为一个实施例中一种更新节点的步骤的流程示意图;
62.图5为一个实施例中一种确定任务的进度信息的步骤的流程示意图;
63.图6为一个实施例中一种任务处理装置的结构框图;
64.图7为一个实施例中一种计算机设备的内部结构图。
具体实施方式
65.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
66.需要说明的是,本技术提供的任务处理方法、装置、计算机设备、存储介质和计算机程序产品,可以应用于信息安全技术领域,也可以应用于其他相关领域。
67.本技术实施例提供的一种任务处理方法,可以应用于如图1所示的应用环境中,在该应用环境中可以包括由多个节点组成的任务处理系统。其中,多个节点之间可以通过网络进行通信,节点可以是终端,也可以是服务器,当然也可以是由终端和服务器组成的系统;终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
68.在一个实施例中,如图2所示,提供了一种任务处理方法,以该方法应用于图1中的任务处理系统进行说明,包括以下步骤:
69.s201,确定待处理的任务中当前节点对应的子任务。
70.其中,当前节点为多个节点中的一个节点。
71.具体实现中,待处理的任务可以由多个子任务构成,并且可以基于各个子任务的
任务结果确定出任务的任务结果,换句话说,随着各个子任务的任务结果发生变化,任务的任务结果也将相应发生变化。
72.其中,每个子任务由任务系统中对应的节点进行处理,每个节点对应的子任务可以理解为指定由该节点处理的子任务,在一些示例中,子任务可以是基于该节点存储的数据处理的任务,例如当任务为对多个节点所存储的资源的资源数量进行统计,则子任务可以是获取节点存储的资源的资源数量,并基于资源数量的至少部分对当前获取到的节点资源累计数量进行更新。此外,任务的任务结果与多个子任务的任务处理顺序无关,当调整子任务的任务处理顺序时,任务的任务结果不发生变化,也即构成任务的多个子任务具有交换律的特性。
73.在本步骤中,可以将待处理的任务在多个节点中进行流转,具体而言,当任务流转到多个节点中的一个节点时,可以将该节点确定为当前节点,并确定待处理的任务中与当前节点对应的子任务。
74.在一些可选的实施例中,子任务可以通过对应的子任务描述信息记录,多个节点的子任务描述信息可以相同,如子任务描述信息可以指示当前节点执行预设操作,并根据本次操作的操作结果更新任务当前的任务结果,在一示例中,子任务描述信息“c=c x”,其可以指示当前节点需要执行的子任务是对预设数据项下的数值x与累计数c进行求和,并根据求和结果更新累计数。
75.s202,在当前节点的子任务未完成的情况下,获取随机提示。
76.其中,随机提示指示处理或不处理子任务。
77.实际应用中,当任务流转到当前节点并确定出任务中与当前节点对应的子任务后,可以进一步确定其子任务是否已完成,例如可以由当前节点识别其是否已完成子任务。在当前节点的子任务未完成的情况下,可以获取随机提示,该随机提示为通过随机方式取得的提示信息,用于指示当前节点处理或不处理子任务。换句话说,可以通过随机提示随机地确定处理或不处理子任务。
78.s203,若随机提示指示处理所述子任务,则由当前节点对子任务进行处理,并在子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点;若随机提示指示不处理子任务的情况下,则将当前节点的下一节点确定为当前节点。
79.作为一示例,下一节点可以是按照预设规则在多个节点中确定出的节点,也可以是从多个节点中随机选取的节点。
80.具体实现中,若随机提示指示处理子任务,则可以由当前节点对子任务进行处理,并在当前节点将子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点。若随机提示指示当前节点不对子任务进行处理,则当前节点可以不对其子任务作处理,而是可以直接进行节点更新,将当前节点的下一节点确定为当前节点。换句话说,当任务在多个节点之间流转的过程中,可以根据随机提示触发当前节点处理或不处理其对应的子任务,若当前节点处理其对应的子任务,在确定当前节点本次处理的处理情况后,若任务未完成,则可以将任务继续流转到下一节点;若随机提示指示当前节点无需对子任务进行处理,则仍然可以通过当前节点将任务流转到下一节点。
81.其中,在当前节点对子任务进行处理时,当前节点可以在本次处理过程中完成子任务。或者,当前节点也可以仅处理子任务中的部分,也即当前节点可以将子任务分解为多
个部分,每次完成子任务的部分任务,例如,当前节点可以将子任务分解为两部分,在本次处理过程中,完成子任务的50%,并在下次再获取到子任务时,继续处理剩余的50%。在当前节点将子任务分解为多个部分的情况下,当前节点可以随机地确定子任务的被分解的数量和/或分解后每个部分占子任务的比例。
82.s204,返回执行确定待处理的任务中当前节点对应的子任务的步骤,直到待处理的任务中包含的各节点的子任务完成。
83.在更新当前节点后,则可以返回执行步骤s201,重复步骤s201-s204,直到待处理的任务中所包含的各个节点的子任务完成。
84.在本技术中,通过随机提示可以随机地触发当前节点处理或不处理其对应的节点任务,下一节点并不知道上一节点是否处理过上一节点对应的子任务,从上一节点流转到下一节点的任务的任务结果,其可能是上一节点处理子任务后得到的任务结果,也可能不是上一节点更新后的任务结果,而是在此之前的其他节点处理对应子任务后得到的结果,由此,下一节点不知道上一节点的相关数据。
85.通过将任务在多个节点之间流转,并随机地指示当前节点执行或不执行节点对应的子任务,使得在处理任务的同时,每个节点都可以隐藏该节点对任务中子任务的处理状态,避免其他节点根据获取到任务当前的任务结果并推断出上一节点的数据,能够起到隐私计算的效果。
86.s205,在各节点的子任务完成的情况下,获取任务的最终任务结果。
87.实际应用中,随着任务在多个节点间流转,任务多包含的各节点的子任务可以逐渐完成,而任务的最终任务结果则依赖于各节点子任务的结果确定。当任务中包含的各节点的子任务完成时,可以获取任务的最终任务结果。
88.在本实施例中,可以确定待处理的任务中当前节点对应的子任务,在当前节点的子任务未完成的情况下,获取随机提示,该随机提示指示处理或不处理所述子任务;若随机提示指示处理所述子任务,则由当前节点对子任务进行处理,并在子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点,若随机提示指示不处理子任务的情况下,则将当前节点的下一节点确定为当前节点;进而可以返回执行确定待处理的任务中当前节点对应的子任务的步骤,直到待处理的任务中包含的各节点的子任务完成,在各节点在子任务完成的情况下,可以获取任务的最终任务结果。本技术的方案无需使用复杂的密码学算法,通过将任务在多个节点之间流转,并随机地指示当前节点执行或不执行节点对应的子任务,使得在处理任务的同时,每个节点都可以隐藏该节点对任务中子任务的处理状态,避免其他节点根据获取到任务当前的任务结果并推断出上一节点的数据,能够起到隐私计算的效果,有效兼顾数据保护和节点的处理效率。
89.在一个实施例中,在s201确定待处理的任务中当前节点对应的子任务之后,还包括:
90.若当前节点的子任务已完成,则将当前节点的下一节点确定为当前节点,并返回执行确定待处理的任务中当前节点对应的子任务的步骤。
91.具体实现中,在确定当前节点对应的子任务已完成的情况下,可以确定当前节点的下一节点,在将下一节点更新为当前节点后可以返回执行步骤s201,重复步骤s201-s204。
92.换句话说,在当前节点对应的子任务已完成的情况下,可以不将当前节点剔除,而是将当前节点继续保留在多个节点中,进而已完成任务的节点也可以参与到任务流转过程,当任务从已完成任务的当前节点流转到下一节点时,虽然当前节点并未更新任务当前的任务结果,但下一节点无法确定其获取到的任务结果是由当前节点处理后生成的还是有在此之前的其他节点处理后生成的,增加了数据处理过程中的不可预见性,对在此之前的其他节点起到隐私保护的作用。
93.在一个实施例中,任务处理系统中的多个节点在应用层中环形连接,且环形连接的多个节点具有对应的节点次序,换句话说,多个节点可以在应用层中形成有向圆环结构,例如,针对节点1、节点2、节点3
……
节点n-1、节点n,在应用层上的连接方式可以如图3所示,图3中的节点编号用于指示节点在环形结构中的节点次序。
94.相应地,步骤s204中将当前节点的下一节点确定为当前节点,可以包括:
95.在环形连接的多个节点中,将与当前节点连接且节点次序在当前节点之后的下一节点,确定为当前节点。
96.具体而言,在获取到待处理的任务后,可以在多个节点选取一个节点作为当前节点,例如随机地选取一个节点作为开始处理任务的当前节点,例如,图3所示的环形结构中,可以将节点1作为首个处理子任务的节点,也可以随机选取节点6作为首个处理子任务的节点。
97.在对当前节点进行更新时,可以先在环形连接的多个节点中确定与当前节点连接的节点,由于多个节点环形连接,每个节点与两个节点连接。在得到与当前节点连接的两个节点后,可以将节点次序在当前节点之后的下一节点,确定为当前节点。在一些可选的实施例中,当前节点可以知道与其连接且节点次序在后的下一节点,进而在当前节点结束本次针对子任务的处理或者根据随机提示不对子任务进行处理的情况下,可以自动将任务流转到该下一节点。
98.在本实施例中,通过在应用层中将多个节点环形连接,并将与当前节点连接且节点次序在当前节点之后的下一节点确定为当前节点,能够实现任务在节点多个节点之间的有序流转,每个节点都有机会获取到任务中与节点对应的子任务,从而保证在任务在多个节点之间流转多次后,各节点都可以完成其对应的子任务。
99.在一个实施例中,s202获取随机提示,可以包括如下步骤:
100.获取随机数;若随机数大于或等于当前节点对应的阈值,则生成指示处理子任务的随机提示;若随机数小于当前节点对应的阈值,则生成指示不处理子任务的随机提示,并调减当前节点对应的阈值。
101.具体实现中,可以获取在预设区间内的随机数,如产生一个在[0,1]区间内的随机数p,并确定当前节点对应的阈值。其中,不同节点的阈值可以相同,也可以存在差异,例如可以随机地为多个节点分配阈值。
[0102]
进而,可以将当前获取到的随机数与当前节点对应的阈值进行比较,若随机数大于或等于当前节点对应的阈值,则可以生成指示处理子任务的随机提示;若随机数小于当前节点对应的阈值,则在生成指示不处理子任务的随机提示后,还进一步调减当前节点对应的阈值,在调减阈值时可以按照预设的幅度进行调减,例如在每次调减时将阈值下调0.1或0.05,本领域技术人员可以根据实际情况设置阈值条件的幅度,本实施例对此不作限制。
[0103]
在本实施例中,通过将随机数与当前节点对应的阈值进行比较,可以根据比较结果获取到随机生成的随机提示,增加当前节点是否处理其对应子任务的随机性和不可预见性,使得下一节点无法知悉任务当前的任务结果是否与当前节点关联;并且,在随机数小于当前节点对应的阈值的情况下,除了生成指示不处理子任务的随机提示以外,通过调减当前节点对应的阈值,使得任务在多个节点之间的过程中,即使当前节点在本次不对其子任务进行处理,但随着任务流转次数的增多,每个节点处理其对应的子任务的概率也将增加,使得子任务以及包含多个子任务的任务可以顺利完成。
[0104]
在一个实施例中,如图4所示,s203在子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点,可以包括如下步骤:
[0105]
s401,在子任务中的至少部分处理完毕后,根据子任务的处理情况确定任务当前的进度信息。
[0106]
s402,若进度信息指示任务未完成,则将当前节点的下一节点确定为当前节点。
[0107]
作为一示例,进度信息可以表征任务的处理进度,例如,进度信息可以指示任务已完成或未完成,又或者,进度信息可以表征任务中已完成和/或未完成的子任务。
[0108]
在本步骤中,在当前节点对子任务中的至少部分处理完毕后,例如将子任务完全处理或将子任务中的部分处理,则可以确定当前节点针对子任务的处理情况,并根据该处理情况确定任务当前的进度信息。
[0109]
具体而言,任务由多个子任务构成,各个子任务的完成情况将影响任务的处理进度,因此,当前节点在对子任务进行处理时,可以根据本次处理后子任务是否完成得到子任务的处理情况。若当前节点子任务的处理情况为未完成,则不更新任务的进度信息,并将任务原有的进度信息确定为任务当前的进度信息;若当前节点子任务的处理情况为已完成,则可以相应更新任务的进度信息,并根据更新后的进度信息作为任务当前的进度信息。
[0110]
在确定任务的进度信息指示任务未完成的情况下,可以将当前节点的下一节点确定为当前节点。
[0111]
在本实施例中,可以在进度信息指示任务未完成时,将当前节点的下一节点确定为当前节点,及时进行节点更新。
[0112]
在一个实施例中,任务可以携带有任务描述信息,在一种可选的实施例中,任务描述信息可以通过令牌实现,任务在多个节点之间的流转,可以通过在多个节点之间流转令牌实现,例如可以将令牌发送给当前节点,当前节点在获取到令牌后,通过读取令牌中的信息,可以确定待处理的任务中与当前节点对应的子任务。
[0113]
如图5所示,根据子任务的处理情况确定任务当前的进度信息,可以包括:
[0114]
s501,当子任务的处理情况为已完成,获取任务携带的任务描述信息;任务描述信息中包括多个节点标志,多个节点标志的标志数量与多个节点的节点数量相匹配,节点标志用于指示子任务是否完成。
[0115]
具体实现中,在当前节点对当前节点对应的子任务进行处理后,若本次处理后的处理情况为子任务已完成,可以进一步获取任务携带的任务描述信息。
[0116]
该任务描述信息中可以预先设置有多个节点标志,节点标志用于指示子任务是否完成。例如,在子任务未完成的情况下,可以用预设的第一标志作为节点标志,第一标志用于指示子任务未完成;在子任务已完成的情况下,可以用预设的第二标志作为节点标志,第
二标志用于指示子任务已完成,在一示例中,第一标志可以是0,第二标志可以为1。此外,任务描述信息中的节点标志的数量与多个节点的节点数量相匹配,节点标志的数量与节点数量呈正比例关系,例如节点标志的数量与节点数量相同。
[0117]
s502,更新任务描述信息中任一指示子任务未完成的节点标志,得到更新后的任务描述信息;更新后的节点标志用于指示子任务完成。
[0118]
实际应用中,任务描述信息中的各个节点标志与节点可以不存在对应关系,即节点标志可仅指示子任务是否完成,而不指示完成子任务的具体节点。相应地,在获取到任务描述信息后,可以确定任务描述信息中任意一个指示子任务未完成的节点标志,并将该节点标志更新为用于指示子任务已完成的节点标志,从而可以得到更新后的任务描述信息。
[0119]
s503,基于更新后的任务描述信息确定任务当前的进度信息。
[0120]
具体地,更新后的任务描述信息中的节点标志,记录了多个节点的子任务的完成情况,在得到更新后的任务描述信息后,可以基于更新后的任务描述信息确定多个子任务的完成情况,从而确定出任务当前的进度信息。
[0121]
在本实施例中,在子任务完成的情况下,可以更新任务描述信息中任一指示子任务未完成的节点标志,由于该节点标志不具有指向性,从而在更新任务当前的进度信息的同时,可以避免泄露当前节点的子任务处理情况。
[0122]
在一个实施例中,s503中基于更新后的任务描述信息确定任务当前的进度信息,可以包括:
[0123]
获取更新后的任务描述信息中的各个节点标志;若各个节点标志中存在至少一个指示子任务未完成的节点标志,则得到任务未完成的进度信息。
[0124]
在实际应用中,可以获取更新后的任务描述信息中的各个节点标志,若获取到的多个节点标志中存在至少一个指示子任务未完成的节点标志,可以确定任务所包含的多个子任务中存在至少一个未完成的子任务,从而得到任务未完成的进度信息。若各个节点标志均为指示子任务完成的节点标志,则可以得到任务已完成的进度信息。
[0125]
例如,在未开始处理任务时,任务令牌中的各个节点标志均为0,在一节点完成了其对应的子任务时,可以将任务描述信息中的任意一个0修改为1,当令牌中的各个节点标志均为0时,则可以确定任务已完成。
[0126]
在本实施例中,通过读取更新后的任务描述信息中的各个节点标志,可以在不泄露任意节点子任务处理情况的同时,快速得到任务的进度信息。
[0127]
在一个实施例中,任务描述信息中可以记录有任务的任务结果,在根据子任务的处理情况确定任务当前的进度信息之后,还可以包括:
[0128]
根据子任务的处理情况,更新任务描述信息中的任务结果。
[0129]
具体而言,子任务的处理情况与任务的任务结果相关联,随着子任务的处理情况不断更新,任务的任务结果也相应发生变化。在本实施例中,除了可以根据子任务的处理情况确定任务当前的进度信息以外,还可以根据子任务的处理情况对任务描述信息中的任务结果进行更新,进而随着不同的节点被触发处理其子任务,任务描述信息中的任务结果也可以相应改变。示例性,在任务描述信息为令牌的情况下,令牌可以包括子任务描述信息、节点标志和任务当前的任务结果,令牌的格式可以如下表1所示:
[0130]
表1
[0131]
子任务描述信息节点标志任务的任务结果
[0132]
s205在各节点的子任务完成的情况下,获取任务的最终任务结果,可以包括如下步骤:
[0133]
触发当前节点从任务描述信息中获取任务当前的任务结果,作为任务的最终任务结果,并由当前节点将任务描述信息传递到当前节点以外的其他节点。
[0134]
在各节点的子任务已经完成的情况下,可以确定各节点子任务的处理情况可以不再发生变化,可以认为任一节点都不再调整任务描述信息中记录的任务结果,进而可以触发当前节点从任务描述信息中获取任务当前的任务结果,并将获取到的任务结果作为任务的最终任务结果。示例性地,当前节点可以是最后一个完成子任务的节点,当然,也可以是其他节点,例如在各节点都完成了其对应的子任务后,从多个节点中随机确定一个节点作为当前节点。
[0135]
在当前节点获取到最终任务结果后,可以由当前节点将任务描述信息继续传递到当前节点以外的其他节点,其他节点可以是一个或多个节点。在其他节点为当前节点的下一节点时,可以通过本技术所提供的任一确定下一节点的方式实现,然后,可以将下一节点确定为当前节点,并继续触发当前节点从任务描述信息中获取当前的任务结果作为最终任务结果,从而实现最终任务结果在多个节点之间的传递和分享。
[0136]
在一个实施例中,节点标志还可用于指示节点是否已获取到最终任务结果,例如,在当前节点获取到最终任务结果后,可以将任务描述信息中的任一非预设节点标志更新为预设节点标志,其中,预设节点标志为指示最终任务结果已获取的标志。
[0137]
为了使本领域技术人员能够更好地理解上述步骤,以下通过一些例子对本技术实施例加以示例性说明,但应当理解的是,本技术实施例并不限于此。
[0138]
示例一:
[0139]
a城市有n(n≥3)家机构,每个机构存储有该机构对应的资源余量数据xi,在统计多个机构资源余量数据的总额时,可以在应用层中对n家机构建立一个通信网络,该通信网络的结构为有向圆环(例如成顺时针方向的圆环),每个机构作为一个该通信网络中的一个节点。并且,可以预先设置任务的令牌,该令牌的内容如下表2所示:
[0140]
表2
[0141]
a0,0,0

,0c
[0142]
a为每个节点的子任务描述信息,在本示例中其描述为“c:=c x
i”,其中,xi为第i个节点的资源余量数据,c为任务结果,当前的初始值为0。
[0143]
然后,可以将任务的令牌在多个节点之间进行传递,每个节点在获取到令牌后,可以根据本技术所提供的任务处理方法,随机地确定是否处理当前节点对应的子任务,并将令牌继续传递给下一节点。令牌在多个节点之间传递一次或多次后,各节点完成子任务,令牌内容如表3所示:
[0144]
表3
[0145]
a1,1,1

,1c
[0146]
其中,即为各机构累加的资源余量数据。
[0147]
在各节点完成其对应的子任务后,令牌可以继续在多个节点之间进行传递,每个
节点可以从令牌中获取当前的任务结果,并更新节点标志,在各节点都取回任务结果后,令牌内容如表4所示:
[0148]
表4
[0149]
a2,2,2

,2c
[0150]
任一节点节点标志全为2的令牌后,可以将其丢弃。
[0151]
示例二:
[0152]
在统计b区域的人均可获取资源时,b区域中的n家机构,每家机构可以预先确定在该就获取资源的人数,以及,派发的资源总量,进而在计算人均可获取资源时,可以预先生成令牌1和令牌2,其中,令牌1的任务c1为统计b区域获取资源的人数,令牌2的任务c2为b区域派发的资源总量的汇总。进而可以根据c1/c2确定出人均可获取资源。在本实施例中,可以将在多个节点之间同时传递多个任务的令牌,完成隐私计算的任务。
[0153]
示例三:
[0154]
在协同计算或隐私计算中,各节点可以获取初始化参数,传统方式中采用的方法往往是各自独立地随机初始化,但在各节点的参数相互关联的情况下,则传统方式无法同时兼顾参数关联以及参数的随机获取。例如各节点参数αi有约束条件
[0155]
在本示例中,各节点需要获取随机生成且存在关联关系的初始化参数,可以设置如下表5所示的令牌:
[0156]
表5
[0157]
a0,0,0

,0(α1,α2,

,αn)
[0158]
其中,(α1,α2,

,αn)为随机化的一个数组c,且满足约束条件a子任务描述信息为:节点从数组c中取出一个数作为初始化参数,并在数组c中删该节点所取出的数。
[0159]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0160]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的任务处理方法的任务处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个任务处理装置实施例中的具体限定可以参见上文中对于任务处理方法的限定,在此不再赘述。
[0161]
在一个实施例中,如图6所示,提供了一种任务处理装置,包括:
[0162]
子任务确定模块601,用于确定待处理的任务中当前节点对应的子任务;所述当前节点为多个节点中的一个节点;
[0163]
随机提示获取模块602,用于在当前节点的所述子任务未完成的情况下,获取随机提示;所述随机提示指示处理或不处理所述子任务;
[0164]
节点更新模块603,用于若所述随机提示指示处理所述子任务,则由当前节点对所述子任务进行处理,并在所述子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点;若所述随机提示指示不处理所述子任务的情况下,则将当前节点的下一节点确定为当前节点;
[0165]
子任务处理模块604,用于返回执行所述确定待处理的任务中当前节点对应的子任务的步骤,直到所述待处理的任务中包含的各节点的子任务完成;
[0166]
任务结果获取模块605,用于在各节点的子任务完成的情况下,获取所述任务的最终任务结果。
[0167]
在一个实施例中,所述任务处理装置,还包括:
[0168]
任务流转模块,用于若当前节点的所述子任务已完成,则将当前节点的下一节点确定为当前节点,并返回执行所述确定待处理的任务中当前节点对应的子任务的步骤。
[0169]
在一个实施例中,所述多个节点在应用层中环形连接,所述节点更新模块603,具体用于:
[0170]
在环形连接的所述多个节点中,将与当前节点连接且节点次序在当前节点之后的下一节点,确定为当前节点。
[0171]
在一个实施例中,所述随机提示获取模块602,具体用于:
[0172]
获取随机数;
[0173]
若所述随机数大于或等于所述当前节点对应的阈值,则生成指示处理所述子任务的随机提示;
[0174]
若所述随机数小于所述当前节点对应的阈值,则生成指示不处理所述子任务的随机提示,并调减当前节点对应的阈值。
[0175]
在一个实施例中,所述节点更新模块603,包括:
[0176]
任务进度信息确定子模块,用于在所述子任务中的至少部分处理完毕后,根据所述子任务的处理情况确定所述任务当前的进度信息;
[0177]
节点确定子模块,用于若所述进度信息指示所述任务未完成,则将当前节点的下一节点确定为当前节点。
[0178]
在一个实施例中,所述任务进度信息确定子模块,具体用于:
[0179]
当所述子任务的处理情况为已完成,获取所述任务携带的任务描述信息;所述任务描述信息中包括多个节点标志,所述多个节点标志的标志数量与所述多个节点的节点数量相匹配,所述节点标志用于指示子任务是否完成;
[0180]
更新所述任务描述信息中任一指示子任务未完成的节点标志,得到更新后的任务描述信息;更新后的节点标志用于指示子任务完成;
[0181]
基于更新后的任务描述信息确定所述任务当前的进度信息。
[0182]
在一个实施例中,所述任务进度信息确定子模块,具体用于:
[0183]
获取更新后的任务描述信息中的各个节点标志;
[0184]
若所述各个节点标志中存在至少一个指示子任务未完成的节点标志,则得到所述任务未完成的进度信息。
[0185]
在一个实施例中,所述任务描述信息中记录有所述任务的任务结果,所述任务处理装置,还用于:
[0186]
根据所述子任务的处理情况,更新所述任务描述信息中的任务结果;
[0187]
所述任务结果获取模块605,具体用于:
[0188]
在各节点的子任务完成的情况下,触发当前节点从所述任务描述信息中获取所述任务当前的任务结果,作为所述任务的最终任务结果,并由当前节点将所述任务描述信息传递到当前节点以外的其他节点。
[0189]
上述任务处理方法装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0190]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储任务数据或子任务数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种任务处理方法。
[0191]
本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0192]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
[0193]
确定待处理的任务中当前节点对应的子任务;所述当前节点为多个节点中的一个节点;
[0194]
在当前节点的所述子任务未完成的情况下,获取随机提示;所述随机提示指示处理或不处理所述子任务;
[0195]
若所述随机提示指示处理所述子任务,则由当前节点对所述子任务进行处理,并在所述子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点;若所述随机提示指示不处理所述子任务的情况下,则将当前节点的下一节点确定为当前节点;
[0196]
返回执行所述确定待处理的任务中当前节点对应的子任务的步骤,直到所述待处理的任务中包含的各节点的子任务完成;
[0197]
在各节点的子任务完成的情况下,获取所述任务的最终任务结果。
[0198]
在一个实施例中,处理器执行计算机程序时还实现上述其他实施例中的步骤。
[0199]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0200]
确定待处理的任务中当前节点对应的子任务;所述当前节点为多个节点中的一个节点;
[0201]
在当前节点的所述子任务未完成的情况下,获取随机提示;所述随机提示指示处理或不处理所述子任务;
[0202]
若所述随机提示指示处理所述子任务,则由当前节点对所述子任务进行处理,并在所述子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点;若所述
随机提示指示不处理所述子任务的情况下,则将当前节点的下一节点确定为当前节点;
[0203]
返回执行所述确定待处理的任务中当前节点对应的子任务的步骤,直到所述待处理的任务中包含的各节点的子任务完成;
[0204]
在各节点的子任务完成的情况下,获取所述任务的最终任务结果。
[0205]
在一个实施例中,计算机程序被处理器执行时还实现上述其他实施例中的步骤。
[0206]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0207]
确定待处理的任务中当前节点对应的子任务;所述当前节点为多个节点中的一个节点;
[0208]
在当前节点的所述子任务未完成的情况下,获取随机提示;所述随机提示指示处理或不处理所述子任务;
[0209]
若所述随机提示指示处理所述子任务,则由当前节点对所述子任务进行处理,并在所述子任务中的至少部分处理完毕后,将当前节点的下一节点确定为当前节点;若所述随机提示指示不处理所述子任务的情况下,则将当前节点的下一节点确定为当前节点;
[0210]
返回执行所述确定待处理的任务中当前节点对应的子任务的步骤,直到所述待处理的任务中包含的各节点的子任务完成;
[0211]
在各节点的子任务完成的情况下,获取所述任务的最终任务结果。
[0212]
在一个实施例中,计算机程序被处理器执行时还实现上述其他实施例中的步骤。
[0213]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0214]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0215]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0216]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献