APP下载

基于WEB Service 虚拟数据中心的建立及安全性研究

2016-12-06陈建国汪秋蒙

大众科技 2016年9期
关键词:绵阳数据表数据源

陈建国 汪秋蒙 尚 忝

(绵阳职业技术学院,四川 绵阳 621000)

基于WEB Service 虚拟数据中心的建立及安全性研究

陈建国 汪秋蒙 尚 忝

(绵阳职业技术学院,四川 绵阳 621000)

为了解决不同时期不同业务部门所开发的应用系统异构型数据库数据共享问题,必须建立业务系统中数据的交换与同步机制,既要保证原来的系统业务流程不发生改变,又要保证数据传输的高效安全。文章采用基于WEB service技术来创建一个虚拟的数据中心,提供数据交换接口,利用插件分发方式给各个业务系统实现与虚拟数据中心的数据交换。通过设置SoapHeader来控制非法用户对WebService的调用,既能保证各业务系统获取中心数据的实时性,又能保证数据传输的安全性。很好地解决了异构数据库数据交换与共享问题。

数据库;Webservice;数据安全;数据交换

1 引言

目前在各个应用领域和行业中,不同的系统由于当时条件的限制,可能采用的不同的数据库,如果希望实现数据的共享以及大数据的分析应用,迫切需要一种途径来集成这些系统中分布的、异构的数据库资源。

异构数据集成是把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。目前实现异构数据库共享的理论研究有多种方法和途径,归纳起来有几种方法:

(1)基于中间件的数据定时采集方式,构建中心数据库方式。这种方式数据采集的模式至关重要,其优点是数据集中管理,数据存储的安全性好,其缺点是数据传输的安全性不能有效的保证,数据读取实时效率低。

(2)基于数据库的数据订阅与数据发布方式,这种方式是利用数据库本身的数据处理的特点,实现数据的订阅与发布,这种方式对异构性数据的处理实现比较困难,订阅和发布必须对数据库的结构要熟悉,批量的数据订阅和发布可能影响数据库的性能。

(3)基于XML数据存储的数据中心方式,这种方法就是将各系统的数据采集并以 XML数据存储的方式实现数据的交换以达到数据共享的目的,这种方法的优点是数据的存储简单,数据的交互性好,但数据的安全性,以及数据管理的能力差。

(4)同一数据中心和数据管理模式,这种方式必须重新构建应用系统,在实际应用中对于已经存在信息化管理的行业和部门基本不可行。

目前除了一些大型的企业提供了一整套的数据共享的解决方案,但价格昂贵,在实际应用中不能根据实际情况进行数据的采集和数据处理。

2 虚拟数据中心的实现方案

虚拟数据中心为此需要解决以下几个问题:

(1)要求能够在保持原来应用系统的情况下,利用现有资源构建新的应用,并能方便的集成待建与在建项目。

(2)应支持分布式异构系统的快速集成,支持各种不同的操作系统及数据源。

(3)数据交换平台应具备灵活的策略定义与配置,应提供简单易用的工具或界面,便于掌握及使用。

(4)基于各部门的共享数据,建设数据中心,统一数据标准,以便对各类数据进行综合利用,提供对各类信息的综合分析和展示。

(5)数据交换的安全性,要保证各业务数据交换的数据安全。

基于.NET 的Web Server具有与平台和语言无关、可跨越防火墙的特点,适合实现系统的集成和数据的共享,该方案主要在原来各系统的基础基础上,增加WEB服务器、数据同步接口、WEB Service应用接口、临时数据存储交换数据库,在不改变原来应用的基础上构成一虚拟的数据中心。其结构如下:

图1 虚拟数据中心结构图

其中数据同步接口插件、WEB应用接口插件以DLL文件的方法根据用户的需要由虚拟数据中心分发给业务部门和需要调用虚拟中心数据的客户。虚拟数据中心的Web服务器可以根据业务的需求建立多个群组,用来满足不同业务逻辑对数据的需求。

2.1 系统实现

数据同步方式有两种,一种是主动同步,即在访问本地数据库时,同时访问虚拟数据库中心的数据,如果对应的数据有变化,则同步本地数据,这样就可以实现本地数据与数据中心的数据同步。另一种方式是被动同步,一般处理方法是如果某应用的数据库的数据发生变变化时,主动的更新需要该数据的其他应用的数据库,这种方式数据处理的效率低。可以采用在虚拟数据中心建立临时的数据库,所有共享的数据更新时提供一个更新消息,发送到虚拟数据中心,这样要共享数据的应用获取虚拟数据中心的变化信息,根据其状态确定是否获取相应数据源的数据来更新本地数据,采用这种方式,大大的减少了数据数据传输的压力。为了有效的实现虚拟数据中心的数据同步,需要在虚拟数据中心创建如下同步数据表。

所有应用中需要共享的数据,除提供数据检索的 Web Servce数据接口外,还要将数据变化的数据记录信息写入到同步数据表中,同一个数据源的同一数据表记录是唯一的,即这里只保存最新的更新记录。其表结构如表1所示:

表1 数据源同步数据表

同步记录表该用于记录获取虚拟同步数据的应用,当应用获取虚拟数据库中的同步数据时,则登记其获取数据源的信息,利用这个表,可以确定当前本地信息是否为最新的数据信息。其表结构如表2所示。

表2 同步记录表

数据源表用于存储虚拟数据中心中所有共享数据源的基本信息。其表结构如表3所示。

表3 数据源表

2.2 接口的实现

各个页面数据库可以是目前流行的可以 SQL Server、MySQL、Orcale数据库管理系统,为了对数据交换的管理,可以在虚拟数据中心的 WEB服务器创建虚拟中心数据库VDataCenter,其DBMS根据情况选定。

应用插件的以及 WEB 服务的开发可以采用微软的.NET的WEB services技术、XML技术实现数据的交换。其关键技术及代码如下:

//数据中心

public class VDataCenter{

/// 获取数据中心的所有数据源服务器信息

public List GetDataSoure();

}

//数据源

public class DataSoure{

public String DataUrl { get;set;} //Web service地址

public String DataName { set;get;} //业务数据源名

/// 获取指定数据库服务器所有需要同步的数据表信息

public List GetSysnTable();

}

//同步数据表

public class SysDataTable {

public DataSoure SysDataSoure { get;set;} //数据源

public String TableName { get;set;} //数据名

public String KeyName { get;set;}//表

public String KeyValue { get;set;}//的值

public String ValueType { get;set;}//类型

public String SysnType { get;set;} //同步类型

/// 根据业务需求获取数据中心的数据信息,在获取数据的同时在数据中心建设数据镜像,实现数据的快速访问

public DataSet GetDate( );

}

Web service 部分关键代码:

public class Service : System.Web.Services.WebService{

//数据安全效验类

public CredentialSoapHeader myHeader=new CredentialSoapHeader();

[SoapHeader("myHeader")]

[WebMethod(Description = "修改学生信息,参数:学号,姓名,班级,学生层次,性别,地址)]

public int SetDataStudents(string ID, string Name, string classes, string Level, string sex, string Addr){

string message = "";

if (!myHeader.IsValid(out message))//安全效验

return -1;

Student st = new Student();

return st.SetDataStudent(ID, Name, classes, Level, sex, Addr);

}

[SoapHeader("myHeader")]

[WebMethod(Description = "返回学生基本信息,参数:学号")]

public string GetDataStudentInfoCode(string ID){

if (!myHeader.IsValid(out message))

return toXml(message);//将string类型转换为XML格式

Myvtc.DAL.Student s = new Myvtc.DAL.Student();

DataSet ds = s.GetStudentInfoCode(id);

return ds.toXml();

}

}

3 数据传输的安全性

其实现的过程中数据中心的构建以及数据的安全至关重要,在数据集成的过程中,存在以下必须解决的问题:(1)数据传输的安全性;(2)数据获取的效率;(3)数据存储的安全性。

这里需要解决的主要问题是如何保证有效用户调用数据中心的数据,通过设置 SoapHeader来控制非法用户对WebService的调用。其处理的方式:首先要自定义SoapHeader,须继承System.Web.Services.Protocols. SoapHeader。

//数据安全效验类

public class CredentialSoapHeader : System.Web.Services. Protocols.SoapHeader{

public string UserName{get;set;}

public string PassWord{get;set;}

public bool IsValid(string Name, string password out string msg){

msg= "";

//加密对象

CryptHelper.CryptoHelper ct = new CryptHelper.

CryptoHelper();

try {

//解密,password加密后的字符串

string userPassword = ct.GetDecryptedValue(password);

//根据用户名和用户密码获取用户信息

WebUser webUser = new WebUser(RegName, userPassword);

bool bl = webUser.IsValid();

if (bl==false){

msg= "sorry,你没有授权访问该web service";

return bl;

}

}

客户端调用,分别使用不设置SoapHeader与设置SoapHeader就可以实现对Web sevice方法的安全调用。

4 结束语

通过构建一个虚拟的中心数据平台实现相关部门的数据共享,将各个不同的系统应用的数据有效的集成,即不大动干戈的修改原来系统的的业务流程,又能保证数据的共享。在未来的扩展应用中,包括基于数据中心的业务流再构、数据统计分析、大数据分析、智能决策等方面都具有一定的应用价值。目前该技术应用到学院的网络收费,新生报到系统中,通过一年的运行,效果良好。

[1] 华悦,徐涛.一种基于SOA消息安全传输机制[J].计算机科学,2012,39(6):77-80.

[2] 贺正求,吴礼发,洪征,等.Wbb 服务安全问题研究[J].计算机科学,2010,37(8):32-38.

[3] 王艺霖,金澈清,王晓玲.公交数据管理系统的设计与实现[J].计算机应用,2016(S10):240-242.

[4] 张宇臣,沈备军.软件工程关联数据的自动构建[J].计算机应用,2016,36(3):44-49.

[5] 李宗育,王劲松,宋庆军.基于WSE的SOAP消息部分信息加密机制[J].计算机工程与设计,2016,37(1):56-59.

[6] 崔恒香.基于隔离网闸的异构数据库同步技术研究与实现[J].软件工程,2016(2):11-13.

[7] 邹凌君.基于Web Service的数字化校园信息共享平台的构建研究[J].轻工科技,2016(4):63-65.

[8] 钟树华.虚拟化下数据库集群系统构建与性能分析[J].教育,2016,5(7):1474.

[9]| 易珺,梁志勇,唐平.基于 XML的虚拟数据库中间件的研究[J].计算机与数字工程,2004(5) :86-88.

[10] 冯涛,袁占亭.基于虚拟数据库的网站开发[J].甘肃工业大学学报,2002(2):69-72.

[11] 郭成城,晏蒲柳.一种异构 Web服务器集群动态负载均衡算法[J].计算机学报,2005(2):179-184.

[12] 潘蕾,徐汀荣.基于Web服务的SQL数据库访问中间件的设计与实现[J].计算机与现代化,2006(3):67-69.

[13] 戴维,蒋玉芳.基于Ajax技术实现Web异步树的应用研究[J].计算机与现代化,2011(2):138-149.

[14] 廖华江,钟剑.基于Web Service的校园一卡通应用集成接口研究[J].计算机与现代化,2010(12):149-151.

[15] 王洋.基于 XML/SOAP的煤矿企业异构信息源集成的研究[J].煤炭技术,2012(8):160-161.

[16] 王元,张金江,郭创新.基于SOAP/REST混合式SOA的输变电设备信息集成平台[J].机电工程,2014,31(4):501-506.

[17] 曹秀丽.基于SOAP协议的XML跨平台WebService核心技术研究[J].湖北第二师范学院学报,2015,32(8):36-40.

Establishment of virtual data center and security research based WEB Service

In order to solve sharing problem of application system heterogeneous database developed by the different business units in different periods, it needed to set up data exchange and synchronization mechanisms of business systems. We must ensure that the original business process of the system does not be change, but also guarantee the efficiency and safety of data transmission. In this paper, a virtual data center is created based on WEB service technology. It provides data exchange interface, applying plug-ins distribution to realize the data exchange for the virtual data center. The illegal user is controlled to call the Web Service by setting Soap Header, which can ensure the real-time of system center data, and guarantee the security of data transmission. So, this paper solutes the problem of heterogeneous database data exchange and sharing.

database; Web Service; data security; data exchange

TP316

A

1008-1151(2016)09-0001-03

2016-08-11

陈建国(1965-),男,重庆忠县人,绵阳职业技术学院副教授,研究方向为数据挖掘与软件开发;汪秋蒙(1979-),男(羌族),四川绵阳人,绵阳职业技术学院讲师,硕士研究生,研究方向为网络安全;尚忝(1980-),男,四川绵阳人,绵阳职业技术学院讲师,硕士研究生,研究方向为数据库技术。

猜你喜欢

绵阳数据表数据源
四川绵阳卷
湖北省新冠肺炎疫情数据表
四川绵阳卷
基于列控工程数据表建立线路拓扑关系的研究
Web 大数据系统数据源选择*
基于不同网络数据源的期刊评价研究
基于真值发现的冲突数据源质量评价算法
记忆深处的绵阳(绵阳老照片)
图表
绵阳为中医药“强身健体”