非连接C_S计算模式数据同步解决方案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第21卷第3期洛阳工学院学报Vol.21No.3 2000年9月Journal of Luoyang Insti tute of T echnology Sept.2000
文章编号:1000-5080(2000)03-0039-04非连接C/S计算模式数据同步解决方案
刘勇1,刘跃敏1,沈琼玉2
(1.洛阳工学院计算机科学工程系,河南洛阳471039; 2.三赛软件公司,河南洛阳471039)
摘要:非连接客户机/服务器计算模式是一种较为常见的体系结构。
其具体特点是系统中各客户机离线
运行,只是在合适的时刻进行远程数据的同步。
同步要求包括两个方面,一是工作站业务数据送入服务器
外,二是借助于服务器将有关业务数据传送给其它客户机。
本文以一个实际的非连接客户机/服务器系统
设计为依托,较为祥细地介绍了利用/电子通知对象0进行数据同步的一种解决方案。
通过对国内相关资
料的检索证实该方案属于技术创新,并且现实系统运行正常、良好,进而证明了该方案的正确性。
关键词:数据库管理系统;数据库;数据处理;非连接客户机/服务器计算模式;同步;三层模型
中图分类号:TP311.132文献标识码:A
0引言
在分布式应用程序系统中,非连接客户机/服务器计算模式是一种很重要的体系结构。
在这种模式下,客户机应用程序允许用户离线使用,只在需要的时候才将本地数据与后端服务器数据进行同步,这种数据分布方式有利于减缓使用过程中的数据瓶颈问题,但如何保证系统内数据的同步却是较为复杂的处理[1]。
数据同步除了保证工作站与服务器数据的一致以外,还要保证各工作站之间业务数据的一致和同步。
微软提出的同步方式是采用其推出的微软消息队列即MSMQ来实现。
但其不利之处在于三个方面:一是需要在服务器端和客户端加装MSMQ服务,增加了服务器的负担,也增加了客户程序发布和维护方面的难度;二是编程人员需要深入API编程,加大了编程的复杂性,同时消息控制有时需手工干预;三是MSMQ属于微软产品,应用程序必受制于微软的平台。
本文将给出一个具体的面向组件构造程序的数据同步解决方案。
该方案实现简单,容易维护,整个处理过程不需要用户干预,而且可应用于任何一个开发平台,对开发非连接分布式应用系统有很高的参考价值。
本文实例中系统模型采用三层结构,同步方案实现的主体是/电子通知对象0,它即标志了各工作站业务的发生,也是整个系统进行数据同步处理的主要依据。
1实例模型
下面提供的数据同步解决方案基于如图1所示的三层模型体系结构[2~3]。
客户机本地的数据存储采用微软公司经过两次改版推出的功能强大、性能稳定的Access桌面数据库。
后端数据库采用MSSQL Server大型数据库管理系统,它可以支持上千用户的并发使用,性能稳定可靠。
客户机端的收发组件用于将本地Access数据库的业务数据送给服务器端的中间层业务组件,由该服务器组件写入SQL Server 后端数据库。
同时客户机端的收发组件通过向服务器端的组件发消息,提取属于自己的业务数据,然后写入本地Access数据库。
在该系统中,各工作站独立运行,其所有业务数据均要送入服务器数据库,以便上级单位随时查询和控制。
上级单位对下级单位的业务控制数据也要送入服务器,并由相应客户机去提取。
两个工作站之间的业务交往也通过服务器数据库进行消息和数据的传递。
由于采用分布式应用,各工作站离线工作自成体系。
为方便程序的维护和升级,我们采用微软推出的ActiveX组件技术,将客户机程序按组件进行组织,组件采用二进制兼容方式,这样就可从网上下载升级组件到客户端,覆盖原有组件便可完成程序的升级,非常方便[4]。
作者简介:刘勇(1966-),男,讲师.研究领域为软件工程和面向对象技术.
收稿日期:2000-03-03
2 实现思路
在系统中增加一个电子通知对
象,每个工作站设计一专门数据收发
组件。
电子通知对象与用户业务活
动一一对应。
电子通知对象属性中
有业务种类标志,根据该标志可以控
制数据收发组件程序将不同业务单
图1 三层结构计算模型组件配置图据送至服务器组件。
电子通知对象属性中还设有接收者信息,这样就可以通知相关的工作站从服务器
上提取自己的业务数据写入本地数据库。
3 基于组件编程的实现
3.1 设计电子通知对象
电子通知对象的特征层[5]表示如图2所
示。
3.2 电子通知对象属性介绍
(1)电子通知编号:各工作站都将产生电子
通知,数据库服务器的所有电子通知均放在同
一个表中,为了避免服务器上电子通知记录关
键字冲突,
可以给各工作站制定一个系统内唯
图2 电子通知对象一的ID 号,电子通知编号采用工作站ID 号+xxxxx(五位序号)的方式就可保证工作站产生的每一个电子通知是唯一的。
(2)类别:这是非常关键的字段,它将指导数据传递和接收的规则。
不同的业务应该产生不同类别的电子通知。
这样发送和接收电子通知的组件才能正确地处理业务数据。
比如下达年度计划可用FND1来表示,签发IC 卡可用FQK1来表示等等。
发送电子通知和接收电子通知组件将依据不同的电子通知类别进行相应的业务数据处理。
(3)ID 号:这也是非常关键的字段。
客户机端和服务器端的收发组件将根据该ID 号到相应表中提取业务主表信息,然后进行业务处理数据的展开。
(4)处理成功标志:如果在数据传递或接收过程中,因为网络和组件等的原因造成处理失败,此时处理成功标志仍然应该是False 。
只有当处理成功时,才能将该标志置为真,这样便可以避免重复处理。
(5)发送者、接收者:用以标识工作站的唯一标识。
3.3 电子通知对象方法介绍
(1)写发送电子通知。
客户机用户操作的每一笔业务都将对应一个电子通知,在事务中应该卷入该方法,保证业务数据和电子通知数据的同步。
(2)写接收电子通知。
客户机端的收发组件从后端数据库提取所有接收者为本地工作站标识的电子通知,然后调用该方法写入本地数据库。
(3)取发送电子通知。
将所有处理成功标志为False 的电子通知全部提出来。
(4)取接收电子通知。
将所有处理成功标志为False 的从服务器上接收下来的电子通知全部提出来。
3.4 发送电子通知的处理过程
根据文献[5]介绍的方法绘制发送电子通知处理对象交互图。
见图3所示。
3.5 接收电子通知的处理
接收电子通知处理对象交互图。
见图4所示。
3.6 性能分析
(1)电子通知方式传递消息,各工作站之间按照规则进行交互,对用户透明,比采用电子邮件方式更安全可靠,也降低了对用户操作的要求。
#40#洛 阳 工 学 院 学 报 2000
图3
发送电子通知处理对象交互图
图4 接收电子通知处理对象交互图
(2)电子通知收发运行的成功与否,直接关系到整个分布式系统的数据一致性,及业务运作的流畅。
它将直接指导用户合理地利用电子通知的执行与其它工作站进行业务交互。
为此系统中必须提供较详细和全面的电子通知功能注释。
电子通知收发失败后应该为用户提供较为详尽的错误日志,方便用户及时了解失败的原因,以决定采取下一步的行动。
#
41#第3期 刘 勇等:非连接C/S 计算模型数据同步解决方案
(3)给用户提供发送成功电子通知和错误日志的清除功能,以免影响系统性能。
(4)从客户端向服务器传送的过程是以业务单据为准,传递所发生的业务单据,然后在服务器端以单据为准进行业务展开,减少了网上传输,传送方案高效且合理。
4 结束语
在Internet 技术飞速发展的今天,虽然胖服务器、瘦客户机的模式逐步得以发展和推广,但因为业务复杂性、地理位置分布等因素,使得非连接的客户/服务器计算模式还将继续存在下去。
本文提出一种切实可行的数据同步方案有着非常现实的意义。
参考文献
[1] Don Benage,Azam ing Visual Studio[M].北京:电子工业出版社,1998.
[2] Dan Rahmel,Developing Client/Server Application with V i sual Basic 4[M].北京:机械工业出版社,1997.
[3] Craig J C,Webb J.Microsoft Visual Developer .s Workshop[M].北京:电子工业出版社,1997.
[4] Bertrand Meyer.Objet-oriented Software Cons truction[M].北京:清华大学出版社,1998.
[5] 邵维忠,杨芙清.面向对象的系统分析[M].北京:清华大学出版社,1999.
A Scheme of Data Synchronization Using the
Non -connecting C/S Calculating Model
LIU Yong 1,LIU Yue -Min 1,SHEN Qiong -Yu
2(1.Dep.of Comp.Sci.Tec hnol.,Luoyang Inst.of Technol.,Luoyang 471039,China;2.Sunshine Software Corp.of Luoyang,Luoyang 471039,China)
Abstract:Non -connecting client/server calculating model is a general system structure.The feature of the structure is that every client c omputer runs out of line.Only at the suitable time will it synchronize with re mote data.The synchronization requires two parts:one is that the vocational data of the workstation will be sent to the server,the other part is that the c orresponding data will be sent to the other client computers by the server.This paper introduces a prac tical scheme of data synchronization by using -electronic notice object .after the design of a practical client/server system.It is proved that the system runs normally and is an innovation.
Key words:Databases management systems;Databases;Data processing;Non -connecting client/server calculating mode;Synchronization;Three -level model #42#洛 阳 工 学 院 学 报 2000。