CN112035262A - 多主机动态管理调整的方法和装置 - Google Patents

多主机动态管理调整的方法和装置 Download PDF

Info

Publication number
CN112035262A
CN112035262A CN202011003985.5A CN202011003985A CN112035262A CN 112035262 A CN112035262 A CN 112035262A CN 202011003985 A CN202011003985 A CN 202011003985A CN 112035262 A CN112035262 A CN 112035262A
Authority
CN
China
Prior art keywords
working
host
information table
time
condition information
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.)
Pending
Application number
CN202011003985.5A
Other languages
English (en)
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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202011003985.5A priority Critical patent/CN112035262A/zh
Publication of CN112035262A publication Critical patent/CN112035262A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明提供一种多主机动态管理调整的方法和装置。该多主机动态管理调整的方法包括:每隔预定时间段检查工作情况信息表,所述工作情况信息表包括与一个或多个主机相关联的一条或多条工作信息记录;对所述工作情况信息表中的所述工作信息记录中的至少一项进行判断;根据判断结果,更新所述工作情况信息表中的所述工作信息记录。本发明的多主机动态管理调整的方法和装置,可以实现多主机热切换,可以使系统具有更高的可用性,在单点主机出现故障时可以进行快速热切换,对业务处理的影响较小;在业务高峰和低谷期间,可以自动增减主机的数量,使得计算资源能够被更合理的分配;还可以手动指定工作主机,让性能强大的主机处理更多的业务。

Description

多主机动态管理调整的方法和装置
技术领域
本发明涉及计算机技术领域,尤其是涉及一种多主机动态管理调整的方法和装置。
背景技术
[技术问题]
在计算机软件系统中,与每时每刻都在产生的业务问题的数量相比,计算机软件系统主机的数量是极其少量的。为了确保能在短时间内处理掉大量的业务问题,所有的主机必须同时运行。但是在多主机并行运行的情况下又带来了新的问题,首当其冲的是多主机之间的冲突问题。现有技术中在解决冲突问题时,一般采用分治法、随机法、排队法来避免冲突的发生。
采用这些方法后,会带来另外的一些问题:第一,有些主机会形成关键的单点主机,这些主机如果出现问题,将会影响业务的正常处理;第二,不同的业务问题出现的业务高峰时段也有区别,会出现不同主机忙闲不均,系统资源开销不均衡,影响系统的稳定运行,无法满足业务问题的时效性要求的情形;第三,由于成本的问题,主机的性能可能不尽相同,往往希望性能强劲的主机能够物尽其用,处理更多的业务问题,但由于使用的方法不同,无法保证这点,形成资源的浪费。
[现有技术中解决问题的方案]
现有技术中一般采取下面几种方法来解决并发下的冲突问题:
第一种,分治法。将大量的业务问题按一定的维度进行分割,将问题的规模先变小再处理,例如将业务问题按照地域划分,同时将后台处理业务问题的主机也按照地域划分,对应地域的主机处理对应地域的业务问题。
第二种,随机法。按照一定的标准随机筛选业务问题随机进行处理。例如每个地域对应一个随机数,每次后台主机先产生一个随机数,然后根据随机数来处理对应分行的业务。
第三种,排队法。将处理同一种业务的主机进行排队,每次从队头取出一台主机进行业务处理,处理完成后放入队尾进行排队,如此循环,形成动态平衡。
[现有技术方案的缺点]
以下说明上述现有技术存在的缺点。
第一种,分治法。将大量的业务问题按一定的维度进行分割,将问题的规模先变小再处理,例如按地域划分,但由于每个地域的业务问题的规模往往不同,出现业务问题波峰波谷的时间点也不一样,容易出现后台主机忙闲不均的情况。
第二种,随机法。直接按照一定的标准随机筛选业务问题随机进行处理。随机法对随机算子的依赖性较大,例如对于业务量大的地域,初始产生的对应的随机数应该较多,业务高峰出现时,产生的对应的随机数也应该较多,这里产生的随机数有时序性特征,可以根据历史数据来产生,但和现实情况相比,还是有较大的差别,对于时效性高的业务无法满足时效性要求。
第三种,排队法。当不同的业务问题的规模不同时,会出现不同的队列忙闲不均,有的队列出现大量的积压,有的队列中出现空跑的现象,无法实现资源的统筹安排。
上述方法共有的缺点还有不满足高可用性,单点主机问题明显,例如对应某个地域的主机如果出现故障,这个地域对应的业务问题都无法处理;另外,对于忙闲不均的问题,空闲的主机无法帮忙处理繁忙主机的业务问题;最后,如果有性能强大的主机,也无法让其处理更多的业务问题,发挥其最大性能。
[本发明解决的问题]
本发明中提出的一种多主机动态管理调整的方法和装置,可以实现多主机热切换,可以使系统具有更高的可用性,在单点主机出现故障时可以进行快速热切换,对业务处理的影响较小;在业务高峰和低谷期间,可以自动增减主机的数量,使得计算资源能够被更合理的分配;还可以手动指定工作主机,让性能强大的主机处理更多的业务。
发明内容
根据本发明的第一方面,提供一种多主机动态管理调整的方法,其特征在于,包括:每隔预定时间段检查工作情况信息表,所述工作情况信息表包括与一个或多个主机相关联的一条或多条工作信息记录;对所述工作情况信息表中的所述工作信息记录中的至少一项进行判断;根据判断结果,更新所述工作情况信息表中的所述工作信息记录。
根据本发明的上述方面的所述的多主机动态管理调整的方法中,所述工作信息记录中的每条工作信息记录至少包括工作状态、上次更新时间、本次更新时间、工作单元编号、单元内编号、主备标志、进程编号。
根据本发明的上述方面的所述的多主机动态管理调整的方法,包括:判断所述工作情况信息表中的所述工作信息记录中的工作状态。如果所述工作情况信息表中的某条所述工作信息记录中的工作状态为“工作”,并且该条工作信息记录中的本次更新时间的值距离现在时间的间隔超过预设工作阈值时间,则将该条工作信息记录中的工作状态改为“死亡”。
根据本发明的上述方面的多主机动态管理调整的方法,包括:判断所述工作情况信息表中的所述工作信息记录中的工作状态。如果所述工作情况信息表中的某条所述工作信息记录中的工作状态为“死亡”,并且该条工作信息记录中的本次更新时间的值距离现在时间间隔超过预设死亡阈值时间,则将该条工作信息记录对应的工作主机确定为死亡主机,从工作状态为“空闲”的主机中找一台空闲主机,将死亡主机的工作单元编号、单元内编号、主备标志都设置到所述一台空闲主机对应的记录上,从而实现用所述一台空闲主机替换所述死亡主机。
根据本发明的上述方面的多主机动态管理调整的方法,还包括:发送命令杀死所述死亡主机的进程,然后使得所述死亡主机重新启动一个新的进程,并且更新所述工作信息表中与所述死亡主机对应的所述工作信息记录的进程编号,并将工作状态更新为“空闲”,从而所述死亡主机重新变为空闲主机。
根据本发明的上述方面的多主机动态管理调整的方法,还包括:对所述工作情况信息表中的与主机性能有关的所述工作信息记录进行查询,当发现性能较高的主机且所述主机的主备标志为“备机”时,在所述工作情况信息表中将所述性能较高的主机的主备标志改为“主机”。
根据本发明的上述方面的多主机动态管理调整的方法,还包括:对所述工作情况信息表中的与主机性能有关的所述工作信息记录进行查询,当发现性能较低的主机且所述主机的主备标志为“主机”时,在工作情况信息表中将所述性能较低的主机的主备标志改为“备机”。
根据本发明的上述方面的多主机动态管理调整的方法,其中,与主机性能有关的所述工作信息记录为操作系统、CPU型号、CPU核心数、内存大小中的至少一个。
根据本发明的上述方面的多主机动态管理调整的方法,还包括:判断在规定时间段内,获取任务的数量是否小于平均获取任务数量的下限阈值,当获取任务的数量都小于平均获取任务数量的下限阈值时,如果一个工作单元中的工作队列和备份队列中的主机数量都大于1,则自动进行核减主机的操作。
根据本发明的上述方面的多主机动态管理调整的方法,所述自动进行核减主机的操作包括:将工作情况信息表中的主机对应的所述工作信息记录中的工作状态改为“空闲”,并且将工作单元编号、单元内编号、主备标志、上次更新时间、本次更新时间都更新为空。
根据本发明的上述方面的多主机动态管理调整的方法,还包括:判断在规定时间段内,获取任务的数量是否大于平均获取任务数量的上限阈值,当每次获取任务的数量都大于平均获取任务数量的上限阈值时,则自动进行增加主机的操作。
根据本发明的上述方面的多主机动态管理调整的方法,所述自动进行增加主机的操作包括:查找所述工作信息表中对应的工作状态为“空闲”的至少2条记录,将CPU核数较多、内存较大的主机放入对应工作单元的工作队列,将其余主机放入备份队列,同时将所述工作信息表中的所述至少2条记录的工作状态改为“工作”,并更新工作单元编号、单元内编号、主备标志、上次更新时间、本次更新时间。
根据本发明的上述方面的多主机动态管理调整的方法,其中,所述至少2条记录为查找所述工作信息表中的工作状态为“空闲”的前2条记录。
根据本发明的上述方面的多主机动态管理调整的方法,还包括:从工作队列的主机和备用队列的主机中分别选取一台主机去获取任务;对于获取到任务的主机,查询所述工作情况信息表;对所述工作情况信息表中的所述工作信息记录中的至少主备标志进行判断。
根据本发明的上述方面的多主机动态管理调整的方法,如果是工作主机获取到任务,通过查询所述工作情况信息表来判断并执行以下处理:得到任务的工作主机的主备状态值为如果为“主机”,则该工作主机直接处理任务,处理完成后更新所述工作情况信息表,将所述工作情况信息表中的该主机的所述工作信息记录中的现有的本次更新时间的值写到上次更新时间中,将当前时间写到本次更新时间中,将工作状态写为“工作”,返回到工作队列中。得到任务的工作主机的主备状态值如果为“备机”,则该主机将任务交给的工作队列中的下一个工作主机进行处理;如果后面没有下一个工作主机,则将任务返还给任务池;上述处理完成后,更新工作情况信息表,将表中现有的本次更新时间更新到上次更新时间,将当前时间更新到本次更新时间中,将工作状态更新为“工作”,返回到备用队列中。
根据本发明的上述方面的多主机动态管理调整的方法,如果是工作备机获取到了任务,通过查询所述工作情况信息表中同一工作单元内工作主机的工作状态,来判断并执行以下处理:如果工作主机的工作状态为“工作”,且本次更新时间值距离现在时间间隔没有超过预设工作阈值时间,则将获取到的任务交给该工作主机处理,并更新工作情况信息表,将工作情况信息表中现有的本次更新时间的值写入到上次更新时间,将当前时间写到本次更新时间中,将工作状态更新为“工作”,返回到备用队列中;如果工作主机的工作状态为“工作”,且本次更新时间值距离现在时间间隔超过预设工作阈值时间,则更改所述工作信息记录:将工作主机的工作状态改为“死亡”,主备标志改为“备机”;将自身的主备标志改为“主机”,将所述工作情况信息表中现有的本次更新时间的值写到上次更新时间,将当前时间写到本次更新时间中,将工作状态更新为“工作”,返回到工作队列中;如果工作主机的工作状态为“死亡”,则将工作主机的工作状态改为“死亡”,主备标志改为“备机”;然后将自身的主备标志改为“主机”,将所述工作情况信息表中现有的本次更新时间的值写到上次更新时间,将当前时间写到本次更新时间中,将工作状态新为“工作”,返回到工作队列中。
根据本发明的第二方面,提供一种多主机动态管理调整装置,用于对一个或多个主机进行动态管理调整,其特征在于,包括:查询模块,所述查询模块每隔预定时间段检查工作情况信息表,所述工作情况信息表包括与所述一个或多个主机相关联的工作信息记录;判断模块,所述判断模块用于根据所述查询模块的检查结果,对所述工作情况信息表中的所述工作信息记录中的至少一项进行判断;管理调整模块,所述管理调整模块用于根据判断结果,更新所述工作情况信息表中的所述工作信息记录。
根据本发明的第二方面所述的多主机动态管理调整装置,其中,所述工作信息记录中的每条工作信息记录至少包括工作状态、上次更新时间、本次更新时间、工作单元编号、单元内编号、主备标志、进程编号。
根据本发明的第三方面,提供一种多主机动态管理调整系统,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明的第一方面中任一所述的方法。
根据本发明的第四方面,提供一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现本发明的第一方面中任一所述的方法。
附图说明
图1是根据本发明的对多主机进行动态管理调整的整个系统的示意图。
图2是根据本发明的多主机动态管理调整装置的监控单元的示意图。
图3是根据本发明的管理调整死亡主机并用空闲主机替换死亡主机的示意流程图。
图4是根据本发明的管理调整主备机的示意流程图。
图5是根据本发明的根据主机性能动态管理调整主机的示意流程图。
图6是根据本发明的根据业务量动态管理调整主机的示意流程图。
具体实施方式
[本发明的多主机动态管理调整装置]
图1是根据本发明的对多主机进行动态管理调整的整个系统的示意图。如图1所示,本发明的对多主机动态管理调整的整个系统1至少由一个监控单元2和若干个工作单元3组成。
整个系统1还具有存储部。存储部可以位于监控单元2的外部(例如,图1所示的存储部4)。存储部也可以如图2所示位于监控单元2的主机5的内部(例如,图2所示的存储部56)或外部(未示出)。存储部用于存储工作情况信息表,还可以存储执行后面将描述的多主机动态管理调整的操作的程序等等。
一个工作单元3至少由一台工作主机和一台工作备机组成。一个工作单元3内的工作主机的数量可以等于、大于或小于工作备机的数量。工作主机和工作备机的数量,例如可以根据任务量、主机性能、经济角度等因素来进行设置。
图2是根据本发明的多主机动态管理调整装置的监控单元的示意图。如图2所示,监控单元2至少包括主机5。
监控单元2的主机5包括以下模块:
查询模块51,所述查询模块51用于检查工作情况信息表;
判断模块52,所述判断模块52用于根据查询模块51的查询结果对工作情况信息表中的工作信息记录中的至少一项进行判断;
管理调整模块53,所述管理调整模块53用于根据判断结果,更新所述工作情况信息表中的所述工作信息记录。
监控单元2的主机5还可以包括以下模块:
信息接收模块54,所述信息接收模块54用于从工作单元3(或工作单元内的主机)接收信息,并将接收到的信息发送给管理调整模块53;以及
命令发送模块55,所述命令发送模块55用于根据管理调整模块53的指示向工作单元3(或工作单元内的主机)发送命令(如果需要也可以发送信息、或者发送信息和命令二者)。
监控单元2还可以包括输入输出模块(图2中未示出),用于接收用户的手动输入,该手动输入用于提供给管理调整模块53,对多主机进行手动管理调整(例如由键盘、鼠标等部件实现);还可用于显示调整结果或相关信息(例如由显示器等实现)。
监控单元2的管理调整模块53还可以根据信息接收模块54(或输入输出模块)接收到的信息,来更新所述工作情况信息表中的所述工作信息记录。监控单元2的管理调整模块53还可以通过命令发送模块55向工作单元3(或工作单元内的主机)发送命令。
监控单元2的主机5负责记录工作单元3的所有主机的工作情况,以便对工作单元3的主机进行动态管理调整。对工作单元3的主机的工作情况的记录可以采用工作情况信息表。工作情况信息表可以包括以下中的全部或一部分:工作主机的ip、端口、操作系统、CPU型号、CPU核心数、内存大小、进程编号、工作单元编号、单元内编号、主备标志(例如,可以用0表示备机,用1表示主机;表示方式不限于使用0和1,只要能实现主备机区分的标志均可)、上次更新时间、本次更新时间、工作状态(例如,可以用0表示“死亡”,用1表示“工作”,用2表示“空闲”;表示方式不限于使用0、1和2,只要能实现工作状态区分的标志均可)。
[本发明的多主机动态管理调整方法]
以下,说明本发明的多主机动态管理调整装置的操作。
<管理调整死亡主机并用空闲主机替换死亡主机>
图3是根据本发明的管理调整死亡主机并用空闲主机替换死亡主机的示意流程图。
如图3所示,监控单元2的主机5(通过查询模块51)每隔一段时间去检查工作情况信息表(步骤S302):
1.1如果发现某条记录的工作状态为1,但是本次更新时间值距离现在时间间隔超过预设工作阈值时间(步骤S303),则将该条记录的工作状态改为0(步骤S304)。工作阈值时间可以预先设置为任何需要的时间,例如,0.1s,0.2s,1s,2s,5s,1min,2min,5min等等(该时间仅为举例,可以根据需要任意设置)。值得注意的是,在本次更新时间值距离现在时间间隔超过预设工作阈值时间,但没有超过如下在1.2中所述的预设死亡阈值时间的情形下,该主机在结束当前任务后,工作状态仍可以被重新设置为1或2。
1.2如果发现某条记录的工作状态为0,且本次更新时间值距离现在时间间隔超过预设死亡阈值时间(步骤S305),则可以判断该条记录对应的主机处于死亡状态(以下称为死亡主机)。死亡阈值时间可以预先设置为任何需要的时间,例如,0.1s,0.2s,1s,2s,5s,1min,2min,5min等等(该时间仅为举例,可以根据需要任意设置)。死亡阈值时间可能会并优选大于工作阈值时间。当发现死亡主机后,可以执行以下处理:
1.2.1从工作状态为2的主机中查找一台空闲主机,将死亡主机的工作单元编号、单元内编号、主备标志都设置到空闲主机对应的记录上,从而实现用这台空闲主机替换这台死亡主机(步骤S306)。优选地,查找空闲主机可以在与死亡主机同一个工作单元内查找;但是,不限于仅在同一个工作单元内查找,也可以在不同的工作单元内查找。
1.2.2监控单元2的主机5(通过命令发送模块55)发送命令杀死死亡主机的进程,然后使得该死亡主机重新启动一个新的进程,并更新工作信息表中与该死亡主机对应的记录的进程编号,并将工作状态更新为2,从而该死亡主机重新变为一台空闲主机,即增加了1台空闲主机(步骤S307)。
监控单元2的操作流程不限于图3所示,例如,也可以先执行步骤S305的判断及其对应操作,后执行步骤S303的判断及其对应操作;再如,步骤S303和S305的判断之间可以不连续,其间也可以插入其他管理调整操作。
<监控并进行主备机管理>
图4是根据本发明的管理调整主备机的示意流程图。
工作单元3中的主机在启动后,都需向监控单元2的主机5发送一条消息,告知自己的相关信息,所述相关信息例如为工作情况信息表中包括的一项或多项。
工作单元3的主机每次在处理完任务后也需要向监控单元2的主机5发送一条消息,让监控单元2更新其状态,所述状态例如为工作情况信息表中包括的状态。
监控单元2根据从工作单元3接收到的工作单元3的主机的相关信息后,更新与该工作单元3的该主机有关的工作信息记录。
工作单元3内的主机被划分为两个队列:一个是工作队列,一个是备用队列。工作单元3内的主机处于哪个队列,例如可以从工作情况信息表的主备状态来判断。
例如,工作单元3内包含:
工作队列:主机201,主机202,主机203……
备用队列:主机301,主机302,主机303……
以上仅为说明方便而举例,但不限于该数量和组合。
工作单元3工作时每次从工作队列和备用队列中分别选取一台主机(例如主机201和主机301)去获取任务(步骤S401),但每次只有一台主机能获取到任务。例如,可以随机选取、根据主机性能选取、根据主机当前进行的任务等来选取。任务例如可以从任务池或任务管理系统或其他能够分配任务的设备获取。
2.1如果是工作主机(例如工作主机201)获取到任务,先查询工作情况信息表(步骤S402):
2.1.1如果该得到任务的工作主机(例如工作主机201)的主备状态值为1,则该工作主机(例如工作主机201)直接处理任务,处理完成后向监控单元2发送信息(步骤S403)。监控单元2根据从该主机(例如工作主机201)接收到的信息,更新工作情况信息表,将工作情况信息表中该主机(例如工作主机201)的工作信息记录中的现有的本次更新时间的值写到上次更新时间中,将当前时间写到本次更新时间中,将工作状态为1,返回到工作队列中(步骤S404)。
例如:
工作队列:主机202,主机203……主机201
备用队列:主机301,主机302,主机303……
例如,完成任务的当前时间为09:01:53,完成任务的主机的工作信息表中的记录更新前为
Figure BDA0002695271420000131
那么,完成任务的主机的工作信息表中的记录更新后为:
Figure BDA0002695271420000132
2.1.2如果该得到任务的工作主机(例如工作主机201)的主备状态值为0,则该主机将任务交给该工作单元内的工作队列中的下一个工作主机(例如主机202)进行处理;如果后面没有下一个工作主机,则将任务返还(例如返还给任务池)(步骤S405)。上述处理完成后,该得到任务的工作主机(例如主机201)向监控单元2发送信息。监控单元2根据从该主机(例如主机201)接收到的信息,更新该主机(例如主机201)的工作情况信息表,将工作情况信息表中现有的本次更新时间的值更新到上次更新时间,将当前时间更新到本次更新时间中,将工作状态更新为1,返回到备用队列中(步骤S406),例如:
工作队列:主机202,主机203……
备用队列:主机301,主机302,主机303……主机201
2.2如果是工作备机(例如主机301)获取到了任务,首先查询工作情况信息表中同一工作单元内工作主机(例如主机201)的工作状态(步骤S407):
2.2.1如果工作主机(例如主机201)的工作状态为1,且本次更新时间值距离现在时间间隔没有超过预设工作时间,则将获取到的任务交给该工作主机(例如主机201)处理,并向监控单元2发送信息(步骤S408)。监控单元2根据从该备机(例如主机301)接收到的信息,更新该备机(例如主机301)工作情况信息表,将工作情况信息表中现有的本次更新时间的值写入到上次更新时间,将当前时间写到本次更新时间中,将工作状态更新为1,返回到备用队列中(步骤S409),例如:
工作队列:主机201,主机202,主机203……
备用队列:主机302,主机303……主机301
2.2.2如果工作主机(例如主机201)的工作状态为1,且本次更新时间值距离现在时间间隔超过预设工作时间,则向监控单元2发送信息,以便监控单元2能够进行工作信息记录的更改:将工作主机(例如主机201)的工作状态改为0,主备标志改为0;将自身(例如主机301)的主备标志改为1,将工作情况信息表中现有的本次更新时间的值写到上次更新时间,将当前时间写到本次更新时间中,将工作状态更新为1,返回到工作队列中(步骤S410)。
举例来说,如果主机201完全死亡了,主机201将不出现在队列中,那么队列可能为:
工作队列:主机202,主机203……主机301
备用队列:主机302,主机303……
再例如,如果主机201处理完任务后回来了(例如,虽然工作状态一度为0,但是没有超过死亡阈值时间的情况下其执行完任务,则该主机没有完全死亡,还是可以正常工作的主机),根据主备标志回到对应的队列中。
2.2.3如果工作主机(例如主机201)的工作状态为0,则将工作主机(例如主机201)的工作状态改为0,主备标志改为0;然后将自身(例如主机301)的主备标志改为1,将工作情况信息表中现有的本次更新时间的值写到上次更新时间,将当前时间写到本次更新时间中,将工作状态更新为1,返回到工作队列中(步骤S411)。举例来说,如果主机201完全死亡了,主机201将不出现在队列中,那么队列可能为:
工作队列:主机202,主机203……主机301
备用队列:主机302,主机303……
再例如,如果主机201处理完任务后回来了(例如,虽然工作状态一度为0,但是没有超过死亡阈值时间的情况下其执行的任务,则该主机没有完全死亡,还是可以正常工作的主机),根据主备标志回到对应的队列中。
以上2.1-2.2中所述获取到任务后查询工作情况信息表,可以由工作单元(或获取到任务的主机)直接查询或请求监控单元2来查询。例如,可以通过给监控单元2的主机5的信息接收模块54发送请求,由监控单元2的主机5的查询模块51进行查询,并将查询结果通过命令发送模块55发送给工作单元(工作单元内的主机)。
<根据主机性能动态管理调整主机>
图5是根据本发明的根据主机性能动态管理调整主机的示意流程图。
如图5所示,在监控单元2查询工作情况信息表(步骤S501)时发现,某台主机性能(例如,工作情况信息表中的操作系统、CPU型号、CPU核心数、内存大小等)较高,但是目前仅作为备份主机使用(步骤S502),可以在工作情况信息表中将此主机的主备标志改为1,可选地,如果有必要,可以将某台性能较弱的主机的主备标志改为0(步骤S503),这样在下一轮任务获取时,修改了主备标志的主机将回到对应的队列中去排队。
<根据业务量动态管理调整主机>
图6是根据本发明的根据业务量动态管理调整主机的示意流程图。
如图6所示,首先查询工作情况表或任务记录表(步骤S601)。其中,任务记录表用于记录与任务有关的信息,例如任务编号、任务建立时间、任务完成时间、任务完成标志、完成任务的主机等等。
如果在工作单元中发现,某个时间段内进入业务低谷期:该时间段内获取任务的数量都小于平均获取任务数量的下限阈值。如果该工作单元中工作队列和备份队列中的主机数量都大于1,则自动进行核减主机的操作:将工作信息表中的对应的记录中的工作状态改为2,并将工作单元编号、单元内编号、主备标志、上次更新时间、本次更新时间都更新为空(步骤S602)。上述自动进行核减主机的操作可以根据需要重复进行,也可以一次进行多台主机的核减。
如果在工作单元中发现,某个时间段内进入业务高峰:每次获取的任务的数量都大于平均获取任务数量的上限阈值,则自动进行增加主机的操作:找到工作信息表中对应的工作状态为2的前2条记录,将CPU核数较多,内存较大的主机放入对应工作单元的工作队列,将另一台主机放入备份队列,同时将工作信息表中的这2条记录的工作状态改为1,并更新工作单元编号、单元内编号、主备标志、上次更新时间、本次更新时间字段(步骤S603)。上述自动进行增加主机的操作为优选操作,但是不限于找到工作信息表中对应的工作状态为2的前2条记录,而是可以根据需要,查找前n条记录(n为大于等于2的整数);也不限于按顺序查找前n条记录,而是可以根据需要,按CPU核数,内存大小等来查找。此外,上述自动进行增加主机的操作可以根据需要重复进行,也可以一次将多台主机设置到工作队列中,并相应地设置多台主机到备份队列中。
判断某个时间段内获取任务的数量,可以通过例如监视工作情况信息表中每次更新的时间差、该段时间内更新次数等来实现,也可以通过例如单独的任务记录表等中记录任务池的任务在两个时间点的任务量并计算其差值等来实现;还可以通过其他机制来监控是否进入低谷期,然后将监控结果通知监控单元2,由监控单元2执行核减或增加主机的操作。
执行步骤S602和S603的顺序不限于图6所示的顺序,而是可以任意顺序,其间也可以插入其他管理调整操作。执行步骤S602和S603的频度可以相同,也可以不同。例如,根据监控或者根据实践经验,已知或预测一天中的某个大的时段(例如晚上)或者一年中某个季度或某些天,业务极有可能进入高峰期,则在该时间段中增加任务量监控和执行增加主机的操作的频度,而不是固定地交替执行步骤S602和步骤S603,从而可以更有针对性地进行监控和管理调整操作,提高程序运行效率。
以上描述了根据本发明的多主机动态管理调整的方法。在多主机动态管理调整装置中,可以执行包括图3-图6所示的全部操作或部分操作,并且其执行顺序没有特别限制,可以根据需要来配置。各图3-图6中的各步骤之间也可以交叉进行,只要不影响一个判断和处理的完整性即可。
[本发明的技术效果]
(1)可以实时监控工作主机的状态,主机出现异常时可以马上进行替换和重启处理。
(2)在获取任务过程中,发现工作主机出现异常可以实时由备份主机进行顶替,不用人工干预。
(3)方便在线进行主备更换,物尽其用,让性能更强大的主机处理更多任务。
(4)可以根据业务的波峰波谷动态的调整主机数量,使得主机可以根据实时的业务量进行调整,不会出现忙闲不均,资源利用率高。
本发明可以根据实时的业务量的变化情况,实现动态的主机数量的增减,使得有限的主机资源可以发挥最大的作用;另外,本发明中提出的主备切换方法是在运行过程中的热切换,不需要人工的干预,对业务的影响较小。
本发明的上述各实施例可以单独实施,也可以将任意实施例组合实施。本发明的上述各实施例可以由计算机软件实施,也可以在大量的历史数据训练学习的基础上,采用人工智能技术实施以形成智能的主机切换和调度方案。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (20)

1.一种多主机动态管理调整的方法,其特征在于,包括:
每隔预定时间段检查工作情况信息表,所述工作情况信息表包括与一个或多个主机相关联的一条或多条工作信息记录;
对所述工作情况信息表中的所述工作信息记录中的至少一项进行判断;
根据判断结果,更新所述工作情况信息表中的所述工作信息记录。
2.根据权利要求1所述的多主机动态管理调整的方法,其中,
所述工作信息记录中的每条工作信息记录至少包括工作状态、上次更新时间、本次更新时间、工作单元编号、单元内编号、主备标志、进程编号。
3.根据权利要求2所述的多主机动态管理调整的方法,包括:
判断所述工作情况信息表中的所述工作信息记录中的工作状态:
如果所述工作情况信息表中的某条所述工作信息记录中的工作状态为“工作”,并且该条工作信息记录中的本次更新时间的值距离现在时间的间隔超过预设工作阈值时间,则将该条工作信息记录中的工作状态改为“死亡”。
4.根据权利要求2所述的多主机动态管理调整的方法,包括:
判断所述工作情况信息表中的所述工作信息记录中的工作状态:
如果所述工作情况信息表中的某条所述工作信息记录中的工作状态为“死亡”,并且该条工作信息记录中的本次更新时间的值距离现在时间间隔超过预设死亡阈值时间,则将该条工作信息记录对应的工作主机确定为死亡主机,从工作状态为“空闲”的主机中找一台空闲主机,将死亡主机的工作单元编号、单元内编号、主备标志都设置到所述一台空闲主机对应的记录上,从而实现用所述一台空闲主机替换所述死亡主机。
5.根据权利要求4所述的多主机动态管理调整的方法,还包括:
发送命令杀死所述死亡主机的进程,然后使得所述死亡主机重新启动一个新的进程,并且更新所述工作信息表中与所述死亡主机对应的所述工作信息记录的进程编号,并将工作状态更新为“空闲”,从而所述死亡主机重新变为空闲主机。
6.根据权利要求2所述的多主机动态管理调整的方法,还包括:
对所述工作情况信息表中的与主机性能有关的所述工作信息记录进行查询,当发现性能较高的主机且所述主机的主备标志为“备机”时,在所述工作情况信息表中将所述性能较高的主机的主备标志改为“主机”。
7.根据权利要求2所述的多主机动态管理调整的方法,还包括:
对所述工作情况信息表中的与主机性能有关的所述工作信息记录进行查询,当发现性能较低的主机且所述主机的主备标志为“主机”时,在工作情况信息表中将所述性能较低的主机的主备标志改为“备机”。
8.根据权利要求6或7所述的多主机动态管理调整的方法,其中,
与主机性能有关的所述工作信息记录为操作系统、CPU型号、CPU核心数、内存大小中的至少一个。
9.根据权利要求2所述的多主机动态管理调整的方法,还包括:
判断在规定时间段内,获取任务的数量是否小于平均获取任务数量的下限阈值,当获取任务的数量都小于平均获取任务数量的下限阈值时,如果一个工作单元中的工作队列和备份队列中的主机数量都大于1,则自动进行核减主机的操作。
10.根据权利要求9所述的多主机动态管理调整的方法,所述自动进行核减主机的操作包括:
将工作情况信息表中的主机对应的所述工作信息记录中的工作状态改为“空闲”,并且将工作单元编号、单元内编号、主备标志、上次更新时间、本次更新时间都更新为空。
11.根据权利要求2所述的多主机动态管理调整的方法,还包括:
判断在规定时间段内,获取任务的数量是否大于平均获取任务数量的上限阈值,当每次获取任务的数量都大于平均获取任务数量的上限阈值时,则自动进行增加主机的操作。
12.根据权利要求11所述的多主机动态管理调整的方法,所述自动进行增加主机的操作包括:
查找所述工作信息表中对应的工作状态为“空闲”的至少2条记录,将CPU核数较多、内存较大的主机放入对应工作单元的工作队列,将其余主机放入备份队列,同时将所述工作信息表中的所述至少2条记录的工作状态改为“工作”,并更新工作单元编号、单元内编号、主备标志、上次更新时间、本次更新时间。
13.根据权利要求12所述的多主机动态管理调整的方法,其中,
所述至少2条记录为查找所述工作信息表中的工作状态为“空闲”的前2条记录。
14.根据权利要求2所述的多主机动态管理调整的方法,还包括:
从工作队列的主机和备用队列的主机中分别选取一台主机去获取任务;
对于获取到任务的主机,查询所述工作情况信息表;
对所述工作情况信息表中的所述工作信息记录中的至少主备标志进行判断。
15.根据权利要求14所述的多主机动态管理调整的方法,
如果是工作主机获取到任务,通过查询所述工作情况信息表来判断并执行以下处理:
得到任务的工作主机的主备状态值为如果为“主机”,则该工作主机直接处理任务,处理完成后更新所述工作情况信息表,将所述工作情况信息表中的该主机的所述工作信息记录中的现有的本次更新时间的值写到上次更新时间中,将当前时间写到本次更新时间中,将工作状态写为“工作”,返回到工作队列中;
得到任务的工作主机的主备状态值如果为“备机”,则该主机将任务交给的工作队列中的下一个工作主机进行处理;如果后面没有下一个工作主机,则将任务返还给任务池;上述处理完成后,更新工作情况信息表,将表中现有的本次更新时间更新到上次更新时间,将当前时间更新到本次更新时间中,将工作状态更新为“工作”,返回到备用队列中。
16.根据权利要求14所述的多主机动态管理调整的方法,
如果是工作备机获取到了任务,通过查询所述工作情况信息表中同一工作单元内工作主机的工作状态,来判断并执行以下处理:
如果工作主机的工作状态为“工作”,且本次更新时间值距离现在时间间隔没有超过预设工作阈值时间,则将获取到的任务交给该工作主机处理,并更新工作情况信息表,将工作情况信息表中现有的本次更新时间的值写入到上次更新时间,将当前时间写到本次更新时间中,将工作状态更新为“工作”,返回到备用队列中;
如果工作主机的工作状态为“工作”,且本次更新时间值距离现在时间间隔超过预设工作阈值时间,则更改所述工作信息记录:将工作主机的工作状态改为“死亡”,主备标志改为“备机”;将自身的主备标志改为“主机”,将所述工作情况信息表中现有的本次更新时间的值写到上次更新时间,将当前时间写到本次更新时间中,将工作状态更新为“工作”,返回到工作队列中;
如果工作主机的工作状态为“死亡”,则将工作主机的工作状态改为“死亡”,主备标志改为“备机”;然后将自身的主备标志改为“主机”,将所述工作情况信息表中现有的本次更新时间的值写到上次更新时间,将当前时间写到本次更新时间中,将工作状态新为“工作”,返回到工作队列中。
17.一种多主机动态管理调整装置,用于对一个或多个主机进行动态管理调整,其特征在于,包括:
查询模块,所述查询模块每隔预定时间段检查工作情况信息表,所述工作情况信息表包括与所述一个或多个主机相关联的一条或多条工作信息记录;
判断模块,所述判断模块用于根据所述查询模块的检查结果,对所述工作情况信息表中的所述工作信息记录中的至少一项进行判断;
管理调整模块,所述管理调整模块用于根据判断结果,更新所述工作情况信息表中的所述工作信息记录。
18.根据权利要求17所述的多主机动态管理调整装置,其中,
所述工作信息记录中的每条工作信息记录至少包括工作状态、上次更新时间、本次更新时间、工作单元编号、单元内编号、主备标志、进程编号。
19.一种多主机动态管理调整系统,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-16中任一所述的方法。
20.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-16中任一所述的方法。
CN202011003985.5A 2020-09-22 2020-09-22 多主机动态管理调整的方法和装置 Pending CN112035262A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011003985.5A CN112035262A (zh) 2020-09-22 2020-09-22 多主机动态管理调整的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011003985.5A CN112035262A (zh) 2020-09-22 2020-09-22 多主机动态管理调整的方法和装置

Publications (1)

Publication Number Publication Date
CN112035262A true CN112035262A (zh) 2020-12-04

Family

ID=73575007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011003985.5A Pending CN112035262A (zh) 2020-09-22 2020-09-22 多主机动态管理调整的方法和装置

Country Status (1)

Country Link
CN (1) CN112035262A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378557A (zh) * 2022-10-25 2022-11-22 成都星联芯通科技有限公司 热备实现方法、装置、系统、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146389A (ja) * 2007-11-22 2009-07-02 Hitachi Ltd バックアップシステム及び方法
CN103647668A (zh) * 2013-12-16 2014-03-19 上海证券交易所 一种高可用集群内主机群体决策系统及切换方法
CN103684839A (zh) * 2012-09-26 2014-03-26 中国移动通信集团四川有限公司 一种用于双机热备的数据传输方法、系统及服务器
CN104778102A (zh) * 2015-03-27 2015-07-15 深圳市创梦天地科技有限公司 一种主备切换方法及系统
US20190056875A1 (en) * 2017-08-17 2019-02-21 Fujitsu Limited Storage control device and storage control method
CN110188008A (zh) * 2019-05-06 2019-08-30 平安科技(深圳)有限公司 作业调度主备切换方法、装置、计算机设备及存储介质
CN110351139A (zh) * 2019-07-12 2019-10-18 天津凯发电气股份有限公司 一种电能质量管理系统多机主备实现方法
CN110489221A (zh) * 2019-08-16 2019-11-22 南京云帐房网络科技有限公司 一种自动化任务数量动态调整计算资源的方法及系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009146389A (ja) * 2007-11-22 2009-07-02 Hitachi Ltd バックアップシステム及び方法
CN103684839A (zh) * 2012-09-26 2014-03-26 中国移动通信集团四川有限公司 一种用于双机热备的数据传输方法、系统及服务器
CN103647668A (zh) * 2013-12-16 2014-03-19 上海证券交易所 一种高可用集群内主机群体决策系统及切换方法
CN104778102A (zh) * 2015-03-27 2015-07-15 深圳市创梦天地科技有限公司 一种主备切换方法及系统
US20190056875A1 (en) * 2017-08-17 2019-02-21 Fujitsu Limited Storage control device and storage control method
CN110188008A (zh) * 2019-05-06 2019-08-30 平安科技(深圳)有限公司 作业调度主备切换方法、装置、计算机设备及存储介质
CN110351139A (zh) * 2019-07-12 2019-10-18 天津凯发电气股份有限公司 一种电能质量管理系统多机主备实现方法
CN110489221A (zh) * 2019-08-16 2019-11-22 南京云帐房网络科技有限公司 一种自动化任务数量动态调整计算资源的方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115378557A (zh) * 2022-10-25 2022-11-22 成都星联芯通科技有限公司 热备实现方法、装置、系统、电子设备及存储介质
CN115378557B (zh) * 2022-10-25 2023-02-17 成都星联芯通科技有限公司 热备实现方法、装置、系统、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CA2785398C (en) Managing queries
CN109857558A (zh) 一种数据流处理方法及系统
US10037348B2 (en) Database management system with database hibernation and bursting
CN104407926B (zh) 一种云计算资源的调度方法
US10979505B1 (en) Distributed storage system and data migration method
CN100465901C (zh) 网络系统、管理计算机以及集群管理方法
CN100538646C (zh) 一种在分布式系统中执行sql脚本文件的方法和装置
CN110764915A (zh) 一种针对kubernetes主节点选择的优化方法
CN107463468A (zh) 缓存管理方法及其设备
US10691723B2 (en) Distributed database systems and methods of distributing and accessing data
CN105577756A (zh) 采用交叉备份的分布式数据库日志收集与负载调节系统及其方法
CN112035262A (zh) 多主机动态管理调整的方法和装置
CN106815318B (zh) 一种时序数据库的集群化方法及系统
CN111580951A (zh) 一种任务分配方法及资源管理平台
CN116089477B (zh) 分布式训练方法及系统
CN110909023B (zh) 一种查询计划的获取方法、数据查询方法及装置
CN115480924A (zh) 作业数据的处理方法及装置、存储介质、电子设备
CN115858499A (zh) 一种数据库分区处理方法、装置、计算机设备和存储介质
JPH0883257A (ja) 並列コンピュータシステムのプロセス実行最適化方法
JP6506773B2 (ja) 情報処理装置、方法およびプログラム
CN103259829A (zh) 一种提高云计算调度系统备份效率的方法
CN115904640A (zh) 分布式任务处理系统及方法
Witt M65mp: An experiment in OS/360 multiprocessing
US20230010652A1 (en) Systems and methods for automatic index creation in database deployment
Liang et al. CARE: A Cost-AwaRe Eviction Strategy for Improving Throughput in Cloud Environments

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