数据存储、读取方法、网关、电子设备及存储介质技术

技术编号:28565061 阅读:41 留言:0更新日期:2021-05-25 18:01
本申请实施例提供了数据存储、读取方法、网关、电子设备及存储介质,应用于数据存储技术领域,可以采用不同协议进行接入,实现了针对多协议、多异构的云存储系统的同时接入,可以将数据存储到不同的云存储系统中,还可以将数据缓存到网关本地高速存储介质中,支持数据的快速存储。同时采用资源池分池策略实现数据和索引的周期管理以及不同异构厂家数据的单独管理,采用副本和索引上云的方式实现数据安全,采用多节点分组设计解决单点故障问题,极大提升了安全性能。

【技术实现步骤摘要】
数据存储、读取方法、网关、电子设备及存储介质
本申请涉及数据存储
,特别是涉及数据存储、读取方法、网关、电子设备及存储介质。
技术介绍
随着互联网技术的发展,网络中的数据呈现井喷式的增长,云存储技术应运而生。针对不同服务方的云存储系统,其接入协议也不尽相同,例如,S3协议(亚马逊制定的对象协议)、OSS协议(阿里云制定的对象协议)及其他云存储厂商自定义的对象协议等。现有技术中,一般用户只选取一个云存储服务方,即用户的数据仅存储到一种协议的云存储系统中,但是因为用户数据量的不断增加,以及不同数据存储的需要不同,如何实现将数据存储到不同的云存储系统中,成为亟待解决的问题。
技术实现思路
本申请实施例的目的在于提供一种数据存储、读取方法、网关、电子设备及存储介质,以实现将数据存储到不同的云存储系统中。具体技术方案如下:第一方面,本申请实施例提供了一种数据存储方法,所述方法包括:接收用户的数据存储请求,确定所述数据存储请求所使用的协议,得到第一协议;当所述第一协议为预设的多种协议中的一种时,利用所述第一协议解析所述数据存储请求,得到待存储数据;确定用于存储所述待存储数据的云存储系统,得到目标云存储系统;按照预先设置的云存储系统与协议的对应关系,确定所述目标云存储系统所使用的第二协议;利用所述目标云存储系统所使用的第二协议,向所述目标云存储系统上传所述待存储数据,以使所述目标云存储系统存储所述待存储数据;在接收到存储成功消息后,更新所述待存储数据的云存储索引,其中,所述存储成功消息表示所述目标云存储系统完成了所述待存储数据的存储,所述云存储索引表示所述待存储数据在所述目标云存储系统中的存储地址。在一种可能的实施方式中,所述确定用于存储所述待存储数据的云存储系统,得到目标云存储系统,包括:确定所述第一协议对应的云存储系统,得到目标云存储系统;或按照预先设置的用户与云存储系统的对应关系,确定发送所述数据存储请求的用户所对应的云存储系统,得到所述目标云存储系统。在一种可能的实施方式中,所述方法还包括:在所述待存储数据处于加速存储状态的情况下,将所述待存储数据存储到本地高速存储介质中,并更新所述待存储数据的本地存储索引。在一种可能的实施方式中,所述数据存储方法应用于网关中的第一节点,所述网关包括多个节点,所述方法还包括:将所述待存储数据的云存储索引和/或本地存储索引备份到除所述第一节点外的另一节点中。在一种可能的实施方式中,所述本地高速存储介质包括多个桶bucket,所述将所述待存储数据存储到本地高速存储介质中,包括:在所述本地高速存储介质的各bucket中,选取未存储数据的bucket或存储的数据的存储时长达到预设时长阈值的bucket作为目标bucket;将所述待存储数据存储到所述目标bucket中。在一种可能的实施方式中,所述利用所述目标云存储系统所使用的第二协议,向所述目标云存储系统上传所述待存储数据,以使所述目标云存储系统存储所述待存储数据,包括:利用所述目标云存储系统所使用的第二协议,将所述目标bucket中的待存储数据上传给所述目标云存储系统,以使所述目标云存储系统存储所述待存储数据,在所述目标云存储系统包括多个异构云存储系统的情况下,一个bucket中的数据上传到一个异构云存储系统中。第二方面,本申请实施例提供了一种数据读取方法,所述方法包括:接收用户的数据读取请求,确定所述数据读取请求所使用的协议,得到第三协议;当所述第三协议为预设的多种协议中的一种时,解析所述数据读取请求的合法性;在所述数据读取请求合法、且所述数据读取请求请求的待读取数据处于加速存储状态的情况下,获取所述待读取数据的本地存储索引;根据所述本地存储索引获取所述待读取数据,并利用所述第三协议向所述用户返回所述待读取数据。在一种可能的实施方式中,所述方法还包括:在所述数据读取请求合法、且所述待读取数据未处于加速存储状态的情况下,获取所述待读取数据的云存储索引;确定所述云存储索引对应的云存储系统所使用的协议,得到第四协议;根据所述云存储索引利用所述第四协议从对应的云存储系统中获取所述待读取数据,并利用所述第三协议向所述用户返回所述待读取数据。第三方面,本申请实施例提供了一种网关,包括:协议接入解析模块,用于接收用户的数据存储请求,确定所述数据存储请求所使用的协议,得到第一协议;当所述第一协议为预设的多种协议中的一种时,利用所述第一协议解析所述数据存储请求,得到待存储数据;数据处理模块,用于确定用于存储所述待存储数据的云存储系统,得到目标云存储系统;按照预先设置的云存储系统与协议的对应关系,确定所述目标云存储系统所使用的第二协议;数据上云模块,用于利用所述目标云存储系统所使用的第二协议,向所述目标云存储系统上传所述待存储数据,以使所述目标云存储系统存储所述待存储数据;索引管理模块,用于在接收到存储成功消息后,更新所述待存储数据的云存储索引,其中,所述存储成功消息表示所述目标云存储系统完成了所述待存储数据的存储,所述云存储索引表示所述待存储数据在所述目标云存储系统中的存储地址。在一种可能的实施方式中,所述数据处理模块,具体用于:确定所述第一协议对应的云存储系统,得到目标云存储系统;或按照预先设置的用户与云存储系统的对应关系,确定发送所述数据存储请求的用户所对应的云存储系统,得到所述目标云存储系统。在一种可能的实施方式中,所述网关还包括:数据加速存储模块;所述数据处理模块,还用于在所述待存储数据处于加速存储状态的情况下,向所述数据加速存储模块发送所述待存储数据;所述数据加速存储模块,用于在所述待存储数据处于加速存储状态的情况下,将所述待存储数据存储到本地高速存储介质中;所述索引管理模块,还用于更新所述待存储数据的本地存储索引。在一种可能的实施方式中,所述网关包括至少两个节点,所述索引管理模块,还用于:将所述待存储数据的云存储索引和/或本地存储索引备份到除当前节点的另一节点中。在一种可能的实施方式中,所述本地高速存储介质包括多个bucket,所述数据加速存储模块具体用于:在所述待存储数据处于加速存储状态的情况下,在所述本地高速存储介质的各bucket中,选取未存储数据的bucket或存储的数据的存储时长达到预设时长阈值的bucket作为目标bucket;将所述待存储数据存储到所述目标bucket中。在一种可能的实施方式中,所述数据上云模块,具体用于:利用所述目标云存储系统所使用的第二协议,将所述目标bucket中的待存储数据上传给所述目标云存储系统,以使所述目标云存储系统存储所述待存储数据,在所述目标云存储系统包括多个异构云存储系统的情况下,一个bucket中的数据上传到一个异构云存储系统中。第四方面,本申请实施例提供了一种网关,包本文档来自技高网...

【技术保护点】
1.一种数据存储方法,其特征在于,所述方法包括:/n接收用户的数据存储请求,确定所述数据存储请求所使用的协议,得到第一协议;/n当所述第一协议为预设的多种协议中的一种时,利用所述第一协议解析所述数据存储请求,得到待存储数据;/n确定用于存储所述待存储数据的云存储系统,得到目标云存储系统;/n按照预先设置的云存储系统与协议的对应关系,确定所述目标云存储系统所使用的第二协议;/n利用所述目标云存储系统所使用的第二协议,向所述目标云存储系统上传所述待存储数据,以使所述目标云存储系统存储所述待存储数据;/n在接收到存储成功消息后,更新所述待存储数据的云存储索引,其中,所述存储成功消息表示所述目标云存储系统完成了所述待存储数据的存储,所述云存储索引表示所述待存储数据在所述目标云存储系统中的存储地址。/n

【技术特征摘要】
1.一种数据存储方法,其特征在于,所述方法包括:
接收用户的数据存储请求,确定所述数据存储请求所使用的协议,得到第一协议;
当所述第一协议为预设的多种协议中的一种时,利用所述第一协议解析所述数据存储请求,得到待存储数据;
确定用于存储所述待存储数据的云存储系统,得到目标云存储系统;
按照预先设置的云存储系统与协议的对应关系,确定所述目标云存储系统所使用的第二协议;
利用所述目标云存储系统所使用的第二协议,向所述目标云存储系统上传所述待存储数据,以使所述目标云存储系统存储所述待存储数据;
在接收到存储成功消息后,更新所述待存储数据的云存储索引,其中,所述存储成功消息表示所述目标云存储系统完成了所述待存储数据的存储,所述云存储索引表示所述待存储数据在所述目标云存储系统中的存储地址。


2.根据权利要求1所述的方法,其特征在于,所述确定用于存储所述待存储数据的云存储系统,得到目标云存储系统,包括:
确定所述第一协议对应的云存储系统,得到目标云存储系统;或
按照预先设置的用户与云存储系统的对应关系,确定发送所述数据存储请求的用户所对应的云存储系统,得到所述目标云存储系统。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述待存储数据处于加速存储状态的情况下,将所述待存储数据存储到本地高速存储介质中,并更新所述待存储数据的本地存储索引。


4.根据权利要求3所述的方法,其特征在于,所述数据存储方法应用于网关中的第一节点,所述网关包括多个节点,所述方法还包括:
将所述待存储数据的云存储索引和/或本地存储索引备份到除所述第一节点外的另一节点中。


5.根据权利要求3所述的方法,其特征在于,所述本地高速存储介质包括多个桶bucket,所述将所述待存储数据存储到本地高速存储介质中,包括:
在所述本地高速存储介质的各bucket中,选取未存储数据的bucket或存储的数据的存储时长达到预设时长阈值的bucket作为目标bucket;
将所述待存储数据存储到所述目标bucket中。


6.根据权利要求5所述的方法,其特征在于,所述利用所述目标云存储系统所使用的第二协议,向所述目标云存储系统上传所述待存储数据,以使所述目标云存储系统存储所述待存储数据,包括:
利用所述目标云存储系统所使用的第二协议,将所述目标bucket中的待存储数据上传给所述目标云存储系统,以使所述目标云存储系统存储所述待存储数据,在所述目标云存储系统包括多个异构云存储系统的情况下,一个bucket中的数据上传到一个异构云存储系统中。


7.一种数据读取方法,其特征在于,所述方法包括:
接收用户的数据读取请求,确定所述数据读取请求所使用的协议,得到第三协议;
当所述第三协议为预设的多种协议中的一种时,解析所述数据读取请求的合法性;
在所述数据读取请求合法、且所述数据读取请求请求的待读取数据处于加速存储状态的情况下,获取所述待读取数据的本地存储索引;
根据所述本地存储索引获取所述待读取数据,并利用所述第三协议向所述用户返回所述待读取数据。


8.根据权利要求7所述...

【专利技术属性】
技术研发人员:包国强潘习文
申请(专利权)人:杭州海康威视系统技术有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1