跨网络结构化数据收集系统的制作方法

文档序号:12887292阅读:363来源:国知局
跨网络结构化数据收集系统的制作方法与工艺

本发明实施例涉及通信技术领域,尤其涉及一种跨网络结构化数据收集系统。



背景技术:

随着大数据应用潜力的不断挖掘,很多公司分布在不同地区的分子公司都拥有自己的数据中心。数据部门需要将这些数据中心的数据跨公网收集、整合集中,为整个公司提供数据服务。

现有技术中,分子公司分别收集数据,并将数据汇聚到总部数据中心,总部数据中心对数据进行统一融合,形成数据资产。

由于总部数据中心对数据进行统一融合时需要耗费一定的时间,总部数据中心对数据进行统一融合后,分子公司才可以访问获取融合后的数据,造成分子公司的效率下降。另外,不同的分子公司需要向总部数据中心发送数据时,一个分子公司要等另一个分子公司发送完之后再发送,即不同的分子公司不能很好的并发执行数据发送,造成网络带宽资源的浪费。



技术实现要素:

本发明实施例提供一种跨网络结构化数据收集系统,以提高分子公司的效率,以及网络带宽资源。

本发明实施例的一个方面是提供一种跨网络结构化数据收集系统,包括:数据载入服务模块和数据中心通信模块;

所述数据载入服务模块用于采集源数据中心各个数据库中的数据,并生成第一通信请求,所述第一通信请求用于请求所述数据中心通信模块将所述数据发送给目的数据中心;

所述数据中心通信模块用于将所述第一通信请求发送给所述目的数据中心;接收所述目的数据中心的反馈信息;将所述数据发送给所述目的数据中心。

可选的,所述数据载入服务模块还用于记录其工作状态,所述工作状态包括如下至少一种:

数据采集状态、数据预处理状态、数据传输状态。

可选的,所述数据中心通信模块包括:通信输出单元、通信核心组件;

所述通信输出单元用于将所述第一通信请求传输给所述通信核心组件;

所述通信核心组件用于对所述第一通信请求进行格式转换,并将转换后的所述第一通信请求发送给所述目的数据中心。

可选的,所述数据中心通信模块还包括:通信输入单元;

所述通信输入单元用于接收所述目的数据中心发送的第二通信请求,并根据所述第二通信请求,对所述目的数据中心的访问权限进行验证。

可选的,所述通信输入单元根据所述第二通信请求,对所述目的数据中心的访问权限进行验证时,具体用于:

解析所述第二通信请求,获取所述第二通信请求中的统一资源定位符;

查询所述数据中心通信模块是否存储有所述统一资源定位符;

若所述数据中心通信模块存储有所述统一资源定位符,则对所述目的数据中心的访问权限验证成功。

可选的,所述数据中心通信模块存储有白名单,所述白名单包括应用程序编程接口的访问规则;

所述通信输入单元查询所述数据中心通信模块是否存储有所述统一资源定位符时,具体用于:

查询所述统一资源定位符对应的应用程序编程接口的访问规则是否存储在所述白名单中。

可选的,所述通信输入单元对所述目的数据中心的访问权限验证成功之后,还用于:

将所述第二通信请求传输给所述通信核心组件。

可选的,所述数据中心通信模块还包括:应用程序;

所述通信核心组件还用于将所述第二通信请求传输给所述应用程序。

可选的,所述应用程序还用于向所述通信输出单元发送所述第一通信请求。

可选的,所述数据载入服务模块包括:数据载入引擎;

所述数据载入引擎用于周期性的采集源数据中心各个数据库中的数据。

本发明实施例提供的跨网络结构化数据收集系统,通过在每个分子公司建立上述跨网络结构化数据收集系统,形成对等的网络子集。减轻总部数据中心在数据传送,以及交换过程中的压力,提高了分子公司的效率。形成了一套在各数据中心中收集数据、分布式存储的数据收集系统,并且建立了分子数据中心的通信方式,节省了网络带宽资源,为分子数据中心数据交换使用提供基础。

附图说明

图1为现有技术中关系型数据库采集方式的示意图;

图2为现有技术中开源软件搜集数据并分布式存储的示意图;

图3为现有技术中关系型数据库与分布式存储数据互导的示意图;

图4为现有技术中分子公司数据汇集的示意图;

图5为本发明实施例提供的跨网络结构化数据收集系统的示意图;

图6为本实施例提供的数据载入服务模块的工作流程示意图;

图7为本实施例提供的数据中心通信模块的工作流程示意图。

具体实施方式

随着大数据应用潜力的不断挖掘,很多公司分布在不同地区的分子公司都拥有自己的数据中心。数据部门需要将这些数据中心的数据跨公网收集、整合集中,为整个公司提供数据服务。

现有技术中,每个子数据中心都有自己独立的数据库,如果要有效的分析这些海量数据,需要将这些来自各个分子公司数据库的数据导入到一个分布式存储集群,或者一个集中的大型分布式数据库中。这个过程包含数据的收集和数据的集中,两个阶段。分子公司数据采集有如下几种方式:

一种方式是:如图1所示,建立传统的关系型数据库(oracle,mysql)。通过传统的关系型数据库产品的命令或者一些中间软件(pl/sqldeveloper等),建立相应的数据存储,导入相应的数据并存储。

另一种方式是:许多企业都有自己的数据采集工具,多用于系统日志收集。如apachechukwa,cloudera的flume等,这些数据收集工具均采用了分布式架构,可以满足每秒数百mb的数据采集和数据传输需求。通过这些收集工具采集的数据,一般存储到hadoop分布式文件系统中,即hdfs,如图2所示。

再一种方式是:如图3所示,企业也可以选择利用sqoop来进行从传统数据库向hdfs传输数据,进行hadoop和传统关系型数据库中的数据相互迁移。sqoop提供的是各种hdfs与一般数据系统之间的接口,以命令行参数方式执行,将一个关系型数据库(mysql,oracle)中的数据写入到hadoop分布式文件系统中。也可以将hadoop分布式文件系统中的数据导入到关系型数据库中。

如图4所示,各分子公司通过上述的方式,对数据进行收集,形成传统关系型数据库或者hdfs存储的,即自己的数据中心。进而可以向总部数据中心迁移的大数据集。而这些数据需要汇总到总部数据中心以后,才能对数据进行融合,形成数据资产,进而提供更优质的数据服务。

图5为本发明实施例提供的跨网络结构化数据收集系统的示意图。如图5所示,本实施例提供的跨网络结构化数据收集系统主要包括两个大的模块:数据载入服务模块和数据中心通信模块;其中,所述数据载入服务模块用于采集源数据中心各个数据库中的数据,并生成第一通信请求,所述第一通信请求用于请求所述数据中心通信模块将所述数据发送给目的数据中心;所述数据中心通信模块用于将所述第一通信请求发送给所述目的数据中心;接收所述目的数据中心的反馈信息;将所述数据发送给所述目的数据中心。

所述数据载入服务模块是跨网络结构化数据收集系统的核心,它首要的功能是提供定时数据收集任务,在此基础之上还要根据实际应用提供手动触发任务、重新运行所有失败的任务、重新收集特定的数据等功能。下面具体介绍:

1、手动触发任务:用户可以手动的启动所有数据收集任务。如果遇到了故障导致服务无法启动,就需要有手动启动任务的机制。

2、重新运行所有失败的任务:所述数据载入服务模块还用于记录其工作状态,所述工作状态包括如下至少一种:数据采集状态、数据预处理状态、数据传输状态。

数据载入服务模块的每个阶段都会有相应的记录,记录该任务所处的阶段,是数据抽取阶段还是数据预处理阶段亦或是数据传输阶段。数据载入服务模块会为每个任务的线程设置监视器,监视器负责将任务的状态及时的写入到数据库里。

3、重新收集特定的数据:提供针对特性的数据库中的特定的数据的操作,避免因为某些个别的数据而重新启动所有数据载入任务。

4、启动收集任务:数据载入服务模块的首要作用是自动在某一时间开始执行数据收集的任务。它是一个定时的任务。

5、自检:需要定时的回报自己的状态:是否在正常工作。

数据中心通信模块的主要作用是提供一个数据中心之间通信的解决方案,其主要任务是为上层应用程序服务(在此指的是数据载入服务模块,但它可以很方便的扩展以支持其他的应用),为上层应用程序提供透明的通信服务。应用程序不用知道目的数据应用是否在本数据中心内,访问其他数据中心内的数据和在本数据中心的使用方式是一样的,不需要改变。

在本实施例中,所述数据中心通信模块包括:通信输出单元、通信核心组件;所述通信输出单元用于将所述第一通信请求传输给所述通信核心组件;所述通信核心组件用于对所述第一通信请求进行格式转换,并将转换后的所述第一通信请求发送给所述目的数据中心。所述数据中心通信模块还包括:通信输入单元;所述通信输入单元用于接收所述目的数据中心发送的第二通信请求,并根据所述第二通信请求,对所述目的数据中心的访问权限进行验证。所述通信输入单元根据所述第二通信请求,对所述目的数据中心的访问权限进行验证时,具体用于:解析所述第二通信请求,获取所述第二通信请求中的统一资源定位符;查询所述数据中心通信模块是否存储有所述统一资源定位符;若所述数据中心通信模块存储有所述统一资源定位符,则对所述目的数据中心的访问权限验证成功。所述数据中心通信模块存储有白名单,所述白名单包括应用程序编程接口的访问规则;所述通信输入单元查询所述数据中心通信模块是否存储有所述统一资源定位符时,具体用于:查询所述统一资源定位符对应的应用程序编程接口的访问规则是否存储在所述白名单中。所述通信输入单元对所述目的数据中心的访问权限验证成功之后,还用于:将所述第二通信请求传输给所述通信核心组件。所述数据中心通信模块还包括:应用程序;所述通信核心组件还用于将所述第二通信请求传输给所述应用程序。所述应用程序还用于向所述通信输出单元发送所述第一通信请求。

下面分别具体介绍通信输出单元、通信核心组件、通信输入单元的作用:

通信输出单元(out):数据载入服务模块将数据抽取、转换后调用该服务,通信输出单元(out)负责将请求转交给通信核心组件(telcore)做进一步处理。通信核心组件(telcore)接收通信输出单元(out)的调用,将用户的通信请求重定向、将数据中心内的请求统一资源定位符(uniformresourcelocator,简称url)映射成可以在网络上传输的url。将新的请求报文的首部字段和原来报文的主体组装成新的超文本传输协议(hypertexttransferprotocol,简称http)请求。然后发送该请求。

通信输入单元(in):主要负责接收通信核心组件(telcore)发起的通信请求处理和访问控制,数据中心通信模块启动后会监听来自其他数据中心的请求,当捕获到来自其他数据中心的请求时,通信输入单元(in)首先解析请求报文,取出报文的首部字段对其中的url进行检查,比对数据中心通信模块的配置,看该记录是否存在于白名单(白名单是一个配置文件,里面规定了一系列api的访问规则)中。如果存在白名单中则将报文转换为数据中心内部的报文并交由上层的应用程序。目的应用程序接收请求后做处理,并将结果发送到本数据中心内部的通信模块。通信模块的通信输出单元(out)接收应用程序的请求,然后做对应的操作。至此,本次通信成功。如果不存在白名单内,则此次通信失败。

本发明实施例通过在每个分子公司建立上述跨网络结构化数据收集系统,形成对等的网络子集。减轻总部数据中心在数据传送,以及交换过程中的压力,提高了分子公司的效率。形成了一套在各数据中心中收集数据、分布式存储的数据收集系统,并且建立了分子数据中心的通信方式,节省了网络带宽资源,为分子数据中心数据交换使用提供基础。

图6为本实施例提供的数据载入服务模块的工作流程示意图。如图6所示,所述数据载入服务模块包括:数据载入引擎;所述数据载入引擎用于周期性的采集源数据中心各个数据库中的数据。

数据载入引擎负责整个数据抽取的任务调度。定时触发作业(job)抽取数据、装换数据格式、发送数据。任务的信息通过xml文件配置,主要包括存储数据、分属的数据中心、数据的源,以及job启动的每一个任务(task)可以抽取的数据量等信息。

图7为本实施例提供的数据中心通信模块的工作流程示意图。如图7所示,数据中心a为源数据中心,数据中心b为目的数据中心。数据中心a包括:通信输入单元、通信输出单元、通信核心组件、源应用程序;数据中心b包括:通信输入单元、通信输出单元、通信核心组件、目的应用程序。当数据中心a的源应用程序与数据中心b的目的应用程序通信时,数据中心a的源应用程序首先向通信输出单元发送通信请求,此处,源应用程序可以是对数据有需求的程序,包括对传输数据和使用数据的需求。目的应用程序可以仅仅是数据,也可以是应用程序中运行的结果。数据中心a的通信输出单元接收到该通信请求后,将该通信请求转发给数据中心a的通信核心组件,数据中心a的通信核心组件向数据中心b发送该通信请求。数据中心b的通信输入单元捕获到数据中心a发送的通信请求后,检测数据中心a的访问权限,如果数据中心a有权限访问数据中心b,则数据中心b的通信输入单元通过数据中心b的通信核心组件将该通信请求转发给目的应用程序。目的应用程序接收到该通信请求后,对该通信请求进行处理,并将相应的回复发送给数据中心b的通信输出单元,数据中心b的通信输出单元再通过数据中心b的通信核心组件将相应的回复发送给数据中心a的通信输入单元,数据中心a的通信输入单元再通过数据中心a的通信核心组件将相应的回复发送给源应用程序,从而实现了源应用程序与目的应用程序之间的通信。

本发明实施例通过在每个分子公司建立上述跨网络结构化数据收集系统,形成对等的网络子集。减轻总部数据中心在数据传送,以及交换过程中的压力,提高了分子公司的效率。形成了一套在各数据中心中收集数据、分布式存储的数据收集系统,并且建立了分子数据中心的通信方式,节省了网络带宽资源,为分子数据中心数据交换使用提供基础。

综上所述,本发明实施例通过在每个分子公司建立上述跨网络结构化数据收集系统,形成对等的网络子集。减轻总部数据中心在数据传送,以及交换过程中的压力,提高了分子公司的效率。形成了一套在各数据中心中收集数据、分布式存储的数据收集系统,并且建立了分子数据中心的通信方式,节省了网络带宽资源,为分子数据中心数据交换使用提供基础。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1