云沙箱三层存储协同及网络文件系统优化系统及方法与流程

摘要: 本发明涉及云计算存储,尤其涉及一种云沙箱三层存储协同及网络文件系统优化系统及方法。背景技术:1、云沙箱是一种为智能体、代码执行、持续集成等场景提供隔离运行环境的...
云沙箱三层存储协同及网络文件系统优化系统及方法与流程

本发明涉及云计算存储,尤其涉及一种云沙箱三层存储协同及网络文件系统优化系统及方法。

背景技术:

1、云沙箱是一种为智能体、代码执行、持续集成等场景提供隔离运行环境的技术。每个沙箱以轻量级虚拟机为载体,具有独立的计算资源、网络命名空间和存储挂载点。在大规模多租户部署场景下,单个宿主机节点需同时承载数百个并发沙箱实例,对底层存储系统的性能、一致性和可靠性提出了极高要求。

2、现有云沙箱存储架构通常采用单一存储形态。对象存储方案适合冷数据归档,但随机读延迟高,不适合频繁输入输出的运行时环境。块存储方案提供低延迟随机访问,但缺乏文件共享能力,无法支持跨沙箱的持久化卷。分布式文件存储方案支持共享访问,但在沙箱突发终止时存在临时文件残留、缓存失效等一致性问题。

3、现有技术在实际部署中存在多方面问题。在存储协同方面,多种存储形态各自独立管理,沙箱全生命周期的存储状态难以保持一致,模板删除后相关构建产物残留占用存储空间,块设备故障难以定位关联实例。在网络文件系统运行方面,沙箱异常终止时临时文件永久残留,文件句柄缓存大小固定且全局共享导致高并发场景下缓存频繁失效,挂载模式固定无法兼顾数据可靠性与吞吐量,并发初始化时竞争失败无明确反馈导致沙箱以异常状态运行。在调度方面,节点选择仅考虑单一资源维度,易导致资源不匹配引发运行异常,且调度失败原因不明确难以诊断。

技术实现思路

1、本发明提供一种云沙箱三层存储协同系统,包括对象存储层、块存储层、文件存储层和生命周期管理器;所述对象存储层,用于通过统一的存储后端抽象接口兼容多种对象存储服务,存储沙箱模板的只读构建产物;所述块存储层,用于采用网络块设备协议为每个沙箱提供专属的虚拟块设备,其中,所述虚拟块设备用于承载沙箱可写的根文件系统差量层;所述文件存储层,用于采用网络文件系统协议为沙箱提供可读写的持久化共享卷,由宿主机上的网络文件系统代理服务提供服务端能力;所述生命周期管理器,用于协调所述对象存储层、所述块存储层和所述文件存储层在沙箱全生命周期中的状态一致性。

2、根据本发明的一个实施方式,所述生命周期管理器,用于:在沙箱模板被删除时,触发所述对象存储层中与该沙箱模板关联的构建产物的联动清除;或者在沙箱销毁时,同步释放所述块存储层中该沙箱的虚拟块设备资源和所述文件存储层中该沙箱的卷挂载资源。

3、根据本发明的一个实施方式,所述存储后端抽象接口定义对象存储相关操作的统一调用方式。

4、根据本发明的一个实施方式,所述生命周期管理器在接收到沙箱模板删除请求时,在数据库中软删除该沙箱模板的记录,并触发异步对象存储清理任务;所述异步对象存储清理任务确定该沙箱模板在所述对象存储层中的关联对象,通过所述存储后端抽象接口对所述关联对象执行删除操作;在删除过程中,对于兼容简单存储服务协议的对象存储后端,仅对响应头中携带校验和字段的校验不匹配情况记录告警。

5、根据本发明的一个实施方式,所述块存储层提供块设备状态查询工具;所述块设备状态查询工具,用于遍历宿主机上预配置的全部网络块设备的状态目录,读取每个状态目录下的进程标识文件,根据所述进程标识文件的内容确定并记录处于活跃连接状态设备的状态信息;所述块设备状态查询工具输出活跃连接设备的状态信息列表;所述块存储层通过内存中的位图数据结构返回该宿主机的设备池的最大设备数、已使用设备数和预热设备数。

6、根据本发明的一个实施方式,所述块存储层还包括网络块设备数据读取优化模块;所述网络块设备数据读取优化模块将网络块设备协议的控制头与负载数据合并为单次分散读系统调用,通过所述分散读系统调用的输入输出向量数组将控制头缓冲区和负载数据缓冲区分别指向不同内存区域,内核在所述分散读系统调用中对所述控制头缓冲区和所述负载数据缓冲区执行连续拷贝。

7、根据本发明的一个实施方式,所述块存储层还包括永久缺失对象请求抑制模块;所述永久缺失对象请求抑制模块检测到构建对象首次读取失败后,向后端存储再次发起读取请求,确认再次发起的读取请求仍返回对象不存在,将该对象标记为永久缺失状态;后续针对该对象的读取请求,根据所述永久缺失状态,直接返回缺失错误。

8、根据本发明的一个实施方式,还包括多维调度器;所述多维调度器在为沙箱选择宿主节点时执行多阶段串行过滤;所述多阶段串行过滤依次包括节点接受状态过滤、处理器架构兼容性过滤、标签约束过滤和内存水位过滤,每个过滤阶段维护独立的拒绝节点计数器;所述节点接受状态过滤剔除处于维护或关闭状态的节点;所述处理器架构兼容性过滤匹配处理器家族和处理器型号约束;所述标签约束过滤支持用户自定义节点标签亲和性;所述内存水位过滤预留内存水位;确认过滤后候选节点集非空,所述多维调度器从候选节点集中随机采样若干节点,并选取当前负载最低的节点分配沙箱;确认候选节点集为空,所述多维调度器返回包含各阶段拒绝节点数和构建请求处理器架构信息的结构化错误信息。

9、根据本发明的一个实施方式,所述文件存储层通过统一的卷后端抽象接口支持将持久化卷的底层实现替换为多种分布式文件系统;所述卷后端抽象接口定义持久化卷相关操作的统一调用方式;系统启动时,工厂函数根据部署配置文件中指定的存储后端类型实例化对应的后端实现,上层沙箱编排逻辑通过所述卷后端抽象接口执行持久化卷操作。

10、根据本发明的一个实施方式,所述网络文件系统代理服务为每个租户的卷目录建立独立的根目录切换环境;所述网络文件系统代理服务将每个租户的卷目录绑定挂载到独立的根目录切换根目录下;所述网络文件系统代理服务根据沙箱的网际协议地址关联到对应的租户根目录切换实例;确认沙箱销毁,通过网络释放钩子函数遍历该网际协议地址关联的全部根目录切换实例并执行关闭操作。

11、本发明还提供一种云沙箱网络文件系统运行优化方法,包括挂载模式自适应选择;所述挂载模式自适应选择包括:在沙箱创建请求的卷挂载配置中引入同步模式标识字段;确认所述同步模式标识字段指示启用同步模式,采用同步挂载选项挂载网络文件系统卷;确认所述同步模式标识字段指示启用异步模式,采用异步挂载选项挂载网络文件系统卷;所述同步挂载选项和所述异步挂载选项预构建为全局配置,挂载时根据所述同步模式标识字段的取值动态选择对应挂载选项。

12、根据本发明的一个实施方式,还包括孤儿文件自动回收;所述孤儿文件自动回收包括:确认沙箱销毁,通过网络释放钩子函数遍历该沙箱关联的网络文件系统挂载目录,匹配临时残留文件命名模式,删除匹配的临时残留文件;所述临时残留文件命名模式为以网络文件系统协议标识开头的临时文件命名格式。

13、根据本发明的一个实施方式,所述同步挂载选项包含写操作同步到达网络文件系统代理服务端后返回的配置;所述异步挂载选项包含允许内核批量写回的配置;所述同步模式标识字段的默认取值指示启用同步模式;所述同步模式标识字段由应用程序编程接口层在接收沙箱创建请求时提取,映射至卷挂载配置结构。

14、根据本发明的一个实施方式,还包括文件句柄缓存动态配置;所述文件句柄缓存动态配置包括:网络文件系统代理服务的文件句柄最近最少使用缓存大小配置为可运行时调整的参数;进程启动时从环境变量读取缓存大小配置值。

15、根据本发明的一个实施方式,还包括并发初始化竞争保护;所述并发初始化竞争保护包括:通过原子比较并交换操作保证同一沙箱的网络文件系统初始化互斥,确认检测到并发初始化竞争,后到请求返回明确的竞争错误标识,调用方收到所述竞争错误标识后执行重试。

16、本发明通过三层存储协同生命周期管理,实现沙箱全流程存储状态一致性,减少跨层存储资源泄漏,降低运营存储成本。

17、在网络文件系统运行优化方面,通过挂载模式自适应选择,使同一存储系统可兼顾数据可靠性与输入输出吞吐量,无需部署两套独立存储系统,降低架构复杂度。通过孤儿文件自动回收,减少沙箱异常终止场景下的临时文件残留。通过文件句柄缓存动态配置,适配不同并发规模的缓存需求,减少高并发场景下的缓存失效错误。通过并发初始化竞争保护,以明确错误反馈替代静默返回,使数据挂载状态对调用方透明,减少数据丢失的无感知风险。

18、在调度与可扩展性方面,通过多维调度,综合评估处理器架构、内存余量、标签约束等因素,实现多租户资源精准匹配,并以结构化错误信息提升调度故障可诊断性。通过可插拔分布式存储后端设计,使底层存储实现与沙箱编排系统解耦,为不同规模部署场景提供灵活选型能力。