一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多层级机构树的管理方法、装置、电子设备及介质与流程

2022-12-20 01:26:10 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种多层级机构树的管理方法、装置、电子设备及介质。


背景技术:

2.大型企业集团或机构往往拥有大量的分支机构,所有的机构按照行政或业务隶属关系管理,共同构成一棵包含层级关系的机构树。机构树是管理信息系统(management information system,mis)进行用户数据权限管理和业务审批流转的基础,如何高效便捷地管理所有的机构隶属关系是mis系统的面临的基础核心问题。
3.相关技术中,mis系统中多层级机构树的管理,一般的实现方案是在机构信息中记录该机构的上级机构的机构号(suporgno)和机构层级(orglevel)来完成构建机构的隶属关系。
4.现有的方案,在机构管理过程中,需要同步维护上级机构的机构号(suporgno)和机构层级(orglevel)两个属性,机构维护的复杂度高、容易出错且机构管理的成本高。另外,基于此方案的用户数据权限控制,遍历机构树获得用户所属机构的下辖机构范围需要消耗大量的计算资源且运行效率不高。
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.基于所述第四机构的机构层级标识和所述第一机构的机构号,确定所述第一机构的机构层级标识,并将所述第一机构写入机构树。
31.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述机构树的管理方法。
32.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述机构树的管理方法。
33.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述机构树的管理方法。
34.本发明提供的多层级机构树的管理方法、装置、电子设备及介质,通过记录了机构树中所有上级节点的全链路信息的机构层级标识,能够有利于在处理过程中随时随时获取本机构的任意上级机构信息;其长度/机构号的标准长度即代表机构的层级信息,故无需在机构管理中维护机构层级,简化了机构维护的复杂度,降低机构管理的成本。
附图说明
35.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1为本技术实施例提供的多层级机构树的管理方法流程图;
37.图2为本技术实施例提供的机构管理流程示意图;
38.图3为本技术实施例提供的多层级机构树的管理装置结构示意图;
39.图4是本发明提供的电子设备的结构示意图。
具体实施方式
40.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.mis系统中多层级机构树的管理,一般的实现方案是在机构信息中记录该机构的上级机构的机构号(suporgno)和机构层级(orglevel)来完成构建机构的隶属关系。例如,一个典型的数据库中的机构信息表记录如下:
[0042][0043]
机构管理场景一般分为增加一个新机构、调整一个机构层级和删除一个机构。针对增加一个新的机构场景,除了机构号和机构名称外,还需要根据记录由管理员维护的上级机构号到suporgno,并根据上级的机构层级按照一定的规则推算本机构的机构层级到orglevel。针对调整一个机构层级的场景,需要同步更新本机构新的上级机构号到suporgno并同步更新机构层级orglevel;如果该机构涉及下级机构(即存在机构的上级机构为本机构),则需要同步刷新下级机构的机构层级orglevel。针对删除一个机构的场景,如果该机构为一个叶子机构(即不存在其他机构的上级机构为该机构),则直接删除即可;否则,则需要管理员先将该机构的下辖机构的上级机构调整为新的上级机构后,然后再删除该机构。
[0044]
在mis系统中,用户数据权限控制一般是通过机构树实现的。典型的用户数据权限的控制方案:根据用户所属机构,通过数据库提供的或自行实现的树遍历算法获得该机构的所有下辖机构,然后筛选业务数据表在这些机构范围下的所有数据记录。缺点在于,树遍
历算法需要消耗大量的计算资源且随着机构树的增长计算的时长会逐步增加。对于mis系统中大量存在联机交易所需的用户数据权限控制将是一个难以逾越的问题。
[0045]
图1为本技术实施例提供的多层级机构树的管理方法流程图,如图1所示,包括:
[0046]
步骤110,接收对机构树中第一机构的调整操作;
[0047]
本技术实施例中所描述的机构树具体可以是指包含所有机构信息记录的机构集合,且各个机构之间按照机构层级关系所组成的树状数据信息。
[0048]
本技术实施例中所描述的第一机构具体是指机构树中的一个机构,该第一机构具体可以对应有一个或多个上级机构,也可以对应有一个或多个下级机构。
[0049]
本技术实施例中,该调整操作具体可以是用户的操作,也可以是直接下发的操作指令,该操作指令可以是直接对第一机构的调整操作,也可以是通过对第一机构对应的上级机构进行调整,进而间接对第一机构进行调整的操作。
[0050]
步骤120,响应于所述调整操作,对所述第一机构进行调整,并对所述机构树中第二机构的第一机构层级标识进行调整;
[0051]
其中,所述第二机构是在所述机构树中所述第一机构的下级机构,所述第一机构层级标识包括所述第二机构的机构号和所述第一机构的第二机构层级标识。
[0052]
具体地,本技术实施例中所描述的机构号是指该机构在mis系统中唯一的标识,一般由固定长度的字符组成。
[0053]
本技术实施例中所描述的下级机构是在机构树中处于该机构下一级的机构,一般上下级机构之间具备隶属关系。
[0054]
在本技术实施例中,机构的隶属关系用“机构层级标识”(orglevelid),通过该“机构层级标识”记录该机构在机构树的完整机构上下隶属关系,代替原来的使用上级机构号(suporgno)和机构层级(orglevel)来维护机构的隶属关系,从而简化机构管理的过程并提升用户数据权限控制的效率。“机构层级标识”(orglevelid)代表的是该机构的由机构树的根节点到本节点的所有节点的机构号信息,通常机构层级为n,机构号长度设为l,那么机构层级标识的长度为n*l。
[0055]
例如,数据库中的机构信息表模型如下:
[0056][0057]
即每个机构的机构层级标识中都会包含其对应的上一级机构的机构层级标识。
[0058]
本技术实施例中所描述的调整操作具体可以是删除第一机构的操作,也可以是修
改第一机构的操作。
[0059]
接收到该调整操作后,对对应执行对第一机构的调整,而在调整后第一机构的机构层级标识很可能发生变化。
[0060]
若此时第一机构对应有下级机构,即第二机构的情况下,该第二机构的第一机构层级标识中会包括第一机构的第二机构层级标识,而若是第一机构的第二机构层级标识因第一机构的调整而发生变化,此时对应的第二机构的第一机构层级标识也需要进行调整。
[0061]
更具体地,若第二机构也存在对应的下层机构时,其对应的所有下层机构的机构层级标识也需要对应调整。
[0062]
在本技术实施例中,通过记录了机构树中所有上级节点的全链路信息的机构层级标识,能够有利于在处理过程中随时随时获取本机构的任意上级机构信息;其长度/机构号的标准长度即代表机构的层级信息,故无需在机构管理中再次维护机构层级(orglevel),简化了机构维护的复杂度,降低机构管理的成本。
[0063]
可选地,所述响应于所述调整操作,对所述第一机构进行调整,并对所述机构树中第二机构的第一机构层级标识进行调整,包括:
[0064]
在所述调整操作为修改第一机构的上级机构的情况下,获取修改后的上级机构的第三机构层级标识;
[0065]
基于所述第三机构层级标识和所述第一机构的机构号,得到第一机构调整后的第四机构层级标识,完成对所述第一机构的调整;
[0066]
基于所述第四机构层级标识对每个所述第二机构的第一机构层级标识依次进行更新。
[0067]
具体地,在本技术实施例中,若用户希望调整第一机构的上层机构,例如原本第一机构的上层机构为a,但是因为机构调整的原因,需要将第一机构的上层机构调整为b,本技术实施例中所描述的调整操作可以修改第一机构对应的上级机构的操作。
[0068]
本技术实施例中第一机构在进行上层机构调整后,此时第一机构的第二机构层级标识必然也会发生变化,且该变化需要结合新的上层机构的机构层级标识而变化。
[0069]
更具体地,此时可以进一步获取修改后的上级机构的第三机构层级标识,并根据第一机构的集后好,进一步确定第一机构调整后的第四机构层级标识。
[0070]
第四机构层级标识=第三机构层级标识 第一机构的机构号;
[0071]
具体地,本技术实施例中第一机构的各个下层机构均可以作为第二机构,因此,在对第一机构层级标识进行更新的过程时,可以依次对所有的第一机构层级标识进行更新。
[0072]
更具体地,若第二机构也具备下层机构,则可以根据上述方式,对第二机构的下层机构也进行更新。
[0073]
在另一些实施例中,若第一机构不存在下层机构的情况下,即不存在第二机构的情况下,无需进行后续更新,直接完成第一机构的调整。
[0074]
在本技术实施例中,在第一机构的上层机构被修改的情况下,基于第三机构层级标识和第一机构的机构号,得到第一机构调整后的第四机构层级标识,并根据该第四机构层级标识对每个第二机构的第一机构层级标识依次进行更新,最终保证第一机构的下层机构中的数据也能同步更新,避免层级关系混乱。
[0075]
可选地,所述响应于所述调整操作,对所述第一机构进行调整,并对所述机构树中
第二机构的机构层级标识进行调整,包括:
[0076]
在所述调整操作为在删除所述机构树中的所述第一机构的情况下,基于所述第一机构的第二机构层级标识对所述第二机构的第一机构层级标识进行调整,并在所述机构树中删除所述第一机构。
[0077]
具体地,在本技术实施例中,在一些机构合并或者被取消的情况的下,需要在机构树中删除该机构,而在删除该机构后,若该机构存在下级机构,则该下级机构中的机构层级标识也需要进行调整。
[0078]
更具体地,调整操作为在删除所述机构树中的所述第一机构的情况下,需要进一步判断该第一机构在机构树中是否对应有第二机构,若存在第二机构,由于第二机构的原本的第一机构层级标识中会包含第一机构的第二机构层级标识,第一机构被删除后,也需要对应删除第一机构层级标识中的第二机构层级标识。
[0079]
基于所述第一机构的第二机构层级标识对所述第二机构的第一机构层级标识进行调整,并且在第二机构具备下级机构的情况下,对其下级机构的机构层级标识进行相同的调整。
[0080]
本技术实施例中可以在完成对第二机构的第一机构层级标识进行调整后,在多层级机构树中直接删除第一机构。
[0081]
在本技术实施例中,在删除第一机构后,可以基于第一机构的第二机构层级标识对第二机构的第一机构层级标识进行调整,避免了因机构删除对下级机构的影响,保证了机构层级标识的可靠性。
[0082]
可选地,在所述接收对机构树中第一机构的调整操作的步骤之前,还包括:
[0083]
接收在机构树中创建第一机构的操作,获取所述第一机构的机构号,并选择所述机构树中的第四机构作为所述第一机构的上级机构;
[0084]
基于所述第四机构的机构层级标识和所述第一机构的机构号,确定所述第一机构的机构层级标识,并将所述第一机构写入机构树。
[0085]
具体地,在机构树中创建一个新的第一机构的情况下,会输入第一机构的机构号,并且可以进一步选择机构树中的第四机构作为所述第一机构的上级机构。
[0086]
本技术实施例中所描述的第四机构具体可以是用户在机构树中自行选择的一个机构。
[0087]
本技术实施例中,在确定第一机构的上级机构后,可以根据第四机构的机构层级标识和第一机构的机构号确定第一机构的机构层级标识。
[0088]
对应的,在确定第一机构的上级机构后,也可以进一步确定第一机构的下级机构,此时下级机构可以根据第一机构的机构层级标识对应更新自己的机构层级标识。
[0089]
在本技术实施例中,在机构树中创建新的机构时,需要为该机构指定一个上级机构,并且进一步结合该上级机构的机构层级标识和其本身的机构号来确定新创建机构的机构层级标识,有利于后续对于该机构的维护。
[0090]
图2为本技术实施例提供的机构管理流程示意图,如图2所示,包括:
[0091]
一、修改机构:
[0092]
管理员选择一个机构,修改其上级机构;
[0093]
系统根据提交上级机构号,获取上级机构的orglevelid,本机构的orglevelid=
上级机构的orglevelid 本机构的机构号;
[0094]
判断本机构是否存在下级机构,如果存在则执行遍历,否则执行修改:
[0095]
系统遍历所有的下级机构,更新下级机构的orglevelid=本机构的orglevelid 下级机构的机构号;如果下级机构依然存在下级机构,同上;
[0096]
系统执行机构修改事务,将以上结果写入数据库。
[0097]
二、新增机构:
[0098]
管理员选择新增机构,录入机构号、机构名称,选择所属的上级机构;
[0099]
系统根据提交上级机构号,获取上级机构的orglevelid,本机构的orglevelid=上级机构的orglevelid 本机构的机构号;
[0100]
系统执行机构新增事务,将以上结果写入数据库。
[0101]
三、删除机构:
[0102]
管理员选择删除一个机构;
[0103]
判断本机构是否存在下级机构,如果存在则执行下述遍历步骤,否则执行系统删除本机构:
[0104]
系统遍历所有的下级机构,更新下级机构的orglevelid=本机构的orglevelid.replace(本机构的机构号,下级机构的机构号);如果下级机构依然存在下级机构,同上;
[0105]
系统删除本机构;
[0106]
系统执行机构删除事务,将以上结果写入数据库。
[0107]
最后,有关用户数据查看权限的方案如下:
[0108]
select*from业务数据表,机构表where orglevelid like

用户所属机构%’and业务机构表.业务机构=机构表.机构号( )and其他筛选条件。
[0109]
下面对本发明提供的多层级机构树的管理装置进行描述,下文描述的多层级机构树的管理装置与上文描述的多层级机构树的管理方法可相互对应参照。
[0110]
图3为本技术实施例提供的多层级机构树的管理装置结构示意图,如图3所示,包括:第一接收模块310和第一响应模块320;其中,第一接收模块310用于接收对机构树中第一机构的调整操作;
[0111]
其中,第一响应模块320用于响应于所述调整操作,对所述第一机构进行调整,并对所述机构树中第二机构的第一机构层级标识进行调整;其中,所述第二机构是在所述机构树中所述第一机构的下级机构,所述第一机构层级标识包括所述第二机构的机构号和所述第一机构的第二机构层级标识。
[0112]
可选地,所述第一响应模块,具体用于:
[0113]
在所述调整操作为修改第一机构的上级机构的情况下,获取修改后的上级机构的第三机构层级标识;
[0114]
基于所述第三机构层级标识和所述第一机构的机构号,得到第一机构调整后的第四机构层级标识,完成对所述第一机构的调整;
[0115]
基于所述第四机构层级标识对每个所述第二机构的第一机构层级标识依次进行更新。
[0116]
在本技术实施例中,在第一机构的上层机构被修改的情况下,基于第三机构层级
标识和第一机构的机构号,得到第一机构调整后的第四机构层级标识,并根据该第四机构层级标识对每个第二机构的第一机构层级标识依次进行更新,最终保证第一机构的下层机构中的数据也能同步更新,避免层级关系混乱。
[0117]
可选地,所述第一响应模块,具体用于:
[0118]
在所述调整操作为在删除所述机构树中的所述第一机构的情况下,基于所述第一机构的第二机构层级标识对所述第二机构的第一机构层级标识进行调整,并在所述机构树中删除所述第一机构。
[0119]
在本技术实施例中,在删除第一机构后,可以基于第一机构的第二机构层级标识对第二机构的第一机构层级标识进行调整,避免了因机构删除对下级机构的影响,保证了机构层级标识的可靠性。
[0120]
可选地,所述装置还用于:
[0121]
接收在机构树中创建第一机构的操作,获取所述第一机构的机构号,并选择所述机构树中的第四机构作为所述第一机构的上级机构;
[0122]
基于所述第四机构的机构层级标识和所述第一机构的机构号,确定所述第一机构的机构层级标识,并将所述第一机构写入机构树。
[0123]
在本技术实施例中,在机构树中创建新的机构时,需要为该机构指定一个上级机构,并且进一步结合该上级机构的机构层级标识和其本身的机构号来确定新创建机构的机构层级标识,有利于后续对于该机构的维护。
[0124]
在本技术实施例中,通过记录了机构树中所有上级节点的全链路信息的机构层级标识,能够有利于在处理过程中随时随时获取本机构的任意上级机构信息;其长度/机构号的标准长度即代表机构的层级信息,故无需在机构管理中再维护机构层级,简化了机构维护的复杂度,降低机构管理的成本。
[0125]
图4是本发明提供的电子设备的结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communications interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行多层级机构树的管理方法,该方法包括:接收对机构树中第一机构的调整操作;
[0126]
响应于所述调整操作,对所述第一机构进行调整,并对所述机构树中第二机构的第一机构层级标识进行调整;
[0127]
其中,所述第二机构是在所述机构树中所述第一机构的下级机构,所述第一机构层级标识包括所述第二机构的机构号和所述第一机构的第二机构层级标识。
[0128]
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0129]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的多层级机构树的管理方法,该方法包括:接收对机构树中第一机构的调整操作;
[0130]
响应于所述调整操作,对所述第一机构进行调整,并对所述机构树中第二机构的第一机构层级标识进行调整;
[0131]
其中,所述第二机构是在所述机构树中所述第一机构的下级机构,所述第一机构层级标识包括所述第二机构的机构号和所述第一机构的第二机构层级标识。
[0132]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的多层级机构树的管理方法,该方法包括:接收对机构树中第一机构的调整操作;
[0133]
响应于所述调整操作,对所述第一机构进行调整,并对所述机构树中第二机构的第一机构层级标识进行调整;
[0134]
其中,所述第二机构是在所述机构树中所述第一机构的下级机构,所述第一机构层级标识包括所述第二机构的机构号和所述第一机构的第二机构层级标识。
[0135]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0136]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0137]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献