CN113486060B - 数据访问处理方法和装置、存储介质及电子设备 - Google Patents
数据访问处理方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113486060B CN113486060B CN202110715003.3A CN202110715003A CN113486060B CN 113486060 B CN113486060 B CN 113486060B CN 202110715003 A CN202110715003 A CN 202110715003A CN 113486060 B CN113486060 B CN 113486060B
- Authority
- CN
- China
- Prior art keywords
- access
- data
- target
- signature
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Abstract
本发明公开了一种数据访问处理方法和装置、存储介质及电子设备。其中,该方法包括:接收对目标服务发起的访问请求,其中,访问请求中携带有访问标识和访问签名,访问标识为触发访问请求的第一对象的身份标识,访问签名为第一对象的访问请求签署的认证签名;根据访问标识对访问签名进行验证,在访问签名通过验证的情况下,在目标服务的缓存层中查找与目标数据对应的目标对象;在目标对象指示为空对象的情况下,将目标对象发送给第一对象,并将访问请求记录在目标服务的异常访问记录中;将异常访问记录中的第一记录发送给第一对象。本发明解决了由于异常数据访问请求处理对资源的消耗导致服务稳定性差的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据访问处理方法和装置、存储介质及电子设备。
背景技术
缓存穿透是指查询一个根本不存在的数据,也就是缓存层和存储层都不会命中的数据。通常出于容错维度考虑,如果从存储层无法查询到数据,则不会写入缓存层中,因此每次接收到访问都需要到存储层进行查询,也就失去了缓存层保护后端存储数据的意义。
现有的应对缓存穿透,通常有两个解决方案:1,缓存空对象,在查询不到数据的情况下,生成空对象并存储在缓存层,以使得后续的缓存穿透可以命中缓存层的空对象。2,布隆过滤器拦截,将所有可能命中的数据哈希到一个足够大的bitmap中,不存在的数据会被这个bitmap拦截掉。
而缓存空对象会导致缓存层存储了很多空对象,占用了太多缓存层的存储空间。而布隆过滤器会存在一定的误判,且需要手工编写API接口。也就是说,上述解决方案对于缓存穿透的处理效果较差。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据访问处理方法和装置、存储介质及电子设备,以至少解决由于异常数据访问请求处理对资源的消耗导致服务稳定性差的技术问题。
根据本发明实施例的一个方面,提供了一种数据访问处理方法,包括:接收对目标服务发起的访问请求,其中,上述访问请求用于请求访问上述目标服务中的目标数据,上述访问请求中携带有访问标识和访问签名,上述访问标识为触发上述访问请求的第一对象的身份标识,上述访问签名为上述第一对象的上述访问请求签署的认证签名;根据上述访问标识对上述访问签名进行验证,在上述访问签名通过验证的情况下,在上述目标服务的缓存层中查找与上述目标数据对应的目标对象,其中,上述目标对象用于指示上述目标数据对应的访问结果;在上述目标对象指示为空对象的情况下,将上述目标对象发送给上述第一对象,并将上述访问请求记录在上述目标服务的异常访问记录中;将上述异常访问记录中的第一记录发送给上述第一对象,其中,上述第一记录是上述异常访问记录中与上述第一对象关联的记录。
根据本发明实施例的另一方面,还提供了一种数据访问处理装置,包括:接收单元,用于接收对目标服务发起的访问请求,其中,上述访问请求用于请求访问上述目标服务中的目标数据,上述访问请求中携带有访问标识和访问签名,上述访问标识为触发上述访问请求的第一对象的身份标识,上述访问签名为上述第一对象的上述访问请求签署的认证签名;验证单元,用于根据上述访问标识对上述访问签名进行验证,在上述访问签名通过验证的情况下,在上述目标服务的缓存层中查找与上述目标数据对应的目标对象,其中,上述目标对象用于指示上述目标数据对应的访问结果;记录单元,用于在上述目标对象指示为空对象的情况下,将上述目标对象发送给上述第一对象,并将上述访问请求记录在上述目标服务的异常访问记录中;反馈单元,用于将上述异常访问记录中的第一记录发送给上述第一对象,其中,上述第一记录是上述异常访问记录中与上述第一对象关联的记录。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据访问处理方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的数据访问处理方法。
在本发明实施例中,采用对接收到的访问请求中的访问签名进行验证,在访问签名验证通过的情况下,在缓存层中查找与所访问的目标数据对应的目标对象,在目标对象为空对象时,将访问请求记录在异常访问记录中,并将与第一对象关联的第一记录发送给第一对象的方式,通过验证访问签名以验证访问发起方的访问合法性,在访问合法但是目标对象是空对象的情况下,将访问请求作为异常访问请求记录在异常访问记录中,并将记录的异常访问请求发送给访问发起方,达到了通过签名验证拒绝非法访问,记录合法的异常访问,并将异常访问记录发送给访问发起方以追溯异常原因的目的,从而实现了避免非法访问并追溯合法的异常访问以从根源上减少异常请求,从而减少异常请求的数据处理所消耗的资源的技术效果,进而解决了由于异常数据访问请求处理对资源的消耗导致服务稳定性差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的数据访问处理方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的数据访问处理方法的流程示意图;
图3是根据本发明实施例的一种可选的数据访问处理方法的流程示意图;
图4是根据本发明实施例的一种可选的数据访问处理方法的流程示意图;
图5是根据本发明实施例的一种可选的数据访问处理方法的流程示意图;
图6是根据本发明实施例的一种可选的数据访问处理方法的流程示意图;
图7是根据本发明实施例的一种可选的数据访问处理方法的流程示意图;
图8是根据本发明实施例的一种可选的数据访问处理装置的结构示意图;
图9是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种数据访问处理方法,可选地,上述数据访问处理方法可以但不限于应用于如图1所示的环境中。第一对象100通过网络110与目标服务120进行数据交互。目标服务120中运行有数据库122和处理引擎124,处理引擎124用于处理目标服务120接收到的数据访问请求。不限于依次执行S102至S108。
接收访问请求。访问请求是通过网络接收到的,第一对象用于请求访问目标服务中的目标数据,访问请求中携带有访问标识和访问签名,访问标识为触发访问请求的第一对象的身份标识,访问签名为第一对象的访问请求签署的认证签名。验证访问签名,查找目标对象。根据访问标识对访问签名进行验证,在访问签名通过验证的情况下,在目标服务的缓存层中查找与目标数据对应的目标对象。目标对象是用于指示目标数据对应的访问结果的数据对象。发送目标对象,记录访问请求。在目标对象指示为空对象的情况下,将目标对象发送给第一对象,并将访问请求记录在目标服务的异常访问记录中。在异常访问记录中存储有与第一对象相关的第一记录的情况下,发送第一记录给第一对象。
可选地,在本实施例中,上述第一对象100可以是终端设备或者服务器,上述目标服务器120可以但不限于是服务器。终端设备可以包括但不限于以下至少之一:手机(如Android手机、iOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile InternetDevices,移动互联网设备)、PAD、台式电脑、智能电视等。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。
作为一种可选的实施方式,如图2所示,上述数据访问处理方法包括:
S202,接收对目标服务发起的访问请求,其中,访问请求用于请求访问目标服务中的目标数据,访问请求中携带有访问标识和访问签名,访问标识为触发访问请求的第一对象的身份标识,访问签名为第一对象的访问请求签署的认证签名;
S204,根据访问标识对访问签名进行验证,在访问签名通过验证的情况下,在目标服务的缓存层中查找与目标数据对应的目标对象,其中,目标对象用于指示目标数据对应的访问结果;
S206,在目标对象指示为空对象的情况下,将目标对象发送给第一对象,并将访问请求记录在目标服务的异常访问记录中;
S208,将异常访问记录中的第一记录发送给第一对象,其中,第一记录是异常访问记录中与第一对象关联的记录。
可选地,目标服务可以但不不限于是提供访问接口以接收数据访问功能的服务,例如网站。访问请求是针对目标数据的数据访问请求,目标数据可以是目标服务中没有存储的数据。目标服务不限于设置缓存层以应答部分数据访问请求。缓存层中不限于是将目标服务中被访问频率较高的数据的应答数据缓存在缓存层中,缓存层中的应答数据通常以数据对象的形式存储。从而通过在缓存层中查找与数据对应的数据对象以直接将数据对象作为访问结果反馈,无需每一次都从目标服务中的数据存储位置,例如存储层,进行数据的查询。
可选地,作为访问请求的发起方的第一对象不限于是应用客户端、应用终端、应用服务。应用的形式不限于是实体应用,云应用。
可选地,访问请求中携带有用于指示第一对象的访问标识和为第一对象的目标数据的访问请求签署的访问签名。访问标识是目标服务为第一对象配置的标识,用于标识第一对象。访问签名是第一对象利用目标服务通知的签名方式生成与访问请求相关的认证签名。认证签名不限于是根据访问请求的请求数据,请求时间和第一对象的访问标识计算得到的数据,数据形式不限于包括字符,数字,字母等,在此不做限定。
可选地,在访问签名通过验证的情况下,在目标服务中查询目标数据。不限于是首先在目标服务的缓存层查找与目标数据对应的目标对象,目标对象是存储有与目标数据的应答数据的数据对象。在查找到目标对象的情况下,直接将目标对象作为访问结果反馈给第一对象。在目标服务的缓存层未查找到与目标数据对应的目标对象的情况下,在目标服务的存储层查找目标数据。在存储层查找到目标对象的情况下,将目标对象对应的应答数据反馈给第一对象,同时,可以利用应答数据在缓存层生成对应的目标对象,从而在下一次接收到对目标数据的访问请求时,可以直接反馈目标对象,无需再次在存储层中查找目标数据。在存储层中未查找到目标对象的情况下,确定目标服务中不存在目标数据。在目标数据是目标服务中不存在的数据的情况下,确定访问请求是异常访问请求。为避免通过签名的异常访问请求对存储层形成的数据查询压力以及可能造成的损伤,可以在缓存层中生成与目标数据对应的空对象,并为空对象添加目标数据的数据标识,以确定空对象与目标数据的对应关系。可以利用添加目标数据的数据标识的空对象应对之后基于目标数据发起的异常访问请求。
可选地,在缓存层查找到的目标数据对应的目标对象是添加目标数据的数据标识的空对象,则确定目标对象指示为空对象,目标对象是空对象类型。在目标对象是空对象类型的情况下,确定访问请求是异常访问请求,将访问请求记录在异常访问记录中。异常访问记录用于记录异常访问请求,不限于包括发起访问请求的第一对象的访问标识,访问签名,访问的目标数据的数据标识,访问时间,访问次数等信息。
可选地,异常访问记录可以但不限于按照访问标识进行访问发起方的异常访问请求的划分,将与第一对象相关的第一记录形成第一异常列表,将第一异常列表发送给第一对象。
在本申请实施例中,采用对接收到的访问请求中的访问签名进行验证,在访问签名验证通过的情况下,在缓存层中查找与所访问的目标数据对应的目标对象,在目标对象为空对象时,将访问请求记录在异常访问记录中,并将与第一对象关联的第一记录发送给第一对象的方式,通过验证访问签名以验证访问发起方的访问合法性,在访问合法但是目标对象是空对象的情况下,将访问请求作为异常访问请求记录在异常访问记录中,并将记录的异常访问请求发送给访问发起方,达到了通过签名验证拒绝非法访问,记录合法的异常访问,并将异常访问记录发送给访问发起方以追溯异常原因的目的,从而实现了避免非法访问并追溯合法的异常访问以从根源上减少异常请求,从而减少异常请求的数据处理所消耗的资源的技术效果,进而解决了由于异常数据访问请求处理对资源的消耗导致服务稳定性差的技术问题。
作为一种可选的实施方式,如图3所示,上述根据访问标识验证访问签名包括:
S302,根据验证算法对访问标识和时间标识进行运算,得到验证签名,其中,访问请求中携带有时间标识;
S304,比对验证签名和访问签名;
S306,在访问签名与验证签名一致的情况下,确定访问签名通过验证;
S308,在访问签名与验证签名存在差异的情况下,确定访问签名未通过验证。
可选地,目标服务在从访问请求中获取到访问签名的情况下,生成验证签名。验证签名不限于是通过验证算法对访问标识和时间标识进行计算。时间标识不限于是访问请求中携带的用于指示访问时间的标识。验证算法不限于是目标服务指示访问请求方生成认证签名的算法。
可选地,在生成验证签名之后,比对验证签名和访问签名。在验证签名与访问签名完全一致的情况下,确定访问签名通过验证。在验证签名与访问签名不一致,也就是存在差异的情况下,确定访问签名未通过签名。
可选地,在访问签名未通过签名的情况下,拒绝访问请求。
作为一种可选的实施方式,如图4所示,上述根据验证算法对访问标识和时间标识进行运算包括:
S402,获取与访问标识对应的索引标识,其中,索引标识为第一对象的应用标识;
S404,在访问请求中提取请求数据和路径数据,其中,请求数据是访问请求中用于指示数据体的数据,路径数据是访问请求中用于指示接口地址的数据;
S406,按照验证算法的运算格式对访问标识、索引标识、时间标识、请求数据和路径数据执行运算。
可选地,在根据验证算法对访问标识和时间标识进行运算时,从访问请求中获取索引标识,请求数据和路径数据。
可选地,请求数据不限于是对访问请求中的数据体数据进行处理后的数据。路径数据不限于是对访问请求中的接口地址进行处理后的数据。
验证算法所需的访问标识、索引标识、时间标识、请求数据和路径数据的具体示例不限于如表1所示的:
表1
以验证算法选用Sha256算法为例,具体的运算方式不限于是:
Sha256(request URI+body+appId+appKey+timestamp)。
在本申请实施例中,在接收到访问签名时,根据验证算按照访问标识生成验证签名,通过验证签名对访问签名进行验证。只有在访问签名通过验证的情况下,才查找目标对象。如果访问签名未通过验证则直接拒绝访问,通过访问签名的验证可以对访问请求的合法性进行验证,从而直接拒绝非法访问,减少不合法的发起方导致的异常请求,从而减少处理异常请求所消耗的资源。
作为一种可选的实施方式,如图5所示,在目标服务的缓存层中查找与目标数据对应的目标对象之后,方法还包括:
S502,在缓存层中未查找到目标对象的情况下,在目标服务器的存储层查找目标数据;
S504,在存储层未查找到目标数据的情况下,在缓存层生成与目标数据的数据标识匹配的目标对象,并将目标对象配置为空对象类型。
可选地,在缓存层未查找到目标对象且存储层未查找到目标数据的情况下,确定目标服务中不存在目标数据。在确定目标服务不存在目标数据的情况下,在缓存层中生成与目标数据的数据标识对应的目标对象。
在本身实施例中,通过在缓存层中生成不存在的目标数据对应的目标对象,从而避免针对目标数据发起的访问请求,每一次都需要在存储层中的进行数据查询,造成资源的消耗,通过目标对象直接返回给访问发起方,从而减少异常请求的数据处理所消耗的资源。
作为一种可选的实施方式,如图6所示,上述将访问请求记录在异常访问记录中包括:
S602,确定访问请求中的关键数据,其中,关键数据包括访问请求中的访问标识和目标数据的数据标识;
S604,在异常访问记录中查找与关键数据对应的目标记录;
S606,在异常访问记录中未查找到目标记录的情况下,利用访问请求生成目标记录。
可选地,异常访问记录中按照关键数据记录访问请求。关键数据不限于包括访问标识和数据标识,访问标识用于指示访问发起方第一对象,数据标识用于指示目标数据。目标记录通过关键数据作为记录标识。
作为一种可选的实施方式,如图7所示,上述将访问请求记录在异常访问记录中包括:
S702,在异常访问记录中查找到目标记录的情况下,获取访问请求中的更新数据,其中,更新数据为访问请求中去除关键数据后剩余的数据;
S704,利用更新数据更新目标记录。
可选地,在异常访问记录中存在关键数据标识的目标记录的情况下,利用更新数据更新目标记录。利用更新数据更新目标记录不限于是将访问请求中的更新数据替代目标记录的历史数据,从而实现目标记录的更新。
在本申请实施例中,通过只在异常访问记录中生成一条与关键数据对应的目标记录,在接收到关键数据一致的访问数据时,只利用更新数据更新目标记录,不生成新的记录,从而避免了大量关键数据一致的记录异常访问记录造成的资源压力,同时通过关键数据对访问请求进行过滤,避免相同访问请求的重复记录。
作为一种可选的实施方式,上述在将异常访问记录中的第一记录发送给第一对象之后,方法包括:
S11,确定第一记录的异常原因;
S12,利用异常原因更新异常访问记录中的第一记录。
可选地,访问请求中的访问标识中包括用于指示第一对象的版本信息。通过第一记录中的访问标识,确定造成异常访问的第一对象的版本,便于异常原因的追溯。
作为一种可选的实施方式,上述确定第一记录的异常原因包括:
S21,在第一对象的访问发起次数与第一记录中记录的访问次数相同的情况下,确定异常原因为第一对象的程序异常;
S22,在第一对象的访问发起次数与第一记录中记录的访问次数不相同的情况下,确定异常原因为第一对象的访问标识泄露造成的访问标识异常。
可选地,确定第一记录的异常原因不限于通过第一记录的记录数量和第一记录指示的访问次数确定。在第一记录数量不为一的情况下,确定第一记录的数量,获取每一条第一记录中所指示的访问次数,确定第一对象的异常访问次数。获取第一对象记录的对目标服务发起的访问异常次数。在异常访问次数和访问异常次数一致的情况下,确定第一记录指示的异常访问请求全部是第一对象发起的,从而确定异常原因是第一对象的程序异常造成的。
可选地,在异常访问次数和访问异常次数不一致的情况下,确定第一记录指示的异常访问请求存在非第一对象使用第一对象的访问标识发起异常访问请求,从而确定异常原因是第一对象的访问标识泄露造成的。
可选地,在确定第一对象的访问标识泄露之后,为第一对象配置新的访问标识。
本申请实施例中,通过比对第一对象的访问异常次数,确定第一记录的异常原因,从而实现对于异常访问请求的原因追溯,从异常源头减少异常访问请求的产生,实现减少异常请求的数据处理所消耗的资源,提高目标服务稳定性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述数据访问处理方法的数据访问处理装置。如图8所示,该装置包括:
接收单元802,用于接收对目标服务发起的访问请求,其中,访问请求用于请求访问目标服务中的目标数据,访问请求中携带有访问标识和访问签名,访问标识为触发访问请求的第一对象的身份标识,访问签名为第一对象的访问请求签署的认证签名;
验证单元804,用于根据访问标识对访问签名进行验证,在访问签名通过验证的情况下,在目标服务的缓存层中查找与目标数据对应的目标对象,其中,目标对象用于指示目标数据对应的访问结果;
记录单元806,用于在目标对象指示为空对象的情况下,将目标对象发送给第一对象,并将访问请求记录在目标服务的异常访问记录中;
反馈单元808,用于将异常访问记录中的第一记录发送给第一对象,其中,第一记录是异常访问记录中与第一对象关联的记录。
可选地,上述验证单元804包括:
获取模块,用于根据验证算法对访问标识和时间标识进行运算,得到验证签名,其中,访问请求中携带有时间标识;
比对模块,用于比对验证签名和访问签名;
第一确定模块,用于在访问签名与验证签名一致的情况下,确定访问签名通过验证;
第二确定单元,用于在访问签名与验证签名存在差异的情况下,确定访问签名未通过验证。
可选地,上述获取模块包括:
第一获取模块,用于获取与访问标识对应的索引标识,其中,索引标识为第一对象的应用标识;
提取模块,用于在访问请求中提取请求数据和路径数据,其中,请求数据是访问请求中用于指示数据体的数据,路径数据是访问请求中用于指示接口地址的数据;
运算模块,用于按照验证算法的运算格式对访问标识、索引标识、时间标识、请求数据和路径数据执行运算。
可选地,上述数据访问处理装置还包括:
查找单元,用于在目标服务的缓存层中查找与目标数据对应的目标对象之后,在缓存层中未查找到目标对象的情况下,在目标服务器的存储层查找目标数据;
生成单元,用于在存储层未查找到目标数据的情况下,在缓存层生成与目标数据的数据标识匹配的目标对象,并将目标对象配置为空对象类型。
可选地,上述记录单元806包括:
关键模块,用于确定访问请求中的关键数据,其中,关键数据包括访问请求中的访问标识和目标数据的数据标识;
查找模块,用于在异常访问记录中查找与关键数据对应的目标记录;
生成模块,用于在异常访问记录中未查找到目标记录的情况下,利用访问请求生成目标记录。
可选地,上述记录单元806包括:
更新模块,用于在异常访问记录中查找到目标记录的情况下,获取访问请求中的更新数据,其中,更新数据为访问请求中去除关键数据后剩余的数据;利用更新数据更新目标记录。
可选地,上述数据访问处理装置还包括异常单元,用于在将异常访问记录中的第一记录发送给第一对象之后,确定第一记录的异常原因;利用异常原因更新异常访问记录中的第一记录。
可选地,上述异常单元还用于:
在第一对象的访问发起次数与第一记录中记录的访问次数相同的情况下,确定异常原因为第一对象的程序异常;
在第一对象的访问发起次数与第一记录中记录的访问次数不相同的情况下,确定异常原因为第一对象的访问标识泄露造成的访问标识异常。
在本申请实施例中,采用对接收到的访问请求中的访问签名进行验证,在访问签名验证通过的情况下,在缓存层中查找与所访问的目标数据对应的目标对象,在目标对象为空对象时,将访问请求记录在异常访问记录中,并将与第一对象关联的第一记录发送给第一对象的方式,通过验证访问签名以验证访问发起方的访问合法性,在访问合法但是目标对象是空对象的情况下,将访问请求作为异常访问请求记录在异常访问记录中,并将记录的异常访问请求发送给访问发起方,达到了通过签名验证拒绝非法访问,记录合法的异常访问,并将异常访问记录发送给访问发起方以追溯异常原因的目的,从而实现了避免非法访问并追溯合法的异常访问以从根源上减少异常请求,从而减少异常请求的数据处理所消耗的资源的技术效果,进而解决了由于异常数据访问请求处理对资源的消耗导致服务稳定性差的技术问题。
根据本发明实施例的又一个方面,还提供了一种用于实施上述数据访问处理方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图9所示,该电子设备包括存储器902和处理器904,该存储器902中存储有计算机程序,该处理器904被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,接收对目标服务发起的访问请求,其中,访问请求用于请求访问目标服务中的目标数据,访问请求中携带有访问标识和访问签名,访问标识为触发访问请求的第一对象的身份标识,访问签名为第一对象的访问请求签署的认证签名;
S2,根据访问标识对访问签名进行验证,在访问签名通过验证的情况下,在目标服务的缓存层中查找与目标数据对应的目标对象,其中,目标对象用于指示目标数据对应的访问结果;
S3,在目标对象指示为空对象的情况下,将目标对象发送给第一对象,并将访问请求记录在目标服务的异常访问记录中;
S4,将异常访问记录中的第一记录发送给第一对象,其中,第一记录是异常访问记录中与第一对象关联的记录。
可选地,本领域普通技术人员可以理解,图9所示的结构仅为示意,电子设备也可以是智能手机(如Android手机、IOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图9其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图9中所示更多或者更少的组件(如网络接口等),或者具有与图9所示不同的配置。
其中,存储器902可用于存储软件程序以及模块,如本发明实施例中的数据访问处理方法和装置对应的程序指令/模块,处理器904通过运行存储在存储器902内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据访问处理方法。存储器902可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器902可进一步包括相对于处理器904远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器902具体可以但不限于用于存储访问请求,访问标识,异常访问记录等信息。作为一种示例,如图9所示,上述存储器902中可以但不限于包括上述数据访问处理装置中的接收单元802、验证单元804、记录单元806以及反馈单元808。此外,还可以包括但不限于上述数据访问处理装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置906用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置906包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置906为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器908,用于显示上述异常访问记录;和连接总线910,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据访问处理方面的各种可选实现方式中提供的方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,接收对目标服务发起的访问请求,其中,访问请求用于请求访问目标服务中的目标数据,访问请求中携带有访问标识和访问签名,访问标识为触发访问请求的第一对象的身份标识,访问签名为第一对象的访问请求签署的认证签名;
S2,根据访问标识对访问签名进行验证,在访问签名通过验证的情况下,在目标服务的缓存层中查找与目标数据对应的目标对象,其中,目标对象用于指示目标数据对应的访问结果;
S3,在目标对象指示为空对象的情况下,将目标对象发送给第一对象,并将访问请求记录在目标服务的异常访问记录中;
S4,将异常访问记录中的第一记录发送给第一对象,其中,第一记录是异常访问记录中与第一对象关联的记录。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种数据访问处理方法,其特征在于,包括:
接收对目标服务发起的访问请求,其中,所述访问请求用于请求访问所述目标服务中的目标数据,所述访问请求中携带有访问标识和访问签名,所述访问标识为触发所述访问请求的第一对象的身份标识,所述访问签名为所述第一对象的所述访问请求签署的认证签名;
根据所述访问标识对所述访问签名进行验证,在所述访问签名通过验证的情况下,在所述目标服务的缓存层中查找与所述目标数据对应的目标对象,其中,所述目标对象用于指示所述目标数据对应的访问结果;
在所述目标对象指示为空对象的情况下,将所述目标对象发送给所述第一对象,并将所述访问请求记录在所述目标服务的异常访问记录中;
将所述异常访问记录中的第一记录发送给所述第一对象,其中,所述第一记录是所述异常访问记录中与所述第一对象关联的记录;
其中,所述根据所述访问标识验证所述访问签名包括:根据验证算法对所述访问标识和时间标识进行运算,得到验证签名,其中,所述访问请求中携带有所述时间标识;比对所述验证签名和所述访问签名;在所述访问签名与所述验证签名一致的情况下,确定所述访问签名通过验证;在所述访问签名与所述验证签名存在差异的情况下,确定所述访问签名未通过验证;
其中,所述根据验证算法对所述访问标识和时间标识进行运算包括:获取与所述访问标识对应的索引标识,其中,所述索引标识为所述第一对象的应用标识;在所述访问请求中提取请求数据和路径数据,其中,所述请求数据是所述访问请求中用于指示数据体的数据,所述路径数据是所述访问请求中用于指示接口地址的数据;按照所述验证算法的运算格式对所述访问标识、所述索引标识、所述时间标识、所述请求数据和所述路径数据执行运算。
2.根据权利要求1所述的方法,其特征在于,在所述目标服务的缓存层中查找与所述目标数据对应的目标对象之后,所述方法还包括:
在所述缓存层中未查找到所述目标对象的情况下,在所述目标服务器的存储层查找所述目标数据;
在所述存储层未查找到所述目标数据的情况下,在所述缓存层生成与所述目标数据的数据标识匹配的所述目标对象,并将所述目标对象配置为空对象类型。
3.根据权利要求1所述的方法,其特征在于,所述将所述访问请求记录在异常访问记录中包括:
确定所述访问请求中的关键数据,其中,所述关键数据包括所述访问请求中的访问标识和所述目标数据的数据标识;
在所述异常访问记录中查找与所述关键数据对应的目标记录;
在所述异常访问记录中未查找到所述目标记录的情况下,利用所述访问请求生成所述目标记录。
4.根据权利要求3所述的方法,其特征在于,所述将所述访问请求记录在异常访问记录中包括:
在所述异常访问记录中查找到所述目标记录的情况下,获取所述访问请求中的更新数据,其中,所述更新数据为所述访问请求中去除所述关键数据后剩余的数据;
利用所述更新数据更新所述目标记录。
5.根据权利要求1至4任一项所述的方法,其特征在于,在将所述异常访问记录中的第一记录发送给所述第一对象之后,所述方法包括:
确定所述第一记录的异常原因;
利用所述异常原因更新所述异常访问记录中的所述第一记录。
6.根据权利要求5所述的方法,其特征在于,所述确定所述第一记录的异常原因包括:
在所述第一对象的访问发起次数与所述第一记录中记录的访问次数相同的情况下,确定所述异常原因为所述第一对象的程序异常;
在所述第一对象的访问发起次数与所述第一记录中记录的访问次数不相同的情况下,确定所述异常原因为所述第一对象的所述访问标识泄露造成的访问标识异常。
7.一种数据访问处理装置,其特征在于,包括:
接收单元,用于接收对目标服务发起的访问请求,其中,所述访问请求用于请求访问所述目标服务中的目标数据,所述访问请求中携带有访问标识和访问签名,所述访问标识为触发所述访问请求的第一对象的身份标识,所述访问签名为所述第一对象的所述访问请求签署的认证签名;
验证单元,用于根据所述访问标识对所述访问签名进行验证,在所述访问签名通过验证的情况下,在所述目标服务的缓存层中查找与所述目标数据对应的目标对象,其中,所述目标对象用于指示所述目标数据对应的访问结果;
记录单元,用于在所述目标对象指示为空对象的情况下,将所述目标对象发送给所述第一对象,并将所述访问请求记录在所述目标服务的异常访问记录中;
反馈单元,用于将所述异常访问记录中的第一记录发送给所述第一对象,其中,所述第一记录是所述异常访问记录中与所述第一对象关联的记录;
其中,所述验证单元包括:获取模块,用于根据验证算法对访问标识和时间标识进行运算,得到验证签名,其中,访问请求中携带有时间标识;比对模块,用于比对验证签名和访问签名;第一确定模块,用于在访问签名与验证签名一致的情况下,确定访问签名通过验证;第二确定单元,用于在访问签名与验证签名存在差异的情况下,确定访问签名未通过验证;
其中,所述获取模块包括:第一获取模块,用于获取与访问标识对应的索引标识,其中,索引标识为第一对象的应用标识;提取模块,用于在访问请求中提取请求数据和路径数据,其中,请求数据是访问请求中用于指示数据体的数据,路径数据是访问请求中用于指示接口地址的数据;运算模块,用于按照验证算法的运算格式对访问标识、索引标识、时间标识、请求数据和路径数据执行运算。
8.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,所述程序运行时执行所述权利要求1至6任一项中所述的方法。
9.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110715003.3A CN113486060B (zh) | 2021-06-25 | 2021-06-25 | 数据访问处理方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110715003.3A CN113486060B (zh) | 2021-06-25 | 2021-06-25 | 数据访问处理方法和装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113486060A CN113486060A (zh) | 2021-10-08 |
CN113486060B true CN113486060B (zh) | 2023-06-16 |
Family
ID=77936247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110715003.3A Active CN113486060B (zh) | 2021-06-25 | 2021-06-25 | 数据访问处理方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113486060B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113259322B (zh) * | 2021-04-19 | 2022-07-12 | 山东英信计算机技术有限公司 | 一种预防Web服务异常的方法、系统及介质 |
CN113821818B (zh) * | 2021-11-19 | 2022-02-08 | 国网浙江省电力有限公司 | 基于标识管理的中台访问隔阻方法、装置及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351254A (zh) * | 2019-06-24 | 2019-10-18 | 北京思源互联科技有限公司 | 访问操作的执行方法及装置 |
CN110830445A (zh) * | 2019-10-14 | 2020-02-21 | 中国平安财产保险股份有限公司 | 一种异常访问对象的识别方法及设备 |
CN111737752A (zh) * | 2020-07-23 | 2020-10-02 | 杭州海康威视数字技术股份有限公司 | 监控数据访问控制方法、装置及设备、存储介质 |
CN111898124A (zh) * | 2020-08-05 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 进程访问控制方法和装置、存储介质及电子设备 |
CN112069242A (zh) * | 2020-09-14 | 2020-12-11 | 杨伟深 | 基于大数据和云计算的数据处理方法及大数据服务平台 |
CN112149105A (zh) * | 2020-10-21 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 数据处理系统、方法、相关设备及存储介质 |
CN112600797A (zh) * | 2020-11-30 | 2021-04-02 | 泰康保险集团股份有限公司 | 异常访问行为的检测方法、装置、电子设备及存储介质 |
CN112738030A (zh) * | 2020-12-16 | 2021-04-30 | 重庆扬成大数据科技有限公司 | 通过大数据分析农业技术人员的数据采集分享工作方法 |
CN112769731A (zh) * | 2019-10-21 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 一种进程控制方法、装置、服务器及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200287880A1 (en) * | 2019-03-08 | 2020-09-10 | Alltana, Inc. | Data encryption |
-
2021
- 2021-06-25 CN CN202110715003.3A patent/CN113486060B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351254A (zh) * | 2019-06-24 | 2019-10-18 | 北京思源互联科技有限公司 | 访问操作的执行方法及装置 |
CN110830445A (zh) * | 2019-10-14 | 2020-02-21 | 中国平安财产保险股份有限公司 | 一种异常访问对象的识别方法及设备 |
CN112769731A (zh) * | 2019-10-21 | 2021-05-07 | 腾讯科技(深圳)有限公司 | 一种进程控制方法、装置、服务器及存储介质 |
CN111737752A (zh) * | 2020-07-23 | 2020-10-02 | 杭州海康威视数字技术股份有限公司 | 监控数据访问控制方法、装置及设备、存储介质 |
CN111898124A (zh) * | 2020-08-05 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 进程访问控制方法和装置、存储介质及电子设备 |
CN112069242A (zh) * | 2020-09-14 | 2020-12-11 | 杨伟深 | 基于大数据和云计算的数据处理方法及大数据服务平台 |
CN112149105A (zh) * | 2020-10-21 | 2020-12-29 | 腾讯科技(深圳)有限公司 | 数据处理系统、方法、相关设备及存储介质 |
CN112600797A (zh) * | 2020-11-30 | 2021-04-02 | 泰康保险集团股份有限公司 | 异常访问行为的检测方法、装置、电子设备及存储介质 |
CN112738030A (zh) * | 2020-12-16 | 2021-04-30 | 重庆扬成大数据科技有限公司 | 通过大数据分析农业技术人员的数据采集分享工作方法 |
Non-Patent Citations (1)
Title |
---|
基于密文策略属性加密的云存储访问控制方案;范运东等;计算机应用研究(第08期);2412-2416 * |
Also Published As
Publication number | Publication date |
---|---|
CN113486060A (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110263035B (zh) | 基于区块链的数据存储、查询方法及装置和电子设备 | |
CN108734028B (zh) | 基于区块链的数据管理方法、区块链节点及存储介质 | |
CN107294729B (zh) | 区块链中不同节点之间的通信方法及装置 | |
US10073916B2 (en) | Method and system for facilitating terminal identifiers | |
CN107491519B (zh) | 区块链账本的查询方法及装置 | |
CN113486060B (zh) | 数据访问处理方法和装置、存储介质及电子设备 | |
CN108683668B (zh) | 内容分发网络中的资源校验方法、装置、存储介质及设备 | |
CN108880821B (zh) | 一种数字证书的认证方法及设备 | |
CN111898124B (zh) | 进程访问控制方法和装置、存储介质及电子设备 | |
CN110225017B (zh) | 基于联盟区块链的身份验证方法、设备及存储介质 | |
CN105933374B (zh) | 一种移动终端数据备份方法、系统及移动终端 | |
CN111461720B (zh) | 基于区块链的身份验证方法、装置、存储介质及电子设备 | |
CN112468540B (zh) | 基于云平台的数据分发方法、设备及介质 | |
CN110619022B (zh) | 基于区块链网络的节点检测方法、装置、设备及存储介质 | |
CN109309655A (zh) | 无状态通信安全签名方法、终端及服务器端 | |
CN111353136B (zh) | 一种操作请求的处理方法和装置 | |
CN113507475A (zh) | 跨域访问方法和装置 | |
CN110198227B (zh) | 日志文件的处理方法、装置、存储介质及电子装置 | |
CN104424316A (zh) | 一种数据存储方法、数据查询方法、相关装置和系统 | |
CN111597537B (zh) | 基于区块链网络的证书签发方法、相关设备及介质 | |
CN114428661A (zh) | 一种镜像管理方法及装置 | |
JP6233846B2 (ja) | 可変長ノンスの生成 | |
US10348705B1 (en) | Autonomous communication protocol for large network attached storage | |
CN105357185B (zh) | 共享帐号登录验证方法、装置及系统 | |
CN111324914B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |