CN111857781B - 资源更新方法及相关设备 - Google Patents
资源更新方法及相关设备 Download PDFInfo
- Publication number
- CN111857781B CN111857781B CN202010719940.1A CN202010719940A CN111857781B CN 111857781 B CN111857781 B CN 111857781B CN 202010719940 A CN202010719940 A CN 202010719940A CN 111857781 B CN111857781 B CN 111857781B
- Authority
- CN
- China
- Prior art keywords
- module
- updating
- data packet
- updated
- sub
- 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.)
- Active
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及应用程序管理技术领域,提供一种资源更新方法、装置、计算机设备及计算机可读存储介质。所述资源更新方法从业务服务器获取应用程序的WEB资源的版本更新表;根据版本更新表判断是否需要更新公共模块;当需要更新公共模块时,根据公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据第一更新数据包更新公共模块;当接收到用户触发的进入指定子模块的指令时,通过任务服务器的最低支持版本查询接口判断是否需要更新指定子模块;当确定需要更新指定子模块时,根据指定子模块的下载地址从内容分发服务器中获取第二更新数据包,根据第二更新数据包更新指定子模块。本发明提升更新应用程序的WEB资源的场景适应性。
Description
技术领域
本发明涉及应用程序管理技术领域,具体涉及一种资源更新方法、装置、计算机设备及计算机可读存储介质。
背景技术
随着移动互联网的兴起,应用程序已经成为移动互联网产品最主要的销售和展示平台。HYBIRD app为介于原生应用(NATIVE application,NATIVE app)和网页应用(WEBapplication,WEB app)之间的应用,兼具了NATIVE app良好用户交互体验的优势和WEBapp跨平台开发的优势,非常利于业务快速迭代,提升开发效率。
当HYBIRD app中承载的WEB资源版本存在异常或过于老旧或未能更新成功时,如何提升应用程序的WEB资源的场景适应性,成为亟待解决的问题。
发明内容
鉴于以上内容,有必要提出一种资源更新方法、装置、计算机设备及计算机可读存储介质,旨在于更新应用程序的WEB资源。
本申请的第一方面提供一种资源更新方法,所述资源更新方法包括:
启动基于HYBIRD框架的应用程序;
从业务服务器获取所述应用程序的WEB资源的版本更新表,所述应用程序的WEB资源包括公共模块和多个子模块,所述版本更新表包括多个模块的模块标识、版本号、依赖模块标识及下载地址;
根据所述版本更新表判断是否需要更新所述公共模块;
当需要更新所述公共模块时,根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块;
当接收到用户触发的进入指定子模块的指令时,通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块;
当确定需要更新所述指定子模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块。
另一种可能的实现方式中,所述根据所述版本更新表判断是否需要更新所述公共模块包括:
从所述版本更新表中查找目标模块,所述目标模块的模块标识与所述公共模块的模块标识一致;
判断所述目标模块的版本号是否高于所述公共模块的版本号;
当所述目标模块的版本号高于所述公共模块的版本号时,确定需要更新所述公共模块;或
当所述目标模块的版本号低于或等于所述公共模块的版本号时,确定不需要更新所述公共模块。
另一种可能的实现方式中,所述根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块包括:
根据所述公共模块的下载地址从所述内容分发服务器中获取增量数据包,根据所述增量数据包更新所述公共模块;或
根据所述公共模块的下载地址从所述内容分发服务器中获取全量数据包,根据所述全量数据包更新所述公共模块。
另一种可能的实现方式中,在所述通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块之前,所述资源更新方法还包括:
判断所述指定子模块的上级模块是否需要更新;
当确定所述上级模块需要更新时,更新所述上级模块。
另一种可能的实现方式中,所述根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块包括:
判断所述指定子模块是否存在依赖模块;
当确定所述指定子模块存在所述依赖模块时,根据所述依赖模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块的依赖模块,根据所述指定子模块的下载地址从所述内容分发服务器中获取第三更新数据包,根据所述第三更新数据包更新所述指定子模块;或
当确定所述指定子模块不存在依赖模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第三更新数据包,根据所述第三更新数据包更新所述指定子模块。
另一种可能的实现方式中,所述判断所述指定子模块是否存在依赖模块包括:
从所述版本更新表查询所述指定子模块的依赖模块标识;
当所述指定子模块的依赖模块标识为空时,判断所述指定子模块不存在依赖模块;或
当所述指定子模块的依赖模块标识不为空时,判断所述指定子模块存在依赖模块。
另一种可能的实现方式中,所述资源更新方法还包括:
在进入所述指定子模块后,判断是否需要再次更新所述公共模块;
当确定需要再次更新所述公共模块时,将所述公共模块加入待更新模块库;
采用尝试机制多次尝试更新所述待更新模块库中的模块,所述尝试机制能够根据所述待更新模块库中的模块的下载地址从所述内容分发服务器中多次获取第四更新数据包,根据所述第四更新数据包更新所述待更新模块库中的模块。
本申请的第二方面提供一种资源更新装置,所述资源更新装置包括:
启动模块,用于启动基于HYBIRD框架的应用程序;
获取模块,用于从业务服务器获取所述应用程序的WEB资源的版本更新表,所述应用程序的WEB资源包括公共模块和多个子模块,所述版本更新表包括多个模块的模块标识、版本号、依赖模块标识及下载地址;
第一判断模块,用于根据所述版本更新表判断是否需要更新所述公共模块;
第一更新模块,用于当需要更新所述公共模块时,根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块;
第二判断模块,用于当接收到用户触发的进入指定子模块的指令时,通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块;
第二更新模块,用于当确定需要更新所述指定子模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块。
本申请的第三方面提供一种计算机设备,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述资源更新方法。
本申请的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述资源更新方法。
本发明能够更新应用程序的WEB资源,不仅可避免一次性更新全部的WEB资源,还提升了更新应用程序的WEB资源的场景适应性,提升了应用程序的性能。
附图说明
图1是本发明实施例提供的资源更新方法的流程图。
图2是本发明实施例提供的资源更新装置的结构图。
图3是本发明实施例提供的计算机设备的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
优选地,本发明的资源更新方法应用在一个或者多个计算机设备中。所述计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
实施例一
图1是本发明实施例一提供的资源更新方法的流程图。所述资源更新方法应用于计算机设备,用于更新应用程序的WEB资源。
如图1所示,所述资源更新方法包括:
101,启动基于HYBIRD框架的应用程序。
基于HYBIRD框架的应用程序主要是通过在原生应用中嵌入WEB网页来实现,实质是伪造一个浏览器的NATIVE应用程序,里面运行的是WEB应用程序。因此,HYBIRD框架的应用程序中除了具有原生页面,也具有网页(WEB)页面。网页页面是采用网页语言(例如第五代超文本标记语言,HyperTextMarkup Language5,html5)编写的网页。基于HYBIRD框架的应用程序中,WEB应用程序通常承载业务服务,NATIVE应用程序通常承载基础组件服务(如更新下载WEB资源)。
当接收到用户的触发指令时,启动基于HYBIRD框架的应用程序;或当间隔预设第一时间阈值时,自动启动基于HYBIRD框架的应用程序。
102,从业务服务器获取所述应用程序的WEB资源的版本更新表,所述应用程序的WEB资源包括公共模块和多个子模块,所述版本更新表包括多个模块的模块标识、版本号、依赖模块标识及下载地址。
例如,可以向业务服务器请求应用程序的版本更新表,接收业务服务器返回的版本更新表;其中,版本更新表包括模块一和模块二,模块一为公共模块,模块二为子模块;模块一的模块标识、版本号、依赖模块标识、下载地址分别为10100、1.1.0、null、URL地址1;模块二的模块标识、版本号、依赖模块标识、下载地址分别为10200、1.2.0、10100、URL地址2。
103,根据所述版本更新表判断是否需要更新所述公共模块。
在一具体实施例中,所述根据所述版本更新表判断是否需要更新所述公共模块包括:
从所述版本更新表中查找目标模块,所述目标模块的模块标识与所述公共模块的模块标识一致;
判断所述目标模块的版本号是否高于所述公共模块的版本号;
当所述目标模块的版本号高于所述公共模块的版本号时,确定需要更新所述公共模块;或
当所述目标模块的版本号低于或等于所述公共模块的版本号时,确定不需要更新所述公共模块。
例如,从版本更新表中查找模块标识与公共模块的模块标识(10100)一致的目标模块。目标模块的版本号为1.1.1,公共模块的版本号为1.1.0,判断目标模块的版本号高于所述公共模块的版本号,确定需要更新所述公共模块。
104,当需要更新所述公共模块时,根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块。
在一具体实施例中,所述根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块包括:
向所述内容分发服务器发送携带有所述公共模块的模块标识的数据请求,以使所述内容分发服务器根据所述公共模块的模块标识返回所述公共模块的第一更新数据包;
接收所述内容分发服务器返回的所述公共模块的第一更新数据包;
根据所述公共模块的第一更新数据包更新所述公共模块。
在另一实施例中,所述根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块包括:
根据所述公共模块的下载地址从所述内容分发服务器中获取增量数据包,根据所述增量数据包更新所述公共模块;或
根据所述公共模块的下载地址从所述内容分发服务器中获取全量数据包,根据所述全量数据包更新所述公共模块。
105,当接收到用户触发的进入指定子模块的指令时,通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块。
在一具体实施例中,所述通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块包括:
根据所述指定子模块的模块标识从所述最低支持版本查询接口查询所述指定子模块的最低版本号;
当查询的指定子模块的最低版本号高于所述指定子模块的版本号时,确定需要更新所述指定子模块;
当查询的指定子模块的最低版本号低于或等于所述指定子模块的版本号时,确定不需要更新所述指定子模块。
在另一实施例中,当接收到用户触发的进入指定子模块的指令时,所述资源更新方法还包括:
根据所述公共模块的模块标识从所述最低支持版本查询接口查询所述公共模块的最低版本号;
当查询的公共模块的最低版本号低于或等于所述公共模块的版本号时,确定不需要再次更新所述公共模块,通过所述任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块;
当查询的公共模块的最低版本号高于所述公共模块的版本号时,确定需要再次更新所述公共模块。
在另一实施例中,在所述通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块之前,所述资源更新方法还包括:
判断所述指定子模块的上级模块是否需要更新;
当确定所述上级模块需要更新时,更新所述上级模块。
所述用户从所述上级模块进入所述指定子模块,当所述用户未进入所述指定子模块时,所述上级模块可以不是最新版本。当所述上级模块需要更新时,需要先更新所述上级模块。
106,当确定需要更新所述指定子模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块。
在一具体实施例中,所述根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块包括:
判断所述指定子模块是否存在依赖模块;
当确定所述指定子模块存在所述依赖模块时,根据所述依赖模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块的依赖模块,根据所述指定子模块的下载地址从所述内容分发服务器中获取第三更新数据包,根据所述第三更新数据包更新所述指定子模块;或
当确定所述指定子模块不存在依赖模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第三更新数据包,根据所述第三更新数据包更新所述指定子模块。
在另一实施例中,所述判断所述指定子模块是否存在依赖模块包括:
从所述版本更新表查询所述指定子模块的依赖模块标识;当所述指定子模块的依赖模块标识为空时,判断所述指定子模块不存在依赖模块;或
当所述指定子模块的依赖模块标识不为空时,判断所述指定子模块存在依赖模块。
在一具体实施例中,在所述根据所述依赖模块的下载地址从所述内容分发服务器中获取第二更新数据包之前,根据所述版本更新表判断是否需要更新所述依赖模块;当需要更新所述依赖模块时,根据所述依赖模块的下载地址从所述内容分发服务器中获取第二更新数据包。
所述依赖模块是实现所述指定子模块功能的必需模块。
根据所述指定子模块的下载地址从所述内容分发服务器中获取第三更新数据包,根据所述第三更新数据包更新所述指定子模块。例如,指定子模块的下载地址为URL地址2,则以URL地址2为参数,向内容分发服务器请求更新指定子模块,接收内容分发服务器返回的第三更新数据包;用返回的第三更新数据包更新本地的指定子模块。
实施例一的资源更新方法更新应用程序的WEB资源,当需要更新所述公共模块时,根据所述公共模块的下载地址从内容分发服务器更新所述公共模块;根据所述指定子模块的下载地址从所述内容分发服务器更新所述指定子模块。避免一次性更新全部的WEB资源,提升了更新应用程序的WEB资源的场景适应性,提升应用程序的性能。
在另一实施例中,所述资源更新方法还包括:
获取所述用户的网络传输速率和预设速率阈值;
判断所述用户的网络传输速率小于预设速率阈值;
当确定所述用户的网络传输速率小于预设速率阈值时,在预设第二时间阈值后,判断是否需要再次更新所述公共模块;
当确定需要再次更新所述公共模块时,根据所述公共模块的下载地址再次更新所述公共模块。
在另一实施例中,所述资源更新方法还包括:
在进入所述指定子模块后,判断是否需要再次更新所述公共模块;
当确定需要再次更新所述公共模块时,将所述公共模块加入待更新模块库;
采用尝试机制多次尝试更新所述待更新模块库中的模块,所述尝试机制能够根据所述待更新模块库中的模块的下载地址从所述内容分发服务器中多次获取第四更新数据包,根据所述第四更新数据包更新所述待更新模块库中的模块。
实施例二
图2是本发明实施例二提供的资源更新装置的结构图。所述资源更新装置20应用于计算机设备。所述资源更新装置20用于根据用户在各个网站的注册信息抽取出用户的标签。
如图2所示,所述资源更新装置20可以包括启动模块201、获取模块202、第一判断模块203、第一更新模块204、第二判断模块205、第二更新模块206。
启动模块201,用于启动基于HYBIRD框架的应用程序。
基于HYBIRD框架的应用程序主要是通过在原生应用中嵌入WEB网页来实现,实质是伪造一个浏览器的NATIVE应用程序,里面运行的是WEB应用程序。因此,HYBIRD框架的应用程序中除了具有原生页面,也具有网页(WEB)页面。网页页面是采用网页语言(例如第五代超文本标记语言,HyperTextMarkup Language5,html5)编写的网页。基于HYBIRD框架的应用程序中,WEB应用程序通常承载业务服务,NATIVE应用程序通常承载基础组件服务(如更新下载WEB资源)。
当接收到用户的触发指令时,启动基于HYBIRD框架的应用程序;或当间隔预设第一时间阈值时,自动启动基于HYBIRD框架的应用程序。
获取模块202,用于从业务服务器获取所述应用程序的WEB资源的版本更新表,所述应用程序的WEB资源包括公共模块和多个子模块,所述版本更新表包括多个模块的模块标识、版本号、依赖模块标识及下载地址。
例如,可以向业务服务器请求应用程序的版本更新表,接收业务服务器返回的版本更新表;其中,版本更新表包括模块一和模块二,模块一为公共模块,模块二为子模块;模块一的模块标识、版本号、依赖模块标识、下载地址分别为10100、1.1.0、null、URL地址1;模块二的模块标识、版本号、依赖模块标识、下载地址分别为10200、1.2.0、10100、URL地址2。
第一判断模块203,用于根据所述版本更新表判断是否需要更新所述公共模块。
在一具体实施例中,所述根据所述版本更新表判断是否需要更新所述公共模块包括:
从所述版本更新表中查找目标模块,所述目标模块的模块标识与所述公共模块的模块标识一致;
判断所述目标模块的版本号是否高于所述公共模块的版本号;
当所述目标模块的版本号高于所述公共模块的版本号时,确定需要更新所述公共模块;或
当所述目标模块的版本号低于或等于所述公共模块的版本号时,确定不需要更新所述公共模块。
例如,从版本更新表中查找模块标识与公共模块的模块标识(10100)一致的目标模块。目标模块的版本号为1.1.1,公共模块的版本号为1.1.0,判断目标模块的版本号高于所述公共模块的版本号,确定需要更新所述公共模块。
第一更新模块204,用于当需要更新所述公共模块时,根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块。
在一具体实施例中,所述根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块包括:
向所述内容分发服务器发送携带有所述公共模块的模块标识的数据请求,以使所述内容分发服务器根据所述公共模块的模块标识返回所述公共模块的第一更新数据包;
接收所述内容分发服务器返回的所述公共模块的第一更新数据包;
根据所述公共模块的第一更新数据包更新所述公共模块。
在另一实施例中,所述根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块包括:
根据所述公共模块的下载地址从所述内容分发服务器中获取增量数据包,根据所述增量数据包更新所述公共模块;或
根据所述公共模块的下载地址从所述内容分发服务器中获取全量数据包,根据所述全量数据包更新所述公共模块。
第二判断模块205,用于当接收到用户触发的进入指定子模块的指令时,通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块。
在一具体实施例中,所述通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块包括:
根据所述指定子模块的模块标识从所述最低支持版本查询接口查询所述指定子模块的最低版本号;
当查询的指定子模块的最低版本号高于所述指定子模块的版本号时,确定需要更新所述指定子模块;
当查询的指定子模块的最低版本号低于或等于所述指定子模块的版本号时,确定不需要更新所述指定子模块。
在另一实施例中,所述资源更新装置20还包括确定模块,用于当接收到用户触发的进入指定子模块的指令时,根据所述公共模块的模块标识从所述最低支持版本查询接口查询所述公共模块的最低版本号;当查询的公共模块的最低版本号低于或等于所述公共模块的版本号时,确定不需要再次更新所述公共模块,通过所述任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块;当查询的公共模块的最低版本号高于所述公共模块的版本号时,确定需要再次更新所述公共模块。
在另一实施例中,所述第一更新模块还用于在所述通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块之前,判断所述指定子模块的上级模块是否需要更新;当确定所述上级模块需要更新时,更新所述上级模块。所述用户从所述上级模块进入所述指定子模块,当所述用户未进入所述指定子模块时,所述上级模块可以不是最新版本。当所述上级模块需要更新时,需要先更新所述上级模块。
第二更新模块206,用于当确定需要更新所述指定子模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块。
在一具体实施例中,所述根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块包括:
判断所述指定子模块是否存在依赖模块;
当确定所述指定子模块存在所述依赖模块时,根据所述依赖模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块的依赖模块,根据所述指定子模块的下载地址从所述内容分发服务器中获取第三更新数据包,根据所述第三更新数据包更新所述指定子模块;或
当确定所述指定子模块不存在依赖模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第三更新数据包,根据所述第三更新数据包更新所述指定子模块。
在另一实施例中,所述判断所述指定子模块是否存在依赖模块包括:
从所述版本更新表查询所述指定子模块的依赖模块标识;当所述指定子模块的依赖模块标识为空时,判断所述指定子模块不存在依赖模块;或
当所述指定子模块的依赖模块标识不为空时,判断所述指定子模块存在依赖模块。
在一具体实施例中,在所述根据所述依赖模块的下载地址从所述内容分发服务器中获取第二更新数据包之前,根据所述版本更新表判断是否需要更新所述依赖模块;当需要更新所述依赖模块时,根据所述依赖模块的下载地址从所述内容分发服务器中获取第二更新数据包。
所述依赖模块是实现所述指定子模块功能的必需模块。
根据所述指定子模块的下载地址从所述内容分发服务器中获取第三更新数据包,根据所述第三更新数据包更新所述指定子模块。例如,指定子模块的下载地址为URL地址2,则以URL地址2为参数,向内容分发服务器请求更新指定子模块,接收内容分发服务器返回的第三更新数据包;用返回的第三更新数据包更新本地的指定子模块。
实施例二的资源更新装置20更新应用程序的WEB资源,当需要更新所述公共模块时,根据所述公共模块的下载地址从内容分发服务器更新所述公共模块;根据所述指定子模块的下载地址从所述内容分发服务器更新所述指定子模块。避免一次性更新全部的WEB资源,提升了更新应用程序的WEB资源的场景适应性,提升应用程序的性能。
在另一实施例中,所述资源更新装置20还包括修改模块,用于获取所述用户的网络传输速率和预设速率阈值;
判断所述用户的网络传输速率小于预设速率阈值;
当确定所述用户的网络传输速率小于预设速率阈值时,在预设第二时间阈值后,判断是否需要再次更新所述公共模块;
当确定需要再次更新所述公共模块时,根据所述公共模块的下载地址再次更新所述公共模块。
在另一实施例中,所述第二更新模块还用于在进入所述指定子模块后,判断是否需要再次更新所述公共模块;
当确定需要再次更新所述公共模块时,将所述公共模块加入待更新模块库;
采用尝试机制多次尝试更新所述待更新模块库中的模块,所述尝试机制能够根据所述待更新模块库中的模块的下载地址从所述内容分发服务器中多次获取第四更新数据包,根据所述第四更新数据包更新所述待更新模块库中的模块。
实施例三
本实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述资源更新方法实施例中的步骤,例如图1所示的步骤101-106:
101,启动基于HYBIRD框架的应用程序;
102,从业务服务器获取所述应用程序的WEB资源的版本更新表,所述应用程序的WEB资源包括公共模块和多个子模块,所述版本更新表包括多个模块的模块标识、版本号、依赖模块标识及下载地址;
103,根据所述版本更新表判断是否需要更新所述公共模块;
104,当需要更新所述公共模块时,根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块;
105,当接收到用户触发的进入指定子模块的指令时,通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块;
106,当确定需要更新所述指定子模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块。
或者,该计算机程序被处理器执行时实现上述装置实施例中各模块的功能,例如图2中的模块201-206:
启动模块201,用于启动基于HYBIRD框架的应用程序;
获取模块202,用于从业务服务器获取所述应用程序的WEB资源的版本更新表,所述应用程序的WEB资源包括公共模块和多个子模块,所述版本更新表包括多个模块的模块标识、版本号、依赖模块标识及下载地址;
第一判断模块203,用于根据所述版本更新表判断是否需要更新所述公共模块;
第一更新模块204,用于当需要更新所述公共模块时,根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块;
第二判断模块205,用于当接收到用户触发的进入指定子模块的指令时,通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块;
第二更新模块206,用于当确定需要更新所述指定子模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块。
实施例四
图3为本发明实施例三提供的计算机设备的示意图。所述计算机设备30包括存储器301、处理器302以及存储在所述存储器301中并可在所述处理器302上运行的计算机程序303,例如资源更新程序。所述处理器302执行所述计算机程序303时实现上述资源更新方法实施例中的步骤,例如图1所示的101-106:
101,启动基于HYBIRD框架的应用程序;
102,从业务服务器获取所述应用程序的WEB资源的版本更新表,所述应用程序的WEB资源包括公共模块和多个子模块,所述版本更新表包括多个模块的模块标识、版本号、依赖模块标识及下载地址;
103,根据所述版本更新表判断是否需要更新所述公共模块;
104,当需要更新所述公共模块时,根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块;
105,当接收到用户触发的进入指定子模块的指令时,通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块;
106,当确定需要更新所述指定子模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块。
或者,该计算机程序被处理器执行时实现上述装置实施例中各模块的功能,例如图2中的模块201-206:
启动模块201,用于启动基于HYBIRD框架的应用程序;
获取模块202,用于从业务服务器获取所述应用程序的WEB资源的版本更新表,所述应用程序的WEB资源包括公共模块和多个子模块,所述版本更新表包括多个模块的模块标识、版本号、依赖模块标识及下载地址;
第一判断模块203,用于根据所述版本更新表判断是否需要更新所述公共模块;
第一更新模块204,用于当需要更新所述公共模块时,根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块;
第二判断模块205,用于当接收到用户触发的进入指定子模块的指令时,通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块;
第二更新模块206,用于当确定需要更新所述指定子模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块。
示例性的,所述计算机程序303可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器301中,并由所述处理器302执行,以完成本方法。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序303在所述计算机设备30中的执行过程。例如,所述计算机程序303可以被分割成图2中的启动模块201、获取模块202、第一判断模块203、第一更新模块204、第二判断模块205、第二更新模块206,各模块具体功能参见实施例二。
本领域技术人员可以理解,所述示意图3仅仅是计算机设备30的示例,并不构成对计算机设备30的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机设备30还可以包括输入输出设备、网络接入设备、总线等。
所称处理器302可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器302也可以是任何常规的处理器等,所述处理器302是所述计算机设备30的控制中心,利用各种接口和线路连接整个计算机设备30的各个部分。
所述存储器301可用于存储所述计算机程序303,所述处理器302通过运行或执行存储在所述存储器301内的计算机程序或模块,以及调用存储在存储器301内的数据,实现所述计算机设备30的各种功能。所述存储器301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备30的使用所创建的数据(比如音频数据等)等。此外,存储器301可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
所述计算机设备30集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述资源更新方法的部分步骤。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他模块或步骤,单数不排除复数。系统权利要求中陈述的多个模块或装置也可以由一个模块或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (6)
1.一种资源更新方法,其特征在于,所述资源更新方法包括:
启动基于HYBIRD框架的应用程序;
从业务服务器获取所述应用程序的WEB资源的版本更新表,所述应用程序的WEB资源包括公共模块和多个子模块,所述版本更新表包括多个模块的模块标识、版本号、依赖模块标识及下载地址;
根据所述版本更新表判断是否需要更新所述公共模块;
当需要更新所述公共模块时,根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块;
当接收到用户触发的进入指定子模块的指令时,判断所述指定子模块的上级模块是否需要更新;当确定所述上级模块需要更新时,更新所述上级模块;通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块;
当确定需要更新所述指定子模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块;在进入所述指定子模块后,判断是否需要再次更新所述公共模块;当确定需要再次更新所述公共模块时,将所述公共模块加入待更新模块库;采用尝试机制多次尝试更新所述待更新模块库中的模块,所述尝试机制能够根据所述待更新模块库中的模块的下载地址从所述内容分发服务器中多次获取第四更新数据包,根据所述第四更新数据包更新所述待更新模块库中的模块;
其中,所述根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块包括:
判断所述指定子模块是否存在依赖模块,包括:从所述版本更新表查询所述指定子模块的依赖模块标识;当所述指定子模块的依赖模块标识为空时,判断所述指定子模块不存在依赖模块;或当所述指定子模块的依赖模块标识不为空时,判断所述指定子模块存在依赖模块;
当确定所述指定子模块存在所述依赖模块时,根据所述依赖模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块的依赖模块,根据所述指定子模块的下载地址从所述内容分发服务器中获取第三更新数据包,根据所述第三更新数据包更新所述指定子模块;或当确定所述指定子模块不存在依赖模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第三更新数据包,根据所述第三更新数据包更新所述指定子模块。
2.如权利要求1所述的资源更新方法,其特征在于,所述根据所述版本更新表判断是否需要更新所述公共模块包括:
从所述版本更新表中查找目标模块,所述目标模块的模块标识与所述公共模块的模块标识一致;
判断所述目标模块的版本号是否高于所述公共模块的版本号;
当所述目标模块的版本号高于所述公共模块的版本号时,确定需要更新所述公共模块;或
当所述目标模块的版本号低于或等于所述公共模块的版本号时,确定不需要更新所述公共模块。
3.如权利要求1所述的资源更新方法,其特征在于,所述根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块包括:
根据所述公共模块的下载地址从所述内容分发服务器中获取增量数据包,根据所述增量数据包更新所述公共模块;或
根据所述公共模块的下载地址从所述内容分发服务器中获取全量数据包,根据所述全量数据包更新所述公共模块。
4.一种资源更新装置,其特征在于,所述资源更新装置包括:
启动模块,用于启动基于HYBIRD框架的应用程序;
获取模块,用于从业务服务器获取所述应用程序的WEB资源的版本更新表,所述应用程序的WEB资源包括公共模块和多个子模块,所述版本更新表包括多个模块的模块标识、版本号、依赖模块标识及下载地址;
第一判断模块,用于根据所述版本更新表判断是否需要更新所述公共模块;
第一更新模块,用于当需要更新所述公共模块时,根据所述公共模块的下载地址从内容分发服务器中获取第一更新数据包,根据所述第一更新数据包更新所述公共模块;还用于判断指定子模块的上级模块是否需要更新;当确定所述上级模块需要更新时,更新所述上级模块;
第二判断模块,用于当接收到用户触发的进入指定子模块的指令时,通过任务服务器的最低支持版本查询接口判断是否需要更新所述指定子模块;
第二更新模块,用于当确定需要更新所述指定子模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块;还用于在进入所述指定子模块后,判断是否需要再次更新所述公共模块;当确定需要再次更新所述公共模块时,将所述公共模块加入待更新模块库;采用尝试机制多次尝试更新所述待更新模块库中的模块,所述尝试机制能够根据所述待更新模块库中的模块的下载地址从所述内容分发服务器中多次获取第四更新数据包,根据所述第四更新数据包更新所述待更新模块库中的模块;
其中,所述根据所述指定子模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块包括:
判断所述指定子模块是否存在依赖模块,包括:从所述版本更新表查询所述指定子模块的依赖模块标识;当所述指定子模块的依赖模块标识为空时,判断所述指定子模块不存在依赖模块;或当所述指定子模块的依赖模块标识不为空时,判断所述指定子模块存在依赖模块;
当确定所述指定子模块存在所述依赖模块时,根据所述依赖模块的下载地址从所述内容分发服务器中获取第二更新数据包,根据所述第二更新数据包更新所述指定子模块的依赖模块,根据所述指定子模块的下载地址从所述内容分发服务器中获取第三更新数据包,根据所述第三更新数据包更新所述指定子模块;或当确定所述指定子模块不存在依赖模块时,根据所述指定子模块的下载地址从所述内容分发服务器中获取第三更新数据包,根据所述第三更新数据包更新所述指定子模块。
5.一种计算机设备,其特征在于,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至3中任一项所述资源更新方法。
6.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述资源更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010719940.1A CN111857781B (zh) | 2020-07-23 | 2020-07-23 | 资源更新方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010719940.1A CN111857781B (zh) | 2020-07-23 | 2020-07-23 | 资源更新方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111857781A CN111857781A (zh) | 2020-10-30 |
CN111857781B true CN111857781B (zh) | 2022-06-10 |
Family
ID=72950685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010719940.1A Active CN111857781B (zh) | 2020-07-23 | 2020-07-23 | 资源更新方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111857781B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416459B (zh) * | 2020-11-23 | 2024-03-01 | 杭州当虹科技股份有限公司 | 一种解决微服务之间版本强依赖的系统 |
CN113312032B (zh) * | 2021-06-25 | 2023-06-09 | 深圳须弥云图空间科技有限公司 | 前端项目资源更新方法、装置、电子设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015074467A1 (zh) * | 2013-11-25 | 2015-05-28 | 腾讯科技(深圳)有限公司 | 一种数据更新方法、装置、系统及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102724308A (zh) * | 2012-06-13 | 2012-10-10 | 腾讯科技(深圳)有限公司 | 软件更新方法及软件更新系统 |
CN106569844B (zh) * | 2016-09-23 | 2020-05-12 | 北京五八信息技术有限公司 | 程序代码更新的处理方法、装置和设备 |
CN107203395A (zh) * | 2017-05-19 | 2017-09-26 | 北京京东尚科信息技术有限公司 | 资源升级方法、装置及计算机可读存储介质和电子设备 |
CN108984224A (zh) * | 2018-06-13 | 2018-12-11 | 中国平安人寿保险股份有限公司 | 一种插件管理方法、计算机可读存储介质及终端设备 |
CN109471653B (zh) * | 2018-09-29 | 2022-06-17 | 阿波罗智联(北京)科技有限公司 | 应用程序的更新方法、电子设备、服务器和存储介质 |
CN110231948B (zh) * | 2019-06-10 | 2024-02-13 | 腾讯科技(成都)有限公司 | 应用程序方法、装置、系统、存储介质和计算机设备 |
CN110262821A (zh) * | 2019-06-14 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种软件模块的管理方法、装置及服务器 |
CN110275723A (zh) * | 2019-06-25 | 2019-09-24 | 北京字节跳动网络技术有限公司 | 获取资源的方法、装置、电子设备及可读介质 |
CN111209016B (zh) * | 2019-10-21 | 2023-08-22 | 江苏卓易信息科技股份有限公司 | 一种移动应用远程资源灰度更新的方法 |
-
2020
- 2020-07-23 CN CN202010719940.1A patent/CN111857781B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015074467A1 (zh) * | 2013-11-25 | 2015-05-28 | 腾讯科技(深圳)有限公司 | 一种数据更新方法、装置、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111857781A (zh) | 2020-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9444899B2 (en) | Use of internet information services logging to collect user information in an asynchronous manner | |
US9158532B2 (en) | Methods for managing applications using semantic modeling and tagging and devices thereof | |
CN111414407A (zh) | 数据库的数据查询方法、装置、计算机设备及存储介质 | |
CN109194714B (zh) | 一种文案推送方法、装置、终端设备及存储介质 | |
CN110187880B (zh) | 一种同类元素识别方法、装置和计算设备 | |
CN111857781B (zh) | 资源更新方法及相关设备 | |
CN105745646A (zh) | 本机应用程序搜索结果 | |
CN103383687A (zh) | 一种页面处理方法和装置 | |
CN110941779B (zh) | 加载页面的方法、装置、存储介质及电子设备 | |
CN110321503B (zh) | 一种web组件缓存方法、装置及电子设备 | |
CN111068328A (zh) | 游戏广告配置表格的生成方法、终端设备及介质 | |
US10242102B2 (en) | Network crawling prioritization | |
US9292613B2 (en) | Generation of generic universal resource indicators | |
CN111736922B (zh) | 插件调用方法、装置、电子设备及存储介质 | |
CN112182014A (zh) | 数据库查询方法、装置、设备及存储介质 | |
CN115098098A (zh) | 页面生成方法、页面展示方法及装置 | |
US20140244646A1 (en) | Processing webpage data | |
US10956430B2 (en) | User-driven adaptation of rankings of navigation elements | |
CN112559913B (zh) | 一种数据处理方法、装置、计算设备及可读存储介质 | |
CN113900907A (zh) | 一种映射构建方法和系统 | |
CN113569257A (zh) | 灰度发布中的用户权限管理方法和装置 | |
CN111538645B (zh) | 数据可视化方法及相关设备 | |
CN111367519B (zh) | 页面零件化使用方法、装置、计算设备及计算机存储介质 | |
US11176134B2 (en) | Navigation paths between content items | |
CN115203672A (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 |