本发明属于计算机前端处理方法,涉及基于网络自适应构建前端安全可靠的数据传输方法。
背景技术:
1、目前主流前后端数据传输方式是,前端直接调用接口进行数据传输,对于数据传输要求不高,这种方式能满足基本使用场景。
2、但是当数据传输量大,传输频繁时,直接调用接口进行数据传输方法缺点明显:
3、1、浏览器对接口并发量有限制,一般并发量在2-6条以内,大量的数据传输请求会导致接口调用阻塞严重。
4、2、数据量大会导致接口调用费时,占用并发资源,传输失败率增高。
5、3、在网络延迟严重或网络信号不好的情况下,出错率高。
6、4、当数据正在传输中,用户关闭当前页面会导致数据上传失败
7、为了解决上述问题,本发明提出了一种基于网络自适应的数据传输方法,以保证在网络环境不佳、大数据量和频繁传输请求的情况下,实现安全可靠的数据传输。
技术实现思路
1、本发明的目的是提供基于网络自适应构建前端安全可靠的数据传输方法,解决了现有技术中存在的在网络信号不好、较大的数据量、频繁的数据传输请求以及数据传输过程中用户关闭页面的情况下依然能安全可靠的传输到服务端的问题。
2、本发明所采用的技术方案是,基于网络自适应构建前端安全可靠的数据传输方法,具体按照以下步骤实施:
3、步骤1、前端javascript运行过程中出现运算量大的数据,引入web worker,创建worker子线程;
4、步骤2、在worker子线程中对数据进行分片和压缩处理,获得分片数据;
5、步骤3、创建一个indexeddb数据库,将分片数据存储在indexeddb数据库;
6、步骤4、将存储在indexeddb数据库的分片数据上传至自适应功能模块,通过自适应功能模块上传至服务器。
7、本发明的特点还在于:
8、步骤1具体按照以下步骤实施:
9、步骤1.1、前端javascript运行过程中,当接收到需上传的数据运算量大时,引入web worker;
10、步骤1.2、在web worker创建worker子线程,监听从主线程中传入的数据。
11、步骤2具体按照以下步骤实施:
12、步骤2.1、使用md5摘要算法对待传输的大数据文件进行摘要计算,生成待传输的大数据文件的对比摘要值;
13、步骤2.2、将待传输的大数据文件按1mb进行分片,并记录总分片数每个分片的序列号;
14、步骤2.3、将分片数据与对应的序列号进行封装,得到封装后分片数据;
15、步骤2.4、将每片封装后分片数据使用pako库进行压缩。
16、步骤4具体按照以下步骤实施:
17、步骤4.1、设置一个标志变量n来记录最优条数,初始值为1,设置一个变量tprev来记录上一次分片数据传输的平均时间,初始值为t1;
18、步骤4.2、对上传分片数据进行递增循环测试,并计算当前平均传输时间;
19、步骤4.3、对递增循环测试进行比较判断,得到最优条数;
20、步骤4.4、根据最优数据条数为n,后续n条分片数据上传至服务器。
21、步骤4.2具体按照以下步骤实施:
22、步骤4.2.1、每次循环中,上传分片数递加1,记为ni,并记录ni条数据传输时间为tni;
23、步骤4.2.2、计算ni条数据的平均传输时间
24、步骤4.3具体按照以下步骤实施:
25、若tavg<tprev,则最优更新条数n=ni,并更新tprev=tavg;
26、若tavg≥tprev,则停止继续比较,最优条数即为n。
27、本发明的有益效果是:通过自适应功能模块,找到最适合当前客户环境的上传量,有效的实现低速环境下降低上传量,高速环境下增加上传量;
28、通过md5摘要算法获取大文件的摘要,将文件进行切片,获得分片数据,并记录分片数据总数和每个分片数据的序列号,根据分片数据和分片数据的序列号进行重组生成重组切片,通过pako进行数据压缩,减少数据体积;
29、通过设置indexeddb数据库,使将数据持久化保存在前端,并且存储容量大。因此可以保障大数据的存储及数据的可靠性上传,即使由于各种原因数据没有上传到服务端,也可以保证下次进入系统后,自动进行后续文件的上传。
1.基于网络自适应构建前端安全可靠的数据传输方法,其特征在于,具体按照以下步骤实施:
2.根据权利要求1所述的基于网络自适应构建前端安全可靠的数据传输方法,其特征在于,所述步骤1具体按照以下步骤实施:
3.根据权利要求1所述的基于网络自适应构建前端安全可靠的数据传输方法,其特征在于,所述步骤2具体按照以下步骤实施:
4.根据权利要求1所述的基于网络自适应构建前端安全可靠的数据传输方法,其特征在于,所述步骤4具体按照以下步骤实施:
5.根据权利要求5所述的基于网络自适应构建前端安全可靠的数据传输方法,其特征在于,所述步骤4.2具体按照以下步骤实施:
6.根据权利要求5所述的基于网络自适应构建前端安全可靠的数据传输方法,其特征在于,所述步骤4.3具体按照以下步骤实施:
