移动医疗社会化网络中基于病症团体的数据转发算法
2022-04-02任丽丽张拥军
任丽丽,张拥军
(蚌埠医学院 公共基础学院,安徽省 蚌埠市 233030)
近年来,人口老龄化现象和问题日益引起大家的重视。根据Moody 投资者服务公司的数据显示,由于寿命的延长和出生率的下降,全世界65岁以上人口超过了20%。据预测,到2030 年,全世界将有34 个国家出现“超龄”现象[1]。如果相关医疗保障技术跟不上不断变化的需求,人口老龄化问题将会给如今的医疗保健系统和行业带来严峻的考验和压力。
而MHSNs[2-5]是一个新的移动医疗保健社交平台,是对传统集中式医疗保健系统的扩展,可以缓解人口老龄化带来的压力。在MHSNs 网络中,病人可以利用手持便携设备通过移动,收索、识别附近的医生并可以与之进行互动交流。由于MHSNs 中的每个用户都配有个人数字助理,可以在没有第三方参与的情况下无线连接到邻近的单跳用户。因此,它不需要一个结构良好的网络来支持远程通信。特别是在传统集中式医疗资源有限或者是在一些偏远地区,移动医疗社交网络的平台的作用能够明显地体现。
1 相关工作
在移动医疗社交网络平台中,许多学者主要致力于患者隐私保护协议的研究,如文献[6]的移动医疗社交网络的隐私保护紧急呼叫计划,文献[7]的移动社交网络中病症相符的跨域安全握手协议,文献[8-9]的具有单个相同病症的安全握手协议,文献[10]的移动医疗社交网络中多病症属性的匹配协议和基于门限属性的可追踪签密方案。目前,移动社交网络中路由算法也有一定的研究基础,比如Epidemic[11]算法、Label[12]算法、种子算法[13]、基于节点或社区属性算法[14-17]。
但是以医疗环境为背景去研究移动社交网络的相关算法却很少。而现如今人口老龄化现象、庞大的人口与紧缺医疗资源相冲突现象、MHSNs中节点设备能量受限等原因,都说明研究移动医疗社交网络中的路由算法具有一定的现实意义。
因此,本文基于移动医疗社交平台中医患之间和患者之间的联系特点为背景,设计了一个基于病症团体的数据转发算法,其主要思想是根据病人的不同病症划分为若干不同的社区,同时考虑数据在社区内和社区间的转发,以加速消息的转发速度,降低网络开销,提高数据传递率。
2 网络模型
一个典型的移动医疗社交网络[18]如图1 所示,该网络包含一个可信的权威机构(Trust Authority,TA)和在该TA 中注册的一些病人PAi。假设每位病人至少患有一种疾病,如癌症,糖尿病、心脏病、高血压、关节炎、哮喘等等。由于每位患者都会参加一些与疾病相关的事件或活动(看病或者体检等),从而具有相同病症的患者接触频繁,会形成与疾病相关的若干社交网络,用C={C1,C2,C3,…,Cn}表示。且每位病人可能会患有不止一种疾病,因此会出现重叠社区。假设该网络模型由n 个TA 和m 个PAi所组成,其中每位PAi都携带一个具有一定无线通信范围的个人数字助理(Personal Digital Assistants,PDA)。同时假定该网络的连接是对称的,利用一个无向加权图G(V,E)表示,其中V代表节点集合,E代表边的集合,wuv∈E 表示V中的任意两个节点u和v间边的权重。
图1 一个典型的移动医疗社交网络
在移动医疗社交网络中,一个节点可以同时属于几个不同的社交网络。而在相同社交网络中,节点间消息的传递比较频繁。如果源节点知道目的节点所在的社交网络中有哪些节点,就可以选择这些节点作为中继节点进行数据的转发,提高数据的传递率,减少数据的传输延迟。因此,定义目的社区隶属度B(i,Cd)来衡量节点i与目的社区Cd的关系:
式中α 和β 为节点i和目的社区节点联系的重要参数,Ni代表节点i的邻居集合,wij代表节点i和节点j的联系次数,d代表目的节点,Cd代表目的节点所在的社区。如果节点i的所有邻居都属于目的社区Cd,则B(i,Cd)=1。如图2,当α 为0.6,β 为0.9 时,节点c 对目的社区Cd的隶属度为B(c,Cd)=0.3,节点e对目的社区Cd的隶属度为B(e,Cd)=0.15,从中可知节点c 的目的社区隶属度高,因此相比节点e具有较大的概率遇到目的节点。
图2 加权移动社交网络图
由于移动社交网络存在重叠社区,且节点对在社区内和社区间的转发属性不同,选择的标准也不同。因此,定义了两个不同的度量标准,分别考虑数据在社区内和社区间的转发性能。
定义1:(社区内节点的中心性)社区Ci内节点i的中心性反映的是社区内部通过节点i的最短路径数与社区内所有最短路径数的比值。
其中δ(s→t)表示社区Ci内,节点s与节点t间最短路径的个数,δ(i,(s→t))表示社区Ci内,节点s与节点t间经过节点i的最短路径个数。且两节点s,t间的最短路径是指从节点s到节点t的最少跳数的权重倒数之和。如上图2 所示,节点c到节点f的最短路径为
社区内节点的中心性反映的是节点在社区内部的转发能力,中心性值越高,说明该节点与其他节点的接触频繁,但该性能只体现了在相同社区的内部属性。若两个节点属于不同社区,就需要选择一个新的判断标准。下面给出社区间节点的中心性定义。
定义2(社区间节点的中心性)社区间节点的中心性是指两个不同社区通过节点i的最短路径数与两社区间所有最短路径数的比值。
上式中δ(s→t)代表的是社区Cm和Cn间,节点s与节点t的最短路径数,其中s是Cm中的节点,t是Cn中的节点。δ(i,(s→t))表示社区Cm和Cn间通过节点i(i∈V)的最短路径数。并且上式只考虑社区Cm和Cn间不存在交集,或者有交集,不考虑交集中节点的情况。社区间节点的中心性反映的是节点连结两个社区的能力。社区间节点中心值越高,说明节点在社区间联系频繁,转发能力也越强。因此,社区间数据的转发主要通过中心值较高的节点来进行。
3 基于病症团体的数据转发算法
由于节点在社区内和社区间的转发属性不同,本章结合节点在社区内、社区间的中心性设计了移动医疗社交网络中基于病症团体的数据转发算法(Data forwarding algorithm based on disease group in mobile healthcare social network,DFDG)。该算法通过判断源节点与相遇节点的社区关系,选择不同的度量标准,决定是否拷贝数据给转发节点,具体算法内容如下:
DFDG 算法 社区内和社区间的数据转发算法:
当携带数据包的节点i 遇到没有该数据包拷贝的节点j时,
一、社区内数据转发
1)若i与j属于同一社区
a)若同属于目的社区且B(j,Cd)>B(i,Cd)或者j是目的节点,则节点i直接将数据包转发给节点j;
b)若不属于目的社区且w cj(j)>w ci(i),则节点i直接将数据包转发给节点j;
c)否则不产生拷贝;
二、社区间数据转发
2)若i与j属于不同社区
a)若节点j与目的节点同社区,则节点i直接将数据包转发给节点j;
b)若节点j与目的节点不同社区且B(j,Cd)>B(i,Cd),则节点i直接将数据包转发给节点j;
c)若节点j与目的节点不同社区且B(j,Cd)=B(i,Cd)=0,如果,则节点i直接将数据包转发给节点j;
d)否则不产生拷贝;
4 仿真结果
在本章,采用Infocom 06[19]数据集中节点的移动模式作为实验对象并利用JAVA 编写了一个仿真实验程序来模拟算法。Infocom 06 数据集真实记录了2006 年在西班牙巴塞罗那召开的Infocom会议中98 个节点通过蓝牙设备收集的移动轨迹,其中20 个为固定的APs。在模拟仿真的时候我们把20 个固定的Aps 看做20 个地理社区,形成20 个社交网络。仿真过程中选择著名的Epidemic、Label、PS[20]算法与提出的算法DFDG 从传递率、平均延迟和拷贝数目三个方面进行多次比较。所有实验结果取300 次运行结果的平均值。
首先,将数据包的数目从100 变化到500 来观察发包数目对四种算法性能的影响,其中数据包的生存周期(Time-To-Live,TTL)设置为36 h。实验结果如果3 所示。由图3(a)可知,随着发包数目的增加,四种算法的传递率变化趋势基本相同,都先增加而后趋于平缓。进一步发现,提出的DFDG 算法的传递率比Label 和PS 算法高,而低于Epidemic 算法。因为Epidemic 算法采取的是洪泛传输机制,因此传递率最高达到上界。如图3(b)可知,DFDG 算法的平均延迟最高,原因是数据转发时的条件判断限制,从而造成数据传输的时延。但在图3(c)中,DFDG 算法的拷贝数目最低,分别平均比Epidemic、Label、PS算法低72.2%,68.5%和31.2%。
图3 发包数目对四种算法性能的影响
接着,改变数据包的生存周期从12 h 变化到48 h,数据包数目设置为250 个保持不变。实验结果如图4 所示。由图4(a)中可以发现,在12 h 到18 h 之间,数据的传递率增长明显,因为随着数据包生存时间的增加,数据可以有效的转发到目的节点。而18 h 之后,传递率的增加就趋于缓慢。但从中也可以发现,DFDG 算法在不同TTL 值下,传递率都低于Epidemic 算法,高于Label 和PS 算法。在图3(b)中,DFDG 算法的平均延迟最高。但在图3(c)中,DFDG 算法的拷贝数目最低,比Epidemic、Label、PS 算法低73.4%,70.3%和32.7%。
图4 TTL 变化对四种算法性能的影响
通过以上实验对比分析可知,提出的DFDG算法在使用较少的网络开销的情况下,获得了较好的网络转发性能。
5 结束语
本文通过基于病症团体的数据转发算法讨论了移动医疗社交网络中的数据转发问题。在DFDG 算法中,为了控制网络开销,延长网络传输时间,在数据拷贝问题上分为社区内和社区间利用不同的度量标准进行转发节点的选择。最后,在仿真实验中,与著名的Epidemic、Label、PS 算法相比,提出的算法可以明显降低网络开销且传递率仅次于Epidemic 算法。