CN117596212B - 一种业务处理方法、装置、设备及介质 - Google Patents
一种业务处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117596212B CN117596212B CN202410072350.2A CN202410072350A CN117596212B CN 117596212 B CN117596212 B CN 117596212B CN 202410072350 A CN202410072350 A CN 202410072350A CN 117596212 B CN117596212 B CN 117596212B
- Authority
- CN
- China
- Prior art keywords
- service
- control node
- target
- processing
- virtual
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0663—Performing the actions predefined by failover planning, e.g. switching to standby network elements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种业务处理方法、装置、设备及介质,涉及数据处理技术领域。在故障控制节点的业务转移至备用控制节点的情况下,在备用控制节点的各当前中央处理器核心内对目标虚拟端口均衡分配至对应的目标中央处理器核心,以作为第一次均衡分配,保证虚拟端口对应的业务线程在CPU核心的均衡处理;再根据业务均衡处理机制对业务数据均衡分配至对应的目标业务处理器核心进行业务处理,以作为第二次中央处理器核心的均衡处理,保证业务数据在业务线程下对应CPU核心的业务处理的均衡处理。在保证故障控制节点的业务正常处理的情况下,均能得到均衡负载处理,充分利用CPU资源,使得业务吞吐量提高。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种业务处理方法、装置、设备及介质。
背景技术
在双控制器的存储系统内,当一个控制节点故障时,另一个存活的控制节点接管故障控制节点端口信息,将故障控制节点的链路转移至另一个控制节点后业务恢复,以保证故障控制节点的业务正常处理。
图1为当前双控制器的一种路径转移的示意图,如图1所示,节点A(备用控制节点10)的虚拟端口2接管节点B(故障控制节点9)虚拟端口1的全球唯一标识符(World WidePort Name,WWPN),链路2消逝,在主机/服务器8与节点A的虚拟端口2之间建立新的链路3,此时将链路2的业务转移到链路3。随后,由于链路1和链路3的业务负载均由中央处理器(Central Processing Unit,CPU)核心1处理,导致节点A上对应CPU核心1相适应处理负载变大,无法维持原业务的吞吐量,使之节点A的业务处理能力降低。
因此,如何维持控制器的业务吞吐量以提高业务处理能力是本领域技术人员亟需要解决的技术问题。
发明内容
本发明的目的是提供一种业务处理方法、装置、设备及介质,以解决当前双控制器在路径转移后无法维持备用控制器的原业务的吞吐量导致业务处理能力降低的技术问题。
为解决上述技术问题,本发明提供一种业务处理方法,应用于双控制节点的存储系统,所述方法包括:
在故障控制节点对应的业务转移至备用控制节点的情况下,获取业务线程的业务数据、所述备用控制节点的各目标虚拟端口和各当前中央处理器核心;
在各所述当前中央处理器核心内对各所述目标虚拟端口均衡分配至对应的目标中央处理器核心,其中,所述目标中央处理器核心的数量为多个;
根据业务均衡处理机制对所述业务数据均衡分配至对应的所述目标中央处理器核心进行业务处理,其中,所述业务均衡处理机制基于所述业务数据的落盘编号性质和/或各所述目标中央处理器核心的使用率确定。
一方面,所述在各所述当前中央处理器核心内对各所述目标虚拟端口均衡分配至对应的目标中央处理器核心,包括:
对各所述目标虚拟端口和各所述当前中央处理器核心分别进行编号;
将各所述目标虚拟端口的编号对所述当前中央处理器核心的总数量进行取余处理确定各所述目标虚拟端口的编号对应的余数;
将各所述目标虚拟端口的编号对应的余数匹配至各所述当前中央处理器核心的编号以确定对应的所述目标中央处理器核心。
另一方面,所述业务均衡处理机制基于所述业务数据的落盘编号性质确定,所述根据业务均衡处理机制对所述业务数据均衡分配至对应的所述目标中央处理器核心进行业务处理,包括:
获取所述业务数据对应的虚拟盘编号,其中,所述虚拟盘编号区分于主机对应盘编号;
将各所述目标虚拟端口对应的所述目标中央处理器核心进行编号;
将各所述虚拟盘编号对所述目标中央处理器核心的总数量进行取余处理确定各所述虚拟盘编号对应的余数;
将各所述虚拟盘编号对应的余数匹配至各所述目标中央处理器核心的编号以确定对应的所述目标中央处理器核心。
另一方面,所述业务均衡处理机制基于所述中央处理器核心的使用率确定,所述根据业务均衡处理机制对所述业务数据均衡分配至对应的所述目标中央处理器核心进行业务处理,包括:
获取各所述目标中央处理器核心的使用率;
在各所述目标中央处理器核心的使用率中获取最大使用率和最小使用率分别对应的目标中央处理器核心;
确定所述最大使用率和所述最小使用率的差值;
判断所述差值是否大于差值阈值;
若大于,则将所述业务数据分配至所述最小使用率对应的所述目标中央处理器核心进行业务处理。
另一方面,所述业务均衡处理机制基于所述业务数据的落盘编号性质和各所述目标中央处理器核心的使用率确定,所述根据业务均衡处理机制对所述业务数据均衡分配至对应的所述目标中央处理器核心进行业务处理,包括:
获取各所述目标中央处理器核心的使用率;
在各所述目标中央处理器核心的使用率中获取最大使用率和最小使用率分别对应的目标中央处理器核心;
确定所述最大使用率和所述最小使用率的差值;
判断所述差值是否大于差值阈值;
若大于,则将所述业务数据对应的虚拟盘落盘至所述最小使用率对应的所述目标中央处理器核心;
若不大于,则获取所述业务数据对应的虚拟盘编号,其中,所述虚拟盘编号区分于主机对应盘编号;
将各所述目标虚拟端口对应的所述目标中央处理器核心进行编号;
将各所述虚拟盘编号对所述目标中央处理器核心的总数量进行取余处理确定各所述虚拟盘编号对应的余数;
将各所述虚拟盘编号对应的余数匹配至各所述目标中央处理器核心的编号以确定对应的所述目标中央处理器核心。
另一方面,所述故障控制节点对应的业务转移至所述备用控制节点的转移确定过程,包括:
获取所述故障控制节点的虚拟端口和所述备用控制节点的待转移虚拟端口以及端口转移列表,其中,所述端口转移列表内存储所述故障控制节点的虚拟端口和所述备用控制节点的待转移虚拟端口之间的端口映射关系;
根据所述端口转移列表对所述故障控制节点的虚拟端口的链路并行转移至对应的所述备用控制节点的待转移虚拟端口上。
另一方面,所述故障控制节点对应的业务转移至所述备用控制节点的转移确定过程,包括:
获取所述故障控制节点的虚拟端口对应的链路优先级,其中,所述链路优先级由所述故障控制节点的链路对应的虚拟端口承接的业务线程的重要程度确定;
获取所述故障控制节点的虚拟端口和所述备用控制节点的待转移虚拟端口以及端口转移列表,其中,所述端口转移列表内存储所述故障控制节点的虚拟端口和所述备用控制节点的待转移虚拟端口之间的端口映射关系;
根据所述端口转移列表和所述链路优先级对所述故障控制节点的虚拟端口的链路转移至对应的所述备用控制节点的待转移虚拟端口上。
另一方面,各所述当前中央处理器核心的确定过程,包括:
获取所述备用控制节点对应的所有中央处理器核心;
确定所有所述中央处理器核心的处理类型以及对应的处理能力;
在所有所述中央处理器核心内筛选所述处理类型为业务处理类型对应的中央处理器核心;
在所有所述中央处理器核心内除所述业务处理类型之外的其他中央处理器核心内筛选对应的处理能力大于预设处理能力对应的预备中央处理器核心;
将所述业务处理类型对应的中央处理器核心和所述预备中央处理器核心作为各所述当前中央处理器核心。
另一方面,在根据所述业务均衡处理机制对所述业务数据均衡分配确定对应的所述目标中央处理器核心之后,在对所述业务数据落盘至所述目标中央处理器核心之前,还包括:
获取各所述目标中央处理器核心的当前吞吐量;
若存在所述当前吞吐量小于预设吞吐量的情况下,则获取除所述当前吞吐量小于所述预设吞吐量对应的所述目标中央处理器核心之外的其余目标中央处理器核心对应的处理类型和吞吐量;
筛选出所述处理类型为业务处理类型、所述吞吐量大于所述预设吞吐量且所述吞吐量最大对应的目标中央处理器核心,并替换所述当前吞吐量小于所述预设吞吐量对应的所述目标中央处理器核心,以进行业务处理。
另一方面,在所述根据业务均衡处理机制对所述业务数据均衡分配至对应的所述目标中央处理器核心进行业务处理之后,还包括:
确定各所述目标中央处理器核心对应的处理能力;
判断各所述处理能力是否超出预设处理能力;
若存在所述处理能力超出所述预设处理能力,则将超出所述预设处理能力对应的所述目标中央处理器核心进行标记,以便于下一次的所述业务数据不落盘至超出所述预设处理能力对应的所述目标中央处理器核心。
另一方面,所述备用控制节点的所述目标虚拟端口的获取过程,包括:
获取所述故障控制节点对应的业务转移至所述备用控制节点的待转移虚拟端口;
获取所述备用控制节点内与主机形成业务处理线程对应的链路的初始虚拟端口;
将所述待转移虚拟端口和所述初始虚拟端口作为所述目标虚拟端口。
另一方面,在所述根据业务均衡处理机制对所述业务数据均衡分配至对应的所述目标中央处理器核心进行业务处理之后,还包括:
根据预设时间获取各所述目标中央处理器核心对应的任务完成进度;
将已完成的任务对应的所述业务数据所属的内存空间进行清除回收。
为解决上述技术问题,本发明还提供一种业务处理装置,应用于双控制节点的存储系统,所述装置包括:
第一获取模块,用于在故障控制节点对应的业务转移至备用控制节点的情况下,获取业务线程的业务数据、所述备用控制节点的各目标虚拟端口和各当前中央处理器核心;
第一均衡分配模块,用于在各所述当前中央处理器核心内对各所述目标虚拟端口均衡分配至对应的目标中央处理器核心,其中,所述目标中央处理器核心的数量为多个;
第二均衡分配模块,用于根据业务均衡处理机制对所述业务数据均衡分配至对应的所述目标中央处理器核心进行业务处理,其中,所述业务均衡处理机制基于所述业务数据的落盘编号性质和/或各所述目标中央处理器核心的使用率确定。
为解决上述技术问题,本发明还提供一种业务处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的业务处理方法的步骤。
为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的业务处理方法的步骤。
本发明提供的一种业务处理方法,应用于双控制节点的存储系统,在故障控制节点的业务转移至备用控制节点的情况下,在备用控制节点的各当前中央处理器核心内对目标虚拟端口均衡分配至对应的目标中央处理器核心,以作为第一次均衡分配;再根据业务均衡处理机制对业务数据均衡分配至对应的目标业务处理器核心进行业务处理,以作为第二次中央处理器核心的均衡处理。本发明的有益效果在于,第一次均衡分配保证虚拟端口对应的业务线程在CPU核心的均衡处理,第二次均衡分配保证业务数据在业务线程下对应CPU核心的业务处理的均衡处理。两次均衡处理过程避免当前双控制器的路径转移仅在一个CPU核心上处理导致的负载变大的情况发生,同时使得备用控制节点上的原业务和转移的业务均能得到均衡负载处理,在保证故障控制节点的业务正常处理的情况下,也保证业务处理能力的提高,充分利用CPU资源,使得业务吞吐量提高。
另外,本发明还提供了一种业务处理装置、设备及介质,具有如上述业务处理方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为当前双控制器的一种路径转移的示意图;
图2为当前双控制器的另一种路径转移的示意图;
图3为本发明实施例提供的一种业务处理方法的流程图;
图4为本发明实施例提供的一种业务处理装置的结构图;
图5为本发明实施例提供的一种业务处理设备的结构图;
图6为本发明实施例提供的一种业务处理场景的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种业务处理方法、装置、设备及介质,以解决当前双控制器在路径转移后无法维持备用控制器的原业务的吞吐量导致业务处理能力降低的技术问题。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
在双控制器的路径转移过程中,主机无法感知路径变化,主机或者服务器端口上的WWPN与存储端口上的WWPN可以唯一确定一条路径,一个物理口可以有多个虚拟口,每个虚拟口都有一个WWPN,存储的一个物理口可以和主机或者服务器的一个物理端口产生多条路径。图2为当前双控制器的另一种路径转移的示意图,如图2所示,节点A(备用控制节点10)有一个物理端口包含虚拟端口1和虚拟端口2两个虚拟端口,虚拟端口1和虚拟端口2的业务由业务处理线程轮询处理,节点A物理端口与主机/服务器相连,用于处理主机/服务器业务,虚拟端口2做端口冗余,在节点B(故障控制节点9)故障时接管节点B虚拟端口1的业务;节点B有一个物理端口包含虚拟端口1和虚拟端口2两个虚拟端口,虚拟端口1和虚拟端口2的业务由业务处理线程轮询处理,节点B物理端口与主机/服务器8相连,用于处理主机/服务器8业务,虚拟端口2做端口冗余。
节点B故障后,节点A虚拟端口2接管节点B虚拟端口1的WWPN,这样链路2就消逝,在主机/服务器与节点A虚拟端口2之间建立新的链路3,链路2上的业务自然就转移到链路3上,这样,主机业务便不会因为链路2消逝而停掉。具体的转移过程主机端口WWPN假设为wwpn-h,A节点虚拟端口1上的WWPN假设为wwpn-a,B节点虚拟端口1上的WWPN假设为wwpn-b,wwpn-h与wwpn-a形成链路1,wwpn-h与wwpn-b形成链路2,wwpn-b在B节点故障后,由B节点的虚拟端口1转移到A节点的虚拟端口2,wwpn-b与wwpn-h形成了新的链路3,这样,主机端口wwpn-h与存储节点wwpn-b的逻辑路径并没有改变,只是物理位置发生了变化。
在上述过程中,各业务线程运行在一个CPU核心上,在链路1和链路3上的业务负载变大的情况下,该CPU核心的处理负载将变大,此时节点A无法维持原业务吞吐量,在整体看来,因节点B故障导致存储的业务处理能力降低。本发明提供的业务处理方法,可以解决当前的技术问题。
图3为本发明实施例提供的一种业务处理方法的流程图,如图3所示,该方法应用于双控制节点的存储系统,包括:
S11:在故障控制节点对应的业务转移至备用控制节点的情况下,获取业务线程的业务数据、备用控制节点的各目标虚拟端口和各当前中央处理器核心;
S12:在各当前中央处理器核心内对各目标虚拟端口均衡分配至对应的目标中央处理器核心;
其中,目标中央处理器核心的数量为多个;
S13:根据业务均衡处理机制对业务数据均衡分配至对应的目标中央处理器核心进行业务处理;
其中,业务均衡处理机制基于业务数据的落盘编号性质和/或各目标中央处理器核心的使用率确定。
具体地,本发明应用于双控制节点的存储系统中,双控制节点对应的双控冗余方式不做限定,可以是互备模式,也可以是双活模式,根据实际情况设定即可。互备模式是两个控制器都在干活,其中一个控制器出现故障后进行接管,形成各自控制器的互备控制器。双活模式是以输入输出(Input Output,IO)粒度平衡系统的负载,不会出现一个控制器较忙另外一个控制器空闲从而导致一个控制器的负载远高于另外一个控制器的情况发生。
在业务转移过程中,链路的变更时,备用控制节点会给故障控制节点留有一定的虚拟端口以便于转移,例如,备用控制节点内为10个虚拟端口,链路实际占用的最多是5个虚拟端口,其余5个端口是为故障控制节点准备的虚拟端口。同理,故障控制节点也是一样的设置虚拟端口过程。两个控制节点具有共同的集群数据,且实时同步。
在本实施例中,故障控制节点对应的业务转移至备用控制节点的情况,无关哪一个控制器具体为故障控制节点,哪一个控制器为备用控制节点,可以是节点A为故障控制节点,也可以是节点B为故障控制节点。只要是出现故障控制节点无法工作就进行转移。需要说明的是,本实施例中的转移路径和业务处理过程中的CPU核心与业务线程之间的负载均衡相互独立。在转移至备用控制节点的情况下,获取业务线程的业务数据、备用控制节点的各目标虚拟端口和各当前中央处理器核心。
业务数据是处理主机或者服务器的读/写指令的一系列逻辑操作,可以是完成一次写操作是完成了一次业务处理,完成一次读操作也是完成一次业务处理。例如,一个CPU核心包括3个业务,业务1:从驱动的缓冲区中获取主机读写指令;业务2:解析指令内容,如解析读写指令的逻辑地址,读写数据的长度;业务3:若是读指令,需要从本地内存中将数据发送给主机,若是写指令,需要将主机的数据写入内存中。
备用控制节点的各目标虚拟端口,可以是备用控制节点内的所有虚拟端口;也可以是正在占用的链路形成的虚拟端口,包括备用控制节点内原始的虚拟端口和由故障控制节点转移到备用控制节点的虚拟端口,在此不做限定,根据实际情况设定即可。
各当前中央处理器核心,可以是备用控制节点所处的控制器的所有CPU核心,也可以是仅负责业务处理的CPU核心,还可以是负责业务处理以及其他处理(如系统处理等)的CPU核心等,在此不做限定,以实际情况设定即可。
在步骤S12中的各当前CPU核心内对各目标虚拟端口均衡分配至对应的目标CPU核心,可以理解的是,目标CPU核心的数量为多个,以区分当前双控制器下的路径转移仅在一个CPU核心处理业务线程。本实施例中的均衡分配,可以是平均分配,也可以是基于某种均衡算法确定对应的目标CPU核心,当前CPU核心数大于或者等于目标CPU核心。该步骤S12中的均衡分配的目的是保证各目标虚拟端口与各目标CPU核心对应,避免所有的目标虚拟端口仅在一个目标CPU核心对应。本实施例中的一个目标CPU核心可以对应一个目标虚拟端口,也可以对应多个目标虚拟端口。
步骤S13中的均衡分配是基于具体的业务数据分配,本实施例中的业务数据灵活处理,是每下发一定的业务数据后,进行分配以实现灵活分配。并不是业务数据提前与虚拟端口先达成协议的映射关系,而是考虑到各虚拟端口与CPU核心形成映射后,再考虑业务数据与CPU核心的映射关系后再下发。
本实施例中的业务均衡处理机制,可以是基于业务数据的落盘编号性质,也可以是各目标CPU核心的使用率,还可以是两者结合确定,当然,还可以采用除两者之外的其他参考数据确定等,在此不做限定。
业务数据的落盘编号性质,需要说明的是,主机上对应的盘,如E盘、F盘等是主机对盘的命名,本实施例中的落盘编号是基于存储设备上对应虚拟盘的内部编号,一般情况下,存储设备最多可向一台主机提供2048个虚拟盘,其数量远远大于CPU核心数,此时需要确定虚拟盘的数据(业务数据)由哪个CPU核心处理以均衡CPU负荷,使得CPU核心得到均衡利用。对应的落盘编号可为0-2047,基于该编号的性质确定由哪个CPU核心处理。
目标CPU核心的使用率,由于目标CPU核心的数量为多个,考虑到均衡处理的情况下,需要兼顾使用率,若各个使用率的相差较小,则说明当前各目标CPU核心达到均衡,若各个使用率相差较大,则说明当前还未达到均衡,需要基于当前的业务数据填充至未达到均衡的具体的目标CPU核心中。对于具体地均衡分配,可以和上述的均衡分配处理过程相同,也可以不同,还可以利用一种全新的均衡处理算法确定对应的目标CPU核心以便于进行业务处理。
本发明实施例提供的一种业务处理方法,应用于双控制节点的存储系统,在故障控制节点的业务转移至备用控制节点的情况下,在备用控制节点的各当前中央处理器核心内对目标虚拟端口均衡分配至对应的目标中央处理器核心,以作为第一次均衡分配;再根据业务均衡处理机制对业务数据均衡分配至对应的目标业务处理器核心进行业务处理,以作为第二次中央处理器核心的均衡处理。本发明的有益效果在于,第一次均衡分配保证虚拟端口对应的业务线程在CPU核心的均衡处理,第二次均衡分配保证业务数据在业务线程下对应CPU核心的业务处理的均衡处理。两次均衡处理过程避免当前双控制器的路径转移仅在一个CPU核心上处理导致的负载变大的情况发生,同时使得备用控制节点上的原业务和转移的业务均能得到均衡负载处理,在保证故障控制节点的业务正常处理的情况下,也保证业务处理能力的提高,充分利用CPU资源,使得业务吞吐量提高。
在上述实施例的基础上,在一些实施例中,步骤S12中的在各当前中央处理器核心内对各目标虚拟端口均衡分配至对应的目标中央处理器核心,包括:
对各目标虚拟端口和各当前中央处理器核心分别进行编号;
将各目标虚拟端口的编号对当前中央处理器核心的总数量进行取余处理确定各目标虚拟端口的编号对应的余数;
将各目标虚拟端口的编号对应的余数匹配至各当前中央处理器核心的编号以确定对应的目标中央处理器核心。
具体地,基于各目标虚拟端口和各当前CPU核心分别进行编号,这里的编号是目标虚拟端口从0开始编号,当前CPU核心从0开始编号,两者互相独立。将各目标虚拟端口的编号对当前CPU核心的总数量进行取余处理以确定对应的余数,再将余数的具体数匹配至各当前CPU核心的编号,以此完成匹配至对应的目标CPU核心。
例如,目标虚拟端口的编号为5,当前CPU核心的总数量为3,取余得到的余数为2,则将该目标虚拟端口匹配至编号为2的当前CPU核心。
本实施例提供的虚拟端口与CPU核心的均衡匹配,以便于创建对应的映射机制,保证后续业务处理过程中均衡CPU核心,避免集中在一个CPU核心内处理导致的负载压力较大的情况。
在一些实施例中,业务均衡处理机制基于业务数据的落盘编号性质确定,步骤S13中的根据业务均衡处理机制对业务数据均衡分配至对应的目标中央处理器核心进行业务处理,包括:
获取业务数据对应的虚拟盘编号,其中,虚拟盘编号区分于主机对应盘编号;
将各目标虚拟端口对应的目标中央处理器核心进行编号;
将各虚拟盘编号对目标中央处理器核心的总数量进行取余处理确定各虚拟盘编号对应的余数;
将各虚拟盘编号对应的余数匹配至各目标中央处理器核心的编号以确定对应的目标中央处理器核心。
具体地,业务均衡处理机制仅由业务数据的落盘编号性质确定,获取业务数据对应的虚拟盘编号,此时的虚拟盘编号区分于主机对应盘的编号,例如,向主机提供多个虚拟盘的业务数据,需要获取该虚拟盘从0开始的编号,在对目标CPU核心进行编号,两者是独立的编号过程。
将各虚拟盘编号对目标CPU核心的总数量进行取余处理以确定各虚拟盘编号对应的余数,再将各余数匹配至各目标CPU核心的编号以确定匹配到对应的目标CPU核心。本实施例中的取余处理和上述虚拟端口的取余处理相同,在此不做赘述。
在一些实施例中,业务均衡处理机制基于中央处理器核心的使用率确定,根据业务均衡处理机制对业务数据均衡分配至对应的目标中央处理器核心进行业务处理,包括:
获取各目标中央处理器核心的使用率;
在各目标中央处理器核心的使用率中获取最大使用率和最小使用率分别对应的目标中央处理器核心;
确定最大使用率和最小使用率的差值;
判断差值是否大于差值阈值;
若大于,则将业务数据分配至最小使用率对应的目标中央处理器核心进行业务处理。
具体地,各目标CPU核心的使用率会存在差异,因此,通过使用率这一参数可以确定各目标CPU核心的均衡度,若使用率相差较大,对应的各目标CPU核心的均衡度较差,需要通过下发的业务数据分配给均衡度较差对应的目标CPU核心以保证均衡分配,达到各目标CPU核心的使用率均衡,差异缩小。
另外,获取最大使用率和最小使用率对应的目标CPU核心,可以通过排序方式获取,也可以通过筛选方式获取,在此不限定。对应排序方式的获取,可以是各目标CPU核心的使用率从大到小或者从小到大的排序在此不做限定,可以根据实际设定即可。本实施例中的差值阈值,可以基于算法确定具体的阈值,也可以通过业务处理过程中的相同任务完成的时间差值等参数确定,在此不做限定。
本实施例中确定各目标CPU核心的使用率的均衡是基于最大使用率和最小使用率的差值确定,若该差值大于差值阈值,则说明对应的两个目标CPU核心的使用率相差较大,导致均衡度相差过大,因此,需要将业务数据分配至最小使用率对应的目标CPU核心进行业务处理。
对于差值小于差值阈值或者等于差值阈值的情况下,说明当前各目标CPU核心的使用率相差较小,大致相当,因此,可以采用其他的均衡方式分配。
在一些实施例中,业务均衡处理机制基于业务数据的落盘编号性质和各目标中央处理器核心的使用率确定,根据业务均衡处理机制对业务数据均衡分配至对应的目标中央处理器核心进行业务处理,包括:
获取各目标中央处理器核心的使用率;
在各目标中央处理器核心的使用率中获取最大使用率和最小使用率分别对应的目标中央处理器核心;
确定最大使用率和最小使用率的差值;
判断差值是否大于差值阈值;
若大于,则将业务数据对应的虚拟盘落盘至最小使用率对应的目标中央处理器核心;
若不大于,则获取业务数据对应的虚拟盘编号,其中,虚拟盘编号区分于主机对应盘编号;
将各目标虚拟端口对应的目标中央处理器核心进行编号;
将各虚拟盘编号对目标中央处理器核心的总数量进行取余处理确定各虚拟盘编号对应的余数;
将各虚拟盘编号对应的余数匹配至各目标中央处理器核心的编号以确定对应的目标中央处理器核心。
具体地,在差值不大于差值阈值的情况下,可以沿用取余处理方式,对应的具体方式和上述虚拟盘编号取余方式相同,在此不再赘述,可参照上述实施例即可。
本实施例提供的由于业务均衡处理机制的确定过程不同,其对应的根据业务均衡处理机制对业务数据均衡分配至对应的目标中央处理器核心进行业务处理的均衡分配方式不同,实现均衡分配的多样性和灵活性,保证各目标CPU核心的负载均衡。
在上述实施例的基础上,在一些实施例中,步骤S11中的故障控制节点对应的业务转移至备用控制节点的转移确定过程,包括:
获取故障控制节点的虚拟端口和备用控制节点的待转移虚拟端口以及端口转移列表,其中,端口转移列表内存储故障控制节点的虚拟端口和备用控制节点的待转移虚拟端口之间的端口映射关系;
根据端口转移列表对故障控制节点的虚拟端口的链路并行转移至对应的备用控制节点的待转移虚拟端口上。
可以理解的是,故障控制节点的虚拟端口主要是指主机与故障控制节点形成链路对应的虚拟端口,备用控制节点的待转移虚拟端口是故障控制节点的业务待转移至备用控制节点对应的承接虚拟端口。端口转移列表内存储故障控制节点的虚拟端口和备用控制节点的待转移虚拟端口之间的端口映射关系。端口映射关系,是预先在双控制器内存储的各虚拟端口下的映射,例如,控制节点A的虚拟端口2、4、6、8分别接管控制节点B的虚拟端口1、3、5、7,这样形成的端口映射。
基于端口转移列表对故障控制节点的虚拟端口的链路各自并行转移至对应的备用控制节点的待转移虚拟端口上,以实现转移路径的并行处理,节省转移时间。
在一些实施例中,考虑到路径转移除了上述实施例中的并行转移,还可以是顺次转移,步骤S12中的故障控制节点对应的业务转移至备用控制节点的转移确定过程,包括:
获取故障控制节点的虚拟端口对应的链路优先级,其中,链路优先级由故障控制节点的链路对应的虚拟端口承接的业务线程的重要程度确定;
获取故障控制节点的虚拟端口和备用控制节点的待转移虚拟端口以及端口转移列表,其中,端口转移列表内存储故障控制节点的虚拟端口和备用控制节点的待转移虚拟端口之间的端口映射关系;
根据端口转移列表和链路优先级对故障控制节点的虚拟端口的链路转移至对应的备用控制节点的待转移虚拟端口上。
具体地,获取故障控制节点的虚拟端口对应的链路优先级,该链路优先级可以通过对应业务线程优先级确定,本实施例中的业务线程优先级可以是业务线程的重要程度确定,还可以通过其他业务线程占用空间大小等确定,在此不做限定。基于端口转移列表和链路优先级对故障控制节点的虚拟端口的链路转移至对应的带转移虚拟端口上,也就是说,通过链路优先级,优先转移优先级较高的链路,再转移优先级较低的链路,以实现链路转移的有序性。
本实施例提供的链路转移过程中,对应并行转移可以节省转移时间,按照链路优先级的转移顺序转移,实现链路转移的有序性。
在上述实施例的基础上,在一些实施例中,步骤S11中的各当前中央处理器核心的确定过程,包括:
获取备用控制节点对应的所有中央处理器核心;
确定所有中央处理器核心的处理类型以及对应的处理能力;
在所有中央处理器核心内筛选处理类型为业务处理类型对应的中央处理器核心;
在所有中央处理器核心内除业务处理类型之外的其他中央处理器核心内筛选对应的处理能力大于预设处理能力对应的预备中央处理器核心;
将业务处理类型对应的中央处理器核心和预备中央处理器核心作为各当前中央处理器核心。
可以理解的是,本实施例中的当前CPU核心,可以是基于整个控制器对应的所有CPU核心,可以是基于特定的CPU核心进行后续的分配。本实施例中考虑到处理类型和处理能力的限定。
先筛选出处理类型为业务处理类型对应的CPU核心,对应的筛选过程,可以通过标志位方式进行筛选,也可以通过经常使用业务数据的处理对应的CPU核心作为业务处理类型的CPU核心的设定。另外,在除业务处理类型之外的其他剩余CPU核心内筛选其处理能力大于预设处理能力对应的预备CPU核心。本实施例中的预备CPU核心,考虑到该CPU核心的处理能力较高的情况,可以作为业务线程的业务数据处理的备选,以提升后续的业务处理效率。
将上述的业务处理类型对应的CPU核心和预备中央处理器核心作为当前CPU核心,以便于后续的均衡处理分配在当前CPU核心中进行分配。
在一些实施例中,在根据业务均衡处理机制对业务数据均衡分配确定对应的目标中央处理器核心之后,在对业务数据落盘至目标中央处理器核心之前,还包括:
获取各目标中央处理器核心的当前吞吐量;
若存在当前吞吐量小于预设吞吐量的情况下,则获取除当前吞吐量小于预设吞吐量对应的目标中央处理器核心之外的其余目标中央处理器核心对应的处理类型和吞吐量;
筛选出处理类型为业务处理类型、吞吐量大于预设吞吐量且吞吐量最大对应的目标中央处理器核心,并替换当前吞吐量小于预设吞吐量对应的目标中央处理器核心,以进行业务处理。
具体地,在确定目标CPU核心后,在还未落盘至目标CPU核心进行业务处理之前,再次检验该目标CPU核心的吞吐量,以确保当前落盘的目标CPU核心可以承接业务数据,保证吞吐量达到一定的预设吞吐量。
在存在当前吞吐量小于预设吞吐量的情况下,获取其他目标CPU处理器核心,该其他目标CPU核心是吞吐量大于或者等于预设吞吐量的CPU核心。获取其他目标CPU核心对应的处理类型和吞吐量,对其他目标CPU核心进行筛选。对应地筛选条件主要是处理类型为业务处理类型、吞吐量大于预设吞吐量且在各其他目标CPU核心中吞吐量最大,筛选后以替换当前吞吐量小于预设吞吐量对应的目标CPU核心,以便后续进行业务处理。
需要说明的是,筛选条件可以是其他条件,如处理能力等,替换CPU核心的数量可以是一个,也可以是多个,在此不做限定,若替换CPU核心为多个的情况下,可以将吞吐量最大的目标CPU核心承接多个当前吞吐量小于预设吞吐量对应的目标CPU核心,也可以是吞吐量最大的其他目标CPU核心为多个的情况下,可以进行均衡匹配,这里的均衡匹配可以沿用上述的匹配过程,也可以采用全新的其他匹配处理方式,在此不做限定。
本发明实施例提供的在落盘处理业务之前,检验待落盘的目标CPU核心,保证CPU核心的均衡性,以提高后续业务处理效率。
在一些实施例中,在根据业务均衡处理机制对业务数据均衡分配至对应的目标中央处理器核心进行业务处理之后,还包括:
确定各目标中央处理器核心对应的处理能力;
判断各处理能力是否超出预设处理能力;
若存在处理能力超出预设处理能力,则将超出预设处理能力对应的目标中央处理器核心进行标记,以便于下一次的业务数据不落盘至超出预设处理能力对应的目标中央处理器核心。
具体地,在当前的业务数据分配至目标CPU核心进行业务处理之后,为了下一次的业务数据的均衡分配,在此,需要检验各目标CPU核心对应的处理能力,若存在处理能力超出预设处理能力的情况下,则需要对超出预设处理能力对应的目标CPU核心进行标记,以便于下一次的业务数据不会落盘至标记的目标CPU核心内,节省了均衡分配的处理时间和计算时间,提高整体的业务处理效率。
在一些实施例中,备用控制节点的目标虚拟端口的获取过程,包括:
获取故障控制节点对应的业务转移至备用控制节点的待转移虚拟端口;
获取备用控制节点内与主机形成业务处理线程对应的链路的初始虚拟端口;
将待转移虚拟端口和初始虚拟端口作为目标虚拟端口。
具体地,本实施例中的目标虚拟端口,可以是备用控制节点的所有虚拟端口,也可以是真正形成链路对应的虚拟端口。考虑到CPU核心的均衡负载真正与业务数据之间的业务处理,本实施例中仅对备用控制节点中真正形成链路的虚拟端口进行后续的均衡匹配。
备用控制节点中真正形成链路的虚拟端口,主要包括备用控制节点内原本与主机形成业务处理线程对应的链路的初始虚拟端口和故障控制节点对应的业务转移至备用控制节点的待转移虚拟端口,以缩小分配均衡的时间,节省资源。
在一些实施例中,在根据业务均衡处理机制对业务数据均衡分配至对应的目标中央处理器核心进行业务处理之后,还包括:
根据预设时间获取各目标中央处理器核心对应的任务完成进度;
将已完成的任务对应的业务数据所属的内存空间进行清除回收。
具体地,根据预设时间获取各目标CPU核心对应的任务完成进度,对应已完成的任务的业务数据所属的内存空间进行清除回收,以保证内存空间的定时清理,节省内存空间。
本实施例中的预设时间,在此不做限定具体值,可以综合考虑各目标CPU核心内的业务数量和具体的数据等。清除回收的定时时间,也不做限定,可以根据实际情况设定即可。
上述详细描述了业务处理方法对应的各个实施例,在此基础上,本发明还公开与上述方法对应的业务处理装置,应用于双控制节点的存储系统,图4为本发明实施例提供的一种业务处理装置的结构图。如图4所示,业务处理装置包括:
第一获取模块11,用于在故障控制节点对应的业务转移至备用控制节点的情况下,获取业务线程的业务数据、备用控制节点的各目标虚拟端口和各当前中央处理器核心;
第一均衡分配模块12,用于在各当前中央处理器核心内对各目标虚拟端口均衡分配至对应的目标中央处理器核心,其中,目标中央处理器核心的数量为多个;
第二均衡分配模块13,用于根据业务均衡处理机制对业务数据均衡分配至对应的目标中央处理器核心进行业务处理,其中,业务均衡处理机制基于业务数据的落盘编号性质和/或各目标中央处理器核心的使用率确定。
一方面,第一均衡分配模块12包括:
第一编号子模块,用于对各目标虚拟端口和各当前中央处理器核心分别进行编号;
第一取余处理子模块,用于将各目标虚拟端口的编号对当前中央处理器核心的总数量进行取余处理确定各目标虚拟端口的编号对应的余数;
第一分配子模块,用于将各目标虚拟端口的编号对应的余数匹配至各当前中央处理器核心的编号以确定对应的目标中央处理器核心。
另一方面,业务均衡处理机制基于业务数据的落盘编号性质确定,第二均衡分配模块13包括:
第一获取子模块,用于获取业务数据对应的虚拟盘编号,其中,虚拟盘编号区分于主机对应盘编号;
第二编号子模块,用于将各目标虚拟端口对应的目标中央处理器核心进行编号;
第二取余处理子模块,用于将各虚拟盘编号对目标中央处理器核心的总数量进行取余处理确定各虚拟盘编号对应的余数;
第二分配子模块,用于将各虚拟盘编号对应的余数匹配至各目标中央处理器核心的编号以确定对应的目标中央处理器核心。
另一方面,业务均衡处理机制基于中央处理器核心的使用率确定,第二均衡分配模块13包括:
第二获取子模块,用于获取各目标中央处理器核心的使用率;
第三获取子模块,用于在各目标中央处理器核心的使用率中获取最大使用率和最小使用率分别对应的目标中央处理器核心;
第一确定子模块,用于确定最大使用率和最小使用率的差值;
第一判断子模块,用于判断差值是否大于差值阈值;若大于,则触发第三分配子模块;
第三分配子模块,用于将业务数据分配至最小使用率对应的目标中央处理器核心进行业务处理。
另一方面,业务均衡处理机制基于业务数据的落盘编号性质和各目标中央处理器核心的使用率确定,第二均衡分配模块13包括:
第四获取子模块,用于获取各目标中央处理器核心的使用率;
第五获取子模块,用于在各目标中央处理器核心的使用率中获取最大使用率和最小使用率分别对应的目标中央处理器核心;
第二确定子模块,用于确定最大使用率和最小使用率的差值;
第二判断子模块,用于判断差值是否大于差值阈值;若大于,则触发第四分配子模块,若不大于,则触发第六获取子模块;
第四分配子模块,用于将业务数据对应的虚拟盘落盘至最小使用率对应的目标中央处理器核心;
第六获取子模块,用于获取业务数据对应的虚拟盘编号,其中,虚拟盘编号区分于主机对应盘编号;
第三编号子模块,用于将各目标虚拟端口对应的目标中央处理器核心进行编号;
第三取余处理子模块,用于将各虚拟盘编号对目标中央处理器核心的总数量进行取余处理确定各虚拟盘编号对应的余数;
第五分配子模块,用于将各虚拟盘编号对应的余数匹配至各目标中央处理器核心的编号以确定对应的目标中央处理器核心。
另一方面,故障控制节点对应的业务转移至备用控制节点的转移确定过程,包括:
第七获取子模块,用于获取故障控制节点的虚拟端口和备用控制节点的待转移虚拟端口以及端口转移列表,其中,端口转移列表内存储故障控制节点的虚拟端口和备用控制节点的待转移虚拟端口之间的端口映射关系;
第一转移子模块,用于根据端口转移列表对故障控制节点的虚拟端口的链路并行转移至对应的备用控制节点的待转移虚拟端口上。
另一方面,故障控制节点对应的业务转移至备用控制节点的转移确定过程,包括:
第八获取子模块,用于获取故障控制节点的虚拟端口对应的链路优先级,其中,链路优先级由故障控制节点的链路对应的虚拟端口承接的业务线程的重要程度确定;
第九获取子模块,用于获取故障控制节点的虚拟端口和备用控制节点的待转移虚拟端口以及端口转移列表,其中,端口转移列表内存储故障控制节点的虚拟端口和备用控制节点的待转移虚拟端口之间的端口映射关系;
第二转移子模块,用于根据端口转移列表和链路优先级对故障控制节点的虚拟端口的链路转移至对应的备用控制节点的待转移虚拟端口上。
另一方面,各当前中央处理器核心的确定过程,包括:
第十获取子模块,用于获取备用控制节点对应的所有中央处理器核心;
第三确定子模块,用于确定所有中央处理器核心的处理类型以及对应的处理能力;
第一筛选处理子模块,用于在所有中央处理器核心内筛选处理类型为业务处理类型对应的中央处理器核心;
第二筛选处理子模块,用于在所有中央处理器核心内除业务处理类型之外的其他中央处理器核心内筛选对应的处理能力大于预设处理能力对应的预备中央处理器核心;
第一作为子模块,用于将业务处理类型对应的中央处理器核心和预备中央处理器核心作为各当前中央处理器核心。
另一方面,在根据业务均衡处理机制对业务数据均衡分配确定对应的目标中央处理器核心之后,在对业务数据落盘至目标中央处理器核心之前,还包括:
第十一获取子模块,用于获取各目标中央处理器核心的当前吞吐量;
第十二获取子模块,用于若存在当前吞吐量小于预设吞吐量的情况下,则获取除当前吞吐量小于预设吞吐量对应的目标中央处理器核心之外的其余目标中央处理器核心对应的处理类型和吞吐量;
第三筛选处理子模块,用于筛选出处理类型为业务处理类型、吞吐量大于预设吞吐量且吞吐量最大对应的目标中央处理器核心,并替换当前吞吐量小于预设吞吐量对应的目标中央处理器核心,以进行业务处理。
另一方面,在第二均衡分配模块13之后,还包括:
第四确定子模块,用于确定各目标中央处理器核心对应的处理能力;
第三判断子模块,用于判断各处理能力是否超出预设处理能力;若存在处理能力超出预设处理能力,则触发第一标记子模块;
第一标记子模块,用于将超出预设处理能力对应的目标中央处理器核心进行标记,以便于下一次的业务数据不落盘至超出预设处理能力对应的目标中央处理器核心。
另一方面,备用控制节点的目标虚拟端口的获取过程,包括:
第十三获取子模块,用于获取故障控制节点对应的业务转移至备用控制节点的待转移虚拟端口;
第十四获取子模块,用于获取备用控制节点内与主机形成业务处理线程对应的链路的初始虚拟端口;
第二作为子模块,用于将待转移虚拟端口和初始虚拟端口作为目标虚拟端口。
另一方面,在第二均衡分配模块13之后,还包括:
第十五获取子模块,用于根据预设时间获取各目标中央处理器核心对应的任务完成进度;
第一回收子模块,用于将已完成的任务对应的业务数据所属的内存空间进行清除回收。
由于装置部分的实施例与上述的实施例相互对应,因此装置部分的实施例请参照上述方法部分的实施例描述,在此不再赘述。
对于本发明提供的一种业务处理装置的介绍请参照上述方法实施例,本发明在此不再赘述,其具有上述业务处理方法相同的有益效果。
图5为本发明实施例提供的一种业务处理设备的结构图,如图5所示,该设备包括:
存储器21,用于存储计算机程序;
处理器22,用于执行计算机程序时实现业务处理方法的步骤。
本实施例提供的业务处理设备可以包括但不限于智能手机、平板电脑、笔记本电脑或者台式电脑等。
其中,处理器22可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器22可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器22也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器22可以集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器22还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器21可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器21还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器21至少用于存储以下计算机程序211,其中,该计算机程序被处理器22加载并执行之后,能够实现前述任一实施例公开的业务处理方法的相关步骤。另外,存储器21所存储的资源还可以包括操作系统212和数据213等,存储方式可以是短暂存储或者永久存储。其中,操作系统212可以包括Windows、Unix、Linux等。数据213可以包括但不限于业务处理方法所涉及到的数据等等。
在一些实施例中,业务处理设备还可包括有显示屏23、输入输出接口24、通信接口25、电源26以及通信总线27。
领域技术人员可以理解,图5中示出的结构并不构成对业务处理设备的限定,可以包括比图示更多或更少的组件。
处理器22通过调用存储于存储器21中的指令以实现上述任一实施例所提供的业务处理方法。
对于本发明提供的一种业务处理设备的介绍请参照上述方法实施例,本发明在此不再赘述,其具有上述业务处理方法相同的有益效果。
进一步的,本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器22执行时实现如上述业务处理方法的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的一种计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不再赘述,其具有上述业务处理方法相同的有益效果。
图6为本发明实施例提供的一种业务处理场景的示意图,如图6所示,节点A(备用控制节点10)有一个物理端口包含虚拟端口1和虚拟端口2两个虚拟端口,虚拟端口1的业务由业务处理线程1处理,业务处理线程与中央处理器核心1做亲和性绑定,虚拟端口2的业务由业务处理线程2处理,业务处理线程2与CPU核心2做亲和性绑定,节点A物理端口与主机/服务器8相连,用于处理主机/服务器8业务,虚拟端口2做端口冗余,在节点B(故障控制节点9)故障时,节点A接管节点B虚拟端口1的业务;节点B有一个物理端口包含虚拟端口1和虚拟端口2两个虚拟端口,虚拟端口1的业务由业务处理线程1处理,业务处理线程与CPU核心1做亲和性绑定,虚拟端口2的业务由业务处理线程2处理,业务处理线程2与CPU核心2做亲和性绑定,节点B物理端口与主机/服务器相连,用于处理主机/服务器业务,虚拟端口2做端口冗余,在节点A故障时,节点B接管节点A虚拟端口1的业务。相较于原有设计,双控系统中一个节点故障,主机侧可访问存储的链路不会减少,故障节点的业务转移到伙伴节点(伙伴节点无故障),不会造成伙伴节点某些CPU核心负荷过大(CPU核心足够多),通过虚拟端口与CPU核心亲和性的合理绑定,可以有效利用CPU资源,均衡业务负载,保证原业务吞吐量。
以上对本发明所提供的一种业务处理方法、装置、设备及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (15)
1.一种业务处理方法,其特征在于,应用于双控制节点的存储系统,所述方法包括:
在故障控制节点对应的业务转移至备用控制节点的情况下,获取业务线程的业务数据、所述备用控制节点的各目标虚拟端口和各当前中央处理器核心;其中,所述备用控制节点的各目标虚拟端口为所述备用控制节点内的所有虚拟端口或者正在占用的链路形成的虚拟端口,正在占用的链路形成的虚拟端口包括所述备用控制节点内原始的虚拟端口和由故障控制节点转移到所述备用控制节点的虚拟端口;
在各所述当前中央处理器核心内将各所述目标虚拟端口均衡分配至对应的目标中央处理器核心,其中,所述目标中央处理器核心的数量为多个;
根据业务均衡处理机制将所述业务数据均衡分配至对应的所述目标中央处理器核心进行业务处理,其中,所述业务均衡处理机制基于所述业务数据的落盘编号性质和/或各所述目标中央处理器核心的使用率确定。
2.根据权利要求1所述的业务处理方法,其特征在于,所述在各所述当前中央处理器核心内将各所述目标虚拟端口均衡分配至对应的目标中央处理器核心,包括:
对各所述目标虚拟端口和各所述当前中央处理器核心分别进行编号;
将各所述目标虚拟端口的编号对所述当前中央处理器核心的总数量进行取余处理确定各所述目标虚拟端口的编号对应的余数;
将各所述目标虚拟端口的编号对应的余数匹配至各所述当前中央处理器核心的编号以确定对应的所述目标中央处理器核心。
3.根据权利要求2所述的业务处理方法,其特征在于,所述业务均衡处理机制基于所述业务数据的落盘编号性质确定,所述根据业务均衡处理机制将所述业务数据均衡分配至对应的所述目标中央处理器核心进行业务处理,包括:
获取所述业务数据对应的虚拟盘编号,其中,所述虚拟盘编号区分于主机对应盘编号;
将各所述目标虚拟端口对应的所述目标中央处理器核心进行编号;
将各所述虚拟盘编号对所述目标中央处理器核心的总数量进行取余处理确定各所述虚拟盘编号对应的余数;
将各所述虚拟盘编号对应的余数匹配至各所述目标中央处理器核心的编号以确定对应的所述目标中央处理器核心。
4.根据权利要求2所述的业务处理方法,其特征在于,所述业务均衡处理机制基于所述中央处理器核心的使用率确定,所述根据业务均衡处理机制将所述业务数据均衡分配至对应的所述目标中央处理器核心进行业务处理,包括:
获取各所述目标中央处理器核心的使用率;
在各所述目标中央处理器核心的使用率中获取最大使用率和最小使用率分别对应的目标中央处理器核心;
确定所述最大使用率和所述最小使用率的差值;
判断所述差值是否大于差值阈值;
若大于,则将所述业务数据分配至所述最小使用率对应的所述目标中央处理器核心进行业务处理。
5.根据权利要求2所述的业务处理方法,其特征在于,所述业务均衡处理机制基于所述业务数据的落盘编号性质和各所述目标中央处理器核心的使用率确定,所述根据业务均衡处理机制将所述业务数据均衡分配至对应的所述目标中央处理器核心进行业务处理,包括:
获取各所述目标中央处理器核心的使用率;
在各所述目标中央处理器核心的使用率中获取最大使用率和最小使用率分别对应的目标中央处理器核心;
确定所述最大使用率和所述最小使用率的差值;
判断所述差值是否大于差值阈值;
若大于,则将所述业务数据对应的虚拟盘落盘至所述最小使用率对应的所述目标中央处理器核心;
若不大于,则获取所述业务数据对应的虚拟盘编号,其中,所述虚拟盘编号区分于主机对应盘编号;
将各所述目标虚拟端口对应的所述目标中央处理器核心进行编号;
将各所述虚拟盘编号对所述目标中央处理器核心的总数量进行取余处理确定各所述虚拟盘编号对应的余数;
将各所述虚拟盘编号对应的余数匹配至各所述目标中央处理器核心的编号以确定对应的所述目标中央处理器核心。
6.根据权利要求1所述的业务处理方法,其特征在于,所述故障控制节点对应的业务转移至所述备用控制节点的转移确定过程,包括:
获取所述故障控制节点的虚拟端口和所述备用控制节点的待转移虚拟端口以及端口转移列表,其中,所述端口转移列表内存储所述故障控制节点的虚拟端口和所述备用控制节点的待转移虚拟端口之间的端口映射关系;
根据所述端口转移列表对所述故障控制节点的虚拟端口的链路并行转移至对应的所述备用控制节点的待转移虚拟端口上。
7.根据权利要求1所述的业务处理方法,其特征在于,所述故障控制节点对应的业务转移至所述备用控制节点的转移确定过程,包括:
获取所述故障控制节点的虚拟端口对应的链路优先级,其中,所述链路优先级由所述故障控制节点的链路对应的虚拟端口承接的业务线程的重要程度确定;
获取所述故障控制节点的虚拟端口和所述备用控制节点的待转移虚拟端口以及端口转移列表,其中,所述端口转移列表内存储所述故障控制节点的虚拟端口和所述备用控制节点的待转移虚拟端口之间的端口映射关系;
根据所述端口转移列表和所述链路优先级对所述故障控制节点的虚拟端口的链路转移至对应的所述备用控制节点的待转移虚拟端口上。
8.根据权利要求1所述的业务处理方法,其特征在于,各所述当前中央处理器核心的确定过程,包括:
获取所述备用控制节点对应的所有中央处理器核心;
确定所有所述中央处理器核心的处理类型以及对应的处理能力;
在所有所述中央处理器核心内筛选所述处理类型为业务处理类型对应的中央处理器核心;
在所有所述中央处理器核心内除所述业务处理类型之外的其他中央处理器核心内筛选对应的处理能力大于预设处理能力对应的预备中央处理器核心;
将所述业务处理类型对应的中央处理器核心和所述预备中央处理器核心作为各所述当前中央处理器核心。
9.根据权利要求3至5任意一项所述的业务处理方法,其特征在于,在根据所述业务均衡处理机制对所述业务数据均衡分配确定对应的所述目标中央处理器核心之后,在对所述业务数据落盘至所述目标中央处理器核心之前,还包括:
获取各所述目标中央处理器核心的当前吞吐量;
若存在所述当前吞吐量小于预设吞吐量的情况下,则获取除所述当前吞吐量小于所述预设吞吐量对应的所述目标中央处理器核心之外的其余目标中央处理器核心对应的处理类型和吞吐量;
筛选出所述处理类型为业务处理类型、所述吞吐量大于所述预设吞吐量且所述吞吐量最大对应的目标中央处理器核心,并替换所述当前吞吐量小于所述预设吞吐量对应的所述目标中央处理器核心,以进行业务处理。
10.根据权利要求9所述的业务处理方法,其特征在于,在所述根据业务均衡处理机制将所述业务数据均衡分配至对应的所述目标中央处理器核心进行业务处理之后,还包括:
确定各所述目标中央处理器核心对应的处理能力;
判断各所述处理能力是否超出预设处理能力;
若存在所述处理能力超出所述预设处理能力,则将超出所述预设处理能力对应的所述目标中央处理器核心进行标记,以便于下一次的所述业务数据不落盘至超出所述预设处理能力对应的所述目标中央处理器核心。
11.根据权利要求6或7所述的业务处理方法,其特征在于,所述备用控制节点的所述目标虚拟端口的获取过程,包括:
获取所述故障控制节点对应的业务转移至所述备用控制节点的待转移虚拟端口;
获取所述备用控制节点内与主机形成业务处理线程对应的链路的初始虚拟端口;
将所述待转移虚拟端口和所述初始虚拟端口作为所述目标虚拟端口。
12.根据权利要求1所述的业务处理方法,其特征在于,在所述根据业务均衡处理机制将所述业务数据均衡分配至对应的所述目标中央处理器核心进行业务处理之后,还包括:
根据预设时间获取各所述目标中央处理器核心对应的任务完成进度;
将已完成的任务对应的所述业务数据所属的内存空间进行清除回收。
13.一种业务处理装置,其特征在于,应用于双控制节点的存储系统,所述装置包括:
第一获取模块,用于在故障控制节点对应的业务转移至备用控制节点的情况下,获取业务线程的业务数据、所述备用控制节点的各目标虚拟端口和各当前中央处理器核心;其中,所述备用控制节点的各目标虚拟端口为所述备用控制节点内的所有虚拟端口或者正在占用的链路形成的虚拟端口,正在占用的链路形成的虚拟端口包括所述备用控制节点内原始的虚拟端口和由故障控制节点转移到所述备用控制节点的虚拟端口;
第一均衡分配模块,用于在各所述当前中央处理器核心内将各所述目标虚拟端口均衡分配至对应的目标中央处理器核心,其中,所述目标中央处理器核心的数量为多个;
第二均衡分配模块,用于根据业务均衡处理机制将所述业务数据均衡分配至对应的所述目标中央处理器核心进行业务处理,其中,所述业务均衡处理机制基于所述业务数据的落盘编号性质和/或各所述目标中央处理器核心的使用率确定。
14.一种业务处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至12任一项所述的业务处理方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述的业务处理方法的步骤。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410072350.2A CN117596212B (zh) | 2024-01-18 | 2024-01-18 | 一种业务处理方法、装置、设备及介质 |
| PCT/CN2024/122418 WO2025152505A1 (zh) | 2024-01-18 | 2024-09-29 | 一种业务处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410072350.2A CN117596212B (zh) | 2024-01-18 | 2024-01-18 | 一种业务处理方法、装置、设备及介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN117596212A CN117596212A (zh) | 2024-02-23 |
| CN117596212B true CN117596212B (zh) | 2024-04-09 |
Family
ID=89911900
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202410072350.2A Active CN117596212B (zh) | 2024-01-18 | 2024-01-18 | 一种业务处理方法、装置、设备及介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN117596212B (zh) |
| WO (1) | WO2025152505A1 (zh) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117596212B (zh) * | 2024-01-18 | 2024-04-09 | 苏州元脑智能科技有限公司 | 一种业务处理方法、装置、设备及介质 |
| CN120670229B (zh) * | 2025-08-25 | 2025-11-18 | 浪潮电子信息产业股份有限公司 | 一种处理器拓扑映射的管理方法、设备、程序及存储介质 |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101446885A (zh) * | 2005-09-05 | 2009-06-03 | 株式会社日立制作所 | 存储系统以及存储系统的访问控制方法 |
| US8626967B1 (en) * | 2012-06-29 | 2014-01-07 | Emc Corporation | Virtualization of a storage processor for port failover |
| CN103645864A (zh) * | 2013-12-26 | 2014-03-19 | 深圳市迪菲特科技股份有限公司 | 一种磁盘阵列双控系统及其实现方法 |
| CN108924272A (zh) * | 2018-06-26 | 2018-11-30 | 新华三信息安全技术有限公司 | 一种端口资源分配方法及装置 |
| CN110275760A (zh) * | 2019-06-27 | 2019-09-24 | 深圳市网心科技有限公司 | 基于虚拟主机处理器的进程挂起方法及其相关设备 |
| CN110362402A (zh) * | 2019-06-25 | 2019-10-22 | 苏州浪潮智能科技有限公司 | 一种负载均衡方法、装置、设备及可读存储介质 |
| CN111866210A (zh) * | 2020-07-08 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种虚拟ip均衡分配方法、系统、终端及存储介质 |
| CN113742098A (zh) * | 2021-08-20 | 2021-12-03 | 苏州浪潮智能科技有限公司 | 一种内核消息处理方法、装置、设备及存储介质 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7836332B2 (en) * | 2007-07-18 | 2010-11-16 | Hitachi, Ltd. | Method and apparatus for managing virtual ports on storage systems |
| CN103414588B (zh) * | 2013-08-12 | 2017-02-08 | 华为技术有限公司 | 一种vtl备份方法及vtl节点 |
| CN105677519B (zh) * | 2016-02-25 | 2019-04-30 | 浙江宇视科技有限公司 | 一种资源的访问方法和装置 |
| CN107911247A (zh) * | 2017-11-27 | 2018-04-13 | 郑州云海信息技术有限公司 | 一种基于多控mcs系统的npiv实现方法 |
| CN114138471B (zh) * | 2021-11-18 | 2024-04-19 | 苏州浪潮智能科技有限公司 | 一种软件业务绑定cpu核心的方法及相关装置 |
| CN115484129A (zh) * | 2022-07-29 | 2022-12-16 | 天翼云科技有限公司 | 多进程数据的处理方法、装置、网关及可读存储介质 |
| CN117596212B (zh) * | 2024-01-18 | 2024-04-09 | 苏州元脑智能科技有限公司 | 一种业务处理方法、装置、设备及介质 |
-
2024
- 2024-01-18 CN CN202410072350.2A patent/CN117596212B/zh active Active
- 2024-09-29 WO PCT/CN2024/122418 patent/WO2025152505A1/zh active Pending
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101446885A (zh) * | 2005-09-05 | 2009-06-03 | 株式会社日立制作所 | 存储系统以及存储系统的访问控制方法 |
| US8626967B1 (en) * | 2012-06-29 | 2014-01-07 | Emc Corporation | Virtualization of a storage processor for port failover |
| CN103645864A (zh) * | 2013-12-26 | 2014-03-19 | 深圳市迪菲特科技股份有限公司 | 一种磁盘阵列双控系统及其实现方法 |
| CN108924272A (zh) * | 2018-06-26 | 2018-11-30 | 新华三信息安全技术有限公司 | 一种端口资源分配方法及装置 |
| CN110362402A (zh) * | 2019-06-25 | 2019-10-22 | 苏州浪潮智能科技有限公司 | 一种负载均衡方法、装置、设备及可读存储介质 |
| CN110275760A (zh) * | 2019-06-27 | 2019-09-24 | 深圳市网心科技有限公司 | 基于虚拟主机处理器的进程挂起方法及其相关设备 |
| CN111866210A (zh) * | 2020-07-08 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种虚拟ip均衡分配方法、系统、终端及存储介质 |
| CN113742098A (zh) * | 2021-08-20 | 2021-12-03 | 苏州浪潮智能科技有限公司 | 一种内核消息处理方法、装置、设备及存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN117596212A (zh) | 2024-02-23 |
| WO2025152505A1 (zh) | 2025-07-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12432286B1 (en) | Multi-protocol communication fabric control | |
| CN117596212B (zh) | 一种业务处理方法、装置、设备及介质 | |
| US10545762B2 (en) | Independent mapping of threads | |
| US9823980B2 (en) | Prioritizing data reconstruction in distributed storage systems | |
| US9798471B2 (en) | Performance of de-clustered disk array by disk grouping based on I/O statistics | |
| CN103051691B (zh) | 分区分配方法、装置以及分布式存储系统 | |
| US12182617B2 (en) | Execution job compute unit composition in computing clusters | |
| CN115225642B (zh) | 超融合系统的弹性负载均衡方法及系统 | |
| US11474919B2 (en) | Method for managing multiple disks, electronic device and computer program product | |
| CN104378394B (zh) | 一种服务器集群文件的更新方法及装置 | |
| CN111866210A (zh) | 一种虚拟ip均衡分配方法、系统、终端及存储介质 | |
| CN112256204B (zh) | 存储资源分配方法、装置、存储节点及存储介质 | |
| CN116302512B (zh) | 阵列服务器算力集群方法、控制模块、阵列服务器和介质 | |
| LU101681B1 (en) | Maintenance mode for storage nodes | |
| CN106293501A (zh) | 数据读写方法及装置 | |
| WO2026040817A1 (zh) | 一种支持多租户的多集群应用故障迁移方法及系统 | |
| CN114281240B (zh) | 存储系统及其控制方法 | |
| US11249648B2 (en) | Transfer and processing unit for IOD SSD | |
| US12366994B2 (en) | Multipath initiator for data storage device arrays | |
| CN115202589B (zh) | 放置组成员选择方法、装置、设备及可读存储介质 | |
| CN115016738B (zh) | 一种数据迁移的方法、装置、系统、电子设备及介质 | |
| CN118093163A (zh) | 负载均衡方法、装置、存储介质和电子装置 | |
| CN103888510A (zh) | 一种云计算数据中心的业务高可用方法 | |
| WO2022218434A1 (zh) | 一种计算节点管理系统及针对多个计算节点的管理方法 | |
| CN120723487B (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 |