【技术实现步骤摘要】
一种信息管理方法、装置
本申请涉及运维领域,具体涉及信息管理方法、装置。
技术介绍
在大量的业务场景中,经常需要针对文件的相关信息进行相应的操作。例如,对于一个图片,该图片的相关信息可以指示该图片是一个相机在一个时间段抓拍的大图或小图。例如,从存储文件的数据结构中查询到该图片的相关信息,可以确定文件系统已经存储该图片的相关信息。例如,以一个相机的标识和一个时刻组成的前缀进行前缀查询,可以从存储文件的相关信息的数据结构中获取该相机在该时间段抓拍的所有图片的路径,以进一步获取该相机在该时间段抓拍的所有图片的路径。因此,需要对文件的相关信息进行管理,可以对文件的与业务相关的信息进行添加、删除、更改、查询等。目前,通常采用的方式为:文件的相关信息为预先定义的格式,将文件的与业务相关的信息直接作为文件的文件名,在存储文件的相关信息的数据结构中直接存储作为文件的相关信息的文件的文件名。相应的,对文件的相关信息的操作即为对文件的文件名进行操作。然而,在存储文件的相关信息的数据结构中直接存储作为文件的相关信息的文件的文件名,造成对任意一个作为文件的相关信息的文件名进行查询、前缀查询、前缀计数等操作中的任意一个操作时,均需要读取所有文件名并创建数组,按照文件名全字段查找匹配。造成操作的耗时长,开销大。在文件数量大、文件名长度较长的情况下,上述问题更为明显。
技术实现思路
为克服相关技术中存在的问题,本申请提供一种信息管理方法、装置。根据本申请实施例的第一方面,提供一种信息管理方法,包 ...
【技术保护点】
1.一种信息管理方法,其特征在于,所述方法包括:/n接收操作请求,所述操作请求包括:操作对象和操作类型;操作对象为以下之一:目标文件名、文件名前缀;所述操作类型为以下之一:添加操作、删除操作、更改操作、精确查询操作、前缀查询操作、前缀计数操作;/n利用分层数据结构,对所述操作对象执行所述操作类型的操作,其中,分层数据结构包括:根节点,多个文件名节点层,每个所述文件名节点层包括至少一个节点,所述至少一个节点中的每一个节点是其上一文件名节点层的一个节点的子节点,所述至少一个节点中的每一个节点对应至少一个子文件名,所述子文件名通过以指定划分方式对第一文件名进行划分得到,将具有父子节点关系的多个子节点对应的子文件名按照层级关系拼接,能够得到所述第一文件名,所述第一文件名为用于建立所述分层数据结构的文件名。/n
【技术特征摘要】
1.一种信息管理方法,其特征在于,所述方法包括:
接收操作请求,所述操作请求包括:操作对象和操作类型;操作对象为以下之一:目标文件名、文件名前缀;所述操作类型为以下之一:添加操作、删除操作、更改操作、精确查询操作、前缀查询操作、前缀计数操作;
利用分层数据结构,对所述操作对象执行所述操作类型的操作,其中,分层数据结构包括:根节点,多个文件名节点层,每个所述文件名节点层包括至少一个节点,所述至少一个节点中的每一个节点是其上一文件名节点层的一个节点的子节点,所述至少一个节点中的每一个节点对应至少一个子文件名,所述子文件名通过以指定划分方式对第一文件名进行划分得到,将具有父子节点关系的多个子节点对应的子文件名按照层级关系拼接,能够得到所述第一文件名,所述第一文件名为用于建立所述分层数据结构的文件名。
2.根据权利要求1所述的方法,其特征在于,所述操作对象为目标文件名,所述操作类型的操作为添加操作,利用预设数据结构,对操作对象执行所述操作类型的操作包括:
按照从前至后的顺序访问目标文件名的所有子文件名,其中,所述所有子文件名通过以指定划分方式对目标文件名进行划分得到,每一次访问一个子文件名,执行以下处理操作:确定访问到的子文件名对应的文件名节点层是否包括具有所述子文件名的目标节点,其中,目标节点为第一个文件名节点层中的具有所述目标文件名的第一个子文件名的节点或所述节点的子孙节点;若否,生成具有所述子文件名的目标节点,以及将生成的目标节点添加到访问到的子文件名对应的文件名节点层中,其中,具有所述访问到的子文件名的目标节点为具有上一次访问到的子文件名的目标节点的子节点。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:若是,在具有所述子文件名的目标节点为压缩节点的情况下,对于所述目标节点包括的每一个子文件名,生成具有该子文件名的独立目标节点,将每一个独立目标节点分别添加到相应的文件名节点层中,以及删除压缩节点;在所述目标节点不是压缩节点的情况下,继续访问所述访问到的子文件名的节点后一个子文件名。
4.根据权利要求1-3任一项所述的方法,其特征在于,对于分层数据结构中的每一个包括至少两个子节点的节点,所述节点的子节点按照顺序排列,所述节点的子节点的顺序基于按照子节点具有的子文件名,以指定排序方式对所述节点的所有子节点进行排序而确定。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述操作对象为目标文件名,所述操作类型的操作为删除操作,利用分层数据结构,对操作对象执行所述操作类型的操作包括:
对于目标文件名的多个子文件名中的每一个需要删除的子文件名,删除所述需要修改的子文件名对应的文件名节点层中的、具有所述需要删除的子文件名的目标节点;
确定分层数据结构是否包括目标合并节点,其中,目标合并节点的每一个子孙节点均为以下之一:叶子节点、具有的子节点的数量为一个的节点;
若是,将所述目标合并节点与所述目标合并节点的所有子孙节点合并为对应于所述目标合并节点的压缩节点;删除所述目标合并节点,以及将对应于所述目标合并节点的压缩节点添加到所述目标合并节点的位置。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述操作对象为目标文件名,所述操作类型的操作为更改操作,利用分层数据结构,对操作对象执行所述操作类型的操作包括:
对于目标文件名的多个子文件名中的每一个需要修改的子文件名,删除所述需要修改的子文件名对应的文件名节点层中的、具有所述需要修改的子文件名的目标节点;生成具有所述需要修改的子文件名对应的新的子文件名的新的目标节点;将生成的新的目标节点添加到具有所述需要修改的子文件名的目标节点的位置。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述操作对象为目标文件名,所述操作类型的操作为查询操作,利用分层数据结构,对操作对象执行所述操作类型的操作包括:
按照从前至后的顺序每一次访问目标文件名的一个子文件名,直至得到操作结果;
在确定访问到的子文件名对应的文件名节点层包括具有访问到的子文件名的目标节点并且所述目标节点为压缩节点的情况下,确定所述目标节点是否包括位于访问到的子文件名之...
【专利技术属性】
技术研发人员:李小强,张亮,
申请(专利权)人:北京旷视科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。