CN105005507A - 一种基于集市的可组合的中间件系统 - Google Patents
一种基于集市的可组合的中间件系统 Download PDFInfo
- Publication number
- CN105005507A CN105005507A CN201510356791.6A CN201510356791A CN105005507A CN 105005507 A CN105005507 A CN 105005507A CN 201510356791 A CN201510356791 A CN 201510356791A CN 105005507 A CN105005507 A CN 105005507A
- Authority
- CN
- China
- Prior art keywords
- middleware
- request
- service
- trading
- message
- 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.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明遵循一般中间件所提供的基本的服务,但又有自己的特征,特别适合大规模的物联网结构。本发明的中间件提供了一个买卖双方进行交易的场所,相当于一个集市,可以使用不同的策略来实施不同的交易。各种消息汇集到中间件集市中,包括服务请求消息和服务提供消息。被中间件匹配的请求对(pair)将在此成交(trading)。成交后,用户方将得到服务,服务方得到回报,这里回报是指广义的回报,不一定是货币。我们中间件的一个重要特征是强阻隔性,即请求方和服务方相互隔离甚至完全不知道对方的情况,如同股票交易一样。
Description
技术领域
本发明属于计算机领域中的网络分布式计算,可用于多处理机环境中,如大规模物联网,提高系统的开发效率和可靠性。
背景技术
中间件(Middleware)是一种独立的系统软件或服务程序,是连接两个独立应用程序或独立系统的软件。中间件主要用来解决这几个问题:网络通讯Communication、通讯协同性Coordination、可靠性Reliability、可伸缩性Scalability、异构性Heterogeneity。中间件主要可分为几种类型:远程过程调用中间件、面向对象中间件、面向消息中间件、事物处理监控中间件;此外还有终端仿真/屏幕转换中间件和数据访问中间件。远程过程调用中间件出现较早,典型的如Sun公司的ONC平台提供的RPC,以同步方式进行远程调用。之后出现了面向对象的中间件,典型的如OMG的COBRA和微软的DCOM等。目前较盛行的是消息中间件,典型的如IBM的MQ Series和微软的MSMQ;另外还有东方通公司的TongLINK/Q等。事物处理监控中间件主要是用于保障复杂事物处理的原子性,如IBM的CICS、NCR的TopEnd和BEA公司的Tuxedo等。我们设计的“基于集市的可组合的中间件系统”是属于消息中间件,它是一种轻量级的、特别适合于大规模物联网的、面向不同消息进行匹配交易的处理系统。
发明内容
1 系统组成
本发明的中间件遵循一般中间件所提供的基本的服务,如图所示。但又有许多自己的特征,特别适合大规模的物联网结构。当本发明中间件用于不同处理器中间时,中间件的运行需要带有网络适配器(网卡)及其驱动程序,且运行于支持TCP/IP协议之网络。
图1 中间件基础结构
在大规模物联网中,由于基础的传感器太多,要进行集中式的控制代价极大。为此,我们设计了以代理中间件为核心的物联网结构,如图所示,我们的中间件构成图中的“代理层”。图中的感知层主要由各类传感器构成,当然也包含它们的支撑电路。在感知层之上是基本通信层,之所以是“基本” 通信层是因为只要求最基本的通信功能即可,如TCP/IP局网通信或甚至是单机内部进程间的TCP/IP通信等,我们希望最下面的两层尽可能的简单。在大规模的情况下,基层的简单意味着生产、安装和调试成本的大幅度节省。代理层是由我们的可组合模块的中间件构成,传感器的数据采集结果在此汇集,汇集后可能会通过复杂的路由向多个不同数据库存储。代理层的软件功能可以很简单,也可以很强大,可以进行配置。对传感器群的管理完全是通过代理层来完成。支撑层主要是由数据库、算法库等构成,其任务是完成数据的存储、数学统计、并发控制等;为数据的最后处理提供物理基础和算法标准。应用层是最终用户的接口层,最终用户通过对应用层的操控来完成对大规模物联网中数据和设备的使用。这样,对大规模物联网的控制,就变为了对少量代理层中间件的控制。传感器群的存放位置和路由等工作完全由中间件来代理。
图2 中间件在物联网中的工作(代理)位置
2 系统原理
代理层的中间件是我们方法与其它方法区别的核心,在代理层的中间件中,用户方请求将同服务方的服务进行匹配(包括功能、性能、价格等匹配),代理层是各种消息的集市(Market),包括服务请求消息和服务提供消息。匹配的请求对(pair)将在此成交(trading)。成交后,用户方将得到服务,服务方得到回报,这里回报是指广义的回报,不一定是货币。匹配完全由中间件来完成。代理层提供了一个买卖双方进行交易的场所,相当于一个集市,可以使用不同的策略来实施不同的交易。本方法可以由多个中间件构成一个大的中间件来完成任务,这里的任务是基于交换的交易(trading middleware),而不是许多专利或文献中所说的处理交易(transaction middleware)。在纯数据采集或程序调用中,中间件的构成可以很简单,仅仅是一个消息信箱(message box)。无论简单还是复杂,我们中间件的一个重要特征是强阻隔性,即请求方和服务方相互隔离甚至完全不知道对方的情况,如同股票交易一样。这点同流行的Web Service或消息总线完全不一样,即由服务方发布服务,请求方知道后定点请求该服务。在我们的中间件中,双方仅仅向中间件提出任务请求或服务请求,至于被匹配的对方是谁并不清楚,只要满足其要求即可。例如,工厂中的一群温度传感器,定期向中间件传送数据,它们并不参与数据的下一步流程。技术人员通过配置中间件,可以使得数据在中间件汇集,然后由服务1向数据库A进行存放。如果对数据可靠性要求提高了,上面的中间件则可以使用服务2同时向数据库B和C存放数据,做到双备份。我们的中间件的主要任务是进行服务交易(trading),如图所示,
图3 中间件的工作方式
为了配合服务交易的完成,可以有多个模块组成中间件,其中队列存储模块是最基本不可缺乏的。
图4 以服务交易为核心的中间件
四、有益效果
1 结构不同:不同于消息总线或Web Service等,在这些传统的方法中,由服务方发布服务,由客户请求方直接向服务端发起请求,在逻辑上中间件只是起到“管道”的作用或“转发”作用。而在我们方法中,中间件是一个具有多种功能和角色的系统,不仅仅是个“管道”。特别是客户端基本没有自主权,一起活动都由中间件来“代理”。这样做的目的是可以使得客户端的设计结构尽可能的简单,对于有大规模传感器的物联网来说,可以节省相当的成本。
2 目的不同:传统的中间件的主要功能是进行传输,也兼顾一些处理。但本文方法的中间件的主要功能是处理(如匹配处理等),也可能会兼顾一些传输。中间件好比股票交易中心,它将保证交易的执行。对于不能够达成的交易,将持续寻求匹配,直到交易完成。用户只关心交易中心,把一切委托给了交易中心,并不需要知道与自己最终匹配的一方究竟是谁。在大规模物联网中,对大量的基础设备进行控制,如路由改变等将十分困难。但在我们方法中,这一切都由中间件的动态配置来完成。我们中间件传输的目的也是为了完成处理。
3 处理方式不同:不同于传统的方式,客户的请求被中间件“送入”服务端进行处理;在我们中间件中服务端主动来“取走” 客户的请求。这样的好处是不仅仅使“阻隔”性更好(云概念的实现),而且系统的结构也将更加灵活。例如,有空的服务端可以主动发起服务,而繁忙的服务端则不发起服务。因此不仅仅适合于大规模的传感器客户群,也能够很好地适合于服务方的大规模并发处理。
4 针对对象不同:市面上的中间件、消息总线等都面向复杂业务,一般都以光盘的形式发布,庞大而复杂,对设备要求高。本文方法的中间件是轻量级的,对设备要求很低,适合小而简单的传感器群(它们一般不具备与复杂系统对接的功能)。
5 复杂度不同:本方法的中间件的组成是由多个独立的模块构成,可以构成各种不同的功能,组成也可以非常简单。在最简单的情况下,我们中间件仅仅是个“异步邮箱”,对调用者和被调用者起到“阻隔”的作用。这样做的好处有两点,一是某一方的崩溃不会影响另一方,从而提高了系统的整体可靠性;二是各方独立性的提高,有助于开发人员各种专注于各自的部分,提高开发效率。在最简单的情况下,单机中的各个独立的程序通过TCP/IP方式存取中间件的数据和结果,达到异步调用的目的。
附图说明
图1 中间件基础结构
图2 中间件在物联网中的工作(代理)位置
图3 中间件的工作方式
图4 以服务交易为核心的中间件
图5 实施例子1
图6 实施例子2
五、具体实施方式
为了提高大系统组成各部分的独立性和整个系统的可靠性,我们使用了中间件来进行“分割”。通过本文中间件,系统组成部分之间的联系由同步变成了异步。为实现异步操作,各个独立的应用程序通过消息(Message)来进行交互,这样形成了松耦合的系统结构。我们的消息结构如下:
消息标志:用户号、应用号、申请时间、申请序号(本类消息的标识号)
消息上下链接:上一级消息来源用户号、本地本中间件用户号、上传消息的下一级用户号
消息处理类型:客户端放入上传的数据(A)和回取结果(B),服务端取走请求的数据(C)和放入结果(D)
消息标志的目的是要确定某用户及其请求服务功能的唯一编号。其中用户号为某个应用端的系统编号,可以理解为IP+PORT,但一般情况下是一个长整数(从效率上考虑),通过查表方式同一个独立的应用程序相对应。应用号为某个具体的功能。申请序号为该用户对该功能申请的序列号。通过消息标准可以唯一定位一个应用请求。如果本中间件的交易能够不通过其它中间件来完成,则中的消息上下链接可以不使用。如果数据在中间件之间传递,则每传递一级,消息上下链接变化一次,通过链接能够使得消息结果沿着原来路径返回。使用消息上下链接,可以避免存储复杂的路由结构。
实施例1
某地有大量的传感器进行数据采集,采集结果放入中间件中,按照先后顺序在队列中进行缓存,中间件队列有一定时间的存储能力。当数据库服务器A有空时,向中间件提起请求,把其中的数据分批提交数据库存储。假若服务器A因故不能够工作(如到达A服务器所在城市的网络中断等原因),我们可以启动在另一个城市(具有另一个IP地址)的备份存储服务器B主动连接中间件,继续完成存储任务。同理如果B服务器也有问题,还可以启动其它城市的其它服务器。这些服务器可以是事先备份(处于中间件中低优先级)的,也可能是事先完全没有考虑到的、紧急加上去的。中间件接受任何符合安全性的网络连接,并为之匹配任务。因此我们方法比基于转发式的、预先配置的普通中间件具有更高的可靠性和可扩展性。
图5 实施例子1
实施例2
代理层的中间件可以组合,来完成复杂的任务,如图所示
图6 实施例子2
图中1级中间件的主要工作是汇集,汇集后的数据由某服务转发给2个不同的中间件,然后分别完成数据处理和存储。
备注:
本发明的创新性和优点主要体现在
1 把交易(trading而不是transaction)引入到中间件的处理过程中,对任务和服务进行匹配而不是预先的分配。
2 在系统中提出了“代理层”模式,大大简化了服务请求方的工作,特别适合于大规模的物联网
3 通过消息模式和不同的组合方式,可以实现“异步”操作,进而很好地使系统具有可伸缩性
4 由于交易双方的不透明性,系统各部分的人工开发工作更加独立,系统的可靠性更高。
5 由于交易双方的不透明性,各部分的保密性更强。
Claims (3)
1.一种基于集市的可组合的网关中间件系统,其特征包括:
(1) 服务提供方的请求和服务需求方的请求在中间件内进行供求匹配交易;
(2) 使用多个队列对上述请求进行存储,对结果进行存储;
(3) 使用消息(Message)机制与外界通信,即通过异步方式来接受外部的请求和对外部请求回答;
(4) 与外部通信是通过TCP/IP方式,因此当跨机使用时需要有网络适配器的支持;
(5) 请求方只需通过消息向中间件发出请求(并提供相应的数据),中间件将对接受的请求进行完全的代理,即要么自己完成,要么找其它系统完成,请求方无需知道完成的渠道和细节。
2. 如权利要求1所述的一种基于集市的可组合的网关中间件系统,其系统可以通过与更多模块的结合来完成更多的功能,如安全认证等;这样可以构成不同功能的中间件。
3.如权利要求2所述的一种基于集市的可组合的网关中间件系统,其系统可以通过与其它中间件的结合组成更大的中间件来完成更多更复杂的功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510356791.6A CN105005507A (zh) | 2015-06-25 | 2015-06-25 | 一种基于集市的可组合的中间件系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510356791.6A CN105005507A (zh) | 2015-06-25 | 2015-06-25 | 一种基于集市的可组合的中间件系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105005507A true CN105005507A (zh) | 2015-10-28 |
Family
ID=54378187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510356791.6A Pending CN105005507A (zh) | 2015-06-25 | 2015-06-25 | 一种基于集市的可组合的中间件系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105005507A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107528923A (zh) * | 2017-09-30 | 2017-12-29 | 江苏农林职业技术学院 | 一种网络适配器的数据传输方法及网络适配器 |
WO2018049773A1 (zh) * | 2016-09-18 | 2018-03-22 | 伯禄(上海)商务咨询有限公司 | 计算机对条件要素自动撮合匹配方法在网络领域的运用 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030233466A1 (en) * | 2002-01-10 | 2003-12-18 | Ian Kinkade | System and method for efficient message transport by message queuing middleware |
CN101373474A (zh) * | 2008-09-02 | 2009-02-25 | 北京开拓天际信息技术有限公司 | 海量数据实时处理架构及用于该架构的实时随需处理平台 |
CN101651631A (zh) * | 2008-08-12 | 2010-02-17 | 新奥特(北京)视频技术有限公司 | 一种电视台全台网系统集成中消息接入的方法 |
CN102594919A (zh) * | 2012-03-19 | 2012-07-18 | 中国联合网络通信集团有限公司 | It资源支撑系统 |
CN104363291A (zh) * | 2014-11-19 | 2015-02-18 | 中国航天科工集团第二研究院七〇六所 | 一种网络通信中间件实现方法 |
-
2015
- 2015-06-25 CN CN201510356791.6A patent/CN105005507A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030233466A1 (en) * | 2002-01-10 | 2003-12-18 | Ian Kinkade | System and method for efficient message transport by message queuing middleware |
CN101651631A (zh) * | 2008-08-12 | 2010-02-17 | 新奥特(北京)视频技术有限公司 | 一种电视台全台网系统集成中消息接入的方法 |
CN101373474A (zh) * | 2008-09-02 | 2009-02-25 | 北京开拓天际信息技术有限公司 | 海量数据实时处理架构及用于该架构的实时随需处理平台 |
CN102594919A (zh) * | 2012-03-19 | 2012-07-18 | 中国联合网络通信集团有限公司 | It资源支撑系统 |
CN104363291A (zh) * | 2014-11-19 | 2015-02-18 | 中国航天科工集团第二研究院七〇六所 | 一种网络通信中间件实现方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018049773A1 (zh) * | 2016-09-18 | 2018-03-22 | 伯禄(上海)商务咨询有限公司 | 计算机对条件要素自动撮合匹配方法在网络领域的运用 |
CN107528923A (zh) * | 2017-09-30 | 2017-12-29 | 江苏农林职业技术学院 | 一种网络适配器的数据传输方法及网络适配器 |
CN107528923B (zh) * | 2017-09-30 | 2020-08-25 | 江苏农林职业技术学院 | 一种网络适配器的数据传输方法及网络适配器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112330326B (zh) | 一种应用于银行交易区块链系统的业务处理方法和装置 | |
JP7208164B2 (ja) | ブロックチェーン・ネットワークにおいてラージ・ブロックを管理するためのコンピュータ実装システム及び方法 | |
US10776864B2 (en) | System and method of utilizing a distributed order book in an electronic trade match engine | |
US7047243B2 (en) | Coordinating transactional web services | |
CN102246465B (zh) | 提供对远程服务的本地安全网络访问 | |
CN107742210A (zh) | 一种不同区块链间的跨链转账系统和方法 | |
CN110417896A (zh) | 基于云的区块链动态组网的系统及方法 | |
CN100359508C (zh) | 用于处理集群计算机系统的合并协议的方法和装置 | |
US20080196087A1 (en) | Peer-to-Peer Distributed Computational System and Method | |
CN109886694A (zh) | 基于区块链的数据处理方法及装置和电子设备 | |
US7664688B2 (en) | Managing information in a multi-hub system for collaborative planning and supply chain management | |
US20120151001A1 (en) | Clearing Message Broker System | |
US20150371327A1 (en) | System for dynamically selecting a communications fabric | |
CN110502319A (zh) | 分布式事务的处理方法、装置、电子设备及存储介质 | |
CN101986614B (zh) | 一种面向物流应用的通用行业服务总线系统及其实现方法 | |
CN101771703A (zh) | 一种资讯服务系统和方法 | |
Pham et al. | Enhanced security of IoT data sharing management by smart contracts and blockchain | |
US20100284692A1 (en) | Ultra low latency securities trading infrastructure | |
US20100088384A1 (en) | Automated digital matching of messages | |
CN105005507A (zh) | 一种基于集市的可组合的中间件系统 | |
CN110532810A (zh) | 信息处理方法、装置、电子设备及可读存储介质 | |
EP1580660B1 (en) | Node matching in a dynamic, decentralized environment | |
KR102119456B1 (ko) | 분산 클라우드 환경에서의 분산 브로커 코디네이터 시스템 및 방법 | |
JPH076138A (ja) | コンピュータ・ネットワークにおける変更管理のためのサブエントリ点インターフェース・アーキテクチャ | |
CN111522662B (zh) | 一种用于金融分析的节点系统及其实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20151028 |