数据访问控制方法、介质、装置和计算设备与流程

文档序号:16210438发布日期:2018-12-08 07:40阅读:130来源:国知局
数据访问控制方法、介质、装置和计算设备与流程

本发明的实施方式涉及通信及计算机技术领域,更具体地,本发明的实施方式涉及数据访问控制方法、介质、装置和计算设备。

背景技术

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

随着公有云的发展,云计算厂商一般会提供多地域(region)的服务,同时用户对云计算中的资源的权限管理需求也更加复杂。安全令牌服务(securitytokenservice,简称sts)通过颁发临时安全凭证(credential)的形式,为用户提供短期访问云平台内资源的服务,适用于临时访问云平台内资源的场景。由于短期安全凭证本身具有时间有效性,一般只有几分钟或者几小时的有效期,不同于永久授权,所以没有管理方面的负担,即授权者无须主动取消安全凭证的授权。



技术实现要素:

但是,本发明人在研究过程中发现sts是全局服务,换句话说,在任何一个地域内颁发的短期安全凭证可以在全球范围内使用。由于短期安全凭证的时效性特点以及其对访问性能的要求,将其存储在缓存系统中最为合适。而缓存系统在跨地域访问方面的支持不太理想,其自身的复制机制严重依赖于网络质量,导致了sts服务的稳定性大大降低。

相关技术中对于跨地域的数据访问控制方法主要包括基于数据库或者缓存的两种方式。如图1a所示,用户在地域一申请扮演角色,兑换出一个临时安全凭证,利用复制机制可以将地域一的数据库中存储的临时安全凭证复制到地域二的数据库中。当用户在地域二使用由地域一颁发出来的临时安全凭证时,地域二便可以直接由本地数据库中取回从地域一同步过来的临时安全凭证。又如图1b所示,用户在地域一兑换出临时安全凭证后可以将该临时安全凭证保存在缓存中,然后利用消息队列(messagequeue,简称mq)将写入事件(即生成的临时安全凭证)发布到其他地域中,地域二在收到该临时安全凭证后将其保存在本地的缓存中以供取用。

图1a所示的技术方案存在以下几个弊端:

1.可靠性差。该方案严重依赖数据库同步,这取决于网络质量和数据库当时的负载情况,所以临时安全凭证何时同步到需要使用的地域(此示例中是地域二)是不确定的。用户在使用临时安全凭证时使用方式一般以程序形式进行访问,也就是说在临时安全凭证产生时可能很快就在地域二进行使用,而此时很有可能地域二还没同步到临时安全凭证的内容。

2.数据管理难度大。临时安全凭证的特征决定了其最合适的存储形式是缓存(例如:redis、memcached等)。由于临时安全凭证的数量一般非常大,因此使用数据库存储时,需要定期对临时安全凭证进行清理,增加数据管理难度的同时也降低了访问临时安全凭证的性能。

3.数据冗余量大。临时安全凭证的使用一般会固定在一至两个地域内,而该方案会将产生的临时安全凭证全部同步到全平台范围内的所有地域,这极大加重了数据量冗余信息,同时加重了全平台的专线网络负担,造成整体的使用率不高。

4.同步复制机制复杂。该方案严重依赖于其使用地数据库提供的复制机制。在地域数量较少地情况下,还可以通过管理配置来维护。但公有云厂商一般会提供十几个甚至数十个地域,其利用数据库来同步的方案将会极为复杂,出现问题也很难排查。

图1b所示的技术方案使用缓存来存储临时安全凭证,虽然在一定程度上解决了上一技术方案中对于临时安全凭证数据管理方面的维护性问题,但是与上一技术方案类似地,该技术方案借助于消息队列来将数据同步到其他地域,但消息队列是一种异步同步机制,无法做到同步写入。异步引起的延迟会导致临时安全凭证何时同步到其他地域的时间未知,因此仍然存在数据同步可靠性差的问题。另外,该方案通过消息队列将产生的临时安全凭证发布到全平台范围内的所有地域中,也存在数据冗余量大的问题。而且该技术方案要求各个地域能够通过消息队列来进行通信,而主流的消息队列系统在跨地域访问方面的支持并不好,导致消息队列的维护成本很高。

为此,非常需要一种改进的数据访问控制方法,以期至少在一定程度上解决相关技术中存在的数据同步可靠性差、数据管理难度大、数据维护成本高等问题。

在本上下文中,本发明的实施方式期望提供一种数据访问控制方法、介质、装置和计算设备。

在本发明实施方式的第一方面中,提供了一种数据访问控制方法,包括:接收数据生成指令;根据所述数据生成指令生成数据并生成用于访问所述数据的数据标识符;其中,所述数据标识符包含所述数据的生成地信息;将所述数据保存至本地数据库;将所述数据标识符返回给所述数据生成指令的发送方。

在本发明的一些实施例中,基于以上技术方案,还包括:接收远程数据同步指令,并获取远程数据同步指令中的目标数据标识符;在本地数据库中查找与所述目标数据标识符相对应的数据;将查找结果返回给所述远程数据同步指令的发送方。

在本发明的一些实施例中,基于以上技术方案,将查找结果返回给所述远程数据同步指令的发送方,包括:判断在本地数据库中是否查找到与所述目标数据标识符相对应的数据;若找到与所述目标数据标识符相对应的数据,则向所述远程数据同步指令的发送方返回与所述目标数据标识符相对应的数据;若未找到与所述目标数据标识符相对应的数据,则向所述远程数据同步指令的发送方返回空值。

在本发明的一些实施例中,基于以上技术方案,接收远程数据同步指令,包括:通过远程过程调用协议接收远程数据同步指令。

在本发明的一些实施例中,基于以上技术方案,在将所述数据标识符返回给所述数据生成指令的发送方之前,还包括:对所述数据标识符进行加密处理。

在本发明的一些实施例中,将所述数据保存至本地数据库,包括:将所述数据保存至本地缓存数据库。

在本发明实施方式的第二方面中,提供了一种数据访问控制方法,包括:接收数据访问指令并获取所述数据访问指令中的数据标识符;在满足预设条件时,识别所述数据标识符中的生成地信息;根据所述生成地信息,向数据的生成地发出远程数据同步指令;接收由所述数据的生成地根据所述远程数据同步指令生成并发送的数据同步结果;将所述数据同步结果返回给所述数据访问指令的发送方。

在本发明的一些实施例中,基于以上技术方案,在满足预设条件时,识别所述数据标识符中的生成地信息,包括:在本地数据库中查找与所述数据标识符相对应的数据,并判断是否查找到与所述数据标识符相对应的数据;若未找到与所述数据标识符相对应的数据,则识别所述数据标识符中的生成地信息。

在本发明的一些实施例中,基于以上技术方案,在满足预设条件时,识别所述数据标识符中的生成地信息,还包括:若找到与所述数据标识符相对应的数据,则向所述数据访问指令的发送方返回与所述数据标识符相对应的数据。

在本发明的一些实施例中,基于以上技术方案,向数据的生成地发出远程数据同步指令,包括:通过远程过程调用协议向数据的生成地发出远程数据同步指令。

在本发明的一些实施例中,基于以上技术方案,识别所述数据标识符中的生成地信息,包括:对所述数据标识符进行解密处理;识别解密后的数据标识符中包含的生成地信息。

在本发明的一些实施例中,基于以上技术方案,在接收由所述数据的生成地根据所述远程数据同步指令生成并发送的数据同步结果之后,还包括:将所述数据同步结果保存至本地数据库。

在本发明的一些实施例中,基于以上技术方案,将所述数据同步结果保存至本地数据库,包括:将所述数据同步结果保存至本地缓存数据库。

在本发明实施方式的第三方面中,提供了一种介质,其上存储有程序,该程序被处理器执行时实现如上任一项所述的方法。

在本发明实施方式的第四方面中,提供了一种数据访问控制装置,包括:第一接收模块,被配置为接收数据生成指令;数据生成模块,被配置为根据所述数据生成指令生成数据并生成用于访问所述数据的数据标识符;其中,所述数据标识符包含所述数据的生成地信息;第一存储模块,被配置为将所述数据保存至本地数据库;第一返回模块,被配置为将所述数据标识符返回给所述数据生成指令的发送方。

在本发明的一些实施例中,基于以上技术方案,还包括:第二接收模块,被配置为接收远程数据同步指令,并获取远程数据同步指令中的目标数据标识符;数据查找模块,被配置为在本地数据库中查找与所述目标数据标识符相对应的数据;第二返回模块,被配置为将查找结果返回给所述远程数据同步指令的发送方。

在本发明的一些实施例中,基于以上技术方案,第二返回模块包括:第一判断子模块,被配置为判断在本地数据库中是否查找到与所述目标数据标识符相对应的数据;第一返回子模块,被配置为若找到与所述目标数据标识符相对应的数据,则向所述远程数据同步指令的发送方返回与所述目标数据标识符相对应的数据;空值返回子模块,被配置为若未找到与所述目标数据标识符相对应的数据,则向所述远程数据同步指令的发送方返回空值。

在本发明的一些实施例中,基于以上技术方案,第二接收模块包括:第二接收子模块,被配置为通过远程过程调用协议接收远程数据同步指令。

在本发明的一些实施例中,基于以上技术方案,还包括:加密模块,被配置为对包含生成地信息的所述数据标识符进行加密处理。

在本发明的一些实施例中,基于以上技术方案,第一存储模块包括:第一存储子模块,被配置为将所述数据保存至本地缓存数据库。

在本发明实施方式的第五方面中,提供了一种数据访问控制装置,包括:第三接收模块,被配置为接收数据访问指令并获取所述数据访问指令中的数据标识符;生成地识别模块,被配置为在满足预设条件时,识别所述数据标识符中的生成地信息;数据同步模块,被配置为根据所述生成地信息,向数据的生成地发出远程数据同步指令;第四接收模块,被配置为接收由所述数据的生成地根据所述远程数据同步指令生成并发送的数据同步结果;第三返回模块,被配置为将所述数据同步结果返回给所述数据访问指令的发送方。

在本发明的一些实施例中,基于以上技术方案,生成地识别模块包括:第二判断子模块,被配置为在本地数据库中查找与所述数据标识符相对应的数据,并判断是否查找到与所述数据标识符相对应的数据;第一识别子模块,被配置为若未找到与所述数据标识符相对应的数据,则识别所述数据标识符中的生成地信息。

在本发明的一些实施例中,基于以上技术方案,生成地识别模块还包括:第二返回子模块,被配置为若找到与所述数据标识符相对应的数据,则向所述数据访问指令的发送方返回与所述数据标识符相对应的数据。

在本发明的一些实施例中,基于以上技术方案,数据同步模块包括:数据同步子模块,被配置为通过远程过程调用协议向数据的生成地发出远程数据同步指令。

在本发明的一些实施例中,基于以上技术方案,生成地识别模块包括:解密子模块,被配置为对所述数据标识符进行解密处理;第二识别子模块,被配置为识别解密后的数据标识符中包含的生成地信息。

在本发明的一些实施例中,基于以上技术方案,还包括:第二存储模块,被配置为将所述数据同步结果保存至本地数据库。

在本发明的一些实施例中,基于以上技术方案,第二存储模块包括:第二存储子模块,被配置为将所述数据同步结果保存至本地数据库。

在本发明实施方式的第六方面中,提供了一种计算设备,包括:处理器和存储器,所述存储器存储有可执行指令,所述处理器用于调用所述存储器存储的可执行指令执行如上任一项所述的方法。

在本发明实施方式提供的数据访问控制方法中,通过在数据标识符中写入生成地信息可以准确标识出数据的生成地,在进行数据访问使用时便可以直接从数据生成地进行数据的获取,避免了对全地域数据库的无差别同步,提高了数据管理的效率,降低了数据的冗余度,降低了数据维护成本。另外,本发明实施方式中的数据访问控制方法对于网络质量的依赖程度较低,数据同步的可靠性好。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1a示意性地示出了相关技术中数据访问控制的一种方法框图。

图1b示意性地示出了相关技术中数据访问控制的另一种方法框图。

图2示意性地示出了本发明在一种应用场景中的数据访问控制方法流程框图。

图3示意性地示出了根据本发明一个实施例的数据访问控制方法步骤流程图。

图4示意性地示出了根据本发明另一实施例的数据访问控制方法步骤流程图。

图5示意性地示出了根据本发明又一实施例的数据访问控制方法步骤流程图。

图6示意性地示出了根据本发明再一实施例的数据访问控制方法步骤流程图。

图7示意性地示出了根据本发明再一实施例的数据访问控制方法步骤流程图。

图8示意性地示出了根据本发明一个实施例的数据访问控制装置框图。

图9示意性地示出了根据本发明另一实施例的的数据访问控制装置框图。

图10示意性地示出了根据本发明又一实施例的的数据访问控制装置框图。

图11示意性地示出了根据本发明再一实施例的的数据访问控制装置框图。

图12示意性地示出了根据本发明再一实施例的的数据访问控制装置框图。

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本发明更加透彻和完整,并且能够将本发明的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提出了一种数据访问控制方法、介质、装置和计算设备。

在本文中,需要理解的是,所涉及的术语“地域”(region)通常是指物理上相隔较远的机房,地域之间网络通信延迟大。

术语“可用区”(availablezone)表示在同一个地域内物理上距离较近的机房,可用区之间网络延迟小。

术语“安全令牌服务”(securitytokenservice,简称sts)是为用户提供短期访问云平台内资源的服务,主要通过颁发临时安全凭证(credential)的形式提供服务。

此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

发明概述

本发明人发现,当用户需要使用跨地域的数据访问服务时,需要进行多个地域的数据同步。以sts服务为例,用户在数据生成地通过申请扮演角色兑换出临时安全凭证,该临时安全凭证将被保存在数据生成地的数据库或者缓存中,然后通过数据库的复制或者利用消息队列的方式将临时安全凭证同步至所有的其他地域中。当用户在其他地域使用该临时安全凭证时,数据使用地再从本地的数据库或者缓存中将临时安全凭证取回。这种无差别地对所有地域进行数据同步的方式不仅存在同步可靠性差的问题,而且会产生大量的数据冗余,在数据管理和维护方面存在较大问题。

因此,本发明的实施例提供了一种数据访问控制方法、介质、装置和计算设备,在用户跨地域使用临时安全凭证时,可以获取到临时安全凭证的生成地信息,进而可以有针对性地做数据同步,例如可以在数据使用地的请求下,对数据生成地和数据使用地做数据同步,而其他的地域则不必进行数据同步。如此一来,便可以大幅提高数据同步的可靠性,降低因数据冗余而带来的数据管理和维护方面的问题。

在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。

应用场景总览

需要注意的是,下述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。

参考图2,图2示意性地示出了本发明的实施方式可以在其中实施的一种示例性应用场景。其中,用户在数据生成地访问sts服务生成临时安全凭证,数据生成地会将该临时安全凭证保存在本地的数据库(本实施例中为缓存)中,同时返回给用户一个包含数据生成地信息的标识符。当用户在其他地域使用临时安全凭证时,使用的请求入参便包含了该标识符。数据使用地会根据用户请求首先在数据使用地的数据库中获取临时安全凭证,如果找到就可以执行后续的业务操作,而如果没有找到,则可以从标识符中获取数据生成地信息,然后再向数据生成地发出数据同步请求。数据生成地根据数据使用地发来的数据同步请求,在数据生成地的数据库中查找临时安全凭证。如果数据生成地找到临时安全凭证,则将该临时安全凭证返回给数据使用地,而如果数据生成地没有找到临时安全凭证,则会向数据使用地返回空值。数据使用地在接收到数据生成地返回的临时安全凭证或者空值后,会将其保存在数据使用地的数据库中,以用于执行后续的业务操作。

示例性方法

下面结合上述的应用场景,参考图3至图7来描述根据本发明示例性实施方式的数据访问控制方法。

如图3所示,在本发明的一个示例性实施方式中,应用于数据生成地的数据访问控制方法主要可以包括以下步骤:

步骤s310.接收数据生成指令。

本步骤首先接收一数据生成指令,该数据生成指令可以是由用户发出的,也可以是数据生成地在向用户提供数据服务的过程中根据需要而由数据相关方发出的。

步骤s320.根据数据生成指令生成数据,并生成用于访问数据的数据标识符;其中,数据标识符包含数据的生成地信息。

由步骤s310接收到数据生成指令后,本步骤将根据数据生成指令生成数据,该数据可以是临时数据(例如上述应用场景中的临时安全凭证),也可以是永久数据,本示例性实施方式对此不做特殊限定。本步骤在生成数据的同时,还将生成用于访问对应数据的数据标识符,该数据标识符中包含有生成对应数据的生成地信息。生成地信息可以为数据的使用提供指向性,特别是用户在除数据生成地以外的其他地域或者其他可用区访问数据时,数据的使用地可以根据生成地信息找到数据的生成地,从而有针对性地进行数据同步。

步骤s330.将数据保存至本地数据库。

本步骤将步骤s320中生成的数据保存至数据生成地的本地数据库中,该数据库可以是诸如mysql一类的可以永久保存数据的数据库,另外也可以是诸如redis一类的缓存数据库,本示例性实施方式对此不做特殊限定。当步骤s320中生成的数据为临时数据时,可以将该临时数据保存在缓存数据库中,同时保存该临时数据的有效期,以降低数据管理的复杂性,减少数据维护方面的投入。

步骤s340.将数据标识符返回给数据生成指令的发送方。

本步骤将步骤s320中生成的数据标识符返回给数据生成指令的发送方,例如用户。数据生成指令的发送方可以使用该数据标识符进行数据访问。在跨地域使用时,也可以从数据标识符中获取数据的生成地信息,从而由数据生成地获取到对应的数据,实现数据跨地域访问的同时,提高数据同步的可靠性,减少数据冗余。

参考图4所示,在上一实施例的基础上,数据访问控制方法还可以包括以下步骤:

步骤s410.接收远程数据同步指令,并获取远程数据同步指令中的目标数据标识符。

本步骤是由数据生成地接收远程数据同步指令,并获取远程数据同步指令中的目标数据标识符。远程数据同步指令的发送方一般可以是数据使用地,当用户在数据使用地请求访问数据时,数据使用地可以通过地域间的数据通信向数据生成地发出远程数据同步指令。数据使用地与数据生成地之间可以通过远程过程调用(remoteprocedurecall,简称rpc)协议进行通信,rpc是一种计算机协议,该协议允许运行于一台计算机的程序调用另外一台计算机的子程序,而程序员无需额外地为这个交互作用编程。另外,数据使用地与数据生成地之间也可以采用超文本传输(hypertexttransferprotocol,简称http)协议或者其他任意的网络通信方式,本示例性实施方式对此不做特殊限定。

步骤s420.在本地数据库中查找与目标数据标识符相对应的数据。

由步骤s410获取得到目标数据标识符后,本步骤在数据生成地的本地数据库中查找与目标数据标识符相对应的数据,目标数据标识符可以是与对应的数据同时生成的,二者之间具有唯一关联性。

步骤s430.将查找结果返回给远程数据同步指令的发送方。

本步骤将步骤s430的查找结果返回给远程数据同步指令的发送方,例如数据使用地。

参考图5所示,步骤s430.将查找结果返回给远程数据同步指令的发送方可以进一步包括以下步骤:

步骤s431.判断在本地数据库中是否查找到与目标数据标识符相对应的数据。

本步骤首先判断根据目标数据标识符在本地数据库中是否查找到对应的数据,判断结果不同,向远程数据同步指令的发送方返回的查找结果也将不同。

步骤s432.若找到与目标数据标识符相对应的数据,则向远程数据同步指令的发送方返回与目标数据标识符相对应的数据。

如果步骤s431中的判断结果为是,即在本地数据库中找到与目标数据标识符对应的数据,那么本步骤将向远程数据同步指令的发送方返回与目标数据标识符相对应的数据。

步骤s433.若未找到与目标数据标识符相对应的数据,则向远程数据同步指令的发送方返回空值。

如果步骤s431中的判断结果为否,即在本地数据库中没有找到与目标数据标识符对应的数据,那么本步骤将向远程数据同步指令的发送方返回空值。在本地数据库中没有找到对应数据的原因可能是多方面的,例如可能是用户使用了伪造的数据标识符,或者数据标识符在使用或者传输过程中发生损坏,导致无法获取相应数据;又例如目标数据标识符是正确的,但是对应的数据是临时数据,而且该临时数据也已经过期,这也将导致本地数据库中无法找到与目标数据标识符相对应的数据。在这种情况下,远程数据同步指令的发送方(例如数据使用地)将接收并保存空值,当用户再次使用同样的目标数据标识符在数据使用地请求访问相关数据时,数据使用地便可以直接将保存的空值返回给用户,从而避免因用户频繁操作而不断地向数据生成地发出无意义的数据同步请求。

在本发明的一个实施例中,在步骤s340.将数据标识符返回给数据生成指令的发送方之前,本发明数据访问控制方法还可以包括对数据标识符进行加密处理的步骤。例如步骤s320中生成的数据标识符为sts.4b3e553a1878453d8c449d4df143b8c6+1524885022771+ncs:sam::395134374724501504:role/stsrole+cn-east-1,其中最后一部分cn-east-1即为数据的生成地信息。采用base64对其进行加密将得到加密后的数据标识符:

u1rtljrim2u1ntnhmtg3odq1m2q4yzq0owq0zgyxndniogm2kze1mjq4oduwmji3nzerbmnzonnhbto6mzk1mtm0mzc0nzi0ntaxnta0onjvbguvc3rzum9szstjbi1lyxn0lte=

通过加密处理可以有效地隐藏数据标识符中的实现细节,同时也可以屏蔽数据标识符中包含的数据的生成地信息,从而提高数据访问使用的安全性。对数据标识符进行的加密处理可以采用任意的对称加密算法或者非对称加密算法,本示例性实施方式对此不做特殊限定。

在以上示例性实施方式中,通过在数据标识符中写入生成地信息可以准确标识出数据的生成地,在进行数据访问使用时便可以直接从数据生成地进行数据的获取,避免了对全地域数据库的盲目同步,提高了数据管理的效率,避免了大量数据的冗余,降低了数据维护成本。

参考图6所示,在本发明的一个示例性实施方式中,应用于数据使用地的数据访问控制方法主要可以包括以下步骤:

步骤s610.接收数据访问指令并获取所述数据访问指令中的数据标识符。

本步骤将由数据使用地接收数据访问指令,并从数据访问指令中获取数据标识符。数据访问指令可以是由用户发出的,也可以是数据使用地在向用户提供数据服务的过程中根据需要而由数据相关方发出的。

步骤s620.在满足预设条件时,识别数据标识符中的生成地信息。

在满足预设条件时,本步骤将识别数据表示符中包含的生成地信息。由于数据和数据标识符通常情况下是在同一时间、同一地点成对生成的,因此该生成地信息既可以是数据的生成地信息也可以是数据标识符的生成地信息。本步骤中所指的预设条件例如可以包括在数据使用地的数据库中没有存储与该数据标识符相对应的数据,或者无法从数据使用地的数据库中获得相关数据的情况,另外也可以包括其他根据需要而设定的任意的预设条件,本示例性实施方式对此不做特殊限定。

步骤s630.根据生成地信息,向数据的生成地发出远程数据同步指令。

根据步骤s620识别得到的生成地信息,本步骤将向数据的生成地发出远程数据同步指令。数据使用地与数据生成地之间可以通过远程过程调用(rpc)协议进行通信,也可以采用超文本传输(http)协议或者其他任意的网络通信方式,本示例性实施方式对此不做特殊限定。

步骤s640.接收由数据的生成地根据远程数据同步指令生成并发送的数据同步结果。

数据生成地将根据步骤s630发出的远程数据同步指令生成数据同步结果,本步骤中数据使用地则将接收由数据生成地发出的数据同步结果。如果远程数据同步指令中包含有数据标识符,那么数据生成地可以仅向数据使用地同步与数据标识符相对应的数据。另外,数据生成地也可以根据需要对数据库中存储的全部数据向数据使用地做数据同步。

步骤s650.将数据同步结果返回给数据访问指令的发送方。

由步骤s640接收到数据同步结果后,本步骤将把该数据同步结果返回给数据访问指令的发送方,例如用户。如果步骤s640中接收到的数据同步结果是对数据库中全部数据的同步,那么本步骤将只向数据访问指令的发送方返回与数据标识符相对应的数据。

在由步骤s640接收到数据同步结果后,本示例性实施方式还可以将该数据同步结果保存至数据使用地的本地数据库。如此一来,用户在同一地点再次访问该数据时,便可以由数据使用地的本地数据库中直接获取数据,而不必再向数据生成地请求同步,提高了数据访问的效率和便利性。如果返回的数据同步结果是与数据标识符相对应的临时数据,那么本步骤可以将这一临时数据存储在本地缓存数据库中,例如redis、memcached等等。由于临时数据本身具有时效性,因此可以不必对其进行主动管理,减少在数据管理方面的投入。

参考图7所示,在以上示例性实施方式的基础上,步骤s620.在满足预设条件时,识别数据标识符中的生成地信息可以进一步包括以下步骤:

步骤s621.在本地数据库中查找与数据标识符相对应的数据,并判断是否查找到与数据标识符相对应的数据。

在由步骤s610接收到数据访问指令后,本步骤首先在数据使用地的本地数据库中查找与数据访问指令中包含的数据标识符相对应的数据,并判断是否查找到与数据标识符相对应的数据。

步骤s622.若未找到与数据标识符相对应的数据,则识别数据标识符中的生成地信息。

如果在步骤s621中的判断结果为否,即没有在数据使用地的本地数据库中查找到与数据标识符相对应的数据,那么本步骤将识别数据标识符中的生成地信息。如果数据标识符是经过加密处理的,那么本步骤需要先对数据标识符进行解密处理,然后识别解密后的数据标识符中包含的生成地信息。

在本发明的一个实施例中,步骤s620还可以包括:

步骤s623.若找到与数据标识符相对应的数据,则向数据访问指令的发送方返回与数据标识符相对应的数据。

如果在步骤s621中的判断结果为是,即在数据使用地的本地数据库中找到了与数据标识符相对应的数据,那么本步骤可以直接向数据访问指令的发送方返回与数据标识符相对应的数据,而不必再执行识别生成地信息、向数据生成地请求数据同步等步骤。能够在数据使用地的本地数据库中找到相应数据的原因可能是多方面的,例如数据使用地就是原始的数据生成地,或者数据使用地已经与数据生成地进行过数据同步。而进行数据同步的方式可以是本示例性实施方式提供的根据用户的访问请求而进行的,另外也可以是跨地域数据库之间的常规化的数据同步。

以上示例性实施方式所提供的数据访问控制方法通过识别数据标识符携带的生成地信息,可以根据请求对数据使用地和数据生成地进行一对一的数据同步,避免了全地域数据同步的复杂性,降低了数据冗余。

示例性介质

在介绍了本发明示例性实施方式的方法之后,接下来,对本发明示例性实施方式的介质进行说明。

在一些可能的实施方式中,本发明的各个方面还可以实现为一种介质,其上存储有程序代码,当所述程序代码被设备的处理器执行时用于实现本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的数据访问控制方法中的步骤。

在本发明的一种示例性实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:接收数据生成指令。根据所数据生成指令生成数据并生成用于访问所述数据的数据标识符;其中,所述数据标识符包含所述数据的生成地信息。将所述数据保存至本地数据库。将所述数据标识符返回给所述数据生成指令的发送方。

在本发明的一些实施例中,所述设备的处理器执行所述程序代码时还用于实现如下步骤:接收远程数据同步指令,并获取远程数据同步指令中的目标数据标识符;在本地数据库中查找与所述目标数据标识符相对应的数据;将查找结果返回给所述远程数据同步指令的发送方。

在本发明的一些实施例中,所述设备的处理器执行所述程序代码时用于实现如下步骤:判断在本地数据库中是否查找到与所述目标数据标识符相对应的数据;若找到与所述目标数据标识符相对应的数据,则向所述远程数据同步指令的发送方返回与所述目标数据标识符相对应的数据;若未找到与所述目标数据标识符相对应的数据,则向所述远程数据同步指令的发送方返回空值。

在本发明的一些实施例中,基于以上技术方案,所述接收远程数据同步指令,包括:通过远程过程调用协议接收远程数据同步指令。

在本发明的一些实施例中,所述设备的处理器执行所述程序代码时用于实现如下步骤:在将所述数据标识符返回给所述数据生成指令的发送方之前,对所述数据标识符进行加密处理。

在本发明的一些实施例中,基于以上技术方案,所述将所述数据保存至本地数据库,包括:将所述数据保存至本地缓存数据库。

在本发明的另一示例性实施方式中,所述设备的处理器执行所述程序代码时用于实现如下步骤:接收数据访问指令并获取所述数据访问指令中的数据标识符。在满足预设条件时,识别所述数据标识符中的生成地信息。根据所述生成地信息,向数据的生成地发出远程数据同步指令。接收由所述数据的生成地根据所述远程数据同步指令生成并发送的数据同步结果。将所述数据同步结果返回给所述数据访问指令的发送方。

在本发明的一些实施例中,所述设备的处理器执行所述程序代码时用于实现如下步骤:在本地数据库中查找与所述数据标识符相对应的数据,并判断是否查找到与所述数据标识符相对应的数据;若未找到与所述数据标识符相对应的数据,则识别所述数据标识符中的生成地信息。

在本发明的一些实施例中,所述设备的处理器执行所述程序代码时还用于实现如下步骤:若找到与所述数据标识符相对应的数据,则向所述数据访问指令的发送方返回与所述数据标识符相对应的数据。

在本发明的一些实施例中,基于以上技术方案,向数据的生成地发出远程数据同步指令,包括:通过远程过程调用协议向数据的生成地发出远程数据同步指令。

在本发明的一些实施例中,所述设备的处理器执行所述程序代码时还用于实现如下步骤:对所述数据标识符进行解密处理;识别解密后的数据标识符中包含的生成地信息。

在本发明的一些实施例中,所述设备的处理器执行所述程序代码时还用于实现如下步骤:在接收由所述数据的生成地根据所述远程数据同步指令生成并发送的数据同步结果之后,将所述数据同步结果保存至本地数据库。

在本发明的一些实施例中,基于以上技术方案,将所述数据同步结果保存至本地数据库,包括:将所述数据同步结果保存至本地缓存数据库。

以上步骤的具体实现方式已在对应的方法实施例中进行说明,此处不再赘述。

需要说明的是:上述的介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、rf等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

示例性装置

在介绍了本发明示例性实施方式的介质之后,接下来,参考图8对本发明示例性实施方式的数据访问控制装置进行说明。

如图8所示,应用于数据生成地的数据访问控制装置80主要可以包括:第一接收模块81、数据生成模块82、第一存储模块83和第一返回模块84。

其中,第一接收模块81被配置为接收数据生成指令。数据生成模块82被配置为根据所述数据生成指令生成数据并生成用于访问所述数据的数据标识符;其中,所述数据标识符包含所述数据的生成地信息。第一存储模块83被配置为将所述数据保存至本地数据库。第一返回模块84被配置为将所述数据标识符返回给所述数据生成指令的发送方。

如图9所示,应用于数据生成地的数据访问控制装置80还可以进一步包括:第二接收模块91、数据查找模块92和第二返回模块93。

其中,第二接收模块91被配置为接收远程数据同步指令,并获取远程数据同步指令中的目标数据标识符。数据查找模块92被配置为在本地数据库中查找与所述目标数据标识符相对应的数据。第二返回模块93被配置为将查找结果返回给所述远程数据同步指令的发送方。

如图10所示,第二返回模块93可以进一步包括:第一判断子模块931、第一返回子模块932和空值返回子模块933。

其中,第一判断子模块931被配置为判断在本地数据库中是否查找到与所述目标数据标识符相对应的数据。第一返回子模块932被配置为若找到与所述目标数据标识符相对应的数据,则向所述远程数据同步指令的发送方返回与所述目标数据标识符相对应的数据。空值返回子模块933被配置为若未找到与所述目标数据标识符相对应的数据,则向所述远程数据同步指令的发送方返回空值。

在以上示例性实施方式的基础上,第二接收模块91可以进一步包括第二接收子模块,第二接收子模块被配置为通过远程过程调用协议接收远程数据同步指令。

数据访问控制装置80可以进一步包括加密模块,加密模块被配置为对包含生成地信息的所述数据标识符进行加密处理。

第一存储模块83可以进一步包括第一存储子模块,第一存储子模块被配置为将所述数据保存至本地缓存数据库。

以上模块或其子模块所执行的具体操作已在对应的方法实施例中进行说明,此处不再赘述。

如图11所示,应用于数据使用地的数据访问控制装置110主要可以包括:第三接收模块111、生成地识别模块112、数据同步模块113、第四接收模块114和第三返回模块115。

其中,第三接收模块111被配置为接收数据访问指令并获取所述数据访问指令中的数据标识符。生成地识别模块112被配置为在满足预设条件时,识别所述数据标识符中的生成地信息。数据同步模块113被配置为根据所述生成地信息,向数据的生成地发出远程数据同步指令。第四接收模块114被配置为接收由所述数据的生成地根据所述远程数据同步指令生成并发送的数据同步结果。第三返回模块115被配置为将所述数据同步结果返回给所述数据访问指令的发送方。

如图12所示,生成地识别模块112可以进一步包括:第二判断子模块1121、第一识别子模块1122和第二返回子模块1123。

其中,第二判断子模块1121被配置为在本地数据库中查找与所述数据标识符相对应的数据,并判断是否查找到与所述数据标识符相对应的数据。第一识别子模块1122被配置为若未找到与所述数据标识符相对应的数据,则识别所述数据标识符中的生成地信息。第二返回子模块1123被配置为若找到与所述数据标识符相对应的数据,则向所述数据访问指令的发送方返回与所述数据标识符相对应的数据。

在以上示例性实施方式的基础上,数据同步模块113可以进一步包括数据同步子模块,数据同步子模块被配置为通过远程过程调用协议向数据的生成地发出远程数据同步指令。

在本发明的另一示例性实施方式中,生成地识别模块可以包括解密子模块和第二识别子模块。其中,解密子模块被配置为对所述数据标识符进行解密处理。第二识别子模块被配置为识别解密后的数据标识符中包含的生成地信息。

数据访问控制装置110还可以进一步包括第二存储模块,第二存储模块被配置为将所述数据同步结果保存至本地数据库。第二存储模块又可以进一步包括第二存储子模块,第二存储子模块被配置为将所述数据同步结果保存至本地数据库。

以上模块或其子模块所执行的具体操作已在对应的方法实施例中进行说明,此处不再赘述。

示例性计算设备

在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,介绍根据本发明的另一示例性实施方式的计算设备。

所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

在一些可能的实施方式中,根据本发明实施方式的计算设备可以至少包括至少一个处理器、以及至少一个存储器。其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的数据访问控制方法中的步骤。例如,所述处理器可以执行如图3中所示的步骤:步骤s310.接收数据生成指令。步骤s320.根据数据生成指令生成数据,并生成用于访问数据的数据标识符;其中,数据标识符包含数据的生成地信息。步骤s330.将数据保存至本地数据库。步骤s340.将数据标识符返回给数据生成指令的发送方。又如,所述处理器也可以执行如图4至图7中所示的各项步骤。

应当注意,尽管在上文详细描述中提及了数据访问控制装置的若干单元或子单元,但是这种划分仅仅是示例性的,并非是强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或单元的特征和功能可以在一个模块或单元中具体化。反之,上文描述的一个模块或单元的特征和功能可以进一步划分为由多个模块或单元来具体化。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所发明的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

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