[发明专利]iOS网络请求拦截转发缓存方法及系统在审
申请号: | 201710529149.2 | 申请日: | 2017-07-01 |
公开(公告)号: | CN107332843A | 公开(公告)日: | 2017-11-07 |
发明(设计)人: | 刘小岳;王玲;王敏君 | 申请(专利权)人: | 华泰证券股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;G06F17/30 |
代理公司: | 南京众联专利代理有限公司32206 | 代理人: | 顾进,叶涓涓 |
地址: | 210000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | ios 网络 请求 拦截 转发 缓存 方法 系统 | ||
1.iOS网络请求拦截转发缓存方法,其特征在于,包括如下步骤:
步骤一,用户通过网络请求发送模块使用NSURLSession及相关类发起网络请求;
步骤二,网络请求拦截模块使用NSURLProtocol拦截相关网络请求;
步骤三,拦截到网络请求后,网络请求拦截模块从请求中解析出是否需要更新缓存中数据的标识;若不需要更新缓存数据,自定义网络请求缓存模块会继续判断该请求是否被缓存,自定义缓存模块从拦截模块接收数据后以请求的url、参数及其对应参数值构成的字符串作为key,查找是否有缓存存在,若没有缓存,则跳至第四步,反之则跳至第六步;若需要更新缓存,则跳至第四步;
步骤四,系统将请求通过底层TCP网络请求转发模块转发给服务器;
步骤五,网络请求拦截模块接收底层转发模块响应的数据,调用自定义网络请求缓存模块以请求的url、参数及其对应参数值构成的字符串作为key,以响应的数据作为value进行缓存,并发送给网络请求发送模块;流程结束不执行步骤六;
步骤六,网络请求拦截模块跳过底层请求转发模块,直接从自定义网络请求缓存模块中获取相应的应答数据并发送给给网络请求发送模块。
2.根据权利要求1所述的iOS网络请求拦截转发缓存方法,其特征在于:所述步骤二中网络请求拦截模块根据请求的scheme和特定的字符串形式进行拦截。
3.根据权利要求1所述的iOS网络请求拦截转发缓存方法,其特征在于:所述步骤四中所述网络请求转发模块使用TCP与服务器建立长连接。
4.根据权利要求1所述的iOS网络请求拦截转发缓存方法,其特征在于:所述自定义网络请求缓存模块采用文件存储和SQLite数据库相结合的方式实现数据的读取和写入;
所述文件存储和SQLite数据库相结合的方式包括:
当单次存取的数据较小时,采用SQLite数据库进行存储;当单次存取的数据较大时,采用文件存储进行存储。
5.根据权利要求1或4所述的iOS网络请求拦截转发缓存方法,其特征在于:所述步骤五中缓存时自定义网络请求缓存模块判断其存储的缓存数据大小是否超出定义的阈值,若超出,则按存储的时间数据,递归删除最旧的数据,直至其缓存大小小于其阈值;若没有超出,则直接结束存储过程。
6.iOS网络请求拦截转发缓存系统,其特征在于:包括网络请求发送模块、网络请求拦截模块、网络请求转发模块、自定义网络请求缓存模块;
所述网络请求发送模块使用iOS系统中的NSURLSession及相关类发送网络请求;
所述网络请求拦截模块使用NSURLProtocol拦截相关的网络请求,当请求未被拦截过时转发模块会接收转发模块响应的数据,将其通过缓存模块缓存后转发给网络请求发送模块;当请求已经被拦截过,不再将请求交给底层转发,直接从自定义网络请求缓存模块中获取相应的应答数据并发送给给网络请求发送模块;
所述网络请求转发模块用于在底层使用TCP协议将拦截的请求转发给服务器并接收服务器返回的数据;
所述自定义网络请求缓存模块用于缓存拦截的网络请求及其应答数据。
7.根据权利要求6所述的iOS网络请求拦截转发缓存系统,其特征在于:所述网络请求拦截模块根据URL的scheme和特定的字符串形式进行拦截。
8.根据权利要求6所述的iOS网络请求拦截转发缓存系统,其特征在于:所述网络请求转发模块使用TCP与服务器建立长连接。
9.根据权利要求6所述的iOS网络请求拦截转发缓存系统,其特征在于:所述自定义网络请求缓存模块为磁盘缓存,采用文件存储和SQLite数据库相结合的方式实现数据的读取和写入;
所述文件存储和SQLite数据库相结合的方式包括:
当单次存取的数据较小时,采用SQLite数据库进行存储;当单次存取的数据较大时,采用文件存储进行存储。
10.根据权利要求6或9所述的iOS网络请求拦截转发缓存系统,其特征在于:所述自定义网络请求缓存模块缓存时自定义网络请求缓存模块判断其存储的缓存数据大小是否超出定义的阈值,若超出,则按存储的时间数据,递归删除最旧的数据,直至其缓存大小小于其阈值;若没有超出,则直接结束存储过程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华泰证券股份有限公司,未经华泰证券股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710529149.2/1.html,转载请声明来源钻瓜专利网。