CN111831453B - 信息处理方法、装置、电子设备和介质 - Google Patents

信息处理方法、装置、电子设备和介质 Download PDF

Info

Publication number
CN111831453B
CN111831453B CN202010727414.XA CN202010727414A CN111831453B CN 111831453 B CN111831453 B CN 111831453B CN 202010727414 A CN202010727414 A CN 202010727414A CN 111831453 B CN111831453 B CN 111831453B
Authority
CN
China
Prior art keywords
access
application
resource value
distributed database
determining
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
Application number
CN202010727414.XA
Other languages
English (en)
Other versions
CN111831453A (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 CN202010727414.XA priority Critical patent/CN111831453B/zh
Publication of CN111831453A publication Critical patent/CN111831453A/zh
Application granted granted Critical
Publication of CN111831453B publication Critical patent/CN111831453B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/602Providing cryptographic facilities or services
    • 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
    • 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
    • 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/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供了一种应用于分布式数据库系统的信息处理方法,包括:获取来自访问应用的访问请求,其中,所述访问请求包括所述访问应用的应用标识信息;基于所述应用标识信息,从所述分布式数据库系统的配置文件中确定所述访问应用的系统使用资源值;获取所述分布式数据库系统的当前可用系统资源值;以及基于所述当前可用系统资源值和所述系统使用资源值,处理所述访问请求。本公开还提供了一种应用于分布式数据库系统的信息处理装置、电子设备和介质。

Description

信息处理方法、装置、电子设备和介质
技术领域
本公开涉及电子技术领域,更具体地,涉及一种信息处理方法、装置、电子设备和介质。
背景技术
随着分布式数据库的发展,为提高资源利用率,一套数据库系统可以供多个租户同时使用。在分布式数据库中,当多个租户使用同一套系统时,多租户架构技术难点在于如何去实现不同租户的使用同一套数据库系统带来的访问权限控制、数据隔离以及资源竞争问题。
发明内容
有鉴于此,本公开提供了一种信息处理方法、装置、电子设备和介质。
本公开的一个方面提供了一种应用于分布式数据库系统的信息处理方法,包括:获取来自访问应用的访问请求,其中,所述访问请求包括所述访问应用的应用标识信息;基于所述应用标识信息,从所述分布式数据库系统的配置文件中确定所述访问应用的系统使用资源值;获取所述分布式数据库系统的当前可用系统资源值;以及基于所述当前可用系统资源值和所述系统使用资源值,处理所述访问请求。
根据本公开的实施例,所述基于所述当前可用系统资源值和所述系统使用资源值,处理所述访问请求包括在所述当前可用系统资源值大于等于所述系统使用资源值的情况下,根据所述访问请求生成响应结果,或者以及在所述当前可用系统资源值小于所述系统使用资源值的情况下,将所述访问请求加入请求队列,以等待所述分布式数据系统处理所述访问请求。
根据本公开的实施例,访问请求包括指示了请求访问的目标数据库,所述方法还包括:基于所述应用标识信息,确定所述访问应用是否具有访问所述目标数据库的第一权限;所述基于所述应用标识信息,从所述分布式数据库系统的配置文件中确定所述访问应用的系统使用资源值包括:在确定所述访问应用具有访问所述目标数据库的第一权限的情况下,基于所述应用确定所述系统使用资源值。
根据本公开的实施例,该方法还包括:在所述分布式数据库系统同时接收到来自多个访问应用各自的访问请求的情况下,确定所述多个访问应用中每个访问应用的优先级;根据所述优先级,确定多个所述访问请求的处理顺序,并且按照所述处理顺序将所述多个访问请求加入到请求队列中,其中,所述获取来自访问应用的访问请求包括:从所述请求队列中依次获取所述访问请求。
根据本公开的实施例,分布式数据库包括计算节点和存储节点,所述根据所述访问请求生成响应结果包括:经由所述分布式数据库系统中的计算节点,根据所述访问请求生成访问任务,其中,所述防问任务包括目标数据;根据所述应用标识信息,确定所述应用是否具有访问所述目标数据的第二权限;以及在所述应用具有所述第二权限的情况下,由所述分布式数据库系统的存储节点执行所述访问任务,以生成响应结果。
根据本公开的实施例,根据所述应用标识信息,确定所述应用是否具有访问所述目标数据的第二权限包括:根据所述应用标识信息,确定应用数据标识;确定所述目标数据的预定标识;以及在所述应用数据标识和所述预定标识相匹配的情况下,确定所述应用具有所述第二权限。
根据本公开的实施例,根据所述应用标识信息,确定所述应用是否具有访问所述目标数据的第二权限包括:根据所述应用标识信息,确定应用数据标识;确定所述目标数据的预定标识;以及在所述应用数据标识和所述预定标识相匹配的情况下,获取用于对所述目标数据进行解密的密钥;以及在确定所述密钥解密所述目标数据成功的情况下,确定所述应用具有所述第二权限。
本公开的另一方面提供了一种应用于分布式数据库系统的信息处理装置,包括:第一获取模块,用于获取来自访问应用的访问请求,其中,所述访问请求包括所述访问应用的应用标识信息;第一确定模块,用于基于所述应用标识信息应用标识信息,从所述分布式数据库系统的配置文件中确定所述访问应用的系统使用资源值;第二获取模块,用于获取所述分布式数据库系统的当前可用系统资源值;以及处理模块,用于基于所述当前可用系统资源值和所述系统使用资源值,处理所述访问请求。
根据本公开的实施例,该装置还包括:第二确定模块,用于在所述分布式数据库系统同时接收到来自多个访问应用各自的访问请求的情况下,确定所述多个访问应用中每个访问应用的优先级;第三确定模块,用于根据所述优先级,确定多个所述访问请求的处理顺序,并且按照所述处理顺序将所述多个访问请求加入到所述请求队列中,其中,高优先级访问应用的访问请求位于低优先级访问应用的访问请求的前面。所述获取来自访问应用的访问请求包括:从所述请求队列中依次获取所述访问请求。
本公开的另一个方面提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行上述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的分布式数据库的信息处理方法的系统架构;
图2示意性示出了根据本公开实施例的信息处理方法的流程图;
图3示意性示出了根据本公开实施例的确定访问应用是否具有访问目标数据的第二权限的方法流程图;
图4示意性示出了根据本公开实施例的多应用程序的数据存储隔离的示意图;
图5示意性示出了根据本公开另一实施例的应用于分布式数据库系统的信息处理方法的系统架构;
图6示意性示出了根据本公开实施例的应用于分布式数据库系统的信息处理装置的方框图;以及
图7示意性示出了根据本公开实施例的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相匹配的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种应用于分布式数据库系统的信息处理方法,包括:获取来自访问应用的访问请求,其中,所述访问请求包括所述访问应用的应用标识信息;基于所述应用标识信息,从所述分布式数据库系统的配置文件中确定所述访问应用的系统使用资源值;获取所述分布式数据库系统的当前可用系统资源值;以及在所述当前可用系统资源值大于等于所述系统使用资源值的情况下,根据所述访问请求生成响应结果,或者以及在所述当前可用系统资源值小于所述系统使用资源值的情况下,将所述访问请求加入请求队列,以等待所述分布式数据系统释放系统资源以处理所述访问请求。
图1示意性示出了根据本公开实施例的分布式数据库的信息处理方法的系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该系统架构中例如可以包括应用程序110、分布式数据库120。其中,分布式数据库120至少可以包括配额管理层121、计算层122和存储层123。
根据本公开的实施例,当由应用程序110访问该分布式数据库120的情况下,配额管理层121可以根据来自应用程序的访问请求来确定分布式数据库120的当前可用系统资源值是否大于等于应用程序110的系统使用资源值。在确定当前可用系统资源值小于系统使用资源值的情况下,将该访问请求加入请求队列。
下面结合图2说明根据本公开实施例的应用于分布式数据库系统的信息处理方法。
图2示意性示出了根据本公开实施例的信息处理方法的流程图。
如图2所示,该信息处理方法可以包括操作S201~S204。
在操作S201,获取来自访问应用的访问请求,其中,所述访问请求包括所述访问应用的应用标识信息。
根据本公开的实施例,应用标识信息例如可以是用户名、密码等。
在操作S202,基于所述应用标识信息,从所述分布式数据库系统的配置文件中确定所述访问应用的系统使用资源值。
根据本公开的实施例,配置文件中例如可以包括为不同的应用程序预先分配的软硬件资源。例如可以包括但不限于应用程序访问数据库时所需的最小CPU、内存、存储、网络等资源。
例如可以根据应用程序的用户名来从配置文件中确定该应用程序的系统使用资源值。
在操作S203,获取所述分布式数据库系统的当前可用系统资源值。
根据本公开的实施例,例如分布式数据库可以实时监控自身资源使用情况。
在操作S204,基于所述当前可用系统资源值和所述系统使用资源值,处理所述访问请求。
根据本公开的实施例,基于所述当前可用系统资源值和所述系统使用资源值,处理所述访问请求包括:在所述当前可用系统资源值大于等于所述系统使用资源值的情况下,根据所述访问请求生成响应结果,以及在所述当前可用系统资源值小于所述系统使用资源值的情况下,将所述访问请求加入请求队列,以等待所述分布式数据系统处理所述访问请求。
根据本公开的实施例,该信息处理方法可以当发现分布式数据库的系统资源不足时,则拒绝该访问程序的访问请求或让其在请求队列中排队等待以避免系统有限资源被争抢,从而可以使分布式数据库系统合理地为访问请求分配系统资源。
根据本公开的实施例,访问请求可以指示请求访问的目标数据库,该方法还可以包括基于应用标识信息,确定访问应用是否具有访问目标数据库的第一权限,以及在确定访问应用具有访问目标数据库的第一权限的情况下,基于应用确定系统使用资源值。
根据本公开的实施例,例如可以在分布式数据库系统中设置权限管理模块,用于对不同应用程序进行授权并进行权限隔离,不同的应用程序独享自己的用户名、密码、以及所需目标数据库的执行权限。当有新的应用程序使用该分布式数据库时,权限管理模块会根据应用程序的请求对其授予所需目标数据库的访问权限。该访问权限包括:对数据库的增、删、改、查。
根据本公开的实施例,该信息处理方法还可以包括:在所述分布式数据库系统同时接收到来自多个访问应用各自的访问请求的情况下,确定所述多个访问应用中每个访问应用的优先级;根据所述优先级,确定多个所述防问请求的处理顺序,并且按照所述处理顺序将所述多个访问请求加入到所述请求队列中,其中,所述获取来自访问应用的访问请求包括:从所述请求队列中依次获取所述访问请求。
根据本公开的实施例,分布式数据库包括计算节点和存储节点,所述根据所述访问请求生成响应结果包括:经由所述分布式数据库系统中的计算节点,根据所述访问请求生成访问任务,其中,所述访问任务包括目标数据;根据所述应用标识信息,确定所述应用是否具有访问所述目标数据的第二权限;以及在所述应用具有所述第二权限的情况下,由所述分布式数据库系统的存储节点执行所述访问任务,以生成响应结果。
根据本公开的实施例,例如可由计算层根据访问请求,生成访问任务,该访问任务包括访问程序需要访问的目标数据和目标数据的存放位置。当访问程序需要访问某一个位置上的数据时,首先根据访问请求上的访问程序的应用标识信息判断该访问应用是否有访问该位置数据的权限。如果确定具有访问该位置数据的权限,则该访问应用可以访问该位置的数据,如果确定不具有访问该位置数据的权限,则该访问应用不可以访问该位置的数据。
图3示意性示出了根据本公开实施例的确定访问应用是否具有访问目标数据的第二权限的方法流程图。
如图3所示,该方法可以包括操作S301~S303。
在操作S301,根据应用标识信息,确定应用数据标识。
根据本公开的实施例,应用标识信息中例如可以包括应用数据标识。应用数据标识,例如可以是数据标签。每个应用程序与各自的数据标签一一对应,并且预先定义好应用程序和数据标签之间的对应关系。例如可以预先设定应用程序1的数据标签为user_id_1,应用程序2的数据标签为user_id_2。
在操作S302,确定所述目标数据的预定标识。
根据本公开的实施例,目标数据的预定标识可以是该目标数据存储位置的标识。例如分布式数据库的存储层部署了2个存储实例,分别为S_1、S_2。
在操作S303,在所述应用数据标识和所述预定标识一致相匹配的情况下,确定所述应用具有所述第二权限。
例如当前确定数据标签与预定标识相匹配的情况下,确定所述应用具有访问该位置的目标数据的第二权限。例如访问请求中的数据标识为user_id_1,其请求访问的数据的存储位置的预定标识为S_1,根据预先设定的匹配规则可知user_id_1和S_1相匹配,那么该访问请求具有访问权限。又例如,访问请求中的数据标识为user_id_1,其请求访问的数据的存储位置的预定标识为S_2,根据预先设定的匹配规则可知user_id_1和S_2不相匹配,那么该访问请求不具有访问权限。
图4示意性示出了根据本公开实施例的多应用程序的数据存储隔离的示意图。
如图4所示,分布式数据库的存储节点上部署了2个存储实例,分别为S_1、S_2,并存储了应用程序1和应用程序2的数据,应用程序1的数据标签user_id_1,应用程序2的数据标签user_id_2。根据调度算法,数据标签为user_id_1的数据被存储在S_1-1和S_2-1这两个Region上,标签为user_id_2的数据被存储在S_1-2和S_2-2这两个Region上。这样通过不同的数据标签将应用程序1和应用程序2的数据存储在不同的Region上。
根据本公开的实施例,限定不同应用程序的数据只能分布到为其所分配的Region中,不同应用程序间的数据相互隔离。例如可以预先为同一个应用程序的数据前面打上数据标签,即user_id,该数据标签用以唯一标识不同租户的数据信息。相同数据标签的数据组成一个group,然后不同的应用进入不同的group来实现不同应用租户数据的存储隔离,即不同租户的数据通过数据标签来区分。
根据本公开的实施例,确定访问应用是否具有访问目标数据的第二权限可以包括:根据所述应用标识信息,确定应用数据标识;确定所述目标数据的预定标识;以及在所述应用数据标识和所述预定标识相匹配的情况下,获取用于对所述目标数据进行解密的密钥;以及在确定所述密钥解密所述目标数据成功的情况下,确定所述应用具有所述第二权限。
根据本公开的实施例,在应用数据标识和所述预定标识相匹配的情况下进一步判断密钥是否可以对目标数据进行解密,在可以解密情况下确定具有第二权限,进一步提高了数据的安全性。例如可以是在应用数据标识和所述预定标识相匹配的情况下,向应用程序发送获取密钥的访问请求,以及接收来自应用程序的响应,从该响应中获取密钥。
根据本公开的实施例,例如可以根据加密算法对应用程序的数据进行加密,密钥由应用程序独享,应用程序凭借密钥且能唯一访问该应用程序的数据。该方法针对不同应用程序的数据通过数据标签以及加密算法进行隔离,从而不影响到其它应用程序的数据。当应用程序需要访问某一个存储实例上的数据时,首先根据应用程序信息判断该应用程序是否有访问该存储实例数据的权限,如果应用程序信息与数据标签不匹配,则该应用程序无法访问该存储实例上的数据。权限通过以后,应用程序凭借密钥解析自己所需的数据。
图5示意性示出了根据本公开另一实施例的应用于分布式数据库系统的信息处理方法的系统架构。
如图5所示,该系统架构包括应用程序集群510和分布式数据库520。
分布式数据库520可以包括资源管理层、计算层、存储层和事务层。
应用程序集群510中的任意一个应用程序可以向分布式数据库520发送访问请求。
分布式数据库520中的接口先将访问请求发送到资源管理层,由资源管理层中的权限管理模块根据访问请求中的应用程序标识信息和目标数据库来确定该应用程序是否具有访问目标数据库的权限。
在权限管理模块确定具有访问目标数据库的权限之后,由资源管理层中的配额管理模块根据当前可用资源值去判断是否有足够的资源去执行访问请求。
在确定有足够的资源去执行访问请求的情况下,计算层根据访问请求,通过SQL优化器计算,将其转化为访问任务。从访问任务中解析出所需的应用程序数据,通过事务层找出数据的元信息,确定应用程序数据的存放位置。当应用程序需要访问存储层中某一个Region上的数据时,首先根据访问请求上的应用程序的数据标签判断该应用程序是否有访问该Region数据的权限:如果数据标签与预定标识不匹配,则该应用程序无法访问该Region上的数据,如果数据标签匹配,则可进入存储层访问目标数据。权限通过以后,接着应用程序通过各自的密钥去解析出每个应用程序所需的数据。
接下来,例如可以将SQL语句下放到对应Region上并行计算,根据访问任务对数据进行读取、修改、存储、快照、遍历查询数据等请求。在这过程中,不同的应用租户只需要在各自的数据分布位置执行待处理请求。
接下来,向应用程序返回处理结果。
根据本公开的实施例,该信息处理方法可以从资源管理层、存储层等多种维度实现了不同应用程序在权限、数据以及资源上的隔离。通过资源管理层实现多应用程序下的权限和资源管理,通过多应用程序数据存储隔离方法限定不同应用程序的数据分布策略。该方法无需为每个应用程序单独搭建数据库集群,这极大的降低了运维管理成本,使得一套分布式数据库能够同时给多个应用程序提供服务,因此该发明可以解决分布式数据库多应用程序隔离的问题。
图6示意性示出了根据本公开实施例的应用于分布式数据库系统的信息处理装置600的方框图。
如图6所示,信息处理装置600可以包括第一获取模块610、第一确定模块620、第二获取模块630和处理模块640。
第一获取模块610,例如可以执行上文参考图2描述的操作S201,用于获取来自访问应用的访问请求,其中,所述访问请求包括所述访问应用的应用标识信息。
第一确定模块620,例如可以执行上文参考图2描述的操作S202,基于所述应用标识信息,从所述分布式数据库系统的配置文件中确定所述访问应用的系统使用资源值。
第二获取模块630,例如可以执行上文参考图2描述的操作S203,用于获取所述分布式数据库系统的当前可用系统资源值。
处理模块640,例如可以执行上文参考图2描述的操作S204,用于基于所述当前可用系统资源值和所述系统使用资源值,处理所述访问请求。
根据本公开的实施例,处理模块640可以在所述当前可用系统资源值大于等于所述系统使用资源值的情况下,根据所述访问请求生成响应结果,或者在所述当前可以系统资源值小于所述系统使用资源值的情况下,将所述访问请求加入请求队列,以等待所述分布式数据系统处理所述访问请求。
根据本公开的实施例,该信息处理装置600还可以包括第二确定模块,用于在所述分布式数据库系统同时接收到来自多个访问应用各自的访问请求的情况下,确定所述多个访问应用中每个访问应用的优先级;第三确定模块,用于根据所述优先级,确定多个所述访问请求的处理顺序,并且按照所述处理顺序将所述多个访问请求加入到所述请求队列中,其中,高优先级访问应用的访问请求位于低优先级访问应用的访问请求的前面,其中,所述获取来自访问应用的访问请求包括:从所述请求队列中依次获取所述访问请求。
根据本公开的实施例,该信息处理装置600还可以执行基于所述应用标识信息,确定所述访问应用是否具有访问所述目标数据库的第一权限;所述基于所述应用标识信息,从所述分布式数据库系统的配置文件中确定所述访问应用的系统使用资源值包括:在确定所述访问应用具有访问所述目标数据库的第一权限的情况下,基于所述应用确定所述系统使用资源值。
根据本公开的实施例,该信息处理装置600还可以根据所述访问请求生成响应结果包括:经由所述分布式数据库系统中的计算节点,根据所述访问请求生成访问任务,其中,所述访问任务包括目标数据;根据所述应用标识信息,确定所述应用是否具有访问所述目标数据的第二权限;以及在所述应用具有所述第二权限的情况下,由所述分布式数据库系统的存储节点执行所述访问任务,以生成响应结果。
根据本公开的实施例,所述根据所述应用标识信息,确定所述应用是否具有访问所述目标数据的第二权限包括:根据所述应用标识信息,确定应用数据标识;确定所述目标数据的预定标识;以及在所述应用数据标识和所述预定标识相匹配的情况下,确定所述应用具有所述第二权限。
根据本公开的实施例,所述根据所述应用标识信息,确定所述应用是否具有访问所述目标数据的第二权限包括:根据所述应用标识信息,确定应用数据标识;确定所述目标数据的预定标识;以及在所述应用数据标识和所述预定标识相匹配的情况下,获取用于对所述目标数据进行解密的密钥;以及在确定所述密钥解密所述目标数据成功的情况下,确定所述应用具有所述第二权限。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块610、第一确定模块620、第二获取模块630和处理模块640中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获取模块610、第一确定模块620、第二获取模块630和处理模块640中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块610、第一确定模块620、第二获取模块630和处理模块640中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图7示意性示出了根据本公开实施例的电子设备的方框图。图7示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,根据本公开实施例的电子设备700包括处理器701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。处理器701例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器701还可以包括用于缓存用途的板载存储器。处理器701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 703中,存储有电子设备700操作所需的各种程序和数据。处理器701、ROM702以及RAM 703通过总线704彼此相连。处理器701通过执行ROM 702和/或RAM 703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 702和RAM 703以外的一个或多个存储器中。处理器701也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备700还可以包括输入/输出(I/O)接口705,输入/输出(I/O)接口705也连接至总线704。电子设备700还可以包括连接至I/O接口705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被处理器701执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 702和/或RAM 703和/或ROM 702和RAM 703以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (11)

1.一种应用于分布式数据库系统的信息处理方法,包括:
获取来自访问应用的访问请求,其中,所述访问请求包括所述访问应用的应用标识信息;
基于所述应用标识信息,从所述分布式数据库系统的配置文件中确定所述访问应用的系统使用资源值;
对不同的所述访问应用授权并进行权限隔离,不同的所述访问应用独享所需分布式数据库系统的执行权限;
获取所述分布式数据库系统的当前可用系统资源值;以及
基于所述当前可用系统资源值和所述系统使用资源值,处理所述访问请求。
2.根据权利要求1所述的方法,其中,所述基于所述当前可用系统资源值和所述系统使用资源值,处理所述访问请求包括:
在所述当前可用系统资源值大于等于所述系统使用资源值的情况下,根据所述访问请求生成响应结果;或者
在所述当前可用系统资源值小于所述系统使用资源值的情况下,将所述访问请求加入请求队列,以等待所述分布式数据库系统处理所述访问请求。
3.根据权利要求1所述的方法,其中,所述访问请求包括指示了请求访问的目标数据库,所述方法还包括:
基于所述应用标识信息,确定所述访问应用是否具有访问所述目标数据库的第一权限;
所述基于所述应用标识信息,从所述分布式数据库系统的配置文件中确定所述访问应用的系统使用资源值包括:
在确定所述访问应用具有访问所述目标数据库的第一权限的情况下,基于所述应用确定所述系统使用资源值。
4.根据权利要求1所述的方法,还包括:
在所述分布式数据库系统同时接收到来自多个访问应用请求的情况下,确定所述多个访问应用中每个访问应用的优先级;
根据所述优先级,确定多个所述访问请求的处理顺序,并且按照所述处理顺序将所述多个访问请求加入到请求队列中,
其中,所述获取来自访问应用的访问请求包括:从所述请求队列中依次获取所述访问请求。
5.根据权利要求2所述的方法,其中,所述分布式数据库包括计算节点和存储节点,所述根据所述访问请求生成响应结果包括:
经由所述分布式数据库系统中的计算节点,根据所述访问请求生成访问任务,其中,所述访问任务包括目标数据;
根据所述应用标识信息,确定所述应用是否具有访问所述目标数据的第二权限;以及
在所述应用具有所述第二权限的情况下,由所述分布式数据库系统的存储节点执行所述访问任务,以生成响应结果。
6.根据权利要求5所述的方法,其中,所述根据所述应用标识信息,确定所述应用是否具有访问所述目标数据的第二权限包括:
根据所述应用标识信息,确定应用数据标识;
确定所述目标数据的预定标识;以及
在所述应用数据标识和所述预定标识相匹配的情况下,确定所述应用具有所述第二权限。
7.根据权利要求5所述的方法,其中,所述根据所述应用标识信息,确定所述应用是否具有访问所述目标数据的第二权限包括:
根据所述应用标识信息,确定应用数据标识;
确定所述目标数据的预定标识;以及
在所述应用数据标识和所述预定标识相匹配的情况下,获取用于对所述目标数据进行解密的密钥;以及
在确定所述密钥解密所述目标数据成功的情况下,确定所述应用具有所述第二权限。
8.一种应用于分布式数据库系统的信息处理装置,包括:
第一获取模块,用于获取来自访问应用的访问请求,其中,所述访问请求包括所述访问应用的应用标识信息;
第一确定模块,用于基于所述应用标识信息,从所述分布式数据库系统的配置文件中确定所述访问应用的系统使用资源值;
权限管理模块,用于对不同的所述访问应用授权并进行权限隔离,不同的所述访问应用独享所需分布式数据库系统的执行权限;
第二获取模块,用于获取所述分布式数据库系统的当前可用系统资源值;以及
处理模块,用于基于所述当前可用系统资源值和所述系统使用资源值,处理所述访问请求。
9.根据权利要求8所述的装置,还包括:
第二确定模块,用于在所述分布式数据库系统同时接收到来自多个访问应用各自的访问请求的情况下,确定所述多个访问应用中每个访问应用的优先级;
第三确定模块,用于根据所述优先级,确定多个所述访问请求的处理顺序,并且按照所述处理顺序将所述多个访问请求加入到请求队列中,其中,高优先级访问请求位于低优先级访问请求的前面,
其中,所述获取来自访问应用的访问请求包括:从所述请求队列中依次获取所述访问请求。
10.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1~7任意一项所述的方法。
11.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行如权利要求1~7任意一项所述的方法。
CN202010727414.XA 2020-07-24 2020-07-24 信息处理方法、装置、电子设备和介质 Active CN111831453B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010727414.XA CN111831453B (zh) 2020-07-24 2020-07-24 信息处理方法、装置、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010727414.XA CN111831453B (zh) 2020-07-24 2020-07-24 信息处理方法、装置、电子设备和介质

Publications (2)

Publication Number Publication Date
CN111831453A CN111831453A (zh) 2020-10-27
CN111831453B true CN111831453B (zh) 2024-02-06

Family

ID=72926259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010727414.XA Active CN111831453B (zh) 2020-07-24 2020-07-24 信息处理方法、装置、电子设备和介质

Country Status (1)

Country Link
CN (1) CN111831453B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559558B (zh) * 2020-12-07 2024-04-09 北京理房通支付科技有限公司 一种流水号生成方法和装置、计算设备和存储介质
CN113469661A (zh) * 2021-07-21 2021-10-01 上海浦东发展银行股份有限公司 一种业务限流方法、装置、计算机设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440172A (zh) * 2013-08-19 2013-12-11 深圳创维数字技术股份有限公司 一种资源管理方法及终端设备
CN109766708A (zh) * 2017-11-09 2019-05-17 北京京东尚科信息技术有限公司 数据资源的访问方法、系统、计算机系统及存储介质
CN109976914A (zh) * 2019-04-01 2019-07-05 北京百度网讯科技有限公司 用于控制资源访问的方法和装置
CN110401720A (zh) * 2019-07-31 2019-11-01 中国工商银行股份有限公司 信息处理方法、装置、系统、应用服务器和介质
CN111079104A (zh) * 2019-11-21 2020-04-28 腾讯科技(深圳)有限公司 一种权限控制方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103440172A (zh) * 2013-08-19 2013-12-11 深圳创维数字技术股份有限公司 一种资源管理方法及终端设备
CN109766708A (zh) * 2017-11-09 2019-05-17 北京京东尚科信息技术有限公司 数据资源的访问方法、系统、计算机系统及存储介质
CN109976914A (zh) * 2019-04-01 2019-07-05 北京百度网讯科技有限公司 用于控制资源访问的方法和装置
CN110401720A (zh) * 2019-07-31 2019-11-01 中国工商银行股份有限公司 信息处理方法、装置、系统、应用服务器和介质
CN111079104A (zh) * 2019-11-21 2020-04-28 腾讯科技(深圳)有限公司 一种权限控制方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111831453A (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
US11106812B2 (en) Controlling access to datasets described in a cryptographically signed record
CN110414268B (zh) 访问控制方法、装置、设备及存储介质
WO2020124317A1 (en) Multi-access edge computing node with distributed ledger
US8745724B2 (en) Methods of on-chip memory partitioning and secure access violation checking in a system-on-chip
CN110401720B (zh) 信息处理方法、装置、系统、应用服务器和介质
CN111831453B (zh) 信息处理方法、装置、电子设备和介质
US11082219B2 (en) Detection and protection of data in API calls
US10528758B2 (en) Genomic informatics service
US9536075B2 (en) Dynamic resource sharing
CN114666159B (zh) 一种云服务系统、方法、装置、设备和介质
US20130074189A1 (en) Software license reconciliation within a cloud computing infrastructure
US8560782B2 (en) Method and apparatus for determining access permissions in a partitioned data processing system
CN111641678A (zh) 任务调度方法、装置、电子设备及介质
US10528708B2 (en) Prevention of unauthorized resource updates
US9838430B1 (en) Temporarily providing a software product access to a resource
US9836711B2 (en) Job execution system, job execution program, and job execution method
EP3646216B1 (en) Methods and devices for executing trusted applications on processor with support for protected execution environments
US10656855B2 (en) Memory management in a programmable device
CN113761503B (zh) 接口调用的处理方法及装置
CN112825095A (zh) 用于保护应用中敏感信息的方法、装置、电子设备和介质
CN112988888B (zh) 密钥管理方法、装置、电子设备及存储介质
US11709750B2 (en) Dynamically mapping software infrastructure utilization
JP2002318700A (ja) 仮想計算機システムの運用管理情報提供制御方法および仮想計算機システム
US10320790B1 (en) Temporarily providing a software product access to a resource
CN113609531A (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