CN107179924A - 应用程序更新方法及更新系统 - Google Patents

应用程序更新方法及更新系统 Download PDF

Info

Publication number
CN107179924A
CN107179924A CN201710212125.4A CN201710212125A CN107179924A CN 107179924 A CN107179924 A CN 107179924A CN 201710212125 A CN201710212125 A CN 201710212125A CN 107179924 A CN107179924 A CN 107179924A
Authority
CN
China
Prior art keywords
patch file
app
new system
database
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
CN201710212125.4A
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.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 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 Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Priority to CN201710212125.4A priority Critical patent/CN107179924A/zh
Publication of CN107179924A publication Critical patent/CN107179924A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供一种应用程序更新方法及更新系统,更新系统获取用于更新APP的脚本语言文件,根据脚本语言文件生成补丁文件,并根据补丁文件更新数据库。该过程中,将用于更新APP的JS文件通过更新系统转换为能够被Native APP融合的补丁文件,并更新到数据库中,使得后续对APP进行更新时,仅将能够融合到APP中的补丁文件下发给终端,使得APP的更新不受双平台开发、打包发版的限制,而且具备流畅的动画体验效果。

Description

应用程序更新方法及更新系统
技术领域
本申请实施例涉及计算机技术,尤其涉及一种应用程序更新方法及更新系统。
背景技术
随着互联网的发展,应用程序(Application,APP)等的种类和数量越来越多。开发人员通过开发各种APP来满足用户的需求。
一般来说,APP内页面开发大致有如下两种方式:方式一、安卓(Android)操作系统和苹果操作系统(iphone Operating System,iOS)的开发人员基于各自平台开发代码,然后进行测试、发版、上线等流程;方式二、在APP内直接引入由前端开发人员提供的超文本标记语言5(Hyper Text Mark-up Language,HTML5)页面。上述方式一中,APP页面访问动画效果绚丽且页面流畅,但更新过程中,需要针对不同操作系统各自的APP进行更新,面临着双平台开发、打包发版的限制;上述方式二中,无需双平台开发、打包发版,但不具备流畅的动画体验效果。
因此,如何更新APP,使得该APP不受双平台开发、打包发版的限制,而且还能够具备流畅的动画体验效果,实为业界亟待解决的问题。
发明内容
本申请实施例提供一种应用程序更新方法及更新系统,基于React Native更新APP,使得APP的更新不受双平台开发、打包发版的限制,而且具备流畅的动画体验效果。
第一方面,本申请实施例提供一种应用程序更新方法,包括:
更新系统获取应用程序APP的脚本语言文件,所述脚本语言文件为用于更新所述APP的文件;
所述更新系统根据所述脚本语言文件生成补丁文件;
所述更新系统根据所述补丁文件更新数据库。
在一种可行的设计中,所述更新系统根据所述补丁文件更新所述待APP的数据库之前,还包括:
所述更新系统对所述补丁文件进行测试。
在一种可行的设计中,所述更新系统根据所述脚本语言文件生成补丁文件之后,根据所述补丁文件更新所述APP的数据库之前,还包括:
所述更新系统将所述补丁文件上传至内容分发网络,供所述内容分发网络将所述补丁文件写入应用程序编程接口。
在一种可行的设计中,上述的方法还包括:
所述更新系统判断更新步骤是否发生异常,所述更新步骤为所述更新系统根据所述补丁文件更新所述APP的数据库的步骤或之前的任意一个步骤;
若所述更新步骤发生异常,则执行回滚操作。
在一种可行的设计中,上述的方法还包括:
所述更新系统获取更新信息,所述更新信息指示所述更新步骤是否发生异常,所述更新步骤为所述更新系统根据所述补丁文件更新所述APP的数据库的步骤或之前的任意一个步骤;
所述更新系统通过套接字发送所述更新信息。
在一种可行的设计中,所述更新系统根据所述补丁文件更新所述APP的数据库,包括:
所述更新系统判断所述补丁文件为新增补丁文件或更新补丁文件;
若所述补丁文件为新增补丁文件,则确定是否需要更新所述数据库,若需要,则将所述新增补丁文件写入应用程序编程接口,并写入所述数据库;否则,停止更新所述数据库;
若所述补丁文件为更新补丁文件,则确定是否需要更新所述数据库,若需要,则将所述更新补丁文件写入所述应用程序编程接口,并覆盖所述数据库中的原始补丁文件;否则,确定所述更新补丁文件的最大版本号。
第二方面,本申请实施例提供一种更新系统,包括:
获取模块,用于获取应用程序APP的脚本语言文件,所述脚本语言文件为用于更新所述APP的文件;
处理模块,用于根据所述脚本语言文件生成补丁文件;
更新模块,用于根据所述补丁文件更新数据库。
在一种可行的设计中,上述的更新系统还包括:
测试模块,用于在所述更新模块根据所述补丁文件更新所述待APP的数据库之前,对所述补丁文件进行测试。
在一种可行的设计中,上述的更新系统还包括:
上传模块,用于在所述处理模块根据所述脚本语言文件生成补丁文件之后,所述更新模块根据所述补丁文件更新所述APP的数据库之前,将所述补丁文件上传至内容分发网络,供所述内容分发网络将所述补丁文件写入应用程序编程接口。
在一种可行的设计中,所述处理模块,还用于判断更新步骤是否发生异常,所述更新步骤为所述更新系统根据所述补丁文件更新所述APP的数据库的步骤或之前的任意一个步骤;若所述更新步骤发生异常,则执行回滚操作。
在一种可行的设计中,所述处理模块,还用于获取更新信息,所述更新信息指示所述更新步骤是否发生异常,所述更新步骤为所述更新系统根据所述补丁文件更新所述APP的数据库的步骤或之前的任意一个步骤;通过套接字发送所述更新信息。
在一种可行的设计中,所述更新模块,具体用于判断所述补丁文件为新增补丁文件或更新补丁文件;
若所述补丁文件为新增补丁文件,则确定是否需要更新所述数据库,若需要,则将所述新增补丁文件写入应用程序编程接口,并写入所述数据库;否则,停止更新所述数据库;
若所述补丁文件为更新补丁文件,则确定是否需要更新所述数据库,若需要,则将所述更新补丁文件写入所述应用程序编程接口,并覆盖所述数据库中的原始补丁文件;否则,确定所述更新补丁文件的最大版本号。
本申请实施例提供的应用程序更新方法及更新系统,更新系统获取用于更新APP的脚本语言文件,根据脚本语言文件生成补丁文件,并根据补丁文件更新数据库。该过程中,将用于更新APP的JS文件通过更新系统转换为能够被Native APP融合的补丁文件,并更新到数据库中,使得后续对APP进行更新时,仅将能够融合到APP中的补丁文件下发给终端,使得APP的更新不受双平台开发、打包发版的限制,而且具备流畅的动画体验效果。
附图说明
图1为本申请应用程序更新方法实施例一的信令图;
图2为本申请应用程序更新方法中根据JS文件生成补丁文件的过程示意图;
图3为本申请应用程序更新方法中更新系统的目录结构图;
图4A为本申请应用程序更新方法中APP更新的流程图;
图4B为本申请应用程序更新方法中APP升级管理的流程图;
图5为本申请更新系统实施例一的结构示意图;
图6为本申请更新系统实施例二的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。以下内容为结合附图及较佳实施例,对依据本申请申请的具体实施方式、结构、特征及其功效的详细说明。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
React Native是脸书(Facebook)最新开源的,可同时用来开发iOS和Android应用,每个需要把数据上传到服务器的移动应用,都在重复实现数据提交的功能,如果有一种同时支持iOS和Android、能够把数据上传的服务器的组件即插即用。
通常来说,移动互联网行业应用可分为两种,一种是基于本地操作系统,如iOS或Android操作系统运行的APP,称之为Native APP;一种是基于智能终端的浏览器运行的WebAPP。对于Native APP来说,开发人员可以基于操作系统平台开发代码以进行APP的开发;或者,在APP内直接引入由前端开发人员提供的HTML5页面。基于操作系统平台的开发方式中,APP页面访问动画效果绚丽且页面流畅,但更新过程中,需要针对不同操作系统各自的APP进行更新,面临着双平台开发、打包发版的限制;引入HTML5的开发方式中,无需双平台开发、打包发版,但不具备流畅的动画体验效果。
因此,如何更新APP,使得该APP不受双平台开发、打包发版的限制,而且还能够具备流畅的动画体验效果,实为业界亟待解决的问题。
有鉴于此,本申请实施例提供一种应用程序更新方法及更新系统,基于ReactNative更新APP,使得APP的更新不受双平台开发、打包发版的限制,而且具备流畅的动画体验效果。具体的,可参加图1。
图1为本申请应用程序更新方法实施例一的信令图,本实施例从更新系统的角度对本申请应用程序更新方法进行详细说明。具体的,本实施例包括:
101、更新系统获取应用程序APP的脚本语言文件,所述脚本语言文件为用于更新所述APP的文件。
本申请实施例中,APP指Native APP,各个APP的相关文件存储在数据库中。基于React Native的APP更新过程中,开发人员基于脚本语言(JavaScript,JS)文件开发用于更新APP的代码,即补丁(patch)文件,通过更新系统将该pacth文件更新到数据库中,并将该patch文件下发给加载APP的终端,使得该patch文件能够融合到APP中,其中,JS文件为针对APP需要更新的模块进行编写的代码。融合过程中,终端无需退出APP,而是在线对APP进行热更新。而且,更新过程中,仅仅将patch文件下发给终端,无需终端删除低版本的APP、再下载高版本的APP以进行更新。
本步骤中,开发人员通过更新系统对APP需要更新的模块进行修改,如新增代码、修改代码、删除代码、查询等,根据该些修改获取JS文件。
102、所述更新系统根据所述脚本语言文件生成补丁文件。
本步骤中,更新系统主要将前端开发人员开发出的JS文件,转换为可以被NativeAPP使用的补丁(patch)文件。具体的,可参见图2,图2为本申请应用程序更新方法中根据JS文件生成补丁文件的过程示意图。
请参照图2,转换过程包括如下步骤:
201、JS文件合并。
202、生成Bundle类文件。
本步骤中,更新系统对合并后的JS文件进行编译,生成Bundle类文件。
203、根据Bundle类文件生成差异文件。
本步骤中,更新系统对Bundle类文件和底层库中的普通(common)文件进行对比,生成差异(diff)文件。
204、对diff文件进行压缩。
本步骤中,更新系统采用消息摘要算法第五版(Message Digest Algorithm,MD5)等对diff文件进行压缩。
205、根据压缩后的文件生成补丁文件。
本步骤中,更新系统根据根据压缩后的文件生成补丁文件。
103、所述更新系统根据所述补丁文件更新数据库。
本步骤中,更新系统通过将补丁文件写入REDIS,进而写入数据库等一系列操作,将补丁文件写入数据库。
本申请实施例提供的应用程序更新方法,更新系统获取用于更新APP的脚本语言文件,根据脚本语言文件生成补丁文件,并根据补丁文件更新数据库。该过程中,将用于更新APP的JS文件通过更新系统转换为能够被Native APP融合的补丁文件,并更新到数据库中,使得后续对APP进行更新时,仅将能够融合到APP中的补丁文件下发给终端,使得APP的更新不受双平台开发、打包发版的限制,而且具备流畅的动画体验效果。
下面,从逻辑层面对上述应用程序更新方法中的更新系统进行详细说明。
具体的,更新系统基于“点+表达+Java脚本模板库+关系型数据库管理系统(node+express+ejs+MySQL)”搭建的项目框架,用于完成交互接口、数据查询、数据交互等一系列操作。采用该框架的好处是:node是基于浏览器(Chrome V8)引擎的JS运行环境,通过使用一个事件驱动、非阻塞式输入/输出(Input/Output,I/O)的模型,使得node为一个轻量级且高效的node。因此,可基于node纯前端开发实现整个系统。更新系统采用模型视图控制器(Model View Controller,MVC)开发模式,具体的目录结构可参见图3,图3为本申请应用程序更新方法中更新系统的目录结构图。
请参照图3,视图(view)层为页面展示层,用于展示页面,路径(routes)层为请求处理层,用于控制请求处理,dbo为数据操作层,用于数据库的操作,模型(model)为逻辑处理层。
下面,以增加RN资源为例对上述的图3进行详细说明。
具体的,首先,用户在view层的新增页面输入相关内容,点击提交。例如,代码如下:
其次,routes层拦截请求,调用model层的逻辑处理。例如,代码如下:
再次,在model层处理相关逻辑,看是否需要操作数据库。例如,代码如下:
最后,调用dbo层的数据库操作,插入数据,返回操作结果。例如,代码如下:
接下来,从功能模块的角度对上述的应用程序更新方法中的更新系统进行详细说明。
具体的,本申请实施例中,更新系统从逻辑上分为四个功能模块,分别为:RN资源管理模块、RN审批上线模块、app升级管理模块和操作日志展示模块。其中,RN资源管理模块具有新增、修改、查询或删除资源等功能,RN审批上线模块主要用于申请闪现资源进行审批,app升级管理模块,用于将用户录入的需要升级的app版本录入数据库、写入远程字典服务(REmote DIctionary Server,REDIS)器,供后端研发(Research Design,RD)读取,操作日志展示模块用于展示用户操作记录,便于后期查阅记录、排查问题等。另外,该些功能模块可以按照用户权限划分,不同权限的用户对该些功能模块的操作权限不同。具体的,可参见图4A与图4B,图4A为本申请应用程序更新方法中APP更新的流程图,图4B为本申请应用程序更新方法中APP升级管理的流程图。
请参照图4A,图4A主要涉及RN资源管理模块,APP更新的流程包括:
301、RN资源管理模块更新JS文件。
本步骤中,RN资源管理模块基于业务线,通过更新系统,在新增页面、修改页面、查询页面或删除页面输入相应的JS代码文件,即将代码托管到git上。
302、点击提交。
本步骤中,用户点击提交。
303、验证JS文件是否合格,若合格,则执行304;若不合格,则执行301;
304、更新系统对JS文件进行操作。
本步骤中,更新系统的后台逻辑对JS文件进行资源下载、生成补丁文件、将所述补丁文件上传至内容分发网络(Content Delivery Network,CDN),供所述内容分发网络将补丁文件写入应用程序编程接口(即写入REDIS)。
305、对补丁文件进行测试,更新SQL。
请参照图4B,图4B主要涉及RN审批上线模块、app升级管理模块和操作日志展示模块,APP升级管理流程包括:
401、启动APP新增管理。
402、判断补丁文件为新增补丁文件或更新补丁文件。
本步骤中,有操作权限的操作者对资源进行审批,即有操作权限的操作通过RN审批上线模块判断补丁文件为新增补丁文件或更新补丁文件,若补丁文件为更新补丁文件,则执行403;若补丁文件为新增补丁文件,则执行409。
403、修改已有记录。
404、判断更新补丁文件的版本号是否大于或等于数据库中的最大版本号,若是,则执行405;若否,则执行403;
405、确定是否需要强制更新所述数据库,若是,则执行406;若否,则执行408;
406、将所述更新补丁文件写入所述应用程序编程接口,之后,执行407。
407、覆盖数据库中的原始补丁文件。
408、确定数据库中该更新补丁文件的最大版本号,之后,执行406。
409、新增记录。
本步骤中,对新增补丁文件进行记录。
410、确定是否需要强制更新所述数据库,若是,则执行411;若否,则执行412。
411、将所述新增补丁文件写入应用程序编程接口,并写入所述数据库。
412、停止更新所述数据库。
可选的,上述实施例中,根据所述补丁文件更新所述APP的数据库的步骤或该步骤之前的任意一个步骤都可称之为更新步骤,更新系统还判断任意一个更新步骤是否发生异常,若任意一个更新步骤发生异常,则执行回滚操作。
具体的,逻辑处理时,先执行操作非写入数据库的操作,对所有非写入数据库的操作执行成功后,最后执行写入数据库的操作。然而,当必须先执行数据库的写入操作再进行其他操作时,将会出现数据库里的信息发生改变、而后续的其他操作出现问题的现象,此时数据发生错误。
本申请实施例中,为了避免该种显现的发生,对于必须先增加到数据库的资源信息,也可称之为先执行写入数据库的操作,该些先执行写入数据库的操作即为本申请中的更新步骤,若该些更新步骤抛出异常,则执行回滚操作,即执行回滚SQL。例如,先基于数据库中最大的Bundle文件的ID,在数据库中插入新增资源信息,然后依次执行:下载资源、生成patch文件、文件上传CDN、写入REDIS等一系列操作,若这些操作中的某个步骤发生异常中断,则在捕获异常中执行回滚函数(rollbackSql)以执行回滚操作。代码可以如下:
可选的,上述实施例中,根据所述补丁文件更新所述APP的数据库的步骤或该步骤之前的任意一个步骤都可称之为更新步骤,更新系统还判断任意一个更新步骤是否发生异常,若任意一个更新步骤发生异常,则更新系统通过套接字发送所述更新信息。
具体的,业务线进行新增或修改操作时,后台程序在处理JS文件,以执行生成patch文件、上传CDN、写入REDIS等步骤的时间较长,常规的异步JavaScript和XML(Asynchronous Javascript And XML,AJAX)请求有时间限制,当执行时间过长时会出现网络超时现象。若后台程序未执行完,前端界面已收到AJAX请求超时的提示,则会出现问题。
为避免上述问题的发生,本申请实施例中,引入套接字(socket.io),实现websockt通信,客户端和服务器可同时跨平台实时通信。
通信过程中,用户在进行新增或修改等操作时,客户端设置基socket.io自定义的接收事件,并在编译中给出提示;当JS文件生成patch文件成功或失败时,服务器会基于socket.io,将操作结果注册到接收事件上;客户端接收到监听事件的回馈结果,向用户提示操作结束。部分实现代码如下:
首先、node程序入口。
其次,客户端相关代码。
最后,服务器相关代码。
图5为本申请更新系统实施例一的结构示意图,包括:
获取模块11,用于获取应用程序APP的脚本语言文件,所述脚本语言文件为用于更新所述APP的文件;
处理模块12,用于根据所述脚本语言文件生成补丁文件;
更新模块13,用于根据所述补丁文件更新数据库。
本申请实施例提供的更新系统,获取用于更新APP的脚本语言文件,根据脚本语言文件生成补丁文件,并根据补丁文件更新数据库。该过程中,将用于更新APP的JS文件通过更新系统转换为能够被Native APP融合的补丁文件,并更新到数据库中,使得后续对APP进行更新时,仅将能够融合到APP中的补丁文件下发给终端,使得APP的更新不受双平台开发、打包发版的限制,而且具备流畅的动画体验效果。
图6为本申请更新系统实施例二的结构示意图,请参照图6,本申请实施例提供的更新系统,在上述图5的基础上,进一步的,还包括:
测试模块14,用于在所述更新模块13根据所述补丁文件更新所述待APP的数据库之前,对所述补丁文件进行测试。
再请参照图6,可选的,在本申请一实施例中,上述的更新系统还包括:
上传模块15,用于在所述处理模块12根据所述脚本语言文件生成补丁文件之后,所述更新模块13根据所述补丁文件更新所述APP的数据库之前,将所述补丁文件上传至内容分发网络,供所述内容分发网络将所述补丁文件写入应用程序编程接口。
可选的,在本申请一实施例中,所述处理模块12,还用于判断更新步骤是否发生异常,所述更新步骤为所述更新系统根据所述补丁文件更新所述APP的数据库的步骤或之前的任意一个步骤;若所述更新步骤发生异常,则执行回滚操作。
可选的,在本申请一实施例中,所述处理模块12,还用于获取更新信息,所述更新信息指示所述更新步骤是否发生异常,所述更新步骤为所述更新系统根据所述补丁文件更新所述APP的数据库的步骤或之前的任意一个步骤;通过套接字发送所述更新信息。
可选的,在本申请一实施例中,所述更新模块13,具体用于判断所述补丁文件为新增补丁文件或更新补丁文件;
若所述补丁文件为新增补丁文件,则确定是否需要更新所述数据库,若需要,则将所述新增补丁文件写入应用程序编程接口,并写入所述数据库;否则,停止更新所述数据库;
若所述补丁文件为更新补丁文件,则确定是否需要更新所述数据库,若需要,则将所述更新补丁文件写入所述应用程序编程接口,并覆盖所述数据库中的原始补丁文件;否则,确定所述更新补丁文件的最大版本号。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (10)

1.一种应用程序更新方法,其特征在于,包括:
更新系统获取应用程序APP的脚本语言文件,所述脚本语言文件为用于更新所述APP的文件;
所述更新系统根据所述脚本语言文件生成补丁文件;
所述更新系统根据所述补丁文件更新数据库。
2.根据权利要求1所述的方法,其特征在于,所述更新系统根据所述补丁文件更新所述待APP的数据库之前,还包括:
所述更新系统对所述补丁文件进行测试。
3.根据权利要求1或2所述的方法,其特征在于,所述更新系统根据所述脚本语言文件生成补丁文件之后,根据所述补丁文件更新所述APP的数据库之前,还包括:
所述更新系统将所述补丁文件上传至内容分发网络,供所述内容分发网络将所述补丁文件写入应用程序编程接口。
4.根据权利要求3所述的方法,其特征在于,还包括:
所述更新系统判断更新步骤是否发生异常,所述更新步骤为所述更新系统根据所述补丁文件更新所述APP的数据库的步骤或之前的任意一个步骤;
若所述更新步骤发生异常,则执行回滚操作。
5.根据权利要求3所述的方法,其特征在于,还包括:
所述更新系统获取更新信息,所述更新信息指示所述更新步骤是否发生异常,所述更新步骤为所述更新系统根据所述补丁文件更新所述APP的数据库的步骤或之前的任意一个步骤;
所述更新系统通过套接字发送所述更新信息。
6.根据权利要求1或2所述的方法,其特征在于,所述更新系统根据所述补丁文件更新所述APP的数据库,包括:
所述更新系统判断所述补丁文件为新增补丁文件或更新补丁文件;
若所述补丁文件为新增补丁文件,则确定是否需要更新所述数据库,若需要,则将所述新增补丁文件写入应用程序编程接口,并写入所述数据库;否则,停止更新所述数据库;
若所述补丁文件为更新补丁文件,则确定是否需要更新所述数据库,若需要,则将所述更新补丁文件写入所述应用程序编程接口,并覆盖所述数据库中的原始补丁文件;否则,确定所述更新补丁文件的最大版本号。
7.一种更新系统,其特征在于,包括:
获取模块,用于获取应用程序APP的脚本语言文件,所述脚本语言文件为用于更新所述APP的文件;
处理模块,用于根据所述脚本语言文件生成补丁文件;
更新模块,用于根据所述补丁文件更新数据库。
8.根据权利要求7所述的更新系统,其特征在于,还包括:
测试模块,用于在所述更新模块根据所述补丁文件更新所述待APP的数据库之前,对所述补丁文件进行测试。
9.根据权利要求7或8所述的更新系统,其特征在于,还包括:
上传模块,用于在所述处理模块根据所述脚本语言文件生成补丁文件之后,所述更新模块根据所述补丁文件更新所述APP的数据库之前,将所述补丁文件上传至内容分发网络,供所述内容分发网络将所述补丁文件写入应用程序编程接口。
10.根据权利要求9所述的更新系统,其特征在于,
所述处理模块,还用于判断更新步骤是否发生异常,所述更新步骤为所述更新系统根据所述补丁文件更新所述APP的数据库的步骤或之前的任意一个步骤;若所述更新步骤发生异常,则执行回滚操作。
CN201710212125.4A 2017-04-01 2017-04-01 应用程序更新方法及更新系统 Pending CN107179924A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710212125.4A CN107179924A (zh) 2017-04-01 2017-04-01 应用程序更新方法及更新系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710212125.4A CN107179924A (zh) 2017-04-01 2017-04-01 应用程序更新方法及更新系统

Publications (1)

Publication Number Publication Date
CN107179924A true CN107179924A (zh) 2017-09-19

Family

ID=59830452

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710212125.4A Pending CN107179924A (zh) 2017-04-01 2017-04-01 应用程序更新方法及更新系统

Country Status (1)

Country Link
CN (1) CN107179924A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110020248A (zh) * 2017-12-26 2019-07-16 航天信息股份有限公司 一种基于react-native请求超时的处理方法及装置
CN113885894A (zh) * 2021-09-15 2022-01-04 南京海泰医疗信息系统有限公司 一种基于电子病历产品后台的打包和更新方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609281A (zh) * 2012-02-24 2012-07-25 中国电子科技集团公司第十五研究所 分布式软件补丁更新方法及系统
CN105743984A (zh) * 2016-03-11 2016-07-06 中国建设银行股份有限公司 自动更新移动应用的方法、设备及系统
CN106528229A (zh) * 2016-11-03 2017-03-22 北京像素软件科技股份有限公司 一种游戏热更新方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609281A (zh) * 2012-02-24 2012-07-25 中国电子科技集团公司第十五研究所 分布式软件补丁更新方法及系统
CN105743984A (zh) * 2016-03-11 2016-07-06 中国建设银行股份有限公司 自动更新移动应用的方法、设备及系统
CN106528229A (zh) * 2016-11-03 2017-03-22 北京像素软件科技股份有限公司 一种游戏热更新方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110020248A (zh) * 2017-12-26 2019-07-16 航天信息股份有限公司 一种基于react-native请求超时的处理方法及装置
CN113885894A (zh) * 2021-09-15 2022-01-04 南京海泰医疗信息系统有限公司 一种基于电子病历产品后台的打包和更新方法和系统
CN113885894B (zh) * 2021-09-15 2023-12-12 南京海泰医疗信息系统有限公司 一种基于电子病历产品后台的打包和更新方法和系统

Similar Documents

Publication Publication Date Title
CN110825362B (zh) 低代码应用软件开发系统及方法
EP3321825A1 (en) Validating data integrations using a secondary data store
CN110188910A (zh) 利用机器学习模型提供在线预测服务的方法及系统
CN110659261A (zh) 一种数据挖掘模型发布方法及模型和模型服务管理方法
CN107092478B (zh) 一种软件构件库与构件开发工具的集成系统与方法
CN105528464A (zh) 一种自动判断关联数据技术状态一致性的版本管理系统
CN108268615B (zh) 一种数据处理方法、装置以及系统
CN107179924A (zh) 应用程序更新方法及更新系统
CN117873478A (zh) 一种基于模块化组件的应用程序界面自定义方法
US20210124752A1 (en) System for Data Collection, Aggregation, Storage, Verification and Analytics with User Interface
CN117420986A (zh) 一种采用基于React Native的灰度热部署方式的营销中台系统
CN112597023A (zh) 基于导图的案例管理方法、装置、计算机设备及存储介质
Chaganti et al. Amazon SimpleDB developer guide
CN112015429B (zh) 一种代码生成方法、装置及设备
WO2022048432A1 (zh) 构建推荐模型的方法、构建神经网络模型的方法、装置、电子设备及存储介质
US20220334834A1 (en) Automated authoring of software solutions from a data model
CN110222105B (zh) 数据汇总处理方法及装置
CN113568869A (zh) 文件管理方法、管理平台及计算机可读存储介质
CN112256978A (zh) 一种基于数据模型的数据处理方法、装置、介质
CN112381509A (zh) 重大新药创制国家科技重大专项课题管理系统
CN110633077A (zh) 一种基于模块化的快速开发系统及方法
CN109634606A (zh) 一种定义功能菜单的方法及装置
US11656744B1 (en) Interactive tool for efficiently developing task flows
CN117008890B (zh) 扩展应用开发系统及方法
CN115328442B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170919