CN117234556A - 一种小程序一体化部署及授权方法 - Google Patents
一种小程序一体化部署及授权方法 Download PDFInfo
- Publication number
- CN117234556A CN117234556A CN202311251069.7A CN202311251069A CN117234556A CN 117234556 A CN117234556 A CN 117234556A CN 202311251069 A CN202311251069 A CN 202311251069A CN 117234556 A CN117234556 A CN 117234556A
- Authority
- CN
- China
- Prior art keywords
- applet
- edge node
- package
- deployment
- data
- 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 35
- 238000013475 authorization Methods 0.000 title claims abstract description 14
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 14
- 238000011161 development Methods 0.000 description 10
- 238000012795 verification Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及属于小程序一体化部署技术领域,具体公开了一种小程序一体化部署及授权方法,包括:采用逐步递增的方式,有序接入设备进行小程序加载,并在出现加载失败时迅速减少小程序的接入设备量,设定相应边缘节点为,计算每个边缘节点对应的加载成功率,根据边缘节点对应的加载成功率计算设备轮番接入量;本发明的有益效果是,每次设备加载小程序的结果不管是成功还是失败,都会继续更新,因此每一轮的值也会得到更新,以防止小程序的大规模加载失败,影响用户的体验度。
Description
技术领域
本发明属于小程序一体化部署技术领域,具体涉及一种小程序一体化部署及授权方法。
背景技术
在部署小程序时,会因为各种原因导致部署失败,因此在部署过程中,一旦对所有的边缘节点进行统一部署,但如果部署的小程序版本存在问题,就会导致小程序部署的大面积失败。虽然小程序在发布前一般会进过调试,但由于具体部署环境的复杂多变,即便是经过调试的小程序在部署过程中也会存在各种各样的问题,因此需要针对小程序一体化部署过程中出现的部署失败问题进行解决,给出一种小程序优化部署策略。
发明内容
本发明的目的在于提供一种小程序一体化部署及授权方法,旨在优化小程序部署过程中出现的部署失败问题。
为实现上述目的,本发明提供如下技术方案:一种小程序一体化部署及授权方法。
包括:
客户端工具、小程序服务器和边缘节点、小程序包体数据;
由客户端工具对小程序包体数据进行加密处理,得到小程序加密包,再把小程序加密包上传至小程序服务器和附属的边缘节点中;
小程序服务器依据预先约定对小程序加密包进行解密,以得到小程序包体数据,使用前后端一体化部署工具在小程序服务器和各个边缘节点进行小程序部署;
设定小程序加载失败报错信息;
采用逐步递增的方式,有序接入设备进行小程序加载,并在出现加载失败时迅速减少小程序的接入设备量;
设定相应边缘节点为,计算每个边缘节点对应的加载成功率/>;
根据边缘节点对应的加载成功率计算设备轮番接入量,计算关系为:
其中,m为设备接入的轮次,表示第i个边缘节点,/>表示第i个边缘节点的第m轮次下的设备接入量;
初始时刻m为0,即初始时刻;
若边缘节点E_i下的设备在加载小程序包时出现加载失败,则该边缘节点E_i下的设备轮番接入量为:
该轮接入时m需从0开始依次递增。
具体的,在进行小程序部署时,所述小程序服务端采用.node或.js或.java编程语言搭建,用于接受平台客户端发送的小程序版本部署请求,所述版本部署请求携带有小程序的下载地址。
优选的,设备在对应的边缘节点加载失败后,为该设备匹配距离当前边缘节点最近的相邻边缘节点,若二次加载失败,则直接将设备匹配到小程序服务器进行重新加载。
为了更好的对小程序包体数据进行加密,对所述小程序包体数据进行加密处理的操作包括头部混淆数据加密或尾部混淆数据加密,对所述小程序包体数据进行加密处理的方法包括对称加密算法或非对称加密算法。
优选的,对所述小程序包体数据进行加密时,使用Base64算法对上传小程序包的用户ID进行编码获得编码字符串,并根据RSA加密算法对所述编码字符串进行加密获得加密数据,然后将所述加密数据加入至小程序包体数据的头部作为头部混淆数据
具体的,在把小程序加密包上传至小程序服务器和附属的边缘节点时,所述小程序服务器获取与客户端工具匹配的小程序上传接口的至少一项接口参数作为目标参数,所述接口参数包括用于标识小程序以及小程序开发者的信息。
优选的,所述小程序上传接口包括http协议的端口。
本发明的有益效果为:1.采用逐步递增的方式,有序接入设备进行小程序加载,并在出现加载失败时迅速减少小程序的接入设备量,可以在开始的时候缓慢开始,随着接入的设备加载成功,则下一次的接入量成指数增加。其中,每次设备加载小程序的结果不管是成功还是失败,都会继续更新,因此每一轮的/>值也会得到更新,以防止小程序的大规模加载失败,影响用户的体验度,同时小程序服务器在小程序加载失败时立即进行报警提示,以便于维修人员根据报错信息快速修复小程序加载失败的问题。
附图说明
图1为本发明中接入轮次和接入量之间的折线示意图。
图2为本发明中小程序一体化部署的流程示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
如图1和图2所示,本发明的一种小程序一体化部署及授权方法,适用于CDN场景,即涉及边缘节点的场景中。CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
在一个可选的实施例中,小程序开发工具与宿主应用程序可以部署在不同的终端,例如小程序开发工具部署在台式计算机,宿主应用程序部署在移动终端,如手机。
小程序开发工具为开发者提供小程序包的开发接口、函数、环境和组件等,以供开发者开发小程序包。小程序服务器和边缘节点用于对小程序包进行解析、加密、签名等一系列处理,并将小程序包部署到存储系统,以供终端下载。终端从存储系统下载小程序包,通过宿主应用程序调起小程序包对应的小程序,实现小程序的预览。
可选地,小程序开发工具具有超文本传输协议(Hyper Text Transfer Protocol,HTTP)接口,通过HTTP接口将小程序包发送至小程序服务器。
在本发明中:
S1、将加密数据放置于待上传小程序服务器的小程序包体数据中:
首先在部署过程中向小程序包体数据中加入经过加密算法加密后的混淆数据作为认证授权的措施;小程序包体数据是指在小程序开发工具已经调试编译好的小程序的代码包;为了保证小程序包体数据在小程序部署过程中的安全性,需要在上传前获取编译好的小程序包体数据,并通过加密算法生成混淆数据加入小程序包体数据中。
所述混淆数据可以为头部混淆数据或尾部混淆数据。其中,头部混淆数据是指需要添加到小程序包的头部的数据,用于混淆小程序的包体数据在小程序包中位置,使得非法人员无法准确定位到包体数据,进而避免了非法人员对小程序包的包体数据的篡改,保证小程序安装包的安全。本方案中以头部混淆数据作为示例进行说明。
可依据加密算法随机生成所述混淆数据,所述加密算法可以是RSA算法或MD5算法等。将头部混淆数据加入至所述小程序包体数据的头部后,生成小程序加密包,使得在小程序加密包中,头部混淆数据混淆了包体数据在小程序包中的位置,也即实现了对小程序包体数据的加密。
至此,只需将小程序加密包上传至所述小程序服务器即可,由于小程序加密包中混淆了小程序包体数据的位置,可有效防止在上传过程中包体数据被非法篡改。进一步的,在小程序加密包上传到小程序服务器后,小程序服务器可基于预先预定好的密钥对小程序加密包进行解密,得到小程序包体数据,进而根据小程序包体数据完成小程序部署工作。
具体地,在一个可选的实施例中,可通过Base64算法对上传小程序包的用户ID进行编码获得编码字符串,并根据RSA加密算法对所述编码字符串进行加密获得加密数据,然后将所述加密数据加入至小程序包体数据的头部作为头部混淆数据,这样可以混淆小程序包体数据的起始位置,且在部署过程中只有经过授权的边缘节点才可以进行解密,从而实现授权部署。
小程序包的加密上传方法由客户端工具(如小程序开发工具)执行,所述客户端工具由小程序服务器预先分配的。因此,获取至少一项目标参数,也即是获取与客户端工具匹配的小程序上传接口(例如http协议的端口)的至少一项接口参数作为目标参数。其中接口参数可选的为各种用于标识小程序以及小程序开发者的相关信息,例如,小程序标识以及开发者标识等。
最终,通过所述小程序上传接口,将所述小程序加密包上传至所述小程序服务器和附属的边缘节点中,其中上传接口可选的为http协议的端口。
小程序服务端可采用.node或.js或.java等编程语言搭建,用于接受平台客户端发送的小程序版本部署请求,版本部署请求携带有小程序的下载地址。服务端可以根据下载地址下载对应的小程序包进行解析,并根据实际编译代码对小程序进行部署。
S2、获取客户端工具上传的小程序加密包并进行解密来提取小程序包体数据进行部署。
依据预先约定的解码算法和密钥对小程序加密包进行解密,从而得到小程序包体数据。可选的,解密过程包括密钥的验证以及签名的验证。
根据所述包体数据在小程序服务器和各个边缘节点进行小程序部署。本方案中,可直接使用前后端一体化部署工具,如CloudBase Framework等进行小程序的部署,这样可以:
支持应用的无缝托管:用户不需要改变开发习惯,不需要修改代码适配云函数等云资源,而是可以直接将应用托管在云开发平台上
引入支持自定义的底层资源层:引入容器化的部署方案来承载各种开发语言、框架和现有的应用交付方式
支持声明式描述云资源:将应用内各个部分最终都能描述成统一的描述语言,支持前后端的统一部署
使用简单:使用者无须关心底层资源和底层声明文件等细节,只需要有限的业务参数,即可将小程序进行一体化部署。
S3统计各节点历史部署过程中的设备加载失败次数,并根据失败次数计算出各节点的小程序部署成功率。
小程序在加载过程中容易因为各种问题导致加载失败,小程序的加载过程可以包括从宿主应用中打开小程序页面到显示小程序页面的过程,可以包括但不限于下载小程序包、加载页面框架、加载页面数据中的一个或多个阶段。
在小程序加载失败时,会生成报错信息。报错信息可以是一些加载失败原因的编码,例如001表示下载过程中写磁盘错误,002表示加载过程中网络出错,003表示下载小程序包后校验失败、004表示存储空间不足等。
由于小程序服务器和各边缘节点均部署有相同版本的小程序包,因此本方案中可以根据报错信息所指示的加载失败原因,先从设备所属的边缘节点中重新加载小程序,如果加载失败,则再从距离最近的边缘节点重新加载小程序,若依然失败,则从小程序服务器中重新加载小程序。
单个边缘节点可以连接的设备数一般在1000个,本方案中针对每一个边缘节点所部署的小程序包,统计历史中部署小程序后设备加载失败次数和总加载次数,从而获得每个边缘节点对应的加载成功率和失败率。
S4根据加载成功率调整每个边缘节点中设备加载小程序的策略
由于新部署的小程序包在加载过程中并不确定会出现何种加载结果,因此针对每个边缘节点下的设备,本方案采用逐步递增的方式,有序接入设备进行小程序加载,并在出现加载失败时迅速减少小程序的接入设备量,从而保证各边缘节点中部署的小程序被设备有序加载,并在出现问题时及时调整,防止出现大规模加载失败的情况出现。
计算得到边缘节点的成功率/>,则在/>部署好小程序包并有序接入设备时,按照
的设备接入量依次接入设备,待本轮次设备均可以成功加载小程序后,再继续下一轮次的接入。其中,设备的接入顺序按照设备请求加载小程序的时间进行排列,m为设备接入的轮次,表示第i个边缘节点,/>表示第i个边缘节点的第m轮次下的设备接入量。初始时刻m为0,即初始时刻
请参阅图1,若边缘节点下的设备在加载小程序包时出现加载失败,则下一轮接入时m需从0开始依次递增,即当出现加载失败时下一轮
如此,可以在开始的时候缓慢开始,随着接入的设备加载成功,则下一次的接入量成指数增加。其中,每次设备加载小程序的结果不管是成功还是失败,都会继续更新,因此每一轮的/>值也会得到更新。
相对应的,若设备在对应的边缘节点加载失败后,会为该设备匹配距离当前边缘节点最近的相邻边缘节点,以便于设备进行重新加载,若二次加载失败,则直接将设备匹配到小程序服务器进行重新加载。
其中,对于每个边缘节点,若出现加载失败则按照上述策略从开始继续新增接入设备量,若设备连接小程序服务器重新加载仍出现加载失败,则当前小程序服务器所连接的所有边缘节点均需要从/>开始继续新增接入设备量,以防止小程序的大规模加载失败,影响用户的体验度,同时在小程序服务器小程序加载失败时立即进行报警提示,以便于维修人员根据报错信息快速修复小程序加载失败的问题。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (7)
1.一种小程序一体化部署及授权方法,其特征在于,包括,
由预设的客户端工具对小程序包体数据进行加密处理,得到小程序加密包,再把小程序加密包上传至小程序服务器和附属的边缘节点中;
基于所述小程序服务器对小程序加密包进行解密以得到小程序包体数据,并依据预设的前后端一体化部署工具在小程序服务器和各个边缘节点进行小程序部署;
设定小程序加载失败报错信息;
采用逐步递增的方式,在所述边缘节点中有序接入设备进行小程序加载,并在出现加载失败时迅速减少小程序的接入设备量;
计算每个边缘节点对应的加载成功率;
根据边缘节点对应的加载成功率计算设备轮番接入量,计算关系为:
其中,m为设备接入的轮次,表示第i个边缘节点,/>表示第i个边缘节点的第m轮次下的设备接入量;
其中,初始时刻m为0,即初始时刻;
若边缘节点下的设备在加载小程序包时出现加载失败,则该边缘节点/>下的设备轮番接入量为:
该轮接入时m需从0开始依次递增。
2.根据权利要求1所述的小程序一体化部署及授权方法,其特征在于,在进行小程序部署时,所述小程序服务端用于接受平台客户端发送的小程序版本部署请求,所述小程序版本部署请求携带有小程序的下载地址。
3.根据权利要求1所述的小程序一体化部署及授权方法,其特征在于,当所述设备在对应的边缘节点加载失败后,为该设备匹配距离当前边缘节点最近的相邻边缘节点,若二次加载失败,则直接将设备匹配到小程序服务器进行重新加载。
4.根据权利要求1所述的小程序一体化部署及授权方法,其特征在于,对所述小程序包体数据进行加密处理的操作包括头部混淆数据加密或尾部混淆数据加密,对所述小程序包体数据进行加密处理的方法包括对称加密算法或非对称加密算法。
5.根据权利要求4所述的小程序一体化部署及授权方法,其特征在于,对所述小程序包体数据进行加密时,使用Base64算法对上传小程序包的用户ID进行编码获得编码字符串,并根据RSA加密算法对所述编码字符串进行加密获得加密数据,然后将所述加密数据加入至小程序包体数据的头部作为头部混淆数据。
6.根据权利要求1所述的小程序一体化部署及授权方法,其特征在于,在把所述小程序加密包上传至小程序服务器和附属的边缘节点时,所述小程序服务器获取与客户端工具匹配的小程序上传接口的至少一项接口参数作为目标参数,所述接口参数包括用于标识小程序以及小程序开发者的信息。
7.根据权利要求6所述的小程序一体化部署及授权方法,其特征在于,所述小程序上传接口包括http协议的端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311251069.7A CN117234556A (zh) | 2023-09-26 | 2023-09-26 | 一种小程序一体化部署及授权方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311251069.7A CN117234556A (zh) | 2023-09-26 | 2023-09-26 | 一种小程序一体化部署及授权方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117234556A true CN117234556A (zh) | 2023-12-15 |
Family
ID=89087709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311251069.7A Pending CN117234556A (zh) | 2023-09-26 | 2023-09-26 | 一种小程序一体化部署及授权方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234556A (zh) |
-
2023
- 2023-09-26 CN CN202311251069.7A patent/CN117234556A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11258792B2 (en) | Method, device, system for authenticating an accessing terminal by server, server and computer readable storage medium | |
US9766914B2 (en) | System and methods for remote maintenance in an electronic network with multiple clients | |
CN101258505B (zh) | 安全的软件更新 | |
US7480907B1 (en) | Mobile services network for update of firmware/software in mobile handsets | |
US8417964B2 (en) | Software module management device and program | |
CN111478967B (zh) | 一种请求处理方法及装置 | |
CN107743115B (zh) | 一种终端应用的身份认证方法、装置和系统 | |
CN108449315A (zh) | 请求合法性的校验装置、方法及计算机可读存储介质 | |
US11928449B2 (en) | Information processing method, device, apparatus and system, medium, andprogram | |
CN112581233A (zh) | 订单离线操作的方法、装置、设备和计算机可读存储介质 | |
CN111460410A (zh) | 服务器登录方法、装置、系统与计算机可读存储介质 | |
EP2930962A1 (en) | Encryption/decryption method, system and device | |
CN111835710A (zh) | 校验请求体的方法、装置、计算机设备和存储介质 | |
CN117234556A (zh) | 一种小程序一体化部署及授权方法 | |
US20150082026A1 (en) | Systems and methods for locking an application to device without storing device information on server | |
CN112732676B (zh) | 基于区块链的数据迁移方法、装置、设备及存储介质 | |
CN116011000B (zh) | 访问方法、装置、及计算设备 | |
CN108076021B (zh) | 业务处理方法和装置 | |
CN113660328B (zh) | 通信连接的建立方法及装置、存储介质及电子设备 | |
CN105790931B (zh) | 一种密钥分发方法、网络设备、终端设备及系统 | |
CN112487405B (zh) | 一种权限信息处理方法及装置 | |
CN117040930B (zh) | 区块链网络的资源处理方法、装置、产品、设备和介质 | |
CN112286553B (zh) | 用户锁的升级方法、装置、系统、电子设备和存储介质 | |
CN113987510A (zh) | 软件开发工具包的更新方法、装置、电子设备及存储介质 | |
CN118074910A (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 |