社会物联网中影响信任传递的关键节点搜索方法与流程

文档序号:15567094发布日期:2018-09-29 03:35阅读:182来源:国知局

本发明涉及物联网技术领域,尤其涉及一种社会物联网中影响信任传递的关键节点搜索方法。



背景技术:

物联网(iot)正在发展成为一个有吸引力的下一代网络模式和服务基础设施。物联网的目标是将任何人和任何东西(如电脑、相机、手表、洗衣机、自行车、汽车、人类、植物、动物)连接起来,并且通过结合网络随时随地提供服务。iot涵盖了许多技术,包括架构、传感器、编码、传输、数据处理、网络、发现、信任等。它为广泛的应用提供了适当的解决方案,如交通安全、废物管理、安全、资源管理、物流、零售工业、工业控制、医疗保健和跟踪被盗财产等。与无线传感器网络(wsn)相比,物联网的传感区域更为广泛,更侧重于人们的日常生活和工作环境。由于事物本质上是由人类操作和工作的,所以社会网络的概念被集成到物联网解决方案中,它形成了一种新型的网络,即社会物联网(siot)。

在社会网络中,人们可能会经常遇到其他完全不认识或之前没有交互经验的用户。这些用户将扩大与他们在同一领域有相同兴趣和偏好的同龄人的信任关系。这样,用户之间就形成了一个具有异构信任的大型用户信任网络(utn)。它也被称为异构信任网络(htn)。在htn中,人们的交互是建立在信任的基础上的,所以信任的传递在预测没有直接联系的用户之间的信任时起着重要的作用。如果信任无法传递,则陌生人之间就会一直保持陌生的状态。因此,它们之间不能形成新的交互。这将导致网络的低连通性,任务和服务不能够被妥善的处理。因此,适当的信任传递对siot来说是非常重要的。

能够传递信任的节点称为中间节点,中间节点的集合称为路径。然而,只有部分中间节点是关键节点,这些关键节点可以显著影响信任的传递性。当siot中的节点基于信任的传递关系建立网络时,如果我们移除网络的关键节点,网络的性能将受到影响。换句话说,因为传递路径被破坏了,一些节点可能无法访问服务。因此,有必要检索出整个siot中的关键节点,从而以保障siot正常工作。



技术实现要素:

本发明的目的是提供一种社会物联网中影响信任传递的关键节点搜索方法。

本发明的目的是通过以下技术方案实现的:

一种社会物联网中影响信任传递的关键节点搜索方法,包括:

社会物联网为一个加权且定向网络,利用具有顶点v和边e的图g来表示社会物联网,其中的顶点即为用户节点,用户节点分为委托节点、受托节点与中间节点;定义信任传递路径tp,来表示委托节点到受托节点之间的中间节点的集合;关键节点为影响信任传递路径性能的中间节点;

如果用户节点之间所处的上下文相同,且用户节点与用户节点之间的可信度值大于阈值,则相应用户节点之间能够进行可信度传递,即存在通路,则通过下述方式进行关键节点搜索:

初始化每个用户节点的最近关键节点;

将所有用户节点和边初始化为未搜索;

当执行关键节点搜索时,信任传递路径tp由当前用户节点v更新;用户节点v与其邻居用户节点j共享相同的上下文且二者之间的可信度值大于阈值,如果用户节点v与其邻居用户节点j之间的边未被搜索过,则记录用户节点v与其邻居用户节点j之间的边为已搜索;同时,如果是第一次对邻居用户节点j进行搜索,则用户节点v为邻居用户节点j的最近关键节点;如果不是一次对邻居用户节点j进行搜索,则用户节点v不为邻居用户节点j的最近关键节点,重新更新用户节点j的最近关键节点;重复上述过程,直到没有最近关键节点或发现的最近关键节点都属于tp;

对于其他用户节点按照上述相同的方式进行迭代搜索;

在上述迭代过程中所获得的每个用户节点的最近关键节点都将被记录下来,通过迭代查找最近关键节点的方式来找到网络中所有关键节点。

由上述本发明提供的技术方案可以看出,可以在不对称、加权、没有完全连接的siot网络中发现所有关键节点,有利于保障siot正常工作;同时,还可以提高siot网络中节点连通度。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。

图1为本发明实施例提供的一种社会物联网中影响信任传递的关键节点搜索方法的流程图。

具体实施方式

下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

由于事物本质上是由人类操作和工作的,所以社会网络的概念被集成到物联网解决方案中。在物联网中,委托人生成并委派任务,受托人接收任务并为成功完成任务提供服务。但如何找到合适的受托人是委托人委派任务时的关键问题。一般来说,可以使用信任作为度量标准来选择合适的受托人。在siot中,信任是一个在一定上下文中基于对可信度的积极期望,由委托人将风险任务委托给配备合适设备的受托人的过程。受托人付诸行动并对委托人进行评价。最后,评价结果将反过来影响双方的态度。信任是一个包含许多因素的动态过程,然而可信度固定的表示某两个人针对某个任务对彼此的可信任程度,因此信任不等同于可信度。

当委托人基于信任去评估一个受托人是否可信时,委托人与该受托人之间没有交互经验的可能性很大。因此,需要中间节点传递信任。中间节点决定了信任是否可以被传递。在siot中信任的传递性意味着,如果委托节点x请求服务,受托节点y提供服务,并且x与y之间没有直接的社会联系,则可信度需要通过中间节点i传递。下面我们讨论信任传递的一种经典情况:如果x信任i,i信任y,那么x可以信任y吗?

信任通过中间节点进行传递,因此中间节点中两两之间的信任传递组成了最终委托人与受托人之间的可信度。可以使用可信度来度量任意两相邻节点之间的信任传递。非相邻节点x和y之间针对任务i的可信度值twixy由其传递路径中每对相邻中间节点的可信度值叠乘而来:

表示在siot中x与y之间被选择的路径的中间节点顺序。具体来说,可信度值twixy受到委托人y,受托人y,中间节点具体任务i以及上下文的影响:

为了建立信任的防御心理模型,本发明实施例中使用通用函数g作为与上下文相关的函数。上下文是信任中一个非常重要但经常被忽略的元素。委托人x必须评估上下文对受托人y或者任务i有利,不太有利,或者有害。因为上下文是一个外部影响因素,它能够极大的影响y的行为以及最终的结果。在siot中,上下文<cx,cy,ci〉包括委托节点x的上下文cx、受托节点y的上下文、中间节点i的上下文ci;如果委托节点x、受托节点y及中间节点i所处的上下文相同,而且相邻节点之间的可信度值大于阈值,则能够进行可信度传递,否则传递将被封锁:

其中,twixy、twixi、twiiy对应的表示委托节点x与受托节点y、委托节点x与中间节点i、中间节点i与受托节点y针对任务i的可信度值;ω1和ω2为预先设置的两个可信度阈值。

注意:公式(1)忽略了可信度的一部分:(1-twiab)*(1-twibc),它包含于公式(3)中。它表示委托节点x对中间节点i的不可信度乘以中间节点i对受托节点y的错误判断。

一般来说,社会物联网可以利用具有顶点v和边e的图g来表示,其中的顶点即为用户节点,用户节点(后文简称节点)分为委托节点、受托节点与中间节点;图g由邻接矩阵an×n描述,它的元素axy表示顶点x与顶点y之间的强度。主对角线上的元素没有定义,并被设置为零。如果两个节点被一条边连接起来,则在图g中的它们是相邻的。如果网络是连通的和对称的(axy=ayx),关键节点可以通过切割点算法找到。然而,信任是不对称的,即在它们的交互过程中,节点之间存在着方向性和差异性。例如,从alice对bob的可信度值是0.9;相反,bob对alice的可信度值可能是0.5。因此,社会物联网的信任传递网络是一个加权、定向网络。此外,连接会根据不同的服务提供者而变化,由于这些服务者有着不同的上下文。为了找出关键节点,本发明实施例定义了传递信任路径tpnxy,它表示了委托人x到受托人y之间的中间节点的集合,x可以评估和获取由y提供的服务;因为有多条传递路径,n代表传递路径的序号,包含所有传递路径的传递路径集合记为tpsxy。基于信任过渡的过程,在传递信任网络中应用了一些约束条件。如果a,l∈tpnxy,并且(这意味着l把a当做一个可信任的中间节点),那么就没有意义了,因为l信任a不代表a信任l。换句话说,信任传递路径的闭合循环是没有意义的。

如前所述,如果图g中用户节点与用户节点之间所处的上下文相同,且用户节点与用户节点之间的可信度值大于阈值,则相应用户节点之间可以进行可信度传递,即存在通路;之后即可通过下述方法进行关键点搜索,关键点搜索的其伪代码如下:

第一步是初始化参数:nearest_key_node(*)(第2行)。nearest_key_node(*)记录信任传递网络中每个节点的最近关键节点,在正式开始搜索前将之前的搜索记录清除,避免影响本次搜索结果。某个节点的所有关键节点可以通过迭代搜索最近关键节点找到。邻接矩阵记录了信任传递网络中的节点关系(第4行)。

tp记录了当前的传递路径,即服务提供者(受托人)和请求者(委托人)之间的所有中间节点。将tp初始化为空(第5行)。在试图找到关键节点之前,节点和边初始化为未搜索(第6-7行)。由于受托人可以通过自己获得服务,将受托人的nearest_key_node(最近关键节点)设置为空(第8行)。

当执行关键节点搜索算法时(kns,第9行),tp由当前用户节点v(第15行)更新。用户节点v要搜索的邻居用户节点不应该是之前有过交互的节点(存在于tp中),而是应该与用户节点v共享相同上下文且二者之间的可信度值大于阈值的节点,以便传递信任。应该注意的是,一些节点可能具有多个角色,并且属于多个上下文。假设用户节点j为当前用户节点v的邻居节点,用户节点v和用户节点j之间的边不应该被搜索过(第16-17行)。若用户节点v与用户节点j之间的边之前没有被搜索过,则记录用户节点v与用户节点j之间的边为已搜索。若是第一次对用户节点j进行搜索,则用户节点j的最近关键节点即为用户节点v,因为用户节点v到用户节点j的边之前没有被搜索过,且是第一次搜索用户节点j,所以以目前更新出来的路径,能到达用户节点j的路径只能通过用户节点v。若不是第一次搜索用户节点j,就代表之前对用户节点j有过搜索且不是通过用户节点v,意味着还有其他的路径能到达用户节点j,则用户节点v不是用户节点j的最近关键节点。而现在能到达用户节点j的路径被添加了一个经过用户节点v的路径,那么用户节点j的最近关键节点可能会被新加入的路径影响,所以需要更新一次用户节点j的最近关键节点(第22行)。为简单起见,不显示upd_nearest_k_node的伪代码。该函数原理:如果用户节点j的最近关键节点k不属于tp,则意味着原来最近关键节点k不再是关键节点,则用户节点j的最近关键节点变更成k的最近关键节点,并递归调用upd_nearest_k_node;重复此过程,直到没有最近关键节点或发现的最近关键节点都属于tp。

然后,进行迭代搜索(第24行),更新tp以便正确地记录当前传递路径(第27行)。最后,显示每个节点的所有关键节点(第11行)。

同时,在迭代搜索过程中,每个用户节点的最近关键节点都将被记录下来,通过迭代查找最近关键节点可以找到网络中的所有关键节点。示例性的,a的最近关键节点为b,b的最近关键节点为c,c无最近关键节点。则a关键节点为b,c。

本领域技术人员可以理解,上述伪代码的14~28行是对第9行的展开。从第1行开始执行,到第9行时跳转到第14行开始执行,执行14~28行(期间会递归调用自己),完毕后跳回第10行,继续执行到13行,整个程序执行完毕。kns()是一个函数,第9行是对此函数的调用,第14~28行是对此函数的定义。

本发明实施例上述方案,可以在不对称、加权、没有完全连接的siot网络中发现所有关键节点,有利于保障siot正常工作;同时,还可以提高siot网络中节点连通度。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1