分布式文件系统及其管理方法与流程

文档序号:31701451发布日期:2022-10-01 08:27阅读:72来源:国知局
分布式文件系统及其管理方法与流程

1.本技术涉及计算机技术领域,特别涉及一种分布式文件系统及其管理方法。


背景技术:

2.目前,银行业内的数据仓库及数据湖架构一般采用统一接入、统一清洗、统一标准化的方式使用数据,银行内部不同业务系统之间会通过数据文件的方式提供数据给数据仓库及数据湖,完成数据加载后供银行内部各个业务系统进行访问和使用。由于,需要实现数据文件的共享,因此,一般数据会首先存储在网络附属存储(networkattached storage,nas)中。
3.但是,随着银行业务的不断增长,特别是数字化经营的业务开展,网络附属存储存储的数量及容量需求越来越大,一般会存在几百个业务系统共享使用数十块网络附属存储进行数据贴源存储的情况,需要运维人员同时维护多套网络附属存储存储以及海量数据文件,每天存在大量的数据卸载、传输、删除、压缩,这对银行运维人员进行数据仓库文件管理带来了很高的挑战。


技术实现要素:

4.有鉴于此,本技术提供一种分布式文件系统及其管理方法,可以使运维人员高效地对分布式文件系统进行管理。
5.本技术第一方面提供了一种分布式文件系统,包括:
6.主目录网络附属存储、备目录网络附属存储以及多个数据网络附属存储;
7.其中,所述主目录网络附属存储和所述备目录网络附属存储分布于不同的存储服务器,且具备相同的目录结构;所述目录结构为树状结构,除叶子节点为指向数据网络附属存储的链接外,其他的节点均为目录,且所有节点权限属组为root/root,权限为755;每一个所述数据网络附属存储均为独立的数据网络附属存储,除底层目录放开使用特定用户账号及组账号放开目录读写执行权限外,外层目录均为root/root属组,权限755。
8.可选的,所述分布式文件系统,还包括:
9.预警模块,用于对所述主目录网络附属存储和备目录的网络附属存储的一致性进行检查。
10.可选的,所述预警模块,包括:
11.目录结构检查模块、叶子节点检查模块、权限检查模块、数据网络附属存储权限检查模块和检查报告生成模块;
12.所述目录结构检查模块,用于利用python的差异对比模块进行目录结构比较,得到第一检查结果;
13.所述叶子节点检查模块,用于深度遍历树状目录结构,判断叶子节点属性是否为链接,权限是否为root 777权限,得到第二检查结果;
14.所述权限检查模块,用于检查所有目录结构中的目标对象是否为root 755权限,
得到第三检查结果;其中,所述目标对象为非链接文件;
15.所述数据网络附属存储权限检查模块,用于检查目标目录的目录权限是否为root 755,且所述目标目录里只能有标准的日期目录,得到第四检查结果;其中,所述目标目录为数据网络附属存储除最底层标准的ddl,ctrl,data目录外其余目录;
16.所述检查报告生成模块,用于根据所述第一检查结果、所述第二检查结果、所述第三检查结果和所述第四检查结果,生成检查报告。
17.可选的,所述分布式文件系统,还包括:
18.管理模块,用于对所述主目录网络附属存储、所述备目录网络附属存储以及每一个所述数据网络附属存储进行管理。
19.可选的,所述管理模块,包括:
20.新增模块、删除模块、迁移模块和统计模块;
21.所述新增模块,用于接收新增存储目录请求时,在所述新增存储目录请求中的目标数据网络附属存储上新建目录,并同时在主目录网络附属存储和备目录网络附属存储上对应的叶子节点所属目录内新建链接指向所述数据网络附属存储,并将所述新建目录的清理天数配置和压缩天数配置写入数据库;
22.所述删除模块,用于接收删除存储目录请求时,删除所述删除存储目录请求中的目标目录,并删除链接文件以及数据目录,清理数据库所述目标目录相关配置信息;
23.所述迁移模块,用于接收迁移目录请求时,在新的数据网络附属存储上建立同名数据目录及子目录,并新增下一日日期目录,建立下一日日期目录的链接指向原有目录下的日期目录,最后将指向原数据目录的链接修改为指向新的数据目录;
24.所述统计模块,用于从数据库中获取目标期限的配置,对所述目标期限的配置进行压缩和清理,并在当日压缩清理完成后进行数据目录的大小统计及数据网络附属存储的信息收集。
25.可选的,所述分布式文件系统,还包括:
26.分析模块,用于对所述主目录网络附属存储、所述备目录网络附属存储以及每一个所述数据网络附属存储上的数据文件的目录大小增长趋势进行分析,单个数据文件的大小及增长趋势进行分析。
27.可选的,所述分析模块,包括:
28.记录模块,用于针对每一个数据文件,统计所述数据文件的生成时间以及记录所述数据文件的到达时间;
29.内容分析模块,用于对同名的数据文件进行内容分析,得到分析结果;其中,所述分析结果表明同名的数据文件是否为同一文件;
30.趋势分析模块,用于绘制目录及文件的增长趋势图。
31.本技术第二方面提供了一种分布式文件系统的管理方法,包括:
32.利用python的差异对比模块进行目录结构比较,得到第一检查结果;
33.深度遍历树状目录结构,判断叶子节点属性是否为链接,权限是否为root777权限,得到第二检查结果;
34.检查所有目录结构中的目标对象是否为root 755权限,得到第三检查结果;其中,所述目标对象为非链接文件;
35.检查目标目录的目录权限是否为root 755,且所述目标目录里只能有标准的日期目录,得到第四检查结果;其中,所述目标目录为数据网络附属存储除最底层标准的ddl,ctrl,data目录外其余目录;
36.根据所述第一检查结果、所述第二检查结果、所述第三检查结果和所述第四检查结果,生成检查报告。
37.可选的,所述分布式文件系统的管理方法,还包括:
38.接收新增存储目录请求;
39.在所述新增存储目录请求中的目标数据网络附属存储上新建目录;
40.在主目录网络附属存储和备目录网络附属存储上对应的叶子节点所属目录内新建链接指向所述数据网络附属存储;
41.将所述新建目录的清理天数配置和压缩天数配置写入数据库。
42.可选的,所述分布式文件系统的管理方法,还包括:
43.接收删除存储目录请求;
44.删除所述删除存储目录请求中的目标目录;
45.删除链接文件以及数据目录;
46.清理数据库所述目标目录相关配置信息。
47.可选的,所述分布式文件系统的管理方法,还包括:
48.接收迁移目录请求;
49.在新的数据网络附属存储上建立同名数据目录及子目录;
50.新增下一日日期目录,建立下一日日期目录的链接指向原有目录下的日期目录;
51.将指向原数据目录的链接修改为指向新的数据目录。
52.可选的,所述分布式文件系统的管理方法,还包括:
53.从数据库中获取目标期限的配置;
54.对所述目标期限的配置进行压缩和清理;
55.在当日压缩清理完成后进行数据目录的大小统计及数据网络附属存储的信息收集。
56.可选的,所述分布式文件系统的管理方法,还包括:
57.针对每一个数据文件,统计所述数据文件的生成时间以及记录所述数据文件的到达时间;
58.对同名的数据文件进行内容分析,得到分析结果;
59.其中,所述分析结果表明同名的数据文件是否为同一文件;
60.绘制目录及文件的增长趋势图。
61.由以上方案可知,本技术提供一种分布式文件系统及其管理方法,所述分布式文件系统包括:主目录网络附属存储、备目录网络附属存储以及多个数据网络附属存储;其中,所述主目录网络附属存储和所述备目录网络附属存储分布于不同的存储服务器,且具备相同的目录结构;所述目录结构为树状结构,除叶子节点为指向数据网络附属存储的链接外,其他的节点均为目录,且所有节点权限属组为root/root,权限为755;每一个所述数据网络附属存储均为独立的数据网络附属存储,除底层目录放开使用特定用户账号及组账号放开目录读写执行权限外,外层目录均为root/root属组,权限755。本技术中的两层结构
的目录设计,屏蔽了上层应用,应用无需知晓数据的真实存储位置,只需通过目录网络附属存储访问即可,从而使得运维人员高效地对分布式文件系统进行管理。
附图说明
62.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
63.图1为本技术实施例提供的一种分布式文件系统的示意图;
64.图2为本技术另一实施例提供的一种分布式文件系统的架构示意图;
65.图3为本技术另一实施例提供的一种预警模块的示意图;
66.图4为本技术另一实施例提供的一种管理模块的示意图;
67.图5为本技术另一实施例提供的一种分析模块的示意图;
68.图6-11为本技术另一实施例提供的分布式文件系统的管理方法的流程图。
具体实施方式
69.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
70.需要注意,本技术中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系,而术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
71.本技术实施例提供了一种分布式文件系统,如图1所示,具体包括:
72.主目录网络附属存储100、备目录网络附属存储200以及多个数据网络附属存储300。
73.其中,主目录网络附属存储(network attached storage,nas)100和备目录网络附属存储200分布于不同的存储服务器,且具备相同的目录结构;目录结构为树状结构,除叶子节点为指向数据网络附属存储300的链接外,其他的节点均为目录,且所有节点权限属组为root/root,权限为755,此权限可限制应用用户破坏目录结构,当有新系统接入数据时,按需分配新的叶子节点即可;每一个数据网络附属存储300均为独立的数据网络附属存储,除底层目录放开使用特定用户账号及组账号放开目录读写执行权限外,外层目录均为root/root属组,权限755。
74.如图2所示为本技术实施例提供的一种分布式文件系统的架构示意图。其中,目录nas_a为主目录nas,目录nas_b为备目录nas,以及多个数据nas。
75.通过操作系统软连接的方式,将nas目录结构(主目录nas以及备目录nas)与数据nas分离存储,目录结构使用特权用户维护,仅在新增和删除时使用特权用户,日常维护无需使用特权用户。此种架构设计对所有共享数据存储的系统无感知,消除了nas扩容、迁移对应用的影响。
76.可选的,在本技术的另一实施例中,分布式文件系统的一种实施方式,还包括:
77.预警模块400,用于对主目录网络附属存储100和备目录的网络附属存储200的一致性进行检查。
78.可选的,在本技术的另一实施例中,预警模块400的一种实施方式,如图3所示,包括:
79.目录结构检查模块401、叶子节点检查模块402、权限检查模块403、数据网络附属存储权限检查模块404和检查报告生成模块405。
80.目录结构检查模块401,用于利用python的差异对比模块进行目录结构比较,得到第一检查结果。
81.叶子节点检查模块402,用于深度遍历树状目录结构,判断叶子节点属性是否为链接,权限是否为root 777权限,得到第二检查结果。
82.权限检查模块403,用于检查所有目录结构中的目标对象是否为root 755权限,得到第三检查结果。
83.其中,目标对象为非链接文件。
84.数据网络附属存储权限检查模块404,用于检查目标目录的目录权限是否为root 755,且目标目录里只能有标准的日期目录,得到第四检查结果。
85.其中,目标目录为数据网络附属存储除最底层标准的ddl,ctrl,data目录外其余目录。
86.检查报告生成模块405,用于根据第一检查结果、第二检查结果、第三检查结果和第四检查结果,生成检查报告。
87.如表1所示,为本技术实施例提供的预警模块中所使用的脚本清单。
88.检查脚本名称功能注释dirnas_diff.py目录结构一致性比对目录结构一致性比对dirnas_author.py目录权限检查目录nas目录权限及链接检查dirnas_link.py目录nas链接检查目录nas叶子节点链接判断datanas_author.py数据nas权限检查数据nas的目录权限校验datanas_content.py数据nas内容检查数据nas底层目录内容检查
89.表1
90.可选的,在本技术的另一实施例中,分布式文件系统的一种实施方式,还包括:
91.管理模块500,用于对主目录网络附属存储100、备目录网络附属存储200以及每一个数据网络附属存储300进行管理。
92.可选的,在本技术的另一实施例中,管理模块500的一种实施方式,如图4所示,包括:
93.新增模块501、删除模块502、迁移模块503和统计模块504。
94.新增模块501,用于接收新增存储目录请求时,在新增存储目录请求中的目标数据
网络附属存储上新建目录,并同时在主目录网络附属存储和备目录网络附属存储上对应的叶子节点所属目录内新建链接指向数据网络附属存储,并将新建目录的清理天数配置和压缩天数配置写入数据库。
95.删除模块502,用于接收删除存储目录请求时,删除删除存储目录请求中的目标目录,并删除链接文件以及数据目录,清理数据库目标目录相关配置信息。
96.迁移模块503,用于接收迁移目录请求时,在新的数据网络附属存储上建立同名数据目录及子目录,并新增下一日日期目录,建立下一日日期目录的链接指向原有目录下的日期目录,最后将指向原数据目录的链接修改为指向新的数据目录。
97.统计模块504,用于从数据库中获取目标期限的配置,对目标期限的配置进行压缩和清理,并在当日压缩清理完成后进行数据目录的大小统计及数据网络附属存储的信息收集。
98.具体的,通过设置不同目录的保存期限配置及特殊文件处理配置,提供数据的定制清理及存储。并提供自适应算法进行扩容,避免数据迁移及存储容量达到限制对大量应用的影响。
99.如表2所示,为本技术实施例提供的管理模块中所使用的脚本清单。
100.检查脚本名称功能注释datanas_mgdir.py目录结构管理新增删除存储目录datanas_mv.py目录迁移目录迁移datanas_clear.py文件清理提供定制化清理datanas_compress.py文件压缩提供多线程压缩,及定制压缩datanas_compute.py文件指标统计采集nas文件相关信息并入库
101.表2
102.针对不同的需求对数据nas中目录的进行个性化定制管理,针对不同业务领域数据保留不同的时间,并将对应参数持久化到数据库中。
103.可选的,在本技术的另一实施例中,分布式文件系统的一种实施方式,还包括:
104.分析模块600,用于对主目录网络附属存储、备目录网络附属存储以及每一个数据网络附属存储上的数据文件的目录大小增长趋势进行分析,单个数据文件的大小及增长趋势进行分析。
105.可选的,在本技术的另一实施例中,分析模块600的一种实施方式,如图5所示,包括:
106.记录模块601,用于针对每一个数据文件,统计数据文件的生成时间以及记录数据文件的到达时间。
107.内容分析模块602,用于对同名的数据文件进行内容分析,得到分析结果。
108.其中,分析结果表明同名的数据文件是否为同一文件。
109.具体的,若ddl文件一致,则判断为相似(同一)文件,否则判断为无关文件。
110.趋势分析模块603,用于绘制目录及文件的增长趋势图。
111.如表3所示,为本技术实施例提供的分析模块中所使用的脚本清单。
112.检查脚本名称功能注释filesize_analysis.py文件大小分析分析单个文件的增长趋势
filetime_analysis.py文件时间分析分析文件的到达时间等趋势filename_analysis.py文件名分析分析同名文件dirsize_analysis.py目录大小趋势分析分析目录增长趋势
113.表3
114.在文件系统监控的基础上增加目录级别和文件级别的按日趋势分析,有助于运维相关人员进行容量分析及容量管理。
115.由以上方案可知,本技术提供一种分布式文件系统,包括:主目录网络附属存储100、备目录网络附属存储200以及多个数据网络附属存储300;其中,主目录网络附属存储100和备目录网络附属存储200分布于不同的存储服务器,且具备相同的目录结构;目录结构为树状结构,除叶子节点为指向数据网络附属存储300的链接外,其他的节点均为目录,且所有节点权限属组为root/root,权限为755;每一个数据网络附属存储300均为独立的数据网络附属存储,除底层目录放开使用特定用户账号及组账号放开目录读写执行权限外,外层目录均为root/root属组,权限755。本技术中的两层结构的目录设计,屏蔽了上层应用,应用无需知晓数据的真实存储位置,只需通过目录网络附属存储访问即可,从而使得运维人员高效地对分布式文件系统进行管理。
116.本技术的另一实施例提供了一种分布式文件系统的管理方法,如图6所示,包括:
117.s601、利用python的差异对比模块进行目录结构比较,得到第一检查结果。
118.s602、深度遍历树状目录结构,判断叶子节点属性是否为链接,权限是否为root 777权限,得到第二检查结果。
119.s603、检查所有目录结构中的目标对象是否为root 755权限,得到第三检查结果。
120.其中,目标对象为非链接文件。
121.s604、检查目标目录的目录权限是否为root 755,且目标目录里只能有标准的日期目录,得到第四检查结果。
122.其中,目标目录为数据网络附属存储除最底层标准的ddl,ctrl,data目录外其余目录。
123.s605、根据第一检查结果、第二检查结果、第三检查结果和第四检查结果,生成检查报告。
124.从而到了对分布式文件系统实时监控的目的,以便出现异常时,计时对其进行处理。
125.可选的,在本技术的另一实施例中,分布式文件系统的管理方法的一种实施方式,如图7所示,还包括:
126.s701、接收新增存储目录请求。
127.s702、在新增存储目录请求中的目标数据网络附属存储上新建目录。
128.s703、在主目录网络附属存储和备目录网络附属存储上对应的叶子节点所属目录内新建链接指向数据网络附属存储。
129.s704、将新建目录的清理天数配置和压缩天数配置写入数据库。
130.可选的,在本技术的另一实施例中,分布式文件系统的管理方法的一种实施方式,如图8所示,还包括:
131.s801、接收删除存储目录请求。
132.s802、删除删除存储目录请求中的目标目录。
133.s803、删除链接文件以及数据目录。
134.s804、清理数据库目标目录相关配置信息。
135.可选的,在本技术的另一实施例中,分布式文件系统的管理方法的一种实施方式,如图9所示,还包括:
136.s901、接收迁移目录请求。
137.s902、在新的数据网络附属存储上建立同名数据目录及子目录。
138.s903、新增下一日日期目录,建立下一日日期目录的链接指向原有目录下的日期目录。
139.s904、将指向原数据目录的链接修改为指向新的数据目录。
140.可选的,在本技术的另一实施例中,分布式文件系统的管理方法的一种实施方式,如图10所示,还包括:
141.s1001、从数据库中获取目标期限的配置。
142.s1002、对目标期限的配置进行压缩和清理。
143.s1003、在当日压缩清理完成后进行数据目录的大小统计及数据网络附属存储的信息收集。
144.具体的,通过设置不同目录的保存期限配置及特殊文件处理配置,提供数据的定制清理及存储。并提供自适应算法进行扩容,避免数据迁移及存储容量达到限制对大量应用的影响。针对不同的需求对数据nas中目录的进行个性化定制管理,针对不同业务领域数据保留不同的时间,并将对应参数持久化到数据库中。
145.可选的,在本技术的另一实施例中,分布式文件系统的管理方法的一种实施方式,如图11所示,还包括:
146.s1101、针对每一个数据文件,统计数据文件的生成时间以及记录数据文件的到达时间。
147.s1102、对同名的数据文件进行内容分析,得到分析结果。
148.其中,分析结果表明同名的数据文件是否为同一文件。
149.具体的,若ddl文件一致,则判断为相似(同一)文件,否则判断为无关文件。
150.s1103、绘制目录及文件的增长趋势图。
151.在文件系统监控的基础上增加目录级别和文件级别的按日趋势分析,有助于运维相关人员进行容量分析及容量管理。
152.在本技术公开的上述实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本公开的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用
的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
153.另外,在本公开各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,直播设备,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,randomaccess memory)、磁碟或者光盘等各种可以存储程序代码的介质。
154.专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1