一种任务处理方法、装置、系统、电子设备及存储介质与流程

文档序号:29317140发布日期:2022-03-19 22:01阅读:82来源:国知局
一种任务处理方法、装置、系统、电子设备及存储介质与流程

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.图1是相关技术通过同步等待交互模型调用模式处理任务的流程示意图;
31.图2是相关技术通过前端异步轮询模式调用模型处理任务的流程示意图;
32.图3是本公开实施例提供的一种任务处理方法的流程图;
33.图4是本公开实施例提供的一种任务处理方法的流程图;
34.图5是本公开实施例提供的一种任务处理方法的流程图;
35.图6是本公开实施例提供的一种任务处理方法的流程图;
36.图7是本公开实施例提供的一种任务处理方法的流程图;
37.图8是本公开实施例提供的一种任务处理装置的结构图;
38.图9是本公开实施例提供的一种任务处理系统的结构图;
39.图10是本公开实施例提供的一种任务处理系统的架构示意图;
40.图11是本公开实施例提供的一种任务处理界面的效果示意图;
41.图12是本公开实施例提供的一种服务端适配模型服务端进行分布式调度的架构
示意图;
42.图13是本公开实施例提供的一种airflow调度模型worker执行任务的流程示意图;
43.图14是本公开实施例提供的一种spark分布式计算的流程示意图;
44.图15是用来实现本公开实施例的任务处理方法的电子设备的结构示意图。
具体实施方式
45.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
46.当用户需要根据自身的需求信息处理某些任务时,往往需要将需求信息提交至模型服务端,以调用匹配的模型自动根据用户的需求信息处理用户交付的待处理任务。例如,用户将待识别的图像提交至模型服务端,以调用匹配的图像识别模型自动对待识别的图像进行图像识别或目标检测等。又例如,用户将方案(如招投标方案、数据挖掘分析方案或投资项目方案等)的配置或属性信息提交至模型服务端,以调用匹配的图像识别模型自动对用户提交的信息为用户制定合理的方案,供用户参考、了解、配置或优化模型计算得到的方案。
47.目前,调用模型计算用户交付的待处理任务时,常用的模型交互方式为同步等待交互模式,图1是相关技术通过同步等待交互模型调用模式处理任务的流程示意图。在一个具体的例子中,如图1所示,同步等待交互模式的大致流程为:用户在平台前端配置待处理任务的相关信息,并发起模型计算请求。平台后端对用户配置的信息进行校验,并在通过校验后调用模型侧接口以调用匹配的模型进行计算任务。模型服务端接收到计算请求后,根据待处理任务的相关信息获取支撑数据。例如,当待处理任务为投资项目时,可以实时获取项目领域的行情数据和产品数据,并根据待处理任务的相关配置信息和获取的支撑数据调度匹配的模型计算结果。或者,模型服务端也可以直接根据待处理任务的相关配置信息调度匹配的模型计算结果。平台前端在模型计算过程中始终处于等待状态,期间用户在平台前端上进行任何操作都会导致计算终止,必须等待模型侧计算完成后,平台前端获取到结果返回,渲染界面,供用户查看分析,并继续操作。
48.上述同步等待交互模式的任务处理方式存在以下显著问题:(1)、需要在前端、服务端以及模型服务端保持长连接。当待处理任务的数据量过大,计算时间区间过长时,用户需要长时间等待计算结果的返回,期间不能进行任何操作,严重影响任务处理的时效性,从而影响用户体验。(2)、长时间的计算,对前端、后端以及模型端的连接以及线程压力过大,系统容错性差,受网络抖动等因素影响的概率较大,失败率高。(3)、同步计算的逻辑无法充分调用服务器资源,对于涉及到大数据计算的场景,无法发挥分布式计算的优势,导致可扩展性较差。当任务压力过大时,接口化的模型服务无法有效调度模型执行任务,过大的计算压力可能会造成服务器宕机。
49.为了解决上述问题,相关技术提出一种前端异步轮询模式来调用模型处理用户提交的待处理任务。图2是相关技术通过前端异步轮询模式调用模型处理任务的流程示意图。
在一个具体的例子中,如图2所示,用户在平台前端配置待处理任务的信息并提交模型计算请求后,在平台前端和模型服务端中间,增加一层服务端。服务端通过异步线程维持与模型服务端接口的长连接,等待模型侧的计算结果返回。同时,前端采用定时轮询的方式轮询服务端的同步结果。当模型服务端计算完成后,服务端将计算结果更新到数据库,供用户请求查看。该方式支持用户在提交模型计算后,在系统上进行其他的操作,可随时返回查看模型计算结果。
50.但上述前端异步轮询模式的任务处理方式仍存在以下显著问题:(1)、服务稳定性差。前端异步轮询模式同样需要在服务端和模型服务端保持长连接,导致线程开销和连接开销较大,模型侧接口压力大,高压状态下服务易崩溃。(2)、计算效率低。前端异步轮询模式只是从某种程度上优化了用户体验,但没有从根本上解决模型计算效率慢,计算压力大,计算资源分布不均等问题。
51.模型开发人员通过调试执行速度慢的模型后发现,部分模型执行慢的原因在于对底层数据的读写速度上。因此,为了提高模型的计算效率,相关技术还提出了一种优化存储模式来调用模型处理用户提交的待处理任务。具体的,可以对查询频率高的字段加入索引,从而有效提升部分执行效率。对于数据较为稀疏的数据组合,采用hbase(一个分布式的、面向列的开源数据库)或hive(一个数据仓库工具)等列式存储,优化底层数据存储配置,有效减少了读写io,提升读写效率。同时,计算的数据规模得到了控制,因此计算效率得到了一定提升。
52.但优化存储模式需要对底层数据迁移,部分环境还需要搭建hbase或hive等数据库,算法的存储接口层需要进行修改,计算逻辑较之前也需要进行相应的适配修改,从而导致改造成本高的问题。
53.考虑到大部分模型计算速度慢,其核心原因在于其计算量大,计算逻辑复杂。在计算逻辑无法优化的情况下,模型开发人员考虑到通过优化硬件配置的方式,来优化模型的计算效率。小型机(midrange computer)采用精简指令集处理器,是一种高性能64位计算机,支持单点高性能的业务计算,适用于金融证券等高可靠性的行业应用。在采用小型机优化硬件配置后,模型计算效率得到了较大提升,基本能覆盖大部分模型的计算场景。
54.但优化小型机配置的方式需要独立购置小型机用于模型的计算环境,导致硬件成本增高。同时,由于既然采用单点计算模式,无法充分发挥分布式计算的优势,没能从软件层面提升模型的计算效率。
55.在一个示例中,图3是本公开实施例提供的一种任务处理方法的流程图,本实施例可适用于采用实时交互的方式调用模型处理用户端交互的待处理任务的情况,该方法可以由任务处理装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在电子设备中。该电子设备可以是服务器设备,与用户端和模型服务端配合使用。相应的,如图3所示,该方法包括如下操作:
56.s310、获取用户端根据待处理任务发送的任务请求信息。
57.其中,用户端为面向用户的平台前端,可以对接用户接收用户发送的用于处理任务的相关信息。待处理任务可以是用户在用户端提交的需要调用模型处理的任务,待处理任务的任务类型例如可以是图像识别任务、数据计算或项目策划任务等。本公开实施例并不对待处理任务的任务类型进行限定。任务请求信息可以是用户针对待处理任务所提及的
请求模型处理待处理任务的请求信息。
58.当用户需要根据自身的需求信息处理某些任务时,可以在用户端操作,基于用户端提交待处理任务的相关信息。用户端接收到用户提交的待处理任务后,可以根据待处理任务生成匹配的任务请求信息并发送至服务端,以请求服务端根据任务请求信息调度匹配的模型处理待处理任务。
59.示例性的,用户在用户端提交了数据计算任务,并提供了数据计算任务需要计算的数据源以及计算结果的输出格式信息。则用户端可以根据该数据计算任务匹配的数据源以及计算结果的输出格式信息生成对应的数据计算请求信息,并发送至服务端,以请求服务端根据数据计算请求信息调度匹配的数学计算模型处理数据计算任务,并按照用户要求的输出格式信息对数据计算任务的计算结果进行整理,得到数据计算任务最终的任务处理结果。
60.在本公开实施例中,待处理任务可以是用户新建的需要开始处理的任务,也可以是用户对模型正在处理的任务进行状态查询的任务,还可以是用户对模型正在处理的任务进行删除的任务,本公开实施例对此并不进行限制。也即,针对已提交的正在处理的任务,用户无需等待任务的执行结果在处理其他的任务,可以同步并行执行多种不同的任务,从而提高任务处理的效率。
61.s320、根据所述任务请求信息实时生成模型交互请求。
62.其中,模型交互请求可以是服务端用于调度模型处理待处理任务的请求。
63.s330、将所述模型交互请求实时发送至模型服务端。
64.其中,模型服务端可以是提供模型服务的后端。模型服务端可以集成多种不同领域以及不同类型的模型,例如,可以集成图像识别领域的多个图像识别模型,也还可以集成数据计算领域的多个数据计算模型,只要是可以被调度和应用的模型即可,本公开实施例并不对模型服务端集成的模型的类型和数量进行限定。
65.相应的,当服务端接收到用户端根据待处理任务发送的任务请求信息之后,可以根据任务请求信息实时生成模型交互请求,并将生成的模型交互请求实时发送至模型服务端,以调度模型服务端匹配的模型对待处理任务进行处理。
66.示例性的,假设用户提交了图像识别的待处理任务,当服务端接收到图像识别对应的任务请求信息后,可以实时生成用于调度图像识别模型的模型交互请求,并将模型交互请求发送至模型服务端,以通过模型交互请求调用服务端与模型服务端之间的接口,通过调用的接口调度与图像识别对应的任务请求信息最匹配的图像识别模型,并通过模型交互请求向调度的图像识别模型提交待处理任务具体的处理信息,如待识别的图像等。
67.s340、接收所述模型服务端根据所述模型交互请求实时反馈的模型当前处理结果。
68.其中,模型当前处理结果可以是模型服务端根据模型交互请求对待处理任务实时生成的任务处理结果。
69.相应的,当模型服务端接收到模型交互请求后,可以根据开始对待处理任务进行处理。为了实现对待处理任务的实时响应,无论待处理任务是否执行完成得到执行结果,模型服务端都需要实时获取待处理任务的当前处理结果作为模型当前处理结果,并将模型当前处理结果实时反馈至服务端。
70.示例性的,假设待处理任务尚未处理完成,则模型服务端可以实时生成“任务执行中”的结果作为模型当前处理结果实时反馈至服务端。假设待处理任务已经处理完成,则模型服务端可以实时生成待处理任务具体的结果数据作为模型当前处理结果实时反馈至服务端。
71.s350、根据所述模型当前处理结果确定所述待处理任务的当前任务处理结果。
72.其中,当前任务处理结果可以是服务端根据模型服务端实时反馈的模型当前处理结果所生成的任务处理结果。
73.相应的,当服务端接收到模型服务端根据模型交互请求实时反馈的模型当前处理结果之后,可以对模型当前处理结果进行进一步的处理,以确定待处理任务的当前任务处理结果。可以理解的是,根据待处理任务类型以及执行状态的不同,服务端生成的当前任务处理结果可以存储至本地,也可以实时反馈至用户端,本公开实施例对此并不进行限制。
74.示例性的,假设模型当前处理结果为“任务执行中”,则服务端可以生成“任务尚未执行完成,请等待”的当前任务处理结果并反馈至用户端。假设模型当前处理结果为待处理任务具体的结果数据,则服务端可以对待处理任务具体的结果数据进一步整理得到最终的结果数据,如按照用户规定的数据输出格式对待处理任务具体的结果数据进一步整理,得到当前任务处理结果,并将前任务处理结果反馈至用户端。
75.在本公开实施例中,为了避免待处理任务执行失败,在处理待处理任务的过程中,用户端与服务端之间,以及服务端与模型服务端之间均无须保持长连接,而是采用实时请求实时响应的方式进行数据交互。也即,当用户通过用户端提交待处理任务后,用户端和服务端之间即断开连接,用户无需等待当前任务的处理结果,依然可以在用户端提交其他需要处理的新增待处理任务,或对模型正在处理的任务进行状态查询以及任务删除等待处理任务的后续可执行任务,从而提高任务处理的实时性和高效性,进而提高用户体验。服务端在向模型服务端发送模型交互请求之后,模型服务端可以响应于模型交互请求独立处理待处理任务,且无论待处理任务是否执行完成,都可以对模型交互请求进行实时响应,向服务端反馈模型当前处理结果。当服务端接收到模型当前处理结果之后,服务端和模型服务端之间即断开连接,此时模型服务端依然可以在断开连接的情况下继续处理待处理任务。
76.由此可见,本公开实施例所提供的任务处理方法属于一种完全异步的系统交互模式,减少了用户端、服务端以及模型服务端之间的耦合,模块功能更为清晰,舍弃了各个模块之间的长连接数据交互方式,不仅能够提高任务处理的实时性和高效性,而且可以有效保证任务处理服务的稳定性。
77.本公开实施例通过获取到用户端根据待处理任务发送的任务请求信息之后,根据获取的任务请求信息实时生成模型交互请求,并将实时生成的模型交互请求实时发送至模型服务端,以使模型服务端根据模型交互请求处理待处理任务,并接收模型服务端根据模型交互请求实时反馈的模型当前处理结果,从而根据接收的模型当前处理结果确定待处理任务的当前任务处理结果,解决相关技术根据模型进行任务处理时存在的任务处理的实时性和效率较低等问题,能够提高任务处理的实时性和高效性。
78.在一个示例中,图4是本公开实施例提供的一种任务处理方法的流程图,本公开实施例在上述各实施例的技术方案的基础上,进行了优化改进,在待处理任务为新建任务的情况下,给出了获取用户端根据待处理任务发送的任务请求信息、根据所述任务请求信息
实时生成模型交互请求、接收所述模型服务端根据所述模型交互请求实时反馈的模型当前处理结果,以及根据所述模型当前处理结果确定所述待处理任务的当前任务处理结果的多种具体可选的实现方式。
79.如图4所示的一种任务处理方法,包括:
80.s410、获取用户端根据新建任务发送的任务请求信息。
81.其中,新建任务可以是用户在用户端新发起的待处理任务。
82.可以理解的是,用户可以在用户端提交新建任务作为待处理任务。此时,服务端可以接收到用户端根据新建任务发送的任务请求信息。
83.s420、根据所述任务请求信息实时生成模型交互请求。
84.相应的,步骤s420具体可以包括下述操作:
85.s421、根据所述任务请求信息获取所述新建任务的任务配置信息。
86.其中,任务配置信息可以是用户通过用户端针对新建任务所提交的相关配置信息。
87.相应的,当服务端接收到新建任务后,可以根据新建任务的任务请求信息获取新建任务的任务配置信息。
88.示例性的,当用户将数据计算任务作为新建任务时,该新建任务的任务配置信息可以是需要计算的数据源以及计算结果的特定输出格式等信息。当用户将投资项目的项目策划任务作为新建任务时,该新建任务的任务配置信息可以是投资组合列表、基准类型、货币类型、穿透类型以及日期等资产配置信息。
89.s422、根据所述任务配置信息确定处理所述新建任务的第一目标模型。
90.其中,第一目标模型可以是服务端从模型服务端调用的模型,用于处理用户提交的新建任务。
91.s423、根据所述第一目标模型实时生成所述模型调度请求。
92.当服务端获取到新建任务以及新建任务的任务配置信息之后,可以根据新建任务的类型以及具体的任务配置信息根据预设的模型调度策略确定模型服务端中用于处理新建任务的第一目标模型。示例性的,服务端可以根据新建任务的类型确定可以用于处理新建任务的多个备选的模型,并进一步根据任务配置信息从各备选的模型中进一步筛选最匹配的模型作为第一目标模型。相应的,在确定第一目标模型之后,服务端即可根据确定的第一目标模型实时生成模型调度请求,以通过模型调度请求调度第一目标模型处理新建任务。
93.在本公开实施例中,当服务端实时生成模型交互请求之后,即可针对新建任务事件断开与用户端之间的连接。服务端可以根据接收的信息独立执行后续的模型调度流程,用户端则无需等待服务端反馈新建任务的处理结果,可以同步处理其他类型的待处理任务。这样设置的好处是:可以避免因网络抖动时延引起的任务处理失败的问题。
94.上述技术方案,通过对用户提交的新建任务实时生成处理新建任务的模型调度请求,以通过模型调度请求调度第一目标模型处理新建任务,可以保证新建任务处理的时效性。
95.s430、将所述模型调度请求实时发送至模型服务端。
96.s440、接收所述模型服务端根据所述模型调度请求实时反馈的任务标识。
97.其中,任务标识可以是模型服务端生成的用于唯一标识待处理任务的标识,该标识可以是任务编号的形式,只要能够唯一标识新建任务即可,本公开实施例并能不对任务标识的标识类型和内容进行限定。
98.在本公开实施例中,当模型服务端接收到模型调度请求之后,可以根据模型调度请求获取新建任务的相关信息,以生成新建任务匹配的任务标识,并将任务标识实时反馈至服务端。
99.相应的,当模型服务端将任务标识实时反馈至服务端之后,即可断开与服务端之间的连接,可以开始在与服务端无连接的情况下利用第一目标模型独立执行新建任务。这样设置的好处是:可以避免因较大线程开销和连接开销造成服务崩溃引起任务处理失败的问题。
100.s450、根据所述模型当前处理结果确定所述待处理任务的当前任务处理结果。
101.相应的,步骤s450具体可以包括下述操作:
102.s451、获取所述用户端根据所述新建任务发送的任务查询标识。
103.其中,任务查询标识可以是用户端用于查询待处理任务执行结果的标识信息。
104.如果待处理任务为新建任务,则用户端可以针对每个新建任务生成匹配的任务查询标识,用于对新建任何的后期执行结果进行查询。用户端生成任务查询标识之后,可以将任务查询标识发送至服务端。
105.在本公开的一个可选实施例中,所述获取所述用户端根据所述待处理任务发送的任务查询标识,可以包括:获取所述用户端根据所述待处理任务发送的空间因子标识、用户标识和模型标识;根据所述空间因子标识、所述用户标识和所述模型标识生成所述任务查询标识。
106.其中,空间因子标识可以是用于从空间因子的角度标注待处理任务的标识类型。用户标识可以是用于从用户的角度标注待处理任务的标识类型。模型标识可以是用于从模型的角度标注待处理任务的标识类型。
107.具体的,用户端可以对待处理任务确定空间因子标识(简称为spaceid)、用户标识(简称为userid)和模型标识(简称为moduleid)。例如,用户端根据待处理任务占用的空间生成空间因子标识,根据发起待处理任务的用户信息生成用户标识,并根据待处理任务需要使用的模型信息(如模型的类型等)生成模型标识。进一步的,用户端可以将空间因子标识、用户标识和模型标识发送至服务端,由服务端根据空间因子标识、用户标识和模型标识生成新建任务匹配的任务查询标识。或者,也还可以由用户端根据空间因子标识、用户标识和模型标识生成新建任务匹配的任务查询标识。当由服务端生成任务查询标识时,服务端需要将生成的任务查询标识反馈至用户端。
108.可选的,根据空间因子标识、用户标识和模型标识生成新建任务匹配的任务查询标识,可以是对空间因子标识、用户标识和模型标识进行任意形式的排列组合,或在其他用于生成任务查询标识的关联信息的基础上对空间因子标识、用户标识和模型标识进行组合,本公开实施例并不对生成任务查询标识的方式进行限定。
109.上述技术方案,通过根据空间因子标识、用户标识和模型标识生成任务查询标识,可以便于用户端后期实时查询任务的执行状态,提高任务响应效率。
110.s452、建立并存储所述任务查询标识和所述任务标识之间的标识映射关系。
111.其中,标识映射关系可以是任务查询标识和任务标识之间的映射关系。
112.s453、根据所述任务查询标识、所述任务标识和所述标识映射关系生成所述当前任务处理结果。
113.可以理解的是,通常情况下,第一目标模型需要一定的时间处理新建任务,尤其在新建任务和/或第一目标模型比较复杂的情况下,往往需要较长的任务处理时间。因此,服务端可能无法实时向用户端反馈新建任务的最终处理结果。相应的,服务端获取到新建任务的任务查询标识和模型服务端根据新建任务反馈的任务标识之后,可以建立并存储任务查询标识和任务标识之间的标识映射关系,并根据任务查询标识、任务标识和标识映射关系生成当前任务处理结果。由于新建任务尚未执行完成,服务端可以直接在本地缓存当前任务处理结果。此时,由于用户端与服务端之间没有建立新建任务的连接,用户端可以在新建任务的任务处理界面显示新建任务的loading状态,以等待模型服务端计算完成。
114.上述技术方案,用户端提交新建任务后与服务端断开连接,由服务端根据新建任务的任务配置信息生成调度第一目标模型的模型调度请求,并通过模型调度请求调度模型服务端的第一目标模型在无连接的情况下独立处理新建任务,可以避免因网络抖动时延引起的任务处理失败的问题,以及因较大线程开销和连接开销造成服务崩溃引起任务处理失败的问题,从而保证任务执行的成功率,并提高任务处理的实时性和高效性。
115.在一个示例中,图5是本公开实施例提供的一种任务处理方法的流程图,本公开实施例在上述各实施例的技术方案的基础上,进行了优化改进,在待处理任务为执行状态查询任务的情况下,给出了获取用户端根据待处理任务发送的任务请求信息、根据所述任务请求信息实时生成模型交互请求、接收所述模型服务端根据所述模型交互请求实时反馈的模型当前处理结果以及根据所述模型当前处理结果确定所述待处理任务的当前任务处理结果的多种具体可选的实现方式。
116.如图5所示的一种任务处理方法,包括:
117.s510、获取用户端根据执行状态查询任务发送的任务请求信息。
118.其中,执行状态查询任务可以是对模型正在处理执行的任务进行状态查询的任务。
119.在本公开实施例中,用户端除了可以提交新建任务,还可以针对模型正在处理执行的任务进行状态查询,从而提交执行状态查询任务。由于用户端提交任务后即断开与服务端之间的连接,因此后期需要用户端发起执行状态查询任务才能获取任务的执行结果。相应的,服务端可以接收到用户端根据执行状态查询任务发送的任务请求信息。用户端提交执行状态查询任务的任务请求信息之后,即可断开与服务端之间的连接。
120.在本公开的一个可选实施例中,所述获取用户端根据待处理任务发送的任务请求信息,可以包括:获取所述用户端按照设定轮询周期发送的所述执行状态查询任务的任务请求信息;和/或,获取所述用户端响应于用户查询操作发送的所述执行状态查询任务的任务请求信息。
121.其中,设定轮询周期可以是用户端针对处理中的任务设定的轮询查询周期。
122.当用户在用户端提交了新建任务后,如果用户始终停留在新建任务的任务处理界面,不进行其他任务的处理操作,或者用户在其他任务处理界面停留等待任务执行结果时,为了避免因连接断开无法实时获取新建任务的处理结果,则用户端可以按照设定轮询周期
向服务端发送用于查询任务执行状态的执行状态查询任务的任务请求信息,以定期查询获取当前任务处理界面对应的当前处理任务的任务执行状态。
123.示例性的,用户端可以每隔5分钟向服务端轮询查询一次执行状态查询任务所要查询的任务的执行状态。其中,设定轮询周期可以根据实际的业务需求设定,本公开实施例并不对设定轮询周期的具体数值进行限定。
124.在本公开实施例中,用户还可以主动通过用户端查询各种任务的执行状态。例如,用户在用户端提交新建任务后,可以在新建任务对应的任务处理界面点击查询任务执行结果,用户端响应于用户查询操作提交执行状态查询任务的任务请求信息。或者,用户由当前任务的任务处理界面切换到其他任务的任务处理界面时,可以自动生成切换后的任务处理界面对应任务的执行状态查询任务。或者,也还可以在用户由当前任务处理界面切换到其他任务的任务处理界面时,在切换后的任务处理界面点击查询任务执行结果,用户端响应于用户查询操作,向服务端提交执行状态查询任务的任务请求信息。
125.s520、根据所述任务请求信息实时生成模型交互请求。
126.相应的,步骤s520具体可以包括下述操作:
127.s521、根据所述任务请求信息获取所述执行状态查询任务用于查询待查询任务的任务查询标识。
128.其中,待查询任务可以是执行状态查询任务需要查询执行状态的任务。
129.当服务端获取到执行状态查询任务的任务请求信息之后,可以获取任务请求信息中包括的任务查询标识,以根据任务查询标识对执行状态查询任务需要查询的待查询任务的执行状态进行查询。
130.s522、根据所述任务查询标识确定处理所述待查询任务的第二目标模型。
131.其中,第二目标模型可以是处理待查询任务的模型。
132.s523、根据所述第二目标模型和所述任务查询标识实时生成所述任务状态获取请求。
133.其中,任务状态获取请求可以是用于请求模型服务端反馈待查询任务的任务执行状态的请求。
134.具体的,服务端可以根据任务查询标识查询存储的标识映射关系,以确定待查询任务匹配的任务标识,从而根据查询的任务标识确定用户端需要查询状态的待查询任务,并根据任务查询标识确定当前正在处理待查询任务的第二目标模型,从而实时生成执行状态查询任务匹配的任务状态获取请求作为实时的模型交互请求。
135.上述技术方案,通过对用户端提交的执行状态查询任务的任务请求信息实时生成任务状态获取请求,可以实时响应用户的执行状态查询任务,提高执行状态查询任务的处理效率。
136.s530、将所述任务状态获取请求实时发送至模型服务端。
137.s540、接收所述模型服务端根据所述模型任务状态获取请求实时反馈的当前待处理任务执行状态。
138.其中,当前待处理任务执行状态可以是待查询任务当前的执行状态。
139.相应的,服务端生成任务状态获取请求之后,可以将任务状态获取请求实时发送至模型服务端。模型服务端接收到任务状态获取请求之后,可以根据任务状态获取请求确
定执行状态查询任务所要查询的待查询任务以及执行待查询任务的第二目标模型,从而获取第二目标模型对待查询任务的当前模型处理结果作为当前待处理任务执行状态,并将获取的当前待处理任务执行状态发送至服务端。
140.s550、根据所述模型当前处理结果确定所述待处理任务的当前任务处理结果。
141.相应的,步骤s550具体可以包括下述操作:
142.s551、判断当前待处理任务执行状态是否为任务执行中状态,若是,执行s552,否则,执行s553。
143.s552、生成所述执行状态查询任务查询的所述待查询任务的任务运行中处理结果。
144.其中,任务运行中处理结果可以是待查询任务还在执行中,也即尚未处理完成的结果。
145.s553、确定所述当前待处理任务执行状态为任务执行完毕状态,接收所述模型服务端反馈的所述执行状态查询任务查询的所述待查询任务的任务执行结果。
146.其中,任务执行结果可以是待查询任务最终的执行结果。
147.服务端接收到当前待处理任务执行状态之后,可以对当前待处理任务执行状态进行判断。如果确定当前待处理任务执行状态为任务执行中状态,表明待查询任务尚未处理完成,则可以生成待查询任务的任务运行中处理结果作为当前任务处理结果。如果确定当前待处理任务执行状态为任务执行完毕状态,表明待查询任务尚已经处理完成,则可以接收模型服务端反馈的待查询任务的任务执行结果作为当前任务处理结果,如接收待查询任务的任务结果数据,该任务结果数据例如可以是图像识别结果或计算得到的目标项目方案等。
148.相应的,模型服务端反馈当前待处理任务执行状态之后,或反馈任务执行结果之后,即可断开与服务端之间的连接。
149.s560、将所述任务运行中处理结果或所述任务执行结果反馈至所述用户端。
150.相应的,服务端生成任务运行中处理结果或任务执行结果之后,即可将任务运行中处理结果或任务执行结果反馈至用户端,用户端则可以实时获取到执行状态查询任务的查询结果。
151.采用上述技术方案,用户端提交执行状态查询任务后与服务端断开连接,由服务端根据执行状态查询任务生成与第二目标模型交互的任务状态获取请求,并通过任务状态获取请求实时请求模型服务端反馈第二目标模型在无连接的情况下独立处理待查询任务的当前执行状态,并将查询到的状态反馈至用户端,可以避免因网络抖动时延引起的任务处理失败的问题,以及因较大线程开销和连接开销造成服务崩溃引起任务处理失败的问题,从而保证任务执行的成功率,并提高任务处理的实时性和高效性。
152.在一个示例中,图6是本公开实施例提供的一种任务处理方法的流程图,本公开实施例在上述各实施例的技术方案的基础上,进行了优化改进,在待处理任务为删除任务的情况下,给出了获取用户端根据待处理任务发送的任务请求信息、根据所述任务请求信息实时生成模型交互请求、接收所述模型服务端根据所述模型交互请求实时反馈的模型当前处理结果以及根据所述模型当前处理结果确定所述待处理任务的当前任务处理结果的多种具体可选的实现方式。
153.如图6所示的一种任务处理方法,包括:
154.s610、获取用户端根据删除任务发送的任务请求信息。
155.其中,删除任务可以是对模型正在处理执行的任务进行删除的任务。
156.在本公开实施例中,用户端除了可以提交新建任务,对当前正在执行的任务进行状态查询,还可以针对模型正在处理执行的任务进行删除操作,以指示模型取消处理当前正在执行的任务,从而提交删除任务。当用户通过用户端发起某一待删除任务匹配的删除任务后,服务端可以接收到用户端根据删除任务发送的任务请求信息。用户端提交删除任务的任务请求信息之后,即可断开与服务端之间的连接。
157.s620、根据所述任务请求信息实时生成模型交互请求。
158.相应的,步骤s620具体可以包括下述操作:
159.s621、根据所述任务请求信息获取所述删除任务用于删除待删除任务的任务查询标识。
160.其中,待删除任务可以是删除任务请求删除的任务,该任务可以是模型当前正在处理的任务。
161.当服务端获取到删除任务的任务请求信息之后,可以获取任务请求信息中包括的任务查询标识,以根据任务查询标识对删除任务需要删除的待删除任务进行查询。
162.s622、根据所述任务查询标识确定处理所述待删除任务的第三目标模型。
163.其中,第三目标模型可以是当前正在处理待删除任务的模型。
164.s623、根据所述第三目标模型和所述任务查询标识实时生成所述任务删除请求。
165.其中,任务删除请求可以是用于请求模型服务端对待删除任务进行删除的请求。
166.具体的,服务端可以根据任务查询标识查询存储的标识映射关系,以确定待查询任务匹配的任务标识,从而根据查询的任务标识确定用户端需要删除的待删除任务,并根据任务查询标识确定当前正在处理待删除任务的第三目标模型,从而实时生成删除任务匹配的任务删除请求作为实时的模型交互请求。
167.上述技术方案,通过对用户端提交的删除任务的任务请求信息实时生成任务删除请求,可以实时响应用户的删除任务,提高删除任务的处理效率。
168.s630、将所述任务删除请求实时发送至模型服务端。
169.s640、接收所述模型服务端根据所述任务删除请求实时反馈的所述待删除任务的任务删除结果。
170.其中,任务删除结果可以是待删除任务的删除结果。
171.s650、根据所述待删除任务的任务删除结果生成所述删除任务删除所述待删除任务的删除任务响应数据。
172.其中,删除任务响应数据可以是服务端根据任务删除结果生成的响应数据。
173.s660、将所述删除任务删除所述待删除任务的删除任务响应数据反馈至所述用户端。
174.在本公开实施例中,服务端接收到模型服务端实时反馈的待删除任务的任务删除结果后,可以进一步根据待删除任务的任务删除结果生成删除任务删除待删除任务的删除任务响应数据。示例性的,如果任务删除结果为任务已处理完毕,无法删除,则服务端可以生成删除失败的删除任务响应数据。如果任务删除结果为任务已删除,则服务端可以生成
删除成功的删除任务响应数据。相应的,服务端可以将生成的删除任务响应数据实时反馈至用户端,以使用户端获取删除任务的删除结果。
175.采用上述技术方案,用户端提交删除任务后与服务端断开连接,由服务端根据删除任务生成与第三目标模型交互的任务删除请求,并通过任务删除请求实时请求模型服务端反馈第三目标模型删除待删除任务的结果,并生成删除任务响应数据反馈至用户端,可以避免因网络抖动时延引起的任务处理失败的问题,以及因较大线程开销和连接开销造成服务崩溃引起任务处理失败的问题,从而保证任务执行的成功率,并提高任务处理的实时性和高效性。
176.在一个示例中,图7是本公开实施例提供的一种任务处理方法的流程图,本公开实施例给出了用户端、服务端以及模型服务端之间进行交互处理多种任务的流程示意图。
177.相应的,如图7所示,用户可以通过用户端向服务端查询当前是否有该用户操作的执行中的任务,如果存在,则服务端可以返回具体的任务信息,不存在则可以返回空结果。
178.如果用户端查询到当前不存在该用户操作的执行中的任务,则可以新建任务,如通过点击用户端的新建查询来新建任务,并提交新建任务的任务配置信息。服务端可以根据新建任务和任务配置信息调用模型服务处理新建任务。模型服务端接收到新建任务后,可以调度模型处理新建任务,并向服务端返回新建任务的任务编号(也即任务标识)。此时,服务端可以对用户端发送的任务查询标识和任务标识之间建立映射关系,并在本地存储任务查询标识、任务标识和两者之间的标识映射关系。此时,由于模型服务端尚未处理完成新建任务,服务端无需向用户端反馈结果。
179.相应的,如果用户提交新建任务后停留在新建任务的任务处理界面等待任务的执行结果时,用户端与服务端,以及服务端与模型服务端无需保持长连接状态。但为了避免用户长期等待,用户端可以定期轮询服务端查询当前任务处理界面中任务的执行结果。服务端接收到用户端发送的执行状态查询任务的任务请求信息之后,可以实时生成任务状态获取请求发送至模型服务端,模型服务端可以根据任务状态获取请求实时获取当前任务处理界面中任务的执行结果反馈至服务端。服务端则可以根据模型服务端反馈的结果实时生成当前任务处理结果反馈至用户端,如提示用户任务执行中或给用户反馈任务的执行结果数据等。
180.当用户提交了新建任务后,用户可以切换任务处理界面执行其他任务的处理操作。例如,用户可以切换至其他任务处理界面查询对应任务的执行状态。同理,如果用户切换任务处理界面后不进行其他操作,则用户端可以定期轮询服务端查询当前任务处理界面中任务的执行结果。
181.用户还可以通过用户端取消当前正在执行的任务。具体的,当用户通过用户端针对当前正在执行的任务提交删除任务后,服务端可以生成删除任务匹配的任务删除请求并发送至模型服务端。模型服务端则可以响应于任务删除请求,及时删除用户需要删除的任务,并实时向用户端反馈删除任务的结果数据。服务端则可以根据删除任务的结果数据向用户端反馈删除任务的执行结果。
182.在本公开的一个可选实施例中,任务处理方法还可以包括:获取所述待处理任务的任务存储关联数据;将所述任务存储关联数据存储至数据库;其中,所述任务存储关联数据包括以下至少之一:新建任务的任务配置信息、模型服务端反馈的任务标识以及所述待
处理任务的任务状态。
183.其中,任务存储关联数据可以是服务端需要存储的待处理任务的相关数据。
184.如图7所示,在服务端与用户端以及模型服务端进行交互时,服务端可以根据交互结果在数据库中存储待处理任务的任务存储关联数据。可选的,服务端可以在获取到用户端发送的待处理任务的任务配置信息后在数据库实时存储。同时,服务端接收到模型服务端反馈的待处理任务的任务标识后,也可以在数据库进行存储。模型服务端开始处理待处理任务时,可以在数据库中记录模型服务端处理的任务信息。同时,模型服务端对待处理任务执行完成后,可以在数据库中实时存储待处理任务的任务执行结果。同时,如果用户端发起删除任务,当删除任务需要删除的任务状态发生变化后,服务端还可以在数据库中更新任务状态。
185.上述技术方案,通过数据库实时存储任务存储关联数据,可以实现数据的存储备份记录,有利于对异常问题进行追本溯源。
186.在本公开的一个可选实施例中,所述模型服务端可以用于采用分布式调度模型算子worker的方式和分布式计算的方式实时响应所述模型交互请求。
187.为了实现对模型服务端去服务化,可以将模型算子独立作为work执行,一个模型可以由多个模型算子worker共同完成模型功能,因此模型服务端可以采用分布式调度模型算子worker的方式完成模型调度功能,从而根据实际业务场景对接更适用的计算平台,提高任务处理的可扩展性和适配性。同时,模型服务端还可以采用分布式计算的方式实时响应服务端发送的模型交互请求,以充分利用模型服务端的集群算力。
188.采用上述技术方案,通过异步的模型调度方式调度模型算子处理待处理任务,用户无需长时间处于等待页面,模型计算期间,用户可以进行其他的操作,也可以随时返回页面查看任务执行结果。同时,用户端可以维护历史任务列表,帮助用户回顾之前配置的历史任务的运行结果,无需重复调用执行,减少算力损耗。异步的系统交互模式,还可以减少各服务模块间的耦合,模块功能更为清晰,舍弃长连接实时响应的方式能够提升服务稳定性。由于模型算子的执行方式更加多元化,可以实现算子的分布式调度,worker去服务化,单个worker功能原子化,在大数据计算场景下,可通过分布式计算平台辅助提升计算效率。
189.在一个示例中,图8是本公开实施例提供的一种任务处理装置的结构图,本公开实施例可适用于采用实时交互的方式调用模型处理用户端交互的待处理任务的情况,该装置通过软件和/或硬件实现,并具体配置于电子设备中。该电子设备可以是服务器设备,与用户端和模型服务端配合使用。
190.如图8所示的一种任务处理装置800,包括:任务请求信息获取模块810、模型交互请求生成模块820、模型交互请求发送模块830、模型当前处理结果接收模块840和当前任务处理结果确定模块850。其中,
191.任务请求信息获取模块810,用于获取用户端根据待处理任务发送的任务请求信息;
192.模型交互请求生成模块820,用于根据所述任务请求信息实时生成模型交互请求;
193.模型交互请求发送模块830,用于将所述模型交互请求实时发送至模型服务端;
194.模型当前处理结果接收模块840,用于接收所述模型服务端根据所述模型交互请求实时反馈的模型当前处理结果;
195.当前任务处理结果确定模块850,用于根据所述模型当前处理结果确定所述待处理任务的当前任务处理结果。
196.本公开实施例通过获取到用户端根据待处理任务发送的任务请求信息之后,根据获取的任务请求信息实时生成模型交互请求,并将实时生成的模型交互请求实时发送至模型服务端,以使模型服务端根据模型交互请求处理待处理任务,并接收模型服务端根据模型交互请求实时反馈的模型当前处理结果,从而根据接收的模型当前处理结果确定待处理任务的当前任务处理结果,解决相关技术根据模型进行任务处理时存在的任务处理的实时性和效率较低等问题,能够提高任务处理的实时性和高效性。
197.可选的,所述待处理任务包括新建任务;所述模型交互请求包括模型调度请求;模型交互请求生成模块820还用于:根据所述任务请求信息获取所述新建任务的任务配置信息;根据所述任务配置信息确定处理所述新建任务的第一目标模型;根据所述第一目标模型实时生成所述模型调度请求。
198.可选的,模型当前处理结果接收模块840还用于:接收所述模型服务端根据所述模型调度请求实时反馈的任务标识;当前任务处理结果确定模块850还用于:获取所述用户端根据所述新建任务发送的任务查询标识;建立并存储所述任务查询标识和所述任务标识之间的标识映射关系;根据所述任务查询标识、所述任务标识和所述标识映射关系生成所述当前任务处理结果。
199.可选的,当前任务处理结果确定模块850还用于:获取所述用户端根据所述待处理任务发送的空间因子标识、用户标识和模型标识;根据所述空间因子标识、所述用户标识和所述模型标识生成所述任务查询标识。
200.可选的,所述待处理任务包括执行状态查询任务;所述模型交互请求包括模型任务状态获取请求;任务请求信息获取模块810还用于:获取所述用户端按照设定轮询周期发送的所述执行状态查询任务的任务请求信息;和/或,获取所述用户端响应于用户查询操作发送的所述执行状态查询任务的任务请求信息;模型交互请求生成模块820还用于:根据所述任务请求信息获取所述执行状态查询任务用于查询待查询任务的任务查询标识;根据所述任务查询标识确定处理所述待查询任务的第二目标模型;根据所述第二目标模型和所述任务查询标识实时生成所述任务状态获取请求。
201.可选的,模型当前处理结果接收模块840还用于:接收所述模型服务端根据所述模型任务状态获取请求实时反馈的当前待处理任务执行状态;当前任务处理结果确定模块850还用于:在确定所述当前待处理任务执行状态为任务执行中状态的情况下,生成所述执行状态查询任务查询的所述待查询任务的任务运行中处理结果;或,在确定所述当前待处理任务执行状态为任务执行完毕状态的情况下,接收所述模型服务端反馈的所述执行状态查询任务查询的所述待查询任务的任务执行结果;任务处理装置还包括:任务执行结果反馈模块,用于将所述任务运行中处理结果或所述任务执行结果反馈至所述用户端。
202.可选的,所述待处理任务包括删除任务;所述模型交互请求包括任务删除请求;模型交互请求生成模块820还用于:根据所述任务请求信息获取所述删除任务用于删除待删除任务的任务查询标识;根据所述任务查询标识确定处理所述待删除任务的第三目标模型;根据所述第三目标模型和所述任务查询标识实时生成所述任务删除请求。
203.可选的,模型当前处理结果接收模块840还用于:接收所述模型服务端根据所述任
务删除请求实时反馈的所述待删除任务的任务删除结果;当前任务处理结果确定模块850还用于:根据所述待删除任务的任务删除结果生成所述删除任务删除所述待删除任务的删除任务响应数据;任务处理装置还包括:删除任务响应数据反馈模块,用于将所述删除任务删除所述待删除任务的删除任务响应数据反馈至所述用户端。
204.可选的,任务处理装置还包括:任务存储关联数据获取模块,用于获取所述待处理任务的任务存储关联数据;任务存储关联数据存储模块,用于将所述任务存储关联数据存储至数据库;其中,所述任务存储关联数据包括以下至少之一:新建任务的任务配置信息、模型服务端处理的任务信息、模型服务端反馈的任务标识以及所述待处理任务的任务状态。
205.可选的,所述模型服务端用于采用分布式调度模型算子worker的方式和分布式计算的方式实时响应所述模型交互请求。
206.上述任务处理装置可执行本公开任意实施例所提供的任务处理方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本公开任意实施例提供的任务处理方法。
207.由于上述所介绍的任务处理装置为可以执行本公开实施例中的任务处理方法的装置,故而基于本公开实施例中所介绍的任务处理方法,本领域所属技术人员能够了解本实施例的任务处理装置的具体实施方式以及其各种变化形式,所以在此对于该任务处理装置如何实现本公开实施例中的任务处理方法不再详细介绍。只要本领域所属技术人员实施本公开实施例中任务处理方法所采用的装置,都属于本公开所欲保护的范围。
208.在一个示例中,图9是本公开实施例提供的一种任务处理系统的结构图,本公开实施例可适用于采用实时交互的方式调用模型处理用户端交互的待处理任务的情况,如图9所示,任务处理系统900可以包括用户端910、服务端920以及模型服务端930;用户端910与服务端920通信连接,服务端920与模型服务端930通信连接;其中:
209.用户端910用于根据待处理任务生成任务请求信息,并将任务请求信息发送至服务端920;
210.服务端920用于根据任务请求信息实时生成模型交互请求,并将模型交互请求实时发送至模型服务端930;
211.模型服务端910用于根据模型交互请求实时反馈的模型当前处理结果,并将模型当前处理结果反馈至服务端920;
212.服务端920还用于根据模型当前处理结果确定待处理任务的当前任务处理结果。
213.本公开实施例通过获取到用户端根据待处理任务发送的任务请求信息之后,根据获取的任务请求信息实时生成模型交互请求,并将实时生成的模型交互请求实时发送至模型服务端,以使模型服务端根据模型交互请求处理待处理任务,并接收模型服务端根据模型交互请求实时反馈的模型当前处理结果,从而根据接收的模型当前处理结果确定待处理任务的当前任务处理结果,解决相关技术根据模型进行任务处理时存在的任务处理的实时性和效率较低等问题,能够提高任务处理的实时性和高效性。
214.可选的,所述待处理任务包括新建任务;所述模型交互请求包括模型调度请求;服务端920还用于:根据所述任务请求信息获取所述新建任务的任务配置信息;根据所述任务配置信息确定处理所述新建任务的第一目标模型;根据所述第一目标模型实时生成所述模
型调度请求。
215.可选的,模型服务端930还用于:根据所述模型调度请求向服务端920实时反馈任务标识;服务端920还用于:获取用户端910根据所述新建任务发送的任务查询标识;建立并存储所述任务查询标识和所述任务标识之间的标识映射关系;根据所述任务查询标识、所述任务标识和所述标识映射关系生成所述当前任务处理结果。
216.可选的,服务端920还用于:获取所述用户端根据所述待处理任务发送的空间因子标识、用户标识和模型标识;根据所述空间因子标识、所述用户标识和所述模型标识生成所述任务查询标识。
217.可选的,所述待处理任务包括执行状态查询任务;所述模型交互请求包括模型任务状态获取请求;用户端910还用于:按照设定轮询周期向服务端920发送所述执行状态查询任务的任务请求信息;和/或,响应于用户查询操作向服务端920发送所述执行状态查询任务的任务请求信息;根据所述任务请求信息获取所述执行状态查询任务用于查询待查询任务的任务查询标识;根据所述任务查询标识确定处理所述待查询任务的第二目标模型;根据所述第二目标模型和所述任务查询标识实时生成所述任务状态获取请求。
218.可选的,模型服务端930还用于:根据所述模型任务状态获取请求向服务端920实时反馈当前待处理任务执行状态;服务端920还用于:在确定所述当前待处理任务执行状态为任务执行中状态的情况下,生成所述执行状态查询任务查询的所述待查询任务的任务运行中处理结果;或,在确定所述当前待处理任务执行状态为任务执行完毕状态的情况下,接收所述模型服务端反馈的所述执行状态查询任务查询的所述待查询任务的任务执行结果;将所述任务运行中处理结果或所述任务执行结果反馈至所述用户端。
219.可选的,所述待处理任务包括删除任务;所述模型交互请求包括任务删除请求;服务端920还用于:根据所述任务请求信息获取所述删除任务用于删除待删除任务的任务查询标识;根据所述任务查询标识确定处理所述待删除任务的第三目标模型;根据所述第三目标模型和所述任务查询标识实时生成所述任务删除请求。
220.可选的,模型服务端930还用于:根据所述任务删除请求向服务端920实时反馈所述待删除任务的任务删除结果;服务端920还用于:根据所述待删除任务的任务删除结果生成所述删除任务删除所述待删除任务的删除任务响应数据;将所述删除任务删除所述待删除任务的删除任务响应数据反馈至所述用户端。
221.可选的,服务端920还用于:获取所述待处理任务的任务存储关联数据;将所述任务存储关联数据存储至数据库;其中,所述任务存储关联数据包括以下至少之一:新建任务的任务配置信息、模型服务端反馈的任务标识以及所述待处理任务的任务状态。
222.可选的,模型服务端930用于采用分布式调度模型算子worker的方式和分布式计算的方式实时响应所述模型交互请求。
223.图10是本公开实施例提供的一种任务处理系统的架构示意图,在一个具体的例子中,如图10所示,用户端可以支持用户在可视化界面配置任务配置信息,如投资组合列表、基准类型、货币类型、穿透类型以及日期等资产配置信息。任务配置信息配置完成后,用户点击“运行”后,进入如图11所示的任务处理界面,任务处理界面处于loading状态,等待模型侧计算完成。同时,用户端可以增加轮询逻辑,查询模型计算结果。用户端可以每5s轮询一次,对于用户感知的最长延迟时间是5s,从而保证部分计算较快的模型完成后能及时反
馈用户查看。计算期间,用户端无需与服务端保持连接,可通过spaceid、userid以及moduleid唯一标识一条新建任务,用户在其他任务处理界面进行操作后,回到本任务处理界面时,仍可查询到之前配置的任务状态。
224.服务端可以通过数据库维护历史的模型任务,通过持久化任务状态和结果的方式,保证历史任务的可回溯。服务端在对用户端提供模型任务接口之外,还可以额外提供任务状态查询的功能,通过任务状态判断用户端处于等待状态,还是直接渲染模型计算结果。同时,服务端还可以对某些特定的数据结构,进行数据格式的转换和清洗,以适配模型的输入数据结构。服务端还可以维护用户操作记录,定时定点地记录用户行为,以便于问题追溯。服务端还可以监控接口性能,保证与用户端和模型服务端的数据交互质量。服务端还可以对接模型调度层接口,根据业务场景适配调度器调度模型worker执行。
225.模型服务端的模型调度层为模型层对外提供的接口化服务,提供了以下接口:
226.(1)提交模型计算任务:负责接收任务配置参数、校验以及调度资源执行模型计算逻辑;
227.(2)检查任务状态:通过唯一的任务标识获取对应模型的计算状态,对于执行完成或失败的模型,可及时反馈上层其计算结果;
228.(3)强制结束任务:可通过该接口强制结束正在执行的模型任务,释放服务器压力,用户可重新配置执行模型计算。
229.图12是本公开实施例提供的一种服务端适配模型服务端进行分布式调度的架构示意图,图13是本公开实施例提供的一种airflow调度模型worker执行任务的流程示意图,图14是本公开实施例提供的一种spark分布式计算的流程示意图。在一个具体的例子中,如图12、图13和图14所示,模型调度层可以引入airflow(任务调度器)以及gearman(队列式的任务调度器,分布式任务调度器)实现任务的分布式调度,保证集群计算资源的合理利用。对于较为复杂及依赖性较强的多个模型,可通过workflow(任务调度器)配置pipeline(流水线)调度模型的执行。对于不同的待处理任务可以调度不同的worker去执行,同一待处理任务也可以调度多个worker去执行。当计算压力过大时,gearman内置的任务队列,可实现任务的等待和分流。同时,airflow可以支持spark(任务调度器)operator(控制器),可通过bashoperator或sparksubmitoperator直接提交运行spark作业,支持分布式计算,提高计算速率,降低用户等待时间,为模型的大数据计算场景提供了方便快捷的方案。
230.模型服务端的模型计算层对于大数据的模型计算场景,可以引入hadoop(分布式系统基础架构)及spark实现模型的分布式计算,充分利用集群算力,极大程度地提升计算效率。计算量较小的模型仍可复用之前逻辑,通过统一接口层对外提供,根据不同的业务场景,实现不同计算方案。
231.模型服务端的模型算子层将计算逻辑从之前的接口化服务中抽离出来,根据模型类型独立成单独的worker,worker功能原子化,单个模型作为一个worker设计,由调度层调度worker执行。worker功能轻量化之后,可以简化计算逻辑,便于调度执行,充分利用计算资源,同时对于具有包含和相似功能的模型,可复用计算逻辑,整体结构更为清晰,可扩展性和可插拔性更强。
232.由此可见,上述任务处理系统中,用户端与模型侧的交互模式由同步改为异步,用户在提交模型计算任务后,无需长时间停留页面等待,可以同步执行其他任务类型,从而提
高任务处理效率和用户体验。模型侧去服务化,模型算子独立作为worker执行,计算方案多元化,可根据实际业务场景对接更适用的计算平台。引入airflow和gearman等分布式任务调度系统,有效调控高压状态下的模型计算压力。对于大数据的计算场景,引入hadoop和spark实现分布式计算作业,从软件层面大幅提升计算效率。上述任务处理系统为完全软件层面的优化,优化了模型计算方式和模型交互方式,系统稳定性答复提升,计算效率也大幅提升,可以减少硬件实现成本。
233.本公开的技术方案中,所涉及用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
234.需要说明的是,以上各实施例中各技术特征之间的任意排列组合也属于本公开的保护范围。
235.在一个示例中,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
236.图15示出了可以用来实施本公开的实施例的示例电子设备1500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
237.如图15所示,设备1500包括计算单元1501,其可以根据存储在只读存储器(rom)1502中的计算机程序或者从存储单元1508加载到随机访问存储器(ram)1503中的计算机程序,来执行各种适当的动作和处理。在ram 1503中,还可存储设备1500操作所需的各种程序和数据。计算单元1501、rom 1502以及ram 1503通过总线1504彼此相连。输入/输出(i/o)接口1505也连接至总线1504。
238.设备1500中的多个部件连接至i/o接口1505,包括:输入单元1506,例如键盘、鼠标等;输出单元1507,例如各种类型的显示器、扬声器等;存储单元1508,例如磁盘、光盘等;以及通信单元1509,例如网卡、调制解调器、无线通信收发机等。通信单元1509允许设备1500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
239.计算单元1501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1501执行上文所描述的各个方法和处理,例如任务处理方法。例如,在一些实施例中,任务处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1508。在一些实施例中,计算机程序的部分或者全部可以经由rom 1502和/或通信单元1509而被载入和/或安装到设备1500上。当计算机程序加载到ram1503并由计算单元1501执行时,可以执行上文描述的任务处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元1501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行任务处理方法。
240.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统
的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
241.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
242.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
243.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
244.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
245.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器还可以分布式系统的服务器,或者是结合了区块链的服务器。
246.本公开实施例通过获取到用户端根据待处理任务发送的任务请求信息之后,根据
获取的任务请求信息实时生成模型交互请求,并将实时生成的模型交互请求实时发送至模型服务端,以使模型服务端根据模型交互请求处理待处理任务,并接收模型服务端根据模型交互请求实时反馈的模型当前处理结果,从而根据接收的模型当前处理结果确定待处理任务的当前任务处理结果,解决相关技术根据模型进行任务处理时存在的任务处理的实时性和效率较低等问题,能够提高任务处理的实时性和高效性。
247.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
248.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1