模拟实现文件服务器系统逻辑,具体需求如下:
• 有6台分布式服务器,1 - 4号为普通文字处理服务器,5号为图片文件处理服务器,6号为视频文件处理服务器。
• 有三种对应类型的文件:文本文件,图片文件,视频文件。
• 异步随机生成各种类型的文件,生成各类型文件的概率比例为:
视频文件:文本文件:图片文件 = 1 :6 :3。
• 文件处理所需时间有最大值和最小值,在该范围内随机设定每种文件处理所需的时间,文本文件所需时间为最小值。
• 各类型文件在其对应服务器按顺序依次处理。
• 当5号和6号服务器没有等待处理的文件的时候,这两个服务器可以处理文本文件,而一旦有对应的文件等待处理的时候,则优先处理对应的文件。
• 随机生成文件产生时间间隔以及处理时间最大值和最小值自定,可以设置。
• 不要求实现GUI,只考虑系统逻辑实现,可通过Log方式展现程序运行结果。
• 有6台分布式服务器,1 - 4号为普通文字处理服务器,5号为图片文件处理服务器,6号为视频文件处理服务器。
• 有三种对应类型的文件:文本文件,图片文件,视频文件。
• 异步随机生成各种类型的文件,生成各类型文件的概率比例为:
视频文件:文本文件:图片文件 = 1 :6 :3。
• 文件处理所需时间有最大值和最小值,在该范围内随机设定每种文件处理所需的时间,文本文件所需时间为最小值。
• 各类型文件在其对应服务器按顺序依次处理。
• 当5号和6号服务器没有等待处理的文件的时候,这两个服务器可以处理文本文件,而一旦有对应的文件等待处理的时候,则优先处理对应的文件。
• 随机生成文件产生时间间隔以及处理时间最大值和最小值自定,可以设置。
• 不要求实现GUI,只考虑系统逻辑实现,可通过Log方式展现程序运行结果。
還是(b)直接中斷歸還工作處理新檔?這種工作分派其實沒有很複雜,首先每台伺服器有個虛擬排隊區
方法一 輪流
收到文字檔依序排給1~4,排滿了看5 6有沒有空,有就排給 5 6。遇到圖或視頻就排給 5 或 6。
如果5 6上述的(b),則將手上原本工作丟回重新分配。方法二 等比重
每台伺服器有個能力直,每個檔案也有簡單的分數(檔案大小),接著就計算每台伺服器比重,將檔案給最閒的伺服器。圖片及視頻基本上沒得選擇,遇到了就排給 5 6。方法三 權重
將分數高的檔案給能力高的伺服器。分配的方法大致如上所述,對於5 6 的處理可以混排依收到順序,或插隊圖檔或視頻可以往前排。
此外,要有一個工作協調者,記錄每台伺服器的工作狀態,並分配工作。以上是很粗略的描述,可以依實際情況做更彈性調配,甚至可以先寫模擬程式計算每種情況的時間,
做最佳配置。