# QT分布式计算框架 **Repository Path**: dmx007/QT_Distributed_Computing_Framework ## Basic Information - **Project Name**: QT分布式计算框架 - **Description**: QT分布式计算框架 - **Primary Language**: C++ - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 17 - **Forks**: 18 - **Created**: 2018-06-04 - **Last Updated**: 2025-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # QT分布式计算框架 博客地址:https://blog.csdn.net/d7185540/article/details/80445433 #### 项目介绍 QT分布式计算框架 #### 软件架构 C/S架构 #### 安装教程 文件夹中有对应代码,编译配置即可 #### 使用说明 本项目分为 客户端 服务器 计算节点 计算模板 DLL模板 为了防止提交dll函数出问题导致计算节点崩溃,因此计算节点与计算模板分为两个不同的程序。 计算节点会令外开启计算模板进程,计算模板再调用dll模板的handle函数 服务器也会开启计算模板进程,计算模板再调用dll模板中的read,sum函数 进程之间的通信使用了QT的local_socket.h ,监听端口为一个QString类型 如果与服务器本地通信则配置 [LocalServer] Port=localServer 如果为计算节点则配置为 [LocalServer] Port=localCaculate 否则会导致连接不上计算模板,导致计算失败 因此部署时建议专门一台电脑放置服务器程序并且计算模板与其同一目录 另一台计算节点与计算模板放置同一目录 如果只能一台电脑部署,参考源码文件exe文件夹中的位置修改配置文件即可 八皇后问题_DLL_CaculateTemplate 文件夹为八皇后模板 #### 算法 目前使用皇后算法进行测试 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。 该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 八皇后解法: n a(n) 1 1 2 0 3 0 4 2 5 10 6 4 7 40 8 92 9 352 10 724 11 2680 12 14200 13 73712 14 365596 15 2279184 16 14772512 17 95815104 18 666090624 19 4968057848 20 39029188884 21 314666222712 22 2691008701644 23 24233937684440 24 227514171973736 25 2207893435808352 26 22317699616364044