本项目构建了一个跨语言异构分布式计算平台,核心目标是在单一系统中整合多种编程语言的优势,实现高性能计算任务的统一调度与执行。系统采用经典的分层架构设计:Java Swing 客户端作为用户交互入口,通过 HTTP REST API 与 Python Flask 调度服务器通信;Python 层负责任务解析、负载均衡和结果汇总,并通过子进程调用 C++ 计算引擎执行实际运算;C++ 引擎实现了快速排序、归并排序、堆排序、矩阵乘法/求逆/行列式、统计分析、埃拉托色尼筛法素数计算等算法;C 语言通信库提供跨平台的 Socket 通信和共享内存 IPC 机制,支持进程间高效数据传输。
系统采用四层异构架构:
表现层(Java):Swing 桌面 GUI,提供任务配置、结果展示、系统状态监控;
调度层(Python):Flask Web 服务,RESTful API 设计,线程池异步任务调度;
计算层(C++):独立进程的高性能计算引擎,通过 stdin/stdout JSON 协议通信;
通信层(C):跨平台 Socket 库和共享内存 IPC,支持 Windows/Linux 双平台。
技术难点与解决方案
难点1:跨语言进程间通信
问题:Python 如何高效调用 C++ 引擎并获取结构化结果;
方案:采用 stdin/stdout JSON 管道协议,C++ 引擎从标准输入读取任务参数,计算完成后将结果以 JSON 格式输出到标准输出,Python 通过 subprocess 捕获输出并解析。
难点2:C++ 引擎的 JSON 解析
问题:C++ 标准库无内置 JSON 支持,引入第三方库增加复杂度;
方案:实现轻量级自定义 JSON 解析器,仅支持项目所需的基础类型(字符串、数字、数组),代码量控制在 200 行以内,零外部依赖。