自动开服方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别是涉及一种自动开服方法及装置。
【背景技术】
[0002]对于游戏等应用来说,每个服务器所提供的资源都是有限的,因此,当现有的服务器无法满足新的需求时,就会开新服。
[0003]目前都是采用人工开服技术,比如部分游戏需要每天早晨8点定时开一个服,就需要运营人员8点前去开服,或者游戏区服角色创建数到达一定数量需要开一个新服、游戏区服同时在线人数到达一定数量需要开一个服,就需要运营人员监测在线人数,达到时去开服。
[0004]开服时需要设置新服活动时间,设置官网公告,还需要设置区服状态,切量(即将各渠道导入的量切到新开的区服中)等一系列操作,对于运营人员而言,操作较多,容易出错且耗时较长。
【发明内容】
[0005]鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的自动开服方法和相应的装置。
[0006]基于本发明的一个方面,本发明实施例提供了一种自动开服方法,包括:
[0007]启动开服任务中的开服子任务,将所述开服子任务的状态机由未处理状态迀移至执行中状态;
[0008]根据所述开服子任务的状态机的执行中状态触发所述开服子任务的区服的状态机,其中,所述区服的状态机初始处于未开服状态;
[0009]当所述区服的状态机处于未开服状态时,判断所述区服当前参数是否满足预设开服条件;
[0010]若是,则将所述区服的状态机由未开服状态迀移至开服状态,并对所述区服执行开服操作;
[0011]若否,则退回所述判断操作。
[0012]可选地,对所述区服执行开服操作之后,还包括:所述开服操作结束,触发所述开服子任务的状态机由执行中状态迀移至执行完成状态。
[0013]可选地,所述启动开服任务之前,还包括:
[0014]调度器接收任务管理器发送的、创建一个开服任务的消息;
[0015]所述调度器根据所述开服任务的任务类型,将所述开服任务拆分为至少一个开服子任务。
[0016]可选地,所述任务管理器按如下步骤生成所述开服任务:
[0017]所述任务管理器通过用户输入界面输入的开服的必要参数;
[0018]所述任务管理器根据所述必要参数创建所述开服任务。
[0019]可选地,所述开服任务包括:
[0020]当所述区服中的人数达到预设人数阈值时进行开服的定量开服;或者
[0021]当到达指定时间点进行开服的定时开服。
[0022]可选地,对所述区服执行开服操作,包括:对所述区服执行新服活动时间设置、区服状态设置、发布官网公告、切量中的至少之一。
[0023]可选地,当所述开服子任务的状态机由执行中状态迀移至执行完成状态时,调度器接收当前开服子任务完成的通知,并触发下一开服子任务。
[0024]可选地,所述方法还包括:
[0025]采用探活程序监控执行本方法的消息队列是否正常。
[0026]可选地,采用探活程序监控执行本方法的消息队列是否正常,包括:
[0027]启动定时任务,间隔预设时间段执行一个探活程序;
[0028]由所述探活程序启动定时器,并向所述消息队列发送探活消息;
[0029]若在所述定时器规定的时间内,所述探活程序接收所述消息队列返回的所述探活消息,则确定所述消息队列正常;
[0030]若在所述定时器规定的时间内,所述探活程序未接收到所述消息列队返回的所述探活消息,则确定所述消息队列异常。
[0031]可选地,确定所述消息队列异常之后,还包括:由所述探活程序发送报警消息,告知所述消息队列异常。
[0032]基于本发明的另一方面,本发明实施例还提供了一种自动开服装置,包括:
[0033]启动模块,适于启动开服任务中的开服子任务;
[0034]所述开服子任务的状态机,适于在所述启动模块启动所述开服子任务时,将由未处理状态迀移至执行中状态;
[0035]所述开服子任务的区服的状态机,适于被所述开服子任务的状态机的执行中状态触发,其中,所述区服的状态机初始处于未开服状态;
[0036]查询模块,适于当所述区服的状态机处于未开服状态时,判断所述区服当前参数是否满足预设开服条件;若是,则触发所述区服的状态机和开服模块;若否,则继续回退判断操作;
[0037]所述区服的状态机,还适于在所述查询模块的判断结果为是的情况下将所述区服的状态机由未开服状态迀移至开服状态;
[0038]所述开服模块,适于对所述区服执行开服操作。
[0039]可选地,所述开服子任务的状态机,还适于对所述区服执行开服操作之后,所述开服操作结束,触发所述开服子任务的状态机由执行中状态迀移至执行完成状态。
[0040]可选地,还包括:
[0041]调度器,适于所述启动开服任务之前,接收任务管理器发送的、创建一个开服任务的消息;以及,根据所述开服任务的任务类型,将所述开服任务拆分为至少一个开服子任务。
[0042]可选地,所述开服任务包括:
[0043]当所述区服中的人数达到预设人数阈值时进行开服的定量开服;或者
[0044]当到达指定时间点进行开服的定时开服。
[0045]可选地,所述开服模块还适于:对所述区服执行新服活动时间设置、区服状态设置、发布官网公告、切量中的至少之一。
[0046]可选地,所述调度器还适于:当所述开服子任务的状态机由执行中状态迀移至执行完成状态时,接收当前开服任务完成的通知,并触发下一开服任务。
[0047]可选地,所述装置还包括:
[0048]探活模块,适于采用探活程序监控执行本装置的队列服务是否正常。
[0049]可选地,所述探活模块还适于:
[0050]启动定时任务,间隔预设时间段执行一个探活程序;
[0051]由所述探活程序启动定时器,并向所述消息队列发送探活消息;
[0052]若在所述定时器规定的时间内,所述探活程序接收所述消息队列返回的所述探活消息,则确定所述消息队列正常;
[0053]若在所述定时器规定的时间内,所述探活程序未接收到所述消息列队返回的所述探活消息,则确定所述消息队列异常。
[0054]可选地,所述探活模块还适于:
[0055]由所述探活程序发送报警消息,告知所述消息队列异常。
[0056]在本发明实施例中提供了一种自动开服方法,该方法依赖于状态机实现,开服子任务以及具体的区服均具备独立的状态机,且两者呈现嵌入状态,互相之间具备触发条件,当开服子任务的状态机迀移到执行中状态时,触发内部嵌套的区服的状态机执行开服操作,而当开服操作结束后,区服的状态机迀移至开服状态,进一步触发开服子任务的状态机进行执行完成状态。状态机的参与使得每个步骤的实现是由前一步骤触发实现,无须人工参与,保证了在满足开服条件的情况下,由状态机监控触发实现自动开服,从而减少运营人员的手动操作,减少重复劳动,提高开服的效率和准确性。
[0057]上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的【具体实施方式】。
[0058]根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
【附图说明】
[0059]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0060]图1示出了根据本发明一个实施例的一种自动开服方法的处理流程图;
[0061]图2示出了根据本性实施例的开服任务的建立直至开服子任务生成的流程示意图;
[0062]图3示出了根据本发明一个实施例的开服子任务的状态机与区服的状态机间的嵌入关系的不意图;
[0063]图4示出了根据本发明一个实施例的开服任务的状态机收到触发消息后的开服执行流程示意图;