具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的数据处理方法及装置。
图1是本发明一个实施例的数据处理方法流程图。
如图1所示,该数据处理方法包括:
S101,接收待写入信息的数据表,并根据数据表获得待处理的任务和任务的处理周期。
在该实施例中,可以接收任意结构的待写入信息的数据表,对于当前接收的数据表而言,可以根据该数据表获得待处理的任务,例如统计消费与年龄的关系,并且可以获得该任务的处理周期,此处的处理周期可以包括但不限于一次性定时处理和周期性定时处理。
另外,在获得任务的处理周期时,还可以对一次性定时处理或周期性定时处理的定时属性进行设置,例如,针对某次抽奖活动,统计中奖人次及所中奖项时,可以将其设置为一次性定时任务,又例如,进行连续签到统计分布时,可以将其设置为周期性定时任务,具体地,可以在每天的上午7点统计前一天的具体数据。
S102,根据数据表确定数据源和数据表中每个表项对应的处理规则。
在该实施例中,可对上述数据表的表项进行分解,将分解后的表项映射到对应的数据源(即根据分解后的表项确定对应的一个或多个数据源),并为分解后的表项设置对应的处理规则。
其中,数据源可以是数据库、接口、文件等可以按一定规则读取的数据项目。处理规则可以包括运算规则,例如加、减、乘、除等方面的基本运算规则。
例如,统计中奖情况时,若该数据表中设置有一等奖、二等奖……n等奖共n个表项,则可以将该数据表分解为n个表项,并针对这n个表项关联数据源,同时为这n个表项设置对应的处理规则。
S103,根据获得的处理周期从数据源中读取对应的数据,按照对应的处理规则处理数据,并将数据处理结果写入对应数据表的对应表项中。
在该实施例中,由于通过S101获得了与当前接收的数据表对应的待处理任务的处理周期,通过S102获得了数据源和该数据表表项的处理规则,因此,可以基于上述处理周期从对应的数据源中读取对应的数据,并按照对应的处理规则处理数据,然后将数据处理结果写入对应数据表的对应表项中,从而完成了对应的任务。
例如,若待处理的任务为周期性定时任务时,可以在每个周期的固定时间从对应的数据源假定为数据源1-3中读取数据,并对数据进行清洗、合并处理,获得最后的统计结果,并将统计结果写入对应的表项中。
上述数据处理方法,接收待写入信息的数据表,并根据数据表获得待处理的任务和任务的处理周期,根据数据表确定数据源和数据表中每个表项对应的处理规则,以及根据处理周期从数据源中读取对应的数据,并按照对应的处理规则处理数据,然后将数据处理结果写入对应数据表的对应表项中,由此可见,本发明实施例通过根据数据表获得待处理的任务、数据源以及对应表项的处理规则,从而可完成对不同结构的数据表的统计,统计方式灵活、应用性强。
由于在统计过程中会存在增加新表项的情况,为了不对原表项进行重新统计,而仅对新表项进行统计,该实施例中提供了新的实现方案,具体实现过程如图2所示。
S201,接收数据表1,并根据数据表1获得待处理的任务和任务的处理周期。
假设,根据数据表1获得待处理的任务为:统计消费与年龄的关系,首先,可获得待处理的任务为:消费与年龄关系,并设置为一次性任务。
S202,对数据表1的表项进行分解,将分解后的表项映射到对应的数据源,并为分解后的表项设置对应的处理规则。
假设将数据表1分解为以下表项:10-15岁、15-20岁、20-25岁、25-30岁,并获得数据源,这个实例应该有A、B两个数据源,假设A数据源是用户基础数据平台,B数据源是用户消费数据平台。然后,定义对应的处理规则。
S203,根据获得的处理周期从数据源中读取对应的数据,按照对应的处理规则处理数据,并将数据处理结果写入数据表1的对应表项中。
从A、B两个数据源读取数据,并对读取的数据进行合并、汇总,然后将汇总结果写入数据表1的对应表项中。
S204,检测数据表1中是否有新增表项,若有,执行S205,否则,操作结束。
假设,在统计的过程中,统计者加入30-35岁年龄组。
S205,将新增表项映射到对应的数据源,并为新增表项设置对应的处理规则。
S206,按照获得的处理周期从对应的数据源中读取对应的数据,按照对应的处理规则处理对应的数据,并将数据处理结果写入对应的新增表项中。
通过S205-206可以看出,在该实施例中,检测到新增表项后,只需要针对新增表项确定数据源和对应的处理规则,其中数据源可能发生变化,也可能未发生变化,此处假定未发生变化,即仍是数据源A、B,则可以按照之前获得的处理周期从数据源A、B读取数据,并按照对应的处理规则进行相应处理,然后将处理结果写入增加表项中。
需要说明的是,该实施例仅一新增一个表项为例进行描述,在实际应用中,可以新增多个表项。
由此可见,上述数据处理方法实施例,不仅可以完成对不同结构的数据表的统计,而且可以在统计过程中出现新增表项时,不需要重新统计,仅针对新增表项进行统计即可,统计方式灵活、应用性强、统计效率高、可扩展性强。
为了实现上述实施例,本发明还提出一种数据处理装置。
图3是本发明一个实施例的数据处理装置的结构示意图。
如图3所示,该数据处理装置包括获得模块31、配置模块32和执行模块33,其中:
获得模块31用于接收待写入信息的数据表,并根据上述数据表获得待处理的任务和上述任务的处理周期;配置模块32用于根据上述数据表确定数据源和上述数据表中每个表项对应的处理规则;执行模块33用于根据上述获得模块31获得的上述处理周期从上述配置模块32确定的数据源中读取对应的数据,按照上述配置模块32确定的对应的处理规则处理数据,并将数据处理结果写入对应数据表的对应表项中。
在该实施例中,获得模块31可以接收任意结构的待写入信息的数据表,对于当前接收的数据表而言,可以根据该数据表获得待处理的任务,例如统计消费与年龄的关系,并且可以获得该任务的处理周期,此处的处理周期可以包括但不限于一次性定时处理和周期性定时处理。
另外,获得模块31在获得任务的处理周期时,还可以对一次性定时处理或周期性定时处理的定时属性进行设置,例如,针对某次抽奖活动,统计中奖人次及所中奖项时,可以将其设置为一次性定时任务,又例如,进行连续签到统计分布时,可以将其设置为周期性定时任务,具体地,可以在每天的上午7点统计前一天的具体数据。
其中,配置模块32具体用于对上述数据表的表项进行分解,将分解后的表项映射到对应的数据源(即根据分解后的表项确定对应的一个或多个数据源),并为上述分解后的表项设置对应的处理规则。其中,数据源可以是数据库、接口、文件等可以按一定规则读取的数据项目。处理规则可以包括运算规则,例如加、减、乘、除等方面的基本运算规则。
例如,统计中奖情况时,若该数据表中设置有一等奖、二等奖……n等奖共n个表项,则可以将该数据表分解为n个表项,并针对这n个表项关联数据源,同时为这n个表项设置对应的处理规则。
在该实施例中,由于通过获得模块31获得了与当前接收的数据表对应的待处理任务的处理周期,通过配置模块32获得了数据源和该数据表表项的处理规则,因此,执行模块33可以基于上述处理周期从对应的数据源中读取对应的数据,并按照对应的处理规则处理数据,然后将数据处理结果写入对应数据表的对应表项中,从而完成了对应的任务。
例如,若待处理的任务为周期性定时任务时,可以在每个周期的固定时间从对应的数据源假定为数据源1-3中读取数据,并对数据进行清洗、合并处理,获得最后的统计结果,并将统计结果写入对应的表项中,如图4所示,通过图4可以看出包含获得模块31、配置模块32和执行模块33的数据处理装置与数据表的交互过程。
上述数据处理装置,通过获得模块接收待写入信息的数据表,并根据上述数据表获得待处理的任务和上述任务的处理周期,通过配置模块根据上述数据表确定数据源和上述数据表中每个表项对应的处理规则,以及通过执行模块根据上述处理周期从上述数据源中读取对应的数据,并按照对应的处理规则处理数据,然后将数据处理结果写入对应数据表的对应表项中,由此可见,本发明实施例通过根据数据表获得待处理的任务、数据源以及对应表项的处理规则,从而可完成对不同结构的数据表的统计,统计方式灵活、应用性强。
由于在统计过程中会存在增加新表项的情况,为了不对原表项进行重新统计,而仅可对新增表项进行统计,该实施例中提供了新的数据处理装置,具体结构可参见图5。
如图5所示,该数据处理装置除了包含图3中的获得模块31、配置模块32和执行模块33,还包含检测模块34,该检测模块34用于在执行模块33将数据处理结果写入对应数据表的对应表项中之后,检测上述数据表中是否有新增表项;其中,上述配置模块32还用于:若上述检测模块33检测到上述数据表中有新增表项,则将上述新增表项映射到对应的数据源,并为新增表项设置对应的处理规则;执行模块33还用于:根据上述处理周期从对应的数据源中读取对应的数据,按照对应的处理规则处理对应的数据,并将数据处理结果写入对应的新增表项中。
包含获得模块31、配置模块32、执行模块33和检测模块34的数据处理装置仅针对新增表项进行统计的过程可参见图2,此处不赘述。
上述数据处理装置实施例,不仅可以完成对不同结构的数据表的统计,而且可以在统计过程中出现新增表项时,不需要重新统计,仅针对新增表项进行统计即可,统计方式灵活、应用性强、统计效率高、可扩展性强。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。