CN105260233A - 一种应用容器的创建方法和装置 - Google Patents
一种应用容器的创建方法和装置 Download PDFInfo
- Publication number
- CN105260233A CN105260233A CN201510642986.7A CN201510642986A CN105260233A CN 105260233 A CN105260233 A CN 105260233A CN 201510642986 A CN201510642986 A CN 201510642986A CN 105260233 A CN105260233 A CN 105260233A
- Authority
- CN
- China
- Prior art keywords
- establishment
- subtask
- application container
- creation
- state
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例提供了一种应用容器的创建方法和装置,该方法包括:按照应用容器的创建参数生成创建任务;所述创建参数包括一个或多个创建条件、一个或多个容器参数;当获取到创建任务时,针对每个创建条件生成创建子任务;调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件;当检测到满足所述创建条件时,按照所述一个或多个容器参数创建应用容器。本发明实施例实现了应用容器的自动创建,避免了人工进行监测、创建等操作,大大降低了创建应用容器的成本。
Description
技术领域
本发明涉及计算机处理的技术领域,特别是涉及一种应用容器的创建方法和一种应用容器的创建装置。
背景技术
随着网络科技的发展,如网络聊天室、视频直播室、游戏等产品广泛进入人们的生活、学习、工作等领域。
每一个产品,通常需要服务器开启应用容器,将产品数据、用户数据导入,进行应用服务。
现在一般是技术人员在后台人工进行监测,在合适的适合创建应用容器,如需要每天8点定时开一个应用容器,就需要技术人员8点之前去创建应用容器,在创建时需要人工设置发布消息,如开启时间、开启公告等等。
由于网站的产品数量高速增长,人工创建应用容器的方式在时间和人力成本上越来越高,以至于无法承受。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用容器的创建方法和相应的一种应用容器的创建装置。
依据本发明的一个方面,提供了一种应用容器的创建方法,包括:
按照应用容器的创建参数生成创建任务;所述创建参数包括一个或多个创建条件、一个或多个容器参数;
当获取到创建任务时,针对每个创建条件生成创建子任务;
调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件;
当检测到满足所述创建条件时,按照所述一个或多个容器参数创建应用容器。
可选地,所述创建条件包括时间间隔信息;
所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤包括:
获取当前的时间与当前的应用容器的创建时间;
判断当前的时间与当前的应用容器的创建时间之差是否满足所述时间间隔信息;若是,则判定满足创建条件。
可选地,所述创建条件包括账号阈值;
所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤包括:
从当前的应用容器中检测账号的数量;
判断所述账号的数量是否超过所述账号阈值;若是,则判定满足创建条件。
可选地,所述创建条件包括业务对象阈值;
所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤包括:
从当前的应用容器中检测归属账号的业务对象的数量;
判断所述业务对象的数量是否超过所述业务对象阈值;若是,则判定满足创建条件。
可选地,所述按照所述一个或多个容器参数创建应用容器的步骤包括:
设置应用容器的创建时间;
发布应用容器的创建信息;
创建应用容器;
在到达所述创建时间时,将访问的账号信息写入所述应用容器中。
可选地,在所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤之前,所述方法还包括:
状态调节器将所述创建子任务的状态设置为未执行。
可选地,还包括:
当满足预设的状态迁移的条件进行状态迁移时,状态调节器将所述创建子任务的状态从未执行迁移为未创建;
当检测到所述创建子任务的状态为未创建时,检查器执行所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤。
可选地,还包括:
当检测满足所述创建条件时,状态调节器将所述创建子任务的状态从未创建迁移为创建中;
当检测到所述创建子任务的状态为创建中时,创建器执行所述按照所述一个或多个容器参数创建应用容器的步骤。
可选地,还包括:
当创建应用容器完成时,状态调节器将所述创建子任务的状态从执行中迁移为执行中完成;
当检测到所述创建子任务的状态为执行完成时,调度器执行所述当获取到创建任务时,针对每个创建条件生成创建子任务的步骤。
可选地,在所述按照提交应用容器的创建参数生成创建任务的步骤之后,所述方法还包括:
任务管理器在生成创建任务时,向预设的消息队列写入任务创建消息;
在所述消息队列中检测到任务创建消息时,调度器执行所述当获取到创建任务时,针对每个创建条件生成创建子任务的步骤。
可选地,还包括:
调度器在生成创建子任务时,向预设的消息队列写入子任务创建消息;
在所述消息队列中检测到子任务创建消息时,状态调节器执行所述将所述创建子任务的状态设置为未执行的步骤。
可选地,还包括:
检查器在检测到满足所述创建条件时,向预设的消息队列写入第一状态迁移消息;
在所述消息队列中检测到第一状态迁移消息时,状态调节器执行所述将所述创建子任务的状态从未创建迁移为创建中的步骤。
可选地,还包括:
创建器在创建应用容器完成时,向预设的消息队列写入第二状态迁移消息;
在所述消息队列中检测到第二状态迁移消息时,状态调节器执行所述将所述创建子任务的状态从执行中迁移为执行中完成的步骤。
可选地,所述消息队列由消息队列服务维护,所述方法还包括:
探活器在预设的时间点向所述消息队列服务发送探活消息;
判断在指定的时间内是否检测所述探活消息是否写入所述消息队列;
若是,则判定所述消息队列服务运行正常;
若否,则判定所述消息队列服务运行异常。
可选地,还包括:
当所述消息队列服务运行异常时,生成警报信息。
根据本发明的另一方面,提供了一种应用容器的创建装置,包括:
任务管理器,适于按照应用容器的创建参数生成创建任务;所述创建参数包括一个或多个创建条件、一个或多个容器参数;
调度器,适于在获取到创建任务时,针对每个创建条件生成创建子任务;
检查器,适于调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件;
创建器,适于在检测到满足所述创建条件时,按照所述一个或多个容器参数创建应用容器。
可选地,所述创建条件包括时间间隔信息;所述检查器还适于:
获取当前的时间与当前的应用容器的创建时间;
判断当前的时间与当前的应用容器的创建时间之差是否满足所述时间间隔信息;若是,则判定满足创建条件。
可选地,所述创建条件包括账号阈值;所述检查器还适于:
从当前的应用容器中检测账号的数量;
判断所述账号的数量是否超过所述账号阈值;若是,则判定满足创建条件。
可选地,所述创建条件包括业务对象阈值;所述检查器还适于:
从当前的应用容器中检测归属账号的业务对象的数量;
判断所述业务对象的数量是否超过所述业务对象阈值;若是,则判定满足创建条件。
可选地,所述创建器还适于:
设置应用容器的创建时间;
发布应用容器的创建信息;
创建应用容器;
在到达所述创建时间时,将访问的账号信息写入所述应用容器中。
可选地,还包括:
状态调节器,适于将所述创建子任务的状态设置为未执行。
可选地,所述状态调节器还适于:
当满足预设的状态迁移的条件进行状态迁移时,将所述创建子任务的状态从未执行迁移为未创建;
所述检查器还适于:
当检测到所述创建子任务的状态为未创建时,调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件。
可选地,所述状态调节器还适于:
当检测满足所述创建条件时,将所述创建子任务的状态从未创建迁移为创建中;
所述创建器还适于:
当检测到所述创建子任务的状态为创建中时,按照所述一个或多个容器参数创建应用容器。
可选地,所述状态调节器还适于:
当创建应用容器完成时,将所述创建子任务的状态从执行中迁移为执行中完成;
所述调度器还适于:
当检测到所述创建子任务的状态为执行完成、获取到创建任务时,针对每个创建条件生成创建子任务。
可选地,所述任务管理器还适于:
在生成创建任务时,向预设的消息队列写入任务创建消息;
所述调度器还适于:
在所述消息队列中检测到任务创建消息、获取到创建任务时,针对每个创建条件生成创建子任务。
可选地,所述调度器还适于:
在生成创建子任务时,向预设的消息队列写入子任务创建消息;
所述状态调节器还适于:
在所述消息队列中检测到子任务创建消息时,将所述创建子任务的状态设置为未执行。
可选地,所述检查器还适于:
在检测到满足所述创建条件时,向预设的消息队列写入第一状态迁移消息;
所述状态调节器还适于:
在所述消息队列中检测到第一状态迁移消息时,将所述创建子任务的状态从未创建迁移为创建中。
可选地,所述创建器还适于:
在创建应用容器完成时,向预设的消息队列写入第二状态迁移消息;
所述状态调节器还适于:
在所述消息队列中检测到第二状态迁移消息时,将所述创建子任务的状态从执行中迁移为执行中完成。
可选地,所述消息队列由消息队列服务维护,所述装置还包括:
探活器,适于在预设的时间点向所述消息队列服务发送探活消息;
判断在指定的时间内是否检测所述探活消息是否写入所述消息队列;
若是,则判定所述消息队列服务运行正常;
若否,则判定所述消息队列服务运行异常。
可选地,所述探活器还适于:
当所述消息队列服务运行异常时,生成警报信息。
本发明实施例按照应用容器的创建参数生成创建任务,并针对每个创建条件生成创建子任务,当检测到满足创建子任务中的创建条件时,按照一个或多个容器参数创建应用容器,实现了应用容器的自动创建,避免了人工进行监测、创建等操作,大大降低了创建应用容器的成本。
本发明实施例通过探活消息探测消息队列服务运行是否正常,保证了消息队列的正常运行,保证了系统的实用性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种应用容器的创建方法实施例的步骤流程图;
图2示出了根据本发明一个实施例的一种任务的创建信令图;
图3示出了根据本发明一个实施例的一种状态迁移的示例图;
图4示出了根据本发明一个实施例的一种任务的调度信令图;以及
图5示出了根据本发明一个实施例的一种应用容器的创建装置实施例的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明一个实施例的一种应用容器的创建方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,按照应用容器的创建参数生成创建任务;
需要说明的是,在不同的应用场合中,可以具有不同的应用容器,例如,对于通讯应用,该应用容器可以为网络聊天室,对于视频应用,该应用容器可以为视频直播室,对于游戏应用,该应用容器可以为服,等等。
为使本领域技术人员更好地理解本发明实施例,在发明实施例中,将游戏服作为应用容器的一种示例进行说明。
在应用容器中,可以写入应用数据、用户数据,并提供各种API(ApplicationProgrammingInterface,应用程序编程接口)供前端用户与后端用户(技术人员)使用。
例如,对于游戏服,可以写入地图数据等应用数据,用户ID、角色数据等用户数据,并提供前端用户充值、分享等API,提供后端用户(技术人员)管理、控制等API。
如图2所示,后端用户(技术人员)可以在任务管理器(JobSVC)中设置(add)应用容器的创建参数。
其中,创建参数可以包括一个或多个创建条件、一个或多个容器参数。
在本发明实施例中,在系统中可以具有如下组件:
任务管理器(JobSvc):用于创建任务(Job);
调度器(Dispatcher):管理一个任务(Job)的开始、停止,并监控应用容器;
状态调节器(Fsm):对任务(Job)设置不同的状态,状态之间可以迁移;
检查器(WatchWorker):对创建条件进行检查;
创建器(OpenWorker):完成应用容器的创建操作。
其中,任务管理器(JobSvc)、调度器(Dispatcher)、状态调节器(Fsm)、检查器、创建器之间可以通过消息队列进行通信。
则后端用户(技术人员)提交创建参数之后,任务管理器(JobSvc)可以按照应用容器的创建参数生成(create)创建任务(Job)。
步骤102,当获取到创建任务时,针对每个创建条件生成创建子任务;
在实际应用中,如图2所示,任务管理器(JobSvc)在生成创建任务时,通过push(推送)等方式向预设的消息队列写入任务创建消息,该任务创建消息中,可以包括创建任务的标识(如JobID)。
在消息队列中检测到任务创建消息时,调度器(Dispatcher)可以通过pop(拉取)等方式从消息队列中获取创建任务的标识(如JobID),根据该创建任务的标识(如JobID)获取(get)任务。
调度器(Dispatcher)在获取到创建任务时,针对每个创建条件生成创建子任务(Task),即将创建任务(Job)拆分(split)成一个或多个创建子任务(Task)。
此外,调度器(Dispatcher)在生成创建子任务时,通过push(推送)等方式向预设的消息队列写入子任务创建消息,通知调度器(BSTK:Dispatcher)已生成创建子任务。
该子任务创建消息中,可以包括创建子任务的标识(如TaskID)。
如图3所述,在消息队列中检测到子任务创建消息时,可以通过pop(拉取)等方式从消息队列中获取创建子任务的标识(如TaskID),状态调节器根据该建子任务的标识(如TaskID)将创建子任务的状态设置为未执行,表示创建子任务并未开始执行。
步骤103,调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件;
如图2所示,调度器(Dispatcher)在生成创建子任务(Task)之后,可以通过调用(run)状态调节器(Fsm)进行应用容器的监控、创建操作。
具体而言,如图3、4所示,调度器(Dispatcher)可以触发(tigger)状态调节器(Fsm),通知(BSTK:Fsm)其进行状态的迁移,状态调节器(Fsm)接收(sub)到通信之后,进行状态的迁移。
当满足预设的状态迁移的条件(如定时)进行状态迁移时,状态调节器将所述创建子任务的状态从未执行迁移(transState)为未创建,触发(tigger)检查器,通知(BSTK:worker)其执行创建子任务。
需要说明的是,未创建的状态属于执行中的状态,表示创建子任务已经开始执行,并未创建应用容器。
当检测(sub)到创建子任务(TaskID标识)的状态为未创建时,检查器(WatchWorker)调用每个创建子任务,以检测(do)是否满足每个创建子任务中的创建条件。
在一个示例中,该创建条件包括时间间隔信息。
则在此示例中,可以获取当前的时间与当前的应用容器的创建时间,判断当前的时间与当前的应用容器的创建时间之差是否满足时间间隔信息;若是,则判定满足创建条件。
应用此示例,可以定时(如每天8点)开启游戏服。
在另一个示例中,该创建条件包括账号阈值。
则在此示例中,可以从当前的应用容器中检测账号的数量,判断账号的数量是否超过账号阈值;若是,则判定满足创建条件。
应用此示例,可以通过用户的数量开启游戏服,如当前的游戏服超过1500个用户则开启新的游戏服。
在另一个示例中,该创建条件包括业务对象阈值。
则在此示例中,可以从当前的应用容器中检测归属账号的业务对象的数量,判断业务对象的数量是否超过业务对象阈值;若是,则判定满足创建条件。
其中,该业务对象可以为用户在游戏服中创建的角色,应用此示例,可以通过角色的数量开启游戏服,如当前的游戏超过3000个角色则开启新的游戏服。
当然,上述创建条件方法只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他创建条件,本发明实施例对此不加以限制。另外,除了上述创建条件外,本领域技术人员还可以根据实际需要采用其它创建条件,本发明实施例对此也不加以限制。
步骤104,当检测到满足所述创建条件时,按照所述一个或多个容器参数创建应用容器。
如图3、4所示,检查器在检测到满足创建条件时,向预设的消息队列写入第一状态迁移消息(watchComplete),通知(BSTK:Fsm)状态调节器(Fsm)满足创建条件。
在消息队列中检测(sub)到第一状态迁移消息时,状态调节器(Fsm)将创建子任务的状态从未创建迁移(transState)为创建中,触发(tigger)创建器,通知(BSTK:worker)其创建应用容器;
当检测(sub)到创建子任务的状态为创建中时,创建器(OpenWorker)按照一个或多个容器参数创建(do)应用容器。
需要说明的是,创建中的状态属于执行中的状态,表示创建子任务已经开始执行,并正在创建应用容器。
在创建过程中,可以设置应用容器的创建时间,发布应用容器的创建信息,如xxx游戏xx区服将于xxx时间火爆开启。
创建应用容器,将其状态设置为开启,并设置游戏服的其他相关的一些状态;
在到达创建时间时,将访问的账号信息写入所述应用容器中。
此外,创建器在创建应用容器完成时,向预设的消息队列写入第二状态迁移消息(OpenComplete),通知(BSTK:Fsm)状态调节器(Fsm)创建应用容器完成。
在消息队列中检测(sub)到第二状态迁移消息时,状态调节器将创建子任务的状态从执行中迁移(transState)为执行中完成,将创建子任务(Task)执行的结果通知给调度器(Dispatcher)。
当检测到创建子任务的状态为执行完成时,执行CallbackWorker的操作,即调度器返回(Callback)执行步骤102,进入下一个循环。
本发明实施例按照应用容器的创建参数生成创建任务,并针对每个创建条件生成创建子任务,当检测到满足创建子任务中的创建条件时,按照一个或多个容器参数创建应用容器,实现了应用容器的自动创建,避免了人工进行监测、创建等操作,大大降低了创建应用容器的成本。
由于系统中不同的组件之间的消息传递都是依赖于消息队列的
消息队列由消息队列服务维护,为了保证自动创建应用容器的服务正常运行,可以对消息队列服务进行监控。
在实际应用中,探活器(Crontab)在预设的时间点(如每隔10分钟)启动探活程序,该探活程序启动一个指定的时间(如2s)的定时器,并向消息队列服务发送探活消息之后等待此消息。
判断在指定的时间(如2s)内是否检测探活消息是否写入所述消息队列,若是,则判定消息队列服务运行正常;若否,则判定消息队列服务运行异常。
当所述消息队列服务运行异常时,可以生成警报信息。
本发明实施例通过探活消息探测消息队列服务运行是否正常,保证了消息队列的正常运行,保证了系统的实用性。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了根据本发明一个实施例的一种应用容器的创建装置实施例的结构框图,具体可以包括:
任务管理器501,适于按照应用容器的创建参数生成创建任务;所述创建参数包括一个或多个创建条件、一个或多个容器参数;
调度器502,适于在获取到创建任务时,针对每个创建条件生成创建子任务;
检查器503,适于调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件;
创建器504,适于在检测到满足所述创建条件时,按照所述一个或多个容器参数创建应用容器。
在本发明实施例的一个可选示例中,所述创建条件包括时间间隔信息;所述检查器503还可以适于:
获取当前的时间与当前的应用容器的创建时间;
判断当前的时间与当前的应用容器的创建时间之差是否满足所述时间间隔信息;若是,则判定满足创建条件。
在本发明实施例的一个可选示例中,所述创建条件包括账号阈值;所述检查器503还可以适于:
从当前的应用容器中检测账号的数量;
判断所述账号的数量是否超过所述账号阈值;若是,则判定满足创建条件。
在本发明实施例的一个可选示例中,所述创建条件包括业务对象阈值;所述检查器503还可以适于:
从当前的应用容器中检测归属账号的业务对象的数量;
判断所述业务对象的数量是否超过所述业务对象阈值;若是,则判定满足创建条件。
在具体实现中,所述创建器504还可以适于:
设置应用容器的创建时间;
发布应用容器的创建信息;
创建应用容器;
在到达所述创建时间时,将访问的账号信息写入所述应用容器中。
在本发明的一个可选实施例中,该装置还可以包括:
状态调节器,适于将所述创建子任务的状态设置为未执行。
在本发明的一个可选实施例中,所述状态调节器还可以适于:
当满足预设的状态迁移的条件进行状态迁移时,将所述创建子任务的状态从未执行迁移为未创建;
所述检查器503还可以适于:
当检测到所述创建子任务的状态为未创建时,调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件。
在本发明的一个可选实施例中,所述状态调节器还可以适于:
当检测满足所述创建条件时,将所述创建子任务的状态从未创建迁移为创建中;
所述创建器504还可以适于:
当检测到所述创建子任务的状态为创建中时,按照所述一个或多个容器参数创建应用容器。
在本发明的一个可选实施例中,所述状态调节器还可以适于:
当创建应用容器完成时,将所述创建子任务的状态从执行中迁移为执行中完成;
所述调度器502还可以适于:
当检测到所述创建子任务的状态为执行完成、获取到创建任务时,针对每个创建条件生成创建子任务。
在本发明的一个可选实施例中,所述任务管理器501还可以适于:
在生成创建任务时,向预设的消息队列写入任务创建消息;
所述调度器502还可以适于:
在所述消息队列中检测到任务创建消息、获取到创建任务时,针对每个创建条件生成创建子任务。
在本发明的一个可选实施例中,所述调度器502还可以适于:
在生成创建子任务时,向预设的消息队列写入子任务创建消息;
所述状态调节器还可以适于:
在所述消息队列中检测到子任务创建消息时,将所述创建子任务的状态设置为未执行。
在本发明的一个可选实施例中,所述检查器503还可以适于:
在检测到满足所述创建条件时,向预设的消息队列写入第一状态迁移消息;
所述状态调节器还可以适于:
在所述消息队列中检测到第一状态迁移消息时,将所述创建子任务的状态从未创建迁移为创建中。
在本发明的一个可选实施例中,所述创建器504还可以适于:
在创建应用容器完成时,向预设的消息队列写入第二状态迁移消息;
所述状态调节器还适于:
在所述消息队列中检测到第二状态迁移消息时,将所述创建子任务的状态从执行中迁移为执行中完成。
在本发明的一个可选实施例中,所述消息队列由消息队列服务维护,所述装置还可以包括:
探活器,适于在预设的时间点向所述消息队列服务发送探活消息;
判断在指定的时间内是否检测所述探活消息是否写入所述消息队列;
若是,则判定所述消息队列服务运行正常;
若否,则判定所述消息队列服务运行异常。
在本发明的一个可选实施例中,所述探活器还可以适于:
当所述消息队列服务运行异常时,生成警报信息。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的应用容器的创建装置设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明实施例公开了A1、一种应用容器的创建方法,包括:
按照应用容器的创建参数生成创建任务;所述创建参数包括一个或多个创建条件、一个或多个容器参数;
当获取到创建任务时,针对每个创建条件生成创建子任务;
调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件;
当检测到满足所述创建条件时,按照所述一个或多个容器参数创建应用容器。
A2、如A1所述的方法,所述创建条件包括时间间隔信息;
所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤包括:
获取当前的时间与当前的应用容器的创建时间;
判断当前的时间与当前的应用容器的创建时间之差是否满足所述时间间隔信息;若是,则判定满足创建条件。
A3、如A1所述的方法,所述创建条件包括账号阈值;
所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤包括:
从当前的应用容器中检测账号的数量;
判断所述账号的数量是否超过所述账号阈值;若是,则判定满足创建条件。
A4、如A1所述的方法,所述创建条件包括业务对象阈值;
所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤包括:
从当前的应用容器中检测归属账号的业务对象的数量;
判断所述业务对象的数量是否超过所述业务对象阈值;若是,则判定满足创建条件。
A5、如A1或A2或A3或A4所述的方法,所述按照所述一个或多个容器参数创建应用容器的步骤包括:
设置应用容器的创建时间;
发布应用容器的创建信息;
创建应用容器;
在到达所述创建时间时,将访问的账号信息写入所述应用容器中。
A6、如A1或A5所述的方法,在所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤之前,所述方法还包括:
状态调节器将所述创建子任务的状态设置为未执行。
A7、如A6所述的方法,还包括:
当满足预设的状态迁移的条件进行状态迁移时,状态调节器将所述创建子任务的状态从未执行迁移为未创建;
当检测到所述创建子任务的状态为未创建时,检查器执行所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤。
A8、如A7所述的方法,还包括:
当检测满足所述创建条件时,状态调节器将所述创建子任务的状态从未创建迁移为创建中;
当检测到所述创建子任务的状态为创建中时,创建器执行所述按照所述一个或多个容器参数创建应用容器的步骤。
A9、如A8所述的方法,还包括:
当创建应用容器完成时,状态调节器将所述创建子任务的状态从执行中迁移为执行中完成;
当检测到所述创建子任务的状态为执行完成时,调度器执行所述当获取到创建任务时,针对每个创建条件生成创建子任务的步骤。
A10、如A1所述的方法,在所述按照提交应用容器的创建参数生成创建任务的步骤之后,所述方法还包括:
任务管理器在生成创建任务时,向预设的消息队列写入任务创建消息;
在所述消息队列中检测到任务创建消息时,调度器执行所述当获取到创建任务时,针对每个创建条件生成创建子任务的步骤。
A11、如A6所述的方法,还包括:
调度器在生成创建子任务时,向预设的消息队列写入子任务创建消息;
在所述消息队列中检测到子任务创建消息时,状态调节器执行所述将所述创建子任务的状态设置为未执行的步骤。
A12、如A8所述的方法,还包括:
检查器在检测到满足所述创建条件时,向预设的消息队列写入第一状态迁移消息;
在所述消息队列中检测到第一状态迁移消息时,状态调节器执行所述将所述创建子任务的状态从未创建迁移为创建中的步骤。
A13、如A9所述的方法,还包括:
创建器在创建应用容器完成时,向预设的消息队列写入第二状态迁移消息;
在所述消息队列中检测到第二状态迁移消息时,状态调节器执行所述将所述创建子任务的状态从执行中迁移为执行中完成的步骤。
A14、如A10或A11或A12或A13所述的方法,所述消息队列由消息队列服务维护,所述方法还包括:
探活器在预设的时间点向所述消息队列服务发送探活消息;
判断在指定的时间内是否检测所述探活消息是否写入所述消息队列;
若是,则判定所述消息队列服务运行正常;
若否,则判定所述消息队列服务运行异常。
A15、如A14所述的方法,还包括:
当所述消息队列服务运行异常时,生成警报信息。
本发明实施例公开了B16、一种应用容器的创建装置,包括:
任务管理器,适于按照应用容器的创建参数生成创建任务;所述创建参数包括一个或多个创建条件、一个或多个容器参数;
调度器,适于在获取到创建任务时,针对每个创建条件生成创建子任务;
检查器,适于调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件;
创建器,适于在检测到满足所述创建条件时,按照所述一个或多个容器参数创建应用容器。
B17、如B16所述的装置,所述创建条件包括时间间隔信息;所述检查器还适于:
获取当前的时间与当前的应用容器的创建时间;
判断当前的时间与当前的应用容器的创建时间之差是否满足所述时间间隔信息;若是,则判定满足创建条件。
B18、如B16所述的装置,所述创建条件包括账号阈值;所述检查器还适于:
从当前的应用容器中检测账号的数量;
判断所述账号的数量是否超过所述账号阈值;若是,则判定满足创建条件。
B19、如B16所述的装置,所述创建条件包括业务对象阈值;所述检查器还适于:
从当前的应用容器中检测归属账号的业务对象的数量;
判断所述业务对象的数量是否超过所述业务对象阈值;若是,则判定满足创建条件。
B20、如B16或B17或B18或B19所述的装置,所述创建器还适于:
设置应用容器的创建时间;
发布应用容器的创建信息;
创建应用容器;
在到达所述创建时间时,将访问的账号信息写入所述应用容器中。
B21、如B16或B20所述的装置,还包括:
状态调节器,适于将所述创建子任务的状态设置为未执行。
B22、如B21所述的装置,
所述状态调节器还适于:
当满足预设的状态迁移的条件进行状态迁移时,将所述创建子任务的状态从未执行迁移为未创建;
所述检查器还适于:
当检测到所述创建子任务的状态为未创建时,调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件。
B23、如权B22所述的装置,
所述状态调节器还适于:
当检测满足所述创建条件时,将所述创建子任务的状态从未创建迁移为创建中;
所述创建器还适于:
当检测到所述创建子任务的状态为创建中时,按照所述一个或多个容器参数创建应用容器。
B24、如B23所述的装置,
所述状态调节器还适于:
当创建应用容器完成时,将所述创建子任务的状态从执行中迁移为执行中完成;
所述调度器还适于:
当检测到所述创建子任务的状态为执行完成、获取到创建任务时,针对每个创建条件生成创建子任务。
B25、如B16所述的装置,
所述任务管理器还适于:
在生成创建任务时,向预设的消息队列写入任务创建消息;
所述调度器还适于:
在所述消息队列中检测到任务创建消息、获取到创建任务时,针对每个创建条件生成创建子任务。
B26、如B21所述的装置,
所述调度器还适于:
在生成创建子任务时,向预设的消息队列写入子任务创建消息;
所述状态调节器还适于:
在所述消息队列中检测到子任务创建消息时,将所述创建子任务的状态设置为未执行。
B27、如B23所述的装置,
所述检查器还适于:
在检测到满足所述创建条件时,向预设的消息队列写入第一状态迁移消息;
所述状态调节器还适于:
在所述消息队列中检测到第一状态迁移消息时,将所述创建子任务的状态从未创建迁移为创建中。
B28、如B24所述的装置,
所述创建器还适于:
在创建应用容器完成时,向预设的消息队列写入第二状态迁移消息;
所述状态调节器还适于:
在所述消息队列中检测到第二状态迁移消息时,将所述创建子任务的状态从执行中迁移为执行中完成。
B29、如B25或B26或B27或B28所述的装置,所述消息队列由消息队列服务维护,所述装置还包括:
探活器,适于在预设的时间点向所述消息队列服务发送探活消息;
判断在指定的时间内是否检测所述探活消息是否写入所述消息队列;
若是,则判定所述消息队列服务运行正常;
若否,则判定所述消息队列服务运行异常。
B30、如B29所述的装置,所述探活器还适于:
当所述消息队列服务运行异常时,生成警报信息。
Claims (10)
1.一种应用容器的创建方法,包括:
按照应用容器的创建参数生成创建任务;所述创建参数包括一个或多个创建条件、一个或多个容器参数;
当获取到创建任务时,针对每个创建条件生成创建子任务;
调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件;
当检测到满足所述创建条件时,按照所述一个或多个容器参数创建应用容器。
2.如权利要求1所述的方法,其特征在于,所述创建条件包括时间间隔信息;
所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤包括:
获取当前的时间与当前的应用容器的创建时间;
判断当前的时间与当前的应用容器的创建时间之差是否满足所述时间间隔信息;若是,则判定满足创建条件。
3.如权利要求1所述的方法,其特征在于,所述创建条件包括账号阈值;
所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤包括:
从当前的应用容器中检测账号的数量;
判断所述账号的数量是否超过所述账号阈值;若是,则判定满足创建条件。
4.如权利要求1所述的方法,其特征在于,所述创建条件包括业务对象阈值;
所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤包括:
从当前的应用容器中检测归属账号的业务对象的数量;
判断所述业务对象的数量是否超过所述业务对象阈值;若是,则判定满足创建条件。
5.如权利要求1或2或3或4所述的方法,其特征在于,所述按照所述一个或多个容器参数创建应用容器的步骤包括:
设置应用容器的创建时间;
发布应用容器的创建信息;
创建应用容器;
在到达所述创建时间时,将访问的账号信息写入所述应用容器中。
6.如权利要求1或5所述的方法,其特征在于,在所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤之前,所述方法还包括:
状态调节器将所述创建子任务的状态设置为未执行。
7.如权利要求6所述的方法,其特征在于,还包括:
当满足预设的状态迁移的条件进行状态迁移时,状态调节器将所述创建子任务的状态从未执行迁移为未创建;
当检测到所述创建子任务的状态为未创建时,检查器执行所述调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件的步骤。
8.如权利要求7所述的方法,其特征在于,还包括:
当检测满足所述创建条件时,状态调节器将所述创建子任务的状态从未创建迁移为创建中;
当检测到所述创建子任务的状态为创建中时,创建器执行所述按照所述一个或多个容器参数创建应用容器的步骤。
9.如权利要求8所述的方法,其特征在于,还包括:
当创建应用容器完成时,状态调节器将所述创建子任务的状态从执行中迁移为执行中完成;
当检测到所述创建子任务的状态为执行完成时,调度器执行所述当获取到创建任务时,针对每个创建条件生成创建子任务的步骤。
10.一种应用容器的创建装置,包括:
任务管理器,适于按照应用容器的创建参数生成创建任务;所述创建参数包括一个或多个创建条件、一个或多个容器参数;
调度器,适于在获取到创建任务时,针对每个创建条件生成创建子任务;
检查器,适于调用每个创建子任务,以检测是否满足每个创建子任务中的创建条件;
创建器,适于在检测到满足所述创建条件时,按照所述一个或多个容器参数创建应用容器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510642986.7A CN105260233B (zh) | 2015-09-30 | 2015-09-30 | 一种应用容器的创建方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510642986.7A CN105260233B (zh) | 2015-09-30 | 2015-09-30 | 一种应用容器的创建方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105260233A true CN105260233A (zh) | 2016-01-20 |
CN105260233B CN105260233B (zh) | 2019-03-05 |
Family
ID=55099936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510642986.7A Active CN105260233B (zh) | 2015-09-30 | 2015-09-30 | 一种应用容器的创建方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105260233B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515783A (zh) * | 2016-06-16 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 基于应用容器集群工具的应用容器管控方法及装置 |
CN109582466A (zh) * | 2017-09-29 | 2019-04-05 | 北京金山软件有限公司 | 一种定时任务执行方法、分布式服务器集群及电子设备 |
CN114115066A (zh) * | 2021-12-03 | 2022-03-01 | 中国建设银行股份有限公司 | 一种裸设备控制方法及目标电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030202522A1 (en) * | 2002-04-24 | 2003-10-30 | Ping Jiang | System for concurrent distributed processing in multiple finite state machines |
US20090228888A1 (en) * | 2008-03-10 | 2009-09-10 | Sun Microsystems, Inc. | Dynamic scheduling of application tasks in a distributed task based system |
CN101753534A (zh) * | 2008-12-10 | 2010-06-23 | 徐文祥 | 基于集群服务器的分区自适应网络系统及其构建方法 |
CN102347851A (zh) * | 2010-07-29 | 2012-02-08 | 阿里巴巴集团控股有限公司 | 事件处理方法及服务器 |
CN104767641A (zh) * | 2015-04-01 | 2015-07-08 | 北京京东尚科信息技术有限公司 | 调流方法、设备和系统 |
-
2015
- 2015-09-30 CN CN201510642986.7A patent/CN105260233B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030202522A1 (en) * | 2002-04-24 | 2003-10-30 | Ping Jiang | System for concurrent distributed processing in multiple finite state machines |
US20090228888A1 (en) * | 2008-03-10 | 2009-09-10 | Sun Microsystems, Inc. | Dynamic scheduling of application tasks in a distributed task based system |
CN101753534A (zh) * | 2008-12-10 | 2010-06-23 | 徐文祥 | 基于集群服务器的分区自适应网络系统及其构建方法 |
CN102347851A (zh) * | 2010-07-29 | 2012-02-08 | 阿里巴巴集团控股有限公司 | 事件处理方法及服务器 |
CN104767641A (zh) * | 2015-04-01 | 2015-07-08 | 北京京东尚科信息技术有限公司 | 调流方法、设备和系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107515783A (zh) * | 2016-06-16 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 基于应用容器集群工具的应用容器管控方法及装置 |
CN107515783B (zh) * | 2016-06-16 | 2021-01-22 | 阿里巴巴集团控股有限公司 | 基于应用容器集群工具的应用容器管控方法及装置 |
CN109582466A (zh) * | 2017-09-29 | 2019-04-05 | 北京金山软件有限公司 | 一种定时任务执行方法、分布式服务器集群及电子设备 |
CN109582466B (zh) * | 2017-09-29 | 2021-05-25 | 北京金山软件有限公司 | 一种定时任务执行方法、分布式服务器集群及电子设备 |
CN114115066A (zh) * | 2021-12-03 | 2022-03-01 | 中国建设银行股份有限公司 | 一种裸设备控制方法及目标电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN105260233B (zh) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10915382B2 (en) | Event-driven serverless function orchestration | |
US20190392617A1 (en) | Visual workflow model | |
CN105117289B (zh) | 基于云测试平台的任务分配方法、装置及系统 | |
CN105183564B (zh) | 基于云测试平台的设备调度方法、装置及系统 | |
US20190205184A1 (en) | Event-driven serverless function orchestration | |
CN102567090B (zh) | 在计算机处理器中创建执行线程的方法和系统 | |
CN107450971A (zh) | 任务处理方法及装置 | |
CN107045475B (zh) | 测试方法和装置 | |
CN111507674B (zh) | 任务信息处理方法、装置及系统 | |
WO2019075845A1 (zh) | 链路调用关系的构建方法、装置、计算机设备及存储介质 | |
CN105260233A (zh) | 一种应用容器的创建方法和装置 | |
CN111666572A (zh) | 一种自动化渗透测试框架 | |
CN107391274A (zh) | 离线消息的处理方法及装置 | |
CN113190427A (zh) | 卡顿监控方法、装置、电子设备及存储介质 | |
US20210034439A1 (en) | Parallel cloned workflow execution | |
WO2017133229A1 (zh) | 一种移动终端的图片显示方法和装置 | |
CN113282444A (zh) | 用于业务流程调试的可视化方法和装置 | |
US20220276901A1 (en) | Batch processing management | |
CN115525411A (zh) | 处理业务请求的方法、装置、电子设备和计算机可读介质 | |
CN113760403A (zh) | 状态机联动方法和装置 | |
CN113010285A (zh) | 用于处理数据的方法、装置、设备、介质和产品 | |
CN110704203B (zh) | 一种可中断的远程过程调用方法及装置 | |
US20150248453A1 (en) | Automated Logging for Object-Oriented Environments | |
CN114338178B (zh) | Soar剧本模型、剧本构建方法、电子设备和存储介质 | |
CN114416381B (zh) | 处理资源超分方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220712 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co., Ltd |