基于Petri网的图书借阅系统的建模与优化分析
2019-02-11李增
李 增
( 安徽理工大学 数学与大数据学院, 安徽 淮南 232001 )
0 引言
图书借阅系统是一个分布式的系统,它涉及到数据库管理、分布式系统设计、数据数字化等多方面问题.在该系统中,如何在宏观层面上对分布式系统进行建模,以及如何指导系统后续设计与实现,对增大系统的容量和加强系统的可用性具有重要的作用.Petri网作为分布式系统的建模和分析的一种工具,可用于描述系统进程或部件的顺序、并发、冲突以及同步等关系,并且可对系统的活性、可达性、有界性等进行有效验证.目前,国内外有很多学者利用Petri网的行为轮廓、变化域、变更传播等性质对系统进行建模和优化.例如:文献[1]针对在访问选课系统中的临界资源时出现的不稳定性问题,建立了一种基于Petri网的选课系统流程模型,并利用“生产者-消费者”原理和信号量机制对模型进行了优化;文献[2]利用Petri网对数字图书馆的服务系统进行了建模,并根据Petri网的性质对数字图书馆的过程控制进行了研究;文献[3]利用随机着色Petri网建立了图书馆文献检索系统模型,并通过设计一种新的排序算法提高了检索的准确度.文献[4]利用Petri网建立了图书馆管理预测模型,并对预测量作出了定量分析,为合理制定图书馆的管理方案提供了理论依据.文献[5-6]描述了图书馆借阅系统的基本功能,并对建立的Petri网模型进行了分析.目前为止,未见利用Petri网对图书借阅中的续借失败、借书时长设置和读者可借数目的控制问题进行研究的报道.基于此,本文提出一种基于Petri网的图书借阅系统模型,并对模型进行优化,最后通过仿真验证优化模型的稳定性和可靠性.
1 基本概念
定义1[7](Petri网) 设PN=(P,T;F)为一个Petri网,满足以下条件:
1)P是有限库所集,T是有限变迁集;
2)P∪T≠∅且P∩T=∅;
3)F⊆(P×T)∪(T×P), 表示PN的流关系且(P∪T,F)是强连通图;
4) dom(F)={x∈P∪T|∃y∈P∪T:(x,y∈F)};
5) cod(F)={x∈P∪T|∃y∈P∪T:(y,x∈F)}.
定义2[8](有界性和安全性) 设Σ=(P,T;F,M0)为一个Petri网.若存在正整数B, 使得∀M∈R(M0):M(p)≤B, 则称库所p为有界的,并称满足此条件的最小正整数B为库所p的界,记为B(p),即B(p)=min{B|∀M∈R(M0):M(p)≤B}.当B(p)=1时,称库所p为安全的.如果每个p∈P都是有界的,则称Σ为有界Petri网,称B(Σ)=max{B(p)|p∈P}为Σ的界.当B(Σ)=1时,称Σ为安全的.
定义3[9](行为轮廓) 设(N,M0)是一个网,初始标识为M0.对任给的变迁对(ti,tj), 其弱序关系≻⊆(T×T)满足下面关系:
1)若t1≻t2且t2≻/t1, 则称t1和t2为严格序关系,记作t1→t2;
2)若t1≻/t2且t2≻t1, 则称t1和t2为严格逆序关系,记作t1→-1t2;
3)若t1≻/t2且t2≻/t1, 则称t1和t2为排他关系,记作t1+t2;
4)若t1≻t2且t2≻t1, 则称t1和t2为交叉序关系,记作t1‖t2;
5)将所有关系的集合称为网系统的行为轮廓,记作BP={→,→-1,+,‖}⊆(T×T).
2 基于Petri网的图书借阅系统的建模与优化
2.1 基于Petri网的图书借阅系统模型
图1 图书借阅系统的Petri网模型
目前,大学图书馆借阅系统的基本功能可分为查询、借书、还书、续借4个部分,由此建立的图书借阅系统模型如图1所示,图1中各变迁的含义见表1.由图1可见,当读者进入图书馆时t1发生,并由此引发t2(借书)或t7(还书)或t11(续借)发生.若执行t2, 需输入所需要借阅的图书信息.t4与t3为排他关系,t3、t5为严格序关系.t6为借书成功,t6发生需进行审核,审核包括2个方面:一是所有可被借阅的图书是否均已被预借,二是读者是否已达到预借上限.若t7发生,则引发排他结构(t8+t9).若读者未在规定期限内还书,则需缴纳罚款,执行t8, 否者执行t9.若t11发生,则引发排他结构(t12+t13), 即续借成功或失败,最后退出系统.
表1 各变迁的含义
2.2 图书借阅系统的Petri网模型优化分析
由图1可以看出,模型虽然能够反映读者借阅的整个流程,但依然存在一些问题: ①因所有图书的借阅时间相同,使得一些使用率较高的图书(如工具类图书和习题类图书等)不能被充分利用,进而降低这些图书的使用价值.②因所有借阅者的可借图书数目相同,因此导致需要大量借阅图书的读者需要多次借阅,浪费时间.③多位读者同时借阅同一本图书时,若当前可借的图书只有一本,此时会造成系统阻塞,无法进行下一步操作.④当读者续借失败时,系统不能给出相应的解决办法,使读者无法继续借阅.
基于上述存在的问题,本文对上述模型进行优化,优化后的图书借阅系统的Petri网模型见图2,图2中各变迁的含义见表2.模型优化的具体解决方案如下: ①根据图书的馆藏量、机密性及实用性等,将图书分为4个等级,每个等级对应不同的可借时间,分别为:特级图书(不可外借)、Ⅰ级图书(可借阅15 d)、Ⅱ级图书(可借阅30 d)、Ⅲ级图书(可借阅90 d).此时,t8、t9、t10、t11为排他关系,记为t8+t9+t10+t11.另外,t8与t12为严格序关系,其他以此类推.②变迁t19为识别进馆人员身份信息,并将其分为受邀访客和借阅者,其中借阅者包含本科生、研究生和教师3类.受邀访客只可在馆阅读,不可借阅;根据教师和学生的阅读能力和借阅需求不同,对老师和学生分别设置不同的可借数目n(t23) (n教师>n研究生>n本科生).t22、t23处于交叉序关系,记为t22‖t23.通过t22、t23的发生判断模型是否执行t25.此外,识别读者身份信息时,若读者有超期未还的图书,系统将自动识别,并触发变迁t27和t28发生.③t17(借书成功)发生的条件是t17的2个前置库所必须都得到一个token,其目的是通过这种控制结构过滤掉不符合系统要求(读者当前不可借)的请求,这样既可保证系统的可触发序列的执行,也能够减轻系统的运行负担.借书成功后,系统自动开始计时,即t18发生,直到还书或续借结束.④读者借阅超时是续借失败的主要原因.读者续借时,优化后的模型首先确认借阅是否超时,若读者借阅超时则可通过缴纳罚金的方式继续续借.该步骤与还书模块的审核共用一个流程,因此该步骤不会增加系统的负担.
图2 优化后的图书借阅系统Petri网模型
表2 各变迁的含义
图3 仿真结果图
3 模型的有界性和安全性分析
本文利用PIPE软件对优化后的模型进行仿真模拟,验证优化后模型的有界性和安全性.验证结果如图3所示.图3表明,本文所建立的图书借阅系统Petri网优化模型是有界、安全、无死锁的,即优化后的图书借阅系统是合理可行的.
4 结论
本文利用Petri网模型建立了图书借阅系统模型,并通过分析变迁之间的行为轮廓关系和增加控制结构优化了该系统模型.利用PIPE软件对优化后的模型进行仿真表明,优化后的模型能够提高图书的使用效率和系统的工作效率,可为借阅者提供一个更加人性化的借阅环境.本文在优化模型过程中,只对原模型的部分结构进行了改进,而且仅考虑了变迁之间的行为轮廓关系,因此具有一定的局限性.今后我们将结合变化传播、变化域、过程挖掘等知识对模型进行进一步的分析.