基于CDN边缘计算的APK文件动态加密方法及介质与流程

文档序号:33027022发布日期:2023-01-20 19:49阅读:64来源:国知局
基于CDN边缘计算的APK文件动态加密方法及介质与流程
基于cdn边缘计算的apk文件动态加密方法及介质
技术领域
1.本发明涉及apk文件打包领域,具体涉及基于cdn边缘计算的apk文件动态加密方法及介质。


背景技术:

2.现有技术中,apk发行方发布apk文件后,将由发行方利用存储服务器的计算能力进行apk加密计算并存储在发行方自己的存储服务器上,供用户下载使用,属于静态的加密方法。
3.静态打包方法不仅需要利用apk发行方的计算资源和存储资源对apk进行加密计算并将加密后文件存储;还需要消耗额外的用户下载流量和apk管理成本。请参阅图1,所述静态打包方法,具体包括:当用户请求下载apk文件的时候,cdn系统检查本地缓存系统的文件缓存记录,如果有缓存则直接响应文件,若没有缓存记录,则通过发行方存储服务器下载对应的apk文件响应给用户,并将相应的apk文件缓存于cdn节点网络内部,以供下次用户请求直接响应;当用户请求下载nds加密文件的时候,cdn系统检查本地缓存系统的文件缓存记录,如果有缓存则直接响应文件,若没有缓存记录,则通过发行方存储服务器下载对应的nds加密文件响应给用户,并将相应的nds加密文件缓存于cdn节点网络内部,以供下次用户请求直接响应。
4.上述静态打包方法具有管理复杂度高、成本高、不够灵活等缺点。首先,管理复杂度高:由于每个apk、每个版本都需要分别进行加密计算,然后进行存储,所以发行方存储服务器需要存储和管理的apk包数量比较庞大,存储和管理复杂度很高;其次,发行方存储服务器流量和计算成本高:现有方法需要发行方利用存储服务器的计算能力对apk进行加密运算,并进行存储,cdn节点网络需要分别对apk请求和nds请求回源站存储服务器获取才能进行缓存,对apk发行方存储服务器压力造成巨大挑战,而且打包、存储等过程也会消耗大量硬件设备;再有,不够灵活:当加密的密码需要改变、文件需要更新等情况下,发行存储服务器均需要重新计算和存储,不能灵活地变更文件。


技术实现要素:

5.本发明所要解决的技术问题是:提供基于cdn边缘计算的apk文件动态加密方法及介质,具有管理简单和有效降低服务器压力等优点。
6.为了解决上述技术问题,本发明采用的技术方案为:
7.基于cdn边缘计算的apk文件动态加密方法,包括:
8.cdn节点网络接收到nds加密文件下载请求后;
9.若所述cdn节点网络未缓存有所述nds加密文件,则获取所述nds加密文件对应的apk文件;加密所述apk文件生成nds加密文件。
10.在一些实施例中,所述获取所述nds加密文件对应的apk文件;加密所述apk文件生成nds加密文件,包括:
11.在所述cdn节点网络缓存有所述nds加密文件对应的apk文件时,加密所述apk文件生成nds加密文件;
12.在所述cdn节点网络未缓存有所述nds加密文件对应的apk文件时,从apk发行方存储服务器获取所述apk文件,并加密所述apk文件生成nds加密文件。
13.在一些实施例中,所述在所述cdn节点网络缓存有所述nds加密文件对应的apk文件时,加密所述apk文件生成nds加密文件,之后,还包括:
14.cdn节点网络缓存所述nds加密文件;
15.所述并加密所述apk文件生成nds加密文件,之后,还包括:
16.cdn节点网络缓存所述apk文件及所述nds加密文件。
17.在一些实施例中,所述方法还包括:
18.若所述cdn节点网络缓存有所述nds加密文件,则响应所述nds加密文件。
19.在一些实施例中,所述获取所述nds加密文件对应的apk文件,包括:
20.cdn节点网络将所述nds加密文件的下载地址改写成所述nds加密文件对应的apk文件的下载地址,以使得所述cdn节点网络进入apk文件获取流程。
21.在一些实施例中,所述方法还包括:
22.cdn节点网络接收到apk文件下载请求后,进入apk文件获取流程。
23.在一些实施例中,所述apk文件获取流程,包括:
24.若所述cdn节点网络缓存有所述apk文件,则响应所述apk文件;
25.若所述cdn节点网络未缓存有所述apk文件,则从apk发行方存储服务器获取所述apk文件。
26.在一些实施例中,所述加密所述apk文件生成nds加密文件,包括:
27.加密所述apk文件的副本,生成对应的nds加密文件。
28.在一些实施例中,所述加密所述apk文件生成nds加密文件,包括:
29.以字节流形式读取所述apk文件,并在读取过程使用异或加密算法对所述apk文件进行加密,生成对应的nds加密文件。
30.本发明提供的另一个技术方案为:
31.一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述基于cdn边缘计算的apk文件动态加密方法。
32.本发明的有益效果在于:
33.1)本发明中nds加密文件的获取直接通过cdn节点网络的计算能力和存储能力完成,cdn节点网络仅需要回源拉取一份原始apk包即可,大大减少源站的分发流量压力;
34.2)本发明能够直接利用cdn节点网络的边缘计算能力,在处理nds加密文件下载请求时,有需求对apk文件进行加密的情况下,对其加密生成所需的nds加密文件以保护文件的安全性,且无需消耗发行方存储服务器额外的计算能力和存储能力;
35.3)本发明中nds加密文件的存储和管理由cdn节点网络进行管理,apk发行商无需繁杂的文件管理,降低apk发行放的管理复杂度。
36.4)通过本发明,将更加便捷地对apk文件进行加密,用户客户端下载到文件后再通过双方协商一致的加密方法和加密key进行解密,大大降低了文件传输过程中被篡改的风险,最大限度的提供文件的安全性和完整性。
附图说明
37.图1为现有技术的apk文件静态打包方法的交互示意图;
38.图2为本发明实施例一种基于cdn边缘计算的apk文件动态加密方法的流程示意图;
39.图3为本发明实施例一种基于cdn边缘计算的apk文件动态加密方法的完整流程示意图;
40.图4为本发明实施例一种基于cdn边缘计算的apk文件动态加密方法的内部逻辑示意图。
具体实施方式
41.为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
42.本发明最关键的构思在于:cdn节点网络接收到nds加密文件下载请求后,则获取所述nds加密文件对应的apk文件;加密所述apk文件生成nds加密文件。
43.请参照图2,图2示出了本发明实施例基于cdn边缘计算的apk文件动态加密方法的流程示意图。如图2所示,所述基于cdn边缘计算的apk文件动态加密方法包括:
44.cdn节点网络接收到nds加密文件下载请求之后;
45.若所述cdn节点网络缓存有所述nds加密文件,则响应所述nds加密文件;
46.若所述cdn节点网络未缓存有所述nds加密文件,则获取所述nds加密文件对应的apk文件;加密所述apk文件生成nds加密文件,响应所述nds加密文件。
47.在此,不对cdn节点网络如何确认是否缓存有所需nds加密文件的手段进行限制。
48.在一些实施例中,cdn节点网络可以通过尝试直接从缓存中读取所需nds加密文件,依据读取结果确定。
49.在一些实施例中,cdn节点网络可以通过创建判断流程确认其是否缓存有所述nds加密文件。即在cdn节点网络接收到nds加密文件下载请求之后,cdn节点网络判断是否缓存有所述nds加密文件,依据判断结果确定。具体可以通过查询是否存在该nds加密文件的缓存记录确定。
50.在另外一些实施例中,所述的cdn节点网络获取所述nds加密文件对应的apk文件;加密所述apk文件生成nds加密文件,具体包括:
51.在所述cdn节点网络缓存有所述nds加密文件对应的apk文件时,加密所述apk文件生成nds加密文件;
52.在所述cdn节点网络未缓存有所述nds加密文件对应的apk文件时,从apk发行方存储服务器获取所述apk文件,并加密所述apk文件生成nds加密文件。
53.即言,cdn节点网络将直接利用自身的计算能力和存储能力,在自身缓存有apk文件的情况下,直接对其加密生成所需的nds加密文件;在没有缓存apk文件的情况下,再回源拉取apk文件进行操作。由此,全过程便无需消耗apk发行方服务器额外的计算能力和存储能力,又能满足文件的安全性要求。
54.在又一些实施例中,所述cdn节点网络获取所述nds加密文件对应的apk文件;加密所述apk文件生成nds加密文件步骤,将通过使cdn节点网络进入apk获取流程以获取所述
apk文件,然后再加密所获取的apk文件生成nds加密文件实现。
55.其中,使cdn节点网络进入apk获取流程以获取所述apk文件的方式为:
56.cdn节点网络将所述nds加密文件的下载地址改写成所述nds加密文件对应的apk文件的下载地址,以使得所述cdn节点网络进入apk文件获取流程。
57.作为一具体示例,cdn节点网络将改写nds加密文件的ulr下载地址:http://www.baidu.com/download/baidu.nds为对应apk文件的下载地址:http://www.baidu.com/download/baidu.apk。
58.其中,所述apk获取流程包括:
59.若所述cdn节点网络缓存有所述apk文件,则响应所述apk文件;
60.若所述cdn节点网络未缓存有所述apk文件,则从apk发行方存储服务器获取所述apk文件。
61.即言,只有在所述cdn节点网络未缓存有apk文件的情况下,才会回源拉取apk文件。
62.优选地,在任一实施例中,cdn节点网络加密所述apk文件生成nds加密文件之后,将对所述nds加密文件进行缓存;在回源获取apk文件之后,也将对该apk文件进行缓存。由此,cdn节点网络将利用自身的存储能力对apk文件及其对应的nds加密文件进行缓存,至多一次回源拉取apk文件即可在之后做到快速、高效地响应用户请求,且相较于现有技术,将在一定程度上给发行方服务器减负。
63.在另外一些实施例中,cdn节点网络加密所述apk文件生成nds加密文件时,加密的是apk文件的副本,因此并不会对cdn节点网络缓存中的apk文件造成影响,以此保证缓存中apk文件的正确性。
64.作为一种优选具体实施方式,加密所述apk文件生成nds加密文件的方式为:
65.以字节流形式读取所述apk文件,并在读取过程使用异或加密算法对所述apk文件进行加密,生成对应的nds加密文件。
66.在此,使用字节流形式读取apk文件,能实现在读取过程中加密,即可以对每一个byte或者是一些特定字段进行编码以实现加密,相应地,客户端只需封装一个解码器即可解码;同时,又能记录apk的传输路径,以便追溯。
67.在一些实施例中,cdn节点网络将根据协商一致的加密key和异或加密方法对apk文件进行加密以获取对应的nds加密文件。
68.如此,便实现了利用cdn节点网络的边缘计算能力来保证apk文件的安全性,而无需消耗发行方存储服务器额外的计算能力和存储能力。
69.请参阅图3和图4,图3示出了本发明实施例一种基于cdn边缘计算的apk文件动态加密方法的完整流程示意图;图4示出了本发明实施例一种基于cdn边缘计算的apk文件动态加密方法的内部逻辑示意图。
70.如图3所示,所述一种基于cdn边缘计算的apk文件动态加密方法的完整流程如下:
71.s001:cdn节点网络接收到用户客户端发起的文件下载请求;
72.s002:判断所述文件下载请求是apk文件下载请求还是nds加密文件下载请求;若是apk文件下载请求则执行s101;若是nds加密文件下载请求则执行s201;
73.s101:cdn节点网络接收到apk文件下载请求之后,进入apk文件获取流程;
74.其中,所述apk文件获取流程包括:
75.s102:cdn节点网络判断是否缓存有所请求的apk文件;
76.若有,则直接响应所述apk文件;
77.若否,则从apk发行方存储服务器获取所述apk文件,响应所述apk文件,并将所述apk文件缓存在节点内部。
78.s201:cdn节点网络接收到nds加密文件下载请求之后,进入nds加密文件获取流程;
79.其中,所述nds加密文件获取流程包括:
80.s202:cdn节点网络判断是否缓存有所述nds加密文件;
81.若有,则直接响应所述nds加密文件给用户客户端,结束流程;
82.若否,则进入nds加密流程;
83.其中,所述nds加密流程包括:
84.s203:cdn节点网络将所述nds加密文件的下载地址改写成所述nds加密文件对应的apk文件的下载地址,以使得所述cdn节点网络进入apk文件获取流程;其中,所述apk文件获取流程参见上述s102的记载,在此不进行复述。
85.需要说明的是,所述apk文件获取流程中,进行apk文件响应时,若是对应cdn节点网络接收到apk文件下载请求的情况,则响应apk文件给用户客户端;若是对应cdn节点网络接收到nds加密文件下载请求的情况,则响应给cdn节点网络。
86.s204:cdn节点网络通过所述apk文件获取流程响应得到apk文件,并在文件字节流拉取的过程中进行异或加密处理,得到对应的nds加密文件;
87.s205:cdn节点网络响应上一步骤得到的nds加密文件给用户客户端,并将该nds加密文件和对应的apk文件缓存一份至cdn本地缓存系统,以便其他用户客户端请求下载时直接响应。
88.对应上述实施例,本发明还提供一具体运用场景:
89.步骤1:apk发行方生成apk文件。
90.apk发行方将所生成的apk文件存储在存储服务器,生成可供用户下载的url链接地址(例如:http://www.baidu.com/download/baidu.apk);
91.步骤2:app发行方将用户请求导入cdn加速系统。
92.app发行方通过dns解析的原理,将用户的apk下载请求导向cdn的边缘计算节点,通常是修改域名cname解析记录值到cdn厂商的负载均衡系统实现,使用户客户端直接向cdn边缘服务器发起apk下载请求,由cdn边缘节点根据用户请求中携带的信息进行apk文件动态加密。例如:将下载链接中www.baidu.com的dns cname解析到cdn服务商的全球负载均衡系统www.baidu.com.xxcdn.com,通过cdn平台提供apk下载加速服务和使用cdn系统的边缘计算能力,客户端用户通过url发起apk下载请求,就会经过cdn边缘服务器进行处理;
93.步骤3:apk发行方通过各种渠道将用户下载url发布,以供用户进行apk/nds文件下载。
94.例如:apk文件链接地址:http://www.baidu.com/download/baidu.apk;nds文件链接地址:http://www.baidu.com/download/baidu.nds;
95.步骤4:用户客户端发起下载请求,cdn边缘节点收到用户客户端文件下载请求;如
果是apk文件或者对应的nds加密文件下载请求,则cdn边缘节点处理流程如上述各个实施例所述的基于cdn边缘计算的apk文件动态加密方法进行处理,其内部实现逻辑可参阅图4;如果是其他文件下载请求,则按照cdn厂商默认处理流程进行处理;
96.步骤5:用户客户端获取到对应的下载文件,如果是nds加密文件,则使用加密key和异或加密的方法进行文件解密,得到对应的原始文件。
97.对应上述实施例,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述程序在被处理器执行时,能够实现上述任一实施例所述的基于cdn边缘计算的apk文件动态加密方法。具体步骤内容在此不进行复述,详情请参阅上述实施例的记载。
98.本领域普通技术人员可以理解实现上述技术方案中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来实现的,所述的程序可存储于一计算机可读取的存储介质中,该程序在执行时,可包括如上述各方法的流程。所述程序在被处理器执行后,同样能够实现对应各方法的有益效果。其中,所述的存储介质可以是磁盘、光碟、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
99.对应上述实施例,本发明还提供一种基于cdn边缘计算的apk文件动态加密系统,包括cdn节点网络;
100.所述cdn节点网络,用于实现上述各个实施例所述一种基于cdn边缘计算的apk文件动态加密方法中所述cdn节点网络所执行的步骤。具体步骤内容在此不进行复述,详情请参阅上述实施例的记载。
101.综上所述,本发明提供的基于cdn边缘计算的apk文件动态加密方法及介质,直接利用cdn节点网络的边缘计算能力和存储能力实现apk文件动态加密以及文件安全传输,无需消耗发行方存储服务器额外的计算能力和存储能力,大大减少源站的压力,降低apk发行方的管理复杂度,同时也更具灵活性。
102.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1