iXcom技术白皮书

上传人:博****1 文档编号:558967072 上传时间:2024-01-03 格式:DOC 页数:16 大小:90.50KB
返回 下载 相关 举报
iXcom技术白皮书_第1页
第1页 / 共16页
iXcom技术白皮书_第2页
第2页 / 共16页
iXcom技术白皮书_第3页
第3页 / 共16页
iXcom技术白皮书_第4页
第4页 / 共16页
iXcom技术白皮书_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《iXcom技术白皮书》由会员分享,可在线阅读,更多相关《iXcom技术白皮书(16页珍藏版)》请在金锄头文库上搜索。

1、iXcom技术白皮书 1.前言1 2.iXcom简介2 3.iXcom的功能3 4.iXcom的特点4 5.基本概念5 5.1.应用5 5.2.节点5 5.3.电文6 5.4.电文号7 5.4.1.映射电文号7 5.5.回线7 5.6.主机名8 5.7.主机代号8 5.8.电文实时传输8 5.9.电文可靠传输8 5.10.静态连接9 5.11.动态连接9 5.12.队列10 5.12.1.发送队列10 5.12.2.接收队列11 5.13.分组发送11 5.14.分组接收11 6.体系结构11 6.1.系统核心12 6.1.1.基础平台构件层12 6.1.2.数据处理构件层13 6.2.通信管

2、理14 6.3.应用适配器层15 1. 前言本文档介绍宝信软件的中间件产品iXcom。iXcom属于消息通信中间件,它的主要功能是在应用程序间传递消息,这些消息可以在不同的通信协议(基于TCP/IP Socket)、不同的主机系统和不同的应用系统。 iXcom提供简单易用、高效可靠的分布式应用开发和通信平台,利用它可以快速方便地开发可靠、高效的分布式应用。 iXcom提供远程监控和控制功能,可以方便的控制通信线路和得知通信运行状况。 iXcom提供对多种主流数据库的支持,支持Oracle,SQLServer等数据库。 iXcom提供对多种开发语言的支持,支持C/C+ , Java, .NET,

3、 VB , Delphi等语言。 2. iXcom简介iXcom 是面向分布式应用的消息中间件,它为网络环境下客户机/服务器(C/S)结构的应用系统的开发和运行,提供了灵活和易用的基础平台。 iXcom提供两种通讯模式,实时传输模式和可靠传输模式。在实时传输模式上,iXcom提供快速地数据发送能力,但在通信出现异常时不能保证数据地可靠到达。在可靠传输模式下,iXcom提供可靠的数据发送能力,严格按照应用发送电文的先后顺序进行电文发送,保证电文的可靠传输。 一个iXcom 的基本工作示意图如图1 所示。应用程序分布在网络上的两个结点上,当应用程序之间要传送消息时,应用程序只需将消息电文号和消息的

4、内容通过iXcom提供的接口传给iXcom。iXcom 便会利用网络结点上的各个iXcom运行系统组成的虚拟网,将消息输送到消息接收者所在的结点上,然后提交给消息的接收者。 图1 3. iXcom的功能iXcom的主要功能如下: 提供端到端的实时通信服务。应用不必关心网络通信和其它的网络细节,应用只需关注应用业务层,减少学习和使用的难度。 提供端到端的可靠通信服务。适用于分布式环境下各种不同类型的应用开发,特别是对通信的可靠性要求较高的应用,提供多层次的异步通信机制。通信的应用双方在处理时间上可以互不相关,发送方在发送数据时接收方应用可以还未启动。 提供对发送电文的并发传输(通信规约必须是动态

5、连接的)和接收电文的并发处理,适用于对效率要求比较高的业务领域。 提供简单易用、快速、高效可靠的分布式应用系统的开发平台,应用编程接口(API)简单且易学易用。网络异构环境和细节对用户完全透明并且支持多种网络底层环境,并提供了跨操作系统的C/C+/Java接口; iXcom可以和具有不同通信规约的节点进行通信。 提供WebService,XML-RPC接口,可以和J2EE和.NET进行集成。 支持工业通信协议Modbus、3964R等协议。 通过iXcom提供的协议框架,可以对通信协议进行扩展。 可靠传输方式下,支持电文的广播和多播发送。 提供对多种消息格式(ASCII和二进制)传输的支持;提

6、供快速可靠的面向事务处理的数据递送功能,保证数据的完整性和可靠性; 提供分布式(C/S和B/S)的管理平台,通过DNS服务和应用管理等方式,提供对iXcom的管理和监控。 4. iXcom的特点iXcom有以下特点: 支持多种操作系统,如IBMAIX、HP-UX 、Linux、Windows 2000/NT/XP/2003 等。 支持多种开发工具。iXcom在所有平台上都支持C、C+、Fortran和JAVA;在Windows 系列平台上,提供VB/Delphi/C# 等接口。 网络节点数的支持量大:网络节点数的支持可从数十个到上千个,具体上限的多少与主机的性能有关。 基于TCP/IP Soc

7、ket 。 支持客户/服务器(Client/Server)方式。 5. 基本概念5.1.应用与具体业务有关的程序,包括客户端处理输入输出的客户程序(Client)、服务端负责业务逻辑的服务程序(Server)。 5.2.节点节点就是通信程序的宿主主机。一个iXcom可以和多个节点通信。一个节点主要有五个属性:IP地址、Port号、通信规约、主机名称和主机代号。 IP地址 节点的IP地址,可以有备用IP地址。 Port号 节点通信程序的监听端口号 通信规约(Protocol) iXcom和外部主机互相通信的规约 主机名称(HostName) 标识节点名称,不大于8个ascii字符 主机代号(Ho

8、stDC) 标识节点代号,用做发送电文时的目的地,用2个ascii字符表示。 注:在本文章,没有特殊指名的话,节点和主机是同一概念。 5.3.电文在通信中间件之间传送的数据包,一般由电文头、电文体(数据块)和结束符组成。 其中电文头长度an1-2个字符,对于特定的通信规约而言,结束符是确定不变的。 数据电文(Data Message) 用于传送应用系统的数据块,iXcom不对该类型电文进行拆分,但该电文有可能被底层的TCP协议进行拆分和重组。 应答电文(ACK Message) 由通信的接收方发送,用于告知发送方电文是否已被正确接收。 心跳电文(Heartbeat message) 用于监视回

9、线和对方通信程序的状态,用作状态检测,双方可根据实际需要决定是否发送心跳电文。 注: 1. 应答电文是用于保证通信的可靠传输。 2. 控制电文、心跳电文是通信相关的电文,应用不用关心此类电文。 5.4.电文号用于标识一条电文的类型和目的,一般在电文头部中有电文号字 段。电文号是通信双方按业务划分共通制定的,它一般用长度不大于6位的ASCII字符表示。 5.4.1. 映射电文号用于历史问题等原因,可能在同一项目中出现电文号重复的现 象。为了便于应用方便处理电文,iXcom提供映射电文号的功能,应用可以根据需对每个电文号定义它的映射电文号,该映射电文号必须是全局唯一的,也就是说在同一项目中虽然电文

10、号可以重复,但映射电文号必须是唯一的。 注:若项目中有重复电文号,iXcom和应用之间的接口有如下约定: 1) 应用发送电文时,提供的电文号必须是映射电文号。当iXcom发送电文时,iXcom会把映射电文号转化成实际的电文号进行发送。 2) iXcom收到电文后,将把收到电文的映射电文号发送给应用,而不是原有电文号。 5.5.回线在通信程序双方之间建立的一条TCP 连接,一条回线既可以接收也可以发送数据。一般来说,通信双方通信程序之间需要建立两条回线。 一般情况下,在iXcom中采用的回线模式如下: 5.6.通信模式通常来说,XCOM间通信,双方都有一个客户端和服务端。甲方要发数据给乙方,甲方

11、XCOM的客户端把数据发给乙方的服务端。反之,乙方发数据给甲方,是乙方的客户端把数据发给甲方的服务端。 Socket类型 对应值 说明 WRITE C 客户端session读写:本方作为客户端,主动连接对方,连接建立后,该Socket连接可以发送电文。 READ S 服务器端session读写:本方作为服务器端,等待对方主动连接,连接建立后,该Socket连接上可以接收电文并且发送底层应答(按规约情况而定)。 READ_WRITE CS 客户端和服务端两个session都读写,融合以上两个session的功能。 5.7.主机名用于在通信时标识通信节点的主机名字。5.8.主机代号用于在电文收发时

12、标识发送方和接收方,一般在电文头部中有主机代号的字段,用2个大写ascii码字母表示。5.9.电文实时传输电文实时传输指电文必须在规定的时间内必须传递到目标节点。iXcom在规定时间内提供快速可靠的传输机制,保证消息传递的实时性和可靠性,但在异常(网络设备异常或对等机进程异常)时不保证消息的可靠传输。在异常情况下,应用发送给iXcom的电文数据将被丢弃,iXcom将给应用错误返回值,应用必须考虑电文重发或其它处理机制。 5.10. 电文可靠传输电文可靠传输指电文的传递在时间上无特殊的要求,在网络连通的情况下必须保证消息可靠的传递到目标节点。电文发送时,在遇到可恢复的故障(包括机器故障或网络故障

13、)情况下,通过后续重发电文能够保证消息的可靠传输。 5.11. 静态连接指通信双方建立的TCP/IP连接一直保持,直到停止通信程序或异常终止。当通信出现异常时,客户端必须具备重新连接服务端功能,保证通信的可靠性。静态连接示意图如下: 注:若通信规约不存在应答电文,等待应答阶段将不存在。 5.12. 动态连接动态socket通信是指计算机之间的TCP/IP连接方式是动态的,当一次通信结束后,计算机之间的连接随之关闭,下一次传送电文时,需要重新建立socket连接。如下图所示: (注:发送方在收到应答电文后必须关闭socket连接。)5.13. 队列在可靠传输模式下,队列是消息存储的地方。消息在收

14、发过程中将存储于队列中,可靠队列中的消息存储于数据库中,不可靠队列中的消息存储于内存缓冲区中。队列结构由消息索引和数据存储区等部分组成。iXcom 系统提供的队列基本类型为发送队列和接收队列。 5.13.1. 发送队列 发往目的地的电文存储在发送队列中,电文根据发送目的地(即主机代号)分别被放到不同的逻辑发送队列中,iXcom核心从发送队列中取出电文进行网络发送。 5.13.2. 接收队列 iXcom收到电文后,将根据发送方的设置(即主机代号)将电文放到相应的逻辑接收队列中。 5.14. 分组发送应用可以根据业务的需求把发往某一主机的电文号按业务进行分组。每个组看作一个队列,每一组电文有对应的组号(整数)。对应于每一个队列,iXcom有一个且同一时刻只有一个进程对该队列进行操作发送,队列与队列之间的电文是互不影响的,一个队列中的电文堵塞,不会影响其他队列的电文。 注:分组发送仅限于动态连接方式,不能用于静态连接方式。 5.15.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号