一种网格树形组织管理方法及装置与流程

文档序号:17626567发布日期:2019-05-10 23:43阅读:274来源:国知局
一种网格树形组织管理方法及装置与流程

本发明涉及网格化管理技术领域,特别是涉及一种网格树形组织管理方法及装置。



背景技术:

网格化管理是将公司或机构中的人员以树形方式进行组织排列,从而组成上下级汇报关系链条,实现统筹管理。网格化管理中,机构人员以树形结构进行组织管理,每个节点具有直接上级或下级标识属性,具有某种规则的上下级关系编码。当需要进行人员调动时,网格节点需从网格树中移出,同时该网格节点的下级节点也需从网格树中移出,后续还需对移出的下级节点进行维护,重新纳入网格管理,操作较为繁琐。



技术实现要素:

为解决上述技术问题,本发明实施例提供了一种网格树形组织管理方法及装置,技术方案如下:

一种网格树形组织管理方法,包括:

当确定网格树中存在需要移除的目标网格节点时,判断所述目标网格节点是否为叶子节点,所述目标网格节点与机构人员一一对应;

若为所述叶子节点,删除所述目标网格节点;

若不为所述叶子节点,更新所述目标网格节点的人员标识属性值为网格待指派。

优选地,还包括:

当接收到对所述网格待指派的第一网格节点的待指定人员时,确定所述待指定人员为未纳入网格人员还是其它网格树的根节点;

若为未纳入网格人员,将与所述第一网格节点对应的人员标识属性值更新为所述待指定人员的人员标识属性值;

若为其它网格树的根节点,将与所述第一网格节点对应的人员标识属性值更新为与所述根节点对应的人员标识属性值,将所述根节点的所有格员的直接上级标识值更新为所述第一网格节点的标识值,从所述其它网格树中删除所述根节点,并将所述其它网格树中所有节点的网格关系编码中左侧开始与所述根节点的网格关系编码相同的部分替换为所述第一网格节点的网格关系编码。

优选地,还包括:

当需要将所述网格树中目标格主的第二网格节点调整为第三网格节点的格员时,将所述第二网格节点的直接上级标识值更新为所述第三网格节点的标识值,将所述第二网格节点及所述第二网格节点的所有下级的网格关系编码中左侧开始与所述目标格主的网格关系编码相同的部分替换为所述第三网格节点的网格关系编码,所述第二网格节点为所述目标格主的格员。

优选地,还包括:

当需要为所述网格树中的第四网格节点添加格员时,确定待添加的格员为未纳入网格人员还是其它网格树的根节点;

若为所述未纳入网格人员,将所述待添加的格员作为所述第四网格节点的下级节点,并为所述待添加的格员生成网格标识和网格编码,将所述待添加的格员的直接上级标识值更新为所述第四网格节点的标识,其中所述待添加的格员的网格关系编码由所述第四网格节点的网格关系编码、分隔符、所述待添加的格员的网格编码和分隔符组成;

若为所述其它网格树的根节点,将所述根节点的直接上级标识值更新为所述第四网格节点的标识,并根据所述第四网格节点的网格关系编码和所述其它网格树中的各节点原有的网格关系编码更新所述各节点的网格关系编码。

优选地,还包括:

接收检索请求,所述检索请求用于检索第五网格节点的所有上级网格节点或所述第五网格节点的所有下级网格节点;

当所述检索请求用于检索所述第五网格节点的所有上级网格节点时,将网格关系编码为左包含所述第五网格节点的网格关系编码的所有网格节点作为所述所有上级网格节点;

当所述检索请求用于检索所述第五网格节点的所有下级网格节点时,将网格关系编码被所述第五网节点的网格关系编码左包含的网格节点作为所述所有下级网格节点。

一种网格树形组织管理装置,包括:

第一判断单元,用于当确定网格树中存在需要移除的目标网格节点时,判断所述目标网格节点是否为叶子节点,所述目标网格节点与机构人员一一对应;

删除单元,用于若为所述叶子节点,删除所述目标网格节点;

第一更新单元,用于若不为所述叶子节点,更新所述目标网格节点的人员标识属性值为网格待指派。

优选地,还包括:

第二判断单元,用于当接收到对所述网格待指派的第一网格节点的待指定人员时,确定所述待指定人员为未纳入网格人员还是其它网格树的根节点;

第二更新单元,用于若为未纳入网格人员,将与所述第一网格节点对应的人员标识属性值更新为所述待指定人员的人员标识属性值;

第三更新单元,用于若为其它网格树的根节点,将与所述第一网格节点对应的人员标识属性值更新为与所述根节点对应的人员标识属性值,将所述根节点的所有格员的直接上级标识值更新为所述第一网格节点的标识值,从所述其它网格树中删除所述根节点,并将所述其它网格树中所有节点的网格关系编码中左侧开始与所述根节点的网格关系编码相同的部分替换为所述第一网格节点的网格关系编码。

优选地,还包括:

第四更新单元,用于当需要将所述网格树中目标格主的第二网格节点调整为第三网格节点的格员时,将所述第二网格节点的直接上级标识值更新为所述第三网格节点的标识值,将所述第二网格节点及所述第二网格节点的所有下级的网格关系编码中左侧开始与所述目标格主的网格关系编码相同的部分替换为所述第三网格节点的网格关系编码,所述第二网格节点为所述目标格主的格员。

优选地,还包括:

第三判断单元,用于当需要为所述网格树中的第四网格节点添加格员时,确定待添加的格员为未纳入网格人员还是其它网格树的根节点;

第五更新单元,用于若为所述未纳入网格人员,将所述待添加的格员作为所述第四网格节点的下级节点,并为所述待添加的格员生成网格标识和网格编码,将所述待添加的格员的直接上级标识值更新为所述第四网格节点的标识,其中所述待添加的格员的网格关系编码由所述第四网格节点的网格关系编码、分隔符、所述待添加的格员的网格编码和分隔符组成;

第六更新单元,用于若为所述其它网格树的根节点,将所述根节点的直接上级标识值更新为所述第四网格节点的标识,并根据所述第四网格节点的网格关系编码和所述其它网格树中的各节点原有的网格关系编码更新所述各节点的网格关系编码。

优选地,还包括:

接收单元,用于接收检索请求,所述检索请求用于检索第五网格节点的所有上级网格节点或所述第五网格节点的所有下级网格节点;

第一检索单元,用于当所述检索请求用于检索所述第五网格节点的所有上级网格节点时,将网格关系编码为左包含所述第五网格节点的网格关系编码的所有网格节点作为所述所有上级网格节点;

第二检索单元,用于当所述检索请求用于检索所述第五网格节点的所有下级网格节点时,将网格关系编码被所述第五网节点的网格关系编码左包含的网格节点作为所述所有下级网格节点。

本发明实施例提供的技术方案,当需要移除网络树中的目标网格节点时,对于叶子节点,直接删除该叶子节点,对于非叶子节点,通过更新目标网格节点的人员标识属性值的方式删除原有的网格节点。由于只对目标网格节点进行了操作,所以不会影响目标网格节点的下级节点,即本实施例中在删除目标网格节点后,后续无需将目标网格节点重新纳入网格管理的操作。

附图说明

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

图1为本发明实施例所提供的一种网格树形组织管理方法的一种流程示意图;

图2为本发明实施例所提供的移除网格节点的结构示意图;

图3为本发明实施例所提供的为网络待指派节点指定人员的结构示意图;

图4为本发明实施例所提供的调整格员的结构示意图;

图5为本发明实施例所提供的增加格员的一种结构示意图;

图6为本发明实施例所提供的增加格员的另一种结构示意图;

图7为本发明实施例所提供的一种网格树形组织管理装置的一种结构示意图。

具体实施方式

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

为了更好地理解本发明实施例公开的网格树形组织管理及装置,下面首先对本发明实施例中涉及到的术语进行解释:

树形结构:数据元素之间存在着“一对多”的树型关系的数据结构,它满足:树根节点没有前驱节点,其余每个节点有且只有一个前驱节点,叶子节点没有后续节点,其余每个节点的后续节点数可以是一个也可以是多个。

网格:由机构人员组成的树形结构中,每个节点n和其所有后续节点构成一个网格。在该网格中,记节点n为上级节点,则节点n的后续节点称为直接下级节点。

格主:网格中的上级节点为该网格的格主,每个网格中只有一个格主。

格员:网格中的下级节点均为该网格的格员,每个网格中的格员可以是一个或多个。

网格树:多个网格连接成的树形结构即为网格树,每个网格树有唯一根节点r,树中除r以外的其他节点均为r的下级节点。同时,r的某个下级节点n到r之间的路径中经历的所有节点(包含r但不包含n)均为n的上级节点。

已纳入网格:机构中的每个人员都具有唯一标识id,网格树中的每个网格节点通过人员id表示该网格节点对应机构人员的属性。一个网格节点只能与一个机构人员对应,或不对应任何机构人员。一个机构人员仅能对应一个网格节点,或不对应任何网格节点。当某个网格节点与某个机构人员相对应时,称该机构人员已纳入网格。

未纳入网格:与“已纳入网格”相对,当某个机构人员不与任何网格节点相对应时,称该人员未纳入网格。

网格待指派:当某网格节点不对应任何人员时,称该网格节点为网格待指派。

网格调整:将机构人员从网格树中移出,或者将机构人员从网格树中某个网格节点调整到另外网格节点。

左包含:字符串a为字符串b的前缀,则称字符串b左包含a,或称字符串a被b左包含。

本发明中,所有数据都在一个局域网内,由统一的数据库服务器来维护所有的数据。

每个网格节点具有全局唯一的网格节点id、对应的直接上级节点id、对应人员id、网格编码、网格关系编码以及其它附加信息。通过网格节点id和直接上级节点id可构建网格树形结构。每个网格节点的网格关系编码全局唯一,可用来快速检索该节点的下级节点和上级节点。网格树中根节点的直接上级id为空或特殊值,用于标识该节点为根节点。如表一所示,表一为示例的一组网格节点信息。

表一

在本发明中,为了减少对网络规模的限制,实现自适应扩展,网格关系编码为不定长字符串,规则为:直接上级节点网格关系编码+分隔符+本节点的网格编码+分隔符。节点的网格编码为不定长字符串,规则为:网格节点属性标识+唯一标识。示例:

如以1个英文字母作为网格节点属性标识(a表示领导干部,b表示普通员工),正整数作为唯一标识,“-”作为分隔符。那么,某网格节点n的网格编码可以为b100,其网格关系编码可以为a1-a2-b100-,n的直接上级节点p的网格编码则为a2,p的网格关系编码为a1-a2-。如表二所示,表二为网格节点n、p的网格编码和网格关系编码。

表二

请参阅图1,图1为本发明实施例提供的一种网格树形组织管理方法的一种实现流程图,该方法包括:

步骤s101、当确定网格树中存在需要移除的目标网格节点时,判断目标网格节点是否为叶子节点,目标网格节点与机构人员一一对应,若是执行步骤s102,否则执行步骤s103。

步骤s102、删除目标网格节点。

步骤s103、更新目标网格节点的人员标识属性值为网格待指派。

当需要将机构人员移出网格树t时,若对应的网格节点为叶子节点,则直接删除该叶子节点;若该网格节点为非叶子节点,则清除对应网格节点的人员标识属性值(人员id属性值),并将该网格节点标记为网格待指派。请参见图2,图2为移除网格节点的结构示意图,表三为与图2对应的移除网格节点前后的网格节点信息。其中表三(a)为移除前的网格节点信息,表三(b)为移除节点后的网格节点信息。

表三(a)

表三(b)

在本发明的另一实施例中,还可以为网格树中的网络待指派节点指定新的机构人员,具体流程如下:

当接收到对网格待指派的第一网格节点的待指定人员时,确定待指定人员为未纳入网格人员还是其它网格树的根节点;

若为未纳入网格人员,将与第一网格节点对应的人员标识属性值更新为待指定人员的人员标识属性值;

若为其它网格树的根节点,将将与第一网格节点对应的人员标识属性值更新为与根节点对应的人员标识属性值,将根节点的所有格员的直接上级标识值更新为第一网格节点的标识值,从其它网格树中删除根节点,并将其它网格树中所有节点的网格关系编码中左侧开始与根节点的网格关系编码相同的部分替换为第一网格节点的网格关系编码。

请参见图3,图3为为网络待指派节点指定人员的结构示意图,表四为与图3对应的为网络待指派节点指定人员的网格节点信息。其中表四(a)为为网络待指派节点指定人员前的网格节点信息,表四(b)为为网络待指派节点指定人员后的网格节点信息。其中,若待指定人员为未纳入网格人员,则直接将网格节点a(第一网格节点)的人员id赋值为指定人员的id;若待指定人员为另外网格树t’的根节点r,则将网格节点a的人员id赋值为r的人员id,将r的所有格员的直接上级id值更新为a的id,从t’中删除r节点,并将t’中所有网格节点的网格关系编码中左侧开始与r的网格关系编码相同的部分替换为a的网格关系编码。若待指定人员为其他情况,则拒绝该操作。

表四(a)

表四(b)

在本发明的另一实施例中,还可以将网格树t中某个格主a的某个格员n调整成为网格节点b的格员,具体地:

当需要将网格树中目标格主的第二网格节点调整为第三网格节点的格员时,将第二网格节点的直接上级标识值更新为第三网格节点的标识值,将第二网格节点及第二网格节点的所有下级的网格关系编码中左侧开始与目标格主的网格关系编码相同的部分替换为第三网格节点的网格关系编码,第二网格节点为目标格主的格员。

在将网格树t中某个格主a(目标格主)的某个格员n(第二网格节点)调整成为网格节点b(第三网格节点)的格员时,将n的直接上级id更新为b的id,将n及其所有下级的网格关系编码中左侧开始与a的网格关系编码相同的部分替换为b的网格关系编码。请参见图4,图4为调整格员的结构示意图,表五为与图4对应的调整格员的网格节点信息。其中表五(a)为调整格员前的网格节点信息,表五(b)为调整格员后的网格节点信息。

表五(a)

表五(b)

在本发明的另一实施例中,还可以为网络树中的网格节点添加格员,具体地:

当需要为网格树中的第四网格节点添加格员时,确定待添加的格员为未纳入网格人员还是其它网格树的根节点;

若为未纳入网格人员,将待添加的格员作为第四网格节点的下级节点,并为待添加的格员生成网格标识和网格编码,将待添加的格员的直接上级标识值更新为第四网格节点的标识,其中待添加的格员的网格关系编码由第四网格节点的网格关系编码、分隔符、待添加的格员的网格编码和分隔符组成;

若为其它网格树的根节点,将根节点的直接上级标识值更新为第四网格节点的标识,并根据第四网格节点的网格关系编码和其它网格树中的各节点原有的网格关系编码更新各节点的网格关系编码。

当需要为网格树t中某节点a(第四网格节点)添加一个或多个格员时,若待添加的格员b为未纳入网格人员,则在网格树中新增格员节点,并为每个格员节点生成唯一id和唯一网格编码,格员节点的直接上级id值为a的id,格员节点的网格关系编码为a的网格关系编码+分隔符+格员节点的网格编码+分隔符。请参见图5,图5为增加格员时的结构示意图,表六为与图5对应的增加格员后的网格节点信息。

表六

若待添加的格员为另外网格树t’的根节点r,则将r的直接上级id值更新为a的id,t’中所有节点的网格关系编码更新为a的网格关系编码+分隔符+各节点原来的网格关系编码。若待添加的格员为其他情况,则拒绝该操作。请参见图6,图6为增加格员时的结构示意图,表七为与图6对应的增加格员时的网格节点信息。其中表七(a)为增加格员前的网格节点信息,表七(b)为增加格员后的网格节点信息。

表七(a)

表七(b)

在本发明的另一实施例中,还可以是实现快速的上下级人员检索,具体地:

接收检索请求,检索请求用于检索第五网格节点的所有上级网格节点或第五网格节点的所有下级网格节点;

当检索请求用于检索第五网格节点的所有上级网格节点时,将网格关系编码为左包含第五网格节点的网格关系编码的所有网格节点作为所有上级网格节点;

当检索请求用于检索第五网格节点的所有下级网格节点时,将网格关系编码被第五网节点的网格关系编码左包含的网格节点作为所有下级网格节点。

当需要检索某节点(第五网格节点)所有上级时,除通过网格节点id和直接上级id属性递归查找方式外,可通过检索网格关系编码为左包含当前节点网格关系编码的所有网格节点(含n节点)获得。

示例:在表八所示网格列表t中检索节点n(第五网格节点)(网格id=2)的所有上级节点,可使用sql:select*fromtwhere‘a1-b1-’like网格关系编码||’%’。

表八

当需要检索某节点所有下级时,除通过网格节点id和直接上级id属性递归查找方式外,可通过检索所有网格关系编码被当前节点网格关系编码左包含的网格节点(含n节点)获得。

示例:在表八所示网格列表t中检索n节点(网格id=2)的所有下级节点,可使用sql:select*fromtwhere网格关系编码like‘a1-b1-%’。

本发明实施例提供的技术方案,当需要移除网络树中的目标网格节点时,对于叶子节点,直接删除该叶子节点,对于非叶子节点,通过更新目标网格节点的人员标识属性值的方式删除原有的网格节点。由于只对目标网格节点进行了操作,所以不会影响目标网格节点的下级节点,即本实施例中在删除目标网格节点后,后续无需将目标网格节点重新纳入网格管理的操作。

请参阅图7,图7为本发明实施例提供的网格树形组织管理装置的一种结构示意图,该结构示意图中的各模块的工作过程参照图1对应的实施例中方法的执行过程,该装置包括:

第一判断单元710,用于当确定网格树中存在需要移除的目标网格节点时,判断目标网格节点是否为叶子节点,目标网格节点与机构人员一一对应;

删除单元720,用于若为叶子节点,删除目标网格节点;

第一更新单元730,用于若不为叶子节点,更新目标网格节点的人员标识属性值为网格待指派。

本发明实施例提供的技术方案,当需要移除网络树中的目标网格节点时,对于叶子节点,直接删除该叶子节点,对于非叶子节点,通过更新目标网格节点的人员标识属性值的方式删除原有的网格节点。由于只对目标网格节点进行了操作,所以不会影响目标网格节点的下级节点,即本实施例中在删除目标网格节点后,后续无需将目标网格节点重新纳入网格管理的操作。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

对于装置或系统实施例而言,由于其基本相应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置或系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网格单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,在没有超过本发明的精神和范围内,可以通过其他的方式实现。当前的实施例只是一种示范性的例子,不应该作为限制,所给出的具体内容不应该限制本发明的目的。例如,所述单元或子单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或多个子单元结合一起。另外,多个单元可以或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

另外,所描述系统,装置和方法以及不同实施例的示意图,在不超出本发明的范围内,可以与其它系统,模块,技术或方法结合或集成。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1