用Delphi建立通讯与数据交换服务器—Transceiver技术剖析(上)
引言
在国内常见的信息化开发及实施项目中,大多数开发的工作量都集中于为适应不同客户的需求差异,对特定模块进行修改,最终达到客户期望的软件功能特性。但是对于开发厂商来说,面对不同的客户开发不同的软件版本,将导致重复劳动、成本上升、维护量加大、兼容和稳定性下降等一系列问题。所以,开发者认识到实现软件的产品化,才能具备较短的项目周期与较强的市场竞争力,尽可能地适应不同客户的需求,而不会因此而泥足深陷,是客户满意度与商业利益的一个平衡点。
Transceiver 概念
Transceiver 就是为满足不同应用程序和业务项目具有差异性的通讯需求而设计开发的通用通讯产品化软件。可用于在多个应用系统间进行平台中立应用中立的统一管控的通讯和数据交换,设计初衷就是为了减少通讯模块的重复开发与增强通讯软件的集中管理。通过将发送(Send)与接收(Receive)抽象为等同的一个从信源(Source)到信宿(Target)的数据流过程,集成现有常用通讯方式的收发处理,及对通讯异常的容错缓冲处理(Queue),构成了Transceiver 足以满足企业级通讯需求的强大功能。
以下为Transceiver 应用举例
通讯方向
|
信源(Source)
|
缓冲(Queue)
|
信宿(Target)
|
实现功能
|
C1.发送数据
|
S1.从本地FILE获得
|
如信宿出现异常,数据可在Transceiver中缓冲,并由Transceiver负责重发
|
T1.提交到远端TCP端口
|
向远端传输文件
|
C2.接收数据
|
S2.从远端POP3获得
|
T2.提交到另一SMTP账号
|
邮件转发
|
C3.发送数据
|
S3.从本地DB获得
|
T3.提交到远端HTTP页面
|
从数据库读取并提交到网页
|
C4.接收数据
|
S4.从远端FTP获得
|
T4.提交到本地COM进行处理
|
从远端获取并交由COM处理
|
C5.接收数据
|
S5.从远程DCOM获得
|
T5.提交到本地MSMQ队列
|
从远程组件获取存入消息队列等待处理
|
在Transceiver 中信源(Source)和信宿(Target)都被统一视为端口(Port),如S1~S5、T1~T5,它们都是由Transceiver在运行时创建和管控的通讯组件;而类似C1~C5的几个通讯过程定义被视为信道(Channel),一个可以完成基本通讯功能的Channel由两个Port构成(一个为Source,一个为Target) ,Queue为通讯异常时的容错处理层。
如表所示,Transceiver 可以为发送/接收两类通讯过程提供全程支持。并且对信源和信宿的类型、数量和对应关系不做任何限定,可以自由设置Source与Target的匹配关系。以上表格只是列举了Transceiver通讯功能的几个用例,Transceiver抽象整合了Application、Data和Protocol三个层面的数据通讯元素,可以适应复杂多变的通讯需求,为应用程序的通讯需求提供最大化的灵活性和重用性。
附图1: Transceiver 通讯端口(Port)的交互能力
1. LAN/WAN、不同操作系统/应用系统间的数据发送(Send)/接收(Receive)服务
???? Transceiver目前可支持的通讯端口(Port)有:
通讯方式
|
交互层
|
发送端
|
接收端
|
推荐环境
|
TCP
|
协议
|
√
|
√
|
企业快速以太网/没有防火墙的网络
|
FTP
|
协议
|
√
|
√
|
网络间的文件传输/具有文件服务器的环境
|
SMTP
|
协议
|
√
|
|
B2C情况/具有邮件发送服务器
|
POP3
|
协议
|
|
√
|
B2C情况/具有邮件接收服务器
|
HTTP
|
协议
|
√
|
√
|
跨越防火墙的网络/Internet环境
|
FILE
|
数据
|
√
|
√
|
从本地文件读取/写入到本地文件
|
MSMQ
|
数据
|
√
|
√
|
与大型主机等其它系统/不同应用间
|
DB
|
数据
|
√
|
√
|
定制的数据库结构下/不同应用间
|
COM/DCOM
|
应用
|
√
|
√
|
业务逻辑映射到专用模块接口/有特定数据处理需求的环境
|
?
正如Transceiver 应用举例所示,按Transceiver对Port和Channel的定义,以上Send/Receive两端各八种Port自由组合,即可实现8x8共64种灵活的通讯方式,足以满足复杂多变的企业应用通讯环境。
注:由于UDP协议的需求环境与TCP类似而缺乏连接安全性,所以作者没有专门实现,如有需要可以灵活增加;而在应用层面,用Delphi也很容易实现CORBA和EJB的组件接口(Port),成为Transceiver Shell的有机组成部分。
2. 用于缓冲处理的Queue机制,可对通讯异常情况进行数据缓冲队列跟踪与数据重发。
?3. 数据日志记录,可对数据的时间、内容、来源、去向、缓冲次数、当前状态 进行全程记录。
?4. 多语言支持,提供数据转换与用户界面的多语言支持接口,用户可根据语言需求自由添加界面语言类型和数据转码组件。
?
Transceiver 实现
Transceiver由Transceiver Service和Transceiver Console两部分组成, Transceiver Service又可划分为Transceiver Kernel和Transceiver Shell两个逻辑层。
附图2: Transceiver 设计架构
一、??????????? Transceiver Console简介
Console的功能是以控制面板应用程序形式为Transceiver Service提供有效的Port、Channel定义与规则以及对传输日志、数据队列、环境参数等进行设置,不通过Console,用户也可以通过直接修改Transceiver的系统配置库和注册表对上述内容进行手工设置,限于篇幅,只向大家提供三幅截图,说明界面多语言动态支持、Transceiver Shell Port定义、Transceiver Channel定义三个方面的运行效果,实现细节不做赘述。
附图3: Transceiver Console的多语言动态支持(附图4、5界面语言均不同)
附图4: 通过Transceiver Console为Transceiver Server定义通讯Port
附图5: 组合SourcePort和TargetPort为Transceiver Server定义通讯Channel
分享到:
相关推荐
总之,使用Delphi创建通讯与数据交换服务器是一个综合性的过程,涉及到网络编程、数据处理、安全性等多个方面。熟练掌握Delphi的网络组件和相关库,将有助于我们快速构建高效、可靠的服务器应用。
"Media Transceiver Stream"的实现往往涉及到复杂的协议和标准,如SRTP(Secure Real-time Transport Protocol)用于加密和保护媒体数据,ICE(Interactive Connectivity Establishment)用于穿越NAT(网络地址转换...
当两块FPGA通过GTX接口进行数据交换时,可能会遇到数据与码不齐的问题,这主要是由于时钟偏移、数据传输延迟、系统时钟频率不一致等因素导致的。这些问题如果不解决,将导致数据丢失、错误或者无法正确解码。 3. *...
《On-Board Communication via CAN without Transceiver》这篇应用笔记为嵌入式系统中的数据交换提供了一种新颖而实用的解决方案。虽然这种方法存在一定的局限性,比如最大布线长度较短以及抗噪声能力较弱,但对于...
**RS-485传输控制:理解与应用** RS-485是一种广泛应用于工业通信中的电气接口标准,尤其..."RS-485 Transceiver Control.vi"提供了一个具体实例,可以帮助开发者学习如何在LabVIEW环境中实现RS-485的控制和数据交换。
Quartus Transceiver指南是一份详细解释和指导如何在Altera公司的Cyclone IV FPGA中使用串行收发器的文档。Cyclone IV FPGA系列由Altera公司设计,提供了一种低成本的解决方案,它包含的硬件资源能够满足不同高速...
### 5.8 GHz RF Transceiver LSI 包含片上匹配电路的关键技术与应用 #### 概述 本文档介绍了一款完全集成的5.8 GHz 频段射频(RF)收发器LSI(大规模集成电路),该芯片主要用于电子收费系统(Electronic Toll ...
计算机网络与数据通信是现代信息技术发展的重要组成部分,它们在社会信息交换中起着不可或缺的作用。自从第一台数字电子计算机在1946年诞生以来,计算机与通信技术的发展密切相关。早期的计算机主要采用“计算中心”...
6. **电源电压范围**:支持2.1V至3.6V的操作电压范围,便于与不同类型的电源配合使用。 7. **可编程特性** - 可编程的前导码和包起始模式,增加了数据包的灵活性。 - 支持固定长度或可变长度的数据包。 - 可编程...
USB 2.0技术在信息技术领域中占有重要地位,因为它为设备间的数据交换提供了高效且便捷的解决方案。 USB 2.0标准于2000年推出,是USB 1.1的升级版,旨在显著提高数据传输速率。USB 2.0的最大理论传输速率为480 Mbps...
《Altera Transceiver PHY IP Core User Guide》是一份详细介绍Altera公司高速收发器物理层PHY IP核使用的手册。手册内容全面,介绍了协议特定的收发器PHY、原生收发器PHY、非协议特定收发器PHY、收发器模块以及收发...
USB系统使用差分信号进行数据传输,因为差分信号具有更好的抗干扰能力,能提供更高的信号完整性。然而,USB还需要单端信号来处理特定的控制信号,例如识别数据包的结束、设备的连接与断开、速度检测和恢复信号等。单...
无线收发机设计精通现代无线设备与系统设计=WIRELESS TRANSCEIVER DESIGN MASTERING THE DESIGN OF MODERN WIRELESS EQUIPMENT AND SYSTEMS_14181946.rar
在无线网络中,使用多天线技术可以增强信号覆盖范围、提升数据传输速率和改善链路质量。 4. **集成的以太网交换机/PHY**: 芯片内嵌5端口10/100以太网交换机/PHY,支持物理层的以太网通信,并且能够实现不同网络端口...
一个高效的无线收发器能够在接收和发送无线电信号的同时,将其转换为数字信号,以便进行进一步的处理和分析,比如信号调制解调、放大、滤波等,而这些处理通常涉及到模拟与数字信号之间的转换。 在描述这本书的时候...
这些器件通常用于建立设备间的通信链路,确保数据的高效、稳定传输。 C++Builder是一个强大的开发环境,主要支持C++编程语言,用于创建桌面应用。通过将Maxim的IntLib库导入到C++Builder项目中,开发者可以轻松地...
"博通ETC OBU Transceiver" 博通ETC OBU Transceiver是博通公司设计的一款高性能的电子道路收费系统(ETC)收发器,专门应用于自动道路收费系统。该产品符合GB/T 20851.1-2007和GB/T 20851.2-2007标准,支持ASK调制...
# IEEE 802.11 OFDM-based transceiver system This repos contains the implementation of IEEE 802.11 (i.e. Wifi) OFDM-based transceiver system. This is stored in 2 separate parts, i.e. transmitter (TX) ...
光通讯技术是现代通信系统中的核心组成部分,涉及多种器件和参数。本文主要关注光通讯产品的基础知识,特别是光芯片、TO封装、OSA组件以及光模块的相关知识。 首先,光芯片是光通讯的基础,它们通常包括激光二极管...