数据分发管理(通用7篇)
数据分发管理 篇1
如今, 标签管理的内涵已远远大于其字面含义, 市场营销人员越来越看重标签管理在线上数据分发中所起的重要作用。几乎所有营销者都认为, 标签管理对未来客户数据整合的趋势有着举足轻重的作用。虽然市场对标签管理的基本功能——管理和更新网页标签的需求依然持续, 但市场重心已经向其未来的方向转移。一些新的功能, 如收集、提炼、分割以及规范线上客户数据集, 并在客户数据发送到数字营销系统以前完成这些预处理, 是大部分营销者所渴求的。原因在于, 客户数据整合挑战是营销者首要考虑的问题, 他们通过大量的数据努力去构建有关客户的完整的视角, 而上述的功能将有助于很好地解决这一问题。因此, 我们认为, 2013年以后, 在标签管理方面的投资将因其所具备的数据集成潜能而得到推动。
为了了解市场营销人员目前关于标签管理系统的观点, Forrester, 一家提供独立和客观的研究咨询服务的机构, 对142位熟悉标签管理并负责数字营销预算、策略和供应商选择的数字营销决策者进行了在线调查。研究表明, 大部分受访者已经不再把标签管理系统 (TMS) 单纯地看作是管理标签的工具, 而是一种对线上数据进行提炼和分发的新方式, 这些数据是在客户与大量数字营销供应商的互动节点中捕获的。为了通过各种渠道实现对客户更好的可视化, 营销人员需要与IT部门密切联系。目前, 营销人员已成为了客户数据整合的主要的利益相关者。
主要研究结果
在Forrester的研究报告中主要有4个观点:
(1) 标签管理远远不只是客户端标签的管理。营销人员发现了其另一个重要价值——是将游客数据进行收集、提炼, 并分发到数字营销供应商的有效接口和重要技术。因此这也代表了一种线上数据分发平台的诞生。
(2) 约96%的企业都面临着线上数据整合的挑战, 他们相信解决好这些挑战将会更好地帮助他们了解客户行为, 改善客户体验, 最终提高获取和保留客户的能力。因此, 营销人员将引导他们的IT团队应对客户数据整合的挑战。
(3) 营销人员开始利用标签管理系统帮助他们进行数据整合, 通过多种渠道更清晰地了解客户行为。标签管理系统已被视为是一种新型的源于各在线客户接触点的数据资源, 帮助营销人员克服了以往数据源抑制数据整合的问题。
(4) 营销人员将增加对标签管理的投资。2013年, 平均有9.2%的市场预算投入到标签管理中, 年增长率达35%, 原因在于TMS系统的线上数据分配的高投资回报率。
标签管理系统
自本世纪之初, 营销人员已致力于收集分析网站的线上数据。Java Script标签的标准化应用对数据收集起着关键的推动作用。然而, 随着标签技术的涌现, 标签成为了标签技术成功背后的牺牲品。大量的关于网页分析, 广告推销, 在线测试, 目标市场及许多其他类型的标签泛滥于整个网站。管理如此繁多的标签成为营销人员“永恒的噩梦”, 要求营销人员必须持续不断地调整计划和采用更多的技术。而且人工标签管理通常成本高, 容易出错, 效率低下。标签管理系统的出现解决了以上不足, 总体而言, 它成功地通过多种功能实现标签的增添、编辑和删除等管理。使得如今大多数的营销人员能够轻松实现更高质量的数据分析, 改善的市场敏捷度和更优的网页性能 (如图1) 。调查表明, 营销人员主要从易用性、规模和性能等方面来判断标签管理的价值 (如图2) 。简而言之, 标签管理系统解决了在数字营销标签管理过程中许多棘手的问题。
从标签管理系统演化到线上数据分发
基于TMS的标签管理的有效性已获得了业界的高度认可。但标签管理已演化到超越了人们对其的这一基本认知。几乎三分之二的受访者把TMS视为在客户与数字营销商之间数据交换的更有效的途径 (如图3) 。很巧秒的是, TMS的核心标签管理功能恰恰能够实现对数字客户端 (如Web浏览器) 的数据进行收集, 并进一步进行提炼再分发到相关的数字营销系统中去。营销人员希望把这一功能优势应用到他们的数据整合项目中。据调查, 那些把标签管理视为分发线上数据的有效方法的受访者中有72%都有各自的数据整合项目 (如图4) 。更重要的是, 不管营销人员对TMS的价值理解有多深 (事实上, 调查表明, 如图5所示, 94%的受访者认为TMS的数据整合功能将是其下一步的演进方向) , 其在线上数据整合中的重要性都会不断增加。展望未来, 标签管理将会成为线上数据整合策略的核心部分, 为数据的收集和分类提供管理服务, 并成为线上可执行数据的数据来源。
营销人员主导客户数据与数字技术
约96%的受访企业都面临着整合在线数据的难题。缺乏IT资源是最主要的原因 (如图7) 。这是一个不可避免的困境。在这个客户至上的时代, 企业最注重的是客户体验, 因而营销人员不仅要获得客户还需要留住客户。对客户行为有更好的了解, 并通过多种渠道改善用户体验对这种“客户至上”的策略至关紧要, 也关系到他们从客户数据中所获得的利益。因此, 毫无疑问营销人员已成为了客户数据整合的主要利益相关者, 并起着主导作用。首先, 他们掌握了标签管理系统。目前, TMS系统具有友善的用户界面和易操作的业务流程, 使得营销人员能够轻松地进行日常的标签管理。据调查, 如今有56%的企业中, 其TMS的管理是由营销团队负责的 (如图8) 。这不仅大大减轻了本已匮乏的IT资源的负担, 而且能更快速地直接响应他们的线上营销需求。第二, 他们也掌握了客户数据的主动性。TMS作为线上数据分发平台, 且其数据整合能力不断增强, 使得营销人员在掌握客户数据主动性方面相比IT人员占绝对优势。
数字渠道整合推动TMS投资
2013年数字营销的重点是提供新的社交和移动渠道, 整合多渠道在线营销手段 (如图9) 。这些渠道将整合成为一个强大的渠道网络, 这也是为什么TMS的线上数据分发和整合能力如此吸引眼球的原因。因此, 市场对TMS的投资在不断增加并已逐渐追赶在线营销手段整合方面的投资。今年, 预计标签管理所占营销预算的份额将从6.8%增加到9.2%, 增长率达35%。
主要建议
在标签管理线上数据分发功能不断演进的新时代, 营销队伍的建设必须迎合新的要求。这里为营销人员提出了以下几点建议:
要认清TMS系统的多种功能。线上数据分发平台的功能不仅仅是分发线上数据。把线上数据分发到合适的营销系统只是最后 (下转第12页) 一个环节。在此之前, 线上数据需要被系统发掘, 再由目标系统进行定义, 然后进行分发。因此, 线上数据分发平台具有三大流程, 即发掘, 定义和分发。
让标签管理成为数据整合策略的其中一个关键部分。不要被“标签管理”这个字面意思所蒙骗, 要认识到其数字分发功能对客户的数据整合策略起着关键作用。
要记住传统标签管理的作用。确实, 标签管理系统不仅仅是进行标签管理, 但其对于跨网页和网域的标签部署的管理作用是非常明确的。标签管理系统对营销标签和线上营销活动进行管理, 从而让营销人员快速响应业务需求和客户需求。单单这些作用已足以为TMS的投资提供充分的理由。
结合IT技术。有了TMS系统是不是就可以甩开IT技术了呢?当然不行!虽然TMS对IT技术的依赖程度更小了, 但依赖性依然存在, 如在标签审计, 系统的初始部署, 自定义标签的实现, 以及新网页和网域的标签部署等环节中, 都需要IT部门的协助。
数据分发管理 篇2
随着信息技术的不断提升,信息化程度的不断提高,人们对计算、存储资源的需求也呈现出高速增长的趋势。然而摩尔定律的制约使得人们不得不去探索其他的方式来满足对更高计算能力、更大存储空间的追求。从上世纪80 年代开始,分布式计算以其突破传统的思维方式得到人们的认同,人们试图以此突破单机计算的CPU、内存等瓶颈问题。到本世纪初,基于物联网的分布式计算、网格计算、效用计算、透明计算等应运而生。图1为2008年至2011年在基于物联网的云计算和网格计算受关注度的变化趋势。可见云计算自2007 年兴起以来,正以高速增长的态势吸引了众人的目光。
另一方面,随着当前互联网应用的集成化,大规模数据一体化管理、数据安全性、分布式环境下的多用户共享应用、数据动态更新等方面的需求日益强烈,采用大型数据库系统管理大规模的空间数据成为发展的重要方向,但传统的两层客户端/数据库服务器的网络应用模式,随着数据规模的不断增大,多用户并发数的增加,数据库服务器既是网络存储服务器,又担当网络通信服务器。这造成了数据库服务器负载压力过大,且在多用户并发访问时导致数据库服务器严重的I/O瓶颈和性能瓶颈,使多用户并发的数据管理模式在满足流畅可视化、高性能分析等实时应用方面遇到了难以克服的障碍。
而云平台由于采用分布式存储与高性能计算,在处理海量空间数据分发与管理的问题上具有极大的优势。针对多源、多类型、大规模空间数据具有的海量性、数据结构复杂性、数据量差异性等特点以及目前互联网应用对实时应用的高性能数据调度的要求,亟需研究一种基于云平台的适用于空间数据分发与管理特点的高效系统,在理论与实际应用中都具有非常重要的意义。
1 相关研究工作
1.1 空间数据研究
当前互联网应用的共同数据基础为空间数据。所谓空间数据指地球上任何一种地物都有其空间属性,如它的大小、位置、形状和分布信息等。广义上的空间还要包括其时空特性。因此,空间数据即用来描述与表达物体的以上信息,对物体定性、定位,表达其时间、空间、拓扑信息,实现对现实世界的概念模型的表述。其本质上是一种用几何上的点、线、面以及拓扑关系、时空信息等数据结构构建的概念模型。空间数据是搭建空间数据管理系统、空间数据建模、空间分析与可视化的基础。
空间数据通过GPS、Lidars等手段获取数据的空间定位信息,使其在空间参考系统中具有唯一的空间位置属性。时间属性是指物体的时间信息与变化特性,既可以作为一般属性与空间属性结合,也可以作为四维尺度控制整个信息系统。拓扑信息用于表示物体的相互关系,是空间数据的第三层属性。武汉大学李德仁院士提出的“智慧地球”(2009)以及当前各个城市的信息部门积极研究的智慧城市应用中,空间数据是其基础信息与功能基础。目前随着LBS服务、移动通讯技术的发展,空间数据已经广泛应用于社会各个领域和各个行业,如国土资源信息与规划部门、公安消防、景观设计、房地产行业、航空探月等。例如2010年开始流行的Check-In服务,从美国的FourSquare到中国的街旁、切客等,无处不在应用着空间数据,用户也逐渐认识到空间数据的概念与其重大作用,是与生活息息相关的。这也反过来推动了广大用户对采集、获取、处理和应用空间数据的发展。
1.2 宽带网络与智慧城市
我国正处于以信息化带动工业化发展战略实施重要时期,而宽带通信已经是重要的领域。宽带化战略将为感知中国理念下的网络与云计算的发展提供泛在支持,从而为构建无缝、可移动、最大众化的物联网奠定工程技术基础。个人通信、物联网、三网融合、家庭信息化等服务发展急切需求为导向,抓好宽带化、IP化的发展方向,才能实现感知中国、智慧地球作为重要的支撑。
对于高速宽带网络以及云计算的需求,一是LBS,利用无线网把地图服务器、空间数据库的引进和甲骨文(微博)的数据库接到Web服务器上,可以送到用户端上的位置服务。将实时交通路况采集、导航电子地图,通过导航服务中心送到每个车载用户上,只有电子地图不能反映路况,将路况和地图,地图还要每年更新才能构成智能服务的导航服务。目前研究较成功的应用如影象城市和我秀中国,其系统已采集电子地图和街景影象共2TB,并创建30个兴趣点,访问量需要宽带。
智慧城市则是一种以全面感知为主的概念,并有包含云计算、物联网,面向应用和服务,与物理世界融为一体,能实现自主组网,自己维护等特征。我国著名计算机学家龚健雅院士用一句很经典的话来概括了城市数字化与智慧化的区别,即数字城市能做到:“秀才不出门,能知天下事”,而智慧城市却能够做到“秀才不出门,能做天下事”。
2 空间数据数据管理与分发
2.1 基于云平台的分布式存储管理方案设计
基于云平台的空间数据的存储管理需要考虑海量数据模型的建库以及分发。本文采用空间实体集成表示的统一数据模型作为支撑数据库的概念模型,针对各种专题的空间模型数据以及DOM数据、属性数据等,提出兼顾空间关系与语义关系的云平台空间数据库模型及其数据结构,并针对文件系统、关系型数据库管理系统及其集群并行管理系统等三种不同的存储环境,分别设计高效的管理海量数据的数据库组织与存储结构,如图2所示。
具体方案设计如下:
(1) 在云计算平台下,需要特别考虑传输速度与带宽需要,地形数据采用瓦片金字塔模型进行分层与分块组织;针对整个数据范围的空间模型数据具有范围广、数据量大,对象数量多等特点,三维模型数据采用基于数据内容的分区方法进行组织,并按地上地下与室外室内建筑模型、道路网络模型、管线模型、环境模型等专题进行分类组织;针对地理典型应用,系统可提供专题数据的组织方式和地形、属性及各类三维模型数据的组合模型,将耦合度高的数据内容紧密结合,以提高应用的效率。数据管理和调度提供参数操控和调整界面。
(2) 针对传统单机版数据库管理模式在TB级海量三维空间数据访问存在的严重I/O瓶颈和服务器性能瓶颈,本文设计了基于网络数据库集群的并行三维空间数据库组织管理技术。针对三维空间数据的大规模海量性、非结构化变长和非均匀分布等特点建立了三维空间数据并行划分方法,通过三维空间数据并行划分和组织,基于多层次并行空间索引结构,并利用数据库集群服务器实现对网络大规模三维空间数据的高性能并行管理。
(3) 针对适用于云平台上Internet上的文件系统、关系型数据库管理系统及其集群并行管理系统等三种存储环境对于数据管理的不同特性,在统一的空间数据库模型的基础上,分别设计适于每种存储环境的三维空间数据库逻辑结构及物理存储的方案。
2.2 云平台下的数据无线压缩与分发设计
考虑到云计算平台中采用无线通信对空间数据进行分发的需求以及互联网空间数据基于XML结构的特点,本文设计了一种适用于空间数据的整体同构压缩与分发算法。该算法整体上可以划分为四个关键步骤:空间数据文档的读取与解析、基于语义同构的压缩算法功能设计、压缩文件的直接读取。下面进行详细论述。算法流程图如图3所示。
压缩模型的输入包括空间数据原始数据文件和所采用的分组个数。空间本原数据首先经过读取和解析的操作,获得文档树结构。然后对文档树进行整体同构压缩,该过程包括两个主要的子流程,语义结构压缩与数据内容压缩,其中语义结构压缩对空间数据文档中的标签项按照“高频低码”的思路予以置换,数据内容压缩采用K-Means等聚簇算法对空间数据进行分类并重新定义坐标系。然后输出压缩后的空间数据数据文档以及两个辅助文件。最后,在移动终端,模型所设计的直接读取算法利用两个辅助文件,对压缩生成的空间数据数据文档进行直接读取,并进行空间查询等操作。
互联网应用中的空间数据文件不仅具有XML结构嵌套、文本表达的特点,作为矢量数据格式,它同样具有矢量数据的优点,并具有面向对象表达的特性。因此,在空间数据整体同构压缩模型中,提出了采用聚类方法对各要素进行分类并进行坐标系的转换,从而减少数据量。通过对多种聚类算法的比较,最终采用的是简单而高效的K-Means聚类算法。
压缩算法的设计如下:
算法描述:空间数据_DataContentCompress(int ClusterNumber);
输入参数:对原始数据进行分组的个数ClusterNumber ;
输出结果:数据内容同构压缩后的空间数据文档和坐标系转换辅助文件;
方法:将所有数据标签下的内容读出并进行字符串切割,即每个要素的所有点坐标对。为简化算法,可以将线要素均看作短线,面要素看作小圆,即将各要素取其中心点,然后采用K-Means算法进行聚簇划分。最后,将各要素按照所属聚类的局部坐标系进行坐标变换并置换文档数据节点内容,同时生成坐标系辅助文件。
步骤1 数据内容读取
//获取数据标签与命名空间
XPath xpath = XPath.newInstance(″//空间数据:LineString/空间数据:coordinates″);
xpath.addNamespace(″空间数据″,″http://www.opengis.net/空间数据″);
List list= xpath.selectNodes(root);
for (Each element in the List)
{
//对每个数据标签下的内容进行数据切割并求出要素中心点
String NodeContent=element.getText();
String Coordinates[]=NodeContent.split(″ ″);
for(int i=0;i<Coordinates.Length;i++)
String co[]=Coordinates[i].split(″,″);
Float c_x=Sum(Co[0])/Coordinates.Length; //求出中心点坐标
Float c_y= Sum(Co[1])/ Coordinates.Length;
}
步骤2 采用K-Means算法对各要素中心点自动分为ClusterNumber组
Cluster mProtoClusters[] = new Cluster[ClusterNumber];/
//对各聚类进行初始化,聚类中心的初始值为随机点
for(j=0;j<ClusterNumber;j++)
mProtoClusters[j].m_PointTag.Add(Rand)
//对各点求出离其最近的聚类的中心点并将其归到对应的类中,并
//更新聚类中心点
updateCenter(PointArray,mProtoClusters);
//不断循环上述过程至各聚类的中心不再发生变动
while(mProtoClusters[i].center!= mProtoClusters[i].oldcenter)
go2Cluster(PointArray,mProtoClusters);
步骤3 对各要素进行坐标变换并写入结果文档
Float x=tmpx-mProtoClusters[PointArray[loop].ClusterTag].m_X;
Float y=tmpy-mProtoClusters[PointArray[loop].ClusterTag].m_Y;
e.setText(x+” ,”+y);
3 实验分析
3.1 线状数据压缩与分发效率
本次实验采取大小为1200KB的空间线状数据Road.gml,该数据包括634个线状要素。数据GML模式文档及原始图形如图4(a)和图4(b)所示,图4(a)的深色填充部分为整体同构压缩的过程。
在实验中,为研究不同聚簇个数对压缩效果的影响首先只对线状原始数据进行了数据内容的压缩。程序将聚簇个数从2到599进行了统一的自动压缩文件生成。然后对原始文档同时进行了语义同构压缩与数据内容压缩。部分分组的压缩后图形如图5所示。
从上面几个压缩后数据的可视化结果可以发现,随着分组个数的增加,图形的聚集程度显著增大。这是因为分组越多,新生成的坐标系的个数越多,从而对每个要素的新的坐标值而言,其相似程度越大,也就越来越聚集。
表1为原始数据与按5组、50组、300组、597组一次聚类压缩后(三次实验求平均值)的结果中部分对应坐标串的转换前后对照。
可以看出,除了原始数据中的坐标外,按不同分组进行压缩时坐标的数值都已经显著减少。并且随着分组的增加,坐标的范围越来越小,从而导致图形越来越密集。
实验中分组个数与两次不同压缩后数据的大小的对比如表2所示。
3.2 面状数据压缩与分发效率
为进一步验证本文方法对不同数据文件的压缩效果,本文又采取大小为30.5M的某城市中心广场的面状数据,该数据包括460个面状要素(呈圆形)。实验中对聚簇个数从2到460进行了统一的自动压缩文件生成。原始数据的GML模式文档和可视化图形分别如图6和图7所示。
部分分组的压缩后数据可视化图形如图8,可以看出,如同线状数据,随着分组个数的增加,图形的密集程度增加。
表3为原始数据Platz_polygon.gml与按5组、50组、200组、457组一次聚类压缩后(三次实验取平均值)的结果中部分数据点坐标的转换前后对照。
实验中同样先对原始数据只进行数据内容的压缩,观察不同分组个数对压缩率的影响。然后同时进行语义结构和数据内容的压缩。压缩后的文件大小和计算所得压缩率如表4所示。
3.3 压缩效率分析
通过对比线状数据与面状数据的压缩结果可以发现,压缩率基本上随着分组个数的增加而减少,即表示压缩效果变好。在分组个数较少时,压缩率随分组个数降低的速度较快,随着分组个数的增加,压缩率的变化率也在减少。具体分析如图9所示,其中η1为线状数据压缩率随分组个数变化的曲线,η2为面状数据压缩率随分组个数变化的曲线。
4 结 语
互联网的发展带来数据与通信网络容量遭遇到瓶颈,云计算是解决此问题的有效途径,基于云计算机实现空间数据分发与管理是当前研究的热点与难点。
本文主要研究在云计算平台下的空间数据的管理与压缩分发工作。首先设计了一种适合海量空间数据存储与发布的数据库体系架构并分析了其方案,然后设计了一种适于云计算分布存储的空间数据压缩算法。实验证明,本文设计的方案取得了较好的效率,适合云计算平台使用,并满足空间数据的应用需求。
摘要:随着当前互联网应用的高度集成,大规模数据一体化管理、数据安全性、分布式环境下的多用户共享应用、数据动态更新等方面的需求日益强烈,而互联网的发展带来数据与通信网络容量遭遇到瓶颈。云计算是解决此问题的有效途径,通过云计算下的空间数据分发与管理可解决海量空间数据应用的一系列问题。主要研究在云计算平台下的空间数据的管理与压缩分发工作,设计了相关算法。实验证明,所设计的方案取得了较好的效率,适合云计算平台使用,并满足空间数据的应用需求。
基于BT协议的数据分发机制 篇3
1 BT介绍
基于BT协议的文件分发系统由以下几个实体构成:1, web服务器, 用于存放和分发种子文件。2, 种子文件, 记载一系列相关信息。3, Tracker服务器, 保存整个BT网络信息的中心服务器。4, 原始文件提供者, 也叫种子, 保存整个文件的完整备份。5, 诸多BT客户端下载者。种子文件包含这个BT协议网络构成的一系列信息.信息都是经过B编。格式是
当客户端与一个Peer建立TCP连接之后, 他们之间的通信过程如下:首先向peer发送握手消息
其中四个状态参数am_choking, am_interested, peer_choking, peer_interested决定是否可以从peer出获得数据以及peer是否可以从自己这儿获得数据, 当am_choking为1时, 自己将peer阻塞, 不允许peer从自己这儿获得数据, peer_choking为1时, peer将自己阻塞, 不允许自己从peer那儿获得数据, am_interested为1时, 表示自己有peer没有的数据, peer对自己感兴趣, 希望能从自己这儿得到数据, peer_interested为1, 表示peer有自己没有的数据, 自己希望能从peer那儿得到数据, 这样当自己和peer在执行阻塞算法的时候, 可以将阻塞位清0, 然后能够进行数据传输。
2 问题描述
从上面的描述知道, 一个peer要想下载数据, 也就是要上传数据, 当peer拥有其他peer没有的数据, 并将其上传给其他peer, 这样才能从其他peer那儿下载到数据, 这个机制使得每个peer都成为服务器角色, 当下载人数越多时, 下载速度就越快。但这个机制存在的一点缺陷在于, 当一个新的, 没有任何待下载文件数据的全新peer加入这个BT网络的时候, 因为他没有任何数据, 当然也不会有其他peer感兴趣的数据, 也难以从其他peer处下载数据。
3 解决方案
在所有的peer之中, 有两种peer很特殊, 一是新加入的peer, 自身不拥有任何数据, 另一种是种子peer, 即已经完成了待下载文件的全部下载, 为了解决上述的问题, 我们可以将BT的协议作局部的调整, 充分利用这些种子文件, 使新的peer快速融入到整个BT网络。对于新加入的peer, 在与tracker联系的时候, tracker依据其传输过来的数据中依据downloaded=0表示一个数据字节都没有下, 通过这个判断出这是个全新的peer, 于是tracker返回BT网络之中所有的种子信息给peer:
Peer收到这个信息之后, 依据这个信息建立种子链表, 通过计算与所有种子peer之间的路由跳数, 选择经过跳数最少的4个种子peer作为与自己靠得最近的4个种子peer, 然后与四个种子peer连接, 从这4个种子处获得数据, 因为种子peer不需要下载数据, 则可以一直向外上传数据, 在一定的时间之内, 新加的peer可以持续从种子peer处下载数据, 然后当peer积累了一定量的数据之后, 便不再从种子处下载数据, 当再次与tracker交换信息的时候, tracker不再返回种子链表, 而是如普通BT协议那样返回所有peer的信息, 此时peer就可以通过交换Bit Map位图, 依据am_choking, am_inerested, peer_choking, peer_interested执行阻塞算法, 以后的过程就如同普通BT协议那样继续进行下去。流程如下:
通过这样的方案, 避免了新加入的peer因没有数据而缺乏竞争力而导致的无法快速融入网络分享数据的情况。
4 存在的问题
远程教育数据分发的软件实现 篇4
1.1 文件的分包
其实把文件逐块送到缓冲区里就相当于把文件打成UDP包,包里的文件数据的实际大小就是缓冲区的长度,这里我们取缓冲区的长度为5000个字节。也就是先从文件里取出5000个字节送到缓冲区,等到套接口把缓冲区里的数据发送出去以后,就再取第二个5000字节到缓冲区里,直到把文件取完,然后再从头从新开始将文件切割打包传送,这样不停地循环,这就是轮播。下面是实现数据分割的源程序:
1.2 数据包的结构
现在已经把文件数据内容送到缓冲区,但还得加上别的信息才能发送,因为UDP是无连接,通信不可靠,只有应用程序自已解决传输可靠性问题,那么必须给数据包加上控制信息。
对于一个分成N个包的文件,前N-1个包的“文件数据长度”都是5000,只有最后一个包的“文件数据长度”可能不是5000,因为每个文件总的字节数不可能正好是5000的整数倍,这时就必须告诉接收端数据包中实际有用数据是多少字节,所以要加上“文件数据长度”这个控制信息。在网络传输时会有延时,而各个包走的路线又是不相同的,就有可能发生后发的数据包先到的情况,这里只有加上包的序号,接收端才能正确重组原文件,至于“文件名”“包的序号”也是必不可少的,接收端的很多处理都是根据这两个信息来完成的。
1.3 文件发送
文件打好包以后就可以将数据广播出去了,这要用CSocket类的发送函数来实现,操作如下:
1.4 接收端文件重组
大文件在传输时肯定会有包丢失,所以发送端如果只播一遍的话,根本就不可能在接收端正确完全的接收到发送端所传送的文件,所以这里才采用轮播的方式。但这里又引入了新的问题,一是,程序怎样知道哪些数据包是以前接收过的;二是,程序怎样来判接收何时结束。为了解决这两个问题,这里设置了AdjuvancyFile文件,这是接收端在接收数据时产生的一个辅助文件,用来记录数据的接收进度信息。
AdjuvancyFile的前8个字节放的分别是剩余的包数和包总数,其中剩余的包数是用来判断文件接收何时结束的,包总数可用来计算接收百分率。那么除这8个字节以外其余字节记录的是各数据包的接收状态,每个包的接收状态用1个bit位来表示,有以下两种情况:一是包已经收,那么这个包对应的bit位被置1;二是包还未收到,那么这个包所对应的bit位被0。一个字节有8bit,那么记录“接收状态”所需要的字节数=包总数÷8+1,"+1"是因为并不一定包总数能被8整除。为了进行位运算方便,将AdjuvancyFile文件最后一个bit位对应于第一个(序号为0)数据包,倒数第二个bit位对应于序号为1的数据包,以后对应的对应以此类推。如下为实现判断数据包是否已接收过的程序:
接收端重组文件时要根据包的序号来定位指针,定位这个指针就用fseek()函数,它的格式如下:
fp是文件指针,数字5是指针要移动的字节数,L表示5是个长整型数,第三个参数是指针移动的起点,
0表示从开头移动,1表示从当前位移动,2表示从文件尾移动。如果数据包序号是从0开始的,那么文件指针的定位,就用如下语句实现:fseek(fp,包序号×5000,0)。
2 结论
以上都是对于单线程传送的描述,用此方法所传送的单个文件的大小最大可达到2G,对于远程教育的需要来说,仅是单线程传送单个文件是不够的,本文要实现的是多个文件并播,但是只要解决了单个文件的问题,多个文件并播也就是以上的重复而已,这里就不再赘述。本软件的测试实验是在局域网的任两台主机上进行的。测试时,实现的是四个文件同时并播,服务器程序中的发送IP地址是本局域网的所有主机的广播地址,这样在一台机子上运行的服务器程序所发送的文件能被局域网上的任何一台主机所接收,只要它们都运行客户端程序。经过测试,本文的分发软件达到了即定的要求,传输准确可靠。
参考文献
[1]李媛媛.Visual C++网络通信开发入门与编程实践[M].北京:电子工业出版社,2008.
数据分发管理 篇5
最近,一种叫做流行内容分发的应用受到了研究者的广泛关注[1]。在该应用中,行驶中的车辆通过车载单元与路边单元( the Roadside Units ,RSUs)的通信来下载流行多媒体内容[2]。由于文件大、车速快,OBUs在通过RSUs覆盖区域时不能完成整个文件的下载。
受互联网点对点通信协议[3,4]的启发,一些研究者利用汽车对汽车( Vehicle-to-Vehicle ,V2V) 通信组成点对点网络来完成OBU间的内容分发。文献[5]介绍了一种基于网络编码的移动P2P文件共享系统,文献[6]首先将合作博弈应用到了V2V通信中。在文献[7]中,作者提出了一种名为SPAWN的P2P文件下载协议,然而SPAWN的节点和内容选择机制并不适用于文件较大的场景。
本文将已经在通信场景中得到应用[8]的合作图博弈引入到车载自组织网络中,解决了车载网中的流行内容分发问题。在博弈中,OBUs通过分布式的动态博弈形成一个成对稳定的网络,并按照网络进行数据传输。与传统的非合作方法相比,该方案同时考虑了网络中的内容需求和信道容量,提升了网络的性能。
1 系统模型
在考虑的场景中,共有M个OBU( SU用户) ,它们通过K个PU信道完成流行内容的分发。将这个问题规划为一个联合图博弈,在该博弈中,OBUs试图建立一个有方向的成对稳定图。一旦完成网络的构建,OBUs将会采取合作的方法按照图进行数据分发。假设OBU之间的单跳通信限制在直视范围内( 称作“邻居节点”) 。整个流行内容被分为N个大小相等的片段,每个OBU都需要全部片段。用M、N、Mi和K分别表示OBUs组成的集合、数据片段集合、OBUi的“邻居节点”的集合以及PU信道的集合。由于OBUs处于高速移动状态,经过RSU覆盖区域的时间较短,因而只能接收到片段集合N的一部分,剩余的数据片段需要通过V2V通信获得。在V2V通信中,一个OBU每次只能接收一个OBU的数据,但是可以同时向多个OBU传输数据。用Ni表示OBUi已经拥有数据片段集合,假设Ni中的初始元素均匀分布于集合N中。
在本系统中,假设每个PU信道上数据包的到达服从泊松分布,每个时隙中数据包的到达率为λ。对于K中的某一个信道,没有主用户占用信道的概率为P0= e- λ,所有的OBU都使用全向天线。由于车辆行驰在高速公路上,因而建模时可以不考虑信道的小尺度衰落。在第k个PU信道上,OBUi和OBU j之间的V2V信道容量为:
式中,Wk为第k个信道的带宽,n为路径损耗指数,di,j为OBU i和OBU j之间的距离,βi为发射端的信噪比。为了不失一般性,假设
对于车辆的移动模型,参考文献[9]中提出的高速公路车辆移动模型( FMM) 。一个简化的双车道单向高速公路模型如图1所示。车辆在初始时刻随机布在2个车道上。为了更真实地反应车辆的移动,在该模型中,允许车辆进行变道超车。OBU的初始速度为vi( 0) ,且vi( 0) 随机分布在[vmin,vmax]之间。其中,vmin是OBU的最低速度,vmax是OBU的最大速度。同一个车道上2个相邻车辆之间的安全距离为dmin。对于任意一个OBUi,只有在与同车道前向相邻车辆之间的距离小于dmin,且与相邻车道上距离最近的前后两辆车的距离大于dmin时,才允许进行变道。如果同一个车道上2个车辆之间的距离大于最大距离dmax,则后车允许加速到最大速度。针对OBU不需要改变车速的情况,OBU的速度满足:
在传统的非合作方法中,集合M中的OBU在进行V2V通信时,不需要进行合作。OBUs节点将需求通过广播告知其“邻居节点”,并随机响应其他“邻居节点”的数据请求。每一个OBU节点,在响应其他节点的数据请求之前,需要独立地感知K个PU信道,然后通过载波监听多路访问 / 冲突检测( CSMA/CA) 协议接入空闲信道。
2 联盟图博弈
在传统的非合作数据传输方法中,V2V链路是随机建立的,这可能会使得OBU之间的通信效率较低,甚至有些OBUs可能没有与“邻居节点”建立连接。这就导致整个网络的数据吞吐量较低。下面利用合作图博弈来对车载自组织网络中的流行内容分发问题进行建模。通过分布式的动态博弈,建立一个有向的图G( V,E) 。其中,V表示OBUs集,E表示V2V链路集。对任意的i,j∈V,j∈E表示节点i和j之间存在一条有向链路。用dini和douti分别表示图G中OBU节点i的入度和出度,其中,0≤dini≤1。
2. 1 效用函数
对于某一个PU信道k,只有在该信道空闲,且其他邻居节点也没有在该信道上传输数据时,2个OBU节点之间才能够成功传输数据。用Pi,j表示OBUi和OBU j之间数据包成功传输的概率。
假设信道k∈K被主用户占用,用H1表示,反之用H0表示。同理,用H'1表示OBU i的检测结果表示信道k被主用户占用这一假设,反之用H'0表示。漏检概率和虚警概率分别用Pm和Pf表示,则每个OBU节点正确 的做出信 道空闲判 别的概率为[10]:
总的来说,一共有KP0个PU信道处于空闲状态,可以被OBUs利用。每一个OBU都可以接入这些空闲信道中的任何一个信道。OBUj的邻居节点子集{ Mj i} 中的OBUs没有与OBUi占用同一个信道的概率为:
假设OBUs发送和接收数据片段都能给整个网络带来相应的收益。OBUi的效用函数用πi( G) 表示。考虑到周边节点的需求,OBUi在广播数据之前需要通过计算确定待广播的数据片段的集合与顺序,以获得更高的效用。采用一种贪心算法来选择每个OBU节点广播的数据片段。集合Ni ,j= ( N Nj) M∩Ni表示OBUi可以提供给OBU j的数据片段的集合。用Ωi= { j | ij∈E} 表示与OBUi相连接的OBU节点集合。节点OBU i可以提供给Ωi的数据片段集合可以由给出。假设Ni,b中的数据片段按权重因子从大到小排序。每个数据片段的权重因子即为集合Ωi中缺少该数据片段的OBU节点的数目。OBU节点在每个时隙按照顺序一次广播集合Ni,b中的数据片段。假设每个时隙的数据传输时间为T,则OBU j在一个时隙内从OBU i接收到的数据片段集为:
用γout和γin分别表示发送和接收数据的价格因子,则相应的发送和接收效益分别为:
考虑到在进行数据传输时占用了相应的信道,增加了信道中数据冲突的概率,提高了信道的负担,这需要通过费用函数中体现出来。对于任何一条从OBU i发出的链路,潜在的冲突限制在集合μi Ωi内。对于任意一条从OBUj指向OBUi的链路,潜在的干扰限制在集合μi Ωi内。用γcost> 0作为价格因子,则费用函数为:
将式( 6) 、式( 7) 和式( 8) 相结合可以得到节点OBUi( i∈Μ) 的效用函数:
2. 2 动态网络的形成
下面给出了一个包含3个阶段的分布式短视动态博弈网络形成算法。短视动态方法是指在每一轮博弈过程中,每个节点在选择策略时只考虑本轮的效益,而不考虑长远效益,这与考虑长远效益的策略刚好相反[11]。通过分布式的本地策略选择,节点在博弈过程中可以选出一个最优策略,逐步迭代直至形成一个稳定的有向图。
假设当前的数据传输网络为G( V,E) ,则任意节点OBUi可能的行为包括:
1当ijE时,建立一条新的链路ij;
2当diin= 0时,接收OBU j建立连接的请求;
3当ij∈E时,断开当前的连接ij;
4当ji∈E时,断开当前的连接ji;
5以上4种情况的组合。
在合作图博弈过程中,每轮博弈都会随机选出一个OBU选择出其想要建立连接的其他OBU节点。通常,在每一轮博弈过程中,OBUi需要选出节点fi∈Μ去接受连接,并选出一个节点集合Ti∈Μ建立指向他们的连接。用( fi,Ti) 表示节点OBUi的策略,则OBUi的策略空间可以表示为: Si= { ( fi,Ti) | fi∈Μ,Ti∈Μ} 。如果j∈Ti且i∈fj,则节点OBUi和OBUj之间将会建立一条链路,所有的链路都是以这种形式建立的。
假设,当节点OBUi变化到新的策略,且周边节点进行了相应的处理时,网络结构相应的会由G( V,E) 变为了G'si( V,E') 。对于任何一个处于状态( fi,Ti) 的OBUi∈Μ,满足以下条件的策略si= ( f'i,T'i)∈Si将会被称作一个可行性策略:
其中,G为当前的网络结构,G'si为受到策略si影响之后的网络结构。
随机选择一个节点OBUi∈Μ参加动态博弈,集合Pi∈Si表示节点OBUi的可行策略集,动态博弈网络形成算法的具体步骤如下:
步骤1: 从Μi中的“邻居节点”获取必要的信息,并计算出可行性策略集。
步骤2: 随机选择并执行一个可行性策略
1如果断开连接ik,k∈Ti可以提高自身效用,节点OBUi单边地选择断开连接。
2节点OBUi向OBUj∈T'i,jTi请求建立连接ij。如果建立新的连接ij可以提高OBUj的效用,则OBUj接受OBUi的请求。
步骤3: 更新网络结构G( V,E) 和OBUs节点的策略集。
进行多轮博弈直到最后形成一个双边稳定网络G*( V,E*) 。
由于每2个节点之间通信链路的建立需要经过双方的同意( 内在的双边性) ,因而在考虑网络的稳定性时本文考虑双边稳定性[12]。通常情况下,在双边稳定状态下,整个网络中的任何一个节点都不能通过改变自己的策略找到一个可行性策略,并且任何2个节点也不能通过改变策略而同时提升它们的效用。在本文的合作图博弈中,由于博弈规则的限制,没有OBU节点可以通过单方面地改变,或者双方改变而提升自身的效用,因为最终的网络结构G*( V,E*) 是双边稳定的,仿真结果也验证了这一结论。
3 仿真结果
在不同条件下,对本文所提出的合作图博弈方法与传统的非合作方法在高速公路车载自组织网络中的流行内容分发性能进行对比与评估。仿真参数的设置如下:
网络中所有OBU节点随着时间的推移获得总的数据片段的数量如图2所示。仿真条件为: M =6,N = 80,在V2V通信开始时,OBUs已经拥有的数据包的比例为ρ0= 0. 6。图2中纵轴是除以NM归一化之后的结果,可以看出,非合作的传统方法和本文提出的合作图博弈方法获得的数据片段总数量都随着时间的推移提高,但是本文提出的方法的性能更好。在非合作的数据分发方法中,OBUs节点向所有的邻居节点广播其数据需求,且随机地相应其他邻居节点的数据需求,这就对网络造成了负担,容易造成网络的拥塞。对于本文提出的合作图博弈方法,OBU节点根据数据广播和接收双方的需求选择性地向邻居节点传输数据,每一个时隙形成的网络结构在传输数据时都比较有效,因而提升了整个网络的性能。
2种方法下随着时间的推移,网络中广播节点的数量的变化如图3所示。仿真条件为: M = 6,N =80。由图3可以看出,本文提出的合作图博弈方法下的广播节点的数量衰减速度要快于非合作方法,且最终合作博弈方法下的广播节点数量处于一个明显较低的水平。这主要是因为在非合作方法中,由于信道中数据的碰撞,数据片段传输成功率较低,造成潜在的有数据片段需求的节点的数量变化较慢。而在合作图博弈方法中,每个节点传输的数据片段都是网络中需求较高的,且只有效用较高的节点才会传输数据,降低了信道碰撞的概率,使得数据传输速率较高,可以快速降低网络中的需求节点的数量,从而使得广播节点的数量也降低。
4 结束语
数据分发管理 篇6
随着仿真技术特别是分布式仿真技术的发展,HLA被广泛应用于建模与仿真系统的设计与开发。HLA是美国国防部建模与仿真主计划(MSMP)倡导建立的建模与仿真公共技术框架的一部分,HLA不是针对于特定应用领域而设计的,它适用于所有领域(如试验、训练、分析等)中的建模与仿真的开发与集成[1]。但在试验训练领域,由于存在特定需求,使得HLA并不是最佳的体系结构。1995年,美国国防部试验与评估投资中心项目办公室正式发起了三军联合的“试验与训练使能体系结构”(Test and Training Enabling Architecture,TENA)项目,TENA是在HLA基础上专门针对试验训练领域的特点开发的,针对该领域的特定需求对HLA进行了扩展,提供试验和训练所需的更多特定的能力[1,2]。
由于国内靶场试验训练环境和需求的特殊性,必须自主研发试验训练体系结构中间件。文献[3]针对某虚拟试验系统,在借鉴TENA设计的基础上,提出了一种高效的多节点信息交互机制,但该设计主要针对的是节点间单个SDO(状态分布对象)属性的信息交互,而对于节点间批量的SDO属性交互缺乏支持。本文在借鉴TENA数据分发服务及文献[3]信息交互机制设计的基础上,设计并实现了一种基于数据域属性订购的批量数据交互方法,该方法支持用户自定义的数据过滤,能够屏蔽无效数据,减轻应用层的数据处理压力。
1 节点间信息交互机制
在大型分布式虚拟试验中,系统的各参试成员通过本地成员的组件完成自身功能,同时通过中间件把本成员组件的状态传递给其他参试成员[3]。在中间件中,组件被实例化为一系列的SDO对象,通过节点间SDO对象的发布订购机制来达到节点间信息交互的目的。
发布订购机制是面向数据的应用架构,其最大的优点是通信实体之间是一种异步的松耦合关系,实现了分布式系统中各交互实体之间的异步独立性[3]。在HLA中,通过实现了发布订购机制的对象类和交互类进行数据交互;在TENA中,引入了状态分布对象(SDO)的概念,它是分布式对象机制和发布订购机制结合的产物[1,4]。由此可见,发布订购机制是大型分布式虚拟试验系统中进行信息交互最常用的一种机制。
图1是一个典型的发布订购模型,信息的生产者称为“发布者”,信息的消费者称为“订购者”,二者均需要在试验前向中间件注册。试验运行时,匹配算法读取发布订购表,通过匹配关系找到与给定的发布者相匹配的所有订购者,从而将发布者的更新同步到所有订购者。
2 数据分发服务设计与实现
2.1 数据分发机制
本文所设计的数据分发服务基于发布订购机制,主要由数据域管理和数据过滤2部分组成。数据域管理通过发布订购机制进行属性域的限定,减少了无关属性的传输,并且实现了多节点属性自由组合的需求;数据过滤实现了属性值域的限定,为应用层提供有效数据。数据分发的工作机制设计如图2所示。
数据分发服务的核心部件是数据域和数据过滤器。在每个节点中都维护了一个数据域表和数据过滤器表,表中的数据域和数据过滤器一一对应。
运行前,用户按照需要创建数据域,并把需要的属性订购到数据域中,其中的属性可以来自多个节点多个SDO属性。同时,用户可以针对该数据域设置数据过滤条件,以逻辑表达式的形式给出,支持与、或、非的逻辑组合,并且支持含优先级的复杂逻辑。
运行中,借助中间件的通信服务,当被订购的属性更新时将更新值推送到订购节点,更新相应的数据域,并使用相应的数据过滤器对数据域进行过滤,如果通过过滤,则调用仿真平台注册的回调函数将数据域推送给仿真平台,否则不做推送。
2.2 数据域管理
数据域管理用于完成数据分发服务中节点间的数据交互,设计的关键在于数据域结构的设计和数据域与SDO交互的设计。
2.2.1 数据域设计
数据域结构是数据域实例化和订购属性值更新的依据,主要由数据域的描述信息、订购属性信息列表、数据内存空间3部分组成,类图如图3所示。其中,数据内存空间大小为数据域所有订购属性的属性值长度之和,以数据内存空间的起始地址为基址,加上订购属性在数据域中的相对偏移量,即为该订购属性的属性值在内存中的地址。
2.2.2 数据域与SDO的交互机制
数据域与SDO的交互是数据域管理的关键,分为运行前与运行中两个阶段。运行前进行SDO属性的订购,运行中按照订购关系做SDO属性与数据域的信息交互。运行前,如图4所示,数据域创建节点(以下简称Ms)的仿真平台(使用中间件的一个上层应用)向中间件请求SDO属性的订购,数据分发服务首先调用通知服务,将订购请求转发给相应的节点;被请求节点收到订购请求后,检查订购的合法性,如果订购合法,则将订购节点Ms加入订购属性的订购节点列表中,并回复订购成功的消息;Ms的中间件收到消息后,将请求订购的属性加入数据域中。
运行中,如图5所示,当被订购节点有属性更新时,调用中间件的更新SDO属性服务API。该API首先将本地中间件的相应SDO实例做更新,然后将其以消息的形式投递到SDO网络发送器(ACE主动对象)的消息队列中,SDO网络发送器的发送线程依次从消息队列中取出消息,解析并将其发送到订购该属性的数据域所在节点Ms;在Ms端的中间件中,SDO网络接收器(ACE主动对象)的接收线程从消息队列中依次取出消息,解析并更新到订购该属性的数据域中。
2.3 数据过滤
数据域管理实现了属性类型的过滤,数据过滤则实现属性值的过滤,通过屏蔽无关数据的交互,降低了应用层数据处理的压力。如图6所示,数据域的值域是由该数据域包含的所有订购属性组成的多维空间的一个限定子集,在实际的靶场试验训练中,该值域一般是非常大的[5,6]。但并不是值域中所有的区域都是有效的,有效区域指的是在数据域值域内部,所有满足对指定订购属性值限制的区域,它是数据域值域的一个子集,并且可能是不连续的[7]。由于数据域值域较大,如果不加限制地直接进行数据域的数据交换,将使得数据交互的效率非常低,显然数据交换应该只针对处于有效区域内的数据进行。数据过滤的关键是有效区域的限定条件和有效区域的判定。根据集合的性质,有效区域可以由n个属性值限定区间的交、并、非组合而成[8,9]。因此,有效区域的限定条件可以表示为其中m(m≤n)个属性值范围的逻辑组合,例如:P1<5.0 && (P2<0 || P2>100)。对有限区域判定的过程就是对逻辑表达式求解的过程,一般的求解方法是采用数据结构中的栈,设立操作数栈和操作符栈,依次读取表达式中的元素压入相应栈,根据运算规则出栈进行计算。但由于描述有效区域限定条件的逻辑表达式包含属性名称和属性值,对表达式的合法性检查和求解将变得十分复杂,且容易出现错误。造成困难的主要原因在于C++语言是编译执行和非解释的,无法支持动态的逻辑表达式求解。考虑到Python语言解释执行的特点,并且具有跨平台特性[10],适合用于解决该问题。在逻辑表达式求解方面,Python支持and,or,not的简单逻辑组合以及包含括号的复杂逻辑组合;在逻辑表达式合法性检查方面,可以借助Python提供的异常处理机制,当表达式非法时将抛出异常,以此来判定表达式的合法性。
应用Python进行数据过滤的工作原理如图7所示。首先,数据分发服务初始化Python环境,启动Python shell并加载进行数据过滤的Python文件;然后,数据过滤模块读取数据域和数据过滤条件,解析出数据域包含的订购属性名和属性值并置于一维向量中,同时转换数据过滤条件为符合Python规范的逻辑表达式,将一维向量和逻辑表达式作为数据过滤函数data_filt()的参数,传递给Python shell;Python shell接收到参数后,解释执行data_filt(),将逻辑表达式的解返回给中间件的数据过滤模块,如果执行过程中产生异常,则说明逻辑表达式非法,返回一个错误码给数据过滤模块。
3 实验与分析
使用3个成员构建分布式试验系统对数据分发服务进行测试,测试流程如下:
(1) 成员#443创建数据域DF_LM,订购成员#406的发布属性Pos1.Hgt,Pos2.Hgt,订购成员#407的发布属性Pos1.Lat,并设置数据域过滤条件:(#406.Pos1.Hgt<1 100.000 or #407.Pos1.Lat<102.110 000)and #406.Pos2.Hgt<1 156.000;
(2) 启动运行成员#443,#406,#407;
(3) 成员#406更新发布属性Pos1.Hgt,Pos2.Hgt,成员#407更新发布属性Pos1.Lat;
(4) 观察成员#443的数据域更新及过滤情况;
(5) 成员#406更新发布属性Pos2.Hgt;
(6) 观察成员#443的数据域更新及过滤情况。
运行情况分别如图8~图10所示。
从运行结果来看,数据域订购和更新正常,数据过滤结果正确,表明服务能够实现多节点多SDO属性的批量数据交换。
4 结 论
本文针对分布式试验训练中节点间批量数据交互的问题,设计并开发了一种基于数据域属性订购的数据分发服务,该设计支持数据域对跨节点多SDO属性的订购,并支持用户自定义数据过滤。实际应用表明,该方法能大量减少应用层对无效数据的接收,从而大大提高批量数据交互的效率。
摘要:针对某分布式虚拟试验系统中间件的批量数据交换需求,设计数据分发服务。采用数据域实现批量数据的管理,支持对多节点多SDO属性的自由组合;采用发布订购机制在数据域和SDO属性间建立交互关系,运行时根据交互关系将SDO属性的更新同步到数据域。为进一步提高数据交换的效率,采用数据过滤机制屏蔽无效数据,减轻应用层的数据处理压力,设计C++结合Python的方式进行数据过滤,相比单纯使用C++实现更为简单、灵活和安全。服务基于ACE开发,实际测试表明服务工作正常,能满足批量数据交换的需求。
关键词:虚拟试验,中间件,SDO,数据分发,数据过滤
参考文献
[1]王国玉,冯润明,陈永光.无边界靶场[M].北京:国防工业出版社,2007.
[2]冯润明,王国玉,黄柯棣.TENA中间件设计与实现[J].系统仿真学报,2004,16(11):2373-2377.
[3]杨辉,杨京礼,姜守达.一种虚拟试验系统中的多节点信息交互机制[J].计算机仿真,2010,27(6):338-341.
[4]张洁.基于TENA思想的分布式靶场虚拟试验系统设计[J].系统仿真技术,2011,7(1):58-62.
[5]RUMFORD George J,VUONG Minh.Foundation initiative2010:the design of the second TENA middleware prototype[EB/OL].[2005-03-02].http://www.sisostds.org/SIW/00spring/SIW_TE.htm.
[6]邱晓刚,黄柯棣.HLA/RTI数据分发的概念[J].计算机工程与科学,1999,21(3):34-39.
[7]刘胤田,唐常杰,吴征宇,等.基于关联规则的HLA动态数据分发策略[J].系统仿真学报,2006,18(12):3416-3420.
[8]陆俊峰.高层体系结构中数据过滤技术的研究与应用[D].哈尔滨:哈尔滨工程大学,2005.
[9]WILCOX Pauline A,BURGER Albert G,HOARE Peter.Advanced distributed simulation:a review of developmentsand their implication for data collection and analysis[J].Simulation Practice and Theory,2000,8(3):201-231.
数据分发管理 篇7
为此, 本文提出一种基于停泊车辆的数据分发方案, 利用城区路边停泊车辆进行数据分发。本文首先将车辆编入不同簇, 并提出一种高效路由方案, 将各数据报文分发至合适路边停泊车辆, 然后采用发布/订阅方案执行数据分发。此外, 还通过理论分析和仿真比较, 对方案性能进行评估。评估结果表明本文的数据发布方案实现了较低网络负载、合理交付延迟及较高交付率。
1文献综述
由于VANET的特有性质, 致使数据分发极具挑战性。许多研究者一直致力于解决VANET数据分发问题。文献[1]提出一种不依赖任何基础设施的机会主义分发 (OD) 方案, 利用数据中心接收并存储过往车辆数据并进行周期性广播。但该方案由于MAC层冲突, 高车辆密度OD方案性能很差, 极易导致严重交通拥塞和显著降低数据交付率。为缓轻交通拥塞, 文献[2]提出一种面向发布/订阅系统且基于车辆移动分布感知的事件分发策略 (MDA) , 以较低网络负载和传输延迟获得较高数据传输成功率。尽管上述方案一定程度上降低了网络开销, 但由于VANET的间歇连通性, 数据分发还是很难保持在目标区域内。文献[3]提出一种实现VANET持久性数据可用性的基本方法, 其服务器采用地域性群播路由协议周期性将信息交付至目标区域, 其缺点是服务器频繁广播将耗费大量带宽。文献[3] 同时也给出另一种变换方法—选举法, 利用当选移动节点存储地域性群播目标区域信息。但由于车辆节点的高移动性, 需要频繁信息切换。为减少注入服务器数据量, 文献[4]提出交叉路口缓冲思想, 利用中继站和广播站缓冲交叉路口的数据备份, 使服务器不必频繁广播信息。文献[5]研究了3个典型车辆移动模型和真实车辆行驶轨迹对车载自组织网络连通特性的影响, 评价了车辆移动模型的合理性。 文献[6]提出利用固定路边单元提高数据分发性能。 文献[7]讨论了路边单元 (RSU) 安放位置。虽然部署RSU可显著提高数据分发性能, 但广泛部署需巨大投入。
2系统模型
2.1相关假设
首先假设车辆已配有各类传感器、GPS和电子地图。其次假设车辆驾驶者愿意分享设备[8,9]。最后假设各数据报文都具有两个属性:1目标区域;2生存时间。
2.2实际应用场景
城市街道广泛分布大量路边停泊车辆, 如图1所示。突发交通事故极易引发局部交通拥塞, 为降低事故对交通状况的影响, 配有事故检测传感器的车辆检测到此次事故后, 可将紧急通知信息转发至驶向事故区域车辆, 以便车辆驾驶者及时修正行驶路线, 从而有效缓解道路拥塞、节约能耗和行车时间、减低大气污染。因此城市VANET高效数据分发方案具有十分重大意义。
本文的停车方案主要涉及四部分内容。
(1) 数据源:配备无线接口的计算机或无线接入点。
(2) 数据转发器:数据转发所需车辆。
(3) 路边停车簇:沿同一路段停放且属于相同稀疏连接网络的车辆集。
(4) 终端用户:具有停车需求的车辆用户。
3停车方案
一般来说, 停车方案的数据分发包括两个阶段: 数据源至合适目标区域停车簇的数据转发和停车簇到路过车辆的数据分发。
3.1停车簇
本方案首先介绍如何从现有簇中选取数据缓冲单元, 然后给出对应的簇管理方案。
某些路段构成一个停车簇, 其他路段由于停泊车辆彼此隔离, 构成不同簇, 如图2所示。为了判断如何选择数据缓冲单元, 现假设沿同一路段的各停车簇周期性向其他簇报告其分布。各簇根据如下规则确定数据缓冲单元:如果沿该路段只有一个簇, 则该停车簇被选为数据缓冲单元;如果沿路段有两个或两个以上簇, 则位于路段两端的两个簇被选为数据缓冲单元。选定数据缓冲单元后, 该簇需要对本簇进行管理, 包括簇头选举和成员管理。
停车方案制定如下簇头选择机制:位于单簇两端的两辆车被选为簇头, 两个簇头分别服务于最近交叉路口车辆;位于多簇末端的车辆被选为各自簇的簇头, 以便驶入路段车辆短时间内遇上簇头。确定簇头后, 簇成员周期性地向簇头报告其位置。因此簇头可管理所有停泊车辆, 并充当本地服务接入点, 执行数据分发。考虑到簇头车辆随时可能离开, 因此还须指定相应规则:当簇头离开时, 触发新一轮簇头选举, 数据分发和簇状态都应从旧簇头迁移至新簇头。
3.2数据源到路边停车的数据转发
停车簇缓冲目标区域数据报文, 并为路过车辆提供数据分发服务。为实现单跳数据分发, 数据源首先应向所选停车簇分发数据。按照所使用策略不同, 分发过程可进一步分为两个阶段:数据源路由至停车簇和停车簇路由至其他停车簇, 如图3所示。
3.2.1数据源路由至停车簇
首先应考虑数据源位于数据报文目标区域外这种最常见情况。本方案不仅利用到移动车辆, 还利用停泊车辆进行数据转发, 即直通模式中利用地理贪婪转发算法转发数据报文给前方交叉路口, 停泊车辆可视为速度为零的移动车辆参与地理贪婪转发过程;交叉模式中车辆按照可用路段效用函数找出下一路段进行数据报文转发。
路段效用函数定义为
式 (1) 中ρm为移动车辆密度, ρp为停泊车辆的密度, d是下一路口至目标区域的最短距离。设Nm为路段移动车辆数, Np为停泊车辆数, L为路段长度, rpva为愿意提供PVA的停泊车辆比率, 则有:
式中Np很容易得到, 而Nm按如下规则估算:簇头首先根据平均速度T =L/v估计路段行车时间, 然后计算时段T内路过车辆数。
采用上述数据转发策略可高效路由报文至目标区域。到达目标区域后数据沿路段传送。遇到首个停车簇时, 则向其转发数据。然后该停车簇负责向同一目标区域内的其他停车簇分发数据。为了标注首个获取目标区域数据的停车簇, 需在信息头部增加一个附加位以便判断是否遍历过停车簇。如果数据源位于目标区域, 其路由过程相对简单。数据被分发给驶入车辆, 该车辆则充当移动协助者, 沿路段转发数据, 直至遇到停车簇。
3.2.2停车簇间路由
为了高效路由数据至目标区域的所有停车簇, 本文给出一种基于树的数据转发方案, 树中各数据报文从一个停车簇转发至同一目标区域的另一停车簇。假设每个停车簇都知道同一目标区域内的所有其他停车簇位置。由于一些车辆可能离开而其他车辆可能驶入, 这将导致同一簇不同时段所报告的位置可能略有不同。此时可将停车簇和目标区域路段抽象为一个加权连通图G (V, E) , 其中V为停车簇集, E为相邻停车簇间路段集。权值dij为相邻停车簇间的传输延迟估计。假设相邻停车场簇彼此周期性发送延迟探测报文, 并按历史记录估算传输延迟。由于停车簇间的传输延迟受彼此距离、交通密度和其他因素缓慢变化的影响, 这种近似具有一定合理性。
每对停车簇间传输延迟构成周期性更新延迟矩阵。利用延迟矩阵, 再通过经典Kruskal算法或Prim算法就可获得各停泊车辆的最小生成树。车辆沿最小生成树路由时, 总传输延迟估计值最小。 如果最小生成树不唯一, 则选择含有最短路径长度的最小生成树作为数据转发树。只有出现新分支时才需复制数据报文, 这样就可大大降低传输开销, 而且可保证不同停车簇缓冲数据报文的一致性。
3.3需求驱动的数据分发
为了充分利用VANET有限带宽, 应尽量避免盲目数据分发。为此, 本文采用一种基于需求驱动的数据分发方案。车辆驾驶者表达所关注的数据报文类型, 停车簇为其提供匹配信息。从这层意义上来说, 本系统是一个发布/订阅系统。数据源为发布者, 移动车辆为订阅者, 停车簇则为代理, 从而确保数据源数据可被正确交付给订阅者。停车簇数据分发包括三个阶段。
(1) 订阅:最终用户自定义订阅, 并周期性广播订阅。
(2) 匹配:一旦接受订阅, 停车簇就比较其所存储的数据报文。
(3) 数据分发:如存在任一匹配订阅数据报文, 停车簇则进行广播, 然后订阅者进行接收。
为了避免车辆可能收到多个相同报文副本, 可让订阅者广播订阅时捎带所接收的最后报文ID。
4理论分析
本文考虑长度为L的路段S。假设Km为路段移动车辆数, Kc为携带信息的车辆数。R为车辆通信范围, Kp为沿该路段一侧停放的车辆数。设0时刻车辆驶入路段S。接下来研究两种方案下获取所需路段信息概率。
4.1基于停车方案
车辆沿路段S停放, R范围内距离交叉路口的停泊车辆数:
忽略路段宽度, Ne车辆中至少存在一辆愿意提供PVA概率:
将式 (4) 中的Ne代入式 (5) , 车辆获取交叉路口停车簇数据报文概率:
设L=1 000 m, R=200 m, pvaratio= 30%, 概率p随停泊车辆数的变化结果如图4所示。
可以看出:40辆车沿1km路段停放, 车辆获取交叉路口停车簇数据报文的概率高于94%。而事实上沿1km城区路段一侧停泊车辆平均数远高于40辆。因此, 虽然利用了停车簇, 但车辆获取所需交叉路口数据报文的概率仍高于94%。
4.2车间方案
假设N (t) ;t≥0表示时段 (0, t]相遇移动车辆数, N (t) ;t≥0满足泊松过程。定义Wn为随机变量, 且序列Wn= 0, …; Wi= ti, …。 其中ti为起始时间, 直到遇到第i移动车辆为止。 根据泊松过程性质, 可推导出Wn;n= 1, 2, … 遵循Erlang分布, 其概率密度函数:
时段 (0, t]相遇n移动车辆概率:
由于移动车辆携带所需数据概率P为Kc/Km, 获取相遇n车辆所需数据概率:
考虑到移动车辆可能从1, 2, …, N (t) 相遇车辆中获取所需数据, 则有:
进一步表示:
现设L=1 000m, 令λ=2, Km=100, t=20, N (t) = 60。根据式 (11) , 若Kc=2, 则p为69%。 即如果只存在2个同一报文副本, 则车辆20s内获取所需报文概率仅为69%。显然, 基于停车数据分发方案优于基于车辆间数据分发方案。
5性能评估
接下来利用NS-2.33软件评估三种数据分发方案性能。
5.1实地勘测
为了收集实际停车和流量剖析数据, 本文选取当地具有典型停车分布的普通城区作为勘测目标区域。勘测期间分别统计每周一、三、五中8∶00、18∶ 00和20∶00时的交通量和路边停车。计算出各路段5米内的停泊车辆数, 并考虑三种类型街道:1允许路边免费停车, 这类街道车辆密度非常高;2无公共停车位, 只有一些预留停车位和非法停车位, 这类街道车辆密度非常低;3其余街道, 这类街道车辆密度适中, 停泊车辆数相对固定。
5.2仿真性能比较
移动车辆节点的准确建模对仿真而言非常重要, 本文采用VanetMobiSim软件生成车辆移动轨迹, 所生成的流量文件可被NS-2.33直接利用。 为了生成稀疏交通和流量变化, 部署了不同车辆数 (50、100、150、200、250和300) , 无线电射程设为250m, MAC协议选用2 Mb/s的802.11。仿真停泊车辆节点随机分布于各街道, 平均停车时间为40 min, 标准差为27[10]。 默认车辆设备分享率为30%。设仿真伊始即建立好停车簇, 周期为60s。 为了便于数据分发, 数据源部署于仿真区域中心位置。目标区域是由四个交叉路口及其路段所构成的矩形区域。假设20%移动车辆对目标区域感兴趣。 缺省参数设置如表1所示。
仿真主要讨论三种数据分发机制:基于停车数据分发、基于车间数据分发和OD[1]。车间数据分发方案采用GPSR路由协议路由分发数据报文至目标区域, 并由各路段内移动车辆进行维护。车辆载体即将离开路段时, 传输维护数据给同一路段上的最远车辆, 这点类似基于停车数据分发方案, 并令报文载体以一跳方式响应订阅。
三种分发方案都由三个性能指标进行衡量:数据传送率:成功接收报文的订阅者比例;数据传输延迟:订阅者获取报文花费时间;网络开销:仿真期间生成的数据总量。
首先测试默认参数下的三种方案性能, 结果如表1所示。可以看出:车间方案比OD方案具有更好的性能, 车间方案以较低开销实现较低传输延迟的更高传送率;基于停车方案的多个停车簇都维持相同报文副本。一旦车辆到达停车簇路段时, 可在短时间内获得所需报文。因此基于停车方案的平均传送率较高而平均传输延迟较低。此外, 由于停车簇报文仅以一跳方式广播, 因而开销非常低。车间方案数据分发是由移动车辆维护, 但由于车辆的高移动性, 需要频繁切换以便维护路段数据报文, 因而网络开销很高。OD方案的开销远高于其他两种方案。然而, 事实上, 数据传送率并没有想象的那么高, 因为每当车辆进入彼此传输范围, 彼此交换数据将导致严重拥堵, 大大降低了数据传送率。
5.2.1车辆密度影响
此组实验用于比较车辆密度对三种数据分发方案的性能影响。实验结果表明:基于停车方案在不同道路条件下都运行良好;而车间方案在稀疏交通条件下则表现很糟。基于停车方案依赖路边停泊车辆, 只要存在一定数量停泊车辆, 就可保证信息可用性;而车间方案依赖移动车辆, 很难保证稀疏交通下的信息可用性, 从而导致低传送率;OD方案的车辆密度增加时, MAC层碰撞概率增加。因此OD方案传送率将随传输延迟减小而降低。
5.2.2数据发布率影响
数据发布率决定VANET的信息分发量, 较高数据发布率意味着较大网络负载。此组实验用于比较数据发布率对三种数据分发方案的性能影响。实验结果表明:当数据发布率从低到高变化时, 基于停车方案的传送率缓慢降低, 而车间方案的传送率明显降低, 这是因为基于停车方案是利用路边停车以一跳方式缓冲数据并执行数据分发, 从而大大降低传输碰撞概率;而车间方案利用移动车辆维护数据, 当发布率很高时, 将导致频繁切换和过度传输。三种方案开销都随发布率增大而增加, 尤其OD方案更明显, 基于停车方案总体上优于其他两种方案。
5.2.3数据包大小影响
此组实验用于比较数据包大小对三种数据分发方案的性能影响。实验结果表明:数据包大小相同时, 基于停车方案数据传送率和传输延迟都优于其他两种方案;基于停车方案数据报文由路边停泊车辆维护, 因此可为路过车辆提供稳定的数据分发服务;而车间方案数据报文需频繁移交给行驶车辆, 随着数据包大小增大, 频繁切换将遭受更多损耗, 因而数据传送率降低而数据传输延迟增加;OD方案的较大数据报文意味着更严重碰撞。因此性能更糟。
6结论
本文提出一种基于停车数据分发方案, 采用路边停泊车辆缓冲分发数据并执行数据分发。首先将停泊车辆组织成簇, 并提出一种路由方案以便分配数据报文至适当路边停泊车辆;为了分发最后阶段数据又引入发布/订阅方案;接着利用停泊车辆的共享资源和高效操作, 实现基于停车数据分发方案的较低开销。理论分析表明方案的优越性。最后的仿真结果也表明本方案能以较低网络开销和合理延迟实现更高数据传送率。
参考文献
[1] Xu Bo, Ouksel A, Wolfson O.Opportunistic resource exchange in inter-vehicle Ad Hoc networks.Proceedings of the IEEE International Conference onMobile DataManagement (MDM) , 2004:4—12
[2] 吴磊, 刘明, 王晓敏, 等.移动分布感知的车载自组网络数据分发.软件学报, 2011;22 (7) :1580—1596
[3] Maihofer C, Leinmuller T, Schoch E.Abiding geocast:timestable geocast for Ad Hoc networks.Proceedings of the 2nd ACM International Workshop on Vehicular Ad Hoc Networks (VANET’05) , 2005:20—29
[4] Zhao Jing, Zhang Yang, Cao Guohong.Data pouring and buffering on the road:a new data dissemination paradigm for vehicular Ad Hoc networks.IEEE Transactions on Vehicular Technology, 2007;56 (61) :3266—3277
[5] 杨卫东, 冯琳琳, 刘伎昭, 等.车载自组织网络中网络连通特性研究.通信学报, 2012;33 (Z1) :48—52
[6] Ding Yong, Wang Chen, Xiao Li.Astatic-node assisted adaptive routing protocol in vehicular networks.Proceedings of the 4th ACM International Workshop on Vehicular Ad Hoc Networks (VANET’07) , 2007:59—68
[7] Lochert C, Scheuermann B, Wewetzer C, et al.Data aggregation and roadside unit placement for a vanet traffic information system.Proceedings of the 5th ACM International Workshop on VehiculAr Inter-NETworking (VANET’08) , 2008:58—65
[8] Eltoweissy M, Olariu S, Younis M.Towards autonomous vehicular clouds.in Ad Hoc Networks, vol.49of Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, 2010;49:1—16
[9] Olariu S, Khalil I, Abuelela M.Taking VANET to the clouds.International Journal of Pervasive Computing and Communications, 2011;7 (1) :7—21