CN117992459A - 对象存储服务切换方法、装置、电子设备及存储介质 - Google Patents
对象存储服务切换方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117992459A CN117992459A CN202410248644.6A CN202410248644A CN117992459A CN 117992459 A CN117992459 A CN 117992459A CN 202410248644 A CN202410248644 A CN 202410248644A CN 117992459 A CN117992459 A CN 117992459A
- Authority
- CN
- China
- Prior art keywords
- object storage
- storage service
- uploading
- target
- service identifier
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012360 testing method Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种对象存储服务切换方法、装置、电子设备及存储介质,该方法包括:接收客户端的数据上传请求,所述数据上传请求包括待上传数据和目标虚拟存储空间标识;从第一数据库中获取所述目标虚拟存储空间标识所对应的目标对象存储服务标识,并获取所述目标对象存储服务标识所对应的上传状态;若所述上传状态为不可用状态,则从备用对象存储服务池中获取目标备用对象存储服务标识;将所述待上传数据上传至所述目标备用对象存储服务标识所对应的目标备用对象存储服务器。本发明实施例实现了及时切换不可用的对象存储服务,实现了实时避障,提高了对象存储服务的切换效率,并可以提高对象存储服务的稳定性。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种对象存储服务切换方法、装置、电子设备及存储介质。
背景技术
随着互联网业务的不断增加以及大数据的发展,越来越多的公司需要存储大量的数据文件,对象存储服务(Object Storage Service,OSS)经过推出后,逐渐成为互联网存储服务的业界标准。现在,各大互联网巨头企业都已推出各自的公有OSS,对于一些中小型企业接入这些公有OSS是非常便捷的。
OSS作为一种基础设施服务,承载着一个公司的所有存储业务。一个公司若完全依赖单一的某家公有云OSS,一旦出现不可用情况,将影响公司业务无法正常运行。因此,一般企业都会接入多家公有OSS,以便在某家云出现问题时,可及时切换到另一家OSS,这也就是混合云的由来。公司一般有专门的团队实现混合云的对接,以对公司内部提供统一的对象存储服务。
然而,现在的混合云避障方式,基本上都是手动避障,这种方式通过告警或者业务方反馈,由运维工作者切换公有云OSS来完成避障,此方法效率低下,且容易出错,也无法做到实时避障。
发明内容
本发明实施例的目的在于提供一种对象存储服务切换方法、装置、电子设备及存储介质,以实现实时避障,提高对象存储服务切换效率。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种对象存储服务切换方法,包括:
接收客户端的数据上传请求,所述数据上传请求包括待上传数据和目标虚拟存储空间标识;
从第一数据库中获取所述目标虚拟存储空间标识所对应的目标对象存储服务标识,并获取所述目标对象存储服务标识所对应的上传状态,所述上传状态表征所述目标对象存储服务标识所对应的目标对象存储服务当前是否可用;
若所述上传状态为不可用状态,则从备用对象存储服务池中获取目标备用对象存储服务标识;
将所述待上传数据上传至所述目标备用对象存储服务标识所对应的目标备用对象存储服务器。
在本发明实施的第二方面,还提供了一种对象存储服务切换装置,包括:
请求接收模块,用于接收客户端的数据上传请求,所述数据上传请求包括待上传数据和目标虚拟存储空间标识;
上传状态获取模块,用于从第一数据库中获取所述目标虚拟存储空间标识所对应的目标对象存储服务标识,并获取所述目标对象存储服务标识所对应的上传状态,所述上传状态表征所述目标对象存储服务标识所对应的目标对象存储服务当前是否可用;
备用服务获取模块,用于若所述上传状态为不可用状态,则从备用对象存储服务池中获取目标备用对象存储服务标识;
数据上传切换模块,用于将所述待上传数据上传至所述目标备用对象存储服务标识所对应的目标备用对象存储服务器。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的对象存储服务切换方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的对象存储服务切换方法。
本发明实施例提供的对象存储服务切换方法、装置、电子设备及存储介质,通过在目标对象存储服务标识所对应的上传状态为不可用状态时,可以及时获取目标备用对象存储服务标识,并将待上传数据切换为上传至目标备用对象存储服务标识,实现了及时切换不可用的对象存储服务,实现了实时避障,提高了对象存储服务的切换效率,并可以提高对象存储服务的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的一种对象存储服务切换方法的流程图;
图2是本发明实施例提供的一种对象存储服务切换方法的流程图;
图3是本发明实施例提供的一种对象存储服务切换方法的流程图;
图4是本发明实施例中对象存储服务切换方法的步骤示意图;
图5是本发明实施例提供的一种对象存储服务切换装置的框图;
图6是本发明实施例提供的一种电子设备的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
本发明实施例统一了对象存储服务入口,对业务客户端访问过的对象存储服务的失败状态进行统计,利用Redis的高性能以及原子性处理指令完成全局公有云各个对象存储服务的失败次数计算,并通过备用对象存储服务池,来实现不可用状态的对象存储服务的替换,保证业务无感知上传数据。
图1是本发明实施例提供的一种对象存储服务切换方法的流程图,如图1所示,该对象存储服务切换方法包括步骤110至步骤140。
步骤110,接收客户端的数据上传请求,所述数据上传请求包括待上传数据和目标虚拟存储空间标识。
现有技术中是每个业务单独对接对应的对象存储服务,在对象存储服务故障时需要人为发现故障来切换为其他对象存储服务,切换效率较低。本发明在服务端设置统一的对象存储服务入口,并通过该对象存储服务入口来接收不同业务客户端的数据上传请求,每个数据上传请求中包括待上传数据和虚拟存储空间(Bucket)标识,针对虚拟存储空间标识预先配置了对应的对象存储服务标识。在接收到客户端的数据上传请求时,解析该数据上传请求,并从数据上传请求中获取待上传数据和目标虚拟存储空间标识。其中,对象存储服务入口可以通过Nginx实现。虚拟存储空间标识是一个虚拟的存储空间标识,用于关联所配置的对象存储服务标识。
步骤120,从第一数据库中获取所述目标虚拟存储空间标识所对应的目标对象存储服务标识,并获取所述目标对象存储服务标识所对应的上传状态,所述上传状态表征所述目标对象存储服务标识所对应的目标对象存储服务当前是否可用。
其中,对象存储服务标识可以包括对象存储服务名称和/或对象存储服务入口域名。对象存储服务是一种基于云计算的存储服务,它将数据以对象的形式进行存储和管理,可以存储各种类型的数据,如图片、视频、文档等。
第一数据库中存储各虚拟存储空间标识所对应的对象存储服务标识,还存储与对象存储服务标识所对应的上传状态,上传状态表征对象存储服务标识所对应的对象存储服务当前是否可用。
例如,第一数据库中所存储的虚拟存储空间标识和对应的对象存储服务标识的格式表示如下:
[虚拟存储空间标识][对象存储服务名称][对象存储服务入口域名]
BucketA 云商B bj.b.domain
BucketB 云商C bj.c.domain
BucketC 云商A wh.a.domain
在接收到客户端的数据上传请求后,从第一数据库中获取目标虚拟存储空间标识所对应的目标对象存储服务标识和目标对象存储服务入口域名等目标对象存储服务标识,并从第一数据库中获取目标对象存储服务标识所对应的上传状态。目标对象存储服务标识所对应的上传状态可以是基于目标对象存储服务标识所对应的上传失败的信息确定的。
步骤130,若所述上传状态为不可用状态,则从备用对象存储服务池中获取目标备用对象存储服务标识。
备用对象存储服务池中存储有各个备用对象存储服务标识,备用对象存储服务标识包括备用对象存储服务名称和/或备用对象存储服务入口域名。
如果目标对象存储服务标识所对应的上传状态为不可用状态,可以从备用对象存储服务池中获取一个备用对象存储服务标识,作为目标备用对象存储服务标识。
步骤140,将所述待上传数据上传至所述目标备用对象存储服务标识所对应的目标备用对象存储服务器。
将待上传数据直接上传至目标备用对象存储服务标识所对应的目标备用对象存储服务器,实现了及时切换对象存储服务,可以避免不可用的对象存储服务影响业务的存储。
本实施例提供的对象存储服务切换方法,通过在接收到客户端的数据上传请求时,基于数据上传请求中的目标虚拟存储空间标识,从第一数据库中获取对应的目标对象存储服务标识,并获取目标对象存储服务标识所对应的上传状态,若上传状态为不可用状态,则从备用对象存储服务池中获取目标备用对象存储服务标识,将待上传数据上传至目标备用对象存储服务标识所对应的目标备用对象存储服务器,由于在目标对象存储服务标识所对应的上传状态为不可用状态时,可以及时获取目标备用对象存储服务标识,并将待上传数据切换为上传至目标备用对象存储服务标识,实现了及时切换不可用的对象存储服务,实现了实时避障,提高了对象存储服务的切换效率,并可以提高对象存储服务的稳定性。
在上述技术方案的基础上,在所述从第一数据库中获取所述目标虚拟存储空间标识所对应的目标对象存储服务标识,并获取所述目标对象存储服务标识所对应的上传状态之前,即在步骤120之前,所述方法还包括:从第二数据库中获取所述目标对象存储服务标识在统计周期内所对应的上传失败次数;根据所述上传失败次数,确定所述目标对象存储服务标识所对应的上传状态;将所述上传状态存储至所述第一数据库中。
其中,第二数据库用于记录各对象存储服务标识在统计周期内所对应的上传失败次数,在向一个对象存储服务标识所对应的对象存储服务器上传数据失败时,对第二数据库该对象存储服务标识所对应的上次失败次数进行更新。第二数据库中记录的对象存储服务标识可以是对象存储服务入口域名,在基于对象存储服务入口域名向该对象存储服务器上传数据时,如果上传失败,可以在数据库中对该对象存储服务入口域名所对应的上次失败次数进行更新。第二数据库可以是Redis(Remote Dictionary Server,远程字典服务)数据库,Redis数据库具有原子性,可以保证所记录的上传失败次数的准确性。统计周期是预选设置的时间长度,例如可以是5分钟等,在一个统计周期内,若一个对象存储服务标识所对应的上传失败次数未达到次数阈值,则在到达下一个统计周期时对该上传失败次数进行清零,并重新记录。
在确定目标虚拟存储空间标识所对应的目标对象存储服务标识后,可以从第二数据库中查询目标对象存储服务标识,并获取该目标对象存储服务标识在统计周期内所对应的上传失败次数,将上传失败次数与次数阈值进行比较,并基于比较结果,确定目标对象存储服务标识所对应的上传状态,将上传状态存储至第一数据库中。第一数据库中存储的上传状态可以默认是可用状态,在确定一个对象存储服务标识的上传状态为不可用状态时,在第一数据库中对该对象存储服务标识所对应的上传状态进行更新。
通过目标对象存储服务标识在统计周期内所对应的上传失败次数来确定该目标对象存储服务标识所对应的上传状态,并将上传状态存储至第一数据库中,实现了基于上传失败次数确定上传状态并进行保存。
在上述技术方案的基础上,所述根据所述上传失败次数,确定所述目标对象存储服务标识所对应的上传状态,包括:若所述上传失败次数大于或等于次数阈值,则确定所述目标对象存储服务标识所对应的上传状态为不可用状态;若所述上传失败次数小于所述次数阈值,则确定所述目标对象存储服务标识所对应的上传状态为可用状态。
将上传失败次数与次数阈值进行比较,如果上传失败次数大于或等于次数阈值,表明目标对象存储服务标识所对应的目标对象存储服务在一个统计周期内多次上传失败,说明该目标对象存储服务标识所对应的目标对象存储服务存在故障,这时确定目标对象存储服务标识所对应的上传状态为不可用状态;如果上传失败次数小于次数阈值,表明目标对象存储服务标识所对应的目标对象存储服务在一个统计周期内上传失败的次数较少,该目标对象存储服务标识所对应的目标对象存储服务还可以使用,这时确定该目标对象存储服务标识所对应的上传状态为可用状态。通过将上传失败次数与次数阈值进行比较,可以准确及时地确定目标对象存储服务标识所对应的上传状态。
在上述技术方案的基础上,所述从备用对象存储服务池中获取目标备用对象存储服务标识,即步骤130,包括:根据所述备用对象存储服务池中各备用对象存储服务标识所对应的权重,从所述备用对象存储服务池中选取与所述目标对象存储服务标识不同的备用对象存储服务标识,作为所述目标备用对象存储服务标识。
其中,备用对象存储服务池中存储了各备用对象存储服务标识,并存储每个备用对象存储服务标识所对应的权重,权重是预先基于需求进行设置的,权重用于表征选择该备用对象存储服务标识的概率高低。
根据备用对象存储服务池中各备用对象存储服务标识所对应的权重,可以从备用对象存储服务池中选取与目标对象存储服务标识不同且权重最大的备用对象存储服务标识,作为目标备用对象存储服务标识;或者,也可以基于权重所表征的选取概率,从备用对象存储服务池中选取备用对象存储服务标识,作为目标备用对象存储服务标识。
通过基于各备用对象存储服务标识所对应的权重选取目标备用对象存储服务标识,可以选取到可用的目标备用对象存储服务,提高选取到的目标备用对象存储服务的可用性。
在上述技术方案的基础上,在所述将所述待上传数据上传至所述目标备用对象存储服务标识所对应的目标备用对象存储服务器之后,还包括:若所述待上传数据上传成功,将所述第一数据库中的所述目标对象存储服务标识替换为所述目标备用对象存储服务标识。
在将待上传数据上传至目标备用对象存储服务器后,接收目标备用对象存储服务器返回的状态信息,基于该状态信息确定待上传数据上传成功时,可以将第一数据库中目标虚拟存储空间标识所对应的目标对象存储服务标识替换为目标备用对象存储服务标识,后续再接收到相同目标虚拟存储空间标识的数据上传请求时,可以直接基于目标备用对象存储服务标识的上传状态,在该目标备用对象存储服务标识所对应的上传状态为可用状态时将待上传数据上传至目标备用对象存储服务标识所对应的目标备用存储服务器,避免了对不可用的目标对象存储服务标识所对应的上传状态进行判断并从备用对象存储服务池中获取目标备用对象存储服务标识的操作,可以进一步提高数据上传效率。
图2是本发明实施例提供的一种对象存储服务切换方法的流程图,如图2所示,该对象存储服务切换方法包括步骤210至步骤250。
步骤210,接收客户端的数据上传请求,所述数据上传请求包括待上传数据和目标虚拟存储空间标识。
步骤220,从第一数据库中获取所述目标虚拟存储空间标识所对应的目标对象存储服务标识,并获取所述目标对象存储服务标识所对应的上传状态。
步骤230,若所述上传状态为不可用状态,则从备用对象存储服务池中获取目标备用对象存储服务标识。
步骤240,将所述待上传数据上传至所述目标备用对象存储服务标识所对应的目标备用对象存储服务器。
步骤250,若所述待上传数据上传失败,则在第二数据库中更新所述目标备用对象存储服务标识在统计周期内所对应的上传失败次数。
在将待上传数据上传至目标备用对象存储服务器后,接收目标备用对象存储服务器返回的状态信息,基于该状态信息确定待上传数据上传失败时,可以通过状态计数器在第二数据库中对该目标备用对象存储服务标识在统计周期内所对应的上传失败次数进行更新,即将该目标备用对象存储服务标识在统计周期内所对应的上传失败次数在原有上传失败次数的基础上增加1次,以便于基于目标备用对象存储服务标识在统计周期内的上传失败次数确定目标备用对象存储服务标识所对应的上传状态。其中,第二数据库可以是Redis数据库,在对目标备用对象存储服务标识所对应的上传失败次数进行更新时,采用Redis原子操作来进行更新,可以保证所记录的上传失败次数的准确性。
本实施例提供的对象存储服务切换方法,通过在待上传数据上传失败后,在第二数据库中更新目标备用对象存储服务标识在统计周期内所对应的上传失败次数,实现了对该目标备用对象存储服务标识的上传失败情况进行记录,便于及时确定该目标备用对象存储服务标识所对应的上传状态。
图3是本发明实施例提供的一种对象存储服务切换方法的流程图,如图3所示,该对象存储服务切换方法包括步骤310至步骤360。
步骤310,接收客户端的数据上传请求,所述数据上传请求包括待上传数据和目标虚拟存储空间标识。
步骤320,从第一数据库中获取所述目标虚拟存储空间标识所对应的目标对象存储服务标识,并获取所述目标对象存储服务标识所对应的上传状态。
步骤330,若所述上传状态为不可用状态,则从备用对象存储服务池中获取目标备用对象存储服务标识。
步骤340,将所述待上传数据上传至所述目标备用对象存储服务标识所对应的目标备用对象存储服务器。
步骤350,在所述不可用状态持续预设时间后,将测试数据上传至所述目标对象存储服务标识所对应的目标对象存储服务器。
为了实现对故障的目标对象存储服务的自动恢复,可以通过全局定时拨测服务,对已经故障的云进行拨测。在确定目标对象存储服务标识所对应的上传状态为不可用状态后,开始计时,例如,在基于目标对象存储服务标识所对应的上传失败次数确定目标对象存储服务标识所对应的上传状态为不可用状态后开始计时,在该不可用状态持续预设时间后,对该目标对象存储服务器进行拨测,将测试数据上传至目标对象存储服务器,并接收目标对象存储服务器针对测试数据返回的状态信息。
步骤360,若所述测试数据上传成功,在所述第一数据库中将所述目标对象存储服务标识所对应的上传状态更新为可用状态。
如果目标对象存储服务器返回的状态信息为测试数据上传失败,则在第一数据库中保持目标对象存储服务标识所对应的上传状态为不可用状态;如果目标对象存储服务器返回的状态信息为测试数据上传失败,则在第一数据库中将目标对象存储服务标识所对应的上传状态从不可用状态更新为可用状态,便于后续将目标虚拟存储空间标识所对应的待上传数据上传至该目标对象存储服务器。
本实施例提供的对象存储服务切换方法,通过在目标对象存储服务标识所对应的不可用状态持续预设时间后,将测试数据上传至目标对象存储服务标识所对应的目标对象存储服务器,若测试数据上传成功,在第一数据库中将目标对象存储服务标识所对应的上传状态更新为可用状态,实现了在目标对象存储服务器故障恢复后可以自动恢复该目标对象存储服务器的可用状态,便于向该目标对象存储服务器上传数据。
图4是本发明实施例中对象存储服务切换方法的步骤示意图,如图4所示,该对象存储服务切换方法可以通过三个模块来实现,第一模块、第二模块和第三模块。
其中,第一模块作为公司内部统一上传入口,将混合云多家公有云的上传合并统一化,业务无需关心数据存储在具体的哪个对象存储服务(云),只需要上传即可,调度由此第一模块统一决策。
第二模块为业务申请的上传虚拟存储空间的配置信息,业务上传数据之前需要创建一个公司内部的虚拟存储空间(Bucket),而此虚拟存储空间后端真正要存储的混合云地址会配置在此第二模块的第一数据库中。配置信息格式如下:[虚拟存储空间标识][对象存储服务名称(云商名)][对象存储服务入口域名(云商入口)]。示例为:bucketA,云商A,bj.a.domain,这个示例表示公司内部bucketA关联了公有云云商A的存储信息,入口域名为bj.a.domain,云商入口就是上传文件的入口,一般不同地域会有不同的入口域名。
第三模块是第一模块上传到具体某个对象存储服务的入口失败计数器,计数器的Key值可以为对象存储服务入口域名,如:bj.a.domain,Value值为上传失败次数,统计周期例如可以是5分钟。通过此第三模块可以判断对象存储服务的可用性。
该对象存储服务切换方法具体包括:
①.通过第一模块接收客户端的数据上传请求,数据上传请求包括待上传数据和目标虚拟存储空间标识,假设目标虚拟存储空间标识为BucketA。
②.第一模块由Nginx和Lua组成,通过Lua实现从第二模块获取目标虚拟存储空间标识所对应的配置信息。第二模块首先从第一数据库里读取BucketA的配置信息,那么读到的信息就是:[云商B][bj.b.domain]。
③.第二模块中的控制器还需要从第二数据库(Redis)里读取对应的对象存储服务入口域名所对应的上传失败次数,进而确定该对象存储服务入口域名所对应的上传状态是否是不可用状态。
④.若步骤③读取到当前Bucket的目标对象存储服务入口域名(即bj.b.domain)仍然可用,则会跳过此步骤。否则,目标对象存储服务已不可用,则需要从备用对象存储服务池(备用云池)中选取一个与目标对象存储服务不同的目标备用对象存储服务入口域名进行返回。
⑤.第一模块从第二模块获得的用户BucketA的云商信息(如果云商B可用,则为云商B的入口域名;如果云商B不可用,则为目标备用对象存储服务入口域名)。
⑥.第一模块将待上传数据透传到对应的对象存储服务器,如果云商B可用,则该对象存储服务器为云商B,如果云商B不可用,则该对象存储服务器为目标备用对象存储服务器。
⑦.第一模块透传到对象存储服务器若是成功状态,则返回客户端OK即可。第一模块透传到对象存储服务器若返回失败状态,则需走此步骤进行对象存储服务入口域名的上传失败次数的计数。计算方式采用异步方式,因而不会阻塞第一模块返回给客户端的状态信息。上传失败次数的计数统计在统计周期(5分钟)内对象存储服务某个域名的上传失败次数,步骤③会根据次数阈值判断一个对象存储服务的可用性。
⑧.第三模块将以Redis原子操作更新Redis的内存信息,从而将对象存储服务入口域名上传失败次数进行实时记录,这样第二模块也能够实时判断对象存储服务的可用性。
本发明实施例在基于对象存储服务标识所对应的上传失败次数确定该对象存储服务故障时,可以从备用对象存储服务池中获取目标备用对象存储服务标识,将待上传数据切换上传至目标备用对象存储服务器,实现了公有云故障对业务无感知,可以减轻各个业务上传逻辑,提高上传服务的稳定性,有助于更好地管理和分配公有云资源。
图5是本发明实施例提供的一种对象存储服务切换装置的框图,如图5所示,该对象存储服务切换装置包括:
请求接收模块510,用于接收客户端的数据上传请求,所述数据上传请求包括待上传数据和目标虚拟存储空间标识;
上传状态获取模块520,用于从第一数据库中获取所述目标虚拟存储空间标识所对应的目标对象存储服务标识,并获取所述目标对象存储服务标识所对应的上传状态,所述上传状态表征所述目标对象存储服务标识所对应的目标对象存储服务当前是否可用;
备用服务获取模块530,用于若所述上传状态为不可用状态,则从备用对象存储服务池中获取目标备用对象存储服务标识;
数据上传切换模块540,用于将所述待上传数据上传至所述目标备用对象存储服务标识所对应的目标备用对象存储服务器。
可选的,所述装置还包括:
失败次数获取模块,用于从第二数据库中获取所述目标对象存储服务标识在统计周期内所对应的上传失败次数;
上传状态确定模块,用于根据所述上传失败次数,确定所述目标对象存储服务标识所对应的上传状态;
上传状态保存模块,用于将所述上传状态存储至所述第一数据库中。
可选的,所述上传状态确定模块具体用于:
若所述上传失败次数大于或等于次数阈值,则确定所述目标对象存储服务标识所对应的上传状态为不可用状态;
若所述上传失败次数小于所述次数阈值,则确定所述目标对象存储服务标识所对应的上传状态为可用状态。
可选的,所述装置还包括:
失败次数更新模块,用于若所述待上传数据上传失败,则在第二数据库中更新所述目标备用对象存储服务标识在统计周期内所对应的上传失败次数。
可选的,所述备用服务获取模块包括:
备用服务获取单元,用于根据所述备用对象存储服务池中各备用对象存储服务标识所对应的权重,从所述备用对象存储服务池中选取与所述目标对象存储服务标识不同的备用对象存储服务标识,作为所述目标备用对象存储服务标识。
可选的,所述装置还包括:
服务替换模块,用于若所述待上传数据上传成功,将所述第一数据库中的所述目标对象存储服务标识替换为所述目标备用对象存储服务标识。
可选的,所述装置还包括:
测试数据上传模块,用于在所述不可用状态持续预设时间后,将测试数据上传至所述目标对象存储服务标识所对应的目标对象存储服务器;
上传状态更新模块,用于若所述测试数据上传成功,在所述第一数据库中将所述目标对象存储服务标识所对应的上传状态更新为可用状态。
本发明实施例提供的对象存储服务切换装置,通过在接收到客户端的数据上传请求时,基于数据上传请求中的目标虚拟存储空间标识,从第一数据库中获取对应的目标对象存储服务标识,并获取目标对象存储服务标识所对应的上传状态,若上传状态为不可用状态,则从备用对象存储服务池中获取目标备用对象存储服务标识,将待上传数据上传至目标备用对象存储服务标识所对应的目标备用对象存储服务器,由于在目标对象存储服务标识所对应的上传状态为不可用状态时,可以及时获取目标备用对象存储服务标识,并将待上传数据切换为上传至目标备用对象存储服务标识,实现了及时切换不可用的对象存储服务,实现了实时避障,提高了对象存储服务的切换效率,并可以提高对象存储服务的稳定性。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
接收客户端的数据上传请求,所述数据上传请求包括待上传数据和目标虚拟存储空间标识;
从第一数据库中获取所述目标虚拟存储空间标识所对应的目标对象存储服务标识,并获取所述目标对象存储服务标识所对应的上传状态,所述上传状态表征所述目标对象存储服务标识所对应的目标对象存储服务当前是否可用;
若所述上传状态为不可用状态,则从备用对象存储服务池中获取目标备用对象存储服务标识;
将所述待上传数据上传至所述目标备用对象存储服务标识所对应的目标备用对象存储服务器。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的对象存储服务切换方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的对象存储服务切换方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种对象存储服务切换方法,其特征在于,包括:
接收客户端的数据上传请求,所述数据上传请求包括待上传数据和目标虚拟存储空间标识;
从第一数据库中获取所述目标虚拟存储空间标识所对应的目标对象存储服务标识,并获取所述目标对象存储服务标识所对应的上传状态,所述上传状态表征所述目标对象存储服务标识所对应的目标对象存储服务当前是否可用;
若所述上传状态为不可用状态,则从备用对象存储服务池中获取目标备用对象存储服务标识;
将所述待上传数据上传至所述目标备用对象存储服务标识所对应的目标备用对象存储服务器。
2.根据权利要求1所述的方法,其特征在于,在所述从第一数据库中获取所述目标虚拟存储空间标识所对应的目标对象存储服务标识,并获取所述目标对象存储服务标识所对应的上传状态之前,还包括:
从第二数据库中获取所述目标对象存储服务标识在统计周期内所对应的上传失败次数;
根据所述上传失败次数,确定所述目标对象存储服务标识所对应的上传状态;
将所述上传状态存储至所述第一数据库中。
3.根据权利要求2所述的方法,其特征在于,所述根据所述上传失败次数,确定所述目标对象存储服务标识所对应的上传状态,包括:
若所述上传失败次数大于或等于次数阈值,则确定所述目标对象存储服务标识所对应的上传状态为不可用状态;
若所述上传失败次数小于所述次数阈值,则确定所述目标对象存储服务标识所对应的上传状态为可用状态。
4.根据权利要求1-3任一项所述的方法,其特征在于,在所述将所述待上传数据上传至所述目标备用对象存储服务标识所对应的目标备用对象存储服务器之后,还包括:
若所述待上传数据上传失败,则在第二数据库中更新所述目标备用对象存储服务标识在统计周期内所对应的上传失败次数。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述从备用对象存储服务池中获取目标备用对象存储服务标识,包括:
根据所述备用对象存储服务池中各备用对象存储服务标识所对应的权重,从所述备用对象存储服务池中选取与所述目标对象存储服务标识不同的备用对象存储服务标识,作为所述目标备用对象存储服务标识。
6.根据权利要求1-3任一项所述的方法,其特征在于,在所述将所述待上传数据上传至所述目标备用对象存储服务标识所对应的目标备用对象存储服务器之后,还包括:
若所述待上传数据上传成功,将所述第一数据库中的所述目标对象存储服务标识替换为所述目标备用对象存储服务标识。
7.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
在所述不可用状态持续预设时间后,将测试数据上传至所述目标对象存储服务标识所对应的目标对象存储服务器;
若所述测试数据上传成功,在所述第一数据库中将所述目标对象存储服务标识所对应的上传状态更新为可用状态。
8.一种对象存储服务切换装置,其特征在于,包括:
请求接收模块,用于接收客户端的数据上传请求,所述数据上传请求包括待上传数据和目标虚拟存储空间标识;
上传状态获取模块,用于从第一数据库中获取所述目标虚拟存储空间标识所对应的目标对象存储服务标识,并获取所述目标对象存储服务标识所对应的上传状态,所述上传状态表征所述目标对象存储服务标识所对应的目标对象存储服务当前是否可用;
备用服务获取模块,用于若所述上传状态为不可用状态,则从备用对象存储服务池中获取目标备用对象存储服务标识;
数据上传切换模块,用于将所述待上传数据上传至所述目标备用对象存储服务标识所对应的目标备用对象存储服务器。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410248644.6A CN117992459A (zh) | 2024-03-05 | 2024-03-05 | 对象存储服务切换方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410248644.6A CN117992459A (zh) | 2024-03-05 | 2024-03-05 | 对象存储服务切换方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117992459A true CN117992459A (zh) | 2024-05-07 |
Family
ID=90893110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410248644.6A Pending CN117992459A (zh) | 2024-03-05 | 2024-03-05 | 对象存储服务切换方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117992459A (zh) |
-
2024
- 2024-03-05 CN CN202410248644.6A patent/CN117992459A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112631913B (zh) | 应用程序的运行故障监控方法、装置、设备和存储介质 | |
CN111555963A (zh) | 消息推送方法、装置、电子设备及存储介质 | |
CN110362455B (zh) | 一种数据处理方法和数据处理装置 | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
CN110750592A (zh) | 数据同步的方法、装置和终端设备 | |
CN111400288A (zh) | 数据质量检查方法及系统 | |
CN112751726A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
JP5007247B2 (ja) | ジョブ処理システムおよびジョブ管理方法 | |
CN113760677A (zh) | 异常链路分析方法、装置、设备及存储介质 | |
CN113360353B (zh) | 一种测试服务器和云平台 | |
CN110717130B (zh) | 打点方法、装置、终端及存储介质 | |
CN112671602B (zh) | 边缘节点的数据处理方法、装置、系统、设备和存储介质 | |
CN117130851B (zh) | 一种高性能计算集群运行效率评价方法及系统 | |
CN116842090A (zh) | 一种对账系统、方法、设备及存储介质 | |
CN111752916B (zh) | 数据采集方法及装置、计算机可读存储介质、电子设备 | |
US11216352B2 (en) | Method for automatically analyzing bottleneck in real time and an apparatus for performing the method | |
CN117992459A (zh) | 对象存储服务切换方法、装置、电子设备及存储介质 | |
CN105446707B (zh) | 一种数据转换方法 | |
US11243857B2 (en) | Executing test scripts with respect to a server stack | |
CN112131180B (zh) | 数据上报方法、装置以及存储介质 | |
CN115269519A (zh) | 一种日志检测方法、装置及电子设备 | |
CN114579416A (zh) | 一种指标确定方法、装置、服务器和介质 | |
CN112749142B (zh) | 句柄管理方法和系统 | |
CN112597354A (zh) | 一种提供配置参数的方法、装置、系统及存储介质 | |
CN101894119B (zh) | 用于监控的海量数据的储存 |
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 |