首 页   论文发表 期刊大全 论文下载 常见问题 发表流程 免责声明 合作加盟 关于我们 诚信通道 联系我们   设为首页 加入收藏
  摘要:随着云计算的普及,用户可以更方便地使用云存储资源,对于资源提供商来说,随之而来的问题就是该如何统计用户的使用量。文章设计了一种基于 Samba 的流量统计系统,通过对用户的操作行为记录日志,可以分析用户的登录、读写等行为。同时该系统还实现了相关..
教育期刊 | 经济期刊 | 科技期刊 | 文学期刊 | 医学期刊 | 学报期刊 | 建筑期刊 | 社科期刊 | 计算机期刊 | 图书管期刊 | 农业期刊 | CSSCI期刊 | 核心期刊 | 其他期刊
教育论文 | 经济论文 | 医药论文 | 文学论文 | 艺术论文 | 英语论文 | 法学论文 | 哲学论文 | 计算机论文理学论文  | 工学论文 |  管理论文 | 政治论文 | 社会论文
资源搜索: 搜索 高级搜索
2000论文网-诚信快速的论文发表网站! 论文发表投稿信箱:qwqk2000@126.com 论文发表在线咨询QQ: 85597153 论文发表咨询电话:17351597825  

TOP

一种 Samba 流量统计系统的设计与实现
2018-07-20 10:24:31 来源: 作者:文 莎 【 】 浏览:0次 评论:0
  摘要:随着云计算的普及,用户可以更方便地使用云存储资源,对于资源提供商来说,随之而来的问题就是该如何统计用户的使用量。文章设计了一种基于 Samba 的流量统计系统,通过对用户的操作行为记录日志,可以分析用户的登录、读写等行为。同时该系统还实现了相关对外调用查询接口函数,可供前端界面开发者直接调用,便于系统管理员管理系统。
  关键词:日志分析;流量统计;接口函数;SAMBA;云存储中图分类号:TP393.06 文献标识码:A 文章编号:1673-1131(2015)10-0079-03.
  0 引言
  存储技术的发展经历了单机时代、集群时代,目前已迈向云存储时代,数据的存储方式发生了翻天覆地的变化,用户的使用和付费模式也经历着同样的变化。随着云存储技术的进一步发展成熟,企业内部的系统也逐渐搭建起私有云环境[1]。
  当前的私有云存储环境一般是通过Linux进行搭建,而访问对象则大多数是 Windows 用户,因此本文以此为应用背景设计了一种基于日志分析的流量统计系统。
  现有的基于 Linux 的流量统计工具如 iptraf[2]、nload[3]、ifstat[4]
  等都只能对网卡进行统计,这种粗粒度的统计不能精确到单个用户,更不要谈精确到某个文件。这对于云时代需要针对单个用户进行单独统计的需求是远远不能满足的。
  基于以上特点需求,我们设计实现了一套基于日志分析的 SAMBA[5]流量统计系统,该系统针对用户特定操作进行详细的记录,通过系统实现日志分析工具对原始日志数据进行分析统计后存储,系统管理员可以通过系统实现的 API 接口对分类数据进行查询从而实现单个用户、单个文件的访问和 流量统计。同时我们还基于 GlusterFS 集群文件系统进行了多节点部署,并实现了该系统的相关数据统计。
  1 功能构成与总体架构
  在用户使用存储的过程中,管理员一方面系统统计用户所有的使用情况,如登录情况、文件下载情况,另一方面,管理员还希望对存储系统本身的数据使用情况进行分类统计,在使用后,还希望能够以直观的方式对用户使用情况进行报表式展示,因此本系统结合以上需求进行了功能设计。最终,本文实现的流量统计系统具备统计单个用户的对系统的使用情况,同时也能够反应系统整体的使用情况,以便于管理员能够针对使用情况进行管理。本文将需要实现的功能分类为用户访问日志和数据访问统计两部分。
  1.1 用户访问日志
  查看用户登录历史信息,包括登录 IP、登入时间、登出时间。该部分的统计可用于统计用户访问系统的频繁程度和在线时长,以便于针对用户按时计费的需求。
  1.2 数据访问统计
  1.2.1 用户视图
  针对不同的用户,统计其给定时间段内下载、上传数据的总流量,统计该用户的热点数据。该部分以用户为计量单位统计使用量,以此作为容量限制和收费的依据,以便于针对用户按量计费的需求。
  1.2.2 系统视图
  针对系统整体,统计给定时间段内指定目录的下载、上传数据总量,指定文件的下载总量。这样系统能够灵活分配系统资源给负载量比较大的目录,优化系统效能,同时也便于管理员对整体系统进行管理。
  提供 TOP10/50 功能、动态更新用户访问排名、动态更新文件或目录的访问排名,便于管理员对所属用户及共享目录进行可视化管理。
  1.3 总体架构
  为了实现功能构成中设计的功能,本文基于 GlusterFS、CTDB[6]、Samba 等服务搭建了实验平台,并通过 Cifs 协议[7]向Windows 客户提供服务。
  GlusterFS 是一个开源的分布式文件系统,具有强大的横向扩展能力。GlusterFS 通过 TCP/IP 或 InfiniBand RDMA 网络将物理分布的存储资源聚集在一起,使用单一全局命名空间来管理数据。
  CTDB是一种轻量级的集群数据库实现,基于它可以实现很多应用集群,目前 CTDB 支持 Samba、NFS、 HTTPD、VSFTPD、ISCSI、WINBIND 应用,集群共享数据存储支持GPFS、GFS(2)、GlusterFS、Luster、OCFS(2)。在本系统中,CTDB主要用来保证多个 Samba 服务器之间的数据一致性,并提供public IP 对外提供访问。
  图 1 集群环境架构图
  Samba 是一套使用 Server Message Block(SMB)协议和NetBIOS(Network Basic Input/Output System)协议的用于实现Unix Like 与 Windows 这两个不同的操作系统平台之间通信的程序。它能够实现共享文件与打印机服务、提供用户登录Samba 主机时的身份认证以提供不同用户的不同数据、进行Windows 网络上的主机名解析和实现设备的共享等功能。
  本文的实验环境基于如图 1 所示架构实现,但是实现的流量统计系统不仅局限于该系统,在其他类似架构的采用Samba 的集群共享环境中,该流量统计系统同样适用。 2 Samba 流量统计系统的设计实现本节详细讨论了数据采集方式、数据处理过程以及对外调用接口函数功能实现以及在 GlusterFS 集群文件系统上的部署四部分的内容。
  2.1 日志数据采集方式
  要实现本系统中所要求的功能,就需要对用户的操作行为进行数据统计,包括用户的登录退出、文件的读写等。要对这些操作行为进行统计,我们需要制定一套机制实现记录。本文首先考察了 Samba 系统,经过分析,Samba 本身内置了一个VFS 层,在其下可以加载相应的功能模块,最后进入 vfs_default.c 返回系统层,所有通过 Samba 发起的请求都会经过这一路径,这就给我们提供了一个监控数据流的最佳机制,模块调用流程如图 2 所示。我们采用 Samba VFS 中的一个 full_audit模块,它能够对用户的读写等请求进行监视,我们只需在Samba的配置文件smb.conf中共享目录里设置相应的full_audit 参数即可对用户数据进行监控。本设计中采用了 open、close 两个过滤参数。
  图 2 Samba VFS 模块调用机制
  另外我们要统计多用户的使用情况,这个使用情况我们可以利用 Samba 自身产生的日志数据进行分析,在 Samba 配置文件中默认的 Samba 登录日志是以机器名来分别登记的,我们需要将其设置为按用户进行登记,具体修改参见 2.4 节中统计系统的安装配置。
  结合上面两个机制,其中用户单独日志用于统计单个用户的登录信息,full_audit 产生的日志用于统计文件的用户读写操作信息。这两个原始日志文件都包含有大量不可用的信息,需要对数据进行有效提取才可用。
  2.2 日志数据处理过程
  以上两个机制产生的用户数据都包含大量的无效信息,不能够直接供上层使用,因此我们要分析日志的结构,并编写相应的程序对数据进行再处理。针对要实现的功能,其中用户访问日志可通过 smb.conf 生成的用户单独日志进行提取,而要实现数据访问统计的基于用户和目录的流量统计,则必须对数据进行中间处理才可用。
  在本实验环境中,假设有用户smb1、smb2,共享目录office、doc,则其单个目录下的日志数据读写关系结构如图 3 所示:
  在 full_audit 模块记录的日志下,会分别对某个目录下的所有读写情况进行记录,记录的事项包括时间、用户名、读写操作等。对于 Office 目录,其下的读写既包括 Smb1 用户的读写,也包括 Smb2 用户的读写,Doc 目录同理。
  图 3 Samba 共享目录用户读写日志关系图
  因此,对于用户视图,需要统计某个用户下的读或者写请求,则必须分别统计 office 和 doc 目录的该用户的读或者写请求之和;对于数据视图,需要统计某个目录下的读或者写请求,则必须分别统计该目录下smb1 和smb2 两个用户的读或者写请求之和。
  基于以上两点分析,如果要数据可供用户直接使用,必须要对 full_audit 模块监控数据进行分类精化处理,为此本文编写了相应的处理脚本,将该数据进一步分类如下:
  单个用户的读记录;
  单个用户的写记录;
  单个目录的读记录;
  单个目录的写记录。
  以上四个分类本文称之为处理元数据。后续 API 调用所有功能实现直接基于以上四类元数据。
  对于文件的流量,本文采用读/写次数*文件大小的方式进行计算,其中文件的大小可以通过 ls-al 命令获取。
  2.3 对外调用接口函数功能实现
  为了方便上层应用程序开发调用,本文设计实现了相应的功能接口函数调用,具体功能列表如表 1:
  表 1 流量统计系统对外接口函数功能表
  2.4 在 GlusterFS 集群文件系统上的部署
  本系统在多节点的实现即基于 GlusterFS、GlusterFS 创建的共享目录通过 Samba 对外提供服务。在本实验环境中 GlusterFS 包含两个节点,因此需要对每个服务器节点进行部署。
  为了保证数据的一致性,我们在 GlusterFS 集群文件系统上创建了一个共享目录,将相关的统计执行程序、日志目录、API调用接口、Samba 配置文件 smb.conf 以及 rsyslog 配置文件rsyslog.conf 都放置于此共享目录,并将以上文件通过软链接的方式链接到各个节点,当外部有访问请求时,所有的系统调用以及文件操作都会写到位于共享目录的相应文件当中,这样就保证了数据的一致性。通过以上部署,本文设计的 Samba流量统计系统可以适用于集群文件系统并对该系统的数据访问进行有效的统计。
  3 Samba 流量统计系统的安装配置
  3.1 配置文件设置
  单机配置需要修改 smb.conf 以及 rsyslog.conf 两个配置文件,其修改如下:
  3.1.1 Samba 配置文件 smb.conf
  3.1.2 rsyslog 配置文件 rsyslog.conf
  3.2 GlusterFS 集群配置
  要实现集群的配置,只需创建共享目录 lock,并将统计系统文件 nas_stat、smb.conf、rsyslog.conf 三个文件放入 lock 目录,并在各节点对应文件存放地建立软链接,其命令如下:
  4 结语
  本文实现了一种基于日志分析的 Samba 流量统计系统,该系统利用了 Samba 自身的机制记录用户使用行为,但是由于这些数据繁杂不具备直接使用的条件,本系统通过分析数据之间的相互关系,将数据分为用户读、用户写、目录读、目录写四类基本数据,并以此四类数据为基础用脚本实现了对外的 API,大大简化了对原始数据的使用难度。本系统同样适用于集群环境,在集群环境下,通过配置文件共享机制实现了多个服务器之间的数据一致性,保证了统计数据的准确。
  参考文献:
  [1] ARMBRUST M,FOX A,GRIFFITH R. Above the clouds:aBerkel-ey view of cloud computing[Technical Report UCB/EECS-2009-28][R].2009.
  [2] Iptraf Home Page[EB/OL]. http://www.iptraf.seul.org/.
  [3] Nload Home Page[EB/OL]. http://nload.mbl.edu/.
  [4] Ifstat Home Page[EB/OL]. http://gael.roualland.free.fr/ifstat/.
  [5] Samba Home Page[EB/OL].https://www.Samba.org/.
  [6] CTDB Home Page[EB/OL]. https://ctdb.Samba.org/.
  [7] Common Internet File System (CIFS) Protocol [EB/OL]https://msdn.microsoft.com/en-us/library/aa302188.aspx.
  [8] 刘爱贵.基于开源软件构建高性能集群NAS系统[EB/OL].http://blog.csdn.net/liuaigui/article/details/7163482,2011-12-29/2013-10-18.
  [9] 鸟哥.鸟哥的 LINUX 私房菜服务器架设篇第三版[M].北京:机械工业出版社,2012:461作者简介:文莎(1986-),男,助教,研究方向为信息存储、信息安全。
Tags:一种 Samba 流量 统计 系统 设计 实现 责任编辑:admin
中国论文网-论文发表发表论文(www.lw2000.com),是一个专门从事期刊推广论文发表论文创作指导的机构。本站提供整体论文发表解决方案:省级论文/国家级论文/核心论文/CN论文多种期刊供你选择。
发表论文投稿信箱:qwqk2000@126.com
发表论文在线咨询:85597153
发表论文咨询电话:17351597825

】【打印繁体】 【收藏】 【关闭】 【返回顶部
上一篇没有了 下一篇多项式时间网络编码仿真系统的研..

联系我们 论文发表 论文投稿

论文发表在线咨询:站点合作85597153
论文发表咨询电话:17351597825
论文发表投稿信箱:qwqk2000@126.com

相关栏目

最新文章

图片主题

热门文章

推荐文章

相关文章

论文发表 | 发表论文 | 期刊导航 | 论文下载 | 常见问题 | 发表流程 | 免责声明 | 合作加盟 | 关于我们 | 诚信通道 | 联系我们  
论文发表在线咨询:85597153 咨询电话:13218666889投稿信箱:qwqk2000@126.com
Copyright © 2008-2012http://www.lw2000.com all rights reserved 苏ICP备11037565号
论文发表、发表论文 论文发表、发表论文
电话17351597825
2000论文网 版权所有.