数据访问方法、装置、电子装置和存储介质

文档序号:36268022发布日期:2023-12-06 15:53阅读:24来源:国知局
数据访问方法与流程

本技术涉及信息安全,特别是涉及一种数据访问方法、装置、电子装置和存储介质。


背景技术:

1、随着云计算的快速发展,越来越多的组织选择将自己的数字资产和线上服务部署到云端数据库,以更低廉的价格获得更优质的服务。将数据部署到云端数据库虽然可以带来便捷性,但也存在一定的安全隐患。虽然云端数据库能通过密文存储来保护数据内容,但恶意服务器和攻击者还是能够通过观察用户对云端数据库的存取模式来推断一些隐私信息。例如,医院将患者的信息存储在云端服务器中,一位医生访问云端服务器的医药数据库的存取模式就有可能暴露患者的诊断情况。

2、不经意随机访问机(oblivious ram,oram)是一种保护访问模式的重要手段。现有的oram设计中,客户端对服务器进行通信访问时,针对客户端的一个请求,服务器需要遍历访问数据库中的所有数据,使攻击者无法获知客户端当前的请求映射到数据库中的具体哪一个数据,从而完成混淆操作。该方式虽然能够有效地隐藏数据的访问模式,但同时也会增加数据访问的时间,影响数据访问效率。

3、针对相关技术中存在不经意随机访问机进行数据访问的效率低的问题,目前还没有提出有效的解决方案。


技术实现思路

1、在本实施例中提供了一种数据访问方法、装置、电子装置和存储介质,以解决相关技术中不经意随机访问机进行数据访问的效率低的问题。

2、第一个方面,在本实施例中提供了一种数据访问方法,所述数据访问方法应用于服务端,所述服务端包括缓存区以及数据库,包括:

3、获取实际数据访问请求;

4、确定所述实际数据访问请求的实际请求数量;

5、基于所述实际请求数量、所述缓存区大小以及所述数据库的大小构建虚拟数据访问请求;

6、基于所述缓存区的缓存数据,从所述实际数据访问请求以及所述虚拟数据访问请求中确定当前目标访问请求,所述当前目标访问请求的数量与所述实际请求数量相等,所述缓存区用于缓存基于历史目标访问请求从所述数据库中获取的历史目标数据;

7、从所述数据库中访问所述当前目标访问请求对应的当前目标数据。

8、在其中的一些实施例中,所述基于所述缓存区的缓存数据,从所述实际数据访问请求以及所述虚拟数据访问请求中确定目标访问请求,包括:

9、基于所述缓存区的缓存数据,对所述实际数据访问请求以及所述虚拟数据访问请求进行响应,确定响应结果;

10、基于所述响应结果,确定已响应的数据访问请求、未响应的实际数据访问请求、以及未响应的虚拟数据访问请求,所述已响应的数据访问请求包括已响应的实际数据访问请求和/或已响应的虚拟数据访问请求;

11、依次对所述未响应的实际数据访问请求、所述未响应的虚拟数据访问请求、以及所述已响应的数据访问请求进行排序,得到排序后的访问请求;

12、将所述排序后的访问请求中前n个请求确定为所述当前目标访问请求,其中,n与所述实际请求数量相等。

13、在其中的一些实施例中,在所述从所述数据库中访问所述当前目标访问请求对应的当前目标数据之后,还包括:

14、基于所述当前目标数据对所述未响应的实际数据访问请求进行响应;

15、将响应后的所述实际数据访问请求返回至客户端。

16、在其中的一些实施例中,在所述从所述数据库中访问所述当前目标访问请求对应的当前目标数据之后,还包括:

17、将所述当前目标数据缓存在所述缓存区中。

18、在其中的一些实施例中,在所述确定所述实际数据访问请求的实际请求数量之前,还包括:

19、判断所述缓存区的存储状态;

20、若所述缓存区的存储状态为满载,则将所述缓存区的缓存数据写回所述数据库,并将所述缓存区清空;

21、获取所述数据库中的存储数据;

22、对所述存储数据的存储位置进行重排,并基于所述存储数据响应所述实际数据访问请求。

23、在其中的一些实施例中,所述数据库包括多个局部存储数据,所述对所述存储数据的存储位置进行重排,并基于所述存储数据响应所述实际数据访问请求,包括:

24、对所述数据库进行多轮完整处理,每轮完整处理包括多个局部处理阶段,每个局部处理阶段处理对应的一个局部存储数据,在每个局部处理阶段中执行以下步骤:

25、对当前局部处理阶段的局部存储数据进行扫描,得到当前局部存储数据;

26、对所述当前局部存储数据的存储位置进行重排,得到当前局部重排数据;

27、基于当前局部重排数据响应所述实际数据访问请求。

28、在其中的一些实施例中,在所述基于当前局部重排数据响应所述实际数据访问请求之后,还包括:

29、在完成一轮完整处理后,将响应后的所述实际数据访问请求返回至客户端。

30、在其中的一些实施例中,所述基于所述实际请求数量、所述缓存区大小以及所述数据库的大小构建虚拟数据访问请求,包括:

31、基于所述实际请求数量、所述缓存区大小以及所述数据库的大小确定虚拟请求的数量;

32、基于所述虚拟请求的数量,随机构建所述虚拟数据访问请求。

33、第二个方面,在本实施例中提供了一种数据访问装置,所述数据访问装置应用于服务端,所述服务端包括缓存区以及数据库,包括:

34、获取模块,用于获取实际数据访问请求;

35、第一确定模块,用于确定所述实际数据访问请求的实际请求数量;

36、请求构建模块,用于基于所述实际请求数量、所述缓存区大小以及所述数据库的大小构建虚拟数据访问请求;

37、第二确定模块,用于基于所述缓存区的缓存数据,从所述实际数据访问请求以及所述虚拟数据访问请求中确定当前目标访问请求,所述当前目标访问请求的数量与所述实际请求数量相等,所述缓存区用于缓存基于历史目标访问请求从所述数据库中获取的历史目标数据;

38、数据访问模块,用于从所述数据库中访问所述当前目标访问请求对应的当前目标数据。

39、第三个方面,在本实施例中提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面任一实施例中所述的数据访问方法。

40、第四个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面任一实施例中所述的数据访问方法。

41、与相关技术相比,在本实施例中提供的数据访问,通过获取实际数据访问请求,并确定实际访问请求的实际请求数量,进一步地,根据实际请求数量、缓存区大小以及数据库大小构建虚拟数据访问请求,进一步地,根据缓存区的缓存数据,从实际数据访问请求以及虚拟数据访问请求中确定出当前的目标访问请求,并使目标访问请求的数量与实际数据访问请求的数量相等,从而通过实际数据访问请求与虚拟数据访问请求混淆的方式构造目标访问请求,进一步地,从数据库中访问当前目标访问请求对应的当前目标数据,进而通过混淆的目标访问请求对数据库进行访问,使攻击者无法确定目标访问请求的真实性,从而实现数据访问模式的保护,并且,当前目标访问请求的数量与实际数据访问请求的数量相等,确保了对数据库的访问次数与实际数据请求的数量对应,在访问数据库中的目标数据时,是对目标访问请求对应的目标数据进行访问,而不是对数据库中所有的数据进行遍历访问,即一个访问请求只需要访问数据库中对应的一个数据,无需遍历访问数据库中所有的数据,减少了数据访问的时间,提高了数据访问效率。

42、本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1