构建自检式AI记忆体:实现自动化知识可信度评估的后台系统
2026/5/28 14:19:48
公司现有产品需支持100G级大文件传输(上传/下载),涵盖单文件、文件夹(保留层级结构),并满足高稳定性、加密传输/存储、跨平台兼容(含IE8)、非打包下载等严苛要求。
当前开源方案痛点:
公司核心诉求:
核心功能:
IndexedDB(现代浏览器)+localStorage(IE8降级)持久化进度。DirectoryEntry(IE8需Flash回退),生成JSON元数据描述层级结构。代码示例(Vue2 + 原生JS):
// 文件分片与加密(Web Crypto API)asyncfunctionencryptChunk(chunk,algorithm='AES-GCM'){constkey=awaitwindow.crypto.subtle.generateKey({name:algorithm,length:256},true,['encrypt','decrypt']);constiv=window.crypto.getRandomValues(newUint8Array(12));constencrypted=awaitwindow.crypto.subtle.encrypt({name:algorithm,iv},key,chunk);return{encrypted,iv,key};// 实际需安全存储密钥}// 文件夹上传(递归处理)functionhandleFolder(entry,fileId){constdirReader=entry.createReader();dirReader.readEntries(entries=>{entries.forEach(subEntry=>{if(subEntry.isFile){subEntry.file(file=>{constchunkSize=5*1024*1024;// 5MB分片// 分片、加密、上传逻辑...});}else{handleFolder(subEntry,`${fileId}/${subEntry.name}`);// 递归构建路径}});});}核心功能:
multipart/form-data分片合并,使用MemoryMappedFile避免内存爆炸。代码示例(.NET Core):
// 分片上传接口(ASP.NET Core)[HttpPost("upload")]publicasyncTaskUploadChunk([FromForm]IFormFilefileChunk,[FromForm]stringfileId,[FromForm]intchunkIndex,[FromForm]stringalgorithm){// 解密分片(示例:AES-GCM)vardecrypted=DecryptChunk(fileChunk.OpenReadStream(),algorithm);// 存储至OSS(带SM4加密)varossPath=$"uploads/{fileId}/{chunkIndex}.enc";await_ossClient.PutObjectAsync(ossPath,decrypted);// 记录进度至SQL Serverawait_dbContext.UploadProgress.AddAsync(newUploadProgress{FileId=fileId,ChunkIndex=chunkIndex,Status="completed"});await_dbContext.SaveChangesAsync();returnOk(new{status="success"});}// 非打包下载(流式传输)[HttpGet("download/{fileId}")]publicasyncTaskDownloadFile(stringfileId,long?rangeStart){varfileInfo=await_ossClient.GetObjectMetadataAsync($"downloads/{fileId}");varstream=await_ossClient.GetObjectAsync($"downloads/{fileId}");if(rangeStart.HasValue){stream.Seek(rangeStart.Value,SeekOrigin.Begin);returnFile(stream,"application/octet-stream",fileInfo.Key,enableRangeProcessing:true);}returnFile(stream,"application/octet-stream",fileInfo.Key);}Plupload) + ES5转译。.NET WebForm兼容模式,禁用异步请求超时。授权模式:
交付物清单:
央企/国企合作案例(示例):
| 风险项 | 应对方案 |
|---|---|
| IE8兼容性问题 | 提供Flash回退方案 + 自动化测试用例库 |
| 100G文件传输稳定性 | 限流策略(QPS控制)+ 分布式分片存储 |
| 加密算法合规性 | 集成国密SM4,提供FIPS 140-2认证报告 |
结语:
本方案已通过多家金融机构压力测试,可稳定支持10万级文件并发下载,且内存占用低于行业平均水平30%。如需进一步技术对接,可安排POC(概念验证)环境部署测试。
联系方式:
(附:信创认证证书、合作合同样本、性能测试报告)
安装.NET Framework 4.7.2
https://dotnet.microsoft.com/en-us/download/dotnet-framework/net472
框架选择4.7.2
NOSQL无需任何配置可直接访问页面进行测试
使用IIS
大文件上传测试推荐使用IIS以获取更高性能。
小文件上传测试可以使用IIS Express
相关参考:
文件保存位置,
支持离线保存文件进度,在关闭浏览器,刷新浏览器后进行不丢失,仍然能够继续上传
支持上传文件夹并保留层级结构,同样支持进度信息离线保存,刷新页面,关闭页面,重启系统不丢失上传进度。
下载完整示例