CN111538926A - 一种离线包自动发布方法、装置、电子设备及存储介质 - Google Patents
一种离线包自动发布方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111538926A CN111538926A CN202010313719.6A CN202010313719A CN111538926A CN 111538926 A CN111538926 A CN 111538926A CN 202010313719 A CN202010313719 A CN 202010313719A CN 111538926 A CN111538926 A CN 111538926A
- Authority
- CN
- China
- Prior art keywords
- page
- offline package
- offline
- package
- issuing
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000003068 static effect Effects 0.000 claims abstract description 68
- 238000010276 construction Methods 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 description 32
- 238000007726 management method Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 11
- 238000004590 computer program Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011981 development test Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供了一种离线包自动发布方法、装置、电子设备及存储介质,该方法在页面构建平台预先存储与不同页面应用一一对应的离线包配置策略,在页面应用发布完毕后自动向离线管理平台发出包含离线包配置策略的离线包发布通知。先依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合,再下载所述静态资源集合并生成离线包,将所述离线包上传到指定服务器进行发布。本公开在页面项上线后即时按照预定义策略自动制作发布离线包,发布周期较短,且减少人为操作流程,降低人为操作风险。
Description
技术领域
本公开涉及互联网领域,尤其涉及一种离线包自动发布方法、装置、电子设备及存储介质。
背景技术
随着H5(HyperText Markup Language 5、超文本标记语言的第五个版本)技术的发展,H5页面应用的开发范围越来越广泛,如使用H5来开发网页、制作小程序、小游戏以及营销等。
在移动端APP中打开H5页面应用时,会受到资源的文件大小,网络环境、手机性能等多方面因素影响,从点击进入到完全能浏览操作页面整个过程所需时间是不确定的。为了减少用户的等待时间,提高用户体验,需要对页面所需的图片、样式等文件进行缓存。
H5离线包即是H5页面应用的静态资源缓存包,将页面内静态资源打包到一个离线包内。将离线包预先下载到本地,打开H5页面应用时,APP自动从本地读取资源,减少请求下载时间。
每次H5页面功能有了更新迭代后,都需要重新生成离线包。从页面应用上线到重新生成发布离线包,整个流程较长。现有技术均为人工操作,导致发布周期长、有人工误操作风险。
发明内容
针对上述技术问题,本公开实施例提供一种离线包自动发布方法,技术方案如下:
根据本公开实施例的第一方面,提供一种离线包自动发布方法,应用于离线包管理平台,包括:
接收包含离线包配置策略的离线包发布通知,所述离线包发布通知为页面构建平台在确定页面应用发布完毕后自动发出的,其中,页面构建平台预先存储了与不同页面应用一一对应的离线包配置策略;
依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合;
下载所述静态资源集合并生成离线包,将所述离线包上传到指定服务器进行发布。
可选的,所述将所述离线包上传到指定服务器后,还包括:
依据所述离线包配置策略生成更新规则,当客户端命中所述更新规则后,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息,以使所述用户端依据所述离线包地址信息下载所述离线包。可选的,所述依据所述离线包配置策略生成更新规则,当客户端命中所述更新规则后,,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息,包括:
从所述离线包配置策略中提取出离线包标识与离线包加载需求;
在依据所述离线包标识信息确定出客户端未下载过所述离线包时,获取客户端的当前网络情况;
若所述客户端的当前网络情况符合所述离线包加载需求,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息。可选的,所述依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合,包括:
在所述离线包配置策略中提取出所述页面应用的页面URL信息,根据所述页面URL信息确定页面应用对应的页面代码;
对所述页面代码进行遍历,在所述页面代码中的其中一个代码段命中预定义的静态资源解析规则后,提取所述代码段中包含的静态资源地址信息;
遍历完成后,将提取出的静态资源地址信息确定为所述页面应用所加载的静态资源集合。
可选的,所述页面应用的离线包配置策略,包括:
离线包名称、离线包标识、页面URL信息、离线包加载需求和/或配置认证信息。
可选的,所述页面应用的静态资源,包括:
页面应用所加载的js资源、css资源、音视频资源、图片资源和/或字体资源。
可选的,所述基于所述离线包配置策略确定所述页面应用对应的页面代码前,还包括:
提取所述离线包配置策略中包含页面应用标识信息以及对应的第二配置认证信息;
基于所述页面应用标识信息在离线包管理平台查找到预先存储的对应所述页面应用的第一配置认证信息;
将接收到的第二页面配置认证信息与预先存储的第一页面配置认证信息进行匹配,在匹配成功后继续后续离线包发布流程。
可选的,所述将所述离线包上传到指定服务器后,还包括:
从所述指定服务器获取可被测试端访问的离线包地址信息,生成包括所述离线包地址信息的测试消息,向预定义的测试接口发送所述测试消息,以使所述测试端下载所述离线包并对所述离线包进行测试。
根据本公开实施例的第二方面,提供一种离线包自动发布装置,应用于离线包管理平台,包括:
配置启动模块,被配置为接收包含离线包配置策略的离线包发布通知,所述离线包发布通知为页面构建平台在确定页面应用发布完毕后自动发出的,其中,页面构建平台预先存储了与不同页面应用一一对应的离线包配置策略;
资源确定模块,被配置为依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合;
离线包发布模块,被配置为下载所述静态资源集合并生成离线包,将所述离线包上传到指定服务器进行发布。
可选的,所述离线包自动发布装置,还包括:
离线包下发模块:被配置为依据所述离线包配置策略生成更新规则,当客户端命中所述更新规则后,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息,以使所述用户端依据所述离线包地址信息下载所述离线包。
可选的,所述离线包下发模块,在依据所述离线包配置策略生成更新规则,当客户端命中所述更新规则后,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息时,被配置为:
从所述离线包配置策略中提取出离线包标识与离线包加载需求;
在依据所述离线包标识信息确定出客户端未下载过所述离线包时,获取客户端的当前网络情况;
若所述客户端的当前网络情况符合所述离线包加载需求,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息。
可选的,所述资源确定模块,在依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合时,被配置为:
在所述离线包配置策略中提取出所述页面应用的页面URL信息,根据所述页面URL信息确定页面应用对应的页面代码;
对所述页面代码进行遍历,在所述页面代码中的其中一个代码段命中预定义的静态资源解析规则后,提取所述代码段中包含的静态资源地址信息;
遍历完成后,将提取出的静态资源地址信息确定为所述页面应用所加载的静态资源集合。
可选的,所述页面应用的离线包配置策略,包括:
离线包名称、离线包标识、页面URL信息、离线包加载需求和/或配置认证信息。
可选的,所述页面应用的静态资源,包括:
页面应用所加载的js资源、css资源、音视频资源、图片资源和/或字体资源。
可选的,所述离线包自动发布装置,还包括认证模块,被配置为:
提取所述离线包配置策略中包含页面应用标识信息以及对应的第二配置认证信息;
基于所述页面应用标识信息在离线包管理平台查找到预先存储的对应所述页面应用的第一配置认证信息;
将接收到的第二页面配置认证信息与预先存储的第一页面配置认证信息进行匹配,在匹配成功后继续后续离线包发布流程。
可选的,所述离线包自动发布装置,还包括测试通知模块,被配置为:
从所述指定服务器获取可被测试端访问的离线包地址信息,生成包括所述离线包地址信息的测试消息,向预定义的测试接口发送所述测试消息,以使所述测试端下载所述离线包并对所述离线包进行测试。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如第一方面所述的离线包自动发布方法
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的离线包自动发布方法。
本公开实施例提供了一种离线包自动发布方法、装置、电子设备及存储介质。该方法在页面构建平台预先存储与不同页面应用一一对应的离线包配置策略,在页面应用发布完毕后自动向离线管理平台发出包含离线包配置策略的离线包发布通知。先依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合,再下载所述静态资源集合并生成离线包,将所述离线包上传到指定服务器进行发布。本公开在页面项上线后即时按照预定义策略自动制作发布离线包,发布周期较短,且减少人为操作流程,降低人为操作风险。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开实施例。
此外,本公开实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本公开一示例性实施例示出的离线包自动发布方法的一种流程图;
图2是本公开一示例性实施例示出的静态资源集合确定方法的一种流程图;
图3是本公开一示例性实施例示出的离线包下发方法的一种流程图;
图4是本公开一示例性实施例示出的离线包自动发布装置的一种示意图;
图5是本公开一示例性实施例示出的电子设备的一种示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着H5(HyperText Markup Language 5、超文本标记语言的第五个版本)技术的发展,H5页面应用的开发范围越来越广泛,如使用H5来开发网页、制作小程序、小游戏以及营销等。
在移动端APP中打开H5页面应用时,会受到资源的文件大小,网络环境、手机性能等多方面因素影响,从点击进入到完全能浏览操作页面整个过程所需时间是不确定的。为了减少用户的等待时间,提高用户体验,需要对页面所需的图片、样式等文件进行缓存。
H5离线包即是H5页面应用的静态资源缓存包,将页面内静态资源打包到一个离线包内。将离线包预先下载到本地,打开H5页面应用时,APP自动从本地读取资源,减少请求下载时间。
每次H5页面功能有了更新迭代后,都需要重新生成离线包。从页面应用上线到重新生成发布离线包,整个流程较长。现有技术均为人工操作,导致发布周期长、有人工误操作风险。
基于此,本公开提供了一种离线包自动发布方法,以及应用所述离线包自动发布方法的离线包发布设备,首先对该离线包自动发布方法进行说明。参见图1,应用于离线包管理平台,包括以下步骤S101~S103:
在步骤S101中,接收包含离线包配置策略的离线包发布通知,所述离线包发布通知为页面构建平台检测到页面应用发布完毕后自动发出的,其中,页面构建平台预先存储了与不同页面应用一一对应的离线包配置策略;
本步骤涉及的页面构建平台可以为现有的编译构建发布平台,如Jenkins平台等,也可使用自定义的页面构建平台。页面构建平台用于对页面应用进行代码编译,功能构建,以及在编译构建完成后对页面应用进行发布。
在本说明书一实施例中,该页面应用的新的项目代码开发测试完成后,可将新代码发送到推送到页面构建平台的代码仓库进行页面应用的发布,在页面应用发布完成后,用户可通过页面网址对更改后的页面应用进行访问。
其中,每个页面应用对应有预先存储的离线包配置策略,该离线包配置策略用于支持页面应用发布后的离线包的生成和发布。
在本公开一实施例中,离线包配置策略中可包括离线包名称,离线包标识,页面应用URL信息、离线包加载需求和/或配置认证信息。
其中,离线包名称即离线包的命名信息;离线包标识即离线包的ID信息;页面应用URL信息即该离线包所对应页面应用的可访问网址信息;
离线包加载需求即客户端自动加载离线包的具体条件,通常情况下,离线包加载需求分为有WiFi加载需求以及无WiFi加载需求,即1)客户端处于WiFi环境下时,符合离线包加载需求,自动加载该离线包,客户端未处于WiFi环境下则不自动加载该离线包,2)客户端未处于WiFi环境下,如处于4G环境下时,符合离线包加载需求,自动加载该离线包。
即如果加载需求信息配置为“仅WiFi”,则只有在客户端WiFi网络时会在后台自动下载离线包。如果加载需求信息配置为“所有网络都下载”,则在非WiFi网络时会消耗用户流量自动下载。
配置认证信息通常为token信息,该页面构建平台的token信息可与离线包管理平台预先存储的token信息进行匹配,在匹配通过后方继续离线包生成发布流程。
具体而言,离线包配置策略可以是自动预先生成的,也可以是用户预先配置的。举例说明自动生成方式:离线包可依据名称生成规则自动生成,离线包标识可依据ID生成规则生成,页面应用URL信息可从原有页面地址数据中取得,离线包加载需求在无特殊需求的请求的情况下依据默认方式设置(默认方式通常为:客户端处于WIFI状态下方可自动加载离线包),配置认证信息可从已经设置好的token数据中取得。
在本公开一实施例中,离线包配置策略可以预先存储在页面构建平台上,每个离线包配置策略都与页面应用一一对应,在新的页面代码完成并发布更新后的页面应用后,该发布行为触发页面构建平台的离线包生成通知功能,将对应的离线包配置策略传递给离线包管理平台。具体而言,可调用离线包管理平台的自动发布离线包接口,将对应的离线包配置策略传递给该接口。
在本公开的另一实施例中,离线包配置策略也可预先存储在离线包管理平台中,当页面构建平台的新的页面代码完成并发布更新后的页面应用后,该发布行为触发页面构建平台的离线包生成通知功能,将页面应用的发布完毕消息通知给离线包管理平台,由离线包管理平台基于页面应用查找到对应的离线包配置策略。
在本公开的另一实施例中,发布行为触发页面构建平台的离线包生成通知功能的具体实现可采用但不限于hook方式,即添加钩子函数,在对特定的事件进行hook后,一旦发生已hook事件,对该事件进行hook的程序就会收到系统的通知,这时程序就能在第一时间对该事件做出响应。
在步骤S102中,依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合;
针对H5网页应用,使用离线包可以提升用户体验。通过离线包的方式把页面内静态资源嵌入到应用中并发布,当用户第一次开启应用的时候,就无需依赖网络环境下载该资源,而是马上开始使用该页面应用。且可实现页面应用的动态更新,在页面应用推出新版本或是紧急发布的时候,可将修改的资源放入离线包,通过更新配置使页面应用自动下载更新。
当H5容器发出资源请求时,其访问本地资源或线上资源所使用的URL是一致的。H5容器会先截获该请求,截获请求后,如果本地有资源可以满足该请求的话,H5容器会使用本地资源。如果没有可以满足请求的本地资源,H5容器会使用线上资源。
在一实施例中,执行步骤S102时,可以采用但不限于以下方式之一:
(1-1)在所述离线包配置策略中提取出所述页面应用的页面URL信息,根据所述页面URL信息确定页面应用对应的页面代码;
(1-2)对所述页面代码进行遍历,在所述页面代码中的其中一个代码段命中预定义的静态资源解析规则后,提取所述代码段中包含的静态资源地址信息;
(1-3)遍历完成后,将提取出的静态资源地址信息确定为所述页面应用所加载的静态资源集合。
其中,步骤(1-1)到步骤(1-3)的具体实施方式,可详见图2所述实施例。
在一实施例中,执行步骤S102前,还可先执行下述步骤:
(4-1)提取所述离线包配置策略中包含页面应用标识信息以及对应的第二配置认证信息;
(4-2)基于所述页面应用标识信息在离线包管理平台查找到预先存储的对应所述页面应用的第一配置认证信息;
(4-3)将接收到的第二页面配置认证信息与预先存储的第一页面配置认证信息进行匹配,在匹配成功后继续后续离线包发布流程。
具体而言,在离线包构建前,先使用传递的token值(Token是在服务端产生的。如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务端会返回Token给前端。前端可以在每次请求的时候带上Token证明自己的合法地位)进行鉴权,鉴权通过进行后续构建发布流程,否则退出并提示发布失败。
在步骤S103中,下载所述静态资源集合并生成离线包,将所述离线包上传到指定服务器进行发布。
在本公开一实施例中,可将离线包上传到CDN进行发布,CDN是一种新型网络内容服务体系,其基于IP(Internet Protocol,网络之间的互连协议)网络而构建。通过在网络各处放置节点服务器,在现有的互联网基础之上构成一层智能虚拟网络。CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。使用户可就近取得所需内容,解决Internet(因特网)网络拥挤的状况,提高用户访问网站的响应速度。
在一实施例中,执行步骤S103后,还可继续执行下述步骤:
(2-1)依据上传结果获取可访问的离线包地址信息;
(2-2)依据所述离线包配置策略生成更新规则,当客户端命中所述更新规则后,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息,以使所述用户端依据所述离线包地址信息下载所述离线包。
在步骤(2-2)中,依据所述离线包配置策略生成更新规则,当客户端命中所述更新规则后,,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息,可以采用但不限于以下方式:
(3-1)从所述离线包配置策略中提取出离线包标识与离线包加载需求;
(3-2)在依据所述离线包标识信息确定出客户端未下载过所述离线包时,获取客户端的当前网络情况;
(3-3)若所述客户端的当前网络情况符合所述离线包加载需求,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息。
其中,步骤(3-1)到步骤(3-3)的具体实施方式,可详见图3所述实施例。
图2是根据一示例性实施例示出的静态资源集合确定方法的流程图,建立在图1所示方法的基础上,如图2所示,可以包括以下步骤S201-步骤S203:
在步骤S201中,在所述离线包配置策略中提取出所述页面应用的页面URL信息,根据所述页面URL信息确定页面应用对应的页面代码;
在步骤S202中,对所述页面代码进行遍历,在所述页面代码中的其中一个代码段命中预定义的静态资源解析规则后,提取所述代码段中包含的静态资源地址信息;
在步骤S203中,遍历完成后,将提取出的静态资源地址信息确定为所述页面应用所加载的静态资源集合。
在本实施例中,可从离线包配置在所述离线包配置策略中提取出所述页面应用的页面URL信息,根据所述页面URL信息确定页面应用对应的页面代码,对页面代码进行解析后确定页面所加载的静态资源集合。
具体而言,所述页面应用的静态资源,可包括页面应用所加载的js资源、css资源、音视频资源、图片资源和/或字体资源,等等。
在本公开一实施例中,预定义的静态资源解析规则可能包括js资源解析规则、css资源解析规则、音视频资源解析规则、图片资源解析规则和/或字体资源解析规则等等。在对页面代码进行遍历解析的过程中,当其中一个代码段命中任一种静态资源解析规则后,即可将这个代码段确定为静态资源代码,并提取出这个代码段中包含的静态资源地址信息。
图3是根据一示例性实施例示出的离线包下发方法的流程图,建立在图1所示方法的基础上,如图3所示,可以包括以下步骤S301-步骤S303:
在步骤S301中,从所述离线包配置策略中提取出离线包标识与离线包加载需求;
在步骤S302中,在依据所述离线包标识信息确定出客户端未下载过所述离线包时,获取客户端的当前网络情况;
在步骤S303中,若所述客户端的当前网络情况符合所述离线包加载需求,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息。
具体而言,离线包地址信息为:客户端能够获取到离线包资源的服务器节点的IP地址信息。将生成的zip包上传到指定服务器后,可得到对应可访问的压缩包地址,基于压缩包地址结合离线包标识、离线包加载需求等信息,生成离线包更新规则。当用户命中更新规则后,服务端将下发离线包配置信息,用户即可下载到对应版本的离线包资源。
在将离线包进行发布后,还可依据离线包上传结果生成测试消息,向预定义的测试接口发送所述测试消息,以对所述离线包进行测试验证,避免离线包出现功能问题。具体而言,当离线包发布完成后,可向对应项目的研发、产品人员推送相关信息,也可向预先设置的自动测试平台发送相关信息,以便及时回测验证功能。
具体而言,可从所述指定服务器获取可被测试端访问的离线包地址信息,生成包括所述离线包地址信息的测试消息,向预定义的测试接口发送所述测试消息,以使所述测试端下载所述离线包并对所述离线包进行测试。
由上述可知,本公开实施例提供的离线包自动发布方法,在页面构建平台预先存储与不同页面应用一一对应的离线包配置策略,在页面应用发布完毕后自动向离线管理平台发出包含离线包配置策略的离线包发布通知。先依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合,再下载所述静态资源集合并生成离线包,将所述离线包上传到指定服务器进行发布。本公开在页面项上线后即时按照预定义策略自动制作发布离线包,发布周期较短,且减少人为操作流程,降低人为操作风险。
相应于上述方法实施例,本公开实施例还提供一种离线包自动发布装置,参见图4所示,所述装置可以包括:
配置启动模块410,被配置为接收包含离线包配置策略的离线包发布通知,所述离线包发布通知为页面构建平台在确定页面应用发布完毕后自动发出的,其中,页面构建平台预先存储了与不同页面应用一一对应的离线包配置策略;
资源确定模块420,被配置为依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合;
离线包发布模块430,被配置为下载所述静态资源集合并生成离线包,将所述离线包上传到指定服务器进行发布。
可选的,所述离线包自动发布装置,还包括:
离线包下发模块:被配置为依据所述离线包配置策略生成更新规则,当客户端命中所述更新规则后,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息,以使所述用户端依据所述离线包地址信息下载所述离线包。。
可选的,所述离线包下发模块,在依据所述离线包配置策略生成更新规则,当客户端命中所述更新规则后,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息时,被配置为:
从所述离线包配置策略中提取出离线包标识与离线包加载需求;
在依据所述离线包标识信息确定出客户端未下载过所述离线包时,获取客户端的当前网络情况;
若所述客户端的当前网络情况符合所述离线包加载需求,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息。
可选的,所述资源确定模块,在依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合时,被配置为:
在所述离线包配置策略中提取出所述页面应用的页面URL信息,根据所述页面URL信息确定页面应用对应的页面代码;
对所述页面代码进行遍历,在所述页面代码中的其中一个代码段命中预定义的静态资源解析规则后,提取所述代码段中包含的静态资源地址信息;
遍历完成后,将提取出的静态资源地址信息确定为所述页面应用所加载的静态资源集合。
可选的,所述页面应用的离线包配置策略,包括:
离线包名称、离线包标识、页面URL信息、离线包加载需求和/或配置认证信息。
可选的,所述页面应用的静态资源,包括:
页面应用所加载的js资源、css资源、音视频资源、图片资源和/或字体资源。
可选的,所述离线包自动发布装置,还包括认证模块,被配置为:
提取所述离线包配置策略中包含页面应用标识信息以及对应的第二配置认证信息;
基于所述页面应用标识信息在离线包管理平台查找到预先存储的对应所述页面应用的第一配置认证信息;
将接收到的第二页面配置认证信息与预先存储的第一页面配置认证信息进行匹配,在匹配成功后继续后续离线包发布流程。
可选的,所述离线包自动发布装置,还包括测试通知模块,被配置为:
从所述指定服务器获取可被测试端访问的离线包地址信息,生成包括所述离线包地址信息的测试消息,向预定义的测试接口发送所述测试消息,以使所述测试端下载所述离线包并对所述离线包进行测试。
本公开实施例还提供一种电子设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述离线包自动发布方法,所述方法包括:
接收包含离线包配置策略的离线包发布通知,所述离线包发布通知为页面构建平台在确定页面应用发布完毕后自动发出的,其中,页面构建平台预先存储了与不同页面应用一一对应的离线包配置策略;
依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合;
下载所述静态资源集合并生成离线包,将所述离线包上传到指定服务器进行发布。
图5示出了根据本公开的一示例性实施例的基于主设备侧电子设备的示意结构图。请参考图5,在硬件层面,该电子设备包括处理器502、内部总线504、网络接口506、内存508以及非易失性存储器510,当然还可能包括其他业务所需要的硬件。处理器502从非易失性存储器510中读取对应的计算机程序到内存502中然后运行,在逻辑层面上形成执行离线包自动发布方法的装置。当然,除了软件实现方式之外,本公开并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的离线包自动发布方法,所述方法包括:
接收包含离线包配置策略的离线包发布通知,所述离线包发布通知为页面构建平台在确定页面应用发布完毕后自动发出的,其中,页面构建平台预先存储了与不同页面应用一一对应的离线包配置策略;
依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合;
下载所述静态资源集合并生成离线包,将所述离线包上传到指定服务器进行发布。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁存储设备存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
以上所述仅是本公开实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开实施例的保护范围。
Claims (10)
1.一种离线包自动发布方法,应用于离线包管理平台,其特征在于,包括:
接收包含离线包配置策略的离线包发布通知,所述离线包发布通知为页面构建平台在确定页面应用发布完毕后自动发出的,其中,页面构建平台预先存储了与不同页面应用一一对应的离线包配置策略;
依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合;
下载所述静态资源集合并生成离线包,将所述离线包上传到指定服务器进行发布。
2.如权利要求1所述的离线包自动发布方法,其特征在于,所述将所述离线包上传到指定服务器后,还包括:
依据所述离线包配置策略生成更新规则,当客户端命中所述更新规则后,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息,以使所述用户端依据所述离线包地址信息下载所述离线包。
3.如权利要求2所述的离线包自动发布方法,其特征在于,所述依据所述离线包配置策略生成更新规则,当客户端命中所述更新规则后,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息,包括:
从所述离线包配置策略中提取出离线包标识与离线包加载需求;
在依据所述离线包标识信息确定出客户端未下载过所述离线包时,获取客户端的当前网络情况;
若所述客户端的当前网络情况符合所述离线包加载需求,从所述指定服务器获取可被用户端访问的离线包地址信息,向用户端下发所述离线包地址信息。
4.如权利要求1所述的离线包自动发布方法,其特征在于,所述依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合,包括:
在所述离线包配置策略中提取出所述页面应用的页面URL信息,根据所述页面URL信息确定页面应用对应的页面代码;
对所述页面代码进行遍历,在所述页面代码中的其中一个代码段命中预定义的静态资源解析规则后,提取所述代码段中包含的静态资源地址信息;
遍历完成后,将提取出的静态资源地址信息确定为所述页面应用所加载的静态资源集合。
5.如权利要求1所述的离线包自动发布方法,其特征在于,所述页面应用的离线包配置策略,包括:
离线包名称、离线包标识、页面URL信息、离线包加载需求和/或配置认证信息。
6.如权利要求1所述的离线包自动发布方法,其特征在于,所述页面应用的静态资源,包括:
页面应用所加载的js资源、css资源、音视频资源、图片资源和/或字体资源。
7.如权利要求1所述的离线包自动发布方法,其特征在于,所述基于所述离线包配置策略确定所述页面应用对应的页面代码前,还包括:
提取所述离线包配置策略中包含页面应用标识信息以及对应的第二配置认证信息;
基于所述页面应用标识信息在离线包管理平台查找到预先存储的对应所述页面应用的第一配置认证信息;
将接收到的第二页面配置认证信息与预先存储的第一页面配置认证信息进行匹配,在匹配成功后继续后续离线包发布流程。
8.一种离线包自动发布装置,应用于离线包管理平台,其特征在于,包括:
配置启动模块,被配置为接收包含离线包配置策略的离线包发布通知,所述离线包发布通知为页面构建平台在确定页面应用发布完毕后自动发出的,其中,页面构建平台预先存储了与不同页面应用一一对应的离线包配置策略;
资源确定模块,被配置为依据所述离线包配置策略确定所述页面应用对应的页面代码,遍历所述页面代码以确定所述页面应用所加载的静态资源集合;
离线包发布模块,被配置为下载所述静态资源集合并生成离线包,将所述离线包上传到指定服务器进行发布。
9.一种电子设备,其特征在于,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的方法。
10.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010313719.6A CN111538926A (zh) | 2020-04-20 | 2020-04-20 | 一种离线包自动发布方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010313719.6A CN111538926A (zh) | 2020-04-20 | 2020-04-20 | 一种离线包自动发布方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111538926A true CN111538926A (zh) | 2020-08-14 |
Family
ID=71978777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010313719.6A Pending CN111538926A (zh) | 2020-04-20 | 2020-04-20 | 一种离线包自动发布方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111538926A (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080098291A1 (en) * | 2001-04-17 | 2008-04-24 | Adobe Systems Incorporated | Method and System for Cross-Platform Form Creation and Deployment |
US8812911B2 (en) * | 2012-03-16 | 2014-08-19 | Rackspace Us, Inc. | Distributed testing of a software platform |
CN104035938A (zh) * | 2013-03-07 | 2014-09-10 | 阿里巴巴集团控股有限公司 | 一种性能持续集成数据处理的方法及装置 |
CN104391689A (zh) * | 2014-11-04 | 2015-03-04 | 中国石油天然气股份有限公司 | 一种物联网应用的开发方法、中间件及PaaS平台 |
US9003059B2 (en) * | 2008-03-31 | 2015-04-07 | Microsoft Technology Licensing, Llc | Running applications in an online or offline mode based on the availability of the connection to the remote web server |
US20160350320A1 (en) * | 2015-05-27 | 2016-12-01 | Google Inc. | Dynamically updatable offline grammar model for resource-constrained offline device |
CN107608691A (zh) * | 2017-08-18 | 2018-01-19 | 阿里巴巴集团控股有限公司 | 一种页面更新方法和装置 |
US10021434B2 (en) * | 2014-05-30 | 2018-07-10 | Apple Inc. | Movie package file format |
CN108717359A (zh) * | 2018-05-10 | 2018-10-30 | 北京酷我科技有限公司 | 一种基于离线包的app模块的更新方法 |
CN108762807A (zh) * | 2018-05-28 | 2018-11-06 | 北京酷我科技有限公司 | 一种基于强离线包的h5页面解析方法 |
CN109725909A (zh) * | 2018-05-07 | 2019-05-07 | 中国平安人寿保险股份有限公司 | 代码文件打包部署方法、持续集成服务器及系统 |
CN109857403A (zh) * | 2018-12-05 | 2019-06-07 | 腾讯科技(深圳)有限公司 | 一种页面更新、页面处理方法及装置 |
-
2020
- 2020-04-20 CN CN202010313719.6A patent/CN111538926A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080098291A1 (en) * | 2001-04-17 | 2008-04-24 | Adobe Systems Incorporated | Method and System for Cross-Platform Form Creation and Deployment |
US9003059B2 (en) * | 2008-03-31 | 2015-04-07 | Microsoft Technology Licensing, Llc | Running applications in an online or offline mode based on the availability of the connection to the remote web server |
US8812911B2 (en) * | 2012-03-16 | 2014-08-19 | Rackspace Us, Inc. | Distributed testing of a software platform |
CN104035938A (zh) * | 2013-03-07 | 2014-09-10 | 阿里巴巴集团控股有限公司 | 一种性能持续集成数据处理的方法及装置 |
US10021434B2 (en) * | 2014-05-30 | 2018-07-10 | Apple Inc. | Movie package file format |
CN104391689A (zh) * | 2014-11-04 | 2015-03-04 | 中国石油天然气股份有限公司 | 一种物联网应用的开发方法、中间件及PaaS平台 |
US20160350320A1 (en) * | 2015-05-27 | 2016-12-01 | Google Inc. | Dynamically updatable offline grammar model for resource-constrained offline device |
CN107608691A (zh) * | 2017-08-18 | 2018-01-19 | 阿里巴巴集团控股有限公司 | 一种页面更新方法和装置 |
CN109725909A (zh) * | 2018-05-07 | 2019-05-07 | 中国平安人寿保险股份有限公司 | 代码文件打包部署方法、持续集成服务器及系统 |
CN108717359A (zh) * | 2018-05-10 | 2018-10-30 | 北京酷我科技有限公司 | 一种基于离线包的app模块的更新方法 |
CN108762807A (zh) * | 2018-05-28 | 2018-11-06 | 北京酷我科技有限公司 | 一种基于强离线包的h5页面解析方法 |
CN109857403A (zh) * | 2018-12-05 | 2019-06-07 | 腾讯科技(深圳)有限公司 | 一种页面更新、页面处理方法及装置 |
Non-Patent Citations (2)
Title |
---|
大转转FE: ""转转hybrid app web静态资源离线系统实践"", 《HTTPS://WWW.CNBLOGS.COM/ZHUANZHUANFE/P/8458414.HTML》 * |
小火柴的蓝色理想: ""使用jenkins进行前端项目自动部署"", 《HTTPS://WWW.CNBLOGS.COM/XIAOHUOCHAI/P/9096873.HTML》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109547570B (zh) | 服务注册方法、装置、注册中心管理设备及存储介质 | |
CN110058873B (zh) | 应用页面更新方法、装置、设备和存储介质 | |
CN105446750B (zh) | WebApp启动运行、生成镜像文件的方法和装置 | |
US11200157B1 (en) | Automated execution reporting for container builds | |
CN114008994B (zh) | 一种代理服务器接收从客户端到网络服务器的请求和与所述请求相对应的从所述网络服务器到所述客户端的响应的方法及系统 | |
CN106302445B (zh) | 用于处理请求的方法和装置 | |
CN105577777A (zh) | 一种消息处理方法、装置及系统 | |
CN113010818A (zh) | 访问限流方法、装置、电子设备及存储介质 | |
CN104572907B (zh) | 一种业务对象的获取方法和装置 | |
US10776081B2 (en) | Systems and methods for utilizing webhooks integrated in platform-as-a-service supported application development and deployment | |
US11023558B1 (en) | Executing functions on-demand on a server utilizing web browsers | |
CN111897623A (zh) | 一种集群管理方法、装置、设备及存储介质 | |
CN104426952A (zh) | 一种数据迁移方法、设备及系统 | |
US8972968B1 (en) | Alternate service for applications | |
CN108021564A (zh) | 一种页面重定向的方法和设备 | |
CN113821307B (zh) | 一种虚拟机镜像的快速导入方法、装置及设备 | |
CN110764930B (zh) | 基于消息模式的请求或应答处理方法及装置 | |
TWI677223B (zh) | 頁面顯示的方法及裝置 | |
CN116303309A (zh) | 文件挂载方法、装置和电子设备 | |
CN109327468A (zh) | 一种下线提示方法、装置、设备及存储介质 | |
CN110874445A (zh) | 网页加载方法、客户端及业务服务中心 | |
CN112926002A (zh) | 一种服务请求的处理方法及装置 | |
EP3748493B1 (en) | Method and device for downloading installation-free application | |
CN115174158B (zh) | 基于多云管理平台的云产品配置检查方法 | |
CN111538926A (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: 20200814 |