用于大规模分布式仿真的轻量化DDS自动发现方法技术

技术编号:27134643 阅读:31 留言:0更新日期:2021-01-25 20:35
本发明专利技术公开了一种用于大规模分布式仿真的轻量化DDS自动发现方法。该方法是基于单哈希函数阈值布隆过滤器OHTBF和简单发现机制SDP的自动发现方法SDP_OHTBF来实现的,包括基于OHTBF的数据压缩存储和基于最优化阈值θ和T的查询算法。本方法采用OHTBF存储各仿真节点中所有参与者端点的描述信息时,使用一个哈希函数和简单的模运算代替了传统布隆过滤器中的多个哈希函数运算,可以减少运算量。采用基于最优的二值化阈值θ和判定阈值T的OHTBF向量查询算法来实现数据订阅,可以有效的降低FPR,从而减少无效数据的传输,降低内存消耗和网络传输量。网络传输量。网络传输量。

【技术实现步骤摘要】
用于大规模分布式仿真的轻量化DDS自动发现方法


[0001]本专利技术涉及大规模分布式仿真中的数据分发服务领域,特别涉及一种用于大规模分布式仿真的轻量化数据分发服务DDS自动发现方法。

技术介绍

[0002]分布式仿真任务中仿真节点间的数据传输和同步是保证仿真性能的关键问题。随着仿真对象愈发复杂,分布式仿真环境更加庞大,仿真规模不断增长,仿真节点也在不断赠加,仿真过程中各节点间巨量的数据传输和同步正面临着极大的挑战。
[0003]目前,分布式仿真平台中实现数据传输和同步的数据分发服务(Data Distribution Service,DDS)所采用是基于简单发现机制布隆过滤器(Simple Discovery Protocol Bloom Filter,SDPBloom)的自动发现算法。在仿真过程中,每个仿真参与者端点均将自己的描述信息(一般为数据的主题名称)发送给其他参与者,同时也会接收其他参与者端点发送的所有的描述信息。当仿真规模较大时,巨大的内存消耗和网络带宽的占用对于仿真实时性的影响是无法忍受的。本专利技术所涉及的轻量化数据分布服务DDS自动发现算法就是一种可以在满足分布式仿真运行的同时减少内存消耗和网络传输量的新型技术方案。

技术实现思路

[0004]鉴于现有技术存在的问题,本专利技术提出一种用于大规模分布式仿真的轻量化数据分发服务DDS自动发现方法,包括基于OHTBF的数据压缩存储、基于最优化阈值θ和T的查询算法。采用该方法可以减少内存消耗和网络传输量,在大规模分布式仿真应用中提高仿真节点间数据通信的实时性。
[0005]为了达到上述目的,本专利技术采取的技术方案是:一种用于大规模分布式仿真的轻量化DDS自动发现方法,其特征在于:所述方法是基于单哈希函数阈值布隆过滤器OHTBF和简单发现机制SDP的自动发现方法SDP_OHTBF来实现的,具体步骤为:
[0006]一、各仿真节点分别通过1个OHTBF布隆过滤器将其自身包含的所有参与者端点的描述信息压缩映射为1个OHTBF向量,其中OHTBF布隆过滤器是一种具有k个分区的一维向量,所述压缩映射过程为针对每个参与者端点的描述信息的一个哈希运算和分别针对OHTBF向量各分区的k个取模运算。
[0007]二、各仿真节点间互相发送所述OHTBF向量,任一仿真节点均通过查询算法来搜索含有自身需要的参与者端点描述信息的OHTBF向量,并对其所对应的仿真节点进行数据订阅,从而实现数据通信;其中,所述各仿真节点间互相发送所述OHTBF向量的过程中,采用阈值0对OHTBF向量中的每一位进行二值化处理。
[0008]三、所述仿真节点通过查询算法来搜索含有自身需要的参与者端点描述信息的OHTBF向量并对其所对应的仿真节点进行数据订阅的过程中,将该仿真节点需要订阅的某个数据的主题名称通过一个哈希和取模运算映射至一个OHTBF向量,再将该OHTBF向量与其
他仿真节点发来的所有OHTBF向量分别求点积,再分别通过查询算法与判定阈值T比对,从而搜索能够提供该数据的仿真节点并进行订阅;所述阈值0和判定阈值T通过对采用真阳率TPR和假阳率FPR构建的传输精度函数的最优化获得。
[0009]四、当采用所述自动发现算法SDP_OHTBF因搜索不到能够提供仿真节点所需数据的主题名称而无法完成数据订阅时,采用SDPBloom自动发现算法作为补充查询方法。
[0010]本专利技术在步骤三中,所述采用真阳率TPR和假阳率FPR构建的传输精度函数的计算公式为:
[0011][0012]上式中,TPR为真阳率,即主题名称查询成功的概率,即正确地判断某个需要订阅的主题名称包含于收到的OHTBF向量中的概率;TPR通过对所述查询算法中OHTBF向量点积结果的概率密度函数得到,其计算公式为:
[0013][0014]上式中,k为OHTBF布隆过滤器的分区个数,T为判定阈值,d为非负整数,d
x
为当某个所需订阅主题名称x包含在OHTBF向量中时在查询算法的计算过程中所获得的点积d
x
,d
x
符合二项分布d
x
~B(k,p
x
);p
x
为某个所需订阅主题名称x在查询算法计算过程中对OHTBF向量求点积时某一位置的乘积为1的概率,其计算公式为:
[0015][0016]上式中,n为仿真节点中映射至OHTBF向量的主题名称的个数,v为非负整数,m
i
为OHTBF布隆过滤器中第i个分区的长度,p
i
为主题名称映射为OHTBF向量的过程中,在OHTBF向量的第i个分区中的某一位被设置为1的概率;
[0017]FPR为假阳率,即主题名称查询失败的概率,即错误的判断某个需要订阅的主题名称包含于收到的OHTBF向量中的概率;FPR通过对所述查询算法中OHTBF向量点积结果的概率密度函数得到,其计算公式为:
[0018][0019]上式中,d
y
为当某个所需订阅主题名称y不包含在OHTBF向量中时在查询算法的计算过程中所获得的点积d
y
,d
y
符合二项分布d
y
~B(k,p
y
);p
y
为某个所需订阅主题名称y在查询算法计算过程中对OHTBF向量求点积时某一位置的乘积为1的概率,其计算公式为:
[0020][0021]上式中,0为二值化阈值。
[0022]本专利技术所产生的有益效果在于:
[0023](1)本专利技术所提出的SDP_OHTBF自动发现方法在采用OHTBF存储各仿真节点中所有
参与者端点的描述信息时,使用一个哈希函数和简单的模运算代替了传统布隆过滤器中的多个哈希函数运算,可以减少运算量,有效的降低内存消耗。
[0024](2)本专利技术所提出的SDP_OHTBF自动发现方法采用基于最优的二值化阈值0和判定T的OHTBF向量查询算法来实现数据订阅,同时又采用SDPBloom自动发现算法作为订阅失败时的补充查询方法,能够在保证TPR为1的同时,有效的降低FPR,从而减少无效数据的传输,降低减少内存消耗和网络传输量。
附图说明
[0025]图1为本专利技术涉及的SDP_OHTBF自动发现过程的示意图;
[0026]图2为本专利技术涉及的OHTBF布隆过滤器压缩存储3个数据信息元素的示意图。
具体实施方式
[0027]下面结合附图对本专利技术分别从SDP_OHTBF自动发现过程、基于OHTBF的数据压缩存储、基于最优化阈值θ和T的查询算法三部分进行详细说明。
[0028]1、SDP_OHTBF自动发现过程
[0029]本专利技术所涉及的SDP_OHTBF自动发现过程如图1所示,此处以第一节点和第二节点间的数据传输过程为例进行阐述。
[0030]图1中,数据从第一节点发送到第二节点,则第一节点和第二节点可以分别定义为本地参与者和远程参与本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于大规模分布式仿真的轻量化DDS自动发现方法,其特征在于:所述方法是基于单哈希函数阈值布隆过滤器OHTBF和简单发现机制SDP的自动发现方法SDP_OHTBF来实现的,具体步骤为:一、各仿真节点分别通过1个OHTBF布隆过滤器将其自身包含的所有参与者端点的描述信息压缩映射为1个OHTBF向量,其中OHTBF布隆过滤器是一种具有k个分区的一维向量,所述压缩映射过程为针对每个参与者端点的描述信息的一个哈希运算和分别针对OHTBF向量各分区的k个取模运算;二、各仿真节点间互相发送所述OHTBF向量,任一仿真节点均通过查询算法来搜索含有自身需要的参与者端点描述信息的OHTBF向量,并对其所对应的仿真节点进行数据订阅,从而实现数据通信;其中,所述各仿真节点间互相发送所述OHTBF向量的过程中,采用阈值0对OHTBF向量中的每一位进行二值化处理;三、所述仿真节点通过查询算法来搜索含有自身需要的参与者端点描述信息的OHTBF向量并对其所对应的仿真节点进行数据订阅的过程中,将该仿真节点需要订阅的某个数据的主题名称通过一个哈希和取模运算映射至一个OHTBF向量,再将该OHTBF向量与其他仿真节点发来的所有OHTBF向量分别求点积,再分别通过查询算法与判定阈值T比对,从而搜索能够提供该数据的仿真节点并进行订阅;所述阈值0和判定阈值T通过对采用真阳率TPR和假阳率FPR构建的传输精度函数的最优化获得;四、当采用所述自动发现算法SDP_OHTBF因搜索不到能够提供仿真节点所需数据的主题名称而无法完成数据订阅时,采用SDPBloom自动发现算法作为补充查询方法。2.根据权利要求1所述的用于大规模分布式仿真的轻量化DDS自动发现方法,其特征在于:在步骤三中,所述采用真阳率TPR和假阳率FPR构建的传输精度函数的计算公式为:上式中,TPR为真阳率,即主题名称查询成功的概率,...

【专利技术属性】
技术研发人员:刘哲旭王凯赵珍
申请(专利权)人:中国民航大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1