1.本发明属于数据处理技术领域,具体涉及一种基于网格化的云资源分发调度方法。
背景技术:2.互联网技术的迅速发展丰富了人们获取信息的方式和途径,近年来,实施了全国文化信息资源共享工程、数字图书馆推广工程、公共电子阅览室建设计划等公共数字文化惠民工程,基本建立了覆盖全国的服务网络、形成了较大规模的数字资源库群和以国家公共文化云为代表的技术支撑服务平台,为公共文化服务体系的数字化、网络化奠定了基础。然而,公共数字文化服务还存在不少瓶颈问题,诸如:资源采集交换缺少统一的标准规范,数字资源“孤岛化”现象普遍存在,社会主体参与资源建设单一,缺少个性化服务等,项目致力于从技术层面对上述问题予以研究突破。本发明即基于网格化的兼顾效率和公平性的公共资源的预先调度与智能分发,围绕公共数字文化惠民服务中智能化对提升我国公共数字文化服务水平、推动社会主义文化建设的重大科技需求,在梳理分析国内外相关机构和技术领域研究现状的基础上,拟解决处于云端的公共文化资源在调度和分发时没有考虑到整体效率和公平性有关的问题,为实现我国公共文化资源智能共建共享与管理提供理论基础和技术支撑。
3.与传统资源的调度分发不同,互联网的发展使更多的资源都存储在云端,处于云端的资源更需要合理的分配使用,如若使用的算法只是单方面考虑某几类用户是最优,所产生的调度结果对整个系统来说很可能不会是最优的。因此,需要从全局最优的和整体公平性来考量,根据用户的实时需求和系统整体概况考虑调度分发的适时决策。而且,在现有的大多与资源调度分发技术中,很少考虑到公平性问题,在建立层次化、区域化,时延能效敏感的资源分发机制的同时将公平性纳入考量也是十分有必要的。另外,在系统执行分发调度的过程中,静态的资源分配和调度往往会造成资源的不足或浪费的情况,而人工的动态资源调整又有着明显的滞后性,因此还需要实时地监控任务的执行状态,通过资源消耗类型智能地判断下一步决策如何进行,如果资源的分配长时间处于效率低下的水平,且没有受到优化,会严重导致之后决策的正确性,因此必须则需要在适当的时机对系统进行动态的重新调度以实现负载均衡,同时避免只顾某一类用户最优而丧失全局公平性的问题。
技术实现要素:4.为了克服上述现有技术的不足,本发明的目的是提供一种基于网格化的云资源分发调度方法,为了建立层次化、区域化,时延能效敏感的资源分发机制,同时解决传统资源分发调度时对全局性忽略导致在系统决策时存在层次混乱、整体效率低下、达不到全局最优等问题。本发明充分基于网格化带来的层次化分发调度决策,清晰体现出各层具有的功能,并考虑系统全局的效率问题,尽可能实时捕捉系统状态且向全局最优调整,同时结合有关博弈论观点,解决系统中用户在全局最优情况的问题,从而达到具有动态优化性质的的
云资源分发调度决策。
5.为了实现上述目的,本发明的技术方案是:
6.一种基于网格化的云资源分发调度方法,包括以下步骤:
7.步骤1、将云资源调度分发系统划分为国家公共文化云端、省域级资源服务器、区域级资源服务器和用户四个级别;
8.步骤2、用户发起请求时上传该用户数据以便对用户行为进行预测进而实现资源的预调度;具体包括:
9.所上传的用户数据需要在用户进入系统后就进行获取,具体信息包括用户id、用户群体类别id、用户所处地区、用户访问时间、用户历史访问资源历史记录,即,包括与用户资源访问历史记录中相关项,获取数据的方式为利用网络爬虫,通过协同过滤算法对用户行为即想要获取的资源类型进行预测和该类型资源的预调度;
10.1)生成邻居集合,采用在当前用户的信任列表中,选择信任度最高的n个用户作为当前用户的邻居,若该用户的信任列表中用户数量不足n,则采用js散度来计算当前用户u
i
与其他用户u
j
的相似度,选择相似度最高的k个用户补充进来,作为该用户的最近邻居,可以将与用户处于同一地区拥有同一喜好的其他用户看作这里的邻居,采用js散度来计算用户之间的相似性,根据js散度可以得到用户ui和 u
j
之间的用户相似度,计算公式如下:
[0011][0012]
其中,
[0013]
其中,
[0014]
2)结合相似度和用户信任度来计算推荐的权重,计算公式如下:
[0015][0016]
其中表示用户u
i
与用户u
j
之间用户偏好的相似度,表示用户u
i
对用户u
j
之间的信任度,表示推荐权重;
[0017]
3)采用协同过滤中的resnick公式来计算当前用户对目标资源类型的预测评分值;
[0018]
[0019]
其中和分别表示用户u
i
和u
k
对已评分资源类型的评分均值, nei(i)表示用户u
i
的邻居集合。a
k,j
表示用户u
i
对资源类型r
j
的评分;
[0020]
4)根据3)中计算得到的当前用户对目标资源类型的预测评分值预测用户将要访问的资源类型并且进行该类型资源的预调度;
[0021]
步骤3、当用户没有从步骤2预调度的资源中获取所需资源时,会通过输入语句来搜索其所需要的资源,此时该方法通过用户语义规则网对用户输入的语句进行分析;
[0022]
步骤4、区域级资源服务器首先对用户发出的请求进行应答;
[0023]
步骤5、分为当前服务器上有用户申请资源但用户无权限访问和当前服务器上没有用户所申请资源两方面讨论;
[0024]
步骤6、管理员通过区域级服务器向用户分配其所需资源;
[0025]
步骤7,适时改善服务器上存储资源以达到全局动态最优,通过对资源本身和各级服务器一并分析,结合调度模型将资源放置到合适的服务器上,研究数据放置效用最大化策略,针对预选过程要遍历所有节点去查找最优节点比较耗时的问题,改进资源调度算法,根据前一次调度结果和用户行为预测精度在选出满足条件的节点数量时直接进行优选而无需遍历所有节点。在整个系统中服务器的数量是固有的,而可分配的资源数量也变化不大,即需要考虑从一种分配状态到另一种状态的变化中,在没有使服务器上境况变坏的前提下,使得至少一个服务器上能效变得更好,那么就可以更接近博弈论中帕累托最优,由于帕累托最优是一种理想状态,所以在动态改善全局能效时进一步接近帕累托最优便可以证明全局服务器上存储的资源能效得到了改善;
[0026]
设定有m组信息资源0={01,02,03
……
o。},n个结点p={p1, p2,p3
……
p},要将m组信息资源按照某种特定的要求匹配到n个结点上,整个过程所用的时间为t。确定哪一组信息资源分配到哪个结点就是调度(内容分发)。那么会有多种可行方案,每一种可行方案对应一种执行任务的次序。最终选择的调度策略要使得所有的分配过程完成时,用户等待的时间最短,这就是调度的目标。可以用下面的公式表示:
[0027]
ts=min{∑(tij+wj)}(i∈{1,2,
……
,m};j∈{l,2,
……
, n})
[0028]
tij:信息资源组oi分配到结点pj用户等待的时间。
[0029]
wj:按照在结点pj运行的顺序,排在信息资源组0i前运行的所有信息资源组的运行时间的最小和,即信息资源组0i需要等待的最短时间。
[0030]
进一步,所涉及的通过用户语义规则网对用户请求进行分析,具体包括:
[0031]
提取用户搜索时输入的语句中的关键词,给出模糊词和具体词的定义,模糊词表示用户语句中关于资源分类的词,具体词表示用户语句中与具体资源有关的词,用户在搜索所需要的资源时有可能进行模糊搜索,也有可能进行精确搜索,如若用户进行的是模糊搜索,即我们提取出来的关键词属于模糊词,我们将结合当前热点即资源热度,其中包含资源id、资源总访问量、资源近期访问频次和该用户历史访问行为(用户所处地区、用户访问时间、用户历史访问资源历史记录)来将模糊词的搜索结果进行排序;如若用户在搜索所需要的资源时进行的是精确搜索我们同样可以根据该用户历史访问行为,即用户所处地区、用户访问时间、用户历史访问资源历史记录,来对搜索结果进行排序。进一步地,通过用户语义规则网对用户请求进行分析,需要获取用户访问行为特征,即数字id/用户群体类别
id、访问时间、资源id、资源类型id、来源页面id、停留时间和是否离开网站,以更准确获得用户的请求,并且记录在用户相关信息中以便下一次的用户行为预测。
[0032]
进一步,步骤6中所述的管理员通过区域级服务器向用户分配其所需资源,具体包括:
[0033]
省域级服务器经过授权从国家公共文化云中那里获得内容资源,区域级服务器则经过授权从所属的省域级服务器中获得内容资源,内容分发时应用安全策略将内容元数据传送到目标服务器,经过收录的内容资源被传送到各级资源服务器,包括省域级资源服务器和区域级资源服务器,当用户对某内容提出请求时,用户首先应获得权限许可,然后可以获得上级服务器提供的内容资源清单,该服务器验证被请求内容资源的可用性和分发许可的合法性,然后返回一组最佳的内容资源,用户从服务器那里获得所需的内容资源,当同一区域用户提出请求时,也同样获得最佳分发机制和分发内容,并且同一区域用户所获得内容资源大多数来源于已经拥有所需要资源的服务器,这样可以保证高速度的下载、安全的传送并减少带宽的使用,符合时延能效敏感的初衷,整个请求和服务过程的安全协议包括典型的传送层安全协议 security socket layer(ssl),基于xml的安全传送协议securedistributed delive pmtocol(sddp)。
[0034]
本发明的有益效果是:
[0035]
1)用户所在的客户端一般都是被连接到一个相关的区域级资源服务器上,向该服务器结点发出内容请求。发出请求后,如果需求的内容在这个区域级资源服务器上可以找到,用户可以直接从这个服务器上获取需求的内容。如果该服务器上不存在用户请求的内容,这个区域级资源服务器将向相邻或对等的区域级资源服务器提出内容请求。如果还是没有获得该内容,这个区域级资源服务器将向与之相连的上一级省域级资源服务器发出内容请求。省域级资源服务器首先选择向同级服务器提出请求,而不是直接向上级中心服务器提出请求,这样可以避免中心服务器的负荷过重。省域级服务器的运作过程类似于区域服务器,当在同一级别服务器中不能获取所需的内容时,才能向层次结构的最高层——内容服务器提出请求。
[0036]
2)通过本发明使用协同过滤算法对用户的访问行为进行了预测并以此进行预调度,极大推动了整个系统在资源调度方面的灵活性,同时通过博弈论中帕累托最优的观点有效解决了系统在运行过程中动态调优的方向。
附图说明
[0037]
图1本发明的流程示意图;
[0038]
图2系统网络层次结构示意图;
[0039]
图3资源分发网络结构示意图。
具体实施方式
[0040]
以下结合附图对本发明进一步叙述。
[0041]
如图1、2、3所示,步骤1,将云资源调度分发系统划分为国家公共文化云端,省域级资源服务器、区域级资源服务器、用户四个级别。
[0042]
在这个架构中,我们可以将国家公共文化云端即内容的最高级提供者作为网络中
心,省域级资源服务器位于网络边缘,省域级资源服务器又包含若干个区域级资源服务器,属于区域级资源服务器之间是相互连接的。
[0043]
步骤2,用户发起请求时上传该用户数据以便对用户行为进行预测进而实现资源预调度。
[0044]
所上传的用户数据需要在用户进入系统后就进行获取,具体信息包括用户id、用户群体类别id、用户所处地区、用户访问时间、用户历史访问资源历史记录(包括与用户资源访问历史记录中相关项),获取数据的方式为利用网络爬虫,通过协同过滤算法对用户行为即想要获取的资源类型进行预测和该类型资源的预调度。
[0045]
1)生成邻居集合,采用在当前用户的信任列表中,选择信任度最高的n个用户作为当前用户的邻居,若该用户的信任列表中用户数量不足n,则采用js散度来计算当前用户u
i
与其他用户uj的相似度,选择相似度最高的k个用户补充进来,作为该用户的最近邻居,可以将与用户处于同一地区拥有同一喜好的其他用户看作这里的邻居。采用js散度来计算用户之间的相似性,根据js散度可以得到用户u
i
和 uj之间的用户相似度,计算公式如下:
[0046][0047]
其中,
[0048]
其中,
[0049]
2)结合相似度和用户信任度来计算推荐的权重,计算公式如下:
[0050][0051]
其中表示用户u
i
与用户u
j
之间用户偏好的相似度,表示用户u
i
对用户u
j
之间的信任度,表示推荐权重。
[0052]
3)采用协同过滤中的resnick公式来计算当前用户对目标资源类型的预测评分值。
[0053][0054]
其中和分别表示用户u
i
和u
k
对已评分资源类型的评分均值, nei(i)表示用户u
i
的邻居集合。a
k,j
表示用户u
i
对资源类型r
j
的评分。
[0055]
4)根据3)中计算得到的当前用户对目标资源类型的预测评分值预测用户将要访问的资源类型并且进行该类型资源的预调度。
[0056]
步骤3,通过用户语义规则网对用户请求进行分析。
[0057]
提取用户搜索时输入的语句中的关键词,给出模糊词和具体词的定义,模糊词表示用户语句中关于资源分类的词,例如“音乐”、“视频”等。具体词表示用户语句中与具体资源有关的词,例如“秦腔”、“三大战役纪录片”等。用户在搜索所需要的资源时有可能进行模糊搜索,也有可能进行精确搜索,如若用户进行的是模糊搜索,即我们提取出来的关键词属于模糊词,我们将结合当前热点即资源热度(其中包含资源id、资源总访问量、资源近期访问频次)和该用户历史访问行为(用户所处地区、用户访问时间、用户历史访问资源历史记录)来将模糊词的搜索结果进行排序。如若用户在搜索所需要的资源时进行的是精确搜索我们同样可以根据该用户历史访问行为(用户所处地区、用户访问时间、用户历史访问资源历史记录)来对搜索结果进行排序。进一步地,通过用户语义规则网对用户请求进行分析,需要获取用户访问行为特征(数字id/用户群体类别id、访问时间、资源id、资源类型id、来源页面id、停留时间和是否离开网站),以更准确获得用户的请求,并且记录在用户相关信息中以便下一次的用户行为预测。
[0058]
步骤4、区域级资源服务器获得通过语义规则网所分析出的用户需求后首先对该请求进行应答。
[0059]
区域级资源器首先查看该资源服务器上是否拥有用户所请求的资源,接着考虑数字资源版权问题考虑用户是否有权限获取该资源,若资源在服务器上且用户有权限获取则进入步骤5,否则进入步骤6。
[0060]
步骤5,分为当前服务器上有用户申请资源但用户无权限访问和当前服务器上没有用户所申请资源两方面讨论。
[0061]
若服务器上有用户所申请资源但用户权限不足以访问下载根据规则网适时向用户授权以让用户从该服务器上获得所需资源;若当前资源服务器上没有用户所申请资源,根据网格化信息资源调度的特点,在处于同一省域级资源服务器中的其他区域级资源服务器查找,若仍未找到则访问省域级服务器并与在区域级资源服务器中查找资源一样在同级服务器上查到,当在对等省域级资源服务器中不能获取所需的内容时,才能向层次结构的最高层——国家公共文化云内容服务器提出请求。过程如图所示
[0062]
步骤6,管理员通过区域级服务器向用户分配其所需资源。
[0063]
省域级服务器经过授权从国家公共文化云中那里获得内容资源,区域级服务器则经过授权从所属的省域级服务器中获得内容资源。内容分发时应用安全策略将内容元数据传送到目标服务器。经过收录的内容资源被传送到各级资源服务器,包括省域级资源服务器和区域级资源服务器。当用户对某内容提出请求时,用户首先应获得权限许可,然后可以获得上级服务器提供的内容资源清单,该服务器验证被请求内容资源的可用性和分发许可的合法性,然后返回一组最佳的内容资源,用户从服务器那里获得所需的内容资源,当同一区域用户提出请求时,也同样获得最佳分发机制和分发内容,并且同一区域用户所获得内容资源大多数来源于已经拥有所需要资源的服务器,这样可以保证高速度的下载、安全的传送并减少带宽的使用,符合时延能效敏感的初衷。整个请求和服务过程的安全协议包括典型的传送层安全协议 security socket layer(ssl),基于xml的安全传送协议securedistributed delivepmtocol(sddp)。
[0064]
步骤7,适时改善服务器上存储资源以达到全局动态最优。
[0065]
通过对资源本身和各级服务器一并分析,结合调度模型将资源放置到合适的服务器上,研究数据放置效用最大化策略,针对预选过程要遍历所有节点去查找最优节点比较耗时的问题,改进资源调度算法,根据前一次调度结果和用户行为预测精度在选出满足条件的节点数量时直接进行优选而无需遍历所有节点。在整个系统中服务器的数量是固有的,而可分配的资源数量也变化不大,即需要考虑从一种分配状态到另一种状态的变化中,在没有使服务器上境况变坏的前提下,使得至少一个服务器上能效变得更好,那么就可以更接近博弈论中帕累托最优,由于帕累托最优是一种理想状态,所以在动态改善全局能效时进一步接近帕累托最优便可以证明全局服务器上存储的资源能效得到了改善。
[0066]
设定有m组信息资源0={01,02,03
……
o。},n个结点p={p1, p2,p3
……
p。}。要将m组信息资源按照某种特定的要求匹配到n个结点上,整个过程所用的时间为t。确定哪一组信息资源分配到哪个结点就是调度(内容分发)。那么会有多种可行方案,每一种可行方案对应一种执行任务的次序。最终选择的调度策略要使得所有的分配过程完成时,用户等待的时间最短,这就是调度的目标。可以用下面的公式表示:
[0067]
ts=min{∑(tij+wj)}(i∈{1,2,
……
,m};j∈{l,2,
……
, n})
[0068]
tij:信息资源组oi分配到结点pj用户等待的时间。
[0069]
wj:按照在结点pj运行的顺序,排在信息资源组0i前运行的所有信息资源组的运行时间的最小和,即信息资源组0i需要等待的最短时间。