CN108156208A - 一种应用程序数据的发布方法、装置和系统 - Google Patents

一种应用程序数据的发布方法、装置和系统 Download PDF

Info

Publication number
CN108156208A
CN108156208A CN201611111480.4A CN201611111480A CN108156208A CN 108156208 A CN108156208 A CN 108156208A CN 201611111480 A CN201611111480 A CN 201611111480A CN 108156208 A CN108156208 A CN 108156208A
Authority
CN
China
Prior art keywords
queue
server
information
destination server
failure
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
Application number
CN201611111480.4A
Other languages
English (en)
Other versions
CN108156208B (zh
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201611111480.4A priority Critical patent/CN108156208B/zh
Publication of CN108156208A publication Critical patent/CN108156208A/zh
Application granted granted Critical
Publication of CN108156208B publication Critical patent/CN108156208B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本申请实施例提供了一种应用程序数据的发布方法、装置和系统,所述应用程序数据基于服务器集群进行发布,所述的方法包括:步骤S1,按预设的最大发布机器数,从所述服务器集群中提取相应数量的目标服务器的信息写入发布队列;步骤S2,基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列,将操作失败的目标服务器的信息写入失败队列;步骤S3,从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息;返回所述步骤S1。本申请可以使得整体服务器集群的发布操作效率非常高效,可以始终保持服务器集群在稳定发布的状态,有效缩短了应用程序数据发布的执行周期。

Description

一种应用程序数据的发布方法、装置和系统
技术领域
本申请涉及数据库系统的技术领域,特别是涉及一种应用程序数据的发布方法、一种应用程序数据的发布装置和一种应用程序数据的发布系统。
背景技术
服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。服务器集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。
为给用户提供在线的服务,应用程序的数据通常需要部署在服务器集群中。为了提供在线且持续不间断的服务,在应用程序的数据发布(如发布新的应用程序或提供更新的应用程序数据)的时候,通常采取分批发布的策略。具体可以参考图1和图2所示的已有的应用程序数据发布处理的示意图,分批发布的策略是针对集群中需要执行发布操作的服务器,根据一定的算法分成固定的批次,每一批服务器分组都需要等上一批服务器分组的发布执行完成之后才开始执行发布操作,如图1中,第二批服务器分组需要第一批服务器分组的发布执行完成之后才开始执行发布操作,第三批服务器分组需要第二批服务器分组的发布执行完成之后才开始执行发布操作,第四批服务器分组需要第三批服务器分组的发布执行完成之后才开始执行发布操作,
然而,在每一批服务器分组中,不同的服务器完成发布操作的时间通常是不同的,如图2中,在第一批服务器分组中,有部分服务器是在3分钟内完成的,还有部分服务器是在5分钟内完成的,其它还有部分服务器是在10分钟内完成的,不仅如此,还有两台发布操作失败的服务器。在这种情况下,第一批服务器分组的发布操作执行时间将超过10分钟。由于最快完成发布操作的服务器和最慢完成发布操作的服务器的时间有较大的时间差,正常情况下,大部分服务器较快完成发布操作,而只有少数服务器会较慢完成发布操作或操作失败。尽管如此,这一批服务器分组的整体发布操作时间仍然是由最慢完成发布操作的时间来确定。而某一批服务器分组的整体发布操作,又必然影响到下一批服务器分组的发布操作执行的起始时间点,从而拖慢了整个应用程序数据发布的执行周期。对于操作失败的情形,还需由人工介入确定跳过还是重新发起发布操作。尤其在每批服务器分组中服务器数量越来越多的情况下,整体发布操作的处理效率可能十分低下。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用程序数据的发布方法、一种应用程序数据的发布系统和一种应用程序数据的发布装置。
为了解决上述问题,本申请公开了一种应用程序数据的发布方法,所述应用程序数据基于服务器集群进行发布,所述的方法包括:
步骤S1,按预设的最大发布机器数,从所述服务器集群中提取相应数量的目标服务器的信息写入发布队列;
步骤S2,基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列,以及,将操作失败的目标服务器的信息写入失败队列;
步骤S3,从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息;返回所述步骤S1。
可选地,所述步骤S1包括:
按预设的最大发布机器数,从等待队列中提取相应数量的目标服务器的信息写入发布队列;所述等待队列中记录有所述服务器集群中等待执行应用程序数据的发布操作的服务器的信息。
可选地,所述的方法,还包括:
当确定需要针对所述失败队列中的目标服务器的信息发起重试时,将相应目标服务器的信息写入重试队列。
可选地,所述的方法,还包括:
按预设的最大发布机器数,先从所述重试队列中提取相应数量的目标服务器的信息写入发布队列;
若当前写入发布队列中的目标服务器的数量小于所述最大发布机器数,则继续从所述等待队列中提取相应数量的目标服务器的信息写入发布队列,返回所述步骤S2。
可选地,所述的方法,还包括:
当确定需对所述失败队列中的目标服务器的信息不发起重试时,将相应服务器的信息写入跳过队列。
可选地,所述的方法,还包括:
当确定需要针对所述失败队列中的目标服务器的信息发起重试时,将所述失败队列中的目标服务器的信息写入等待队列,返回所述步骤S1。
可选地,所述的方法,还包括:
当所述等待队列中没有服务器的信息时,结束所述应用程序数据的发布操作。
为了解决上述问题,本申请公开了一种应用程序数据的发布方法,所述应用程序数据基于服务器集群进行发布,所述的方法包括:
生成等待队列,发布队列,成功队列,以及,失败队列;
在所述等待队列中写入所述服务器集群中等待执行应用程序数据的发布操作的服务器的信息;
按预设的最大发布机器数,从所述等待队列中提取相应数量的目标服务器的信息写入发布队列;
基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列;以及,将操作失败的目标服务器的信息写入失败队列;
从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息。
可选地,所述的方法,还包括:
判断写入失败队列的目标服务器的数量是否超过预设阈值;
若是,则中止执行应用程序数据的发布操作。
可选地,所述的方法,还包括:
当确定需要针对所述失败队列中的目标服务器的信息发起重试时,将相应目标服务器的信息写入重试队列。
可选地,所述的方法,还包括:
当确定需对所述失败队列中的目标服务器的信息不发起重试时,将相应服务器的信息写入跳过队列。
可选地,所述的方法,还包括:
当需要执行应用程序数据的发布回滚操作时,提取所述成功队列,失败队列,重试队列,和/或,跳过队列中的服务器的信息,生成回滚队列;
基于所述回滚队列执行应用数据的发布操作,返回所述将操作成功的目标服务器的信息写入成功队列;以及,将操作失败的目标服务器的信息写入失败队列的步骤。
为了解决上述问题,本申请公开了一种应用程序数据的发布装置,所述应用程序数据基于服务器集群进行发布,所述的装置包括:
发布操作模块,用于按预设的最大发布机器数,从所述服务器集群中提取相应数量的目标服务器的信息写入发布队列;操作结果处理模块,用于基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列,以及,将操作失败的目标服务器的信息写入失败队列;
移除模块,用于从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息后,调用所述发布操作模块。
为了解决上述问题,本申请公开了一种应用程序数据的发布装置,所述应用程序数据基于服务器集群进行发布,所述的装置包括:
队列生成模块,用于生成等待队列,发布队列,成功队列,以及,失败队列;
等待队列控制模块,用于在所述等待队列中写入所述服务器集群中等待执行应用程序数据的发布操作的服务器的信息;
发布队列控制模块,用于按预设的最大发布机器数,从所述等待队列中提取相应数量的目标服务器的信息写入发布队列;
成功及失败队列控制模块,用于基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列;以及,将操作失败的目标服务器的信息写入失败队列;
移除模块,用于从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息。
为了解决上述问题,本申请公开了一种应用程序数据的发布系统,所述应用程序数据基于服务器集群进行发布,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
步骤S1,按预设的最大发布机器数,从所述服务器集群中提取相应数量的目标服务器的信息写入发布队列;所述目标服务器为当前执行应用程序数据的发布操作的服务器,用于执行应用程序数据的发布操作;
步骤S2,将执行应用程序数据的发布操作成功的目标服务器的信息写入成功队列,以及,将执行应用程序数据的发布操作失败的目标服务器的信息写入失败队列;
步骤S3,从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息;返回所述步骤S1。
为了解决上述问题,本申请公开了一种应用程序数据的发布系统,所述应用程序数据基于服务器集群进行发布,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
生成等待队列,发布队列,成功队列,以及,失败队列;
在所述等待队列中写入所述服务器集群中等待执行应用程序数据的发布操作的服务器的信息;
按预设的最大发布机器数,从所述等待队列中提取相应数量的目标服务器的信息写入发布队列;
基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列;以及,将操作失败的目标服务器的信息写入失败队列;
从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息。
为了解决上述问题,本申请公开了一种装置,包括:
一个或多个处理器;和
其上存储的一个或多个计算机可读介质中的指令,由所述一个或多个处理器执行时,导致所述装置执行如权利要求1-7,8-12的方法。
为了解决上述问题,本申请公开了一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行的权利要求1-7,8-12的方法。
本申请实施例包括以下优点:
本申请实施例通过按照预设的最大发布机器数从等待队列提取相应数量(如12台)的目标服务器的信息写入发布队列,当发布操作成功时,马上就从等待队列中分配新的目标服务器的信息到发布队列中,当发布操作失败时,也马上从等待队列中分配新的目标服务器的信息到发布队列中,使发布队列总是按照最大发布机器数设定的目标服务器的数量在使服务器集群滚动发布应用程序的数据。从而使得整体用于进行应用程序的数据发布的服务器集群的发布操作效率非常高效,可以始终保持服务器集群在稳定发布的状态,而不会因为某一批服务器分组的整体发布操作时间过慢而拖慢了整个应用程序数据发布的执行周期,有效缩短了应用程序数据发布的执行周期。
当应用程序数据的发布操作成功时,相应的服务器进入成功队列;当应用程序数据的发布操作失败时,相应的服务器进入失败队列,即本申请实施例对于操作失败的情形,无需由人工介入,从而可以更有效提升整体发布操作的处理效率。
附图说明
图1是已有的应用程序数据发布处理的第一示意图;
图2是已有的应用程序数据发布处理的第二示意图;
图3是本申请的一种应用程序数据的发布方法实施例1的步骤流程图;
图4是本申请的一种流式滚动方式发布的示意图;
图5是本申请的一种应用程序数据的发布方法实施例2的步骤流程图;
图6a是一种应用本申请实施例在发布操作失败时进入失败队列的场景下的处理流程图;
图6b是一种应用本申请实施例在针对失败队列中的服务器发起重试的场景下的处理流程图;
图6c是一种应用本申请实施例在优先调用重试队列中的服务器的场景下的处理流程图;
图6d是一种应用本申请实施例在再次发布操作失败的场景下的处理流程图;
图6e是一种应用本申请实施例在再次发布操作失败的场景下确定不发起重试的处理流程图;
图7是本申请的一种应用程序数据的发布方法实施例3的步骤流程图;
图8是本申请的一种应用程序数据的发布方法实施例4的步骤流程图;
图9是本申请的一种应用程序数据的发布装置实施例1的结构框图;
图10是本申请的一种应用程序数据的发布装置实施例2的结构框图;
图11本申请一种示例性系统实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请的构思易于进行各种修改和替代形式,其具体实施例已经通过附图的方式示出,并将在这里详细描述。然而,应该理解,上述内容并不是用来将本申请的构思限制为所公开的具体形式,相反地,本申请的说明书和附加权利要求书意欲覆盖所有的修改、等同和替代的形式。
本说明书中的“一个实施例”,“实施例”,“一个具体实施例”等,表示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以包括或可以不必然包括该特定特征、结构或特性。此外,这样的短语不一定指的是同一实施例。另外,在联系一个实施例描述特定特征、结构或特性的情况下,无论是否明确描述,可以认为本领域技术人员所知的范围内,这样的特征、结构或特性也与其他实施例有关。另外,应该理解的是,“在A,B和C的至少一个”这种形式所包括的列表中的条目中,可以包括如下可能的项目:(A);(B);(C);(A和B);(A和C);(B和C);或(A,B和C)。同样,“A,B或C中的至少一个”这种形式列出的项目可能意味着(A);(B);(C);(A和B);(A和C);(B和C);或(A,B和C)。
在一些情况下,所公开的实施例可以被实施为硬件、固件、软件或其任意组合。所公开的实施例也可以实现为携带或存储在一个或多个暂时的或者非暂时的机器可读(例如计算机可读)存储介质中的指令,该指令可以被一个或多个处理器执行。机器可读存储介质可以实施为用于以能够被机器读取的形式存储或者传输信息的存储装置、机构或其他物理结构(例如易失性或非易失性存储器、介质盘、或其他媒体其它物理结构装置)。
在附图中,一些结构或方法特征可以以特定的安排和/或排序显示。然而,优选地,这样的具体安排和/或排序并不是必要的。相反,在一些实施方案中,这样的特征可以以不同的方式和/或顺序排列,而不是如附图中所示。此外,特定的附图中的结构或方法特征中所包含的内容,不意味着暗示这种特征是在所有实施例是必须的,并且在一些实施方案中,可能不包括这些特征,或者可能将这些特征与其它特征相结合。
本申请实施例的核心构思之一在于,采用流式滚动的方式发布应用程序的数据,具体而言,通过按照预设的最大发布机器数控制服务器集群进行应用程序数据的滚动发布,当发布操作成功时,马上就从等待发布的服务器中分配新的服务器到发布队列中,当发布操作失败时,相应的服务器进入失败队列,仍立即从等待发布的服务器中分配新的服务器到发布队列,从而可以始终保持服务器集群在稳定发布的状态,有效减少了应用程序数据发布的操作时间。
参照图3,示出了本申请的一种应用程序数据的发布方法实施例1的步骤流程图,在本申请实施例中,所述应用程序数据基于服务器集群进行发布,本申请实施例具体可以包括如下步骤:
步骤301,按预设的最大发布机器数,从所述服务器集群中提取相应数量的目标服务器的信息写入发布队列;
其中,所述目标服务器为当前执行应用程序数据的发布操作的服务器,用于执行应用程序数据的发布操作。
步骤302,基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列,以及,将操作失败的目标服务器的信息写入失败队列;
步骤303,从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息;返回所述步骤301。
在本申请的一种优选实施例中,所述步骤301可以为,按预设的最大发布机器数,从等待队列中提取相应数量的目标服务器的信息写入发布队列;所述等待队列中记录有所述服务器集群中等待执行应用程序数据的发布操作的服务器的信息。
通过将服务器集群中可以用于执行应用程序数据的发布操作的服务器的信息写入等待队列,在需要进行应用程序数据的发布操作时,按预设的最大发布机器数,从所述等待队列中提取相应数量的目标服务器的信息写入发布队列。例如,预设的最大发布机器数为10,那么就从等待队列中提取10台目标服务器的信息写入发布队列。
参考图4所示的本申请的一种流式滚动方式发布的示意图,本申请实施例通过按照预设的最大发布机器数从等待队列提取相应数量(如12台)的目标服务器的信息写入发布队列,当发布操作成功时,马上就从等待队列中分配新的目标服务器的信息到发布队列中,当发布操作失败时,也马上从等待队列中分配新的目标服务器的信息到发布队列中,使发布队列总是按照最大发布机器数设定的目标服务器的数量在使服务器集群滚动发布应用程序的数据。从而使得整体用于进行应用程序的数据发布的服务器集群的发布操作效率非常高效,可以始终保持服务器集群在稳定发布的状态,而不会因为某一批服务器分组的整体发布操作时间过慢而拖慢了整个应用程序数据发布的执行周期,有效缩短了应用程序数据发布的执行周期。
当应用程序数据的发布操作成功时,相应的服务器进入成功队列;当应用程序数据的发布操作失败时,相应的服务器进入失败队列,即本申请实施例对于操作失败的情形,无需由人工介入,从而可以更有效提升整体发布操作的处理效率。
参考图5,示出了本申请的一种应用程序数据的发布方法实施例2的步骤流程图,在本申请实施例中,所述应用程序数据基于服务器集群进行发布,本申请实施例具体可以包括如下步骤:
步骤501,初始化等待队列;
步骤502,预设最大发布机器数;
步骤503,按预设的最大发布机器数,从所述等待队列中提取相应数量的目标服务器的信息写入发布队列;
步骤504,目标服务器执行应用程序数据的发布操作;
步骤505,将执行应用程序数据的发布操作成功的目标服务器的信息写入成功队列;
步骤506,将执行应用程序数据的发布操作失败的目标服务器的信息写入失败队列;
步骤507,判断是否需要针对所述失败队列中的目标服务器的信息发起重试,若是,则执行步骤508;
步骤508,将相应目标服务器的信息写入重试队列;
步骤509,按预设的最大发布机器数,先从所述重试队列中提取相应数量的目标服务器的信息写入发布队列,返回步骤504;
步骤510,若当前写入发布队列中的目标服务器的数量小于所述最大发布机器数,则继续从所述等待队列中提取相应数量的目标服务器的信息写入发布队列,返回步骤504。
在本实施例中,对于失败队列中的服务器可以被设置是否需要重新发起发布操作,或者,多次失败之后是否需要跳过等,本发明对此不作限制。作为本申请实施例中具体应用的一种示例,所述重试队列可以被设置为高于等待队列,当然,本领域技术人员依据实际情况任意设置均是可行的。
为使本领域技术人员更好地理解本申请,以下结合图6a-6e通过示例对本实施例进一步说明。
图6a示出了一种应用本实施例在发布操作失败时进入失败队列的场景下的处理流程图,假设当前有20台服务器参与执行应用程序数据的发布操作(即初始化等待队列中有20台服务器),预设的最大发布机器数是5。针对最初始的等待队列中的20台服务器,按最大发布机器数5,从所述等待队列中提取5台的目标服务器的信息写入到发布队列,目标服务器开始执行应用程序数据的发布操作,没有发布操作成功的服务器,有1台服务器发布操作失败,于是将这台服务器的信息写入失败队列,所以失败队列显示为1。
图6b示出了一种应用本实施例在针对失败队列中的服务器发起重试的场景下的处理流程图,基于上述图6a的情形,确定需要针对所述失败队列中的服务器发起重试,于是,将相应服务器的信息写入重试队列,所以失败队列显示为0,重试队列显示为1。在本例中,对于重试队列中服务器的调用优先级被设置为高于等待队列,所以重试队列中的服务器将优先进入发布队列。
图6c示出了一种应用本实施例在优先调用重试队列中的服务器的场景下的处理流程图,基于上述图6b的情形,在发布队列中的某台服务器操作成功后,将优先调用重试队列中的服务器进入发布队列,故成功队列显示为1,重试队列显示为0,发布队列维持在5台机器的稳定状态,而等待队列中仍有14台服务器。
图6d示出了一种应用本实施例在再次发布操作失败的场景下的处理流程图,基于上述图6c的情形,假设现在发布队列中又有某台服务器操作失败,于是将这台服务器的信息写入失败队列,所以此时失败队列显示为1。在先成功队列中已有1台服务器,于是继续从等待队列中提取至满5台的服务器写入发布队列,使发布队列维持在5台机器的稳定状态,而等待队列中剩下13台服务器。
图6e示出了一种应用本实施例在再次发布操作失败的场景下确定不发起重试的处理流程图,基于上述图6d的情形,确定不对所述失败队列中的服务器发起重试,于是,将相应服务器的信息写入跳过队列,所以失败队列显示为0,跳过队列显示为1。
在具体实现中,当所述等待队列中没有服务器的信息时,即可结束所述应用程序数据的发布操作。相应地实际中场景可以体现为,所有等待队列中的服务器的信息已全部被写入成功队列(表示服务器集群中所有的服务器均成功执行发布操作);或者是,所有等待队列中的服务器的信息已被写入成功队列和跳过队列(表示服务器集群中部分服务器成功执行发布操作,其它部分服务器执行发布操作失败但已被确认跳过)等。
参考图7,示出了本申请的一种应用程序数据的发布方法实施例3的步骤流程图,在本申请实施例中,所述应用程序数据基于服务器集群进行发布,本申请实施例具体可以包括如下步骤:
步骤701,按预设的最大发布机器数,从所述等待队列中提取相应数量的目标服务器的信息写入发布队列;
步骤702,基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列;以及,将操作失败的目标服务器的信息写入失败队列;
步骤703,从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息;返回所述步骤701。
步骤704,当确定需要针对所述失败队列中的目标服务器的信息发起重试时,将所述失败队列中的目标服务器的信息写入等待队列,返回所述步骤701。
例如,初始化等待队列为100台服务器,预设的最大发布机器数是10,开始执行应用程序数据的发布操作,从等待队列中提取10台服务器(目标服务器)的信息写入发布队列,即此时等待队列为90台服务器,发布队列为10台服务器,若有一台服务器发布操作成功,则在成功队列中写入这1台服务器的信息,继续从等待队列中提取1台新的服务器的信息写入发布队列,使发布队列维持在10台,等待队列此时为89台服务器。若继续有一台服务器发布操作失败,则在失败队列中写入这1台服务器的信息,继续从等待队列中提取1台新的服务器的信息写入发布队列,使发布队列维持在10台,等待队列此时为88台服务器。在具体实现中,如果确定需要针对所述失败队列中的目标服务器的信息发起重试时,可以直接将该服务器的信息写入等待队列,以重新执行应用程序数据的发布操作。
参考图8,示出了本申请的一种应用程序数据的发布方法实施例4的步骤流程图,在本申请实施例中,所述应用程序数据基于服务器集群进行发布,本申请实施例具体可以包括如下步骤:
步骤801,生成等待队列,发布队列,成功队列,以及,失败队列;
步骤802,在所述等待队列中写入所述服务器集群中等待执行应用程序数据的发布操作的服务器的信息;
步骤803,按预设的最大发布机器数,从所述等待队列中提取相应数量的目标服务器的信息写入发布队列;
步骤804,基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列;以及,将操作失败的目标服务器的信息写入失败队列;
步骤805,从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息。
在本申请的一种优选实施例,所述方法实施例还可以包括如下步骤:
判断写入失败队列的目标服务器的数量是否超过预设阈值;
若是,则中止执行应用程序数据的发布操作。
以上步骤主要是针对实际当中发布失败过多时的场景,在这种场景下,可以暂停处理应用程序的数据发布。
在具体实现中,所述方法实施例还可以包括如下步骤:
当确定需要针对所述失败队列中的目标服务器的信息发起重试时,将相应目标服务器的信息写入重试队列。
以及,
当确定需对所述失败队列中的目标服务器的信息不发起重试时,将相应服务器的信息写入跳过队列。
更为优选的是,当需要回滚时,可以把成功队列,失败队列,重试队列,跳过队列中的服务器的信息,组织为回滚队列,后续则基于回滚队列执行应用数据的发布操作。具体而言,所述方法实施例还可以包括如下步骤:
当需要执行应用程序数据的发布回滚操作时,提取所述成功队列,失败队列,重试队列,和/或,跳过队列中的服务器的信息,生成回滚队列;
基于所述回滚队列执行应用数据的发布操作,返回所述将操作成功的目标服务器的信息写入成功队列;以及,将操作失败的目标服务器的信息写入失败队列的步骤。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图9,示出了本申请一种应用程序数据的发布装置实施例1的结构框图,所述应用程序数据基于服务器集群进行发布,所述的装置实施例具体可以包括以下模块:
发布操作模块901,用于按预设的最大发布机器数,从所述服务器集群中提取相应数量的目标服务器的信息写入发布队列;
操作结果处理模块902,用于基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列,以及,将操作失败的目标服务器的信息写入失败队列;
移除模块903,用于从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息后,调用所述发布操作模块901。
作为本申请实施例具体应用的一种示例,所述发布操作模块901可以包括如下子模块:
初始化子模块,用于初始化等待队列,以及,预设最大发布机器数;其中,所述等待队列中记录有所述服务器集群中等待应用程序数据的发布操作的服务器的信息;
发布队列处理子模块,用于按所述最大发布机器数,从所述等待队列中提取相应数量的目标服务器的信息写入发布队列。
在本申请的一种优选实施例中,所述的装置实施例还可以包括如下模块:
重试处理模块,用于在确定需要针对所述失败队列中的目标服务器的信息发起重试时,将相应目标服务器的信息写入重试队列。
在这种情况下,本申请实施例还可以包括如下模块:
重试提取模块,用于按预设的最大发布机器数,先从所述重试队列中提取相应数量的目标服务器的信息写入发布队列;
等待提取模块,用于在当前写入发布队列中的目标服务器的数量小于所述最大发布机器数时,继续从所述等待队列中提取相应数量的目标服务器的信息写入发布队列后,调用所述操作结果处理模块。
需要说明的是,上述重试提取模块和等待提取模块也可以被设置为用于完成发布操作模块901的功能的子模块。即在本申请的一种优选实施例中,所述发布操作模块901可以包括如下子模块:
重试提取子模块,用于按预设的最大发布机器数,先从所述重试队列中提取相应数量的目标服务器的信息写入发布队列;
等待提取子模块,用于在当前写入发布队列中的目标服务器的数量小于所述最大发布机器数时,继续从所述等待队列中提取相应数量的目标服务器的信息写入发布队列后,调用所述操作结果处理模块。
在本申请的一种优选实施例中,所述装置实施例还可以包括如下模块:
跳过处理模块,用于在确定需对所述失败队列中的目标服务器的信息不发起重试时,将相应服务器的信息写入跳过队列。
更为优选的是,所述装置实施例还可以包括如下模块:
重试等待处理模块,用于在确定需要针对所述失败队列中的目标服务器的信息发起重试时,将所述失败队列中的目标服务器的信息写入等待队列后,调用所述发布操作模块。
参照图10,示出了本申请一种应用程序数据的发布装置实施例2的结构框图,所述应用程序数据基于服务器集群进行发布,所述的装置实施例具体可以包括以下模块:
队列生成模块1001,用于生成等待队列,发布队列,成功队列,以及,失败队列;
等待队列控制模块1002,用于在所述等待队列中写入所述服务器集群中等待执行应用程序数据的发布操作的服务器的信息;
发布队列控制模块1003,用于按预设的最大发布机器数,从所述等待队列中提取相应数量的目标服务器的信息写入发布队列;
成功及失败队列控制模块1004,用于基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列;以及,将操作失败的目标服务器的信息写入失败队列;
移除模块1005,用于从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息。
在本申请的一种优选实施例中,本实施例还可以包括如下模块:
中止模块,用于在判断写入失败队列的目标服务器的数量超过预设阈值时,中止执行应用程序数据的发布操作。
在具体实现中,本实施例还可以包括如下模块:
当确定需要针对所述失败队列中的目标服务器的信息发起重试时,将相应目标服务器的信息写入重试队列。
以及,
当确定需对所述失败队列中的目标服务器的信息不发起重试时,将相应服务器的信息写入跳过队列。
作为本申请实施例的一种示例,本实施例还可以包括如下模块:
回滚队列控制模块,用于在需要执行应用程序数据的发布回滚操作时,提取所述成功队列,失败队列,重试队列,和/或,跳过队列中的服务器的信息,生成回滚队列;
以及,基于所述回滚队列执行应用数据的发布操作,返回调用所述成功及失败队列控制模块1004。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还提供了一种应用程序数据的发布系统,所述应用程序数据基于服务器集群进行发布,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
步骤S1,按预设的最大发布机器数,从所述服务器集群中提取相应数量的目标服务器的信息写入发布队列;
步骤S2,基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列,以及,将操作失败的目标服务器的信息写入失败队列;
步骤S3,从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息;返回所述步骤S1。
可选地,该一个或多个模块可以具有如下功能:
按预设的最大发布机器数,从等待队列中提取相应数量的目标服务器的信息写入发布队列;所述等待队列中记录有所述服务器集群中等待执行应用程序数据的发布操作的服务器的信息。
可选地,该一个或多个模块可以具有如下功能:
当确定需要针对所述失败队列中的目标服务器的信息发起重试时,将相应目标服务器的信息写入重试队列。
可选地,该一个或多个模块可以具有如下功能:
按预设的最大发布机器数,先从所述重试队列中提取相应数量的目标服务器的信息写入发布队列;
若当前写入发布队列中的目标服务器的数量小于所述最大发布机器数,则继续从所述等待队列中提取相应数量的目标服务器的信息写入发布队列,返回所述步骤S2。
可选地,该一个或多个模块可以具有如下功能:
当确定需对所述失败队列中的目标服务器的信息不发起重试时,将相应服务器的信息写入跳过队列;
从所述等待队列中移除所述跳过队列中的服务器的信息。
可选地,该一个或多个模块可以具有如下功能:
当确定需要针对所述失败队列中的目标服务器的信息发起重试时,将所述失败队列中的目标服务器的信息写入等待队列,返回所述步骤S1。
可选地,该一个或多个模块可以具有如下功能:
当所述等待队列中没有服务器的信息时,结束所述应用程序数据的发布操作。
本申请实施例还提供了一种应用程序数据的发布系统,所述应用程序数据基于服务器集群进行发布,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
生成等待队列,发布队列,成功队列,以及,失败队列;
在所述等待队列中写入所述服务器集群中等待执行应用程序数据的发布操作的服务器的信息;
按预设的最大发布机器数,从所述等待队列中提取相应数量的目标服务器的信息写入发布队列;
基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列;以及,将操作失败的目标服务器的信息写入失败队列;
从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息。
可选地,该一个或多个模块可以具有如下功能:
判断写入失败队列的目标服务器的数量是否超过预设阈值;
若是,则中止执行应用程序数据的发布操作。
可选地,该一个或多个模块可以具有如下功能:
当确定需要针对所述失败队列中的目标服务器的信息发起重试时,将相应目标服务器的信息写入重试队列。
可选地,该一个或多个模块可以具有如下功能:
当确定需对所述失败队列中的目标服务器的信息不发起重试时,将相应服务器的信息写入跳过队列。
可选地,该一个或多个模块可以具有如下功能:
当需要执行应用程序数据的发布回滚操作时,提取所述成功队列,失败队列,重试队列,和/或,跳过队列中的服务器的信息,生成回滚队列;
基于所述回滚队列执行应用数据的发布操作,返回所述将操作成功的目标服务器的信息写入成功队列;以及,将操作失败的目标服务器的信息写入失败队列的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本公开的实施例可被实现为使用任意适当的硬件和/或软件进行想要的配置的系统。图11示意性地示出了可被用于实现本公开中所述的各个实施例的示例性系统600。
对于一个实施例,图11示出了示例性系统600,该系统具有一个或多个处理器602、被耦合到(一个或多个)处理器602中的至少一个的系统控制模块(芯片组)604、被耦合到系统控制模块604的系统存储器606、被耦合到系统控制模块604的非易失性存储器(NVM)/存储设备608、被耦合到系统控制模块604的一个或多个输入/输出设备610,以及被耦合到系统控制模块606的网络接口612。
处理器602可包括一个或多个单核或多核处理器,处理器602可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。
在一些实施例中,系统600可包括具有指令的一个或多个计算机可读介质(例如,系统存储器606或NVM/存储设备608)以及与该一个或多个计算机可读介质相合并被配置为执行指令以实现模块从而执行本公开中所述的动作的一个或多个处理器602。
对于一个实施例,系统控制模块604可包括任意适当的接口控制器,以向(一个或多个)处理器602中的至少一个和/或与系统控制模块604通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块604可包括存储器控制器模块,以向系统存储器606提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
系统存储器606可被用于例如为系统600加载和存储数据和/或指令。对于一个实施例,系统存储器606可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器606可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块604可包括一个或多个输入/输出控制器,以向NVM/存储设备608及(一个或多个)输入/输出设备610提供接口。
例如,NVM/存储设备608可被用于存储数据和/或指令。NVM/存储设备608可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备608可包括在物理上作为系统600被安装在其上的设备的一部分的存储资源,或者其可被该设备访问丽不必作为该设备的一部分。例如,NVM/存储设备608可通过网络经由(一个或多个)输入/输出设备610进行访问。
(一个或多个)输入/输出设备610可为系统600提供接口以与任意其他适当的设备通信,输入/输出设备610可以包括通信组件、音频组件、传感器组件等。网络接口612可为系统600提供接口以通过一个或多个网络通信,系统600可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合进行无线通信。
对于一个实施例,(一个或多个)处理器602中的至少一个可与系统控制模块604的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器602中的至少一个可与系统控制模块604的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器602中的至少一个可与系统控制模块604的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器602中的至少一个可与系统控制模块604的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统600可以但不限于是:服务器、服务器集群、云处理设备等。在各个实施例中,系统600可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统600包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
其中,如果显示器包括触摸面板,显示屏可以被实现为触屏显示器,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
本申请实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在终端设备时,可以使得该终端设备执行本申请实施例中各方法步骤的指令(instructions)。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种应用程序数据的发布方法、一种应用程序数据的发布装置和一种应用程序数据的发布系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (18)

1.一种应用程序数据的发布方法,其特征在于,所述应用程序数据基于服务器集群进行发布,所述的方法包括:
步骤S1,按预设的最大发布机器数,从所述服务器集群中提取相应数量的目标服务器的信息写入发布队列;
步骤S2,基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列,以及,将操作失败的目标服务器的信息写入失败队列;
步骤S3,从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息;返回所述步骤S1。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1包括:
按预设的最大发布机器数,从等待队列中提取相应数量的目标服务器的信息写入发布队列;所述等待队列中记录有所述服务器集群中等待执行应用程序数据的发布操作的服务器的信息。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
当确定需要针对所述失败队列中的目标服务器的信息发起重试时,将相应目标服务器的信息写入重试队列。
4.根据权利要求3所述的方法,其特征在于,还包括:
按预设的最大发布机器数,先从所述重试队列中提取相应数量的目标服务器的信息写入发布队列;
若当前写入发布队列中的目标服务器的数量小于所述最大发布机器数,则继续从所述等待队列中提取相应数量的目标服务器的信息写入发布队列,返回所述步骤S2。
5.根据权利要求1或2所述的方法,其特征在于,还包括:
当确定需对所述失败队列中的目标服务器的信息不发起重试时,将相应服务器的信息写入跳过队列。
6.根据权利要求2所述的方法,其特征在于,还包括:
当确定需要针对所述失败队列中的目标服务器的信息发起重试时,将所述失败队列中的目标服务器的信息写入等待队列,返回所述步骤S1。
7.根据权利要求2所述的方法,其特征在于,还包括:
当所述等待队列中没有服务器的信息时,结束所述应用程序数据的发布操作。
8.一种应用程序数据的发布方法,其特征在于,所述应用程序数据基于服务器集群进行发布,所述的方法包括:
生成等待队列,发布队列,成功队列,以及,失败队列;
在所述等待队列中写入所述服务器集群中等待执行应用程序数据的发布操作的服务器的信息;
按预设的最大发布机器数,从所述等待队列中提取相应数量的目标服务器的信息写入发布队列;
基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列;以及,将操作失败的目标服务器的信息写入失败队列;
从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息。
9.根据权利要求8所述的方法,其特征在于,还包括:
判断写入失败队列的目标服务器的数量是否超过预设阈值;
若是,则中止执行应用程序数据的发布操作。
10.根据权利要求8或9所述的方法,其特征在于,还包括:
当确定需要针对所述失败队列中的目标服务器的信息发起重试时,将相应目标服务器的信息写入重试队列。
11.根据权利要求10所述的方法,其特征在于,还包括:
当确定需对所述失败队列中的目标服务器的信息不发起重试时,将相应服务器的信息写入跳过队列。
12.根据权利要求8或9或11所述的方法,其特征在于,还包括:
当需要执行应用程序数据的发布回滚操作时,提取所述成功队列,失败队列,重试队列,和/或,跳过队列中的服务器的信息,生成回滚队列;
基于所述回滚队列执行应用数据的发布操作,返回所述将操作成功的目标服务器的信息写入成功队列;以及,将操作失败的目标服务器的信息写入失败队列的步骤。
13.一种应用程序数据的发布装置,其特征在于,所述应用程序数据基于服务器集群进行发布,所述的装置包括:
发布操作模块,用于按预设的最大发布机器数,从所述服务器集群中提取相应数量的目标服务器的信息写入发布队列;操作结果处理模块,用于基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列,以及,将操作失败的目标服务器的信息写入失败队列;
移除模块,用于从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息后,调用所述发布操作模块。
14.一种应用程序数据的发布装置,其特征在于,所述应用程序数据基于服务器集群进行发布,所述的装置包括:
队列生成模块,用于生成等待队列,发布队列,成功队列,以及,失败队列;
等待队列控制模块,用于在所述等待队列中写入所述服务器集群中等待执行应用程序数据的发布操作的服务器的信息;
发布队列控制模块,用于按预设的最大发布机器数,从所述等待队列中提取相应数量的目标服务器的信息写入发布队列;
成功及失败队列控制模块,用于基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列;以及,将操作失败的目标服务器的信息写入失败队列;
移除模块,用于从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息。
15.一种应用程序数据的发布系统,其特征在于,所述应用程序数据基于服务器集群进行发布,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
步骤S1,按预设的最大发布机器数,从所述服务器集群中提取相应数量的目标服务器的信息写入发布队列;所述目标服务器为当前执行应用程序数据的发布操作的服务器,用于执行应用程序数据的发布操作;
步骤S2,将执行应用程序数据的发布操作成功的目标服务器的信息写入成功队列,以及,将执行应用程序数据的发布操作失败的目标服务器的信息写入失败队列;
步骤S3,从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息;返回所述步骤S1。
16.一种应用程序数据的发布系统,其特征在于,所述应用程序数据基于服务器集群进行发布,所述系统包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,所述一个或多个模块具有如下功能:
生成等待队列,发布队列,成功队列,以及,失败队列;
在所述等待队列中写入所述服务器集群中等待执行应用程序数据的发布操作的服务器的信息;
按预设的最大发布机器数,从所述等待队列中提取相应数量的目标服务器的信息写入发布队列;
基于所述发布队列调用相应的目标服务器执行应用数据的发布操作,将操作成功的目标服务器的信息写入成功队列;以及,将操作失败的目标服务器的信息写入失败队列;
从所述发布队列中移除已写入所述成功队列或失败队列的目标服务器的信息。
17.一种装置,其特征在于,包括:
一个或多个处理器;和
其上存储的一个或多个计算机可读介质中的指令,由所述一个或多个处理器执行时,导致所述装置执行如权利要求1-7,8-12的方法。
18.一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行的权利要求1-7,8-12的方法。
CN201611111480.4A 2016-12-02 2016-12-02 一种应用程序数据的发布方法、装置和系统 Active CN108156208B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611111480.4A CN108156208B (zh) 2016-12-02 2016-12-02 一种应用程序数据的发布方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611111480.4A CN108156208B (zh) 2016-12-02 2016-12-02 一种应用程序数据的发布方法、装置和系统

Publications (2)

Publication Number Publication Date
CN108156208A true CN108156208A (zh) 2018-06-12
CN108156208B CN108156208B (zh) 2022-02-25

Family

ID=62468549

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611111480.4A Active CN108156208B (zh) 2016-12-02 2016-12-02 一种应用程序数据的发布方法、装置和系统

Country Status (1)

Country Link
CN (1) CN108156208B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109245941A (zh) * 2018-10-15 2019-01-18 传化智联股份有限公司 一种服务补偿方法及装置
CN109617988A (zh) * 2018-12-28 2019-04-12 平安科技(深圳)有限公司 请求重试方法及相关产品
CN110535939A (zh) * 2019-08-29 2019-12-03 深圳前海环融联易信息科技服务有限公司 一种服务发现与抢占方法、装置、计算机设备及存储介质
CN112540772A (zh) * 2020-12-23 2021-03-23 京东方科技集团股份有限公司 应用发布方法及其系统、电子设备、存储介质
CN113094066A (zh) * 2021-03-16 2021-07-09 北京优奥创思科技发展有限公司 一种多服务器代码发布方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070276934A1 (en) * 2006-05-25 2007-11-29 Fuji Xerox Co., Ltd. Networked queuing system and method for distributed collaborative clusters of services
US20080253387A1 (en) * 2007-03-30 2008-10-16 International Business Machines Corporation Method and apparatus for improving SIP server performance
US20100083253A1 (en) * 2008-09-30 2010-04-01 Verizon Data Services Llc Task management system
WO2012094303A1 (en) * 2011-01-05 2012-07-12 Alibaba Group Holding Limited Upgrading an elastic computing cloud system
CN102752394A (zh) * 2012-07-13 2012-10-24 携程计算机技术(上海)有限公司 面向集群站点的发布控制方法和系统
CN102946413A (zh) * 2012-10-17 2013-02-27 北京搜狐新媒体信息技术有限公司 虚拟机调度和执行部署过程中的资源预处理方法及系统
CN103023938A (zh) * 2011-09-26 2013-04-03 阿里巴巴集团控股有限公司 一种服务器集群的服务能力控制方法和系统
CN103500120A (zh) * 2013-09-17 2014-01-08 北京思特奇信息技术股份有限公司 基于多线程异步双写的分布式缓存高可用处理方法及系统
CN103534987A (zh) * 2011-06-07 2014-01-22 国际商业机器公司 虚拟网络配置和管理
CN104378394A (zh) * 2013-08-14 2015-02-25 阿里巴巴集团控股有限公司 一种服务器集群文件的更新方法及装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070276934A1 (en) * 2006-05-25 2007-11-29 Fuji Xerox Co., Ltd. Networked queuing system and method for distributed collaborative clusters of services
US20080253387A1 (en) * 2007-03-30 2008-10-16 International Business Machines Corporation Method and apparatus for improving SIP server performance
US20100083253A1 (en) * 2008-09-30 2010-04-01 Verizon Data Services Llc Task management system
WO2012094303A1 (en) * 2011-01-05 2012-07-12 Alibaba Group Holding Limited Upgrading an elastic computing cloud system
CN103534987A (zh) * 2011-06-07 2014-01-22 国际商业机器公司 虚拟网络配置和管理
CN103023938A (zh) * 2011-09-26 2013-04-03 阿里巴巴集团控股有限公司 一种服务器集群的服务能力控制方法和系统
CN102752394A (zh) * 2012-07-13 2012-10-24 携程计算机技术(上海)有限公司 面向集群站点的发布控制方法和系统
CN102946413A (zh) * 2012-10-17 2013-02-27 北京搜狐新媒体信息技术有限公司 虚拟机调度和执行部署过程中的资源预处理方法及系统
CN104378394A (zh) * 2013-08-14 2015-02-25 阿里巴巴集团控股有限公司 一种服务器集群文件的更新方法及装置
CN103500120A (zh) * 2013-09-17 2014-01-08 北京思特奇信息技术股份有限公司 基于多线程异步双写的分布式缓存高可用处理方法及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109245941A (zh) * 2018-10-15 2019-01-18 传化智联股份有限公司 一种服务补偿方法及装置
CN109245941B (zh) * 2018-10-15 2022-05-31 传化智联股份有限公司 一种服务补偿方法及装置
CN109617988A (zh) * 2018-12-28 2019-04-12 平安科技(深圳)有限公司 请求重试方法及相关产品
CN110535939A (zh) * 2019-08-29 2019-12-03 深圳前海环融联易信息科技服务有限公司 一种服务发现与抢占方法、装置、计算机设备及存储介质
CN110535939B (zh) * 2019-08-29 2022-02-11 深圳前海环融联易信息科技服务有限公司 一种服务发现与抢占方法、装置、计算机设备及存储介质
CN112540772A (zh) * 2020-12-23 2021-03-23 京东方科技集团股份有限公司 应用发布方法及其系统、电子设备、存储介质
CN112540772B (zh) * 2020-12-23 2024-06-18 京东方科技集团股份有限公司 应用发布方法及其系统、电子设备、存储介质
CN113094066A (zh) * 2021-03-16 2021-07-09 北京优奥创思科技发展有限公司 一种多服务器代码发布方法及系统
CN113094066B (zh) * 2021-03-16 2024-03-26 北京优奥创思科技发展有限公司 一种多服务器代码发布方法及系统

Also Published As

Publication number Publication date
CN108156208B (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
CN108156208A (zh) 一种应用程序数据的发布方法、装置和系统
KR102323333B1 (ko) 애플리케이션 데이터 프로세싱 방법 및 장치, 및 저장 매체
US10572285B2 (en) Method and apparatus for elastically scaling virtual machine cluster
CN106056529B (zh) 一种对用于图片识别的卷积神经网络训练的方法与设备
CN106168885B (zh) 一种基于lvm的逻辑卷动态扩容的方法及系统
CN108984264A (zh) 虚拟gpu的实现方法、装置及系统
CN107395665A (zh) 一种区块链业务受理及业务共识方法及装置
CN110502340A (zh) 一种资源动态调整方法、装置、设备及存储介质
CN107908336B (zh) 列表控件的刷新方法、装置、存储介质及终端
CN103760966A (zh) 一种实现图形缓冲的方法
CN106502699A (zh) 一种应用页面处理方法、装置及系统
CN106716357A (zh) 多系统移动终端的控制方法、控制装置及电子设备
CN105492997B (zh) 优化服务器/机架系统的启动时的峰值功耗
CN108134766A (zh) 一种服务发布的方法、装置、系统、服务器及客户端
CN104536869A (zh) 移动终端及其资源管理方法
CN108319524A (zh) 一种基板管理控制器通过kvm挂载文件夹的方法及装置
CN110007858A (zh) 存储空间分配方法及装置
CN105094811A (zh) 一种事件处理的方法和装置
CN106708478B (zh) 滚动视图显示方法及装置
US9612734B1 (en) Random access browser scrolling for large pages
CN103561089B (zh) 虚拟机桌面登录方法、装置及系统
CN109800074A (zh) 任务数据并发执行方法、装置以及电子设备
CN110034994A (zh) 用于虚拟专有云服务的系统和虚拟专有云服务的实现方法
CN110297708A (zh) 一种出票处理及调度的方法、服务器及出票平台
CN116483274A (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