CN112650576B - 资源调度方法、装置、设备、存储介质及计算机程序产品 - Google Patents

资源调度方法、装置、设备、存储介质及计算机程序产品 Download PDF

Info

Publication number
CN112650576B
CN112650576B CN202110089644.2A CN202110089644A CN112650576B CN 112650576 B CN112650576 B CN 112650576B CN 202110089644 A CN202110089644 A CN 202110089644A CN 112650576 B CN112650576 B CN 112650576B
Authority
CN
China
Prior art keywords
resource
available
target
queue
log
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
CN202110089644.2A
Other languages
English (en)
Other versions
CN112650576A (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202110089644.2A priority Critical patent/CN112650576B/zh
Publication of CN112650576A publication Critical patent/CN112650576A/zh
Application granted granted Critical
Publication of CN112650576B publication Critical patent/CN112650576B/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • 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/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了资源调度方法、装置、电子设备、计算机可读存储介质及计算机程序产品,涉及云平台和云服务技术领域。该方法的一具体实施方式包括:接收传入的资源申请请求;根据资源申请请求在由主节点维护的可用资源队列中确定目标资源,主节点根据记录有在先被申请的可用资源是否被成功调用的日志维护得到可用资源队列;响应于目标资源被成功调用,在日志中记录目标资源被成功调用的新日志项,并控制主节点通过读取日志中的新日志项更新可用资源队列。该实施方式通过在资源池的前端增设了基于调用日志维护可用资源队列的主节点,避免了后续再申请可用资源时需要对资源池中各资源状态的遍历操作,增加了资源的调度效率。

Description

资源调度方法、装置、设备、存储介质及计算机程序产品
技术领域
本申请涉及计算机技术领域,具体涉及云服务、云平台等人工智能技术领域,尤其涉及资源调度方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
随着当今社会生产力的发展和电子信息化程度的提高,云端技术和云服务被广泛应用,用户可以通过自身运算能力不强的设备以申请云服务的方式将计算任务转交给云端来做,进而实现了资源的合理配置和合理使用。
在广大用户都向云端申请各式各样的云端资源来实现云服务时,如何有效的调度云端资源来尽可能的满足广大用户的需求,是本领域技术人员的重点研究对象。
发明内容
本申请实施例提出了一种资源调度方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
第一方面,本申请实施例提出了一种资源调度方法,包括:接收传入的资源申请请求;根据资源申请请求在由主节点维护的可用资源队列中确定目标资源;其中,主节点根据记录有在先被申请的可用资源是否被成功调用的日志维护得到可用资源队列;响应于目标资源被成功调用,在日志中记录目标资源被成功调用的新日志项,并控制主节点通过读取日志中的新日志项更新可用资源队列。
第二方面,本申请实施例提出了一种资源调度装置,包括:资源申请请求接收单元,被配置成接收传入的资源申请请求;目标资源确定单元,被配置成根据资源申请请求在由主节点维护的可用资源队列中确定目标资源;其中,主节点根据记录有在先被申请的可用资源是否被成功调用的日志维护得到可用资源队列;日志项增加及队列更新单元,被配置成响应于目标资源被成功调用,在日志中记录目标资源被成功调用的新日志项,并控制主节点通过读取日志中的新日志项更新可用资源队列。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面中任一实现方式描述的资源调度方法。
第四方面,本申请实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面中任一实现方式描述的资源调度方法。
第五方面,本申请实施例提供了一种包括计算机程序的计算机程序产品,该计算机程序在被处理器执行时能够实现如第一方面中任一实现方式描述的资源调度方法。
本申请实施例提供的资源调度方法、装置、电子设备、计算机可读存储介质及计算机程序产品,在接收传入的资源申请请求之后,执行主体首先根据资源申请请求在由主节点维护的可用资源队列中确定目标资源,该主节点根据记录有在先被申请的可用资源是否被成功调用的日志维护得到该可用资源队列;执行主体之后响应于目标资源被成功调用,在日志中记录目标资源被成功调用的新日志项,并控制主节点通过读取日志中的新日志项对可用资源队列进行更新。
本申请在用于存储所有可用资源和不可用资源的资源池的前端增设了主节点,并通过该主节点以读取之前被申请调用的资源是否被成功调用的日志信息来维护可用资源队列,从而借助标明哪些资源是当前的可用资源的这一信息避免了后续再申请可用资源时需要对资源池中各资源状态的遍历操作,增加了资源的调度效率。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性***架构;
图2为本申请实施例提供的一种资源调度方法的流程图;
图3为本申请实施例提供的另一种资源调度方法的流程图;
图4为本申请实施例提供的在一应用场景下的资源调度方法的流程示意图;
图5为本申请实施例提供的一种资源调度装置的结构框图;
图6为本申请实施例提供的一种适用于执行资源调度方法的电子设备的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
图1示出了可以应用本申请的资源调度方法、装置、电子设备及计算机可读存储介质的实施例的示例性***架构100。
如图1所示,***架构100可以包括终端设备101、102、103,网络104和服务器105,以及承载在服务器105上的资源池1051,资源池1051中存储有可供申请的资源。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103和服务器105上可以安装有各种用于实现两者之间进行信息通讯的应用,例如云服务类应用、云端存储类应用、数据通讯类应用等。
终端设备101、102、103和服务器105可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等;当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器;服务器为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
服务器105通过内置的各种应用可以提供各种服务,以可以向申请者提供云端资源的云服务类应用为例,服务器105在运行该云服务类应用时可实现如下效果:首先,通过网络104从终端设备101、102、103中接收传入的资源申请请求;然后,根据资源申请请求在由主节点维护的可用资源队列中确定目标资源,该主节点根据记录有在先被申请的可用资源是否被成功调用的日志维护得到该可用资源队列(包括可用资源和不可用资源在内的所有资源存储在资源池1051中);执行主体之后响应于目标资源被成功调用,在日志中记录目标资源被成功调用的新日志项,并控制主节点通过读取日志中的新日志项对可用资源队列进行更新。
需要指出的是,资源申请请求除可以从终端设备101、102、103通过网络104获取到之外,也可以通过各种方式预先存储在服务器105本地。因此,当服务器105检测到本地已经存储有这些数据时(例如开始处理之前留存的待处理的资源申请请求),可选择直接从本地获取这些数据,在此种情况下,示例性***架构100也可以不包括终端设备101、102、103和网络104。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
请参考图2,图2为本申请实施例提供的一种资源调度方法的流程图,其中流程200包括以下步骤:
步骤201:接收传入的资源申请请求;
本步骤旨在由资源调度方法的执行主体(例如图1所示的服务器105)接收传入的资源申请请求。其中,资源申请请求可以直接接收自用户终端,也可以在用户终端无法直接将资源申请请求发至上述执行主体时,通过一端连接于用户终端、一端连接于上述执行主体的至少一个中转设备将资源申请请求通过至少一次转发操作发送至上述执行主体。
其中,资源申请请求除用于表示请求发起端或请求发起用户想要申请资源的意愿外,通常还可以包含有请求发起端或请求发起用户想到获取到的目标资源的相关属性描述,例如资源类型、资源性能、资源用途等等,其中资源类型可以包括云手机资源、云存储资源等。
进一步的,在接收到资源申请请求后,还可以结合包含于资源申请请求中的请求发起端或请求发起用户的身份信息,来判断是否立即满足请求中记录的相关要求,例如根据资源申请请求确定申请用户,并在判断申请用户为预设的合法用户时才执行后续的步骤202,从而防止非法用户对有限资源的非法占用。
步骤202:根据资源申请请求在由主节点维护的可用资源队列中确定目标资源;
在步骤201的基础上,本步骤旨在由上述执行主体根据资源申请请求在由主节点维护的可用资源队列中确定目标资源。
其中,该主节点根据记录有在先被申请的可用资源是否被成功调用的日志维护得到可用资源队列,即每个可用资源被上述执行主体响应于传入的资源申请请求分配给请求发起端或请求发起用户后,根据回传或监测得到的该资源是否确实被成功调用的日志信息,控制主节点来维护该可用资源队列,顾名思义,可用资源队列中至少记录有当前处于可用状态的资源信息,并以队列形式存储。
因此,本步骤相当于上述执行主体根据资源申请请求,在可用资源队列中确定适合分配给该资源申请请求的请求发起端或请求发起用户的目标资源。其中,应当理解的是,由于上述主节点和其负责维护的可用资源队列的存在,上述执行主体每次在处理资源申请请求时就无需直接向存储所有可用资源和非可用资源的资源池请求,而是可以根据可用资源队列确定可用的目标资源,从而直接从资源池中调用目标资源即可。基于上述内容可知,由主节点维护的可用资源队列应当设置在资源池的前端。
进一步的,可用资源队列中除记录有处于可用状态的资源信息之外,还可以记录处于不可用状态的资源信息,以搭配处于可用状态的资源信息与资源池的全量资源信息进行差异比对,以更准确确定队列中记录的信息是否与实际情况一致。另外,还可以记录各资源的一些属性以及历史上被调用或被申请的次数等等,以便满足申请者的个性化需求。
步骤203:响应于目标资源被成功调用,在日志中记录目标资源被成功调用的新日志项,并控制主节点通过读取日志中的新日志项更新可用资源队列。
在步骤202的基础上,本步骤旨在由上述执行主体确定目标资源已经被发来资源申请请求的请求发起端或请求发起用户成功调用或成功占用,在日志中记录目标资源被成功调用的新日志项,并控制主节点通过读取日志中的新日志项更新可用资源队列。
其中,该日志用于记录每个被申请的资源的调用成功与否的相关信息,并具体可以以每次新增的一条日志项的方式增加在日志的最下方。而主节点将可以通过根据每次出现的新日志项来持续更新可用资源队列。
具体的,主节点更新可用资源队列的频率可以自行设定,例如在可以监测到日志写入了新日志项的情况下,立即根据写入的新日志项进行更新,也可以设定固定的查看新日志项和更新的时间间隔,具体选用哪种可以根据实际情况下的需求灵活选择,此处不做具体限定。
本申请实施例提供的资源调度方法,在用于存储所有可用资源和不可用资源的资源池的前端增设了主节点,并通过该主节点以读取之前被申请调用的资源是否被成功调用的日志信息来维护可用资源队列,从而借助标明哪些资源是当前的可用资源的这一信息避免了后续再申请可用资源时需要对资源池中各资源状态的遍历操作,增加了资源的调度效率。
请参考图3,图3为本申请实施例提供的另一种资源调度方法的流程图,其中流程300包括以下步骤:
步骤301:接收传入的资源申请请求;
步骤302:根据资源申请请求确定申请用户;
步骤303:响应于申请用户为预设的合法用户,则根据资源申请请求在由主节点维护的可用资源队列中确定目标资源;
以上步骤301-303在如图2所示的步骤201-202的基础上,增加了提取身份信息来判断申请用户是否为合法用户的步骤,并仅在确定其为合法用户的情况下,执行后续的处理步骤,进而尽可能的避免有限的资源被非法用户非法占用的情况出现。
步骤304:响应于目标资源被成功调用,在日志中记录目标资源被成功调用的新日志项,并控制主节点通过读取日志中的新日志项更新可用资源队列;
步骤304与如图2所示的步骤203一致,此处不再重复赘述。
步骤305:每隔预设时间间隔,遍历虚拟资源池中存储的每项可用资源和不可用资源,得到实际可用资源和实际不可用资源;
由于实际情况下的复杂性、不稳定性,很有可能因未知原因或位置因素导致仅靠日志中的成功调用与否的信息维护得到的可用资源队列中的信息与实际情况不一致,因此本步骤通过进行周期性的遍历资源池中所有资源的实际状态,进而得到准确的实际可用资源和实际不可用资源。
步骤306:比较实际可用资源、实际不可用资源和当前的可用资源队列,确定出异常资源;
在步骤305的基础上,本步骤旨在由上述执行主体通过比较实际可用资源、实际不可用资源和当前的可用资源队列,最终确定出异常资源。其中,异常资源包括多种类型,例如部分未被记录在可用资源队列的实际可用资源、部分记录在可用资源队列中的实际不可用资源,可用资源队列记录了不包含于实际可用资源或实际不可用资源等等,即不符合预期状态的资源均应属于异常资源。
进一步的,还可以根据确定出的异常资源来修正可用资源队列中记录的相关信息,以至少使可用资源队列中记录有与实际情况一致的处于可用状态的资源的相关信息。
步骤307:响应于异常资源为未记录于可用资源队列中的目标实际可用资源,将目标实际可用资源补入可用资源队列,并向先调用目标可用资源的申请端发送未成功调用通知。
在步骤306的基础上,本步骤旨在由上述执行主体针对未记录于可用资源队列中的目标实际可用资源,将目标实际可用资源补入可用资源队列,并向先调用目标可用资源的申请端发送未成功调用通知。即给出了一种具体的异常资源的处理方式,以尽可能的纠正错误信息。
本实施例分别通过步骤301-步骤303给出了一种穿插身份认证机制的判断机制,以尽可能的避免有限的资源被非法用户非法占用的情况出现;通过步骤305-步骤306给出了一种验证可用资源队列中记录的相关信息是否与实际情况一致的方案,以通过此种两相印证的方式尽可能去除因不稳定因素、未知因素导致的异常发生、提升可用资源队列中记录的相关信息的准确性;步骤307则在步骤306确定出异常资源的基础上,针对其中一种具体的异常资源类型给出的一种处理方式,以尽可能的实现对错误信息的纠正。
应当理解的是,步骤301-步骤303给出的优选实现方案与步骤305-步骤306给出的优选实现方案之间完全不存在因果和依赖关系,完全可以分别基于如图2所示的实施例形成两个单独的实施例,而一个单独的实施例中也可以完全不继续包含步骤307,因此根据是否在包括步骤306的基础上,继续包括步骤307,又可以将其分为两个单独的实施例,本实施例仅是一个将上述多个优选实现方案汇总在一起的一个优选实施例。
在上述任意实施例的基础上,为了避免某用户长期占用某个资源导致流通的资源量逐渐减少的现象发生,还可以释放实际占用时长超过要求时长的目标不可用资源,并将释放后的目标不可用资源经初始化后重新记录在可用资源队列中;其中,要求时长记录于资源申请请求中。
在上述任意实施例的基础上,还可以在上述执行主体发现主节点当前处于异常状态时,控制主节点将可用资源队列的维护权限转交给预设的副节点;其中,副节点在未持有维护权限时从主节点同步有最新的可用资源队列的副本。即通过主副节点的备份机制尽可能的保证可用资源队列的不间断维护。
为加深理解,本申请还结合一个具体应用场景,给出了一种具体的实现方案,请参见如图4所示的示意图,如示意图所示,该场景下为满足用户向云端请求云手机资源(一个云手机资源通常以实例出现,因此也可以成为一个云手机实例)的需求,且该***层次中用户设备发起的资源申请请求需要先经过服务节点的中转才能到云手机连接池,该云手机连接池包括Redis数据库、主节点、云手机实例池。在示意图给出的具体应用场景下,如图2所示的流程200可做适应性调整为下述步骤:
接收由目标服务节点转发自目标申请终端的云手机申请请求;
根据云手机申请请求在由主节点维护的可用云手机资源队列中确定目标云手机资源,主节点根据记录有在先被申请的可用云手机资源是否被成功调用的服务端节点日志维护得到可用云手机资源队列;
响应于目标云手机资源被成功调用,控制目标服务节点在其服务端节点日志中记录目标云手机被成功调用的新日志项,并控制主节点通过读取服务端节点日志更新可用云手机资源队列。
以下将分别展开描述:
1、服务端节点
1) 收到由用户设备传入的资源申请请求时,从Redis队列(即由主节点维护的可用资源队列)获取可用云手机资源;
2) 根据获取到的信息连接相应的云手机实例;
3) 当出现连接异常时,记录日志,并重新执行1);
4) 当连接成功时,记录日志,并执行操作;
5) 当执行完成时,记录日志,释放连接,并将该连接资源放回队列;
6) 通过采集器收集服务节点的日志,传输到聚合层去聚合并写入数据库;
7) 定期从数据库同步策略配置和黑名单IP或用户名等用户信息列表;
8) 策略包括连接时长上限的调整,以及一些可变更的配置;
9) 对于超过指定连接时长的连接,直接释放连接,并将该连接资源放回队列,避免某些异常用户长时间占用资源;
10)对于黑名单用户,拒绝服务;
2、主节点
1) 通过API(Application Programming Interface,应用程序接口)获取制定账户所有的云手机实例连接的AKSK(一种签名认证算法)等实例信息,及其占用状态等信息;
2) 对于当前数据库中不存在的实例,则执行实例数据信息***到数据库中,同时***实例连接信息到Redis队列;
3) 对于已经在数据库中存在的实例,只更新其状态(空闲/占用等),如果实例是空闲状态,则检测其是否在数据库最新的记录是否是异常连接记录,如果是,检测验证云手机实例当前状态,若正常,则将其***Redis队列中;如果不是,则判断其是否丢失,如果发现丢失,则重新***队列;
4) 以上所有步骤若有执行***到Redis操作,则必须记录到数据库中,记录规则和服务端节点的日志处理保持一致;
5) 周期性步骤1)~4);
从mysql(关系型数据库)分析近期的所有的实例连接占用与释放日志,统计近期执行过的所有连接,与获取到的所有实例连接对比,筛选出不存在于近期记录的实例连接,判断可能是数据丢失,将其***Redis队列。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种资源调度装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的资源调度装置500可以包括:资源申请请求接收单元501、目标资源确定单元502、日志项增加及队列更新单元503。其中,资源申请请求接收单元501,被配置成接收传入的资源申请请求;目标资源确定单元502,被配置成根据资源申请请求在由主节点维护的可用资源队列中确定目标资源;其中,主节点根据记录有在先被申请的可用资源是否被成功调用的日志维护得到可用资源队列;日志项增加及队列更新单元503,被配置成响应于目标资源被成功调用,在日志中记录目标资源被成功调用的新日志项,并控制主节点通过读取日志中的新日志项更新可用资源队列。
在本实施例中,资源调度装置500中:资源申请请求接收单元501、目标资源确定单元502、日志项增加及队列更新单元503的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-203的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,资源调度装置500中还可以包括:
资源实际状况周期遍历单元,被配置成每隔预设时间间隔,遍历虚拟资源池中存储的每项可用资源和不可用资源,得到实际可用资源和实际不可用资源;
异常资源确定单元,被配置成比较实际可用资源、实际不可用资源和当前的可用资源队列,确定出异常资源。
在本实施例的一些可选的实现方式中,资源调度装置500中还可以包括:
异常资源处理单元,被配置成响应于异常资源为未记录于可用资源队列中的目标实际可用资源,将目标实际可用资源补入可用资源队列,并向先调用目标可用资源的申请端发送未成功调用通知。
在本实施例的一些可选的实现方式中,资源调度装置500中还可以包括:
占用超时资源处理单元,被配置成释放实际占用时长超过要求时长的目标不可用资源,并将释放后的目标不可用资源经初始化后重新记录在可用资源队列中;其中,要求时长记录于资源申请请求中。
在本实施例的一些可选的实现方式中,资源调度装置500中还可以包括:
主副节点权项转移单元,被配置成响应于主节点当前处于异常状态,控制主节点将可用资源队列的维护权限转交给预设的副节点;其中,副节点在未持有维护权限时从主节点同步有最新的可用资源队列的副本。
在本实施例的一些可选的实现方式中,资源调度装置500中还可以包括:
申请用户确定单元,被配置成在接收传入的资源申请请求之后、在根据资源申请请求在由主节点维护的可用资源队列中确定目标资源之前,根据资源申请请求确定申请用户;
合法用户判定及执行单元,被配置成响应于申请用户为预设的合法用户,则执行根据资源申请请求在由主节点维护的可用资源队列中确定目标资源的步骤。
在本实施例的一些可选的实现方式中,资源申请请求接收单元501可以被进一步配置成:
云手机接收由目标服务节点转发自目标申请终端的云手机申请请求;
对应的,目标资源确定单元502可以被进一步配置成:
根据云手机申请请求在由主节点维护的可用云手机资源队列中确定目标云手机资源,主节点根据记录有在先被申请的可用云手机资源是否被成功调用的服务端节点日志维护得到可用云手机资源队列;
对应的,日志项增加及队列更新单元503可以被进一步配置成:
响应于目标云手机资源被成功调用,控制目标服务节点在其服务端节点日志中记录目标云手机被成功调用的新日志项,并控制主节点通过读取服务端节点日志更新可用云手机资源队列。
本实施例作为对应于上述方法实施例的装置实施例存在,本实施例提供的资源调度装置在用于存储所有可用资源和不可用资源的资源池的前端增设了主节点,并通过该主节点以读取之前被申请调用的资源是否被成功调用的日志信息来维护可用资源队列,从而借助标明哪些资源是当前的可用资源的这一信息避免了后续再申请可用资源时需要对资源池中各资源状态的遍历操作,增加了资源的调度效率。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本申请的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如资源调度方法。例如,在一些实施例中,资源调度方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的资源调度方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行资源调度方法。
本文中以上描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上***的***(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大,业务扩展性弱的缺陷。
本申请实施例所提供的技术方案在用于存储所有可用资源和不可用资源的资源池的前端增设了主节点,并通过该主节点以读取之前被申请调用的资源是否被成功调用的日志信息来维护可用资源队列,从而借助标明哪些资源是当前的可用资源的这一信息避免了后续再申请可用资源时需要对资源池中各资源状态的遍历操作,增加了资源的调度效率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (12)

1.一种资源调度方法,包括:
接收传入的资源申请请求;
根据所述资源申请请求在由主节点维护的可用资源队列中确定目标资源;其中,所述主节点根据记录有在先被申请的可用资源是否被成功调用的日志维护得到所述可用资源队列,所述可用资源队列记录有所述可用资源的历史被调用或被申请次数信息;
响应于所述目标资源被成功调用,在所述日志中记录所述目标资源被成功调用的新日志项,并控制所述主节点通过读取所述日志中的新日志项更新所述可用资源队列;
每隔预设时间间隔,遍历虚拟资源池中存储的每项可用资源和不可用资源,得到实际可用资源和实际不可用资源;比较所述实际可用资源、所述实际不可用资源和当前的可用资源队列,确定出异常资源;
响应于所述异常资源为未记录于所述可用资源队列中的目标实际可用资源,将所述目标实际可用资源补入所述可用资源队列,并向之前调用所述目标实际可用资源的申请端发送未成功调用通知。
2.根据权利要求1所述的方法,还包括:
释放实际占用时长超过要求时长的目标不可用资源,并将释放后的目标不可用资源经初始化后重新记录在所述可用资源队列中;其中,所述要求时长记录于所述资源申请请求中。
3.根据权利要求1所述的方法,还包括:
响应于所述主节点当前处于异常状态,控制所述主节点将所述可用资源队列的维护权限转交给预设的副节点;其中,所述副节点在未持有所述维护权限时从所述主节点同步有最新的可用资源队列的副本。
4.根据权利要求1所述的方法,其中,在接收传入的资源申请请求之后、在根据所述资源申请请求在由主节点维护的可用资源队列中确定目标资源之前,还包括:
根据所述资源申请请求确定申请用户;
响应于所述申请用户为预设的合法用户,则执行所述根据所述资源申请请求在由主节点维护的可用资源队列中确定目标资源的步骤。
5.根据权利要求1-4任一项所述的方法,其中,所述接收传入的资源申请请求,包括:
接收由目标服务节点转发自目标申请终端的云手机申请请求;
对应的,所述根据所述资源申请请求在由主节点维护的可用资源队列中确定目标资源,所述主节点根据记录有在先被申请的可用资源是否被成功调用的日志维护得到所述可用资源队列,包括:
根据所述云手机申请请求在由所述主节点维护的可用云手机资源队列中确定目标云手机资源,所述主节点根据记录有在先被申请的可用云手机资源是否被成功调用的服务端节点日志维护得到所述可用云手机资源队列;
对应的,所述响应于所述目标资源被成功调用,在所述日志中记录所述目标资源被成功调用的新日志项,并控制所述主节点通过读取所述日志中的新日志项更新所述可用资源队列,包括:
响应于所述目标云手机资源被成功调用,控制所述目标服务节点在其服务端节点日志中记录所述目标云手机被成功调用的新日志项,并控制所述主节点通过读取所述服务端节点日志更新所述可用云手机资源队列。
6.一种资源调度装置,包括:
资源申请请求接收单元,被配置成接收传入的资源申请请求;
目标资源确定单元,被配置成根据所述资源申请请求在由主节点维护的可用资源队列中确定目标资源;其中,所述主节点根据记录有在先被申请的可用资源是否被成功调用的日志维护得到所述可用资源队列,所述可用资源队列记录有所述可用资源的历史被调用或被申请次数信息;
日志项增加及队列更新单元,被配置成响应于所述目标资源被成功调用,在所述日志中记录所述目标资源被成功调用的新日志项,并控制所述主节点通过读取所述日志中的新日志项更新所述可用资源队列;
资源实际状况周期遍历单元,被配置成每隔预设时间间隔,遍历虚拟资源池中存储的每项可用资源和不可用资源,得到实际可用资源和实际不可用资源;
异常资源确定单元,被配置成比较所述实际可用资源、所述实际不可用资源和当前的可用资源队列,确定出异常资源;
异常资源处理单元,被配置成响应于所述异常资源为未记录于所述可用资源队列中的目标实际可用资源,将所述目标实际可用资源补入所述可用资源队列,并向之前调用所述目标实际可用资源的申请端发送未成功调用通知。
7.根据权利要求6所述的装置,还包括:
占用超时资源处理单元,被配置成释放实际占用时长超过要求时长的目标不可用资源,并将释放后的目标不可用资源经初始化后重新记录在所述可用资源队列中;其中,所述要求时长记录于所述资源申请请求中。
8.根据权利要求6所述的装置,还包括:
主副节点权项转移单元,被配置成响应于所述主节点当前处于异常状态,控制所述主节点将所述可用资源队列的维护权限转交给预设的副节点;其中,所述副节点在未持有所述维护权限时从所述主节点同步有最新的可用资源队列的副本。
9.根据权利要求6所述的装置,还包括:
申请用户确定单元,被配置成在接收传入的资源申请请求之后、在根据所述资源申请请求在由主节点维护的可用资源队列中确定目标资源之前,根据所述资源申请请求确定申请用户;
合法用户判定及执行单元,被配置成响应于所述申请用户为预设的合法用户,则执行所述根据所述资源申请请求在由主节点维护的可用资源队列中确定目标资源的步骤。
10.根据权利要求6-9任一项所述的装置,其中,所述资源申请请求接收单元被进一步配置成:
云手机接收由目标服务节点转发自目标申请终端的云手机申请请求;
对应的,所述目标资源确定单元被进一步配置成:
根据所述云手机申请请求在由所述主节点维护的可用云手机资源队列中确定目标云手机资源,所述主节点根据记录有在先被申请的可用云手机资源是否被成功调用的服务端节点日志维护得到所述可用云手机资源队列;
对应的,所述日志项增加及队列更新单元被进一步配置成:
响应于所述目标云手机资源被成功调用,控制所述目标服务节点在其服务端节点日志中记录所述目标云手机被成功调用的新日志项,并控制所述主节点通过读取所述服务端节点日志更新所述可用云手机资源队列。
11.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的资源调度方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-5中任一项所述的资源调度方法。
CN202110089644.2A 2021-01-22 2021-01-22 资源调度方法、装置、设备、存储介质及计算机程序产品 Active CN112650576B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110089644.2A CN112650576B (zh) 2021-01-22 2021-01-22 资源调度方法、装置、设备、存储介质及计算机程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110089644.2A CN112650576B (zh) 2021-01-22 2021-01-22 资源调度方法、装置、设备、存储介质及计算机程序产品

Publications (2)

Publication Number Publication Date
CN112650576A CN112650576A (zh) 2021-04-13
CN112650576B true CN112650576B (zh) 2023-12-29

Family

ID=75370660

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110089644.2A Active CN112650576B (zh) 2021-01-22 2021-01-22 资源调度方法、装置、设备、存储介质及计算机程序产品

Country Status (1)

Country Link
CN (1) CN112650576B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113608856A (zh) * 2021-08-12 2021-11-05 杭州萤石软件有限公司 节点调度方法、***及装置
CN113673890B (zh) * 2021-08-26 2024-07-12 北京百度网讯科技有限公司 云手机资源订单处理方法、相关装置及计算机程序产品
CN113742174B (zh) * 2021-08-31 2024-04-02 北京百度网讯科技有限公司 云手机应用监控方法、装置、电子设备和存储介质
CN114189702B (zh) * 2021-12-07 2023-09-26 广州市百果园网络科技有限公司 基于直播间的资源对象分配方法、装置、设备及存储介质
CN114218536B (zh) * 2021-12-30 2024-07-09 奇安信科技集团股份有限公司 一种资源请求方法及***
CN114185688B (zh) * 2022-02-14 2023-03-10 维塔科技(北京)有限公司 物理资源占用状态的矫正方法、调度器及可读存储介质
CN115225487A (zh) * 2022-07-25 2022-10-21 天翼云科技有限公司 一种入云业务的开通方法及装置
CN115801889B (zh) * 2022-08-19 2024-07-12 ***股份有限公司 通信资源管理***和方法、存储介质
CN115269207B (zh) * 2022-09-29 2022-12-23 浙江省公众信息产业有限公司无线运营分公司 一种用于vCPE网元分配资源的方法和***
CN118075215A (zh) * 2022-11-24 2024-05-24 大唐移动通信设备有限公司 算力节点管理方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976205A (zh) * 2010-05-27 2011-02-16 福州开睿动力通信科技有限公司 基于电子地图技术的对讲手机任务调度管理***及方法
CN102447582A (zh) * 2011-12-31 2012-05-09 中兴通讯股份有限公司 资源同步方法和装置
CN102467369A (zh) * 2010-11-03 2012-05-23 北京普源精电科技有限公司 测量资源控制***和测量资源控制方法
CN103002043A (zh) * 2012-12-14 2013-03-27 百度在线网络技术(北京)有限公司 用于云环境的资源管理方法和***
CN108121599A (zh) * 2016-11-30 2018-06-05 杭州海康威视数字技术股份有限公司 一种资源管理方法、装置及***
CN108200111A (zh) * 2016-12-08 2018-06-22 ***通信集团山西有限公司 资源配置信息更新方法、装置和资源接口设备
CN108897626A (zh) * 2018-07-20 2018-11-27 浪潮电子信息产业股份有限公司 一种资源调度方法及服务器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101446909B (zh) * 2007-11-30 2011-12-28 国际商业机器公司 用于管理任务事件的方法和***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101976205A (zh) * 2010-05-27 2011-02-16 福州开睿动力通信科技有限公司 基于电子地图技术的对讲手机任务调度管理***及方法
CN102467369A (zh) * 2010-11-03 2012-05-23 北京普源精电科技有限公司 测量资源控制***和测量资源控制方法
CN102447582A (zh) * 2011-12-31 2012-05-09 中兴通讯股份有限公司 资源同步方法和装置
CN103002043A (zh) * 2012-12-14 2013-03-27 百度在线网络技术(北京)有限公司 用于云环境的资源管理方法和***
CN108121599A (zh) * 2016-11-30 2018-06-05 杭州海康威视数字技术股份有限公司 一种资源管理方法、装置及***
CN108200111A (zh) * 2016-12-08 2018-06-22 ***通信集团山西有限公司 资源配置信息更新方法、装置和资源接口设备
CN108897626A (zh) * 2018-07-20 2018-11-27 浪潮电子信息产业股份有限公司 一种资源调度方法及服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
多租户高可用并行任务调度框架;刘一田;刘士进;;《计算机***应用》;第25卷(第12期);第280-284页 *

Also Published As

Publication number Publication date
CN112650576A (zh) 2021-04-13

Similar Documents

Publication Publication Date Title
CN112650576B (zh) 资源调度方法、装置、设备、存储介质及计算机程序产品
US10536416B2 (en) Intelligent message queue management
CN110210845B (zh) 用于区块链数据迁移的方法、装置、介质和计算设备
CN113364877B (zh) 数据处理方法、装置、电子设备和介质
CN110912949B (zh) 位点提交方法和装置
CN113010238A (zh) 一种微应用调用接口的权限确定方法、装置和***
US20210117253A1 (en) Method, device, and computer program product for managing processes
CN113760982A (zh) 一种数据处理方法和装置
CN116661960A (zh) 一种批量任务处理方法、装置、设备以及存储介质
CN114070889B (zh) 配置方法、流量转发方法、设备、存储介质及程序产品
CN115543416A (zh) 一种配置更新方法、装置、电子设备及存储介质
CN114374657A (zh) 一种数据处理方法和装置
CN115310096A (zh) 一种安全漏洞的处理方法、装置、设备及介质
CN109903022B (zh) 资源发放方法、装置、设备及计算机可读存储介质
CN113765871B (zh) 堡垒机管理的方法和装置
CN113726885A (zh) 一种流量配额的调整方法和装置
CN113419880A (zh) 云手机根权限获取方法、相关装置及计算机程序产品
CN113742355A (zh) 更新库存的方法、装置、设备和计算机可读介质
CN114546705B (zh) 操作响应方法、操作响应装置、电子设备以及存储介质
CN112306371A (zh) 存储管理的方法、设备和计算机程序产品
CN111179097B (zh) 保单批改的方法、装置、电子设备和存储介质
CN113886078B (zh) 基于动态阈值机制实现配额统一管理的方法、装置、电子设备及计算机可读存储介质
US11687269B2 (en) Determining data copy resources
CN110262756B (zh) 用于缓存数据的方法和装置
CN116594764A (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