CN107741873A - 业务处理方法及装置 - Google Patents
业务处理方法及装置 Download PDFInfo
- Publication number
- CN107741873A CN107741873A CN201611150644.4A CN201611150644A CN107741873A CN 107741873 A CN107741873 A CN 107741873A CN 201611150644 A CN201611150644 A CN 201611150644A CN 107741873 A CN107741873 A CN 107741873A
- Authority
- CN
- China
- Prior art keywords
- cluster
- slot
- service logic
- virtual slots
- logic task
- 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
Links
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种业务处理方法,其包括:在实际插槽集群中设置至少两个虚拟插槽集群,其中虚拟插槽集群包括实际插槽集群中的至少一个节点下的至少一个插槽;接收业务逻辑任务,并根据业务逻辑任务的数据量,确定执行业务逻辑任务的虚拟插槽集群;使用虚拟插槽集群执行业务逻辑任务。本发明还提供一种业务处理装置,本发明的业务处理方法及业务处理装置根据业务逻辑任务的数据量,确定执行业务逻辑任务的虚拟插槽集群,并可对虚拟插槽集群的插槽进行扩充处理;因此提升了业务处理装置的插槽集群的扩展能力,满足了不同优先级别的流数据业务的计算要求,且可实现不同用户的流数据业务隔离。
Description
技术领域
本发明涉及互联网领域,特别是涉及一种业务处理方法及装置。
背景技术
Apache Storm是一种分布式实时计算***,其可用于任何编程语言,该计算***简化了流数据业务的可靠处理,可实现实时对流数据业务进行批量处理。
由于流数据业务具有不同的优先级别,分布式实时计算***一般通过设定相互隔离的插槽集群来处理不同优先级别的流数据业务,以保证这些插槽集群上的流数据业务的隔离状态。
但是现有的分布式实时计算***的插槽集群的扩展能力较差,无法根据流数据业务的需求资源设定插槽集群中的插槽数量。每个插槽集群的调度策略单一,不能满足不同优先级别的流数据业务的计算要求。同时如不同的用户使用同一插槽集群中的插槽资源,无法实现不同用户的流数据业务的隔离。
发明内容
本发明实施例提供一种扩展能力较强,可满足不同优先级别的流数据业务的计算要求以及可实现不同用户的流数据业务隔离的业务处理方法及业务处理装置;以解决现有的业务处理方法及业务处理装置的插槽集群的扩展能力较差、无法满足不同优先级别的流数据业务的计算要求以及无法实现不同用户的流数据业务的隔离的技术问题。
本发明实施例提供一种业务处理方法,其包括:
在实际插槽集群中设置至少两个虚拟插槽集群,其中所述虚拟插槽集群包括实际插槽集群中的至少一个节点下的至少一个插槽;
接收业务逻辑任务,并根据所述业务逻辑任务的数据量,确定执行所述业务逻辑任务的虚拟插槽集群;以及
使用所述虚拟插槽集群执行所述业务逻辑任务。
本发明实施例提供一种业务处理装置,其包括:
虚拟插槽集群设置模块,用于在实际插槽集群中设置至少两个虚拟插槽集群,其中所述虚拟插槽集群包括实际插槽集群中的至少一个节点下的至少一个插槽;
虚拟插槽集群确定模块,用于接收业务逻辑任务,并根据所述业务逻辑任务的数据量,确定执行所述业务逻辑任务的虚拟插槽集群;以及
任务执行模块,用于使用所述虚拟插槽集群执行所述业务逻辑任务。
相较于现有技术,本发明的业务处理方法及业务处理装置根据业务逻辑任务的数据量,确定执行业务逻辑任务的虚拟插槽集群,并可对虚拟插槽集群的插槽进行扩充处理;因此提升了业务处理装置的插槽集群的扩展能力,满足了不同优先级别的流数据业务的计算要求,且可实现不同用户的流数据业务隔离;解决了现有的业务处理方法及业务处理装置的插槽集群的扩展能力较差、无法满足不同优先级别的流数据业务的计算要求以及无法实现不同用户的流数据业务的隔离的技术问题。
附图说明
图1为本发明的业务处理方法的第一优选实施例的流程图;
图2为本发明的业务处理方法的第二优选实施例的流程图;
图3为本发明的业务处理方法的第二优选实施例的步骤203的流程图;
图4为本发明的业务处理方法的第二优选实施例的步骤205的流程图;
图5为本发明的业务处理方法的第二优选实施例中的插槽扩充处理的流程图;
图6为本发明的业务处理装置的第一优选实施例的结构示意图;
图7为本发明的业务处理装置的第二优选实施例的结构示意图;
图8为本发明的业务处理装置的第二优选实施例的虚拟插槽集群确定模块的结构示意图;
图9为本发明的业务处理装置的第二优选实施例的任务执行模块的结构示意图;
图10为本发明的业务处理装置的第二优选实施例的任务执行模块的插槽扩充单元的结构示意图;
图11为本发明的业务处理方法及业务处理装置的具体实施例的流程图;
图12A至图12D为本发明的业务处理方法及业务处理装置的具体实施例的实施示意图;
图13为本发明的业务处理装置所在的电子设备的工作环境结构示意图。
具体实施方式
请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行之作业的步骤及符号来说明,除非另有述明。因此,其将可了解到这些步骤及操作,其中有数次提到为由计算机执行,包括了由代表了以一结构化型式中的数据之电子信号的计算机处理单元所操纵。此操纵转换该数据或将其维持在该计算机之内存***中的位置处,其可重新配置或另外以本领域技术人员所熟知的方式来改变该计算机之运作。该数据所维持的数据结构为该内存之实***置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
本发明的业务处理方法及业务处理装置可设置在具有分布式实时计算***的服务器计算机中,本发明的服务器计算机设定多个虚拟插槽集群,并可根据业务逻辑任务的数据量,确定执行业务逻辑任务的虚拟插槽集群;此外还可根据业务逻辑任务的数据量,对虚拟插槽集群的插槽进行扩充处理。因此提升了服务器计算机中的分布式实时计算***的扩展能力,满足了不同优先级别的流数据业务的计算要求,且可实现不同用户的流数据业务隔离。
请参照图1,图1为本发明的业务处理方法的第一优选实施例的流程图。本优选实施例的业务处理方法可使用上述的服务器计算机进行实施,本优选实施例的业务处理方法可包括:
步骤S101,在实际插槽集群中设置至少两个虚拟插槽集群,其中虚拟插槽集群包括实际插槽集群中的至少一个节点下的至少一个插槽;
步骤S102,接收业务逻辑任务,并根据业务逻辑任务的数据量,确定执行业务逻辑任务的虚拟插槽集群;
步骤S103,使用虚拟插槽集群执行业务逻辑任务。
下面详细说明本优选实施例的业务处理方法的各步骤的具体流程。
在步骤S101中,业务处理装置在实际插槽集群中设置至少两个虚拟插槽集群,这里每个虚拟插槽集群包括实际插槽集群中的至少一个节点下的至少一个插槽。
即本优选实施例中的业务处理方法中通过对每个节点下的插槽进行节点插槽定义,从而形成多个虚拟插槽集群。每个节点下的插槽同一时间只能属于某一虚拟插槽集群。同时由于虚拟插槽集群中的插槽可通过修改节点插槽定义进行即时修改,因此方便的对虚拟插槽集群中的插槽进行扩充或减少操作,提升了业务处理装置的插槽集群的扩展能力。随后转到步骤S102。
在步骤S102中,业务处理装置接收用户发送的业务逻辑任务,该业务逻辑任务可为需要分布式实时计算***进行处理的流数据任务。
随后业务处理装置根据业务逻辑任务的数据量,确定执行业务逻辑任务的虚拟插槽集群。这里的虚拟插槽集群可包括对业务逻辑任务进行多节点平均分配处理的第一虚拟插槽集群以及对业务逻辑任务进行单节点分配处理的第二虚拟插槽集群。由于第一虚拟插槽集群需要对业务逻辑任务进行多节点平均分配处理,因此第一虚拟插槽集群在多个节点应具有较多的节点插槽;第二虚拟插槽集群对业务逻辑任务进行单节点分配处理,因此第二虚拟插槽集群只需要在少数节点上设置有节点插槽即可。如实际插槽集群中节点的插槽可优先设定为第一虚拟插槽集群,随后将剩下的节点插槽设置为一个或多个第二虚拟插槽集群。
当业务逻辑任务的数据量较大时,业务处理装置需要将该业务逻辑任务优先部署到空闲插槽比例较大的虚拟插槽集群,以便对该业务逻辑任务进行平均资源分配;因此这里需要将数据量较大的业务逻辑任务部署至第一虚拟插槽集群,以提高该业务逻辑任务的处理效率。
当业务逻辑任务的数据量较小时,业务处理装置应将该业务逻辑任务部署到剩余资源较少的节点上,从而在保证业务逻辑任务完成的基础上,提高业务处理装置的资源利用率。因此这里需要将数据量较小的业务逻辑任务部署至第二虚拟插槽集群。
这里业务逻辑任务的数据量的大小判断标准可根据用户的需求进行设定,用户还可根据业务处理装置的空闲情况以及业务逻辑任务的优先级别对该数据量的大小判断标准进行修正。从而满足了不同优先级别的业务逻辑任务的计算要求。随后转到步骤S103。
在步骤S103中,业务处理装置使用步骤S102确定的虚拟插槽集群执行相应的业务逻辑任务。虚拟插槽集群在执行相应的业务逻辑任务时,业务处理装置依据虚拟插槽集群中的插槽数量,对虚拟插槽集群进行了硬件资源(如内存以及CPU等)的分配,同时业务处理装置使用Cgroups(control groups)对每个虚拟插槽集群的硬件资源进行隔离,以实现不同用户的流数据业务的隔离。
这样即完成了本优选实施例的业务处理方法的流数据业务的处理过程。
本优选实施例的业务处理方法根据业务逻辑任务的数据量,确定执行业务逻辑任务的虚拟插槽集群,并可对虚拟插槽集群的插槽进行扩充处理;因此提升了业务处理装置的插槽集群的扩展能力,满足了不同优先级别的流数据业务的计算要求,且可实现不同用户的流数据业务隔离。
请参照图2,图2为本发明的业务处理方法的第二优选实施例的流程图。本优选实施例的业务处理方法可使用上述的服务器计算机进行实施,本优选实施例的业务处理方法可包括:
步骤S201,在实际插槽集群中设置至少两个虚拟插槽集群,其中虚拟插槽集群包括实际插槽集群中的至少一个节点下的至少一个插槽;
步骤S202,设定虚拟插槽集群的用户参数;
步骤S203,接收业务逻辑任务,并根据业务逻辑任务的数据量以及用户参数,确定执行业务逻辑任务的虚拟插槽集群;
步骤S204,按虚拟插槽集群中的插槽数量,对虚拟插槽集群进行硬件资源分配;
步骤S205,使用进行应用资源分配后的虚拟插槽集群执行业务逻辑任务。
下面详细说明本优选实施例的业务处理方法的各步骤的具体流程。
在步骤S201中,业务处理装置在实际插槽集群中设置至少两个虚拟插槽集群,这里每个虚拟插槽集群包括实际插槽集群中的至少一个节点下的至少一个插槽。
即本优选实施例中的业务处理方法中通过对每个节点下的插槽进行节点插槽定义,从而形成多个虚拟插槽集群。每个节点下的插槽同一时间只能属于某一虚拟插槽集群。同时由于虚拟插槽集群中的插槽可通过修改节点插槽定义进行即时修改,因此方便的对虚拟插槽集群中的插槽进行扩充或减少操作,提升了业务处理装置的插槽集群的扩展能力。随后转到步骤S202。
在步骤S202中,业务处理装置根据用户指令设定步骤S201获取的虚拟插槽集群的用户参数,这里的虚拟插槽集群的用户参数为可使用该虚拟插槽集群的用户账号,这样可以对不同用户的业务逻辑任务通过虚拟插槽集群进行隔离,从而实现了不同用户的流数据业务隔离。随后转到步骤S203。
在步骤S203中,业务处理装置接收用户发送的业务逻辑任务以及用户参数,该业务逻辑任务可为需要分布式实时计算***进行处理的流数据任务。
随后业务处理装置根据业务逻辑任务的数据量和用户参数,确定执行业务逻辑任务的虚拟插槽集群。这里的虚拟插槽集群可包括对业务逻辑任务进行多节点平均分配处理的第一虚拟插槽集群以及对业务逻辑任务进行单节点分配处理的第二虚拟插槽集群。由于第一虚拟插槽集群需要对业务逻辑任务进行多节点平均分配处理,因此第一虚拟插槽集群在多个节点应具有较多的节点插槽;第二虚拟插槽集群对业务逻辑任务进行单节点分配处理,因此第二虚拟插槽集群只需要在少数节点上设置有节点插槽即可。如实际插槽集群中节点的插槽可优先设定为第一虚拟插槽集群,随后将剩下的节点插槽设置为一个或多个第二虚拟插槽集群。
请参照图3,图3为本发明的业务处理方法的第二优选实施例的步骤203的流程图。该步骤S203具体包括:
步骤S301,判断业务逻辑任务的数据量是否大于等于设定值;如业务逻辑任务的数据量大于等于设定值,则转到步骤S302,;如业务逻辑任务的数据量小于设定值,则转到步骤S303。
步骤S302,业务逻辑任务的数据量大于等于设定值,业务处理装置需要将该业务逻辑任务优先部署到空闲插槽比例较大的虚拟插槽集群,以便对该业务逻辑任务进行平均资源分配;因此这里需要将数据量较大的业务逻辑任务部署至第一虚拟插槽集群进行执行,以提高该业务逻辑任务的处理效率。
步骤S303,业务逻辑任务的数据量小于设定值,业务处理装置应将该业务逻辑任务部署到剩余资源较少的节点上,从而在保证业务逻辑任务完成的基础上,提高业务处理装置的资源利用率。因此这里需要将数据量较小的业务逻辑任务部署至第二虚拟插槽集群进行执行。
这里设定值可根据用户的需求进行设置,从而满足了不同优先级别的业务逻辑任务的计算要求。业务处理装置还需根据虚拟插槽集群的用户参数,将业务逻辑任务分配到具有对应用户权限的虚拟插槽集群中,以保证不同用户的流数据业务隔离。随后转到步骤S204。
在步骤S204中,为了保证各个虚拟插槽集群的正常工作,业务处理装置应按步骤S201中设置的虚拟插槽集群中插槽的数量,对虚拟插槽集群进行硬件资源分配。同时业务处理装置使用Cgroups(control groups)对每个虚拟插槽集群的硬件资源进行隔离,以实现不同用户的流数据业务的隔离。随后转到步骤S205。
在步骤S205中,业务处理装置使用步骤S203确定的虚拟插槽集群执行相应的业务逻辑任务。虚拟插槽集群在执行业务逻辑任务时,为了进一步提高业务逻辑任务执行的效率,这里会选择性的使用空闲插槽或低优先级的业务逻辑任务对应的虚拟插槽集群使用的插槽,对高优先级的业务逻辑任务对应的虚拟插槽集群的插槽进行扩充处理。
具体请参照图4,图4为本发明的业务处理方法的第二优选实施例的步骤205的流程图。该步骤S205具体包括:
步骤S401,根据业务逻辑任务的数据量,判断对应的虚拟插槽集群的插槽缺口的数量是否大于零。如虚拟插槽集群的插槽缺口的数量等于零,则转到步骤S402;如虚拟插槽集群的插槽缺口的数量大于零,则转到步骤S403;。这里的虚拟插槽集群的插槽缺口是指执行该业务逻辑任务需要的插槽数量与对应的虚拟插槽集群中的空闲插槽数量的差值。
步骤S402,虚拟插槽集群的插槽缺口的数量等于零,则说明当前虚拟插槽集群中的空闲插槽数量大于等于执行该业务逻辑任务需要的插槽数量,这时业务处理装置可直接使用该虚拟插槽集群执行该业务逻辑任务。
步骤S403,虚拟插槽集群的插槽缺口的数量大于零,则说明当前虚拟插槽集群中的空闲插槽数量小于执行该业务逻辑任务需要的插槽数量,这时业务处理装置需要对该虚拟插槽集群的插槽进行扩充处理,以便该虚拟插槽集群执行该业务逻辑任务。
这里对虚拟插槽集群的插槽进行扩充处理的方式可为:
将其他虚拟插槽集群的空闲插槽直接设置到扩充处理的虚拟插槽集群中,使得扩充处理后的虚拟插槽集群中的空闲插槽数量等于执行该业务逻辑任务需要的插槽数量。
优选的,这里还可使用其他虚拟插槽集群中的非空闲插槽对某些高优先级的业务逻辑任务对应的虚拟插槽集群的插槽进行扩充操作,具体为请参照图5,图5为本发明的业务处理方法的第二优选实施例中的插槽扩充处理的流程图。该插槽扩充处理包括:
步骤S501,业务处理装置获取优先级低于业务逻辑任务的其他虚拟插槽集群的当前业务逻辑任务;
步骤S502,业务处理装置判断当前业务逻辑任务使用的插槽和空闲插槽的数量之和是否大于等于插槽缺口的数量,如当前业务逻辑任务使用的插槽和空闲插槽的数量之和小于插槽缺口的数量,则转到步骤S503;如当前业务逻辑任务使用的插槽和空闲插槽的数量之和大于等于插槽缺口的数量,则转到步骤S504。
步骤S503,由于当前业务逻辑任务使用的插槽和空闲插槽的数量之和小于插槽缺口的数量,即即使释放其他虚拟插槽集群中所有的低优先级的当前业务逻辑任务,产生的空闲插槽也不够执行高优先级的业务逻辑任务,因此这里业务处理装置将业务逻辑任务设置到等待队列中,等待虚拟插槽集群中空闲插槽的释放;如发现任何虚拟插槽集群中释放出空闲插槽,再返回步骤S501进行插槽扩充处理判断。
步骤S504,如当前业务逻辑任务使用的插槽和空闲插槽的数量之和大于等于插槽缺口的数量,则业务处理装置对当前业务逻辑任务按优先级依次进行插槽资源释放,以使得空闲插槽的数量大于等于插槽缺口的数量。
步骤S505,业务处理装置将步骤S504释放的虚拟插槽集群的空闲插槽设置到进行扩充处理的虚拟插槽集群中,使得扩充处理后的虚拟插槽集群中的空闲插槽数量等于执行该业务逻辑任务需要的插槽数量。
这样即完成了本优选实施例的业务处理方法的流数据业务的处理过程。
在第一优选实施例的基础上,本优选实施例的业务处理方法根据业务逻辑任务的数据量以及用户权限等参数来确定业务逻辑任务的虚拟插槽集群,进一步优化了不同虚拟插槽集群中的用户分类;使用空闲插槽或低优先级的业务逻辑任务对应的虚拟插槽集群的插槽,对高优先级的业务逻辑任务对应的虚拟插槽集群的插槽进行扩充处理,进一步提高了虚拟插槽集群的插槽即时扩充调整能力,提高了流数据业务的处理效率。
本发明还提供一种业务处理装置,请参照图6,图6为本发明的业务处理装置的第一优选实施例的结构示意图,本优选实施例的业务处理装置可使用上述的业务处理方法的第一优选实施例进行实施,本优选实施例的业务处理装置60包括虚拟插槽集群设置模块61、虚拟插槽集群确定模块62以及任务执行模块63。
虚拟插槽集群设置模块61用于在实际插槽集群中设置至少两个虚拟插槽集群,其中虚拟插槽集群包括实际插槽集群中的至少一个节点下的至少一个插槽;虚拟插槽集群确定模块62用于接收业务逻辑任务,并根据业务逻辑任务的数据量,确定执行业务逻辑任务的虚拟插槽集群;任务执行模块63用于使用虚拟插槽集群执行业务逻辑任务。
本优选实施例的业务处理装置60使用时,首先虚拟插槽集群设置模块61在实际插槽集群中设置至少两个虚拟插槽集群,这里每个虚拟插槽集群包括实际插槽集群中的至少一个节点下的至少一个插槽。
即本优选实施例中虚拟插槽集群设置模块61通过对每个节点下的插槽进行节点插槽定义,从而形成多个虚拟插槽集群。每个节点下的插槽同一时间只能属于某一虚拟插槽集群。同时由于虚拟插槽集群中的插槽可通过修改节点插槽定义进行即时修改,因此方便的对虚拟插槽集群中的插槽进行扩充或减少操作,提升了业务处理装置的插槽集群的扩展能力。
随后虚拟插槽集群确定模块62接收用户发送的业务逻辑任务,该业务逻辑任务可为需要分布式实时计算***进行处理的流数据任务。
随后虚拟插槽集群确定模块62根据业务逻辑任务的数据量,确定执行业务逻辑任务的虚拟插槽集群。这里的虚拟插槽集群可包括对业务逻辑任务进行多节点平均分配处理的第一虚拟插槽集群以及对业务逻辑任务进行单节点分配处理的第二虚拟插槽集群。由于第一虚拟插槽集群需要对业务逻辑任务进行多节点平均分配处理,因此第一虚拟插槽集群在多个节点应具有较多的节点插槽;第二虚拟插槽集群对业务逻辑任务进行单节点分配处理,因此第二虚拟插槽集群只需要在少数节点上设置有节点插槽即可。如实际插槽集群中节点的插槽可优先设定为第一虚拟插槽集群,随后将剩下的节点插槽设置为一个或多个第二虚拟插槽集群。
当业务逻辑任务的数据量较大时,虚拟插槽集群确定模块62需要将该业务逻辑任务优先部署到空闲插槽比例较大的虚拟插槽集群,以便对该业务逻辑任务进行平均资源分配;因此这里虚拟插槽集群确定模块62需要将数据量较大的业务逻辑任务部署至第一虚拟插槽集群,以提高该业务逻辑任务的处理效率。
当业务逻辑任务的数据量较小时,虚拟插槽集群确定模块62应将该业务逻辑任务部署到剩余资源较少的节点上,从而在保证业务逻辑任务完成的基础上,提高业务处理装置的资源利用率。因此这里虚拟插槽集群确定模块62需要将数据量较小的业务逻辑任务部署至第二虚拟插槽集群。
这里业务逻辑任务的数据量的大小判断标准可根据用户的需求进行设定,用户还可根据业务处理装置的空闲情况以及业务逻辑任务的优先级别对该数据量的大小判断标准进行修正。从而满足了不同优先级别的业务逻辑任务的计算要求。
最后任务执行模块63使用虚拟插槽集群确定模块62确定的虚拟插槽集群执行相应的业务逻辑任务。虚拟插槽集群在执行相应的业务逻辑任务时,任务执行模块63依据虚拟插槽集群中的插槽数量,对虚拟插槽集群进行了硬件资源(如内存以及CPU等)的分配,同时业务处理装置使用Cgroups(control groups)对每个虚拟插槽集群的硬件资源进行隔离,以实现不同用户的流数据业务的隔离。
这样即完成了本优选实施例的业务处理装置60的流数据业务的处理过程。
本优选实施例的业务处理装置根据业务逻辑任务的数据量,确定执行业务逻辑任务的虚拟插槽集群,并可对虚拟插槽集群的插槽进行扩充处理;因此提升了业务处理装置的插槽集群的扩展能力,满足了不同优先级别的流数据业务的计算要求,且可实现不同用户的流数据业务隔离。
请参照图7,图7为本发明的业务处理装置的第二优选实施例的结构示意图,本优选实施例的业务处理装置可使用上述的业务员处理方法的第二优选实施例进行实施,本优选实施例的业务处理装置70包括虚拟插槽集群设置模块71、用户参数设定模块72、虚拟插槽集群确定模块73、硬件资源分配模块74以及任务执行模块75。
虚拟插槽集群设置模块71用于在实际插槽集群中设置至少两个虚拟插槽集群,其中虚拟插槽集群包括实际插槽集群中的至少一个节点下的至少一个插槽;用户参数设定模块72用于设定虚拟插槽集群的用户参数;虚拟插槽集群确定模块73用于接收业务逻辑任务,并根据业务逻辑任务的数据量以及用户参数,确定执行业务逻辑任务的虚拟插槽集群。硬件资源分配模块74用于按虚拟插槽集群中的插槽数量,对虚拟插槽集群进行硬件资源分配。任务执行模块75用于使用虚拟插槽集群执行业务逻辑任务。
请参照图8,图8为本发明的业务处理装置的第二优选实施例的虚拟插槽集群确定模块的结构示意图。该虚拟插槽集群确定模块73包括数据量判断单元81、第一虚拟插槽集群确定单元82以及第二虚拟插槽集群确定单元83。
数据量判断单元81用于判断业务逻辑任务的数据量是否大于等于设定值;第一虚拟插槽集群确定单元82用于如业务逻辑任务的数据量大于等于设定值,则将业务逻辑任务分配至第一虚拟插槽集群进行执行;第二虚拟插槽集群确定单元83用于如业务逻辑任务的数据量小于设定值,则将业务逻辑任务分配至第二虚拟插槽集群进行执行。
请参照图9,图9为本发明的业务处理装置的第二优选实施例的任务执行模块的结构示意图。该任务执行模块75包括插槽缺口判断单元91、插槽扩充单元92以及任务执行单元93。
插槽缺口判断单元91用于根据业务逻辑任务的数据量,判断对应的虚拟插槽集群的插槽缺口的数量是否大于零;插槽扩充单元92用于如虚拟插槽集群的插槽缺口的数量大于零,则对虚拟插槽集群的插槽进行扩充处理;任务执行单元93用于如虚拟插槽集群的插槽缺口的数量等于零,使用虚拟插槽集群执行业务逻辑任务。
请参照图10,图10为本发明的业务处理装置的第二优选实施例的任务执行模块的插槽扩充单元的结构示意图。该插槽扩充单元92包括第一插槽扩充子单元101、低优先级任务获取子单元102、插槽缺口判断子单元103、任务等待子单元104、插槽资源释放子单元105以及第二插槽扩充子单元106。
第一插槽扩充子单元101用于将其他虚拟插槽集群的空闲插槽设置到进行扩充处理的虚拟插槽集群中;低优先级任务获取子单元102用于获取优先级低于业务逻辑任务的其他虚拟插槽集群的当前业务逻辑任务;插槽缺口判断子单元103用于判断当前业务逻辑任务使用插槽的数量是否大于等于插槽缺口的数量;任务等待子单元104用于如当前业务逻辑任务的使用插槽的数量小于插槽缺口的数量;则将业务逻辑任务设置到等待队列中;插槽资源释放子单元105用于如当前业务逻辑任务的使用插槽的数量大于等于插槽缺口的数量;则对当前业务逻辑任务按优先级依次进行插槽资源释放,以使得空闲插槽的数量大于等于所述插槽缺口的数量;第二插槽扩充子单元106用于将其他虚拟插槽集群的空闲插槽设置到进行扩充处理的虚拟插槽集群中。
本优选实施例的业务处理装置70使用时,首先虚拟插槽集群设置模块71在实际插槽集群中设置至少两个虚拟插槽集群,这里每个虚拟插槽集群包括实际插槽集群中的至少一个节点下的至少一个插槽。
即本优选实施例中的虚拟插槽集群设置模块71通过对每个节点下的插槽进行节点插槽定义,从而形成多个虚拟插槽集群。每个节点下的插槽同一时间只能属于某一虚拟插槽集群。同时由于虚拟插槽集群中的插槽可通过修改节点插槽定义进行即时修改,因此方便的对虚拟插槽集群中的插槽进行扩充或减少操作,提升了业务处理装置的插槽集群的扩展能力。
随后用户参数设定模块72根据用户指令设定虚拟插槽集群设置模块71获取的虚拟插槽集群的用户参数,这里的虚拟插槽集群的用户参数为可使用该虚拟插槽集群的用户账号,这样可以对不同用户的业务逻辑任务通过虚拟插槽集群进行隔离,从而实现了不同用户的流数据业务隔离。
然后虚拟插槽集群确定模块73接收用户发送的业务逻辑任务以及用户参数,该业务逻辑任务可为需要分布式实时计算***进行处理的流数据任务。
随后虚拟插槽集群确定模块73根据业务逻辑任务的数据量和用户参数,确定执行业务逻辑任务的虚拟插槽集群。这里的虚拟插槽集群可包括对业务逻辑任务进行多节点平均分配处理的第一虚拟插槽集群以及对业务逻辑任务进行单节点分配处理的第二虚拟插槽集群。由于第一虚拟插槽集群需要对业务逻辑任务进行多节点平均分配处理,因此第一虚拟插槽集群在多个节点应具有较多的节点插槽;第二虚拟插槽集群对业务逻辑任务进行单节点分配处理,因此第二虚拟插槽集群只需要在少数节点上设置有节点插槽即可。如实际插槽集群中节点的插槽可优先设定为第一虚拟插槽集群,随后将剩下的节点插槽设置为一个或多个第二虚拟插槽集群。
具体确定执行业务逻辑任务的虚拟插槽集群的过程包括:
虚拟插槽集群确定模块73的数据量判断单元81判断业务逻辑任务的数据量是否大于等于设定值。
如业务逻辑任务的数据量大于等于设定值,则虚拟插槽集群确定模块73的第一虚拟插槽集群确定单元82需要将该业务逻辑任务优先部署到空闲插槽比例较大的虚拟插槽集群,以便对该业务逻辑任务进行平均资源分配;因此这里需要将数据量较大的业务逻辑任务部署至第一虚拟插槽集群进行执行,以提高该业务逻辑任务的处理效率。
如业务逻辑任务的数据量小于设定值,则虚拟插槽集群确定模块73的第二虚拟插槽集群确定单元83应将该业务逻辑任务部署到剩余资源较少的节点上,从而在保证业务逻辑任务完成的基础上,提高业务处理装置的资源利用率。因此这里需要将数据量较小的业务逻辑任务部署至第二虚拟插槽集群进行执行。
这里设定值可根据用户的需求进行设置,从而满足了不同优先级别的业务逻辑任务的计算要求。虚拟插槽集群确定模块73还需根据虚拟插槽集群的用户参数,将业务逻辑任务分配到具有对应用户权限的虚拟插槽集群中,以保证不同用户的流数据业务隔离。
然后为了保证各个虚拟插槽集群的正常工作,硬件资源分配模块74应按虚拟插槽集群设置模块73设置的虚拟插槽集群中插槽的数量,对虚拟插槽集群进行硬件资源分配。同时硬件资源分配模块74使用Cgroups(control groups)对每个虚拟插槽集群的硬件资源进行隔离,以实现不同用户的流数据业务的隔离。
最后任务执行模块75使用虚拟插槽集群确定模块73确定的虚拟插槽集群执行相应的业务逻辑任务。虚拟插槽集群在执行业务逻辑任务时,为了进一步提高业务逻辑任务执行的效率,这里会选择性的使用空闲插槽或低优先级的业务逻辑任务对应的虚拟插槽集群使用的插槽,对高优先级的业务逻辑任务对应的虚拟插槽集群的插槽进行扩充处理。
扩充处理过程具体包括:
任务执行模块75的插槽缺口判断单元91根据业务逻辑任务的数据量,判断对应的虚拟插槽集群的插槽缺口的数量是否大于零。
如虚拟插槽集群的插槽缺口的数量等于零,则说明当前虚拟插槽集群中的空闲插槽数量大于等于执行该业务逻辑任务需要的插槽数量,这时任务执行模块75的任务执行单元92可直接使用该虚拟插槽集群执行该业务逻辑任务。
如虚拟插槽集群的插槽缺口的数量大于零,则说明当前虚拟插槽集群中的空闲插槽数量小于执行该业务逻辑任务需要的插槽数量,这时任务执行模块75的插槽扩充单元93需要对该虚拟插槽集群的插槽进行扩充处理,以便该虚拟插槽集群执行该业务逻辑任务。
这里插槽扩充单元93对虚拟插槽集群的插槽进行扩充处理的方式可为:
插槽扩充单元93的第一插槽扩充子单元101将其他虚拟插槽集群的空闲插槽直接设置到扩充处理的虚拟插槽集群中,使得扩充处理后的虚拟插槽集群中的空闲插槽数量等于执行该业务逻辑任务需要的插槽数量。
优选的,这里插槽扩充单元93还可使用其他虚拟插槽集群中的非空闲插槽对某些高优先级的业务逻辑任务对应的虚拟插槽集群的插槽进行扩充操作,具体为包括:
插槽扩充单元93的低优先级任务获取子单元102获取优先级低于业务逻辑任务的其他虚拟插槽集群的当前业务逻辑任务;
插槽扩充单元93的插槽缺口判断子单元103判断当前业务逻辑任务使用的插槽和空闲插槽的数量之和是否大于等于插槽缺口的数量。
如当前业务逻辑任务使用的插槽和空闲插槽的数量之和小于插槽缺口的数量,即即使释放其他虚拟插槽集群中所有的低优先级的当前业务逻辑任务,产生的空闲插槽也不够执行高优先级的业务逻辑任务,因此这里插槽扩充单元93的任务等待子单元104将业务逻辑任务设置到等待队列中,等待虚拟插槽集群中空闲插槽的释放;如发现任何虚拟插槽集群中释放出空闲插槽,再返回第一插槽扩充子单元101或低优先级任务获取子单元102进行插槽扩充处理判断。
如当前业务逻辑任务使用的插槽和空闲插槽的数量之和大于等于插槽缺口的数量,则插槽扩充单元93的插槽资源释放子单元105对当前业务逻辑任务按优先级依次进行插槽资源释放,以使得空闲插槽的数量大于等于插槽缺口的数量。
插槽扩充单元93的第二插槽扩充子单元106将插槽资源释放子单元105释放的虚拟插槽集群的空闲插槽设置到进行扩充处理的虚拟插槽集群中,使得扩充处理后的虚拟插槽集群中的空闲插槽数量等于执行该业务逻辑任务需要的插槽数量。
这样即完成了本优选实施例的业务处理装置70的流数据业务的处理过程。
在第一优选实施例的基础上,本优选实施例的业务处理装置根据业务逻辑任务的数据量以及用户权限等参数来确定业务逻辑任务的虚拟插槽集群,进一步优化了不同虚拟插槽集群中的用户分类;使用空闲插槽或低优先级的业务逻辑任务对应的虚拟插槽集群的插槽,对高优先级的业务逻辑任务对应的虚拟插槽集群的插槽进行扩充处理,进一步提高了虚拟插槽集群的插槽即时扩充调整能力,提高了流数据业务的处理效率。
下面通过一具体实施例说明本发明的业务处理装置及业务处理方法的具体工作原理。请参照图11、图12A至图12D,图11为本发明的业务处理方法及业务处理装置的具体实施例的流程图,图12A至图12D为本发明的业务处理方法及业务处理装置的具体实施例的实施示意图。本具体实施例的业务处理装置可设置到具有分布式实施计算***的服务器计算机中。该服务器计算机进行流数据业务处理的流程包括:
步骤S1101,在实际插槽集群中设置三个虚拟插槽集群;具体如图12A所示。该实际插槽集群具有三个节点,每个节点具有六个插槽。这里将插槽11、12、13、14、21、22、23、31、32、33、34设定为虚拟插槽集群A的插槽,将插槽15、16、24、25、26设定为虚拟插槽集群B的插槽,将插槽35、36设定为虚拟插槽集群C的插槽。这里将虚拟插槽集群A设置为对业务逻辑任务进行多节点平均分配处理的第一虚拟插槽集群,将虚拟插槽集群B以及虚拟插槽集群C设置为对业务逻辑任务进行单节点分配处理的第二虚拟插槽集群。
步骤S1102,接收业务逻辑任务,并根据该业务逻辑任务中的用户参数以及数据量,确定业务逻辑任务的虚拟插槽集群。
如业务逻辑任务a的数据量较大,为了满足该业务逻辑任务的计算需求,服务器计算机设定虚拟插槽集群A对其进行处理,如图12B所示,使用插槽11、12、21、22、31、32对业务逻辑任务a进行计算操作。
如业务逻辑任务b的数据量较小,为了提高服务器计算机的资源利用率,服务器计算机设定虚拟插槽集群B对其进行处理,如图12B所示,使用插槽15、16对业务逻辑任务b进行计算操作。
同理业务逻辑任务c的数据量较小,为服务器计算机设定虚拟插槽集群C对其进行处理,如图12B所示,使用插槽35、36对业务逻辑任务c进行计算操作。
步骤S1103,判断高优先级的业务逻辑任务对应的虚拟插槽集群是否存在插槽缺口;如不存在插槽缺口则转到步骤S1104;如存在插槽缺口则转到步骤S1105。
步骤S1104,如不存在插槽缺口,服务器计算机在虚拟插槽集群中对该业务逻辑任务进行正常部署。
步骤S1105,如存在插槽缺口,则判断其他虚拟插槽集群的空闲插槽的数量是否大于等于插槽缺口;如大于等于插槽缺口,则转到步骤S1106;如小于插槽缺口则转到步骤S1107。
步骤S1106,如大于等于插槽缺口,则服务器计算机使用其他虚拟插槽集群的空闲插槽对高优先级的业务逻辑任务对应的虚拟插槽集群进行扩展处理,以使得扩展处理后的虚拟插槽集群的插槽缺口为零。
如图12C所示,如服务器计算机接收到一数据量为七个插槽的业务逻辑任务d,则服务器计算机可将虚拟插槽集群B中的插槽24、25设置到虚拟插槽集群A中,以便使用虚拟插槽集群A的插槽13、14、23、24、25、33、34对业务逻辑任务d进行处理。
步骤S1107,如小于插槽缺口,则服务器计算机获取优先级低于业务逻辑任务的其他虚拟插槽集群的当前业务逻辑任务。
步骤S1108,判断当前业务逻辑任务的使用插槽和空闲插槽的数量之和是否大于等于插槽缺口的数量。如当前业务逻辑任务的使用插槽和空闲插槽的数量之和小于插槽缺口的数量,则转到步骤S1109;如当前业务逻辑任务的使用插槽和空闲插槽的数量之和大于插槽缺口的数量,则转到步骤S1110。
步骤S1109,服务器计算机将所述业务逻辑任务设置到等待队列中。
如业务逻辑任务e的优先级与业务逻辑任务a和业务逻辑任务b的优先级相同,业务逻辑任务d的优先级高于业务逻辑任务c的优先级,如业务逻辑任务e需要的插槽数量为十一个插槽,这样插槽缺口的数量为六,业务逻辑任务c的插槽数量为二,虚拟插槽集群B的空闲插槽为三,这样即使将业务逻辑任务c中的插槽全部释放,也无法使用释放后的空闲插槽对业务逻辑任务e进行处理,因此服务器计算机将业务逻辑任务e直接设置到等待队列中。
步骤S1110,对当前业务逻辑任务按优先级依次进行插槽资源释放,以使得空闲插槽的数量大于等于插槽缺口的数量,并将释放的低优先级的当前业务逻辑任务设置到等待队列中。
步骤S1111,服务器计算机将其他虚拟插槽集群的空闲插槽对高优先级的业务逻辑任务对应的虚拟插槽集群进行扩展处理,以使得扩展处理后的虚拟插槽集群的插槽缺口为零。
如业务逻辑任务f的优先级与业务逻辑任务a和业务逻辑任务b的优先级相同,业务逻辑任务f的优先级高于业务逻辑任务c的优先级,如业务逻辑任务f需要的插槽数量为九个插槽,这样插槽缺口的数量为四,业务逻辑任务c的插槽数量为二,虚拟插槽集群B的空闲插槽为三,这样将业务逻辑任务c中的插槽全部释放,服务器计算机可将虚拟插槽集群B中的插槽24、25、26以及虚拟插槽集群C中的插槽35设置到虚拟插槽集群A中,以便使用虚拟插槽集群A的插槽13、14、23、24、25、26、33、34、35对业务逻辑任务f进行处理。具体请参照图12D。
这样即完成了本具体实施例的业务处理装置及业务处理方法的业务处理流程。
本发明的业务处理方法及业务处理装置根据业务逻辑任务的数据量,确定执行业务逻辑任务的虚拟插槽集群,并可对虚拟插槽集群的插槽进行扩充处理;因此提升了业务处理装置的插槽集群的扩展能力,满足了不同优先级别的流数据业务的计算要求,且可实现不同用户的流数据业务隔离;解决了现有的业务处理方法及业务处理装置的插槽集群的扩展能力较差、无法满足不同优先级别的流数据业务的计算要求以及无法实现不同用户的流数据业务的隔离的技术问题。
如本申请所使用的术语“组件”、“模块”、“***”、“接口”、“进程”等等一般地旨在指计算机相关实体:硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序和/或计算机。通过图示,运行在控制器上的应用和该控制器二者都可以是组件。一个或多个组件可以有在于执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
图13和随后的讨论提供了对实现本发明所述的业务处理装置所在的电子设备的工作环境的简短、概括的描述。图13的工作环境仅仅是适当的工作环境的一个实例并且不旨在建议关于工作环境的用途或功能的范围的任何限制。实例电子设备1312包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器***、消费型电子设备、小型计算机、大型计算机、包括上述任意***或设备的分布式计算环境,等等。
尽管没有要求,但是在“计算机可读指令”被一个或多个电子设备执行的通用背景下描述实施例。计算机可读指令可以经由计算机可读介质来分布(下文讨论)。计算机可读指令可以实现为程序模块,比如执行特定任务或实现特定抽象数据类型的功能、对象、应用编程接口(API)、数据结构等等。典型地,该计算机可读指令的功能可以在各种环境中随意组合或分布。
图13图示了包括本发明的业务处理装置中的一个或多个实施例的电子设备1312的实例。在一种配置中,电子设备1312包括至少一个处理单元1316和存储器1318。根据电子设备的确切配置和类型,存储器1318可以是易失性的(比如RAM)、非易失性的(比如ROM、闪存等)或二者的某种组合。该配置在图13中由虚线1314图示。
在其他实施例中,电子设备1312可以包括附加特征和/或功能。例如,设备1312还可以包括附加的存储装置(例如可移除和/或不可移除的),其包括但不限于磁存储装置、光存储装置等等。这种附加存储装置在图13中由存储装置1320图示。在一个实施例中,用于实现本文所提供的一个或多个实施例的计算机可读指令可以在存储装置1320中。存储装置1320还可以存储用于实现操作***、应用程序等的其他计算机可读指令。计算机可读指令可以载入存储器1318中由例如处理单元1316执行。
本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器1318和存储装置1320是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可以用于存储期望信息并可以被电子设备1312访问的任何其他介质。任意这样的计算机存储介质可以是电子设备1312的一部分。
电子设备1312还可以包括允许电子设备1312与其他设备通信的通信连接1326。通信连接1326可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器、红外端口、USB连接或用于将电子设备1312连接到其他电子设备的其他接口。通信连接1326可以包括有线连接或无线连接。通信连接1326可以发射和/或接收通信媒体。
术语“计算机可读介质”可以包括通信介质。通信介质典型地包含计算机可读指令或诸如载波或其他传输机构之类的“己调制数据信号”中的其他数据,并且包括任何信息递送介质。术语“己调制数据信号”可以包括这样的信号:该信号特性中的一个或多个按照将信息编码到信号中的方式来设置或改变。
电子设备1312可以包括输入设备1324,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其他输入设备。设备1312中也可以包括输出设备1322,比如一个或多个显示器、扬声器、打印机和/或任意其他输出设备。输入设备1324和输出设备1322可以经由有线连接、无线连接或其任意组合连接到电子设备1312。在一个实施例中,来自另一个电子设备的输入设备或输出设备可以被用作电子设备1312的输入设备1324或输出设备1322。
电子设备1312的组件可以通过各种互连(比如总线)连接。这样的互连可以包括***组件互连(PCI)(比如快速PCI)、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等等。在另一个实施例中,电子设备1312的组件可以通过网络互连。例如,存储器1318可以由位于不同物理位置中的、通过网络互连的多个物理存储器单元构成。
本领域技术人员将认识到,用于存储计算机可读指令的存储设备可以跨越网络分布。例如,可经由网络1328访问的电子设备1330可以存储用于实现本发明所提供的一个或多个实施例的计算机可读指令。电子设备1312可以访问电子设备1330并且下载计算机可读指令的一部分或所有以供执行。可替代地,电子设备1312可以按需要下载多条计算机可读指令,或者一些指令可以在电子设备1312处执行并且一些指令可以在电子设备1330处执行。
本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。
而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或***,可以执行相应方法实施例中的方法。
综上所述,虽然本发明已以实施例揭露如上,实施例前的序号,如“第一”、“第二”等仅为描述方便而使用,对本发明各实施例的顺序不造成限制。并且,上述实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
Claims (14)
1.一种业务处理方法,其特征在于,包括:
在实际插槽集群中设置至少两个虚拟插槽集群,其中所述虚拟插槽集群包括实际插槽集群中的至少一个节点下的至少一个插槽;
接收业务逻辑任务,并根据所述业务逻辑任务的数据量,确定执行所述业务逻辑任务的虚拟插槽集群;以及
使用所述虚拟插槽集群执行所述业务逻辑任务。
2.根据权利要求1所述的业务处理方法,其特征在于,所述虚拟插槽集群包括对所述业务逻辑任务进行多节点平均分配处理的第一虚拟插槽集群以及对所述业务逻辑任务进行单节点分配处理的第二虚拟插槽集群;
所述根据所述业务逻辑任务的数据量,确定执行所述业务逻辑任务的虚拟插槽集群的步骤包括:
判断所述业务逻辑任务的数据量是否大于等于设定值;
如所述业务逻辑任务的数据量大于等于设定值,则将所述业务逻辑任务分配至所述第一虚拟插槽集群进行执行;
如所述业务逻辑任务的数据量小于设定值,则将所述业务逻辑任务分配至所述第二虚拟插槽集群进行执行。
3.根据权利要求1所述的业务处理方法,其特征在于,所述使用确定的所述虚拟插槽集群执行所述业务逻辑任务的步骤包括:
根据所述业务逻辑任务的数据量,判断对应的虚拟插槽集群的插槽缺口的数量是否大于零;
如所述虚拟插槽集群的插槽缺口的数量大于零,则对所述虚拟插槽集群的插槽进行扩充处理;以及
如所述虚拟插槽集群的插槽缺口的数量等于零,使用所述虚拟插槽集群执行所述业务逻辑任务。
4.根据权利要求3所述的业务处理方法,其特征在于,所述对所述虚拟插槽集群的插槽进行扩充处理的步骤包括:
将其他虚拟插槽集群的空闲插槽设置到进行扩充处理的所述虚拟插槽集群中。
5.根据权利要求4所述的业务处理方法,其特征在于,所述对所述虚拟插槽集群的插槽进行扩充处理的步骤还包括:
获取优先级低于所述业务逻辑任务的其他虚拟插槽集群的当前业务逻辑任务;
判断所述当前业务逻辑任务使用插槽和空闲插槽的数量之和是否大于等于所述插槽缺口的数量;
如所述当前业务逻辑任务的使用插槽和空闲插槽的数量之和小于所述插槽缺口的数量;则将所述业务逻辑任务设置到等待队列中;
如所述当前业务逻辑任务的使用插槽和空闲插槽的数量之和大于等于所述插槽缺口的数量;则对所述当前业务逻辑任务按优先级依次进行插槽资源释放,以使得空闲插槽的数量大于等于所述插槽缺口的数量;以及
将其他虚拟插槽集群的空闲插槽设置到进行扩充处理的虚拟插槽集群中。
6.根据权利要求1所述的业务处理方法,其特征在于,所述业务处理方法包括:
按所述虚拟插槽集群中的插槽数量,对所述虚拟插槽集群进行硬件资源分配。
7.根据权利要求1所述的业务处理方法,其特征在于,所述业务处理方法包括:
设定所述虚拟插槽集群的用户参数;
所述接收业务逻辑任务,并根据所述业务逻辑任务的数据量,确定执行所述业务逻辑任务的虚拟插槽集群的步骤具体为:
接收业务逻辑任务,并根据所述业务逻辑任务的数据量以及用户参数,确定执行所述业务逻辑任务的虚拟插槽集群。
8.一种业务处理装置,其特征在于,包括:
虚拟插槽集群设置模块,用于在实际插槽集群中设置至少两个虚拟插槽集群,其中所述虚拟插槽集群包括实际插槽集群中的至少一个节点下的至少一个插槽;
虚拟插槽集群确定模块,用于接收业务逻辑任务,并根据所述业务逻辑任务的数据量,确定执行所述业务逻辑任务的虚拟插槽集群;以及
任务执行模块,用于使用所述虚拟插槽集群执行所述业务逻辑任务。
9.根据权利要求8所述的业务处理装置,其特征在于,所述虚拟插槽集群包括对所述业务逻辑任务进行多节点平均分配处理的第一虚拟插槽集群以及对所述业务逻辑任务进行单节点分配处理的第二虚拟插槽集群;
所述虚拟插槽集群确定模块包括:
数据量判断单元,用于判断所述业务逻辑任务的数据量是否大于等于设定值;
第一虚拟插槽集群确定单元,用于如所述业务逻辑任务的数据量大于等于设定值,则将所述业务逻辑任务分配至所述第一虚拟插槽集群进行执行;
第二虚拟插槽集群确定单元,用于如所述业务逻辑任务的数据量小于设定值,则将所述业务逻辑任务分配至所述第二虚拟插槽集群进行执行。
10.根据权利要求8所述的业务处理装置,其特征在于,所述任务执行模块包括:
插槽缺口判断单元,用于根据所述业务逻辑任务的数据量,判断对应的虚拟插槽集群的插槽缺口的数量是否大于零;
插槽扩充单元,用于如所述虚拟插槽集群的插槽缺口的数量大于零,则对所述虚拟插槽集群的插槽进行扩充处理;以及
任务执行单元,用于如所述虚拟插槽集群的插槽缺口的数量等于零,使用所述虚拟插槽集群执行所述业务逻辑任务。
11.根据权利要求10所述的业务处理装置,其特征在于,所述插槽扩充单元包括:
第一插槽扩充子单元,用于将其他虚拟插槽集群的空闲插槽设置到进行扩充处理的虚拟插槽集群中。
12.根据权利要求11所述的业务处理装置,其特征在于,所述插槽扩充单元还包括:
低优先级任务获取子单元,用于获取优先级低于所述业务逻辑任务的其他虚拟插槽集群的当前业务逻辑任务;
插槽缺口判断子单元,用于判断所述当前业务逻辑任务使用插槽和空闲插槽的数量之和是否大于等于所述插槽缺口的数量;
任务等待子单元,用于如所述当前业务逻辑任务使用插槽和空闲插槽的数量之和小于所述插槽缺口的数量;则将所述业务逻辑任务设置到等待队列中;
插槽资源释放子单元,用于如所述当前业务逻辑任务使用插槽和空闲插槽的数量之和大于等于所述插槽缺口的数量;则对所述当前业务逻辑任务按优先级依次进行插槽资源释放,以使得空闲插槽的数量大于等于所述插槽缺口的数量;以及
第二插槽扩充子单元,用于将其他虚拟插槽集群的空闲插槽设置到进行扩充处理的虚拟插槽集群中。
13.根据权利要求8所述的业务处理装置,其特征在于,所述业务处理装置还包括:
硬件资源分配模块,用于按所述虚拟插槽集群中的插槽数量,对所述虚拟插槽集群进行硬件资源分配。
14.根据权利要求8所述的业务处理装置,其特征在于,所述业务处理装置还包括:
用户参数设定模块,用于设定所述虚拟插槽集群的用户参数;
所述虚拟插槽集群确定模块具体用于接收业务逻辑任务,并根据所述业务逻辑任务的数据量以及用户参数,确定执行所述业务逻辑任务的虚拟插槽集群。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611150644.4A CN107741873B (zh) | 2016-12-14 | 2016-12-14 | 业务处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611150644.4A CN107741873B (zh) | 2016-12-14 | 2016-12-14 | 业务处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107741873A true CN107741873A (zh) | 2018-02-27 |
CN107741873B CN107741873B (zh) | 2020-06-02 |
Family
ID=61234996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611150644.4A Active CN107741873B (zh) | 2016-12-14 | 2016-12-14 | 业务处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107741873B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959954A (zh) * | 2018-03-30 | 2018-12-07 | 努比亚技术有限公司 | Storm权限管控的方法、装置、服务器及存储介质 |
CN109450980A (zh) * | 2018-10-11 | 2019-03-08 | 东南大学 | 无线云计算***中基于时延要求差异的计算资源选择方法 |
CN110266602A (zh) * | 2019-06-21 | 2019-09-20 | 四川新网银行股份有限公司 | 一种构建流量控制的插槽的方法及构建后的执行数据流 |
CN110399410A (zh) * | 2018-04-16 | 2019-11-01 | 北京嘀嘀无限科技发展有限公司 | 数据处理方法、装置、设备和计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102404385A (zh) * | 2011-10-25 | 2012-04-04 | 华中科技大学 | 面向高性能计算的虚拟集群部署***和部署方法 |
CN103324535A (zh) * | 2012-03-23 | 2013-09-25 | 百度在线网络技术(北京)有限公司 | 一种计算资源的分配方法和装置 |
CN103699445A (zh) * | 2013-12-19 | 2014-04-02 | 北京奇艺世纪科技有限公司 | 一种任务调度方法、装置及*** |
CN104102548A (zh) * | 2014-08-04 | 2014-10-15 | 北京京东尚科信息技术有限公司 | 任务资源调度处理方法和*** |
US20140310712A1 (en) * | 2013-04-10 | 2014-10-16 | International Business Machines Corporation | Sequential cooperation between map and reduce phases to improve data locality |
CN104834557A (zh) * | 2015-05-18 | 2015-08-12 | 成都博元科技有限公司 | 一种基于Hadoop的数据分析方法 |
US9128763B2 (en) * | 2011-08-23 | 2015-09-08 | Infosys Limited | System and method for job scheduling optimization |
-
2016
- 2016-12-14 CN CN201611150644.4A patent/CN107741873B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9128763B2 (en) * | 2011-08-23 | 2015-09-08 | Infosys Limited | System and method for job scheduling optimization |
CN102404385A (zh) * | 2011-10-25 | 2012-04-04 | 华中科技大学 | 面向高性能计算的虚拟集群部署***和部署方法 |
CN103324535A (zh) * | 2012-03-23 | 2013-09-25 | 百度在线网络技术(北京)有限公司 | 一种计算资源的分配方法和装置 |
US20140310712A1 (en) * | 2013-04-10 | 2014-10-16 | International Business Machines Corporation | Sequential cooperation between map and reduce phases to improve data locality |
CN103699445A (zh) * | 2013-12-19 | 2014-04-02 | 北京奇艺世纪科技有限公司 | 一种任务调度方法、装置及*** |
CN104102548A (zh) * | 2014-08-04 | 2014-10-15 | 北京京东尚科信息技术有限公司 | 任务资源调度处理方法和*** |
CN104834557A (zh) * | 2015-05-18 | 2015-08-12 | 成都博元科技有限公司 | 一种基于Hadoop的数据分析方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959954A (zh) * | 2018-03-30 | 2018-12-07 | 努比亚技术有限公司 | Storm权限管控的方法、装置、服务器及存储介质 |
CN110399410A (zh) * | 2018-04-16 | 2019-11-01 | 北京嘀嘀无限科技发展有限公司 | 数据处理方法、装置、设备和计算机可读存储介质 |
CN109450980A (zh) * | 2018-10-11 | 2019-03-08 | 东南大学 | 无线云计算***中基于时延要求差异的计算资源选择方法 |
CN110266602A (zh) * | 2019-06-21 | 2019-09-20 | 四川新网银行股份有限公司 | 一种构建流量控制的插槽的方法及构建后的执行数据流 |
Also Published As
Publication number | Publication date |
---|---|
CN107741873B (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112153700B (zh) | 一种网络切片资源管理方法及设备 | |
CN105718479B (zh) | 跨idc大数据处理架构下执行策略生成方法、装置 | |
CN103797462B (zh) | 一种创建虚拟机的方法和装置 | |
CN108243044B (zh) | 业务部署的方法与装置 | |
CN109684074B (zh) | 物理机资源分配方法及终端设备 | |
CN107741873A (zh) | 业务处理方法及装置 | |
CN103763130B (zh) | 大规模集群的管理方法、装置和*** | |
US9606945B2 (en) | Access controller, router, access controlling method, and computer program | |
CN105511954A (zh) | 一种报文处理方法及装置 | |
CN107301093B (zh) | 一种管理资源的方法和装置 | |
CN109447253B (zh) | 显存分配的方法、装置、计算设备及计算机存储介质 | |
EP0619036A1 (en) | Method and apparatus for processing data within stations of a communication network | |
CN105119793A (zh) | 一种传感器网络can总线帧格式的标识符分配方法 | |
CN103309738A (zh) | 用户作业调度方法及装置 | |
CN106506670A (zh) | 一种云平台虚拟资源高速调度方法与*** | |
CN107846443A (zh) | 网络中的分布式处理 | |
CN114416352A (zh) | 算力资源分配方法、装置、电子设备及储存介质 | |
CN112835695B (zh) | Pod间通信的方法和分布式计算*** | |
CN107766153A (zh) | 一种内存管理方法及装置 | |
CN104793996A (zh) | 一种并行计算设备的任务调度方法及任务调度装置 | |
CN109918203A (zh) | 接入服务器内存管理优化方法、接入服务器及通信*** | |
CN109976907A (zh) | 任务分配方法和***、电子设备、计算机可读介质 | |
CN111209091A (zh) | 混合云环境下含隐私数据的Spark任务的调度方法 | |
CN111611076B (zh) | 任务部署约束下移动边缘计算共享资源公平分配方法 | |
CN116302453B (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 |