CN112148331A - 宿主程序的动态更新方法及终端设备 - Google Patents

宿主程序的动态更新方法及终端设备 Download PDF

Info

Publication number
CN112148331A
CN112148331A CN202011059962.6A CN202011059962A CN112148331A CN 112148331 A CN112148331 A CN 112148331A CN 202011059962 A CN202011059962 A CN 202011059962A CN 112148331 A CN112148331 A CN 112148331A
Authority
CN
China
Prior art keywords
tool
host program
host
interface
program
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
CN202011059962.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.)
Liangfengtai Shanghai Information Technology Co ltd
Original Assignee
Liangfengtai Shanghai Information 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 Liangfengtai Shanghai Information Technology Co ltd filed Critical Liangfengtai Shanghai Information Technology Co ltd
Priority to CN202011059962.6A priority Critical patent/CN112148331A/zh
Publication of CN112148331A publication Critical patent/CN112148331A/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
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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

Landscapes

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

Abstract

本申请公开了一种宿主程序的动态更新方法及终端设备。所述方法包括:S1、启动终端设备中的宿主程序,所述宿主程序在执行预定操作时触发相应的更新进程;S2、所述终端设备中至少一待启动的工具根据自身的任务配置,判断自身是否与所述更新进程相关,若相关则响应所述更新进程,执行更新操作。本申请宿主程序不需要对工具进行管理;各工具动态启动以为宿主程序提供相应的功能,但不会影响到宿主程序的其它功能使用;优选地,动态添加的功能可以使宿主程序的相关界面发生相应的变化,提高了工具应用的灵活性。

Description

宿主程序的动态更新方法及终端设备
技术领域
本申请涉及应用程序技术领域,尤其涉及一种宿主程序的动态更新方法及终端设备。
背景技术
智能手机应用程序安装完成后,可能需要对已有应用程序进行动态更新、动态添加或删除某些功能。但是受限于操作系统的限制,比较难以实现,或者只能实现一些简单的、各个界面无联系交互的修改。现有对应用程序进行更新,是将已安装的应用程序的版本升级,在新版本的应用程序中将使用新的代码替换对应的代码。但是由于应用程序涉及的功能、控件、资源等非常多,若仅因为少量代码的修改就对应用程序进行一次版本升级,会导致应用程序版本资源的浪费。
为解决该问题,现有技术提出了H5技术、热修复等应用程序动态更新技术。
H5技术,是利用应用程序的网页加载,直接加载一个网页页面,应用程序和网页之间进行通信和交互,使用户感觉是原生应用。H5技术可以对网页进行动态修改,从而实现应用程序的动态更新;但其只能在应用程序的使用了网页技术的单独H5页面进行修改,而无法对应用程序的其它非网页页面进行修改。
热修复技术,主要用于修复应用程序中存在的某个漏洞(bug)。采用热修复技术,避免了为修复某个bug而进行应用程序重装的代价;但其只能进行bug的修复,无法动态添加页面、添加复杂功能,即无法实现较大的应用程序功能的动态更新。
如何实现动态添加功能,不会影响到该应用程序的其它功能使用;优选地,该动态添加的功能还可以使应用程序的相关界面发生相应变化,是应用程序动态更新需要解决的技术问题。
发明内容
本申请的目的在于,针对现有技术存在的问题,提供一种宿主程序的动态更新方法及终端设备,可以实现应用程序动态更新,但不会影响到该应用程序的其它功能使用,优选地,动态更新的功能还可以使应用程序的相关界面发生相应变化。
为实现上述目的,本申请提供了一种宿主程序的动态更新方法,所述方法包括如下步骤:S1、启动终端设备中的宿主程序,所述宿主程序在执行预定操作时触发相应的更新进程;S2、所述终端设备中至少一待启动的工具根据自身的任务配置,判断自身是否与所述更新进程相关,若相关则响应所述更新进程,执行更新操作。
为实现上述目的,本申请还提供了一种实现宿主程序的动态更新的终端设备,所述终端设备包括:宿主程序,用于在执行预定操作时触发相应的更新进程;至少一待启动的工具,所述工具用于根据自身的任务配置,判断自身是否与所述更新进程相关,若相关则响应所述更新进程,执行更新操作。
为实现上述目的,本申请还提供了一种计算机可读介质,所述计算机可读介质存储有计算机可执行指令,当所述计算机可执行指令被执行时,使得本申请所述方法被执行。
本申请的优点在于:本申请各工具动态启动以为宿主程序提供相应的功能,宿主程序并不需要对工具进行管理;优选地,动态添加的功能可以使宿主程序的相关界面发生相应的变化,但不会影响到宿主程序的其它功能使用,提高了工具应用的灵活性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请宿主程序的动态更新方法的架构流程图;
图2为本申请一实施例所示的通信方式架构图;
图3为本申请一实施例所示的工具修改宿主程序界面示意图;
图4为本申请另一实施例所示的工具修改宿主程序界面示意图;
图5为申请实现宿主程序的动态更新的终端设备的架构示意图。
具体实施方式
下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参阅附图描述的实施方式是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”“相连”“连接”应做广义理解,例如,可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
下文的公开提供了许多不同的实施方式或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
本申请提供了一种宿主程序的动态更新方法,在终端设备中的宿主程序启动后,当所述宿主程序在执行预定操作时触发相应的更新进程;所述终端设备中至少一待启动的工具根据自身的任务配置,判断自身是否与所述更新进程相关,若相关则响应所述更新进程,执行更新操作。其中,所述工具包括:插件、组件和伪插件的至少其中之一。在一些实施例中,整个应用程序只有宿主程序一开始是运行的,各工具都是动态启动运行的;在一些实施例中,若工具为插件,插件启动运行前,宿主程序需要加载插件。宿主程序无需知晓终端设备中安装了哪些工具,也不直接管理这些工具。宿主程序只需根据自己所执行的操作(比如,进入某个预定界面、或用户对宿主程序进行了某些预定操作、或执行了预定的事件等等),触发相应的更新进程。工具与宿主程序之间采取自组织的形式,工具选择是否根据该更新进程采取相应动作,以执行更新操作,从而减少宿主程序的复杂度。
请参阅图1,本申请宿主程序的动态更新方法的架构流程图。所述宿主程序的动态更新方法包括如下步骤:S1、启动终端设备中的宿主程序,所述宿主程序在执行预定操作时触发相应的更新进程;S2、所述终端设备中至少一待启动的工具根据自身的任务配置,判断自身是否与所述更新进程相关,若相关则响应所述更新进程,执行更新操作。以下给出详细说明。
关于步骤S1、启动终端设备中的宿主程序,所述宿主程序在执行预定操作时触发相应的更新进程。
在一些实施例中,将应用程序运行的主程序称为宿主程序,当未启动工具时,宿主程序可以单独运行。在一些实施例中,整个应用程序只有宿主程序一开始是运行的,各工具都是动态启动运行的;在一些实施例中,若工具为插件,插件启动运行前,宿主程序需要加载插件。宿主程序不感知这些工具的存在,也不管理这些工具。当宿主程序执行了预定操作,则触发相应的更新进程。所述预定操作可以为,到达预定系统时间(比如,到了系统时间9点等),或终端设备接收了某些预定交互操作(比如,摄像头被打开、通话被结束等),或进入预定界面(比如,进入联系人界面、进入通话界面等),或其它预定事件。此处预定操作仅为举例,不作限定。
进一步的实施例中,所述宿主程序触发相应的更新进程可以通过以下任一方式实现:1)发送与所述预定操作相关的事件广播;2)更改预定数据区的信息;3)发送事件回调消息进行通知。具体地,所述事件广播可以为全局事件广播或局部事件广播。所述全局事件广播是指终端设备的全部应用程序(包括全部工具)都能接收到的广播;所述局部事件广播是指宿主程序以及宿主程序中的工具(包括部分工具,比如,插件、组件)能接收到的广播。具体地,所述事件回调是由相应的工具预先注册在所述宿主程序内。
关于步骤S2、所述终端设备中至少一待启动的工具根据自身的任务配置,判断自身是否与所述更新进程相关,若相关则响应所述更新进程,执行更新操作。
终端设备中安装了工具后,在宿主程序运行时,在触发相应的更新进程后,如果相应工具检测到该更新进程,并根据自己的任务判断自身与所述更新进程相关,则响应所述更新进程,执行更新操作。即,宿主程序不直接管理工具,工具与宿主程序之间采取自组织的形式,工具自身选择是否根据该更新进程采取相应动作,以执行更新操作,从而减少宿主程序的复杂度。宿主程序无需知道终端设备中已经安装了哪些工具,工具间的交互宿主程序也无需关心,从而进一步减少宿主程序的复杂度。
进一步的实施例中,根据所述宿主程序触发相应的更新进程的实现方式,所述终端设备中至少一待启动的工具根据自身的任务配置,判断自身是否与所述更新进程相关;并在与所述更新进程相关时,响应所述更新进程,执行相应操作。
具体地,当所述宿主程序在执行预定操作时,发送与所述预定操作相关的事件广播;则所述工具监听所述事件广播,并在判定自身与所述事件广播对应的事件相关时,响应所述更新进程。即,所述宿主程序发送相关事件广播消息,所述工具会监听这些消息,从而采取相应操作。进一步的,所述事件广播可以为全局事件广播或局部事件广播。在一些实施例中,当所述宿主程序发送相关全局事件广播时,终端设备的全部应用程序(包括全部工具)都能接收到广播;在另一些实施例中,当所述宿主程序发送相关局部事件广播时,宿主程序以及宿主程序中的工具(包括部分工具,比如,插件、组件)能接收到广播。
具体地,当所述宿主程序在执行预定操作时,更改预定数据区的信息;则所述工具检测所述预定数据区的信息的更改,并在判定自身与所述更改相关时,响应所述更新进程。即,所述宿主程序可以更改工具能访问的数据区的信息(例如,更改某些内存信息、更改安全数码卡(SD卡)信息等);工具可以自己去检测该数据区的信息是否发生变化;例如,工具每隔预定时间间隔检测该数据区中数据变化,从而采取相应行为。在另一些实施例中,当所述宿主程序在执行预定操作时,更改预定数据区的预定信息;则所述工具检测所述预定数据区的预定信息的更改,并在判定自身与所述更改相关时,响应所述更新进程。即,所述宿主程序可以更改工具能访问的数据区的预定信息(例如,更改某些预定的内存信息、更改安全数码卡(SD卡)的预定信息等);工具可以自己去检测该数据区的预定信息是否发生变化,例如,工具每隔预定时间间隔检测该数据区中预定数据变化,从而采取相应行为。
具体地,当所述宿主程序在执行预定操作时,发送事件回调消息;则所述工具在检测到所述事件回调消息时,响应所述更新进程。其中,所述事件回调由相应的工具预先注册在所述宿主程序内。在一些实施例中,宿主提供一个事件接口,工具调用该事件接口进行注册。当事件发生后,宿主调用接口,通知所有注册了的工具;则已注册的工具在该事件发生后就会收到该事件发生的信息,从而采取相应操作。即,工具在宿主程序里预先注册事件回调;宿主程序发生相应事件时,直接通过工具预先注册的事件回调来通知相应的工具;工具根据事件回调消息,从而采取相应操作。
进一步的实施例中,所述终端设备中的工具之间和/或工具与所述宿主程序之间实现通信的方式包括基于进程间通信(Inter-Process Communication,简称IPC)机制的通信方式。具体地,所述进程间通信包括广播、内存共享、安卓接口定义语言(AndroidInterface Definition Language,简称AIDL)、总线(Bus)等。AIDL可以用于让某个服务(Service)与多个应用程序之间进行跨进程通信,从而可以实现多个应用程序共享同一个服务的功能;例如,通过AIDL,可以用于让某个插件与多个宿主程序之间进行跨进程通信。在一些实施例中,所述进程间通信机制底层采用共享内存的方法实现,有利于进程间大数据量、高频率的通信。具体地,利用进程间通信,连接数据接收端和发送端;开始发送时,数据发送端通知接收端消息体最大大小,接收端做好接收准备;通知接收端共享内存的位置;数据发送端发送数据,先将数据写入共享内存,然后告诉数据接收端,从共享内存中读取数据。
进一步的实施例中,本申请所述工具包括:插件、组件和伪插件的至少其中之一。其中,所述插件(Plug-in)是一种遵循一定规范的应用程序接口编写出来的程序;其可以实现功能模块的按需加载和动态更新,本质是动态加载未安装的安装包(apk)。所述伪插件,是可以实现按需加载、并作为单独的进程运行的程序;其无法作为插件形式插入到宿主程序里,安装过程需要弹出APP安装界面,但和插件一样都是可以按需加载,且用户无感知。所述组件,是软件系统中具有相对独立功能、接口由契约指定、和语境有明显依赖关系、可独立部署、可组装的软件实体。
具体地,所述插件、伪插件可以采用独立按需下载、独立安装、独立卸载、独立显示等方式;且所述插件的安装包,可以存储于云端或存储于宿主程序中(即宿主apk与插件apk打包成一个apk)。所述组件是打包至相应的宿主程序中、并依赖于宿主程序(即宿主程序和组件程序打包成一个apk);即组件与宿主程序一体,跟随宿主程序的下载而下载,跟随宿主程序的安装而安装。在一些实施例中,插件与插件之间,和/或伪插件与伪插件之间,通过进程间通信方式进行通信。在一些实施例中,插件与宿主程序之间,和/或插件与组件之间,和/或插件与伪插件之间,通过进程间通信方式进行通信。在一些实施例中,伪插件与宿主程序之间,和/或伪插件与组件之间,和/或伪插件与插件之间,通过进程间通信方式进行通信,等等。在另一些实施例中,所述进程间通信机制底层采用共享内存的方法实现。
请参阅图2,本申请一实施例所示的通信方式架构图。如图2所示,所述终端设备中的工具之间以及工具与所述宿主程序之间实现通信的方式包括基于IPC机制的通信方式。
具体地,在一些实施例中,宿主程序21与各插件22之间可以采用总线桥(BridgeBUS)29形式的系统走线实现通信;其中,总线桥29是基于IPC进行封装的。宿主程序21在执行预定操作时向外发送通知,各插件22采用总线桥29接收通知、并选择是否根据该通知采取相应操作;宿主程序21无需知道终端设备中已经安装了哪些插件,降低了宿主程序的复杂度。
在一实施例中,当宿主程序在进入通话界面后,一变声插件会开启一个变声功能。如果该变声插件已安装,则在宿主程序进入通话界面后,将加载该变声插件,该变声插件启动将自己的变声功能按钮,添加到通话界面中;此时,通话界面就会自动添加上变声功能按钮。如果该变声插件没有安装,则通话界面上不会有变声按钮。在另一实施例中,当宿主程序在进入联系人界面后,一无人机插件会在联系人界面插入无人机标识按钮。如果该无人机插件已安装,则在宿主程序进入联系人界面后,将加载该无人机插件,该无人机插件启动将自己的无人机标识按钮,添加到联系人界面中;此时,联系人界面就会自动添加上无人机标识按钮。如果该无人机插件没有安装,则联系人界面上不会有无人机标识按钮。
在本实施例中,各插件22之间采用基于IPC机制实现通信。需要说明的是,各插件22之间也可以采用总线桥29形式或新建总线等方式实现通信。在一些实施例中,插件之间也采取自组织架构,插件之间的通信与宿主程序无关,降低了宿主程序的复杂度。在一些实施例中,可以将通用的功能单独作为一个插件,例如将通用的算法功能单独作为一个算法插件,其它插件调用该算法插件,获得算法结果,这样,算法不用暴露出去,有利于系统安全性。在另一些实施例中,一信息获取插件具有获取信息的功能(例如采集视频、音频、GPS等),而其它插件需要该信息(视频、音频、GPS等),则该信息获取插件可以向需要信息的插件发送信息。在一些实施例中,组件210和插件22之间可以采用总线桥形式、基于IPC机制实现通信。
在本实施例中,伪插件24和插件22之间,伪插件24和宿主程序21之间,伪插件24和组件210之间,也可以采用基于IPC机制28的通信方式实现通信。在一些实施例中,可以在伪插件24与插件22的各自一端分别设置IPC通信模块,以提供伪插件24与插件22之间的传输通道(基于IPC机制28),从而保证伪插件24与插件22之间可以基于IPC机制28的通信方式实现通信;也可以在伪插件24与宿主程序21的各自一端分别设置IPC通信模块,以提供伪插件24与宿主程序21之间的传输通道(基于IPC机制28),从而保证伪插件24与宿主程序21之间可以基于IPC机制28的通信方式实现通信。伪插件24与宿主程序21是平级的,对于系统来说,伪插件24与宿主程序21是两个应用程序。在一些实施例中,伪插件24在宿主程序21的后台运行,并直接为宿主程序21、组件210或其它插件22提供数据;在另一些实施例中,伪插件24可以修改宿主界面,如隐藏宿主界面的相应元素、显示宿主界面的相应元素、增加宿主界面的相应元素、修改宿主界面的相应元素。宿主程序21在执行预定操作时向外发送通知,伪插件24可以来响应执行。需要说明的是,由于组件210是打包在宿主程序21里的,两者本质上是一个应用程序;因此宿主程序21跟组件210之间、各组件210之间的通信为同一进程的直接通信,而非进程间通信。值得注意的是,上述插件22、伪插件24、组件210和宿主程序21之间的通信方式仅为举例,整个系统可以采用一种或多种通信方式,这里不进行限定。例如,当插件22与宿主程序21之间通信的数据量小时,两者可以基于总线桥29方式进行通信;当伪插件24与宿主程序21之间通信的数据量大时,两者可以基于IPC机制28通信,且IPC机制28底层采用共享内存的方法实现,这里不进行限定。在一些实施例中,宿主程序只是作为工具(插件和/或组件)的容器,并不需要对工具进行管理。
请继续参阅图1,步骤S2所述的执行更新操作进一步包括:所述工具修改宿主程序界面,或所述工具在所述宿主程序的后台运行。其中,所述宿主程序界面包括所述宿主程序的宿主界面。在一些实施例中,宿主程序可以叠加图层容器于宿主界面,此时宿主程序界面包括宿主界面和图层容器。在另一些实施例中,宿主界面未叠加图层容器,则宿主程序界面为宿主界面。
在一些实施例中,所述工具修改宿主程序界面,可以是当工具对应的图层添加到宿主程序界面时,若宿主界面上原有的显示元素与工具对应的图层产生遮挡问题,则修改宿主界面或者工具对应的图层,以消除遮挡问题。其中,所述工具对应的图层,可以是工具自身对应的图层全部显示元素,也可以是工具自身对应的图层的一部分显示元素(如按钮、图标等),这里不进行限定。具体地,当工具对应的图层添加到宿主程序界面时,宿主界面上原有的显示元素(例如,按钮、图标等)可能会遮挡工具对应的图层,或者,工具对应的图层可能会遮挡宿主界面上原有的显示元素。若选择优先显示工具对应的图层,则可以修改宿主界面原有的显示元素,例如隐藏相应显示元素,或者修改相应显示元素的位置或大小等,使其不遮挡工具对应的图层。若选择优先显示宿主界面,则可以修改工具对应的图层,例如调整工具对应的图层的大小或位置等,使其不遮挡宿主界面。
在一些实施例中,所述工具修改宿主程序界面可以是工具直接修改宿主程序界面,无需宿主程序提供宿主程序界面修改权限;或者宿主程序界面修改权限是开放的;也可以是宿主程序先提供修改权限,然后工具才可以修改宿主程序界面。在一些实施例中,所述工具修改所述宿主程序界面进一步包括:所述工具修改所述宿主程序界面的界面配置文件;所述宿主程序读取修改后的界面配置文件,动态修改所述宿主程序界面;又或者,所述工具直接修改所述宿主程序界面。
具体地,工具可以修改宿主程序界面;工具也可以在所述宿主程序的后台运行、并不修改宿主程序界面。在一些实施例中,一GPS插件,无需修改宿主界面,只需给宿主程序提供GPS定位功能;因而当该GPS插件响应宿主程序对应的更新进程后,只需在宿主程序的后台运行给宿主程序提供GPS定位功能,并不修改宿主界面。
进一步的实施例中,所述宿主程序界面包括宿主界面;所述的所述工具修改宿主程序界面的步骤还包括:所述宿主程序提供宿主界面修改权限,以供所述工具(插件和/或组件和/或伪插件)动态修改所述宿主界面。其中,所述宿主程序提供宿主界面修改权限可以通过以下方式实现:1)所述工具发送界面修改消息至所述宿主程序,所述宿主程序响应所述界面修改消息,开放所述宿主界面修改权限;或2)所述宿主程序直接开放所述宿主界面修改权限。在一些实施例中,所述工具动态修改所述宿主界面进一步包括:所述工具根据所述界面修改权限,修改所述宿主程序的界面配置文件;所述宿主程序读取修改后的界面配置文件,动态修改所述宿主界面;又或者,所述工具根据所述界面修改权限,直接修改所述宿主程序的宿主界面。
具体地,所述宿主界面修改权限包括以下任一项:隐藏宿主界面的相应元素、显示宿主界面的相应元素、增加宿主界面的相应元素、修改宿主界面的相应元素。其中,修改宿主界面的相应元素,可以包括修改宿主界面的相应元素的位置,或修改宿主界面的相应元素的内容、大小等。其中,插件、组件、伪插件的至少其中之一均可修改宿主界面。在一些实施例中,工具(插件和/或组件和/或伪插件)可增加宿主界面的相应元素,如当到达预定系统时间后,相应的工具在当前宿主界面增加一个闹钟图标等显示元素。在一些实施例中,当插件或组件对应的图层添加到叠加于宿主界面的图层容器时,或者工具(插件和/或组件和/或伪插件)往宿主界面上新增显示元素时,宿主界面上原有的显示元素(例如,按钮、图标等)可能会遮挡对应的图层或新增的显示元素。若优先显示对应的图层或新增的显示元素,则需修改宿主界面原有的显示元素,例如隐藏相应显示元素,或者修改相应显示元素的位置或大小等,使其不遮挡对应的图层或新增的显示元素。在另一些实施例中,当不存在遮挡问题,或者优先级改变(优先显示宿主界面原有的显示元素)时,则重新显示宿主界面原有的显示元素,等等。
进一步的实施例中,所述工具包括:插件、组件的至少其中之一,所述宿主程序界面包括叠加于所述宿主界面的至少一图层容器;所述的所述工具修改宿主程序界面的步骤还包括:所述工具(插件和/或组件)将自身对应的图层添加到所述图层容器内,或将自身对应的图层从所述图层容器内删除。其中,所述工具自身对应的图层,可以是工具自身对应的图层全部显示元素,也可以是工具自身对应的图层的一部分显示元素,如按钮、图标等等,这里不进行限定。在一些实施例中,所述工具修改宿主程序界面中的图层容器,可以是工具直接修改所述图层容器,无需宿主程序提供图层容器修改权限;或者图层容器修改权限是开放的;也可以是宿主程序先提供图层容器修改权限,然后工具才可以修改所述图层容器。
在一些实施例中,所述图层容器叠加在所述宿主界面的上层(朝向用户的一面)或下层(背离用户的一面);又或者,存在两个所述图层容器,分别叠加在所述宿主界面的上层和下层。优选地,所述图层容器为透明界面。在一些实施例中,当宿主界面上层的图层容器和下层的图层容器均由工具(插件和/或组件)添加了对应图层后,宿主界面、上层的图层容器中的显示元素、下层的图层容器中的显示元素均能显示,使得用户看起来就是一个显示界面。在一些实施例中,当工具(插件和/或组件)需要显示自身元素时,可以将自身的图层动态添加到宿主程序提供的图层容器中;通过将宿主界面和图层容器同时显示,使得宿主程序界面发生改变。而对用户而言,新添加的图层就像是宿主程序本身的界面。在另一些实施例中,当工具(插件和/或组件)卸载后,可以将自身的图层从宿主程序提供的图层容器中删除,使得宿主程序界面发生改变。
进一步地,还可根据工具(插件和/或组件)的功能需求,动态添加到上层的图层容器中或下层的图层容器中。如当某插件或组件对应的图层交互操作较多、或者需要先响应时,可优先添加到上层的图层容器中;当另一插件或组件交互操作较少、或者没有交互操作、或者不需要先响应时,可添加到下层的图层容器中。当用户与宿主程序进行交互操作时,交互操作可穿透所有图层,先到达上层的图层容器,然后到达宿主界面,最后到达下层的图层容器。
在一些实施例中,当工具对应的图层添加到宿主程序界面时,例如,当插件或组件对应的图层添加到叠加于宿主界面的图层容器时,或者工具(插件和/或组件和/或伪插件)往宿主界面上新增显示元素(如工具对应的图层添加到宿主界面)时,宿主界面上原有的显示元素与对应的图层之间可能会产生遮挡问题,可以修改宿主界面或者对应的图层,以消除遮挡问题。具体地,当插件或组件对应的图层(例如,按钮、图标等)添加到叠加于宿主界面的图层容器时,宿主界面上原有的显示元素(例如,按钮、图标等)可能会遮挡对应的图层或被对应的图层遮挡;或者,工具(插件和/或组件和/或伪插件)往宿主界面上新增显示元素时,新增的显示元素可能会遮挡宿主界面上原有的显示元素或被宿主界面上原有的显示元素遮挡。若选择优先显示对应的图层或新增的显示元素,则可以修改宿主界面原有的显示元素;例如隐藏相应显示元素,或者修改相应显示元素的位置或大小等,使其不遮挡对应的图层或新增的显示元素。若选择优先显示宿主界面,则可以修改对应的图层或新增的显示元素;例如根据宿主界面的先验知识,调整对应的图层或需新增的显示元素的大小或位置等,使其不遮挡宿主界面。例如,当宿主程序进入联系人界面时,一个工具(例如无人机插件)加载至宿主程序并启动,该无人机插件欲在叠加于联系人界面的图层容器中插入其对应的图层(如无人机的图标),以在宿主程序对应的联系人界面中显示新增的无人机图标;若无人机图标的尺寸太大,则不允许该无人机图标直接插入图层容器(其会遮挡联系人信息);此时通过修改该无人机图标的尺寸后才插入对应的图层容器。
请一并参阅图3-图4,其中,图3为本申请一实施例所示的工具修改宿主程序界面示意图,图4为本申请另一实施例所示的工具修改宿主程序界面示意图。
如图3所示,当宿主程序(例如一实时通讯协作程序)进入联系人界面31后,一无人机插件会在联系人界面31插入无人机标识按钮32。如果该无人机插件已安装,则在宿主程序进入联系人界面31后,将加载该无人机插件,无人机插件启动。在一些实施例中,该无人机插件会将自己的无人机标识按钮32,添加到联系人界面31中;此时,联系人界面31就会自动添加上无人机标识按钮32。在另一些实施例中,宿主程序会叠加透明图层于联系人界面31;该无人机插件会将自己的无人机标识按钮32,添加到联系人界面31所叠加的透明图层中;此时,用户可以看到联系人界面31添加了无人机标识按钮32。宿主程序对这个无人机标识按钮32是完全无感的,在用户看起来,这个无人机标识按钮32像是本来就是宿主程序的一部分。如果该无人机插件没有安装,则联系人界面31上不会有无人机标识按钮32。
在一些实施例中,无人机插件往所述联系人界面31(宿主程序界面)添加所述无人机标识按钮32、用户对所述无人机标识按钮32进行的点击和置灰等交互操作,都是由无人机插件自己完成,独立于宿主程序,极大的降低了宿主程序的复杂度。其它已安装工具(插件和/或组件)都可以根据自身的任务配置,选择通过总线桥等IPC通信方式,往宿主程序界面添加自身图层;以动态添加工具对应的功能,但不会影响到宿主程序的其它功能使用。且该动态添加的功能,可以使得宿主程序的相关界面发生相应的变化,提高了工具应用的灵活性。
如图4所示,在宿主程序(例如实时通讯协作程序)收到来电消息进入通话界面41(以标号411示意通话图标)后;已安装的无人机插件和视频获取插件监听到来电消息,并启动。视频获取插件会将自己获取的视频数据发送至宿主程序,进而将视频图像42添加到通话界面41中,并作为背景显示。无人机插件会将自己的控制按钮431,添加到通话界面41中;控制按钮431可以为多个,以实现不同的控制操作。在本实施例中,控制按钮431显示在通话界面41的侧面,形成侧面控制栏;需要说明的是,控制按钮431也可以显示在通话界面41的其它位置,只要不遮挡通话界面41的通话图标411即可。无人机插件还可以根据无人机GPS、无人机姿态等信息实时计算,从而在所述视频图像42中显示至少一渲染的AR标记432,如实时渲染出视频中某建筑的名称、介绍等,又如实时渲染出某执勤人员(如警员、保安等)在视频中的位置,等等。也即,当前通话界面41,是由宿主程序+无人机插件+视频获取插件,三个组合起来形成的。在用户看起来就是一个显示界面,但是宿主程序并不需要对无人机插件和视频获取插件进行管理,降低了宿主程序的复杂度。其中,各插件在脱离宿主程序之后,也可以单独正常使用。该动态添加的无人机插件和视频获取插件对应的功能,可以使得宿主程序的通话界面发生相应的变化,但不会影响到宿主程序的其它功能(例如通话功能)使用,提高了插件应用的灵活性。其它已安装工具(插件和/或组件)也可以根据自身的任务配置,选择往该通话界面41添加自身图层,以动态添加工具对应的功能。
本申请所述宿主程序的动态更新方法,各工具动态启动为宿主程序提供相应的功能,宿主程序并不需要对工具进行管理;工具提供的功能不会影响到宿主程序的其它功能使用;优选地,动态添加的功能可以使宿主程序的相关界面发生相应的变化,提高了工具应用的灵活性。
基于同一发明构思,本申请还提供了一种实现宿主程序的动态更新的终端设备。
请参阅图5,本申请实现宿主程序的动态更新的终端设备的架构示意图。所述终端设备50包括:宿主程序51以及至少一待启动的工具52。所述宿主程序51用于在执行预定操作时触发相应的更新进程;所述工具52用于根据自身的任务配置,判断自身是否与所述更新进程相关,若相关则响应所述更新进程,执行更新操作。具体触发更新进程、响应更新进程、执行更新操作可参考上述宿主程序的动态更新方法中的描述,此处不再赘述。
本申请终端设备,各工具动态启动为宿主程序提供相应的功能,宿主程序并不需要对工具进行管理;工具提供的功能不会影响到宿主程序的其它功能使用;优选地,动态添加的功能可以使宿主程序的相关界面发生相应的变化,提高了工具应用的灵活性。
基于同一发明构思,本申请还提供了一种计算机可读介质,所述计算机可读介质存储有计算机可执行指令,当所述计算机可执行指令被执行时,使得如本申请前述的方法被执行。
本申请实施例所述的方法,可以使用相关领域中的技术人员所知的计算机系统或架构来实现。计算机系统,例如PDA、智能手机,掌上型电脑、服务器、客户端或任何其它类型的专用或通用计算设备,因可以适用或者适合于特定应用或者环境而可以被使用。计算机系统可以包括一个或多个处理器,其可以使用诸如微处理器、微控制器或其它控制处理模块的通用或专用处理引擎来实现的。
计算机系统还可以包括用于存储要由处理器执行的信息和指令的主存储器,例如随机存取存储器(random access memory,简称RAM)或其它动态存储器。这种主存储器也可以用于存储由处理器待执行的指令执行期间的暂时变量或其它中间信息。计算机系统同样可以包括用于处理器的存储静态信息和处理器指令的只读存储器(read only memory,简称ROM)或其它静态存储设备。
计算机系统还可以包括信息存储系统,例如,其可以包括介质驱动器和可移动存储接口。介质驱动器可以包括驱动器或其它机制以支持固定或可移动存储介质,诸如硬盘驱动器、软盘驱动器、磁带驱动器、光盘驱动器、光盘(compactdisc,简称CD)、数字视频驱动器(digital video drive,简称DVD)、读或写驱动器(read or write drive,简称R或RW)或其它可移动或固定介质驱动器。例如,存储介质可以包括例如硬盘、软盘、磁带、光盘、CD或DVD或由介质驱动器读和写的其它固定或可移动介质。存储介质可以包括具有存储在其中的特定计算机软件或数据的计算机可读介质。
在可选实施例中,信息存储系统可以包括用于允许将计算机可执行指令或其它指令或数据加载到计算机系统中的其它类似组件。例如,这些组件可以包括可移动存储单元与接口,例如,程序卡盒与卡盒接口、可移动存储器(例如,闪存或者其它可移动存储器模块)与存储器插槽、以及允许软件和数据自可移动存储单元传输到计算机系统的其它可移动存储单元与接口。
所述计算机系统也可以包括通信接口。这样的通信接口可以被使用以允许软件和数据在计算机系统和外部设备之间传输。本实施例中,通信接口可以包括调制解调器、网络接口(例如,以太网或其它NIC卡)、通信端口(例如,通用串行总线(universal serial bus,简称USB)端口)、PCMCIA槽与卡等。通过通信接口传输的软件和数据是以信号的形式进行传输,可以是电子的,电磁的,光学的或其它能够被通信接口介质接收的信号。
在本文中,术语“计算机可执行指令”、“计算机可读介质”等可以通常用于指的有形介质,例如,存储器、存储设备或存储单元。这些形式和其它形式的计算机可读介质可以存储一个或多个指令,以由包括计算机系统的处理器使用,以使处理器执行指定操作。这些指令,通常称为“计算机程序代码”(其可以以计算机程序的形式或其它组合来组合),在被执行时,使得计算机系统执行本申请实施例的功能。注意的是,该代码可以直接使得处理器执行特定操作,被编译成这样做,和/或与其它软件、硬件和/或固件(例如,执行标准功能的库)组合以这样做。
所述非暂时性计算机可读介质可以包括由硬盘,紧凑型光盘只读储存器(CD-ROM),光存储设备,磁存储设备,只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read Only Memory,简称PROM),可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,简称EPROM),电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead Only Memory,简称EEPROM)和闪存组成的组中的至少一个。
在使用软件实现元素的实施例中,使用例如可移动存储驱动器,软件可以被存储在计算机可读介质中,以及被加载到计算机系统中。当由计算机系统中的处理器执行时,控制模块(在本示例中,为软件指令或可执行计算机程序代码)使得处理器执行如本文所述的本申请的功能。
可以理解的是,为了清楚的目的,上面已经参照单个处理逻辑描述了本申请的实施例。然而,本申请构思同样可以通过多个不同的功能单元和处理器来实现,以提供信号处理功能。因此,对特定功能单元的引用仅被视为对用于提供所描述功能的合适手段的引用,而不是指示严格的逻辑或物理结构或组织。
本申请的各方面可以以包括硬件,软件,固件及其任何组合的任何适当形式来实现。可选地,本申请可以至少部分地作为在一个或多个数据处理器和/或数字信号处理器或诸如FPGA器件的可配置模块组件上运行的计算机软件来实现。因此,本申请的实施例的元件和组件可以以任何合适的方式在物理上,功能上和逻辑上实现。实际上,功能可以以单个单元,多个单元或作为其它功能单元的一部分来实现。
尽管已经示出和描述了本申请的实施例,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。

Claims (14)

1.一种宿主程序的动态更新方法,其特征在于,所述方法包括如下步骤:
S1、启动终端设备中的宿主程序,所述宿主程序在执行预定操作时触发相应的更新进程;
S2、所述终端设备中至少一待启动的工具根据自身的任务配置,判断自身是否与所述更新进程相关,若相关则响应所述更新进程,执行更新操作。
2.根据权利要求1所述的方法,其特征在于,
步骤S1进一步包括:发送与所述预定操作相关的事件广播;
步骤S2进一步包括:所述工具监听所述事件广播,并在判定自身与所述事件广播对应的事件相关时,响应所述更新进程。
3.根据权利要求2所述的方法,其特征在于,所述事件广播为全局事件广播或局部事件广播。
4.根据权利要求1所述的方法,其特征在于,
步骤S1进一步包括:更改预定数据区的信息;
步骤S2进一步包括:所述工具检测所述预定数据区的信息的更改,并在判定自身与所述更改相关时,响应所述更新进程。
5.根据权利要求1所述的方法,其特征在于,
步骤S1进一步包括:发送事件回调消息,其中,所述事件回调由相应的工具预先注册在所述宿主程序内;
步骤S2进一步包括:所述工具在检测到所述事件回调消息时,响应所述更新进程。
6.根据权利要求1所述的方法,其特征在于,所述终端设备中的工具之间和/或工具与所述宿主程序之间实现通信的方式包括基于进程间通信机制的通信方式。
7.根据权利要求1所述的方法,其特征在于,所述工具包括:插件、组件和伪插件的至少其中之一。
8.根据权利要求1所述的方法,其特征在于,步骤S2所述的执行更新操作进一步包括:所述工具修改宿主程序界面,或所述工具在所述宿主程序的后台运行。
9.根据权利要求8所述的方法,其特征在于,所述宿主程序界面包括宿主界面;所述的所述工具修改宿主程序界面的步骤进一步包括:所述宿主程序提供宿主界面修改权限,以供所述工具动态修改所述宿主界面。
10.根据权利要求9所述的方法,其特征在于,所述的所述宿主程序提供宿主界面修改权限的步骤进一步包括:
所述工具发送界面修改消息至所述宿主程序,所述宿主程序响应所述界面修改消息,开放所述宿主界面修改权限;或
所述宿主程序直接开放所述宿主界面修改权限。
11.根据权利要求9所述的方法,其特征在于,所述宿主界面修改权限包括以下任一项:隐藏宿主界面的相应元素、显示宿主界面的相应元素、增加宿主界面的相应元素、修改宿主界面的相应元素。
12.根据权利要求8所述的方法,其特征在于,所述工具包括:插件、组件的至少其中之一,所述宿主程序界面包括宿主界面以及叠加于所述宿主界面的至少一图层容器;所述的所述工具修改宿主程序界面的步骤进一步包括:所述工具将自身对应的图层添加到所述图层容器内,或将自身对应的图层从所述图层容器内删除。
13.一种实现宿主程序的动态更新的终端设备,其特征在于,所述终端设备包括:
宿主程序,用于在执行预定操作时触发相应的更新进程;
至少一待启动的工具,所述工具用于根据自身的任务配置,判断自身是否与所述更新进程相关,若相关则响应所述更新进程,执行更新操作。
14.一种计算机可读介质,其特征在于,所述计算机可读介质存储有计算机可执行指令,当所述计算机可执行指令被执行时,使得如权利要求1至12中任一项所述方法被执行。
CN202011059962.6A 2020-09-30 2020-09-30 宿主程序的动态更新方法及终端设备 Pending CN112148331A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011059962.6A CN112148331A (zh) 2020-09-30 2020-09-30 宿主程序的动态更新方法及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011059962.6A CN112148331A (zh) 2020-09-30 2020-09-30 宿主程序的动态更新方法及终端设备

Publications (1)

Publication Number Publication Date
CN112148331A true CN112148331A (zh) 2020-12-29

Family

ID=73951271

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011059962.6A Pending CN112148331A (zh) 2020-09-30 2020-09-30 宿主程序的动态更新方法及终端设备

Country Status (1)

Country Link
CN (1) CN112148331A (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080086719A1 (en) * 2006-10-06 2008-04-10 Matthieu Clemenceau Management of data of settings in an operating system of a computer entity
JP2010140316A (ja) * 2008-12-12 2010-06-24 Nec Infrontia Corp 情報処理端末、モジュールアップデート方法およびプログラム
CN103176789A (zh) * 2011-12-26 2013-06-26 腾讯科技(深圳)有限公司 一种实现开放平台功能扩展的方法及系统
US20160048382A1 (en) * 2014-08-14 2016-02-18 Alibaba Group Holding Limited Mobile application processing
US20170168807A1 (en) * 2015-12-14 2017-06-15 Le Holdings (Beijing) Co., Ltd. Method and electronic device for updating application program
CN107273142A (zh) * 2017-07-12 2017-10-20 北京潘达互娱科技有限公司 程序更新方法、程序运行方法及装置
CN107423101A (zh) * 2017-08-01 2017-12-01 武大吉奥信息技术有限公司 一种应用程序插件网格化发布与管理方法及系统
CN107861742A (zh) * 2017-12-05 2018-03-30 杭州传信网络科技有限公司 一种程序的运行方法和终端设备
CN108595203A (zh) * 2018-04-28 2018-09-28 努比亚技术有限公司 应用功能执行方法、移动终端和计算机可读存储介质
CN110069269A (zh) * 2019-04-16 2019-07-30 北京字节跳动网络技术有限公司 更新小程序页面的方法、装置、电子设备及存储介质
CN110209416A (zh) * 2019-05-31 2019-09-06 彩讯科技股份有限公司 应用软件更新方法、装置、终端及存储介质
US20190325550A1 (en) * 2018-04-23 2019-10-24 Purdue Research Foundation Graphics energy profiling system and method
CN110851193A (zh) * 2018-08-01 2020-02-28 深圳市理邦精密仪器股份有限公司 监护设备软件平台插件加载方法、插件运行系统及监护仪
CN111078530A (zh) * 2019-11-22 2020-04-28 北京奇艺世纪科技有限公司 应用程序调试方法、系统、电子设备及计算机可读存储介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080086719A1 (en) * 2006-10-06 2008-04-10 Matthieu Clemenceau Management of data of settings in an operating system of a computer entity
JP2010140316A (ja) * 2008-12-12 2010-06-24 Nec Infrontia Corp 情報処理端末、モジュールアップデート方法およびプログラム
CN103176789A (zh) * 2011-12-26 2013-06-26 腾讯科技(深圳)有限公司 一种实现开放平台功能扩展的方法及系统
US20160048382A1 (en) * 2014-08-14 2016-02-18 Alibaba Group Holding Limited Mobile application processing
US20170168807A1 (en) * 2015-12-14 2017-06-15 Le Holdings (Beijing) Co., Ltd. Method and electronic device for updating application program
CN107273142A (zh) * 2017-07-12 2017-10-20 北京潘达互娱科技有限公司 程序更新方法、程序运行方法及装置
CN107423101A (zh) * 2017-08-01 2017-12-01 武大吉奥信息技术有限公司 一种应用程序插件网格化发布与管理方法及系统
CN107861742A (zh) * 2017-12-05 2018-03-30 杭州传信网络科技有限公司 一种程序的运行方法和终端设备
US20190325550A1 (en) * 2018-04-23 2019-10-24 Purdue Research Foundation Graphics energy profiling system and method
CN108595203A (zh) * 2018-04-28 2018-09-28 努比亚技术有限公司 应用功能执行方法、移动终端和计算机可读存储介质
CN110851193A (zh) * 2018-08-01 2020-02-28 深圳市理邦精密仪器股份有限公司 监护设备软件平台插件加载方法、插件运行系统及监护仪
CN110069269A (zh) * 2019-04-16 2019-07-30 北京字节跳动网络技术有限公司 更新小程序页面的方法、装置、电子设备及存储介质
CN110209416A (zh) * 2019-05-31 2019-09-06 彩讯科技股份有限公司 应用软件更新方法、装置、终端及存储介质
CN111078530A (zh) * 2019-11-22 2020-04-28 北京奇艺世纪科技有限公司 应用程序调试方法、系统、电子设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN108536524B (zh) 资源更新方法、装置、终端及存储介质
CN105955782B (zh) 应用程序运行控制的方法及装置
US9003431B2 (en) Method and system for implementing function extension of open platform
US20140137183A1 (en) Security system and method for the android operating system
CN106293696B (zh) 显示应用程序下载安装状态的方法及其对应装置
WO2017157186A1 (zh) 基于Android的弹框提示方法及装置
CN106776067B (zh) 多容器系统中系统资源的管理方法及管理装置
CN107832105B (zh) 一种应用程序启动方法、启动装置及计算机可读存储介质
EP3547189A1 (en) Method for runtime mitigation of software and firmware code weaknesses
WO2014025466A1 (en) Background application page architecture for web applications
CN106066803B (zh) 应用程序运行控制的方法及装置
CN107341407B (zh) 基于终端的多安卓系统实现方法、存储介质及终端
CN103577196A (zh) 实现应用程序隐藏的方法及装置
CN111625293A (zh) 一种基于linux内核的终端双系统及其硬件访问管理方法
CN113420268A (zh) 水印添加方法、装置、设备及存储介质
CN104375857A (zh) 一种应用程序运行多个实例的方法、装置及终端设备
CN113190282A (zh) 安卓运行环境构建的方法及装置
CN109150956B (zh) 一种推送sdk的实现方法、装置、设备和计算机存储介质
CN113032080A (zh) 页面实现方法、应用程序、电子设备及存储介质
CN111427622A (zh) 应用程序中脚本代码的执行方法及装置
US10761863B2 (en) Mobile application management by run-time insertion of a replacement instrumentation object into a mobile application process
CN113448651A (zh) 一种应用单例功能的实现方法和装置
CN112199151B (zh) 一种应用程序的运行方法及装置
CN112148331A (zh) 宿主程序的动态更新方法及终端设备
CN109683755B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 201210 7th Floor, No. 1, Lane 5005, Shenjiang Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai

Applicant after: HISCENE INFORMATION TECHNOLOGY Co.,Ltd.

Address before: Room 501 / 503-505, 570 shengxia Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201203

Applicant before: HISCENE INFORMATION TECHNOLOGY Co.,Ltd.