CN114676075A - 存储系统和数据管理方法 - Google Patents

存储系统和数据管理方法 Download PDF

Info

Publication number
CN114676075A
CN114676075A CN202111010749.0A CN202111010749A CN114676075A CN 114676075 A CN114676075 A CN 114676075A CN 202111010749 A CN202111010749 A CN 202111010749A CN 114676075 A CN114676075 A CN 114676075A
Authority
CN
China
Prior art keywords
file
site
data
metadata
storage device
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
CN202111010749.0A
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN114676075A publication Critical patent/CN114676075A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/156Query results presentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种在站点之间无需相互保持与全部文件对应的关联文件就能够共享文件的存储系统和数据管理方法。一种能够在各自具有能够提供文件系统的存储设备的多个站点之间共享文件的存储系统,其中存储设备包括存储有文件的数据的存储装置和与存储装置连接的控制器,具有与文件关联的、参照文件的关联文件,控制器在文件要被更新的情况下,基于来自关联文件的参照状况来更新文件和关联文件,控制器在受理了关于其他站点中存储的文件的访问请求的情况下,对其他站点进行询问,在接受了访问请求的控制器所在的站点中生成用于访问该访问请求所请求访问的文件的关联文件。

Description

存储系统和数据管理方法
技术领域
本发明大致涉及在分散的站点之间共享文件的存储系统和数据管理方法。
背景技术
数字数据的数据量急速地增大,企业通过分析这些数据而开展用于提取业务上的知识的数据的利用。对于在增大的数字数据中占较大比率的非结构数据,一般在文件存储、对象存储等中收集并分析。
另外,将内部部署、私有云、公共云等组合而成的混合云、多重云等系统方式正在逐渐普及。企业为了利用这样的跨多个站点的系统中生成的数据,而需要在该系统中从分散的各站点寻找必要的数据、并将作为分析对象的数据传输至本站点的功能。
上述系统对于在站点中设置的文件/对象存储设备中保存的用户文件,生成在其他站点的文件/对象存储设备中保持元数据的存根信息。另外,上述系统提供在参照存根信息时从其他站点获取数据的调用功能。除此以外,上述系统中,也提供对于访问较少的用户文件、保留元数据并将数据从站点中设置的文件/对象存储设备中删除的存根化功能、将用户文件复制至其他站点的文件/对象存储设备的功能。将这些站点中设置的文件/对象存储设备协作地提供的这些功能称为文件虚拟化功能。
近年来,公开了通过在站点之间相互保存各站点的存根信息而进行文件的存在确认,并且检测对存根信息的参照,获取必要的数据块的方法(参考专利文献1)。另外,关于元数据的更新,为了保持站点之间的一致性而获取全局锁定。
现有技术文献
专利文献
专利文献1:国际公开第2016/121093号
发明内容
发明要解决的课题
但是,专利文献1中记载的技术中,为了在站点之间相互保存所存储的用户文件的存根信息(例如参照用户文件的关联文件),存储的存储容量的消耗增大。除此以外,在追加站点时,需要为了在新站点中生成关联文件而从其他站点获取数据,需要时间。
本发明是考虑以上方面而得出的,提出一种在站点之间无需相互保存与全部文件对应的关联文件就能够共享文件的存储系统等。
用于解决课题的技术方案
为了解决该课题,本发明中,一种存储系统,能够在各自具有能够提供文件系统的存储设备的多个站点之间共享文件,其中,所述存储设备包括存储有文件的数据的存储装置和与所述存储装置连接的控制器,具有与所述文件关联的、参照所述文件的关联文件,所述控制器在所述文件要被更新的情况下,基于来自所述关联文件的参照状况来更新所述文件和关联文件,所述控制器在受理了关于其他站点中存储的文件的访问请求的情况下,对所述其他站点进行询问,在接受了所述访问请求的控制器所在的站点中生成用于访问所述访问请求所请求访问的文件的关联文件。
上述结构中,因为与关于其他站点中存储的文件的访问请求相应地生成关联文件,所以存储不需要存储其他站点的全部文件的关联文件,能够削减站点之间的文件共享所需的关联文件。例如,对于各站点中存储关联文件所需的存储容量、和追加新站点时获取关联文件的时间,能够进行改善。
发明效果
根据本发明,在站点之间,无需相互保存与全部文件对应的关联文件,就能够共享文件。
附图说明
图1是表示第一实施方式的存储系统的结构的一例的图。
图2是表示第一实施方式的文件/对象存储设备的结构的一例的图。
图3是表示第一实施方式的用户文件和用户目录的一例的图。
图4是表示第一实施方式的元数据DB的一例的图。
图5是表示第一实施方式的管理信息文件的一例的图。
图6是表示第一实施方式的操作日志的一例的图。
图7是表示第一实施方式的访问权管理表的一例的图。
图8是表示第一实施方式的站点间连接管理表的一例的图。
图9是表示第一实施方式的跨站点元数据检索结果回应的一例的图。
图10是表示第一实施方式的跨站点元数据检索处理的一例的图。
图11是表示第一实施方式的站点内元数据检索处理的一例的图。
图12是表示第一实施方式的存根生成处理的一例的图。
图13是表示第一实施方式的后台数据获取处理的一例的图。
图14是表示第一实施方式的文件参照处理的一例的图。
图15是表示第一实施方式的数据获取站点选择处理的一例的图。
图16是表示第一实施方式的文件更新处理的一例的图。
图17是表示第一实施方式的操作日志分析处理的一例的图。
图18是表示第一实施方式的元数据提取处理的一例的图。
图19是表示第一实施方式的复制处理的一例的图。
图20是表示第一实施方式的存根化处理的一例的图。
具体实施方式
(I)第一实施方式
以下,详细叙述本发明的一个实施方式。但是,本发明并不限定于实施方式。
符合本发明的1个观点的文件/对象存储设备,具有管理用户文件的元数据的元数据数据库(元数据DB)。另外,接收来自客户端终端的检索查询,将该检索查询传输至全部站点,从各站点的元数据DB中检索对应的用户文件。除此以外,对于从检索结果中选择的用户文件在站点内的文件/对象存储设备中生成存根信息。
接着,基于附图说明本发明的实施方式。以下的记载和附图是用于说明本发明的举例,为了使说明明确,而适当进行了省略和简化。本发明也能够用其他各种方式实施。只要没有特别限定,各构成要素就可以是单个也可以是多个。
另外,以下说明中,在附图中对于同一要素附加相同的编号,适当省略说明。另外,在不区分相同种类的要素进行说明的情况下,使用包括副编号的参考符号中的共通部分(除副编号外的部分),在区分相同种类的要素进行说明的情况下,有时使用包括副编号的参考符号。例如,不特别区分站点进行说明的情况下,记载为“站点110”,在区分各个站点进行说明的情况下,有时如“站点110-1”、“站点110-2”一般记载。
本说明书等中的“第一”、“第二”、“第三”等表述,是为了识别构成要素而附加的,并不一定限定数量或顺序。另外,用于识别构成要素的编号,按每个语境使用,在1个语境中使用的编号,在其他语境中并不一定表示同一结构。另外,并不禁止用某个编号识别的构成要素兼具用其他编号识别的构成要素的功能。
<系统结构>
图1是表示本实施方式中的存储系统100的结构的一例的图。
本存储系统100包括站点110-1、110-2、110-3。站点110之间用WAN(Wide AreaNetwork)即网络120连接。另外,图1中,图示了3个站点110-1、110-2、110-3,但本实施方式中站点110的数量并没有特别的限制。
站点110-1具有客户端终端111-1、文件/对象存储设备112-1和管理终端113-1。客户端终端111-1与文件/对象存储设备112-1与管理终端113-1例如用站点110-1内的LAN(Local Area Network)等网络相互连接。
客户端终端111是能够进行各种信息处理的计算机等信息处理装置。客户端终端111在文件/对象存储设备112中保存用户文件,进行对用户文件的读和写等各种操作。文件/对象存储设备112的具体结构在后文中叙述。管理终端113是能够进行各种信息处理的计算机等信息处理装置。管理终端113进行文件/对象存储设备112的管理,在文件/对象存储设备112中发生了异常时等,对文件/对象存储设备112进行各种操作指示等。
站点110-2和站点110-3也具有客户端终端111和文件/对象存储设备112。另外,图1中图示的站点110-1、110-2、110-3的硬件结构只是举例,只要是至少分别具有1台文件/对象存储设备112的结构,关于其台数、具有其他硬件结构就没有限制。
<文件/对象存储设备>
图2是表示文件/对象存储设备112的结构的一例的图。
文件/对象存储设备112具有控制器210和存储装置220。
控制器210具有处理器211、存储器212、缓存213、接口214(I/F)、和接口215(I/F)。
处理器211进行控制器210和文件/对象存储设备112整体的动作控制。存储器212暂时存储处理器211的动作控制中使用的程序和数据。缓存213暂时保存从客户端终端111写入的数据和从存储装置220读取的数据。接口214进行与站点110-1、110-2、110-3内的其他客户端终端111、文件/对象存储设备112等之间的通信。接口215进行与存储装置220之间的通信。
在存储器212中,保存有文件虚拟化程序212A、IO Hook程序212B、元数据DB程序212C、元数据检索程序212D、元数据提取程序212E、协议处理程序212F和版本管理程序212G。
存储装置220具有处理器221、存储器222、缓存223、存储设备224和接口225(I/F)。
处理器221进行存储装置220的动作控制。存储器222暂时存储处理器221的动作控制中使用的程序和数据。缓存223暂时保存从控制器210写入的数据和从存储设备224读取的数据。存储设备224保存各种文件。接口225进行与控制器210之间的通信。在存储设备224中,保存有用户文件201、用户目录202、元数据DB203、管理信息文件204、操作日志205、访问权管理表206和站点间连接管理表207。
文件虚拟化程序212A响应对操作日志205的监视、来自客户端终端111的请求,进行对用户文件201和用户目录202的处理(复制处理或存根化处理或调用处理)等。
IO Hook程序212B监视接受来自客户端终端111的请求而由协议处理程序212F发起的对用户文件201和用户目录202的处理,在发生了处理的情况下,进行对操作日志205追加记录操作内容、伴随操作发生的元数据DB203和管理信息文件204的更新等管理信息的更新。
元数据DB程序212C管理元数据DB203。
元数据检索程序212D基于来自客户端终端111的检索查询,在全部站点110的元数据检索程序212D之间协作地对各站点110的元数据DB程序212C进行请求,进行元数据DB203中包括的用户文件201的元数据的收集和加工。
元数据提取程序212E基于来自文件虚拟化程序212A的请求,分析用户文件201的数据并提取元数据,将提取出的元数据登记至元数据DB203。另外,元数据提取程序212E基于来自客户端终端111的请求,分析用户文件201的数据并提取元数据,将提取出的元数据登记至元数据DB203。本实施方式中,作为元数据DB203中登记的元数据的一例,示出后述的图4,但例如登记照片文件中识别出的对象的名称、推测的拍摄场所的信息等,对于登记的元数据的种类和数量并不限制。
协议处理程序212F接收来自客户端终端111的各种请求,处理该请求中包括的协议。
版本管理程序212G是在文件/对象存储设备112中保存的数据中发生了更新时保留更新前的数据、分版本进行管理的程序。
<文件保存结构>
图3是表示文件/对象存储设备112保存的用户文件201和用户目录202的一例的图。
图3中,在各站点110中,客户端终端111在文件/对象存储设备112提供的文件系统中保存数据。作为一例,站点110-1在用户目录202-10(根目录)下具有用户目录202-11、202-12、202-13。用户目录202-11、202-12、202-13分别具有用户文件201-12、201-21、201-31。
另外,示出了客户端终端111在文件/对象存储设备112提供的文件系统上操作用户文件201的例子,但用户文件201的操作并不限于该例。例如,也可以是作为对象存储用URI(Uniform Resource Identifier)指定用户文件201并用S3(Simple StorageService)、Swift协议进行操作的形式。
<版本管理功能>
另外,文件/对象存储设备112具有版本管理功能,能够指定版本不同的用户文件201进行操作。作为一例,站点110-1中,具有用户文件201-11作为用户文件201-12的旧版本。原则上,文件/对象存储设备112将从客户端终端111进行的各操作应用于最新的用户文件201,但通过在操作时指定版本也能够进行旧版本的用户文件201的操作。另外,本实施方式中,用文件/对象存储设备112提供版本管理功能,但例如也可以用生成用户文件201的副本的方法等,保留旧的用户文件201。
<UUID(Universally Unique Identifier:通用唯一识别符)>
对各用户文件201赋予UUID。不同站点110的用户文件201和不同文件路径的用户文件201允许UUID和版本双方都具有相同的值,具有相同的UUID和版本的用户文件201参照同一数据。例如,用户文件201-11和用户文件201-41和用户文件201-61具有相同的UUID和版本,所以对于从客户端终端111进行的参照操作,返回同一数据。因为存在即使是被赋予了站点110之间不同的文件路径的用户文件201、用UUID和版本指示的数据也相同的事例,所以本存储系统100中,将文件路径视为虚拟的路径(虚拟路径),将UUID和版本视为指定实际的数据的路径(实际路径)。
<文件状态>
具有相同的UUID和版本的用户文件201,分类为Original状态、Stub状态、Cache状态、Replica状态这4种文件状态。
Original状态是客户端终端111生成的用户文件201的最初的文件状态。Original状态的用户文件201具有用户文件201的全部数据。Stub状态是可以包括Original状态的用户文件201的数据的一部分的文件状态。Stub状态的用户文件201是为了参照其他站点110的Original状态的用户文件201而生成的,不具有用户文件201的全部数据或者部分不具有。对于Stub状态的用户文件201,从客户端终端111接收了未保有数据的参照操作的情况下,从将UUID和版本设为相同的Original状态或Replica状态的用户文件201获取数据。Cache状态是通过Stub状态的用户文件201完成全部数据的获取而转移至的文件状态。Replica状态是作为Original状态的用户文件201的冗余化数据而保持了用户文件201中包括的全部数据的文件状态。
Original状态是在UUID和版本相同的用户文件201中仅由单一用户文件201具有的文件状态,允许由客户端终端111进行写操作。由此,能够避免每次写操作时获取相同UUID和版本的全部用户文件201的锁定。对Stub状态、Cache状态或Replica状态的用户文件201实施了客户端终端111进行的写操作的情况下,赋予不同的UUID之后更新数据。Cache状态和Replica状态都是具有全部数据的文件状态。但是,Replica状态的用户文件201的数据为了数据保护而不允许破坏,这一点上不同。因此,对Replica状态的用户文件201进行写操作时,复制数据并赋予新的UUID之后使更新反映出来。另一方面,对Cache状态的用户文件201进行写操作时,不复制数据,赋予新的UUID之后使更新反映出来。
另外,本实施方式中,对Stub状态、Cache状态或Replica状态的用户文件201进行写操作时,赋予不同的UUID并使更新反映出来。但是,例如也可以是禁止对Stub状态、Cache状态或Replica状态的用户文件201进行写操作,或者在写操作时使更新反映至存储系统100内具有相同UUID的全部用户文件201的结构。
<元数据DB>
图4是表示文件/对象存储设备112的元数据DB203的一例的图。
元数据DB203的条目是对于文件/对象存储设备112内的每个用户文件201生成的。
元数据DB203的条目中包括UUID401、版本402、虚拟路径403、文件状态404、Original保持站点405、Stub保持站点406、Cache保持站点407、Replica保持站点408、文件种类409和关键字410的信息。
在UUID401中,存储表示对用户文件201赋予的UUID的信息。在版本402中,存储表示用户文件201的版本的信息。在虚拟路径403中,存储表示用户文件201的虚拟路径的信息。在文件状态404中,存储表示用户文件201的文件状态的信息。
在Original保持站点405中,存储表示保存UUID401和版本402具有相同的值、文件状态是Original状态的用户文件201的其他站点110的信息。在Stub保持站点406中,存储表示保存UUID401和版本402具有相同的值、文件状态是Stub状态的用户文件201的其他站点110的信息。在Cache保持站点407中,存储表示保存UUID401和版本402具有相同的值、文件状态是Cache状态的用户文件201的其他站点110的信息。在Replica保持站点408中,存储表示保存UUID401和版本402具有相同的值、文件状态是Replica状态的用户文件201的其他站点110的信息。
在文件种类409中,存储表示用户文件201的文件种类的信息。在关键字410中,存储表示用元数据提取程序212E从用户文件201的数据的内容中提取出的关键字的信息。
作为用元数据提取程序212E提取出的、在元数据DB203中登记的信息的一例,示出了关键字410,但也可以像存储照片文件中识别出的对象的名称、推测的拍摄场所等信息这样地,在关键字410中存储与例子不同的多种信息。
<管理信息文件>
图5是表示文件/对象存储设备112的管理信息文件204的一例的图。
管理信息文件204是对于文件/对象存储设备112内的每个用户文件201生成的。管理信息文件204具有用户文件管理信息510和部分管理信息520。
用户文件管理信息510中,包括UUID511、版本512、虚拟路径513、文件状态514和元数据已提取标志515的信息。
在UUID511中,存储表示对用户文件201赋予的UUID的信息。在版本512中,存储表示用户文件201的版本的信息。在虚拟路径513中,存储表示用户文件201的虚拟路径的信息。在文件状态514中,存储表示用户文件201的文件状态的信息。在元数据已提取标志515中,存储表示对于用户文件201是否已应用后述的元数据提取处理S1800的信息。
部分管理信息520由与用偏移量521和长度522表示的用户文件201的区域对应的多个条目构成。部分管理信息520的各条目中,包括偏移量521、长度522和部分状态523的信息。
在偏移量521中,存储表示条目所示的用户文件201内的区域的偏移量的信息。在长度522中,存储表示条目所示的用户文件201内的区域的长度的信息。在部分状态523中,存储表示条目所示的用户文件201的区域的部分状态的信息。
部分状态523可以取“Cache”和“Stub”和“Dirty”这3种值中的任一者。“Cache”表示对象区域的数据保持在本站点110的用户文件201中,对UUID511和版本512具有相同的值、文件状态是Replica状态的其他站点110的用户文件201反映了对象区域的数据。“Stub”表示对象区域的数据并未保持在本站点110的用户文件201中,在从客户端终端111进行读操作时需要从其他站点110调用对象区域的数据。“Dirty”表示对象区域的数据保持在本站点110的用户文件201中,尚未对UUID511和版本512具有相同的值、文件状态是Replica状态的其他站点110的用户文件201反映对象区域的数据。
<操作日志>
图6是表示文件/对象存储设备112的操作日志205的一例的图。
操作日志205的条目是对于文件/对象存储设备112中发生的每个操作生成的。
操作日志205的条目中,包括操作601、UUID602、版本603、类型604、偏移量605、长度606、通信站点607和时间戳608的信息。
在操作601中,存储表示发生的操作的种类的信息。在UUID602中,存储表示对操作对象的用户文件201或用户目录202赋予的UUID的信息。在版本603中,存储表示操作对象的用户文件201或用户目录202的版本的信息。在类型604中,存储表示操作对象的种类的信息。在偏移量605中,存储表示操作对象的区域的偏移量的信息。在长度606中,存储表示操作对象的区域的长度的信息。在通信站点607中,存储表示因操作而发送或接收用户文件201或用户目录202的数据的站点110的信息。在时间戳608中,存储表示操作的日期时间的信息。
<访问权管理表>
图7是表示文件/对象存储设备112的访问权管理表206的一例的图。
访问权管理表206的条目是对于文件/对象存储设备112内的每个用户文件201生成的。
访问权管理表206的条目中,包括UUID710、版本720、元数据访问权730和数据访问权740的信息。
在UUID710中,存储表示对用户文件201赋予的UUID的信息。在版本720中,存储表示用户文件201的版本的信息。在元数据访问权730中,存储表示用户文件201的元数据访问权的信息。在数据访问权740中,存储表示用户文件201的数据访问权的信息。
元数据访问权730中,包括访问权731(拥有者)、访问权732(拥有群组)、访问权733(其他)、可否传输734(可否对其他站点移动)的信息。
在访问权731中,存储表示用户文件201的与拥有者对应的对元数据的访问权的信息。在访问权732中,存储表示用户文件201的与拥有群组对应的对元数据的访问权的信息。在访问权733中,存储表示用户文件201的与其他用户对应的对元数据的访问权的信息。在可否传输734中,存储表示用户文件201的元数据可否传输至其他站点110的信息。
数据访问权740中,包括访问权741(拥有者)、访问权742(拥有群组)、访问743(其他)、可否传输744(可否对其他站点移动)的信息。
在访问权741中,存储表示用户文件201的与拥有者对应的对数据的访问权的信息。在访问权742中,存储表示用户文件201的与拥有群组对应的对数据的访问权的信息。在访问权743中,存储表示用户文件201的与其他用户对应的对数据的访问权的信息。在可否传输744中,存储表示用户文件201的数据可否传输至其他站点110的信息。
作为元数据访问权730和数据访问权740的种类的一例,示出了拥有者、拥有群组、其他、和可否对其他站点110传输,但不限于此。例如,元数据访问权730和数据访问权740中,也可以包括用户的所属部门或所属项目的访问权、数据可否对国内外传输等。
<站点间连接管理表>
图8是表示文件/对象存储设备112的站点间连接管理表207的一例的图。
站点间连接管理表207存储站点110之间的通信时的性能和成本的信息。图8的例子中,在各行中示出传输源的站点110(传输源801),在各列中示出传输目的地的站点110(传输目的地802)。在各单元格中,示出从传输源801对传输目的地802传输数据时的带宽。
作为站点间连接管理表207的一例,示出了各站点110之间的数据传输的带宽,但不限于此。例如,站点间连接管理表207中,也可以包括数据传输时的延迟、使用通信线路时的收费信息等多种信息。
<跨站点元数据检索结果回应>
图9是表示文件/对象存储设备112的元数据检索程序212D作为检索结果回应的跨站点元数据检索结果回应900的一例的图。
跨站点元数据检索结果回应900的条目是对于视为与检索查询对应而从全部站点110提取出的每个用户文件201生成的。
跨站点元数据检索结果回应900的条目包括UUID901、版本902、站点903、虚拟路径904、文件状态905、文件种类906和关键字907的信息。
在UUID901中,存储表示对用户文件201赋予的UUID的信息。在版本902中,存储表示用户文件201的版本的信息。在站点903中,存储表示保存用户文件201的站点110的信息。在虚拟路径904中,存储表示用户文件201的虚拟路径的信息。在文件状态905中,存储表示用户文件201的文件状态的信息。在文件种类906中,存储表示用户文件201的文件种类的信息。在关键字907中,存储表示用元数据提取程序212E从用户文件201的数据的内容中提取出的关键字的信息。
<处理流程>
接着,参考图10~图20的流程图,对于本实施方式的存储系统100的动作进行说明。
<跨站点元数据检索处理>
图10是用于说明存储系统100的跨站点元数据检索处理S1000的一例的流程图。
跨站点元数据检索处理是通过元数据检索程序212D从客户端终端111受理跨站点元数据检索的检索查询而开始的(S1001)。
首先,元数据检索程序212D对全部站点110发出(例如传输)检索查询,请求后述的站点内元数据检索处理S1100(S1002)。
接着,接收到传输来的检索查询的各站点110的元数据检索程序212D实施站点内元数据检索处理S1100(S1003)。
接着,元数据检索程序212D从各站点110接收站点内元数据检索处理S1100的检索结果(S1004)。
接着,元数据检索程序212D将各站点110的检索结果汇总并以跨站点元数据检索结果回应900的形式对客户端终端111返回回应(S1005),结束处理(S1006)。
<站点内元数据检索处理>
图11是用于说明站点内元数据检索处理S1100的一例的流程图。
站点内元数据检索处理S1100是基于来自客户端终端111的站点内元数据检索的检索查询被某一站点110受理而开始的(S1101)。
首先,元数据检索程序212D对元数据DB程序212C进行请求,从元数据DB203中提取符合检索查询的条件的记录(S1102)。
接着,元数据检索程序212D从S1102中提取出的记录中,删除没有对元数据的访问权的记录(S1103)。更具体而言,元数据检索程序212D参照访问权管理表206,从该记录中提取对于对应的用户文件201、检索查询的传输源的站点110或者检索查询的发出源的用户具备对元数据的访问权的记录。
接着,元数据检索程序212D将提取出的记录作为检索结果对检索查询的传输源回应(S1104),结束处理(S1105)。
<存根生成处理>
图12是用于说明存根生成处理S1200的一例的流程图。
存根生成处理S1200是文件虚拟化程序212A从客户端终端111接收存根生成请求而开始的(S1201)。存根生成请求例如是通过在客户端终端111中选择跨站点元数据检索结果回应900中的记录而生成的。
首先,文件虚拟化程序212A基于存根生成请求中指定的UUID、版本和虚拟路径,在本站点110内生成管理信息文件204和Stub状态的用户文件201(存根文件)作为存根信息,在元数据DB203和访问权管理表206中生成与所生成的用户文件201对应的记录(S1202)。
接着,文件虚拟化程序212A对其他站点110的文件虚拟化程序212A通知生成了Stub状态的用户文件201,更新其他站点110的将UUID和版本设为相同的元数据DB203的记录和管理信息文件204的记录(S1203)。
接着,文件虚拟化程序212A确认Stub状态的用户文件201的数据的后台中的传输设定(S1204)。文件虚拟化程序212A在传输设定是有效的情况下,使处理转移至S1205,传输设定是无效的情况下,使处理转移至S1206。作为后台中的传输设定的方法,有按文件系统单位、目录单位或文件单位决定是否实施后台传输和使用带宽的方法、在请求生成存根时指定是否实施后台传输的方法、仅在文件系统的站点110之间的转移时进行后台传输的方法等,并不特别限制。
在S1205中,文件虚拟化程序212A开始获取生成的Stub状态的用户文件201的数据用的、后台中的数据传输处理(后台数据获取处理S1300),使处理转移至S1206。
在S1206中,文件虚拟化程序212A在操作日志205中追加记录存根生成操作的内容。
接着,文件虚拟化程序212A对客户端终端111回应存根生成处理的结果(S1207),结束处理(S1208)。
<后台数据获取处理>
图13是用于说明后台数据获取处理S1300的一例的流程图。
后台数据获取处理S1300是通过接收存根生成处理S1200中的后台中的数据传输处理的请求、或者由客户端终端111直接指定了特定的处于Stub状态的用户文件201的后台中的数据传输处理的请求而开始的(S1301)。
首先,文件虚拟化程序212A实施数据获取站点选择处理S1500,决定对象用户文件201的数据的获取源的站点110(S1302)。
接着,文件虚拟化程序212A从S1302中决定的站点110,指定对象用户文件201的UUID和版本,来获取对象用户文件201的数据(Stub部的数据),并写入对象用户文件201(S1303)。
接着,文件虚拟化程序212A对于与对象用户文件201对应的、元数据DB203的记录和管理信息文件204的记录,使数据的获取部分的部分状态成为“Cache”,反映文件状态成为了Cache状态的状况(S1304)。
接着,文件虚拟化程序212A对于具有与对象用户文件201相同的UUID和版本的其他站点110的用户文件201,在对应的元数据DB203的记录和管理信息文件204的记录中反映文件状态成为了Cache状态的状况(S1305)。
接着,文件虚拟化程序212A对于具有与对象用户文件201相同的UUID和版本的其他站点110的Original状态的用户文件201,确认从最终参照日期时间起的经过时间是否超过了一定值(S1306)。文件虚拟化程序212A在从最终参照日期时间起的经过时间超过了一定值的情况下,使处理转移至S1307,在从最终参照日期时间起的经过时间没有超过一定值的情况下,使处理转移至S1308。
在S1307中,文件虚拟化程序212A使成为了Cache状态的对象用户文件201转移至Original状态,使具有与对象用户文件201相同的UUID和版本的Original状态的用户文件201转移至Cache状态。为了反映该转移,对于全部站点110中具有与对象用户文件201相同的UUID和版本的用户文件201,更新元数据DB203的对应的记录和管理信息文件204的对应的记录。文件虚拟化程序212A在完成之后,使处理转移至S1308。
在S1308中,文件虚拟化程序212A在操作日志205中,追加记录对于对象用户文件201在S1303中实施的从其他站点110进行的调用操作,结束处理(S1309)。
<文件参照处理>
图14是用于说明文件参照处理S1400的一例的流程图。
文件参照处理S1400是在从客户端终端111对特定的用户文件201的读操作中,具有对该用户文件201的数据的访问权的情况下开始的(S1401)。
首先,文件虚拟化程序212A参照与对象用户文件201对应的管理信息文件204,确认参照的对象部分的部分状态是否“Stub”(S1402)。文件虚拟化程序212A在部分状态是“Stub”的情况下,使处理转移至S1403,在部分状态不是“Stub”的情况下,使处理转移至S1410。
在S1403中,文件虚拟化程序212A实施数据获取站点选择处理S1500,决定对象用户文件201的数据的获取源的站点110。
接着,文件虚拟化程序212A从S1403中决定的站点110,指定对象用户文件201的UUID、版本、和参照的对象部分(偏移量和长度)而获取数据(S1404)。
接着,文件虚拟化程序212A将S1404中获取的数据写入对象用户文件201中(S1405)。
接着,文件虚拟化程序212A对于S1405中写入数据的部分,将与对象用户文件201对应的管理信息文件204的部分状态变更为“Cache”(S1406)。
接着,文件虚拟化程序212A确认与对象用户文件201对应的管理信息文件204,确认是否所有部分状态都是“Cache”(S1407)。文件虚拟化程序212A在所有部分状态都是“Cache”的情况下,使处理转移至S1408,在包括不是“Cache”的部分状态的情况下,使处理转移至S1410。
在S1408中,文件虚拟化程序212A对于与对象用户文件201对应的、元数据DB203的记录和管理信息文件204的记录,反映对象用户文件201已获取全部数据、文件状态成为了Cache状态的状况。
接着,文件虚拟化程序212A对于具有与对象用户文件201相同的UUID和版本的其他站点110的用户文件201,在对应的元数据DB203的记录和管理信息文件204的记录中反映文件状态成为了Cache状态的状况(S1409),使处理转移至S1410。
在S1410中,文件虚拟化程序212A在操作日志205中,追加记录对对象用户文件201的读操作、和执行的情况下的S1404和S1405中实施的从其他站点110进行的调用操作。
接着,文件虚拟化程序212A读取对象用户文件201的参照的对象部分并对用户回应(S1411),结束处理(S1412)。
<数据获取站点选择处理>
图15是用于说明数据获取站点选择处理S1500的一例的流程图。
数据获取站点选择处理S1500是在后台数据获取处理S1300、文件参照处理S1400或后述的文件更新处理S1600中,在对于Stub状态的用户文件201从其他站点110获取数据之前开始的(S1501)。
首先,文件虚拟化程序212A根据与对象用户文件201对应的管理信息文件204,识别保持具有相同的UUID和版本、且文件状态是Original状态、Cache状态和Replica状态中的任一者的文件状态的用户文件201的站点110(S1502)。
接着,文件虚拟化程序212A参照站点间连接管理表207,从S1502中识别出的站点110中选择最适于获取数据的站点110并回应(S1503),结束处理(S1504)。本实施方式中,文件虚拟化程序212A选择站点间连接管理表207中存储的带宽的值最大的站点110。另外,在通信的带宽之外,也可以基于通信的延迟、通信线路的使用成本等选择站点110。
<文件更新处理>
图16是用于说明文件更新处理S1600的一例的流程图。
文件更新处理S1600是在从客户端终端111对特定的用户文件201的写操作中,具有对该用户文件201的数据的访问权的情况下开始的(S1601)。
首先,文件虚拟化程序212A根据与对象用户文件201对应的管理信息文件204确认文件状态是否为Original状态(S1602)。文件虚拟化程序212A在文件状态是Original状态的情况下,使处理转移至S1603,在文件状态不是Original状态的情况下,使处理转移至S1608。
在S1603中,文件虚拟化程序212A根据与对象用户文件201对应的管理信息文件204,确认对象用户文件201是否正在被从其他站点110参照。文件虚拟化程序212A在管理信息文件204的Stub保持站点或Cache保持站点中设定了某一站点110的情况下,判定为存在从其他站点110的参照。文件虚拟化程序212A在存在从其他站点110的参照的情况下,使处理转移至S1604,在不存在从其他站点110的参照的情况下,使处理转移至S1606。
在S1604中,文件虚拟化程序212A基于从客户端终端111进行的写操作的内容,对于对象用户文件201,以更新版本的形式更新数据。由此,能够将从其他站点110参照的用户文件201作为旧版本保留。另外,文件/对象存储设备112不具有版本管理功能的情况下,例如文件虚拟化程序212A也可以用复制更新前的用户文件201的方法保留旧版本的数据。
接着,文件虚拟化程序212A对于与对象用户文件201对应的管理信息文件204,以更新版本的形式,将写处理对象(更新区域)的部分状态更新为“Dirty”,将元数据已提取标志更新为“False”(S1605)。由此,能够保留从其他站点110参照的用户文件201的旧版本的管理信息文件204。另外,文件/对象存储设备112不具有版本管理功能的情况下,例如也可以用复制更新前的管理信息文件204的方法保留旧版本的数据。文件虚拟化程序212A在完成之后使处理转移至S1611。
在S1606中,文件虚拟化程序212A基于从客户端终端111进行的写操作的内容,更新对象用户文件201的数据。
接着,文件虚拟化程序212A对于与对象用户文件201对应的管理信息文件204,将写处理对象的部分状态更新为“Dirty”,将元数据已提取标志更新为“False”(S1607),使处理转移至S1611。
在S1608中,文件虚拟化程序212A根据与对象用户文件201对应的管理信息文件204,确认文件状态是否Replica状态。文件虚拟化程序212A在文件状态是Replica状态的情况下,使处理转移至S1609,不是Replica状态的情况下,使处理转移至S1613。
在S1609中,文件虚拟化程序212A复制对象用户文件201,对复制得到的用户文件201赋予新的UUID,基于写操作的内容更新数据。
接着,文件虚拟化程序212A生成与复制得到的用户文件201对应的管理信息文件204,在元数据DB203和访问权管理表206中,生成与复制得到的用户文件201对应的记录(S1610),使处理转移至S1611。
在S1611中,文件虚拟化程序212A在操作日志205中追加记录写操作的内容。
接着,文件虚拟化程序212A对客户端终端111回应对对象用户文件201的写操作完成(S1612),结束处理(S1626)。
在S1613中,文件虚拟化程序212A对对象用户文件201赋予新的UUID,基于写操作的内容更新数据。
接着,文件虚拟化程序212A根据与对象用户文件201对应的管理信息文件204,确认文件状态是否Cache状态(S1614)。文件虚拟化程序212A在文件状态是Cache状态的情况下,使处理转移至S1615,在文件状态不是Cache状态的情况下,使处理转移至S1617。
在S1615中,文件虚拟化程序212A对于与用户文件201对应的、元数据DB203的记录、管理信息文件204的记录和访问权管理表206的记录,赋予新的UUID,反映文件状态成为了Original状态的状况。
接着,文件虚拟化程序212A对于具有与赋予新UUID之前对对象用户文件201赋予的值相同的UUID和版本的其他站点110的用户文件201,在对应的元数据DB203的记录和管理信息文件204的记录中,反映赋予了新的UUID的状况(文件状态不再是Cache状态)(S1616),使处理转移至S1611。
在S1617中,文件虚拟化程序212A对于与对象用户文件201对应的管理信息文件204,将写处理对象的部分状态更新为“Dirty”。
接着,文件虚拟化程序212A在操作日志205中追加记录写操作的内容(S1618)。
接着,文件虚拟化程序212A对客户端终端111回应对对象用户文件201的写操作完成(S1619)。
接着,文件虚拟化程序212A实施数据获取站点选择处理S1500(S1620),决定对象用户文件201的数据的获取源的站点110。
接着,文件虚拟化程序212A从S1620中决定的站点110,指定赋予新UUID之前对对象用户文件201赋予的UUID和版本地,获取对象用户文件201的数据(Stub部的数据)(S1621)。
接着,文件虚拟化程序212A将S1621中获取的数据写入对象用户文件201中(S1622)。
接着,文件虚拟化程序212A对于与对象用户文件201对应的、元数据DB203的记录、管理信息文件204的记录和访问权管理表206的记录,赋予新的UUID,反映文件状态成为了Original状态的状况(S1623)。
接着,文件虚拟化程序212A对于具有与赋予新UUID之前对对象用户文件201赋予的值相同的UUID和版本的其他站点110的用户文件201,在对应的元数据DB203的记录和管理信息文件204的记录中,反映赋予了新的UUID的状况(文件状态不再是Stub状态)(S1624)。
接着,文件虚拟化程序212A在操作日志205中追加记录从其他站点110进行的调用操作的内容(S1625),结束处理(S1626)。
<操作日志分析处理>
图17是用于说明操作日志分析处理S1700的一例的流程图。
操作日志分析处理S1700是以上次操作日志分析处理S1700之后经过一定时间、未处理的操作日志累积一定数量以上为契机而开始的(S1701)。
首先,文件虚拟化程序212A获取上次操作日志分析处理S1700之后追加的、未分析的操作日志205(S1702)。
接着,文件虚拟化程序212A在S1702中获取的操作日志205中,提取作为操作对象的用户文件201(S1703)。文件虚拟化程序212A使用UUID和版本的组合作为操作对象的识别符,生成该值的列表。
在S1704中,文件虚拟化程序212A确认S1703中生成的列表中是否存在未处理的条目。文件虚拟化程序212A在存在未处理的条目的情况下,使处理转移至S1705,不存在未处理的条目的情况下,结束处理(S1710)。
在S1705中,文件虚拟化程序212A从S1703中生成的列表中选择未处理的条目中的1个,设定为处理对象。
接着,文件虚拟化程序212A对于对象用户文件201,在S1702中获取的操作日志205中确认进行了写操作,根据对应的管理信息文件204确认文件状态是Original状态(S1706)。文件虚拟化程序212A在进行了写操作、且文件状态是Original状态的情况下,使处理转移至S1707,其他情况下,使处理转移至S1704。
在S1707中,文件虚拟化程序212A在元数据提取对象列表中,追加记录对象用户文件201的UUID和版本,使处理转移至S1708。
在S1708中,文件虚拟化程序212A根据S1702中获取的操作日志205中,确认对对象用户文件201实施的最后的写操作以后没有对对象用户文件201进行复制操作。文件虚拟化程序212A在没有进行复制操作的情况下,使处理转移至S1709,其他情况下,使处理转移至S1704。
在S1709中,文件虚拟化程序212A在复制对象列表中,追加对象用户文件201的UUID和版本,使处理转移至S1704。
<元数据提取处理>
图18是用于说明元数据提取处理S1800的一例的流程图。
元数据提取处理S1800是以上次元数据提取处理S1800之后经过一定时间、元数据提取对象列表的条目累积一定数量以上等为契机而开始的(S1801)。
首先,元数据提取程序212E获取元数据提取对象列表(S1802)。
在S1803中,元数据提取程序212E确认S1802中获取的元数据提取对象列表中是否存在未处理的条目。元数据提取程序212E在存在未处理的条目的情况下,使处理转移至S1804,不存在未处理的条目的情况下,结束处理(S1809)。
在S1804中,元数据提取程序212E从S1802中获取的元数据提取对象列表中选择1个未处理的条目,设定为处理对象。
接着,元数据提取程序212E访问处理对象的条目的UUID和版本指定的用户文件201,或分析操作日志205,提取该用户文件201的元数据(S1805)。
接着,元数据提取程序212E将与对象用户文件201对应的管理信息文件204的元数据已提取标志更新为“True”,对于元数据DB203的记录,登记提取出的元数据(S1806)。
接着,元数据提取程序212E对于具有与对象用户文件201相同的UUID和版本的其他站点110的用户文件201,在对应的元数据DB203的记录中登记提取出的元数据(S1807)。
接着,元数据提取程序212E在操作日志205中追加记录对对象用户文件201的元数据提取的实施内容(S1808),使处理转移至S1803。
<复制处理>
图19是用于说明复制处理S1900的一例的流程图。
复制处理S1900是以上次复制处理S1900之后经过一定时间、复制对象列表的条目累积一定数量以上等为契机而开始的(S1901)。
首先,文件虚拟化程序212A获取复制对象列表(S1902)。
在S1903中,文件虚拟化程序212A确认S1902中获取的复制对象列表中是否存在未处理的条目。文件虚拟化程序212A在存在未处理的条目的情况下,使处理转移至S1904,不存在未处理的条目的情况下,结束处理(S1912)。
在S1904中,文件虚拟化程序212A从S1902中获取的复制对象列表中选择1个未处理的条目,设定为处理对象。
接着,文件虚拟化程序212A对于处理对象的条目的UUID和版本指定的用户文件201,根据对应的管理信息文件204识别部分状态是“Dirty”的部分,读取数据(S1905)。
接着,文件虚拟化程序212A对于对象用户文件201,根据对应的管理信息文件204识别Replica保持站点,传输包括对象用户文件201的UUID、版本、Dirty部(部分状态是“Dirty”的偏移量和长度)的信息、和S1905中读取的Dirty部的数据的更新反映请求(S1906)。例如,图4的例子中,文件虚拟化程序212A在UUID“AAAA”和版本“2”的用户文件201中存在Dirty部的情况下,参照UUID“AAAA”和版本“1”的条目,识别出“站点3”作为Replica保持站点。
接着,在接收了S1906中传输的更新反映请求的其他站点110中,文件虚拟化程序212A对于指定的UUID和版本的用户文件201,在指定的Dirty部中写入接收到的数据,发送对更新反映请求的完成回应(S1907)。
接着,文件虚拟化程序212A接收S1907中发送的完成回应(S1908)。
接着,文件虚拟化程序212A将与对象用户文件201对应的管理信息文件204的Dirty部的部分状态更新为“Cache”,对于元数据DB203的对应的记录、和管理信息文件204的对应的记录,在Replica保持站点中追加更新反映成功的站点110(S1909)。
接着,文件虚拟化程序212A对于具有与对象用户文件201相同的UUID和版本的其他站点110的用户文件201,在对应的元数据DB203的记录和管理信息文件204的记录中,更新追加了站点110的状况(S1910)。
接着,文件虚拟化程序212A在操作日志205中追加记录对对象用户文件201的复制的实施内容(S1911),使处理转移至S1903。
<存根化处理>
图20是用于说明存根化处理S2000的一例的流程图。
存根化处理S2000是以站点110的文件/对象存储设备112的空闲容量的比例降至低于一定值等为契机而开始的(S2001)。
首先,文件虚拟化程序212A从元数据DB203中提取文件状态404是Original状态、Stub状态或Cache状态中的任一者的用户文件201,生成存根化候选文件列表(S2002)。
在S2003中,文件虚拟化程序212A确认S2002中生成的存根化候选文件列表中是否存在未处理的条目。文件虚拟化程序212A在存在未处理的条目的情况下,使处理转移至S2004,不存在未处理的条目的情况下,结束处理(S2017)。
在S2004中,文件虚拟化程序212A从S2002中生成的存根化候选文件列表中选择1个未处理的条目,设定为处理对象。
在S2005中,文件虚拟化程序212A确认从对象用户文件201的最终参照日期时间起的经过时间超过一定值(基准值)。文件虚拟化程序212A在从最终参照日期时间起的经过时间超过一定值的情况下,使处理转移至S2006,在从最终参照日期时间起的经过时间不超过一定值的情况下,使处理转移至S2003。
在S2006中,文件虚拟化程序212A根据与对象用户文件201对应的管理信息文件204,确认文件状态是否Cache状态或Stub状态。文件虚拟化程序212A在文件状态是Cache状态或Stub状态的情况下,使处理转移至S2007,在文件状态既不是Cache状态也不是Stub状态的情况下,使处理转移至S2009。
在S2007中,文件虚拟化程序212A从对象用户文件201中删除数据,对于与对象用户文件201对应的管理信息文件204的记录,反映所有部分状态成为了“Stub”的状况和文件状态成为了Stub状态的状况,对于元数据DB203的记录,反映文件状态成为了Stub状态的状况。
接着,文件虚拟化程序212A对于具有与对象用户文件201相同的UUID和版本的其他站点110的用户文件201,在对应的元数据DB203的记录和对应的管理信息文件204的记录中,反映文件状态成为了Stub状态的状况(S2008),使处理转移至S2015。
在S2009中,文件虚拟化程序212A对全部站点110的元数据检索程序212D进行询问,从元数据DB203中寻找具有与对象用户文件201相同的UUID和版本、文件状态是Stub状态或Cache状态的其他站点110的用户文件201,获取找到的用户文件201的最终参照日期时间。
接着,文件虚拟化程序212A确认S2009中找到的文件状态是Stub状态或Cache状态的用户文件201中,是否存在与文件状态是Original状态的对象用户文件201相比最终参照日期时间较新的(S2010)。文件虚拟化程序212A在存在与对象用户文件201相比最终更新日期时间较新的Stub状态或Cache状态的用户文件201的情况下,使处理转移至S2011,不存在与对象用户文件201相比最终更新日期时间较新的Stub状态或Cache状态的用户文件201的情况下,使处理转移至S2003。
在S2011中,文件虚拟化程序212A确认S2009中找到的文件状态是Stub状态或Cache状态的用户文件201中、最终参照日期时间最新的用户文件201的文件状态是否Stub状态。文件虚拟化程序212A在文件状态是Stub状态的情况下,使处理转移至S2012,在文件状态不是Stub状态的情况下,使处理转移至S2013。
在S2012中,文件虚拟化程序212A将文件状态是Original状态的对象用户文件201的全部数据传输至保持S2009中找到的文件状态是Stub状态或Cache状态的用户文件201中最终参照日期时间最新的Stub状态的用户文件201的站点110,写入数据,使处理转移至S2013。
在S2013中,文件虚拟化程序212A使对象用户文件201转移至Stub状态,使S2009中找到的文件状态是Stub状态或Cache状态的用户文件201中最终参照日期时间最新的用户文件201转移至Original状态。文件虚拟化程序212A为了反映该转移,而对于全部站点110中具有与对象用户文件201相同的UUID和版本的用户文件201,更新元数据DB203的对应的记录和管理信息文件204的对应的记录,使处理转移至S2014。
在S2014中,文件虚拟化程序212A删除对象用户文件201的数据。
接着,文件虚拟化程序212A在操作日志205中追加记录对对象用户文件201的存根化的实施内容(S2015)。
接着,文件虚拟化程序212A确认存根化处理S2000中是否成功获取了充分的空闲区域(S2016)。文件虚拟化程序212A在成功获取充分的空闲区域的情况下,结束处理(S2017),未能获取充分的空闲区域的情况下,使处理转移至S2003。
另外,文件虚拟化程序212A在获得充分的空闲容量之前在S2003中存根化候选文件列表中不再有未处理条目而结束了处理的情况下,为了获得目标空闲容量,也可以使进行存根化时的从最终参照日期时间起的经过时间的基准值(条件)缓和为更小的时间,再次进行存根化处理S2000。
根据这样构成的本实施方式,每个站点110的文件/对象存储设备112不需要对于其他站点110的文件/对象存储设备112的Original状态的全部用户文件201都生成Stub状态的用户文件201,能够限于需要传输的Original状态的文件201地生成Stub状态的用户文件201。
从而,根据本实施方式,能够削减在站点110之间相互保持全部用户文件201的存根信息用的存储的存储容量。另外,在追加站点110时,不需要新站点110中的存根信息的生成,减少站点110的起动时间。另外,不需要元数据更新时的全局锁定,改善对客户端终端111的响应性。
另外,上述实施方式为了易于理解地说明本发明而详细说明了结构,并不限定于具备说明的全部结构。另外,对于各实施方式的结构的一部分,能够追加、删除、置换为其他结构。
(II)附录
上述实施方式中,例如包括如下所述的内容。
在上述实施方式中,对于将本发明应用于存储系统的情况进行了叙述,但本发明不限于此,能够广泛地应用于其他各种系统、装置、方法、程序。
另外,上述实施方式中,对于从跨站点元数据检索结果回应900中选择要求的用户文件201的情况进行了叙述,但本发明不限于此。例如,也可以参照其他站点110的用户文件201和用户目录202选择要求的用户文件201。
另外,上述实施方式中,各表的结构是一例,1个表可以分割为2个以上表,2个表的全部或一部分也可以是1个表。
另外,上述实施方式中,为了便于说明,用XX表、XX文件说明了各种数据,但数据结构并不受限定,也可以表达为XX信息等。
上述实施方式例如具备以下特征性的结构。
(1)一种能够在各自具有能够提供文件系统的存储设备(例如文件/对象存储设备112)的多个站点(例如站点110)之间共享文件(例如用户文件201)的存储系统(例如存储系统100),其特征在于:上述存储包括存储文件的数据的存储装置(例如存储装置220)和与上述存储装置连接的控制器(例如控制器210),具有与上述文件(例如Original状态的用户文件201(原始文件))关联的、参照上述文件的关联文件(例如原始文件以外的文件、存根文件(存根信息),换言之是如果没有原始文件就不存在的文件),上述控制器在上述文件要被更新的情况下,基于来自上述关联文件的参照状况来更新上述文件和关联文件(例如参考图16),上述控制器在受理了关于其他站点中存储的文件的访问请求(例如读请求、选择其他站点的文件的操作)的情况下,对上述其他站点进行询问,在接受了上述访问请求的控制器所在的站点中生成用于访问上述访问请求所请求访问的文件的关联文件(例如S1202)。
上述结构中,响应关于其他站点中存储的文件的访问请求而生成关联文件,所以存储不需要存储其他站点的全部文件的关联文件,能够削减站点之间的文件共享所需的关联文件。例如,对于各站点中存储关联文件所需的存储容量和追加新站点时获取关联文件的时间,能够进行改善。
(2)在上述访问请求是检索请求的情况下,受理了上述检索请求的第一站点的存储的控制器对上述多个站点的存储发送检索查询(例如跨站点元数据检索的检索查询)(例如S1002),接收了上述检索查询的存储的控制器将与上述检索查询对应的文件的元数据发送至上述第一站点的存储(例如S1103),上述第一站点的存储的控制器基于从上述多个站点发送的与上述检索查询对应的文件的元数据,生成参照上述文件的关联文件。
例如,元数据被发送至请求方(例如客户端终端111),可以在请求方中生成与确认的元数据对应的关联文件,也可以在请求方中无需对请求方确认地、对于检索命中的全部元数据生成关联文件。
上述结构中,例如即使不由请求方进行确认,也能够基于检索查询共享文件。
(3)上述第一站点的存储的控制器将从上述多个站点发送来的与上述检索查询对应的文件的元数据发送至上述检索请求的请求方(例如S1005),从上述检索请求的请求方受理了访问与上述检索查询对应的文件的请求的情况下(例如S1201),生成参照上述文件的关联文件。
上述结构中,因为检索查询在全部站点中执行,所以例如用户能够得知存储了要求的文件的站点,适当地共享文件。
(4)上述多个站点各自的存储设备的存储装置具有存储本站点中存储的文件和关联文件的元数据的元数据DB(例如元数据DB203),接收了上述检索查询的存储设备的控制器从上述元数据DB中获取与上述检索查询对应的文件的元数据并将其发送至上述第一站点的存储(例如参照图11)。
上述结构中,因为在各站点中设置了元数据DB,所以例如存储能够容易且迅速地获取与检索查询对应的文件的元数据。
(5)上述多个站点各自的存储设备的存储装置存储用于管理对上述元数据DB中存储的元数据的元数据访问权和对所存储的文件的数据的数据访问权的访问权管理信息(例如访问权管理表206)(例如参考图7),接收了上述检索查询的存储设备的控制器从上述元数据DB中获取与上述检索查询对应的文件的元数据,将所获取的元数据中的、基于上述访问权管理信息判断为具有元数据访问权的元数据发送至上述第一站点的存储设备(例如参考图11),接收到要访问上述文件的数据的指示(例如请求读操作、写操作等)的存储设备的控制器在基于上述访问权管理信息判断为对上述文件的数据具有数据访问权时,从本站点或其他站点获取上述文件的数据并将其发送至上述访问的请求方(例如参考图14、图16)。
根据上述结构,例如能够进行“对于规定用户,使其看不到检索结果(元数据)”、“对于规定用户,能够进行这样的文件存在的检索,但使其不能访问文件的数据(实际数据)”这样的控制。另外,通过进行支付费用、由管理者赋予访问权等步骤,而使其能够访问元数据和文件的数据。
(6)上述文件被更新的情况下,参照上述文件的关联文件也被更新(例如S1605、S1607)。
根据上述结构,例如在原始文件被更新的情况下关联文件也被更新,所以能够保持原始文件与关联文件的一致性。
上述存储的控制器从客户端终端受理了对于其他站点的文件的数据的更新的情况下,也可以生成与上述其他站点的文件对应的文件,对于生成的文件更新数据(例如S1604)。例如,存在参照其他站点的文件(原始文件)的人时,随意地更新原始文件时,对于该人而言产生不便。关于这一点,根据上述结构,通过不破坏原始文件地、生成与原始文件对应的文件(版本不同的文件、复制得到的文件等),能够保持与其他站点的数据的一致性。
(7)从上述关联文件参照上述文件的情况下,保留更新前的文件地更新文件(例如S1604),能够选择更新前的文件与更新后的文件地获取上述文件的数据并更新上述关联文件(例如S1411)。
上述结构中,在更新文件(原始文件)的数据时,例如生成版本不同的文件并对该文件更新数据。例如,根据上述结构,在获取其他站点的文件的数据时,指定该文件的版本,所以能够避免获取了正在更新数据途中的没有一致性的数据的事态。
(8)参照上述文件的频度(例如最终参照日期时间)低于其他站点的上述关联文件被参照的频度(例如最终参照日期时间)(例如较新)的情况下,将上述文件与上述关联文件交换(例如参考图20)。
上述结构中,与文件的参照频度相应地,例如交换本站点的文件与其他站点的文件的定位(原始文件),所以无需双重地保有数据,作为系统全体,能够削减数据量。
(9)上述关联文件是作为不具有数据的存根文件(例如Stub状态的用户文件201)生成的,与上述访问请求异步地从上述文件获取数据(例如参考图12、图13)。
每当发生对其他站点的文件的访问时,从其他站点获取数据时,读取数据要耗费时间。上述结构中,例如通过基于存根文件事先获取其他站点的文件的数据,因为数据位于本站点中,所以能够对访问请求的请求方迅速地提供数据。
(10)上述文件与UUID(Universally Unique Identifier:通用唯一识别符)和版本(例如参考图2)建立有对应关系,上述存储的控制器与上述UUID和上述版本对应地生成关联文件,并生成表示本站点中的上述关联文件的文件路径的信息(例如参考图5)。
上述专利文献1中记载的技术中,在目录操作时,获取站点之间的全局锁定并对相互保有关联文件的多个站点反映更新,所以导致对客户端终端中的操作的响应性能降低。关于这一点,上述结构中,用UUID和版本(实际路径)识别文件,所以在站点之间能够使用文件的不同的虚拟路径。这样,只要实际路径一致,就能够访问同一文件,所以即使本站点中文件名(虚拟路径)被改名,也不需要对其他站点反映该文件名,不需要获取全局锁定。由此,能够改善文件系统中的目录操作时的响应性能。
(11)上述多个站点各自的存储设备的存储装置存储用于管理站点之间的连接状态的站点间连接管理信息(例如站点间连接管理表207)(例如参考图8),具有表示包括上述文件的全部数据的站点的数据站点信息(例如Cache保持站点407、Replica保持站点408),上述存储设备的控制器基于上述数据站点信息和上述站点间连接管理信息,决定要获取上述文件的数据的站点(例如参考图15),从所决定的站点获取上述数据。
上述结构中,因为基于站点间连接管理信息决定文件的数据的获取目标的站点,所以例如通过在站点间连接管理信息中规定站点之间的带宽、延迟、收费信息等,能够最优地获取数据。
“A、B、和C中的至少一项”这样的形式中的列表中包括的项目,应当理解为能够表示(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B、和C)。同样地,“A、B、或C中的至少一项”的形式中列举的项目,能够表示(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B、和C)。
附图标记说明
100……存储系统,110……站点,111……客户端终端,112……文件/对象存储设备(存储设备)。

Claims (13)

1.一种存储系统,能够在各自具有能够提供文件系统的存储设备的多个站点之间共享文件,其特征在于:
所述存储设备包括存储有文件的数据的存储装置和与所述存储装置连接的控制器,
具有与所述文件关联的、参照所述文件的关联文件,
所述控制器在所述文件要被更新的情况下,基于来自所述关联文件的参照状况来更新所述文件和关联文件,
所述控制器在受理了关于其他站点中存储的文件的访问请求的情况下,对所述其他站点进行询问,在接受了所述访问请求的控制器所在的站点中生成用于访问所述访问请求所请求访问的文件的关联文件。
2.如权利要求1所述的存储系统,其特征在于:
在所述访问请求是检索请求的情况下,受理了所述检索请求的第一站点的存储设备的控制器对所述多个站点的存储设备发送检索查询,
接收了所述检索查询的存储设备的控制器将与所述检索查询对应的文件的元数据发送至所述第一站点的存储设备,
所述第一站点的存储设备的控制器基于从所述多个站点发送来的与所述检索查询对应的文件的元数据,生成参照所述文件的关联文件。
3.如权利要求2所述的存储系统,其特征在于:
所述第一站点的存储设备的控制器将从所述多个站点发送来的与所述检索查询对应的文件的元数据发送至所述检索请求的请求方,
在从所述检索请求的请求方受理了访问与所述检索查询对应的文件的请求的情况下,生成参照所述文件的关联文件。
4.如权利要求2所述的存储系统,其特征在于:
所述多个站点各自的存储设备的存储装置具有存储本站点中存储的文件和关联文件的元数据的元数据DB,
接收了所述检索查询的存储设备的控制器从所述元数据DB中获取与所述检索查询对应的文件的元数据并将其发送至所述第一站点的存储设备。
5.如权利要求4所述的存储系统,其特征在于:
所述多个站点各自的存储设备的存储装置存储访问权管理信息,该访问权管理信息用于管理对所述元数据DB中存储的元数据的元数据访问权和对所存储的文件的数据的数据访问权,
接收了所述检索查询的存储设备的控制器从所述元数据DB中获取与所述检索查询对应的文件的元数据,将所获取的元数据中的、基于所述访问权管理信息判断为具有元数据访问权的元数据发送至所述第一站点的存储设备,
接收到要访问所述文件的数据的指示的存储设备的控制器在基于所述访问权管理信息判断为对所述文件的数据具有数据访问权时,从本站点或其他站点获取所述文件的数据并将其发送至所述访问的请求方。
6.如权利要求1所述的存储系统,其特征在于:
在所述文件被更新了的情况下,参照所述文件的关联文件也被更新。
7.如权利要求6所述的存储系统,其特征在于:
在从所述关联文件参照所述文件的情况下,保留更新前的文件地更新文件,
能够选择更新前的文件与更新后的文件地获取所述文件的数据并更新所述关联文件。
8.如权利要求6所述的存储系统,其特征在于:
在参照所述文件的频度低于其他站点的所述关联文件被参照的频度的情况下,将所述文件与所述关联文件交换。
9.如权利要求1所述的存储系统,其特征在于:
所述关联文件是作为不具有数据的存根文件生成的,与所述访问请求异步地从所述文件获取数据。
10.如权利要求1所述的存储系统,其特征在于:
所述文件与UUID和版本建立有对应关系,
所述存储设备的控制器与所述UUID和所述版本对应地生成关联文件,并生成表示本站点中的所述关联文件的文件路径的信息,
其中,所述UUID是通用唯一识别符。
11.如权利要求1所述的存储系统,其特征在于:
所述多个站点各自的存储设备的存储装置存储用于管理站点之间的连接状态的站点间连接管理信息,
具有表示包含所述文件的全部数据的站点的数据站点信息,
所述存储设备的控制器基于所述数据站点信息和所述站点间连接管理信息,决定要获取所述文件的数据的站点,从所决定的站点获取所述数据。
12.如权利要求1所述的存储系统,其特征在于:
所述文件是原始状态的文件,
所述关联文件包括存根状态的文件、缓存状态的文件和复制状态的文件。
13.一种存储系统中的数据管理方法,其中所述存储系统能够在各自具有能够提供文件系统的存储设备的多个站点之间共享文件,所述数据管理方法的特征在于:
所述存储设备包括存储文件的数据的存储装置和与所述存储装置连接的控制器,
所述存储系统具有与所述文件关联的、参照所述文件的关联文件,
在所述数据管理方法中,
所述控制器在所述文件要被更新的情况下,基于来自所述关联文件的参照状况来更新所述文件和关联文件,
所述控制器在受理了关于其他站点中存储的文件的访问请求的情况下,对所述其他站点进行询问,在接受了所述访问请求的控制器所在的站点中生成用于访问所述访问请求所请求访问的文件的关联文件。
CN202111010749.0A 2020-12-24 2021-08-31 存储系统和数据管理方法 Pending CN114676075A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020214534A JP7391826B2 (ja) 2020-12-24 2020-12-24 ストレージシステムおよびデータ管理方法
JP2020-214534 2020-12-24

Publications (1)

Publication Number Publication Date
CN114676075A true CN114676075A (zh) 2022-06-28

Family

ID=82070973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111010749.0A Pending CN114676075A (zh) 2020-12-24 2021-08-31 存储系统和数据管理方法

Country Status (3)

Country Link
US (1) US20220206991A1 (zh)
JP (1) JP7391826B2 (zh)
CN (1) CN114676075A (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2853608B2 (ja) * 1995-05-30 1999-02-03 日本電気株式会社 並列処理システムのファイルアクセス制御方式
JP2001051890A (ja) 1999-08-10 2001-02-23 Toshiba Corp 仮想分散ファイルサーバシステム
JP2004118482A (ja) 2002-09-26 2004-04-15 Toshiba Corp 記憶装置、および、キャッシュ方法
GB0303192D0 (en) * 2003-02-12 2003-03-19 Saviso Group Ltd Methods and apparatus for traffic management in peer-to-peer networks
US8495250B2 (en) * 2009-12-16 2013-07-23 International Business Machines Corporation Asynchronous file operations in a scalable multi-node file system cache for a remote cluster file system
US8473582B2 (en) 2009-12-16 2013-06-25 International Business Machines Corporation Disconnected file operations in a scalable multi-node file system cache for a remote cluster file system
US11016941B2 (en) * 2014-02-28 2021-05-25 Red Hat, Inc. Delayed asynchronous file replication in a distributed file system
US10291696B2 (en) * 2014-04-28 2019-05-14 Arizona Board Of Regents On Behalf Of Arizona State University Peer-to-peer architecture for processing big data
US10725708B2 (en) * 2015-07-31 2020-07-28 International Business Machines Corporation Replication of versions of an object from a source storage to a target storage
JP7137072B2 (ja) 2018-12-10 2022-09-14 富士通株式会社 情報処理システム、負荷分散処理装置および負荷分散処理プログラム

Also Published As

Publication number Publication date
US20220206991A1 (en) 2022-06-30
JP7391826B2 (ja) 2023-12-05
JP2022100514A (ja) 2022-07-06

Similar Documents

Publication Publication Date Title
EP0278472B1 (en) Directory management in distributed data processing system network
US5001628A (en) Single system image uniquely defining an environment for each user in a data processing system
US6678700B1 (en) System of and method for transparent management of data objects in containers across distributed heterogenous resources
CN110502507B (zh) 一种分布式数据库的管理系统、方法、设备和存储介质
US5175852A (en) Distributed file access structure lock
JP5274772B2 (ja) データ・ストレージ内の時相データを維持するためのシステムおよび方法
CN104618482B (zh) 访问云数据的方法、服务器、传统存储设备、系统
US8473636B2 (en) Information processing system and data management method
WO2012137262A1 (en) Information processing system and data processing method
US8700567B2 (en) Information apparatus
US7188128B1 (en) File system and methods for performing file create and open operations with efficient storage allocation
JP5541149B2 (ja) スナップショット採取プログラム、サーバおよびスナップショット採取方法
US20050246386A1 (en) Hierarchical storage management
CN104660643A (zh) 请求响应方法、装置及分布式文件系统
CN105138275B (zh) 一种Lustre存储系统数据共享方法
US20140172792A1 (en) File server, information system, and control method thereof
US7080102B2 (en) Method and system for migrating data while maintaining hard links
CN111209259A (zh) Nas分布式文件系统及数据处理方法
US6625620B1 (en) Method and apparatus for the management of file attachments in a groupware oriented system
CN114676075A (zh) 存储系统和数据管理方法
CN114003555A (zh) 一种数据管理方法、系统、计算机设备及存储介质
EP0278314B1 (en) Single system image
JP5481906B2 (ja) 投影ファイルシステム管理装置及び投影ファイルシステム管理方法並びにプログラム
JP5898026B2 (ja) 分散検索システムにおけるストレージ容量平準化方法
US20040148361A1 (en) System and method for migrating directories over a wide-area network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination