掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请属于计算机应用领域,尤其涉及一种基于状态漏斗过滤的任务状态处理方法和装置。

背景技术

在针对层级组织架构的任务状态上报、运转与页面渲染中,现有的产品(如,信息采集统计软件工具),支持上级组织节点发起信息采集任务,下级组织节点接收上级发起的任务进行信息采集,并将采集的信息逐层传递/上报给上级组织节点,使得上级组织节点可以查看下级各个组织的上报情况。在技术实现层面,对于待查询的组织节点,如图1中的首节点,现有产品通过线性计算方式,按一定方向(如,自底向上方向)逐层统计该待查询节点的各层子组织节点的任务完成情况等任务状态,并按统计结果对各组织节点的任务状态(如,完成、未完成、采集信息的任务完成等级等)进行渲染展示。

然而,基于线性计算方式的任务状态上报运转的效率较低,任务的每条采集数据均逐层统计到各组织节点上,导致在线性流转计算中,随着任务需采集数据的规模提升或组织纵深的提升,如图2提供的组织架构示例,页面渲染时的计算工作量越来越大,相应导致页面渲染可能出现卡顿,甚至严重卡顿的现象。

发明内容

有鉴于此,本申请提供一种基于状态漏斗过滤的任务状态处理方法和装置,用于提升层级组织架构的任务状态上报运转效率,并提升面向该架构的任务状态页面渲染效率、以避免页面渲染时的卡顿。

具体技术方案如下:

一种基于状态漏斗过滤的任务状态处理方法,包括:

响应于上级组织触发的任务发起事件,以离散方式分别为所述上级组织及所述上级组织的各级下级组织构建对应的组织节点;

构建用于容纳各组织节点的状态层级漏斗;所述状态层级漏斗包括多个不同层级的子漏斗,不同层级的子漏斗分别对应不同的任务状态等级,每一子漏斗用于容纳任务状态等级为该子漏斗所对应任务状态等级的组织节点;

构建推动介质,所述推动介质用于推动各组织节点的任务状态变化及各组织节点在所述状态层级漏斗的不同层级子漏斗间的流转;

基于所述推动介质,按任务处理过程中的任务进度同步调整各组织节点的任务状态,并根据各组织节点的任务状态等级变化同步调整各组织节点在所述状态层级漏斗中所处的子漏斗;

根据各组织节点在所述状态层级漏斗中所处的子漏斗,及不同层级的子漏斗对应的任务状态等级,对各组织节点进行任务状态的渲染处理。

可选的,所述构建用于容纳各组织节点的状态层级漏斗,用于:

根据预设的目标层级数,构建数目为所述目标层级数的各层级子漏斗;

根据预设的不同层级与不同任务状态等级的对应关系,将构建的每一层级子漏斗与对应的任务状态等级建立关联,得到所述状态层级漏斗;

其中,组织节点的不同任务状态或不同任务状态等级,能用于表征组织节点对所承担任务的不同完成程度。

可选的,所述构建推动介质,包括:

构建具有上下级关系的两个不同组织节点间的第一中间介质,所述第一中间介质用于对两个不同组织节点间的上下级关联关系进行描述;

构建组织节点与所述状态层级漏斗的相应层级子漏斗间的第二中间介质,所述第二中间介质用于对子漏斗与相应组织节点间的容纳关系进行描述;

构建所述状态层级漏斗的不同层级间的第三中间介质,所述第三中间介质用于对具有流转关系的两个不同层级间的流转关系进行描述。

可选的:

所述第一中间介质包括:具有上下级关系的两个不同组织节点的节点地址的对应关系;

所述第二中间介质包括:相应层级子漏斗的地址与所述相应层级子漏斗容纳的各组织节点的节点地址的对应关系;

所述第三中间介质包括:具有流转关系的两个不同层级子漏斗的地址的对应关系。

可选的,组织节点的不同任务状态等级分别对应不同的任务完成比例区间;

所述基于所述推动介质,按任务处理过程中的任务进度同步调整各组织节点的任务状态,并根据各组织节点的任务状态等级变化同步调整各组织节点在所述状态层级漏斗中所处的子漏斗,包括:

在组织节点所承担任务的完成进度发生变化时,调整所述组织节点的任务完成比例,并根据不同组织节点间的第一中间介质,对完成比例发生调整的所述组织节点的各关系节点进行任务完成比例的联动调整;

在组织节点所承担任务的当前完成比例触发所述组织节点的任务状态等级变化时,根据状态层级漏斗不同层级间的第三中间介质,将所述组织节点从当前所处的第一子漏斗流转至与变化后的任务状态等级对应的第二子漏斗,并分别调整所述第一子漏斗和所述第二子漏斗对应的第二中间介质;

其中,同一组织节点在所述状态层级漏斗的不同层级子漏斗中分别对应不同的节点形态。

可选的,所述状态层级漏斗的一个层级对应的第三中间介质包括:

所述一个层级向其上一层级流转的第一流转关系描述;

和/或,所述一个层级向其下一层级流转的第二流转关系描述;

其中,所述上一层级对应的任务状态等级表征的任务完成程度低于所述一个层级对应的任务状态等级表征的任务完成程度;所述下一层级对应的任务状态等级表征的任务完成程度高于所述一个层级对应的任务状态等级表征的任务完成程度;

所述在组织节点所承担任务的当前完成比例触发所述组织节点的任务状态等级变化时,根据状态层级漏斗不同层级间的第三中间介质,将所述组织节点从当前所处的第一子漏斗流转至与变化后的任务状态等级对应的第二子漏斗,包括:

若组织节点所承担任务的当前完成比例高于所述第一子漏斗对应的第一任务状态等级的任务完成比例区间,根据所述第一子漏斗对应的第二流转关系描述,将所述组织节点流转至所述第一子漏斗的下一层级子漏斗;

若组织节点所承担任务的当前完成比例低于所述第一子漏斗对应的第一任务状态等级的任务完成比例区间,根据所述第一子漏斗对应的第一流转关系描述,将所述组织节点流转至所述第一子漏斗的上一层级子漏斗。

可选的,所述根据各组织节点在所述状态层级漏斗中所处的子漏斗,及不同层级的子漏斗对应的任务状态,对各组织节点进行任务状态的渲染处理,包括:

在第一渲染模式下,根据状态层级漏斗的不同层级分别对应的任务状态等级及相应的第一中间介质、第二中间介质,按各组织节点的上下级关系对各组织节点进行上下级关联渲染;

在第二渲染模式下,根据状态层级漏斗的不同层级分别对应的任务状态等级及相应的第二中间介质、第三中间介质,按状态层级漏斗的层级对各组织节点进行渲染;

其中,渲染后的组织节点至少呈现有组织节点所承担任务的当前任务状态信息。

可选的,通过缓存构建所述组织节点、所述状态层级漏斗和/或所述推动介质;

所述根据各组织节点在所述状态层级漏斗中所处的子漏斗,及不同层级的子漏斗对应的任务状态,对各组织节点进行任务状态的渲染处理,包括:

从缓存中读取相应组织节点、状态层级漏斗和/或推动介质的信息,并基于从缓存中读取的信息,对各组织节点进行任务状态的渲染处理。

可选的,上述方法,还包括:

在缓存中所述状态层级漏斗、所述推动介质和/或各组织节点的信息发生变化时,通过消息队列,将变化信息同步至数据库中。

一种基于状态漏斗过滤的任务状态处理装置,包括:

第一构建模块,用于响应于上级组织触发的任务发起事件,以离散方式分别为所述上级组织及所述上级组织的各级下级组织构建对应的组织节点;

第二构建模块,用于构建用于容纳各组织节点的状态层级漏斗;所述状态层级漏斗包括多个不同层级的子漏斗,不同层级的子漏斗分别对应不同的任务状态等级,每一子漏斗用于容纳任务状态等级为该子漏斗所对应任务状态等级的组织节点;

第三构建模块,用于构建推动介质,所述推动介质用于推动各组织节点的任务状态变化及各组织节点在所述状态层级漏斗的不同层级子漏斗间的流转;

调整模块,用于基于所述推动介质,按任务处理过程中的任务进度同步调整各组织节点的任务状态,并根据各组织节点的任务状态等级变化同步调整各组织节点在所述状态层级漏斗中所处的子漏斗;

渲染处理模块,用于根据各组织节点在所述状态层级漏斗中所处的子漏斗,及不同层级的子漏斗对应的任务状态等级,对各组织节点进行任务状态的渲染处理。

根据以上方案可知,本申请提供的基于状态漏斗过滤的任务状态处理方法和装置,针对上级组织触发的任务发起事件,分别为该上级组织及其各级下级组织构建对应的散列性组织节点,并构建用于容纳各组织节点的状态层级漏斗,以及推动介质,通过状态层级漏斗的不同层级来表征组织节点的不同任务状态等级,通过推动介质推动各组织节点的任务状态变化及各组织节点在状态层级漏斗的不同层级间的流转,在此基础上,直接基于各组织节点在状态层级漏斗中所处的层级,及不同层级对应的任务状态等级,即可实现对各组织节点任务状态的渲染处理,规避了按一定方向(如组织架构中自底向上的方向)对各组织节点任务状态的线性计算,可大幅提升层级组织架构的任务状态上报运转效率,并提升面向该架构的任务状态页面渲染效率,避免页面卡顿。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是现有基于线性计算方式逐层统计各组织节点的任务状态信息的示意图;

图2是层级组织架构的一个架构示例;

图3是本申请提供的基于状态漏斗过滤的任务状态处理方法的一流程示意图;

图4是本申请提供的状态层级漏斗及其容纳的各组织节点的示例;

图5是本申请提供的基于状态漏斗过滤的任务状态处理方法的另一流程示意图;

图6是本申请提供的基于状态漏斗过滤的任务状态处理方法的又一流程示意图;

图7是本申请提供的基于状态漏斗过滤的任务状态处理装置的组成结构图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为克服现有技术通过线性流转计算,对层级组织架构进行任务状态页面渲染时,任务状态上报运转效率低、页面渲染效率低的问题,本申请实施例公开一种基于状态漏斗过滤的任务状态处理方法和装置。

该方法及装置通过提出状态层级漏斗及推动介质的概念,利用状态层级漏斗的不同层级来表征组织节点的不同任务状态等级,并利用推动介质推动散列性组织节点的任务状态变化及各组织节点在状态层级漏斗的不同层级间的流转,使得支持通过直接读取相关信息,如各组织节点在状态层级漏斗中所处的层级,及不同层级对应的任务状态等级等,来进行层级组织架构的任务状态页面渲染,以达到提升任务状态上报运转效率及页面渲染效率的目的。

首先对本申请所涉及的概念或名词定义如下:

组织节点:一个组织节点用于表示一个实体组织,如企业、班级等,本申请实施例中的组织节点为动态节点,即,可随着实体组织所承担任务的任务状态变化(如,采集班级人员信息时,已采集人员数量的提升),而改变节点形态(如颜色、大小);

状态层级漏斗:包括多个不同层级的子漏斗,不同层级的子漏斗分别对应不同的任务状态等级,每一子漏斗用于容纳任务状态等级为该子漏斗所对应任务状态等级的组织节点;

推动介质:作为中间介质推动各组织节点的任务状态变化及各组织节点在状态层级漏斗的不同层级子漏斗间的流转。

本申请实施例公开的基于状态漏斗过滤的任务状态处理方法的流程如图3所示,具体包括:

步骤301、响应于上级组织触发的任务发起事件,以离散方式分别为该上级组织及该上级组织的各级下级组织构建对应的组织节点。

上级组织及其对应的各级下级组织,可以是但不限于企业组织架构中的总公司及其对应的各级子公司,或学校组织架构中的学校、年级及各年级下分别包括的各个班级,或区域组织架构中的总区域及总区域下的各级子区域等等对应构成的各实体组织。

上级组织有向其下级组织发起任务的权限,下级组织接收到上级组织发起的任务后,根据组织架构中不同组织间的上下级关系,进行任务的层层下发,例如,在“学校”向其下级的各个“年级”发起问卷信息采集任务(或学员信息采集任务等)后,各个年级继续将该任务下发至其对应的各个班级,在任务逐级下发完成后,各组织节点分别承担其所对应的任务,如,某一班级共60个学员,则承担60个学员的问卷信息采集任务,某年级共200个学员相应承担该200个学员的问卷信息采集任务。

本申请实施例中,当上级组织触发任务发起事件后,响应于该事件,以离散方式分别为该上级组织及该上级组织的各级下级组织构建对应的组织节点,即,为各实体组织构建的组织节点为散列性节点。

构建的各组织节点为动态节点,可随着实体组织所承担任务的任务状态变化(如,采集班级人员信息时,已采集人员数量的提升),而改变节点形态(如颜色、大小)。

步骤302、构建用于容纳各组织节点的状态层级漏斗。

另外,还构建用于容纳各组织节点的状态层级漏斗,在构建状态层级漏斗时,可预先根据任务完成的不同程度划分出不同的任务状态等级,任务状态或任务状态等级相应表征任务的不同完成程度,并根据划分出的任务状态等级,为状态层级漏斗设置相应数目的层级数,如假设将任务完成的不同程度划分为3个或4个等级,相应设置状态层级漏斗的目标层级数为3或4等,并预设不同层级与任务的不同任务状态等级的对应关系。

示例性的,可以但不限于将任务状态表示为组织节点对所承担任务的完成比例,任务处于不同的完成比例,表征任务处于不同的任务状态,例如,对于某班级承担的60个学员的问卷信息采集任务,在其完成5个、8个学员的问卷信息采集时,分别对应不同的完成比例,相应对应不同的任务状态。进一步,不同的任务状态等级可以分别对应不同的任务完成比例区间,如,假设为状态层级漏斗设置的目标层级数为4,任务状态等级数相应为4,并设置第一任务状态等级对应的任务完成比例区间为[0%,0%],第二任务状态等级对应的任务完成比例区间为(0%,60%],第三任务状态等级对应的任务完成比例区间为(60%,100%),第四任务状态等级对应的任务完成比例区间为[100%,100%]等。

之后,根据预设的目标层级数,构建数目为所述目标层级数的各层级子漏斗;并根据预设的不同层级与不同任务状态等级的对应关系,将构建的每一层级子漏斗与对应的任务状态等级建立关联,得到状态层级漏斗。

步骤303、构建推动介质,该推动介质用于推动各组织节点的任务状态变化及各组织节点在所述状态层级漏斗的不同层级子漏斗间的流转。

本申请实施例将推动介质进一步划分为第一中间介质、第二中间介质和第三中间介质,其中,第一中间介质用于对两个不同组织节点间的上下级关联关系进行描述,第二中间介质用于对子漏斗与相应组织节点间的容纳关系进行描述,第三中间介质用于对具有流转关系的两个不同层级间的流转关系进行描述。

本步骤在构建推动介质时,相应构建具有上下级关系的每两个不同组织节点间的第一中间介质、组织节点与状态层级漏斗的相应层级子漏斗间的第二中间介质,以及状态层级漏斗的不同层级间的第三中间介质。

不同组织节点间的第一中间介质,又可称为不同组织节点间的锚点,可选的,第一中间介质可记录具有上下级关系的两个不同组织节点的节点地址的对应关系,通过记录的该对应关系来描述不同组织节点间的关联。同时,第一中间介质还可以指示两个不同组织节点间的上、下级关系。实际应用中,可选的,可在每一组织节点对应关联其上级和/或下级关系节点的节点地址,以作为其锚点进行关联存储,通过散列性组织节点,及散列性组织节点的锚点,替代已有技术中对不同组织节点间的线性关联逻辑。

组织节点与状态层级漏斗的相应层级子漏斗间的第二中间介质,可以记录相应层级子漏斗的地址与容纳的各组织节点的节点地址间的对应关系,通过记录的该对应关系来描述各层级子漏斗与相应组织节点间的容纳关系,即,描述状态层级漏斗的每一层级子漏斗容纳了哪些组织节点。第二中间介质对子漏斗与相应组织节点间的容纳关系描述,不限于子漏斗地址与组织节点的节点地址间的对应关系这一形式,例如,还可以描述为子漏斗标识与子漏斗所容纳的各组织节点的节点地址和/或标识间的对应关系等。

状态层级漏斗的不同层级间的第三中间介质,可以记录具有流转关系的两个不同层级子漏斗的地址间的对应关系,通过记录的该对应关系来描述不同层级子漏斗间的流传关系。相类似,第三中间介质对具有流转关系的两个不同层级间的流转关系描述,不限于不同层级子漏斗地址的对应关系这一形式,例如,还可以描述为具有流转关系的不同层级子漏斗的标识的对应关系等。

示例性的,以上述4层级的状态层级漏斗为例:对应于区间[0%,0%]的第一层级子漏斗关联的第三中间介质,可记录该第一层级子漏斗与对应于区间(0%,60%]的第二层级子漏斗的层级地址的对应关系;该第二层级子漏斗关联的第三中间介质,可记录该第二层级子漏斗与对应于区间(60%,100%)的第三层级子漏斗的层级地址的对应关系;该第三层级子漏斗关联的第三中间介质,可记录该第三层级子漏斗与对应于区间[100%,100%]的第四层级子漏斗的层级地址的对应关系。

上述的各类地址,如节点地址、状态层级漏斗的相应层级子漏斗的地址,可以但不限于表示为对组织节点所在物理地址或子漏斗物理地址进行哈希运算所得的哈希结果。

容易理解,状态层级漏斗的每一层级子漏斗对相应组织节点的容纳,可以通过该层级子漏斗对应的第二中间介质体现,即,通过第二中间介质记录的子漏斗层级地址与相应组织节点的节点地址间的对应关系,来表征该层级的子漏斗对这些组织节点的容纳。

其中,在初始状态下,即,任务发起后未对所发起任务进行处理的状态下,所构建的所有组织节点默认容纳于状态层级漏斗的第一个层级的子漏斗,如上文的对应任务完成比例区间为(0%,0%]的子漏斗。

步骤304、基于构建的推动介质,按任务处理过程中的任务进度同步调整各组织节点的任务状态,并根据各组织节点的任务状态等级变化同步调整各组织节点在状态层级漏斗中所处的子漏斗。

任务处理过程中,随着任务处理进度的推进,组织节点所承担任务的完成程度会发生变化,针对该情况,可在组织节点所承担任务的完成进度发生变化时,调整该组织节点的任务状态,并根据不同组织节点间的第一中间介质,对完成任务状态调整的该组织节点的各关系节点进行任务状态的联动调整。

示例性的,在组织节点所承担任务的完成进度发生变化时,调整该组织节点的任务完成比例,并根据不同组织节点间的第一中间介质,对完成比例发生调整的该组织节点的各关系节点进行任务完成比例的联动调整。

其中,某一组织节点的各关系节点,是指该组织节点所处的层级组织架构中,所有处于该组织节点上级的节点。如二年级一班这一组织节点的关系节点,包括该班级上级的“二年级”这一组织节点及“所在学校”这一组织节点。当某一组织节点所承担任务的任务完成比例发生变化时,基于节点间的第一中间介质即锚点,推动该组织节点及其关系节点的任务完成比例的联动调整。

一旦检测到某组织节点所承担任务的当前完成比例触发组织节点的任务状态等级变化时,例如,组织节点的任务完成比例超出当前所在层级子漏斗对应的任务状态等级的完成比例区间时,根据状态层级漏斗不同层级间的第三中间介质,将组织节点从当前所处的第一子漏斗流转至与变化后的任务状态等级对应的第二子漏斗,即,借助第三中间介质记录的具有流转关系的不同层级间的关联,推动该组织节点从当前层级子漏斗流转至关联层级的子漏斗,例如,在某组织节点的任务完成比例大于0时,将其从上述的第一层级子漏斗流转至第二层级子漏斗,当该组织节点的任务完成比例逐渐提升至大于60%时,再将其从第二层级子漏斗流转至第三层级子漏斗。

本实施例将组织节点在不同层级子漏斗间的流转,形象比喻为在状态层级漏斗中的过滤。

结合参见图4提供的状态层级漏斗及其容纳的各组织节点的示例图,其中,图4的状态层级漏斗包括3级子漏斗,每个子漏斗采用一个或两个三角形表征,子漏斗中容纳的组织节点采用圆形节点表征,图中的立方体表征相应层级子漏斗与组织节点间的第二中间介质,基于第二中间介质构建子漏斗与组织节点间容纳关系。

同一组织节点在状态层级漏斗的不同层级子漏斗中分别对应不同的节点形态,如不同的颜色和/或大小等,优选的,随着组织节点在状态层级漏斗中的过滤,节点大小逐渐减小,相应表示该组织节点的任务状态等级提升、任务完成比例加大。

需要说明的是,实际实施本申请时,诸如图4所示的状态层级漏斗及其各层级容纳的组织节点的形态,可以仅是虚拟的,也即,状态层级漏斗及其各层级容纳的组织节点的形态并不真实存在,而是基于所构建的各散列性组织节点,状态层级漏斗的不同层级与不同任务状态等级的对应关系,以及各种推动介质,来间接表征诸如图4所示的状态层级漏斗及其各层级容纳的组织节点的形态。或者,可选的,也可以在构建各散列性组织节点,状态层级漏斗的不同层级与不同任务状态等级的对应关系,以及各种推动介质的基础上,同步生成诸如图4所示的状态层级漏斗及其各层级容纳的组织节点的形态,在此不作限制。

步骤305、根据各组织节点在状态层级漏斗中所处的子漏斗,及不同层级的子漏斗对应的任务状态等级,对各组织节点进行任务状态的渲染处理。

基于各组织节点容纳于状态层级漏斗的相应层级时的容纳关系,以及状态层级漏斗的不同层级与不同任务状态等级的对应关系,可直观获知每一组织节点当前的任务状态信息(如任务状态等级),基于此,当需对各组织节点进行任务状态的渲染展示时,例如,发起任务的实体组织查询层级组织架构中各组织节点的任务状态时,直接根据各组织节点在状态层级漏斗中所处的子漏斗,及不同层级的子漏斗对应的任务状态等级,对各组织节点进行任务状态的渲染处理即可,不必再对各组织节点进行任务状态的线性计算。

对各组织节点进行任务状态渲染处理,可以有多种不同的模式。

示例性的,本申请实施例提供以下两种模式:

1)第一渲染模式

该第一渲染模式按各组织节点间的组织架构,即基于组织节点间的上下级关系,对各组织节点的任务状态信息进行渲染展示。

2)第二渲染模式

该第二渲染模式,按状态层级漏斗的不同层级,对各组织节点的任务状态信息进行渲染展示。

使用者(如,发起任务的实体组织的相关人员)可根据需求选择所需的渲染模式,或者,在未选择情况下,可以直接采用默认模式,并在所选模式或默认模式下,在页面上渲染展示各组织节点的任务状态信息。

在所选模式或默认模式为第一渲染模式的情况下,根据状态层级漏斗的不同层级分别对应的任务状态等级及相应的第一中间介质、第二中间介质,按各组织节点的上下级关系对各组织节点进行上下级关联渲染。

具体的,在第一渲染模式下,可根据各个散列性组织节点间的第一中间介质即锚点,确定各个散列性组织节点间的上下级关系,并根据状态层级漏斗的不同层级子漏斗与组织节点间的第二中间介质,确定各组织节点在状态层级漏斗中所处的层级,进而根据状态层级漏斗的不同层级分别对应的任务状态等级,确定出各组织节点的任务状态等级,最终按各组织节点间的上下级关系,绘制各散列性组织节点对应的层级组织结构,并于该架构上渲染每个节点的任务状态信息。

该第一渲染模式最终渲染展示出的是,呈现出上下级关系的各组织节点,及各组织节点分别对应的任务状态信息。

在所选模式或默认模式为第二渲染模式的情况下,根据状态层级漏斗的不同层级分别对应的任务状态等级及相应的第二中间介质、第三中间介质,按状态层级漏斗的层级对各组织节点进行渲染。

具体的,第二渲染模式不关注各组织节点间的关联,而是以状态层级漏斗的不同层级作为基准进行渲染处理,该模式下,可根据状态层级漏斗不同层级间的第三中间介质,依次读取各个层级,并根据状态层级漏斗的不同层级子漏斗与组织节点间的第二中间介质,确定并读取每一层级的子漏斗所容纳的组织节点信息,进而根据每一层级对应的任务状态等级,按状态层级漏斗的层级,对各层级子漏斗容纳的各个组织节点进行任务状态信息的渲染展示。

该第二渲染模式最终渲染展示出的是,按组织节点在状态层级漏斗所处的不同层级(本质是各组织节点的不同任务状态等级),分类展示的各组织节点,及各组织节点分别对应的任务状态信息。

为每一组织节点所渲染的任务状态信息,可以包括组织节点的任务状态等级,但不限于此,实际应用中,还可以根据需求,为组织节点渲染出相比于任务状态等级更精细粒度和/或更粗粒度的其他任务状态信息,如组织节点当前所承担任务的“已完成比例”这一更精细的任务状态信息(可通过直接读取基于推动介质为每一组织节点动态维护的完成比例信息作为依据),或根据组织节点的当前任务状态等级为组织节点概括出的“未完成”、“已完成”、“任务下发中”、“任务开始处理”这些更为粗粒度的任务状态等等。

实际应用中,可选的,还可以为页面上的每一节点关联其具体的任务数据信息,如为每个班级节点或年级节点或学校节点,关联其已完成采集的各问卷信息等,以支持使用者通过对节点的操作来调出其详细任务数据进行查看。

在第一渲染模式及第二渲染模式的整个渲染处理过程中,无需进行各组织节点任务状态信息的线性计算,直接通过读取相关信息,即可实现对各组织节点按所需模式进行任务状态渲染,比如,第一渲染模式下,读取各节点及其锚点的信息、读取第二中间介质的信息,读取状态层级漏斗的各层级对应的任务状态等级信息等,再比如,第二渲染模式下,读取第二中间介质/第三中间介质的信息、读取各层级分别对应的任务状态等级信息等。

后续,在完成数据读取后,进行数据组装,如组装成json格式数据,并将组装结果如json格式数据传输至前台进行页面的快速渲染。

在对各组织节点的任务状态信息按相应模式进行页面展示的过程中,若后台某一或某些组织节点的任务完成比例达到阈值、触发任务状态等级发生变化,联动调整后台该组织节点及其关系节点的任务状态信息,并控制该组织节点在状态层级漏斗中的动态流转,同步改变相应推动介质(如第二中间介质)的信息,同时,将这些变更信息同步至前台,触发前台对页面渲染展示信息的刷新,也即,根据组织节点任务状态的变化,自动在前台页面执行同步刷新处理,无需基于使用者的交互操作触发。

根据以上方案可知,本申请实施例的方法,针对上级组织触发的任务发起事件,分别为该上级组织及其各级下级组织构建对应的散列性组织节点,并构建用于容纳各组织节点的状态层级漏斗,以及推动介质,通过状态层级漏斗的不同层级来表征组织节点的不同任务状态等级,通过推动介质推动各组织节点的任务状态变化及各组织节点在状态层级漏斗的不同层级间的流转,在此基础上,直接基于各组织节点在状态层级漏斗中所处的层级,及不同层级对应的任务状态等级,即可实现对各组织节点任务状态的渲染处理,规避了按一定方向(如组织架构中自底向上的方向)对各组织节点任务状态的线性计算,可大幅提升层级组织架构的任务状态上报运转效率,并提升面向该架构的任务状态页面渲染效率,避免页面卡顿。

在一实施例中,可选的,状态层级漏斗的一个层级对应的第三中间介质包括:该一个层级向其上一层级流转的第一流转关系描述;和/或,该一个层级向其下一层级流转的第二流转关系描述。

其中,所述上一层级对应的任务状态等级表征的任务完成程度低于该一个层级对应的任务状态等级表征的任务完成程度;所述下一层级对应的任务状态等级表征的任务完成程度高于该一个层级对应的任务状态等级表征的任务完成程度。

第一流转关系描述,具体可以但不限于表示为该层级的子漏斗地址与其上一层级子漏斗的地址的对应关系;第二流转关系描述,相应可以但不限于表示为该层级的子漏斗地址与其下一层级子漏斗的地址的对应关系。

具体的,对于状态层级漏斗的第一个层级(即任务完成程度最小的层级),其仅包括自身地址与其下一层级子漏斗的地址的对应关系,对于状态层级漏斗的最后一个层级(即任务完成程度最大的层级),其仅包括自身地址与其上一层级子漏斗的地址的对应关系,而对于状态层级漏斗的中间层级,则既包括自身地址与其下一层级子漏斗的地址的对应关系,又包括自身地址与其上一层级子漏斗的地址的对应关系。

本实施例通过在状态层级漏斗相应层级的第三中间介质中,维护能体现该层级的上、下关联层级的相关关联信息,来支持组织节点在状态层级漏斗不同层级间流转时的反复或上下浮动,也即,在组织节点所承担任务的任务处理过程中,不仅支持组织节点随着任务完成比例的提升,逐渐以“过滤形式”向状态层级漏斗的下层流转,还支持组织节点任务完成比例的回退与反复,如,某班级统计的某些学员信息或采集的某些问卷信息因故被撤回,导致任务完成比例回退等,一旦回退到低于组织节点当前所处层级对应的任务完成比例区间,则将组织节点动态回转至其当前所处层级的上一层级的子漏斗。

由此,本实施例中,在组织节点所承担任务的当前完成比例触发该组织节点的任务状态等级变化时,根据状态层级漏斗不同层级间的第三中间介质,将该组织节点从当前所处的第一子漏斗流转至与变化后的任务状态等级对应的第二子漏斗,可进一步实现为:

1)若组织节点所承担任务的当前完成比例高于其当前所处第一子漏斗对应的第一任务状态等级的任务完成比例区间,根据第一子漏斗对应的第二流转关系描述,将组织节点流转至第一子漏斗的下一层级子漏斗;

2)若组织节点所承担任务的当前完成比例低于其当前所处第一子漏斗对应的第一任务状态等级的任务完成比例区间,根据第一子漏斗对应的第一流转关系描述,将组织节点流转至第一子漏斗的上一层级子漏斗。

本实施例通过在状态层级漏斗相应层级的第三中间介质中,维护能体现该层级的上、下关联层级的相关关联信息,可支持组织节点在状态层级漏斗不同层级间流转时的反复或上下浮动,相应可支持组织节点在处理其所承担任务的过程中,能按需撤回其已完成的某些任务数据,使得产品功能更为强大。

在一实施例中,可选的,为提升效率避免频繁的DB(Data Base,数据库)吞吐,本实施例通过缓存,来构建各实体组织分别对应的散列性组织节点、状态层级漏斗和/或各种推动介质,相应可将各散列性组织节点、状态层级漏斗、各种推动介质等的信息均存放在缓存中。

且,后续针对各组织节点、状态层级漏斗及各推动介质的信息变化与任务状态推动均在缓存中维护。

在此基础上,参见图5提供的基于状态漏斗过滤的任务状态处理方法的流程图,本申请实施例公开的方法中,步骤305具体可实现为:

步骤305’、从缓存中读取相应组织节点、状态层级漏斗和/或推动介质的信息,并基于从缓存中读取的信息,对各组织节点进行任务状态的渲染处理。

也就是说,当需进行页面的渲染展示时,可直接通过读缓存方式,即从缓存中读取状态层级漏斗、推动介质、组织节点等的相关信息,并基于读取的缓存信息进行页面渲染。避免通过DB方式所存在的频繁DB吞吐,进一步提升基于推动介质的组织节点运转效率及页面渲染效率。

进一步,可选的,参见图6,本申请实施例公开的基于状态漏斗过滤的任务状态处理方法,在步骤305’之后,还可以包括:

步骤306、在缓存中所述状态层级漏斗、所述推动介质和/或各组织节点的信息发生变化时,通过消息队列,将变化信息同步至数据库中。

为便于层级组织架构中各组织节点动态运转情况的可持续化,状态层级漏斗的相关信息,推动介质的相关信息,以及各组织节点的相关信息,需持久化到DB中。

缓存中状态层级漏斗及各散列性组织节点的信息是随着任务进度的推进,动态运转的,如某组织节点从状态层级漏斗的一个层级流转到下一层级,组织节点的任务完成比例进一步提升、并联动调整其各关系节点的任务比例等,针对该情况,本实施例采用消息队列(Message Queue,MQ),实现缓存中的信息变化向DB的同步,以支持上述相关信息在DB中的存储。

具体的,本实施例将消息队列与推动介质中的三种中间介质相关联,并相互配合,状态层级漏斗的信息变化及各散列性组织节点的信息变化,依赖于三种中间介质的推动作用,通过三种中间介质的推动实现组织节点及状态层级漏斗的动态运转,通过将消息队列与推动介质中的三种中间介质相关联并配合,一旦在缓存中由于中间介质推动组织节点或状态层级漏斗的运转,即表明组织节点或状态层级漏斗发生了信息变更,相应根据具体变更信息向消息队列压入一条消息,DB端通过从消息队列依次取出各条消息,并根据取出的消息对DB端已有数据(状态层级漏斗、推动介质、散列性组织节点的相关信息)进行变更,实现对缓存端数据的同步。

实施中,可采用一个或多个消息队列,实现缓存端向DB端的数据同步,在此不做限制。

其中,在采用多个消息队列的实现方式中,可选的,可针对每种topic创建一个消息队列,消息队列数量与topic数量一致,topic比如可以是指“状态层级漏斗的信息变更”、“推动介质的信息变更”、“组织节点的信息变更”等等,DB端根据不同队列对应的不同topic,对不同队列中的消息执行与所对应topic相匹配的处理。

在仅采用一个消息队列的实现方式中,在向消息队列中压入每一条变更消息时,同时为变更消息关联对应的topic,以使DB端能对队列中的消息执行与该消息所对应topic相匹配的处理。

本申请实施例通过缓存对散列性组织节点及状态层级漏斗进行动态运转,并通过读缓存方式进行页面渲染,避免了通过DB方式所存在的频繁DB吞吐,进一步提升了基于推动介质的组织节点运转效率及页面渲染效率,同时,借助消息队列与三种中间介质的配合,实现了相关信息在DB的持久化及缓存端向DB端的数据同步。

对应于上述的方法,本申请实施例还公开一种基于状态漏斗过滤的任务状态处理装置,该装置的组成结构如图7所示,具体包括:

第一构建模块701,用于响应于上级组织触发的任务发起事件,以离散方式分别为所述上级组织及所述上级组织的各级下级组织构建对应的组织节点;

第二构建模块702,用于构建用于容纳各组织节点的状态层级漏斗;所述状态层级漏斗包括多个不同层级的子漏斗,不同层级的子漏斗分别对应不同的任务状态等级,每一子漏斗用于容纳任务状态等级为该子漏斗所对应任务状态等级的组织节点;

第三构建模块703,用于构建推动介质,所述推动介质用于推动各组织节点的任务状态变化及各组织节点在所述状态层级漏斗的不同层级子漏斗间的流转;

调整模块704,用于基于所述推动介质,按任务处理过程中的任务进度同步调整各组织节点的任务状态,并根据各组织节点的任务状态等级变化同步调整各组织节点在所述状态层级漏斗中所处的子漏斗;

渲染处理模块705,用于根据各组织节点在所述状态层级漏斗中所处的子漏斗,及不同层级的子漏斗对应的任务状态等级,对各组织节点进行任务状态的渲染处理。

在一实施方式中,第二构建模块702,具体用于:

根据预设的目标层级数,构建数目为所述目标层级数的各层级子漏斗;

根据预设的不同层级与不同任务状态等级的对应关系,将构建的每一层级子漏斗与对应的任务状态等级建立关联,得到所述状态层级漏斗;

其中,组织节点的不同任务状态或不同任务状态等级,能用于表征组织节点对所承担任务的不同完成程度。

在一实施方式中,第三构建模块703,具体用于:

构建具有上下级关系的两个不同组织节点间的第一中间介质,所述第一中间介质用于对两个不同组织节点间的上下级关联关系进行描述;

构建组织节点与所述状态层级漏斗的相应层级子漏斗间的第二中间介质,所述第二中间介质用于对子漏斗与相应组织节点间的容纳关系进行描述;

构建所述状态层级漏斗的不同层级间的第三中间介质,所述第三中间介质用于对具有流转关系的两个不同层级间的流转关系进行描述。

在一实施方式中,第一中间介质包括:具有上下级关系的两个不同组织节点的节点地址的对应关系;第二中间介质包括:相应层级子漏斗的地址与该相应层级子漏斗容纳的各组织节点的节点地址的对应关系;第三中间介质包括:具有流转关系的两个不同层级子漏斗的地址的对应关系。

在一实施方式中,组织节点的不同任务状态等级分别对应不同的任务完成比例区间;

调整模块704,具体用于:

在组织节点所承担任务的完成进度发生变化时,调整所述组织节点的任务完成比例,并根据不同组织节点间的第一中间介质,对完成比例发生调整的所述组织节点的各关系节点进行任务完成比例的联动调整;

在组织节点所承担任务的当前完成比例触发所述组织节点的任务状态等级变化时,根据状态层级漏斗不同层级间的第三中间介质,将所述组织节点从当前所处的第一子漏斗流转至与变化后的任务状态等级对应的第二子漏斗,并分别调整所述第一子漏斗和所述第二子漏斗对应的第二中间介质;

其中,同一组织节点在所述状态层级漏斗的不同层级子漏斗中分别对应不同的节点形态。

在一实施方式中,状态层级漏斗的一个层级对应的第三中间介质包括:

所述一个层级向其上一层级流转的第一流转关系描述;

和/或,所述一个层级向其下一层级流转的第二流转关系描述;

其中,所述上一层级对应的任务状态等级表征的任务完成程度低于所述一个层级对应的任务状态等级表征的任务完成程度;所述下一层级对应的任务状态等级表征的任务完成程度高于所述一个层级对应的任务状态等级表征的任务完成程度;

调整模块704,在将组织节点从当前所处的第一子漏斗流转至与变化后的任务状态等级对应的第二子漏斗时,具体用于:

若组织节点所承担任务的当前完成比例高于所述第一子漏斗对应的第一任务状态等级的任务完成比例区间,根据所述第一子漏斗对应的第二流转关系描述,将所述组织节点流转至所述第一子漏斗的下一层级子漏斗;

若组织节点所承担任务的当前完成比例低于所述第一子漏斗对应的第一任务状态等级的任务完成比例区间,根据所述第一子漏斗对应的第一流转关系描述,将所述组织节点流转至所述第一子漏斗的上一层级子漏斗。

在一实施方式中,渲染处理模块705,具体用于:

在第一渲染模式下,根据状态层级漏斗的不同层级分别对应的任务状态等级及相应的第一中间介质、第二中间介质,按各组织节点的上下级关系对各组织节点进行上下级关联渲染;

在第二渲染模式下,根据状态层级漏斗的不同层级分别对应的任务状态等级及相应的第二中间介质、第三中间介质,按状态层级漏斗的层级对各组织节点进行渲染;

其中,渲染后的组织节点至少呈现有组织节点所承担任务的当前任务状态信息。

在一实施方式中,通过缓存构建组织节点、状态层级漏斗和/或推动介质;

渲染处理模块705,具体用于:

从缓存中读取相应组织节点、状态层级漏斗和/或推动介质的信息,并基于从缓存中读取的信息,对各组织节点进行任务状态的渲染处理。

在一实施方式中,上述装置还包括:

数据库同步模块,用于在缓存中状态层级漏斗、所述推动介质和/或各组织节点的信息发生变化时,通过消息队列,将变化信息同步至数据库中。

对于本申请实施例公开的基于状态漏斗过滤的任务状态处理装置而言,由于其与上文各方法实施例公开的基于状态漏斗过滤的任务状态处理方法相对应,所以描述的比较简单,相关相似之处请参见上文相应方法实施例的说明即可,此处不再详述。

综上所述,本申请实施例公开的基于状态漏斗过滤的任务状态处理方法和装置,与现有基于线性计算方式的层级组织架构的渲染方案相比,至少具备以下技术效果:

1)本申请基于散列节点结构,通过提供三种中间介质,并在三种中间介质间相互配合,使得针对任务进度的动态变更特征,可以在整个流程的吞吐最小化的情况下,对组织节点的状态进行动态运转。相较于现有方案,本申请有更好的在扩展性和适配性;

2)在渲染效率方面,摒弃了原有线性逐个渲染方式每次不断吞吐DB并线性计算的方式,直接通过缓存、消息队列与三个中间介质的配合,散列性的通过hash地址等中间介质信息快速找到彼此之间的联系,极大的减小了耦合,可以完成快速对页面的渲染;

3)在流程运转上,摆脱了各任务项(如,不同节点各自承担的任务)与运作实体(即,实体组织)在运转时对各实体的任务完成情况与状态的大量计算,直接基于中间介质获取当前节点的任务项的状态,使得现有基于线性计算的层层上报流程的运转效率得到质的变化。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。

最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

技术分类

06120113791344