上海龙凤1314 shlf

XCOM

时间:2021-10-27 20:00:27 全科知识 我要投稿
  • 相关推荐

XCOM

创建XCOM共享空间,众人拾柴火焰高,让我们在此空间种子、浇水、开花、结果

iXcom技术白皮书

1. 前言... 1

2. iXcom简介... 2

3. iXcom的功能... 3

4. iXcom的特点... 4

上海龙凤1314 shlf5. 基本概念... 5

5.1. 应用... 5

5.2. 节点... 5

5.3. 电文... 6

上海龙凤1314 shlf5.4. 电文号... 7

5.4.1. 映射电文号... 7

上海龙凤1314 shlf5.5. 回线... 7

5.6. 主机名... 8

5.7. 主机代号... 8

5.8. 电文实时传输... 8

5.9. 电文可靠传输... 8

上海龙凤1314 shlf5.10. 静态连接... 9

上海龙凤1314 shlf5.11. 动态连接... 9

5.12. 队列... 10

5.12.1. 发送队列... 10

上海龙凤1314 shlf5.12.2. 接收队列... 11

5.13. 分组发送... 11

上海龙凤1314 shlf5.14. 分组接收... 11

6. 体系结构... 11

6.1. 系统核心... 12

上海龙凤1314 shlf6.1.1. 基础平台构件层... 12

6.1.2. 数据处理构件层... 13

上海龙凤1314 shlf6.2. 通信管理... 14

上海龙凤1314 shlf6.3. 应用适配器层... 15

1. 前言

上海龙凤1314 shlf本文档介绍宝信软件的中间件产品iXcom。iXcom属于消息通信中间件,它的主要功能是在应用程序间传递消息,这些消息可以在不同的通信协议(基于TCP/IP Socket)、不同的主机系统和不同的应系统。

iXcom提供简单易用、高效可靠的分布式应用开发和通信平台,利用它可以快速方便地开发可靠、高效的分布式应用。

上海龙凤1314 shlfiXcom提供远程监控和控制功能,可以方便的控制通信线路和得知通信运行状况。

iXcom提供对多种主流数据库的支持,支持Oracle,SQLServer等数据库。

上海龙凤1314 shlfiXcom提供对多种开发语言的支持,支持C/C++ , Java, .NET, VB , Delphi等语言。

2. iXcom简介

iXcom 是面向分布式应用的消息中间件,它为网络环境下客户机/服务器(C/S)结构的应用系统的开发和运行,提供了灵活和易用的基础平台。

iXcom提供两种通讯模式,实时传输模式和可靠传输模式。在实时传输模式上,iXcom提供快速地数据发送能力,但在通信出现异常时不能保证数据地可靠到达上海龙凤1314 shlf。在可靠传输模式下,iXcom提供可靠的数据发送能力,严格按照应用发送电文的先后顺序进行电文发送,保证电文的可靠传输。

上海龙凤1314 shlf一个iXcom 的基本工作示意图如图1 所示。应用程序分布在网络上的两个结点上,当应用程序之间要传送消息时,应用程序只需将消息电文号和消息的内容通过iXcom提供的接口传给iXcom。iXcom 便会利用网络结点上的各个iXcom运行系统组成的虚拟网,将消息输送到消息接收者所在的结点上,然后提交给消息的接收者。

图1

3. iXcom的功能

iXcom的主要功能如下:

上海龙凤1314 shlf提供端到端的实时通信服务。应用不必关心网络通信和其它的网络细节,应用只需关注应用业务层,减少学习和使用的难度。

上海龙凤1314 shlf提供端到端的可靠通信服务。适用于分布式环境下各种不同类型的应用开发,特别是对通信的可靠性要求较高的应用,提供多层次的异步通信机制。通信的应用双方在处理时间上可以互不相关,发送方在发送数据时接收方应用可以还未启动。

提供对发送电文的并发传输(通信规约必须是动态连接的)和接收电文的并发处理,适用于对效率要求比较高的业务领域。

提供简单易用、快速、高效可靠的分布式应用系统的开发平台,应用编程接口(API)简单且易学易用。网络异构环境和细节对用户完全透明并且支持多种网络底层环境,并提供了跨操作系统的C/C++/Java接口;

iXcom可以和具有不同通信规约的节点进行通信。

提供WebService,XML-RPC接口,可以和J2EE和.NET进行集成。

上海龙凤1314 shlf支持工业通信协议Modbus、3964R等协议。

通过iXcom提供的协议框架,可以对通信协议进行扩展。

可靠传输方式下,支持电文的广播和多播发送。

提供对多种消息格式(ASCII和二进制)传输的支持;提供快速可靠的面向事务处理的数据递送功能,保证数据的完整性和可靠性;

提供分布式(C/S和B/S)的管理平台,通过DNS服务和应用管理等方式,提供对iXcom的管理和监控。

4. iXcom的特点

iXcom有以下特点:

上海龙凤1314 shlf支持多种操作系统,如IBMAIX、HP-UX 、Linux、Windows 2000/NT/XP/2003 等。

上海龙凤1314 shlf支持多种开发工具。iXcom在所有平台上都支持C、C++、Fortran和JAVA;在Windows 系列平台上,提供VB/Delphi/C# 等接口。

网络节点数的支持量大:网络节点数的支持可从数十个到上千个,具体上限的多少与主机的性能有关。

基于TCP/IP Socket 。

上海龙凤1314 shlf支持客户/服务器(Client/Server)方式。

5. 基本概念

5.1.应用

上海龙凤1314 shlf与具体业务有关的程序,包括客户端处理输入输出的.客户程序(Client)、服务端负责业务逻辑的服务程序(Server)。

5.2.节点

节点就是通信程序的宿主主机。一个iXcom可以和多个节点通信。一个节点主要有五个属性:IP地址、Port号、通信规约、主机名称和主机代号。

IP地址

节点的IP地址,可以有备用IP地。

Port

节点通信程序的监听端口号

通信规约(Protocol

iXcom和外部主机互相通信的规约

主机名称(HostName

标识节点名称,不大于8个ascii字符

主机代号(HostDC

上海龙凤1314 shlf标识节点代号,用做发送电文时的目的地,用2个ascii字符表示。

注:在本文章,没有特殊指名的话,节点和主机是同一概念。

5.3.电文

在通信中间件之间传送的数据包,一般由电文头、电文体(数据块)和结束符组成。

上海龙凤1314 shlf其中电文头长度an>1-2个字符,对于特定的通信规约而言,结束符是确定不变的。

数据电文(Data Message)

用于传送应用系统的数据块,iXcom不对该类型电文进行拆分,但该电文有可能被底层的TCP协议进行拆分和重组。

应答电文(ACK Message)

由通信的接收方发送,用于告知发送方电文是否已被正确接收。

心跳电文(Heartbeat message)

用于监视回线和对方通信程序的状态,用作状态检测,双方可根据实际需要决定是否发送心跳电文。

注:

1. 应答电文是用于保证通信的可靠传输。

2. 控制电文、心跳电文是通信相关的电文,应用不用关心此类电文。

5.4.电文号

上海龙凤1314 shlf用于标识一条电文的类型和目的,一般在电文头部中有电文号字

段。电文号是通信双方按业务划分共通制定的,它一般用长度不大于6位的ASCII字符表示。

5.4.1. 映射电文号

用于历史问题等原因,可能在同一项目中出现电文号重复的现

上海龙凤1314 shlf象。为了便于应用方便处理电文,iXcom提供映射电文号的功能,应用可以根据需对每个电文号定义它的映射电文号,该映射电文号必须是全局唯一的,也就是说在同一项目中虽然电文号可以重复,但映射电文号必须是唯一的。

注:若项目中有重复电文号,iXcom和应用之间的接口有如下约定:

1) 应用发送电文时,提供的电文号必须是映射电文号。当iXcom发送电文时,iXcom会把映射电文号转化成实际的电文号进行发送。

上海龙凤1314 shlf2) iXcom收到电文后,将把收到电文的映射电文号发送给应用,而不是原有电文号。

5.5.回线

在通信程序双方之间建立的一条TCP 连接,一条回线既可以接收也可以发送数据。一般来说,通信双方通信程序之间需要建立两条回线。

一般情况下,在iXcom中采用的回线模式如下:

5.6.通信模式

通常来说,XCOM间通信,双方都有一个客户端和服务端。甲方要发数据给乙方,甲方XCOM的客户端把数据发给乙方的服务端。反之,乙方发数据给甲方,是乙方的客户端把数据发给甲方的服务端。

Socket类型

<></>

对应值

<></>

说明

<></>

WRITE

<></>

C

<></>

客户端session读写:本方作为客户端,主动连接对方,连接建立后,该Socket连接可以发送电文。

<></>

READ

<></>

S

<></>

服务器端session读写:本方作为服务器端,等待对方主动连接,连接建立后,该Socket连接上可以接收电文并且发送底层应答(按规约情况而定)。

<></>

READ_WRITE

<></>

CS

<></>

客户端和服务端两个session都读写,融合以上两个session的功能。

<></>

5.7.主机名

用于在通信时标识通信节点的主机名字。

5.8.主机代号

上海龙凤1314 shlf用于在电文收发时标识发送方和接收方,一般在电文头部中有主机代号的字段,用2个大写ascii码字母表示。

5.9.电文实时传输

电文实时传输指电文必须在规定的时间内必须传递到目标节点。iXcom在规定时间内提供快速可靠的传输机制,保证消息传递的实时性和可靠性,但在异常(网络设备异常或对等机进程异常)时不保证消息的可靠传输。在异常情况下,应用发送给iXcom的电文数据将被丢弃,iXcom将给应用误返回值,应用必须考虑电文重发或其它处理机制。

5.10. 电文可靠传输

上海龙凤1314 shlf电文可靠传输指电文的传递在时间上无特殊的要求,在网络连通的情况下必须保证消息可靠的传递到目标节点。电文发送时,在遇到可恢复的故障(包括机器故障或网络故障)情况下,通过后续重发电文能够保证消息的可靠传输。

5.11. 静态连接

指通信双方建立的TCP/IP连接一直保持,直到停止通信程序或异常终止。当通信出现异常时,客户端必须具备重新连接服务端功能,保证通信的可靠性。静态连接示意图如下:

注:若通信规约不存在应答电文,等待应答阶段将不存在。

5.12. 动态连接

上海龙凤1314 shlf动态socket通信是指计算机之间的TCP/IP连接方式是动态的,当一次通信结束后,计算机之间的连接随之关闭,下一次传送电文时,需要重新建立socket连接。如下图所示:

上海龙凤1314 shlf(注:发送方在收到应答电文后必须关闭socket连接。)

5.13. 队列

在可靠传输模式下,队列是消息存储的地方。消息在收发过程中将存储于队列中,可靠队列中的消息存储于数据库中,不可靠队列中的消息存储于内存缓冲区中。队列结构由消息索引和数据存储区等部分组成。iXcom 系统提供的队列基本类型为发送队列和接收队列。

5.13.1. 发送队列

发往目的地的电文存储在发送队列中,电文根据发送目的地(即主机代号)分别被放到不同的逻辑发送队列中,iXcom核心从发送队列中取出电文进行网络发送。

5.13.2. 接收队列

iXcom收到电文后,将根据发送方的设置(即主代号)将电文放到相应的逻辑接收队列中。

5.14. 分组发送

上海龙凤1314 shlf应用可以根据业务的需求把发往某一主机的电文号按业务进行分组。每个组看作一个队列,每一组电文有对应的组号(整数)。对应于每一个队列,iXcom有一个且同一时刻只有一个进程对该队列进行操作发送,队列与队列之间的电文是互不影响的,一个队列中的电文堵塞,不会影响其他队列的电文。

注:分组发送仅限于动态连接方式,不能用于静态连接方式。

5.15. 分组接收

应用可以根据业务的需要把来自同一主机的电文按业务进行分组。每个组看作一个队列,每一组电文有对应的组号(整数)。对应于每一个队列,iXcom有一个且同一时刻只有一个进程对该队列进行操作发送(发送给应用,如Tuxedo),队列与队列之间的电文是互不影响的,一个队列中的电文堵塞,不会影响其他队列的电文。

6. 体系结构

本节描述iXcom的基本组成和运行方式。

在应用系统进行数据通讯时,应用进程通过iXcom接口函数,将电文放入队列中。iXcom 核心进程从队列中取出消息,根椐电文中的电文号,通过iXcom 之间(或与其它通信程序)建立的数据通道,将该电文传送到接收者所在iXcom(或其它通信程序)。接收者所在的iXcom上海龙凤1314 shlf 核心收到电文后将电文写入接收队列中,接收应用进程通过调用iXcom的接口函数,从接收队列中取出电文。至此,一个电文传递完毕。

6.1.系统核心

上海龙凤1314 shlf系统核心由两大部分组成,即基础平台构件层和数据处理构件层。

6.1.1. 基础平台构件层

基础平台构件层由以下几部分组成,包括事件分派、socket传输、进程管理、数据库连接池和线程池。

事件分派

事件分派主要工作是建立socket连接、维护监控通信链路;从通信链路中读取数据并分派给协议插件。

Socket传输

上海龙凤1314 shlf应用电文发送和处理。

进程管理

进程管理主要工作是管理和维护iXcom的各进程。

数据库连接池

数据库连接池主要工作是在电文可靠传输模式下,提高数据库访问速度的效率。

线程池

线程池主要工作在于提高在并发处理电文时的处理效率。

6.1.2. 数据处理构件层

上海龙凤1314 shlf数据处理构件层由以下几部分组成,包括电文交换、

上海龙凤1314 shlf电文时序控制、数据转换、协议插件和异常处理。

电文存储

上海龙凤1314 shlf电文存储包括电文的写入和读取。当收到一条电文时,iXcom要把它写入数据库,以便后续的应用处理;当有待发数据时,iXcom要从数据库中读取相应的数据,然后通过基础平台层发送给目的地。

电文时序控制

上海龙凤1314 shlf若应用电文存在业务关系,iXcom发送电文是严格按照应用写入电文的先后顺序进行电文发送。

数据转换

上海龙凤1314 shlf当电文中存在二进制数据时,iXcom可以通过该电文号所对应的转换格式把该电文内容全部转换成ascii码电文,方便应用的处理。

协议插件

异常处理

上海龙凤1314 shlf当iXcom收到异常数据时(如电文号不对等),会给对方发送底层负应答电文。

6.2.通信管理

上海龙凤1314 shlf通信管理主要由几部分组成,包括运行管理、平台监控、配置管理和日志管理。

运行管理

通过运行管理功能,可以启动和关闭回线,可以置回线开启和关闭状态。

平台监控

通过平台监控,可以实时获取当前通信状态(在线或离线)。

配置管理

通过配置管理:

可以查看当前主机配置信息,可以查看当前电文号配置信息。

上海龙凤1314 shlf可以修改原有主机信息(比如IP地址或port号),可以增加电文号,可以新增回线。

日志管理

上海龙凤1314 shlf通过日志管理,可以查看各条回线的通信状态信息,从而进行通信跟踪维护和排障。

6.3.应用适配器层

应用适配器是应用和iXcom进行沟通的桥梁,应用通过适配器

把待发数据发送给iXcom进行处理;iXcom通过适配器把待处理数据发送给应用进行处理。

【XCOM】相关文章: