CN112328373A - 一种面向分布式仿真的数据分发服务dds自动发现方法 - Google Patents
一种面向分布式仿真的数据分发服务dds自动发现方法 Download PDFInfo
- Publication number
- CN112328373A CN112328373A CN202011373387.7A CN202011373387A CN112328373A CN 112328373 A CN112328373 A CN 112328373A CN 202011373387 A CN202011373387 A CN 202011373387A CN 112328373 A CN112328373 A CN 112328373A
- Authority
- CN
- China
- Prior art keywords
- participant
- endpoint
- information
- bloom filter
- bit array
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000009826 distribution Methods 0.000 title claims abstract description 11
- 238000004088 simulation Methods 0.000 claims abstract description 23
- 238000004891 communication Methods 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 11
- 238000012790 confirmation Methods 0.000 claims description 6
- 238000009827 uniform distribution Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000013144 data compression Methods 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 230000015572 biosynthetic process Effects 0.000 abstract 1
- 238000003786 synthesis reaction Methods 0.000 abstract 1
- 230000006837 decompression Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出了一种面向分布式仿真的数据分发服务DDS自动发现方法,包括以下步骤:参与者A需要向参与者B发送其包含的所有端点的信息,从而使参与者A和参与者B中匹配的端点互相发现彼此并建立通信连接;为此,参与者A收集其所有端点的特征信息,并利用布隆过滤器和二进制算术编码将信息进行高效的表示,剔除了冗余信息、降低了要发送的数据包大小。本发明在复杂的分布式仿真网络中,仅需在参与者间传递表示所有端点特征信息的一个小数值,即可完成端点信息的高效匹配,极大地降低了网络传输量,提升了分布式仿真系统的实时性。
Description
技术领域
本发明属于分布式仿真领域,涉及一种面向分布式仿真的DDS自动发现方法,解决传统DDS自动发现方法传输信息量大、影响分布式仿真实时性的问题。
背景技术
DDS是一种面向分布式实时系统的数据分发服务标准,广泛应用于各类分布式仿真系统中,能够为各仿真节点带来高效实时的数据交互,实现仿真模型间的协同仿真。在DDS中,端点(数据写者/数据读者)需要能够在全局数据空间互相发现彼此来建立通信连接,这是一个耗时的过程,需要一种高效的自动发现方法来提高性能。
现有的DDS一般采用SDP简单发现协议,在该种协议中每个端点都需要与其它所有端点进行通信,互相发送包含端点话题、类型、QoS属性等信息的SDP数据包。这些端点中包含很多无法匹配的端点,产生了大量的信息冗余。对于包含大量仿真节点的分布式仿真系统,该种发现方法的信息冗余导致网络传输量巨大,严重影响系统的实时性能。
发明内容
针对该问题,本发明提出一种新的基于布隆过滤器及二进制算术编码的DDS自动发现方法,该方法利用布隆过滤器的高效检索特性实现冗余信息快速排除,并利用二进制算术编码高效压缩传输的布隆过滤器位数组大小,极大地降低了网络数据传输量,提高了系统的实时性。
本发明的技术方案为:一种面向分布式仿真的数据分发服务DDS自动发现方法,包括以下步骤:参与者A需要向参与者B发送其包含的所有端点的信息,从而使参与者A和参与者B中匹配的端点互相发现彼此并建立通信连接;为此,参与者A收集其所有端点的特征信息,并利用布隆过滤器和二进制算术编码将信息进行高效的表示,剔除了冗余信息、降低了要发送的数据包大小。
进一步,参与者A和参与者B中匹配的端点互相发现彼此并建立通信连接,其详细步骤如下:
步骤1:当参与者A中有新的端点建立或有端点被删除时,参与者A的更新功能被触发;
步骤2:参与者A收集当前内部包含的所有端点的特征信息,包含话题、类型构成唯一标志字符串,增加新增端点特征信息或去掉已删除端点特征信息;
步骤3:参与者A利用布隆过滤器算法,构造包含所有端点特征信息的布隆过滤器位数组;
步骤4:参与者A利用二进制算术编码算法,对生成的布隆过滤器位数组进行数据压缩,生成一个表示原始布隆过滤器位数组的小数值;
步骤5:参与者A向参与者B发送代表布隆过滤器位数组的小数值;
步骤6:参与者B接收到参与者A发送的小数值,利用逆向二进制算术编码进行解码,获得未经压缩的原布隆过滤器位数组;
步骤7:参与者B利用逆向布隆过滤器,将本地端点的特征信息与参与者A中端点的特征信息进行快速匹配;
步骤8:对于匹配的参与者B中端点信息,参与者B通知其中的端点向参与者A中的相应端点进一步发送确认信息;
步骤9:参与者B中匹配的端点将本身的特征信息,包含话题、类型、QoS,发送给参与者A中相应的端点;
步骤10:参与者A中的端点收到参与者B的端点信息后,将自己的信息与收到的参与者B中端点的信息进行匹配,若发现完全匹配,则向参与者B中的端点发送建立连接的消息;否则,不发送建立连接的消息。
进一步,利用布隆过滤器将信息进行高效的表示,详细构造过程如下:
步骤2.1:参与者收集当前所包含的所有端点的话题名称和类型名称字符串,作为此端点的标志符;
步骤2.2:构造一个长度为m的位数组并把所有位置0,表示布隆过滤器位数组;
步骤2.3:选择k个相互独立的哈希函数,每个函数可以把端点标志符哈希为一个代表数组中位置的整数p;
步骤2.4:将数组中对应位置p的值置为1,其余位置不变;
通过以上4个步骤,即构造了能够表示参与者拥有端点信息的布隆过滤器位数组,然后利用布隆过滤器高效的检索特性,可以在接收端完成快速匹配,当接收端参与者收到来自发送端参与者发出的布隆过滤器位数组后,需要进行本地端点信息的匹配,以确定发送端参与者中是否包含合适的端点,为端点间进一步的直接通信做准备。
进一步,在接收端完成快速匹配的具体过程为:
步骤3.1:选择要进行匹配的本地端点,收集其话题名称和类型名称字符串构成标志符;
步骤3.2:利用构造布隆过滤器位数组时的k个哈希函数,对要进行匹配的端点标志符进行哈希计算,获得k个代表数组位置的整数值;
步骤3.3:比对布隆过滤器位数组k个位置的值,若全为1则说明发送端参与者可能包含匹配的端点;否则,发送端参与者一定不包含匹配的端点;
步骤3.4:本地端点向发送端参与者中匹配的端点发送包含其详细属性信息的进一步确认信息。
进一步,还包括,将二进制算术编码与布隆过滤算法相结合,采用二进制算术编码对构造的布隆过滤器位数组进行压缩、编码、解码,详细构造过程如下:
步骤4.1:对于位数组中的0和1两个符号,设置每个符号出现的初始概率服从均匀分布,并以此概率划分[0,1)区间,每个划分的编码子区间代表一个符号;
步骤4.2:按顺序读入布隆过滤器位数组中的每一位符号,找出其所在的编码子区间[low,high),根据新读入的符号值重新设定0和1符号的出现概率,并以此概率划分编码子区间[low,high),每个子区间同样代表一个符号;
步骤4.3:重复步骤4.2直到读完所有的布隆过滤器位数组符号,在最终获得的编码区间[low, high)中选择一个易于表示的小数传输到远程参与者;
当接收端参与者收到来自发送端参与者发出的经压缩后的小数值后,需要对其进行解压缩处理,将小数值恢复为原始的布隆过滤器位数组,提供给本地端点进行信息匹配,二进制算术编码解码的详细步骤如下:
步骤4.4:对于位数组中的0和1两个符号,设置每个符号出现的初始概率服从均匀分布,并以此概率划分[0,1)区间,每个划分的编码子区间代表一个符号;
步骤4.5:根据接收到的小数值,确定其所在的编码子区间[low,high)并输出该编码子区间所代表的符号值,此符号值即为原始布隆过滤器位数组中相应位的值;
步骤4.6:根据步骤4.5输出的符号值重新设定0和1符号的出现概率,并以此概率划分编码子区间[low,high),每个子区间同样代表一个符号;
步骤4.7:重复步骤4.5,直到生成的原始布隆过滤器位数组长度达到设定的值。
本发明具有以下有益效果:
本发明的关键点和欲保护点是布隆过滤器和二进制算术编码相结合的DDS自动发现方法,具体的就是:端点信息的高效匹配方法、操作步骤和基于该方法的DDS自动发现流程。
本发明利用布隆过滤器和二进制算术编码的组合来对端点信息进行高效的表示。布隆过滤器将繁多的端点信息打包为一个固定长度的位数组,统一了端点信息的表示。此外,布隆过滤器O(1)时间复杂度的检索效率使得接收端端点信息的匹配可以快速完成,实现冗余信息的高效剔除。二进制算术编码对布隆过滤器生成的位数组进行充分压缩表示,最终仅生成一个占用空间很小的小数值。该小数值是对布隆过滤器位数组的无损压缩,可以完全复现原布隆过滤器位数组。在复杂的分布式仿真网络中,仅需在参与者间传递该小数值,即可完成端点信息的高效匹配,极大地降低了网络传输量,提升了分布式仿真系统的实时性。
附图说明
图1 发现方法总体概述
图2 应用A、B内部端点发现流程序列图
图3 布隆过滤器原理图
图4 端点信息的高效匹配方法
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
DDS:数据分发服务;
参与者:应用程序在DDS中的代理,包含一系列的数据写者、数据读者;
数据写者:发布端应用程序通过数据写者将数据传给DDS,每个数据写者都与一个主题绑定。应用程序使用数据写者提供的特定类型接口发布主题的数据样本。
数据读者:数据读者负责从DDS获取数据,并解包之后将数据传给应用程序,每个数据读者都与一个主题绑定。应用程序使用数据读者的特定类型接口来接收样本数据。
本发明从信息的表示方法入手,利用布隆过滤器和二进制算术编码确保了分布式仿真应用中端点发现的高效性和实时性。
本发明实现在图1中的方法,基于布隆过滤器和二进制算术编码实现。应用A(即参与者A)需要向应用B(即参与者B)发送其包含的所有端点的信息,从而使应用A和应用B中匹配的端点可以互相发现彼此并建立通信连接。为此,参与者A收集其所有端点的特征信息,并利用布隆过滤器和二进制算术编码将信息进行高效的表示,剔除了冗余信息、降低了要发送的数据包大小,提高了传输的高效性和实时性。
应用A和应用B两者中的端点互相发现的具体流程如图2所示,其详细步骤如下:
步骤1:当应用A中有新的端点建立或有端点被删除时,参与者A的更新功能被触发。
步骤2:参与者A收集当前内部包含的所有端点的特征信息(包含话题、类型等构成唯一标志字符串),增加新增端点特征信息或去掉已删除端点特征信息。
步骤3:参与者A利用布隆过滤器算法,构造包含所有端点特征信息的布隆过滤器位数组。
步骤4:参与者A利用二进制算术编码算法,对生成的布隆过滤器位数组进行数据压缩,生成一个表示原始布隆过滤器位数组的小数值。
步骤5:参与者A向参与者B发送代表布隆过滤器位数组的小数值。
步骤6:参与者B接收到参与者A发送的小数值,利用逆向二进制算术编码进行解码,获得未经压缩的原布隆过滤器位数组。
步骤7:参与者B利用逆向布隆过滤器,将本地端点的特征信息与参与者A中端点的特征信息进行快速匹配。
步骤8:对于匹配的参与者B中端点信息,参与者B通知其中的端点向参与者A中的相应端点进一步发送确认信息。
步骤9:参与者B中匹配的端点将本身的特征信息(包含话题、类型、QoS等)发送给参与者A中相应的端点。
步骤10:参与者A中的端点收到参与者B的端点信息后,将自己的信息与收到的参与者B中端点的信息进行匹配,若发现完全匹配,则向参与者B中的端点发送建立连接的消息;否则,不发送建立连接的消息。如图2所示。
端点信息的高效匹配方法(布隆过滤器+二进制算术编码)
一、布隆过滤器
布隆过滤器(Bloom Filter)是由布隆(Burton Howard Bloom)在1970年提出的。它由一个很长的位数组和一系列随机映射函数组成。布隆过滤器可以以O(1)的时间复杂度检索一个元素是否在一个集合中。利用该算法,可以将参与者要发送的所有端点的信息打包成一个位数组,在节约了空间的同时提升了远程参与者信息匹配的速度。布隆过滤器的原理如图3所示。
1、 布隆过滤器的编码
在有新端点建立或有旧端点被删除时,参与者需要重新建立布隆过滤器位数组,以通知域(domain)中所有其它参与者它当前所包含的端点信息。参与者会收集当前所包含端点的话题名称、类型名称,并利用两者的联合来构造对应的布隆过滤器位数组。详细构造过程如下:
步骤1:参与者收集当前所包含的所有端点的话题名称和类型名称字符串,作为此端点的标志符。
步骤2:构造一个长度为m的位数组并把所有位置0,表示布隆过滤器位数组。
步骤3:选择k个相互独立的哈希函数,每个函数可以把端点标志符哈希为一个代表数组中位置的整数p。
步骤4:将数组中对应位置p的值置为1,其余位置不变。
通过以上4个步骤,即构造了能够表示参与者拥有端点信息的布隆过滤器位数组,相比于直接发送所有端点的信息,极大地减少了通信量。此外,利用布隆过滤器高效的检索特性,可以在接收端完成快速匹配。
2、 布隆过滤器的匹配
当接收端参与者收到来自发送端参与者发出的布隆过滤器位数组后,需要进行本地端点信息的匹配,以确定发送端参与者中是否包含合适的端点,为端点间进一步的直接通信做准备。同样的,端点信息的匹配过程与构建布隆过滤器位数组的过程类似,详细步骤如下:
步骤1:选择要进行匹配的本地端点,收集其话题名称和类型名称字符串构成标志符。
步骤2:利用构造布隆过滤器位数组时的k个哈希函数,对要进行匹配的端点标志符进行哈希计算,获得k个代表数组位置的整数值。
步骤3:比对布隆过滤器位数组k个位置的值,若全为1则说明发送端参与者可能包含匹配的端点;否则,发送端参与者一定不包含匹配的端点。
步骤4:本地端点向发送端参与者中匹配的端点发送包含其详细属性信息的进一步确认信息。
通过以上步骤,本地端点就可以发现发送端参与者中是否有与自己匹配的端点存在,从而避免了不匹配端点发送冗余消息的情况出现,减少了网络带宽的浪费。
二、二进制算术编码
1、 正向二进制算术编码
在复杂的分布式仿真系统中,每个节点参与者包含大量的数据写者/数据读者端点,通过布隆过滤算法构造的位数组将会是一个非常长的数组。为了减少分布式仿真系统中节点间相互传输的数据量、提高系统的实时性,本发明将二进制算术编码与布隆过滤算法相结合,采用二进制算术编码对构造的布隆过滤器位数组进行压缩,减少其在分布式网络节点间传输的数据量,提高系统实时性。详细步骤如下:
步骤1:对于位数组中的0和1两个符号,设置每个符号出现的初始概率服从均匀分布,并以此概率划分[0,1)区间,每个划分的编码子区间代表一个符号。
步骤2:按顺序读入布隆过滤器位数组中的每一位符号,找出其所在的编码子区间[low,high),根据新读入的符号值重新设定0和1符号的出现概率,并以此概率划分编码子区间[low,high),每个子区间同样代表一个符号。
步骤3:重复步骤2直到读完所有的布隆过滤器位数组符号,在最终获得的编码区间[low, high)中选择一个易于表示的小数传输到远程参与者。
通过以上3个步骤,即将一串长的布隆过滤器位数组压缩成一个小数,表示此小数所用的位数组远远小于原始位数组,极大地减少了参与者信息在分布式网络中的传输量,提升了分布式仿真系统的实时性。
2、 二进制算术编码的解码
当接收端参与者收到来自发送端参与者发出的经压缩后的小数值后,需要对其进行解压缩处理,将小数值恢复为原始的布隆过滤器位数组,提供给本地端点进行信息匹配。二进制算术编码解码的详细步骤如下:
步骤1:对于位数组中的0和1两个符号,设置每个符号出现的初始概率服从均匀分布,并以此概率划分[0,1)区间,每个划分的编码子区间代表一个符号。
步骤2:根据接收到的小数值,确定其所在的编码子区间[low,high)并输出该编码子区间所代表的符号值,此符号值即为原始布隆过滤器位数组中相应位的值。
步骤3:根据步骤2输出的符号值重新设定0和1符号的出现概率,并以此概率划分编码子区间[low,high),每个子区间同样代表一个符号。
步骤4:重复步骤2,直到生成的原始布隆过滤器位数组长度达到设定的值。
通过以上4个步骤,即可以将算术编码压缩成的小数值还原为原始的布隆过滤器位数组。该解压缩步骤是无损的,生成的位数组与原布隆过滤器位数组完全一致,可用于本地端点信息的匹配。
三、端点信息的高效匹配方法
利用布隆过滤器及二进制算术编码,可以高效地完成端点间的配对工作,减少了端点间冗余信息的传输,降低了分布式仿真网络中传输的数据量,提升了分布式仿真系统的性能。下图4为本发明提出的端点信息高效匹配方法流程图。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解 :在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (5)
1.一种面向分布式仿真的数据分发服务DDS自动发现方法,其特征在于,包括以下步骤:参与者A需要向参与者B发送其包含的所有端点的信息,从而使参与者A和参与者B中匹配的端点互相发现彼此并建立通信连接;参与者A收集其所有端点的特征信息,并利用布隆过滤器和二进制算术编码将信息进行高效的表示,剔除了冗余信息、降低了要发送的数据包大小。
2.根据权利要求1所述的一种面向分布式仿真的数据分发服务DDS自动发现方法,其特征在于,参与者A和参与者B中匹配的端点互相发现彼此并建立通信连接,其详细步骤如下:
步骤1:当参与者A中有新的端点建立或有端点被删除时,参与者A的更新功能被触发;
步骤2:参与者A收集当前内部包含的所有端点的特征信息,包含话题、类型构成唯一标志字符串,增加新增端点特征信息或去掉已删除端点特征信息;
步骤3:参与者A利用布隆过滤器算法,构造包含所有端点特征信息的布隆过滤器位数组;
步骤4:参与者A利用二进制算术编码算法,对生成的布隆过滤器位数组进行数据压缩,生成一个表示原始布隆过滤器位数组的小数值;
步骤5:参与者A向参与者B发送代表布隆过滤器位数组的小数值;
步骤6:参与者B接收到参与者A发送的小数值,利用逆向二进制算术编码进行解码,获得未经压缩的原布隆过滤器位数组;
步骤7:参与者B利用逆向布隆过滤器,将本地端点的特征信息与参与者A中端点的特征信息进行快速匹配;
步骤8:对于匹配的参与者B中端点信息,参与者B通知其中的端点向参与者A中的相应端点进一步发送确认信息;
步骤9:参与者B中匹配的端点将本身的特征信息,包含话题、类型、QoS,发送给参与者A中相应的端点;
步骤10:参与者A中的端点收到参与者B的端点信息后,将自己的信息与收到的参与者B中端点的信息进行匹配,若发现完全匹配,则向参与者B中的端点发送建立连接的消息;否则,不发送建立连接的消息。
3.根据权利要求1所述的一种面向分布式仿真的数据分发服务DDS自动发现方法,其特征在于,利用布隆过滤器将信息进行高效的表示,详细构造过程如下:
步骤2.1:参与者收集当前所包含的所有端点的话题名称和类型名称字符串,作为此端点的标志符;
步骤2.2:构造一个长度为m的位数组并把所有位置0,表示布隆过滤器位数组;
步骤2.3:选择k个相互独立的哈希函数,每个函数可以把端点标志符哈希为一个代表数组中位置的整数p;
步骤2.4:将数组中对应位置p的值置为1,其余位置不变;
通过以上4个步骤,即构造了能够表示参与者拥有端点信息的布隆过滤器位数组,然后利用布隆过滤器高效的检索特性,可以在接收端完成快速匹配,当接收端参与者收到来自发送端参与者发出的布隆过滤器位数组后,需要进行本地端点信息的匹配,以确定发送端参与者中是否包含合适的端点,为端点间进一步的直接通信做准备。
4.根据权利要求3所述的一种面向分布式仿真的数据分发服务DDS自动发现方法,其特征在于,在接收端完成快速匹配的具体过程为:
步骤3.1:选择要进行匹配的本地端点,收集其话题名称和类型名称字符串构成标志符;
步骤3.2:利用构造布隆过滤器位数组时的k个哈希函数,对要进行匹配的端点标志符进行哈希计算,获得k个代表数组位置的整数值;
步骤3.3:比对布隆过滤器位数组k个位置的值,若全为1则说明发送端参与者可能包含匹配的端点;否则,发送端参与者一定不包含匹配的端点;
步骤3.4:本地端点向发送端参与者中匹配的端点发送包含其详细属性信息的进一步确认信息。
5.根据权利要求3所述的一种面向分布式仿真的数据分发服务DDS自动发现方法,其特征在于,还包括,将二进制算术编码与布隆过滤算法相结合,采用二进制算术编码对构造的布隆过滤器位数组进行压缩、编码、解码,详细构造过程如下:
步骤4.1:对于位数组中的0和1两个符号,设置每个符号出现的初始概率服从均匀分布,并以此概率划分[0,1)区间,每个划分的编码子区间代表一个符号;
步骤4.2:按顺序读入布隆过滤器位数组中的每一位符号,找出其所在的编码子区间[low,high),根据新读入的符号值重新设定0和1符号的出现概率,并以此概率划分编码子区间[low,high),每个子区间同样代表一个符号;
步骤4.3:重复步骤4.2直到读完所有的布隆过滤器位数组符号,在最终获得的编码区间[low, high)中选择一个易于表示的小数传输到远程参与者;
当接收端参与者收到来自发送端参与者发出的经压缩后的小数值后,需要对其进行解压缩处理,将小数值恢复为原始的布隆过滤器位数组,提供给本地端点进行信息匹配,二进制算术编码解码的详细步骤如下:
步骤4.4:对于位数组中的0和1两个符号,设置每个符号出现的初始概率服从均匀分布,并以此概率划分[0,1)区间,每个划分的编码子区间代表一个符号;
步骤4.5:根据接收到的小数值,确定其所在的编码子区间[low,high)并输出该编码子区间所代表的符号值,此符号值即为原始布隆过滤器位数组中相应位的值;
步骤4.6:根据步骤4.5输出的符号值重新设定0和1符号的出现概率,并以此概率划分编码子区间[low,high),每个子区间同样代表一个符号;
步骤4.7:重复步骤4.5,直到生成的原始布隆过滤器位数组长度达到设定的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011373387.7A CN112328373B (zh) | 2020-11-30 | 2020-11-30 | 一种面向分布式仿真的数据分发服务dds自动发现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011373387.7A CN112328373B (zh) | 2020-11-30 | 2020-11-30 | 一种面向分布式仿真的数据分发服务dds自动发现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112328373A true CN112328373A (zh) | 2021-02-05 |
CN112328373B CN112328373B (zh) | 2024-01-12 |
Family
ID=74309348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011373387.7A Active CN112328373B (zh) | 2020-11-30 | 2020-11-30 | 一种面向分布式仿真的数据分发服务dds自动发现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328373B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113347080A (zh) * | 2021-06-30 | 2021-09-03 | 奥特酷智能科技(南京)有限公司 | 一种基于数据分发服务的局域网即时通讯方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120084287A1 (en) * | 2010-09-30 | 2012-04-05 | Choudur Lakshminarayan | Estimation of unique database values |
CN103345472A (zh) * | 2013-06-04 | 2013-10-09 | 北京航空航天大学 | 基于有限二叉树布隆过滤器的去冗文件系统及其构建方法 |
KR101570933B1 (ko) * | 2014-09-05 | 2015-11-23 | 금오공과대학교 산학협력단 | 데이터분산서비스에서 동적 블룸 필터를 이용한 노드 탐색 시스템 및 방법 |
CN106899848A (zh) * | 2015-12-18 | 2017-06-27 | 黑莓有限公司 | 用于图像和视频编码的自适应二进制化器选择 |
US20170208140A1 (en) * | 2016-01-14 | 2017-07-20 | The Industry & Academic Cooperation In Chungnam National University (Iac) | System and method for endpoint discovery based on data distribution service |
US20190044939A1 (en) * | 2018-03-30 | 2019-02-07 | Intel Corporation | Secure Type-Enforced Actions |
CN110750897A (zh) * | 2019-10-17 | 2020-02-04 | 中国民航大学 | 一种基于阈值布隆过滤器的dds自动发现方法 |
-
2020
- 2020-11-30 CN CN202011373387.7A patent/CN112328373B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120084287A1 (en) * | 2010-09-30 | 2012-04-05 | Choudur Lakshminarayan | Estimation of unique database values |
CN103345472A (zh) * | 2013-06-04 | 2013-10-09 | 北京航空航天大学 | 基于有限二叉树布隆过滤器的去冗文件系统及其构建方法 |
KR101570933B1 (ko) * | 2014-09-05 | 2015-11-23 | 금오공과대학교 산학협력단 | 데이터분산서비스에서 동적 블룸 필터를 이용한 노드 탐색 시스템 및 방법 |
CN106899848A (zh) * | 2015-12-18 | 2017-06-27 | 黑莓有限公司 | 用于图像和视频编码的自适应二进制化器选择 |
US20170208140A1 (en) * | 2016-01-14 | 2017-07-20 | The Industry & Academic Cooperation In Chungnam National University (Iac) | System and method for endpoint discovery based on data distribution service |
US20190044939A1 (en) * | 2018-03-30 | 2019-02-07 | Intel Corporation | Secure Type-Enforced Actions |
CN110750897A (zh) * | 2019-10-17 | 2020-02-04 | 中国民航大学 | 一种基于阈值布隆过滤器的dds自动发现方法 |
Non-Patent Citations (2)
Title |
---|
JULIAN R. ULLMANN: "Partition search for non-binary constraint satisfaction", 《INFORMATION SCIENCES》, vol. 177, no. 18, pages 3639 - 3678, XP022127629, DOI: 10.1016/j.ins.2007.03.030 * |
周斌: "面向大数据的高效存储容量缩减技术研究", 《中国博士学位论文全文数据库·信息科技辑》, pages 137 - 9 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113347080A (zh) * | 2021-06-30 | 2021-09-03 | 奥特酷智能科技(南京)有限公司 | 一种基于数据分发服务的局域网即时通讯方法 |
CN113347080B (zh) * | 2021-06-30 | 2022-05-20 | 奥特酷智能科技(南京)有限公司 | 一种基于数据分发服务的局域网即时通讯方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112328373B (zh) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6883035B2 (en) | System and method for communicating with temporary compression tables | |
US5831558A (en) | Method of compressing and decompressing data in a computer system by encoding data using a data dictionary | |
US6985965B2 (en) | Static information knowledge used with binary compression methods | |
CN109818930B (zh) | 一种基于tcp协议的通讯文本数据传输方法 | |
US5703581A (en) | Method and apparatus for data compression and decompression | |
CN101667843B (zh) | 嵌入式系统的数据压缩、及解压缩方法与装置 | |
US8400334B2 (en) | Asymmetric dictionary-based compression/decompression useful for broadcast or multicast unidirectional communication channels | |
CN108696492A (zh) | Ip报文的处理方法与装置 | |
CN101557399A (zh) | 一种xmpp协议传输数据压缩与解压缩方法 | |
CN101469989B (zh) | 一种手机网络导航中导航数据的压缩方法 | |
JPS6356726B2 (zh) | ||
WO2001063772A1 (en) | Method and apparatus for optimized lossless compression using a plurality of coders | |
CN112328373B (zh) | 一种面向分布式仿真的数据分发服务dds自动发现方法 | |
EP1334557A2 (en) | Static information knowledge used with binary compression methods | |
WO2017157023A1 (zh) | 一种soap报文传输方法及系统 | |
CN112866196B (zh) | 一种短波数字信号解译还原方法 | |
CN110113402B (zh) | 一种web服务通信的方法及装置 | |
CN1541475B (zh) | 传输用户数据报协议消息的方法 | |
WO2014029081A1 (zh) | 压缩方法及设备 | |
CN115499015A (zh) | 将子文字用于复杂性降低的霍夫曼编码的deflate压缩 | |
CN114024952A (zh) | 一种基于dl/t 698.45-2007协议的文件压缩传输方法 | |
CN106878054A (zh) | 一种业务处理方法和装置 | |
CN111866520A (zh) | 编解码方法、编解码设备以及通信系统 | |
CN103929447B (zh) | 一种基于PEEK操作的解析HTTP chunked编码数据的方法 | |
Sasilal et al. | Arithmetic coding-A reliable implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |