一种基于信任度的网格资源分配方法、装置及系统 【技术领域】
本发明关于网络安全技术领域,特别是关于网格资源共享过程中的安全技术,具体的讲是一种基于信任度的网格资源分配方法、装置及系统。
背景技术
网格是利用互联网或专用网络将地理上广泛分布的、异构的、动态的网格资源(如:存储资源、带宽资源和CPU处理资源等)互联起来实现不同网络节点资源的高度共享和集成的技术。由于网格中的资源在地理上广域分布、自治、有不同的存取花费模式、并且可以动态地随时加入和离开网格环境,因此网格环境下资源的管理和调度是一个十分复杂的问题。
在现有的网格资源分配方法中,资源分配的主要依据是买卖节点的报价,因而网格环境下的一些安全问题,包括搭便车(free-riding)行为、恶意节点的网络欺诈,以及共谋行为等,使得网格资源分配无法获得预期的系统性能,从而成为限制网格资源分配实际应用的瓶颈。
所谓的free-riding是指,在网格的分布式环境中,可能会有一些“自私”节点参与到某个系统中无偿享受资源却不贡献任何资源。而网格中的恶意节点可能会通过扮作资源的恶意提供者或消费者来扰乱资源分配和共享过程。这些恶意节点,作为资源提供者时:往往会夸大自己拥有高估的资源数目,甚至有可能引入病毒;而其作为资源消费者时:可能会不想支付相应的报酬,或是给资源提供者不公正的评分。
综上所述,针对网格环境的特点,在实现高效的网格资源分配的同时,还能有效对抗网络中的恶意节点及其恶意行为的问题亟待解决,以支持复杂的网格资源分配需求。
【发明内容】
本发明实施例提供了一种基于信任度的网格资源分配方法、装置及系统,以解决高效的网格资源分配的同时,能够有效对抗网络中的恶意节点及其恶意行为的问题,实现网格资源的共享。
本发明的目的之一是,提供一种基于信任度的网格资源分配方法,该方法包括:获取网格环境中各节点发来的资源分配请求,并从资源分配请求中提取资源提供者发布信息和资源消费者发布信息;根据资源提供者发布信息和资源消费者发布信息从预存的信任度数据中分别读取资源提供者直接信任值和资源消费者的评分信息,并根据资源提供者直接信任值和资源消费者的评分信息分别计算出资源提供者全局信任值和资源消费者全局信任值;根据资源提供者全局信任值生成资源提供者的卖价调节系数,并根据资源消费者全局信任值生成资源消费者的买价调节系数;采用卖价调节系数和买价调节系数分别对资源提供者发布信息中的卖价和资源消费者发布信息中的买价进行调节和匹配,生成包含匹配卖价和匹配买价的资源匹配信息,将资源匹配信息发送给对应节点;获取对应节点发来的资源消费者的评分,并根据评分对包含资源提供者直接信任值和资源消费者的评分信息的信任度数据进行更新。
本发明的目的之一是,提供一种基于信任度的网格资源分配服务器,该服务器包括:资源分配请求采集装置,用于获取网格环境中各节点发来的资源分配请求,并从资源分配请求中提取资源提供者发布信息和资源消费者发布信息;资源分配信任度计算装置,用于根据资源提供者发布信息和资源消费者发布信息从预存的信任度数据中分别读取资源提供者直接信任值和资源消费者的评分信息,并根据资源提供者直接信任值和资源消费者的评分信息分别计算出资源提供者全局信任值和资源消费者全局信任值;资源价格双向调节装置,用于根据资源提供者全局信任值生成资源提供者的卖价调节系数,并根据资源消费者全局信任值生成资源消费者的买价调节系数;资源匹配信息发布装置,采用卖价调节系数和买价调节系数分别对资源提供者发布信息中的卖价和资源消费者发布信息中的买价进行调节和匹配,生成包含匹配卖价和匹配买价的资源匹配信息,将资源匹配信息发送给对应节点;资源信任值更新装置,用于获取对应节点发来的资源消费者的评分,并根据评分对包含资源提供者直接信任值和资源消费者的评分信息的信任度数据进行更新。
本发明的目的之一是,提供一种基于信任度的网格资源分配系统,该系统包括:网格资源分配服务器和客户端;网格资源分配服务器通过网络与客户端相连接;网格资源分配服务器包括:资源分配请求采集装置,用于获取网格环境中各客户端发来的资源分配请求,并从资源分配请求中提取资源提供者发布信息和资源消费者发布信息;资源分配信任度计算装置,用于根据资源提供者发布信息和资源消费者发布信息从预存的信任度数据中分别读取资源提供者直接信任值和资源消费者的评分信息,并根据资源提供者直接信任值和资源消费者的评分信息分别计算出资源提供者全局信任值和资源消费者全局信任值;资源价格双向调节装置,用于根据资源提供者全局信任值生成资源提供者的卖价调节系数,并根据所述的资源消费者全局信任值生成资源消费者的买价调节系数;资源匹配信息发布装置,采用卖价调节系数和买价调节系数分别对资源提供者发布信息中的卖价和资源消费者发布信息中的买价进行调节和匹配,生成包含匹配卖价和匹配买价的资源匹配信息,将资源匹配信息发送给对应客户端;资源信任值更新装置,用于获取对应客户端发来的资源消费者的评分,并根据评分对包含资源提供者直接信任值和资源消费者的评分信息的信任度数据进行更新;客户端包括:用户登录信息输入装置,用于输入用户身份认证信息;资源提供请求输入装置,用于输入包含用户标识码、用户名、卖价、资源提供数量、资源状态以及资源提供时间的资源提供者发布信息;资源消费请求输入装置,用于输入包含用户标识码、用户名、买价、资源消费数量、资源状态和资源消费时间的资源消费者发布信息;资源配配结果显示装置,用于显示资源匹配信息;资源消费者评分输入装置,用于输入资源消费者的评分。
本发明的有益效果在于,在网格资源分配过程中,引入了一种基于信任度的,采用组合双向资源分配方式的资源分配方案,并实现了相应的网格资源分配装置和系统。本发明在一次资源分配的交易过程中,采用每个节点的信任度来调整其资源分配价格。每次资源分配交易完成后,参与分配的资源消费者(买方)对资源提供者(卖方)进行评分,且这些评分被用于建立和更新系统的双向信任关系。一方面,该方法和系统是基于货币定价机制的,因此可以为节点提供激励,使节点贡献更多的资源,从而减轻网络节点搭便车行为的影响。另一方面,节点间的双向信任关系可以识别系统中的恶意节点,并能限制甚至杜绝恶意节点参与以后的资源分配。
【附图说明】
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明系统的连接关系图;
图2为本发明方法的流程图;
图3为本发明信任模型的结构框图;
图4至图6为本发明信任传播路径的示意图;
图7为本发明装置的结构框图;
图8为本发明资源分配请求采集装置的结构框图;
图9为本发明资源分配信任度计算装置的结构框图;
图10为本发明资源价格双向调节装置的结构框图;
图11为本发明资源信任值更新装置的结构图;
图12为本实施例服务器中的算法模块的架构图;
图13为本发明客户终端的结构框图;
图14为本发明带宽分配实例的流程图。
【具体实施方式】
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图1所示,为本实施例的基于信任度的网格资源分配方法的网格环境,其中服务器100通过网络与作为网络节点的客户端(200a、200b、200c和200d)相连接。在执行本实施例的基于信任度的网格资源分配方法时,包括如图2所示的步骤:
获取网格环境中各节点发来的资源分配请求,并从资源分配请求中提取资源提供者发布信息和资源消费者发布信息(步骤S101);根据资源提供者发布信息和资源消费者发布信息从预存的信任度数据中分别读取资源提供者直接信任值和资源消费者的评分信息,并根据资源提供者直接信任值和资源消费者的评分信息分别计算出资源提供者全局信任值和资源消费者全局信任值(步骤S102);根据资源提供者全局信任值生成资源提供者的卖价调节系数,并根据资源消费者全局信任值生成资源消费者的买价调节系数(步骤S103);采用卖价调节系数和买价调节系数分别对资源提供者发布信息中的卖价和资源消费者发布信息中的买价进行调节和匹配,生成包含匹配卖价和匹配买价的资源匹配信息,将资源匹配信息发送给对应节点(步骤S104);获取对应节点发来的资源消费者的评分,并根据评分对包含资源提供者直接信任值和资源消费者的评分信息的信任度数据进行更新(步骤S105)。
在本实施例中,设有一个集合K,由k种不同的资源组成,在通信领域中,这些资源通常包括存储资源、CPU计算资源、带宽资源等;资源分配参与人个数为n(包括买方与卖方),其竞拍项目用集合B={B
1,B
2,…,B
n}来表示,B
j可以表示为(a
j,p
j)的形式,其中a
j=(a
1j,a
2j,…,a
ij,…,a
kj),a
ij表示第j个竞拍项目中所包含的第i种资源的数量,a
ij>0表示对资源i的需求;a
ij<0表示对资源i的供给;而a
ij=0则表示资源i不在竞拍项目中。p
j表示投标人j对该资源组合的报价,p
j>0表示竞买报价,p
j<0表示竞卖报价,则组合双向资源分配问题可以用下面模型来表示:
maxΣj=1npjxj---(1)]]> s.t.Σj=1naijxj≤0,∀i∈K---(2)]]> xj∈{0,1},∀j∈{1,...,n}---(3)]]> 其中,约束条件(2)表明当用户竞买一定数量的资源时,资源拥有者至少应该保证可以提供这些数量的资源。上述模型说明,尽管组合双向资源分配问题比较复杂,但运用整数规划方法可以给予很好的描述,另外,由于约束条件(3)的限制,模型可以简化为0-1规划问题。
当引入信任度及相应的信任激励机制后,应根据每次交易之后的评分建立双向信任关系,然后基于每个节点的信任值,映射得到相应的双向调节参数TP(i)和TC(i),该参数被用于调节资源分配中资源消费者和提供者的出价。当节点作为提供者时,采用调节参数TP(i),当节点作为消费者时,采用调节参数TC(i)。因此,公式(1)~(3)中介绍的基本模型被修改为:
maxΣj=1npj′xj---(4)]]> s.t.Σj=1naijxj≤0,∀i∈M---(5)]]> xj∈{0,1},∀j∈{1,...,n}]]> pj′=TP(j)·pjif peer j is providerTC(j)·pjif peer j is customer]]> 下面将详细描述用于建立双向信任关系的信任模型以及两个双向调节参数TP(i)和TC(i)的映射方法。
在图2中,步骤S102的资源提供者全局信任值和资源消费者全局信任值是基于信任模型计算获得的,其中:
如图3所示,信任模型是用于建立和更新网格环境下节点之间的双向信任关系。资源提供者的全局信任值(GTV,Global Trust Value)和资源消费者的GTV是该信任模型的输出,并且分别单独计算得到。
信任模型包括:直接信任值(DTV:Direct Trust Value)计算模块、当前直接信任值(CDTV:Current Direct Value)计算模块、推荐信任值(RTV:Recommendation Trust Value)计算模块、资源提供者总信任值(TTV)计算模块、资源提供者全局信任值GTV计算模块以及资源消费者全局信任值GTV计算模块。
资源提供者DTV计算模块是指,某一节点作为资源提供者时,其他节点通过直接交易对其产生的信任值。以D
ij来表示节点i对节点j的直接信任值(此时节点i为资源使用者,而节点j为资源提供者),它是根据以往交易中,节点i对该节点j的评分计算得到的。这里设每次交易完成后,节点i通过评分模块给出的对节点j的评分为“+1”或“-1”,分别代表满意交易和不满意交易。节点j获得的节点i对它的所有评分都被记录在参数Rating
i,j=(Sat
i,j,Unsat
i,j)中,其中Sat
i,j表示节点i对节点j的满意评分总次数,而Unsat
i,j表示节点i对节点j的不满意评分总次数,则节点i对节点j的直接信任值D
ij由下式计算得到:
Dij=Sati,j-Unsati,jSati,j+Unsati,j]]> 可以看出,节点i对节点j的直接信任值范围在(0,1)之间,且通常是不对称的,也就是说,通常D
ij≠D
ji。
在资源提供者CDTV计算模块中,由于节点所处的环境通常是非静态的,且每次交易完成后,后续的额外事件会对节点的信任度产生影响,也就是说,随着时间的延长,节点所具有的信任度会降低。因此,当两个节点开始交易前,节点i对节点j的当前直接信任值(以C
ij表示)通常会比这两个节点上一次交易刚完成时进行更新得到的直接信任值要低。在此,为了反映信任值随着时间衰减的特性,引入了时间衰减函数“T(t)”,其中t表示两次交易之间的时间间隔,而节点i对节点j的当前直接信任值C
ij则是由上一次交易完成时更新后得到的直接信任值D
ij与时间衰减函数T(t)相乘得到的。根据信任衰减的特性,选取具有指数分布特性的时间衰减函数“T(t)”较为合适。此处我们设定节点具有的信任度每7天(604800秒)就降为原来的10%,因此,每次交易前,节点i对节点j的当前直接信任值C
ij及时间衰减函数T(t)可由下面公式计算得到:
C
ij(t
0+t)=D
ij(t
0)×T(t)
T(t)=e-2.3604800×t]]> 其中,参数t
0为节点i与节点j上次交易时的时间戳,而参数t为两次交易之间的时间戳。
资源提供者RTV计算模块是指,基于信任的可传递性,某一节点通过第三方节点的历史交易来获得的对另一节点信任度的评分。举例说来,节点i可通过节点i与节点k以及节点k与节点j的历史交易,获得节点i对节点j的推荐信任值。那如何根据第三方节点的历史交易来获得两个节点之间的推荐信任值,则需要设计合理的推荐信任传播模型。
信任传播模型的设计需要解决三个方面的问题:首先需要确定在已知两节点与第三方节点之间的交易记录的情况下,如何获得这两个节点之间的推荐信任值,这里称之为“推荐信任传播算法”;其次要确定在一个网络中,如何有效的搜索到能够为两节点之间的推荐信任值提供建议和参考的第三方节点,这里称之为“推荐信任传播路径(Trust Propagation Path)”;最后,当获得了所有第三方节点针对这两个节点给出的推荐信任值后,利用推荐信任算法合成得到这两个节点之间总的推荐信任值。
如图4、图5和图6所示,为了说明资源提供者RTV计算模块的算法,现以网格环境中的10个节点为例,描述基于推荐信任传播路径的RTV值的计算方法。该例中,需要分配的网格资源种类可为存储资源、CPU计算资源以及带宽资源等。由于有10个节点,因此参与资源分配者数目为10。这些参与者既可以作为资源提供者,也可以作为资源消费者。如果设每次的交易间隔为10800秒(3小时),则时间衰减函数为:
T(t)=e-2.3604800×10800=e-2.356,]]> 则经时间衰减函数加权之后的10个节点间的当前直接信任值如表1:
表1:10个节点作为资源提供者时的当前直接信任值D
i,j 对于当前直接信任值D
i,j,i和j的取值范围均为:1,2,3,4,5,6,7,8,9,10。推荐信任算法包括:推荐信任传播算法和推荐信任合成算法,其中:
(1)资源提供者推荐信任传播算法
推荐信任值RTV是基于信任传递特性,采用第三方给出的推荐和建议获得的。例如,节点i在决定是否与以前并不了解的节点j进行交易时,就可以依赖于节点j的信誉值。简单说来,尽管并不知道节点i和节点j之间的直接信任值DTV,但如果能得到节点i和节点k以及节点k和节点j之间的直接信任值DTV,就可以获得节点i和节点j之间的信誉值RTV。
RTV是通过推荐信任传播算法,由直接信任值DTV计算得到的,具体描述如下:“如果节点i和节点k之间的直接信任值DTV是D
i,k,节点k和节点j之间的直接信任值是D
k,j,则如何推断出节点i和节点j之间的信誉值RTV”?从概率的角度,相乘是计算信誉值RTV最主要的方法,也就是说,RTV(i,j)=DTV(i,k)×DTV(k,j),简写为RTV
i,j=D
i,k×D
k,j。
推荐信任传播路径:推荐信任传播模型中另外一个问题就是“推荐信任传播路径”,因为传播模型就是要将最初的信任关系尽可能多的传播到所有可能的节点间。然后,如图4所示,两个节点间可能有很多传播路径,如果每个节点都对其他节点的推荐信任值有所贡献的话,则系统复杂度会急剧上升,通常说来,数据传播模型必须在性能和有效性之间进行折衷。因此,传播路径应限制参考的传播深度(也就是中间节点的个数),可知,传播深度为0时,信誉值RTV也就是直接信任值DTV。
此处,采用传播深度2,图4中给出相应的10个节点(peer)的拓扑结构,以节点1和节点7之间的信誉值RTV计算为例,演示传播路径搜索的过程。
图4给出了节点拓扑结构及节点两两间的直接信任值关系,可以看出,用深色标注出的节点1和节点7之间没有直接信任路径,故节点1与节点7交易前,必须计算它们间的信誉值RTV
1,7。
为了计算传播深度为1时的信誉值RTV_R1,必须找到所有传播深度为1的传播路径,本例中其中间节点已在图5中用深色标注出(节点2和节点8),对应的信誉值RTV可分别计算得到。最后将各条路径得到的信誉值RTV进行平均,即得到传播深度为1时的信誉值RTV_R1,如下式所示。
RTV_R1=Σn=1N1Di,k×Dk,jN1]]> 此处,N1表示传播深度为1时传播路径的数目。
根据表1中的当前直接信任值D
i,j,可以得到:
RTV1,7_R1=Σn=1N1Di,k×Dk,jN1=D1,2×D2,7+D1,8×D8,72]]> =0.8326×0.3512+06749×0.35782=0.2669]]> 对于传播深度为2时的信誉值RTV_R2,可用类似的方法得到,本例中其中间节点已在图6中用深色标注出(节点2,节点3,节点8和节点9),信誉值RTV_R2可由下式得到:
RTV_R2=Σn=1N2Di,p×Dp,q×Dq,jN2]]> 这里,N2表示传播深度为2时传播路径的数目。
根据表1中的当前直接信任值D
i,j,可得到:
RTV1,7_R2=Σn=1N2Di,p×Dp,q×Dq,jN2=D1,2×D2,3×D3,7+D1,9×D9,8×D8,72]]> =0.8326×0.5780×0.4468+0.3568×0.2568×0.35782=0.1239]]> (2)资源提供者推荐信任合成算法
当所有传播深度的信誉值都得到时,对它们进行加权来计算整个的信誉值,如下式所示:
RTV=λ·RTV_R1+γ·RTV_R2+…,λ+γ+…=1 λ,γ,…≥0
这里,参数λ、γ…等分别是RTV_R1、RTV_R2…的权重,也就分别表征了它们的重要程度,本例中,采用λ=0.8 γ=0.2,因此有:
RTV=λ·RTV_R1+γ·RTV_R2,λ+γ=1 λ,γ≥0
根据表1中的当前直接信任值D
i,j,可得到:
RTV
1,7=λ·RTV
1,7_R1+γ·RTV
1,7_R2
=0.8·RTV
1,7_R1+0.2·RTV
1,7_R2
=0.8×0.2669+0.2×0.1239=0.2383
TTV计算模块,是由直接信任值DTV和信誉值RTV合成得到的,并采用类似的加权方法来表征DTV和RTV不同的重要程度。另DTV和RTV的加权值分别为α和β,这里α+β=1,且α,β≥0,则总信任值可由下式计算得到:
TTV=α·DTV+β·RTV,α+β=1
如果总信任值更依赖于直接信任值DTV而非信誉值RTV,则α应大于β。这里我们假设α=0.8,β=0.2。
根据表1中的当前直接信任值D
i,j,可得到:
TTV
1,7=α·DTV
1,7+β·RTV
1,7 =0.8×0.6531+0.2×0.2383=0.5701
至此,信任模型已经建成,两两节点间的信任关系也可相应的由下面的公式计算得到:
TTV=α·DTV+β·RTV
=α·DTV+β·(λ·RTV_R1+γ·RTV_R2+…)
且α+β=1 and λ+γ+…=1。
其中,α、β、λ和γ等参数反映了应用的特性,并取决于系统实现。
最后,资源提供者GTV计算模块是指:整个系统对某一节点的评分,这是由对两两节点之间TTV的进行平均得到的。
资源消费者GTV计算模块,是基于消费者的评分的。每次交易完成后,消费者的最后一次评分被输入到评分滤波器,来判决其评分是否公正。以资源消费者i为例,公正评分(Fair Rating)和非公正评分(Unfair Rating)的总次数被分别记录在参数Fair(i)和Unfair(i)中,资源消费者i的GTV按下式计算:
D
ij=Fair(i)-3*Unfair(i)
Fair(i):Fair Rating Numbers of Customer i
Unfair(i):Unfair Rating Numbers of Customer i
评分过滤器的判决原理是将资源消费者i的末次评分与其他节点的历史评分进行比较,判决依据是:如果与该评分一致的历史评分数量比不一致的历史评分数量大3,则认识此次评分是公正的;反之,如果与该评分不一致的历史评分数量比一致的历史评分数量大3,则认为此次评分是非公正的;其余情况则认为此次评分是中立的。
在图2中,步骤S103的调节系数是基于激励参数模型计算获得的。
激励参数模型用于产生对资源提供者和资源消费者拍卖价格的双向调节系数TP(i)和TC(i),其中TP(i)和TC(i)分别代表资源提供者和资源消费者的调节参数。资源提供者和资源消费者的GTV计算得到后,作为激励参数模型的输入用于产生TP(i)和TC(i)。
激励参数模型的数据基础是存储在服务器的数据存储装置中的资源提供者调节参数TP(i)映射关系,和资源消费者调节参数TC(i)映射关系。其中,资源提供者调节参数TP(i)映射关系至少包括两个字段,即:资源提供者GTV的取值范围和TP(i)的值。资源消费者调节参数TC(i)映射关系至少包括两个字段,即:资源消费者GTV的取值范围和TC(i)的值。GTV的取值范围、TP(i)的值和TC(i)的值通过统计得到,并预存储于服务器中。
表2为资源提供者调节参数TP(i)映射关系的实例。
表2:资源提供者调节参数TP(i)映射表
资源提供者GTV TP(i)
GTV of Providers<0 5
0≤GTV of Providers<0.2 1.5
0.2≤GTV of Providers<0.5 1
0.5≤GTV of Providers<0.8 0.85
0.8≤GTV of Providers<1 0.7
表3为资源消费者调节参数TC(i)映射关系的实例。
表3:资源消费者调节参数TC(i)映射表
资源消费者GTV TC(i)
GTV of Customers<0 0.5
0≤GTV of Customers<10 1.1
10≤GTV of Customers<20 1.2
20≤GTV of Customers<30 1.3
30≤GTV of Customers<40 1.4
40≤GTV of Customers<50 1.5
50≤GTV of Customers<60 1.6
60≤GTV of Customers<70 1.7
70≤GTV of Customers<80 1.8
80≤GTV of Customers<90 1.9
90≤GTV of Customers<100 2.0
100≤GTV of Customers 2.5
如表2所示,如果资源提供者甲的GTV=-1;则将GTV=-1作为激励参数模型的输入,激励参数模型根据表2可输出TP(i)=5。如果该资源提供者的GTV=-1,则说明该资源提供者的信任度很低,此时如果该资源提供者的资源卖价为100货币单位,那么利用TP(i)系数调节后的卖价为:
100×TP(i)=100×5=500货币单位。
相反,如果资源提供者乙的GTV=0.9;则将GTV=0.9作为激励参数模型的输入,激励参数模型根据表2可输出TP(i)=0.7。如果该资源提供者的GTV=0.9,则说明该资源提供者的信任度很高,此时如果该资源提供者的资源卖价为100货币单位,那么利用TP(i)系数调节后的卖价为:
100×TP(i)=100×0.7=70货币单位。
在服务器中,甲乙提供相同资源的情况下,资源提供者乙的调整后的价格远低于甲,则乙具有很高的交易优先级,而甲的交易优先级则很低。
如表3所示,如果资源消费者丙的GTV=-1;则将GTV=-1作为激励参数模型的输入,激励参数模型根据表3可输出TC(i)=0.5。如果资源消费者丙的GTV=-1,则说明资源消费者丙的信任度很低,此时如果资源消费者丙的资源买价为100货币单位,那么利用TC(i)系数调节后的买价为:
100×TC(i)=100×0.5=50货币单位。
相反,如果资源消费者丁的GTV=100;则将GTV=100作为激励参数模型的输入,激励参数模型根据表3可输出TC(i)=2.5。如果资源消费者丁的GTV=100,则说明资源消费者丁的信任度很高,此时如果资源消费者丁的资源买价为100货币单位,那么利用TC(i)系数调节后的买价为:
100×TC(i)=100×2.5=250货币单位。
在服务器中,丙丁消费相同资源的情况下,丁的调整后的价格远高于丙,则丁具有很高的交易优先级,而丙的交易优先级则很低。
最后,服务器将交易优先级较高的资源提供者和资源消费者进行匹配,并将匹配结果发送给客户端,客户根据匹配结果进行成功的交易后,由资源消费者为资源提供者进行信任度的评分,并把评分反馈给服务器,以更新直接信任值和历史数据。最终由资源消费者共享资源提供者提供的网格资源。
客户端模块安装在各个网格节点上,主要用于登录、资源提供者发布资源、资源消费者申请资源、每次交易完成后资源消费者对资源提供者进行评分。服务器主要用于收集资源消费者用于申请资源的资源公告、计算出对系统最为有利的交易匹配对。该模块是基于信任激励的组合双向拍卖方法和系统的核心模块。服务器开启监听(Listener)线程,始终监听客户端(Client)发送过来的消息;启动定时器,每一个周期之后,将本周期内收到的资源发布和资源请求消息综合,再提取本地存储中可用但尚未使用的资源综合考虑,进行计算匹配。之后对本地数据更新,计时下一个周期。
实施例二
如图7所示,本实施例的基于信任度的网格资源分配服务器包括:资源分配请求采集装置101,用于获取网格环境中各节点发来的资源分配请求,并从资源分配请求中提取资源提供者发布信息和资源消费者发布信息;资源分配信任度计算装置102,用于根据资源提供者发布信息和资源消费者发布信息从预存的信任度数据中分别读取资源提供者直接信任值和资源消费者的评分信息,并根据资源提供者直接信任值和资源消费者的评分信息分别计算出资源提供者全局信任值和资源消费者全局信任值;资源价格双向调节装置103,用于根据资源提供者全局信任值生成资源提供者的卖价调节系数,并根据资源消费者全局信任值生成资源消费者的买价调节系数;资源匹配信息发布装置104,采用卖价调节系数和买价调节系数分别对资源提供者发布信息中的卖价和资源消费者发布信息中的买价进行调节和匹配,生成包含匹配卖价和匹配买价的资源匹配信息,将资源匹配信息发送给对应节点;资源信任值更新装置105,用于获取对应节点发来的资源消费者的评分并根据评分对包含资源提供者直接信任值和资源消费者的评分信息的信任度数据进行更新。
如图8所示,资源分配请求采集装置101包括:客户端信息接收单元1011,用于根据Connector&Listener线程实时监听所有Client发送过来的消息,并进一步发送给其余部分处理。认证信息提取单元1012,负责用户的身份认证。发布信息提取单元1013用于提取包含用户标识码、用户名、卖价、资源提供数量、资源状态以及资源提供时间的资源提供者发布信息,和包含用户标识码、用户名、买价、资源消费数量、资源状态和资源消费时间的资源消费者发布信息。客户评分提取单元1014负责提取从Client端发送过来的等级评分消息,并存储到相关媒介中。
如图9所示,资源分配信任度计算装置102包括:直接信任值获取单元1021,用于从存储的直接信任值中读取资源提供者直接信任值。当前直接信任值计算单元1022,用于根据所述的资源提供者直接信任值和预设的时间衰减函数计算出资源提供者当前直接信任值。推荐信任值计算单元1023,用于根据所述的资源提供者当前直接信任值和预设的推荐信任算法计算出资源提供者推荐信任值。总信任值计算单元1024,用于根据所述的资源提供者当前直接信任值和推荐信任值计算出资源提供者总信任值。资源提供者全局信任值计算单元1025,用于根据所述的资源提供者总信任值和平均算法计算出所述的资源提供者全局信任值。资源消费者全局信任值计算单元1026,用于根据包含公正评分信息和非公正评分信息在内的资源消费者的评分信息计算出所述的资源消费者全局信任值。
如图10所示,资源价格双向调节装置103包括:映射关系存储单元,用于存储资源提供者信誉等级、资源提供者全局信任值以及卖价调节系数之间的映射关系,和资源消费者信誉等级、资源消费者全局信任值以及买价调节系数之间的映射关系。
服务器包括:信任度数据存储装置106,用于存储用户身份认证数据、资源提供者直接信任值、资源消费者的评分信息和资源提供者交易历史数据。
如图11所示,资源信任值更新装置105包括:资源消费者评分获取单元1051,用于接收所述对应节点发来的资源消费者的评分;评分过滤更新单元1052,用于对所述的资源消费者的评分进行过滤,并将过滤后的评分作为资源消费者的评分信息对预存的资源消费者的评分信息进行更新;评分反馈更新单元1053,用于根据所述的资源消费者的评分作为资源提供者直接信任值对预存的资源提供者交易历史数据进行更新。
如图12所示,为本实施例服务器中的算法模块的架构。其中:
在资源分配信任度计算装置中,资源提供者全局信任值和资源消费者全局信任值是基于信任模型计算获得的,其中:信任模型是用于建立和更新网格环境下节点之间的双向信任关系。资源提供者的全局信任值和资源消费者的GTV是该信任模型的输出,并且分别单独计算得到。信任模型包括:资源提供者直接信任值(DTV)模块、资源提供者当前直接信任值(CDTV)计算模块、资源提供者推荐信任值(RTV)计算模块、资源提供者总信任值(TTV)计算模块,资源提供者全局信任值GTV计算模块和资源消费者全局信任值GTV计算模块。信任模型可包括资源提供者全局信任值GTV计算部分和资源消费者全局信任值GTV计算部分,资源提供者全局信任值GTV的计算包括:DTV模块获取资源提供者的DTV,CDTV计算模块根据DTV和时间衰减函数计算出CDTV,RTV计算模块根据CDTV和推荐信任算法计算出RTV,TTV计算模块根据CDTV和RTV计算出TTV,资源提供者全局信任值GTV计算模块根据TTV计算出资源提供者GTV。资源消费者全局信任值GTV计算部分包括:资源消费者全局信任值GTV计算模块根据包含公正评分信息和非公正评分信息在内的资源消费者的评分信息计算出所述的资源消费者全局信任值GTV。
在资源价格双向调节装置中,以激励参数模型产生对资源提供者和资源消费者拍卖价格的双向调节系数TP(i)和TC(i),其中TP(i)和TC(i)分别代表资源提供者和资源消费者的调节参数。资源提供者和资源消费者的GTV计算得到后,作为激励参数模型的输入用于产生TP(i)和TC(i)。
在资源匹配信息发布装置中,如表2所示,如果资源提供者甲的GTV=-1;则将GTV=-1作为激励参数模型的输入,激励参数模型根据表2可输出TP(i)=5。如果该资源提供者的GTV=-1,则说明该资源提供者的信任度很低,此时如果该资源提供者的资源卖价为100货币单位,那么利用TP(i)系数调节后的卖价为:
100×TP(i)=100×5=500货币单位。
相反,如果资源提供者乙的GTV=0.9;则将GTV=0.9作为激励参数模型的输入,激励参数模型根据表2可输出TP(i)=0.7。如果该资源提供者的GTV=0.9,则说明该资源提供者的信任度很高,此时如果该资源提供者的资源卖价为100货币单位,那么利用TP(i)系数调节后的卖价为:
100×TP(i)=100×0.7=70货币单位。
在服务器中,甲乙提供相同资源的情况下,资源提供者乙的调整后的价格远低于甲,则乙具有很高的交易优先级,而甲的交易优先级则很低。
如表3所示,如果资源消费者丙的GTV=-1;则将GTV=-1作为激励参数模型的输入,激励参数模型根据表3可输出TC(i)=0.5。如果资源消费者丙的GTV=-1,则说明资源消费者丙的信任度很低,此时如果资源消费者丙的资源买价为100货币单位,那么利用TC(i)系数调节后的买价为:
100×TC(i)=100×0.5=50货币单位。
相反,如果资源消费者丁的GTV=100;则将GTV=100作为激励参数模型的输入,激励参数模型根据表3可输出TC(i)=2.5。如果资源消费者丁的GTV=100,则说明资源消费者丁的信任度很高,此时如果资源消费者丁的资源买价为100货币单位,那么利用TC(i)系数调节后的买价为:
100×TC(i)=100×2.5=250货币单位。
丙丁消费相同资源的情况下,丁的调整后的价格远高于丙,则丁具有很高的交易优先级,而丙的交易优先级则很低。
资源匹配信息发布装置将交易优先级较高的资源提供者和资源消费者进行匹配,并将匹配结果发送给客户端。
在资源信任值更新装置中,接收客户根据匹配结果进行成功交易后为资源提供者进行的信任度评分,并用该评分更新直接信任值和历史数据。最终由资源消费者共享资源提供者提供的网格资源。
如图13所示,在基于信任度的网格资源分配服务器的资源分配系统中,客户端200包括:用户登录信息输入装置201,用于输入用户身份认证信息;资源提供请求输入装置202,用于输入包含用户标识码、用户名、卖价、资源提供数量、资源状态以及资源提供时间的资源提供者发布信息;资源消费请求输入装置203,用于输入包含用户标识码、用户名、买价、资源消费数量、资源状态和资源消费时间的资源消费者发布信息;资源配配结果显示装置204,用于显示资源匹配信息;资源消费者评分输入装置205,用于输入资源消费者的评分。
客户端200中主要包含以下几种界面:
用户登录界面(LoginFrame);
选择界面(SelectFrame),有资源消费者(Customer)和资源提供者(Provider)两种选择;
资源请求界面,包括:资源消费请求界面(CustomerAnnounceFrame)和资源提供请求界面(ProviderAnnounceFrame);
匹配结果界面,包括:资源消费者结果界面(CustomerResultFrame)和资源提供者界面(ProviderResultFrame);
资源过期界面(ProviderNotransFrame)。
客户端200的程序的Utils中包括Transaction、Logging和其他公用类,其中Transaction负责记录资源消费者或资源提供者的交易情况,Logging负责记录工作日志。负责用户身份验证的数据维护,存储用户名和相应密码。
资源提供请求(ProviderAnnounce)存储文件的格式为:
id=username;price;quality;state;timestamp。其中id为每个提交的发布申请id号,username用户名,price总价格,quality为资源数量,state为资源所处状态(即第几个阶段),timestamp为资源开始申请时的时间。
资源消费请求(CustomerAnnounce)存储文件的格式为:
id=username;price;quality;state;timestamp。其中id为每个提交的资源申请id号,username用户名,price总价格,quality为资源数量,state为资源所处状态(即第几个阶段),timestamp为资源开始申请时的时间。
采用交易后的ProviderDTV维护ProviderDTVTable和TimestampTable,交易后的平分(ProviderTransStorage)负责资源提供者交易历史数据(ProviderTransHistory)的数据维护。ProviderTransHistory主要存储Provider的交易历史数据,具体数据定义如下表4:
表4:ProviderTransHistory表的属性列
Username Sequence SuccessNum FailureNum
用户名 在DTV表中对应的序号 成功次数 失败次数
ProviderDTV负责ProviderDTVTable和TimestampTable的数据维护。ProviderDTVTable记录Provider的DTV值,TimestampTable记录DTV值相应的时间戳。这两个记录都采用矩阵方式记录。
CustomerDTV负责CustomerDTVTable的数据维护。CustomerDTVTable记录每个Customer的DTV值。
如图14所示,本实施例的一个带宽分配的例子如下:
在基于信步骤a1、客户端1向服务器发送带宽提供请求;
任度的带宽分配系统中,网格资源分配服务器通过网络与客户端1至客户端4相连接。其中带宽资源分配的流程包括:
步骤a1、客户端1向服务器发送带宽提供请求;
步骤a2、客户端2向服务器发送带宽提供请求;
步骤a3、客户端3向服务器发送带宽消费请求;
步骤a4、客户端4向服务器发送带宽消费请求;
步骤a5、服务器获取网格环境中各客户端发来的资源分配请求,并从资源分配请求中提取带宽提供请求和带宽消费请求,根据带宽提供请求从预存的信任度数据中读取带宽提供请求直接信任值;
步骤a6、服务器根据带宽提供者直接信任值DTV和预设的时间衰减函数计算出带宽提供者当前直接信任值CDTV;
步骤a7、服务器根据带宽提供者当前直接信任值CDTV和预设的推荐信任算法计算出带宽提供者推荐信任值RTV;
步骤a8、服务器根据带宽提供者当前直接信任值CDTV和推荐信任值RTV计算出带宽提供者总信任值TTV,根据带宽提供者总信任值TTV和平均算法计算出带宽提供者全局信任值GTV。
步骤a9、服务器根据包含公正评分信息和非公正评分信息在内的资源消费者的评分信息计算出所述的资源消费者全局信任值。
步骤a10、服务器根据所述的资源提供者全局信任值GTV生成资源提供者的卖价调节系数。其中包括:建立资源提供者信誉等级、资源提供者全局信任值以及卖价调节系数之间的映射关系;并根据所述的资源消费者全局信任值GTV生成资源提供者的买价调节系数。其中包括:建立资源消费者信誉等级、资源消费者全局信任值以及买价调节系数之间的映射关系。
步骤a11.根据带宽提供者的GTV和带宽消费者的GTV、TP(i)和TC(i)生成带宽提供者和带宽消费者的带宽匹配结果信息。
步骤a11至步骤a15、服务器向客户端1至客户端4发送带宽匹配结果信息;
步骤a16至步骤a19,客户端1和客户端3根据接收的带宽匹配结果信息成功的进行了带宽共享交易,客户端3消费了客户端1提供的带宽资源,并向客户1支付费用或虚拟费用,并将对客户端1的评分发送给服务器。客户端2和客户端4交易失败。
步骤a20、服务器根据评分更新带宽提供者的DTV和交易历史记录。
步骤a21、服务器对评分进行过滤,并根据过滤后的评分更新带宽消费者的评分信息。
本实施例在网格资源分配过程中,引入了一种基于信任度的,采用组合双向资源分配方式的资源分配方案,并实现了相应的网格资源分配装置和系统。本发明在一次资源分配的交易过程中,采用每个节点的信任度来调整其资源分配价格。每次资源分配交易完成后,参与分配的资源消费者(买方)对资源提供者(卖方)进行评分,且这些评分被用于建立和更新系统的双向信任关系。一方面,该方法和系统是基于货币定价机制的,因此可以为节点提供激励,使节点贡献更多的资源,从而减轻网络节点搭便车行为的影响。另一方面,节点间的双向信任关系可以识别系统中的恶意节点,并能限制甚至杜绝恶意节点参与以后的资源分配。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。