grass 文件预留系统
DESCRIPTION
GRASS 文件预留系统. 黄秋兰 / 高能所计算中心 2010-08-17. 主要内容. 项目背景及意义 系统设计与实现 系统的关键技术 总结与展望. 项目背景. GRASS ( Grid-enabled Advanced Storage System )是异构介质的分级存储系统 GRASS 文件预留系统的处理对象是 GRASS 中的海量数据 GRASS 文件预留系统是 BES 数据管理系统的有机组成部分. 解决的问题. 存在问题 GRASS 的迁移策略:存储池水位和迁移时间间隔( 系统级的因素 ) 没有全面考虑 用户的使用模式与需求 采取的措施 - PowerPoint PPT PresentationTRANSCRIPT
GRASS 文件预留系统
黄秋兰 / 高能所计算中心2010-08-17
主要内容
项目背景及意义 系统设计与实现 系统的关键技术 总结与展望
项目背景 GRASS ( Grid-enabled Adv
anced Storage System )是异构介质的分级存储系统
GRASS 文件预留系统的处理对象是 GRASS 中的海量数据
GRASS 文件预留系统是 BES数据管理系统的有机组成部分
解决的问题 存在问题
GRASS 的迁移策略:存储池水位和迁移时间间隔(系统级的因素)
没有全面考虑用户的使用模式与需求
采取的措施 基于用户级的数据迁移,生成用户指定的文件预留列表 ,根据预留列表
将用户预留的文件保存在磁盘上
避免用户频繁访问的数据迁移到磁带库,从而提高数据访问速度
系统总体设计
为高能所计算中心的 GRASS 系统提供服务,改进 GRASS 系统的数据
迁移功能,实现面向用户的数据迁移,从而提高用户访问数据的速度。
MySQL
预留信息
用户
服务器
cron.daily
文件列表
文件列表
文件列表
C/S形式
B/S形式
预留信息存取
GRASS 文件预留系统 ----C/S 形式 使用形式: reserve 命令参数 [--dataset] 文
件名 / 数据集名 命令参数:
-q 查询预留信息 -c 修改预留天数 -r 预留文件 -d 删除预留文件
注:支持正则表达式 File1*,file2?,…,file[x-y] ( 其中 *、?、[x-y] 位置任意 )
用户输入
存取数据库
合法性检验
命令参数检验
文件信息检验
cron.daily
预留列表生成
预留列表
GRASSStorage
GRASS 文件预留系统 ----B/S 形式
GRASS目录树浏览
预留信息浏览
信息浏览
存取数据库
用户登录 AFS登录认证API
API
DataSetBookkeeping
GRASSStorage
Mysql
Hibernate
cron.daily预留文件列表
系统的 WEB 形式主要基于 Structs+Hibernate+Mysql 框架开发
子模块设计
用户选定预留目录
预留
当前
页对象
预留所有
对象
预留某个
对象
浏览GRASS目录树结构用户登录
用户名合法性判断
密码合法性判断
AFS账户认证
浏览GRASS预留信息
选定欲修改对象
修改预留天数
用户选定欲修改目录
修改当前页对象
修改所有对象
修改某个对象
浏览GRASS目录树结构
输入欲修改对象
功能实现 ---- 用户登录界面
功能实现 ---- 主页显示
显示当前的登录用户
功能实现 ----GRASS 系统的目录信息
功能实现 ----GRASS 数据操作
Browse dataset hierarchy Cancel Reservation
Reservation
Submit Transfer Request
Submit Del data Replica
Select a destination site
search your data
功能实现 ---- 预留信息修改
用户可以对选定的预留信息进行修改,默认的预留天数为 30
功能实现 ---- 预留信息浏览
关键技术 ----AFS 用户登录
采用 AFS 账号登录认证 ,实现与整个集群环境的有机整合
无需对用户管理,节省资源 后台实现调用 AFS 用户认证的 klog 命令获取 tokens
关键技术 ----Ajax 技术的使用
Server-side systems服务器 Server-side systems服务器
Datastorages,backend,Processing,legacy systems
Datastorages,backend,Processing,legacy systems
Web Server Web Server
HTTP requestHTML+CSS data
HTTP requestXML data
用户界面User Interface Ajax engine
User Interface
Browser Client
Browser ClientJavaScript callHTML+CSS data
未使用 Ajax 和使用 Ajax 的 WEB 比较
关键技术 ----Ajax 技术的使用
GRASS 目录树的实现
采用 AJAX 技术动态构造目录树,服务器无需一次将海量数据装载到 WEB
浏览器,这大大缩短服务器的响应时间。 预留所有对象按钮的实现
在用户发出请求时,后台才处理 nsls –l filepath 命令,获取 filepath 下的所有文件,无需每次装载页面时处理,大大缩短 WEB 页面与服务器的交互时间
关键技术 ----GRASS 文件分页显示
自定义的分页 提出的原因:当目录下文件数目太多时, nsls 、 nslisttape 等命令反应太慢 解决的方法:重新编写 GRASS 文件显示命令,每次只返回一个页面的记录数 ,
无需将所有记录数返回给 WEB 前端,解决文件数目太多(成千上万个)显示慢的问题。
使用方法: myls –s startN –e endN( 仅返回 endN-startN+1 条记录 )
运行结果
性能测试
0
100
200
300
400
500
600
700
800
900
1 2 3 4 5测试组
用户数
进程数平均事务响应时间(秒)
KB/ s吞吐率( )每秒处理事务请求
性能上已基本满足应用需求 利用 Mercury
LoadRunner 8.1 测试软件进行测试
模拟不同的用户量进行并发测试: 10, 50, 100,500, 800 等
测试结果显示,目前系统在 400到 500 个用户并发访问下是稳定的
测试环境已部署 http://cdev01.ihep.ac.cn:8
080/FileReserve/main.jsp
小结 本系统旨在解决 GRASS 分级存储系统的迁移策略存在的问题,实现面向
用户的数据迁移,提高用户访问数据的速度。主要实现的功能有: 实现命令行和图形界面两种用户接口
实现 WEB界面上的动态目录树构造,便于浏览 GRASS 系统的海量数据
重写 GRASS 数据显示命令,从而解决文件数目多,服务器反应慢的问题
实现基于文件、数据集以及磁带的预订
实现预留信息的浏览、修改、删除、批量预留、批量修改及批量删除功能
实现 AFS 、 GRASS 及 LUSTRE 的有机结合
具有良好的通用性和扩展性,是较好的海量数据管理软件的辅助工具。
本系统正在申请软件著作权。
谢谢大家!