批量数据逻辑处理方法及装置与流程

文档序号:12666976阅读:251来源:国知局
批量数据逻辑处理方法及装置与流程

本发明属于数据处理技术领域,尤其涉及一种批量数据逻辑处理方法及装置。



背景技术:

批量数据逻辑处理是当前业务系统经常遇到的处理场景,比如电信计费、金融系统流水清算和互联网上的数据日终处理等。在各个行业中数据处理的过程类似,该过程包括:对原始数据进行校验,根据系统自身的行业规则进行业务逻辑判断、业务逻辑运算,最终形成业务处理的结果。

传统的批量数据逻辑处理有以下两种:

其一是,批量数据逻辑在数据服务器中处理。该处理流程包括:将数据的校验和业务运算写成存储过程或函数,提交到数据库中,在使用时应用服务器发起业务处理请求,调用存储过程或函数,完成批量数据逻辑处理。这样的处理方法实际上是数据服务器完成了应用逻辑的运算,使得数据服务器压力增大,且只能单台物理机器下的多任务并发,效率提升受限。

其二是,批量数据逻辑在应用服务器中处理。该处理流程包括:读取一条数据、批量数据逻辑处理,处理结果写回数据库,以此循环。这样的处理方法造成了应用服务器和数据库服务器通讯和数据库服务器的I/O操作都过于频繁,处理效率低。

故现有批量数据逻辑处理技术中存在处理效率低的问题,有必要提出一种新的技术方案,以解决上述技术问题。



技术实现要素:

鉴于此,本发明实施例提供一种批量数据逻辑处理方法及装置,现有批量数据逻辑处理技术中存在处理效率低的问题。

本发明实施例的第一方面,提供一种批量数据逻辑处理方法,包括:

在至少一个应用服务器中建立数据域,所述数据域包括参数数据域、原始数据域和结果数据域;

一次性读取数据服务器参数表中的数据到所述参数数据域中,生成参数记录,一次性读取数据服务器原始数据表中的数据到所述原始数据域中,生成原始数据;

读取所述参数数据域中的参数记录和所述原始数据域中的原始数据,并对读取到的所述参数记录和所述原始数据进行逻辑运算,在结果数据域中生成所述逻辑运算的结果数据。

本发明实施例的第二方面,提供一种批量数据逻辑处理装置,包括:

建立模块,用于在至少一个应用服务器中建立数据域,所述数据域包括参数数据域、原始数据域和结果数据域;

第一读取生成模块,用于一次性读取数据服务器参数表中的数据到所述参数数据域中,生成参数记录,一次性读取数据服务器原始数据表中的数据到所述原始数据域中,生成原始数据;

第二读取生成模块,用于读取所述参数数据域中的参数记录和所述原始数据域中的原始数据,并对读取到的所述参数记录和所述原始数据进行逻辑运算,在结果数据域中生成所述逻辑运算的结果数据。

本发明实施例与现有技术相比存在的有益效果是:本发明实施例所提供的批量数据逻辑处理方法或装置中,在至少一个应用服务器中建立数据域;一次性读取数据服务器参数表中的数据到所述参数数据域中生成参数记录,一次性读取数据服务器原始数据表中的数据到所述原始数据域中生成原始数据;读取所述参数数据域中的参数记录和所述原始数据域中的原始数据进行逻辑运算,对应在结果数据域中生成结果数据。一次性的数据读取尽可能的减少了应用服务器与数据库服务器的交互次数,提高了数据操作的效率;批量的数据运算完全在应用服务器内存中进行,充分的发挥了应用服务器的性能,减少数据库服务器的资源消耗;因此提高了数据处理的效率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的批量数据逻辑处理方法的实现流程图;

图2是本发明实施例提供的批量数据逻辑处理方法S103的具体实现流程图;

图3是本发明另一实施例提供的批量数据逻辑处理方法的实现流程图;

图4是本发明再一实施例提供的批量数据逻辑处理方法的实现流程图;

图5是本发明实施例提供的批量数据逻辑处理装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例提供了批量数据逻辑处理方法及装置。为了说明本发明所提供的方法,下面通过具体实施例来进行说明。

实施例一

图1示出了本发明实施例提供的批量数据逻辑处理方法的实现流程图。如图1所示,该方法包括如下步骤:

S101:在至少一个应用服务器中建立数据域,所述数据域包括参数数据域、原始数据域和结果数据域。

其中,至少一个应用服务器是指应用服务器的数量至少为一个。为了分别存放后续从数据服务器读取的数据,在至少一个应用服务器中建立数据域,建立的数据域包括但不限于参数数据域、原始数据域和结果数据域。

S102:一次性读取数据服务器参数表中的数据到所述参数数据域中,生成参数记录,一次性读取数据服务器原始数据表中的数据到所述原始数据域中,生成原始数据。

获取需要进行处理的数据,该数据包括服务器参数表中的数据和服务器原始数据表中的数据。对这些需要进行处理的数据进行一次性读取:一次性读取数据服务器参数表中的数据到所述参数数据域中,生成参数记录,一次性读取数据服务器原始数据表中的数据到所述原始数据域中,生成原始数据。该步骤一次性的数据读取尽可能的减少了应用服务器与数据库服务器的交互次数,提高了数据操作的效率。

S103:读取所述参数数据域中的参数记录和所述原始数据域中的原始数据,并对读取到的所述参数记录和所述原始数据进行逻辑运算,在结果数据域中生成所述逻辑运算的结果数据。

在应用服务器中,读取所述参数数据域中的参数记录和所述原始数据域中的原始数据,判断原始数据的业务类型,在相应的操作域中进行逻辑运算,逻辑运算结束后,将逻辑运算的结果写入已经建立的结果数据域,在结果数据域中生成所述逻辑运算的结果数据。

该步骤中,批量的数据运算完全在应用服务器内存中进行,充分的发挥了应用服务器的性能,减少数据库服务器的资源消耗。

具体地,图2示出了本发明实施例提供的批量数据逻辑处理方法S103的具体实现流程。如图2所示,该方法包括如下步骤:

S201:建立逻辑处理域,所述逻辑处理域包括各个业务类型对应的操作域。

在应用服务器中,为了对所述参数记录和所述原始数据进行逻辑运算,建立逻辑处理域。而由于需要处理的数据可能属于不同种类的业务类型,因此逻辑处理域包括各个业务类型对应的操作域。

S202:读取所述参数数据域中的参数记录和所述原始数据域中的原始数据。

在应用服务器中,读取参数数据域中的参数记录和所述原始数据域中的原始数据。为了提升读取的效率,优选地,所述读取为一次性读取。

S203:根据所述原始数据的业务类型将所述原始数据及对应的参数记录传入相应的所述操作域。

为了提升处理的效率,判断所述原始数据的业务类型,根据所述原始数据的业务类型将所述原始数据及对应的参数记录传入相应的所述操作域。例如:现有原始数据1、原始数据2、业务类型A、业务类型B、操作域a和操作域b,其中业务类型A对应操作域a,业务类型B对应操作域b。判断出原始数据1属于业务类型A,原始数据2属于业务类型B,则将原始数据1及对应的参数传入操作域a;则将原始数据2及对应的参数传入操作域b。所述不同原始数据即对应参数传入相应操作域的操作可并行处理,以便于进一步提升处理的速率。

S204:基于所述业务类型的业务逻辑和规则,在所述操作域中对所述参数记录和所述原始数据进行逻辑运算,得到运算结果。

不同的业务类型拥有对应的业务逻辑和规则,判断原始数据所属的业务类型之后,基于所述业务类型的业务逻辑和规则,在对应的操作域中对所述参数记录和所述原始数据进行逻辑运算。为了保持应用服务器足够大的计算空间,避免内存不足的情况发生,每次进行逻辑计算之后,会进行相应的业务清算,同时更新内存。

S205:在所述结果数据域中生成关于所述运算结果的结果数据。

将上述逻辑预算的结果写入已经建立的结果数据域中,在结果数据域中生成运算结果的结果数据。

本发明实施例中,通过在至少一个应用服务器中建立数据域;一次性读取数据服务器参数表中的数据到所述参数数据域中生成参数记录,一次性读取数据服务器原始数据表中的数据到所述原始数据域中生成原始数据;读取所述参数数据域中的参数记录和所述原始数据域中的原始数据进行逻辑运算,对应在结果数据域中生成结果数据。一次性的数据读取尽可能的减少了应用用服务器与数据库服务器的交互次数,提高了数据操作的效率;批量的数据运算的数据运算完全在应用服务器内存中进行,充分的发挥了应用服务器的性能,减少数据库服务器的资源消耗;因此提高了数据处理的效率。

实施例二

作为本发明的另一个实施例,在上述实施例的基础上,在步骤S101之前,所述方法还包括:

将所述数据服务器中的原始数据表中的数据分成多个原始数据区间,每个原始数据区间对应由一个任务进行处理,所述任务同属于一个应用服务器。

本实施中,将所述数据服务器中的原始数据表中的数据分成多个原始数据区间,每个原始数据区间对应由一个任务进行处理,所述任务同属于一个应用服务器。即一个应用服务器可分配多个任务,每个任务分别对原始数据区间进行处理。

进一步地,为了使得多个任务能够同时完成,且提升完成的速率,所述多个原始数据区间的大小是相同的,所述任务并行处理。

实施例三

作为本发明的再一个实施例,在实施例一的基础上,在步骤S103之后,所述方法还包括:

将所述结果数据域中的结果数据一次性写入所述数据服务器中的结果数据表中。

本实施例中,为了进一步减少应用服务器的负担以及便于数据的分析与调用,将所述结果数据域中的结果数据一次性写入所述数据服务器中的结果数据表中。

对应于上文实施例的批量数据逻辑处理方法,图5示出了本发明实施例提供的批量数据逻辑处理装置的结构框图,为了便于说明,仅示出了与本实施例相关的部分。

参考图5,该装置包括:

建立模块51,用于在至少一个应用服务器中建立数据域,所述数据域包括参数数据域、原始数据域和结果数据域;

第一读取生成模块52,用于一次性读取数据服务器参数表中的数据到所述参数数据域中,生成参数记录,一次性读取数据服务器原始数据表中的数据到所述原始数据域中,生成原始数据;

第二读取生成模块53,用于读取所述参数数据域中的参数记录和所述原始数据域中的原始数据,并对读取到的所述参数记录和所述原始数据进行逻辑运算,在结果数据域中生成所述逻辑运算的结果数据。

可选地,所述第一读取生成模块52包括:

建立单元,用于建立逻辑处理域,所述逻辑处理域包括各个业务类型对应的操作域;

读取单元,用于读取所述参数数据域中的参数记录和所述原始数据域中的原始数据;

传入单元,用于根据所述原始数据的业务类型将所述原始数据及对应的参数记录传入相应的所述操作域;

运算单元,用于基于所述业务类型的业务逻辑和规则,在所述操作域中对所述参数记录和所述原始数据进行逻辑运算,得到运算结果;

生成单元,用于在所述结果数据域中生成关于所述运算结果的结果数据。

可选地,所述装置还包括:

分配模块,用于将所述数据服务器中的原始数据表中的数据分成多个原始数据区间,每个原始数据区间对应由一个任务进行处理,所述任务同属于一个应用服务器。

可选地,所述多个原始数据区间的大小是相同的,所述任务并行处理。

可选地,所述装置还包括:

写入模块,用于将所述结果数据域中的结果数据一次性写入所述数据服务器的结果数据表中。

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

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

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

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

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

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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