一种数据存储方法及装置
技术领域
本申请涉及计算机技术领域,特别涉及一种数据存储方法、装置、计算设备及存储介质。
背景技术
在计算机系统中,通常需要用到数据存储系统。随着网络应用的迅速发展,对数据存储具有访问量大、数据量大、高并发等要求,为应对突然剧增的访问量,需要扩大数据存储系统规模及改变数据存储方式。
目前,在传统的应用中,通常一个系统为多条业务线提供服务,且所有业务线的数据全部保存在同一个数据库中,但是,按照目前的方法进行数据存储,数据库一旦抖动,会影响到所有的业务,所有业务平等对待,会导致对于性能及稳定性要求较高的业务无法得到足够的保障,无法做到个性化支持和运维,且在业务发展到一定规模的情况下,易出现数据库连接池不够或容量不够的情况,扩容困难。
发明内容
有鉴于此,本申请实施例提供了一种数据存储方法、装置、计算设备及存储介质,以解决现有技术中存在的技术缺陷。
本申请实施例公开了一种数据存储方法,包括:
接收数据存储请求并根据所述数据存储请求获取携带有业务域标识的待存储数据;
根据所述待存储数据的业务域标识,从至少两个存储资源中确定所述待存储数据对应的目标存储资源;
将所述待存储数据存储至所述目标存储资源。
进一步地,在接收数据存储请求并根据所述数据存储请求获取携带有业务域标识的待存储数据之前,还包括:
预先设置至少两个业务域,并为每一个所述业务域设置业务域标识;
为每一个所述业务域配置相对应的存储资源。
进一步地,所述为每一个所述业务域配置相对应的存储资源,包括:
基于所述业务域的参数信息为每一个所述业务域配置相对应的存储资源。
进一步地,所述业务域的参数信息包括数据规格信息,所述基于所述业务域的参数信息为每一个所述业务域配置相对应的存储资源,包括:
判断所述业务域的数据规格是否大于目标规格阈值;
在所述业务域的数据规格大于目标规格阈值的情况下,为所述业务域配置满足所述业务域数据规格的存储资源;
在所述业务域的数据规格小于或等于目标规格阈值的情况下,确定所述存储资源中的基础存储资源为所述业务域相对应的存储资源。
进一步地,所述业务域的参数信息包括运维需求信息,所述基于所述业务域的参数信息为每一个所述业务域配置相对应的存储资源,包括:
基于所述业务域的运维需求信息,为所述业务域配置满足所述业务域的运维需求的存储资源。
进一步地,所述业务域的参数信息包括SLA服务等级需求信息,所述基于业务域的参数信息为每一个所述业务域配置相对应的存储资源,包括:
基于业务域中的每一个子业务的SLA服务等级需求信息,为所述业务域配置满足所述业务域中每一个子业务的SLA服务等级需求的存储资源。
进一步地,所述根据所述待存储数据的业务域标识,从至少两个存储资源中确定所述待存储数据对应的目标存储资源,包括:
根据所述待存储数据的业务域标识,确定设置有所述待存储数据的业务域标识的业务域为目标业务域;
根据所述目标业务域,确定与所述目标业务域相对应的存储资源为目标存储资源。
进一步地,所述数据存储方法,还包括:
接收携带有业务域标识的数据读取请求并读取目标待读取数据。
进一步地,所述基于业务域标识读取目标待读取数据,包括:
基于业务域标识确定所述目标待读取数据对应的目标待读取业务域;
基于所述目标待读取业务域确定目标待读取存储资源;
在所述目标待读取存储资源中读取所述目标待读取数据。
一种数据存储装置,包括:
接收模块,被配置为接收数据存储请求并根据所述数据存储请求获取携带有业务域标识的待存储数据;
确定模块,被配置为根据所述待存储数据的业务域标识,从至少两个存储资源中确定所述待存储数据对应的目标存储资源;
存储模块,被配置为将所述待存储数据存储至所述目标存储资源。
可选地,所述数据存储装置,还包括:
设置模块,被配置为预先设置至少两个业务域,并为每一个所述业务域设置业务域标识;
配置模块,被配置为为每一个所述业务域配置相对应的存储资源。
可选地,所述配置模块,进一步被配置为:
基于所述业务域的参数信息为每一个所述业务域配置相对应的存储资源。
可选地,所述业务域的参数信息包括数据规格信息,所述配置模块,进一步被配置为:
判断所述业务域的数据规格是否大于目标规格阈值;
在所述业务域的数据规格大于目标规格阈值的情况下,为所述业务域配置满足所述业务域数据规格的存储资源;
在所述业务域的数据规格小于或等于目标规格阈值的情况下,确定所述存储资源中的基础存储资源为所述业务域相对应的存储资源。
可选地,所述业务域的参数信息包括运维需求信息,所述配置模块,进一步被配置为:
基于所述业务域的运维需求信息,为所述业务域配置满足所述业务域的运维需求的存储资源。
可选地,所述业务域的参数信息包括SLA服务等级需求信息,所述配置模块,进一步被配置为:
基于业务域中的每一个子业务的SLA服务等级需求信息,为所述业务域配置满足所述业务域中每一个子业务的SLA服务等级需求的存储资源。
可选地,所述确定模块,进一步被配置为:
根据所述待存储数据的业务域标识,确定设置有所述待存储数据的业务域标识的业务域为目标业务域;
根据所述目标业务域,确定与所述目标业务域相对应的存储资源为目标存储资源。
可选地,所述数据存储装置,还包括:
读取模块,被配置为接收携带有业务域标识的数据读取请求并读取目标待读取数据。
可选地,所述读取模块,进一步被配置为:
基于业务域标识确定所述目标待读取数据对应的目标待读取业务域;
基于所述目标待读取业务域确定目标待读取存储资源;
在所述目标待读取存储资源中读取所述目标待读取数据。
一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现所述数据存储方法的步骤。
一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述数据存储方法的步骤。
本申请提供的一种数据存储方法及装置,通过对存储资源进行划分隔离,可以提升系统中各种业务运行的稳定性,增强存储资源部署以及运维的灵活性,且可以满足各种复杂业务的存储需求。
附图说明
图1是本申请一实施例所述的计算设备的结构示意图;
图2是本申请一实施例所述的一种数据存储方法的流程示意图;
图3是本申请一实施例所述的一种数据存储方法的流程示意图;
图4是本申请一实施例所述的一种数据存储方法的流程示意图;
图5是本申请一实施例所述的一种数据存储方法的流程示意图;
图6是本申请一实施例所述的一种数据存储方法的流程示意图;
图7是本申请一实施例所述的一种数据存储装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
服务等级需求(Service-Level Agreement,SLA)是关于网络服务供应商和客户间的一份合同,其中定义了服务类型、服务质量和客户付款等术语。在本申请的实施例中,SLA信息可以包括待存储数据的数据类型、访问方式、访问性能等需求信息。
在本申请中,提供了一种数据存储方法、装置、计算设备及存储介质,在下面的实施例中逐一进行详细说明。
图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。
计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备100还可以是移动式或静止式的服务器。
其中,处理器120可以执行图2所示方法中的步骤。图2是示出了根据本申请一实施例的数据存储方法的示意性流程图,包括步骤S210至步骤S230。
步骤S210:接收数据存储请求并根据所述数据存储请求获取携带有业务域标识的待存储数据。
具体地,所述数据存储请求中可以携带有待存储数据的标识信息,待存储数据的标识信息可以是待存储数据的类型、大小等,本申请对此不做限制。
根据数据存储请求中的待存储数据的标识信息,获取携带有业务域标识的待存储数据。其中,业务域标识可以是表明业务域特征或特点的一种标记信息。待存储数据中携带的业务域标识可以表示该待存储数据所属的业务域。业务域可以是一种业务的领域范围,不同的业务线可以对应不同的业务域,同一条业务线的不同业务都在同一个业务域中。例如,“缴纳水费”、“缴纳电费”、“缴纳燃气费”等等均属于同一条业务线的不同业务,均属于同一个业务域,该业务域的业务域标识为“生活缴费”。
步骤S220:根据所述待存储数据的业务域标识,从至少两个存储资源中确定所述待存储数据对应的目标存储资源。
其中,目标存储资源可以是与待存储数据所属的业务域相对应或相匹配的存储资源。存储资源可以是各种不同类型的数据库、数据库服务器、数据库系统等,如关系型数据库管理系统(MySql)、分布式存储系统(HBase)、支持海量数据的高性能分布式数据库系统(OceanBase)、非关系型数据库(NoSql)等各种类型的数据库或数据库系统等,可视具体情况而定,本申请对此不做限制。
根据待存储数据的业务域标识,匹配与该业务域标识相同的业务域所对应的存储资源,并确定该存储资源为目标存储资源。
步骤S230:将所述待存储数据存储至所述目标存储资源。
具体地,所述待存储数据可以是各种格式的数据,根据实际情况的不同,选用的存储资源的类型的不同,存储资源相适配的数据格式也不同,在所述待存储数据的格式与目标存储资源的存储格式相适配的情况下,可以直接将所述待存储数据存储至所述目标存储资源中,在所述待存储数据的格式与目标存储资源的存储格式不适配的情况下,可以先对待存储数据进行格式转换,再进行存储,本申请对此不做限制。
本申请一实施例所述的数据存储方法,通过对存储资源进行划分,并设置至少两个单独隔离的存储资源,可以有效提升系统及业务的稳定性、隔离性及扩展性,增强存储资源部署及运维的灵活性,满足各种复杂业务的存储需求。
如图3所示,一种数据存储方法,包括步骤S310至步骤S360。
步骤S310:预先设置至少两个业务域,并为每一个所述业务域设置业务域标识。
其中,业务域可以是业务的领域范围,不同的业务线可以对应相同或不同的业务域,可视具体情况而定。一条业务线可以包括具有至少一个共同属性特点的若干个不同业务(子业务),同一条业务线的不同业务都在同一个业务域中。业务域标识是表明业务域特征或特点的一种标记信息,可以根据业务域的类型等特征信息为业务域设置业务域标识。
例如,“付款”、“收款”和“转账”等均涉及账户资金的往来,具有共同的属性特点,是同一条业务线上的不同业务,属于同一个业务域;同样地,如“网约车司机端自动接单”和“网约车客户端打车”等均属于网约车的业务范畴,具有共同的属性特点,是同一条业务线上的不同业务,属于同一个业务域,其他情况可以此类推,在此不再赘述。
例如,假设一个应用系统中包括两条不同的业务线,其中一条业务线中包括“缴纳水费”、“缴纳电费”、“缴纳燃气费”等业务,均属于生活缴费类的业务,另一条业务线中包括“乘车二维码”、“扫码骑车”等业务,均属于交通出行类的业务,则两条业务线的业务类型不同,可以为上述两条业务线分别设置对应的业务域,且分别为两个业务域设置业务域标识“生活缴费”和“交通出行”。
在不同的业务线的业务类型相近或相似的情况下,可以根据业务线的不同直接分别为每一条业务线设置一个业务域,也可以视具体情况对不同业务线的业务类型做类型划分,判断此两种或多种不同的业务类型是否可以看作同一种类型,若判断上述两种或多种业务类型可以看作是同一种业务类型,则为上述两种或多种业务设置同一个业务域,并为该业务域设置业务域标识,若判断上述两种或多种业务类型不可以看作是同一种业务类型,则分别为上述两种或多种业务设置相对应的业务域,并为每一个业务域设置业务域标识,本申请对此不做限制。
例如,假设一个应用系统中包括两条业务线,其中一条业务线中包括“缴纳水费”、“缴纳电费”、“缴纳燃气费”等业务,均属于生活缴费类的业务,另一条业务线中包括“话费充值”、“宽带充值”、“流量充值”等充值类的业务,两条业务线的业务类型分别为“缴费”和“充值”,即可以归属为同一种业务类型,也可以归属为不同的业务类型,具体可视实际需求确定,在设置业务域时,可以直接为“缴费”和“充值”两条业务线分别设置对应的业务域,也可以先对上述两条业务线做类型划分,在将“缴费”和“充值”归属为同一种业务类型的情况下,为两条业务线设置同一个业务域,并为该业务域设置业务域标识“缴费充值”,在将“缴费”和“充值”归属为不同的业务类型的情况下,为上述两条业务线分别设置对应的业务域,且为两个业务域分别设置业务域标识“缴费”和“充值”。
在本申请一实施例中,不仅可以根据业务线之间的业务类型的区别划分业务域,也可以根据业务线之间的运维需求或SLA的区别划分业务域,可视具体情况而定,本申请对此不做限制。
例如,假设一个应用系统中包括五条业务类型不同的业务线,分别为业务线A、业务线B、业务线C、业务线D和业务线E,其中,业务线A对运维及SLA均无特别需求,则将业务线A划分至默认(Default)业务域中,业务线B对运维具有特别需求、对SLA无特别需求,则为业务线B设置业务域Yb,业务线C对运维无特别需求,对SLA具有特别需求,则为业务线C设置业务域Yc,业务线D和业务线E对运维和SLA均具有特别需求,在业务线D和业务线E的运维需求一样、SLA不一样或运维需求不一样、SLA一样或运维需求和SLA均不一样的情况下,分别为业务线D和业务线E设置业务域Yd和业务域Ye,在业务线D和业务线E的运维需求和SLA需求均相同的情况下,为业务线D和业务线E设置同一个业务域Yde。其他情况可以此类推,此处不再赘述。
步骤S320:为每一个所述业务域配置相对应的存储资源。
实际应用中,可以基于所述业务域的参数信息为每一个所述业务域配置相对应的存储资源。
其中,业务域的参数信息可以是数据规格信息、运维需求信息、SLA信息等各种信息,可视具体情况而定,本申请对此不做限制。存储资源可以是各种不同类型的数据库和数据库服务器,如关系型数据库管理系统(MySql)、分布式存储系统(HBase)、支持海量数据的高性能分布式数据库系统(OceanBase)、非关系型数据库(NoSql)等各种类型的数据库或数据库系统等,可视具体情况而定,本申请对此不做限制。
步骤S330:接收数据存储请求并根据所述数据存储请求获取携带有业务域标识的待存储数据。
具体可参见上述实施例,在此不再赘述。
步骤S340:根据所述待存储数据的业务域标识,从至少两个存储资源中确定所述待存储数据对应的目标存储资源。
实际应用中,可以根据所述待存储数据的业务域标识,确定设置有所述待存储数据的业务域标识的业务域为目标业务域。根据所述目标业务域,确定与所述目标业务域相对应的存储资源为目标存储资源。
具体地,目标业务域可以是待存储数据所属的业务域,目标存储资源可以是为目标业务域设置的与目标业务域相对应的存储资源。
例如,假设获取到的待存储数据的业务域标识为“生活缴费”,则确定“生活缴费”业务域为目标业务域,与“生活缴费”业务域相对应的存储资源为目标存储资源。
步骤S350:将所述待存储数据存储至所述目标存储资源。
具体可参见上述实施例,此处不再赘述。
步骤S360:接收携带有业务域标识的数据读取请求并读取目标待读取数据。
实际应用中,可以基于所述业务域标识确定所述目标待读取数据对应的目标待读取业务域。基于所述目标待读取业务域确定目标待读取存储资源。在所述待读取存储资源中读取所述目标待读取数据。
具体地,所述数据读取请求可以携带有一个业务域标识,也可以携带有多个不同的业务域标识,即所述数据读取请求可以是针对单一类型或单一业务域的存储数据发出的,也可以是针对多种不同类型、不同业务域的存储数据发出的,具体可视情况而定,本申请对此不做限制。
在所述数据读取请求仅携带有一个业务域标识的情况下,可以基于该业务域标识,确定目标待读取数据所属的业务域,根据目标待读取数据所属的业务域,确定对应的存储资源为目标待读取存储资源,并在该目标待读取存储资源中读取目标待读取数据。
在所述数据读取请求携带有两个或多个业务域标识的情况下,可以基于上述两个或多个业务域标识,分别确定每一个数据读取请求所对应的业务域,并确定每一个业务域所对应的存储资源为目标待读取存储资源,并在每一个目标待读取存储资源中读取对应的目标待读取数据。
本申请一实施例所述的数据存储方法,通过对不同的业务线划分不同的业务域,并为不同的业务域分别设置对应的存储资源,不仅实现了数据存储的有效隔离、不同业务线的存储数据之间互不干扰,且实现了存储资源的个性化配置,可以满足各种不同业务的存储需求。同时,还可以实现对已存储数据的快速读取,提升系统及业务的稳定性。
如图4所示,一种数据存储方法,包括步骤S410至步骤S450。
步骤S410:预先设置至少两个业务域,并为每一个所述业务域设置业务域标识。
具体可参见上述实施例,此处不再赘述。
步骤S420:判断所述业务域的数据规格是否大于目标规格阈值。若是,则执行步骤S422,若否,则执行步骤S424。
步骤S422:为所述业务域配置满足所述业务域数据规格的存储资源。
步骤S424:确定所述存储资源中的基础存储资源为所述业务域相对应的存储资源。
具体地,所述存储资源的数量至少为两个,且在上述至少两个存储资源中,至少一个为基础存储资源,对于数据规格较小的业务域,可以将该业务域中的数据直接存储至基础存储资源中,无需再重新配置存储资源。对于数据规格较大的业务域,可以为该业务域配置与其容量大小等参数均相符合的存储资源。
例如,假设一个应用程序包括业务域A、业务域B、业务域C三个业务域,预先设置目标容量规格阈值为xGB,其中,业务域A的数据规格为aGB,业务域B的数据规格为bGB,业务域C的数据规格为cGB,c>x=a>b,业务域A的数据规格与预先设置的目标容量规格阈值相等,确定存储资源中的基础存储资源为业务域A相对应的存储资源,业务域B的数据规格小于预先设置的目标容量规格阈值,确定存储资源中的基础存储资源为业务域B相对应的存储资源,业务域C的数据规格大于目标容量规格阈值,为业务域C配置相对应的存储资源C。
步骤S430:接收数据存储请求并根据所述数据存储请求获取携带有业务域标识的待存储数据。
具体可参见上述实施例,此处不再赘述。
步骤S440:根据所述待存储数据的业务域标识,从至少两个存储资源中确定所述待存储数据对应的目标存储资源。
具体可参见上述实施例,此处不再赘述。
步骤S450:将所述待存储数据存储至所述目标存储资源。
具体可参见上述实施例,此处不再赘述。
本申请一实施例所述的数据存储方法,通过区分业务域数据规格的大小来为业务域配置相对应的存储资源,且设置有Default业务域,并在业务域的数据规格小于目标阈值的情况下,将Default业务域作为目标存储资源进行存储,可以有效节省存储空间,实现存储资源的利用最大化。
如图5所示,一种数据存储方法,包括步骤S510至步骤S550。
步骤510:预先设置至少两个业务域,并为每一个所述业务域设置业务域标识。
具体可参见上述实施例,此处不再赘述。
步骤S520:基于所述业务域的运维需求信息,为所述业务域配置满足所述业务域的运维需求的存储资源。
实际应用中,可以基于所述业务域的运维需求信息,为所述业务域配置满足所述业务域的运维需求的存储资源。
其中,运维需求可以是基于虚拟化网络的所有业务需求,例如通信网络中的运维操作流程、基于策略的故障自愈、基于策略自动弹性伸缩、基于SLA或服务质量(Quality ofService,QoS)等的自动优化等的运维操作需求。运维需求信息可以是基于业务域的上述运维操作对于存储资源的相对应所需要达到的需求信息。
具体地,所述存储资源的数量至少为两个,且其中的至少一个存储资源为基础存储资源,对于在运维方面无特别需求的业务域,可以将该业务域中的数据直接存储至基础存储资源中,无需再重新配置存储资源。对于在运维方面有特别需求的业务域,可以为该业务域配置与其运维需求相符合的存储资源。
在所述业务域为根据业务线的运维需求划分的情况下,可以直接为每一个业务域配置相对应的存储资源,其中,基础存储资源可以作为对运维、SLA均无特别需求的Default业务域对应的存储资源。
例如,根据业务线的运维需求的不同将一个应用程序中的三条业务线划分为三个业务域,分别为业务域A、业务域B和Default业务域,其中,每个业务域分别包括一条业务线,则确定基础存储资源为Default业务域对应的存储资源,且分别为业务域A和业务域B配置满足其运维需求的存储资源A和存储资源B。
在所述业务域为根据业务线的业务类型或SLA划分情况下,读取业务域的运维需求信息,判断该业务域在运维方面是否具有特别需求,若是,则为该业务域配置相应的存储资源,若否,则确定存储资源中的基础存储资源为该业务域相对应的存储资源。其他情况可以此类推,在此不再赘述。
例如,假设根据业务类型的不同将一个应用程序中的四条业务线划分为三个业务域,分别为业务域A、业务域B和业务域C,其中业务域A中包括两条业务线,业务域B和业务域C中各包括一条业务线,业务域A在运维方面无特别需求,则确定基础存储资源为业务域A相对应的存储资源,业务域B和业务域C在运维方面均具有特别需求,在业务域B和业务域C的运维需求相同的情况下,为业务域B和业务域C配置同一个相对应的存储资源,在业务域B和业务域C的运维需求不同的情况下,分别为业务域B和业务域C配置相对应的存储资源。
步骤S530:接收数据存储请求并根据所述数据存储请求获取携带有业务域标识的待存储数据。
具体可参见上述实施例,此处不再赘述。
步骤S540:根据所述待存储数据的业务域标识,从至少两个存储资源中确定所述待存储数据对应的目标存储资源。
具体可参见上述实施例,此处不再赘述。
步骤S550:将所述待存储数据存储至所述目标存储资源。
具体可参见上述实施例,此处不再赘述。
本申请一实施例所述的数据存储方法,基于所述业务域的运维需求信息,为所述业务域配置满足所述业务域的运维需求的存储资源,不仅可以实现数据存储的有效隔离,同时可以满足多种不同类型的业务对于存储的需求,实现个性化存储。
如图6所示,一种数据存储方法,包括步骤S610至步骤S650。
步骤S610:预先设置至少两个业务域,并为每一个所述业务域设置业务域标识。
具体可参见上述实施例,此处不再赘述。
步骤S620:基于所述业务域的SLA信息,为所述业务域配置满足所述业务域的SLA的存储资源。
实际应用中,可以基于业务域中的每一个子业务的SLA信息,为所述业务域配置满足所述业务域中每一个子业务的SLA的存储资源。
其中,SLA信息可以包括待存储数据的数据类型、访问方式、访问性能等需求信息。业务域中的子业务包括该业务域中每一条业务线上的每一个业务。例如,假设业务域Y中包括业务线m和业务线n,则业务线m上的业务m1、m2、m3……以及业务线n上的业务n1、n2、n3……等均属于该业务域中的子业务。
具体地,所述存储资源的数量至少为两个,且其中的至少一个存储资源为基础存储资源,对于在SLA方面无特别需求的业务域,可以将该业务域中的数据直接存储至基础存储资源中,无需再重新配置存储资源。对于在SLA方面有特别需求的业务域,可以为该业务域配置与其SLA相符合的存储资源。
在所述业务域为根据业务域的SLA划分的情况下,可以直接为每一个业务域配置相对应的存储资源,其中,Default业务域对应的存储资源为基础存储资源。
例如,假设根据业务线的SLA的不同将一个应用程序中的五条业务线划分为两个业务域,分别为Default业务域和业务域A,其中,Default业务域中包括三条业务线,业务域A中包括两条业务线,则确定基础存储资源为Default业务域对应的存储资源,并为业务域A配置满足其SLA的存储资源A。
在所述业务域为根据业务域的业务类型或运维需求划分的情况下,读取业务域中每一个子业务的SLA,判断该业务域在SLA方面是否具有特别需求,若是,则为该业务域配置相对应的存储资源,若否,则确定存储资源中的基础存储资源为该业务域相对应的存储资源。
假设根据业务类型的不同将一个应用程序中的四条业务线划分为三个业务域,分别为业务域A、业务域B和业务域C,其中业务域A中包括两条业务线,业务域B和业务域C中各包括一条业务线,业务域A在SLA方面无特别需求,则确定基础存储资源为业务域A相对应的存储资源,业务域B和业务域C在SLA方面均具有特别需求,在业务域B和业务域C的SLA相同的情况下,为业务域B和业务域C配置同一个相对应的存储资源,在业务域B和业务域C的SLA不同的情况下,分别为业务域B和业务域C配置相对应的存储资源。
步骤S630:接收数据存储请求并根据所述数据存储请求获取携带有业务域标识的待存储数据。
具体可参见上述实施例,此处不再赘述。
步骤S640:根据所述待存储数据的业务域标识,从至少两个存储资源中确定所述待存储数据对应的目标存储资源。
具体可参见上述实施例,此处不再赘述。
步骤S650:将所述待存储数据存储至所述目标存储资源。
具体可参见上述实施例,此处不再赘述。
本申请一实施例所述的数据存储方法,基于业务域中的每一个子业务的SLA,为所述业务域配置满足所述业务域中每一个子业务的SLA的存储资源,可以实现存储资源的个性化配置,满足各种复杂业务的存储需求。
如图7所示,一种数据存储装置,包括:
接收模块710,被配置为接收数据存储请求并根据所述数据存储请求获取携带有业务域标识的待存储数据。
确定模块720,被配置为根据所述待存储数据的业务域标识,从至少两个存储资源中确定所述待存储数据对应的目标存储资源。
存储模块730,被配置为将所述待存储数据存储至所述目标存储资源。
可选地,所述数据存储装置,还包括:
设置模块,被配置为预先设置至少两个业务域,并为每一个所述业务域设置业务域标识。
配置模块,被配置为为每一个所述业务域配置相对应的存储资源。
可选地,所述配置模块,进一步被配置为:
基于所述业务域的参数信息为每一个所述业务域配置相对应的存储资源。
可选地,所述业务域的参数信息包括数据规格信息,所述配置模块,进一步被配置为:
判断所述业务域的数据规格是否大于目标规格阈值。
在所述业务域的数据规格大于目标规格阈值的情况下,为所述业务域配置满足所述业务域数据规格的存储资源。
在所述业务域的数据规格小于或等于目标规格阈值的情况下,确定所述存储资源中的基础存储资源为所述业务域相对应的存储资源。
可选地,所述业务域的参数信息包括运维需求信息,所述配置模块,进一步被配置为:
基于所述业务域的运维需求信息,为所述业务域配置满足所述业务域的运维需求的存储资源。
可选地,所述业务域的参数信息包括SLA信息,所述配置模块,进一步被配置为。
基于业务域中的每一个子业务的SLA信息,为所述业务域配置满足所述业务域中每一个子业务的SLA的存储资源。
可选地,所述确定模块720,进一步被配置为:
根据所述待存储数据的业务域标识,确定设置有所述待存储数据的业务域标识的业务域为目标业务域。
根据所述目标业务域,确定与所述目标业务域相对应的存储资源为目标存储资源。
可选地,所述数据存储装置,还包括:
读取模块,被配置为接收携带有业务域标识的数据读取请求并读取目标待读取数据。
可选地,所述读取模块,进一步被配置为:
基于业务域标识确定所述目标待读取数据对应的目标待读取业务域。
基于所述目标待读取业务域确定目标待读取存储资源。
在所述目标待读取存储资源中读取所述目标待读取数据。
本申请一实施例所述的数据存储装置,可以对不同的业务线划分业务域并个性化配置存储资源,进而提升系统及业务的稳定性、隔离性及扩展性,增强存储资源部署及运维的灵活性,满足各种复杂业务的存储需求。
本申请一实施例还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现以下步骤:
接收数据存储请求并根据所述数据存储请求获取携带有业务域标识的待存储数据。
根据所述待存储数据的业务域标识,从至少两个存储资源中确定所述待存储数据对应的目标存储资源。
将所述待存储数据存储至所述目标存储资源。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述数据存储方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据存储方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据存储方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。