CN113110864A - 应用程序更新方法、装置及存储介质 - Google Patents
应用程序更新方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113110864A CN113110864A CN202110330383.9A CN202110330383A CN113110864A CN 113110864 A CN113110864 A CN 113110864A CN 202110330383 A CN202110330383 A CN 202110330383A CN 113110864 A CN113110864 A CN 113110864A
- Authority
- CN
- China
- Prior art keywords
- application program
- file
- patch file
- server
- patch
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
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)
- Stored Programmes (AREA)
Abstract
本申请涉及一种应用程序更新方法、装置及存储介质,所述方法包括:在应用程序运行的过程中,若所述应用程序中的通信客户端接收到来自服务器上设置的通信服务端的变更通知消息,则从所述变更通知消息中获取文件标识和第一文件存储地址;其中,所述变更通知消息是所述服务器在监听到所述应用程序的补丁文件发生变更时所发送的;根据所述文件标识和所述第一文件存储地址,从所述服务器上下载所述补丁文件;运行与所述补丁文件匹配的工具包,以通过所述工具包执行所述补丁文件来更新所述应用程序。本申请能够避免每次编写完补丁文件后均需重新启动编译应用程序,减少开发调试时间,提高开发调试效率,从而提升应用程序更新速度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用程序更新方法、装置及存储介质。
背景技术
随着计算机技术的发展,应用程序(Appliction,APP)的种类和数量越来越多,例如,游戏类、教育类、安防类、交通类等等,用户对应用程序的要求也不断提高,为了提高用户体验或修复应用程序中的问题,可以不断对应用程序进行更新。
现有编写用于更新应用程序的补丁文件没有配套的集成开发环境工具,在JSPatch更新框架下,开发人员在每次编写完补丁文件后均需要手动重新启动编译应用程序,从而让补丁文件对应的工具包执行该补丁文件,以使补丁文件生效来检测是否符合预期效果。若不符合预期效果,开发人员需要重新对补丁文件进行更新,然后再次重新启动编译应用程序。往往编写补丁文件、重新启动编译应用程序、检测是否达到预期效果的整个过程,可能会持续几次甚至几十次。而每次重新启动编译应用程序,都需要耗时等待,增加了开发人员开发调试时间,使得开发调试效率低,影响应用程序更新速度。尤其是应用程序在出现线上需要紧急修复的问题时,开发调试时间的增加,意味着线上问题的修复速度低,应用程序更新缓慢将直接对用户体验造成严重影响。
发明内容
本申请提供一种应用程序更新方法、装置及存储介质,能够避免每次编写完补丁文件后均需手动重新启动编译应用程序,减少开发调试时间,提高开发调试效率,从而提升应用程序更新速度。
一方面,本申请提供了一种应用程序更新方法,应用于应用程序,所述方法包括:
在所述应用程序运行的过程中,若所述应用程序中的通信客户端接收到来自服务器上设置的通信服务端的变更通知消息,则从所述变更通知消息中获取文件标识和第一文件存储地址;其中,所述变更通知消息是所述服务器在监听到所述应用程序的补丁文件发生变更时所发送的;
根据所述文件标识和所述第一文件存储地址,从所述服务器上下载所述补丁文件;
运行与所述补丁文件匹配的工具包,以通过所述工具包执行所述补丁文件来更新所述应用程序。
另一方面提供了一种应用程序热更新方法,应用于服务器,所述方法包括:
创建用于对应用程序的补丁文件的变更进行监听的监听服务;
在所述应用程序运行的过程中,当所述监听服务监听到所述补丁文件发生所述变更时,通过所述服务器上设置的通信服务端向所述应用程序中的通信客户端发送变更通知消息,以使所述应用程序从所述变更通知消息中获取文件标识和第一文件存储地址,根据所述文件标识和所述第一文件存储地址,从所述服务器上下载所述补丁文件,并运行与所述补丁文件匹配的工具包,以通过所述工具包执行所述补丁文件来更新所述应用程序。
另一方面提供了一种应用程序更新装置,所述装置包括:
消息接收模块,用于在应用程序运行的过程中,若所述应用程序中的通信客户端接收到来自服务器上设置的通信服务端的变更通知消息,则从所述变更通知消息中获取文件标识和第一文件存储地址;其中,所述变更通知消息是所述服务器在监听到所述应用程序的补丁文件发生变更时所发送的;
文件获取模块,用于根据所述文件标识和所述第一文件存储地址,从所述服务器上下载所述补丁文件;
文件执行模块,用于运行与所述补丁文件匹配的工具包,以通过所述工具包执行所述补丁文件来更新所述应用程序。
另一方面提供了一种应用程序更新装置,所述装置包括:
文件监听模块,用于创建用于对应用程序的补丁文件的变更进行监听的监听服务;
变更通知模块,用于在所述应用程序运行的过程中,当所述监听服务监听到所述补丁文件发生所述变更时,通过服务器上设置的通信服务端向所述应用程序中的通信客户端发送变更通知消息,以使所述应用程序从所述变更通知消息中获取文件标识和第一文件存储地址,根据所述文件标识和所述第一文件存储地址,从所述服务器上下载所述补丁文件,并运行与所述补丁文件匹配的工具包,以通过所述工具包执行所述补丁文件来更新所述应用程序。
另一方面提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上所述的应用程序更新方法。
本申请在应用程序的运行过程中,通过利用服务器对补丁文件的变更进行监听,服务器在监听到补丁文件发生变更后实时通知应用程序,应用程序在接收到变更通知消息后可以自动从服务器上下载补丁文件,然后通过运行工具包来执行补丁文件来实现应用程序的热更新。在应用程序更新的过程中,不需要手动重新启动应用程序,减少了开发调试时间,提高了开发调试效率,从而提升了应用程序的更新速度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是现有基于JSPatch更新框架实施应用程序更新的示例图。
图2是本申请实施例提供的一种应用程序更新系统的结构示意图。
图3是本申请实施例提供的一种应用程序更新方法的时序图。
图4是本申请实施例提供的一种应用程序更新方法的流程示意图。
图5是本申请实施例提供的另一种应用程序更新方法的流程示意图。
图6是本申请实施例提供的另一种应用程序更新方法的流程示意图。
图7是本申请实施例提供的另一种应用程序更新方法的流程示意图。
图8是本申请实施例提供的另一种应用程序更新方法的流程示意图。
图9是本申请实施例提供的另一种应用程序更新方法的流程示意图。
图10是本申请实施例提供的一种应用程序更新方法的示例图。
图11是本申请实施例提供的一种应用程序更新装置的框图示意图。
图12是本申请实施例提供的另一种应用程序更新装置的框图示意图。
图13是本申请实施例提供的一种用于实现本申请实施例所提供的计算机设备的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先对本申请实施例中涉及的相关名词做以下解释:
JavaScript:是一种具有函数优先的轻量级,解释型或即时编译型的编程语言,简称JS。
Node.js:是一个基于Chrome V8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript运行在服务端的开发平台。
Lua:是一个小巧的脚本语言,其由C编写而成,几乎在所有操作系统和平台上都可以编译和运行。
IDE:集成开发环境(Integrated Development Environment)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。
WebSocket:本质上是一个基于TCP的协议,由通信协议和编程API组成,WebSocket能够在浏览器和服务器之间建立双向连接,以基于事件的方式赋予浏览器实时通信能力。既然是双向通信,就意味着服务器端和客户端可以同时发送并响应请求。
JSPatch:是一个iOS动态更新框架,只需在项目中引入极小的引擎,就可以使用JavaScript调用任何Objective-C(简称OC)原生接口,获得脚本语言的优势,即为项目动态添加模块,或替换项目原生代码动态修复bug。
JSPatch用iOS内置的JavaScriptCore.framework作为JS引擎,但没有用它JSExport的特性进行JS-OC函数互调,而是通过Objective-C Runtime,从JS传递要调用的类名函数名到Objective-C,再使用NSInvocation动态调用对应的OC方法。JSPatch主要有以下几点优势:JS比Lua在应用开发领域有更广泛的应用,目前前端开发和终端开发有融合的趋势,作为扩展的脚本语言,JS是不二之选;使用系统内置的JavaScriptCore.framework,无需内嵌脚本引擎,体积小巧;支持Objective-C里block跟Lua程序的互传,虽然一些第三方已经实现block,但使用时参数上也有比较多的限制。
现有编写用于更新应用程序的补丁文件(也称Pach文件)没有配套的IDE工具,补丁文件所产生的实际效果也只有补丁文件在应用程序中执行后才能确定。请参阅图1,其示出了现有基于JSPatch更新框架实施应用程序更新的流程示例图。如图1所示,开发人员在每次编写完补丁文件后,均需手动重新启动编译应用程序。在重新启动编译应用程序后,若符合预期效果,则可以直接发布应用程序105;若不符合预期效果,需要再次执行编写补丁文件101、启动编译应用程序102、JSPatch执行补丁文件103以及检测是否符合预期效果104的过程。在实际应用中,例如在对问题进行修复时,该过程可能持续几次甚至几十次。而每次重新启动编译应用程序,都需要耗时等待,增加了开发人员开发调试时间,使得开发调试效率低,影响应用程序更新速度。尤其是应用程序在出现线上需要紧急修复的问题时,开发调试时间的增加,意味着线上问题的修复速度低,应用程序更新缓慢将直接对用户体验造成严重影响。
为了提高应用程序更新速度,提升用户体验,本申请实施例提供了一种应用程序更新方法。需要说明的是,本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
请参阅图2,其示出了本申请实施例提供的应用程序更新系统的结构示意图,本申请实施例提供的应用程序更新方法可应用于该系统中。如图2所示,该系统可以包括终端10和服务器20。其中,终端10上运行有应用程序11,应用程序11中至少包括用于执行补丁文件的工具包111和用于与服务器20进行通信的通信客户端112;服务器20上设置有用于与终端10进行通信的通信服务端21、用于对补丁文件23的变更进行监听的监听服务22以及用于更新应用程序11的补丁文件23。
具体地,终端10可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。。服务器20可以是台式电脑、平板电脑以及笔记本电脑等设备,也可以是一个独立的物理服务器,还可以是多个物理服务器构成的服务器集群或者分布式系统。
随着云技术(Cloud technology)的飞速发展,越来越多的应用程序可以进行云启动,可以基于云技术实现对应用程序的运行。云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
因此,服务器20还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端10以及服务器20可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
以下以上述系统为执行主体介绍本申请实施例提供的应用程序更新方法,请参阅图3,其示出了本申请实施例提供的一种应用程序更新方法的时序图。如图3所示,该方法可以包括:
S301,服务器创建用于对应用程序的补丁文件的变更进行监听的监听服务;
S303,服务器在应用程序运行的过程中,当监听服务监听到补丁文件发生变更时,通过通信服务端向应用程序中的通信客户端发送变更通知消息;
S305,应用程序从变更通知消息中获取文件标识和第一文件存储地址;
S307,应用程序根据文件标识和第一文件存储地址,下载补丁文件;
S309,应用程序运行与补丁文件匹配的工具包,以通过工具包执行补丁文件来更新应用程序。
本申请实施例中,变更通知消息中至少包括文件标识和第一文件存储地址,文件标识用于对补丁文件进行唯一性识别,例如补丁文件名称;第一文件存储地址表征服务器上用于存储补丁文件的地址,其可以由服务器的访问IP、访问端口以及补丁文件存储目录构成。在一个示例中,应用程序所在的终端与服务器在局域网内,访问端口为5222,补丁文件存放至服务器的/patch目录,那么第一文件存储地址可以是127.0.0.1:5222/patch。
服务器上创建有监听服务和通信服务端,监听服务可以在创建时启动,也可以在通信服务端与通信客户端建立通信连接之后再启动。补丁文件的变更表征补丁文件的编辑状态,服务器通过监听服务在监听到补丁文件的编辑状态发生变化时,实时通知连接通信服务端的应用程序。应用程序在接收到变更通知消息后,向第一文件存储地址请求与文件标识对应的补丁文件,在下载成功后由工具包执行开始热更新。
由上述实施例提供的技术方案可见,本申请在应用程序的运行过程中,通过利用服务器对补丁文件的变更进行监听,服务器在监听到补丁文件发生变更后实时通知应用程序,应用程序在接收到变更通知消息后可以自动从服务器上下载补丁文件,然后通过运行工具包来执行补丁文件来实现应用程序的热更新。在应用程序更新的过程中,不需要手动重新启动应用程序,减少了开发调试时间,提高了开发调试效率,从而提升了应用程序的更新速度。
以下以上述系统中的应用程序为执行主体介绍本申请实施例提供的应用程序更新方法,请参阅图4,其示出了本申请实施例提供的一种应用程序更新方法的流程示意图。如图4所示,该方法可以包括:
S401,在应用程序运行的过程中,若应用程序中的通信客户端接收到来自服务器上设置的通信服务端的变更通知消息,则从变更通知消息中获取文件标识和第一文件存储地址;其中,变更通知消息是服务器在监听到应用程序的补丁文件发生变更时所发送的;
S403,根据文件标识和第一文件存储地址,从服务器上下载补丁文件;
S405,运行与补丁文件匹配的工具包,以通过工具包执行补丁文件来更新应用程序。
本申请实施例中,补丁文件对应的编程语言可以是脚本语言或者可以利用工具包执行以实现对应用程序更细的语言。可选的,编程语言可以是JS语言或Lua语言,也即补丁文件可以是JS文件或者Lua文件。可以理解的,为了使得应用程序可以从服务器上下载补丁文件,服务器上存储补丁文件的第一文件存储地址应当可以被应用程序所访问。
在一个可能的实施方式中,变更通知消息中还可以包括编程语言标识,该编程语言标识用于对补丁文件对应的编程语言进行唯一性识别。不同的编程语言匹配不同的工具包(SDK),应用程序可以根据编程语言标识,确定与补丁文件匹配的工具包。例如在编程语言为Lua语言,且工具包是luaPatchSDK时,应用程序可以根据Lua语言确定所要运行的工具包为luaPatchSDK。
具体请参阅图5,其示出了本申请实施例提供的另一种应用程序更新方法的流程示意图。如图5所示,步骤S405在实施之前还可以包括:
S501,从变更通知消息中获取编程语言标识,编程语言标识用于对补丁文件对应的编程语言进行唯一性识别;
S503,根据编程语言标识确定与补丁文件匹配的工具包。
通过使用编程语言标识,在开发人员使用不同编程语言编写补丁文件时,只要应用程序中存在与该编程语言对应的工具包,应用程序均可以通过运行工具包来执行补丁文件,可以更有利于应用程序的更新。在一个示例中,若开发人员1使用JS语言编写补丁文件,开发人员使用Lua语言编写补丁文件,那么应用程序均可以得到更新。
在一个可能的实施方式中,变更通知消息中还可以包括应用程序的更新模式,应用程序在下载补丁文件后,可以根据该更新模式确定用于存储补丁文件的第二存储地址,然后将补丁文件存储至第二存储地址中,工具包在运行时可以执行第二存储地址中的补丁文件来更新应用程序。其中,更新模式用于指示补丁文件的用途。在进行应用程序更新时,往往有多种用途,例如用于线上发布、用于开发调试或者用于测试等等。通过根据更新模式来确定补丁文件的存储地址,可以更有利于对应用程序更新过程中的文件进行管理。
具体请参阅图6,其示出了本申请实施例提供的另一种应用程序更新方法的流程示意图。如图6所示,步骤S405在实施之前还可以包括:
S601,从变更通知消息中获取应用程序的更新模式;
S603,根据更新模式确定第二存储地址;
S605,将补丁文件存储至第二存储地址中。
相应的,继续如图6所示,步骤S405可以包括:
S4051,运行与补丁文件匹配的工具包,以使工具包执行第二存储地址中的补丁文件来更新应用程序。
可选的,还可以将补丁文件采用区块链进行存储,区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营监控模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、监控网络情况、监控节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
而对于不同用途的补丁文件其访问频率有所不同,可以根据补丁文件的访问频率对更新模式进行划分,不同的更新模式对应不同的存储地址,也即不同的访问频率对应不同的存储地址。
在一个可能的实施方式中,更新模式可以包括发布模式和调试模式,发布模式表征补丁文件用于线上发布,调试模式表征补丁文件用于调试或测试。在发布模式下,补丁文件需要多次使用;在调试模式下,补丁文件通常只使用一次或几次。如图7所示,步骤S603在实施时可以包括:
S6031,若更新模式为发布模式,则将应用程序对应的沙盒确定为第二存储地址;
S6032,若更新模式为调试模式,则将应用程序对应的运行内存确定为第二存储地址。
在调试模式下,补丁文件变更频繁,因而只需要将补丁文件存储在临时地址也即运行内存中,而无需占用沙盒的资源。而在发布模式下,补丁文件可能不会频繁进行变动,通过将补丁文件存储在沙盒中可以便于工具包多次访问,而避免了重复读取-存储的操作。
在一个可能的实施方式中,为了使得应用程序能够实时的接收到变更通知消息,通信客户端与通信服务端之间的通信连接可以在应用程序启动时建立。并且,为了通信客户端与通信服务端之间的数据交换变得更加简单,通信客户端与通信服务端之间可以进行双向数据传输。通过双向数据传输,通信服务端可以主动向通信客户端发送数据,而不是由通信客户端采用轮训的方式向通信服务端获取数据。
具体请参阅图8,其示出了本申请实施例提供的另一种应用程序更新方法的流程示意图。如图8所示,步骤S401在实施之前还可以包括:
S801,在应用程序启动时,应用程序中的通信客户端与服务器上设置的通信服务端通过预设双向通信协议建立通信连接。
本申请实施例中,预设双向通信协议可以是WebSocket或者是对WebSocket进行封装所形成的协议,例如Node.js中的socket.io就是对WebSocket的封装。在使用socket.io的情况下,通信连接为套接字连接。示例性,通信客户端可以是基于socket.io进行创建的,在此不做具体限定。
由上述实施例提供的技术方案可见,本申请在应用程序的运行过程中,通过利用服务器对补丁文件的变更进行监听,服务器在监听到补丁文件发生变更后实时通知应用程序,应用程序在接收到变更通知消息后可以自动从服务器上下载补丁文件,然后通过运行工具包来执行补丁文件来实现应用程序的热更新。在应用程序更新的过程中,不需要手动重新启动应用程序,减少了开发调试时间,提高了开发调试效率,从而提升了应用程序的更新速度。
以下以上述系统中的服务器为执行主体介绍本申请实施例提供的应用程序更新方法,请参阅图9,其示出了本申请实施例提供的另一种应用程序更新方法的流程示意图。如图9所示,该方法可以包括:
S901,创建用于对应用程序的补丁文件的变更进行监听的监听服务;
S903,在应用程序运行的过程中,当监听服务监听到补丁文件发生变更时,通过服务器上设置的通信服务端向应用程序中的通信客户端发送变更通知消息,以使应用程序获取文件标识和第一文件存储地址,根据文件标识和第一文件存储地址,从服务器上下载补丁文件,并运行与补丁文件匹配的工具包,以通过工具包执行补丁文件来更新应用程序。
本申请实施例中,当监听服务监听到补丁文件发生变更时,触发变更事件,该变更事件将应用程序所要用到的参数信息封装在变更通知消息中,通过通信服务端将该变更通知消息发送至通信客户端。其中,参数信息均是预先配置的信息,参数信息可以包括文件标识、第一文件存储地址、应用程序的更新模式以及编程语言标识等等。
服务器需要支持资源能够被应用程序所访问。可选的,服务器可以是基于Node.js运行的设备,支持在局域网环境下,应用程序可以访问服务器的Patch(补丁)资源进行下载。示例性的,可以利用Node.js的核心模块fs(File System,文件系统)来创建监听服务,这套文件系统有一组类似UNIX(POSIX)标准的文件操作API,服务器可以通过fs.watch或fs.watchFile这两个API实现监听文件的变化,在此不做具体限定。
在一个可能的实施方式中,补丁文件对应的编程语言可以是脚本语言,该脚本语言可以包括JS语言或Lua语言。相应的,服务器可以是基于该脚本语言对应的开发平台运行的设备,该脚本语言对应的开发平台可以使脚本语言运行在服务端。例如,在脚本语言是JS语言时,脚本语言对应的开发平台可以是Node.js。
示例性的,与应用程序中的通信客户端相对应,通信服务端也可以是基于Node.js中的socket.io(套接字接口)创建的,也即通信客户端与通信服务端之间的通信连接为套接字连接。服务器可以和应用程序进行套接字连接通信,在监听到补丁文件发生变更时,通过套接字连接通知应用程序,使应用程序在接收到通知后运行工具包以执行补丁文件来实现应用程序的更新。
在一个可能的实施方式中,由于通信客户端与通信服务端之间的通信连接为长连接,为了在不需要进行应用程序更新时,可以终止该通信连接。一旦通信连接断开,通信服务端与通信客户端之间将不能进行通信,使得即使服务器监听到补丁文件发生变更也不能通知应用程序,那么监听服务将失去监听意义。因此,当通信客户端与通信服务端之间的通信连接断开时,服务器可以关闭监听服务。
以下以对操作系统中的应用程序的问题进行修复,需要对应用程序进行更新为例,对本申请实施例提供的应用程序更新方法进行进一步阐述。其中,其中操作系统可以包括手持设备操作系统(iPhone Operating System,iOS)、安卓系统等其他操作系统。
请参阅图10,其示出了本申请实施例提供的对应用程序进行更新的示例图。在图10中,开发人员将编写好的补丁文件存放至第一存储路径1004下,当监听服务1001监听到开发人员编写补丁文件1003时也即补丁文件发生变更时,通知应用程序;应用程序在接收到变更通知消息后,从第一存储路径下载该补丁文件1007,并通过工具包执行该补丁文件1009,以实现应用程序的更新。从图10中可以看出,若执行补丁文件后符合预期效果1011,则发布应用程序1013;若执行补丁文件后没有符合预期效果1011,也无需再重新启动编译应用程序1005。
经大量实验验证,在MAC上编译运行应用程序大约需要25秒时间,在真机上编译运行应用程序大约需要50秒时间。而本申请节省了等待重启编译的耗时,进而节省了开发调试时间,从而提高开发调试效率。在需要使用热更新的能力,都是出现线上需要紧急修复的问题,需要争分夺秒发布热更新的Patch文件,所以提高开发调试效率也是提高线上问题的修复速度。可以理解的,需要修复的问题越辅助,代码行数越多,修改调试的次数越多,本申请所能提升的修复速度效果也更明显。
需要说明的是,图10仅仅是一个示例。在一些实施例中,开发人员在编写补丁文件时的编写路径也可以直接作为第一存储路径,开发人员在编写完成补丁文件后,可以无需进行存放操作。
由上述实施例提供的技术方案可见,本申请在应用程序的运行过程中,通过利用服务器对补丁文件的变更进行监听,服务器在监听到补丁文件发生变更后实时通知应用程序,应用程序在接收到变更通知消息后可以自动从服务器上下载补丁文件,然后通过运行工具包来执行补丁文件来实现应用程序的热更新。在应用程序更新的过程中,不需要手动重新启动应用程序,减少了开发调试时间,提高了开发调试效率,从而提升了应用程序的更新速度。
本申请实施例还提供了一种应用程序更新装置,请参阅图11,其示出了一种应用程序更新装置的框图示意图,该装置具有实现上述应用程序侧的方法实施例的功能。该装置1100可以包括:
消息接收模块1110,用于在应用程序运行的过程中,若应用程序中的通信客户端接收到来自服务器上设置的通信服务端的变更通知消息,则从变更通知消息中获取文件标识和第一文件存储地址;其中,变更通知消息是服务器在监听到应用程序的补丁文件发生变更时所发送的;
文件获取模块1120,用于根据文件标识和第一文件存储地址,从服务器上下载补丁文件;
文件执行模块1130,用于运行与补丁文件匹配的工具包,以通过工具包执行补丁文件来更新应用程序。
在一个可能的实施方式中,该装置1100还可以包括:
模式获取模块,用于从变更通知消息中获取应用程序的更新模式;
存储地址确定模块,用于根据更新模式确定第二存储地址;
文件存储模块,用于将补丁文件存储至第二存储地址中;
相应的,文件执行模块1130还可以用于运行与补丁文件匹配的工具包,以使工具包执行第二存储地址中的补丁文件来更新应用程序。
在一个可能的实施方式中,更新模式可以包括发布模式和调试模式,存储地址确定模块可以包括:
第一地址确定单元,用于在更新模式为发布模式的情况下,将应用程序对应的沙盒确定为第二存储地址;
第二地址确定单元,用于在更新模式为调试模式的情况下,将应用程序对应的运行内存确定为第二存储地址。
在一个可能的实施方式中,该装置1100还可以包括:
连接建立模块,用于在应用程序启动时,通信客户端与通信服务端通过预设双向通信协议建立通信连接。
在一个可能的实施方式中,该装置1100还可以包括:
编程语言确定模块,用于从变更通知消息中获取编程语言标识,编程语言标识用于对补丁文件对应的编程语言进行唯一性识别;
工具包确定模块,用于根据编程语言标识确定与补丁文件匹配的工具包。
本申请实施例还提供了一种应用程序更新装置,请参阅图12,其示出了另一种应用程序更新装置的框图示意图,该装置具有实现上述服务器侧的方法实施例的功能。该装置1200可以包括:
文件监听模块1210,用于创建用于对应用程序的补丁文件的变更进行监听的监听服务;
变更通知模块1220,用于在应用程序运行的过程中,当监听服务监听到补丁文件发生变更时,通过服务器上设置的通信服务端向应用程序中的通信客户端发送变更通知消息,以使应用程序从变更通知消息中获取文件标识和第一文件存储地址,根据文件标识和第一文件存储地址,从服务器上下载补丁文件,并运行与补丁文件匹配的工具包,以通过工具包执行补丁文件来更新应用程序。
在一个可能的实施方式中,该装置1200还可以包括:
监听关闭模块,用于当通信客户端与通信服务端之间的通信连接断开时,关闭监听服务。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或至少一段程序由所述处理器加载并执行以实现上述应用程序侧方法实施例提供的应用程序更新方法,或者实现上述服务器侧方法实施例提供的应用程序更新方法。
进一步地,图13示出了一种用于实现本申请实施例所提供的计算机设备的硬件结构示意图,该设备可以参与构成或包含本申请实施例所提供的装置或系统。如图13所示,设备13可以包括一个或多个(图中采用1302a、1302b,……,1302n来示出)处理器1302(处理器1302可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1304、以及用于通信功能的传输装置1306。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图13所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,设备13还可包括比图13中所示更多或者更少的组件,或者具有与图13所示不同的配置。
应当注意到的是上述一个或多个处理器1302和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到设备13(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器1304可用于存储应用软件的软件程序以及模块,如本申请实施例中所述的应用程序更新方法对应的程序指令/数据存储装置,处理器1302通过运行存储在存储器1304内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种应用程序更新方法。存储器1304可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1304可进一步包括相对于处理器1302远程设置的存储器,这些远程存储器可以通过网络连接至设备13。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括设备13的通信供应商提供的无线网络。在一个实例中,传输装置1206包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置1306可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与设备13(或移动设备)的用户界面进行交互。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条指令或至少一段程序,该至少一条指令或至少一段程序由处理器加载并执行以实现上述方法实施例提供的应用程序更新方法。
可选地,在本实施例中,上述计算机可读存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例提供的应用程序更新方法。
需要说明的是,上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述说明已经充分揭露了本申请的具体实施方式。需要指出的是,熟悉该领域的技术人员对本申请的具体实施方式所做的任何改动均不脱离本申请的权利要求书的范围。相应地,本申请的权利要求的范围也并不仅仅局限于前述具体实施方式。
Claims (10)
1.一种应用程序更新方法,其特征在于,应用于应用程序,所述方法包括:
在所述应用程序运行的过程中,若所述应用程序中的通信客户端接收到来自服务器上设置的通信服务端的变更通知消息,则从所述变更通知消息中获取文件标识和第一文件存储地址;其中,所述变更通知消息是所述服务器在监听到所述应用程序的补丁文件发生变更时所发送的;
根据所述文件标识和所述第一文件存储地址,从所述服务器上下载所述补丁文件;
运行与所述补丁文件匹配的工具包,以通过所述工具包执行所述补丁文件来更新所述应用程序。
2.根据权利要求1所述的方法,其特征在于,在所述运行与所述补丁文件匹配的工具包,以通过所述工具包执行所述补丁文件来更新所述应用程序之前,所述方法还包括:
从所述变更通知消息中获取所述应用程序的更新模式;
根据所述更新模式确定第二存储地址;
将所述补丁文件存储至所述第二存储地址中;
相应的,所述运行与所述补丁文件匹配的工具包,以通过所述工具包执行所述补丁文件来更新所述应用程序,包括:
运行与所述补丁文件匹配的工具包,以使所述工具包执行所述第二存储地址中的所述补丁文件来更新所述应用程序。
3.根据权利要求2所述的方法,其特征在于,所述更新模式包括发布模式和调试模式,所述根据所述更新模式确定第二存储地址,包括:
若所述更新模式为所述发布模式,则将所述应用程序对应的沙盒确定为所述第二存储地址;
若所述更新模式为所述调试模式,则将所述应用程序对应的运行内存确定为所述第二存储地址。
4.根据权利要求1所述的方法,其特征在于,在所述在应用程序运行的过程中,若所述应用程序中的通信客户端接收到来自服务器上设置的通信服务端的变更通知消息,则获取文件标识和第一文件存储地址之前,所述方法还包括:
在所述应用程序启动时,所述通信客户端与所述通信服务端通过预设双向通信协议建立通信连接。
5.根据权利要求1或2所述的方法,其特征在于,在所述运行与所述补丁文件匹配的工具包,以通过所述工具包执行所述补丁文件来更新所述应用程序之前,所述方法还包括:
从所述变更通知消息中获取编程语言标识,所述编程语言标识用于对所述补丁文件对应的编程语言进行唯一性识别;
根据所述编程语言标识确定与所述补丁文件匹配的工具包。
6.一种应用程序热更新方法,其特征在于,应用于服务器,所述方法包括:
创建用于对应用程序的补丁文件的变更进行监听的监听服务;
在所述应用程序运行的过程中,当所述监听服务监听到所述补丁文件发生所述变更时,通过所述服务器上设置的通信服务端向所述应用程序中的通信客户端发送变更通知消息,以使所述应用程序从所述变更通知消息中获取文件标识和第一文件存储地址,根据所述文件标识和所述第一文件存储地址,从所述服务器上下载所述补丁文件,并运行与所述补丁文件匹配的工具包,以通过所述工具包执行所述补丁文件来更新所述应用程序。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述通信客户端与所述通信服务端之间的通信连接断开时,关闭所述监听服务。
8.一种应用程序更新装置,其特征在于,所述装置包括:
消息接收模块,用于在应用程序运行的过程中,若所述应用程序中的通信客户端接收到来自服务器上设置的通信服务端的变更通知消息,则从所述变更通知消息中获取文件标识和第一文件存储地址;其中,所述变更通知消息是所述服务器在监听到所述应用程序的补丁文件发生变更时所发送的;
文件获取模块,用于根据所述文件标识和所述第一文件存储地址,从所述服务器上下载所述补丁文件;
文件执行模块,用于运行与所述补丁文件匹配的工具包,以通过所述工具包执行所述补丁文件来更新所述应用程序。
9.一种应用程序更新装置,其特征在于,所述装置包括:
文件监听模块,用于创建用于对应用程序的补丁文件的变更进行监听的监听服务;
变更通知模块,用于在所述应用程序运行的过程中,当所述监听服务监听到所述补丁文件发生所述变更时,通过服务器上设置的通信服务端向所述应用程序中的通信客户端发送变更通知消息,以使所述应用程序从所述变更通知消息中获取文件标识和第一文件存储地址,根据所述文件标识和所述第一文件存储地址,从所述服务器上下载所述补丁文件,并运行与所述补丁文件匹配的工具包,以通过所述工具包执行所述补丁文件来更新所述应用程序。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现权利要求1-5任一所述的应用程序更新方法,或者实现权利要求6-7任一所述的应用程序更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110330383.9A CN113110864B (zh) | 2021-03-19 | 2021-03-19 | 应用程序更新方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110330383.9A CN113110864B (zh) | 2021-03-19 | 2021-03-19 | 应用程序更新方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113110864A true CN113110864A (zh) | 2021-07-13 |
CN113110864B CN113110864B (zh) | 2023-01-20 |
Family
ID=76712663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110330383.9A Active CN113110864B (zh) | 2021-03-19 | 2021-03-19 | 应用程序更新方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113110864B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553090A (zh) * | 2021-07-26 | 2021-10-26 | 网易(杭州)网络有限公司 | 客户端应用程序的更新控制方法及装置 |
CN114691238A (zh) * | 2022-03-30 | 2022-07-01 | 阿波罗智联(北京)科技有限公司 | 脚本文件执行方法、装置、设备、存储介质以及程序产品 |
CN114760290A (zh) * | 2022-05-07 | 2022-07-15 | 北京字跳网络技术有限公司 | 一种应用开发方法、装置、电子设备及存储介质 |
CN115334144A (zh) * | 2022-06-29 | 2022-11-11 | 上海万物新生环保科技集团有限公司 | 一种业务状态变更通知的处理方法、装置及系统 |
CN116302595A (zh) * | 2023-02-13 | 2023-06-23 | 深圳市同行者科技有限公司 | 一种基于车载设备的进程间通讯方法和相关设备 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6202208B1 (en) * | 1998-09-29 | 2001-03-13 | Nortel Networks Limited | Patching environment for modifying a Java virtual machine and method |
WO2007138442A1 (en) * | 2006-05-25 | 2007-12-06 | Axalto S.A. | A methhod of patching applications on small resource-contrained secure devices. |
CN105787367A (zh) * | 2016-02-23 | 2016-07-20 | 华中科技大学 | 一种软件更新的补丁安全性检测方法及系统 |
WO2016179957A1 (zh) * | 2015-05-14 | 2016-11-17 | 百度在线网络技术(北京)有限公司 | 一种应用程序的修复方法、装置和存储介质 |
CN106843933A (zh) * | 2016-12-27 | 2017-06-13 | 北京五八信息技术有限公司 | 一种应用程序的漏洞修复方法、移动终端及补丁服务器 |
CN109002320A (zh) * | 2018-08-20 | 2018-12-14 | 苏州思必驰信息科技有限公司 | 用于软件开发包的更新方法、系统、电子设备及存储介质 |
CN109491698A (zh) * | 2018-12-29 | 2019-03-19 | 武汉思普崚技术有限公司 | 基于热补丁的系统更新方法及装置 |
CN110308924A (zh) * | 2019-05-24 | 2019-10-08 | 平安银行股份有限公司 | 应用程序更新方法、装置、电子设备及存储介质 |
WO2019242166A1 (zh) * | 2018-06-22 | 2019-12-26 | 平安科技(深圳)有限公司 | 应用程序更新方法、系统、计算机设备及存储介质 |
CN111522575A (zh) * | 2020-04-15 | 2020-08-11 | 维沃移动通信有限公司 | 一种应用程序升级方法及电子设备 |
CN111858113A (zh) * | 2019-04-30 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 应用程序的修复方法、装置、业务系统及存储介质 |
CN112035153A (zh) * | 2019-05-14 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 应用更新方法、装置、终端及存储介质 |
-
2021
- 2021-03-19 CN CN202110330383.9A patent/CN113110864B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6202208B1 (en) * | 1998-09-29 | 2001-03-13 | Nortel Networks Limited | Patching environment for modifying a Java virtual machine and method |
WO2007138442A1 (en) * | 2006-05-25 | 2007-12-06 | Axalto S.A. | A methhod of patching applications on small resource-contrained secure devices. |
WO2016179957A1 (zh) * | 2015-05-14 | 2016-11-17 | 百度在线网络技术(北京)有限公司 | 一种应用程序的修复方法、装置和存储介质 |
CN105787367A (zh) * | 2016-02-23 | 2016-07-20 | 华中科技大学 | 一种软件更新的补丁安全性检测方法及系统 |
CN106843933A (zh) * | 2016-12-27 | 2017-06-13 | 北京五八信息技术有限公司 | 一种应用程序的漏洞修复方法、移动终端及补丁服务器 |
WO2019242166A1 (zh) * | 2018-06-22 | 2019-12-26 | 平安科技(深圳)有限公司 | 应用程序更新方法、系统、计算机设备及存储介质 |
CN109002320A (zh) * | 2018-08-20 | 2018-12-14 | 苏州思必驰信息科技有限公司 | 用于软件开发包的更新方法、系统、电子设备及存储介质 |
CN109491698A (zh) * | 2018-12-29 | 2019-03-19 | 武汉思普崚技术有限公司 | 基于热补丁的系统更新方法及装置 |
CN111858113A (zh) * | 2019-04-30 | 2020-10-30 | 北京达佳互联信息技术有限公司 | 应用程序的修复方法、装置、业务系统及存储介质 |
CN112035153A (zh) * | 2019-05-14 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 应用更新方法、装置、终端及存储介质 |
CN110308924A (zh) * | 2019-05-24 | 2019-10-08 | 平安银行股份有限公司 | 应用程序更新方法、装置、电子设备及存储介质 |
CN111522575A (zh) * | 2020-04-15 | 2020-08-11 | 维沃移动通信有限公司 | 一种应用程序升级方法及电子设备 |
Non-Patent Citations (2)
Title |
---|
朱丽华等: "基于语义补丁的Linux驱动程序后向移植技术", 《计算机科学》 * |
朱丽华等: "基于语义补丁的Linux驱动程序后向移植技术", 《计算机科学》, no. 11, 15 November 2017 (2017-11-15), pages 70 - 74 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553090A (zh) * | 2021-07-26 | 2021-10-26 | 网易(杭州)网络有限公司 | 客户端应用程序的更新控制方法及装置 |
CN113553090B (zh) * | 2021-07-26 | 2023-07-25 | 网易(杭州)网络有限公司 | 客户端应用程序的更新控制方法及装置 |
CN114691238A (zh) * | 2022-03-30 | 2022-07-01 | 阿波罗智联(北京)科技有限公司 | 脚本文件执行方法、装置、设备、存储介质以及程序产品 |
CN114760290A (zh) * | 2022-05-07 | 2022-07-15 | 北京字跳网络技术有限公司 | 一种应用开发方法、装置、电子设备及存储介质 |
CN114760290B (zh) * | 2022-05-07 | 2024-04-12 | 北京字跳网络技术有限公司 | 一种应用开发方法、装置、电子设备及存储介质 |
CN115334144A (zh) * | 2022-06-29 | 2022-11-11 | 上海万物新生环保科技集团有限公司 | 一种业务状态变更通知的处理方法、装置及系统 |
CN116302595A (zh) * | 2023-02-13 | 2023-06-23 | 深圳市同行者科技有限公司 | 一种基于车载设备的进程间通讯方法和相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113110864B (zh) | 2023-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113110864B (zh) | 应用程序更新方法、装置及存储介质 | |
US10802906B2 (en) | Monitoring method and apparatus of server, and storage medium | |
US11023301B1 (en) | Unified API platform | |
CN110442524B (zh) | 一种针对带有认证授权的web服务接口测试方法和装置 | |
CN105487892B (zh) | 一种Linux环境下的云中GIS服务部署系统 | |
EP3053052B1 (en) | Managing a number of secondary clouds by a master cloud service manager | |
CN102752137B (zh) | 主动设置虚拟机网络参数的装置和方法 | |
Masek et al. | Unleashing full potential of ansible framework: University labs administration | |
CN112119374A (zh) | 使用替代服务器名称选择性地提供相互传输层安全 | |
CN113296798B (zh) | 一种服务部署方法、装置及可读存储介质 | |
CN108228444B (zh) | 一种测试方法和装置 | |
US10148621B2 (en) | Provisioning proxy for provisioning data on hardware resources | |
CN105389263A (zh) | 应用软件权限监控方法、系统及设备 | |
CN110413329A (zh) | Iot设备远程调试方法、装置及系统 | |
CN114637549B (zh) | 基于服务网格的应用的数据处理方法、系统和存储介质 | |
CN113129002A (zh) | 一种数据处理方法以及设备 | |
CN110287070B (zh) | Esb专用协议接口测试方法、服务器及计算机可读存储介质 | |
CN111314355A (zh) | 一种vpn服务器的认证方法、装置、设备及介质 | |
CN112448909A (zh) | 电子锁管理方法、装置、系统及存储介质 | |
Hill | Scalable iot platforms | |
CN112422566B (zh) | 远程调用处理方法、装置、存储介质及电子装置 | |
CN112433938A (zh) | 移动端应用测试的方法和装置 | |
Jadhav | Evaluation and implementation of zero-touch onboarding solutions for IIoT | |
CN117075871A (zh) | 应用程序接口调用代码生成方法、装置、设备及存储介质 | |
CN115994080A (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 |