任务派发方法、存储介质及程序产品与流程

文档序号:28210324发布日期:2021-12-28 20:22阅读:190来源:国知局
任务派发方法、存储介质及程序产品与流程

1.本发明涉及计算机技术领域,尤其涉及一种任务派发方法、存储介质及程序产品。


背景技术:

2.随着各个业务系统的不断迭代、功能的不断完善,各业务系统沉淀了大量的业务数据,同时伴随着大量用户的加入,外部厂商的加盟、城市拓展等,各级业务系统的运营成本急剧上升。为了降低运营成本,提高作业效率,支持精细化运营,就成为了各个业务系统急需解决的问题。建立统一的运营平台,实现业务系统快速接入,是实现各业务系统精细化运营的一种快速且成本低的有效方案。
3.而任务派发是精细化运营的重要组成部分,因此实现支持自动化精细化运营的任务派发迫在眉睫。


技术实现要素:

4.针对现有技术存在的问题,本发明提供一种任务派发方法、存储介质及程序产品。
5.本发明提供一种任务派发方法,包括:接收业务方发送的任务派发申请消息,所述任务派发申请消息包括任务执行主体id及任务模板id;获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息,将所述任务实例信息进行任务信息表的结构化存储从而生成任务实例,根据所述任务实例派发任务。
6.根据本发明提供的一种任务派发方法,所述任务派发申请消息还包括关联条件,所述关联条件与所述任务模板id相对应,用于限定与所述任务模板id对应的任务所需达成的事件的值。
7.根据本发明提供的一种任务派发方法,所述根据所述任务派发申请消息及所述任务模板生成任务实例信息,具体包括:提取所述任务派发申请消息及所述任务模板中的字段信息,根据所述字段信息生成所述任务实例信息;其中,若所述任务派发申请消息和所述任务模板对于同一字段进行了赋值,则以所述任务派发申请消息为准。
8.根据本发明提供的一种任务派发方法,在所述获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息之前,所述方法还包括:判断所述任务模板id是否唯一;若所述任务模板id唯一,则与所述任务派发申请消息对应的任务派发类型为普通任务派发,若所述任务模板id不唯一,则所述任务派发类型为任务组派发;在所述任务派发类型为所述普通任务派发时,所述任务模板id为待派发的所述普通任务的任务模板id,所述关联条件为所述普通任务对应的普通任务关联条件。
9.根据本发明提供的一种任务派发方法,若所述任务派发类型为所述任务组派发,则获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息,具体包括:获取所述任务模板id中的主任务模板id和子任务模板id,根据所述主任务模板id获取主任务模板,根据所述子任务模板id获取子任务模板;获取所述关联条件中的子任务模板id对应的子任务关联条件;根据所述任务执行主体id及所述主任务
模板生成主任务实例信息,根据所述任务执行主体id、所述子任务模板及所述子任务关联条件生成子任务实例信息;将所述主任务实例信息和所述子任务实例信息进行拼接得到所述任务实例信息。
10.根据本发明提供的一种任务派发方法,在所述获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息之前,所述方法还包括:判断所述任务派发申请消息对应的需要领取的任务是否已经派发过;若已经派发过,则结束;若没有派发过,则执行所述获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息的步骤。
11.根据本发明提供的一种任务派发方法,所述判断所述任务派发申请消息对应的需要领取的任务是否已经派发过,具体包括:查询进行中的所述任务信息表是否包含所述任务派发申请消息中的预设字段,若存在,表示所述需要领取的任务已经派发过,若不存在,进一步查询历史任务信息表是否存在所述任务派发申请消息中的预设字段;若不存在,则表示所述需要领取的任务没有派发过,若存在,进一步判断所述需要领取的任务是否一次性任务;若是,则表示所述需要领取的任务已经派发过,若否,进一步判断所述需要领取的任务是否周期性任务;若否,则表示所述需要领取的任务已经派发过,若是,进一步判断所述预设字段的记录时间是否在当前周期内;若是,则表示所述需要领取的任务已经派发过,若否,则表示所述需要领取的任务没有派发过。
12.根据本发明提供的一种任务派发方法,所述任务派发申请消息还包括任务下发后的过期时间、任务需要达成的事件的发生次数、任务在页面展示时的展示内容中的至少一种。
13.根据本发明提供的一种任务派发方法,所述任务派发申请消息包括常规信息字段和自定义信息字段。
14.根据本发明提供的一种任务派发方法,在所述获取与所述任务模板id对应的任务模板之前,所述方法还包括:对所述任务派发申请消息进行解析及格式转换。
15.本发明还提供一种任务派发装置,包括:任务派发申请消息接收模块,用于:接收业务方发送的任务派发申请消息,所述任务派发申请消息包括任务执行主体id及任务模板id;任务派发模块,用于:获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息,将所述任务实例信息进行任务信息表的结构化存储从而生成任务实例,根据所述任务实例派发任务。
16.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述任务派发方法的步骤。
17.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述任务派发方法的步骤。
18.本发明还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现如上述任一种所述任务派发方法的步骤。
19.本发明提供的任务派发方法、存储介质及程序产品,通过在接收到业务方包括任务执行主体id及任务模板id的任务派发申请消息后,根据任务派发申请消息及任务模板生成任务实例,能够根据任务执行主体id精确匹配任务执行人与任务,根据任务模板高度自
定义任务内容,实现了精确的、可灵活自定义的任务匹配及派发;并且,将任务的匹配、派发逻辑从业务系统本身的业务逻辑中剥离处理,建立统一的模型,降低系统复杂性,减少开发成本,实现业务系统可快速接入、精细运营的目的。
附图说明
20.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1是本发明提供的任务派发方法的流程示意图之一;
22.图2是本发明提供的任务派发方法中任务派发申请消息的数据结构示意图;
23.图3是本发明提供的任务派发方法的任务领取/派发模型示意图;
24.图4是本发明提供的任务派发方法的任务领取/派发时序图;
25.图5是本发明提供的另一任务派发方法流程图;
26.图6是图5提供的任务派发方法中的判重逻辑流程图;
27.图7是图5提供的任务派发方法中普通任务派发的流程图;
28.图8是图5提供的任务派发方法中任务组派发的流程图;
29.图9是本发明提供的任务派发装置的结构示意图;
30.图10是本发明提供的电子设备的结构示意图。
具体实施方式
31.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
32.下面结合图1

图10描述本发明的任务派发方法、存储介质及程序产品。
33.图1是本发明提供的任务派发方法的流程示意图之一。如图1所示,所述方法包括:
34.步骤101、接收业务方发送的任务派发申请消息,所述任务派发申请消息包括任务执行主体id及任务模板id。
35.本发明提供的任务派发方法可以实现于用于任务派发的服务器。本发明提供的任务派发方法的任务派发过程由任务派发服务器和业务方共同配合实现。业务方比如可以为各类业务系统的平台,用以实现不同的业务功能。任务派发服务器中存储有不同任务的任务模板,任务模板中比如可以定义实现某个任务所要完成的事件等。服务器可以在接收到业务方发送的任务派发申请消息后,根据任务派发申请消息对于任务派发的需求,有针对性地生成及派发业务方所需的任务。
36.因此,在实现任务派发时,任务派发服务器首先接收业务方发送的任务派发申请消息,任务派发申请消息包括任务执行主体id及任务模板id。其中,任务执行主体id为待派发的任务的执行人的编号,如在房产交易系统中,任务执行主体id可以为经纪人、商圈经理、店东等的编码。任务模板id为任务模板的唯一标识。任务派发服务器可以根据任务模板
id获取对应的任务模板。
37.步骤102、获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息,将所述任务实例信息进行任务信息表的结构化存储从而生成任务实例,根据所述任务实例派发任务。
38.任务派发服务器接收到包括任务执行主体id及任务模板id的任务派发申请消息后,获取与任务模板id对应的任务模板,根据任务派发申请消息及任务模板生成任务实例信息,比如将任务执行主体id和任务模板中的信息进行整合,得到任务实例信息,然后将得到的任务实例信息存储到结构化的任务信息表中,实现结构化存储及封装,从而将任务模板对应的任务实例化,也即生成了任务实例。任务派发服务器根据任务实例进行对应任务执行主体id和/或业务方的任务派发。任务派发服务器可以将业务方id、任务执行主体id和对应的任务实例进行关联,并根据任务模板等关于任务的设置情况在业务方和/或任务执行主体id的任务查看界面显示相应任务的信息,从而实现任务派发。
39.实际使用中,业务方以及任务执行主体id对应的任务执行人的客户端可以作为任务派发服务器的客户端,设置相应的客户端界面(可以显示任务查看界面),通过不断轮询自身的任务派发结果显示相应的任务提示信息。在任务提示信息中可以显示相应任务的触发按钮,比如可以设置相应任务的跳转链接,具体可以根据需要灵活设置。
40.本发明提供的任务派发方法,通过在接收到业务方包括任务执行主体id及任务模板id的任务派发申请消息后,根据任务派发申请消息及任务模板生成任务实例,能够根据任务执行主体id精确匹配任务执行人与任务,根据任务模板高度自定义任务内容,实现了精确的、可灵活自定义的任务匹配及派发;并且,将任务的匹配、派发逻辑从业务系统本身的业务逻辑中剥离处理,建立统一的模型,降低系统复杂性,减少开发成本,实现业务系统可快速接入、精细运营的目的。
41.根据本发明提供的一种任务派发方法,所述任务派发申请消息还包括关联条件,所述关联条件与所述任务模板id相对应,用于限定与所述任务模板id对应的任务所需达成的事件的值。
42.任务派发申请消息中还可以包括关联条件,关联条件与任务模板id相对应,用于限定与任务模板id对应的任务所需达成的事件的值。比如,某个任务模板为带看任务,则任务派发申请消息中对应带看任务的任务模板id可以设置关联条件如具体的带看房源编号,完成了相应的房源编号的带看才表示完成了相应任务。
43.由于任务派发申请消息中携带的任务模板id并不一定只有一个,在有多个任务模板id,也即请求任务组的派发时,若设置有关联条件,则关联条件需要与任务模板id对应设置,根据不同任务模板id的情况,可以设置关联条件,也可以不设置关联条件。
44.本发明提供的任务派发方法,通过在任务派发申请消息中包括与任务模板id对应的关联条件,可以将当前具体任务需求的信息加入到任务实例,提高了任务派发的灵活性和针对性。
45.根据本发明提供的一种任务派发方法,所述根据所述任务派发申请消息及所述任务模板生成任务实例信息,具体包括:提取所述任务派发申请消息及所述任务模板中的字段信息,根据所述字段信息生成所述任务实例信息;其中,若所述任务派发申请消息和所述任务模板对于同一字段进行了赋值,则以所述任务派发申请消息为准。
46.在根据任务派发申请消息及任务模板生成任务实例信息时,提取任务派发申请消息及任务模板中的字段信息,根据字段信息生成任务实例信息。生成任务实例信息时优先以任务派发申请消息为准,若任务派发申请消息和任务模板对于同一字段进行了赋值,则以任务派发申请消息为准。
47.比如,任务模板中可以设置任务派发后的过期时间。若任务模板中设置任务的过期时间为任务派发后的12小时后,但任务派发申请消息中设置任务的过期时间为任务派发后的24小时后,则以任务派发申请消息中设置的任务过期时间生成任务实例信息。
48.本发明提供的任务派发方法,通过提取字段信息生成任务实例信息,提高了任务实例信息生成的快速性;通过在生成任务实例信息时优先以任务派发申请消息为准,有利于满足业务方的不同需求,进一步提高了任务派发的灵活性。
49.根据本发明提供的一种任务派发方法,在所述获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息之前,所述方法还包括:判断所述任务模板id是否唯一;若所述任务模板id唯一,则与所述任务派发申请消息对应的任务派发类型为普通任务派发,若所述任务模板id不唯一,则所述任务派发类型为任务组派发;在所述任务派发类型为所述普通任务派发时,所述任务模板id为待派发的所述普通任务的任务模板id,所述关联条件为所述普通任务对应的普通任务关联条件。
50.在获取与任务模板id对应的任务模板,根据任务派发申请消息及任务模板生成任务实例信息之前,首先判断任务派发申请消息对应的任务派发类型属于普通任务派发还是任务组派发,具体可以根据任务派发申请消息中的任务模板id的个数进行确定。若任务模板id唯一,则表示只有一个任务待派发,则任务派发类型为普通任务派发。若任务模板id不唯一,则表示有一个任务组待派发,任务组中包括一个主任务及至少一个子任务,任务派发类型为任务组派发。
51.若任务派发类型为普通任务派发,则任务模板id为待派发的普通任务的任务模板id,关联条件为普通任务对应的普通任务关联条件,可以根据任务模板id获取相应的任务模板,根据任务执行主体id、关联条件及任务模板生成任务实例信息,进而生成任务实例,根据所述任务实例派发任务。
52.本发明提供的任务派发方法,通过在获取与任务模板id对应的任务模板,根据任务派发申请消息及任务模板生成任务实例信息之前,先判断任务派发类型是普通任务派发还是任务组派发,为灵活进行任务实例信息的生成提供了前提。
53.根据本发明提供的一种任务派发方法,若所述任务派发类型为所述任务组派发,则获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息,具体包括:获取所述任务模板id中的主任务模板id和子任务模板id,根据所述主任务模板id获取主任务模板,根据所述子任务模板id获取子任务模板;获取所述关联条件中的子任务模板id对应的子任务关联条件;根据所述任务执行主体id及所述主任务模板生成主任务实例信息,根据所述任务执行主体id、所述子任务模板及所述子任务关联条件生成子任务实例信息;将所述主任务实例信息和所述子任务实例信息进行拼接得到所述任务实例信息。
54.若任务派发类型为任务组派发,此时任务派发申请消息中包括一个主任务对应的任务模板id和至少一个子任务对应的任务模板id,可以通过任务派发申请消息的数据结构
及字段进行主任务信息及子任务信息的区分。
55.若任务派发类型为任务组派发,在获取与任务模板id对应的任务模板,根据任务派发申请消息及任务模板生成任务实例信息时,获取任务模板id中的主任务模板id和子任务模板id,并根据主任务模板id获取主任务模板,根据子任务模板id获取子任务模板。在存在子任务时,完成各个子任务即表示完成了相应主任务。因此,在任务组派发时,主任务对应的关联条件将失效,在执行任务时将以子任务的关联条件为准。因此获取任务派发申请消息中所包括的关联条件中的子任务模板id对应的子任务关联条件。
56.根据任务执行主体id及主任务模板生成主任务实例信息,根据任务执行主体id、子任务模板及子任务关联条件生成子任务实例信息,在生成子任务实例信息时,若有多个子任务,则分别生成各个子任务对应的子任务实例信息。然后,将主任务实例信息和各个子任务实例信息进行拼接得到任务实例信息。
57.本发明提供的任务派发方法,通过在任务派发类型为任务组派发时,通过根据任务执行主体id及主任务模板生成主任务实例信息,根据任务执行主体id、子任务模板及子任务关联条件生成子任务实例信息,将主任务实例信息和子任务实例信息进行拼接得到任务实例信息,有效保障了任务组的派发。
58.根据本发明提供的一种任务派发方法,在所述获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息之前,所述方法还包括:判断所述任务派发申请消息对应的需要领取的任务是否已经派发过;若已经派发过,则结束;若没有派发过,则执行所述获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息的步骤。
59.在进行任务派发之前,如进行获取与任务模板id对应的任务模板,根据任务派发申请消息及任务模板生成任务实例信息或进行判断任务模板id是否唯一之前,可以先执行判重逻辑,也即判断任务派发申请消息对应的需要领取的任务是否已经派发过,防止任务重复派发。若经判断任务派发申请消息对应的需要领取的任务已经派发过,则结束,不再进行任务派发;若经判断任务派发申请消息对应的需要领取的任务没有派发过,则再执行任务派发,比如执行获取与任务模板id对应的任务模板,根据任务派发申请消息及任务模板生成任务实例信息的步骤或判断任务模板id是否唯一的步骤。
60.本发明提供的任务派发方法,通过执行判重逻辑,在任务派发申请消息对应的需要领取的任务已经派发过时,不再进行重复派发,提高了任务派发的可靠性。
61.根据本发明提供的一种任务派发方法,所述判断所述任务派发申请消息对应的需要领取的任务是否已经派发过,具体包括:查询进行中的所述任务信息表是否包含所述任务派发申请消息中的预设字段,若存在,表示所述需要领取的任务已经派发过,若不存在,进一步查询历史任务信息表是否存在所述任务派发申请消息中的预设字段;若不存在,则表示所述需要领取的任务没有派发过,若存在,进一步判断所述需要领取的任务是否一次性任务;若是,则表示所述需要领取的任务已经派发过,若否,进一步判断所述需要领取的任务是否周期性任务;若否,则表示所述需要领取的任务已经派发过,若是,进一步判断所述预设字段的记录时间是否在当前周期内;若是,则表示所述需要领取的任务已经派发过,若否,则表示所述需要领取的任务没有派发过。
62.任务信息表用于对任务实例信息进行结构化存储,任务信息表包括当前活动表和
历史表,可以定期将任务派发完成或任务派发异常终止的任务信息表作为历史任务信息表存储。
63.任务派发服务器在接收到业务方发送的任务派发申请消息后,首先可以查询进行中的任务信息表(当前活动的任务信息表),查看进行中的任务信息表是否包含任务派发申请消息中的预设字段。比如,在任务派发申请消息包括任务执行主体id及任务模板id时,预设字段可以为任务执行主体id及任务模板id。在任务派发申请消息包括任务执行主体id、任务模板id及关联条件时,预设字段可以为任务执行主体id、任务模板id及关联条件。
64.若进行中的任务信息表包含任务派发申请消息中的预设字段,则表示任务派发申请消息对应的需要领取的任务已经派发过,不再重复派发。若进行中的任务信息表不包含任务派发申请消息中的预设字段,表示并未生成与任务派发申请消息对应的任务实例信息并存储于当前的任务信息表。进一步查询历史任务信息表是否存在任务派发申请消息中的预设字段。若历史任务信息表也不存在任务派发申请消息中的预设字段,则表示需要领取的任务没有派发过,可以进行任务派发。若历史任务信息表存在任务派发申请消息中的预设字段,表示曾经派发过包括相同的任务。此时,进一步判断需要领取的任务是否一次性任务,可以通过查询任务模板来获取需要领取的任务是否一次性任务的信息。
65.若需要领取的任务是一次性任务,表示相应的任务只需进行一次派发,由于已经派发过,则不需重复派发。若需要领取的任务不是一次性任务,则进一步判断需要领取的任务是否周期性任务。同样,可以通过查询任务模板来获取需要领取的任务是否周期性任务的信息。若需要领取的任务不是周期性任务,则对于非周期性任务由于已经派发过,则不再派发。若需要领取的任务是周期性任务,进一步判断历史任务信息表中任务派发申请消息中的预设字段的记录时间是否在当前周期内。周期的情况可以通过任务模板进行设置。若历史任务信息表中任务派发申请消息中的预设字段的记录时间在当前周期内,表示需要领取的任务在当前周期已经派发过,不再重复派发。若历史任务信息表中任务派发申请消息中的预设字段的记录时间不在当前周期内,表示当前周期尚未派发,可以派发相应任务。
66.本发明提供的任务派发方法,通过查询任务信息表的中的记录以及根据任务类型进行任务派发判重,提高了任务派发判重的可靠性,避免了资源浪费。
67.根据本发明提供的一种任务派发方法,所述任务派发申请消息还包括任务下发后的过期时间、任务需要达成的事件的发生次数、任务在页面展示时的展示内容中的至少一种。
68.任务派发申请消息还包括任务下发后的过期时间、任务需要达成的事件的发生次数、任务在页面展示时的展示内容中的至少一种。其中,任务下发后的过期时间用于对任务下发后的执行时间进行控制。任务需要达成的事件的发生次数用于在任务需要达成的事件的基础上进一步细化要求,设置事件的发生次数,满足相应的事件发生次数时才能够完成任务。任务在页面展示时的展示内容可以灵活设置,如可以包括任务名称、任务描述、奖励文案、跳转链接等。
69.如前所述,任务实例信息是根据任务派发申请消息及任务模板生成。若任务派发申请消息包括任务执行主体id、任务模板id、关联条件、任务下发后的过期时间、任务需要达成的事件的发生次数、任务在页面展示时的展示内容时,将根据任务派发申请消息所包含的信息及任务模板生成任务实例信息。
70.本发明提供的任务派发方法,通过设置任务派发申请消息还包括任务下发后的过期时间、任务需要达成的事件的发生次数、任务在页面展示时的展示内容中的至少一种,可以根据不同需求进行任务下发后的过期时间、任务需要达成的事件的发生次数、任务在页面展示时的展示内容的自定义灵活设置,进一步提高了任务派发的灵活性。
71.根据本发明提供的一种任务派发方法,所述任务派发申请消息包括常规信息字段和自定义信息字段。
72.任务派发申请消息包括常规信息字段和可选自定义信息字段。其中,常规信息字段即任何任务派发申请消息均应包含的字段,如业务方标识、任务执行主体id、任务模板id等。自定义信息字段为可选字段,根据需要可以进行设置,如子任务相关字段、任务下发后的过期时间、任务需要达成的事件的发生次数、任务在页面展示时的展示内容等对应的字段等。
73.在进行任务实例生成时,常规信息字段和任务模板中提取的字段可以存储入任务详情表,自定义信息字段可以存储入自定义信息表。
74.本发明提供的任务派发方法,通过设置任务派发申请消息包括常规信息字段和自定义信息字段,根据常规字段写入一般性任务信息,根据自定义字段写入个性需求任务信息,进一步提高了任务派发的灵活性。
75.根据本发明提供的一种任务派发方法,在所述获取与所述任务模板id对应的任务模板之前,所述方法还包括:对所述任务派发申请消息进行解析及格式转换。
76.任务派发服务器在接收到业务方发送的任务派发申请消息后,可以先对任务派发申请消息进行解析及格式转换,如将任务执行主体id转换为相同的格式,以便于后续处理。
77.本发明提供的任务派发方法,通过对任务派发申请消息进行解析及格式转换,便利了后续信息处理。
78.下面再通过具体的实例进一步说明本发明提供的任务派发方法的流程。
79.图2是本发明提供的任务派发方法中任务派发申请消息的数据结构示意图。如图2所示是用来定义业务方领取/派发任务的数据结构,以房产经纪业务为例,该消息的来源可以基于经纪人达成某个业务条件、完成具体业务动作、到达某个指标、点击某个页面按钮的时候产生。
80.数据可以指定一个普通任务/主任务,以及多个子任务的领取/派发。图2中字段的解释如下:
81.msgid:业务方消息唯一id。
82.source:业务方名称。
83.time:消息产生时间。
84.proposer:消息对应的主体,经纪人/圈经/店东等等的编码。
85.enddate:【自定义内容】任务下发后的过期时间。
86.jobid:任务模板的id。
87.completeeventtimes:【自定义内容】指定任务需要达成的事件需要发生的次数。
88.data:业务方附加信息,其中extraid为预留属性,代表业务方后续完成事件必须满足extraid对应的值条件才能完成(比如带看的房源编号)。
89.showinfo:【自定义内容】,任务在页面展示的时候需要的内容,包括了任务的名
称、描述、权益文案、跳转链接。
90.subitems:【自定义内容】指定需要领取的任务模板中子任务的信息;可以一次领取一个或多个子任务,也可以通过多个消息分多次领取子任务,多次领取的子任务会自动补充到第一次领取的任务组中。
91.通过以上协议,业务方可以主动控制什么时候领取任务,一次领取几个任务,领取的任务什么时间结束,每个任务展示什么内容,每个人达成多少具体的事件才能完成任务。配合统一的页面化的任务模板配置,实现业务方快速接入,精细化运营的目的。
92.图3是本发明提供的任务派发方法的任务领取/派发模型示意图。如图3所示,业务方可以通过mq消息或api接口(如rpc、http)向任务派发服务器的消息适配模块发送任务派发申请消息。消息适配模块根据任务模板id匹配任务模板,最终由任务实例模块生成任务实例。
93.图4是本发明提供的任务派发方法的任务领取/派发时序图。如图4所示,业务接入方(业务方)在满足派发任务条件时定义个性化任务内容,并推送任务派发申请消息到领取/派发任务消息mq队列。任务派发服务器的消息适配模块从领取/派发任务消息mq队列拉取任务派发申请消息,并进行消息解析转换,由数据持久层模块将任务派发申请消息进行存储。消息适配模块匹配任务模板,获取任务模板信息,结合模板生成任务实例信息,由任务实例模块进行结构化存储生成任务实例。数据持久层模块保存任务实例。消息适配模块将任务实例生成的回执消息推送到派发回执mq消息队列,业务接入方从派发回执mq消息队列拉取生成的回执消息,获知任务派发完成的信息。
94.通过业务接入场景层来对接不同业务方的请求处理,请求方式可以是http、mq等。任务领取消息会统一由消息适配模块处理,进行解析、转换、任务模板匹配、消息持久化等内容。任务实例模块负责任务的具体派发工作:包括普通任务/任务组的派发流程,任务的去重逻辑,业务方自定义信息的实现,以及派发完成之后的消息回执内容。
95.图5是本发明提供的另一任务派发方法流程图。如图5所示,所述方法包括:派发任务开始,判断是否已经派发过(判重逻辑),若没有派发过,则判断是否是任务组派发,若不是任务组派发,则是普通任务派发,进行普通任务派发;若是任务组派发,则进行任务组派发,派发完成结束。
96.图6是图5提供的任务派发方法中的判重逻辑流程图。如图6所示,根据ucid和jobid查询进行中的表,判断是否存在记录,若是,进一步判断关联条件[extraid]是否相同,若相同,则表示已存在,不再派发。若进行中的表不存在记录或存在记录但关联条件[extraid]不同,则根据ucid和jobid查询历史表的完成记录,判断历史表中是否存在相应记录,若不存在,则任务没有派发过,可以派发任务。若存在,进一步判断关联条件是否相同,若不同,则表示任务没有派发过,可以派发任务。若关联条件相同,进一步判断是否一次性任务,若是,表示已派发并完成,不再派发。若否,进一步判断是否周期类任务,若不是周期类任务,则不再派发。若是周期类任务,判断已完成记录是否为任务模板当前周期,若是,当前周期已完成,不再派发。若不是,说明当前周期无记录,可以重新派发。
[0097]
图7是图5提供的任务派发方法中普通任务派发的流程图。如图7所示,对于普通任务派发,首先生成任务实例对象(用于描述任务实例信息的对象),其中,任务信息(用于表示任务的字段信息)优先以任务派发申请消息为准,任务派发申请消息中未对相关字段进
行赋值则以任务模板为准。然后在任务详情表中插入任务详情(任务派发申请消息中的常规字段和任务模板中的字段),在自定义信息表中插入自定义信息(任务派发申请消息中的自定义字段),生成普通任务的任务实例。
[0098]
图8是图5提供的任务派发方法中任务组派发的流程图。如图8所示,任务组派发开始,提取消息中需要派发的主任务和子任务列表,判断子任务是否归属任务组。任务组可以通过任务模板进行关联及查询。若子任务不归属任务组,则打印任务组信息,发送任务组和子任务匹配关系错误的报警信息。若子任务归属任务组,则判断子任务是否已经派发过。由于在图6的判重逻辑中,是根据ucid和jobid,也即任务执行主体id和任务模板id进行判重,图6中的ucid和jobid是任务派发申请消息的数据结构中最外围的ucid和jobid,也即是普通任务的ucid和jobid,或是任务组中主任务的ucid和jobid。这里对于任务组的派发中,还需要根据图6所示的判重逻辑对于子任务列表中的子任务进一步判断是否已经派发过。若是,则结束,不再派发。若否,则分别生成主任务和子任务的任务实例对象(用于描述任务实例信息的对象),任务实例信息优先以任务派发申请消息为准,任务派发申请消息中未对相关字段进行赋值(包括任务派发申请消息中根本不包括相关字段)则以任务模板为准。将主任务和子任务的任务实例信息进行拼装,然后在任务详情表中插入主任务和子任务的任务详情(任务派发申请消息中的常规字段和任务模板中的字段),在自定义信息表中插入自定义信息(任务派发申请消息中的自定义字段),生成任务组的任务实例。
[0099]
本发明提供的任务派发方法,为业务系统提供一套通用、可快速接入、能够精确匹配任务执行人与任务、高度可自定义任务内容的任务派发方案;抽象任务匹配、派发逻辑,为业务方提供任务的精准匹配,任务派发防重,任务内容可自定义且可以在任务派发失败时自动重试。本发明将任务系统的匹配、派发逻辑从业务系统本身的业务逻辑中剥离处理,建立统一的模型,降低系统复杂性,减少开发成本,实现业务系统可快速接入、精细运营的目的。
[0100]
下面对本发明提供的任务派发装置进行描述,下文描述的任务派发装置与上文描述的任务派发方法可相互对应参照。
[0101]
图9是本发明提供的任务派发装置的结构示意图。如图9所示,所述装置包括任务派发申请消息接收模块10及任务派发模块20,其中:任务派发申请消息接收模块10用于:接收业务方发送的任务派发申请消息,所述任务派发申请消息包括任务执行主体id及任务模板id;任务派发模块20用于:获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息,将所述任务实例信息进行任务信息表的结构化存储从而生成任务实例,根据所述任务实例派发任务。
[0102]
本发明提供的任务派发装置,通过在接收到业务方包括任务执行主体id及任务模板id的任务派发申请消息后,根据任务派发申请消息及任务模板生成任务实例,能够根据任务执行主体id精确匹配任务执行人与任务,根据任务模板高度自定义任务内容,实现了精确的、可灵活自定义的任务匹配及派发;并且,将任务的匹配、派发逻辑从业务系统本身的业务逻辑中剥离处理,建立统一的模型,降低系统复杂性,减少开发成本,实现业务系统可快速接入、精细运营的目的。
[0103]
根据本发明提供的一种任务派发装置,所述任务派发申请消息还包括关联条件,所述关联条件与所述任务模板id相对应,用于限定与所述任务模板id对应的任务所需达成
的事件的值。
[0104]
本发明提供的任务派发装置,通过在任务派发申请消息中包括与任务模板id对应的关联条件,可以将当前具体任务需求的信息加入到任务实例,提高了任务派发的灵活性和针对性。
[0105]
根据本发明提供的一种任务派发装置,任务派发模块20在用于根据所述任务派发申请消息及所述任务模板生成任务实例信息时,具体用于:提取所述任务派发申请消息及所述任务模板中的字段信息,根据所述字段信息生成所述任务实例信息;其中,若所述任务派发申请消息和所述任务模板对于同一字段进行了赋值,则以所述任务派发申请消息为准。
[0106]
本发明提供的任务派发装置,通过提取字段信息生成任务实例信息,提高了任务实例信息生成的快速性;通过在生成任务实例信息时优先以任务派发申请消息为准,有利于满足业务方的不同需求,进一步提高了任务派发的灵活性。
[0107]
根据本发明提供的一种任务派发装置,任务派发模块20在用于获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息之前,还用于:判断所述任务模板id是否唯一;若所述任务模板id唯一,则与所述任务派发申请消息对应的任务派发类型为普通任务派发,若所述任务模板id不唯一,则所述任务派发类型为任务组派发;在所述任务派发类型为所述普通任务派发时,所述任务模板id为待派发的所述普通任务的任务模板id,所述关联条件为所述普通任务对应的普通任务关联条件。
[0108]
本发明提供的任务派发装置,通过在获取与任务模板id对应的任务模板,根据任务派发申请消息及任务模板生成任务实例信息之前,先判断任务派发类型是普通任务派发还是任务组派发,为灵活进行任务实例信息的生成提供了前提。
[0109]
根据本发明提供的一种任务派发装置,若所述任务派发类型为所述任务组派发,任务派发模块20在用于获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息时,具体用于:获取所述任务模板id中的主任务模板id和子任务模板id,根据所述主任务模板id获取主任务模板,根据所述子任务模板id获取子任务模板;获取所述关联条件中的子任务模板id对应的子任务关联条件;根据所述任务执行主体id及所述主任务模板生成主任务实例信息,根据所述任务执行主体id、所述子任务模板及所述子任务关联条件生成子任务实例信息;将所述主任务实例信息和所述子任务实例信息进行拼接得到所述任务实例信息。
[0110]
本发明提供的任务派发装置,通过在任务派发类型为任务组派发时,通过根据任务执行主体id及主任务模板生成主任务实例信息,根据任务执行主体id、子任务模板及子任务关联条件生成子任务实例信息,将主任务实例信息和子任务实例信息进行拼接得到任务实例信息,有效保障了任务组的派发。
[0111]
根据本发明提供的一种任务派发装置,任务派发模块20在用于获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息之前,还用于:判断所述任务派发申请消息对应的需要领取的任务是否已经派发过;若已经派发过,则结束;若没有派发过,则执行所述获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息的步骤。
[0112]
本发明提供的任务派发装置,通过执行判重逻辑,在任务派发申请消息对应的需要领取的任务已经派发过时,不再进行重复派发,提高了任务派发的可靠性。
[0113]
根据本发明提供的一种任务派发装置,任务派发模块20在用于判断所述任务派发申请消息对应的需要领取的任务是否已经派发过时,具体用于:查询进行中的所述任务信息表是否包含所述任务派发申请消息中的预设字段,若存在,表示所述需要领取的任务已经派发过,若不存在,进一步查询历史任务信息表是否存在所述任务派发申请消息中的预设字段;若不存在,则表示所述需要领取的任务没有派发过,若存在,进一步判断所述需要领取的任务是否一次性任务;若是,则表示所述需要领取的任务已经派发过,若否,进一步判断所述需要领取的任务是否周期性任务;若否,则表示所述需要领取的任务已经派发过,若是,进一步判断所述预设字段的记录时间是否在当前周期内;若是,则表示所述需要领取的任务已经派发过,若否,则表示所述需要领取的任务没有派发过。
[0114]
本发明提供的任务派发装置,通过查询任务信息表的中的记录以及根据任务类型进行任务派发判重,提高了任务派发判重的可靠性,避免了资源浪费。
[0115]
根据本发明提供的一种任务派发装置,所述任务派发申请消息还包括任务下发后的过期时间、任务需要达成的事件的发生次数、任务在页面展示时的展示内容中的至少一种。
[0116]
本发明提供的任务派发装置,通过设置任务派发申请消息还包括任务下发后的过期时间、任务需要达成的事件的发生次数、任务在页面展示时的展示内容中的至少一种,可以根据不同需求进行任务下发后的过期时间、任务需要达成的事件的发生次数、任务在页面展示时的展示内容的自定义灵活设置,进一步提高了任务派发的灵活性。
[0117]
根据本发明提供的一种任务派发装置,所述任务派发申请消息包括常规信息字段和自定义信息字段。
[0118]
本发明提供的任务派发装置,通过设置任务派发申请消息包括常规信息字段和自定义信息字段,进一步提高了任务派发的灵活性。
[0119]
根据本发明提供的一种任务派发装置,任务派发模块20在用于获取与所述任务模板id对应的任务模板之前,还用于:对所述任务派发申请消息进行解析及格式转换。
[0120]
本发明提供的任务派发装置,通过对任务派发申请消息进行解析及格式转换,便利了后续信息处理。
[0121]
图10是本发明提供的电子设备的结构示意图,如图10所示,该电子设备可以包括:处理器(processor)1010、通信接口(communications interface)1020、存储器(memory)1030和通信总线1040,其中,处理器1010,通信接口1020,存储器1030通过通信总线1040完成相互间的通信。处理器1010可以调用存储器1030中的逻辑指令,以执行任务派发方法,该方法包括:接收业务方发送的任务派发申请消息,所述任务派发申请消息包括任务执行主体id及任务模板id;获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息,将所述任务实例信息进行任务信息表的结构化存储从而生成任务实例,根据所述任务实例派发任务。
[0122]
此外,上述的存储器1030中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以
软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0123]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的任务派发方法,该方法包括:接收业务方发送的任务派发申请消息,所述任务派发申请消息包括任务执行主体id及任务模板id;获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息,将所述任务实例信息进行任务信息表的结构化存储从而生成任务实例,根据所述任务实例派发任务。
[0124]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的任务派发方法,该方法包括:接收业务方发送的任务派发申请消息,所述任务派发申请消息包括任务执行主体id及任务模板id;获取与所述任务模板id对应的任务模板,根据所述任务派发申请消息及所述任务模板生成任务实例信息,将所述任务实例信息进行任务信息表的结构化存储从而生成任务实例,根据所述任务实例派发任务。
[0125]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0126]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0127]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1