随锐旗下互动传媒:

易思博any@data数据交换应用服务器解决方案

http://www.weaseek.com  2006年10月18日 00:00:00   来源:搜讯网 发表评论

any@data与一般的远程数据拷贝程序和网络应用不同,它通过提供自动化的、可靠的、高效的、以及安全的数据交换服务,并籍此建立一个可扩展的、易管理的数据交换平台,为政府与企业的分布式计算、数据整合和关键业务整合提供有利的基础。

any@data是一个通用的数据交换应用服务器。它通过为客户应用信息系统提供数据传输服务,使应用程序之间进行快速可靠的数据交换,从而实现客户应用系统与数据信息的整合。它通过为应用程序开发人员提供应 用编程接口,使应用系统开发得到大大简化,工期得以缩减。并且,提高了程序的可移植性。

any@data与一般的远程数据拷贝程序和网络应用不同,它通过提供自动化的、可靠的、高效的、以及安全的数据交换服务,并籍此建立一个可扩展的、易管理的数据交换平台,为政府与企业的分布式计算、数据整合和关键业务整合提供有利的基础。

下图显示了采用any@data软件的应用方案。应用系统只要简单地将数据交给由any@data构成的信息交换平台,或从该信息交换平台提取数据,就可以完成分布式应用程序的功能。

版本

OnTeam V1.0产品配置列表如下:

any@data V3.0 for Windows Server 2000/2003

any@data V3.0 for Linux

any@data V3.0 for SCO OpenServer

any@data V3.0 for AIX

性能

服务器守护进程为7X24运行保证;

经过压缩和加密处理的单个数据包传输时间为4秒;

并发传输时,平均单个数据包为0.5秒;

平均传输效率 500 KByte/秒。

注:上述指标在PC Server和10Mb/s 局域网环境下测试得出。

体系结构

any@data的体系结构如下图所示:

在应用系统进行数据通讯时,应用进程通过any@data提供的应用接口函数,将原始数据转换为标准交换数据,然后放入队列中。any@data核心进程从标准交换数据队列中取出标准交换数据,通过数据传输系统将标准交换数据发送给接收者所在的any@data核心。接收者所在的any@data核心收到标准交换数据,就将其放到标准交换数据队列中,接收应用进程通过调用any@data提供的接口函数,从标准交换数据队列中取出标准交换数据。至此,一个标准交换数据传送完毕。

功能

1.交换平台的构建与管理

any@data软件允许用户依据业务需求灵活地表示节点(存储业务数据的主机)之间的数据流关系,并有效地完成数据的传输,从而形成能够满足业务需求的、平面或树状结构模式的信息交换平台。

any@data软件具有可扩展性,通过软件的名字解析功能及数据自动复制技术实现平台扩展的分布式管理。any@data软件提供的系统应用功能实现了平台管理的自动化。

典型的对等数据交换平台模型如图:

2. 数据可靠传输与断点续传

any@data可以将用户数据完整、准确、及时地从一个节点传递到远端的另一个节点。对于用户应用来说,数据传输过程是异步的、自动的,不需要用户关心其传输过程。

当因系统故障造成数据传输失败时,any@data能够从传输失败点接续发送该文件而不是将整个文件重新发送,这将大大提高网络带宽的利用率以及传输效率。

3.数据传输优先级

any@data能够按照用户预先对应用数据的分类和定义的优先级对用户数据进行不同优先级别的传输操作。

4.数据压缩

应用程序在向队列中提交发送文件时,可通过编程接口函数选择数据压缩功能。

5.资源控制

any@data的资源控制功能为用户提供了依据自己所拥有的硬件与网络资源定制传输效率的手段,该功能通过控制进程数和传输数据块大小参数来控制。

6.系统监控管理

any@data提供一套完整的监控和管理手段,来保证系统的正常运行和数据传输功能的实现。

7.系统进程和任务队列的监控与管理

系统进程的监控包括查看进程是否正在运行、或是处于故障状态。通过lping检测系统进程是否正常工作。当系统进程存在故障时,系统提供管理命令终止和重新启动系统核心进程。任务队列的监控包括检查队列文件本身的状况和队列内容。系统提供检查、修改任务项和删除无效任务的队列管理工具。

8.日志记录

any@data提供了完整的日志功能,包括日志信息的采集、查询,以及日志系统的配置与管理。用户通过此功能可以了解文件和消息传输的过程,及时发现数据传输过程中发生的问题。

日志信息由系统进程自动产生,并保存到日志文件中。日志信息分为系统运行日志,数据传输日志,用以记录系统的运行历史状态和数据传输的历史信息。

any@data提供了对日志数据库内容进行分类查询的功能。

any@data提供了日志系统的配置功能,以此控制日志信息采集、日志文件的大小、是否备份等选项。

9.应用接口API

应用程序可以通过调用any@data软件提供的应用程序开发接口实现数据传输。开发接口由C语言编写的若干基本函数组成。函数接口简单易用。应用编程接口应用关系示意图如下:

应用程序员利用数据交换平台做数据传输,需要做如下工作:

any@data系统管理员完成平台的节点配置工作,包括维护配置文件any_data.conf;维护全局应用配置文件app.conf;维护节点数据目录结构;

any@data系统管理员完成客户端的配置工作,包括维护配置文件any_data.conf;维护全局应用配置文件app.conf;维护节点数据目录结构;

普通用户配置,包括定义本地ANYDATALOCAL环境变量,以及目录结构和配置文件;

根据接口函数说明编制程序,并在普通用户权限下执行。

接口函数说明:

·初始化消息处理参数

void MsgOptInit(MSG_OPT *msg_opt);

该函数对于接收节点上的数据提供处理参数的初始化。

·日志参数初始化

void LogInit(char progname, char input_flag);

该函数初始化系统日志与数据传输日志库表参数。

·数据发送接口

int ClientSendFile(MSG_OPT msg_opt, char *filename);

该函数根据预先配置,将数据文件发往远端。

·数据接收接口

int ClientRcvFile(MSG_OPT msg_opt);

该函数显示节点上数据、并能够对其进行提取和删除操作。

软件特点

1.安全可靠

any@data从网络安全、主机安全、数据安全三个方面确保了用户数据在整个传输过程的安全。它通过采用PKI(Public Key Infrastructure)公钥基础结构平台的技术和规范来唯一标识网络中的合法计算机,以确保网络安全;它通过采用用户口令验证以及增强目录和文件访问权限的方法,确保主机安全;它通过采用了3DES加密算法对用户数据进行加密,确保数据安全。

2.系统效率高

any@data采用多线程、多进程方式处理数据传输,充分利用系统资源来提高系统的运行效率、降低系统资源的占用率,使系统更能适应传输数据量的突变性。

3.易管理

any@data安装方便、配置简单、接口简便实用、易维护。

4.低差错

any@data采用可靠队列等多种手段来保证数据传输过程中的正确和完整。

5.多平台支持

any@data已实现了多平台支持,包括Windows和多个主流UNIX操作系统。

配置需求

硬件环境: Intel x86架构PC 服务器,VGA兼容显卡,64内存(推荐128Mb),6G以上硬盘;

服务器操作系统:RedHat Linux 7.1以上版本

Microsoft Windows Server 2000/2003

SCO OpenServer 5.0.5

AIX 4.3.3

网络:TCP/IP通讯协议

附录

1.系统应用实例

下图表示的系统应用实例,适合于政府行政机构及相关部门的信息化管理系统,以及大型企业的生产和销售网络。安装在各级节点上的any@data软件通过灵活的配置管理,能够很好地表示客户数据的整合关系。例如,数据可以从政府管理部门的基层组织,或是企业的分支机构的业务系统采集,经过三级节点(当地系统)汇总到二级节点(上级主管单位),再由二级节点(各级主管单位)汇总上报到一级节点(总部)。从而为数据的统计、发布,以及更深一步的挖掘提供数据基础。

2.系统应用实例

数据发送程序实例(lsend.c)

#define MAIN

int main()

{

char fname[256];

MSG_OPT msg_opt;

strcpy(fname,"test.dat");

MsgOptInit((MSG_OPT *) &msg_opt);

msg_opt.send_request = 1;

msg_opt.data_type = 10030;

LogInit("lsend",1);

if( ClientSendFile(msg_opt, fname) != 0 )

{

fprintf(stderr,"Failure to send file to node.\n");

exit(1);

}

exit(0);

}

配置文件实例

app.conf

[10030]

DestNum = 1

DestUser1 = liep

DestNodeID1 = SUN

发送数据:$LIEPLOCAL/data/user/10030/output/test.dat

注:如果发送目录不存在,则在当前目录寻找test.dat。

数据接收程序实例(lrcv.c)

#define MAIN

int main()

{

MSG_OPT msg_opt;

MsgOptInit((MSG_OPT *) &msg_opt);

msg_opt.rcv_request = 1;

msg_opt.del_request = 1;

msg_opt.msg_number = 1;

/*

msg_opt.display = 0;

msg_opt.input_flag=0;

msg_opt.cat_type = 0;

*/

LogInit("lrcv",1);

/* Get data from LIEP node. */

if( ClientRcvFile(msg_opt) != 0 )

{

fprintf(stderr," Failure to receive file from node.\n");

exit(1);

}

exit(0);

}

接收数据:$LIEPLOCAL/data/user/10030/input/test.dat

注:如果接收目录不存在,则在当前目录创建test.dat。

Makefile编译文件实例

Makefile文件内容

CC = gcc

CFLAG =

INCLUDE = -I$(LIEPHOME)/include

LIB = -L/usr/lib/mysql -L$(LIEPHOME)/lib -lliep -lmysqlclient -lcrypto -lz -lbsd

all: lsend lrcv

lsend: lsend.c

$(CC) $(INCLUDE) $(CFLAG) -o lsend lsend.c $(LIB)

lrcv: lrcv.c

$(CC) $(INCLUDE) $(CFLAG) -o lrcv lrcv.c $(LIB)

clean:

-rm lsend lrcv

[责任编辑:]热门关键词:

相关文章

发表评论

  • 昵 称:
  • 匿名发表

>>更多评论

  • · 您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
  • · 留言板管理人员有权保留或删除其管辖留言中的任意内容
  • · Weaseek.Com提醒:不要进行人身攻击。谢谢配合。