面向大数据存储中心的数据集成系统及方法
技术领域
本发明涉及一种系统及方法,尤其是一种面向大数据存储中心的数据集成系统及方法,属于数据集成的技术领域。
背景技术
随着信息化社会的发展,企业积累了大量的数据,而且数据的产生速度也越来越快。对大数据的处理分析正成为新一代信息技术融合应用的结点,也是信息产业持续高速增长的新引擎。在当下及以后,大数据利用将成为企业提高核心竞争力的关键因素。大数据利用的前提是数据的获取和存储,目前建设大数据存储中心的这一行为,已经在各行各业已屡见不鲜。随之而来的,数据集成方法也成了人们需要解决的一个非常重要的问题。
目前,在企业数据集成领域,通常采用联邦式、基于中间件模型和数据仓库等方法来构造集成系统,传统解决方案都存在着各种缺陷,比如联邦数据库:构建系统需要很长的时间、要求高性能的设备、实现代价比较高;数据仓库:数据更新不及时、无法实时变化、系统可扩展性差;中间件模式:采用关系数据模式来统一全局数据模型,访问异构数据源,但是现在关系数据模式已经不能描述所有信息,比如半结构化数据和非结构化数据。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种面向大数据存储中心的数据集成系统及方法,其能简单有效实现数据集成,适应多种数据结构,适应范围广,安全可靠。
按照本发明提供的技术方案,所述面向大数据存储中心的数据集成系统,包括用于与数据源进行数据交互的采集交互层,所述采集交互层与用于对交互数据进行处理的数据处理层连接,数据处理层根据交互数据确定数据交互操作类型,并根据所述数据交互操作类型通过数据库操作层对存储层内的数据库进行所需的数据操作,并将所述数据操作结果通过采集交互层返回传输至数据源内。
所述数据源包括本地子系统、异地子系统或互联网系统,采集交互层包括数据收发器,所述数据收发器包括用于采集本地子系统、异地子系统对应数据的本地采集器、用于互联网信息的互联网数据采集器、用于接收数据源发送数据的接收器以及用于向数据源发送数据的发送器;
所述本地采集器利用JDBC方式周期性地对本地子系统、异地子系统对应的数据进行数据采集,互联网数据采集器通过爬虫技术抓取所需的互联网信息;数据源与接收器、发送器间进行数据交换格式为JSON格式,数据源与接收器、发送器间以HTTP报文格式进行数据通信。
所述数据处理层包括数据解析器以及数据包装器,所述数据解析器能对互联网数据采集器采集的互联网信息以及接收器接收的数据进行解析,以判断对应数据的来源与目的,并根据判断数据的来源、目的通过数据库操作层在存储层内进行所需的存储操作;
数据包装器用于将数据库操作层传输的数据进行JSON打包以及HTTP打包封装,以使得封装后的数据能匹配与数据源的数据交互。
所述数据库操作层包括用于将数据存储在存储层内的数据存储器以及读取存储层内数据的数据查询器,所述存储层内用于存储数据的数据库包括MySql数据库、Oracl数据库、HDFS数据库或HBase数据库。
所述数据源与采集交互层进行数据交互时,采用APIKEY授权方式来限制数据源与采集交互层之间的数据交互操作。
所述数据源与采集交互层进行数据交互时,设定数据源内本地子系统、异地子系统以及互联网系统的响应优先级,并根据所设定的响应优先级形成线程池,在多个线程并发请求时,对线程池内的线程采用基于优先级的调度以及FIFO的方式进行请求响应。
在大文件数据交互时,数据源与采集交互层间采用消息队列的异步传输方式进行所述大文件数据的交互。
一种面向大数据存储中心的数据集成方法,提供用于与数据源进行数据交互的采集交互层以及用于对交互数据进行处理的数据处理层,数据处理层根据交互数据确定数据交互操作类型,并根据所述数据交互操作类型通过数据库操作层对存储层内的数据库进行所需的数据操作,并将所述数据操作结果通过采集交互层返回传输至数据源内。
所述数据源包括本地子系统、异地子系统或互联网系统,采集交互层包括数据收发器,所述数据收发器包括用于采集本地子系统、异地子系统对应数据的本地采集器、用于互联网信息的互联网数据采集器、用于接收数据源发送数据的接收器以及用于向数据源发送数据的发送器;
所述本地采集器利用JDBC方式周期性地对本地子系统、异地子系统对应的数据进行数据采集,互联网数据采集器通过爬虫技术抓取所需的互联网信息;数据源与接收器、发送器间进行数据交换格式为JSON格式,数据源与接收器、发送器间以HTTP报文格式进行数据通信。
所述数据处理层包括数据解析器以及数据包装器,所述数据解析器能对互联网数据采集器采集的互联网信息以及接收器接收的数据进行解析,以判断对应数据的来源与目的,并根据判断数据的来源、目的通过数据库操作层在存储层内进行所需的存储操作;
数据包装器用于将数据库操作层传输的数据进行JSON打包以及HTTP打包封装,以使得封装后的数据能匹配与数据源的数据交互;
所述数据库操作层包括用于将数据存储在存储层内的数据存储器以及读取存储层内数据的数据查询器,所述存储层内用于存储数据的数据库包括MySql数据库、Oracl数据库、HDFS数据库或HBase数据库。
本发明的优点:采用面向数据源的交互模式,具有无状态性,兼容多种类的数据源,采集交互层能实现对数据源数据的有效采集以及与数据源间的数据通信,采用HTTP报文格式进行通信,采用JSON方式进行数据交换,开发便捷,具有良好的可扩展性,适应范围广,安全可靠。
附图说明
图1为本发明的结构框图。
图2为本发明采集交互层内数据收发器的结构框图。
图3为本发明采集数据的流程图。
图4为本发明数据处理层的结构框图。
图5为本发明数据库操作层的结构框图。
附图标记说明:1-数据源、2-采集交互层、3-数据处理层、4-数据库操作层、5-存储层、6-数据收发器、7-数据解析器、8-数据包装器、9-数据存储器、10-数据查询器、11-本地采集器、12-互联网数据采集器、13-接收器以及14-发送器。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
如图1所示:为了能简单有效实现数据集成,适应多种数据结构,本发明包括用于与数据源1进行数据交互的采集交互层2,所述采集交互层2与用于对交互数据进行处理的数据处理层3连接,数据处理层3根据交互数据确定数据交互操作类型,并根据所述数据交互操作类型通过数据库操作层4对存储层5内的数据库进行所需的数据操作,并将所述数据操作结果通过采集交互层2返回传输至数据源1内。
具体地,数据源1与采集交互层2之间进行的数据交互包括将数据源1的数据存储至存储层5内,或者实现存储层5内数据的查询操作,数据处理层3在对交互数据处理后确定数据交互操作的类型,并根据所述数据交互操作的类型通过数据库操作层4对存储层5内的数据库进行所需的数据操作,数据操作结果通过数据库操作层4、数据处理层3传输至采集交互层2,最终由采集交互层2将数据操作结果返回传输至数据源1内,实现数据集成的交互,能够适应多种数据结构。
如图2和图3所示,所述数据源1包括本地子系统、异地子系统或互联网系统,采集交互层2包括数据收发器6,所述数据收发器6包括用于采集本地子系统、异地子系统对应数据的本地采集器11、用于互联网信息的互联网数据采集器12、用于接收数据源1发送数据的接收器13以及用于向数据源1发送数据的发送器14;
所述本地采集器11利用JDBC方式周期性地对本地子系统、异地子系统对应的数据进行数据采集,互联网数据采集器12通过爬虫技术抓取所需的互联网信息;数据源1与接收器13、发送器14间进行数据交换格式为JSON格式,数据源1与接收器13、发送器14间以HTTP报文格式进行数据通信。
本发明实施例中,数据收发器6面向数据源1中的本地子系统,异地子系统以及互联网系统,其中,本地子系统是指与形成的大数据存储中心在地域上处在同一个园区内,一般通过局域网相连;而异地子系统与形成的大数据存储中心在地域上相隔较远,可能是不同城市或乡村,一般通过广域网相连。本地子系统、异地子系统以及互联网系统的具体形式为本技术领域人员所熟知,此处不再赘述。
本地采集器11可以主动对本地子系统、异地子系统的数据进行主动采集,主动采集时,需要获取本地子系统、异地子系统对应的存储地址、用户名以及密码,采用JDBC方式周期性对本地子系统的数据进行采集。发送器14主要将查询的结果发送至数据源1内。本地采集器11、互联网数据采集器12、接收器13以及发送器14具体的工作过程为本技术领域人员所熟知,此处不再赘述。
进一步地,所述数据源1与采集交互层2进行数据交互时,采用APIKEY授权方式来限制数据源1与采集交互层2之间的数据交互操作。
本发明实施例中,采用APIKEY方式来授权响应的数据交互操作,保证传输过程的安全性。数据源1内的本地子系统、异地子系统以及互联网系统均具有唯一的APIKEY,通过APIKEY来确定数据交互操作的有效性。
所述数据源1与采集交互层2进行数据交互时,设定数据源1内本地子系统、异地子系统以及互联网系统的响应优先级,并根据所设定的响应优先级形成线程池,在多个线程并发请求时,对线程池内的线程采用基于优先级的调度以及FIFO的方式进行请求响应。
本发明实施例中,对线程池内的线程基于优先级的调度时,能使得高优先权的线程能优先处理,以满足有特殊数据交互的数据交互操作请求;而FIFO调度能够有效解决低优先级的数据交互操作请求长期得不到处理的问题;基于优先级的调度以及FIFO调度的过程为本技术领域人员所熟知,此处不再赘述。
在大文件数据交互时,数据源1与采集交互层2间采用消息队列的异步传输方式进行所述大文件数据的交互。本发明实施例中,针对大文件数据,如视频等信息,采用消息队列来实现异步传输,能有效解决大文件数据需要长时间传输的问题。
如图4所示,所述数据处理层3包括数据解析器7以及数据包装器8,所述数据解析器7能对互联网数据采集器12采集的互联网信息以及接收器13接收的数据进行解析,以判断对应数据的来源与目的,并根据判断数据的来源、目的通过数据库操作层4在存储层5内进行所需的存储操作;
数据包装器8用于将数据库操作层4传输的数据进行JSON打包以及HTTP打包封装,以使得封装后的数据能匹配与数据源1的数据交互。
本发明实施例中,由于数据源1与采集交互层2间采用HTTP报文格式的通信,因此,数据解析器7主要解析HTTP传输包,取出头部,判断数据的来源与目的,检验数据的完整性,在通过数据库操作层4进行所需的存储。数据包装器8主要将数据库操作层4传输的数据打包封装,所述打包封装需要满足与数据源1进行数据交互以及数据通信的要求,打包时,还需要加上头部信息,指定传输目的以及对应的相关信息,此外,还可以进行数据加密编码等工作,数据解析器7、数据包装器8的具体工作过程为本技术领域所熟知,此处不再赘述。
如图5所示,所述数据库操作层4包括用于将数据存储在存储层5内的数据存储器9以及读取存储层5内数据的数据查询器10,所述存储层5内用于存储数据的数据库包括MySql数据库、Oracl数据库、HDFS数据库或HBase数据库。
本发明实施例中,数据存储器9主要实现数据的存储,存储层5内的每一种数据库分别对应一种数据库存储器,数据查询器10主要实现数据的查询,在查询取出数据后,传输至数据包装器8,数据存储器9、数据查询器10的具体工作过程也为本技术领域人员所熟知,此处不再赘述。
综上,本发明面向大数据存储中心的数据集成方法,具体为:提供用于与数据源1进行数据交互的采集交互层2以及用于对交互数据进行处理的数据处理层3,数据处理层3根据交互数据确定数据交互操作类型,并根据所述数据交互操作类型通过数据库操作层4对存储层5内的数据库进行所需的数据操作,并将所述数据操作结果通过采集交互层2返回传输至数据源1内。
本发明采用面向数据源1的交互模式,具有无状态性,兼容多种类的数据源1,采集交互层2能实现对数据源1数据的有效采集以及与数据源1间的数据通信,采用HTTP报文格式进行通信,采用JSON方式进行数据交换,开发便捷,具有良好的可扩展性,适应范围广,安全可靠。