CN103580887B - 客户端、升级方法及系统 - Google Patents
客户端、升级方法及系统 Download PDFInfo
- Publication number
- CN103580887B CN103580887B CN201210259672.5A CN201210259672A CN103580887B CN 103580887 B CN103580887 B CN 103580887B CN 201210259672 A CN201210259672 A CN 201210259672A CN 103580887 B CN103580887 B CN 103580887B
- Authority
- CN
- China
- Prior art keywords
- client
- numbering
- update time
- upgrade
- divided
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种客户端、升级方法及系统,在客户端的升级过程中,根据各客户端的编号确定各客户端的升级时间,由于各客户端的编号一般不同,更利于在更新周期内根据各客户端的编号确定各客户端在该周期内的更新次序,使各客户端在该周期内采用更合理的时分复用方式使用服务器;而并非现有的统一设定各客户端在同一时刻发起升级;因此可避免现有升级过程中因所有客户端集中在同一时刻发起升级导致服务器故障的问题;使在升级过程中,服务器的资源利用更合理,升级的成功率更高,提高了升级的可靠性。
Description
技术领域
本发明涉及通信领域,具体涉及一种客户端、升级方法及系统。
背景技术
随着电子技术的飞速发展,电子设备的种类和数量都急剧上升,产品推出周期较以前短了许多。如此众多的产品快速上市,对售后服务提出了一种很大的挑战,一种新型的售后方式就此应运而生――在线软件升级。在电子设备售出之后,当发现一些通过升级软件能够解决的设备故障或者设备功能缺陷时,厂家往往通过有线或者无线网络在线升级设备软件的方式来修复设备故障。同时,也可以通过这种在线软件升级的方式来发布新的功能给已有用户使用,以此提升用户体验。这种在线升级方案一般采用C/S模式(客户端/服务器模式)。厂家建立一个升级服务器,将软件升级需要的数据放在服务器上;已售设备作为客户端通过网络连接到该服务器,下载相应的升级数据并执行升级命令实现软件升级。
这种升级一般可以通过3种方式触发:
用户触发
用户操作客户端,让客户端连接服务器进行软件升级;
服务器触发
当有新的升级版本时,服务器通知设备,设备连接到服务器进行软件升级。
设备触发:
设备主动周期性连接服务器进行软件升级。比如设备每周自动连接服务器进行一次软件升级;设备每月自动连接服务器进行一次软件升级等。
现有的客户端主动周期性触发升级的方案为:
在软件代码里写入固定升级周期和发起升级的时间,到了指定时间后设备自动触发升级。例如,在代码里设定升级周期为一周,具体升级时间为每周星期一的00点00分00秒。这样,在每周星期一的00点00分00秒,设备将主动连接服务器进行软件升级。由于出厂时同一种型号的所有设备的软件都是一样的,升级周期和发起升级的时间也是一样的,这样会带来一个问题,在同一时间该型号的所有已售设备将同时连接服务器。就上面的例子来说,如果已售设备10000台,这10000台设备都将在每周星期一00点00分00秒连接服务器进行升级,服务器将会因为超过最大连接数而无响应;而过了这个时间段后,服务器将一直闲置,直到下一个升级周期的到来。很明显,这种对服务器资源访问在同一时间段瞬间爆发,会导致服务器故障,进而导致升级失败;且服务器在升级周期的其它时间完全闲置,子资源分配非常不合理,降低了升级的可靠性。
发明内容
本发明要解决的主要技术问题是,提供一种客户端、升级方法及系统,解决现有升级过程中因所有客户端集中在同一时刻发起升级导致服务器故障、资源分配不合理、可靠性低的问题。
为解决上述技术问题,本发明提供一种升级方法,在升级过程中,根据客户端的编号确定客户端的升级时间。
在本发明的一种实施例中,所述根据客户端的编号确定客户端的升级时间包括:
获取客户端的编号,并获取升级参数;
根据获取的客户端编号结合所述升级参数确定客户端的升级时间;
在确定客户端的升级时间后,还包括:
客户端的升级时间到达时,客户端向服务器发送升级请求。
在本发明的一种实施例中,所述获取客户端的编号和升级参数包括:第一客户端获取自身的编号,并获取升级参数;
根据获取的客户端编号结合所述升级参数确定客户端的升级时间包括:所述第一客户端根据获取的所述升级参数得到升级时间基数;根据所述升级时间基数和自身的编号确定自身的升级时间;
所述客户端升级时间到达时,客户端向服务器发送升级请求包括:所述第一客户端判断其升级时间到达时,向所述服务器发送升级请求。
在本发明的一种实施例中,所述第一客户端获取的升级参数包括:升级周期T、客户端升级所需要的时间t1,需要升级的客户端总数N;
所述根据获取的所述升级参数得到升级时间基数包括:所述第一客户端将所述T除以N,得到所述升级时间基数;
所述根据所述升级时间基数和所述第一客户端自身的编号确定所述第一客户端的升级时间包括:所述第一客户端判断若所述升级时间基数的值大于等于所述t1,则确定其升级时间为其编号乘以所述升级时间基数。
在本发明的一种实施例中,所述获取客户端的编号和升级参数包括:第一客户端获取自身的编号以及其他客户端的编号,并获取升级参数;
根据获取的客户端编号结合所述升级参数确定客户端的升级时间包括:所述第一客户端根据获取的所述升级参数得到升级时间基数;根据所述升级时间基数和所述编号确定客户端的升级时间;
所述客户端升级时间到达时,客户端向服务器发送升级请求包括:所述第一客户端判断其升级时间到达时,向所述服务器发送升级请求。
在本发明的一种实施例中,所述第一客户端获取的升级参数包括:升级周期T、客户端升级所需要的时
间t1、需要升级的客户端的总数N,同一时间所述服务器能够承受的最大连接数Nmax;
所述根据获取的所述升级参数得到升级时间基数包括:所述第一客户端将所述T除以所述t1得到所述升级时间基数L,所述升级时间基数L表示将所述T划分成1、2、……、L共L个t1;
所述根据所述升级时间基数和所述编号确定客户端的升级时间包括:所述
第一客户端判断若所述N除以升级时间基数的值小于等于所述Nmax,则根据所述编号将各客户端分成多个组,分成的组数小于等于所述升级时间基数,每组的客户端数小于等于所述N除以升级时间基数的值,一个组内的客户端的升级时间对应一个编号为j的t1,j的值大于等于1,小于等于L。
在本发明的一种实施例中,所述第一客户端根据所述编号将各客户端分成多个组包括:所述第一客户端将客户端的编号除以所述L,并取余数,所述余数为该客户端所在的组的组号。
在本发明的一种实施例中,若所述升级时间基数的值小于所述t1,则更新所述T的值;使更新后的T的值满足得到升级时间基数的值大于等于所述t1。
在本发明的一种实施例中,若所述N除以升级时间基数的值大于所述Nmax,则更新所述T和/或Nmax的值;使更新后的T和/或Nmax的值满足所述N除以升级时间基数的值小于等于所述Nmax。
在本发明的一种实施例中,所述客户端的编号为客户端的ID号,或客户端的ID号中可以唯一标识该客户端的部分字段,或根据所述ID号或所述部分字段采用预设的算法得到的数字编号。
本发明还提供了一种客户端,所述客户端包括第一编号获取模块和第一升级模块;
所述第一编号获取模块用于获取所述客户端自身的编号,或获取所述客户
端自身的编号和其他客户端的编号,并将获取的编号发送给所述第一升级模块;
所述第一升级模块用于根据接收到的客户端的编号确定所述客户端自身升级时间,或确定所述客户端自身的升级时间和其他客户端升级的时间;还用于在升级时间到达时,向服务器发送升级请求。
在本发明的一种实施例中,所述第一编号获取模块还用于获取升级参数;所述第一升级模块根据接收到的客户端的编号确定所述客户端自身升级时间,或确定所述客户端自身的升级时间和其他客户端升级的时间具体为:根据接收到的客户端的编号结合所述升级参数确定所述客户端自身升级时间,或确定所述客户端自身的升级时间和其他客户端升级的时间。
在本发明的一种实施例中,所述第一编号获取模块获取的升级参数包括升级周期T、客户端升级所需要的时间t1,需要升级的客户端总数N;
所述第一升级模块根据接收到的客户端的编号结合所述升级参数确定所述
客户端自身升级时间包括:所述第一升级模块将所述T除以所述N,得到升级时间基数;判断若所述升级时间基数的值大于等于所述t1,则确定所述客户端自身升级时间为其编号乘以所述升级时间基数。
在本发明的一种实施例中,所述第一编号获取模块获取的升级参数包括升级周期T、客户端升级所需要的时间t1,需要升级的客户端总数N;同一时间所述服务器能够承受的最大连接数Nmax;
所述第一升级模块根据接收到的客户端的编号结合所述升级参数确定所述
客户端自身和其他客户端的升级时间包括:所述第一升级模块将T除以所述t1得到所述升级时间基数L,所述升级时间基数L表示将所述T划分成所述T划分成1、2、……、L共L个t1;判断若所述N除以升级时间基数的值小于等于所述Nmax,则根据所述编号将各客户端分成多个组,分成的组数小于等于所述升级时间基数,每组的客户端数小于等于所述N除以升级时间基数的值,一个组内的客户端的升级时间对应一个编号为j的t1,j的值大于等于1,小于等于L-1。
本发明还提供了一种升级系统,包括服务器和至少一个如上所述客户端;所述客户端通过与所述服务器通信完成升级。
本发明的有益效果是:
本发明提供的客户端、升级方法及系统,在客户端的升级过程中,根据各客户端的编号确定各客户端的升级时间,由于各客户端的编号一般不同,更利于在更新周期内根据各客户端的编号确定各客户端在该周期内的更新次序,使各客户端在该周期内采用更合理的时分复用方式使用服务器;而并非现有的统一设定各客户端在同一时刻发起升级;因此可避免现有升级过程中因所有客户端集中在同一时刻发起升级导致服务器故障的问题;使在升级过程中,服务器的资源利用更合理,升级的成功率更高,提高了升级的可靠性。
附图说明
图1为本发明实施例一中的升级系统框图;
图2为本发明实施例一中的第一客户端的结构框图;
图3为本发明实施例一中的服务器的结构框图;
图4为本发明实施例二中的客户端触发升级流程的结构示意图;
图5为本发明实施例二中的服务器触发升级流程的结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
实施例一:
本实施例中的升级框图请参考图1,包括服务器和至少一个客户端,其中服务器为用于为各客户端升级所用的服务器,其数量可根据实际情况(例如客户端的数量)选择设置,本是实施例中以设置一个为例进行说明;客户端的数量一般为多个,分别以客户端1、客户端2、……、客户端N表示。值得注意的是,本升级系统在升级过程中,根据各客户端的编号来确定各客户端的升级时间;由于各客户端的编号一般不同(例如具体可采用客户端的ID号,或客户端的ID号中可以唯一标识该客户端的部分字段,或根据所述ID号或所述部分字段采用预设的算法得到的数字编号等,下面客户端的编号用ID-i表示,i大于等于1,小于等于N),更利于在更新周期内根据各客户端的编号确定各客户端在该周期内的更新次序,使各客户端在该周期内采用更合理的时分复用方式使用服务器;而并非现有的统一设定各客户端在同一时刻发起升级;可避免现有升级过程中因服务器的连接数超过了其最大的连接数而导致服务器故障的问题,进而导致升级失败;因此,本升级系统在升级过程中,服务器的资源利用更合理,升级的成功率更高,提高了升级的可靠性。
本实施例中,具体可由客户端确定升级时间,根据确定的升级时间触发升级流程;也可由服务器确定各客户端的升级时间,根据确定的升级时间触发升级流程,下面分别以上述两种情况为例进行说明:
一、客户端触发的情况:
请参见图2,图2所示的客户端为客户端1、客户端2、……、客户端N中的任意一个客户端i,称之为第一客户端。第一客户端包括第一编号获取模块和第一升级模块,其中,
第一编号获取模块用于获取第一客户端自身的编号ID-i,或获取第一客端自身的编号ID-i和其他客户端的编号,并将获取的编号发送给第一升级模块;
第一升级模块用于根据接收到的客户端的编号确定第一客户端自身升级时间,或确定第一客户端自身的升级时间和其他客户端升级的时间;还用于在第一升级模块时,向服务器发送升级请求。
即,本实施例中的第一客户端既可只确定自身的升级时间,也可同时确定自身的升级时间和其他客户端的升级时间。下面分别具体详细说明:
(一)第一客户端只确定自身升级时间:
第一编号获取模块用于获取第一客户端自身的编号ID-i,而不获取其他客户端的编号时,第一升级模块接收到的编号也只有第一客户端自身的编号;然后第一编号获取模块还获取升级参数,且获取升级参数步骤和获取客户端编号的步骤并无严格的时序限制;第一升级模块根据接收到的第一客户端的编号结合所述升级参数确定第一客户端自身升级时间。本实施例中,第一编号获取模块获取的升级参数包括升级周期T、客户端升级所需要的时间t1,需要升级的客户端总数N;第一升级模块根据第一客户端的编号结合升级参数确定第一客户端升级的时间包括:第一升级模块将T除以N,得到升级时间基数,即所述升级时间基数为T/N;第一升级模块判断,若升级时间基数的值大于等于所述t1,则确定第一客户端自身升级时间t-ID-i为其编号乘以升级时间基数,即ID-i*T/N,表示第一客户端在第i个时间片段升级。值得注意的是,本实施例中各客户端的升级时间是指在当前升级周期中,各客户端的升级顺序。在该方案中,将当前的升级周期T划分成了N各时间片,即T/N;各客户端根据上述方案确定在相应的时间片连接到服务器进行升级,请参见表1所示,即编号为1的客户端在第1个时间片内升级,以此类推,编号为N的客户端在第N个时间片内升级。从而实现了各终端通过时分复用的方式共享服务器。
表1
例如:
设升级周期T为1周(T=10080分钟);服务器能够承受最大连接数为10;客户端总数N=1008,编号为00001~01008,一次升级需要t1=1分钟(在这期间客户端与服务器要一直保持连接)。
通过计算可知:10080/1008=10,大于1分钟,则:
编号=00001的客户端发起升级时间为:周一的00:00:00;
编号=00002的客户端发起升级时间为:周一的00:10:00;
编号=00500的客户端发起升级时间为:周四的11:20:00;
编号=01007的客户端发起升级时间为:周日的23:40:00;
编号=01008的客户端发起升级时间为:周日的23:50:00。
在上述方案中,第一编号获取模块除了获取第一客户端的编号外,还可获取其他所有要升级的客户端的编号,具体可通过从相应的服务器上获取;第一升级模块接收到其他客户端的编号后,则可根据得到的上述升级时间基数值确定其他客户端的升级时间,然后通过网络或其他路径传送给其他客户端,其他客户端则可直接接收第一客户端发送的信息确定其升级时间。
值得注意的是,当第一升级模块判断升级时间基数的值大于等于所述t1时,则可将升级周期T进行更新,即延长T的值,使根据T计算得到的升级时间基数的值大于等于所述t1即可。当然,也可不对其进行更新,此时在该周期内则可能只有部分客户端能完成升级。
当然,升级过程中没有周期而是可以实时的升级或者随机升级时,可以直接根据各终端的编号确定各终端的升级时间,不需要获取升级参数。
(二)第一客户端确定自身升级时间和其他客户端的升级时间:
第一编号获取模块用于获取第一客户端自身的编号ID-i,也获取其他客户端的编号,第一升级模块接收到的编号有第一客户端自身的编号和其他客户端的编号;然后第一编号获取模块还获取升级参数;第一升级模块根据接收到的编号结合所述升级参数确定第一客户端自身升级时间。本实施例中,第一编号获取模块获取的升级参数包括升级周期T、客户端升级所需要的时间t1,需要升级的客户端总数N;同一时间服务器能够承受的最大连接数Nmax(即同一时间能够承受与之连接的客户端的数量);第一升级模块根据接收到的客户端的编号结合所述升级参数确定所述客户端自身和其他客户端的升级时间包括:第一升级模块将T除以t1得到所述升级时间基数L,所述升级时间基数L表示将所述T划分成所述T划分成1、……、L共L个t1;判断若N除以升级时间基数的值小于等于Nmax,即N/(T/t1)小于等于Nmax,则根据各客户端的编号将各客户端分成多个组,分成的组数小于等于升级时间基数,即小于等于L组,每组的客户端数小于等于N除以升级时间基数的值,一个组内的客户端的升级时间对应一个编号为j的时间片t1,j的值大于等于1,小于等于L。该方案中,将升级周期T划分成L个时间片,在同一时间片内有小于等于Nmax的客户端同时向服务器发起升级,具体的,根据各客户端的编号对各客户端分组的过程可如下:第一客升级模块根据将客户端的编号除以L,并取余数,所述余数为该客户端所在的组的组号;余数为0时可表示为L组,具体如表2所示:编号为1、L+1、……、mL的客户端在第一个时间片t1内连接服务器升级;以此类推,编号为3、L+3、……、(m-1)*L+3、N的客户端在第三个时间片t1内连接服务器升级。
表2
例如:
升级周期T为1周(T=10080分钟);服务器能够承受最大连接数为11;
客户端总数N=100800,编号为0000001~0100800,一次升级需要t1=1分钟(在这期间客户端与服务器要一直保持连接)。
通过计算可知:100800/(10080/1)=10,小于服务器最大连接数11,则:
编号=000001、010081、020161、030241、040321、050401、060481、070561、080641、090721的客户端发起升级时间为:周一的00:00:00;
编号=000002、010082、020162、030242、040322、050402、060482、070562、080642、090722的客户端发起升级时间为:周一的00:01:00;
…….
编号=005000、015080、025160、035240、045320、055400、065480、075560、085640、095720的客户端发起升级时间为:周四的11:20:00;
…….
编号=010080、020160、030240、040320、050400、060480、070560、080640、090720、010080的客户端发起升级时间为:周日的23:50:00。
在上述方案中,第一编号获取模块既确定了第一客户端的升级时间,也确定了其他客户端的时间。值得注意的是,当第一升级模块判断所述N除以升级时间基数的值大于所述Nmax时,则可更新所述T和/或Nmax的值;使更新后的T和/或Nmax的值满足所述N除以升级时间基数的值小于等于所述Nmax。当然,也可不对其进行更新,此时在该周期内则可能只有部分客户端能完成升级。
当然,升级过程中没有周期而是可以实时的升级或者随机升级时,也可以直接根据各终端的编号确定各终端的升级时间,不需要获取升级参数。二、服务器触发的情况:
请参见图3,图3所示的服务器包括第二编号获取模块和第二升级模块,其中,
第二编号获取模块用于获取客户端的编号,应当理解的是,此处获取的客户端的编号可为所有要升级的客户端的编号,也可只为其中一个或多个客户端的编号,本实施例中以获取所有客户端的编号为例进行说明;第二编号获取模块还将获取的编号发送给第二升级模块;
第二升级模块用于根据接收到的客户端的编号确定户端的升级时间,还用于在客户端的升级时间到达时,向客户端发送升级通知,通知该客户端发起升级流程。
下面仍以服务器的两种确定客户端的升级时间为例进行说明:
第二编号获取模块各客户端的编号并获取升级参数;第二升级模块根据接收到的第二客户端的编号结合所述升级参数确定客户端的升级时间。本实施例中,第二编号获取模块获取的升级参数包括升级周期T、客户端升级所需要的时间t1,需要升级的客户端总数N;第二升级模块根据第二客户端的编号结合升级参数确定第二客户端升级的时间包括:第二升级模块将T除以N,得到升级时间基数,即所述升级时间基数为T/N;第二升级模块判断,若升级时间基数的值大于等于所述t1,则确定第二客户端自身升级时间t-ID-i为其编号乘以升级时间基数,即ID-i*T/N,表示第二客户端在第i个时间片段升级。值得注意的是,本实施例中各客户端的升级时间是指在当前升级周期中,各客户端的升级顺序。在该方案中,将当前的升级周期T划分成了N各时间片,即T/N;各客户端根据上述方案确定在相应的时间片连接到服务器进行升级,仍请参见上表1所示,即编号为1的客户端在第1个时间片内升级,以此类推,编号为N的客户端在第N个时间片内升级。从而实现了各终端通过时分复用的方式共享服务器。
值得注意的是,当第二升级模块判断升级时间基数的值大于等于所述t1时,同样可将升级周期T进行更新,即延长T的值,使根据T计算得到的升级时间基数的值大于等于所述t1即可。当然,也可不对其进行更新,此时在该周期内则可能只有部分客户端能完成升级。
服务器还可按以下方式确定各客户端的升级时间:
第二编号获取模块用于获取客户端编号和升级参数;第二升级模块根据接收到的编号结合所述升级参数确定第二客户端自身升级时间。本实施例中,第二编号获取模块获取的升级参数包括升级周期T、客户端升级所需要的时间t1,需要升级的客户端总数N;同一时间服务器能够承受的最大连接数Nmax(即同一时间能够承受与之连接的客户端的数量);第二升级模块根据接收到的客户端的编号结合所述升级参数确定所述客户端自身和其他客户端的升级时间包括:第二升级模块将T除以t1得到所述升级时间基数L,所述升级时间基数L表示将所述T划分成所述T划分成1、……、L共L个t1;判断若N除以升级时间基数的值小于等于Nmax,即N/(T/t1)小于等于Nmax,则根据各客户端的编号将各客户端分成多个组,分成的组数小于等于升级时间基数,即小于等于L组,每组的客户端数小于等于N除以升级时间基数的值,一个组内的客户端的升级时间对应一个编号为j的时间片t1,j的值大于等于1,小于等于L。该方案中,将升级周期T划分成L个时间片,在同一时间片内有小于等于Nmax的客户端同时向服务器发起升级,具体的,根据各客户端的编号对各客户端分组的过程可如下:第二客升级模块根据将客户端的编号除以L,并取余数,所述余数为该客户端所在的组的组号;余数为0时可表示为L组,仍请参见上述表2所示:编号为1、L+1、……、mL的客户端在第二个时间片t1内连接服务器升级;以此类推,编号为3、L+3、……、(m-1)*L+3、N的客户端在第三个时间片t1内连接服务器升级。
值得注意的是,当第二升级模块判断所述N除以升级时间基数的值大于所述Nmax时,则刻更新所述T和/或Nmax的值;使更新后的T和/或Nmax的值满足所述N除以升级时间基数的值小于等于所述Nmax。当然,也可不对其进行更新,此时在该周期内则可能只有部分客户端能完成升级。
当然,升级过程中没有周期而是可以实时的升级或者随机升级时,也可以直接根据各终端的编号确定各终端的升级时间,不需要获取升级参数。
实施例二:
为了更好的理解本发明,下面结合升级过程中的方法流程对本发明做进一步说明;且由上可知,该方法流程主要包括:
确定客户端的升级时间:该步骤包括获取客户端的编号,并获取升级参数;根据获取的客户端编号结合升级参数确定客户端的升级时间;
监测客户端的升级时间是否到达,如是,则户端向服务器发送升级请求。
由于本发明中升级流程可由客户端触发,也可由服务器触发,下面仍分别以客户端触发和服务器触发为例进行说明:
一:客户端触发升级流程
请参见图4所示,具体可包括以下步骤:
步骤401:编号为ID-j的客户端采用实施利一中的方法确定在当前更新周期内自身的升级时间;
步骤402:编号为ID-j的客户端判断其升级时间是否到达,如是,则转至步骤403;否则,继续判断;
步骤403:编号为ID-j的客户端判断在当前周期内其连接次数是否超过了最大重试次数;如是,转到步骤410;否则;转至步骤404;
步骤404:编号为ID-j的客户端向服务器发送升级请求;
步骤405:编号为ID-j的客户端判断服务器是否返回立即升级的指令;如是,转至步骤409;否则,转至步骤406;
步骤406:编号为ID-j的客户端判断服务器是否指定了延时连接时间;如是,转至步骤407;否则,转至步骤408;
步骤407:编号为ID-j的客户端延时服务器指定的延时连接时间后(该延时连接时间可根据升级周期T和/或升级时间基数具体确定),转至步骤403;
步骤408:编号为ID-j的客户端延时默认时间后,转至步骤403;
步骤409:编号为ID-j的客户端连接到服务器进行升级;
步骤410:流程结束。
二:服务器触发升级流程
请参见图5所示,具体可包括以下步骤:
步骤501:服务器采用实施利一中的方法确定编号为ID-j的客户端在当前更新周期内自身的升级时间;
步骤502:服务器判断编号为ID-j的客户端的升级时间是否到达,如是,则转至步骤503;否则,继续判断;
步骤503:服务器向编号为ID-j的客户端发送升级通知;
步骤504:编号为ID-j的客户端收到该升级通知后,判断在当前周期内其连接次数是否超过了最大重试次数;如是,转到步骤511;否则;转至步骤505;
步骤505:编号为ID-j的客户端向服务器发送升级请求;
步骤506:编号为ID-j的客户端判断服务器是否返回立即升级的指令;如是,转至步骤510;否则,转至步骤507;
步骤507:编号为ID-j的客户端判断服务器是否指定了延时连接时间;如是,转至步骤508;否则,转至步骤509;
步骤508:编号为ID-j的客户端延时服务器指定的延时连接时间后(该延时连接时间可根据升级周期T和/或升级时间基数具体确定),转至步骤504;
步骤509:编号为ID-j的客户端延时默认时间后,转至步骤504;
步骤510:编号为ID-j的客户端连接到服务器进行升级;
步骤511:流程结束。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (12)
1.一种升级方法,其特征在于,包括:
第一客户端获取自身的编号以及其他客户端的编号,并获取升级参数;
第一客户端根据获取的所述升级参数和所述编号确定客户端的升级时间;
所述第一客户端对所述客户端的升级时间进行计时监测,并在判断其升级时间到达时,向服务器发送升级请求。
2.如权利要求1所述的升级方法,其特征在于,
所述第一客户端获取的升级参数包括:升级周期T、客户端升级所需要的时间t1,需要升级的客户端总数N;
所述第一客户端根据获取的所述升级参数和所述编号确定客户端的升级时间包括:所述第一客户端将所述T除以N,得到升级时间基数;所述第一客户端判断若所述升级时间基数的值大于等于所述t1,则确定其升级时间为其编号乘以所述升级时间基数。
3.如权利要求1所述的升级方法,其特征在于,
所述第一客户端获取的升级参数包括:升级周期T、客户端升级所需要的时间t1、需要升级的客户端的总数N,同一时间所述服务器能够承受的最大连接数Nmax;
所述第一客户端根据获取的所述升级参数和所述编号确定客户端的升级时间包括:所述第一客户端将所述T除以所述t1得到所述升级时间基数,所述升级时间基数表示将所述T划分成1、2、……、L共L个t1;所述第一客户端判断若所述N除以升级时间基数的值小于等于所述Nmax,则根据所述编号将各客户端分成多个组,分成的组数小于等于所述升级时间基数,每组的客户端数小于等于所述N除以升级时间基数的值,一个组内的客户端的升级时间对应一个编号为j的t1,j的值大于等于1,小于等于L。
4.如权利要求3所述的升级方法,其特征在于,所述第一客户端根据所述编号将各客户端分成多个组包括:所述第一客户端将客户端的编号除以所述L,并取余数,所述余数为该客户端所在的组的组号。
5.如权利要求2所述的升级方法,其特征在于,若所述升级时间基数的值小于所述t1,则更新所述T的值;使更新后的T的值满足得到升级时间基数的值大于等于所述t1。
6.如权利要求3所述的升级方法,其特征在于,若所述N除以升级时间基数的值大于所述Nmax,则更新所述T和/或Nmax的值;使更新后的T和/或Nmax的值满足所述N除以升级时间基数的值小于等于所述Nmax。
7.如权利要求1-6任一项所述的升级方法,其特征在于,所述客户端的编号为客户端的ID号,或客户端的ID号中可以唯一标识该客户端的部分字段,或根据所述ID号或所述部分字段采用预设的算法得到的数字编号。
8.一种客户端,其特征在于,所述客户端包括第一编号获取模块和第一升级模块;
所述第一编号获取模块用于获取所述客户端自身的编号和其他客户端的编号,并将获取的编号发送给所述第一升级模块;
所述第一升级模块用于根据接收到的客户端的编号确定所述客户端自身的升级时间和其他客户端升级的时间;还用于将其他客户端的升级时间发送给相应的各客户端;以及对自身的升级时间进行计时监测,并在升级时间到达时,向服务器发送升级请求。
9.如权利要求8所述的客户端,其特征在于,所述第一编号获取模块还用于获取升级参数;所述第一升级模块根据接收到的客户端的编号确定所述客户端自身的升级时间和其他客户端升级的时间具体为:根据接收到的客户端的编号结合所述升级参数确定所述客户端自身的升级时间和其他客户端升级的时间。
10.如权利要求9所述的客户端,其特征在于,所述第一编号获取模块获取的升级参数包括升级周期T、客户端升级所需要的时间t1,需要升级的客户端总数N;
所述第一升级模块根据接收到的客户端的编号结合所述升级参数确定所述客户端自身的升级时间和其他客户端升级的时间包括:所述第一升级模块将所述T除以所述N,得到升级时间基数;判断若所述升级时间基数的值大于等于所述t1,则确定所述客户端升级时间为其编号乘以所述升级时间基数。
11.如权利要求9所述的客户端,其特征在于,所述第一编号获取模块获取的升级参数包括升级周期T、客户端升级所需要的时间t1,需要升级的客户端总数N;同一时间所述服务器能够承受的最大连接数Nmax;
所述第一升级模块根据接收到的客户端的编号结合所述升级参数确定所述客户端自身和其他客户端的升级时间包括:所述第一升级模块将T除以所述t1得到所述升级时间基数,所述升级时间基数表示将所述T划分成所述T划分成1、2、……、L共L个t1;判断若所述N除以升级时间基数的值小于等于所述Nmax,则根据所述编号将各客户端分成多个组,分成的组数小于等于所述升级时间基数,每组的客户端数小于等于所述N除以升级时间基数的值,一个组内的客户端的升级时间对应一个编号为j的t1,j的值大于等于1,小于等于L-1。
12.一种升级系统,其特征在于,包括服务器和至少一个如权利要求8-11任一项所述客户端;所述客户端通过与所述服务器通信完成升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210259672.5A CN103580887B (zh) | 2012-07-25 | 2012-07-25 | 客户端、升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210259672.5A CN103580887B (zh) | 2012-07-25 | 2012-07-25 | 客户端、升级方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103580887A CN103580887A (zh) | 2014-02-12 |
CN103580887B true CN103580887B (zh) | 2017-09-01 |
Family
ID=50051876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210259672.5A Active CN103580887B (zh) | 2012-07-25 | 2012-07-25 | 客户端、升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103580887B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106412696B (zh) * | 2016-09-20 | 2019-09-06 | 深圳Tcl数字技术有限公司 | 智能电视的系统升级方法及装置 |
CN108073408B (zh) * | 2016-11-15 | 2020-11-24 | 平安科技(深圳)有限公司 | 自助终端的系统更新方法和装置 |
CN107608688A (zh) * | 2017-07-28 | 2018-01-19 | 福建联迪商用设备有限公司 | 终端设备分时升级方法及计算机可读存储介质 |
CN109257219A (zh) * | 2018-09-21 | 2019-01-22 | Oppo广东移动通信有限公司 | 更新方法、装置、存储介质及服务器 |
CN109842524B (zh) * | 2019-02-18 | 2022-04-12 | 视联动力信息技术股份有限公司 | 自动升级方法、装置、电子设备及计算机可读存储介质 |
CN116896550B (zh) * | 2023-09-11 | 2023-11-21 | 东莞信宝电子产品检测有限公司 | 一种降低服务器压力的软件更新方法、系统和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1614933A (zh) * | 2003-11-05 | 2005-05-11 | 华为技术有限公司 | 升级系统设备的方法 |
CN102023877A (zh) * | 2009-09-17 | 2011-04-20 | 鸿富锦精密工业(深圳)有限公司 | 电子设备及在电子设备上升级软件的方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11313125A (ja) * | 1998-04-30 | 1999-11-09 | Kokusai Electric Co Ltd | ダウンロード方法及び中継接続装置 |
US20050235279A1 (en) * | 2004-04-14 | 2005-10-20 | Heng-Chien Chen | Method of updating software in a host-client network |
CN100458698C (zh) * | 2007-03-23 | 2009-02-04 | 东莞市太平洋计算机科技有限公司 | 有源rfid设备的程序升级方法 |
CN100515029C (zh) * | 2007-03-27 | 2009-07-15 | 天数宽频科技(上海)有限公司 | 对机顶盒下载器文件进行统一升级管理的系统 |
CN101184309A (zh) * | 2007-12-21 | 2008-05-21 | 深圳国人通信有限公司 | 直放站设备嵌入式系统远程升级方法 |
CN102253978B (zh) * | 2011-06-20 | 2013-04-17 | 浙江工业大学 | 基于混合蚁群算法的公交车载多媒体文件更新方法 |
CN103581227A (zh) * | 2012-07-25 | 2014-02-12 | 中兴通讯股份有限公司 | 服务器、升级方法及系统 |
-
2012
- 2012-07-25 CN CN201210259672.5A patent/CN103580887B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1614933A (zh) * | 2003-11-05 | 2005-05-11 | 华为技术有限公司 | 升级系统设备的方法 |
CN102023877A (zh) * | 2009-09-17 | 2011-04-20 | 鸿富锦精密工业(深圳)有限公司 | 电子设备及在电子设备上升级软件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103580887A (zh) | 2014-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103580887B (zh) | 客户端、升级方法及系统 | |
CN106469040B (zh) | 通信方法、服务器及设备 | |
CN112508205B (zh) | 一种联邦学习调度方法、装置及系统 | |
CN111726303B (zh) | 一种流量控制方法、装置以及计算设备 | |
CN106790726A (zh) | 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法 | |
EP2763036A1 (en) | Terminal inter-application network resource allocation method and device thereof | |
CN108259376A (zh) | 服务器集群业务流量的控制方法及相关设备 | |
CN109150987A (zh) | 基于主机层和容器层的两层式容器集群弹性扩容方法 | |
CN106911592A (zh) | 一种自适应资源分配方法及装置 | |
CN107566910B (zh) | 直播资源自定义分配监测方法、存储介质、电子设备及系统 | |
CN106775936A (zh) | 一种虚拟机的管理方法及装置 | |
CN103002426A (zh) | 一种Preload模式PCC规则的控制方法及装置 | |
CN104426976B (zh) | 一种虚拟服务器集群在线更新装置及方法 | |
CN103179570B (zh) | 应用在分散式分时多工系统的资源分配方法与系统 | |
CN106713375A (zh) | 云资源的调配方法及装置 | |
CN110598110A (zh) | 业务推送方法和装置 | |
CN104125098B (zh) | 一种介质访问控制的自适应调整方法及系统 | |
CN109871273A (zh) | 一种自适应任务迁移方法及装置 | |
CN109461323A (zh) | 一种停车场管理方法、系统及存储介质 | |
CN108989549A (zh) | 一种用眼护眼数据采集方法 | |
JP2015226434A (ja) | 電力消費管理装置、電力消費管理システム、電力消費管理方法および電力消費管理プログラム | |
CN103581227A (zh) | 服务器、升级方法及系统 | |
CN108234143A (zh) | 一种直播时消息的处理方法、装置和设备 | |
CN110213213A (zh) | 应用的定时任务处理方法及系统 | |
CN108389387A (zh) | 一种共享公共自行车智能调度方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |