首页> 中国专利> 用于大规模分布式仿真的轻量化DDS自动发现方法

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

摘要

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

著录项

  • 公开/公告号CN112257285A

    专利类型发明专利

  • 公开/公告日2021-01-22

    原文格式PDF

  • 申请/专利权人 中国民航大学;

    申请/专利号CN202011195563.2

  • 发明设计人 刘哲旭;王凯;赵珍;

    申请日2020-10-30

  • 分类号G06F30/20(20200101);G06F16/22(20190101);G06F16/2458(20190101);G06F111/02(20200101);G06F111/08(20200101);

  • 代理机构12105 天津中环专利商标代理有限公司;

  • 代理人王凤英

  • 地址 300300 天津市东丽区津北公路2898号

  • 入库时间 2023-06-19 09:40:06

说明书

技术领域

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

背景技术

分布式仿真任务中仿真节点间的数据传输和同步是保证仿真性能的关键问题。随着仿真对象愈发复杂,分布式仿真环境更加庞大,仿真规模不断增长,仿真节点也在不断赠加,仿真过程中各节点间巨量的数据传输和同步正面临着极大的挑战。

目前,分布式仿真平台中实现数据传输和同步的数据分发服务(DataDistribution Service,DDS)所采用是基于简单发现机制布隆过滤器(Simple DiscoveryProtocol Bloom Filter,SDPBloom)的自动发现算法。在仿真过程中,每个仿真参与者端点均将自己的描述信息(一般为数据的主题名称)发送给其他参与者,同时也会接收其他参与者端点发送的所有的描述信息。当仿真规模较大时,巨大的内存消耗和网络带宽的占用对于仿真实时性的影响是无法忍受的。本发明所涉及的轻量化数据分布服务DDS自动发现算法就是一种可以在满足分布式仿真运行的同时减少内存消耗和网络传输量的新型技术方案。

发明内容

鉴于现有技术存在的问题,本发明提出一种用于大规模分布式仿真的轻量化数据分发服务DDS自动发现方法,包括基于OHTBF的数据压缩存储、基于最优化阈值θ和T的查询算法。采用该方法可以减少内存消耗和网络传输量,在大规模分布式仿真应用中提高仿真节点间数据通信的实时性。

为了达到上述目的,本发明采取的技术方案是:一种用于大规模分布式仿真的轻量化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自动发现算法作为补充查询方法。

本发明在步骤三中,所述采用真阳率TPR和假阳率FPR构建的传输精度函数的计算公式为:

上式中,TPR为真阳率,即主题名称查询成功的概率,即正确地判断某个需要订阅的主题名称包含于收到的OHTBF向量中的概率;TPR通过对所述查询算法中OHTBF向量点积结果的概率密度函数得到,其计算公式为:

上式中,k为OHTBF布隆过滤器的分区个数,T为判定阈值,d为非负整数,d

上式中,n为仿真节点中映射至OHTBF向量的主题名称的个数,v为非负整数,m

FPR为假阳率,即主题名称查询失败的概率,即错误的判断某个需要订阅的主题名称包含于收到的OHTBF向量中的概率;FPR通过对所述查询算法中OHTBF向量点积结果的概率密度函数得到,其计算公式为:

上式中,d

上式中,0为二值化阈值。

本发明所产生的有益效果在于:

(1)本发明所提出的SDP_OHTBF自动发现方法在采用OHTBF存储各仿真节点中所有参与者端点的描述信息时,使用一个哈希函数和简单的模运算代替了传统布隆过滤器中的多个哈希函数运算,可以减少运算量,有效的降低内存消耗。

(2)本发明所提出的SDP_OHTBF自动发现方法采用基于最优的二值化阈值0和判定T的OHTBF向量查询算法来实现数据订阅,同时又采用SDPBloom自动发现算法作为订阅失败时的补充查询方法,能够在保证TPR为1的同时,有效的降低FPR,从而减少无效数据的传输,降低减少内存消耗和网络传输量。

附图说明

图1为本发明涉及的SDP_OHTBF自动发现过程的示意图;

图2为本发明涉及的OHTBF布隆过滤器压缩存储3个数据信息元素的示意图。

具体实施方式

下面结合附图对本发明分别从SDP_OHTBF自动发现过程、基于OHTBF的数据压缩存储、基于最优化阈值θ和T的查询算法三部分进行详细说明。

1、SDP_OHTBF自动发现过程

本发明所涉及的SDP_OHTBF自动发现过程如图1所示,此处以第一节点和第二节点间的数据传输过程为例进行阐述。

图1中,数据从第一节点发送到第二节点,则第一节点和第二节点可以分别定义为本地参与者和远程参与者,二者间进行数据通信时的SDP_OHTBF自动发现方法的执行过程分为两个阶段:参与者发现阶段和端点发现阶段。

在参与者发现阶段中,将本地参与者的端点描述信息压缩为1个OHTBF向量,发给远程参与者。一般来说,端点描述信息是每个本地参与者唯一的关键字,通常是主题名称。

在端点发现阶段中,若远程参与者需要订阅一个或多个主题,远程参与者将通过查询算法查询本地参与者发来的OHTBF向量中是否存在其订阅的主题,若存在,则远程参与者向本地参与者发送该主题的订阅信息,本地参与者再发送该主题服务质量数据包进行进一步匹配,若匹配成功,则本地参与者与远程参与者间建立通信。

2、基于OHTBF的数据压缩存储

本发明所涉及的OHTBF布隆过滤器是一种具有k个分区的一维向量,其初始值为0,每个分区的大小由m

采用OHTBF对数据信息进行压缩存储的过程如图2所示,其中以通过具有3个分区的OHTBF布隆过滤器对3个数据信息元素进行压缩为例。

图2中,通过OHTBF布隆过滤器对数据信息的压缩存储分为两个阶段:哈希阶段和取模阶段。

哈希阶段:将待压缩的数据元素集合通过哈希函数分别映射为机器字。图2中,3个数据元素均通过一个相同的哈希函数h(x)分别映射为3个机器字F

取模阶段:将机器字F

例如,假设OHTBF的3个分区的大小分别为m

3、基于最优的二值化阈值0和判定阈值T的查询算法

本发明所涉及的基于最优的二值化阈值0和判定阈值T的查询算法是通过最优化的二值化阈值0和判定阈值T来判定各参与者发来的OHTBF向量中是否含有所需数据主题名称,执行过程可以分为两步:

首先,针对各参与者使用OHTBF对数据信息进行压缩存储后所获得的OHTBF向量,采用二值化阈值0对其中的每一位进行二值化处理。具体来说,当OHTBF向量中的某一位的值小于或等于二值化阈值0时将该位置0,否则置1。二值化处理后的OHTBF向量即为SDP_OHTBF自动发现过程中各参与者间传输的OHTBF向量。

然后,通过判定阈值T来分别判断收到的各OHTBF向量中是否含有需要订阅的数据主题名称。将所需数据主题名称也映射为一个OHTBF向量,对该向量与收到的各OHTBF向量分别求点积。若求得的某个点积大于或等于判定阈值T,则认为其对应的OHTBF向量中含有所需数据主题名称。

在查询算法的执行过程中,二值化阈值0和判定阈值T的取值对查询算法结果的影响是决定性的。因此,本发明给出了一种二值化阈值0和判定阈值T的最优化方法,具体阐述如下:

在OHTBF的数据压缩存储过程中,某个主题名称通过哈希运算生成机器字,再通过取模运算,向量中每个分区中的每个位置被置为1的可能性是相同的。因此,可以把某个主题名称x在每个分区中的映射看作是超几何分布的单个实现,此分布的容量为m

在OHTBF向量中,任一分区中的任一位置的值R就可以看作是一个离散的随机变量。因此,在将n个主题名称映射至OHTBF向量的过程中,其中任一分区的任一位置的值R必将是服从二项分布B(n,P

然后,根据公式(2)就可以获得每个分区中值为v的位置数量的数学期望期望的计算公式:

对于通过给定阈值0二值化后获得的OHTBF向量,可以根据公式(2)得到其中任一分区中的任一位置的值R为0的概率:

则二值化后的OHTBF向量中任一分区中的任一位置的值R为1的概率:

若收到的OHTBF向量中含有某个需要订阅的主题名称x的信息,则x在查询算法的计算过程中所获得的点积d

而对于收到的OHTBF向量中不包含的某个需要订阅的主题名称y,其在查询算法的计算过程中所获得的点积d

由于OHTBF向量中各分区的大小虽不相等却非常接近,那么就可以近似的认为各分区大小相等,则点积d

通过引入两个参数来描述优化目标:真阳率TPR和假阳率FPR。真阳率TPR即正确地判断某个需要订阅的主题名称包含于收到的OHTBF向量中的概率;相反,假阳率FPR即错误的判断某个需要订阅的主题名称包含于收到的OHTBF向量中的概率。结合判定阈值T,真阳率TPR可由点积d

同样,假阳率FPR可由点积d

SDP_OHTBF的优化目标是在保证在具有高真阳率TPR的同时使假阳率FPR最小化。基于这一要求,本发明赋予真阳率TPR和假阳率FPR相同的权重来构建传输精度函数,并以使其获得最大值为优化目标,则所构建的目标函数为:

对于式(12)的目标函数的最优化过程,可以通过各种最优化算法实现,例如遗传算法等。

另外,本发明所提出的用于大规模分布式仿真的轻量化DDS自动发现方法,当使用SDP_OHTBF自动发现方法时,若因无法正确地判断某个需要订阅的主题名称包含于收到的OHTBF向量而无法完成订阅时,则采用SDPBloom自动发现方法作为补充查询方法。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号