CN111399999B - 计算机资源处理方法、装置、可读存储介质和计算机设备 - Google Patents
计算机资源处理方法、装置、可读存储介质和计算机设备 Download PDFInfo
- Publication number
- CN111399999B CN111399999B CN202010147200.5A CN202010147200A CN111399999B CN 111399999 B CN111399999 B CN 111399999B CN 202010147200 A CN202010147200 A CN 202010147200A CN 111399999 B CN111399999 B CN 111399999B
- Authority
- CN
- China
- Prior art keywords
- control group
- access request
- thread
- computer
- management
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种计算机资源处理方法、装置、可读存储介质和计算机设备,所述方法包括:获取访问请求,所述访问请求为用户访问请求或管理访问请求;确定所述访问请求对应的控制群组,其中,所述控制群组包括用户控制群组和管理控制群组;通过所述控制群组对应的线程,调用所述控制群组对应的计算机资源。采用本申请的方法能够将用户服务与管理服务区分,并分别进行事务处理,保证用户的计算机资源使用。
Description
技术领域
本申请涉及数据库技术领域,特别是涉及一种计算机资源处理方法、装置、计算机可读存储介质和计算机设备。
背景技术
云厂商的资源隔离方式,通常是基于硬件特性,即对服务器的计算、内存、存储资源进行虚拟,也就是虚拟机。基于虚拟机的资源隔离方式,可使用的计算机资源即为虚拟机提供的计算机资源。然而,目前的计算机资源处理方法,仍存在无法保证用户的计算机资源使用的问题。
发明内容
基于此,有必要针对无法保证用户的计算机资源使用的技术问题,提供一种计算机资源处理方法、装置、计算机可读存储介质和计算机设备。
一种计算机资源处理方法,包括:
获取访问请求,所述访问请求为用户访问请求或管理访问请求;
确定所述访问请求对应的控制群组,其中,所述控制群组包括用户控制群组和管理控制群组;
通过所述控制群组对应的线程,调用所述控制群组对应的计算机资源。
一种计算机资源处理装置,所述装置包括:
获取模块,用于获取访问请求,所述访问请求为用户访问请求或管理访问请求;
确定模块,用于确定所述访问请求对应的控制群组,其中,所述控制群组包括用户控制群组和管理控制群组;
调用模块,用于通过所述控制群组对应的线程,调用所述控制群组对应的计算机资源。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
获取访问请求,所述访问请求为用户访问请求或管理访问请求;
确定所述访问请求对应的控制群组,其中,所述控制群组包括用户控制群组和管理控制群组;
通过所述控制群组对应的线程,调用所述控制群组对应的计算机资源。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
获取访问请求,所述访问请求为用户访问请求或管理访问请求;
确定所述访问请求对应的控制群组,其中,所述控制群组包括用户控制群组和管理控制群组;
通过所述控制群组对应的线程,调用所述控制群组对应的计算机资源。
上述计算机资源处理方法、装置、计算机可读存储介质和计算机设备,获取访问请求,确定访问请求对应的控制群组,其中,控制群组包括用户控制群组和管理控制群组,可区分访问请求,则能够将用户访问请求和管理员访问请求区分,通过控制群组对应的线程,调用控制群组对应的计算机资源,能够将用户请求对应的计算机资源和管理访问对应的计算机资源隔离开,即将用户服务与管理服务区分,并分别进行事务处理,使用户的计算机资源不被管理占用,保证用户的计算机资源使用。
附图说明
图1为一个实施例中计算机资源处理方法的应用环境图;
图2为一个实施例中计算机资源处理方法的流程示意图;
图3为一个实施例中计算机资源处理方法的结构示意图;
图4为一个实施例中故障检测的流程示意图;
图5为一个实施例中计算机资源处理装置的结构框图;
图6为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中计算机资源处理方法的应用环境图。该计算机资源处理方法应用于计算机资源处理系统。该计算机资源处理系统包括服务器110和终端120。服务器110和终端120通过网络连接。服务器110可以用独立的服务器或者是多个服务器组成的服务器集群来实现。终端120具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。计算机资源处理方法可通过计算机资源处理程序实现。计算机资源处理程序可用于图1中的服务器110。计算机资源处理程序也可仅用于服务器中。终端120用于发起访问请求,服务器110用于获取访问请求,确定访问请求对应的控制群组,通过该控制群组对应的线程,调用该控制群组对应的计算机资源。
在一个实施例中,云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible MarkupLanguage,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL(结构化查询语言(Structured QueryLanguage)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
在一个实施例中,云厂商为了提供高效可控的云数据库的Paas(Platformas aService,平台即服务),为云数据库实例配套了多种管理服务,包括并不仅限于:备份服务、监控服务、拨测服务、HA(High Available,高可用性集群)服务。每一种管理服务都需要访问数据库,消耗数据库的计算机资源。为了给用户提供性能更稳定的云数据库,结合操作系统的Cgroup对计算机资源隔离的能力,和mysql(关系型数据库管理系统)提供额外的端口,实现隔离用户对计算机资源的消耗与管理对计算机资源的消耗。另外,本申请实施例与数据库并不是强绑定,所以可以通用至其他场景,只需要满足:1)支持多入口;2)服务器支持cgroup隔离。本申请实施例对硬件环境没有硬性要求。
如图2所示,提供了一种计算机资源处理方法。本实施例主要以该方法应用于上述图1中的服务器110来举例说明。参照图2,该计算机资源处理方法可应用于云数据库中,具体包括如下步骤:
步骤202,获取访问请求,该访问请求为用户访问请求或管理访问请求。
具体地,该访问请求可以是数据库访问请求。数据库具体可以是SQL数据库、云数据库等。计算机资源处理程序从终端获取对云数据库的访问请求。
步骤204,确定访问请求对应的控制群组,其中,控制群组包括用户控制群组和管理控制群组。
具体地,控制群组是指Cgroup,包括用户控制群组和管理控制群组。当该访问请求为用户访问请求时,该访问请求对应的控制群组为用户控制群组。当该访问请求为管理访问请求时,该访问请求对应的控制群组为管理控制群组。
本实施例中,计算机资源处理程序可通过unix socket提供访问,确定访问请求为用户访问请求或管理访问请求,从而确定访问请求对应的控制群组。
本实施例中,计算机资源处理程序可通过zookeeper下发任务,确定访问请求为用户访问请求或管理访问请求,从而确定访问请求为用户访问访问请求或管理访问请求。
本实施例中,计算机资源处理程序可通过MQ(MessageQueue,消息队列)推送任务,确定访问请求为用户访问请求或管理访问请求,从而确定访问请求为用户访问访问请求或管理访问请求。
步骤206,通过该控制群组对应的线程,调用该控制群组对应的计算机资源。
其中,线程是指是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。由于云数据库位于计算机设备中,因此,计算机资源可包含数据库资源。数据库资源也可以指CPU资源。计算机资源可以是CPU资源,CPU资源又可包括时间片资源和CPU核资源。
具体地,计算机资源处理程序通过控制群组对应的线程,调用该控制群组对应的计算机资源,以执行相应任务。该线程可以是在获取访问请求之前创建的,也可以是在获取访问请求之后确定的。
本实施例中,在初始化控制群组时,线程标识可与控制群组预先绑定。线程标识是指用于唯一地表示某一线程的标识。线程标识可由文字、数字、字母、符号中至少一种组成。线程标识可以是监听线程标识,也可以是工作线程标识。无论是监听线程标识还是工作线程标识,线程标识均是唯一的。计算机资源处理程序可根据控制群组确定对应的工作线程标识;通过工作线程标识对应线程,调用该控制群组对应的计算机资源。线程标识包括监听线程、工作线程中至少一种。无论是用户控制群组对应的线程标识还是管理控制群组对应的线程标识均为同一进程的线程所对应的线程标识。
本实施例中,计算机资源处理程序可创建控制群组对应的工作线程,通过该控制群组对应的工作线程,调用该控制群组对应的计算机资源。
上述计算机资源处理方法,获取访问请求,确定访问请求对应的控制群组,其中,控制群组包括用户控制群组和管理控制群组,可区分访问请求,则能够将用户访问请求和管理员访问请求区分,通过控制群组对应的线程,调用控制群组对应的计算机资源,能够将用户请求对应的计算机资源和管理访问对应的计算机资源隔离开,即将用户服务与管理服务区分,并分别进行事务处理,使用户的计算机资源不被管理占用,保证用户的计算机资源使用。在一个实施例中,确定访问请求对应的控制群组,包括:获取访问请求对应的端口标识;根据端口标识确定访问请求对应的控制群组。
其中,端口标识用于唯一地标识服务器的端口。端口标识可由数字、文字、符号中至少一种组成。端口标识与控制群组相对应。
具体地,如图3所示,为一个实施例中计算机资源处理方法的结构示意图。其中CDB是指分布式数据库存储。如图3所示,mysql数据库同时监听user_port和admin_port,即用户访问端口和管理访问端口。user_port与admin_port生成的线程单独管理,线程包括监听线程和工作线程。并且user_port的线程放置在cgroup:/user_group下,admin_port的线程放置在cgroup:/admin_group下。即分离user_port和admin_port的线程。该线程可以是监听线程,也可以是工作线程。具体可使用异步IO模型(epoll)处理监听事件。
当位于服务器的计算机资源处理程序从端口获取到访问请求时,可确定该访问请求对应的端口标识。计算机资源处理程序根据端口标识确定访问请求对应的控制群组。例如,端口标识为23和24,23端口绑定用户控制群组,24端口绑定管理控制群组,计算机资源处理程序从端口23获取访问请求,那么确定对应的控制群组为用户控制群组。
上述计算机资源处理方法,通过获取访问请求对应的端口标识,根据端口标识确定访问请求对应的控制群组,更加容易区分访问请求为用户访问请求还是管理访问请求,能够将用户请求对应的计算机资源和管理访问对应的计算机资源隔离开,使用户的计算机资源不被管理占用,保证用户的计算机资源使用。
在一个实施例中,线程包括监听线程和工作线程。通过控制群组对应的线程,调用控制群组对应的计算机资源,包括:根据控制群组确定监听线程标识;通过监听线程标识对应的监听线程,创建工作线程;通过工作线程,调用控制群组对应的计算机资源。
具体地,监听线程标识与控制群组预先绑定。监听线程用于监听端口是否接收到访问请求。计算机资源处理程序根据控制群组确定对应的监听线程标识,即可通过监听线程标识对应的监听线程,创建工作线程,并通过工作线程,调用控制群组对应的计算机资源。
本实施例中,线程标识与控制群组预先绑定的步骤,包括:获取控制群组的挂载目录以及线程标识;将线程标识写入控制群组的任务配置文件中。根据控制群组确定监听线程标识,包括:从控制群组的任务配置文件中读取监听线程标识。例如,使用cpu:/user_group启动mysql进程(mysqld),mysqld进程在创建user_port和admin_port的监听线程后,将admin_port的监听线程标识(admin_pid)放置到cpu:/admin_port下,完成监听线程标识和控制群组的绑定。
本实施例中,使用cgroup隔离cpu资源,存在两种类型,其中一种是使用cgroupcpu子系统,通过cpu时间片调度,简称common。例如:
#common场景下,将admin_pid写入cpu:/admin_group下的tasks文件,操作如下:
##S1.获取cgroup cpu子系统的挂载目录cgroup_cpu_mount_dir
lssubsys-m cpu
##S2.将admin_pid写入cpu:/admin_group的tasks配置文件
echo$admin_pid>${cgroup_cpu_mount_dir}/admin_group/tasks
其中,admin_pid是指管理控制群组对应的线程标识。cgroup_cpu_mount_dir是在启动linux cgroup服务时指定,默认配置:/etc/cgconfig.conf。一般根目录为:/sys/fs/cgroup。
cpu:/admin_group是目录结果,因为cgroup通过vfs向用户层提供接口。即,用户可以通过创建目录、删除目录,来创建、删除cgroup组;通过修改配置文件,实现修改配置cgroup配置。
或者,使用cgroup隔离cpu资源,另一种类型是绑定cpu逻辑核调度,简称exclusive。例如,#exclusive场景下,将admin_pid写入cpuset:/admin_group下的tasks文件,操作如下:
##S1.获取cgroup cpuset子系统的挂载目录cgroup_cpuset_mount_dirlssubsys-m cpuset
##S2.将admin_pid写入cpuset:/admin_group的tasks配置文件
echo$admin_pid>${cgroup_cpuset_mount_dir}/admin_group/tasks
启动进程时可以指定线程默认加入的cgroup组,进程启动后的所有线程都会自动加入该cgroup组。为了限定admin_port创建的线程自动加入指定的cgroup组,需限制:admin_port下管理的线程,仅能由admin_port负责管理与释放,不能与user_port共享。user_port同理。
上述计算机资源处理方法,根据控制群组确定监听线程标识,通过监听线程标识对应的监听线程,创建工作线程,通过工作线程,调用控制群组对应的计算机资源,由于不同的控制群组绑定的监听线程标识不相同,因此可通过工作线程调用控制群组对应的计算机资源,从而将管理的资源和用户的资源区分开,保证用户的计算机资源使用。
在一个实施例中,获取访问请求,包括:获取对数据库实例的访问请求。通过控制群组对应的线程,调用控制群组对应的计算机资源,包括:根据控制群组确定数据库实例的进程所对应的线程标识;通过线程标识对应的线程,调用控制群组对应的计算机资源。
其中,数据库实例是指实例是位于物理内存里的数据结构,由线程和内存池组成,是位于用户和操作系统之间的一层数据管理软件。
具体地,数据库中可有多个数据库实例。一个数据库实例对应一个进程。线程标识对应的线程均为同一个进程下的线程。计算机资源处理程序获取对数据库实例的访问请求,并确定该访问请求对应的控制群组。那么无论该访问请求对应的控制群组是哪个,均是通过同一进程下的线程调用该控制群组对应的计算机资源。
上述计算机资源处理方法,根据控制群组确定数据库实例的进程所对应的线程标识,通过线程标识对应的线程,调用控制群组对应的计算机资源,则可分别进行数据库实例的管理访问和用户访问,调用不同的计算机资源,可在对数据库实例进行管理时不影响用户访问,保证用户的计算机资源使用。
在一个实施例中,通过控制群组对应的线程,调用控制群组对应的计算机资源,包括:获取时间片参数值;根据时间片参数值确定控制群组可调用的计算机时间片资源;通过控制群组对应的线程,调用控制群组对应的计算机时间片资源。
其中,时间片是指是操作系统分配给每个正在运行的进程或线程微观上的一段CPU时间。时间片参数值可以包括可调用的时间片最大值、时间片单位值、时间片比例等。
具体地,计算机资源处理程序获取时间片参数值,根据时间片参数值确定控制群组可调用的计算机时间片资源,并通过控制群组对应的线程,调用控制控制群组对应的计算机时间片资源。
本实施例中,使用cgroup隔离cpu资源,存在两种类型,其中一种是使用cgroupcpu子系统,通过cpu时间片调度,简称common。通过控制群组对应的线程,调用控制群组对应的计算机资源,可通过如下方式实现:
##为admin_group创建上限资源为8核的CPU资源组
cgcreate-g cpu:/admin_group
cgset-r cpu.cfs_period_us=100000admin_group
cgset-r cpu.cfs_quota_us=800000admin_group
cgset-r cpu.shares=8192admin_group
##为user_group创建上限资源为8核的CPU资源组
cgcreate-g cpu:/user_group
cgset-r cpu.cfs_period_us=100000user_group
cgset-r cpu.cfs_quota_us=800000user_group
cgset-r cpu.shares=8192user_group
其中,上述代码为一个用例展示。admin_group是指管理控制群组,user_group是指用户控制群组。cgcreate是linux提供的cgroup组的管理工具;组名由两部分构成:a)子系统名,此处为cpu;。b)路径,与linux路径一致,如上述:/admin_group和/user_group,还可以类似:/path/name/of/group。两者通过“:”连接。
cgset是linux提供的cgroup组的配置设置工具。例如:cgset-r cpu.cfs_period_us=100000admin_group,就是:设置cpu:/admin_group的参数cfs_period_us=100000Cgset工具是操作系统提供的cgroup管理工具,用来设置cgroup的资源限制。100000是评估消耗的最小时间长度(也就是100ms),单个cpu用满100ms即表示100%使用一个cpu核。800000是100000的8倍,即代表可以在100ms最多可使用8个cpu核。
8192同样是cgroup cpu子系统的相关配置Cpu.shares。当两个进程(proc1和proc2)共同竞争cpu资源时,并且cpu资源不够两进程分配时,cpu.shares参数用来规定,proc1和proc2分别分配多少资源。假设proc1进程所在cgroup cpu的cpu.shares为1024时,proc2对应的值也为1024,则两者评分cpu资源。如果proc2对应值为2048(为1024两倍),则proc1获得1份cpu资源,proc2获得2份cpu资源。
上述计算机资源处理方法,获取时间片参数值,根据时间片参数值确定控制群组可调用的计算机时间片资源,通过线程标识控制群组对应的线程,调用控制群组对应的计算机时间片资源,能够区分用户控制群组和管理控制群组可调用的时间片资源,则管理员在管理时不会占用用户的计算机资源,保证用户的计算机资源的使用。
在一个实施例中,通过线程标识控制群组对应的线程,调用控制群组对应的计算机资源,包括:获取中央处理器核标识;根据中央处理器核标识确定控制群组可调用的中央处理器核;通过控制群组对应的线程,调用控制群组对应的中央处理器核资源。
其中,中央处理器核标识是指CPU核标识。一个中央处理器可包括多个中央处理器核。
具体地,计算机资源处理程序获取中央处理器核标识。计算机资源处理程序根据中央处理器核标识确定控制群组可调用的中央处理器核,通过控制群组对应的线程,调用控制群组对应的中央处理器核资源。
本实施例中,使用cgroup隔离cpu资源,存在两种类型,其中一种是绑定cpu逻辑核调度,简称exclusive。代码如下:
##为admin_group创建上限资源为8核的CPUSET资源组
cgcreate-g cpuset:/admin_group
cgset-r cpuset.cpus=18,19,58,59,38,39,78,79admin_group
cgset-r cpuset.mems=0,1admin_group
##为user_group创建上限资源为8核的CPUSET资源组
cgcreate-g cpuset:/user_group
cgset-r cpuset.cpus=0-7user_group
cgset-r cpuset.mems=0,1user_group
其中,18、19、58、59、38、39、78、79和0-7是指CPU核标识。0,1admin_group和0,1user_group中的0和1均是中央处理器标识。
上述计算机资源处理方法,获取中央处理器核标识,根据中央处理器核标识确定控制群组可调用的中央处理器核资源,通过线程标识控制群组对应的线程,调用控制群组对应的中央处理器核资源,能够区分用户控制群组和管理控制群组可调用的时间片资源,则管理员在管理时不会占用用户的计算机资源,保证用户的计算机资源的使用。
在一个实施例中,如图4所示,为一个实施例中故障检测的流程示意图。该计算机资源处理方法还包括:
步骤402,当检测到通过用户访问请求无法访问数据库时,获取管理访问请求。
步骤404,当根据管理访问请求无法访问数据库时,确定所发生的故障为实例故障。
步骤406,当根据管理访问请求能访问数据库时,确定发生的故障为负载故障。
其中,实例故障是指数据库实例发生故障,即通过数据库进程无法对外提供服务,指的是通过用户访问请求和管理员访问请求均无法访问数据库,即通过用户端口和管理端口均无法访问数据库。
负载故障是指用户将可使用的计算机资源消耗完,导致服务器无法再接收新的用户访问请求。
具体地,当检测到通过用户访问请求无法访问数据库时,有可能发生了实例故障,还有可能是负载故障。那么计算机资源处理程序获取管理访问请求,当根据管理访问请求无法访问数据库时,即通过用户访问请求和管理访问请求均无法访问数据库,那么确定所发生的故障为实例故障。当根据管理访问请求能访问数据时,即通过用户访问请求不能访问数据库但通过管理访问请求能访问数据库,可确定发生的故障为负载故障。
本实施例中,该计算机资源处理方法还包括:当检测到通过用户访问请求无法访问数据库实例时,获取管理访问请求;当根据管理访问请求无法访问数据库实例时,确定所发生的故障为实例故障;当根据管理访问请求能访问数据库实例时,确定发生的故障为负载故障。
上述计算机资源处理方法,当检测到通过用户访问请求无法访问数据库时,获取管理访问请求,当根据管理访问请求无法访问数据库时,确定所发生的故障为实例故障,当根据管理访问请求能访问数据库时,确定发生的故障为负载故障,即可迅速得知数据库的故障类型从而针对故障类型进行相应处理,提高解决故障的效率,保证用户的计算机资源的使用。
在一个实施例中,将线程标识与对应的控制群组绑定的方式,包括:在Mysql定值命令,将线程标识放置在对应的控制群组中。例如,可以mysql内置函数count()为范例进行实现。或者,以mysql内部设置参数的方式(例如:set global read_only=OFF)进行实现。
在一个实施例中,将线程标识与对应的控制群组绑定的方式,包括:将线程标识输出至日志文件中,监听日志文件,将工作线程标识与对应的控制群组绑定。
在一个实施例中,将线程标识与对应的控制群组绑定的方式,包括:将线程标识记录在内存中;通过外部工具获取线程标识,将线程标识与对应的控制群组绑定。
在一个实施例中,一种计算机资源处理方法,包括:
步骤a1,获取对数据库实例的访问请求。
步骤a2,获取访问请求对应的端口标识。
步骤a3,根据端口标识确定访问请求对应的控制群组。
步骤a4,根据控制群组确定监听线程标识。
步骤a5,通过监听线程标识对应的监听线程,创建工作线程。
步骤a6,通过工作线程,获取时间片参数值。
步骤a7,根据时间片参数值确定控制群组可调用的计算机时间片资源。
步骤a8,通过控制群组对应的线程,调用控制群组对应的计算机时间片资源。
步骤a9,当检测到通过用户访问请求无法访问数据库时,获取管理访问请求。
步骤a10,当根据管理访问请求无法访问数据库时,确定发生的故障为实例故障。
步骤a11,当根据管理访问请求能访问数据库时,确定发生的故障为负载故障。
上述计算机资源处理方法,获取访问请求,确定访问请求对应的控制群组,其中,控制群组包括用户控制群组和管理控制群组,可区分访问请求,则能够将用户访问请求和管理员访问请求区分,通过控制群组对应的线程,调用控制群组对应的计算机资源,能够将用户请求对应的计算机资源和管理访问对应的计算机资源隔离开,使用户的计算机资源不被管理占用,保证用户的计算机资源使用;当检测到通过用户访问请求无法访问数据库时,获取管理访问请求,当根据管理访问请求无法访问数据库时,确定所发生的故障为实例故障,当根据管理访问请求能访问数据库时,确定发生的故障为负载故障,即可迅速得知数据库的故障类型从而针对故障类型进行相应处理,提高解决故障的效率。
图2和4为一个实施例中计算机资源处理方法的流程示意图。应该理解的是,虽然图2和4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,为一个实施例中计算机资源处理装置的结构框图,提供了一种计算机资源处理装置,包括:
获取模块502,用于获取访问请求,访问请求为用户访问请求或管理访问请求。
确定模块504,用于确定访问请求对应的控制群组,其中,控制群组包括用户控制群组和管理控制群组。
调用模块506,用于通过控制群组对应的线程,调用控制群组对应的计算机资源。
上述计算机资源处理装置,获取访问请求,确定访问请求对应的控制群组,其中,控制群组包括用户控制群组和管理控制群组,可区分访问请求,则能够将用户访问请求和管理员访问请求区分,通过控制群组对应的线程,调用控制群组对应的计算机资源,能够将用户请求对应的计算机资源和管理访问对应的计算机资源隔离开,使用户的计算机资源不被管理占用,保证用户的计算机资源使用。
在一个实施例中,获取模块502用于获取访问请求对应的端口标识。确定模块504用于根据端口标识确定访问请求对应的控制群组。
上述计算机资源处理装置,通过获取访问请求对应的端口标识,根据端口标识确定访问请求对应的控制群组,更加容易区分访问请求为用户访问请求还是管理访问请求,能够将用户请求对应的计算机资源和管理访问对应的计算机资源隔离开,即将用户服务与管理服务区分,并分别进行事务处理,使用户的计算机资源不被管理占用,保证用户的计算机资源使用。
在一个实施例中,线程包括监听线程和工作线程。调用模块506用于根据控制群组确定监听线程标识;通过监听线程标识对应的监听线程,创建工作线程;通过工作线程,调用控制群组对应的计算机资源。
上述计算机资源处理装置,根据控制群组确定监听线程标识,通过监听线程标识对应的监听线程,创建工作线程,通过工作线程,调用控制群组对应的计算机资源,由于不同的控制群组绑定的监听线程标识不相同,因此可通过工作线程调用控制群组对应的计算机资源,从而将管理的资源和用户的资源区分开,保证用户的计算机资源使用。
在一个实施例中,获取模块502用于获取对数据库实例的访问请求。调用模块506用于根据控制群组确定数据库实例的进程所对应的线程标识;通过线程标识对应的线程,调用控制群组对应的计算机资源。
上述计算机资源处理装置,根据控制群组确定数据库实例的进程所对应的线程标识,通过线程标识对应的线程,调用控制群组对应的计算机资源,则可分别进行数据库实例的管理访问和用户访问,调用不同的计算机资源,可在对数据库实例进行管理时不影响用户访问,保证用户的计算机资源使用。
在一个实施例中,调用模块506用于获取时间片参数值;根据时间片参数值确定控制群组可调用的计算机时间片资源;通过控制群组对应的线程,调用控制群组对应的计算机时间片资源。
上述计算机资源处理装置,获取时间片参数值,根据时间片参数值确定控制群组可调用的计算机时间片资源,通过线程标识控制群组对应的线程,调用控制群组对应的计算机时间片资源,能够区分用户控制群组和管理控制群组可调用的时间片资源,则管理员在管理时不会占用用户的计算机资源,保证用户的计算机资源的使用。
在一个实施例中,调用模块506用于获取中央处理器核标识;根据中央处理器核标识确定控制群组可调用的中央处理器核;通过控制群组对应的线程,调用控制群组对应的中央处理器核资源。
上述计算机资源处理装置,获取中央处理器核标识,根据中央处理器核标识确定控制群组可调用的中央处理器核资源,通过线程标识控制群组对应的线程,调用控制群组对应的中央处理器核资源,能够区分用户控制群组和管理控制群组可调用的时间片资源,则管理员在管理时不会占用用户的计算机资源,保证用户的计算机资源的使用。
在一个实施例中,还包括故障检测模块。故障检测模块用于当检测到通过用户访问请求无法访问数据库时,获取管理访问请求;当根据管理访问请求无法访问数据库时,确定所发生的故障为实例故障;当根据管理访问请求能访问数据库时,确定发生的故障为负载故障。
上述计算机资源处理装置,当检测到通过用户访问请求无法访问数据库时,获取管理访问请求,当根据管理访问请求无法访问数据库时,确定所发生的故障为实例故障,当根据管理访问请求能访问数据库时,确定发生的故障为负载故障,即可迅速得知数据库的故障类型从而针对故障类型进行相应处理,提高解决故障的效率,保证用户的计算机资源的使用。
关于计算机资源处理装置的具体限定可以参见上文中对于计算机资源处理方法的限定,在此不再赘述。上述计算机资源处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储计算机资源数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种计算机资源处理方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (16)
1.一种计算机资源处理方法,包括:
获取访问请求,所述访问请求为用户访问请求或管理访问请求;
确定所述访问请求对应的控制群组,其中,当所述访问请求为所述用户访问请求时,所述控制群组,为与所述用户访问请求对应的用户控制群组;当所述访问请求为所述管理访问请求时,所述控制群组为与所述管理访问请求对应的管理控制群组;
通过所述控制群组对应的线程,调用所述控制群组对应的计算机资源。
2.根据权利要求1所述的方法,其特征在于,所述确定所述访问请求对应的控制群组,包括:
获取所述访问请求对应的端口标识;
根据所述端口标识确定所述访问请求对应的控制群组。
3.根据权利要求1所述的方法,其特征在于,所述线程包括监听线程和工作线程;
所述通过所述控制群组对应的线程,调用所述控制群组对应的计算机资源,包括:
根据所述控制群组确定监听线程标识;
通过所述监听线程标识对应的监听线程,创建工作线程;
通过所述工作线程,调用所述控制群组对应的计算机资源。
4.根据权利要求1所述的方法,其特征在于,所述获取访问请求,包括:
获取对数据库实例的访问请求;
所述通过所述控制群组对应的线程,调用所述控制群组对应的计算机资源,包括:
根据所述控制群组确定所述数据库实例的进程所对应的线程标识;
通过所述线程标识对应的线程,调用所述控制群组对应的计算机资源。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述通过所述控制群组对应的线程,调用所述控制群组对应的计算机资源,包括:
获取时间片参数值;
根据所述时间片参数值确定所述控制群组可调用的计算机时间片资源;
通过所述控制群组对应的线程,调用所述控制群组对应的计算机时间片资源。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述通过所述控制群组对应的线程,调用所述控制群组对应的计算机资源,包括:
获取中央处理器核标识;
根据所述中央处理器核标识确定所述控制群组可调用的中央处理器核;
通过所述控制群组对应的线程,调用所述控制群组对应的中央处理器核资源。
7.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
当检测到通过所述用户访问请求无法访问数据库时,获取所述管理访问请求;
当根据所述管理访问请求无法访问所述数据库时,确定发生的故障为实例故障;
当根据所述管理访问请求能访问所述数据库时,确定所述发生的故障为负载故障。
8.一种计算机资源处理装置,其特征在于,所述装置包括:
获取模块,用于获取访问请求,所述访问请求为用户访问请求或管理访问请求;
确定模块,用于确定所述访问请求对应的控制群组,其中,当所述访问请求为所述用户访问请求时,所述控制群组,为与所述用户访问请求对应的用户控制群组;当所述访问请求为所述管理访问请求时,所述控制群组为与所述管理访问请求对应的管理控制群组;
调用模块,用于通过所述控制群组对应的线程,调用所述控制群组对应的计算机资源。
9.根据权利要求8所述的装置,其特征在于,所述获取模块还用于获取所述访问请求对应的端口标识;所述确定模块还用于根据所述端口标识确定所述访问请求对应的控制群组。
10.根据权利要求8所述的装置,其特征在于,所述线程包括监听线程和工作线程;所述调用模块还用于根据所述控制群组确定监听线程标识;通过所述监听线程标识对应的监听线程,创建工作线程;通过所述工作线程,调用所述控制群组对应的计算机资源。
11.根据权利要求8所述的装置,其特征在于,所述获取模块还用于获取对数据库实例的访问请求;所述调用模块还用于根据所述控制群组确定所述数据库实例的进程所对应的线程标识;通过所述线程标识对应的线程,调用所述控制群组对应的计算机资源。
12.根据权利要求8至11任一项所述的装置,其特征在于,所述调用模块还用于获取时间片参数值;根据所述时间片参数值确定所述控制群组可调用的计算机时间片资源;通过所述控制群组对应的线程,调用所述控制群组对应的计算机时间片资源。
13.根据权利要求8至11任一项所述的装置,其特征在于,所述通过所述控制群组对应的线程,调用所述控制群组对应的计算机资源,包括:
获取中央处理器核标识;
根据所述中央处理器核标识确定所述控制群组可调用的中央处理器核;
通过所述控制群组对应的线程,调用所述控制群组对应的中央处理器核资源。
14.根据权利要求8至11中任一项所述的装置,其特征在于,所述调用模块还用于当检测到通过所述用户访问请求无法访问数据库时,获取所述管理访问请求;当根据所述管理访问请求无法访问所述数据库时,确定发生的故障为实例故障;当根据所述管理访问请求能访问所述数据库时,确定所述发生的故障为负载故障。
15.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010147200.5A CN111399999B (zh) | 2020-03-05 | 2020-03-05 | 计算机资源处理方法、装置、可读存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010147200.5A CN111399999B (zh) | 2020-03-05 | 2020-03-05 | 计算机资源处理方法、装置、可读存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111399999A CN111399999A (zh) | 2020-07-10 |
CN111399999B true CN111399999B (zh) | 2023-06-20 |
Family
ID=71430523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010147200.5A Active CN111399999B (zh) | 2020-03-05 | 2020-03-05 | 计算机资源处理方法、装置、可读存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111399999B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114077493A (zh) * | 2020-08-21 | 2022-02-22 | 荣耀终端有限公司 | 一种资源分配方法及相关设备 |
CN117290116B (zh) * | 2023-11-27 | 2024-02-23 | 和创(北京)科技股份有限公司 | 可控资源的动态代码运行方法、装置、设备及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992375A (zh) * | 2017-12-29 | 2019-07-09 | 广东欧珀移动通信有限公司 | 信息处理方法、装置、计算机设备和计算机可读存储介质 |
CN110276194A (zh) * | 2019-06-21 | 2019-09-24 | 联想(北京)有限公司 | 信息处理方法、信息处理装置和电子设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7116635B2 (en) * | 1996-03-28 | 2006-10-03 | Hitachi, Ltd. | Process execution method and apparatus |
CN100370843C (zh) * | 2005-04-07 | 2008-02-20 | 华为技术有限公司 | 一种资源分配策略系统及其控制通信资源分配的方法 |
US9430211B2 (en) * | 2012-08-31 | 2016-08-30 | Jpmorgan Chase Bank, N.A. | System and method for sharing information in a private ecosystem |
US10048871B2 (en) * | 2013-02-20 | 2018-08-14 | Red Hat, Inc. | Assigning pre-existing processes to select sets of non-uniform memory access (NUMA) aligned resources |
CN107800779B (zh) * | 2017-09-30 | 2020-09-29 | 北京京东尚科信息技术有限公司 | 优化负载均衡的方法及系统 |
CN107977261A (zh) * | 2017-11-30 | 2018-05-01 | 奇酷互联网络科技(深圳)有限公司 | 限制进程的方法、设备、移动终端及计算机存储介质 |
CN108089925B (zh) * | 2017-12-29 | 2021-12-31 | 北京元心科技有限公司 | 管控进程占用资源的方法及装置 |
-
2020
- 2020-03-05 CN CN202010147200.5A patent/CN111399999B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992375A (zh) * | 2017-12-29 | 2019-07-09 | 广东欧珀移动通信有限公司 | 信息处理方法、装置、计算机设备和计算机可读存储介质 |
CN110276194A (zh) * | 2019-06-21 | 2019-09-24 | 联想(北京)有限公司 | 信息处理方法、信息处理装置和电子设备 |
Non-Patent Citations (2)
Title |
---|
QoS Aware Resource Management for Apache Cassandra;Yasaswi Kishore等;《2016 IEEE 23rd International Conference on High Performance Computing Workshops (HiPCW)》;第3-10页 * |
云桌面系统中虚拟机隔离与迁移机制研究;龚波;《中国优秀硕士学位论文全文数据库 信息科技辑》;第I138-57页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111399999A (zh) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2429529C2 (ru) | Динамическое конфигурирование, выделение и развертывание вычислительных систем | |
JP4650203B2 (ja) | 情報システム及び管理計算機 | |
US8126859B2 (en) | Updating a local version of a file based on a rule | |
US9311170B2 (en) | System, method and program tool to reset an application | |
CN113407421B (zh) | 微服务网关的动态日志记录管理方法及系统 | |
CN111399999B (zh) | 计算机资源处理方法、装置、可读存储介质和计算机设备 | |
CN113626286A (zh) | 多集群实例处理方法、装置、电子设备及存储介质 | |
CN111684437B (zh) | 按时间顺序排序的错位更新键-值存储系统 | |
US8688641B1 (en) | Per user and per process layer visibility | |
US8930518B2 (en) | Processing of write requests in application server clusters | |
CN112714018A (zh) | 基于网关的ElasticSearch搜索服务方法、系统、介质及终端 | |
US7275250B1 (en) | Method and apparatus for correlating events | |
EP0747814A1 (en) | Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment | |
CN112860412B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN112130900B (zh) | 一种bmc的用户信息管理方法、系统、设备以及介质 | |
CN111399753B (zh) | 写入图片的方法和装置 | |
US8650548B2 (en) | Method to derive software use and software data object use characteristics by analyzing attributes of related files | |
CN113448775A (zh) | 多源异构数据备份方法及装置 | |
CN112711606A (zh) | 数据库访问方法、装置、计算机设备和存储介质 | |
CN111125232A (zh) | 一种公有云资产信息接入的方法及装置 | |
CN112650713A (zh) | 文件系统的运行方法、装置、设备和存储介质 | |
CN114143187B (zh) | 智能平台接口网络地址管理方法、系统、终端及存储介质 | |
US9251153B1 (en) | Systems and methods for populating and maintaining a local cache with archived data items | |
CN111797062B (zh) | 数据处理方法、装置和分布式数据库系统 | |
US20240028346A1 (en) | Linking kubernetes resources with underlying cloud infrastructure |
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 |