e-works数字化企业网  »  文章频道  »  产品创新数字化(PLM)  »  PDM/PLM

基于PDM的异地数据库同步系统的设计与实现

2013/1/22    来源:万方数据    作者:杨莉  易龙  彭义兵      
关键字:PDM  数据库同步  c#  混合结构  
解决软件的异地数据库同步问题是现代应用软件需要重点突破的一个技术壁垒。本文提出了基于Web Service的数据库同步的策略,解决了武汉开目公司的PDM用户的企业扩大后,主公司和分公司的异构数据库同步的安全、效率问题。

    现在的数据库同步系统大多数采用C/S结构,一般采用数据交换模式,技术瓶颈在于无法突破局域网的限制,这种模式在多点并发交换时数据的逻辑处理及冲突难以避免,另一种模式是进行点到点的数据维护,这样的维护数据准确率较低,且带来较高的成本,整个供应链的低效率也导致需求不能被满足。在目前分布式数据库环境被广泛使用的情况下,迫切需要一种支持分布式环境的数据同步技术,实现将一个节点的数据变更转移到其它节点上去,从而保证分布式环境中各节点上数据的一致同步。

    现行的数据同步基本利用数据库本身的同步工具,数据库自带的同步工具局限性比较大,对不同数据库之间的同步支持程度有限,费用较高,更重要的是也难以进行二次开发。另外一些软件开发商在外网直接与数据库相连实现同步,但是这种方式会暴露数据库IP,不利于数据库的安全。还有一些软件开发商利用中间件实现数据库的同步,但是这种中间件往往只能运用于某种领域,不利于软件性能的扩展。

    本文研究及应用工作主要是对武汉开目的PDM的异地数据库同步进行研究,解决了武汉开目的PDM用户在企业扩大后主公司和分公司的异构数据库同步的安全、效率问题。此工具的基本工作过程是,当在武汉开目的PDM启动数据库同步功能的时候,相应的异地数据库的数据就会被更新。

1 异地数据库同步系统开发流程和总体设计

    1.1 异地数据库同步系统基本结构和结构图

    异地数据库同步系统的开发与传统的C/S结构和B/S结构不同,其采用的是混合C/S和B/S的结构,不仅实现了瘦客户端,而且没有B/S结构显著的缺点,本设计主要是采用C#语言完成,将其编译成相应的DLL类库,EXE程序,和WCF服务程序,并在四台计算机上进行测试,结构图如图1所示。

异地数据库同步系统结构图

    图1 异地数据库同步系统结构图

    其中主公司客户端为主公司的PDM,当PDM在进行一系列的操作后,会产生SQL语句,然后开启PDM的同步功能时,调用本系统的“客户端可调用DLL模块”或者“客户端的可调用控制台应用程序模块”,即可进行对“服务器ⅡS上部署的WCF模块”进行调用,该模块即可完成分公司的数据库的同步。

    1.2 .NET基本开发流程

    微软发布的.NET框架可以很好的支持WCF服务,并且可以较轻松地完成编码,而且该工具编写的程序对于内存的管理更加得心应手,不会出现内存泄露等一直困扰着程序员和用户的麻烦,开发流程大体分为以下七个步骤:

    (1)在本机上安装微软的vs2010以及安装.NET3.5框架。(2)设计PDM与同步系统的结合点,目前提供一个封装好的类库,还提供了一个编译完成的EXE文件,都可以通过武汉开目的二次开发语言DPL编写脚本进行调用。(3)按照上述结构图在.NEI3.5环境下,用C#编写完所需要的代码。(4)对程序进行编译和配置,其中比较有难点的是WCF的服务,ⅡS上面的WCF的部署。(5)仿真部署。(6)对配置文件的配置,需要配置的文件有IP.ini,dpconfig.ini,Web.config,三种共六个文件。(7)日志处理,每一次同步都在两处写入日志,例如在主公司客户端执行同步时候,首先是在分公司服务端写入日志,然后在主公司客户端写入日志。

 

责任编辑:程玥
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐