通用数据交换方法

关键词: 水利

通用数据交换方法(精选三篇)

通用数据交换方法 篇1

近年来, 水利信息化建设取得重大成就, 各类水利信息系统的建设也在快速发展, 各级水利部门根据自身的需要分别建设了电子政务、防汛抗旱、水利普查、水资源管理、山洪、中小河流、水土保持、农村水利等多种水利业务应用系统。通过这些信息系统的建设和投入运行, 各级水利部门均积累了大量的水利信息资源和数据。如何让这些水利信息资源和数据在不同行业之间交换、不同水利结构之间共享、不同应用系统之间融合、不同层级之间业务协同, 为更高层面的综合性业务应用及综合性分析决策提供数据支撑, 必然涉及到数据交换。基于此, 目前有些水利部门根据自身特定的数据交换需求和已有的技术环境, 陆续建设了多种不同技术体系标准的数据交换平台。但由于现有各个水利部门采用的数据交换技术标准不一致, 平台环境各有差异, 很难实现不同行业、水利部门、层级、应用系统之间数据资源的广泛交换, 大大增加了水利行业数据资源在更大范围内交换共享的代价和难度, 为更高层次地提升水利信息化应用造成了技术障碍, 将直接影响未来水利行业信息化的有序发展。

因此, 构建一个水利行业通用性的数据交换平台, 满足不同水利部门之间更大范围、更深层次的数据交换共享, 已成为水利信息化建设的迫切需要。同时, 为推进水利信息化资源整合共享, 优化资源配置, 提升投资效益, 水利部信息化工作领导小组办公室组织开展了《水利信息化资源整合共享顶层设计》的编制, 明确提出“建立通用数据交换平台, 构建统一数据交换框架, 规范交换流程和方法, 形成统一数据交换机制”[1]。基于此, 重点针对水利通用数据交换平台 (以下简称数据交换平台) 的建设展开研究, 并对其在国家水资源监控能力建设项目中的应用实践进行总结, 对其未来发展进行展望。

1 总体分析

1.1 定位与目标

数据交换平台定位于服务水利行业, 能够实现不同交换对象、不同技术条件、不同结构数据、符合统一技术标准下的通用可靠的数据交换软件。主要实现以下目标:

1) 能够形成水利行业统一的数据交换标准, 逐步规范水利行业的数据交换体系, 满足水利行业统一数据交换的总体要求。

2) 能够实现水利行业不同层级水利部门之间、交换节点之间、应用系统之间数据资源的可靠交换与共享。

1.2 技术特点与要求

1.2.1 通用性的技术要求

通用性的技术要求具体包括:

1) 能够支持不同业务应用系统、不同特征的数据源、不同数据格式的数据交换, 满足水利行业不同业务系统所产生的存储于不同数据库和文件系统的结构化、半结构化和非结构化数据的交换与共享。

2) 能够支持同级、跨级水利部门的业务系统之间的数据交换, 满足水利部、流域、省, 以及地市、县级节点同级或者跨级之间不同业务数据的交换。

3) 支持水利不同网络域之间的数据交换, 保证水利部门政务内网和外网之间的数据交换。

4) 针对既有的数据交换系统, 可按照数据交换平台的规范, 把既有的数据交换系统接入到数据交换平台中, 成为水利通用数据交换体系中的一部分。

1.2.2 扩展性的技术要求

扩展性的技术要求具体包括 [2]21:

1) 支持交换层级的灵活扩展。数据交换平台需要支持数据交换层级的快速构建, 每一个层级包含一个数据交换管理中心, 管理该层级的所有交换节点。通过交换层级的动态扩展满足水利部、流域、省、地市、县级等多级节点之间的数据交换。

2) 支持交换节点的灵活接入。在数据交换平台运行的基础环境和网络通信资源满足要求的前提下, 数据交换平台能够支持交换节点的无限接入。在每一个交换层级下均可接入无限个数据交换节点。

3) 支持同级节点应用系统的动态接入。数据交换平台可以灵活地增加需要进行数据交换的业务应用系统, 以满足不同业务系统通过统一的数据交换平台完成数据交换的需要。

1.2.3 可靠性的技术要求

可靠性的技术要求具体包括 [2]25:

1) 支持不同网络传输条件下多种交换模式的高可靠传输, 保证交换数据在不同的网络条件下均能顺利达到目的节点。

2) 具备全交换过程的高管控性, 数据交换平台能够对数据交换的全过程进行监控, 并对出现的故障进行及时预警, 以确保交换过程的可控。

3) 支持断点续传与集群应用, 以保证数据交换任务增加及出现异常之后, 仍然能够保证数据交换的可靠性。

1.2.4 智能性的技术要求

智能性的技术要求具体包括:

1) 对数据交换过程中出现异常的环节进行自动预处理, 并能够及时通知数据交换平台维护人员。

2) 自动识别目标节点, 并智能选择最合适的数据交换链路。

3) 自动构建数据交换关系, 一旦增加数据交换节点, 将按照设定的规则自动构建数据交换关系。

4) 自动同步平台基础数据, 数据交换平台将根据不同层级的管理关系和限制条件, 自动过滤和同步数据交换相关的基础数据, 以保证数据交换的顺利实现。

2 技术模型

基于总体分析, 数据交换平台从技术设计层面将遵循“强化数据交换标准的形成, 平台与业务应用系统本身松耦合, 平台本身可扩展、可配置”的原则展开。从技术模型上, 数据交换平台遵循“邮局”模式, 数据交换平台充当“邮局”的角色, 数据发送方相当于货物的“邮寄方”, 数据接收方相当于货物的“接件方”。总体技术模型如图1所示[3]11。

1) 数据发送方。即“邮寄方”, 按照邮局的要求将货物打包, 选择邮寄方式, 填写邮寄单, 并将货物及邮寄单送达到当地邮局的接收柜台。映射到平台模型, 数据发送方需按照数据交换平台的交换协议规范要求开发适配器, 通过该适配器将待发送的数据进行打包, 并按照约定的标准接口调用数据交换平台的数据交换接收服务, 将待交换的数据送达到数据交换平台。

2) 数据交换平台。即“邮局”, 将接收到的数据按照发送方的要求, 选择可靠的网络路由, 送达到接收方, 承担数据交换和传输的核心作用。映射到平台模型, 数据交换平台将提供数据的临时存储及传输与交换;通过底层的数据传输机制对接收到的数据进行解包, 并按照数据交换要求调用接收方所提供的数据接收适配器。

3) 数据接收方。即“收件方”, 接收到邮局的邮寄单后, 按照邮寄单去邮局取货或者由邮局送货上门。映射到平台模型, 数据交换平台发送服务, 按约定的标准接口调用数据接收方的数据接收适配器, 将交换过来的数据发送给数据接收适配器, 由数据接收适配器做后续处理后传递给接收系统。

3 交换方式

依据数据交换技术模型, 结合目前水利数据类型与交换需求, 数据交换平台将提供同构、异构、非结构化数据交换共3类数据交换方式。交换方式如图2所示 [3]13。

1) 同构结构化数据交换方式。该方式主要适用于交换双方所交换的数据不仅为结构化数据, 而且交换双方存储管理这些结构化数据的数据库管理软件类型、版本号、数据库表结构、数据库表约束条件完全一致的应用场景。从技术实现上该交换方式主要由数据交换平台通过消息中间件, 按照消息传递的模式将待发送的数据组织成SQL语句, 送达到接收方, 接收方接到后直接执行SQL操作, 从而完成数据交换。

2) 异构结构化数据交换方式。该交换方式主要适用于交换双方所交换的数据为结构化数据, 但交换双方存储管理这些结构化数据的技术特性并不完全一致的应用场景。从技术实现上该交换方式主要由发送方将待发送的数据按照约定好的数据格式 (如XML、字符串、数据结构等) 重新组织, 然后由数据交换平台通过消息中间件, 按照消息传递的模式送达到接收方, 接收方对接收到的数据进行解析, 并完成后续的数据操作处理, 从而完成数据交换。

3) 非结构化数据交换方式。该交换方式主要适用于交换双方所交换的数据为非结构化数据的应用场景。从技术实现上该交换方式主要由发送方将待发送的文件列表及存放地址, 传递给数据交换平台的非结构化数据交换接收服务的客户端, 采用FTP方式将待发送的文件推送到数据交换平台的临时存储区, 然后由数据交换平台将文件通过FTP方式发送到数据交换平台的接收节点的临时存储区。由数据交换平台通知数据接收方, 通过FTP客户端获取交换过来的文件数据。

4 核心功能

数据交换平台的核心功能包括以下几点 [3]:

1) 信息注册管理。信息注册管理包括节点注册、系统注册、适配器注册、交换关系管理、业务域管理、数据分类注册。节点、系统和适配器的注册功能, 对节点的编码、名称和所属网络域, 系统编码、名称、所属节点, 适配器编码、名称、类型、适配器接口地址等信息进行注册管理;交换关系管理在需要进行数据交换的2个节点之间建立交换关系的功能。

2) 信息同步管理。信息同步管理包括节点、系统、传输通道等信息的同步。建立交换关系的节点, 以及节点、系统和传输通道信息, 目的是让数据发送方和接收方能进行相应的寻址。

3) 平台交换管理。对数据交换过程的后台服务进行全程管理, 管理内容包括优先级设置、数据传输、任务调度、消息队列和数据发送/接收等管理。系统管理员根据业务对数据传输优先级不同, 针对节点、业务系统和专项业务不同粒度进行数据交换的优先级进行设置;根据通道的分配进行自动和手动的调整, 以达到最优的任务处理和资源的合理分配;根据数据传输情况进行动态的添加, 以及队列内存的动态分配等, 以便合理安排数据高效的发送。

4) 数据交换监控。数据交换监控包含数据接收、传输、发送及系统状态等监控, 并通过一定的策略进行异常信息的处理, 如:异常通知、告警和处理等。

5) 数据交换统计。交换统计包含数据发送和接收统计。通过统计能够对数据交换体系内参与交换的对象, 包括节点、系统、数据类型等进行分析, 以便对系统优化调整。

5 应用模式

数据交换平台面向使用者将提供标准化和个性化的应用模式, 如图3所示[3]40。

标准化的应用模式主要适用于数据交换平台的使用者, 只需要用到数据交换平台本身提供的通用适配器 (如通用的文件发送和接收、内外网数据交换等使用的适配器) , 即可满足数据交换实际需求的应用场景。一般情况下如果数据交换的实际需求相对比较简单, 则可采用该种应用模式。

个性化的应用模式主要指数据交换平台所提供的通用适配器已经不能满足数据交换实际需要的情况下所采用的一种应用模式。针对该应用模式, 参与交换的双方节点需要根据业务系统实际的数据交换需求, 按照标准的技术接口要求定制开发发送和接收适配器, 最终完成实际的数据交换。

6 应用实践

依据数据交换平台的技术模型、交换方式及核心功能, 目前数据交换平台已经研发完成, 并在国家水资源监控能力建设项目中, 利用水利通用数据交换平台构建了省、流域机构及水利部之间的三级数据交换体系。数据交换平台的部分交换方式 (主要指同构结构化数据交换) 已经按照个性化的应用模式进行了实际应用, 实现了水利部、流域机构、省三级水利部门不同节点之间的水资源监测和管理数据的成功交换, 及三级之间水资源日常管理业务的应用协同, 如图4所示。

在国家水资源监控能力建设项目中, 在32个省、7个流域机构、水利部分别部署了数据交换平台, 流域/省级数据交换节点统一在水利部进行注册和管控;同时按照国家水资源监控能力建设项目的数据交换特性, 分别针对不同省、流域机构开发部署了数据交换适配器。由于在国家水资源监控能力建设项目中, 三级交换的数据基本以结构化数据为主, 但各个省、流域、水利部的数据库环境不尽一致, 因此, 主要采用同构和异构2种结构化数据交换方式。另外, 为保证未来地市/县与省之间的数据交换, 在国家水资源监控能力数据交换体系中, 也预留了地市/县级交换部分, 即未来也可在地市/县分别部署数据交换平台, 从而实现县、地市、省、流域机构、水利部之间的数据交换与共享。

国家水资源监控能力建设项目目前已经成功完成了省、流域机构及水利部之间的数据交换, 交换的数据主要包括取用水、水功能区、省界断面等的监测数据, 以及水资源业务管理系统的业务管理成果数据。通过在国家水资源监控能力建设项目中构建数据交换体系的成功应用, 为数据交换平台的研究成果进行了有效的技术实践。

7 结语

数据交换平台是实现水利数据资源在各个水利部门之间高效共享, 实现水利业务在不同层级之间协同联动的必要条件, 为各个水利部门节点提供了一条标准化的数据交换通道, 使水利数据资源在各个节点之间能够畅通无阻的流动, 从而为融合贯通、综合分析水利数据资源提供了可能, 是提升水利信息化综合应用水平的基础。针对数据交换平台的研究与实践, 将是一个长期而又复杂的过程, 涉及到标准规范、数据通信传输技术、数据资源体系等多方面的研究。真正要建设一个强大的水利通用数据交换平台, 还有很多问题需要继续研究解决, 如针对半结构化数据的交换、如何更进一步提高数据交换的实时性、更加丰富数据交换方式、更加提高数据交换的智能化程度等等。

在整个水利行业要建立一个完备的通用的数据交换体系, 这才仅仅是一个起步。在今后水利数据交换平台推广应用过程中, 有序、有效地构建交换服务, 完善交换方式, 扩展通用交换适配器, 对确保水利数据资源安全、可靠的交换共享至关重要。

参考文献

[1]水利部水利信息化工作领导小组办公室.水利信息化资源整合共享项层设计[R].北京:水利部水利信息化工作领导小组办公室, 2014:24.

[2]蔡阳.国家防汛抗旱指挥系统技术丛书:应用支撑与数据汇集平台[M].北京:中国水利水电出版社, 2012:21, 25-26.

浅谈科技数据跨平台程序交换方法 篇2

言,一般是先从工业年报字典库中导出科技年报名录库,然后再对导出的科技年报名录库进行手工操作,完成epras软件能接受的数据格式(此外还需要手工制作填报目录文件)。epras软件接收成功后才能在epras软件平台上进行录入处理。更为麻烦的是,从epras软件导出的数据需要导入到经济普查软件中进行处理,才能完成经济普查科技资料这块拼图。由于epras软件与经济普查软件数据表的结构不一样,再加上科技专业数据表的指标较多,要想依靠手工操作到达数据指标的一一对应,从而实现两者之间的数据交换无异于是在做一项巨大的工程。比如规模以上工业企业科技活动情况b107-2表,在epras软件中指标是横向排列的,而在经济普查软件中它又是纵向排列的,两者之间的指标数据结构实乃千差万别。有没有什么办法能实现科技数据在不同的软件平台中做到自动交换呢?笔者在实际工作中经过不断摸索,通过在foxpro环境下开发了两个接口模块,初步实现了上述目的,基本做到了科技数据跨平台自动无缝交换。下面就简单介绍一下这两个接口模块的使用方法:

1、下载ftp://10.42.31.10/incoming/人口处科技专业/kjzh.rar压缩软件包,展开到硬盘上。展开后会自动生成kjzh目录,在kjzh目录下你会发现还有jq、epras、jp三个子目录,其中jq子目录用来存放从久其软件中导出的科技名录库(名称统一起为jqkjmlk,注意你导出的名称要与其一致),epras子目录用来存放从久其软件中导出的科技名录库jqkjmlk经接口模块转换后生成的填报目录文件kjmlk01.csv和名录库数据文件kjmlk02.csv(导入科技名录库到epras软件中要用到),以及从epras软件中导出的所有科技专业名录库及数据文件(转换到经济普查软件中时需用到),jp子目录用来存放将epras软件中导出的数据经接口模块转换后生成的所有文件(经济普查接收时用)。

2、epras软件接收久其软件中导出的科技名录库方法:

⑴将久其软件中导出的科技名录库放入到kjzhjq目录下,起名为jqkjmlk(csv格式);

⑵执行接口转换模块软件jqtoepras.prg(鼠标双机即可),完成后你会发现kjzhepras目录下自动生成了两个文件kjmlk01.csv,kjmlk02.csv;

⑶进入epras软件平台“数据交换”界面,点击“文本数据导入”,点击“+”kjmlk01.csv文件,选择关联报表“填报目录”,点击自动对应(手指图形),点击执行导入(右边界面第一个图形)。完成后再点击“文本数据导入”,点击“+”kjmlk02.csv文件,选择关联报表“601法人单位基本情况表”,点击自动对应(手指图形),点击执行导入(右边界面第一个图形)。

3、经济普查软件接收epras软件中导出的科技名录库及数据的方法:

⑴从epras软件中导出科技名录库及数据(注意导出下列表的全部指标。

1、“基层表”、“601法人单位基本情况表”、“主表”;

2、“基层表”、“b107_1规模以上工业企业科技项目一览表”、“608”;

3、“基层表”、“b107_2规模以上工业企业科技活动情况表”、“主表”,具体方法在此不介绍)。导出数据放入到kjzhepras目录下,将其中最新更新的文件kj-l101_1-2009………….重命名为kj-l101_1,文件kj-l1071_l107_sub2-2009………….重命名为kj-l1071_l107_sub2,文件kj-l1072-2009………….重命名为kj-l1072。(都是csv格式);

⑵执行接口转换模块软件eprastojp.prg(鼠标双机即可),完成后你会发现kjzhjp目录下自动生成下列文件601.......000000.00.00,b107-1.......000000.01.00,b107-2.......000000.01.00,b107-2.......000000.99.00。将以上所有文件用zip格式压缩成一个文件(文件名随便起,如kj.rar)

通用数据交换方法 篇3

近年来随着信息化建设的不断推进,我国企业信息化和电子政务建设已经进入了一个新阶段。在信息化建设过程中,各个企业和各个部门都出现了多个独立系统并存的现象,这些系统出自不同的开发商,不同的技术架构,就必然造成数据不能交换,不能共享,即所谓的‘信息孤岛’问题。另外,随着我国电子政务各项工作的深入推进,以及网上企业年检、银税共享工程等一批信息化应用工程的建设,许多政府部门需要共享机关、企业、事业和社团等多种基础信息。目前整体的IT战略价值很难体现,信息交换与共享势在必行。

面对信息化过程中所遇见的这些困惑和需求,目前通常的做法是正面回避数据交换问题,而是在架构和平台层面,通过XML技术和Web service技术[1,2,3]进行数据、应用、业务和流程层面的整合,实现应用系统间的集成性、共享性、互操作性。面向服务的体系结构(Service-Oriented Architecture,SOA)作为开放的Internet时代IT体系结构新样式,虽然支持将业务作为链接服务或可重复业务任务进行集成、跨网络访问[3],但松耦合在带来应变敏捷性的同时,也给业务建模和服务划分带来难题,并且对集成遗留系统的工作始终是一个挑战。

文献[2]通过建立交换中心来管理交换节点的服务注册和异构数据映射,带来了实现和管理的复杂化。文献[4]通过邮件方式交换数据,但只是完成信息的整体添加。

在电子政务系统中,人们期望不同数据交换节点间以对等的方式进行;在接口中定义每个节点的标准数据交换平台的功能和逻辑表现,双方在对应的协议层次上进行对话。数据交换平台把本属各部门的异构数据联结起来,在统一的接口的基础之上,为每个单位的应用系统提供了全局的、透明的数据交换和共享。

本文通过参照网络信息交换的原理探讨建立一种基于Socket(套接字)的通用数据交换系统(Universal Data Exchange System)UDE,旨在达到像网络互联那样实现应用系统间数据共享、互操作的目的。该模型支持在各种技术环境中实现系统之间的消息交换,并能在不同的编程语言和操作系统中应用;对新业务需求的变化具有可扩充性;设计了一个面向模式的规则驱动的数据交换方法,该方法以关系模式为交换标准,所有XML描述格式都通过关系模式这一中间标准完成交换,同时对交换双方数据库的异构性进行了技术性统一。

2 系统设计原理

2.1 UDE概述

按照ISO/OSI参考模型,模型建立在协议的最高层—应用层,采取点对点对等通讯模式,由于是构筑在星状体系上的交换模式,所有的交换单体彼此是独立的、相互无关的。数据交换功能的直接体现包括获取、更新、添加、删除等内容。还包括信息的统一封装,即信息的打包和应用系统的统一编址,对传输的过程进行全程监控,提供日志、审计、会话管理、传输优先级设定、流量负荷分析等。在实际应用中采用如图1所示的连接方式。

UDE实现多线程,负责接收和发送,在完成数据的查询、修改的通信协议中,消息(Message)是数据交换的基本单位,通过消息传递的方式实现信息交换非常类似于网络的消息包传递方式。接收节点负责将消息解析成SQL语句,直接操作数据库完成数据交换。

2.2 UDE结构

UDE工作原理如图2所示:

2.2.1 Send/Receive module(发送/接收模块):

采用TCP/IP通讯协议,发送方即提起服务申请方向接收方发送消息数据包,信息格式为符合特定标准的XML字符串格式。接收方接收并解析协议包,将解析后的信息组合成操作数据库的SQL语句,更新数据库或提取符合条件的数据并返回。每次接收完成后回复发送端一个ACK确认信息,确认信息已经发送成功。

2.2.2 Message Parser/Builder module(消息包转换模块):

实现字符串格式数据与XML格式之间的相互转换,对信息格式进行检查验证,保证发送/接收数据的正确完整性。

2.2.3 UDE API module(应用接口模块):

参与数据交换的应用系统可以调用接口函数,按照规定格式填写参数,实现向其他应用系统发送数据。该模块也可以调用事件处理程序,接收其他应用系统的数据消息。

2.2.4 DB Wrapper Adaptor module(数据库转接模块):

支持各种常见数据库系统。在定义数据源连接时,增加一项数据库操作驱动配置,用于隔离不同数据库和数据库驱动的差异,使应用系统做到与数据库无关性,可以将应用系统方便地移植到任何其它数据库。

同时数据库适配器DBAdapter还负责:

维护Connection Wrapper对象集和映射连接:Connection Wrapper对象有名称和打开、关闭连接方法;

准备Connection:当申请连接的新Connection Wrapper在对象集中有同名对象,则直接取该同名对象映射的已申请过的连接作为当前连接进行数据库操作,否则调用新Connection Wrapper的方法取到连接作为当前连接,并将对象和连接映射关系放进对象集。

维护数据库操作的事务完整性:对每个Connection Wrapper进行提交和回滚,一旦出错自动回滚。

释放所有连接:除了通过正常方法释放外,在它被回收时强制进行所有连接的释放。

2.2.5 Fields Mapping module(关系模式定义模块):

采用ORM(Object Relationa Mapping,对象关系映射)方式,提供数据交换双方数据元的翻译对照功能,可以进行定制设置来提高系统的通用性,以系统唯一标识(PROCID)以区分各系统。目的是在异构关系数据库之间建立元模型统一数据的语义。

2.2.6 SQL Generator module(SQL语句生成模块):

根据数据库适配器DBAdapter和Fields Map,将消息转换成操作数据库的SQL语句,减少接口API的复杂度以及对旧数据库系统具有良好的兼容性。

2.3 消息定义

在UDE通信协议中,消息(Message)是数据交换的基本单位,通过消息传递的方式实现信息交换非常类似于网络的消息包传递方式。信息由以下几部分组成:

(1)信息头(Message Header):包含包长度和信息类型(Message type)。包长度用于判断消息是否接收完毕,在生成消息时自动添加。每种信息类型用于定义信息目的和用途,如REQ表示请求,ANS表示返回信息,ACK表示消息应答等。

(2)信息体(Message Body):是消息的主要载负,即关系模式定义,包含操作类型、字段类型、数据状态、数据等,使开发人员更为方便的定义与实现查询工作,例如查询分页功能的自动处理机制,查寻条件的逃逸处理机制,查寻条件的复合匹配机制等。定义如图3。

详细XML定义示例如下:

如上示例中的oper Type=‘ADD’表示对业务表PERSON进行insert操作,形成SQL语句为:

INSERT INTO PERSON(NAME,IDCARD,SEX,YEAROLD,EMAIL,BIRTHDAY)VALUES(′姓名′,′ID′,′2′,22,′zhaf@163.com′)。

oper Type=[add,updaate,delete,que ry],filte Level表示该字段是否为过滤字段以及级别,如为0则表示为普通数据,不为条件字段,级别相同且不为0的表示在形成条件语句时在一个括号内。Logic Oper为逻辑操作符(and或or),最后一个则忽略。Join描述多表间的连接关系。rows Per Page和cur Page实现分页处理。

3 系统应用

本文建立的基于消息的通用数据交换模型为应用系统间数据交换提供了理论依据。据此,某公司设计开发了一套医保经办机构与参保单位、定点医疗机构、定点药店、财税部门、银行、商业保险公司、学校、社区等的数据交换平台,实现了与各部门的互联。下面仅就银行代收费系统利用UDE数据交换模型的实现加以简单介绍。

1)消息传输模块:主要实现消息的发送和接收,采用客户机/服务器模式,采用TCP/IP协议进行通信,利用Socket编程实现网络通信。

在客户端通过构造一个Socket类来建立与服务器的数据流连接,以服务器监听套接字的IP地址和端口号为参数,连接套接字建立好后,建立套接字的输入、输出流,然后分别用read()和write()函数从套接字输入和输出流中进行读、写数据,进行和服务器端的双向通信。

在服务器端构造一个Server Socket类,然后利用accept()方法监听服务器的端口是否有客户端请求连接,如果有请求并连接成功,则创建套接字的输入、输出流,同客户端进行通信。

2)消息构造、解析模块:实现消息的解析和消息命令码的执行。

由于该系统功能相对简单、交换内容较为固定,将请求消息封装成几个操作码,如identity(get Fee(提取该参保人员的应缴费信息)、fee OK(缴费确认)、fee Return(取消回退)。其它类型消息按照模型格式设定。

3)数据库接口:主要实现对数据库的查询以及更新功能,通过嵌入式的SQL语句实现。

以下是系统部分关键Delphi示例代码:

该系统通过实现UDE模型,使交换双方的对接变得非常简单,交换系统不会过多地受技术环境的限制,如操作系统、应用服务器、组件支持环境等,能避免动态链接库的泛滥,较好的保持系统的干净程度。

4 结束语

本模型将数据交换的实质功能——数据提取和更新,通过消息包的形式传递服务请求,最终翻译成直接操作数据库的SQL命令,来屏蔽交换双方系统技术环境的差异,达到系统间对接容易、简单的目的。通过数据元对照和数据库适配器功能,屏蔽数据源异构性,实现数据表字段语义的一致性处理,达到系统通用性的效果。当双方需求有变化时,只需要更新双方的数据元对照信息即可,不会涉及再开发问题,仅仅是双方授权的交换内容的改变。

该模型能较好的解决应用系统间数据交换的问题,为在实际应用中达到较好的效果,还要在细节问题上多考虑,如数据压缩减少网络传输量,PKI机制实现身份认证,关系模式定义随着与之交换的系统的增多而增多问题等。

摘要:随着政府服务职能的加强和互联网应用的发展,应用系统间进行数据交换的需求日渐强烈。本文从数据交换的实质功能出发,屏蔽交换双方系统技术环境和数据源异构性,以XML格式的消息进行交换,将请求根据数据元对照翻译成语义一致的数据操作SQL命令,完成XML模式到关系模式转换,实现应用系统间数据交换的通用模型。最后简要介绍了模型在银行代收医保费系统中的应用,表明通过该模型实现应用系统间的数据交换简单、容易。

关键词:消息,数据元对照,XML,SQL,数据交换,电子政务

参考文献

[1]李冬睿,李梅等.一种电子政务数据交换模型的设计[J].微计算机信息,2010,2-3:154-155

[2]作者不详.PowerDX创智数据交换平台[EB/OL].[2009-02-18].http://www.powerise.cn/GSCP/DZZW/2009-02/20090218031726Info_326f80ccb516400a8c05cf174.html

[3]梅立军,付小龙,刘启新等.基于SOA的数据交换平台研究与实现[J].计算机工程与设计,2008,27(19):69-71.

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:数据交换技术教学设计 下一篇:煤矿砷污染防治