CN105227672A - 数据存储及访问的方法和系统 - Google Patents

数据存储及访问的方法和系统 Download PDF

Info

Publication number
CN105227672A
CN105227672A CN201510671597.7A CN201510671597A CN105227672A CN 105227672 A CN105227672 A CN 105227672A CN 201510671597 A CN201510671597 A CN 201510671597A CN 105227672 A CN105227672 A CN 105227672A
Authority
CN
China
Prior art keywords
file
server
storage server
client
storage
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.)
Granted
Application number
CN201510671597.7A
Other languages
English (en)
Other versions
CN105227672B (zh
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.)
State Grid Corp of China SGCC
State Grid Information and Telecommunication Co Ltd
State Grid Zhejiang Electric Power Co Ltd
Fujian Yirong Information Technology Co Ltd
Original Assignee
State Grid Corp of China SGCC
Fujian Yirong Information 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 State Grid Corp of China SGCC, Fujian Yirong Information Technology Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201510671597.7A priority Critical patent/CN105227672B/zh
Publication of CN105227672A publication Critical patent/CN105227672A/zh
Application granted granted Critical
Publication of CN105227672B publication Critical patent/CN105227672B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Abstract

发明人提供了一种在满足SAN存储共享访问需求的同时具有能够提供支持多种操作系统、运行性能好、可靠性高、投资有限且方便维护等优点的数据存储访问的方法和系统,运行时包括数据存储阶段和数据访问阶段;所述数据存储阶段包括如下步骤:客户端向协调服务器发起待上传文件请求;协调服务器通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器;客户端获取所述经协调服务器确定可有效执行写入操作的存储服务器的IP并向该存储服务器上传文件。还包括一数据访问阶段方法。本发明技术方案所述的系统及其实现的方法兼具高可用性、高性能、跨平台和易实施的特性,规避了现有主流方案的缺点。

Description

数据存储及访问的方法和系统
技术领域
本发明涉及计算机互联网领域,特别涉及一种数据存储及访问的方法和系统。
背景技术
数据存储系统是企业IT基础设施的关键组成部分。早期,数据存储主要依赖于计算机的本地硬盘。随着信息技术的飞速发展,本地硬盘的容量和存储性能远远不能满足企业级软件系统的需求,例如一些数据库管理系统所生成的数据库文件,可能达到TB(1TB=1024GB)甚至成百上千TB大小。传统的将硬盘放到计算机主机箱内的做法已经不能满足现代应用程序对存储容量的需求,这就催生了网络存储技术。
网络存储技术是指有独立的设备提供数据存储功能,其它计算机节点通过网络访问、使用存储。这样,即使计算机主机内没有硬盘,也可以通过网络来存取存储设备中的数据。网络存储作为专门的设备,通常以大规模磁盘阵列的形式出现,它既提升了存储的性能,也更有利于统一扩容、备份,使得其它的IT部分更为便利的统一规划、管理存储资源,所以在过去的20年中在大型企业中得到了广泛使用。目前在大型企业中使用最为广泛的是网络存储技术是SAN(StorageAreaNetwork,存储区域网络)。
云存储服务是云计算的一种,体现了一种将存储作为“服务”的形式统一对外提供的理念。不同于网络存储技术,云存储除了存储功能外,还同时能够提供一系列针对数据的公共服务,例如:图片处理、视频格式转换等功能,目前广泛使用的百度云存储、360云存储等都是云存储。在企业中,云存储同样有很大的价值。以生成图片缩略图功能为例,企业各信息系统(如培训系统、办公系统等)为了提升页面的图片渲染速度,通常在首次显示图片的时候只显示尺寸更小的缩略图,在以前,各系统都需要各自开发“生成缩略图”服务。如果统一使用云存储,该功能可以由云存储统一通过服务的形式提供,避免了功能的重复开发。所以,云存储顺应了IT技术发展趋势,对位进一步简化企业IT架构都有积极作用,也越来越成为大型企业重点考虑的IT基础设施革新方向,并且已经在不少企业中得到了实际使用。
由于在云存储之前,SAN存储已经在企业中得到了大规模使用。目前很多针对企业的云存储方案都要求重新实施存储设备(如统一采用基于大容量硬盘的X86服务器作为存储资源),从而企业无法重复利用在SAN存储上的不菲投资。而如果要将SAN存储资源在云存储服务中重复利用,则需要突破“SAN存储的共享访问”问题。对该问题的详细介绍如下:
信息系统访问云存储服务,进行文件的下载和上传及相关数据处理服务。云存储资源通过网络交换机访问SAN存储;SAN存储可以按容量划分为一个一个的逻辑单元(成为LUN),一个LUN的容量是有上限的(比如2TB),将不同的LUN分配给不同的云存储服务器。
由于云存储服务需要整体支撑企业的多数业务系统的数据访问需求,所以通常都是以集群的方式提供服务。信息系统对云存储服务的请求,最终可能被分配为集群中的一台服务器,这要求每一台服务器均可以访问所有的存储单元LUN。而SAN存储技术上不支持多个服务器同时对一个LUN进行写入操作,否则将导致数据完全紊乱。所以,大型企业将SAN存储直接用于云存储服务,需要解决多台服务器对SAN存储资源共享访问的问题。
针对多台服务器共享访问SAN存储资源的问题,目前主要有两种解决方案:
方案一:通过操作系统提供的文件共享协议,实现SAN共享访问操作系统,如Linux、Windows提供了文件共享访问协议。以Linux为例,支持网络文件共享的协议是NFS。云存储服务器1将挂载的LUN-1通过NFS协议,共享给云存储服务器2访问。服务器2将不再直接访问SAN存储。对LUN-1的文件写入操作将有Linux操作系统负责协调,从而不会出现数据混乱的情况。专利“一种利用Linux全局文件系统实现共享存储池的方法”(申请号:201210088796.1)就是采用这个方案。该方案能够解决同一种操作系统的多服务器共同访问同一个SAN数据存储的问题,然而,这种访问无法支持多种操作系统,这是因为不同操作系统的文件共享访问协议是不兼容的,而云服务器集群由多种操作系统的服务器组成的需求是广泛存在的,例如有些windows下的文件如Word文档只能在windows服务器中才能进行格式转换等数据处理。并且,其运行性能较差。简单的例子中云存储服务集群由两台服务器构成,而实际的集群会由更多服务器组成,那么这些服务器访问存储都需要通过云存储服务器1,形成数据存储性能瓶颈。此外,该服务的可靠性亦欠佳。如果云存储服务器1出故障挂起,那么集群中的所有服务器都将不能访问该对应的LUN。
方案二:通过研发新的文件系统,“接管”操作系统的文件访问接口,实现SAN共享访问。文件系统是操作系统的重要组成部分,如windows下的NTFS、FAT32以及Linux下的Ext4等都是文件系统。安装在操作系统上的应用程序,通过文件系统提供的文件读写及管理接口使用存储资源。这种方案是通过研制独立的文件系统,提供与操作系统文件系统一样的访问接口,安装到操作系统中,并让上层应用程序通过这个文件系统访问存储资源。而后,通过在网络中部署独立的“协调器”,协调集群中各服务器对同一个数据的访问顺序,避免同时写入一个数据块。
由于实现一个文件系统是非常复杂的工作,所以,采用这种方案的一般是大型商业软件(如IBM公司的GPFS文件系统)或免费但应用范围较小的开源软件(如RedhatGFS文件系统)。该方案能够解决SAN存储共享访问的问题,且没有明显的性能瓶颈。然而其只能尽可能多的支持不同操作系统,而做不到完全跨操作系统。比如RedhatGFS主要支持Linux中的Redhat分支版(Linux操作系统有超过10种主流的分支版,比如Ubuntu、SuseLinux等,Redhat是其中一种)。IBMGPFS最为全面,同时支持Windows和Linux,相应的,价格也最为昂贵,需要通过升级支持新出现的操作系统。此外,此方案复杂,实施和维护的难度都很大。操作系统是最复杂的软件,而文件系统是操作系统中最为基础的功能之一,重新实现一套文件系统并且需要于不同操作系统进行适配,导致该方案的实施难度极大,相应的也需要投入更多的维护力量。
综上所述,上述两种解决方案虽然都能满足SAN存储共享访问的需求,但都存在一定的缺陷。
发明内容
为此,需要提供一种在满足SAN存储共享访问需求的同时具有能够提供支持多种操作系统、运行性能好、可靠性高、投资有限且方便维护等优点的数据存储访问的方法和系统。
为实现上述目的,发明人提供了一种数据存储及访问的方法,包括数据存储阶段和数据访问阶段;所述数据存储阶段包括如下步骤:
客户端向协调服务器发起待上传文件请求;
协调服务器通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器;
客户端获取所述经协调服务器确定可有效执行写入操作的存储服务器的IP并向该存储服务器上传文件;
所述数据访问段阶包括如下步骤:
客户端向协调服务器发起下载文件请求;
协调服务器获取可执行下载任务的存储服务器IP列表并将该列表提供给客户端;
客户端从所述列表中选取一IP,根据待下载文件信息从路径服务器获取文件路径信息;
客户端对所选取的IP对应的存储服务器发送文件下载请求以及所述文件路径信息;
存储服务器从所述文件路径读取文件数据后发送给客户端。
进一步地,所述的数据存储及访问的方法中,各存储服务器每隔预设时间与协调服务器进行通讯,此时:存储服务器将心跳时间更新为当前时间,以及,状态为只读的存储服务器检查自身状态是否被置为可写入状态,如是则在内部标记至此后后续文件写入操作;
步骤“协调服务器通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器”具体包括:
协调服务器判断当前待判断的存储服务器距离上次更新心跳时间的时间是否大于所述预设时间:
如否,将该存储服务器的IP发送给客户端;
如是,从状态为只读的存储服务器中择一将其状态置为可写入,然后将该被存储服务器的IP发送给客户端。
进一步地,所述的数据存储及访问的方法中,步骤“协调服务器获取可执行下载任务的存储服务器IP列表并将该列表提供给客户端”中,协调服务器判定一存储服务器可执行下载任务的标准是,该存储服务器的心跳时间在所述预设时间内更新过。
进一步地,所述的数据存储及访问的方法中,在步骤“客户端获取所述经协调服务器确定可有效执行写入操作的存储服务器的IP并向该存储服务器上传文件”之后还包括步骤:
存储服务器按预设规则生成文件全局ID信息和文件路径信息,将文件写入该文件路径,而后将所述文件全局ID信息和文件路径信息发送给客户端;
并且,数据访问阶段所述的待下载文件信息为待下载文件的文件全局ID信息。
进一步地,所述的数据存储及访问的方法中,客户端预先存储有协调服务器的IP地址并可调用协调服务器提供的接口。
发明人同时还提供了一种数据存储及访问的系统,包括客户端、协调服务器、存储服务器和路径服务器;
所述客户端用于在数据存储阶段向协调服务器发起待上传文件请求;
所述协调服务器用于通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器;
所述客户端还用于获取所述经协调服务器确定可有效执行写入操作的存储服务器的IP并向该存储服务器上传文件;
所述客户端还用于在数据访问段阶向协调服务器发起下载文件请求;
所述协调服务器还用于获取可执行下载任务的存储服务器IP列表并将该列表提供给客户端;
所述客户端还用于从所述列表中选取一IP,根据待下载文件信息从路径服务器获取文件路径信息;
所述客户端还用于对所选取的IP对应的存储服务器发送文件下载请求以及所述文件路径信息;
所述存储服务器还用于从所述文件路径读取文件数据后发送给客户端。
进一步地,所述的数据存储及访问的系统中,各存储服务器还用于每隔预设时间与协调服务器进行通讯,并且在此时:存储服务器将心跳时间更新为当前时间,以及,状态为只读的存储服务器检查自身状态是否被置为可写入状态,如是则在内部标记至此后后续文件写入操作;
“协调服务器用于通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器”具体包括:
协调服务器判断当前待判断的存储服务器距离上次更新心跳时间的时间是否大于所述预设时间:
如否,将该存储服务器的IP发送给客户端;
如是,从状态为只读的存储服务器中择一将其状态置为可写入,然后将该被存储服务器的IP发送给客户端。
进一步地,所述的数据存储及访问的系统中,“协调服务器用于获取可执行下载任务的存储服务器IP列表并将该列表提供给客户端”中,协调服务器判定一存储服务器可执行下载任务的标准是,该存储服务器的心跳时间在所述预设时间内更新过。
进一步地,所述的数据存储及访问的系统中,存储服务器还用于在“客户端还用于获取所述经协调服务器确定可有效执行写入操作的存储服务器的IP并向该存储服务器上传文件”之后,按预设规则生成文件全局ID信息和文件路径信息,将文件写入该文件路径,而后将所述文件全局ID信息和文件路径信息发送给客户端;
并且,数据访问阶段所述的待下载文件信息为待下载文件的文件全局ID信息。
进一步地,所述的数据存储及访问的系统中,客户端预先存储有协调服务器的IP地址并可调用协调服务器提供的接口。
区别于现有技术,上述技术方案的系统整体采用跨平台的程序语言(如Java、Python等)开发,从而能够支持不同的操作系统,实现跨平台性;由于读取数据不涉及修改数据、不会造成数据混乱,所以云服务存储集群中的所有服务器均可以接受文件下载请求。根据云存储服务的应用特点,多数情况下文件下载的请求要远大于文件上传请求,这确保了云存储服务的整体性能水平会随着服务器集群规模的增大而增大,实现性能的线性扩展。
总体而言,本发明技术方案支持在云存储服务集群的每一台服务器中都挂载同一个LUN,而后通过创新的心跳检测和协调机制,确保了同一时间有一台且仅有一台服务器能够对LUN执行写入操作,同时集群中的每一台服务器都可以同时对数据进行读取操作,从而不会导致SAN存储数据并发写入混乱,也使得云服务集群服务可以具备较高的可用性和存储服务性能。
附图说明
图1为本发明一实施方式所述的数据存储及访问的方法的数据存储阶段的流程图;
图2为本发明一实施方式所述的数据存储及访问的方法的数据访问阶段的流程图;
图3为本发明一实施方式所述的数据存储及访问的系统的结构示意图。
附图标记说明:
1-客户端
2-协调服务器
3-路径服务器
4-存储服务器
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
请参阅图1和图2,分别为本发明一实施方式所述的数据存储及访问的方法中数据存储阶段和数据访问阶段的流程图;其中,数据存储阶段包括如下步骤:
S11、客户端向协调服务器发起待上传文件请求;
S12、协调服务器通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器;
S13、客户端获取所述经协调服务器确定可有效执行写入操作的存储服务器的IP并向该存储服务器上传文件。
数据访问阶段包括如下步骤:
S21、客户端向协调服务器发起下载文件请求;
S22、协调服务器获取可执行下载任务的存储服务器IP列表并将该列表提供给客户端;
S23、客户端从所述列表中选取一IP,根据待下载文件信息从路径服务器获取文件路径信息;
S24、客户端对所选取的IP对应的存储服务器发送文件下载请求以及所述文件路径信息;
S25、存储服务器从所述文件路径读取文件数据后发送给客户端。
在某些具体实施方式中,存储服务器与协调服务器进行一个约定,即:各存储服务器每隔预设时间与协调服务器进行通讯,并此时进行两个操作:A,存储服务器将心跳时间更新为当前时间;以及,B,状态为只读的存储服务器检查自身状态是否被置为可写入状态,如是则在内部标记至此后后续文件写入操作。这样一来,提供了一个根据心跳时间更新的机制来确保存储服务器有效可用的方式。而在方案实施的过程中如下体现该机制的作用:
步骤“协调服务器通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器”里:
协调服务器首先判断当前待判断的存储服务器距离上次更新心跳时间的时间是否大于所述预设时间:
如否,将该存储服务器的IP发送给客户端;
如是,从状态为只读的存储服务器中择一将其状态置为可写入,然后将该被存储服务器的IP发送给客户端。
在某些具体实施方式中,步骤“协调服务器获取可执行下载任务的存储服务器IP列表并将该列表提供给客户端”中,协调服务器判定一存储服务器可执行下载任务的标准是,该存储服务器的心跳时间在所述预设时间内更新过。
在某些实施方式中,在步骤S13所述的“客户端获取所述经协调服务器确定可有效执行写入操作的存储服务器的IP并向该存储服务器上传文件”之后还包括步骤S14:
S14、存储服务器按预设规则生成文件全局ID信息和文件路径信息,将文件写入该文件路径,而后将所述文件全局ID信息和文件路径信息发送给客户端。
文件全局ID是云存储服务提供给信息系统的文件标识,每一个文件均有一个唯一的全局ID;实际路径是文件在文件系统中的路径。数据结构为“32位文件ID:文件路径”的键值对。在这个阶段所生成的文件全局ID信息和文件路径信息在数据访问阶段将起作用,具体表现为:数据访问阶段所述的待下载文件信息为待下载文件的文件全局ID信息。
进一步地,所述的数据存储及访问的方法中,客户端预先存储有协调服务器的IP地址并可调用协调服务器提供的接口。
此外,在某些实施方式中,所述的客户端、协调服务器、存储服务器和路径服务器,均采用跨平台的程序语言(如Java、Python等)开发,从而能够支持不同的操作系统,从而实现跨平台性。
请参阅图3,为本发明一实施方式所述的数据存储及访问的系统的结构示意图。所述系统包括客户端1、协调服务器2、存储服务器3和路径服务器4。
其中,客户端1主要相当于云存储服务的客户端提供给信息系统,并由需要使用云存储的信息系统进行调用。在信息系统上传、下载文件时,客户端1通过与其它三个装置共同协作来完成整个过程。
协调服务器2在成熟的开源分布式协调软件(ApacheZookeeper)做简单的封装开发,用于在分布式系统中提供公共的协调服务,如获取可用的存储服务组件IP。
存储服务器3是提供存储服务的装置,多个存储服务器3构成云存储服务器集群,负责接收客户端1的请求,并从挂载在云存储服务器3上的LUN读取、写入文件数据。本实施方式中,通过定期与分布式协调组件通讯,维护“心跳记录”。
路径服务器4用于保存文件的全局ID和实际路径的映射关系。文件全局ID是云存储服务提供给信息系统的文件标识,每一个文件均有一个唯一的全局ID;实际路径是文件在文件系统中的路径。数据结构为“32位文件ID:文件路径”的键值对。
具体而言,所述客户端用于在数据存储阶段向协调服务器发起待上传文件请求;所述协调服务器用于通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器;所述客户端还用于获取所述经协调服务器确定可有效执行写入操作的存储服务器的IP并向该存储服务器上传文件;
所述客户端还用于在数据访问段阶向协调服务器发起下载文件请求;所述协调服务器还用于获取可执行下载任务的存储服务器IP列表并将该列表提供给客户端;所述客户端还用于从所述列表中选取一IP,根据待下载文件信息从路径服务器获取文件路径信息;所述客户端还用于对所选取的IP对应的存储服务器发送文件下载请求以及所述文件路径信息;所述存储服务器还用于从所述文件路径读取文件数据后发送给客户端。
进一步地,所述的数据存储及访问的系统中,各存储服务器还用于每隔预设时间与协调服务器进行通讯,并且在此时:存储服务器将心跳时间更新为当前时间,以及,状态为只读的存储服务器检查自身状态是否被置为可写入状态,如是则在内部标记至此后后续文件写入操作;
“协调服务器用于通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器”具体包括:协调服务器判断当前待判断的存储服务器距离上次更新心跳时间的时间是否大于所述预设时间:如否,将该存储服务器的IP发送给客户端;如是,从状态为只读的存储服务器中择一将其状态置为可写入,然后将该被存储服务器的IP发送给客户端。
进一步地,所述的数据存储及访问的系统中,“协调服务器用于获取可执行下载任务的存储服务器IP列表并将该列表提供给客户端”中,协调服务器判定一存储服务器可执行下载任务的标准是,该存储服务器的心跳时间在所述预设时间内更新过。
进一步地,所述的数据存储及访问的系统中,存储服务器还用于在“客户端还用于获取所述经协调服务器确定可有效执行写入操作的存储服务器的IP并向该存储服务器上传文件”之后,按预设规则生成文件全局ID信息和文件路径信息,将文件写入该文件路径,而后将所述文件全局ID信息和文件路径信息发送给客户端;并且,数据访问阶段所述的待下载文件信息为待下载文件的文件全局ID信息。
进一步地,所述的数据存储及访问的系统中,客户端预先存储有协调服务器的IP地址并可调用协调服务器提供的接口。
以下用一方法流程说明本实施方式所述数据存储及访问的系统具体实现数据存储及访问功能的过程,该流程包括两个阶段,分别是数据存储阶段和数据访问阶段;数据存储阶段的步骤如下:
S11、客户端1向协调服务器2发起待上传文件请求;
S12、协调服务器2通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器3;
S13、客户端1获取所述经协调服务器2确定可有效执行写入操作的存储服务器3的IP并向该存储服务器3上传文件;
数据访问阶段的步骤如下:
S21、客户端1向协调服务器2发起下载文件请求;
S22、协调服务器2获取可执行下载任务的存储服务器3IP列表并将该列表提供给客户端1;
S23、客户端1从所述列表中选取一IP,根据待下载文件信息从路径服务器4获取文件路径信息;
S24、客户端1对所选取的IP对应的存储服务器3发送文件下载请求以及所述文件路径信息;
S25、存储服务器3从所述文件路径读取文件数据后发送给客户端1。
在某些具体实施方式中,存储服务器3与协调服务器2进行一个约定,即:各存储服务器3每隔预设时间与协调服务器2进行通讯,并于此时进行两个操作:A,存储服务器3将心跳时间更新为当前时间;以及,B,状态为只读的存储服务器3检查自身状态是否被置为可写入状态,如是则在内部标记至此后后续文件写入操作。这样一来,提供了一个根据心跳时间更新的机制来确保存储服务器3有效可用的方式。而在方案实施的过程中如下体现该机制的作用:
步骤“协调服务器2通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器3”里:
协调服务器2首先判断当前待判断的存储服务器3距离上次更新心跳时间的时间是否大于所述预设时间:
如否,将该存储服务器3的IP发送给客户端1;
如是,从状态为只读的存储服务器3中择一将其状态置为可写入,然后将该被存储服务器3的IP发送给客户端1。
在某些具体实施方式中,步骤“协调服务器2获取可执行下载任务的存储服务器3IP列表并将该列表提供给客户端1”中,协调服务器2判定一存储服务器3可执行下载任务的标准是,该存储服务器3的心跳时间在所述预设时间内更新过。
在某些实施方式中,在步骤S13所述的“客户端1获取所述经协调服务器2确定可有效执行写入操作的存储服务器3的IP并向该存储服务器3上传文件”之后还包括步骤S14:
S14、存储服务器3按预设规则生成文件全局ID信息和文件路径信息,将文件写入该文件路径,而后将所述文件全局ID信息和文件路径信息发送给客户端1。
文件全局ID可以认为是云存储服务(存储服务器3)提供给信息系统(客户端1)的文件标识,每一个文件均有一个唯一的全局ID;实际路径是文件在文件系统中的路径。数据结构为“32位文件ID:文件路径”的键值对。在这个阶段所生成的文件全局ID信息和文件路径信息在数据访问阶段将起作用,具体表现为:数据访问阶段所述的待下载文件信息为待下载文件的文件全局ID信息。
进一步地,客户端1预先存储有协调服务器2的IP地址并可调用协调服务器2提供的接口。
此外,在某些实施方式中,所述的客户端1、协调服务器2、存储服务器3和路径服务器4,均采用跨平台的程序语言(如Java、Python等)开发,从而能够支持不同的操作系统,从而实现跨平台性。
由于读取数据不涉及修改数据、不会造成数据混乱,所以云服务存储集群中的所有服务器均可以接受文件下载请求。根据云存储服务的应用特点,多数情况下文件下载的请求要远大于文件上传请求,这确保了云存储服务的整体性能水平会随着服务器集群规模的增大而增大,实现性能的线性扩展。此外,本发明技术方案支持在云存储服务集群的每一台服务器中都挂载同一个LUN,而后通过创新的心跳检测和协调机制,确保了同一时间有一台且仅有一台服务器能够对LUN执行写入操作,同时集群中的每一台服务器都可以同时对数据进行读取操作,从而不会导致SAN存储数据并发写入混乱,也使得云服务集群服务可以具备较高的可用性和存储服务性能。
通过上述技术方案,本发明解决了企业云存储服务中对SAN存储共享访问的问题。支持将同一个LUN存储单元挂载到云存储服务器集群中的所有服务器上,而后,通过分布式协调和心跳检测服务,确保同一时间有且仅有一台服务器能够执行数据写入操作,克服了SAN存储不支持并发写入的问题;支持集群中的所有服务器都可以对数据进行读取操作,提升了云存储服务的整体性能。
本发明的各组件均以应用程序的形式运行,不涉及对操作系统的系统级别服务(文件系统)的改动,系统的实施和维护都比较简单;各组件采用跨操作系统平台的程序语言(如Java)开发,从而实现了对不同操作系统的支持,实现了跨平台性。
综上所述,本发明解决了SAN存储共享访问的问题,系统兼具高可用性、高性能、跨平台和易实施的特性,规避了现有主流方案的缺点。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
本领域内的技术人员应明白,上述各实施例可提供为方法、装置、或计算机程序产品。这些实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。上述各实施例涉及的方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机设备可读取的存储介质中,用于执行上述各实施例方法所述的全部或部分步骤。所述计算机设备,包括但不限于:个人计算机、服务器、通用计算机、专用计算机、网络设备、嵌入式设备、可编程设备、智能移动终端、智能家居设备、穿戴式智能设备、车载智能设备等;所述的存储介质,包括但不限于:RAM、ROM、磁碟、磁带、光盘、闪存、U盘、移动硬盘、存储卡、记忆棒、网络服务器存储、网络云存储等。
上述各实施例是参照根据实施例所述的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到计算机设备的处理器以产生一个机器,使得通过计算机设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机设备以特定方式工作的计算机设备可读存储器中,使得存储在该计算机设备可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机设备上,使得在计算机设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。

Claims (10)

1.一种数据存储及访问的方法,其特征在于,包括数据存储阶段和数据访问阶段;所述数据存储阶段包括如下步骤:
客户端向协调服务器发起待上传文件请求;
协调服务器通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器;
客户端获取所述经协调服务器确定可有效执行写入操作的存储服务器的IP并向该存储服务器上传文件;
所述数据访问段阶包括如下步骤:
客户端向协调服务器发起下载文件请求;
协调服务器获取可执行下载任务的存储服务器IP列表并将该列表提供给客户端;
客户端从所述列表中选取一IP,根据待下载文件信息从路径服务器获取文件路径信息;
客户端对所选取的IP对应的存储服务器发送文件下载请求以及所述文件路径信息;
存储服务器从所述文件路径读取文件数据后发送给客户端。
2.如权利要求1所述的数据存储及访问的方法,其特征在于,各存储服务器每隔预设时间与协调服务器进行通讯,此时:存储服务器将心跳时间更新为当前时间,以及,状态为只读的存储服务器检查自身状态是否被置为可写入状态,如是则在内部标记至此后后续文件写入操作;
步骤“协调服务器通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器”具体包括:
协调服务器判断当前待判断的存储服务器距离上次更新心跳时间的时间是否大于所述预设时间:
如否,将该存储服务器的IP发送给客户端;
如是,从状态为只读的存储服务器中择一将其状态置为可写入,然后将该被存储服务器的IP发送给客户端。
3.如如权利要求2所述的数据存储及访问的方法,其特征在于,步骤“协调服务器获取可执行下载任务的存储服务器IP列表并将该列表提供给客户端”中,协调服务器判定一存储服务器可执行下载任务的标准是,该存储服务器的心跳时间在所述预设时间内更新过。
4.如权利要求1或2所述的数据存储及访问的方法,其特征在于,在步骤“客户端获取所述经协调服务器确定可有效执行写入操作的存储服务器的IP并向该存储服务器上传文件”之后还包括步骤:
存储服务器按预设规则生成文件全局ID信息和文件路径信息,将文件写入该文件路径,而后将所述文件全局ID信息和文件路径信息发送给客户端;
并且,数据访问阶段所述的待下载文件信息为待下载文件的文件全局ID信息。
5.如权利要求1或2所述的数据存储及访问的方法,其特征在于,客户端预先存储有协调服务器的IP地址并可调用协调服务器提供的接口。
6.一种数据存储及访问的系统,其特征在于,包括客户端、协调服务器、存储服务器和路径服务器;
所述客户端用于在数据存储阶段向协调服务器发起待上传文件请求;
所述协调服务器用于通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器;
所述客户端还用于获取所述经协调服务器确定可有效执行写入操作的存储服务器的IP并向该存储服务器上传文件;
所述客户端还用于在数据访问段阶向协调服务器发起下载文件请求;
所述协调服务器还用于获取可执行下载任务的存储服务器IP列表并将该列表提供给客户端;
所述客户端还用于从所述列表中选取一IP,根据待下载文件信息从路径服务器获取文件路径信息;
所述客户端还用于对所选取的IP对应的存储服务器发送文件下载请求以及所述文件路径信息;
所述存储服务器还用于从所述文件路径读取文件数据后发送给客户端。
7.如权利要求6所述的数据存储及访问的系统,其特征在于,各存储服务器还用于每隔预设时间与协调服务器进行通讯,并且在此时:存储服务器将心跳时间更新为当前时间,以及,状态为只读的存储服务器检查自身状态是否被置为可写入状态,如是则在内部标记至此后后续文件写入操作;
“协调服务器用于通过心跳时间校验流程确定一当前可有效执行写入操作的存储服务器”具体包括:
协调服务器判断当前待判断的存储服务器距离上次更新心跳时间的时间是否大于所述预设时间:
如否,将该存储服务器的IP发送给客户端;
如是,从状态为只读的存储服务器中择一将其状态置为可写入,然后将该被存储服务器的IP发送给客户端。
8.如如权利要求7所述的数据存储及访问的系统,其特征在于,“协调服务器用于获取可执行下载任务的存储服务器IP列表并将该列表提供给客户端”中,协调服务器判定一存储服务器可执行下载任务的标准是,该存储服务器的心跳时间在所述预设时间内更新过。
9.如权利要求6或7所述的数据存储及访问的系统,其特征在于,存储服务器还用于在“客户端还用于获取所述经协调服务器确定可有效执行写入操作的存储服务器的IP并向该存储服务器上传文件”之后,按预设规则生成文件全局ID信息和文件路径信息,将文件写入该文件路径,而后将所述文件全局ID信息和文件路径信息发送给客户端;
并且,数据访问阶段所述的待下载文件信息为待下载文件的文件全局ID信息。
10.如权利要求6或7所述的数据存储及访问的系统,其特征在于,客户端预先存储有协调服务器的IP地址并可调用协调服务器提供的接口。
CN201510671597.7A 2015-10-13 2015-10-13 数据存储及访问的方法和系统 Active CN105227672B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510671597.7A CN105227672B (zh) 2015-10-13 2015-10-13 数据存储及访问的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510671597.7A CN105227672B (zh) 2015-10-13 2015-10-13 数据存储及访问的方法和系统

Publications (2)

Publication Number Publication Date
CN105227672A true CN105227672A (zh) 2016-01-06
CN105227672B CN105227672B (zh) 2018-04-17

Family

ID=54996342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510671597.7A Active CN105227672B (zh) 2015-10-13 2015-10-13 数据存储及访问的方法和系统

Country Status (1)

Country Link
CN (1) CN105227672B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017185322A1 (zh) * 2016-04-29 2017-11-02 华为技术有限公司 存储网元发现方法及装置
CN107508759A (zh) * 2017-08-16 2017-12-22 北京小度信息科技有限公司 信息上报方法、装置、计算机可读存储介质和电子设备
CN108322544A (zh) * 2018-02-13 2018-07-24 合肥联宝信息技术有限公司 一种文件管理方法和电子设备
CN109358977A (zh) * 2018-08-21 2019-02-19 中国科学院信息工程研究所 一种应用于云存储冗余性验证的方法及系统
CN109739435A (zh) * 2018-12-03 2019-05-10 中科恒运股份有限公司 文件存储和更新方法及装置
CN109992564A (zh) * 2019-02-20 2019-07-09 深圳大普微电子科技有限公司 文件存储系统及方法
CN115190014A (zh) * 2022-06-18 2022-10-14 深圳市知学云科技有限公司 一种面向企业的文件内容存储及转换方法、系统及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1900931A (zh) * 2006-07-04 2007-01-24 华为技术有限公司 多机文件存储系统和方法
CN101188569A (zh) * 2006-11-16 2008-05-28 饶大平 在网络上构建数据量子空间的方法及分布式文件存储系统
CN101789970A (zh) * 2010-02-02 2010-07-28 北京泰豪智能工程有限公司 计量数据采集系统及其维护方法、数据采集器
CN102143215A (zh) * 2011-01-20 2011-08-03 中国人民解放军理工大学 一种基于网络的pb级云存储系统及其处理方法
CN103037004A (zh) * 2012-12-21 2013-04-10 曙光信息产业(北京)有限公司 云存储系统操作的实现方法和装置
CN104935668A (zh) * 2015-06-26 2015-09-23 四川长虹电器股份有限公司 分布式文件系统及其数据同步的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1900931A (zh) * 2006-07-04 2007-01-24 华为技术有限公司 多机文件存储系统和方法
CN101188569A (zh) * 2006-11-16 2008-05-28 饶大平 在网络上构建数据量子空间的方法及分布式文件存储系统
CN101789970A (zh) * 2010-02-02 2010-07-28 北京泰豪智能工程有限公司 计量数据采集系统及其维护方法、数据采集器
CN102143215A (zh) * 2011-01-20 2011-08-03 中国人民解放军理工大学 一种基于网络的pb级云存储系统及其处理方法
CN103037004A (zh) * 2012-12-21 2013-04-10 曙光信息产业(北京)有限公司 云存储系统操作的实现方法和装置
CN104935668A (zh) * 2015-06-26 2015-09-23 四川长虹电器股份有限公司 分布式文件系统及其数据同步的方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017185322A1 (zh) * 2016-04-29 2017-11-02 华为技术有限公司 存储网元发现方法及装置
US10372673B2 (en) 2016-04-29 2019-08-06 Huawei Technologies Co., Ltd. Storage network element discovery method and apparatus
CN107508759A (zh) * 2017-08-16 2017-12-22 北京小度信息科技有限公司 信息上报方法、装置、计算机可读存储介质和电子设备
CN107508759B (zh) * 2017-08-16 2020-06-05 北京星选科技有限公司 信息上报方法、装置、计算机可读存储介质和电子设备
CN108322544A (zh) * 2018-02-13 2018-07-24 合肥联宝信息技术有限公司 一种文件管理方法和电子设备
CN109358977A (zh) * 2018-08-21 2019-02-19 中国科学院信息工程研究所 一种应用于云存储冗余性验证的方法及系统
CN109358977B (zh) * 2018-08-21 2020-12-22 中国科学院信息工程研究所 一种应用于云存储冗余性验证的方法及系统
CN109739435A (zh) * 2018-12-03 2019-05-10 中科恒运股份有限公司 文件存储和更新方法及装置
CN109739435B (zh) * 2018-12-03 2023-10-13 中科恒运股份有限公司 文件存储和更新方法及装置
CN109992564A (zh) * 2019-02-20 2019-07-09 深圳大普微电子科技有限公司 文件存储系统及方法
CN109992564B (zh) * 2019-02-20 2024-03-22 深圳大普微电子科技有限公司 文件存储系统及方法
CN115190014A (zh) * 2022-06-18 2022-10-14 深圳市知学云科技有限公司 一种面向企业的文件内容存储及转换方法、系统及设备

Also Published As

Publication number Publication date
CN105227672B (zh) 2018-04-17

Similar Documents

Publication Publication Date Title
US10853339B2 (en) Peer to peer ownership negotiation
US10725976B2 (en) Fast recovery using self-describing replica files in a distributed storage system
CN105227672A (zh) 数据存储及访问的方法和系统
US11321291B2 (en) Persistent version control for data transfer between heterogeneous data stores
US11036690B2 (en) Global namespace in a heterogeneous storage system environment
US10891265B2 (en) Local networked storage linked to remote networked storage system
US10652330B2 (en) Object storage in cloud with reference counting using versions
US9367569B1 (en) Recovery of directory information
US20200387480A1 (en) Path resolver for client access to distributed file systems
CN107577420B (zh) 文件处理方法和装置、服务器
CN104020961A (zh) 分布式数据存储方法、装置及系统
US8977662B1 (en) Storing data objects from a flat namespace in a hierarchical directory structured file system
CN109033360B (zh) 一种数据查询方法、装置、服务器及存储介质
US9959281B2 (en) Concurrent file and object protocol access using space-efficient cloning
US11157456B2 (en) Replication of data in a distributed file system using an arbiter
US11625192B2 (en) Peer storage compute sharing using memory buffer
CN113688139A (zh) 对象存储方法、网关、设备及介质
US11669402B2 (en) Highly efficient native application data protection for office 365
CN110347656B (zh) 文件存储系统中请求的管理方法和装置
US10521398B1 (en) Tracking version families in a file system
US10884649B2 (en) Tape drive data reclamation
CN111767169A (zh) 数据处理方法、装置、电子设备及存储介质
CN105653566B (zh) 一种实现数据库写访问的方法及装置
CN115586872A (zh) 一种容器镜像管理方法、装置、设备及存储介质
US11474728B2 (en) Data storage volume record management for application-level recovery

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20170109

Address after: 100000 Xicheng District West Chang'an Avenue, No. 86, Beijing

Applicant after: State Power Networks Co

Applicant after: Fujian Yirong Information Technology Co.,Ltd.

Applicant after: State Grid Zhejiang Electric Power Company

Address before: 100000 Xicheng District West Chang'an Avenue, No. 86, Beijing

Applicant before: State Power Networks Co

Applicant before: Fujian Yirong Information Technology Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170621

Address after: 100000 Xicheng District West Chang'an Avenue, No. 86, Beijing

Applicant after: State Grid Corporation of China

Applicant after: Fujian Yirong Information Technology Co.,Ltd.

Applicant after: State Grid Zhejiang Electric Power Company

Applicant after: STATE GRID INFORMATION & TELECOMMUNICATION GROUP CO., LTD.

Applicant after: State Grid Inforamtion & Telecommunication Great Power Science and Technology Co., Ltd.

Address before: 100000 Xicheng District West Chang'an Avenue, No. 86, Beijing

Applicant before: State Grid Corporation of China

Applicant before: Fujian Yirong Information Technology Co.,Ltd.

Applicant before: State Grid Zhejiang Electric Power Company

GR01 Patent grant
GR01 Patent grant