当前位置: 查字典论文网 >> 企业安全策略下的跨平台数据同步

企业安全策略下的跨平台数据同步

格式:DOC 上传日期:2013-12-18 11:36:32
企业安全策略下的跨平台数据同步
时间:2013-12-18 11:36:32     小编:
企业安全策略下的跨平台数据同步 企业安全策略下的跨平台数据同步 信息技术论文 更新:2006-4-8 阅读: 企业安全策略下的跨平台数据同步

企业安全策略下的跨平台数据同步

摘 要:本文探讨了跨平台数据同步的方法,并举例说明了在企业安全策略下实现跨平台数据同步在设计Intranet自动化工具中的应用。

关键词:企业安全策略、Intranet自动化工具、Socket通信、组件化编程

Data Synchronization Over Different Platforms Under

Enterprise

Security Policy

Abstract: This paper discusses methods of data synchronization over different platforms. Then it gives an example to illuminate the application of implementation of data synchronization over different platforms under enterprise security policy in the design of intranet automatic tools.

Key Words:

Enterprise

Security Policy, Intranet Automatic Tools, Socket Communication, Componential Programming

1

引言

关于B-S开发模式的好处已经被讨论了很多,Intranet自动化工具在现代企业办公自动化中的应用正日益普及。

随着现代企业朝着国际化、集团化的方向发展,现代企业内部各部门之间出现了分工细密化和分布全球化的趋势。分工细密化和分布全球化的趋势使得各部门之间难以找到一个较完整的可共享的数据和可适用于各部门间独立管理的工具,各部门在开发自己的Intranet自动化工具的时候会根据本部门的特点和资源条件选择自己的Intranet发布平台。一方面,部门原有的数据发布平台在一定程度上影响了部门对Intranet发布平台的选择;另一方面,在选定了自己的Intranet发布平台的同时,原来与其他部门共享数据的部门也相应地选择了自己的数据发布平台。

同时,现代企业内部各部门之间的协同工作也越来越密切,不同部门之间通常需要访问的数据能同步更新,或者至少能在一定的时间间隔内进行数据同步。虽然大部分的数据库产品都有自己的基于TCP/IP的访问方式,但在企业安全的策略下,各部门通常会更改对IP端口的访问方式的配置,并开发出自己的内部数据访问工具;有的部门即使使用了数据库产品的默认设置,也很少公开数据库访问的用户名和密码。因此,在各部门之间通过数据库客户端访问工具进行直接的跨平台数据访问与同步几乎不具备可行性。

本文是笔者在摩托罗拉中国软件中心实习期间参与开发Intranet自动化工具的设计开发过程中面临的数据同步问题解决方案的总结。

2

几种跨平台数据同步方案

在介绍常用跨平台数据同步方法之前有必要简要介绍一下所开发的Intranet自动化工具的设计目的和状况。

所开发的Intranet自动化工具是运行在Windows NT平台上的ASP应用程序,其设计目的是将本地Windows NT平台上的CR Tracking(Change Request Tracking, 变更需求跟踪)Access数据库与美国UNIX平台上含有CR跟踪信息的Rational ClearDDTS(Distributed Defects Tracking System, 分布式错误跟踪系统。以下简称DDTS)数据库进行同步更新,以实现与本项目相关的CR信息的本地Web访问和跟踪。在数据同步中要求实现的功能包括:获取DDTS数据库中的新数据用于Access数据库的添加、获取DDTS数据库中指定纪录的字段值用于Access数据库的更新。

在接手进一步开发Intranet自动化工具之前,本项目组已经有了一个CR跟踪的Intranet工具,使用该工具可以进行CR的输入、修改、查询和列表统计。该Intranet工具要求与CR相关的人员主动使用DDTS工具查询相关CR的信息,并将信息在Web录入页面上输入到Web服务器上的本地数据库,供CR跟踪使用。这种Intranet工具使用的数据同步方法是利用DDTS数据访问工具,手工数据同步。该数据同步的方法实现简单,但操作繁琐,特别是在查询时需要重复性地输入类似的SQL语句,使得这项工作显得枯燥无味。从严格意义上讲,这不能算是一种跨平台数据同步的解决方案。

考虑到大部分的数据库产品都有自己的基于TCP/IP的访问方式,要求相关部门开放数据库的IP端口访问及受限的用户名和密码给Intranet开发人员也许是一个简单的实现跨平台数据同步的方法。使用这种方法,只需在Windows NT Web服务器中安装相应的ODBC驱动程序,然后在设计ASP程序时使用ADO编程,进行数据的简单查询和添加、修改即可进行跨平台数据同步,设计十分简单。但这种方法存在两方面的问题:一是在开放数据库IP端口访问的用户名和密码的同时,即给该数据库所在部门带来了安全隐患,一旦Web服务器受到攻击而使用户名和密码被窃取,开放的数据库也就处在被攻击的风险之中;二是有的部门使用的是第三方开发的基于数据库的工具(如DDTS工具),其部门本身并没有数据库的管理权限,因而也就无法添加用户名和分配权限。

在开发过程中,采用基于Socket通信的跨平台数据同步方法。

3

一种基于

Socket

通信的跨平台数据同步方法

基于Socket通信的跨平台数据同步方法采用客户机/服务器的概念,在分属于不同部门的不同平台的计算机上分别开发负责侦听的Socket服务器和负责连接的Socket客户端。以获取DDTS数据库中指定纪录的字段值为例,当客户端和服务器连接成功时,客户端向服务器发送相关CR的关键字以及需要获取的字段名,服务器通过调用DDTS工具的相应命令来获得客户端所需要的字段数据并发送给客户端。

Socket服务器运行在DDTS所在的美国UNIX主机上,采用多进程编程。编程过程中,对建立连接时产生的EINTR错误的处理和对SIGCHLD信号的处理是关键,如果处理不好,将会出现无法多次连接和连接关闭后导致僵死进程的情况。在开发过程中,使用popen函数运行一个perl脚本获取所需的数据并将其通过管道返回程序,该脚本使用DDTS工具来获取数据。这种方法充分利用了已有工具和perl语言的灵活性,降低了开发难度。为了确保侦听程序始终运行,采用了在UNIX主机的系统crontab里添加了一条指令使得系统每隔一分钟检查侦听程序scksvr是否正在运行,并在因系统异常导致其中断运行的情况下重新启动。

客户端运行在Windows NT平台上,采用Microsoft Visual C++的ATL(Active Template Library)模板COM开发和MFC Socket编程做成一个COM组件。使用COM组件可以避免在多个ASP文件中使用Winsock ActiveX控件进行编程,实现代码复用。该COM组件还用于一些VBScript脚本,这些VBScript脚本使用该COM组件并访问本地数据库实现数据的同步,具体实现的是自动获取DDTS上的当天CR到本地数据库并发送E-mail给相关人员、指定条件获取DDTS上的CR到本地数据库并发送E-mail给相关人员、自动更新正在进行的CR的状态、根据CR和人员进行的工时收集、CR统计与跟踪等任务,可以使用Windows NT的Schedule Service来定时运行这些VBScript脚本实现数据的定时自动同步。

4

结束语

本文分析了在企业安全策略下跨平台数据同步面临的问题和几种数据同步方法,在分析手工同步和开放数据库访问IP端口的利弊基础上提出了一种基于Socket通信的数据同步解决方案。在实现基于Socket通信的数据同步时,服务器端充分利用了已有的工具和perl语言的灵活性;根据实现Intranet自动化工具的需要,客户端使用了Visual C++的ATL模板设计了一个Socket客户端COM组件。在设计的自动化工具中,利用Windows NT的Schedule Service实现CR的定时自动同步、更新及发送通知E-mail等任务,使用ASP设计对本地数据库访问的交互页面进行CR跟踪。在实际使用中,这种方案很好地满足了设计目的,与原有Intranet

全文阅读已结束,如果需要下载本文请点击

下载此文档

相关推荐 更多