# 水声算法全协议集成与调度平台 - 需求规格说明书 文档信息 项目 内容 文档版本 V1.0 编写日期 2026.01 适用范围 软件研发、测试、交付、客户使用指导 目标客户 高校水声实验室、水声领域研究所、海试现场测试团队 一、项目背景与目标 1.1 项目背景 当前水声算法研发场景中,存在多语言算法混用(Python/MATLAB/C/C++)、接口定义混乱、算法迭代频繁、跨语言调用复杂等问题,高校 / 研究所科研人员需投入大量精力解决工程适配问题,而非聚焦算法本身;海试现场则面临设备轻量化、操作零门槛、离线处理、快速出结果的核心诉求,现有工具无法同时满足科研试错与工程应用的双重需求。 本公司作为 2-3 人规模的水声算法科技企业,依托 Python 核心技术栈,打造一款轻量化、高适配、零门槛的水声算法智能调度处理软件,解决行业核心痛点。 1.2 项目目标 功能目标:实现多语言算法统一纳管、复杂接口零代码适配、跨语言算法自由组合调度、全流程自动化处理与容错溯源,支持海试数据质量检测专属场景。 性能目标:轻量化离线部署,客户侧零硬件成本,支持大体积水声数据分块处理,跨语言算法调用性能与原生调用持平,整体容错率≥95%。 体验目标:Web 界面可视化操作,全程零代码 / 极简代码,客户无需掌握工程开发知识,10 分钟即可上手,错误可自主快速修复。 商业目标:贴合微型企业研发节奏,快速落地商业化,同时预留工业级拓展接口,支撑长远业务发展。 二、核心需求 2.1 总体功能需求 软件整体分为算法库管理模块、接口配置模块、算法调度模块、数据处理模块、容错溯源模块、客户扩展模块、海试专属模块七大核心模块,所有功能均通过 Web 界面实现,支持本地离线运行,无网络依赖。 2.2 详细功能需求 2.2.1 算法库管理模块 双仓库管理 内置官方标准算法库:包含水声通用算法(降噪、特征提取、频谱分析、数据清洗、质量检测等),支持一键调用、免费迭代更新。 开放客户自定义算法库:支持客户上传自研算法,兼容 Python/MATLAB/C/C++ 多语言,算法按 “语言 - 名称 - 版本” 分类展示,支持搜索、筛选。 黑盒化封装 所有算法(标准 / 自研、任意语言)均封装为标准化黑盒插件,对内保留完整算法逻辑,对外仅暴露基于标准化中间数据的输入输出接口。 系统自动完成算法的黑盒化处理,客户无需做任何封装、编译、转换操作。 版本化管理 支持算法多版本保存,自动按 “V + 数字” 打标版本号,也支持客户自定义版本号与版本备注。 支持算法版本一键切换、回滚,可选择任意版本作为当前调用版本,无需重新配置接口。 支持两个版本算法的效果对比:用同一组测试数据运行,自动生成维度、核心指标、可视化结果的对比报告。 保留所有版本的修改日志(修改人、修改时间、备注),支持版本溯源与无用版本轻量删除。 2.2.2 接口配置模块 双接口模式 通用接口模式:预设水声行业标准输入输出字段(如输入:清洗后数据 + 采样率;输出:特征数组 + 信噪比),一键调用,无需配置,适配 80% 常规场景。 自定义接口模式:支持复杂接口零代码配置,适配科研试错的个性化需求。 零代码配置能力 支持通过下拉选择、字段拖拽、多字段组合完成输入 / 输出接口与标准化中间数据的映射。 支持为映射字段添加轻量预处理,内置预处理算子库(维度展平 / 取维 / 切片、类型转换、归一化 / 标准化、空值过滤、平滑滤波等),一键选择即可应用。 支持预处理规则保存为个人模板,后续配置可直接复用。 实时强制校验 配置过程中实时完成5 类核心校验,配错即时弹窗提示 + 红色高亮错误位置,错误配置无法保存: ① 字段存在性校验:校验映射字段是否在标准化中间数据中存在 / 由前序算法生成; ② 数据类型校验:校验字段类型与算法输入要求是否匹配; ③ 数据维度校验:检测字段维度是否符合算法常规要求,不匹配则推荐预处理方案; ④ 参数完整性校验:多参数映射时校验是否漏配,高亮未配置参数; ⑤ 跨语言兼容性校验:配置非 Python 算法时,校验数据跨语言转换的兼容性。 接口模板管理 配置完成的通用 / 自定义接口均可保存为接口模板,标注模板名称与适用场景,后续调用算法可直接绑定模板,无需重新配置。 2.2.3 算法调度模块 可视化流程组合 支持 Web 界面鼠标拖拽排序,自由组合官方标准算法与客户自研算法,支持 Python/MATLAB/C/C++ 跨语言混编。 组合完成后系统自动做流程全局校验,校验前序算法输出与后序算法输入的接口衔接性,不匹配则即时提示并给出修复建议。 文字指令智能调度 支持客户输入自然语言指令(如 “检测海试声呐数据质量”“浅海低信噪比数据降噪 + STFT 特征提取”),系统自动解析意图、匹配场景算法,生成并执行调度流程。 自动化调度执行 按客户设定的顺序自动调度算法黑盒,全程完成标准化数据→语言专属数据→标准化数据的双向转换,客户无感知。 支持非依赖型算法并行调度,提升大体积数据处理效率。 执行过程中 Web 界面实时展示进度条 + 执行日志,显示当前执行算法、处理进度、耗时等信息。 流程模板管理 组合完成的算法调度流程可保存为流程模板(如 “海试数据质量检测流程”“浅海算法处理流程”),支持模板一键加载、修改、删除。 2.2.4 数据处理模块 标准化中间数据管理 定义WaterSoundData为唯一数据交换标准,包含四大核心字段,支撑全流程数据流转: ① 基础原始数据:原始声呐数据、采样率、采集时间、海洋环境参数等; ② 处理过程数据:清洗后数据、降噪后数据、时频数据、特征数组等中间结果; ③ 结果数据:最终处理结果、核心指标、可视化数据等; ④ 元信息:数据状态、执行日志、错误信息、算法版本记录等。 多语言数据转换 由语言专属桥接插件完成无损数据转换,优先采用内存级传递(内存直接映射 / 指针传递)保证高性能,失败则采用文件级兜底(.npy/.mat/.bin 水声专属轻量化格式)。 转换过程中自动完成数据类型、维度的适配,保证数据值与结构不丢失。 大体积数据处理 支持大体积水声数据自动分块处理,按水声数据特性拆分数据,逐块处理后自动合并结果,避免内存 / CPU 超限。 分块规则可由客户在 Web 界面简单配置(如分块大小、合并方式),也可由系统自动适配。 2.2.5 容错溯源模块 三层递进容错体系 配置阶段:实时校验 + 强制拦截,从根源拦截 90% 接口配置错误; 转换阶段:自动兜底适配,对维度 / 类型不兼容、空值 / 无穷值、跨语言数据丢失等问题自动修复,修复过程记录日志; 执行阶段:隔离式容错 + 降级执行,单个算法出错立即隔离,不影响整体流程;核心算法出错则自动调用同功能官方标准算法兜底执行,保证核心功能不丢失。 可视化异常处理 所有错误在 Web 界面异常中心集中展示,给出人话提示 + 一键修复建议,无需专业知识即可理解问题根源。 支持异常快速定位,点击异常信息可直接跳转到对应的配置 / 执行页面,方便客户修改。 全流程溯源 自动生成结构化溯源日志,记录从接口配置→数据转换→算法执行→结果输出的每一步操作、数据变化、容错处理,按时间顺序排列,高亮异常步骤。 自动生成接口配置校验报告,包含配置信息、校验结果、适配建议,支持日志与报告的在线查看、一键导出(JSON/Excel 格式)。 错误修改便捷性 接口配置与算法解耦,修改算法代码 / 参数无需重新配置接口,上传新文件即生效; 所有修改操作均在原配置 / 执行界面完成,无需跳转其他页面,改完即保存、重新执行。 2.2.6 客户扩展模块 多语言算法上传 支持客户上传各语言算法原始文件,操作极简,无需额外处理: ① Python:上传.py 文件 / 直接粘贴函数代码; ② MATLAB:上传.m 文件 / 直接粘贴函数代码; ③ C/C++:上传单个.c/.cpp 文件 / 多文件压缩包,仅需填写核心函数名。 系统自动完成 C/C++ 算法的编译(生成跨平台动态链接库)、所有语言算法的黑盒化封装,客户无感知。 两种扩展方式 零代码表单式(推荐,适配非开发岗):全程 Web 界面选择、配置,无需写任何代码; 极简代码式(适配开发岗):提供封装好的扩展函数,5 行代码即可完成自研算法的注册与适配。 轻量化环境适配 若客户电脑无 C/C++ 编译器 / MATLAB 引擎,系统给出一键安装引导(轻量版 MinGW,50M 左右;oct2py 开源库),无需配置环境变量。 技术支持入口 Web 界面内置技术支持入口,客户可一键导出错误日志 + 配置报告,直接发送给厂家,方便快速定位问题。 2.2.7 海试专属模块 一键质量检测 内置海试数据质量检测专属算法组合,支持客户上传海试原始数据,点击 “一键检测” 秒级出初步结果,几分钟内生成完整检测报告。 简洁直观的检测报告 报告包含核心检测指标(数据完整性、信噪比、数据噪声水平、有效数据占比)、异常点定位、检测结论(合格 / 不合格)、处理建议,支持报告导出(PDF/Excel 格式),适配现场汇报需求。 轻量化操作优化 海试模式下隐藏复杂配置功能,仅保留 “数据上传→一键检测→报告导出” 核心操作,界面简洁,非专业人员可快速上手。 离线快速运行 海试模式下系统自动优化资源占用,关闭非核心功能,保证在低配笔记本上也能快速、稳定运行,无卡顿、无崩溃。 2.3 非功能需求 2.3.1 性能需求 部署性能:支持 Windows/Linux/macOS 跨平台运行,单实例运行内存占用≤4GB,CPU 占用可控;客户侧仅需 Python 运行环境,无需 GPU / 高端服务器,零硬件成本。 执行性能: C/C++ 算法调用性能与原生编译执行持平,数据转换无额外损耗; 海试数据质量检测秒级出初步结果,1GB 以内数据完整处理时间≤5 分钟; 支持单文件≥10GB 的大体积数据分块处理,分块处理效率与单块处理持平。 响应性能:Web 界面操作响应时间≤1s,接口配置实时校验响应时间≤0.5s,算法调度流程启动响应时间≤2s。 2.3.2 稳定性与容错性需求 整体容错率≥95%,其中接口配置准确率≥90%,执行异常处理率≥98%,结果准确性≥99%; 支持 7×24h 连续运行,无卡死、无崩溃,可处理异常数据、复杂接口、跨语言混编等各类场景; 任意算法 / 步骤执行失败,均有兜底方案,保证流程不中断、核心结果可输出; 跨语言调用失败率≤1%,失败后自动切换兜底方案,无感知恢复。 2.3.3 易用性需求 全流程 Web 界面可视化操作,零代码 / 极简代码,科研人员 / 海试操作人员 10 分钟即可上手; 错误提示为自然语言人话提示,避免专业技术术语,同时给出明确的修复建议; 所有常用功能(算法上传、接口配置、流程组合)均有操作引导弹窗 / 图文帮助,支持一键关闭; 界面布局简洁,按 “功能模块” 分栏,核心操作(如一键检测、一键执行)突出显示,适配客户操作习惯。 2.3.4 安全性与兼容性需求 离线安全性:全程本地离线运行,无网络传输,符合水声行业涉密数据管理要求,不收集、不存储客户任何算法与数据; 数据安全性:客户算法与数据均存储在本地,系统仅做临时缓存,执行完成后可一键清理缓存,无数据泄露风险; 环境兼容性:支持 Python3.8 及以上版本,兼容 MATLAB R2018 及以上版本,C/C++ 编译器兼容 MinGW/GCC/MSVC; 格式兼容性:支持水声行业常用数据格式(.mat/.npy/.bin/.txt),输出结果可导出为 PDF/Excel/JSON 等通用格式。 2.3.5 可维护性与可扩展性需求 模块化设计:所有功能模块为可插拔式设计,开发、升级、维护互不影响; 易开发维护:基于 Python 生态开发,代码简洁、可读性强,2-3 人团队可快速完成维护与迭代; 易扩展:支持新增算法语言(如 Fortran/Julia)、新增预处理算子、新增容错规则,仅需开发对应轻量插件,无需重构核心代码; 版本迭代:支持产品小版本热更新,客户无需重新安装,仅需替换插件 / 脚本即可完成升级。 三、运行环境需求 3.1 开发环境 操作系统:Windows/Linux/macOS 均可; 开发语言:Python3.8+,C/C++(仅用于跨语言桥接); 核心依赖:NumPy、SciPy、Streamlit、matlab.engine、oct2py、ctypes、cffi 等。 3.2 客户运行环境 3.2.1 基础环境 操作系统:Windows 10/11、Linux(Ubuntu 18.04+)、macOS 10.15+; 核心依赖:Python3.8+(一键安装,无需配置环境变量); 硬件配置:CPU≥4 核,内存≥8GB,硬盘剩余空间≥10GB(低配笔记本 / 办公电脑即可满足)。 3.2.2 可选环境(按需自动安装) C/C++ 编译器:MinGW/GCC(轻量版,50M 左右,系统一键引导安装); MATLAB 环境:MATLAB R2018+(可选,无则自动切换 oct2py 开源库兜底)。 四、验收标准 4.1 功能验收 所有核心功能模块按需求实现,无功能缺失,操作流程与需求一致; 多语言算法(Python/MATLAB/C/C++)均可正常上传、黑盒化、调用,跨语言混编组合流程可正常执行; 复杂接口配置可完成所有个性化需求,实时校验准确,错误配置无法保存; 容错体系有效,单个算法出错可隔离、核心算法可兜底,流程不中断; 海试专属模块可实现一键检测,快速生成符合要求的检测报告。 4.2 性能验收 满足所有性能需求,部署在低配办公电脑上无明显卡顿,大体积数据可正常分块处理; C/C++ 算法调用性能与原生编译执行持平,数据转换无明显损耗; 海试数据质量检测 1GB 以内数据完整处理时间≤5 分钟,秒级出初步结果; Web 界面操作响应时间≤1s,无延迟、无卡死。 4.3 稳定性验收 连续 72h 运行测试,无崩溃、无卡死,资源占用稳定; 随机输入异常数据、配置复杂接口、进行跨语言混编,系统均可正常处理,容错率≥95%; 任意算法执行失败,系统均可实现隔离或兜底,核心结果可正常输出。 4.4 易用性验收 非专业人员(无工程开发知识)按操作引导,10 分钟内可完成算法上传、接口配置、流程组合、执行的完整操作; 错误提示清晰,修复建议明确,客户可自主完成 90% 以上的错误修改; 所有常用功能均有操作引导,界面布局简洁,操作逻辑符合客户使用习惯。