具有分布式网络架构的实时数据分发系统及其工作方法

文档序号:7747829阅读:236来源:国知局
专利名称:具有分布式网络架构的实时数据分发系统及其工作方法
技术领域
本发明涉及一种基于数据分发服务标准DDS的实现消息发布/订阅机制的网络系 统及其工作方法,确切地说,涉及一种基于DDS的具有分布式网络架构的实时数据分发系 统及其工作方法,属于计算机应用软件技术领域。
背景技术
Internet技术的广泛应用,以及移动计算、网格计算和普适计算平台的快速发展, 对分布式系统提出新的挑战必须满足大规模地分散控制和动态改变的要求。这就要求系 统的各个参与者之间要采用一种具有动态性和松散耦合特性的灵活通信交互机制。由信息发布者,信息订阅者和在他们之间传递信息的信息代理三个实体所组成的 发布/订阅(Publish/Subscribe)系统能够适应这种机制。参见图1,说明发布/订阅机制的工作原理发布者将信息或事件发送给信息代 理,即发布/订阅的中间件,订阅者则向发布/订阅的中间件发送注册信息和订阅条件,表 示对系统中的哪些信息或事件感兴趣,也可以随时取消订阅。发布/订阅的中间件根据该 订阅条件筛选所有的输入信息,并把订阅者感兴趣的信息及时、可靠地传送给所有对其感 兴趣的订阅者。匹配算法负责高效地找到与给定信息或事件相匹配的所有订阅条件;而路 由算法负责选择适宜的路径,将信息或事件从发布者传送给订阅者。信息的传递使得发布 者与订阅者之间产生松散耦合,发布/订阅系统能够适应数据分发应用和网络间断性的连 接。与传统的消息传递通信模型相比较,发布/订阅通信机制具有异步、多点通信的特点, 使通信的参与者在空间、时间和控制流上完全解耦合,能够很好地满足大型分布式系统松 散通信的需求。对象管理组织0MG负责制订计算机软件标准,已经制订了包括CORBA、UML和MDA 等许多标准。2004年6月,0MG制定了信息分发服务DDS(DataDistributed Service)标 准。该标准采用UML语言描述服务,明确定义了信息分发服务的通用应用层端口,利用网络 中间件技术完成实时通信系统的通信需求。DDS(Data Distributed Service)信息分发服务是一种轻便的、以发布/订阅机制 为主要技术手段提供实时信息传送的中间件技术,其主要思想是藉由中间件在信息发布者 和信息需求者之间控制信息的实时传送、提供应用API和底层资源调度。DDS的优点是基 于发布/订阅的通信机制简单、可靠、灵活,可支持端点应用的自动发现机制,具有自适应 和动态扩展的功能,还可设置冗余节点来提高系统稳定性,数据传输稳定、带宽利用率高, 支持一对一、一对多、多对一和多对多的通信;此外,设有许多QoS配置参数,使得管理人员 能够控制系统中的每条数据的传输。因此,发布/订阅系统技术有很好的应用前景。目前,信息分发技术和系统的研究已经在国内外成为一个热点。早期的基于主题 的发布/订阅系统已经有很多成熟产品广泛应用于银行、证券、制造业企业的信息化等多 个领域。然而,面向大规模分布式计算的发布/订阅系统尚未发现有较有影响的应用案例, 主要原因是关键技术尚未成熟。
例如,目前国际上基于OMG组织的DDS标准的、成熟的发布/订阅模型已经有多个C0RBA 事件服务、TIB/Rendezvous、JMS、Gryphon,SIENA, JEDI 等,但是,它们的共同缺点 是没有应用级服务质量QoS的有效支持。其中CORBA事件服务建立在远程方法调用或“对象为中心”的设计基础上,没有 应用级QoS支持,只适合点对点通信,不适合多个分布式实时应用。基于协作系统的TIB/ Rendezvous的协作模型的关键是通过主题寻址。JMS有点对点和发布/订阅两种消息模型, 能提供可靠消息传输、事务和消息过滤等机制,适合大规模的、以数据为中心的网络;但缺 乏应用级QoS策略,不适合用于实时性要求高的紧急任务系统。JEDI是意大利米兰科技大 学开发的原型系统,是基于Map的发布/订阅系统,客户的订阅条件一般由各个原子约束条 件的“与”操作组成,每个原子约束条件中只涉及到一个属性,该系统提出了支持移动性订 阅/发布的结构及算法。SIENA是美国科罗拉多大学开发的原型系统,比较完善,基于该平 台有很多组件开发,包括移动、路由算法等。但是它同样缺乏应用级QoS策略,仍然不适合 对实时性要求高和处理紧急任务的医疗、舰船控制和遥感勘测系统等领域。因此,对于基于 DDS标准的发布/订阅系统的核心技术中仍然有一些关键问题尚未解决,如何在分布式网 络上搭建实时数据分发平台,并且与大型数据库无缝结合,使得数据分发系统能够真正地 实现和运用于众多的客户端,这些技术难题都已经成为业内技术人员研究和关注的焦点。

发明内容
本发明的目的是提供一种具有分布式网络架构的实时数据分发系统及其工作方 法,本发明系统和方法是在DDS的总体结构基础上,结合实际应用中所需要的数据存储、数 据传输、数据安全、分布式网络路由、QoS机制等多项功能而提出的,能够提供文本信息、文 件传输和实时视频通信、地理位置信息三种类型数据的发布/订阅服务,且在未来应用中, 可以扩展系统结构、功能和数据种类,以满足大规模节点的应用需求。为了达到上述目的,本发明提供了一种具有分布式网络架构的实时数据分发系 统,是在因特网和移动网中采用发布/订阅的通信机制传递信息,其特征在于,该系统包括 有以Windows、Linux的操作系统作为软件运行环境的服务器子系统、代理子系统、终端子 系统以及存储系统信息以及发布/订阅消息的分布式数据库,其中服务器子系统,用于完成与数据库、本层其他服务器、下层发布/订阅代理交互、 负载均衡、主题的存储以及匹配等操作,配设有六个模块与储存服务器列表的数据库进行 交互的数据库交互模块,与本层其他服务器进行交互的服务器间交互模块,连接发布/订 阅代理、从代理子系统的发布/订阅模块获得参与匹配的信息的发布/订阅接口模块,采 取负载平衡算法、对服务器子系统各个服务器进行负载均衡的负载均衡模块,将发布/订 阅的主题信息分别存入发布列表和订阅列表的消息存储模块,按用户要求采用不同匹配算 法、对发布/订阅的主题和QoS进行精确或模糊匹配的消息匹配模块;代理子系统,用于完成从终端接收主题、接收匹配事件并向订阅者转发、封装消 息、向上层服务器提交发布/订阅主题、与数据库交互、代理间通信等操作,配设有七个模 块用于客户端/服务器模式(Client/Server,C/S)下的、与下层客户端进行数据交互的 C/S客户端接口模块,用于浏览器/服务器模式(Browser/Server,B/S)下的、与下层客户 端进行数据交互的B/S客户端接口模块,根据数据库的信息控制相应QoS等级、采用设定的通信协议和路由来保证传输安全准确的数据传输模块,将用户发送的文本、流媒体、地理位置等信息转换成系统规定格式以便进行发布/订阅的数据内容处理模块,完成发布/订阅 信息功能的发布/订阅模块,管理用户信息、配置网络以及QoS参数、向数据库中存储发布 /订阅的主题、读取数据库中的服务器和代理列表的数据库处理模块,与本层其他代理进行 交互的代理间交互模块;终端子系统,终端子系统分为两种客户端C/S客户端和B/S客户端,主要负责与 用户之间的信息交互。其中B/S客户端并不需要在终端上安装客户端,仅需要WWW浏览器 访问代理的B/S服务器就可以完成发布/订阅过程。C/S客户端则需要在终端安装客户端, 配设有两个软件模块用于执行包括登录/注册、设置QoS参数、发布/订阅三种类型信息 (文本、地理位置、流媒体)主题的用户交互模块,与上层发布/订阅代理进行交互、以便根 据用户操作将信息或指令传递给发布/订阅代理的代理交互模块;分布式数据库,本项目在数据存储部分采用分布式数据库实现,由于数据是由分 布式数据库存储的,那么无论用户是通过哪个代理都可以获得自己的数据,实现了终端漫 游切换的基础;在数据库中存储的信息主要包括文本、流媒体和地理位置信息三种发布/ 订阅主题及其QoS设置,还有用户、代理、服务器等相关数据;采用基于发布代理区分的水 平分片,即将同一代理发布或订阅的消息作为同一片段进行处理,区分标志为代理编号。为了达到上述目的,本发明还提供了一种具有分布式网络架构的实时数据分发系 统的工作方法,其特征在于,包括下列操作步骤(1)用户在客户端注册登录,通过身份认证后,配置相关参数用户启动客户端 界面,注册登录;代理接收到客户端传递来的用户登录信息,将其存储于数据库处理模块, 进行身份验证;再根据不同用户返回相应的应答,供用户设置系统的各种网络传输参数和 QoS参数,然后由客户端将用户的操作和配置参数传递给代理,由代理存储和处理这些参 数;(2)发布信息/订阅信息用户可以通过客户端界面对文本信息、文件以及流媒 体、地理信息等多种不同类型的信息进行发布/订阅。其中用户不仅要填写各种类型信息 所特有的数据外,还要对所要求发布或订阅的信息的传输属性参数和QoS参数进行设置。 客户端将用户输入的发布或订阅信息传递给所连接的代理,代理通过客户端接口接收这些 信息,将其封装后放入分布式数据库存储,并向服务器子系统进行相应的发布/订阅操作;(3)主题的匹配过程文本、文件和实时视频、地理位置信息三种类型主题匹配过 程是相同的,可以对主题的所有属性进行精确匹配、模糊匹配,对地理类型主题还可以进行 范围匹配。代理收到客户端发送的发布/订阅信息后,将其放入分布式数据库中存储,并传 递给服务器。服务器按照消息中的各个匹配项,对发布和订阅主题进行匹配,将结果返回给 发布代理;(4)匹配主题的传输和处理过程发布代理根据匹配结果将匹配的事件发送给订 阅主题所在的订阅代理,订阅者代理代替订阅终端接收已匹配的消息,当订阅终端和代理 连接时,代理根据订阅者所要求的QoS将与订阅匹配的主题发送给订阅者。当传输完毕时, 订阅者客户端的交互界面弹出成功接收信息提示,即完成发布和订阅的一次交互。然后用 户根据接收到的信息进行不同的处理操作。本发明是一种具有分布式网络架构的实时数据分发系统,其在技术上的创新之处是该系统以OMG的DDS标准为框架基础构建的,为用户提供实时的在线数据传输只要发布者和订阅者同时在线,发布者就能够及时、高效地将数据直接转发到订阅者,能够支持文 本信息、文件传输和实时视频通信、地理位置信息的数据分发。本发明系统能够提供QoS控制参数设置,以实现应用层的QoS分级配置,其中可供 配置的QoS参数多达20种。系统提供QoS设置界面具备自适应和自定义两种可选功能。本 发明实现了 QoS路由策略,通过检测网络的吞吐量、时延、响应时间等传输特性,来控制应 用层QoS参数的实现,有效地优化了网络。本发明对于不同信息的数据形式、内容及大小,分别采取相应的不同存储策略将 需要进行匹配、分发的数据主题以及小数据量的文本信息存储代理缓存中(以及所连接的 分布式数据库中),而将发布端的大数据量的具体信息内容(如大容量文件、实时视频等) 存储在客户端。在数据存储部分采用分布式数据库实现。分布式数据库系统能够随时随地 提供可靠的信息,用户可以随时灵活访问信息而不必关心数据存放的地点和方法。这样将 数据存储与数据处理分开能够增强系统的扩展性。


图1是发布/订阅机制的原理示意图。图2是本发明的系统结构图。图3是本发明的服务器子系统结构图。图4是本发明的代理子系统结构图。图5是本发明的终端子系统结构图。图6是本发明的总体操作步骤时序图。图7是本发明的用户注册与登录的操作时序图。图8是本发明对文本信息主题的发布/订阅及匹配、传输的操作时序图。图9是本发明对文件传输主题的发布/订阅及匹配、传输的操作时序图。图10是本发明对实时视频通信主题的发布/订阅及匹配、传输的操作时序图。图11是本发明对地理信息主题的发布/订阅及匹配、传输的操作时序图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步 的详细描述。参见图2,介绍本发明具有分布式网络架构的实时数据分发系统及其中主要设备 的结构组成,该系统是在因特网和移动网中采用发布/订阅的通信机制传递信息,系统由 以Windows、Linux的操作系统作为软件运行环境的服务器子系统1、代理子系统2、终端子 系统3和分布式数据库4四个部分组成,其中服务器子系统1,用于完成与数据库、本层其他服务器、下层发布/订阅代理交互、 负载均衡、主题的存储以及匹配等操作,配设有六个模块与储存服务器列表的数据库进行 交互的数据库交互模块,与本层其他服务器进行交互的服务器间交互模块,连接发布/订 阅代理、从代理子系统的发布/订阅模块获得参与匹配的信息的发布/订阅接口模块,采 取负载平衡算法、对服务器子系统各个服务器进行负载均衡的负载均衡模块,将发布/订阅的主题信息分别存入发布列表和订阅列表的消息存储模块,按用户要求采用不同匹配算 法、对发布/订阅的主题和QoS进行精确或模糊匹配的消息匹配模块;代理子系统2,用于完成从终端接收主题、接收匹配事件并向订阅者转发、封装消 息、向上层服务器提交发布/订阅主题、与数据库交互、代理间通信等操作,配设有七个模 块用于客户端/服务器模式(C/S)下的、与下层客户端进行数据交互的C/S客户端接口模 块,用于浏览器/服务器模式(B/S)下的、与下层客户端进行数据交互的B/S客户端接口模 块,根据数据库的信息控制相应QoS等级、采用设定的通信协议和路由来保证传输安全准 确的数据传输模块,将用户发送的文本、流媒体、地理位置等信息转换成系统规定格式以便 进行发布/订阅的数据内容处理模块,完成发布/订阅信息功能的发布/订阅模块,管理用 户信息、配置网络以及QoS参数、向数据库中存储发布/订阅的主题、读取数据库中的服务 器和代理列表的数据库处理模块,与本层其他代理进行交互的代理间交互模块;终端子系统3,终端子系统分为两种客户端C/S客户端和B/S客户端,主要负责与用户之间的信息交互。其中B/S客户端并不需要在终端上安装客户端,仅需要WWW浏览器 访问代理的B/S服务器就可以完成发布/订阅过程。C/S客户端则需要在终端安装客户端, 配设有两个软件模块用于执行包括登录/注册、设置QoS参数、发布/订阅三种类型信息 (文本、地理位置、流媒体)主题的用户交互模块,与上层发布/订阅代理进行交互、以便根 据用户操作将信息或指令传递给发布/订阅代理的代理交互模块;分布式数据库4,本发明在数据存储部分采用分布式数据库实现,由于数据是由分 布式数据库存储的,那么无论用户是通过哪个代理都可以获得自己的数据;在数据库中存 储的信息主要包括文本、流媒体和地理位置信息三种发布/订阅主题及其QoS,以及用户、 代理、服务器等相关数据;采用基于发布代理区分的水平分片,即将同一代理发布或订阅的 消息作为同一片段进行处理,区分标志为代理编号。参见图3,具体说明服务器子系统1的六个软件模块的结构组成及其功能数据库交互模块,服务器子系统的各个服务器通过该模块将自己的信息存入数据 库的服务器列表,其中包括各服务器的地址、名称、负载等一系列数据;服务器间交互模块,与本层的其他服务器进行数据交互,包括已发布或订阅主题 的同步共享,各个服务器之间的负载均衡等功能;发布/订阅接口模块,用于连接下层的发布/订阅代理,获得代理子系统的发布/ 订阅模块传递来的参与匹配的发布/订阅消息,将这些信息向上发往消息存储模块进行缓 存以待匹配;负载均衡模块,在服务器子系统的各个服务器之间周期性地传递工作量信息,采 用负载平衡算法,对各个服务器的工作量进行分配以便解决网络拥塞问题、为用户提供更 好的服务质量、提高服务器响应速度及其他资源的利用效率、避免了网络关键部位出现单 点失效;消息存储模块,接收发布/订阅接口模块传递来的信息,将来自发布者/订阅者的 发布/订阅主题信息分别放入发布列表和订阅列表进行缓存以待匹配;当发布者和订阅者 取消发布或订阅时,则从发布列表和订阅列表中分别删除相应的发布或订阅主题;消息匹配模块,从消息存储模块的发布列表和订阅列表中提取信息,并根据用户 要求,使用相应的匹配规则和算法对发布/订阅主题的名称、类型、QoS等内容进行精确匹配、模糊匹配或范围匹配,并且支持匹配项的“与”和“或”的逻辑关系;如果两者信息匹配,就将包含订阅代理名称和地址的匹配结果发送给匹配的对应发布代理,将发布内容发送给 匹配的订阅者。参见图4,具体说明代理子系统2的七个软件模块的结构组成及其功能C/S客户端接口模块,在客户端/服务器模式下,用于与客户端的发布/订阅代 理交互模块交互信息,将从客户端获取的消息转换成系统规定格式以便对其进行发布/订 阅;B/S客户端接口模块,在浏览器/服务器模式下,用于与客户端的发布/订阅代理 交互模块交互信息,包含了 B/S模式的服务器功能,将从客户端获取的消息转换成系统规 定格式以便对其进行发布/订阅,与C/S客户端接口模块具有相同的功能;数据内容处理模块,将客户端发送的文本、流媒体、地理位置等不同类型的信息按 照一定规则封装成固定的格式,送往数据库处理模块进行存储;数据传输模块,包括QoS处理、数据安全、跨层交互和网络管理四个部分负责根 据数据库处理模块提供的信息来控制相应的传输QoS等级,以数据库处理模块设置的网络 属性和参数来选择数据传输的协议和路由,通过检测网络的吞吐量、时延、响应时间等传输 特性,来控制应用层QoS参数的实现,实现异步传输和流媒体功能,并采用设定的数据格式 保证传输安全;下面对这四个部分的功能作具体说明QoS处理部分,根据数据库处理模块提供的QoS参数配置信息控制相应的传输QoS 等级;本系统的数据分发服务依赖于QoS策略的使用,QoS是控制和实现数据分发QoS的多 个特性的组合。为保证通信的高效和可靠,发布方和接收方的QoS策略必须相互符合,即要 尽量保证双方去耦合若订阅者请求可靠的信息数据,而相应的发布者却仅仅提供了尽力 而为的QoS策略,则实体之间不会建立通信。该部分设有用于准确表述该系统各个QoS属性 的、不少于20种QoS参数,通过检测网络的吞吐量、延迟、响应时间的各种网络传输特性来 控制应用层的QoS参数的实现,以优化网络和增强传输安全;QoS参数的设置如下表所示 数据安全部分,用于保证系统内的数据传输安全,采用用户管理部分的用户认证 策略、域的权限管理策略、对传输数据进行XML功能设定、加密和其它措施来实现该功能;跨层交互部分,用于实现该系统在网络中应用时的跨层处理,使得该系统具有可 插拔的传输层,支持UDP、TCP和网络层多播路由通信协议,支持IPV6和IPV4网络地址配 置;网络管理部分,用于对跨层交互部分支持的多种网络形式和通信协议进行管理和 配置,对分布式网络采用分布式控制的方式;发布/订阅模块,以发布/订阅机制为支撑,实现基于DDS规范的数据分发功能; 包括下述两个部分发布部分和订阅部分;发布部分,从数据库中提取发布的主题信息,并向上层服务器注册该主题名称、 QoS参数及数据类型,并在发现有匹配的订阅者时,从数据库读取发布的具体信息,传送给 匹配的订阅者所在代理;订阅部分,从数据库中读取订阅的主题信息,向上层服务器注册该主题名称、QoS 参数及数据类型,并且在发现有匹配的发布者时,从相应的发布代理接收匹配的消息,将其 中的主题名称、发布消息内容、发布者的各种信息提取出来,放入数据库中,等待订阅者客 户端连接后将其传输给订阅者;数据库处理模块,包括用户管理、网络配置、QoS参数配置、发布/订阅主题存储、 服务器和代理列表五个部分,负责存储、管理和审核用户身份及相关信息和配置参数,对网 络传输参数以及QoS参数进行配置,将发布/订阅主题存入数据库或从数据库中获取发布 /订阅主题,支持包括MySql、Oracle, SQLServer的多种数据库接口,以便根据数据的不同 形式、内容和大小,采取不同的存储策略构造数据库,查询数据库中的服务器和代理列表以 获取上层各个服务器的状态信息和本层各个代理的状态信息;下面是这五个部分的具体说 明用户管理部分,负责管理用户的注册审核和登录认证,将用户分为管理员和普通 用户,并分别赋以不同权限和实施相应的管理策略注册后的新用户要由管理员进行身份 认证后,才能使用该系统;网络配置部分,用于对网络传输参数进行配置,与数据传输模块协同工作;QoS参数配置部分,用于存储终端发送的发布/订阅主题中的QoS参数,与数据传 输模块的QoS处理部分协同工作;
发布/订阅主题存储部分,将发布/订阅主题存入数据库中以待匹配,或者从数据库中读取待匹配的发布/订阅主题传递给发布/订阅模块;服务器和代理列表部分,读取数据库中的服务器和代理列表,获取上层服务器状 态信息以及本层各代理信息,根据系统整体状态连接到合适的服务器;代理间交互模块,用于与代理子系统其他代理之间传递数据,包括匹配事件的传 输、终端移动性管理等功能。参见图5,具体说明终端子系统3的两个软件模块的结构组成及其功能用户交互模块,包括用户注册/登陆、QoS参数设置、文本信息主题发布/订阅、流 媒体主题发布/订阅五个部分、地理位置主题发布/订阅,该模块为用户与该系统内各功能 模块的交互界面,用于执行包括登录/注册,设置QoS参数,发布/订阅文本信息,收集、显 示以及发布/订阅地理信息,发布/订阅流媒体信息并显示及其它操作,通过该模块向用户 提示包括是否登录成功、发送/订阅信息是否成功、是否收到订阅的信息的各种信息;下面 是这五个部分的具体说明用户注册/登陆部分,首次使用该系统的新用户需要在登陆框中输入自己的用户 名以及密码,该信息向上传送至代理子系统的数据库管理模块中的用户管理部分,由管理 员进行身份认证后,才能使用该系统;已有用户在登陆框中输入用户名以及密码,将该信息 向上传送至代理子系统的数据库管理模块中的用户管理部分,如果信息正确则登陆成功, 否则弹出提示信息,需要重新登陆;QoS参数设置部分,在界面QoS设置栏对QoS进行设置,该部分设有可选择的两种 功能给出了四种常用的QoS整体配置方案连续数据、状态信息、警告信息、失效备援,用 户可以根据实际需要选取其中的一种方案,系统按照设定自动配置该方案的QoS的功能, 以及分别配置包括吞吐量、延迟和其它各个传输属性的QoS参数的自定义功能,设置结束 后将该QoS信息上传至代理子系统对系统的QoS进行配置;文本信息主题发布/订阅部分,用于发布/订阅文本信息,输入要发布/订阅的文 本信息的主题、标题、内容、摘要、单位等信息以备发布或订阅,将用户的文本信息上传至代 理子系统进一步处理;流媒体主题发布/订阅部分,用于发布/订阅音视频类型的信息,可以发布或接收 文件传输或实时视频通信。发布端发布文件或实时视频的名称、用户等信息,订阅端订阅相 应信息,两者匹配成功后可以按照接收到的匹配信息,建立发布端和订阅端之间的文件传 输或实时视频通信;地理信息主题发布/订阅部分,用于发布/订阅地理信息,能够显示地图,通过外 部GPS模块采集地理信息或者直接向数据库中输入地理信息,可以根据用户名称、单位类 型、所属单位等项目中的一项或几项进行地理信息的查询并在地图上显示,可以对数据库 中存储的地理信息进行添加、删除或修改,订阅时可以选择精确匹配、模糊匹配或范围匹 配;地理信息进行发布/订阅可以完成四种功能单点坐标订阅、单点轨迹订阅、多点坐标 订阅、多点轨迹订阅。单点坐标订阅能够订阅特定人员或地点的位置信息,多点坐标订阅能 够同时订阅具有相同属性或者在一定范围内的多个人员或地点的位置信息,单点轨迹以及 多点轨迹订阅可以显示一段时间内一个或多个单位的实时运动轨迹;代理交互模块,用于与上层发布/订阅代理进行交互、以便根据用户操作将发布/订阅信息等数据和操作传递给发布/订阅代理。下面具体说明分布式数据库4的设计及实现本项目的数据存储采用分布式数据库实现,用于存储文本、流媒体和地理位置信息三种发布/订阅主题及其QoS,还有用户、代理、服务器等相关数据。项目其他部分与数据库交互如下用户在终端中登陆,进行发布或订阅消息操作, 将发布或订阅主题发送到所连代理。代理将所接收到的主题进行预处理之后通过分配策略 存储在分布式数据库中。同时,代理启动发布/订阅模块,在数据库中读取数据,确定数据 类型,并将数据传递给服务器进行匹配。当发布/订阅模块收到匹配消息后,将消息存储到 相应数据库中,同时通知终端消息匹配成功,终端通过代理读取数据库中的消息完成最终 的匹配过程。数据分片方面,采用基于发布代理区分的水平分片,即将同一代理发布或订阅的 消息作为同一片段进行处理,区分标志为代理编号。数据分配采用带有一定冗余的数据分 配策略。采用启发式试消副本的分配算法,并针对项目实际应用做了一定优化,对对整个项 目运行有决定性影响的用户信息、服务器信息、发布信息和订阅信息采用完全复制;其他数 据库表采用水平分片区分为不同片段,根据启发式试消副本分配算法的结果带有一定冗余 的分配到各数据库节点。参见图6,介绍本发明实时数据分发系统工作方法的操作步骤(1)用户在客户端注册登录,通过身份认证后,配置相关参数用户启动客户端 界面,注册登录;代理接收到客户端传递来的用户登录信息,将其存储于数据库处理模块, 进行身份验证;再根据不同用户返回相应的应答,供用户设置系统的各种网络传输参数和 QoS参数,然后由客户端将用户的操作和配置参数传递给代理,由代理存储和处理这些参 数。参见图7,该步骤(1)包括下述具体操作内容(11)用户启动客户端界面,即客户端的用户交互模块被调用;(12)用户注册和登录,注册用户直接登录,此时客户端调用代理接口模块,将用户 输入的注册登录信息传递给代理,由代理数据库处理模块的用户管理部分将新用户的信息 写入分布式数据库的用户存储部分,进行审核或对注册用户进行身份验证,审核验证通过 后,给客户端返回确认消息;(13)代理的用户管理部分判断该登录用户是管理员用户还是普通用户,并分别授 予不同的权限管理员用户能够进入管理员操作界面,对其它普通用户的权限和信息进行 管理,而普通用户只能打开通常功能的交互界面;(2)发布信息/订阅信息用户可以通过客户端界面对文本信息、文件以及流媒 体、地理信息等多种不同类型的信息进行发布/订阅。其中用户不仅要填写各种类型信息 所特有的数据外,还要对所要求发布或订阅的信息的传输属性参数和QoS参数进行设置。 客户端将用户输入的发布或订阅信息传递给所连接的代理,代理通过客户端接口接收这些 信息,将其封装后放入分布式数据库存储,并向服务器子系统进行相应的发布/订阅。参见图8 图11,该步骤(2)根据发布/订阅信息的种类包括下述具体操作内容(21)参见图8,要发布/订阅文本类型的消息,则进入文本信息发布/订阅界面, 填写发布/订阅所需的主题名、发布单位、QoS等级等等必要信息外,还包括文章标题、发表单位、关键字、摘要等属于文章主题的信息,此外发布主题时还可以附带总大小不超过5M的附件,然后通过代理交互模块向所属代理发送发布/订阅主题;。其中发布和订阅主题 操作是完全独立的,彼此互不影响;(22)参见图9,当需要发布/订阅基于文件的主题时,进入文件发布/订阅界面, 填写所需的主题名、发布单位等等必要信息外,还包括本地文件存储路径、文件大小、文件 说明等属于待发布/订阅文件的信息,然后发送至代理;(23)参见图10,当需要发布/订阅实时视频通信的主题时,进入实时视频主题发 布/订阅界面,填写发布/订阅所需的实时视频主题、发起人、视频描述等属于实时视频通 信的信息,然后发送至代理;(24)参见图11,在用户需要发布地理位置信息的主题时,进入地理位置信息发布 界面,用户可以手动填入或者从相应的GPS模块中获取要发布的地理信息主题信息,包括 用户名称、经纬度、用户所在单位类型、所属单位、QoS等级等信息,还要指定要发布的是某 一时刻的瞬时位置坐标还是某一段时间内的运动轨迹坐标,即可向代理发布地理位置信 息。在订阅时,用户首先要从单点坐标订阅、单点轨迹订阅、多点坐标订阅、多点轨迹订阅四 种模式中选择一种订阅模式,然后输入所需的订阅信息,即可向代理订阅地理位置信息。(3)主题的匹配过程文本、文件和实时视频、地理位置信息三种类型主题匹配过 程是相同的。代理收到客户端发送的发布/订阅信息后,将其放入分布式数据库中存储,并 传递给服务器。服务器按照消息中的各个匹配项,对发布和订阅主题进行匹配,将结果返回 给发布代理。发布代理根据匹配结果将匹配的事件发送给订阅主题所在的订阅代理。包括 下述具体操作内容(31)代理的客户端接口(C/S客户端接口或B/S客户端接口)从终端收到这些发 布/订阅信息,将主题、QoS参数等信息存入分布式数据库中,并按照XML格式重新构建以 符合发布/订阅格式后,藉由发布/订阅模块传递给服务器;(32)服务器从发布/订阅接口模块接收发布/订阅信息后,将主题从消息中提取 出来,并按照不同的信息类型放入消息存储模块的发布列表和订阅列表。消息匹配模块根 据主题、主题类型、关键词、发布单位和其它字段作为匹配项以及各个匹配项的“与”和“或” 的逻辑关系,采用匹配算法对消息列表中的发布/订阅主题进行模糊或精确匹配。若对发 布信息和订阅信息的匹配结果是失败,则等待接收新的发布信息和订阅信息,以便继续进 行匹配,直到匹配成功;若对发布信息和订阅信息的匹配结果是成功,则将匹配结果返回发 布者代理;(33)发布者代理获知匹配结果中订阅者所属代理后,发布模块根据QoS处理部分 要求的QoS策略,将数据库存储的发布信息按照选定的路由传送到订阅者代理。(4)匹配主题的传输和处理过程订阅者代理代替订阅终端接收已匹配的消息, 当订阅终端和代理连接时,代理根据订阅者所要求的QoS将与订阅匹配的主题发送给订阅 者。当传输完毕时,订阅者客户端的交互界面弹出成功接收信息提示,即完成发布和订阅的 一次交互。然后用户根据接收到的信息进行不同的处理操作。由于三种类型数据的不同特 点,包括下述具体操作内容(41)参见图8,当终端订阅的是文本类型主题时,终端与代理连接后,代理将已接 收到的与订阅匹配的文本信息发送给订阅者。
(42)参见图9,如果发布/订阅的消息是文件传输类型的主题时,发布者与代理连接后,代理向发布者返回匹配信息,发布者则开启文件传输监听端口,等待订阅者的文件传 输请求;当订阅者与代理连接时,代理将与订阅匹配的主题相关信息发送给订阅者,订阅者 按照其中包含的发布者地址则向发布者请求文件传输。在发布者和订阅者双方成功建立连 接后,就可以将文件按照约定的QoS策略传输给订阅者。(43)参见图10,如果发布/订阅的消息是实时视频通信类型的主题时,发布者与 代理连接后,代理向发布者返回匹配信息,发布者则开启视频通信监听端口,等待订阅者的 视频通信请求;当订阅者与代理连接时,代理将与订阅匹配的主题相关信息发送给订阅者, 订阅者按照匹配结果中的发布者地址,向其发送视频通信请求。发布者和订阅者双方建立 连接后,发布者与订阅者就可以通过已建立的连接按照约定的QoS进行实时视频通信。此 外由于发布/订阅机制的同步松耦合性,在通信双方进行实时视频通信的同时,发布者和 订阅者都可以与其他客户端建立视频连接,形成一个视频会议的应用模式;(44)参见图11,当订阅者与代理连接时,代理根据订阅者所要求的QoS将匹配结 果发送给订阅者。如果订阅模式是单点坐标订阅和多点坐标订阅,那么订阅者可以直接从 代理发送的匹配结果中得到自己所需的地理坐标,并且在终端界面的地图上显示出来。如 果订阅模式是单点轨迹订阅和多点轨迹订阅,那么订阅者需要根据匹配结果中包含的发布 者位置向发布终端或代理发送请求,与发布者建立连接,获取订阅单位的连续位置坐标,并 在订阅终端界面的地图上连续显示出来。
权利要求
具有分布式网络架构的实时数据分发系统,是在因特网和移动网中采用发布/订阅的通信机制传递信息,其特征在于,该系统包括完成主题存储及主题匹配等操作的服务器子系统,完成从终端接收主题、向订阅者转发匹配事件、提交发布/订阅主题等操作的代理子系统,完成用户发布/订阅信息的终端子系统,以及存储发布/订阅消息及系统信息的分布式数据库;能够提供文本信息、流媒体、地理位置信息等多种类型数据的发布/订阅服务,能够提供多达20种QoS控制参数,以实现应用层的QoS分级配置。
2.根据权利要求1所述的实时数据分发系统,其特征在于服务器子系统,用于完成与 数据库、其他服务器、下层发布/订阅代理交互、负载均衡、主题的存储以及匹配等操作,配 设有六个模块数据库交互模块,服务器子系统的各个服务器通过该模块将自己的信息存入数据库的 服务器列表,其中包括各个服务器的地址、名称、负载等数据;服务器间交互模块,与本层的其他服务器进行数据交互,包括已发布或订阅主题的同 步共享,各个服务器之间的负载均衡等功能;发布/订阅接口模块,用于连接发布/订阅代理,获得代理子系统传递来的参数与匹配 的发布/订阅消息,并发往消息存储模块进行缓存以待匹配;负载均衡模块,在服务器子系统的各个服务器之间周期性地传递工作量信息,采用负 载平衡算法,对各个服务器进行负载均衡;消息存储模块,接收发布/订阅接口模块传递的发布/订阅主题信息,分别放入发布列 表和订阅列表进行缓存以待匹配;当发布者和订阅者取消发布或订阅时,则从发布列表和 订阅列表中分别删除相应的发布或订阅主题;消息匹配模块,从消息存储模块的发布列表和订阅列表中提取信息,并根据主题匹配 要求,对发布/订阅主题的名称、类型、QoS等匹配项进行精确匹配、模糊匹配或范围匹配, 支持匹配项的“与”和“或”的逻辑关系匹配;如果两者信息匹配,就将包含订阅代理名称和 地址的匹配结果发送给匹配的对应发布代理,由该发布代理根据主题类型将发布内容发送 给匹配的订阅者。
3.根据权利要求1所述的实时数据分发系统,其特征在于代理子系统,用于完成从 终端接收主题、接收匹配事件并向订阅者转发,封装消息、向上层服务器提交发布/订阅主 题,与数据库交互、代理间通信等操作,有七个模块C/S客户端接口模块,在C/S (Client/Server)模式下,与C/S客户端的发布/订阅代理 交互模块交互信息,获取发布/订阅主题;B/S客户端接口模块,在B/S (Browser/Server)模式下,与B/S客户端进行信息交互,包 含B/S模式的服务器,为B/S客户端提供数据分发服务,获取发布/订阅主题;数据内容处理模块,将客户端发送的文本、流媒体、地理位置等不同类型的信息按照一 定规则封装成固定的格式,送往数据库处理模块进行存储;数据传输模块,包括QoS处理、数据安全、跨层交互和网络管理四个部分负责根据数 据库处理模块提供的信息来控制相应的传输QoS等级,以数据库处理模块设置的网络属 性和参数来选择数据传输的协议和路由,通过检测网络的吞吐量、时延、响应时间等传输特 性,来控制应用层QoS参数的实现,实现异步传输和流媒体功能,并采用特定的数据格式保 证传输安全;发布/订阅模块,以发布/订阅机制为支撑,实现基于DDS规范的数据分发功能;包括 发布部分和订阅部分发布部分,从数据库提取发布主题,向服务器注册主题名称、QoS参 数及数据类型,并向匹配的订阅者代理发送主题内容;订阅部分,从数据库中读出订阅主 题,向服务器注册主题名称、QoS参数及数据类型,并接收来自匹配发布代理发送的匹配主 题内容,放入数据库中;数据库处理模块,包括用户管理、网络配置、QoS参数配置、发布/订阅主题存储、服务 器和代理列表五个部分,负责存储、管理和审核用户身份及相关信息和配置参数,对网络传 输参数以及QoS参数进行配置,从数据库中存取发布/订阅主题,存储各个服务器的状态信 息和本层各个代理的状态信息;代理间交互模块,用于与代理子系统其他代理之间传递数据,包括匹配事件的传输、终 端移动性管理等功能。
4.根据权利要求1所述的实时数据分发系统,其特征在于终端子系统,分为两种客户 端C/S客户端和B/S客户端,主要负责与用户之间的信息交互;其中B/S客户端并不需要 在终端上安装客户端,仅需要WWW浏览器访问代理的B/S客户端接口模块就可以完成发布 /订阅过程;C/S客户端则需要在终端安装C/S客户端,配设有两个软件模块用户交互模块,包括用户注册/登陆、QoS参数设置、文本信息主题发布/订阅、流媒体 主题发布/订阅、地理位置主题发布/订阅五个部分,用于执行包括登录/注册,设置QoS 参数,发布/订阅文本信息,收集、显示以及发布/订阅地理信息,发布/订阅流媒体信息并 显示及其它操作;代理交互模块,用于与上层发布/订阅代理进行交互、以便根据用户操作将发布/订阅 信息等数据和操作传递给发布/订阅代理。
5.根据权利要求1所述的实时数据分发系统,其特征在于分布式数据库,负责数据存 储部分;用于存储用户信息、三种类型(文本信息、地理位置信息、流媒体信息)的发布/订 阅主题、QoS参数以及代理和服务器状态等数据;采用基于发布代理区分的水平分片,即将 同一代理发布或订阅的消息作为同一片段进行处理,区分标志为代理编号,数据分配采用 带有一定冗余的数据分配策略。
6.根据权利要求1所述的实时数据分发系统,其特征在于系统以0MG的DDS标准为 框架基础构建的,为用户提供实时的在线数据传输发布者能够及时、高效地将数据直接转 发到订阅者,能够支持文本信息、流媒体、地理位置信息三种类型的数据分发;本系统的工 作方法包括如下操作步骤(1)用户在客户端注册登录用户在客户端注册登录,代理将其登陆信息传递给数据 库处理模块,进行身份验证;然后由客户端将用户的操作和配置参数传递给代理;(2)发布信息/订阅信息用户可以通过客户端界面对文本信息、流媒体信息、地理位 置信息三种类型的主题进行发布/订阅,并将其发送至代理;(3)主题的匹配过程代理将收到的发布/订阅主题存储到数据库同时发送到服务器, 由服务器根据匹配要求对主题进行匹配,并将结果返回给代理;(4)匹配主题的传输和处理过程订阅者代理代替订阅终端接收已匹配的主题,并在 订阅终端连接时根据订阅者所要求的QoS将匹配主题发送给订阅者,然后终端根据接收到 的主题类型进行不同的处理操作。
7.根据权利要求6所述的实时数据分发系统,其特征在于所述步骤(2)根据发布/订 阅信息的种类进一步包括下述具体操作内容(21)发布/订阅文本类型的主题,填写主题名、发布单位、QoS等级以及文章标题、发表 单位、关键字、摘要等属于文章主题的信息,可以附带不超过5M的附件,然后向代理发送发 布/订阅主题;(22)发布/订阅基于文件传输的主题,填写文件名、文件存储路径、文件大小、文件说 明等属于待发布文件的信息,然后向代理发送发布/订阅主题;(23)发布/订阅实时视频通信的主题,填写实时视频主题、发起人、视频描述等属于实 时视频通信的信息,然后向代理发送发布/订阅主题;(24)发布地理位置信息的主题,用户可以手动填入或者从相应的GPS模块中获取要发 布的地理信息主题信息,包括用户名称、经纬度、用户所在单位类型、所属单位、QoS等级等 信息,并指定要发布的是某一时刻的瞬时位置坐标还是某一段时间内的运动轨迹坐标,即 可向代理发布相应的地理位置信息;本系统实现了四种模式的地理信息订阅,分别是单点坐标订阅、单点轨迹订阅、多点坐 标订阅、多点轨迹订阅单点坐标订阅能够订阅特定人员或地点的位置信息,多点坐标订阅 能够同时订阅具有相同属性或者在一定范围内的多个人员或地点的位置信息,单点轨迹以 及多点轨迹订阅可以显示一段时间内一个或多个单位的实时运动轨迹;订阅地理位置信息 类型的主题,用户首先要从四种模式中选择一种订阅模式,然后输入相应的订阅信息进行 订阅。
全文摘要
具有分布式网络架构的实时数据分发系统及其工作方法,该系统在因特网和移动网中采用发布/订阅通信机制传递信息,系统包括完成主题存储及主题匹配等操作的服务器子系统,完成从终端接收主题、向订阅者转发匹配事件、提交发布/订阅主题等操作的代理子系统,完成用户发布/订阅信息的终端子系统,以及存储发布/订阅消息及系统信息的分布式数据库。该系统能够自动、迅速、安全地对用户订阅信息提供实时数据传输服务,能够提供文本信息、流媒体、地理位置信息等多种类型数据的发布/订阅服务,能够提供多达20种QoS控制参数,以实现应用层的QoS分级配置,为数据分发系统的功能拓展提供了便利。
文档编号H04L12/56GK101848236SQ201010163628
公开日2010年9月29日 申请日期2010年5月6日 优先权日2010年5月6日
发明者刘元安, 刘春旭, 马晓雷, 高锦春 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1