资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
少数民族数字图书馆信息资源节点的优化分配摘要 本论文针对西北民族大学少数民族数字图书馆图书信息资源访问时出现的信息资源资源分配节点的问题,建立了两个模型,模型一当有资源单位访问量大于当前节点数时,我们从资源空闲度最高的资源单位中抽取一个空余节点出来,采用公平席位分配模型的思想,利用Q值法将该接点分配给需要性最大的单位,实现按需分配,最优利用资源,最大化实现按需分配;模型二通过将资源综合调配和调度,借鉴内存分区存储管理的思想,对待分配空余节点总和进行内部节点数等差数列规律分区,对满访问单位资源所需节点数和各区内空余节点数进行比较性匹配,将数量最匹配的区供给给满访问单位资源;其中模型一能够最大化实现按需分配,达到最优利用节点资源,但是因为每次只能对一个待分配节点进行分配,不能并行进行,因此时间利用性较差;模型二则相反,因为使用最接近所需节点数整区供给,所以加快了调配速度,但是不能实现最大化按需分配,所以并不是对资源的最优利用。其次,根据我们建立的模型,我们用VC+设计用户对图书信息资源访问的计算机模拟程序,达到数学、计算机和实际相结合的目的。关键字:公平席位,Q值法,分区,按需分配,最优。问题重述为了提高少数民族群众的科技文化素质,推动少数民族地区的社会经济发展,为东西部地区经济、文化、科技、教育交流搭建桥梁,近几年来,我校充分发挥智力优势,积极承担国家重大科研课题,致力于研究和开发少数民族数字图书馆,搭建西部地区信息知识的平台,并提供相应的知识、信息服务。但在研究和建设过程中也遇到了一系列困难,如下即是经简化和提炼的一个问题:假设西北民族大学少数民族数字图书馆图书信息资源为N,西北民族大学网络中心给每单位图书信息资源资源分配节点为n,若访问第i个图书信息资源Ai的用户大于n时,该资源就无法访问,但其他图书资源用户访问量有可能小于n,这就提出了节点优化利用问题:1、试设计一个便于操作的信息资源节点的分配方案,将访问量小于n的剩余节点有效分配给Ai资源,以达到资源优化利用的目的。2、将这个节点分配问题抽象成一个明确、完整的数学模型,并给出求解模型的方法。3、设计用户对图书信息资源访问的计算机模拟算法,通过不同模拟结果的比较指出你们构建的模型的优缺点。问题分析当前资源分配系统存在的问题是其他单位的空余节点不能被当前需要空余节点的单位资源利用,因此,我们的模型所要做的就是 1如何使得其他单位资源的空余节点可被利用 2 如何有效而优化的调配和使用资源,实现资源利用的最大化和浪费的最小化。1如何利用空余节点资源,我们可以使用两种方式,一种则保持原来节点状态,然后通过相关计算和分析,用最划算和合理地方式选择空余节点来源单位,供给给需要节点的单位;另一种则打破节点分配原状态,将所有空余节点资源综合起来进行调配和调度,再通过计算和分析,实现空余节点利用。2如何有效而优化的调配和使用资源,实现资源利用的最大化和浪费的最小化。则有两方面需要考虑:1反应效率,即时间复杂度。2方便操作。为了满足以上两方面的要求,我们讨论出两种方法。一种则计算出各单位的资源空闲度和资源需要度,将资源空闲度最大单位的空余节点分配给资源需要度最大的单位,但鉴于该分配算法的局限性,每次只能取出一个节点进行分配;另一种方法就应该克服每次只用一个节点的限制,将所有空余节点资源进行分区调度,按照相关节点所需节点数目匹配性,整区供给。理论上可以克服前一种方法的低效性,但是会出现空余节点资源一定程度的浪费而不能实现资源最合理最优化的调度和利用。模型假设1)西北民族大学各图书信息资源在访问和使用节点方面不存在不同。2)总存在空余节点,不会出现访问量超过总结点的情况。3)在一段时间内各资源的访问量波动不大。4)所有空余节点视作属性相同。模型建立及求解模型一字符定义:1)图书信息资源为N;2)每单位图书信息资源资源初始分配节点都为n;3)第i个图书信息资源Ai;4 )Ai,Aj的访问量为,;5) Ai,Aj的节点数为,;6) Ai空余节点数为7) 某一时刻满访问Ai,Aj单位所需节点数为Xi(即-),Xj(即-);8) 设置每个单位的资源空闲度为Zi9)当前处于满访问状态的单位数m模型建立及求解:模型一当有资源单位访问量大于当前节点数时,我们即通过计算得出资源空闲度最高的资源单位,从中抽取一个空余节点出来,采用公平席位分配模型的思想假设,利用Q值法计算出应该分配给哪个资源单位最公平,即哪个资源单位的需要性最大。将待分配节点分配给该资源单位。以此类推。1计算出资源空闲度最大的单位来抽取一个节点 资源单位数为N,Ai访问量为,当前节点数为,则Ai空余节点数:=-则Ai的资源空闲度Zi=该单位空余节点数/该单位访问量=(1)由(1)式我们可以知道Zi的值越大,该单位的空闲资源度越高,则我们应该从该单位取出空余节点来分配。2 选取资源需要度最大的单位进行节点分配(1)Q值法对于两变量一代分别配资源情况先分析Q值法对两变量Ai, Aj公平分配的过程:若 则定义(,)=为对Ai的相对不公平度若,即对Ai不公平。抽象假设从W中取出一个节点对多个满访问需要空余节点的单位进行分配,关于(i=1、2m)的不等式可能有以下三种情况:1 ,这说明即使将这一个节点分配给Ai,仍然对Ai不公平,所以这一个节点显然应该给Ai。2 ,说明当Aj增加一个节点时将对Ai不公平,可算出Ai的不公平度为(,+1)=-1(2)4 不可能出现。因为按需分配的原则是使得相对不公平度尽可能的小,所以如果(+1,)(,+1)(3)则这一个节点应该分配给Ai,反之则应该给Aj。由(1)(2)式可得(3)式等价于不难证明情况1也会导致(3)式,所以结论是:当(3)式成立时这一个节点应该分配给Ai,反之给Aj。记=(i=1,2m),待分配的一个节点应该给Q值最大的一方。(2)Q值法推广到多变量一待分配资源的情况以上方法推广到m方按需非配节点的情况,Ai所需节点数为,已有节点数,i=1,2m,则分配某个节点时计算=(i=1,2m)应给Q值较大的一方。模型二字符定义:1 信息资源为N2 每单位初始信息资源分配节点为n3 当前第i个图书信息资源Ai的访问量为4 每个资源的当前空余节点数为5总的空余节点数为W6 第i个区内节点数为Ci7 Ai资源所需空余节点数为Xi8 W中总区数为R9 分区中等差数列首项为常数=1(因为Xi可能出现的最小数为1)10总的需要节点总数X模型建立首先统计所有空余节点得到总和,所有的空余节点组成一个整体。此时所有的信息资源都处于待分配节点状态。然后将所有空余节点所组成的大区按照等差数列划分成n区,根据资源所需要的节点数与区内部节点数进行比较,然后选取合适的区(区的大小大于或等于资源所需节点数)分配给资源,若此区大于所需要信息资源节点数则将多余出来的空余结点分割出来以待回收重新放入整体。然后再按照同样的方法将剩余节点数分配给下个所需要信息资源结点的资源。1):计算空余节点总数资源单位数为N,Ai访问量为,当前节点数为则Ai空余节点数:=-则W=+= = 2):按照等差数列规律对W进行分区W=+(R1)d (0d=, 1=RXi 且满足在所有内部节点数大于Xi的区中Ci-Xi的差为最小。则将i区节点供给给Ai。CiXi =+Ci可能出现的情况:1一般性假设第j区为所有区中内部节点数最多的区,若CjXj,则将第j区节点供给给Ai。进行下一轮匹配检验。2 若出现两个资源同时跟某一区节点数完全匹配,由于同一资源不能被多个事件占用,所以这属于资源抢占问题。具体解法可以利用计算机进程管理中的互斥事件的加锁实现方法来解决。计算机模拟算法分析和评价模型一的计算机模拟实现:循环适应分配算法#include#include#include#define Source_Num 100 /资源数为100typedef struct int size; /每个资源的空余节点数 int flag; /节点的状态node;node FQSource_Num;void fq_creat()/初始化节点的各个分区的信息 int a; for(int i=0;iai; /各资源空余节点数for(int i=0;iSource_Num;i+) FQi.size=ai; FQi.flag=1; void koxi_xuqiu(node FQ,j,k) /求出最大资源空闲度和最大需求度 int I,max,j,max1,k; int BiSource_Num,Zi,XiSource_Num,Qi; for(i=0;iBii; for(i=0;i Source_Num;i+) Zii=FQi.size/Bni; for(i=1;i Source_Num;i+) /求出资源最大空闲度的单位 max=Zi0; if(maxZii) max=Zii; j=i; for(i=0;iXii; for(i=0;i Source_Num;i+) Qii=Xii2/(Bii+FQi.size)*( Bii+FQi.size+1); for(i=1;i Source_Num;i+) /求出资源最大需求度的单位 max1=Qi0; if(max1Qii) max1=Qii; k=i;
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号