论文网
首页 理科毕业设计毕业正文

共享资源排队调度系统的设计与实现

  • 投稿变美
  • 更新时间2015-09-28
  • 阅读量645次
  • 评分4
  • 14
  • 0

李 啸 虎

(厦门安防科技职业学院 福建 厦门 361102)

摘 要:在我们的日常生活、工作和学习中,有许多共享的设备与服务资源,其数量有限,经常出现多人争用的现象。这些共享资源如果分配不当,将会严重影响整个部门的工作效率。文章提出一种比较合理的调度分配共享资源的方案,并利用软件系统实现自动地对共享资源调度的先后顺序进行计算分析,从而有效地提升办公与生产效率。

教育期刊网 http://www.jyqkw.com
关键词 :共享资源;排队调度系统;排队优先权指数;效率提升;ASP.NET

中图分类号:TP393 文献标识码:A doi:10.3969/j.issn.1665-2272.2015.03.043

*基金项目:福建省教育厅A类科技项目(编号:JA13462)

收稿日期:2014-11-28

0 引言

前些年我们去银行办理金融业务,常常要前拥后挤地排队等候很长时间,一直站到腰酸背痛腿抽筋。后来各大银行纷纷引进了排队机(排队叫号系统)。

银行排队叫号系统使用极大地方便了办理业务的顾客,为改善服务质量、树立良好的形象、解决劳累排队现象,为创造舒适、公平、友好的人性化服务环境发挥了积极的作用。

同样地,在一个办公或生产部门,也有许多共享的设备与服务资源(以下统称为“共享资源”),其数量有限,经常出现多人争用的现象。共享资源可能是某种机器设备,也可能是某种人工服务。例如,办公室的公用打印机、复印件,生产加工部门的特殊工具、仪器仪表等。

银行客服大厅里的排队机采用先到先服务(FCFS)的算法进行调度,这是社会大众可以普遍接受的一种方式。然而对于一个部门内部的共享资源,这种方式则不一定科学适用。原因在于先到先使用的分配方式对于整个部门的工作效率并不是最好的。在计算机系统中,如果临界资源分配不当,将会严重影响整个系统的工作效率,办公和生产部门的共享资源的调度使用,也存在同样的问题。

例如,办公室的甲、乙两人都要使用复印机,甲先到了1min,按照先到先用的原则,应该由甲先使用。可是乙要复印的是非常紧急的资料,而甲的资料并不急用,在这种情况下,就应该让乙先使用。又如,同样的情况,甲、乙两人都要使用复印机,甲先到了1min,按照先到先用的原则,应该由甲先使用。可是甲估计要占用20min,而乙只用2min,在这种情况下,就应该由乙先用。

在以上两个例子中,甲排队的次序都在乙之前,如果按照先到先使用的原则,应该由甲先使用,如果甲不愿意把使用的优先权让出,则可能会令乙的急件复印被耽搁或而影响到其他工作。从提高部门总体办公效率的立场出发,都应该由乙先使用。无疑,这种做法降低了一个部门总的生产与经营成本,是值得提倡与推广的。但在实际工作过程中,情况往往又是千变万化的,如果这种关系处理不当,就会产生矛盾,影响人际关系,反而可能会降低工作效率。因此,利用量化分析进行决策是有必要的。

针对这个问题,我设计了一套“共享资源排队调度系统”软件,可以通过权衡多种因素,计算出排队者使用共享资源的先后顺序,以协助办公和生产部门解决共享资源使用中的各种棘手问题。系统计算排队次序会权衡四个方面的因素:①预计占用时间;②工作任务的紧急性;③如果是小组协作工作,要考虑工作小组的人数;④申请者已等待时间,避免无限期等待。系统通过权衡权衡这几个方面因素,动态地计算分析,最终得到最优方案。利用此系统可以解决办公和生产加工部门中共享资源排队调度的问题,显著减少内耗,提高工作效率。

1 排队调度系统软件的实现技术

排队论理论中的“排队系统”由输入过程、排队及排队规则、服务机制三个基本部分组成。而这里所说的“排队调度系统”则是“共享资源排队调度系统”软件的简称,利用ASP.NET程序开发技术,采用B/S通信模式。所使用的基本开发工具为Microsoft Visual Studio 2008,以SQL Sever 2008作为后台数据库支持。在系统的性能方面,B/S在异地浏览和信息采集的灵活性上占有优势。对于一般用户,不需要安装专门的软件,只要可以使用浏览器上网,就可以使用B/S系统的终端。不论是普通台式机、笔记本电脑、平板电脑,还是智能手机,都可以通过浏览器登录。系统的扩展也非常容易,首先由系统管理员分配一个用户名和密码,只要能连入互联网就可以使用。

2 软件的适用场所与基本功能

“共享资源排队调度系统”软件适用于一切存在共享资源的办公或生产部门。本文以某办公大楼的共享资源调度为例,对软件进行介绍。案例背景:一栋办公楼内有工作人员数百人,文印室内放置了复印机、打印机等若干部共享设备(即共享资源)。工作时间来文印室复印、打印的人很多,有时候要等待很久才能用上。某员工要使用复印机,如果他坐在文印室里等候,那么其他的工作就必须停下来,如果离开一会儿去做其他事情,又可能被后来的人抢占去。考虑到文印室面积和开支等因素的限制,目前暂时不添置新设备,如何在此前提下提高效率,改善办公环境?我们的解决方案是:员工通过登录到“共享资源排队调度系统”进行申请,系统利用优先权算法,决定谁在什么时候使用共享资源。

3 软件的基本功能页面

共享资源排队调度系统软件的用户包括部门的管理人员和普通员工两类。以管理人员的身份登录系统后,可具有整个排队调度系统的所有权限;而普通员工的权限主要是申请共享资源和查看排队情况。软件的基本功能见图3所示。

用户在浏览器中键入网址,启动系统的登录页面,选择用户类型并键入正确的密码后,便可以登录到系统的基本操作页面,如图4所示。

基本操作页面是一个框架页面,由多个小页面构成,通过点击左侧的功能列表,可以跳转到不同子页面中。系统的全部功能正是包含在这些子页面中。以下对子页面功能进行简单介绍:

(1)共享资源申请页面。

此页面是普通员工申请设备所必须的,管理人员参与现场管理有时候也会有申请设备的需要。

(2)查看共享资源排队页面(见图6)。

在用户提交使用申请后,将在共享资源排队页面中显示出排队信息。用户可以在此页面查看自己所申请的共享资源排队情况、当前某资源的使用者,以及其他工作者的排队情况等。管理人员还可以强制结束当前正在占用共享资源的任务,并将使用权交给下一位申请者。

(3)历史排队记录总结页面(见图7)。

历史排队记录总结页面将已经完成的排队调度任务显示于报表中。

(4)删除历史排队记录页面。

删除过期无用历史排队记录,以提高数据库效率。

(5)共享资源使用月结表页面(见图8)。

共享资源使用月结表页面可以统计出某共享资源某月的使用情况,如:本月总使用时间、日均使用时间、最长使用时间、最短使用时间、每次平均使用时间等等。

(6) 员工工作月结表页面(见图9)。

员工工作月结表页面可以统计出某位工作者在某月申请使用共享资源的情况。例如:估计占用共享资源的时间、实际占用共享资源的时间、日均占用时间、最长占用时间、最短占用时间、每次平均占用时间等等。

共享资源使用月结表模块是以共享资源为中心进行月结统计,而员工工作月结表模块则是以人为中心进行月结统计总结。管理者可以通过查看历史排队记录总结页面、共享资源使用月结表页面和员工工作月结表页面,对资源调度情况进行分析总结,以便今后改进工作。

(7) 共享资源列表页面。

用于查看、添加和删除当前系统中的共享资源,使系统可以根据部门共享资源的具体情况进行调整,具有更强的可扩展性。

(8) 员工名单列表页面。

员工列表页面用于查看、添加和删除工作人员名单。

(9) 计算排队优先权的相关参数设置页面(见图10)。

排队优先权指数是系统用于计算共享资源使用先后次序的根本依据。此界面允许有经验的管理人员根据工作现场的实际情况对计算排队优先权指数的相关参数进行修改,令系统工作更高效。

(10) 任务紧急性系数列表页面(见图11)。

管理人员可以利用任务紧急性系数列表页面查看、添加和删除工作任务的类型和紧急性系数,作为申请共享资源的基本依据。根据工作性质,分为非常紧急、紧急、正常工作、较缓和不紧急五级,紧急性系数在1~5之间。

(11) 修改登录密码页面。

管理人员利用此页面对不同类型用户的登录密码进行管理。

(12) 查看日期时间页面。

查看日期时间页面是一个用JavaScript语言编写的万年历程序,方便用户查看工作时间。

4 软件的功能实现与举例论证

工作者通过系统申请和使用共享资源的流程如图12所示。

对图12简述如下:

(1)用户利用计算机或手机登录到本系统。

(2)在共享资源申请页面中提交使用申请。

(3)在共享资源排队页面中查看自己的排队情况,然后可以一边等待一边去做其他工作。

(4)轮到自己时,系统会发出提示,开始获得共享资源的使用权。

(5)占用结束,释放资源的使用权给其他人。

几点相关说明:

(1) 在采用排队调度系统之前,去文印室排队使用设备是有限的混合制排队,文印室的面积决定了排队人数总和;现在工作者通过软件申请使用设备,提交申请后可以继续在自己的工作岗位,一边工作一边等候服务,排队人数不再受文印室面积限制,属于无限排队。

(2) 排队规则由从前的先到先服务(FCFS)变为具有优先权的服务(PS),工作者使用共享资源的先后次序是由排队优先权指数决定的,该指数越大,使用的优先权就越高。排队优先权指数与任务紧急性系数、操作人数、已等待时间、估计占用时长这四个因素有关。排队优先权指数计算公式是:

χ=p1σ+p2Stw-p3te (1)

式(1)中χ表示排队优先权指数,是工作者使用共享资源的先后次序的基本依据;σ表示任务紧急性系数,表示工作者使用共享资源的紧急程度;S为该操作的相关人数;tw是操作者已排队等待时间;te 是工作者对共享资源的估计占用时间。

P1、P2、P3是比例系数,默认值:P1=30,P2=0.8,P3=1.2,也可以由管理人员进行设置,如图10所示。由此式看,申请者的当前任务越是紧急(任务紧急性系数越大),操作相关人数越多,已经等待时间越长,估计占用时间越小,则某一时刻计算得到的排队优先权指数就会越大。可见排队优先权指数是综合权衡以上四个因素计算得到的,这四个因素的权重可以通过比例系数P1、P2、P3进行调节。

排队优先权指数是动态变化的,每分钟计算刷新一次。如果一个申请者(组)的任务紧急性相对较高,操作人数相对较多,而估计占用时间又较少,则他们的排队优先权指数就会在较短时间内超过前面其他的申请者,从而获得优先使用共享资源的权利。甚至有的时候,某个工作者(组)的申请刚刚提交,就可以获得资源的使用权。

(3)使用本排队调度系统申请共享资源,可以是单队单服务台模式,也可以是单队多服务台模式或多队多服务台模式。如果一名用户在的资源申请页面(见图5)同时申请两个以上的共享资源,便是单队多服务台模式。因此,如果以Kendall记号表示,可以表示为M/M/1/∞/∞/PS或M/M/n/∞/∞/PS。

以下将模拟某个工作日的上午,在某个办公部门,工作者排队使用一台复印机的情况,并以实际数据验证共享资源排队调度系统是如何减少总体等待时间,从而提升工作效率的。需要说明的是,任务紧急型系数是一个多层次、全局性的因素,它的影响实际贯穿于整个部门工作的各个环节,不易从一个简单测试中直观发现问题。故这里只从另外三个因素入手,假设所有的随后任务都是正常工作,即任务紧急性系数都是3。

表1是按照先到先使用的排队申请方式下的排队记录。

从表1可以看出,每位申请者的序号既是申请时间先后顺序,也是开始使用的先后顺序。所有排队任务的总等待时间是:

总等待时间=8s×2人+15min 7s×1人+24min 30s×3人+ ……+46min 6s×3人=26h 30min 15s

对于此资源的排队与使用情况,如果采用共享资源排队系统进行调度,则结果如图13所示。

为了更加清晰准确查看统计数据,现将时间单位精确到秒,总结到表2,然后再次计算总等待时间。

由表2可知,采用排队系统算法的总等待时间为:

总等待时间 = 8s×2人+ 10min 20s×3人 + 27min 22s×1人 + …… + 46min 6s×3人=18h 34min 3s

采用排队调度系统的算法比先到先使用算法节省的时间:

(26h 30min 15s-18h 34min 3s)/ 26h 30min 15s × 100%=29.9%

可见,采用本排队调度系统使工作者的总等待时间减少了约30%。当然,对于这个部门,所获得的利益绝不仅如此——利用排队调度系统后,员工不须呆在文印室里等候,而是可以充分利用这段时间先去做其他工作。为简单起见,此案例中采用的是单队单服务台模式,如果采用单队多服务台模式,效率将会更高。还有一个在此案例中并没有涉及到的问题,就是让处于紧急工作状态的人先使用共享资源,可以为整个部门带来巨大的隐形收益。这正如行路中让警车、救护车、救火车先行的做法,其实便是紧急任务优先原则在交通规则中的体现。

5 结语

目前,类似银行客服大厅的排队叫号系统也广泛用于通信、邮政、政府、保险、工商、税务、海关、公安、医院等众多窗口服务行业。其他类似的排队调度系统还有:目前在一些大学的图书馆中,为了解决部分学生以物代人随意占座而导致阅览室座位紧张的现象,开始采用凭借书卡到排位机上取票后方可入座的做法,学生打卡离馆后座位自动释放。相信随着信息科技的发展,类似这样的共享资源调度分配系统会越来越多,使我们的生活、工作和学习更加方便。

教育期刊网 http://www.jyqkw.com
参考文献

1 康春颖.ASP.NET实用教程[M].北京:清华大学出版社,2008

2 Jason Bell, Mike Clark. ASP. NET Programmer’s Reference[M].Wrox Press Ltd,2005

3 曾勇,董丽华,马建峰.排队现象的建模、解析与模拟[M].西安:西安电子科技大学出版社,2011

(责任编辑 吴 汉)