CN112231106A - Redis集群的访问数据处理方法及装置 - Google Patents

Redis集群的访问数据处理方法及装置 Download PDF

Info

Publication number
CN112231106A
CN112231106A CN202011155123.4A CN202011155123A CN112231106A CN 112231106 A CN112231106 A CN 112231106A CN 202011155123 A CN202011155123 A CN 202011155123A CN 112231106 A CN112231106 A CN 112231106A
Authority
CN
China
Prior art keywords
tenant
redis cluster
resource
redis
data
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.)
Granted
Application number
CN202011155123.4A
Other languages
English (en)
Other versions
CN112231106B (zh
Inventor
孟少川
雷赛龄
张游
杨小可
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202011155123.4A priority Critical patent/CN112231106B/zh
Publication of CN112231106A publication Critical patent/CN112231106A/zh
Application granted granted Critical
Publication of CN112231106B publication Critical patent/CN112231106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供一种Redis集群的访问数据处理方法及装置,可用于人工智能技术领域,方法包括:基于一个向各个租户开放的内存数据访问接口,确定当前存在Redis集群操作需求的目标租户;判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在所述Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作。本申请能够有效提高共享资源的资源利用率,并能够有效提高租户针对Redis集群的访问数据处理效率和资源分配的准确性。

Description

Redis集群的访问数据处理方法及装置
技术领域
本申请涉及数据处理技术领域,特别涉及人工智能技术领域,具体涉及Redis集群的访问数据处理方法及装置。
背景技术
远程字典服务Redis(Remote Dictionary Server)是一个内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件,实现数据的高性能读写。为了保证效率,数据都是缓存在内存中。Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且再此基础上实现了主从master-slave同步。其中,Redis数据可以自主服务器向任意数量的从服务器上同步。从服务器可接受主服务器完整的消息发布记录,这对读取操作的可扩展性和数据冗余很有帮助。Redis目前存在的缺陷是内存数据库Redis集群仅支持单个数据库,这使得当在多个租户使用同一个Redis时,无法做到租户间的资源隔离。
现有的能够进行资源隔离的Redis集群的访问数据处理方式通常有二,其一为:通过物理隔离的方式实现,即给每一个租户建立一个专用的Redis集群。然而,由于物理隔离的方式不够灵活,无法通过共享资源池的方式提高资源利用率,造成了一定的资源浪费。其二为:为每一个Redis服务配置一个隔离单元,隔离单元向主系统发租户访问请求,这个请求中需要带预估的租借容量和时长,如果主系统判断共享容量大于或等于租借容量,就允许租户访问请求并将对应的内存划分给发出请求的隔离单元,而后主系统接收隔离单元的归还响应信息,需要监控划分给每一个隔离单元的内存是否被归还,来确定剩余共享容量。该种方式由于需要为每一个Redis服务配置一个隔离单元,因此会影响租户的访问数据处理效率,同时,由于该种方式的内存变化的获取是被动的,因此实时性较差,且依赖于发出被动响应的主体的执行效率及健康状态,因此无法保证剩余内存资源容量的更新及时性,也就会影响资源分配的准确性。
也就是说,无论上述的哪一种能够进行资源隔离的Redis集群的访问数据处理方式,均存在无法同时满足访问数据处理效率、共享资源的资源利用率和资源分配准确性的要求的问题。
发明内容
针对现有技术中的问题,本申请提供一种Redis集群的访问数据处理方法及装置,能够有效提高共享资源的资源利用率,并能够有效提高租户针对Redis集群的访问数据处理效率和资源分配的准确性。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种Redis集群的访问数据处理方法,包括:
基于一个向各个租户开放的内存数据访问接口,确定当前存在Redis集群操作需求的目标租户;
判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在所述Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作。
进一步地,所述基于一个向各个租户开放的内存数据访问接口,确定当前存在Redis集群操作需求的目标租户,包括:
基于所述内存数据访问接口接收租户的Redis集群操作请求;
判断所述Redis集群操作请求中是否包含有对应租户的唯一标识,若是,则将该租户确定为当前存在Redis集群操作需求的目标租户;
分别调取所述目标租户的唯一标识对应的资源配额和当前在所述Redis集群中的已使用资源量,其中,所述目标租户当前在所述Redis集群中的已使用资源量为主动自所述Redis集群获取的;
相对应的,对所述Redis集群进行的各个数据操作均标识有对应租户的所述唯一标识。
进一步地,在所述判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在所述Redis集群中的已使用资源量之前,还包括:
应用预设的flink流式计算方式模拟所述Redis集群中各个主节点各自对应的模拟从节点;
基于各个所述模拟从节点分别主动获取各自对应的所述主节点的数据更新记录;
根据各个所述租户各自对应的所述唯一标识对各份所述数据更新记录进行汇总,以形成各个所述租户当前分别在所述Redis集群中的已使用资源量;
存储各个所述租户的唯一标识和当前分别在所述Redis集群中的已使用资源量之间的对应关系数据。
进一步地,在所述存储各个所述租户的唯一标识和当前分别在所述Redis集群中的已使用资源量之间的对应关系数据之后,还包括:
以异步通讯的方式,将各个所述租户的唯一标识和当前分别在所述Redis集群中的已使用资源量之间的对应关系数据发送至所述内存数据访问接口的进行本地存储。
进一步地,还包括:
若经判断获知所述目标租户的资源配额小于或等于该目标租户当前在所述Redis集群中的已使用资源量,则向所述目标租户发送请求拒绝消息;
相对应的,所述Redis集群的访问数据处理方法还包括:
若接收到针对所述目标租户的资源配额调整指令,其中,该资源配额调整指令包括所述目标租户的唯一标识和对应的资源配额调整数据,则根据所述目标租户的唯一标识和对应的资源配额调整数据,在预存的各个所述租户的唯一标识与资源配额的对应关系数据中更新所述目标租户的资源配额;
其中,所述资源配额调整指令由Redis集群的管理员在接收到目标租户基于所述请求拒绝消息提出的资源配额调整请求并对该资源配额调整请求审核通过后发出。
进一步地,在所述存储各个所述租户的唯一标识和当前分别在所述Redis集群中的已使用资源量之间的对应关系数据之后,还包括:
以异步通讯的方式,将各个所述租户的唯一标识与资源配额的对应关系数据发送至所述内存数据访问接口的进行本地存储。
第二方面,本申请提供一种Redis集群的访问数据处理装置,包括:接口模块,该接口模块包括:
租户访问单元,用于基于一个向各个租户开放的内存数据访问接口,确定当前存在Redis集群操作需求的目标租户;
资源分配单元,用于判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在所述Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作。
进一步地,所述租户访问单元具体用于执行下述内容:
基于所述内存数据访问接口接收租户的Redis集群操作请求;
判断所述Redis集群操作请求中是否包含有对应租户的唯一标识,若是,则将该租户确定为当前存在Redis集群操作需求的目标租户;
分别调取所述目标租户的唯一标识对应的资源配额和当前在所述Redis集群中的已使用资源量,其中,所述目标租户当前在所述Redis集群中的已使用资源量为主动自所述Redis集群获取的;
相对应的,对所述Redis集群进行的各个数据操作均标识有对应租户的所述唯一标识。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的Redis集群的访问数据处理方法。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的Redis集群的访问数据处理方法。
由上述技术方案可知,本申请提供的一种Redis集群的访问数据处理方法及装置,方法包括:基于一个向各个租户开放的内存数据访问接口,确定当前存在Redis集群操作需求的目标租户;判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在所述Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作,通过一个向各个租户开放的内存数据访问接口的设置,能够有效提高租户操作Redis集群请求的处理效率及便捷性,进而能够有效提高租户访问响应效率;通过判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作,即通过为每一个租户预习配置对应的资源配额并进行存储,并应用资源配额进行操作权限判断,通过权限控制在只有租户满足操作要求时才允许租户对Redis集群进行操作,能够有效保证其他租户的数据安全,能够在逻辑层面上实现各个租户共享用一个Redis集群时的资源隔离,由于无需设置物理隔离,因此能够有效提高共享资源的资源利用率,以有效减少资源浪费的情形;通过主动获取目标租户当前在所述Redis集群中的已使用资源量,能够有效提高内存资源的更新及时性,进而能够有效提高针对租户的访问数据的处理准确性以提高整个资源分配过程的准确性;并且,由于不依赖于被动响应,也就不受限于发出响应的主体的响应效率及健康状态,因此还能够有效提高内存资源变化的获取可靠性及实时性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中的Redis集群的访问数据处理方法的流程示意图。
图2是本申请实施例中的Redis集群的访问数据处理方法中步骤100的流程示意图。
图3是本申请实施例中的Redis集群的访问数据处理方法中步骤010至步骤040的流程示意图。
图4是本申请实施例中的Redis集群的访问数据处理方法中步骤010至步骤050的流程示意图。
图5是本申请实施例中的Redis集群的访问数据处理方法中步骤300和步骤400的流程示意图。
图6是本申请实施例中的Redis集群的访问数据处理方法中步骤300至步骤500的流程示意图。
图7是本申请实施例中的Redis集群的访问数据处理装置的第一种结构示意图。
图8是本申请实施例中的Redis集群的访问数据处理装置的第二种结构示意图。
图9是本申请实施例中的Redis集群的访问数据处理装置的第三种结构示意图。
图10是本申请实施例中的Redis集群的访问数据处理装置的第四种结构示意图。
图11是本申请应用实例中的Redis集群的访问数据处理装置的模块功能及关系示意图。
图12是本申请应用实例中的处理租户操作Redis请求时的处理流程示意图。
图13是本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请公开的Redis集群的访问数据处理方法和装置可用于人工智能技术领域,也可用于除人工智能技术领域之外的任意领域,本申请公开的Redis集群的访问数据处理方法和装置的应用领域不做限定。
考虑到现有的Redis集群的访问数据处理方式存在无法同时满足访问数据处理效率、共享资源的资源利用率和资源分配准确性的要求的问题,本申请提供一种Redis集群的访问数据处理方法、Redis集群的访问数据处理装置、电子设备和计算机可读存储介质,通过一个向各个租户开放的内存数据访问接口的设置,能够有效提高租户操作Redis集群请求的处理效率及便捷性,进而能够有效提高租户访问响应效率;通过判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作,即通过为每一个租户预习配置对应的资源配额并进行存储,并应用资源配额进行操作权限判断,通过权限控制在只有租户满足操作要求时才允许租户对Redis集群进行操作,能够有效保证其他租户的数据安全,能够在逻辑层面上实现各个租户共享用一个Redis集群时的资源隔离,由于无需设置物理隔离,因此能够有效提高共享资源的资源利用率,以有效减少资源浪费的情形;通过主动获取目标租户当前在所述Redis集群中的已使用资源量,能够有效提高内存资源的更新及时性,进而能够有效提高针对租户的访问数据的处理准确性以提高整个资源分配过程的准确性;并且,由于不依赖于被动响应,也就不受限于发出响应的主体的响应效率及健康状态,因此还能够有效提高内存资源变化的获取可靠性及实时性。
基于上述内容,本申请还提供一种Redis集群访问系统,该Redis集群访问系统包含有用于实现本申请一个或多个实施例中提供的Redis集群的访问数据处理方法的Redis集群的访问数据处理装置,该Redis集群的访问数据处理装置可以分别与多个租户的客户端设备之间通信连接,还可以与Redis集群的管理员持有的客户端设备之间通信连接,所述Redis集群的访问数据处理装置可以通过自身的应用服务器访问其他装置或系统。
举例来说,所述Redis集群的访问数据处理装置通过一个向各个租户开放的内存数据访问接口接收租户的客户端设备的访问请求,确定当前存在Redis集群操作需求的目标租户;判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在所述Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作。
以及,所述Redis集群的访问数据处理装置可以接收由Redis集群的管理员持有的客户端设备发送的针对所述目标租户的资源配额调整指令,并在各个所述租户的唯一标识与资源配额的对应关系数据中更新所述目标租户的资源配额。
可以理解的是,所述客户端设备可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在另一实际应用情形中,进行Redis集群的访问数据处理的部分可以在如上述内容所述的Redis集群的访问数据处理装置执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器,用于进行Redis集群的访问数据处理的具体处理。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间系统的服务器,例如与任务调度中心服务器有通信链接的第三方服务器系统的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
上述服务器与所述客户端设备之间可以使用任何合适的网络协议进行通信,包括在本申请提交日尚未开发出的网络协议。所述网络协议例如可以包括TCP/IP协议、UDP/IP协议、HTTP协议、HTTPS协议等。当然,所述网络协议例如还可以包括在上述协议之上使用的RPC协议(Remote Procedure Call Protocol,远程过程调用协议)、REST协议(Representational State Transfer,表述性状态转移协议)等。
本申请提供的Redis集群的访问数据处理方法、Redis集群的访问数据处理装置、电子设备和计算机可读存储介质,通过开放给租户的内存数据访问接口,增加权限控制,实现了多个租户共享同一个Redis集群的逻辑上的资源隔离,在保证租户使用资源不受影响的条件下,提高了Redis的资源利用率。
具体通过下述各个实施例及应用实例分别进行详细说明。
为了解决现有的Redis集群的访问数据处理方式存在无法同时满足访问数据处理效率、共享资源的资源利用率和资源分配准确性的要求的问题,本申请提供一种Redis集群的访问数据处理方法的实施例,参见图1,所述Redis集群的访问数据处理方法具体包含有如下内容:
步骤100:基于一个向各个租户开放的内存数据访问接口,确定当前存在Redis集群操作需求的目标租户。
可以理解的是,所述内存数据访问接口是一个开放给所有租户共同使用的接口,开放给Redis租户访问使用。Redis集群采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。
步骤200:判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在所述Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作。
在步骤200中,Redis租户可通过接口进行Redis资源的查询、新增、修改等操作,通过接口写入的数据,在租户进行任何操作前,都需要检查当前租户已使用资源量,如果已使用资源量不超过本地存储的该租户的资源配额,则可以继续处理租户请求。
在本申请的一个或多个实施例中,目标租户是指Redis集群的访问数据处理装置当前正在处理的租户,所述内存数据访问接口可以同时接收一个或多个租户的访问请求,所述Redis集群的访问数据处理装置也可以同时处理一个或多个租户的访问请求,若所述Redis集群的访问数据处理装置同时处理多个租户的访问请求,那么就包含有多个目标租户,并针对每一个租户分别执行步骤200。
可以理解的是,在所述根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作的期间,还可以实时监测各个所述目标租户的资源配额是否大于该目标租户当前在所述Redis集群中的已使用资源量,若是,则停止该目标租户对所述Redis集群进行数据操作,并向该目标用户发送资源量超额信息。
从上述描述可知,本申请实施例提供的Redis集群的访问数据处理方法,通过一个向各个租户开放的内存数据访问接口的设置,能够有效提高租户操作Redis集群请求的处理效率及便捷性,进而能够有效提高租户访问响应效率;通过判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作,即通过为每一个租户预习配置对应的资源配额并进行存储,并应用资源配额进行操作权限判断,通过权限控制在只有租户满足操作要求时才允许租户对Redis集群进行操作,能够有效保证其他租户的数据安全,能够在逻辑层面上实现各个租户共享用一个Redis集群时的资源隔离,由于无需设置物理隔离,因此能够有效提高共享资源的资源利用率,以有效减少资源浪费的情形;通过主动获取目标租户当前在所述Redis集群中的已使用资源量,能够有效提高内存资源的更新及时性,进而能够有效提高针对租户的访问数据的处理准确性以提高整个资源分配过程的准确性;并且,由于不依赖于被动响应,也就不受限于发出响应的主体的响应效率及健康状态,因此还能够有效提高内存资源变化的获取可靠性及实时性。
为了进一步提高调取当前在所述Redis集群中的已使用资源量的准确性,在本申请提供的Redis集群的访问数据处理方法的一个实施例中,参见图2,所述Redis集群的访问数据处理方法中的步骤100具体包含有如下内容:
步骤110:基于所述内存数据访问接口接收租户的Redis集群操作请求。
步骤120:判断所述Redis集群操作请求中是否包含有对应租户的唯一标识,若是,则执行步骤130:将该租户确定为当前存在Redis集群操作需求的目标租户;若否,则向所述租户发送唯一标识获取请求,并在接收到租户发送的唯一标识后,将该租户确定为当前存在Redis集群操作需求的目标租户。
在本申请的一个或多个实施例中,所述唯一标识为租户访问内存数据访问接口的唯一凭证,具体可以为租户名、租户编号和应用加密编码方式计算得到的租户加密编码中的任一项。例如:每个租户存入Redis的数据都会在开头附加租户名,并且接口模块会相应的识别租户名,从而达到对租户的数据使用总量做出限制,而无需进行任何的物理隔离,所有租户的数据仍然可以均匀的分布在整个Redis集群中。只要租户使用的资源未超出预定配额,租户仍可以自由的使用整个Redis集群节点,不会有任何Redis节点的限制。
步骤140:分别调取所述目标租户的唯一标识对应的资源配额和当前在所述Redis集群中的已使用资源量,其中,所述目标租户当前在所述Redis集群中的已使用资源量为主动自所述Redis集群获取的。
相对应的,所述步骤200中的对所述Redis集群进行的各个数据操作均标识有对应租户的所述唯一标识。
从上述描述可知,本申请实施例提供的Redis集群的访问数据处理方法,通过内存数据访问接口写入的数据,都会被附加上租户的唯一标识,以租户的唯一标识为依据,能够进一步有效提高调取当前在所述Redis集群中的已使用资源量的准确性。
为了有效提高针对租户的访问数据的处理准确性以提高整个资源分配过程的准确性,在本申请提供的Redis集群的访问数据处理方法的一个实施例中,参见图3,所述Redis集群的访问数据处理方法中的步骤200之前具体包含有如下内容:
步骤010:应用预设的flink流式计算方式模拟所述Redis集群中各个主节点各自对应的模拟从节点。
可以理解的是,flink(Apache Flink)是一个分布式流数据流引擎,可以运行任意流处理程序。通过在flink引擎上部署java程序,可以运行一个flink流式计算任务,使其将自身模拟为一个Redis集群的节点,与Redis集群进行通讯。
步骤020:基于各个所述模拟从节点分别主动获取各自对应的所述主节点的数据更新记录。
步骤030:根据各个所述租户各自对应的所述唯一标识对各份所述数据更新记录进行汇总,以形成各个所述租户当前分别在所述Redis集群中的已使用资源量。
步骤040:存储各个所述租户的唯一标识和当前分别在所述Redis集群中的已使用资源量之间的对应关系数据。
具体来说,步骤010至步骤040在步骤200之前执行的情形仅为本申请的实施情形之一,由于要保证Redis集群中的已使用资源量的实时性,需要以较短的刷新周期(例如每3秒)定时或者实时的重复执行步骤010至步骤040。
从上述描述可知,本申请实施例提供的Redis集群的访问数据处理方法,通过应用flink流式计算方式实时且主动地获取各个所述租户当前分别在所述Redis集群中的已使用资源量,能够有效提高内存资源的更新及时性,进而能够有效提高针对租户的访问数据的处理准确性以提高整个资源分配过程的准确性;并且,由于不依赖于被动响应,也就不受限于发出响应的主体的响应效率及健康状态,因此还能够有效提高内存资源变化的获取可靠性及实时性。
为了进一步提高租户操作Redis集群请求的处理效率,在本申请提供的Redis集群的访问数据处理方法的一个实施例中,参见图4,所述Redis集群的访问数据处理方法中的步骤040之后还具体包含有如下内容:
步骤050:以异步通讯的方式,将各个所述租户的唯一标识和当前分别在所述Redis集群中的已使用资源量之间的对应关系数据发送至所述内存数据访问接口的进行本地存储。
从上述描述可知,本申请实施例提供的Redis集群的访问数据处理方法,能够有效提高调取所述目标租户当前在所述Redis集群中的已使用资源量的效率,进而能够有效进一步提高租户操作Redis集群请求的处理效率。
为了进一步提高租户操作Redis集群请求的处理效率,在本申请提供的Redis集群的访问数据处理方法的一个实施例中,参见图5,所述Redis集群的访问数据处理方法中的步骤200之后还具体包含有如下内容:
步骤300:若经判断获知所述目标租户的资源配额小于或等于该目标租户当前在所述Redis集群中的已使用资源量,则向所述目标租户发送请求拒绝消息。
步骤400:若接收到针对所述目标租户的资源配额调整指令,其中,该资源配额调整指令包括所述目标租户的唯一标识和对应的资源配额调整数据,则根据所述目标租户的唯一标识和对应的资源配额调整数据,在预存的各个所述租户的唯一标识与资源配额的对应关系数据中更新所述目标租户的资源配额;其中,所述资源配额调整指令由Redis集群的管理员在接收到目标租户基于所述请求拒绝消息提出的资源配额调整请求并对该资源配额调整请求审核通过后发出。
从上述描述可知,本申请实施例提供的Redis集群的访问数据处理方法,通过向超额的目标租户发送请求拒绝消息,使得该目标租户请求管理员调整配额并通过后,更新目标用户的资源配额的手段,向租户提供了一种超额的救济手段,进而能够有效提高Redis集群的访问数据处理过程的灵活性,能够有效提高租户的用户体验。
为了进一步提高租户操作Redis集群请求的处理效率,在本申请提供的Redis集群的访问数据处理方法的一个实施例中,参见图6,所述Redis集群的访问数据处理方法中的步骤400之后还具体包含有如下内容:
步骤500:以异步通讯的方式,将各个所述租户的唯一标识与资源配额的对应关系数据发送至所述内存数据访问接口的进行本地存储。
从上述描述可知,本申请实施例提供的Redis集群的访问数据处理方法,能够有效提高调取所述目标租户的资源配额的效率,进而能够有效进一步提高租户操作Redis集群请求的处理效率。
从软件层面来说,为了解决现有的Redis集群的访问数据处理方式存在无法同时满足访问数据处理效率、共享资源的资源利用率和资源分配准确性的要求的问题,本申请提供一种用于执行所述Redis集群的访问数据处理方法中全部或部分内容的Redis集群的访问数据处理装置的实施例,参见图7,所述Redis集群的访问数据处理装置具体包含有如下内容:
接口模块1,该接口模块包括:
租户访问单元11,用于基于一个向各个租户开放的内存数据访问接口,确定当前存在Redis集群操作需求的目标租户。
可以理解的是,所述内存数据访问接口是一个开放给所有租户共同使用的接口,开放给Redis租户访问使用。Redis集群采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。
资源分配单元12,用于判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在所述Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作。
在资源分配单元12中,Redis租户可通过接口进行Redis资源的查询、新增、修改等操作,通过接口写入的数据,在租户进行任何操作前,都需要检查当前租户已使用资源量,如果已使用资源量不超过本地存储的该租户的资源配额,则可以继续处理租户请求。
在本申请的一个或多个实施例中,目标租户是指Redis集群的访问数据处理装置当前正在处理的租户,所述内存数据访问接口可以同时接收一个或多个租户的访问请求,所述Redis集群的访问数据处理装置也可以同时处理一个或多个租户的访问请求,若所述Redis集群的访问数据处理装置同时处理多个租户的访问请求,那么就包含有多个目标租户,并针对每一个租户分别执行:判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在所述Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作。
可以理解的是,在所述根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作的期间,还可以实时监测各个所述目标租户的资源配额是否大于该目标租户当前在所述Redis集群中的已使用资源量,若是,则停止该目标租户对所述Redis集群进行数据操作,并向该目标用户发送资源量超额信息。
本申请提供的Redis集群的访问数据处理装置的实施例具体可以用于执行上述实施例中的Redis集群的访问数据处理方法的实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
从上述描述可知,本申请实施例提供的Redis集群的访问数据处理装置,通过一个向各个租户开放的内存数据访问接口的设置,能够有效提高租户操作Redis集群请求的处理效率及便捷性,进而能够有效提高租户访问响应效率;通过判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作,即通过为每一个租户预习配置对应的资源配额并进行存储,并应用资源配额进行操作权限判断,通过权限控制在只有租户满足操作要求时才允许租户对Redis集群进行操作,能够有效保证其他租户的数据安全,能够在逻辑层面上实现各个租户共享用一个Redis集群时的资源隔离,由于无需设置物理隔离,因此能够有效提高共享资源的资源利用率,以有效减少资源浪费的情形;通过主动获取目标租户当前在所述Redis集群中的已使用资源量,能够有效提高内存资源的更新及时性,进而能够有效提高针对租户的访问数据的处理准确性以提高整个资源分配过程的准确性;并且,由于不依赖于被动响应,也就不受限于发出响应的主体的响应效率及健康状态,因此还能够有效提高内存资源变化的获取可靠性及实时性。
为了进一步提高调取当前在所述Redis集群中的已使用资源量的准确性,在本申请提供的Redis集群的访问数据处理装置的一个实施例中,所述Redis集群的访问数据处理装置中的租户访问单元11具体用于执行下述内容:
步骤110:基于所述内存数据访问接口接收租户的Redis集群操作请求。
步骤120:判断所述Redis集群操作请求中是否包含有对应租户的唯一标识,若是,则执行步骤130:将该租户确定为当前存在Redis集群操作需求的目标租户;若否,则向所述租户发送唯一标识获取请求,并在接收到租户发送的唯一标识后,将该租户确定为当前存在Redis集群操作需求的目标租户。
在本申请的一个或多个实施例中,所述唯一标识为租户访问内存数据访问接口的唯一凭证,具体可以为租户名、租户编号和应用加密编码方式计算得到的租户加密编码中的任一项。例如:每个租户存入Redis的数据都会在开头附加租户名,并且接口模块会相应的识别租户名,从而达到对租户的数据使用总量做出限制,而无需进行任何的物理隔离,所有租户的数据仍然可以均匀的分布在整个Redis集群中。只要租户使用的资源未超出预定配额,租户仍可以自由的使用整个Redis集群节点,不会有任何Redis节点的限制。
步骤140:分别调取所述目标租户的唯一标识对应的资源配额和当前在所述Redis集群中的已使用资源量,其中,所述目标租户当前在所述Redis集群中的已使用资源量为主动自所述Redis集群获取的。
相对应的,所述步骤200中的对所述Redis集群进行的各个数据操作均标识有对应租户的所述唯一标识。
从上述描述可知,本申请实施例提供的Redis集群的访问数据处理装置,通过内存数据访问接口写入的数据,都会被附加上租户的唯一标识,以租户的唯一标识为依据,能够进一步有效提高调取当前在所述Redis集群中的已使用资源量的准确性。
为了有效提高针对租户的访问数据的处理准确性以提高整个资源分配过程的准确性,在本申请提供的Redis集群的访问数据处理装置的一个实施例中,参见图8,所述Redis集群的访问数据处理装置中还具体包含有如下内容:
flink流式计算模块4,该flink流式计算模块4用执行下述内容:
步骤010:应用预设的flink流式计算方式模拟所述Redis集群中各个主节点各自对应的模拟从节点。
可以理解的是,flink(Apache Flink)是一个分布式流数据流引擎,可以运行任意流处理程序。通过在flink引擎上部署java程序,可以运行一个flink流式计算任务,使其将自身模拟为一个Redis集群的节点,与Redis集群进行通讯。
步骤020:基于各个所述模拟从节点分别自Redis节点模块5主动获取各自对应的所述主节点的数据更新记录。
步骤030:根据各个所述租户各自对应的所述唯一标识对各份所述数据更新记录进行汇总,以形成各个所述租户当前分别在所述Redis集群中的已使用资源量。
资源使用状况存储模块3,用于存储各个所述租户的唯一标识和当前分别在所述Redis集群中的已使用资源量之间的对应关系数据。
从上述描述可知,本申请实施例提供的Redis集群的访问数据处理装置,通过应用flink流式计算方式实时且主动地获取各个所述租户当前分别在所述Redis集群中的已使用资源量,能够有效提高内存资源的更新及时性,进而能够有效提高针对租户的访问数据的处理准确性以提高整个资源分配过程的准确性;并且,由于不依赖于被动响应,也就不受限于发出响应的主体的响应效率及健康状态,因此还能够有效提高内存资源变化的获取可靠性及实时性。
为了进一步提高租户操作Redis集群请求的处理效率,在本申请提供的Redis集群的访问数据处理装置的一个实施例中,参见图9,所述Redis集群的访问数据处理装置中还具体包含有如下内容:
异步通讯模块2,用于以异步通讯的方式,将各个所述租户的唯一标识和当前分别在所述Redis集群中的已使用资源量之间的对应关系数据发送至所述内存数据访问接口的进行本地存储。
从上述描述可知,本申请实施例提供的Redis集群的访问数据处理装置,能够有效提高调取所述目标租户当前在所述Redis集群中的已使用资源量的效率,进而能够有效进一步提高租户操作Redis集群请求的处理效率。
为了进一步提高租户操作Redis集群请求的处理效率,在本申请提供的Redis集群的访问数据处理装置的一个实施例中,所述Redis集群的访问数据处理装置中的所述资源分配单元12还用于执行下述内容:
步骤300:若经判断获知所述目标租户的资源配额小于或等于该目标租户当前在所述Redis集群中的已使用资源量,则向所述目标租户发送请求拒绝消息。
相对应的,参见图10,所述Redis集群的访问数据处理装置还包括:
租户配额信息存储模块6,用于若接收到针对所述目标租户的资源配额调整指令,其中,该资源配额调整指令包括所述目标租户的唯一标识和对应的资源配额调整数据,则根据所述目标租户的唯一标识和对应的资源配额调整数据,在预存的各个所述租户的唯一标识与资源配额的对应关系数据中更新所述目标租户的资源配额;
其中,所述资源配额调整指令由Redis集群的管理员在接收到目标租户基于所述请求拒绝消息提出的资源配额调整请求并对该资源配额调整请求审核通过后发出。
从上述描述可知,本申请实施例提供的Redis集群的访问数据处理装置,通过向超额的目标租户发送请求拒绝消息,使得该目标租户请求管理员调整配额并通过后,更新目标用户的资源配额的手段,向租户提供了一种超额的救济手段,进而能够有效提高Redis集群的访问数据处理过程的灵活性,能够有效提高租户的用户体验。
为了进一步提高租户操作Redis集群请求的处理效率,在本申请提供的Redis集群的访问数据处理装置的一个实施例中,所述Redis集群的访问数据处理装置中的所述异步通讯模块2还用于以异步通讯的方式,将各个所述租户的唯一标识与资源配额的对应关系数据发送至所述内存数据访问接口的进行本地存储。
从上述描述可知,本申请实施例提供的Redis集群的访问数据处理装置,能够有效提高调取所述目标租户的资源配额的效率,进而能够有效进一步提高租户操作Redis集群请求的处理效率。
为了进一步说明本方案,本申请还提供一种应用Redis集群的访问数据处理装置实现的Redis集群的访问数据处理方法的具体应用实例,能够在同一Redis集群下实现租户的资源额度控制,保证共享池中其余租户的数据安全,提高了Redis资源利用率。
具体来说,通过开放给租户的内存数据访问接口,增加权限控制,租户在调用新增或修改的接口时,会定时通过异步的方式查看租户所申请资源与实际使用资源情况,若超出申请则直接拒绝该租户的修改需求,保证共享池中其余租户的数据安全。同时通过Flink流式计算任务,通过模拟Redis主备节点通讯接口,将Flink任务模拟为Redis实例的备节点,通过Redis的主备同步机制,实时接收Redis实例产生的数据更新记录,通过每10秒的定时窗口对租户的数据使用情况进行归总统计,更新租户的资源使用情况。从而达到资源的逻辑隔离,提高了资源利用率。
所述Redis集群的访问数据处理装置具体包含有:接口模块1、异步通讯模块2、资源使用状况存储模块3、flink流式计算模块4、Redis主节点模块5。其中,接口模块1开放给租户进行访问,并与异步通讯模块2相连;异步通讯模块2与资源使用状况存储模块3相连;资源使用状况存储模块3与flink流式计算模块4相连;flink流式计算模块4与Redis节点模块5相连,租户配额信息存储模块6与异步通讯模块2相连。参见图11,接口模块1:开放给租户使用的接口;异步通讯模块2:交互程序,负责查看资源使用状况;资源使用状况存储模块3:存储各个租户的资源使用状况;flink流式计算模块4:Flink作业,模拟Redis从节点;Redis节点模块5:正常的Redis节点(集群);租户配额信息存储模块6:存储各租户配额信息。
(1)接口模块1,是一个开放给所有租户共同使用的接口,开放给Redis租户访问使用,在租户初始化访问接口时,必须要输入租户名称,租户进行Redis数据操作时,Redis中实际存储的key是“租户名.key”,用于检查该租户的资源使用情况,与分配给该租户的资源配额进行比较。
(2)异步通讯模块2,负责定时的访问资源使用状况存储模块3,获取每一个租户的资源配额,并提供给接口模块1检查租户资源使用量使用。
(3)资源使用状况存储模块3,负责租户的资源使用情况的维护,与异步通讯模块2通讯,保持信息的定时更新,同时与flink流式计算模块进行通讯,不断地获取Redis中最新的资源使用情况。
(4)flink流式计算模块4,模拟了一个Redis集群主从节点通讯接口,将自身多个线程模拟为Redis集群每个主节点的从节点,利用Redis集群的主从同步机制,实时接收所有Redis实例产生的数据更新记录,并进行汇总,并通过10s的定时窗口,对租户的资源使用情况进行归总统计,将最终的资源使用情况存储到资源使用状况存储模块3中。
(5)Redis节点模块5,是Redis集群中实际运行的节点,Redis支持简单且易用的主从复制(master-slave replication)功能,该功能可以让从服务器(slave server)成为主服务器(master server)的精确复制品。因此,当flink流式计算模块4将自己模拟为Redis集群的从节点,向Redis节点模块5通讯时,Redis中的数据更新记录会全部同步到flink流式计算模块4中,且Redis支持一个主节点有多个从节点,因此Redis到flink的数据同步不会影响到Redis其他从节点。
(6)租户配额信息存储模块6,是存储于oracle的一张表格,可以分别配置每个租户名和预估配额信息,由Redis集群的管理人员进行维护。异步通讯模块2定时的访问租户配额信息存储模块6,将“租户名”与“预估配额”作为一对信息进行存储和动态更新,用于和该租户的实际资源使用量进行比较。
参见图12,处理租户操作Redis请求时的处理流程如下:
步骤S101:Redis租户可通过接口模块1进行Redis资源的查询、新增、修改等操作,通过接口模块1写入的数据,都会被附加上租户名信息;
步骤S102:在进行任何操作前,接口模块1都会检查数据中的租户名,并检查当前租户已使用资源量,如果已使用资源量不超过本地信息中该租户的资源配额,则可以继续处理租户请求,进入步骤S103,正常操作Redis;如果已使用资源量超过了资源配额,则拒绝进行操作,并返回报错信息告知租户。如租户在超出配额时需要提高资源额度,为了保证其他租户资源不受影响,租户无法自行调整额度,需要Redis管理人员进行资源配额的调整,异步通讯模块2可以实时的读取并更新配额信息。
步骤S103:按照租户的请求进行Redis数据更新。
步骤S104:flink流式计算任务与Redis节点通讯,获取到全部的Redis数据更新记录;
步骤S105:flink流式计算任务获取到数据更新记录后,进行归总,汇总出资源使用状况。
步骤S106:资源使用状况定时提供给接口模块,作为判断租户资源是否超出限制的依据。
由以上步骤可以看出,接口模块完成了租户的资源控制,在租户已使用资源超出配额时,拒绝租户的操作请求,从而达到限制每个租户的资源使用量的效果;每个租户存入Redis的数据都会在开头附加租户名,并且接口模块会相应的识别租户名,从而达到对租户的数据使用总量做出限制,而无需进行任何的物理隔离,所有租户的数据仍然可以均匀的分布在整个Redis集群中。只要租户使用的资源未超出预定配额,租户仍可以自由的使用整个Redis集群节点,不会有任何Redis节点的限制。同时其他模块通过模拟Redis从节点,获取Redis数据更新记录,汇总出租户的资源使用状态,定时向接口模块更新,从而达到Redis资源的逻辑隔离。
从硬件层面来说,为了解决现有的Redis集群的访问数据处理方式存在无法同时满足访问数据处理效率、共享资源的资源利用率和资源分配准确性的要求的问题,本申请提供一种用于实现所述Redis集群的访问数据处理方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
图13为本申请实施例的电子设备9600的系统构成的示意框图。如图13所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图13是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在一实施例中,Redis集群的访问数据处理功能可以被集成到中央处理器中。其中,中央处理器可以被配置为进行如下控制:
步骤100:基于一个向各个租户开放的内存数据访问接口,确定当前存在Redis集群操作需求的目标租户。
步骤200:判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在所述Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作。
从上述描述可知,本申请实施例提供的电子设备,通过一个向各个租户开放的内存数据访问接口的设置,能够有效提高租户操作Redis集群请求的处理效率及便捷性,进而能够有效提高租户访问响应效率;通过判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作,即通过为每一个租户预习配置对应的资源配额并进行存储,并应用资源配额进行操作权限判断,通过权限控制在只有租户满足操作要求时才允许租户对Redis集群进行操作,能够有效保证其他租户的数据安全,能够在逻辑层面上实现各个租户共享用一个Redis集群时的资源隔离,由于无需设置物理隔离,因此能够有效提高共享资源的资源利用率,以有效减少资源浪费的情形;通过主动获取目标租户当前在所述Redis集群中的已使用资源量,能够有效提高内存资源的更新及时性,进而能够有效提高针对租户的访问数据的处理准确性以提高整个资源分配过程的准确性;并且,由于不依赖于被动响应,也就不受限于发出响应的主体的响应效率及健康状态,因此还能够有效提高内存资源变化的获取可靠性及实时性。
在另一个实施方式中,Redis集群的访问数据处理装置可以与中央处理器9100分开配置,例如可以将Redis集群的访问数据处理装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现Redis集群的访问数据处理功能。
如图13所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图13中所示的所有部件;此外,电子设备9600还可以包括图13中没有示出的部件,可以参考现有技术。
如图13所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的Redis集群的访问数据处理方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的Redis集群的访问数据处理方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤100:基于一个向各个租户开放的内存数据访问接口,确定当前存在Redis集群操作需求的目标租户。
步骤200:判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在所述Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过一个向各个租户开放的内存数据访问接口的设置,能够有效提高租户操作Redis集群请求的处理效率及便捷性,进而能够有效提高租户访问响应效率;通过判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作,即通过为每一个租户预习配置对应的资源配额并进行存储,并应用资源配额进行操作权限判断,通过权限控制在只有租户满足操作要求时才允许租户对Redis集群进行操作,能够有效保证其他租户的数据安全,能够在逻辑层面上实现各个租户共享用一个Redis集群时的资源隔离,由于无需设置物理隔离,因此能够有效提高共享资源的资源利用率,以有效减少资源浪费的情形;通过主动获取目标租户当前在所述Redis集群中的已使用资源量,能够有效提高内存资源的更新及时性,进而能够有效提高针对租户的访问数据的处理准确性以提高整个资源分配过程的准确性;并且,由于不依赖于被动响应,也就不受限于发出响应的主体的响应效率及健康状态,因此还能够有效提高内存资源变化的获取可靠性及实时性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种Redis集群的访问数据处理方法,其特征在于,包括:
基于一个向各个租户开放的内存数据访问接口,确定当前存在Redis集群操作需求的目标租户;
判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在所述Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作。
2.根据权利要求1所述的Redis集群的访问数据处理方法,其特征在于,所述基于一个向各个租户开放的内存数据访问接口,确定当前存在Redis集群操作需求的目标租户,包括:
基于所述内存数据访问接口接收租户的Redis集群操作请求;
判断所述Redis集群操作请求中是否包含有对应租户的唯一标识,若是,则将该租户确定为当前存在Redis集群操作需求的目标租户;
分别调取所述目标租户的唯一标识对应的资源配额和当前在所述Redis集群中的已使用资源量,其中,所述目标租户当前在所述Redis集群中的已使用资源量为主动自所述Redis集群获取的;
相对应的,对所述Redis集群进行的各个数据操作均标识有对应租户的所述唯一标识。
3.根据权利要求2所述的Redis集群的访问数据处理方法,其特征在于,在所述判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在所述Redis集群中的已使用资源量之前,还包括:
应用预设的flink流式计算方式模拟所述Redis集群中各个主节点各自对应的模拟从节点;
基于各个所述模拟从节点分别主动获取各自对应的所述主节点的数据更新记录;
根据各个所述租户各自对应的所述唯一标识对各份所述数据更新记录进行汇总,以形成各个所述租户当前分别在所述Redis集群中的已使用资源量;
存储各个所述租户的唯一标识和当前分别在所述Redis集群中的已使用资源量之间的对应关系数据。
4.根据权利要求3所述的Redis集群的访问数据处理方法,其特征在于,在所述存储各个所述租户的唯一标识和当前分别在所述Redis集群中的已使用资源量之间的对应关系数据之后,还包括:
以异步通讯的方式,将各个所述租户的唯一标识和当前分别在所述Redis集群中的已使用资源量之间的对应关系数据发送至所述内存数据访问接口的进行本地存储。
5.根据权利要求2所述的Redis集群的访问数据处理方法,其特征在于,还包括:
若经判断获知所述目标租户的资源配额小于或等于该目标租户当前在所述Redis集群中的已使用资源量,则向所述目标租户发送请求拒绝消息;
相对应的,所述Redis集群的访问数据处理方法还包括:
若接收到针对所述目标租户的资源配额调整指令,其中,该资源配额调整指令包括所述目标租户的唯一标识和对应的资源配额调整数据,则根据所述目标租户的唯一标识和对应的资源配额调整数据,在预存的各个所述租户的唯一标识与资源配额的对应关系数据中更新所述目标租户的资源配额;
其中,所述资源配额调整指令由Redis集群的管理员在接收到目标租户基于所述请求拒绝消息提出的资源配额调整请求并对该资源配额调整请求审核通过后发出。
6.根据权利要求5所述的Redis集群的访问数据处理方法,其特征在于,在所述存储各个所述租户的唯一标识和当前分别在所述Redis集群中的已使用资源量之间的对应关系数据之后,还包括:
以异步通讯的方式,将各个所述租户的唯一标识与资源配额的对应关系数据发送至所述内存数据访问接口的进行本地存储。
7.一种Redis集群的访问数据处理装置,其特征在于,包括:接口模块,该接口模块包括:
租户访问单元,用于基于一个向各个租户开放的内存数据访问接口,确定当前存在Redis集群操作需求的目标租户;
资源分配单元,用于判断预存储的所述目标租户的资源配额是否大于主动获取的该目标租户当前在所述Redis集群中的已使用资源量,若是,则根据所述目标租户的Redis集群操作需求对所述Redis集群进行数据操作。
8.根据权利要求7所述的Redis集群的访问数据处理装置,其特征在于,所述租户访问单元具体用于执行下述内容:
基于所述内存数据访问接口接收租户的Redis集群操作请求;
判断所述Redis集群操作请求中是否包含有对应租户的唯一标识,若是,则将该租户确定为当前存在Redis集群操作需求的目标租户;
分别调取所述目标租户的唯一标识对应的资源配额和当前在所述Redis集群中的已使用资源量,其中,所述目标租户当前在所述Redis集群中的已使用资源量为主动自所述Redis集群获取的;
相对应的,对所述Redis集群进行的各个数据操作均标识有对应租户的所述唯一标识。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的Redis集群的访问数据处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述的Redis集群的访问数据处理方法。
CN202011155123.4A 2020-10-26 2020-10-26 Redis集群的访问数据处理方法及装置 Active CN112231106B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011155123.4A CN112231106B (zh) 2020-10-26 2020-10-26 Redis集群的访问数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011155123.4A CN112231106B (zh) 2020-10-26 2020-10-26 Redis集群的访问数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN112231106A true CN112231106A (zh) 2021-01-15
CN112231106B CN112231106B (zh) 2024-02-06

Family

ID=74109374

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011155123.4A Active CN112231106B (zh) 2020-10-26 2020-10-26 Redis集群的访问数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN112231106B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282395A (zh) * 2021-06-09 2021-08-20 中国农业银行股份有限公司 基于Redis的作业请求调度方法、装置、设备及介质
CN115269207A (zh) * 2022-09-29 2022-11-01 浙江省公众信息产业有限公司无线运营分公司 一种用于vCPE网元分配资源的方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190306266A1 (en) * 2018-04-03 2019-10-03 Citrix Systems, Inc. Data Caching For Cloud Services
CN110768912A (zh) * 2019-10-21 2020-02-07 中国民航信息网络股份有限公司 Api网关限流方法及装置
CN111371772A (zh) * 2020-02-28 2020-07-03 深圳壹账通智能科技有限公司 基于redis的智能网关限流方法、系统和计算机设备
US20200287915A1 (en) * 2019-03-04 2020-09-10 Microsoft Technology Licensing, Llc Automated generation and deployment of honey tokens in provisioned resources on a remote computer resource platform

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190306266A1 (en) * 2018-04-03 2019-10-03 Citrix Systems, Inc. Data Caching For Cloud Services
US20200287915A1 (en) * 2019-03-04 2020-09-10 Microsoft Technology Licensing, Llc Automated generation and deployment of honey tokens in provisioned resources on a remote computer resource platform
CN110768912A (zh) * 2019-10-21 2020-02-07 中国民航信息网络股份有限公司 Api网关限流方法及装置
CN111371772A (zh) * 2020-02-28 2020-07-03 深圳壹账通智能科技有限公司 基于redis的智能网关限流方法、系统和计算机设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282395A (zh) * 2021-06-09 2021-08-20 中国农业银行股份有限公司 基于Redis的作业请求调度方法、装置、设备及介质
CN115269207A (zh) * 2022-09-29 2022-11-01 浙江省公众信息产业有限公司无线运营分公司 一种用于vCPE网元分配资源的方法和系统

Also Published As

Publication number Publication date
CN112231106B (zh) 2024-02-06

Similar Documents

Publication Publication Date Title
US11146502B2 (en) Method and apparatus for allocating resource
US11385975B2 (en) Systems and methods for enabling a highly available managed failover service
CN109542611A (zh) 数据库即服务系统、数据库调度方法、设备及存储介质
CN112867988A (zh) 由移动设备实现合规设置以遵循配置场景
CN112231106B (zh) Redis集群的访问数据处理方法及装置
US20210157693A1 (en) Systems and methods for enabling a highly available managed failover service
CN110781149A (zh) 管理直播间信息的方法、装置、设备及存储介质
CN111182019A (zh) 跨平台通信方法及装置、电子设备
CN112689012A (zh) 跨网络的代理通讯方法及装置
CN114257532B (zh) 服务端状态探测方法及装置
CN105592134A (zh) 一种负载分担的方法和装置
CN111523670A (zh) 一种提高深度学习推理设备利用率的批量推理方法、装置和介质
CN105279034A (zh) 一致性缓存控制系统和方法
CN111930624B (zh) 测试链路报文数据处理方法及装置
CN116800616B (zh) 虚拟化网络设备的管理方法及相关装置
CN111767558B (zh) 数据访问监控方法、装置及系统
CN111090818B (zh) 资源管理方法、资源管理系统、服务器及计算机存储介质
CN111796938A (zh) 集群动态并发控制方法及装置
CN115102999B (zh) DevOps系统、服务提供方法、存储介质和电子装置
CN115914375A (zh) 分布式消息平台容灾处理方法及装置
CN108717375A (zh) 分辨率同步方法及装置
CN114945026A (zh) 数据处理方法、装置和系统
CN110290215B (zh) 一种信号传输方法及装置
US9479579B2 (en) Grouping processing method and system
CN113553152A (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