CN110809056B - 一种文件存储用户使用量统计的方法 - Google Patents
一种文件存储用户使用量统计的方法 Download PDFInfo
- Publication number
- CN110809056B CN110809056B CN201911100508.8A CN201911100508A CN110809056B CN 110809056 B CN110809056 B CN 110809056B CN 201911100508 A CN201911100508 A CN 201911100508A CN 110809056 B CN110809056 B CN 110809056B
- Authority
- CN
- China
- Prior art keywords
- disk data
- file
- data
- user
- file system
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000003491 array Methods 0.000 claims 2
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种文件存储用户使用量统计的方法,涉及信息技术领域;云环境下,利用openstack的manila组件,在共享主机模式下通过定时任务依次在共享主机上执行df‑h命令,获取磁盘数据,在无共享主机模式下,通过定时任务登陆部署manila的节点执行df‑h命令,获取磁盘数据,通过文件系统挂载点与df–h命令的对应关系,建立文件系统与用户文件使用量的联系,在获取的磁盘数据中查询所有文件使用量数据,再与文件系统列表中的文件进行匹配,获得用户文件使用量。
Description
技术领域
本发明公开一种文件存储用户使用量统计的方法,涉及信息技术领域。
背景技术
文件存储在企业文件共享,大数据分析,流媒体处理等场景下均有广泛应用。公有云文件存储服务可以基于manila组件进行扩展开发。因为openstack的manila组件可以提供共享存储服务,支持nfs和cifs等多种协议,manila创建的文件系统可以挂载到虚机使用,多个虚机可以通过网络共享文件系统中的文件。manila提供了丰富的api用来管理文件系统,但没有提供查询文件系统使用量的接口,在公有云环境下,用户需要在公有云管理界面了解文件系统的使用量,公有云服务提供商也需要依据用户使用量计算费用,有些厂商需要在用户虚机上安装agent实现使用量统计,提高了用户使用门槛,不利于产品的推广和应用。
本发明公开一种文件存储用户使用量统计的方法,基于openstack的manila组件实现,无需安装agent实现统计文件系统使用量,降低用户使用门槛,也可作为公有云服务提供商计费的依据。
发明内容
本发明针对现有技术的问题,提供一种文件存储用户使用量统计的方法,本发明提出的具体方案是:
一种文件存储用户使用量统计的方法,云环境下,利用openstack的manila组件,在共享主机模式下通过定时任务依次在共享主机上执行df-h命令,获取磁盘数据,
在无共享主机模式下,通过定时任务登陆部署manila的节点执行df-h命令,获取磁盘数据,
通过文件系统挂载点与df–h命令的对应关系,建立文件系统与用户文件使用量的联系,在获取的磁盘数据中查询所有文件使用量数据,再与文件系统列表中的文件进行匹配,获得用户文件使用量。
所述的方法中获取磁盘数据,将磁盘数据进行相应分割后转化为数组,将数组映射为数据库实体类后保存在数据库中。
所述的方法中在数据库中,数据库表中包含磁盘数据分割时的相应字段,利用数据库表查询磁盘数据。
所述的方法中将磁盘数据先转化为字符串类型,再进行分割,分割后字段分别是filesystem,size,used,avail,use%,mounted on。
所述的方法中在数据库中,数据库表中包含磁盘数据分割时的size字段,used字段,mounted on字段,利用数据库表查询磁盘数据。
所述的方法中数据库保存当前磁盘数据之前,先删除设定阈值时间之前保存的磁盘数据。
所述的方法中共享主机模式下利用异步定时任务依次在共享主机上执行df-h命令,获取磁盘数据,定时任务的执行间隔大于所述的阈值时间。
一种文件存储用户使用量统计的工具,包括获取模块、关联模块及匹配模块,
云环境下,获取模块利用openstack的manila组件,在共享主机模式下通过定时任务依次在共享主机上执行df-h命令,获取磁盘数据,
获取模块在无共享主机模式下,通过定时任务登陆部署manila的节点执行df-h命令,获取磁盘数据,
关联模块通过文件系统挂载点与df–h命令的对应关系,建立文件系统与用户文件使用量的联系,匹配模块在获取的磁盘数据中查询所有文件使用量数据,再与文件系统列表中的文件进行匹配,获得用户文件使用量。
本发明的有益之处是:
本发明公开一种文件存储用户使用量统计的方法,在云环境下,利用openstack的manila组件,在共享主机模式下通过定时任务依次在共享主机上执行df-h命令,获取磁盘数据,在无共享主机模式下,通过定时任务登陆部署manila的节点执行df-h命令,获取磁盘数据,通过文件系统挂载点与df–h命令的对应关系,建立文件系统与用户文件使用量的联系,在获取的磁盘数据中查询所有文件使用量数据,再与文件系统列表中的文件进行匹配,获得用户文件使用量;通过本发明的方法,无需在manila节点,共享主机或者租户虚机安装agent,仅通过定时任务在manila节点或共享主机远程执行shell命令,利用manila节点和共享主机的端口并已知拥有root权限的用户名和密码即可实现,并且对用户完全透明,降低用户使用门槛,用户使用量信息可以作为manila api查询结果的补充,也可作为公有云服务提供商计费的依据。
附图说明
图1是本发明方法流程示意图。
具体实施方式
本发明提供一种文件存储用户使用量统计的方法,云环境下,利用openstack的manila组件,在共享主机模式下通过定时任务依次在共享主机上执行df-h命令,获取磁盘数据,
在无共享主机模式下,通过定时任务登陆部署manila的节点执行df-h命令,获取磁盘数据,
通过文件系统挂载点与df–h命令的对应关系,建立文件系统与用户文件使用量的联系,在获取的磁盘数据中查询所有文件使用量数据,再与文件系统列表中的文件进行匹配,获得用户文件使用量。
同时提供与上述方法相应的一种文件存储用户使用量统计的工具,包括获取模块、关联模块及匹配模块,
云环境下,获取模块利用openstack的manila组件,在共享主机模式下通过定时任务依次在共享主机上执行df-h命令,获取磁盘数据,
获取模块在无共享主机模式下,通过定时任务登陆部署manila的节点执行df-h命令,获取磁盘数据,
关联模块通过文件系统挂载点与df–h命令的对应关系,建立文件系统与用户文件使用量的联系,匹配模块在获取的磁盘数据中查询所有文件使用量数据,再与文件系统列表中的文件进行匹配,获得用户文件使用量。
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
利用本发明方法对文件存储用户使用量进行统计,具体过程为:
云环境下,利用openstack的manila组件,在共享主机模式下通过定时任务依次在共享主机上执行df-h命令,获取磁盘数据,
在无共享主机模式下,通过定时任务登陆部署manila的节点执行df-h命令,获取磁盘数据,
可通过引入jsch-0.1.55.jar实现springboot应用远程执行shell命令,命令的返回值为InputStream类型,通过commons-io-2.5.jar中的IOUtils.toString方法将获取的磁盘数据转化为字符串类型,各行的结果由“\n”分割,每行数据由一个或多个空格分割,字段分别是filesystem,size,used,avail,use%,mounted on,通过split(“\\s+”)将每行数据转化为数组。将数组映射为数据库实体类后保存在数据库中,数据库表的字段为id,totalSize,usedSize,mountedOn,createdTime,其中id为自增主键,类型为bigint(20),可以满足系统长期有运行的要求,totalSize对应shell命令结果的size字段,usedSize对应used,mountedOn对应mounted on,createdTime为当前时间,利用数据库表查询磁盘数据,
文件系统挂载点与执行“df–h”命令mounted on字段是一一对应的,可以通过这一点建立文件系统与用户使用量的联系,为了节省数据库查询开销,在获取的磁盘数据中查询所有文件使用量数据,再再遍历文件系统列表的文件进行匹配,获得用户文件使用量,节省了数据库查询开销。
在上述过程中,共享主机模式下需要依次登陆共享主机执行命令,耗时可能较长,使用异步定时任务,防止定时任务阻塞,影响数据采集,同时在数据库保存当前磁盘数据之前,先删除设定阈值时间之前保存的磁盘数据,比如10分钟之前保存的磁盘数据,有利于数据更新,并且异步定时任务的定时任务的执行间隔大于阈值时间,例如大于10分钟,更有利于防止定时任务阻塞。
同样利用本发明工具进行对文件存储用户使用量进行统计,具体过程为:
云环境下,获取模块利用openstack的manila组件,在共享主机模式下通过定时任务依次在共享主机上执行df-h命令,获取磁盘数据,
获取模块在无共享主机模式下,通过定时任务登陆部署manila的节点执行df-h命令,获取磁盘数据,
可通过引入jsch-0.1.55.jar实现springboot应用远程执行shell命令,命令的返回值为InputStream类型,通过commons-io-2.5.jar中的IOUtils.toString方法将获取的磁盘数据转化为字符串类型,各行的结果由“\n”分割,每行数据由一个或多个空格分割,字段分别是filesystem,size,used,avail,use%,mounted on,通过split(“\\s+”)将每行数据转化为数组。将数组映射为数据库实体类后保存在数据库中,数据库表的字段为id,totalSize,usedSize,mountedOn,createdTime,其中id为自增主键,类型为bigint(20),可以满足系统长期有运行的要求,totalSize对应shell命令结果的size字段,usedSize对应used,mountedOn对应mounted on,createdTime为当前时间,利用数据库表查询磁盘数据,
文件系统挂载点与执行“df–h”命令mounted on字段是一一对应的,关联模块可以通过这一点建立文件系统与用户使用量的联系,为了节省数据库查询开销,匹配模块在获取的磁盘数据中查询所有文件使用量数据,再再遍历文件系统列表的文件进行匹配,获得用户文件使用量,节省了数据库查询开销。
在上述过程中,共享主机模式下需要依次登陆共享主机执行命令,耗时可能较长,获取模块可以使用异步定时任务,防止定时任务阻塞,影响数据采集,同时在数据库保存当前磁盘数据之前,先删除设定阈值时间之前保存的磁盘数据,比如10分钟之前保存的磁盘数据,有利于数据更新,并且异步定时任务的定时任务的执行间隔大于阈值时间,例如大于10分钟,更有利于防止定时任务阻塞。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
Claims (8)
1.一种文件存储用户使用量统计的方法,其特征是云环境下,利用openstack的manila组件,在共享主机模式下通过定时任务依次在共享主机上执行df -h命令,获取磁盘数据,
在无共享主机模式下,通过定时任务登陆部署manila的节点执行df -h命令,获取磁盘数据,
通过文件系统挂载点与df –h命令的对应关系,建立文件系统与用户文件使用量的联系,在获取的磁盘数据中查询所有文件使用量数据,再与文件系统列表中的文件进行匹配,获得用户文件使用量。
2.根据权利要求1所述的方法,其特征是获取磁盘数据,将磁盘数据进行相应分割后转化为数组,将数组映射为数据库实体类后保存在数据库中。
3.根据权利要求2所述的方法,其特征是在数据库中,数据库表中包含磁盘数据分割时的相应字段,利用数据库表查询磁盘数据。
4. 根据权利要求2或3所述的方法,其特征是将磁盘数据先转化为字符串类型,再进行分割,分割后字段分别是filesystem,size,used,avail,use%,mounted on。
5. 根据权利要求4所述的方法,其特征是在数据库中,数据库表中包含磁盘数据分割时的size字段,used字段,mounted on字段,利用数据库表查询磁盘数据。
6.根据权利要求1或5所述的方法,其特征是数据库保存当前磁盘数据之前,先删除设定阈值时间之前保存的磁盘数据。
7. 根据权利要求6所述的方法,其特征是共享主机模式下利用异步定时任务依次在共享主机上执行df -h命令,获取磁盘数据,定时任务的执行间隔大于所述的阈值时间。
8.一种文件存储用户使用量统计的装置,其特征是包括获取模块、关联模块及匹配模块,
云环境下,获取模块利用openstack的manila组件,在共享主机模式下通过定时任务依次在共享主机上执行df -h命令,获取磁盘数据,
获取模块在无共享主机模式下,通过定时任务登陆部署manila的节点执行df -h命令,获取磁盘数据,
关联模块通过文件系统挂载点与df –h命令的对应关系,建立文件系统与用户文件使用量的联系,匹配模块在获取的磁盘数据中查询所有文件使用量数据,再与文件系统列表中的文件进行匹配,获得用户文件使用量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911100508.8A CN110809056B (zh) | 2019-11-12 | 2019-11-12 | 一种文件存储用户使用量统计的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911100508.8A CN110809056B (zh) | 2019-11-12 | 2019-11-12 | 一种文件存储用户使用量统计的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110809056A CN110809056A (zh) | 2020-02-18 |
CN110809056B true CN110809056B (zh) | 2022-03-22 |
Family
ID=69502214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911100508.8A Active CN110809056B (zh) | 2019-11-12 | 2019-11-12 | 一种文件存储用户使用量统计的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110809056B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105426522A (zh) * | 2015-12-07 | 2016-03-23 | 浪潮(北京)电子信息产业有限公司 | 一种文件系统性能统计方法与系统 |
CN108829376A (zh) * | 2018-04-11 | 2018-11-16 | 国家电网公司 | 一种基于综合诊断平台的调度主站系统的运行监测系统 |
US10142195B1 (en) * | 2015-09-30 | 2018-11-27 | EMC IP Holding Company LLC | Partitioned performance tracking core resource consumption independently |
CN109831358A (zh) * | 2019-01-31 | 2019-05-31 | 北京达佳互联信息技术有限公司 | 一种客户端流量统计方法、装置、服务器及可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7188120B1 (en) * | 2003-05-09 | 2007-03-06 | Sun Microsystems, Inc. | System statistics virtualization for operating systems partitions |
CN108197010A (zh) * | 2017-12-29 | 2018-06-22 | 郑州云海信息技术有限公司 | 分布式文件系统的容量统计方法、系统、装置及存储介质 |
CN108924186A (zh) * | 2018-06-04 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种云管平台中文件存储的创建方法和系统 |
-
2019
- 2019-11-12 CN CN201911100508.8A patent/CN110809056B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10142195B1 (en) * | 2015-09-30 | 2018-11-27 | EMC IP Holding Company LLC | Partitioned performance tracking core resource consumption independently |
CN105426522A (zh) * | 2015-12-07 | 2016-03-23 | 浪潮(北京)电子信息产业有限公司 | 一种文件系统性能统计方法与系统 |
CN108829376A (zh) * | 2018-04-11 | 2018-11-16 | 国家电网公司 | 一种基于综合诊断平台的调度主站系统的运行监测系统 |
CN109831358A (zh) * | 2019-01-31 | 2019-05-31 | 北京达佳互联信息技术有限公司 | 一种客户端流量统计方法、装置、服务器及可读存储介质 |
Non-Patent Citations (1)
Title |
---|
大型计算机"数据存储文件系统"统计程序的开发与应用;王景德;《石油仪器》;20061230(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110809056A (zh) | 2020-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101853287B (zh) | 数据压缩快速检索文件系统及其方法 | |
CN103559217B (zh) | 一种面向异构数据库的海量组播数据入库实现方法 | |
US6751627B2 (en) | Method and apparatus to facilitate accessing data in network management protocol tables | |
CN103235820B (zh) | 一种集群系统中数据存储方法与装置 | |
CN105138592A (zh) | 一种基于分布式架构的日志数据存储和检索方法 | |
CN104778188A (zh) | 一种分布式设备日志采集方法 | |
CN103488704A (zh) | 一种数据存储方法及装置 | |
US20190114294A1 (en) | Methods and systems for database optimisation | |
CN109063077B (zh) | 一种基于弹性搜索的数据访问方法及装置 | |
JP2020057416A (ja) | 分散データベースにおけるデータブロックを処理する方法およびデバイス | |
CN106375362A (zh) | 分布式服务器的缓存同步方法及系统 | |
US20230315727A1 (en) | Cost-based query optimization for untyped fields in database systems | |
CN113900810A (zh) | 分布式图处理方法、系统及存储介质 | |
WO2017000592A1 (zh) | 数据处理方法、装置及系统 | |
CN113886485A (zh) | 数据处理方法、装置、电子设备、系统和存储介质 | |
CN110795431B (zh) | 环境监测数据处理方法、装置、设备及存储介质 | |
CN111046106A (zh) | 缓存数据同步方法、装置、设备及介质 | |
CN111125050A (zh) | 一种openstack环境下基于CephFS提供NFS协议的文件存储方法 | |
CN110809056B (zh) | 一种文件存储用户使用量统计的方法 | |
CN113641742A (zh) | 一种数据抽取方法、装置、设备和存储介质 | |
US10855563B2 (en) | Supplementing log messages with metadata | |
CN104410668A (zh) | 一种适用于公有云的虚拟机远程桌面管理方法 | |
KR20100132752A (ko) | 데이터베이스 분산을 통한 서비스 성능 향상을 위한 질의 데이터 분산 처리시스템 | |
CN111008182A (zh) | 一种可变字段日志型数据的查询方法及系统 | |
CN114063931A (zh) | 一种基于大数据的数据存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park Applicant after: Inspur cloud Information Technology Co.,Ltd. Address before: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park Applicant before: Tidal Cloud Information Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |