CN112905204A - Tensorflow模型的更新方法与系统 - Google Patents
Tensorflow模型的更新方法与系统 Download PDFInfo
- Publication number
- CN112905204A CN112905204A CN202110200935.4A CN202110200935A CN112905204A CN 112905204 A CN112905204 A CN 112905204A CN 202110200935 A CN202110200935 A CN 202110200935A CN 112905204 A CN112905204 A CN 112905204A
- Authority
- CN
- China
- Prior art keywords
- model
- queue
- updating
- cache region
- guava
- 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
- 238000000034 method Methods 0.000 title claims abstract description 61
- 241000508269 Psidium Species 0.000 claims abstract description 75
- 230000008569 process Effects 0.000 claims abstract description 16
- 238000013507 mapping Methods 0.000 claims description 25
- 230000000694 effects Effects 0.000 claims description 22
- 238000012544 monitoring process Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 6
- 238000010438 heat treatment Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 6
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种Tensorflow模型的更新方法与系统,通过判断与Guava缓存区对应的TF模型是否过期,并在该TF模型过期时,正常运行并使用已过期的TF模型,同时异步的更新TF模型,从而使得更新版本新模型的进程和运行已过期的模型的进程互不干扰,既不会造成已过期的模型被误删除,又不会影响已过期的模型的正常运行。此外,在获取到新版本的TF模型后,不立即使用新版本的TF模型,而是对新版本的TF模型进行预热,防止刚更新的TF模型直接使用导致处理速度慢造成线程阻塞。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种Tensorflow模型的更新方法与系统。
背景技术
为提高广告、素材、活动、插件等投放收益,这些流量入口都会对接算法,通过算法能力对进行广告、素材、活动、插件精准投放。对接算法则需要在业务系统中引入Tensorflow模型(简称TF模型)。在实际投放过程中,业务系统会将用户流量信息,例如DeviceID(设备ID),IP地址等,和活动候选集、本地缓存的Tensorflow模型共同传入算法接口,由算法推出一个最优活动,然后进行投放。然而Tensorflow模型是需要不断更新的。
然而,传统Tensorflow模型的更新方法有一个严重的问题:在传统的Tensorflow模型的更新过程中,正在使用的线程往往会因Tensorflow模型的丢失而异常退出。这是因为Tensorflow模型在更新时,系统无法判断旧的Tensorflow模型是否正在使用中,就会导致正在使用中的旧的Tensorflow模型被删除,从而导致正在使用的线程中断。
发明内容
基于此,有必要针对传统Tensorflow模型的更新方法在模型更新的过程中,正在使用的线程往往会因Tensorflow模型的丢失而异常退出的问题,提供一种Tensorflow模型的更新方法与系统。
本申请提供一种Tensorflow模型的更新方法,包括:
监控活动投放请求的进入,当接收到活动投放请求时,从业务服务器的Guava缓存区中读取Guava缓存区与TF模型的映射关系,得到与Guava缓存区对应的TF模型的模型信息;
依据所述与Guava缓存区对应的TF模型的模型信息,判断所述与Guava缓存区对应的TF模型是否已过期;
若所述与Guava缓存区对应的TF模型已过期,则维持所述与Guava缓存区对应的TF模型的使用状态,并将活动数据推送至所述与Guava缓存区对应的TF模型,同时异步的更新TF模型,以获取新版本的TF模型;在异步的更新TF模型的过程中,当获取到新版本的TF模型时,还对新版本的TF模型进行预热处理。
本申请还提供一种Tensorflow模型的更新系统,其特征在于,包括:
业务服务器,搭载有Guava缓存区和队列;
NAS服务器,与所述业务服务器通信连接;
上位机,与所述业务服务器和所述NAS服务器分别通信连接,用于执行前述内容提及的Tensorflow模型的更新方法。
本申请涉及一种Tensorflow模型的更新方法与系统,通过判断与Guava缓存区对应的TF模型是否过期,并在该TF模型过期时,正常运行并使用已过期的TF模型,同时异步的更新TF模型,从而使得更新版本新模型的进程和运行已过期的模型的进程互不干扰,既不会造成已过期的模型被误删除,又不会影响已过期的模型的正常运行。此外,在获取到新版本的TF模型后,不立即使用新版本的TF模型,而是对新版本的TF模型进行预热,防止刚更新的TF模型直接使用导致处理速度慢造成线程阻塞。
附图说明
图1为本申请一实施例提供的Tensorflow模型的更新方法的流程示意图;
图2为本申请一实施例提供的Tensorflow模型的更新方法中,业务服务器中队列的变化示意图;
图3为本申请另一实施例提供的Tensorflow模型的更新方法中,,业务服务器中队列的变化示意图;
图4为本申请一实施例提供的Tensorflow模型的更新系统的结构示意图。
附图标记:
100-业务服务器;200-NAS服务器;300-上位机
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供一种Tensorflow模型的更新方法。需要说明的是,本申请提供的Tensorflow模型的更新方法的应用于任何种类的Tensorflow模型的更新进程。
需要说明的是,本申请提供的Tensorflow模型的更新方法中提及的Tensorflow模型,为基于Tensorflow框架训练出来的模型。为描述简便,使行文简洁,后文一律简写为“TF模型”,不再重复进行解释与说明。
此外,本申请提供的Tensorflow模型的更新方法不限制其执行主体。可选地,本申请提供的Tensorflow模型的更新方法的执行主体的可以为一种Tensorflow模型的更新系统。可选地,本申请提供的Tensorflow模型的更新方法的执行主体具体可以为法Tensorflow模型的更新系统中的上位机。
在本申请的一实施例中,所述Tensorflow模型的更新方法包括如下S100至S300:
S100,监控活动投放请求的进入。当接收到活动投放请求时,从业务服务器的Guava缓存区中读取Guava缓存区与TF模型的映射关系,得到与Guava缓存区对应的TF模型的模型信息。
具体地,业务服务器在接收到活动投放请求时,会瞬间向业务服务器中打入大量流量,业务入口流量端(即业务服务器)需要速度快的响应,因此本步骤需要对活动投放请求进行实时的监控。当然可以通过上位机监控,也可以通过业务服务器自身监控。
Guava缓存区中不会直接存储TF模型。可选地,TF模型可以存放于队列中。队列是部署在业务服务器上的一种服务,队列存放TF模型的数量是有限的。
Guava缓存区存储的是与Guava缓存区对应的TF模型的模型信息,该模型信息包含了Guava缓存区与TF模型的映射关系。换言之,Guava缓存区与队列中的一个TF模型具有映射关系,且该TF模型为正在使用中的TF模型。
可选地,Guava缓存区与TF模型的映射关系可以以缓冲区指针的形式存放于Guava缓存区中。上位机读取该缓冲区指针,既可以得到与Guava缓存区对应的TF模型的模型信息。
S200,依据所述与Guava缓存区对应的TF模型的模型信息,判断所述与Guava缓存区对应的TF模型是否已过期。
具体地,所述与Guava缓存区对应的TF模型的模型信息可以包括TF模型的使用时间。本步骤的过期判定,便于后续在TF过期后执行TF模型更新的后续步骤,防止旧版本的TF模型一直运行。
S300,若所述与Guava缓存区对应的TF模型已过期,则维持所述与Guava缓存区对应的TF模型的使用状态。进一步地,将活动数据推送至所述与Guava缓存区对应的TF模型,同时异步的更新TF模型,以获取新版本的TF模型。在异步的更新TF模型的过程中,当获取到新版本的TF模型时,还对新版本的TF模型进行预热处理。
具体地,预热过程本身也是异步的,这样可以避免流量一直未打入TF模型,一直在等待预热完成,而导致流量过期,有效防止造成流量的浪费。
本实施例中,本申请涉及一种Tensorflow模型的更新方法,通过判断与Guava缓存区对应的TF模型是否过期,并在该TF模型过期时,正常运行并使用已过期的TF模型,同时异步的更新TF模型,从而使得更新版本新模型的进程和运行已过期的模型的进程互不干扰,既不会造成已过期的模型被误删除,又不会影响已过期的模型的正常运行。此外,在获取到新版本的TF模型后,不立即使用新版本的TF模型,而是对新版本的TF模型进行预热,防止刚更新的TF模型直接使用导致处理速度慢造成线程阻塞。
在本申请的一实施例中,所述步骤S300包括如下S310至S324:
S310,从所述业务服务器的队列中获取位于队列头部的TF模型的模型信息,删除原有的Guava缓存区与TF模型的映射关系,并建立Guava缓存区与位于队列头部的TF模型的映射关系。
具体地,步骤S300中,若所述与Guava缓存区对应的TF模型过期,在本步骤中,不对这个已过期的TF模型删除,而是正常使用这个已过期的TF模型,即保持使用状态。这样可以防止正在使用中的这个已过期的TF模型丢失。
进一步地,Guava缓存区与TF模型需要更改,从所述业务服务器的队列中抓取位于队列头部的TF模型置入Guava缓存区。删除原有的Guava缓存区与TF模型的映射关系。建立Guava缓存区与位于队列头部的TF模型的映射关系,并以缓冲区指针的形式存储于Guava缓存区。
S321,从NAS服务器中获取一个更新时间与当前系统时间最接近的TF模型,作为最新TF模型。
具体地,NAS服务器是一个依附于业务服务器的公共数据库。模型生成终端是与NAS服务器通信连接的一个处理终端。模型生成终端可以根据业务系统实时的数据进行模型调整,不定时或定时的生成一个新版本的TF模型,发送至NAS服务器进行存储。NAS服务器中的每一个TF模型可以均附带一个时间戳。时间戳可以记录更新时间。
本步骤中,更新时间与当前系统时间最接近的TF模型会被复制并被提取出来。例如,当前系统时间为2021年1月27日19时00分,通过遍历搜寻NA服务器,发现NAS服务器上有10个TF模型。每一个TF模型都有对应的一个更新时间。上位机继续检索每一个TF模型的更新时间,比较多个更新时间,得到距离当前系统时间最近的更新时间为2021年1月27日18时50分,那么这个TF模型是NA服务器中版本号最新的TF模型,因此上位机提取这个TF模型作为最新TF模型。
S322,比对最新TF模型的版本号和已过期的TF模型的版本号,判断TF模型的版本号是否需要更新。
具体地,最新TF模型是S321中从NS服务器提取的TF模型。已过期的TF模型是S200中判断已经过期的TF模型。
每一个TF模型可以均附带一个版本号,例如Version1.0,Version1.1等。判断最新TF模型的版本号是否需要更新的方法可以有多种。可选地,判断最新TF模型的版本号是否需要更新的方法可以是,比对最新TF模型的版本号和已过期的TF模型的版本号的数字大小。数字越大,版本号越新,例如Version1.1比Version1.0的版本号新。
S323,若TF模型的版本号需要更新,则将最新TF模型作为新版本的TF模型,对新版本的TF模型进行预热处理。
具体地,若最新TF模型的版本号的数字大于已过期的TF模型的版本号的数字,则判定TF模型的版本号需要更新。例如,若已过期的TF模型的版本号为Version1.2,而最新TF模型的版本号为Version1.3,则表明已过期的TF模型的版本号已经是旧版本号,需要更新新版本的TF模型。进一步地,将最新TF模型作为新版本的TF模型,并对新版本的TF模型进行预热处理。
S324,若TF模型的版本号不需要更新,则终止后续步骤,返回初始监控活动投放请求的进入的步骤。
具体地,若最新TF模型的版本号的数字小于或等于已过期的TF模型的版本号的数字,则判定TF模型的版本号不需要更新。例如,若已过期的TF模型的版本号为Version1.2,而最新TF模型的版本号仍为Version1.2,则确定版本号不需要更新,终止后续步骤,返回初始监控活动投放请求的进入的步骤。
本实施例中,在TF模型过期时,通过正常运行并使用已过期的TF模型,同时异步的更新TF模型,从而使得更新新版本的模型的进程和运行已过期的模型的进程互不干扰,不会造成已过期的模型被误删除,也不会影响已过期的模型的正常运行。
在本申请的一实施例中,在所述队列中,越靠近队列尾部的TF模型,进入所述队列的时间越早,越靠近队列头部的TF模型,进入所述队列的时间越晚。
具体地,队列是部署在业务服务器上的一种服务,队列存放TF模型的数量是有限的。因此,本实施例中的队列遵循“先进先出”的原则,在本实施例中,通过越靠近队列尾部的TF模型,进入队列的时间越早,越靠近队列头部的TF模型,进入队列的时间越晚,来得到实现。
本实施例中,通过设置越靠近队列尾部的TF模型,进入队列的时间越早,越靠近队列头部的TF模型,进入队列的时间越晚,使得旧版本的TF模型自然可以靠近队列尾部,新版本的TF模型自然可以靠近队列头部,使得队列中的TF模型可以有序进入队列和离开队列,形成闭环。
在本申请的一实施例中,在所述步骤S300之后,所述方法还包括如下S400至S500:
S400,判断所述新版本的TF模型是否已预热完毕。
具体地,若新版本的TF模型未预热完毕,则继续监控新版本的TF模型是否预热完毕直至新版本的TF模型预热完毕。
S500,若所述新版本的TF模型已预热完毕,则从所述队列中删除位于队列尾部的TF模型,将预热后的TF模型插入队列头部,返回所述监控活动投放请求的进入的步骤。
具体地,当新的TF模型投入使用后,刚投入使用时的处理速度非常慢,会导致流量瞬间打入服务器时会出现大量超时消息导致异常退出。而预热后的TF模型投入使用则不会出现这个问题。
本实施例中,在TF模型预热之后,才将TF模型插入至队列的头部,这使得队列中的所有TF模型都是经过预热后的。使得TF模型被运行后,都是经过预热后的,避免新的TF模型投入使用后由于处理速度慢,导致流量瞬间打入业务服务器时出现大量超时消息导致异常退出。
在本申请的一实施例中,所述步骤S200包括如下步骤S210至步骤S230:
S210,获取Guava缓存区内存放的定时器。
S220,判断定时器记录的时间是否超过预设时间阈值。
S230,若定时器记录的时间超过预设时间阈值,则确定与Guava缓存区对应的TF模型过期。
具体地,本实施例阐述了一种如何判断TF模型是否过期的实施例。本实施例中,在Guava缓存区中可以存放一个定时器。当Guava缓存区与一个TF模型创建新的映射关系时,代表旧的映射关系消失,新的映射关系建立,此时将定时器清零。定时器预先设置了预设时间阈值,可以为10分钟。
当定时器记录的时间超过了10分钟,则确定与Guava缓存区对应的TF模型过期。
本实施例中,通过本步骤对TF模型的过期判定,便于后续在TF过期后执行TF模型更新的后续步骤,防止旧版本的TF模型一直运行,无法更新新的版本。
如图2所示的例子,依照本申请的提供的TF模型的更新方法的执行逻辑,如果Guava缓存区中的TF模型B已经过期,但是从NAS服务器中获取的最新TF模型的版本号又没有任何更新,即TF模型D也是旧版本的,那么TF模型D不会进行预热也不会置入队列中。Guava缓存区仍然要执行和队列首部的TF模型建立新的映射关系,即和队列首部的TF模型C建立新的映射关系(原来是和TF模型B具有映射关系),返回初始步骤,保证了整个方法流程闭环性。
在本申请的一实施例中,在所述步骤S200之后,所述方法还包括如下步骤S331至步骤S332:
S331,若与Guava缓存区对应的TF模型未过期,则维持所述与Guava缓存区对应的TF模型的使用状态,并将活动数据推送至所述与Guava缓存区对应的TF模型。
S332,返回所述监控活动投放请求的进入的步骤。
具体地,若与Guava缓存区对应的TF模型未过期,则TF模型还处于有效期内,继续正常使用该TF模型并将活动数据推送至TF模型,也不会触发TF模型后续的更新步骤,即不会触发S300。
在本申请的一实施例中,所述步骤S500包括如下S510至S523:
S510,若所述新版本的TF模型已预热完毕,则判断队列中存放的TF模型总数是否等于队列的TF模型存放上限量。
具体地,队列的容量是有限的,因此,队列具有一个TF模型存放上限量。
S521,若队列中存放的TF模型总数等于队列的TF模型存放上限量,则队列中删除位于队列尾部的TF模型。
具体地,前述内容提及过,队列遵循“先进先出”的原则,由于位于队列尾部的TF模型是最先进入队列的,那么代表其版本号一定是最旧的,因此,需要将位于队列尾部的TF模型删除。但是这里注意,删除的这个位于队列尾部的TF模型并不是与Guava缓存区存在映射关系的TF模型,请参见图2。图2中的要删除的是TF模型A,与Guava缓存区存在映射关系的是TF模型C,因此这样不会删除到正在使用中的TF模型。因为与Guava缓存区存在映射关系的TF模型,就是正在使用中的TF模型。
删除的这个位于队列尾部的TF模型A可以定义为“相对队列中其他TF模型而言,更旧版本的TF模型”。换言之,越靠近队列尾部,TF模型的版本号的数字越小,版本也越旧。越靠近队列头部,TF模型的版本号的数字越大,版本也越新。
S522,将预热后的TF模型插入队列头部。
具体地,请参见图2,图2详细展示了队列中TF模型的更迭变换情况。原始的队列中,队列中有3个TF模型,分别是A,B和C。Guava缓存区与TF模型B具有映射关系,则表明正在使用的TF模型是TF模型B。上位机在判定TF模型B过期后,将Guava缓存区与位于队列头部的TF模型C建立了映射关系。进一步地,上位机从NAS服务器中获取了NAS服务器中版本号最新的TF模型,即TF模型D。在比对TF模型D和已过期的TF模型B的版本号之后,确定TF模型D的版本号的数字大于TF模型B的版本号数字,换言之,确定了TF模型D的版本号比TF模型B的版本号更新。
进一步地,上位机将队列中位于队列尾部的TF模型A删除,将TF模型D进行预热。在TF模型D预热完毕后,先判断队列中存放的TF模型总数是否等于队列的TF模型存放上限量。图2中,队列中有A,B,C3个TF模型,设定模型存放也是3,则需要删除TF模型A,再将预热后的TF模型D放入队列头部。
S523,返回所述监控活动投放请求的进入的步骤。
本实施例中,通过在更新新版本的TF模型后,对位于队列尾部的TF模型进行删除,实现了对队列中旧版本TF模型的惰性删除,防止实时删除正在使用的TF模型导致投放失败。
若TF模型的版本号不需要更新,还可以有另一种实施方式,就是当TF模型的版本号不需要更新时,也执行S510至S523的步骤,即也判断队列中存放的TF模型总数是否等于队列的TF模型存放上限量的步骤。如图2所示的例子,加了TF模型存放上限量的判定,执行逻辑和前述不加TF模型存放上限量的判定的实施例的区别点在于,依照本申请的提供的TF模型的更新方法的执行逻辑,如果Guava缓存区中的TF模型B已经过期,但是从NAS服务器中获取的最新TF模型的版本号又没有任何更新,即TF模型D也是旧版本的,那么TF模型D不会进行预热也不会置入队列中。Guava缓存区仍然要执行和队列首部的TF模型建立新的映射关系,即和队列首部的TF模型C建立新的映射关系(原来是和TF模型B具有映射关系),但是最后不是执行S324的返回初始步骤。
而是执行S510的判断队列中存放的TF模型总数是否等于队列的TF模型存放上限量的步骤。如果队列中存放的TF模型总数等于队列的TF模型存放上限量,则队列中删除位于队列尾部的TF模型。这样的好处是可以确保队列总是有冗余的位置,既不会删除正在使用中的TF模型,又删除了队列中旧版本无用的TF模型,防止队列长时间处于满载状态。
本实施例中,通过在更新新版本的TF模型后,对位于队列尾部的TF模型进行删除,实现了对队列中旧版本TF模型的惰性删除,防止实时删除正在使用的TF模型导致投放失败。
在本申请的一实施例中,在所述步骤S510之后,所述步骤S500还包括如下S531至S532:
S531,若队列中存放的TF模型总数不等于队列的TF模型存放上限量,则将预热后的TF模型插入队列的头部。
S532,返回所述监控活动投放请求的进入的步骤。
具体地,请参见图3,本实施例的执行逻辑请参见图3,这种情况一般是业务服务器刚启动进行工作,队列中TF模型的数量不多。图3示出的情况中,所述队列的TF模型存放上限量为3,但是队列中只有2个TF模型,那么在从NAS服务器引入新版本的TF模型C加入队列后,队列中TF模型的数量为3,没有超出TF模型存放上限量,因此没有必要删除位于队列尾部的TF模型A。
在本申请的一实施例中,所述队列的TF模型存放上限量大于或等于3。
具体地,本申请并不对TF模型存放上限量做出限制,TF模型存放上限量可以任意设置。
在本申请的一实施例中,所述队列的TF模型存放上限量为3。
具体地,对于队列容量的控制,TF模型存放上限量设置为3是一个优选的实施例,既能保证流程运转,又不会使得队列中同时存放太多TF模型导致臃肿,对业务服务器的压力小。
本申请还提供一种Tensorflow模型的更新系统。
为了行文简洁,前述Tensorflow模型的更新方法和后面要描述的Tensorflow模型的更新系统出现的相同设备,统一只在后面要描述的Tensorflow模型的更新系统部分进行标号。
在本申请的一实施例中,所述Tensorflow模型的更新系统包括业务服务器100、NAS服务器200和上位机300。所述业务服务器100和NAS服务器200通信连接。所述上位机300与业务服务器100通信连接。所述上位机300还与所述NAS服务器200通信连接。所述业务服务器100,搭载有Guava缓存区和队列。所述上位机用于执行前述内容提及的Tensorflow模型的更新方法。
以上所述实施例的各技术特征可以进行任意的组合,各方法步骤也并不做执行顺序的限制,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种Tensorflow模型的更新方法,其特征在于,所述方法包括:
监控活动投放请求的进入,当接收到活动投放请求时,从业务服务器的Guava缓存区中读取Guava缓存区与TF模型的映射关系,得到与Guava缓存区对应的TF模型的模型信息;
依据所述与Guava缓存区对应的TF模型的模型信息,判断所述与Guava缓存区对应的TF模型是否已过期;
若所述与Guava缓存区对应的TF模型已过期,则维持所述与Guava缓存区对应的TF模型的使用状态,并将活动数据推送至所述与Guava缓存区对应的TF模型,同时异步的更新TF模型,以获取新版本的TF模型;在异步的更新TF模型的过程中,当获取到新版本的TF模型时,还对新版本的TF模型进行预热处理。
2.根据权利要求1所述的Tensorflow模型的更新方法,其特征在于,所述异步的更新TF模型,以获取新版本的TF模型,包括:
从所述业务服务器的队列中获取位于队列头部的TF模型的模型信息,删除原有的Guava缓存区与TF模型的映射关系,并建立Guava缓存区与位于队列头部的TF模型的映射关系;
从NAS服务器中获取一个更新时间与当前系统时间最接近的TF模型,作为最新TF模型;
比对最新TF模型的版本号和已过期的TF模型的版本号,判断TF模型的版本号是否需要更新;
若TF模型的版本号需要更新,则将最新TF模型作为新版本的TF模型,对新版本的TF模型进行预热处理;
若TF模型的版本号不需要更新,则终止后续步骤,返回初始监控活动投放请求的进入的步骤。
3.根据权利要求2所述的Tensorflow模型的更新方法,其特征在于,在所述队列中,越靠近队列尾部的TF模型,进入所述队列的时间越早,越靠近队列头部的TF模型,进入所述队列的时间越晚。
4.根据权利要求3所述的Tensorflow模型的更新方法,其特征在于,在所述对新版本的TF模型进行预热处理之后,所述方法还包括:
判断所述新版本的TF模型是否已预热完毕;
若所述新版本的TF模型已预热完毕,则从所述队列中删除位于队列尾部的TF模型,将预热后的TF模型插入队列头部,返回所述监控活动投放请求的进入的步骤。
5.根据权利要求4所述的Tensorflow模型的更新方法,其特征在于,所述依据所述与Guava缓存区对应的TF模型的模型信息,判断与Guava缓存区对应的TF模型是否已过期,包括:
获取Guava缓存区内存放的定时器;
判断所述定时器记录的时间是否超过预设时间阈值;
若所述定时器记录的时间超过所述预设时间阈值,则确定与Guava缓存区对应的TF模型已过期。
6.根据权利要求5所述的Tensorflow模型的更新方法,其特征在于,在所述判断所述与Guava缓存区对应的TF模型是否已过期之后,所述方法还包括:
若与Guava缓存区对应的TF模型未过期,则维持所述与Guava缓存区对应的TF模型的使用状态,并将活动数据推送至所述与Guava缓存区对应的TF模型;
返回所述监控活动投放请求的进入的步骤。
7.根据权利要求6所述的Tensorflow模型的更新方法,其特征在于,所述若所述新版本的TF模型已预热完毕,则从所述队列中删除位于队列尾部的TF模型,将预热后的TF模型插入队列头部,包括:
若所述新版本的TF模型已预热完毕,则判断队列中存放的TF模型总数是否等于队列的TF模型存放上限量;
若队列中存放的TF模型总数等于队列的TF模型存放上限量,则队列中删除位于队列尾部的TF模型;
将预热后的TF模型插入队列头部。
8.根据权利要求7所述的Tensorflow模型的更新方法,其特征在于,所述若新版本的TF模型已预热完毕,则从所述队列中删除位于队列尾部的TF模型,将预热后的TF模型插入队列的头部,还包括:
若队列中存放的TF模型总数不等于队列的TF模型存放上限量,则将预热后的TF模型插入队列头部。
9.根据权利要求8所述的Tensorflow模型的更新方法,其特征在于,所述队列的TF模型存放上限量大于或等于3。
10.一种Tensorflow模型的更新系统,其特征在于,包括:
业务服务器,搭载有Guava缓存区和队列;
NAS服务器,与所述业务服务器通信连接;
上位机,与所述业务服务器和所述NAS服务器分别通信连接,用于执行权利要求1-9中任一项所述的Tensorflow模型的更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110200935.4A CN112905204B (zh) | 2021-02-23 | 2021-02-23 | Tensorflow模型的更新方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110200935.4A CN112905204B (zh) | 2021-02-23 | 2021-02-23 | Tensorflow模型的更新方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112905204A true CN112905204A (zh) | 2021-06-04 |
CN112905204B CN112905204B (zh) | 2024-05-07 |
Family
ID=76124404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110200935.4A Active CN112905204B (zh) | 2021-02-23 | 2021-02-23 | Tensorflow模型的更新方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905204B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4558413A (en) * | 1983-11-21 | 1985-12-10 | Xerox Corporation | Software version management system |
US20080052701A1 (en) * | 2006-08-22 | 2008-02-28 | Michael Negley Abernethy | System and method for fine grain method update of an application to provide continuous availability |
WO2009097776A1 (zh) * | 2008-01-30 | 2009-08-13 | Huawei Technologies Co., Ltd. | 一种实现业务升级的系统、装置及方法 |
CN102436373A (zh) * | 2011-09-13 | 2012-05-02 | 上海普元信息技术股份有限公司 | 企业分布式应用系统中实现资源加载及资源热更新的方法 |
WO2016197953A1 (zh) * | 2015-12-18 | 2016-12-15 | 中兴通讯股份有限公司 | 一种部署多模基站的方法及装置 |
CN109408096A (zh) * | 2018-12-05 | 2019-03-01 | 国云科技股份有限公司 | 一种分布式应用热更新的方法 |
CN110377318A (zh) * | 2019-07-25 | 2019-10-25 | 四川爱创科技有限公司 | 用于智能货柜的商品识别模型动态更新方法 |
CN110764838A (zh) * | 2019-09-19 | 2020-02-07 | 北京三快在线科技有限公司 | 服务模型的加载方法、系统、电子设备及存储介质 |
US20200234188A1 (en) * | 2019-01-22 | 2020-07-23 | Microsoft Technology Licensing, Llc | Techniques for training and deploying a model based feature in a software application |
CN111459610A (zh) * | 2020-03-19 | 2020-07-28 | 网宿科技股份有限公司 | 一种模型部署方法和装置 |
US20200257522A1 (en) * | 2019-02-08 | 2020-08-13 | Atlassian Pty Ltd. | Software application update management engine |
CN112015519A (zh) * | 2020-08-28 | 2020-12-01 | 江苏银承网络科技股份有限公司 | 模型线上部署方法及装置 |
CN112270410A (zh) * | 2020-10-19 | 2021-01-26 | 北京达佳互联信息技术有限公司 | 在线推理服务系统、提供在线推理服务的方法及装置 |
-
2021
- 2021-02-23 CN CN202110200935.4A patent/CN112905204B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4558413A (en) * | 1983-11-21 | 1985-12-10 | Xerox Corporation | Software version management system |
US20080052701A1 (en) * | 2006-08-22 | 2008-02-28 | Michael Negley Abernethy | System and method for fine grain method update of an application to provide continuous availability |
WO2009097776A1 (zh) * | 2008-01-30 | 2009-08-13 | Huawei Technologies Co., Ltd. | 一种实现业务升级的系统、装置及方法 |
CN102436373A (zh) * | 2011-09-13 | 2012-05-02 | 上海普元信息技术股份有限公司 | 企业分布式应用系统中实现资源加载及资源热更新的方法 |
WO2016197953A1 (zh) * | 2015-12-18 | 2016-12-15 | 中兴通讯股份有限公司 | 一种部署多模基站的方法及装置 |
CN109408096A (zh) * | 2018-12-05 | 2019-03-01 | 国云科技股份有限公司 | 一种分布式应用热更新的方法 |
US20200234188A1 (en) * | 2019-01-22 | 2020-07-23 | Microsoft Technology Licensing, Llc | Techniques for training and deploying a model based feature in a software application |
US20200257522A1 (en) * | 2019-02-08 | 2020-08-13 | Atlassian Pty Ltd. | Software application update management engine |
CN110377318A (zh) * | 2019-07-25 | 2019-10-25 | 四川爱创科技有限公司 | 用于智能货柜的商品识别模型动态更新方法 |
CN110764838A (zh) * | 2019-09-19 | 2020-02-07 | 北京三快在线科技有限公司 | 服务模型的加载方法、系统、电子设备及存储介质 |
CN111459610A (zh) * | 2020-03-19 | 2020-07-28 | 网宿科技股份有限公司 | 一种模型部署方法和装置 |
CN112015519A (zh) * | 2020-08-28 | 2020-12-01 | 江苏银承网络科技股份有限公司 | 模型线上部署方法及装置 |
CN112270410A (zh) * | 2020-10-19 | 2021-01-26 | 北京达佳互联信息技术有限公司 | 在线推理服务系统、提供在线推理服务的方法及装置 |
Non-Patent Citations (2)
Title |
---|
杜哲;刘东;陆一鸣;吕广宪;张弘;谢婧;: "基于本体差异化分析的信息模型映射技术", 电网技术, no. 06, 5 June 2015 (2015-06-05), pages 1525 - 1531 * |
爱奇艺技术产品团队: "TensorFlow Serving 模型更新毛刺的完全优化实践", HTTPS://BLOG.CSDN.NET/WEIXIN_38753262/ARTICLE/DETAILS/110252044, 27 November 2020 (2020-11-27), pages 1 - 7 * |
Also Published As
Publication number | Publication date |
---|---|
CN112905204B (zh) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8161138B2 (en) | Replication system having the capability to accept commands at a standby-system site before completion of updating thereof | |
US8095690B2 (en) | Machine-readable medium for storing a stream data processing program and computer system | |
US7328213B2 (en) | Transaction processing method, transaction control apparatus and program thereof | |
CN109241185A (zh) | 一种数据同步的方法以及数据同步装置 | |
US7783607B2 (en) | Decentralized record expiry | |
US7933866B2 (en) | Systems, methods and software programs for data synchronization | |
CN107092628B (zh) | 时间序列数据的处理方法和装置 | |
US6754842B2 (en) | Facilitating a restart operation within a data processing system | |
CN112052264B (zh) | 业务数据查询方法、装置、电子设备及可读存储介质 | |
CN112445863A (zh) | 一种数据实时同步方法及系统 | |
CN113438275B (zh) | 数据迁移方法、装置、存储介质及数据迁移设备 | |
CN112202834A (zh) | 一种数据处理方法、数据处理装置及节点服务器 | |
CN113031864B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN100372307C (zh) | 一种系统日志管理方法 | |
CN112905204A (zh) | Tensorflow模型的更新方法与系统 | |
US20230376470A1 (en) | Moving Window Data Deduplication in Distributed Storage | |
JP3587446B2 (ja) | マルチシステム環境のシステムがログ・ストリームを圧縮する頻度を歩調合わせするプログラム製品 | |
CN112702437B (zh) | 一种链路数据采样率实时自动调整方法 | |
CN109756708B (zh) | 音视频数据的续传方法及装置 | |
US10783136B1 (en) | Management of garbage data in distributed systems | |
CN113824651B (zh) | 行情数据缓存处理方法、装置、存储介质及电子设备 | |
CN116820871A (zh) | 审计进程行为的方法、系统、存储介质及计算机设备 | |
JP3587445B2 (ja) | マルチシステム環境のシステムがログ・ストリームを圧縮する頻度を歩調合わせする方法 | |
CN115269531B (zh) | 一种基于akka框架的云原生日志收集方法和系统 | |
CN113590591B (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 |