一种基于集市的可组合的中间件系统的制作方法

文档序号:9288353阅读:402来源:国知局
一种基于集市的可组合的中间件系统的制作方法
【技术领域】
[0001] 本发明属于计算机领域中的网络分布式计算,可用于多处理机环境中,如大规模 物联网,提高系统的开发效率和可靠性。
【背景技术】
[0002] 中间件(Middleware)是一种独立的系统软件或服务程序,是连接两个独立应用程 序或独立系统的软件。中间件主要用来解决这几个问题:网络通讯Communication、通讯协 同性Coordination、可靠性Reliability、可伸缩性Scalability、异构性Heterogeneity。 中间件主要可分为几种类型:远程过程调用中间件、面向对象中间件、面向消息中间件、事 物处理监控中间件;此外还有终端仿真/屏幕转换中间件和数据访问中间件。远程过程调 用中间件出现较早,典型的如Sun公司的0NC平台提供的RPC,以同步方式进行远程调用。 之后出现了面向对象的中间件,典型的如0MG的COBRA和微软的DC0M等。目前较盛行的是 消息中间件,典型的如IBM的MQSeries和微软的MSMQ;另外还有东方通公司的TongLINK/ Q等。事物处理监控中间件主要是用于保障复杂事物处理的原子性,如IBM的CICS、NCR的 TopEnd和BEA公司的Tuxedo等。我们设计的"基于集市的可组合的中间件系统"是属于消 息中间件,它是一种轻量级的、特别适合于大规模物联网的、面向不同消息进行匹配交易的 处理系统。

【发明内容】

[0003] 1系统组成
[0004] 本发明的中间件遵循一般中间件所提供的基本的服务,如图所示。但又有许多自 己的特征,特别适合大规模的物联网结构。当本发明中间件用于不同处理器中间时,中间件 的运行需要带有网络适配器(网卡)及其驱动程序,且运行于支持TCP/IP协议之网络。
[0005] 图1中间件基础结构
[0006] 在大规模物联网中,由于基础的传感器太多,要进行集中式的控制代价极大。为 此,我们设计了以代理中间件为核心的物联网结构,如图所示,我们的中间件构成图中的 "代理层"。图中的感知层主要由各类传感器构成,当然也包含它们的支撑电路。在感知层 之上是基本通信层,之所以是"基本"通信层是因为只要求最基本的通信功能即可,如TCP/ IP局网通信或甚至是单机内部进程间的TCP/IP通信等,我们希望最下面的两层尽可能的 简单。在大规模的情况下,基层的简单意味着生产、安装和调试成本的大幅度节省。代理层 是由我们的可组合模块的中间件构成,传感器的数据采集结果在此汇集,汇集后可能会通 过复杂的路由向多个不同数据库存储。代理层的软件功能可以很简单,也可以很强大,可以 进行配置。对传感器群的管理完全是通过代理层来完成。支撑层主要是由数据库、算法库 等构成,其任务是完成数据的存储、数学统计、并发控制等;为数据的最后处理提供物理基 础和算法标准。应用层是最终用户的接口层,最终用户通过对应用层的操控来完成对大规 模物联网中数据和设备的使用。这样,对大规模物联网的控制,就变为了对少量代理层中间 件的控制。传感器群的存放位置和路由等工作完全由中间件来代理。
[0007] 图2中间件在物联网中的工作(代理)位置
[0008] 2系统原理
[0009] 代理层的中间件是我们方法与其它方法区别的核心,在代理层的中间件中,用户 方请求将同服务方的服务进行匹配(包括功能、性能、价格等匹配),代理层是各种消息的 集市(Market),包括服务请求消息和服务提供消息。匹配的请求对(pair)将在此成交 (trading)。成交后,用户方将得到服务,服务方得到回报,这里回报是指广义的回报,不一 定是货币。匹配完全由中间件来完成。代理层提供了一个买卖双方进行交易的场所,相当于 一个集市,可以使用不同的策略来实施不同的交易。本方法可以由多个中间件构成一个大 的中间件来完成任务,这里的任务是基于交换的交易(tradingmiddleware),而不是许多 专利或文献中所说的处理交易(transactionmiddleware)。在纯数据采集或程序调用中, 中间件的构成可以很简单,仅仅是一个消息信箱(messagebox)。无论简单还是复杂,我们 中间件的一个重要特征是强阻隔性,即请求方和服务方相互隔离甚至完全不知道对方的情 况,如同股票交易一样。这点同流行的WebService或消息总线完全不一样,即由服务方发 布服务,请求方知道后定点请求该服务。在我们的中间件中,双方仅仅向中间件提出任务请 求或服务请求,至于被匹配的对方是谁并不清楚,只要满足其要求即可。例如,工厂中的一 群温度传感器,定期向中间件传送数据,它们并不参与数据的下一步流程。技术人员通过配 置中间件,可以使得数据在中间件汇集,然后由服务1向数据库A进行存放。如果对数据可 靠性要求提高了,上面的中间件则可以使用服务2同时向数据库B和C存放数据,做到双备 份。我们的中间件的主要任务是进行服务交易(trading),如图所示,
[0010] 图3中间件的工作方式
[0011] 为了配合服务交易的完成,可以有多个模块组成中间件,其中队列存储模块是最 基本不可缺乏的。
[0012] 图4以服务交易为核心的中间件
[0013] 四、有益效果
[0014] 1结构不同:不同于消息总线或WebService等,在这些传统的方法中,由服务方 发布服务,由客户请求方直接向服务端发起请求,在逻辑上中间件只是起到"管道"的作用 或"转发"作用。而在我们方法中,中间件是一个具有多种功能和角色的系统,不仅仅是个 "管道"。特别是客户端基本没有自主权,一起活动都由中间件来"代理"。这样做的目的是 可以使得客户端的设计结构尽可能的简单,对于有大规模传感器的物联网来说,可以节省 相当的成本。
[0015] 2目的不同:传统的中间件的主要功能是进行传输,也兼顾一些处理。但本文方 法的中间件的主要功能是处理(如匹配处理等),也可能会兼顾一些传输。中间件好比股票 交易中心,它将保证交易的执行。对于不能够达成的交易,将持续寻求匹配,直到交易完成。 用户只关心交易中心,把一切委托给了交易中心,并不需要知道与自己最终匹配的一方究 竟是谁。在大规模物联网中,对大量的基础设备进行控制,如路由改变等将十分困难。但在 我们方法中,这一切都由中间件的动态配置来完成。我们中间件传输的目的也是为了完成 处理。
[0016] 3处理方式不同:不同于传统的方式,客户的请求被中间件"送入"服务端进行处 理;在我们中间件中服务端主动来"取走"客户的请求。这样的好处是不仅仅使"阻隔"性 更好(云概念的实现),而且系统的结构也将更加灵活。例如,有空的服务端可以主动发起服 务,而繁
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1