CN112839076A - 数据存储、读取方法、网关、电子设备及存储介质 - Google Patents
数据存储、读取方法、网关、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112839076A CN112839076A CN202011589419.7A CN202011589419A CN112839076A CN 112839076 A CN112839076 A CN 112839076A CN 202011589419 A CN202011589419 A CN 202011589419A CN 112839076 A CN112839076 A CN 112839076A
- Authority
- CN
- China
- Prior art keywords
- data
- cloud storage
- stored
- storage system
- protocol
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了数据存储、读取方法、网关、电子设备及存储介质,应用于数据存储技术领域,可以采用不同协议进行接入,实现了针对多协议、多异构的云存储系统的同时接入,可以将数据存储到不同的云存储系统中,还可以将数据缓存到网关本地高速存储介质中,支持数据的快速存储。同时采用资源池分池策略实现数据和索引的周期管理以及不同异构厂家数据的单独管理,采用副本和索引上云的方式实现数据安全,采用多节点分组设计解决单点故障问题,极大提升了安全性能。
Description
技术领域
本申请涉及数据存储技术领域,特别是涉及数据存储、读取方法、网关、电子设备及存储介质。
背景技术
随着互联网技术的发展,网络中的数据呈现井喷式的增长,云存储技术应运而生。针对不同服务方的云存储系统,其接入协议也不尽相同,例如,S3协议(亚马逊制定的对象协议)、OSS协议(阿里云制定的对象协议)及其他云存储厂商自定义的对象协议等。
现有技术中,一般用户只选取一个云存储服务方,即用户的数据仅存储到一种协议的云存储系统中,但是因为用户数据量的不断增加,以及不同数据存储的需要不同,如何实现将数据存储到不同的云存储系统中,成为亟待解决的问题。
发明内容
本申请实施例的目的在于提供一种数据存储、读取方法、网关、电子设备及存储介质,以实现将数据存储到不同的云存储系统中。具体技术方案如下:
第一方面,本申请实施例提供了一种数据存储方法,所述方法包括:
接收用户的数据存储请求,确定所述数据存储请求所使用的协议,得到第一协议;
当所述第一协议为预设的多种协议中的一种时,利用所述第一协议解析所述数据存储请求,得到待存储数据;
确定用于存储所述待存储数据的云存储系统,得到目标云存储系统;
按照预先设置的云存储系统与协议的对应关系,确定所述目标云存储系统所使用的第二协议;
利用所述目标云存储系统所使用的第二协议,向所述目标云存储系统上传所述待存储数据,以使所述目标云存储系统存储所述待存储数据;
在接收到存储成功消息后,更新所述待存储数据的云存储索引,其中,所述存储成功消息表示所述目标云存储系统完成了所述待存储数据的存储,所述云存储索引表示所述待存储数据在所述目标云存储系统中的存储地址。
在一种可能的实施方式中,所述确定用于存储所述待存储数据的云存储系统,得到目标云存储系统,包括:
确定所述第一协议对应的云存储系统,得到目标云存储系统;或
按照预先设置的用户与云存储系统的对应关系,确定发送所述数据存储请求的用户所对应的云存储系统,得到所述目标云存储系统。
在一种可能的实施方式中,所述方法还包括:
在所述待存储数据处于加速存储状态的情况下,将所述待存储数据存储到本地高速存储介质中,并更新所述待存储数据的本地存储索引。
在一种可能的实施方式中,所述数据存储方法应用于网关中的第一节点,所述网关包括多个节点,所述方法还包括:
将所述待存储数据的云存储索引和/或本地存储索引备份到除所述第一节点外的另一节点中。
在一种可能的实施方式中,所述本地高速存储介质包括多个桶bucket,所述将所述待存储数据存储到本地高速存储介质中,包括:
在所述本地高速存储介质的各bucket中,选取未存储数据的bucket或存储的数据的存储时长达到预设时长阈值的bucket作为目标bucket;
将所述待存储数据存储到所述目标bucket中。
在一种可能的实施方式中,所述利用所述目标云存储系统所使用的第二协议,向所述目标云存储系统上传所述待存储数据,以使所述目标云存储系统存储所述待存储数据,包括:
利用所述目标云存储系统所使用的第二协议,将所述目标bucket中的待存储数据上传给所述目标云存储系统,以使所述目标云存储系统存储所述待存储数据,在所述目标云存储系统包括多个异构云存储系统的情况下,一个bucket中的数据上传到一个异构云存储系统中。
第二方面,本申请实施例提供了一种数据读取方法,所述方法包括:
接收用户的数据读取请求,确定所述数据读取请求所使用的协议,得到第三协议;
当所述第三协议为预设的多种协议中的一种时,解析所述数据读取请求的合法性;
在所述数据读取请求合法、且所述数据读取请求请求的待读取数据处于加速存储状态的情况下,获取所述待读取数据的本地存储索引;
根据所述本地存储索引获取所述待读取数据,并利用所述第三协议向所述用户返回所述待读取数据。
在一种可能的实施方式中,所述方法还包括:
在所述数据读取请求合法、且所述待读取数据未处于加速存储状态的情况下,获取所述待读取数据的云存储索引;
确定所述云存储索引对应的云存储系统所使用的协议,得到第四协议;
根据所述云存储索引利用所述第四协议从对应的云存储系统中获取所述待读取数据,并利用所述第三协议向所述用户返回所述待读取数据。
第三方面,本申请实施例提供了一种网关,包括:
协议接入解析模块,用于接收用户的数据存储请求,确定所述数据存储请求所使用的协议,得到第一协议;当所述第一协议为预设的多种协议中的一种时,利用所述第一协议解析所述数据存储请求,得到待存储数据;
数据处理模块,用于确定用于存储所述待存储数据的云存储系统,得到目标云存储系统;按照预先设置的云存储系统与协议的对应关系,确定所述目标云存储系统所使用的第二协议;
数据上云模块,用于利用所述目标云存储系统所使用的第二协议,向所述目标云存储系统上传所述待存储数据,以使所述目标云存储系统存储所述待存储数据;
索引管理模块,用于在接收到存储成功消息后,更新所述待存储数据的云存储索引,其中,所述存储成功消息表示所述目标云存储系统完成了所述待存储数据的存储,所述云存储索引表示所述待存储数据在所述目标云存储系统中的存储地址。
在一种可能的实施方式中,所述数据处理模块,具体用于:确定所述第一协议对应的云存储系统,得到目标云存储系统;或按照预先设置的用户与云存储系统的对应关系,确定发送所述数据存储请求的用户所对应的云存储系统,得到所述目标云存储系统。
在一种可能的实施方式中,所述网关还包括:数据加速存储模块;
所述数据处理模块,还用于在所述待存储数据处于加速存储状态的情况下,向所述数据加速存储模块发送所述待存储数据;
所述数据加速存储模块,用于在所述待存储数据处于加速存储状态的情况下,将所述待存储数据存储到本地高速存储介质中;
所述索引管理模块,还用于更新所述待存储数据的本地存储索引。
在一种可能的实施方式中,所述网关包括至少两个节点,所述索引管理模块,还用于:将所述待存储数据的云存储索引和/或本地存储索引备份到除当前节点的另一节点中。
在一种可能的实施方式中,所述本地高速存储介质包括多个bucket,所述数据加速存储模块具体用于:在所述待存储数据处于加速存储状态的情况下,在所述本地高速存储介质的各bucket中,选取未存储数据的bucket或存储的数据的存储时长达到预设时长阈值的bucket作为目标bucket;将所述待存储数据存储到所述目标bucket中。
在一种可能的实施方式中,所述数据上云模块,具体用于:利用所述目标云存储系统所使用的第二协议,将所述目标bucket中的待存储数据上传给所述目标云存储系统,以使所述目标云存储系统存储所述待存储数据,在所述目标云存储系统包括多个异构云存储系统的情况下,一个bucket中的数据上传到一个异构云存储系统中。
第四方面,本申请实施例提供了一种网关,包括:
协议接入解析模块,用于接收用户的数据读取请求,确定所述数据读取请求所使用的协议,得到第三协议;当所述第三协议为预设的多种协议中的一种时,解析所述数据读取请求的合法性;
数据处理模块,用于在所述数据读取请求合法、且所述数据读取请求请求的待读取数据处于加速存储状态的情况下,从索引管理模块中获取所述待读取数据的本地存储索引;根据所述本地存储索引从数据加速存储模块中获取所述待读取数据,并利用所述第三协议向所述用户返回所述待读取数据;
所述索引管理模块,用于存储所述待读取数据的本地存储索引;
所述数据加速存储模块,用于利用高速存储介质存储所述待读取数据。
在一种可能的实施方式中,所述网关还包括数据上云模块;
所述索引管理模块,还用于存储所述待读取数据的云存储索引;
所述数据处理模块,还用于在所述数据读取请求合法、且所述待读取数据未处于加速存储状态的情况下,从所述索引管理模块中获取所述待读取数据的云存储索引;确定所述云存储索引对应的云存储系统所使用的协议,得到第四协议;
所述数据上云模块,用于根据所述云存储索引利用所述第四协议从对应的云存储系统中获取所述待读取数据;
所述数据处理模块,还用于利用所述第三协议向所述用户返回所述待读取数据。
第五方面,本申请实施例提供了一种电子设备,包括处理器及存储器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现本申请中任一所述的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权本申请中任一所述的方法。
本申请实施例有益效果:
本申请实施例提供的数据存储、读取方法、网关、电子设备及存储介质,可以采用不同协议进行接入,实现了针对多协议、多异构的云存储系统的同时接入,可以将数据存储到不同的云存储系统中,还可以将数据缓存到网关本地高速存储介质中,支持数据的快速存储。同时采用资源池分池策略实现数据和索引的周期管理以及不同异构厂家数据的单独管理,采用副本和索引上云的方式实现数据安全,采用多节点分组设计解决单点故障问题,极大提升了安全性能。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的网关第一种示意图;
图2为本申请实施例的网关第二种示意图;
图3为本申请实施例的网关第三种示意图;
图4为本申请实施例的数据存储方法的一种示意图;
图5为本申请实施例的数据读取方法的一种示意图;
图6为本申请实施例的电子设备的一种示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在实际数据存储过程中可能会存在多种云存储系统同时接入的情况。有鉴于此,本申请提供了一种网关,参见图1,包括:
协议接入解析模块11,用于接收用户的数据存储请求,确定上述数据存储请求所使用的协议,得到第一协议;当上述第一协议为预设的多种协议中的一种时,利用上述第一协议解析上述数据存储请求,得到待存储数据。
协议接入解析模块支持预设的多种协议的请求,具体支持的预设协议的类型可以根据数据上云模块接入的云存储系统的协议设定,例如可以包括S3协议、OSS协议、其他云存储厂商自定义的对象协议等。
数据处理模块12,用于确定用于存储上述待存储数据的云存储系统,得到目标云存储系统;按照预先设置的云存储系统与协议的对应关系,确定上述目标云存储系统所使用的第二协议。
数据处理模块按照预设策略确定用于存储待存储数据的云存储系统。预设策略可以根据实际情况自定义设置。在一种可能的实施方式中,上述数据处理模块,具体用于:确定上述第一协议对应的云存储系统,得到目标云存储系统;或按照预先设置的用户与云存储系统的对应关系,确定发送上述数据存储请求的用户所对应的云存储系统,得到上述目标云存储系统。一个例子中,用于存储待存储数据的云存储系统为使用第一协议的云存储系统,向使用第一协议的云存储系统上传待存储数据,以使使用第一协议的云存储系统存储待存储数据;一个例子中,可以预先设置用户与云存储系统的对应关系,用于存储待存储数据的云存储系统为上传该待存储数据的用户所对应的云存储系统;一个用户可以对应多个云存储系统,即用于存储待存储数据的云存储系统可以为多个。
网关中预先记录了云存储系统与协议的对应关系,例如,亚马逊云存储系统对应S3协议,阿里云云存储系统对应OSS协议等;预先设置的云存储系统与协议的对应关系,确定上述目标云存储系统所使用的协议,以下称为第二协议。
数据上云模块13,用于利用上述目标云存储系统所使用的第二协议,向上述目标云存储系统上传上述待存储数据,以使上述目标云存储系统存储上述待存储数据。
数据上云模块支持多种协议云存储系统的通信,第一协议与第二协议可以相同也可以不同。数据上云模块具体支持的协议类型可以根据实际的云存储系统的协议设定,例如可以包括S3协议、OSS协议、其他云存储厂商自定义的对象协议等。
索引管理模块14,用于在接收到存储成功消息后,更新上述待存储数据的云存储索引,其中,上述存储成功消息表示上述目标云存储系统完成了上述待存储数据的存储,上述云存储索引表示上述待存储数据在上述目标云存储系统中的存储地址。
在本申请实施例中,实现了针对不同协议的多种云存储系统的同时接入,可以将数据存储到不同的云存储系统中。
一种可能的实施方式中,参见图2,上述网关还包括:数据加速存储模块15。
数据处理模块12,还用于在上述待存储数据处于加速存储状态的情况下,向上述数据加速存储模块发送上述待存储数据。
数据加速存储模块15,用于在上述待存储数据处于加速存储状态的情况下,将上述待存储数据存储到本地高速存储介质中。
本地高速存储介质可以为SSD(Solid State Disk,固态硬盘)或高速内存等。
索引管理模块14,还用于更新待存储数据的本地存储索引。
协议接入解析模块可以接受用户的数据存储请求或数据读取请求,同时判断请求类型并做下一步请求处理。数据处理模块可以处理数据存储请求和数据读取请求中数据的转发,根据需求实现数据加速存储、数据上云、数据索引管理等。数据加速存储模块可以实现数据在网关本地存储中的数据存储和读取以及同组节点间数据的同步。索引管理模块可以实现索引的管理以及索引上云、索引同步等功能。数据上云模块可以实现数据写入到异构存储和从异构存储读取的功能。
具体的,针对数据存储的过程:协议接入解析模块解析用户的数据存储请求,从而剥离出真实数据和真实数据的元数据,并将元数据和真实数据发送给数据处理模块。数据处理模块获取当前的加速存储状态配置,若当前的加速存储状态配置表示需要SSD或内存加速,则将数据(包括元数据和真实数据)发送给数据加速存储模块存储到SSD或内存中并记录索引。数据加速存储模块同步将SSD或内存的元数据备份到同组的备节点,一种实施方式中,如同步失败则记录为异步任务并进行数据同步。元数据和真实数据同步发送到数据上云模块,数据上云模块将数据存储到异构的云存储,结合上传成功与否的结果更新索引;索引管理模块将索引定期打包保存到云存储系统,例如异构云存储中,实现索引数据的保护。一个例子中,当网关本地的索引丢失或损坏时,可以从云存储系统中恢复丢失或损坏的索引,从而保证索引数据的安全性。
在本申请实施例中,在实现了将数据存储到不同的云存储系统的基础上,还可以将数据缓存到网关本地高速存储介质中,支持数据的快速存储。
一种可能的实施方式中,参加图3,上述网关包括至少两个节点,上述索引管理模块,还用于:将所述待存储数据的云存储索引和/或本地存储索引备份到除当前节点的另一节点中。
当前节点即索引管理模块所在的节点。数据的索引是最关键的数据,可以采用主备双副本的方式进行保存,例如,网关可以采用两个节点一组的方式解决单节点故障的问题,此时当前节点与上述另一节点即为一组。当任一节点离线后,组内另外一点提供存储和读取的功能,由于索引是双副本模式,保证数据的读写正常。一个实施方式中可以按照预设周期定时将索引(包括本地存储索引及运存储索引)打包成数据保存到云存储中,从而实现索引数据的双重保护。一种实施方式中,SSD或内存中数据必须存储到云存储系统后才可以执行SSD或内存该数据覆盖。当SSD或内存存满后实时写入的数据可以直接存储到云存储中,云存储中的数据按照其自身的测量保证数据安全,本申请中不做限定。
一种可能的实施方式中,待存储数据存储在本地高速存储介质的资源池,例如,bucket(桶)中,bucket中的数据按照预设周期覆盖存储。上述本地高速存储介质包括多个bucket,上述数据加速存储模块具体用于:在上述待存储数据处于加速存储状态的情况下,在上述本地高速存储介质的各bucket中,选取未存储数据的bucket或存储的数据的存储时长达到预设时长阈值的bucket作为目标bucket;将上述待存储数据存储到上述目标bucket中。
用户写入的数据可以采用bucket的方式分池周期管理策略,单个bucket内的数据及其索引采用预设周期覆盖存储。网关的索引覆盖存储周期由网关的索引管理模块来维护。例如,预设周期可以根据实际情况自行设置,还可以针对不同存储标识(例如不同前缀)的数据设置不同的预设周期。云存储中的数据由云存储自身的策略来维护。
此种情况下,数据处理模块还用于根据待存储数据的存储标识,确定该存储标识表示的目标预设周期,并通知索引管理模块及数据加速存储模块待存储数据的目标预设周期;数据加速存储模块用于将待存储数据存储到目标预设周期所对应的bucket中,其中,目标预设周期所对应的bucket中以按照目标预设周期覆盖待存储数据;索引管理模块记录待存储数据的目标预设周期,并按照目标预设周期覆盖待存储数据的本地存储索引。
例如,数据处理模块解析出前缀为A的数据1的对应的预设周期为7天,将数据1的预设周期为7天通知索引管理模块及数据加速存储模块;数据加速存储模块将数据1存储到7天对应的bucket中,数据1在该bucket中存储时间满7天后就会被其他的数据覆盖掉。索引管理模块记录数据1的目标预设周期为7天,在数据1的本地存储索引存储时间满7天后,就删除数据1的索引,已释放存储空间。
一种可能的实施方式中,上述数据上云模块,具体用于:利用上述目标云存储系统所使用的第二协议,将上述目标bucket中的待存储数据上传给上述目标云存储系统,以使上述目标云存储系统存储上述待存储数据,在上述目标云存储系统包括多个异构云存储系统的情况下,一个bucket中的数据上传到一个异构云存储系统中。
网关支持配置某个bucket的数据写入到的异构云存储中,存储的数据采用bucket分池周期管理策略,单个bucket内的数据如果要异构的话只会写入到一种协议的异构云存储中。
在本申请实施例中,可以采用不同协议进行接入,实现了针对多协议、多异构的云存储系统的同时接入,可以将数据存储到不同的云存储系统中,还可以将数据缓存到网关本地高速存储介质中,支持数据的快速存储。同时采用bucket分池策略实现数据和索引的周期管理以及不同异构厂家数据的单独管理,采用副本和索引上云的方式实现数据安全,采用多节点分组设计解决单点故障问题,极大提升了安全性能。
本申请实施例还提供了一种网关,包括:
协议接入解析模块,用于接收用户的数据读取请求,确定数据读取请求所使用的协议,得到第三协议;当第三协议为预设的多种协议中的一种时,解析数据读取请求的合法性。
数据处理模块,用于在数据读取请求合法、且数据读取请求请求的待读取数据处于加速存储状态的情况下,从索引管理模块中获取待读取数据的本地存储索引;根据本地存储索引从数据加速存储模块中获取待读取数据,并利用第三协议向用户返回待读取数据。
索引管理模块,用于存储待读取数据的本地存储索引。
数据加速存储模块,用于利用高速存储介质存储待读取数据。
一种可能的实施方式中,网关还包括数据上云模块。
索引管理模块,还用于存储待读取数据的云存储索引。
数据处理模块,还用于在数据读取请求合法、且待读取数据未处于加速存储状态的情况下,从索引管理模块中获取待读取数据的云存储索引;确定云存储索引对应的云存储系统所使用的协议,得到第四协议。
数据上云模块,用于根据云存储索引利用第四协议从对应的云存储系统中获取待读取数据。
数据处理模块,还用于利用第三协议向用户返回待读取数据。
具体的,针对数据读取的过程:协议接入解析模块解析用户的数据读取请求的合法性,若合法则将数据读取请求发送给数据处理模块;数据处理模块查询索引信息,如果数据属于加速状态,则从数据加速存储模块读取数据,数据加速存储模块从索引管理模块中获取索引信息,根据索引信息读取SSD中的数据并返回数据,如果数据不属于加速状态,则将索引信息以及数据读取请求发给数据上云模块;数据上云模块根据索引中的数据地址信息从异构云中下载数据并返回数据,数据逐层返回,最终返回给用户。
本申请实施例还提供了一种数据存储方法,参见图4,该方法包括:
S401,接收用户的数据存储请求,确定上述数据存储请求所使用的协议,得到第一协议。
S402,当上述第一协议为预设的多种协议中的一种时,利用上述第一协议解析上述数据存储请求,得到待存储数据。
S403,确定用于存储上述待存储数据的云存储系统,得到目标云存储系统。
S404,按照预先设置的云存储系统与协议的对应关系,确定上述目标云存储系统所使用的第二协议。
S405,利用上述目标云存储系统所使用的第二协议,向上述目标云存储系统上传上述待存储数据,以使上述目标云存储系统存储上述待存储数据。
S406,在接收到存储成功消息后,更新上述待存储数据的云存储索引,其中,上述存储成功消息表示上述目标云存储系统完成了上述待存储数据的存储,上述云存储索引表示上述待存储数据在上述目标云存储系统中的存储地址。
在一种可能的实施方式中,上述确定用于存储上述待存储数据的云存储系统,得到目标云存储系统,包括:
确定上述第一协议对应的云存储系统,得到目标云存储系统;或按照预先设置的用户与云存储系统的对应关系,确定发送上述数据存储请求的用户所对应的云存储系统,得到上述目标云存储系统。
在一种可能的实施方式中,上述方法还包括:
在待存储数据处于加速存储状态的情况下,将待存储数据存储到本地高速存储介质中,并更新待存储数据的本地存储索引。
在一种可能的实施方式中,上述数据存储方法应用于网关中的第一节点,上述网关包括多个节点,上述方法还包括:将上述待存储数据的云存储索引和/或本地存储索引备份到除上述第一节点外的另一节点中。
上述网关包括多个节点,第一节点为上述网关中的任一节点,针对网关中的任一节点,均可以执行与第一节点相同或相似的操作。
在一种可能的实施方式中,上述本地高速存储介质包括多个桶bucket,上述将上述待存储数据存储到本地高速存储介质中,包括:
步骤一,在上述本地高速存储介质的各bucket中,选取未存储数据的bucket或存储的数据的存储时长达到预设时长阈值的bucket作为目标bucket。
步骤二,将上述待存储数据存储到上述目标bucket中。
在一种可能的实施方式中,上述利用上述目标云存储系统所使用的第二协议,向上述目标云存储系统上传上述待存储数据,以使上述目标云存储系统存储上述待存储数据,包括:
利用上述目标云存储系统所使用的第二协议,将上述目标bucket中的待存储数据上传给上述目标云存储系统,以使上述目标云存储系统存储上述待存储数据,在上述目标云存储系统包括多个异构云存储系统的情况下,一个bucket中的数据上传到一个异构云存储系统中。
本申请实施例还提供了一种数据读取方法,参见图5,该方法包括:
S501,接收用户的数据读取请求,确定上述数据读取请求所使用的协议,得到第三协议。
S502,当上述第三协议为预设的多种协议中的一种时,解析上述数据读取请求的合法性。
S503,在上述数据读取请求合法、且上述数据读取请求请求的待读取数据处于加速存储状态的情况下,获取上述待读取数据的本地存储索引。
S504,根据上述本地存储索引获取上述待读取数据,并利用上述第三协议向上述用户返回上述待读取数据。
在一种可能的实施方式中,上述方法还包括:
步骤一,在上述数据读取请求合法、且上述待读取数据未处于加速存储状态的情况下,获取上述待读取数据的云存储索引。
步骤二,确定上述云存储索引对应的云存储系统所使用的协议,得到第四协议。
步骤三,根据上述云存储索引利用上述第四协议从对应的云存储系统中获取上述待读取数据,并利用上述第三协议向上述用户返回上述待读取数据。
本申请实施例还提供了一种电子设备,包括:处理器及存储器;
上述存储器,用于存放计算机程序;
上述处理器用于执行上述存储器存放的计算机程序时,实现如下步骤:
接收用户的数据存储请求,解析所述数据存储请求,得到所述数据存储请求所使用的目标协议类型及待存储数据;
向所述目标协议类型对应的云存储系统上传所述待存储数据,以使所述目标协议类型对应的云存储系统存储所述待存储数据;
在接收到存储成功消息后,更新所述待存储数据的云存储索引,其中,所述存储成功消息表示所述目标协议类型对应的云存储系统完成了所述待存储数据的存储。
可选的,参见图6,除了处理器11及存储器13外,本申请实施例的电子设备还包括通信接口12和通信总线14,其中,处理器11,通信接口12,存储器13通过通信总线14完成相互间的通信。
可选的,上述处理器用于执行上述存储器存放的计算机程序时,还能够实现上述任一数据存储方法或数据读取方法。
上述电子设备提到的通信总线可以是PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供了一种计算机可读存储介质,上述计算机可读存储介质内存储有计算机程序,上述计算机程序被处理器执行时实现上述任一数据存储方法或数据读取方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一数据存储方法或数据读取方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
需要说明的是,在本文中,各个可选方案中的技术特征只要不矛盾均可组合来形成方案,这些方案均在本申请公开的范围内。诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法、电子设备及存储介质的实施例而言,由于其基本相似于网格实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (14)
1.一种数据存储方法,其特征在于,所述方法包括:
接收用户的数据存储请求,确定所述数据存储请求所使用的协议,得到第一协议;
当所述第一协议为预设的多种协议中的一种时,利用所述第一协议解析所述数据存储请求,得到待存储数据;
确定用于存储所述待存储数据的云存储系统,得到目标云存储系统;
按照预先设置的云存储系统与协议的对应关系,确定所述目标云存储系统所使用的第二协议;
利用所述目标云存储系统所使用的第二协议,向所述目标云存储系统上传所述待存储数据,以使所述目标云存储系统存储所述待存储数据;
在接收到存储成功消息后,更新所述待存储数据的云存储索引,其中,所述存储成功消息表示所述目标云存储系统完成了所述待存储数据的存储,所述云存储索引表示所述待存储数据在所述目标云存储系统中的存储地址。
2.根据权利要求1所述的方法,其特征在于,所述确定用于存储所述待存储数据的云存储系统,得到目标云存储系统,包括:
确定所述第一协议对应的云存储系统,得到目标云存储系统;或
按照预先设置的用户与云存储系统的对应关系,确定发送所述数据存储请求的用户所对应的云存储系统,得到所述目标云存储系统。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述待存储数据处于加速存储状态的情况下,将所述待存储数据存储到本地高速存储介质中,并更新所述待存储数据的本地存储索引。
4.根据权利要求3所述的方法,其特征在于,所述数据存储方法应用于网关中的第一节点,所述网关包括多个节点,所述方法还包括:
将所述待存储数据的云存储索引和/或本地存储索引备份到除所述第一节点外的另一节点中。
5.根据权利要求3所述的方法,其特征在于,所述本地高速存储介质包括多个桶bucket,所述将所述待存储数据存储到本地高速存储介质中,包括:
在所述本地高速存储介质的各bucket中,选取未存储数据的bucket或存储的数据的存储时长达到预设时长阈值的bucket作为目标bucket;
将所述待存储数据存储到所述目标bucket中。
6.根据权利要求5所述的方法,其特征在于,所述利用所述目标云存储系统所使用的第二协议,向所述目标云存储系统上传所述待存储数据,以使所述目标云存储系统存储所述待存储数据,包括:
利用所述目标云存储系统所使用的第二协议,将所述目标bucket中的待存储数据上传给所述目标云存储系统,以使所述目标云存储系统存储所述待存储数据,在所述目标云存储系统包括多个异构云存储系统的情况下,一个bucket中的数据上传到一个异构云存储系统中。
7.一种数据读取方法,其特征在于,所述方法包括:
接收用户的数据读取请求,确定所述数据读取请求所使用的协议,得到第三协议;
当所述第三协议为预设的多种协议中的一种时,解析所述数据读取请求的合法性;
在所述数据读取请求合法、且所述数据读取请求请求的待读取数据处于加速存储状态的情况下,获取所述待读取数据的本地存储索引;
根据所述本地存储索引获取所述待读取数据,并利用所述第三协议向所述用户返回所述待读取数据。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述数据读取请求合法、且所述待读取数据未处于加速存储状态的情况下,获取所述待读取数据的云存储索引;
确定所述云存储索引对应的云存储系统所使用的协议,得到第四协议;
根据所述云存储索引利用所述第四协议从对应的云存储系统中获取所述待读取数据,并利用所述第三协议向所述用户返回所述待读取数据。
9.一种网关,其特征在于,包括:
协议接入解析模块,用于接收用户的数据存储请求,确定所述数据存储请求所使用的协议,得到第一协议;当所述第一协议为预设的多种协议中的一种时,利用所述第一协议解析所述数据存储请求,得到待存储数据;
数据处理模块,用于确定用于存储所述待存储数据的云存储系统,得到目标云存储系统;按照预先设置的云存储系统与协议的对应关系,确定所述目标云存储系统所使用的第二协议;
数据上云模块,用于利用所述目标云存储系统所使用的第二协议,向所述目标云存储系统上传所述待存储数据,以使所述目标云存储系统存储所述待存储数据;
索引管理模块,用于在接收到存储成功消息后,更新所述待存储数据的云存储索引,其中,所述存储成功消息表示所述目标云存储系统完成了所述待存储数据的存储,所述云存储索引表示所述待存储数据在所述目标云存储系统中的存储地址。
10.根据权利要求9所述的网关,其特征在于,所述数据处理模块,具体用于:确定所述第一协议对应的云存储系统,得到目标云存储系统;或按照预先设置的用户与云存储系统的对应关系,确定发送所述数据存储请求的用户所对应的云存储系统,得到所述目标云存储系统。
11.根据权利要求9所述的网关,其特征在于,所述网关还包括:数据加速存储模块;
所述数据处理模块,还用于在所述待存储数据处于加速存储状态的情况下,向所述数据加速存储模块发送所述待存储数据;
所述数据加速存储模块,用于在所述待存储数据处于加速存储状态的情况下,将所述待存储数据存储到本地高速存储介质中;
所述索引管理模块,还用于更新所述待存储数据的本地存储索引。
12.一种网关,其特征在于,包括:
协议接入解析模块,用于接收用户的数据读取请求,确定所述数据读取请求所使用的协议,得到第三协议;当所述第三协议为预设的多种协议中的一种时,解析所述数据读取请求的合法性;
数据处理模块,用于在所述数据读取请求合法、且所述数据读取请求请求的待读取数据处于加速存储状态的情况下,从索引管理模块中获取所述待读取数据的本地存储索引;根据所述本地存储索引从数据加速存储模块中获取所述待读取数据,并利用所述第三协议向所述用户返回所述待读取数据;
所述索引管理模块,用于存储所述待读取数据的本地存储索引;
所述数据加速存储模块,用于利用高速存储介质存储所述待读取数据。
13.一种电子设备,其特征在于,包括处理器及存储器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-8任一所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011589419.7A CN112839076B (zh) | 2020-12-29 | 2020-12-29 | 数据存储、读取方法、网关、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011589419.7A CN112839076B (zh) | 2020-12-29 | 2020-12-29 | 数据存储、读取方法、网关、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112839076A true CN112839076A (zh) | 2021-05-25 |
CN112839076B CN112839076B (zh) | 2022-07-05 |
Family
ID=75925130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011589419.7A Active CN112839076B (zh) | 2020-12-29 | 2020-12-29 | 数据存储、读取方法、网关、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112839076B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296710A (zh) * | 2021-06-10 | 2021-08-24 | 杭州雾联科技有限公司 | 一种云存储数据读取方法、装置、电子设备及存储介质 |
CN113676510A (zh) * | 2021-07-13 | 2021-11-19 | 阿里巴巴新加坡控股有限公司 | 一种云存储方法、系统、设备及存储介质 |
CN114124981A (zh) * | 2021-11-19 | 2022-03-01 | 天翼数字生活科技有限公司 | 一种云存储数据直传管理方法、云传输管理平台及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008028A (zh) * | 2014-05-22 | 2014-08-27 | 北京大学 | 基于多云存储的智能移动终端数据存储备份方法与系统 |
CN105491145A (zh) * | 2015-12-21 | 2016-04-13 | 清华大学 | 多厂商云存储服务的聚合系统及方法 |
CN106293490A (zh) * | 2015-05-12 | 2017-01-04 | 中兴通讯股份有限公司 | 数据存储、读取的方法、装置及系统 |
US20180336210A1 (en) * | 2017-05-18 | 2018-11-22 | Geoffrey Bourgeois | Methods and systems relating to network based storage |
CN110650084A (zh) * | 2019-08-26 | 2020-01-03 | 山东省科学院自动化研究所 | 一种工业物联网智能网关、联网系统及数据处理方法 |
CN110677405A (zh) * | 2019-09-26 | 2020-01-10 | 北京金山云网络技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN110708375A (zh) * | 2019-09-30 | 2020-01-17 | 恩亿科(北京)数据科技有限公司 | 一种数据处理方法、装置及系统 |
-
2020
- 2020-12-29 CN CN202011589419.7A patent/CN112839076B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104008028A (zh) * | 2014-05-22 | 2014-08-27 | 北京大学 | 基于多云存储的智能移动终端数据存储备份方法与系统 |
CN106293490A (zh) * | 2015-05-12 | 2017-01-04 | 中兴通讯股份有限公司 | 数据存储、读取的方法、装置及系统 |
CN105491145A (zh) * | 2015-12-21 | 2016-04-13 | 清华大学 | 多厂商云存储服务的聚合系统及方法 |
US20180336210A1 (en) * | 2017-05-18 | 2018-11-22 | Geoffrey Bourgeois | Methods and systems relating to network based storage |
CN110650084A (zh) * | 2019-08-26 | 2020-01-03 | 山东省科学院自动化研究所 | 一种工业物联网智能网关、联网系统及数据处理方法 |
CN110677405A (zh) * | 2019-09-26 | 2020-01-10 | 北京金山云网络技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN110708375A (zh) * | 2019-09-30 | 2020-01-17 | 恩亿科(北京)数据科技有限公司 | 一种数据处理方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
何锡点等: "一种多云管理平台的设计与实现", 《网络安全技术与应用》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296710A (zh) * | 2021-06-10 | 2021-08-24 | 杭州雾联科技有限公司 | 一种云存储数据读取方法、装置、电子设备及存储介质 |
CN113676510A (zh) * | 2021-07-13 | 2021-11-19 | 阿里巴巴新加坡控股有限公司 | 一种云存储方法、系统、设备及存储介质 |
CN114124981A (zh) * | 2021-11-19 | 2022-03-01 | 天翼数字生活科技有限公司 | 一种云存储数据直传管理方法、云传输管理平台及系统 |
CN114124981B (zh) * | 2021-11-19 | 2024-04-12 | 天翼视联科技有限公司 | 一种云存储数据直传管理方法、云传输管理平台及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112839076B (zh) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112839076B (zh) | 数据存储、读取方法、网关、电子设备及存储介质 | |
CN108011929A (zh) | 数据请求处理方法、装置、计算机设备和存储介质 | |
US11392497B1 (en) | Low latency access to data sets using shared data set portions | |
US11392363B2 (en) | Implementing application entrypoints with containers of a bundled application | |
CN109271098B (zh) | 一种数据迁移方法及装置 | |
CN111182089B (zh) | 容器集群系统和访问大数据组件的方法、装置及服务器 | |
US11550713B1 (en) | Garbage collection in distributed systems using life cycled storage roots | |
US20140351106A1 (en) | Bandwidth metering in large-scale networks | |
CN113141405B (zh) | 服务访问方法、中间件系统、电子设备和存储介质 | |
CN111064804B (zh) | 网络访问方法和装置 | |
US11593270B1 (en) | Fast distributed caching using erasure coded object parts | |
CN111125175A (zh) | 业务数据的查询方法和装置、存储介质、电子装置 | |
CN110781149A (zh) | 管理直播间信息的方法、装置、设备及存储介质 | |
CN113395340A (zh) | 一种信息更新方法、装置、设备、系统和可读存储介质 | |
CN112583760B (zh) | 一种对象存储的访问方法、装置、设备和计算机存储介质 | |
CN109873855A (zh) | 一种基于区块链网络的资源获取方法和系统 | |
CN113157487A (zh) | 数据恢复方法及其设备 | |
US11582168B2 (en) | Fenced clone applications | |
US9893972B1 (en) | Managing I/O requests | |
CN110083509B (zh) | 一种日志数据的规整方法及装置 | |
US10516723B2 (en) | Distributing subscriber data in a mobile data network | |
CN109918213A (zh) | 一种消息处理方法、装置及服务器 | |
CN114830105A (zh) | 一种数据读取方法以及终端 | |
WO2018188073A1 (zh) | 内容部署方法及分发控制器 | |
CN108694102A (zh) | 一种基于Nexus服务的数据操作方法、设备、系统和介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |