CN104461403A - linux下命令行操作对象存储系统的方法和装置 - Google Patents

linux下命令行操作对象存储系统的方法和装置 Download PDF

Info

Publication number
CN104461403A
CN104461403A CN201410836548.XA CN201410836548A CN104461403A CN 104461403 A CN104461403 A CN 104461403A CN 201410836548 A CN201410836548 A CN 201410836548A CN 104461403 A CN104461403 A CN 104461403A
Authority
CN
China
Prior art keywords
file
storage system
object storage
order
catalogue
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.)
Pending
Application number
CN201410836548.XA
Other languages
English (en)
Inventor
孙龙飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Netqin Technology Co Ltd
Original Assignee
Beijing Netqin Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Netqin Technology Co Ltd filed Critical Beijing Netqin Technology Co Ltd
Priority to CN201410836548.XA priority Critical patent/CN104461403A/zh
Publication of CN104461403A publication Critical patent/CN104461403A/zh
Pending legal-status Critical Current

Links

Abstract

本发明提供了一种通过Linux下命令行访问对象存储内容的方法和装置。所述方法包括:响应于触发命令,进入访问对象存储系统的交互式操作环境;接收功能命令;将所述功能命令映射到所述对象操作系统提供的应用程序接口API;以及,执行所述APL以访问所述对象操作系统。根据本发明实施例,可以像操作本地文件系统一样操作对象存储系统,使得不熟悉对象存储技术的用户也能够方便地使用对象存储服务。

Description

linux下命令行操作对象存储系统的方法和装置
技术领域
本发明涉及文件存储领域,更具体地,涉及通过linux下命令行操作对象存储系统的方法和装置。
背景技术
随着数字技术的发展,需要存储的文件量越来越大。为了应对海量文件存储的需求,出现了各种网络存储技术。
存储区域网(Storage Area Network,简称SAN)是一种用高速(光纤)网络联接专业主机服务器的一种储存方式。SAN系统通常位于主机群的后端,它使用高速I/O联结方式。SAN系统通常应用在对网络速度要求高、对数据的可靠性和安全性要求高、对数据共享的性能要求高的应用环境中。其特点是代价高,性能好。但是由于SAN系统的价格较高,且可扩展性较差,已不能满足成千上万个CPU规模的系统。
网络附加存储(Network Attached Storage,简称NAS)是一套网络储存设备,通常直接连在网络上,并提供资料存取服务。一套NAS储存设备就如同一个提供数据文件服务的系统,其特点是性价比高。
对象存储系统(Object-Based Storage System,简称OSS)是综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的数据共享等优势,提供了高可靠性、跨平台性以及安全的数据共享的存储体系结构。
对象存储现在已逐渐成为海量文件存储的趋势,并逐渐取代原有的存储方式。作为对象存储的典型示例,阿里云为开发者提供了免费的对象存储服务(OSS),并提供相应的开发接口。然而,现在阿里云的oss服务只有两种使用方式:一是登录官网访问,二是用它提供的应用程序接口(Application Program Interface,简称API)来访问。这两种使用方式存在很大的局限性。不熟悉对象存储的用户操作起来很不方便。对象存储一般都应用到Linux操作系统上,而通常oss服务却没有提供像操作文件系统一样的命令行工具。
因此,比较熟悉传统的文件系统的操作方式的用户希望能够使用传统的操作文件系统的方式来操作对象存储。
发明内容
为了实现上述目的,本发明提出了一种通过Linux下命令行访问对象存储内容的机制,通过这种机制可以像操作本地文件系统一样操作对象存储。在本发明实施例中,将操作文件系统使用的命令,如ls、mkdir、cd、rm、cp、mv、chmod等功能命令融入到对象存储的操作中,使用户不需要了解对象存储的细节,就能方便的使用对象存储。而且,本发明实施例还提出,依托于对象存储的安全性,可以提供定时备份服务,将本地文件系统上的文件备份到对象存储系统中。
根据本发明的一个方面,提供了一种通过linux下命令行操作对象存储系统的方法。所述方法可以包括:响应于触发命令,进入访问对象存储系统的交互式操作环境;接收功能命令;将所述功能命令映射到所述对象操作系统提供的应用程序接口API;以及,执行所述API,以访问所述对象操作系统。
在本发明的一些实施例中,所述方法还包括:在接收到功能命令后,解析所接收的功能命令;根据解析结果,判断所述功能命令是否在预定义的命令集合中;以及,在所述功能命令存在于所述预定义的命令集中时,执行所述映射步骤。
在本发明的一些实施例中,所述映射步骤进一步包括:判断所述功能命令是对象操作命令还是文件备份命令。当所述功能命令是对象操作命令时,将所述功能命令映射到对应的一个或多个API。而当所述功能命令是文件备份命令时,增加定时任务。
在本发明的一些实施例中,所述方法还可以包括:接收所述对象存储系统反馈的所述API的执行结果;对所述结果进行格式化;以及,显示格式化后的结果。
在本发明的一些实施例中,所述功能命令可以是下述命令之一:ls,用于显示所述对象存储中的文件或目录信息;
create,用于在所述对象存储系统中创建一个bucket;
mkdir,用于在所述对象存储系统中创建文件夹;cd,用于切换所述对象存储系统的当前目录到指定的目录;rm,用于删除所述对象存储系统中的文件或目录;mv,用于移动或重命名所述对象存储系统中的文件或目录;cp,用于拷贝所述对象存储系统中的文件或是目录;chmod,用于为所述对象存储系统中的文件或目录赋权限;upload,用于上传本地文件系统中的文件或目录到所述对象存储系统中;download,用于下载所述对象存储系统中的文件或目录到本地文件系统;copy,用于创建备份任务,定时备份本地文件系统中的文件或目录到所述对象存储系统中;help,用于显示帮助信息;exit,用于退出系统。
根据本发明的另一方面,提供了一种通过linux下命令行操作对象存储系统的装置,包括:触发模块,配置为:响应于触发命令,进入访问对象存储系统的交互式操作环境;接收模块,配置为:接收功能命令;映射模块,配置为:将所述功能命令映射到所述对象操作系统提供的应用程序接口API;以及,执行模块,配置为:执行所述API以访问所述对象操作系统。
在本发明的一些实施例中,所述装置还包括:解析模块,配置为:解析所接收的功能命令;以及,判断模块,配置为:根据解析模块的解析结果判断所述功能命令是否在预定义的命令集合中。并且,所述映射模块在所述功能命令存在于所述预定义的命令集中时执行所述映射操作。
在本发明的一些实施例中,所述映射模块进一步包括:命令分发模块,配置为判断所述功能命令是对象操作命令还是文件备份命令;对象操作模块,配置为,当所述功能命令是对象操作命令时,将所述功能命令映射到对应的一个或多个API;以及,文件备份模块,配置为,当所述功能命令是文件备份命令时,创建定时任务。
在本发明的一些实施例中,所述装置还包括结果反馈模块,配置为:接收所述对象存储系统反馈的所述API的执行结果;对所述结果进行格式化;以及显示格式化后的结果。
通过本发明实施例,可以使得不熟悉对象存储的用户也能够方便地操作对象存储系统。
附图说明
通过下面结合附图说明本发明的优选实施例,将使本发明的上述及其它目的、特征和优点更加清楚,其中:
图1示意性地示出了可以在其中实现本发明实施例的应用场景的示意图;
图2示意性地示出了根据本发明实施例的通过linux下命令行操作对象存储系统的方法的流程图;
图3示意性地示出了根据本发明另一实施例的通过linux下命令行操作对象存储系统的方法的流程图;
图4示意性示出了根据本发明实施例的通过linux下命令行操作对象存储系统的装置的示意框图;
图5a和5b示出了根据本发明实施例的ls命令操作实例的屏幕示意图;
图6示出了根据本发明实施例的rm命令操作实例的屏幕示意图;
图7示出了根据本发明实施例的cp命令操作实例的屏幕示意图;以及
图8示出了根据本发明实施例的copy命令操作实例的屏幕示意图。
在本发明的所有附图中,相同或相似的结构均以相同或相似的附图标记进行标识。
具体实施方式
现在将参考附图来详细描述本发明,附图中示出了本发明的说明性实施例,以使得本领域技术人员能够实现本发明。应该注意:以下附图和示例不意味着将本发明的范围限制为单一实施例,相反通过互换和组合不同实施例的一些或全部所述或所示元素形成其他实施例也是可能的。此外,在可以使用已知组件来部分或完全实现本发明的特定元素的情况下,将仅描述这些已知组件中为了理解本发明所必需的那部分组件,且将省略对这些已知组件中其他部分的详细描述,以使得本发明更突出。除非本文中另行指出,否则本领域技术人员应该理解:尽管本发明的一些实施例描述为用软件形式实现,但是本发明不受限于此,而是也可以用固件、软件和固件的组合来实现,且反之亦然。除非本文中另行明确声明,否则在本说明书中,不应将示出了单一组件的实施例视为是限制性的,而是本发明意在包含包括多个相同组件在内的其他实施例,且反之亦然。此外,本发明包含本文中作为示意所引用的已知组件的当前和将来开发的等价物。
如本文所使用的,术语“对象存储系统”、“对象存储”、“对象存储服务”以及OSS可以互换地使用,其均指代基于对象的存储技术。尽管下文将主要以阿里云提供的免费对象存储服务作为示例,但是应该理解本发明也可以应用于其他对象存储系统。
如本文所使用的,术语“对象”是对象存储技术中对存储的元素的统称,它可以是文本文件、图片、视频等等。通常,可以将对象存储中的对象视为对应于Linux中的文件。
图1是示出了在其中可以实现本发明实施例的存储系统100的应用场景的示意图。如图1所示,存储系统100可以包括对象存储系统(OSS)110和使用Linux的客户端120-i,i=1,2,...。这些客户端可以通过附图标记120来统一指示。
OSS 110可以是任何已知的或将来开发的对象存储系统,其向用户提供各种API作为开发接口。例如,OSS 110可以是阿里云提供的免费的对象存储服务。尽管OSS 110示出为单个设备,但是应该理解,OSS 110可以驻留在单个物理设备上,或者可以分布在多个物理设备上。本发明在这方面不受限制。
客户端120可以是支持linux的各种计算机,如工作站、台式计算机、膝上型计算机等等。尽管在图1中仅示出两个客户端120-1和120-2,但是应该理解可以存在更多或更少的客户端120。根据本发明实施例的通过linux下命令行操作对象存储系统的装置可以作为客户端软件安装在客户端120中。
如图所示,客户端120可以经由网络130与OSS 110通信。该网络130可以是无线网络,也可以是有线网络,例如但不限于:移动通信网络、互联网、有线局域网、或者无线局域网等等。
图2示意性地示出了根据本发明实施例的通过linux下命令行操作对象存储系统的方法200的流程图。方法200可以由客户端120上安装的根据本发明实施例的客户端软件(或程序)来执行。方法200开始于接收到触发命令。
在步骤S210中,响应于触发命令(例如cstorage),进入访问对象存储系统(如阿里云OSS)的交互式操作环境。
在步骤S220中,接收功能命令。
根据本发明实施例,将预先定义功能命令的集合(也称为内部命令集)。该命令集例如可以包括各种常用的Linux下操作文件系统常用的命令,如:
ls:用于显示所述对象存储中的文件或目录信息;
create:用于在所述对象存储系统中创建一个bucket;
mkdir:用于在所述对象存储系统中创建文件夹;
cd:用于切换所述对象存储系统的当前目录到指定的目录;
rm,用于删除所述对象存储系统中的文件或目录;
mv:用于移动或重命名所述对象存储系统中的文件或目录;
cp:用于拷贝所述对象存储系统中的文件或是目录;
chmod:用于为所述对象存储系统中的文件或目录赋权限;
upload:用于上传本地文件系统中的文件或目录到所述对象存储系统中;
download:用于下载所述对象存储系统中的文件或目录到本地文件系统;
copy:用于创建备份任务:定时备份本地文件系统中的文件或目录到所述对象存储系统中;
help:用于显示帮助信息;
exit:用于退出系统;
等等。
应该理解,上述命令仅是示例性的,而不是作为限制。本发明实施例可以定义更多或者更少的命令,或者可以定义具有类似功能的其他命令名称。
当步骤S220中接收到的功能命令不是已经定义的命令时(即不是内部命令集中的命令时),将返回错误信息,方法200结束。
当步骤S220中接收到的功能命令是已经定义的命令时(即是内部命令集中的命令时),前进到步骤S230。
在步骤S230中,将所述功能命令映射到对象操作系统提供的应用程序接口API。各个功能命令与相关的API之间的对应关系可以通过合适的数据结构来存储,例如可以通过表格来存储。在这样的数据结构中,例如可以通过以功能命令的主命令名为关键字进行检索。应该理解,有些功能命令可能对应于一个API,而有些功能命令可能对应于多个API。特别地,有些功能命令(例如文件备份命令)有可能对应于定时任务,而定时任务可能对应于一个或多个其他功能命令,继而对应于一个或多个API。
在步骤S240中,执行所述功能命令映射到的API,以访问所述对象操作系统。
有些功能命令(例如rm,cp等)对应的API执行之后,OSS没有返回结果,于是方法200结束。
有些功能命令(例如,ls等)对应的API执行之后,OSS会反馈结果。于是,方法200还可以包括显示反馈结果的步骤。通常OSS这些结果对于不熟悉OSS的用户而言可能是费解的。因此,优选地,可以对反馈结果进行格式化,以便于用户理解的方式显示结果。
应该理解,图2仅是示意性的,方法200可以包括更多的可选步骤。
例如,在一些实施例中,在步骤S220中接收到功能命令后,可以解析所接收的功能命令(例如,提取主命令名称),然后根据解析结果,判断所接收的功能命令是否在预定义的命令集合中。
在另一些实施例中,步骤S230可以包括命令分发子步骤,区分对象操作命令和文件备份命令,以便对它们进行不同的处理。当接收到的功能命令是对象操作命令时,将功能命令映射到对应的一个或多个API。而当接收到的功能命令是文件备份命令时,创建定时任务,以定时将本地文件系统中的文件或目录上传到对象存储系统中。
在又一些实施例中,方法200可以包括以下可选步骤:接收所述对象存储系统反馈的所述API的执行结果;对所述结果进行格式化;以及,显示格式化后的结果。
图3示意性地示出了根据本发明另一实施例的通过linux下命令行操作对象存储系统的方法300的流程图。方法300可以由客户端120上安装的根据本发明实施例的客户端软件(或程序)来执行。方法300开始于Linux文件系统接收到触发命令,进入访问对象存储系统的交互式操作环境。
在步骤S320中,Linux文件系统接收到用户输入的命令。
在步骤S322中,解析用户输入的命令。
然后,在步骤S324中,根据解析结果,判断此命令是否存在。例如,可以判断该命令输入的格式是否正确,以及此命令的主命令名称是否存在于预定义的命令集中。如果此命令不存在,则认为此命令不能执行,于是前进到步骤S354,把相应的错误结果进行格式化后告诉Linux文件系统。如果此命令存在,则前进到步骤S332。
在步骤S332中,进行命令分发。具体地,如果接收到的命令是对文件进行直接操作的命令(即对象操作命令),如ls、mkdir、cd、rm、cp、mv、chmod,则将该命令分发给对象操作模块,前进到步骤S334。如果接收到的命令是对文件进行备份的命令(即文件备份命令),则将该命令分发给文件备份模块,前进到步骤S336。
在步骤S334中,执行命令到API的映射,选取该命令对应的一个或多个API。然后,前进到步骤S340,执行API。
在步骤S336中,检查要备份的文件是否存在。如果存在,则前进到步骤S338,创建定时任务。然后通过步骤S334和步骤S340,处理定时任务中定义的对象操作命令,以完成文件上传备份。如果步骤S336中的检查结果是要备份的文件不存在,则前进到步骤S354,把相应的错误结果进行格式化后告诉Linux文件系统。
取决于API的不同,在执行步骤S340之后,有时不存在结果反馈,于是方法300结束。有时,OSS对象存储服务会反馈相应的结果。在这种情况下,方法300前进到步骤S352,接收OSS反馈的结果。然后,在步骤S354中,结果反馈模块对反馈的结果进行格式化,把结果优美的显示出来。
下面通过若干命令操作实例对根据本发明实施例的方法300进行详述。
1.ls命令操作实例
首先在Linux文件系统中输入cstorage命令,进入访问对象存储系统的交互式操作方式。
然后,输入“ls”命令,将如图5a所示那样显示对象存储系统中的文件或目录信息。
或者,输入“ls-1”命令,将如图5b所示那样显示对象存储系统中的文件或目录的详细信息。
具体地,在Linux操作系统接收到“ls”或“ls-1”命令的情况下,将进行命令解析,主要是提取主命令“ls”。然后判断“ls”命令是否在命令集中。在本实例中,“ls”存在于命令集中。于是,将该命令交给命令分发模块判断是对象操作命令还是文件备份命令。在本实例中,“ls”是对象操作命令,于是分发给对象操作模块,然后从命令映射API中找到对应的接口“oss.List_all_my_buckets()”。然后,执行这个接口“oss.list_all_my_buckets()”。执行完之后,会收到OSS反馈的结果,但是反馈的结果是通常是如下形式的:
[{’CreationDate’:’2014-10-24T09:31:54.000Z’,’Location’:’oss-cn-hangzhou-a’,’Name’:’netqin-03’},{’CreationDate’:’2014-10-28T06:38:53.000Z’,’Location’:’oss-cn-hangzhou-a’,’Name’:’netqin-04’},{’CreationDate’:’2014-10-28T06:39:56.000Z’,’Location’:’oss-cn-hangzhou-a’,’Name’:’netqin-05’},{’Creat ionDate’:’2014-10-21T10:20:58.000Z’,’Location’:’oss-cn-hangzhou-a’,’Name’:’sunl’},{’CreationDate’:’2013-12-18T02:32:21.000Z’,’Locat ion’:’oss-cn-hangzhou-a’,’Name’:’sunlf’},{’CreationDate’:’2014-11-05T09:02:08.000Z’,’Location’:’oss-cn-hangzhou-a’,’Name’:’sunlf-01’}]
这种形式,用户看起来不方便。于是,根据本发明实施例将反馈的结果交给结果反馈模块进行格式化,以便于用户理解的方式进行展示。如果输入的命令是不带参数的“ls”,则是如图5a所示的展示方式。如果输入的命令是带参数“-1”的“ls-1”,则是如图5b的展示方式。
2.rm命令操作实例:
首先进入访问对象存储系统的交互式操作方式。然后输入rm命令,于是将显示如图6所示的信息。
具体地,如图6所示,linux文件系统接收到“rm dfg”命令,进行命令解析,提取主命令“rm”。然后判断“rm”是否存在于命令集中。在本实例中,“rm”存在于命令集中。于是,将该命令交给命令分发模块进行分发。在本实例中,“rm”是对象操作命令,于是分发到对象操作命令行列。然后,通过命令映射API,找到“oss.delete_object(object)”。此处,如图6所示,存在一个用户交互的过程,这是因为接收到的“rm dfg”命令不带参数“-f”,所以询问用户是否确定要删除“dfg”。用户输入“y”表示确定删除“dfg”,于是“dfg”被删除。如果接收到的rm命令带有“-f”参数,则是强制删除不需要询问用户。在输入的命令是“rm-fsdfsf”的情况下,没有反馈结果,因此不需要展示给用户。
3.cp命令操作实例
首先进入访问对象存储系统的交互式操作方式。然后,输入cp命令,于是将显示如图7所示的信息。
具体地,如图7所示,Linux文件系统接收到“cp/netqin-03/werre/netqin-05/werre”命令,进行命令解析,提取主命令“cp”。然后判断“cp”是否存在于命令集中。在本实例中,检查到“cp”存在于命令集中。于是,将该命令交给命令分发模块进行分发。在本实例中,“cp”是对象操作命令,于是分发到对象操作命令行列。然后,通过命令映射API找到oss.copy_object这个接口。之后提取剩下的参数连同该接口一并交给执行API的模块以便执行。执行完之后OSS没有反馈结果,所以没有信息反馈给用户。但是,用户可以通过ls命令查看拷贝后的情况,如图7所示。
4、copy命令操作实例
首先进入访问对象存储系统的交互式操作方式。然后输入copy相关命令,于是将显示如图8所示的信息。
具体地,Linux文件系统接收到“copy/home/test/netqin-03/test-h 1”命令,进行命令解析,提取主命令“copy”。然后判断“copy”是否存在于命令集中。在本实例中,“copy”存在于命令集中。于是,将该命令交给命令分发模块进行分发。在本实例中,“copy”是文件备份命令,于是分发到文件备份行列。然后检查待备份文件(如/home/test)是否存在。如果存在,则创建-个定时任务(crond)。根据解析出的命令所带的“-h 1”参数,每天的1点上传“/home/test”文件到云存储(即对象存储系统中)的“/netqin-03/test”中。例如,可以通过如下方式增加该定时任务:
*1***CStorage upload/home/test/netqin-03/test。
上文已经结合优选实施例对本发明实施例的方法进行了描述。本领域技术人员可以理解,上面示出的方法仅是示例性的。本发明的方法并不局限于上面示出的步骤和顺序。本领域技术人员根据所示实施例的教导可以进行许多变化和修改。
图4示意性示出了根据本发明实施例的通过linux下命令行操作对象存储系统的装置400的示意框图。
如图所示,装置400可以包括:触发模块410、接收模块420、映射模块430以及执行模块440。触发模块410可以配置为:响应于触发命令(例如cstorage),进入访问对象存储系统的交互式操作环境。接收模块420可以配置为:在该交互式操作环境下接收功能命令。映射模块430可以配置为:将功能命令映射到对象操作系统提供的应用程序接口API。执行模块可以配置为:执行API以访问该对象操作系统。
可选地,装置400可以包括更多的可选模块。
在本发明的一些实施例中,装置400还可以包括解析模块422和判断模块424。解析模块422配置为:解析所接收的功能命令,例如提取主命令,以及提取可能存在的参数。判断模块424配置为:根据解析模块422的解析结果,判断所述功能命令是否在预定义的命令集合中。该情形下,映射模块430仅在所接收的功能命令存在于预定义的命令集中时,才会执行映射操作。
在本发明的一些实施例中,映射模块430可以进一步包括:命令分发模块432、对象操作模块434和文件备份模块436。命令分发模块432配置为:判断接收到的功能命令是对象操作命令还是文件备份命令,以相应地将该功能命令分发给对象操作模块或文件备份模块。对象操作模块434配置为将对象操作命令映射到对应的一个或多个API。文件备份模块436配置为:针对文件备份命令,创建定时任务。具体地,文件备份模块436可以配置为:检查要备份的文件是否存在,以及如果存在,则创建定时任务以定时上传本地文件到OSS进行文件备份。该定时任务通常包含对象操作命令,于是将定时调用对象操作模块以处理其中包含的对象操作命令。
在本发明的一些实施例中,装置400还包括结果反馈模块440。结果反馈模块440配置为:接收对象存储系统反馈的API执行结果;对所述结果进行格式化;以及显示格式化后的结果。
装置400可以用于执行根据本发明实施例的通过linux下命令行操作对象存储系统的方法,如方法200或300。装置400中的各个模块用于分别执行上文已经详述的方法200或300中的对应步骤。因此,在此不再对装置400的各个模块的详细操作进行赘述。
上文已经结合优选实施例对本发明实施例的装置进行了描述。本领域技术人员可以理解,上面示出的装置仅是示例性的。本发明的装置并不局限于上面示出的模块,而是可以包括更多或者更少的模块。本领域技术人员根据所示实施例的教导可以进行许多变化和修改。
根据本发明实施例,不熟悉对象存储服务的用户能够通过Linux下命令行来容易地访问对象存储内容,能像操作本地文件系统一样操作对象存储系统。而且本发明实施例还通过提供文件备份命令,提供定时备份服务,可以定期将本地文件系统上的文件备份到对象存储系统中。从而依托对象存储的安全性来保证文件的安全。
本领域技术人员应该理解,尽管通过具体实施例描述了本发明,但是本发明的范围不限于这些具体实施例。本发明的范围由所附权利要求及其任何等同含义限定。

Claims (10)

1.一种通过linux下命令行操作对象存储系统的方法,包括:
响应于触发命令,进入访问对象存储系统的交互式操作环境;
接收功能命令;
将所述功能命令映射到所述对象操作系统提供的应用程序接口API;以及
执行所述API,以访问所述对象操作系统。
2.根据权利要求1所述的方法,还包括:
解析所接收的功能命令;
根据解析结果,判断所述功能命令是否在预定义的命令集合中;以及
在所述功能命令存在于所述预定义的命令集中时,执行所述映射步骤。
3.根据权利要求1或2所述的方法,其中所述映射步骤进一步包括:
判断所述功能命令是对象操作命令还是文件备份命令;以及
当所述功能命令是对象操作命令时,将所述功能命令映射到对应的一个或多个API;而当所述功能命令是文件备份命令时,增加定时任务。
4.根据权利要求1或2所述的方法,还包括:
接收所述对象存储系统反馈的所述API的执行结果;
对所述结果进行格式化;以及
显示格式化后的结果。
5.根据权利要求1所述的方法,其中所述功能命令是下述命令之一:
ls,用于显示所述对象存储中的文件或目录信息;
create,用于在所述对象存储系统中创建一个bucket;
mkdir,用于在所述对象存储系统中创建文件夹;
cd,用于切换所述对象存储系统的当前目录到指定的目录;
rm,用于删除所述对象存储系统中的文件或目录;
mv,用于移动或重命名所述对象存储系统中的文件或目录;
cp,用于拷贝所述对象存储系统中的文件或是目录;
chmod,用于为所述对象存储系统中的文件或目录赋权限;
upload,用于上传本地文件系统中的文件或目录到所述对象存储系统中;
download,用于下载所述对象存储系统中的文件或目录到本地文件系统;
copy,用于创建备份任务,定时备份本地文件系统中的文件或目录到所述对象存储系统中;
help,用于显示帮助信息;
exit,用于退出系统。
6.一种通过linux下命令行操作对象存储系统的装置,包括:
触发模块,配置为:响应于触发命令,进入访问对象存储系统的交互式操作环境;
接收模块,配置为:接收功能命令;
映射模块,配置为:将所述功能命令映射到所述对象操作系统提供的应用程序接口API;以及
执行模块,配置为:执行所述API以访问所述对象操作系统。
7.根据权利要求6所述的装置,还包括:
解析模块,配置为:解析所接收的功能命令;以及
判断模块,配置为:根据解析模块的解析结果判断所述功能命令是否在预定义的命令集合中,
其中,所述映射模块进一步配置为:在所述功能命令存在于所述预定义的命令集中时,执行所述映射操作。
8.根据权利要求6或7所述的装置,其中所述映射模块进一步包括:
命令分发模块,配置为:判断所述功能命令是对象操作命令还是文件备份命令;
对象操作模块,配置为:当所述功能命令是对象操作命令时,将所述功能命令映射到对应的一个或多个API;以及
文件备份模块,配置为:当所述功能命令是文件备份命令时,增加定时任务。
9.根据权利要求6或7所述的装置,还包括结果反馈模块,配置为:
接收所述对象存储系统反馈的所述API的执行结果;
对所述结果进行格式化;以及
显示格式化后的结果。
10.根据权利要求6或7所述的装置,其中所述功能命令是下述命令之一:
ls,用于显示所述对象存储中的文件或目录信息;
create,用于在所述对象存储系统中创建一个bucket;
mkdir,用于在所述对象存储系统中创建文件夹;
cd,用于切换所述对象存储系统的当前目录到指定的目录;
rm,用于删除所述对象存储系统中的文件或目录;
mv,用于移动或重命名所述对象存储系统中的文件或目录;
cp,用于拷贝所述对象存储系统中的文件或是目录;
chmod,用于为所述对象存储系统中的文件或目录赋权限;
upload,用于上传本地文件系统中的文件或目录到所述对象存储系统中;
download,用于下载所述对象存储系统中的文件或目录到本地文件系统;
copy,用于创建备份任务,定时备份本地文件系统中的文件或目录到所述对象存储系统中;
help,用于显示帮助信息;
exit,用于退出系统。
CN201410836548.XA 2014-12-29 2014-12-29 linux下命令行操作对象存储系统的方法和装置 Pending CN104461403A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410836548.XA CN104461403A (zh) 2014-12-29 2014-12-29 linux下命令行操作对象存储系统的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410836548.XA CN104461403A (zh) 2014-12-29 2014-12-29 linux下命令行操作对象存储系统的方法和装置

Publications (1)

Publication Number Publication Date
CN104461403A true CN104461403A (zh) 2015-03-25

Family

ID=52907532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410836548.XA Pending CN104461403A (zh) 2014-12-29 2014-12-29 linux下命令行操作对象存储系统的方法和装置

Country Status (1)

Country Link
CN (1) CN104461403A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365694A (zh) * 2019-07-23 2019-10-22 中国工商银行股份有限公司 虚拟主机与真实主机间数据同步处理的系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130054888A1 (en) * 2011-08-26 2013-02-28 Vmware, Inc. Configuring object storage system for input/output operations
CN103106207A (zh) * 2011-11-10 2013-05-15 中国移动通信集团公司 一种对象存储系统中元数据分布的方法和设备
CN103559247A (zh) * 2013-10-29 2014-02-05 北京华胜天成科技股份有限公司 一种数据业务处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130054888A1 (en) * 2011-08-26 2013-02-28 Vmware, Inc. Configuring object storage system for input/output operations
CN103106207A (zh) * 2011-11-10 2013-05-15 中国移动通信集团公司 一种对象存储系统中元数据分布的方法和设备
CN103559247A (zh) * 2013-10-29 2014-02-05 北京华胜天成科技股份有限公司 一种数据业务处理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
龚玮: "对象存储文件系统的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110365694A (zh) * 2019-07-23 2019-10-22 中国工商银行股份有限公司 虚拟主机与真实主机间数据同步处理的系统及方法

Similar Documents

Publication Publication Date Title
US10528585B2 (en) ETL tool interface for remote mainframes
JP6774499B2 (ja) オフラインでのハイブリッドアプリケーションへのアクセスの提供
US9069579B2 (en) N-way synchronization of desktop images
CN109564529B (zh) 基于符号链接的占位符
JP6140145B2 (ja) テナント移行にわたるテナント・データのリカバリ
JP6285870B2 (ja) オン・デマンドのステージングを用いる高速アプリケーション・ストリーミング
US10210172B1 (en) File system integration and synchronization between client and server
US9600300B2 (en) Method to generate dynamic customized context-sensitive help
US20200099745A1 (en) Storage segment server covered cache
US20230101774A1 (en) Techniques for performing clipboard-to-file paste operations
US9092292B2 (en) Shared application binary storage
US9696887B2 (en) Integrated user interface using linked data
US11698809B1 (en) Systems and methods for real-time file storage and retrieval
CN104461403A (zh) linux下命令行操作对象存储系统的方法和装置
US20210232562A1 (en) Container-image reproduction and debugging
Cohen et al. Google Compute Engine: Managing Secure and Scalable Cloud Computing
Kapadia et al. OpenStack Object Storage (Swift) Essentials
JP2021515301A (ja) システムにおけるガベージ・コレクション処理中の障害からのリカバリのための方法、システムにおけるガベージ・コレクション処理中の障害からのリカバリのためのコンピュータ・プログラム、および装置
WO2023185626A1 (en) Image management for container runtimes
US11157443B2 (en) Management of history metadata of a file
Asheim et al. CoFaaS: Automatic Transformation-based Consolidation of Serverless Functions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150325