CN109032634A - 用于更新应用的方法、装置、设备和计算机可读存储介质 - Google Patents

用于更新应用的方法、装置、设备和计算机可读存储介质 Download PDF

Info

Publication number
CN109032634A
CN109032634A CN201810778200.8A CN201810778200A CN109032634A CN 109032634 A CN109032634 A CN 109032634A CN 201810778200 A CN201810778200 A CN 201810778200A CN 109032634 A CN109032634 A CN 109032634A
Authority
CN
China
Prior art keywords
application
control
update
interface image
interface
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
CN201810778200.8A
Other languages
English (en)
Other versions
CN109032634B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201810778200.8A priority Critical patent/CN109032634B/zh
Publication of CN109032634A publication Critical patent/CN109032634A/zh
Priority to KR1020190080783A priority patent/KR102204527B1/ko
Priority to US16/511,547 priority patent/US11507856B2/en
Priority to JP2019131031A priority patent/JP6783907B2/ja
Application granted granted Critical
Publication of CN109032634B publication Critical patent/CN109032634B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Abstract

根据本公开内容的示例性实现方式,提供了一种用于更新应用的方法。在该方法中,获取在应用的实例的运行期间产生的界面图像,应用的实例运行在应用试用平台处,应用试用平台可通信地耦合至应用的服务器。接着,提取与界面图像中的控件相关联的多个属性。基于提取的多个属性,确定界面图像是否指示存在由服务器发布的应用的更新。继而,响应于确定界面图像指示存在更新,在应用试用平台处更新应用的实例。根据本公开内容的示例性实现方式,还提供了用于更新应用的装置、设备和计算机存储介质。

Description

用于更新应用的方法、装置、设备和计算机可读存储介质
技术领域
本公开内容的实现方式概括地涉及更新应用,并且更具体地,涉及用于在应用试用平台处更新应用的方法、装置、设备和计算机存储介质。
背景技术
随着移动设备的处理能力的提高,目前已经出现了越来越多的用于在移动设备处安装的应用。随着应用的功能的进一步复杂,应用的安装包也变得越来越大。移动设备的用户通常需要花费大量时间来下载并安装应用。如果发现应用的功能未能达到自己的期望,则用户通常会卸载已经安装的应用。
目前已经出现了越来越多的应用试用平台。这些应用试用平台支持用户在不在自己的移动设备上安装应用的情况下,通过应用试用平台来预先试用应用的功能。由于应用的开发者会经常发布更新版本的应用,这要求试用平台随之不断更新平台上的应用的版本,以确保用户可以使用最新的应用。因而,期望能够提供一种以更为方便并且有效的方式来更新应用的技术方案。
发明内容
根据本公开内容的示例实现方式,提供了一种用于更新应用的方案。
在本公开内容的第一方面中,提供了一种用于更新应用的方法。在该方法中,获取在所述应用的实例的运行期间产生的界面图像,所述应用的所述实例运行在应用试用平台处,所述应用试用平台可通信地耦合至所述应用的服务器。接着,提取与所述界面图像中的控件相关联的多个属性。基于提取的所述多个属性,确定所述界面图像是否指示存在由所述服务器发布的所述应用的更新。继而,响应于确定所述界面图像指示存在所述更新,在所述应用试用平台处更新所述应用的所述实例。
在本公开内容的第二方面中,提供了一种用于更新应用的装置。该装置包括:获取模块、提取模块、确定模块以及更新模块。具体地,该获取模块被配置用于获取在应用的实例的运行期间产生的界面图像,应用的实例运行在应用试用平台处,应用试用平台可通信地耦合至应用的服务器。该提取模块被配置用于提取与界面图像中的控件相关联的多个属性。该确定模块被配置用于基于提取的多个属性,确定界面图像是否指示存在由服务器发布的应用的更新。该更新模块被配置用于响应于确定界面图像指示存在更新,在应用试用平台处更新应用的实例。
在本公开内容的第三方面中,提供了一种设备。该设备包括一个或多个处理器;以及存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现根据本公开内容的第一方面的方法。
在本公开内容的第四方面中,提供了一种其上存储有计算机程序的计算机可读介质,该程序在被处理器执行时实现根据本公开内容的第一方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开内容的实现方式的关键或重要特征,亦非用于限制本公开内容的范围。本公开内容的其他特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开内容的各实现方式的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示意性示出了其中可以采用根据本公开内容的示例性实现方式的技术方案的应用环境的图示;
图2示意性示出了根据本公开内容的示例性实现方式的技术方案的框图;
图3示意性示出了根据本公开内容的示例性实现方式的方法的流程图;
图4A示意性示出了根据本公开内容的示例性实现方式的用于获取控件知识模型的框图,图4B示意性示出了根据本公开内容的示例性实现方式的用于获取界面知识模型的框图;
图5示意性示出了根据本公开内容的示例性实现方式的用于更新控件知识模型的方法的流程图;
图6示意性示出了根据本公开内容的示例性实现方式的用于更新应用试用平台处的应用的其他实例的框图;
图7示意性示出了根据本公开内容的示例性实现方式的用于更新应用的装置的框图;以及
图8示出了能够实施本公开内容的多个实现方式的计算设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开内容的实现方式。虽然附图中显示了本公开内容的某些实现方式,然而应当理解的是,本公开内容可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实现方式,相反提供这些实现方式是为了更加透彻和完整地理解本公开内容。应当理解的是,本公开内容的附图及实现方式仅用于示例性作用,并非用于限制本公开内容的保护范围。
在本公开内容的实现方式的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实现方式”或“该实现方式”应当理解为“至少一个实现方式”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
图1示意性示出了其中可以采用根据本公开内容的示例性实现方式的技术方案的应用环境100的图示。图1示意性示出了应用试用平台110的一个示例。如图1所示,在应用试用平台110处可以运行多个应用的实例112、……、114等。例如,应用的实例112可以是安装在应用试用平台110处的游戏A,应用的实例114可以是安装在应用试用平台110处的游戏B。尽管在图1中未示出,在应用试用平台110处可以存在游戏A的多个实例。通常游戏的更新频率较高,因而在本公开的上下文中以游戏作为应用的实例来进行描述。将会理解,在本公开的上下文中,应用还可以包括其他程序,例如,用于购物、订票或者实现其他功能的程序。
如图1所示,应用试用平台110可用经由网络140来耦合至各个应用的服务器。例如,服务器130可用是用于游戏A的服务器,而服务器132可以是用于游戏B的服务器。此时,多个用户可以经由各自的移动设备120、……、122来在应用试用平台110上试用各个应用的功能。具体地,一个用户可以通过移动设备120并经由网络140来访问应用的实例112,另一用户可以通过移动设备122并经由网络140来访问应用的实例114。
由于应用的开发者会经常发布更新版本的应用,这要求应用试用平台110随之不断更新平台上的应用的版本。目前已经提出了通过定期抓取应用的最新安装包,并通过比较平台所使用的安装包的版本和最新安装包之间的差异来确定是否更新应用。然而,目前应用的更新通常不会修改原始安装包的内容,而是在应用运行过程中提示用户下载更新安装包(将其称为“热更新”)。现有技术并不能检测这种热更新,因而不能确保应用试用平台110中的应用版本被更新至最新。
基于现有技术中的上述不足,期望提供一种可以以更为方便快捷的方式来更新应用的技术方案。进一步,期望该技术方案可以与现有的技术方案相结合,并且在尽量不改变现有技术方案的硬件架构的情况下实现。
根据本公开内容的示例性实现方式,可以获取在应用的实例的运行期间产生的界面图像,并且基于对界面图像进行识别来确定是否存在更新。在下文中,将参见图2至图8进行详细描述。图2示意性示出了根据本公开内容的示例性实现方式的技术方案的框图200。如图2所示,可以在应用试用平台110上运行应用的实例112,并且在运行期间获取所产生的界面图像210。例如,可以通过定期截屏的方式来获取界面图像210,或者还可以在发现屏幕内容发生变化时获取界面图像210。
通常而言,界面图像210中将包括多个控件220,此时可以基于图像识别,来获取与界面图像210中的控件相关联的多个属性230。在图2示意性示出了对话框控件222(其中包括按钮224和226),该控件222的属性例如可以包括控件的文字、类型、位置等。继而,可以基于提取的多个属性,确定界面图像是否指示存在由服务器发布的应用的更新240。如果存在更新240,则可以下载与更新240相关联的安装包,并且执行更新。
在上述实现中,可以基于对运行在应用试用平台处应用的界面图像进行图像识别以提取控件的多个属性(例如,文字内容包括“更新”,颜色为“鲜明”等),并基于多个属性来检测应用的更新。以此方式,一方面可以在应用运行期间从界面图像210中检测“热更新”并执行更新;另一方面,可以在无需人工操作的情况下,通过图像识别来自动执行检测和更新。
在下文中,将参见图3详细描述有关更新应用更多细节。图3示意性示出了根据本公开内容的示例性实现方式的方法300的流程图。如图3所示,在框310处,获取在应用的实例112的运行期间产生的界面图像210,在此应用的实例112运行在应用试用平台110处,并且应用试用平台110可通信地耦合至应用的服务器130。在此实现中,用户不必在自己的移动设备120处安装应用,而是可以远程访问应用试用平台110处的应用的实例112。在运行期间,应用的实例112可以向应用的服务器130传输来自移动设备120的与用户的交互,并从应用的服务器130接收反馈。继而,应用的实例112可以将所显示的界面的内容发送至移动设备120。例如,可以以视频流的方式向用户发送界面内容。
在框320处,提取与界面图像中的控件220相关联的多个属性230。具体地,可以针对界面图像210中的各个控件来提取相关联的属性。通常而言,控件220将包括涉及应用的更新的内容。例如,在图2所示的控件222中显示“应用存在更新,是否下载安装包?”的提示。在此示例中,属性230例如可以包括控件中的文字。根据本公开的示例性实现,还可以基于以下中的任一项来提取多个属性:控件的文字、控件的类型、控件的位置、控件的样式以及控件是否可触发。
在框330处,基于提取的多个属性230,确定界面图像210是否指示存在由服务器130发布的应用的更新。例如,基于在与控件222相关联的上述文字中检测到“更新”字样,则可以确定存在更新。又例如,在提示更新的对话框中还可以包括例如“确定”、“版本”、“新版本”、“下载”、“安装包”等文字。此时,当检测到控件相关的属性230中存在上述文字时,则可以判断存在更新。将会理解,在此仅以在属性230中包括特定文字为示例描述了如何判断是否存在更新。根据本公开的示例性实现,还可以基于知识模型来基于属性的更多方面来确定是否存在更新。
在框340处,响应于确定界面图像210指示存在更新(即判断结果为“是”),则方法前进至框350。在框350处,在应用试用平台130处更新应用的实例112。例如,可以点击如图2所示的控件222中的按钮224以便下载与更新相关的安装包,继而在应用试用平台110处更新应用的实例112。
根据本公开的示例性实现,属性230可以包括多个方面。例如,除了上文描述的控件的文字以外,属性230还可以包括以下任一方面:控件的类型、控件的位置、控件的样式以及控件是否可触发。例如,控件的类型可以是对话框、选择框、按钮等。可以采用控件的中心(或者左上角)在屏幕中的相对位置来表示控件的位置。通常而言,为了显著起见,用于提示应用更新的控件通常位于屏幕中心。因而,如果发现控件中包括文字“更新”并且该控件位于屏幕中心位置,则可以确定应用存在更新。
根据本公开的示例性实现,属性230还可以包括控件220的样式(例如,颜色、字体、是否包括图标等)。通常而言,为了显著期间,用于提示应用更新的控件220通常被设置为显著的颜色、大字体并且包括例如叹号等图标。因而,如果发现控件220涉及上述内容,则可以确定应用存在更新。将会理解,上文仅以示例方式描述了属性可能涉及的多个方面的内容,在具体应用关键中,属性230还可以包括更多或者更少方面的内容。
将会理解,在存在大量属性的情况下,如果基于各个属性的具体数值来逐一判断各个属性是否满足存在更新的相应阈值,则将会使用大量判断语句,并且导致判断流程较为复杂。根据本公开的示例性实现,可以基于提取的多个属性确定控件的特征。以此方式,通过将多个属性映射至单一的特征,可以综合考虑控件多方面的因素与是否存在更新之间的关联关系。
根据本公开的示例性实现,可以利用线性回归方法,根据多个属性确定控件的特征。具体地,可以采用如下公式1来确定某个控件的特征:
在该公式1中,y表示控件的特征,n表示属性的数量,Xi表示多个属性中的第i个属性的得分,ai以及bi表示线性回归方法中针对第i个属性的权重和偏移。以此方式,可以以更为简单并且快捷的方式将多个属性映射至特征,以便于确定在应用中是否存在更新。
假设可以以[0,100]范围内的数值来表示各个属性的得分。例如,如果控件的文本中存在“更新”、“下载”等文字,则可以将属性“文本”的得分设置为较高数值(例如,80)。由于文本对于判断是否存在更新至关重要,因而可以对该属性赋予较高的权重(例如,1.5)和正向的偏移。又例如,如果控件的位置位于屏幕中央,则可以将属性“位置”的得分设置为较高的数值(例如,60)。由于控件的位置对于判断是否存在更新较为重要,因而可以对该属性赋予较高的权重(例如,1.2)和正向的偏移。利用上述示例性实现,可以基于各个属性的得分来确定控件的特征。
根据本公开的示例性实现,可以获取控件知识模型。在此的控件知识模型包括应用的更新与控件的特征之间的映射关系,知识模型可以是基于一组样本控件的特征以及与一组样本控件相关联的样本应用的更新来训练的。继而,如果确定控件的特征匹配于映射关系,确定界面图像指示存在更新。利用上述示例性实现,可以基于机器学习方法并利用基于已有知识训练而获得的知识模型,来辅助判断应用是否存在更新。
在下文中,将参见图4A描述如何基于控件的特征来确定是否存在更新。图4A示意性示出了根据本公开内容的示例性实现方式的用于获取控件知识模型420A的框图400A。如图4A所示,可以获取样本控件特征410A,在此的样本控件特征410A是指基于在先前运行应用而获得的,并且更新412A是指在先前运行应用时控件是否导致了更新。根据本公开的示例性实现,可以基于样本控件特征410A和更新412A来训练控件知识模型420A。具体地,可以获取一组样本控件的特征(该组样本控件导致了更新),并且还可以获取另一组样本控件的特征(该组样本控件未导致更新)。通过机器学习技术,可以训练并获得控件知识模型420A,以便基于该控件知识模型420A和当前获得的控件特征,可以确定在应用中是否存在更新。
根据本公开的示例性实现,假设一组样本控件特征均涉及文字“更新”并且该控件导致了更新。则在接收到涉及文字“更新”的控件特征时,采用基于上述样本训练所得的控件知识模型420A,可以确定在应用中存在更新。利用上述示例性实现,可以充分基于有关控件特征和是否存在更新的历史经验,来确定在应用的实例112的运行期间是否存在更新。
在上文中已经描述了如何基于控件特征来判断是否存在更新。由于应用界面中可能涉及其他复杂内容,因而单纯依赖于控件特征可能会出现误判的情况。此时,还可以基于界面图像210的整体内容来辅助判断是否存在更新。根据本公开的示例性实现,可以获取界面知识模型,在此界面知识模型包括应用的更新与界面图像之间的映射关系,界面知识模型是基于一组样本界面图像以及与一组样本界面图像相关联的样本应用的更新来训练的。继而,基于映射关系和界面图像,确定更新的可信度。在此实现中,如果基于界面图像的判断结果与基于控件特征的原始判断结果相一致,则可以确定原始判断结果具有较高的可信度,否则可以降低原始判断结果的可信度。
在下文中,将参见图4B描述如何基于界面图像210来确定是否存在更新。图4B示意性示出了根据本公开内容的示例性实现方式的用于获取界面知识模型的框图400B。如图4B所示,可以获取样本界面图像410B,在此的样本界面图像410B是指基于在先前运行应用而获得的,并且更新412B是指在先前运行应用时的界面图像210是否导致了更新。根据本公开的示例性实现,可以基于样本界面图像410B和更新412B来训练界面知识模型420B。具体地,可以获取一组样本界面图像(该组样本界面图像导致了更新),并且还可以获取另一组样本界面图像(该组样本界面图像未导致更新)。通过机器学习技术,可以训练并获得界面知识模型420B,以便基于该界面知识模型420B和当前获得的界面图像,可以确定在应用中是否存在更新。训练和使用界面知识模型420B的详细步骤类似于参见图4A描述的训练和使用控件知识模型420A,在下文中中将不再赘述。
根据本公开的示例性实现,可以触发控件以从服务器下载与更新相关联的数据。继而,在应用试用平台处,基于下载的数据更新应用的实例。返回图2所示的示例,采用上文描述的方法可以确定控件222指示在应用中存在更新,则此时可以点击控件222中的按钮224,以触发从服务器下载安装包的操作。利用上述示例性实现,可以利用从服务器处下载的有关更新的安装包,来更新在应用试用平台处运行的应用的实例112。
根据本公开的示例性实现,还可以基于在运行应用的实例112的后续时间是否导致了应用的更新,来进一步验证上文描述的知识模型(例如,控件知识模型420A和界面知识模型420B是否准确)。在下文中,将仅以控件知识模型420A为示例进行描述。图5示意性示出了根据本公开内容的示例性实现方式的用于更新控件知识模型的方法500的流程图。在框510处,在触发控件之后的预定时间点,获取应用的实例的另一界面图像。将会理解,在此的预定时间点例如可以是触发控件之后的2分钟(或者其他时间长度)。通常而言,如果应用中存在更新,则在触发例如上文描述的控件222之后,将会出现另一界面(例如,提示保存安装包的对话框、或者下载安装包的进度条,等)。此时,通过判断先前的界面图像与另一界面图像之间的差异,即可确定是否存在更新。
在框520处,可以判断另一界面图像与界面图像之间的差异的程度,如果差异低于预定阈值,则操作前进至框530处。如果另一界面图像与界面图像之间的差异低于预定阈值,则可以表示后续并未执行更新操作。此时,可以认为之前的知识模型导致了误判,因而在后续的框530处,可以在后续基于控件的特征更新映射关系,使得更新后的映射关系指示在特征与应用的更新之间不存在映射。
根据本公开的示例性实现,可以基于多种方式来确定两个界面图像之间的差异。例如,可以基于像素比较来确定差异,又例如,可以基于识别界面图像中的文字或者图像内容来确定差异。可以以数值的方式来衡量差异的程度,例如可以以预定数值范围[0,100]来作为差异的范围。此时,可以将预定阈值设置为60或者其他数值。
在一个示例中,假设触发控件之后显示下载进度条,则可以确定下载进度条与先前界面图像中的提示更新对话框完全不同,此时可以确定基于当前的知识模型可以获得正确的判断结果,此时不必更新知识模型。在另一示例中,假设触发控件后界面仍然显示当前的游戏界面,则可以确定两个界面图像之间的差异低于预定阈值。继而,可以基于控件的特征来更新控件知识模型420A,还可以基于界面图像来更新界面知识模型420B。
利用上述示例性实现,一方面,可以基于实际运行应用的实例112是否导致了更新来校正控件知识模型420A和界面知识模型420B中的错误。另一方面,在训练知识模型初始阶段仅存在较少样本的情况下,还可以基于在两个界面图像之间的差异高于预定阈值的情况,获取导致更新的样本,并基于在两个界面图像之间的差异低于预定阈值的情况,获取没有导致更新的样本。以此方式,可以通过自主学习的方式来获取用于训练的样本。
根据本公开的示例性实现,上文描述的方法300可以在应用试用平台110处执行。根据本公开的示例性实现,应用的实例112接收来自移动设备120的用户输入以及向移动设备120输出运行应用的实例112所生成的界面的图像。此时,运行在应用试用平台110处的应用的实例112作为移动设备120和服务器130之间的中介,在两者之间发送/接收数据。利用上述示例性实现,用户可以在不预先向移动设备120处安装应用的情况下体验应用的各种功能。当用户确认应用的功能满足自身需求后,用户可以下载并在移动设备120处安装应用。以此方式,可以避免用户下载、安装并卸载并不满足自身要求的应用的情况。
根据本公开的示例性实现,可以针对应用试用平台110处的各个应用的实例112、……、124来执行上文描述的方法。根据本公开的示例性实现,还可以仅针对部分实例执行上文描述的方法,并且在确定界面图像指示存在更新的情况下,针对运行在应用试用平台110处的应用的其他实例进行更新。图6示意性示出了根据本公开内容的示例性实现方式的用于更新应用试用平台110处的应用的其他实例的框图600。如图6所示,假设已经针对应用试用平台110处的应用的实例112执行了上文描述的方法并确定应用存在更新。此时,可以启动针对应用的实例114的更新。由于实例112和114是针对相同应用的实例,因而在确定已经存在更新的情况下,在更新示例114的过程中可以跳过判断是否存在更新的操作,而是直接触发界面图像中与更新相关联的控件,以便下载并安装与更新相关的安装包。
根据本公开的示例性实现,可以在应用试用平台110的工作负载较轻的时间段(例如,夜间)执行上文描述的更新方法。在此实现中,可以定期地运行应用试用平台110处的应用的实例,以便检查应用的提供者是否发布了新的安装包。
将会理解,尽管在上文中仅以更新应用的实例112为示例描述了如何更新运行于应用试用平台110处的应用的实例。在实际操作环境中,应用试用平台110处可以运行多个应用的多个实例,此时,可以针对各个实例来执行上文描述的方法。以此方式,可以确保每个应用的每个实例都被更新至最新版本。
在上文中已经参见附图描述了用于更新运行在应用试用平台110处的应用的实例112的方法500的具体步骤。根据本公开的示例性实现,可以由处理装置来执行上文描述的方法。具体地,图7示意性示出了根据本公开内容的示例性实现方式的用于更新应用的装置700的框图。具体地,该装置700可以包括:获取模块710、提取模块720、确定模块730以及更新模块740。具体地,该获取模块710被配置用于获取在应用的实例的运行期间产生的界面图像,应用的实例运行在应用试用平台处,应用试用平台可通信地耦合至应用的服务器。该提取模块720被配置用于提取与界面图像中的控件相关联的多个属性。该确定模块730被配置用于基于提取的多个属性,确定界面图像是否指示存在由服务器发布的应用的更新。该更新模块740被配置用于响应于确定界面图像指示存在更新,在应用试用平台处更新应用的实例。
根据本公开的示例性实现,确定模块730进一步包括特征提取模块、模型获取模块以及更新确定模块。该特征提取模块被配置用于基于提取的多个属性确定控件的特征。该模型获取模块被配置用于获取控件知识模型,控件知识模型包括应用的更新与控件的特征之间的映射关系,控件知识模型是基于一组样本控件的特征以及与一组样本控件相关联的样本应用的更新来训练的。该更新确定模块被配置用于响应于控件的特征匹配于映射关系,确定界面图像指示存在更新。
根据本公开的示例性实现,提取模块720包括属性提取模块。该属性提取模块被配置用于基于以下中的至少任一项来提取多个属性:控件的文字、控件的类型、控件的位置、控件的样式以及控件是否可触发。
根据本公开的示例性实现,特征提取模块包括回归模块。该被配置用于利用线性回归方法,根据多个属性确定控件的特征。
根据本公开的示例性实现,装置700进一步包括模型获取模块和验证模块。该模型获取模块被配置用于获取界面知识模型,界面知识模型包括应用的更新与界面图像之间的映射关系,界面知识模型是基于一组样本界面图像以及与一组样本界面图像相关联的样本应用的更新来训练的。该验证模块被配置用于基于映射关系和界面图像,确定更新的可信度。
根据本公开的示例性实现,更新模块740包括触发模块和运行模块。该触发模块被配置用于触发控件以从服务器下载与更新相关联的数据。该运行模块被配置用于在应用试用平台处,基于下载的数据更新应用的实例。
根据本公开的示例性实现,该装置700进一步包括图像获取模块和映射更新模块。该图像获取模块被配置用于在触发控件之后的预定时间点,获取应用的实例的另一界面图像。该映射更新模块被配置用于响应于另一界面图像与界面图像之间的差异低于预定阈值,基于控件的特征更新映射关系,使得更新后的映射关系指示在特征与应用的更新之间不存在映射。
根据本公开的示例性实现,装置700被部署在应用试用平台处。
根据本公开的示例性实现,应用的实例接收来自移动设备的用户输入以及向移动设备输出运行应用的实例所生成的界面的图像。
根据本公开的示例性实现,装置700进一步包括实例更新模块。该实例更新模块被配置用于响应于确定界面图像指示存在更新,更新运行在应用试用平台处的应用的另一实例。
图8示出了能够实施本公开内容的多个实现方式的计算设备800的框图。设备800可以用于实现图1的计算设备82。如图所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元801执行上文所描述的各个方法和处理,例如方法300。例如,在一些实现方式中,方法300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实现方式中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由CPU 801执行时,可以执行上文描述的方法300的一个或多个步骤。备选地,在其他实现方式中,CPU 801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法300。
根据本公开内容的示例性实现方式,提供了一种其上存储有计算机程序的计算机可读存储介质。程序被处理器执行时实现本公开所描述的方法。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本公开内容的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开内容的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开内容的范围的限制。在单独的实现方式的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (22)

1.一种用于更新应用的方法,包括:
获取在所述应用的实例的运行期间产生的界面图像,所述应用的所述实例运行在应用试用平台处,所述应用试用平台可通信地耦合至所述应用的服务器;
提取与所述界面图像中的控件相关联的多个属性;
基于提取的所述多个属性,确定所述界面图像是否指示存在由所述服务器发布的所述应用的更新;以及
响应于确定所述界面图像指示存在所述更新,在所述应用试用平台处更新所述应用的所述实例。
2.根据权利要求1所述的方法,其中确定所述界面图像是否指示存在由所述服务器发布的所述应用的更新进一步包括:
基于提取的所述多个属性确定所述控件的特征;
获取控件知识模型,所述控件知识模型包括所述应用的更新与控件的特征之间的映射关系,所述控件知识模型是基于一组样本控件的特征以及与所述一组样本控件相关联的样本应用的更新来训练的;以及
响应于所述控件的所述特征匹配于所述映射关系,确定所述界面图像指示存在所述更新。
3.根据权利要求1所述的方法,其中提取与所述界面图像中的控件相关联的多个属性包括,基于以下中的至少任一项来提取所述多个属性:
所述控件的文字、所述控件的类型、所述控件的位置、所述控件的样式以及所述控件是否可触发。
4.根据权利要求1所述的方法,其中基于提取的所述多个属性确定所述控件的特征包括:
利用线性回归方法,根据所述多个属性确定所述控件的所述特征。
5.根据权利要求1所述的方法,进一步包括:
获取界面知识模型,所述界面知识模型包括所述应用的更新与界面图像之间的映射关系,所述界面知识模型是基于一组样本界面图像以及与所述一组样本界面图像相关联的样本应用的更新来训练的;以及
基于所述映射关系和所述界面图像,确定所述更新的可信度。
6.根据权利要求2所述的方法,其中更新所述应用的所述实例包括:
触发所述控件以从所述服务器下载与所述更新相关联的数据;以及
在所述应用试用平台处,基于下载的所述数据更新所述应用的所述实例。
7.根据权利要求6所述的方法,进一步包括:
在触发所述控件之后的预定时间点,获取所述应用的所述实例的另一界面图像;
响应于所述另一界面图像与所述界面图像之间的差异低于预定阈值,基于所述控件的所述特征更新所述映射关系,使得更新后的所述映射关系指示在所述特征与所述应用的更新之间不存在映射。
8.根据权利要求1所述的方法,其中所述方法在所述应用试用平台处执行。
9.根据权利要求1所述的方法,其中所述应用的所述实例接收来自所述移动设备的用户输入以及向所述移动设备输出运行所述应用的所述实例所生成的界面的图像。
10.根据权利要求1所述的方法,其中所述方法进一步包括:
响应于确定所述界面图像指示存在所述更新,更新运行在所述应用试用平台处的所述应用的另一实例。
11.一种用于更新应用的装置,包括:
获取模块,配置用于获取在所述应用的实例的运行期间产生的界面图像,所述应用的所述实例运行在应用试用平台处,所述应用试用平台可通信地耦合至所述应用的服务器;
提取模块,配置用于提取与所述界面图像中的控件相关联的多个属性;
确定模块,配置用于基于提取的所述多个属性,确定所述界面图像是否指示存在由所述服务器发布的所述应用的更新;以及
更新模块,配置用于响应于确定所述界面图像指示存在所述更新,在所述应用试用平台处更新所述应用的所述实例。
12.根据权利要求11所述的装置,其中所述确定模块进一步包括:
特征提取模块,配置用于基于提取的所述多个属性确定所述控件的特征;
模型获取模块,配置用于获取控件知识模型,所述控件知识模型包括所述应用的更新与控件的特征之间的映射关系,所述控件知识模型是基于一组样本控件的特征以及与所述一组样本控件相关联的样本应用的更新来训练的;以及
更新确定模块,配置用于响应于所述控件的所述特征匹配于所述映射关系,确定所述界面图像指示存在所述更新。
13.根据权利要求11所述的装置,其中所述提取模块包括属性提取模块,配置用于基于以下中的至少任一项来提取所述多个属性:所述控件的文字、所述控件的类型、所述控件的位置、所述控件的样式以及所述控件是否可触发。
14.根据权利要求11所述的装置,其中所述特征提取模块包括:回归模块,配置用于利用线性回归方法,根据所述多个属性确定所述控件的所述特征。
15.根据权利要求11所述的装置,进一步包括:
模型获取模块,配置用于获取界面知识模型,所述界面知识模型包括所述应用的更新与界面图像之间的映射关系,所述界面知识模型是基于一组样本界面图像以及与所述一组样本界面图像相关联的样本应用的更新来训练的;以及
验证模块,配置用于基于所述映射关系和所述界面图像,确定所述更新的可信度。
16.根据权利要求12所述的装置,其中所述更新模块包括:
触发模块,配置用于触发所述控件以从所述服务器下载与所述更新相关联的数据;以及
运行模块,配置用于在所述应用试用平台处,基于下载的所述数据更新所述应用的所述实例。
17.根据权利要求16所述的装置,进一步包括:
图像获取模块,配置用于在触发所述控件之后的预定时间点,获取所述应用的所述实例的另一界面图像;
映射更新模块,配置用于响应于所述另一界面图像与所述界面图像之间的差异低于预定阈值,基于所述控件的所述特征更新所述映射关系,使得更新后的所述映射关系指示在所述特征与所述应用的更新之间不存在映射。
18.根据权利要求11所述的装置,其中所述装置被部署在所述应用试用平台处。
19.根据权利要求11所述的装置,其中所述应用的所述实例接收来自所述移动设备的用户输入以及向所述移动设备输出运行所述应用的所述实例所生成的界面的图像。
20.根据权利要求11所述的装置,进一步包括:
实例更新模块,配置用于响应于确定所述界面图像指示存在所述更新,更新运行在所述应用试用平台处的所述应用的另一实例。
21.一种设备,所述设备包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1-10中任一项所述的方法。
22.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现根据权利要求1-10中任一项所述的方法。
CN201810778200.8A 2018-07-16 2018-07-16 用于更新应用的方法、装置、设备和计算机可读存储介质 Active CN109032634B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810778200.8A CN109032634B (zh) 2018-07-16 2018-07-16 用于更新应用的方法、装置、设备和计算机可读存储介质
KR1020190080783A KR102204527B1 (ko) 2018-07-16 2019-07-04 애플리케이션을 업데이트하기 위한 방법, 장치, 기기 및 컴퓨터 판독 가능 저장 매체
US16/511,547 US11507856B2 (en) 2018-07-16 2019-07-15 Method and apparatus for updating application
JP2019131031A JP6783907B2 (ja) 2018-07-16 2019-07-16 アプリケーション更新方法、アプリケーション更新装置、電子機器およびコンピュータ読み取り可能な記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810778200.8A CN109032634B (zh) 2018-07-16 2018-07-16 用于更新应用的方法、装置、设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109032634A true CN109032634A (zh) 2018-12-18
CN109032634B CN109032634B (zh) 2021-11-26

Family

ID=64642617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810778200.8A Active CN109032634B (zh) 2018-07-16 2018-07-16 用于更新应用的方法、装置、设备和计算机可读存储介质

Country Status (4)

Country Link
US (1) US11507856B2 (zh)
JP (1) JP6783907B2 (zh)
KR (1) KR102204527B1 (zh)
CN (1) CN109032634B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287958A (zh) * 2019-06-25 2019-09-27 努比亚技术有限公司 智能调整文字识别率的方法、终端及计算机可读存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110554957B (zh) * 2019-07-31 2021-02-05 北京三快在线科技有限公司 测试用户界面的方法、装置、电子设备及可读存储介质
CN115408031B (zh) * 2022-09-29 2023-09-05 北京亚控科技发展有限公司 应用的更新方法及相关设备
CN117135268A (zh) * 2023-02-23 2023-11-28 荣耀终端有限公司 拍摄的方法和电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002006970A (ja) * 2000-06-19 2002-01-11 Takasaki Kyodo Keisan Center:Kk アプリケーションソフトウェア試用システム
JP2015225628A (ja) * 2014-05-30 2015-12-14 株式会社コナミデジタルエンタテインメント 情報処理装置、プログラム、情報処理システム
US20160070578A1 (en) * 2014-09-05 2016-03-10 Xiaomi Inc. Method and system for upgrading an electronic device
CN105549973A (zh) * 2015-12-11 2016-05-04 上海斐讯数据通信技术有限公司 一种列表控件中视图列表的数据更新方法及系统
JP2016532986A (ja) * 2014-09-05 2016-10-20 シャオミ・インコーポレイテッド アップグレード方法、装置、デバイス、プログラム及び記録媒体
CN107463400A (zh) * 2017-07-31 2017-12-12 上海壹账通金融科技有限公司 移动应用的热更新方法及终端设备
US9904536B1 (en) * 2015-09-18 2018-02-27 Quest Software Inc. Systems and methods for administering web widgets

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9369867B2 (en) * 2012-06-29 2016-06-14 Intel Corporation Mobile platform software update with secure authentication
WO2015021604A1 (zh) * 2013-08-13 2015-02-19 华为技术有限公司 一种应用升级方法、装置
US20150378714A1 (en) * 2014-06-30 2015-12-31 Adobe Systems Incorporated Providing Context-Specific Software Updates to Client Applications
EP3093803A1 (en) * 2015-04-30 2016-11-16 Tata Consultancy Services Limited Systems and methods for contextual recommendation of learning content
KR101707552B1 (ko) * 2016-07-27 2017-02-16 주식회사 티맥스 소프트 클라우드 환경에서 사용자로 하여금 애플리케이션을 체험할 수 있도록 체험 환경을 제공하는 방법 및 이를 이용한 서버
US11645575B2 (en) * 2019-01-03 2023-05-09 International Business Machines Corporation Linking actions to machine learning prediction explanations
US11481627B2 (en) * 2019-10-30 2022-10-25 Microsoft Technology Licensing, Llc Distributed learning of composite machine learning models
WO2021226925A1 (en) * 2020-05-14 2021-11-18 Beijing Didi Infinity Technology And Development Co., Ltd. Method and system for constructing virtual environment for ride-hailing platforms

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002006970A (ja) * 2000-06-19 2002-01-11 Takasaki Kyodo Keisan Center:Kk アプリケーションソフトウェア試用システム
JP2015225628A (ja) * 2014-05-30 2015-12-14 株式会社コナミデジタルエンタテインメント 情報処理装置、プログラム、情報処理システム
US20160070578A1 (en) * 2014-09-05 2016-03-10 Xiaomi Inc. Method and system for upgrading an electronic device
JP2016532986A (ja) * 2014-09-05 2016-10-20 シャオミ・インコーポレイテッド アップグレード方法、装置、デバイス、プログラム及び記録媒体
US9904536B1 (en) * 2015-09-18 2018-02-27 Quest Software Inc. Systems and methods for administering web widgets
CN105549973A (zh) * 2015-12-11 2016-05-04 上海斐讯数据通信技术有限公司 一种列表控件中视图列表的数据更新方法及系统
CN107463400A (zh) * 2017-07-31 2017-12-12 上海壹账通金融科技有限公司 移动应用的热更新方法及终端设备

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
FENG CHEN等: ""Multi-version Execution for the Dynamic Updating of Cloud Applications"", 《2015 IEEE 39TH ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE》 *
LE YAO等: ""Online Updating Soft Sensor Modeling and Industrial Application Based on Selectively Integrated Moving Window Approach"", 《IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT》 *
安圣威: ""一个基于事件的软件动态更新形式化框架"", 《中国优秀硕士学位论文全文数据库•信息科技辑》 *
张旭: ""软件自动更新升级检测系统的设计与实现"", 《中国优秀硕士学位论文全文数据库•信息科技辑》 *
曾晓旭: ""MIS系统中应用软件版本的自动更新"", 《计算机与现代化》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287958A (zh) * 2019-06-25 2019-09-27 努比亚技术有限公司 智能调整文字识别率的方法、终端及计算机可读存储介质
CN110287958B (zh) * 2019-06-25 2023-12-08 努比亚技术有限公司 智能调整文字识别率的方法、终端及计算机可读存储介质

Also Published As

Publication number Publication date
KR102204527B1 (ko) 2021-01-18
CN109032634B (zh) 2021-11-26
JP2020013571A (ja) 2020-01-23
US20200019868A1 (en) 2020-01-16
JP6783907B2 (ja) 2020-11-11
US11507856B2 (en) 2022-11-22
KR20200008503A (ko) 2020-01-28

Similar Documents

Publication Publication Date Title
CN109032634A (zh) 用于更新应用的方法、装置、设备和计算机可读存储介质
US10474981B1 (en) Utilizing machine learning to generate augmented reality delivery instructions for delivering an item to a location
US10970900B2 (en) Electronic apparatus and controlling method thereof
CN108229533A (zh) 图像处理方法、模型剪枝方法、装置及设备
US20190294912A1 (en) Image processing device, image processing method, and image processing program
KR102449630B1 (ko) 전자 장치 및 이의 제어 방법
US9977655B2 (en) System and method for automatic extraction of software design from requirements
EP3074863A1 (en) System and method for testing data representation for different mobile devices
US20220092353A1 (en) Method and device for training image recognition model, equipment and medium
CN109471805A (zh) 资源测试方法及装置、存储介质、电子设备
CN108875582A (zh) 身份验证方法、装置、设备、存储介质及程序
US20210248797A1 (en) Using augmented reality for accessing legacy transaction terminals
CN108885712A (zh) 神经编程
CN115967618A (zh) 一种多项目的bmc传感器配置管理方法及装置
JP6761197B2 (ja) 情報処理システム、情報処理方法、プログラム
US20240005640A1 (en) Synthetic document generation pipeline for training artificial intelligence models
CN115687146A (zh) Bios测试方法、装置、计算机设备和存储介质
US20100077288A1 (en) Displaying a Form
CN113642642B (zh) 控件识别方法及装置
KR20230068989A (ko) 멀티-태스크 모델의 학습을 수행하는 방법 및 전자 장치
KR20180131132A (ko) 이미지 매칭 방법 및 이를 수행하기 위한 장치
CN111291738A (zh) 前端页面图像中的元素提取方法、装置及电子设备
US20210271386A1 (en) Method for setting layout for physical keyboard by electronic device, and device therefor
US20230367780A1 (en) Data enrichment using name, location, and image lookup
US20190370324A1 (en) System and method for automatic language detection for handwritten text

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