CN108073624A - 业务数据处理系统及方法 - Google Patents
业务数据处理系统及方法 Download PDFInfo
- Publication number
- CN108073624A CN108073624A CN201611005030.7A CN201611005030A CN108073624A CN 108073624 A CN108073624 A CN 108073624A CN 201611005030 A CN201611005030 A CN 201611005030A CN 108073624 A CN108073624 A CN 108073624A
- Authority
- CN
- China
- Prior art keywords
- business datum
- statistical
- rule
- type
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种业务数据处理系统及方法,该系统包括:确定模块,用于在侦测到用户对数据库中业务数据的操作时,确定对业务数据进行操作之前及之后业务数据是否满足预设的统计条件;转换模块,用于将业务数据在操作之前及之后对统计条件的满足状态按预设第一规则转换为操作状态位;统计模块,用于根据预先确定的操作状态位与统计操作类型的映射关系,确定转换得到的操作状态位对应的统计操作类型,并根据确定的统计操作类型对数据库进行统计操作。本发明无需编写多层嵌套的复杂逻辑代码,更加简单,而且,无需进行繁杂的代码维护,降低了维护成本。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种业务数据处理系统及方法。
背景技术
目前,业务数据分析已成为企业制定业务方向、进行发展规划的重要参考。一般地,企业会设定不同的条件来对满足所述条件的业务数据进行统计,例如在对销售数据进行统计时,预设设定几个销售指标,进而仅对各个销售人员的销售记录中符合所述销售指标的销售数据进行统计,得出企业所需的所述销售数据。中统计得出符合统计条件的销售数据等。。
然而,由于现有的企业业务数据统计产品的条件设定一般是通过简单if…else的多层嵌套的编码逻辑来实现的,这种编码逻辑实现的产品在业务需求改动时,编码及其困难,且维护成本(代码需大面积修改)很高。故,亟需一种新的业务数据统计产品,来完成企业业务数据统计的需求。
发明内容
本发明的主要目的在于提供一种业务数据处理系统及方法,旨在利用更简单的方式对业务数据进行统计,且能降低维护成本。
为实现上述目的,本发明提供的一种业务数据处理系统,所述业务数据处理系统包括:
确定模块,用于在侦测到用户对数据库中业务数据的操作时,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的统计条件;
转换模块,用于将所述业务数据在操作之前及之后对所述统计条件的满足状态按预设第一规则转换为操作状态位;
统计模块,用于根据预先确定的操作状态位与统计操作类型的映射关系,确定转换得到的操作状态位对应的统计操作类型,并根据确定的统计操作类型对所述数据库进行统计操作。
优选地,所述业务数据在操作之前及之后对所述统计条件的满足状态包括满足、不满足或无变化状态,所述转换模块还用于:
将所述业务数据在操作之前对所述统计条件的满足状态按预设规则转换为三进制的第一状态位;将所述业务数据在操作之后对所述统计条件的满足状态按预设规则转换为三进制的第二状态位,将所述第一状态位、第二状态位组合得到三进制的操作状态位。
优选地,若所述统计条件包括多个互为与关系的判断条件,则所述确定模块还用于:
在侦测到用户对数据库中的业务数据的操作时,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的多个判断条件;
所述转换模块还用于:
将所述业务数据在操作之前及之后对多个判断条件对应的多个满足状态按预设第一规则转换为多个状态位,将多个状态位组合得到操作状态位。
优选地,若所述统计条件包括多个互为或关系的判断条件,则所述确定模块还用于:
确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的每一判断条件;
所述转换模块还用于:
根据所述业务数据在操作之前及之后对每一判断条件的满足状态的变化获取对应的每一统计操作类型,将每一统计操作类型按预设第二规则转换为类型状态位,将多个类型状态位进行组合得到类型组合状态位;
所述统计模块还用于:
根据预先确定的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型。
优选地,若所述统计条件包括多个判断条件,且多个判断条件之间包括或关系以及与关系,则所述确定模块还用于:
确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的多个第一判断条件,所述第一判断条件为所述统计条件中互为与关系的判断条件;确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的每一第二判断条件,所述第二判断条件为所述统计条件中互为或关系的判断条件;
所述转换模块还用于:
根据所述业务数据在操作之前及之后对多个所述第一判断条件的满足状态的变化获取对应的统计操作类型,根据所述业务数据在操作之前及之后对每一所述第二判断条件的满足状态的变化获取对应的每一统计操作类型,将获取的统计操作类型按预设第二规则转换为类型状态位,并将各个类型状态位组合得到类型组合状态位;
所述统计模块还用于:
根据预先确定的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型。
此外,为实现上述目的,本发明还提供一种基于上述业务数据处理系统的业务数据处理方法,该方法包括以下步骤:
A、在侦测到用户对数据库中业务数据的操作时,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的统计条件;
B、将所述业务数据在操作之前及之后对所述统计条件的满足状态按预设第一规则转换为操作状态位;
C、根据预先确定的操作状态位与统计操作类型的映射关系,确定转换得到的操作状态位对应的统计操作类型,并根据确定的统计操作类型对所述数据库进行统计操作。
优选地,所述业务数据在操作之前及之后对所述统计条件的满足状态包括满足、不满足或无变化状态,所述步骤B包括:
将所述业务数据在操作之前对所述统计条件的满足状态按预设规则转换为三进制的第一状态位,将所述业务数据在操作之后对所述统计条件的满足状态按预设规则转换为三进制的第二状态位,将所述第一状态位、第二状态位组合得到三进制的操作状态位。
优选地,若所述统计条件包括多个互为与关系的判断条件,则所述步骤A替换为:
在侦测到用户对数据库中的业务数据的操作时,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的多个判断条件;
所述步骤B替换为:
将所述业务数据在操作之前及之后对多个判断条件对应的多个满足状态按预设第一规则转换为多个状态位,将多个状态位组合得到操作状态位。
优选地,若所述统计条件包括多个互为或关系的判断条件,则所述步骤A替换为:
确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的每一判断条件;
所述步骤B替换为:
根据所述业务数据在操作之前及之后对每一判断条件的满足状态的变化获取对应的每一统计操作类型,将每一统计操作类型按预设第二规则转换为类型状态位,将多个类型状态位进行组合得到类型组合状态位;
所述步骤C替换为:
根据预先确定的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型。
优选地,若所述统计条件包括多个判断条件,且多个判断条件之间包括或关系以及与关系,则所述步骤A替换为:
确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的多个第一判断条件,所述第一判断条件为所述统计条件中互为与关系的判断条件,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的每一第二判断条件,所述第二判断条件为所述统计条件中互为或关系的判断条件;
所述步骤B替换为:
根据所述业务数据在操作之前及之后对多个所述第一判断条件的满足状态的变化获取对应的统计操作类型,根据所述业务数据在操作之前及之后对每一所述第二判断条件的满足状态的变化获取对应的每一统计操作类型,将获取的统计操作类型按预设第二规则转换为类型状态位,并将各个类型状态位组合得到类型组合状态位;
所述步骤C替换为:
根据预先确定的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型。
此外,为实现上述目的,本发明还提供一种基于上述业务数据处理系统的业务数据处理方法,该方法包括以下步骤:
配置预设的数据同步工具,利用所述数据同步工具创建用于存放业务数据的目标表;创建分布式发布订阅消息系统,并利用所述分布式发布订阅消息系统集成实时计算框架;
在侦测到用户对所述目标表中业务数据的操作时,所述分布式发布订阅消息系统基于预设的计算规则确定对所述业务数据的统计操作类型;
所述实时计算框架根据确定的统计操作类型对所述目标表中业务数据进行统计操作,获取所述目标表中业务数据的实时统计数据,并展示给用户。
优选地,该方法还包括:
利用所述分布式发布订阅消息系统集成开源数据库,所述开源数据库用于存放以同一业务数据标识为主键的历史数据;
在所述开源数据库中设定一用于记录同一业务数据标识的统计次数的表;
若对同一业务数据标识的业务数据中不同类型的指标进行记录,则维持该同一业务数据标识的统计次数不变;若对同一业务数据标识的一条业务数据进行删除,则将该同一业务数据标识的统计次数减1。
此外,为实现上述目的,本发明还提供一种业务数据处理系统,所述业务数据处理系统包括数据同步工具、分布式发布订阅消息系统及实时计算框架,其中:
所述数据同步工具用于创建用于存放业务数据的目标表;
所述分布式发布订阅消息系统用于集成实时计算框架,并在侦测到用户对所述目标表中业务数据的操作时,基于预设的计算规则确定对所述业务数据的统计操作类型;
所述实时计算框架用于根据确定的统计操作类型对所述目标表中业务数据进行统计操作,获取所述目标表中业务数据的实时统计数据,并展示给用户。
优选地,所述分布式发布订阅消息系统还用于集成开源数据库;
所述开源数据库用于存放以同一业务数据标识为主键的历史数据,设定一用于记录同一业务数据标识的统计次数的表,若对同一业务数据标识的业务数据中不同类型的指标进行记录,则维持该同一业务数据标识的统计次数不变,若对同一业务数据标识的一条业务数据进行删除,则将该同一业务数据标识的统计次数减1。
本发明提出的业务数据处理系统及方法,在侦测到用户对数据库中业务数据的操作时,将所述业务数据在操作之前及之后对预设的统计条件的满足状态按预设第一规则转换为操作状态位,并根据预先确定的操作状态位与统计操作类型的映射关系确定该操作状态位对应的统计操作类型,以进行统计操作。由于只需将所述业务数据在操作之前及之后对预设的统计条件的满足状态转换为对应的操作状态位,即可确定相应的统计操作类型,无需编写多层嵌套的复杂逻辑代码,更加简单,而且,无需进行繁杂的代码维护,降低了维护成本。
附图说明
图1为本发明业务数据处理系统一实施例的功能模块示意图;
图2为本发明业务数据处理方法一实施例的流程示意图;
图3为本发明业务数据处理方法另一实施例的流程示意图;
图4为本发明业务数据处理系统另一实施例的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种业务数据处理系统。
参照图1,图1为本发明业务数据处理系统一实施例的功能模块示意图。
在一实施例中,该业务数据处理系统包括:
确定模块01,用于在侦测到用户对数据库中业务数据的操作时,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的统计条件。
本实施例中,在侦测到用户对数据库中业务数据进行插入、修改、更新、删除等操作时,确定对所述业务数据进行操作之前以及对所述业务数据进行操作之后的所述业务数据是否满足预设的统计条件。其中,该统计条件可包括一个或多个判断条件,多个判断条件之间可互为与关系、或关系等,在此不做限定。
例如,在一种实施方式中,数据库中业务数据为销售人员的销售记录,对于销售业务数据的实时统计需求,主要是统计其感兴趣的指标,通过SQL给出,如:
select指标1,指标2,case when判断条件指标3…
from表
where条件1,条件2,…
其中,case when和where中的条件,决定着指标是否需要统计。这些条件,体现在销售人员的一条销售记录中,如销售记录中包含一字段ORDER_STATUS_CODE,就为计算预核保保费和预核保件数的判断条件,在对销售业务数据的实时统计中,需要ORDER_STATUS_CODE∈{08,09,20,14,09,01,02,05}时,才能计算保费和件数。此时有三种情形:
1、insert(插入),即销售人员新录入一条销售记录,在数据库中按字段存储,此时只需要判断ORDER_STATUS_CODE是否满足条件即可。满足,则统计保费和件数;不满足,则不统计;
2、update(更新),即销售人员更改已经存在的销售记录,比如更改了字段ORDER_STATUS_CODE,历史记录为08,更改为可知此时ORDER_STATUS_CODE不满足条件,则此条记录的保费和件数是不能统计的。由于是从08变为03(满足变为不满足),保费和件数在老状态下已经被统计过,所以在新状态下要将统计过的保费和件数减去;
3、delete(删除),即销售人员删除了一条销售记录,对应到数据库中就是一行数据被删除。同样以ORDER_STATUS_CODE为08为例,此时的状态变化就是,从08的满足,变为没有数据记录,可以看做不满足,即从满足变为不满足,保费和件数在老状态下已经被统计过,所以在新状态下要将统计过的保费和件数减去。
由于在更新等情形中,均需要通过判断对数据库中销售记录进行更新等操作之前以及之后状态的销售记录是否满足统计条件,来决定最终如何进行统计。因此,本实施例中,在侦测到用户对数据库中销售记录进行插入、修改、更新、删除等操作时,确定对该销售记录进行操作之前以及对该销售记录进行操作之后的该销售记录是否满足预设的统计条件。
转换模块02,用于将所述业务数据在操作之前及之后对所述统计条件的满足状态按预设第一规则转换为操作状态位。
确定了对所述业务数据进行操作之前以及对所述业务数据进行操作之后的新老状态下所述业务数据是否满足预设的统计条件之后,将所述业务数据在新老状态下对所述统计条件的满足状态按预设第一规则转换为操作状态位。其中,所述业务数据在新老状态下对所述统计条件的满足状态可包括满足、不满足等,在此不做限定。在将所述业务数据在新老状态下对所述统计条件的满足状态转换为操作状态位时,可按不同进制进行转换,如三进制、十进制等,在此不做限定。
统计模块03,用于根据预先确定的操作状态位与统计操作类型的映射关系,确定转换得到的操作状态位对应的统计操作类型,并根据确定的统计操作类型对所述数据库进行统计操作。
预先确定好不同操作状态位与统计操作类型的映射关系,如不同操作状态位可与不同的统计操作类型如加操作、减操作等一一映射,也可多对一映射,这样,在将所述业务数据在新老状态下对所述统计条件的满足状态转换为操作状态位后,可根据预先确定好的不同操作状态位与统计操作类型的映射关系,确定转换得到的操作状态位相对应的统计操作类型,即可根据确定的统计操作类型对所述数据库进行相应的加操作、减操作等统计操作。
本实施例在侦测到用户对数据库中业务数据的操作时,将所述业务数据在操作之前及之后对预设的统计条件的满足状态按预设第一规则转换为操作状态位,并根据预先确定的操作状态位与统计操作类型的映射关系确定该操作状态位对应的统计操作类型,以进行统计操作。由于只需将所述业务数据在操作之前及之后对预设的统计条件的满足状态转换为对应的操作状态位,即可确定相应的统计操作类型,无需编写多层嵌套的复杂逻辑代码,更加简单,而且,无需进行繁杂的代码维护,降低了维护成本。
进一步地,在其他实施例中,所述业务数据在操作之前及之后对所述统计条件的满足状态包括满足、不满足或无变化状态,上述转换模块02还用于:
将所述业务数据在操作之前对所述统计条件的满足状态按预设规则转换为三进制的第一状态位,将所述业务数据在操作之后对所述统计条件的满足状态按预设规则转换为三进制的第二状态位,将所述第一状态位、第二状态位组合得到三进制的操作状态位。
本实施例中,以数据库中业务数据为销售人员的销售记录,对数据库中销售记录的操作为update(更新)操作为例进行具体说明:
对于update,需要考虑所述业务数据在更新之前即t时刻和所述业务数据在更新之后即t+1时刻的销售数据是否满足统计条件。对于最终对数据库的统计操作,主要依赖于统计条件也即判断条件在新(t+1时刻)旧(t时刻)的状态,若t时刻不满足,而t+1时刻满足,此时该销售数据就要计算。在update操作中,所述业务数据在新(t+1时刻)旧(t时刻)的状态变化有六种情形,如下表1所示:
表1
将所述业务数据在新(t+1时刻)旧(t时刻)对所述统计条件的满足状态如“不满足”、“无变化”、“满足”转换为三进制的状态位,分别用0、1、2表示,则表1可转换为如下表2所示:
表2
在一种实施方式中,以统计销售人员销售保单保费为例,假设在t时刻该销售人员的保费为sumMoney(t)=s,其中s>=0。
1.对于t+1时刻新增的通过的保单A,保费为a1,此时保单保费sumMoney(t+1)=s+a1,此时的统计操作类型为保费加操作;
2.若t+2时刻又新增了通过的保单B,保费为b1,此时保单保费为sumMoney(t+2)=s+a1+b1,此时的统计操作类型为保费加操作;
3.若t+3时刻,销售人员删除了保单B,此时保单保费sumMoney(t+3)=s+a1,此时的统计操作类型为保费减操作;
4.若t+4时刻,销售人员对之前创建的未通过的保单C进行了更新操作,使得此保单审核通过,此保单的保费为c1,此时保单保费为sumMoney(t+4)=s+a1+c1,此时的统计操作类型为保费加操作;
5.若t+5时刻,该销售人员又对保单A进行了修改,保费由原来的a1变为a2,此时的保单保费为sumMoney(t+5)=s+a1+c1+(a1-a2),此时的统计操作类型为保费减操作。
由此可知,虽然需要统计的指标各式各样,但是此业务场景下的统计指标的统计操作类型只有保费加和减操作,而当进一步地还统计保单个数时,统计操作类型包括对保费进行加减、对保单个数和保费进行加减操作及无操作。如表2中,当需要统计保单个数和保费的时候,情况1、2、3、4、5、6分别对应着一种统计操作类型:情况1和情况2对应单纯的对保费进行加减操作;情况3对应对保单个数和保费进行减操作;情况4对应对保单个数和保费进行加操作;情况5和情况6对应无操作。
由于状态位的有限性,将t+1和t时刻状态位转化为三进制表示,以表2为例,六种情形可分别表示为:22、12、02、20、10、00,可选的,还能将三进制的状态位转换为十进制,其对应的十进制分别为:8、5、2、6、3、0。则可预先确定十进制0和3对应无操作,5和8对应单纯保费的加减,2对应着保单个数和保费的减操作,6对应着保单个数和保费的加操作。将所述业务数据在操作之前及之后对所述统计条件的满足状态转换为操作状态位,如可按如下公式进行转换:
y=a0β2n-1+a1β2n-2+…+a2n-2β+a2n-1
其中:β、n∈[1,2,…],β是进制,n是判断条件的个数。a2i-2和a2i-1分别代表一个判断指标在t+1时刻和t时刻所处的状态。根据预先确定的操作状态位与统计操作类型的映射关系,确定转换得到的操作状态位对应的统计操作类型,即可根据确定的统计操作类型对所述数据库进行统计操作。
进一步地,在其他实施例中,若所述统计条件包括多个互为与关系的判断条件,则上述确定模块01还用于:
在侦测到用户对数据库中的业务数据的操作时,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的多个判断条件。
上述转换模块02还用于:
将所述业务数据在操作之前及之后对多个判断条件对应的多个满足状态按预设第一规则转换为多个状态位,将多个状态位组合得到操作状态位。
若所述统计条件包括多个互为与关系的判断条件,在此以下表3中条件1和条件2为例进行说明:
表3
条件1和条件2是与关系,按上述转换公式,β=3,n=2,从而可知其状态位的三进制为2020,转换得到,y=2*33+0*32+2*3+0=60,则对应的十进制为60,60即为其类型组合状态位,根据预先确定好的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型,如加操作,从而根据确定的统计操作类型对所述数据库进行统计操作。
进一步地,在其他实施例中,若所述统计条件包括多个互为或关系的判断条件,则上述确定模块01还用于:
确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的每一判断条件。
上述转换模块02还用于:
根据所述业务数据在操作之前及之后对每一判断条件的满足状态的变化获取对应的每一统计操作类型,将每一统计操作类型按预设第二规则转换为类型状态位,将多个类型状态位进行组合得到类型组合状态位。
上述统计模块03还用于:
根据预先确定的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型。
在上述实施例中定义了四类统计操作类型:无操作、加操作、减操作、单纯加减,分别设为0、1、2、3,根据所述业务数据在操作之前及之后对每一判断条件的满足状态的变化均能确定其对应的一种统计操作类型,采用四进制将多个互为或关系的判断条件中每一判断条件对应的统计操作类型转换为类型状态位,如0、1、2、3。在此,以下表4中条件1和条件2为例进行说明:
表4
条件1和条件2是或关系,条件1对应的统计操作类型转换的类型状态位可能是0、1、2、3,条件2对应的统计操作类型转换的类型状态位也可能是0、1、2、3,则在包含互为或关系的条件1和条件2的所有情形中,将条件1和条件2的类型状态位进行组合得到的类型组合状态位总共有256中情况,如:00、01、02、03……30、31、32、33。在此以00、11、22、33和12为例进行具体分析:
1、00时,条件1是无操作,条件2也是无操作,两个条件的或也是无操作。
2、11时,条件1是加操作,是从不满足到满足;条件2是加操作,是从不满足到满足;两个条件的或也是加操作。
3、22时,条件1是减操作,是从满足到不满足;条件2是减操作,是从满足到不满足;两个条件的或也是减操作。
4、33时,条件1和条件2都是是单纯加减,是从满足到满足,或者满足到无变化;两个条件的或也是单纯加减。
5、12时,条件1是加操作,是从不满足到满足;条件2是减操作,是从满足到不时满足;但是两个条件的或,则是t+1时刻为满足或不满足,即为满足,t时刻为不满足或满足,也是满足,从而此时对应的操作为单纯加减。
由此可知,每一类型组合状态位均对应有一种统计操作类型,如无操作、加操作、减操作或单纯加减。因此,可预先确定好不同类型组合状态位与统计操作类型的映射关系,在将统计条件中多个互为或关系的判断条件的类型状态位进行组合得到类型组合状态位之后,可根据预先确定好的不同类型组合状态位与统计操作类型的映射关系,确定得到的类型组合状态位相对应的统计操作类型,即可根据确定的统计操作类型对所述数据库进行相应的加操作、减操作等统计操作。
进一步地,还可将类型组合状态位通过如下公式转换为十进制:
y=a0β2n-1+a1β2n-2+…+a2n-2β+a2n-1
通过十进制的数值来进行不同类型组合状态位与统计操作类型的映射设定及确认,更加方便。例如,以(33)4为例,其对应的十进制为y=3*42+3*4=60。
进一步地,在其他实施例中,若所述统计条件包括多个判断条件,且多个判断条件之间包括或关系以及与关系,则上述确定模块01还用于:
确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的多个第一判断条件,所述第一判断条件为所述统计条件中互为与关系的判断条件,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的每一第二判断条件,所述第二判断条件为所述统计条件中互为或关系的判断条件。
上述转换模块02还用于:
根据所述业务数据在操作之前及之后对多个所述第一判断条件的满足状态的变化获取对应的统计操作类型,根据所述业务数据在操作之前及之后对每一所述第二判断条件的满足状态的变化获取对应的每一统计操作类型,将获取的统计操作类型按预设第二规则转换为类型状态位,并将各个类型状态位组合得到类型组合状态位。
上述统计模块03还用于:
根据预先确定的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型。
本实施例中,当所述统计条件包括多个或关系的判断条件以及与关系的判断条件时,先判断与条件,确认所有与条件的组合对应的统计操作类型,再进行或条件的判断,确认每一或条件的判断条件对应的统计操作类型,将获取的所有统计操作类型按预设第二规则转换为类型状态位,并将各个类型状态位组合得到类型组合状态位,即可根据预先确定的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型。其中,确认与条件对应的统计操作类型、确认或条件对应的统计操作类型以及根据预先确定的类型组合状态位与统计操作类型的映射关系确定对应的统计操作类型的具体过程如上述实施例所述,在此不再赘述。
本发明进一步提供一种基于上述业务数据处理系统的业务数据处理方法。
参照图2,图2为本发明业务数据处理方法一实施例的流程示意图。
在一实施例中,该业务数据处理方法包括:
步骤S10,在侦测到用户对数据库中业务数据的操作时,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的统计条件。
本实施例中,在侦测到用户对数据库中业务数据进行插入、修改、更新、删除等操作时,确定对所述业务数据进行操作之前以及对所述业务数据进行操作之后的所述业务数据是否满足预设的统计条件。其中,该统计条件可包括一个或多个判断条件,多个判断条件之间可互为与关系、或关系等,在此不做限定。
例如,在一种实施方式中,数据库中业务数据为销售人员的销售记录,对于销售业务数据的实时统计需求,主要是统计其感兴趣的指标,通过SQL给出,如:
select指标1,指标2,case when判断条件指标3…
from表
where条件1,条件2,…
其中,case when和where中的条件,决定着指标是否需要统计。这些条件,体现在销售人员的一条销售记录中,如销售记录中包含一字段ORDER_STATUS_CODE,就为计算预核保保费和预核保件数的判断条件,在对销售业务数据的实时统计中,需要ORDER_STATUS_CODE∈{08,09,20,14,09,01,02,05}时,才能计算保费和件数。此时有三种情形:
1、insert(插入),即销售人员新录入一条销售记录,在数据库中按字段存储,此时只需要判断ORDER_STATUS_CODE是否满足条件即可。满足,则统计保费和件数;不满足,则不统计;
2、update(更新),即销售人员更改已经存在的销售记录,比如更改了字段ORDER_STATUS_CODE,历史记录为08,更改为可知此时ORDER_STATUS_CODE不满足条件,则此条记录的保费和件数是不能统计的。由于是从08变为03(满足变为不满足),保费和件数在老状态下已经被统计过,所以在新状态下要将统计过的保费和件数减去;
3、delete(删除),即销售人员删除了一条销售记录,对应到数据库中就是一行数据被删除。同样以ORDER_STATUS_CODE为08为例,此时的状态变化就是,从08的满足,变为没有数据记录,可以看做不满足,即从满足变为不满足,保费和件数在老状态下已经被统计过,所以在新状态下要将统计过的保费和件数减去。
由于在更新等情形中,均需要通过判断对数据库中销售记录进行更新等操作之前以及之后状态的销售记录是否满足统计条件,来决定最终如何进行统计。因此,本实施例中,在侦测到用户对数据库中销售记录进行插入、修改、更新、删除等操作时,确定对该销售记录进行操作之前以及对该销售记录进行操作之后的该销售记录是否满足预设的统计条件。
步骤S20,将所述业务数据在操作之前及之后对所述统计条件的满足状态按预设第一规则转换为操作状态位。
确定了对所述业务数据进行操作之前以及对所述业务数据进行操作之后的新老状态下所述业务数据是否满足预设的统计条件之后,将所述业务数据在新老状态下对所述统计条件的满足状态按预设第一规则转换为操作状态位。其中,所述业务数据在新老状态下对所述统计条件的满足状态可包括满足、不满足等,在此不做限定。在将所述业务数据在新老状态下对所述统计条件的满足状态转换为操作状态位时,可按不同进制进行转换,如三进制、十进制等,在此不做限定。
步骤S30,根据预先确定的操作状态位与统计操作类型的映射关系,确定转换得到的操作状态位对应的统计操作类型,并根据确定的统计操作类型对所述数据库进行统计操作。
预先确定好不同操作状态位与统计操作类型的映射关系,如不同操作状态位可与不同的统计操作类型如加操作、减操作等一一映射,也可多对一映射,这样,在将所述业务数据在新老状态下对所述统计条件的满足状态转换为操作状态位后,可根据预先确定好的不同操作状态位与统计操作类型的映射关系,确定转换得到的操作状态位相对应的统计操作类型,即可根据确定的统计操作类型对所述数据库进行相应的加操作、减操作等统计操作。
本实施例在侦测到用户对数据库中业务数据的操作时,将所述业务数据在操作之前及之后对预设的统计条件的满足状态按预设第一规则转换为操作状态位,并根据预先确定的操作状态位与统计操作类型的映射关系确定该操作状态位对应的统计操作类型,以进行统计操作。由于只需将所述业务数据在操作之前及之后对预设的统计条件的满足状态转换为对应的操作状态位,即可确定相应的统计操作类型,无需编写多层嵌套的复杂逻辑代码,更加简单,而且,无需进行繁杂的代码维护,降低了维护成本。
进一步地,在其他实施例中,所述业务数据在操作之前及之后对所述统计条件的满足状态包括满足、不满足或无变化状态,上述步骤S20可以包括:
将所述业务数据在操作之前对所述统计条件的满足状态按预设规则转换为三进制的第一状态位,将所述业务数据在操作之后对所述统计条件的满足状态按预设规则转换为三进制的第二状态位,将所述第一状态位、第二状态位组合得到三进制的操作状态位。
本实施例中,以数据库中业务数据为销售人员的销售记录,对数据库中销售记录的操作为update(更新)操作为例进行具体说明:
对于update,需要考虑所述业务数据在更新之前即t时刻和所述业务数据在更新之后即t+1时刻的销售数据是否满足统计条件。对于最终对数据库的统计操作,主要依赖于统计条件也即判断条件在新(t+1时刻)旧(t时刻)的状态,若t时刻不满足,而t+1时刻满足,此时该销售数据就要计算。在update操作中,所述业务数据在新(t+1时刻)旧(t时刻)的状态变化有六种情形,如下表1所示:
表1
将所述业务数据在新(t+1时刻)旧(t时刻)对所述统计条件的满足状态如“不满足”、“无变化”、“满足”转换为三进制的状态位,分别用0、1、2表示,则表1可转换为如下表2所示:
表2
在一种实施方式中,以统计销售人员销售保单保费为例,假设在t时刻该销售人员的保费为sumMoney(t)=s,其中s>=0。
6.对于t+1时刻新增的通过的保单A,保费为a1,此时保单保费sumMoney(t+1)=s+a1,此时的统计操作类型为保费加操作;
7.若t+2时刻又新增了通过的保单B,保费为b1,此时保单保费为sumMoney(t+2)=s+a1+b1,此时的统计操作类型为保费加操作;
8.若t+3时刻,销售人员删除了保单B,此时保单保费sumMoney(t+3)=s+a1,此时的统计操作类型为保费减操作;
9.若t+4时刻,销售人员对之前创建的未通过的保单C进行了更新操作,使得此保单审核通过,此保单的保费为c1,此时保单保费为sumMoney(t+4)=s+a1+c1,此时的统计操作类型为保费加操作;
10.若t+5时刻,该销售人员又对保单A进行了修改,保费由原来的a1变为a2,此时的保单保费为sumMoney(t+5)=s+a1+c1+(a1-a2),此时的统计操作类型为保费减操作。
由此可知,虽然需要统计的指标各式各样,但是此业务场景下的统计指标的统计操作类型只有保费加和减操作,而当进一步地还统计保单个数时,统计操作类型包括对保费进行加减、对保单个数和保费进行加减操作及无操作。如表2中,当需要统计保单个数和保费的时候,情况1、2、3、4、5、6分别对应着一种统计操作类型:情况1和情况2对应单纯的对保费进行加减操作;情况3对应对保单个数和保费进行减操作;情况4对应对保单个数和保费进行加操作;情况5和情况6对应无操作。
由于状态位的有限性,将t+1和t时刻状态位转化为三进制表示,以表2为例,六种情形可分别表示为:22、12、02、20、10、00,可选的,还能将三进制的状态位转换为十进制,其对应的十进制分别为:8、5、2、6、3、0。则可预先确定十进制0和3对应无操作,5和8对应单纯保费的加减,2对应着保单个数和保费的减操作,6对应着保单个数和保费的加操作。将所述业务数据在操作之前及之后对所述统计条件的满足状态转换为操作状态位,如可按如下公式进行转换:
y=a0β2n-1+a1β2n-2+…+a2n-2β+a2n-1
其中:β、n∈[1,2,…],β是进制,n是判断条件的个数。a2i-2和a2i-1分别代表一个判断指标在t+1时刻和t时刻所处的状态。根据预先确定的操作状态位与统计操作类型的映射关系,确定转换得到的操作状态位对应的统计操作类型,即可根据确定的统计操作类型对所述数据库进行统计操作。
进一步地,在其他实施例中,若所述统计条件包括多个互为与关系的判断条件,则上述步骤S10可替换为:
在侦测到用户对数据库中的业务数据的操作时,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的多个判断条件。
上述步骤S20可替换为:
将所述业务数据在操作之前及之后对多个判断条件对应的多个满足状态按预设第一规则转换为多个状态位,将多个状态位组合得到操作状态位。
若所述统计条件包括多个互为与关系的判断条件,在此以下表3中条件1和条件2为例进行说明:
表3
条件1和条件2是与关系,按上述转换公式,β=3,n=2,从而可知其状态位的三进制为2020,转换得到,y=2*33+0*32+2*3+0=60,则对应的十进制为60,60即为其类型组合状态位,根据预先确定好的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型,如加操作,从而根据确定的统计操作类型对所述数据库进行统计操作。
进一步地,在其他实施例中,若所述统计条件包括多个互为或关系的判断条件,则上述步骤S10替换为:
确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的每一判断条件。
上述步骤S20替换为:
根据所述业务数据在操作之前及之后对每一判断条件的满足状态的变化获取对应的每一统计操作类型,将每一统计操作类型按预设第二规则转换为类型状态位,将多个类型状态位进行组合得到类型组合状态位。
上述步骤S30替换为:
根据预先确定的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型。
在上述实施例中定义了四类统计操作类型:无操作、加操作、减操作、单纯加减,分别设为0、1、2、3,根据所述业务数据在操作之前及之后对每一判断条件的满足状态的变化均能确定其对应的一种统计操作类型,采用四进制将多个互为或关系的判断条件中每一判断条件对应的统计操作类型转换为类型状态位,如0、1、2、3。在此,以下表4中条件1和条件2为例进行说明:
表4
条件1和条件2是或关系,条件1对应的统计操作类型转换的类型状态位可能是0、1、2、3,条件2对应的统计操作类型转换的类型状态位也可能是0、1、2、3,则在包含互为或关系的条件1和条件2的所有情形中,将条件1和条件2的类型状态位进行组合得到的类型组合状态位总共有256中情况,如:00、01、02、03……30、31、32、33。在此以00、11、22、33和12为例进行具体分析:
6、00时,条件1是无操作,条件2也是无操作,两个条件的或也是无操作。
7、11时,条件1是加操作,是从不满足到满足;条件2是加操作,是从不满足到满足;两个条件的或也是加操作。
8、22时,条件1是减操作,是从满足到不满足;条件2是减操作,是从满足到不满足;两个条件的或也是减操作。
9、33时,条件1和条件2都是是单纯加减,是从满足到满足,或者满足到无变化;两个条件的或也是单纯加减。
10、12时,条件1是加操作,是从不满足到满足;条件2是减操作,是从满足到不时满足;但是两个条件的或,则是t+1时刻为满足或不满足,即为满足,t时刻为不满足或满足,也是满足,从而此时对应的操作为单纯加减。
由此可知,每一类型组合状态位均对应有一种统计操作类型,如无操作、加操作、减操作或单纯加减。因此,可预先确定好不同类型组合状态位与统计操作类型的映射关系,在将统计条件中多个互为或关系的判断条件的类型状态位进行组合得到类型组合状态位之后,可根据预先确定好的不同类型组合状态位与统计操作类型的映射关系,确定得到的类型组合状态位相对应的统计操作类型,即可根据确定的统计操作类型对所述数据库进行相应的加操作、减操作等统计操作。
进一步地,还可将类型组合状态位通过如下公式转换为十进制:
y=a0β2n-1+a1β2n-2+…+a2n-2β+a2n-1
通过十进制的数值来进行不同类型组合状态位与统计操作类型的映射设定及确认,更加方便。例如,以(33)4为例,其对应的十进制为y=3*42+3*4=60。
进一步地,在其他实施例中,若所述统计条件包括多个判断条件,且多个判断条件之间包括或关系以及与关系,则上述步骤S10替换为:
确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的多个第一判断条件,所述第一判断条件为所述统计条件中互为与关系的判断条件,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的每一第二判断条件,所述第二判断条件为所述统计条件中互为或关系的判断条件。
上述步骤S20替换为:
根据所述业务数据在操作之前及之后对多个所述第一判断条件的满足状态的变化获取对应的统计操作类型,根据所述业务数据在操作之前及之后对每一所述第二判断条件的满足状态的变化获取对应的每一统计操作类型,将获取的统计操作类型按预设第二规则转换为类型状态位,并将各个类型状态位组合得到类型组合状态位。
上述步骤S30替换为:
根据预先确定的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型。
本实施例中,当所述统计条件包括多个或关系的判断条件以及与关系的判断条件时,先判断与条件,确认所有与条件的组合对应的统计操作类型,再进行或条件的判断,确认每一或条件的判断条件对应的统计操作类型,将获取的所有统计操作类型按预设第二规则转换为类型状态位,并将各个类型状态位组合得到类型组合状态位,即可根据预先确定的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型。其中,确认与条件对应的统计操作类型、确认或条件对应的统计操作类型以及根据预先确定的类型组合状态位与统计操作类型的映射关系确定对应的统计操作类型的具体过程如上述实施例所述,在此不再赘述。
本发明进一步提供一种基于上述业务数据处理系统的业务数据处理方法。
参照图3,图3为本发明业务数据处理方法另一实施例的流程示意图。
在另一实施例中,该业务数据处理方法包括:
步骤S40,配置预设的数据同步工具(Oracle Golden Gate,简称OGG),OracleGolden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。利用配置的OGG创建用于存放业务数据的目标表,例如,该目标表可存放销售人员的保单数据;创建分布式发布订阅消息系统(kafka topic),启动kafkaserver,并使用kafka集成实时计算框架spark。
步骤S50,在侦测到用户对所述目标表中业务数据的操作时,所述分布式发布订阅消息系统基于预设的计算规则确定对所述业务数据的统计操作类型。具体的,所述分布式发布订阅消息系统kafka在侦测到用户对所述目标表中业务数据的操作时,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的统计条件;将所述业务数据在操作之前及之后对所述统计条件的满足状态按预设第一规则转换为操作状态位;根据预先确定的操作状态位与统计操作类型的映射关系,确定转换得到的操作状态位对应的统计操作类型。进一步地,所述分布式发布订阅消息系统kafka还可在所述统计条件包括多个互为与关系的判断条件、多个互为或关系的判断条件或者多个或关系以及与关系的判断条件的情况下,分别进行统计操作类型的确定,具体的过程如上述实施例所述,在此不再赘述。
例如,在一种实施方式中,根据计算统计指标的判断条件个数,以及与和或条件的个数,返回其四类操作对应的数组,假设数组array1、array2、array3、array4分别存放无操作、单纯的加减、减操作、加操作所对应的十进制。
销售人员对一条销售数据操作之后,kafka会消费这条数据,通过对这条数据和其前一时刻数据中所含判断条件进行判断,确定其所属的状态位,根据映射函数:
y=a0β2n-1+a1β2n-2+…+a2n-2β+a2n-1
来计算出其对应的十进制值,然后在判断该十进制值属于array1、array2、array3、array4中的哪一个,即得出此刻所对应的操作。
步骤S60,所述实时计算框架spark根据确定的统计操作类型对所述目标表中业务数据进行统计操作,获取所述目标表中业务数据的实时统计数据,并展示给用户。
本实施例中,通过将OGG、kafka、spark结合起来,组合成一个实时系统;kafka是一种分布式的基于发布/订阅的消息系统,Spark是一种实时计算框架,将两者整合,来处理业务数据。由于kafka采用上述实施例中将所述业务数据在操作之前及之后对预设的统计条件的满足状态转换为对应的操作状态位,来确定相应的统计操作类型,无需编写多层嵌套的复杂逻辑代码,降低指标计算复杂度,更加简单,实现对业务数据的实时统计、展示。既没有影响源端数据库性能,又能满足用户实时查看各种业务指标的需求。
进一步地,在其他实施例中,该方法还包括:
利用所述分布式发布订阅消息系统集成开源数据库,所述开源数据库用于存放以同一业务数据标识为主键的历史数据;
在所述开源数据库中设定一用于记录同一业务数据标识的统计次数的表;
若对同一业务数据标识的业务数据中不同类型的指标进行记录,则维持该同一业务数据标识的统计次数不变;若对同一业务数据标识的一条业务数据进行删除,则将该同一业务数据标识的统计次数减1。
本实施例中,使用kafka集成开源数据库Hbase,所述开源数据库Hbase用于存放以同一业务数据标识为主键的历史数据。例如,在一种实施方式中,销售人员的同一个保单,在不同的时间,分别记录了几种不同的保费,此时计算该销售人员的保单个数只能计算一次。即在统计时需要对该销售人员的保单个数进行去重。若对同一销售人员的同一个保单中不同类型的指标进行记录,则维持该保单个数的统计次数不变;若对同一销售人员的同一个保单的业务数据进行删除,则将该同一销售人员的保单个数的统计次数减1。
本发明进一步提供一种业务数据处理系统。
参照图4,图4为本发明业务数据处理系统另一实施例的结构示意图。
在另一实施例中,该业务数据处理系统包括:数据同步工具04(Oracle GoldenGate,简称OGG)、分布式发布订阅消息系统(kafka)05及实时计算框架(spark)06。本实施例中,配置预设的数据同步工具,Oracle Golden Gate软件是一种基于日志的结构化数据复制备份软件,它通过解析源数据库在线日志或归档日志获得数据的增量变化,再将这些变化应用到目标数据库,从而实现源数据库与目标数据库同步。利用配置的OGG创建用于存放业务数据的目标表,例如,该目标表可存放销售人员的保单数据;创建分布式发布订阅消息系统(kafka topic),启动kafka server,并使用kafka集成实时计算框架spark。
在侦测到用户对所述目标表中业务数据的操作时,所述分布式发布订阅消息系统基于预设的计算规则确定对所述业务数据的统计操作类型。具体的,所述分布式发布订阅消息系统kafka在侦测到用户对所述目标表中业务数据的操作时,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的统计条件;将所述业务数据在操作之前及之后对所述统计条件的满足状态按预设第一规则转换为操作状态位;根据预先确定的操作状态位与统计操作类型的映射关系,确定转换得到的操作状态位对应的统计操作类型。进一步地,所述分布式发布订阅消息系统kafka还可在所述统计条件包括多个互为与关系的判断条件、多个互为或关系的判断条件或者多个或关系以及与关系的判断条件的情况下,分别进行统计操作类型的确定,具体的过程如上述实施例所述,在此不再赘述。
例如,在一种实施方式中,根据计算统计指标的判断条件个数,以及与和或条件的个数,返回其四类操作对应的数组,假设数组array1、array2、array3、array4分别存放无操作、单纯的加减、减操作、加操作所对应的十进制。
销售人员对一条销售数据操作之后,kafka会消费这条数据,通过对这条数据和其前一时刻数据中所含判断条件进行判断,确定其所属的状态位,根据映射函数:
y=a0β2n-1+a1β2n-2+…+a2n-2β+a2n-1
来计算出其对应的十进制值,然后在判断该十进制值属于array1、array2、array3、array4中的哪一个,即得出此刻所对应的操作。
所述实时计算框架spark根据确定的统计操作类型对所述目标表中业务数据进行统计操作,获取所述目标表中业务数据的实时统计数据,并展示给用户。
本实施例中,通过将OGG、kafka、spark结合起来,组合成一个实时系统;kafka是一种分布式的基于发布/订阅的消息系统,Spark是一种实时计算框架,将两者整合,来处理业务数据。由于kafka采用上述实施例中将所述业务数据在操作之前及之后对预设的统计条件的满足状态转换为对应的操作状态位,来确定相应的统计操作类型,无需编写多层嵌套的复杂逻辑代码,降低指标计算复杂度,更加简单,实现对业务数据的实时统计、展示。既没有影响源端数据库性能,又能满足用户实时查看各种业务指标的需求。
进一步地,在其他实施例中,所述分布式发布订阅消息系统还用于集成开源数据库;所述开源数据库用于存放以同一业务数据标识为主键的历史数据;在所述开源数据库中设定一用于记录同一业务数据标识的统计次数的表;若对同一业务数据标识的业务数据中不同类型的指标进行记录,则维持该同一业务数据标识的统计次数不变;若对同一业务数据标识的一条业务数据进行删除,则将该同一业务数据标识的统计次数减1。
本实施例中,使用kafka集成开源数据库Hbase,所述开源数据库Hbase用于存放以同一业务数据标识为主键的历史数据。例如,在一种实施方式中,销售人员的同一个保单,在不同的时间,分别记录了几种不同的保费,此时计算该销售人员的保单个数只能计算一次。即在统计时需要对该销售人员的保单个数进行去重。若对同一销售人员的同一个保单中不同类型的指标进行记录,则维持该保单个数的统计次数不变;若对同一销售人员的同一个保单的业务数据进行删除,则将该同一销售人员的保单个数的统计次数减1。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (14)
1.一种业务数据处理系统,其特征在于,所述业务数据处理系统包括:
确定模块,用于在侦测到用户对数据库中业务数据的操作时,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的统计条件;
转换模块,用于将所述业务数据在操作之前及之后对所述统计条件的满足状态按预设第一规则转换为操作状态位;
统计模块,用于根据预先确定的操作状态位与统计操作类型的映射关系,确定转换得到的操作状态位对应的统计操作类型,并根据确定的统计操作类型对所述数据库进行统计操作。
2.如权利要求1所述的业务数据处理系统,其特征在于,所述业务数据在操作之前及之后对所述统计条件的满足状态包括满足、不满足或无变化状态,所述转换模块还用于:
将所述业务数据在操作之前对所述统计条件的满足状态按预设规则转换为三进制的第一状态位;将所述业务数据在操作之后对所述统计条件的满足状态按预设规则转换为三进制的第二状态位,将所述第一状态位、第二状态位组合得到三进制的操作状态位。
3.如权利要求1或2所述的业务数据处理系统,其特征在于,若所述统计条件包括多个互为与关系的判断条件,则所述确定模块还用于:
在侦测到用户对数据库中的业务数据的操作时,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的多个判断条件;
所述转换模块还用于:
将所述业务数据在操作之前及之后对多个判断条件对应的多个满足状态按预设第一规则转换为多个状态位,将多个状态位组合得到操作状态位。
4.如权利要求1或2所述的业务数据处理系统,其特征在于,若所述统计条件包括多个互为或关系的判断条件,则所述确定模块还用于:
确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的每一判断条件;
所述转换模块还用于:
根据所述业务数据在操作之前及之后对每一判断条件的满足状态的变化获取对应的每一统计操作类型,将每一统计操作类型按预设第二规则转换为类型状态位,将多个类型状态位进行组合得到类型组合状态位;
所述统计模块还用于:
根据预先确定的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型。
5.如权利要求1或2所述的业务数据处理系统,其特征在于,若所述统计条件包括多个判断条件,且多个判断条件之间包括或关系以及与关系,则所述确定模块还用于:
确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的多个第一判断条件,所述第一判断条件为所述统计条件中互为与关系的判断条件;确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的每一第二判断条件,所述第二判断条件为所述统计条件中互为或关系的判断条件;
所述转换模块还用于:
根据所述业务数据在操作之前及之后对多个所述第一判断条件的满足状态的变化获取对应的统计操作类型,根据所述业务数据在操作之前及之后对每一所述第二判断条件的满足状态的变化获取对应的每一统计操作类型,将获取的统计操作类型按预设第二规则转换为类型状态位,并将各个类型状态位组合得到类型组合状态位;
所述统计模块还用于:
根据预先确定的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型。
6.一种基于如权利要求1-5中任一项所述的业务数据处理系统的业务数据处理方法,其特征在于,该方法包括以下步骤:
A、在侦测到用户对数据库中业务数据的操作时,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的统计条件;
B、将所述业务数据在操作之前及之后对所述统计条件的满足状态按预设第一规则转换为操作状态位;
C、根据预先确定的操作状态位与统计操作类型的映射关系,确定转换得到的操作状态位对应的统计操作类型,并根据确定的统计操作类型对所述数据库进行统计操作。
7.如权利要求6所述的业务数据处理方法,其特征在于,所述业务数据在操作之前及之后对所述统计条件的满足状态包括满足、不满足或无变化状态,所述步骤B包括:
将所述业务数据在操作之前对所述统计条件的满足状态按预设规则转换为三进制的第一状态位,将所述业务数据在操作之后对所述统计条件的满足状态按预设规则转换为三进制的第二状态位,将所述第一状态位、第二状态位组合得到三进制的操作状态位。
8.如权利要求6或7所述的业务数据处理方法,其特征在于,若所述统计条件包括多个互为与关系的判断条件,则所述步骤A替换为:
在侦测到用户对数据库中的业务数据的操作时,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的多个判断条件;
所述步骤B替换为:
将所述业务数据在操作之前及之后对多个判断条件对应的多个满足状态按预设第一规则转换为多个状态位,将多个状态位组合得到操作状态位。
9.如权利要求6或7所述的业务数据处理方法,其特征在于,若所述统计条件包括多个互为或关系的判断条件,则所述步骤A替换为:
确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的每一判断条件;
所述步骤B替换为:
根据所述业务数据在操作之前及之后对每一判断条件的满足状态的变化获取对应的每一统计操作类型,将每一统计操作类型按预设第二规则转换为类型状态位,将多个类型状态位进行组合得到类型组合状态位;
所述步骤C替换为:
根据预先确定的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型。
10.如权利要求6或7所述的业务数据处理方法,其特征在于,若所述统计条件包括多个判断条件,且多个判断条件之间包括或关系以及与关系,则所述步骤A替换为:
确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的多个第一判断条件,所述第一判断条件为所述统计条件中互为与关系的判断条件,确定对所述业务数据进行操作之前及之后所述业务数据是否满足预设的每一第二判断条件,所述第二判断条件为所述统计条件中互为或关系的判断条件;
所述步骤B替换为:
根据所述业务数据在操作之前及之后对多个所述第一判断条件的满足状态的变化获取对应的统计操作类型,根据所述业务数据在操作之前及之后对每一所述第二判断条件的满足状态的变化获取对应的每一统计操作类型,将获取的统计操作类型按预设第二规则转换为类型状态位,并将各个类型状态位组合得到类型组合状态位;
所述步骤C替换为:
根据预先确定的类型组合状态位与统计操作类型的映射关系,确定得到的所述类型组合状态位对应的统计操作类型。
11.一种基于如权利要求1-5中任一项所述的业务数据处理系统的业务数据处理方法,其特征在于,该方法包括以下步骤:
配置预设的数据同步工具,利用所述数据同步工具创建用于存放业务数据的目标表;创建分布式发布订阅消息系统,并利用所述分布式发布订阅消息系统集成实时计算框架;
在侦测到用户对所述目标表中业务数据的操作时,所述分布式发布订阅消息系统基于预设的计算规则确定对所述业务数据的统计操作类型;
所述实时计算框架根据确定的统计操作类型对所述目标表中业务数据进行统计操作,获取所述目标表中业务数据的实时统计数据,并展示给用户。
12.如权利要求11所述的业务数据处理方法,其特征在于,该方法还包括:
利用所述分布式发布订阅消息系统集成开源数据库,所述开源数据库用于存放以同一业务数据标识为主键的历史数据;
在所述开源数据库中设定一用于记录同一业务数据标识的统计次数的表;
若对同一业务数据标识的业务数据中不同类型的指标进行记录,则维持该同一业务数据标识的统计次数不变;若对同一业务数据标识的一条业务数据进行删除,则将该同一业务数据标识的统计次数减1。
13.一种业务数据处理系统,其特征在于,所述业务数据处理系统包括数据同步工具、分布式发布订阅消息系统及实时计算框架,其中:
所述数据同步工具用于创建用于存放业务数据的目标表;
所述分布式发布订阅消息系统用于集成实时计算框架,并在侦测到用户对所述目标表中业务数据的操作时,基于预设的计算规则确定对所述业务数据的统计操作类型;
所述实时计算框架用于根据确定的统计操作类型对所述目标表中业务数据进行统计操作,获取所述目标表中业务数据的实时统计数据,并展示给用户。
14.如权利要求13所述的业务数据处理系统,其特征在于,所述分布式发布订阅消息系统还用于集成开源数据库;
所述开源数据库用于存放以同一业务数据标识为主键的历史数据,设定一用于记录同一业务数据标识的统计次数的表,若对同一业务数据标识的业务数据中不同类型的指标进行记录,则维持该同一业务数据标识的统计次数不变,若对同一业务数据标识的一条业务数据进行删除,则将该同一业务数据标识的统计次数减1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611005030.7A CN108073624B (zh) | 2016-11-15 | 2016-11-15 | 业务数据处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611005030.7A CN108073624B (zh) | 2016-11-15 | 2016-11-15 | 业务数据处理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108073624A true CN108073624A (zh) | 2018-05-25 |
CN108073624B CN108073624B (zh) | 2020-11-24 |
Family
ID=62162811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611005030.7A Active CN108073624B (zh) | 2016-11-15 | 2016-11-15 | 业务数据处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108073624B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241185A (zh) * | 2018-08-27 | 2019-01-18 | 武汉达梦数据库有限公司 | 一种数据同步的方法以及数据同步装置 |
CN110555028A (zh) * | 2019-08-22 | 2019-12-10 | 上海数禾信息科技有限公司 | 数据展示方法以及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546395A (zh) * | 2008-03-24 | 2009-09-30 | 国际商业机器公司 | 业务过程模型产生方法、设备和状态字段识别方法 |
CN101639842A (zh) * | 2008-07-29 | 2010-02-03 | 阿里巴巴集团控股有限公司 | 会员特征数据统计方法及特征数据统计系统 |
CN102129619A (zh) * | 2011-03-08 | 2011-07-20 | 国网信息通信有限公司 | 一种基于云存储的业务数据处理方法及系统 |
US20150355847A1 (en) * | 2014-06-10 | 2015-12-10 | International Business Machines Corporation | Transfer size monitor, determination, and optimization engine for storage devices |
-
2016
- 2016-11-15 CN CN201611005030.7A patent/CN108073624B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101546395A (zh) * | 2008-03-24 | 2009-09-30 | 国际商业机器公司 | 业务过程模型产生方法、设备和状态字段识别方法 |
CN101639842A (zh) * | 2008-07-29 | 2010-02-03 | 阿里巴巴集团控股有限公司 | 会员特征数据统计方法及特征数据统计系统 |
CN102129619A (zh) * | 2011-03-08 | 2011-07-20 | 国网信息通信有限公司 | 一种基于云存储的业务数据处理方法及系统 |
US20150355847A1 (en) * | 2014-06-10 | 2015-12-10 | International Business Machines Corporation | Transfer size monitor, determination, and optimization engine for storage devices |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241185A (zh) * | 2018-08-27 | 2019-01-18 | 武汉达梦数据库有限公司 | 一种数据同步的方法以及数据同步装置 |
CN109241185B (zh) * | 2018-08-27 | 2021-03-30 | 武汉达梦数据库股份有限公司 | 一种数据同步的方法以及数据同步装置 |
CN110555028A (zh) * | 2019-08-22 | 2019-12-10 | 上海数禾信息科技有限公司 | 数据展示方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108073624B (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102239458B (zh) | 可视化数据元素之间的关系 | |
CN110855473A (zh) | 一种监控方法、装置、服务器及存储介质 | |
CN106126521A (zh) | 目标对象的社交账号挖掘方法及服务器 | |
CN106656536A (zh) | 一种用于处理服务调用信息的方法与设备 | |
CN102982050A (zh) | 呈现基于时间的动作信息 | |
CN111209400B (zh) | 一种数据分析的方法及装置 | |
CN113672230B (zh) | 一种工业要素标识编码方法 | |
US7308454B2 (en) | Data integration | |
CN104424202A (zh) | 对crm系统中的客户信息进行查重的方法及系统 | |
CN116415206B (zh) | 运营商多数据融合方法、系统、电子设备及计算机存储介质 | |
CN112364004A (zh) | 基于数据仓库的保单数据处理方法、装置及存储介质 | |
CN108073624A (zh) | 业务数据处理系统及方法 | |
CN114548059A (zh) | 一种结构化数据的管理方法、装置、存储介质及电子设备 | |
CN102708111A (zh) | 一种群体用户自身指数展示系统及方法 | |
CN110569435B (zh) | 智能双端推荐引擎系统和方法 | |
CN115293682A (zh) | 异常物流订单监控方法及相关装置 | |
CN114840519A (zh) | 一种数据打标签的方法、设备及存储介质 | |
CN106469086B (zh) | 事件处理方法和装置 | |
US20150100515A1 (en) | Customer data unification | |
CN111026705A (zh) | 建筑工程文件管理方法、系统及终端设备 | |
CN111831683A (zh) | 一种基于动态扩展场景匹配的自动化稽核方法和系统 | |
CN112446673A (zh) | 一种商标变更判断方法、系统、设备及可读存储介质 | |
US20190266526A1 (en) | Multi-dimensional organization of data for efficient analysis | |
CN108255979A (zh) | 一种数据汇总方法、数据汇总平台及系统 | |
CN115203439B (zh) | 用于合规监管的知识图谱的构建方法、相关方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |