负荷分担的可靠性系统仿真2

负荷分担的可靠性系统仿真2

ID:26533362

大小:103.50 KB

页数:8页

时间:2018-11-27

负荷分担的可靠性系统仿真2_第1页
负荷分担的可靠性系统仿真2_第2页
负荷分担的可靠性系统仿真2_第3页
负荷分担的可靠性系统仿真2_第4页
负荷分担的可靠性系统仿真2_第5页
资源描述:

《负荷分担的可靠性系统仿真2》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、负荷分担的可靠性系统仿真2任务分析2根据任务具体设计2总控节点的设计2总体思路2详细设计3总控节点流程及主要函数3负荷节点的设计6总体思路6详细设计6负荷节点流程6测试说明7补充8负荷分担的可靠性系统仿真任务分析l设计有三个节点的分配规则算法l进程间通讯使用套接字、规定协议(定义结构体作为消息)l开发环境VC6.0、编程语言Cl设计完整的测试程序根据任务具体设计总控节点的设计总体思路继续监听把处理结果发送给用户调用处理函数根据不同请求进行处理等待用户链接并接收用户发来的消息初始化创建监听套详细设计总控节点流程及主要函数1.定义变量用于套接字初始化和通讯使用2.建立套接字i

2、ntsocket(  intdomain,//地址族的类型AF_UNIXAF_INETinttype,//支持的数据格式:流SOCK_STREAM/报文SOCK_DGRAM  intprotocol);//支持的协议,建议为0  返回值:成功返回文件描述符号。失败返回-1;3.绑定端口intbind(SOCKETs,//标识一未捆绑套接口的描述字conststructsockaddrFAR*name,//赋予套接口的地址intnamelen//namelen:name名字的长度);sockaddr结构定义如下:structsockaddr{u_shortsa_family

3、;charsa_data[14];};4.监听intlisten(SOCKETs,//用于标识一个已捆绑未连接套接口的描述字intbacklog//等待连接队列的最大长度);1.等待用户连接SOCKETaccept(SOCKETs,//套接口描述字,该套接口在listen()后监听连接structsockaddrFAR*addr,//可选)指针,指向一缓冲区,其中接收为通讯层所知的连接实体的地址。Addr参数的实际格式由套接口创建时所产生的地址族确定intFAR*addrlen//(可选)指针,指向存有addr地址长度的整型数);返回值:成功返回一个新的套接字描述符,失败

4、返回-1。  2.接收数据intrecv(SOCKETs,//一个标识已连接套接口的描述字charFAR*buf,//用于接收数据的缓冲区intlen,//缓冲区长度intflags//指定调用方式);返回值:成功返回接收字节数,失败返回-1。  1.判断命令根据不同命令字进行节点信息的获取并做相应处理2.将处理结果发回用户intsend(SOCKETs,//一个用于标识已连接套接口的描述字constcharFAR*buf,//包含待发送数据的缓冲区intlen,intflags//缓冲区中数据的长度);3.重复执行5-9负荷节点的设计总体思路初始化显示、化创建等待总控节

5、点链接并接收其发来的消息根据消息中命令字进行处理发送相应数据回总控节点刷新显示内容返回继续等待总控节点连接详细设计负荷节点流程1.定义变量用于套接字初始化和通讯使用2.初始化显示信息、建立套接字3.绑定端口4.监听5.等待总控节点连接6.接收数据7.判断接收数据中命令字符做相应处理(介入用户、释放用户、发送节点信息回总控节点)8.刷新显示重复执行5-8测试说明根据被测系统的特点本设计采用键盘输入进行相应测试输入不同命令调用不同函数进行系统测试:进行测试之前需要打开目录Debug或Release下的五个.exe文件,打开顺序没有要求,如果node1-3未打开之前进行了输入测

6、试,需要根据nodeSys提示打开node1、2或3。1.输入小写字母c、回车,根据提示输入用户ID号、回车,可以接入用户如果用户ID已经存在将接入失败并提示也可以直接输入c空格用户ID按enter键系统将会根据分配原则随机将用户接入相应负荷节点。1.与接入用户命令同样的方法输入小写r可以释放用户。如果用户不存在将提示2.同理输入小写g可以获取用户所在的负荷节点的号,如果输入用户不存在将终止测试程序3.输入大写G并输入负荷节点号可以得到该节点上的用户数目,节点号不存在将终止测试程序4.如果输入小写q或大写Q将结束测试程序。补充:每个负载节点将实时显示该节点上最后一个创建的

7、用户ID和最后一个释放的用户ID以及当前在该节点上所有的用户ID和所有用户总数目本系统中传送的消息结构体有两类:1typedefstructuser{charbussy;//用于标示监听端发送到客户端的数据开始intuserID;//保存用户IDintPINodeID;//保存负荷节点号intPINodeP;//用于保存节点端口号charcmd;//传送的命令intPINodeUsers;//节点上的用户数目}USER,*pUSER;user结构体是主要的消息载体,用于用户与总控节点,总控节点与负荷节点的消息传送2typede

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。