任务监控系统、方法、装置、电子设备和存储介质与流程

文档序号:28678964发布日期:2022-01-29 00:28阅读:168来源:国知局
任务监控系统、方法、装置、电子设备和存储介质与流程

1.本技术实施例涉及计算机技术领域,特别是涉及一种任务监控系统、方法、装置、电子设备和存储介质。


背景技术:

2.随着计算服务的不断发展,在任务处理过程中,通常需要对一些任务进行任务监控。例如,对于一些需要异步处理任务或者需重试的任务,需要监控其任务状态,以保证该任务能够及时处理。
3.现有的方式,通常是由单台服务器循环查询数据库中记录的任务状态,以确定其是否处于最终状态(如执行成功状态或执行失败状态)。若未处于最终状态,则需要继续执行该任务直至任务完成。然而,由于单台服务器的计算能力有限,当任务规模增加到一定程度时,单台服务器的响应速度会明显降低,造成任务无法及时处理,甚至导致系统宕机,因而无法适用于高任务量的任务监控场景。


技术实现要素:

4.本技术实施例提出了任务监控系统、方法、装置、电子设备和存储介质,以充分利用了服务器集群的计算资源,能够适用于高任务量的任务监控场景。
5.第一方面,本技术实施例提供了一种任务监控系统,包括:调度中心,用于向服务器集群中的第一服务器发送任务指令;所述第一服务器,用于响应于接收到所述任务指令,选取所述服务器集群中的至少一个第二服务器,向所选取的第二服务器分发携带任务类别标识的任务获取请求;所述第二服务器,用于基于所述任务类别标识,获取相应类别的待处理任务的任务编码,选取所述服务器集群中的至少一个第三服务器,向所选取的第三服务器分发包含所述任务编码的任务处理请求;所述第三服务器,用于处理所述任务编码指示的待处理任务,并基于处理结果更新所述待处理任务的任务状态。
6.第二方面,本技术实施例提供了一种任务监控系统,包括:调度中心,用于向服务器集群中的第一层服务器发送任务指令,其中,所述服务器集群包括n层服务器,n为大于1的整数;所述服务器集群中的第m层服务器,用于获取任务相关信息,并基于所述任务相关信息向所述服务器集群中的第m+1层服务器分发任务请求,其中,m为大于或等于1且小于n的整数;所述服务器集群中的第n层服务器,用于处理所述任务请求所指示的待处理任务,并基于处理结果更新所述待处理任务的任务状态。
7.第三方面,本技术实施例提供了一种智能家居系统,包括:调度中心,用于向智能家居服务器集群中的第一智能家居服务器发送任务指令;所述第一智能家居服务器,用于响应于接收到所述任务指令,选取所述智能家居服务器集群中的至少一个第二智能家居服务器,向所选取的第二智能家居服务器分发携带任务类别标识的智能家居任务获取请求;所述第二智能家居服务器,用于基于所述任务类别标识,获取相应类别的待处理智能家居任务的任务编码,选取所述智能家居服务器集群中的至少一个第三智能家居服务器,向所
选取的第三智能家居服务器分发包含所述任务编码的智能家居任务处理请求;所述第三智能家居服务器,用于处理所述任务编码指示的待处理智能家居任务,基于处理结果更新所述待处理智能家居任务的任务状态。
8.第四方面,本技术实施例提供了一种任务监控方法,包括:调度中心向服务器集群中的第一服务器发送任务指令;所述第一服务器响应于接收到所述任务指令,选取所述服务器集群中的至少一个第二服务器,向所选取的第二服务器分发携带任务类别标识的任务获取请求;所述第二服务器基于所述任务类别标识,获取相应类别的待处理任务的任务编码,选取所述服务器集群中的至少一个第三服务器,向所选取的第三服务器分发包含所述任务编码的任务处理请求;所述第三服务器处理所述任务编码指示的待处理任务,基于处理结果更新所述待处理任务的任务状态。
9.第五方面,本技术实施例提供了一种任务监控方法,应用于服务器集群中的服务器,包括:接收任务获取请求,所述任务获取请求中包括任务类别标识;将所述任务类别标识指示的类别作为目标类别,查询所述目标类别的待处理任务,并批量获取所述待处理任务的任务编码;选取服务器集群中的至少一个服务器,向所选取的服务器分发包含所述任务编码的任务处理请求,以使所选取的服务服务器并行处理所述待处理任务以及基于处理结果更新所述待处理任务的任务状态。
10.第六方面,本技术实施例还提供了一种任务监控装置,应用于服务器集群中的服务器,包括:接收单元,被配置成接收任务获取请求,所述任务获取请求中包括任务类别标识;获取单元,被配置成将所述任务类别标识指示的类别作为目标类别,查询所述目标类别的待处理任务,并批量获取所述待处理任务的任务编码;分发单元,被配置成选取服务器集群中的至少一个服务器,向所选取的服务器分发包含所述任务编码的任务处理请求,以使所选取的服务服务器并行处理所述待处理任务以及基于处理结果更新所述待处理任务的任务状态。
11.第七方面,本技术实施例还提供了一种电子设备,包括:处理器;以及存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本技术实施例中一个或多个所述的任务监控方法。
12.第八方面,本技术实施例还提供了一个或多个机器可读介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本技术实施例中一个或多个所述的任务监控方法。
13.与现有技术相比,本技术实施例包括以下优点:
14.在本技术实施例中,通过调度中心向服务器集群中的第一服务器发送任务指令,而后在第一服务器接收到任务指令后选取服务器集群中的至少一个第二服务器,向所选取的第二服务器分发携带任务类别标识的任务获取请求,之后由第二服务器基于任务类别标识,获取相应类别的待处理任务的任务编码,选取服务器集群中的至少一个第三服务器,向所选取的第三服务器分发包含任务编码的任务处理请求,最后由第三服务器处理任务编码指示的待处理任务,并基于处理结果更新待处理任务的任务状态。此过程由服务器集群中的多层服务器进行多次任务分发并分别执行不同的操作,充分利用了服务器集群的计算资源进行任务监控和任务处理,突破单机计算资源受限的瓶颈,能够适用于高任务量的任务监控场景。同时,上述分发逻辑以及处理逻辑可预先配置并集成至一个组件,针对不同系统
的任务监控需求,可复用该组件实现任务监控,因而大大降低了开发成本。
附图说明
15.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本技术的其它特征、目的和优点将会变得更明显:
16.图1是本技术实施例针对的应用场景中常规技术的处理示意图;
17.图2是本技术实施例的一种任务状态监控系统的示例性系统架构图;
18.图3是本技术实施例的一种任务状态监控系统的任务处理过程示意图;
19.图4是本技术的任务监控方法的一个实施例的流程图;
20.图5是本技术的任务监控方法的又一个实施例的流程图;
21.图6是本技术的任务监控装置的一个实施例的结构示意图。
22.图7是本技术一实施例提供的装置的结构示意图。
具体实施方式
23.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
24.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
25.首先,结合图1示出的常规技术的一个具体应用场景进行说明。
26.如图1所示,在常规技术中的智能家居系统中,存在一些需要进行异步处理的任务,如指示智能家居设备定时打开窗帘的任务。由于不需要立刻执行对该任务的处理操作,因而需要对该任务的状态进行监控,以保证异步处理能够正常执行。此外,还存在一些需要重复执行的任务,如在识别到监控设备采集的图像中包含陌生人脸后向用户设备发送通知的任务。若因用户设备关机或无网络信号等原因导致任务未执行成功,则需要不断重新执行该任务,直至达到最终状态(如处理成功或达到预设次数后仍未成功)。因而,需要对该任务进行监控,以便决定是否重新执行该任务。
27.现有技术通常是由某一固定的智能家居服务器循环查询数据库中记录的任务状态,或者,由调度中心触发某一台智能家居服务器循环查询数据库中记录的任务状态,进而确定各任务是否处于最终状态。在确定出某任务未处于最终状态时,则检测当前是否需要执行该任务。若需要执行该任务,则由该智能家居服务器继续执行该任务直至任务完成,并在任务完成后更新任务状态。该智能家居服务器需要循环执行上述步骤,以进行任务的监控和处理。
28.然而,随着任务规模的增大和任务类型的增加,单台服务器的cpu(central processing unit,中央处理器)利用率、内存占用率等性能指标已不能满足需要。因而,亟需一种任务监控方案,以适应于高任务量场景。
29.为此,本技术提供了一种任务监控系统,可以利用服务器集群的计算资源进行任务监控和任务处理,可突破单机计算资源受限的瓶颈,从而能够适应于高任务量的场景。
30.请参见图2,本技术实施例提供的任务监控系统,包括调度中心和服务器集群。调
度中心是对计算资源进行综合调度的中心,能够提供统一通用的计算资源调度服务,同时能够触发定时任务。服务器集群中可以包括多个服务器。服务器集群中的服务器可以执行任务的处理、分发等操作。服务器集群中的服务器可以是云服务器,也可以是物理服务器。本技术实施例对服务器集群中的服务器的类型和数量不做限定。
31.在图2示出的系统架构下,图1的应用场景中的任务监控和处理过程可以通过图2中的任务监控系统完成。结合到图1的应用场景,任务监控系统可以是智能家居系统,服务器集群可以是用于监控和处理智能家居相关任务的智能家居服务器集群。
32.利用任务监控系统进行任务监控的过程可参见图3,包括如下步骤:
33.第一步,调度中心301向服务器集群302中的第一服务器3021发送任务指令。第一服务器3021可以是服务器集群302中的任一服务器。调度中心301可以随机选取服务器集群302中的任一服务器作为第一服务器3021。任务指令可用于触发任务监控和任务处理操作。任务指令可通过手动触发,也可自动定时触发。
34.在一些可选的实现方式中,调度中心301可以在预设的计划任务表达式所指示的时间,向服务器集群302中的第一服务器3021发送任务指令。其中,计划任务表达式可用于设置周期性被执行的指令,从而调度中心可定时循环触发服务器集群中的某一服务器进行任务监控。
35.需要说明的是,计划任务表达式是一个字符串。该字符串以5或6个空格隔开,从而分为6个域或7个域,每一个域代表一个含义。根据域的数量的不同,计划任务表达式存在两种表达形式。其中,具有6个域的计划任务表达式依次包含以下内容:秒(seconds)、分(minutes)、小时(hours)、日期(day of month)、月份(month)和星期(day of week)。具有7个域的计划任务表达式除包含上述列举的内容外,还包含年(year)。通过在各域中设置字符或字符串,可实现不同的定时功能。例如,计划任务表达式为“0(空格)15(空格)10(空格)?(空格)6l(空格)2002-2006”,表示2002-2006年的每个月的最后一个星期五上午10:15执行操作。
36.第二步,第一服务器3021响应于接收到任务指令,选取服务器集群302中的至少一个第二服务器3022,向所选取的第二服务器3022分发携带任务类别标识的任务获取请求。其中,任务类别标识可用于指示任务的类别。任务的类别可以根据各种预设的划分方式进行划分。
37.在一些示例中,任务的类别可预先根据场景进行划分。此时,每一种场景中产生的任务可划分为一类。场景的划分方式不作限定,例如,可包括指令下发场景、信息上传场景、用户交互场景中的一项或多项。相对应地,任务的类别可包括指令下发任务、信息上传任务、用户交互任务中的一项或多项。其中,指令下发任务中所下发的指令可以包括但不限于关闭指令、重启指令、开机指令等。信息上传任务中所上传的信息可以包括但不限于文本、图像、视频数据、音频数据等。用户交互任务可以是向用户设备传输信息的任务,如在使用监控设备进行监控时,若通过监控设备采集到某一陌生人脸图像,则需要将该图像或相关信息(如报警信息)发送到用户设备,该任务即为用户交互任务。
38.在另一些示例中,任务的类别可预先通过用户标识进行划分。其中,用户标识可以是用于识别用户身份的字符串。该字符串可包括但不限于字母、数字等字符。不同的用户具有不同的用户标识。例如,用户a的用户标识为123456,用户b的用户标识为234567。通过用
户标识进行任务类别的划分时,可采用多种方式实现。例如,可将末尾两个字符相同的用户标识涉及的任务划分至同一类别。再例如,可将首位字符相同的用户标识涉及的任务划分至同一类别。
39.任务的类别的划分方式还可根据需要进行其他设定,如可根据任务的执行方式划分为异步处理任务、重复处理任务、状态流转任务等,本技术实施例对此不作限定。
40.需要说明的是,每一个任务产生时,均可落入流水表中,且不同类别的任务可落入不同流水表中。流水表中可记录有任务数据,任务数据可包括任务编码(如id)以及与任务相关的各种信息。与此同时,一些异常任务、需要异步执行的任务或需要重复执行的任务在落表时,除落入相应类别的流水表外,还可落入预先建立的守护任务表中。守护任务表中的每一项记录可对应一个任务。守护任务表中的记录可通过任务编码与流水表中的记录进行对应。守护任务表可关联各个类别的流水表。守护任务表中的记录中除包含任务编码外,还可以包含任务的任务类别标识、任务状态标识等信息。此外,还可包含一些任务配置信息,如可包括但不限于以下只扫一项:执行次数阈值、已执行次数、执行间隔时长、用于指示任务是否能够被同时执行的标识等。
41.由于流水表通常需要满足实时响应需求,为避免服务器集群中的服务器在查询任务时频繁读取流水表,可通过查询守护任务表中的相关信息,来确定待处理的任务,如未执行完成的任务,由此,可避免在进行任务状态守护时影响流水表的数据读写性能。
42.此外,当需要对任务的类别进行扩展时,如任务的类别在上述通过任场景划分的示例中,增加了一项交易场景中的任务,则可在该类任务落表至相应的流水表时,在其满足某些条件的情况下(如该任务处理异常、需异步处理、需重复处理等)同时落表至守护任务表。由此,即可实现对进行任务监控的任务的灵活扩展,且能够满足不同场景下的任务监控需求。
43.第一服务器3021所发送的每一个任务获取请求可携带一种任务类别标识。例如,共有10种任务类型,则可创建10个任务获取请求,不同的任务获取请求携带不同的任务类别标识。第一服务器3021在分发携带任务类别标识的任务获取请求时,可分别将不同的任务获取请求分发至不同的第二服务器中。例如,将上述10个任务获取请求分别发送到10个第二服务器,使每个第二服务器获取到一个任务获取请求。也可以向同一个第二服务器发送两个或两个以上任务获取请求。例如,将10个任务获取请求分发给8个第二服务器。
44.在一些可选的实现方式中,第一服务器3021在选取服务器集群302中的第二服务器3022时,可随机从服务器集群302中选取若干服务器作为第二服务器,也可以采用负载均衡算法等方式选取若干服务器作为第二服务器。其中,在采用负载均衡算法选取第二服务器时,可利用网格技术确定服务器集群302中的计算资源。网格技术是一种利用互联网把计算资源连成一个逻辑整体以为用户提供服务的技术,从而可有效利用计算资源。此处,可对网格资源进行调度,并将所调度的网格资源所属的服务器作为第二服务器。需要说明的是,第一服务器也可作为第二服务器的中其中一台服务器。
45.第三步,第二服务器3022基于任务类别标识,获取相应类别的待处理任务的任务编码,选取服务器集群302中的至少一个第三服务器,向所选取的第三服务器分发包含任务编码的任务处理请求。
46.具体地,每一个第二服务器在接收到任务获取请求后,可以读取该任务获取请求
携带的任务类别标识,而后可以获取该任务类别标识所指示类别的待处理任务的任务编码。任务编码可以是指示任务的唯一标识,不同任务具有不同的任务编码。其中,待处理任务可以是尚未处理完成的任务。在获取到待处理任务的任务编码后,该第二服务器可以选取服务器集群302中的至少一个第三服务器3023,向所选取的第三服务器3023分发包含任务编码的任务处理请求。此处,第二服务器3022选取第三服务器3023的方式可参见第一服务器3021选取第二服务器3022的方式,如随机选取、采用负载均衡算法等方式选取等,此处不再赘述。需要说明的是,第二服务器中的一个或多个也可作为第三服务器。
47.第二服务器3022所发送的每一个任务处理请求可携带一个任务编码。例如,第二服务器3022获取到100个待处理任务的任务编码,则可创建100个任务处理请求。不同的任务处理请求携带的任务编码不同。每一个第二服务器3022在分发携带任务编码的任务处理请求时,可分别将不同的任务处理请求分发至不同的第三服务器3023中。如将上述100个任务处理请求分别发送到100个第三服务器,使每个第三服务器获取到一个任务处理请求。另外,也可以向同一个第三服务器发送两个或两个以上任务处理请求。例如,将100个任务处理请求分发给20个第三服务器,各第三服务器所处理的任务处理请求的数量可以相同或不同。
48.在一些可选的实现方式中,第二服务器3022可进一步用于通过如下步骤获取待处理任务的任务编码:首先,从预先建立的守护任务表中,查询包含所接收到的任务获取请求中携带的任务类别标识的记录。例如,某一第二服务器接收到的任务获取请求中携带的任务类别标识为“type=1”,指示任务类别为信息上传场景中的任务,则该第二服务器可从守护任务表中查询包含该任务类别标识任务类别标识为“type=1”的记录。此处,守护任务表中的各记录中还包括任务编码和任务状态标识。任务状态标识可用于指示任务状态,如处理成功状态、处理失败状态、未处理完成状态。其中,处理成功状态和处理失败状态均为任务的最终状态,无需再次执行处于最终状态的任务。在查询出上述记录后,可以将任务状态标识指示未处理完成状态的任务作为待处理任务,从所查询到的记录中,批量获取待处理任务的任务编码。
49.在一些可选的实现方式中,守护任务表的记录中还包括任务配置信息。第二服务器3022可进一步用于基于任务配置信息获取待处理任务的任务编码。其中,任务配置信息包括以下至少一项:执行次数阈值、已执行次数、执行间隔时长、用于指示任务是否能够被同时执行的标识。其中,上述任务是否能够被同时执行,指同一任务在前一次执行未完成时,是否能够再次执行。例如,对于视频传输任务,执行间隔时长被设定为5分钟,但由于用户设备的网络信号较差导致传输视频需要10分钟。在设置为任务能够被同时执行的情况下,前一次上传视频过程中可以再次重新上传视频。在设置为任务不能被同时执行的情况下,则需要等待上一次视频传输完成,进行下一次视频传输。
50.在一些可选的实现方式中,第二服务器3022可进一步用于在将任务状态标识指示未处理完成的任务作为待处理任务后,通过如下步骤获取待处理任务的任务编码:
51.首先,基于任务配置信息,从待处理任务中选取目标待处理任务。作为一个示例,若任务配置信息中包含执行次数阈值和已执行次数,则可以选取已执行次数小于执行次数阈值的待处理任务作为目标待处理任务。作为又一示例,若任务配置信息中包含执行次数阈值、已执行次数和执行间隔时长,则可以选取已执行次数小于执行次数阈值且距离上一
次执行时间的间隔时长大于或等于任务配置信息中所设置的执行间隔时长的待处理任务,作为目标待处理任务。
52.而后,响应于目标待处理任务的数量小于或等于预设的单次加载任务阈值,从所查询到的记录中,获取目标待处理任务的任务编码。响应于目标待处理任务的数量大于单次加载任务阈值,从所查询到的记录中,分批次获取目标待处理任务的任务编码。例如,若目标待处理任务的数量为200,单次加载任务阈值为100,则需要分成两个批次获取目标待处理任务的任务编码。在第一个批次的目标待处理任务处理后,再选取第二个批次的目标待处理任务的任务编码。
53.第四步,第三服务器3023处理任务编码指示的待处理任务,基于处理结果更新待处理任务的任务状态。
54.具体地,每一个第三服务器在接收到任务处理请求后,可以读取该任务处理请求携带的任务编码,而后基于任务编码,从流水表中查询任务的相关数据,从而进行任务处理。任务的处理结果可以包括处理成功和处理失败。第三服务器3023可基于处理结果,更新待处理任务的任务状态。
55.在一些可选的实现方式中,第三服务器3023可以进一步用于按照如下步骤更新待处理任务的任务状态:首先将所接收到的任务处理请求中携带的任务编码作为目标任务编码,在守护任务表中查询包含目标任务编码的目标记录。之后处理该目标任务编码指示的待处理任务。响应于目标任务编码指示的待处理任务处理成功,可以更新目标记录中的任务状态标识,以使更新后的任务状态标识指示处理成功状态。由于守护任务表中的该任务的任务状态标识已更新,因而在下一次第二服务器从守护任务表中获取任务编码时,因该任务的任务状态已不为未处理完成状态,因而不作为待处理任务,从而第二服务器则不再获取该任务的任务编码。
56.在一些可选的实现方式中,第三服务器3023可以进一步用于在处理目标任务编码指示的待处理任务后,执行如下步骤:响应于目标任务编码指示的待处理任务处理失败,更新目标记录中的已执行次数,并读取目标记录中的执行次数阈值。响应于更新后的已执行次数大于或等于所读取的执行次数阈值,更新目标记录中的任务状态标识,以使更新后的任务状态标识指示处理失败状态。由于守护任务表中的该任务的任务状态标识已更新,因而在下一次第二服务器从守护任务表中获取任务编码时,因该任务的任务状态已不为未处理完成状态,因而不作为待处理任务,从而第二服务器则不再获取该任务的任务编码。
57.需要说明的是,响应于目标任务编码指示的待处理任务处理失败,若更新后的已执行次数小于所读取的执行次数阈值,则可以将该任务状态继续保持为未处理完成状态。从而该任务仍可作为待处理任务等待下一次处理。
58.在本技术实施例中的任务监控系统,首先由调度中心向服务器集群中的第一服务器发送任务指令,而后在第一服务器接收到任务指令后选取服务器集群中的至少一个第二服务器,向所选取的第二服务器分发携带任务类别标识的任务获取请求,之后由第二服务器基于任务类别标识,获取相应类别的待处理任务的任务编码,选取服务器集群中的至少一个第三服务器,向所选取的第三服务器分发包含任务编码的任务处理请求,最后由第三服务器处理任务编码指示的待处理任务,并基于处理结果更新待处理任务的任务状态。此过程由服务器集群中的服务器进行多次任务分发并分别执行不同的操作,充分利用了服务
器集群的计算资源进行任务监控和任务处理,突破了单机计算资源受限的瓶颈,能够适用于高任务量的任务监控场景。
59.同时,上述分发逻辑以及处理逻辑可预先配置并集成至一个组件。该组件可以包括但不限于守护任务表的处理逻辑、任务相关操作(如任务分类、定时调度、加载任务、执行任务等)的逻辑以及负载均衡逻辑。因而可将该组件理解为一个代码库。针对不同系统(如智能家居系统、订餐系统等)的任务监控需求,可通过调用该组件,并通过服务器集群中的服务器依赖该组件,来实现任务监控。不同系统仅需设置任务配置信息(如执行次数阈值、执行间隔时长、每次捞取的任务数量等)并设计组件依赖的守护任务表,即可进行任务监控。由于该组件可在各系统中复用,因而大大降低了开发成本。
60.本技术实施例还提供了另一种任务监控系统,包括调度中心和服务器集群。其中,服务器集群中包括n层服务器,n为大于1的整数。该任务监控系统的任务处理过程可包括如下步骤:
61.第一步,调度中心向服务器集群中的第一层服务器发送任务指令。
62.在本实施例中,第一层服务器可以是服务器集群中的任一服务器。调度中心可以随机选取服务器集群中的第一层服务器。任务指令可用于触发任务监控和任务处理操作。
63.在本实施例的一些可选的实现方式中,调度中心可以在预设的计划任务表达式所指示的时间,向服务器集群中的第一层服务器发送任务指令。
64.第二步,服务器集群中的第m层服务器,用于获取任务相关信息,并基于任务相关信息向上述服务器集群中的第m+1层服务器分发任务请求。其中,m为大于或等于1且小于n的整数。
65.在本实施例中,任务相关信息可以包括但不限于任务类别标识、任务编码、任务状态标识、任务配置信息。
66.在本实施例中,服务器集群中的服务器可按照层数从小到大的次序,依次向下一层服务器分发任务请求。例如,若n为3,则m可为1或2。此时,首先可由第一层服务器可向第二层服务器分发任务请求,而后由第二层服务器向第三层服务器分发任务请求。不同层的服务器可请求下一层服务器执行不同操作。具体地,第一层服务器响应于接收到任务指令,可以向第二层服务器分发包含携带任务类别标识的任务获取请求。第二层服务器在接收到任务获取请求后,可以基于任务类别标识获取相应类别的待处理任务的任务编码,向第三层服务器分发包含任务编码的任务处理请求。
67.需要说明的是,n的取值不限于3,还可以是2、4、5等其他数值。
68.作为示例,当n取值为2时,即服务器集群中包括两层服务器时,可由第一层服务器获取不同类别的待处理任务的任务编码,并向第二层服务器分发携带任务编码的任务处理请求,由第二服务器处理所获取的任务编码所指示的待处理任务。
69.作为又一示例,当n大于3时,即服务器集群中包括至少三层服务器时,可在第一层服务器向第二层服务器分发携带任务类别标识的任务获取请求后,由第二层服务器获取相应类别的待处理任务的任务编码,并向第三层服务器分发携带任务编码的任务处理请求。第三层服务器可对任务编码进一步划分(如按照数量平均分成多组),并分发给下一层服务器。该下一层服务器可再次划分任务编码并分发给再下一次层服务器。最终,可由最后一层服务器进行任务处理。
70.需要指出的是,服务器集群中的第m+1层服务器可由第m层服务器采用负载均衡算法选取。且不同层的服务器的数量可以是一个或多个。
71.在本实施例的一些可选的实现方式中,某一第m层服务器在接收到上一层服务器发送的携带任务类别标识的任务获取请求后,可通过如下步骤获取相应类别的待处理任务的任务编码:首先,从预先建立的守护任务表中,查询包含所接收到的任务获取请求中携带的任务类别标识的记录,其中,记录中还包括任务编码和任务状态标识;而后,将任务状态标识指示未处理完成状态的任务作为待处理任务,从所查询到的记录中,批量获取上述待处理任务的任务编码。
72.在本实施例的一些可选的实现方式中,守护任务表的记录中还可包括任务配置信息。其中,任务配置信息包括以下至少一项:执行次数阈值、已执行次数、执行间隔时长、用于指示任务是否能够被同时执行的标识。在将任务状态标识指示未处理完成的任务作为待处理任务后,可通过如下步骤批量获取待处理任务的任务编码:首先,基于任务配置信息,从待处理任务中选取目标待处理任务。而后,响应于目标待处理任务的数量小于或等于预设的单次加载任务阈值,从所查询到的记录中,获取目标待处理任务的任务编码;响应于目标待处理任务的数量大于上述单次加载任务阈值,从所查询到的记录中,分批次获取目标待处理任务的任务编码。
73.第三步,服务器集群中的第n层服务器处理请求所指示的待处理任务,并基于处理结果更新待处理任务的任务状态。
74.在本实施例的一些可选的实现方式中,第n层服务器可通过如下步骤更新上述待处理任务的任务状态:首先,将所接收到的任务处理请求中携带的任务编码作为目标任务编码,在守护任务表中查询包含目标任务编码的目标记录。而后处理目标任务编码指示的待处理任务。响应于目标任务编码指示的待处理任务处理成功,更新目标记录中的任务状态标识,以使更新后的任务状态标识指示处理成功状态。
75.在本实施例的一些可选的实现方式中,守护任务表的记录中还包括执行次数阈值和已执行次数。第n层服务器在处理目标任务编码指示的待处理任务之后,还可以执行如下步骤:响应于目标任务编码指示的待处理任务处理失败,更新上述目标记录中的已执行次数,并读取上述目标记录中的执行次数阈值。响应于更新后的已执行次数大于或等于所读取的执行次数阈值,更新上述目标记录中的任务状态标识,以使更新后的任务状态标识指示处理失败状态。
76.需要说明的是,响应于目标任务编码指示的待处理任务处理失败,若更新后的已执行次数小于所读取的执行次数阈值,则可以将该任务状态继续保持为未处理完成状态。从而该任务仍可作为待处理任务等待下一次处理。
77.本实施例各步骤与上述实施例对应步骤描述类似,具体可参见上述实施例的描述。
78.在本技术实施例中的任务监控系统,服务器集群中的n层服务器可通过逐步分发的方式执行不同操作,使原本由单一服务器执行的复杂操作分配给不同的多个服务器执行,因而充分利用了服务器集群的计算资源进行任务监控和任务处理,突破了单机计算资源受限的瓶颈,能够适用于高任务量的任务监控场景。
79.同时,上述分发逻辑以及处理逻辑可预先配置并集成至一个组件。该组件可以包
括但不限于守护任务表的处理逻辑、任务相关操作(如任务分类、定时调度、加载任务、执行任务等)的逻辑以及负载均衡逻辑。因而可将该组件理解为一个代码库。针对不同系统(如智能家居系统、订餐系统等)的任务监控需求,可通过调用该组件,并通过服务器集群中的服务器依赖该组件,来实现任务监控。不同系统仅需设置任务配置信息(如执行次数阈值、执行间隔时长、每次捞取的任务数量等)并设计组件依赖的守护任务表,即可进行任务监控。由于该组件可在各系统中复用,因而大大降低了开发成本。
80.本技术实施例还提供了一种智能家居系统,包括调度中心和智能家居服务器集群。其中,智能家居服务器集群中包括多个智能家居服务器。智能家居服务器可以是软件或硬件,此处不作限定。可以理解的是,智能家居服务器可以与用户设备、智能家居设备等通信连接。该任务监控系统的任务处理过程可包括如下步骤:
81.第一步,调度中心向智能家居服务器集群中的第一智能家居服务器发送任务指令。
82.在本实施例中,第一智能家居服务器可以是智能家居服务器集群中的任一智能家居服务器。调度中心可以随机选取智能家居服务器集群中的某一智能家居服务器作为第一智能家居服务器。
83.任务指令可用于触发任务监控和任务处理操作。此处的任务可以指智能家居任务。例如,可以包括但不限于指示智能家居定时启动或关闭的任务、指示智能家居上传信息的任务、基于智能家居(如监控设备)采集到的图像向用户设备发送信息的任务。
84.在本实施例的一些可选的实现方式中,调度中心可以在预设的计划任务表达式所指示的时间,向智能家居服务器集群中的第一智能家居服务器发送任务指令。
85.第二步,第一智能家居服务器响应于接收到任务指令,选取智能家居服务器集群中的至少一个第二智能家居服务器,向所选取的第二智能家居服务器分发携带任务类别标识的智能家居任务获取请求。
86.在本实施例的一些可选的实现方式中,智能家居任务的类别可以预先通过以下至少一项进行划分:场景、用户标识。当通过场景进行任务类别的划分时,可将每一种场景中产生的任务可划分为一类。当通过用户标识进行任务类别的划分时,可通过多种方式进行。例如,可将末尾两个字符相同的用户标识涉及的任务划分至同一类别,也可将首位字符相同的用户标识涉及的任务划分至同一类别。
87.上述场景的划分方式不作限定,例如,可包括指令下发场景、信息上传场景、用户交互场景中的一项或多项。相对应地,任务的类别可包括指令下发任务、信息上传任务、用户交互任务中的一项或多项。其中,指令下发任务中所下发的指令可以包括但不限于控制智能家居设备关闭的指令、控制智能家居设备重启的指令、控制智能家居设备开机的指令等。信息上传任务中所上传的信息可以包括但不限于文本、图像、视频数据、音频数据等。用户交互任务可以是向用户设备传输信息的任务,如在使用监控设备进行监控时,若通过监控设备采集到某一陌生人脸图像,则需要将该图像或相关信息(如报警信息)发送到用户设备,该任务即为用户交互任务。
88.在本实施例的一些可选的实现方式中,第一智能家居服务器可以采用负载均衡算法选取服务器集群中的至少一个第二智能家居服务器。
89.第三步,第二智能家居服务器,用于基于任务类别标识,获取相应类别的待处理智
能家居任务的任务编码,选取智能家居服务器集群中的至少一个第三智能家居服务器,向所选取的第三智能家居服务器分发包含任务编码的智能家居任务处理请求。
90.在本实施例的一些可选的实现方式中,第二智能家居服务器可以通过如下步骤获取相应类别的待处理智能家居任务的任务编码:首先,从预先建立的守护任务表中,查询包含所接收到的智能家居任务获取请求中携带的任务类别标识的记录,其中,记录中还包括任务编码和任务状态标识;而后,将任务状态标识指示未处理完成状态的智能家居任务作为待处理任务,从所查询到的记录中,批量获取上述待处理智能家居任务的任务编码。
91.在本实施例的一些可选的实现方式中,守护任务表的记录中还可包括任务配置信息。其中,任务配置信息包括以下至少一项:执行次数阈值、已执行次数、执行间隔时长、用于指示任务是否能够被同时执行的标识。在将任务状态标识指示未处理完成的任务作为待处理智能家居任务后,第二服务器可通过如下步骤批量获取待处理智能家居任务的任务编码:首先,基于任务配置信息,从待处理智能家居任务中选取目标待处理智能家居任务。而后,响应于目标待处理智能家居任务的数量小于或等于预设的单次加载任务阈值,从所查询到的记录中,获取目标待处理智能家居任务的任务编码;响应于目标待处理智能家居任务的数量大于上述单次加载任务阈值,从所查询到的记录中,分批次获取目标待处理智能家居任务的任务编码。
92.在本实施例的一些可选的实现方式中,第二服务器可以采用负载均衡算法选取服务器集群中的至少一个第三服务器。
93.第四步,第三智能家居服务器,用于处理任务编码指示的待处理智能家居任务,基于处理结果更新待处理智能家居任务的任务状态。
94.在本实施例的一些可选的实现方式中,第三智能家居服务器可通过如下步骤更新待处理智能家居任务的任务状态:首先,将所接收到的智能家居任务处理请求中携带的任务编码作为目标任务编码,在守护任务表中查询包含目标任务编码的目标记录。而后,处理目标任务编码指示的待处理任务。响应于目标任务编码指示的待处理智能家居任务处理成功,更新目标记录中的任务状态标识,以使更新后的任务状态标识指示处理成功状态。
95.在本实施例的一些可选的实现方式中,守护任务表的记录中还包括执行次数阈值和已执行次数。第三智能家居服务器在处理目标任务编码指示的待处理任务之后,还可以执行如下步骤:响应于目标任务编码指示的待处理智能家居任务处理失败,更新目标记录中的已执行次数,并读取目标记录中的执行次数阈值。响应于更新后的已执行次数大于或等于所读取的执行次数阈值,更新目标记录中的任务状态标识,以使更新后的任务状态标识指示处理失败状态。
96.需要说明的是,响应于目标任务编码指示的待处理智能家居任务处理失败,若更新后的已执行次数小于所读取的执行次数阈值,则可以将该任务状态继续保持为未处理完成状态。从而该智能家居任务仍可作为待处理智能家居任务等待下一次处理。
97.本实施例各步骤与上述实施例对应步骤描述类似,具体可参见上述实施例的描述。
98.在本技术实施例中的智能家居系统,由智能家居服务器集群中的智能家居服务器进行多次任务分发并分别执行不同的操作,充分利用了智能家居服务器集群的计算资源进行智能家居任务的监控和处理,突破了单机计算资源受限的瓶颈,能够适用于高任务量的
智能家居任务监控场景。
99.继续参考图4,示出了本技术的任务监控方法的一个实施例的流程图。该任务监控方法的流程,包括以下步骤:
100.步骤401,调度中心向服务器集群中的第一服务器发送任务指令。
101.在本实施例的一些可选的实现方式中,上述调度中心可以在预设的计划任务表达式所指示的时间,向上述服务器集群中的第一服务器发送任务指令。
102.步骤402,第一服务器响应于接收到任务指令,选取服务器集群中的至少一个第二服务器,向所选取的第二服务器分发携带任务类别标识的任务获取请求。
103.在本实施例的一些可选的实现方式中,任务的类别可以预先通过以下至少一项进行划分:场景、用户标识。
104.当任务根据场景划分时,可将每一种场景中产生的任务划分为一类。此处,场景的划分方式不作限定,例如,可包括指令下发场景、信息上传场景、用户交互场景中的一项或多项。相对应地,任务的类别可包括指令下发任务、信息上传任务、用户交互任务中的一项或多项。其中,指令下发任务中所下发的指令可以包括但不限于关闭指令、重启指令、开机指令等。信息上传任务中所上传的信息可以包括但不限于文本、图像、视频数据、音频数据等。用户交互任务可以是向用户设备传输信息的任务,如在使用监控设备进行监控时,若通过监控设备采集到某一陌生人脸图像,则需要将该图像或相关信息(如报警信息)发送到用户设备,该任务即为用户交互任务。
105.此处,用户标识可以是用于识别用户身份的字符串。该字符串可包括但不限于字母、数字等字符。不同的用户具有不同的用户标识。当通过用户标识进行任务类别的划分时,可采用多种方式实现。例如,可将末尾两个字符相同的用户标识涉及的任务划分至同一类别。再例如,可将首位字符相同的用户标识涉及的任务划分至同一类别。
106.在本实施例的一些可选的实现方式中,第一服务器可以采用负载均衡算法选取服务器集群中的至少一个第二服务器。
107.步骤403,第二服务器基于任务类别标识,获取相应类别的待处理任务的任务编码,选取服务器集群中的至少一个第三服务器,向所选取的第三服务器分发包含任务编码的任务处理请求。
108.在本实施例的一些可选的实现方式中,第二服务器可以通过如下步骤获取相应类别的待处理任务的任务编码:首先,从预先建立的守护任务表中,查询包含所接收到的任务获取请求中携带的任务类别标识的记录,其中,记录中还包括任务编码和任务状态标识;而后,将任务状态标识指示未处理完成状态的任务作为待处理任务,从所查询到的记录中,批量获取上述待处理任务的任务编码。
109.在本实施例的一些可选的实现方式中,守护任务表的记录中还可包括任务配置信息。其中,任务配置信息包括以下至少一项:执行次数阈值、已执行次数、执行间隔时长、用于指示任务是否能够被同时执行的标识。在将任务状态标识指示未处理完成的任务作为待处理任务后,第二服务器可通过如下步骤批量获取待处理任务的任务编码:首先,基于上述任务配置信息,从上述待处理任务中选取目标待处理任务。而后,响应于上述目标待处理任务的数量小于或等于预设的单次加载任务阈值,从所查询到的记录中,获取上述目标待处理任务的任务编码;响应于上述目标待处理任务的数量大于上述单次加载任务阈值,从所
查询到的记录中,分批次获取上述目标待处理任务的任务编码。
110.在本实施例的一些可选的实现方式中,第二服务器可以采用负载均衡算法选取服务器集群中的至少一个第三服务器。
111.步骤404,第三服务器处理任务编码指示的待处理任务,基于处理结果更新待处理任务的任务状态。
112.在本实施例的一些可选的实现方式中,第三服务器可通过如下步骤更新上述待处理任务的任务状态:首先,将所接收到的任务处理请求中携带的任务编码作为目标任务编码,在守护任务表中查询包含目标任务编码的目标记录。而后,处理目标任务编码指示的待处理任务。响应于目标任务编码指示的待处理任务处理成功,更新目标记录中的任务状态标识,以使更新后的任务状态标识指示处理成功状态。
113.在本实施例的一些可选的实现方式中,守护任务表的记录中还包括执行次数阈值和已执行次数。第三服务器在处理目标任务编码指示的待处理任务之后,还可以执行如下步骤:响应于目标任务编码指示的待处理任务处理失败,更新上述目标记录中的已执行次数,并读取上述目标记录中的执行次数阈值。响应于更新后的已执行次数大于或等于所读取的执行次数阈值,更新上述目标记录中的任务状态标识,以使更新后的任务状态标识指示处理失败状态。
114.需要说明的是,响应于目标任务编码指示的待处理任务处理失败,若更新后的已执行次数小于所读取的执行次数阈值,则可以将该任务状态继续保持为未处理完成状态。从而该任务仍可作为待处理任务等待下一次处理。
115.本实施例各步骤与上述实施例对应步骤描述类似,具体可参见上述实施例的描述。
116.本技术的上述实施例提供的方法,通过调度中心向服务器集群中的第一服务器发送任务指令,而后在第一服务器接收到任务指令后选取服务器集群中的至少一个第二服务器,向所选取的第二服务器分发携带任务类别标识的任务获取请求,之后由第二服务器基于任务类别标识,获取相应类别的待处理任务的任务编码,选取服务器集群中的至少一个第三服务器,向所选取的第三服务器分发包含任务编码的任务处理请求,最后由第三服务器处理任务编码指示的待处理任务,并基于处理结果更新待处理任务的任务状态。此过程由服务器集群中的服务器进行多次任务分发并分别执行不同的操作,充分利用了服务器集群的计算资源进行任务监控和任务处理,突破单机计算资源受限的瓶颈,能够适用于高任务量的任务监控场景。
117.继续参考图5,示出了本技术的任务监控方法的一个实施例的流程图。该任务监控方法可应用于服务器集群中的服务器,如图1所示的第二服务器。第二服务器可以是服务器集群中的任意一个或多个服务器,第二服务器可由第一服务器随机选取,或者采用负载均衡算法等选取。
118.该任务监控方法的流程,包括以下步骤:
119.步骤501,接收任务获取请求。
120.在本实施例中,任务监控方法的执行主体可以是上述第二服务器。任务获取请求中可以包括任务类别标识。任务类别标识可用于指示任务的类别。任务类别标识可由服务器集群中的任一服务器发送,如图1所示的第一服务器。实践中,第一服务器可将携带不同
任务类别标识的任务获取请求分发给一个或多个第二服务器。
121.在本实施例的一些可选的实现方式中,任务的类别可以预先通过以下至少一项进行划分:场景、用户标识。
122.当任务根据场景划分时,可将每一种场景中产生的任务划分为一类。此处,场景的划分方式不作限定,例如,可包括指令下发场景、信息上传场景、用户交互场景中的一项或多项。相对应地,任务的类别可包括指令下发任务、信息上传任务、用户交互任务中的一项或多项。其中,指令下发任务中所下发的指令可以包括但不限于关闭指令、重启指令、开机指令等。信息上传任务中所上传的信息可以包括但不限于文本、图像、视频数据、音频数据等。用户交互任务可以是向用户设备传输信息的任务,如在使用监控设备进行监控时,若通过监控设备采集到某一陌生人脸图像,则需要将该图像或相关信息(如报警信息)发送到用户设备,该任务即为用户交互任务。
123.此处,用户标识可以是用于识别用户身份的字符串。该字符串可包括但不限于字母、数字等字符。不同的用户具有不同的用户标识。当通过用户标识进行任务类别的划分时,可采用多种方式实现。例如,可将末尾两个字符相同的用户标识涉及的任务划分至同一类别。再例如,可将首位字符相同的用户标识涉及的任务划分至同一类别。
124.任务的类别的划分方式还可根据需要进行其他设定,如可根据任务的执行方式划分为异步处理任务、重复处理任务、状态流转任务等,本技术实施例对此不作限定。
125.步骤502,将任务类别标识指示的类别作为目标类别,查询目标类别的待处理任务,并批量获取待处理任务的任务编码。
126.在本实施例中,上述执行主体可以将任务获取请求中的任务类别标识指示的类别作为目标类别,查询目标类别的待处理任务,并批量获取待处理任务的任务编码。此处的待处理任务可以是尚未处理完成的任务。实践中,服务器集群可维护有一个数据表,如可称为守护任务表。该数据表可用于记录需进行任务监控的任务的相关信息,如任务状态、任务编码、任务类别等。上述执行主体可以从该守护任务表中批量查询目标类别的待处理任务,并获取所查询到的待处理任务的任务编码。
127.在实际应用中,每一个任务产生时,均可落入常规的流水表中,且不同类别的任务通常可落入不同流水表中。流水表中可记录有任务数据,任务数据可包括任务编码以及与任务相关的各种信息。与此同时,一些异常任务、需要异步执行的任务或需要重复执行的任务在落表时,除落入相应类别的流水表外,还可落入预先建立的守护任务表中。守护任务表中的每一项记录可对应一个任务。守护任务表中的记录可通过任务编码与流水表中的记录进行对应。守护任务表可关联各个类别的流水表。守护任务表中的记录中除包含任务编码外,还可以包含任务的任务类别标识、任务状态标识等信息。
128.服务器集群可对守护任务表进行维护,且可以从守护任务表中查询任务状态。由于流水表通常需要满足实时响应需求,为避免服务器集群中的服务器在查询任务时频繁读取流水表,可通过查询守护任务表中的相关信息,来确定待处理的任务,如未执行完成的任务,由此,可避免在进行任务状态守护时影响流水表的数据读写性能。
129.在本实施例的一些可选的实现方式中,上述执行主体可以首先从预先建立的守护任务表中查询包含上述任务类别标识的记录。其中,守护任务表的记录中还包括任务编码和任务状态标识。而后,将任务状态标识指示未处理完成状态的任务作为待处理任务,从所
查询到的记录中,批量获取待处理任务的任务编码。此处,批量获取待处理任务的任务编码,可以是按照固定数量分批次获取任务编码,也可以是获取全部待处理任务的任务编码。
130.在本实施例的一些可选的实现方式中,守护任务表的记录中还可以包括任务配置信息。上述任务配置信息包括以下至少一项:执行次数阈值、已执行次数、执行间隔时长、用于指示任务是否能够被同时执行的标识。上述执行主体可以通过如下步骤从所查询到的记录中批量获取上述待处理任务的任务编码:
131.首先,基于任务配置信息,从待处理任务中选取目标待处理任务。作为一个示例,若任务配置信息中包含执行次数阈值和已执行次数,则可以选取已执行次数小于执行次数阈值的待处理任务作为目标待处理任务。作为又一示例,若任务配置信息中包含执行次数阈值、已执行次数和执行间隔时长,则可以选取已执行次数小于执行次数阈值且距离上一次执行时间的间隔时长大于或等于任务配置信息中所设置的执行间隔时长的待处理任务,作为目标待处理任务。
132.而后,响应于目标待处理任务的数量小于或等于预设的单次加载任务阈值,从所查询到的记录中,获取上述目标待处理任务的任务编码。响应于目标待处理任务的数量大于上述单次加载任务阈值,从所查询到的记录中,分批次获取目标待处理任务的任务编码。
133.步骤503,选取服务器集群中的至少一个服务器,向所选取的服务器分发包含任务编码的任务处理请求,以使所选取的服务服务器并行处理待处理任务以及基于处理结果更新待处理任务的任务状态。
134.在本实施例中,上述执行主体可以选取服务器集群中的一个或多个服务器(如图1所示的第三服务器),并向所选取的服务器分发包含任务编码的任务处理请求,以使所选取的服务器并行处理任务编码所指示的待处理任务,从而提高任务处理效率。同时,此过程中充分利用了服务器的计算资源,能够适用于待处理任务数量较高的任务监控场景。
135.实践中,所选取的服务器可通过如下步骤更新待处理任务的任务状态:首先,将所接收到的任务处理请求中携带的任务编码作为目标任务编码,在守护任务表中查询包含目标任务编码的目标记录。响应于目标任务编码指示的待处理任务处理成功,更新上述目标记录中的任务状态标识,以使更新后的任务状态标识指示处理成功状态。
136.此外,守护任务表的记录中还可包括执行次数阈值和已执行次数。所选取的服务器在从守护任务表中查询包含上述目标任务编码的目标记录之后,响应于目标任务编码指示的待处理任务处理失败,可以更新上述目标记录中的已执行次数,并读取上述目标记录中的执行次数阈值。响应于更新后的已执行次数大于或等于所读取的执行次数阈值,更新上述目标记录中的任务状态标识,以使更新后的任务状态标识指示处理失败状态。
137.需要说明的是,响应于目标任务编码指示的待处理任务处理失败,若更新后的已执行次数小于所读取的执行次数阈值,则可以将该任务状态继续保持为未处理完成状态。从而该任务仍可作为待处理任务等待下一次处理。
138.在本实施例的一些可选的实现方式中,上述执行主体可以采用负载均衡算法选取上述服务器集群中的至少一个服务器。
139.本实施例各步骤与上述实施例对应步骤描述类似,具体可参见上述实施例的描述。
140.本技术的上述实施例提供的方法,通过在接收到携带任务类别标识的任务获取请
求后,将任务类别标识指示的类别作为目标类别,查询上述目标类别的待处理任务,并批量获取上述待处理任务的任务编码;而后选取上述服务器集群中的至少一个服务器,向所选取的服务器分发包含上述任务编码的任务处理请求,以使所选取的服务服务器并行处理待处理任务以及基于处理结果更新上述待处理任务的任务状态。由于任务获取以及任务处理的过程由服务器集群中的不同服务器执行,且任务处理过程由服务器集群中的服务器并行处理,因而此过程充分利用了服务器集群的计算资源,突破单机计算资源受限的瓶颈,能够适用于高任务量的任务监控场景,同时提高了任务处理效率。
141.需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术实施例并不受所描述的动作顺序的限制,因为依据本技术实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本技术实施例所必须的。
142.进一步参考图6,在上述实施例的基础上,本技术提供了一种任务监控装置的一个实施例,该装置具体可以应用于各种电子设备中,如服务器集群中的服务器中。
143.如图6所示,本实施例的任务监控装置600包括:接收单元601,被配置成接收任务获取请求,上述任务获取请求中包括任务类别标识;获取单元602,被配置成将上述任务类别标识指示的类别作为目标类别,查询上述目标类别的待处理任务,并批量获取上述待处理任务的任务编码;分发单元603,被配置成选取服务器集群中的至少一个服务器,向所选取的服务器分发包含上述任务编码的任务处理请求,以使所选取的服务服务器并行处理上述待处理任务以及基于处理结果更新上述待处理任务的任务状态。
144.在本实施例的一些可选的实现方式中,任务的类别预先通过以下至少一项进行划分:场景、用户标识。
145.在本实施例的一些可选的实现方式中,上述获取单元602,进一步被配置成:从预先建立的守护任务表中查询包含上述任务类别标识的记录,其中,上述守护任务表的记录中还包括任务编码和任务状态标识;将任务状态标识指示未处理完成状态的任务作为待处理任务,从所查询到的记录中,批量获取上述待处理任务的任务编码。
146.在本实施例的一些可选的实现方式中,上述守护任务表的记录中还包括任务配置信息,上述任务配置信息包括以下至少一项:执行次数阈值、已执行次数、执行间隔时长、用于指示任务是否能够被同时执行的标识;以及,上述获取单元602,进一步被配置成:基于上述配置信息,从上述待处理任务中选取目标待处理任务;响应于上述目标待处理任务的数量小于或等于预设的单次加载任务阈值,从所查询到的记录中,获取上述目标待处理任务的任务编码;响应于上述目标待处理任务的数量大于上述单次加载任务阈值,从所查询到的记录中,分批次获取目标待处理任务的任务编码。
147.在本实施例的一些可选的实现方式中,上述分发单元603,进一步被配置成:采用负载均衡算法选取上述服务器集群中的至少一个服务器。
148.本技术的上述实施例提供的装置,通过在接收到携带任务类别标识的任务获取请求后,将任务类别标识指示的类别作为目标类别,查询上述目标类别的待处理任务,并批量获取上述待处理任务的任务编码;而后选取上述服务器集群中的至少一个服务器,向所选取的服务器分发包含上述任务编码的任务处理请求,以使所选取的服务服务器并行处理待
处理任务以及基于处理结果更新上述待处理任务的任务状态。由于任务获取以及任务处理的过程由服务器集群中的不同服务器执行,且任务处理过程由服务器集群中的多层服务器并行处理,因而此过程充分利用了服务器集群的计算资源,突破单机计算资源受限的瓶颈,能够适用于高任务量的任务监控场景,同时提高了任务处理效率。
149.本技术实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本技术实施例中各方法步骤的指令(instructions)。
150.本技术实施例提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本技术实施例中,所述电子设备包括终端设备、服务器(集群)等各类型的设备。
151.本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括终端设备、服务器(集群)等电子设备。图7示意性地示出了可被用于实现本技术中所述的各个实施例的示例性装置700。
152.对于一个实施例,图7示出了示例性装置700,该装置具有一个或多个处理器702、被耦合到(一个或多个)处理器702中的至少一个的控制模块(芯片组)704、被耦合到控制模块704的存储器706、被耦合到控制模块704的非易失性存储器(nvm)/存储设备708、被耦合到控制模块704的一个或多个输入/输出设备710,以及被耦合到控制模块704的网络接口712。
153.处理器702可包括一个或多个单核或多核处理器,处理器702可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置700能够作为本技术实施例中所述终端设备、服务器(集群)等设备。
154.在一些实施例中,装置700可包括具有指令714的一个或多个计算机可读介质(例如,存储器706或nvm/存储设备708)以及与该一个或多个计算机可读介质相合并被配置为执行指令714以实现模块从而执行本公开中所述的动作的一个或多个处理器702。
155.对于一个实施例,控制模块704可包括任意适当的接口控制器,以向(一个或多个)处理器702中的至少一个和/或与控制模块704通信的任意适当的设备或组件提供任意适当的接口。
156.控制模块704可包括存储器控制器模块,以向存储器706提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
157.存储器706可被用于例如为装置700加载和存储数据和/或指令714。对于一个实施例,存储器706可包括任意适当的易失性存储器,例如,适当的dram。在一些实施例中,存储器706可包括双倍数据速率类型四同步动态随机存取存储器(ddr4sdram)。
158.对于一个实施例,控制模块704可包括一个或多个输入/输出控制器,以向nvm/存储设备708及(一个或多个)输入/输出设备710提供接口。
159.例如,nvm/存储设备708可被用于存储数据和/或指令714。nvm/存储设备708可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(hdd)、一个或多个光盘(cd)驱动器和/或一个或多个数字通用光盘(dvd)驱动器)。
160.nvm/存储设备708可包括在物理上作为装置700被安装在其上的设备的一部分的
存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,nvm/存储设备708可通过网络经由(一个或多个)输入/输出设备710进行访问。
161.(一个或多个)输入/输出设备710可为装置700提供接口以与任意其他适当的设备通信,输入/输出设备710可以包括通信组件、音频组件、传感器组件等。网络接口712可为装置700提供接口以通过一个或多个网络通信,装置700可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如wifi、2g、3g、4g、5g等,或它们的组合进行无线通信。
162.对于一个实施例,(一个或多个)处理器702中的至少一个可与控制模块704的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器702中的至少一个可与控制模块704的一个或多个控制器的逻辑封装在一起以形成系统级封装(sip)。对于一个实施例,(一个或多个)处理器702中的至少一个可与控制模块704的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器702中的至少一个可与控制模块704的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(soc)。
163.在各个实施例中,装置700可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置700可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置700包括一个或多个摄像机、键盘、液晶显示器(lcd)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(asic)和扬声器。
164.其中,装置中可采用主控芯片作为处理器或控制模块,传感器数据、位置信息等存储到存储器或nvm/存储设备中,传感器组可作为输入/输出设备,通信接口可包括网络接口。
165.对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
166.本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
167.本技术实施例是参照根据本技术实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
168.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
169.这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在
计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
170.尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。
171.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
172.以上对本技术所提供的任务监控系统、方法、装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1