数据抽取方法及系统技术方案

技术编号:16605539 阅读:32 留言:0更新日期:2017-11-22 15:20
本公开是关于一种数据抽取方法及系统,属于数据处理技术领域。该方法包括:从数据库服务器中按照预先设置的方式抽取当前需要收集的数据源中的数据;从所述数据源中收集预设查询条件;将所述预设查询条件的部分或者全部配置到按照预设规则编写的XML文件中;自动解析所述XML文件,读取被配置的所述预设查询条件;根据所述预设查询条件过滤所述数据源中的数据。本发明专利技术能够实现大数据处理过程中数据逻辑处理的可配置化。

Data extraction method and system

This disclosure is a data extraction method and system, which belongs to the field of data processing technology. The method includes: from the database server according to the preset selected current need to collect the data in the data source; collected from the data source in the default query conditions; the default query conditions of all or part of the configuration according to predetermined rules written in the XML file; automatic parsing the XML file, read is the default configuration of the query conditions; according to the preset condition query and filtering the data source. The invention can realize the configurable logic of data processing in the process of large data processing.

【技术实现步骤摘要】
数据抽取方法及系统
本公开涉及数据处理技术,尤其涉及一种数据抽取方法及系统。
技术介绍
在EBS集成中间件系统中,需要将业务系统产生的数据按照一定的规则,按时、准确、完整地导入EBS中间表,而第一步就是需要将所需的数据从各个数据源中抽取出来,但是如果在抽取过程中添加的查询条件过多,会给数据库服务器造成很大的访问压力。图1描述了现有数据抽取的实现方案,包括业务表110、sqoop120和hdfs(HadoopDistributedFileSystem,分布式文件系统)130。其中sqoop主要用于在hadoop(live)与传统的数据库(mysql,postgresql等)间传递数据。具体工作流程如下:业务系统数据源准备,包括sqlserver、mysql、oracle等关系型数据库;使用sqoop120抽取业务数据,但是所有的查询条件都放到了数据库中去执行,对数据库服务器访问造成了很大压力;将抽取的数据写入hdfs130。上述方案中,数据处理逻辑无法实现配置化;虽然支持数据并发抽取,但是对于降低大数据量的数据库服务器的访问压力还不是很理想。因此,需要一种新的数据抽取方法及系统。在所述
技术介绍
部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开提供一种数据抽取方法及系统,能够实现大数据处理过程中数据逻辑处理的可配置化。本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。根据本公开的一方面,提供一种数据抽取方法,包括:从数据库服务器中按照预先设置的方式抽取当前需要收集的数据源中的数据;从所述数据源中收集预设查询条件;将所述预设查询条件的部分或者全部配置到按照预设规则编写的XML文件中;自动解析所述XML文件,读取被配置的所述预设查询条件;根据所述预设查询条件过滤所述数据源中的数据。根据本公开的一实施方式,其中所述预先设置的方式为增量抽取方式。根据本公开的一实施方式,其中所述预设查询条件为where查询条件。根据本公开的一实施方式,其中根据所述预设查询条件过滤所述数据源中的数据包括:对所述预设查询条件进行封装,获取CompareFormula对象;执行所述CompareFormula对象,并返回结果。根据本公开的一实施方式,其中从所述数据源中收集预设查询条件包括:初始化期间检索每个数据源,判断是否有定义where查询条件且参数不为空;如果有定义where查询条件且参数不为空,将相应的数据源标签和where查询条件收集。根据本公开的一实施方式,其中对所述预设查询条件进行封装,获取CompareFormula对象包括:利用递归的方法将收集的where查询条件参数的值封装成所述CompareFormula对象。根据本公开的一实施方式,其中所述CompareFormula对象包括:比较的操作符、比较的对象、比较值信息。根据本公开的一实施方式,其中所述CompareFormula对象还包括:自定义函数信息。根据本公开的一实施方式,其中所述执行所述CompareFormula对象,并返回结果包括:判断是普通比较还是自定义函数比较;如果是普通比较,则直接比较;如果是自定义函数比较,则调用相应的getResult方法返回函数执行后的结果。根据本公开实施例的另一方面,提供一种数据抽取系统,包括:抽取模块,用于从数据库服务器中按照预先设置的方式抽取当前需要收集的数据源中的数据;条件收集模块,用于从所述数据源中收集预设查询条件;配置模块,用于将所述预设查询条件的部分或者全部配置到按照预设规则编写的XML文件中;解析模块,用于自动解析所述XML文件,读取被配置的所述预设查询条件;过滤模块,用于根据所述预设查询条件过滤所述数据源中的数据。根据本公开的一实施方式,其中所述过滤模块包括:条件封装单元,用于对所述预设查询条件进行封装,获取CompareFormula对象;条件执行单元,用于执行所述CompareFormula对象,并返回结果。根据本公开的一实施方式,其中所述条件收集模块包括:检索单元,用于初始化期间检索每个数据源,判断是否有定义where查询条件且参数不为空;保存单元,用于如果有定义where查询条件且参数不为空,将相应的数据源标签和where查询条件收集。根据本公开的一实施方式,还包括:自定义函数模块,所述自定义函数模块连接所述配置模块,能够将所述自定义函数中自定义的函数配置到所述XML文件中。根据本公开的一实施方式,其中所述条件执行单元包括:判断子单元,用于判断所述CompareFormula对象是普通比较还是自定义函数比较;比较子单元,其中如果所述判断单元判断是普通比较,则直接比较;如果判断自定义函数比较,则调用相应的getResult方法返回函数执行后的结果。根据本公开的数据抽取方法及系统,能够实现大数据处理过程中数据逻辑处理的可配置化。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。图1示意性示出现有的数据抽取方案的示意图;图2示意性示出根据本公开示例实施方式的数据抽取方法的流程图;图3示意性示出根据本公开示例实施方式的数据抽取方法的流程图;图4示意性示出根据本公开示例实施方式的数据抽取系统的框图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、系统、步骤等。在其它情况下,不详细示出或描述公知结构、方法、系统、实现、材料或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器系统和/或微控制器系统中实现这些功能实体。以下示例性实施例中所描述的实施方式并不代表与本专利技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本专利技术的一些方面相一致的系统和方法的例子。图2示意性示出根据本公开示例实施方式的数据抽取方法的流程图。如图2所示,在步骤S210,从数据库服务器中按照预先设置的方式抽取当前需要收集的数据源中的数据。在示例性实施例中,其中所述预先设置的方式为增量抽取方式。可以按照创建时间或者更新时间等来抽取。例如,按照创建时间本次抽取数据到2012年6月5日下午5点,那下次抽取数据就从2012年6月5本文档来自技高网...
数据抽取方法及系统

【技术保护点】
一种数据抽取方法,其特征在于,包括:从数据库服务器中按照预先设置的方式抽取当前需要收集的数据源中的数据;从所述数据源中收集预设查询条件;将所述预设查询条件的部分或者全部配置到按照预设规则编写的XML文件中;自动解析所述XML文件,读取被配置的所述预设查询条件;根据所述预设查询条件过滤所述数据源中的数据。

【技术特征摘要】
1.一种数据抽取方法,其特征在于,包括:从数据库服务器中按照预先设置的方式抽取当前需要收集的数据源中的数据;从所述数据源中收集预设查询条件;将所述预设查询条件的部分或者全部配置到按照预设规则编写的XML文件中;自动解析所述XML文件,读取被配置的所述预设查询条件;根据所述预设查询条件过滤所述数据源中的数据。2.根据权利要求1所述的方法,其特征在于,其中所述预先设置的方式为增量抽取方式。3.根据权利要求1所述的方法,其特征在于,其中所述预设查询条件为where查询条件。4.根据权利要求2所述的方法,其特征在于,其中根据所述预设查询条件过滤所述数据源中的数据包括:对所述预设查询条件进行封装,获取CompareFormula对象;执行所述CompareFormula对象,并返回结果。5.根据权利要求2所述的方法,其特征在于,其中从所述数据源中收集预设查询条件包括:初始化期间检索每个数据源,判断是否有定义where查询条件且参数不为空;如果有定义where查询条件且参数不为空,将相应的数据源标签和where查询条件收集。6.根据权利要求4所述的方法,其特征在于,其中对所述预设查询条件进行封装,获取CompareFormula对象包括:利用递归的方法将收集的where查询条件参数的值封装成所述CompareFormula对象。7.根据权利要求6所述的方法,其特征在于,其中所述CompareFormula对象包括:比较的操作符、比较的对象、比较值信息。8.根据权利要求7所述的方法,其特征在于,其中所述CompareFormula对象还包括:自定义函数信息。9.根据权利要求4所述的方法,其特征在于,其中所述执行所述CompareFormula对象,并返回结果包...

【专利技术属性】
技术研发人员:王军涛张丽
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1