CN115221360A - 树形结构配置方法和系统 - Google Patents
树形结构配置方法和系统 Download PDFInfo
- Publication number
- CN115221360A CN115221360A CN202110418217.4A CN202110418217A CN115221360A CN 115221360 A CN115221360 A CN 115221360A CN 202110418217 A CN202110418217 A CN 202110418217A CN 115221360 A CN115221360 A CN 115221360A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- root
- tree structure
- unique identifier
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
Abstract
本发明提供了一种树形结构配置方法,所述方法包括:确定用于配置所述树形结构的多个节点;将所述多个节点中的一个节点配置为所述树形结构的根节点,并生成关联于所述根节点的全局唯一标识,所述关联于所述根节点的全局唯一标识用于表示所述根节点在所述树形结构中的优先级;将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,所述关联于所述非根节点的全局唯一标识用于表示所述非根节点在所述树形结构中的优先级,所述非根节点为中间节点或叶子节点。在本发明实施例中,基于所述树形结构中的各个节点的全局唯一标识,可以有效管理各个节点,可以高效地实现全局搜索、排序、比较等。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种树形结构配置方法、系统、计算机设备及计算机可读存储介质,以及基于树形结构的搜索方法、策略下发方法以及策略执行方法。
背景技术
随着计算机技术的发展,树形结构的应用越来越广泛,如,可以用于对象(节点)的排序、搜索、比较等。上述用途的实现可以通过红黑树、线段树、B树、B-树、B+树。
但是,现有的树形结构对节点的管理效率低下,且不能高效实施排序、搜索、比较等。
发明内容
本发明的目的是提供一种树形结构配置方法、系统、计算机设备及计算机可读存储介质,以及基于树形结构的搜索方法、策略下发方法以及策略执行方法,用于解决以下问题:现有的树形结构对节点的管理效率低下,且不能高效实施排序、搜索、比较等。
本发明实施例的一个方面提供了一种树形结构配置方法,所述方法包括:
确定用于配置所述树形结构的多个节点;
将所述多个节点中的一个节点配置为所述树形结构的根节点,并生成关联于所述根节点的全局唯一标识,所述关联于所述根节点的全局唯一标识用于表示所述根节点在所述树形结构中的优先级;
将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,所述关联于所述非根节点的全局唯一标识用于表示所述非根节点在所述树形结构中的优先级,所述非根节点为中间节点或叶子节点。
可选的,全局唯一标识包括用于表征层级的二进制数组,位于同一层结构中的各个节点的二进制数组的长度相同。
可选的,将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,包括:
根据所述非根节点的父节点及各个所述非根节点,生成所述关联于所述非根节点的全局唯一标识;其中,所述非根节点的父节点为所述根节点或另一个非根节点。
可选的,同一个父节点下的各个非根节点分别配置有局部排序值,其中,该局部排序值用于区分该同一个父节点下的各个非根节点之间的优先顺序;所述根据所述非根节点的父节点及各个所述非根节点,生成所述关联于所述非根节点的全局唯一标识,包括:
将第i个非根节点的局部排序值转换为相应的二进制数值,所述第i个非根节点为任一个非根节点;
将所述相应的二进制数值存入到预定长度的数组,以得到所述第i个非根节点的节点数组;及
将所述第i个非根节点的父节点的全局唯一标识和所述第i个非根节点的节点数组进行拼接,并将拼接结果作为对应于所述第i个非根节点的全局唯一标识;其中,所述第i个非根节点的节点数组拼接在所述第i个非根节点的父节点的全局唯一标识的尾部。
可选的,还包括:
响应于节点插入指令,根据所述新节点在所述树状结构中的插入点,确定所述新节点的父节点;
根据所述新节点的局部排序值,得到所述新节点的节点数组;其中,所述新节点的局部排序值根据与所述新节点在同一父节点下的相邻节点的局部排序值确定;及
将所述新节点的父节点的全局唯一标识和所述新节点的节点数组进行拼接,以得到所述新节点的全局唯一标识。
可选的,所述树形结构基于tire树配置而成。
可选的,所述多个节点中的各个节点分别对应一个搜索分组;或所述多个节点中的各个节点分别对应一个终端分组。
本发明实施例的一个方面又提供了一种树形结构配置系统,包括:
确定模块,用于确定用于配置所述树形结构的多个节点;
第一配置模块,用于将所述多个节点中的一个节点配置为所述树形结构的根节点,并生成关联于所述根节点的全局唯一标识,所述关联于所述根节点的全局唯一标识用于表示所述根节点在所述树形结构中的优先级;
第二配置模块,用于将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,所述关联于所述非根节点的全局唯一标识用于表示所述非根节点在所述树形结构中的优先级,所述非根节点为中间节点或叶子节点。
本发明实施例的一个方面又提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述树形结构配置方法的步骤。
本发明实施例的一个方面又提供了一种计算机可读存储介质,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述树形结构配置方法的步骤。
本发明实施例的一个方面又提供了一种基于树形结构的搜索方法,所述树形结构包括多个节点,所述多个节点中的各个节点分别关联有用于表示优先级的全局唯一标识;所述方法包括:
响应于搜索请求,根据所述各个节点的全局唯一标识确定所述各个节点在所述树形结构中的优先级;
根据所述各个节点的优先级,确定所述各个节点的访问顺序;及
根据所述各个节点的访问顺序遍历所述各个节点,以获取对应于所述搜索请求的一个或多个目标节点。
可选的,所述每个节点分别对应一个搜索分组,每个搜索分组分别配置有用于搜索的分组名称。
可选的,还包括:若目标节点的数量为多个,则根据各个目标节点的全局唯一标识确定所述各个目标节点的优先级,并根据所述各个目标节点的优先级确定所述各个目标节点的排列顺序。
可选的,全局唯一标识包括用于表征层级的二进制数组,位于同一层结构中的各个节点的二进制数组的长度相同。
可选的,所述树形结构通过以下操作配置得到:
确定用于配置所述树形结构的多个节点;
将所述多个节点中的一个节点配置为所述树形结构的根节点,并生成关联于所述根节点的全局唯一标识,所述关联于所述根节点的全局唯一标识用于表示所述根节点在所述树形结构中的优先级;
将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,所述关联于所述非根节点的全局唯一标识用于表示所述非根节点在所述树形结构中的优先级,所述非根节点为中间节点或叶子节点。
可选的,同一个父节点下的各个非根节点分别配置有局部排序值,其中,该局部排序值用于区分该同一个父节点下的各个非根节点之间的优先顺序;所述将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,包括:
将第i个非根节点的局部排序值转换为相应的二进制数值,所述第i个非根节点为任一个非根节点;
将所述相应的二进制数值存入到预定长度的数组,以得到所述第i个非根节点的节点数组;及
将所述第i个非根节点的父节点的全局唯一标识和所述第i个非根节点的节点数组进行拼接,并将拼接结果作为对应于所述第i个非根节点的全局唯一标识;其中,所述第i个非根节点的节点数组拼接在所述第i个非根节点的父节点的全局唯一标识的尾部。
本发明实施例的一个方面又提供了一种基于树形结构的策略下发方法,所述树形结构包括多个节点,各个节点分别关联有用于表示优先级的全局唯一标识;所述方法包括:
根据所述各个节点的全局唯一标识确定所述各个节点在所述树形结构中的优先级;及
根据所述各个节点在所述树形结构中的优先级,以所述树形结构中的其中一个非叶子节点为起始节点,将所述目标策略依次下发至所述起始节点下的各个节点中,以使所述起始节点下的各个节点分别执行以下操作:执行所述目标策略或者修改所述目标策略并执行所述修改后的目标策略。
可选的,所述每个节点分别对应一个终端分组,每个终端分组中的各个终端分别用于策略的执行。
本发明实施例的一个方面又提供了一种基于树形结构的策略执行方法,用于所述树形结构中多个节点的目标节点中,各个节点分别关联有用于表示优先级的全局唯一标识;所述方法包括:
接收所述目标节点的父节点下发的目标策略;
若所述目标策略在所述目标节点中不需要被修改,则执行所述目标策略;
若所述目标策略在所述目标节点中需要被修改,则比较所述目标节点的全局唯一标识和所述父节点的全局唯一标识,若根据比较结果确定所述父节点的优先级小于所述目标节点的优先级,则修改所述目标策略,并执行所述修改后的目标策略。
本发明实施例提供的树形结构配置方法、系统、设备及计算机可读存储介质,以及基于树形结构的搜索方法、策略下发方法以及策略执行方法,具有以下优点:
基于所述树形结构中的各个节点的全局唯一标识,可以有效管理各个节点。
全局唯一标识用于表示优先级,因此,相当于所述各个节点分别对应一个全局唯一的优先级。基于所述各个节点的优先级,可以高效地实现全局搜索、排序、比较等。
附图说明
图1示意性示出了根据本发明实施例一的树形结构配置方法的流程图;
图2为一个树形结构的示例图;
图3为图1中步骤S104的子步骤图;
图4为图3中步骤S300的子步骤图;
图5示意性示出了根据本发明实施例一的树形结构配置方法的新增步骤;
图6示意性示出了根据本发明实施例二的树形结构配置系统的框图;
图7示意性示出了根据本发明实施例三的计算机设备的硬件架构示意图;
图8示意性示出了根据本发明实施例五的基于树形结构的搜索方法的流程图;
图9示意性示出了根据本发明实施例五的基于树形结构的搜索方法的新增步骤;
图10示意性示出了根据本发明实施例六的基于树形结构的策略下发方法的流程图;及
图11示意性示出了根据本发明实施例七的基于树形结构的策略执行方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
在本发明的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本发明及区别每一步骤,因此不能理解为对本发明的限制。
关于排序、比较、搜索方面,本发明人了解到:
上述用途的实现可以通过红黑树、线段树、B树、B-树、B+树。然,发明所了解的树形结构对节点的管理效率低下,且不能高效实施排序、搜索、比较等。分析如下:
1.一般以二叉树作为组织结构,不适用与复杂的树形结构;
2.没有一个相对统一的全局唯一值;
3.树的每层节点没有明确的等级划分;
4.对树的节点插入可能会对树形结构产生较大的影响,并且扩容时可能会造成死循环。
下文将提供多个实施例,各个实施例可以用于部分或全部解决上述描述的技术问题。
实施例一
图1示意性示出了根据本发明实施例一的树形结构配置方法的流程图。本实施例一可以执行在计算机设备2中。如图2所示,该树形结构配置方法可以包括步骤S100~S104,其中:
步骤S100,确定用于配置所述树形结构的多个节点。
各个节点可以分别代表一个对象。该对象可以是实体或内容架构中的一个单元或内容。
所述树形结构根据各个节点之间的关联关系配置而成。各个节点之间的关联关系包括父子关系等。
步骤S102,将所述多个节点中的一个节点配置为所述树形结构的根节点,并生成关联于所述根节点的全局唯一标识,所述关联于所述根节点的全局唯一标识用于表示所述根节点在所述树形结构中的优先级。
步骤S104,将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,所述关联于所述非根节点的全局唯一标识用于表示所述非根节点在所述树形结构中的优先级,所述非根节点为中间节点或叶子节点。
所述多个节点根据各自在所述树形结构中的位置,决定各自在所述树形结构中的角色。所述多个节点分布于所述树形结构的多层结构。位于第一层结构的节点为根节点,该根节点有且只有一个。位于其他层结构的节点均可以统称非根节点。相邻的两层结构中的各个上层节点是与该上层节点关联的下层节点的父节点。
如图2所示,节点“root”为所述树形结构的根节点,节点“n1”、“n2”、“n3”、“n4”、“n5”、“n11”、“n12”、“n13”、“n21”、“n22”、“n23”、“n51”均为所述树形结构的非根节点。节点“n1”为“n11”、“n12”和“n13”的父节点,节点“n2”为“n21”、“n22”和“n23”的父节点,节点“n5”为“n51”的父节点。其中,在这些非根节点中,有子节点的节点可以称之为中间节点,如:节点“n1”、“n2”、“n5”;无子节点的节点可以称之为叶子节点,如:节点“n3”、“n4”、“n11”、“n12”、“n13”、“n21”、“n22”、“n23”、“n51”。需要说明的是,随着节点的新增或删除,中间节点可以转换为叶子节点,叶子节点也可以转换为中间节点。
本发明实施例提供的树形结构配置方法,可以包括以优点:
(1)基于所述树形结构中的各个节点的全局唯一标识,可以有效管理各个节点。
(2)全局唯一标识用于表示优先级,因此,相当于所述各个节点分别对应一个全局唯一的优先级。基于所述各个节点的优先级,可以高效地实现全局搜索、排序、比较等。
另外,本发明还可以提供进一步可选方案,以优化树形结构的配置。具体如下:
作为示例,全局唯一标识包括用于表征层级的二进制数组,位于同一层结构中的各个节点的二进制数组的长度相同。在本实施例中,所述树形结构的每个节点对应一个二进值数值。每层结构中的各个节点均为一个固定长度的二进制数组,来表示自身所在的层数,方便管理。
作为示例,如图3所示,所述步骤S104可以包括步骤S300,其中:步骤S300,根据所述非根节点的父节点及各个所述非根节点,生成所述关联于所述非根节点的全局唯一标识;其中,所述非根节点的父节点为所述根节点或另一个非根节点。在本实施例中,每个非根节点的全局唯一标识的生成均需依赖其父节点。因此,每个非根节点与各自的父节点在全局唯一标识上具有层级递进的关联关系,方便管理。
作为示例,同一个父节点下的各个非根节点分别配置有局部排序值(sort),其中,该局部排序值用于区分该同一个父节点下的各个非根节点之间的优先顺序。如图4所示,所述步骤S300可以包括步骤S400~S404,其中:步骤S400,将第i个非根节点的局部排序值转换为相应的二进制数值,所述第i个非根节点为任一个非根节点;步骤S402,将所述相应的二进制数值存入到预定长度的数组,以得到所述第i个非根节点的节点数组;及步骤S404,将所述第i个非根节点的父节点的全局唯一标识和所述第i个非根节点的节点数组进行拼接,并将拼接结果作为对应于所述第i个非根节点的全局唯一标识;其中,所述第i个非根节点的节点数组拼接在所述第i个非根节点的父节点的全局唯一标识的尾部。以下提供生成全局唯一标识的示例:
继续参考如2,节点“root”的局部排序值为1;节点“root”下的各个子节点(非根节点)“n2”、“n2”、“n3”、“n4”、“n5”一一对应局部排序值:1、2、3、4、5;节点“n1”下的各个子节点(非根节点)“n11”、“n12”、“n13”一一对应局部排序值:1、2、3;节点“n2”下的各个子节点(非根节点)“n21”、“n22”、“n23”一一对应局部排序值:1、2、3;节点“n5”下的各个子节点(非根节点)“n51”对应局部排序值:1。
这些局部排序值与各自节点的位置关联。以节点“root”为例:节点“root”作为根节点,为该根节点配置一个默认初始值,将该默认初始值作为节点“root”的局部排序值。以节点“n1”、“n2”、“n3”为例:节点“n1”作为节点“root”下的第一个节点,为该节点“n1”配置一个默认初始值,并将该默认初始值作为节点“n1”的局部排序值。节点“n2”作为节点“n1”之后的节点,以节点“n1”的局部排序值为基础按照预设规则执行加操作(如:加1,加100等),得到节点“n2”的局部排序值。节点“n3”作为节点“n2”之后的节点,以节点“n2”的局部排序值为基础按照预设规则执行加操作(如:加1,加100等),得到节点“n3”的局部排序值。以节点“n21”、“n22”、“n23”为例:节点“n21”作为节点“n2”下的第一个节点,为该节点“n21”配置一个默认初始值,并将该默认初始值作为节点“n21”的局部排序值。节点“n22”作为节点“n21”之后的节点,以节点“n21”的局部排序值为基础按照预设规则执行加操作(如:加1,加100等),得到节点“n22”的局部排序值。节点“n23”作为节点“n22”之后的节点,以节点“n22”的局部排序值为基础按照预设规则执行加操作(如:加1,加100等),得到节点“n23”的局部排序值。
这些局部排序值可以用于同一个父节点下的各个非根节点之间的优先级排序,但在树形结构整体层面容易导致优先级混乱,从导致对所述树形结构的管理效率低下。且新节点插入可能会对树形结构产生较大的影响,并且扩容时可能会造成死循环。
有鉴于此,本实施例对各个节点的局部排序值进行全局化、层级化和二进制值化。具体如下:
(1)对根节点而言:
根据节点“root”的局部排序值“1”通过位运算(与或,或者异或)生成64bits的二进制数值,将该二进制数值以16进制的形式存入8个byte数组中,以得到所述节点“root”的节点数组:[xBF xF0 NUL NUL NUL NUL NUL NUL]。NUL”表示“x00”。该节点数组即为节点“root”的全局唯一标识,亦即节点“root”在本树形结构中的优先级。
(2)对非根节点而言(以节点“n1”为例):
步骤一:根据节点“n1”的局部排序值“1”通过位运算(与或,或者异或)生成64bits的二进制数值,将该二进制数值以16进制的形式存入8个byte数组中,以得到节点“n1”的节点数组,如下:[xBF xF0 NUL NUL NUL NUL NUL NUL];
步骤二:将节点“n1”的父节点(即节点“root”)的全局唯一标识和节点“n1”的节点数组进行拼接,并将拼接结果作为对应于节点“n1”的全局唯一标识,如下:[xBF xF0 NULNUL NUL NUL NUL NUL xBF xF0 NUL NUL NUL NUL NUL NUL]。在该节点“n1”的全局唯一标识中,前8个byte数组继承自其父节点(即节点“root”),后8个byte数组根据节点“n1”的局部排序值转换得到。
可知,本实施例具有以下优势:
第一:每个非根节点会根据其父节点的优先级和自身所在位置的优先级,得到自身在树形结构中的全局唯一优先级。即,实现对各个节点的局部排序值的全局化。
第二:每层结构中的节点的全局唯一数组的byte数组的长度固定。因此,根据各个节点的全局唯一数组的byte数组的长度,可以确定各个节点所在的层数,以实现层级化。
第三:将各个节点的全局唯一标识以二进制数组的方式表示,可以预留很大的位置用于扩容并且能够在对树形结构影响较小的前提下快速地插入新节点,如:若将局部排序值转换为具有8个byte数组的二进制数组,则每个节点可以有264个子节点。
作为示例,如图5所示,所述树形结构配置方法还可以包括:步骤S500,响应于节点插入指令,根据所述新节点在所述树状结构中的插入点,确定所述新节点的父节点;步骤S502,根据所述新节点的局部排序值,得到所述新节点的节点数组;其中,所述新节点的局部排序值根据与所述新节点在同一父节点下的相邻节点的局部排序值确定;及步骤S504,将所述新节点的父节点的全局唯一标识和所述新节点的节点数组进行拼接,以得到所述新节点的全局唯一标识。举例而言,节点“n1”和节点“n2”均为节点“root”的子节点,节点“n1”的局部排序值为“1”,节点“n2”的局部排序值为“2”。若要在节点“n1”和节点“n2”之间插入一个新节点,则可以优选将新节点的局部排序值设置为“1.5”(即,节点“n1”的局部排序值和节点“n2”的局部排序值的中间平均值),这样有利于节点“n1”和所述新节点之间以及节点“n2”和所述新节点之间的后续节点插入。若所述新节点的局部排序值为“1.5”,则根据将所述新节点的局部排序值“1.5”生成64bits的二进制数值,将该二进制数值以16进制的形式存入8个byte数组中,以得到该新节点的节点数组;然后,将其父节点(即节点“root”)的全局唯一标识和所述新节点的节点数组进行组合,从而到该新节点的全局唯一标识。
可知,本实施例可以在树的任意位置插入新节点,对树形结构的扩展和收缩对树形结构的整体结构影响非常小,极大提升了树的查询修改效率,且有效地避免了以下问题:在现有的树形结构中,其涉及往往要考虑很多因素,如:节点的子节点有多少,是否要预留位置,能否在已存在的树形结构中插入节点各种问题。
需要说明的是,该新节点的插入可以包括如下两种方式:第一,尾部插入,如,插入到节点“n13”后面;第二,中间插入,如插入在节点“n11”和节点“n12”之间。
作为示例,所述树形结构基于tire树配置而成。基于tire树可以配置更为复杂的树形结构。
trie树,又称前缀树或字典树,是一种有序树,用于保存关联数组。一个节点的所有子孙都有相同的前缀(即,这个节点对应的字符串),而根节点对应空字符串。
作为示例,所述树形结构可以应用于场景中,例如:
(1)若应用于搜索场景,所述多个节点中的各个节点分别对应一个搜索分组。基于本实施例配置得到的树形性结构,可以实现高效地搜索、排序、比较等操作。所述搜索分组可以为用户分组,例如,以"特征"进行归类的多个用户分组。每个用户分组又可以进一步细分为一个或多个分组,从而形成对应于父子节点关系的分组。
(2)若应用于策略下发场景,所述多个节点中的各个节点分别对应一个终端分组。基于本实施例配置得到的树形性结构,可以实现高效地策略修改、执行等操作。
实施例二
图6示意性示出了根据本发明实施例二的树形结构配置系统的框图,该树形结构配置系统可以被分割成程序模块,一个或者多个程序模块被存储于存储介质中,并由处理器所执行,以完成本发明实施例。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图6所示,该树形结构配置系统600可以包括确定模块610、第一配置模块620和第二配置模块630。
确定模块610,用于确定用于配置所述树形结构的多个节点;
第一配置模块620,用于将所述多个节点中的一个节点配置为所述树形结构的根节点,并生成关联于所述根节点的全局唯一标识,所述关联于所述根节点的全局唯一标识用于表示所述根节点在所述树形结构中的优先级;
第二配置模块630,用于将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,所述关联于所述非根节点的全局唯一标识用于表示所述非根节点在所述树形结构中的优先级,所述非根节点为中间节点或叶子节点。
可选的,全局唯一标识包括用于表征层级的二进制数组,位于同一层结构中的各个节点的二进制数组的长度相同。
可选的,所述第二配置模块630还用于:
根据所述非根节点的父节点及各个所述非根节点,生成所述关联于所述非根节点的全局唯一标识;其中,所述非根节点的父节点为所述根节点或另一个非根节点。
可选的,同一个父节点下的各个非根节点分别配置有局部排序值,其中,该局部排序值用于区分该同一个父节点下的各个非根节点之间的优先顺序;所述将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,包括:
将第i个非根节点的局部排序值转换为相应的二进制数值,所述第i个非根节点为任一个非根节点;
将所述相应的二进制数值存入到预定长度的数组,以得到所述第i个非根节点的节点数组;及
将所述第i个非根节点的父节点的全局唯一标识和所述第i个非根节点的节点数组进行拼接,并将拼接结果作为对应于所述第i个非根节点的全局唯一标识;其中,所述第i个非根节点的节点数组拼接在所述第i个非根节点的父节点的全局唯一标识的尾部。
可选的,还包括节点插入模块(为标识),用于:
响应于节点插入指令,根据所述新节点在所述树状结构中的插入点,确定所述新节点的父节点;
根据所述新节点的局部排序值,得到所述新节点的节点数组;其中,所述新节点的局部排序值根据与所述新节点在同一父节点下的相邻节点的局部排序值确定;及
将所述新节点的父节点的全局唯一标识和所述新节点的节点数组进行拼接,以得到所述新节点的全局唯一标识。
可选的,所述树形结构基于tire树配置而成。
可选的,所述多个节点中的各个节点分别对应一个搜索分组;或所述多个节点中的各个节点分别对应一个终端分组。
实施例三
图7示意性示出了根据本发明实施例三的适于实现树形结构配置方法的计算机设备2的硬件架构示意图。本实施例中,计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,计算机设备2可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)、网关等。如图7所示,计算机设备2至少包括但不限于:可通过系统总线相互通信链接存储器710、处理器720、网络接口730。其中:
存储器710至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器710可以是计算机设备2的内部存储模块,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器710也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(SmartMedia Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器710还可以既包括计算机设备2的内部存储模块也包括其外部存储设备。本实施例中,存储器710通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如树形结构配置方法的程序代码等。此外,存储器710还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器720在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器720通常用于控制计算机设备2的总体操作,例如执行与计算机设备2进行数据交互或者通信相关的控制和处理等。本实施例中,处理器720用于运行存储器710中存储的程序代码或者处理数据。
网络接口730可包括无线网络接口或有线网络接口,该网络接口730通常用于在计算机设备2与其他计算机设备之间建立通信链接。例如,网络接口730用于通过网络将计算机设备2与外部终端相连,在计算机设备2与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图7仅示出了具有部件1410-1430的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器710中的树形结构配置方法还可以被分割为一个或者多个程序模块,并由处理器(本实施例为处理器720)所执行,以完成本发明实施例。
实施例四
本发明还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的树形结构配置方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中树形结构配置方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
实施例五
图8示意性示出了根据本发明实施例一的基于树形结构的搜索方法的流程图。所述树形结构包括多个节点,所述多个节点中的各个节点分别关联有用于表示优先级的全局唯一标识。
如图8所示,该基于树形结构的搜索方法可以包括:
步骤S800,响应于搜索请求,根据所述各个节点的全局唯一标识确定所述各个节点在所述树形结构中的优先级;
步骤S802,根据所述各个节点的优先级,确定所述各个节点的访问顺序;
步骤S804,根据所述各个节点的访问顺序遍历所述各个节点,以获取对应于所述搜索请求的一个或多个目标节点。
由于全局唯一标识用于表示节点的优先级,因此,在搜索过程中,可以通过所述树形结构中的各个节点的全局唯一标识,确定所述各个节点在所述树形结构中的优先级,并基于所述各个节点的优先级依次访问所述各个节点,提高搜索效率。
继续参考图2,在搜索过程中,各个节点的访问顺序如下:节点“root”→节点“n1”→节点“n2”→节点“n3”→节点“n4”→节点“n5”→节点“n11”→节点“n12”→节点“n13”→节点“n21”→节点“n22”→节点“n23”→节点“n51”。
另外,本发明还可以提供进一步可选方案,具体如下:
作为示例,所述每个节点分别对应一个搜索分组,每个搜索分别配置有用于搜索的分组名称。
作为示例,如图9所示,该基于树形结构的搜索方法还包括步骤S900:若目标节点的数量为多个,则根据各个目标节点的全局唯一标识确定所述各个目标节点的优先级,并根据所述各个目标节点的优先级确定所述各个目标节点的排列顺序。在本实施例中,在进行搜索结果的展示阶段,可以将高优先级的目标节点的内容排序在低优先级的目标节点的内容的前面,以优化搜索效果。
作为示例,可以实施全局搜索,也可以实施局部搜索。所述全局搜索为以根节点为起点,访问每个节点。所述局部搜索,为以其中一个非根节点为起点,访问该非根节点下的各个节点。当实施全局搜索时,搜索出的各个目标节点按照自身的全局唯一标识,对所述各个目标节点进行排序。当实施全局搜索时,搜索出的各个目标节点按照自身的全局唯一标识,对所述局部搜索中的各个目标节点进行排序。当实施多个局部搜索时,则展示与所述多个局部搜索一一对应的多组排序。
作为示例,全局唯一标识包括用于表征层级的二进制数组,位于同一层结构中的各个节点的二进制数组的长度相同。在本实施例中,所述树形结构的每个节点对应一个二进值数值。每层结构中的各个节点均为一个固定长度的二进制数组,来表示自身所在的层数,方便管理。
作为示例,所述树形结构通过以下操作配置得到:确定用于配置所述树形结构的多个节点;将所述多个节点中的一个节点配置为所述树形结构的根节点,并生成关联于所述根节点的全局唯一标识,所述关联于所述根节点的全局唯一标识用于表示所述根节点在所述树形结构中的优先级;将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,所述关联于所述非根节点的全局唯一标识用于表示所述非根节点在所述树形结构中的优先级,所述非根节点为中间节点或叶子节点。
作为示例,同一个父节点下的各个非根节点分别配置有局部排序值,其中,该局部排序值用于区分该同一个父节点下的各个非根节点之间的优先信息;所述将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,包括:将第i个非根节点的局部排序值转换为相应的二进制数值,所述第i个非根节点为任一个非根节点;将所述相应的二进制数值存入到预定长度的数组,以得到所述第i个非根节点的节点数组;及将所述第i个非根节点的父节点的全局唯一标识和所述第i个非根节点的节点数组进行拼接,并将拼接结果作为对应于所述第i个非根节点的全局唯一标识;其中,所述第i个非根节点的节点数组拼接在所述第i个非根节点的父节点的全局唯一标识的尾部。在本实施例中,对各个节点的局部排序值进行全局化、层级化和二进制值化。
实施例六
图10示意性示出了根据本发明实施例六的基于树形结构的策略下发方法的流程图。所述树形结构包括多个节点,各个节点分别关联有用于表示优先级的全局唯一标识。
如图10所示,该基于树形结构的策略下发方法可以包括:
步骤S1000,根据所述各个节点的全局唯一标识确定所述各个节点在所述树形结构中的优先级;及
步骤S1002,根据所述各个节点在所述树形结构中的优先级,以所述树形结构中的其中一个非叶子节点为起始节点,将所述目标策略依次下发至所述起始节点下的各个节点中,以使所述起始节点下的各个节点分别执行以下操作:执行所述目标策略或者修改所述目标策略并执行所述修改后的目标策略。
由于全局唯一标识用于表示节点的优先级,因此,在策略下发过程中,可以通过所述树形结构中的各个节点的全局唯一标识,确定所述各个节点在所述树形结构中的优先级,并基于所述各个节点的优先级将所述目标策略依次下发所述各个节点,提高下发效率、防止漏发,同时保证越靠近根节点的节点越早执行所述目标策略。
(1)所述非叶子节点可以是根节点,对所述目标策略全局下发,即下发到所述树形结构中的各个节点中。
继续参考图2,在策略下发过程中,以根节点为起点的下发顺序如下:节点“root”→节点“n1”→节点“n2”→节点“n3”→节点“n4”→节点“n5”→节点“n11”→节点“n12”→节点“n13”→节点“n21”→节点“n22”→节点“n23”→节点“n51”。
(2)所述非叶子节点可以是非根节点,对所述目标策略局部下发。例如,以节点“n1”为起点,将所述目标策略依次下发到:节点“n1”→节点“n11”→节点“n12”→节点“n13”。
在本实施例中,目标策略可以分为强策略和弱策略。
如果所述目标策略为所述强策略,则所述节点下的各个节点需强制性执行所述目标策略。也就是说,各个节点所执行的策略与作为起点的节点所执行的策略相同。
如果所述目标策略为所述弱策略,则所述各个节点可以分别执行以下操作:
根据与自身关联的全局唯一标识和与自身父节点关联的全局唯一标识,确定自身的优先级;当确定自身的优先级高于自身父节点的优先级时,则可以根据自身预设规则或自身实际情况,对所述目标策略进行修改,最后执行修改后的目标策略。以节点“n11”中的一个终端A为例,目标策略为“登录需要经过密码、人脸和指纹”。如果该终端A为一个不涉及机密的公用电脑,则可以降低加密等级,对该目标策略进行修改,例如修改为“仅密码登录”,并执行该修改后的目标策略。
作为示例,所述每个节点分别对应一个终端分组,每个终端分组中的各个终端分别用于策略的执行。基于本实施例配置得到的树形性结构,可以实现高效地策略修改、执行等操作。
作为示例,全局唯一标识包括用于表征层级的二进制数组,位于同一层结构中的各个节点的二进制数组的长度相同。在本实施例中,所述树形结构的每个节点对应一个二进值数值。每层结构中的各个节点均为一个固定长度的二进制数组,来表示自身所在的层数,方便管理。
作为示例,所述树形结构通过以下操作配置得到:确定用于配置所述树形结构的多个节点;将所述多个节点中的一个节点配置为所述树形结构的根节点,并生成关联于所述根节点的全局唯一标识,所述关联于所述根节点的全局唯一标识用于表示所述根节点在所述树形结构中的优先级;将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,所述关联于所述非根节点的全局唯一标识用于表示所述非根节点在所述树形结构中的优先级,所述非根节点为中间节点或叶子节点。
作为示例,同一个父节点下的各个非根节点分别配置有局部排序值,其中,该局部排序值用于区分该同一个父节点下的各个非根节点之间的优先信息;所述将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,包括:将第i个非根节点的局部排序值转换为相应的二进制数值,所述第i个非根节点为任一个非根节点;将所述相应的二进制数值存入到预定长度的数组,以得到所述第i个非根节点的节点数组;及将所述第i个非根节点的父节点的全局唯一标识和所述第i个非根节点的节点数组进行拼接,并将拼接结果作为对应于所述第i个非根节点的全局唯一标识;其中,所述第i个非根节点的节点数组拼接在所述第i个非根节点的父节点的全局唯一标识的尾部。在本实施例中,对各个节点的局部排序值进行全局化、层级化和二进制值化。
实施例七
图11示意性示出了根据本发明实施例七的基于树形结构的策略执行方法的流程图。需要说明的是,该基于树形结构的策略执行方法用于所述树形结构中多个节点的目标节点中,各个节点分别关联有用于表示优先级的全局唯一标识。
如图11所示,该基于树形结构的策略下发方法可以包括:
步骤S1100,接收所述目标节点的父节点下发的目标策略;
步骤S1102,若所述目标策略在所述目标节点中不需要被修改,则执行所述目标策略;
步骤S1104,若所述目标策略在所述目标节点中需要被修改,则比较所述目标节点的全局唯一标识和所述父节点的全局唯一标识,若根据比较结果确定所述父节点的优先级小于所述目标节点的优先级,则修改所述目标策略,并执行所述修改后的目标策略。
由于全局唯一标识用于表示节点的优先级,可以通过所述树形结构中的各个节点的全局唯一标识,确定所述目标节点和其父节点在所述树形结构中的优先级,并基于所述目标节点和其父节点的优先级比较结果,确定是否执行目标策略或修改目标策略。在本实施例中,以节点“n12”作为所述目标节点为例进行说明:当节点“n12”接收到其父节点“n1”下发的目标策略,节点“n12”会评估是否要对该目标策略做基于自身节点的修改。在本实施例中,若节点“n12”的优先级大于节点“n11”,则节点“n12”可以修改该目标策略,并执行该修改后的目标策略。
作为示例,全局唯一标识包括用于表征层级的二进制数组,位于同一层结构中的各个节点的二进制数组的长度相同。在本实施例中,所述树形结构的每个节点对应一个二进值数值。每层结构中的各个节点均为一个固定长度的二进制数组,来表示自身所在的层数,方便管理。
作为示例,所述树形结构通过以下操作配置得到:确定用于配置所述树形结构的多个节点;将所述多个节点中的一个节点配置为所述树形结构的根节点,并生成关联于所述根节点的全局唯一标识,所述关联于所述根节点的全局唯一标识用于表示所述根节点在所述树形结构中的优先级;将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,所述关联于所述非根节点的全局唯一标识用于表示所述非根节点在所述树形结构中的优先级,所述非根节点为中间节点或叶子节点。
作为示例,同一个父节点下的各个非根节点分别配置有局部排序值,其中,该局部排序值用于区分该同一个父节点下的各个非根节点之间的优先信息;所述根据所述各个非根节点的父节点及所述各个非根节点,为将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,包括:将第i个非根节点的局部排序值转换为相应的二进制数值,所述第i个非根节点为任一个非根节点;将所述相应的二进制数值存入到预定长度的数组,以得到所述第i个非根节点的节点数组;及将所述第i个非根节点的父节点的全局唯一标识和所述第i个非根节点的节点数组进行拼接,并将拼接结果作为对应于所述第i个非根节点的全局唯一标识;其中,所述第i个非根节点的节点数组拼接在所述第i个非根节点的父节点的全局唯一标识的尾部。在本实施例中,对各个节点的局部排序值进行全局化、层级化和二进制值化。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (19)
1.一种树形结构配置方法,其特征在于,所述方法包括:
确定用于配置所述树形结构的多个节点;
将所述多个节点中的一个节点配置为所述树形结构的根节点,并生成关联于所述根节点的全局唯一标识,所述关联于所述根节点的全局唯一标识用于表示所述根节点在所述树形结构中的优先级;
将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,所述关联于所述非根节点的全局唯一标识用于表示所述非根节点在所述树形结构中的优先级,所述非根节点为中间节点或叶子节点。
2.根据权利要求1所述的树形结构配置方法,其特征在于,全局唯一标识包括用于表征层级的二进制数组,位于同一层结构中的各个节点的二进制数组的长度相同。
3.根据权利要求1所述的树形结构配置方法,其特征在于,将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,包括:
根据所述非根节点的父节点及各个所述非根节点,生成所述关联于所述非根节点的全局唯一标识;其中,所述非根节点的父节点为所述根节点或另一个非根节点。
4.根据权利要求3所述的树形结构配置方法,其特征在于,同一个父节点下的各个非根节点分别配置有局部排序值,其中,该局部排序值用于区分该同一个父节点下的各个非根节点之间的优先顺序;所述根据所述非根节点的父节点及各个所述非根节点,生成所述关联于所述非根节点的全局唯一标识,包括:
将第i个非根节点的局部排序值转换为相应的二进制数值,所述第i个非根节点为任一个非根节点;
将所述相应的二进制数值存入到预定长度的数组,以得到所述第i个非根节点的节点数组;及
将所述第i个非根节点的父节点的全局唯一标识和所述第i个非根节点的节点数组进行拼接,并将拼接结果作为对应于所述第i个非根节点的全局唯一标识;其中,所述第i个非根节点的节点数组拼接在所述第i个非根节点的父节点的全局唯一标识的尾部。
5.根据权利要求4所述的树形结构配置方法,其特征在于,还包括:
响应于节点插入指令,根据所述新节点在所述树状结构中的插入点,确定所述新节点的父节点;
根据所述新节点的局部排序值,得到所述新节点的节点数组;其中,所述新节点的局部排序值根据与所述新节点在同一父节点下的相邻节点的局部排序值确定;及
将所述新节点的父节点的全局唯一标识和所述新节点的节点数组进行拼接,以得到所述新节点的全局唯一标识。
6.根据权利要求1至5任意一项所述的形结构配置方法,其特征在于:
所述树形结构基于tire树配置而成。
7.根据权利要求1至5任意一项所述的形结构配置方法,其特征在于:
所述多个节点中的各个节点分别对应一个搜索分组;或
所述多个节点中的各个节点分别对应一个终端分组。
8.一种树形结构配置系统,其特征在于,包括:
确定模块,用于确定用于配置所述树形结构的多个节点;
第一配置模块,用于将所述多个节点中的一个节点配置为所述树形结构的根节点,并生成关联于所述根节点的全局唯一标识,所述关联于所述根节点的全局唯一标识用于表示所述根节点在所述树形结构中的优先级;
第二配置模块,用于将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,所述关联于所述非根节点的全局唯一标识用于表示所述非根节点在所述树形结构中的优先级,所述非根节点为中间节点或叶子节点。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至7中任一项所述的树形结构配置的步骤。
10.一种计算机可读存储介质,其特征在于,其内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至7中任一项所述的树形结构配置方法的步骤。
11.一种基于树形结构的搜索方法,其特征在于,所述树形结构包括多个节点,所述多个节点中的各个节点分别关联有用于表示优先级的全局唯一标识;所述方法包括:
响应于搜索请求,根据所述各个节点的全局唯一标识确定所述各个节点在所述树形结构中的优先级;
根据所述各个节点的优先级,确定所述各个节点的访问顺序;及
根据所述各个节点的访问顺序遍历所述各个节点,以获取对应于所述搜索请求的一个或多个目标节点。
12.根据权利要求11所述的基于树形结构的搜索方法,其特征在于:
所述每个节点分别对应一个搜索分组,每个搜索分组分别配置有用于搜索的分组名称。
13.根据权利要求11所述的基于树形结构的搜索方法,其特征在于,还包括:
若目标节点的数量为多个,则根据各个目标节点的全局唯一标识确定所述各个目标节点的优先级,并根据所述各个目标节点的优先级确定所述各个目标节点的排列顺序。
14.根据权利要求11所述的基于树形结构的搜索方法,其特征在于,全局唯一标识包括用于表征层级的二进制数组,位于同一层结构中的各个节点的二进制数组的长度相同。
15.根据权利要求11所述的基于树形结构的搜索方法,其特征在于,所述树形结构通过以下操作配置得到:
确定用于配置所述树形结构的多个节点;
将所述多个节点中的一个节点配置为所述树形结构的根节点,并生成关联于所述根节点的全局唯一标识,所述关联于所述根节点的全局唯一标识用于表示所述根节点在所述树形结构中的优先级;
将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,所述关联于所述非根节点的全局唯一标识用于表示所述非根节点在所述树形结构中的优先级,所述非根节点为中间节点或叶子节点。
16.根据权利要求15所述的基于树形结构的搜索方法,其特征在于,同一个父节点下的各个非根节点分别配置有局部排序值,其中,该局部排序值用于区分该同一个父节点下的各个非根节点之间的优先顺序;所述将所述多个节点中的其他节点配置为所述树形结构的非根节点,并生成关联于所述非根节点的全局唯一标识,包括:
将第i个非根节点的局部排序值转换为相应的二进制数值,所述第i个非根节点为任一个非根节点;
将所述相应的二进制数值存入到预定长度的数组,以得到所述第i个非根节点的节点数组;及
将所述第i个非根节点的父节点的全局唯一标识和所述第i个非根节点的节点数组进行拼接,并将拼接结果作为对应于所述第i个非根节点的全局唯一标识;其中,所述第i个非根节点的节点数组拼接在所述第i个非根节点的父节点的全局唯一标识的尾部。
17.一种基于树形结构的策略下发方法,其特征在于,所述树形结构包括多个节点,各个节点分别关联有用于表示优先级的全局唯一标识;所述方法包括:
根据所述各个节点的全局唯一标识确定所述各个节点在所述树形结构中的优先级;及
根据所述各个节点在所述树形结构中的优先级,以所述树形结构中的其中一个非叶子节点为起始节点,将所述目标策略依次下发至所述起始节点下的各个节点中,以使所述起始节点下的各个节点分别执行以下操作:执行所述目标策略或者修改所述目标策略并执行所述修改后的目标策略。
18.根据权利要求17所述的基于树形结构的策略执行方法,其特征在于:
所述每个节点分别对应一个终端分组,每个终端分组中的各个终端分别用于策略的执行。
19.一种基于树形结构的策略执行方法,其特征在于,用于所述树形结构中多个节点的目标节点中,各个节点分别关联有用于表示优先级的全局唯一标识;所述方法包括:
接收所述目标节点的父节点下发的目标策略;
若所述目标策略在所述目标节点中不需要被修改,则执行所述目标策略;
若所述目标策略在所述目标节点中需要被修改,则比较所述目标节点的全局唯一标识和所述父节点的全局唯一标识,若根据比较结果确定所述父节点的优先级小于所述目标节点的优先级,则修改所述目标策略,并执行所述修改后的目标策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110418217.4A CN115221360A (zh) | 2021-04-19 | 2021-04-19 | 树形结构配置方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110418217.4A CN115221360A (zh) | 2021-04-19 | 2021-04-19 | 树形结构配置方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115221360A true CN115221360A (zh) | 2022-10-21 |
Family
ID=83604511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110418217.4A Pending CN115221360A (zh) | 2021-04-19 | 2021-04-19 | 树形结构配置方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115221360A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116680252A (zh) * | 2023-06-13 | 2023-09-01 | 智研汇(上海)科技有限公司 | 树形数据结构及其节点批量移动方法 |
-
2021
- 2021-04-19 CN CN202110418217.4A patent/CN115221360A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116680252A (zh) * | 2023-06-13 | 2023-09-01 | 智研汇(上海)科技有限公司 | 树形数据结构及其节点批量移动方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112287182B (zh) | 图数据存储、处理方法、装置及计算机存储介质 | |
US10073876B2 (en) | Bloom filter index for device discovery | |
CN106874348B (zh) | 文件存储和索引方法、装置及读取文件的方法 | |
CN105989015B (zh) | 一种数据库扩容方法和装置以及访问数据库的方法和装置 | |
CN114491172B (zh) | 树形结构节点的快速检索方法、装置、设备及存储介质 | |
CN113326264A (zh) | 数据处理方法、服务器及存储介质 | |
CN115525580A (zh) | 一种namespace设置方法、装置及可读存储介质 | |
CN112817538A (zh) | 数据处理的方法、装置、设备和存储介质 | |
CN110569218B (zh) | 一种ext文件系统离线修改方法、装置及存储介质 | |
CN111813517A (zh) | 任务队列的分配方法、装置、计算机设备及介质 | |
CN109460406B (zh) | 一种数据处理方法及装置 | |
CN115221360A (zh) | 树形结构配置方法和系统 | |
CN112835638A (zh) | 一种基于嵌入式应用程序的配置信息管理方法及装置 | |
CN115964002B (zh) | 一种电能表终端档案管理方法、装置、设备及介质 | |
CN116842012A (zh) | 一种Redis集群的分片存储方法、装置、设备及存储介质 | |
CN112988278B (zh) | 资源文件的meta文件修改方法、装置、电子设备及存储介质 | |
CN116010345A (zh) | 一种实现流批一体数据湖的表服务方案的方法、装置及设备 | |
CN114048219A (zh) | 图数据库更新方法及装置 | |
CN112527780A (zh) | Redis集群的创建与管理方法、系统、计算机设备和存储介质 | |
CN114443583A (zh) | 一种碎片空间整理方法、装置、设备及存储介质 | |
CN113342647A (zh) | 一种测试数据的生成方法及装置 | |
CN101930451B (zh) | 用于存储高效地搜索至少一个询问数据元素的方法和装置 | |
CN114443598A (zh) | 写数据方法、装置、计算机设备及存储介质 | |
CN110968267A (zh) | 数据管理方法、装置、服务器及系统 | |
CN111966691B (zh) | 一种分布式存储系统快速查询对象所属目录的配置方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |