CN112433745A - 一种热更新方法及设备 - Google Patents

一种热更新方法及设备 Download PDF

Info

Publication number
CN112433745A
CN112433745A CN202010519702.6A CN202010519702A CN112433745A CN 112433745 A CN112433745 A CN 112433745A CN 202010519702 A CN202010519702 A CN 202010519702A CN 112433745 A CN112433745 A CN 112433745A
Authority
CN
China
Prior art keywords
terminal
hot
tool
user interface
file
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.)
Pending
Application number
CN202010519702.6A
Other languages
English (en)
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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202010519702.6A priority Critical patent/CN112433745A/zh
Publication of CN112433745A publication Critical patent/CN112433745A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请的目的是提供一种热更新方法及设备,本申请的第一终端通过热更新工具与第二终端建立长连接,并通过热更新工具监听第一终端的布局文件是否存在变化;当布局文件存在变化时,通过热更新工具对布局文件进行编译得到用户界面文件,根据预设沟通机制将所述用户界面文件发送至所述第二终端,以便在所述第二终端的调试页面展示对应的展示对应的用户界面,不仅提高了研发人员在研发热更新时的研发效率,还高效地实现了客户端的视觉开发。

Description

一种热更新方法及设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种热更新方法及设备。
背景技术
现有技术中,热更新是一种各大手游等众多应用程序App常用的更新方式。简单来说,就是在用户通下载安装APP之后,打开App时遇到的即时更新。现有即时更新方案中,每次修改布局文件需要长时间编译才能看到最终修改效果,导致编译时效长,影响研发效率;且缺少调试单个组件的能力,在业务中调试组件元素与暴力测试需要虚拟mock整个页面的数据,不仅增加了调试工作量,还增加了调试的时间成本。
发明内容
本申请的一个目的是提供一种热更新方法及设备,以解决现有技术中如何高效地对终端进行热更新的问题。
根据本申请的一个方面,提供了一种热更新方法,应用于第一终端,其中,所述方法包括:
建立热更新工具与第二终端之间的长连接,其中,所述热更新工具安装于所述第一终端;
通过所述热更新工具监听所述第一终端的布局文件是否存在变化;
当所述布局文件存在变化时,通过所述热更新工具对变化后的布局文件进行编译得到用户界面文件;
根据预设沟通机制将所述用户界面文件发送至所述第二终端,以使所述第二终端根据所述用户界面文件展示对应的用户界面。
进一步地,上述第一终端的热更新方法中,所述建立热更新工具与第二终端之间的长连接,其中,所述热更新工具安装于所述第一终端,包括:
启动所述第一终端中安装的所述热更新工具以供所述热更新工具启动长连接服务;
通过所述长连接服务建立所述热更新工具与所述第二终端之间的长连接。
进一步地,上述第一终端的热更新方法中,所述启动所述第一终端中安装的所述热更新工具,所述热更新工具启动长连接服务,包括:
启动所述第一终端中安装的所述热更新工具;
通过所述热更新工具接收所述第二终端发送的长连接请求;
通过所述热更新工具响应于所述长连接请求启动所述长连接服务。
进一步地,上述第一终端的热更新方法中,当所述布局文件存在变化时,所述热更新工具对变化后的布局文件进行编译得到用户界面文件,包括:
检测到用户在所述第一终端进行的布局编辑操作,所述热更新工具监听到所述布局文件存在变化,所述热更新工具对变化后的布局文件进行编译得到用户界面文件。
根据本申请的另一方面,还提供了一种热更新方法,应用于第二终端,其中,所述方法包括:
与热更新工具建立长连接,其中,所述热更新工具安装在第一终端;
接收所述热更新工具发送的用户界面文件,所述用户界面文件存在变化;
根据所述用户界面文件在所述第二终端的调试页面展示对应的用户界面。
进一步地,上述第二终端的热更新方法中,所述与热更新工具建立长连接,其中,所述热更新工具安装在第一终端,包括:
检测到用户在所述调试页面进行的连接操作,获取所述第一终端的标识信息;
向所述标识信息对应的所述第一终端中安装的所述热更新工具发起长连接请求;
以使所述热更新工具在接收到所述长连接请求后,启动所述热更新工具中的长连接服务,并通过所述长连接服务建立所述第二终端与所述热更新工具之间的长连接。
根据本申请的另一方面,还提供了一种用于热更新的系统,包括第一终端和第二终端,其中,
第一终端建立热更新工具与第二终端之间的长连接,其中,所述热更新工具安装于所述第一终端;
通过所述热更新工具监听所述第一终端的布局文件是否存在变化;
当所述布局文件存在变化时,通过所述热更新工具对变化后的布局文件进行编译得到用户界面文件,并根据预设沟通机制将所述用户界面文件发送至所述第二终端;
所述第二终端与所述热更新工具建立长连接;
所述第二终端接收所述热更新工具发送的用户界面文件,所述用户界面文件存在变化;
所述第二终端根据所述用户界面文件在所述第二终端的调试页面展示对应的用户界面。
根据本申请的另一方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述热更新方法。
根据本申请的另一方面,还提供了一种用于热更新的第一设备,其中,该第一设备包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一终端的热更新方法。
根据本申请的另一方面,还提供了一种用于热更新的第二设备,其中,该第二设备包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第二终端的热更新方法。
与现有技术相比,本申请提供的一种热更新方法中,包括第一终端和第二终端,其中,所述第一终端中安装有热更新工具,首先,建立所述热更新工具与第二终端之间的长连接;接着,通过所述热更新工具监听布局文件是否存在变化;当所述布局文件存在变化时,所述热更新工具对变化后的布局文件进行编译得到用户界面文件,并根据预设沟通机制将所述用户界面文件发送至所述第二终端,以使所述第二终端根据所述用户界面文件展示对应的用户界面,实现了在第一终端对布局文件进行改变和编译后,实时地将变化后对应的用户界面文件根据预设沟通机制发送给第二终端,以使在第二终端的调试页面均能够实时地显示并了解到布局文件被修改后对应的用户界面,不仅节省了编译时长和调试时间,还简化了热更新的调试过程,从而提高了研发热更新时的研发效率,进一步实现了客户端的视觉开发。
进一步地,本申请的提供的一种热更新方法中,所述第二终端包括一个或多个;当所述第二终端包括多个时,多个所述第二终端安装的操作系统存在不同和/或存在相同,实现了一次开发多端调试的效果。当多个所述第二终端安装的操作系统存在不同,也实现了一次开发的跨平台(即操作系统)多端调试的效果,进一步实现跨平台的多端的布局统一,无需花大量时间进行跨平台多端的联调工作,从而节省了跨平台的多端的联调时间,使得跨平台多端的热更新更高效。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种热更新方法的流程示意图;
图2示出根据本申请一个方面的一种热更新方法的实际应用场景示意图;
图3示出根据本申请一个方面的一种用于热更新的第一终端的结构示意图;
图4示出根据本申请一个方面的一种用于热更新的第二终端的结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如图1所示,本申请一个方面的一种热更新方法的流程示意图,该方法中包括第一终端和至少一个第二终端,其中,所述第一终端安装有热更新工具,当第一终端在研发或实际操作中对布局文件进行修改时,可以通过所述热更新工具对修改后的布局文件进行监听,所述第二终端实时地显示修改后的布局文件对应的用户界面的效果。该方法包括步骤S11(即步骤S21)、步骤S12、步骤S13、步骤S14、步骤S15、步骤S16、步骤S21、步骤S22、步骤S23、步骤S24及步骤S25,具体包括如下步骤:
步骤S11,所述第一种终端中安装有热更新工具,建立所述热更新工具与所述第二终端之间的长连接(对应第二终端执行的步骤S21与热更新工具建立长连接,其中,所述热更新工具安装在第一终端),以便所述第一终端与第二终端能够通过所述长连接进行数据交互及文件变化通知等,以确保第一终端与第二终端能够维持长时间的连接,避免反复出现需要数据更新时所需创建连接的频繁操作从而导致资源的浪费,使得在长连接建立后,若第一终端与第二终端需要发送数据交互时可以直接发送数据就可以了,无需再建立连接,不仅节省了资源,还加快了数据交互。在此,当打开所述热更新工具时,所述热更新工具可以开启一个超文本传输协议(Hyper Text Transfer Protocol,HTTP)服务以及一个长连接服务,以便通过所述长连接服务建立所述热更新工具与所述第二终端之间的长连接;通过所述TTTP服务使得所述热更新工具与所述第二终端之间进行数据传输,比如,通过所述HTTP服务向第二终端返回用户界面(User Interface,UI)文件。
步骤S12,所述第一终端通过所述热更新工具监听所述第一终端的布局文件是否存在变化。
步骤S13,所述第一终端在当所述布局文件存在变化时,通过所述热更新工具对变化后的布局文件进行编译得到用户界面文件;在此,所述用户界面文件包括布局字体颜色、布局字体大小、布局方向及布局图片地址等与界面布局相关的参数中的一种或多种。
在此,所述第一终端判定所述布局文件是否存在变化的方式包括但不限于将实时的布局文件与前一时刻的布局文件进行文件内容的比对,或将实时的布局文件与前一时刻的布局文件进行界面格局的对比,或将实时的布局文件与前一时刻的布局文件进行设置信息的对比等,当然,其他现有的或今后可能出现的所述第一终端判定所述布局文件是否存在变化的方式如可适用于本申请,也应包含在本申请保护范围内,并在此以引用方式包含于此。
当第一终端监听到布局文件存在变化且对存在变化的布局文件进行编译后,步骤S14,所述第一终端根据预设沟通机制将所述用户界面文件发送至所述第二终端,以使所述第二终端根据所述用户界面文件展示对应的用户界面。
步骤S22,所述第二终端接收所述热更新工具发送的用户界面文件,所述用户界面文件存在变化。
步骤S23,所述第二终端根据所述用户界面文件在所述第二终端的调试页面展示对应的用户界面。
通过上述第一终端执行的步骤S11至步骤S14与第二终端执行的步骤S21至步骤S23,实现了在第一终端对布局文件进行改变和编译后,在第二终端的测试页面均能够实时地显示并了解到布局文件被修改后对应的用户界面,不仅节省了编译时长和调试时间,还简化了热更新的调试过程,从而提高了研发热更新时的研发效率,进一步实现了客户端的视觉开发。
本实施例中,当第一终端监听到布局文件存在变化且对存在变化的布局文件进行编译后,所述第一终端根据预设沟通机制将所述用户界面文件发送至所述第二终端的过程中包括如下具体步骤:
所述第一终端通过所述长连接向所述第二终端发送用于指示所述布局文件存在变化的通知。
所述第二终端通过所述长连接接收所述第一终端的所述热更新工具发送的用于指示布局文件存在变化的通知。
所述第二终端基于所述通知向所述热更新工具发送更新文件请求,以使所述热更新工具将对应的用户界面文件发送给所述第二终端;
所述第一终端中的所述热更新工具接收所述第二终端基于所述通知返回的更新文件请求。
所述第一终端基于所述更新文件请求将所述用户界面文件发送给所述第二终端,以使所述第二终端在接收到所述热更新工具发送的用户界面文件后,根据所述用户界面文件展示对应的用户界面,实现第一终端向第二终端发送存在改变的用户界面文件,并可以在第二终端及时地展示对应的用户界面,不仅提高了研发者在研发热更新时的研发效率,还高效地实现了客户端的视觉开发。
下面以所述第一终端优选为研发电脑、所述第二终端优选为测试手机为例,对本实施例中的热更新方法进行实际应用场景的进一步解释,如图2所示。
首先,在研发电脑中安装热更新工具(比如,图2中所示的Virtual ViewHotReload等),当研发人员在研发电脑上打开热更新工具后,所述热更新工具会开启HTTP服务和长连接服务,并且通过所述热更新工具监听布局文化的变化;当研发人员在在研发电脑上编辑布局时,会存在布局文件的变化,当所述热更新工具监听到布局文化存在变化时,所述热更新工具会自动将变化后的布局文件编译成测试手机可以直接展示的布局格式,即用户界面文件;且在编译完成后,通过所述长连接主动向测试手机发送用于指示所述布局文件存在变化的通知,以通知已连接的测试手机,研发电脑中存在布局文件的变化;测试手机通过长连接接收到该通知后,会向研发电脑上的所述热更新工具请求下载在测试手机中可以直接展示的布局格式(即用户界面(UserInterface,UI)文件);研发电脑中的热更新工具接收到测试手机发送的请求在测试手机中可以直接展示的布局格式(即UI文件)的更新文件请求后,所述热更新工具基于所更新文件请求将编译后保存的用户界面文件发送给测试手机;所述测试手机在接收到所述热更新工具返回的用户界面文件后,根据所述用户界面文件直接在所述测试手机的调试页面展示对应的用户界面,实现了若在研发电脑上对布局文件进行编辑和编译后,在测试手机的测试页面均能够实时地显示并了解到布局文件被修改后对应的用户界面,不仅提高了用户研发热更新时的研发效率,还高效地实现了客户端的视觉开发。
接着本申请的上述实施例,所述步骤S11建立热更新工具与第二终端之间的长连接,其中,所述热更新工具安装于所述第一终端,具体包括:
启动所述第一终端中安装的所述热更新工具以供所述热更新工具启动长连接服务,所述长连接服务为所述热更新工具中的一个服务;
通过所述长连接服务建立所述热更新工具与所述第二终端之间的长连接。
例如,在实际应用场景中,在研发电脑中安装有热更新工具,当研发人员在研发电脑上打开热更新工具后,该热更新工具会开启HTTP Server(HTTP服务)和长连接服务,当然,所述HTTP服务和所述长连接服务均为所述热更新工具中的服务;当所述热更新工具开启长连接服务后,通过所述长连接服务建立所述研发电脑中的所述热更新工具与所述测试手机之间的长连接,以便后续通过所述长连接向测试手机进行布局文件的通知如图2所示,实现了通过长连接服务在热更新工具与测试手机之间建立长连接。
在此,当研发人员在研发电脑上打开热更新工具后,通过所述热更新工具检测到用户开启服务的操作时,或研发人员打开所述热更新工具的时长达到预设时长阈值时,或研发人员打开所述热更新工具且对所述热更新工具进行预设次数阈值的工具操作等其他任何可以触发开启所述HTTP服务和长连接服务的条件时,所述热更新工具会自动开启所述HTTP服务和长连接服务,以便通过所述长连接服务建立所述研发电脑中的所述热更新工具与所述测试手机之间的长连接。当然,其他现有的或今后可能出现的触发开启所述HTTP服务和长连接服务的条件如可适用于本申请,也应包含在本申请保护范围内,并在此以引用方式包含于此。
接着本申请的上述实施例,所述步骤S21,所述第二终端与热更新工具建立长连接,其中,所述热更新工具安装在第一终端,具体包括:
检测到用户在所述调试页面进行的连接操作,获取所述第一终端的标识信息;在此,所述连接操作包括但不限于输入或第二终端的标志信息,以便第二终端能够了解到需要建立长连接的第二终端,所述标识信息包括但不限于第二终端的IP(InternetProtocol,网际互联协议)地址;
向所述标识信息对应的所述第一终端中安装的所述热更新工具发起长连接请求;
以使所述热更新工具在接收到所述长连接请求后,启动所述热更新工具中的长连接服务,并通过所述长连接服务建立所述第二终端与所述热更新工具之间的长连接;
其中,所述长连接服务为所述热更新工具中的一个服务;
所述步骤S11中的启动所述第一终端中安装的所述热更新工具,所述热更新工具启动长连接服务,具体包括:
启动所述第一终端中安装的所述热更新工具;
通过所述热更新工具接收所述第二终端发送的长连接请求;
通过所述热更新工具响应于所述长连接请求启动所述长连接服务。
例如,在建立研发电脑的热更新工具与测试手机之间的长连接服务的过程中,研发人员会打开研发电脑中安装的热更新工具,当研发人员在测试手机的测试界面进行连接操作,比如,研发人员在测试手机打开测试页面并输入研发电脑的IP地址后,所述测试手机响应于研发人员在测试页面所进行的输入操作,获取所述研发电脑的标识信息,以使所述测试手机向所述IP地址对应的研发电脑中安装的热更新工具发起长连接请求;所述研发电脑中的热更新工具接收并响应所述测试手机发送的长连接请求,启动所述热更新工具中的长连接服务,并通过所述长连接服务建立所述热更新工具与所述测试手机之间的长连接,如图2所示,实现了通过长连接服务在热更新工具与测试手机之间建立长连接。
接着本申请的上述实施例,所述步骤S13当所述布局文件存在变化时,所述热更新工具对变化后的布局文件进行编译得到用户界面文件,具体包括:
检测到用户在所述第一终端进行的布局编辑操作,所述热更新工具监听到所述布局文件存在变化,所述热更新工具对变化后的布局文件进行编译得到用户界面文件。在此,所述布局编辑操作包括但不限于用户在第一终端进行的与布局相关的添加操作、删除操作及修改操作等编辑。
例如,当研发人员想对布局文件进行编辑时,研发人员就在研发电脑上编辑布局,研发电脑响应于研发人员的布局编辑操作,所述热更新工具监听布局文件是否存在变化,并在监听到布局文件存在变化时,所述热更新工具会自动对变化后的布局文件进行编译,得到能够被测试手机直接展示的用户界面文件,实现对布局文件进行编译以得到用户界面文件,便于后续在测试手机中能够通过实时展示用户界面文件,来方便测试手机对应的研发人员了解到改变后的布局格式。
接着本申请的上述实施例,在本申请实施例中提供的一种热更新方法中,所述第二终端可以是一个或多个;当所述第二终端包括多个时,多个所述第二终端安装的操作系统存在不同和/或存在相同,在此,所述操作系统包括但不限于安卓Android及iOS等。例如,若第二终端为三个,且每个第二终端的操作系统均为安卓Android,则可以每次在第一终端上对布局文件进行编辑并编译了变化的布局文件后,将编译得到的用户界面文件分别发送给这三个第二终端,以便在这三个第二终端的调试页面看到修改后的布局文件对应的用户界面的布局效果,进而实现了一次开发多端调试的效果。又例如,若第二终端为两个,且一个第二终端的操作系统为Android,另一个第二终端的操作系统为iOS,则可以每次在第一终端上对布局文件进行编辑并编译了变化的布局文件后,将编译得到的用户界面文件分别发送给这两个第二终端,以便在操作系统为Android的第二终端和iOS的第二终端两个设备的调试页面看到修改后的布局文件对应的用户界面的布局效果,不仅实现了一次开发的跨平台(即操作系统)多端调试的效果,还实现了跨平台的多端的布局统一,无需花大量时间进行跨平台多端的联调工作,从而节省了跨平台的多端的联调时间,使得跨平台多端的热更新更高效。
本申请的另一个方面还提供的一种用于热更新的系统,该系统包括第一终端和第二终端,其中,第一终端建立热更新工具与第二终端之间的长连接,其中,所述热更新工具安装于所述第一终端;
通过所述热更新工具监听所述第一终端的布局文件是否存在变化;
当所述布局文件存在变化时,通过所述热更新工具对变化后的布局文件进行编译得到用户界面文件,并根据预设沟通机制将所述用户界面文件发送至所述第二终端;
所述第二终端与所述热更新工具建立长连接;
所述第二终端接收所述热更新工具发送的用户界面文件,所述用户界面文件存在变化;
所述第二终端根据所述用户界面文件在所述第二终端的调试页面展示对应的用户界面。
通过上述实施例中提供的一种用于热更新的系统,实现了在第一终端对布局文件进行改变和编译后,在第二终端的测试页面均能够实时地显示并了解到布局文件被修改后对应的用户界面,不仅提高了研发人员在研发热更新时的研发效率,还高效地实现了客户端的视觉开发。
如图3所示,本申请的另一个方面提供的一种用于热更新的第一终端,其中,所述第一终端包括:第一长连接建立装置11、监听装置12、编译装置13、通知发送装置14及传输装置15,其中,具体包括:
第一长连接建立装置11,用于建立热更新工具与第二终端之间的长连接,其中,所述热更新工具安装于所述第一终端;
监听装置12,用于通过所述热更新工具监听布局文件是否存在变化;
编译装置13,用于当所述布局文件存在变化时,所述热更新工具对变化后的布局文件进行编译得到用户界面文件;
通知发送装置14,用于通过所述长连接向所述第二终端发送用于指示所述布局文件存在变化的通知;
传输装置15,用于所述热更新工具接收所述第二终端基于所述通知返回的更新文件请求,并基于所述更新文件请求将所述用户界面文件发送给所述第二终端,以使所述第二终端根据所述用户界面文件展示对应的用户界面。
需要说明的是,所述第一长连接建立装置11、监听装置12、编译装置13、通知发送装置14及传输装置15执行的内容分别与上述步骤S11、步骤S12、步骤S13及步骤S14(其中,步骤S14对应发送装置14和传输装置15)中的内容相同或相应相同,为简明起见,在此不再赘述。
如图4所示,本申请的另一个方面提供的一种用于热更新的第二终端,其中,所述第二终端包括:第二长连接建立装置21、通知接收装置22、请求装置23、接收装置24及展示装置25,其中,具体包括:
第二长连接建立装置21,用于与热更新工具建立长连接,其中,所述热更新工具安装在第一终端;
通知接收装置22,用于通过所述长连接接收所述第一终端的所述热更新工具发送的用于指示布局文件存在变化的通知;
请求装置23,用于基于所述通知向所述热更新工具发送更新文件请求,以使所述热更新工具将对应的用户界面文件发送给所述第二终端;
接收装置24,用于接收所述热更新工具返回的用户界面文件;
展示装置25,用于根据所述用户界面文件在所述第二终端的调试页面展示对应的用户界面。
需要说明的是,所述第二长连接建立装置21、通知接收装置22、请求装置23、接收装置24及展示装置25执行的内容分别与上述步骤S21、步骤S22及步骤S23中(其中,步骤S22对应通知接收装置22、请求装置23和接收装置24)的内容相同或相应相同,为简明起见,在此不再赘述。
本申请的另一个方面提供的一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述热更新方法。
本申请的另一个方面提供的一种用于热更新的第一设备,其中,该第一设备包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第一终端的热更新方法。
在此,所述用于热更新的第一终端的各实施例的详细内容,具体可参见上述在第一终端的热更新方法实施例的对应部分,在此,不再赘述。
本申请的另一个方面提供的一种用于热更新的第二设备,其中,该第二设备包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述第二终端的热更新方法。
在此,所述用于热更新的第二终端的各实施例的详细内容,具体可参见上述在第二终端的热更新方法实施例的对应部分,在此,不再赘述。
综上所述,本申请提供的一种热更新方法中,包括第一终端和第二终端,其中,所述第一终端中安装有热更新工具,首先,建立所述热更新工具与第二终端之间的长连接;接着,通过所述热更新工具监听布局文件是否存在变化;当所述布局文件存在变化时,所述热更新工具对变化后的布局文件进行编译得到用户界面文件,并通过所述长连接向所述第二终端发送用于指示所述布局文件存在变化的通知;所述第二终端在收到所述通知后,向所述热更新工具发送更新文件请求;最后,所述热更新工具接收所述第二终端基于所述通知返回的更新文件请求,并基于所述更新文件请求将所述用户界面文件发送给所述第二终端,以使所述第二终端根据所述用户界面文件在所述第二终端的调试页面展示对应的展示对应的用户界面。实现了在第一终端对布局文件进行改变和编译后,在第二终端的测试页面均能够实时地显示并了解到布局文件被修改后对应的用户界面,不仅提高了研发人员在研发热更新时的研发效率,还高效地实现了客户端的视觉开发。
进一步地,本申请的提供的一种热更新方法中,所述第二终端包括一个或多个;当所述第二终端包括多个时,多个所述第二终端安装的操作系统存在不同和/或存在相同,实现了一次开发多端调试的效果。当多个所述第二终端安装的操作系统存在不同,也实现了一次开发的跨平台(即操作系统)多端调试的效果,进一步实现跨平台的多端的布局统一,无需花大量时间进行跨平台多端的联调工作,从而节省了跨平台的多端的联调时间,使得跨平台多端的热更新更高效。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (10)

1.一种热更新方法,应用于第一终端,其中,所述方法包括:
建立热更新工具与第二终端之间的长连接,其中,所述热更新工具安装于所述第一终端;
通过所述热更新工具监听所述第一终端的布局文件是否存在变化;
当所述布局文件存在变化时,通过所述热更新工具对变化后的布局文件进行编译得到用户界面文件;
根据基于所述长连接的预设沟通机制将所述用户界面文件发送至所述第二终端,以供所述第二终端根据所述用户界面文件展示对应的用户界面。
2.根据权利要求1所述的方法,其中,所述建立热更新工具与第二终端之间的长连接,其中,所述热更新工具安装于所述第一终端,包括:
启动所述第一终端中安装的所述热更新工具以供所述热更新工具启动长连接服务;
通过所述长连接服务建立所述热更新工具与所述第二终端之间的长连接。
3.根据权利要求2所述的方法,其中,所述启动所述第一终端中安装的所述热更新工具,所述热更新工具启动长连接服务,包括:
启动所述第一终端中安装的所述热更新工具;
通过所述热更新工具接收所述第二终端发送的长连接请求;
通过所述热更新工具响应于所述长连接请求启动所述长连接服务。
4.根据权利要求1所述的方法,其中,当所述布局文件存在变化时,所述热更新工具对变化后的布局文件进行编译得到用户界面文件,包括:
检测到用户在所述第一终端进行的布局编辑操作,所述热更新工具监听到所述布局文件存在变化,所述热更新工具对变化后的布局文件进行编译得到用户界面文件。
5.一种热更新方法,应用于第二终端,其中,所述方法包括:
与热更新工具建立长连接,其中,所述热更新工具安装在第一终端;
接收所述热更新工具发送的用户界面文件,所述用户界面文件存在变化;
根据所述用户界面文件在所述第二终端的调试页面展示对应的用户界面。
6.根据权利要求5所述的方法,其中,所述与热更新工具建立长连接,其中,所述热更新工具安装在第一终端,包括:
检测到用户在所述调试页面进行的连接操作,获取所述第一终端的标识信息;
向所述标识信息对应的所述第一终端中安装的所述热更新工具发起长连接请求;
以使所述热更新工具在接收到所述长连接请求后,启动所述热更新工具中的长连接服务,并通过所述长连接服务建立所述第二终端与所述热更新工具之间的长连接。
7.一种用于热更新的系统,包括第一终端和第二终端,其中,
第一终端建立热更新工具与第二终端之间的长连接,其中,所述热更新工具安装于所述第一终端;
通过所述热更新工具监听所述第一终端的布局文件是否存在变化;
当所述布局文件存在变化时,通过所述热更新工具对变化后的布局文件进行编译得到用户界面文件,并根据预设沟通机制将所述用户界面文件发送至所述第二终端;
所述第二终端与所述热更新工具建立长连接;
所述第二终端接收所述热更新工具发送的用户界面文件,所述用户界面文件存在变化;
所述第二终端根据所述用户界面文件在所述第二终端的调试页面展示对应的用户界面。
8.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如权利要求1至6中任一项所述的方法。
9.一种用于热更新的第一设备,其中,该第一设备包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至4中任一项所述的方法。
10.一种用于热更新的第二设备,其中,该第二设备包括:
一个或多个处理器;
非易失性存储介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求5或6所述的方法。
CN202010519702.6A 2020-06-09 2020-06-09 一种热更新方法及设备 Pending CN112433745A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010519702.6A CN112433745A (zh) 2020-06-09 2020-06-09 一种热更新方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010519702.6A CN112433745A (zh) 2020-06-09 2020-06-09 一种热更新方法及设备

Publications (1)

Publication Number Publication Date
CN112433745A true CN112433745A (zh) 2021-03-02

Family

ID=74689487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010519702.6A Pending CN112433745A (zh) 2020-06-09 2020-06-09 一种热更新方法及设备

Country Status (1)

Country Link
CN (1) CN112433745A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388431A (zh) * 2018-02-13 2018-08-10 广东欧珀移动通信有限公司 应用程序热更新的控制方法、装置、存储介质及移动终端
CN108628626A (zh) * 2018-05-04 2018-10-09 北京小度信息科技有限公司 开发环境搭建方法、代码更新方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388431A (zh) * 2018-02-13 2018-08-10 广东欧珀移动通信有限公司 应用程序热更新的控制方法、装置、存储介质及移动终端
CN108628626A (zh) * 2018-05-04 2018-10-09 北京小度信息科技有限公司 开发环境搭建方法、代码更新方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XIANGZHIHONG: "Flutter的Hot Reload是如何做到的", pages 1 - 10, Retrieved from the Internet <URL:https://segmentfault.com/a/1190000020910463?sort=votes> *

Similar Documents

Publication Publication Date Title
CN102567516B (zh) 脚本加载方法及装置
CN108345531B (zh) 一种测试方法、装置及系统
CN110808897A (zh) 代理访问方法、用户设备、存储介质、装置及系统
JP2019513260A (ja) サービス実行方法及びデバイス
US10084637B2 (en) Automatic task tracking
CN107644075B (zh) 收集页面信息的方法和装置
CN104536890A (zh) 测试系统、方法和装置
US10140166B2 (en) Message oriented middleware with integrated rules engine
CN114490383A (zh) 远程调试系统、远程调试方法、计算设备和可读介质
CN109542754B (zh) 移动设备的接入方法、应用程序的调试方法、装置和系统
CN109218041B (zh) 用于服务器系统的请求处理方法和装置
CN112395098B (zh) 应用程序接口调用方法、装置、存储介质和电子设备
CN108427635A (zh) 快速测试web页面的方法、服务器及计算机可读存储介质
CN110659021A (zh) 一种移动端内微应用的开发及测试系统
CN112433745A (zh) 一种热更新方法及设备
CN113434384B (zh) 一种压力测试方法和装置
CN114915565A (zh) 网络调试的方法和系统
CN114285774A (zh) 流量录制方法、装置、电子设备及存储介质
CN110727646B (zh) 系统日志的格式转换方法、装置、电子设备及计算机介质
CN109271310B (zh) 移动应用程序网络功能的开发测试方法和装置
CN111464383A (zh) 基于生产环境的系统容量测试方法及装置
CN117150169B (zh) 多浏览器ui自动化录制方法、系统、设备及介质
CN115242771B (zh) 设备调试方法、装置、设备及存储介质
CN112600786B (zh) 数据交互方法及装置
CN117370112A (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