本申请提供了一种数据访问方法及装置。该方法包括:接收多个客户端中的第一客户端发送的第一访问请求,第一客户端对应第一访问协议,第一访问请求用于按照第一访问协议请求针对第一数据执行第一操作,第一数据存储在存储池中或将要存储到存储池中;当第一访问协议和存储端对应的第二访问协议不一致时,将第一访问请求转换为第二访问请求,其中,第二访问请求用于按照第二访问协议请求针对第一数据执行第一操作;将第二访问请求发送至存储端;其中,存储端用于响应第二访问请求,针对第一数据执行第一操作。该方法可以在无需改造客户端的业务代码的情况下,实现存储模式的切换。
【技术实现步骤摘要】
本申请涉及云,尤其涉及一种数据访问方法及装置。
技术介绍
1、随着云技术的发展,云存储也不断出现新的服务模式,例如,完全托管的nosql数据库服务(dynamodb)、云数据库(geminidb)等。其中,相对于dynamodb,geminidb的成本更低。出于降低成本等考虑,用户具有云存储服务模式切换需求。
2、不同云存储模式可能支持不同的访问协议等。在相关技术中,为了实现不同云存储模式的切换,改造用户侧的客户端的业务代码,以使得客户端支持切换后的云存储模式。其中,客户端的业务代码改造操作繁琐,且耗时长,可能影响导致业务中断。
技术实现思路
1、本申请提供了一种数据访问方法及装置,可以在无需改造客户端的业务代码的情况下,实现存储模式的切换。
2、第一方面,提供了一种数据访问方法,该方法应用于访问装置,访问装置连接存储端和多个客户端;其中,存储端执行针对存储池中存储的数据的操作,多个客户端中不同的客户端对应不同的访问协议;该方法包括:接收多个客户端中的第一客户端发送的第一访问请求,第一客户端对应第一访问协议,第一访问请求用于按照第一访问协议请求针对第一数据执行第一操作,第一数据存储在存储池中或将要存储到存储池中;当第一访问协议和存储端对应的第二访问协议不一致时,将第一访问请求转换为第二访问请求,其中,第二访问请求用于按照第二访问协议请求针对第一数据执行第一操作;将第二访问请求发送至存储端;其中,存储端用于响应第二访问请求,针对第一数据执行第一操作。
<
p>3、该方法在客户端发送的访问请求的访问协议和存储端的访问协议不一致时,可以对访问请求进行转换,转换后的访问请求的访问协议和存储端的访问协议一致,存储端可以响应转换后的访问请求,执行相关操作。如此,可以在客户端的访问协议和存储端的访问协议不一致的情况下,保障数据的正常访问,从而可以在无需对客户端进行代码改造的情况下,实现存储模式的切换。其中,存储模式可以是云存储模式。4、在一种可能的实现方式中,该方法还包括:接收多个客户端中的第二客户端发送的第三访问请求,第二客户端对应第三访问协议,第三访问请求用于按照第三访问协议请求针对第二数据执行第二操作,第二数据存储在存储池中或将要存储到存储池中;当第三访问协议和第二访问协议一致时,将第三访问请求发送至存储端;其中,存储端用于响应第三访问请求,针对第二数据执行第二操作。
5、若客户端发送的访问请求的访问协议和存储端的访问协议一致,无需转换访问请求,直接将客户端发送的访问请求发送至存储端,提升了数据访问的效率。
6、在一种可能的实现方式中,将第一访问请求转换为第二访问请求,包括:从第一访问请求中获取主键,主键对应的数据包括第一数据;将主键携带到第二访问请求中;其中,存储端用于利用第二访问请求中的主键识别第一数据。
7、在该实现方式中,可以将第一访问请求中的主键携带到第二访问请求中,由此,存储端可以利用该主键在存储池中识别出第一数据,进而可执行针对第一数据的操作。示例性的,可以利用该主键在存储池中识别出该主键对应的数据,并对该主键对应的数据执行操作,从而实现了对该主键对应的数据中的第一数据的操作。
8、在一种可能的实现方式中,主键对应多个数据,其中,多个数据和多个属性一一对应;从第一访问请求中获取主键,包括:从第一访问请求中获取主键和第一数据对应的属性;将主键携带到第二访问请求中,包括:将主键和第一数据对应的属性携带到第二访问请求中;其中,存储端用于利用第二访问请求中的主键识别多个数据,以及利用第二访问请求中的第一数据的属性在多个数据中识别第一数据。
9、在该实现方式中,可以将第一访问请求中的对应第一数据的属性携带到第二访问请求中,由此,存储端可以利用对应第一数据的属性从主键对应的数据中识别出第一数据,从而可以仅针对第一数据执行操作。
10、在一种可能的实现方式中,多个数据和多个属性存储在主键对应的同一列中;其中,在列中,多个数据中的每个数据和该数据对应的属性相关联。示例性的,多个数据和多个属性可以通过map数据结构存储在同一列中,其中,在map数据结构中,数据和该数据对应的属性相关联。
11、在该实现方式中,可以将多个数据和多个属性存储在主键对应的同一列中,从而可以在无法自由扩展列字段的情况下,存储多个属性对应的数据。
12、在一种可能的实现方式中,第一操作是修改操作;该方法还包括:向存储端发送加锁指示;加锁指示用于指示存储端在针对第一数据执行第一操作时,阻塞针对第一数据的其他修改操作。
13、该实现方式可以保障同时对第一数据执行一个修改操作,避免了同时针对第一数据的执行多个修改操作导致的冲突。
14、第二方面,提供了一种数据访问装置,装置连接存储端和多个客户端;其中,存储端执行针对存储池中存储的数据的操作,多个客户端中不同的客户端对应不同的访问协议;装置包括:接收模块,用于接收多个客户端中的第一客户端发送的第一访问请求,第一客户端对应第一访问协议,第一访问请求用于按照第一访问协议请求针对第一数据执行第一操作,第一数据存储在存储池中或将要存储到存储池中;转换模块,用于当第一访问协议和存储端对应的第二访问协议不一致时,将第一访问请求转换为第二访问请求,其中,第二访问请求用于按照第二访问协议请求针对第一数据执行第一操作;发送模块,用于将第二访问请求发送至存储端;其中,存储端用于响应第二访问请求,针对第一数据执行第一操作。
15、在一种可能的实现方式中,接收模块还用于:接收多个客户端中的第二客户端发送的第三访问请求,第二客户端对应第三访问协议,第三访问请求用于按照第三访问协议请求针对第二数据执行第二操作,第二数据存储在存储池中或将要存储到存储池中;发送模块还用于:当第三访问协议和第二访问协议一致时,将第三访问请求发送至存储端;其中,存储端用于响应第三访问请求,针对第二数据执行第二操作。
16、在一种可能的实现方式中,转换模块用于:从第一访问请求中获取主键,主键对应的数据包括第一数据;将主键携带到第二访问请求中;其中,存储端用于利用第二访问请求中的主键识别第一数据。
17、在一种可能的实现方式中,主键对应多个数据,其中,多个数据和多个属性一一对应;转换模块用于:从第一访问请求中获取主键和第一数据对应的属性:将主键和第一数据对应的属性携带到第二访问请求中;其中,存储端用于利用第二访问请求中的主键识别多个数据,以及利用第二访问请求中的第一数据的属性在多个数据中识别第一数据。
18、在一种可能的实现方式中,多个数据和多个属性存储在主键对应的同一列中;其中,在列中,多个数据中的每个数据和该数据对应的属性相关联。
19、在一种可能的实现方式中,第一操作是修改操作;发送模块还用于:向存储端发送加锁指示;加锁指示用于指示存储端在针对第一数据执行第一操作时,阻塞针对第一数据的其他修改操作。
20、第三方面,提供了一本文档来自技高网
...
【技术保护点】
1.一种数据访问方法,其特征在于,所述方法应用于访问装置,所述访问装置连接存储端和多个客户端;其中,所述存储端执行针对存储池中存储的数据的操作,所述多个客户端中不同的客户端对应不同的访问协议;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,所述将所述第一访问请求转换为第二访问请求,包括:
4.根据权利要求3所述的方法,其特征在于,所述主键对应多个数据,其中,所述多个数据和多个属性一一对应;
5.根据权利要求4所述的方法,其特征在于,所述多个数据和所述多个属性存储在所述主键对应的同一列中;其中,在所述列中,所述多个数据中的每个数据和该数据对应的属性相关联。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述第一操作是修改操作;所述方法还包括:
7.一种数据访问装置,其特征在于,所述装置连接存储端和多个客户端;其中,所述存储端执行针对存储池中存储的数据的操作,所述多个客户端中不同的客户端对应不同的访问协议;所述装置包括:
>8.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
9.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1-6中任一项所述的方法。
10.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算机设备集群运行时,使得所述计算机设备集群执行如权利要求1-6中任一项所述的方法。
...
【技术特征摘要】
1.一种数据访问方法,其特征在于,所述方法应用于访问装置,所述访问装置连接存储端和多个客户端;其中,所述存储端执行针对存储池中存储的数据的操作,所述多个客户端中不同的客户端对应不同的访问协议;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1或2所述的方法,其特征在于,所述将所述第一访问请求转换为第二访问请求,包括:
4.根据权利要求3所述的方法,其特征在于,所述主键对应多个数据,其中,所述多个数据和多个属性一一对应;
5.根据权利要求4所述的方法,其特征在于,所述多个数据和所述多个属性存储在所述主键对应的同一列中;其中,在所述列中,所述多个数据中的每个数据和该数据对应的属性相关联。
6.根据权利...
【专利技术属性】
技术研发人员:刘超,
申请(专利权)人:深圳华为云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。