CN118113494A - 任务分发方法、装置、设备、存储介质和程序产品 - Google Patents
任务分发方法、装置、设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN118113494A CN118113494A CN202410453522.0A CN202410453522A CN118113494A CN 118113494 A CN118113494 A CN 118113494A CN 202410453522 A CN202410453522 A CN 202410453522A CN 118113494 A CN118113494 A CN 118113494A
- Authority
- CN
- China
- Prior art keywords
- task
- target
- message queue
- processing object
- distribution
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000012545 processing Methods 0.000 claims abstract description 203
- 238000012790 confirmation Methods 0.000 claims abstract description 36
- 230000005540 biological transmission Effects 0.000 claims description 34
- 238000004590 computer program Methods 0.000 claims description 33
- 230000008569 process Effects 0.000 claims description 16
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Computer And Data Communications (AREA)
Abstract
本申请涉及一种任务分发方法、装置、设备、存储介质和程序产品,涉及计算机技术领域。可用于金融科技领域或其他相关领域。所述方法包括:基于待分发的目标任务的任务类型标识确定目标任务对应的第一目标处理对象;将目标任务和第一目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第一目标处理对象;根据消息队列发送目标任务的状态确定任务分发确认信息,任务分发确认信息用于表示目标任务的分发状态。采用本方法能够提高任务分发效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及任务分发方法、装置、设备、存储介质和程序产品。
背景技术
随着各企业单位业务量的增加,需要将大量的作业任务进行分类,并分发给不同的工作人员,以使工作人员能及时对作业任务进行处理。
目前,针对作业任务的分发采取了手工分发和信息系统流转等手段,主要是利用审核机制将作业任务固定分发至对应的工作人员,使得作业任务在系统流转得以处理。
然而,通过审核机制进行作业任务的全流程管理时,需耗费大量的人力成本且容易发生错漏,在需要分发的任务较多时,分发效率低,同时可能导致任务量分派不合理或分发错误,这样又需要退回作业任务重新进行分发,会导致作业任务分发效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高作业任务分发效率的任务分发方法、装置、设备、存储介质和程序产品。
第一方面,本申请提供了一种任务分发方法,包括:
基于待分发的目标任务的任务类型标识确定目标任务对应的第一目标处理对象;将目标任务和第一目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第一目标处理对象;根据消息队列发送目标任务的状态确定任务分发确认信息,任务分发确认信息用于表示目标任务的分发状态。
在其中一个实施例中,基于待分发的目标任务的任务类型标识确定所述目标任务对应的第一目标处理对象,包括:获取预设任务订阅列表,任务订阅列表包括各任务类型标识与处理对象的对应关系;基于任务类型标识从预设任务订阅列表中确定目标任务对应的第一目标处理对象。
在其中一个实施例中,将目标任务和第一目标处理对象发送至消息队列中,包括:将目标任务和第一目标处理对象按照预设数据传输格式进行组装,得到目标数据,并基于消息队列遥测传输协议将目标数据发送至消息队列中。
在其中一个实施例中,该方法还包括:若预设任务订阅列表中的任务类型标识对应的第一目标处理对象被删除,则向消息队列发送撤回消息,撤回消息用于指示消息队列不对目标任务进行处理。
在其中一个实施例中,该方法还包括:若目标数据存入消息队列之后预设时长后目标任务的分发状态是已处理待分发,则基于目标任务的任务类型标识从预设任务订阅列表中确定目标任务对应的第二目标处理对象,其中,第二目标对象与第一目标对象不同;将目标任务和第二目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第二目标处理对象。
第二方面,本申请还提供了一种任务分发装置,包括:
第一确定模块,用于基于待分发的目标任务的任务类型标识确定目标任务对应的第一目标处理对象;
发送模块,用于将目标任务和第一目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第一目标处理对象;
第二确定模块,用于根据消息队列发送目标任务的状态确定任务分发确认信息,任务分发确认信息用于表示目标任务的分发状态。
在其中一个实施例中,第一确定模块,具体用于:获取预设任务订阅列表,任务订阅列表包括各任务类型标识与处理对象的对应关系;基于任务类型标识从预设任务订阅列表中确定目标任务对应的第一目标处理对象。
在其中一个实施例中,发送模块,具体用于:将目标任务和第一目标处理对象按照预设数据传输格式进行组装,得到目标数据,并基于消息队列遥测传输协议将目标数据发送至消息队列中。
在其中一个实施例中,发送模块,还用于:若预设任务订阅列表中的任务类型标识对应的第一目标处理对象被删除,则向消息队列发送撤回消息,撤回消息用于指示消息队列不对目标任务进行处理。
在其中一个实施例中,第二确定模块,还用于:若目标数据存入消息队列之后预设时长后目标任务的分发状态是已处理待分发,则基于目标任务的任务类型标识从预设任务订阅列表中确定目标任务对应的第二目标处理对象,其中,第二目标对象与第一目标对象不同;
发送模块,还用于:将目标任务和第二目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第二目标处理对象。
第三方面,本申请还提供了一种任务分发系统,该系统包括任务分发平台和消息队列;
任务分发平台,用于基于待分发的目标任务的任务类型标识确定目标任务对应的第一目标处理对象,将目标任务和第一目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第一目标处理对象,根据消息队列发送目标任务的状态确定任务分发确认信息,任务分发确认信息用于表示目标任务的分发状态;
消息队列,用于接收目标任务和第一目标处理对象,将目标任务发送给第一目标处理对象。
在其中一个实施例中,消息队列采用分布式集群部署,集群中的各节点中存储的内容包括任务路由表和消息队列,接收目标任务和第一目标处理对象,将目标任务发送给第一目标处理对象,包括:根据目标任务和任务路由表确定目标任务对应的目标消息队列;将目标任务和第一目标处理对象存储在目标消息队列中;目标消息队列将目标任务发送给第一目标处理对象。
第四方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一所述的方法。
第五方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一所述的方法。
第六方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面任一所述的方法。
上述任务分发方法、装置、设备、存储介质和程序产品,通过基于待分发的目标任务的任务类型标识确定目标任务对应的第一目标处理对象,然后将目标任务和第一目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第一目标处理对象,最后根据消息队列发送目标任务的状态确定任务分发确认信息,这样在有大量任务需要分发时,通过消息队列以异步处理的方式提高任务分发效率,同时,根据任务类型标识确定出第一目标处理对象,由消息队列将目标任务发送给第一目标处理对象,在一定程度上也可以避免任务被退回重新分发的问题,进一步提高任务分发的效率。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中任务分发方法的应用环境图;
图2为一个实施例中任务分发方法的流程示意图;
图3为一个实施例中确定第一目标处理对象步骤的流程示意图;
图4为另一个实施例中任务分发方法的流程示意图;
图5为另一个实施例中任务分发方法的流程示意图;
图6为一个实施例中任务分发装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
随着各企业单位业务量的增加,需要将大量的作业任务进行分类,并分发给不同的工作人员,以使工作人员能及时对作业任务进行处理。
目前,针对作业任务的分发采取了手工分发和信息系统流转等手段,主要是利用审核机制将作业任务固定分发至对应的工作人员,使得作业任务在系统流转得以处理。
然而,通过审核机制进行作业任务的全流程管理时,需耗费大量的人力成本且容易发生错漏,可能导致任务量分派不合理或分发错误,例如工作人员接收到不属于本岗位的作业任务,或者,部分工作人员工作量不饱和、而部分工作人员工作量过大,这样又需要退回作业任务重新进行分发,会导致作业任务分发效率较低。
有鉴于此,本申请提供了一种可以有效地提高作业任务分发效率的任务分发方法。本申请实施例提供的任务分发方法,其执行主体可以是任务分发装置,该任务分发装置可以通过软件、硬件或者软硬件结合的方式实现,可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,该计算机设备可以是服务器。下述方法实施例中,均以执行主体是服务器为例来进行说明。
本申请实施例提供的任务分发方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个示例性的实施例中,如图2所示,提供了一种任务分发方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤201至步骤203。其中:
S201,服务器基于待分发的目标任务的任务类型标识确定目标任务对应的第一目标处理对象。
在一种可能实现的方式中,服务器获取待分发的目标任务可以通过接收外部设备的输入信息,可选的,服务器可以基于web浏览器或者终端向操作用户提供可视化交互界面,由操作用户通过web浏览器或者终端输入待分发的目标任务,在接收到输入信息后,按照预设的存储格式将目标任务存储到目标任务数据库中,并将存储结果以可见的消息形式通知或者可视化展现给操作用户。
在另一种可能实现的方式中,服务器获取待分发的目标任务可以通过网络爬虫工具获取大量数据,并对数据进行清洗分析从而获取待分发的目标任务。
可选的,根据获取待分发的目标任务的方式不同,待分发的目标的任务类型标识的确定方法也有所不同,下面对如何确定待分发的目标任务的任务类型标识进行说明。
可选的,待分发的目标任务的任务类型标识可以是目标任务的类别或目标任务的任务标签。
在一种可能实现的方式中,外部设备的输入信息中可以包括待分发的目标任务和对应的任务类型标识,即待分发的目标任务的任务类型标识可以直接从输入信息中确定。
在另一种可能实现的方式中,将待分发的目标任务输入到预设的识别模型中,以通过识别模型确定待分发的目标任务的任务类型标识,待分发的目标任务可以是外部设备的输入信息或对大量数据清洗分析后得到的。
可选的,识别模型可以基于决策树、随机森林、多层感知机或支持向量机等不同的算法实现。
可选的,第一目标处理对象可以是能够处理目标任务的工作人员标识。
S202,服务器将目标任务和第一目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第一目标处理对象。
可选的,可选的,消息队列可以是中间件,位于服务器的操作系统上,可以有一套保证数据稳定传输的机制,包括消息应答、存储和重传,服务器与消息队列之间的数据传输可以按照服务质量(Quality of Service,QoS)要求进行。
在一种可能实现的方式中,服务器和消息队列之间的数据传输可以根据QoS最多一次的要求,数据发送方发送的一条数据,接收方最多能收到一次,如果由于通信链路或发送、接收设备异常导致发送失败,也不会重发。
在另一种可能实现的方式中,服务器和消息队列之间的数据传输可以根据QoS至少一次的要求,数据发送方发送的一条数据,接收方至少能收到一次,如果数据发送失败,发送方会继续重发该数据,直到接收方收到消息为止,保证数据的完整和安全性,需要说明的是,接收方可能会收到重复的消息。
在另一种可能实现的方式中,服务器和消息队列之间的数据传输可以根据QoS确保只有一次的要求,数据发送方发送的一条数据,接收方能够收到而且只能收到一次,如果数据发送失败,发送方会继续重发该数据,直到接收方收到消息为止,同时保证接收方不会因为消息重传而收到重复的消息。
可选的,服务器可以按照上述任一种QoS要求将目标任务和第一目标处理对象发送至消息队列中,本申请对此不进行限定。
可选的,消息队列将目标任务发送给第一目标处理对象时,第一目标处理对象可以通过服务器或者终端接收到消息队列发送的目标任务。
S203,服务器根据消息队列发送目标任务的状态确定任务分发确认信息,任务分发确认信息用于表示目标任务的分发状态。
可选的,消息队列在接收到服务器发送的目标任务和第一目标处理对象后会向服务器发送确认消息,确认信息中包含消息队列发送目标任务的状态,同时,消息队列可以按照QoS至少一次的要求,至少一次将确认消息传输至服务器。
可选的,任务分发确认信息可以包括待处理、已处理无法分发、已处理待分发和已处理已分发,其中,待处理可以是指消息队列在接收到服务器发送数据后立即向服务器发送的确定信息,表示消息队列已经收到服务器发送的数据,但没未开始解析处理;已处理无法分发可以是指消息队列在接收到服务器发送的数据后,按照预设解析规则无法对数据进行解析,即接收到的数据可以是垃圾数据或干扰数据;已处理待分发可以是指消息队列在接收到服务器发送的数据后,按照预设解析规则完成了对数据的解析,还未将目标任务发送给第一目标处理对象;已处理已分发可以是指消息队列在接收到服务器发送的数据后,按照预设解析规则完成了对数据的解析,并将目标任务发送给第一目标处理对象。
可选的,服务器可以将任务分发确认信息以可见的消息形式通知或者可视化展现给操作用户。
上述通过基于待分发的目标任务的任务类型标识确定目标任务对应的第一目标处理对象,然后将目标任务和第一目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第一目标处理对象,最后根据消息队列发送目标任务的状态确定任务分发确认信息,这样在有大量任务需要分发时,通过消息队列以异步处理的方式提高任务分发效率,同时,根据任务类型标识确定出第一目标处理对象,由消息队列将目标任务发送给第一目标处理对象,在一定程度上也可以避免任务被退回重新分发的问题,进一步提高任务分发的效率。
在一个示例性的实施例中,如图3所示,在上文实施例的基础上,可选的,基于待分发的目标任务的任务类型标识确定所述目标任务对应的第一目标处理对象,包括以下步骤301至步骤302。其中:
S301,服务器获取预设任务订阅列表。
其中,任务订阅列表包括各任务类型标识与处理对象的对应关系。
在一种可能实现的方式中,可以通过神经网络模型对各处理对象处理的历史任务进行分析,确定各处理对象对应处理的任务类型,将各处理对象与任务类型的对应关系进行存储,以得到预设任务订阅列表。
在另一种可能实现的方式中,可以通过日常工作总结或问卷调查确定各处理对象处理的任务类型,将各处理对象与任务类型的对应关系进行存储,以得到预设任务订阅列表。
可选的,服务器可以从数据库中获取预设任务订阅列表,也可以将预设任务订阅列表按照一定的频率自动缓存到内存中或者远程字典服务(Remote Dictionary Server,redis)组件中,服务器从内存中或者redis组件中获取预设任务订阅列表。
S302,服务器基于任务类型标识从预设任务订阅列表中确定目标任务对应的第一目标处理对象。
可选的,目标任务类型标识可能对应多个处理对象,可以将多个处理对象都作为第一目标处理对象;也可以从多个处理对象中选取出一个处理对象,将该处理对象作为第一目标处理对象。
可选的,可以由操作人员从多个处理对象中指定第一目标处理对象,也可以根据各处理对象的网络开销情况和工作负荷,从对应的多个处理对象中选取出第一目标处理对象,根据各处理对象的工作负荷进行任务分发,考虑到各处理对象的工作量后再进行任务分发,可以避免因为工作量分配不均匀导致的任务被退回重新分发,可以提高任务分发的效率。
在一个示例性的实施例中,在上文实施例的基础上,可选的,将目标任务和第一目标处理对象发送至消息队列中,包括:将目标任务和第一目标处理对象按照预设数据传输格式进行组装,得到目标数据,并基于消息队列遥测传输协议将目标数据发送至消息队列中。
可选的,消息队列遥测传输协议(Message Queuing Telemetry Transport,MQTT)是一种基于发布/订阅模式的通讯协议。
可选的,在基于MQTT协议传输数据时,需要将数据按照预设数据传输格式进行组装,目标数据可以包括固定头、可变头和消息体,其中,固定头可以表示目标数据类型以及目标数据的分组类标识,可变头位于固定头和消息体之间,可变头的内容因目标数据类型而不同,消息体中包括目标任务和第一目标处理对象。
上述将目标任务和第一目标处理对象按照预设数据传输格式进行组装,得到目标数据,并基于消息队列遥测传输协议将目标数据发送至消息队列中,通过MQTT协议将目标数据发送至消息队列中,进而对目标数据进行分发,可以提高任务分发效率。
在一个示例性的实施例中,在上文实施例的基础上,可选的,该方法还包括:若预设任务订阅列表中的任务类型标识对应的第一目标处理对象被删除,则向消息队列发送撤回消息,撤回消息用于指示消息队列不对目标任务进行处理。
可选的,可以对预设任务订阅列表进行更新,例如,增加某一任务类型对应的处理对象或者删除某一任务类型对应的处理对象。
可选的,可以监控预设任务订阅列表中的数据变化,当预设任务订阅列表中的目标任务的任务类型标识对应的第一目标处理对象被删除时,向消息队列发送撤回消息,撤回消息中可以包括被删除的处理对象和对应的任务类型标识,消息队列根据被删除的处理对象和对应的任务类型标识从接收到所有数据中确定出目标任务,可以将目标任务从消息队列中删除,不再对目标任务进行分发。
在一个示例性的实施例中,如图4所示,在上文实施例的基础上,可选的,该方法还包括以下步骤401至步骤402。其中:
S401,若目标数据存入消息队列之后预设时长后目标任务的分发状态是已处理待分发,则服务器基于目标任务的任务类型标识从预设任务订阅列表中确定目标任务对应的第二目标处理对象。
其中,第二目标对象与第一目标对象不同。
可选的,当目标数据存入消息队列之后,在预设时长后仍未完成目标任务的分发时,有可能是第一目标对象此时的网络开销和工作负荷超出预设阈值,消息队列不能将目标任务发送给第一目标处理对象,也可能是第一目标处理对象被删除但消息队列未接收到撤回消息,此时消息队列也无法将目标任务发送给第一目标处理对象。
可选的,预设时长的设定与目标任务的分发模式有关,目标任务的分发模式可以包括立即分发和定时分发,例如,当目标任务的分发模式是立即分发时,预设时长可以是3分钟或者更短,当目标任务的分发模式是定时分发时,消息队列会将目标任务存储直至到设定的时间再进行分发,此时预设时长可以是消息队列收到目标数据的时间与设定时间之间的时间差。
S402,服务器将目标任务和第二目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第二目标处理对象。
可选的,将目标任务和第二目标处理对象发送至消息队列中时,同样需要将目标任务和第二目标处理对象按照预设数据传输格式进行组装,并基于消息队列遥测传输协议将组装后的数据发送至消息队列中,以重新对目标任务进行分发。
需要说明的是,若目标任务的分发模式是定时发送,但是在重新对目标任务进行发送时,当前时间可能已经晚于设定的时间,则消息队列在接收到目标任务后就将目标任务发送给第二目标处理对象。
可选的,在消息队列将目标任务发送至第二目标处理对象后,修改目标任务的分发状态。
上述若目标数据存入消息队列之后预设时长后目标任务的分发状态是已处理待分发,则基于目标任务的任务类型标识从预设任务订阅列表中确定目标任务对应的第二目标处理对象,将目标任务和第二目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第二目标处理对象,可以及时监控目标任务的发送状态,当目标任务没有分发成功时,重新确定合适的处理对象,及时完成任务的分发,可以提高任务分发效率。
作为一种可选的实施方式,如图5所示,本申请实施例中提供的任务分发方法,可包括如下具体步骤:
S501,服务器获取预设任务订阅列表。
其中,任务订阅列表包括各任务类型标识与处理对象的对应关系。
S502,服务器基于任务类型标识从预设任务订阅列表中确定目标任务对应的第一目标处理对象。
S503,服务器将目标任务和第一目标处理对象按照预设数据传输格式进行组装,得到目标数据。
S504,服务器基于消息队列遥测传输协议将目标数据发送至消息队列中,以基于消息队列将目标任务发送给第一目标处理对象。
S505,服务器根据消息队列发送目标任务的状态确定任务分发确认信息。
其中,任务分发确认信息用于表示目标任务的分发状态。
S506,若预设任务订阅列表中的任务类型标识对应的第一目标处理对象被删除,则服务器向消息队列发送撤回消息。
其中,撤回消息用于指示消息队列不对目标任务进行处理。
S507,若目标数据存入消息队列之后预设时长后目标任务的分发状态是已处理待分发,则服务器基于目标任务的任务类型标识从预设任务订阅列表中确定目标任务对应的第二目标处理对象。
其中,第二目标对象与第一目标对象不同。
S508,服务器将目标任务和第二目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第二目标处理对象。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的任务分发方法的任务分发装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个任务分发装置实施例中的具体限定可以参见上文中对于任务分发方法的限定,在此不再赘述。
在一个示例性的实施例中,如图6所示,提供了一种任务分发装置600,包括:第一确定模块601、发送模块602和第二确定模块603,其中:
第一确定模块601,用于基于待分发的目标任务的任务类型标识确定目标任务对应的第一目标处理对象;
发送模块602,用于将目标任务和第一目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第一目标处理对象;
第二确定模块603,用于根据消息队列发送目标任务的状态确定任务分发确认信息,任务分发确认信息用于表示目标任务的分发状态。
在其中一个实施例中,第一确定模块601,具体用于:获取预设任务订阅列表,任务订阅列表包括各任务类型标识与处理对象的对应关系;基于任务类型标识从预设任务订阅列表中确定目标任务对应的第一目标处理对象。
在其中一个实施例中,发送模块602,具体用于:将目标任务和第一目标处理对象按照预设数据传输格式进行组装,得到目标数据,并基于消息队列遥测传输协议将目标数据发送至消息队列中。
在其中一个实施例中,发送模块602,还用于:若预设任务订阅列表中的任务类型标识对应的第一目标处理对象被删除,则向消息队列发送撤回消息,撤回消息用于指示消息队列不对目标任务进行处理。
在其中一个实施例中,第二确定模块603,还用于:若目标数据存入消息队列之后预设时长后目标任务的分发状态是已处理待分发,则基于目标任务的任务类型标识从预设任务订阅列表中确定目标任务对应的第二目标处理对象,其中,第二目标对象与第一目标对象不同;
发送模块603,还用于:将目标任务和第二目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第二目标处理对象。
上述任务分发装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的任务分发方法的任务分发系统。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个任务分发装置实施例中的具体限定可以参见上文中对于任务分发方法的限定,在此不再赘述。
在一个示例性的实施例中,该系统包括任务分发平台和消息队列。
任务分发平台,用于基于待分发的目标任务的任务类型标识确定目标任务对应的第一目标处理对象,将目标任务和第一目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第一目标处理对象,根据消息队列发送目标任务的状态确定任务分发确认信息,任务分发确认信息用于表示目标任务的分发状态。
消息队列,用于接收目标任务和第一目标处理对象,将目标任务发送给第一目标处理对象。
可选的,消息队列可以是中间件,位于服务器的操作系统上,便于服务器上各软件部件之间的信息与资源传输或共享。
可选的,消息队列可以基于MQTT协议实现,还可以通过RabbitMQ、卡夫卡(kafka)等实现。
可选的,消息队列中除了用于存储目标数据的列表,还包括通信单元、数据处理单元和任务存储单元,其中,任务存储单元用于目标任务的数据存储、统计分析数据存储、系统日志存储以及备份,且建立了按照一定周期自动清理的机制,可在按照预设周期将存储的数据清楚,及时释放存储空间,减轻任务分发系统的缓存和处理压力。
可选的,可以通过Docker云的形式对任务发布平台和消息队列进行部署,Docker是一个基于容器技术的开源平台,用于快速构建、打包和发布应用程序,它将应用程序和应用程序的依赖项打包到一个称为Docker容器的可移植容器中。Docker容器可以在任何支持Docker的操作系统上运行,无需担心环境配置问题,这样在部署任务发布平台和消息队列时,可以避免因为部署环境差异或依赖性冲突导致的任务发布平台或消息队列的部分功能不能实现的问题,即提高了任务发布平台和消息队列的部署效率,并且实现资源隔离和安全性。
可选的,任务发布平台和消息队列可以基于加密安全协议进行数据传输,接收端对收到的数据进行解密验证后再进行处理,可以保证在互联网通信中的隐私、身份验证和数据完整性,加密安全协议可以是安全套接字层(Secure Socket Layer,SSL)协议,也可以是传输层安全(TLS)协议,本申请对此不进行限制。
在一个示例性的实施例中,在上文实施例的基础上,可选的,消息队列采用分布式集群部署,集群中的各节点中存储的内容包括任务路由表和消息队列,接收目标任务和第一目标处理对象,将目标任务发送给第一目标处理对象,包括:根据目标任务和任务路由表确定目标任务对应的目标消息队列;将目标任务和第一目标处理对象存储在目标消息队列中;目标消息队列将目标任务发送给第一目标处理对象。
可选的,任务分发平台可以向消息队列中发布待分发的目标任务,同时,任务分发平台还可以接收消息队列发送的目标任务,也就是说,任务分发平台可以是消息队列中目标任务的发布者,也可以是消息队列中目标任务的订阅者。
可选的,消息队列采用分布式集群部署,第一目标处理对象在接收目标任务时,按照第一目标处理对象对应的任务类型标识定位到目标消息队列,从目标消息队列中接收目标任务,当成功接收目标任务后,目标消息队列所在节点会广播通知其他节点。
可选的,集群中的一个节点可以访问到集群中的所有消息队列。
上述根据目标任务和任务路由表确定目标任务对应的目标消息队列;将目标任务和第一目标处理对象存储在目标消息队列中;目标消息队列将目标任务发送给第一目标处理对象,通过分布式集部署的方式,可以实现自动故障转移,当其中一个节点出现故障时,其他节点可以自动接管该节点的工作,并且可以提高任务分发系统的吞吐量,任务分发系统的分发效率高。
在一个示例性的实施例中,任务平台,具体用于获取预设任务订阅列表,任务订阅列表包括各任务类型标识与处理对象的对应关系;基于任务类型标识从预设任务订阅列表中确定目标任务对应的第一目标处理对象。
在一个示例性的实施例中,任务平台,具体用于将目标任务和第一目标处理对象按照预设数据传输格式进行组装,得到目标数据,并基于消息队列遥测传输协议将目标数据发送至消息队列中。
在一个示例性的实施例中,任务平台,具体用于若预设任务订阅列表中的任务类型标识对应的第一目标处理对象被删除,则向消息队列发送撤回消息,撤回消息用于指示消息队列不对目标任务进行处理。
在一个示例性的实施例中,任务平台,具体用于若目标数据存入消息队列之后预设时长后目标任务的分发状态是已处理待分发,则基于目标任务的任务类型标识从预设任务订阅列表中确定目标任务对应的第二目标处理对象,其中,第二目标对象与第一目标对象不同;将目标任务和第二目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第二目标处理对象。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种任务分发方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
基于待分发的目标任务的任务类型标识确定目标任务对应的第一目标处理对象;将目标任务和第一目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第一目标处理对象;根据消息队列发送目标任务的状态确定任务分发确认信息,任务分发确认信息用于表示目标任务的分发状态。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取预设任务订阅列表,任务订阅列表包括各任务类型标识与处理对象的对应关系;基于任务类型标识从预设任务订阅列表中确定目标任务对应的第一目标处理对象。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将目标任务和第一目标处理对象按照预设数据传输格式进行组装,得到目标数据,并基于消息队列遥测传输协议将目标数据发送至消息队列中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若预设任务订阅列表中的任务类型标识对应的第一目标处理对象被删除,则向消息队列发送撤回消息,撤回消息用于指示消息队列不对目标任务进行处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若目标数据存入消息队列之后预设时长后目标任务的分发状态是已处理待分发,则基于目标任务的任务类型标识从预设任务订阅列表中确定目标任务对应的第二目标处理对象,其中,第二目标对象与第一目标对象不同;将目标任务和第二目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第二目标处理对象。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
基于待分发的目标任务的任务类型标识确定目标任务对应的第一目标处理对象;将目标任务和第一目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第一目标处理对象;根据消息队列发送目标任务的状态确定任务分发确认信息,任务分发确认信息用于表示目标任务的分发状态。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取预设任务订阅列表,任务订阅列表包括各任务类型标识与处理对象的对应关系;基于任务类型标识从预设任务订阅列表中确定目标任务对应的第一目标处理对象。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将目标任务和第一目标处理对象按照预设数据传输格式进行组装,得到目标数据,并基于消息队列遥测传输协议将目标数据发送至消息队列中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若预设任务订阅列表中的任务类型标识对应的第一目标处理对象被删除,则向消息队列发送撤回消息,撤回消息用于指示消息队列不对目标任务进行处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若目标数据存入消息队列之后预设时长后目标任务的分发状态是已处理待分发,则基于目标任务的任务类型标识从预设任务订阅列表中确定目标任务对应的第二目标处理对象,其中,第二目标对象与第一目标对象不同;将目标任务和第二目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第二目标处理对象。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
基于待分发的目标任务的任务类型标识确定目标任务对应的第一目标处理对象;将目标任务和第一目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第一目标处理对象;根据消息队列发送目标任务的状态确定任务分发确认信息,任务分发确认信息用于表示目标任务的分发状态。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取预设任务订阅列表,任务订阅列表包括各任务类型标识与处理对象的对应关系;基于任务类型标识从预设任务订阅列表中确定目标任务对应的第一目标处理对象。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将目标任务和第一目标处理对象按照预设数据传输格式进行组装,得到目标数据,并基于消息队列遥测传输协议将目标数据发送至消息队列中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若预设任务订阅列表中的任务类型标识对应的第一目标处理对象被删除,则向消息队列发送撤回消息,撤回消息用于指示消息队列不对目标任务进行处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若目标数据存入消息队列之后预设时长后目标任务的分发状态是已处理待分发,则基于目标任务的任务类型标识从预设任务订阅列表中确定目标任务对应的第二目标处理对象,其中,第二目标对象与第一目标对象不同;将目标任务和第二目标处理对象发送至消息队列中,以基于消息队列将目标任务发送给第二目标处理对象。
需要说明的是,本申请所涉及的任务信息、处理对象信息、用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,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 RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种任务分发方法,其特征在于,所述方法包括:
基于待分发的目标任务的任务类型标识确定所述目标任务对应的第一目标处理对象;
将所述目标任务和所述第一目标处理对象发送至消息队列中,以基于所述消息队列将所述目标任务发送给所述第一目标处理对象;
根据所述消息队列发送所述目标任务的状态确定任务分发确认信息,所述任务分发确认信息用于表示所述目标任务的分发状态。
2.根据权利要求1所述的方法,其特征在于,所述基于待分发的目标任务的任务类型标识确定所述目标任务对应的第一目标处理对象,包括:
获取预设任务订阅列表,所述任务订阅列表包括各所述任务类型标识与处理对象的对应关系;
基于所述任务类型标识从预设任务订阅列表中确定所述目标任务对应的第一目标处理对象。
3.根据权利要求1所述的方法,其特征在于,所述将所述目标任务和所述第一目标处理对象发送至消息队列中,包括:
将所述目标任务和所述第一目标处理对象按照预设数据传输格式进行组装,得到目标数据,并基于消息队列遥测传输协议将所述目标数据发送至消息队列中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述预设任务订阅列表中的所述任务类型标识对应的所述第一目标处理对象被删除,则向所述消息队列发送撤回消息,所述撤回消息用于指示所述消息队列不对所述目标任务进行处理。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述目标数据存入消息队列之后预设时长后所述目标任务的分发状态是已处理待分发,则基于所述目标任务的任务类型标识从所述预设任务订阅列表中确定所述目标任务对应的第二目标处理对象,其中,所述第二目标对象与所述第一目标对象不同;
将所述目标任务和所述第二目标处理对象发送至所述消息队列中,以基于所述消息队列将所述目标任务发送给第二目标处理对象。
6.一种任务分发装置,其特征在于,所述装置包括:
第一确定模块,用于基于待分发的目标任务的任务类型标识确定所述目标任务对应的第一目标处理对象;
发送模块,用于将所述目标任务和所述第一目标处理对象发送至消息队列中,以基于所述消息队列将所述目标任务发送给所述第一目标处理对象;
第二确认模块,用于根据所述消息队列发送所述目标任务的状态确定任务分发确认信息,所述任务分发确认信息用于表示所述目标任务的分发状态。
7.一种任务分发系统,其特征在于,所述系统包括任务分发平台和消息队列;
所述任务分发平台,用于基于待分发的目标任务的任务类型标识确定所述目标任务对应的第一目标处理对象,将所述目标任务和所述第一目标处理对象发送至消息队列中,以基于所述消息队列将所述目标任务发送给所述第一目标处理对象,根据所述消息队列发送所述目标任务的状态确定任务分发确认信息,所述任务分发确认信息用于表示所述目标任务的分发状态;
所述消息队列,用于接收所述目标任务和所述第一目标处理对象,将所述目标任务发送给第一目标处理对象。
8.根据权利要求7所述的系统,其特征在于所述消息队列采用分布式集群部署,所述集群中的各节点中存储的内容包括任务路由表和消息队列,所述接收所述目标任务和所述第一目标处理对象,将所述目标任务发送给第一目标处理对象,包括:
根据所述目标任务和所述任务路由表确定所述目标任务对应的目标消息队列;
将所述目标任务和所述第一目标处理对象存储在目标消息队列中;
目标消息队列将所述目标任务发送给第一目标处理对象。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410453522.0A CN118113494A (zh) | 2024-04-16 | 2024-04-16 | 任务分发方法、装置、设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410453522.0A CN118113494A (zh) | 2024-04-16 | 2024-04-16 | 任务分发方法、装置、设备、存储介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118113494A true CN118113494A (zh) | 2024-05-31 |
Family
ID=91210475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410453522.0A Pending CN118113494A (zh) | 2024-04-16 | 2024-04-16 | 任务分发方法、装置、设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118113494A (zh) |
-
2024
- 2024-04-16 CN CN202410453522.0A patent/CN118113494A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9800691B2 (en) | Stream processing using a client-server architecture | |
EP3182284A1 (en) | Data pipeline architecture for cloud processing of structured and unstructured data | |
US7706895B2 (en) | Reliable messaging instruction | |
US9705752B2 (en) | Reliably updating a messaging system | |
US10152361B2 (en) | Event stream processing cluster manager | |
US8914804B2 (en) | Handling queues associated with web services of business processes | |
US10075549B2 (en) | Optimizer module in high load client/server systems | |
US20190132276A1 (en) | Unified event processing for data/event exchanges with existing systems | |
US10997538B1 (en) | Resource management | |
US11616686B1 (en) | Cluster management | |
CN109254854A (zh) | 异步调用方法、计算机装置及存储介质 | |
US20150039675A1 (en) | Messaging over http protocol for data exchange | |
CN113630310B (zh) | 一种分布式高可用网关系统 | |
CN113965628A (zh) | 消息调度方法、服务器和存储介质 | |
CN118113494A (zh) | 任务分发方法、装置、设备、存储介质和程序产品 | |
US20070250507A1 (en) | Electronic file sharing | |
CN115250276A (zh) | 分布式系统及数据处理的方法和装置 | |
Hernández et al. | A reliable and scalable service bus based on Amazon SQS | |
CN115023925B (zh) | 度量和事件基础设施 | |
CN115186020A (zh) | 一种数据接入存储处理方法、系统及存储介质 | |
CN118093116A (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
CN116089125A (zh) | 分布式消息队列系统、消息发布方法及消息接收方法 | |
US9325771B2 (en) | Systems and methods for data management | |
CN118175194A (zh) | 一种事件处理方法、装置、计算机设备和存储介质 | |
CN117097816A (zh) | 一种基于多中介感知的跨协议消息分析处理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |