一种TMS应用下载自适应策略方法与流程

文档序号:13887211阅读:819来源:国知局

本发明涉及应用下载的策略方法,尤其涉及一种tms计算下载请求时间点的方法。



背景技术:

在pos端新装机应用初始化或某些应用存在必要的更新时,可能会通过tms(terminalmanagementsystem,终端管理系统)应用远程下载的方式将其所需要的应用下载到本地。由于tms系统的负载和性能是有限的,如果同时存在大量pos应用下载请求,可能会产生大量排队,导致无法及时处理。

另一方面,当大量请求同时到来时,tms服务器需要长时间的高负荷运行,以处理这些应用请求。而在其它时段tms服务器可能非常空闲。负载忽高忽低,波动很大,这对服务器性能造成较大的负面影响。

目前在tms应用下载领域,一般并没有采用有效的方法,即便是采取了措施,使用的大多方式或策略比较单一化,并没有很好的解决以上问题。例如:仅考虑tms服务器简单的为pos的下载请求进行时间分片,没有考虑pos端因异常错过了既定时间点,集中开机进行下载请求等异常情况。另外,仅使用单一并发策略,没兼顾到对tms下载请求的时效性要求非常严格的应用场景;还有,由于策略要素很多,配置繁杂,没有经验值做参考,需要使用者有较高的实际经验和相应技能,否则很容易造成策略本身设置的不合理以及策略之间冲突的情况发生;最后,不能根据应用的场景,灵活设置多种策略,方法呆板。



技术实现要素:

鉴于上述问题,提出了本发明,以便提供一种克服上述问题或至少部分地解决上述问题的一种tms计算下载请求时间点的方法。

一种tms计算下载请求时间点的方法,所述方法包括:

计算pn是否小于等于(dc/st],如果是,则按最少并发分片模式计算下载请求时间点,所述最少并发分片模式,是指tms系统在无并发或最少并发的方式,尽快的处理完成各个pos机下载应用的请求;否则,进行下一步;

计算pn是否小于等于(tcn×mcl×dc/st],如果是,则按高并发分片模式计算下载请求时间点,所述高并发分片模式,是指tms系统以高并发的方式处理完成各个pos机下载应用的请求;否则,进行下一步;

系统接近满负荷或超负荷关状态,将强制调整dc等于dcrv,按高并发分片模式计算下载请求时间点;

其中,pn为预接入的pos端数量,dc为下载周期,st为单次下载的预估时长,tcn为tms服务的最大并发数,mcl为策略模型并发度,dcrv为下载周期经验参考值。

进一步的,所述最少并发分片模式适用场景为:对tms应用更新的时限性要求不高、pos机具数量不多、tms服务端不支持高并发或系统性能较低的情况下,自动匹配该模式。

进一步的,所述高并发分片模式适用场景为:对tms应用更新的时限性要求较高、pos机具数量较多、tms服务器支持高并发或系统性能较好的情况下,自动匹配该模式。

进一步的,所述最少并发分片模式计算下载请求时间点,其步骤具体包括:

根据公式tn=ts+(n‐1)×dc/st,n:[1,pn],计算tn;将n和对应的tn存储于map数据结构中,其中,tn为tms第n次pos接入时分配的时间点;ts为tms在某一个循环周期ct的起始时间点;n为正整数,指tms端的pos下载请求的计数序列,从1开始计数,每当需要接入一次,则执行一次n+1。

9.根据权利要求1所述的一种tms计算下载请求时间点的方法,其特征在于,

所述高并发分片模式计算下载请求时间点,其具体步骤包括:

根据公式x=((pn×st)/dc],计算单业务时间片内处理业务的并发数x;根据公式tn=ts+[(n‐1)/x)×dc/st,n:[1,pn],计算结果tn;将n和对应的tn存储于map数据结构中,其中,tn为tms第n次pos接入时分配的时间点;ts为tms在某一个循环周期ct的起始时间点;n为正整数,指tms端的pos下载请求的计数序列,从1开始计数,每当需要接入一次,则执行一次n+1。

进一步的,当dc=dcrv时,x=tcn×mcl。

进一步的,可人工调整dc,优选向dc增大的方向进行调整。

进一步的,dc默认等于dcrv。

依据本发明策略方法,可使所有pos端在规定的下载周期内,有序的、分散的完成应用的下载更新。本发明采用pos被动分散下载请求和pos主动分散下载请求两种方式相结合,pos被动分散下载的目的是在理论上避免请求拥塞的发生,而pos主动分散下载的目的是当实际中出现异常情况,导致了拥塞情况发生时,对拥塞进行主动规避和控制,因而,最终实现了自适应进行拥塞避免和控制。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的一种tms应用下载的自适应策略方法的流程示意图。

图2为本发明另一实施例的一种tms应用下载的自适应策略方法的流程示意图。

图3为本发明给出的预接入的pos端数量pn和其他策略要素的设定对系统负荷影响的示意图。

图4为本发明另一实施例的一种tms计算下载请求时间点的方法的流程示意图。

图5为本发明给出的下载周期dc与系统负载关系的示意图。

图6为本发明另一实施例的一种tms应用下载的自适应策略方法的流程示意图。

具体实施方式

为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例作进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。

为了更清楚的说明本发明的策略方法,先对本发明策略方法中用到的策略要素做一详细说明。在本发明的策略方法中,有以下要素策略:策略编号(policysn,psn)、策略名称、起始日期和结束日期、开始时间和结束时间、预接入的pos端数量(posnumber,pn)、单次下载的预估时长(signaltime,st)、tms服务最大并发数(tmsconcurrencynumber,tcn)、策略模型并发度(modelconcurrencylevel,mcl)、下载周期经验参考值(downloadcyclereferencevalue,dcrv)、下载周期(downloadcycle,dc)、拥塞控制因子(holdcontrol,hc)等。

本发明的策略方法,以策略要素为参数,分为拟定参数和自动参数两种类型。拟定参数,是指根据策略应用场景,设定的初始值,可以人为进行动态调整。例如:对于mcl,如果不想设定为默认值70%,也可设定其它值,如20%。对于dc,默认值等于经验参考值dcrv,以避免人为设定的太离谱的情况,当然也可人为调整加大该值。自动参数,是指系统根据一定规则或拟定参数的设定得出的值,是自动计算生成的。具体的:

策略编号,是自动参数,由系统自动生成的唯一标识某一个策略的识别码。

策略名称,是拟定参数,由人工设定策略的中文名称或简要说明。

起始日期和结束日期,是拟定参数,由人工设定的策略任务的执行日期范围。

开始时间和结束时间,是拟定参数,由人工设定的策略任务的执行日期范围中的具体时间范围。

预接入的pos端数量pn,是拟定参数,由人工设定的策略任务的计划接入的pos端具数量。

单次下载的预估时长st,是拟定参数,由人工设定的策略任务中,每台终端完成联机下载的预估时长。

tms系统最大并发数tcn,是拟定参数,由人工设定的执行策略的tms服务器系统可承载的最大并发数。

策略模型并发度mcl,是自动参数也是拟定参数,是指策略中所占用的tms服务最大并发数tcn的百分数。有一个默认值,如70%,该默认值也可以人工重新更改设定。mcl的使用和设定,可最大限度发挥系统性能的同时又不至于使系统的负荷太高。另外,对于某些pos端因异常情况错过原定时间点下载后向tms发起随机的下载请求,mcl可防止类似情况对tms系统增加的负荷造成难以承受的影响,也为拥塞避免留出余量。

下载周期经验参考值dcrv,是自动参数,由系统根据相关的拟定参数自动计算给出的经验参考值。dcrv是以tcn×mcl计算出来的。该值越大,表示下载周期越长,系统负荷越小。反之,表示下载周期越短,系统负荷越高。当mcl等于100%时,dcrv理论上是最小的,同时系统处于最大并发tcn满负荷运行状态。根据大量论证,mcl一般设定在50%~70%,比较合理。

下载周期dc,是自动参数也是拟定参数,是指策略中真正应用的下载周期。有一个默认值,即其默认等于下载周期经验参考值,也可以人工重新更改设定;

拥塞控制因子hc,是自动参数也是拟定参数,是指在pos端主动方式时,计算pos端下一次请求的时间点nt(nexttime,nt)。hc的默认值是1,也可以人工重新更改设定。hc越大,生成的nt偏移量就会越大,因此下一次拥塞的机率会越小,从而较大机率避免拥塞。代价是其下载更新周期变长,可能会超出dc。因此不是越大越好,适度就好。

如图1所示,根据本发明的一个方面,提供一种tms应用下载的自适应策略方法,该方法具体包括如下步骤:

步骤s110,tms系统对每一个pos端的下载请求预先给定pos被动分散下载的请求时间点。具体的,tms服务建立策略模型,对pos端下载应用或应用更新的时间片进行离散化,对每一个pos端的下载请求预先给出其合理的请求时间点,从而理论上避免了请求拥塞的发生。由于该时间点是由tms系统给出,相当于pos端是被动的,因此称为pos被动分散下载请求方式。下载请求包括对应用程序的下载或者对应用更新程序的下载。根据tms系统的被利用的情况,该pos被动分散下载的请求时间点可以是允许pos端的即刻下载,也可以是允许pos端在稍后指定的时间点下载。pos端的下载可以是pos端在tms指定的时间点自动下载(pos被动分散下载模式,由tms对时间片进行离散化后计算得出的时间点)完成,或者在pos指定的时间点主动(pos主动分散下载模式,由pos根据实际拥塞情况主动计算得出该时间点)进行下载。

tms生成pos被动分散下载的请求时间点的步骤具体包括:

(1)对策略要素初始化。输入拟定参数pn、st和tcn,设定mcl默认值,比如默认值为70%,mcl默认值可以根据情况更新调整设定。策略要素默认固定和动态调整相结合,增加了配置的灵活性、多场景的适用性。例如:mcl默认等于70%,dc默认等于dcrv,当然可以根据实际应用场合,对这些策略要素进行重新更改设定。

(2)根据公式dcrv=((pn×st)/(tcn×mcl])],计算dcrv;根据公式t=(结束日期‐开始日期+1)×(结束时间‐开始时间),计算时间范围t。在本发明中,[)表示数值的“只舍不入”(即“去尾法”)表示法,如:[0.6)=0,[1.8)=1,[2.3)=2,诸如此类,下文相同。(]:表示数值的“不舍只入”省略表示法,如:(0.6]=1,(1.8]=2,(2.3]=3,诸如此类,下文相同。

(3)判断dcrv和拟定的时间范围t是否匹配,若dcrv≤t,则表示匹配,dcrv符合预期;若dcrv>t,则给出错误提示,并进行自适应调整dcrv过程。如果dcrv≤t,表示理论上在该拟定的时间范围内可以完成所有的下载请求任务;如果dcrv>t,表示在该拟定的时间范围内无法完成所有的下载请求任务,需要增大时间范围或调整其它策略参数,该种情况,策略无法生效,系统必须给出相应的错误提示以做调整。自适应调整dcrv的过程具体包括:根据应用场景,合理调整策略要素:pn、st、tcn、mcl、开始和结束日期、开始和结束时间;执行计算dcrv和t并对两者比较判断,直至dcrv≤t,符合预期。

(4)在dcrv符合预期的情况下,计算下载请求时间点。

本方法采用下载周期经验参考值dcrv作为参考,该经验值由系统根据策略要素pn、st、tcn和mcl根据算法自适应计算得出。人工考察dcrv是否在预期设想的范围内。如果dcrv不在预期范围,则结合应用场景可以反复调整pn、st、mcl等参数,直至dcrv落在预期范围内。dcrv自适应性调整过程可以避免人为设置的策略要素不合理的情况发生,方便了使用者。

步骤s120,tms系统判断每一个pos端是否在给定的请求时间点内完成了下载,若已完成下载,则结束;若未完成下载,则在接收未完成下载的pos端pos主动分散下载请求时,重新给定pos被动分散下载的请求时间点。在被动方式中,tms系统仅是给出pos端下载tms应用的参考时间点,而无法真正控制该时间点。当大量pos端因某种原因,错过了原拟定的下载时间点,且几乎同时向tms系统发起下载请求,可能会导致拥塞。为了解决此问题,方法中结合了pos主动分散下载请求方式。pos主动分散下载请求方式具体包括:当pos端主动发起下载请求导致了请求排队并且超时时,则直接返回,由pos端根据策略控制因子hc,主动计算下一次向tms系统发起请求的时间点,当pos端等到该时间点到来时,再向tms发起下载请求,获得tms系统再次发来的pos被动分散下载请求时间点。

根据本发明的该实施例,在tms服务建立策略模型,对pos下载应用时间片进行离散化,对每一个pos的下载请求预先给出其合理的请求时间点(pos被动分散下载请求),从而理论上避免了请求拥塞的发生,使所有pos端在规定的下载周期内,有序的、分散的完成应用的下载或更新。当出现异常情况,导致了拥塞,还可以采取pos主动分散下载请求的方式,尽可能的规避和控制了tms应用下载时的网络拥塞,避免大量请求集中排队等待,进行拥塞避免和控制,从而,最大程度的避免拥塞和平滑服务器负载,避免服务器负荷的较大波动。

与上述实施例相对应的,依据本发明的另一方面,如图2所示,还提供一种tms应用下载的自适应策略方法,该方法具体包括如下步骤:

步骤s210,pos端获取tms系统发来的指定的pos被动分散下载的请求时间点。下载请求包括下载应用程序或者更新应用程序。pos被动分散下载的请求时间点为离散的时间点。根据tms系统的被利用的情况,所述pos被动分散下载的请求时间点可以是允许pos端的即刻下载(pos即时下载模式),也可以是允许pos端在稍后指定的时间点下载。所述pos端的下载可以是pos端在tms指定的时间点自动下载(pos被动分散下载模式,由tms对时间片进行离散化后计算得出的时间点)完成,或者在pos指定的时间点主动(pos主动分散下载模式,由pos根据实际拥塞情况主动计算得出该时间点)进行下载。

步骤s220,判断pos端在该指定的请求时间点是否向tms服务发起下载请求,若是,则结束;若pos端未在该指定的请求时间点向tms服务发起下载请求,则进行即时下载或主动下载,若遇超时则直接返回,并根据拥塞控制因子生成pos主动分散下载请求时间点,以计算下一次请求时间点。当pos端等待该时间点到来后,再向tms发起下载请求。进一步的,在pos端新装机初始化时或pos端第一次与tms联机报到时,将策略要素中的拥塞控制因子和离散的时间点与该pos端绑定。pos端可能会因为异常情况,错过了指定的时间点导致应用请求未发起,则即时发起下载请求。

生成pos主动分散下载请求时间点,包括以下步骤:根据公式nt=tn+[1,(hc×dc)/st]×st,计算下一次向tms发起应用下载请求的时间点nt。其中,[x,y]:表示区间x到y的随机正整数;tn为原下载请求时间点,hc为拥塞控制因子(holdcontrol,hc),默认为1。hc越大,表示生成的nt偏移量可能会越大,下一次拥塞的机率会越小。从而较大机率避免拥塞,代价是更新周期变长,可能会超出原指定的dc。该方式由pos端执行。由于异常情况,错过了指定的时间点导致应用请求未发起,则即时发起请求,每当请求超时,则直接返回,然后,计算出pos主动分散下载请求时间点nt。当pos端等待该时间点到来后,再向tms发起下载请求。

根据本发明的该实施例,采用pos被动分散下载请求和pos主动分散下载请求两种方式相结合,pos主动分散下载又分为自动即时下载模式和主动分散下载模式。pos被动分散下载的目的是在理论上避免请求拥塞的发生;自动即时下载的目的是当pos端检测到其被动下载时间点已失效后可自动、即时向tms发起下载请求,从而高效解决了因pos或tms异常而错过下载时效点的问题;pos主动分散下载的目的是当实际中出现异常情况,导致了拥塞情况发生时,对拥塞进行主动规避和控制。

如图3所示,mpn=tcn×mcl,表示tms系统在单时间片处理请求的并发数。

时,系统在无并发情况会达到饱和处理;

时,系统在并发情况会达到饱和处理;

因此,可以将策略类型分为两种:最少并发分片策略和高并发分片策略。

时,系统自动触发最少并发分片策略,系统低负荷运行;

时,系统自动触发高并发分片策略,系统中高负荷运行;

甚至时,系统接近满负荷或超负荷运行。可能会持续存在大量业务排队的情况。mpn越接近tpn,系统的负荷越大。

优选的,mpn限制为tpn的70%。最大限度的发挥系统性能的同时又不至于使系统的负荷太高。另外,防止某些pos机错过原定时间点下载后,随机到来的下载请求,为拥塞避免留出余量。如果设置的mpn已经接近tcn了,还不能满足应用需求,可考虑加大下载的循环周期dt,或减小pos数量pn,甚至提高系统并发tcn以加大mpn来解决问题。

因此,根据本发明的另一方面,如图4所示,还提供一种tms计算下载请求时间点的方法,所述方法包括:

步骤s410,计算pn是否小于等于(dc/st]。如果是,则按最少并发分片模式计算下载请求时间点;否则,进行下一步。最少并发分片算法,是指tms系统在无并发或最少并发的方式,尽快的处理完成各个pos机下载应用的请求。该算法是高并发分片算法的衍生。当tcn×mcl=1时,属于此种情况。适用场景:对tms应用更新的时限性要求不高、pos机具数量不多、tms服务端不支持高并发或系统性能较低的情况下,自动匹配该模式。

最少并发分片模式计算下载请求时间点,其步骤具体包括:

根据公式tn=ts+(n‐1)×dc/st,n:[1,pn],计算tn;将n和对应的tn存储于map数据结构中。

其中,tn为tms第n次pos接入时分配的时间点;ts为tms在某一个循环周期ct的起始时间点;n为正整数,指tms端的pos下载请求的计数序列,从1开始计数,每当需要接入一次,则执行一次n+1。

步骤s420,计算pn是否小于等于(tcn×mcl×dc/st]。如果是,则按高并发分片模式计算下载请求时间点;否则,进行下一步。高并发分片模式算法,是指tms系统以高并发的方式处理完成各个pos机下载应用的请求。适用场景:对tms应用更新的时限性要求较高、pos机具数量较多、tms服务器支持高并发或系统性能较好的情况下,自动匹配该模式。

高并发分片模式计算下载请求时间点,其具体步骤包括:

根据公式x=((pn×st)/dc],计算单业务时间片内处理业务的并发数x;根据公式tn=ts+[(n‐1)/x)×dc/st,n:[1,pn],计算结果tn;将n和对应的tn存储于map数据结构中。

其中,tn为tms第n次pos接入时分配的时间点;ts为tms在某一个循环周期ct的起始时间点;n为正整数,指tms端的pos下载请求的计数序列,从1开始计数,每当需要接入一次,则执行一次n+1。

进一步的,当dc等于dcrv时,x等于tcn×mcl。dc越大,x越小,表示单业务时间片内处理业务的并发数越少,系统负荷就越小;否则单业务时间片内处理业务的并发数越多,系统负荷就越高。

步骤s430,系统接近满负荷或超负荷关状态,将强制调整dc等于dcrv,按高并发分片模式计算下载请求时间点。

作为上述实施例的进一步改进,如果必要,可人工调整dc,优选向dc增大的方向进行调整。如图5所示,sl表示系统负载(systemload,sl),dcrv是以mcl为默认值如70%计算出来的,表示dc默认等于dcrv。也可以进行人工调整,最好是向大的方向调整。dc越大,表示下载周期越长,系统负荷越小。反之,表示下载周期越短,系统负荷越高。当mcl等于100%时,dcrv理论上是最小的(记为mindcrv),同时系统处于最大并发tcn满负荷运行状态。

在调整dc过程中,有以下注意事项:dc默认等于dcrv。而dcrv是系统根据pn、st、tcn、mcl、开始和结束日期、开始和结束时间等策略要素一定的前提下得出的下载周期的经验参考值。表示在dcrv周期内和划定的时间范围内,以mcl的并发度就可以处理完所有的下载请求。在实际应用场景中,可以根据需要适当增大dc值,使系统实际以较小的并发度(小于mcl)和系统负荷在dc周期内处理完所有下载请求。调整dc时,一般向增大的方向调整。如果无特殊需要,一般不用调整该dc值。确定好dc,再结合策略其它要素就可以匹配是选用最少分片模式,还是高并发模式了。

本发明在下载请求的时间片离散化算法上采用高并发分片和最少并发分片两种算法相结合,并且根据策略要素,自动适应最佳算法,最大限度的平滑了服务器的负载。

根据本发明的另一方面,可将上述各实施例进行结合,如图6所示,还提供一种tms应用下载的自适应策略方法,该方法具体包括如下步骤:

步骤s610,tms生成pos被动分散下载的请求时间点并分配给每个pos端。具体包括:对策略要素初始化。输入拟定参数pn、st和tcn,设定mcl默认值,比如默认值为70%,mcl默认值可以根据情况更新调整设定。计算dcrv,并判断dcrv是否满足预期,若不满足预期,则自适应调整dcrv。计算dcrv与判断其是否满足预期的方法,在上述实施例中已做了详细的说明,在此不再赘述。

步骤s620,计算pn是否小于等于(dc/st]。如果是,则按最少并发分片模式计算下载请求时间点;否则,进行下一步。

步骤s630,计算pn是否小于等于(tcn×mcl×dc/st]。如果是,则按高并发分片模式计算下载请求时间点;否则,进行下一步。

步骤s640,系统接近满负荷或超负荷关状态,将强制调整dc等于dcrv,按高并发分片模式计算下载请求时间点。

由于最少并发分片模式和高并发分片模式的计算方法在上述实施例中已做了详细的阐述,在此不再过多赘述。

作为上述实施例的进一步改进,可根据需要人工调整dc,优选向dc增大的方向进行调整。其调整过程在上述实施例中已做了详细阐述,在此不再赘述。

采用本发明策略方法,使所有pos机在规定的下载周期内,有序的、分散的完成应用下载更新。该策略方法有以下目的和优势:

(1)采用pos被动分散下载请求和主动分散下载请求两种方式,自适应的离散tms应用下载请求,尽可能的规避和控制tms应用下载时的网络拥塞,避免大量请求集中排队等待;

(2)最大限度的平滑服务器的负载,避免服务器负荷的较大波动;

(3)自适应选择高并发分片策略和最少并发分片策略,合理的使用服务器资源;

(4)自适应计算下载周期,并提供经验值作为参考,方便使用者更合理的动态优化策略要素,以避免人为对策略要素的盲目调整;

(5)系统可以根据下载应用的类型、大小、时间等实际实用场景的不同,分别创建多种策略,以满足灵活的应用需求。

本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块流程并不一定是实施本发明所必须的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1