CN112379902A - 适配多种末端设备的方法、设备和计算机可读存储介质 - Google Patents

适配多种末端设备的方法、设备和计算机可读存储介质 Download PDF

Info

Publication number
CN112379902A
CN112379902A CN202011232404.5A CN202011232404A CN112379902A CN 112379902 A CN112379902 A CN 112379902A CN 202011232404 A CN202011232404 A CN 202011232404A CN 112379902 A CN112379902 A CN 112379902A
Authority
CN
China
Prior art keywords
end code
latest
code
loading
page
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
CN202011232404.5A
Other languages
English (en)
Other versions
CN112379902B (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.)
Shenzhen Yuejiang Technology Co Ltd
Original Assignee
Shenzhen Yuejiang 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 Shenzhen Yuejiang Technology Co Ltd filed Critical Shenzhen Yuejiang Technology Co Ltd
Priority to CN202011232404.5A priority Critical patent/CN112379902B/zh
Publication of CN112379902A publication Critical patent/CN112379902A/zh
Application granted granted Critical
Publication of CN112379902B publication Critical patent/CN112379902B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及机器人控制领域,提供了一种适配多种末端设备的方法、装置、控制终端和计算机可读存储介质。所述方法包括:在启动应用程序以与多种末端设备中的末端设备D交互时,确定本地保存的末端设备D的前端代码是否为最新前端代码;若本地保存的末端设备D的前端代码不是最新前端代码,则通过后台服务器开放的前端代码下载接口在后台下载末端设备D的最新前端代码;加载末端设备D的最新前端代码并展示最新前端代码对应页面;响应于用户在最新前端代码对应页面的操作,与末端设备D进行交互。本申请不需要改动控制终端的应用程序,即可实现控制终端的应用程序与多种末端设备的适配,从而降低了开发控制终端的应用程序的各种成本。

Description

适配多种末端设备的方法、设备和计算机可读存储介质
技术领域
本申请属于机器人控制领域,尤其涉及一种适配多种末端设备的方法、设备和计算机可读存储介质。
背景技术
目前,各种机器人、尤其是智能机器人已经广泛应用到各行各业。机器人的控制部分都有软件来完成,一般都是通过智能手机、工控机等终端上的应用程序来操控机器人的控制软件。
由于随着设备的更新换代,机器人的控制软件随之更新。为了能够与机器人的控制软件进行适配,终端上的应用程序也要更新。目前,大部分智能终端都是通过升级其上安装的应用程序,从而完成对不同厂商的机器人或者机器人上的某个部件进行适配。
然而,升级应用程序是一项耗时费力的工作,尤其是一些非安卓系统(例如iOS)的智能终端,升级应用程序时需要更长的审批时间,再者,若厂商的末端设备变化频繁,不久前升级的应用程序可能又无法使用,则意味着要频繁升级应用程序,需要花费更长的时间。
发明内容
本申请提供一种适配多种末端设备的方法、设备和计算机可读存储介质,以免去终端上的应用程序升级,减少适配厂商末端设备带来的成本。
本申请第一方面提供了一种适配多种末端设备的方法,所述方法包括:
在启动应用程序以与多种末端设备中的末端设备D交互时,确定本地保存的末端设备D的前端代码是否为最新前端代码;
若所述本地保存的末端设备D的前端代码不是最新前端代码,则通过后台服务器开放的前端代码下载接口在后台下载所述末端设备D的最新前端代码;
加载所述末端设备D的最新前端代码并展示所述最新前端代码对应页面;
响应于用户在所述最新前端代码对应页面的操作,与所述末端设备D进行交互。
本申请第二方面提供了一种适配多种末端设备的装置,所述装置包括:
确定模块,用于在启动应用程序以与多种末端设备中的末端设备D交互时,确定本地保存的末端设备D的前端代码是否为最新前端代码;
下载模块,用于若所述本地保存的末端设备D的前端代码不是最新前端代码,则通过后台服务器开放的前端代码下载接口在后台下载所述末端设备D的最新前端代码;
页面展示模块,用于加载所述末端设备D的最新前端代码并展示所述最新前端代码对应页面;
交互模块,用于响应于用户在所述最新前端代码对应页面的操作,与所述末端设备D进行交互。
本申请第三方面提供了一种控制终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行计算机程序时实现以下方法的步骤:
在启动应用程序以与多种末端设备中的末端设备D交互时,确定本地保存的末端设备D的前端代码是否为最新前端代码;
若所述本地保存的末端设备D的前端代码不是最新前端代码,则通过后台服务器开放的前端代码下载接口在后台下载所述末端设备D的最新前端代码;
加载所述末端设备D的最新前端代码并展示所述最新前端代码对应页面;
响应于用户在所述最新前端代码对应页面的操作,与所述末端设备D进行交互。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现以下方法的步骤:
在启动应用程序以与多种末端设备中的末端设备D交互时,确定本地保存的末端设备D的前端代码是否为最新前端代码;
若所述本地保存的末端设备D的前端代码不是最新前端代码,则通过后台服务器开放的前端代码下载接口在后台下载所述末端设备D的最新前端代码;
加载所述末端设备D的最新前端代码并展示所述最新前端代码对应页面;
响应于用户在所述最新前端代码对应页面的操作,与所述末端设备D进行交互。
从上述本申请提供的技术方案可知,不同于现有技术中厂商末端设备的类型变更或者出现新的厂商末端设备时需要升级控制终端的移动应用程序而费时费力,本申请的技术方案是将用于控制其各自末端设备的前端代码保存于控制终端,仅在本地保存的某个末端设备的前端代码不是最新前端代码时,从后台服务器下载该末端设备的最新前端代码予以展示。由于仅仅通过本地加载或下载本地后再加载末端设备的最新前端代码,并不需要改动控制终端的应用程序,即可实现控制终端的应用程序与多种末端设备的适配,免去了升级应用程序带来的各种不便,从而降低了开发控制终端的应用程序的各种成本。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的适配多种末端设备的方法的实现流程示意图;
图2是本申请实施例提供的适配多种末端设备的结构示意图;
图3是本申请实施例提供的控制终端的结构示意图;
图4是本申请实施例提供的厂商末端设备、控制终端、后台服务器以及末端设备的厂商服务器之间的通信连接图;
图5是本申请另一实施例提供的适配多种末端设备的方法的实现流程示意图。
具体实施方式
下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
此外,下面所描述的本申请不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
为了说明本申请的技术方案,下面通过具体实施例来进行说明。
附图1是本申请实施例提供的适配多种末端设备的方法的实现流程示意图,主要包括以下步骤S101至S104,以下详细说明:
步骤S101:在启动应用程序以与多种末端设备中的末端设备D交互时,确定本地保存的末端设备D的前端代码是否为最新前端代码。
在本申请实施例中,应用程序是指安装在控制终端上且能够与末端设备交互的应用程序,而末端设备可以是各设备制造商提供的设备,例如,机器人制造商提供的工业机器人等,所述本地,是指应用程序所在的控制终端,例如,智能手机或者工控机等,末端设备D是多种末端设备中任意一种末端设备。
需要说明的是,在本申请实施例中,本地或者应用程序所在的控制终端保存有多种厂商提供并用于控制其各自末端设备的前端代码,这些前端代码是应用程序事先从后台服务器下载或者通过其他方式存储到控制终端。换言之,附图1示例的方法中,多种末端设备的前端代码由多种厂商按照前端代码开发规范开发并通过提供给多种厂商的前端代码上传接口上传至后台服务器,其中,向多种厂商输出的前端代码的开发规范包含前端代码的用户界面(User Interface,UI)风格以及前端代码与移动应用程序的原生层(native)代码之间接口的接口信息等,这些接口信息包括传参类型、接口名称等。之所以要向多种厂商输出前端代码的开发规范,原因在于,一方面,各厂商末端设备的前端代码与移动应用程序的原生层代码之间的接口必须统一,否则,将导致无法通信的后果,另一方面,在各厂商末端设备的前端代码与移动应用程序的原生层代码的接口统一后,免除了移动应用程序的开发人员需要将移动应用程序的原生层代码去适配不同厂商末端设备的前端代码的工作量。按照前端代码的开发规范开发出末端设备的最新前端代码后,各厂商可以通过调用开放给它们的前端代码上传接口,将其末端设备的最新前端代码上传至与控制终端可通信的后台服务器,后台服务器可按照最新前端代码的标识与最新前端代码的映射关系保存每种末端设备的最新前端代码。
作为本申请一个实施例,确定本地保存的末端设备D的前端代码是否为最新前端代码可以是:通过应用程序所属控制终端的后台提供的接口,传入末端设备D的最新前端代码的标识;若本地保存的末端设备D的前端代码的标识与末端设备D的最新前端代码的标识相同,则确定本地保存的末端设备D的前端代码是最新前端代码,否则,确定本地保存的末端设备D的前端代码不是最新前端代码。具体而言,是由控制终端的应用程序通过后台服务器提供的接口,向后台服务器发送前端代码资源获取请求;作为对该请求的响应,后台服务器会向应用程序返回末端设备D的最新前端代码的标识,包括名称、版本号(通常是一个发布时间戳)和存储地址等信息;由于在此之前,本地亦保存了末端设备D的前端代码及其标识,因此,可以将后台服务器返回的末端设备D的最新前端代码的标识与本地亦保存的末端设备D的前端代码的标识进行比较,若两者相同,则表明本地保存的末端设备D的前端代码是最新前端代码,否则,本地保存的末端设备D的前端代码不是最新前端代码。
由于应用程序所属控制终端是后台服务器开放的前端代码下载接口在后台下载末端设备D的最新前端代码,这些前端代码都是从末端设备的厂商服务器传输过来。一旦末端设备的厂商服务器被入侵,很可能导致从厂商服务器传送过来的末端设备D的最新前端代码不安全,因此,在本申请实施例中,后台服务器还从末端设备D的厂商服务器接收末端设备D的最新前端代码的校验标识;相应地,应用程序所属控制终端接收末端设备D的最新前端代码的校验标识,根据末端设备D的最新前端代码的校验标识,对末端设备D的最新前端代码进行安全校验。具体地,厂商服务器将末端设备D的最新前端代码写入文件f中,并将最新前端代码的校验标识写入文件f以生成文件头部自签名;基于文件f生成对应的描述文件;使用预设的私钥对描述文件进行加密,以生成描述文件对应的签名文件;以及将文件f、描述文件和签名文件进行压缩打包,并通过私钥对压缩包进行非对称加密;厂商服务器将末端设备D的最新前端代码的校验标识传送给后台服务器,应用程序所属控制终端接收到末端设备D的最新前端代码的校验标识,就可以根据末端设备D的最新前端代码的校验标识,对末端设备D的最新前端代码进行安全校验。
步骤S102:若本地保存的末端设备D的前端代码不是最新前端代码,则通过后台服务器开放的前端代码下载接口在后台下载末端设备D的最新前端代码。
如前所述,后台服务器对厂商或者厂商末端设备一侧开放用于上传其最新前端代码的前端代码上传接口,除此之外,后台服务器还对应用程序或者控制终端一侧开放前端代码下载接口,因此,在确定本地保存的末端设备D的前端代码不是最新前端代码后,应用程序或者应用程序所在的控制终端可通过后台服务器开放的前端代码下载接口在后台下载末端设备D的最新前端代码。图4是本申请实施例涉及的厂商末端设备401、控制终端402、后台服务器403以及末端设备的厂商服务器404之间的通信连接图。末端设备的厂商服务器404通过后台服务器403开放的前端代码上传接口,将厂商末端设备401的最新前端代码上传至后台服务器403,控制终端401加载本地保存或从后台服务器403下载由末端设备的厂商服务器404上传的厂商末端设备401的最新前端代码,加载末端设备401的最新前端代码并展示最新前端代码的对应页面后,与厂商末端设备401进行交互。
需要说明的是,无论是厂商末端设备通过前端代码上传接口上传其最新前端代码,还是应用程序通过前端代码下载接口下载末端设备D的最新前端代码,由于都是在后台通过程序自动进行,应用程序用户不会感知到这些动作,因此,用户体验较好。
步骤S103:加载末端设备D的最新前端代码并展示最新前端代码对应页面。
为了加快页面的加载,进一步提升用户的体验,在本申请实施例中,加载末端设备D的最新前端代码并展示最新前端代码对应页面可以是:在加载末端设备D的最新前端代码时,识别页面加载过程中是否存在加载阻塞资源;若存在加载阻塞资源,则基于减轻资源加载阻塞的策略,输出最新前端代码对应页面。所谓加载阻塞资源,是指在页面加载过程中,那些阻塞或延迟页面加载进度的资源,譬如,一些容量较大的图片等。识别页面加载过程中是否存在加载阻塞资源的一般方法是监测页面加载进度,若页面资源从开始加载到加载完成的时长大于一定阈值时,则确定该页面资源为加载阻塞资源,或者,若页面资源等待加载的时长大于一定阈值时,也可以据此确定该页面资源为加载阻塞资源,等等。
作为本申请一个实施例,基于减轻资源加载阻塞的策略,输出末端设备D的最新前端代码对应页面可以是:若加载阻塞资源为图片资源,则将图片资源替换为指定图片后输出末端设备D的最新前端代码对应页面,其中,指定图片的大小小于图片资源的大小或指定图片的大小小于图片资源的大小,并且,指定图片包含有用于提示用户是否继续等待加载的提示信息;若加载阻塞资源为非图片资源,则使用加载阻塞资源的加载关联信息,加载阻塞资源后输出末端设备D的最新前端代码对应页面。在上述本实施例中,由于指定图片的大小小于存在作为加载阻塞资源的图片资源的大小,因此,当页面加载过程中存在加载阻塞资源时,采用该指定图片替换图片资源加载,能够快速加载指定图片并进行显示,以提高用户的使用体验,而在加载阻塞资源为非图片资源时,加载阻塞资源的加载关联信息包括加载阻塞资源的统一资源定位符(Uniform Resource Locator,URL)和类型等信息,可以与该加载阻塞资源的URL关联存储,加载阻塞资源的加载关联信息还可以包括加载阻塞资源的层叠样式表(Cascading Style Sheets,CSS)和JavaSript信息的URL以及指明该加载阻塞资源是JavaSript还是CSS的资源类型信息。由于页面解析器遇到这些加载阻塞资源后会停止解析,直到加载阻塞资源加载完成,因此,使用加载阻塞资源的加载关联信息加载所述加载阻塞资源后,就能够在页面解析到加载阻塞资源之前预先对上述加载关联信息进行加载,由此提升页面展示速度。
作为本申请另一实施例,基于减轻资源加载阻塞的策略,输出末端设备D的最新前端代码对应页面可以是:采用并行处理方式对末端设备D的最新前端代码对应页面的JavaScript文件和层叠样式表文件进行解析;基于对JavaScript文件和层叠样式表文件解析所得结果,输出末端设备D的最新前端代码对应页面,其中,层叠样式表文件是由最新前端代码对应页面的样式信息经编译而来。上述采用并行处理方式对末端设备D的最新前端代码对应页面的JavaScript文件和层叠样式表文件进行解析可以是采用主线程处理JavaScript文件,采用主线程外的其他线程处理层叠样式表文件,具体而言,是通过主线程从JavaScript文件中解析出模版对象和脚本对象,得到视图模板的实例,通过主线程外的其他线程从层叠样式表文件中解析出样式对象,该样式对象通过注册存储到控制终端中,以供后续渲染页面时使用。由于将末端设备D的最新前端代码对应页面的文件分为JavaScript文件和层叠样式表文件两个部分,在加载时可以以并行的方式处理,同时解析JavaScript文件和层叠样式表文件,同时,JavaScript文件文件体积大大减小,因此,提高了末端设备D的最新前端代码对应页面的加载速度。
作为本申请另一实施例,基于减轻资源加载阻塞的策略,输出末端设备D的最新前端代码对应页面可以是:若末端设备D的最新前端代码对应页面为页面架构代码与业务数据代码分离的页面,则根据页面架构数据渲染页面架构后重新渲染末端设备D的最新前端代码对应页面的局部,输出末端设备D的最新前端代码对应页面,具体可以是根据页面架构数据渲染末端设备D的最新前端代码对应页面的页面架构,在渲染完末端设备D的最新前端代码对应页面的页面架构时已经接收到业务数据,则根据已经接收到的业务数据,对末端设备D的最新前端代码对应页面的页面架构进行局部重新渲染。
步骤S104:响应于用户在最新前端代码对应页面的操作,与末端设备D进行交互。
具体地,步骤S104的实现可以是通过末端设备D的最新前端代码与应用程序的原生(native)层代码的接口,将用户在最新前端代码对应页面的操作对应的控制指令传送至原生层代码,通过该原生层代码与末端设备D之间的接口,向末端设备D实施与控制指令相应的动作。
从上述附图1示例的适配多种末端设备的方法可知,不同于现有技术中厂商末端设备的类型变更或者出现新的厂商末端设备时需要升级控制终端的移动应用程序而费时费力,本申请的技术方案是将用于控制其各自末端设备的前端代码保存于控制终端,仅在本地保存的某个末端设备的前端代码不是最新前端代码时,从后台服务器下载该末端设备的最新前端代码予以展示。由于仅仅通过本地加载或下载本地后再加载末端设备的最新前端代码,并不需要改动控制终端的应用程序即可实现控制终端的应用程序与多种末端设备的适配,免去了升级应用程序带来的各种不便,从而降低了开发控制终端的应用程序的各种成本。
为了进一步说明本申请的技术方案,附图5给出了适配多种末端设备的方法流程图,主要包括步骤S501至S510,说明如下:
步骤S501:通过应用程序所属控制终端的后台提供的接口,传入末端设备D的最新前端代码的标识。
步骤S502:判断本地保存的末端设备D的前端代码的标识与末端设备D的最新前端代码的标识相同?
相同,则流程转步骤S503,否则,流程转步骤S504。
步骤S503:确定本地保存的末端设备D的前端代码是最新前端代码。
在确定本地保存的末端设备D的前端代码是最新前端代码后,流程转步骤S506。
步骤S504:确定本地保存的末端设备D的前端代码不是最新前端代码。
在确定本地保存的末端设备D的前端代码不是最新前端代码后,流程转步骤S505。
步骤S505:通过后台服务器开放的前端代码下载接口在后台下载末端设备D的最新前端代码。
为了确保安全性,步骤S505之后还可能包括步骤S5051和步骤S5052,其中,步骤S5051:接收末端设备D的最新前端代码的校验标识;步骤S5052:根据末端设备D的最新前端代码的校验标识,对末端设备D的最新前端代码进行安全校验。
步骤S506:识别页面加载过程中是否存在加载阻塞资源?
若存在加载阻塞资源,则流程转步骤S507,否则,转步骤S510。
步骤S507:判断加载阻塞资源是否为图片资源?
若加载阻塞资源为图片资源,则流程转步骤S508,否则,转步骤S509。
步骤S508:将图片资源替换为指定图片。
此处,指定图片的大小小于图片资源的大小,或者,指定图片的大小小于图片资源的大小且指定图片包含有用于提示用户是否继续等待加载的提示信息。
步骤S509:使用加载阻塞资源的加载关联信息加载所述加载阻塞资源。
步骤S510:输出最新前端代码对应页面。
请参阅附图2,是本申请实施例提供的适配多种末端设备的装置的结构示意图。为了便于说明书,仅示出了与本申请有关的部分。图2示例的适配多种末端设备的装置主要包括确定模块201、下载模块202、页面展示模块203和交互模块204,详细说明如下:
确定模块201,用于在启动应用程序以与多种末端设备中的末端设备D交互时,确定本地保存的末端设备D的前端代码是否为最新前端代码;
下载模块202,用于若本地保存的末端设备D的前端代码不是最新前端代码,则通过后台服务器开放的前端代码下载接口在后台下载末端设备D的最新前端代码;
页面展示模块203,用于加载末端设备D的最新前端代码并展示末端设备D的最新前端代码对应页面;
交互模块204,用于响应于用户在末端设备D的最新前端代码对应页面的操作,与末端设备D进行交互。
需要说明的是,本申请实施例提供的适配多种末端设备的装置,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请方法实施例中的叙述,此处不再赘述。
在一种可选的实施方式中,图2示例的多种末端设备的前端代码由多种厂商按照前端代码开发规范开发并通过提供给多种厂商的前端代码上传接口上传至所述后台服务器。
在一种可选的实施方式中,上述确定模块201具体用于通过应用程序所属控制终端的后台提供的接口,传入末端设备D的最新前端代码的标识,若本地保存的末端设备D的前端代码的标识与末端设备D的最新前端代码的标识相同,则确定本地保存的末端设备D的前端代码是最新前端代码,否则,确定本地保存的末端设备D的前端代码不是最新前端代码。
在一种可选的实施方式中,图2示例的后台服务器还从末端设备D的厂商服务器接收末端设备D的最新前端代码的校验标识,相应地,图2示例的装置还包括:
标识接收模块,用于接收末端设备D的最新前端代码的校验标识;
校验模块,用于根据末端设备D的最新前端代码的校验标识,对末端设备D的最新前端代码进行安全校验。
在一种可选的实施方式中,上述页面展示模块203具体用于在加载末端设备D的最新前端代码时,识别页面加载过程中是否存在加载阻塞资源,若存在加载阻塞资源,则基于减轻资源加载阻塞的策略,输出末端设备D的最新前端代码对应页面。
在一种可选的实施方式中,上述基于减轻资源加载阻塞的策略,输出末端设备D的最新前端代码对应页面可以是:若加载阻塞资源为图片资源,则将图片资源替换为指定图片后输出所述最新前端代码对应页面,若加载阻塞资源为非图片资源,则使用加载阻塞资源的加载关联信息加载所述加载阻塞资源后输出末端设备D的最新前端代码对应页面,其中,指定图片的大小小于图片资源的大小,或者指定图片的大小小于图片资源的大小且指定图片包含有用于提示用户是否继续等待加载的提示信息。
在一种可选的实施方式中,上述基于减轻资源加载阻塞的策略,输出末端设备D的最新前端代码对应页面可以是:采用并行处理方式对末端设备D的最新前端代码对应页面的JavaScript文件和层叠样式表文件进行解析,基于对最新前端代码对应页面的JavaScript文件和层叠样式表文件解析所得结果,输出末端设备D的最新前端代码对应页面。
在一种可选的实施方式中,上述基于减轻资源加载阻塞的策略,输出末端设备D的最新前端代码对应页面可以是:若末端设备D的最新前端代码对应页面为页面架构代码与业务数据代码分离的页面,则根据页面架构数据渲染页面架构后重新渲染末端设备D的最新前端代码对应页面的局部,输出末端设备D的最新前端代码对应页面。
图3是本申请一实施例提供的控制终端的结构示意图。如图3所示,该实施例的控制终端3主要包括:处理器30、存储器31以及存储在存储器31中并可在处理器30上运行的计算机程序32,例如适配多种末端设备的方法的程序。处理器30执行计算机程序32时实现上述适配多种末端设备的方法实施例中的步骤。或者,处理器30执行计算机程序32时实现上述各系统实施例中各模块/单元的功能,例如图2所示确定模块201、下载模块202、页面展示模块203和交互模块204的功能。
示例性地,适配多种末端设备的方法的计算机程序32主要包括:在启动应用程序以与多种末端设备中的末端设备D交互时,确定本地保存的末端设备D的前端代码是否为最新前端代码;若本地保存的末端设备D的前端代码不是最新前端代码,则通过后台服务器开放的前端代码下载接口在后台下载末端设备D的最新前端代码;加载末端设备D的最新前端代码并展示最新前端代码对应页面;响应于用户在最新前端代码对应页面的操作,与末端设备D进行交互。计算机程序32可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器31中,并由处理器30执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序32在控制终端3中的执行过程。例如,计算机程序32可以被分割成确定模块201、下载模块202、页面展示模块203和交互模块204(虚拟装置中的模块)的功能,各模块具体功能如下:确定模块201,用于在启动应用程序以与多种末端设备中的末端设备D交互时,确定本地保存的末端设备D的前端代码是否为最新前端代码;下载模块202,用于若本地保存的末端设备D的前端代码不是最新前端代码,则通过后台服务器开放的前端代码下载接口在后台下载末端设备D的最新前端代码;页面展示模块203,用于加载末端设备D的最新前端代码并展示末端设备D的最新前端代码对应页面;交互模块204,用于响应于用户在末端设备D的最新前端代码对应页面的操作,与末端设备D进行交互。
控制终端3可包括但不仅限于处理器30、存储器31。本领域技术人员可以理解,图3仅仅是控制终端3的示例,并不构成对控制终端3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如控制终端还可以包括输入输出设备、网络接入设备、总线等。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(应用程序lication Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器31可以是控制终端3的内部存储单元,例如控制终端3的硬盘或内存。存储器31也可以是控制终端3的外部存储设备,例如控制终端3上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器31还可以既包括控制终端3的内部存储单元也包括外部存储设备。存储器31用于存储计算机程序以及控制终端所需的其他程序和数据。存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/控制终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/控制终端实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,适配多种末端设备的方法的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤,即,在启动应用程序以与多种末端设备中的末端设备D交互时,确定本地保存的末端设备D的前端代码是否为最新前端代码;若本地保存的末端设备D的前端代码不是最新前端代码,则通过后台服务器开放的前端代码下载接口在后台下载末端设备D的最新前端代码;加载末端设备D的最新前端代码并展示最新前端代码对应页面;响应于用户在最新前端代码对应页面的操作,与末端设备D进行交互。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读内存(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (11)

1.一种适配多种末端设备的方法,其特征在于,所述方法包括:
在启动应用程序以与多种末端设备中任意末端设备D交互时,确定本地保存的末端设备D的前端代码是否为最新前端代码;
若所述本地保存的末端设备D的前端代码不是最新前端代码,则通过后台服务器开放的前端代码下载接口在后台下载所述末端设备D的最新前端代码;
加载所述末端设备D的最新前端代码并展示所述最新前端代码的对应页面;
响应于用户在所述最新前端代码的对应页面的操作,与所述末端设备D进行交互。
2.如权利要求1所述适配多种末端设备的方法,其特征在于,所述多种末端设备的前端代码由多种厂商按照前端代码开发规范开发并通过提供给多种厂商的前端代码上传接口上传至所述后台服务器。
3.如权利要求1所述适配多种末端设备的方法,其特征在于,所述确定本地保存的末端设备D的前端代码是否为最新前端代码,包括:
通过所述应用程序所属控制终端的后台提供的接口,传入所述末端设备D的最新前端代码的标识;
若所述本地保存的末端设备D的前端代码的标识与所述末端设备D的最新前端代码的标识相同,则确定本地保存的末端设备D的前端代码是最新前端代码,否则,确定本地保存的末端设备D的前端代码不是最新前端代码。
4.如权利要求3所述适配多种末端设备的方法,其特征在于,所述后台服务器还从所述末端设备D的厂商服务器接收所述末端设备D的最新前端代码的校验标识,所述方法还包括:
接收所述末端设备D的最新前端代码的校验标识;
根据所述末端设备D的最新前端代码的校验标识,对末端设备D的最新前端代码进行安全校验。
5.如权利要求1至4任意一项所述适配多种末端设备的方法,其特征在于,所述加载所述末端设备D的最新前端代码并展示所述最新前端代码对应页面,包括:
在加载所述末端设备D的最新前端代码时,识别页面加载过程中是否存在加载阻塞资源;
若存在所述加载阻塞资源,则基于减轻资源加载阻塞的策略,输出所述最新前端代码对应页面。
6.如权利要求5所述适配多种末端设备的方法,其特征在于,所述基于减轻资源加载阻塞的策略,输出所述最新前端代码对应页面,包括:
若所述加载阻塞资源为图片资源,则将所述图片资源替换为指定图片后输出所述最新前端代码对应页面,所述指定图片的大小小于所述图片资源的大小,或者,所述指定图片的大小小于所述图片资源的大小且所述指定图片包含有用于提示用户是否继续等待加载的提示信息;
若所述加载阻塞资源为非图片资源,则使用所述加载阻塞资源的加载关联信息加载所述加载阻塞资源后输出所述最新前端代码对应页面。
7.如权利要求5所述适配多种末端设备的方法,其特征在于,所述基于减轻资源加载阻塞的策略,输出所述最新前端代码对应页面,包括:
采用并行处理方式对所述最新前端代码对应页面的JavaScript文件和层叠样式表文件进行解析;
基于对所述JavaScript文件和所述层叠样式表文件解析所得结果,输出所述最新前端代码对应页面。
8.如权利要求5所述适配多种末端设备的方法,其特征在于,所述基于减轻资源加载阻塞的策略,输出所述最新前端代码对应页面,包括:
若所述最新前端代码对应页面为页面架构代码与业务数据代码分离的页面,则根据所述页面架构数据渲染所述页面架构后重新渲染所述最新前端代码对应页面的局部,输出所述最新前端代码对应页面。
9.一种适配多种末端设备的装置,其特征在于,所述装置包括:
确定模块,用于在启动应用程序以与多种末端设备中的末端设备D交互时,确定本地保存的末端设备D的前端代码是否为最新前端代码,所述本地保存有所述多种厂商提供并用于控制其各自末端设备的前端代码;
下载模块,用于若所述本地保存的末端设备D的前端代码不是最新前端代码,则通过后台服务器开放的前端代码下载接口在后台下载所述末端设备D的最新前端代码;
页面展示模块,用于加载所述末端设备D的最新前端代码并展示所述最新前端代码对应页面;
交互模块,用于响应于用户在所述最新前端代码对应页面的操作,与所述末端设备D进行交互。
10.一种控制终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8任意一项所述方法的步骤。
11.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任意一项所述方法的步骤。
CN202011232404.5A 2020-11-06 2020-11-06 适配多种末端设备的方法、设备和计算机可读存储介质 Active CN112379902B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011232404.5A CN112379902B (zh) 2020-11-06 2020-11-06 适配多种末端设备的方法、设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011232404.5A CN112379902B (zh) 2020-11-06 2020-11-06 适配多种末端设备的方法、设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN112379902A true CN112379902A (zh) 2021-02-19
CN112379902B CN112379902B (zh) 2024-10-18

Family

ID=74579578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011232404.5A Active CN112379902B (zh) 2020-11-06 2020-11-06 适配多种末端设备的方法、设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112379902B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114510266A (zh) * 2022-04-20 2022-05-17 武汉绿之云科技有限公司 一种一端发布轻应用且自动适配多终端使用的方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130159990A1 (en) * 2011-12-16 2013-06-20 International Business Machines Corporation Updating firmware using a mobile communication device
CN109408139A (zh) * 2018-09-26 2019-03-01 平安普惠企业管理有限公司 应用程序的开启方法、装置、计算机设备及存储介质
CN109542427A (zh) * 2018-11-30 2019-03-29 深圳市元征科技股份有限公司 一种系统定制方法、装置及电子设备和存储介质
CN110543318A (zh) * 2019-08-30 2019-12-06 珠海格力电器股份有限公司 控制设备程序更新方法、装置、存储介质及控制设备
CN110727469A (zh) * 2018-06-29 2020-01-24 珠海市魅族科技有限公司 终端设备控制方法及装置、应用程序配置文件的封装方法、终端设备及计算机可读存储介质
CN110727454A (zh) * 2019-10-24 2020-01-24 北京云迹科技有限公司 智能设备的更新方法及装置、电子设备、存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130159990A1 (en) * 2011-12-16 2013-06-20 International Business Machines Corporation Updating firmware using a mobile communication device
CN110727469A (zh) * 2018-06-29 2020-01-24 珠海市魅族科技有限公司 终端设备控制方法及装置、应用程序配置文件的封装方法、终端设备及计算机可读存储介质
CN109408139A (zh) * 2018-09-26 2019-03-01 平安普惠企业管理有限公司 应用程序的开启方法、装置、计算机设备及存储介质
CN109542427A (zh) * 2018-11-30 2019-03-29 深圳市元征科技股份有限公司 一种系统定制方法、装置及电子设备和存储介质
CN110543318A (zh) * 2019-08-30 2019-12-06 珠海格力电器股份有限公司 控制设备程序更新方法、装置、存储介质及控制设备
CN110727454A (zh) * 2019-10-24 2020-01-24 北京云迹科技有限公司 智能设备的更新方法及装置、电子设备、存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114510266A (zh) * 2022-04-20 2022-05-17 武汉绿之云科技有限公司 一种一端发布轻应用且自动适配多终端使用的方法及系统

Also Published As

Publication number Publication date
CN112379902B (zh) 2024-10-18

Similar Documents

Publication Publication Date Title
CN110597542B (zh) 软件自动ota升级方法及装置、电子设备
CN107193593B (zh) 一种可升级文件的升级方法、机顶盒和存储介质
EP3345112B1 (en) Thresholds on scripts executable by unified extensible firmware interface systems
CN110457049B (zh) 实现插件自动化的方法、装置、电子设备及存储介质
US11016769B1 (en) Method and apparatus for processing information
EP3828696A1 (en) Method invoke chain tracing method, electronic apparatus, and computer-readable storage medium
CN104111844A (zh) 在移动终端内安装应用程序的方法及系统
EP3091435A1 (en) Resource management method and device for terminal system
KR101833709B1 (ko) 통신장치, 정보처리장치 및 그 제어 방법
EP2472429A1 (en) Access management system and access management method
CN111158987A (zh) 微服务架构的健康检查方法及装置
CN112379902A (zh) 适配多种末端设备的方法、设备和计算机可读存储介质
CN108259895A (zh) 机顶盒测试方法、系统及终端设备
CN108989428B (zh) 蓝牙终端升级方法、服务器、计算机可读存储介质及系统
CN116909634A (zh) 射频驱动的识别方法、装置、存储介质以及电子设备
CN114265606B (zh) 固件升级方法、装置、设备及存储介质
CN112150431B (zh) Ui视觉的走查方法和装置、存储介质、电子装置
CN113760631B (zh) 页面加载时长确定方法、装置、设备和存储介质
CN111176693B (zh) 一种数字电视系统的升级方法
CN113672243A (zh) Linux系统安装方法、装置、系统、计算机设备和存储介质
CN111522564A (zh) 系统升级状态的识别方法、装置和计算机可读存储介质
CN111800461A (zh) 浏览器的脚本下载方法、装置、设备及存储介质
CN110825406A (zh) 一种软件升级的方法及相关设备
CN109885326A (zh) 副屏控制系统升级方法、装置及计算机可读存储介质
CN112910948B (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