分布式任务的处理方法、装置、电子设备及存储介质与流程

文档序号:32949954发布日期:2023-01-14 13:01阅读:48来源:国知局
分布式任务的处理方法、装置、电子设备及存储介质与流程

1.本公开涉及计算机领域,尤其涉及云计算和人工智能技术领域,具体涉及一种分布式任务的处理方法、装置、电子设备及存储介质。


背景技术:

2.随着人工智能技术的蓬勃发展,人工智能已经覆盖结构化数据、图像、语音、视频等多种数据类型。在大型分布式系统中,针对人工智能的不同应用场景分别提供对应的服务,将服务部署在上千台的机器上,且服务中会有多种任务同时执行。如何对分布式任务进行调度、处理十分重要。


技术实现要素:

3.本公开提供了一种分布式任务的处理方法、装置、电子设备以及存储介质。
4.根据本公开的一方面,提供了一种分布式任务的处理方法,该方法包括:
5.针对每一种服务,从分布式系统中获取该种服务在当前任务周期中的可用机器;
6.在任一可用机器抢占到任务处理权限的情况下,从该种服务待分配的任务项中为该可用机器中的至少两个线程分别分配所述任务项,且根据该可用机器的网络地址和所述线程的线程名为分配到的任务项确定机器锁标签;
7.根据所述任务项的机器锁标签,控制该可用机器中的对应线程执行所述任务项。
8.根据本公开的一方面,提供了一种分布式任务的处理装置,该装置包括:
9.可用机器模块,用于针对每一种服务,从分布式系统中获取该种服务在当前任务周期中的可用机器;
10.任务项分配模块,用于在任一可用机器抢占到任务处理权限的情况下,从该种服务待分配的任务项中为该可用机器中的至少两个线程分别分配所述任务项,且根据该可用机器的网络地址和所述线程的线程名为分配到的任务项确定机器锁标签;
11.任务项执行模块,用于根据所述任务项的机器锁标签,控制该可用机器中的对应线程执行所述任务项。
12.根据本公开的另一方面,提供了一种电子设备,该电子设备包括:
13.至少一个处理器;以及
14.与所述至少一个处理器通信连接的存储器;其中,
15.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任意实施例所述的分布式任务的处理方法。
16.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行本公开任意实施例所述的分布式任务的处理方法。
17.根据本公开的技术,能够提高任务执行效率。
18.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
19.附图用于更好地理解本方案,不构成对本公开的限定。其中:
20.图1是根据本公开实施例提供的一种分布式任务的处理方法的流程图;
21.图2是根据本公开实施例提供的另一种分布式任务的处理方法的流程图;
22.图3a是根据本公开实施例提供的又一种分布式任务的处理方法的流程图;
23.图3b是根据本公开实施例提供的一种分布式任务处理的交互示意图;
24.图4是根据本公开实施例提供的一种分布式任务的处理装置的结构示意图;
25.图5是用来实现本公开实施例的分布式任务的处理方法的电子设备的框图。
具体实施方式
26.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
27.图1是根据本公开实施例提供的一种分布式任务的处理方法的流程图。该方法适用于分布式任务的调度情况。该方法可以由分布式任务的处理装置来执行,该装置可以采用软件和/或硬件的方式实现,可配置于云计算平台。如图1所示,本实施例的分布式任务的处理方法可以包括:
28.s101,针对每一种服务,从分布式系统中获取该种服务在当前任务周期中的可用机器;
29.s102,在任一可用机器抢占到任务处理权限的情况下,从该种服务待分配的任务项中为该可用机器中的至少两个线程分别分配所述任务项,且根据该可用机器的网络地址和所述线程的线程名为分配到的任务项确定机器锁标签;
30.s103,根据所述任务项的机器锁标签,控制该可用机器中的对应线程执行所述任务项。
31.分布式系统中可部署多种服务供业务方调用。分布式系统中各机器部署的服务可不同,每种服务可部署到多个机器中。各种服务可分别提供各自的业务处理能力,不同服务所提供的业务处理能力不同,例如部署的服务可包括账单服务、订单服务、发票服务等。每种服务还可提供不同的子业务处理能力,即每种服务可包括多种微服务。例如账单服务可包括预付费账单微服务、后付费账单微服务等。每种微服务可由至少一种原子服务组成。原子服务指具有单一功能的服务,是服务的最小单位。
32.具体的,响应于任一用户的业务处理请求,从分布式系统中部署的多种服务中获取业务处理请求需要调用的某一种服务,并生成该种服务的任务项。可将该用户的用户id(identity document,身份标识号)作为任务项的属性信息,任务项的属性信息还可包括任务项的执行状态、执行参数等,执行状态可为待分配、执行中或执行完成,执行参数可为对该种服务的调用参数,以账单服务为例,执行参数可为付费类型、账单日期、账单类型等。
33.该种服务在当前任务周期中的可用机器是指部署有该种服务,且在当前任务周期中处于可用状态的机器。针对每一种服务,可按照固定的时间间隔为该种服务设置任务周期,例如可设置每隔10分钟为一个任务周期。不同种服务的单个任务周期长度可根据业务需求设置,可相同,也可不同。可根据机器的状态信息和机器所部署的服务信息,从分布式系统中获取该种服务在当前任务周期中的至少两个可用机器。
34.在分布式系统中,各可用机器可竞争该种服务的任务处理权限,若任一可用机器抢占到在当前时间的任务处理权限,则基于负载均衡策略,从该种服务待分配的任务项中为该可用机器分配任务项,且将该可用机器所分配到的任务项进一步分配到该可用机器的至少两个线程中。针对该种服务待分配的每一任务项,可根据该任务项所分配的可用机器的网络地址和该任务项所分配的线程的线程名为该任务项确定机器锁标签。具体的,可将该可用机器的网络地址和所分配的线程的线程名填充到该任务项的机器锁标签字段。该可用机器的网络地址可包括该可用机器的ip地址和端口号。机器锁标签用于对任务项进行锁定,使仅机器锁标签对应的线程具有任务项的执行权限,避免其他可用机器或其他线程进行抢占。在分布式系统中任务项作为共享变量,不同可用机器中的不同线程均可能参与对共享变量的抢占,通过根据任务项的分配信息为任务项设置机器锁标签,使得任务项在当前时间只能被分配到的线程执行,能够避免共享变量的抢占冲突,更换地利用系统资源,从而提高分布式任务的处理效率。
35.具体的,针对每一任务项,可根据该任务项的机器锁标签,确定抢占到该任务项的可用机器,以及该可用机器中抢占到该任务的线程,并控制该线程调用该种服务执行该任务项,得到该任务项的执行结果。
36.本公开实施例的技术方案,针对分布式系统中多任务处理问题,通过根据任务项的分配信息为任务项添加机器锁标签,使机器锁标签对应的线程抢占到任务项的执行权限,避免任务项的抢占冲突,能够减少资源消耗,从而提高任务处理效率。
37.图2是根据本公开实施例提供的另一种分布式任务的处理方法的流程图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图2,本实施例的分布式任务的处理方法可以包括:
38.s201,针对每一种服务,从分布式系统中获取该种服务在当前任务周期中的可用机器;
39.s202,在任一可用机器抢占到任务处理权限的情况下,针对该种服务待分配的任务项,根据所述任务项的用户id将所述任务项拆分成至少两张任务分表;
40.s203,从所述至少两张任务分表中为该可用机器分配任务分表,并从分配到的任务分表所包括的任务项中为该可用机器中的至少两个线程分别分配所述任务项;
41.s204,据该可用机器的网络地址和所述线程的线程名为分配到的任务项确定机器锁标签;
42.s205,根据所述任务项的机器锁标签,控制该可用机器中的对应线程执行所述任务项。
43.在本公开实施例中,针对每一种服务,可获取该种服务在当前任务周期中的可用机器,以及获取该种服务待分配的任务项。每个任务项可对应一个业务请求,将业务请求所属用户的id作为任务项的用户id,用户id可为随机字符串。
44.具体的,可根据任务项的用户id,将该种服务待分配的任务项拆分成n张任务分表,n为固定的正整数,例如32或64。可对任务项的用户id进行转换得到用户标识数,采用用户标识数对n取余,并根据取余结果得到任务项所属的任务分表。
45.针对每一种服务,可从该种服务的n张任务分表中为该种服务的m个可用机器分配任务分表得到各可用机器所分配的任务分表,m也为正整数。针对每一可用机器,还将该可用户机器所分配的任务分表中的任务项分配到该可用机器中的至少两个线程上,得到每个线程所分配到的任务项。并且,将根据该可用机器的网络地址和分配到的线程的线程名确定任务项的机器锁标签。其中,任务项的机器锁标签的格式为ip地址+端口号+线程名。通过机器锁标签对抢占到任务项的线程进行唯一性标注,避免分布式系统对任务项的抢占发生冲突,浪费系统资源。
46.通过按照任务项的用户id对任务项进行拆分,使属于一个用户的不同任务项被划分到一个任务分表中,并且通过以任务分表为单位分配机器,使一个用户的不同任务项均分配到一个机器上,即由一个机器执行属于一个用户的所有任务项,能够减少机器对用户数据的访问次数,从而减少机器的i/o次数,进一步提高任务处理效率。
47.在一种可选实施方式中,所述从所述至少两张任务分表中为该可用机器分配任务分表,并从分配到的任务分表所包括的任务项中为该可用机器中的至少两个线程分别分配所述任务项,包括:根据所述任务分表的表序号和所述可用机器的机器数量,从所述至少两张任务分表中为该可用机器分配任务分表;根据分配到的任务分表中的任务项的项序号和所述至少两个线程的线程数量,从所述任务项中为该可用机器中的至少两个线程分别分配所述任务项。
48.在本公开实施例中,可采用任务分表的表序号对可用机器的机器数量取余,并根据取余结果得到可用机器分配到的任务分表。每个可用机器可分配到多张任务分表,也就是说,多张任务分表中的任务项均分配到该可用机器。以及,针对该可用户机器分配到的任务分表,可采用该任务分表中任务项的项序号对该可用机器中的线程数量取余,并根据取余结果得到各线程所分配到的任务项。通过为可用机器均匀地分配任务分表,且为可用机器中的线程均匀地分配任务分表中的任务项,得到任务项所对应的线程,实现了分布式系统中多任务的均衡拆分,能够更好地利用系统资源,发挥它的运算能力,提高并发量,从而加快任务处理效率。
49.本公开实施例的技术方案,通过根据任务项的用户id将任务项均匀打散在不同任务分表中;以及,基于负载均衡策略,为可用机器分配任务分表,并为可用机器中的线程分配对应任务分表中的任务项,能够更好地利用系统资源,从而加快任务处理效率。
50.图3a是根据本公开实施例提供的又一种分布式任务的处理方法的流程图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图3a,本实施例的分布式任务的处理方法可以包括:
51.s301,针对每一种服务,从分布式系统中获取该种服务在当前任务周期中的可用机器;
52.s302,根据该种服务的配置参数,确定执行该种服务的当前机器的网络地址;
53.s303,分别采集各所述可用机器的网络地址;
54.s304,若任一可用机器的网络地址与所述当前机器的网络地址一致,则确定该可
用机器抢占到任务处理权限;
55.s305,在任一可用机器抢占到任务处理权限的情况下,从该种服务待分配的任务项中为该可用机器中的至少两个线程分别分配所述任务项,且根据该可用机器的网络地址和所述线程的线程名为分配到的任务项确定机器锁标签;
56.s306,根据所述任务项的机器锁标签,控制该可用机器中的对应线程执行所述任务项。
57.针对每一种服务,可获取该种服务的可用机器;通过该种服务的配置参数实时获取当前时间下执行该种服务的当前机器的网络地址;以及,分别采集每一可用机器的网络地址;将当前机器的网络地址与各可用机器的网络地址进行比对,若任一可用机器的网络地址与当前机器的网络地址相同,则该可用机器抢占到该种服务的任务处理权限。通过将当前机器的网络地址与各可用机器的网络地址进行比对、校验,能够避免各可用机器之间的权限抢占冲突,更好地利用分布式系统的系统资源。并且,通过多线程并发处理各任务项,如果其中一个任务项被阻塞,不影响其他任务项,可提升任务项处理的实时性。
58.在一种可选实施方式中,所述针对每一种服务,从分布式系统中获取该种服务在当前任务周期中的可用机器,包括:针对每一种服务,根据机器状态表中记录的机器的服务名称,从分布式系统中确定该种服务对应的机器;根据所述机器状态表中记录的机器的心跳时间,从该种服务对应的机器中确定该种服务在当前任务周期中的可用机器。
59.其中,机器状态表可包括机器的如下属性信息:服务名称、网络地址、心跳时间、状态更新时间。服务名称用于表征机器所属的服务种类,状态更新时间用于记录机器所执行操作的时间。可通过定时同步心跳任务更新机器的心跳时间,例如每隔一分钟更新一次机器的心跳时间。具体的,针对每一种服务,可根据机器的服务名称,从分布式系统中确定该种服务对应的机器;以及,结合机器的心跳时间、状态更新时间,从该服务对应的机器中确定在当前任务周期中处于保活状态的可用机器。通过机器状态表记录机器的属性信息,结合机器的属性信息,能够提高服务的可用机器的确定效率。
60.在一种可选实施方式中,所述根据所述任务项的机器锁标签,控制该可用机器中的对应线程执行所述任务项,包括:根据所述任务项的服务属性信息,从该种服务包括的候选微服务中确定所述任务项对应的目标微服务;根据所述任务项的机器锁标签,控制该可用机器中的对应线程调用所述目标微服务执行所述任务项。
61.在本公开实施例中,每种服务可进一步分为多种候选微服务,各候选微服务提供的业务能力不同,可预先构建任务项的候选服务属性信息与候选微服务之间的关联关系。在任务项的执行过程中,可根据任务项的服务属性信息和该关联关系,得到任务项关联的目标微服务;以及,可根据任务项的机器锁标签中的网络地址和线程名确定任务项对应的线程,并控制该线程调用目标微服务执行任务项。仍以账单服务包括预付费账单微服务、后付费账单微服务等为例,任务项的候选服务属性信息可为预付费属性、后付费属性。通过结合任务项的服务属性信息,能够进一步确定任务项需要调用的微服务,并调用相应微服务执行任务项,从而进一步提高分布式系统中任务的执行灵活性。
62.参考图3b,在本公开实施例中可通过机器状态表记录机器的属性信息,机器的属性信息可包括如下至少一项:服务名称、网络地址、心跳时间、状态更新时间;每一种服务,还可通过该种服务的任务分配表记录属于该种服务的任务项的属性信息,任务项的属性信
息可包括如下至少一项:用户id、执行状态、执行参数、机器锁标签、创建时间、数据更新时间。
63.针对每一种服务,可结合机器状态表和该种服务的任务分配表,对该种服务待分配的任务项进行分配、拆分,得到任务项对应的线程;通过根据线程所属机器的网络地址和线程的线程名为任务项生成机器锁标签,用于供对应的线程锁定任务项的执行权限,避免其他线程抢占。在任务项执行过程中,根据任务项的机器锁标签确定对应的线程,控制对应的线程根据执行参数调用该种服务执行任务项得到执行结果。通过结合机器状态表、任务分配表,将任务项拆分到对应的线程,能够提高任务拆分效率;通过根据任务拆分结果为任务项生成机器锁标签,能够避免分布式系统中的共享变量访问冲突,从而更好地利用系统资源,提高业务请求的响应效率,提高并发量;通过结合任务项的机器锁标签,控制对应的线程调用服务执行任务项,能够应用于不同种服务,即可应用不同的业务场景。
64.本公开实施例的技术方案,提供了一种新的分布式任务分配机制,可以更快响应用户的业务需求,提升业务处理速度,且更好地利用系统资源,提高并发量;该方案具有较好地扩展应用性,可以结合具体业务场景进行升级,进而应用于其他复杂业务场景。
65.在一种可选实施方式中,所述方法还包括:在为所述任务项确定机器锁标签之后,将所述任务项的执行状态修改为执行中;在所述任务项执行完成后,将所述任务项的执行状态修改为执行完成。
66.具体的,任务项的执行状态可为待分配、执行中、执行完成。待分配为任务项的初始状态。在为任务项确定机器锁标签之后,即在确定任务项所分配的线程之后,可将任务项的执行状态由待分配切换到执行中,避免重复对任务项进行分配。在任务项执行完成后,即在任务项执行成功后,可将任务项的执行状态修改为执行完成。需要说明的是,如果因机器宕机或其他异常情况导致任务项执行失败,则可将任务项的执行状态重新置为待分配。并且,进行异常报警或对任务项进行自动重试。通过异常兜底处理,能够进一步提高任务处理的成功率。
67.图4是根据本公开实施例提供的一种分布式任务的处理装置的结构示意图。本实施例适用于分布式任务的调度情况。该装置可以采用软件和/或硬件的方式实现。如图4所示,本实施例的分布式任务的处理装置400可以包括:
68.可用机器模块410,用于针对每一种服务,从分布式系统中获取该种服务在当前任务周期中的可用机器;
69.任务项分配模块420,用于在任一可用机器抢占到任务处理权限的情况下,从该种服务待分配的任务项中为该可用机器中的至少两个线程分别分配所述任务项,且根据该可用机器的网络地址和所述线程的线程名为分配到的任务项确定机器锁标签;
70.任务项执行模块430,用于根据所述任务项的机器锁标签,控制该可用机器中的对应线程执行所述任务项。
71.在一种可选实施方式中,所述任务项分配模块420包括:
72.分表拆分单元,用于针对该种服务待分配的任务项,根据所述任务项的用户id将所述任务项拆分成至少两张任务分表;
73.任务项分配单元,用于从所述至少两张任务分表中为该可用机器分配任务分表,并从分配到的任务分表所包括的任务项中为该可用机器中的至少两个线程分别分配所述
任务项。
74.在一种可选实施方式中,所述任务项分配单元包括:
75.分表分配子单元,用于根据所述任务分表的表序号和所述可用机器的机器数量,从所述至少两张任务分表中为该可用机器分配任务分表;
76.任务项分配子单元,用于根据分配到的任务分表中的任务项的项序号和所述至少两个线程的线程数量,从所述任务项中为该可用机器中的至少两个线程分别分配所述任务项。
77.在一种可选实施方式中,上述分布式任务的处理装置400还包括权限处理模块,所述权限处理模块包括:
78.当前机器单元,用于根据该种服务的配置参数,确定执行该种服务的当前机器的网络地址;
79.地址采集单元,用于分别采集各所述可用机器的网络地址;
80.权限处理单元,用于若任一可用机器的网络地址与所述当前机器的网络地址一致,则确定该可用机器抢占到任务处理权限。
81.在一种可选实施方式中,所述可用机器模块410包括:
82.机器获取单元,用于针对每一种服务,根据机器状态表中记录的机器的服务名称,从分布式系统中确定该种服务对应的机器;
83.可用机器单元,用于根据所述机器状态表中记录的机器的心跳时间,从该种服务对应的机器中确定该种服务在当前任务周期中的可用机器。
84.在一种可选实施方式中,所述任务项执行模块430包括:
85.目标微服务单元,用于根据所述任务项的服务属性信息,从该种服务包括的候选微服务中确定所述任务项对应的目标微服务;
86.任务项执行单元,用于根据所述任务项的机器锁标签,控制该可用机器中的对应线程调用所述目标微服务执行所述任务项。
87.在一种可选实施方式中,上述分布式任务的处理装置400还包括状态修改模块,所述状态修改模块具体:
88.在为所述任务项确定机器锁标签之后,将所述任务项的执行状态修改为执行中;
89.在所述任务项执行完成后,将所述任务项的执行状态修改为执行完成。
90.本公开实施例的技术方案,通过结合机器状态表和任务分配表提供了一种新的分布式任务分配机制,可以更快响应用户的业务需求,提升业务处理速度;通过根据任务项所分配的线程为任务项添加机器锁标签,能够更且更好地利用系统资源,提高并发量;该方案具有较好地扩展应用性,可以结合具体业务场景进行升级,进而应用于其他复杂业务场景。
91.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
92.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
93.图5是用来实现本公开实施例的分布式任务的处理方法的电子设备的框图。图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、
刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
94.如图5所示,电子设备500包括计算单元501,其可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram 503中,还可存储电子设备500操作所需的各种程序和数据。计算单元501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
95.电子设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许电子设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
96.计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如分布式任务的处理方法。例如,在一些实施例中,分布式任务的处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom 502和/或通信单元509而被载入和/或安装到电子设备500上。当计算机程序加载到ram 503并由计算单元501执行时,可以执行上文描述的分布式任务的处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行分布式任务的处理方法。
97.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
98.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
99.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备调用或与指令执行系统、装置或设备结合地调用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电
子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
100.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
101.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
102.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
103.人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
104.云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
105.应该理解,可以调用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
106.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1