一种目录变更方法及装置与流程

文档序号:31733926发布日期:2022-10-05 02:57阅读:61来源:国知局
一种目录变更方法及装置与流程

1.本技术涉及数据处理技术领域,特别是涉及一种目录变更方法及装置。


背景技术:

2.随着互联网技术的发展,许多内容的分类、结构、信息可以通过建立目录进行展示。举例而言,银行出于自身产品的管理,可以建立统一的银行产品目录,以便用户根据此目录明确银行产品的分类、结构、信息等标准。对于产品目录,一般在建立该目录的同时还建立相应的管控和维护机制。
3.产品目录每一次变化会进行一次记录,一天一次或者多次变化会形成产品目录的历史版本。比如前天有产品下架后,产品目录在下架后将不会显示此产品。但是如果此时需要查询前天的产品目录将还是可以看到此产品在目录内的这一历史版本。每日产品目录都可能有大量产品信息或者状态变化。需要建立一套机制记录整个产品目录每个层级的节点以及节点间的关系,以满足随时可查询任意一个产品目录历史版本的需求。当前为了满足以上需求,尽管历史版本记录得详细,但是往往忽略了数据量的增长。这些不同历史版本的产品目录因数据量较大,带来了存储困难的问题。在查询时也容易导致查询过程迟缓和卡顿,影响用户对于产品目录的使用体验。


技术实现要素:

4.基于上述问题,本技术提供了一种目录变更方法及装置,旨在以较小的数据量增长代价实现产品目录历史版本的灵活查询。
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.根据所述展示请求,以树状结构展示所述当前目录。
37.在一种可选的实现方式中,所述目录的结构至少包括以下四个层级:
38.产品线、产品组、基础产品和可售产品。
39.本技术第二方面提供了一种目录变更装置,所述目录的结构包括多个层级,每个层级包括至少一个节点,所述装置包括:
40.第一请求接收模块,用于接收对于所述目录的变更请求;
41.信息确定模块,用于根据所述变更请求确定对所述目录的变更操作类型和变更信息,所述变更信息包括目标节点的关联信息;
42.目录变更模块,用于基于所述变更信息,在数据库中对所述目录的数据执行与所述变更操作类型对应的变更操作,并在所述数据库中生成包含所述变更操作的关联信息的记录;所述变更操作的关联信息包括:所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志。
43.在一种可选的实现方式中,所述目标节点的关联信息包括:所述目标节点的编号
和所述目标节点的父节点的编号;所述装置还包括:
44.第二请求接收模块,用于接收对所述目录的历史版本查询请求;所述历史版本查询请求包括:目标父节点的编号、目标日期和目标时间;
45.记录查询模块,用于根据所述目标父节点的编号、所述目标日期和所述目标时间,在所述数据库中查询父节点的编号与所述目标父节点的编号一致且最后一次变更操作的操作日期和操作时间不晚于所述目标日期所述目标时间的所有子节点的记录;
46.记录分组模块,用于基于子节点的编号对所述所有子节点的记录进行分组获得所述所有子节点一一对应的记录集合;
47.第一筛选模块,用于对于每一个记录集合,筛选出记录集合中操作日期和操作时间最晚的一条记录;
48.第二筛选模块,用于将所有所述记录集合中筛选出的所述最晚的一条记录中历史可见性标志指示不可见的记录过滤掉;
49.历史版本目录展示模块,用于根据所有所述记录集合中过滤后剩余的记录展示历史版本的目录。
50.相较于现有技术,本技术具有以下有益效果:
51.本技术技术方案中,首先接收对于目录的变更请求;接着根据变更请求确定对目录的变更操作类型和变更信息,变更信息包括目标节点的关联信息;接着基于变更信息,在数据库中对目录的数据执行与变更操作类型对应的变更操作,并在数据库中生成包含变更操作的关联信息的记录。由于每次变更只记录很少数据量的一部分信息,例如变更操作的操作日期和操作时间,以及目标节点在操作日期操作时间对应的历史可见性标志,因此可以通过较少的数据量实现对于目录的历史版本的记录。可解决记录历史版本时的数据存储困难问题。并且,通过较少数据量的记录,在用户查询产品目录的历史版本时也不容易造成迟缓和卡顿。以此,可提升用户对于产品目录的使用体验。
附图说明
52.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
53.图1为本技术实施例提供的一种目录变更方法的流程图;
54.图2为本技术实施例提供的另一种目录变更方法的流程图;
55.图3为本技术实施例提供的一种目录变更装置的结构示意图;
56.图4为本技术实施例提供的另一种目录变更装置的结构示意图。
具体实施方式
57.正如前文描述,随着产品迭代更新日益频繁的趋势,为了更准确地了解产品的变化,有必要保存产品目录的各个历史版本。但是历史版本的保存往往意味着需要存储大量的历史数据,这影响了产品数据的存储性能和读取性能。如何以较小的数据量为代价实现产品目录更新和记录成为亟待解决的问题。
58.对此,发明人经过研究提供了一种目录变更方法及装置。接收对于目录的变更请求;根据变更请求确定对目录的变更操作类型和变更信息,变更信息包括目标节点的关联信息;基于变更信息,在数据库中对目录的数据执行与变更操作类型对应的变更操作,并在数据库中生成包含变更操作的关联信息的记录。由于记录的信息仅涉及小数据量的信息,例如变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志,因此,降低了产品目录变更是为了后续呈现产品目录的历史版本所需记录的数据量。解决了上文提及的技术问题。
59.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
60.本技术实施例提及的目录的结构包括多个层级,每个层级包括至少一个节点。作为示例,目录的结构至少包括以下四个层级:产品线、产品组、基础产品和可售产品。整个产品线下分多个产品组,每个产品组至少包括一项基础产品。基础产品下分有可售产品。随产品的变化调整,产品目录的结构也可能发生变化。例如产品目录结构的某产品线包括3个产品组,随着产品研发力量的上升,在原有的3个产品组的基础上又增加了1个产品组;或者,某项基础产品原拥有5种可售产品,但是后来2中可售产品停售,这项变化也可以反映到产品目录中。
61.本技术技术方案中,一项比较重要的技术需求是,在完成目录变更的基础上,还可以支持用户对于目录的历史版本的查询。下面结合图1介绍方案的实现过程。参见图1,该图为本技术实施例提供的一种目录变更方法的流程图。如图1所示的目录变更方法中,包括:
62.步骤101,接收对于所述目录的变更请求。
63.目录的变更请求是触发目录变更的请求。例如,当目录的结构中任一节点或者节点之间的关系需要发生变更时,无论是新增、删除或是维护,均可以通过目录的变更请求实现。
64.本技术实施例中各步骤的执行具体可以由终端设备或者服务器实现。以终端设备实现为例,在另一终端设备上提供了由用户触发来生成目录的变更请求的交互界面。两个终端设备相互之间可通信。用户可以在另一终端设备上根据对目录的变更需求生成变更请求。在示例实现方式中,用户可通过操作选中特定的目录中特定层级的节点作为目标节点,并根据提示或者多种变更操作类型的选项,生成该项变更请求。如此一来,前一提及的终端设备可以通过通信接收从另一终端设备发来的变更请求并完成处理。在其他实现方式中,上文描述的两个终端设备还可以通过一个设备来实现。
65.步骤102,根据所述变更请求确定对所述目录的变更操作类型和变更信息。
66.在本技术实施例中,由于变更请求是在明确了变更操作类型和变更信息的具体需求的基础上生成并发送而来的,因此,本步骤中根据变更请求便可以确定出对目录的变更操作类型与变更信息。
67.变更操作类型是对目录的变更操作本质方式或本质目的的概括性表示。此处,作为示例,变更操作类型可以包括:新增、删除、维护节点归属关系或修正节点信息。此处仅示例出四种变更操作类型,实际应用中,还可以进行其他变更操作类型的变更操作,本技术实
施例中不做限制。
68.根据变更请求确定的变更信息可以包括目标节点的关联信息。目标节点是指变更当前目录主要针对的节点。由于对目录的变更操作往往是针对目录中节点或者节点之间关系的变更操作,同时相邻层级之间的节点往往具有父子节点的关系,因此本技术实施例中,目标节点的关联信息可以包括:目标节点的编号和目标节点的父节点的编号。目标节点的关联信息与具体的变更操作类型相关,在其他可能的变更操作类型下,目标节点的关联信息还可以是:目标节点的编号和所述目标节点的新的父节点的编号,或者是所述目标节点的编号、所述目标节点的父节点的编号、所述目标节点的目标待修正信息的类型和所述类型相关的目标修正后信息。此处对于目标节点的关联信息不做限定。
69.在整个目录中,不同的节点具有各自唯一对应的标号。如下表1中所示的,自左侧开始第一列catalogid表示节点的编号,第二列name表示第一列的节点的名称,第三列precatgalogid表示第一列所代表的节点的父节点的编号。作为示例,如表1所示,某节点的编号为b001,其名称为普通存款,其隶属于编号为a001的父节点之下,父节点的名称为存款。
70.表1
[0071][0072]
步骤103,基于所述变更信息,在数据库中对所述目录的数据执行与所述变更操作类型对应的变更操作,并在所述数据库中生成包含所述变更操作的关联信息的记录。
[0073]
由于在步骤102中已经确定对所述目录的变更操作类型和变更信息,因此,相当于已知了需要对目录的变更的“操作指南”。基于此,便可以进行对目录的数据的变更操作。进行完变更操作后,可以在数据库中生成包含变更操作的关联信息的记录。此记录的数据量小,这是因为所述变更操作的关联信息包括:所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志。其中,操作日期和操作时间在时间维度上完成对变更操作的准确记录。历史可见性标志则以简洁、清晰、明了的方式,辅助识别节点在产品目录的历史版本中的存在与否。
[0074]
即,本技术实施例中,在记录的内容中不会重复出现目录中的诸多层级结构和未发生变化的节点信息。如此,大大节省了数据量。因此可以通过较少的数据量实现对于目录的历史版本的记录。可解决记录历史版本时的数据存储困难问题。并且,通过较少数据量的记录,在用户查询产品目录的历史版本时也不容易造成迟缓和卡顿。以此,可提升用户对于产品目录的使用体验。
[0075]
前面介绍了变更操作的关联信息包括:所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志。为了便于理解,以表2介绍变更操作的关联信息。在表2中自左向右的各列catalogid,name,precatgalogid,historyeffect,last_up_data,last_up_data分别代表节点编号、节点名称、父节点编号、历史可见性标志、第一列的节点(若作为目标节点)的变更操作的变更日期、第一列节点(若作为目标节点)的变更操作的变更时间。结合表2不难发现,编号为a001,b001,c001,e001,f001的节点被同一日期d1同一时刻t1加入到目录中,编号f002的节点于日期d2时刻t2被加入到目录中。在示例实现方式中,历史可见性标志为1或0分别代表可见或不可见。
[0076]
表2
[0077][0078]
此外,变更操作的关联信息还可以进一步包括目标节点在所述操作日期所述操作时间对应的节点可见性标志。节点可见性标志为1或0分别代表可见或不可见。
[0079]
下面结合4种不同的变更操作类型对步骤103的实现方式进行介绍。
[0080]
(1)当所述变更操作类型为新增时,目标节点的关联信息包括:所述目标节点的编号和所述目标节点的父节点的编号。也就是说,为了实现新增的操作,需要已知待新增的节点及其父节点的编号。本步骤103可以包括:
[0081]
在所述数据库中新增一条关于所述目标节点的记录;所述关于所述目标节点的记录包括:所述目标节点的编号,所述目标节点的父节点的编号,所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志和节点可见性标志;其中,所述历史可见性标志指示可见,所述节点可见性标志指示可见。
[0082]
表3中展示了新增的节点的记录。相比于表2所示的各列,还增加了一列表示节点可见性标志的列effect和一列表示节点在目录中的自上而下的层级编号layer。
[0083]
表3
[0084][0085]
(2)当所述变更操作类型为删除时,目标节点的关联信息包括:所述目标节点的编号和所述目标节点的父节点的编号,也就是说,为了实现删除的操作,需要已知待删除的节点及其父节点的编号。本步骤103可以包括:
[0086]
在所述数据库中新增一条关于所述目标节点的记录;所述关于所述目标节点的记录包括:所述目标节点的编号,所述目标节点的父节点的编号,所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志和节点可见性标志;其中,所述历史可见性标志指示不可见,所述节点可见性标志指示不可见;
[0087]
所述方法还包括:将所述数据库中所述目标节点早于所述操作日期所述操作时间的记录中的节点可见性标志变更为指示不可见。
[0088]
表4
[0089][0090]
表5
[0091][0092]
表4与表5的对照反映出上述删除操作带来的记录上的变化。两个表中,节点f002作为目标节点。对于该节点,表4表示的删除前的记录,表5表示的删除后的记录。结合表5和表4不难发现,相比于表4中记录的对节点f002的新增操作,在表5中又记录了表4基础上对于该节点f002的删除操作。并且,在记录删除操作时,记录了操作日期d3和操作时间t3,将所述目标节f002点在d3t3对应的历史可见性标志和节点可见性标志均置为0,即不可见。将目标节点f002早于所述操作日期d3所述操作时间t3的记录中的节点可见性标志变更为0(参见倒数第二行),即指示不可见。通过上述记录,能够使目录中的节点f002处于不可见的状态,并且通过记录也能追溯其发生新增或删除变化的具体时间,使其历史状态和被执行的变更操作类型可追溯。表5的节点f002在目录中删除的操作,其记录效果可以理解为产品“美元个人普通活期存款”停售。停售的产品还可以被重新开售,例如表6所示。
[0093]
表6
[0094][0095]
结合表6中所示,节点f002在d5t5被重新恢复可见性。在d5t5的操作中,其节点可见性标志和历史可见性标志均被置为1(即可见)。
[0096]
(3)目录中的节点之间的归属关系是可以发生变更以维护的。例如当所述变更操作类型为维护节点归属关系时,目标节点的关联信息包括:所述目标节点的编号和所述目标节点的新的父节点的编号。也就是说,为了实现变更节点归属关系的操作,需要已知子节点和其新的父节点的编号。
[0097]
维护可以分解为先删除再新增的过程。本步骤103可以包括:
[0098]
在所述数据库中新增一条关于删除所述目标节点的当前归属关系的记录;所述关于删除所述目标节点的当前归属关系的记录包括:所述目标节点的编号,所述目标节点的当前归属关系中父节点的编号,所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志和节点可见性标志,其中所述历史可见性标志指示不可见,所述节点可见性标志指示不可见。
[0099]
并且,将所述数据库中所述目标节点早于所述操作日期所述操作时间且具有所述当前归属关系的记录中的节点可见性标志变更为指示不可见。
[0100]
根据所述目标节点的编号和所述目标节点的新的父节点的编号,在所述数据库中新增一条关于创建所述目标节点的新归属关系的记录;所述关于创建所述目标节点的新归属关系的记录包括:所述目标节点的编号,所述目标节点的新的父节点的编号,所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志和节点可见性标志,其中所述历史可见性标志指示可见,所述节点可见性标志指示可见。
[0101]
通过以上步骤实现了在数据库中对于目标节点的节点归属关系的调整变更。
[0102]
(4)当所述变更操作类型为修正节点信息时,目标节点的关联信息包括:所述目标节点的编号、所述目标节点的父节点的编号、所述目标节点的目标待修正信息的类型和所述类型相关的目标修正后信息。作为示例,修正节点信息具体可以是修正节点的名称,例如修正前目标节点的名称是“日元个人普通活期存款”,目标修正后信息为“日币个人普通活期存款”。
[0103]
本步骤103可以包括:
[0104]
在所述数据库中新增一条关于删除所述目标节点的所述目标待修正信息的记录;所述关于删除所述目标节点的所述目标待修正信息的记录包括:所述目标节点的编号,所述目标节点的父节点的编号,所述目标待修正信息,所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志和节点可见性标志,其中所述历史可见性标志指示不可见,所述节点可见性标志指示不可见;
[0105]
将所述数据库中所述目标节点早于所述操作日期所述操作时间且具有所述目标待修正信息的记录中的节点可见性标志变更为指示不可见;
[0106]
在所述数据库中新增一条关于创建所述目标节点的所述目标修正后信息的记录;所述关于创建所述目标节点的所述目标修正后信息的记录包括:所述目标节点的编号,所述目标节点的父节点的编号,所述目标修正后信息,所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志和节点可见性标志,其中所述历史可见性标志指示可见,所述节点可见性标志指示可见。
[0107]
通过以上步骤实现了在数据库中对于目标节点的特定类型的信息的修正。
[0108]
为了应对目录的历史版本查询需求,本技术结合图2进一步介绍另一种目录变更方法。如图2所示的目录变更方法包括:
[0109]
步骤201-步骤203。其中步骤201-203的实现方式与前述实施例步骤101-103的实现方式基本相同,因此相关描述可以参照前文介绍过的实施例,此处不再赘述。
[0110]
步骤204,接收对目录的历史版本查询请求。
[0111]
其中,历史版本查询请求包括:目标父节点的编号、目标日期和目标时间。目标父节点的编号、目标日期以及目标时间已知,便可有助于准确查找目录的特定历史版本。
[0112]
实际应用中,用户可以输入目标父节点的编号、目标日期和目标时间,并点击查询历史版本的确认控件生成对目录的历史版本查询请求。从而设备可以接收上述内容。
[0113]
步骤205,根据目标父节点的编号、目标日期和目标时间,在数据库中查询父节点的编号与目标父节点的编号一致且最后一次变更操作的操作日期和操作时间不晚于目标日期目标时间的所有子节点的记录。
[0114]
依据这些信息,设备可以将目标日期和目标时间作为截止日期和时间,查询父节点的编号与目标父节点的编号一致且最后一次变更操作的操作日期和操作时间不晚于目标日期目标时间的所有子节点的记录。本步骤相当于圈定了所查询的目录历史版本的时间范围,圈定了与目标父节点有关联的发生了变更操作的子节点。
[0115]
步骤206,基于子节点的编号对所有子节点的记录进行分组获得所有子节点一一对应的记录集合。
[0116]
依照子节点的编号对记录分组,有益于实现变更操作的记录的准确分类。实现记录与子节点的准确关联。
[0117]
步骤207,对于每一个记录集合,筛选出记录集合中操作日期和操作时间最晚的一条记录。
[0118]
也就是说,每一个记录集合中可能包含一条记录,也可能包含多条记录。对于目标父节点的每一个子节点,都要调取其记录集合中距离目标日期目标时间最近的一次被变更的记录。最近的记录能够更加真实地反映
[0119]
步骤208,将所有记录集合中筛选出的最晚的一条记录中历史可见性标志指示不可见的记录过滤掉。
[0120]
历史可见性指示不可见,表明这条变更操作记录的节点不应当显示在目标日期目标时间查询的目录历史版本中。因此,需要将其过滤,避免对版本查询正确性造成影响。
[0121]
步骤209,根据所有记录集合中过滤后剩余的记录展示历史版本的目录。
[0122]
也就是说,最后展示的历史版本的目录中,包含与所关注的父节点相关的所有发生变更且在目标日期目标时间处于可见状态的节点。
[0123]
为了便于理解上述实施例介绍的方案,下面进行示例说明。
[0124]
输入父节点编号x和过去某一个日期时间diti,对于任何一个节点x,先根据父节点编号=x且最后更新日期时间小于或等于diti筛选数据库中所有记录;对于上一步的所有记录,按照当前节点编号进行分组,如果当前节点编号对于有多条记录的,则取时间最近的那一条记录;对于上一步的所有记录,再根据“历史可见性标志为可见”筛选一次,最后的输出筛选后的所有记录;以此类推可展示产品线、产品组、基础产品、可售产品四层所有节点的信息,即还原出整个产品目录历史版本的展示。
[0125]
在本技术实施例介绍的目录变更方法中,还可以包括:
[0126]
接收对于当前目录的展示请求;
[0127]
根据展示请求,以树状结构展示当前目录。
[0128]
举例而言,当需要展示当前目录时,输入父节点编号x,对于任何一个节点x,可根据父节点编号=x且可见性标志为可见来筛选数据库中所有节点x的子节点记录用于输出。以此类推可展示产品线、产品组、基础产品、可售产品四层所有节点的信息,即还原出当前整个产品目录的展示。
[0129]
本技术针对银行产品目录,提供了一个能展示灵活多变、多层级结构、多历史版本的产品目录的处理方法及装置,以最小的数据量增长代价来实现产品目录历史版本还原。
[0130]
基于前述实施例介绍的目录变更方法,相应地,本技术还提供一种目录变更装置。图3为一种目录变更装置的结构示意图。如图3所示的目录变更装置包括:
[0131]
第一请求接收模块301,用于接收对于所述目录的变更请求;
[0132]
信息确定模块302,用于根据所述变更请求确定对所述目录的变更操作类型和变更信息,所述变更信息包括目标节点的关联信息;
[0133]
目录变更模块303,用于基于所述变更信息,在数据库中对所述目录的数据执行与所述变更操作类型对应的变更操作,并在所述数据库中生成包含所述变更操作的关联信息的记录;所述变更操作的关联信息包括:所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志。
[0134]
可选地,所述目标节点的关联信息包括:所述目标节点的编号和所述目标节点的父节点的编号;如图4所示的目录变更装置的结构,其还可以包括:
[0135]
第二请求接收模块401,用于接收对所述目录的历史版本查询请求;所述历史版本查询请求包括:目标父节点的编号、目标日期和目标时间;
[0136]
记录查询模块402,用于根据所述目标父节点的编号、所述目标日期和所述目标时间,在所述数据库中查询父节点的编号与所述目标父节点的编号一致且最后一次变更操作的操作日期和操作时间不晚于所述目标日期所述目标时间的所有子节点的记录;
[0137]
记录分组模块403,用于基于子节点的编号对所述所有子节点的记录进行分组获得所述所有子节点一一对应的记录集合;
[0138]
第一筛选模块404,用于对于每一个记录集合,筛选出记录集合中操作日期和操作时间最晚的一条记录;
[0139]
第二筛选模块405,用于将所有所述记录集合中筛选出的所述最晚的一条记录中历史可见性标志指示不可见的记录过滤掉;
[0140]
历史版本目录展示模块406,用于根据所有所述记录集合中过滤后剩余的记录展示历史版本的目录。
[0141]
可选地,所述目标节点的关联信息包括:所述目标节点的编号和所述目标节点的父节点的编号;
[0142]
当所述变更操作类型为新增时,所述目录变更模块303,具体用于:
[0143]
在所述数据库中新增一条关于所述目标节点的记录;所述关于所述目标节点的记录包括:所述目标节点的编号,所述目标节点的父节点的编号,所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志和节点可见性标志;其中,所述历史可见性标志指示可见,所述节点可见性标志指示可见。
[0144]
可选地,所述目标节点的关联信息包括:所述目标节点的编号和所述目标节点的父节点的编号;
[0145]
当所述变更操作类型为删除时,所述目录变更模块303,具体用于:
[0146]
在所述数据库中新增一条关于所述目标节点的记录;所述关于所述目标节点的记录包括:所述目标节点的编号,所述目标节点的父节点的编号,所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志和节点可见性标志;其中,所述历史可见性标志指示不可见,所述节点可见性标志指示不可见;
[0147]
所述装置还包括:标志变更模块,用于将所述数据库中所述目标节点早于所述操作日期所述操作时间的记录中的节点可见性标志变更为指示不可见。
[0148]
可选地,所述目标节点的关联信息包括:所述目标节点的编号和所述目标节点的新的父节点的编号;
[0149]
当所述变更操作类型为维护节点归属关系时,所述目录变更模块303,具体用于:
[0150]
在所述数据库中新增一条关于删除所述目标节点的当前归属关系的记录;所述关于删除所述目标节点的当前归属关系的记录包括:所述目标节点的编号,所述目标节点的当前归属关系中父节点的编号,所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志和节点可见性标志,其中所述历史可见性标志指示不可见,所述节点可见性标志指示不可见;
[0151]
将所述数据库中所述目标节点早于所述操作日期所述操作时间且具有所述当前归属关系的记录中的节点可见性标志变更为指示不可见;
[0152]
根据所述目标节点的编号和所述目标节点的新的父节点的编号,在所述数据库中新增一条关于创建所述目标节点的新归属关系的记录;所述关于创建所述目标节点的新归属关系的记录包括:所述目标节点的编号,所述目标节点的新的父节点的编号,所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志和节点可见性标志,其中所述历史可见性标志指示可见,所述节点可见性标志指示可见。
[0153]
可选地,所述目标节点的关联信息包括:所述目标节点的编号、所述目标节点的父节点的编号、所述目标节点的目标待修正信息的类型和所述类型相关的目标修正后信息;
[0154]
当所述变更操作类型为修正节点信息时,所述目录变更模块303,具体用于:
[0155]
在所述数据库中新增一条关于删除所述目标节点的所述目标待修正信息的记录;所述关于删除所述目标节点的所述目标待修正信息的记录包括:所述目标节点的编号,所述目标节点的父节点的编号,所述目标待修正信息,所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志和节点可见性标志,其中所述历史可见性标志指示不可见,所述节点可见性标志指示不可见;
[0156]
将所述数据库中所述目标节点早于所述操作日期所述操作时间且具有所述目标待修正信息的记录中的节点可见性标志变更为指示不可见;
[0157]
在所述数据库中新增一条关于创建所述目标节点的所述目标修正后信息的记录;所述关于创建所述目标节点的所述目标修正后信息的记录包括:所述目标节点的编号,所述目标节点的父节点的编号,所述目标修正后信息,所述变更操作的操作日期和操作时间,以及所述目标节点在所述操作日期所述操作时间对应的历史可见性标志和节点可见性标志,其中所述历史可见性标志指示可见,所述节点可见性标志指示可见。
[0158]
可选地,目录变更装置还包括:
[0159]
第三请求接收模块,用于接收对于当前目录的展示请求;
[0160]
当前目录展示模块,用于根据所述展示请求,以树状结构展示所述当前目录。
[0161]
可选地,所述目录的结构至少包括以下四个层级:
[0162]
产品线、产品组、基础产品和可售产品。
[0163]
需要说明的是,本发明提供的目录变更方法及装置可用于人工智能领域、区块链领域、分布式领域、云计算领域、大数据领域、物联网领域、移动互联领域、网络安全领域、芯片领域、虚拟现实领域、增强现实领域、全息技术领域、量子计算领域、量子通信领域、量子测量领域、数字孪生领域或金融领域。上述仅为示例,并不对本发明提供的发明名称的应用领域进行限定。
[0164]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1