CN110737447B - 应用更新方法和装置 - Google Patents

应用更新方法和装置 Download PDF

Info

Publication number
CN110737447B
CN110737447B CN201810807576.7A CN201810807576A CN110737447B CN 110737447 B CN110737447 B CN 110737447B CN 201810807576 A CN201810807576 A CN 201810807576A CN 110737447 B CN110737447 B CN 110737447B
Authority
CN
China
Prior art keywords
application
source data
data
updating
update
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
Application number
CN201810807576.7A
Other languages
English (en)
Other versions
CN110737447A (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 CN201810807576.7A priority Critical patent/CN110737447B/zh
Publication of CN110737447A publication Critical patent/CN110737447A/zh
Application granted granted Critical
Publication of CN110737447B publication Critical patent/CN110737447B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种应用更新方法和装置。其中,该方法包括:确定至少一个应用,对应用的更新包括对应用的源数据进行更新处理;获取源数据集,源数据集包括至少一个应用所需要的源数据;基于源数据集,向至少一个应用推送所需要的源数据,以对至少一个应用的源数据进行更新处理。本申请解决了现有技术需要较大的数据访问流量对多个应用进行更新导致网络访问压力大的技术问题。

Description

应用更新方法和装置
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种应用更新方法和装置。
背景技术
随着计算机科学的快速发展,各种应用层出不穷。应用往往需要更新、优化,以更好地向用户提供服务。在一些场景下,多个应用需要基于相同或相似的源数据来进行更新,例如,一个人工智能(Artificial Intelligence,简称AI)图像处理系统包括鉴黄应用、人脸识别应用等多个图像处理应用,每个图像处理应用可以采用卷积神经网络、决策树等AI模型来进行图像处理。图像处理应用的更新通常对应着AI模型结构的改变,这时,针对各图像处理应用,可以获取相同或相似的图片、视频等源数据,来对各应用所对应的AI模型进行训练、测试,从而实现各应用的更新。
目前,基于源数据的应用更新方法主要存在以下两种:
(1)分别获取源数据进行更新。仍以AI图像处理系统为例,在对AI图像处理系统中的多个图像处理应用进行更新时更新各应用分别从数据服务器获取其所需要的源数据(图片、视频等),由于各应用均用于实现图像处理功能,因此各应用所需要的源数据可能有大部分相同,相应地,存在一张图片或一个视频在数据服务器处被多次读取的问题,进而给数据服务器造成了访问压力。由上述内容可知,随着图像处理系统中应用数量的不断增加,其对数据服务器的网络访问带宽的需求也会增加,例如,包括5个图像处理应用的AI图像处理系统,与仅包括一个图像处理应用的AI图像处理系统相比,在获取源数据时,前者需要的带宽大概是后者的5倍。
(2)以链表形式进行串行更新。具体的,现有技术将需要更新优化的应用按照更新的优先级别形成链表,存储在链表的表头的应用的优先级最高。位于链表表头的应用最先读取源数据,并进行更新。在链表表头的应用更新完成之后,再将数据传输给之后的应用进行更新。更新这种更新方法是串行更新,更新效率较低,并且,如果在更新过程中,某一个应用出现故障,将影响该应用之后的其他应用的更新。
发明内容
本发明实施例提供了一种应用更新方法和装置,以力图解决或至少缓解更新上面提到的技术问题。
根据本发明实施例的一个方面,提供了一种应用更新方法,包括:确定至少一个应用,对应用的更新包括对应用的源数据进行更新处理;获取源数据集,源数据集包括至少一个应用所需要的源数据;基于源数据集,向至少一个应用推送所需要的源数据,以对至少一个应用的源数据进行更新处理。
根据本发明实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在计算设备执行应用更新方法。
根据本发明实施例的另一方面,还提供了一种计算机设备,包括至少一个处理器以及存储有程序指令的存储器,其中,程序指令被配置为适于由至少一个处理器执行,程序指令包括用于执行应用更新方法的指令。
根据本发明实施例的另一方面,还提供了一种应用更新装置,包括:控制模块,用于确定至少一个应用,对应用的更新包括对应用的源数据进行更新处理;数据模块,用于获取源数据集,并基于源数据集,向至少一个应用推送所需要的源数据,以对至少一个应用的源数据进行更新处理,其中,所述源数据集包括至少一个应用所需要的源数据。
在本发明实施例中,采用更新组对多个应用进行策略控制的方式,通过确定至少一个应用,然后从数据服务器中获取源数据集,并基于源数据集分别向至少一个应用推送其所需要的源数据,以对至少一个应用的源数据进行更新处理,其中,源数据集包括至少一个应用所需要的源数据。
在上述过程中,控制模块作为读取数据服务器中源数据集的通道,将数据服务器中的数据统一推送给更新组中的应用,避免了多个应用多次读取数据服务器中的数据,导致网络的访问压力大的问题。
由此可见,本申请所提供的方案可以达到控制网络的访问流量的目的,从而实现了减少网络访问压力的技术效果,进而解决了现有技术需要较大的数据访问流量对多个应用进行更新导致网络访问压力大的技术问题。并且,基于本申请的技术方案,向多个应用推送源数据的过程可以并行进行,各应用的更新不存在相互依赖,从而解决了现有的串行更新方案中更新时间消耗大、单个应用的故障会向其他应用转移扩散的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种应用更新系统的结构示意图;
图2是根据现有技术的一种AI应用更新的示意图;
图3是根据本申请实施例的一种可选的应用更新系统结构示意图;
图4是根据本申请实施例的一种应用更新方法的流程图;
图5是根据本申请实施例的一种可选的控制模块与应用的交互图;
图6是根据本申请实施例的一种可选的基于应用更新系统的交互示意图;以及
图7是根据本申请实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
在描述本申请的各实施例的进一步细节之前,将参考图1来描述可用于实现本申请原理的一个合适的应用更新系统。
图1是根据本申请实施例的一种应用更新系统的结构示意图,出于描述的目的,所绘结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何限制,也不应将该策略控制信息的处理系统,解释为对图1所示的任一组件或其组合具有任何依赖或需求。
本申请实施例1所提供的系统实施例可以广泛应用在互联网领域,以对多个应用进行高效更新。例如,一个图像处理系统包括鉴黄应用、标签应用、人脸识别应用等多个图像处理应用,每个图像处理应用可以采用人工智能(Artificial Intelligence,简称AI)技术来进行图像处理,例如,采用卷积神经网络、决策树等模型等来对图像进行识别、分类,等等。为了得到更好的图像处理结果,需要不断对各应用进行更新优化,以使更新优化后的应用能够对图像进行更准确的识别。在对应用进行更新优化的过程中,每个需要更新优化的应用均需要从数据服务器中读取原始图像,被读取的原始图像例如可以进一步划分为训练图像和测试图像,采用训练图像来训练各应用所对应的AI模型,采用测试图像来测试训练好的AI模型的性能。如图2所示,N个AI应用(如图2中的AI应用1、AI应用2至AI应用N)均需要更新优化,每个AI应用在更新优化时均需要从数据服务器中读取数据。由此可见,该方案增加了数据服务器的网络访问压力。
为降低在对应用更新优化的过程中对数据服务器网络的访问压力,本申请将至少一个应用置于一个更新组中,更新组(Upgrade Group),即为应用所组成的集合。然后从数据服务器中读取包含至少一个应用所需要的源数据的源数据集,并基于源数据集向至少一个应用推送对应的源数据。在上述过程中,以源数据集的形式从数据服务器中获取应用更新所需要的源数据,使至少一个应用更新时可同时从同一个源数据集获取数据,避免了多个应用更新时分别访问数据服务器,造成数据服务器访问压力过大的问题。
需要说明的是,本申请实施例中所提供的应用更新系统实施例,可以但不限于应用于混合云、专有云等领域,可以达到降低网络的访问压力的目的。
如图1所示,应用更新系统包括:控制模块101、数据模块103、至少一个应用105(图1仅示出了一个)。
其中,控制模块101,用于确定至少一个应用,对应用的更新包括对应用的源数据进行更新处理。数据模块103,用于获取源数据集,并基于源数据集,向至少一个应用推送所需要的源数据,以对至少一个应用的源数据进行更新处理,其中,源数据集包括至少一个应用所需要的源数据。
需要说明的是,在本申请中,应用可以为但不限于机器人、语言识别、自然语言处理、专家系统以及对图片或视频的鉴黄、暴恐、标签、人脸识别等图像识别方面的应用。其中,不同的应用在更新的过程中可能需要相同的源数据,例如,具有人脸识别功能的应用A和具有鉴黄功能的应用B同属于一个AI图像处理系统,这两个应用在更新过程中均需要使用图片作为源数据,并且,两个应用可以采用相同的图片集作为源数据。另外,在本发明中,源数据存储于数据服务器中,数据服务器可以是一台服务器,也可以是由多台服务器所组成的云服务器集群;当数据服务器为多台服务器所组成的云服务器集群时,这多台服务器可以部署于相同的地理位置,也可以作为分布式系统部署于多个地理位置,本发明对数据服务器的具体部署情况不做限制。
另外,上述控制模块和数据模块可设置于数据服务器中,也可设置于与数据服务器不同的服务器中。优选地,控制模块和数据模块所在的服务器与数据服务器不同。控制模块和数据模块所在的服务器(简称更新控制服务器)从数据服务器处统一获取各应用所需要的源数据,并将其分别推送至各应用。这样,经过更新控制服务器的中转,应用无需像图2所示一样一一向数据服务器请求源数据,避免了相同源数据的重复请求和传输,大大减小了数据服务器的访问压力。另外,更新控制服务器与数据服务器为不同的服务器,也使得应用所实际接受的源数据与数据服务器处存储的源数据相互隔离,从而避免控制模块或数据模块出现故障,对数据服务器处的源数据造成影响,例如,造成数据服务器处的源数据出错或者丢失。
在一种可选的方案中,如图3所示的一种可选的应用更新装置的结构示意图。应用更新装置100包括控制模块101和数据模块103。具体的,控制模块确定需要进行更新的应用,并根据应用创建更新组,此时,更新组中的元素为应用,如图3中的更新组包含了AI应用1、AI应用2至AI应用N等多个应用。在确定了需要更新的应用之后,控制模块获取第一控制信息,并将第一控制信息发送给数据模块,数据模块在接收到第一控制信息之后,从数据服务器中分批次获取源数据集。然后控制模块在接收到用于控制向至少一个应用单次推送的数据量的第二控制信息之后,将第二控制信息发送给数据模块,数据模块根据第二控制信息分批次向应用推送所需要的源数据。应用在接收到源数据之后,分别对源数据进行更新处理以完成该应用的更新。
需要说明的是,在本申请中,更新组是由应用所组成的集合。更具体地,更新组对应于一个应用列表,列表中的每一条记录对应于一个应用,每一条记录包括应用的标识(ID)、名称、所在服务器的IP地址等。
由上可知,基于更新组对多个应用进行策略控制的方式,通过确定至少一个应用,然后从数据服务器中获取源数据集,并基于源数据集向至少一个应用推送其所需要的源数据,以对至少一个应用的源数据进行更新处理,从而对至少一个应用进行更新。
容易注意到的是,数据模块作为读取数据服务器中源数据的通道,将数据服务器中的数据以源数据集的形式统一推送给更新组中的应用,避免了多个应用多次读取数据服务器中的数据,导致数据服务器的网络访问压力大的问题。
由上述内容可知,本申请所提供的应用更新装置可以解决现有技术需要较大的数据访问流量对多个应用进行更新导致数据服务器的网络访问压力大的技术问题。
在一种可选的方案中,控制模块通过向多个应用发送通知消息,以通知各应用可进行更新。应当指出,每一个应用均位于其相应的服务器上,上述多个应用可位于同一个服务器,也可以位于不同的服务器,各应用所在的服务器可以用IP地址来标识。相应的,控制模块101向多个应用发送通知消息的步骤相当于,控制模块101向应用所在的服务器发送通知消息。在应用接收到通知消息之后,如果该应用确认需要更新,则向控制模块返回响应消息以确认启动更新。控制模块在接收到响应消息之后,将返回响应消息的应用作为所确定的应用。
需要说明的是,在上述过程中,响应消息除包括应用的确认信息之外,还包括应用的标识信息,控制模块在接收到响应消息之后,将该响应消息对应的应用的标识信息加入至更新组所对应的应用列表中。
进一步地,在确定了应用之后,控制模块向数据模块发送第一控制信息,数据模块根据第一控制信息从数据服务器中分批次获取源数据集,其中,数据模块每次获取的数据量由第一控制信息决定。在得到源数据集之后,控制模块向数据模块发送第二控制信息,数据模块根据第二控制信息分批次向至少一个应用推送其所需要的源数据。
需要说明的是,在上述过程中,第一控制信息用于控制从数据服务器单次获取的数据量,第二控制信息用于控制向应用单次推送的数据量,其中,从数据服务器单次获取的数据量与向应用单次推送的数据量可以相同,也可以不同;另外,针对不同的应用,单次推送的数据量可以相同,也可以不同。
在一种可选的方案中,数据模块还接收来自至少一个应用的存储资源访问信息,然后再分别向至少一个应用推送其所需要的源数据,其中,存储资源访问信息用于表明一个应用所需的源数据的地址。具体的,数据模块根据存储资源访问信息来确定应用所需要的源数据的地址,然后再根据源数据的地址从源数据集中提取出应用所需要的源数据,最后将提取出的源数据推送至相应的应用中。应当指出,源数据的地址指的是源数据在数据服务器中的存储位置,当不采用控制模块和数据模块时,应用可以直接向数据服务器请求该地址处的数据。当采用控制模块和数据模块时,数据模块从数据服务器处获取的每一条数据都携带有地址信息,相应地,数据模块可以根据源数据的地址来从源数据集中提取出应用所需要的源数据。
进一步地,在向至少一个应用推送所需要的源数据的步骤之后,应用可以向数据模块和控制模块发送反馈消息。例如,应用可以向数据模块和控制模块发送确认消息,相应地,数据模块和控制模块均可接收到来自于应用的确认消息,该确认消息表示应用已成功接收并处理了相应的源数据。当然,应用可以向数据模块和控制模块发送失败消息,相应地,数据模块和控制模块均可接收到来自于应用的失败消息,该失败消息表示应用未成功接收或未成功处理相应的源数据。
需要说明的是,由于各应用的更新进度可能是不同的,因此,在多个应用更新成功或失败之后,多个应用将各自对应的反馈消息发送给数据模块和控制模块。
进一步地,控制模块还接收数据模块反馈的更新组内应用的更新进度信息,其中,在更新进度信息指示更新组中的应用均已更新成功之后,控制模块向控制终端返回更新成功的消息,并在控制终端的显示界面上显示更新成功的提示信息。
需要说明的是,在本发明中,整个应用更新过程可以由控制终端来触发启动,或者在满足预设条件时触发控制模块自动启动。当由控制终端来启动时,控制终端向控制模块所在的服务器下发更新指令,控制模块所在的服务器在接收到更新指令之后对应用进行更新,其中,上述控制终端可以为但不限于电脑、平板等设备。
另外,在将源数据推送至更新组中的至少一个应用之前,控制模块还可以对源数据集所在的数据服务器进行流量访问控制,以限制获取源数据集所占用的网络带宽。
实施例2
根据本申请实施例,还提供了一种应用更新方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请提供了如图4所示的一种应用更新方法。需要说明的是,本申请实施例中所提供的应用更新方法实施例,应用场景和技术场景可以但不限于与实施例1中所描述的内容相同。
图4是根据本申请实施例的一种应用更新方法的流程图,如图4所示,该方法还包括如下方法步骤:
步骤S502,确定至少一个应用,对应用的更新包括对应用的源数据进行更新处理。
需要说明的是,在本实施例中,执行应用更新方法的主体为服务器,其中,应用可设置在执行应用更新方法的服务器中,也可设置在与执行应用更新方法的服务器不同的设备中。另外,该执行应用更新方法的服务器可以为数据服务器,也可以为与数据服务器不同的服务器。该服务器中的控制模块和数据模块可实现对应用的更新,其中,控制模块用于可确定需要进行更新的应用,并在确定应用之后,创建更新组,以使应用以更新组的形式进行更新;数据模块用于从数据服务器中读取应用更新所需要的源数据,并将源数据推送给相应地应用。
此外,还需要说明的是,更新组是由应用所组成的集合。可选的,更新组可以为一个应用列表,该列表中的每一条记录对应于一个应用,每一条记录包括应用的标识(ID)、名称、所在服务器的IP地址等。应用可以为但不限于机器人、语言识别、自然语言处理、专家系统以及对图片或视频的鉴黄、暴恐、标签、人脸识别等图像识别方面的应用。
步骤S504,获取源数据集,源数据集包括至少一个应用所需要的源数据。
在本发明中,源数据存储于数据服务器中。在一种可选的方案中,数据服务器为控制模块和数据模块所在的服务器不同的服务器,其中,控制模块和数据模块所在的服务器(简称更新控制服务器)可从数据服务器统一获取各应用所需要的源数据,并将其分别推送至各个应用。由此,经过更新控制服务器的中转,应用无需像图2所示一样一一向数据服务器请求源数据,避免了相同源数据的重复请求和传输,大大减小了数据服务器的访问压力。另外,更新控制服务器与数据服务器为不同的服务器,也使得应用所实际接受的源数据与数据服务器处存储的源数据相互隔,从而避免控制模块或数据模块出现故障,对数据服务器处的源数据造成影响,例如,造成数据服务器处的源数据出错或者丢失。
此外,还需要说明的是,不同的应用在更新的过程中可能需要相同的源数据,例如,对于具有人脸识别功能的应用A和具有鉴黄功能的应用B,两个应用在更新过程中均需要使用图片作为源数据,并且,两个应用可以采用相同的图片集作为源数据。
步骤S506,基于源数据集,向至少一个应用推送所需要的源数据,以对至少一个应用的源数据进行更新处理。
在一种可选的方案中,数据模块每隔预设时间从数据服务器中获取源数据,然后将多次获取到的源数据作为源数据集,并基于源数据集,分别向更新组中对应的应用推送其所需要的源数据。或者,控制模块检测应用的更新状态,当检测到应用在该状态下需要使用源数据时,控制模块向数据模块发送更新消息。数据模块在接收到更新消息之后,将源数据集中的源数据推送给对应的应用。
基于上述步骤S502至步骤S506所限定的方案,可以获知,采用更新组对多个应用进行策略控制的方式,通过确定至少一个应用,然后获取源数据集,源数据集包括至少一个应用所需要的源数据。基于源数据集分别向至少一个应用推送其所需要的源数据,以对至少一个应用的源数据进行更新处理,从而进一步实现对至少一个应用的更新。
容易注意到的是,控制模块作为读取数据服务器中源数据的通道,将数据服务器中的数据以源数据集的形式统一推送给更新组中的应用,避免了多个应用多次读取数据服务器中的数据,导致网络的访问压力大的问题。
由上述内容可知,本申请所提供的应用更新系统可以解决现有技术需要较大的数据访问流量对多个应用进行更新导致网络访问压力大的技术问题。
需要说明的是,根据一种实施例,控制模块可通过如下步骤S5020-S5024来具体实现前述步骤S502,确定至少一个应用:
步骤S5020,向当前存在的多个应用发送通知消息,其中,通知消息用于通知多个应用启动更新;
步骤S5022,接收至少一个应用返回的响应消息,其中,响应消息用于确认启动更新;
步骤S5024,将返回了响应消息的应用作为所确定的应用。
在一种可选的方案中,控制模块可对位于服务器中的应用进行检测,确定是否存在应用版本高于当前应用版本的服务器中的应用,或检测服务器中的应用是否存在更新程序,如果存在,则确定该应用需要更新优化,然后控制模块获取该应用的标识,并将该应用的标识添加至更新组中,例如,控制模块检测到应用版本高于当前应用版本的人脸识别的应用,则控制模块获取人脸识别的应用的标识,将该标识记录在更新组中。
在另一种可选的方案中,控制模块与应用的交互图如图5所示。具体步骤如下:
步骤S60,控制模块可对应用进行检测,确定服务器中存在需要更新优化的应用,然后,控制模块创建更新组。
步骤S62,控制模块生成通知消息,并将通知消息发送至服务器中的应用。
步骤S64,服务器中应用在接收到通知消息之后,确定自身需要更新优化,并申请加入更新组。
步骤S66,服务器中的应用将确认更新的响应消息反馈至控制模块,控制模块根据响应消息确定更新组创建成功。
需要说明的是,在加入更新组之后,应用向控制模块发送响应消息,该响应消息除可用于提示控制模块应用已成功加入更新组之外,还可用于向控制模块返回存储资源访问信息,其中,存储资源访问信息用于表明应用更新所需要的源数据是源数据集中的全量数据或部分数据。例如,AI应用在对视频数据进行处理时,可能需要对全部的视频数据进行处理,也可能仅需要处理部分视频数据,例如,仅处理视频数据中的视频流数据、音频流数据、视频流数据中的字母数据等。
由上述内容可知,为避免每个应用均到数据服务器中获取源数据,数据模块可对源数据进行预处理,将预处理后的数据直接推送至相应的应用,从而减少了多个应用同时访问数据服务器的网络访问流量。
此外,还需要说明的是,在确定了服务器中的应用,并将应用加入至更新组之后,控制模块向数据模块发送第一控制信息,以控制数据模块获取源数据集,具体步骤如下:
步骤S5040,获取第一控制信息,其中,第一控制信息用于控制从数据服务器单次获取的数据量;
步骤S5042,按照第一控制信息从数据服务器中分批次获取源数据集。
具体的,在确定了应用之后,控制模块将应用加入至更新组,并对加入更新组中的各应用的存储资源访问信息进行汇总,生成策略控制信息,即上述第一控制信息,然后利用策略控制信息控制数据模块启动存储数据访问,从数据服务器多次读取源数据,并将多次读取到的源数据组成源数据集。
进一步地,在获取源数据集之后,数据模块向至少一个应用推送所需要的源数据,具体步骤如下:
步骤S5060,获取第二控制信息,其中,第二控制信息用于控制向应用单次推送的数据量;
步骤S5062,按照第二控制信息分批次向应用推送所需要的源数据。
需要说明的是,第一控制信息用于控制从数据服务器单次获取的数据量,第二控制信息用于控制向应用单次推送的数据量,其中,从数据服务器单次获取的数据量与向应用单次推送的数据量可以相同,也可以不同。
在一种可选的方案中,在向应用推送其所需要的源数据之前,数据模块还接收来自于各应用的存储资源访问信息,其中,存储资源访问信息用于表明一个应用所需的源数据的地址。需要说明的是,不同类型的源数据所对应不同的源数据的地址,例如,视频流数据与音频流数据在数据服务器中地址不同。因此,在向应用推送源数据之前,需要确定应用所需的源数据的地址。
具体的,数据模块根据存储资源访问信息来确定应用所需要的源数据的地址,然后再根据源数据的地址从源数据集中提取出应用所需要的源数据,最后将提取出的源数据推送至相应的应用中。例如,数据模块可确定人脸识别的AI应用所需要的源数据的类型为视频流数据以及图像数据,数据模块进一步确定视频流数据以及图像数据在源数据集中的位置,即源数据的地址,进而根据得到的源数据的地址从源数据集中读取视频流数据以及图像数据,并将读取到的视频流数据以及图像数据推送给人脸识别的AI应用。
进一步地,在分别向至少一个应用推送其所需要的源数据的步骤之后,数据模块和控制模块均可接收到来自于应用的反馈消息,该反馈消息包括确认消息和失败消息,其中,确认消息表示应用已成功接收并处理了相应的源数据,失败消息用于标识应用未成功接收或未成功处理相应的源数据。
需要说明的是,由于不同应用的更新进度可能是不同的,因此,多个应用更新成功之后,各应用将各自对应的确认消息发送给数据模块和控制模块。
可选的,控制模块还接收数据模块反馈的应用的更新进度信息,其中,在更新进度信息指示应用已更新成功之后,控制模块可将更新成功的消息发送至应用对应的物理机中,物理机在接收到更新成功的消息之后,在显示界面上显示更新成功的提示信息。
此外,还需要说明的是,为避免AI应用更新的过程中,数据模块获取数据的数据量较大导致数据服务器异常,在将待获取的原始数据推送至更新组中的AI应用之前,控制模块还对源数据集所在的数据服务器进行流量访问控制,以限制获取源数据集所占用的网络带宽。
在一种可选的方案中,图6示出了基于应用更新装置的交互示意图。其中,基于图6的交互步骤如下:
步骤S70,控制模块对服务器中的应用进行检测,确定存在需要更新优化的应用,然后,控制模块启动升级,并对数据服务器进行权限和流量配置,以控制在读取源数据过程中的带宽使用量。
步骤S71,在数据服务器设置成功之后,数据服务器向控制模块发送设置成功的消息。
步骤S72,在接收到数据服务器设置成功的消息之后,控制模块通知数据模块访问数据服务器,同时根据应用发送的存储资源访问信息确定各应用所需要的源数据的地址。
步骤S73,数据模块在接收到控制模块发送的可访问数据服务器的消息之外,还接收到应用所需要的源数据的地址,根据源数据的地址读取源数据。
步骤S74,数据服务器返回数据模块读取到的源数据。
步骤S75,数据模块发送读取到的源数据至应用。
步骤S76,应用读取源数据,并进行更新。
步骤S77,应用返回反馈消息,其中,反馈消息包括确认消息和失败消息。
步骤S78,数据模块将反馈消息反馈给控制模块。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的用更新方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例3
本申请的实施例可以提供一种计算设备,该计算设备中部署有前述应用更新装置,使得该计算设备可以执行如前所述的应用更新方法。计算设备例如可以是服务器,但不限于此。
可选地,在本实施例中,上述计算设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算设备包括用于可以执行应用更新方法中以下步骤的程序代码:确定至少一个应用,对应用的更新包括对应用的源数据进行更新处理;获取源数据集,源数据集包括至少一个应用所需要的源数据;基于源数据集,向至少一个应用推送所需要的源数据,以对至少一个应用的源数据进行更新处理。
可选地,图7是根据本申请实施例的一种计算设备的结构框图。如图7所示,该计算设备90可以包括:一个或多个(图中仅示出一个)处理器902、存储器904、以及传输装置906。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的应用更新方法对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用更新方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备90。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:确定至少一个应用,对应用的更新包括对应用的源数据进行更新处理;获取源数据集,源数据集包括至少一个应用所需要的源数据;基于源数据集,向至少一个应用推送所需要的源数据,以对至少一个应用的源数据进行更新处理。
可选的,上述处理器还可以执行如下步骤的程序代码:向当前存在的多个应用发送通知消息,其中,通知消息用于通知多个应用启动更新;接收至少一个应用返回的响应消息,其中,响应消息用于确认启动更新;将返回了响应消息的应用作为所确定的应用。
可选的,上述处理器还可以执行如下步骤的程序代码:获取第一控制信息,其中,第一控制信息用于控制从数据服务器单次获取的数据量;按照第一控制信息从数据服务器中分批次获取源数据集。
可选的,上述处理器还可以执行如下步骤的程序代码:获取第二控制信息,其中,第二控制信息用于控制向应用单次推送的数据量;按照第二控制信息分批次向应用推送所需要的源数据。
可选的,上述处理器还可以执行如下步骤的程序代码:接收来自于至少一个应用的存储资源访问信息,其中,存储资源访问信息用于表明应用所需的源数据的地址。
可选的,上述处理器还可以执行如下步骤的程序代码:根据存储资源访问信息来确定至少一个应用所需要的源数据的地址;根据源数据的地址从源数据集中提取出至少一个应用所需要的源数据;将提取出的源数据推送至相应的应用。
可选的,上述处理器还可以执行如下步骤的程序代码:接收来自于应用的反馈消息,其中,反馈消息包括确认消息和失败消息,确认消息用于表示应用已成功接收并处理了相应的源数据,失败消息用于表示应用未成功接收或未成功处理相应的源数据。
可选的,上述处理器还可以执行如下步骤的程序代码:对源数据集所在的数据服务器进行流量访问控制,以限制获取源数据集所占用的网络带宽。
本领域普通技术人员可以理解,图7所示的结构仅为示意,计算设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternetDevices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,计算设备90还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例4
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述应用更新方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算设备群中的任意一个计算设备中,或者位于移动终端群中的任意一个计算设备中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:确定至少一个应用,对应用的更新包括对应用的源数据进行更新处理;获取源数据集,源数据集包括至少一个应用所需要的源数据;基于源数据集,向至少一个应用推送所需要的源数据,以对至少一个应用的源数据进行更新处理。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:向当前存在的多个应用发送通知消息,其中,通知消息用于通知多个应用启动更新;接收至少一个应用返回的响应消息,其中,响应消息用于确认启动更新;将返回了响应消息的应用作为所确定的应用。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取第一控制信息,其中,第一控制信息用于控制从数据服务器单次获取的数据量;按照第一控制信息从数据服务器中分批次获取源数据集。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取第二控制信息,其中,第二控制信息用于控制向应用单次推送的数据量;按照第二控制信息分批次向应用推送其所需要的源数据。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收来自于至少一个应用的存储资源访问信息,其中,存储资源访问信息用于表明应用所需的源数据的地址。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据存储资源访问信息来确定至少一个应用所需要的源数据的地址;根据源数据的地址从源数据集中提取出至少一个应用所需要的源数据;将提取出的源数据推送至相应的应用。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收来自于应用的反馈消息,其中,反馈消息包括确认消息和失败消息,确认消息用于表示应用已成功接收并处理了相应的源数据,失败消息用于表示应用未成功接收或未成功处理相应的源数据。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:对源数据集所在的数据服务器进行流量访问控制,以限制获取源数据集所占用的网络带宽。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (9)

1.一种应用更新方法,包括:
确定至少一个应用,其中,对应用的更新包括对所述应用的源数据进行更新处理;
获取源数据集,所述源数据集包括所述至少一个应用更新所需要的源数据;
基于所述源数据集,向所述至少一个应用推送所需要的源数据,以对所述至少一个应用的源数据进行更新处理;
所述确定至少一个应用的步骤包括:向当前存在的多个应用发送通知消息,其中,所述通知消息用于通知所述多个应用启动更新;接收所述至少一个应用返回的响应消息,其中,所述响应消息用于确认启动更新以及用于返回存储资源访问信息,所述存储资源访问信息用于表示所述多个应用更新所需要的源数据是所述源数据集中的全量数据或部分数据;将返回了所述响应消息的应用作为所确定的应用。
2.根据权利要求1所述的方法,其中,所述获取源数据集的步骤包括:
获取第一控制信息,其中,所述第一控制信息用于控制单次获取的数据量;
按照所述第一控制信息分批次获取所述源数据集。
3.根据权利要求1所述的方法,其中,所述向所述至少一个应用推送所需要的源数据的步骤包括:
获取第二控制信息,其中,所述第二控制信息用于控制向所述应用单次推送的数据量;
按照所述第二控制信息分批次向所述应用推送所需要的源数据。
4.根据权利要求1所述的方法,其中,在所述向所述至少一个应用推送所需要的源数据的步骤之前,还包括:
接收来自于所述至少一个应用的存储资源访问信息,其中,所述存储资源访问信息用于表明应用所需要的源数据的地址;
所述向所述至少一个应用推送所需要的源数据的步骤包括:
根据存储资源访问信息来确定所述至少一个应用所需要的源数据的地址;
根据所述源数据的地址从所述源数据集中提取出所述至少一个应用所需要的源数据;
将提取出的源数据推送至相应的应用。
5.根据权利要求1所述的方法,其中,在所述向所述至少一个应用推送所需要的源数据的步骤之后,还包括:
接收来自于所述至少一个应用的反馈消息,其中,所述反馈消息包括确认消息和失败消息,所述确认消息用于表示所述应用已成功接收并处理了相应的源数据,所述失败消息用于表示所述应用未成功接收或未成功处理相应的源数据。
6.根据权利要求1所述的方法,其中,在所述获取源数据集的步骤之前,还包括:
对所述源数据集所在的数据服务器进行流量访问控制,以限制获取所述源数据集所占用的网络带宽。
7.一种应用更新装置,包括:
控制模块,用于确定至少一个应用,其中,对应用的更新包括对所述应用的源数据进行更新处理;
数据模块,用于获取源数据集,并基于所述源数据集,向所述至少一个应用推送所需要的源数据,以对所述至少一个应用的源数据进行更新处理,其中,所述源数据集包括所述至少一个应用更新所需要的源数据;
所述控制模块,还用于向当前存在的多个应用发送通知消息,其中,所述通知消息用于通知所述多个应用启动更新;接收所述至少一个应用返回的响应消息,其中,所述响应消息用于确认启动更新以及用于返回存储资源访问信息,所述存储资源访问信息用于表示所述多个应用更新所需要的源数据是所述源数据集中的全量数据或部分数据;将返回了所述响应消息的应用作为所确定的应用。
8.一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在的计算设备执行如权利要求1至6中任一项所述的方法。
9.一种计算设备,包括:
至少一个处理器;以及
存储有程序指令的存储器,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1至6中任一项所述的方法的指令。
CN201810807576.7A 2018-07-18 2018-07-18 应用更新方法和装置 Active CN110737447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810807576.7A CN110737447B (zh) 2018-07-18 2018-07-18 应用更新方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810807576.7A CN110737447B (zh) 2018-07-18 2018-07-18 应用更新方法和装置

Publications (2)

Publication Number Publication Date
CN110737447A CN110737447A (zh) 2020-01-31
CN110737447B true CN110737447B (zh) 2023-11-14

Family

ID=69235279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810807576.7A Active CN110737447B (zh) 2018-07-18 2018-07-18 应用更新方法和装置

Country Status (1)

Country Link
CN (1) CN110737447B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710748A (zh) * 2012-05-02 2012-10-03 华为技术有限公司 数据获取方法、系统及设备
CN103166992A (zh) * 2011-12-14 2013-06-19 中国电信股份有限公司 应用于云存储的快速文件更新方法及系统
CN103678319A (zh) * 2012-09-03 2014-03-26 腾讯科技(深圳)有限公司 资源文件更新方法、装置和系统及服务器
CN104618410A (zh) * 2013-11-04 2015-05-13 腾讯科技(北京)有限公司 资源推送方法和装置
CN104750738A (zh) * 2013-12-30 2015-07-01 中国移动通信集团公司 一种更新数据信息的方法、数据节点、管理节点及系统
CN105159691A (zh) * 2015-10-30 2015-12-16 北京奇虎科技有限公司 更新元数据的方法及装置
CN105938448A (zh) * 2015-03-03 2016-09-14 国际商业机器公司 用于数据复制的方法和装置
CN108011857A (zh) * 2016-11-01 2018-05-08 北京京东尚科信息技术有限公司 数据动态加密传输配置方法和装置
CN108111331A (zh) * 2017-11-06 2018-06-01 北京趣拿软件科技有限公司 更新数据包的获取方法、装置、存储介质、处理器及系统
CN108259523A (zh) * 2016-12-28 2018-07-06 阿里巴巴集团控股有限公司 一种数据传输方法及物联网系统、网络访问方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006020A (ja) * 2001-06-26 2003-01-10 Hitachi Ltd 複製データベースアクセス装置とそのアクセス方法
JP2006323721A (ja) * 2005-05-20 2006-11-30 Fuji Xerox Co Ltd データ管理システム及びデータサーバ及びデータ管理方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166992A (zh) * 2011-12-14 2013-06-19 中国电信股份有限公司 应用于云存储的快速文件更新方法及系统
CN102710748A (zh) * 2012-05-02 2012-10-03 华为技术有限公司 数据获取方法、系统及设备
CN103678319A (zh) * 2012-09-03 2014-03-26 腾讯科技(深圳)有限公司 资源文件更新方法、装置和系统及服务器
CN104618410A (zh) * 2013-11-04 2015-05-13 腾讯科技(北京)有限公司 资源推送方法和装置
CN104750738A (zh) * 2013-12-30 2015-07-01 中国移动通信集团公司 一种更新数据信息的方法、数据节点、管理节点及系统
CN105938448A (zh) * 2015-03-03 2016-09-14 国际商业机器公司 用于数据复制的方法和装置
CN105159691A (zh) * 2015-10-30 2015-12-16 北京奇虎科技有限公司 更新元数据的方法及装置
CN108011857A (zh) * 2016-11-01 2018-05-08 北京京东尚科信息技术有限公司 数据动态加密传输配置方法和装置
CN108259523A (zh) * 2016-12-28 2018-07-06 阿里巴巴集团控股有限公司 一种数据传输方法及物联网系统、网络访问方法
CN108111331A (zh) * 2017-11-06 2018-06-01 北京趣拿软件科技有限公司 更新数据包的获取方法、装置、存储介质、处理器及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Web客户端数据实时更新解决方案;钟杰卓;;硅谷(18);全文 *

Also Published As

Publication number Publication date
CN110737447A (zh) 2020-01-31

Similar Documents

Publication Publication Date Title
CN111831548B (zh) 一种依赖关系拓扑图的绘制方法和装置
CN104580376B (zh) 在局域网中建立终端之间连接的方法、装置和系统
CN105871587A (zh) 日志上传方法及装置
CN110134528A (zh) 微服务框架的接口信息存储调用方法、装置和终端设备
CN110855548A (zh) 一种消息推送方法及装置
CN112181677A (zh) 业务的处理方法和装置、存储介质、电子装置
CN105450682A (zh) 一种用于数据同步保存、向客户端同步数据的方法、装置和系统
CN111083204B (zh) 文件传输方法、装置及存储介质
CN110750206B (zh) 数据处理方法、装置及系统
CN107704365B (zh) 一种移动端混合应用的监控数据上报方法及装置
CN113779422A (zh) 关系链标签的实现方法、装置、电子设备及存储介质
CN110737447B (zh) 应用更新方法和装置
CN108965905A (zh) 一种直播数据推流及提供和获取推流地址的方法、装置
TW201741895A (zh) 電話號碼的變更校驗方法、裝置和系統
CN113064906B (zh) 一种Binlog日志数据适配迁移方法和系统
CN103297598B (zh) 信息处理设备、系统和方法
CN109672718A (zh) 系统间的文件传递方法、服务器、存储介质及装置
CN114816785A (zh) 业务数据处理方法、装置、电子设备及存储介质
CN110769064B (zh) 一种用于离线推送消息的系统、方法和设备
CN113934552A (zh) 功能代码的确定方法及装置、存储介质、电子装置
CN113434234A (zh) 页面跳转方法、装置、计算机可读存储介质及处理器
CN111063107A (zh) 无人零售终端的控制方法、服务端和无人零售终端
CN113852919B (zh) 预警消息的生成方法和装置、存储介质及电子装置
CN113434399B (zh) 业务节点日志的处理方法和装置、存储介质及电子装置
CN109325134A (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